From 623e05f250f54be2ad9a925ffa9296cfdd27c326 Mon Sep 17 00:00:00 2001 From: yt lee Date: Thu, 26 Mar 2026 14:29:03 +0800 Subject: [PATCH] Add CloudXR VR streaming support for PICO 4 Ultra (Early Access) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Replaces manual H264/TCP stereo streaming with NVIDIA CloudXR for higher-quality stereoscopic rendering and lower latency. Changes: - teleop_xr_agent.py: add --cloudxr flag (enables Isaac Sim XR mode, disables manual StreamingManager) - deps/cloudxr/: NVIDIA CloudXR.js SDK (Early Access) with Isaac Lab teleop React web client - deps/cloudxr/Dockerfile.wss.proxy: HAProxy WSS proxy for PICO 4 Ultra HTTPS mode (routes wss://48322 → ws://49100) - deps/cloudxr/isaac/webpack.dev.js: disable file watching to avoid EMFILE errors with large node_modules - deps/cloudxr/INSTALL.md: full setup guide Usage: # Start CloudXR Runtime + Isaac Lab cd ~/IsaacLab && ./docker/container.py start \ --files docker-compose.cloudxr-runtime.patch.yaml \ --env-file .env.cloudxr-runtime # Run teleop with CloudXR ~/IsaacLab/isaaclab.sh -p teleop_xr_agent.py \ --task Isaac-MindRobot-2i-DualArm-IK-Abs-v0 --cloudxr # Serve web client cd deps/cloudxr/isaac && npm run dev-server:https --- deps/cloudxr/Dockerfile.wss.proxy | 13 + deps/cloudxr/INSTALL.md | 261 + deps/cloudxr/LICENSE | 307 + deps/cloudxr/README.md | 71 + deps/cloudxr/docs/.nojekyll | 1 + deps/cloudxr/docs/assets/hierarchy.js | 1 + deps/cloudxr/docs/assets/highlight.css | 120 + deps/cloudxr/docs/assets/icons.js | 18 + deps/cloudxr/docs/assets/icons.svg | 1 + deps/cloudxr/docs/assets/main.js | 60 + deps/cloudxr/docs/assets/navigation.js | 1 + deps/cloudxr/docs/assets/search.js | 1 + deps/cloudxr/docs/assets/style.css | 1611 ++++ deps/cloudxr/docs/documents/Client_Setup.html | 247 + ...Getting_Started.Sample_Client_-_React.html | 150 + ...Getting_Started.Sample_Client_-_WebGL.html | 118 + .../docs/documents/Getting_Started.html | 103 + .../docs/documents/Networking_Setup.html | 418 + deps/cloudxr/docs/documents/Overview.html | 32 + deps/cloudxr/docs/documents/Session_API.html | 92 + ...leop.Isaac_Lab_Teleop_Troubleshooting.html | 20 + ...p.Setting_Up_Server_for_Teleoperation.html | 116 + ..._Teleop.Teleoperating_on_Meta_Quest_3.html | 192 + .../Show_Cases.Isaac_Lab_Teleop.html | 33 + deps/cloudxr/docs/documents/Show_Cases.html | 4 + deps/cloudxr/docs/documents/Telemetry.html | 40 + .../docs/documents/Troubleshooting.html | 56 + .../docs/enums/CloudXR.SessionState.html | 33 + .../docs/functions/CloudXR.createSession.html | 21 + deps/cloudxr/docs/index.html | 32 + .../docs/interfaces/CloudXR.Session.html | 70 + .../interfaces/CloudXR.SessionDelegates.html | 47 + .../interfaces/CloudXR.SessionOptions.html | 131 + deps/cloudxr/docs/media/HEROICONS_LICENSE | 21 + deps/cloudxr/docs/media/LICENSE | 307 + deps/cloudxr/docs/media/LICENSE-1 | 307 + deps/cloudxr/docs/media/LICENSE-2 | 307 + deps/cloudxr/docs/media/accept-cert.png | Bin 0 -> 44526 bytes deps/cloudxr/docs/media/accept-proxy-cert.png | Bin 0 -> 21669 bytes deps/cloudxr/docs/media/cloudxr_viewport.jpg | Bin 0 -> 114196 bytes deps/cloudxr/docs/media/iwer-buttons.png | Bin 0 -> 82217 bytes deps/cloudxr/docs/media/iwer-message.png | Bin 0 -> 36526 bytes deps/cloudxr/docs/media/ov-ar-panel.png | Bin 0 -> 71850 bytes .../react-isaac-sample-controls-countdown.jpg | Bin 0 -> 26374 bytes .../react-isaac-sample-controls-running.jpg | Bin 0 -> 24141 bytes .../react-isaac-sample-controls-start.jpg | Bin 0 -> 24133 bytes deps/cloudxr/docs/media/startar.png | Bin 0 -> 4154 bytes deps/cloudxr/docs/modules.html | 1 + deps/cloudxr/docs/modules/CloudXR.html | 1 + deps/cloudxr/helpers/BrowserCapabilities.ts | 125 + deps/cloudxr/helpers/LoadIWER.ts | 98 + deps/cloudxr/helpers/WebGLState.ts | 2685 +++++++ deps/cloudxr/helpers/WebGLStateApply.ts | 1220 +++ deps/cloudxr/helpers/WebGLStateBinding.ts | 286 + deps/cloudxr/helpers/WebGlUtils.ts | 54 + .../helpers/overridePressureObserver.ts | 35 + deps/cloudxr/helpers/utils.ts | 293 + deps/cloudxr/isaac/.gitignore | 3 + deps/cloudxr/isaac/LICENSE | 307 + deps/cloudxr/isaac/README.md | 5 + deps/cloudxr/isaac/favicon.ico | Bin 0 -> 14224 bytes deps/cloudxr/isaac/package-lock.json | 7089 +++++++++++++++++ deps/cloudxr/isaac/package.json | 47 + deps/cloudxr/isaac/public/HEROICONS_LICENSE | 21 + .../public/arrow-left-start-on-rectangle.svg | 4 + .../cloudxr/isaac/public/arrow-uturn-left.svg | 4 + .../public/assets/hdri/potsdamer_platz_1k.hdr | Bin 0 -> 1540678 bytes .../cloudxr/isaac/public/controller-icons.svg | 13 + .../dist/profiles/generic-hand/left.glb | 0 .../dist/profiles/generic-hand/profile.json | 0 .../dist/profiles/generic-hand/right.glb | 0 .../dist/profiles/generic-trigger/left.glb | 0 .../profiles/generic-trigger/profile.json | 0 .../dist/profiles/generic-trigger/right.glb | 0 .../profiles/meta-quest-touch-plus/left.glb | 0 .../meta-quest-touch-plus/profile.json | 0 .../profiles/meta-quest-touch-plus/right.glb | 0 .../dist/profiles/oculus-touch-v2/left.glb | 0 .../profiles/oculus-touch-v2/profile.json | 0 .../dist/profiles/oculus-touch-v2/right.glb | 0 .../dist/profiles/oculus-touch-v3/left.glb | 0 .../profiles/oculus-touch-v3/profile.json | 0 .../dist/profiles/oculus-touch-v3/right.glb | 0 .../dist/profiles/pico-4u/left.glb | 0 .../dist/profiles/pico-4u/profile.json | 0 .../dist/profiles/pico-4u/right.glb | 0 .../dist/profiles/profilesList.json | 0 deps/cloudxr/isaac/public/play-circle.svg | 4 + deps/cloudxr/isaac/public/stop-circle.svg | 4 + deps/cloudxr/isaac/src/App.tsx | 558 ++ deps/cloudxr/isaac/src/CloudXR2DUI.tsx | 438 + deps/cloudxr/isaac/src/CloudXRComponent.tsx | 289 + deps/cloudxr/isaac/src/CloudXRUI.tsx | 218 + deps/cloudxr/isaac/src/index.html | 576 ++ deps/cloudxr/isaac/src/index.tsx | 27 + deps/cloudxr/isaac/tsconfig.json | 27 + .../webpack-plugins/DownloadAssetsPlugin.js | 109 + deps/cloudxr/isaac/webpack.common.js | 168 + deps/cloudxr/isaac/webpack.dev.js | 46 + deps/cloudxr/isaac/webpack.prod.js | 6 + deps/cloudxr/nvidia-cloudxr-6.0.0-beta.tgz | Bin 0 -> 380817 bytes deps/cloudxr/react/LICENSE | 307 + deps/cloudxr/react/README.md | 207 + deps/cloudxr/react/favicon.ico | Bin 0 -> 14224 bytes deps/cloudxr/react/package.json | 47 + deps/cloudxr/react/public/HEROICONS_LICENSE | 21 + .../public/arrow-left-start-on-rectangle.svg | 3 + .../cloudxr/react/public/arrow-uturn-left.svg | 3 + .../cloudxr/react/public/controller-icons.svg | 13 + deps/cloudxr/react/public/play-circle.svg | 3 + deps/cloudxr/react/public/stop-circle.svg | 3 + deps/cloudxr/react/src/App.tsx | 555 ++ deps/cloudxr/react/src/CloudXR2DUI.tsx | 438 + deps/cloudxr/react/src/CloudXRComponent.tsx | 288 + deps/cloudxr/react/src/CloudXRUI.tsx | 218 + deps/cloudxr/react/src/index.html | 576 ++ deps/cloudxr/react/src/index.tsx | 27 + deps/cloudxr/react/tsconfig.json | 27 + .../webpack-plugins/DownloadAssetsPlugin.js | 109 + deps/cloudxr/react/webpack.common.js | 168 + deps/cloudxr/react/webpack.dev.js | 46 + deps/cloudxr/react/webpack.prod.js | 6 + deps/cloudxr/simple/LICENSE | 307 + deps/cloudxr/simple/README.md | 118 + deps/cloudxr/simple/favicon.ico | Bin 0 -> 14224 bytes deps/cloudxr/simple/index.html | 593 ++ deps/cloudxr/simple/package.json | 31 + deps/cloudxr/simple/src/main.ts | 515 ++ deps/cloudxr/simple/tsconfig.json | 15 + deps/cloudxr/simple/webpack.common.js | 41 + deps/cloudxr/simple/webpack.dev.js | 42 + deps/cloudxr/simple/webpack.prod.js | 8 + .../teleoperation/teleop_xr_agent.py | 12 +- 133 files changed, 24869 insertions(+), 2 deletions(-) create mode 100644 deps/cloudxr/Dockerfile.wss.proxy create mode 100644 deps/cloudxr/INSTALL.md create mode 100644 deps/cloudxr/LICENSE create mode 100644 deps/cloudxr/README.md create mode 100644 deps/cloudxr/docs/.nojekyll create mode 100644 deps/cloudxr/docs/assets/hierarchy.js create mode 100644 deps/cloudxr/docs/assets/highlight.css create mode 100644 deps/cloudxr/docs/assets/icons.js create mode 100644 deps/cloudxr/docs/assets/icons.svg create mode 100644 deps/cloudxr/docs/assets/main.js create mode 100644 deps/cloudxr/docs/assets/navigation.js create mode 100644 deps/cloudxr/docs/assets/search.js create mode 100644 deps/cloudxr/docs/assets/style.css create mode 100644 deps/cloudxr/docs/documents/Client_Setup.html create mode 100644 deps/cloudxr/docs/documents/Getting_Started.Sample_Client_-_React.html create mode 100644 deps/cloudxr/docs/documents/Getting_Started.Sample_Client_-_WebGL.html create mode 100644 deps/cloudxr/docs/documents/Getting_Started.html create mode 100644 deps/cloudxr/docs/documents/Networking_Setup.html create mode 100644 deps/cloudxr/docs/documents/Overview.html create mode 100644 deps/cloudxr/docs/documents/Session_API.html create mode 100644 deps/cloudxr/docs/documents/Show_Cases.Isaac_Lab_Teleop.Isaac_Lab_Teleop_Troubleshooting.html create mode 100644 deps/cloudxr/docs/documents/Show_Cases.Isaac_Lab_Teleop.Setting_Up_Server_for_Teleoperation.html create mode 100644 deps/cloudxr/docs/documents/Show_Cases.Isaac_Lab_Teleop.Teleoperating_on_Meta_Quest_3.html create mode 100644 deps/cloudxr/docs/documents/Show_Cases.Isaac_Lab_Teleop.html create mode 100644 deps/cloudxr/docs/documents/Show_Cases.html create mode 100644 deps/cloudxr/docs/documents/Telemetry.html create mode 100644 deps/cloudxr/docs/documents/Troubleshooting.html create mode 100644 deps/cloudxr/docs/enums/CloudXR.SessionState.html create mode 100644 deps/cloudxr/docs/functions/CloudXR.createSession.html create mode 100644 deps/cloudxr/docs/index.html create mode 100644 deps/cloudxr/docs/interfaces/CloudXR.Session.html create mode 100644 deps/cloudxr/docs/interfaces/CloudXR.SessionDelegates.html create mode 100644 deps/cloudxr/docs/interfaces/CloudXR.SessionOptions.html create mode 100644 deps/cloudxr/docs/media/HEROICONS_LICENSE create mode 100644 deps/cloudxr/docs/media/LICENSE create mode 100644 deps/cloudxr/docs/media/LICENSE-1 create mode 100644 deps/cloudxr/docs/media/LICENSE-2 create mode 100644 deps/cloudxr/docs/media/accept-cert.png create mode 100644 deps/cloudxr/docs/media/accept-proxy-cert.png create mode 100644 deps/cloudxr/docs/media/cloudxr_viewport.jpg create mode 100644 deps/cloudxr/docs/media/iwer-buttons.png create mode 100644 deps/cloudxr/docs/media/iwer-message.png create mode 100644 deps/cloudxr/docs/media/ov-ar-panel.png create mode 100644 deps/cloudxr/docs/media/react-isaac-sample-controls-countdown.jpg create mode 100644 deps/cloudxr/docs/media/react-isaac-sample-controls-running.jpg create mode 100644 deps/cloudxr/docs/media/react-isaac-sample-controls-start.jpg create mode 100644 deps/cloudxr/docs/media/startar.png create mode 100644 deps/cloudxr/docs/modules.html create mode 100644 deps/cloudxr/docs/modules/CloudXR.html create mode 100644 deps/cloudxr/helpers/BrowserCapabilities.ts create mode 100644 deps/cloudxr/helpers/LoadIWER.ts create mode 100644 deps/cloudxr/helpers/WebGLState.ts create mode 100644 deps/cloudxr/helpers/WebGLStateApply.ts create mode 100644 deps/cloudxr/helpers/WebGLStateBinding.ts create mode 100644 deps/cloudxr/helpers/WebGlUtils.ts create mode 100644 deps/cloudxr/helpers/overridePressureObserver.ts create mode 100644 deps/cloudxr/helpers/utils.ts create mode 100644 deps/cloudxr/isaac/.gitignore create mode 100644 deps/cloudxr/isaac/LICENSE create mode 100644 deps/cloudxr/isaac/README.md create mode 100644 deps/cloudxr/isaac/favicon.ico create mode 100644 deps/cloudxr/isaac/package-lock.json create mode 100644 deps/cloudxr/isaac/package.json create mode 100644 deps/cloudxr/isaac/public/HEROICONS_LICENSE create mode 100644 deps/cloudxr/isaac/public/arrow-left-start-on-rectangle.svg create mode 100644 deps/cloudxr/isaac/public/arrow-uturn-left.svg create mode 100644 deps/cloudxr/isaac/public/assets/hdri/potsdamer_platz_1k.hdr create mode 100644 deps/cloudxr/isaac/public/controller-icons.svg create mode 100644 deps/cloudxr/isaac/public/npm/@webxr-input-profiles/assets@1.0.19/dist/profiles/generic-hand/left.glb create mode 100644 deps/cloudxr/isaac/public/npm/@webxr-input-profiles/assets@1.0.19/dist/profiles/generic-hand/profile.json create mode 100644 deps/cloudxr/isaac/public/npm/@webxr-input-profiles/assets@1.0.19/dist/profiles/generic-hand/right.glb create mode 100644 deps/cloudxr/isaac/public/npm/@webxr-input-profiles/assets@1.0.19/dist/profiles/generic-trigger/left.glb create mode 100644 deps/cloudxr/isaac/public/npm/@webxr-input-profiles/assets@1.0.19/dist/profiles/generic-trigger/profile.json create mode 100644 deps/cloudxr/isaac/public/npm/@webxr-input-profiles/assets@1.0.19/dist/profiles/generic-trigger/right.glb create mode 100644 deps/cloudxr/isaac/public/npm/@webxr-input-profiles/assets@1.0.19/dist/profiles/meta-quest-touch-plus/left.glb create mode 100644 deps/cloudxr/isaac/public/npm/@webxr-input-profiles/assets@1.0.19/dist/profiles/meta-quest-touch-plus/profile.json create mode 100644 deps/cloudxr/isaac/public/npm/@webxr-input-profiles/assets@1.0.19/dist/profiles/meta-quest-touch-plus/right.glb create mode 100644 deps/cloudxr/isaac/public/npm/@webxr-input-profiles/assets@1.0.19/dist/profiles/oculus-touch-v2/left.glb create mode 100644 deps/cloudxr/isaac/public/npm/@webxr-input-profiles/assets@1.0.19/dist/profiles/oculus-touch-v2/profile.json create mode 100644 deps/cloudxr/isaac/public/npm/@webxr-input-profiles/assets@1.0.19/dist/profiles/oculus-touch-v2/right.glb create mode 100644 deps/cloudxr/isaac/public/npm/@webxr-input-profiles/assets@1.0.19/dist/profiles/oculus-touch-v3/left.glb create mode 100644 deps/cloudxr/isaac/public/npm/@webxr-input-profiles/assets@1.0.19/dist/profiles/oculus-touch-v3/profile.json create mode 100644 deps/cloudxr/isaac/public/npm/@webxr-input-profiles/assets@1.0.19/dist/profiles/oculus-touch-v3/right.glb create mode 100644 deps/cloudxr/isaac/public/npm/@webxr-input-profiles/assets@1.0.19/dist/profiles/pico-4u/left.glb create mode 100644 deps/cloudxr/isaac/public/npm/@webxr-input-profiles/assets@1.0.19/dist/profiles/pico-4u/profile.json create mode 100644 deps/cloudxr/isaac/public/npm/@webxr-input-profiles/assets@1.0.19/dist/profiles/pico-4u/right.glb create mode 100644 deps/cloudxr/isaac/public/npm/@webxr-input-profiles/assets@1.0.19/dist/profiles/profilesList.json create mode 100644 deps/cloudxr/isaac/public/play-circle.svg create mode 100644 deps/cloudxr/isaac/public/stop-circle.svg create mode 100644 deps/cloudxr/isaac/src/App.tsx create mode 100644 deps/cloudxr/isaac/src/CloudXR2DUI.tsx create mode 100644 deps/cloudxr/isaac/src/CloudXRComponent.tsx create mode 100644 deps/cloudxr/isaac/src/CloudXRUI.tsx create mode 100644 deps/cloudxr/isaac/src/index.html create mode 100644 deps/cloudxr/isaac/src/index.tsx create mode 100644 deps/cloudxr/isaac/tsconfig.json create mode 100644 deps/cloudxr/isaac/webpack-plugins/DownloadAssetsPlugin.js create mode 100644 deps/cloudxr/isaac/webpack.common.js create mode 100644 deps/cloudxr/isaac/webpack.dev.js create mode 100644 deps/cloudxr/isaac/webpack.prod.js create mode 100644 deps/cloudxr/nvidia-cloudxr-6.0.0-beta.tgz create mode 100644 deps/cloudxr/react/LICENSE create mode 100644 deps/cloudxr/react/README.md create mode 100644 deps/cloudxr/react/favicon.ico create mode 100644 deps/cloudxr/react/package.json create mode 100644 deps/cloudxr/react/public/HEROICONS_LICENSE create mode 100644 deps/cloudxr/react/public/arrow-left-start-on-rectangle.svg create mode 100644 deps/cloudxr/react/public/arrow-uturn-left.svg create mode 100644 deps/cloudxr/react/public/controller-icons.svg create mode 100644 deps/cloudxr/react/public/play-circle.svg create mode 100644 deps/cloudxr/react/public/stop-circle.svg create mode 100644 deps/cloudxr/react/src/App.tsx create mode 100644 deps/cloudxr/react/src/CloudXR2DUI.tsx create mode 100644 deps/cloudxr/react/src/CloudXRComponent.tsx create mode 100644 deps/cloudxr/react/src/CloudXRUI.tsx create mode 100644 deps/cloudxr/react/src/index.html create mode 100644 deps/cloudxr/react/src/index.tsx create mode 100644 deps/cloudxr/react/tsconfig.json create mode 100644 deps/cloudxr/react/webpack-plugins/DownloadAssetsPlugin.js create mode 100644 deps/cloudxr/react/webpack.common.js create mode 100644 deps/cloudxr/react/webpack.dev.js create mode 100644 deps/cloudxr/react/webpack.prod.js create mode 100644 deps/cloudxr/simple/LICENSE create mode 100644 deps/cloudxr/simple/README.md create mode 100644 deps/cloudxr/simple/favicon.ico create mode 100644 deps/cloudxr/simple/index.html create mode 100644 deps/cloudxr/simple/package.json create mode 100644 deps/cloudxr/simple/src/main.ts create mode 100644 deps/cloudxr/simple/tsconfig.json create mode 100644 deps/cloudxr/simple/webpack.common.js create mode 100644 deps/cloudxr/simple/webpack.dev.js create mode 100644 deps/cloudxr/simple/webpack.prod.js diff --git a/deps/cloudxr/Dockerfile.wss.proxy b/deps/cloudxr/Dockerfile.wss.proxy new file mode 100644 index 0000000..0c32898 --- /dev/null +++ b/deps/cloudxr/Dockerfile.wss.proxy @@ -0,0 +1,13 @@ +FROM haproxy:3.2 +USER root +RUN apt-get update && apt-get install -y bash gettext-base openssl && rm -rf /var/lib/apt/lists/* +RUN mkdir -p /usr/local/etc/haproxy/certs && chown -R haproxy:haproxy /usr/local/etc/haproxy + +RUN printf '#!/bin/bash\ncd /usr/local/etc/haproxy/certs\nopenssl req -x509 -newkey rsa:2048 -keyout server.key -out server.crt -days 365 -nodes -subj "/CN=localhost" -quiet\ncat server.crt server.key > server.pem\nchown haproxy:haproxy server.key server.crt server.pem\nchmod 600 server.key server.pem\nchmod 644 server.crt\n' > /usr/local/bin/generate-cert.sh && chmod +x /usr/local/bin/generate-cert.sh + +RUN printf 'global\n log stdout local0 info\n stats timeout 30s\n user haproxy\ndefaults\n log global\n option httplog\n option dontlognull\n timeout connect 5s\n timeout client 3600s\n timeout server 3600s\n timeout tunnel 3600s\nfrontend websocket_frontend\n bind *:${PROXY_PORT} ${PROXY_SSL_BIND_OPTIONS}\n mode http\n http-response set-header Access-Control-Allow-Origin "*"\n http-response set-header Access-Control-Allow-Headers "*"\n http-response set-header Access-Control-Allow-Methods "GET, POST, PUT, DELETE, OPTIONS"\n http-request return status 200 content-type "text/plain" string "OK" if METH_OPTIONS\n default_backend websocket_backend\nbackend websocket_backend\n mode http\n server local_websocket ${BACKEND_HOST}:${BACKEND_PORT} check inter 2s rise 2 fall 3 on-marked-down shutdown-sessions\n' > /usr/local/etc/haproxy/haproxy.cfg.template && chown haproxy:haproxy /usr/local/etc/haproxy/haproxy.cfg.template + +RUN printf '#!/bin/bash\nexport BACKEND_HOST=${BACKEND_HOST:-localhost}\nexport BACKEND_PORT=${BACKEND_PORT:-49100}\nexport PROXY_PORT=${PROXY_PORT:-48322}\n/usr/local/bin/generate-cert.sh\nexport PROXY_SSL_BIND_OPTIONS="ssl crt /usr/local/etc/haproxy/certs/server.pem"\nenvsubst < /usr/local/etc/haproxy/haproxy.cfg.template > /usr/local/etc/haproxy/haproxy.cfg\necho "WSS Proxy: wss://0.0.0.0:${PROXY_PORT} -> ws://${BACKEND_HOST}:${BACKEND_PORT}"\nexec haproxy -f /usr/local/etc/haproxy/haproxy.cfg\n' > /entrypoint.sh && chmod +x /entrypoint.sh + +USER haproxy +ENTRYPOINT ["/entrypoint.sh"] diff --git a/deps/cloudxr/INSTALL.md b/deps/cloudxr/INSTALL.md new file mode 100644 index 0000000..1344eef --- /dev/null +++ b/deps/cloudxr/INSTALL.md @@ -0,0 +1,261 @@ +# CloudXR VR Teleoperation Setup Guide + +将 Isaac Lab 仿真画面通过 NVIDIA CloudXR 流式传输到 PICO 4 Ultra,实现沉浸式 VR 遥操作。 + +## 架构 + +``` +Isaac Sim (本地) ──OpenXR──► CloudXR Runtime (Docker) + │ + WebSocket (port 49100) + │ + HAProxy WSS Proxy (port 48322) + │ + PICO 4 Ultra 浏览器 + https://:8080 (Web App) +``` + +## 系统要求 + +- Ubuntu 22.04 / 24.04 +- NVIDIA GPU (RTX 系列) +- NVIDIA Driver 最新版 +- Docker + NVIDIA Container Toolkit +- Isaac Lab 本地安装(`~/IsaacLab`) +- PICO 4 Ultra (OS 15.4.4U 或更高) +- CloudXR Early Access 资格([申请地址](https://developer.nvidia.com/cloudxr-sdk)) +- Node.js 20 LTS + +--- + +## 一、系统环境准备 + +### 1.1 安装 NVIDIA Container Toolkit + +```bash +curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg +curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \ + sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \ + sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list +sudo apt-get update +sudo apt-get install -y nvidia-container-toolkit +sudo nvidia-ctk runtime configure --runtime=docker +sudo systemctl restart docker +``` + +### 1.2 配置 Docker(国内镜像 + NVIDIA runtime) + +```bash +sudo tee /etc/docker/daemon.json << 'EOF' +{ + "registry-mirrors": [ + "https://docker.1ms.run", + "https://docker.1panel.live", + "https://hub.rat.dev" + ], + "runtimes": { + "nvidia": { + "path": "nvidia-container-runtime", + "runtimeArgs": [] + } + } +} +EOF +sudo systemctl restart docker +``` + +### 1.3 开放防火墙端口 + +```bash +sudo ufw allow 47998:48000/udp +sudo ufw allow 48005/udp +sudo ufw allow 48008/udp +sudo ufw allow 48012/udp +sudo ufw allow 48010/tcp +sudo ufw allow 49100/tcp +sudo ufw allow 48322/tcp +sudo ufw allow 8080/tcp +``` + +### 1.4 安装 Node.js 20 LTS(通过 nvm) + +```bash +curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash +source ~/.bashrc +nvm install 20 +nvm use 20 +``` + +--- + +## 二、获取 CloudXR Early Access SDK + +1. 前往 [ngc.nvidia.com](https://ngc.nvidia.com) 获取 API Key +2. 登录 NGC Docker registry: + +```bash +sudo docker login nvcr.io +# Username: $oauthtoken +# Password: <你的 NGC API Key> +``` + +3. 下载 CloudXR.js SDK(从 NGC Early Access 页面获取),解压到: + ``` + deps/cloudxr/ + ├── nvidia-cloudxr-6.0.0-beta.tgz + ├── isaac/ # React Web App + ├── docs/ + └── Dockerfile.wss.proxy + ``` + +--- + +## 三、配置 Isaac Lab Docker + +修改 `~/IsaacLab/docker/.env.cloudxr-runtime`: + +```ini +CLOUDXR_RUNTIME_BASE_IMAGE_ARG=nvcr.io/nvidia/cloudxr-runtime-early-access +CLOUDXR_RUNTIME_VERSION_ARG=6.0.1-webrtc +ACCEPT_EULA=yes +``` + +修改 `~/IsaacLab/docker/docker-compose.cloudxr-runtime.patch.yaml`,将 cloudxr-runtime service 的 `ports` 替换为 `network_mode: host`: + +```yaml +services: + cloudxr-runtime: + image: ${CLOUDXR_RUNTIME_BASE_IMAGE_ARG}:${CLOUDXR_RUNTIME_VERSION_ARG} + network_mode: host + # ... 其余保持不变 +``` + +--- + +## 四、构建 WSS 代理(HAProxy) + +```bash +cd deps/cloudxr + +# 构建镜像 +sudo docker build -t websocket-ssl-proxy -f Dockerfile.wss.proxy . + +# 启动代理(监听 48322,转发到 CloudXR Runtime 的 49100) +sudo docker run -d --name wss-proxy \ + --network host \ + -e BACKEND_HOST=localhost \ + -e BACKEND_PORT=49100 \ + -e PROXY_PORT=48322 \ + websocket-ssl-proxy + +# 验证 +sudo docker logs wss-proxy +``` + +--- + +## 五、构建 Web 客户端 + +```bash +cd deps/cloudxr/isaac + +# 安装依赖(需要先安装本地 CloudXR SDK) +npm install ../nvidia-cloudxr-6.0.0-beta.tgz +npm install + +# 启动 HTTPS 开发服务器(端口 8080) +npm run dev-server:https +``` + +> **注意**:首次运行会下载 WebXR controller profile 资源,需要网络连接。 + +--- + +## 六、启动流程 + +每次使用前按以下顺序启动: + +### 6.1 启动 CloudXR Runtime + Isaac Lab + +```bash +cd ~/IsaacLab +./docker/container.py start \ + --files docker-compose.cloudxr-runtime.patch.yaml \ + --env-file .env.cloudxr-runtime + +# 进入 Isaac Lab 容器 +./docker/container.py enter base +``` + +容器内运行 MindBot 遥操作: + +```bash +~/IsaacLab/isaaclab.sh -p scripts/environments/teleoperation/teleop_xr_agent.py \ + --task Isaac-MindRobot-2i-DualArm-IK-Abs-v0 \ + --cloudxr +``` + +Isaac Sim 启动后:**AR 面板 → OpenXR → System OpenXR Runtime → 点击 Start AR** + +### 6.2 启动 WSS 代理 + +```bash +sudo docker start wss-proxy +``` + +### 6.3 启动 Web 服务 + +```bash +cd deps/cloudxr/isaac +npm run dev-server:https +``` + +--- + +## 七、PICO 4 Ultra 配置 + +### 7.1 启用手部追踪 + +设置 → Interaction → 选择 **Auto Switch between Hands & Controllers** + +### 7.2 接受证书 + +1. 打开 PICO 浏览器,访问 `https://<工作站IP>:48322/` + - 点击 **Advanced** → **Proceed (unsafe)** + - 看到 "501 Not Implemented" 是正常的 +2. 访问 `https://<工作站IP>:8080/` + - 点击 **Advanced** → **Proceed (unsafe)** + - Web App 加载成功 + +### 7.3 连接 + +1. 在 Web App 中输入工作站 IP +2. 点击 **CONNECT** +3. 点击 **Enter XR** 进入沉浸式模式 + +--- + +## 八、验证端口状态 + +```bash +sudo ss -tlnp | grep -E "49100|48322|8080" +``` + +预期输出: +``` +LISTEN 0.0.0.0:49100 cloudxr-service # CloudXR Runtime +LISTEN 0.0.0.0:48322 haproxy # WSS Proxy +LISTEN 0.0.0.0:8080 node # Web App +``` + +--- + +## 常见问题 + +| 症状 | 原因 | 解决 | +|---|---|---| +| 503 Service Unavailable (48322) | CloudXR Runtime 未运行 | 重启 docker-cloudxr-runtime-1 容器 | +| 501 Not Implemented (48322) | 正常 — HAProxy 只处理 WebSocket | 直接接受证书即可 | +| Stream start failed 0xC0F22202 | HTTPS + ws:// 混合内容 | 必须先接受 48322 代理证书 | +| EMFILE: too many open files | webpack 文件监听超限 | 已通过 `watchOptions.ignored` 修复 | +| Isaac Sim AR 面板看不到 | 未传 --cloudxr 或 --xr flag | 使用 `--cloudxr` 启动脚本 | diff --git a/deps/cloudxr/LICENSE b/deps/cloudxr/LICENSE new file mode 100644 index 0000000..5e53852 --- /dev/null +++ b/deps/cloudxr/LICENSE @@ -0,0 +1,307 @@ +NVIDIA SOFTWARE EVALUATION LICENSE AGREEMENT + +IMPORTANT NOTICE – PLEASE READ AND AGREE BEFORE USING THE SOFTWARE + +This software evaluation license agreement (“Agreement”) is a legal agreement between you, whether an +individual or entity, (“you”) and NVIDIA Corporation and its affiliates (“NVIDIA”) and governs the use of certain +NVIDIA CloudXR software and documentation that NVIDIA delivers to you under this Agreement (“Software”). +NVIDIA and you are each a “party” and collectively the “parties.” +This Agreement can be accepted only by an adult of legal age of majority in the country in which the Software is +used. If you don’t have the required age or authority to accept this Agreement, or if you don’t accept all the +terms and conditions of this Agreement, do not use the Software. + +1. License Grants. + +1.1 License Grant to You. The Software is licensed, not sold. Subject to the terms of this Agreement, +NVIDIA grants you a limited, non-exclusive, revocable, non-transferable, non-sublicensable (except +as expressly granted in this Agreement), license to: +(a) access, install and use copies of the Software, +(b) configure the Software using configuration files provided (if applicable), +(c) modify and create derivative works of any source code NVIDIA delivers to you as part of the +Software (“Derivatives”) (if applicable). + +All the foregoing grants are only for internal test and evaluation purposes and, as applicable, for use (a) in +client systems, or (b) in server systems with NVIDIA GPUs (“Purpose”). + +1.2 License Grant to NVIDIA. Subject to the terms of this Agreement, you grant NVIDIA a non-exclusive, +perpetual, irrevocable, sublicensable, worldwide, royalty-free, fully paid-up and transferable license, +under your intellectual property rights, to publicly perform, publicly display, reproduce, use, make, +have made, sell, offer for sale, distribute (through multiple tiers of distribution), import, create +derivative works of and otherwise commercialize and exploit at NVIDIA’s discretion any Derivatives +created by or for you. You may, but are not required to, deliver any Derivatives to NVIDIA. + +2. License Restrictions. Your license to use the Software and Derivatives is restricted as stated in this “License +Restrictions” Section. You will cooperate with NVIDIA and, upon NVIDIA’s written request, you will confirm +in writing and provide reasonably requested information to verify your compliance with the terms of this +Agreement. You may not: + +2.1 Use the Software or Derivatives for any purpose other than the Purpose, including but not limited to +in production; + +2.2 Sell, rent, sublicense, transfer, distribute or otherwise make available to others (except Authorized +Users as stated in the “Authorized Users” Section) any portion of the Software or Derivatives, except +as expressly granted in Section 1.1 (“License Grant to You”); + +2.3 Reverse engineer, decompile, or disassemble the Software components provided in binary form, nor +attempt in any other manner to obtain source code of such Software; + +2.4 Modify or create derivative works of the Software, except as expressly granted in Section 1.1 +(“License Grant to You”); + +2.5 Change or remove copyright or other proprietary notices in the Software; + +2.6 Bypass, disable, or circumvent any technical limitation, encryption, security, digital rights +management or authentication mechanism in the Software; + +2.7 Use the Software or Derivatives in any manner that would cause them to become subject to an open +source software license; subject to the terms in Section 7 (“Components Under Other Licenses”); + +2.8 Use the Software or Derivatives for the purpose of developing competing products or technologies +or assist a third party in such activities; + +2.9 Replace any Software components governed by this Agreement with other software that +implements NVIDIA APIs; + +2.10 Use the Software or Derivatives in violation of any applicable law or regulation in the relevant +jurisdictions; or + +2.11 Use the Software in or with any system or application where the use or failure of such system or +application developed or deployed with Software could result in injury, death or catastrophic +damage (“Mission Critical Applications”). NVIDIA will not be liable to you or any third party, in whole +or in part, for any claims or damages arising from uses in Mission Critical Applications. + +2.12 Disclose any evaluation or test results regarding the Software or Derivatives without NVIDIA’s prior +written consent. + +3. Authorized Users. You may allow employees and contractors of your entity or of your subsidiary(ies), and +for educational institutions also enrolled students, to internally access and use the Software as authorized +by this Agreement from your secure network to perform the work authorized by this Agreement on your +behalf. You are responsible for the compliance with the terms of this Agreement by your authorized users. +Any act or omission that if committed by you would constitute a breach of this Agreement will be deemed to +constitute a breach of this Agreement if committed by your authorized users. + +4. Pre-Release. Software versions identified as alpha, beta, preview, early access or otherwise as pre-release +may not be fully functional, may contain errors or design flaws, and may have reduced or different security, +privacy, availability and reliability standards relative to NVIDIA commercial offerings. You use pre-release +Software at your own risk. NVIDIA did not design or test the Software for use in production or business +critical systems. NVIDIA may choose not to make available a commercial version of pre-release Software. +NVIDIA may also choose to abandon development and terminate the availability of pre-release Software at +any time without liability. + +5. Your Privacy: Collection and Use of Information. + +5.1 Privacy Policy. Please review the NVIDIA Privacy Policy, located at https://www.nvidia.com/enus/about-nvidia/privacy-policy, which explains NVIDIA’s policy for collecting and using data, as well +as visit the NVIDIA Privacy Center, located at https://www.nvidia.com/en-us/privacy-center, to +manage your consent and privacy preferences. + +5.2 Collection Purposes. You also acknowledge that the Software collects data for the following +purposes: (a) properly configure and optimize products for use with Software; and (b) improve +NVIDIA products and services. Information collected by the Software includes: (i) application +configuration; (ii) browser version; (iii) and session metadata (i.e. performance and usage +statistics). Additionally, NVIDIA may collect certain personal information, such as your name +and email address or those of your authorized users, and other information necessary to +authenticate and enable you or your authorized users’ access to the Software. Where appropriate +you will disclose to, and obtain any necessary consent from, your authorized users to allow NVIDIA +to collect such information. + +5.3 Third Party Privacy Practices. The Software may contain links to third party websites and services. +NVIDIA encourages you to review the privacy statements on those sites and services that you choose +to visit to understand how they may collect, use and share your data. NVIDIA is not responsible for +the privacy statements or practices of third-party sites or services. + +6. Updates. NVIDIA may at any time and at its option, change, discontinue, or deprecate any part, or all, of the +Software, or change or remove features or functionality, or make available patches, workarounds or other +updates to the Software. Unless the updates are provided with their separate governing terms, they are +deemed part of the Software licensed to you under this Agreement, and your continued use of the Software +is deemed acceptance of such changes. + +7. Components Under Other Licenses. The Software may include or be distributed with components provided +with separate legal notices or terms that accompany the components, such as open source software licenses +and other license terms (“Other Licenses”). The components are subject to the applicable Other Licenses, +including any proprietary notices, disclaimers, requirements and extended use rights; except that this +Agreement will prevail regarding the use of third-party open source software, unless a third-party open +source software license requires its license terms to prevail. Open source software license means any +software, data or documentation subject to any license identified as an open source license by the Open +Source Initiative (http://opensource.org), Free Software Foundation (http://www.fsf.org) or other similar +open source organization or listed by the Software Package Data Exchange (SPDX) Workgroup under the +Linux Foundation (http://www.spdx.org). + +8. Ownership. + +8.1 NVIDIA Ownership. The Software, including all intellectual property rights, is and will remain the sole +and exclusive property of NVIDIA or its licensors. Except as expressly granted in this Agreement, +(a) NVIDIA reserves all rights, interests and remedies in connection with the Software, and (b) no +other license or right is granted to you by implication, estoppel or otherwise. + +8.2 Your Ownership. Subject to the rights of NVIDIA and its suppliers in the Software, which continue to +be licensed as stated in this Agreement, even when incorporated in your products, and the extent +permitted by applicable law, as between you and NVIDIA, you hold all rights, title and interest in and +to your services, applications and Derivatives you develop as permitted in this Agreement including +their respective intellectual property rights. + +9. Feedback. You may, but are not obligated to, provide suggestions, requests, fixes, modifications, +enhancements or other feedback regarding your use of the Software (“Feedback”). Feedback, even if +designated as confidential by you, will not create any confidentiality obligation for NVIDIA or its affiliates. If +you provide Feedback, you hereby grant NVIDIA, its affiliates and its designees a nonexclusive, perpetual, +irrevocable, sublicensable, worldwide, royalty-free, fully paid-up and transferable license, under your +intellectual property rights, to publicly perform, publicly display, reproduce, use, make, have made, sell, +offer for sale, distribute (through multiple tiers of distribution), import, create derivative works of and +otherwise commercialize and exploit the Feedback at NVIDIA’s discretion. + +10. Confidentiality. You may use confidential information only to exercise your rights and perform your +obligations under this Agreement. You will not disclose, nor authorize others to disclose NVIDIA Confidential +Information to any third party, except as expressly authorized in this Agreement and as necessary for the +Purpose, without obtaining NVIDIA’s prior written approval. Each recipient of confidential information must +be subject to a written agreement that includes confidentiality obligations consistent with these terms and +must have a need to know for the Purpose. You will protect the NVIDIA Confidential Information with at +least the same degree of care that you use to protect your own similar confidential and proprietary +information, but no less than a reasonable degree of care. Confidential information includes, but is not +limited to, the Software, including its features and functionality, Derivatives, and any results of +benchmarking or other competitive analysis or regression or performance data relating to the Software. +No Publicity. You may not issue any public statements about this Agreement, disclose the Software or +Derivatives, or any information or results related to your use of the Software, without prior written approval +of NVIDIA. + +11. Term and Termination. + +11.1 Term. This Agreement has a duration of twelve (12) months starting from the date of initial +download (even if you download the same version or updates of the Software later and it is +accompanied by this Agreement or another Agreement), unless terminated earlier in accordance +with this Agreement. + +11.2 Termination for Convenience. Either party may terminate this Agreement at any time with thirty (30) +days’ advance written notice to the other party. + +11.3 Termination for Cause. If you commence or participate in any legal proceeding against NVIDIA with +respect to the Software, this Agreement will terminate immediately without notice. Either party may +terminate this Agreement upon notice for cause if: +(a) the other party fails to cure a material breach of this Agreement within ten (10) days of the +non-breaching party’s notice of the breach; or +(b) the other party breaches its confidentiality obligations or license rights under this +Agreement, which termination will be effective immediately upon written notice. + +11.4 Effect of Termination. Upon any expiration or termination of this Agreement, you will promptly +(a) stop using and return, delete or destroy NVIDIA confidential information and all Software +received under this Agreement, and (b) delete or destroy Derivatives created under this Agreement, +unless an authorized NVIDIA representative provides prior written approval that you may keep a +copy of the Derivatives solely for archival purposes. Upon written request, you will certify in writing +that you have complied with your obligations under this “Effect of Termination” Section. + +11.5 Survival. The “License Grant to NVIDIA”, “Updates”, “Components Under Other Licenses”, +“Ownership”, “Feedback”, “Confidentiality”, “No Publicity”, “Effect of Termination”, “Survival”, +“Disclaimer of Warranties”, “Limitation of Liability”, “Indemnity” and all “General” Sections of this +Agreement will survive any expiration or termination of this Agreement. + +12. Disclaimer of Warranties. THE SOFTWARE IS PROVIDED BY NVIDIA AS-IS AND WITH ALL FAULTS. TO THE +MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, NVIDIA DISCLAIMS ALL WARRANTIES AND +REPRESENTATIONS OF ANY KIND, WHETHER EXPRESS, IMPLIED OR STATUTORY, RELATING TO OR ARISING +UNDER THIS AGREEMENT, INCLUDING, WITHOUT LIMITATION, THE WARRANTIES OF TITLE, +NONINFRINGEMENT, MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, USAGE OF TRADE AND +COURSE OF DEALING. NVIDIA DOES NOT WARRANT OR ASSUME RESPONSIBILITY FOR THE ACCURACY OR +COMPLETENESS OF ANY THIRD-PARTY INFORMATION, TEXT, GRAPHICS, LINKS CONTAINED IN THE +SOFTWARE. WITHOUT LIMITING THE FOREGOING, NVIDIA DOES NOT WARRANT THAT THE SOFTWARE WILL +MEET YOUR REQUIREMENTS, ANY DEFECTS OR ERRORS WILL BE CORRECTED, ANY CERTAIN CONTENT WILL +BE AVAILABLE; OR THAT THE SOFTWARE IS FREE OF VIRUSES OR OTHER HARMFUL COMPONENTS. NO +INFORMATION OR ADVICE GIVEN BY NVIDIA WILL IN ANY WAY INCREASE THE SCOPE OF ANY WARRANTY +EXPRESSLY PROVIDED IN THIS AGREEMENT. YOU ARE SOLELY RESPONSIBLE FOR DETERMINING THE +APPROPRIATENESS OF USING THE SOFTWARE OR DERIVATIVES AND ASSUME ANY RISKS ASSOCIATED WITH +YOUR USE OF THE SOFTWARE OR DERIVATIVES. + +13. Limitations of Liability. + +13.1 EXCLUSIONS. TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, IN NO EVENT WILL +NVIDIA BE LIABLE FOR ANY (A) INDIRECT, PUNITIVE, SPECIAL, INCIDENTAL OR CONSEQUENTIAL +DAMAGES, OR (B) DAMAGES FOR THE (I) COST OF PROCURING SUBSTITUTE GOODS OR (II) LOSS OF +PROFITS, REVENUES, USE, DATA OR GOODWILL ARISING OUT OF OR RELATED TO THIS AGREEMENT, +WHETHER BASED ON BREACH OF CONTRACT, TORT (INCLUDING NEGLIGENCE), STRICT LIABILITY, OR +OTHERWISE, AND EVEN IF NVIDIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES AND +EVEN IF A PARTY’S REMEDIES FAIL THEIR ESSENTIAL PURPOSE. + +13.2 DAMAGES CAP. ADDITIONALLY, TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, +NVIDIA’S TOTAL CUMULATIVE AGGREGATE LIABILITY FOR ANY AND ALL LIABILITIES, OBLIGATIONS OR +CLAIMS ARISING OUT OF OR RELATED TO THIS AGREEMENT WILL NOT EXCEED ONE HUNDRED U.S. +DOLLARS (US$100). + +14. Indemnity. You will defend, indemnify and hold harmless NVIDIA and its affiliates, and their respective +employees, contractors, agents, officers and directors, from and against any and all third party claims, +damages, obligations, losses, liabilities, costs or debt, fines, restitutions and expenses (including but not +limited to attorney’s fees and costs incident to establishing the right of indemnification) arising out of use of +the Software and Derivatives outside of the scope of this Agreement or in breach of the terms of this +Agreement. + +15. General. + +15.1 Governing Law and Jurisdiction. This Agreement will be governed in all respects by the laws of the +United States and the laws of the State of Delaware, without regard to conflict of laws principles or +the United Nations Convention on Contracts for the International Sale of Goods. The state and +federal courts residing in Santa Clara County, California will have exclusive jurisdiction over any +dispute or claim arising out of or related to this Agreement, and the parties irrevocably consent to +personal jurisdiction and venue in those courts; except that either party may apply for injunctive +remedies or an equivalent type of urgent legal relief in any jurisdiction. + +15.2 Independent Contractors. The parties are independent contractors, and this Agreement does not +create a joint venture, partnership, agency or other form of business association between the +parties. Neither party will have the power to bind the other party or incur any obligation on its +behalf without the other party’s prior written consent. Nothing in this Agreement prevents either +party from participating in similar arrangements with third parties. + +15.3 No Assignment. NVIDIA may assign, delegate or transfer its rights or obligations under this +Agreement by any means or operation of law. You may not, without NVIDIA’s prior written consent, +assign, delegate or transfer any of your rights or obligations under this Agreement by any means or +operation of law, and any attempt to do so is null and void. + +15.4 No Waiver. No failure or delay by a party to enforce any term or obligation of this Agreement will +operate as a waiver by that party, or prevent the enforcement of such term or obligation later. + +15.5 Trade Compliance. You agree to comply with all applicable export, import, trade and economic +sanctions laws and regulations, as amended, including without limitation U.S. Export Administration +Regulations and Office of Foreign Assets Control regulations. You confirm (a) your understanding +that export or reexport of certain NVIDIA products or technologies may require a license or other +approval from appropriate authorities and (b) that you will not export or reexport any products or +technology, directly or indirectly, without first obtaining any required license or other approval from +appropriate authorities, (i) to any countries that are subject to any U.S. or local export restrictions +(currently including, but not necessarily limited to, Belarus, Cuba, Iran, North Korea, Russia, Syria, +the Region of Crimea, Donetsk People’s Republic Region and Luhansk People’s Republic Region); (ii) +to any end-user who you know or have reason to know will utilize them in the design, development +or production of nuclear, chemical or biological weapons, missiles, rocket systems, unmanned air +vehicles capable of a maximum range of at least 300 kilometers, regardless of payload, or intended +for military end-use, or any weapons of mass destruction; (iii) to any end-user who has been +prohibited from participating in the U.S. or local export transactions by any governing authority; or +(iv) to any known military or military-intelligence end-user or for any known military or military- +intelligence end-use in accordance with U.S. trade compliance laws and regulations. + +15.6 Government Rights. The Software, documentation and technology (“Protected Items”) are +“Commercial products” as this term is defined at 48 C.F.R. 2.101, consisting of “commercial +computer software” and “commercial computer software documentation” as such terms are used +in, respectively, 48 C.F.R. 12.212 and 48 C.F.R. 227.7202 & 252.227-7014(a)(1). Before any Protected +Items are supplied to the U.S. Government, you will (i) inform the U.S. Government in writing that +the Protected Items are and must be treated as commercial computer software and commercial +computer software documentation developed at private expense; (ii) inform the U.S. Government +that the Protected Items are provided subject to the terms of the Agreement; and (iii) mark the +Protected Items as commercial computer software and commercial computer software +documentation developed at private expense. In no event will you permit the U.S. Government to +acquire rights in Protected Items beyond those specified in 48 C.F.R. 52.227-19(b)(1)-(2) or 252.227- +7013(c) except as expressly approved by NVIDIA in writing. + +15.7 Notices. Please direct your legal notices or other correspondence to legalnotices@nvidia.com with a +copy mailed to NVIDIA Corporation, 2788 San Tomas Expressway, Santa Clara, California 95051, +United States of America, Attention: Legal Department. If NVIDIA needs to contact you about the +Software, you consent to receive the notices by email and agree that such notices will satisfy any +legal communication requirements. + +15.8 Severability. If a court of competent jurisdiction rules that a provision of this Agreement is +unenforceable, that provision will be deemed modified to the extent necessary to make it +enforceable and the remainder of this Agreement will continue in full force and effect. + +15.9 Amendment. Any amendment to this Agreement must be in writing and signed by authorized +representatives of both parties. + +15.10 Entire Agreement. Regarding the subject matter of this Agreement, the parties agree that (a) this +Agreement constitutes the entire and exclusive agreement between the parties and supersedes all +prior and contemporaneous communications and (b) any additional or different terms or conditions, +whether contained in purchase orders, order acknowledgments, invoices or otherwise, will not be +binding and are null and void. + +(v. February 25, 2025) + +NVIDIA Confidential \ No newline at end of file diff --git a/deps/cloudxr/README.md b/deps/cloudxr/README.md new file mode 100644 index 0000000..9de9619 --- /dev/null +++ b/deps/cloudxr/README.md @@ -0,0 +1,71 @@ +# NVIDIA CloudXR.js SDK - Getting Started + +> **Note:** For detailed documentation, see the `docs/` folder (open `docs/index.html` in browser). + +[The NVIDIA CloudXR.js SDK](#) enables developers to build web clients that stream high-quality spatial content from CloudXR servers with powerful GPUs to web browsers on XR devices. It consists of: + - **CloudXR.js SDK** - a JavaScript client library + - **WebGL-based simple sample client** that uses core Web APIs (WebGL, WebXR) + - **React-based sample client** that uses the R3F (React-Three-Fiber) framework stack + + + +It is *strongly recommended* that you work through this guide if you have never run CloudXR.js before. + +## The Pieces of a CloudXR.js Deployment + +Even for development, you'll need all the pieces of a CloudXR.js deployment in order to build and test a client. These are: + +- a CloudXR Server + - with a _top-end_ NVIDIA GPU or 2 (e.g. dual RTX 6000 Ada) + - which will run + - the CloudXR Runtime + - an OpenXR application (the thing you want to render on the server but see on the client) +- a CloudXR.js development workstation + - with Node.js and `npm` + - which will run + - the CloudXR.js sample client build + - a Node-based development web server +- a CloudXR.js client + - which is one of: + - a Meta Quest 3 with its built-in Browser app + - a desktop browser: [Google Chrome](https://www.google.com/chrome) or Edge (IWER automatically loads for WebXR emulation) + - which will run... + - the CloudXR.js sample client *served from the development web server*. + +We *recommend* that for your first experience, all above run on *the same computer* to eliminate networking related issues. + +## High Level Workflow + +You need both a working client and a working server in order to test. Typically we follow a startup flow where server starts before the client: + +1. CloudXR Runtime +2. Server XR application +3. Sample client build + web server +4. Test from the same computer +5. Test from Quest 3 or a different computer + + + +Please refer to [the CloudXR.js SDK documentations](#sdk-documentation) for details. + +## SDK Documentation + +The `docs/` folder contains comprehensive documentation including: +- Getting Started guides with example server applications +- API reference for building custom clients +- Common issues and solutions + +Open `docs/index.html` in your browser for organized navigation with table of contents. + +## Support + +For technical support and questions about this early access release: +- Review the troubleshooting sections in the SDK documentation +- Study the example implementations for integration patterns +- Contact the NVIDIA CloudXR team for additional assistance + +## License + +> **Important**: This is an [evaluation license](LICENSE) for internal test and evaluation purposes only. For commercial use, please contact NVIDIA for appropriate licensing terms. + +> **Note**: This is an early access release of CloudXR.js. Features and APIs may change in future releases. diff --git a/deps/cloudxr/docs/.nojekyll b/deps/cloudxr/docs/.nojekyll new file mode 100644 index 0000000..e2ac661 --- /dev/null +++ b/deps/cloudxr/docs/.nojekyll @@ -0,0 +1 @@ +TypeDoc added this file to prevent GitHub Pages from using Jekyll. You can turn off this behavior by setting the `githubPages` option to false. \ No newline at end of file diff --git a/deps/cloudxr/docs/assets/hierarchy.js b/deps/cloudxr/docs/assets/hierarchy.js new file mode 100644 index 0000000..fb85f0a --- /dev/null +++ b/deps/cloudxr/docs/assets/hierarchy.js @@ -0,0 +1 @@ +window.hierarchyData = "eJyrVirKzy8pVrKKjtVRKkpNy0lNLsnMzytWsqqurQUAmx4Kpg==" \ No newline at end of file diff --git a/deps/cloudxr/docs/assets/highlight.css b/deps/cloudxr/docs/assets/highlight.css new file mode 100644 index 0000000..0573c66 --- /dev/null +++ b/deps/cloudxr/docs/assets/highlight.css @@ -0,0 +1,120 @@ +:root { + --light-hl-0: #795E26; + --dark-hl-0: #DCDCAA; + --light-hl-1: #000000; + --dark-hl-1: #D4D4D4; + --light-hl-2: #A31515; + --dark-hl-2: #CE9178; + --light-hl-3: #008000; + --dark-hl-3: #6A9955; + --light-hl-4: #001080; + --dark-hl-4: #9CDCFE; + --light-hl-5: #0070C1; + --dark-hl-5: #4FC1FF; + --light-hl-6: #0000FF; + --dark-hl-6: #569CD6; + --light-hl-7: #098658; + --dark-hl-7: #B5CEA8; + --light-hl-8: #000000; + --dark-hl-8: #C8C8C8; + --light-hl-9: #AF00DB; + --dark-hl-9: #C586C0; + --light-hl-10: #EE0000; + --dark-hl-10: #D7BA7D; + --light-hl-11: #800000; + --dark-hl-11: #569CD6; + --light-hl-12: #0000FF; + --dark-hl-12: #CE9178; + --light-hl-13: #267F99; + --dark-hl-13: #4EC9B0; + --light-code-background: #FFFFFF; + --dark-code-background: #1E1E1E; +} + +@media (prefers-color-scheme: light) { :root { + --hl-0: var(--light-hl-0); + --hl-1: var(--light-hl-1); + --hl-2: var(--light-hl-2); + --hl-3: var(--light-hl-3); + --hl-4: var(--light-hl-4); + --hl-5: var(--light-hl-5); + --hl-6: var(--light-hl-6); + --hl-7: var(--light-hl-7); + --hl-8: var(--light-hl-8); + --hl-9: var(--light-hl-9); + --hl-10: var(--light-hl-10); + --hl-11: var(--light-hl-11); + --hl-12: var(--light-hl-12); + --hl-13: var(--light-hl-13); + --code-background: var(--light-code-background); +} } + +@media (prefers-color-scheme: dark) { :root { + --hl-0: var(--dark-hl-0); + --hl-1: var(--dark-hl-1); + --hl-2: var(--dark-hl-2); + --hl-3: var(--dark-hl-3); + --hl-4: var(--dark-hl-4); + --hl-5: var(--dark-hl-5); + --hl-6: var(--dark-hl-6); + --hl-7: var(--dark-hl-7); + --hl-8: var(--dark-hl-8); + --hl-9: var(--dark-hl-9); + --hl-10: var(--dark-hl-10); + --hl-11: var(--dark-hl-11); + --hl-12: var(--dark-hl-12); + --hl-13: var(--dark-hl-13); + --code-background: var(--dark-code-background); +} } + +:root[data-theme='light'] { + --hl-0: var(--light-hl-0); + --hl-1: var(--light-hl-1); + --hl-2: var(--light-hl-2); + --hl-3: var(--light-hl-3); + --hl-4: var(--light-hl-4); + --hl-5: var(--light-hl-5); + --hl-6: var(--light-hl-6); + --hl-7: var(--light-hl-7); + --hl-8: var(--light-hl-8); + --hl-9: var(--light-hl-9); + --hl-10: var(--light-hl-10); + --hl-11: var(--light-hl-11); + --hl-12: var(--light-hl-12); + --hl-13: var(--light-hl-13); + --code-background: var(--light-code-background); +} + +:root[data-theme='dark'] { + --hl-0: var(--dark-hl-0); + --hl-1: var(--dark-hl-1); + --hl-2: var(--dark-hl-2); + --hl-3: var(--dark-hl-3); + --hl-4: var(--dark-hl-4); + --hl-5: var(--dark-hl-5); + --hl-6: var(--dark-hl-6); + --hl-7: var(--dark-hl-7); + --hl-8: var(--dark-hl-8); + --hl-9: var(--dark-hl-9); + --hl-10: var(--dark-hl-10); + --hl-11: var(--dark-hl-11); + --hl-12: var(--dark-hl-12); + --hl-13: var(--dark-hl-13); + --code-background: var(--dark-code-background); +} + +.hl-0 { color: var(--hl-0); } +.hl-1 { color: var(--hl-1); } +.hl-2 { color: var(--hl-2); } +.hl-3 { color: var(--hl-3); } +.hl-4 { color: var(--hl-4); } +.hl-5 { color: var(--hl-5); } +.hl-6 { color: var(--hl-6); } +.hl-7 { color: var(--hl-7); } +.hl-8 { color: var(--hl-8); } +.hl-9 { color: var(--hl-9); } +.hl-10 { color: var(--hl-10); } +.hl-11 { color: var(--hl-11); } +.hl-12 { color: var(--hl-12); } +.hl-13 { color: var(--hl-13); } +pre, code { background: var(--code-background); } diff --git a/deps/cloudxr/docs/assets/icons.js b/deps/cloudxr/docs/assets/icons.js new file mode 100644 index 0000000..58882d7 --- /dev/null +++ b/deps/cloudxr/docs/assets/icons.js @@ -0,0 +1,18 @@ +(function() { + addIcons(); + function addIcons() { + if (document.readyState === "loading") return document.addEventListener("DOMContentLoaded", addIcons); + const svg = document.body.appendChild(document.createElementNS("http://www.w3.org/2000/svg", "svg")); + svg.innerHTML = `MMNEPVFCICPMFPCPTTAAATR`; + svg.style.display = "none"; + if (location.protocol === "file:") updateUseElements(); + } + + function updateUseElements() { + document.querySelectorAll("use").forEach(el => { + if (el.getAttribute("href").includes("#icon-")) { + el.setAttribute("href", el.getAttribute("href").replace(/.*#/, "#")); + } + }); + } +})() \ No newline at end of file diff --git a/deps/cloudxr/docs/assets/icons.svg b/deps/cloudxr/docs/assets/icons.svg new file mode 100644 index 0000000..50ad579 --- /dev/null +++ b/deps/cloudxr/docs/assets/icons.svg @@ -0,0 +1 @@ +MMNEPVFCICPMFPCPTTAAATR \ No newline at end of file diff --git a/deps/cloudxr/docs/assets/main.js b/deps/cloudxr/docs/assets/main.js new file mode 100644 index 0000000..2363f64 --- /dev/null +++ b/deps/cloudxr/docs/assets/main.js @@ -0,0 +1,60 @@ +"use strict"; +window.translations={"copy":"Copy","copied":"Copied!","normally_hidden":"This member is normally hidden due to your filter settings.","hierarchy_expand":"Expand","hierarchy_collapse":"Collapse","folder":"Folder","kind_1":"Project","kind_2":"Module","kind_4":"Namespace","kind_8":"Enumeration","kind_16":"Enumeration Member","kind_32":"Variable","kind_64":"Function","kind_128":"Class","kind_256":"Interface","kind_512":"Constructor","kind_1024":"Property","kind_2048":"Method","kind_4096":"Call Signature","kind_8192":"Index Signature","kind_16384":"Constructor Signature","kind_32768":"Parameter","kind_65536":"Type Literal","kind_131072":"Type Parameter","kind_262144":"Accessor","kind_524288":"Get Signature","kind_1048576":"Set Signature","kind_2097152":"Type Alias","kind_4194304":"Reference","kind_8388608":"Document"}; +"use strict";(()=>{var De=Object.create;var le=Object.defineProperty;var Fe=Object.getOwnPropertyDescriptor;var Ne=Object.getOwnPropertyNames;var Ve=Object.getPrototypeOf,Be=Object.prototype.hasOwnProperty;var qe=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var je=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Ne(e))!Be.call(t,i)&&i!==n&&le(t,i,{get:()=>e[i],enumerable:!(r=Fe(e,i))||r.enumerable});return t};var $e=(t,e,n)=>(n=t!=null?De(Ve(t)):{},je(e||!t||!t.__esModule?le(n,"default",{value:t,enumerable:!0}):n,t));var pe=qe((de,he)=>{(function(){var t=function(e){var n=new t.Builder;return n.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),n.searchPipeline.add(t.stemmer),e.call(n,n),n.build()};t.version="2.3.9";t.utils={},t.utils.warn=function(e){return function(n){e.console&&console.warn&&console.warn(n)}}(this),t.utils.asString=function(e){return e==null?"":e.toString()},t.utils.clone=function(e){if(e==null)return e;for(var n=Object.create(null),r=Object.keys(e),i=0;i0){var d=t.utils.clone(n)||{};d.position=[a,c],d.index=s.length,s.push(new t.Token(r.slice(a,o),d))}a=o+1}}return s},t.tokenizer.separator=/[\s\-]+/;t.Pipeline=function(){this._stack=[]},t.Pipeline.registeredFunctions=Object.create(null),t.Pipeline.registerFunction=function(e,n){n in this.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+n),e.label=n,t.Pipeline.registeredFunctions[e.label]=e},t.Pipeline.warnIfFunctionNotRegistered=function(e){var n=e.label&&e.label in this.registeredFunctions;n||t.utils.warn(`Function is not registered with pipeline. This may cause problems when serialising the index. +`,e)},t.Pipeline.load=function(e){var n=new t.Pipeline;return e.forEach(function(r){var i=t.Pipeline.registeredFunctions[r];if(i)n.add(i);else throw new Error("Cannot load unregistered function: "+r)}),n},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(n){t.Pipeline.warnIfFunctionNotRegistered(n),this._stack.push(n)},this)},t.Pipeline.prototype.after=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var r=this._stack.indexOf(e);if(r==-1)throw new Error("Cannot find existingFn");r=r+1,this._stack.splice(r,0,n)},t.Pipeline.prototype.before=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var r=this._stack.indexOf(e);if(r==-1)throw new Error("Cannot find existingFn");this._stack.splice(r,0,n)},t.Pipeline.prototype.remove=function(e){var n=this._stack.indexOf(e);n!=-1&&this._stack.splice(n,1)},t.Pipeline.prototype.run=function(e){for(var n=this._stack.length,r=0;r1&&(oe&&(r=s),o!=e);)i=r-n,s=n+Math.floor(i/2),o=this.elements[s*2];if(o==e||o>e)return s*2;if(ol?d+=2:a==l&&(n+=r[c+1]*i[d+1],c+=2,d+=2);return n},t.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},t.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),n=1,r=0;n0){var o=s.str.charAt(0),a;o in s.node.edges?a=s.node.edges[o]:(a=new t.TokenSet,s.node.edges[o]=a),s.str.length==1&&(a.final=!0),i.push({node:a,editsRemaining:s.editsRemaining,str:s.str.slice(1)})}if(s.editsRemaining!=0){if("*"in s.node.edges)var l=s.node.edges["*"];else{var l=new t.TokenSet;s.node.edges["*"]=l}if(s.str.length==0&&(l.final=!0),i.push({node:l,editsRemaining:s.editsRemaining-1,str:s.str}),s.str.length>1&&i.push({node:s.node,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)}),s.str.length==1&&(s.node.final=!0),s.str.length>=1){if("*"in s.node.edges)var c=s.node.edges["*"];else{var c=new t.TokenSet;s.node.edges["*"]=c}s.str.length==1&&(c.final=!0),i.push({node:c,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)})}if(s.str.length>1){var d=s.str.charAt(0),m=s.str.charAt(1),p;m in s.node.edges?p=s.node.edges[m]:(p=new t.TokenSet,s.node.edges[m]=p),s.str.length==1&&(p.final=!0),i.push({node:p,editsRemaining:s.editsRemaining-1,str:d+s.str.slice(2)})}}}return r},t.TokenSet.fromString=function(e){for(var n=new t.TokenSet,r=n,i=0,s=e.length;i=e;n--){var r=this.uncheckedNodes[n],i=r.child.toString();i in this.minimizedNodes?r.parent.edges[r.char]=this.minimizedNodes[i]:(r.child._str=i,this.minimizedNodes[i]=r.child),this.uncheckedNodes.pop()}};t.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},t.Index.prototype.search=function(e){return this.query(function(n){var r=new t.QueryParser(e,n);r.parse()})},t.Index.prototype.query=function(e){for(var n=new t.Query(this.fields),r=Object.create(null),i=Object.create(null),s=Object.create(null),o=Object.create(null),a=Object.create(null),l=0;l1?this._b=1:this._b=e},t.Builder.prototype.k1=function(e){this._k1=e},t.Builder.prototype.add=function(e,n){var r=e[this._ref],i=Object.keys(this._fields);this._documents[r]=n||{},this.documentCount+=1;for(var s=0;s=this.length)return t.QueryLexer.EOS;var e=this.str.charAt(this.pos);return this.pos+=1,e},t.QueryLexer.prototype.width=function(){return this.pos-this.start},t.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},t.QueryLexer.prototype.backup=function(){this.pos-=1},t.QueryLexer.prototype.acceptDigitRun=function(){var e,n;do e=this.next(),n=e.charCodeAt(0);while(n>47&&n<58);e!=t.QueryLexer.EOS&&this.backup()},t.QueryLexer.prototype.more=function(){return this.pos1&&(e.backup(),e.emit(t.QueryLexer.TERM)),e.ignore(),e.more())return t.QueryLexer.lexText},t.QueryLexer.lexEditDistance=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.EDIT_DISTANCE),t.QueryLexer.lexText},t.QueryLexer.lexBoost=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.BOOST),t.QueryLexer.lexText},t.QueryLexer.lexEOS=function(e){e.width()>0&&e.emit(t.QueryLexer.TERM)},t.QueryLexer.termSeparator=t.tokenizer.separator,t.QueryLexer.lexText=function(e){for(;;){var n=e.next();if(n==t.QueryLexer.EOS)return t.QueryLexer.lexEOS;if(n.charCodeAt(0)==92){e.escapeCharacter();continue}if(n==":")return t.QueryLexer.lexField;if(n=="~")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexEditDistance;if(n=="^")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexBoost;if(n=="+"&&e.width()===1||n=="-"&&e.width()===1)return e.emit(t.QueryLexer.PRESENCE),t.QueryLexer.lexText;if(n.match(t.QueryLexer.termSeparator))return t.QueryLexer.lexTerm}},t.QueryParser=function(e,n){this.lexer=new t.QueryLexer(e),this.query=n,this.currentClause={},this.lexemeIdx=0},t.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var e=t.QueryParser.parseClause;e;)e=e(this);return this.query},t.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},t.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},t.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},t.QueryParser.parseClause=function(e){var n=e.peekLexeme();if(n!=null)switch(n.type){case t.QueryLexer.PRESENCE:return t.QueryParser.parsePresence;case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var r="expected either a field or a term, found "+n.type;throw n.str.length>=1&&(r+=" with value '"+n.str+"'"),new t.QueryParseError(r,n.start,n.end)}},t.QueryParser.parsePresence=function(e){var n=e.consumeLexeme();if(n!=null){switch(n.str){case"-":e.currentClause.presence=t.Query.presence.PROHIBITED;break;case"+":e.currentClause.presence=t.Query.presence.REQUIRED;break;default:var r="unrecognised presence operator'"+n.str+"'";throw new t.QueryParseError(r,n.start,n.end)}var i=e.peekLexeme();if(i==null){var r="expecting term or field, found nothing";throw new t.QueryParseError(r,n.start,n.end)}switch(i.type){case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var r="expecting term or field, found '"+i.type+"'";throw new t.QueryParseError(r,i.start,i.end)}}},t.QueryParser.parseField=function(e){var n=e.consumeLexeme();if(n!=null){if(e.query.allFields.indexOf(n.str)==-1){var r=e.query.allFields.map(function(o){return"'"+o+"'"}).join(", "),i="unrecognised field '"+n.str+"', possible fields: "+r;throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.fields=[n.str];var s=e.peekLexeme();if(s==null){var i="expecting term, found nothing";throw new t.QueryParseError(i,n.start,n.end)}switch(s.type){case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var i="expecting term, found '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseTerm=function(e){var n=e.consumeLexeme();if(n!=null){e.currentClause.term=n.str.toLowerCase(),n.str.indexOf("*")!=-1&&(e.currentClause.usePipeline=!1);var r=e.peekLexeme();if(r==null){e.nextClause();return}switch(r.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+r.type+"'";throw new t.QueryParseError(i,r.start,r.end)}}},t.QueryParser.parseEditDistance=function(e){var n=e.consumeLexeme();if(n!=null){var r=parseInt(n.str,10);if(isNaN(r)){var i="edit distance must be numeric";throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.editDistance=r;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseBoost=function(e){var n=e.consumeLexeme();if(n!=null){var r=parseInt(n.str,10);if(isNaN(r)){var i="boost must be numeric";throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.boost=r;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},function(e,n){typeof define=="function"&&define.amd?define(n):typeof de=="object"?he.exports=n():e.lunr=n()}(this,function(){return t})})()});window.translations||={copy:"Copy",copied:"Copied!",normally_hidden:"This member is normally hidden due to your filter settings.",hierarchy_expand:"Expand",hierarchy_collapse:"Collapse",folder:"Folder",kind_1:"Project",kind_2:"Module",kind_4:"Namespace",kind_8:"Enumeration",kind_16:"Enumeration Member",kind_32:"Variable",kind_64:"Function",kind_128:"Class",kind_256:"Interface",kind_512:"Constructor",kind_1024:"Property",kind_2048:"Method",kind_4096:"Call Signature",kind_8192:"Index Signature",kind_16384:"Constructor Signature",kind_32768:"Parameter",kind_65536:"Type Literal",kind_131072:"Type Parameter",kind_262144:"Accessor",kind_524288:"Get Signature",kind_1048576:"Set Signature",kind_2097152:"Type Alias",kind_4194304:"Reference",kind_8388608:"Document"};var ce=[];function G(t,e){ce.push({selector:e,constructor:t})}var J=class{alwaysVisibleMember=null;constructor(){this.createComponents(document.body),this.ensureFocusedElementVisible(),this.listenForCodeCopies(),window.addEventListener("hashchange",()=>this.ensureFocusedElementVisible()),document.body.style.display||(this.ensureFocusedElementVisible(),this.updateIndexVisibility(),this.scrollToHash())}createComponents(e){ce.forEach(n=>{e.querySelectorAll(n.selector).forEach(r=>{r.dataset.hasInstance||(new n.constructor({el:r,app:this}),r.dataset.hasInstance=String(!0))})})}filterChanged(){this.ensureFocusedElementVisible()}showPage(){document.body.style.display&&(document.body.style.removeProperty("display"),this.ensureFocusedElementVisible(),this.updateIndexVisibility(),this.scrollToHash())}scrollToHash(){if(location.hash){let e=document.getElementById(location.hash.substring(1));if(!e)return;e.scrollIntoView({behavior:"instant",block:"start"})}}ensureActivePageVisible(){let e=document.querySelector(".tsd-navigation .current"),n=e?.parentElement;for(;n&&!n.classList.contains(".tsd-navigation");)n instanceof HTMLDetailsElement&&(n.open=!0),n=n.parentElement;if(e&&!ze(e)){let r=e.getBoundingClientRect().top-document.documentElement.clientHeight/4;document.querySelector(".site-menu").scrollTop=r,document.querySelector(".col-sidebar").scrollTop=r}}updateIndexVisibility(){let e=document.querySelector(".tsd-index-content"),n=e?.open;e&&(e.open=!0),document.querySelectorAll(".tsd-index-section").forEach(r=>{r.style.display="block";let i=Array.from(r.querySelectorAll(".tsd-index-link")).every(s=>s.offsetParent==null);r.style.display=i?"none":"block"}),e&&(e.open=n)}ensureFocusedElementVisible(){if(this.alwaysVisibleMember&&(this.alwaysVisibleMember.classList.remove("always-visible"),this.alwaysVisibleMember.firstElementChild.remove(),this.alwaysVisibleMember=null),!location.hash)return;let e=document.getElementById(location.hash.substring(1));if(!e)return;let n=e.parentElement;for(;n&&n.tagName!=="SECTION";)n=n.parentElement;if(!n)return;let r=n.offsetParent==null,i=n;for(;i!==document.body;)i instanceof HTMLDetailsElement&&(i.open=!0),i=i.parentElement;if(n.offsetParent==null){this.alwaysVisibleMember=n,n.classList.add("always-visible");let s=document.createElement("p");s.classList.add("warning"),s.textContent=window.translations.normally_hidden,n.prepend(s)}r&&e.scrollIntoView()}listenForCodeCopies(){document.querySelectorAll("pre > button").forEach(e=>{let n;e.addEventListener("click",()=>{e.previousElementSibling instanceof HTMLElement&&navigator.clipboard.writeText(e.previousElementSibling.innerText.trim()),e.textContent=window.translations.copied,e.classList.add("visible"),clearTimeout(n),n=setTimeout(()=>{e.classList.remove("visible"),n=setTimeout(()=>{e.textContent=window.translations.copy},100)},1e3)})})}};function ze(t){let e=t.getBoundingClientRect(),n=Math.max(document.documentElement.clientHeight,window.innerHeight);return!(e.bottom<0||e.top-n>=0)}var ue=(t,e=100)=>{let n;return()=>{clearTimeout(n),n=setTimeout(()=>t(),e)}};var ge=$e(pe(),1);async function A(t){let e=Uint8Array.from(atob(t),s=>s.charCodeAt(0)),r=new Blob([e]).stream().pipeThrough(new DecompressionStream("deflate")),i=await new Response(r).text();return JSON.parse(i)}async function fe(t,e){if(!window.searchData)return;let n=await A(window.searchData);t.data=n,t.index=ge.Index.load(n.index),e.classList.remove("loading"),e.classList.add("ready")}function ve(){let t=document.getElementById("tsd-search");if(!t)return;let e={base:document.documentElement.dataset.base+"/"},n=document.getElementById("tsd-search-script");t.classList.add("loading"),n&&(n.addEventListener("error",()=>{t.classList.remove("loading"),t.classList.add("failure")}),n.addEventListener("load",()=>{fe(e,t)}),fe(e,t));let r=document.querySelector("#tsd-search input"),i=document.querySelector("#tsd-search .results");if(!r||!i)throw new Error("The input field or the result list wrapper was not found");i.addEventListener("mouseup",()=>{re(t)}),r.addEventListener("focus",()=>t.classList.add("has-focus")),We(t,i,r,e)}function We(t,e,n,r){n.addEventListener("input",ue(()=>{Ue(t,e,n,r)},200)),n.addEventListener("keydown",i=>{i.key=="Enter"?Je(e,t):i.key=="ArrowUp"?(me(e,n,-1),i.preventDefault()):i.key==="ArrowDown"&&(me(e,n,1),i.preventDefault())}),document.body.addEventListener("keypress",i=>{i.altKey||i.ctrlKey||i.metaKey||!n.matches(":focus")&&i.key==="/"&&(i.preventDefault(),n.focus())}),document.body.addEventListener("keyup",i=>{t.classList.contains("has-focus")&&(i.key==="Escape"||!e.matches(":focus-within")&&!n.matches(":focus"))&&(n.blur(),re(t))})}function re(t){t.classList.remove("has-focus")}function Ue(t,e,n,r){if(!r.index||!r.data)return;e.textContent="";let i=n.value.trim(),s;if(i){let o=i.split(" ").map(a=>a.length?`*${a}*`:"").join(" ");s=r.index.search(o)}else s=[];for(let o=0;oa.score-o.score);for(let o=0,a=Math.min(10,s.length);o`,d=ye(l.name,i);globalThis.DEBUG_SEARCH_WEIGHTS&&(d+=` (score: ${s[o].score.toFixed(2)})`),l.parent&&(d=` + ${ye(l.parent,i)}.${d}`);let m=document.createElement("li");m.classList.value=l.classes??"";let p=document.createElement("a");p.href=r.base+l.url,p.innerHTML=c+d,m.append(p),p.addEventListener("focus",()=>{e.querySelector(".current")?.classList.remove("current"),m.classList.add("current")}),e.appendChild(m)}}function me(t,e,n){let r=t.querySelector(".current");if(!r)r=t.querySelector(n==1?"li:first-child":"li:last-child"),r&&r.classList.add("current");else{let i=r;if(n===1)do i=i.nextElementSibling??void 0;while(i instanceof HTMLElement&&i.offsetParent==null);else do i=i.previousElementSibling??void 0;while(i instanceof HTMLElement&&i.offsetParent==null);i?(r.classList.remove("current"),i.classList.add("current")):n===-1&&(r.classList.remove("current"),e.focus())}}function Je(t,e){let n=t.querySelector(".current");if(n||(n=t.querySelector("li:first-child")),n){let r=n.querySelector("a");r&&(window.location.href=r.href),re(e)}}function ye(t,e){if(e==="")return t;let n=t.toLocaleLowerCase(),r=e.toLocaleLowerCase(),i=[],s=0,o=n.indexOf(r);for(;o!=-1;)i.push(ne(t.substring(s,o)),`${ne(t.substring(o,o+r.length))}`),s=o+r.length,o=n.indexOf(r,s);return i.push(ne(t.substring(s))),i.join("")}var Ge={"&":"&","<":"<",">":">","'":"'",'"':"""};function ne(t){return t.replace(/[&<>"'"]/g,e=>Ge[e])}var I=class{el;app;constructor(e){this.el=e.el,this.app=e.app}};var H="mousedown",Ee="mousemove",B="mouseup",X={x:0,y:0},xe=!1,ie=!1,Xe=!1,D=!1,be=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);document.documentElement.classList.add(be?"is-mobile":"not-mobile");be&&"ontouchstart"in document.documentElement&&(Xe=!0,H="touchstart",Ee="touchmove",B="touchend");document.addEventListener(H,t=>{ie=!0,D=!1;let e=H=="touchstart"?t.targetTouches[0]:t;X.y=e.pageY||0,X.x=e.pageX||0});document.addEventListener(Ee,t=>{if(ie&&!D){let e=H=="touchstart"?t.targetTouches[0]:t,n=X.x-(e.pageX||0),r=X.y-(e.pageY||0);D=Math.sqrt(n*n+r*r)>10}});document.addEventListener(B,()=>{ie=!1});document.addEventListener("click",t=>{xe&&(t.preventDefault(),t.stopImmediatePropagation(),xe=!1)});var Y=class extends I{active;className;constructor(e){super(e),this.className=this.el.dataset.toggle||"",this.el.addEventListener(B,n=>this.onPointerUp(n)),this.el.addEventListener("click",n=>n.preventDefault()),document.addEventListener(H,n=>this.onDocumentPointerDown(n)),document.addEventListener(B,n=>this.onDocumentPointerUp(n))}setActive(e){if(this.active==e)return;this.active=e,document.documentElement.classList.toggle("has-"+this.className,e),this.el.classList.toggle("active",e);let n=(this.active?"to-has-":"from-has-")+this.className;document.documentElement.classList.add(n),setTimeout(()=>document.documentElement.classList.remove(n),500)}onPointerUp(e){D||(this.setActive(!0),e.preventDefault())}onDocumentPointerDown(e){if(this.active){if(e.target.closest(".col-sidebar, .tsd-filter-group"))return;this.setActive(!1)}}onDocumentPointerUp(e){if(!D&&this.active&&e.target.closest(".col-sidebar")){let n=e.target.closest("a");if(n){let r=window.location.href;r.indexOf("#")!=-1&&(r=r.substring(0,r.indexOf("#"))),n.href.substring(0,r.length)==r&&setTimeout(()=>this.setActive(!1),250)}}}};var se;try{se=localStorage}catch{se={getItem(){return null},setItem(){}}}var C=se;var Le=document.head.appendChild(document.createElement("style"));Le.dataset.for="filters";var Z=class extends I{key;value;constructor(e){super(e),this.key=`filter-${this.el.name}`,this.value=this.el.checked,this.el.addEventListener("change",()=>{this.setLocalStorage(this.el.checked)}),this.setLocalStorage(this.fromLocalStorage()),Le.innerHTML+=`html:not(.${this.key}) .tsd-is-${this.el.name} { display: none; } +`,this.app.updateIndexVisibility()}fromLocalStorage(){let e=C.getItem(this.key);return e?e==="true":this.el.checked}setLocalStorage(e){C.setItem(this.key,e.toString()),this.value=e,this.handleValueChange()}handleValueChange(){this.el.checked=this.value,document.documentElement.classList.toggle(this.key,this.value),this.app.filterChanged(),this.app.updateIndexVisibility()}};var oe=new Map,ae=class{open;accordions=[];key;constructor(e,n){this.key=e,this.open=n}add(e){this.accordions.push(e),e.open=this.open,e.addEventListener("toggle",()=>{this.toggle(e.open)})}toggle(e){for(let n of this.accordions)n.open=e;C.setItem(this.key,e.toString())}},K=class extends I{constructor(e){super(e);let n=this.el.querySelector("summary"),r=n.querySelector("a");r&&r.addEventListener("click",()=>{location.assign(r.href)});let i=`tsd-accordion-${n.dataset.key??n.textContent.trim().replace(/\s+/g,"-").toLowerCase()}`,s;if(oe.has(i))s=oe.get(i);else{let o=C.getItem(i),a=o?o==="true":this.el.open;s=new ae(i,a),oe.set(i,s)}s.add(this.el)}};function Se(t){let e=C.getItem("tsd-theme")||"os";t.value=e,we(e),t.addEventListener("change",()=>{C.setItem("tsd-theme",t.value),we(t.value)})}function we(t){document.documentElement.dataset.theme=t}var ee;function Ce(){let t=document.getElementById("tsd-nav-script");t&&(t.addEventListener("load",Te),Te())}async function Te(){let t=document.getElementById("tsd-nav-container");if(!t||!window.navigationData)return;let e=await A(window.navigationData);ee=document.documentElement.dataset.base,ee.endsWith("/")||(ee+="/"),t.innerHTML="";for(let n of e)Ie(n,t,[]);window.app.createComponents(t),window.app.showPage(),window.app.ensureActivePageVisible()}function Ie(t,e,n){let r=e.appendChild(document.createElement("li"));if(t.children){let i=[...n,t.text],s=r.appendChild(document.createElement("details"));s.className=t.class?`${t.class} tsd-accordion`:"tsd-accordion";let o=s.appendChild(document.createElement("summary"));o.className="tsd-accordion-summary",o.dataset.key=i.join("$"),o.innerHTML='',ke(t,o);let a=s.appendChild(document.createElement("div"));a.className="tsd-accordion-details";let l=a.appendChild(document.createElement("ul"));l.className="tsd-nested-navigation";for(let c of t.children)Ie(c,l,i)}else ke(t,r,t.class)}function ke(t,e,n){if(t.path){let r=e.appendChild(document.createElement("a"));if(r.href=ee+t.path,n&&(r.className=n),location.pathname===r.pathname&&!r.href.includes("#")&&r.classList.add("current"),t.kind){let i=window.translations[`kind_${t.kind}`].replaceAll('"',""");r.innerHTML=``}r.appendChild(document.createElement("span")).textContent=t.text}else{let r=e.appendChild(document.createElement("span")),i=window.translations.folder.replaceAll('"',""");r.innerHTML=``,r.appendChild(document.createElement("span")).textContent=t.text}}var te=document.documentElement.dataset.base;te.endsWith("/")||(te+="/");function Pe(){document.querySelector(".tsd-full-hierarchy")?Ye():document.querySelector(".tsd-hierarchy")&&Ze()}function Ye(){document.addEventListener("click",r=>{let i=r.target;for(;i.parentElement&&i.parentElement.tagName!="LI";)i=i.parentElement;i.dataset.dropdown&&(i.dataset.dropdown=String(i.dataset.dropdown!=="true"))});let t=new Map,e=new Set;for(let r of document.querySelectorAll(".tsd-full-hierarchy [data-refl]")){let i=r.querySelector("ul");t.has(r.dataset.refl)?e.add(r.dataset.refl):i&&t.set(r.dataset.refl,i)}for(let r of e)n(r);function n(r){let i=t.get(r).cloneNode(!0);i.querySelectorAll("[id]").forEach(s=>{s.removeAttribute("id")}),i.querySelectorAll("[data-dropdown]").forEach(s=>{s.dataset.dropdown="false"});for(let s of document.querySelectorAll(`[data-refl="${r}"]`)){let o=tt(),a=s.querySelector("ul");s.insertBefore(o,a),o.dataset.dropdown=String(!!a),a||s.appendChild(i.cloneNode(!0))}}}function Ze(){let t=document.getElementById("tsd-hierarchy-script");t&&(t.addEventListener("load",Qe),Qe())}async function Qe(){let t=document.querySelector(".tsd-panel.tsd-hierarchy:has(h4 a)");if(!t||!window.hierarchyData)return;let e=+t.dataset.refl,n=await A(window.hierarchyData),r=t.querySelector("ul"),i=document.createElement("ul");if(i.classList.add("tsd-hierarchy"),Ke(i,n,e),r.querySelectorAll("li").length==i.querySelectorAll("li").length)return;let s=document.createElement("span");s.classList.add("tsd-hierarchy-toggle"),s.textContent=window.translations.hierarchy_expand,t.querySelector("h4 a")?.insertAdjacentElement("afterend",s),s.insertAdjacentText("beforebegin",", "),s.addEventListener("click",()=>{s.textContent===window.translations.hierarchy_expand?(r.insertAdjacentElement("afterend",i),r.remove(),s.textContent=window.translations.hierarchy_collapse):(i.insertAdjacentElement("afterend",r),i.remove(),s.textContent=window.translations.hierarchy_expand)})}function Ke(t,e,n){let r=e.roots.filter(i=>et(e,i,n));for(let i of r)t.appendChild(_e(e,i,n))}function _e(t,e,n,r=new Set){if(r.has(e))return;r.add(e);let i=t.reflections[e],s=document.createElement("li");if(s.classList.add("tsd-hierarchy-item"),e===n){let o=s.appendChild(document.createElement("span"));o.textContent=i.name,o.classList.add("tsd-hierarchy-target")}else{for(let a of i.uniqueNameParents||[]){let l=t.reflections[a],c=s.appendChild(document.createElement("a"));c.textContent=l.name,c.href=te+l.url,c.className=l.class+" tsd-signature-type",s.append(document.createTextNode("."))}let o=s.appendChild(document.createElement("a"));o.textContent=t.reflections[e].name,o.href=te+i.url,o.className=i.class+" tsd-signature-type"}if(i.children){let o=s.appendChild(document.createElement("ul"));o.classList.add("tsd-hierarchy");for(let a of i.children){let l=_e(t,a,n,r);l&&o.appendChild(l)}}return r.delete(e),s}function et(t,e,n){if(e===n)return!0;let r=new Set,i=[t.reflections[e]];for(;i.length;){let s=i.pop();if(!r.has(s)){r.add(s);for(let o of s.children||[]){if(o===n)return!0;i.push(t.reflections[o])}}}return!1}function tt(){let t=document.createElementNS("http://www.w3.org/2000/svg","svg");return t.setAttribute("width","20"),t.setAttribute("height","20"),t.setAttribute("viewBox","0 0 24 24"),t.setAttribute("fill","none"),t.innerHTML='',t}G(Y,"a[data-toggle]");G(K,".tsd-accordion");G(Z,".tsd-filter-item input[type=checkbox]");var Oe=document.getElementById("tsd-theme");Oe&&Se(Oe);var nt=new J;Object.defineProperty(window,"app",{value:nt});ve();Ce();Pe();})(); +/*! Bundled license information: + +lunr/lunr.js: + (** + * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 2.3.9 + * Copyright (C) 2020 Oliver Nightingale + * @license MIT + *) + (*! + * lunr.utils + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Set + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.tokenizer + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Pipeline + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Vector + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.stemmer + * Copyright (C) 2020 Oliver Nightingale + * Includes code from - http://tartarus.org/~martin/PorterStemmer/js.txt + *) + (*! + * lunr.stopWordFilter + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.trimmer + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.TokenSet + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Index + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Builder + * Copyright (C) 2020 Oliver Nightingale + *) +*/ diff --git a/deps/cloudxr/docs/assets/navigation.js b/deps/cloudxr/docs/assets/navigation.js new file mode 100644 index 0000000..e252c89 --- /dev/null +++ b/deps/cloudxr/docs/assets/navigation.js @@ -0,0 +1 @@ +window.navigationData = "eJydlG9LwzAQxr9KyOv5B6dj7N1QkMF00zoURI6sva3FNinpdVPE7y7NYtd2nW1923vu9zxJ7vr6xQk/iI/4bIN6E+CW93gsyOcj7ik3jVBScvZbO/UpCnmPvwfS46NhfzgcnA+/eznjFokCuWYOCU3o1aGsBKykltjjrh+EnkbJR6853BFRHCK7DgOUxE7YMy5vp20sdo2wa4QTMI1NR6m6PaJw6T9uprHe7a3oh0kSKMnG80mdiy3DeD5pSm4jO0hpXIeyyUy9iXWPtFX63bzpMd5e047p+GrLrkWCSe1BfbUFU+0wGpNECJdNxZI9YYiqNmYBbOQwFUvYybsMoZ3wRcwc1BvUbKW0dUUtKFCyq7lFwiKGHRJWSkMJ2XSlBbFcMyXZHZJgDykmxPpd85RgoCRkMDAw6Dclqb4Ee9IqXYaY+EplvK5hqh+gwju2WG+V24mQ9GedeV5svOPmg7TKVlxUlXovj3tSpLw0xGxDTaHcf3FsIM2PwSFBuCehTKM9p6iphDr8A91giGtBxe0MJKFeCRcPkLm4kvVqcAiexdkot8JaaQtoG9pfGFejIDyArVLpmgg5qyQsEweX2cD9API9f+w=" \ No newline at end of file diff --git a/deps/cloudxr/docs/assets/search.js b/deps/cloudxr/docs/assets/search.js new file mode 100644 index 0000000..ff66d9b --- /dev/null +++ b/deps/cloudxr/docs/assets/search.js @@ -0,0 +1 @@ +window.searchData = "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"; \ No newline at end of file diff --git a/deps/cloudxr/docs/assets/style.css b/deps/cloudxr/docs/assets/style.css new file mode 100644 index 0000000..2ab8b83 --- /dev/null +++ b/deps/cloudxr/docs/assets/style.css @@ -0,0 +1,1611 @@ +@layer typedoc { + :root { + /* Light */ + --light-color-background: #f2f4f8; + --light-color-background-secondary: #eff0f1; + --light-color-warning-text: #222; + --light-color-background-warning: #e6e600; + --light-color-accent: #c5c7c9; + --light-color-active-menu-item: var(--light-color-accent); + --light-color-text: #222; + --light-color-text-aside: #6e6e6e; + + --light-color-icon-background: var(--light-color-background); + --light-color-icon-text: var(--light-color-text); + + --light-color-comment-tag-text: var(--light-color-text); + --light-color-comment-tag: var(--light-color-background); + + --light-color-link: #1f70c2; + --light-color-focus-outline: #3584e4; + + --light-color-ts-keyword: #056bd6; + --light-color-ts-project: #b111c9; + --light-color-ts-module: var(--light-color-ts-project); + --light-color-ts-namespace: var(--light-color-ts-project); + --light-color-ts-enum: #7e6f15; + --light-color-ts-enum-member: var(--light-color-ts-enum); + --light-color-ts-variable: #4760ec; + --light-color-ts-function: #572be7; + --light-color-ts-class: #1f70c2; + --light-color-ts-interface: #108024; + --light-color-ts-constructor: var(--light-color-ts-class); + --light-color-ts-property: #9f5f30; + --light-color-ts-method: #be3989; + --light-color-ts-reference: #ff4d82; + --light-color-ts-call-signature: var(--light-color-ts-method); + --light-color-ts-index-signature: var(--light-color-ts-property); + --light-color-ts-constructor-signature: var( + --light-color-ts-constructor + ); + --light-color-ts-parameter: var(--light-color-ts-variable); + /* type literal not included as links will never be generated to it */ + --light-color-ts-type-parameter: #a55c0e; + --light-color-ts-accessor: #c73c3c; + --light-color-ts-get-signature: var(--light-color-ts-accessor); + --light-color-ts-set-signature: var(--light-color-ts-accessor); + --light-color-ts-type-alias: #d51270; + /* reference not included as links will be colored with the kind that it points to */ + --light-color-document: #000000; + + --light-color-alert-note: #0969d9; + --light-color-alert-tip: #1a7f37; + --light-color-alert-important: #8250df; + --light-color-alert-warning: #9a6700; + --light-color-alert-caution: #cf222e; + + --light-external-icon: url("data:image/svg+xml;utf8,"); + --light-color-scheme: light; + + /* Dark */ + --dark-color-background: #2b2e33; + --dark-color-background-secondary: #1e2024; + --dark-color-background-warning: #bebe00; + --dark-color-warning-text: #222; + --dark-color-accent: #9096a2; + --dark-color-active-menu-item: #5d5d6a; + --dark-color-text: #f5f5f5; + --dark-color-text-aside: #dddddd; + + --dark-color-icon-background: var(--dark-color-background-secondary); + --dark-color-icon-text: var(--dark-color-text); + + --dark-color-comment-tag-text: var(--dark-color-text); + --dark-color-comment-tag: var(--dark-color-background); + + --dark-color-link: #00aff4; + --dark-color-focus-outline: #4c97f2; + + --dark-color-ts-keyword: #3399ff; + --dark-color-ts-project: #e358ff; + --dark-color-ts-module: var(--dark-color-ts-project); + --dark-color-ts-namespace: var(--dark-color-ts-project); + --dark-color-ts-enum: #f4d93e; + --dark-color-ts-enum-member: var(--dark-color-ts-enum); + --dark-color-ts-variable: #798dff; + --dark-color-ts-function: #a280ff; + --dark-color-ts-class: #8ac4ff; + --dark-color-ts-interface: #6cff87; + --dark-color-ts-constructor: var(--dark-color-ts-class); + --dark-color-ts-property: #ff984d; + --dark-color-ts-method: #ff4db8; + --dark-color-ts-reference: #ff4d82; + --dark-color-ts-call-signature: var(--dark-color-ts-method); + --dark-color-ts-index-signature: var(--dark-color-ts-property); + --dark-color-ts-constructor-signature: var(--dark-color-ts-constructor); + --dark-color-ts-parameter: var(--dark-color-ts-variable); + /* type literal not included as links will never be generated to it */ + --dark-color-ts-type-parameter: #e07d13; + --dark-color-ts-accessor: #ff6060; + --dark-color-ts-get-signature: var(--dark-color-ts-accessor); + --dark-color-ts-set-signature: var(--dark-color-ts-accessor); + --dark-color-ts-type-alias: #ff6492; + /* reference not included as links will be colored with the kind that it points to */ + --dark-color-document: #ffffff; + + --dark-color-alert-note: #0969d9; + --dark-color-alert-tip: #1a7f37; + --dark-color-alert-important: #8250df; + --dark-color-alert-warning: #9a6700; + --dark-color-alert-caution: #cf222e; + + --dark-external-icon: url("data:image/svg+xml;utf8,"); + --dark-color-scheme: dark; + } + + @media (prefers-color-scheme: light) { + :root { + --color-background: var(--light-color-background); + --color-background-secondary: var( + --light-color-background-secondary + ); + --color-background-warning: var(--light-color-background-warning); + --color-warning-text: var(--light-color-warning-text); + --color-accent: var(--light-color-accent); + --color-active-menu-item: var(--light-color-active-menu-item); + --color-text: var(--light-color-text); + --color-text-aside: var(--light-color-text-aside); + + --color-icon-background: var(--light-color-icon-background); + --color-icon-text: var(--light-color-icon-text); + + --color-comment-tag-text: var(--light-color-text); + --color-comment-tag: var(--light-color-background); + + --color-link: var(--light-color-link); + --color-focus-outline: var(--light-color-focus-outline); + + --color-ts-keyword: var(--light-color-ts-keyword); + --color-ts-project: var(--light-color-ts-project); + --color-ts-module: var(--light-color-ts-module); + --color-ts-namespace: var(--light-color-ts-namespace); + --color-ts-enum: var(--light-color-ts-enum); + --color-ts-enum-member: var(--light-color-ts-enum-member); + --color-ts-variable: var(--light-color-ts-variable); + --color-ts-function: var(--light-color-ts-function); + --color-ts-class: var(--light-color-ts-class); + --color-ts-interface: var(--light-color-ts-interface); + --color-ts-constructor: var(--light-color-ts-constructor); + --color-ts-property: var(--light-color-ts-property); + --color-ts-method: var(--light-color-ts-method); + --color-ts-reference: var(--light-color-ts-reference); + --color-ts-call-signature: var(--light-color-ts-call-signature); + --color-ts-index-signature: var(--light-color-ts-index-signature); + --color-ts-constructor-signature: var( + --light-color-ts-constructor-signature + ); + --color-ts-parameter: var(--light-color-ts-parameter); + --color-ts-type-parameter: var(--light-color-ts-type-parameter); + --color-ts-accessor: var(--light-color-ts-accessor); + --color-ts-get-signature: var(--light-color-ts-get-signature); + --color-ts-set-signature: var(--light-color-ts-set-signature); + --color-ts-type-alias: var(--light-color-ts-type-alias); + --color-document: var(--light-color-document); + + --color-alert-note: var(--light-color-alert-note); + --color-alert-tip: var(--light-color-alert-tip); + --color-alert-important: var(--light-color-alert-important); + --color-alert-warning: var(--light-color-alert-warning); + --color-alert-caution: var(--light-color-alert-caution); + + --external-icon: var(--light-external-icon); + --color-scheme: var(--light-color-scheme); + } + } + + @media (prefers-color-scheme: dark) { + :root { + --color-background: var(--dark-color-background); + --color-background-secondary: var( + --dark-color-background-secondary + ); + --color-background-warning: var(--dark-color-background-warning); + --color-warning-text: var(--dark-color-warning-text); + --color-accent: var(--dark-color-accent); + --color-active-menu-item: var(--dark-color-active-menu-item); + --color-text: var(--dark-color-text); + --color-text-aside: var(--dark-color-text-aside); + + --color-icon-background: var(--dark-color-icon-background); + --color-icon-text: var(--dark-color-icon-text); + + --color-comment-tag-text: var(--dark-color-text); + --color-comment-tag: var(--dark-color-background); + + --color-link: var(--dark-color-link); + --color-focus-outline: var(--dark-color-focus-outline); + + --color-ts-keyword: var(--dark-color-ts-keyword); + --color-ts-project: var(--dark-color-ts-project); + --color-ts-module: var(--dark-color-ts-module); + --color-ts-namespace: var(--dark-color-ts-namespace); + --color-ts-enum: var(--dark-color-ts-enum); + --color-ts-enum-member: var(--dark-color-ts-enum-member); + --color-ts-variable: var(--dark-color-ts-variable); + --color-ts-function: var(--dark-color-ts-function); + --color-ts-class: var(--dark-color-ts-class); + --color-ts-interface: var(--dark-color-ts-interface); + --color-ts-constructor: var(--dark-color-ts-constructor); + --color-ts-property: var(--dark-color-ts-property); + --color-ts-method: var(--dark-color-ts-method); + --color-ts-reference: var(--dark-color-ts-reference); + --color-ts-call-signature: var(--dark-color-ts-call-signature); + --color-ts-index-signature: var(--dark-color-ts-index-signature); + --color-ts-constructor-signature: var( + --dark-color-ts-constructor-signature + ); + --color-ts-parameter: var(--dark-color-ts-parameter); + --color-ts-type-parameter: var(--dark-color-ts-type-parameter); + --color-ts-accessor: var(--dark-color-ts-accessor); + --color-ts-get-signature: var(--dark-color-ts-get-signature); + --color-ts-set-signature: var(--dark-color-ts-set-signature); + --color-ts-type-alias: var(--dark-color-ts-type-alias); + --color-document: var(--dark-color-document); + + --color-alert-note: var(--dark-color-alert-note); + --color-alert-tip: var(--dark-color-alert-tip); + --color-alert-important: var(--dark-color-alert-important); + --color-alert-warning: var(--dark-color-alert-warning); + --color-alert-caution: var(--dark-color-alert-caution); + + --external-icon: var(--dark-external-icon); + --color-scheme: var(--dark-color-scheme); + } + } + + html { + color-scheme: var(--color-scheme); + } + + body { + margin: 0; + } + + :root[data-theme="light"] { + --color-background: var(--light-color-background); + --color-background-secondary: var(--light-color-background-secondary); + --color-background-warning: var(--light-color-background-warning); + --color-warning-text: var(--light-color-warning-text); + --color-icon-background: var(--light-color-icon-background); + --color-accent: var(--light-color-accent); + --color-active-menu-item: var(--light-color-active-menu-item); + --color-text: var(--light-color-text); + --color-text-aside: var(--light-color-text-aside); + --color-icon-text: var(--light-color-icon-text); + + --color-comment-tag-text: var(--light-color-text); + --color-comment-tag: var(--light-color-background); + + --color-link: var(--light-color-link); + --color-focus-outline: var(--light-color-focus-outline); + + --color-ts-keyword: var(--light-color-ts-keyword); + --color-ts-project: var(--light-color-ts-project); + --color-ts-module: var(--light-color-ts-module); + --color-ts-namespace: var(--light-color-ts-namespace); + --color-ts-enum: var(--light-color-ts-enum); + --color-ts-enum-member: var(--light-color-ts-enum-member); + --color-ts-variable: var(--light-color-ts-variable); + --color-ts-function: var(--light-color-ts-function); + --color-ts-class: var(--light-color-ts-class); + --color-ts-interface: var(--light-color-ts-interface); + --color-ts-constructor: var(--light-color-ts-constructor); + --color-ts-property: var(--light-color-ts-property); + --color-ts-method: var(--light-color-ts-method); + --color-ts-reference: var(--light-color-ts-reference); + --color-ts-call-signature: var(--light-color-ts-call-signature); + --color-ts-index-signature: var(--light-color-ts-index-signature); + --color-ts-constructor-signature: var( + --light-color-ts-constructor-signature + ); + --color-ts-parameter: var(--light-color-ts-parameter); + --color-ts-type-parameter: var(--light-color-ts-type-parameter); + --color-ts-accessor: var(--light-color-ts-accessor); + --color-ts-get-signature: var(--light-color-ts-get-signature); + --color-ts-set-signature: var(--light-color-ts-set-signature); + --color-ts-type-alias: var(--light-color-ts-type-alias); + --color-document: var(--light-color-document); + + --color-note: var(--light-color-note); + --color-tip: var(--light-color-tip); + --color-important: var(--light-color-important); + --color-warning: var(--light-color-warning); + --color-caution: var(--light-color-caution); + + --external-icon: var(--light-external-icon); + --color-scheme: var(--light-color-scheme); + } + + :root[data-theme="dark"] { + --color-background: var(--dark-color-background); + --color-background-secondary: var(--dark-color-background-secondary); + --color-background-warning: var(--dark-color-background-warning); + --color-warning-text: var(--dark-color-warning-text); + --color-icon-background: var(--dark-color-icon-background); + --color-accent: var(--dark-color-accent); + --color-active-menu-item: var(--dark-color-active-menu-item); + --color-text: var(--dark-color-text); + --color-text-aside: var(--dark-color-text-aside); + --color-icon-text: var(--dark-color-icon-text); + + --color-comment-tag-text: var(--dark-color-text); + --color-comment-tag: var(--dark-color-background); + + --color-link: var(--dark-color-link); + --color-focus-outline: var(--dark-color-focus-outline); + + --color-ts-keyword: var(--dark-color-ts-keyword); + --color-ts-project: var(--dark-color-ts-project); + --color-ts-module: var(--dark-color-ts-module); + --color-ts-namespace: var(--dark-color-ts-namespace); + --color-ts-enum: var(--dark-color-ts-enum); + --color-ts-enum-member: var(--dark-color-ts-enum-member); + --color-ts-variable: var(--dark-color-ts-variable); + --color-ts-function: var(--dark-color-ts-function); + --color-ts-class: var(--dark-color-ts-class); + --color-ts-interface: var(--dark-color-ts-interface); + --color-ts-constructor: var(--dark-color-ts-constructor); + --color-ts-property: var(--dark-color-ts-property); + --color-ts-method: var(--dark-color-ts-method); + --color-ts-reference: var(--dark-color-ts-reference); + --color-ts-call-signature: var(--dark-color-ts-call-signature); + --color-ts-index-signature: var(--dark-color-ts-index-signature); + --color-ts-constructor-signature: var( + --dark-color-ts-constructor-signature + ); + --color-ts-parameter: var(--dark-color-ts-parameter); + --color-ts-type-parameter: var(--dark-color-ts-type-parameter); + --color-ts-accessor: var(--dark-color-ts-accessor); + --color-ts-get-signature: var(--dark-color-ts-get-signature); + --color-ts-set-signature: var(--dark-color-ts-set-signature); + --color-ts-type-alias: var(--dark-color-ts-type-alias); + --color-document: var(--dark-color-document); + + --color-note: var(--dark-color-note); + --color-tip: var(--dark-color-tip); + --color-important: var(--dark-color-important); + --color-warning: var(--dark-color-warning); + --color-caution: var(--dark-color-caution); + + --external-icon: var(--dark-external-icon); + --color-scheme: var(--dark-color-scheme); + } + + *:focus-visible, + .tsd-accordion-summary:focus-visible svg { + outline: 2px solid var(--color-focus-outline); + } + + .always-visible, + .always-visible .tsd-signatures { + display: inherit !important; + } + + h1, + h2, + h3, + h4, + h5, + h6 { + line-height: 1.2; + } + + h1 { + font-size: 1.875rem; + margin: 0.67rem 0; + } + + h2 { + font-size: 1.5rem; + margin: 0.83rem 0; + } + + h3 { + font-size: 1.25rem; + margin: 1rem 0; + } + + h4 { + font-size: 1.05rem; + margin: 1.33rem 0; + } + + h5 { + font-size: 1rem; + margin: 1.5rem 0; + } + + h6 { + font-size: 0.875rem; + margin: 2.33rem 0; + } + + dl, + menu, + ol, + ul { + margin: 1em 0; + } + + dd { + margin: 0 0 0 34px; + } + + .container { + max-width: 1700px; + padding: 0 2rem; + } + + /* Footer */ + footer { + border-top: 1px solid var(--color-accent); + padding-top: 1rem; + padding-bottom: 1rem; + max-height: 3.5rem; + } + footer > p { + margin: 0 1em; + } + + .container-main { + margin: 0 auto; + /* toolbar, footer, margin */ + min-height: calc(100vh - 41px - 56px - 4rem); + } + + @keyframes fade-in { + from { + opacity: 0; + } + to { + opacity: 1; + } + } + @keyframes fade-out { + from { + opacity: 1; + visibility: visible; + } + to { + opacity: 0; + } + } + @keyframes fade-in-delayed { + 0% { + opacity: 0; + } + 33% { + opacity: 0; + } + 100% { + opacity: 1; + } + } + @keyframes fade-out-delayed { + 0% { + opacity: 1; + visibility: visible; + } + 66% { + opacity: 0; + } + 100% { + opacity: 0; + } + } + @keyframes pop-in-from-right { + from { + transform: translate(100%, 0); + } + to { + transform: translate(0, 0); + } + } + @keyframes pop-out-to-right { + from { + transform: translate(0, 0); + visibility: visible; + } + to { + transform: translate(100%, 0); + } + } + body { + background: var(--color-background); + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", + Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji"; + font-size: 16px; + color: var(--color-text); + } + + a { + color: var(--color-link); + text-decoration: none; + } + a:hover { + text-decoration: underline; + } + a.external[target="_blank"] { + background-image: var(--external-icon); + background-position: top 3px right; + background-repeat: no-repeat; + padding-right: 13px; + } + a.tsd-anchor-link { + color: var(--color-text); + } + + code, + pre { + font-family: Menlo, Monaco, Consolas, "Courier New", monospace; + padding: 0.2em; + margin: 0; + font-size: 0.875rem; + border-radius: 0.8em; + } + + pre { + position: relative; + white-space: pre-wrap; + word-wrap: break-word; + padding: 10px; + border: 1px solid var(--color-accent); + margin-bottom: 8px; + } + pre code { + padding: 0; + font-size: 100%; + } + pre > button { + position: absolute; + top: 10px; + right: 10px; + opacity: 0; + transition: opacity 0.1s; + box-sizing: border-box; + } + pre:hover > button, + pre > button.visible { + opacity: 1; + } + + blockquote { + margin: 1em 0; + padding-left: 1em; + border-left: 4px solid gray; + } + + .tsd-typography { + line-height: 1.333em; + } + .tsd-typography ul { + list-style: square; + padding: 0 0 0 20px; + margin: 0; + } + .tsd-typography .tsd-index-panel h3, + .tsd-index-panel .tsd-typography h3, + .tsd-typography h4, + .tsd-typography h5, + .tsd-typography h6 { + font-size: 1em; + } + .tsd-typography h5, + .tsd-typography h6 { + font-weight: normal; + } + .tsd-typography p, + .tsd-typography ul, + .tsd-typography ol { + margin: 1em 0; + } + .tsd-typography table { + border-collapse: collapse; + border: none; + } + .tsd-typography td, + .tsd-typography th { + padding: 6px 13px; + border: 1px solid var(--color-accent); + } + .tsd-typography thead, + .tsd-typography tr:nth-child(even) { + background-color: var(--color-background-secondary); + } + + .tsd-alert { + padding: 8px 16px; + margin-bottom: 16px; + border-left: 0.25em solid var(--alert-color); + } + .tsd-alert blockquote > :last-child, + .tsd-alert > :last-child { + margin-bottom: 0; + } + .tsd-alert-title { + color: var(--alert-color); + display: inline-flex; + align-items: center; + } + .tsd-alert-title span { + margin-left: 4px; + } + + .tsd-alert-note { + --alert-color: var(--color-alert-note); + } + .tsd-alert-tip { + --alert-color: var(--color-alert-tip); + } + .tsd-alert-important { + --alert-color: var(--color-alert-important); + } + .tsd-alert-warning { + --alert-color: var(--color-alert-warning); + } + .tsd-alert-caution { + --alert-color: var(--color-alert-caution); + } + + .tsd-breadcrumb { + margin: 0; + padding: 0; + color: var(--color-text-aside); + } + .tsd-breadcrumb a { + color: var(--color-text-aside); + text-decoration: none; + } + .tsd-breadcrumb a:hover { + text-decoration: underline; + } + .tsd-breadcrumb li { + display: inline; + } + .tsd-breadcrumb li:after { + content: " / "; + } + + .tsd-comment-tags { + display: flex; + flex-direction: column; + } + dl.tsd-comment-tag-group { + display: flex; + align-items: center; + overflow: hidden; + margin: 0.5em 0; + } + dl.tsd-comment-tag-group dt { + display: flex; + margin-right: 0.5em; + font-size: 0.875em; + font-weight: normal; + } + dl.tsd-comment-tag-group dd { + margin: 0; + } + code.tsd-tag { + padding: 0.25em 0.4em; + border: 0.1em solid var(--color-accent); + margin-right: 0.25em; + font-size: 70%; + } + h1 code.tsd-tag:first-of-type { + margin-left: 0.25em; + } + + dl.tsd-comment-tag-group dd:before, + dl.tsd-comment-tag-group dd:after { + content: " "; + } + dl.tsd-comment-tag-group dd pre, + dl.tsd-comment-tag-group dd:after { + clear: both; + } + dl.tsd-comment-tag-group p { + margin: 0; + } + + .tsd-panel.tsd-comment .lead { + font-size: 1.1em; + line-height: 1.333em; + margin-bottom: 2em; + } + .tsd-panel.tsd-comment .lead:last-child { + margin-bottom: 0; + } + + .tsd-filter-visibility h4 { + font-size: 1rem; + padding-top: 0.75rem; + padding-bottom: 0.5rem; + margin: 0; + } + .tsd-filter-item:not(:last-child) { + margin-bottom: 0.5rem; + } + .tsd-filter-input { + display: flex; + width: -moz-fit-content; + width: fit-content; + align-items: center; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + cursor: pointer; + } + .tsd-filter-input input[type="checkbox"] { + cursor: pointer; + position: absolute; + width: 1.5em; + height: 1.5em; + opacity: 0; + } + .tsd-filter-input input[type="checkbox"]:disabled { + pointer-events: none; + } + .tsd-filter-input svg { + cursor: pointer; + width: 1.5em; + height: 1.5em; + margin-right: 0.5em; + border-radius: 0.33em; + /* Leaving this at full opacity breaks event listeners on Firefox. + Don't remove unless you know what you're doing. */ + opacity: 0.99; + } + .tsd-filter-input input[type="checkbox"]:focus-visible + svg { + outline: 2px solid var(--color-focus-outline); + } + .tsd-checkbox-background { + fill: var(--color-accent); + } + input[type="checkbox"]:checked ~ svg .tsd-checkbox-checkmark { + stroke: var(--color-text); + } + .tsd-filter-input input:disabled ~ svg > .tsd-checkbox-background { + fill: var(--color-background); + stroke: var(--color-accent); + stroke-width: 0.25rem; + } + .tsd-filter-input input:disabled ~ svg > .tsd-checkbox-checkmark { + stroke: var(--color-accent); + } + + .settings-label { + font-weight: bold; + text-transform: uppercase; + display: inline-block; + } + + .tsd-filter-visibility .settings-label { + margin: 0.75rem 0 0.5rem 0; + } + + .tsd-theme-toggle .settings-label { + margin: 0.75rem 0.75rem 0 0; + } + + .tsd-hierarchy h4 label:hover span { + text-decoration: underline; + } + + .tsd-hierarchy { + list-style: square; + margin: 0; + } + .tsd-hierarchy-target { + font-weight: bold; + } + .tsd-hierarchy-toggle { + color: var(--color-link); + cursor: pointer; + } + + .tsd-full-hierarchy:not(:last-child) { + margin-bottom: 1em; + padding-bottom: 1em; + border-bottom: 1px solid var(--color-accent); + } + .tsd-full-hierarchy, + .tsd-full-hierarchy ul { + list-style: none; + margin: 0; + padding: 0; + } + .tsd-full-hierarchy ul { + padding-left: 1.5rem; + } + .tsd-full-hierarchy a { + padding: 0.25rem 0 !important; + font-size: 1rem; + display: inline-flex; + align-items: center; + color: var(--color-text); + } + .tsd-full-hierarchy svg[data-dropdown] { + cursor: pointer; + } + .tsd-full-hierarchy svg[data-dropdown="false"] { + transform: rotate(-90deg); + } + .tsd-full-hierarchy svg[data-dropdown="false"] ~ ul { + display: none; + } + + .tsd-panel-group.tsd-index-group { + margin-bottom: 0; + } + .tsd-index-panel .tsd-index-list { + list-style: none; + line-height: 1.333em; + margin: 0; + padding: 0.25rem 0 0 0; + overflow: hidden; + display: grid; + grid-template-columns: repeat(3, 1fr); + column-gap: 1rem; + grid-template-rows: auto; + } + @media (max-width: 1024px) { + .tsd-index-panel .tsd-index-list { + grid-template-columns: repeat(2, 1fr); + } + } + @media (max-width: 768px) { + .tsd-index-panel .tsd-index-list { + grid-template-columns: repeat(1, 1fr); + } + } + .tsd-index-panel .tsd-index-list li { + -webkit-page-break-inside: avoid; + -moz-page-break-inside: avoid; + -ms-page-break-inside: avoid; + -o-page-break-inside: avoid; + page-break-inside: avoid; + } + + .tsd-flag { + display: inline-block; + padding: 0.25em 0.4em; + border-radius: 4px; + color: var(--color-comment-tag-text); + background-color: var(--color-comment-tag); + text-indent: 0; + font-size: 75%; + line-height: 1; + font-weight: normal; + } + + .tsd-anchor { + position: relative; + top: -100px; + } + + .tsd-member { + position: relative; + } + .tsd-member .tsd-anchor + h3 { + display: flex; + align-items: center; + margin-top: 0; + margin-bottom: 0; + border-bottom: none; + } + + .tsd-navigation.settings { + margin: 1rem 0; + } + .tsd-navigation > a, + .tsd-navigation .tsd-accordion-summary { + width: calc(100% - 0.25rem); + display: flex; + align-items: center; + } + .tsd-navigation a, + .tsd-navigation summary > span, + .tsd-page-navigation a { + display: flex; + width: calc(100% - 0.25rem); + align-items: center; + padding: 0.25rem; + color: var(--color-text); + text-decoration: none; + box-sizing: border-box; + } + .tsd-navigation a.current, + .tsd-page-navigation a.current { + background: var(--color-active-menu-item); + } + .tsd-navigation a:hover, + .tsd-page-navigation a:hover { + text-decoration: underline; + } + .tsd-navigation ul, + .tsd-page-navigation ul { + margin-top: 0; + margin-bottom: 0; + padding: 0; + list-style: none; + } + .tsd-navigation li, + .tsd-page-navigation li { + padding: 0; + max-width: 100%; + } + .tsd-navigation .tsd-nav-link { + display: none; + } + .tsd-nested-navigation { + margin-left: 3rem; + } + .tsd-nested-navigation > li > details { + margin-left: -1.5rem; + } + .tsd-small-nested-navigation { + margin-left: 1.5rem; + } + .tsd-small-nested-navigation > li > details { + margin-left: -1.5rem; + } + + .tsd-page-navigation-section { + margin-left: 10px; + } + .tsd-page-navigation-section > summary { + padding: 0.25rem; + } + .tsd-page-navigation-section > div { + margin-left: 20px; + } + .tsd-page-navigation ul { + padding-left: 1.75rem; + } + + #tsd-sidebar-links a { + margin-top: 0; + margin-bottom: 0.5rem; + line-height: 1.25rem; + } + #tsd-sidebar-links a:last-of-type { + margin-bottom: 0; + } + + a.tsd-index-link { + padding: 0.25rem 0 !important; + font-size: 1rem; + line-height: 1.25rem; + display: inline-flex; + align-items: center; + color: var(--color-text); + } + .tsd-accordion-summary { + list-style-type: none; /* hide marker on non-safari */ + outline: none; /* broken on safari, so just hide it */ + } + .tsd-accordion-summary::-webkit-details-marker { + display: none; /* hide marker on safari */ + } + .tsd-accordion-summary, + .tsd-accordion-summary a { + -moz-user-select: none; + -webkit-user-select: none; + -ms-user-select: none; + user-select: none; + + cursor: pointer; + } + .tsd-accordion-summary a { + width: calc(100% - 1.5rem); + } + .tsd-accordion-summary > * { + margin-top: 0; + margin-bottom: 0; + padding-top: 0; + padding-bottom: 0; + } + .tsd-accordion .tsd-accordion-summary > svg { + margin-left: 0.25rem; + vertical-align: text-top; + } + /* + * We need to be careful to target the arrow indicating whether the accordion + * is open, but not any other SVGs included in the details element. + */ + .tsd-accordion:not([open]) > .tsd-accordion-summary > svg:first-child, + .tsd-accordion:not([open]) > .tsd-accordion-summary > h1 > svg:first-child, + .tsd-accordion:not([open]) > .tsd-accordion-summary > h2 > svg:first-child, + .tsd-accordion:not([open]) > .tsd-accordion-summary > h3 > svg:first-child, + .tsd-accordion:not([open]) > .tsd-accordion-summary > h4 > svg:first-child, + .tsd-accordion:not([open]) > .tsd-accordion-summary > h5 > svg:first-child { + transform: rotate(-90deg); + } + .tsd-index-content > :not(:first-child) { + margin-top: 0.75rem; + } + .tsd-index-heading { + margin-top: 1.5rem; + margin-bottom: 0.75rem; + } + + .tsd-no-select { + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + } + .tsd-kind-icon { + margin-right: 0.5rem; + width: 1.25rem; + height: 1.25rem; + min-width: 1.25rem; + min-height: 1.25rem; + } + .tsd-signature > .tsd-kind-icon { + margin-right: 0.8rem; + } + + .tsd-panel { + margin-bottom: 2.5rem; + } + .tsd-panel.tsd-member { + margin-bottom: 4rem; + } + .tsd-panel:empty { + display: none; + } + .tsd-panel > h1, + .tsd-panel > h2, + .tsd-panel > h3 { + margin: 1.5rem -1.5rem 0.75rem -1.5rem; + padding: 0 1.5rem 0.75rem 1.5rem; + } + .tsd-panel > h1.tsd-before-signature, + .tsd-panel > h2.tsd-before-signature, + .tsd-panel > h3.tsd-before-signature { + margin-bottom: 0; + border-bottom: none; + } + + .tsd-panel-group { + margin: 2rem 0; + } + .tsd-panel-group.tsd-index-group { + margin: 2rem 0; + } + .tsd-panel-group.tsd-index-group details { + margin: 2rem 0; + } + .tsd-panel-group > .tsd-accordion-summary { + margin-bottom: 1rem; + } + + #tsd-search { + transition: background-color 0.2s; + } + #tsd-search .title { + position: relative; + z-index: 2; + } + #tsd-search .field { + position: absolute; + left: 0; + top: 0; + right: 2.5rem; + height: 100%; + } + #tsd-search .field input { + box-sizing: border-box; + position: relative; + top: -50px; + z-index: 1; + width: 100%; + padding: 0 10px; + opacity: 0; + outline: 0; + border: 0; + background: transparent; + color: var(--color-text); + } + #tsd-search .field label { + position: absolute; + overflow: hidden; + right: -40px; + } + #tsd-search .field input, + #tsd-search .title, + #tsd-toolbar-links a { + transition: opacity 0.2s; + } + #tsd-search .results { + position: absolute; + visibility: hidden; + top: 40px; + width: 100%; + margin: 0; + padding: 0; + list-style: none; + box-shadow: 0 0 4px rgba(0, 0, 0, 0.25); + } + #tsd-search .results li { + background-color: var(--color-background); + line-height: initial; + padding: 4px; + } + #tsd-search .results li:nth-child(even) { + background-color: var(--color-background-secondary); + } + #tsd-search .results li.state { + display: none; + } + #tsd-search .results li.current:not(.no-results), + #tsd-search .results li:hover:not(.no-results) { + background-color: var(--color-accent); + } + #tsd-search .results a { + display: flex; + align-items: center; + padding: 0.25rem; + box-sizing: border-box; + } + #tsd-search .results a:before { + top: 10px; + } + #tsd-search .results span.parent { + color: var(--color-text-aside); + font-weight: normal; + } + #tsd-search.has-focus { + background-color: var(--color-accent); + } + #tsd-search.has-focus .field input { + top: 0; + opacity: 1; + } + #tsd-search.has-focus .title, + #tsd-search.has-focus #tsd-toolbar-links a { + z-index: 0; + opacity: 0; + } + #tsd-search.has-focus .results { + visibility: visible; + } + #tsd-search.loading .results li.state.loading { + display: block; + } + #tsd-search.failure .results li.state.failure { + display: block; + } + + #tsd-toolbar-links { + position: absolute; + top: 0; + right: 2rem; + height: 100%; + display: flex; + align-items: center; + justify-content: flex-end; + } + #tsd-toolbar-links a { + margin-left: 1.5rem; + } + #tsd-toolbar-links a:hover { + text-decoration: underline; + } + + .tsd-signature { + margin: 0 0 1rem 0; + padding: 1rem 0.5rem; + border: 1px solid var(--color-accent); + font-family: Menlo, Monaco, Consolas, "Courier New", monospace; + font-size: 14px; + overflow-x: auto; + } + + .tsd-signature-keyword { + color: var(--color-ts-keyword); + font-weight: normal; + } + + .tsd-signature-symbol { + color: var(--color-text-aside); + font-weight: normal; + } + + .tsd-signature-type { + font-style: italic; + font-weight: normal; + } + + .tsd-signatures { + padding: 0; + margin: 0 0 1em 0; + list-style-type: none; + } + .tsd-signatures .tsd-signature { + margin: 0; + border-color: var(--color-accent); + border-width: 1px 0; + transition: background-color 0.1s; + } + .tsd-signatures .tsd-index-signature:not(:last-child) { + margin-bottom: 1em; + } + .tsd-signatures .tsd-index-signature .tsd-signature { + border-width: 1px; + } + .tsd-description .tsd-signatures .tsd-signature { + border-width: 1px; + } + + ul.tsd-parameter-list, + ul.tsd-type-parameter-list { + list-style: square; + margin: 0; + padding-left: 20px; + } + ul.tsd-parameter-list > li.tsd-parameter-signature, + ul.tsd-type-parameter-list > li.tsd-parameter-signature { + list-style: none; + margin-left: -20px; + } + ul.tsd-parameter-list h5, + ul.tsd-type-parameter-list h5 { + font-size: 16px; + margin: 1em 0 0.5em 0; + } + .tsd-sources { + margin-top: 1rem; + font-size: 0.875em; + } + .tsd-sources a { + color: var(--color-text-aside); + text-decoration: underline; + } + .tsd-sources ul { + list-style: none; + padding: 0; + } + + .tsd-page-toolbar { + position: sticky; + z-index: 1; + top: 0; + left: 0; + width: 100%; + color: var(--color-text); + background: var(--color-background-secondary); + border-bottom: 1px var(--color-accent) solid; + transition: transform 0.3s ease-in-out; + } + .tsd-page-toolbar a { + color: var(--color-text); + text-decoration: none; + } + .tsd-page-toolbar a.title { + font-weight: bold; + } + .tsd-page-toolbar a.title:hover { + text-decoration: underline; + } + .tsd-page-toolbar .tsd-toolbar-contents { + display: flex; + justify-content: space-between; + height: 2.5rem; + margin: 0 auto; + } + .tsd-page-toolbar .table-cell { + position: relative; + white-space: nowrap; + line-height: 40px; + } + .tsd-page-toolbar .table-cell:first-child { + width: 100%; + } + .tsd-page-toolbar .tsd-toolbar-icon { + box-sizing: border-box; + line-height: 0; + padding: 12px 0; + } + + .tsd-widget { + display: inline-block; + overflow: hidden; + opacity: 0.8; + height: 40px; + transition: + opacity 0.1s, + background-color 0.2s; + vertical-align: bottom; + cursor: pointer; + } + .tsd-widget:hover { + opacity: 0.9; + } + .tsd-widget.active { + opacity: 1; + background-color: var(--color-accent); + } + .tsd-widget.no-caption { + width: 40px; + } + .tsd-widget.no-caption:before { + margin: 0; + } + + .tsd-widget.options, + .tsd-widget.menu { + display: none; + } + input[type="checkbox"] + .tsd-widget:before { + background-position: -120px 0; + } + input[type="checkbox"]:checked + .tsd-widget:before { + background-position: -160px 0; + } + + img { + max-width: 100%; + } + + .tsd-member-summary-name { + display: inline-flex; + align-items: center; + padding: 0.25rem; + text-decoration: none; + } + + .tsd-anchor-icon { + display: inline-flex; + align-items: center; + margin-left: 0.5rem; + color: var(--color-text); + } + + .tsd-anchor-icon svg { + width: 1em; + height: 1em; + visibility: hidden; + } + + .tsd-member-summary-name:hover > .tsd-anchor-icon svg, + .tsd-anchor-link:hover > .tsd-anchor-icon svg { + visibility: visible; + } + + .deprecated { + text-decoration: line-through !important; + } + + .warning { + padding: 1rem; + color: var(--color-warning-text); + background: var(--color-background-warning); + } + + .tsd-kind-project { + color: var(--color-ts-project); + } + .tsd-kind-module { + color: var(--color-ts-module); + } + .tsd-kind-namespace { + color: var(--color-ts-namespace); + } + .tsd-kind-enum { + color: var(--color-ts-enum); + } + .tsd-kind-enum-member { + color: var(--color-ts-enum-member); + } + .tsd-kind-variable { + color: var(--color-ts-variable); + } + .tsd-kind-function { + color: var(--color-ts-function); + } + .tsd-kind-class { + color: var(--color-ts-class); + } + .tsd-kind-interface { + color: var(--color-ts-interface); + } + .tsd-kind-constructor { + color: var(--color-ts-constructor); + } + .tsd-kind-property { + color: var(--color-ts-property); + } + .tsd-kind-method { + color: var(--color-ts-method); + } + .tsd-kind-reference { + color: var(--color-ts-reference); + } + .tsd-kind-call-signature { + color: var(--color-ts-call-signature); + } + .tsd-kind-index-signature { + color: var(--color-ts-index-signature); + } + .tsd-kind-constructor-signature { + color: var(--color-ts-constructor-signature); + } + .tsd-kind-parameter { + color: var(--color-ts-parameter); + } + .tsd-kind-type-parameter { + color: var(--color-ts-type-parameter); + } + .tsd-kind-accessor { + color: var(--color-ts-accessor); + } + .tsd-kind-get-signature { + color: var(--color-ts-get-signature); + } + .tsd-kind-set-signature { + color: var(--color-ts-set-signature); + } + .tsd-kind-type-alias { + color: var(--color-ts-type-alias); + } + + /* if we have a kind icon, don't color the text by kind */ + .tsd-kind-icon ~ span { + color: var(--color-text); + } + + * { + scrollbar-width: thin; + scrollbar-color: var(--color-accent) var(--color-icon-background); + } + + *::-webkit-scrollbar { + width: 0.75rem; + } + + *::-webkit-scrollbar-track { + background: var(--color-icon-background); + } + + *::-webkit-scrollbar-thumb { + background-color: var(--color-accent); + border-radius: 999rem; + border: 0.25rem solid var(--color-icon-background); + } + + /* mobile */ + @media (max-width: 769px) { + .tsd-widget.options, + .tsd-widget.menu { + display: inline-block; + } + + .container-main { + display: flex; + } + html .col-content { + float: none; + max-width: 100%; + width: 100%; + } + html .col-sidebar { + position: fixed !important; + overflow-y: auto; + -webkit-overflow-scrolling: touch; + z-index: 1024; + top: 0 !important; + bottom: 0 !important; + left: auto !important; + right: 0 !important; + padding: 1.5rem 1.5rem 0 0; + width: 75vw; + visibility: hidden; + background-color: var(--color-background); + transform: translate(100%, 0); + } + html .col-sidebar > *:last-child { + padding-bottom: 20px; + } + html .overlay { + content: ""; + display: block; + position: fixed; + z-index: 1023; + top: 0; + left: 0; + right: 0; + bottom: 0; + background-color: rgba(0, 0, 0, 0.75); + visibility: hidden; + } + + .to-has-menu .overlay { + animation: fade-in 0.4s; + } + + .to-has-menu .col-sidebar { + animation: pop-in-from-right 0.4s; + } + + .from-has-menu .overlay { + animation: fade-out 0.4s; + } + + .from-has-menu .col-sidebar { + animation: pop-out-to-right 0.4s; + } + + .has-menu body { + overflow: hidden; + } + .has-menu .overlay { + visibility: visible; + } + .has-menu .col-sidebar { + visibility: visible; + transform: translate(0, 0); + display: flex; + flex-direction: column; + gap: 1.5rem; + max-height: 100vh; + padding: 1rem 2rem; + } + .has-menu .tsd-navigation { + max-height: 100%; + } + #tsd-toolbar-links { + display: none; + } + .tsd-navigation .tsd-nav-link { + display: flex; + } + } + + /* one sidebar */ + @media (min-width: 770px) { + .container-main { + display: grid; + grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); + grid-template-areas: "sidebar content"; + margin: 2rem auto; + } + + .col-sidebar { + grid-area: sidebar; + } + .col-content { + grid-area: content; + padding: 0 1rem; + } + } + @media (min-width: 770px) and (max-width: 1399px) { + .col-sidebar { + max-height: calc(100vh - 2rem - 42px); + overflow: auto; + position: sticky; + top: 42px; + padding-top: 1rem; + } + .site-menu { + margin-top: 1rem; + } + } + + /* two sidebars */ + @media (min-width: 1200px) { + .container-main { + grid-template-columns: minmax(0, 1fr) minmax(0, 2.5fr) minmax( + 0, + 20rem + ); + grid-template-areas: "sidebar content toc"; + } + + .col-sidebar { + display: contents; + } + + .page-menu { + grid-area: toc; + padding-left: 1rem; + } + .site-menu { + grid-area: sidebar; + } + + .site-menu { + margin-top: 1rem; + } + + .page-menu, + .site-menu { + max-height: calc(100vh - 2rem - 42px); + overflow: auto; + position: sticky; + top: 42px; + } + } +} diff --git a/deps/cloudxr/docs/documents/Client_Setup.html b/deps/cloudxr/docs/documents/Client_Setup.html new file mode 100644 index 0000000..05a9a03 --- /dev/null +++ b/deps/cloudxr/docs/documents/Client_Setup.html @@ -0,0 +1,247 @@ +Client Setup | CloudXR.js SDK Documentation - v6.0.0-beta

Client Setup Guide

This guide provides configuration examples for CloudXR.js client devices, including browser setup, web server hosting options, and connection modes. These examples demonstrate common deployment scenarios you may encounter.

+

CloudXR.js client applications can be hosted using either HTTP or HTTPS protocols. We provide examples for both modes to help you choose the right approach for your deployment.

+

This example demonstrates the simplest configuration for local development and testing.

+

Example command:

+
npm run dev-server
+
+ +

Access URLs:

+
    +
  • Local: http://localhost:8080/
  • +
  • Network: http://<server-ip>:8080/
  • +
+

Characteristics:

+
    +
  • Simplified setup with minimal configuration
  • +
  • Supports connections to both ws:// (direct) and wss:// (proxied) CloudXR Runtime endpoints
  • +
  • Requires browser security flags for WebXR functionality (see Browser Configuration)
  • +
  • Recommended for: Local development, trusted network environments
  • +
+

This example demonstrates HTTPS hosting, which is used for both development with WebXR devices and production deployments. It provides encrypted client connections and is required for secure WebSocket connections.

+

Example command:

+
npm run dev-server:https
+
+ +

Access URLs:

+
    +
  • Local: https://localhost:8080/
  • +
  • Network: https://<server-ip>:8080/
  • +
+

Characteristics:

+
    +
  • Automatically generates self-signed SSL certificates (for development) or custom certificates (for production)
  • +
  • Requires wss:// (secure WebSocket) connection to CloudXR Runtime
  • +
  • Browsers enforce mixed content policy, blocking ws:// connections from HTTPS pages
  • +
  • Requires certificate trust configuration in client browser
  • +
  • Recommended for: WebXR device testing, production deployments, remote access, security-sensitive environments
  • +
+

The following table shows example connection configurations between the web application server and CloudXR Runtime:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Client Web ServerRuntime ConnectionStatusUse Case
HTTPws://server-ip:49100✅ SupportedLocal development (simplest path)
HTTPwss://proxy-ip:48322✅ SupportedTesting proxy configuration
HTTPSws://server-ip:49100❌ BlockedMixed content security policy violation
HTTPSwss://proxy-ip:48322✅ SupportedWebXR device testing, production deployment
+
+

Important: When using HTTPS mode for your web application, you must configure a WebSocket proxy with TLS support. See the Networking Setup Guide - WebSocket Proxy Setup for configuration details.

+
+

This section provides configurations for Meta Quest 3 to enable WebXR functionality with CloudXR.js applications.

+

When using HTTP mode, the Meta Quest 3 browser needs explicit permission to access WebXR APIs from non-HTTPS origins. Here's how to configure it:

+
    +
  1. +

    Access Chrome flags:

    +
      +
    • Open the Meta Quest 3 Browser
    • +
    • Navigate to chrome://flags
    • +
    +
  2. +
  3. +

    Enable insecure origins:

    +
      +
    • Search for "insecure" in the search field
    • +
    • Locate the flag: unsafely-treat-insecure-origin-as-secure
    • +
    • Set the flag to Enabled
    • +
    +
  4. +
  5. +

    Add your development server:

    +
      +
    • In the text field below the flag, enter your web server URL
    • +
    • Format: http://<server-ip>:8080
    • +
    • Include the protocol (http://) and port number (:8080)
    • +
    • Multiple URLs can be separated by commas if needed
    • +
    +
  6. +
  7. +

    Apply configuration:

    +
      +
    • Click or tap outside the text field to defocus
    • +
    • A "Relaunch" button will appear at the bottom of the screen
    • +
    • Click Relaunch to apply changes
    • +
    +
  8. +
  9. +

    Verify configuration:

    +
      +
    • Return to chrome://flags after relaunch
    • +
    • Confirm the flag remains enabled and your URL is saved
    • +
    +
  10. +
+

When using HTTPS mode with self-signed certificates (for the web server and the WebSocket proxy), you need to configure the browser to trust these certificates.

+
+

Note: Certificate trust settings persist across browser sessions. You only need to perform this configuration once per certificate.

+
+
    +
  1. +

    Access the proxy endpoint:

    +
      +
    • +

      In Meta Quest 3 Browser in the sample client page, fill in the proxy IP as server IP and corresponding port, and click "click xxx to accept cert" as shown below. Or you can directly navigate to https://<proxy-ip>:48322/

      +

      +
    • +
    +
  2. +
  3. +

    Accept certificate warning:

    +
      +
    • +

      Click Advanced

      +
    • +
    • +

      Click Proceed to <proxy-ip> (unsafe) or similar option

      +

      +
    • +
    +
  4. +
  5. +

    Expected behavior:

    +
      +
    • The page may display a 501 Not Implemented error
    • +
    • This is expected - the proxy only handles WebSocket connections, not HTTP requests
    • +
    • The certificate is now trusted for WebSocket connections
    • +
    +
  6. +
+
+

Note: If you restart or recreate the proxy container (using the Docker HAProxy example with auto-generated certificates), a new self-signed certificate will be generated. You must repeat the certificate trust process by visiting https://<proxy-ip>:48322/ again and accepting the new certificate warning. If you mount your own certificate (see Networking Setup - Using Custom Certificates), the same certificate persists across restarts and you only need to trust it once.

+
+
    +
  1. +

    Access the web application:

    +
      +
    • Open Meta Quest 3 Browser
    • +
    • Navigate to https://<server-ip>:8080/
    • +
    +
  2. +
  3. +

    Accept certificate warning:

    +
      +
    • +

      Click Advanced

      +
    • +
    • +

      Click Proceed to <server-ip> (unsafe) or similar option

      +

      +
    • +
    +
  4. +
  5. +

    Verify access:

    +
      +
    • The web application should load successfully
    • +
    +
  6. +
+

When connecting to a CloudXR.js application:

+
    +
  1. The browser will prompt for WebXR permissions
  2. +
  3. Select Allow when prompted
  4. +
  5. The immersive session will begin after permission is granted
  6. +
+
+

Tip: For rapid development and debugging, you can test your CloudXR.js application on a desktop browser before deploying to Meta Quest 3. Detailed setup instructions are provided in the Isaac Lab Client guide.

+
+

For network and firewall configuration requirements, including port setup and bandwidth recommendations, see the Networking Setup Guide.

+

Symptoms:

+
    +
  • Application displays "WebXR not supported" or similar error
  • +
  • Connect button is disabled or missing
  • +
+

Solutions:

+
    +
  • Verify browser flags are configured correctly (HTTP mode example)
  • +
  • Ensure you're accessing via the configured URL exactly as specified
  • +
  • Confirm the browser has been relaunched after changing flags
  • +
  • Try accessing via incognito/private browsing mode
  • +
+

Symptoms:

+
    +
  • Connection fails with security warnings
  • +
  • WebSocket connection shows "SSL certificate error"
  • +
+

Solutions:

+
    +
  • Complete the certificate trust process for both web server and proxy
  • +
  • Verify you clicked "Proceed" on the certificate warning pages
  • +
  • Clear browser cache and retry the trust process
  • +
  • For persistent issues, regenerate certificates
  • +
+

Symptoms:

+
    +
  • Console shows "blocked by mixed content policy" errors
  • +
  • WebSocket connection fails from HTTPS page
  • +
+

Solutions:

+
    +
  • When using npm run dev-server:https, ensure runtime connection uses wss:// not ws://
  • +
  • Verify a WebSocket proxy is configured and running (see Networking Setup examples)
  • +
  • Check that proxy URL is accessible and trusted
  • +
+

Symptoms:

+
    +
  • Frequent disconnections during streaming
  • +
  • Poor video quality or high latency
  • +
+

Solutions:

+
    +
  • Review Networking Setup Guide for bandwidth and latency requirements
  • +
  • Verify firewall allows traffic on required ports
  • +
  • Ensure Wi-Fi connection is on 5GHz or 6GHz band
  • +
  • Check for network congestion from other devices
  • +
+ +
diff --git a/deps/cloudxr/docs/documents/Getting_Started.Sample_Client_-_React.html b/deps/cloudxr/docs/documents/Getting_Started.Sample_Client_-_React.html new file mode 100644 index 0000000..a2c9bb5 --- /dev/null +++ b/deps/cloudxr/docs/documents/Getting_Started.Sample_Client_-_React.html @@ -0,0 +1,150 @@ +Sample Client - React | CloudXR.js SDK Documentation - v6.0.0-beta

React Three Fiber Example

This is a comprehensive CloudXR.js React Three Fiber example application that demonstrates how to integrate CloudXR streaming with modern React development patterns. This example showcases the power of combining CloudXR.js with React Three Fiber, React Three XR, and React Three UIKit to create immersive XR experiences with rich 3D user interfaces.

+
+

NOTE: This example is not meant to be used for production.

+
+

This example showcases the integration of CloudXR.js with the React Three Fiber ecosystem, providing:

+
    +
  • React Three Fiber Integration: Seamless integration with Three.js through React components
  • +
  • React Three XR: WebXR session management with React hooks and state management
  • +
  • React Three UIKit: Rich 3D user interface components for VR/AR experiences
  • +
  • CloudXR Streaming: Real-time streaming of XR content from a CloudXR server
  • +
  • Modern React Patterns: Hooks, context, and component-based architecture
  • +
  • Dual UI System: 2D HTML interface for configuration and 3D VR interface for interaction
  • +
+
    +
  • Node.js (v20 or higher)
  • +
  • A CloudXR server running and accessible
  • +
  • A WebXR-compatible device (VR headset, AR device)
  • +
+
    +
  1. +

    Navigate to the example folder

    +
    cd react
    +
    + +
  2. +
  3. +

    Install Dependencies

    +
    # For this early access release, please run the following to install SDK from the given tarball. This step will not be needed when SDK is publicly accessible.
    npm install ../nvidia-cloudxr-6.0.0-beta.tgz

    npm install +
    + +
  4. +
  5. +

    Build the Application

    +
    npm run build
    +
    + +
  6. +
  7. +

    Start Development Server

    +
    npm run dev-server
    +
    + +
  8. +
  9. +

    Open in Browser

    +
      +
    • Navigate to http://localhost:8080 (or the port shown in terminal)
    • +
    • For desktop browsers, IWER (Immersive Web Emulator Runtime) will automatically load to emulate a Meta Quest 3 headset
    • +
    +
  10. +
+
    +
  1. +

    Configure Connection

    +
      +
    • Enter your CloudXR server IP address
    • +
    • Set the port (default: 49100)
    • +
    • Select AR or VR immersive mode
    • +
    +
  2. +
  3. +

    Adjust Settings (Optional)

    +
      +
    • Configure per-eye resolution (perEyeWidth and perEyeHeight, must be multiples of 16)
    • +
    • Set target frame rate and bitrate
    • +
    • Adjust XR reference space
    • +
    +
  4. +
  5. +

    Start Streaming

    +
      +
    • Click "CONNECT" to initiate the XR session
    • +
    • Grant XR permissions when prompted
    • +
    +
  6. +
+
+

NOTE: In order to connect to an actual server and start streaming, you need:

+
    +
  • A CloudXR server running and accessible
  • +
  • A WebXR-compatible device (VR/AR headset) or desktop browser (IWER loads automatically for emulation)
  • +
+
+

Main React application component managing:

+
    +
  • XR store configuration and session state
  • +
  • CloudXR component integration
  • +
  • 2D UI management and event handling
  • +
  • Error handling and capability checking
  • +
  • React Three Fiber Canvas setup
  • +
+

Handles the core CloudXR streaming functionality:

+
    +
  • CloudXR session lifecycle management
  • +
  • WebXR session event handling
  • +
  • WebGL state management and render target preservation
  • +
  • Frame-by-frame rendering loop with pose tracking
  • +
  • Integration with Three.js WebXRManager
  • +
+

Manages the 2D HTML interface:

+
    +
  • Form field management and localStorage persistence
  • +
  • Proxy configuration based on protocol
  • +
  • Event listener management and cleanup
  • +
  • Error handling and user feedback
  • +
  • Configuration validation and updates
  • +
+

Renders the in-VR user interface:

+
    +
  • React Three UIKit components for 3D UI
  • +
  • Interactive control buttons with hover effects
  • +
  • Server information and status display
  • +
  • Event handler integration
  • +
+
react/
├── src/
├── App.tsx # Main React application
├── CloudXRComponent.tsx # CloudXR streaming component
├── CloudXR2DUI.tsx # 2D UI management class
├── CloudXRUI.tsx # 3D VR UI component
├── index.tsx # React app entry point
└── index.html # HTML template
├── public/
├── play-circle.svg # Play button icon (Heroicons)
├── stop-circle.svg # Stop button icon (Heroicons)
├── arrow-uturn-left.svg # Reset button icon (Heroicons)
└── arrow-left-start-on-rectangle.svg # Disconnect button icon (Heroicons)
├── package.json # Dependencies and scripts
├── webpack.common.js # Webpack configuration
├── webpack.dev.js # Development webpack config
├── webpack.prod.js # Production webpack config
└── tsconfig.json # TypeScript configuration +
+ +

The application uses React Three XR's store for XR session management:

+
const store = createXRStore({
foveation: 0,
emulate: { syntheticEnvironment: false },
}); +
+ +

React Three Fiber Canvas with WebXR integration:

+
<Canvas events={noEvents} gl={{ preserveDrawingBuffer: true }}>
<XR store={store}>
<CloudXRComponent config={config} />
<CloudXR3DUI onAction1={handleAction1} />
</XR>
</Canvas> +
+ +

The CloudXR component uses useFrame for custom rendering:

+
useFrame((state, delta) => {
if (webXRManager.isPresenting && session) {
// CloudXR rendering logic
cxrSession.sendTrackingStateToServer(timestamp, xrFrame);
cxrSession.render(timestamp, xrFrame, layer);
}
}, -1000); +
+ +

The 3D UI uses React Three UIKit for modern VR/AR interfaces:

+
    +
  • Container: Layout and positioning components
  • +
  • Text: 3D text rendering with custom fonts
  • +
  • Button: Interactive buttons with hover effects
  • +
  • Image: Texture-based image display
  • +
  • Root: Main UI container with pixel-perfect rendering
  • +
+

3D UI elements are positioned in world space:

+
<group position={[1.8, -0.5, -1.3]} rotation={[0, -0.3, 0]}>
<Root pixelSize={0.001} width={1920} height={1440}>
{/* UI components */}
</Root>
</group> +
+ +

This example uses WebGL state tracking to prevent rendering conflicts between React Three Fiber and CloudXR. Both libraries render to the same WebGL context, but CloudXR's rendering operations modify WebGL state (framebuffers, textures, buffers, VAOs, shaders, blend modes, etc.) which can interfere with React Three Fiber's expectations. The example wraps the WebGL context with bindGL() from @helpers/WebGLStateBinding, then uses CloudXR's onWebGLStateChangeBegin and onWebGLStateChangeEnd callbacks to automatically save and restore state around CloudXR's rendering. This ensures React Three Fiber always finds the WebGL context in the expected state after each CloudXR render operation.

+

See examples/helpers/WebGLStateBinding.ts, WebGLState.ts, and WebGLStateApply.ts for implementation details. Comprehensive tests are available in tests/unit/WebGLState.test.ts and tests/playwright/WebGLTests/src/WebGLStateBindingTests.ts.

+

See the LICENSE file for details.

+

Icons used in the immersive UI are from Heroicons by Tailwind Labs, licensed under the MIT License. See HEROICONS_LICENSE for details.

+

Experience one of the compatible OpenXR applications with CloudXR Runtime

+ +
diff --git a/deps/cloudxr/docs/documents/Getting_Started.Sample_Client_-_WebGL.html b/deps/cloudxr/docs/documents/Getting_Started.Sample_Client_-_WebGL.html new file mode 100644 index 0000000..3f070f7 --- /dev/null +++ b/deps/cloudxr/docs/documents/Getting_Started.Sample_Client_-_WebGL.html @@ -0,0 +1,118 @@ +Sample Client - WebGL | CloudXR.js SDK Documentation - v6.0.0-beta

CloudXR.js Simple Example

A minimal WebGL example demonstrating WebXR streaming from a CloudXR server to a web browser. This example shows how to integrate WebXR with CloudXR to stream immersive VR/AR content.

+
+

Note: This example is for learning purposes, not production use.

+
+
    +
  • Node.js (v20 or higher)
  • +
+
    +
  1. +

    Navigate to the example folder

    +
    cd simple
    +
    + +
  2. +
  3. +

    Install Dependencies

    +
    # For this early access release, please run the following to install SDK from the given tarball. This step will not be needed when SDK is publicly accessible.
    npm install ../nvidia-cloudxr-6.0.0-beta.tgz

    npm install +
    + +
  4. +
  5. +

    Build the Application

    +
    npm run build
    +
    + +
  6. +
  7. +

    Start Development Server

    +
    npm run dev-server
    +
    + +
  8. +
  9. +

    Open in Browser

    +
      +
    • Navigate to http://localhost:8080 (or the port shown in terminal)
    • +
    • For desktop browsers, IWER (Immersive Web Emulator Runtime) will automatically load to emulate a Meta Quest 3 headset
    • +
    +
  10. +
+
    +
  1. +

    Configure Connection

    +
      +
    • Enter CloudXR server IP address (default: localhost)
    • +
    • Set port (default: 49100)
    • +
    • Select AR or VR mode
    • +
    +
  2. +
  3. +

    Adjust Settings (Optional)

    +
      +
    • Per-eye resolution (must be multiples of 16)
    • +
    • Target frame rate (72, 90, or 120 FPS)
    • +
    • Streaming bitrate
    • +
    • XR reference space and camera offsets
    • +
    +
  4. +
  5. +

    Start Streaming

    +
      +
    • Click "CONNECT"
    • +
    • Grant XR permissions when prompted
    • +
    +
  6. +
+

Requirements:

+
    +
  • CloudXR server running and accessible
  • +
  • WebXR-compatible device (VR/AR headset) or desktop browser (IWER loads automatically for emulation)
  • +
+

The main application class (CloudXRClient in main.ts) handles:

+

Initialization:

+
    +
  • UI element management and localStorage persistence
  • +
  • Browser capability checks (WebXR, WebGL2, WebRTC)
  • +
  • Event listener setup
  • +
+

Connection Flow:

+
    +
  1. WebGL Setup - Creates high-performance WebGL2 context
  2. +
  3. WebXR Session - Enters immersive VR/AR mode
  4. +
  5. Reference Space - Configures coordinate system for tracking
  6. +
  7. CloudXR Session - Establishes streaming connection to server
  8. +
  9. Render Loop - Sends tracking data, receives video, renders frames
  10. +
+

Key Components:

+
    +
  • WebXR Session - Hardware access (headset, controllers)
  • +
  • WebGL Context - Video rendering
  • +
  • CloudXR Session - Streaming management (WebRTC-based)
  • +
  • XRWebGLLayer - Bridge between WebXR and WebGL
  • +
+
simple/
├── src/
│ └── main.ts # Main application sample
├── index.html # UI and form elements sample
├── package.json # Dependencies and scripts
├── webpack.common.js # Webpack base configuration sample
├── webpack.dev.js # Development configuration sample
├── webpack.prod.js # Production configuration sample
└── tsconfig.json # TypeScript configuration sample +
+ +

The main.ts file contains well-commented code explaining each step:

+
    +
  1. Browser Checks - Validates WebXR, WebGL2, and WebRTC support
  2. +
  3. Connection Setup - Reads form inputs and validates configuration
  4. +
  5. WebGL Initialization - Creates optimized rendering context
  6. +
  7. WebXR Session - Enters immersive mode with requested features
  8. +
  9. CloudXR Setup - Configures streaming session with event handlers
  10. +
  11. Render Loop - Runs 72-120 times per second: +
      +
    • Sends tracking data to server
    • +
    • Receives video frame
    • +
    • Renders to display
    • +
    +
  12. +
+

Each method includes inline comments explaining the purpose and key concepts.

+

See the LICENSE file for details.

+

Experience one of the compatible OpenXR applications with CloudXR Runtime

+ +
diff --git a/deps/cloudxr/docs/documents/Getting_Started.html b/deps/cloudxr/docs/documents/Getting_Started.html new file mode 100644 index 0000000..836ac3b --- /dev/null +++ b/deps/cloudxr/docs/documents/Getting_Started.html @@ -0,0 +1,103 @@ +Getting Started | CloudXR.js SDK Documentation - v6.0.0-beta

Getting Started

+

It is strongly recommended that you work through this guide if you have never run CloudXR.js before.

+

Even for development, you'll need all the pieces of a CloudXR.js deployment in order to build and test a client. These are:

+
    +
  • a CloudXR Server +
      +
    • with a top-end NVIDIA GPU or 2 (e.g. dual RTX 6000 Ada)
    • +
    • which will run +
        +
      • the CloudXR Runtime
      • +
      • an OpenXR application (the thing you want to render on the server but see on the client)
      • +
      +
    • +
    +
  • +
  • a CloudXR.js development workstation +
      +
    • with Node.js and npm
    • +
    • which will run +
        +
      • the CloudXR.js sample client build
      • +
      • a Node-based development web server
      • +
      +
    • +
    +
  • +
  • a CloudXR.js client +
      +
    • which is one of: +
        +
      • a Meta Quest 3 with its built-in Browser app
      • +
      • a desktop browser: Google Chrome or Edge (IWER automatically loads for WebXR emulation)
      • +
      +
    • +
    • which will run... +
        +
      • the CloudXR.js sample client served from the development web server.
      • +
      +
    • +
    +
  • +
+

We recommend that for your first experience, all above run on the same computer to eliminate networking related issues.

+

You need both a working client and a working server in order to test. Typically we follow a startup flow where server starts before the client:

+
    +
  1. CloudXR Runtime
  2. +
  3. Server XR application
  4. +
  5. Sample client build + web server
  6. +
  7. Test from the same computer
  8. +
  9. Test from Quest 3 or a different computer
  10. +
+

Minimum: Single NVIDIA RTX 6000 Ada / L40 GPU or equivalent

+

Recommended: Two (2x) NVIDIA RTX 6000-class Ada (or later) GPUs:

+
    +
  • RTX 6000 Ada
  • +
  • L40 / L40S
  • +
  • RTX 6000 PRO Blackwell (Workstation, Max-Q Workstation, or Server)
  • +
+

Additional requirements:

+
    +
  • Linux OS (required for Isaac Lab Teleoperation)
  • +
  • Docker and NVIDIA Container Toolkit (Linux only)
  • +
  • Network: Wired Ethernet connection recommended
  • +
+

Supported headset:

+
    +
  • Meta Quest 3 (OS version 79 or later) - only headset validated for this release
  • +
  • Uses built-in Browser app (no special software installation needed)
  • +
  • Some manual browser configuration required (see Client Setup Guide)
  • +
+

For development/testing:

+
    +
  • Desktop Google Chrome (IWER automatically loads for WebXR emulation)
  • +
+

Critical requirements:

+
    +
  • Latency: ≤ 40ms required, ≤ 20ms recommended
  • +
  • Bandwidth: 200+ Mbps per streaming connection
  • +
  • WiFi: WiFi 6 (WiFi 6e recommended) at 5GHz or 6GHz
  • +
  • At most one WiFi hop: Either server or client must use wired Ethernet
  • +
+

See Networking Setup Guide for detailed configuration examples.

+

Following the high-level workflow above, use these guides to set up each component:

+

Choose an OpenXR server application to stream:

+ +

The guide includes instructions for setting up the CloudXR Runtime alongside the server application.

+

Build one of our example web clients:

+ +
    +
  • Test from the same computer first - Follow the desktop testing sections in the sample guides
  • +
  • Test from Meta Quest 3 - See Client Setup Guide for browser configuration
  • +
  • Configure networking (if needed) - See Networking Setup Guide for firewall and proxy examples
  • +
+
    +
  • Session APIs - Programmatic control of CloudXR sessions
  • +
  • Telemetry - Performance monitoring and debugging
  • +
+
diff --git a/deps/cloudxr/docs/documents/Networking_Setup.html b/deps/cloudxr/docs/documents/Networking_Setup.html new file mode 100644 index 0000000..94e7654 --- /dev/null +++ b/deps/cloudxr/docs/documents/Networking_Setup.html @@ -0,0 +1,418 @@ +Networking Setup | CloudXR.js SDK Documentation - v6.0.0-beta

Networking Setup

Proper network configuration is essential for high-quality CloudXR streaming. This guide covers network requirements, configuration, and optimization for CloudXR.js applications.

+

CloudXR.js operates using a two-tier connection architecture:

+

Hosts your WebXR application and serves it to client devices.

+
    +
  • +

    HTTP Mode: npm run dev-server

    +
      +
    • Local: http://localhost:8080/
    • +
    • Network: http://<server-ip>:8080/
    • +
    • Use case: Local development, trusted networks
    • +
    +
  • +
  • +

    HTTPS Mode: npm run dev-server:https

    +
      +
    • Local: https://localhost:8080/
    • +
    • Network: https://<server-ip>:8080/
    • +
    • Use case: Local development and production deployments, remote access
    • +
    +
  • +
+

Handles the XR streaming protocol between the client and CloudXR Runtime.

+
    +
  • +

    Direct Connection: ws://<server-ip>:49100

    +
      +
    • Uses unsecured WebSocket protocol (ws://)
    • +
    • No proxy required
    • +
    • Suitable for HTTP clients and local networks
    • +
    +
  • +
  • +

    Proxied Connection: wss://<proxy-ip>:48322

    +
      +
    • Uses WebSocket Secure protocol (wss:// - WebSocket over TLS/SSL)
    • +
    • Requires WebSocket proxy with TLS support
    • +
    • Required for HTTPS clients (browsers enforce mixed content policy)
    • +
    +
  • +
+
+

Important: When hosting your web application using HTTPS (npm run dev-server:https), you must configure a WebSocket proxy and connect using wss://. Browsers block non-secure WebSocket (ws://) connections from secure (HTTPS) pages due to mixed content security policies.

+
+

For detailed client configuration instructions, see the Client Setup Guide.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
MetricRecommendedMin/Max
Downstream Available Bandwidth>200Mbps>100Mbps
Client-to-Server Ping<20ms<40ms
Downstream/Upstream Jitter1ms4ms
Downstream Packet Loss0%1%
Wifi Channel5GHz/6GHz5GHz
Wifi Channel Width80Mhz40Mhz
+

For optimal performance, use a dedicated network setup:

+
[CloudXR Server] ←→ [Router] ←→ [Client Device]
(Ethernet) (WiFi 6) (Meta Quest 3) +
+ +

Key considerations:

+
    +
  • Use wired connection for the server
  • +
  • Dedicate WiFi channel for the client device
  • +
  • Minimize network hops between server and client
  • +
  • Avoid network congestion from other devices
  • +
+
    +
  • Frequency Band: 5GHz or 6GHz (avoid 2.4GHz)
  • +
  • Channel Width: 80MHz or 160MHz
  • +
  • Security: WPA3 (WPA2 acceptable)
  • +
  • Channel Selection: Use non-overlapping channels
  • +
+
    +
  1. Enable 5GHz/6GHz bands with separate SSIDs
  2. +
  3. Disable 2.4GHz if possible to avoid interference
  4. +
  5. Set fixed channels instead of auto-selection
  6. +
  7. Enable QoS for traffic prioritization
  8. +
  9. Disable band steering to prevent automatic switching
  10. +
+

The CloudXR Runtime attempts to open the required ports on the workstation firewall when started. This requires users to respond to an elevated prompt. If this is not possible, you may need to manually configure ports or disable the firewall entirely. Similarly, the WiFi network should also be configured to allow traffic on these ports.

+

Here is the list of ports that must be open:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ServiceProtocolServer PortDescription
WebSocketTCP49100CloudXR Runtime signaling port
Video StreamUDP47998-48012CloudXR Runtime media port
WebSocket ProxyTCP48322Default wss:// proxy port (if using HTTPS)
+
# Allow CloudXR Runtime ports
netsh advfirewall firewall add rule name="CloudXR Signaling" dir=in action=allow protocol=TCP localport=49100
netsh advfirewall firewall add rule name="CloudXR Media" dir=in action=allow protocol=UDP localport=47998-48012

# Allow wss:// proxy port (if using HTTPS)
netsh advfirewall firewall add rule name="CloudXR wss:// Proxy" dir=in action=allow protocol=TCP localport=48322 +
+ +
# Allow CloudXR Runtime ports
sudo ufw allow 49100/tcp
sudo ufw allow 47998:48012/udp

# Allow wss:// proxy port (if using HTTPS)
sudo ufw allow 48322/tcp +
+ +
# Test bandwidth between server and client
iperf3 -s # On server
iperf3 -c <server-ip> # On client +
+ +
# Test latency
ping <server-ip> +
+ +

Use online tools like packetlosstest.com to test packet loss and jitter.

+
    +
  • Cause: Network congestion, poor WiFi signal, or server overload
  • +
  • Solutions: +
      +
    • Move closer to router
    • +
    • Use 5GHz instead of 2.4GHz
    • +
    • Close other bandwidth-intensive applications
    • +
    • Check server performance
    • +
    +
  • +
+
    +
  • Cause: WiFi interference, poor signal strength, or network congestion
  • +
  • Solutions: +
      +
    • Change WiFi channel
    • +
    • Reduce distance from router
    • +
    • Check for interference sources
    • +
    • Use wired connection for server
    • +
    +
  • +
+
    +
  • Cause: Network instability, server issues, or timeout
  • +
  • Solutions: +
      +
    • Check network stability
    • +
    • Verify server is running
    • +
    • Increase timeout values
    • +
    • Implement reconnection logic
    • +
    +
  • +
+
    +
  • Use WPA3 encryption for WiFi
  • +
  • Enable network isolation if needed
  • +
  • Use VPN for remote connections
  • +
  • Regularly update router firmware
  • +
+

When using HTTPS for your web application (for development or production), you need a WebSocket proxy with TLS support to establish secure connections. We provide example configurations for two common deployment scenarios.

+

Consider using a WebSocket proxy when:

+
    +
  • Hosting your web application using HTTPS (npm run dev-server:https)
  • +
  • Deploying to production environments with proper SSL certificates
  • +
  • Accessing CloudXR from remote networks or the internet
  • +
+

The proxy acts as a secure gateway, providing TLS termination for WebSocket connections between CloudXR.js clients and the CloudXR Runtime.

+

We provide two example proxy configurations to help you get started:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Deployment ScenarioExample SolutionSetup Complexity
Local development with HTTPNo proxy needed (direct ws:// connection)None
Development/testing with HTTPSDocker HAProxy exampleLow
Single-server productionDocker HAProxy exampleLow
Kubernetes productionnginx Ingress exampleMedium
Multi-server/enterprisenginx Ingress exampleMedium-High
+

This example demonstrates a lightweight WebSocket proxy using HAProxy in a Docker container. It automatically generates self-signed SSL certificates and works well for development and single-server deployments. You can deploy this on either WSL2 in Windows OS or on Linux directly.

+
+1. Create the Dockerfile (Dockerfile.wss.proxy) - Click to expand +
FROM haproxy:3.2

# Switch to root user for package installation
USER root

# Install necessary tools
RUN apt-get update && apt-get install -y \
bash \
gettext-base \
openssl \
&& rm -rf /var/lib/apt/lists/*

# Create directory for configuration
RUN mkdir -p /usr/local/etc/haproxy/certs \
&& chown -R haproxy:haproxy /usr/local/etc/haproxy

# Create simple certificate generation script
COPY <<EOF /usr/local/bin/generate-cert.sh
#!/bin/bash
cd /usr/local/etc/haproxy/certs
openssl req -x509 -newkey rsa:2048 -keyout server.key -out server.crt -days 365 -nodes -subj "/CN=localhost" -quiet
# Combine certificate and key into a single file for HAProxy
cat server.crt server.key > server.pem
chown haproxy:haproxy server.key server.crt server.pem
chmod 600 server.key server.pem
chmod 644 server.crt
EOF

RUN chmod +x /usr/local/bin/generate-cert.sh

# Create the HAProxy configuration template file
COPY --chown=haproxy:haproxy <<EOF /usr/local/etc/haproxy/haproxy.cfg.template
global
log stdout local0 info
stats timeout 30s
user haproxy

# Default SSL material locations
ca-base /etc/ssl/certs
crt-base /etc/ssl/private

# See: https://ssl-config.mozilla.org/#server=haproxy&server-version=3.2&config=intermediate
ssl-default-bind-ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384
ssl-default-bind-ciphersuites TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256
ssl-default-bind-options ssl-min-ver TLSv1.2 no-tls-tickets

defaults
log global
option httplog
option dontlognull
option logasap
timeout connect 5s
timeout client 3600s
timeout server 3600s
# WebSocket tunnel timeout (keep connection alive)
timeout tunnel 3600s

frontend websocket_frontend
log global
bind *:\${PROXY_PORT} \${PROXY_SSL_BIND_OPTIONS}
mode http

# Log connection details
capture request header Host len 32
capture request header Upgrade len 32
capture request header Connection len 32

# Add CORS headers for all responses
http-response set-header Access-Control-Allow-Origin "*"
http-response set-header Access-Control-Allow-Headers "*"
http-response set-header Access-Control-Allow-Methods "GET, POST, PUT, DELETE, OPTIONS"
http-response set-header Access-Control-Expose-Headers "*"

# Handle OPTIONS requests for CORS preflight
http-request return status 200 content-type "text/plain" string "OK" if METH_OPTIONS

default_backend websocket_backend

backend websocket_backend
log global
mode http

# WebSocket support - HAProxy automatically handles Upgrade header
# No special configuration needed for WebSocket protocol upgrade

# Health check configuration:
# - inter: time between checks
# - rise: successful checks to mark as UP
# - fall: failed checks to mark as DOWN
# - on-marked-down shutdown-sessions: close existing sessions when backend goes down
server local_websocket \${BACKEND_HOST}:\${BACKEND_PORT} check inter \${HEALTH_CHECK_INTERVAL} rise \${HEALTH_CHECK_RISE} fall \${HEALTH_CHECK_FALL} on-marked-down shutdown-sessions
EOF

# Create the entrypoint script
COPY <<EOF /entrypoint.sh
#!/bin/bash

# Use default BACKEND_HOST if not set
if [ -z "\${BACKEND_HOST:+x}" ]; then
export BACKEND_HOST=localhost
echo "BACKEND_HOST not set, using default: \${BACKEND_HOST}"
fi

# Use default BACKEND_PORT if not set
if [ -z "\${BACKEND_PORT:+x}" ]; then
export BACKEND_PORT=49100
echo "BACKEND_PORT not set, using default: \${BACKEND_PORT}"
fi

# Use default PROXY_PORT if not set
if [ -z "\${PROXY_PORT:+x}" ]; then
export PROXY_PORT=48322
echo "PROXY_PORT not set, using default: \${PROXY_PORT}"
fi

# Use default health check interval if not set
if [ -z "\${HEALTH_CHECK_INTERVAL:+x}" ]; then
export HEALTH_CHECK_INTERVAL=2s
echo "HEALTH_CHECK_INTERVAL not set, using default: \${HEALTH_CHECK_INTERVAL}"
fi

# Use default health check rise if not set
if [ -z "\${HEALTH_CHECK_RISE:+x}" ]; then
export HEALTH_CHECK_RISE=2
echo "HEALTH_CHECK_RISE not set, using default: \${HEALTH_CHECK_RISE}"
fi

# Use default health check fall if not set
if [ -z "\${HEALTH_CHECK_FALL:+x}" ]; then
export HEALTH_CHECK_FALL=3
echo "HEALTH_CHECK_FALL not set, using default: \${HEALTH_CHECK_FALL}"
fi

echo "Launching WebSocket SSL Proxy:"
echo " Backend Host: \${BACKEND_HOST}"
echo " Backend Port: \${BACKEND_PORT}"
echo " Proxy Port: \${PROXY_PORT}"
echo " Health Check Interval: \${HEALTH_CHECK_INTERVAL}"
echo " Health Check Rise: \${HEALTH_CHECK_RISE}"
echo " Health Check Fall: \${HEALTH_CHECK_FALL}"

# Generate self-signed SSL certificate
/usr/local/bin/generate-cert.sh
export PROXY_SSL_BIND_OPTIONS="ssl crt /usr/local/etc/haproxy/certs/server.pem"
echo "SSL enabled - self-signed certificate generated"

# Process the template and create the final config
envsubst < /usr/local/etc/haproxy/haproxy.cfg.template > /usr/local/etc/haproxy/haproxy.cfg

# Function to handle signals and forward them to HAProxy
handle_signal() {
echo "Received signal, shutting down HAProxy..."
if [ -n "\$HAPROXY_PID" ]; then
kill -TERM "\$HAPROXY_PID" 2>/dev/null
wait "\$HAPROXY_PID"
fi
exit 0
}

# Set up signal handlers
trap handle_signal SIGTERM SIGINT

# Start HAProxy in background and capture PID
echo "Starting HAProxy..."
haproxy -f /usr/local/etc/haproxy/haproxy.cfg &
HAPROXY_PID=\$!

# Wait for HAProxy process
wait "\$HAPROXY_PID"
EOF

RUN chmod +x /entrypoint.sh

# Switch back to haproxy user
USER haproxy

# Set the entrypoint
ENTRYPOINT ["/entrypoint.sh"] +
+ +
+
    +
  1. Build the Docker image:
  2. +
+
docker build -t websocket-ssl-proxy -f Dockerfile.wss.proxy .
+
+ +
    +
  1. Run the proxy container:
  2. +
+
docker run -d --name wss-proxy \
--network host \
-e BACKEND_HOST=localhost \
-e BACKEND_PORT=49100 \
-e PROXY_PORT=48322 \
websocket-ssl-proxy +
+ +
    +
  1. Verify the proxy is running:
  2. +
+
# Check container status
docker ps | grep wss-proxy

# View logs
docker logs wss-proxy +
+ +

You can customize the proxy behavior using these environment variables:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
VariableDefaultDescription
BACKEND_HOSTlocalhostCloudXR Runtime hostname or IP address
BACKEND_PORT49100CloudXR Runtime WebSocket port
PROXY_PORT48322SSL proxy listening port
HEALTH_CHECK_INTERVAL2sTime between backend health checks
HEALTH_CHECK_RISE2Consecutive successful checks to mark backend UP
HEALTH_CHECK_FALL3Consecutive failed checks to mark backend DOWN
+

If you have your own SSL certificate, you can use it instead of the auto-generated self-signed certificate:

+
    +
  1. +

    Prepare certificate:

    +
      +
    • Combine your certificate and private key into a single PEM file:
    • +
    +
    cat your-cert.crt your-key.key > server.pem
    +
    + +
  2. +
  3. +

    Mount certificate into container:

    +
    docker run -d --name wss-proxy \
    --network host \
    -v /path/to/server.pem:/usr/local/etc/haproxy/certs/server.pem:ro \
    -e BACKEND_HOST=localhost \
    -e BACKEND_PORT=49100 \
    -e PROXY_PORT=48322 \
    websocket-ssl-proxy +
    + +
  4. +
+

The proxy continuously monitors the CloudXR Runtime backend:

+
    +
  • +

    Backend DOWN: Logs show Server websocket_backend/local_websocket is DOWN

    +
      +
    • Expected during CloudXR Runtime startup
    • +
    • Proxy automatically reconnects when runtime becomes available
    • +
    +
  • +
  • +

    Backend UP: Logs show Server websocket_backend/local_websocket is UP

    +
      +
    • Proxy is ready to accept client connections
    • +
    • WebSocket connections are forwarded to the runtime
    • +
    +
  • +
+

Stop the proxy:

+
docker stop wss-proxy
+
+ +

Start a stopped proxy:

+
docker start wss-proxy
+
+ +

Delete the proxy container:

+
docker stop wss-proxy
docker rm wss-proxy +
+ +
+

Important: Each time the container is created or restarted, a new self-signed certificate is generated unless you mount your own certificate (see Using Custom Certificates below). With auto-generated certificates, you will need to re-trust the certificate in your browser by visiting https://<server-ip>:48322/ and accepting the certificate warning. See the Client Setup Guide - Trust SSL Certificates for detailed instructions.

+
+

After starting the proxy, you can configure your CloudXR.js client to connect using:

+
wss://<server-ip>:48322
+
+ +

For client configuration instructions, see the Client Setup Guide - Trust SSL Certificates.

+

"Connection Refused" errors during startup:

+
    +
  • This is expected behavior during CloudXR Runtime initialization
  • +
  • The proxy will automatically connect when the runtime becomes ready
  • +
  • Monitor the logs to see when connection is established: docker logs -f wss-proxy
  • +
+

Certificate trust issues:

+
    +
  • Ensure your client browser has trusted the self-signed certificate
  • +
  • Follow the Client Setup Guide
  • +
  • For production deployments, consider using properly signed certificates
  • +
+

Firewall blocking connections:

+
    +
  • Verify that port 48322 (or your configured PROXY_PORT) is open:
    # Ubuntu/Debian example
    sudo ufw allow 48322/tcp +
    + +
  • +
+

This example demonstrates an enterprise-grade solution using nginx Ingress Controller on Kubernetes. This configuration supports multiple CloudXR servers, load balancing, and integration with existing Kubernetes infrastructure.

+

This example assumes you have:

+
    +
  • Kubernetes cluster with kubectl access
  • +
  • nginx Ingress Controller installed
  • +
  • Valid TLS certificate and key (tls.crt and tls.key)
  • +
  • Familiarity with Kubernetes resource management
  • +
+
kubectl create secret tls my-tls --cert=tls.crt --key=tls.key
+
+ +

The nginx proxy configuration example below handles WebSocket connections by +routing /{IP}:{PORT}/{path} to target CloudXR servers.

+

ConfigMap:

+
apiVersion: v1
kind: ConfigMap
...
data:
nginx.conf: |
...
http {
...
server {
...
location = /test {
return 200 'WebSocket proxy ready\n';
}
location ~ ^/([0-9.]+)(?::[0-9]+)?(.*)$ {
set $target_ip $1;
set $target_port 49100;
set $request_path $2;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_http_version 1.1;
proxy_pass http://$target_ip:$target_port$request_path;
}
}
}
... +
+ +

The Ingress resource exposes the proxy service externally with:

+
    +
  • TLS Termination: Handles HTTPS encryption/decryption
  • +
  • WebSocket Support: Special annotations for WebSocket protocol handling
  • +
  • Path Routing: Routes /* requests to the nginx proxy service
  • +
  • SSL Redirect: Automatically redirects HTTP to HTTPS
  • +
+
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
annotations:
nginx.ingress.kubernetes.io/ssl-redirect: "true"
nginx.ingress.kubernetes.io/websocket-services: "..."
...
spec:
rules:
- host: <https-proxy>
http:
paths:
- backend:
service:
name: <nginx-service>
port:
number: <nginx-port>
path: /
pathType: Prefix
tls:
- hosts:
- <https-proxy>
secretName: my-tls +
+ +

Once deployed, you can test via

+
curl -k https://<https-proxy>/test
+
+ +

Refer to the Getting Started Guide and checkout the examples +we provide to see how the proxy is used. +You could run the example web server on HTTPS and then fill in the proxy URL.

+

The secure WebSocket connection format in the console log will become:

+
wss://{https-proxy}/{cloudxr-server-ip}:{port}/{optional-path}
+
+ +
diff --git a/deps/cloudxr/docs/documents/Overview.html b/deps/cloudxr/docs/documents/Overview.html new file mode 100644 index 0000000..9181a96 --- /dev/null +++ b/deps/cloudxr/docs/documents/Overview.html @@ -0,0 +1,32 @@ +Overview | CloudXR.js SDK Documentation - v6.0.0-beta

NVIDIA CloudXR.js

CloudXR.js is a JavaScript Client SDK that enables developers to build enterprise web applications for streaming high-performance VR and AR content from the CloudXR Runtime. Built on NVIDIA's CloudXR technology, this library provides seamless integration between web browsers and remote rendering systems, allowing users to experience immersive 3D applications directly in their browser.

+

The SDK offers a complete solution for WebXR streaming, featuring automatic session management, optimized network protocols, and cross-platform compatibility. You can create rich VR/AR experiences that leverage the power of remote servers while maintaining the accessibility and ease of deployment that web applications provide. While we provide examples for WebGL and React Three Fiber implementations, CloudXR.js is a generic solution that can be integrated with any WebXR-compatible frameworks, making it suitable for a wide range of use cases from simple 3D visualizations to complex interactive applications.

+
+

Note: This is an early access beta release of CloudXR.js. Features and APIs may change in future releases.

+
+

CloudXR.js works with any OpenXR-compatible application running on a local or remote server with the CloudXR Runtime, including:

+
    +
  • NVIDIA Isaac Lab - A unified and modular framework for robot learning that aims to simplify common workflows in robotics research.
  • +
  • OpenXR applications - Any OpenXR-compatible application running with the CloudXR Runtime.
  • +
+

Our current release is optimized for Meta Quest 3.

+

We provide several web examples to integrate with CloudXR.js. Please follow our Getting Started Guide.

+

Learn how to configure your client device and web application hosting. Includes browser setup for Meta Quest 3, HTTP vs HTTPS hosting modes, and connection architecture. See Client Setup Guide for configuration examples and best practices.

+

Learn how to manage CloudXR streaming sessions, including connection lifecycle, configuration options, and event handling. See Session API Guide for comprehensive API documentation.

+

Configure your network for optimal CloudXR streaming performance. We provide example configurations for firewall rules, WiFi optimization, and WebSocket proxy deployments. See Networking Setup Guide for sample configurations and recommendations.

+

Resolve common issues with CloudXR.js applications, including connection problems, streaming issues, and performance optimization. See Troubleshooting Guide for solutions to common problems.

+

CloudXR.js incorporates third-party open source libraries. The following dependencies require attention for license compliance:

+ +
    +
  • gl-matrix - Mathematics library for graphics programming. Licensed under MIT License.
  • +
  • long.js - A Long class for representing a 64-bit two's-complement integer value. Used for accurate handling of uint64 fields in protobuf messages. Licensed under Apache License 2.0.
  • +
+

For a complete list of all dependencies and their licenses, refer to the package.json file in the root directory.

+

This project is licensed under the NVIDIA CloudXR License.

+
+

Important: This is an evaluation license for internal test and evaluation purposes only. For commercial use, please contact NVIDIA for appropriate licensing terms.

+

Please review the license terms before using this SDK in your projects.

+
+
diff --git a/deps/cloudxr/docs/documents/Session_API.html b/deps/cloudxr/docs/documents/Session_API.html new file mode 100644 index 0000000..79d9a2e --- /dev/null +++ b/deps/cloudxr/docs/documents/Session_API.html @@ -0,0 +1,92 @@ +Session API | CloudXR.js SDK Documentation - v6.0.0-beta

Session API

The CloudXR.js Session API provides comprehensive management of streaming sessions with the CloudXR Runtime. This guide covers the core session lifecycle, configuration, and key operations.

+

CloudXR.js is a JavaScript Client SDK that enables WebXR streaming from the CloudXR Runtime. It requires compatible server applications such as Isaac Lab, or any OpenXR-compatible application running with the CloudXR Runtime.

+

The CloudXR session follows a well-defined lifecycle with distinct states and transitions:

+
InitializedConnectingConnectedDisconnectingDisconnected
+
+ + +

Full API reference: createSession

+
import { createSession } from '@nvidia/cloudxr';

const session = createSession({
serverAddress: 'your-server',
serverPort: 49100,
useSecureConnection: false,
gl: webglContext,
perEyeWidth: 2048,
perEyeHeight: 1792,
referenceSpace: xrReferenceSpace,
// Additional configuration options
}); +
+ +

Note: The perEyeWidth and perEyeHeight parameters specify the resolution for each eye. The actual stream resolution will be calculated automatically:

+
    +
  • Stream width = perEyeWidth * 2
  • +
  • Stream height = perEyeHeight * 9 / 4
  • +
+

See SessionOptions for all available configuration options.

+

Full API reference: Session

+
// Connect throws an error if connection cannot be initiated
try {
session.connect();
console.log('Session connection initiated');
// Connection state changes will be reported via delegates
} catch (error) {
console.error('Failed to initiate connection:', error.message);
} +
+ +
// Disconnect from the server
session.disconnect(); +
+ +

The session will transition to SessionState.Disconnecting state immediately. +Then to SessionState.Disconnected state when the disconnection is complete.

+
+

Note: CloudXR.js does not currently support pause/resume functionality. To temporarily stop streaming, disconnect the session and reconnect when needed.

+
+
// Send viewer pose and input tracking to server
const success = session.sendTrackingStateToServer(timestamp, xrFrame);
if (!success) {
console.warn('Failed to send tracking state');
} +
+ +
// Render a frame from CloudXR Runtime
session.render(timestamp, xrFrame, xrWebGLLayer); +
+ +
// Send custom message to server
try {
session.sendServerMessage(messageObject);
console.log('Message sent successfully');
} catch (error) {
console.error('Failed to send server message:', error.message);
} +
+ +

CloudXR uses a delegate-based event system. Pass delegates when creating the session:

+
const sessionDelegates = {
onStreamStarted: () => {
console.log('Streaming started');
},

onStreamStopped: (error) => {
if (error) {
console.log('Streaming stopped due to error:', error);
} else {
console.log('Streaming stopped normally');
}
},

onWebGLStateChangeBegin: () => {
// Called before session changes WebGL state
console.log('WebGL state change beginning');
},

onWebGLStateChangeEnd: () => {
// Called after session changes WebGL state
console.log('WebGL state change complete');
}
};

const session = createSession(sessionOptions, sessionDelegates); +
+ +

See SessionDelegates for more details.

+
// Check current session state
console.log('Current state:', session.state); +
+ +
// Request WebXR session
const xrSession = await navigator.xr.requestSession('immersive-vr', {
requiredFeatures: ['local-floor']
});

// Get WebGL context and reference space
const gl = xrSession.renderState.baseLayer.context;
const referenceSpace = await xrSession.requestReferenceSpace('local-floor');

// Create CloudXR session
const sessionOptions = {
serverAddress: 'your-server',
serverPort: 49100,
useSecureConnection: false,
gl: gl,
perEyeWidth: 2048,
perEyeHeight: 1792,
referenceSpace: referenceSpace,
deviceFrameRate: 90,
maxStreamingBitrateKbps: 150000
};

const sessionDelegates = {
onStreamStarted: () => console.log('CloudXR streaming started'),
onStreamStopped: (error) => console.log('CloudXR streaming stopped', error)
};

const cloudxrSession = createSession(sessionOptions, sessionDelegates);

// Connect to CloudXR Runtime
try {
cloudxrSession.connect();
console.log('CloudXR connection initiated');
} catch (error) {
console.error('Failed to initiate CloudXR connection:', error.message);
}

// Begin rendering loop
function renderFrame(time, frame) {
// Send tracking state to server
cloudxrSession.sendTrackingStateToServer(time, frame);

// Render CloudXR frame
cloudxrSession.render(time, frame, xrSession.renderState.baseLayer);

// Continue rendering
xrSession.requestAnimationFrame(renderFrame);
}

xrSession.requestAnimationFrame(renderFrame); +
+ +

CloudXR automatically handles controller input and hand tracking through the WebXR session. The tracking data is sent to the server via sendTrackingStateToServer():

+
// Controllers and hand tracking are automatically handled
// when you call sendTrackingStateToServer with the XR frame
function renderFrame(time, frame) {
// This automatically includes controller and hand tracking data
cloudxrSession.sendTrackingStateToServer(time, frame);

// Render the frame
cloudxrSession.render(time, frame, xrWebGLLayer);
} +
+ +

The server will receive all input data including:

+
    +
  • Controller button presses and triggers
  • +
  • Controller pose and orientation
  • +
  • Hand tracking data (if supported by the device)
  • +
  • Head tracking and viewer pose
  • +
+
const sessionDelegates = {
onStreamStarted: () => {
console.log('Streaming started successfully');
},

onStreamStopped: (error) => {
if (error) {
console.error('Streaming stopped due to error:', error);
// Handle specific error types
if (error.message.includes('connection')) {
console.error('Connection error - check network and server');
}
} else {
console.log('Streaming stopped normally');
}
}
}; +
+ +
// Connect throws an error if connection cannot be initiated
try {
session.connect();
} catch (error) {
console.error('Failed to initiate connection:', error.message);
}

// Send tracking state returns false if not connected
if (!session.sendTrackingStateToServer(timestamp, frame)) {
console.warn('Cannot send tracking state - session not connected');
}

// Send server message throws an error if not connected or invalid message
try {
session.sendServerMessage(message);
} catch (error) {
console.error('Failed to send server message:', error.message);
} +
+ +

For comprehensive WebXR performance monitoring and debugging tools, refer to the Meta Horizon WebXR Performance Tools documentation.

+
    +
  • WebXR Performance Guide: MDN WebXR Performance Guide - Comprehensive performance optimization strategies
  • +
  • Immersive Web Emulator: immersiveweb.dev - Browser extension for testing WebXR performance on various devices
  • +
+

CloudXR.js requires a compatible server running:

+
    +
  • CloudXR Runtime - The streaming server component
  • +
  • OpenXR-compatible application - Such as: +
      +
    • Isaac Lab simulations
    • +
    • Custom OpenXR applications
    • +
    • Unity/Unreal Engine applications with OpenXR support
    • +
    +
  • +
+

The server must be accessible via WebSocket connection and properly configured for CloudXR streaming.

+

See our Getting Started Guide for more details.

+
diff --git a/deps/cloudxr/docs/documents/Show_Cases.Isaac_Lab_Teleop.Isaac_Lab_Teleop_Troubleshooting.html b/deps/cloudxr/docs/documents/Show_Cases.Isaac_Lab_Teleop.Isaac_Lab_Teleop_Troubleshooting.html new file mode 100644 index 0000000..52acc55 --- /dev/null +++ b/deps/cloudxr/docs/documents/Show_Cases.Isaac_Lab_Teleop.Isaac_Lab_Teleop_Troubleshooting.html @@ -0,0 +1,20 @@ +Isaac Lab Teleop Troubleshooting | CloudXR.js SDK Documentation - v6.0.0-beta

Troubleshooting Isaac Lab Teleop using CloudXR.js

When running the Docker container, also set the environment variable NV_GPU_INDEX for the runtime container to 0, 1, 2, etc., so the GPU index selected by CUDA matches the one selected by the host or other container.

+

This is a known limitation in Meta Quest 3, and we do not have a workaround to disable this gesture. We advise avoiding moving objects with this gesture.

+

This usually happens if the streaming session does not start correctly. Please quit the WebXR session and refresh the page.

+

If you are using remote debugging view, the Meta Quest 3 browser will not show the DOM overlay of the webpage unless you quit the entire WebXR session.

+

In our upcoming release, we will provide ways to build immersive UIs so you do not need to rely on the webpage. The current workaround is to avoid using remote debugging.

+

In the CloudXR Client web page in the Meta Quest 3 browser, ensure that the Preferred Reference Space is set to local and adjust the offsets as recommended.

+

There might be different factors causing the issue. For example, if you run streaming for a long time, heat throttling can reduce performance and frame rate. +In this case, please power cycle your headset and give it time to cool down first. Other issues include networking, which can be improved by having less congested +network environments, and low battery. Please ensure your headset is charged to 50% or above.

+

See the Generic Troubleshooting Guide.

+

If you have encountered more issues, please reach out to NVIDIA CloudXR team and share the following files

+
# Checks filenames of the logs
docker exec -it cloudxr-runtime ls /tmp

# Copy the logs and ETLI files
docker cp cloudxr-runtime:/tmp/xxx/cxr_server.xxx.log .
docker cp cloudxr-runtime:/tmp/xxx/xxx.etli . +
+ +

Isaac Lab console logs can also be helpful.

+

Known Limitations

    +
  • Re-connection may require page refresh
  • +
  • Meta Quest 3 home gesture cannot be disabled and may interfere with hand tracking
  • +
+
diff --git a/deps/cloudxr/docs/documents/Show_Cases.Isaac_Lab_Teleop.Setting_Up_Server_for_Teleoperation.html b/deps/cloudxr/docs/documents/Show_Cases.Isaac_Lab_Teleop.Setting_Up_Server_for_Teleoperation.html new file mode 100644 index 0000000..4181eee --- /dev/null +++ b/deps/cloudxr/docs/documents/Show_Cases.Isaac_Lab_Teleop.Setting_Up_Server_for_Teleoperation.html @@ -0,0 +1,116 @@ +Setting Up Server for Teleoperation | CloudXR.js SDK Documentation - v6.0.0-beta

Running Isaac Lab with the CloudXR Runtime

+

Note: For this early access release, make sure you have a valid subscription to the NVIDIA CloudXR Early Access program on NVIDIA NGC.

+
+
    +
  1. Follow NGC API Key doc to get your +NGC API Key (nvapi-xxxx) for your NGC Organization. +
      +
    • The key should have granted permission to access NGC Catalog
    • +
    • Save the key to a safe place as it will only appear once
    • +
    +
  2. +
  3. Setup credential for docker (use username $oauthtoken as literal)
    docker login nvcr.io
    Username: $oauthtoken
    Password: <your-ngc-api-key> +
    + +
  4. +
  5. Try to pull docker image and it should succeed
    docker pull nvcr.io/nvidia/cloudxr-runtime-early-access:6.0.1-webrtc
    +
    + +
  6. +
+

On your Isaac Lab workstation:

+
    +
  1. +

    From the root of the Isaac Lab repository, update ./docker/.env.cloudxr-runtime to the following version tag

    +
    # NVIDIA CloudXR Runtime base image
    CLOUDXR_RUNTIME_BASE_IMAGE_ARG=nvcr.io/nvidia/cloudxr-runtime-early-access
    # NVIDIA CloudXR Runtime version to use
    CLOUDXR_RUNTIME_VERSION_ARG=6.0.1-webrtc +
    + +
  2. +
  3. +

    Also update ./docker/docker-compose.cloudxr-runtime.patch.yaml to use host network instead:

    +
    services:
    cloudxr-runtime:
    image: ${CLOUDXR_RUNTIME_BASE_IMAGE_ARG}:${CLOUDXR_RUNTIME_VERSION_ARG}
    network_mode: host
    #ports:
    # - "48010:48010/tcp" # signaling
    # - "47998:47998/udp" # media
    # - "47999:47999/udp" # media
    # - "48000:48000/udp" # media
    # - "48005:48005/udp" # media
    # - "48008:48008/udp" # media
    # - "48012:48012/udp" # media
    healthcheck:
    ...
    ... +
    + +
  4. +
  5. +

    Start the Isaac Lab and CloudXR Runtime containers using the Isaac Lab container.py script

    +
    ./docker/container.py start \
    --files docker-compose.cloudxr-runtime.patch.yaml \
    --env-file .env.cloudxr-runtime +
    + +

    If prompted, elect to activate X11 forwarding, which is necessary to see the Isaac Lab UI.

    +
    +

    Note: The container.py script is a thin wrapper around Docker Compose. The additional --files and --env-file arguments augment the base Docker Compose configuration to additionally run the CloudXR Runtime. +For more details on container.py and running Isaac Lab with Docker Compose, see the Docker Guide.

    +
    +
  6. +
  7. +

    Enter the Isaac Lab base container with:

    +
    ./docker/container.py enter base
    +
    + +

    From within the Isaac Lab base container, you can run Isaac Lab scripts that use XR.

    +
  8. +
  9. +

    Run an example teleop task with:

    +
    ./isaaclab.sh -p scripts/environments/teleoperation/teleop_se3_agent.py \
    --task Isaac-PickPlace-Locomanipulation-G1-Abs-v0 \
    --teleop_device handtracking \
    --enable_pinocchio \
    --info +
    + +
    +

    Note: You could also choose a different environment like Isaac-PickPlace-GR1T2-Abs-v0.

    +
    +
  10. +
  11. +

    You'll want to leave the container running for the next steps. But once you are finished, you can stop the containers with:

    +
    ./docker/container.py stop \
    --files docker-compose.cloudxr-runtime.patch.yaml \
    --env-file .env.cloudxr-runtime +
    + +
  12. +
+

You can also run Isaac Lab as a local process that connects to the CloudXR Runtime Docker container. +This method requires you to manually specify a shared directory for communication between the Isaac Lab instance and the CloudXR Runtime.

+

On your Isaac Lab workstation:

+
    +
  1. From the root of the Isaac Lab repository, create a local folder for temporary cache files:
  2. +
+
mkdir -p $(pwd)/openxr
+
+ +
    +
  1. Initiate the CloudXR Runtime Docker container, ensuring the previously created directory is mounted to the /openxr directory within the container for Isaac Lab visibility:
  2. +
+
docker run -dit --rm --name cloudxr-runtime \
--user $(id -u):$(id -g) \
--gpus=all \
-e "ACCEPT_EULA=Y" \
--mount type=bind,src=$(pwd)/openxr,dst=/openxr \
--network host \
nvcr.io/nvidia/cloudxr-runtime-early-access:6.0.1-webrtc +
+ +
+

If you choose a particular GPU instead of all, you need to make sure Isaac Lab also runs on that GPU. See Isaac Lab Teleop Troubleshooting how to do so.

+
+
    +
  1. In a new terminal where you intend to run Isaac Lab, export the following environment variables, which reference the directory created above:
  2. +
+
export XDG_RUNTIME_DIR=$(pwd)/openxr/run
export XR_RUNTIME_JSON=$(pwd)/openxr/share/openxr/1/openxr_cloudxr.json +
+ +
    +
  1. Run the example teleop task with:
  2. +
+
./isaaclab.sh -p scripts/environments/teleoperation/teleop_se3_agent.py \
--task Isaac-PickPlace-GR1T2-Abs-v0 \
--teleop_device handtracking \
--enable_pinocchio \
--info +
+ +

With Isaac Lab and the CloudXR Runtime running:

+
    +
  1. In the Isaac Lab UI: locate the Panel named AR.
  2. +
+

Isaac Lab UI: AR Panel

+
    +
  1. Click Start AR
  2. +
+

Start AR

+

The Viewport should show two eyes being rendered, and you should see the status "AR profile is active".

+

Isaac Lab viewport rendering two eyes

+
+

Above instructions are modified from these instructions, +in particular, to provide the CloudXR Runtime with environment variables needed for streaming to the Meta Quest 3 Browser.

+
+

Teleoperating on Meta Quest 3

+

Running Isaac Lab Teleoperation on Meta Quest 3

+
diff --git a/deps/cloudxr/docs/documents/Show_Cases.Isaac_Lab_Teleop.Teleoperating_on_Meta_Quest_3.html b/deps/cloudxr/docs/documents/Show_Cases.Isaac_Lab_Teleop.Teleoperating_on_Meta_Quest_3.html new file mode 100644 index 0000000..a2cd599 --- /dev/null +++ b/deps/cloudxr/docs/documents/Show_Cases.Isaac_Lab_Teleop.Teleoperating_on_Meta_Quest_3.html @@ -0,0 +1,192 @@ +Teleoperating on Meta Quest 3 | CloudXR.js SDK Documentation - v6.0.0-beta

Teleoperating on Meta Quest 3

Before building and hosting the web client, ensure you have the following installed:

+
    +
  • Node.js (v20.19.0 or later) and npm + +
  • +
+

Once you have Isaac Lab and the CloudXR Runtime running, you can build and host the web server for the CloudXR.js client application.

+
cd isaac
+
+ +
# For this early access release, install the SDK from the provided tarball
# This step will not be required when the SDK is publicly accessible
npm install /path/to/nvidia-cloudxr-6.0.0-beta.tgz

# Install remaining dependencies
npm install +
+ +

Select the appropriate server mode based on your deployment requirements:

+

For local development (HTTP):

+
npm run dev-server
+
+ +
    +
  • Local: http://localhost:8080/
  • +
  • Network: http://<server-ip>:8080/
  • +
  • Supports both ws:// (direct) and wss:// (proxied) runtime connections
  • +
+

For local development or production (HTTPS):

+
npm run dev-server:https
+
+ +
    +
  • Local: https://localhost:8080/
  • +
  • Network: https://<server-ip>:8080/
  • +
  • Generates self-signed certificates for development, use custom certificates for production
  • +
  • See Client Setup - Trust SSL Certificates for trusting certs in your device
  • +
+
+

Note: When using HTTPS mode, you must configure a WebSocket proxy. Browsers enforce mixed content policies that block insecure ws:// connections from HTTPS pages. See Networking Setup - WebSocket Proxy for proxy configuration example.

+
+

For local development, our web app automatically loads IWER (Immersive Web Emulator Runtime) to emulate a Meta Quest 3 headset when no physical XR device is detected.

+
    +
  1. +

    Make sure you have:

    + +
  2. +
  3. +

    Ensure your CloudXR Runtime and OpenXR application are running

    +
  4. +
  5. +

    Navigate to the web application based on your chosen hosting mode:

    + +
  6. +
  7. +

    Make sure you see the following messaging, indicating IWER is loaded

    +

    +
  8. +
  9. +

    (HTTPS mode only) Fill in the Proxy URL if you have any, or click to accept the cert

    +

    +
  10. +
  11. +

    Click CONNECT

    +
  12. +
+

If successful, you should see the green CONNECT button change to CONNECT (STREAMING), and the streamed content from your server application will appear in your browser!

+

You could use the develop UI from IWER to emulate device position and input, for example:

+

+

Once you've validated the setup works locally, you can test with an actual Meta Quest 3 headset.

+
    +
  1. +

    Configure Browser: Follow the Client Setup Guide - Meta Quest 3 Browser Configuration to:

    +
      +
    • Enable WebXR for HTTP origins (if using npm run dev-server)
    • +
    • Trust SSL certificates (if using npm run dev-server:https)
    • +
    +
  2. +
  3. +

    Configure Network: Ensure required ports are open:

    +
      +
    • Web server: Port 8080 (TCP) or your configured port
    • +
    • CloudXR Runtime: Port 49100 (TCP) and 47998-48012 (UDP)
    • +
    • WebSocket proxy (if using HTTPS): Port 48322 (TCP) or your configured port
    • +
    • See Networking Setup - Firewall Configuration for details
    • +
    +
  4. +
+
    +
  1. +

    Navigate to the web application on your Meta Quest 3 Browser:

    +
      +
    • HTTP mode: http://<server-ip>:8080/
    • +
    • HTTPS mode: https://<server-ip>:8080/
    • +
    +
  2. +
  3. +

    Configure runtime connection based on your hosting mode:

    +

    If using HTTP client (npm run dev-server):

    +
      +
    • Direct: ws://<server-ip>:49100
    • +
    • Proxied: wss://<server-ip>:48322
    • +
    +

    If using HTTPS client (npm run dev-server:https):

    +
      +
    • Proxied: wss://<server-ip>:48322 (required)
    • +
    +
  4. +
  5. +

    Grant permissions:

    +
      +
    • Click CONNECT
    • +
    • Allow WebXR permissions when prompted
    • +
    +
  6. +
+

Before connecting, verify your Isaac Lab server is ready:

+
    +
  • CloudXR Runtime is running
  • +
  • Isaac Lab is running with the desired task
  • +
  • Isaac Lab is using System OpenXR Runtime
  • +
  • Isaac Lab is in AR mode (Start AR button pressed)
  • +
+

Configure the following application settings in the client web page's Debug Settings section:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
SettingRecommended ValueNotes
Preferred Reference SpacelocalRequired for proper tracking
X Offset (cm)0Horizontal positioning
Y Offset (cm)-155Vertical positioning
Z Offset (cm)10Depth positioning
Teleoperation Countdown Duration (s)User preferenceTime before recording starts (optional)
+
+

Note: Offset values are task-dependent. Adjust based on robot height and workspace as needed.

+
+

Once streaming starts, you will see a window to your right with teleoperation controls:

+

Isaac Teleoperation Buttons

+
    +
  • Countdown - you can use the - (minus) and + (plus) buttons to adjust the countdown timer for starting teleoperation.
  • +
  • Play - this will start the countdown. Once countdown is finished, the teleoperation session recording starts.
  • +
  • Reset - this will both stop and reset the teleoperation session. After pressing this you can press Play to continue teleoperation (following the countdown timer).
  • +
  • Disconnect - this will exit the whole streaming and WebXR session
  • +
+

To start teleoperating, click Play. It will start counting down in seconds as configured.

+

Isaac Teleoperation Countdown

+

During the countdown, position your hands at the right place and wait for recording to start.

+

Whenever you complete a task, it will automatically start a new recording and generate the recording file.

+

Isaac Teleoperation Running

+

To stop teleoperating and reset the position of robot arm, click the Reset button.

+

Troubleshooting Isaac Lab Teleoperation using CloudXR.js

+

Running Isaac Lab with the CloudXR Runtime

+
diff --git a/deps/cloudxr/docs/documents/Show_Cases.Isaac_Lab_Teleop.html b/deps/cloudxr/docs/documents/Show_Cases.Isaac_Lab_Teleop.html new file mode 100644 index 0000000..b014fe8 --- /dev/null +++ b/deps/cloudxr/docs/documents/Show_Cases.Isaac_Lab_Teleop.html @@ -0,0 +1,33 @@ +Isaac Lab Teleop | CloudXR.js SDK Documentation - v6.0.0-beta

Running Isaac Lab Teleoperation on Meta Quest 3

NVIDIA CloudXR enables seamless, high-fidelity immersive streaming to extended reality (XR) devices over the network. Developers can use CloudXR with NVIDIA Isaac Lab to build teleoperation workflows that require immersive XR rendering for increased spatial acuity and hand tracking for teleoperation of dexterous robots.

+

In these workflows, a compatible XR system captures operator head and hand motion. CloudXR sends this data to Isaac Lab, which renders and submits stereo views of the robot simulation to CloudXR. CloudXR then encodes and streams the rendered views back to the XR system for display in realtime using a low-latency, GPU-accelerated pipeline.

+

This guide provides the Isaac Lab-specific details referenced in the First Run Guide, including installation, CloudXR Runtime configuration, and teleoperation settings.

+

Prior to using CloudXR with Isaac Lab, please review the following system requirements:

+ +

Meta Quest 3 (OS version 79 or later).

+
    +
  • A strong wireless connection is essential for a high-quality streaming experience. Refer to the requirements of Networking Setup for more details.
  • +
  • We recommend using a dedicated router, as concurrent usage will degrade quality
  • +
  • The Meta Quest 3 and Isaac Lab workstation must be IP-reachable from one another +
      +
    • Many institutional wireless networks will prevent devices from reaching each other, resulting in the Meta Quest 3 being unable to find the Isaac Lab workstation on the network
    • +
    • See Networking Setup guide for more details
    • +
    +
  • +
+
    +
  1. Running Isaac Lab with the CloudXR Runtime
  2. +
  3. Running Teleop Client on Meta Quest 3
  4. +
+

If you encounter issues, please see Troubleshooting.

+
diff --git a/deps/cloudxr/docs/documents/Show_Cases.html b/deps/cloudxr/docs/documents/Show_Cases.html new file mode 100644 index 0000000..d7c346e --- /dev/null +++ b/deps/cloudxr/docs/documents/Show_Cases.html @@ -0,0 +1,4 @@ +Show Cases | CloudXR.js SDK Documentation - v6.0.0-beta
diff --git a/deps/cloudxr/docs/documents/Telemetry.html b/deps/cloudxr/docs/documents/Telemetry.html new file mode 100644 index 0000000..540a904 --- /dev/null +++ b/deps/cloudxr/docs/documents/Telemetry.html @@ -0,0 +1,40 @@ +Telemetry | CloudXR.js SDK Documentation - v6.0.0-beta

Telemetry

Anonymous collection of system performance data to enhance service quality.

+

We collect the following functional events:

+
    +
  • +

    CXR_LifetimeEvent: Tracks events when a CloudXRSession is created and destroyed.

    +
  • +
  • +

    CXR_SessionConfiguration: Gathers session initialization metadata such as resolution used to initialize a CloudXRSession.

    +
  • +
  • +

    CXR_SessionState: Monitors changes in the SessionState.

    +
  • +
  • +

    CXR_ExceptionInfo: Records exceptions, occurring within a CloudXRSession.

    +
  • +
  • +

    CXR_ClientRequest: Records the action when the client sends a message to server.

    +
  • +
  • +

    CXR_ServerResponse: Records the action when the server responds to client requests.

    +
  • +
  • +

    CXR_ClientMetricEvent: Records performance metrics for CloudXRSession, such as session duration, frame counts, and message statistics.

    +
  • +
+

Data is collected exclusively for service purposes, without capturing any persistent IDs or personal information, and it is not associated with any specific user or device. To opt out of telemetry data collection, disable telemetry in the session configuration.

+

Telemetry can be configured when creating a CloudXR session:

+
import * as CloudXR from '@nvidia/cloudxr';

const session = CloudXR.createSession({
// ... other session options
telemetry: {
enabled: true, // Enable telemetry collection (default: true)
appInfo: {
product: 'My CloudXR App',
version: '1.0.0'
}
}
}); +
+ +
    +
  • enabled: Boolean flag to enable/disable telemetry collection. Defaults to true.
  • +
  • appInfo: Optional application information object containing: +
      +
    • product: Product name (e.g., "MyApp")
    • +
    • version: Application version (e.g., "1.0.0")
    • +
    +
  • +
+
diff --git a/deps/cloudxr/docs/documents/Troubleshooting.html b/deps/cloudxr/docs/documents/Troubleshooting.html new file mode 100644 index 0000000..0b387fc --- /dev/null +++ b/deps/cloudxr/docs/documents/Troubleshooting.html @@ -0,0 +1,56 @@ +Troubleshooting | CloudXR.js SDK Documentation - v6.0.0-beta

Troubleshooting

This guide helps you diagnose and resolve common issues when using CloudXR.js for WebXR streaming.

+

For HTTP Mode:

+

If you're using HTTP mode (http://), you need to configure the Chromium browser to allow WebXR usage from insecure origins:

+
    +
  • Open Meta Quest 3 Browser or desktop Google Chrome
  • +
  • Navigate to chrome://flags
  • +
  • Search for "insecure", and locate "Treat insecure origins as secure"
  • +
  • Enable the flag
  • +
  • Then in the text box below the flag, add your development web server +
      +
    • You must include the protocol (http) and the port (:8080)
    • +
    • http://your-ip-address:8080
    • +
    +
  • +
  • De-focus the text box by "clicking somewhere else"
  • +
  • A "Relaunch" message should appear at the bottom of the window
  • +
  • Click "Relaunch"
  • +
  • Verify the flags are set as intended in chrome://flags
  • +
+

For HTTPS Mode:

+

If you're using HTTPS mode (https://), you need to trust the SSL certificates:

+
    +
  • Navigate to your web server URL in the browser: https://your-ip-address:8080
  • +
  • Accept the certificate warning by clicking "Advanced" → "Proceed to [your-ip-address] (unsafe)"
  • +
  • If using a WebSocket proxy, also trust its certificate by visiting: https://your-proxy-ip:48322
  • +
+

See the Client Setup Guide for detailed SSL certificate configuration.

+

You could pause the session by clicking the MENU button and resume the WebXR session. +If the behavior persists, we advise to restart your Meta headset to clear up caches.

+

You might see an error with an error code (shown in hexadecimal format like 0xC0F22202). In most cases, they are because of the following reasons:

+
    +
  • Verify the server address and port are correct
  • +
  • Check network connectivity between client and server
  • +
  • Ensure the CloudXR runtime is running on the server
  • +
  • Verify firewall rules allow traffic
  • +
  • Ensure UDP ports are not blocked
  • +
  • Check for high network latency or packet loss
  • +
  • Verify stable network connection (check for Wi-Fi disconnections)
  • +
  • Test network quality (ping, bandwidth, packet loss)
  • +
  • Ensure WebRTC is not blocked by browser settings or extensions
  • +
  • Review network topology (double NAT, symmetric NAT issues)
  • +
  • Setup TURN relay server if direct connection fails
  • +
  • Check server configuration and logs
  • +
  • Restart the CloudXR runtime if necessary
  • +
+

For most issues, you can consult the Networking Setup Guide for detailed configuration instructions and the issue should resolve.

+

If you're still experiencing issues:

+
    +
  1. Check the console for error messages
  2. +
  3. Test with different browsers
  4. +
  5. Verify server configuration and logs
  6. +
  7. Check network conditions and requirements
  8. +
  9. Review the Session API documentation
  10. +
+

For additional support, please reach out to NVIDIA CloudXR team.

+
diff --git a/deps/cloudxr/docs/enums/CloudXR.SessionState.html b/deps/cloudxr/docs/enums/CloudXR.SessionState.html new file mode 100644 index 0000000..0ea9499 --- /dev/null +++ b/deps/cloudxr/docs/enums/CloudXR.SessionState.html @@ -0,0 +1,33 @@ +SessionState | CloudXR.js SDK Documentation - v6.0.0-beta

Defines the states of a CloudXR streaming session.

+

The session follows a well-defined lifecycle with distinct states and transitions:

+
InitializedConnectingConnectedDisconnectingDisconnected
+
+ +
// Check session state
if (session.state === SessionState.Connected) {
console.info('Session is ready for rendering');
} +
+ +

Enumeration Members

Initialized: "Initialized"

Initial state when the session is created but connect() has not been called.

+

The session is ready to be configured and connected. +No network activity or streaming occurs.

+
Connecting: "Connecting"

The session is attempting to establish a connection and start streaming.

+

The session is actively trying to connect to the CloudXR Runtime. +This state is temporary and transitions to either Connected or Error.

+
Connected: "Connected"

The session is fully active and ready to render.

+

Connection is established, video streaming is active, and WebGL resources are ready. +This is the normal operational state for rendering CloudXR content.

+
Disconnecting: "Disconnecting"

The session is in the process of disconnecting from the CloudXR Runtime.

+

The session is actively closing the connection and cleaning up resources. +This state is temporary and transitions to Disconnected.

+
Disconnected: "Disconnected"

The session has been disconnected and is ready to be reconnected.

+

The session has been cleanly disconnected and can be reconnected +by calling connect() again.

+
Error: "Error"

The session encountered a critical error and cannot continue.

+

The session has encountered an unrecoverable error. Destroy and recreate +the session to recover. Check error details in the onStreamStopped delegate callback.

+
diff --git a/deps/cloudxr/docs/functions/CloudXR.createSession.html b/deps/cloudxr/docs/functions/CloudXR.createSession.html new file mode 100644 index 0000000..69458fc --- /dev/null +++ b/deps/cloudxr/docs/functions/CloudXR.createSession.html @@ -0,0 +1,21 @@ +createSession | CloudXR.js SDK Documentation - v6.0.0-beta
  • Creates a new CloudXR streaming session with the provided configuration.

    +

    This is the primary entry point for creating CloudXR streaming sessions. +The returned session is ready to be connected to the CloudXR Runtime using +the connect() method.

    +

    Parameters

    • options: SessionOptions

      Configuration options for the session. Must include all +required parameters such as serverAddress, serverPort, +gl context, and per-eye dimensions.

      +
    • Optionaldelegates: SessionDelegates

      Optional delegate object to receive essential session +events such as onStreamStarted, onStreamStopped, and +WebGL state change notifications.

      +

    Returns Session

    A Session object ready to connect to the CloudXR Runtime

    +

    When perEyeWidth is not a positive number or not a multiple of 16

    +

    When perEyeHeight is not a positive number or not a multiple of 16

    +

    When derived stream dimensions are not multiples of 16

    +
    // Basic session creation
    const session = createSession({
    serverAddress: '192.168.1.100',
    serverPort: 49100,
    useSecureConnection: false,
    gl: webglContext,
    perEyeWidth: 2048,
    perEyeHeight: 1792,
    referenceSpace: xrReferenceSpace
    });

    // With event delegates
    const session = createSession(sessionOptions, {
    onStreamStarted: () => {
    console.info('CloudXR streaming started');
    },
    onStreamStopped: (error) => {
    if (error) {
    console.error('Streaming error:', error);
    } else {
    console.info('Streaming stopped normally');
    }
    }
    });

    // Connect to CloudXR Runtime
    if (session.connect()) {
    console.info('Connection initiated');
    } +
    + +
    // Complete WebXR integration example
    async function setupCloudXR() {
    // Request WebXR session
    const xrSession = await navigator.xr.requestSession('immersive-vr', {
    requiredFeatures: ['local-floor']
    });

    // Get WebGL context and reference space
    const gl = xrSession.renderState.baseLayer.context;
    const referenceSpace = await xrSession.requestReferenceSpace('local-floor');

    // Create CloudXR streaming session
    const session = createSession({
    serverAddress: 'your-server-ip',
    serverPort: 49100,
    useSecureConnection: false,
    gl: gl,
    perEyeWidth: 2048,
    perEyeHeight: 1792,
    referenceSpace: referenceSpace,
    deviceFrameRate: 90,
    maxStreamingBitrateKbps: 150000
    }, {
    onStreamStarted: () => console.info('Ready to render'),
    onStreamStopped: (error) => console.info('Streaming stopped', error)
    });

    // Connect and start rendering
    if (session.connect()) {
    function renderFrame(time, frame) {
    session.sendTrackingStateToServer(time, frame);
    session.render(time, frame, xrSession.renderState.baseLayer);
    xrSession.requestAnimationFrame(renderFrame);
    }
    xrSession.requestAnimationFrame(renderFrame);
    }
    } +
    + +
diff --git a/deps/cloudxr/docs/index.html b/deps/cloudxr/docs/index.html new file mode 100644 index 0000000..50b1f94 --- /dev/null +++ b/deps/cloudxr/docs/index.html @@ -0,0 +1,32 @@ +CloudXR.js SDK Documentation - v6.0.0-beta

CloudXR.js SDK Documentation - v6.0.0-beta

NVIDIA CloudXR.js

CloudXR.js is a JavaScript Client SDK that enables developers to build enterprise web applications for streaming high-performance VR and AR content from the CloudXR Runtime. Built on NVIDIA's CloudXR technology, this library provides seamless integration between web browsers and remote rendering systems, allowing users to experience immersive 3D applications directly in their browser.

+

The SDK offers a complete solution for WebXR streaming, featuring automatic session management, optimized network protocols, and cross-platform compatibility. You can create rich VR/AR experiences that leverage the power of remote servers while maintaining the accessibility and ease of deployment that web applications provide. While we provide examples for WebGL and React Three Fiber implementations, CloudXR.js is a generic solution that can be integrated with any WebXR-compatible frameworks, making it suitable for a wide range of use cases from simple 3D visualizations to complex interactive applications.

+
+

Note: This is an early access beta release of CloudXR.js. Features and APIs may change in future releases.

+
+

CloudXR.js works with any OpenXR-compatible application running on a local or remote server with the CloudXR Runtime, including:

+
    +
  • NVIDIA Isaac Lab - A unified and modular framework for robot learning that aims to simplify common workflows in robotics research.
  • +
  • OpenXR applications - Any OpenXR-compatible application running with the CloudXR Runtime.
  • +
+

Our current release is optimized for Meta Quest 3.

+

We provide several web examples to integrate with CloudXR.js. Please follow our Getting Started Guide.

+

Learn how to configure your client device and web application hosting. Includes browser setup for Meta Quest 3, HTTP vs HTTPS hosting modes, and connection architecture. See Client Setup Guide for configuration examples and best practices.

+

Learn how to manage CloudXR streaming sessions, including connection lifecycle, configuration options, and event handling. See Session API Guide for comprehensive API documentation.

+

Configure your network for optimal CloudXR streaming performance. We provide example configurations for firewall rules, WiFi optimization, and WebSocket proxy deployments. See Networking Setup Guide for sample configurations and recommendations.

+

Resolve common issues with CloudXR.js applications, including connection problems, streaming issues, and performance optimization. See Troubleshooting Guide for solutions to common problems.

+

CloudXR.js incorporates third-party open source libraries. The following dependencies require attention for license compliance:

+ +
    +
  • gl-matrix - Mathematics library for graphics programming. Licensed under MIT License.
  • +
  • long.js - A Long class for representing a 64-bit two's-complement integer value. Used for accurate handling of uint64 fields in protobuf messages. Licensed under Apache License 2.0.
  • +
+

For a complete list of all dependencies and their licenses, refer to the package.json file in the root directory.

+

This project is licensed under the NVIDIA CloudXR License.

+
+

Important: This is an evaluation license for internal test and evaluation purposes only. For commercial use, please contact NVIDIA for appropriate licensing terms.

+

Please review the license terms before using this SDK in your projects.

+
+
diff --git a/deps/cloudxr/docs/interfaces/CloudXR.Session.html b/deps/cloudxr/docs/interfaces/CloudXR.Session.html new file mode 100644 index 0000000..ddef67c --- /dev/null +++ b/deps/cloudxr/docs/interfaces/CloudXR.Session.html @@ -0,0 +1,70 @@ +Session | CloudXR.js SDK Documentation - v6.0.0-beta

Defines the interface for CloudXR streaming sessions.

+

Provides the core functionality for managing CloudXR streaming +sessions, including connection management, rendering, and communication with +the CloudXR Runtime.

+
// Create a session
const session = createSession(sessionOptions, delegates);

// Connect to CloudXR Runtime
if (session.connect()) {
console.info('Connection initiated');
}

// In your render loop
function renderFrame(time, frame) {
try {
// Send tracking data
session.sendTrackingStateToServer(time, frame);

// Render CloudXR content
session.render(time, frame, xrWebGLLayer);
} catch (error) {
console.error('Error during frame rendering:', error);
}
} +
+ +
interface Session {
    state: SessionState;
    connect(): void;
    disconnect(): void;
    sendTrackingStateToServer(timestamp: number, frame: XRFrame): boolean;
    render(timestamp: number, frame: XRFrame, layer: XRWebGLLayer): void;
    sendServerMessage(message: any): void;
}

Properties

Current state of the session.

+

This readonly property provides the current state of the session, +which can be used to determine what operations are available +and to monitor the session lifecycle.

+
// Check if session is ready for rendering
if (session.state === SessionState.Connected) {
// Safe to call render() and sendTrackingStateToServer()
}

// Monitor state changes
console.info('Session state:', session.state); +
+ +

Methods

  • Connect to the CloudXR server and start streaming.

    +

    Initiates connection to the CloudXR Runtime and transitions the session +to SessionState.Connecting, then SessionState.Connected once streaming is active.

    +

    Returns void

    If called when session is not in Initialized or Disconnected state

    +
    try {
    session.connect();
    console.info('Connection initiated');
    } catch (error) {
    console.error('Failed to initiate connection:', error.message);
    } +
    + +
  • Disconnects from the CloudXR Runtime and terminates any streams.

    +

    Gracefully disconnects from the CloudXR Runtime and cleans up resources. +The session transitions through the following states:

    +
      +
    1. SessionState.Disconnecting - Disconnection in progress
    2. +
    3. SessionState.Disconnected - Successfully disconnected
    4. +
    +

    After disconnection, the session can be reconnected by calling connect() again.

    +

    Returns void

    // Disconnect when done
    session.disconnect();
    console.info('Disconnection initiated');

    // Disconnect on user action
    document.getElementById('disconnect-btn').onclick = () => {
    session.disconnect();
    }; +
    + +
  • Sends the view pose and input tracking data to the CloudXR Runtime.

    +

    Sends the current viewer pose (head position/orientation) +and input tracking data (controllers, hand tracking) to the CloudXR +Runtime. This data is essential for the Runtime to render the correct +view and handle user input.

    +

    Parameters

    • timestamp: number

      The current timestamp (DOMHighResTimeStamp) from the XR frame

      +
    • frame: XRFrame

      The XR frame containing tracking data to send to the Runtime

      +

    Returns boolean

    True if the tracking data was sent successfully, false otherwise. +Returns false if the session is not in Connected state.

    +
    // In your WebXR render loop
    function renderFrame(time, frame) {
    try {
    // Send tracking data first
    if (!session.sendTrackingStateToServer(time, frame)) {
    console.warn('Failed to send tracking state');
    return;
    }

    // Then render the frame
    session.render(time, frame, xrWebGLLayer);
    } catch (error) {
    console.error('Error in render frame:', error);
    }
    }

    // Start the render loop
    xrSession.requestAnimationFrame(renderFrame); +
    + +
  • Renders a frame from CloudXR.

    +

    Renders the current frame received from the CloudXR Runtime +into the specified WebXR layer. Call this method every frame in your +WebXR render loop after sending tracking data.

    +

    Parameters

    • timestamp: number

      The current timestamp (DOMHighResTimeStamp) from the XR frame

      +
    • frame: XRFrame

      The XR frame to render

      +
    • layer: XRWebGLLayer

      The WebXR layer to render into (typically xrSession.renderState.baseLayer)

      +

    Returns void

    // Complete render loop
    function renderFrame(time, frame) {
    try {
    // Send tracking data
    session.sendTrackingStateToServer(time, frame);

    // Render CloudXR content
    session.render(time, frame, xrSession.renderState.baseLayer);
    } catch (error) {
    console.error('Error in render frame:', error);
    }

    // Continue the loop
    xrSession.requestAnimationFrame(renderFrame);
    }

    // Start rendering
    xrSession.requestAnimationFrame(renderFrame); +
    + +
  • Send a custom message to the CloudXR server.

    +

    Sends a custom JSON message to the server through the CloudXR protocol. +The message is serialized and sent via the streaming connection.

    +

    Parameters

    • message: any

      The message object to send to the server (must be a valid JSON object)

      +

    Returns void

    If session is not connected

    +

    If message is not a valid JSON object (null, primitive, or array)

    +
    try {
    const customMessage = {
    type: 'userAction',
    action: 'buttonPress',
    data: { buttonId: 1 }
    };
    session.sendServerMessage(customMessage);
    console.info('Message sent successfully');
    } catch (error) {
    console.error('Failed to send message:', error.message);
    } +
    + +
diff --git a/deps/cloudxr/docs/interfaces/CloudXR.SessionDelegates.html b/deps/cloudxr/docs/interfaces/CloudXR.SessionDelegates.html new file mode 100644 index 0000000..fc86dea --- /dev/null +++ b/deps/cloudxr/docs/interfaces/CloudXR.SessionDelegates.html @@ -0,0 +1,47 @@ +SessionDelegates | CloudXR.js SDK Documentation - v6.0.0-beta

Defines callbacks for CloudXR session events.

+

Applications implement these callbacks to receive notifications about +session lifecycle events and WebGL state changes. All callbacks are optional.

+
const delegates: SessionDelegates = {
onStreamStarted: () => {
console.info('CloudXR streaming started');
// Update UI to show streaming status
},
onStreamStopped: (error) => {
if (error) {
console.error('Streaming stopped due to error:', error);
} else {
console.info('Streaming stopped normally');
}
}
}; +
+ +
interface SessionDelegates {
    onStreamStarted?: () => void;
    onStreamStopped?: (error?: Error) => void;
    onWebGLStateChangeBegin?: () => void;
    onWebGLStateChangeEnd?: () => void;
    onServerMessageReceived?: (messageData: Uint8Array) => void;
}

Properties

onStreamStarted?: () => void

Invoked when streaming connects successfully.

+

Called when the session transitions to the Connected state +and streaming is ready to begin. At this point, the session is ready for +rendering and all WebGL resources have been initialized.

+
onStreamStarted: () => {
console.info('Ready to render CloudXR content');
// Start your render loop here
} +
+ +
onStreamStopped?: (error?: Error) => void

Invoked when streaming stops (either by client or server).

+

Called when the session stops streaming, either due to +a normal disconnection or an error condition. Check the error parameter +to determine the reason for the stop.

+

Type declaration

    • (error?: Error): void
    • Parameters

      • Optionalerror: Error

        Optional error object if streaming stopped due to an error. +If undefined, the stop was intentional (e.g., disconnect() called).

        +

      Returns void

onStreamStopped: (error) => {
if (error) {
console.error('Streaming error:', error.message);
// Handle error condition
} else {
console.info('Streaming stopped normally');
// Handle normal disconnection
}
} +
+ +
onWebGLStateChangeBegin?: () => void

Invoked before the session changes any WebGL state.

+

Called before the session modifies WebGL state during +rendering operations. Use this to save the current WebGL state if needed +for your application's rendering pipeline.

+
onWebGLStateChangeBegin: () => {
// Save current WebGL state
gl.bindFramebuffer(gl.FRAMEBUFFER, null);
} +
+ +
onWebGLStateChangeEnd?: () => void

Invoked after the session changes any WebGL state.

+

Called after the session has completed its WebGL state +modifications during rendering operations. Use this to restore any WebGL +state that your application needs.

+
onWebGLStateChangeEnd: () => {
// Restore WebGL state
gl.bindFramebuffer(gl.FRAMEBUFFER, myFramebuffer);
} +
+ +
onServerMessageReceived?: (messageData: Uint8Array) => void

Invoked when a server message is received through any opaque data channel.

+

Type declaration

    • (messageData: Uint8Array): void
    • Parameters

      • messageData: Uint8Array

        Raw message data from the server

        +

      Returns void

onServerMessageReceived: (messageData) => {
const messageString = new TextDecoder().decode(messageData);
console.log('Received message:', messageString);

// Parse JSON if expected
try {
const message = JSON.parse(messageString);
console.log('Parsed message:', message);
} catch (error) {
console.log('Raw binary data:', messageData);
}
} +
+ +
diff --git a/deps/cloudxr/docs/interfaces/CloudXR.SessionOptions.html b/deps/cloudxr/docs/interfaces/CloudXR.SessionOptions.html new file mode 100644 index 0000000..7826bee --- /dev/null +++ b/deps/cloudxr/docs/interfaces/CloudXR.SessionOptions.html @@ -0,0 +1,131 @@ +SessionOptions | CloudXR.js SDK Documentation - v6.0.0-beta

Defines configuration options for a CloudXR streaming session.

+

Defines all configuration parameters needed to create +and configure a CloudXR streaming session. Required parameters must be +provided, while optional parameters have sensible defaults.

+
const sessionOptions: SessionOptions = {
// Required parameters
serverAddress: '192.168.1.100',
serverPort: 49100,
useSecureConnection: false,
gl: webglContext,
perEyeWidth: 2048,
perEyeHeight: 1792,
referenceSpace: xrReferenceSpace,

// Optional parameters with defaults
deviceFrameRate: 90,
maxStreamingBitrateKbps: 150000,
codec: 'av1'
}; +
+ +
interface SessionOptions {
    serverAddress: string;
    serverPort: number;
    useSecureConnection: boolean;
    gl: WebGL2RenderingContext;
    perEyeWidth: number;
    perEyeHeight: number;
    referenceSpace: XRReferenceSpace;
    glBinding?: XRWebGLBinding;
    codec?: string;
    deviceFrameRate?: number;
    maxStreamingBitrateKbps?: number;
    telemetry?: {
        enabled?: boolean;
        appInfo?: { version?: string; product?: string };
    };
    enablePoseSmoothing?: boolean;
    posePredictionFactor?: number;
}

Properties

serverAddress: string

Address of the CloudXR Runtime.

+

Can be an IP address (e.g., '192.168.1.100') or hostname. +For local development, use 'localhost' or '127.0.0.1'.

+
serverAddress: '192.168.1.100'  // IP address
serverAddress: 'cloudxr-server.local' // Hostname
serverAddress: 'localhost' // Local development +
+ +
serverPort: number

Port of the CloudXR Runtime.

+

The default CloudXR Runtime port is 49100. Ensure this port is +accessible and not blocked by firewalls.

+
49100
+
+ +
serverPort: 49100  // Default CloudXR port
+
+ +
useSecureConnection: boolean

Connect using secure connection (WSS/HTTPS).

+

When true, uses secure WebSocket (WSS) connection. When false, +uses unsecured WebSocket (WS) connection. For production deployments, +secure connections are recommended.

+
false
+
+ +
useSecureConnection: false  // Development
useSecureConnection: true // Production +
+ +
gl: WebGL2RenderingContext

WebGL context for rendering.

+

Must be a WebGL2RenderingContext obtained from a canvas element. +This context will be used for all CloudXR rendering operations.

+
const canvas = document.createElement('canvas');
const gl = canvas.getContext('webgl2');
// Use gl in sessionOptions +
+ +
perEyeWidth: number

Width of each eye in pixels.

+

This should match the per-eye resolution you want to render. +Must be a multiple of 16 for optimal performance. +The actual stream width will be calculated as perEyeWidth * 2.

+
perEyeWidth: 2048  // Max width if using H264 codec
+
+ +
perEyeHeight: number

Height of each eye in pixels.

+

This should match the per-eye resolution you want to render. +Must be a multiple of 16 for optimal performance. +The actual stream height will be calculated as perEyeHeight * 9 / 4.

+
perEyeHeight: 1792  // Max height if using H264 codec
+
+ +
referenceSpace: XRReferenceSpace

XR reference space to use for coordinate system calculations.

+

This is used for getting the viewer pose from the XR frame and +should be obtained from the WebXR session.

+
const referenceSpace = await xrSession.requestReferenceSpace('local-floor');
+
+ +
glBinding?: XRWebGLBinding

XR WebGL binding used to query viewport information for each eye.

+

Optional binding that provides additional viewport information. +If not provided, default viewport calculations will be used.

+
const glBinding = new XRWebGLBinding(xrSession, gl);
+
+ +
codec?: string

Video codec for streaming.

+

Supported codecs: 'h264', 'av1'. AV1 provides better compression +but requires more CPU/GPU resources for encoding/decoding.

+
'av1'
+
+ +
codec: 'av1'   // Better compression, more CPU intensive
codec: 'h264' // Faster encoding/decoding, larger bandwidth +
+ +
deviceFrameRate?: number

Device frame rate (maximum FPS).

+

The server will treat this as a maximum FPS and choose an appropriate +streaming frame rate that is lower than this value. Higher frame rates +provide smoother motion but require more bandwidth.

+
90
+
+ +
deviceFrameRate: 90   // Quest 3 standard
deviceFrameRate: 120 // High refresh rate
deviceFrameRate: 72 // Lower power mode +
+ +
maxStreamingBitrateKbps?: number

Maximum streaming bitrate in Kilobits per second.

+

Controls the maximum bandwidth used for streaming. Higher bitrates +provide better quality but require more network bandwidth.

+
150000
+
+ +
maxStreamingBitrateKbps: 150000  // 150 Mbps
maxStreamingBitrateKbps: 100000 // 100 Mbps (lower bandwidth)
maxStreamingBitrateKbps: 200000 // 200 Mbps (high quality) +
+ +
telemetry?: {
    enabled?: boolean;
    appInfo?: { version?: string; product?: string };
}

Telemetry configuration options

+

Type declaration

  • Optionalenabled?: boolean

    Enable telemetry collection. Default is true.

    +
  • OptionalappInfo?: { version?: string; product?: string }

    Application information for telemetry

    +
    • Optionalversion?: string

      Application version (e.g., "1.0.0")

      +
    • Optionalproduct?: string

      Product name (e.g., "MyApp")

      +
enablePoseSmoothing?: boolean

Enable secondary smoothing on predicted positions.

+

When enabled, applies an additional smoothing pass to reduce jitter +in predicted positions. This only affects position, not orientation.

+
true
+
+ +
enablePoseSmoothing: false  // Disable position smoothing
+
+ +
posePredictionFactor?: number

Pose prediction factor (0.0 to 1.0) that scales the prediction horizon.

+

This multiplier is applied to the calculated prediction horizon for both +position and orientation. A value of 1.0 uses full prediction, 0.5 uses +half the prediction horizon, and 0.0 disables prediction entirely.

+
1.0
+
+ +
posePredictionFactor: 0.5  // Use 50% of calculated prediction
posePredictionFactor: 0.0 // Disable prediction +
+ +
diff --git a/deps/cloudxr/docs/media/HEROICONS_LICENSE b/deps/cloudxr/docs/media/HEROICONS_LICENSE new file mode 100644 index 0000000..d6a8229 --- /dev/null +++ b/deps/cloudxr/docs/media/HEROICONS_LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) Tailwind Labs, Inc. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/deps/cloudxr/docs/media/LICENSE b/deps/cloudxr/docs/media/LICENSE new file mode 100644 index 0000000..5e53852 --- /dev/null +++ b/deps/cloudxr/docs/media/LICENSE @@ -0,0 +1,307 @@ +NVIDIA SOFTWARE EVALUATION LICENSE AGREEMENT + +IMPORTANT NOTICE – PLEASE READ AND AGREE BEFORE USING THE SOFTWARE + +This software evaluation license agreement (“Agreement”) is a legal agreement between you, whether an +individual or entity, (“you”) and NVIDIA Corporation and its affiliates (“NVIDIA”) and governs the use of certain +NVIDIA CloudXR software and documentation that NVIDIA delivers to you under this Agreement (“Software”). +NVIDIA and you are each a “party” and collectively the “parties.” +This Agreement can be accepted only by an adult of legal age of majority in the country in which the Software is +used. If you don’t have the required age or authority to accept this Agreement, or if you don’t accept all the +terms and conditions of this Agreement, do not use the Software. + +1. License Grants. + +1.1 License Grant to You. The Software is licensed, not sold. Subject to the terms of this Agreement, +NVIDIA grants you a limited, non-exclusive, revocable, non-transferable, non-sublicensable (except +as expressly granted in this Agreement), license to: +(a) access, install and use copies of the Software, +(b) configure the Software using configuration files provided (if applicable), +(c) modify and create derivative works of any source code NVIDIA delivers to you as part of the +Software (“Derivatives”) (if applicable). + +All the foregoing grants are only for internal test and evaluation purposes and, as applicable, for use (a) in +client systems, or (b) in server systems with NVIDIA GPUs (“Purpose”). + +1.2 License Grant to NVIDIA. Subject to the terms of this Agreement, you grant NVIDIA a non-exclusive, +perpetual, irrevocable, sublicensable, worldwide, royalty-free, fully paid-up and transferable license, +under your intellectual property rights, to publicly perform, publicly display, reproduce, use, make, +have made, sell, offer for sale, distribute (through multiple tiers of distribution), import, create +derivative works of and otherwise commercialize and exploit at NVIDIA’s discretion any Derivatives +created by or for you. You may, but are not required to, deliver any Derivatives to NVIDIA. + +2. License Restrictions. Your license to use the Software and Derivatives is restricted as stated in this “License +Restrictions” Section. You will cooperate with NVIDIA and, upon NVIDIA’s written request, you will confirm +in writing and provide reasonably requested information to verify your compliance with the terms of this +Agreement. You may not: + +2.1 Use the Software or Derivatives for any purpose other than the Purpose, including but not limited to +in production; + +2.2 Sell, rent, sublicense, transfer, distribute or otherwise make available to others (except Authorized +Users as stated in the “Authorized Users” Section) any portion of the Software or Derivatives, except +as expressly granted in Section 1.1 (“License Grant to You”); + +2.3 Reverse engineer, decompile, or disassemble the Software components provided in binary form, nor +attempt in any other manner to obtain source code of such Software; + +2.4 Modify or create derivative works of the Software, except as expressly granted in Section 1.1 +(“License Grant to You”); + +2.5 Change or remove copyright or other proprietary notices in the Software; + +2.6 Bypass, disable, or circumvent any technical limitation, encryption, security, digital rights +management or authentication mechanism in the Software; + +2.7 Use the Software or Derivatives in any manner that would cause them to become subject to an open +source software license; subject to the terms in Section 7 (“Components Under Other Licenses”); + +2.8 Use the Software or Derivatives for the purpose of developing competing products or technologies +or assist a third party in such activities; + +2.9 Replace any Software components governed by this Agreement with other software that +implements NVIDIA APIs; + +2.10 Use the Software or Derivatives in violation of any applicable law or regulation in the relevant +jurisdictions; or + +2.11 Use the Software in or with any system or application where the use or failure of such system or +application developed or deployed with Software could result in injury, death or catastrophic +damage (“Mission Critical Applications”). NVIDIA will not be liable to you or any third party, in whole +or in part, for any claims or damages arising from uses in Mission Critical Applications. + +2.12 Disclose any evaluation or test results regarding the Software or Derivatives without NVIDIA’s prior +written consent. + +3. Authorized Users. You may allow employees and contractors of your entity or of your subsidiary(ies), and +for educational institutions also enrolled students, to internally access and use the Software as authorized +by this Agreement from your secure network to perform the work authorized by this Agreement on your +behalf. You are responsible for the compliance with the terms of this Agreement by your authorized users. +Any act or omission that if committed by you would constitute a breach of this Agreement will be deemed to +constitute a breach of this Agreement if committed by your authorized users. + +4. Pre-Release. Software versions identified as alpha, beta, preview, early access or otherwise as pre-release +may not be fully functional, may contain errors or design flaws, and may have reduced or different security, +privacy, availability and reliability standards relative to NVIDIA commercial offerings. You use pre-release +Software at your own risk. NVIDIA did not design or test the Software for use in production or business +critical systems. NVIDIA may choose not to make available a commercial version of pre-release Software. +NVIDIA may also choose to abandon development and terminate the availability of pre-release Software at +any time without liability. + +5. Your Privacy: Collection and Use of Information. + +5.1 Privacy Policy. Please review the NVIDIA Privacy Policy, located at https://www.nvidia.com/enus/about-nvidia/privacy-policy, which explains NVIDIA’s policy for collecting and using data, as well +as visit the NVIDIA Privacy Center, located at https://www.nvidia.com/en-us/privacy-center, to +manage your consent and privacy preferences. + +5.2 Collection Purposes. You also acknowledge that the Software collects data for the following +purposes: (a) properly configure and optimize products for use with Software; and (b) improve +NVIDIA products and services. Information collected by the Software includes: (i) application +configuration; (ii) browser version; (iii) and session metadata (i.e. performance and usage +statistics). Additionally, NVIDIA may collect certain personal information, such as your name +and email address or those of your authorized users, and other information necessary to +authenticate and enable you or your authorized users’ access to the Software. Where appropriate +you will disclose to, and obtain any necessary consent from, your authorized users to allow NVIDIA +to collect such information. + +5.3 Third Party Privacy Practices. The Software may contain links to third party websites and services. +NVIDIA encourages you to review the privacy statements on those sites and services that you choose +to visit to understand how they may collect, use and share your data. NVIDIA is not responsible for +the privacy statements or practices of third-party sites or services. + +6. Updates. NVIDIA may at any time and at its option, change, discontinue, or deprecate any part, or all, of the +Software, or change or remove features or functionality, or make available patches, workarounds or other +updates to the Software. Unless the updates are provided with their separate governing terms, they are +deemed part of the Software licensed to you under this Agreement, and your continued use of the Software +is deemed acceptance of such changes. + +7. Components Under Other Licenses. The Software may include or be distributed with components provided +with separate legal notices or terms that accompany the components, such as open source software licenses +and other license terms (“Other Licenses”). The components are subject to the applicable Other Licenses, +including any proprietary notices, disclaimers, requirements and extended use rights; except that this +Agreement will prevail regarding the use of third-party open source software, unless a third-party open +source software license requires its license terms to prevail. Open source software license means any +software, data or documentation subject to any license identified as an open source license by the Open +Source Initiative (http://opensource.org), Free Software Foundation (http://www.fsf.org) or other similar +open source organization or listed by the Software Package Data Exchange (SPDX) Workgroup under the +Linux Foundation (http://www.spdx.org). + +8. Ownership. + +8.1 NVIDIA Ownership. The Software, including all intellectual property rights, is and will remain the sole +and exclusive property of NVIDIA or its licensors. Except as expressly granted in this Agreement, +(a) NVIDIA reserves all rights, interests and remedies in connection with the Software, and (b) no +other license or right is granted to you by implication, estoppel or otherwise. + +8.2 Your Ownership. Subject to the rights of NVIDIA and its suppliers in the Software, which continue to +be licensed as stated in this Agreement, even when incorporated in your products, and the extent +permitted by applicable law, as between you and NVIDIA, you hold all rights, title and interest in and +to your services, applications and Derivatives you develop as permitted in this Agreement including +their respective intellectual property rights. + +9. Feedback. You may, but are not obligated to, provide suggestions, requests, fixes, modifications, +enhancements or other feedback regarding your use of the Software (“Feedback”). Feedback, even if +designated as confidential by you, will not create any confidentiality obligation for NVIDIA or its affiliates. If +you provide Feedback, you hereby grant NVIDIA, its affiliates and its designees a nonexclusive, perpetual, +irrevocable, sublicensable, worldwide, royalty-free, fully paid-up and transferable license, under your +intellectual property rights, to publicly perform, publicly display, reproduce, use, make, have made, sell, +offer for sale, distribute (through multiple tiers of distribution), import, create derivative works of and +otherwise commercialize and exploit the Feedback at NVIDIA’s discretion. + +10. Confidentiality. You may use confidential information only to exercise your rights and perform your +obligations under this Agreement. You will not disclose, nor authorize others to disclose NVIDIA Confidential +Information to any third party, except as expressly authorized in this Agreement and as necessary for the +Purpose, without obtaining NVIDIA’s prior written approval. Each recipient of confidential information must +be subject to a written agreement that includes confidentiality obligations consistent with these terms and +must have a need to know for the Purpose. You will protect the NVIDIA Confidential Information with at +least the same degree of care that you use to protect your own similar confidential and proprietary +information, but no less than a reasonable degree of care. Confidential information includes, but is not +limited to, the Software, including its features and functionality, Derivatives, and any results of +benchmarking or other competitive analysis or regression or performance data relating to the Software. +No Publicity. You may not issue any public statements about this Agreement, disclose the Software or +Derivatives, or any information or results related to your use of the Software, without prior written approval +of NVIDIA. + +11. Term and Termination. + +11.1 Term. This Agreement has a duration of twelve (12) months starting from the date of initial +download (even if you download the same version or updates of the Software later and it is +accompanied by this Agreement or another Agreement), unless terminated earlier in accordance +with this Agreement. + +11.2 Termination for Convenience. Either party may terminate this Agreement at any time with thirty (30) +days’ advance written notice to the other party. + +11.3 Termination for Cause. If you commence or participate in any legal proceeding against NVIDIA with +respect to the Software, this Agreement will terminate immediately without notice. Either party may +terminate this Agreement upon notice for cause if: +(a) the other party fails to cure a material breach of this Agreement within ten (10) days of the +non-breaching party’s notice of the breach; or +(b) the other party breaches its confidentiality obligations or license rights under this +Agreement, which termination will be effective immediately upon written notice. + +11.4 Effect of Termination. Upon any expiration or termination of this Agreement, you will promptly +(a) stop using and return, delete or destroy NVIDIA confidential information and all Software +received under this Agreement, and (b) delete or destroy Derivatives created under this Agreement, +unless an authorized NVIDIA representative provides prior written approval that you may keep a +copy of the Derivatives solely for archival purposes. Upon written request, you will certify in writing +that you have complied with your obligations under this “Effect of Termination” Section. + +11.5 Survival. The “License Grant to NVIDIA”, “Updates”, “Components Under Other Licenses”, +“Ownership”, “Feedback”, “Confidentiality”, “No Publicity”, “Effect of Termination”, “Survival”, +“Disclaimer of Warranties”, “Limitation of Liability”, “Indemnity” and all “General” Sections of this +Agreement will survive any expiration or termination of this Agreement. + +12. Disclaimer of Warranties. THE SOFTWARE IS PROVIDED BY NVIDIA AS-IS AND WITH ALL FAULTS. TO THE +MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, NVIDIA DISCLAIMS ALL WARRANTIES AND +REPRESENTATIONS OF ANY KIND, WHETHER EXPRESS, IMPLIED OR STATUTORY, RELATING TO OR ARISING +UNDER THIS AGREEMENT, INCLUDING, WITHOUT LIMITATION, THE WARRANTIES OF TITLE, +NONINFRINGEMENT, MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, USAGE OF TRADE AND +COURSE OF DEALING. NVIDIA DOES NOT WARRANT OR ASSUME RESPONSIBILITY FOR THE ACCURACY OR +COMPLETENESS OF ANY THIRD-PARTY INFORMATION, TEXT, GRAPHICS, LINKS CONTAINED IN THE +SOFTWARE. WITHOUT LIMITING THE FOREGOING, NVIDIA DOES NOT WARRANT THAT THE SOFTWARE WILL +MEET YOUR REQUIREMENTS, ANY DEFECTS OR ERRORS WILL BE CORRECTED, ANY CERTAIN CONTENT WILL +BE AVAILABLE; OR THAT THE SOFTWARE IS FREE OF VIRUSES OR OTHER HARMFUL COMPONENTS. NO +INFORMATION OR ADVICE GIVEN BY NVIDIA WILL IN ANY WAY INCREASE THE SCOPE OF ANY WARRANTY +EXPRESSLY PROVIDED IN THIS AGREEMENT. YOU ARE SOLELY RESPONSIBLE FOR DETERMINING THE +APPROPRIATENESS OF USING THE SOFTWARE OR DERIVATIVES AND ASSUME ANY RISKS ASSOCIATED WITH +YOUR USE OF THE SOFTWARE OR DERIVATIVES. + +13. Limitations of Liability. + +13.1 EXCLUSIONS. TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, IN NO EVENT WILL +NVIDIA BE LIABLE FOR ANY (A) INDIRECT, PUNITIVE, SPECIAL, INCIDENTAL OR CONSEQUENTIAL +DAMAGES, OR (B) DAMAGES FOR THE (I) COST OF PROCURING SUBSTITUTE GOODS OR (II) LOSS OF +PROFITS, REVENUES, USE, DATA OR GOODWILL ARISING OUT OF OR RELATED TO THIS AGREEMENT, +WHETHER BASED ON BREACH OF CONTRACT, TORT (INCLUDING NEGLIGENCE), STRICT LIABILITY, OR +OTHERWISE, AND EVEN IF NVIDIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES AND +EVEN IF A PARTY’S REMEDIES FAIL THEIR ESSENTIAL PURPOSE. + +13.2 DAMAGES CAP. ADDITIONALLY, TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, +NVIDIA’S TOTAL CUMULATIVE AGGREGATE LIABILITY FOR ANY AND ALL LIABILITIES, OBLIGATIONS OR +CLAIMS ARISING OUT OF OR RELATED TO THIS AGREEMENT WILL NOT EXCEED ONE HUNDRED U.S. +DOLLARS (US$100). + +14. Indemnity. You will defend, indemnify and hold harmless NVIDIA and its affiliates, and their respective +employees, contractors, agents, officers and directors, from and against any and all third party claims, +damages, obligations, losses, liabilities, costs or debt, fines, restitutions and expenses (including but not +limited to attorney’s fees and costs incident to establishing the right of indemnification) arising out of use of +the Software and Derivatives outside of the scope of this Agreement or in breach of the terms of this +Agreement. + +15. General. + +15.1 Governing Law and Jurisdiction. This Agreement will be governed in all respects by the laws of the +United States and the laws of the State of Delaware, without regard to conflict of laws principles or +the United Nations Convention on Contracts for the International Sale of Goods. The state and +federal courts residing in Santa Clara County, California will have exclusive jurisdiction over any +dispute or claim arising out of or related to this Agreement, and the parties irrevocably consent to +personal jurisdiction and venue in those courts; except that either party may apply for injunctive +remedies or an equivalent type of urgent legal relief in any jurisdiction. + +15.2 Independent Contractors. The parties are independent contractors, and this Agreement does not +create a joint venture, partnership, agency or other form of business association between the +parties. Neither party will have the power to bind the other party or incur any obligation on its +behalf without the other party’s prior written consent. Nothing in this Agreement prevents either +party from participating in similar arrangements with third parties. + +15.3 No Assignment. NVIDIA may assign, delegate or transfer its rights or obligations under this +Agreement by any means or operation of law. You may not, without NVIDIA’s prior written consent, +assign, delegate or transfer any of your rights or obligations under this Agreement by any means or +operation of law, and any attempt to do so is null and void. + +15.4 No Waiver. No failure or delay by a party to enforce any term or obligation of this Agreement will +operate as a waiver by that party, or prevent the enforcement of such term or obligation later. + +15.5 Trade Compliance. You agree to comply with all applicable export, import, trade and economic +sanctions laws and regulations, as amended, including without limitation U.S. Export Administration +Regulations and Office of Foreign Assets Control regulations. You confirm (a) your understanding +that export or reexport of certain NVIDIA products or technologies may require a license or other +approval from appropriate authorities and (b) that you will not export or reexport any products or +technology, directly or indirectly, without first obtaining any required license or other approval from +appropriate authorities, (i) to any countries that are subject to any U.S. or local export restrictions +(currently including, but not necessarily limited to, Belarus, Cuba, Iran, North Korea, Russia, Syria, +the Region of Crimea, Donetsk People’s Republic Region and Luhansk People’s Republic Region); (ii) +to any end-user who you know or have reason to know will utilize them in the design, development +or production of nuclear, chemical or biological weapons, missiles, rocket systems, unmanned air +vehicles capable of a maximum range of at least 300 kilometers, regardless of payload, or intended +for military end-use, or any weapons of mass destruction; (iii) to any end-user who has been +prohibited from participating in the U.S. or local export transactions by any governing authority; or +(iv) to any known military or military-intelligence end-user or for any known military or military- +intelligence end-use in accordance with U.S. trade compliance laws and regulations. + +15.6 Government Rights. The Software, documentation and technology (“Protected Items”) are +“Commercial products” as this term is defined at 48 C.F.R. 2.101, consisting of “commercial +computer software” and “commercial computer software documentation” as such terms are used +in, respectively, 48 C.F.R. 12.212 and 48 C.F.R. 227.7202 & 252.227-7014(a)(1). Before any Protected +Items are supplied to the U.S. Government, you will (i) inform the U.S. Government in writing that +the Protected Items are and must be treated as commercial computer software and commercial +computer software documentation developed at private expense; (ii) inform the U.S. Government +that the Protected Items are provided subject to the terms of the Agreement; and (iii) mark the +Protected Items as commercial computer software and commercial computer software +documentation developed at private expense. In no event will you permit the U.S. Government to +acquire rights in Protected Items beyond those specified in 48 C.F.R. 52.227-19(b)(1)-(2) or 252.227- +7013(c) except as expressly approved by NVIDIA in writing. + +15.7 Notices. Please direct your legal notices or other correspondence to legalnotices@nvidia.com with a +copy mailed to NVIDIA Corporation, 2788 San Tomas Expressway, Santa Clara, California 95051, +United States of America, Attention: Legal Department. If NVIDIA needs to contact you about the +Software, you consent to receive the notices by email and agree that such notices will satisfy any +legal communication requirements. + +15.8 Severability. If a court of competent jurisdiction rules that a provision of this Agreement is +unenforceable, that provision will be deemed modified to the extent necessary to make it +enforceable and the remainder of this Agreement will continue in full force and effect. + +15.9 Amendment. Any amendment to this Agreement must be in writing and signed by authorized +representatives of both parties. + +15.10 Entire Agreement. Regarding the subject matter of this Agreement, the parties agree that (a) this +Agreement constitutes the entire and exclusive agreement between the parties and supersedes all +prior and contemporaneous communications and (b) any additional or different terms or conditions, +whether contained in purchase orders, order acknowledgments, invoices or otherwise, will not be +binding and are null and void. + +(v. February 25, 2025) + +NVIDIA Confidential \ No newline at end of file diff --git a/deps/cloudxr/docs/media/LICENSE-1 b/deps/cloudxr/docs/media/LICENSE-1 new file mode 100644 index 0000000..5e53852 --- /dev/null +++ b/deps/cloudxr/docs/media/LICENSE-1 @@ -0,0 +1,307 @@ +NVIDIA SOFTWARE EVALUATION LICENSE AGREEMENT + +IMPORTANT NOTICE – PLEASE READ AND AGREE BEFORE USING THE SOFTWARE + +This software evaluation license agreement (“Agreement”) is a legal agreement between you, whether an +individual or entity, (“you”) and NVIDIA Corporation and its affiliates (“NVIDIA”) and governs the use of certain +NVIDIA CloudXR software and documentation that NVIDIA delivers to you under this Agreement (“Software”). +NVIDIA and you are each a “party” and collectively the “parties.” +This Agreement can be accepted only by an adult of legal age of majority in the country in which the Software is +used. If you don’t have the required age or authority to accept this Agreement, or if you don’t accept all the +terms and conditions of this Agreement, do not use the Software. + +1. License Grants. + +1.1 License Grant to You. The Software is licensed, not sold. Subject to the terms of this Agreement, +NVIDIA grants you a limited, non-exclusive, revocable, non-transferable, non-sublicensable (except +as expressly granted in this Agreement), license to: +(a) access, install and use copies of the Software, +(b) configure the Software using configuration files provided (if applicable), +(c) modify and create derivative works of any source code NVIDIA delivers to you as part of the +Software (“Derivatives”) (if applicable). + +All the foregoing grants are only for internal test and evaluation purposes and, as applicable, for use (a) in +client systems, or (b) in server systems with NVIDIA GPUs (“Purpose”). + +1.2 License Grant to NVIDIA. Subject to the terms of this Agreement, you grant NVIDIA a non-exclusive, +perpetual, irrevocable, sublicensable, worldwide, royalty-free, fully paid-up and transferable license, +under your intellectual property rights, to publicly perform, publicly display, reproduce, use, make, +have made, sell, offer for sale, distribute (through multiple tiers of distribution), import, create +derivative works of and otherwise commercialize and exploit at NVIDIA’s discretion any Derivatives +created by or for you. You may, but are not required to, deliver any Derivatives to NVIDIA. + +2. License Restrictions. Your license to use the Software and Derivatives is restricted as stated in this “License +Restrictions” Section. You will cooperate with NVIDIA and, upon NVIDIA’s written request, you will confirm +in writing and provide reasonably requested information to verify your compliance with the terms of this +Agreement. You may not: + +2.1 Use the Software or Derivatives for any purpose other than the Purpose, including but not limited to +in production; + +2.2 Sell, rent, sublicense, transfer, distribute or otherwise make available to others (except Authorized +Users as stated in the “Authorized Users” Section) any portion of the Software or Derivatives, except +as expressly granted in Section 1.1 (“License Grant to You”); + +2.3 Reverse engineer, decompile, or disassemble the Software components provided in binary form, nor +attempt in any other manner to obtain source code of such Software; + +2.4 Modify or create derivative works of the Software, except as expressly granted in Section 1.1 +(“License Grant to You”); + +2.5 Change or remove copyright or other proprietary notices in the Software; + +2.6 Bypass, disable, or circumvent any technical limitation, encryption, security, digital rights +management or authentication mechanism in the Software; + +2.7 Use the Software or Derivatives in any manner that would cause them to become subject to an open +source software license; subject to the terms in Section 7 (“Components Under Other Licenses”); + +2.8 Use the Software or Derivatives for the purpose of developing competing products or technologies +or assist a third party in such activities; + +2.9 Replace any Software components governed by this Agreement with other software that +implements NVIDIA APIs; + +2.10 Use the Software or Derivatives in violation of any applicable law or regulation in the relevant +jurisdictions; or + +2.11 Use the Software in or with any system or application where the use or failure of such system or +application developed or deployed with Software could result in injury, death or catastrophic +damage (“Mission Critical Applications”). NVIDIA will not be liable to you or any third party, in whole +or in part, for any claims or damages arising from uses in Mission Critical Applications. + +2.12 Disclose any evaluation or test results regarding the Software or Derivatives without NVIDIA’s prior +written consent. + +3. Authorized Users. You may allow employees and contractors of your entity or of your subsidiary(ies), and +for educational institutions also enrolled students, to internally access and use the Software as authorized +by this Agreement from your secure network to perform the work authorized by this Agreement on your +behalf. You are responsible for the compliance with the terms of this Agreement by your authorized users. +Any act or omission that if committed by you would constitute a breach of this Agreement will be deemed to +constitute a breach of this Agreement if committed by your authorized users. + +4. Pre-Release. Software versions identified as alpha, beta, preview, early access or otherwise as pre-release +may not be fully functional, may contain errors or design flaws, and may have reduced or different security, +privacy, availability and reliability standards relative to NVIDIA commercial offerings. You use pre-release +Software at your own risk. NVIDIA did not design or test the Software for use in production or business +critical systems. NVIDIA may choose not to make available a commercial version of pre-release Software. +NVIDIA may also choose to abandon development and terminate the availability of pre-release Software at +any time without liability. + +5. Your Privacy: Collection and Use of Information. + +5.1 Privacy Policy. Please review the NVIDIA Privacy Policy, located at https://www.nvidia.com/enus/about-nvidia/privacy-policy, which explains NVIDIA’s policy for collecting and using data, as well +as visit the NVIDIA Privacy Center, located at https://www.nvidia.com/en-us/privacy-center, to +manage your consent and privacy preferences. + +5.2 Collection Purposes. You also acknowledge that the Software collects data for the following +purposes: (a) properly configure and optimize products for use with Software; and (b) improve +NVIDIA products and services. Information collected by the Software includes: (i) application +configuration; (ii) browser version; (iii) and session metadata (i.e. performance and usage +statistics). Additionally, NVIDIA may collect certain personal information, such as your name +and email address or those of your authorized users, and other information necessary to +authenticate and enable you or your authorized users’ access to the Software. Where appropriate +you will disclose to, and obtain any necessary consent from, your authorized users to allow NVIDIA +to collect such information. + +5.3 Third Party Privacy Practices. The Software may contain links to third party websites and services. +NVIDIA encourages you to review the privacy statements on those sites and services that you choose +to visit to understand how they may collect, use and share your data. NVIDIA is not responsible for +the privacy statements or practices of third-party sites or services. + +6. Updates. NVIDIA may at any time and at its option, change, discontinue, or deprecate any part, or all, of the +Software, or change or remove features or functionality, or make available patches, workarounds or other +updates to the Software. Unless the updates are provided with their separate governing terms, they are +deemed part of the Software licensed to you under this Agreement, and your continued use of the Software +is deemed acceptance of such changes. + +7. Components Under Other Licenses. The Software may include or be distributed with components provided +with separate legal notices or terms that accompany the components, such as open source software licenses +and other license terms (“Other Licenses”). The components are subject to the applicable Other Licenses, +including any proprietary notices, disclaimers, requirements and extended use rights; except that this +Agreement will prevail regarding the use of third-party open source software, unless a third-party open +source software license requires its license terms to prevail. Open source software license means any +software, data or documentation subject to any license identified as an open source license by the Open +Source Initiative (http://opensource.org), Free Software Foundation (http://www.fsf.org) or other similar +open source organization or listed by the Software Package Data Exchange (SPDX) Workgroup under the +Linux Foundation (http://www.spdx.org). + +8. Ownership. + +8.1 NVIDIA Ownership. The Software, including all intellectual property rights, is and will remain the sole +and exclusive property of NVIDIA or its licensors. Except as expressly granted in this Agreement, +(a) NVIDIA reserves all rights, interests and remedies in connection with the Software, and (b) no +other license or right is granted to you by implication, estoppel or otherwise. + +8.2 Your Ownership. Subject to the rights of NVIDIA and its suppliers in the Software, which continue to +be licensed as stated in this Agreement, even when incorporated in your products, and the extent +permitted by applicable law, as between you and NVIDIA, you hold all rights, title and interest in and +to your services, applications and Derivatives you develop as permitted in this Agreement including +their respective intellectual property rights. + +9. Feedback. You may, but are not obligated to, provide suggestions, requests, fixes, modifications, +enhancements or other feedback regarding your use of the Software (“Feedback”). Feedback, even if +designated as confidential by you, will not create any confidentiality obligation for NVIDIA or its affiliates. If +you provide Feedback, you hereby grant NVIDIA, its affiliates and its designees a nonexclusive, perpetual, +irrevocable, sublicensable, worldwide, royalty-free, fully paid-up and transferable license, under your +intellectual property rights, to publicly perform, publicly display, reproduce, use, make, have made, sell, +offer for sale, distribute (through multiple tiers of distribution), import, create derivative works of and +otherwise commercialize and exploit the Feedback at NVIDIA’s discretion. + +10. Confidentiality. You may use confidential information only to exercise your rights and perform your +obligations under this Agreement. You will not disclose, nor authorize others to disclose NVIDIA Confidential +Information to any third party, except as expressly authorized in this Agreement and as necessary for the +Purpose, without obtaining NVIDIA’s prior written approval. Each recipient of confidential information must +be subject to a written agreement that includes confidentiality obligations consistent with these terms and +must have a need to know for the Purpose. You will protect the NVIDIA Confidential Information with at +least the same degree of care that you use to protect your own similar confidential and proprietary +information, but no less than a reasonable degree of care. Confidential information includes, but is not +limited to, the Software, including its features and functionality, Derivatives, and any results of +benchmarking or other competitive analysis or regression or performance data relating to the Software. +No Publicity. You may not issue any public statements about this Agreement, disclose the Software or +Derivatives, or any information or results related to your use of the Software, without prior written approval +of NVIDIA. + +11. Term and Termination. + +11.1 Term. This Agreement has a duration of twelve (12) months starting from the date of initial +download (even if you download the same version or updates of the Software later and it is +accompanied by this Agreement or another Agreement), unless terminated earlier in accordance +with this Agreement. + +11.2 Termination for Convenience. Either party may terminate this Agreement at any time with thirty (30) +days’ advance written notice to the other party. + +11.3 Termination for Cause. If you commence or participate in any legal proceeding against NVIDIA with +respect to the Software, this Agreement will terminate immediately without notice. Either party may +terminate this Agreement upon notice for cause if: +(a) the other party fails to cure a material breach of this Agreement within ten (10) days of the +non-breaching party’s notice of the breach; or +(b) the other party breaches its confidentiality obligations or license rights under this +Agreement, which termination will be effective immediately upon written notice. + +11.4 Effect of Termination. Upon any expiration or termination of this Agreement, you will promptly +(a) stop using and return, delete or destroy NVIDIA confidential information and all Software +received under this Agreement, and (b) delete or destroy Derivatives created under this Agreement, +unless an authorized NVIDIA representative provides prior written approval that you may keep a +copy of the Derivatives solely for archival purposes. Upon written request, you will certify in writing +that you have complied with your obligations under this “Effect of Termination” Section. + +11.5 Survival. The “License Grant to NVIDIA”, “Updates”, “Components Under Other Licenses”, +“Ownership”, “Feedback”, “Confidentiality”, “No Publicity”, “Effect of Termination”, “Survival”, +“Disclaimer of Warranties”, “Limitation of Liability”, “Indemnity” and all “General” Sections of this +Agreement will survive any expiration or termination of this Agreement. + +12. Disclaimer of Warranties. THE SOFTWARE IS PROVIDED BY NVIDIA AS-IS AND WITH ALL FAULTS. TO THE +MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, NVIDIA DISCLAIMS ALL WARRANTIES AND +REPRESENTATIONS OF ANY KIND, WHETHER EXPRESS, IMPLIED OR STATUTORY, RELATING TO OR ARISING +UNDER THIS AGREEMENT, INCLUDING, WITHOUT LIMITATION, THE WARRANTIES OF TITLE, +NONINFRINGEMENT, MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, USAGE OF TRADE AND +COURSE OF DEALING. NVIDIA DOES NOT WARRANT OR ASSUME RESPONSIBILITY FOR THE ACCURACY OR +COMPLETENESS OF ANY THIRD-PARTY INFORMATION, TEXT, GRAPHICS, LINKS CONTAINED IN THE +SOFTWARE. WITHOUT LIMITING THE FOREGOING, NVIDIA DOES NOT WARRANT THAT THE SOFTWARE WILL +MEET YOUR REQUIREMENTS, ANY DEFECTS OR ERRORS WILL BE CORRECTED, ANY CERTAIN CONTENT WILL +BE AVAILABLE; OR THAT THE SOFTWARE IS FREE OF VIRUSES OR OTHER HARMFUL COMPONENTS. NO +INFORMATION OR ADVICE GIVEN BY NVIDIA WILL IN ANY WAY INCREASE THE SCOPE OF ANY WARRANTY +EXPRESSLY PROVIDED IN THIS AGREEMENT. YOU ARE SOLELY RESPONSIBLE FOR DETERMINING THE +APPROPRIATENESS OF USING THE SOFTWARE OR DERIVATIVES AND ASSUME ANY RISKS ASSOCIATED WITH +YOUR USE OF THE SOFTWARE OR DERIVATIVES. + +13. Limitations of Liability. + +13.1 EXCLUSIONS. TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, IN NO EVENT WILL +NVIDIA BE LIABLE FOR ANY (A) INDIRECT, PUNITIVE, SPECIAL, INCIDENTAL OR CONSEQUENTIAL +DAMAGES, OR (B) DAMAGES FOR THE (I) COST OF PROCURING SUBSTITUTE GOODS OR (II) LOSS OF +PROFITS, REVENUES, USE, DATA OR GOODWILL ARISING OUT OF OR RELATED TO THIS AGREEMENT, +WHETHER BASED ON BREACH OF CONTRACT, TORT (INCLUDING NEGLIGENCE), STRICT LIABILITY, OR +OTHERWISE, AND EVEN IF NVIDIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES AND +EVEN IF A PARTY’S REMEDIES FAIL THEIR ESSENTIAL PURPOSE. + +13.2 DAMAGES CAP. ADDITIONALLY, TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, +NVIDIA’S TOTAL CUMULATIVE AGGREGATE LIABILITY FOR ANY AND ALL LIABILITIES, OBLIGATIONS OR +CLAIMS ARISING OUT OF OR RELATED TO THIS AGREEMENT WILL NOT EXCEED ONE HUNDRED U.S. +DOLLARS (US$100). + +14. Indemnity. You will defend, indemnify and hold harmless NVIDIA and its affiliates, and their respective +employees, contractors, agents, officers and directors, from and against any and all third party claims, +damages, obligations, losses, liabilities, costs or debt, fines, restitutions and expenses (including but not +limited to attorney’s fees and costs incident to establishing the right of indemnification) arising out of use of +the Software and Derivatives outside of the scope of this Agreement or in breach of the terms of this +Agreement. + +15. General. + +15.1 Governing Law and Jurisdiction. This Agreement will be governed in all respects by the laws of the +United States and the laws of the State of Delaware, without regard to conflict of laws principles or +the United Nations Convention on Contracts for the International Sale of Goods. The state and +federal courts residing in Santa Clara County, California will have exclusive jurisdiction over any +dispute or claim arising out of or related to this Agreement, and the parties irrevocably consent to +personal jurisdiction and venue in those courts; except that either party may apply for injunctive +remedies or an equivalent type of urgent legal relief in any jurisdiction. + +15.2 Independent Contractors. The parties are independent contractors, and this Agreement does not +create a joint venture, partnership, agency or other form of business association between the +parties. Neither party will have the power to bind the other party or incur any obligation on its +behalf without the other party’s prior written consent. Nothing in this Agreement prevents either +party from participating in similar arrangements with third parties. + +15.3 No Assignment. NVIDIA may assign, delegate or transfer its rights or obligations under this +Agreement by any means or operation of law. You may not, without NVIDIA’s prior written consent, +assign, delegate or transfer any of your rights or obligations under this Agreement by any means or +operation of law, and any attempt to do so is null and void. + +15.4 No Waiver. No failure or delay by a party to enforce any term or obligation of this Agreement will +operate as a waiver by that party, or prevent the enforcement of such term or obligation later. + +15.5 Trade Compliance. You agree to comply with all applicable export, import, trade and economic +sanctions laws and regulations, as amended, including without limitation U.S. Export Administration +Regulations and Office of Foreign Assets Control regulations. You confirm (a) your understanding +that export or reexport of certain NVIDIA products or technologies may require a license or other +approval from appropriate authorities and (b) that you will not export or reexport any products or +technology, directly or indirectly, without first obtaining any required license or other approval from +appropriate authorities, (i) to any countries that are subject to any U.S. or local export restrictions +(currently including, but not necessarily limited to, Belarus, Cuba, Iran, North Korea, Russia, Syria, +the Region of Crimea, Donetsk People’s Republic Region and Luhansk People’s Republic Region); (ii) +to any end-user who you know or have reason to know will utilize them in the design, development +or production of nuclear, chemical or biological weapons, missiles, rocket systems, unmanned air +vehicles capable of a maximum range of at least 300 kilometers, regardless of payload, or intended +for military end-use, or any weapons of mass destruction; (iii) to any end-user who has been +prohibited from participating in the U.S. or local export transactions by any governing authority; or +(iv) to any known military or military-intelligence end-user or for any known military or military- +intelligence end-use in accordance with U.S. trade compliance laws and regulations. + +15.6 Government Rights. The Software, documentation and technology (“Protected Items”) are +“Commercial products” as this term is defined at 48 C.F.R. 2.101, consisting of “commercial +computer software” and “commercial computer software documentation” as such terms are used +in, respectively, 48 C.F.R. 12.212 and 48 C.F.R. 227.7202 & 252.227-7014(a)(1). Before any Protected +Items are supplied to the U.S. Government, you will (i) inform the U.S. Government in writing that +the Protected Items are and must be treated as commercial computer software and commercial +computer software documentation developed at private expense; (ii) inform the U.S. Government +that the Protected Items are provided subject to the terms of the Agreement; and (iii) mark the +Protected Items as commercial computer software and commercial computer software +documentation developed at private expense. In no event will you permit the U.S. Government to +acquire rights in Protected Items beyond those specified in 48 C.F.R. 52.227-19(b)(1)-(2) or 252.227- +7013(c) except as expressly approved by NVIDIA in writing. + +15.7 Notices. Please direct your legal notices or other correspondence to legalnotices@nvidia.com with a +copy mailed to NVIDIA Corporation, 2788 San Tomas Expressway, Santa Clara, California 95051, +United States of America, Attention: Legal Department. If NVIDIA needs to contact you about the +Software, you consent to receive the notices by email and agree that such notices will satisfy any +legal communication requirements. + +15.8 Severability. If a court of competent jurisdiction rules that a provision of this Agreement is +unenforceable, that provision will be deemed modified to the extent necessary to make it +enforceable and the remainder of this Agreement will continue in full force and effect. + +15.9 Amendment. Any amendment to this Agreement must be in writing and signed by authorized +representatives of both parties. + +15.10 Entire Agreement. Regarding the subject matter of this Agreement, the parties agree that (a) this +Agreement constitutes the entire and exclusive agreement between the parties and supersedes all +prior and contemporaneous communications and (b) any additional or different terms or conditions, +whether contained in purchase orders, order acknowledgments, invoices or otherwise, will not be +binding and are null and void. + +(v. February 25, 2025) + +NVIDIA Confidential \ No newline at end of file diff --git a/deps/cloudxr/docs/media/LICENSE-2 b/deps/cloudxr/docs/media/LICENSE-2 new file mode 100644 index 0000000..5e53852 --- /dev/null +++ b/deps/cloudxr/docs/media/LICENSE-2 @@ -0,0 +1,307 @@ +NVIDIA SOFTWARE EVALUATION LICENSE AGREEMENT + +IMPORTANT NOTICE – PLEASE READ AND AGREE BEFORE USING THE SOFTWARE + +This software evaluation license agreement (“Agreement”) is a legal agreement between you, whether an +individual or entity, (“you”) and NVIDIA Corporation and its affiliates (“NVIDIA”) and governs the use of certain +NVIDIA CloudXR software and documentation that NVIDIA delivers to you under this Agreement (“Software”). +NVIDIA and you are each a “party” and collectively the “parties.” +This Agreement can be accepted only by an adult of legal age of majority in the country in which the Software is +used. If you don’t have the required age or authority to accept this Agreement, or if you don’t accept all the +terms and conditions of this Agreement, do not use the Software. + +1. License Grants. + +1.1 License Grant to You. The Software is licensed, not sold. Subject to the terms of this Agreement, +NVIDIA grants you a limited, non-exclusive, revocable, non-transferable, non-sublicensable (except +as expressly granted in this Agreement), license to: +(a) access, install and use copies of the Software, +(b) configure the Software using configuration files provided (if applicable), +(c) modify and create derivative works of any source code NVIDIA delivers to you as part of the +Software (“Derivatives”) (if applicable). + +All the foregoing grants are only for internal test and evaluation purposes and, as applicable, for use (a) in +client systems, or (b) in server systems with NVIDIA GPUs (“Purpose”). + +1.2 License Grant to NVIDIA. Subject to the terms of this Agreement, you grant NVIDIA a non-exclusive, +perpetual, irrevocable, sublicensable, worldwide, royalty-free, fully paid-up and transferable license, +under your intellectual property rights, to publicly perform, publicly display, reproduce, use, make, +have made, sell, offer for sale, distribute (through multiple tiers of distribution), import, create +derivative works of and otherwise commercialize and exploit at NVIDIA’s discretion any Derivatives +created by or for you. You may, but are not required to, deliver any Derivatives to NVIDIA. + +2. License Restrictions. Your license to use the Software and Derivatives is restricted as stated in this “License +Restrictions” Section. You will cooperate with NVIDIA and, upon NVIDIA’s written request, you will confirm +in writing and provide reasonably requested information to verify your compliance with the terms of this +Agreement. You may not: + +2.1 Use the Software or Derivatives for any purpose other than the Purpose, including but not limited to +in production; + +2.2 Sell, rent, sublicense, transfer, distribute or otherwise make available to others (except Authorized +Users as stated in the “Authorized Users” Section) any portion of the Software or Derivatives, except +as expressly granted in Section 1.1 (“License Grant to You”); + +2.3 Reverse engineer, decompile, or disassemble the Software components provided in binary form, nor +attempt in any other manner to obtain source code of such Software; + +2.4 Modify or create derivative works of the Software, except as expressly granted in Section 1.1 +(“License Grant to You”); + +2.5 Change or remove copyright or other proprietary notices in the Software; + +2.6 Bypass, disable, or circumvent any technical limitation, encryption, security, digital rights +management or authentication mechanism in the Software; + +2.7 Use the Software or Derivatives in any manner that would cause them to become subject to an open +source software license; subject to the terms in Section 7 (“Components Under Other Licenses”); + +2.8 Use the Software or Derivatives for the purpose of developing competing products or technologies +or assist a third party in such activities; + +2.9 Replace any Software components governed by this Agreement with other software that +implements NVIDIA APIs; + +2.10 Use the Software or Derivatives in violation of any applicable law or regulation in the relevant +jurisdictions; or + +2.11 Use the Software in or with any system or application where the use or failure of such system or +application developed or deployed with Software could result in injury, death or catastrophic +damage (“Mission Critical Applications”). NVIDIA will not be liable to you or any third party, in whole +or in part, for any claims or damages arising from uses in Mission Critical Applications. + +2.12 Disclose any evaluation or test results regarding the Software or Derivatives without NVIDIA’s prior +written consent. + +3. Authorized Users. You may allow employees and contractors of your entity or of your subsidiary(ies), and +for educational institutions also enrolled students, to internally access and use the Software as authorized +by this Agreement from your secure network to perform the work authorized by this Agreement on your +behalf. You are responsible for the compliance with the terms of this Agreement by your authorized users. +Any act or omission that if committed by you would constitute a breach of this Agreement will be deemed to +constitute a breach of this Agreement if committed by your authorized users. + +4. Pre-Release. Software versions identified as alpha, beta, preview, early access or otherwise as pre-release +may not be fully functional, may contain errors or design flaws, and may have reduced or different security, +privacy, availability and reliability standards relative to NVIDIA commercial offerings. You use pre-release +Software at your own risk. NVIDIA did not design or test the Software for use in production or business +critical systems. NVIDIA may choose not to make available a commercial version of pre-release Software. +NVIDIA may also choose to abandon development and terminate the availability of pre-release Software at +any time without liability. + +5. Your Privacy: Collection and Use of Information. + +5.1 Privacy Policy. Please review the NVIDIA Privacy Policy, located at https://www.nvidia.com/enus/about-nvidia/privacy-policy, which explains NVIDIA’s policy for collecting and using data, as well +as visit the NVIDIA Privacy Center, located at https://www.nvidia.com/en-us/privacy-center, to +manage your consent and privacy preferences. + +5.2 Collection Purposes. You also acknowledge that the Software collects data for the following +purposes: (a) properly configure and optimize products for use with Software; and (b) improve +NVIDIA products and services. Information collected by the Software includes: (i) application +configuration; (ii) browser version; (iii) and session metadata (i.e. performance and usage +statistics). Additionally, NVIDIA may collect certain personal information, such as your name +and email address or those of your authorized users, and other information necessary to +authenticate and enable you or your authorized users’ access to the Software. Where appropriate +you will disclose to, and obtain any necessary consent from, your authorized users to allow NVIDIA +to collect such information. + +5.3 Third Party Privacy Practices. The Software may contain links to third party websites and services. +NVIDIA encourages you to review the privacy statements on those sites and services that you choose +to visit to understand how they may collect, use and share your data. NVIDIA is not responsible for +the privacy statements or practices of third-party sites or services. + +6. Updates. NVIDIA may at any time and at its option, change, discontinue, or deprecate any part, or all, of the +Software, or change or remove features or functionality, or make available patches, workarounds or other +updates to the Software. Unless the updates are provided with their separate governing terms, they are +deemed part of the Software licensed to you under this Agreement, and your continued use of the Software +is deemed acceptance of such changes. + +7. Components Under Other Licenses. The Software may include or be distributed with components provided +with separate legal notices or terms that accompany the components, such as open source software licenses +and other license terms (“Other Licenses”). The components are subject to the applicable Other Licenses, +including any proprietary notices, disclaimers, requirements and extended use rights; except that this +Agreement will prevail regarding the use of third-party open source software, unless a third-party open +source software license requires its license terms to prevail. Open source software license means any +software, data or documentation subject to any license identified as an open source license by the Open +Source Initiative (http://opensource.org), Free Software Foundation (http://www.fsf.org) or other similar +open source organization or listed by the Software Package Data Exchange (SPDX) Workgroup under the +Linux Foundation (http://www.spdx.org). + +8. Ownership. + +8.1 NVIDIA Ownership. The Software, including all intellectual property rights, is and will remain the sole +and exclusive property of NVIDIA or its licensors. Except as expressly granted in this Agreement, +(a) NVIDIA reserves all rights, interests and remedies in connection with the Software, and (b) no +other license or right is granted to you by implication, estoppel or otherwise. + +8.2 Your Ownership. Subject to the rights of NVIDIA and its suppliers in the Software, which continue to +be licensed as stated in this Agreement, even when incorporated in your products, and the extent +permitted by applicable law, as between you and NVIDIA, you hold all rights, title and interest in and +to your services, applications and Derivatives you develop as permitted in this Agreement including +their respective intellectual property rights. + +9. Feedback. You may, but are not obligated to, provide suggestions, requests, fixes, modifications, +enhancements or other feedback regarding your use of the Software (“Feedback”). Feedback, even if +designated as confidential by you, will not create any confidentiality obligation for NVIDIA or its affiliates. If +you provide Feedback, you hereby grant NVIDIA, its affiliates and its designees a nonexclusive, perpetual, +irrevocable, sublicensable, worldwide, royalty-free, fully paid-up and transferable license, under your +intellectual property rights, to publicly perform, publicly display, reproduce, use, make, have made, sell, +offer for sale, distribute (through multiple tiers of distribution), import, create derivative works of and +otherwise commercialize and exploit the Feedback at NVIDIA’s discretion. + +10. Confidentiality. You may use confidential information only to exercise your rights and perform your +obligations under this Agreement. You will not disclose, nor authorize others to disclose NVIDIA Confidential +Information to any third party, except as expressly authorized in this Agreement and as necessary for the +Purpose, without obtaining NVIDIA’s prior written approval. Each recipient of confidential information must +be subject to a written agreement that includes confidentiality obligations consistent with these terms and +must have a need to know for the Purpose. You will protect the NVIDIA Confidential Information with at +least the same degree of care that you use to protect your own similar confidential and proprietary +information, but no less than a reasonable degree of care. Confidential information includes, but is not +limited to, the Software, including its features and functionality, Derivatives, and any results of +benchmarking or other competitive analysis or regression or performance data relating to the Software. +No Publicity. You may not issue any public statements about this Agreement, disclose the Software or +Derivatives, or any information or results related to your use of the Software, without prior written approval +of NVIDIA. + +11. Term and Termination. + +11.1 Term. This Agreement has a duration of twelve (12) months starting from the date of initial +download (even if you download the same version or updates of the Software later and it is +accompanied by this Agreement or another Agreement), unless terminated earlier in accordance +with this Agreement. + +11.2 Termination for Convenience. Either party may terminate this Agreement at any time with thirty (30) +days’ advance written notice to the other party. + +11.3 Termination for Cause. If you commence or participate in any legal proceeding against NVIDIA with +respect to the Software, this Agreement will terminate immediately without notice. Either party may +terminate this Agreement upon notice for cause if: +(a) the other party fails to cure a material breach of this Agreement within ten (10) days of the +non-breaching party’s notice of the breach; or +(b) the other party breaches its confidentiality obligations or license rights under this +Agreement, which termination will be effective immediately upon written notice. + +11.4 Effect of Termination. Upon any expiration or termination of this Agreement, you will promptly +(a) stop using and return, delete or destroy NVIDIA confidential information and all Software +received under this Agreement, and (b) delete or destroy Derivatives created under this Agreement, +unless an authorized NVIDIA representative provides prior written approval that you may keep a +copy of the Derivatives solely for archival purposes. Upon written request, you will certify in writing +that you have complied with your obligations under this “Effect of Termination” Section. + +11.5 Survival. The “License Grant to NVIDIA”, “Updates”, “Components Under Other Licenses”, +“Ownership”, “Feedback”, “Confidentiality”, “No Publicity”, “Effect of Termination”, “Survival”, +“Disclaimer of Warranties”, “Limitation of Liability”, “Indemnity” and all “General” Sections of this +Agreement will survive any expiration or termination of this Agreement. + +12. Disclaimer of Warranties. THE SOFTWARE IS PROVIDED BY NVIDIA AS-IS AND WITH ALL FAULTS. TO THE +MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, NVIDIA DISCLAIMS ALL WARRANTIES AND +REPRESENTATIONS OF ANY KIND, WHETHER EXPRESS, IMPLIED OR STATUTORY, RELATING TO OR ARISING +UNDER THIS AGREEMENT, INCLUDING, WITHOUT LIMITATION, THE WARRANTIES OF TITLE, +NONINFRINGEMENT, MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, USAGE OF TRADE AND +COURSE OF DEALING. NVIDIA DOES NOT WARRANT OR ASSUME RESPONSIBILITY FOR THE ACCURACY OR +COMPLETENESS OF ANY THIRD-PARTY INFORMATION, TEXT, GRAPHICS, LINKS CONTAINED IN THE +SOFTWARE. WITHOUT LIMITING THE FOREGOING, NVIDIA DOES NOT WARRANT THAT THE SOFTWARE WILL +MEET YOUR REQUIREMENTS, ANY DEFECTS OR ERRORS WILL BE CORRECTED, ANY CERTAIN CONTENT WILL +BE AVAILABLE; OR THAT THE SOFTWARE IS FREE OF VIRUSES OR OTHER HARMFUL COMPONENTS. NO +INFORMATION OR ADVICE GIVEN BY NVIDIA WILL IN ANY WAY INCREASE THE SCOPE OF ANY WARRANTY +EXPRESSLY PROVIDED IN THIS AGREEMENT. YOU ARE SOLELY RESPONSIBLE FOR DETERMINING THE +APPROPRIATENESS OF USING THE SOFTWARE OR DERIVATIVES AND ASSUME ANY RISKS ASSOCIATED WITH +YOUR USE OF THE SOFTWARE OR DERIVATIVES. + +13. Limitations of Liability. + +13.1 EXCLUSIONS. TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, IN NO EVENT WILL +NVIDIA BE LIABLE FOR ANY (A) INDIRECT, PUNITIVE, SPECIAL, INCIDENTAL OR CONSEQUENTIAL +DAMAGES, OR (B) DAMAGES FOR THE (I) COST OF PROCURING SUBSTITUTE GOODS OR (II) LOSS OF +PROFITS, REVENUES, USE, DATA OR GOODWILL ARISING OUT OF OR RELATED TO THIS AGREEMENT, +WHETHER BASED ON BREACH OF CONTRACT, TORT (INCLUDING NEGLIGENCE), STRICT LIABILITY, OR +OTHERWISE, AND EVEN IF NVIDIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES AND +EVEN IF A PARTY’S REMEDIES FAIL THEIR ESSENTIAL PURPOSE. + +13.2 DAMAGES CAP. ADDITIONALLY, TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, +NVIDIA’S TOTAL CUMULATIVE AGGREGATE LIABILITY FOR ANY AND ALL LIABILITIES, OBLIGATIONS OR +CLAIMS ARISING OUT OF OR RELATED TO THIS AGREEMENT WILL NOT EXCEED ONE HUNDRED U.S. +DOLLARS (US$100). + +14. Indemnity. You will defend, indemnify and hold harmless NVIDIA and its affiliates, and their respective +employees, contractors, agents, officers and directors, from and against any and all third party claims, +damages, obligations, losses, liabilities, costs or debt, fines, restitutions and expenses (including but not +limited to attorney’s fees and costs incident to establishing the right of indemnification) arising out of use of +the Software and Derivatives outside of the scope of this Agreement or in breach of the terms of this +Agreement. + +15. General. + +15.1 Governing Law and Jurisdiction. This Agreement will be governed in all respects by the laws of the +United States and the laws of the State of Delaware, without regard to conflict of laws principles or +the United Nations Convention on Contracts for the International Sale of Goods. The state and +federal courts residing in Santa Clara County, California will have exclusive jurisdiction over any +dispute or claim arising out of or related to this Agreement, and the parties irrevocably consent to +personal jurisdiction and venue in those courts; except that either party may apply for injunctive +remedies or an equivalent type of urgent legal relief in any jurisdiction. + +15.2 Independent Contractors. The parties are independent contractors, and this Agreement does not +create a joint venture, partnership, agency or other form of business association between the +parties. Neither party will have the power to bind the other party or incur any obligation on its +behalf without the other party’s prior written consent. Nothing in this Agreement prevents either +party from participating in similar arrangements with third parties. + +15.3 No Assignment. NVIDIA may assign, delegate or transfer its rights or obligations under this +Agreement by any means or operation of law. You may not, without NVIDIA’s prior written consent, +assign, delegate or transfer any of your rights or obligations under this Agreement by any means or +operation of law, and any attempt to do so is null and void. + +15.4 No Waiver. No failure or delay by a party to enforce any term or obligation of this Agreement will +operate as a waiver by that party, or prevent the enforcement of such term or obligation later. + +15.5 Trade Compliance. You agree to comply with all applicable export, import, trade and economic +sanctions laws and regulations, as amended, including without limitation U.S. Export Administration +Regulations and Office of Foreign Assets Control regulations. You confirm (a) your understanding +that export or reexport of certain NVIDIA products or technologies may require a license or other +approval from appropriate authorities and (b) that you will not export or reexport any products or +technology, directly or indirectly, without first obtaining any required license or other approval from +appropriate authorities, (i) to any countries that are subject to any U.S. or local export restrictions +(currently including, but not necessarily limited to, Belarus, Cuba, Iran, North Korea, Russia, Syria, +the Region of Crimea, Donetsk People’s Republic Region and Luhansk People’s Republic Region); (ii) +to any end-user who you know or have reason to know will utilize them in the design, development +or production of nuclear, chemical or biological weapons, missiles, rocket systems, unmanned air +vehicles capable of a maximum range of at least 300 kilometers, regardless of payload, or intended +for military end-use, or any weapons of mass destruction; (iii) to any end-user who has been +prohibited from participating in the U.S. or local export transactions by any governing authority; or +(iv) to any known military or military-intelligence end-user or for any known military or military- +intelligence end-use in accordance with U.S. trade compliance laws and regulations. + +15.6 Government Rights. The Software, documentation and technology (“Protected Items”) are +“Commercial products” as this term is defined at 48 C.F.R. 2.101, consisting of “commercial +computer software” and “commercial computer software documentation” as such terms are used +in, respectively, 48 C.F.R. 12.212 and 48 C.F.R. 227.7202 & 252.227-7014(a)(1). Before any Protected +Items are supplied to the U.S. Government, you will (i) inform the U.S. Government in writing that +the Protected Items are and must be treated as commercial computer software and commercial +computer software documentation developed at private expense; (ii) inform the U.S. Government +that the Protected Items are provided subject to the terms of the Agreement; and (iii) mark the +Protected Items as commercial computer software and commercial computer software +documentation developed at private expense. In no event will you permit the U.S. Government to +acquire rights in Protected Items beyond those specified in 48 C.F.R. 52.227-19(b)(1)-(2) or 252.227- +7013(c) except as expressly approved by NVIDIA in writing. + +15.7 Notices. Please direct your legal notices or other correspondence to legalnotices@nvidia.com with a +copy mailed to NVIDIA Corporation, 2788 San Tomas Expressway, Santa Clara, California 95051, +United States of America, Attention: Legal Department. If NVIDIA needs to contact you about the +Software, you consent to receive the notices by email and agree that such notices will satisfy any +legal communication requirements. + +15.8 Severability. If a court of competent jurisdiction rules that a provision of this Agreement is +unenforceable, that provision will be deemed modified to the extent necessary to make it +enforceable and the remainder of this Agreement will continue in full force and effect. + +15.9 Amendment. Any amendment to this Agreement must be in writing and signed by authorized +representatives of both parties. + +15.10 Entire Agreement. Regarding the subject matter of this Agreement, the parties agree that (a) this +Agreement constitutes the entire and exclusive agreement between the parties and supersedes all +prior and contemporaneous communications and (b) any additional or different terms or conditions, +whether contained in purchase orders, order acknowledgments, invoices or otherwise, will not be +binding and are null and void. + +(v. February 25, 2025) + +NVIDIA Confidential \ No newline at end of file diff --git a/deps/cloudxr/docs/media/accept-cert.png b/deps/cloudxr/docs/media/accept-cert.png new file mode 100644 index 0000000000000000000000000000000000000000..cce2a7f16071f58edae67e68ece7c5ea2dd52ebd GIT binary patch literal 44526 zcmaHS19)XY(r9dRVmmjsZQJI=b~3T;WMbRN#J0_eF|nZ=zWv^N_kR7II>oN; zI^A7$?hRLv6NiVvh5-Tsf|ryKQ33)2ru}O0P!M03rf7{rARsttOJQLJNnv3^1xGtG zOKVdgAc^o~bw~~6QH*SDB_c2=5do<`vPkhL0#ZKKC;S{Sg@G^a+r)g92l&a3KO>|5+^AFtEtep8%ohnw6$GwaVvmI&q0 z0@bAQ7^r8{*r`bq#4aGz3_x%KpoiZ6I%DAxFp#xyjehi(wjd&_dQJ-8-y1%=F#vfI zbU;Ai0UWZFnEOKBNI)HugvkfM0!c!f-ruuT!qtTIeq-T3Zu?k*0%JAl7;~kEMKE*ATg| z{N`nF7WQwMA?m18x`Ysr#)~-Ljz7)0KHNqp72zff;VV3gX-UPfm?zc~&qfWUDiN+B zCACCI2iAace`&0k*9=U^h)Q&f;Wr_Vv@)3gfWH3bAxB%26N`KU+DFJ1#G#vjio9v3 zoJNPBwAS;MXS&Oyhdbbjq#nNSU-!;NVUlPJaoCwox99lseB`Z}gDCZG7jfnuBSkPj zg?9aN&o~?~@k=DE3<+{S5|x;6=?8~UHXhEBU7}LlX!N(*cq*f$It>9@RLOvM)fWxR zHd@N!Eno9$Z$j5Ik>WJW+1Q#x)1lx}$6#LMtJk;CI)mTD&=kG`;-mzad`OWBXh@|I zcodPO*LBqR%ZZ22!=*#Ju5&+2eZ4mHlTa)7CkbN`kA@MVCZ_`aQgz%Flyh+bI)3+&O18d2+topWaNO?9mzQMvBM9OSf_2T$ zv)fPogK@v7{Ot4b4d^v%M}WK|=WAL<@)0#qK*NCtkc^OKG1z;2?CE)M_1+C!hE{(K z3*c^@L(4j0 z-`d;jb2QMHw7&b&H1uKTzqdg7x(mI#qEWy|VToNAtia)w8J6sDmF7>}$381QXRxK& zT^LNyJh$?j=tHg7=B2CfdaEI&mWYl{0^u-v%YrwjyghQ%tBzB>*Gib}?@UJSE z|H*j%FiB2N;$Gx%;qp6M9*_SNHDGb;LaE< za2Mwv`^RHYV*>fKcz0laBq$+4(lAg-1L8YA)M_WJG#Il0k6fsv9|s2Tl#rP{ zY6{@4f$zEaEdGhxw7>G0xhga3iJ>@f!ulz@UaBzy^jHVR)MnS#Q(76gg6 zCxws{Qi_KY380KiAMq{((+p1{(T@9WLg4s~Gh9btEslFcxDeGN+FOWG1#eL>T7kxy zbWDuX;v06ToB;C-l?8AckZwduUh*HhMg-n)Jt4c?^FOeSkf3SULjy95kWtYNbrQ5# z(!(Yz)|KCA2C3_`Dv|k)tTecnf_(5sn4naJU)a-=BR7OGhe?Ow zgn5NggxL%X58$JO7s}UDcq9@_dMn|Vg*C=BMmqm=PF@gv5l|z^jLRAo+&8HY(vhGe zyCfwb(I?|4@hi4aqNU1Cl8A_7%Bqj5kDilgl{wD!F8;1qRkpdn@g2hjzbQ&fnpe0} z+^3+p*sS<452K1)Ewe(cxLN(YV@Lu`++dE^wux$y&dT60yv0$mQ=q_0@131Qg5%C1>O!EEVo4#2jIomk5 z|NVy5+)B*?f2pHrwP0`ty9m83xuQwLs$>bg>S&GBhUQ$rChq~{ylSnak${;Ygfnm) ziQ$mBnQ@AN%Q=i|iHj$THVY-|H&+$c@3yrzx;E&xd1o5u*pp^v#$xou;R!=J;|udm z6JKmImMCT!7VGQUHAD5#&SjkHqY{canx*vuH{r`fK52dher>;C-_8#o(2brc!Zm~P zUa>%C2;F{{5HEO4IC}gpzbCtp(!4Cgs2#Zest`a3uh@`Sub5JSi&#liTU7dx?~vwD zMRY8dTLy!Sx6A-}g=|dbTko8yg9c|M(~_lHOIe;}SXrNQq-DjiIkQ!RdxKB|ui4{d z*`f8V^X=l{wtP0&?-QeG*UJIL(de+^&T{d8bLBmj^VPnWG zxC?k32+s(t2#9#;F*`BAG50a_;#yHM_^n3!t?^qwb+R0PHgo>QE8?YgR@o^XQmn~3 z{|P>YKD8`9F9sQ%&D>^qM}z5w89y$Tx?T;pTvrXNo2lE~*4jS0@%=Z~Z@`A~@8$L_ zqtn`g73q~DUMTzzd?%g^9zM@Dk3)}($G7qEUYd2QlI2^*C1Vle=4g*Io5RV+&E4M@ z{Wp^Lt7r2URwv_+Rd+u7<`)!q>lcqv#^a;AXS*GDZa1mV1UG)u_xn@3*-$+o0iY3} zTA)p!d!XZ>1YqglreKR;E|BdI(@=cKLQv4Kn#hik<^!l#$Q-j%KM2ACSbXgztf=q)*^Z8IjZiv-IH)HE#GEiJdGrr-W>mt9in5j%mq&d|^ ztw`2!8*dFh4+A3GaqLiQ!tCU7DGEtdC_3cfBy`eO_-yxoY3|XHVUdO>VkbzBLXWN| zdJRFw=rebb46+tc9vp(5LeG=yq**X9n(xj^-bubmLMlO*g_m(FcVCe_C%hBt z(byt#&=7BZZfI`!Wn|Ml4KkKkMjKO(UFR|7{nU_DuEycKLkz@jW#-dw&G>!}rZ<_g zF>%|t-s0YJ!X7$Lz-Mc-#&XenZPo z+$S4(CAuqG6)8@y*Yc!YSNmiXt}JOeno1TxhUtfY@3cDIDLtRsOy{KC?7->JYVtgZ z-bGWc_PvT$q6SY>^U0d zGlKUNewkkH(>Kt*e=*t@$BG@xhI;kRvcdiK9MG$MLS02I-Gb6`Xy?-gFkEldU+Gq{ zV_(s$e?LVSjd>_fE1zGySX|_WccZHiv_fOeYFBdAUB#2+E;t@|ipYq7zD(pYf7*7+e7cU4fW3wgif?Os_npUi;Cdv6e7-oM zpiMj#uK-`$zVgw%_c|MO4po3%4d-3OX-%lsZ>>|hc75AlyADNlHZtpV6_vfcW1W? z^o8`M`ZnEczOb*ZHS8@d>SL+bufE_6xjbuypjV!dK#in8->xT7-hE5Lpp7qoA0O#*-(Y(aZqPUe+?!t#NUj(}%o3m{K>G^;N+%4kL0*;a6` zSpn?uZ<+aAi67gKGZ>Vrx;--w`oMUBSm1zK*01a$#Z*JmOjZ_%`U{2v0tZF`0{w!3 zzrH}g*g)X_fPsLdfN}l@RsyE{7Y_&!P^cvk*uQwRzOH{iabN9A`d?Sjgb*OeuRD~l z7L*I}zqx^Fb3y+HhX0}g2`URqN`76HjU7!*ZJjLaoH^_Ik-iYn_7a*-KtLE|e;cr* z66qBX5Xh>fiiWd>tPGd2oeiC#iJg%tox6?wUp+uP?p$A>jj6LCp}UQ>trM3!FY!M( zxW3@OXnJD8f3P@P@e*suDi8|WIhqo((J|055c9zh5)$$_nwW7ZiHQA6{OgXF*uvS_ zo{OH|&CQL@jhW8Q(VU)0fSrIY|GPLeEIYK>vReGj+H8e~A61 z{8Q{7e*M!N&tGL+no6clcGfO`yT!-I!ou?p6aNSH-yQs?#J>epZ7rSonEoa5U+Djq z()c(1KkWP`_P-_M9W712hVq|1`Sf5Mgz=9akYE64?aBt-;O+=0(J)swQtGqxU`r#O$oAh5B((j?<>r|d!8 z%v{aIDs*WoNo(x9Npp<#pM|*0ee#^njBA{|cVLfKZpP}D#Me01vKqPlg&ju>5rE>I z*ndoMihue|KXyhVPTJPuJpH(UC?6Sm41tkDJbeft8>)AC^gAizLC{A-2q{=p6R1-i;8f(wFz0Q(DQ zqn3Zfm}lY)!^mYkem^jX@x(xt0upwt+U(v-|fREUSP0t{shZI~wm2+Pg}j5fVL zYr1xjPCp!&t{EvbxC$gg6GMPCBluSl(K4!OdbatLl=nDgXQmi!RZ-VlTk7~XG*>eP zC4qvhWm}FTg!b#!qk@^Wn&JYp%Lb@!4F^cP|F|=}6k?+`zZl%A{pegs;!;tG8FB#8(DT z(*5n_6L9*3Z6J*j)U4dYbJ9}p)86&G55Wx5*ej2P;RoQXR^Zk4$bT*TkaS}yB%9r} zOFGi@ac#4b1?pzuwe2O{yg)eg0E^WHRougWvM(Ww49V?hSf^xNBMw;;<vSx&8n-`C~h+(~VSs>@Q)h$hi)U-5&dTiHudZ z#%YCh_`sC=KMUh=^FMkrpezVvZt%vC))vQ2!Iy|=;94ei2NR`d)qBHXOU`c|KL>Iq z9_}^1i-n|YmV8^oFlox&LW4)np&MJ$>$mnYcV2^r5A^H(8z8axAdjK7Ebyu&&n0&1 zBU9*SO(B7`@~+r-9e3w4VMtK(Gn zb6P7cWev_pr;~7(a1mUen5C7$5F9sztMu!L$u!yvovkptTWHvB#{svnZQQU&r^c7;m@YiG5 z%rlu#qc;>629U;PqWNCAy^Tz>u;r+iHwmDX=$E>4IrY?wS2r!R0RG-(WiL417A*S< z28xFoiZr^G5Glk;ejJKm=;`nxSC{jbQStMRAWpmUtk``E3#(xyaRqmUZ!giIN3A`x zSauNUh>#zmx6CPY=hUM5FwEX_K0futQ=G^|(zw|(0SgSk-N;FSIX`;(0|k_zB4_mz zC-A$q^eFqi+63Fzw)NXWLPS?JQw9?tbgin6F}aq$znhtMp-UIQ(tR!3?#@UOW9mW} z*tPFwTEcC!Sa(&EoJ)GoLW&_FaNz7nqRl+`GsuQ^Q8JRu+U9S+I2i*jzt#_fOp>@p z&dPu&7Ivg=;A&0O1o)c;DUCN~dA3&j61#Ys&3@6plY>MUhXxOeJ9OBna01+(tHEo~ zBkTz54-g}?3_>3PN+^v{AP=S#wVv6$nfA4Rg|o2yx(!uG*wMI#OEF1&k&*s zQPLv1w3rKsknm+=PLn^K&mE+dTdV4>cs{nYrcq5>(cNfcO7pIH7-NbK$gC`F>vYfC ztqmRYOjM0SWAR+->;{oj}hIxQUAPYUl39Q*>zJKD*vobLm#p3aPKejwx zTJ%}e^FEeNNzSsd>$;Yvp`xlQFaJKSES!;<+3+0fp?V=zGqN$yohmJynVtQx_0}Oo zqn37k&1hHH*lKMFx7ft0rlocQ@8Ie=G)PGWxc>!v11mxd%f`-4Q&p`J-P|K3C5gRP&|REk7m--%l0KbDu|wnCi2LR?NHuByg)l#{FkYz8Px|>{6_szqW$0rAqRCd z&-w8N&6|F+)pGUPz{-;pkLkfdN<~LXQWA8glD3XUqvrDw_S`=24S9A$dp>QP{XSq{{nx_1qM5o@&3)`Y_ zA#oc7~_M!psu$=@T}S36!9d(*|jMt z7@4So3`w5nNBrokv@4PHewv{*#hMus`T7IbkvZ>GyyV?1yNshMIyxr5b#-q(nZ1t3 z^&bNDh^Qp~6d-Q4#PYxOAmDLX18mNTb3F{xzjwb4%G)>^^~H2wk&Q3cBC>OFS(nKB z9ExP7$Cte|tuNdqHMyNN&*%75V4iDleE?3Abu=~8i4SRC zM-lxD-rs#T-I+x$UJ-B`t<-BYhA()1c{w?E3O^gV-^1Y%;kgYlG0}&2kI$QA20?p2 z?uPm6iQ>nchV^TOIzwg5MH1|~KBTQ|EnO1U+dqFK?#!Jf08S=GN(v{@!%9m^D111i z-~4X(2&5h;s+y~(hJu$NFT1V09xv6`0w4Ou_3H?{Kc|DOa_~6ZN16^%3H(f^E6zqJ zMBc7L3Ccm|npjSYmoT{9J}OghQRVrLO_P)3i#WFGoXn>o`ff7NK3Xxs5|~Iuey~jH z|K#@3+Mlt}_qo@0J)DrVBuYJd-lO;If1lO=Oz!-gsyV-=$ev-So14+AFXCiC6GEj@ ztI5eXBylqQ{d-x5SzC!jJH_{h*xkOe{CX&H8UaoA?5rYdttY%!43=O3FN$YnDh3|hL{Y+Eoby4bgFR&-)r}10H zG3i#;?LMS3#Jcc&&q~iX8btzcPl`%V;fwVXyGCz8*$;Tmn-Pw>CW7 z!RvIA-A2a*8k!Nzlp}aZjc9^Sx6Oe6?ewx;tyx-Rm3(ghGL`ta`#qBYX8HU2?^Vkj z-Zr}BAaGMx+7&0qc-|9{}CZDekw&*4ll|gsh;F?P~>M*HT(k194G}$a( zr6S}zUFx|IvWsdJv9WMi*mZui!6P87pvv=-ozb17L+K9uE|5DUv&?hGuUwsw;%Rhg&ATm zriKh`C4}IyR6e(YbNgNVjE;@*YEEI{DWj~hKL>_4ceY*#|MPSAyM;B9WOl;P91TcY zDFlnfVurd=sq=B42k&J|wUsV$2DmVd5#9Mj`aByGPvy>>DaBYl6TEgkGp#<@T335N z`4ENA$Rc5Vz`_g^R=uDjFE6`}ZHTBcF(35BBV2qjdC6JjF234E99H3kf}4u)0W9X! zs={ZkRTP|RdUV9kBW;oa<`RBX;KOynNpN_n3!-?za)LlW&YZ#UFvZ#1Dl;3ck-+W5 z*l2Ux3&g=?2I9M??Pg;n=CpP+pEDt>aBbbS!!WUwbVHb{-2Q68n~tLS9DQ_^QpTTz ztAMcA7f)-+Z{ZYK&ivdSb8BnsRbp%E#UUM-(^*Z72j;G3ORkYU-(Z+#`MCK{*Qm5C zGaAK0(k57ivYjO|G7>}5t2k>U60UHNesTYOTA~unEI0~U^V8GQHKwa0rg6pN8^N*Z z^%v(@XifeIkqC0{R^XWQ)=p(nvpW%45X=T*A%p2xMMOjt2Fpl*mSWURt`}mP2^!Wx zQHYZk5UINshj1(N-R17&VIjrlJ5l&vi|tJ>=Gwy{60tM}Qw>i3gcq(#ImDn@=ups; z%PuM|;X-zH({*t)wHQZ2JMwUSo-0B}54RBanX*;$h#L9EUuH@B97kAz4XDq{+U)S{ zAFXe!oXF<&)!9rr&(iNEquup^=^JMp9#VqY6^Rsjoj{)zRDjbjxu?AeJ>;sn3B$d~ zr7|-Q^lD3lIuO>u7jxhFWv<~R2VR$bc@=qb?&uYk4K?@#Wrj`Bx0@N8$Nu z%hsoymAg#8DZ*41kfxTFy-|1uppc~mwIQ`=j)BK?vr4>Qwvj1hI9@DZV4o<$T<{ub zmeZ1FLXy{YKMijI7nOj`eMp2W==a9j30P1d5|aJG2{tx>m!_XiLYQuL#z9jAA`b&2btRuG z`0oxJA)wTSA|~WMT}cGYd#)-=N?)P$Xt~l$>Y%I~8Den!@KCeqobU|~>!HRK4lCW@ za(=+JB}9MqrGBN#aB5?t@^NiIvfn&SWosr^Op^rUbZO=m^ph(!C4+A6`|O)S^|U%N zWX8tTOx!Ns9TBWP4HnmRQ`OOnOXh-o3=#3#^5E@}je$W=Muv8w=%R%LyAcIz5Z*#V z>nbPf6^86g>dL4*-?iaFBTMbgja0Dg{T&hSVfV}oHZ~5KesW{Ht=Hpked+%BVIa$p zGwAn5<`_+NSlH_qHW0q0TRNlFNL|N&JVP(4egXTA_si#`G95t^B;J&i%F$DotHrXUWj764OVDd?%k)M2xz0rz~YQ}L= zNa?*?a|uh52&^p{zPJ0+Qy}8c8LIJr9)i9~ZC;hHov9jXp=3j)wkH{*#u8CO&81^G z3DXH|ajjkiGt%oepN*~meqEazReABRb`{(^+tLaTV zS_=LsdqZrmOWD(EunsHlg8a?%hI9Zt4|m}PzLAoT^y%l$@7*T^g|ZFa(1 zd=SK#+NDH79zO#p0j>Clrydk|XmGHEFaf1*6mrFCq{Xko8Qk~Aqgpa+HXw+5sDmLR23Ssn9G6%TuX>i2Gz<);>^JG@?uPa^%5oY+@6qr6w% z^TA|3Wqu>S_HaJ89DckKoxZqx6}=`4`5m?ueMrK%d0)LeKJGca9BJNpr05%FS3sBI z>Rr++21@qSuD!ad=)i7Slic!W_4impTvmJAo%5c}T{ZDafWTJ{N{yEpTQ`QJDsTZD zyfs3GA-7QKo|2uCcTTMNg@$BAo}t{3N(0MP&!)=$lW|weKZuc@T$_!c22=0d4(01W zM?rMYC+ukO+-svaxJ5A(?srkZBYLSeKITd^Cn>`XgY!&gy-$p_AYkT{;Vh5(>;_AT|(uS`le9tDknK5+}FoqN5w;W?-<{!1}cBb;#uGyw1 zdZvfuzKmi=UUOi?F>bTjf_+F7$(b;F&A;~s0|_4L>JVcaB?B9^*4KR!nTwV3dHtREo7vd&P zOvsD1FvzZAH&_@pMQ@Z9^Pl27rEqG9uyCJatlORBIr>l$nT+)^AcmbDU{UxYxKTO5 zE&OGEH@Z1n8_U2kAus;8pL~R`^~>-Ue=m4H)+c!cHe?$XxdD2^A$5bU!o*1U*=d>}74Z38 z)06kY#j{9f6cwzNT1SPw5qxTrO7z&g*j!6|*p>nSr)UI{c^8-Zo~CEE;4v6Vf_pQ( zSuq7|Y~tcgN^&5!in^5J;e(vwuo2!ru6B(K>7`JY68Y{o7hzAFb$*s$Rs{_7aCY2C zk?lKFg}omM#ZVOK5_F{RF4_KZWNP<)?&Jh}VJ6aK#7-x=O{aOms#BqMbd&IwG>rvV z#JbQp3ZVifjbR551FKYL#jJ$Ms1zZQC7Ie<0`fFRL!?IvSPealAkc47sz5?Sh0uxe z&dkdc1S0d4C8~`}lP(z@H0pkGObE=(*mWF*0w<6$fgL~troj$KMHaLkY6p0rU)?h0 zL=7sQO`$?QOorpoz$|h}4&(S!J5=xYPH~HH(gk`R)I0vb`et2fJOsXOxT56uJg)D+ z%&O5$$Qy>{G-`b@6yoLMQxGaRv`62$Uu-V1o)h`An3TdHfFc?ojt4gM$RPU@(0-CO z*$ZQl42P?<`V3BRqp46R%z&||p|TU{JjpAD!KfVQeNYe9yAA7Qk`~>2fzjN_ARo;N zHI`eQw^`-*L%tJ^=8$G9z5Ydjr_OOS{(g}<9W%qBzDR~R|LI1(>jZ~oo?UnqX_ezH-yOQo=-G$3f2TSUOCDr^ECDSj=+BS0{dXN_`WPW z&7ps!kknSuINOc&I_iVzej>EPazUfCp`I5G-*~^H#S!$U#11(fmgMVJ}gCjjdiVw|N?j)x- ze=in^Q3N0xum~+of4`SWv&ut(Qa?p=FaV$h^zKXP8T#XSoTXW_=+<{aBDUGMorU<_ zjD|kkIZcmyPpsRPr}nUP`TP5}G&Fi$@(~OvGEzZ#l6k^;0wjQ=VL&}Jdc4&g6#Q$A zq(t%JG;z+jW|`-V4bk&OTx&TxjJhXEfATz+ty_iS5>DoP+)-3}>>nP4IX9RH6-hpH zJ*<}0yKGXo>+E&oHUx^tjJWHzs5e8T5A^m?q$t#>)ahf0GLmf6mCQ2)u(R-3q%%Q< z-OEi3Ia9|Vr+W%=i$2h$7gLo{xnVK%2ToR7$9sfaf$>+yXH|jrp;wf~p~ELAN7phr?7V5R-Z@W`JX{b_Tki{}Z8I{n@41dw>va8z zhOa0`LO(Rlc7L&C|C}e{k@s;`YTnDKi#5S7$!lEw6E?$i6?%pn0KBTIlElqv@W7?+ zF}&$h#4;?2MJVF5XMi{{U#poJBHy21XEdHuUqqx_45+gC_+U;(b-k_|l6oiMheYH* z%mNztF`D1}p!={#@X@sFdX}VUr|*7zpb<({KY&de%`FY@tC)eAqKbo)DcXph&@$%x zr0z!*NyvpOayhehtgx=yVrE`){&mV9O;XCqT*(_G@Y5AD~a)9=VdAXUGYTQXC{ z(0C@K_bI=%Fin%suR7zmA3?m%Eyx4qy;)K8Iy!IBk>ff&%J$QPAReY|C{Sh_p3(@k z@AWCKUm@eHSN+shTHEkOEso(>2#$xxBN!r!6g7xLSyKEa8As;=-5{)dBGVAeZH{0c z2RqP$r>hhaboUKTx%M%7DX<(~!j=YFTmC!Yw;f~3(Bv8CvVL689)|5ex6L}{61i5* z1F_}&`rj$4O^ryN)ux(tG)ZD1oLh-G-sPKS8?r^EXzBt*!@OkN3Wc+Pd=3gwM^R$Y zL-^7kBmU`!9;>dqDmi*sXI|nDQ|ZFr)UbV+cG=0TGHkO{9A+gpy&i2cJgqgTsu28e z4MV77qf7mL@e*d8@EBEy=+}k`{Qh|G7fP{lF`Z-pLCWWP_&#lV*_vS$1jZeUb3K80 z=~{%x!E2H2!$KGAbkIl_q)8M52cGB8Wu|>o7LM=bx1`*M%+zKrzjOMolE`%j3P5n; z)gS^;Q#*hpK7A*w2cfZXvai(_@l?rJX|&={FTxU}j^jFrBbwVc$%nH9GdV%+3|xt$ z2MG7Wk48r`oq6Xq<=-Q~-L;B|l-x|M+pU+rIo)9mgu&B7?VPPLyH>T2Gx9s#1U+6@ z&N-78+00vTyqg=;PHzcoIe!QJKH@BA!RkzxYVz^2hsb{eA&x&A1F2%R!q=abX!#wR zNo%*p@4k3W*D)GS+nR#!W#snlqy5q|6v$)uN63&4J&qnhnfDCZY$aifJm1I4rib*y z)nYEQX`H>Iw@{XC3St9vsHhIhJiG5REQKo^CR54%&}mJpS*#e8YuX*K{Jwx!;4eyf zTs%0lgcsG6v=+75mvHgRj(eJA!r72oW>>8c(%w3O3>8VuVE9pdtcS5b+p`l?+>J8! z4mKLo3J8Q9uyfU+5TR!S!#SmLXwPB09bvecpDQ%RPk&0tj!CI^i}nhI{TG@~XBeo0 zL`4M$J1O&X1B~Dh(0^VOiWubH+sFE|m&24a=d#TQepM&y4pT57-x|*vrvGRHw8CNH zVVrc?R>k)*g*3!K9tZ+gz`)30(dOXd{9Elqy%fYMp$kATK2dJvZ5$I}J{z`JsR zho#~BNWtTS^aB}nHUc~ssowp2e>MV-5t0E!nFdYT$pd{fGzJlPokEaE4n#XF{0$@q zQ!QeUZyX|KJ6KT8R)h_baE7pEfsBJV57ub^$v@xbN?VTkHkj9Jn;R(ajrsW=Ec z{2}mO11T3uN4l0>Gt!y5mU){iW3L=97M3Z^LPq1tIO8cojT4Nge1Kf3a4~a+%Ep2? z97#U1AxyhC#5ZwK;sPcJ&7vK^JsLb7N&E;xG2G5b4A2+ z43zG>+gQR<6QJ{_%Dq?@OcVYl#Rs7w{ay%%-xNP2BAGu3w`}io3lid?^T8Ph0;Zq~ z)vL-X(9Jr_(^8YvWLW8GXl{kc=qR@=j0%0^`U5}=iSqEKp?4;)USIC%YJxP>vXJOx z9GUmGS#V8o;+jQ2{*>`2F7?kKR&q9Z#Yv6U=2OfVTE038@CBLtya1^8y6zW`> zimMmE){m4#GHzR5U?LHX;h_fUIx{Ljs1eh;B;|@ zWofo*J8|8};#K+E5iZ+(3_5)(Tqziia|@-TmT6p}L1@59FJrc+=f|@63D!y+-m=zX~REEpCSlix}e z&up0;dujqLsP7NiOKHhpKK80Ge&k=SJ{9C&NrM{y5)-y3SN}E=^oq_eH1>XyN<^Rq z1ukwJ{)=DfvY>I+MD6Ep089P-YSyUeAuoqMVnZKCtTZ;7z8s}@Y@}8pnSZcc|Tgi@dUa65> z1y3la2nXSjJF=QE(w6QVCJxqn8Y1r`3!v|Iy)A+|nIu68tM}HfsciA1Txd(m^)b9I>y}+Tr|Iun=?Z z2?R_nY!5gdeYdi(RdKbeXA7f4Pak~+#E>nKR15W!w>&1V=j8JOBa$+E;OZmFp^y6L zxcb^VxdqUXyq_6o=fa12X%{=ZMarvRr@7UbK`fII;!j>vf;(($RQD#B1{Bs z*K&~b+7I2X({cUni(;f4nDaoCi$rtawYSnII_k!P;}^d|qg z6@4QADu~eC+LwY=^z?F$^|Oem4PO$*XLz1ig=OxIxJni0*y-~atCE6t#>BOIYk2n; zYYtX;_swaS5fjlc0E;BZSaW)k{=sA8xNK$k2j!;r$2}=g4gNXFoBUV37KAP_+*;Sb z2YMWrl4Gm9rz3`3(PKKoDq9)zS!fW92|biQMCwC4c(#!Iv`7PY#KU*uzBVM%gYu0D zvhlG8ShalR$PA-f@j6{68k^R1OvK9?CsvMZi8WHVEN!+=c(-_#kivoK`1rCBe`Gy$ z*Ptq8`tuK-Z(O+7P1Mg-P1>M+g{2?>{PSbsG|6TNR!p6UJ9EjNE1_TZ5NK#4EdEHaoZ)2c#2f*m3i+pBMO_^g`#d_L4dF3 z_y7VZc|xXkMpbR@3Z``cr>*AKI=*P88vR=NImG!{+an%H%W8tXm_Y8z%;Xego;{X^ zh?S&WZ9muiEt%p{={`Lh)W!jcV44s#VPs+n#xoeSX5tKFbcn0jqjPyFeS#;v!ZRhl z=*j6GTsd?vfn-?jRROx910zLEdpN#k?Z^HeDA0~1iF8G4`1)zujnqnGqs((n{Y{20 z8>6@KWz%MvM#U)3+h6n&V@ODYV0EDY0;)g#q{H zyd(YUa&x0`KNazrR7&Q^zJA7mT9yzx7_4b!;Wbfz+juK10%dF2_gxWBlTSs(7q|XhgwYp##hr zmx013hUgR;@4&i5d3u_)HKQfH^sy}ky7yY)!G36>^wj&GtZ`KleZL)y^LD6Me4*>g zsOzEsu9HM@nyw+LU(PB|b~DU|tcK6t()g4?_9j%^e&1BAkkhRBIA7>S`)2$bsc?0( zYy5Hcn)BykKkFD|30A{Iz+hFhtZbK0m<=r+o|m^FX->|wiOd@dA5@@E^gg6e35XC1 zlDBo4aCuW>^9weX-GCO{FKH|Pr@6tC{bF})+AISXKGMaxwd&~ubu_mOwc$&*bd3-} z%~~a1a<^6j?C}ixC7@?M;ZH8I02Ir*o}}Oe0H8|i8~3iZqXs8pS^d)YoTciznHhcr zDETfWRo1h*@7ju)sDKQu`sXNvg6EmZA34;ktslP@l?sr%I_i| zMah$DN{c2Wpz4d1M=rmuWxcYS=e}2k(U&XfXbGb)qpTzF*c~j|XmRC{p?c~SupH-p z&vfZ)n)|to-Edq-MDcs~K1 zhsBLmW$#~a33JYUc2(OQ4{ZSP-&&S@hR^FT{g$isp9i>NJE>8AqLwX&D>R}N5H>4y z6y0K3I)JmWl@>us)pYHZo{UGaI`ib|S4~$~Vp5rE>YgH3l&+g5&OMyC;Wb38>B?>1 z+lW`Hcub=y2C}Z1s0Ln@&HDdR1>oBS-UxS%ovt;(=!U+?DYv+t!68gCQqfUCDa2zh z&fvJTF^|8*;(PTyKGwClE?*$nJX*{+9C=kqSovvm%I+Nm88;6neSe39y6&@C#HJrQu)EaxiV()plqzSULZ^Ala<|rQ*WE<9k=Gyl z{F3SO!n0AzQwIrW1s+;-E-=zA;$3-6h4Ea!!jMo>S*bJJPq46tZ?mq5dr$0&Ay!Wp z4x_E2fg7nE1YK6|*jCoMczb=vJpGbEHuq;C{`zb_P)5^#(vt%uyJ+mkE91_F@4&yj#~5(9}CTs(4 z6u;o3n}FsfN}h^}*si-rK)1&FPyEj|>?|&*cZcrJ^erV4Ug`i&i(BSI*X{JnaFb%2 zUU|z>RSPcyzeQ-@>G+!C7o0U!1?ow_G}pcN@(z6@VZ_1@Rq+^~ z$%yfjv!2AQhqru}1s1$oYxt@d+)q49GLP!(Ng25HY?2y@^_K{VKOV^HIe6|b+{DWi zRbr&U#bO;!4JSG*9lCMNps#=ksH4V3Gr=s-tno^dttxjZ5z~%EO8HehoMC&7Z%*N=75bPYaWIP2t-KT6o2~57*QL6@y)HeKkW5Cs-ZMesr{+1wNc|$%4^Q66^Ma2Ukhs_Wn*jbOau2in$A*1m%0X^ zRpuCpvRSEV{2Ue%#QrmRamr_6L>Wjfyv9O}O{j(BwSF}&q};q*ONo$vxHzI|&rYX= zoA?06NYpPoI!bQFhS<&uaU-5YP5wRJnE5UeHJOl8q2c6zwKnTp9nu5 z-xTP59&ggX{@VR5p`P(6qmcxIgxagCFN;-)R;knd8n<#gQfw7!;zJ_Dm$nZu8=|9D z)_@+Cyk=oQ%ORSr2rx0BEMd&C>o-8$ZDlt1NlPt>32@={AO_q7kPijOFX=g;u)wm# z2QnFroC+(9B2{r3@kO@c;jR=*GMju$BS9IZpPeT>NZygMo<>FfOU^*2v%gXO8t zqgx3JdUN!Yr*DUo5~x}lGaXrd70Zs3;_4ACE1{|dbKZ154g5{F0rzv6!HB5Nd9<}qApOkDmsL1tu9W}3wHI`$e zG#DQm&JuMOumoDKd8w60C(z4D-rac^Ndc(BLLrIFb7<4vPsXEsW}Uhv!Gp02W+E?h zyOM5>)-!T`PpGGttrp-#P1Twxmje>9HFJ=!+Z~=1z!1RM`4JOcmG4?SqbHhbT@4v& zs+)13!pVZj;wJJI5+dNOwYK5tt=7zhxY{r)po0%^hn57uE( z83jK!ZeVV8QH5#p6?=0l9nB=5^JWaN4)4B`IoVCa1M+{~Cy!5f&8!f0gH%;#qlYuT z(JV}PsJ#m*RVtaGGeq*{ct3D%`H5$+n}i2EcKYyk4Ot1@;y0Y+VXf6u#(8kDbo$!( z7<9oVl2^Wj&_WHzp(^2^8P>jhbE1NKo=IDI9GR(auNXgoz)`brc(kj*=wsTE!`C>T zY>utJVY);bc}%WI-NW87+}eXqFQ|&KBp~-NSZqwJwCALxJrDH_Hs=h)w=u8PqoRgVz9&BRhT zhHl9e6|itvtQte?|F-Msbr#%h&NZz4*U~JICnAo~YeVCdnid+qP}nM#r{oO>En?ZQC|xVkZ+j zd3*lvy5H`)U+>3SXLp}d)u&fg?fpEzddYf6`h8ZIs;fuHNv@dBw1kYk!T(wOyHRNO zr)i8TQpTBFED@!Xx(vW@He9S<%C4msm`~*_#k(vMzZ2Rt=mBTO8f;MLLrbvQz?g2q zZaJDGzzoR~tb5Rxx>F1?^CJurDh#R%S#D!)VA7d9Ni2rwF=RA;xfqg!ZFHT?Z5arY zA&785g!gJ$YZ2bhMe%>ITBHH`UeHbpDUHwJdq~$(m00vfD(d$N zQANNJCImz^9ujf0Ykk^M$qUQ%nTuMda}eCNd%qOC(?@2R7J*whl`ljc`i-&TH;HYe3nXB zhfg3c`Rb@+NZ zpO-OpK$iy#oBPXw#anY`!WD^CmjyP&gZjE?0XZim@@_W^(%(#l?_C^@fBsIrtDcto zdA~<6aZ%mn*EjoT(ZP;Owcsn{?3=dL1X4zw5YZu7p0osm94mL@u~5}`8WxfruN)Gn zp&%XFu$a1d8pW<6N#XF@DX*g-@6PFp_W%f{D!ITnimqe9ZjM1xd3h$0O|61zrXtv( zINF#x#jPO8`%y1G<2((afO@gwwnHp#Jheh9M-Lq`i?E&!z1yPp$8V2G;#FBj79;Nh zaxz<^#--YZo2qe?8OZyX4I+9-gpfJ;$%M?aP~VuLuFxlF)8<6OyYtQk9u7)wf57@@f;zQrC(fvXVaxK=6WpMPkMO=K157 zm39)mM-qQ=fc)h6((sF$1R?$ax6ArmEva-+Vqe=FEq)N>Oyj8||dnVVjoUc`~_GR6yq!qEo$QF(WKR_G2RXu;-`EQ$(?V1WThYiD$;yix@g{`&?H|wUG@m94PU7(&b|+5 zL^`{-5S?q@Qqi0?zG9;n%VXq-(@iAO+Y!JkdUohu7QBni61TszGg==QEYn+fz5hI| zy+yJG{SFWQT~Z@-m`GAi)}Z(?uO-|bk|L6ZQ+`hVY7WZ13gHijO44)(0t#$(aj|T) z?|5sPy*i1O>)Q3mx-U-rObYVjPCa-q>~x$^x!mUAy)n%5_M9s!Ah|KxIH?h|c^=D& z)jHGwpQyCV{(?(OZ|zgKgT)rIw76L|GkVsl(Z2rraIj0JT5igu7B{nKJ!G*KS$D13 z@58gTG~61ee>i*qqir9fE@Z?sHnA{|BO(HJC`&0Yn(7gUh<#K4_V(6?lx5Uyx9;Ls zIA)cwvxO>;mi?Gt2S6kd?*%JSM!i{Io@_Ib<5!~F&^Te4z8(!TW0f_8mYl?{4$zer zis)aoWQ`@QW7CbBa*7foVW|Xq^v(>Y77a5{Pl;IxV~%5z^;$WiS@xlsH4>=`_87<7 z+|+^C3E-_n)mUCxdFf190sK~%2C0J$jvmfp4pj{%iYIby6KH>niwe?1w*!Wgt}|fStT<3;Gj@9ouK!v;W2@cmqauf7Dv0XDozxvOalO za^V8BD#7IEjDoer;)q6Zv<6O2GPU2(^43y?GrEXSyKN?PBUcZ;OreG`1ud0KLeMe8TO{xkH%P7kFc*Od{02bKGkSWGB&=JT} z1qs~W7ZJVa(){4-G`9Ih>tDFEZW812{Sm!kHwAWpcp=Mti=}6&jWZ3?Cd$;wxn;`N zUb6waT{&>{kG69kWeUrD)S4amt`3Kr+{QdOIT4%itVCn~P;I8T;syfg@yf$^!gp*p z&OPW$sL+%U*I}DT2_$3!a|3f~b5R_biFT*7{#|X}F_?k?`}#lM(zCc+lt!mU<+w%? zKr-_MT=5OmMr zn3kD&ox;$!T&-_TOzU7GNxa`=JTujeGAc3D+99i^;^Y(~1=rs~Fg7B;rQ_*>i5j6DN+ z3K7TYnp&?U+Co3QsUDqP4-IuChNV_YbycP990D~uj<{d(yz5+syHFw27X%8G zQ_VzSShRVg(*g06N$2bxK5`Ml^rZ+!gW(1wPFgUv47~d{lL^E}N_kjvyhlO$ zVUhRq0{>PvLk_zG9v0k8dt_c(>FWy@B6V3JGK1pKL)vgo261z&*($K@`t(qlIz#6eb5< zlh;PQynpM|j6^TXVsWmp%(K{U8DS>rHGz`#ZhtSsBGSYp>9da)8}*8jo*kcb7<6Go z#-D6}c2NckFHaz~;9-_y8T#o^HALuvvbET+M1udV?i@}Mp+v8x3GFyJB_tpX&)}9@ zc$LN7c>e&!HywEot5*?k-jF~B=F%WHA|JPCtS*7!lbnVptBD@zkV|x5lTYF~PR(9_ z6MDcvH}+XsgbPM_oY^6t*3li}$nh_-#@2n;1Q{9@7F^am72&D?08aAxm{62}GYFi6 zK`<)OaP>1R)Ki8!N@wIMt?+*TX&JS!}G44S!r0cNF@L*@aXgmS@XTb`?=!j9CwzeDwaY18$1ytk)4t=-VNe`@Dx5F!pqRtxeprY% zwZ}u*DjT?P98ePqj|`k3R{s1FflbVOb}=lB$fcOR zl5ihCr1CI7L9B0|J@Fx-b`Y6ef$Zg)vat}`Ezopuf3LEi~fWV<>6-55n()r&QM2;8Qt zo3yqhDeyy1Aa@U=>%Li%9Q^Elox5G)MRh`K|DJb^0pacs=X$%ZfUKoveDvu74JLmt z^@0?ZfgnJG>!m~>G(hg`Z^-y~_~z92(1Cx0k0%SpQTPkgSJ9Azr!B8+4ql_f^!5L+ z05H&uY&J-3G(gD$BO|3h4zPlp+|a+28v9O6l>4VMdI1_=){XbW(E|_5v>+uE}1k&$mrqUt=w4dlFRf2F}u*~Q1 zcEQk`(2!fy-{a7ZlN?jXMwe|;nt&-CN()NgFpAM(zkJu>)PcXve|0B$gWw@A)WOt` z`n=Hwg~)!h?*rp3%IiTzKGI&ei)QBH2Za{zm-{5C5ms^MplX4yIQ@5ME=UeyW~apo z>3v9J5;0x^u90+6)oL&9JY{@8r87_len8 zA7M__ReWX6D^i(eitGM*dk>zUi4Wc`J!-!bXS&Cn*bP<_2nl=Ltc8DmvUz*3Gud+7 zc0RS0DNnA0G-{-xz@A59F$F6qq}jQ+G;`VNj5eHyz3lBFRaRH8Y%D;|KZu%vU=7NB zLVo4pMs9I%@vYOzI_yk;?>Kx$d~iz=uXE<Qf1X=_21$*g7Z0k!QYPWvX+JYaqT_ zdVYXXB=PKtJm=m`4WrMtB;z3A8lS`>tX0<2hRxo3AG&eJ2_k+s-NHSOH`Y%RNhckq z?75$E9`y_7YK-S0Bi)4+b3}&{NQi51{DlCJm5r`v`Px{vJ-_O(Ww+aDs+f?PTsg?p zt-Zdlsp;u|yyVt@d%|x>XFCJoe3)ry^yjR)_cd(_=`U- zzcU$(O?QiZXf&L=H@=k7RSlNXO}kv&;-a!RhV&rbBik@}HD|_$ zahmw^6QFCi44Sh&K%GN2dr)v6AB#(Nh?+dmJtrkS*|n%Mj_!DBSK5A1342Zumzrv% zv)W-JXQbv?5^s>gU-qOHn30}d98!&m1ZyqXhhCY0j)Jz<&RkkuQL+KFt#}2e=j629 zHZZ9YEn?MCPR`QL@r|%_I&^QAn3Z(vOHWQ#cXbVnJh&L<^~xV;oCmXWa+-AWvg=Id zv)fixKJ8R@c1}Wbh-*cqG)L#PmacNSx^28)bd7r4jkr`+*0f%1;hbNetAffmCM+mj zkJ~!yJwd^b(^+yaJe=$Fq_wCp#lXOC>VN%WWnuFm-fVR1b#WO!pot%m6qZBxe|Wri zH>s$qN|-Y0U>jGq926Fga2n6?ee`%+KJUGU($FB~FEmTMBKwsTnHW3{b?ZFEP+1~bbT)fHK?VJD#<=7btC8s4rw1Xj}52^*}WGNLOHa0d? zfB0OX^Cw-W{mqMUalQZ=YQdLlEwFKLn)V6|$!lIi#57xOId%_bJMy}=yy+)BUTTrY zg$Q)vrKDJ*6|Dycg#j8GHV;JI?0SCF=;Eo#$yxwF%EQCcnMa{)IiD=B)-4KKSygFe zWi6yPL#?WJtTOthqPDT&w*Jq;;%lJ0p%POnN+xOb`xBHX4T{_6mDvVIS4n546)KtD zqm59eV!{f?>Q-9E*24Uex3jyOSC~|QI^RBLEUj+ai|cZ482U5V zRzGj{PMTApG_7Er^2#4^<#{bgtwIo$gj!E}QmRXEk>CQ(6OYPowb`m-to>Hc2Cy6M{`c72#I zv9hsgB~(2~U$?NbvQ;xV`x}vvom|~!>BDLp?#b&}K?6(fc;{5z-aNb-uOewgqXbG1 z-1-z$AyD2Pf*R(1pChnXVqwE#?DlqYs?6qdS#XVfe|_~_Qn(|vkckZZGxzNW#H(oE zAzM+z(!z!*Fty)2QbN}IyAwa)9EouVYvOYoBKy8kvyo@#QKvIG7erdE79OrRB6Rw= z-4cTZ#Zv=^DMbxXHb1MGg9ZM^ORv{KF(BJI5kUnHy-r)E7!MzY-Ua!aQnt1ADa1v} zNK>h{M{Q&A;v&k5iUz7kTs)8fCK{HB-(e4#TpY4q0!*N^K^u9~35rsf;v%6eX@rT9 z^AwD+kb|%aYUkz|G_Mq}( zkU+Jl(0pYMv3rBZaWou5Inr6J=@1k4)R+4(omNcYI!df4oav(iZ7O<<(Wwv~-qMKS z>cv^UQMA$0Q0O+eroGLNhbv3W%*jx~!&eUFJjcC)bs1a241?~4ot}PN!LIevNzce= zYSF=6@p-5?G|$}XN&=e*jtT7uPEoCO4?Pi3)k{*Y7>==b%ZoS|m#=l-5Ajrf_)KPL zxsb5}5MNwg-ii5^dO#M1Eoon%KUO zLaC}IKdy(%cbnA$u4PPk{Enj3sT>h!&DeCFP(}=92S$tYJH5U_o|&6k)kqZPH<{3T?wQ4UVAA{w|-D^Q7m> zKNc1yGKvS;Kml{s>1NTCN|b0N=$)(8IMFI$LTtc09y_T65XVyVka2sxMm2>vsS^Zr62KCQ4-(s#Rn)k0p3ak#ku4d)Z>+gn-!SlUMEfXWea9L(7-}2iQ9ax- zVz1SE3Q4WynlBC!EzC)1@djWyce5}qVBz81wh_GHxya~mR)|eOU}JHDxqnV+kket2 zKETLo*Jdf81z!h4AB%cU0?2MB)i_xtkg@Qw8}TgMhOu@e3C>epBU;4BMae_NVoOvD zva#RxkwU@Li!=<-&rIo3gVPo@wPm9}|<_+&C=i>VK+28OM2z`mBI_TvkDuHOxz zfdA}+VtI+`c({|w3!xtDgRCWw)2Fo}7FFg{=#MuYD-1Y#N9KZ^<^nozL= z3>^Fj8kiKaNtk#bajnd=+toJtv~@1LhjfY-bpAZ*xBrtO~(T=Li@(pBbrB20vCVrUQ(*_J>NGAFM3G+$G2l z4dS}VATKcnvd!{}f}vXIkbf7XH7ipod5PDypuSfiJ)=#(xECv&kO=h8 zN)tBV7|<5W0h%aMydU00&$_WQGhOU-$KwqolMA}4gnA=&=PeFcOqV>V$QC1+Q*=y17{ncnH0oKq*m)l#EX(jQNQYU#UiQX+ed@NLQ_P%rz{vCMin4E zN<_=nV2yG}^ibnCVUGOt<&QYbF-%YocR+>LkS({K1$8|EEQ|;KDi}x0Qp;wjj3N`E za7|gx-rxiHmw_H^ENl{BLS#7Euwbwj`iFtxZ`7%^ z&o$wctQ=TecS#5hkE7^0U+8vtxSBH&6{CS|C`#dMqvo7!3+u=LqZQ*ZzL=6UK#Yoo7Q+*+%bI1GchLQaE) zB2wq|gcm%1AH|p}BAVa7;FOn*AgBMyAvxjim7d7n2CS?a0h7Ea z2h|S|$!7}wUlZM-%k&-s(%N$hKRHoBzB>GxlGcvoSi084e_WNvnPaFlIFEnxU)*0H z@Q8tl3o51N93pVQTtLxFv9cPQMZn-ZjUPuhAjGUAvL!3(Cse+3k66GaQ%8h|d1qvl z*`Y)pyV@JR`-B@HkM+hGM>Oa#t$glBn6`H_D@7&<^1K}?jnHy394p}@-z&^|RuBa0 zca=j}?(dz!;=Ez#CqySz4~@T_;R6b8hH}d70UY z)YKP-L`@D&P8`x^Et;EK&ut=*Ne5le;MWpMX4L``kMPEjLnt)hcGIN9&TwCf3J3UO z=h z4m4)Q*30;@b!DndGp8UcSV0gUqjTj z{Rr}5`6O4AP_LM;My~ClHVK{tjtF9?NnY5L-L(d+pLdG)L6zXT)ZPU+;Ws13;fI8b z*&^v}z%fq^0SFMskQ8fg_2z|7gt^6G3?=}pv>GKy)M*%OMadX^Qg1EJhs2D0?^~|5 zQJ%Vh_hCb4kG)yIq$ti6(8%wFGh1L^PhQ`a-WzGNw2C0RMqYCL*?l{7powcIlM&<= z;qH<))b!!0>aFNWeH|toj5t1dH%5B&kV4ZHovJF7qxR;~zK4Mj(8W}ws_<1HnW43N z6G_&VO@K8zdSgm<|zBjV-<(q?F0Ad6FMA5#C4NzRMIC#2QZQb$tq+;yZ-0MJX=8q8) z>-|(fwQ#luV{?+FxY2RW#^~jj4r9L+)^63Qt#~`{miE4KAPLg?u$_LYG?DDmBd!_Z zn4h5RT)ue?gm{P7Ty9`lp6)0@02J*NaQ5f8IsR(VK!?R;!?qQFRRfo)GTx+xXE_@B z(Y<}J8OEavfsFMkHo!yU+akTrNI#XeXL|m6v~CogU{p256CsaO`1#|1NsudozdV$V zxYE(LF1Uh$=^`4;w<>J{MEv<0tL%ZFvHucYT96FGgXlVZ950@YvbUm+KtLea3MFHZ zX@9Z&=XL_)fBZrakYn&3utt)wLmIb#xgwIO3^agO#MZ%>tynk?WtOJ>>7B3mH$!1%k!R0WyJE(Cs_J`^H`?s#dI!vVk{#rXSV1NQKWTMV-Xw*R(hm()N_d?ZRtLn+Bs~7dRcH{NVgT4RC ziNZ18^qw?uB5nr?)Q_sx4*P^Qr+smw@}#H?5Ge!dRsum)G~%Zs&YGImEO#j8fjAFf z67>L*0e7gVB_x1G-DID;^2NbT8W1GQWza5wgtBjbw}01DkxdJZ(J#CN%s#VND;(Gf&=Csfs8DIs%av$_kUqp zA;1Q0ARh@1u)Ef1KzDqmD9tlGFsuaz*wFgnBf;@6NlXK*zp_QD|Hc0oh6!x6z`VxU z|D&;K0AXu3X!U>i|AjIAYhd0J?*4ny#(ybi8pD3Se_S#^g;?;*O11m#*!Q8P_LMg~qxPYv^m%O`Ip z4t5v02|;mtF|P&01pT=>KJJl`y!VS+Rr!7#>`s?ypwFtct*N7U(@Rs73^iSK%S4C{ z8z-Nk-RGaLmhfF&kgW76F7!Pp$Su_GajG_VAl#3Kenr0nxt<#5lw7WkUHN(JEDYvN zP06hP9C5z=MgN)yO1Mg_wA?_2ZXqY(WmvpkyuOwkp(8FATYdF~yW^IdDg(K9+g_8F zR3^v98s7JyHt*J;0UEuVzVD-c=0<_5*X3$$nE^iyzJCvg6ac_pieF0ie(-CG+Jwrf z%)~hoq_VgWGd7dxjmEz2c@NC@+j@PxeRXEP{1JC6{>QyLIx@X@vHR>%U2fex_j|D; zS(C+;uO%+${BYTP0%?VUq(w|`bb`JdgYE^6clIOt*HP~IuVGOWqs}Lj)?36HJUlQA zz#&@7Myv0ao`%sIBY#qoXUAfelmAg&h$sE})7R`*|7+*0jpkxUD`p*sp-i3HQnSYK zeCov|{s%wX(rWR3c`7Yy^0+J6wsMila9H0gg>xMy&j_6Q{gXq%pI7KFp6xZs2E7wE z(3^Q#&guy}nIn|U9Gv9W*V2@f3|okt&k(^eAQY+PI|$j@6P_2V93aD0Lllrz(bdLq z9Ew(2HeG$3f|j~;J@fl>V{`P#LSON2=}zW>q>Z~cn*9I;QQc#jj{AMsfLAWq$>MWD-J9!2$!mG{fN#z z4%f)la@}{q}au@m5Hijf4@s_el4k8OZkvq{^N=S{i?7KGp)JgdPlWW+c`ldl98RP zJ4felh~0Ugb=|AxZ}i7Lrj?yVD;60_3RYux%x2o2_xs2S z&9`xXziE+vF57---q|;w&F%RxW2@T5)mwallE`4E^RZ^OWJY2U9N3f$e-3ZF?7K@* zQ!l?~E2S(!O-=d~6uNM831@S8*Xp$+_kB>S(J6jOZPrrEZ^rSsal70|ccbC19pj4W zGF((HWaDNv6g7DOY&x!CapA3|w!>F@%qqhT+z-`R@wNw}uFScrSjqU)CMdJsQx9OXpf zPnTkYRYj{)?-f(C5u2jkP1Y(2N0z?v8v~%a&Fx~Kw6}qCI9p;UzV{!oNe{9Ny4Bld zZr1yxRz1q*+XzR&3K0@7mk@vm2 zChU;kc~`Eq;x%Tk^(GTN1dX?h@p&KdbF8+o{?oDHQmw=F5Q3Vr6i&lm`(R>vxY;i6 zS5jVx-P+u~{G#QPn`8nj^X=#Wohp#z^M%6TPeKG4_x;wBh`KX#-N(uAGmqS4N$g7N4Wnk8(2Lh%`6Ae6O!FigZi^3w9*svNn=T|Vy_)?<9f{-8kqydCy~GDtLv)dcKH>tDOXR* zr)_mV)ibud*s99&9|JWKVvB5>X`8B8e72`1X2jifZP!SP9|)l$>BfJVe>#OTA7~-m z!Ebey{cNqQ5i&hG(312B)N|8w{~c<#9R0@P%MAN~*2ON!Ty1&Qw3Osr@0$ou4PmR> z;J-78g*CGg#Zo0a>$}=qcH04G!EZs-1@O6|tvgraLw#NZ6y}rr)@HpVm#S*~rlhsr zYNj4pU>8x@Ul>>+(!33XsZouu?Zj~MgNynLoGgEWVMHj#qTe4UJGiK;PLeivTUSq0 zQP#FPSSYN{^j=T&MXm7D(oI)pM{Nc{!ZHbIVPp4D3S}y2$;RI*oDidnF)$|@@mU%S z4f$D|Y5=t7^?fpqPJ5p7R}^5|9!KKnq`@W>P)&jmWpk1OVPv1CtcsL29f#z)pVTr| zufkd@XPpKLP$D=tcF9nG0T+T;kaxVr%h3~k1C|mly%z!nwvQ3{rA_WIeFV8M{tK>u zO~`Yvr12xB8$~Fv&Opl6h*((%y)gQ&+dUUTeUe#m*{JO?JI#($A*W(#l)n|6%F4sM z?6LTkj)WwQcw7@c;=RF2t$5aW6WP?QK?Bdfk$m_@uO(+&9};8*^Q2iTTyF_P^ z$!a$FNLFFl=s*69k>8P*kCI@Y8*MmanC^!&Sqe#vgQ2a zGy_hm3RwM2W2x}0wBRIRs{H5aVD(EbiC4%R;JqqJ%Z@y1vR;Pu^7(Xco}w8stq9?) zTiQJ81iZb!`$#dN#V|R1T(EyxRaV*5_rAA&3GMG+%oYb>aq?~LC;B1$z%&%3v?Q_0 zJwkz?GS46B8Di&iRu=9QjrO;qAts+CUn3WPE3#m9-=RNTE! zsdTAfI>|=1IYLi*NAXrLdXy~9;Y5#;vlbnkL!Z$k-tH6gCO|B74Da4GGE@EeJ*PIH zb{YG%%&!_dNW@#N4V(}02);wVwmDxM`kB|hU-hcL%%PCRKF)eIF<|ivi%VE5N`Xa6 zF)uXgaO$&qcO-!(g_;*|>s;DOZXnr^2-~FSRj}Ixxu-)H@-li$OHbajO*m~}?rIk< zC^!fb7fe~hYAly{@Y(MN$VwJkaX$-rAGmaeh-zMc-p5{)ex2&QN|-U*Pyzkyf%FvR zb-j19pL4#iUmsSmy*qcc{)lDg9|f*NG+&gJ2Wokx!!`TYe-kZl%x)2glQ6z@MQR)J z#CX1o8e&P`+%VyT5C{i|pNigy^d3-h*Y^1y_r9$@R^op_M1T1892J=z_;tS1QOGM; zYW`WiR3dqz39TKZqNum~-2a-^eB?b>#tDxXB6|0*%0t|B#`m*-bGfMgn$$+xHS{g# zsFxDwMV3rjjpsl&Ev>Xp#psFODdP{7pQ0miU(c@zM*NGM(>kGmvk?Kh^Ze z52^DtyUFfHvQKlp58bM-U%~Y_p!U5=)Jm~>LyZk%WQGNvBx!)1GVJ|^(H;9O>?QnD zHj3O8_l+Gb=Ujbv2nt{|0N9Hh?nV;(#{7H4_(1LR%8$PJA;c%|LA~BF`atKVyP8hm zNY!GWX69s-pDKkTVpD30V2TVe?~3u1ch0GQf;Gq}Nl;dX1hiL<1fn;lHF@Z~c_C)t z23tq`6KSyK0gp%;G7#sKh!g-tGBKJenghSnrO*F$_a%yaw^3OMi!g7v9> zhp*XLFtRpduk^f265IP~*s5}KSpPI68ul%4@nQDt>9%m?F6{6z2CBRICYwzE&N2UP zbe&c`w34ITPDQY}Mlv<$WM!l%{NB6LF~aZApt&&mYv?pJnkbuPfJm?hgTX?#_ndLl z<*&u$>J}pPNIG;xc_}ukmDPK(iLrUNWIRh1c&FnPXtjyQCO?9;TZ54J)cn%smu8Rk z>~TrP^8_6|&AOi#^RVZ=qnGmKO45Uz%(A5PHvEQP`HF0^SIG#3PtLjRSOnACdqKGuh2*cy-0bGc(%;Sf=jhGuRU_<3jWI@EPayR&^mE83 z&}44}qam*>L)ka=&%6S+0s%9TdA{Us>p4>^w}?7skQc3`N>zHvqJg&%M8XmWpTr26 zGwLZL{4}EaGJ4bUZ*x{&=!|SfhR~WXCboyR<4{3~QtBd*7K|3`WQ{b)Sa7$&gu#5i zw*fMP2XO7sTNkT4W_!5HKO6a_Azo9lR__PyyI*ZA)m8i zq0$$0(pFz-T7Fc(Sx-JDQ=p3klex#zodyN-+=J2V8GrXNi23l9=n>8`{(U9fCqnXq z_3Q;cxsq0spQlR`;rwMjbN-uf%Bt*sM2 z;kVR5e79l22P!PM-nhKtYTg5Lzzc+?-CLt1Echu4o`$i|2tEMpN=MvFJ%0V@#n7-@ zO6r1t9#F?KCVAnkyg$f~wTvT<0cCr)0KKbXjrlKL576K7o&)qCDg+Tt%#EziGo@-=3+Sd(gB$4&A*SETj3Dc>{Yai*!{iy!49QmU15!P|4^ZiD^U8?1$;cPsxKA;J>6A^~sfs$?MvXsT3W zo&U5R$f*1(2!GVGvZ0g4`X~9E`nSCmES}7$M9aQ@eKNTSFd&#jqYLZ*)T?e^5DTq4 zvV=%BL3p?V?%rM8+H52#Sjzm=+pK9dorV<@hy~xCnDTvWc2bXQ!(|BPfAs~50J{(< z@`kryIKAwYVg9A5YrO*nd)|C%@-~iQRWl&f>h+5aY+LZ(eL;eU3+5bGv{C7`;@84i z)qJq)0O`01p|$~i*`&8vY#NvmW>>QcM(-kGP(=#E`e}^!B2zr zM`x9qP7eW9cQ>L8(q~KXMH=1Zjo)oE%~v}`Fyr{S)k@zYL<&G5`h2#T<~lF3a3;r6 zvaxjRmJE`K`RRYx@29>+bIFnEQdeK_tjj6$gukqtXJJ1czf3(Kj<#z{IZ$-ZsF8eD$TLn+;??Fb~_Xw+g;)TFjC zMSeJjQ>=Xh&VIokl}9ZAud8XX%d@JkhJhm! zdfY!q{gGFNQd9K$!&o?M6^5&d7``5%y~_p#Sv9`BT+tLY9=K*IsybGkZr3jBXvX?w zWlckmSDV+TNO~l(rKsD|Kd$P(mY231D{spCw*20ClTlyPCbQHP)q3w3q)K(Yzr2DO zsbOf0+ZY=4zkJn?+bs%o5IwVsl2hV==SR`T{4}s&nVzl&sH+<%CokWUXQiN5b(E}7 zRaB_pDPro!jaUnoR`J{{F|V|n$Plde)!BJjI2ID z#VojWn%YYfF%dfCbAGO4H{TI2f>Km8yS=@u&W|VFH^dM>?W}tx?;zKUQSHJ*@JkX) zqVsk5#HNS7-Q1$G$_Dospai&9et6`yZ82gR6^Zl|w2f0ApC>0JX=-S+A4*?w87S)N z8jQy9Qg&J4IGugj?4pGJrsgqGA@&;@*9*cv4V0F)>g3ABkte^wy(a#mlXu1+ojMP? z{ej0(_uyG^E|CIBzmo_gD!O5;gBF(E{pBKgu`d$uTnD1KQBzSo-sq|+T6wdxZ(a+T zz}*s7^qk9rA$msr5}Y7|gVGYWsj2KmO`?6C`@H~hdiq|Em&*PqTo`LPBiferP_0I@ zc-dv~7KOxFUDf~{9V4&DtH$?$@7S1_NE+{7m)UC8x{@isBL%0@i73g!B}swaCLi}%s9>AQdESK-5e`u^>~7~!jO+r{)6{pY3=mq+143grT~K^ zg7cUr;qzPw}$BV&V$owd3VjubLl)=OJg zw?_k{XkF*G{%MBRQ-*z1bZlD*FRkry4HY|Uv9cXHx-7yYJ_m(K)1a(ORJn38_g?8_ zfhi_SW&aYGr=9my|J;npt2Pd%?K{@ z2)J19k7~EAwuv+)UrHskX(iX8(4+En$yT@Dd}=Bx7i;s**PozDM5MNuq8bf@(Xp}Z zp39+w42a)?++=0}fYmMj1+{*sjazkD`fzFIUK$(6SZ9TcrM0m6-)n0{x60bKwl&;u zuh_Qs`T~ct?ar5fGt?CRP*G8D-H0-acKO!Tc~HCZ6D)&E~qxxN>W+uV+*v?7`)7T(Y63Li!@x4p%nQ*3+v6!h-W= z++^GiQBiI6>-4eGhXQmfH@PEJLq=z>$Gb<^q+uFt?0+6D~ z+dVw4PU`moxwu#-mTuQ<>*?9csXxFsN_Fo`i;FugmRnt}eJL+=R&q{HF>Sy4g-5P6 zaHEtI+b3nCVy(Va*YnOlv79^q4G`k4CM70b%;xyW$ecgj0rzBM<2th>b)!}?A47=v zj!C8F!JGh_BwdL@yF%izShKlY5d*zL;F}dbjeLIOC_rARH%)a5gMngL)7RaKerDkofQhGnz&}=Qj z^*KI1vZjCHO=#3nRV|^3pWK$(Tw5~Mf)+gI93P4^PXnZrVpZ)VWy#6OoX`y5)@WWD z0h(uSi>?c%0HV}P>J*%%^u3=eS}RAJB*4YgrCWLhyGxawIZCeU=2y=S-uOq-O{c1Z zV}p~9re(%BMyU#EWvq(I6$_{MOSg4cWH2}(gem@Fyws|U-Z%WK&fzw6&o<2)pyBDd% zx&~)WNeuvIYyT|i2cf3Hpg{Azzi_BEiarVreXTPs5*?Sb&9<%h{^DFxx7L(A8gG?u zqN#)K9c{3Ur34t6qP-)QgQe$!YK1a^IfXxvEvVdpspNX0z{SsPb+fpvK3)B`RTku@ z=F+T@!FpCjQSyPL85GX~i)4vH|6o8eSU|nivyGydjq+H3fck_T?^BcDOrqgu(fqb< zSO7*ec_NSgW&Y)}SE>yx(Xq1A6PlSsmg~i%Ox*4zY#6P7PU0$*mVkf!NbE>VM!E@{xpn%Wr{n_`blF6N$?Os zN~6QUqU=1tlcx~2E3-gDW7FPAto|C==hLYhQGjfiJNV9{QsGU6xN^GQCUKm}Mn*_L-GkaFXdwN8OUHuPzeY+iv9TTE-P>$R^PEV-VWIGyLwPn8 z3c+xSDo;wXm^wVe1;{2QE`8Qw%3^saj3x>b`L(6uoBcIyftK&}^N2t7^3z_`g=%?K zDHJ!dyg8QQJzVA=4Ochc##~x{mv(Dsz}Z>bb(%rQ99SjECnp5xiirp%5E*>%y02Lj zA~_?Tl&KSJ!{c{|vf^d`T9n?{+=zNKc3A@Qxv@ zcq+fj#Dr=5UtT!RjhD#v3hA?rl>jC&XAf?7NZK{e!WbI5F1=J`t~#KFT&~trdslJ8 zV^;;7?Oc}HhXR993s|sN6d0(-MSVc2ENK=ro#5ga%1^R^wGRPu+jDd)3dsQYH;SMA zw969jWpDY|%B3}N1!f&l;4XSyTJ!g%9VH_u5*=_eGO5ADEn1=K@c|Z{Zfbyoijq%K zCF_@(?vI?L#Rv^T_)aca2L>i19lG*DB79-XO%M$b3exY6Otr3Nf77#;B&iF6fiehD z0YZN7=f0X#6!qh=<*ECoX5N*4;&H*$31J8Qhxr-c3$%f$;RyQSQ-Yzubms(ZtCDii zR#g|M+X2^n7_dyVuAeCnqnzEV2Hz+3u8j zb3$D`s6lP_j?5k`+M;4C8z8M`=B%x$zF^*NC>2oXd-7Z*KgYOGOi@MxgnDw85T}gB ziIK@wk1wb=$^o!LH3>*!U1$)Z2RFpb#6ubTZxaU6vUBPcGvmE@1+BEOSiMLjWKiL7 zc`JVSSx0*+DPx0S>`E%9kIH8?zzy(SK@Nw}3<`(FW}J2tb?}}!tE7mLpVbptnP@5l zz>bnikepFuY<=ATm$zcp-IEFs+@2Rflk+NO>K;O03Fd*@p&AFXjZ-4?9O|pFPBez zFP1FQU(3&)8^V(CDigXm1`+$sphQd6SLl_Ek_N1fcj{U$Qv&k4PjQ;=BKBk=*-FG@ zT3aTmZdN%l+7$j$ls7a;o&Tk|V)Cg6QM}Bg#Wbvt%i>E8>|&HP;?)0jdfG31)z?2* z(bziUA#?6T;rfHeJ$N`c$^bLIMQL&5&Fwma^--dUDOu2fCn2G1)j9UmBIHL}&yH@R z6aq|%iMqIY0CNKHJST!CZj&{?!`S43C0iBHgD0kflV~949tRZ z4XoheAOl(`KRs>~!+PQqCZBfaWG3*bpORMMH9Rp=v`bD1l-zO4T+!rrSo~RHi=u@hkrkKbkfbI3O0uuo9d@u*{78iPONPfIzmS zl-}7aBepWD>(zU)l8Rt3KfnXDSE0^(0Mr1yPC8Oar^fYM&lM;*h0y2UtGerthB{z~ ziOJZqiM60WGZ;QJ@P(g4n*qw|>IXC3Hzl3kH_$(;VlDx=w~iXK7!0I?1?<@gl%!1w zDXe5Pk>1PId>+#upBr)1+RKXjN&vUu_ScVL9QJP6b5Wk%%cXBV{uvWhyBcpm4Zo zlWfV3%jxFSRbVBZ6xnzhY{1i-O#Kz`X%akKVtR7KO)ZWl28PZ~ug~L&XjyMeJU=Bs z5hK12%fB&AQ>pS*Q5KNYAF03P^Eqb-(f(aHjVD|&mXeYx{*`ELpO=^jfiM4K>8i?~ zh@Apr!HJi~!$8nm=$)oOwpgVu08X0mqxS3O7^{mTQ~=QaJhlP?ddg zn;TEQkt~StY2-mF)t(0<3padDLa9}f=4~$|HloUYfD{Z?J1XAXL-o0Uo<=vg=`ep< zd#!}N;s|Y0es}0;Xstc5)A%=nRVQkq*ggJ#I=jlIxSDQ@OYj5S9evP+O=wTZ&|A|GfjMY7Ny*4b2cWLC%Xwi za%p2?HHQlzow=23*1h2RZeDkSWL9dj6)B;~0@n!V5t zw-%q(2wi8M`K~ptIk^0BSZe^AD)@nNN$JA6<8y#lStXV5-_xk&$~{N^KP`DI1T@Ue2C(63&`b3m|LvM*@jw z;f@f+4gX%WuSs9$4<-kX6qzoh*f;ym*;QVl9z)NHt)VmA$hSxfDuOn{!uD7%K^ zA4-uaAjUCtjjuDE;4LMqX6fmduWp9yI9ylHf8)bnY7-DtAXJM51qXw4bwoHswwmv% zA85tu3@^U%WtE)EaKJ&BJ5MWXuTQ_X(|PJKew4nv7~O0kS4f3Bt2|dceYu}Kj}!9T zO*z^lefDLnmi4ieX;#>WGn2mh097CaXMN>+li6*3(hfmo)s(1Hv|13q#`@df7Io2E z9EKa$EuDj&B{QnZT&}#G;t`OzEH#C+rb}dl-VuY6w#M*sdp;G<`uX`1gg;Iv3&>H( zm%ejF5D42Tbrli)VRd6g=^%O%+RDTx`fv8+RQu^W^4(}po&^Sq{3K*>WHE{$KtL5j zujqcW9Seyq2H^~I$##(wh}hBtu(I|H*_GG zP2F5W;?1kat&_Z^OqXYaR^upXNcl+g7yij#iSRsHtV21tUkt-u?Y$q4aa zA#oN418gKh3XrMJ9)qmCnY|=92U?jNk$ImLH}2I+$^5+7Lb$>(LY~qy$nKuMmND4g zFh9Fy=IsD9Wi#Gp?I{uZTFE+!F0cwWQCwW=-spn zTmJEHTVF;t_SSoy-aNZ>VBS8r9z8yHFq;fuBwNw4?p|LAIRvZ334W!2CF<|IMeSV= z=Z`hSGq>?YbSO?2tC)`Eo8lLAY}{&sVm-ysfS zmp7hhxWQfy>BW;KnLb+Hw;InM4yj+4}S(U@nsRUJHNk@0s-@0k}NM+)K^Ve_lKu zl!x#baG8BI*yUnIX=43V7BO@d6XgYYG> zU1FUl^E8iLD?I)9u=ebJesyDpBJe3G=DEX5U5MOPXq80Nv$r$rl4ovFV@Dk;o0XdJ z{+lZ_Y-n_AJl$8iC`$r24G^moPz;;^**P7MKLDTGwA}dmZr1N8tYB~tbWEGo5ZAh8 zRiqk@b0^`r|2}xBzIfPCCZ*ayL$?^?jx(=Xy~2>2o4ffiUGE9O?;sNGQLlk{+chBU zTyvFA+M~)C9k174b@n8K4}-~NeVtODy~y_09Sp%I!HyBW;R0_HgQs_O$%gV}KK0YuYSYSKZc21ry((`>5PPd4z^_`DhCuXf z%)s#Px51F+HLDS9_Cw%62F_PkGb?HOS1(xV;+0C`ISiA(({P31>lb*Zy>#T>dK{C> zeAR|??cy15BbROW4|@{%*}smU;H`m7eLh5nbD@vjx98#H&w3VvzHXs*r(;JBAOKWq zCw*i+@?G!IXY-a+$a21%Oq}pCxS+G>w!Ey0*U@IFgE#3nJx#mHP9OpdQ;x5Aj|ECA zly!{YR3&)j=F+I7`j30-^#egwZQ(+vkQJ$wjEm)aCR)Ag@^Tj#94F_}T7M-&Gw|1AKWLR@HpWAT365bQM6ZqaSSWU|ny5N@H z9r+Xl{m)#o|4Qfnd7)jOYhA*qy{g7iQ0O%~Slh=ZHB2r0+OIX!&J`xyw%6D9Vc$2K zPXJhD!5Nx#=Q{LBf`1%FW9wG$5zR5?KHp;sA+N5scuLj;s7+k7coL$AcfRy0zq3o{ zwVNj|IpHBOX!ZeNLj|T}`>;AZj&7yBcL6-|Pz(8Gzx!U$-9NiVt1#;n3ccGj3nZa- z*9(^;YB3^KpWE7DB}tQn?W&QgxFhO8<`c}elIHx~*~2T#oi(#doR>v7yag|js?SHY-s}24_aOI%p=Us^(IkV|^XI!4 zT+u!uDA@qrjrR9pj~be_mpffX9cBHc#B-;*bJ|&1QLUIcx z*)X)1gMsgn-@w{q2G~)Ac#VodlFr9CWq_g-JznRVmi;(dAV_4$ z!RWCgS2uV+U;*+^1R-N%r1m!8Qcr!u-Hc%O24S0)`r6C#TIIjL*h#3wrtH%jD5DFj zm`akN(uomj@_0NIt9Wsmz}cSLQ>`rY_o2Lz$Y1lLiy4`HE@%L&X zY)?@&h#i@rk&zxjUFI}EYq`@+@*qV~x919RV>L9G&?Ki%5#=sZ`lb=Wqr)SYrq;#4 zkk;gVH^zg${lVCnBt`V$9DW=|%P>Fj)7L(mIo2hAr3`q&o`k%zvPDPxwD>{@n~(Kp z&hzBiIGnO-{(fm7hQRM zyGWkV(-P~Md=MND#nYCWm)2HK1tEMJY zVw&UpN06N`Nh!K}URJGdUSW-jR}qd+?!buN8K5`O>t^| zm6w%}jlv<1Oc=n!w)fjvg)M_rR2l@Amewch&bq7;R<;Lur6>hz7$zmU)|(p?^6@&_droybX7oCEfO!qiBj8N_vg3;f-wW@ z2&!rdaWHb6H5(2nml+3}ft&DY#_3@SqWEWOg|-U=Kx;W?7Jx(zAl415a$A}hh*ww~ z;7A~=elqA#c8I2ubl>plA|pdTT3g{o^+)Kq38B=>M-d75b)7_k<}!vx;&pY?PytvK zB≤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 literal 0 HcmV?d00001 diff --git a/deps/cloudxr/docs/media/accept-proxy-cert.png b/deps/cloudxr/docs/media/accept-proxy-cert.png new file mode 100644 index 0000000000000000000000000000000000000000..4775b269a0554571e11ea9d22c2d8dee45d0e67c GIT binary patch literal 21669 zcmc$_WmufevNnoKu)#yH!QDx4cXtc!5Q4kA2MJDa5AN>n?(XjHaE5oSZ?ARs^_|~m zxMrTV>T0R#yQ-chR9;pL>C=}_U|?WK65_&&U|`_1p!5P94Cq$@er*g43{lElNJw5n zNC+rzXKiBs(-;g)JTzVnR$XZjD_v8O2ntS^U-Cc(@EeU^5{}O2hB!o093lYCP*A=y zC;U^Hws1vuF)$1tP^qtm)qD0G3xS&E*r2nl1s>dCQLT+_oz3~}c|6&BjKg_vjSFmI z`BBjvxd@)Wj8qN_{bc-0V%!L^BLp=g7$QI9o`@t+tJAxhnuoekm{4O|uoZyc;EueQU}MO zq^Hvo3MY>Dv^4I_&NT~6C3QlZATnS$kK^U=-IVjqd2mz#aYP@f*e#!yR1}A0WI6U^ zP+zhH`4U#*yD(|b5?E$~`hsbB&xo{$c*_t$E$Tocqp1)4o*FcSVNe-)@1r^yQjx}4~+~I$ye*J z6PHLy!s#)L%conWe!r0h;gCWA>`pj3F>ua@T`(OVcg{LiF?ulKbH#5egSbj{ep+-1 zzgLwfb@L`#%KUXN(=rdB(}{3?682jK z*;~q9Te})B6O{3M4>|zk1|V3455ycRBaRWct%aH=c8k(26gY3RFCq{E`E{ftq^FGl zzNOC(;(|h$7)Xe>zdla`@fiKi8K7dfB_QkQ2zL1DDH;Fs0%J=H0Ash&nk^^6d>{bf z0)cbM$Gz1}?ZdRwQFQWt{{r@$w#iT4k^$P5fov3YG{{i!9)JO05{s?F(}sZ?Pv=$7 zv2U@VpC51i6kZPAGC(W;VG zrUTsB_u9rrm%W7(_G>+ymy6)569&a6NgUD3oCQSuLj8hG&cE3sw^5G@ zkAJ=;S)b{RPdqmA8R^0;S7aqD5TAfKA#;Ulcl@bv>*$I!L{dj^QVxYxTZwJMWMkBn z&fr^=H$C|C_+}KJ9LF`w?#St>aJw6tze~kN;#}p>B%S&@xqqvJAt4cUAD=fcHwHcZE3H$)(< zZtvz00(cw8fzACPq@f=2Pd)Cj4kQ0#@JH4cZ2%G9TOxdMzIO4d?@y^A1xe0dY7aec)3Fyg}#!$rv2& zr2xcl8&VhvLB-#Q!hV#|$pap_P#U3eB%0Abj0o*MbA)Q~FGX_=2<4)?MtBG^DdW!y zM99-PkPeA*n0@{dEX&U_L1hNs1g0I9kQIMGUxUmOsv~Hfd3u0Q0}Gk-rLRYt3HDcn zZKXIZj#R(V!q1Y=G`-Z7-%C(=_bt@9<^nx?LfIirH<4|igEuZ4z%u;C`w};HT`+Zm zGy2LmQ7)}saD7D?Nf*$$;kmom1!455vqI!07i8Im*&**0VK?!AiyNVphMw6lkfTgTiJn^fNq(r9;3hWqF z1!#%Wlbw?ilIW80k$C5uDbiA<$BBnUGpAMks*0ErZf%&oxJ2CfpEElrY-Tph;lA#fDVxohYt6by6im<^;ynqwfw#ta`FJI- znXq!a2vuokp96mbS`S%DLLK)I{F|-!$z&;}CUJ$HJ748QVXi zPj7f;x@P3{#f0@2i!|%c%Zep^wcyry+_L=wiYc18~aV(TC z9*cBGU&n}B9^5|><)auWk}1b^!kTrKb*C`PG){lhina5#16PgRXVyk_ezteESwiUt z^urB?458NJ&ET^mKO%ocM!`>x+>8v2yp3cK`~FLspwVEb@%MVFR+?RE9mgtu9uKvH z^5)+@h4Qr1ROm6xv3ap+QP_xdmL~lh8f-gxeqo>AN^pWXj593I>{*=o6QzDj%~yz(Bu-5J|T zhwFgwgA9ZG4p|Gi4LJ-+2$c+N3^fbo2-^%Z4#$fs2nUa#fod0S+Jk;kHV5Vxw{8-3_ne-m1M@qWV$seaU<~}0jmgK7+T1s)P6zo z82^&asBK%qrw$ie9|&WZhC*_SO;qo4xOg4<-An^$``|k9zlAd*V5C; z*CxEFy~(x4-Wlp0+ zv+YdE)#Nea(|Z`tG15GP&bybtP4{es7p?^xjwSWtjd``p^(kGa<`H!%wNyP?{hqaF z6P^BYqwYexvNhX+PSxu%@?hj$QBu+L?Ah!r7m_o5v491}*R*CuC+$W2isr1jET>_D zz4Vw?y>f$d!e_<%)fK|J_D8U1{!@Wr|6>#;WXyRY$LZsyW0vD(+?X#*$iW0wRyRMm z9eOSYBFU%o!*ZI$67h2gG;K=mT{f6Bu}Wm~f9TW|5C*;ReE+&tZPwmWNiqI<6&civwkS)pkwcWuA%-Si(? zxAb10KAZEp(eLO^5UY$j{QNHU#~Wlc=_xF&6vr(lnZ&`1`Ae03ikP8MI67J zlkg5x*fIZ9XoF9G7N@Gb0bCy8{V=C_V||nk?9K|ZX! zenQ3sfx&`uXrOOECdB_~4NjX0`G3-23!pkM0VN>`3D8r?(9YP{%HGV{fi{uzS#%)!BilYzn6*_qy%h2GlEl!1wZgM)#QnSq&^4%C9q-qp%M--XV~p5$Mh z{GWb=jqMHX%xxUZt*w9`{puT7J38>0oa1A5K>G|DG0Tf(#!u3{3Ql z4F5MWV;A%P53-M%f06w&uYa-Q{^*QTL($mY`lsW^uy~nRS-JmV@&79Q&j9~L@gD*e zD{}{4=6{p?uj2nrrT(A#|KjuCrT?2k&d%Hzw3PoE*}s|mciDfn|Ck@Ayt#|A?FRvHLgie^>r*!hd*b{D&tS3;Tbw{I8mS zQ*twW?EQbq!oLLVpHh&d@qXfF_#dg|{WLn41@id$!6bwQlwH72)8OOcXXDTBOI_*1 zT=SCz_yG#hpL;dXgGqn<`XexX*m84x*5Y*Q*2>vh)pS~-b9i=hGnFeA`0E52G(=Cb3E%fcaItNZ|iIOTA3{nJ7TOJgfsNCK9+%2fzmIv%ZEHBNU=9ufGqfYKA$r(hPtR>Q_Yx%4dim z{tST*xZ-ivc&Z<8pCLrm=U_iN7zgSF%$oig!uSdz`x~I5txZ=Tmyxivv=kz4TiVjX zy>%O@qsOt3%wnpg6A=-CFEe-OA|oTCsGzXPJ990Vo0ZkMX-8!4x8%IWm`VvTuhTzowAmczw{fJUpE<3?>J|3Fqn#YKx$H0EQ8X1(m1 z_q*p}qkX~5{Coy>L9w@dd;PlC@@#|~76yhxL&(;af$ROMGZ!A8qHslPv>nN=;bu@r zo*%z(*Y~=g$t4=qq7_cO4;zq+ZJy2D0ls5EE~k?uepV0bwU$L~F2|#pMhkUDIREAT zerDfa>8^V?*k{BC-q8yT-j7m=*s9|x)@@XALW^Qi1dfMNQc~IuT~UO5XI+oD#fY6~ z0m_x?$oQN)a1)xcJz{bWmx8HmYc4_qYzz!?>F#G7VlgTzD*IDvs;W%~>Vh-i*`CQ<7%9o|ux+ z&`5c`Kd*BUi;Ig#k9+K~L_Rp3ED$Z%S;nSVH4W}+s;TY69UMO~sRtk#TfevF*pNGU)w;!( zV@HGJLk9`-!Dk3mI@*EVi_Pvx8=K_MHtHG;!D_mmwIp=n#Js#ZK#~#++REaxrXeIJ zE%GUSM}A>MdD`q@hITE{h%dWau9!r1%T~>!zb9kJq*9@w;RPcB2)hEr>I@#yxK<6F zyFxgCg#i|x;rlP`(z;y?e?Jv$lg9rdg6)v}vUq(s_U5k%4DwaZy)2?&23&MB9 z#vSNKBoxF>0~G`OWj*CiG~Q^xKh)xSz0=_fdG&HV-rO053!VI%f>c-|dK)DDD~?w_ zV8Ef1lb@#gzhUkH*hn#?)()MDq>2A7~h*20>6B%1nPOOE1oDi2$#WfLK{3bvq>>BTPFH`dkV&>14I!>ocyW%i* zeyqR-XauYV@X@a!KdyELtpGx1Z-s=a82&hFh>4#B1r-$)wb~jS-<%niY*I zZrK+{(=$XrUkBdXLbJ@0466_SAtgfi4? z{`n<-Ow{^u1Lx+n%DzR`9P`&Ck&+4ht99y2c;RI+~9pxs|yn`Dh&Ps zodZe;-`KOY-9s~StZ`5^qHmcX(8Dd?GTk?z7Y`w}%j+%QlK9yYbjk(sI|F?xd&0o> zoc&1|F}e&4csxp#<>~n`(bObdF!2zM4K|Yl< zDkx)y0!~tL2dFv@@*x7SfUvSxS}BPbl$js^k)IM7&4VTcGyyPng(c@RihQ6W4-|y% zs5yhegX5jI!Mgpo9E5e)Fh-}B8~sgl`aA1yQ-(?{7cGmxD7Db8Zce4hbrKp63V9tB z0~X$+0SWe&x}IgQ7K_0>_sw#~%7+Nc%vV?c7N!XWJaH+F6ABXp(4u4rZ)DTa-Z8!h zdq2R|pO%lON+*YreiOJ5}vpWIgM>XJn}xD zRMUr?Q)GB3vK#OBV(U5tJMio2EcBcg@Vyp>k2`MJz7Yw}r1J;84bOBg2qop; zzK9g(IYUGto9W9A7?UC$x6x>{%Uh;S)|QeO{?`Aqe56@I-4`!aA#)!*24(pRNgLvu zsM?ktSl?D}__&6+R=3->3sZn$|3X)?lJ&ycLqFeJC07+9&tz0pNO!^ro_uH9?fc94 z`^i;sjfXbS5$dG_T$^eeyZs@sxVqWw9S7nS0N!WTzT>h4{bUuep~mOTEJKJ@|6T`@gO(;=WyH zytj~~fH13hEYE!_lwzk?_qE8zgxC*ZAnOZUS;qPpj&nroBFAS)Ps(7o?J&E!t;Dt) zvc&aN4*Qk0^ArE^Q0_RXS0b`HUD0(AbflcI1uI?zaX#+~X+={!rhJBYMFQ_*f^D*) zhulWk_O-R|#Z+rBPro~IpTxrYWCNsvRkY!!Oh7T(LP_cf(~n+vJ1&iMVBdtX2-rU5 zC_nGRwRV8=pY6@UR#)2@Tn}LKDMX}Lv{@tc=a`y9k3(>^3EF(UUq6pT_NUdi8QPu* zfhF{iPoIn}7z`F7sR#iK`Ny#v`CTKB;3N8aMI+yCXbB!U?Z&Hd79+%nIuCVAZo9B* z35thL2fsbHzc1sfUPf4ZbZdNX2vbi_{c;mRPzZA=l;7w^92H75p^MsKxaq=+_^FRf zM^)^8t=S9#K^~_EfaZ^Z9gJ>dgHYL)6m0@%FMv(3Lz41aN0g?e-MUDLs{b<(^~ok8 zr<&anR^JOQk$EW#DYv)Dx09m=lcyqpG71HPN#LhC2LWY!9&+p>9yS*5;Tc-m>-e## z$56w0+w;mHuU21E&&uwfas*=o3Dlr?XaRrlGh%0~lG5Yy_BB-A+mkR@*v+S<^&oy) zq7IjBWf!>c?qD32)R4$v2-q45Z9#Pagerg@-wGuGY7XE}koWnoI>3WP7gJU?8X&0E zl|0@FK|-)Tg35EZU}!}@KVWO|v-GL;7&4=Lzv><%Ig|MsY8=tA+l zbzP_jEhJz=S}t<3`)`N%!C$Q!DL58puu4Rmg3q}PAtR?YTG(a8q&{E4;j>6T+3f+l zHpqGWai+Qh{Z2lQ^yCO4{usOJ-VZeLSlf&rQDFY%*fQz@$$j5H zlV0CU%MEWw@ex=QCG&z%!3N7W5-=yy9N-CVNn2;_{k-fcpfWuPf~0JqjRXM8Udbz+ z@)MTRAgIIu&sWN?!k`67n&$(afFL}WbTXcm>MkLDlb26xJP*Wwi3fxaC=n@d?WJU;B)n&v2CYvASX>b=?)$4YJmK?qT zv)^J~LDnb;=&%4468Gw6(9@kC`~yJzgY~M!LG1wuAJ`~JlZ5<1OawwuPN-NBW)Kpq z^LN0}V14g&_<&_(BGAN$l4xT-02l%^;RZG-~QcXt8dvL$~v{9V{3H52D!ak*= zEc0H65G_#&BP|g!lyM@g?BCAs#00^CcAu#)fxNr{_Gu^-BG+9cutjYTTj7zZ3G~`W zB{axnqafEvBphq-c3zjTnevax#{!VR36qwrHal}wJ>3-Wox;J}ZIbRfuetW8<&PBh zf!x&Q>VUZtjcr+)JtLz?SMP(Y;GKyqp(^ufaxvE7L%X#PN!+8nsySxVZ zv(YNWs)N69SXNMv0q|lq_AAdIXu<2;oU`TTHVSNcK5On`y22Z619{wHX6iC{laaj% z(Gx?-UYfYH^ivyO?0&sITy7iUicF7vh#!=%YMq(V%0i{#u7&RN9}>C}>Jambjn1*# z52v*ZU&01DdHoNkW6`ia$or|XTIJkyaiJ|W&G4LS^Z=lo5tb45usWZu$N>}{V04!2 ztrJ;H$JmcSuIky3oU~U~kcdd3`to-f5QK5iid&2%F+so!C{~+{+Fh#xFwRy(P)Smc zgGF|XH@gC_K)Q#3g(KDzMZmK(DkhW6EK*ffwSqSbf~XDgk%G(h6W{I95?t#R1sgG2 zTp5sLbpXJ8RrBGyAtC(YY>q*W+}^-ZB-fdZ+y#(euf*wW1^?mnzkAixolZ-p)WEU%z| zE1L-13Re!A2%UV*79JiUBiz7`0OBekQCCfbH{cRiirPa>;0l=PF%av*%d`9EA3X%b zS0ECA#s@kU;C=ZM851yAwf`CL1)OlILq8qMzd|nhad`t7(mQPEXDyr7g!;=qjv#4}reZ3M>JNP!L98Hs&dxHN|4`2S4_miz zkJ0!e^97{BlM|H|A18p)#|fZppTzu;K?14szYXsYst;}X0FfVOef`!3T)T+m?Uh$qYwFAgSi>~;oz+v7fB zVqi4f`^Xa%2b0~Y>%tjr$*peg;9Fzbj`o|Uz@U-J7#rt3lhZ>8*fFC(=*JKyV3PK3 zV&PH!V`;yl`^svnp9p_)wP~Q9i(g0cV;n$;@pJeH7dVmcE-;D*x}@q3d>e>H%I&Tj z$|d3@yz}etU8y#Ws$O^)RUHW#Pi%LUNGXk5bSLQQ-rA}_tTX!t+DzZKVEzI++7Q20 zJRp1sv_;5ta%Bs9HiALd(AJGvnf~iW6)LQqpI#(B*B&h;azn=`2@)3O&(Cz6r@=kTYZA{&T7 z-uOEv293k>sfL7(ysI)FNIejQa+dj?!rJU~YNwBf4YO#A)J1}1MZUEveNS@27xHNn z*LhOz4t@Q@6?o! zX>YJ;?(uzvpKy$==kuWPjrl(jgeO>tG;&(;zHtr#)o2v-?U&I;|MZe1FbaaQ3~ceB zoa0vybW@DIqs5?TtQ43S7=x}}3mSF(w>a~mn>qDmm%EQJ#1kQeZ@#`B*OeQ2&PxWu6mtaDPKNO$zQ~gpUF3J8!jkE(X;~0m9Rn^q))* z+L4c*C?L{w<|guf|!Qm zP%-nz_UggiKtZ$|Zmp+=D(e9CF9n&;uP)K5|3`t1FwKLpbiFp31Abn15h$Hjrj7Ts z{ma|_1Z9J;Sog`FN*n^7hB7-4G*pndEW<%ft6N(b?}C&Dq_IArQGron8GVc}6qNp1 z7jAA0%7BCB1npxW@X;paL&Z&+lT`nIAmHDC@%lUDrCwWG+x5m;SXkJV@AdC>A%{SP zw*Up5>>e)kKZ0v1=5*>6{4mIP3uR^QcPGEIgn}hyWo4Uf>HI$I4lD>6(;?Eh81k&1 zo(08|l5eQmT@ko!k_rmHa|;TF-(H`McZcHXB?JU~Kf=s+XRF6fq&y%6I9aZjtFvCG zhegJV?hVIoZZI874ITWHqWG~KzxcO9NfckF7;>#n?SAj&Z-}?zeVObkDlbpes5Th{ zMK__Y7MmQ4wLEWUt9~vr<8ZrFJV%`2DGMwZCu)=Dh(^Tt!=g0N$=XtVKvkwSa6;aN zzex8jZ-&-gWlJm~R^Bb2bo9CAAXQ#k1(+S!yMn1Y9fnDR2e0kA8(-!1>c&tisuu$VEjCFoS zvb$|n@o~mm;&qI!6W)!9m0Dk)Y<6a5V5U%Mx9PadzK7Ll0D!~eR#Tl1iqfZQh8V}E zq|iXZAll5SI62jkl9AmS)RvfiSh8>s(Tck)?N6k5@*>JwtCnO6^jGf#+eK7FG#hbSG{xR%^RwGnvL#&p{%|}JWshGVnFbvmw zqxPnl1{#}hbXpDa54clTeq=Dow#rE#3ey9Gkcm)iwyjm>dsix4u9N65N5eF15TGmR z6e7Dt(EUBrOc2)q?r$Lb7}D=i2@_tcwmFBsBqVGMdW{+RsXl5w6%GFkLRDFreZInS zDXF-X$_P%&0FIT0YPQr>ldd>J>h;VLEleo|+Fhu7TQu@_%`;(q-12$6yr`-)G5YTc z14T`xA<#x}M)2EPM$D9{6RWhp1+wBT6kn@EtFWks^z6&V%rLwb=B_v-mUaKQE#lNx zXCwP{faav+no#<28bCnE#A7N}dsHgF?@5?*D^e1%otGHRE>OZNnMy7Rt;g-it&_)m zUPc*)prh5|=KTjF`cXrs)sBWFbI(x9#c$8kWBanV^^ImpvxZHij)c}@cA&$BGfH}e zjg!MZWniPIQAbxKwHs8LTIN4YcYe_HbNl?p3mu)I$q}8Y_gN>L7h`fY;a^`*c@QvXJU>Y$;#rAq3n*oha~< z5fRHfi#N@^Y-J-;R+*JleNtvL-y{xgKUXmSW7pUgIDG(DQhz*C5}=`>f#W#o3e?YH zH^GrM{jh30QGA2^S`}*_I6`$VgF?!5=E3Q*doU!$<8npnrT)lPP)MhvDq(gv83YQj zhKj3CqAh+z0zu7q^ zbO;xMQ@6~b@Mx|)x@bSXq|SP7_Lx(5SGN|2Q&4fXNb>arn~c8rynWdsz?f(4g9GdQ zvFaYDn#yh0c&`3=S#|MztzgR!7EZM(f(LYo##?(d$>D?U+Mg<`aK)Gi&%=NNB{)_! zHHp*aa;aG>iB;VcdQ+M9rh|{ z4mjd0HVoDrEXq>YDi}|w32rB&nqMoCgL|F_oa@$xPL3J>z=6;X<=>tZQhe+|$-R5U z#ItsE5}-VX{&pDK;ZF8i?7dmXaW=$kNLDV}&fQa_T$iA);-Plx+1phqn#PZa-9kkbnx_qCl(RHB zvdT0d=L+bS^UZfe%DHfF)qw2u1Z<3`7tdsYd3TnQw+;f1>+b$MCrbp4Mq>oiXZxX7 z-Pm7Z??vk|m<`TLUDUL+4h1{8xw#E}yQ_rA*>LL@42sWWwdJGn#QGcP+4+FVpTy zzbkp;b2y0Rk_ky<>5stOzpLQ$dTEfS;N(~qLm}i{IdzOWgZnI#@@*8U2IMg|cZ%v9 zOrW-Ck)OWwgRQl=Ru8kh#1~mE*Kyz%nwpyz`Y^fKMZ-NkCrV3(4Bn7A{MDrh~;y z>y|TaPW>(@=L2edf~-r9RES|%U-bpTbmRNo-Q7sAB?8DkJxiL#3+0E*Ag{U+x=X4U1 ztGr0V{>XR%f0#y#p3MW65GRl`NH2F~m}#3&;vaJL84;1T0*qw}mEuo@LUuXVB_&~N zXMQO^qsQNz#2m3G&XVFA9_9e_2q4Q+c*Ex7MK;&`M4AO2v)`M}Kq3mKt4HYYdJWa> z)oElT+-2nqpbQ;(?B%rk#qk|C?bWgC0R0AYYx1tGeG+B`&>;G#6;65}&<@8ie0u6F zfLJiGF6TxZl~QV6cV^D@Xf50k^3jn@JZ({7guoKE@HxsH8(j`I4?<-S4CeD2|Gw{v%C3e8;A(K9K2IKAP}VUIT~6L1JP|rNDYSPv)j~-W4=cjDxrWg zgPx>kAv&j`>_gprG#+H?x2)HR(5lA`&TQOM|F&q&F3{4y?e{>~4S?8E#C^JNW81MH;x9>)pNxy{7MtbFvSO(m1daDq zd8ttzd&M2K*Mj)q!|?eLa+b3$vyq5q&E0}*4I)1FRHprSI?u8v%R&-i)+Kx}X+!v= z!XeN>o|E^QQ|G|O!D)+M9nmW!)OTCrm&f3Kt`~^|EAL9JME}>b1rg2(oVaMH$EPvr z;Ct`u)9Gwj$Z+JNz+-jxXsDeYJ!6|J$VWS3z^$mX&GWBPgS_>{ z%_+L9Sx?T-rGUGYNZhx#=W=W32{^V3$ z$cFJ$AEYKyYfWf(({hGuRYBplbX<0qnop;#pAHZayK<&G({eE2M1k~;>~Q4#itlT) zj`L_TF|E-$K@=*sZ|iOGqDTh6#RP|XmDjyj6xav6#19wf4t@j#ZbA@Vw83B|HGdmi~mdY}`kh5CkJ_GV_$!cYl^ z>~62JT?I%_3?n?cxAIK#SA-B|^3p%*&AMF zebLXoJ(Wy@Be4!>npV}?Urr1UgolY{JS2h@Ps-T#h$Z)AF-)Yx?FJt2LAW2Z?=^j2b$*2} z^tkJ9Dwt)WQwc6S5_8$Q(TKTRxF>x)IyP`SzdiG#ezT3QOP=09l;(6I%~G1mbl`;f zi_HnW$EOMt(5pxMYix)=&ye5DLGP^YMKnZ;7m@!eZ(0#14ImisYarIa!Ds~;hU&0k zJBDw5BE`2qEuD2oh}|)JTZ!U|w6%Sh1(5XqseKte>H$&urh_;;hXw2}VFJSCAS?|U z4a_TLq8qcdAAMZ-t$&$E4g+Lb)nx1oPRpho4bhh?(n#mLmbRYj9cZhbz>Z05tqur8 zcp+?u4m1I^Hy9L$V6zHU51j)+c43+4XqeR&ACx8~?*R<%zqpRzrb|gT9v$E@*_IM) zrek=CNRLx{H4Jh(xBQiSn@VO+ijU)WJY@O%w$FUUQVj6pisIcVq)g+y!I($Kl6!#MmG}Z422xo{J zlg@IW-I^SH#3l0P1p0R&;KzxbeO$#!3%Ww(EGP%l&n3}?L7(?%JLnGX={;kLrw)CxG;0eo6b|%bx~-DWfpE5`D<$X519|-qkRi zgPs84pZMf*c?)`F#N*NG*>Yj+aB&uaLO}?JL)#IF3{KEPQf@=!&6pY4BgV!+=yBm2 zE|&o&bdgD~PCSE6WNnj6pjCiZacSEb(Et$gjX?{(37SvluCN<`)oz68t3lbE>8~XN#iLyI6HJF@w+Q$SE3asM8NS(+G}#?YMwKep^R1)ZqBO4 z$&$gEmT~XSMcl`cKw@c_La|AFQ{WLg@HYVs(p5iKi0Zt!u_Jklf_D2*#(T<4na)_O zpK8?)v$(jF^Ozg4w$hX{8JjYF)2nj?bGP^kPDp^W-r3rw^WE6a^!$|Y7xqf!sInip zC10$mYHQ03^4in`5B64f&*qA=7m0oQwvIP336Z?(LVLLY#y4!IB22p#gdUSOA9vAf59A8qy zPreXeBABcZb2sq*TbYNJIBvCCj?z7I30pe=bxuUc4CgZhb`bw)7@6YZ4N6{NMJ8F+ zS?ifjElzIvlE?MC%lsHNR<0C03ES=HQBZ%mGCcsZIS-kF{aj)|pTBgG{b=4C^ zMh|k6exw?C99xr`zY(vFvA4Ppox?VM(ZBT#^ECyCF=#@D1sn5 z`Em9R-*Y7Cs0J`=Cq3mN%5#RdFbj2#f~gW91f+(j#Z{Gf8K{h5bn}>Tc{8w&u!6ri z&X5{4P%TfS)(9-s$@r=^)qYza!@3>j)#$crIH9sGs;(WFyK8R_^vSzPDY!|aT%Fx2 zf0x+09cee4QdS^W8GjT1k^So zs{uzvc7V_P>k=Js3hypx13-?WLJ zE~;5JltD7T%{Aw3B1B1^R!pKPRvBdesR4FmZ<$&1L!n_Y5M1>&eFSD|h$l+KEaEM7 zauQ;`e{ZrXYE;!V^4@opFxnqyc(<9zRL5H6?xmeEfmmV#^E3UIVUeMcE+pT#U;L;2xFVlW>Ht`nv$kkc_sF<9 z?gB@S`=~lOh3mB{KfLZB&G!aeT%35`S( z*r*ft&q?7wOuo83=qRgyH+5LA)8(TA#T4@dv^$>gHD|IF*-(bV9ykRuo@)6LXSmMn zpDXTrkNU&Le3yrN!tC;ci2yWktOuzxhwTpr!&L!w&kBuHl&i8-BuebOYcd_xKxMj; z2Jj!Qp0DMkxA|O-=eKjO>jrr`o-!!a6;I#8liOPT_*a+e^CYl6g3utpB}_L`k^lWO z+ckw$vjQtcYjt2V_@L{ZlXAYA>s~Il)>^MdJtKzjwd*Jc$@IrP9)!$~ud^j?Qi2UG zk*UOSqmII>Vs!z79w&rk=4XPA@S09WmW^ibx`+^_sBKBKw53E7?WkrGp*MY=TnuKm z1xuQ47>Q?NKa6Jc(z@Y_r8a9uo=6~SX&kH48Ve(>9`VCs^OY#_wn7QTw=0ESQDbz9 zV^LMh1+1a(p`pHnM@g(Ush}C?n~6aiOcw;)rpyf{XS{^79)&r_mVMkfwy>$udZL1G zJXVv~wypDP?8w>@FIG5O_f{*Knffs$Qb3L!)d5}C)r)P$0g3}bgRfzic%GwVTX=Jx zAqS~NO1SXc=I^bttzK%MEa}@@z#7${klxHP7IIOk~+We2713? zPn1VVP>xhiI#G$kkksl*S|W*42(3>h;UTM=RJj~h3gZ}Il6;>CY~6@7*vKWJO`Sjl zLNiBaeb&R#qV^}{#P;5HeA&;Dnhc&r=?2Ii^#l)5|I174%u0N3Z@yGIR;$Gd^Imbkh9uTPSL-|eV z=amr%&y`RtvqpWUU^Wk8EhZx)p^*H(1Q?VViu(<3K7~;rMdb4RFXX^o3n#3>24ROo zMXrL*q9UEWD8)eZh@KQpbVX#sw?od=Xsxsq%1bvT#aNGKMuq7YJzHY&yCnn+#;91@fCN!lk648|wqxj*F%0MpJ5rgtV91-c2p6;A1> z`Bns(_6<%&S?t7>P2!_%&JOc;{V@BfswQ85Ap!U3*}p_HUWN zME17?(VQT8Sx`RK;rx~dABkXU=d@2(^yd=uk-c@!B zkw%5ylM0FQkE{1I6`EO0;XVZPliapJ8VXEH{GgkRON{xd3`8BIpA1x$5s;bg+Djdx zDq)x$LGKcP%n;g=>O^TZHyHyWFuI#F^B1wY+hcEgTx;h$3*=OnjRd5VWzfCn(&{ca zI_oZcM9ayDUy)p&xF3+qK>xMOhJEL7s~XauJmkjoHzb?2 z^4!|oqAr{#BgZZxzSLfYh}-xgXLxj^F|vRLK5~5YCs*-!TU>D)z#t1BTjA!(GrZ3F zK>n*KIC$3ViACiW8KGj+zA0N)a=fMv{L=Fe*sL3C2&Y)nqIL-J3`>igw)ppO_f5E( z$TbAHSXt!P-Kv{*4^b8xE}kH#QYKd zlQ5={1^Ht)f1A!r@_9VLH z<_`SPMK_tdnpO9Roo=_JY}35^dfOVx&x{HZU$E+Y0B5wAUm{B<-OV$DBq&#y?!9DJ z^iiiEleNL{nZ8_Gn;O>p zW%SwKsS-;xit=(^TEcS%``c_!CjxdlF621Q*Fqls8ED#WXtO095=8CLbGivL^=Ja3 zNQ>oa^UhyhH*a;s96H}mhc1olYsMdqYXWL-z~4ksuE@tpXY-V;!-{JOU9<097oG2c z6VS0|O%2MrYJX|V<0`kw5B%0K3aQHzV##)=SmoE{3s{~sT~jz2ClXt{h3ob+5@4;z zR4j^Abu=B-$s>nAll@_=E}Qm?Ach>08GQxS`WZRHHqGn6M>(0#K6(&W=fht4dq3gP&ay$)Sts#bkqH& z5{t=hgY!4@BcExZ#b|2UhzjMq78|P7r@sxinER*db?leC*Ox@)&5l-y=b7$B3!W@)>Y%ACnLs;kH;t^4oZgUp&FD?Ld@4M~;t z+l%Fdw%>FucjCxQw_p%Lz@qz5aVjpWktv$bq)}N?Q`aCLd|d3>WY)wS8KdRV#+!DP zC|QW=F-UTP8=|WoLfQvUIf5e1e!amg*PBDK_MIyg z3zP0e;QU)#C(7ckQ(tpJ8mjW7q56Q79N8wN#oMLm@cUAB>acQ&_P_w4W8#LqubptA zcA_h$4U}u=43Yb893$zvN!80cA0E>?WU=1qTJCsn zuRp4T^rR%~fb>g^_2wsq+If$a)X2*#4$0=dB~q(zb(iVDsj8`$+S*1rrG&?z#UlBY z4)Aw39+$&K)$(&K=cEpn#X7(sQ>?HJI=C9t>Ud%K0d@PTrLML~j+Ru(v~k&T;Mf_p zEE8m)4idPzQU81X5BpW`GB<#*JkDsxf9?*bJC>cCj7gbEJJv<|DO zla4+H0{Ae1_8e4_E+~^T=Q*|JDwR~9(y;Q%df8ieMhUK5(>1uk zTv^>HRhq}MT5gFFU7gnd_0>mY(cIyxZ@jv$Y6+>eFky6t;#}$Knyn-{ATv=0X_|mQ_|!?>x8(YE31}zJnEVS?&O}G!kX@ z!_)PSTkZyCvRYjb_$eJ!n|77TZ3{*?3kBs2FUkYccWgYL(q?~Y(SaC$oB)@vPb;c(4MRd1cyas-;0 zn&_V`IbxJi7HvE1TkMN zySvpIzT=wF?#A_z_K7>L8KrrQm4%lNQDQ$WI~5;@o<4(Rgry6Q+@W~geD!cyuQ#?q z1CnKMc8aqk!G${4Xy00`1cya>w_2679Txn$?I*S0HMu-D?>VJ}S>s6d2DQwu(wpq$ zF&S#vCCMDcG{U`^?r73Q2wXH_p+`t`VzsGC8tP6V{8$^-91~~6$Wvw-i5E!4te{6 zQEtG!q4O~eT->s>ltgs}DwPOR+~CU70X$V*mlkPxGrzXJLCGS)m0hcYU9)tAi}jeL zI@jr-I-qy`Ra=j%tCgu%O_J((cAq3Ft%9pFSjlmamP36Sl#R(ZGc8H$o#+S$3zosP zK&@1)QRbDn&h7xoT3;--QA5+*_YSodu~2^V&Ovo;tJPw`qO5WQ`!fqi%6&JFam4hI z5^G*znS7vD<;_;xBD+!A+P01}o@xw{Bz>(gP)#mrR={|MOvfPI++UK10rrAoi&V{9@#qqoM4$GHs z8z;GXr(d$>u-E+1AUqj&<34H!P4RhSZZp#cHky;_44KZo5ndS zW3mp=8nptLyk@XA>!4#`V$ne$SR4$JDQfY|RcmM4zCq57Lx&M+{arI_h@4gzmw6@f zNzyGzbbLyJ4jKk8b8UPxqHw(+%UKh0qwP38s_4btvgC2cjr%6S1(h^EK`Yh zu}+}hf5SL==FR=`z%ApPJ6EahaHA6cmb_A#H7Q5QFi9rsd>!uApnXZY^<2miDCGUF zKA_llSS=iNlP}k~s77s99*`VR_Ys1{&HAEZv3O0PY*Fijv`pOJuI+J1UA*hn^+YcO z0?i$f?p!ylO)RlhO0I>)l}?}eS{E$tc&#uu5at3YgEr*Gc7qb+^7Z-@I={@#DL#7V z1evQA+Ot|76a0|!jcWal);3+URoyiuv+HLMRrgRgq15(!LEB=Nx{nKH3{`T8cXfPQ zt-KlIvlZ8LCDCRrW4LoY(GR!&>vv7k>59Q>EuT_M6WomhVoKJ|MZ0hl!CC`P`qAgE zALHt3|8*Y%y1zbjbH4mR_riL0YmNNVJxqk2f358=)?Jk!Unht2*E*}Gth7QqNv$;L zKGw6ZxnJKM{gj)OZ<~(aIwm+ISMTQKZmtQEnldKSxgtBXb74(UJQJVO$7V~Ox(CN~ z{wPB`4HLB`YO?c)eUeVn;~tIFyWR+O-RMlrJ8%bPQarEVjB`!L>44d;lhbrGT)~4U zDqViLY6<-9PdCfg@0{q|Ox%R2S{_Rlm`@?U(K;Z84NR4f_LizUnJM3Y`eS+URwitd zP8J#_iejAHEYri zpQM8_U5N~fqfqsls^rT=`YfGnXYlOQfr`#p9{EZX>WVSPg~c#k2jq55J8fL1q^mWeoa5^Mv071+6l;j>m}1HtQj6=B?8uk)fvlO!)I#Hd0`rYnT3p+Cpv;v$LfaYZjrKuDc7YkMR_d^vRMY8y zk^le%Zb?KzRBiVP=dPzJ+0U4er4L<-WvRNa-@IqC-srR+DXv4+>gIvQL2cU^dIR7g z3c|w^EJ%nG0)$|TOY78{)+6Y3>Vx0t&AcY<;w(kQfke}11)!5CV6>chZTbb1@SP4#vPeC8Hyn}-|(0V6RG#!I93KKVZ_IwON*<38_2&TEt700lL7m}@&bK8Fir=1l_Rk) z-J0u&2Xb+ip_awdF7#k-Nq;(FT@}Jo3UA&xES7&D znq2A>u$IUCE%C_{45=rs4VEiex%m1Y*ZA$j&g{=#=D^>LmG>@0j3pJR8+vKsl6&Uan02jcZ1kK2Ox-8s*^f5})hfNxgg@ zq0~C!>9@m^04Ki^oxHd(Ethsg zNaxx`|0bm-as6WS&~%-LwGA)9=t2eTJ3?5&G~F4}iyxMVxIUdLKRk^KXvq%} zx=JUvSyRK}N0%lnE>Xj>bscuLx>H3g@YLRlHMUQmRGm$7UfgqOgYwg`7Q9;XC%)4= z>^nTn|IN44DMG&Iu+exvKhk(P7Z#MBND;zG7cOU`wFYSfmJrNVEAx=Lj;`?5tF5|d z!t?6hCZq6jxP!ZPWU^-9`N`T7Et*as1z;^J#|alhstU zlFz?N43n-x;Nl7EtR`3_trFgxt)bz6v8O2$sLUy-k<_a~@s99R?e;Zq>7YJ7iu1Q} zp2=ARE)>u11kUTy-R*<5o~HAh9qU2eS>yhlcb5^?g~EgtgV~*|+oGBn0{sC2rYxLw z-XAIxqjl&t!U7K(*BUrRdxoiH2*e-)X5PeLqnJvDfFTf!fDu+OE*5GC7y>bfKtz|2 zIb?mn;vQ4Spx&mEAz%pfCj{UcT~4IafKeroutw*^%Nc!f_5J)hcc5W+KVgZgpT61Z@*S{HG?swc2+DQs{H_B2v(Y6~?43;{!+3lPw~ z3f!XUMN^XH*6F$#LWIexK*FN@)78y#yquRzTUH!*flii%Az%m?0)Yr%6S3Lmi0n8? zPr5)0D?CTDt-{f;zYPIHpt}%=OjE5T2F_u%UT%HuAUw?eHUta-L!dVhh~O#qhALL3 zAz%m?0?`pL!itWMT{Q#@ffz!-2rGsf!&ET@41wqf7-2=n$F3RzhCmD<@c#h=WZR&6 SmEax#0000ytGcSYt84Gw%l)VOF9B*5C5#dP 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ð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�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 M-@A=>B7RN$7mRn%F8}}l literal 0 HcmV?d00001 diff --git a/deps/cloudxr/docs/media/iwer-buttons.png b/deps/cloudxr/docs/media/iwer-buttons.png new file mode 100644 index 0000000000000000000000000000000000000000..196548e00395fc184966177bd8d9fdf1a798a78f GIT binary patch literal 82217 zcmaI71z26bvIhzqC{|oroFc`cxVt+AHtz23uEnLeySr1I7I$|m?(Y6J{Lj7T-23i( z^xNOc%E}~@WM(q+n>0jDMic=K8x9N%3_)B>NFEFfq6`cSoCD?qs0KB4jS&p&qok>z zpq#j%AfcR{wUMcXAsCogNW3z%ioyV9hPwP0NEjhLi9KoLpQwBiFf=|_M8OhbfB;l| z0lDhjFt`d$p{krx!caWqYF%Z_o)a}pcuJ~6z26nBu;300%I&Octj;fwW69p5?9Mx@ zoM7Wi_wuHQC9r%IB(j)jM`PHDal=H80LpJ*ANe45JbX0dgPCNrTqbajt16$;L%PE0TyA^UwZ+CB^QL43nhb^tpcbf=;mo^iVZ{_3!MM3 z*vY;x;pw!9#DV2KC51D+b;oy>!F&7 zB=Kw=dgKx*K`=Fne*SPx-{&{{ODMP)8G0)Wjfim8hfN>@4`?#tS7Xk}X?gpskkeTd;BWBy?Z z`B9(5FLO2&y*9R0pT^1KdGEB45q}YaRrvsBnZ98efZLiYdwyzFxP}DhiT3?S2ta%u z?hNj3$A@k0^#h!d2@w$z;O?%?Q339wUpWGRb{qUMj*eja&z=(T7H8-i8pt2){1cgM9y>PKjIbZ7Ory? z1mqaa$eqwm5rx1y%?d*FtxBC$KI*1lJT%(-`F5tY#FarD}!4Tp)L{~g$74}$3a7KQv zSuk-v+d2s3(5anDa!^kG&sq3PzOjF)e?eCG;QXc4;Kut4wfEt)(-@Lp3d|Hf1a_aHPMX3#D43-SW33d-A3%2a;>&8b7$&;-ibB!eu_mIag4z7!=3v)4k=6AO)INUsU6iI@~?lG@MmC@}k8Uc5TZ zW`^mAUmva}$t~C>>X}R|D}=|JNe-7)Y%{u=Lq zZ2GjQBYVO`iHTQ@fhMXUPDz?m*q!e&>-V_L^j}jL<{cA7lW9|p85i-wahiSH2O&4` zwm2^zujJKy@rk<0Ewc+|V{;`F{Mpw0h1{NT?0k&k_|keI^TJuE^4&!eOR8f&%j_G# zart6l9RcIFAME}^$lrDt8|X*BaX18X%yMw0Q>UY*uW*!etTZn+(>B94PdQLIL>)9R z(idRF_6_UO>Yo^|8hBwFF@-ZqF=u$uQq3;qIt!l0@<{T^@v3_V zdbPcHLM(TV5-#eL{1)+N{Gi$8_`@CH(?>e|cJDjuA4S>ey5Z{|yUKsi{NNVp75Ob9 zpX(@67~UM7-0Rh=+FKeCh2@;`P0B;6`)jFmWa`uJNkdx|_A-W9Q>Dh@Y}4T4KMrB0 zrTfN==Cv-h0=3*mwJ63+#~+rcoQl#*H48KYR}9^!S4Xrg zI)1lXLh1(e!3+csqBP=81{RrTuakPw@Yha zU%|`grgTtTFY5hXnSPuGHHtAhCpskp9g)G@vVb3Xa@4&)*1)K`rplW+9K8x!JJ;!onx^037r z#heNqXT;Fiw|{H;L24>X99a<8Z<}fu3<`{8Tsyol~Udr>*>{$xr|e+wM?~= z!x)KS+J=D!mV<7Yc*$+VEv#hp#pVkukuE(is4jS=q?6oqQf8S3>Js*yrasAfD~_6uWe zl2eHdwD#%^w(Pb|2KOTv?NlX7X64i>_bxN@K*v(m(lF%?O-9p^K>5T;Y4c)p4D+R- zKSS8Fs%7f!Cz7s4_YrWfq1=ZEb97p-Uj8;+GZ9`m=B!wjlnYm;wJw*(G{4mkD9b4& z8&Ml~tUa4)beEd6=Q|XwS?9HCo(~ZRB5z8PN~UH`W@b1MoM}t>&C!|DTjZTI7x1cD zvS+iMhVXYXV%l^n^-c*MDZ6#~eV&0fiKa=$D8plwG3{|X{Yzm^Ry5O! z8_j9wX(6k&aMX4bkN4EGecx|4us0p~H~iKi&)a*? zbLeLzAi)B`n5V?k)zRfNT^^mGwq*y47yP4BC2M1&@?hfmqZib-EUv{oh%+~6usRa3 z&u7bGc$FLkHyA>W1;>Jad39&7YASz$%fY|y=eGP^8=(Qav4ZG?JD5@c3(f&Y-UT0@ z$b~-aRINB&E~XZ8VVTE0XQp9AcuLLTh<*8cJB~>X)a)F;(FVu!$AY4%Vg^MQ35F`- zM$*z?l%O&U7!)`v7zC&U4*CZMjtvI&UIqh`0LS_7vOGBXzuEx6z=BM{Apg}y4fK5b ziw6Bb)c<-y#QXq*2ECzzegRp4|7s0UmId)&WpEDAH!yw$L2+@=Q$gR((9p`>#M+@! zMkxhU0c#_sY7Yj6N&5B!7ndhF0|NuhnJTI{s7On3=v!OT>Ka(<8Pd8~+Pw7x#^u5R zDq0#k=n}eET3Fe0xNsA_x8MMk->T_|2;ZAHm~#`UNXrolTH6^Cve15`{YJzCM@UG> zWoKZ-AulBIFLKZuH<5{hgAE5AowKtuturI7wVg2?Jv%!)-8Tk01_l~X3mSV@D+gT{ z8Y_F^e>(ZEeuNC|_3cb;989gP2;chE)w6bV;3gt^8|c6P{^8Tm#q{4JS=s+8Hb#yi=l;zkf|kTsX?squrqz*dLQQh z_2u7;{zD10H?$M9wgeG6@cetP{zd$sAOAPu`;e;t9+Hus=|6}3k1zj0`8EX(c|&_^ z3&*!51X`Io@Gx-E{a@Apn@aWHWIXgtpt0VG{gr(6#rTKzbRzxOhN0Q`^Fj% z{l7-|&$@rL=c0St`u`Axf8^}F79?mqa9ni%EwnsvflzrAU|@V;;zIn2F5pL=&^~y; znb+johOY~8D_5&jkOD!-&Dn6lMLPWGWrUP)L^l_^mye1N47+#z(=I^E^NxH+izU&`R z)&!0Y4qKW9Mv9PrKlp$^jG394@1CCA2v`gOB2oC#Xk;>Zrc(tU%BfWAm3P}1rSdrt z4OSE@4)dj+$Iwr?)M5ldJTz@pAXg5_0xN$|0hB;9R+|vpOoXKpAH0U5ex55Oilze4 zwVnZJv|0laXf;c^nUv3%JXODd0T|6^sX1=u^-XS$7JN@yMjxLDw8#5=%Tfm&+v18} zlQ(Md*sbDYOL+cg?{XcW9sCsvMp7utbq+a_ddpN_SLZ;56Gs13Qd)|-4w?jPha0-D zyl7Ti8}~%d%?<4_;E`*8st_sNbq9;d`9wnjHMRe*e$?pWGQLc4r2n$q-u*QH7o$lT zPQ43VzK!kG44G35UqYg+0Onv>>7_E5J6!Oh8=kXHh^w=%SE;&b3Ay;BuR7nOh@u0) zU_Qc7@B9QxzvP6`=1I~vbw7>A#tlG&bDXYt!tmokpXA83PWlO4<)u3r1Y}9HE-y{( zw-F%=ftKpSd9i6K1~>sR7)EEu({^Q@`5bL+JYk8Wqo+zt$)o}SFNgmvnx8I)+!TTHru=1>t4rXD{cJXFTB{98lFD!L*{KQYvpK9Vp#Ub18Q{F?T3Gx7 zj~rK&a4k1J+7j-QUd1PUcTigC)Rb@(T8l=Qe!H-~BU0kg>-+55G=WGX_$IZ!dZ207 zCz+UQhVq3FjnB`EHLiI+9bU$Whayk1Oe%~sVb-43c_sQaMm)bpkO6(#SevX zn0=Ugn15J!SiCZQ)V&gAwEQUp8@j1pUV-Y(oXUL$*#`J7S$isgVHns=*&o!Z=$RTQ z0Zx1qNW#Daapu2Le~*`&!a$lWWNB#`DIQp-N2@2}cI>d~9%19P%^3lKYn~&Tx)oHo zBM*`i?=M*aGumT<>YzmcfU7`ZKuEIHh@=xCD?(!9IN!DJTUs7VsjcO=x!-U!0Cxy? zNOlU8Wp>+?`MC5T~! z#9-!~{I*LCtQ->l^w7FT9}(@*?58aYFIO#vR_Ml#ZNZKq7N8Hk%O62XXW0@F(@v7eW6kN=Ezm0d&z+PN%Z=A zaSAfxLYw$jT|W?3D&R4xznxwa2ovG~2+P;yf*)=UmuRqdNcu@{YV|6#oE8jMHZI#H zTr=tHH1EqU3A~bb?P$ubww41UA%2!T7`~RSEyjksR0+zjr&2D{Z4%8FnIGB<^F`GU zV9-lf!o*Pkq@|@DMwsVP+LZUroczH^W+W7A2Lgr5l;IaF4(J-0N|nlCEfPhe@Wq*# znO7F0^kup?&hea=Wv;I^Oa82&ZrkKu@<3PN#&{j+6A<6?8AjdMReWMVlt;mEe++Xx zZM;D*UF#_!!)P!56E;IzE{ak`l!dB9g?#|B4!&_PT<6_rA#9a-r7H6SNbv&#W0WBQ z+9zlT7s+Gt(bX87TUBQX~KnZvJuoDD*%3{S}ms1L_)Z~~%`LxPuP=W7fN2>q!l zitR~NSg6^HrJB5pAJ301V!NgRCjDLS(PIIoV`pIbrdqd$9FfeVz}phm4kf6ly<~92Ic0iky@T1^Ve6kpiulKBNTEr1LjAsBo%4Gm4f)>ndkN=$2;8(~~bGeVd9XfAhEZiM$ z0MRy~af}_Pa6?cbrJ4t7Dj_NADF46Wwi1TPrC$q_ zBVHTZ6|G5rPO)XP#yi_|EKlNJ0r5As^nt;8Ox}WTMbVRZ%VOh#A4a8Oge8;%fqi8{%Y<527 z!Ty%zopaBiOz%t|#2;;MYc=YQ)uJ_m=E{q1Z>6%^b~U8N`?TQEAJd?o8R6N!&a)N; z1ZlN-%XH-UcZaCfFODN^z3CJJc-p9;(J~pE%#lbtuAuA29YrvMOU*hLU z!=zu$98(P@a)h$;mOV$``b;AcJ#-PgjHi%Lbqt4O`KpIZcqEpA@4_2B|gy2p4j4Tg8rooMfm z9Eq*7_1S@5rB33smT`3;6{ZlZeD`OsNC1?&$KqG@R>Fi}Fcxd=D;D{wkMl<>y#ffM zrYI(|=53;GoZ`Z&_a$ShL!-TP$D?sd4}pPXPsNx8$%Fh{7ZR=ud1I{74W2`d9_BpL z+j-cg(h9U*U&`*q)R1sZ^1YrZ(c}hRgp<2Mf~mP;$ktr7`#;OhaZ$O}K9EMWBBgDR zMBpgL(b+GkWjL;ish6EQ@eclMP`i}inEt-!L1%y~#(7op&lZ9V;cSMG_Ms9az=uyk zLE*bv@+n}hJ!#13=blJV8fM}`LKw>@B3ogCHiy6~8if`ETPxXJ!}OcxC$G%Py!y7b zm1^_*;dPG-HYF{cEM&niR!$Nr>Y=#c2-;>5(hiUp57TPD}+ z;8cWZa;nQ}a@rJIq6c~3OM551a*u<&ck|266#k*c09l7ZhCpVqLNa#2`-;#b%l%RN z7*~%dOxOwYOZUs?uu2O|hnl+~3|eXpLzJ*qCGQGD!_?Js4g=j3B=F&e@}|6@25kWj zJBpa`jVBis5rM^||O@S|+ z7`WFY53GN^66cG2!ZVzn-^I3B)SSC9q|oF6t~)ssW*9;9dG?rT8sRX7Mv66Fl*}f+ zE~=F@)qR-bNWqE4u5&KjkDvr2J3t10J&T`ctFmw@-Rd_|TDi*7>9J*FqG3m4Azh&R z5v$|WI@helm;pjimzC17o9ayz&S&1H=x_ITUl6)nYEYE|61zUfz8t=X)4q26d_cdU zZEzJ-G-6>&)bsYLbr3>ykBP+=U&`#HZ{?0n8Lk-> zR`w4rBys!m)f4>ezm)EI8yW&xKW}NgS>bf$OP<8@$aDWpM-88>Me&k)>*U@fW=kHg z=?IP^ea_4py8(!glh>S@s)6DD4%=pF@AyHF03WP*b@VJK&IGyW%F3cGPRAFPhv}G| zvrrYv2z?tUsJR|^n62E^XCu>EIziecQ0#w>9}g$vL+bViV_Q3GKaWWtTpqw(uWS!_ z$5r3)zMNOonc9(-l9!c~Ojb*QSkuhD%L8XZ(MQr4EJLlp{+8g=w&ALn<)+_mS z_LttUx4ZUA+0;l)+40p7V||18^Sg{0`1_#FTF6Z@h4Nt$e>3PuuDv}z#;eF73>z1K zi|;9^57$G@v^b3EVS4x|9&b-|K<9UCkv_ZYm zU~~}o1T%SEZTtMe)Z^FpDI%-DR7+Bb|!7>L$E0&plx2+)a#Z$oZhJ`IYQ5w6@ zLq@l0V@pwlMOQv5)v|Gps(bzzs<|yAYx$FalDS!lD^h8#L=|W&Y@)gDN8Mc;n!*XT zP#o2<(43?Lq_#00@d%T0v<^9?|2#Xy8y^(1n5zG?2_L}YtBm|(3cf=Qe)bJPBTH!; zb6!7y#LFXA3KBMHh!NfD`7>_1PDwJP)-d;?H>*0_?1OXArNu#aAe>A{CLq=7B@>un z-T1<3xj5|?T9>E{qbe+zc0<-sSC?cN$DStXPb&N65`T;>v3fIZmVz3{YgbMOWWNts zS~Ifx1!&ncmKD&pjmVjSOJV@s#> zkq5#R(h_x5ND9pp)g2+iG%!!CX2R?OV9*z3T{G+)Ya@DS;S+p9@bw@h@A32@{5TvB z6#qQ=@vhnBt$98=v6dOse@sPcaxz~XN|I)EGO*x`fDh2MBJQ|;CVWodDiVD{RW74i z+@5amI83a8Z1EW4Zx`s}|Kez_^&X!sgY>CXUCfL32vF9Iv}+ zYe4dSJ2q>Tp#l4O9MjIxC=BmuZ!dY^}~jFhSG!)E}4e02}5DffEx>bG*_rmR6cn`!->^UC(yQ z3(0mx1JqN7)ANwa!3&c~a1f>=W4 zf<(lfm!(p!$TMLY>@&WytA|jj8vt03WpEoU{JJ?^BV`xhI!UBaPnegb*w?TOh7Zh+ zu(_vY$cOFR{3(k6Q@w2`xU=0;^FvTtIErf6Vtwg=Tj~Uzypl%x&5uxtv(a=;#sr`V zK;;8IN8RB(g}Lfvq5T+l5F+Q%H*>{NFA(pe5$E4OAd9>5ir0QKKKJk9lw5^6>l)x* zMR4)f^&)O-9U@78Uh#D!sZ^Cqc>TqWSW_k+OYvq6{=x!8?CtHBV`J*y0043d$dr_n zy%h5b=Ev!Axzk0h*%-jUY_g*KXZ0GZ##v$OMwqs9NMB&-tc$!AJscjl8_CS{v_mPJ zJaaXidmmn-f~Tivh^x7`wNJkQAT`Y19d}E<5u{uo-S4yn9pncr zIcgb1ayc;5v$OIfll#eW_2{}?0#lT>`~+X5Q3gJ4*wRg6ifIT9%7?n#Rm&0uUg$4P z)|>7{|DJAekQ2uDJ0yQF6O&IOLd>A1izL&)u?^-xqNl51hGq8V{)r&Ycsf)R3M@9puw{FZrVPA_p)LGm)?wSdQ^&0R=ANQ`XaS`=xL*KCVgsG|7c1i&47n|!D<*7XJ*x|`; z>{3Z#bNW!e?HMLQQ`Fg!J?0b9AiFot~uQ?qn~`6^)Xp z`9OW#wcLfdqIN$nQc z+NhHy2fqz@sR6KHH-WP=*XO{cFZXz?Rv!r@89S>rlgtI=LE5iB`u_t7nvwqc_Qcdk zBzFT-rrDA}6Z0}$hx_qcm5b8hKRtIw;&GbZp6uY8b1Hft9vlqcqag+(ab2-Mq?D(SaPSwIyv-YEY+ZUs&6VlNf}azCc$O~OGUw&mLi zPuI%leLtj)M)`+aAjBM>&kPd;PFA6z7lCbhNYh1DP(Xsv;lQj!c5As_{+$dHxcAMs zd)xezBvVAtTfYxj9v>3d85sA|87~?|X-U?LO3y*m9gytL%v(gVf&#{FYJCb)0HW{0 zp>K*x+q8vhkMB6P9>tk{d%_cx6$#<|eSGrW6(E%VQoA}9L>06FM_B}^2KK*`D z58^-<7e67?j*_9%c#xy`cwpUTjmDjHEEv*=~v~wtI5&6V+O;@sQR) zZ5;F+wdtXxU@u5YmL5=?^nJL|N#zr>2}d9)6#Vfqdm>kKsyhVDbg{0Od!F*NWY+aG z+_EVG!Wf-N@m&R`K}s(j5z+gv)F65=pTTu1`tyu4xyLqwBK@VyYOo%7yrq-Nuc{)52=<6dTwS`+mQ;NJkSd_TI|7*PtY1K(L|41crPRr@4smY z8;k+x>$N}7CZo7v8V95@ZvLeS?|1{~_za6VKWP?Z>rSd`Kj(;@&6F#%J(8P5#Qr2qI@zg z;(kkA5)dP=H3sR8v;-5S^H}AxN{3l#2zEm<4+y(d*YB|(wC=J1c((sC`~;R>bzk-A zp)b{^=XgJ22q$)koR3D@`G`Lj!NidQ#4lg}I{7;27`PSY4VBu4@{NOl4fFAgqy}Zs zZUX}Owyp!w*QSIp`Z8s*eFY(AZUk^}v>Ri>#B?!!F^crU%YGMiqycK4lQNjOe^N_7 zy(mMxycZ&Eag2JK88E=elHLaGSfY$Xp}@sie&(@Sho9SD~T95^ah{ zu&twFncRSo65t@8DgO+;9_j7Cmjo@Ev;5J0U&yLwkREYw^}``yj?H|c<#o>Y^J}UB zvERxg4~wo*hfjS)xdlH;Xj^`SA7Im^Ob{EYeTtd=z!u0E)T2_eDE>h*SI~S;K8=Q2 zbk!XyFp{bRi9qQIgayVi00cP7Pa$CiJ4lzYzq$~PQfO>km%u<`f%xF}a$9r)v3f=a zXmts0<;pY}Ni{fH6r5nyE*PH|M?YBmyT;P8!tk{WOOq)k%!6EJT7x=hLp&n*K6Y>9ll9NHHA+(5Y`da! zx*-NWAQHmG^GpOco*2i}6X%QAGzQI0%3R&GQJWfG|Aprryn|GRv(&T!dAGWDbjo?P z4a2zN51c7aO+wkv1T*CH%GYP#HxS3&N?l zr40#uBE}fc+S@wR=S!=DqGMs8{o0rhRMhkkU~959BzC98rAkQ6G$~6Jf0^yc?2@ zt#*FRCWCUp6O#4J0Zjfzy zT*fT*G+R1jJp$c<)#t8)hvy9mTfWBUFjkIkC|>&eQ7wXjac?^~>;oun73`E@+SXb{ zxH%!j2Z4)|VoA(x3Q5db&!K$LAYTGIuQ1;d2>J8_OpH=ee$&H1(&1h{lr~MYcf&Z? zsnG#z>3+``KtVwTX(ZM|H1-@uT5=d0=|DeQp1pU#O2OnojnyVGMp=Q;INyvBheXPX z?W_qBeK+irn*^wvtD5deR8tLlFyY>tG(4b9-%tUxh&#Q(_~ke6j#s3ADrXwc%og^$Y+|hD_8XfP5R#q` zDBLYi==u`l1a@Lso9FNO_4Us;vy-YaDz)-gI}TAWIT(oJZB8Pv;#2h&)UWv2wb8R! z73>jMlRiwd7U>O2X-5&OaxFfRum4i>7Q5|)KpJnbTpFgHb&wZi=-ZyFp9!&+FbEHl#dX(Ux_Rj^DKAW>oy0=j|$f)_!T4YtKiIWa)#{b<5si(-d9rBGV01X6z~dF2Y7i$U+t z3ek$@Xb}pugv7X9UF@?wTL)1U9_f46iNR_}_@Wz%eCh#ubi9Jq1B?`09^ne1ok2Y* z^BguqzHxcnONiL!bKm2}2$*@EY2c#Lk0d844HOEy3V8XvsuMStf7_k8$8X=2X=~xte{aY^QTNXB$3Om z@_%Zo7GdXySfLo~r8`6%X}5x~Jga#F)Tp!@Vx`ZDwp>F$2LIk+x}u*av{7q%#)acW zV1=Zd_v(dOsz_(^clDG1))&`HU8U!>fMIdfc9k|N(-8mJ;w5#pZ!PZv3F9S0On+KZ zJ7A*C#IYiobPd!^RFu%*?{z_WUY34`!HR3eT4S=dd3O@aiVFP^ zi&vclL1(67(AkbFq%)qyzry3D8dBUUiTo8&cmISmT?@lEixA{@k;_Uf6~nmr`W%Ty zh|GT;$3fS;VnQifVqw{qk*7Hh8{-NUc)n|$U{E6$U3E#`J5~-+@k^OFHqZThY9Aq+ zB-8tM9V-@^hX3QE@`~LPUXRPB4~rwM=hy7QGtoX`8&}f`?yZl?MpIjJk8DI~>utu@18u&9I9| z72}OfQ=~!1+>;O3DqgmKill%_zNS-7=xqeI)Z_sW1qK_CUoQcN{jjJdob?$-r*eqj zac%y^6W#NeH1xO0q&d8_X;x`B;JFx1p=ZK=P!uoeJc3%4uN&3upg%+BbIXmq#R5@i zgyE**wSOo*YN&Fb+v?#_L)h7d`GoznDo_xZ`O7!F*~@A!TESI7;5d0Q5MH;38O=1% zPFuL$C;^EDE;C%@{Hi0*66ZRqVT!8W-_%%`&OH`nBSG#Gh;6J3M1K2qXQI5OAJAEc zi$cOaulOZz;r65;7zu{=vW+IcyE~ zI6c}=NLVemTZjbVba?iZfe&+u;X>F6F%iAJ%hml~q08hu&d?nd=j3NFv^Q*LIa4)+ zWr@Qi3aK#DYtE$RzOj@FU?lZHaUidOQ(JOZ+OsluFYdW2p?EcxM1CFsNX{OC{3|&N z$SuK7d1WpgZ0uyHhjB7p=)Q!Y#3-|vtmIM&Odg1Fm-QnN>flBzy`gpsCfJy1XC1IY zu@>=cM6TVZm@nF<>mnrH$ic1MpEr+y31B-1;pIydH#b!1INZJhp4GdoceD+lNYhc| z{<1^V(=;lE{+0fqNLT#OaPIEFBuf!qj8K=XGI`v0M-b|3g=9qn?7@)<74wm{?4=&D zNyLe{BdjWo2nsnO;Kmu|MB(R@gKdv#`D_l%uP`4}CFk?$$+sK`VY@YwBhN)4t?8N( z&)UyVt-^`fSH%UP$$g0t95xO^A_*E}#QJ0HPZ^xN#2$*lc&?~{2M?DJR1auFl`E!p zJ+qYnPRZCmfkm@23>hBL9Hs6GGx^H&wTBE68v+Ba7`{E(D+3#->l=;Q$F4`WfhCYj zLx+oV*ty`XmDeFEoNcPy(Q1F1D`z5OSKoY&&X<>H_h_ZN^&?2k^_y?JH_}UaFa`oy zt%%~o0Y5+y0k}x#-c;0v#|!9+x_i_$(Wpp(#CZ~?C?9b;y64N9frXm6L>1nY0g8#m zJYO|%h}wT@ZimqK3>6zIKJ>aFXzj5a;Vx_Ur|U9gv&D`$}U zms5S(x?}Irc8k$tjLbfpANZYEvmutM7tz99j_!SDrG#|y?%>VeJ0A@Qpeio}C0H%< z&7L#_01pHg=I7jGj2TbOEem_D(e^G-WR;g zNS1~FL_5gtO<}}#89uc?d8;j;-e{Ho`f@H?+?LMUfd2R4_LPBbb^$B<`SG@px>%WR z^-yz$l;7IwWKkcT1U&v@&)(NnJfiQw z3)PR^^@trHt3E>~E3lLe^UIfyO=@QD*=LbhO6?O*Urgb~&si5wZ8%x>KXZA%5rV&q zw6;YM!Q&I_!=KJM_@-f%D$8A^H&QTJpkqn30}ivi8ce0Xr&==|=iWVcP zwbtId?$gtCORbGB5H%0ar(QuHKJG2zcz4ZNF-+mn+kf?3UmR19{rY6v@b&d%ho;W$ z8r$tGJ7}-d7r@&~DsfY3+#9~nWVR(%>l+y9S?Nx3iqMq9a}FO;U-C*c>UQe*SmzJRdcO?K3DWp zy;UQX`(b&bt4c2nr2R_sb;!o${w4@dyYmNlhZ`uXD@ZDP9OZ^wlw}O@T>XYr^)y?Z zf|bXS$pzQ1`T^))!Ya%ZVO>1~9xOGEsu_qstf^ii)?X%Xx$szbJUbCSke?zqr^f#3&rK*0d$#wnpr6-r7;zUCIwS?{Chn%Nn>nADFP`zeOYR9)07u-&(kOx}+mP=Fr<& zXL`(w9eyldYMAi6<&6%mbvt<;(l%XrxHgi@T=m>5%8krZt&JqP$u#!Zv)|tKZCz1QU~; ziQvtRRIec2q~Y97IZ3{rtymkz@LGz!o3Rb6agUK<`vZB5usM+GgvSKk7{wj)PNP@&oQ(p7%ADBu#e3b5s!$`~$td$W-upmnmmvZHw(@ zfz=jODoey?dcPt1qWb!Hr<3J)2Ka-|EDk0_UL>)F0SPkXy}=bI*He}C6m9diKIYg>N%Lw|R4WJVj8Su|p_3$p3%VrDt{ zMqg51&YYhPx~vHaOQBKW$;62FR2XsF=_j`8(xt4zV>NC_@Bqdi+Twm|^(SMPs$wsu zS+8R=-T7tJqL8`cZmvRoPI{x|D1ueW4j#DS_56^0Fcia*N~M@KQHetQLqT0VwOFgw zes>gdz>X5)S}K`g0T&H)MRAm^fbcrdj5)(~^G2jXzg9I-VPT;_7^kF!a)jRKIg8M6 zaGrq2;$g~M{tYN;}vnMsjsxb?DZ3Y)J@PufD={z}}Kz=4EweFyJkn|VNI z0hR3L|8OX_f_;8d>H}Gy{W!et*cp_lZ>4}!Y}bGWX9a3kxk$oaNn8ymGF$cZ%`V>x|2ZFHW@N&GamV814K+V&qA#tX`U=TJ(gv*PUl=f5+=4&%+p+?AOq~ zq`U5T<#8!|W4R7YXoi=E8pErgmX~?UqfM+a&oR{}T|>IIRu@>%?fm^6XsCgpD2&(J zr8N{Dbo7m~Q{>W)Xa?p=qQB0Ni2KWTZTX8lZy-H9cc7xjEBCAW79wxfjO(vUn*OM4)JJLw* zaXq4V?klUX?M|CLsJ|nZL|T^JZXxx9CgWiNqb5mcEc9F$Ywgp#1x8PSO#WweHLuO0 z+WnXI*rMv1#$qFv8M4YeG+DN6995{D`BRsT5VCRQjtfIZyg%|yLv)XFeq|M){LIPS zOr-*8{%EAk!JgPE&gwv)7(WA*)kXm9RnwRkM@Siw*Im^*sO%9M{Z$=W&+kPg1opzO zPM3G@ybmvx{6N;beeO!I`Tm@WMw!FatPByLDV}0d<>DSfQ zPQf|^b+mbY=DS669#Jw}?^ahN;9B3y^{@T0>&(zlK>~s=3!__+TpKXGk5jNUaIlRk ze|ldwD_8D-fP1u{Z(N*3cYPZr8x_v-k_P^I?Izry5F;7@p6je#^0ZS~bm^Y?1wz|dbJ+-n zDBLsgDUnn7I3ESq+$?V%-s7aiUsy)jz2EG2^`=bWIM`|w79p|Hc_ho~T+0kM`TxVz zSq8-wbXyw>K@!~E-5r9v4DKE*1b252?(PnQyW8L%+yVr5cmF2udvAUB&lELPQ`P76 z?(W@tuV;buEryQy5iX>bd107XjExb4l1TFknxbM8zESL;)|0(P>m~KxKC>CeNJm#& z3R~~aMNq>6fpgtYNFsXSMNN&eIB1|};G|C_3_f5t|-?vb4EQZIP%aG|CP>-A$t`~=) zw?#g#A6lXU3eEuOq^4bKc_s#f@~=UsecaMa7#I-}&j)*Tr=9;aw;Rii$6{P_)SdWmtWd+6y-f1Z~C;k4qQHs9L&Yobfa$X z=g7CwHGY$?{wyaWeN+PVrCTPjPNRPxY;hMyhu6vI!*YN^4HnOzwD2iG( z?h$qBj42mtEpN?Ied6}ByxH!mPUOPsI1Qw2>FMYW`KXE<{~+DZFzMaamvg=NrnDM& zMiX(adWZUTKQRAjQ$oh>*RAP#=X<;OShw(<$KkeRSnnkU04uEAr_aMnF!)m&e{9jd z2dKRs7RIodaNDek`)xN1W8zp|5xvgQcd;OV<> zefmL+hll5`Cr^D#u4(RLuC+;hiKy*L$FAC`O7v9~Tnq)@?s^1JZDPs(qC&+g1w+~ zY};LKcI%*+UID3&qorn87VKjk)V2CJX@2+sG;RWZxBmvD5_2ph3jH=J0o}b>e3Mhk z-CPkJ2Y#N3$>?^TX)TwTOy{bi{{nOBni3JAbD(R-T)OV|9uqz*kMYCe&!fW*0sP5l zp-W#?Gt5t7*$=5LA7jd%8EOvTYVQ7b95^H_d*Y7=KQ!LIVR-b?^*G35MS&j6M(h)> zN_($^%oi-`e5eqCcVQjpCDY!|s#G(ejYUm^BRqmShZpNI^ZgB}$y{p(tb$y2G!1I!?%E z`fCMNx?)h~snu|pSWf~fw%hOGb4%JX_rx7l`n{quaneAJ+4FCy+VYI~AWulw_SyNy?u8{ZL;&WTKdkJ0tv{b)9_S^aFDKNjSKbdNHZpQ!TrW8 z;sy$b?riV)&nq;cQInxkS%6fo^j4u_@t(ZR?Lgv<{7+KoTcMT4Q_*aUO9fsn6a|INnnPXEV(glaBVOy}HYA6#{ zn*<5YA)#TG=hXw{A|hYvtWOV;HJ6Y1zQvVn)??i4XWDX%R!SG7UTqA0nijAtp;CAno0DT^WD`;XivpOA#D-ey zOc*_O*43&|mB$Z;K}LpbMYX-Su-yY)7u%5*1b!si?YEpdqc83)cAK{E6oRRZ3ByNp zXD~;Ne%`$Tpjh7Lp9#*3Y_%;OPmb@c77i?}6xGemlAYk54n_b2s{PG{QHr`H8~8w` z;e!Hbd^-@5y)xVcp@}YjR_Ld9w9tLMByTVJUR;Sp5Uzv)?8RTIRYytnABU*FI{y(- z<(?gDoh~ey+l{O8Le2*pBzIq;R@Yag3}8aS10W#dioixu)|nXwEx?$_f1|yA_%L&b z>KAP5s>0Ck$fEl}pnrY5@49Sn$MU2oL6JRMifFY1-xJ07&Qt*`jrEIofM$O``;b+X zg#CgO7iS!pg|+?NdWf+;!u1yhN@#9#L$Owe7>+dbJ<37hc=NW>0Q;OoUfa7=k?= zxA$YMtul$}O-@cO$?&hvlUTpwl%bQ%9d|p%`x+fWHLFeco5`ZsFN++PVxFyjACT;= zZn+!bT^TpI`oa&dN7MJav|xjSr5+2|idW+vX5WKcx9TV86_`H1(xCrhiwm*Y~8*Ubma%s7~Kf22Uv*mOeAj14e@-OB}i@-$X7bB^LrcXf!qGVG^rS_W@$T_(2B{=%Y<#G0iw zxNf0`dvJvY?W&HQw2YJcGG6Md_wE_$_`}#93zjyotHIQwk-%!L z*Z#gs^rCRreqokCm}_`yi%I-2zk+6`AkFISx}Q#}REqlojVB$1kmNGQ$L+tO|A?*6 z9UT&eyWK?WXbE0#jZcsnF}ktpmW0euo^EzMC+6nqE(g}(2sr{DN`+oL3KSEmfNjfq9%CQZd!&0F z(5yQ2K8EUV8N5%+0b1(`(03Tpl>N_rnN%+h0o>n_6Rb!%5uj;@b zY;fsgi?;Z#Zj`am9ki%v&RjKoMfJ_?tSI0s^a`AUn^konm}Avyy;x~jn(6&rCDak! z{aSniFoq8j*X6PseM-YDANL$orroyZD!C)tfV{W)WHO)n=H-!q*>HM(F0?xuIbU`K-pwa z`=U@*5UV&r$T)adaZ*Q}-}{!9R;H@&z{2>WmOXQ_FdlL|;jEOzTdr@0qk}+OXwHX7 zE=)qVjC3{w9g4*gnmf8`PjqkY_&dfybM9NP@AJ-wQNOIYP9fmKq|!0U$M@qqVz<3g zNaudWw2Hodwny%`5cooRmO?PA;2?mITK~UZ0N94N22=xK1_qag&Rd_*CN=!HDPGI@ zPmmK<`?VcE7Yb`Eg{hkf-OnJS!?i4+pgdnW2)1C_E>-J$pId1PIS8J77PK#K`c?UQ zFZg53`T8{R@K-wfq$$a%(s+nSj?n9tt?C^HDt7k+lt#Gg`|@A4_cvtz5i@6>^#1gM zF3&qh*+s@m#EXa7Fu_O2W*GkdsG#SEiW;V3!;Py7@zp*+(bfPB`s)Epep3hdMzt}3 z2ivjRreInzPxDcLxH%pg(|+H|#dV(N_s2~L-$ln53o@LksG+T>Y00JwyJ9|WzW`9t z|MmqbEJ)qL<)0)(0K5fu4Qp8`!9>JD5HtUF*t83Of6csoVS4(ClIukp(*4jQ{-zb- z_H#Y8doqh@U@<^W2kdv1TYyM(#s?gfc}^uF)inMpc*EK3`e|@QwqjEs?nTv#joJR} z4KA8scqq-j1Sk-C@$Kn!%`DPA?*2El{ZEy;K=%jc3nLe(!C5G+SDQnr4yoAuJ(H5T zgwQ$+hsO$A7Vo>Lt-7i;#&mWsqbLpxgf3_~IHjXZ^IgMjXpUUaxW^g7pcNWgw6ysFf*Rw4|zk zh1N6VDQjNuaJv}DQI<=fU>+0PiJF6xBGDfnhRgQ8wsulHAfY-ZZbWe_dj#2R)KfaR zo}MNu6e#*`@9aMTYkR#%Uzqk^=;cStPn9KdWW1g6#y&$1^Om4fMRAXE48c&e*~k6j zs<(7xvY3pbeUE1ia5513SegEPRGKYY3l~Lyj*9fzxccAD+9?I5L;h#BBOwwO?!D}& zck;dF64e=8r#q5>HJv${T$mVbPuLhQTTKi=BU%8J@9&Nbx)}a=_=^7H*4D1O%I4*2 z$pUCb4D&ml?Kh*&m53{Tce5T+BRFoqFL>1~mY61fR9_k_JgkC^BXjeYchfP51o<)v z0_058)Y(t|*4@sV#MlhK8}VgQYT&kJn(X_-7F3W@rIoiw5oX1|`;=L-RTvR_pnc^( zHr3c6P^io9l)7xLL0w@;f(pfBIvW`wir~I5_8HrP8#}E18HRT-h^_wlL)UgM?$>$}+c|8X=Ha?$x`7#|{0^VDhKabMc9 z@#Ea<75Ad2^J%{(U8?B&CY7(oQfFy;9Mw9Jg3QM(NWz}O8gXp87vHSopRXZ0b3v;J|K7E(OOVqYQ% zirbE$SjspkFU{eaJ4jf}*gPLzsb#7EWVN(RAJw3FhNJ@{UHad6_^+US>BX|~9}iB0 z07X*awk|s)3PTNUS8&|MfsPR7%h%1>_%1V5ItCq31p2RkrP} z0nK0plJ$qGQ1S)DPR;0cX7vaWJnRW=1=OTg}k1IQ*fi~4B<9r*BZjd!GXsM%d# zR)ps^m}V{eSp=gNwy7@L!uqw(P|UCD98isAV79anQZi~4@a5WHu4`h-nB@|WABPe7 zO^)ODZ)7@%=QT9rY$rpG5c$suq`T|fs6+M*WMSoc0{4H{sPzte%Zr*&tH08Q z9~atilop;?%N)5;hlxqHCosMXqF>1A#_&ak=6Vn$7fLceIxZ+Y{Xx%oZ9 zCrHC>QQJK2z!oGNlZ2dby{K!4{^io&KL&heV?RftVOdr^4I(2pkT^qs=DM6O;~uqg za$@g#oE2r4v9h91ZOihki}*>LL(R#lzXL6Pcej+9zU$yc?&mx<%V<~!YBbfGd^??n z3F-KGkFKI5ttgT=(26u=R<-liQCt6VWB8}9Cc?ELMZi0TeiibFK}~bUpiI56ho=E^ z7Zc6gA^n-=s8W-l%IWBZnKfub8(eN{e~Dc@4ECGMaQit$OP!g}>)_ou?Uy!SoW(iM zjWTb$C45~QwsgGuNJD!InIMbP2wG`e-prWlQ(91m;Kb zk-$9ao?XrNC`$mr-U=yF!tyu2kIy$Fcz^oA9xAh&@^Ss9_x?!Gqb&B^EQ zI|8?_h|K$0Sh%y%K3Rl_q6X^v$v7{)_GhauCF@);a6{7YDA+uq+hyr#XT zIEIDxVRIClk={ZEI)H2d@cq;;$Q@~WWn?-lF)fwWx9qdScBL=;T*beF=ojC7J_gj+ z4Qrc!qFxHpUaFh5i&s=!#aDKVx>ZKTk>k%oGU}hSL=hNK#M% zA$o`3dh#ODI}d5iKpDXRSID!6KaxX!=j4`0Is-aRgPU%=>RFxv7UHy1(~+9J0O|D5 zzjP1Y(KlgX)i2c?q$x!qVKD%2z1kFQg!jkpAIGn!Pg5pH16%k)#bbpB-xu~G&of|N zzRL|Us3KmHs50ITU^tyH0o%Y`O2VU?d(eMAM99y92n%uAAD5HGB*Ae zTBK-lD_NDvi6BI3au5c~C>Mp*?_gFLvsaaI9(F;k_ zV@=rrepen>YMU{UpdLrF@}jNI1k9>JJbn`p8Gy_b?9`Zc8K3_jk zaLJkk5oSA^aQ-TjIPPkqhdps2);k5r^xR6WEul_QkiGQ5J?Q61o*O%gXz>Da6DABP zom8pMIBxUz7N%V8!*zM1<*@(xeM-aSFpyfLmr~Gz54WZ#MNd!+SGV5(*Mh;Ds8%9= zy3a2Ls=2-1oH-WsMri)0X4bwxD8S;S^rGtO>QaU77QVRF=uED3q2Q$fvc_6Ri0H%R zY*Ss_+|tm<9Zt1)X`Tw5GJmR}$bO=9-ymY34vZ^>eyBab&cY;GKwQq#+Yis(Bc) z*f+O&9WN}V)W-A(XcWfx0Tt_$Q+Z!la8Ll|)G_Y}B+Z_`7j6bjc%qBzXllblnz zy<_?5!)edOViee`>A^v)cwJ1)r-K|bEg1HNt1+MH6I5IhQDb9z5>(ibZnrb_V5)<^ z!-NG&9B)VQw2Mr3wuu)9M`EMs_8Fo)yql$WmcvhY&6&Um!P{7a!Xvvks<|~z=)@7A z>V|7dXZPT)tJG|2N%ef!qoehULgF&t-VzJ=6u6{@T67D&^D+MFX6aGlUdj(1F<8h5 zX0N=+R*57?KErIERn0rBO`7sgznEEjEuszj!vuQ({f=RQd>_|I2@B%SK{;bP(gAU#KDfEkBEjR88Qfa}t?f7kNSon>r?{D&KIo_Q0Zjx#=~nv1iXalGW@27-?0@&aTa94bI=w$e7-!2Nki46$!aRLf)Dv)T!u@}a_`boJ|p*mBr0R$pcN zUvhBfiAR5lCe_w^o-UcH!m@~PY7|nX;i3Q+?2u!l&ul)mij{x3CI?MwmfWq49k!iX zQFL{Tx98E`Rlwba>L}RLoFViDu-9M^=GN@K0K@oC!LKI?ae;iI7{R>gC2N8d2-A{>NcSLb&(++`heqtN%HsF0{h%p9UVR zGJc$IoZJH!QY=-;UEcjik3;2;MlCNa5!RjY)hBo&G$(+<%C`Y%(Y3poUsrhGwbBW2 zyq7y<%jSeIp)LEE`+F0_+Ly4EI}5X;GIYYE{XT1Br;catYX2h2)v)bL;1YSqitX=KEP#^6wOm3OJ{EJg2yEgrbVv= zgCGoH>Th2bKLq;?x=B}bCm!Ih;f~gv#q@o6~8)6!r37e{NXxY&8qh-DU z(V}qkMuWfsN`y_Ca1_frTHuAI-PbHO)`0=7YF3TDq~1Tt{RC?6n3&(4#oUTxJbci2 zAJd~!D2e_-B@FzLUL6mV^{nvakhk>7q_ZK0{L+1aA3Za%esUOs%1+pWYD#DL4;duk zhS?<~ZQJeg_qx)pdF=gE?>QrZO*tq>R9a5~r~%7zz@nxmjGTh|d=69y?e*^T(PQ(G z<<+#D%KH=fExQeoE%?sQzY8q2GI}3dHCb9=;42cL;Z@69(Am~OqF=>m1U(rlx_c7& z_n&lyPm>SAsitoic!sxU6(~?)!|YGCRbREd1IrM!F?;R|Mu16-4^U~r<32#EG7oH* z*E=qtUI!N~ylZQY5@!C@g+QwD8(zXT=RZaWK}vYzvr0neXM1K}6x9mi2Q(_p@D_tA zGwCNs2|kzqJM>$WzY@02Zw!J749M378+Lf1g7w9Knw)w;X{ZdKlehUgJZM4-3gh7Xe^1Mat+^4Pfq( z0OkXV_4M|_?qyrobJY!>msHon%~dC%-B2ZLOfXay3D?Sg3|7p0fV8zSOT+&`THG+E z?_g8DVRheM=shT^FY4P4E{gvNsxsJ@7=3|$vv*a-+rUhr`P9lO3TkZlD^ zZxi{#OA%n@pv6|aQd9{bdHkj5JgI)^Ioh5`dc!Y!3vN?;n)XU`Fe|s(+rLw*d;S_h z=%Mluc=sUJ@i_|6q&b#5vbgB&bd| z#_RhEjF%c_G(!JiCW$5YuLQ*G5p+F+rcF81wrcemP-QuY3SO1+W|UU7Kyc)gqUSh# zkpMm^s^M2?uN{cX;Y(=t$nZdwQXfEKg=i!kI>)|~MGvfCCy46B4?QP(FJ4#q(#Mp8 zsw@D07lIh(Y?_6 zGPsV(-i~%XKO$O6m%Jo;?Z9KdTSK3@Pr?S56~?iYPyM<@=f|W9ma+E(VMmUGuhgC< z4V8ZtQyhCo2(LP6Rm>l%AjLAy+d;%Wm78|n{cvQ;p`OviQW~7t@k**KFw%n4fiL`{ zTeFBn!njRA1lHuu%B9~|G%;B5d9~gM5La>h#BsS4Tv#0@miFB24Yc0_GfFG95kHR^ z4#@rkTRKWY+^nBh8f_0RoTsu_@r=o0+g8b4YxjfMHJE=nu85cM>c*^y|ET3b#kA@x zwIR8sTO65;qBae7E`JD}-8&_i4U1FidParRf>&^hw=0dbpI+vbUzg`-?_YN?R>#+n zD`OnEkO=a|u!%~SlgLNZOj?G($F~y9wWRQVM;8Qqi$V75NSJ*o5BT!o4c`)4{(sN* zJ}K}KIx~mSbCxMiXk9dHArfN{SgDXJ@=qJ~MZgyHFfEWM%VMW@>qGoH-^+pz5wUSY zZ>w?*!;0sYW{w#qCErUor8vojog_+A_dVDUE2jK4VTy>EF!6d<@WP4*aAj0TGv*a6 zrYMx77Bz!g7=bBATW=iX?$PY(kn|?eg}aw$0_~;o5|7rdg2#0iChj^+PsZT|*{lAF=Y z`)^~O@=Mz8=?3o$t9>=n*gh}Xt zHq#uI08fu?N@VBs9)`Q5CwoW5h!rNvUknR|?yA5}ZYr>|;b14O$~>#Gh%YIC;TWDA z5VK&aTG9+r@nwA~&Bmh$LNrb$Mh)b@Vmu+#;uDi^TY<*a_yXR(enq3HM4maA0AFo* zv^v`h7Uqy8RIJNS+kRg?~P8L?k3mh7rvhrPt(DoKv(l!AD?#gzaC3 z`Fh)U)+YjCdS~cI+Wvygpe=9UPR$2Z?|FTs=5qEh`rCvOtrlhwJ#2<@Blq-h`7nXV zYUdYVwKt+%O3D1fl1y-nD!ifI?CdaNiPrh`sGC$>i+^>rgn@=q?|jZhZ&o_T+2SUm z0$6hSXn~RG$rECro1qpwvnWGKRaqCm6F$%8fhLFtj>B+>OchzruF-EK%CTo1$||pY z!8G)7F+zuU&|ymM%ZI{ThWKZU;4ya%YJ%HWS{Y-ecUv9*dLB%pmUIAN4Mm|apx_H5 zTb>}0$sMjXctN@ptrBf9E4O?mvuag=H!DgL>)U=bW4faAAB%3%%AXWi2@2wKL`;YZ zMVLa@{W88@?wXZyAB%V7d}pEs+=g=Raj>)}F;r~6Hy<va9+$ zD`4i-8~2E-UA3E^7h}9%a{5}tH}^}y9U77n3w*JWg(pLaRvPwkLwkFB0H>FK5X+yB zGjD0aNsxo2J>lsiwSxY15LtEfVc8t1Q&lR^*DVsmMM)RtvJp2r;bf>0Znad= zd=kC?2x6qXpK)Y=v7iV)9vNqZ-s5sAL$&doHj34JD069X7io{M?gdnkqL>D=v@ly> zRh+<9I(J&&u0c4NQ5i{Xd(&5gLJMXI?#ld#aQ5EUYr4$}fW|DXxY}|35Gi2$Y%5`- zf_}<1M&VmT)R|(MDJQ=rfjYpL;XezPObG_2K$lzDbdb%rsdQOEHJIxs=DU=z=J30p z5J7jP9#btDC%vQ=B#iV|vbd-0tidZcC{gWsLj z@cq=v`L;NY-_r3BX;uDfrWD5sb*3l?U_8-maCY%q^x!ahB2~fw;jMKg8fPwLdOeLH z8=pDwl7F8^&R_oX5P$XfHtID%!jj>H6@vUNh0Ly7C4(h79W{hUPAghXGIhel<}trw zoDj0CY$`*nacdfUx7}VI_B>i>OV!;aNSCfqby7jqE^YJ(VT~UWGzx^#{dWle$28!t z7)*qyR-s*&Xr0h&TGXNjv1p#W3QVU&ubN6QU71mQJy{%O&CvL?N|Ybv$=KvCsQcQI zxY`6Ac&49eVNdRv%VGd6!mK(6!odtY_ynzR6q%i}LZ?%j~)=OCoPhghf3W+@?Hjla7k6DpTIW}kiB>ao<5x^EDmSauO9^Rx3AvA#>SDnuSrhn z?!4YOjuWVry?P@y)dFHG4k#K2XG?8ZrAPn!1dw1^C7n@7GJx~&@A1tX2m{iPOsQEC zgU_K-K0@7(QcmkmD>HD&>Q`(_cn`~FycVuqH{hz7i_Pjc8b7G z7RCpObZ9o-&mpmbAq9S2i8quL?|8Z`O3rH?7(}e0JJ|!ZyqcxBj^ZR6i?Z>Y^tAP^ zE-}0v)W~0d=8cuJ({Q-|e1O9~H(qN|8Xjk6i?>ur(qJ`%RnHwD7UOrE(T|>gT4al8 zsZF+uL_{W3NDd=RPhc2!y(pQ&v{SJjz87nI?2k^jd)_j=J(9axgvQYB3M4z(m-)0u|;c<1HE@6fQ>L*Pcsk7~IM(Y9NIJ-?(<&p=D^l{d7A!If{tpXTqE z-=0hrcgxfGvy1Iq)b=2aqHWhiZ4?D0XBacl?iR9qjNCwDH@wXq;l>@V6tg&-O;n>} zQfT-Gg>QUVJ<^1cIp+P=VH6#h=p`s?Jte@MAJoy>(!g(vC}l$F*o(_8%|-YRoBl zq738x3oKeC7R0bg07p0sazHDszPv+`eA>drnBLxG6}2V!Cbc_(9-d~;)5a6i!uz6f zLmr^o8A=PaLV{vvR~kdfth}~^OqmcS6 zx_I@W8>}H=uv0%>o{~gok2~P0fG~Fk{2)KUMSpjPVDR+0L=b$pw?^}r){3F}XTOpl zDa`$xbi1=K1x`kVXHb6CVgwW;##D>KSCBJ#z=p;cElgr$1PzUuHjVRF%vcvkK?stF zBv1>z#H;eBk{X5ZRlEuV^L#T?O)&LP*6C7=@fJA4$!cpb>3Xu|Qk}j0gqzxLCYQ=? zng+ugac+%Lcr*!x!sw_JnuANPjT3m@66S_=9~v@lZ|0vzd@$BmDc=AJ$$~I1>LT51 zxtUAZm29J-YCQbb6d}Wa?=JhO3<4KRP4e5{<9qW>j>hNjbN%X{FQ;xXlP#@FShay~ zi@vl_+9ZDs;py*%cP(2X6W6WCp|t&V>SY`~sFZwyS>fk?10s^mApEaED1q2!un=Pj zb_Gw}^<~d4C$*`e^6lzsMBLz&p={2GzsuV@cQM`{i>XFjQ15 zG~>8&g{wSpK~0Q=lc@E#zbBA?`=>?-;hZ|(M;8!>dnPEO9UB*qCr#Z>ar>=gT%L_C z2zz!C+;uOI-AKg4V~YyXZu05pql#m8UNg6vUsTzvG?`>$%RaIOJ|hwLd8vMOvxC`3 zj3Q+f32t}7@G=?9Lodn(Z273);p5rda)ALp7?uN?Nzxp(Wv- zY_WnJTI1+YM;MK<-YOXX$;-DQCf5e|6bk!QCODIbYA^n)Rry_jS9#DwT?X+h4~Sxh zK;gHR5u~_m81f;YeaEKKb;4$N71Y?AMLv37UpsMOI~U062eI?OQOTTXm8|!0ok4te zLtl}{I_l@OT~(#8VuSSuhtnER5xS)Fn}}xqN=mD2I8&p?L*Lx^3v}QyMgSRk+`f&{ zZpt$7CK(k{cMZznq`nXCmiNINlmdsW16}!7fR&|8iPuACNz+xjANp@SS8yEkhIT40 zgm+^&7R-b|rK^LXrnep=jIO`quoZz5-VE57Mj?*bCt$mihFg>&M1AQ7PIw2F!oO;E z|1>SC7gSkZ;u)uw{{;mhE>G#L*H%I_n!EjO-8R%WFAyJZ0L_4E%AV&3CG4F6!vJ!- zQope3wk1(NXaLc4*3uq+G_M4)0M}@|{SdJzwe23BqWb!>uq=X+wngA3H`tkdwKba0 zK;KknA_S)12Q}8HT9Kgg7{sC~_+nlhHIOVr_^dlPfGh6s(Sg70c|m$I_^3;~)|7ZP z7EsI97j?F>E>9K(b`+tgj|de8PO2;&^O|R1#SB7Vt)lO>8!7Y1@J+0cgoG$l4`il< z8DStgb=mnLAmdG-9dCIP8tVut+%Am<-LvryYl#@$CsaUJ*Q*o}@=G4y#eyW3B zAHRa-dmDJ3DBriT{fV1pxYSFTpi+fuhiYI)On2SKI#fmY6FylyWK>fFi^ocSYlRQWFP+04$VV8!w!d#4X|wniR;MpIKdIc-{YOMqu8*OJzw~ z$&wOmV&UlE{*ex|1~h|OFri8;*_VlUAg)By%=LyP4jM40Cw9gpmvnnc`wq)a8&xk- zsz7yjhPa>p54E5 z_8W4L{(Sx>w!K`WmsPm7E@dFwcmu~9)4J5?edp0m@Ial1G=U~haY|83W)LK z7bo!#UU;HMonE9!8~6pWeHrqlWNm!tiWq?vC;pJVr}vr*C!S_tbmtauI!!)h$l|8- z@=8rR5Z17i_0XNw1NgR}m&Ed#-vnIbDRlyJ#_;2gUDc6U4+tBfJN(-?-ie6I4xUW@^qE;&qcvWWV z#Zz7vH>Xtz>>}}Hjeny%?l056Kvnm3pt~{C_bsDq-OUE^NzC39K?-0^kM({ngo;Fz77%8b zGA3Xn(yAAg+7snqcoUGbg7GsbrR{ZqiDMa|kK(`qU^nH| z^GHqFruy){AZ$!2r~5303P;MK5$r;n1s7a9yN&}R&WKpyuFW$Khqn3gSZ6aaA#64X z)Zks~h7Bwor+{X?zfRR7(qjXD3$hPp`Nb!N*^@k9Q*C6E_hZj&8_QJ#O_Vk^IiY0y zd+GC$qRD~v3(;p4gHSf96y4~GT`5h&{X{@{PUdcfw zE6OqjiMtq;X%Cn0z?yBl)|ScjLDaY)!s@}0v=y{FZPi!gUD-E}8bkJx*A0gGG8MpZ zRa*j2Qiz|cXqBH&!4}4ae9ipi?nGsDr)p*RB#p_#AHSYUCwB$>NQol!yD01^rAI34 zu6X-QKOsU5z41Aq+`f+al zv5bWmK2-;U$g@{41dlDufVCW^dBSG=F}vt?9Og%kNU6Wp8z_&tk%7yd7U^?)4me0( zl*FPt7VJy)ioDRhpJ=cy8lKxvu<$``e2YMt%0DaZ|7K=V=F^w&4Hb0ZLJ}# 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 Vfl#_x7x3~?kozoKA!8i;{{XOpr7Qpd literal 0 HcmV?d00001 diff --git a/deps/cloudxr/docs/media/iwer-message.png b/deps/cloudxr/docs/media/iwer-message.png new file mode 100644 index 0000000000000000000000000000000000000000..d3709405b9727134cd6ac8fdb30687ed7997e580 GIT binary patch literal 36526 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 literal 0 HcmV?d00001 diff --git a/deps/cloudxr/docs/media/ov-ar-panel.png b/deps/cloudxr/docs/media/ov-ar-panel.png new file mode 100644 index 0000000000000000000000000000000000000000..8ffb4398e60ce40716cb1f56dd1b5fa56c602875 GIT binary patch literal 71850 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 literal 0 HcmV?d00001 diff --git a/deps/cloudxr/docs/media/react-isaac-sample-controls-countdown.jpg b/deps/cloudxr/docs/media/react-isaac-sample-controls-countdown.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e15fa1737ca951371d85db9a3257d54811e60016 GIT binary patch literal 26374 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 literal 0 HcmV?d00001 diff --git a/deps/cloudxr/docs/media/react-isaac-sample-controls-running.jpg b/deps/cloudxr/docs/media/react-isaac-sample-controls-running.jpg new file mode 100644 index 0000000000000000000000000000000000000000..703d9e3f02c22c02986a389e8c5492b8f21eb298 GIT binary patch literal 24141 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 Z9K}X8(+^c&7_FIlR`95I?&W89eM=Lv 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.js SDK Documentation - v6.0.0-beta
diff --git a/deps/cloudxr/docs/modules/CloudXR.html b/deps/cloudxr/docs/modules/CloudXR.html new file mode 100644 index 0000000..b2db824 --- /dev/null +++ b/deps/cloudxr/docs/modules/CloudXR.html @@ -0,0 +1 @@ +CloudXR | CloudXR.js SDK Documentation - v6.0.0-beta
diff --git a/deps/cloudxr/helpers/BrowserCapabilities.ts b/deps/cloudxr/helpers/BrowserCapabilities.ts new file mode 100644 index 0000000..dfa45d8 --- /dev/null +++ b/deps/cloudxr/helpers/BrowserCapabilities.ts @@ -0,0 +1,125 @@ +interface CapabilityCheck { + name: string; + required: boolean; + check: () => boolean | Promise; + message: string; +} + +const capabilities: CapabilityCheck[] = [ + { + name: 'WebGL2', + required: true, + check: () => { + const canvas = document.createElement('canvas'); + const gl = canvas.getContext('webgl2'); + return gl !== null; + }, + message: 'WebGL2 is required for rendering', + }, + { + name: 'WebXR', + required: true, + check: () => { + return 'xr' in navigator; + }, + message: 'WebXR is required for VR/AR functionality', + }, + { + name: 'RTCPeerConnection', + required: true, + check: () => { + return 'RTCPeerConnection' in window; + }, + message: 'RTCPeerConnection is required for WebRTC streaming', + }, + { + name: 'requestVideoFrameCallback', + required: true, + check: () => { + const video = document.createElement('video'); + return typeof video.requestVideoFrameCallback === 'function'; + }, + message: 'HTMLVideoElement.requestVideoFrameCallback is required for video frame processing', + }, + { + name: 'Canvas.captureStream', + required: true, + check: () => { + const canvas = document.createElement('canvas'); + return typeof canvas.captureStream === 'function'; + }, + message: 'Canvas.captureStream is required for video streaming', + }, + { + name: 'AV1 Codec Support', + required: false, + check: async () => { + try { + // Check if MediaCapabilities API is available + if (!navigator.mediaCapabilities) { + return false; + } + + // Check MediaCapabilities for AV1 decoding support + const config = { + type: 'webrtc' as MediaDecodingType, + video: { + contentType: 'video/av1', + width: 1920, + height: 1080, + framerate: 60, + bitrate: 15000000, // 15 Mbps + }, + }; + + const result = await navigator.mediaCapabilities.decodingInfo(config); + return result.supported; + } catch (error) { + console.warn('Error checking AV1 support:', error); + return false; + } + }, + message: 'AV1 codec support is recommended for optimal streaming quality', + }, +]; + +export async function checkCapabilities(): Promise<{ + success: boolean; + failures: string[]; + warnings: string[]; +}> { + const failures: string[] = []; + const warnings: string[] = []; + const requiredFailures: string[] = []; + + for (const capability of capabilities) { + try { + const result = await Promise.resolve(capability.check()); + if (!result) { + if (capability.required) { + requiredFailures.push(capability.message); + console.error(`Required capability missing: ${capability.message}`); + } else { + warnings.push(capability.message); + console.warn(`Optional capability missing: ${capability.message}`); + } + failures.push(capability.message); + } + } catch (error) { + if (capability.required) { + requiredFailures.push(capability.message); + console.error(`Error checking required capability ${capability.name}:`, error); + } else { + warnings.push(capability.message); + console.warn(`Error checking optional capability ${capability.name}:`, error); + } + failures.push(capability.message); + } + } + + return { + success: requiredFailures.length === 0, + failures, + warnings, + }; +} diff --git a/deps/cloudxr/helpers/LoadIWER.ts b/deps/cloudxr/helpers/LoadIWER.ts new file mode 100644 index 0000000..479e5b4 --- /dev/null +++ b/deps/cloudxr/helpers/LoadIWER.ts @@ -0,0 +1,98 @@ +const IWER_version = '2.1.1'; +const IWER_DEVUI_version = '1.1.2'; + +export interface IWERLoadResult { + supportsImmersive: boolean; + iwerLoaded: boolean; +} + +export async function loadIWERIfNeeded(): Promise { + let supportsImmersive = false; + let iwerLoaded = false; + + if ('xr' in navigator) { + try { + const vr = await (navigator.xr as XRSystem).isSessionSupported?.('immersive-vr'); + const ar = await (navigator.xr as XRSystem).isSessionSupported?.('immersive-ar'); + supportsImmersive = Boolean(vr || ar); + } catch (_) {} + } + + if (!supportsImmersive) { + console.info('Immersive mode not supported, loading IWER as fallback.'); + + // Load IWER first + const script = document.createElement('script'); + script.src = `https://unpkg.com/iwer@${IWER_version}/build/iwer.min.js`; + script.async = true; + script.integrity = 'sha384-ZOdYbNlfA4q9jkBGcdmjy2ZYmjxy2uzncU6it3cPOHi12/WF048bamSU0Z5N+V5u'; + script.crossOrigin = 'anonymous'; + + await new Promise(resolve => { + script.onload = async () => { + console.info('IWER loaded as fallback.'); + const IWERGlobal = (window as any).IWER || (globalThis as any).IWER; + if (!IWERGlobal) { + console.warn('IWER global not found after script load.'); + supportsImmersive = false; + resolve(); + return; + } + + // Load iwer-devui after IWER + const devUIScript = document.createElement('script'); + devUIScript.src = `https://unpkg.com/@iwer/devui@${IWER_DEVUI_version}/build/iwer-devui.min.js`; + devUIScript.async = true; + devUIScript.integrity = + 'sha384-CG/gISX6PadiSzc8i2paU7CYLVsnVJaJ0tgoVnAPq/gyiTX6bddG5rwOgMDGlq74'; + devUIScript.crossOrigin = 'anonymous'; + + await new Promise(devUIResolve => { + devUIScript.onload = () => { + console.info('IWER DevUI loaded.'); + devUIResolve(); + }; + devUIScript.onerror = error => { + console.warn('Failed to load IWER DevUI:', error); + devUIResolve(); + }; + document.head.appendChild(devUIScript); + }); + + try { + // Create XRDevice with Meta Quest 3 profile + const xrDevice = new IWERGlobal.XRDevice(IWERGlobal.metaQuest3); + + // Initialize DevUI with the XR device + const IWER_DevUI = (window as any).IWER_DevUI || (globalThis as any).IWER_DevUI; + if (IWER_DevUI?.DevUI) { + xrDevice.installDevUI(IWER_DevUI.DevUI); + console.info('IWER DevUI initialized with XR device.'); + } else { + console.warn('IWER DevUI not found after script load, continuing without DevUI.'); + } + + // Install the runtime and wait for it to be ready + const maybePromise = xrDevice.installRuntime?.(); + if (maybePromise && typeof maybePromise.then === 'function') { + await maybePromise; + } + supportsImmersive = true; + iwerLoaded = true; + } catch (e) { + console.warn('IWER runtime install failed:', e); + supportsImmersive = false; + } + resolve(); + }; + script.onerror = () => { + console.warn('Failed to load IWER.'); + supportsImmersive = false; + resolve(); + }; + document.head.appendChild(script); + }); + } + + return { supportsImmersive, iwerLoaded }; +} diff --git a/deps/cloudxr/helpers/WebGLState.ts b/deps/cloudxr/helpers/WebGLState.ts new file mode 100644 index 0000000..638c31f --- /dev/null +++ b/deps/cloudxr/helpers/WebGLState.ts @@ -0,0 +1,2685 @@ +/** + * Sentinel value to represent undefined GL state. + * This allows distinguishing between "not set" (GLUndefined) and "set to null" (null). + */ +export const GLUndefined = {} as const; + +/** + * Type representing the GLUndefined sentinel value. + */ +export type GLUndefined = typeof GLUndefined; + +/** + * Checks if a value is defined (not GLUndefined). + * @param val - The value to check + * @returns true if the value is defined, false if it's GLUndefined + */ +export function isDefined(val: any): boolean { + return val !== GLUndefined; +} + +/** + * WebGL maximum array sizes + * These are conservative minimum values guaranteed by the WebGL spec + */ +export const GL_MAX_VERTEX_ATTRIBS = 16; // Minimum guaranteed by WebGL 2.0 +export const GL_MAX_UNIFORM_BUFFER_BINDINGS = 36; // Minimum guaranteed by WebGL 2.0 +export const GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS = 4; // Minimum guaranteed by WebGL 2.0 +export const GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS = 32; // Minimum guaranteed by WebGL 2.0 +export const GL_MAX_COLOR_ATTACHMENTS = 8; // Minimum guaranteed by WebGL 2.0 (typically 4, but commonly 8+) + +/** + * Generic dictionary/array container for indexed state with cloning support. + * Used for storing WebGL state indexed by number keys. + * @template T - The type of values stored in the dictionary, must have a clone() method + */ +export class GLAttributeArray { + [index: number]: T | GLUndefined; + private _size: number; + + constructor(size: number) { + this._size = size; + for (let i = 0; i < size; i++) { + this[i] = GLUndefined; + } + } + + get(index: number): T | GLUndefined { + return this[index]; + } + + set(index: number, value: T | GLUndefined): void { + this[index] = value; + } + + clone(): GLAttributeArray { + const cloned = new GLAttributeArray(this._size); + for (let i = 0; i < this._size; i++) { + cloned[i] = this[i] !== GLUndefined ? (this[i] as T).clone() : this[i]; + } + return cloned; + } + + equals(other: GLAttributeArray): boolean { + if (this._size !== other._size) return false; + for (let i = 0; i < this._size; i++) { + const thisVal = this[i]; + const otherVal = other[i]; + if (thisVal === GLUndefined && otherVal === GLUndefined) continue; + if (thisVal === GLUndefined || otherVal === GLUndefined) return false; + if (!(thisVal as T).equals(otherVal as T)) return false; + } + return true; + } +} + +/** + * Generic dictionary container for string-keyed state with cloning support. + * Used for storing WebGL state indexed by string keys (e.g., texture unit names). + * @template T - The type of values stored in the dictionary, must have a clone() method + */ +export class GLUnitMap { + [key: string]: T | any; + + get(key: string): T | GLUndefined { + return this[key] !== undefined ? this[key] : GLUndefined; + } + + set(key: string, value: T): void { + this[key] = value; + } + + clone(): GLUnitMap { + const cloned = new GLUnitMap(); + for (const [key, value] of Object.entries(this)) { + if (value && typeof value === 'object' && 'clone' in value) { + cloned[key] = value.clone(); + } + } + return cloned; + } + + equals(other: GLUnitMap): boolean { + const thisKeys = Object.keys(this); + const otherKeys = Object.keys(other); + if (thisKeys.length !== otherKeys.length) return false; + return thisKeys.every(key => { + const thisVal = this.get(key); + const otherVal = other.get(key); + if (thisVal === GLUndefined && otherVal === GLUndefined) return true; + if (thisVal === GLUndefined || otherVal === GLUndefined) return false; + return (thisVal as T).equals(otherVal as T); + }); + } +} + +/** + * WebGL State interfaces and state-only WebGL context + * + * This file contains the comprehensive WebGL state structure and a WebGLStateTracker + * class that mimics the WebGL2RenderingContext interface but only updates state + * without making actual WebGL calls. + * + * IMPORTANT: This tracker only tracks the state associated with DEFAULT/NULL objects. + * + * Per the WebGL 2.0 spec, state falls into three categories: + * + * 1. ALWAYS TRACKED (Global Context State): + * - Active texture unit (ACTIVE_TEXTURE) + * - Bound objects: VAO, program, framebuffer, renderbuffer, transform feedback + * - Buffer bindings: ARRAY_BUFFER, UNIFORM_BUFFER, etc. (except ELEMENT_ARRAY_BUFFER) + * - Texture bindings per unit (TEXTURE_BINDING_2D, etc.) + * - Viewport and scissor box + * - Clear colors (color, depth, stencil) + * - Enable/disable capabilities (BLEND, DEPTH_TEST, etc.) + * - Pixel store parameters (PACK_ALIGNMENT, UNPACK_FLIP_Y_WEBGL, etc.) + * - Blend state (equations, functions, color) + * - Depth state (func, range, mask) + * - Stencil state (func, ops, masks) + * - Color write mask + * - Cull face mode and front face + * - Line width + * - Polygon offset + * - Sample coverage + * + * 2. ONLY TRACKED WHEN DEFAULT VAO IS BOUND (Per-VAO State): + * - ELEMENT_ARRAY_BUFFER binding + * - Vertex attribute arrays (enabled/disabled per attribute index) + * - Vertex attribute pointers (buffer binding, size, type, stride, offset, normalized, divisor) + * + * IMPORTANT: ARRAY_BUFFER is NOT per-VAO! It's always global. + * However, the buffer associated with each vertex attribute (captured when + * vertexAttribPointer is called) IS per-VAO state. + * + * Note: When a non-default VAO is bound, we DON'T track these as we don't maintain + * per-VAO state. State updates to these will be silently accepted but not tracked. + * + * 3. ONLY TRACKED WHEN DEFAULT FRAMEBUFFER IS BOUND (Per-Framebuffer State): + * - Attachments (COLOR_ATTACHMENT0-15, DEPTH_ATTACHMENT, STENCIL_ATTACHMENT, DEPTH_STENCIL_ATTACHMENT) + * via framebufferTexture2D, framebufferRenderbuffer, framebufferTextureLayer + * - Draw buffers (drawBuffers) - which color attachments are written to + * - Read buffer (readBuffer) - which color attachment is read from + * Note: When a non-default framebuffer is bound, we DON'T track these as we don't + * maintain per-framebuffer state. State updates will be silently accepted but not tracked. + * + * 4. INDEXED BUFFER BINDINGS (Global Context State, Always Tracked): + * - Uniform buffer indexed bindings (bindBufferBase/Range with UNIFORM_BUFFER) + * - Transform feedback buffer indexed bindings (bindBufferBase/Range with TRANSFORM_FEEDBACK_BUFFER) + * Note: These are GLOBAL state, not per-object. bindBufferBase/Range updates BOTH + * the indexed binding and the generic binding. + * + * This is a deliberate simplification for tracking "current active context state" without + * the complexity of per-object state management. + */ + +/** + * Comprehensive WebGL state structure + */ +export class WebGLTextureUnitState { + texture2D: WebGLTexture | null | GLUndefined = GLUndefined; + textureCubeMap: WebGLTexture | null | GLUndefined = GLUndefined; + texture3D: WebGLTexture | null | GLUndefined = GLUndefined; + texture2DArray: WebGLTexture | null | GLUndefined = GLUndefined; + + clone(): WebGLTextureUnitState { + const cloned = new WebGLTextureUnitState(); + cloned.texture2D = this.texture2D; + cloned.textureCubeMap = this.textureCubeMap; + cloned.texture3D = this.texture3D; + cloned.texture2DArray = this.texture2DArray; + return cloned; + } + + equals(other: WebGLTextureUnitState): boolean { + return ( + this.texture2D === other.texture2D && + this.textureCubeMap === other.textureCubeMap && + this.texture3D === other.texture3D && + this.texture2DArray === other.texture2DArray + ); + } +} + +export class WebGLTextureState { + activeTexture: number | GLUndefined = GLUndefined; + textureUnits = new GLUnitMap(); + + clone(): WebGLTextureState { + const cloned = new WebGLTextureState(); + cloned.activeTexture = this.activeTexture; + cloned.textureUnits = this.textureUnits.clone(); + return cloned; + } + + equals(other: WebGLTextureState): boolean { + return ( + this.activeTexture === other.activeTexture && this.textureUnits.equals(other.textureUnits) + ); + } +} + +export class WebGLIndexedBufferBinding { + buffer: WebGLBuffer | null | GLUndefined = GLUndefined; + offset: number | GLUndefined = GLUndefined; + size: number | GLUndefined = GLUndefined; + + clone(): WebGLIndexedBufferBinding { + const cloned = new WebGLIndexedBufferBinding(); + cloned.buffer = this.buffer; + cloned.offset = this.offset; + cloned.size = this.size; + return cloned; + } + + equals(other: WebGLIndexedBufferBinding): boolean { + return this.buffer === other.buffer && this.offset === other.offset && this.size === other.size; + } +} + +export class WebGLBufferState { + arrayBuffer: WebGLBuffer | null | GLUndefined = GLUndefined; + + // Note: ELEMENT_ARRAY_BUFFER is NOT stored here! + // Per OpenGL ES 3.0 spec section 2.10, ELEMENT_ARRAY_BUFFER binding is per-VAO state. + // It is stored in WebGLPerVAOState.elementArrayBuffer instead. + + // Generic bindings (also affected by bindBufferBase/Range) + uniformBuffer: WebGLBuffer | null | GLUndefined = GLUndefined; + transformFeedbackBuffer: WebGLBuffer | null | GLUndefined = GLUndefined; + + // Indexed bindings (WebGL 2.0) + // These are global context state, but bindBufferBase/Range also updates the generic binding + uniformBufferBindings = new GLAttributeArray( + GL_MAX_UNIFORM_BUFFER_BINDINGS + ); + transformFeedbackBufferBindings = new GLAttributeArray( + GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS + ); + + // Other global bindings + pixelPackBuffer: WebGLBuffer | null | GLUndefined = GLUndefined; + pixelUnpackBuffer: WebGLBuffer | null | GLUndefined = GLUndefined; + copyReadBuffer: WebGLBuffer | null | GLUndefined = GLUndefined; + copyWriteBuffer: WebGLBuffer | null | GLUndefined = GLUndefined; + + clone(): WebGLBufferState { + const cloned = new WebGLBufferState(); + cloned.arrayBuffer = this.arrayBuffer; + cloned.uniformBuffer = this.uniformBuffer; + cloned.transformFeedbackBuffer = this.transformFeedbackBuffer; + cloned.pixelPackBuffer = this.pixelPackBuffer; + cloned.pixelUnpackBuffer = this.pixelUnpackBuffer; + cloned.copyReadBuffer = this.copyReadBuffer; + cloned.copyWriteBuffer = this.copyWriteBuffer; + cloned.uniformBufferBindings = this.uniformBufferBindings.clone(); + cloned.transformFeedbackBufferBindings = this.transformFeedbackBufferBindings.clone(); + return cloned; + } + + equals(other: WebGLBufferState): boolean { + return ( + this.arrayBuffer === other.arrayBuffer && + this.uniformBuffer === other.uniformBuffer && + this.transformFeedbackBuffer === other.transformFeedbackBuffer && + this.pixelPackBuffer === other.pixelPackBuffer && + this.pixelUnpackBuffer === other.pixelUnpackBuffer && + this.copyReadBuffer === other.copyReadBuffer && + this.copyWriteBuffer === other.copyWriteBuffer && + this.uniformBufferBindings.equals(other.uniformBufferBindings) && + this.transformFeedbackBufferBindings.equals(other.transformFeedbackBufferBindings) + ); + } +} + +export class WebGLProgramState { + currentProgram: WebGLProgram | null | GLUndefined = GLUndefined; + + clone(): WebGLProgramState { + const cloned = new WebGLProgramState(); + cloned.currentProgram = this.currentProgram; + return cloned; + } + + equals(other: WebGLProgramState): boolean { + return this.currentProgram === other.currentProgram; + } +} + +export class WebGLFramebufferAttachment { + attachmentType: 'texture' | 'renderbuffer' | null | GLUndefined = GLUndefined; + texture: WebGLTexture | null | GLUndefined = GLUndefined; + renderbuffer: WebGLRenderbuffer | null | GLUndefined = GLUndefined; + textureLevel: number | GLUndefined = GLUndefined; + textureLayer: number | GLUndefined = GLUndefined; // For 3D textures or texture arrays + textureCubeFace: number | GLUndefined = GLUndefined; // For cubemap faces + + clone(): WebGLFramebufferAttachment { + const cloned = new WebGLFramebufferAttachment(); + cloned.attachmentType = this.attachmentType; + cloned.texture = this.texture; + cloned.renderbuffer = this.renderbuffer; + cloned.textureLevel = this.textureLevel; + cloned.textureLayer = this.textureLayer; + cloned.textureCubeFace = this.textureCubeFace; + return cloned; + } + + equals(other: WebGLFramebufferAttachment): boolean { + return ( + this.attachmentType === other.attachmentType && + this.texture === other.texture && + this.renderbuffer === other.renderbuffer && + this.textureLevel === other.textureLevel && + this.textureLayer === other.textureLayer && + this.textureCubeFace === other.textureCubeFace + ); + } +} + +export class WebGLFramebufferAttachments { + // Color attachments (typically 0-7, but can query MAX_COLOR_ATTACHMENTS) + [key: string]: WebGLFramebufferAttachment; // e.g., "COLOR_ATTACHMENT0" +} + +export class WebGLDefaultFramebufferState { + // Attachments for the default framebuffer (only valid when framebuffer === null) + colorAttachments: WebGLFramebufferAttachments = new WebGLFramebufferAttachments(); + depthAttachment: WebGLFramebufferAttachment | null | GLUndefined = GLUndefined; + stencilAttachment: WebGLFramebufferAttachment | null | GLUndefined = GLUndefined; + depthStencilAttachment: WebGLFramebufferAttachment | null | GLUndefined = GLUndefined; + // Draw buffers array (which color attachments are written to) + drawBuffers: number[] | GLUndefined = GLUndefined; + // Read buffer (which color attachment is read from) + readBuffer: number | GLUndefined = GLUndefined; + + clone(): WebGLDefaultFramebufferState { + const cloned = new WebGLDefaultFramebufferState(); + // Clone color attachments + for (const [key, value] of Object.entries(this.colorAttachments)) { + if (value instanceof WebGLFramebufferAttachment) { + cloned.colorAttachments[key] = value.clone(); + } + } + cloned.depthAttachment = this.depthAttachment; + cloned.stencilAttachment = this.stencilAttachment; + cloned.depthStencilAttachment = this.depthStencilAttachment; + cloned.drawBuffers = Array.isArray(this.drawBuffers) ? [...this.drawBuffers] : this.drawBuffers; + cloned.readBuffer = this.readBuffer; + return cloned; + } + + equals(other: WebGLDefaultFramebufferState): boolean { + // Compare color attachments + const thisKeys = Object.keys(this.colorAttachments); + const otherKeys = Object.keys(other.colorAttachments); + if (thisKeys.length !== otherKeys.length) return false; + const colorAttachmentsEqual = thisKeys.every(key => { + const thisAttach = this.colorAttachments[key]; + const otherAttach = other.colorAttachments[key]; + if (!thisAttach || !otherAttach) return thisAttach === otherAttach; + return thisAttach.equals(otherAttach); + }); + + // Compare draw buffers + const drawBuffersEqual = + this.drawBuffers === other.drawBuffers || + (Array.isArray(this.drawBuffers) && + Array.isArray(other.drawBuffers) && + this.drawBuffers.length === other.drawBuffers.length && + this.drawBuffers.every((v, i) => v === (other.drawBuffers as number[])[i])); + + return ( + colorAttachmentsEqual && + this.depthAttachment === other.depthAttachment && + this.stencilAttachment === other.stencilAttachment && + this.depthStencilAttachment === other.depthStencilAttachment && + drawBuffersEqual && + this.readBuffer === other.readBuffer + ); + } +} + +export class WebGLFramebufferState { + drawFramebuffer: WebGLFramebuffer | null | GLUndefined = GLUndefined; + readFramebuffer: WebGLFramebuffer | null | GLUndefined = GLUndefined; + framebuffer: WebGLFramebuffer | null | GLUndefined = GLUndefined; + // State for the default framebuffer (only tracked when framebuffer === null) + defaultFramebufferState: WebGLDefaultFramebufferState = new WebGLDefaultFramebufferState(); + + clone(): WebGLFramebufferState { + const cloned = new WebGLFramebufferState(); + cloned.drawFramebuffer = this.drawFramebuffer; + cloned.readFramebuffer = this.readFramebuffer; + cloned.framebuffer = this.framebuffer; + cloned.defaultFramebufferState = this.defaultFramebufferState.clone(); + return cloned; + } + + equals(other: WebGLFramebufferState): boolean { + return ( + this.drawFramebuffer === other.drawFramebuffer && + this.readFramebuffer === other.readFramebuffer && + this.framebuffer === other.framebuffer && + this.defaultFramebufferState.equals(other.defaultFramebufferState) + ); + } +} + +export class WebGLVertexAttribState { + enabled: boolean | GLUndefined = GLUndefined; + buffer: WebGLBuffer | null | GLUndefined = GLUndefined; + size: number | GLUndefined = GLUndefined; + type: number | GLUndefined = GLUndefined; + normalized: boolean | GLUndefined = GLUndefined; + stride: number | GLUndefined = GLUndefined; + offset: number | GLUndefined = GLUndefined; + divisor: number | GLUndefined = GLUndefined; + + clone(): WebGLVertexAttribState { + const cloned = new WebGLVertexAttribState(); + cloned.enabled = this.enabled; + cloned.buffer = this.buffer; + cloned.size = this.size; + cloned.type = this.type; + cloned.normalized = this.normalized; + cloned.stride = this.stride; + cloned.offset = this.offset; + cloned.divisor = this.divisor; + return cloned; + } + + equals(other: WebGLVertexAttribState): boolean { + return ( + this.enabled === other.enabled && + this.buffer === other.buffer && + this.size === other.size && + this.type === other.type && + this.normalized === other.normalized && + this.stride === other.stride && + this.offset === other.offset && + this.divisor === other.divisor + ); + } +} + +/** + * Per-VAO state - according to OpenGL ES 3.0 spec section 2.10, + * ELEMENT_ARRAY_BUFFER binding is part of VAO state + */ +export class WebGLPerVAOState { + // ELEMENT_ARRAY_BUFFER binding is per-VAO (spec: section 2.10, table 6.2) + elementArrayBuffer: WebGLBuffer | null | GLUndefined = GLUndefined; + // Vertex attribute state is also per-VAO + attributes = new GLAttributeArray(GL_MAX_VERTEX_ATTRIBS); + + clone(): WebGLPerVAOState { + const cloned = new WebGLPerVAOState(); + cloned.elementArrayBuffer = this.elementArrayBuffer; + cloned.attributes = this.attributes.clone(); + return cloned; + } + + equals(other: WebGLPerVAOState): boolean { + return ( + this.elementArrayBuffer === other.elementArrayBuffer && + this.attributes.equals(other.attributes) + ); + } +} + +export class WebGLVertexArrayState { + // Currently bound VAO (null = default VAO) + vertexArrayObject: WebGLVertexArrayObject | null | GLUndefined = GLUndefined; + + // Per-VAO state storage + // Key: VAO object (null represents default VAO) + // Value: Per-VAO state including ELEMENT_ARRAY_BUFFER and attributes + vaoStates: Map = new Map(); + + clone(): WebGLVertexArrayState { + const cloned = new WebGLVertexArrayState(); + cloned.vertexArrayObject = this.vertexArrayObject; + + // Clone all VAO states + for (const [vao, state] of this.vaoStates.entries()) { + cloned.vaoStates.set(vao, state.clone()); + } + + return cloned; + } + + equals(other: WebGLVertexArrayState): boolean { + if (this.vertexArrayObject !== other.vertexArrayObject) return false; + if (this.vaoStates.size !== other.vaoStates.size) return false; + + // Compare all VAO states + for (const [vao, state] of this.vaoStates.entries()) { + const otherState = other.vaoStates.get(vao); + if (!otherState || !state.equals(otherState)) return false; + } + + return true; + } + + /** + * Get or create the state for the currently bound VAO + */ + getCurrentVAOState(): WebGLPerVAOState { + const vao = this.vertexArrayObject === GLUndefined ? null : this.vertexArrayObject; + + if (!this.vaoStates.has(vao)) { + this.vaoStates.set(vao, new WebGLPerVAOState()); + } + + return this.vaoStates.get(vao)!; + } +} + +export class WebGLViewportState { + viewport: Int32Array | GLUndefined = GLUndefined; + scissorBox: Int32Array | GLUndefined = GLUndefined; + + clone(): WebGLViewportState { + const cloned = new WebGLViewportState(); + cloned.viewport = + this.viewport !== GLUndefined ? new Int32Array(this.viewport as Int32Array) : this.viewport; + cloned.scissorBox = + this.scissorBox !== GLUndefined + ? new Int32Array(this.scissorBox as Int32Array) + : this.scissorBox; + return cloned; + } + + equals(other: WebGLViewportState): boolean { + const viewportEqual = + this.viewport === other.viewport || + (this.viewport !== GLUndefined && + other.viewport !== GLUndefined && + (this.viewport as Int32Array).every((v, i) => v === (other.viewport as Int32Array)[i])); + const scissorEqual = + this.scissorBox === other.scissorBox || + (this.scissorBox !== GLUndefined && + other.scissorBox !== GLUndefined && + (this.scissorBox as Int32Array).every((v, i) => v === (other.scissorBox as Int32Array)[i])); + return viewportEqual && scissorEqual; + } +} + +export class WebGLClearState { + colorClearValue: Float32Array | GLUndefined = GLUndefined; + depthClearValue: number | GLUndefined = GLUndefined; + stencilClearValue: number | GLUndefined = GLUndefined; + + clone(): WebGLClearState { + const cloned = new WebGLClearState(); + cloned.colorClearValue = + this.colorClearValue !== GLUndefined + ? new Float32Array(this.colorClearValue as Float32Array) + : this.colorClearValue; + cloned.depthClearValue = this.depthClearValue; + cloned.stencilClearValue = this.stencilClearValue; + return cloned; + } + + equals(other: WebGLClearState): boolean { + const colorEqual = + this.colorClearValue === other.colorClearValue || + (this.colorClearValue !== GLUndefined && + other.colorClearValue !== GLUndefined && + (this.colorClearValue as Float32Array).every( + (v, i) => v === (other.colorClearValue as Float32Array)[i] + )); + return ( + colorEqual && + this.depthClearValue === other.depthClearValue && + this.stencilClearValue === other.stencilClearValue + ); + } +} + +export class WebGLCapabilityState { + blend: boolean | GLUndefined = GLUndefined; + cullFace: boolean | GLUndefined = GLUndefined; + depthTest: boolean | GLUndefined = GLUndefined; + dither: boolean | GLUndefined = GLUndefined; + polygonOffsetFill: boolean | GLUndefined = GLUndefined; + sampleAlphaToCoverage: boolean | GLUndefined = GLUndefined; + sampleCoverage: boolean | GLUndefined = GLUndefined; + scissorTest: boolean | GLUndefined = GLUndefined; + stencilTest: boolean | GLUndefined = GLUndefined; + rasterDiscard: boolean | GLUndefined = GLUndefined; + + clone(): WebGLCapabilityState { + const cloned = new WebGLCapabilityState(); + Object.assign(cloned, this); + return cloned; + } + + equals(other: WebGLCapabilityState): boolean { + return ( + this.blend === other.blend && + this.cullFace === other.cullFace && + this.depthTest === other.depthTest && + this.dither === other.dither && + this.polygonOffsetFill === other.polygonOffsetFill && + this.sampleAlphaToCoverage === other.sampleAlphaToCoverage && + this.sampleCoverage === other.sampleCoverage && + this.scissorTest === other.scissorTest && + this.stencilTest === other.stencilTest && + this.rasterDiscard === other.rasterDiscard + ); + } +} + +export class WebGLPixelStoreState { + packAlignment: number | GLUndefined = GLUndefined; + unpackAlignment: number | GLUndefined = GLUndefined; + unpackFlipY: boolean | GLUndefined = GLUndefined; + unpackPremultiplyAlpha: boolean | GLUndefined = GLUndefined; + packRowLength: number | GLUndefined = GLUndefined; + packSkipPixels: number | GLUndefined = GLUndefined; + packSkipRows: number | GLUndefined = GLUndefined; + unpackRowLength: number | GLUndefined = GLUndefined; + unpackImageHeight: number | GLUndefined = GLUndefined; + unpackSkipPixels: number | GLUndefined = GLUndefined; + unpackSkipRows: number | GLUndefined = GLUndefined; + unpackSkipImages: number | GLUndefined = GLUndefined; + + clone(): WebGLPixelStoreState { + const cloned = new WebGLPixelStoreState(); + Object.assign(cloned, this); + return cloned; + } + + equals(other: WebGLPixelStoreState): boolean { + return ( + this.packAlignment === other.packAlignment && + this.unpackAlignment === other.unpackAlignment && + this.unpackFlipY === other.unpackFlipY && + this.unpackPremultiplyAlpha === other.unpackPremultiplyAlpha && + this.packRowLength === other.packRowLength && + this.packSkipPixels === other.packSkipPixels && + this.packSkipRows === other.packSkipRows && + this.unpackRowLength === other.unpackRowLength && + this.unpackImageHeight === other.unpackImageHeight && + this.unpackSkipPixels === other.unpackSkipPixels && + this.unpackSkipRows === other.unpackSkipRows && + this.unpackSkipImages === other.unpackSkipImages + ); + } +} + +export class WebGLBlendState { + blendEquationRgb: number | GLUndefined = GLUndefined; + blendEquationAlpha: number | GLUndefined = GLUndefined; + blendSrcRgb: number | GLUndefined = GLUndefined; + blendDstRgb: number | GLUndefined = GLUndefined; + blendSrcAlpha: number | GLUndefined = GLUndefined; + blendDstAlpha: number | GLUndefined = GLUndefined; + blendColor: Float32Array | GLUndefined = GLUndefined; + + clone(): WebGLBlendState { + const cloned = new WebGLBlendState(); + cloned.blendEquationRgb = this.blendEquationRgb; + cloned.blendEquationAlpha = this.blendEquationAlpha; + cloned.blendSrcRgb = this.blendSrcRgb; + cloned.blendDstRgb = this.blendDstRgb; + cloned.blendSrcAlpha = this.blendSrcAlpha; + cloned.blendDstAlpha = this.blendDstAlpha; + cloned.blendColor = + this.blendColor !== GLUndefined + ? new Float32Array(this.blendColor as Float32Array) + : this.blendColor; + return cloned; + } + + equals(other: WebGLBlendState): boolean { + const blendColorEqual = + this.blendColor === other.blendColor || + (this.blendColor !== GLUndefined && + other.blendColor !== GLUndefined && + (this.blendColor as Float32Array).every( + (v, i) => v === (other.blendColor as Float32Array)[i] + )); + return ( + this.blendEquationRgb === other.blendEquationRgb && + this.blendEquationAlpha === other.blendEquationAlpha && + this.blendSrcRgb === other.blendSrcRgb && + this.blendDstRgb === other.blendDstRgb && + this.blendSrcAlpha === other.blendSrcAlpha && + this.blendDstAlpha === other.blendDstAlpha && + blendColorEqual + ); + } +} + +export class WebGLDepthState { + depthFunc: number | GLUndefined = GLUndefined; + depthRange: Float32Array | GLUndefined = GLUndefined; + depthWritemask: boolean | GLUndefined = GLUndefined; + + clone(): WebGLDepthState { + const cloned = new WebGLDepthState(); + cloned.depthFunc = this.depthFunc; + cloned.depthRange = + this.depthRange !== GLUndefined + ? new Float32Array(this.depthRange as Float32Array) + : this.depthRange; + cloned.depthWritemask = this.depthWritemask; + return cloned; + } + + equals(other: WebGLDepthState): boolean { + const depthRangeEqual = + this.depthRange === other.depthRange || + (this.depthRange !== GLUndefined && + other.depthRange !== GLUndefined && + (this.depthRange as Float32Array).every( + (v, i) => v === (other.depthRange as Float32Array)[i] + )); + return ( + this.depthFunc === other.depthFunc && + depthRangeEqual && + this.depthWritemask === other.depthWritemask + ); + } +} + +export class WebGLStencilState { + stencilFunc: number | GLUndefined = GLUndefined; + stencilRef: number | GLUndefined = GLUndefined; + stencilValueMask: number | GLUndefined = GLUndefined; + stencilWritemask: number | GLUndefined = GLUndefined; + stencilFail: number | GLUndefined = GLUndefined; + stencilPassDepthFail: number | GLUndefined = GLUndefined; + stencilPassDepthPass: number | GLUndefined = GLUndefined; + stencilBackFunc: number | GLUndefined = GLUndefined; + stencilBackRef: number | GLUndefined = GLUndefined; + stencilBackValueMask: number | GLUndefined = GLUndefined; + stencilBackWritemask: number | GLUndefined = GLUndefined; + stencilBackFail: number | GLUndefined = GLUndefined; + stencilBackPassDepthFail: number | GLUndefined = GLUndefined; + stencilBackPassDepthPass: number | GLUndefined = GLUndefined; + + clone(): WebGLStencilState { + const cloned = new WebGLStencilState(); + Object.assign(cloned, this); + return cloned; + } + + equals(other: WebGLStencilState): boolean { + return ( + this.stencilFunc === other.stencilFunc && + this.stencilRef === other.stencilRef && + this.stencilValueMask === other.stencilValueMask && + this.stencilWritemask === other.stencilWritemask && + this.stencilFail === other.stencilFail && + this.stencilPassDepthFail === other.stencilPassDepthFail && + this.stencilPassDepthPass === other.stencilPassDepthPass && + this.stencilBackFunc === other.stencilBackFunc && + this.stencilBackRef === other.stencilBackRef && + this.stencilBackValueMask === other.stencilBackValueMask && + this.stencilBackWritemask === other.stencilBackWritemask && + this.stencilBackFail === other.stencilBackFail && + this.stencilBackPassDepthFail === other.stencilBackPassDepthFail && + this.stencilBackPassDepthPass === other.stencilBackPassDepthPass + ); + } +} + +export class WebGLColorState { + colorWritemask: boolean[] | GLUndefined = GLUndefined; + + clone(): WebGLColorState { + const cloned = new WebGLColorState(); + cloned.colorWritemask = + this.colorWritemask !== GLUndefined + ? [...(this.colorWritemask as boolean[])] + : this.colorWritemask; + return cloned; + } + + equals(other: WebGLColorState): boolean { + return ( + this.colorWritemask === other.colorWritemask || + (this.colorWritemask !== GLUndefined && + other.colorWritemask !== GLUndefined && + (this.colorWritemask as boolean[]).every( + (v, i) => v === (other.colorWritemask as boolean[])[i] + )) + ); + } +} + +export class WebGLCullingState { + cullFaceMode: number | GLUndefined = GLUndefined; + frontFace: number | GLUndefined = GLUndefined; + + clone(): WebGLCullingState { + const cloned = new WebGLCullingState(); + Object.assign(cloned, this); + return cloned; + } + + equals(other: WebGLCullingState): boolean { + return this.cullFaceMode === other.cullFaceMode && this.frontFace === other.frontFace; + } +} + +export class WebGLLineState { + lineWidth: number | GLUndefined = GLUndefined; + + clone(): WebGLLineState { + const cloned = new WebGLLineState(); + cloned.lineWidth = this.lineWidth; + return cloned; + } + + equals(other: WebGLLineState): boolean { + return this.lineWidth === other.lineWidth; + } +} + +export class WebGLPolygonOffsetState { + polygonOffsetFactor: number | GLUndefined = GLUndefined; + polygonOffsetUnits: number | GLUndefined = GLUndefined; + + clone(): WebGLPolygonOffsetState { + const cloned = new WebGLPolygonOffsetState(); + Object.assign(cloned, this); + return cloned; + } + + equals(other: WebGLPolygonOffsetState): boolean { + return ( + this.polygonOffsetFactor === other.polygonOffsetFactor && + this.polygonOffsetUnits === other.polygonOffsetUnits + ); + } +} + +export class WebGLSampleState { + sampleCoverageValue: number | GLUndefined = GLUndefined; + sampleCoverageInvert: boolean | GLUndefined = GLUndefined; + + clone(): WebGLSampleState { + const cloned = new WebGLSampleState(); + Object.assign(cloned, this); + return cloned; + } + + equals(other: WebGLSampleState): boolean { + return ( + this.sampleCoverageValue === other.sampleCoverageValue && + this.sampleCoverageInvert === other.sampleCoverageInvert + ); + } +} + +export class WebGLTransformFeedbackState { + transformFeedback: WebGLTransformFeedback | null | GLUndefined = GLUndefined; + transformFeedbackActive: boolean | GLUndefined = GLUndefined; + transformFeedbackPaused: boolean | GLUndefined = GLUndefined; + + clone(): WebGLTransformFeedbackState { + const cloned = new WebGLTransformFeedbackState(); + Object.assign(cloned, this); + return cloned; + } + + equals(other: WebGLTransformFeedbackState): boolean { + return ( + this.transformFeedback === other.transformFeedback && + this.transformFeedbackActive === other.transformFeedbackActive && + this.transformFeedbackPaused === other.transformFeedbackPaused + ); + } +} + +export class WebGLRenderbufferState { + renderbuffer: WebGLRenderbuffer | null | GLUndefined = GLUndefined; + + clone(): WebGLRenderbufferState { + const cloned = new WebGLRenderbufferState(); + cloned.renderbuffer = this.renderbuffer; + return cloned; + } + + equals(other: WebGLRenderbufferState): boolean { + return this.renderbuffer === other.renderbuffer; + } +} + +export class WebGLSamplerState { + // Sampler bindings per texture unit (WebGL 2.0) + samplerBindings: { [unit: number]: WebGLSampler | null | GLUndefined } = {}; + + clone(): WebGLSamplerState { + const cloned = new WebGLSamplerState(); + // Shallow copy is fine since samplerBindings contains WebGL objects (not cloneable state objects) + Object.assign(cloned.samplerBindings, this.samplerBindings); + return cloned; + } + + equals(other: WebGLSamplerState): boolean { + const thisKeys = Object.keys(this.samplerBindings); + const otherKeys = Object.keys(other.samplerBindings); + if (thisKeys.length !== otherKeys.length) return false; + return thisKeys.every( + key => this.samplerBindings[Number(key)] === other.samplerBindings[Number(key)] + ); + } +} + +export class WebGLQueryState { + // Active queries per target (WebGL 2.0) + // Only one query can be active per target at a time + currentOcclusionQuery: WebGLQuery | null | GLUndefined = GLUndefined; + currentTransformFeedbackPrimitivesWritten: WebGLQuery | null | GLUndefined = GLUndefined; + currentAnySamplesPassed: WebGLQuery | null | GLUndefined = GLUndefined; + currentAnySamplesPassedConservative: WebGLQuery | null | GLUndefined = GLUndefined; + + clone(): WebGLQueryState { + const cloned = new WebGLQueryState(); + Object.assign(cloned, this); + return cloned; + } + + equals(other: WebGLQueryState): boolean { + return ( + this.currentOcclusionQuery === other.currentOcclusionQuery && + this.currentTransformFeedbackPrimitivesWritten === + other.currentTransformFeedbackPrimitivesWritten && + this.currentAnySamplesPassed === other.currentAnySamplesPassed && + this.currentAnySamplesPassedConservative === other.currentAnySamplesPassedConservative + ); + } +} + +export class WebGLState { + // Texture state + textures?: WebGLTextureState; + + // Buffer state + buffers?: WebGLBufferState; + + // Program state + programs?: WebGLProgramState; + + // Framebuffer state + framebuffers?: WebGLFramebufferState; + + // Vertex array state + vertexArrays?: WebGLVertexArrayState; + + // Viewport and scissor + viewport?: WebGLViewportState; + + // Clear values + clear?: WebGLClearState; + + // Capabilities (enable/disable state) + capabilities?: WebGLCapabilityState; + + // Pixel store parameters + pixelStore?: WebGLPixelStoreState; + + // Blend state + blend?: WebGLBlendState; + + // Depth state + depth?: WebGLDepthState; + + // Stencil state + stencil?: WebGLStencilState; + + // Color state + color?: WebGLColorState; + + // Face culling + culling?: WebGLCullingState; + + // Line rendering + line?: WebGLLineState; + + // Polygon offset + polygonOffset?: WebGLPolygonOffsetState; + + // Sample coverage + sample?: WebGLSampleState; + + // Transform feedback (WebGL 2.0) + transformFeedback?: WebGLTransformFeedbackState; + + // Renderbuffer + renderbuffer?: WebGLRenderbufferState; + + // Sampler state (WebGL 2.0) + samplers?: WebGLSamplerState; + + // Query state (WebGL 2.0) + queries?: WebGLQueryState; + + // Buffer lifecycle tracking (for validation without GPU calls) + validBuffers = new Set(); + + readonly constants = new WebGLConstants(); + + // Lazy getters for state components + getTexturesState(): WebGLTextureState { + if (!this.textures) { + this.textures = new WebGLTextureState(); + this.textures.activeTexture = this.constants.TEXTURE0; + } + return this.textures; + } + + getOrCreateTextureUnit(unit: string): WebGLTextureUnitState { + const textures = this.getTexturesState(); + if (!textures.textureUnits[unit]) { + textures.textureUnits[unit] = new WebGLTextureUnitState(); + } + return textures.textureUnits[unit]; + } + + getBuffersState(): WebGLBufferState { + if (!this.buffers) { + this.buffers = new WebGLBufferState(); + } + return this.buffers; + } + + getProgramsState(): WebGLProgramState { + if (!this.programs) { + this.programs = new WebGLProgramState(); + } + return this.programs; + } + + getFramebuffersState(): WebGLFramebufferState { + if (!this.framebuffers) { + this.framebuffers = new WebGLFramebufferState(); + this.framebuffers.defaultFramebufferState.drawBuffers = [this.constants.BACK || 0x0405]; // Default to BACK + this.framebuffers.defaultFramebufferState.readBuffer = this.constants.BACK || 0x0405; + } + return this.framebuffers; + } + + getVertexArraysState(): WebGLVertexArrayState { + if (!this.vertexArrays) { + this.vertexArrays = new WebGLVertexArrayState(); + } + return this.vertexArrays; + } + + getOrCreateVertexAttrib(index: number): WebGLVertexAttribState { + const vertexArrays = this.getVertexArraysState(); + const vaoState = vertexArrays.getCurrentVAOState(); + const existing = vaoState.attributes.get(index); + if (!existing || existing === GLUndefined) { + const newAttrib = new WebGLVertexAttribState(); + vaoState.attributes.set(index, newAttrib); + return newAttrib; + } + return existing as WebGLVertexAttribState; + } + + getViewportState(): WebGLViewportState { + if (!this.viewport) { + this.viewport = new WebGLViewportState(); + } + return this.viewport; + } + + getClearState(): WebGLClearState { + if (!this.clear) { + this.clear = new WebGLClearState(); + } + return this.clear; + } + + getCapabilitiesState(): WebGLCapabilityState { + if (!this.capabilities) { + this.capabilities = new WebGLCapabilityState(); + } + return this.capabilities; + } + + getPixelStoreState(): WebGLPixelStoreState { + if (!this.pixelStore) { + this.pixelStore = new WebGLPixelStoreState(); + } + return this.pixelStore; + } + + getBlendState(): WebGLBlendState { + if (!this.blend) { + this.blend = new WebGLBlendState(); + } + return this.blend; + } + + getDepthState(): WebGLDepthState { + if (!this.depth) { + this.depth = new WebGLDepthState(); + } + return this.depth; + } + + getStencilState(): WebGLStencilState { + if (!this.stencil) { + this.stencil = new WebGLStencilState(); + } + return this.stencil; + } + + getColorState(): WebGLColorState { + if (!this.color) { + this.color = new WebGLColorState(); + } + return this.color; + } + + getCullingState(): WebGLCullingState { + if (!this.culling) { + this.culling = new WebGLCullingState(); + } + return this.culling; + } + + getLineState(): WebGLLineState { + if (!this.line) { + this.line = new WebGLLineState(); + } + return this.line; + } + + getPolygonOffsetState(): WebGLPolygonOffsetState { + if (!this.polygonOffset) { + this.polygonOffset = new WebGLPolygonOffsetState(); + } + return this.polygonOffset; + } + + getSampleState(): WebGLSampleState { + if (!this.sample) { + this.sample = new WebGLSampleState(); + } + return this.sample; + } + + getTransformFeedbackState(): WebGLTransformFeedbackState { + if (!this.transformFeedback) { + this.transformFeedback = new WebGLTransformFeedbackState(); + } + return this.transformFeedback; + } + + getRenderbufferState(): WebGLRenderbufferState { + if (!this.renderbuffer) { + this.renderbuffer = new WebGLRenderbufferState(); + } + return this.renderbuffer; + } + + getSamplersState(): WebGLSamplerState { + if (!this.samplers) { + this.samplers = new WebGLSamplerState(); + } + return this.samplers; + } + + getQueriesState(): WebGLQueryState { + if (!this.queries) { + this.queries = new WebGLQueryState(); + } + return this.queries; + } + + // Public state accessors + getState(): WebGLState { + return this; + } + + /** + * Clone the current state into a new WebGLState object + * This creates a deep clone of the state properties + * Note: WebGL objects (buffers, textures, etc.) are not cloned, only references + */ + clone(): WebGLState { + const cloned = new WebGLState(); + + // Clone each state property using their clone methods + if (this.buffers) cloned.buffers = this.buffers.clone(); + if (this.vertexArrays) cloned.vertexArrays = this.vertexArrays.clone(); + if (this.textures) cloned.textures = this.textures.clone(); + if (this.samplers) cloned.samplers = this.samplers.clone(); + if (this.programs) cloned.programs = this.programs.clone(); + if (this.framebuffers) cloned.framebuffers = this.framebuffers.clone(); + if (this.renderbuffer) cloned.renderbuffer = this.renderbuffer.clone(); + if (this.transformFeedback) cloned.transformFeedback = this.transformFeedback.clone(); + if (this.viewport) cloned.viewport = this.viewport.clone(); + if (this.capabilities) cloned.capabilities = this.capabilities.clone(); + if (this.clear) cloned.clear = this.clear.clone(); + if (this.blend) cloned.blend = this.blend.clone(); + if (this.depth) cloned.depth = this.depth.clone(); + if (this.stencil) cloned.stencil = this.stencil.clone(); + if (this.color) cloned.color = this.color.clone(); + if (this.culling) cloned.culling = this.culling.clone(); + if (this.line) cloned.line = this.line.clone(); + if (this.polygonOffset) cloned.polygonOffset = this.polygonOffset.clone(); + if (this.sample) cloned.sample = this.sample.clone(); + if (this.pixelStore) cloned.pixelStore = this.pixelStore.clone(); + if (this.queries) cloned.queries = this.queries.clone(); + + // Clone validBuffers Set + cloned.validBuffers = new Set(this.validBuffers); + + return cloned; + } +} + +/** + * WebGLStateTracker - A state-only WebGL context that mimics WebGL2RenderingContext + * + * This class provides the same interface as WebGL2RenderingContext but only updates + * internal state without making actual WebGL calls. Useful for testing, debugging, + * and state tracking without GPU dependencies. + */ +/** + * WebGL Constants + */ +export class WebGLConstants { + // Buffer targets + readonly ARRAY_BUFFER = 0x8892; + readonly ELEMENT_ARRAY_BUFFER = 0x8893; + readonly UNIFORM_BUFFER = 0x8a11; + readonly TRANSFORM_FEEDBACK_BUFFER = 0x8c8e; + readonly PIXEL_PACK_BUFFER = 0x88eb; + readonly PIXEL_UNPACK_BUFFER = 0x88ec; + readonly COPY_READ_BUFFER = 0x8f36; + readonly COPY_WRITE_BUFFER = 0x8f37; + + // Texture targets and units + readonly TEXTURE0 = 0x84c0; + readonly TEXTURE_2D = 0x0de1; + readonly TEXTURE_CUBE_MAP = 0x8513; + readonly TEXTURE_3D = 0x806f; + readonly TEXTURE_2D_ARRAY = 0x8c1a; + + // Framebuffer targets + readonly FRAMEBUFFER = 0x8d40; + readonly DRAW_FRAMEBUFFER = 0x8ca9; + readonly READ_FRAMEBUFFER = 0x8ca8; + + // Capabilities + readonly BLEND = 0x0be2; + readonly CULL_FACE = 0x0b44; + readonly DEPTH_TEST = 0x0b71; + readonly DITHER = 0x0bd0; + readonly POLYGON_OFFSET_FILL = 0x8037; + readonly SAMPLE_ALPHA_TO_COVERAGE = 0x809e; + readonly SAMPLE_COVERAGE = 0x80a0; + readonly SCISSOR_TEST = 0x0c11; + readonly STENCIL_TEST = 0x0b90; + readonly RASTERIZER_DISCARD = 0x8c89; + + // Blend equations + readonly FUNC_ADD = 0x8006; + readonly FUNC_SUBTRACT = 0x800a; + + // Blend functions + readonly ZERO = 0; + readonly ONE = 1; + readonly SRC_ALPHA = 0x0302; + readonly ONE_MINUS_SRC_ALPHA = 0x0303; + + // Depth functions + readonly NEVER = 0x0200; + readonly LESS = 0x0201; + readonly EQUAL = 0x0202; + readonly LEQUAL = 0x0203; + + // Stencil operations + readonly KEEP = 0x1e00; + readonly REPLACE = 0x1e01; + readonly INCR = 0x1e02; + + // Stencil functions + readonly ALWAYS = 0x0207; + + // Culling + readonly FRONT = 0x0404; + readonly BACK = 0x0405; + readonly FRONT_AND_BACK = 0x0408; + readonly CW = 0x0900; + readonly CCW = 0x0901; + + // Pixel store parameters + readonly PACK_ALIGNMENT = 0x0d05; + readonly UNPACK_ALIGNMENT = 0x0cf5; + readonly UNPACK_FLIP_Y_WEBGL = 0x9240; + readonly UNPACK_PREMULTIPLY_ALPHA_WEBGL = 0x9241; + readonly PACK_ROW_LENGTH = 0x0d02; + readonly PACK_SKIP_PIXELS = 0x0d04; + readonly PACK_SKIP_ROWS = 0x0d03; + readonly UNPACK_ROW_LENGTH = 0x0cf2; + readonly UNPACK_IMAGE_HEIGHT = 0x806e; + readonly UNPACK_SKIP_PIXELS = 0x0cf4; + readonly UNPACK_SKIP_ROWS = 0x0cf3; + readonly UNPACK_SKIP_IMAGES = 0x806d; + + // Framebuffer attachments + readonly COLOR_ATTACHMENT0 = 0x8ce0; + readonly DEPTH_ATTACHMENT = 0x8d00; + readonly STENCIL_ATTACHMENT = 0x8d20; + readonly DEPTH_STENCIL_ATTACHMENT = 0x821a; + + // Query targets + readonly ANY_SAMPLES_PASSED = 0x8c2f; + readonly ANY_SAMPLES_PASSED_CONSERVATIVE = 0x8d6a; + readonly TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN = 0x8c88; + + // Data types + readonly BYTE = 0x1400; + readonly UNSIGNED_BYTE = 0x1401; + readonly SHORT = 0x1402; + readonly UNSIGNED_SHORT = 0x1403; + readonly INT = 0x1404; + readonly UNSIGNED_INT = 0x1405; + readonly FLOAT = 0x1406; + + // Renderbuffer + readonly RENDERBUFFER = 0x8d41; + + // Transform feedback + readonly TRANSFORM_FEEDBACK = 0x8e22; + + // Texture parameters + readonly TEXTURE_MIN_FILTER = 0x2801; + readonly LINEAR = 0x2601; + + // Draw modes + readonly TRIANGLES = 0x0004; + readonly POINTS = 0x0000; + + // Buffer usage + readonly STATIC_DRAW = 0x88e4; +} + +export class WebGLStateTracker { + private state: WebGLState = new WebGLState(); + readonly constants = this.state.constants; + + constructor() { + // State is created in field initializer + } + + // Buffer lifecycle tracking methods + createBuffer(buffer: WebGLBuffer): void { + this.state.validBuffers.add(buffer); + } + + deleteBuffer(buffer: WebGLBuffer): void { + this.state.validBuffers.delete(buffer); + } + + isValidBuffer(buffer: WebGLBuffer | null): boolean { + if (!buffer) return false; + return this.state.validBuffers.has(buffer); + } + + // Buffer binding methods + bindBuffer(target: number, buffer: WebGLBuffer | null): void { + const buffers = this.state.getBuffersState(); + switch (target) { + case this.constants.ARRAY_BUFFER: + buffers.arrayBuffer = buffer; + break; + case this.constants.ELEMENT_ARRAY_BUFFER: + { + // ELEMENT_ARRAY_BUFFER is per-VAO state (OpenGL ES 3.0 spec section 2.10) + // Store it in the currently bound VAO's state + const vertexArrays = this.state.getVertexArraysState(); + const vaoState = vertexArrays.getCurrentVAOState(); + vaoState.elementArrayBuffer = buffer; + } + break; + case this.constants.UNIFORM_BUFFER: + buffers.uniformBuffer = buffer; + break; + case this.constants.TRANSFORM_FEEDBACK_BUFFER: + buffers.transformFeedbackBuffer = buffer; + break; + case this.constants.PIXEL_PACK_BUFFER: + buffers.pixelPackBuffer = buffer; + break; + case this.constants.PIXEL_UNPACK_BUFFER: + buffers.pixelUnpackBuffer = buffer; + break; + case this.constants.COPY_READ_BUFFER: + buffers.copyReadBuffer = buffer; + break; + case this.constants.COPY_WRITE_BUFFER: + buffers.copyWriteBuffer = buffer; + break; + } + } + + // Vertex Array Object methods + bindVertexArray(vao: WebGLVertexArrayObject | null): void { + const vertexArrays = this.state.getVertexArraysState(); + vertexArrays.vertexArrayObject = vao; + + // Ensure a vaoStates entry exists for this VAO + // This allows us to reliably detect if a VAO was deleted (missing from vaoStates) + if (!vertexArrays.vaoStates.has(vao)) { + vertexArrays.vaoStates.set(vao, new WebGLPerVAOState()); + } + + // Note: When switching VAOs, the ELEMENT_ARRAY_BUFFER binding is automatically + // switched to the new VAO's ELEMENT_ARRAY_BUFFER (per OpenGL ES 3.0 spec section 2.10) + // This happens automatically via the per-VAO state mechanism. + } + + deleteVertexArray(vao: WebGLVertexArrayObject | null): void { + if (!vao) return; + + const vertexArrays = this.state.getVertexArraysState(); + + // If the deleted VAO is currently bound, bind to null (default VAO) + // Per WebGL spec: "If the deleted object is currently bound, the binding reverts to 0" + if (vertexArrays.vertexArrayObject === vao) { + vertexArrays.vertexArrayObject = null; + } + + // Remove the VAO state to prevent memory leaks + vertexArrays.vaoStates.delete(vao); + } + + // Vertex attribute methods (per-VAO state - OpenGL ES 3.0 spec section 2.10) + // Now tracked for ALL VAOs, not just default + enableVertexAttribArray(index: number): void { + const attrib = this.state.getOrCreateVertexAttrib(index); + attrib.enabled = true; + } + + disableVertexAttribArray(index: number): void { + const attrib = this.state.getOrCreateVertexAttrib(index); + attrib.enabled = false; + } + + vertexAttribPointer( + index: number, + size: number, + type: number, + normalized: boolean, + stride: number, + offset: number + ): void { + const attrib = this.state.getOrCreateVertexAttrib(index); + // Capture the current ARRAY_BUFFER binding + const buffers = this.state.buffers; + attrib.buffer = buffers?.arrayBuffer || GLUndefined; + attrib.size = size; + attrib.type = type; + attrib.normalized = normalized; + attrib.stride = stride; + attrib.offset = offset; + } + + vertexAttribIPointer( + index: number, + size: number, + type: number, + stride: number, + offset: number + ): void { + // Same as vertexAttribPointer but for integer attributes + const attrib = this.state.getOrCreateVertexAttrib(index); + const buffers = this.state.buffers; + attrib.buffer = buffers?.arrayBuffer || GLUndefined; + attrib.size = size; + attrib.type = type; + attrib.normalized = false; // Integer attributes are never normalized + attrib.stride = stride; + attrib.offset = offset; + } + + vertexAttribDivisor(index: number, divisor: number): void { + const attrib = this.state.getOrCreateVertexAttrib(index); + attrib.divisor = divisor; + } + + // Texture methods + activeTexture(texture: number): void { + const textures = this.state.getTexturesState(); + const unitIndex = texture - this.constants.TEXTURE0; + + // Validate unit index is within valid range + if (unitIndex < 0 || unitIndex >= GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS) { + console.warn(`Invalid activeTexture value: ${texture} (unit index: ${unitIndex})`); + return; + } + + textures.activeTexture = texture; + } + + bindTexture(target: number, texture: WebGLTexture | null): void { + const textures = this.state.getTexturesState(); + const activeTextureValue = + textures.activeTexture === GLUndefined + ? this.constants.TEXTURE0 + : (textures.activeTexture as number); + const unitIndex = activeTextureValue - this.constants.TEXTURE0; + + // Validate unit index is within valid range + if (unitIndex < 0 || unitIndex >= GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS) { + console.warn( + `Invalid texture unit index: ${unitIndex} (activeTexture: ${activeTextureValue})` + ); + return; + } + + const unitKey = `TEXTURE${unitIndex}`; + + if (!textures.textureUnits[unitKey]) { + textures.textureUnits[unitKey] = new WebGLTextureUnitState(); + } + + switch (target) { + case this.constants.TEXTURE_2D: + textures.textureUnits[unitKey].texture2D = texture; + break; + case this.constants.TEXTURE_CUBE_MAP: + textures.textureUnits[unitKey].textureCubeMap = texture; + break; + case this.constants.TEXTURE_3D: + textures.textureUnits[unitKey].texture3D = texture; + break; + case this.constants.TEXTURE_2D_ARRAY: + textures.textureUnits[unitKey].texture2DArray = texture; + break; + } + } + + // Program methods + useProgram(program: WebGLProgram | null): void { + const programs = this.state.getProgramsState(); + programs.currentProgram = program; + } + + // Framebuffer methods + bindFramebuffer(target: number, framebuffer: WebGLFramebuffer | null): void { + const framebuffers = this.state.getFramebuffersState(); + switch (target) { + case this.constants.FRAMEBUFFER: + // FRAMEBUFFER target binds to both DRAW_FRAMEBUFFER and READ_FRAMEBUFFER + framebuffers.framebuffer = framebuffer; + framebuffers.drawFramebuffer = framebuffer; + framebuffers.readFramebuffer = framebuffer; + break; + case this.constants.DRAW_FRAMEBUFFER: + framebuffers.drawFramebuffer = framebuffer; + break; + case this.constants.READ_FRAMEBUFFER: + framebuffers.readFramebuffer = framebuffer; + break; + } + } + + // Capability methods + enable(cap: number): void { + const capabilities = this.state.getCapabilitiesState(); + switch (cap) { + case this.constants.BLEND: + capabilities.blend = true; + break; + case this.constants.CULL_FACE: + capabilities.cullFace = true; + break; + case this.constants.DEPTH_TEST: + capabilities.depthTest = true; + break; + case this.constants.DITHER: + capabilities.dither = true; + break; + case this.constants.POLYGON_OFFSET_FILL: + capabilities.polygonOffsetFill = true; + break; + case this.constants.SAMPLE_ALPHA_TO_COVERAGE: + capabilities.sampleAlphaToCoverage = true; + break; + case this.constants.SAMPLE_COVERAGE: + capabilities.sampleCoverage = true; + break; + case this.constants.SCISSOR_TEST: + capabilities.scissorTest = true; + break; + case this.constants.STENCIL_TEST: + capabilities.stencilTest = true; + break; + case this.constants.RASTERIZER_DISCARD: + capabilities.rasterDiscard = true; + break; + } + } + + disable(cap: number): void { + const capabilities = this.state.getCapabilitiesState(); + switch (cap) { + case this.constants.BLEND: + capabilities.blend = false; + break; + case this.constants.CULL_FACE: + capabilities.cullFace = false; + break; + case this.constants.DEPTH_TEST: + capabilities.depthTest = false; + break; + case this.constants.DITHER: + capabilities.dither = false; + break; + case this.constants.POLYGON_OFFSET_FILL: + capabilities.polygonOffsetFill = false; + break; + case this.constants.SAMPLE_ALPHA_TO_COVERAGE: + capabilities.sampleAlphaToCoverage = false; + break; + case this.constants.SAMPLE_COVERAGE: + capabilities.sampleCoverage = false; + break; + case this.constants.SCISSOR_TEST: + capabilities.scissorTest = false; + break; + case this.constants.STENCIL_TEST: + capabilities.stencilTest = false; + break; + case this.constants.RASTERIZER_DISCARD: + capabilities.rasterDiscard = false; + break; + } + } + + // Viewport methods + viewport(x: number, y: number, width: number, height: number): void { + const viewportState = this.state.getViewportState(); + if (!isDefined(viewportState.viewport)) { + viewportState.viewport = new Int32Array(4); + } + const arr = viewportState.viewport as Int32Array; + arr[0] = x; + arr[1] = y; + arr[2] = width; + arr[3] = height; + } + + scissor(x: number, y: number, width: number, height: number): void { + const viewportState = this.state.getViewportState(); + if (!isDefined(viewportState.scissorBox)) { + viewportState.scissorBox = new Int32Array(4); + } + const arr = viewportState.scissorBox as Int32Array; + arr[0] = x; + arr[1] = y; + arr[2] = width; + arr[3] = height; + } + + // Clear methods + clearColor(red: number, green: number, blue: number, alpha: number): void { + const clear = this.state.getClearState(); + if (!isDefined(clear.colorClearValue)) { + clear.colorClearValue = new Float32Array(4); + } + const arr = clear.colorClearValue as Float32Array; + arr[0] = red; + arr[1] = green; + arr[2] = blue; + arr[3] = alpha; + } + + clearDepth(depth: number): void { + const clear = this.state.getClearState(); + clear.depthClearValue = depth; + } + + clearStencil(stencil: number): void { + const clear = this.state.getClearState(); + clear.stencilClearValue = stencil; + } + + // Blend state methods + blendColor(red: number, green: number, blue: number, alpha: number): void { + const blend = this.state.getBlendState(); + if (!isDefined(blend.blendColor)) { + blend.blendColor = new Float32Array(4); + } + const arr = blend.blendColor as Float32Array; + arr[0] = red; + arr[1] = green; + arr[2] = blue; + arr[3] = alpha; + } + + blendEquation(mode: number): void { + const blend = this.state.getBlendState(); + blend.blendEquationRgb = mode; + blend.blendEquationAlpha = mode; + } + + blendEquationSeparate(modeRGB: number, modeAlpha: number): void { + const blend = this.state.getBlendState(); + blend.blendEquationRgb = modeRGB; + blend.blendEquationAlpha = modeAlpha; + } + + blendFunc(sfactor: number, dfactor: number): void { + const blend = this.state.getBlendState(); + blend.blendSrcRgb = sfactor; + blend.blendDstRgb = dfactor; + blend.blendSrcAlpha = sfactor; + blend.blendDstAlpha = dfactor; + } + + blendFuncSeparate(srcRGB: number, dstRGB: number, srcAlpha: number, dstAlpha: number): void { + const blend = this.state.getBlendState(); + blend.blendSrcRgb = srcRGB; + blend.blendDstRgb = dstRGB; + blend.blendSrcAlpha = srcAlpha; + blend.blendDstAlpha = dstAlpha; + } + + // Depth state methods + depthFunc(func: number): void { + const depth = this.state.getDepthState(); + depth.depthFunc = func; + } + + depthMask(flag: boolean): void { + const depth = this.state.getDepthState(); + depth.depthWritemask = flag; + } + + depthRange(zNear: number, zFar: number): void { + const depth = this.state.getDepthState(); + if (!isDefined(depth.depthRange)) { + depth.depthRange = new Float32Array(2); + } + const arr = depth.depthRange as Float32Array; + arr[0] = zNear; + arr[1] = zFar; + } + + // Stencil state methods + stencilFunc(func: number, ref: number, mask: number): void { + const stencil = this.state.getStencilState(); + stencil.stencilFunc = func; + stencil.stencilRef = ref; + stencil.stencilValueMask = mask; + stencil.stencilBackFunc = func; + stencil.stencilBackRef = ref; + stencil.stencilBackValueMask = mask; + } + + stencilFuncSeparate(face: number, func: number, ref: number, mask: number): void { + const stencil = this.state.getStencilState(); + if (face === this.constants.FRONT || face === this.constants.FRONT_AND_BACK) { + stencil.stencilFunc = func; + stencil.stencilRef = ref; + stencil.stencilValueMask = mask; + } + if (face === this.constants.BACK || face === this.constants.FRONT_AND_BACK) { + stencil.stencilBackFunc = func; + stencil.stencilBackRef = ref; + stencil.stencilBackValueMask = mask; + } + } + + stencilMask(mask: number): void { + const stencil = this.state.getStencilState(); + stencil.stencilWritemask = mask; + stencil.stencilBackWritemask = mask; + } + + stencilMaskSeparate(face: number, mask: number): void { + const stencil = this.state.getStencilState(); + if (face === this.constants.FRONT || face === this.constants.FRONT_AND_BACK) { + stencil.stencilWritemask = mask; + } + if (face === this.constants.BACK || face === this.constants.FRONT_AND_BACK) { + stencil.stencilBackWritemask = mask; + } + } + + stencilOp(fail: number, zfail: number, zpass: number): void { + const stencil = this.state.getStencilState(); + stencil.stencilFail = fail; + stencil.stencilPassDepthFail = zfail; + stencil.stencilPassDepthPass = zpass; + stencil.stencilBackFail = fail; + stencil.stencilBackPassDepthFail = zfail; + stencil.stencilBackPassDepthPass = zpass; + } + + stencilOpSeparate(face: number, fail: number, zfail: number, zpass: number): void { + const stencil = this.state.getStencilState(); + if (face === this.constants.FRONT || face === this.constants.FRONT_AND_BACK) { + stencil.stencilFail = fail; + stencil.stencilPassDepthFail = zfail; + stencil.stencilPassDepthPass = zpass; + } + if (face === this.constants.BACK || face === this.constants.FRONT_AND_BACK) { + stencil.stencilBackFail = fail; + stencil.stencilBackPassDepthFail = zfail; + stencil.stencilBackPassDepthPass = zpass; + } + } + + // Color state methods + colorMask(red: boolean, green: boolean, blue: boolean, alpha: boolean): void { + const color = this.state.getColorState(); + color.colorWritemask = [red, green, blue, alpha]; + } + + // Culling state methods + cullFace(mode: number): void { + const culling = this.state.getCullingState(); + culling.cullFaceMode = mode; + } + + frontFace(mode: number): void { + const culling = this.state.getCullingState(); + culling.frontFace = mode; + } + + // Line width + lineWidth(width: number): void { + const line = this.state.getLineState(); + line.lineWidth = width; + } + + // Polygon offset + polygonOffset(factor: number, units: number): void { + const polygonOffset = this.state.getPolygonOffsetState(); + polygonOffset.polygonOffsetFactor = factor; + polygonOffset.polygonOffsetUnits = units; + } + + // Sample coverage + sampleCoverage(value: number, invert: boolean): void { + const sample = this.state.getSampleState(); + sample.sampleCoverageValue = value; + sample.sampleCoverageInvert = invert; + } + + // Pixel store methods + pixelStorei(pname: number, param: number): void { + const pixelStore = this.state.getPixelStoreState(); + switch (pname) { + case this.constants.PACK_ALIGNMENT: + pixelStore.packAlignment = param; + break; + case this.constants.UNPACK_ALIGNMENT: + pixelStore.unpackAlignment = param; + break; + case this.constants.UNPACK_FLIP_Y_WEBGL: + pixelStore.unpackFlipY = !!param; + break; + case this.constants.UNPACK_PREMULTIPLY_ALPHA_WEBGL: + pixelStore.unpackPremultiplyAlpha = !!param; + break; + case this.constants.PACK_ROW_LENGTH: + pixelStore.packRowLength = param; + break; + case this.constants.PACK_SKIP_PIXELS: + pixelStore.packSkipPixels = param; + break; + case this.constants.PACK_SKIP_ROWS: + pixelStore.packSkipRows = param; + break; + case this.constants.UNPACK_ROW_LENGTH: + pixelStore.unpackRowLength = param; + break; + case this.constants.UNPACK_IMAGE_HEIGHT: + pixelStore.unpackImageHeight = param; + break; + case this.constants.UNPACK_SKIP_PIXELS: + pixelStore.unpackSkipPixels = param; + break; + case this.constants.UNPACK_SKIP_ROWS: + pixelStore.unpackSkipRows = param; + break; + case this.constants.UNPACK_SKIP_IMAGES: + pixelStore.unpackSkipImages = param; + break; + } + } + + // Renderbuffer methods + bindRenderbuffer(target: number, renderbuffer: WebGLRenderbuffer | null): void { + const renderbufferState = this.state.getRenderbufferState(); + renderbufferState.renderbuffer = renderbuffer; + } + + // Transform feedback methods + bindTransformFeedback(target: number, transformFeedback: WebGLTransformFeedback | null): void { + const tfState = this.state.getTransformFeedbackState(); + tfState.transformFeedback = transformFeedback; + } + + beginTransformFeedback(primitiveMode: number): void { + const tfState = this.state.getTransformFeedbackState(); + tfState.transformFeedbackActive = true; + tfState.transformFeedbackPaused = false; + } + + endTransformFeedback(): void { + const tfState = this.state.getTransformFeedbackState(); + tfState.transformFeedbackActive = false; + tfState.transformFeedbackPaused = false; + } + + pauseTransformFeedback(): void { + const tfState = this.state.getTransformFeedbackState(); + if (tfState.transformFeedbackActive) { + tfState.transformFeedbackPaused = true; + } + } + + resumeTransformFeedback(): void { + const tfState = this.state.getTransformFeedbackState(); + if (tfState.transformFeedbackActive) { + tfState.transformFeedbackPaused = false; + } + } + + // Buffer binding range methods + bindBufferBase(target: number, index: number, buffer: WebGLBuffer | null): void { + const buffers = this.state.getBuffersState(); + // Per WebGL spec: bindBufferBase updates BOTH the indexed binding AND the generic binding + switch (target) { + case this.constants.UNIFORM_BUFFER: + buffers.uniformBuffer = buffer; + const uniformBinding = new WebGLIndexedBufferBinding(); + uniformBinding.buffer = buffer; + uniformBinding.offset = 0; + uniformBinding.size = 0; // 0 means entire buffer + buffers.uniformBufferBindings.set(index, uniformBinding); + break; + case this.constants.TRANSFORM_FEEDBACK_BUFFER: + buffers.transformFeedbackBuffer = buffer; + const tfBinding = new WebGLIndexedBufferBinding(); + tfBinding.buffer = buffer; + tfBinding.offset = 0; + tfBinding.size = 0; // 0 means entire buffer + buffers.transformFeedbackBufferBindings.set(index, tfBinding); + break; + } + } + + bindBufferRange( + target: number, + index: number, + buffer: WebGLBuffer | null, + offset: number, + size: number + ): void { + const buffers = this.state.getBuffersState(); + // Per WebGL spec: bindBufferRange updates BOTH the indexed binding AND the generic binding + switch (target) { + case this.constants.UNIFORM_BUFFER: + buffers.uniformBuffer = buffer; + const uniformBinding = new WebGLIndexedBufferBinding(); + uniformBinding.buffer = buffer; + uniformBinding.offset = offset; + uniformBinding.size = size; + buffers.uniformBufferBindings.set(index, uniformBinding); + break; + case this.constants.TRANSFORM_FEEDBACK_BUFFER: + buffers.transformFeedbackBuffer = buffer; + const transformBinding = new WebGLIndexedBufferBinding(); + transformBinding.buffer = buffer; + transformBinding.offset = offset; + transformBinding.size = size; + buffers.transformFeedbackBufferBindings.set(index, transformBinding); + break; + } + } + + // Framebuffer attachment methods (per-framebuffer state, only tracked for default FB) + framebufferTexture2D( + target: number, + attachment: number, + textarget: number, + texture: WebGLTexture | null, + level: number + ): void { + const framebuffers = this.state.framebuffers; + const isDefaultFB = + !framebuffers || + (target === this.constants.FRAMEBUFFER && framebuffers.framebuffer === null) || + (target === this.constants.DRAW_FRAMEBUFFER && framebuffers.drawFramebuffer === null); + + if (isDefaultFB) { + const fbState = this.state.getFramebuffersState().defaultFramebufferState; + const attachmentObj = new WebGLFramebufferAttachment(); + attachmentObj.attachmentType = texture ? 'texture' : GLUndefined; + attachmentObj.texture = texture || GLUndefined; + attachmentObj.renderbuffer = GLUndefined; + attachmentObj.textureLevel = level; + attachmentObj.textureLayer = 0; + attachmentObj.textureCubeFace = textarget; + + this.setFramebufferAttachment(fbState, attachment, attachmentObj); + } + // else: Non-default framebuffer - don't track + } + + framebufferRenderbuffer( + target: number, + attachment: number, + renderbuffertarget: number, + renderbuffer: WebGLRenderbuffer | null + ): void { + const framebuffers = this.state.framebuffers; + const isDefaultFB = + !framebuffers || + (target === this.constants.FRAMEBUFFER && framebuffers.framebuffer === null) || + (target === this.constants.DRAW_FRAMEBUFFER && framebuffers.drawFramebuffer === null); + + if (isDefaultFB) { + const fbState = this.state.getFramebuffersState().defaultFramebufferState; + const attachmentObj = new WebGLFramebufferAttachment(); + attachmentObj.attachmentType = renderbuffer ? 'renderbuffer' : GLUndefined; + attachmentObj.texture = GLUndefined; + attachmentObj.renderbuffer = renderbuffer || GLUndefined; + attachmentObj.textureLevel = 0; + attachmentObj.textureLayer = 0; + attachmentObj.textureCubeFace = 0; + + this.setFramebufferAttachment(fbState, attachment, attachmentObj); + } + // else: Non-default framebuffer - don't track + } + + framebufferTextureLayer( + target: number, + attachment: number, + texture: WebGLTexture | null, + level: number, + layer: number + ): void { + const framebuffers = this.state.framebuffers; + const isDefaultFB = + !framebuffers || + (target === this.constants.FRAMEBUFFER && framebuffers.framebuffer === null) || + (target === this.constants.DRAW_FRAMEBUFFER && framebuffers.drawFramebuffer === null); + + if (isDefaultFB) { + const fbState = this.state.getFramebuffersState().defaultFramebufferState; + const attachmentObj = new WebGLFramebufferAttachment(); + attachmentObj.attachmentType = texture ? 'texture' : GLUndefined; + attachmentObj.texture = texture || GLUndefined; + attachmentObj.renderbuffer = GLUndefined; + attachmentObj.textureLevel = level; + attachmentObj.textureLayer = layer; + attachmentObj.textureCubeFace = 0; + + this.setFramebufferAttachment(fbState, attachment, attachmentObj); + } + // else: Non-default framebuffer - don't track + } + + private setFramebufferAttachment( + fbState: WebGLDefaultFramebufferState, + attachment: number, + attachmentObj: WebGLFramebufferAttachment + ): void { + if (attachment === this.constants.DEPTH_ATTACHMENT) { + fbState.depthAttachment = attachmentObj; + } else if (attachment === this.constants.STENCIL_ATTACHMENT) { + fbState.stencilAttachment = attachmentObj; + } else if (attachment === this.constants.DEPTH_STENCIL_ATTACHMENT) { + fbState.depthStencilAttachment = attachmentObj; + } else if ( + attachment >= this.constants.COLOR_ATTACHMENT0 && + attachment <= this.constants.COLOR_ATTACHMENT0 + 15 + ) { + const index = attachment - this.constants.COLOR_ATTACHMENT0; + fbState.colorAttachments[`COLOR_ATTACHMENT${index}`] = attachmentObj; + } + } + + // Draw buffer methods (per-framebuffer state, only tracked for default FB) + drawBuffers(buffers: number[]): void { + const framebuffers = this.state.framebuffers; + const isDefaultFB = !framebuffers || framebuffers.drawFramebuffer === null; + + if (isDefaultFB) { + const fbState = this.state.getFramebuffersState().defaultFramebufferState; + fbState.drawBuffers = [...buffers]; + } + // else: Non-default framebuffer - don't track + } + + readBuffer(mode: number): void { + const framebuffers = this.state.framebuffers; + const isDefaultFB = !framebuffers || framebuffers.readFramebuffer === null; + + if (isDefaultFB) { + const fbState = this.state.getFramebuffersState().defaultFramebufferState; + fbState.readBuffer = mode; + } + // else: Non-default framebuffer - don't track + } + + // Hint method + hint(target: number, mode: number): void { + // Hints don't typically affect state in a way we need to track + // This is a no-op but maintains interface compatibility + } + + // No-op state changing methods that don't affect our tracked state + // but are part of the WebGL2RenderingContext interface + + // Buffer data methods (don't affect binding state) + bufferData( + target: number, + sizeOrData: number | ArrayBufferView | ArrayBuffer | null, + usage: number, + srcOffset?: number, + length?: number + ): void { + // Data operations don't change binding state + } + + bufferSubData( + target: number, + dstByteOffset: number, + srcData: ArrayBufferView | ArrayBuffer, + srcOffset?: number, + length?: number + ): void { + // Data operations don't change binding state + } + + copyBufferSubData( + readTarget: number, + writeTarget: number, + readOffset: number, + writeOffset: number, + size: number + ): void { + // Copy operations don't change binding state + } + + // Texture parameter methods (don't affect binding state) + texParameterf(target: number, pname: number, param: number): void { + // Parameter changes don't affect binding state + } + + texParameteri(target: number, pname: number, param: number): void { + // Parameter changes don't affect binding state + } + + // Texture data methods (don't affect binding state) + texImage2D(...args: any[]): void { + // Data operations don't change binding state + } + + texSubImage2D(...args: any[]): void { + // Data operations don't change binding state + } + + texImage3D(...args: any[]): void { + // Data operations don't change binding state + } + + texSubImage3D(...args: any[]): void { + // Data operations don't change binding state + } + + compressedTexImage2D(...args: any[]): void { + // Data operations don't change binding state + } + + compressedTexSubImage2D(...args: any[]): void { + // Data operations don't change binding state + } + + compressedTexImage3D(...args: any[]): void { + // Data operations don't change binding state + } + + compressedTexSubImage3D(...args: any[]): void { + // Data operations don't change binding state + } + + texStorage2D( + target: number, + levels: number, + internalformat: number, + width: number, + height: number + ): void { + // Storage allocation doesn't change binding state + } + + texStorage3D( + target: number, + levels: number, + internalformat: number, + width: number, + height: number, + depth: number + ): void { + // Storage allocation doesn't change binding state + } + + copyTexImage2D( + target: number, + level: number, + internalformat: number, + x: number, + y: number, + width: number, + height: number, + border: number + ): void { + // Copy operations don't change binding state + } + + copyTexSubImage2D( + target: number, + level: number, + xoffset: number, + yoffset: number, + x: number, + y: number, + width: number, + height: number + ): void { + // Copy operations don't change binding state + } + + copyTexSubImage3D( + target: number, + level: number, + xoffset: number, + yoffset: number, + zoffset: number, + x: number, + y: number, + width: number, + height: number + ): void { + // Copy operations don't change binding state + } + + generateMipmap(target: number): void { + // Mipmap generation doesn't change binding state + } + + // Framebuffer methods (attachment doesn't affect binding state) + invalidateFramebuffer(target: number, attachments: number[]): void { + // Invalidation doesn't change binding state + } + + invalidateSubFramebuffer( + target: number, + attachments: number[], + x: number, + y: number, + width: number, + height: number + ): void { + // Invalidation doesn't change binding state + } + + // Renderbuffer storage (doesn't affect binding state) + renderbufferStorage(target: number, internalformat: number, width: number, height: number): void { + // Storage allocation doesn't change binding state + } + + renderbufferStorageMultisample( + target: number, + samples: number, + internalformat: number, + width: number, + height: number + ): void { + // Storage allocation doesn't change binding state + } + + // Sampler methods (WebGL 2.0) + bindSampler(unit: number, sampler: WebGLSampler | null): void { + const samplers = this.state.getSamplersState(); + samplers.samplerBindings[unit] = sampler; + } + + samplerParameteri(sampler: WebGLSampler, pname: number, param: number): void { + // Sampler parameters don't affect binding state + } + + samplerParameterf(sampler: WebGLSampler, pname: number, param: number): void { + // Sampler parameters don't affect binding state + } + + // Query methods (WebGL 2.0) + beginQuery(target: number, query: WebGLQuery): void { + const queries = this.state.getQueriesState(); + switch (target) { + case this.constants.ANY_SAMPLES_PASSED: + queries.currentAnySamplesPassed = query; + break; + case this.constants.ANY_SAMPLES_PASSED_CONSERVATIVE: + queries.currentAnySamplesPassedConservative = query; + break; + case this.constants.TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN: + queries.currentTransformFeedbackPrimitivesWritten = query; + break; + // SAMPLES_PASSED is WebGL 1.0 extension, we track as occlusion query + default: + queries.currentOcclusionQuery = query; + break; + } + } + + endQuery(target: number): void { + const queries = this.state.getQueriesState(); + switch (target) { + case this.constants.ANY_SAMPLES_PASSED: + queries.currentAnySamplesPassed = null; + break; + case this.constants.ANY_SAMPLES_PASSED_CONSERVATIVE: + queries.currentAnySamplesPassedConservative = null; + break; + case this.constants.TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN: + queries.currentTransformFeedbackPrimitivesWritten = null; + break; + default: + queries.currentOcclusionQuery = null; + break; + } + } + + // Generic vertex attribute setters (don't affect binding state) + vertexAttrib1f(index: number, x: number): void { + // Generic vertex attributes don't affect binding state + } + + vertexAttrib2f(index: number, x: number, y: number): void { + // Generic vertex attributes don't affect binding state + } + + vertexAttrib3f(index: number, x: number, y: number, z: number): void { + // Generic vertex attributes don't affect binding state + } + + vertexAttrib4f(index: number, x: number, y: number, z: number, w: number): void { + // Generic vertex attributes don't affect binding state + } + + vertexAttribI4i(index: number, x: number, y: number, z: number, w: number): void { + // Generic vertex attributes don't affect binding state + } + + vertexAttribI4ui(index: number, x: number, y: number, z: number, w: number): void { + // Generic vertex attributes don't affect binding state + } + + vertexAttrib1fv(index: number, values: Float32Array | number[]): void { + // Generic vertex attributes don't affect binding state + } + + vertexAttrib2fv(index: number, values: Float32Array | number[]): void { + // Generic vertex attributes don't affect binding state + } + + vertexAttrib3fv(index: number, values: Float32Array | number[]): void { + // Generic vertex attributes don't affect binding state + } + + vertexAttrib4fv(index: number, values: Float32Array | number[]): void { + // Generic vertex attributes don't affect binding state + } + + vertexAttribI4iv(index: number, values: Int32Array | number[]): void { + // Generic vertex attributes don't affect binding state + } + + vertexAttribI4uiv(index: number, values: Uint32Array | number[]): void { + // Generic vertex attributes don't affect binding state + } + + // Uniform methods (don't affect binding state, only change uniform values) + uniform1f(location: WebGLUniformLocation | null, x: number): void {} + uniform2f(location: WebGLUniformLocation | null, x: number, y: number): void {} + uniform3f(location: WebGLUniformLocation | null, x: number, y: number, z: number): void {} + uniform4f( + location: WebGLUniformLocation | null, + x: number, + y: number, + z: number, + w: number + ): void {} + + uniform1i(location: WebGLUniformLocation | null, x: number): void {} + uniform2i(location: WebGLUniformLocation | null, x: number, y: number): void {} + uniform3i(location: WebGLUniformLocation | null, x: number, y: number, z: number): void {} + uniform4i( + location: WebGLUniformLocation | null, + x: number, + y: number, + z: number, + w: number + ): void {} + + uniform1ui(location: WebGLUniformLocation | null, x: number): void {} + uniform2ui(location: WebGLUniformLocation | null, x: number, y: number): void {} + uniform3ui(location: WebGLUniformLocation | null, x: number, y: number, z: number): void {} + uniform4ui( + location: WebGLUniformLocation | null, + x: number, + y: number, + z: number, + w: number + ): void {} + + uniform1fv( + location: WebGLUniformLocation | null, + data: Float32Array | number[], + srcOffset?: number, + srcLength?: number + ): void {} + uniform2fv( + location: WebGLUniformLocation | null, + data: Float32Array | number[], + srcOffset?: number, + srcLength?: number + ): void {} + uniform3fv( + location: WebGLUniformLocation | null, + data: Float32Array | number[], + srcOffset?: number, + srcLength?: number + ): void {} + uniform4fv( + location: WebGLUniformLocation | null, + data: Float32Array | number[], + srcOffset?: number, + srcLength?: number + ): void {} + + uniform1iv( + location: WebGLUniformLocation | null, + data: Int32Array | number[], + srcOffset?: number, + srcLength?: number + ): void {} + uniform2iv( + location: WebGLUniformLocation | null, + data: Int32Array | number[], + srcOffset?: number, + srcLength?: number + ): void {} + uniform3iv( + location: WebGLUniformLocation | null, + data: Int32Array | number[], + srcOffset?: number, + srcLength?: number + ): void {} + uniform4iv( + location: WebGLUniformLocation | null, + data: Int32Array | number[], + srcOffset?: number, + srcLength?: number + ): void {} + + uniform1uiv( + location: WebGLUniformLocation | null, + data: Uint32Array | number[], + srcOffset?: number, + srcLength?: number + ): void {} + uniform2uiv( + location: WebGLUniformLocation | null, + data: Uint32Array | number[], + srcOffset?: number, + srcLength?: number + ): void {} + uniform3uiv( + location: WebGLUniformLocation | null, + data: Uint32Array | number[], + srcOffset?: number, + srcLength?: number + ): void {} + uniform4uiv( + location: WebGLUniformLocation | null, + data: Uint32Array | number[], + srcOffset?: number, + srcLength?: number + ): void {} + + uniformMatrix2fv( + location: WebGLUniformLocation | null, + transpose: boolean, + data: Float32Array | number[], + srcOffset?: number, + srcLength?: number + ): void {} + uniformMatrix3fv( + location: WebGLUniformLocation | null, + transpose: boolean, + data: Float32Array | number[], + srcOffset?: number, + srcLength?: number + ): void {} + uniformMatrix4fv( + location: WebGLUniformLocation | null, + transpose: boolean, + data: Float32Array | number[], + srcOffset?: number, + srcLength?: number + ): void {} + uniformMatrix2x3fv( + location: WebGLUniformLocation | null, + transpose: boolean, + data: Float32Array | number[], + srcOffset?: number, + srcLength?: number + ): void {} + uniformMatrix3x2fv( + location: WebGLUniformLocation | null, + transpose: boolean, + data: Float32Array | number[], + srcOffset?: number, + srcLength?: number + ): void {} + uniformMatrix2x4fv( + location: WebGLUniformLocation | null, + transpose: boolean, + data: Float32Array | number[], + srcOffset?: number, + srcLength?: number + ): void {} + uniformMatrix4x2fv( + location: WebGLUniformLocation | null, + transpose: boolean, + data: Float32Array | number[], + srcOffset?: number, + srcLength?: number + ): void {} + uniformMatrix3x4fv( + location: WebGLUniformLocation | null, + transpose: boolean, + data: Float32Array | number[], + srcOffset?: number, + srcLength?: number + ): void {} + uniformMatrix4x3fv( + location: WebGLUniformLocation | null, + transpose: boolean, + data: Float32Array | number[], + srcOffset?: number, + srcLength?: number + ): void {} + + // Drawing methods (don't affect state, only render) + clear(mask: number): void {} + drawArrays(mode: number, first: number, count: number): void {} + drawElements(mode: number, count: number, type: number, offset: number): void {} + drawArraysInstanced(mode: number, first: number, count: number, instanceCount: number): void {} + drawElementsInstanced( + mode: number, + count: number, + type: number, + offset: number, + instanceCount: number + ): void {} + drawRangeElements( + mode: number, + start: number, + end: number, + count: number, + type: number, + offset: number + ): void {} + + // Read pixels (doesn't change state) + readPixels(...args: any[]): void {} + + // Blit framebuffer (doesn't change binding state) + blitFramebuffer( + srcX0: number, + srcY0: number, + srcX1: number, + srcY1: number, + dstX0: number, + dstY0: number, + dstX1: number, + dstY1: number, + mask: number, + filter: number + ): void {} + + // Flush/Finish (doesn't change state) + flush(): void {} + finish(): void {} + + // State access methods - returns a clone to prevent external mutation + getState(): WebGLState { + return this.state.clone(); + } + + // Public getters that return state without lazy creation (tests use these) + getBufferState(): WebGLBufferState | undefined { + return this.state.buffers; + } + + getVertexArrayState(): WebGLVertexArrayState | undefined { + return this.state.vertexArrays; + } + + getTextureState(): WebGLTextureState | undefined { + return this.state.textures; + } + + getProgramState(): WebGLProgramState | undefined { + return this.state.programs; + } + + getFramebufferState(): WebGLFramebufferState | undefined { + return this.state.framebuffers; + } + + getCapabilityState(): WebGLCapabilityState | undefined { + return this.state.capabilities; + } + + getSamplerState(): WebGLSamplerState | undefined { + return this.state.samplers; + } + + getQueryState(): WebGLQueryState | undefined { + return this.state.queries; + } + + getStencilState(): WebGLStencilState | undefined { + return this.state.stencil; + } + + getPixelStoreState(): WebGLPixelStoreState | undefined { + return this.state.pixelStore; + } + + getTransformFeedbackState(): WebGLTransformFeedbackState | undefined { + return this.state.transformFeedback; + } + + // Reset state to defaults (clears all lazily created state) + reset(): void { + this.state = new WebGLState(); + } +} diff --git a/deps/cloudxr/helpers/WebGLStateApply.ts b/deps/cloudxr/helpers/WebGLStateApply.ts new file mode 100644 index 0000000..f2326ce --- /dev/null +++ b/deps/cloudxr/helpers/WebGLStateApply.ts @@ -0,0 +1,1220 @@ +import { + WebGLState, + WebGLBufferState, + WebGLTextureState, + WebGLTextureUnitState, + WebGLProgramState, + WebGLFramebufferState, + WebGLVertexArrayState, + WebGLVertexAttribState, + WebGLCapabilityState, + WebGLViewportState, + WebGLClearState, + WebGLBlendState, + WebGLDepthState, + WebGLStencilState, + WebGLColorState, + WebGLCullingState, + WebGLLineState, + WebGLPolygonOffsetState, + WebGLSampleState, + WebGLPixelStoreState, + WebGLTransformFeedbackState, + WebGLRenderbufferState, + WebGLSamplerState, + WebGLQueryState, + WebGLIndexedBufferBinding, + GL_MAX_VERTEX_ATTRIBS, + GL_MAX_UNIFORM_BUFFER_BINDINGS, + GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS, + GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS, + GL_MAX_COLOR_ATTACHMENTS, + GLUndefined, + isDefined, +} from './WebGLState'; + +/** + * Global flag to enable WebGL error checking after each state operation. + * Set to true for debugging to catch GL errors immediately after they occur. + * Default: false + */ +export let CHECK_ERRORS = false; + +/** + * Helper function to check if a property is defined on a state object, + * handling the case where the state object itself might be undefined + */ +function isPropertyDefined(state: T | undefined, prop: keyof T): boolean { + return state !== undefined && isDefined((state as any)[prop]); +} + +/** + * Helper function to determine if state should be applied based on saved vs current state. + * Returns true if the states differ or if one is undefined and the other is not. + * + * @param saved - The saved/desired state (may be undefined to reset to defaults) + * @param current - The current state (may be undefined if not tracked) + * @returns true if the state should be applied, false if no change needed + */ +function shouldApplyState( + saved: T | undefined, + current: T | undefined +): boolean { + // Both undefined - no change needed + if (saved === undefined && current === undefined) { + return false; + } + + // One is undefined and the other isn't - need to apply/reset + if (saved === undefined || current === undefined) { + return true; + } + + // Both defined - check if they're different using equals() + return !saved.equals(current); +} + +/** + * Helper function to check and log WebGL errors after state application + * @param gl - The WebGL2RenderingContext to check + * @param stepName - Name of the state application step for logging + */ +function checkGLError(gl: WebGL2RenderingContext, stepName: string): void { + if (!CHECK_ERRORS) return; + + const error = gl.getError(); + if (error !== gl.NO_ERROR) { + const errorName = getGLErrorName(gl, error); + const message = `[WebGLStateApply] GL error after ${stepName}: ${errorName} (0x${error.toString(16)})`; + + throw new Error(message); + } +} + +/** + * Get human-readable name for a WebGL error code + */ +function getGLErrorName(gl: WebGL2RenderingContext, error: number): string { + switch (error) { + case gl.INVALID_ENUM: + return 'INVALID_ENUM'; + case gl.INVALID_VALUE: + return 'INVALID_VALUE'; + case gl.INVALID_OPERATION: + return 'INVALID_OPERATION'; + case gl.INVALID_FRAMEBUFFER_OPERATION: + return 'INVALID_FRAMEBUFFER_OPERATION'; + case gl.OUT_OF_MEMORY: + return 'OUT_OF_MEMORY'; + case gl.CONTEXT_LOST_WEBGL: + return 'CONTEXT_LOST_WEBGL'; + default: + return 'UNKNOWN_ERROR'; + } +} + +/** + * Apply all defined state from a WebGLState object to a WebGL context + * @param gl - The WebGL2RenderingContext to apply state to + * @param state - The WebGLState object containing tracked state + * @param current - The current WebGLState for comparison + */ +export function apply(gl: WebGL2RenderingContext, state: WebGLState, current: WebGLState): void { + // Apply state in a specific order to handle dependencies + + // 2. Vertex Array Object binding (this may temporarily change ARRAY_BUFFER) + if (shouldApplyState(state.vertexArrays, current.vertexArrays)) { + applyVertexArrayState(gl, state.vertexArrays, current.vertexArrays); + checkGLError(gl, 'vertex array state'); + } + + // 1. Buffer bindings (needed before VAO state) + if (shouldApplyState(state.buffers, current.buffers)) { + applyBufferState(gl, state.buffers, current.buffers, state.validBuffers); + checkGLError(gl, 'buffer state'); + } + + // 4. Texture bindings + if (shouldApplyState(state.textures, current.textures)) { + applyTextureState(gl, state.textures, current.textures); + checkGLError(gl, 'texture state'); + } + + // 5. Sampler bindings + if (shouldApplyState(state.samplers, current.samplers)) { + applySamplerState(gl, state.samplers, current.samplers); + checkGLError(gl, 'sampler state'); + } + + // 6. Program binding + if (shouldApplyState(state.programs, current.programs)) { + applyProgramState(gl, state.programs, current.programs); + checkGLError(gl, 'program state'); + } + + // 7. Framebuffer bindings and attachments + if (shouldApplyState(state.framebuffers, current.framebuffers)) { + applyFramebufferState(gl, state.framebuffers, current.framebuffers); + checkGLError(gl, 'framebuffer state'); + } + + // 8. Renderbuffer binding + if (shouldApplyState(state.renderbuffer, current.renderbuffer)) { + applyRenderbufferState(gl, state.renderbuffer, current.renderbuffer); + checkGLError(gl, 'renderbuffer state'); + } + + // 9. Transform feedback + if (shouldApplyState(state.transformFeedback, current.transformFeedback)) { + applyTransformFeedbackState(gl, state.transformFeedback, current.transformFeedback); + checkGLError(gl, 'transform feedback state'); + } + + // 10. Viewport and scissor + if (shouldApplyState(state.viewport, current.viewport)) { + applyViewportState(gl, state.viewport, current.viewport); + checkGLError(gl, 'viewport state'); + } + + // 11. Capabilities (enable/disable) + if (shouldApplyState(state.capabilities, current.capabilities)) { + applyCapabilityState(gl, state.capabilities, current.capabilities); + checkGLError(gl, 'capability state'); + } + + // 12. Clear values + if (shouldApplyState(state.clear, current.clear)) { + applyClearState(gl, state.clear, current.clear); + checkGLError(gl, 'clear state'); + } + + // 13. Blend state + if (shouldApplyState(state.blend, current.blend)) { + applyBlendState(gl, state.blend, current.blend); + checkGLError(gl, 'blend state'); + } + + // 14. Depth state + if (shouldApplyState(state.depth, current.depth)) { + applyDepthState(gl, state.depth, current.depth); + checkGLError(gl, 'depth state'); + } + + // 15. Stencil state + if (shouldApplyState(state.stencil, current.stencil)) { + applyStencilState(gl, state.stencil, current.stencil); + checkGLError(gl, 'stencil state'); + } + + // 16. Color write mask + if (shouldApplyState(state.color, current.color)) { + applyColorState(gl, state.color, current.color); + checkGLError(gl, 'color state'); + } + + // 17. Culling state + if (shouldApplyState(state.culling, current.culling)) { + applyCullingState(gl, state.culling, current.culling); + checkGLError(gl, 'culling state'); + } + + // 18. Line width + if (shouldApplyState(state.line, current.line)) { + applyLineState(gl, state.line, current.line); + checkGLError(gl, 'line state'); + } + + // 19. Polygon offset + if (shouldApplyState(state.polygonOffset, current.polygonOffset)) { + applyPolygonOffsetState(gl, state.polygonOffset, current.polygonOffset); + checkGLError(gl, 'polygon offset state'); + } + + // 20. Sample coverage + if (shouldApplyState(state.sample, current.sample)) { + applySampleState(gl, state.sample, current.sample); + checkGLError(gl, 'sample state'); + } + + // 21. Pixel store parameters + if (shouldApplyState(state.pixelStore, current.pixelStore)) { + applyPixelStoreState(gl, state.pixelStore, current.pixelStore); + checkGLError(gl, 'pixel store state'); + } + + // 22. Query objects + if (state.queries && (!current.queries || !state.queries.equals(current.queries))) { + applyQueryState(gl, state.queries); + checkGLError(gl, 'query state'); + } +} + +/** + * Apply buffer binding state + */ +function applyBufferState( + gl: WebGL2RenderingContext, + buffers: WebGLBufferState | undefined, + current: WebGLBufferState | undefined, + validBuffers: Set +): void { + // Helper to validate a buffer + const validateBuffer = (buffer: WebGLBuffer | null, bufferName: string): boolean => { + if (!buffer) return true; + + if (!validBuffers.has(buffer)) { + console.warn( + `[WebGLStateApply] Cannot bind ${bufferName}: buffer has been deleted. Skipping.` + ); + return false; + } + return true; + }; + + if (isPropertyDefined(buffers, 'arrayBuffer')) { + if (validateBuffer(buffers!.arrayBuffer, 'ARRAY_BUFFER')) { + gl.bindBuffer(gl.ARRAY_BUFFER, buffers!.arrayBuffer); + } + } else if (isDefined(current?.arrayBuffer)) { + gl.bindBuffer(gl.ARRAY_BUFFER, null); + } + + // NOTE: ELEMENT_ARRAY_BUFFER is NOT restored here! + // Per OpenGL ES 3.0 spec section 2.10, ELEMENT_ARRAY_BUFFER binding is per-VAO state. + // It is automatically restored when binding the VAO in applyVertexArrayState() above. + + if (isPropertyDefined(buffers, 'uniformBuffer')) { + if (validateBuffer(buffers!.uniformBuffer, 'UNIFORM_BUFFER')) { + gl.bindBuffer(gl.UNIFORM_BUFFER, buffers!.uniformBuffer); + } + } else if (isDefined(current?.uniformBuffer)) { + gl.bindBuffer(gl.UNIFORM_BUFFER, null); + } + + if (isPropertyDefined(buffers, 'transformFeedbackBuffer')) { + if (validateBuffer(buffers!.transformFeedbackBuffer, 'TRANSFORM_FEEDBACK_BUFFER')) { + gl.bindBuffer(gl.TRANSFORM_FEEDBACK_BUFFER, buffers!.transformFeedbackBuffer); + } + } else if (isDefined(current?.transformFeedbackBuffer)) { + gl.bindBuffer(gl.TRANSFORM_FEEDBACK_BUFFER, null); + } + + if (isPropertyDefined(buffers, 'pixelPackBuffer')) { + if (validateBuffer(buffers!.pixelPackBuffer, 'PIXEL_PACK_BUFFER')) { + gl.bindBuffer(gl.PIXEL_PACK_BUFFER, buffers!.pixelPackBuffer); + } + } else if (isDefined(current?.pixelPackBuffer)) { + gl.bindBuffer(gl.PIXEL_PACK_BUFFER, null); + } + + if (isPropertyDefined(buffers, 'pixelUnpackBuffer')) { + if (validateBuffer(buffers!.pixelUnpackBuffer, 'PIXEL_UNPACK_BUFFER')) { + gl.bindBuffer(gl.PIXEL_UNPACK_BUFFER, buffers!.pixelUnpackBuffer); + } + } else if (isDefined(current?.pixelUnpackBuffer)) { + gl.bindBuffer(gl.PIXEL_UNPACK_BUFFER, null); + } + + if (isPropertyDefined(buffers, 'copyReadBuffer')) { + if (validateBuffer(buffers!.copyReadBuffer, 'COPY_READ_BUFFER')) { + gl.bindBuffer(gl.COPY_READ_BUFFER, buffers!.copyReadBuffer); + } + } else if (isDefined(current?.copyReadBuffer)) { + gl.bindBuffer(gl.COPY_READ_BUFFER, null); + } + + if (isPropertyDefined(buffers, 'copyWriteBuffer')) { + if (validateBuffer(buffers!.copyWriteBuffer, 'COPY_WRITE_BUFFER')) { + gl.bindBuffer(gl.COPY_WRITE_BUFFER, buffers!.copyWriteBuffer); + } + } else if (isDefined(current?.copyWriteBuffer)) { + gl.bindBuffer(gl.COPY_WRITE_BUFFER, null); + } + + // Apply indexed buffer bindings + if (buffers?.uniformBufferBindings) { + for (let index = 0; index < GL_MAX_UNIFORM_BUFFER_BINDINGS; index++) { + const bindingOrUndefined = buffers.uniformBufferBindings.get(index); + if (!isDefined(bindingOrUndefined)) { + continue; + } + + const binding = bindingOrUndefined as WebGLIndexedBufferBinding; + if (isDefined(binding.buffer)) { + // Validate buffer exists + if (!validateBuffer(binding.buffer, `UNIFORM_BUFFER at index ${index}`)) { + continue; + } + + const size = binding.size as number; + const offset = binding.offset as number; + + // Per WebGLState.ts bindBufferBase logic: size=0 means entire buffer (bindBufferBase) + // size>0 means specific range (bindBufferRange) + if (size === 0) { + // bindBufferBase was used originally + gl.bindBufferBase(gl.UNIFORM_BUFFER, index, binding.buffer); + } else { + // bindBufferRange was used originally + gl.bindBufferRange(gl.UNIFORM_BUFFER, index, binding.buffer, offset, size); + } + } + } + } + + if (buffers?.transformFeedbackBufferBindings) { + for (let index = 0; index < GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS; index++) { + const bindingOrUndefined = buffers.transformFeedbackBufferBindings.get(index); + if (!isDefined(bindingOrUndefined)) { + continue; + } + + const binding = bindingOrUndefined as WebGLIndexedBufferBinding; + if (isDefined(binding.buffer)) { + // Validate buffer exists + if (!validateBuffer(binding.buffer, `TRANSFORM_FEEDBACK_BUFFER at index ${index}`)) { + continue; + } + + const size = binding.size as number; + const offset = binding.offset as number; + + // Per WebGLState.ts bindBufferBase logic: size=0 means entire buffer (bindBufferBase) + // size>0 means specific range (bindBufferRange) + if (size === 0) { + // bindBufferBase was used originally + gl.bindBufferBase(gl.TRANSFORM_FEEDBACK_BUFFER, index, binding.buffer); + } else { + // bindBufferRange was used originally + gl.bindBufferRange(gl.TRANSFORM_FEEDBACK_BUFFER, index, binding.buffer, offset, size); + } + } + } + } +} + +/** + * Apply vertex array object state + */ +function applyVertexArrayState( + gl: WebGL2RenderingContext, + vertexArrays: WebGLVertexArrayState | undefined, + current?: WebGLVertexArrayState +): void { + // TODO: Currently only restores GL state for the currently bound VAO. + // This means if you have multiple VAOs configured, save state, switch VAOs, + // and restore, the non-current VAO states will not be restored in the tracker. + // To fix this, we would need to: + // 1. Copy all VAO states from saved state to current tracker's vaoStates Map + // 2. Ensure this doesn't break existing behavior or cause performance issues + // 3. Handle edge cases where VAOs are deleted between save and restore + + // Bind the VAO + if (isPropertyDefined(vertexArrays, 'vertexArrayObject')) { + const vaoToBind = vertexArrays!.vertexArrayObject; + + // Check if the VAO was deleted between save and restore + // Since bindVertexArray now ensures all bound VAOs have vaoStates entries, + // if the VAO is missing from current.vaoStates, it means it was deleted + if (vaoToBind !== null && current && !current.vaoStates.has(vaoToBind)) { + console.warn( + '[WebGLStateApply] Cannot restore VAO state: the saved VAO has been deleted. ' + + 'Binding will revert to default VAO (null).' + ); + gl.bindVertexArray(null); + return; + } + + gl.bindVertexArray(vaoToBind); + } else if (isDefined(current?.vertexArrayObject)) { + gl.bindVertexArray(null); + } + + // Restore per-VAO state for the currently bound VAO + // Per OpenGL ES 3.0 spec section 2.10: ELEMENT_ARRAY_BUFFER and vertex attributes are per-VAO state + const vao = + vertexArrays?.vertexArrayObject === GLUndefined ? null : vertexArrays?.vertexArrayObject; + const vaoState = vertexArrays?.vaoStates.get(vao!); + + if (vaoState) { + // Restore ELEMENT_ARRAY_BUFFER binding for this VAO + if (isPropertyDefined(vaoState, 'elementArrayBuffer')) { + gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, vaoState.elementArrayBuffer); + } + + // Restore vertex attribute state + if (vaoState.attributes) { + // Iterate through all possible vertex attribute indices + for (let idx = 0; idx < GL_MAX_VERTEX_ATTRIBS; idx++) { + const attribOrUndefined = vaoState.attributes.get(idx); + + // Skip undefined attributes (never been set) + if (!isDefined(attribOrUndefined)) { + continue; + } + + const attrib = attribOrUndefined as WebGLVertexAttribState; + + // Check if we have a complete vertex attribute configuration + const hasCompleteConfig = + isDefined(attrib.size) && + isDefined(attrib.type) && + isDefined(attrib.stride) && + isDefined(attrib.offset); + + // Only restore this attribute if we have complete configuration OR if we're explicitly disabling it + const shouldRestore = hasCompleteConfig || (isDefined(attrib.enabled) && !attrib.enabled); + + if (!shouldRestore) { + // Skip this attribute - incomplete configuration and not explicitly disabled + continue; + } + + // Bind the buffer that was associated with this attribute if defined + if (isDefined(attrib.buffer)) { + gl.bindBuffer(gl.ARRAY_BUFFER, attrib.buffer); + } + + // Restore vertexAttribPointer configuration if all required parameters are defined + if (hasCompleteConfig) { + // Restore the vertex attribute pointer + if (isDefined(attrib.normalized)) { + gl.vertexAttribPointer( + idx, + attrib.size as number, + attrib.type as number, + attrib.normalized as boolean, + attrib.stride as number, + attrib.offset as number + ); + } else { + // For vertexAttribIPointer (integer attributes) + gl.vertexAttribIPointer( + idx, + attrib.size as number, + attrib.type as number, + attrib.stride as number, + attrib.offset as number + ); + } + } + + // Handle enable/disable state + if (isDefined(attrib.enabled)) { + if (attrib.enabled) { + // Only enable if we have complete configuration + if (hasCompleteConfig) { + gl.enableVertexAttribArray(idx); + } + } else { + // Always allow disabling, even without complete configuration + gl.disableVertexAttribArray(idx); + } + } + + if (isDefined(attrib.divisor)) { + gl.vertexAttribDivisor(idx, attrib.divisor as number); + } + } + } // end if (vaoState.attributes) + } // end if (vaoState) +} + +/** + * Apply texture binding state + */ +function applyTextureState( + gl: WebGL2RenderingContext, + textures: WebGLTextureState | undefined, + current?: WebGLTextureState +): void { + // Set active texture unit first + if (isPropertyDefined(textures, 'activeTexture')) { + gl.activeTexture(textures!.activeTexture as number); + } else if (isDefined(current?.activeTexture)) { + gl.activeTexture(gl.TEXTURE0); + } + + // Bind textures to their respective units + if (textures?.textureUnits) { + for (let unitIndex = 0; unitIndex < GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS; unitIndex++) { + const unitKey = `TEXTURE${unitIndex}`; + const unitStateOrUndefined = textures.textureUnits.get(unitKey); + + if (!isDefined(unitStateOrUndefined)) { + continue; + } + + const unitState = unitStateOrUndefined as WebGLTextureUnitState; + + gl.activeTexture(gl.TEXTURE0 + unitIndex); + + if (isDefined(unitState.texture2D)) { + gl.bindTexture(gl.TEXTURE_2D, unitState.texture2D); + } + if (isDefined(unitState.textureCubeMap)) { + gl.bindTexture(gl.TEXTURE_CUBE_MAP, unitState.textureCubeMap); + } + if (isDefined(unitState.texture3D)) { + gl.bindTexture(gl.TEXTURE_3D, unitState.texture3D); + } + if (isDefined(unitState.texture2DArray)) { + gl.bindTexture(gl.TEXTURE_2D_ARRAY, unitState.texture2DArray); + } + } + + // Restore the active texture unit + if (isPropertyDefined(textures, 'activeTexture')) { + gl.activeTexture(textures!.activeTexture as number); + } + } +} + +/** + * Apply sampler binding state + */ +function applySamplerState( + gl: WebGL2RenderingContext, + samplers: WebGLSamplerState | undefined, + current?: WebGLSamplerState +): void { + if (samplers?.samplerBindings) { + for (let unit = 0; unit < GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS; unit++) { + const sampler = samplers.samplerBindings[unit]; + if (isDefined(sampler)) { + gl.bindSampler(unit, sampler); + } + } + } else if (current?.samplerBindings) { + // Reset all sampler bindings to null + for (let unit = 0; unit < GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS; unit++) { + if (isDefined(current.samplerBindings[unit])) { + gl.bindSampler(unit, null); + } + } + } +} + +/** + * Apply program binding state + */ +function applyProgramState( + gl: WebGL2RenderingContext, + programs: WebGLProgramState | undefined, + current?: WebGLProgramState +): void { + if (isPropertyDefined(programs, 'currentProgram')) { + gl.useProgram(programs!.currentProgram); + } else if (isDefined(current?.currentProgram)) { + gl.useProgram(null); + } +} + +/** + * Apply framebuffer binding and attachment state + */ +function applyFramebufferState( + gl: WebGL2RenderingContext, + framebuffers: WebGLFramebufferState | undefined, + current?: WebGLFramebufferState +): void { + // Bind framebuffers first + if (isPropertyDefined(framebuffers, 'framebuffer')) { + gl.bindFramebuffer(gl.FRAMEBUFFER, framebuffers!.framebuffer); + } else if (isDefined(current?.framebuffer)) { + gl.bindFramebuffer(gl.FRAMEBUFFER, null); + } + + if (isPropertyDefined(framebuffers, 'drawFramebuffer')) { + gl.bindFramebuffer(gl.DRAW_FRAMEBUFFER, framebuffers!.drawFramebuffer); + } else if (isDefined(current?.drawFramebuffer)) { + gl.bindFramebuffer(gl.DRAW_FRAMEBUFFER, null); + } + + if (isPropertyDefined(framebuffers, 'readFramebuffer')) { + gl.bindFramebuffer(gl.READ_FRAMEBUFFER, framebuffers!.readFramebuffer); + } else if (isDefined(current?.readFramebuffer)) { + gl.bindFramebuffer(gl.READ_FRAMEBUFFER, null); + } + + // Apply default framebuffer state (only drawBuffers and readBuffer) + // NOTE: We do NOT apply attachments to the default framebuffer (null) because: + // 1. The default framebuffer is provided by the canvas/context + // 2. You cannot call framebufferTexture2D/framebufferRenderbuffer on the default framebuffer + // 3. Attempting to do so results in INVALID_OPERATION errors + const isDefaultDrawFB = framebuffers?.drawFramebuffer === null; + const hasDefaultFBState = framebuffers?.defaultFramebufferState; + + // Only apply drawBuffers and readBuffer for default framebuffer + if (isDefaultDrawFB && hasDefaultFBState) { + const fbState = framebuffers!.defaultFramebufferState; + + // Apply draw buffers (this IS valid for default framebuffer) + if (isDefined(fbState.drawBuffers)) { + gl.drawBuffers(fbState.drawBuffers as number[]); + } + + // Apply read buffer (this IS valid for default framebuffer) + if (isDefined(fbState.readBuffer)) { + gl.readBuffer(fbState.readBuffer as number); + } + } +} + +/** + * Apply renderbuffer binding state + */ +function applyRenderbufferState( + gl: WebGL2RenderingContext, + renderbuffer: WebGLRenderbufferState | undefined, + current?: WebGLRenderbufferState +): void { + if (isPropertyDefined(renderbuffer, 'renderbuffer')) { + gl.bindRenderbuffer(gl.RENDERBUFFER, renderbuffer!.renderbuffer); + } else if (isDefined(current?.renderbuffer)) { + gl.bindRenderbuffer(gl.RENDERBUFFER, null); + } +} + +/** + * Apply transform feedback state + */ +function applyTransformFeedbackState( + gl: WebGL2RenderingContext, + transformFeedback: WebGLTransformFeedbackState | undefined, + current?: WebGLTransformFeedbackState +): void { + if (isPropertyDefined(transformFeedback, 'transformFeedback')) { + gl.bindTransformFeedback(gl.TRANSFORM_FEEDBACK, transformFeedback!.transformFeedback); + } else if (isDefined(current?.transformFeedback)) { + gl.bindTransformFeedback(gl.TRANSFORM_FEEDBACK, null); + } + + if ( + isPropertyDefined(transformFeedback, 'transformFeedbackActive') && + transformFeedback!.transformFeedbackActive + ) { + // Note: beginTransformFeedback requires a primitive mode parameter + // which isn't tracked, so this is a simplified version + // gl.beginTransformFeedback(primitiveMode); + } + + if ( + isPropertyDefined(transformFeedback, 'transformFeedbackPaused') && + transformFeedback!.transformFeedbackPaused + ) { + gl.pauseTransformFeedback(); + } +} + +/** + * Apply viewport and scissor state + */ +function applyViewportState( + gl: WebGL2RenderingContext, + viewport: WebGLViewportState | undefined, + current?: WebGLViewportState +): void { + // Viewport - default: typically [0, 0, canvas.width, canvas.height] + if (isPropertyDefined(viewport, 'viewport')) { + const vp = viewport!.viewport as Int32Array; + gl.viewport(vp[0], vp[1], vp[2], vp[3]); + } else if (isDefined(current?.viewport)) { + // Reset to canvas dimensions + const canvas = gl.canvas; + gl.viewport(0, 0, canvas.width, canvas.height); + } + + // Scissor box - default: typically [0, 0, canvas.width, canvas.height] + if (isPropertyDefined(viewport, 'scissorBox')) { + const scissor = viewport!.scissorBox as Int32Array; + gl.scissor(scissor[0], scissor[1], scissor[2], scissor[3]); + } else if (isDefined(current?.scissorBox)) { + // Reset to canvas dimensions + const canvas = gl.canvas; + gl.scissor(0, 0, canvas.width, canvas.height); + } +} + +/** + * Apply capability enable/disable state + * @param gl - The WebGL2RenderingContext + * @param capabilities - The desired capability state (undefined resets all to defaults) + * @param currentCapabilities - Optional current capability state. If provided and a capability + * is currently enabled (true) but not defined in capabilities, + * it will be explicitly disabled. + */ +function applyCapabilityState( + gl: WebGL2RenderingContext, + capabilities: WebGLCapabilityState | undefined, + currentCapabilities?: WebGLCapabilityState +): void { + // Helper to apply a capability state + const applyCapability = (cap: keyof WebGLCapabilityState, glEnum: number) => { + const desired = capabilities?.[cap]; + const current = currentCapabilities?.[cap]; + + if (isDefined(desired)) { + // If desired state is defined, apply it + desired ? gl.enable(glEnum) : gl.disable(glEnum); + } else if (isDefined(current) && current === true) { + // If desired state is undefined but current is enabled, disable it + gl.disable(glEnum); + } + }; + + applyCapability('blend', gl.BLEND); + applyCapability('cullFace', gl.CULL_FACE); + applyCapability('depthTest', gl.DEPTH_TEST); + applyCapability('dither', gl.DITHER); + applyCapability('polygonOffsetFill', gl.POLYGON_OFFSET_FILL); + applyCapability('sampleAlphaToCoverage', gl.SAMPLE_ALPHA_TO_COVERAGE); + applyCapability('sampleCoverage', gl.SAMPLE_COVERAGE); + applyCapability('scissorTest', gl.SCISSOR_TEST); + applyCapability('stencilTest', gl.STENCIL_TEST); + applyCapability('rasterDiscard', gl.RASTERIZER_DISCARD); +} + +/** + * Apply clear value state + */ +function applyClearState( + gl: WebGL2RenderingContext, + clear: WebGLClearState | undefined, + current?: WebGLClearState +): void { + // ColorClearValue - default: [0, 0, 0, 0] + if (isPropertyDefined(clear, 'colorClearValue')) { + const color = clear!.colorClearValue as Float32Array; + gl.clearColor(color[0], color[1], color[2], color[3]); + } else if (isDefined(current?.colorClearValue)) { + gl.clearColor(0, 0, 0, 0); + } + + // DepthClearValue - default: 1 + if (isPropertyDefined(clear, 'depthClearValue')) { + gl.clearDepth(clear!.depthClearValue as number); + } else if (isDefined(current?.depthClearValue)) { + gl.clearDepth(1); + } + + // StencilClearValue - default: 0 + if (isPropertyDefined(clear, 'stencilClearValue')) { + gl.clearStencil(clear!.stencilClearValue as number); + } else if (isDefined(current?.stencilClearValue)) { + gl.clearStencil(0); + } +} + +/** + * Apply blend state + */ +function applyBlendState( + gl: WebGL2RenderingContext, + blend: WebGLBlendState | undefined, + current?: WebGLBlendState +): void { + // BlendColor - default: [0, 0, 0, 0] + if (isPropertyDefined(blend, 'blendColor')) { + const color = blend!.blendColor as Float32Array; + gl.blendColor(color[0], color[1], color[2], color[3]); + } else if (isDefined(current?.blendColor)) { + gl.blendColor(0, 0, 0, 0); + } + + // BlendEquation - default: FUNC_ADD for both RGB and Alpha + if ( + isPropertyDefined(blend, 'blendEquationRgb') && + isPropertyDefined(blend, 'blendEquationAlpha') + ) { + gl.blendEquationSeparate( + blend!.blendEquationRgb as number, + blend!.blendEquationAlpha as number + ); + } else if (isDefined(current?.blendEquationRgb) && isDefined(current?.blendEquationAlpha)) { + gl.blendEquationSeparate(gl.FUNC_ADD, gl.FUNC_ADD); + } + + // BlendFunc - default: src=ONE, dst=ZERO for both RGB and Alpha + if ( + isPropertyDefined(blend, 'blendSrcRgb') && + isPropertyDefined(blend, 'blendDstRgb') && + isPropertyDefined(blend, 'blendSrcAlpha') && + isPropertyDefined(blend, 'blendDstAlpha') + ) { + gl.blendFuncSeparate( + blend!.blendSrcRgb as number, + blend!.blendDstRgb as number, + blend!.blendSrcAlpha as number, + blend!.blendDstAlpha as number + ); + } else if ( + isDefined(current?.blendSrcRgb) && + isDefined(current?.blendDstRgb) && + isDefined(current?.blendSrcAlpha) && + isDefined(current?.blendDstAlpha) + ) { + gl.blendFuncSeparate(gl.ONE, gl.ZERO, gl.ONE, gl.ZERO); + } +} + +/** + * Apply depth state + */ +function applyDepthState( + gl: WebGL2RenderingContext, + depth: WebGLDepthState | undefined, + current?: WebGLDepthState +): void { + // DepthFunc - default: LESS + if (isPropertyDefined(depth, 'depthFunc')) { + gl.depthFunc(depth!.depthFunc as number); + } else if (isDefined(current?.depthFunc)) { + gl.depthFunc(gl.LESS); + } + + // DepthWritemask - default: true + if (isPropertyDefined(depth, 'depthWritemask')) { + gl.depthMask(depth!.depthWritemask as boolean); + } else if (isDefined(current?.depthWritemask)) { + gl.depthMask(true); + } + + // DepthRange - default: [0, 1] + if (isPropertyDefined(depth, 'depthRange')) { + const range = depth!.depthRange as Float32Array; + gl.depthRange(range[0], range[1]); + } else if (isDefined(current?.depthRange)) { + gl.depthRange(0, 1); + } +} + +/** + * Apply stencil state + */ +function applyStencilState( + gl: WebGL2RenderingContext, + stencil: WebGLStencilState | undefined, + current?: WebGLStencilState +): void { + // Front face stencil func - default: ALWAYS, ref=0, mask=0xFFFFFFFF + if ( + isPropertyDefined(stencil, 'stencilFunc') && + isPropertyDefined(stencil, 'stencilRef') && + isPropertyDefined(stencil, 'stencilValueMask') + ) { + gl.stencilFuncSeparate( + gl.FRONT, + stencil!.stencilFunc as number, + stencil!.stencilRef as number, + stencil!.stencilValueMask as number + ); + } else if ( + isDefined(current?.stencilFunc) && + isDefined(current?.stencilRef) && + isDefined(current?.stencilValueMask) + ) { + gl.stencilFuncSeparate(gl.FRONT, gl.ALWAYS, 0, 0xffffffff); + } + + // Front face stencil writemask - default: 0xFFFFFFFF + if (isPropertyDefined(stencil, 'stencilWritemask')) { + gl.stencilMaskSeparate(gl.FRONT, stencil!.stencilWritemask as number); + } else if (isDefined(current?.stencilWritemask)) { + gl.stencilMaskSeparate(gl.FRONT, 0xffffffff); + } + + // Front face stencil operations - default: KEEP for all + if ( + isPropertyDefined(stencil, 'stencilFail') && + isPropertyDefined(stencil, 'stencilPassDepthFail') && + isPropertyDefined(stencil, 'stencilPassDepthPass') + ) { + gl.stencilOpSeparate( + gl.FRONT, + stencil!.stencilFail as number, + stencil!.stencilPassDepthFail as number, + stencil!.stencilPassDepthPass as number + ); + } else if ( + isDefined(current?.stencilFail) && + isDefined(current?.stencilPassDepthFail) && + isDefined(current?.stencilPassDepthPass) + ) { + gl.stencilOpSeparate(gl.FRONT, gl.KEEP, gl.KEEP, gl.KEEP); + } + + // Back face stencil func - default: ALWAYS, ref=0, mask=0xFFFFFFFF + if ( + isPropertyDefined(stencil, 'stencilBackFunc') && + isPropertyDefined(stencil, 'stencilBackRef') && + isPropertyDefined(stencil, 'stencilBackValueMask') + ) { + gl.stencilFuncSeparate( + gl.BACK, + stencil!.stencilBackFunc as number, + stencil!.stencilBackRef as number, + stencil!.stencilBackValueMask as number + ); + } else if ( + isDefined(current?.stencilBackFunc) && + isDefined(current?.stencilBackRef) && + isDefined(current?.stencilBackValueMask) + ) { + gl.stencilFuncSeparate(gl.BACK, gl.ALWAYS, 0, 0xffffffff); + } + + // Back face stencil writemask - default: 0xFFFFFFFF + if (isPropertyDefined(stencil, 'stencilBackWritemask')) { + gl.stencilMaskSeparate(gl.BACK, stencil!.stencilBackWritemask as number); + } else if (isDefined(current?.stencilBackWritemask)) { + gl.stencilMaskSeparate(gl.BACK, 0xffffffff); + } + + // Back face stencil operations - default: KEEP for all + if ( + isPropertyDefined(stencil, 'stencilBackFail') && + isPropertyDefined(stencil, 'stencilBackPassDepthFail') && + isPropertyDefined(stencil, 'stencilBackPassDepthPass') + ) { + gl.stencilOpSeparate( + gl.BACK, + stencil!.stencilBackFail as number, + stencil!.stencilBackPassDepthFail as number, + stencil!.stencilBackPassDepthPass as number + ); + } else if ( + isDefined(current?.stencilBackFail) && + isDefined(current?.stencilBackPassDepthFail) && + isDefined(current?.stencilBackPassDepthPass) + ) { + gl.stencilOpSeparate(gl.BACK, gl.KEEP, gl.KEEP, gl.KEEP); + } +} + +/** + * Apply color write mask state + */ +function applyColorState( + gl: WebGL2RenderingContext, + color: WebGLColorState | undefined, + current?: WebGLColorState +): void { + // ColorWritemask - default: [true, true, true, true] + if (isPropertyDefined(color, 'colorWritemask')) { + const mask = color!.colorWritemask as boolean[]; + gl.colorMask(mask[0], mask[1], mask[2], mask[3]); + } else if (isDefined(current?.colorWritemask)) { + gl.colorMask(true, true, true, true); + } +} + +/** + * Apply culling state + */ +function applyCullingState( + gl: WebGL2RenderingContext, + culling: WebGLCullingState | undefined, + current?: WebGLCullingState +): void { + // CullFaceMode - default: BACK + if (isPropertyDefined(culling, 'cullFaceMode')) { + gl.cullFace(culling!.cullFaceMode as number); + } else if (isDefined(current?.cullFaceMode)) { + gl.cullFace(gl.BACK); + } + + // FrontFace - default: CCW (counter-clockwise) + if (isPropertyDefined(culling, 'frontFace')) { + gl.frontFace(culling!.frontFace as number); + } else if (isDefined(current?.frontFace)) { + gl.frontFace(gl.CCW); + } +} + +/** + * Apply line width state + */ +function applyLineState( + gl: WebGL2RenderingContext, + line: WebGLLineState | undefined, + current?: WebGLLineState +): void { + // LineWidth - default: 1 + if (isPropertyDefined(line, 'lineWidth')) { + gl.lineWidth(line!.lineWidth as number); + } else if (isDefined(current?.lineWidth)) { + gl.lineWidth(1); + } +} + +/** + * Apply polygon offset state + */ +function applyPolygonOffsetState( + gl: WebGL2RenderingContext, + polygonOffset: WebGLPolygonOffsetState | undefined, + current?: WebGLPolygonOffsetState +): void { + // PolygonOffset - default: factor=0, units=0 + if ( + isPropertyDefined(polygonOffset, 'polygonOffsetFactor') && + isPropertyDefined(polygonOffset, 'polygonOffsetUnits') + ) { + gl.polygonOffset( + polygonOffset!.polygonOffsetFactor as number, + polygonOffset!.polygonOffsetUnits as number + ); + } else if (isDefined(current?.polygonOffsetFactor) && isDefined(current?.polygonOffsetUnits)) { + gl.polygonOffset(0, 0); + } +} + +/** + * Apply sample coverage state + */ +function applySampleState( + gl: WebGL2RenderingContext, + sample: WebGLSampleState | undefined, + current?: WebGLSampleState +): void { + // SampleCoverage - default: value=1, invert=false + if ( + isPropertyDefined(sample, 'sampleCoverageValue') && + isPropertyDefined(sample, 'sampleCoverageInvert') + ) { + gl.sampleCoverage( + sample!.sampleCoverageValue as number, + sample!.sampleCoverageInvert as boolean + ); + } else if (isDefined(current?.sampleCoverageValue) && isDefined(current?.sampleCoverageInvert)) { + gl.sampleCoverage(1, false); + } +} + +/** + * Apply pixel store parameters + */ +function applyPixelStoreState( + gl: WebGL2RenderingContext, + pixelStore: WebGLPixelStoreState | undefined, + current?: WebGLPixelStoreState +): void { + // PackAlignment - default: 4 + if (isPropertyDefined(pixelStore, 'packAlignment')) { + gl.pixelStorei(gl.PACK_ALIGNMENT, pixelStore!.packAlignment as number); + } else if (isDefined(current?.packAlignment)) { + gl.pixelStorei(gl.PACK_ALIGNMENT, 4); + } + + // UnpackAlignment - default: 4 + if (isPropertyDefined(pixelStore, 'unpackAlignment')) { + gl.pixelStorei(gl.UNPACK_ALIGNMENT, pixelStore!.unpackAlignment as number); + } else if (isDefined(current?.unpackAlignment)) { + gl.pixelStorei(gl.UNPACK_ALIGNMENT, 4); + } + + // UnpackFlipY - default: false + if (isPropertyDefined(pixelStore, 'unpackFlipY')) { + gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, pixelStore!.unpackFlipY ? 1 : 0); + } else if (isDefined(current?.unpackFlipY)) { + gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, 0); + } + + // UnpackPremultiplyAlpha - default: false + if (isPropertyDefined(pixelStore, 'unpackPremultiplyAlpha')) { + gl.pixelStorei(gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL, pixelStore!.unpackPremultiplyAlpha ? 1 : 0); + } else if (isDefined(current?.unpackPremultiplyAlpha)) { + gl.pixelStorei(gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL, 0); + } + + // PackRowLength - default: 0 + if (isPropertyDefined(pixelStore, 'packRowLength')) { + gl.pixelStorei(gl.PACK_ROW_LENGTH, pixelStore!.packRowLength as number); + } else if (isDefined(current?.packRowLength)) { + gl.pixelStorei(gl.PACK_ROW_LENGTH, 0); + } + + // PackSkipPixels - default: 0 + if (isPropertyDefined(pixelStore, 'packSkipPixels')) { + gl.pixelStorei(gl.PACK_SKIP_PIXELS, pixelStore!.packSkipPixels as number); + } else if (isDefined(current?.packSkipPixels)) { + gl.pixelStorei(gl.PACK_SKIP_PIXELS, 0); + } + + // PackSkipRows - default: 0 + if (isPropertyDefined(pixelStore, 'packSkipRows')) { + gl.pixelStorei(gl.PACK_SKIP_ROWS, pixelStore!.packSkipRows as number); + } else if (isDefined(current?.packSkipRows)) { + gl.pixelStorei(gl.PACK_SKIP_ROWS, 0); + } + + // UnpackRowLength - default: 0 + if (isPropertyDefined(pixelStore, 'unpackRowLength')) { + gl.pixelStorei(gl.UNPACK_ROW_LENGTH, pixelStore!.unpackRowLength as number); + } else if (isDefined(current?.unpackRowLength)) { + gl.pixelStorei(gl.UNPACK_ROW_LENGTH, 0); + } + + // UnpackImageHeight - default: 0 + if (isPropertyDefined(pixelStore, 'unpackImageHeight')) { + gl.pixelStorei(gl.UNPACK_IMAGE_HEIGHT, pixelStore!.unpackImageHeight as number); + } else if (isDefined(current?.unpackImageHeight)) { + gl.pixelStorei(gl.UNPACK_IMAGE_HEIGHT, 0); + } + + // UnpackSkipPixels - default: 0 + if (isPropertyDefined(pixelStore, 'unpackSkipPixels')) { + gl.pixelStorei(gl.UNPACK_SKIP_PIXELS, pixelStore!.unpackSkipPixels as number); + } else if (isDefined(current?.unpackSkipPixels)) { + gl.pixelStorei(gl.UNPACK_SKIP_PIXELS, 0); + } + + // UnpackSkipRows - default: 0 + if (isPropertyDefined(pixelStore, 'unpackSkipRows')) { + gl.pixelStorei(gl.UNPACK_SKIP_ROWS, pixelStore!.unpackSkipRows as number); + } else if (isDefined(current?.unpackSkipRows)) { + gl.pixelStorei(gl.UNPACK_SKIP_ROWS, 0); + } + + // UnpackSkipImages - default: 0 + if (isPropertyDefined(pixelStore, 'unpackSkipImages')) { + gl.pixelStorei(gl.UNPACK_SKIP_IMAGES, pixelStore!.unpackSkipImages as number); + } else if (isDefined(current?.unpackSkipImages)) { + gl.pixelStorei(gl.UNPACK_SKIP_IMAGES, 0); + } +} + +/** + * Apply query state + */ +function applyQueryState(gl: WebGL2RenderingContext, queries: WebGLQueryState): void { + // Note: Query state includes active queries, but we can't directly set them + // as beginQuery requires starting a new query operation. + // This is here for completeness but may need special handling. + + if (isDefined(queries.currentAnySamplesPassed) && queries.currentAnySamplesPassed) { + console.warn( + '[WebGLStateApply] Cannot restore active query state for ANY_SAMPLES_PASSED - queries cannot be directly restored' + ); + // gl.beginQuery(gl.ANY_SAMPLES_PASSED, queries.currentAnySamplesPassed); + } + if ( + isDefined(queries.currentAnySamplesPassedConservative) && + queries.currentAnySamplesPassedConservative + ) { + console.warn( + '[WebGLStateApply] Cannot restore active query state for ANY_SAMPLES_PASSED_CONSERVATIVE - queries cannot be directly restored' + ); + // gl.beginQuery(gl.ANY_SAMPLES_PASSED_CONSERVATIVE, queries.currentAnySamplesPassedConservative); + } + if ( + isDefined(queries.currentTransformFeedbackPrimitivesWritten) && + queries.currentTransformFeedbackPrimitivesWritten + ) { + console.warn( + '[WebGLStateApply] Cannot restore active query state for TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN - queries cannot be directly restored' + ); + // gl.beginQuery(gl.TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN, queries.currentTransformFeedbackPrimitivesWritten); + } +} diff --git a/deps/cloudxr/helpers/WebGLStateBinding.ts b/deps/cloudxr/helpers/WebGLStateBinding.ts new file mode 100644 index 0000000..fe63d98 --- /dev/null +++ b/deps/cloudxr/helpers/WebGLStateBinding.ts @@ -0,0 +1,286 @@ +import { WebGLStateTracker, WebGLState } from './WebGLState'; +import { apply } from './WebGLStateApply'; + +/** + * BoundWebGLState - A WebGL2 context with automatic state tracking + * + * This is the original WebGL2 context with state-changing functions rebound + * to call the tracker before forwarding to the original implementation. + */ +export class BoundWebGLState { + private gl: WebGL2RenderingContext; + private tracker: WebGLStateTracker; + private originalFunctions: Map; + private savedState?: WebGLState; + private trackingEnabled = true; + + constructor( + gl: WebGL2RenderingContext, + tracker: WebGLStateTracker, + originalFunctions: Map + ) { + this.gl = gl; + this.tracker = tracker; + this.originalFunctions = originalFunctions; + } + + /** + * Get the internal state tracker + */ + private getTracker(): WebGLStateTracker { + return this.tracker; + } + + /** + * Save the current tracked WebGL state + * This clones the state so it can be restored later + */ + save(): void { + this.savedState = this.tracker.getState(); + } + + /** + * Restore the previously saved WebGL state + * This applies the saved state back to the WebGL context + * @throws {Error} If no state has been saved + */ + restore(): void { + if (!this.savedState) { + throw new Error('No state has been saved. Call save() before restore().'); + } + + // Save the current tracking state and enable tracking during restore + // This ensures the tracker stays synchronized with actual GL state + const wasTrackingEnabled = this.trackingEnabled; + this.trackingEnabled = true; + + const currentState = this.tracker.getState(); + apply(this.gl, this.savedState, currentState); + + // Restore the original tracking state + this.trackingEnabled = wasTrackingEnabled; + } + + enableTracking(enable: boolean): void { + this.trackingEnabled = enable; + } + + _enabled(): boolean { + return this.trackingEnabled; + } + + /** + * Revert all tracked functions back to their original implementations + * This removes state tracking from the WebGL context + */ + revert(): void { + const glAny = this.gl as any; + + for (const [name, originalFunction] of this.originalFunctions.entries()) { + glAny[name] = originalFunction; + } + + // Clear the map + this.originalFunctions.clear(); + + // Remove the stored BoundWebGLState from the GL context + delete glAny.__cloudxrBoundState; + } +} + +/** + * Bind a WebGL2 context with automatic state tracking + * + * Rebinds state-changing methods on the WebGL context to automatically track + * state changes before forwarding to the original implementation. + * + * @param gl - The WebGL2RenderingContext to wrap + * @returns A BoundWebGLState instance that provides access to the tracker and revert functionality + * + * @example + * ```typescript + * const canvas = document.getElementById('canvas') as HTMLCanvasElement; + * const gl = canvas.getContext('webgl2')!; + * const binding = bindGL(gl); + * + * // Use gl like a normal WebGL context - it's now tracked + * gl.bindBuffer(gl.ARRAY_BUFFER, buffer); + * gl.bindVertexArray(vao); + * + * // Save the current state + * binding.save(); + * + * // Make some temporary changes + * gl.bindBuffer(gl.ARRAY_BUFFER, tempBuffer); + * gl.enable(gl.BLEND); + * + * // Restore the saved state + * binding.restore(); + * + * // Access tracked state + * const state = binding.getTracker().getState(); + * console.log(state.buffers?.arrayBuffer); // The bound buffer + * + * // When done, revert to stop tracking + * binding.revert(); + * ``` + */ +export function bindGL(gl: WebGL2RenderingContext): BoundWebGLState { + const glAny = gl as any; + + // Check if this GL context is already wrapped - prevent double-wrapping + if (glAny.__cloudxrBoundState) { + console.warn( + 'WebGL context is already wrapped with state tracking. Returning existing BoundWebGLState.' + ); + return glAny.__cloudxrBoundState; + } + + // Create the tracker + const tracker = new WebGLStateTracker(); + + // Store original functions for later reversion + const originalFunctions = new Map(); + const wrappedFunctions = new Map(); + + const state = new BoundWebGLState(gl, tracker, originalFunctions); + + // Store the BoundWebGLState on the GL context to prevent double-wrapping + glAny.__cloudxrBoundState = state; + + // Helper function to bind a method + const bind = (name: string, trackerMethod: Function) => { + // CRITICAL: Store the original BEFORE we replace it, otherwise we'll store the wrapper + const originalMethod = glAny[name]; + if (!originalMethod) { + throw new Error('Original method not found for ' + name); + } + if (originalMethod === wrappedFunctions.get(name)) { + throw new Error('Wrapped function already bound for ' + name); + } + + const original = originalMethod.bind(gl); + originalFunctions.set(name, original); + const wrappedFunction = (...args: any[]) => { + if (state._enabled()) { + trackerMethod.apply(tracker, args); + } + return original(...args); + }; + wrappedFunctions.set(name, wrappedFunction); + + glAny[name] = wrappedFunction; + }; + + // Buffer bindings + bind('bindBuffer', tracker.bindBuffer); + bind('bindBufferBase', tracker.bindBufferBase); + bind('bindBufferRange', tracker.bindBufferRange); + + // Buffer lifecycle tracking (for validation without GPU calls) + const originalCreateBuffer = glAny.createBuffer.bind(gl); + originalFunctions.set('createBuffer', originalCreateBuffer); + glAny.createBuffer = (): WebGLBuffer | null => { + const buffer = originalCreateBuffer(); + if (buffer) { + tracker.createBuffer(buffer); + } + return buffer; + }; + bind('deleteBuffer', tracker.deleteBuffer); + + // VAO and vertex attributes + bind('bindVertexArray', tracker.bindVertexArray); + bind('deleteVertexArray', tracker.deleteVertexArray); + bind('enableVertexAttribArray', tracker.enableVertexAttribArray); + bind('disableVertexAttribArray', tracker.disableVertexAttribArray); + bind('vertexAttribPointer', tracker.vertexAttribPointer); + bind('vertexAttribIPointer', tracker.vertexAttribIPointer); + bind('vertexAttribDivisor', tracker.vertexAttribDivisor); + + // Texture bindings + bind('activeTexture', tracker.activeTexture); + bind('bindTexture', tracker.bindTexture); + + // Program binding + bind('useProgram', tracker.useProgram); + + // Framebuffer bindings + bind('bindFramebuffer', tracker.bindFramebuffer); + bind('framebufferTexture2D', tracker.framebufferTexture2D); + bind('framebufferRenderbuffer', tracker.framebufferRenderbuffer); + bind('framebufferTextureLayer', tracker.framebufferTextureLayer); + bind('drawBuffers', tracker.drawBuffers); + bind('readBuffer', tracker.readBuffer); + + // Renderbuffer binding + bind('bindRenderbuffer', tracker.bindRenderbuffer); + + // Transform feedback + bind('bindTransformFeedback', tracker.bindTransformFeedback); + bind('beginTransformFeedback', tracker.beginTransformFeedback); + bind('endTransformFeedback', tracker.endTransformFeedback); + bind('pauseTransformFeedback', tracker.pauseTransformFeedback); + bind('resumeTransformFeedback', tracker.resumeTransformFeedback); + + // Capabilities (enable/disable) + bind('enable', tracker.enable); + bind('disable', tracker.disable); + + // Viewport and scissor + bind('viewport', tracker.viewport); + bind('scissor', tracker.scissor); + + // Clear values + bind('clearColor', tracker.clearColor); + bind('clearDepth', tracker.clearDepth); + bind('clearStencil', tracker.clearStencil); + + // Blend state + bind('blendColor', tracker.blendColor); + bind('blendEquation', tracker.blendEquation); + bind('blendEquationSeparate', tracker.blendEquationSeparate); + bind('blendFunc', tracker.blendFunc); + bind('blendFuncSeparate', tracker.blendFuncSeparate); + + // Depth state + bind('depthFunc', tracker.depthFunc); + bind('depthMask', tracker.depthMask); + bind('depthRange', tracker.depthRange); + + // Stencil state + bind('stencilFunc', tracker.stencilFunc); + bind('stencilFuncSeparate', tracker.stencilFuncSeparate); + bind('stencilMask', tracker.stencilMask); + bind('stencilMaskSeparate', tracker.stencilMaskSeparate); + bind('stencilOp', tracker.stencilOp); + bind('stencilOpSeparate', tracker.stencilOpSeparate); + + // Color mask + bind('colorMask', tracker.colorMask); + + // Culling and face orientation + bind('cullFace', tracker.cullFace); + bind('frontFace', tracker.frontFace); + + // Line width + bind('lineWidth', tracker.lineWidth); + + // Polygon offset + bind('polygonOffset', tracker.polygonOffset); + + // Sample coverage + bind('sampleCoverage', tracker.sampleCoverage); + + // Pixel store parameters + bind('pixelStorei', tracker.pixelStorei); + + // Sampler binding + bind('bindSampler', tracker.bindSampler); + + // Query operations + bind('beginQuery', tracker.beginQuery); + bind('endQuery', tracker.endQuery); + + return state; +} diff --git a/deps/cloudxr/helpers/WebGlUtils.ts b/deps/cloudxr/helpers/WebGlUtils.ts new file mode 100644 index 0000000..74a9517 --- /dev/null +++ b/deps/cloudxr/helpers/WebGlUtils.ts @@ -0,0 +1,54 @@ +export function getOrCreateCanvas( + id: string, + resolution?: { width: number; height: number } +): HTMLCanvasElement { + let canvas = document.getElementById(id) as HTMLCanvasElement | null; + if (!canvas) { + canvas = document.createElement('canvas') as HTMLCanvasElement; + canvas.id = id; + // canvas.style.display = "none"; + document.body.appendChild(canvas); + } + if (!canvas) { + throw new Error('Failed to create canvas'); + } + if (resolution) { + canvas.width = resolution.width; + canvas.height = resolution.height; + } + return canvas; +} + +export function logOrThrow(tagString: string, gl: WebGL2RenderingContext) { + const err = gl.getError(); + if (err !== gl.NO_ERROR) { + let errorString; + switch (err) { + case gl.INVALID_ENUM: + errorString = 'INVALID_ENUM'; + break; + case gl.INVALID_VALUE: + errorString = 'INVALID_VALUE'; + break; + case gl.INVALID_OPERATION: + errorString = 'INVALID_OPERATION'; + break; + case gl.INVALID_FRAMEBUFFER_OPERATION: + errorString = 'INVALID_FRAMEBUFFER_OPERATION'; + break; + case gl.OUT_OF_MEMORY: + errorString = 'OUT_OF_MEMORY'; + break; + case gl.CONTEXT_LOST_WEBGL: + errorString = 'CONTEXT_LOST_WEBGL'; + break; + default: + errorString = 'UNKNOWN_ERROR'; + break; + } + + throw new Error('WebGL error: ' + tagString + ': ' + errorString + ' (' + err + ')'); + } else { + console.debug('WebGL no-error: ' + tagString); + } +} diff --git a/deps/cloudxr/helpers/overridePressureObserver.ts b/deps/cloudxr/helpers/overridePressureObserver.ts new file mode 100644 index 0000000..93eaeb6 --- /dev/null +++ b/deps/cloudxr/helpers/overridePressureObserver.ts @@ -0,0 +1,35 @@ +/** + * Override PressureObserver to catch errors from unexpected browser implementations. + * + * Some browsers have buggy PressureObserver implementations that throw errors + * when observe() is called. This wrapper catches and logs those errors instead + * of letting them propagate. + * + * This should be called early in your application, before any code attempts + * to use PressureObserver. + */ +export function overridePressureObserver(): void { + if (typeof window === 'undefined' || !(window as any).PressureObserver) { + return; + } + + const OriginalPressureObserver = (window as any).PressureObserver; + + (window as any).PressureObserver = class PressureObserver extends OriginalPressureObserver { + observe(source: any) { + try { + const result = super.observe(source); + if (result && typeof result.catch === 'function') { + return result.catch((e: Error) => { + console.warn('PressureObserver.observe() failed:', e.message); + return undefined; + }); + } + return result; + } catch (e: any) { + console.warn('PressureObserver.observe() failed:', e.message); + return undefined; + } + } + }; +} diff --git a/deps/cloudxr/helpers/utils.ts b/deps/cloudxr/helpers/utils.ts new file mode 100644 index 0000000..83366b4 --- /dev/null +++ b/deps/cloudxr/helpers/utils.ts @@ -0,0 +1,293 @@ +/** + * Parses URL parameters and returns them as an object + * @param location - Optional location object (defaults to window.location) + * @returns Object with URL parameters as key-value pairs + */ +export function getUrlParams(location: Location = window.location): Record { + const params: Record = {}; + const queryString = location.search.substring(1); + + if (queryString) { + const pairs = queryString.split('&'); + for (const pair of pairs) { + const [key, value = ''] = pair.split('='); + params[decodeURIComponent(key)] = decodeURIComponent(value); + } + } + + return params; +} + +/** + * Enables localStorage functionality for form elements + * @param element - The HTML input or select element to enable localStorage for + * @param key - The localStorage key to use for saving/loading the value + */ +export function enableLocalStorage(element: HTMLInputElement | HTMLSelectElement, key: string) { + // Check if localStorage is already enabled for this element and key + const localStorageKey = `__localStorageEnabled_${key}`; + if ((element as any)[localStorageKey]) { + console.warn(`localStorage already enabled for ${key}, skipping`); + return; + } + + // Load saved value from localStorage + try { + // Check if the key exists in localStorage, not just if it has values + if (localStorage.hasOwnProperty(key)) { + const savedValue = localStorage.getItem(key); + element.value = savedValue || ''; + console.info(`Loaded saved ${key} from localStorage:`, savedValue); + } + } catch (error) { + console.warn(`${key}: Failed to load saved value from localStorage:`, error); + } + + // Set up event listener to save value when changed + const changeHandler = () => { + try { + // Always save the value, even if it's empty + localStorage.setItem(key, element.value); + console.info(`Saved ${key} to localStorage:`, JSON.stringify(element.value)); + } catch (error) { + console.warn(`${key}: Failed to save to localStorage:`, error); + } + }; + + element.addEventListener('change', changeHandler); + + // Mark this element as having localStorage enabled for this key + (element as any)[localStorageKey] = true; +} + +/** + * Strips protocol prefixes (http:// or https://) from a URL string + * @param url - The URL string to clean + * @returns The URL without protocol prefix + */ +function stripProtocol(url: string): string { + return url.replace(/^https?:\/\//, ''); +} + +/** + * Connection configuration object containing server connection details + */ +export interface ConnectionConfiguration { + /** Final server IP address (may be modified for HTTPS proxy routing) */ + serverIP: string; + + /** Final port number (fixed to 443 for HTTPS, user-provided for HTTP) */ + port: number; + + /** Whether the connection will use secure protocol (HTTPS/WSS) */ + useSecureConnection: boolean; +} + +/** + * CloudXR configuration interface containing all streaming settings + */ +export interface CloudXRConfig { + /** IP address of the CloudXR streaming server */ + serverIP: string; + + /** Port number for the CloudXR server connection */ + port: number; + + /** Whether to use secure connection (HTTPS/WSS) or insecure (HTTP/WS) */ + useSecureConnection: boolean; + + /** Width of each eye in pixels (must be multiple of 16) */ + perEyeWidth: number; + + /** Height of each eye in pixels (must be multiple of 16) */ + perEyeHeight: number; + + /** Target frame rate for the XR device in frames per second (FPS) */ + deviceFrameRate: number; + + /** Maximum streaming bitrate in Megabits per second (Mbps) */ + maxStreamingBitrateMbps: number; + + /** XR immersive mode: 'ar' for augmented reality, 'vr' for virtual reality */ + immersiveMode: 'ar' | 'vr'; + + /** Application identifier string for the CloudXR session */ + app: string; + + /** Type of server being connected to */ + serverType: string; + + /** Optional proxy URL for HTTPS routing (e.g., 'https://proxy.example.com/'); if empty, uses direct WSS connection */ + proxyUrl: string; + + /** Preferred XR reference space for tracking and positioning */ + referenceSpaceType: 'auto' | 'local-floor' | 'local' | 'viewer' | 'unbounded'; + + /** XR reference space offset along X axis in meters (positive is right) */ + xrOffsetX?: number; + /** XR reference space offset along Y axis in meters (positive is up) */ + xrOffsetY?: number; + /** XR reference space offset along Z axis in meters (positive is backward) */ + xrOffsetZ?: number; +} + +/** + * Determines connection configuration based on protocol and user inputs + * Supports both direct WSS connections and proxy routing for HTTPS + * + * @param serverIP - The user-provided server IP address + * @param port - The user-provided port number + * @param proxyUrl - Optional proxy URL for HTTPS routing (if provided, uses proxy routing; otherwise direct connection) + * @param location - Optional location object (defaults to window.location) + * @returns Object containing server IP, port, and security settings + * @throws {Error} When proxy URL format is invalid (must start with https://) + */ +export function getConnectionConfig( + serverIP: string, + port: number, + proxyUrl: string, + location: Location = window.location +): ConnectionConfiguration { + let finalServerIP = ''; + let finalPort = port; + let finalUseSecureConnection = false; + + // Determine if we should use secure connection based on page protocol + if (location.protocol === 'https:') { + console.info('Running on HTTPS protocol - using secure WebSocket (WSS)'); + finalUseSecureConnection = true; + + // Check if proxy URL is provided for routing + const trimmedProxyUrl = proxyUrl?.trim(); + if (trimmedProxyUrl) { + // Proxy routing mode + console.info('Proxy URL provided - using proxy routing mode'); + + if (!trimmedProxyUrl.startsWith('https://')) { + throw new Error('Proxy URL must start with https://. Received: ' + trimmedProxyUrl); + } + + // Use port 443 for proxy routing (standard HTTPS port) + finalPort = 443; + + // Route through proxy: if specific server IP provided, append it to proxy URL + if (serverIP && serverIP !== 'localhost' && serverIP !== '127.0.0.1') { + // Route to proxy with IP + const cleanServerIP = stripProtocol(serverIP); + // Clean proxy URL - strip protocol and trailing slash + const cleanProxyUrl = stripProtocol(trimmedProxyUrl).replace(/\/$/, ''); + finalServerIP = `${cleanProxyUrl}/${cleanServerIP}`; + console.info(`Using HTTPS proxy with IP: ${finalServerIP}`); + } else { + // Route to proxy without IP + finalServerIP = stripProtocol(trimmedProxyUrl).replace(/\/$/, ''); + console.info(`Using HTTPS proxy without specific IP: ${finalServerIP}`); + } + } else { + // Direct WSS connection mode + console.info('No proxy URL - using direct WSS connection'); + + // Handle server IP input + if (serverIP && serverIP !== 'localhost' && serverIP !== '127.0.0.1') { + finalServerIP = stripProtocol(serverIP); + console.info('Using user-provided server IP:', finalServerIP); + } else { + finalServerIP = new URL(location.href).hostname; + console.info('Using default server IP from window location:', finalServerIP); + } + + // Use user-provided port for direct WSS + if (port && !isNaN(port)) { + finalPort = port; + console.info('Using user-provided port:', finalPort); + } + } + } else { + // HTTP protocol - direct WS connection + console.info('Running on HTTP protocol - using insecure WebSocket (WS)'); + finalUseSecureConnection = false; + + // Handle server IP input + if (serverIP && serverIP !== 'localhost' && serverIP !== '127.0.0.1') { + finalServerIP = stripProtocol(serverIP); + console.info('Using user-provided server IP:', finalServerIP); + } else { + finalServerIP = new URL(location.href).hostname; + console.info('Using default server IP from window location:', finalServerIP); + } + + // Handle port input + if (port && !isNaN(port)) { + finalPort = port; + console.info('Using user-provided port:', finalPort); + } + } + + return { + serverIP: finalServerIP, + port: finalPort, + useSecureConnection: finalUseSecureConnection, + } as ConnectionConfiguration; +} + +/** + * Sets up certificate acceptance link for self-signed certificates in HTTPS mode + * Shows a link to accept certificates when using direct WSS connection (no proxy) + * + * @param serverIpInput - Input element for server IP address + * @param portInput - Input element for port number + * @param proxyUrlInput - Input element for proxy URL + * @param certAcceptanceLink - Container element for the certificate link + * @param certLink - Anchor element for the certificate URL + * @param location - Optional location object (defaults to window.location) + * @returns Cleanup function to remove event listeners + */ +export function setupCertificateAcceptanceLink( + serverIpInput: HTMLInputElement, + portInput: HTMLInputElement, + proxyUrlInput: HTMLInputElement, + certAcceptanceLink: HTMLElement, + certLink: HTMLAnchorElement, + location: Location = window.location +): () => void { + /** + * Updates the certificate acceptance link based on current configuration + * Shows link only when in HTTPS mode without proxy (direct WSS) + */ + const updateCertLink = () => { + const isHttps = location.protocol === 'https:'; + const hasProxy = proxyUrlInput.value.trim().length > 0; + const portValue = parseInt(portInput.value, 10); + const defaultPort = hasProxy ? 443 : 48322; + const port = portValue || defaultPort; + + // Show link only in HTTPS mode without proxy + if (isHttps && !hasProxy) { + let serverIp = serverIpInput.value.trim(); + if (!serverIp) { + serverIp = new URL(location.href).hostname; + } + const url = `https://${serverIp}:${port}/`; + certAcceptanceLink.style.display = 'block'; + certLink.href = url; + certLink.textContent = `Click ${url} to accept cert`; + } else { + certAcceptanceLink.style.display = 'none'; + } + }; + + // Add event listeners to update link when inputs change + serverIpInput.addEventListener('input', updateCertLink); + portInput.addEventListener('input', updateCertLink); + proxyUrlInput.addEventListener('input', updateCertLink); + + // Initial update after localStorage values are restored + setTimeout(updateCertLink, 0); + + // Return cleanup function to remove event listeners + return () => { + serverIpInput.removeEventListener('input', updateCertLink); + portInput.removeEventListener('input', updateCertLink); + proxyUrlInput.removeEventListener('input', updateCertLink); + }; +} diff --git a/deps/cloudxr/isaac/.gitignore b/deps/cloudxr/isaac/.gitignore new file mode 100644 index 0000000..11e2140 --- /dev/null +++ b/deps/cloudxr/isaac/.gitignore @@ -0,0 +1,3 @@ +node_modules/ +build/ +*.pem diff --git a/deps/cloudxr/isaac/LICENSE b/deps/cloudxr/isaac/LICENSE new file mode 100644 index 0000000..5e53852 --- /dev/null +++ b/deps/cloudxr/isaac/LICENSE @@ -0,0 +1,307 @@ +NVIDIA SOFTWARE EVALUATION LICENSE AGREEMENT + +IMPORTANT NOTICE – PLEASE READ AND AGREE BEFORE USING THE SOFTWARE + +This software evaluation license agreement (“Agreement”) is a legal agreement between you, whether an +individual or entity, (“you”) and NVIDIA Corporation and its affiliates (“NVIDIA”) and governs the use of certain +NVIDIA CloudXR software and documentation that NVIDIA delivers to you under this Agreement (“Software”). +NVIDIA and you are each a “party” and collectively the “parties.” +This Agreement can be accepted only by an adult of legal age of majority in the country in which the Software is +used. If you don’t have the required age or authority to accept this Agreement, or if you don’t accept all the +terms and conditions of this Agreement, do not use the Software. + +1. License Grants. + +1.1 License Grant to You. The Software is licensed, not sold. Subject to the terms of this Agreement, +NVIDIA grants you a limited, non-exclusive, revocable, non-transferable, non-sublicensable (except +as expressly granted in this Agreement), license to: +(a) access, install and use copies of the Software, +(b) configure the Software using configuration files provided (if applicable), +(c) modify and create derivative works of any source code NVIDIA delivers to you as part of the +Software (“Derivatives”) (if applicable). + +All the foregoing grants are only for internal test and evaluation purposes and, as applicable, for use (a) in +client systems, or (b) in server systems with NVIDIA GPUs (“Purpose”). + +1.2 License Grant to NVIDIA. Subject to the terms of this Agreement, you grant NVIDIA a non-exclusive, +perpetual, irrevocable, sublicensable, worldwide, royalty-free, fully paid-up and transferable license, +under your intellectual property rights, to publicly perform, publicly display, reproduce, use, make, +have made, sell, offer for sale, distribute (through multiple tiers of distribution), import, create +derivative works of and otherwise commercialize and exploit at NVIDIA’s discretion any Derivatives +created by or for you. You may, but are not required to, deliver any Derivatives to NVIDIA. + +2. License Restrictions. Your license to use the Software and Derivatives is restricted as stated in this “License +Restrictions” Section. You will cooperate with NVIDIA and, upon NVIDIA’s written request, you will confirm +in writing and provide reasonably requested information to verify your compliance with the terms of this +Agreement. You may not: + +2.1 Use the Software or Derivatives for any purpose other than the Purpose, including but not limited to +in production; + +2.2 Sell, rent, sublicense, transfer, distribute or otherwise make available to others (except Authorized +Users as stated in the “Authorized Users” Section) any portion of the Software or Derivatives, except +as expressly granted in Section 1.1 (“License Grant to You”); + +2.3 Reverse engineer, decompile, or disassemble the Software components provided in binary form, nor +attempt in any other manner to obtain source code of such Software; + +2.4 Modify or create derivative works of the Software, except as expressly granted in Section 1.1 +(“License Grant to You”); + +2.5 Change or remove copyright or other proprietary notices in the Software; + +2.6 Bypass, disable, or circumvent any technical limitation, encryption, security, digital rights +management or authentication mechanism in the Software; + +2.7 Use the Software or Derivatives in any manner that would cause them to become subject to an open +source software license; subject to the terms in Section 7 (“Components Under Other Licenses”); + +2.8 Use the Software or Derivatives for the purpose of developing competing products or technologies +or assist a third party in such activities; + +2.9 Replace any Software components governed by this Agreement with other software that +implements NVIDIA APIs; + +2.10 Use the Software or Derivatives in violation of any applicable law or regulation in the relevant +jurisdictions; or + +2.11 Use the Software in or with any system or application where the use or failure of such system or +application developed or deployed with Software could result in injury, death or catastrophic +damage (“Mission Critical Applications”). NVIDIA will not be liable to you or any third party, in whole +or in part, for any claims or damages arising from uses in Mission Critical Applications. + +2.12 Disclose any evaluation or test results regarding the Software or Derivatives without NVIDIA’s prior +written consent. + +3. Authorized Users. You may allow employees and contractors of your entity or of your subsidiary(ies), and +for educational institutions also enrolled students, to internally access and use the Software as authorized +by this Agreement from your secure network to perform the work authorized by this Agreement on your +behalf. You are responsible for the compliance with the terms of this Agreement by your authorized users. +Any act or omission that if committed by you would constitute a breach of this Agreement will be deemed to +constitute a breach of this Agreement if committed by your authorized users. + +4. Pre-Release. Software versions identified as alpha, beta, preview, early access or otherwise as pre-release +may not be fully functional, may contain errors or design flaws, and may have reduced or different security, +privacy, availability and reliability standards relative to NVIDIA commercial offerings. You use pre-release +Software at your own risk. NVIDIA did not design or test the Software for use in production or business +critical systems. NVIDIA may choose not to make available a commercial version of pre-release Software. +NVIDIA may also choose to abandon development and terminate the availability of pre-release Software at +any time without liability. + +5. Your Privacy: Collection and Use of Information. + +5.1 Privacy Policy. Please review the NVIDIA Privacy Policy, located at https://www.nvidia.com/enus/about-nvidia/privacy-policy, which explains NVIDIA’s policy for collecting and using data, as well +as visit the NVIDIA Privacy Center, located at https://www.nvidia.com/en-us/privacy-center, to +manage your consent and privacy preferences. + +5.2 Collection Purposes. You also acknowledge that the Software collects data for the following +purposes: (a) properly configure and optimize products for use with Software; and (b) improve +NVIDIA products and services. Information collected by the Software includes: (i) application +configuration; (ii) browser version; (iii) and session metadata (i.e. performance and usage +statistics). Additionally, NVIDIA may collect certain personal information, such as your name +and email address or those of your authorized users, and other information necessary to +authenticate and enable you or your authorized users’ access to the Software. Where appropriate +you will disclose to, and obtain any necessary consent from, your authorized users to allow NVIDIA +to collect such information. + +5.3 Third Party Privacy Practices. The Software may contain links to third party websites and services. +NVIDIA encourages you to review the privacy statements on those sites and services that you choose +to visit to understand how they may collect, use and share your data. NVIDIA is not responsible for +the privacy statements or practices of third-party sites or services. + +6. Updates. NVIDIA may at any time and at its option, change, discontinue, or deprecate any part, or all, of the +Software, or change or remove features or functionality, or make available patches, workarounds or other +updates to the Software. Unless the updates are provided with their separate governing terms, they are +deemed part of the Software licensed to you under this Agreement, and your continued use of the Software +is deemed acceptance of such changes. + +7. Components Under Other Licenses. The Software may include or be distributed with components provided +with separate legal notices or terms that accompany the components, such as open source software licenses +and other license terms (“Other Licenses”). The components are subject to the applicable Other Licenses, +including any proprietary notices, disclaimers, requirements and extended use rights; except that this +Agreement will prevail regarding the use of third-party open source software, unless a third-party open +source software license requires its license terms to prevail. Open source software license means any +software, data or documentation subject to any license identified as an open source license by the Open +Source Initiative (http://opensource.org), Free Software Foundation (http://www.fsf.org) or other similar +open source organization or listed by the Software Package Data Exchange (SPDX) Workgroup under the +Linux Foundation (http://www.spdx.org). + +8. Ownership. + +8.1 NVIDIA Ownership. The Software, including all intellectual property rights, is and will remain the sole +and exclusive property of NVIDIA or its licensors. Except as expressly granted in this Agreement, +(a) NVIDIA reserves all rights, interests and remedies in connection with the Software, and (b) no +other license or right is granted to you by implication, estoppel or otherwise. + +8.2 Your Ownership. Subject to the rights of NVIDIA and its suppliers in the Software, which continue to +be licensed as stated in this Agreement, even when incorporated in your products, and the extent +permitted by applicable law, as between you and NVIDIA, you hold all rights, title and interest in and +to your services, applications and Derivatives you develop as permitted in this Agreement including +their respective intellectual property rights. + +9. Feedback. You may, but are not obligated to, provide suggestions, requests, fixes, modifications, +enhancements or other feedback regarding your use of the Software (“Feedback”). Feedback, even if +designated as confidential by you, will not create any confidentiality obligation for NVIDIA or its affiliates. If +you provide Feedback, you hereby grant NVIDIA, its affiliates and its designees a nonexclusive, perpetual, +irrevocable, sublicensable, worldwide, royalty-free, fully paid-up and transferable license, under your +intellectual property rights, to publicly perform, publicly display, reproduce, use, make, have made, sell, +offer for sale, distribute (through multiple tiers of distribution), import, create derivative works of and +otherwise commercialize and exploit the Feedback at NVIDIA’s discretion. + +10. Confidentiality. You may use confidential information only to exercise your rights and perform your +obligations under this Agreement. You will not disclose, nor authorize others to disclose NVIDIA Confidential +Information to any third party, except as expressly authorized in this Agreement and as necessary for the +Purpose, without obtaining NVIDIA’s prior written approval. Each recipient of confidential information must +be subject to a written agreement that includes confidentiality obligations consistent with these terms and +must have a need to know for the Purpose. You will protect the NVIDIA Confidential Information with at +least the same degree of care that you use to protect your own similar confidential and proprietary +information, but no less than a reasonable degree of care. Confidential information includes, but is not +limited to, the Software, including its features and functionality, Derivatives, and any results of +benchmarking or other competitive analysis or regression or performance data relating to the Software. +No Publicity. You may not issue any public statements about this Agreement, disclose the Software or +Derivatives, or any information or results related to your use of the Software, without prior written approval +of NVIDIA. + +11. Term and Termination. + +11.1 Term. This Agreement has a duration of twelve (12) months starting from the date of initial +download (even if you download the same version or updates of the Software later and it is +accompanied by this Agreement or another Agreement), unless terminated earlier in accordance +with this Agreement. + +11.2 Termination for Convenience. Either party may terminate this Agreement at any time with thirty (30) +days’ advance written notice to the other party. + +11.3 Termination for Cause. If you commence or participate in any legal proceeding against NVIDIA with +respect to the Software, this Agreement will terminate immediately without notice. Either party may +terminate this Agreement upon notice for cause if: +(a) the other party fails to cure a material breach of this Agreement within ten (10) days of the +non-breaching party’s notice of the breach; or +(b) the other party breaches its confidentiality obligations or license rights under this +Agreement, which termination will be effective immediately upon written notice. + +11.4 Effect of Termination. Upon any expiration or termination of this Agreement, you will promptly +(a) stop using and return, delete or destroy NVIDIA confidential information and all Software +received under this Agreement, and (b) delete or destroy Derivatives created under this Agreement, +unless an authorized NVIDIA representative provides prior written approval that you may keep a +copy of the Derivatives solely for archival purposes. Upon written request, you will certify in writing +that you have complied with your obligations under this “Effect of Termination” Section. + +11.5 Survival. The “License Grant to NVIDIA”, “Updates”, “Components Under Other Licenses”, +“Ownership”, “Feedback”, “Confidentiality”, “No Publicity”, “Effect of Termination”, “Survival”, +“Disclaimer of Warranties”, “Limitation of Liability”, “Indemnity” and all “General” Sections of this +Agreement will survive any expiration or termination of this Agreement. + +12. Disclaimer of Warranties. THE SOFTWARE IS PROVIDED BY NVIDIA AS-IS AND WITH ALL FAULTS. TO THE +MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, NVIDIA DISCLAIMS ALL WARRANTIES AND +REPRESENTATIONS OF ANY KIND, WHETHER EXPRESS, IMPLIED OR STATUTORY, RELATING TO OR ARISING +UNDER THIS AGREEMENT, INCLUDING, WITHOUT LIMITATION, THE WARRANTIES OF TITLE, +NONINFRINGEMENT, MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, USAGE OF TRADE AND +COURSE OF DEALING. NVIDIA DOES NOT WARRANT OR ASSUME RESPONSIBILITY FOR THE ACCURACY OR +COMPLETENESS OF ANY THIRD-PARTY INFORMATION, TEXT, GRAPHICS, LINKS CONTAINED IN THE +SOFTWARE. WITHOUT LIMITING THE FOREGOING, NVIDIA DOES NOT WARRANT THAT THE SOFTWARE WILL +MEET YOUR REQUIREMENTS, ANY DEFECTS OR ERRORS WILL BE CORRECTED, ANY CERTAIN CONTENT WILL +BE AVAILABLE; OR THAT THE SOFTWARE IS FREE OF VIRUSES OR OTHER HARMFUL COMPONENTS. NO +INFORMATION OR ADVICE GIVEN BY NVIDIA WILL IN ANY WAY INCREASE THE SCOPE OF ANY WARRANTY +EXPRESSLY PROVIDED IN THIS AGREEMENT. YOU ARE SOLELY RESPONSIBLE FOR DETERMINING THE +APPROPRIATENESS OF USING THE SOFTWARE OR DERIVATIVES AND ASSUME ANY RISKS ASSOCIATED WITH +YOUR USE OF THE SOFTWARE OR DERIVATIVES. + +13. Limitations of Liability. + +13.1 EXCLUSIONS. TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, IN NO EVENT WILL +NVIDIA BE LIABLE FOR ANY (A) INDIRECT, PUNITIVE, SPECIAL, INCIDENTAL OR CONSEQUENTIAL +DAMAGES, OR (B) DAMAGES FOR THE (I) COST OF PROCURING SUBSTITUTE GOODS OR (II) LOSS OF +PROFITS, REVENUES, USE, DATA OR GOODWILL ARISING OUT OF OR RELATED TO THIS AGREEMENT, +WHETHER BASED ON BREACH OF CONTRACT, TORT (INCLUDING NEGLIGENCE), STRICT LIABILITY, OR +OTHERWISE, AND EVEN IF NVIDIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES AND +EVEN IF A PARTY’S REMEDIES FAIL THEIR ESSENTIAL PURPOSE. + +13.2 DAMAGES CAP. ADDITIONALLY, TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, +NVIDIA’S TOTAL CUMULATIVE AGGREGATE LIABILITY FOR ANY AND ALL LIABILITIES, OBLIGATIONS OR +CLAIMS ARISING OUT OF OR RELATED TO THIS AGREEMENT WILL NOT EXCEED ONE HUNDRED U.S. +DOLLARS (US$100). + +14. Indemnity. You will defend, indemnify and hold harmless NVIDIA and its affiliates, and their respective +employees, contractors, agents, officers and directors, from and against any and all third party claims, +damages, obligations, losses, liabilities, costs or debt, fines, restitutions and expenses (including but not +limited to attorney’s fees and costs incident to establishing the right of indemnification) arising out of use of +the Software and Derivatives outside of the scope of this Agreement or in breach of the terms of this +Agreement. + +15. General. + +15.1 Governing Law and Jurisdiction. This Agreement will be governed in all respects by the laws of the +United States and the laws of the State of Delaware, without regard to conflict of laws principles or +the United Nations Convention on Contracts for the International Sale of Goods. The state and +federal courts residing in Santa Clara County, California will have exclusive jurisdiction over any +dispute or claim arising out of or related to this Agreement, and the parties irrevocably consent to +personal jurisdiction and venue in those courts; except that either party may apply for injunctive +remedies or an equivalent type of urgent legal relief in any jurisdiction. + +15.2 Independent Contractors. The parties are independent contractors, and this Agreement does not +create a joint venture, partnership, agency or other form of business association between the +parties. Neither party will have the power to bind the other party or incur any obligation on its +behalf without the other party’s prior written consent. Nothing in this Agreement prevents either +party from participating in similar arrangements with third parties. + +15.3 No Assignment. NVIDIA may assign, delegate or transfer its rights or obligations under this +Agreement by any means or operation of law. You may not, without NVIDIA’s prior written consent, +assign, delegate or transfer any of your rights or obligations under this Agreement by any means or +operation of law, and any attempt to do so is null and void. + +15.4 No Waiver. No failure or delay by a party to enforce any term or obligation of this Agreement will +operate as a waiver by that party, or prevent the enforcement of such term or obligation later. + +15.5 Trade Compliance. You agree to comply with all applicable export, import, trade and economic +sanctions laws and regulations, as amended, including without limitation U.S. Export Administration +Regulations and Office of Foreign Assets Control regulations. You confirm (a) your understanding +that export or reexport of certain NVIDIA products or technologies may require a license or other +approval from appropriate authorities and (b) that you will not export or reexport any products or +technology, directly or indirectly, without first obtaining any required license or other approval from +appropriate authorities, (i) to any countries that are subject to any U.S. or local export restrictions +(currently including, but not necessarily limited to, Belarus, Cuba, Iran, North Korea, Russia, Syria, +the Region of Crimea, Donetsk People’s Republic Region and Luhansk People’s Republic Region); (ii) +to any end-user who you know or have reason to know will utilize them in the design, development +or production of nuclear, chemical or biological weapons, missiles, rocket systems, unmanned air +vehicles capable of a maximum range of at least 300 kilometers, regardless of payload, or intended +for military end-use, or any weapons of mass destruction; (iii) to any end-user who has been +prohibited from participating in the U.S. or local export transactions by any governing authority; or +(iv) to any known military or military-intelligence end-user or for any known military or military- +intelligence end-use in accordance with U.S. trade compliance laws and regulations. + +15.6 Government Rights. The Software, documentation and technology (“Protected Items”) are +“Commercial products” as this term is defined at 48 C.F.R. 2.101, consisting of “commercial +computer software” and “commercial computer software documentation” as such terms are used +in, respectively, 48 C.F.R. 12.212 and 48 C.F.R. 227.7202 & 252.227-7014(a)(1). Before any Protected +Items are supplied to the U.S. Government, you will (i) inform the U.S. Government in writing that +the Protected Items are and must be treated as commercial computer software and commercial +computer software documentation developed at private expense; (ii) inform the U.S. Government +that the Protected Items are provided subject to the terms of the Agreement; and (iii) mark the +Protected Items as commercial computer software and commercial computer software +documentation developed at private expense. In no event will you permit the U.S. Government to +acquire rights in Protected Items beyond those specified in 48 C.F.R. 52.227-19(b)(1)-(2) or 252.227- +7013(c) except as expressly approved by NVIDIA in writing. + +15.7 Notices. Please direct your legal notices or other correspondence to legalnotices@nvidia.com with a +copy mailed to NVIDIA Corporation, 2788 San Tomas Expressway, Santa Clara, California 95051, +United States of America, Attention: Legal Department. If NVIDIA needs to contact you about the +Software, you consent to receive the notices by email and agree that such notices will satisfy any +legal communication requirements. + +15.8 Severability. If a court of competent jurisdiction rules that a provision of this Agreement is +unenforceable, that provision will be deemed modified to the extent necessary to make it +enforceable and the remainder of this Agreement will continue in full force and effect. + +15.9 Amendment. Any amendment to this Agreement must be in writing and signed by authorized +representatives of both parties. + +15.10 Entire Agreement. Regarding the subject matter of this Agreement, the parties agree that (a) this +Agreement constitutes the entire and exclusive agreement between the parties and supersedes all +prior and contemporaneous communications and (b) any additional or different terms or conditions, +whether contained in purchase orders, order acknowledgments, invoices or otherwise, will not be +binding and are null and void. + +(v. February 25, 2025) + +NVIDIA Confidential \ No newline at end of file diff --git a/deps/cloudxr/isaac/README.md b/deps/cloudxr/isaac/README.md new file mode 100644 index 0000000..f7b5e3a --- /dev/null +++ b/deps/cloudxr/isaac/README.md @@ -0,0 +1,5 @@ +# Run Isaac Lab Teleoperation + +This is the Isaac Lab Teleop client built on top of CloudXR.js. + +See the CloudXR.js SDK documentation > Show Cases > Isaac Lab Teleop for detailed guide. \ No newline at end of file diff --git a/deps/cloudxr/isaac/favicon.ico b/deps/cloudxr/isaac/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..a1de915b3142d6f06c46d8a519b977532ca7ef3d GIT binary patch literal 14224 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 k_RakI9n+a literal 0 HcmV?d00001 diff --git a/deps/cloudxr/isaac/package-lock.json b/deps/cloudxr/isaac/package-lock.json new file mode 100644 index 0000000..2477e74 --- /dev/null +++ b/deps/cloudxr/isaac/package-lock.json @@ -0,0 +1,7089 @@ +{ + "name": "cloudxr-isaac-lab-teleop", + "version": "6.0.0-beta", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "cloudxr-isaac-lab-teleop", + "version": "6.0.0-beta", + "license": "SEE LICENSE IN LICENSE", + "dependencies": { + "@nvidia/cloudxr": "file:../nvidia-cloudxr-6.0.0-beta.tgz", + "@react-three/drei": "^10.6.1", + "@react-three/fiber": "^9.3.0", + "@react-three/uikit": "^1.0.0", + "@react-three/uikit-default": "^1.0.0", + "@react-three/xr": "^6.6.22", + "react": "^19.2.0", + "react-dom": "^19.2.0", + "three": "^0.172.0" + }, + "devDependencies": { + "@types/react": "^19.2.0", + "@types/react-dom": "^19.2.0", + "@types/three": "^0.172.0", + "copy-webpack-plugin": "^13.0.0", + "css-loader": "^6.8.1", + "html-webpack-plugin": "^5.6.3", + "rimraf": "^5.0.5", + "style-loader": "^3.3.3", + "ts-loader": "^9.5.1", + "typescript": "^5.8.2", + "webpack-cli": "^6.0.1", + "webpack-dev-server": "^5.2.1" + } + }, + "node_modules/@babel/runtime": { + "version": "7.29.2", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.29.2.tgz", + "integrity": "sha512-JiDShH45zKHWyGe4ZNVRrCjBz8Nh9TMmZG1kh4QTK8hCBTWBi8Da+i7s1fJw7/lYpM4ccepSNfqzZ/QvABBi5g==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@bufbuild/protobuf": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/@bufbuild/protobuf/-/protobuf-2.11.0.tgz", + "integrity": "sha512-sBXGT13cpmPR5BMgHE6UEEfEaShh5Ror6rfN3yEK5si7QVrtZg8LEPQb0VVhiLRUslD2yLnXtnRzG035J/mZXQ==", + "license": "(Apache-2.0 AND BSD-3-Clause)" + }, + "node_modules/@discoveryjs/json-ext": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.6.3.tgz", + "integrity": "sha512-4B4OijXeVNOPZlYA2oEwWOTkzyltLao+xbotHQeqN++Rv27Y6s818+n2Qkp8q+Fxhn0t/5lA5X1Mxktud8eayQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.17.0" + } + }, + "node_modules/@emotion/is-prop-valid": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.4.0.tgz", + "integrity": "sha512-QgD4fyscGcbbKwJmqNvUMSE02OsHUa+lAWKdEUIJKgqe5IwRSKd7+KhibEWdaKwgjLj0DRSHA9biAIqGBk05lw==", + "license": "MIT", + "dependencies": { + "@emotion/memoize": "^0.9.0" + } + }, + "node_modules/@emotion/memoize": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.9.0.tgz", + "integrity": "sha512-30FAj7/EoJ5mwVPOWhAyCX+FPfMDrVecJAM+Iw9NRoSl4BBAQeqj4cApHHUXOVvIPgLVDsCFoz/hGD+5QQD1GQ==", + "license": "MIT" + }, + "node_modules/@emotion/unitless": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.10.0.tgz", + "integrity": "sha512-dFoMUuQA20zvtVTuxZww6OHoJYgrzfKM1t52mVySDJnMSEa08ruEvdYQbhvyu6soU+NeLVd3yKfTfT0NeV6qGg==", + "license": "MIT" + }, + "node_modules/@fortawesome/fontawesome-common-types": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-6.6.0.tgz", + "integrity": "sha512-xyX0X9mc0kyz9plIyryrRbl7ngsA9jz77mCZJsUkLl+ZKs0KWObgaEBoSgQiYWAsSmjz/yjl0F++Got0Mdp4Rw==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/@fortawesome/fontawesome-svg-core": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-6.6.0.tgz", + "integrity": "sha512-KHwPkCk6oRT4HADE7smhfsKudt9N/9lm6EJ5BVg0tD1yPA5hht837fB87F8pn15D8JfTqQOjhKTktwmLMiD7Kg==", + "license": "MIT", + "dependencies": { + "@fortawesome/fontawesome-common-types": "6.6.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@fortawesome/free-solid-svg-icons": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-6.6.0.tgz", + "integrity": "sha512-IYv/2skhEDFc2WGUcqvFJkeK39Q+HyPf5GHUrT/l2pKbtgEIv1al1TKd6qStR5OIwQdN1GZP54ci3y4mroJWjA==", + "license": "(CC-BY-4.0 AND MIT)", + "dependencies": { + "@fortawesome/fontawesome-common-types": "6.6.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@fortawesome/react-fontawesome": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/@fortawesome/react-fontawesome/-/react-fontawesome-0.2.2.tgz", + "integrity": "sha512-EnkrprPNqI6SXJl//m29hpaNzOp1bruISWaOiRtkMi/xSvHJlzc2j2JAYS7egxt/EbjSNV/k6Xy0AQI6vB2+1g==", + "deprecated": "v0.2.x is no longer supported. Unless you are still using FontAwesome 5, please update to v3.1.1 or greater.", + "license": "MIT", + "dependencies": { + "prop-types": "^15.8.1" + }, + "peerDependencies": { + "@fortawesome/fontawesome-svg-core": "~1 || ~6", + "react": ">=16.3" + } + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-regex": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", + "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/strip-ansi": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz", + "integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.2.2" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/@iwer/devui": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@iwer/devui/-/devui-1.1.2.tgz", + "integrity": "sha512-ggF1lXSX14BTYP0QzB4xaurySr2PC+3+rtK/dpCR++giWquzFv2mBw3LW/PaCtdl5mqkZMrQ2GSwfUNg9ZoO+w==", + "license": "MIT", + "dependencies": { + "@fortawesome/fontawesome-svg-core": "6.6.0", + "@fortawesome/free-solid-svg-icons": "6.6.0", + "@fortawesome/react-fontawesome": "0.2.2", + "@pmndrs/handle": "^6.6.17", + "@pmndrs/pointer-events": "^6.6.17", + "react": ">=18.3.1", + "react-dom": ">=18.3.1", + "styled-components": "^6.1.13", + "three": "^0.165.0" + }, + "peerDependencies": { + "iwer": "^2.0.1" + } + }, + "node_modules/@iwer/devui/node_modules/three": { + "version": "0.165.0", + "resolved": "https://registry.npmjs.org/three/-/three-0.165.0.tgz", + "integrity": "sha512-cc96IlVYGydeceu0e5xq70H8/yoVT/tXBxV/W8A/U6uOq7DXc4/s1Mkmnu6SqoYGhSRWWYFOhVwvq6V0VtbplA==", + "license": "MIT" + }, + "node_modules/@iwer/sem": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/@iwer/sem/-/sem-0.2.5.tgz", + "integrity": "sha512-vMCfpu/7Qqc+hkBiGD9pxjeObgrhXOrL0KX94CA3yzJaU0dq0y49HXZT6fC+6X/jOmjaM3hjyE1m2h7ZmLzzyA==", + "license": "MIT", + "dependencies": { + "three": "^0.165.0", + "ts-proto": "^2.6.0" + }, + "peerDependencies": { + "iwer": "^2.0.0" + } + }, + "node_modules/@iwer/sem/node_modules/three": { + "version": "0.165.0", + "resolved": "https://registry.npmjs.org/three/-/three-0.165.0.tgz", + "integrity": "sha512-cc96IlVYGydeceu0e5xq70H8/yoVT/tXBxV/W8A/U6uOq7DXc4/s1Mkmnu6SqoYGhSRWWYFOhVwvq6V0VtbplA==", + "license": "MIT" + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.13", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", + "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/source-map": { + "version": "0.3.11", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.11.tgz", + "integrity": "sha512-ZMp1V8ZFcPG5dIWnQLr3NSI1MiCU7UETdS/A0G8V/XWHvJv3ZsFqutJn1Y5RPmAPX6F3BiE397OqveU/9NCuIA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", + "dev": true, + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.31", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@jsonjoy.com/base64": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/base64/-/base64-1.1.2.tgz", + "integrity": "sha512-q6XAnWQDIMA3+FTiOYajoYqySkO+JSat0ytXGSuRdq9uXE7o92gzuQwQM14xaCRlBLGq3v5miDGC4vkVTn54xA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, + "node_modules/@jsonjoy.com/buffers": { + "version": "17.67.0", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/buffers/-/buffers-17.67.0.tgz", + "integrity": "sha512-tfExRpYxBvi32vPs9ZHaTjSP4fHAfzSmcahOfNxtvGHcyJel+aibkPlGeBB+7AoC6hL7lXIE++8okecBxx7lcw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, + "node_modules/@jsonjoy.com/codegen": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/codegen/-/codegen-1.0.0.tgz", + "integrity": "sha512-E8Oy+08cmCf0EK/NMxpaJZmOxPqM+6iSe2S4nlSBrPZOORoDJILxtbSUEDKQyTamm/BVAhIGllOBNU79/dwf0g==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, + "node_modules/@jsonjoy.com/fs-core": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/fs-core/-/fs-core-4.57.1.tgz", + "integrity": "sha512-YrEi/ZPmgc+GfdO0esBF04qv8boK9Dg9WpRQw/+vM8Qt3nnVIJWIa8HwZ/LXVZ0DB11XUROM8El/7yYTJX+WtA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@jsonjoy.com/fs-node-builtins": "4.57.1", + "@jsonjoy.com/fs-node-utils": "4.57.1", + "thingies": "^2.5.0" + }, + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, + "node_modules/@jsonjoy.com/fs-fsa": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/fs-fsa/-/fs-fsa-4.57.1.tgz", + "integrity": "sha512-ooEPvSW/HQDivPDPZMibHGKZf/QS4WRir1czGZmXmp3MsQqLECZEpN0JobrD8iV9BzsuwdIv+PxtWX9WpPLsIA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@jsonjoy.com/fs-core": "4.57.1", + "@jsonjoy.com/fs-node-builtins": "4.57.1", + "@jsonjoy.com/fs-node-utils": "4.57.1", + "thingies": "^2.5.0" + }, + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, + "node_modules/@jsonjoy.com/fs-node": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/fs-node/-/fs-node-4.57.1.tgz", + "integrity": "sha512-3YaKhP8gXEKN+2O49GLNfNb5l2gbnCFHyAaybbA2JkkbQP3dpdef7WcUaHAulg/c5Dg4VncHsA3NWAUSZMR5KQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@jsonjoy.com/fs-core": "4.57.1", + "@jsonjoy.com/fs-node-builtins": "4.57.1", + "@jsonjoy.com/fs-node-utils": "4.57.1", + "@jsonjoy.com/fs-print": "4.57.1", + "@jsonjoy.com/fs-snapshot": "4.57.1", + "glob-to-regex.js": "^1.0.0", + "thingies": "^2.5.0" + }, + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, + "node_modules/@jsonjoy.com/fs-node-builtins": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/fs-node-builtins/-/fs-node-builtins-4.57.1.tgz", + "integrity": "sha512-XHkFKQ5GSH3uxm8c3ZYXVrexGdscpWKIcMWKFQpMpMJc8gA3AwOMBJXJlgpdJqmrhPyQXxaY9nbkNeYpacC0Og==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, + "node_modules/@jsonjoy.com/fs-node-to-fsa": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/fs-node-to-fsa/-/fs-node-to-fsa-4.57.1.tgz", + "integrity": "sha512-pqGHyWWzNck4jRfaGV39hkqpY5QjRUQ/nRbNT7FYbBa0xf4bDG+TE1Gt2KWZrSkrkZZDE3qZUjYMbjwSliX6pg==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@jsonjoy.com/fs-fsa": "4.57.1", + "@jsonjoy.com/fs-node-builtins": "4.57.1", + "@jsonjoy.com/fs-node-utils": "4.57.1" + }, + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, + "node_modules/@jsonjoy.com/fs-node-utils": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/fs-node-utils/-/fs-node-utils-4.57.1.tgz", + "integrity": "sha512-vp+7ZzIB8v43G+GLXTS4oDUSQmhAsRz532QmmWBbdYA20s465JvwhkSFvX9cVTqRRAQg+vZ7zWDaIEh0lFe2gw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@jsonjoy.com/fs-node-builtins": "4.57.1" + }, + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, + "node_modules/@jsonjoy.com/fs-print": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/fs-print/-/fs-print-4.57.1.tgz", + "integrity": "sha512-Ynct7ZJmfk6qoXDOKfpovNA36ITUx8rChLmRQtW08J73VOiuNsU8PB6d/Xs7fxJC2ohWR3a5AqyjmLojfrw5yw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@jsonjoy.com/fs-node-utils": "4.57.1", + "tree-dump": "^1.1.0" + }, + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, + "node_modules/@jsonjoy.com/fs-snapshot": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/fs-snapshot/-/fs-snapshot-4.57.1.tgz", + "integrity": "sha512-/oG8xBNFMbDXTq9J7vepSA1kerS5vpgd3p5QZSPd+nX59uwodGJftI51gDYyHRpP57P3WCQf7LHtBYPqwUg2Bg==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@jsonjoy.com/buffers": "^17.65.0", + "@jsonjoy.com/fs-node-utils": "4.57.1", + "@jsonjoy.com/json-pack": "^17.65.0", + "@jsonjoy.com/util": "^17.65.0" + }, + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, + "node_modules/@jsonjoy.com/fs-snapshot/node_modules/@jsonjoy.com/base64": { + "version": "17.67.0", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/base64/-/base64-17.67.0.tgz", + "integrity": "sha512-5SEsJGsm15aP8TQGkDfJvz9axgPwAEm98S5DxOuYe8e1EbfajcDmgeXXzccEjh+mLnjqEKrkBdjHWS5vFNwDdw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, + "node_modules/@jsonjoy.com/fs-snapshot/node_modules/@jsonjoy.com/codegen": { + "version": "17.67.0", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/codegen/-/codegen-17.67.0.tgz", + "integrity": "sha512-idnkUplROpdBOV0HMcwhsCUS5TRUi9poagdGs70A6S4ux9+/aPuKbh8+UYRTLYQHtXvAdNfQWXDqZEx5k4Dj2Q==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, + "node_modules/@jsonjoy.com/fs-snapshot/node_modules/@jsonjoy.com/json-pack": { + "version": "17.67.0", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/json-pack/-/json-pack-17.67.0.tgz", + "integrity": "sha512-t0ejURcGaZsn1ClbJ/3kFqSOjlryd92eQY465IYrezsXmPcfHPE/av4twRSxf6WE+TkZgLY+71vCZbiIiFKA/w==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@jsonjoy.com/base64": "17.67.0", + "@jsonjoy.com/buffers": "17.67.0", + "@jsonjoy.com/codegen": "17.67.0", + "@jsonjoy.com/json-pointer": "17.67.0", + "@jsonjoy.com/util": "17.67.0", + "hyperdyperid": "^1.2.0", + "thingies": "^2.5.0", + "tree-dump": "^1.1.0" + }, + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, + "node_modules/@jsonjoy.com/fs-snapshot/node_modules/@jsonjoy.com/json-pointer": { + "version": "17.67.0", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/json-pointer/-/json-pointer-17.67.0.tgz", + "integrity": "sha512-+iqOFInH+QZGmSuaybBUNdh7yvNrXvqR+h3wjXm0N/3JK1EyyFAeGJvqnmQL61d1ARLlk/wJdFKSL+LHJ1eaUA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@jsonjoy.com/util": "17.67.0" + }, + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, + "node_modules/@jsonjoy.com/fs-snapshot/node_modules/@jsonjoy.com/util": { + "version": "17.67.0", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/util/-/util-17.67.0.tgz", + "integrity": "sha512-6+8xBaz1rLSohlGh68D1pdw3AwDi9xydm8QNlAFkvnavCJYSze+pxoW2VKP8p308jtlMRLs5NTHfPlZLd4w7ew==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@jsonjoy.com/buffers": "17.67.0", + "@jsonjoy.com/codegen": "17.67.0" + }, + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, + "node_modules/@jsonjoy.com/json-pack": { + "version": "1.21.0", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/json-pack/-/json-pack-1.21.0.tgz", + "integrity": "sha512-+AKG+R2cfZMShzrF2uQw34v3zbeDYUqnQ+jg7ORic3BGtfw9p/+N6RJbq/kkV8JmYZaINknaEQ2m0/f693ZPpg==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@jsonjoy.com/base64": "^1.1.2", + "@jsonjoy.com/buffers": "^1.2.0", + "@jsonjoy.com/codegen": "^1.0.0", + "@jsonjoy.com/json-pointer": "^1.0.2", + "@jsonjoy.com/util": "^1.9.0", + "hyperdyperid": "^1.2.0", + "thingies": "^2.5.0", + "tree-dump": "^1.1.0" + }, + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, + "node_modules/@jsonjoy.com/json-pack/node_modules/@jsonjoy.com/buffers": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/buffers/-/buffers-1.2.1.tgz", + "integrity": "sha512-12cdlDwX4RUM3QxmUbVJWqZ/mrK6dFQH4Zxq6+r1YXKXYBNgZXndx2qbCJwh3+WWkCSn67IjnlG3XYTvmvYtgA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, + "node_modules/@jsonjoy.com/json-pointer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/json-pointer/-/json-pointer-1.0.2.tgz", + "integrity": "sha512-Fsn6wM2zlDzY1U+v4Nc8bo3bVqgfNTGcn6dMgs6FjrEnt4ZCe60o6ByKRjOGlI2gow0aE/Q41QOigdTqkyK5fg==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@jsonjoy.com/codegen": "^1.0.0", + "@jsonjoy.com/util": "^1.9.0" + }, + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, + "node_modules/@jsonjoy.com/util": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/util/-/util-1.9.0.tgz", + "integrity": "sha512-pLuQo+VPRnN8hfPqUTLTHk126wuYdXVxE6aDmjSeV4NCAgyxWbiOIeNJVtID3h1Vzpoi9m4jXezf73I6LgabgQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@jsonjoy.com/buffers": "^1.0.0", + "@jsonjoy.com/codegen": "^1.0.0" + }, + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, + "node_modules/@jsonjoy.com/util/node_modules/@jsonjoy.com/buffers": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/buffers/-/buffers-1.2.1.tgz", + "integrity": "sha512-12cdlDwX4RUM3QxmUbVJWqZ/mrK6dFQH4Zxq6+r1YXKXYBNgZXndx2qbCJwh3+WWkCSn67IjnlG3XYTvmvYtgA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, + "node_modules/@leichtgewicht/ip-codec": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.5.tgz", + "integrity": "sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@mediapipe/tasks-vision": { + "version": "0.10.17", + "resolved": "https://registry.npmjs.org/@mediapipe/tasks-vision/-/tasks-vision-0.10.17.tgz", + "integrity": "sha512-CZWV/q6TTe8ta61cZXjfnnHsfWIdFhms03M9T7Cnd5y2mdpylJM0rF1qRq+wsQVRMLz1OYPVEBU9ph2Bx8cxrg==", + "license": "Apache-2.0" + }, + "node_modules/@monogrid/gainmap-js": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@monogrid/gainmap-js/-/gainmap-js-3.4.0.tgz", + "integrity": "sha512-2Z0FATFHaoYJ8b+Y4y4Hgfn3FRFwuU5zRrk+9dFWp4uGAdHGqVEdP7HP+gLA3X469KXHmfupJaUbKo1b/aDKIg==", + "license": "MIT", + "dependencies": { + "promise-worker-transferable": "^1.0.4" + }, + "peerDependencies": { + "three": ">= 0.159.0" + } + }, + "node_modules/@noble/hashes": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.4.0.tgz", + "integrity": "sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@nvidia/cloudxr": { + "version": "6.0.0-beta", + "resolved": "file:../nvidia-cloudxr-6.0.0-beta.tgz", + "integrity": "sha512-3hhRzWWmNrTFMD7QxLOkZRYEJrWYH0q4hYG+j4hc1ZyhDsD0vmEZNNoJG9wp2/PsTfjlGm9JLtcCKCiZkkqaIw==", + "engines": { + "node": ">=20.19.0" + }, + "peerDependencies": { + "gl-matrix": "^3.4.3", + "long": "^5.3.2" + } + }, + "node_modules/@peculiar/asn1-cms": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/@peculiar/asn1-cms/-/asn1-cms-2.6.1.tgz", + "integrity": "sha512-vdG4fBF6Lkirkcl53q6eOdn3XYKt+kJTG59edgRZORlg/3atWWEReRCx5rYE1ZzTTX6vLK5zDMjHh7vbrcXGtw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@peculiar/asn1-schema": "^2.6.0", + "@peculiar/asn1-x509": "^2.6.1", + "@peculiar/asn1-x509-attr": "^2.6.1", + "asn1js": "^3.0.6", + "tslib": "^2.8.1" + } + }, + "node_modules/@peculiar/asn1-csr": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/@peculiar/asn1-csr/-/asn1-csr-2.6.1.tgz", + "integrity": "sha512-WRWnKfIocHyzFYQTka8O/tXCiBquAPSrRjXbOkHbO4qdmS6loffCEGs+rby6WxxGdJCuunnhS2duHURhjyio6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@peculiar/asn1-schema": "^2.6.0", + "@peculiar/asn1-x509": "^2.6.1", + "asn1js": "^3.0.6", + "tslib": "^2.8.1" + } + }, + "node_modules/@peculiar/asn1-ecc": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/@peculiar/asn1-ecc/-/asn1-ecc-2.6.1.tgz", + "integrity": "sha512-+Vqw8WFxrtDIN5ehUdvlN2m73exS2JVG0UAyfVB31gIfor3zWEAQPD+K9ydCxaj3MLen9k0JhKpu9LqviuCE1g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@peculiar/asn1-schema": "^2.6.0", + "@peculiar/asn1-x509": "^2.6.1", + "asn1js": "^3.0.6", + "tslib": "^2.8.1" + } + }, + "node_modules/@peculiar/asn1-pfx": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/@peculiar/asn1-pfx/-/asn1-pfx-2.6.1.tgz", + "integrity": "sha512-nB5jVQy3MAAWvq0KY0R2JUZG8bO/bTLpnwyOzXyEh/e54ynGTatAR+csOnXkkVD9AFZ2uL8Z7EV918+qB1qDvw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@peculiar/asn1-cms": "^2.6.1", + "@peculiar/asn1-pkcs8": "^2.6.1", + "@peculiar/asn1-rsa": "^2.6.1", + "@peculiar/asn1-schema": "^2.6.0", + "asn1js": "^3.0.6", + "tslib": "^2.8.1" + } + }, + "node_modules/@peculiar/asn1-pkcs8": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/@peculiar/asn1-pkcs8/-/asn1-pkcs8-2.6.1.tgz", + "integrity": "sha512-JB5iQ9Izn5yGMw3ZG4Nw3Xn/hb/G38GYF3lf7WmJb8JZUydhVGEjK/ZlFSWhnlB7K/4oqEs8HnfFIKklhR58Tw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@peculiar/asn1-schema": "^2.6.0", + "@peculiar/asn1-x509": "^2.6.1", + "asn1js": "^3.0.6", + "tslib": "^2.8.1" + } + }, + "node_modules/@peculiar/asn1-pkcs9": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/@peculiar/asn1-pkcs9/-/asn1-pkcs9-2.6.1.tgz", + "integrity": "sha512-5EV8nZoMSxeWmcxWmmcolg22ojZRgJg+Y9MX2fnE2bGRo5KQLqV5IL9kdSQDZxlHz95tHvIq9F//bvL1OeNILw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@peculiar/asn1-cms": "^2.6.1", + "@peculiar/asn1-pfx": "^2.6.1", + "@peculiar/asn1-pkcs8": "^2.6.1", + "@peculiar/asn1-schema": "^2.6.0", + "@peculiar/asn1-x509": "^2.6.1", + "@peculiar/asn1-x509-attr": "^2.6.1", + "asn1js": "^3.0.6", + "tslib": "^2.8.1" + } + }, + "node_modules/@peculiar/asn1-rsa": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/@peculiar/asn1-rsa/-/asn1-rsa-2.6.1.tgz", + "integrity": "sha512-1nVMEh46SElUt5CB3RUTV4EG/z7iYc7EoaDY5ECwganibQPkZ/Y2eMsTKB/LeyrUJ+W/tKoD9WUqIy8vB+CEdA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@peculiar/asn1-schema": "^2.6.0", + "@peculiar/asn1-x509": "^2.6.1", + "asn1js": "^3.0.6", + "tslib": "^2.8.1" + } + }, + "node_modules/@peculiar/asn1-schema": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@peculiar/asn1-schema/-/asn1-schema-2.6.0.tgz", + "integrity": "sha512-xNLYLBFTBKkCzEZIw842BxytQQATQv+lDTCEMZ8C196iJcJJMBUZxrhSTxLaohMyKK8QlzRNTRkUmanucnDSqg==", + "dev": true, + "license": "MIT", + "dependencies": { + "asn1js": "^3.0.6", + "pvtsutils": "^1.3.6", + "tslib": "^2.8.1" + } + }, + "node_modules/@peculiar/asn1-x509": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/@peculiar/asn1-x509/-/asn1-x509-2.6.1.tgz", + "integrity": "sha512-O9jT5F1A2+t3r7C4VT7LYGXqkGLK7Kj1xFpz7U0isPrubwU5PbDoyYtx6MiGst29yq7pXN5vZbQFKRCP+lLZlA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@peculiar/asn1-schema": "^2.6.0", + "asn1js": "^3.0.6", + "pvtsutils": "^1.3.6", + "tslib": "^2.8.1" + } + }, + "node_modules/@peculiar/asn1-x509-attr": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/@peculiar/asn1-x509-attr/-/asn1-x509-attr-2.6.1.tgz", + "integrity": "sha512-tlW6cxoHwgcQghnJwv3YS+9OO1737zgPogZ+CgWRUK4roEwIPzRH4JEiG770xe5HX2ATfCpmX60gurfWIF9dcQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@peculiar/asn1-schema": "^2.6.0", + "@peculiar/asn1-x509": "^2.6.1", + "asn1js": "^3.0.6", + "tslib": "^2.8.1" + } + }, + "node_modules/@peculiar/x509": { + "version": "1.14.3", + "resolved": "https://registry.npmjs.org/@peculiar/x509/-/x509-1.14.3.tgz", + "integrity": "sha512-C2Xj8FZ0uHWeCXXqX5B4/gVFQmtSkiuOolzAgutjTfseNOHT3pUjljDZsTSxXFGgio54bCzVFqmEOUrIVk8RDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@peculiar/asn1-cms": "^2.6.0", + "@peculiar/asn1-csr": "^2.6.0", + "@peculiar/asn1-ecc": "^2.6.0", + "@peculiar/asn1-pkcs9": "^2.6.0", + "@peculiar/asn1-rsa": "^2.6.0", + "@peculiar/asn1-schema": "^2.6.0", + "@peculiar/asn1-x509": "^2.6.0", + "pvtsutils": "^1.3.6", + "reflect-metadata": "^0.2.2", + "tslib": "^2.8.1", + "tsyringe": "^4.10.0" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@pmndrs/handle": { + "version": "6.6.29", + "resolved": "https://registry.npmjs.org/@pmndrs/handle/-/handle-6.6.29.tgz", + "integrity": "sha512-zfvakgxva2P5nB6HeOuSMGyFFFP6B5cRO61DeHKSm4z7WRW2FT8baaxW5izsYqymzc4Xutc9fpeIxbFL/GbmAw==", + "license": "SEE LICENSE IN LICENSE", + "dependencies": { + "@pmndrs/pointer-events": "~6.6.29", + "zustand": "^4.5.2" + } + }, + "node_modules/@pmndrs/handle/node_modules/zustand": { + "version": "4.5.7", + "resolved": "https://registry.npmjs.org/zustand/-/zustand-4.5.7.tgz", + "integrity": "sha512-CHOUy7mu3lbD6o6LJLfllpjkzhHXSBlX8B9+qPddUsIfeF5S/UZ5q0kmCsnRqT1UHFQZchNFDDzMbQsuesHWlw==", + "license": "MIT", + "dependencies": { + "use-sync-external-store": "^1.2.2" + }, + "engines": { + "node": ">=12.7.0" + }, + "peerDependencies": { + "@types/react": ">=16.8", + "immer": ">=9.0.6", + "react": ">=16.8" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "immer": { + "optional": true + }, + "react": { + "optional": true + } + } + }, + "node_modules/@pmndrs/msdfonts": { + "version": "1.0.64", + "resolved": "https://registry.npmjs.org/@pmndrs/msdfonts/-/msdfonts-1.0.64.tgz", + "integrity": "sha512-fyDNvCIGUTUYxDOzQnLOAGEuDQbyjx1JUlEYrjHB8KLDWzVl0j2SoFiLN4AwahEh4pXiA7XdJBNneQKnfMa/Bw==", + "license": "SEE LICENSE IN LICENSE" + }, + "node_modules/@pmndrs/pointer-events": { + "version": "6.6.29", + "resolved": "https://registry.npmjs.org/@pmndrs/pointer-events/-/pointer-events-6.6.29.tgz", + "integrity": "sha512-o4YD6VfJgDYjFgde/YyAw2X5KY454tdmOXrHGOvKTWJBHzkL90B5vH4rqmexwRVvaDfT3YLvVh/Dm5cBbgZXMg==", + "license": "SEE LICENSE IN LICENSE" + }, + "node_modules/@pmndrs/uikit": { + "version": "1.0.64", + "resolved": "https://registry.npmjs.org/@pmndrs/uikit/-/uikit-1.0.64.tgz", + "integrity": "sha512-FQgF8sf46U6fmHnqOn32S04lnWiXVxQO6MatL7FgoLKJ74YIBgEHgwKHRwltgLrN/rcTu7LgJm7LgvXvMccEGA==", + "license": "SEE LICENSE IN LICENSE", + "dependencies": { + "@pmndrs/msdfonts": "^1.0.64", + "@pmndrs/uikit-pub-sub": "^1.0.64", + "@preact/signals-core": "^1.5.1", + "@zappar/msdf-generator": "^1.2.4", + "yoga-layout": "^3.2.1" + }, + "peerDependencies": { + "three": ">=0.162" + } + }, + "node_modules/@pmndrs/uikit-default": { + "version": "1.0.64", + "resolved": "https://registry.npmjs.org/@pmndrs/uikit-default/-/uikit-default-1.0.64.tgz", + "integrity": "sha512-247ak5lysNU9NGGuxOvdOas65aa78eGQTRWktmF9ymFLyqHdti0mlby5oqtFV/gIVjF0ZHNvdwinnUhm9pX8RA==", + "license": "SEE LICENSE IN LICENSE", + "dependencies": { + "@pmndrs/uikit": "^1.0.64", + "@pmndrs/uikit-lucide": "^1.0.64" + } + }, + "node_modules/@pmndrs/uikit-lucide": { + "version": "1.0.64", + "resolved": "https://registry.npmjs.org/@pmndrs/uikit-lucide/-/uikit-lucide-1.0.64.tgz", + "integrity": "sha512-WU9CqboaBJHLvAk3Qt6V+7oMSk2lafY/ZwdcjuwSt3U+ZExHMnM24APeBdwi6w0e0sER2I/qiSVDs26JPOg7ew==", + "license": "SEE LICENSE IN LICENSE", + "dependencies": { + "@pmndrs/uikit": "^1.0.64" + } + }, + "node_modules/@pmndrs/uikit-pub-sub": { + "version": "1.0.64", + "resolved": "https://registry.npmjs.org/@pmndrs/uikit-pub-sub/-/uikit-pub-sub-1.0.64.tgz", + "integrity": "sha512-+hlc5aWC3wQlA/zihwh+OGSm3aY9O+L/TEuNLwXw6R8syHMv7obqeY6s/hcjzD92k6DRQZLhVzVy+yqqVKAbRA==", + "license": "MIT", + "dependencies": { + "@preact/signals-core": "^1.8.0" + } + }, + "node_modules/@pmndrs/xr": { + "version": "6.6.29", + "resolved": "https://registry.npmjs.org/@pmndrs/xr/-/xr-6.6.29.tgz", + "integrity": "sha512-+17cGaV6tlYM6UJznKiPR1qw39NQDAvYchb2TRg8MnxUc9hOXKe/3a62DlLIe3uGfK9dnd7DlZlegeR/jIDEWg==", + "license": "SEE LICENSE IN LICENSE", + "dependencies": { + "@iwer/devui": "^1.1.1", + "@iwer/sem": "~0.2.5", + "@pmndrs/pointer-events": "~6.6.29", + "iwer": "^2.1.0", + "meshline": "^3.3.1", + "zustand": "^4.5.2" + }, + "peerDependencies": { + "three": "*" + } + }, + "node_modules/@pmndrs/xr/node_modules/zustand": { + "version": "4.5.7", + "resolved": "https://registry.npmjs.org/zustand/-/zustand-4.5.7.tgz", + "integrity": "sha512-CHOUy7mu3lbD6o6LJLfllpjkzhHXSBlX8B9+qPddUsIfeF5S/UZ5q0kmCsnRqT1UHFQZchNFDDzMbQsuesHWlw==", + "license": "MIT", + "dependencies": { + "use-sync-external-store": "^1.2.2" + }, + "engines": { + "node": ">=12.7.0" + }, + "peerDependencies": { + "@types/react": ">=16.8", + "immer": ">=9.0.6", + "react": ">=16.8" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "immer": { + "optional": true + }, + "react": { + "optional": true + } + } + }, + "node_modules/@preact/signals-core": { + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/@preact/signals-core/-/signals-core-1.14.0.tgz", + "integrity": "sha512-AowtCcCU/33lFlh1zRFf/u+12rfrhtNakj7UpaGEsmMwUKpKWMVvcktOGcwBBNiB4lWrZWc01LhiyyzVklJyaQ==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/preact" + } + }, + "node_modules/@react-three/drei": { + "version": "10.7.7", + "resolved": "https://registry.npmjs.org/@react-three/drei/-/drei-10.7.7.tgz", + "integrity": "sha512-ff+J5iloR0k4tC++QtD/j9u3w5fzfgFAWDtAGQah9pF2B1YgOq/5JxqY0/aVoQG5r3xSZz0cv5tk2YuBob4xEQ==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.26.0", + "@mediapipe/tasks-vision": "0.10.17", + "@monogrid/gainmap-js": "^3.0.6", + "@use-gesture/react": "^10.3.1", + "camera-controls": "^3.1.0", + "cross-env": "^7.0.3", + "detect-gpu": "^5.0.56", + "glsl-noise": "^0.0.0", + "hls.js": "^1.5.17", + "maath": "^0.10.8", + "meshline": "^3.3.1", + "stats-gl": "^2.2.8", + "stats.js": "^0.17.0", + "suspend-react": "^0.1.3", + "three-mesh-bvh": "^0.8.3", + "three-stdlib": "^2.35.6", + "troika-three-text": "^0.52.4", + "tunnel-rat": "^0.1.2", + "use-sync-external-store": "^1.4.0", + "utility-types": "^3.11.0", + "zustand": "^5.0.1" + }, + "peerDependencies": { + "@react-three/fiber": "^9.0.0", + "react": "^19", + "react-dom": "^19", + "three": ">=0.159" + }, + "peerDependenciesMeta": { + "react-dom": { + "optional": true + } + } + }, + "node_modules/@react-three/fiber": { + "version": "9.5.0", + "resolved": "https://registry.npmjs.org/@react-three/fiber/-/fiber-9.5.0.tgz", + "integrity": "sha512-FiUzfYW4wB1+PpmsE47UM+mCads7j2+giRBltfwH7SNhah95rqJs3ltEs9V3pP8rYdS0QlNne+9Aj8dS/SiaIA==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.17.8", + "@types/webxr": "*", + "base64-js": "^1.5.1", + "buffer": "^6.0.3", + "its-fine": "^2.0.0", + "react-use-measure": "^2.1.7", + "scheduler": "^0.27.0", + "suspend-react": "^0.1.3", + "use-sync-external-store": "^1.4.0", + "zustand": "^5.0.3" + }, + "peerDependencies": { + "expo": ">=43.0", + "expo-asset": ">=8.4", + "expo-file-system": ">=11.0", + "expo-gl": ">=11.0", + "react": ">=19 <19.3", + "react-dom": ">=19 <19.3", + "react-native": ">=0.78", + "three": ">=0.156" + }, + "peerDependenciesMeta": { + "expo": { + "optional": true + }, + "expo-asset": { + "optional": true + }, + "expo-file-system": { + "optional": true + }, + "expo-gl": { + "optional": true + }, + "react-dom": { + "optional": true + }, + "react-native": { + "optional": true + } + } + }, + "node_modules/@react-three/uikit": { + "version": "1.0.64", + "resolved": "https://registry.npmjs.org/@react-three/uikit/-/uikit-1.0.64.tgz", + "integrity": "sha512-//wUWePJHHHWgDokWs2WUs8yUqOJ1Dy/g1OufGHw/BeTujtoNG0hmuISjdeDXZOQPfNjpMgrbemfmvryTeCfLg==", + "license": "SEE LICENSE IN LICENSE", + "dependencies": { + "@pmndrs/pointer-events": "^6.6.29", + "@pmndrs/uikit": "^1.0.64", + "@preact/signals-core": "^1.5.1", + "suspend-react": "^0.1.3", + "zustand": "^5.0.6" + }, + "peerDependencies": { + "@react-three/fiber": ">=8", + "react": ">=18" + } + }, + "node_modules/@react-three/uikit-default": { + "version": "1.0.64", + "resolved": "https://registry.npmjs.org/@react-three/uikit-default/-/uikit-default-1.0.64.tgz", + "integrity": "sha512-OoHSHevT0L8v6LCiNdpxsSMTRAYXa00H67BD+jmaMMrB/ehFGvXtfEqAze5HRoIMwW2mppg3phy5T1GNtuVvWw==", + "license": "SEE LICENSE IN LICENSE", + "dependencies": { + "@pmndrs/uikit-default": "^1.0.64", + "@react-three/uikit": "^1.0.64" + } + }, + "node_modules/@react-three/xr": { + "version": "6.6.29", + "resolved": "https://registry.npmjs.org/@react-three/xr/-/xr-6.6.29.tgz", + "integrity": "sha512-qHegmgqTuao+8WC3MylTqg1HZWCw0b4hRH+rF4Em0kRaWU8gYCGpSYnq8fDrG6QlzfEUTTz5b235BwjUvi6oWw==", + "license": "SEE LICENSE IN LICENSE", + "dependencies": { + "@pmndrs/pointer-events": "~6.6.29", + "@pmndrs/xr": "~6.6.29", + "suspend-react": "^0.1.3", + "tunnel-rat": "^0.1.2", + "zustand": "^4.5.2" + }, + "peerDependencies": { + "@react-three/fiber": ">=8", + "react": ">=18", + "react-dom": ">=18", + "three": "*" + } + }, + "node_modules/@react-three/xr/node_modules/zustand": { + "version": "4.5.7", + "resolved": "https://registry.npmjs.org/zustand/-/zustand-4.5.7.tgz", + "integrity": "sha512-CHOUy7mu3lbD6o6LJLfllpjkzhHXSBlX8B9+qPddUsIfeF5S/UZ5q0kmCsnRqT1UHFQZchNFDDzMbQsuesHWlw==", + "license": "MIT", + "dependencies": { + "use-sync-external-store": "^1.2.2" + }, + "engines": { + "node": ">=12.7.0" + }, + "peerDependencies": { + "@types/react": ">=16.8", + "immer": ">=9.0.6", + "react": ">=16.8" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "immer": { + "optional": true + }, + "react": { + "optional": true + } + } + }, + "node_modules/@tweenjs/tween.js": { + "version": "23.1.3", + "resolved": "https://registry.npmjs.org/@tweenjs/tween.js/-/tween.js-23.1.3.tgz", + "integrity": "sha512-vJmvvwFxYuGnF2axRtPYocag6Clbb5YS7kLL+SO/TeVFzHqDIWrNKYtcsPMibjDx9O+bu+psAy9NKfWklassUA==", + "license": "MIT" + }, + "node_modules/@types/body-parser": { + "version": "1.19.6", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.6.tgz", + "integrity": "sha512-HLFeCYgz89uk22N5Qg3dvGvsv46B8GLvKKo1zKG4NybA8U2DiEO3w9lqGg29t/tfLRJpJ6iQxnVw4OnB7MoM9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "node_modules/@types/bonjour": { + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.13.tgz", + "integrity": "sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/connect": { + "version": "3.4.38", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", + "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/connect-history-api-fallback": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.4.tgz", + "integrity": "sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/express-serve-static-core": "*", + "@types/node": "*" + } + }, + "node_modules/@types/draco3d": { + "version": "1.4.10", + "resolved": "https://registry.npmjs.org/@types/draco3d/-/draco3d-1.4.10.tgz", + "integrity": "sha512-AX22jp8Y7wwaBgAixaSvkoG4M/+PlAcm3Qs4OW8yT9DM4xUpWKeFhLueTAyZF39pviAdcDdeJoACapiAceqNcw==", + "license": "MIT" + }, + "node_modules/@types/eslint": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-9.6.1.tgz", + "integrity": "sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "node_modules/@types/eslint-scope": { + "version": "3.7.7", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", + "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/@types/express": { + "version": "4.17.25", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.25.tgz", + "integrity": "sha512-dVd04UKsfpINUnK0yBoYHDF3xu7xVH4BuDotC/xGuycx4CgbP48X/KF/586bcObxT0HENHXEU8Nqtu6NR+eKhw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.33", + "@types/qs": "*", + "@types/serve-static": "^1" + } + }, + "node_modules/@types/express-serve-static-core": { + "version": "4.19.8", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.8.tgz", + "integrity": "sha512-02S5fmqeoKzVZCHPZid4b8JH2eM5HzQLZWN2FohQEy/0eXTq8VXZfSN6Pcr3F6N9R/vNrj7cpgbhjie6m/1tCA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*", + "@types/send": "*" + } + }, + "node_modules/@types/html-minifier-terser": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", + "integrity": "sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/http-errors": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.5.tgz", + "integrity": "sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/http-proxy": { + "version": "1.17.17", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.17.tgz", + "integrity": "sha512-ED6LB+Z1AVylNTu7hdzuBqOgMnvG/ld6wGCG8wFnAzKX5uyW2K3WD52v0gnLCTK/VLpXtKckgWuyScYK6cSPaw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/mime": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz", + "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-25.5.0.tgz", + "integrity": "sha512-jp2P3tQMSxWugkCUKLRPVUpGaL5MVFwF8RDuSRztfwgN1wmqJeMSbKlnEtQqU8UrhTmzEmZdu2I6v2dpp7XIxw==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~7.18.0" + } + }, + "node_modules/@types/offscreencanvas": { + "version": "2019.7.3", + "resolved": "https://registry.npmjs.org/@types/offscreencanvas/-/offscreencanvas-2019.7.3.tgz", + "integrity": "sha512-ieXiYmgSRXUDeOntE1InxjWyvEelZGP63M+cGuquuRLuIKKT1osnkXjxev9B7d1nXSug5vpunx+gNlbVxMlC9A==", + "license": "MIT" + }, + "node_modules/@types/qs": { + "version": "6.15.0", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.15.0.tgz", + "integrity": "sha512-JawvT8iBVWpzTrz3EGw9BTQFg3BQNmwERdKE22vlTxawwtbyUSlMppvZYKLZzB5zgACXdXxbD3m1bXaMqP/9ow==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/range-parser": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz", + "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/react": { + "version": "19.2.14", + "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.14.tgz", + "integrity": "sha512-ilcTH/UniCkMdtexkoCN0bI7pMcJDvmQFPvuPvmEaYA/NSfFTAgdUSLAoVjaRJm7+6PvcM+q1zYOwS4wTYMF9w==", + "license": "MIT", + "dependencies": { + "csstype": "^3.2.2" + } + }, + "node_modules/@types/react-dom": { + "version": "19.2.3", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.2.3.tgz", + "integrity": "sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "@types/react": "^19.2.0" + } + }, + "node_modules/@types/react-reconciler": { + "version": "0.28.9", + "resolved": "https://registry.npmjs.org/@types/react-reconciler/-/react-reconciler-0.28.9.tgz", + "integrity": "sha512-HHM3nxyUZ3zAylX8ZEyrDNd2XZOnQ0D5XfunJF5FLQnZbHHYq4UWvW1QfelQNXv1ICNkwYhfxjwfnqivYB6bFg==", + "license": "MIT", + "peerDependencies": { + "@types/react": "*" + } + }, + "node_modules/@types/retry": { + "version": "0.12.2", + "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.2.tgz", + "integrity": "sha512-XISRgDJ2Tc5q4TRqvgJtzsRkFYNJzZrhTdtMoGVBttwzzQJkPnS3WWTFc7kuDRoPtPakl+T+OfdEUjYJj7Jbow==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/send": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@types/send/-/send-1.2.1.tgz", + "integrity": "sha512-arsCikDvlU99zl1g69TcAB3mzZPpxgw0UQnaHeC1Nwb015xp8bknZv5rIfri9xTOcMuaVgvabfIRA7PSZVuZIQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/serve-index": { + "version": "1.9.4", + "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.4.tgz", + "integrity": "sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/express": "*" + } + }, + "node_modules/@types/serve-static": { + "version": "1.15.10", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.10.tgz", + "integrity": "sha512-tRs1dB+g8Itk72rlSI2ZrW6vZg0YrLI81iQSTkMmOqnqCaNr/8Ek4VwWcN5vZgCYWbg/JJSGBlUaYGAOP73qBw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/http-errors": "*", + "@types/node": "*", + "@types/send": "<1" + } + }, + "node_modules/@types/serve-static/node_modules/@types/send": { + "version": "0.17.6", + "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.6.tgz", + "integrity": "sha512-Uqt8rPBE8SY0RK8JB1EzVOIZ32uqy8HwdxCnoCOsYrvnswqmFZ/k+9Ikidlk/ImhsdvBsloHbAlewb2IEBV/Og==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/mime": "^1", + "@types/node": "*" + } + }, + "node_modules/@types/sockjs": { + "version": "0.3.36", + "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.36.tgz", + "integrity": "sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/stats.js": { + "version": "0.17.4", + "resolved": "https://registry.npmjs.org/@types/stats.js/-/stats.js-0.17.4.tgz", + "integrity": "sha512-jIBvWWShCvlBqBNIZt0KAshWpvSjhkwkEu4ZUcASoAvhmrgAUI2t1dXrjSL4xXVLB4FznPrIsX3nKXFl/Dt4vA==", + "license": "MIT" + }, + "node_modules/@types/stylis": { + "version": "4.2.7", + "resolved": "https://registry.npmjs.org/@types/stylis/-/stylis-4.2.7.tgz", + "integrity": "sha512-VgDNokpBoKF+wrdvhAAfS55OMQpL6QRglwTwNC3kIgBrzZxA4WsFj+2eLfEA/uMUDzBcEhYmjSbwQakn/i3ajA==", + "license": "MIT" + }, + "node_modules/@types/three": { + "version": "0.172.0", + "resolved": "https://registry.npmjs.org/@types/three/-/three-0.172.0.tgz", + "integrity": "sha512-LrUtP3FEG26Zg5WiF0nbg8VoXiKokBLTcqM2iLvM9vzcfEiYmmBAPGdBgV0OYx9fvWlY3R/3ERTZcD9X5sc0NA==", + "license": "MIT", + "dependencies": { + "@tweenjs/tween.js": "~23.1.3", + "@types/stats.js": "*", + "@types/webxr": "*", + "@webgpu/types": "*", + "fflate": "~0.8.2", + "meshoptimizer": "~0.18.1" + } + }, + "node_modules/@types/webxr": { + "version": "0.5.24", + "resolved": "https://registry.npmjs.org/@types/webxr/-/webxr-0.5.24.tgz", + "integrity": "sha512-h8fgEd/DpoS9CBrjEQXR+dIDraopAEfu4wYVNY2tEPwk60stPWhvZMf4Foo5FakuQ7HFZoa8WceaWFervK2Ovg==", + "license": "MIT" + }, + "node_modules/@types/ws": { + "version": "8.18.1", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.18.1.tgz", + "integrity": "sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@use-gesture/core": { + "version": "10.3.1", + "resolved": "https://registry.npmjs.org/@use-gesture/core/-/core-10.3.1.tgz", + "integrity": "sha512-WcINiDt8WjqBdUXye25anHiNxPc0VOrlT8F6LLkU6cycrOGUDyY/yyFmsg3k8i5OLvv25llc0QC45GhR/C8llw==", + "license": "MIT" + }, + "node_modules/@use-gesture/react": { + "version": "10.3.1", + "resolved": "https://registry.npmjs.org/@use-gesture/react/-/react-10.3.1.tgz", + "integrity": "sha512-Yy19y6O2GJq8f7CHf7L0nxL8bf4PZCPaVOCgJrusOeFHY1LvHgYXnmnXg6N5iwAnbgbZCDjo60SiM6IPJi9C5g==", + "license": "MIT", + "dependencies": { + "@use-gesture/core": "10.3.1" + }, + "peerDependencies": { + "react": ">= 16.8.0" + } + }, + "node_modules/@webassemblyjs/ast": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.14.1.tgz", + "integrity": "sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@webassemblyjs/helper-numbers": "1.13.2", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2" + } + }, + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.13.2.tgz", + "integrity": "sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.13.2.tgz", + "integrity": "sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.14.1.tgz", + "integrity": "sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/@webassemblyjs/helper-numbers": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.13.2.tgz", + "integrity": "sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@webassemblyjs/floating-point-hex-parser": "1.13.2", + "@webassemblyjs/helper-api-error": "1.13.2", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.13.2.tgz", + "integrity": "sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.14.1.tgz", + "integrity": "sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/wasm-gen": "1.14.1" + } + }, + "node_modules/@webassemblyjs/ieee754": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.13.2.tgz", + "integrity": "sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "node_modules/@webassemblyjs/leb128": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.13.2.tgz", + "integrity": "sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==", + "dev": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/utf8": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.13.2.tgz", + "integrity": "sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.14.1.tgz", + "integrity": "sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/helper-wasm-section": "1.14.1", + "@webassemblyjs/wasm-gen": "1.14.1", + "@webassemblyjs/wasm-opt": "1.14.1", + "@webassemblyjs/wasm-parser": "1.14.1", + "@webassemblyjs/wast-printer": "1.14.1" + } + }, + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.14.1.tgz", + "integrity": "sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/ieee754": "1.13.2", + "@webassemblyjs/leb128": "1.13.2", + "@webassemblyjs/utf8": "1.13.2" + } + }, + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.14.1.tgz", + "integrity": "sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/wasm-gen": "1.14.1", + "@webassemblyjs/wasm-parser": "1.14.1" + } + }, + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.14.1.tgz", + "integrity": "sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-api-error": "1.13.2", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/ieee754": "1.13.2", + "@webassemblyjs/leb128": "1.13.2", + "@webassemblyjs/utf8": "1.13.2" + } + }, + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.14.1.tgz", + "integrity": "sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webgpu/types": { + "version": "0.1.69", + "resolved": "https://registry.npmjs.org/@webgpu/types/-/types-0.1.69.tgz", + "integrity": "sha512-RPmm6kgRbI8e98zSD3RVACvnuktIja5+yLgDAkTmxLr90BEwdTXRQWNLF3ETTTyH/8mKhznZuN5AveXYFEsMGQ==", + "license": "BSD-3-Clause" + }, + "node_modules/@webpack-cli/configtest": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-3.0.1.tgz", + "integrity": "sha512-u8d0pJ5YFgneF/GuvEiDA61Tf1VDomHHYMjv/wc9XzYj7nopltpG96nXN5dJRstxZhcNpV1g+nT6CydO7pHbjA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18.12.0" + }, + "peerDependencies": { + "webpack": "^5.82.0", + "webpack-cli": "6.x.x" + } + }, + "node_modules/@webpack-cli/info": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-3.0.1.tgz", + "integrity": "sha512-coEmDzc2u/ffMvuW9aCjoRzNSPDl/XLuhPdlFRpT9tZHmJ/039az33CE7uH+8s0uL1j5ZNtfdv0HkfaKRBGJsQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18.12.0" + }, + "peerDependencies": { + "webpack": "^5.82.0", + "webpack-cli": "6.x.x" + } + }, + "node_modules/@webpack-cli/serve": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-3.0.1.tgz", + "integrity": "sha512-sbgw03xQaCLiT6gcY/6u3qBDn01CWw/nbaXl3gTdTFuJJ75Gffv3E3DBpgvY2fkkrdS1fpjaXNOmJlnbtKauKg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18.12.0" + }, + "peerDependencies": { + "webpack": "^5.82.0", + "webpack-cli": "6.x.x" + }, + "peerDependenciesMeta": { + "webpack-dev-server": { + "optional": true + } + } + }, + "node_modules/@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true, + "license": "BSD-3-Clause", + "peer": true + }, + "node_modules/@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true, + "license": "Apache-2.0", + "peer": true + }, + "node_modules/@zappar/msdf-generator": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@zappar/msdf-generator/-/msdf-generator-1.2.4.tgz", + "integrity": "sha512-6S/MCk0Ky0ipewZJw4xFEzH/2aYfWmPXEkTdBtNyDDfkbicrNwgJgtxZ4SnTDyNe9XHMqDA4sL9srRsgDLRMqA==", + "license": "MIT", + "dependencies": { + "comlink": "^4.4.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/accepts/node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/acorn": { + "version": "8.16.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz", + "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==", + "dev": true, + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-import-phases": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/acorn-import-phases/-/acorn-import-phases-1.0.4.tgz", + "integrity": "sha512-wKmbr/DDiIXzEOiWrTTUcDm24kQ2vGfZQvM2fwg2vXqR5uW6aapr7ObPtj1th32b9u90/Pf4AItvdTh42fBmVQ==", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=10.13.0" + }, + "peerDependencies": { + "acorn": "^8.14.0" + } + }, + "node_modules/ajv": { + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.18.0.tgz", + "integrity": "sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/ansi-html-community": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", + "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==", + "dev": true, + "engines": [ + "node >= 0.8.0" + ], + "license": "Apache-2.0", + "bin": { + "ansi-html": "bin/ansi-html" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "license": "ISC", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/anymatch/node_modules/picomatch": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz", + "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", + "dev": true, + "license": "MIT" + }, + "node_modules/asn1js": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/asn1js/-/asn1js-3.0.7.tgz", + "integrity": "sha512-uLvq6KJu04qoQM6gvBfKFjlh6Gl0vOKQuR5cJMDHQkmwfMOQeN3F3SHCv9SNYSL+CRoHvOGFfllDlVz03GQjvQ==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "pvtsutils": "^1.3.6", + "pvutils": "^1.1.3", + "tslib": "^2.8.1" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/baseline-browser-mapping": { + "version": "2.10.10", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.10.tgz", + "integrity": "sha512-sUoJ3IMxx4AyRqO4MLeHlnGDkyXRoUG0/AI9fjK+vS72ekpV0yWVY7O0BVjmBcRtkNcsAO2QDZ4tdKKGoI6YaQ==", + "dev": true, + "license": "Apache-2.0", + "peer": true, + "bin": { + "baseline-browser-mapping": "dist/cli.cjs" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/batch": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==", + "dev": true, + "license": "MIT" + }, + "node_modules/bidi-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/bidi-js/-/bidi-js-1.0.3.tgz", + "integrity": "sha512-RKshQI1R3YQ+n9YJz2QQ147P66ELpa1FQEg20Dk8oW9t2KgLbpDLLp9aGZ7y8WHSshDknG0bknqGw5/tyCs5tw==", + "license": "MIT", + "dependencies": { + "require-from-string": "^2.0.2" + } + }, + "node_modules/binary-extensions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/body-parser": { + "version": "1.20.4", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.4.tgz", + "integrity": "sha512-ZTgYYLMOXY9qKU/57FAo8F+HA2dGX7bqGc71txDRC1rS4frdFI5R7NhluHxH6M0YItAP0sHB4uqAOcYKxO6uGA==", + "dev": true, + "license": "MIT", + "dependencies": { + "bytes": "~3.1.2", + "content-type": "~1.0.5", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "~1.2.0", + "http-errors": "~2.0.1", + "iconv-lite": "~0.4.24", + "on-finished": "~2.4.1", + "qs": "~6.14.0", + "raw-body": "~2.5.3", + "type-is": "~1.6.18", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/bonjour-service": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.3.0.tgz", + "integrity": "sha512-3YuAUiSkWykd+2Azjgyxei8OWf8thdn8AITIog2M4UICzoqfjlqr64WIjEXZllf/W6vK1goqleSR6brGomxQqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "multicast-dns": "^7.2.5" + } + }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "dev": true, + "license": "ISC" + }, + "node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dev": true, + "license": "MIT", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.28.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.1.tgz", + "integrity": "sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "peer": true, + "dependencies": { + "baseline-browser-mapping": "^2.9.0", + "caniuse-lite": "^1.0.30001759", + "electron-to-chromium": "^1.5.263", + "node-releases": "^2.0.27", + "update-browserslist-db": "^1.2.0" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/bundle-name": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-4.1.0.tgz", + "integrity": "sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "run-applescript": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/bytestreamjs": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/bytestreamjs/-/bytestreamjs-2.0.1.tgz", + "integrity": "sha512-U1Z/ob71V/bXfVABvNr/Kumf5VyeQRBEm6Txb0PQ6S7V5GpBM3w4Cbqz/xPDicR5tN0uvDifng8C+5qECeGwyQ==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/camel-case": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", + "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", + "dev": true, + "license": "MIT", + "dependencies": { + "pascal-case": "^3.1.2", + "tslib": "^2.0.3" + } + }, + "node_modules/camelize": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/camelize/-/camelize-1.0.1.tgz", + "integrity": "sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/camera-controls": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/camera-controls/-/camera-controls-3.1.0.tgz", + "integrity": "sha512-w5oULNpijgTRH0ARFJJ0R5ct1nUM3R3WP7/b8A6j9uTGpRfnsypc/RBMPQV8JQDPayUe37p/TZZY1PcUr4czOQ==", + "license": "MIT", + "engines": { + "node": ">=20.11.0", + "npm": ">=10.8.2" + }, + "peerDependencies": { + "three": ">=0.126.1" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001781", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001781.tgz", + "integrity": "sha512-RdwNCyMsNBftLjW6w01z8bKEvT6e/5tpPVEgtn22TiLGlstHOVecsX2KHFkD5e/vRnIE4EGzpuIODb3mtswtkw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0", + "peer": true + }, + "node_modules/case-anything": { + "version": "2.1.13", + "resolved": "https://registry.npmjs.org/case-anything/-/case-anything-2.1.13.tgz", + "integrity": "sha512-zlOQ80VrQ2Ue+ymH5OuM/DlDq64mEm+B9UTdHULv5osUMD6HalNTblf2b1u/m6QecjsnOkBpqVZ+XPwIVsy7Ng==", + "license": "MIT", + "engines": { + "node": ">=12.13" + }, + "funding": { + "url": "https://github.com/sponsors/mesqueeb" + } + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chokidar/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/chrome-trace-event": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz", + "integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/clean-css": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.3.tgz", + "integrity": "sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==", + "dev": true, + "license": "MIT", + "dependencies": { + "source-map": "~0.6.0" + }, + "engines": { + "node": ">= 10.0" + } + }, + "node_modules/clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", + "dev": true, + "license": "MIT" + }, + "node_modules/comlink": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/comlink/-/comlink-4.4.2.tgz", + "integrity": "sha512-OxGdvBmJuNKSCMO4NTl1L47VRp6xn2wG4F/2hYzB6tiCb709otOxtEYCSvK80PtjODfXXZu8ds+Nw5kVCjqd2g==", + "license": "Apache-2.0" + }, + "node_modules/commander": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 12" + } + }, + "node_modules/compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-db": ">= 1.43.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/compression": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.8.1.tgz", + "integrity": "sha512-9mAqGPHLakhCLeNyxPkK4xVo746zQ/czLH1Ky+vkitMnWfWZps8r0qXuwhwizagCRttsL4lfG4pIOvaWLpAP0w==", + "dev": true, + "license": "MIT", + "dependencies": { + "bytes": "3.1.2", + "compressible": "~2.0.18", + "debug": "2.6.9", + "negotiator": "~0.6.4", + "on-headers": "~1.1.0", + "safe-buffer": "5.2.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/connect-history-api-fallback": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz", + "integrity": "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz", + "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.7.tgz", + "integrity": "sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA==", + "dev": true, + "license": "MIT" + }, + "node_modules/copy-webpack-plugin": { + "version": "13.0.1", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-13.0.1.tgz", + "integrity": "sha512-J+YV3WfhY6W/Xf9h+J1znYuqTye2xkBUIGyTPWuBAT27qajBa5mR4f8WBmfDY3YjRftT2kqZZiLi1qf0H+UOFw==", + "dev": true, + "license": "MIT", + "dependencies": { + "glob-parent": "^6.0.1", + "normalize-path": "^3.0.0", + "schema-utils": "^4.2.0", + "serialize-javascript": "^6.0.2", + "tinyglobby": "^0.2.12" + }, + "engines": { + "node": ">= 18.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + } + }, + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/cross-env": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-7.0.3.tgz", + "integrity": "sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==", + "license": "MIT", + "dependencies": { + "cross-spawn": "^7.0.1" + }, + "bin": { + "cross-env": "src/bin/cross-env.js", + "cross-env-shell": "src/bin/cross-env-shell.js" + }, + "engines": { + "node": ">=10.14", + "npm": ">=6", + "yarn": ">=1" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/css-color-keywords": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/css-color-keywords/-/css-color-keywords-1.0.0.tgz", + "integrity": "sha512-FyyrDHZKEjXDpNJYvVsV960FiqQyXc/LlYmsxl2BcdMb2WPx0OGRVgTg55rPSyLSNMqP52R9r8geSp7apN3Ofg==", + "license": "ISC", + "engines": { + "node": ">=4" + } + }, + "node_modules/css-loader": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.11.0.tgz", + "integrity": "sha512-CTJ+AEQJjq5NzLga5pE39qdiSV56F8ywCIsqNIRF0r7BDgWsN25aazToqAFg7ZrtA/U016xudB3ffgweORxX7g==", + "dev": true, + "license": "MIT", + "dependencies": { + "icss-utils": "^5.1.0", + "postcss": "^8.4.33", + "postcss-modules-extract-imports": "^3.1.0", + "postcss-modules-local-by-default": "^4.0.5", + "postcss-modules-scope": "^3.2.0", + "postcss-modules-values": "^4.0.0", + "postcss-value-parser": "^4.2.0", + "semver": "^7.5.4" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "@rspack/core": "0.x || 1.x", + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "@rspack/core": { + "optional": true + }, + "webpack": { + "optional": true + } + } + }, + "node_modules/css-select": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", + "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.0.1", + "domhandler": "^4.3.1", + "domutils": "^2.8.0", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/css-to-react-native": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/css-to-react-native/-/css-to-react-native-3.2.0.tgz", + "integrity": "sha512-e8RKaLXMOFii+02mOlqwjbD00KSEKqblnpO9e++1aXS1fPQOpS1YoqdVHBqPjHNoxeF2mimzVqawm2KCbEdtHQ==", + "license": "MIT", + "dependencies": { + "camelize": "^1.0.0", + "css-color-keywords": "^1.0.0", + "postcss-value-parser": "^4.0.2" + } + }, + "node_modules/css-what": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.2.2.tgz", + "integrity": "sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true, + "license": "MIT", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/csstype": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", + "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==", + "license": "MIT" + }, + "node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/default-browser": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-5.5.0.tgz", + "integrity": "sha512-H9LMLr5zwIbSxrmvikGuI/5KGhZ8E2zH3stkMgM5LpOWDutGM2JZaj460Udnf1a+946zc7YBgrqEWwbk7zHvGw==", + "dev": true, + "license": "MIT", + "dependencies": { + "bundle-name": "^4.1.0", + "default-browser-id": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/default-browser-id": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-5.0.1.tgz", + "integrity": "sha512-x1VCxdX4t+8wVfd1so/9w+vQ4vx7lKd2Qp5tDRutErwmR85OgmfX7RlLRMWafRMY7hbEiXIbudNrjOAPa/hL8Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/define-lazy-prop": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", + "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/detect-gpu": { + "version": "5.0.70", + "resolved": "https://registry.npmjs.org/detect-gpu/-/detect-gpu-5.0.70.tgz", + "integrity": "sha512-bqerEP1Ese6nt3rFkwPnGbsUF9a4q+gMmpTVVOEzoCyeCc+y7/RvJnQZJx1JwhgQI5Ntg0Kgat8Uu7XpBqnz1w==", + "license": "MIT", + "dependencies": { + "webgl-constants": "^1.1.1" + } + }, + "node_modules/detect-libc": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", + "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==", + "license": "Apache-2.0", + "bin": { + "detect-libc": "bin/detect-libc.js" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/detect-node": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", + "dev": true, + "license": "MIT" + }, + "node_modules/dns-packet": { + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.1.tgz", + "integrity": "sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@leichtgewicht/ip-codec": "^2.0.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/dom-converter": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", + "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", + "dev": true, + "license": "MIT", + "dependencies": { + "utila": "~0.4" + } + }, + "node_modules/dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "dev": true, + "license": "MIT", + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "BSD-2-Clause" + }, + "node_modules/domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "domelementtype": "^2.2.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/dot-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", + "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", + "dev": true, + "license": "MIT", + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/dprint-node": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/dprint-node/-/dprint-node-1.0.8.tgz", + "integrity": "sha512-iVKnUtYfGrYcW1ZAlfR/F59cUVL8QIhWoBJoSjkkdua/dkWIgjZfiLMeTjiB06X0ZLkQ0M2C1VbUj/CxkIf1zg==", + "license": "MIT", + "dependencies": { + "detect-libc": "^1.0.3" + } + }, + "node_modules/draco3d": { + "version": "1.5.7", + "resolved": "https://registry.npmjs.org/draco3d/-/draco3d-1.5.7.tgz", + "integrity": "sha512-m6WCKt/erDXcw+70IJXnG7M3awwQPAsZvJGX5zY7beBqpELw6RDGkYVU0W43AFxye4pDZ5i2Lbyc/NNGqwjUVQ==", + "license": "Apache-2.0" + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true, + "license": "MIT" + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "dev": true, + "license": "MIT" + }, + "node_modules/electron-to-chromium": { + "version": "1.5.325", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.325.tgz", + "integrity": "sha512-PwfIw7WQSt3xX7yOf5OE/unLzsK9CaN2f/FvV3WjPR1Knoc1T9vePRVV4W1EM301JzzysK51K7FNKcusCr0zYA==", + "dev": true, + "license": "ISC", + "peer": true + }, + "node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true, + "license": "MIT" + }, + "node_modules/encodeurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/enhanced-resolve": { + "version": "5.20.1", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.20.1.tgz", + "integrity": "sha512-Qohcme7V1inbAfvjItgw0EaxVX5q2rdVEZHRBrEQdRZTssLDGsL8Lwrznl8oQ/6kuTJONLaDcGjkNP247XEhcA==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.3.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "dev": true, + "license": "BSD-2-Clause", + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/envinfo": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.21.0.tgz", + "integrity": "sha512-Lw7I8Zp5YKHFCXL7+Dz95g4CcbMEpgvqZNNq3AmlT5XAV6CgAAk6gyAMqn2zjw08K9BHfcNuKrMiCPLByGafow==", + "dev": true, + "license": "MIT", + "bin": { + "envinfo": "dist/cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-module-lexer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-2.0.0.tgz", + "integrity": "sha512-5POEcUuZybH7IdmGsD8wlf0AI55wMecM9rVBTI/qEAy2c1kTOm3DjFYjrBdI2K3BaJjJYfYFeRtM0t9ssnRuxw==", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "dev": true, + "license": "MIT" + }, + "node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "license": "BSD-2-Clause", + "peer": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "license": "BSD-2-Clause", + "peer": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "license": "BSD-2-Clause", + "peer": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "license": "BSD-2-Clause", + "peer": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", + "dev": true, + "license": "MIT" + }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/express": { + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.22.1.tgz", + "integrity": "sha512-F2X8g9P1X7uCPZMA3MVf9wcTqlyNp7IhH5qPCI0izhaOIYXaW9L535tGA3qmjRzpH+bZczqq7hVKxTR4NWnu+g==", + "dev": true, + "license": "MIT", + "dependencies": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "~1.20.3", + "content-disposition": "~0.5.4", + "content-type": "~1.0.4", + "cookie": "~0.7.1", + "cookie-signature": "~1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "~1.3.1", + "fresh": "~0.5.2", + "http-errors": "~2.0.0", + "merge-descriptors": "1.0.3", + "methods": "~1.1.2", + "on-finished": "~2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "~0.1.12", + "proxy-addr": "~2.0.7", + "qs": "~6.14.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "~0.19.0", + "serve-static": "~1.16.2", + "setprototypeof": "1.2.0", + "statuses": "~2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.0.tgz", + "integrity": "sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fastify" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fastify" + } + ], + "license": "BSD-3-Clause" + }, + "node_modules/fastest-levenshtein": { + "version": "1.0.16", + "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", + "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4.9.1" + } + }, + "node_modules/faye-websocket": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", + "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "websocket-driver": ">=0.5.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/fflate": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.8.2.tgz", + "integrity": "sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==", + "license": "MIT" + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dev": true, + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/finalhandler": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.2.tgz", + "integrity": "sha512-aA4RyPcd3badbdABGDuTXCMTtOneUCAYH/gxoYRTZlIJdF0YPWuGqiAsIrhNnnqdXGswYk6dGujem4w80UJFhg==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "on-finished": "~2.4.1", + "parseurl": "~1.3.3", + "statuses": "~2.0.2", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/flat": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", + "dev": true, + "license": "BSD-3-Clause", + "bin": { + "flat": "cli.js" + } + }, + "node_modules/follow-redirects": { + "version": "1.15.11", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.11.tgz", + "integrity": "sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "license": "MIT", + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/foreground-child": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz", + "integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==", + "dev": true, + "license": "ISC", + "dependencies": { + "cross-spawn": "^7.0.6", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "dev": true, + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/gl-matrix": { + "version": "3.4.4", + "resolved": "https://registry.npmjs.org/gl-matrix/-/gl-matrix-3.4.4.tgz", + "integrity": "sha512-latSnyDNt/8zYUB6VIJ6PCh2jBjJX6gnDsoCZ7LyW7GkqrD51EWwa9qCoGixj8YqBtETQK/xY7OmpTF8xz1DdQ==", + "license": "MIT" + }, + "node_modules/glob": { + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.5.0.tgz", + "integrity": "sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==", + "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me", + "dev": true, + "license": "ISC", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/glob-to-regex.js": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/glob-to-regex.js/-/glob-to-regex.js-1.2.0.tgz", + "integrity": "sha512-QMwlOQKU/IzqMUOAZWubUOT8Qft+Y0KQWnX9nK3ch0CJg0tTp4TvGZsTfudYKv2NzoQSyPcnA6TYeIQ3jGichQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, + "node_modules/glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "dev": true, + "license": "BSD-2-Clause", + "peer": true + }, + "node_modules/glsl-noise": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/glsl-noise/-/glsl-noise-0.0.0.tgz", + "integrity": "sha512-b/ZCF6amfAUb7dJM/MxRs7AetQEahYzJ8PtgfrmEdtw6uyGOr+ZSGtgjFm6mfsBkxJ4d2W7kg+Nlqzqvn3Bc0w==", + "license": "MIT" + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/handle-thing": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", + "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==", + "dev": true, + "license": "MIT" + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true, + "license": "MIT", + "bin": { + "he": "bin/he" + } + }, + "node_modules/hls.js": { + "version": "1.6.15", + "resolved": "https://registry.npmjs.org/hls.js/-/hls.js-1.6.15.tgz", + "integrity": "sha512-E3a5VwgXimGHwpRGV+WxRTKeSp2DW5DI5MWv34ulL3t5UNmyJWCQ1KmLEHbYzcfThfXG8amBL+fCYPneGHC4VA==", + "license": "Apache-2.0" + }, + "node_modules/hpack.js": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", + "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" + } + }, + "node_modules/hpack.js/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/hpack.js/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true, + "license": "MIT" + }, + "node_modules/hpack.js/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/html-minifier-terser": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", + "integrity": "sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==", + "dev": true, + "license": "MIT", + "dependencies": { + "camel-case": "^4.1.2", + "clean-css": "^5.2.2", + "commander": "^8.3.0", + "he": "^1.2.0", + "param-case": "^3.0.4", + "relateurl": "^0.2.7", + "terser": "^5.10.0" + }, + "bin": { + "html-minifier-terser": "cli.js" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/html-webpack-plugin": { + "version": "5.6.6", + "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.6.6.tgz", + "integrity": "sha512-bLjW01UTrvoWTJQL5LsMRo1SypHW80FTm12OJRSnr3v6YHNhfe+1r0MYUZJMACxnCHURVnBWRwAsWs2yPU9Ezw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/html-minifier-terser": "^6.0.0", + "html-minifier-terser": "^6.0.2", + "lodash": "^4.17.21", + "pretty-error": "^4.0.0", + "tapable": "^2.0.0" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/html-webpack-plugin" + }, + "peerDependencies": { + "@rspack/core": "0.x || 1.x", + "webpack": "^5.20.0" + }, + "peerDependenciesMeta": { + "@rspack/core": { + "optional": true + }, + "webpack": { + "optional": true + } + } + }, + "node_modules/htmlparser2": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", + "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", + "dev": true, + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "MIT", + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.0.0", + "domutils": "^2.5.2", + "entities": "^2.0.0" + } + }, + "node_modules/http-deceiver": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", + "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==", + "dev": true, + "license": "MIT" + }, + "node_modules/http-errors": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz", + "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "depd": "~2.0.0", + "inherits": "~2.0.4", + "setprototypeof": "~1.2.0", + "statuses": "~2.0.2", + "toidentifier": "~1.0.1" + }, + "engines": { + "node": ">= 0.8" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/http-parser-js": { + "version": "0.5.10", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.10.tgz", + "integrity": "sha512-Pysuw9XpUq5dVc/2SMHpuTY01RFl8fttgcyunjL7eEMhGM3cI4eOmiCycJDVCo/7O7ClfQD3SaI6ftDzqOXYMA==", + "dev": true, + "license": "MIT" + }, + "node_modules/http-proxy": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/http-proxy-middleware": { + "version": "2.0.9", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.9.tgz", + "integrity": "sha512-c1IyJYLYppU574+YI7R4QyX2ystMtVXZwIdzazUIPIJsHuWNd+mho2j+bKoHftndicGj9yh+xjd+l0yj7VeT1Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/http-proxy": "^1.17.8", + "http-proxy": "^1.18.1", + "is-glob": "^4.0.1", + "is-plain-obj": "^3.0.0", + "micromatch": "^4.0.2" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "@types/express": "^4.17.13" + }, + "peerDependenciesMeta": { + "@types/express": { + "optional": true + } + } + }, + "node_modules/hyperdyperid": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/hyperdyperid/-/hyperdyperid-1.2.0.tgz", + "integrity": "sha512-Y93lCzHYgGWdrJ66yIktxiaGULYc6oGiABxhcO5AufBeOyoIdZF7bIfLaOrbM0iGIOXQQgxxRrFEnb+Y6w1n4A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.18" + } + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/icss-utils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", + "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "BSD-3-Clause" + }, + "node_modules/immediate": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", + "integrity": "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==", + "license": "MIT" + }, + "node_modules/import-local": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.2.0.tgz", + "integrity": "sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==", + "dev": true, + "license": "MIT", + "dependencies": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/interpret": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-3.1.1.tgz", + "integrity": "sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/ipaddr.js": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.3.0.tgz", + "integrity": "sha512-Zv/pA+ciVFbCSBBjGfaKUya/CcGmUHzTydLMaTwrUUEM2DIEO3iZvueGxmacvmN50fGpGVKeTXpb2LcYQxeVdg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "license": "MIT", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-core-module": { + "version": "2.16.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", + "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", + "dev": true, + "license": "MIT", + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-docker": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", + "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", + "dev": true, + "license": "MIT", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-inside-container": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", + "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-docker": "^3.0.0" + }, + "bin": { + "is-inside-container": "cli.js" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-network-error": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/is-network-error/-/is-network-error-1.3.1.tgz", + "integrity": "sha512-6QCxa49rQbmUWLfk0nuGqzql9U8uaV2H6279bRErPBHe/109hCzsLUBUHfbEtvLIHBd6hyXbgedBSHevm43Edw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-plain-obj": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", + "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "license": "MIT", + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-promise": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz", + "integrity": "sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==", + "license": "MIT" + }, + "node_modules/is-wsl": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.1.tgz", + "integrity": "sha512-e6rvdUCiQCAuumZslxRJWR/Doq4VpPR82kqclvcS0efgt430SlGIk05vdCN58+VrzgtIcfNODjozVielycD4Sw==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-inside-container": "^1.0.0" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "license": "ISC" + }, + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/its-fine": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/its-fine/-/its-fine-2.0.0.tgz", + "integrity": "sha512-KLViCmWx94zOvpLwSlsx6yOCeMhZYaxrJV87Po5k/FoZzcPSahvK5qJ7fYhS61sZi5ikmh2S3Hz55A2l3U69ng==", + "license": "MIT", + "dependencies": { + "@types/react-reconciler": "^0.28.9" + }, + "peerDependencies": { + "react": "^19.0.0" + } + }, + "node_modules/iwer": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/iwer/-/iwer-2.1.1.tgz", + "integrity": "sha512-3VuQhekh/3BMRlaS7FFjcTNjKOwURAgL7mu0HndU72mFNyRyHRpGfhXGZ1iJkjfq/vEw0v1b7fx8k1knGSQ5gQ==", + "license": "MIT", + "dependencies": { + "gl-matrix": "^3.4.3", + "webxr-layers-polyfill": "^1.1.0" + } + }, + "node_modules/jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "license": "MIT" + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true, + "license": "MIT" + }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/launch-editor": { + "version": "2.13.2", + "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.13.2.tgz", + "integrity": "sha512-4VVDnbOpLXy/s8rdRCSXb+zfMeFR0WlJWpET1iA9CQdlZDfwyLjUuGQzXU4VeOoey6AicSAluWan7Etga6Kcmg==", + "dev": true, + "license": "MIT", + "dependencies": { + "picocolors": "^1.1.1", + "shell-quote": "^1.8.3" + } + }, + "node_modules/lie": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz", + "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==", + "license": "MIT", + "dependencies": { + "immediate": "~3.0.5" + } + }, + "node_modules/loader-runner": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.1.tgz", + "integrity": "sha512-IWqP2SCPhyVFTBtRcgMHdzlf9ul25NwaFx4wCEH/KjAXuuHY4yNjvPXsBokp8jCB936PyWRaPKUNh8NvylLp2Q==", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=6.11.5" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/lodash": { + "version": "4.17.23", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.23.tgz", + "integrity": "sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==", + "dev": true, + "license": "MIT" + }, + "node_modules/long": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/long/-/long-5.3.2.tgz", + "integrity": "sha512-mNAgZ1GmyNhD7AuqnTG3/VQ26o760+ZYBPKjPvugO8+nLbYfX6TVpJPseBvopbdY+qpZ/lKUnmEc1LeZYS3QAA==", + "license": "Apache-2.0", + "peer": true + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "license": "MIT", + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^2.0.3" + } + }, + "node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/maath": { + "version": "0.10.8", + "resolved": "https://registry.npmjs.org/maath/-/maath-0.10.8.tgz", + "integrity": "sha512-tRvbDF0Pgqz+9XUa4jjfgAQ8/aPKmQdWXilFu2tMy4GWj4NOsx99HlULO4IeREfbO3a0sA145DZYyvXPkybm0g==", + "license": "MIT", + "peerDependencies": { + "@types/three": ">=0.134.0", + "three": ">=0.134.0" + } + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/memfs": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-4.57.1.tgz", + "integrity": "sha512-WvzrWPwMQT+PtbX2Et64R4qXKK0fj/8pO85MrUCzymX3twwCiJCdvntW3HdhG1teLJcHDDLIKx5+c3HckWYZtQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@jsonjoy.com/fs-core": "4.57.1", + "@jsonjoy.com/fs-fsa": "4.57.1", + "@jsonjoy.com/fs-node": "4.57.1", + "@jsonjoy.com/fs-node-builtins": "4.57.1", + "@jsonjoy.com/fs-node-to-fsa": "4.57.1", + "@jsonjoy.com/fs-node-utils": "4.57.1", + "@jsonjoy.com/fs-print": "4.57.1", + "@jsonjoy.com/fs-snapshot": "4.57.1", + "@jsonjoy.com/json-pack": "^1.11.0", + "@jsonjoy.com/util": "^1.9.0", + "glob-to-regex.js": "^1.0.1", + "thingies": "^2.5.0", + "tree-dump": "^1.0.3", + "tslib": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, + "node_modules/merge-descriptors": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz", + "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/meshline": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/meshline/-/meshline-3.3.1.tgz", + "integrity": "sha512-/TQj+JdZkeSUOl5Mk2J7eLcYTLiQm2IDzmlSvYm7ov15anEcDJ92GHqqazxTSreeNgfnYu24kiEvvv0WlbCdFQ==", + "license": "MIT", + "peerDependencies": { + "three": ">=0.137" + } + }, + "node_modules/meshoptimizer": { + "version": "0.18.1", + "resolved": "https://registry.npmjs.org/meshoptimizer/-/meshoptimizer-0.18.1.tgz", + "integrity": "sha512-ZhoIoL7TNV4s5B6+rx5mC//fw8/POGyNxS/DZyCJeiZ12ScLfVwRE/GfsxwiTkMYYD5DmK2/JXnEVXqL4rF+Sw==", + "license": "MIT" + }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "dev": true, + "license": "MIT", + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/micromatch/node_modules/picomatch": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz", + "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true, + "license": "MIT", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "dev": true, + "license": "ISC" + }, + "node_modules/minimatch": { + "version": "9.0.9", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.9.tgz", + "integrity": "sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.2" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/minipass": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.3.tgz", + "integrity": "sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true, + "license": "MIT" + }, + "node_modules/multicast-dns": { + "version": "7.2.5", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz", + "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==", + "dev": true, + "license": "MIT", + "dependencies": { + "dns-packet": "^5.2.2", + "thunky": "^1.0.2" + }, + "bin": { + "multicast-dns": "cli.js" + } + }, + "node_modules/nanoid": { + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/negotiator": { + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.4.tgz", + "integrity": "sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "dev": true, + "license": "MIT", + "dependencies": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, + "node_modules/node-releases": { + "version": "2.0.36", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.36.tgz", + "integrity": "sha512-TdC8FSgHz8Mwtw9g5L4gR/Sh9XhSP/0DEkQxfEFXOpiul5IiHgHan2VhYYb6agDSfp4KuvltmGApc8HMgUrIkA==", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", + "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/obuf": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", + "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", + "dev": true, + "license": "MIT" + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dev": true, + "license": "MIT", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/on-headers": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.1.0.tgz", + "integrity": "sha512-737ZY3yNnXy37FHkQxPzt4UZ2UWPWiCZWLvFZ4fu5cueciegX0zGPnrlY6bwRg4FdQOe9YU8MkmJwGhoMybl8A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/open": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/open/-/open-10.2.0.tgz", + "integrity": "sha512-YgBpdJHPyQ2UE5x+hlSXcnejzAvD0b22U2OuAP+8OnlJT+PjWPxtgmGqKKc+RgTM63U9gN0YzrYc71R2WT/hTA==", + "dev": true, + "license": "MIT", + "dependencies": { + "default-browser": "^5.2.1", + "define-lazy-prop": "^3.0.0", + "is-inside-container": "^1.0.0", + "wsl-utils": "^0.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-retry": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-6.2.1.tgz", + "integrity": "sha512-hEt02O4hUct5wtwg4H4KcWgDdm+l1bOaEy/hWzd8xtXB9BqxTWBBhb+2ImAtH4Cv4rPjV76xN3Zumqk3k3AhhQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/retry": "0.12.2", + "is-network-error": "^1.0.0", + "retry": "^0.13.1" + }, + "engines": { + "node": ">=16.17" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/package-json-from-dist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", + "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", + "dev": true, + "license": "BlueOak-1.0.0" + }, + "node_modules/param-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", + "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", + "dev": true, + "license": "MIT", + "dependencies": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/pascal-case": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", + "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", + "dev": true, + "license": "MIT", + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true, + "license": "MIT" + }, + "node_modules/path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-to-regexp": { + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.12.tgz", + "integrity": "sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", + "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkijs": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/pkijs/-/pkijs-3.4.0.tgz", + "integrity": "sha512-emEcLuomt2j03vxD54giVB4SxTjnsqkU692xZOZXHDVoYyypEm+b3jpiTcc+Cf+myooc+/Ly0z01jqeNHVgJGw==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@noble/hashes": "1.4.0", + "asn1js": "^3.0.6", + "bytestreamjs": "^2.0.1", + "pvtsutils": "^1.3.6", + "pvutils": "^1.1.3", + "tslib": "^2.8.1" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/postcss": { + "version": "8.5.8", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.8.tgz", + "integrity": "sha512-OW/rX8O/jXnm82Ey1k44pObPtdblfiuWnrd8X7GJ7emImCOstunGbXUpp7HdBrFQX6rJzn3sPT397Wp5aCwCHg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.11", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-modules-extract-imports": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.1.0.tgz", + "integrity": "sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-local-by-default": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.2.0.tgz", + "integrity": "sha512-5kcJm/zk+GJDSfw+V/42fJ5fhjL5YbFDl8nVdXkJPLLW+Vf9mTD5Xe0wqIaDnLuL2U6cDNpTr+UQ+v2HWIBhzw==", + "dev": true, + "license": "MIT", + "dependencies": { + "icss-utils": "^5.0.0", + "postcss-selector-parser": "^7.0.0", + "postcss-value-parser": "^4.1.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-scope": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.2.1.tgz", + "integrity": "sha512-m9jZstCVaqGjTAuny8MdgE88scJnCiQSlSrOWcTQgM2t32UBe+MUmFSO5t7VMSfAf/FJKImAxBav8ooCHJXCJA==", + "dev": true, + "license": "ISC", + "dependencies": { + "postcss-selector-parser": "^7.0.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-values": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", + "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "icss-utils": "^5.0.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-selector-parser": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.1.tgz", + "integrity": "sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "license": "MIT" + }, + "node_modules/potpack": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/potpack/-/potpack-1.0.2.tgz", + "integrity": "sha512-choctRBIV9EMT9WGAZHn3V7t0Z2pMQyl0EZE6pFc/6ml3ssw7Dlf/oAOvFwjm1HVsqfQN8GfeFyJ+d8tRzqueQ==", + "license": "ISC" + }, + "node_modules/pretty-error": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz", + "integrity": "sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==", + "dev": true, + "license": "MIT", + "dependencies": { + "lodash": "^4.17.20", + "renderkid": "^3.0.0" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true, + "license": "MIT" + }, + "node_modules/promise-worker-transferable": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/promise-worker-transferable/-/promise-worker-transferable-1.0.4.tgz", + "integrity": "sha512-bN+0ehEnrXfxV2ZQvU2PetO0n4gqBD4ulq3MI1WOPLgr7/Mg9yRQkX5+0v1vagr74ZTsl7XtzlaYDo2EuCeYJw==", + "license": "Apache-2.0", + "dependencies": { + "is-promise": "^2.1.0", + "lie": "^3.0.2" + } + }, + "node_modules/prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + } + }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "dev": true, + "license": "MIT", + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/proxy-addr/node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/pvtsutils": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/pvtsutils/-/pvtsutils-1.3.6.tgz", + "integrity": "sha512-PLgQXQ6H2FWCaeRak8vvk1GW462lMxB5s3Jm673N82zI4vqtVUPuZdffdZbPDFRoU8kAhItWFtPCWiPpp4/EDg==", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^2.8.1" + } + }, + "node_modules/pvutils": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/pvutils/-/pvutils-1.1.5.tgz", + "integrity": "sha512-KTqnxsgGiQ6ZAzZCVlJH5eOjSnvlyEgx1m8bkRJfOhmGRqfo5KLvmAlACQkrjEtOQ4B7wF9TdSLIs9O90MX9xA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/qs": { + "version": "6.14.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.2.tgz", + "integrity": "sha512-V/yCWTTF7VJ9hIh18Ugr2zhJMP01MY7c5kh4J870L7imm6/DIzBsNLTXzMwUA3yZ5b/KBqLx8Kp3uRvd7xSe3Q==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "2.5.3", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.3.tgz", + "integrity": "sha512-s4VSOf6yN0rvbRZGxs8Om5CWj6seneMwK3oDb4lWDH0UPhWcxwOWw5+qk24bxq87szX1ydrwylIOp2uG1ojUpA==", + "dev": true, + "license": "MIT", + "dependencies": { + "bytes": "~3.1.2", + "http-errors": "~2.0.1", + "iconv-lite": "~0.4.24", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/react": { + "version": "19.2.4", + "resolved": "https://registry.npmjs.org/react/-/react-19.2.4.tgz", + "integrity": "sha512-9nfp2hYpCwOjAN+8TZFGhtWEwgvWHXqESH8qT89AT/lWklpLON22Lc8pEtnpsZz7VmawabSU0gCjnj8aC0euHQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "19.2.4", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.4.tgz", + "integrity": "sha512-AXJdLo8kgMbimY95O2aKQqsz2iWi9jMgKJhRBAxECE4IFxfcazB2LmzloIoibJI3C12IlY20+KFaLv+71bUJeQ==", + "license": "MIT", + "dependencies": { + "scheduler": "^0.27.0" + }, + "peerDependencies": { + "react": "^19.2.4" + } + }, + "node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "license": "MIT" + }, + "node_modules/react-use-measure": { + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/react-use-measure/-/react-use-measure-2.1.7.tgz", + "integrity": "sha512-KrvcAo13I/60HpwGO5jpW7E9DfusKyLPLvuHlUyP5zqnmAPhNc6qTRjUQrdTADl0lpPpDVU2/Gg51UlOGHXbdg==", + "license": "MIT", + "peerDependencies": { + "react": ">=16.13", + "react-dom": ">=16.13" + }, + "peerDependenciesMeta": { + "react-dom": { + "optional": true + } + } + }, + "node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "license": "MIT", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/readdirp/node_modules/picomatch": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz", + "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/rechoir": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.8.0.tgz", + "integrity": "sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "resolve": "^1.20.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/reflect-metadata": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.2.2.tgz", + "integrity": "sha512-urBwgfrvVP/eAyXx4hluJivBKzuEbSQs9rKWCrCkbSxNv8mxPcUZKeuoF3Uy4mJl3Lwprp6yy5/39VWigZ4K6Q==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", + "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/renderkid": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz", + "integrity": "sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==", + "dev": true, + "license": "MIT", + "dependencies": { + "css-select": "^4.1.3", + "dom-converter": "^0.2.0", + "htmlparser2": "^6.1.0", + "lodash": "^4.17.21", + "strip-ansi": "^6.0.1" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/resolve": { + "version": "1.22.11", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.11.tgz", + "integrity": "sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-core-module": "^2.16.1", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/retry": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", + "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/rimraf": { + "version": "5.0.10", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-5.0.10.tgz", + "integrity": "sha512-l0OE8wL34P4nJH/H2ffoaniAokM2qSmrtXHmlpvYr5AVVX8msAyW0l8NVJFDxlSK4u3Uh/f41cQheDVdnYijwQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "glob": "^10.3.7" + }, + "bin": { + "rimraf": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/run-applescript": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-7.1.0.tgz", + "integrity": "sha512-DPe5pVFaAsinSaV6QjQ6gdiedWDcRCbUuiQfQa2wmWV7+xC9bGulGI8+TdRmoFkAPaBXk8CrAbnlY2ISniJ47Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true, + "license": "MIT" + }, + "node_modules/scheduler": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.27.0.tgz", + "integrity": "sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==", + "license": "MIT" + }, + "node_modules/schema-utils": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.3.tgz", + "integrity": "sha512-eflK8wEtyOE6+hsaRVPxvUKYCpRgzLqDTb8krvAsRIwOGlHoSgYLgBXoubGgLd2fT41/OUYdb48v4k4WWHQurA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/select-hose": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", + "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==", + "dev": true, + "license": "MIT" + }, + "node_modules/selfsigned": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-5.5.0.tgz", + "integrity": "sha512-ftnu3TW4+3eBfLRFnDEkzGxSF/10BJBkaLJuBHZX0kiPS7bRdlpZGu6YGt4KngMkdTwJE6MbjavFpqHvqVt+Ew==", + "dev": true, + "license": "MIT", + "dependencies": { + "@peculiar/x509": "^1.14.2", + "pkijs": "^3.3.3" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/semver": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", + "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/send": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/send/-/send-0.19.2.tgz", + "integrity": "sha512-VMbMxbDeehAxpOtWJXlcUS5E8iXh6QmN+BkRX1GARS3wRaXEEgzCcB10gTQazO42tpNIya8xIyNx8fll1OFPrg==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "~0.5.2", + "http-errors": "~2.0.1", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "~2.4.1", + "range-parser": "~1.2.1", + "statuses": "~2.0.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/serialize-javascript": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/serve-index": { + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.2.tgz", + "integrity": "sha512-KDj11HScOaLmrPxl70KYNW1PksP4Nb/CLL2yvC+Qd2kHMPEEpfc4Re2e4FOay+bC/+XQl/7zAcWON3JVo5v3KQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "accepts": "~1.3.8", + "batch": "0.6.1", + "debug": "2.6.9", + "escape-html": "~1.0.3", + "http-errors": "~1.8.0", + "mime-types": "~2.1.35", + "parseurl": "~1.3.3" + }, + "engines": { + "node": ">= 0.8.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/serve-index/node_modules/depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-index/node_modules/http-errors": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz", + "integrity": "sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "depd": "~1.1.2", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-index/node_modules/statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-static": { + "version": "1.16.3", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.3.tgz", + "integrity": "sha512-x0RTqQel6g5SY7Lg6ZreMmsOzncHFU7nhnRWkKgWuMTu5NN0DR5oruckMqRvacAN9d5w6ARnRBXl9xhDCgfMeA==", + "dev": true, + "license": "MIT", + "dependencies": { + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "~0.19.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "dev": true, + "license": "ISC" + }, + "node_modules/shallow-clone": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", + "dev": true, + "license": "MIT", + "dependencies": { + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shallowequal": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz", + "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==", + "license": "MIT" + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/shell-quote": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.3.tgz", + "integrity": "sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", + "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3", + "side-channel-list": "^1.0.0", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-list": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", + "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/sockjs": { + "version": "0.3.24", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", + "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "faye-websocket": "^0.11.3", + "uuid": "^8.3.2", + "websocket-driver": "^0.7.4" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/spdy": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", + "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.1.0", + "handle-thing": "^2.0.0", + "http-deceiver": "^1.2.7", + "select-hose": "^2.0.0", + "spdy-transport": "^3.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/spdy-transport": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", + "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.1.0", + "detect-node": "^2.0.4", + "hpack.js": "^2.1.6", + "obuf": "^1.1.2", + "readable-stream": "^3.0.6", + "wbuf": "^1.7.3" + } + }, + "node_modules/spdy-transport/node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/spdy-transport/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/spdy/node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/spdy/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/stats-gl": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/stats-gl/-/stats-gl-2.4.2.tgz", + "integrity": "sha512-g5O9B0hm9CvnM36+v7SFl39T7hmAlv541tU81ME8YeSb3i1CIP5/QdDeSB3A0la0bKNHpxpwxOVRo2wFTYEosQ==", + "license": "MIT", + "dependencies": { + "@types/three": "*", + "three": "^0.170.0" + }, + "peerDependencies": { + "@types/three": "*", + "three": "*" + } + }, + "node_modules/stats-gl/node_modules/three": { + "version": "0.170.0", + "resolved": "https://registry.npmjs.org/three/-/three-0.170.0.tgz", + "integrity": "sha512-FQK+LEpYc0fBD+J8g6oSEyyNzjp+Q7Ks1C568WWaoMRLW+TkNNWmenWeGgJjV105Gd+p/2ql1ZcjYvNiPZBhuQ==", + "license": "MIT" + }, + "node_modules/stats.js": { + "version": "0.17.0", + "resolved": "https://registry.npmjs.org/stats.js/-/stats.js-0.17.0.tgz", + "integrity": "sha512-hNKz8phvYLPEcRkeG1rsGmV5ChMjKDAWU7/OJJdDErPBNChQXxCo3WZurGpnWc6gZhAzEPFad1aVgyOANH1sMw==", + "license": "MIT" + }, + "node_modules/statuses": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", + "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, + "node_modules/string-width/node_modules/ansi-regex": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", + "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/string-width/node_modules/strip-ansi": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz", + "integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.2.2" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/style-loader": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-3.3.4.tgz", + "integrity": "sha512-0WqXzrsMTyb8yjZJHDqwmnwRJvhALK9LfRtRc6B4UTWe8AijYLZYZ9thuJTZc2VfQWINADW/j+LiJnfy2RoC1w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + } + }, + "node_modules/styled-components": { + "version": "6.3.12", + "resolved": "https://registry.npmjs.org/styled-components/-/styled-components-6.3.12.tgz", + "integrity": "sha512-hFR6xsVkVYbsdcUlzPYFvFfoc6o2KlV0VvgRIQwSYMtdThM7SCxnjX9efh/cWce2kTq16I/Kl3xM98xiLptsXA==", + "license": "MIT", + "dependencies": { + "@emotion/is-prop-valid": "1.4.0", + "@emotion/unitless": "0.10.0", + "@types/stylis": "4.2.7", + "css-to-react-native": "3.2.0", + "csstype": "3.2.3", + "postcss": "8.4.49", + "shallowequal": "1.1.0", + "stylis": "4.3.6", + "tslib": "2.8.1" + }, + "engines": { + "node": ">= 16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/styled-components" + }, + "peerDependencies": { + "react": ">= 16.8.0", + "react-dom": ">= 16.8.0" + }, + "peerDependenciesMeta": { + "react-dom": { + "optional": true + } + } + }, + "node_modules/styled-components/node_modules/postcss": { + "version": "8.4.49", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.49.tgz", + "integrity": "sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.7", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/stylis": { + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.3.6.tgz", + "integrity": "sha512-yQ3rwFWRfwNUY7H5vpU0wfdkNSnvnJinhF9830Swlaxl03zsOjCfmX0ugac+3LtK0lYSgwL/KXc8oYL3mG4YFQ==", + "license": "MIT" + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/suspend-react": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/suspend-react/-/suspend-react-0.1.3.tgz", + "integrity": "sha512-aqldKgX9aZqpoDp3e8/BZ8Dm7x1pJl+qI3ZKxDN0i/IQTWUwBx/ManmlVJ3wowqbno6c2bmiIfs+Um6LbsjJyQ==", + "license": "MIT", + "peerDependencies": { + "react": ">=17.0" + } + }, + "node_modules/tapable": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.2.tgz", + "integrity": "sha512-1MOpMXuhGzGL5TTCZFItxCc0AARf1EZFQkGqMm7ERKj8+Hgr5oLvJOVFcC+lRmR8hCe2S3jC4T5D7Vg/d7/fhA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/terser": { + "version": "5.46.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.46.1.tgz", + "integrity": "sha512-vzCjQO/rgUuK9sf8VJZvjqiqiHFaZLnOiimmUuOKODxWL8mm/xua7viT7aqX7dgPY60otQjUotzFMmCB4VdmqQ==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.15.0", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser-webpack-plugin": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.4.0.tgz", + "integrity": "sha512-Bn5vxm48flOIfkdl5CaD2+1CiUVbonWQ3KQPyP7/EuIl9Gbzq/gQFOzaMFUEgVjB1396tcK0SG8XcNJ/2kDH8g==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.25", + "jest-worker": "^27.4.5", + "schema-utils": "^4.3.0", + "terser": "^5.31.1" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "uglify-js": { + "optional": true + } + } + }, + "node_modules/terser/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/thingies": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/thingies/-/thingies-2.6.0.tgz", + "integrity": "sha512-rMHRjmlFLM1R96UYPvpmnc3LYtdFrT33JIB7L9hetGue1qAPfn1N2LJeEjxUSidu1Iku+haLZXDuEXUHNGO/lg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "^2" + } + }, + "node_modules/three": { + "version": "0.172.0", + "resolved": "https://registry.npmjs.org/three/-/three-0.172.0.tgz", + "integrity": "sha512-6HMgMlzU97MsV7D/tY8Va38b83kz8YJX+BefKjspMNAv0Vx6dxMogHOrnRl/sbMIs3BPUKijPqDqJ/+UwJbIow==", + "license": "MIT" + }, + "node_modules/three-mesh-bvh": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/three-mesh-bvh/-/three-mesh-bvh-0.8.3.tgz", + "integrity": "sha512-4G5lBaF+g2auKX3P0yqx+MJC6oVt6sB5k+CchS6Ob0qvH0YIhuUk1eYr7ktsIpY+albCqE80/FVQGV190PmiAg==", + "license": "MIT", + "peerDependencies": { + "three": ">= 0.159.0" + } + }, + "node_modules/three-stdlib": { + "version": "2.36.1", + "resolved": "https://registry.npmjs.org/three-stdlib/-/three-stdlib-2.36.1.tgz", + "integrity": "sha512-XyGQrFmNQ5O/IoKm556ftwKsBg11TIb301MB5dWNicziQBEs2g3gtOYIf7pFiLa0zI2gUwhtCjv9fmjnxKZ1Cg==", + "license": "MIT", + "dependencies": { + "@types/draco3d": "^1.4.0", + "@types/offscreencanvas": "^2019.6.4", + "@types/webxr": "^0.5.2", + "draco3d": "^1.4.1", + "fflate": "^0.6.9", + "potpack": "^1.0.1" + }, + "peerDependencies": { + "three": ">=0.128.0" + } + }, + "node_modules/three-stdlib/node_modules/fflate": { + "version": "0.6.10", + "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.6.10.tgz", + "integrity": "sha512-IQrh3lEPM93wVCEczc9SaAOvkmcoQn/G8Bo1e8ZPlY3X3bnAxWaBdvTdvM1hP62iZp0BXWDy4vTAy4fF0+Dlpg==", + "license": "MIT" + }, + "node_modules/thunky": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", + "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", + "dev": true, + "license": "MIT" + }, + "node_modules/tinyglobby": { + "version": "0.2.15", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", + "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "fdir": "^6.5.0", + "picomatch": "^4.0.3" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/tree-dump": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/tree-dump/-/tree-dump-1.1.0.tgz", + "integrity": "sha512-rMuvhU4MCDbcbnleZTFezWsaZXRFemSqAM+7jPnzUl1fo9w3YEKOxAeui0fz3OI4EU4hf23iyA7uQRVko+UaBA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, + "node_modules/troika-three-text": { + "version": "0.52.4", + "resolved": "https://registry.npmjs.org/troika-three-text/-/troika-three-text-0.52.4.tgz", + "integrity": "sha512-V50EwcYGruV5rUZ9F4aNsrytGdKcXKALjEtQXIOBfhVoZU9VAqZNIoGQ3TMiooVqFAbR1w15T+f+8gkzoFzawg==", + "license": "MIT", + "dependencies": { + "bidi-js": "^1.0.2", + "troika-three-utils": "^0.52.4", + "troika-worker-utils": "^0.52.0", + "webgl-sdf-generator": "1.1.1" + }, + "peerDependencies": { + "three": ">=0.125.0" + } + }, + "node_modules/troika-three-utils": { + "version": "0.52.4", + "resolved": "https://registry.npmjs.org/troika-three-utils/-/troika-three-utils-0.52.4.tgz", + "integrity": "sha512-NORAStSVa/BDiG52Mfudk4j1FG4jC4ILutB3foPnfGbOeIs9+G5vZLa0pnmnaftZUGm4UwSoqEpWdqvC7zms3A==", + "license": "MIT", + "peerDependencies": { + "three": ">=0.125.0" + } + }, + "node_modules/troika-worker-utils": { + "version": "0.52.0", + "resolved": "https://registry.npmjs.org/troika-worker-utils/-/troika-worker-utils-0.52.0.tgz", + "integrity": "sha512-W1CpvTHykaPH5brv5VHLfQo9D1OYuo0cSBEUQFFT/nBUzM8iD6Lq2/tgG/f1OelbAS1WtaTPQzE5uM49egnngw==", + "license": "MIT" + }, + "node_modules/ts-loader": { + "version": "9.5.4", + "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.5.4.tgz", + "integrity": "sha512-nCz0rEwunlTZiy6rXFByQU1kVVpCIgUpc/psFiKVrUwrizdnIbRFu8w7bxhUF0X613DYwT4XzrZHpVyMe758hQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.1.0", + "enhanced-resolve": "^5.0.0", + "micromatch": "^4.0.0", + "semver": "^7.3.4", + "source-map": "^0.7.4" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "typescript": "*", + "webpack": "^5.0.0" + } + }, + "node_modules/ts-loader/node_modules/source-map": { + "version": "0.7.6", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.6.tgz", + "integrity": "sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">= 12" + } + }, + "node_modules/ts-poet": { + "version": "6.12.0", + "resolved": "https://registry.npmjs.org/ts-poet/-/ts-poet-6.12.0.tgz", + "integrity": "sha512-xo+iRNMWqyvXpFTaOAvLPA5QAWO6TZrSUs5s4Odaya3epqofBu/fMLHEWl8jPmjhA0s9sgj9sNvF1BmaQlmQkA==", + "license": "Apache-2.0", + "dependencies": { + "dprint-node": "^1.0.8" + } + }, + "node_modules/ts-proto": { + "version": "2.11.6", + "resolved": "https://registry.npmjs.org/ts-proto/-/ts-proto-2.11.6.tgz", + "integrity": "sha512-2rPkH5W/KeXOyVUC6o06RdRabVK8zSDmQpnRz4XbRiYMHRdI12KqDjAdGW7ebxzzMNE5cw/j+ptA0WMVqZILrQ==", + "license": "ISC", + "dependencies": { + "@bufbuild/protobuf": "^2.10.2", + "case-anything": "^2.1.13", + "ts-poet": "^6.12.0", + "ts-proto-descriptors": "2.1.0" + }, + "bin": { + "protoc-gen-ts_proto": "protoc-gen-ts_proto" + } + }, + "node_modules/ts-proto-descriptors": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ts-proto-descriptors/-/ts-proto-descriptors-2.1.0.tgz", + "integrity": "sha512-S5EZYEQ6L9KLFfjSRpZWDIXDV/W7tAj8uW7pLsihIxyr62EAVSiKuVPwE8iWnr849Bqa53enex1jhDUcpgquzA==", + "license": "ISC", + "dependencies": { + "@bufbuild/protobuf": "^2.0.0" + } + }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/tsyringe": { + "version": "4.10.0", + "resolved": "https://registry.npmjs.org/tsyringe/-/tsyringe-4.10.0.tgz", + "integrity": "sha512-axr3IdNuVIxnaK5XGEUFTu3YmAQ6lllgrvqfEoR16g/HGnYY/6We4oWENtAnzK6/LpJ2ur9PAb80RBt7/U4ugw==", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^1.9.3" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/tsyringe/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true, + "license": "0BSD" + }, + "node_modules/tunnel-rat": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/tunnel-rat/-/tunnel-rat-0.1.2.tgz", + "integrity": "sha512-lR5VHmkPhzdhrM092lI2nACsLO4QubF0/yoOhzX7c+wIpbN1GjHNzCc91QlpxBi+cnx8vVJ+Ur6vL5cEoQPFpQ==", + "license": "MIT", + "dependencies": { + "zustand": "^4.3.2" + } + }, + "node_modules/tunnel-rat/node_modules/zustand": { + "version": "4.5.7", + "resolved": "https://registry.npmjs.org/zustand/-/zustand-4.5.7.tgz", + "integrity": "sha512-CHOUy7mu3lbD6o6LJLfllpjkzhHXSBlX8B9+qPddUsIfeF5S/UZ5q0kmCsnRqT1UHFQZchNFDDzMbQsuesHWlw==", + "license": "MIT", + "dependencies": { + "use-sync-external-store": "^1.2.2" + }, + "engines": { + "node": ">=12.7.0" + }, + "peerDependencies": { + "@types/react": ">=16.8", + "immer": ">=9.0.6", + "react": ">=16.8" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "immer": { + "optional": true + }, + "react": { + "optional": true + } + } + }, + "node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/typescript": { + "version": "5.9.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", + "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/undici-types": { + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.18.2.tgz", + "integrity": "sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==", + "dev": true, + "license": "MIT" + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz", + "integrity": "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "peer": true, + "dependencies": { + "escalade": "^3.2.0", + "picocolors": "^1.1.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/use-sync-external-store": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.6.0.tgz", + "integrity": "sha512-Pp6GSwGP/NrPIrxVFAIkOQeyw8lFenOHijQWkUTrDvrF4ALqylP2C/KCkeS9dpUM3KvYRQhna5vt7IL95+ZQ9w==", + "license": "MIT", + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true, + "license": "MIT" + }, + "node_modules/utila": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", + "integrity": "sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==", + "dev": true, + "license": "MIT" + }, + "node_modules/utility-types": { + "version": "3.11.0", + "resolved": "https://registry.npmjs.org/utility-types/-/utility-types-3.11.0.tgz", + "integrity": "sha512-6Z7Ma2aVEWisaL6TvBCy7P8rm2LQoPv6dJ7ecIaIixHcwfbJ0x7mWdbcwlIM5IGQxPZSFYeqRCqlOOeKoJYMkw==", + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "dev": true, + "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/watchpack": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.5.1.tgz", + "integrity": "sha512-Zn5uXdcFNIA1+1Ei5McRd+iRzfhENPCe7LeABkJtNulSxjma+l7ltNx55BWZkRlwRnpOgHqxnjyaDgJnNXnqzg==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/wbuf": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", + "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "minimalistic-assert": "^1.0.0" + } + }, + "node_modules/webgl-constants": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/webgl-constants/-/webgl-constants-1.1.1.tgz", + "integrity": "sha512-LkBXKjU5r9vAW7Gcu3T5u+5cvSvh5WwINdr0C+9jpzVB41cjQAP5ePArDtk/WHYdVj0GefCgM73BA7FlIiNtdg==" + }, + "node_modules/webgl-sdf-generator": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/webgl-sdf-generator/-/webgl-sdf-generator-1.1.1.tgz", + "integrity": "sha512-9Z0JcMTFxeE+b2x1LJTdnaT8rT8aEp7MVxkNwoycNmJWwPdzoXzMh0BjJSh/AEFP+KPYZUli814h8bJZFIZ2jA==", + "license": "MIT" + }, + "node_modules/webpack": { + "version": "5.105.4", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.105.4.tgz", + "integrity": "sha512-jTywjboN9aHxFlToqb0K0Zs9SbBoW4zRUlGzI2tYNxVYcEi/IPpn+Xi4ye5jTLvX2YeLuic/IvxNot+Q1jMoOw==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@types/eslint-scope": "^3.7.7", + "@types/estree": "^1.0.8", + "@types/json-schema": "^7.0.15", + "@webassemblyjs/ast": "^1.14.1", + "@webassemblyjs/wasm-edit": "^1.14.1", + "@webassemblyjs/wasm-parser": "^1.14.1", + "acorn": "^8.16.0", + "acorn-import-phases": "^1.0.3", + "browserslist": "^4.28.1", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.20.0", + "es-module-lexer": "^2.0.0", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.11", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.3.1", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^4.3.3", + "tapable": "^2.3.0", + "terser-webpack-plugin": "^5.3.17", + "watchpack": "^2.5.1", + "webpack-sources": "^3.3.4" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-cli": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-6.0.1.tgz", + "integrity": "sha512-MfwFQ6SfwinsUVi0rNJm7rHZ31GyTcpVE5pgVA3hwFRb7COD4TzjUUwhGWKfO50+xdc2MQPuEBBJoqIMGt3JDw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@discoveryjs/json-ext": "^0.6.1", + "@webpack-cli/configtest": "^3.0.1", + "@webpack-cli/info": "^3.0.1", + "@webpack-cli/serve": "^3.0.1", + "colorette": "^2.0.14", + "commander": "^12.1.0", + "cross-spawn": "^7.0.3", + "envinfo": "^7.14.0", + "fastest-levenshtein": "^1.0.12", + "import-local": "^3.0.2", + "interpret": "^3.1.1", + "rechoir": "^0.8.0", + "webpack-merge": "^6.0.1" + }, + "bin": { + "webpack-cli": "bin/cli.js" + }, + "engines": { + "node": ">=18.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.82.0" + }, + "peerDependenciesMeta": { + "webpack-bundle-analyzer": { + "optional": true + }, + "webpack-dev-server": { + "optional": true + } + } + }, + "node_modules/webpack-cli/node_modules/commander": { + "version": "12.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-12.1.0.tgz", + "integrity": "sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/webpack-dev-middleware": { + "version": "7.4.5", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-7.4.5.tgz", + "integrity": "sha512-uxQ6YqGdE4hgDKNf7hUiPXOdtkXvBJXrfEGYSx7P7LC8hnUYGK70X6xQXUvXeNyBDDcsiQXpG2m3G9vxowaEuA==", + "dev": true, + "license": "MIT", + "dependencies": { + "colorette": "^2.0.10", + "memfs": "^4.43.1", + "mime-types": "^3.0.1", + "on-finished": "^2.4.1", + "range-parser": "^1.2.1", + "schema-utils": "^4.0.0" + }, + "engines": { + "node": ">= 18.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "webpack": { + "optional": true + } + } + }, + "node_modules/webpack-dev-middleware/node_modules/mime-db": { + "version": "1.54.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz", + "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/webpack-dev-middleware/node_modules/mime-types": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.2.tgz", + "integrity": "sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-db": "^1.54.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/webpack-dev-server": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-5.2.3.tgz", + "integrity": "sha512-9Gyu2F7+bg4Vv+pjbovuYDhHX+mqdqITykfzdM9UyKqKHlsE5aAjRhR+oOEfXW5vBeu8tarzlJFIZva4ZjAdrQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/bonjour": "^3.5.13", + "@types/connect-history-api-fallback": "^1.5.4", + "@types/express": "^4.17.25", + "@types/express-serve-static-core": "^4.17.21", + "@types/serve-index": "^1.9.4", + "@types/serve-static": "^1.15.5", + "@types/sockjs": "^0.3.36", + "@types/ws": "^8.5.10", + "ansi-html-community": "^0.0.8", + "bonjour-service": "^1.2.1", + "chokidar": "^3.6.0", + "colorette": "^2.0.10", + "compression": "^1.8.1", + "connect-history-api-fallback": "^2.0.0", + "express": "^4.22.1", + "graceful-fs": "^4.2.6", + "http-proxy-middleware": "^2.0.9", + "ipaddr.js": "^2.1.0", + "launch-editor": "^2.6.1", + "open": "^10.0.3", + "p-retry": "^6.2.0", + "schema-utils": "^4.2.0", + "selfsigned": "^5.5.0", + "serve-index": "^1.9.1", + "sockjs": "^0.3.24", + "spdy": "^4.0.2", + "webpack-dev-middleware": "^7.4.2", + "ws": "^8.18.0" + }, + "bin": { + "webpack-dev-server": "bin/webpack-dev-server.js" + }, + "engines": { + "node": ">= 18.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "webpack": { + "optional": true + }, + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-merge": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-6.0.1.tgz", + "integrity": "sha512-hXXvrjtx2PLYx4qruKl+kyRSLc52V+cCvMxRjmKwoA+CBbbF5GfIBtR6kCvl0fYGqTUPKB+1ktVmTHqMOzgCBg==", + "dev": true, + "license": "MIT", + "dependencies": { + "clone-deep": "^4.0.1", + "flat": "^5.0.2", + "wildcard": "^2.0.1" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/webpack-sources": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.3.4.tgz", + "integrity": "sha512-7tP1PdV4vF+lYPnkMR0jMY5/la2ub5Fc/8VQrrU+lXkiM6C4TjVfGw7iKfyhnTQOsD+6Q/iKw0eFciziRgD58Q==", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/websocket-driver": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", + "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "http-parser-js": ">=0.5.1", + "safe-buffer": ">=5.1.0", + "websocket-extensions": ">=0.1.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/websocket-extensions": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", + "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/webxr-layers-polyfill": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/webxr-layers-polyfill/-/webxr-layers-polyfill-1.1.0.tgz", + "integrity": "sha512-GqWE6IFlut8a1Lnh9t1RPnOXud1rZ7wLPvWp7mqTDOYtgorXqlNMhEnI9EqjU33grBx0v3jm0Oc13opkAdmgMQ==", + "license": "Apache-2.0", + "dependencies": { + "gl-matrix": "^3.4.3" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/wildcard": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", + "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, + "node_modules/wrap-ansi-cjs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", + "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz", + "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz", + "integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.2.2" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/ws": { + "version": "8.20.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.20.0.tgz", + "integrity": "sha512-sAt8BhgNbzCtgGbt2OxmpuryO63ZoDk/sqaB/znQm94T4fCEsy/yV+7CdC1kJhOU9lboAEU7R3kquuycDoibVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/wsl-utils": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/wsl-utils/-/wsl-utils-0.1.0.tgz", + "integrity": "sha512-h3Fbisa2nKGPxCpm89Hk33lBLsnaGBvctQopaBSOW/uIs6FTe1ATyAnKFJrzVs9vpGdsTe73WF3V4lIsk4Gacw==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-wsl": "^3.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/yoga-layout": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/yoga-layout/-/yoga-layout-3.2.1.tgz", + "integrity": "sha512-0LPOt3AxKqMdFBZA3HBAt/t/8vIKq7VaQYbuA8WxCgung+p9TVyKRYdpvCb80HcdTN2NkbIKbhNwKUfm3tQywQ==", + "license": "MIT" + }, + "node_modules/zustand": { + "version": "5.0.12", + "resolved": "https://registry.npmjs.org/zustand/-/zustand-5.0.12.tgz", + "integrity": "sha512-i77ae3aZq4dhMlRhJVCYgMLKuSiZAaUPAct2AksxQ+gOtimhGMdXljRT21P5BNpeT4kXlLIckvkPM029OljD7g==", + "license": "MIT", + "engines": { + "node": ">=12.20.0" + }, + "peerDependencies": { + "@types/react": ">=18.0.0", + "immer": ">=9.0.6", + "react": ">=18.0.0", + "use-sync-external-store": ">=1.2.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "immer": { + "optional": true + }, + "react": { + "optional": true + }, + "use-sync-external-store": { + "optional": true + } + } + } + } +} diff --git a/deps/cloudxr/isaac/package.json b/deps/cloudxr/isaac/package.json new file mode 100644 index 0000000..3d2ab51 --- /dev/null +++ b/deps/cloudxr/isaac/package.json @@ -0,0 +1,47 @@ +{ + "name": "cloudxr-isaac-lab-teleop", + "version": "6.0.0-beta", + "private": true, + "description": "CloudXR.js Isaac Lab Teleop application", + "author": "NVIDIA Corporation", + "license": "SEE LICENSE IN LICENSE", + "keywords": [ + "react", + "three.js", + "webxr", + "cloudxr", + "vr" + ], + "scripts": { + "build": "webpack --config ./webpack.prod.js", + "dev": "webpack --config ./webpack.dev.js", + "dev-server": "webpack serve --config ./webpack.dev.js --no-open", + "dev-server:https": "HTTPS=true webpack serve --config ./webpack.dev.js --no-open", + "clean": "rimraf dist" + }, + "dependencies": { + "@nvidia/cloudxr": "file:../nvidia-cloudxr-6.0.0-beta.tgz", + "@react-three/drei": "^10.6.1", + "@react-three/fiber": "^9.3.0", + "@react-three/uikit": "^1.0.0", + "@react-three/uikit-default": "^1.0.0", + "@react-three/xr": "^6.6.22", + "react": "^19.2.0", + "react-dom": "^19.2.0", + "three": "^0.172.0" + }, + "devDependencies": { + "@types/react": "^19.2.0", + "@types/react-dom": "^19.2.0", + "@types/three": "^0.172.0", + "copy-webpack-plugin": "^13.0.0", + "css-loader": "^6.8.1", + "html-webpack-plugin": "^5.6.3", + "rimraf": "^5.0.5", + "style-loader": "^3.3.3", + "ts-loader": "^9.5.1", + "typescript": "^5.8.2", + "webpack-cli": "^6.0.1", + "webpack-dev-server": "^5.2.1" + } +} diff --git a/deps/cloudxr/isaac/public/HEROICONS_LICENSE b/deps/cloudxr/isaac/public/HEROICONS_LICENSE new file mode 100644 index 0000000..d6a8229 --- /dev/null +++ b/deps/cloudxr/isaac/public/HEROICONS_LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) Tailwind Labs, Inc. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/deps/cloudxr/isaac/public/arrow-left-start-on-rectangle.svg b/deps/cloudxr/isaac/public/arrow-left-start-on-rectangle.svg new file mode 100644 index 0000000..85d9580 --- /dev/null +++ b/deps/cloudxr/isaac/public/arrow-left-start-on-rectangle.svg @@ -0,0 +1,4 @@ + + diff --git a/deps/cloudxr/isaac/public/arrow-uturn-left.svg b/deps/cloudxr/isaac/public/arrow-uturn-left.svg new file mode 100644 index 0000000..22c8189 --- /dev/null +++ b/deps/cloudxr/isaac/public/arrow-uturn-left.svg @@ -0,0 +1,4 @@ + + diff --git a/deps/cloudxr/isaac/public/assets/hdri/potsdamer_platz_1k.hdr b/deps/cloudxr/isaac/public/assets/hdri/potsdamer_platz_1k.hdr new file mode 100644 index 0000000000000000000000000000000000000000..e3121c15c238c9c26a9df0d83b00c171cb2e1598 GIT binary patch literal 1540678 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�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

}ArNF;vi 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

OFU(s_`@QjKy12ode zIS3wT^Jnjh{eBh4r9NP~b9?#AkG0be)wJ!gno1x)+ay&FtJlKG(a9Ok(&@?3w;%8^ z>dnUO_oD`~xtwa&K8PUL=UTT)B(V$B#u!fMS7)&)jfLv3FS|0V8?EB6{_>aq=P%!# z@O?THJMgPte>e-BOYa`3X@>u2B>Afb`b_z}b$u;2*CjtM1aCWb6-f8<@9rkeTIu7l zxC3<#=crD5$kmh+W+RrHaoQQ(-}n8r%f%f@M43Ns$R(ga@2L1b;=zCkBV*2ad($QH_!hs^N0Lju=K-E_WNOI4>^~sGhRRdiKd7cdYT@O>L zIbt~*_a>1H(TG=?WdQX8lI`?+Y-+j5EeIL4NCRHXcE&MF8 zXw6oq%XXEJ+^D0_#HgZ-A?Sc~`?vQ4jH&4qV0PU&xAJC9wWYqqY-%!J?e)7uw4u)R z4Xwak6y6DRZuk1_>EC{7mTRNWpC;qU^z(0fq}!w*on~i5U_BnHF3KlG?6RKBJeRX| zebbb!7xootvg0HZ2JE49Rmk=Iy%NfGq`RiGZ(yy3qBR+)t{MW!LHvOsnD}bS;&G4T zlcWlCE9z|{wyqqKUW*(h$sP6XWJ+1V#8q`qYLl%-}ZSNkK^qaGI7)j%DXOKNB%V53np z*=aOAkX417C(>hbajBfKF0SM)9)J6r_rLl-e)G#;{?)(w-+vi5`&lQHK|Sh>p()Q$ z&Ei$WeprMGRO=+WO<2`%jV3u5r%f895TWxj7Ud=r7Z_^MJ12|==s+9RYZ)IXjHZZq zIl%`8uj-}Jd8MhGo!6_BC3>)s{!;cuy)l#hm`JQ0>?X6*OCIR3@!3H1X(G+i$DXxJ zV|cnQfm8bws?ZYiLQe|{N_QGBmiG2k5A(}F;@;0T*lcsY+|q802h+x`;L>o`IoOZ_ z>Mz?4Lb%d#^Anqz>AEaxj1ZeaHiAGcDu{CYR3>!^Iw%RLrDG z(c!Z@27sxRK;;O7UB}mdu~N_g2MbhOd|eF+IQKg2t&QD3+IJsze)i4&?(Xj4*Be%^ zvO~SZhkl(m>LEPs;;(J(pix;m`v-K1K6Q4X*{0^WHIVah8#{aG1&)_s#h>TF@a2}v zY%ua)s`R$@46u>~$4b~k;PKG(wD$u6s_qC6{Lb6gg%nR)il<$|7f*nB*xcruU?y;7 zZ*$g>H1SE#7O+!tWbHyf#1cEk7qOmP+ulEXV{pY~HUJ&$pMj$#Pp0BXpBbZS+oZ(# z#?vxH^mB{Mp`Cr&WG-7#)^eUj1`197EC=a2Fm|}Y1Y6hIQ=Vh6SZhOgggX%c|w8-Ph{!& zL+w^!&WjqJ`0L`*p?X3i%P;qP=IQ0hPM|~7&(NnAi;k~X0Y!E2sP-#rg~5aWPF@!S zOzU=OK7Oj{&H55;)97$qPH%!|^Bdr^nW)9My8HU^D=Q1y0^$5VFEMB5+Te~Ca?-Av zR(9Z<MJZF9SwDBc%hDA<@HlK z>aglx%>UCog?`<=*Px!0lQuWU?=z3&Ojpj#LZOuy;Pg|>ue|CkGB3<{ttuc?vFj2T zrC~>^X6}%2m&P|QCNtRhkY@kzk0_!PPcE^Ov6>0alZr>WU=_uT%4McPrqecDuztNo z+{-ATEVhgnXGM3ei5HxQBlX!2FMR84sbC0wuxT-`?d^GZH+DVZvA7aOwkDXt2C%oc zjauvRi;bH*vY4ildfy4zG&rGp6X!*c@}41{{lXuwcnNxPqU4zs32EEtqOsMJQR=Za zI}wU*Q2YEp;5Rg5gIbW9Um3-`h(N`jlgg9rG6h=7>1S(u8yTS{iX&YB*T&=EP=o)` zkes335@Mt=p2x++4kuQRYHM9d6~dlt0`a?z*;oCU&&nY+{q9;5m)WPnqtk4i zOBBAIv`13_?3M}tNZEiUU1|551r9NAD+G!%;;*z%5%}@wHG5OH6zkfch8-a$^)8MP zD9%nL!krrdRL-kxnh1Z9`7iKWYQ>WiiiIdcDdfx0|@|5xuzs3F{0Tdl591>V(FUyB^$qgpvVs#IrL)uPsz z`L_zJV80(S{poRT<(Y&hf?H#d!Ckc{53J3rsov;Jbc3ms%?fnXjRtxqG=o8yRVi8+ zj7r0k@FfzA{2}&DeSs0<`(YJ%zH~zK(P&Nw&3q#-q5h-??ux4>qNohx#YmpRU^;@}Yeg9wLztCjR~18R zp!W|#4@Z;%TJIH7>tOrdq*)z}v5-_RrBZKF?G#$go4>j1b%+Uo?sk8C_uZ)HuH&wC z0ctl0Q>uv%gqe2pY1#pK2kej}F5iw!R>pMAH=pPeD2Uy@(^BVpJW2gT2%Y&xPYxSx zO4lzrf5%qgH+yq49Ni3k1NYz7Kj_K#P_n|^Dqs;8m}d2wK7W$T-d6vocvRhd*EqfW z{Qv%czrDWxbfX&fsgnj#0kb4Rdrn8ptpsJbYc+xaKD-wq1RFQKdbgcf6lW+|-gMnk zIL?mfA55}5Mcpr-jE9sh%)zETEU#|nH>tFlbG@x>*E|(dVxSILi%AbEosq+UbckNO zRpx0`ZpvVYCvmM+{=gv#+p5#*OqftHXSGfUpNSbPX}55AT{)4<=I}aW<&$ja;qbE5 z>lDCX!`jU~{S+92xJ{-2Y!-^8R!rFDFP~BKZ5)t(LO3fs2b-z`L=e0lhz()}I{EqF zSzvq8&}oHjeDe)K0Z6N5lw2@L!o+zrnPQ*-Bb`wu?DocdU?Cw{xW|Z=_BXFR8}dsb zY-!yqHRhj?iNym{eX+EGC#?6R0j9dpcADwkut&1-M(O~NKn0F^7WS1Epr&>77kPc6 zt@udVM6cf^zB~3Rg~;}r8b$xd2RM7pm)B4(Y?BsjNaGtUbn>E>B?O!SiYbpwJ4`0% z48sF}#CP`PHt;%8YylhQ)^>J9L?-CzGwIRcJSb<>LCP5yBZ52p9MuG*qD0s}qF8zoMdPutuQlx|(4uVbkrn9f z;pI@vNNM)R<_3op7wgDE>%nC%PxQnV>}z_HC}$$Ha4nY##%LJEAx0TLI0pAWf1rR! zL8Fhy6!qsnUwyg!^MCoj{pr^S2Z}HKKg#4RGS3W%k%3r#-8r~MibHh~6tN$+n$;YW zsTnmTzi2Jn+M{<}LY8o-1$X7OOz}*rQrK#4vSQJjO)D8bAgngz3SYt@DX(M3%MvQl z0gg5b8HKyjWWh`+R2uhZ8Bgd|LlQylhyqdCS+v&CWhp*vsP=4$@8FN8x}hef5gPf`MLEs z`#UtmYW$QQ5T3|&W(ZcA`dU%wupWO!luQgWUtrtg_zWF@{TbWcyaG)kmO1V#dV2)o zPQ{r3t9%dq9zB8&=8fe4WS5zAh#_8yo`xeZemG(vhzKqL*3kecIouo&GN(fd5z>8@ zHM53S1*@C778VAZpFDXblWI0r1HZ9k%thrssAVvEKz)w@(CCHbgF^t(N;X3=@iL=& z_UMIStiea>1k4ZGZ0QeF-+s>R!9NmF5sZgfmCmqOL?5^!M&RYv;ijt4ljpvH*e0OL zYcCS#mBi_%T$5ZSP*u_NgH3?zp-4zkj#)KBocwj5S{GgC*fLV-V-E?djOi&Q^@Ar% z8(;6J6OE}n=)`5r?%1U|SA<6eP8$5W4PNeUn5xw47}$mN)Bo_o7J3&~B;}N)msa`W zlV|FxVB!=2zM7MpE_|K_vT-kk3}@&bG-$kHvl`<|V47pwNH5(?L3JV}f>dpORo(0X z2)#(lD6FCo)qGNJlZq?vU<^@V)x3=|vC`64Di}VSf*ZE(?#9c>R<*_h!-J;fA8Mgt zs{frLF5bWn(xaLBODR5^CVEWrR21A*YXa1EY7SF@306lsK`gE}mEOzR-of&Vg*Syi z|7P2}NK3>Go8@|>+{s8q!KThgL(AVejr3m@R`xb+02!dfok|sKD&>h#;`*`x`b7lS zm9>IR6&Ei9QUbh8(RF4V2hJDo-Itj&w9 zgObx6_V6c=U79Ka@n-ybq{qVH>_tD{4K6=ij;`-+Z*FhK{N-y{KXs_`>|%5?XyT3d zT*=EiswG0)G{`5D`pJdJEj{qbO~0$(c~zj!)EjR%kVIfztQKwh!PI<%9SrG2h)Xyl zm11Mkso+Az_Xtme6a4W>QA7cp97evLGmDwZ>9*EIC^|HZ>ATS;5 zda~7MBnqYmFutEIV|{fxm$hLJG>yP`^!<0ACm>?)250`JSFJQO;c=UqY%j+`!3-Is zI!lO?BR0h4Lh-_ifhY-h&rcH}hJn-UPbdA!=<;eLQ49g88B%&{@Q3@B`mYYS7s|r! zl01fIR63PfP-CCuvI@l3%x?%)HqAlUf;*KcI5U|pDHqOTEJdKADpFHjsUmMbUAMK~ zuUhhvT{yDt@9rh45zAh3>InykW<7J5Y8COUK4?)>Os>a;{`LJt#~&T5jTzM*i|O;3 zY=e|*#q*Qu=Rc5HcShsk@aF!z`(fN(35iGUSaOoPF2Lya_GUOxEr7?|NJsP;#3HCT z#!H={D%LHiRXg|J-(RPS=r>zB{G*YJ(QTZc6yy%zp7jSUu^cqi1}XH_sq!q~8I`|R zz3fjU8i3q)cir}I&}`5;+)bG;SuCSol{sv4`sJE7B!isP7z8^mox-HrY~W_$vo$ch zEH5=(i_dEZ$<6=E6YpZSH4Q|D+-p&ylE=sKw8G`L#UpiaebaFx7}GWy-H~Vt=1(-| z%J6t*os|3~nwLknjp9dBF&#_Ekba)A)yGo>46c$iidsW(ggk2xy1uqV6Cp@Lgh{*ik$>nH$57wj@s8Np;ej6_ zKL1N#UZX`CB-rY;9!TXk_&aC_Wd^^swV=7<#T5@EL7pfB1+!D_AwbSfV>1fbMt2^x z+n7-=Ahis6*=UD06DK?^e_})$N6keWH!K@IMY_Re8nzRgJtA}(CnUamLc2B)m$h2# zCvZMFqDU^^2EDS2Sb&vn6~Gnm`~1`ld1+^_#|l_qZ0eB;e9EXx%F&d(sG!+kX%eLp+Ko{^4JtE|;5H8rUh6}|a7W`Mu*f(tMDvIRD z1+w^w9kit!1e#R3QMsNPXP6urYpWhqbm%BMJKH;lyKsm5^}|*YUWqZcixAQHjMNp! z@JL!+W=FKJa+pjto}oY6E$9jJ-FK61Uu123GXs_bhjT_o48hO}CD#u#29i*IIYPHo zhhE*`YWgN4k-ft`0Rz^{?kssAzNPyvKJyO+jee}os{fIl-46SL=_$+rmq_%05!7s% zvn%PyK(q_-jztQv`Fy?ci$6YiBl-YUYa;>!U+WHWDs;!P+X54g5Eusz^#ZNI?LAHV z&22@B)}Q(Wgh<19C0+X2tzTS5Y6`?RKEpAwV zmKz!u#s|@_VTCbtrbbc$pzsBFgDRd1%ScEnrx=TIx^i6laOs z<;jU&!{8yDh>UVl!-W^Ly<>v0ql{95WuW5PI~6e!N+5+pkS?~F|0t3`V;5lQ^=vMP zFUP{2QHt+&rBdsuE_EZ7M{BSDJr6iO1c%49rDeI;k`xMTN^#Edm-!h53tAzdQb=%` z;6^T{UknW3%j9GLa>`yyHu7*}sFzQO7G?+OFheEr)vtg^kPPAk!<5XHGhpLI;BdA# z=ea1s=8qpKBqF*X<$a{H`2#^5>U2ZF*Vif&m>bUbg7REzg+6}iU63!(>Gnm>9{uzy z;B_{cazE1EhOHD1^qG(woC~OW5Y`DmXDk_w1;^v;o<4XA@CFdReDUz%i+M;DJmiHM zu962e#Vr5HnIPHS^M%i!J$S&Ga%RPEk@;!o1VFyfs!x|AkBm8uGe>Gkx!`Lofq;7~ zoe-?RYwJHVw>UNcpHA)Z6JEEF-uyrDaCqvom|cE8MRS3!NnCio6n>+Z^z2R~_iO$Y zeT%mHlZa_?#yZW|Obsn9HTh60;yv-a^2D?oMic>6N-W zXqtIthnA&`G8}RKurkV;XP>w|nghhcTnybCuEKo3T-}_>izRRWkR(ILQb?{buyq}h z)#j0zU*6yMvj)IE-5-16qHD+fLXS6r(9B4DpwihWK_UdY8%=L|SAN;SD!!DSOZ#s; zA<8@VH}h7Ls4(`-@wDJ07WFFvW$=5s` z4%*LWnxV6#?6UM-1+~1oD>GZ&olJ7*bu4LP4}-Os%LzZoa+|#>LKHIm%{^Mzw@|%> zQWSe5rbcLh?tVCXs#5d1L>lU7!Exd5Y6sAXk~a-cs`T1Se-MW`o(-3}48| z+RV#q%X^Nr>T!-v$;NrgN_Vx?7~Tt6MtNhYHE={t4m?^06@Jo(ny=YWeYa!EeSY?s zGszHZH^zT*-K|dU_@)0FY_IIY{;W;Z?$OL2JEG z>4R7p_=BD8D>AdjFgE z=Vew+aum>yWH*Z(o67ucwc~1}_yVJ;9Qg2yoGbVr4Uy1ICq!5}nNIkZa;+(2+>Aco zFvmBN@Oy|agyOyfF`hH)2&zPpQ892ZN^mhec-5vQK;QX1P(XEiBG9@4kP0a`f@C%! z!$?R31jFHgk5jw<>AqbqT$aQJ^s2}2j#LOLC5W?H{P3Z~hQIXjy>lN)18xuE+*&7w z)-MmFMu@L;1--d)NKXpOEQlsk(t584jy9W>lOt(u7v;;d^Lnps{sLXI>I8#LKE@Q) zRMJgFW~0Cuws&4?Oz!Xf8=ll)G8v5wP1I@R4JwAaZutxwOw~FZO`z#sDg&Uoi`R42 zh<0Hh^so2jzSA5LlGKbh+D)Mdv3?zlvwT%cp)xfsK!@>qc0WnY-O0^l za`$O)r8sEN-rz;KG2Pn%+c2pN0~{p9PU_o647w_p1*vuC4W&-g{h~hicULXx6v_;X zEhDrNj+DPN#xbvur1AOA@iUTA<1{-I7Zt;@7BRJ5`fS7)|<+Qa~`_C{%m*|KsT6ROVh>8*;4@fAwv`yY6+K?~ zpYdRd#prDvw_Ph5l~h$*Bpa^iOqdrgl=*?Nh{F|mhGe5d2V`U(RM=%a6NdV1To4Mo zHYY?C;Rb2+Dsv%y_rPShRyAPsp;MkJ%%--y{e~vpl?^~JTfm~)r9;^fZOrkBY!GDC zjhkP8bC@UvSH$ggH;EVmozos&_>UcVgdiB@=vO<3-yB3zpInM%{Giky!WZ(xiUiBc z9rClYn;h7fKZA*~jAuwL9F@?P^*!NzXd=Fe+5GVe9HnDabZGtq*jZ`0LC7x~)`}a! zo;EzaP>h0iEVku8x2hsP&y*u|2CdAx_32*N=?x5mRdA(T6f4$U-k^5Q)1>&@rUUYv zgxa9CmVdslrt~ShIl(M3Q$pBWiI6AIENfxo>o?#?+)q98M4o1f0-{li%m||D6h4t6 zInBqHucPKy<${Rerio>T&oNJQ!2>oeQ*82?79vs@Y9$j#q_?^Cy+x?VbR^YP$PF{1 zN!S?R%(D>9U=@qb64n-e`n2%e1El%6y1)BsZbN`LyPXsR`9YLfWK7RP%;UhM! z*fWpcJ}8Jsh&#S}Gpj+|X)yuJEoYo0I(iR!#-6EVlrK8!O7Jk>Qh@0??4^8{BX(Cx`H z>rUk#DYq}PBs|q=UHkjF0(MY}KQGkeoUJX*J_-7tvGpBAdg0_IE|Xalxb=uBqQ~`HQ+vHCC$yfees{@&u65qZbgDK zBJ!P%4dhnZEG+!RT)|g_8<2Yv_Ud(U2*|l4GIi?_9mr%OC_ahYohZ-TWn)&Qxnvgu8j3ysJCr-IPB! z!AY9j+}};Eid8?ZNk08N?e=azBiv|q4@g+My$-&2y?4VH2>4Y31dLM(ceFmmL49Nl zsymM|&7!eXX-sZpZE<}mu;-t}q_N&qYxIV+wqy#D0*GeYS7sNiR=FtJ=M$`O-VmR&z`M*Gr8AE^wFpF|d!P zzdEB?EtYEI2?&dYLI-|wdR9EAPUVsF{g+9j+R@L4YC|$_N?f>jTaGk=+dr;V!i-HN zx*@ff{d>K2(C~ue>2wlr&&&|Wg>P=}Zjfwzc8D)U z$zR3GuGG7zk_V~^z#D*V_lQH%(l#zA^yqK(qnUPg(3o7y7CnHA>&6=^H3TzXNx#m@ z=yc2H=tQFi0dO0w>!YwZ5&`XL;`PfORXC2120oE{o3&E$QifcqEyN;H3rP#aAjONG zAOd!r)hepndAWPrHOw(W`OLc$IZI_iB95Td@yS-vP(<%yD}? zz5D#-(|B-mLvk<~;aFLF=lJ??`!-ZcfCS!etv@kGl$-k8e-oTYG$Z(Hv1WOIvp2rL*IA@0j~qc(SIAZZh9t z6NO1v#NO&qv-HL{*F%Ff>x$YzVMxra61RR_WlzSS&%c(`g5y@Be)R6$S#K)6x!V?N zK%GD~BLJk8YQbdhK|aQld39CEAnL*sKpqkWNal0u4Ae1?gz;X3l=R;_ubu7&K3X6;)-z+4&^is`jiuGSi012=fJvw3>C1l-0RD7=1i=P(K!-PSkX z>@a^?-`L*UHG5GRrID3p@T>XF>`f^aBCv}jIs_RPGi3=%P5w&30=vQdNrOlaYwHb! z3+uDp@Nq(i5#_0L_YMvY4@ok@H`eG(h5;JS&YOd`JO72=`Wgn#E`H1GlQ;uuBtx8v z7gbm;sH?(KHL^CF5%4-AkpQZZf}||O#M#|bpP_@9u_r?#90|afpqZ3n#=VV+6qPsN zm}VQbuX1xm(?91r&!{kMQ#;%C!MeoZ{f#v7DBff2;~W9$Mdg$YJwMFBUD|^ZCRZx> zcinJid3&G3)Yi`K{_Z9P!S2rP9(ugRH`6Nq;AzO5)s0q6>7FM7%?AdO8&}v-{X3)_ z$euq3$q@eo)^j~lU#)Bx4!=3vm7tLGvxmCX{Ec>F@Cyhzehu)fKcDH&2FA>AUApEj zc~(M7C6AChkm3P}1dh-8@B_vq20BWSpdMAv^0Hg?D)G=7gFXUnXL<2wev%T>Xh_8x z2nhzH(8IL=5%h0^1%N}M0c(3E>yB{7CxtE;kg@URPu{-$W3@hR&mLP~=bPJ_XXN0` ziYh6p^;{$)n8g>X_zBU%dJghXxj}!2ic$uGYyKN|C4(S0fv;_t&F;UUfU(i$uH^>D z>BnZpAxqHRC@~P1axOXpi+^EWsQt>W5#m9@i59|hsY4n{gvy$j7U%-WauL(cmWKeb zK35AEEQ0G#DCS>pi`-S9Agjkg)g;mH=>I~8Dce2pxl$$&vs^@9No#!^D z6nZwH;E5=J(LrM%)g|>l^p>}T!&i&+!BvXV!gYM{=%*N6fw}?!)GCi2D^Egdc{$HJ zmLr!{ygdK-tFIo>RM86{+Teg?o)9N1FVmC~GqMv3O{|A4iF^Vc*^}py$yjPHaqOt_ zH3qDm7q75IQ}X$4)z;rtlR3awhSFXkvrWd$H9RofArbc-dZ6gVPJ*R z=hXBI;AVuT@M68=9j5n>$I`sRTbd)0+had+cRctG(QDj;l|Gr)(<%~U=3{w%hdSiI zm>uhasmKahTu&b`7BbGtqc$rjT+q~9L^I)Dx>r%5Sy*`q^tv%Ph;1)QJ7jnjTHaOOh2NiT_A_kkDT&80rDO^Ovmr zVME*({zcW+^p0UptEpe!yB;A;13h}~QHS1iFE3kz!4O9zV%`c4`ADP`Y)R7DL19nt zTBw#DvRJN;YD4RtLbk^fo{N4Bcst|a(w*KE;)+x5+;H-gKt^kNae7AoOTT+6R!mbJ zJ7q@L0j^-M%VwRv`q$D{FCFOBZiYI4NP#5 z50CtW!~Gbdp9)30y1-0Igjmw&pfeR#+T@zO>W~tyM>s3ZF-A*%q}_X2BES9N4nmDFEs9%GKoG{Oz5}q(27e364kpe~7(W-OeIM=4ap=;UQh&ULH%tmNMnl1yNOv|n(KE$u$%vG}zD2QD`m$x&%HY>TtfNOCq zy6(9);Y+0;(sY-dCiK9mcE^+3+exQcNa~t_0u{dTM8*R~2c$SnJTs#twx<*Ks6#wozq@U#W=B^w{3yOxxIlC=Z6bhPkMY-ZIAF9&!!W(OF=(Jw zP+*BcgWxOO+glb`zv#JL#zfAetc3B!S1r>y?y2?q*}HQQa?SC$W+oSd+VMnbVSy2V z3psa8^}$%BrWC7J&O}BR4X_&1zx^9J4@I--pd}dol&ars&nUw$R`=lqyJmJyT^r`x z`WESQvjw$(#xuhE#@?GY8`h8aAdwu-uZ<=U-R1%ppvUTcX;1@N+L+3Mbgn@|z{0CH zR-?BN=0Mao{J1wtB8z}oam=5j?X2!*^yJ=5)c|HSr zXhA7L*^e4|q&XL|cYb=-g|Q{+KI)syCL=qnExF=nHVjE#kQz*IE2dOVs)(;Q)Ss_69GnWdGkFUBH=#aIW!crUB#_2@REr=qr9vl>ZQ33`9UKX9zV=fYV8`KQBj zQPYo~!45UV?3M(4MTG1C+|}7o%0kzSw^me1so7FNC>s1ToU7nJm~uUqQdA54eelCl z82nHx%&LOb)&Iy6^}E*^sr!HHMN)Mn$&E_Xmn`?Xj{7()Q6R8D2art$Sa+mUt-FJ$wcLKAe6xBrk!-PXokZz1jK>bz}zcgP(wrAIt!9 znLr*?9xVW>9}QE>UucH1ioyQu3E)lahk5AGF~=1R>eaPXu!QLnTTg9&rg>8OY#SGZRwZSCb^8p@FbK)?~DPxq!Yq-G1h!Ji^B(I>7kX74-zxvOYBi}DV zgMeQi&&W9H@EJH;uN)%H%0eVIsEw^?$ZCU6)D0vKX*dLL z>8>0)e&%|mXEfuNmyZRXq!7L<&No0d9!@vc{bkQa^zZ0SWbf0?;>G82%cv|FQ zdTbDnNt`X;7clco&^*12(F>Y3w2f-W^Tip^=yCduDQnbJvk+_=tH@!~H=&X*t_n5t z2#ZPnzfM0#fsMqt4YC-^Kmw%962w9SKxl~MkvFG<1A{sAdK&L=q zEt+Kl3#TgI1Lux#nJ+ovBLg#QbcmtDrf$XpxhL=6C2wWWY#i#4X=@5!3L*mpkJFT% zumokDG@2PqqjltBOu~{+gO5Ry;5+h#yz`5f4&oBb%`Gf10>F97o%^HH+``2;C=(@_ z2XxGwrxsVKUm#nEMoL@&(0}9IU)~y;N|Rlc0WQbA&+W=I8Uo6PD?=@;`A9RX%V0dx zfq32Y3jO;hC>bC`K?8go24;JU?y@7ITV6(*Ipq{wiiXc)2Uyo)_m|%(*O$?AnWmL%;bbu{sJz(^3 zi$vj6jw34m4VLDgL)456Ez|vWa&^ry5|UwxcpB6EKeZLh3#4a_(%Y&s)5Qf5w3j7N zMOHul-5hlxLu0els1VhlHfC)apN(ra#^=blLC!RF1>#pK+;)Z!Kymr%+7f;*E-iI7 zBa;g&^F$TczW5Lnp)5aKTUlOSAnj;)V$z!ZCHVWYWhgnZmWF zoE%Sq?Lf$H@N0aO4rCl)95TL3owT=v5RT(SQfYnt7O@6=63UtfId=oYtAm=vHi#e)2tR1$*K=sishtx`^R zV69=T=nP-?BWfm36AU0UOJ=S~DzG;If3PnA2jUFvC%J2NZ55t%oaJUJE-IqiP9#%f zZ{%!@F7OBDLUr2+l|kf8Q4oLChpA!uJ_%zP0ADdLpn;utwN zOb0gMB`}MLDVP{(ET_*kQL;)PP-EqeiutC-&xubAB+x2KAPW^&TiZ%H$|>R$WJtrt zV|Sb5MhQd=3L)nKoNHE&_!g8ZfvxlbbNq*HPZa0kUMJTkg++LqK#sDyBA zx2tDF00r#r&}@Dxj3979q=8A$JE^m+Xnct^m9!UXL43#Fqt&hfFf+AGF+vV4T%fwy zWHB?Au>P*G=mh~8PRMSb0t+J3L@+7NnkHt3pK3(|HQ1*wymt8<>y3CoAZ#S|DJewy z25csF3n-R!5k*<;k;QV0$3P2G^7{BzHNOO=!KLQCoJC$_hPON~TShOJ51L5R-a-Do zZdcpc%Q$dQrYB&oDGw6$ayUuTCe;Da$nKhAg9Ip%k1J-|1HU0 zvUqAv%d%4=Z0APPLCD;}f3R^cZa988ONkV0mlnPN0~PN%ZbFV=TExzFrfm0B4xfP= zUg;5JvvD$ky#%}JisRlAfD2Q@{bBZo;?aSPiI3HycF5qNG8IszyHB+gxmie(rQlQ% zRrII$LjlsrK#5W*yU!>lt;yh!1X`pt!nxSB%w+P!I+RsiWldy@n|&? z&XRhMe^G+L#hmj9rSp;YLwoM0|#6;t%P6aoEuN z2t+T&Qf~Goo&}l`6^~lL%CH;xgC<@_YT0)19DEN&8O7D`b40r+_`o>GpoG>$7Z5CB zdr?f_(~&rFTb%ePb}?U-Y8M?Q3LH2*3SIw0R{<471nuatBZpq$@YU>MQ26tP@#`CZ zi#GrxoAcknn$(?gg_&@etdN1Bg$MI<3yTZ$Bdlv0aMfi50i91ISnz-{|Vb* zsCgWI0!%I(EB$$Zw7id&@^|hM%(%@xSPwrS2ZW|G6LU-R^fsa(0G68sc4R}s5_Ql6 z!^8I|cIdy`cjFc{95ze3N7*zyJrid*3sZnd>Z{36>AQ8i3pO9vEgGh=4u#B=xAqhA zpi>f_3|THDCe1whhzkb1$O0$EMn1CK#1clQAFSZ&041U2@q?(wU7VYlqP-Aq7!n=@ z;8G8L_Xfb9{H$qWJBxF~EbcMI0hg2vqnR!O0yq&s`$@t@Ty;PbD3%r(jdE`Q4OK@f zu-Nw~_+EH0HFz8JnZqn(@~{9@k(*XDcz5uedq>tXP}FB;@r$EE=*NsZMj5KQLYXPdC~H9eCEO047Yj{d77w@ z>ozyP`q2jfeEK0#l0mV>EVbDaEX(o~*B^lUsaU`Vnj!_C#bz&XQ<+;&WK6P@ZG?#b z3``Rbso*RUT54k1$BB=uE)z)ttK&+H_Tx8E=8{Q!{6j)ezI=Xuo;}7JB=!f`aPv!x zG?2mzp+JHCQz7|ldXn03jtBc@x-`=@H{*?hIJncZ)3b||lrKMeytYK4_=EwFg{4)( z8JwgE`~z~hSOR@T_MumBSn198rVu92re7+T(s8(OQMnJ0OO{D+V;%1e>4lMXM8~dM zeH>uUGD%}NU-#IxpP>)%t?PaGoc-K%?d@!f52kI6s=rLO)>Icb+zYHEHZdbasnMh$ zB$I~DUWkl*6R=^uut{XPVqnmYs7EbefH;7nprf9uG>H&!FD4Fxlj5+>GZ!zO18B)C zo$^X4o&@5v^|dBjGuq762$18#L~e+JcLl6~Zbj{+%LLgC=T9n&rCvwKBtWfET1quB z&z@MVAi)6%M_eTnQ$^Qw^<2Z8Wlu7$aL6orhTz~W2e~Lo?T=_>6Imf4Br;4ckt73`BVDZVC0t$Qs>NTJKmNcQQZq9&^u2Kaav4N+P-<9z zaG$OR1RZLcyeiBkHdRy(*UdMyrx-YF4I?&;(s7=5;zD8Zgb#WRJc!Z5--)QDv`j_< z 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 + + + + + + + + + + + + \ No newline at end of file diff --git a/deps/cloudxr/isaac/public/npm/@webxr-input-profiles/assets@1.0.19/dist/profiles/generic-hand/left.glb b/deps/cloudxr/isaac/public/npm/@webxr-input-profiles/assets@1.0.19/dist/profiles/generic-hand/left.glb new file mode 100644 index 0000000..e69de29 diff --git a/deps/cloudxr/isaac/public/npm/@webxr-input-profiles/assets@1.0.19/dist/profiles/generic-hand/profile.json b/deps/cloudxr/isaac/public/npm/@webxr-input-profiles/assets@1.0.19/dist/profiles/generic-hand/profile.json new file mode 100644 index 0000000..e69de29 diff --git a/deps/cloudxr/isaac/public/npm/@webxr-input-profiles/assets@1.0.19/dist/profiles/generic-hand/right.glb b/deps/cloudxr/isaac/public/npm/@webxr-input-profiles/assets@1.0.19/dist/profiles/generic-hand/right.glb new file mode 100644 index 0000000..e69de29 diff --git a/deps/cloudxr/isaac/public/npm/@webxr-input-profiles/assets@1.0.19/dist/profiles/generic-trigger/left.glb b/deps/cloudxr/isaac/public/npm/@webxr-input-profiles/assets@1.0.19/dist/profiles/generic-trigger/left.glb new file mode 100644 index 0000000..e69de29 diff --git a/deps/cloudxr/isaac/public/npm/@webxr-input-profiles/assets@1.0.19/dist/profiles/generic-trigger/profile.json b/deps/cloudxr/isaac/public/npm/@webxr-input-profiles/assets@1.0.19/dist/profiles/generic-trigger/profile.json new file mode 100644 index 0000000..e69de29 diff --git a/deps/cloudxr/isaac/public/npm/@webxr-input-profiles/assets@1.0.19/dist/profiles/generic-trigger/right.glb b/deps/cloudxr/isaac/public/npm/@webxr-input-profiles/assets@1.0.19/dist/profiles/generic-trigger/right.glb new file mode 100644 index 0000000..e69de29 diff --git a/deps/cloudxr/isaac/public/npm/@webxr-input-profiles/assets@1.0.19/dist/profiles/meta-quest-touch-plus/left.glb b/deps/cloudxr/isaac/public/npm/@webxr-input-profiles/assets@1.0.19/dist/profiles/meta-quest-touch-plus/left.glb new file mode 100644 index 0000000..e69de29 diff --git a/deps/cloudxr/isaac/public/npm/@webxr-input-profiles/assets@1.0.19/dist/profiles/meta-quest-touch-plus/profile.json b/deps/cloudxr/isaac/public/npm/@webxr-input-profiles/assets@1.0.19/dist/profiles/meta-quest-touch-plus/profile.json new file mode 100644 index 0000000..e69de29 diff --git a/deps/cloudxr/isaac/public/npm/@webxr-input-profiles/assets@1.0.19/dist/profiles/meta-quest-touch-plus/right.glb b/deps/cloudxr/isaac/public/npm/@webxr-input-profiles/assets@1.0.19/dist/profiles/meta-quest-touch-plus/right.glb new file mode 100644 index 0000000..e69de29 diff --git a/deps/cloudxr/isaac/public/npm/@webxr-input-profiles/assets@1.0.19/dist/profiles/oculus-touch-v2/left.glb b/deps/cloudxr/isaac/public/npm/@webxr-input-profiles/assets@1.0.19/dist/profiles/oculus-touch-v2/left.glb new file mode 100644 index 0000000..e69de29 diff --git a/deps/cloudxr/isaac/public/npm/@webxr-input-profiles/assets@1.0.19/dist/profiles/oculus-touch-v2/profile.json b/deps/cloudxr/isaac/public/npm/@webxr-input-profiles/assets@1.0.19/dist/profiles/oculus-touch-v2/profile.json new file mode 100644 index 0000000..e69de29 diff --git a/deps/cloudxr/isaac/public/npm/@webxr-input-profiles/assets@1.0.19/dist/profiles/oculus-touch-v2/right.glb b/deps/cloudxr/isaac/public/npm/@webxr-input-profiles/assets@1.0.19/dist/profiles/oculus-touch-v2/right.glb new file mode 100644 index 0000000..e69de29 diff --git a/deps/cloudxr/isaac/public/npm/@webxr-input-profiles/assets@1.0.19/dist/profiles/oculus-touch-v3/left.glb b/deps/cloudxr/isaac/public/npm/@webxr-input-profiles/assets@1.0.19/dist/profiles/oculus-touch-v3/left.glb new file mode 100644 index 0000000..e69de29 diff --git a/deps/cloudxr/isaac/public/npm/@webxr-input-profiles/assets@1.0.19/dist/profiles/oculus-touch-v3/profile.json b/deps/cloudxr/isaac/public/npm/@webxr-input-profiles/assets@1.0.19/dist/profiles/oculus-touch-v3/profile.json new file mode 100644 index 0000000..e69de29 diff --git a/deps/cloudxr/isaac/public/npm/@webxr-input-profiles/assets@1.0.19/dist/profiles/oculus-touch-v3/right.glb b/deps/cloudxr/isaac/public/npm/@webxr-input-profiles/assets@1.0.19/dist/profiles/oculus-touch-v3/right.glb new file mode 100644 index 0000000..e69de29 diff --git a/deps/cloudxr/isaac/public/npm/@webxr-input-profiles/assets@1.0.19/dist/profiles/pico-4u/left.glb b/deps/cloudxr/isaac/public/npm/@webxr-input-profiles/assets@1.0.19/dist/profiles/pico-4u/left.glb new file mode 100644 index 0000000..e69de29 diff --git a/deps/cloudxr/isaac/public/npm/@webxr-input-profiles/assets@1.0.19/dist/profiles/pico-4u/profile.json b/deps/cloudxr/isaac/public/npm/@webxr-input-profiles/assets@1.0.19/dist/profiles/pico-4u/profile.json new file mode 100644 index 0000000..e69de29 diff --git a/deps/cloudxr/isaac/public/npm/@webxr-input-profiles/assets@1.0.19/dist/profiles/pico-4u/right.glb b/deps/cloudxr/isaac/public/npm/@webxr-input-profiles/assets@1.0.19/dist/profiles/pico-4u/right.glb new file mode 100644 index 0000000..e69de29 diff --git a/deps/cloudxr/isaac/public/npm/@webxr-input-profiles/assets@1.0.19/dist/profiles/profilesList.json b/deps/cloudxr/isaac/public/npm/@webxr-input-profiles/assets@1.0.19/dist/profiles/profilesList.json new file mode 100644 index 0000000..e69de29 diff --git a/deps/cloudxr/isaac/public/play-circle.svg b/deps/cloudxr/isaac/public/play-circle.svg new file mode 100644 index 0000000..37cb3ce --- /dev/null +++ b/deps/cloudxr/isaac/public/play-circle.svg @@ -0,0 +1,4 @@ + + diff --git a/deps/cloudxr/isaac/public/stop-circle.svg b/deps/cloudxr/isaac/public/stop-circle.svg new file mode 100644 index 0000000..9e3dcdc --- /dev/null +++ b/deps/cloudxr/isaac/public/stop-circle.svg @@ -0,0 +1,4 @@ + + diff --git a/deps/cloudxr/isaac/src/App.tsx b/deps/cloudxr/isaac/src/App.tsx new file mode 100644 index 0000000..4f58fd9 --- /dev/null +++ b/deps/cloudxr/isaac/src/App.tsx @@ -0,0 +1,558 @@ +/** + * App.tsx - Main CloudXR React Application + * + * This is the root component of the CloudXR React example application. It sets up: + * - WebXR session management and XR store configuration + * - CloudXR server configuration (IP, port, stream settings) + * - UI state management (connection status, session state) + * - Integration between CloudXR rendering component and UI components + * - Entry point for AR/VR experiences with CloudXR streaming + * + * The app integrates with the HTML interface which provides a "CONNECT" button + * to enter AR mode and displays the CloudXR UI with controls for teleop actions + * and disconnect when in XR mode. + */ + +import { checkCapabilities } from '@helpers/BrowserCapabilities'; +import { loadIWERIfNeeded } from '@helpers/LoadIWER'; +import { overridePressureObserver } from '@helpers/overridePressureObserver'; +import * as CloudXR from '@nvidia/cloudxr'; +import { Environment } from '@react-three/drei'; +import { Canvas } from '@react-three/fiber'; +import { setPreferredColorScheme } from '@react-three/uikit'; +import { XR, createXRStore, noEvents, PointerEvents, XROrigin, useXR } from '@react-three/xr'; +import { useState, useMemo, useEffect, useRef } from 'react'; + +import { CloudXR2DUI } from './CloudXR2DUI'; +import CloudXRComponent from './CloudXRComponent'; +import CloudXR3DUI from './CloudXRUI'; + +// Override PressureObserver early to catch errors from buggy browser implementations +overridePressureObserver(); + +const store = createXRStore({ + foveation: 0, + emulate: false, // Disable IWER emulation from react in favor of custom iwer loading function + // Configure WebXR input profiles to use local assets + // Use relative path from current page location + baseAssetPath: `${new URL('.', window.location).href}npm/@webxr-input-profiles/assets@${process.env.WEBXR_ASSETS_VERSION}/dist/profiles/`, + hand: { + model: false, // Disable hand models but keep pointer functionality + }, + controller: { + model: false, // Disable controller models but keep pointer functionality + }, +}); + +setPreferredColorScheme('dark'); + +const START_TELEOP_COMMAND = { + type: 'teleop_command', + message: { + command: 'start teleop', + }, +} as const; + +// Environment component like controller-test +function NonAREnvironment() { + // Use local HDR file instead of preset so client doesn't need to download it from CDN + return ( + + ); +} + +function App() { + const COUNTDOWN_MAX_SECONDS = 9; + const COUNTDOWN_STORAGE_KEY = 'cxr.react.countdownSeconds'; + // 2D UI management + const [cloudXR2DUI, setCloudXR2DUI] = useState(null); + // IWER loading state + const [iwerLoaded, setIwerLoaded] = useState(false); + // Capability state management + const [capabilitiesValid, setCapabilitiesValid] = useState(false); + const capabilitiesCheckedRef = useRef(false); + // Connection state management + const [isConnected, setIsConnected] = useState(false); + // Session status management + const [sessionStatus, setSessionStatus] = useState('Disconnected'); + // Error message management + const [errorMessage, setErrorMessage] = useState(''); + // CloudXR session reference + const [cloudXRSession, setCloudXRSession] = useState(null); + // XR mode state for UI visibility + const [isXRMode, setIsXRMode] = useState(false); + // Server address being used for connection + const [serverAddress, setServerAddress] = useState(''); + // Teleop countdown and state + const [isCountingDown, setIsCountingDown] = useState(false); + const [countdownRemaining, setCountdownRemaining] = useState(0); + const [isTeleopRunning, setIsTeleopRunning] = useState(false); + const countdownTimerRef = useRef(null); + const [countdownDuration, setCountdownDuration] = useState(() => { + try { + const saved = localStorage.getItem(COUNTDOWN_STORAGE_KEY); + if (saved != null) { + const value = parseInt(saved, 10); + if (!isNaN(value)) { + return Math.min(COUNTDOWN_MAX_SECONDS, Math.max(0, value)); + } + } + } catch (_) {} + return 3; + }); + + // Persist countdown duration on change + useEffect(() => { + try { + localStorage.setItem(COUNTDOWN_STORAGE_KEY, String(countdownDuration)); + } catch (_) {} + }, [countdownDuration]); + + // Load IWER first (must happen before anything else) + // Note: React Three Fiber's emulation is disabled (emulate: false) to avoid conflicts + useEffect(() => { + const loadIWER = async () => { + const { supportsImmersive, iwerLoaded: wasIwerLoaded } = await loadIWERIfNeeded(); + if (!supportsImmersive) { + setErrorMessage('Immersive mode not supported'); + setIwerLoaded(false); + setCapabilitiesValid(false); + capabilitiesCheckedRef.current = false; // Reset check flag on failure + return; + } + // IWER loaded successfully, now we can proceed with capability checks + setIwerLoaded(true); + // Store whether IWER was loaded for status message display later + if (wasIwerLoaded) { + sessionStorage.setItem('iwerWasLoaded', 'true'); + } + }; + + loadIWER(); + }, []); + + // Update button state when IWER fails and UI becomes ready + useEffect(() => { + if (cloudXR2DUI && !iwerLoaded && !capabilitiesValid) { + cloudXR2DUI.setStartButtonState(true, 'CONNECT (immersive mode not supported)'); + } + }, [cloudXR2DUI, iwerLoaded, capabilitiesValid]); + + // Check capabilities once CloudXR2DUI is ready and IWER is loaded + useEffect(() => { + const checkCapabilitiesOnce = async () => { + if (!cloudXR2DUI || !iwerLoaded) { + return; + } + + // Guard: only check capabilities once + if (capabilitiesCheckedRef.current) { + return; + } + capabilitiesCheckedRef.current = true; + + // Disable button and show checking status + cloudXR2DUI.setStartButtonState(true, 'CONNECT (checking capabilities)'); + + let result: { success: boolean; failures: string[]; warnings: string[] } = { + success: false, + failures: [], + warnings: [], + }; + try { + result = await checkCapabilities(); + } catch (error) { + cloudXR2DUI.showStatus(`Capability check error: ${error}`, 'error'); + setCapabilitiesValid(false); + cloudXR2DUI.setStartButtonState(true, 'CONNECT (capability check failed)'); + capabilitiesCheckedRef.current = false; // Reset on error for potential retry + return; + } + if (!result.success) { + cloudXR2DUI.showStatus( + 'Browser does not meet required capabilities:\n' + result.failures.join('\n'), + 'error' + ); + setCapabilitiesValid(false); + cloudXR2DUI.setStartButtonState(true, 'CONNECT (capability check failed)'); + capabilitiesCheckedRef.current = false; // Reset on failure for potential retry + return; + } + + // Show final status message with IWER info if applicable + const iwerWasLoaded = sessionStorage.getItem('iwerWasLoaded') === 'true'; + if (result.warnings.length > 0) { + cloudXR2DUI.showStatus('Performance notice:\n' + result.warnings.join('\n'), 'info'); + } else if (iwerWasLoaded) { + // Include IWER status in the final success message + cloudXR2DUI.showStatus( + 'CloudXR.js SDK is supported. Ready to connect!\nUsing IWER (Immersive Web Emulator Runtime) - Emulating Meta Quest 3.', + 'info' + ); + } else { + cloudXR2DUI.showStatus('CloudXR.js SDK is supported. Ready to connect!', 'success'); + } + + setCapabilitiesValid(true); + cloudXR2DUI.setStartButtonState(false, 'CONNECT'); + }; + + checkCapabilitiesOnce(); + }, [cloudXR2DUI, iwerLoaded]); + + // Track config changes to trigger re-renders when form values change + const [configVersion, setConfigVersion] = useState(0); + + // Initialize CloudXR2DUI + useEffect(() => { + // Create and initialize the 2D UI manager + const ui = new CloudXR2DUI(() => { + // Callback when configuration changes + setConfigVersion(v => v + 1); + }); + ui.initialize(); + ui.setupConnectButtonHandler( + async () => { + // Start XR session + if (ui.getConfiguration().immersiveMode === 'ar') { + await store.enterAR(); + } else if (ui.getConfiguration().immersiveMode === 'vr') { + await store.enterVR(); + } else { + setErrorMessage('Unrecognized immersive mode'); + } + }, + (error: Error) => { + setErrorMessage(`Failed to start XR session: ${error}`); + } + ); + + setCloudXR2DUI(ui); + + // Cleanup function + return () => { + if (ui) { + ui.cleanup(); + } + }; + }, []); + + // Update HTML error message display when error state changes + useEffect(() => { + if (cloudXR2DUI) { + if (errorMessage) { + cloudXR2DUI.showError(errorMessage); + } else { + cloudXR2DUI.hideError(); + } + } + }, [errorMessage, cloudXR2DUI]); + + // Listen for XR session state changes to update button and UI visibility + useEffect(() => { + const handleXRStateChange = () => { + const xrState = store.getState(); + + if (xrState.mode === 'immersive-ar' || xrState.mode === 'immersive-vr') { + // XR session is active + setIsXRMode(true); + if (cloudXR2DUI) { + cloudXR2DUI.setStartButtonState(true, 'CONNECT (XR session active)'); + } + } else { + // XR session ended + setIsXRMode(false); + if (cloudXR2DUI) { + cloudXR2DUI.setStartButtonState(false, 'CONNECT'); + } + + if (xrState.error) { + setErrorMessage(`XR session error: ${xrState.error}`); + } + } + }; + + // Subscribe to XR state changes + const unsubscribe = store.subscribe(handleXRStateChange); + + // Cleanup + return () => { + unsubscribe(); + setIsXRMode(false); + }; + }, [cloudXR2DUI]); + + // CloudXR status change handler + const handleStatusChange = (connected: boolean, status: string) => { + setIsConnected(connected); + setSessionStatus(status); + }; + + // UI Event Handlers + const handleStartTeleop = () => { + console.log('Start Teleop pressed'); + + if (!cloudXRSession) { + console.error('CloudXR session not available'); + return; + } + + if (isCountingDown || isTeleopRunning) { + return; + } + + // Begin countdown before starting teleop (immediately if 0) + if (countdownDuration <= 0) { + setIsCountingDown(false); + setCountdownRemaining(0); + + try { + cloudXRSession.sendServerMessage(START_TELEOP_COMMAND); + console.log('Start teleop command sent'); + setIsTeleopRunning(true); + } catch (error) { + console.error('Failed to send teleop command:', error); + setIsTeleopRunning(false); + } + return; + } + + setIsCountingDown(true); + setCountdownRemaining(countdownDuration); + + countdownTimerRef.current = window.setInterval(() => { + setCountdownRemaining(prev => { + if (prev <= 1) { + // Countdown finished + if (countdownTimerRef.current !== null) { + clearInterval(countdownTimerRef.current); + countdownTimerRef.current = null; + } + setIsCountingDown(false); + + // Send start teleop command + + try { + cloudXRSession.sendServerMessage(START_TELEOP_COMMAND); + console.log('Start teleop command sent'); + setIsTeleopRunning(true); + } catch (error) { + console.error('Failed to send teleop command:', error); + setIsTeleopRunning(false); + } + + return 0; + } + return prev - 1; + }); + }, 1000); + }; + + const handleStopTeleop = () => { + console.log('Stop Teleop pressed'); + + // If countdown is active, cancel it and reset state + if (isCountingDown) { + if (countdownTimerRef.current !== null) { + clearInterval(countdownTimerRef.current); + countdownTimerRef.current = null; + } + setIsCountingDown(false); + setCountdownRemaining(0); + return; + } + + if (!cloudXRSession) { + console.error('CloudXR session not available'); + return; + } + + // Send stop teleop command + const teleopCommand = { + type: 'teleop_command', + message: { + command: 'stop teleop', + }, + }; + + try { + cloudXRSession.sendServerMessage(teleopCommand); + console.log('Stop teleop command sent'); + setIsTeleopRunning(false); + } catch (error) { + console.error('Failed to send teleop command:', error); + } + }; + + const handleResetTeleop = () => { + console.log('Reset Teleop pressed'); + + // Cancel any active countdown + if (countdownTimerRef.current !== null) { + clearInterval(countdownTimerRef.current); + countdownTimerRef.current = null; + } + setIsCountingDown(false); + setCountdownRemaining(0); + + if (!cloudXRSession) { + console.error('CloudXR session not available'); + return; + } + + // Send stop teleop command first + const stopCommand = { + type: 'teleop_command', + message: { + command: 'stop teleop', + }, + }; + + // Send reset teleop command + const resetCommand = { + type: 'teleop_command', + message: { + command: 'reset teleop', + }, + }; + + try { + cloudXRSession.sendServerMessage(stopCommand); + console.log('Stop teleop command sent'); + cloudXRSession.sendServerMessage(resetCommand); + console.log('Reset teleop command sent'); + setIsTeleopRunning(false); + } catch (error) { + console.error('Failed to send teleop commands:', error); + } + }; + + const handleDisconnect = () => { + console.log('Disconnect pressed'); + + // Cleanup countdown state on disconnect + if (countdownTimerRef.current !== null) { + clearInterval(countdownTimerRef.current); + countdownTimerRef.current = null; + } + setIsCountingDown(false); + setCountdownRemaining(0); + setIsTeleopRunning(false); + + const xrState = store.getState(); + const session = xrState.session; + if (session) { + session.end().catch((err: unknown) => { + setErrorMessage( + `Failed to end XR session: ${err instanceof Error ? err.message : String(err)}` + ); + }); + } + }; + + // Countdown configuration handlers (0-5 seconds) + const handleIncreaseCountdown = () => { + if (isCountingDown) return; + setCountdownDuration(prev => Math.min(COUNTDOWN_MAX_SECONDS, prev + 1)); + }; + + const handleDecreaseCountdown = () => { + if (isCountingDown) return; + setCountdownDuration(prev => Math.max(0, prev - 1)); + }; + + // Memo config based on configVersion (manual dependency tracker incremented on config changes) + // eslint-disable-next-line react-hooks/exhaustive-deps + const config = useMemo( + () => (cloudXR2DUI ? cloudXR2DUI.getConfiguration() : null), + [cloudXR2DUI, configVersion] + ); + + // Sync XR mode state to body class for CSS styling + useEffect(() => { + if (isXRMode) { + document.body.classList.add('xr-mode'); + } else { + document.body.classList.remove('xr-mode'); + } + + return () => { + document.body.classList.remove('xr-mode'); + }; + }, [isXRMode]); + + return ( + <> + { + e.preventDefault(); + }} + > + + + + + {cloudXR2DUI && config && ( + <> + { + if (cloudXR2DUI) { + cloudXR2DUI.showError(error); + } + }} + onSessionReady={setCloudXRSession} + onServerAddress={setServerAddress} + /> + + + )} + + + + ); +} + +export default App; diff --git a/deps/cloudxr/isaac/src/CloudXR2DUI.tsx b/deps/cloudxr/isaac/src/CloudXR2DUI.tsx new file mode 100644 index 0000000..d6b2848 --- /dev/null +++ b/deps/cloudxr/isaac/src/CloudXR2DUI.tsx @@ -0,0 +1,438 @@ +/** + * CloudXR2DUI.tsx - CloudXR 2D User Interface Management + * + * This class handles all the HTML form interactions, localStorage persistence, + * and form validation for the CloudXR React example. It follows the same pattern + * as the simple example's CloudXRWebUI class, providing a clean separation + * between UI management and React component logic. + * + * Features: + * - Form field management and localStorage persistence + * - Proxy configuration based on protocol + * - Form validation and default value handling + * - Event listener management + * - Error handling and logging + */ + +import { CloudXRConfig, enableLocalStorage, setupCertificateAcceptanceLink } from '@helpers/utils'; + +/** + * 2D UI Management for CloudXR React Example + * Handles the main user interface for CloudXR streaming, including form management, + * localStorage persistence, and user interaction controls. + */ +export class CloudXR2DUI { + /** Button to initiate XR streaming session */ + private startButton!: HTMLButtonElement; + /** Input field for the CloudXR server IP address */ + private serverIpInput!: HTMLInputElement; + /** Input field for the CloudXR server port number */ + private portInput!: HTMLInputElement; + /** Input field for proxy URL configuration */ + private proxyUrlInput!: HTMLInputElement; + /** Dropdown to select between AR and VR immersive modes */ + private immersiveSelect!: HTMLSelectElement; + /** Dropdown to select device frame rate (FPS) */ + private deviceFrameRateSelect!: HTMLSelectElement; + /** Dropdown to select max streaming bitrate (Mbps) */ + private maxStreamingBitrateMbpsSelect!: HTMLSelectElement; + /** Input field for per-eye width configuration */ + private perEyeWidthInput!: HTMLInputElement; + /** Input field for per-eye height configuration */ + private perEyeHeightInput!: HTMLInputElement; + /** Dropdown to select server backend type */ + private serverTypeSelect!: HTMLSelectElement; + /** Dropdown to select application type */ + private appSelect!: HTMLSelectElement; + /** Dropdown to select reference space for XR tracking */ + private referenceSpaceSelect!: HTMLSelectElement; + /** Input for XR reference space X offset (cm) */ + private xrOffsetXInput!: HTMLInputElement; + /** Input for XR reference space Y offset (cm) */ + private xrOffsetYInput!: HTMLInputElement; + /** Input for XR reference space Z offset (cm) */ + private xrOffsetZInput!: HTMLInputElement; + /** Text element displaying proxy configuration help */ + private proxyDefaultText!: HTMLElement; + /** Error message box element */ + private errorMessageBox!: HTMLElement; + /** Error message text element */ + private errorMessageText!: HTMLElement; + /** Certificate acceptance link container */ + private certAcceptanceLink!: HTMLElement; + /** Certificate acceptance link anchor */ + private certLink!: HTMLAnchorElement; + /** Flag to track if the 2D UI has been initialized */ + private initialized: boolean = false; + + /** Current form configuration state */ + private currentConfiguration: CloudXRConfig; + /** Callback function for configuration changes */ + private onConfigurationChange: ((config: CloudXRConfig) => void) | null = null; + /** Connect button click handler for cleanup */ + private handleConnectClick: ((event: Event) => void) | null = null; + /** Array to store all event listeners for proper cleanup */ + private eventListeners: Array<{ + element: HTMLElement; + event: string; + handler: EventListener; + }> = []; + /** Cleanup function for certificate acceptance link */ + private certLinkCleanup: (() => void) | null = null; + + /** + * Creates a new CloudXR2DUI instance + * @param onConfigurationChange - Callback function called when configuration changes + */ + constructor(onConfigurationChange?: (config: CloudXRConfig) => void) { + this.onConfigurationChange = onConfigurationChange || null; + this.currentConfiguration = this.getDefaultConfiguration(); + } + + /** + * Initializes the CloudXR2DUI with all necessary components and event handlers + */ + public initialize(): void { + if (this.initialized) { + return; + } + + try { + this.initializeElements(); + this.setupLocalStorage(); + this.setupProxyConfiguration(); + this.setupEventListeners(); + this.updateConfiguration(); + this.setStartButtonState(false, 'CONNECT'); + this.initialized = true; + } catch (error) { + // Continue with default values if initialization fails + this.showError(`Failed to initialize CloudXR2DUI: ${error}`); + } + } + + /** + * Initializes all DOM element references by their IDs + * Throws an error if any required element is not found + */ + private initializeElements(): void { + this.startButton = this.getElement('startButton'); + this.serverIpInput = this.getElement('serverIpInput'); + this.portInput = this.getElement('portInput'); + this.proxyUrlInput = this.getElement('proxyUrl'); + this.immersiveSelect = this.getElement('immersive'); + this.deviceFrameRateSelect = this.getElement('deviceFrameRate'); + this.maxStreamingBitrateMbpsSelect = + this.getElement('maxStreamingBitrateMbps'); + this.perEyeWidthInput = this.getElement('perEyeWidth'); + this.perEyeHeightInput = this.getElement('perEyeHeight'); + this.serverTypeSelect = this.getElement('serverType'); + this.appSelect = this.getElement('app'); + this.referenceSpaceSelect = this.getElement('referenceSpace'); + this.xrOffsetXInput = this.getElement('xrOffsetX'); + this.xrOffsetYInput = this.getElement('xrOffsetY'); + this.xrOffsetZInput = this.getElement('xrOffsetZ'); + this.proxyDefaultText = this.getElement('proxyDefaultText'); + this.errorMessageBox = this.getElement('errorMessageBox'); + this.errorMessageText = this.getElement('errorMessageText'); + this.certAcceptanceLink = this.getElement('certAcceptanceLink'); + this.certLink = this.getElement('certLink'); + } + + /** + * Gets a DOM element by ID with type safety + * @param id - The element ID to find + * @returns The found element with the specified type + * @throws Error if element is not found + */ + private getElement(id: string): T { + const element = document.getElementById(id) as T; + if (!element) { + throw new Error(`Element with id '${id}' not found`); + } + return element; + } + + /** + * Gets the default configuration values + * @returns Default configuration object + */ + private getDefaultConfiguration(): CloudXRConfig { + const useSecure = typeof window !== 'undefined' ? window.location.protocol === 'https:' : false; + // Default port: HTTP → 49100, HTTPS without proxy → 48322, HTTPS with proxy → 443 + const defaultPort = useSecure ? 48322 : 49100; + return { + serverIP: '127.0.0.1', + port: defaultPort, + useSecureConnection: useSecure, + perEyeWidth: 2048, + perEyeHeight: 1792, + deviceFrameRate: 90, + maxStreamingBitrateMbps: 150, + immersiveMode: 'ar', + app: 'generic', + serverType: 'manual', + proxyUrl: '', + referenceSpaceType: 'auto', + }; + } + + /** + * Enables localStorage persistence for form inputs + * Automatically saves and restores user preferences + */ + private setupLocalStorage(): void { + enableLocalStorage(this.serverTypeSelect, 'serverType'); + enableLocalStorage(this.serverIpInput, 'serverIp'); + enableLocalStorage(this.portInput, 'port'); + enableLocalStorage(this.perEyeWidthInput, 'perEyeWidth'); + enableLocalStorage(this.perEyeHeightInput, 'perEyeHeight'); + enableLocalStorage(this.proxyUrlInput, 'proxyUrl'); + enableLocalStorage(this.deviceFrameRateSelect, 'deviceFrameRate'); + enableLocalStorage(this.maxStreamingBitrateMbpsSelect, 'maxStreamingBitrateMbps'); + enableLocalStorage(this.immersiveSelect, 'immersiveMode'); + enableLocalStorage(this.appSelect, 'app'); + enableLocalStorage(this.referenceSpaceSelect, 'referenceSpace'); + enableLocalStorage(this.xrOffsetXInput, 'xrOffsetX'); + enableLocalStorage(this.xrOffsetYInput, 'xrOffsetY'); + enableLocalStorage(this.xrOffsetZInput, 'xrOffsetZ'); + } + + /** + * Configures proxy settings based on the current protocol (HTTP/HTTPS) + * Sets appropriate placeholders and help text for port and proxy URL inputs + */ + private setupProxyConfiguration(): void { + // Update port placeholder based on protocol + if (window.location.protocol === 'https:') { + this.portInput.placeholder = 'Port (default: 48322, or 443 if proxy URL set)'; + } else { + this.portInput.placeholder = 'Port (default: 49100)'; + } + + // Set default text and placeholder based on protocol + if (window.location.protocol === 'https:') { + this.proxyDefaultText.textContent = + 'Optional: Leave empty for direct WSS connection, or provide URL for proxy routing (e.g., https://proxy.example.com/)'; + this.proxyUrlInput.placeholder = ''; + } else { + this.proxyDefaultText.textContent = 'Not needed for HTTP - uses direct WS connection'; + this.proxyUrlInput.placeholder = ''; + } + } + + /** + * Sets up event listeners for form input changes + * Handles both input and change events for better compatibility + */ + private setupEventListeners(): void { + // Update configuration when form inputs change + const updateConfig = () => this.updateConfiguration(); + + // Helper function to add listeners and store them for cleanup + const addListener = (element: HTMLElement, event: string, handler: EventListener) => { + element.addEventListener(event, handler); + this.eventListeners.push({ element, event, handler }); + }; + + // Add event listeners for all form fields + addListener(this.serverTypeSelect, 'change', updateConfig); + addListener(this.serverIpInput, 'input', updateConfig); + addListener(this.serverIpInput, 'change', updateConfig); + addListener(this.portInput, 'input', updateConfig); + addListener(this.portInput, 'change', updateConfig); + addListener(this.perEyeWidthInput, 'input', updateConfig); + addListener(this.perEyeWidthInput, 'change', updateConfig); + addListener(this.perEyeHeightInput, 'input', updateConfig); + addListener(this.perEyeHeightInput, 'change', updateConfig); + addListener(this.deviceFrameRateSelect, 'change', updateConfig); + addListener(this.maxStreamingBitrateMbpsSelect, 'change', updateConfig); + addListener(this.immersiveSelect, 'change', updateConfig); + addListener(this.appSelect, 'change', updateConfig); + addListener(this.referenceSpaceSelect, 'change', updateConfig); + addListener(this.xrOffsetXInput, 'input', updateConfig); + addListener(this.xrOffsetXInput, 'change', updateConfig); + addListener(this.xrOffsetYInput, 'input', updateConfig); + addListener(this.xrOffsetYInput, 'change', updateConfig); + addListener(this.xrOffsetZInput, 'input', updateConfig); + addListener(this.xrOffsetZInput, 'change', updateConfig); + addListener(this.proxyUrlInput, 'input', updateConfig); + addListener(this.proxyUrlInput, 'change', updateConfig); + + // Set up certificate acceptance link and store cleanup function + this.certLinkCleanup = setupCertificateAcceptanceLink( + this.serverIpInput, + this.portInput, + this.proxyUrlInput, + this.certAcceptanceLink, + this.certLink + ); + } + + /** + * Updates the current configuration from form values + * Calls the configuration change callback if provided + */ + private updateConfiguration(): void { + const useSecure = this.getDefaultConfiguration().useSecureConnection; + const portValue = parseInt(this.portInput.value); + const hasProxy = this.proxyUrlInput.value.trim().length > 0; + + // Smart default port based on connection type and proxy usage + let defaultPort = 49100; // HTTP default + if (useSecure) { + defaultPort = hasProxy ? 443 : 48322; // HTTPS with proxy → 443, HTTPS without → 48322 + } + + const newConfiguration: CloudXRConfig = { + serverIP: this.serverIpInput.value || this.getDefaultConfiguration().serverIP, + port: portValue || defaultPort, + useSecureConnection: useSecure, + perEyeWidth: + parseInt(this.perEyeWidthInput.value) || this.getDefaultConfiguration().perEyeWidth, + perEyeHeight: + parseInt(this.perEyeHeightInput.value) || this.getDefaultConfiguration().perEyeHeight, + deviceFrameRate: + parseInt(this.deviceFrameRateSelect.value) || + this.getDefaultConfiguration().deviceFrameRate, + maxStreamingBitrateMbps: + parseInt(this.maxStreamingBitrateMbpsSelect.value) || + this.getDefaultConfiguration().maxStreamingBitrateMbps, + immersiveMode: + (this.immersiveSelect.value as 'ar' | 'vr') || this.getDefaultConfiguration().immersiveMode, + app: this.appSelect.value || this.getDefaultConfiguration().app, + serverType: this.serverTypeSelect.value || this.getDefaultConfiguration().serverType, + proxyUrl: this.proxyUrlInput.value || this.getDefaultConfiguration().proxyUrl, + referenceSpaceType: + (this.referenceSpaceSelect.value as 'auto' | 'local-floor' | 'local' | 'viewer') || + this.getDefaultConfiguration().referenceSpaceType, + // Convert cm from UI into meters for config (respect 0; if invalid, use 0) + xrOffsetX: (() => { + const v = parseFloat(this.xrOffsetXInput.value); + return Number.isFinite(v) ? v / 100 : 0; + })(), + xrOffsetY: (() => { + const v = parseFloat(this.xrOffsetYInput.value); + return Number.isFinite(v) ? v / 100 : 0; + })(), + xrOffsetZ: (() => { + const v = parseFloat(this.xrOffsetZInput.value); + return Number.isFinite(v) ? v / 100 : 0; + })(), + }; + + this.currentConfiguration = newConfiguration; + + // Call the configuration change callback if provided + if (this.onConfigurationChange) { + this.onConfigurationChange(newConfiguration); + } + } + + /** + * Gets the current configuration + * @returns Current configuration object + */ + public getConfiguration(): CloudXRConfig { + return { ...this.currentConfiguration }; + } + + /** + * Sets the start button state + * @param disabled - Whether the button should be disabled + * @param text - Text to display on the button + */ + public setStartButtonState(disabled: boolean, text: string): void { + if (this.startButton) { + this.startButton.disabled = disabled; + this.startButton.innerHTML = text; + } + } + + /** + * Sets up the connect button click handler + * @param onConnect - Function to call when connect button is clicked + * @param onError - Function to call when an error occurs + */ + public setupConnectButtonHandler( + onConnect: () => Promise, + onError: (error: Error) => void + ): void { + if (this.startButton) { + // Remove any existing listener + if (this.handleConnectClick) { + this.startButton.removeEventListener('click', this.handleConnectClick); + } + + // Create new handler + this.handleConnectClick = async () => { + // Disable button during XR session + this.setStartButtonState(true, 'CONNECT (starting XR session...)'); + + try { + await onConnect(); + } catch (error) { + this.setStartButtonState(false, 'CONNECT'); + onError(error as Error); + } + }; + + // Add the new listener + this.startButton.addEventListener('click', this.handleConnectClick); + } + } + + /** + * Shows a status message in the UI with a specific type + * @param message - Message to display + * @param type - Message type: 'success', 'error', or 'info' + */ + public showStatus(message: string, type: 'success' | 'error' | 'info'): void { + if (this.errorMessageText && this.errorMessageBox) { + this.errorMessageText.textContent = message; + this.errorMessageBox.className = `error-message-box show ${type}`; + } + console[type === 'error' ? 'error' : 'info'](message); + } + + /** + * Shows an error message in the UI + * @param message - Error message to display + */ + public showError(message: string): void { + this.showStatus(message, 'error'); + } + + /** + * Hides the error message + */ + public hideError(): void { + if (this.errorMessageBox) { + this.errorMessageBox.classList.remove('show'); + } + } + + /** + * Cleans up event listeners and resources + * Should be called when the component unmounts + */ + public cleanup(): void { + // Remove all stored event listeners + this.eventListeners.forEach(({ element, event, handler }) => { + element.removeEventListener(event, handler); + }); + this.eventListeners = []; + + // Remove CONNECT button listener + if (this.startButton && this.handleConnectClick) { + this.startButton.removeEventListener('click', this.handleConnectClick); + this.handleConnectClick = null; + } + + // Clean up certificate acceptance link listeners + if (this.certLinkCleanup) { + this.certLinkCleanup(); + this.certLinkCleanup = null; + } + } +} diff --git a/deps/cloudxr/isaac/src/CloudXRComponent.tsx b/deps/cloudxr/isaac/src/CloudXRComponent.tsx new file mode 100644 index 0000000..dafa35a --- /dev/null +++ b/deps/cloudxr/isaac/src/CloudXRComponent.tsx @@ -0,0 +1,289 @@ +/** + * CloudXRComponent.tsx - CloudXR WebXR Integration Component + * + * This component handles the core CloudXR streaming functionality and WebXR integration. + * It manages: + * - CloudXR session lifecycle (creation, connection, disconnection, cleanup) + * - WebXR session event handling (sessionstart, sessionend) + * - WebGL state management and render target preservation + * - Frame-by-frame rendering loop with pose tracking and stream rendering + * - Server configuration and connection parameters + * - Status reporting back to parent components + * + * The component accepts configuration via props and communicates status changes + * and disconnect requests through callback props. It integrates with Three.js + * and React Three Fiber for WebXR rendering while preserving WebGL state + * for CloudXR's custom rendering pipeline. + */ + +import { getConnectionConfig, ConnectionConfiguration, CloudXRConfig } from '@helpers/utils'; +import { bindGL } from '@helpers/WebGLStateBinding'; +import * as CloudXR from '@nvidia/cloudxr'; +import { useThree, useFrame } from '@react-three/fiber'; +import { useXR } from '@react-three/xr'; +import { useRef, useEffect } from 'react'; +import type { WebGLRenderer } from 'three'; + +interface CloudXRComponentProps { + config: CloudXRConfig; + onStatusChange?: (isConnected: boolean, status: string) => void; + onError?: (error: string) => void; + onSessionReady?: (session: CloudXR.Session | null) => void; + onServerAddress?: (address: string) => void; +} + +// React component that integrates CloudXR with Three.js/WebXR +// This component handles the CloudXR session lifecycle and render loop +export default function CloudXRComponent({ + config, + onStatusChange, + onError, + onSessionReady, + onServerAddress, +}: CloudXRComponentProps) { + const threeRenderer: WebGLRenderer = useThree().gl; + const { session } = useXR(); + // React reference to the CloudXR session that persists across re-renders. + const cxrSessionRef = useRef(null); + + // Disable Three.js so it doesn't clear the framebuffer after CloudXR renders. + threeRenderer.autoClear = false; + + // Access Three.js WebXRManager and WebGL context. + const gl: WebGL2RenderingContext = threeRenderer.getContext() as WebGL2RenderingContext; + + const trackedGL = bindGL(gl); + + // Set up event listeners in useEffect to add them only once + useEffect(() => { + const webXRManager = threeRenderer.xr; + + if (webXRManager) { + const handleSessionStart = async () => { + // Explicitly request the desired reference space from the XRSession to avoid + // inheriting a default 'local-floor' space that could stack with UI offsets. + let referenceSpace: XRReferenceSpace | null = null; + try { + const xrSession: XRSession | null = (webXRManager as any).getSession + ? (webXRManager as any).getSession() + : null; + if (xrSession) { + if (config.referenceSpaceType === 'auto') { + const fallbacks: XRReferenceSpaceType[] = [ + 'local-floor', + 'local', + 'viewer', + 'unbounded', + ]; + for (const t of fallbacks) { + try { + referenceSpace = await xrSession.requestReferenceSpace(t); + if (referenceSpace) break; + } catch (_) {} + } + } else { + try { + referenceSpace = await xrSession.requestReferenceSpace( + config.referenceSpaceType as XRReferenceSpaceType + ); + } catch (error) { + console.error( + `Failed to request reference space '${config.referenceSpaceType}':`, + error + ); + } + } + } + } catch (error) { + console.error('Failed to request XR reference space:', error); + referenceSpace = null; + } + + if (!referenceSpace) { + // As a last resort, fall back to WebXRManager's current reference space + referenceSpace = webXRManager.getReferenceSpace(); + } + + if (referenceSpace) { + // Ensure that the session is not already created. + if (cxrSessionRef.current) { + console.error('CloudXR session already exists'); + return; + } + + const glBinding = webXRManager.getBinding(); + if (!glBinding) { + console.warn('No WebGL binding found'); + } + + // Apply proxy configuration logic + let connectionConfig: ConnectionConfiguration; + try { + connectionConfig = getConnectionConfig(config.serverIP, config.port, config.proxyUrl); + onServerAddress?.(connectionConfig.serverIP); + } catch (error) { + onStatusChange?.(false, 'Configuration Error'); + onError?.(`Proxy configuration failed: ${error}`); + return; + } + + // Apply XR offset if provided in config (meters) + const offsetX = config.xrOffsetX || 0; + const offsetY = config.xrOffsetY || 0; + const offsetZ = config.xrOffsetZ || 0; + if (offsetX !== 0 || offsetY !== 0 || offsetZ !== 0) { + const offsetTransform = new XRRigidTransform( + { x: offsetX, y: offsetY, z: offsetZ }, + { x: 0, y: 0, z: 0, w: 1 } + ); + referenceSpace = referenceSpace.getOffsetReferenceSpace(offsetTransform); + } + + // Fill in CloudXR session options. + const cloudXROptions: CloudXR.SessionOptions = { + serverAddress: connectionConfig.serverIP, + serverPort: connectionConfig.port, + useSecureConnection: connectionConfig.useSecureConnection, + perEyeWidth: config.perEyeWidth, + perEyeHeight: config.perEyeHeight, + gl: gl, + referenceSpace: referenceSpace, + deviceFrameRate: config.deviceFrameRate, + maxStreamingBitrateKbps: config.maxStreamingBitrateMbps * 1000, // Convert Mbps to Kbps + glBinding: glBinding, + telemetry: { + enabled: true, + appInfo: { + version: '6.0.0-beta', + product: 'CloudXR.js React Example', + }, + }, + }; + + // Store the render target and key GL bindings to restore after CloudXR rendering + const cloudXRDelegates: CloudXR.SessionDelegates = { + onWebGLStateChangeBegin: () => { + // Save the current render target before CloudXR changes state + trackedGL.save(); + }, + onWebGLStateChangeEnd: () => { + // Restore the tracked GL state to the state before CloudXR rendering. + trackedGL.restore(); + }, + onStreamStarted: () => { + console.debug('CloudXR stream started'); + onStatusChange?.(true, 'Connected'); + }, + onStreamStopped: (error?: Error) => { + if (error) { + onStatusChange?.(false, 'Error'); + onError?.(`CloudXR session stopped with error: ${error.message}`); + } else { + console.debug('CloudXR session stopped'); + onStatusChange?.(false, 'Disconnected'); + } + // Clear the session reference + cxrSessionRef.current = null; + onSessionReady?.(null); + }, + }; + + // Create the CloudXR session. + let cxrSession: CloudXR.Session; + try { + cxrSession = CloudXR.createSession(cloudXROptions, cloudXRDelegates); + } catch (error) { + onStatusChange?.(false, 'Session Creation Failed'); + onError?.(`Failed to create CloudXR session: ${error}`); + return; + } + + // Store the session in the ref so it persists across re-renders + cxrSessionRef.current = cxrSession; + + // Notify parent that session is ready + onSessionReady?.(cxrSession); + + // Start session (synchronous call that initiates connection) + try { + cxrSession.connect(); + console.log('CloudXR session connect initiated'); + // Note: The session will transition to Connected state via the onStreamStarted callback + // Use cxrSession.state to check if streaming has actually started + } catch (error) { + onStatusChange?.(false, 'Connection Failed'); + // Report error via callback + onError?.('Failed to connect CloudXR session'); + // Clean up the failed session + cxrSessionRef.current = null; + } + } + }; + + const handleSessionEnd = () => { + if (cxrSessionRef.current) { + cxrSessionRef.current.disconnect(); + cxrSessionRef.current = null; + onSessionReady?.(null); + } + }; + + // Add start+end session event listeners to the WebXRManager. + webXRManager.addEventListener('sessionstart', handleSessionStart); + webXRManager.addEventListener('sessionend', handleSessionEnd); + + // Cleanup function to remove listeners + return () => { + webXRManager.removeEventListener('sessionstart', handleSessionStart); + webXRManager.removeEventListener('sessionend', handleSessionEnd); + }; + } + }, [threeRenderer, config]); // Re-register handlers when renderer or config changes + + // Custom render loop - runs every frame + useFrame((state, delta) => { + const webXRManager = threeRenderer.xr; + + if (webXRManager.isPresenting && session) { + // Access the current WebXR XRFrame + const xrFrame = state.gl.xr.getFrame(); + if (xrFrame) { + // Get THREE WebXRManager from the the useFrame state. + const webXRManager = state.gl.xr; + + if (!cxrSessionRef || !cxrSessionRef.current) { + console.debug('Skipping frame, no session yet'); + // Clear the framebuffer as we've set autoClear to false. + threeRenderer.clear(); + return; + } + + // Get session from reference. + const cxrSession: CloudXR.Session = cxrSessionRef.current; + + // If the CloudXR session is not connected, skip the frame. + if (cxrSession.state !== CloudXR.SessionState.Connected) { + console.debug('Skipping frame, session not connected, state:', cxrSession.state); + // Clear the framebuffer as we've set autoClear to false. + threeRenderer.clear(); + return; + } + + // Get timestamp from useFrame state and convert to milliseconds. + const timestamp: DOMHighResTimeStamp = state.clock.elapsedTime * 1000; + + // Send the tracking state (including viewer pose and hand/controller data) to the server, this will trigger server-side rendering for frame. + cxrSession.sendTrackingStateToServer(timestamp, xrFrame); + + // Get the WebXR layer from THREE WebXRManager. + let layer: XRWebGLLayer = webXRManager.getBaseLayer() as XRWebGLLayer; + + // Render the current streamed CloudXR frame (not the frame that was just sent to the server). + cxrSession.render(timestamp, xrFrame, layer); + } + } + }, -1000); + + return null; +} + diff --git a/deps/cloudxr/isaac/src/CloudXRUI.tsx b/deps/cloudxr/isaac/src/CloudXRUI.tsx new file mode 100644 index 0000000..c753072 --- /dev/null +++ b/deps/cloudxr/isaac/src/CloudXRUI.tsx @@ -0,0 +1,218 @@ +/** + * CloudXRUI.tsx - CloudXR User Interface Component + * + * This component renders the in-VR user interface for the CloudXR application using + * React Three UIKit. It provides: + * - CloudXR branding and title display + * - Server connection information and status display + * - Interactive control buttons (Start Teleop, Reset Teleop, Disconnect) + * - Responsive button layout with hover effects + * - Integration with parent component event handlers + * - Configurable position and rotation in world space for flexible UI placement + * + * The UI is positioned in 3D space and designed for VR/AR interaction with + * visual feedback and clear button labeling. All interactions are passed + * back to the parent component through callback props. + */ + +import { Container, Text, Image } from '@react-three/uikit'; +import { Button } from '@react-three/uikit-default'; +import React from 'react'; + +interface CloudXRUIProps { + onStartTeleop?: () => void; + onDisconnect?: () => void; + onResetTeleop?: () => void; + serverAddress?: string; + sessionStatus?: string; + playLabel?: string; + playDisabled?: boolean; + countdownSeconds?: number; + onCountdownIncrease?: () => void; + onCountdownDecrease?: () => void; + countdownDisabled?: boolean; + position?: [number, number, number]; + rotation?: [number, number, number]; +} + +export default function CloudXR3DUI({ + onStartTeleop, + onDisconnect, + onResetTeleop, + serverAddress = '127.0.0.1', + sessionStatus = 'Disconnected', + playLabel = 'Play', + playDisabled = false, + countdownSeconds, + onCountdownIncrease, + onCountdownDecrease, + countdownDisabled = false, + position = [1.8, 1.75, -1.3], + rotation = [0, -0.3, 0], +}: CloudXRUIProps) { + return ( + + + + {/* Title */} + + Controls + + + {/* Server Info */} + + Server address: {serverAddress} + + + Session status: {sessionStatus} + + + {/* Countdown Config Row */} + + + Countdown + + + + + {countdownSeconds}s + + + + + + {/* Button Grid */} + + {/* Start/reset row*/} + + + + + + + {/* Bottom Row */} + + + + + + + + ); +} diff --git a/deps/cloudxr/isaac/src/index.html b/deps/cloudxr/isaac/src/index.html new file mode 100644 index 0000000..7e943cf --- /dev/null +++ b/deps/cloudxr/isaac/src/index.html @@ -0,0 +1,576 @@ + + + + + + + + + NVIDIA CloudXR.js Isaac Lab Teleop application + + + + + +

+
+
+

NVIDIA CloudXR.js Isaac Lab Teleop Client

+
+ +
+ + +
+

Debug Settings

+ +
+ + + +
+ +
+
+ +
+ + + +
+ Select the target device frame rate for the XR session +
+
+ +
+ + + +
+ Select the maximum streaming bitrate (in Megabits per second) for the XR session +
+
+ +
+ + + + + +
+ Configure the per-eye resolution. Width and height must be multiples of 16. +
+
+ +
+ + +
+ Select the preferred reference space for XR tracking. "Auto" uses fallback logic (local-floor → local → viewer). Other options will attempt to use the specified space only. +
+ + + + + + + +
+ Configure the XR reference space offset in centimeters. These values will be applied to the reference space transform to adjust the origin position of the XR experience. +
+
+
+
+
+
+ + + \ No newline at end of file diff --git a/deps/cloudxr/isaac/src/index.tsx b/deps/cloudxr/isaac/src/index.tsx new file mode 100644 index 0000000..48169f4 --- /dev/null +++ b/deps/cloudxr/isaac/src/index.tsx @@ -0,0 +1,27 @@ +import React from 'react'; +import ReactDOM from 'react-dom/client'; + +import App from './App'; + +// Start the React app immediately in the 3d-ui container +function startApp() { + const reactContainer = document.getElementById('3d-ui'); + + if (reactContainer) { + const root = ReactDOM.createRoot(reactContainer); + root.render( + + + + ); + } else { + console.error('3d-ui container not found'); + } +} + +// Initialize the app when DOM is ready +if (document.readyState === 'loading') { + document.addEventListener('DOMContentLoaded', startApp); +} else { + startApp(); +} diff --git a/deps/cloudxr/isaac/tsconfig.json b/deps/cloudxr/isaac/tsconfig.json new file mode 100644 index 0000000..486f69a --- /dev/null +++ b/deps/cloudxr/isaac/tsconfig.json @@ -0,0 +1,27 @@ +{ + "compilerOptions": { + "target": "ES2020", + "lib": ["ES2020", "DOM", "DOM.Iterable"], + "module": "CommonJS", + "moduleResolution": "node", + "allowSyntheticDefaultImports": true, + "esModuleInterop": true, + "allowJs": true, + "skipLibCheck": true, + "strict": true, + "forceConsistentCasingInFileNames": true, + "noEmit": false, + "outDir": "./dist", + "incremental": true, + "resolveJsonModule": true, + "isolatedModules": true, + "noFallthroughCasesInSwitch": true, + "jsx": "react-jsx", + "baseUrl": ".", + "paths": { + "@helpers/*": ["../helpers/*"] + } + }, + "include": ["src/**/*"], + "exclude": ["node_modules", "dist"] +} \ No newline at end of file diff --git a/deps/cloudxr/isaac/webpack-plugins/DownloadAssetsPlugin.js b/deps/cloudxr/isaac/webpack-plugins/DownloadAssetsPlugin.js new file mode 100644 index 0000000..9433fcf --- /dev/null +++ b/deps/cloudxr/isaac/webpack-plugins/DownloadAssetsPlugin.js @@ -0,0 +1,109 @@ +const fs = require('fs'); +const path = require('path'); +const https = require('https'); + +class DownloadAssetsPlugin { + constructor(assets) { + this.assets = assets; + this.hasRun = false; + this.createdDirs = new Set(); + } + + safeUnlink(filePath) { + try { + fs.unlinkSync(filePath); + } catch (err) { + // Ignore cleanup errors + } + } + + apply(compiler) { + compiler.hooks.beforeCompile.tapAsync('DownloadAssetsPlugin', (params, callback) => { + // Only run once per webpack process + if (this.hasRun) { + callback(); + return; + } + + console.log('📦 Checking and downloading required assets...'); + + const downloadPromises = this.assets.map(asset => this.downloadFile(asset)); + + Promise.allSettled(downloadPromises) + .then((results) => { + const failed = results.filter(r => r.status === 'rejected'); + if (failed.length > 0) { + console.warn(`⚠️ ${failed.length} asset(s) failed to download, continuing anyway...`); + } + console.log('✅ Asset check complete!'); + this.hasRun = true; + callback(); + }); + }); + } + + downloadFile({ url, output }) { + return new Promise((resolve, reject) => { + // Ensure directory exists (only once per unique path) + if (!this.createdDirs.has(output)) { + fs.mkdirSync(output, { recursive: true }); + this.createdDirs.add(output); + } + + const filename = path.basename(url); + const filePath = path.join(output, filename); + + // Skip if file already exists + if (fs.existsSync(filePath)) { + resolve(); + return; + } + + console.log(` Downloading ${filename}...`); + + const file = fs.createWriteStream(filePath); + + const downloadFromUrl = (downloadUrl) => { + https.get(downloadUrl, (response) => { + // Handle redirects + if (response.statusCode === 302 || response.statusCode === 301) { + file.close(); + this.safeUnlink(filePath); + downloadFromUrl(response.headers.location); + return; + } + + if (response.statusCode !== 200) { + file.close(); + this.safeUnlink(filePath); + reject(new Error(`Failed to download ${filename}: HTTP ${response.statusCode}`)); + return; + } + + response.pipe(file); + + file.on('finish', () => { + file.close(); + console.log(` ✓ Downloaded ${filename}`); + resolve(); + }); + + file.on('error', (err) => { + this.safeUnlink(filePath); + reject(err); + }); + }).on('error', (err) => { + if (fs.existsSync(filePath)) { + this.safeUnlink(filePath); + } + reject(err); + }); + }; + + downloadFromUrl(url); + }); + } +} + +module.exports = DownloadAssetsPlugin; + diff --git a/deps/cloudxr/isaac/webpack.common.js b/deps/cloudxr/isaac/webpack.common.js new file mode 100644 index 0000000..4304484 --- /dev/null +++ b/deps/cloudxr/isaac/webpack.common.js @@ -0,0 +1,168 @@ +const path = require('path'); +const HtmlWebpackPlugin = require('html-webpack-plugin'); +const CopyWebpackPlugin = require('copy-webpack-plugin'); +const webpack = require('webpack'); +const DownloadAssetsPlugin = require('./webpack-plugins/DownloadAssetsPlugin'); + +const WEBXR_ASSETS_VERSION = '1.0.19'; + +module.exports = { + entry: './src/index.tsx', + + // Module rules define how different file types are processed + module: { + rules: [ + { + test: /\.tsx?$/, + use: { + loader: 'ts-loader', + options: { + // Only transpile, don't type-check (faster builds) + transpileOnly: true, + }, + }, + exclude: /node_modules/, + }, + { + test: /\.css$/, + use: ['style-loader', 'css-loader'], + }, + ], + }, + + // Resolve configuration for module resolution + resolve: { + extensions: ['.tsx', '.ts', '.js'], + alias: { + // @helpers can be used instead of relative paths to the helpers directory + '@helpers': path.resolve(__dirname, '../helpers') + } + }, + + // Output configuration for bundled files + output: { + filename: 'bundle.js', + path: path.resolve(__dirname, './build'), + }, + + // Webpack plugins that extend webpack's functionality + plugins: [ + // Generates HTML file and automatically injects bundled JavaScript + new HtmlWebpackPlugin({ + template: './src/index.html', + favicon: './favicon.ico' + }), + + // Inject environment variables + new webpack.DefinePlugin({ + 'process.env.WEBXR_ASSETS_VERSION': JSON.stringify(WEBXR_ASSETS_VERSION), + }), + + // Download external assets during build + new DownloadAssetsPlugin([ + // HDRI environment map + { + url: 'https://dl.polyhaven.org/file/ph-assets/HDRIs/hdr/1k/potsdamer_platz_1k.hdr', + output: path.resolve(__dirname, 'public/assets/hdri') + }, + // WebXR controller profiles + { + url: `https://cdn.jsdelivr.net/npm/@webxr-input-profiles/assets@${WEBXR_ASSETS_VERSION}/dist/profiles/profilesList.json`, + output: path.resolve(__dirname, `public/npm/@webxr-input-profiles/assets@${WEBXR_ASSETS_VERSION}/dist/profiles`) + }, + // Generic hand profile + { + url: `https://cdn.jsdelivr.net/npm/@webxr-input-profiles/assets@${WEBXR_ASSETS_VERSION}/dist/profiles/generic-hand/profile.json`, + output: path.resolve(__dirname, `public/npm/@webxr-input-profiles/assets@${WEBXR_ASSETS_VERSION}/dist/profiles/generic-hand`) + }, + { + url: `https://cdn.jsdelivr.net/npm/@webxr-input-profiles/assets@${WEBXR_ASSETS_VERSION}/dist/profiles/generic-hand/left.glb`, + output: path.resolve(__dirname, `public/npm/@webxr-input-profiles/assets@${WEBXR_ASSETS_VERSION}/dist/profiles/generic-hand`) + }, + { + url: `https://cdn.jsdelivr.net/npm/@webxr-input-profiles/assets@${WEBXR_ASSETS_VERSION}/dist/profiles/generic-hand/right.glb`, + output: path.resolve(__dirname, `public/npm/@webxr-input-profiles/assets@${WEBXR_ASSETS_VERSION}/dist/profiles/generic-hand`) + }, + // Generic trigger profile + { + url: `https://cdn.jsdelivr.net/npm/@webxr-input-profiles/assets@${WEBXR_ASSETS_VERSION}/dist/profiles/generic-trigger/profile.json`, + output: path.resolve(__dirname, `public/npm/@webxr-input-profiles/assets@${WEBXR_ASSETS_VERSION}/dist/profiles/generic-trigger`) + }, + { + url: `https://cdn.jsdelivr.net/npm/@webxr-input-profiles/assets@${WEBXR_ASSETS_VERSION}/dist/profiles/generic-trigger/left.glb`, + output: path.resolve(__dirname, `public/npm/@webxr-input-profiles/assets@${WEBXR_ASSETS_VERSION}/dist/profiles/generic-trigger`) + }, + { + url: `https://cdn.jsdelivr.net/npm/@webxr-input-profiles/assets@${WEBXR_ASSETS_VERSION}/dist/profiles/generic-trigger/right.glb`, + output: path.resolve(__dirname, `public/npm/@webxr-input-profiles/assets@${WEBXR_ASSETS_VERSION}/dist/profiles/generic-trigger`) + }, + // Oculus Touch v2 + { + url: `https://cdn.jsdelivr.net/npm/@webxr-input-profiles/assets@${WEBXR_ASSETS_VERSION}/dist/profiles/oculus-touch-v2/profile.json`, + output: path.resolve(__dirname, `public/npm/@webxr-input-profiles/assets@${WEBXR_ASSETS_VERSION}/dist/profiles/oculus-touch-v2`) + }, + { + url: `https://cdn.jsdelivr.net/npm/@webxr-input-profiles/assets@${WEBXR_ASSETS_VERSION}/dist/profiles/oculus-touch-v2/left.glb`, + output: path.resolve(__dirname, `public/npm/@webxr-input-profiles/assets@${WEBXR_ASSETS_VERSION}/dist/profiles/oculus-touch-v2`) + }, + { + url: `https://cdn.jsdelivr.net/npm/@webxr-input-profiles/assets@${WEBXR_ASSETS_VERSION}/dist/profiles/oculus-touch-v2/right.glb`, + output: path.resolve(__dirname, `public/npm/@webxr-input-profiles/assets@${WEBXR_ASSETS_VERSION}/dist/profiles/oculus-touch-v2`) + }, + // Oculus Touch v3 + { + url: `https://cdn.jsdelivr.net/npm/@webxr-input-profiles/assets@${WEBXR_ASSETS_VERSION}/dist/profiles/oculus-touch-v3/profile.json`, + output: path.resolve(__dirname, `public/npm/@webxr-input-profiles/assets@${WEBXR_ASSETS_VERSION}/dist/profiles/oculus-touch-v3`) + }, + { + url: `https://cdn.jsdelivr.net/npm/@webxr-input-profiles/assets@${WEBXR_ASSETS_VERSION}/dist/profiles/oculus-touch-v3/left.glb`, + output: path.resolve(__dirname, `public/npm/@webxr-input-profiles/assets@${WEBXR_ASSETS_VERSION}/dist/profiles/oculus-touch-v3`) + }, + { + url: `https://cdn.jsdelivr.net/npm/@webxr-input-profiles/assets@${WEBXR_ASSETS_VERSION}/dist/profiles/oculus-touch-v3/right.glb`, + output: path.resolve(__dirname, `public/npm/@webxr-input-profiles/assets@${WEBXR_ASSETS_VERSION}/dist/profiles/oculus-touch-v3`) + }, + // Meta Quest Touch Plus + { + url: `https://cdn.jsdelivr.net/npm/@webxr-input-profiles/assets@${WEBXR_ASSETS_VERSION}/dist/profiles/meta-quest-touch-plus/profile.json`, + output: path.resolve(__dirname, `public/npm/@webxr-input-profiles/assets@${WEBXR_ASSETS_VERSION}/dist/profiles/meta-quest-touch-plus`) + }, + { + url: `https://cdn.jsdelivr.net/npm/@webxr-input-profiles/assets@${WEBXR_ASSETS_VERSION}/dist/profiles/meta-quest-touch-plus/left.glb`, + output: path.resolve(__dirname, `public/npm/@webxr-input-profiles/assets@${WEBXR_ASSETS_VERSION}/dist/profiles/meta-quest-touch-plus`) + }, + { + url: `https://cdn.jsdelivr.net/npm/@webxr-input-profiles/assets@${WEBXR_ASSETS_VERSION}/dist/profiles/meta-quest-touch-plus/right.glb`, + output: path.resolve(__dirname, `public/npm/@webxr-input-profiles/assets@${WEBXR_ASSETS_VERSION}/dist/profiles/meta-quest-touch-plus`) + }, + // Pico 4 Ultra + { + url: `https://cdn.jsdelivr.net/npm/@webxr-input-profiles/assets@${WEBXR_ASSETS_VERSION}/dist/profiles/pico-4u/profile.json`, + output: path.resolve(__dirname, `public/npm/@webxr-input-profiles/assets@${WEBXR_ASSETS_VERSION}/dist/profiles/pico-4u`) + }, + { + url: `https://cdn.jsdelivr.net/npm/@webxr-input-profiles/assets@${WEBXR_ASSETS_VERSION}/dist/profiles/pico-4u/left.glb`, + output: path.resolve(__dirname, `public/npm/@webxr-input-profiles/assets@${WEBXR_ASSETS_VERSION}/dist/profiles/pico-4u`) + }, + { + url: `https://cdn.jsdelivr.net/npm/@webxr-input-profiles/assets@${WEBXR_ASSETS_VERSION}/dist/profiles/pico-4u/right.glb`, + output: path.resolve(__dirname, `public/npm/@webxr-input-profiles/assets@${WEBXR_ASSETS_VERSION}/dist/profiles/pico-4u`) + }, + ]), + + // Copies static assets from public directory to build output + new CopyWebpackPlugin({ + patterns: [ + { + from: 'public', + to: '.', + globOptions: { + // Don't copy index.html since HtmlWebpackPlugin handles it + ignore: ['**/index.html'], + }, + }, + { from: './favicon.ico', to: 'favicon.ico' }, + ], + }), + ], +}; diff --git a/deps/cloudxr/isaac/webpack.dev.js b/deps/cloudxr/isaac/webpack.dev.js new file mode 100644 index 0000000..f14ac89 --- /dev/null +++ b/deps/cloudxr/isaac/webpack.dev.js @@ -0,0 +1,46 @@ +const { merge } = require('webpack-merge') +const common = require('./webpack.common.js') +const path = require('path') + +// Check if HTTPS mode is enabled via environment variable +const useHttps = process.env.HTTPS === 'true' + +module.exports = merge(common, { + mode: 'development', + devtool: 'eval-source-map', + watchOptions: { + ignored: /node_modules/, + }, + devServer: { + allowedHosts: 'all', + hot: false, + liveReload: false, + open: false, + // Enable HTTPS with self-signed certificate when HTTPS=true + ...(useHttps && { server: 'https' }), + static: [ + { + directory: path.join(__dirname, './build'), + watch: false, + }, + { + directory: path.join(__dirname, './public'), + publicPath: '/', + watch: false, + }, + ], + watchFiles: [], + client: { + progress: true, + overlay: { + errors: true, + warnings: false, + }, + }, + devMiddleware: { + writeToDisk: true, + }, + compress: true, + port: 8080, + }, +}) diff --git a/deps/cloudxr/isaac/webpack.prod.js b/deps/cloudxr/isaac/webpack.prod.js new file mode 100644 index 0000000..4f7d055 --- /dev/null +++ b/deps/cloudxr/isaac/webpack.prod.js @@ -0,0 +1,6 @@ +const { merge } = require('webpack-merge'); +const common = require('./webpack.common.js'); + +module.exports = merge(common, { + mode: 'production' +}); diff --git a/deps/cloudxr/nvidia-cloudxr-6.0.0-beta.tgz b/deps/cloudxr/nvidia-cloudxr-6.0.0-beta.tgz new file mode 100644 index 0000000000000000000000000000000000000000..503f2c0ee1ccf4a73387a9faf978a1ac674056f8 GIT binary patch literal 380817 zcmV)_K!3j<86awVm!yfqEv`j`J97Tudagfl zojM90(;k%Bt(iLADy%JQ|d%3``MsY5;%ls?jR zwle!zkd7mzmJ@(bcnN}AIVB0i)i(U(zWxPZ->sO2U;_yB=%Zp83AQJX-R+SD((`=QIik46cDeHnC^Cw!YOQ(9E z&bFjZo;ootDw3@Sg6AsVCVyErt!2fMJl-!kpl1}U;p;&e^$-|d7?mB(0|`%1x=8B;gD_hfc&eR zqtbe3$jCC49VaBK6=OQ6Xz^I`-dHCY8-$W!*BK?bv(76RSQ+*4VBj4)mt0i8E6BPk z;WtnHkwN?^-yS=6YLkVOCqrOg=Bwn`x!p#8qcN0Wbs@wyCNa_6|!4@ zLqEr>ZJ9mMp;OSOJSNeK;+Lu*>oTQ9^Gmsn5DWXsIi#OiHw{SX(9fHKmgVXhE20Sw zrwrw2SkKlfe>FHHN6^h>IdrmhS+TxmJ=s*a)QA$8Di@v9m3+ z^~d@n&XY7-(bCxz`BRqA#5v4Thio>h44QZ}92~|+&SRcr=`)UPK}kiOgcjKoVFK@b z%8Q=?23bElWxg$9hApAC$wx|uO$`owP=jOh@4RMPf;Q0591jMkC~Z!f7xZJ!n!^W; zv4DA$GD%%mv{;jsQ_->l+>$!nY>Q1^QjpalgVWS7gwm{cSelNFM%Dq=Zg!?sF3WeJn${F$t(=Wo)2vL4v3R?p6cWXU(%4fLHX;zB%!15~2V z`4+ny6d+p>HbuUnMfL0y*~f>f9I_^Dpl-&N7HM8Q4x3++tlX@~Gn-eNB2Tt49kKx! zI*;UMIvjw`dL#^HNmr|(lcy;yV356mP3@@ZmtrTI*(V|gf)f@JR5Yr;5b#znu?QwHQ+U?*mrJ0{0qC3+Q~O`J>a8VyB~ZqzLsely&{d&1Vs9*5xsj@MX#an`S6wX zkWG7O8}_}{HmQ@)C%VcvXz4v}C@4&>O-fcCMkQb6A2V7GSm%~y#;hc!{E7sOGw>`x zh6(d(GUmttqM5U#n-z&Ebf9T2q4S38oaSMHxl#OciiR_M8X zM)N7lS41cuhO9B^oE7eLRiCXHCujy3 zyI}i)d}4LL{nG>Gb~pI0g_DwO#Y}Ob7V2UHxfmZd<_#83LN}}YnI>45)Xhvt3tBQC zF=Gw++qPhHhZ5Gag%gvClvR;$9jIEz+KAtu;gSZ`wj)xVO ztws@(YO!9hwV1DKl8_A1|IAl(05&)LI;>Z~ctx^DkT^ubZ1fB~khI7jS?|Eubz%e4 z#`B%?tc+Joz!_u7mIrYzE8Zu}boodMSXH|uhV^Q`RSdUHk>$le7$I@KF4_7&7zD?T zzVJ0x0a>l`PY!*A!J@VETNNa(ax^@_xoS#1+GU%oQ|fB{bJgb4=nJaT89e zdj2?J8kDL~O05k7%3qD`%+J zgnKYLc5Vv#&62JtDd}-DTFk0}fzQ}LXK9AkI9Y8T$dEsYi_p(Yx9b?iZ3rUG#FyDKv?xG=nJy}`k83AgkxwPaDbRsmRxoMh z8Y^Rd8TiU#Ngr(3jEkR#!uHHoY!)yM1!cMg|1K-CPDqik$-6>psP=3mzY86|Z2ghX zKPKLC%NjASu(R_|Yp2M{pKH~YWC^sLH%O=sWsV5*PDv0AEJx4Vhl8a}*Ca->#B(J+ZCOnuIp86go_C(VlSh}KpDvnE?J!;&>g>2pgh z4ygv9)3ZlfE5&+bjt7H~JCHXxlCPXI9_Zw;+r&D3KmnsHLblwS#L!qm*t8<0^NFrj%tLv~%B(WsJ)=zN_QU(lwyZJ6 zyj+!Y6IVE;u;6gV7OU746sA;6OXyW!?tSh@^2q=aLgJs-`KJ|4KB8HryE{;}gf`aN zH_h1+maRVyL{#h*guXC{vwD^yi4YLkRM{hofYkP+m@tZ=@*0RCQ1-}tD=MV9F2=sI z2paP*j%E1~IK{f6SYOOz287v>Y;p~hh~{hOFw2gdsK`H+v=9>we$9?}#kfE`(uzQD z9A?M#Sgdid6ro6vk95HN;H<2&xI8*`P7@4lv$b}pOngKw_9+;zlCR-)(}vulE^)}$ zkRe{_WTQ z6iWzqUutdS{0K%Z*`RyKVrF%CCK09?i&X(M^oW^aX)p-^XGX@*TtDbGu&A(O2UTA8 zEA(8ZshPmJ17q|CJeFFMFzXBDO4%ZiSGQHR{+YM3ad|$`sLU#=38xTUx{mX00cI>~ zdX>w{OiWn_nxG>C1_vbqAc?eOlwFWkr%;o1D#?6=_`35@#k+Vo^-5G=Nv2(vk*v_4@@Dc9tvxS6#W0n`= z&fWYNA`cKNU_+3tw>&sQHwEP~`pn%2<~?AbSJ@xH_<|n6NGYkd1)^+B83-ukg}wl9 zNEJV@2o$qmNs({YNn}YG)Q3iWr{%AyH_G^&ou+h6Iv^+6GYrRg1IdXo?i=RIh`F2z506MtL*4xiEXyqpP4A_nbgXytz{b@~$ z@*&&6pPo?F&Ckl5mUkoA7IXK0UWS4Tf>>AzT`4X&jDU}Rl+^#)hA+aGI!dIhNK)I z+{}B(SBWxIRaULgTo8kXk@;kR{o5EGL)qLfTYHv}m4eJ3qn@P$jDQfn!3*9Ks8+J#p{ijM2j+WK z5YUwfA*z7wg)EZ1&}Mj(;>Gfiz+DhM(f|UnpaqSdm86EDo+KtF0|JLoD@%KjvT~ZN zhrvHG>%nQV9tQuotOrNWdKmlzvK}lsJjtL>)&mncF^tv}2$u8WGV@XqnID)KQja+_jI_LgfIyYNyAt)qF5TOW+^8DLV(<7g&p3;5f%I5Ro-~DbrxfT zb8w+%7qqrTOxw1Sx7*fA;4+nxyUgP=gF0P6MCZ`CW*R`>yr?rMz)OE3t7B)uV$%hU zvkhc1u{=s!cRy~+iY*_q>D6$ofnrRZ2Vy!D0(@iJiuJx<^+0Qrkx3b=5apaWYl>?s zi(l2DDc*Ex%yI1ahWZq~MP&e4Oo9<-;ODFcN&acQ%1PoJ@&%u#?ebsi$x!b>6m?*u6_FqnWS+6* zm*o`;-#jz#`!P}!7&)VryPNg?L<0L&8N@Ha+bqBd6OFmR6s33*~QkhJ8fX?G|1HBod7#0kR+3(n4YZl31mCK3JP1u#Cc>A1eT?Ji?w=SOCnu6 zhn{=nuyGL4KbG5y1tE(CbMF7M6mYn>A_Zh_Fc(gTgr9lvqHE2{8?TQW8jUS6kQ5Hj zxtE4rY!lNo72br@_t1l?IHBx}oCOqM4Uv_EbHCvkr1bM9E2Lb9rbRb&(*Rf!D_KuH6g}=#x#3ku`6q!l8r~ZCfRut zd9g+w0}-lP%LY{K|1;wXqef44K-OjsHH$q{5kFJ9amavWzzHdmL9t*4&m|{C{E)Ho zn|jObULH?F!YVB)mg(0dtPbkB!Q#Q32N5krW5aB~{`TvC86`wcw*^TGo!f2kl!4iI zhY6dOT=U<4{qG_B%)|KN&)qp`!vPDRiU@`%C;6J3k21f+&+>XNezUa0d71-M@1df4N&+-8nal<-3c!J7jWtb8~rdcKYq*!nr*CvEH{lzqmcS zJiT~#3;cdOT`o_r?k*Nk&tSQ@SuSoDS9fq|?bf+|>zrQwo z_zNSt9Xc29ZZ0nt=g#%gxxG8RyT7|${xo!!i_6nHIHz{azML*E*r~O_{nhzm>D+zK zS|rZE4V{atv&;MQi>vR3(8lZgJLmG^-38V^giewmUcYtjF77TD!@tTS%XgyDi@)3ro$r>X zH{V~J-4310i>rURb2 z=SX+-WD9JPe%&#rG4 zVqkdp{50T#e)&@~Iic@m5k6);D|Q-I5&l~F@(#D+kd%bKU|+NKBylCFl6^Az8%b%W(wHB5urIt zMRnq5&sqHC?DGDWX#t^aoPD&-#g%h)?JRz%$DR+vw+rX;;#71FYs}&4k#li%e!-+? z=-k|2T`-tK=k{iCc5!+MI^yD->7+~6lC$fp+r_`$FRtz`PA>=Nr|(X`Tig!Wm&0$5 z9R7Db2@fxhoU`lOJJu&R%j>gyrZSw{`)_aWF7EE{7S4Cq*XJN&hZh$|&gC_X$lzvq z{q};%{F1fco>g$qRL1$~-64tkKQx$ETsCdZE# z3?GvdhS<4yE9CzB(_81;#o`L)1=NeuadUlJtE}s{&h7o#_jT_vRVdh??)>SuU;p#g zVXEMqDdM-M7nh97#nM^a-r`sY#fk#t*UZjNZ;qYQ^YaTfK~FC)e;U3(o(6T?>(;ru zW}8{QC0pbb0F>-rxRTp6kL%z!A%N;s%Kn;7Vvp+1aQJ zzwslNuy67}ibt@7we6uMNM7&ND7zYiIy-qNrzQ{C(O=k8&(k!E;mi*^LY)E?`MW6HApxRULY*I9)b0x2t=TN<&1ah6#*gkxt-x-$lw z!S-|xTZg5jP?$riDlgU)9mBNA!)A44>llnth$NR4iB?(pAok1o(U-LDZ@v$6R41xK z#5Lu?ph4%kxqMrdSyH>CWt?xQ!P&(`dD$1XpFSH5yztoJ7ApSbIp5WpC70wAp!i?X z@r71MNjRqUu?!Y=fQ?&_kWy?*v+Q2sbl1ww_G zOHUKlYwXBG0pUHCZqLG_Yv-1%E8?83NI{%4c98yg=$w&NmgdDeBiLi$rZpSc@(B?q z=Z7%|Y!incwu4Eaiw%Sq>#(B9JBFkzyeB|9tlMPERr#RKBvdf4!cUa#`eq`}3|p$^ zj!-=^#9^>`vHsQ(#-cv~=S!DCe{d7GvpekH>~8TCQ8 zZCF;zx~fMJ_WJLn_F_tBL#S#e=p03olbm7{T&)=gs1 zkx$AV!O(hwNAI)Ypc5nvP^xS#TERM2umc@zv#}x$kFp)b+$nR|$=UK-9G>zl!CoG* zUjC7=W8Q3(ngMqHD%UElPQ@r513(7DQs z>cRP!yr5+0EVpHuk)d<@Tx4VjM$eLd$hwp42oFCDc(ds``G%#|vqPFN!mz=f7vl65+m^2P-C^{%RR*~pa0HqsoMF<< zP(E)o$P49sRO+m^@rsgyrFzpxI3LAwgEJ6V_SYv$HZVoublwW={XG7eN_VSl*Ki;^ zaY$ASp6EjsGfOch8_*6cImLM-pR>p9qf=lSc*-{PaECu|UFYX)l|Ryo=h-qd6g(z& z_=!BTtxvqgXpITCaNP2d`6Mjif_GKDP0aD)xJ7LajX|9)o#`~`X6^v)xgxbLib}(OqCe8(uA-qAX zpaa~`5NGX#-h$A7iEAS)V~`@xyiYi=Fq%4N$8V39#|}Go?hQo>3t03i+bn4Ep$4pp z+e$jgF7_1^GN(nRwuvLE7gn^2+2vh>Y(13Rc&1Jpe4c;IZueu=Nud47@x*t1=Z}sb z`p3RM`DWsJqeF6Z=p7w9-%@sE5{!1;YXj&tt}r*aCB?UxVKkcol6JS4;>BG-6QQ)} zg=hOAl}8;WNBGZ>0~ArG;#+`_jM&k4=-1oFKogkeNIj|W>`O&OP=TKkvo~Z=AE7g$ zuMdBe)_a?1V}J4UaG*61_9Ee4Ajk#FCWI(t}Zj{7lH3HI6DfQWm4V z!R_R1-RhW#KIh;L!Lg?ejWJh0TT4>PCDWT7MocchIrJf$UP$a<;(7tQa?F@Q2bKY5 zo`}OvwX~s9nJ^y-4}b9^r)Z9#9o9N^B9fa5JS~-gj;nGcy&KzgibR`eKR0P{zXHLlnsxUi6L>e5vn-AkJ`Y3u9#}gqE2u3`c z7of2O5$=w%W0DZDd>&vwGhyAX#r+oY!518>sdLNj?h(5UtOW$47?`QZGR_z@CGb&f zSGApov#>O~JnRz0HFsbz_ZJG?!9mm&z$4q46G>Z(EqsP~@nVBr}*TqrMYiNS=^1zO19@QJ1MN5z&2rXLO+ z-}S?z!N8Ce`-lJY-~R{yZTS7q(KcHpe~Q_4wV#XQzm@+(_dkbYFYrB2zyH}Ex#RzH z|MUOEe@}$n`^19T&#(Fa&kv90e?B~9|NDh~{;T`hi${|woqusZk7ln9*$=Ki2`0n8 zx}QTYoRX0J%Xi~Z3uJMYL< zP3U}0KRJwSdRi3Z`A{k!ZP}uF@L?$b_FU2HG%aa$@Zq1`&%XZclCD2i4+kHYN(L2F&()_UsUw`$`vFD#$M{D3dxTI!eLz9jVWa2#+_c9sk0jF9zx?w0mm#RXSK@>XG-vF^QG!w&d7~5*ZXBgbeyJhR`DPIh}CZnKK%XfGS47(!zelWf|=V+{mUQ!SpW0=L3Qxqr2g~O7q%{t z?W#I>RsZt8xo4G!3{YT(!R2j_HCJ=_%e-!NPDf+c;t;}_|mrV*5#KTaZV~cldNykeD4`GLziKWRKs~t4z*TuhYvrVfmmF9k3 z(2wk#VzGm8*^lgYyJ1m$nw(R1a{Z>r;e!1g?dN3rtPr1}nd-;u4f*#iWp_ugTYcAb z#i{kN$m5@HpV#pcZv&#%&v1r86H7MJZ`pnh{pKh5~a*51M z;_*}_iv>oNUl>nkl&-mjz7+C1N#jV3Q(BV!5OWJbm^lhQP=ZlS73nn9Yv3HIVpIs<80A zaC#)n8h^Mdiwm-16q#Sii?F$=D_ zpWRpN9|sp#H}`jcz5D5A@z?t+ND+T~u{b|?)mTXg;=PUX!)wmaLxw*r&b+_=+hTeB z*SqV#USBOttXecR6JKKT?&9kHmVMsEsYO_`3u<6yHU+9=*uqXU>730Z?CT} z7pGSy2I5m)WQ;{vUbu-Ke*f^ATdf9y`>W;R?E1T_i+_Wm`{fr!dO%BntWXjpi6TAx z7r@a&DtO(t@2_<}ZIKWhT3^g%+uf`%Xni(u@w>VB{kR0(T!J24>Twt4#1Ab>9C1Mg zf3;}TL4T!6hx%2M2wV=pt(i^yAd)3Q{G#fUv+pmKr|iUlRh@t)dv77swaMk;?VYJK z{H|+_<;8d38>#Vwt`)BIS<9)faFQA(5hv)JM7T7f!gYxsswx-(#-MIXL3tuBZ<;q}epst-e;)5TOLI=j@Azl|Fbngm&t z=oDnMtJt8Vl#(cwhe`Y*grZl^*W%nk^m-S^rq6BcYKon_u)A%1;OkBvypwHA@NjTXPCljrnuvD{(dfg$rvKHwG+mQ_uunH+-8HeadM_$J5blGLjWUue!x! z1G2cSXj-vQy!;!aSE@hiQb0&Tr+al3ziyJX_9ZykJ@>a864T2ZQ>XNgFru8U5+gi3 zD7CE?sZ^RjHCr0CmX1P_Dr!(_M~@!Q)_iB>h89_#>^aV!J4yq&@|5l4Tx}mCTI{Nt zr&9LA34E87B+q-$pVPmwgKkB?A{8k<(&~Jl-Xn0Y>0U+HVb^DxnD^jpV;s)Ncp`T* zJ55$rEc*S+;q7l$i~+{Y0~{W;60s{eXpDD?WD|GEBtRM+;t z{tb5lc%k@#6lZxtPb;2Sg2i4p&IlIQ7dzk?pa(-a zuVWO@aS}p`75?*m^Dk?7nhDT{x$X1N$g3Tqp1YsD5A*hij`Ho$@ZA0E3ns0vR!+W| zQ-GZOJvaqsP9x+L^yO5Ctmp3M@WZ_R+f0pN>$&@R{9%rNnCVncc>WD`xaI*L*0Jut z|NXFI!xc#8Uw%0{QUoX%jolys0m6U2Z~kQq&2srMe;pb*VR)8{4E$lH;~`ou7WkK$ z@=6}{D={=}y8fLAv0b$j_04P`X?J26x-&wc6Y-z#n}2nO1w~hO&*ldS~( z_+faEkAv}JKR!G}$j8b2)y%2)z+qfb9k{(x7m$HrSmP)SP`Tni-#7oV2GaP5T0ReV z@iGU~_?YgZGjrc#2CxX6+L2vpB0!Ga)}40p<$yhX#=JMoMGQt$0xB<@_$dJ^sLm;P zfAB3lpZ;T!RglVh#B$z+{rFGwdClSd0UoeA_yAdqm`}j!U%=1)dBzrXUh{`TL%9aS z`-5$^t^yy@lF1QR5#^4n3V!9!*#-n%F8BHu$;5}I zy#8efW;$dhfqP2Ee&o&neAvi^Vsqp7W)zN2?88tq{$MQG5;$W;*wwt6zI|=3nX_sH z`)GJjVNw0aoLJTT7)@QzoxzGSns{;A$NXse01Cf9*sed3VndT3vxEg)VD(3K%Bnp*VmYb! zm%a4S(8~XN%3}HU3Ou*F22tKnMVde13)J7|#ea0vU}=L^ysLsA;GBc40^i+H0Twq` zup~*gExTLb+gl(P@2a4?1%bPx0&5HKDQ|Y1gm$+fu(YAYpu3Xpc8uJem57$q3{<_lE_Lj^pnYKG_Q$zTb)S0+v-F*fHn(VFAX)T6A_)%P$a8U{7_q+NDCTg zHuK|f{zaR!e0N!$Wv|4xlr%B4-=P2M-z4$Vev|0*A#VLz(>8{$(x5kWkI06vM@KW_ z&n04`;frKu!*_~uh9r_n2VK_Ea&lEoO*Vtp?Z;c_w|>k6&U^=OO||voJwo2T+mrVX z_2IAGyhF}=H*Q&>_2WH8-htbb_dd8Moc9jgEhW~E`xLp4+}_-KVQ)DxoU!D@=v4`B zsuRPhWG4nOwVW6~@@C-#oES~bC@uz)wateUd2532Kz`^dVAfupb=8JM@5<^DMzv_H zOt&d^)}e@vt ztJ$s!`?jxLf!xC!Cu|whLxGi zk!-waB#k3rs;OQEcUD!;N<&>Ok3g2tEHB4LjjE8^OEcSU?;%@wI0f>x2T zTy|BY%*U>ZEG<&j&fOK+TV(JUfQu!FJer~xm5ph=toYU{Y%rEZ zS?!a(Xk(YPisC0zQQg#)iprntMUAz}pISwYhN>vs`q)*xU3crFR$L2uHK)V1&9%t$ zD0<*zaqcD-xgYS|E++`%{9lk*F-Qf$Q!%eerGMng|W{Bvdh9ZS8#1BpQ z0%$>Y=p;;{`4>Jos8XplPS$FgRNE%-X5!ccr zSJ6LeVB?7b)sLqhEU@t8GPQ$e+o?o$vQw#7z`1EoB~r;wB_e6>jM34IM&MNP!B_XI z;Bzx;t){e2sK}6+C7-vuS#m-}6pbv!%-zXS5E{&Ue>9o03#_CN*w~wTCNm#NB}I5x zlQ)vtGIg|4vOQIQ5}Ht9$i>pmkoS{;VXX;ehC(K-3`H-2y1`Pq2{xu9Pu)4ImmHI= z1>_c6D-LF^D~EzZ;?tz3Qj&Inp_rl>fOGvzy<*ms&3qS>_)CjYn#G)w|DsW9tFUr+ zi?+=)j$JavE%VeJd3_e*y4ZVmAcLie{QH)yN|8NmNyI+-``_zYOzZS`B*sW)EoIp% zhCe3~2jf08S;es08mfWR6n4>Gsn%1oKtrGZ+8pTG-M;%B4TN=mYiOcUiQ3YdleY9n zqu5U{fhq~ynIx|Mj1muaE|94I(huZ4mVThaO_f>fQ&(I15z$EvMOymB5B1WIw9w%* z8i(FoIu}_l@JgvSb+z&W@24b;+_^+-T;P$cbAd+^X*611Ri9BpXBr%`S*SzE|=IbeI-cB&GOWg z>_3wmyqcw`UjL`ZY{p55VTUyK{NM!%(ZJ#TL215+P)Sbiac`lPpWMy7!TpjXYR;Qz z7cE*5>o+o*q3Y}`7_CXwW{^o%viCX?5qL5%WCm%J=PMOXQ}C!kqS~L~I8H|q-mM;t zi0r1aJbn*uOh=;L_9v3>wm*>$^=+7ho*sHaL?<;AIdg{p(Ab|q3#>?zge)u4EH_e; zq&8Y|`lRSMLvpuL^_v>IlH47;0W{7!C+7RkH#ylFu?~%> zcV~cGfRdg!nYQQG%b{uZvJF}@JLHk#v#2w>92v^lFn^oc0|6TKV;YzP)nFNMAnfP1suF zYXc>(lrkK3s<)}p-UDLIrl#Xr5UN|kib-WKse`tzyES2XZ*7o z?9!ulB?9aa$i}|iLHZ)Cqx9sC3iKR(Y-UUJ% zCD3tmcRUF_&89>|Cp8q=rsO}=HYL(FhM)ZXO6mW6B~UgYtvwN3Kr@ zR&N#7*4_82l=?oqJ_KSQ;b`Lf{iGCWRVnoXH-sz9C;lYy<+ztO8b?VquZj9gDUkP& zQlP{AiHJ_3nI@%(=%j`spH$^P)KZGH&Dm4=`WFwEeb`H}dgV z*O&w|vfr^TDE$6lO-b=@;(!dWQQZ54g$q_W5jW+irQ}^S{w3{X=Y?i|DQBl0zvEwX z`}-D3)THN|7-|5eMvLe zF}K0O+=iUkuM9wPH3a32-7xmh?r;-V&VKT}D2XBa35j|uVkF;GV(GeX@HARew zPHHIf7AXIrR>Vk)$)$-q@#kOo4CSep%|Go@E*bT^1VZnn_KGp1_ zM~!XRIhm|2=`owk?b%)BZk2Cri)C(ETVS1BX52RRwh(C;yZ(quOHSm*o<~jjkVq=o z$A>k!vW{qUl0_`Oqy`3QtGw9)7GFCpV43mny>!Si(H>xqYz^pP{L0PvM=mI)CheX8 zwuV`)U%5HI*AiobZkq#OSt0;ES;KcHR84eM+)Pup1{AR!EDBTKm(vGFX-vn#|3*fr zv?>BLWdn14NgZ#ydn;JsfU6C3!7ERwhU(FrR zLoKwsVP~PQTpx{Hvd} zdQXESWrNH66m@>x7jSF3l+z+}dQ(GDa$3fd#KU`AII%gW1;{$%0!SjcfPhsRez}s} zkpZ`xYcu>Z+df$y$WYGm(5ev3v@8##QoKOG(#~!6f?yor9fD$*)LdX7kSB)y;(-=v zYsCM_$Xl8ofBd601HwS9Cq57_bW`Pq%U~80<0&T~RrJJRT|kqA7Okus#79{-$eh%% zZ&UN54~$qph7|dJ8r!V1Jr{IjX1mpohE%cJym00Q)16aS+TVu)TE8J%>Brho669*< z2>RyNlM{GZp)S#}zU+Q8TiY{9N9j1`Nr%24_1nWkTJ`kI*mpg|IHPnnmE)N4C=Br6 zED-fSJp<%DPR{@x?lh01aF*&j&4B2nh9ZZK`47!bGtf3+TKW5%x&mbnZydz9hbM@; z_V9pM*~7zMnt&E(qV3@!RmUElKN?L*V%Wp;K4)5+p`pn&2EFe&o9S#1?5)dxKCCfxQt<5}(9M>gZ(RM)R7ezr6wEJ?ssj z!-S`4l15Zdx&=fhH54W37Jq1xZh=sVh*#mc(9)`5&CPOKgEy5nKF4%Ckf! zn%E*$SAxViW+&a-Vmq3R#zAZl+i>jD@z^T1{VjWBWZQvG)5&yV5LS4S@Ai2eFY#eK zLs|rlNBBbdIHsdX&tsoh?7jAM-kv8UvBuUBQ2BtQwVu|=7C~u$jc~v7sRnT3-Ul6A zXO(TBz*yVL^rO@T_sNSr5-ZF4EJ}iSUK91-$^`NrTbV$|O`4G1d8w^Ofas)#BIlIw zADZl%Qp`?>}okrph#)e@+l2OniL zeGWcau6wXx>X4&7@$Ei%+P>fcLCF_9XfOqH?ScoSlHC?;PkZyqb%_V*IffTErQHW0 zYmHFP!;H4lU-yV<8(qg(?TNIDQ}+XJ`t|CGHzJCu7flsMswVmxy?t17Zcm~^dkrr* zt0*}AE*f2i-8Ih+`&GQ>vD3P8&0P##Zx&7!>!7`2n~VV{XYmZjiRVw1w8YRSWUA<5 z*$ZSJ+heK5IFVNcv3%OW_`;7X|*VK{dCfqlBql9pwA9@x>FqX|Co|OEOb# z@^xv*HVnLE3JY^YW=TZ)-tGa#-kaZI-qYH{iaV{nUDdT!gj!(vJL3a`uLIz+H^A!m zMrP}}-G(x9(*oHfj$-fvyeXwKWjk=>Phxjo6Yb$xGV(r-C8I;rn2_;Q&uKIzUl{Y8!JZlO04hR zOEGw$wh2++Yd^Y~>@t{*Qql=?`Fp@z?g_K%fv@^1VEdUYn$bRq!e}Jll`(QB6F*Rm zb|m^8R^h|C0;>W#+*#iXEP0LL^7m}Oa(4rkzgq*U-vxQq0r_`uo1hjwYiJVq)3MFb z5JsaZMh*ono`&yHZz^9z9+GM7PLx$wQho5zDtX$;TwrY+TvK#r%@&;4wr$(CZBK0L zOD48$+qP}nnb^t1PHyi1*1h`StaZA3@9JH(izMah-fkktxjj(=fkD)I(5MR+gV}ORw<($09-VZn8&+wzarjEPA zmTKrxPi2O>mjZgiZ&=qecihbhoQgHO#wWh066!DjLZNn!z-YKY{PeN=nb2;ti;>HtlpRk)(cJFr87>L88h9<~)zP}<6&li31k=w_ z1tw|jPUY*3tD@zf*Kt|VBRRP4(20($%QtbL1-0#ZNbT5m8aB>5s}FW}{$RB$%9VtS z7IAZOW+vWi{e!9sUfszTmPz3*p2f-uySn4Po4)1A)+m7Ey6Ic68d#@g-E=}M1>;#K zonpJG^q4yl&&}=RM$$A(FA6FE>*GM#Wp>dN^L5)9(#yI%z{dC5bJ4idu(um|$U1?q zU+JCv=-X&dJWmwqV;DeCLP=>dxFzyYS?>N)`Uxn>MYsBQrbE33N29G<#j)wOBa2(o zh^SH$Sbib*-UbE%u|`ijX-86gK`p~Vy@M^JUTsY!V`<5roa_?tqRVGrmR)YQRaqR9 zp>F9O6Z^p^to2WCH8!b8&lg+vm`&-sN{a9%o(;<7qo;b@B<66X@jKTA#`=kPTr@SJ$po!v0f==LDNWuw%K zaxs%qG3$dUV}|?7ds@ho5?oL9*Hy@7l377A8~|jI?J1d*pF1*DV9^GRV4)l|*^yq0 zUG&mI8IIO{IS_HC2mT`*ftp3c-#TFdWui{L(~TVi-tCo|NT&FGMgC`37& z9;nUou7W%~e26kuIRhu#mvXI_WEmZTJ6O1HiPYl1pMLztdb;eD(vGDes*w@vfx zzJ?H2U@g}gl#+(KLDi4@L=TeTk=7mH+TD@`8GN?r#Tv+`?x2!2>mh{SWaW;?%G^Jo z-XIC=kdJ->m>c!Cz=JZMbin`7t+X=9*IZT%uyzz_4DTw3WbrAi>#!nccX>V~4LDJ_ zK>APOKm!@;(10b3f1o$CorO}G#it1gcBTVDf5EE+cS_QLtB%1g?yw?EZpei;+z8+J zvXM30t^{9r&|`~QI{%B)&T&8Vg{~U8RF?oM#Tj|ztlS^vv1DIMDruoDRVS)LDobXf z*DoN`A$+_NCUo&yqAryK4MFyps8S>IQ|;+asyeGfO=_)XU`iLgW49yhZ!Q^S z>;ilXbyUh6zm|X(S8+EIx_19mMf6?$s=Stgkhu^-@~Vr?FKS3l0R}o*#;92a#-$) z=oj2E@yErpn4JD}3NXTL~Pd#Xzb~u>w=d#^pt^dbfhsJf5&`Q7iYoL#PQKWmuF1fQvi2z0ucH)I@Sd-gyG zWQkkS823^|-+AC{#jnqPaYFU$waZSAmNr&D0H66{0E&PKn3m~sBP2$P=h>dHh*FZ( ztrrUX+OwLZ%GE|=T#NQnpnQZU%FKQm`BoRw5es_7oGhjYp~#u{U*j{!&Ed+1m_X%> zGvt|tAqZ!Sl#oS9`O-UGVX7SpIML5-6T+K4auB@U5msDJz%?83|6_<9^LIYGUK~2Y z^&FI$0)&w4?^iO3;-$m^_OTx3)0}mT-qx>-aJ3il^JJU)c6)0U+&AD z?b411GyZz+oe*G{k+VvsTTqAU8TP#E2o(5Mi3#Yif~}dA*o8F)ewwV^h=#vw4ph-f zBY8DH`SUB335u`Pn4QU z2?%2yALU_aIdPFvoGh~Gd`f}AKcy70D@WWB*?7Ym{2QN8Z8L5mXzCh^Vo{7r7H}2hxR@H?C+%ah$J}l3mzqZOX7~s;}br%V! zF+{{l-;0TYI|mP>bNR?v(Iq`!=sf@5cS>~Luen39UvwoPq5RzVBy7E!TmP`?Yoe)?L^`Xq@<8<}+(TC9<#VCYBxa+0zrOOU5knvs?&-)m{1z~ZP& zWymw-F59^iEyG;V%k2HRPJ=XCTuZEN$0eJeie8e$NB)xy=jR>G?w9`g#r{h@fAnuc zy2NsvN@)bk@Sa~V9Xy6?qH4^brn79C-_;b9Qpw+ut|&flNVR62CF zmSFnY0b-2Ny0Ud);zERx%e1ZsOjSIRO9D=yhkV2mg6=~M&6$Aw97CZ0$Nz;65+4g> zT0eAcu3K^!-jhsqA?j+L|EjqYWR7375hFkOwC$Qu%lr^hs>l_>0qQl*`ZQPE=-{=W zSyuHspgHOw&VF<;ZrN7FepH0olrE4QbESbbXSfYygj?2NaBUS(<4USa=~BnD+s;b- z3X>{sy!R(%gwY{U6@DjXq_7^N^`0fJZeB5zt(w+=8jZX9qqJ6A!&8iWcVp}e?1EY~ zzqWFR5?a?(ubB?KgbYo3lYT%>c=quqhQbmx8kLMVoYp(Z3wtusK=e8!??M+Kru4pG zU2;m1bllLHsvlHC*Zubd=>A=9KwQkgg>N-?2D0R2YGG*m0^FT;>T@>IRaoG@8N(Ax zp*~`pR7LBv8(s)yZ+oFD(T2?eqazb$v%)WO&|NK0Pt=~;`rupC*uZSI<}hR78N!#! zC(kh%!>8hg8%r8~x((3tNx=l$kq4@$7=WiZrmr{w7k*}npGZBqY9`yt91fQj9t&pl zcQY49)MQ-lmaQ$=(`f++9aUGW4A7X^pKqqZ#b~+mz5u z=3`MsmnSC1l82m48*BDP@`2dewlj3oOwn)g^}ety< zN@dd#bDEK?(J$n6miU&NJs}NdY}S>`rxnbnHO!2vmdg7h9dayUAoCg2W~AcsE$+Y) zF5Kx8LKBV|| zff2QOHPe#r6%e-f`r+HM!j(St3%gJIa<(ML5eSnAwO@XyhZgiRgT8E>va3?Ss zP}XLzQz$^aNro&u8^fcbdT%TbEp_uN`^JO$iIp*6d4ot%3#^Y16h8mGoqCM@zvp;w zL7LLwa79rdM`seWu*nv3VwC?MF5mtkOd{s|ph7-8!V8y&cu{#7(>DFKZ{og(nfPUn zKw85J3|;#!4)iN*W*l@^v$O^`ITq0;SEThhPLFLbRY)n%ekm|2%yR}#pyZ5}N$o`^ zH;EpM=xx1Mbjim7IWn0&JkOfs$By6qwSa!p;p2us%67rO9wfVlrO$^p#mjRfAzjL? z5R@;ir%)SHY*k(?GFUq4D ztOVA6|Ne4{I)7!H!I=^qXH zzPBUMDOI;wK#AEB+^(cCzqHt3<@I``DKA|KhS*t?YH7c*A3sY;iXw|}{)m5$aizIs z!;0nTh3R=q-Wuc^YPmIq_}GSfu-mu!-iDjB0CzYfClz#iKhK%W@ij;p^OET-xU?$> zeuodvJa=oddCR(DpDgqre;{})umsM$u%GDbA{!pojoG2kwNuLoP$5yu*?LNZdi-G$ zUdL?-7j4XJMIbGUST*`Kh{*m-4T)=`8Y9*H5IH>2VlhfS4mu)qm{tgOB*{Mty88`@ zHxP#C0yFa=R&lM7{#{^jlN-Ngvt#ppW+6=5=$D}FN zMW`@tMeGzG!$l>NozU8?w{jjl2tFN#OfXHwG_YSX3YyRqUuzfqUOV|m^=((|8F2|7 zRiyOdP;%~;zo-VWPu*QeR~n4{GHOTz>Ut#ltlchH71xlYOe2ew0Y+X+PzhM z54^IJF&0rIh0Xum#WjWTJ9zji@~5Kx>C!B1cU$>Vf6J@UEGd9X(ucU5*34mkJEJuy z{qctDKZt}bBG}lS9)pdd{l({NA0(WoGdBgqsG@|E_Sx}M8MsXev-zBdJof_e$I1#% z1}o|{h#kIyP(_Uzfl!x4gp0C)e7+dz>cP+obff#jXq*tK-3R*asxe9h4W@H~C4sU8 zKf-?a?t0+1jqx7SNKF2aJw^8-@&3r$Y_dT;cXifAzQmrw-uLe6VX9-VUGKOFJN){x_%t>Bjd-iN;uT3M%$dd@Ht}xv zobv91gjB3_??!2t=u$BjDf6Ui5~WRoeNcILIuW1B*&D~>8r50)BH;u14+zN0filUa zaEudmIx=)ngR!-1zB2hnj)#p-yL@N!;eZX~V&64g>BdcJaa;tefXCFLYfl}VOBAPL zlucRnE`@t`(gdKFgQfIuWZX1t=)+4ZP&fM}OjoxrD|&H7L50>A+IPU;KeNs2!#hO~ zO7Of@EdI`TZXMBwcNy`&K9$RiXT33X>&C?w^4N>(;zCItW38tk@TLAcq5W%=$!`RRhMcxTz#ag0nAQVyR)r| z;&WR{L3C&4AB55Y$c>gCg;;0odrQ7{`jewg6l3*;-gB^bXGv|gEyK6f=*Rpj>!b~H zuh$A&t9F#_DAmUpoHtjz8LrB1qk(zo1K{Pej(%;`J@MIEmRBeJBVY{EI`zUge9=tU zSbMNTkWGmeZ`#g&THTk$}Ct7+wi3n?h{ zrrmo6;7fGp^!dy~{PY`2?t3TyY-D%@f5is&Y6c1uZCfzDMux@v=Ba5}7gEIW(IKwS zqCsRzF`8Tsr{2FR)yr;Z_bT6dy392i&$qC7s&Dw&&U^=Y+0a!6GnzdHt8(4Y%9wrr z5e5izvyKFsuzA=7BR%ssYyHNLk;7vI4(8@O9(Pn=qb2XZO>!&O}SAw zXWJ$UhE8Z(3?1k9%a;6he>`&Y&S3TZL=19;Ym+XS{3h86z4Kz*N;fK;?6<>Wh4~vZ zTdVRf;XIqOvi78Tk0eka{n2v(>AFBFGFM;mg&O`zB|*~j?+a7ykBZ|uO&E?a{WxW+ zwh_a^UdTB0CE(EvK`J{Z)JuM|WxUrhqBP92)#-DvVh*gKQdS21U1YbEotf3u9aHAy z=0|;Dj^#ny4?%**rV8iR$oB7~fs~#5XB@eP4PHc&9F^BdtXSo>fKv080>js3s7}0} zaK^*j8mHSCM=w=+4a>5o$DzvH8o-#{ZwxQF^exOyc;iTfH+O3-W$asG@E!SoSn70) z{+;i6k8F{jY=lgDNg7qdgqo_J)42e_pZ+&T(-QnI9eKl$w5dt|*-5C3rJ@th&JrF` zsgTlnC<}LLShS_006r#GISh*Gy&DQRjqYkt9R7Y^vZiKAH>p6Jlwi{4V)sfHgB z%20f_W1GXl%Np!(`F2%bPpYf8v(IsuNRc5CIc*)t_;u=Be`^RTcF;e@HW67aPt{Jl zpLpId7M1kaXnnqYv@pbS+w7KoJUiC>tY;#pS1K>4bChvUtg+*6#HLm=BcyY*;sOD* zSGkCHiMCgRtzJZs2e)PUx3X5t-9F0@YEoVMbXGZ*65-^WcNeket+%>|C=Txu%7AZfEHr&vn^2WNSg+whw!}$Kgsm7*u^lyCCmHuIrl6!gWx8 zZnBr-2JB9_f}iO*xFlwSFCX!;4kqf45epn?Ud1&N$g-*iPML7sU=$;8vlcS)+%`^r zzup!vNnx1g<)=`~GhM8r z%qm?h^~DOG!amE)u+CkZ)_mt>{I&0}F;2M8u(7)yPu?~v>-c^Ix&8gVI|%0$utiNh z7|Lr!eV1QRKj?J=>;cmwFIS30DHPOCq4`D=Kj9|khzPHD$eR83ag+@4|J*^$(JeuS zHGzLhJ@J7BJJ8zYvhKdrDnE7c&eAfq###`6_`y#xuV(;!jJx)aXu?Regf8U{AA=?; zqCQ}~5H3Kf>RTzU3F4rWC>`|G9b%j~u~wi>dW6V2=4hpG3~(iKI?a_($L1eo=`x(OuAj zHS?t$V2Xr%)oFphvemZ0xukjJt5HDt>1tgDJ5?qP@2>jT+}CRtY&*zNkv*ute7%cW zrR}UOlKR5RS{%@F$(h&>Sql&+5$kk53b?a+W?eUH>&o3VV`de(@{COS z+ge~bJd*#ogZF;xd$itxi~yJP<5IG&$fiqM*7d1~_M<`A1xgtj38^GG0~&AUh~2j2 z4mPK@#9b)&7WiV7HADHK>K=XXF~_{RJYikZ9vE}pgbKK%|I@8-N$-blC<$w)Md?e9 z^3w?9#F!<nwz=i4V z_xjEnJE-EaBE}R~Qyz6dRwY|qyP%$2#B{IyA(9!k-<*=Rt#I>Wc9|gx{}#8{e|S@N z8_D;#<+Kobpw?<;F0z;I_@x|r$;vf&jPevg=c{NxtJ3Sv%Tcq`;Xd&V)3V@cU3Zem zjd!b+cn%Hv+xS?}Whc`by@bx%N_{hvKijs_i}SMlDs0drD4$N+gn;l@M@{D>*4=#n zqa6HDH%nY|avf5q>33?LqltHPd+W!BDvb=`6%y{bi zA~?0Tk7mti>^7jv*VvFhtdITyb0nkzcm1UQM)~k5EjHlAb_rBxGvCPE{uR8#p(`TYxI8F zrDWu#??^F1W!<^38e(B@ZvP3!`kheAxTpvnvVmqMS)6t{m*wVku@>!ZS1`y}$>smA zIVUCLax#Uy-D^jY4@u?dcT&-IEh8a@+jBSnqe2n4b|D#`Fl#~l+p*tI6Xu0`UfgYU zFe9Fv35$_*35mUlcNL~2PPB)n$|~??qj54TPja;f6_oE{NB(C~V3`3))~2VV-kF3W zb}&z;a`&k}+8zRj;ZX(`#_&9=GC}xx>a{cOYFUnQkJwHZRn4VXv0z&8j(jk!urbqH_eY#;` zhOyuM+}tEX&=)J$u`gLBM`mIxQ!zPNo^+oz2P?vCB>HDHMRu&`DqWTmZM`0a%$nMHID&o? z#b5i$H1l`Bs)k(z)|!Qcy=t>DxY3;62EUq&XSz`urlrRlUlQDhC~ScbkxqqJB-hI# zA)a%t{Hg=CDq*nXprX2*SE2F%u{1;zo+krtJIktH?F!&+F)=D9aA`T&6IMrBuKS0a zU7jLYGb4%4EhwF0R8=c6WV~QzfsKx~t!0TaFSI0FHwqFh^r*OYC7zdQ(2mbcTBdH? z5GYhm^2t}ABT<&C7s0u&-3Ua(edN>h-?M%)-0Z4e#>uwA8vRO1g$kE)r79e0mggCw zI6!oyY>uje(q(`$jx15uHv}6fWC!=EQaVHAqBf(X6M`lmpUQNjqQJsXCeR9<{Hr** z_SD=hE3&+z#Ln0OK}WK_ddf^Rzl0ivcDEW(qkkT3w*=kcwtWjuMmxU(1xG=`)yz;N zl@t>3Ox;^Cz>n=*9IwQqq5ajJ>qwfq)~!KLSPqzqlFMiESA~2M>5QeK=x?#Rh3Pq_ z`+8c%u)A%=D$kq;E|p@-0K#du!D;ue3eC3|+OegvivF7+OJ6zq7&uP(P>RQ%2cTn9 zVBZ++=X63PN9tJ6km=w z!b|U#G<_TX zZBG4xqx<5TRBaN?Z4&m*65^4hli)sK_z7}7Q$m!{VcajT zBF;;dV0s3g3X9+}PIoHN<%(Em6%o}e>FEi>zK!t3L_=97nnB(=D{clw9g18hqSfUm zri$5E_tcAooR~MA#(MM5YNuLQuAu{|s zwO+OqbZ2{>J_z~St;GJjT~*pGUn&``CDRGW`RJme+x@8WB{ z&V#mi(f-~Ae)m<QWI^egdDqx0t=#5KKA$Ps*qRwWNm4^+ZQ^Cpqj-rG-(3(; zWI@9C$Gjg^rEi@k76K@+e;*B^=AfhyMw*gLX_`{B5>v&tP8n;%{Il? zHW%YIjKomz#)%dgKpm{ObOn9rrf4d-NuY|Q7*Pc$R1*w^=Q+SFbHBE@!)B>na-SL5 z6g32DIUzYE-IMN#77nF(l!kz&74tfz$sEK)K+}b71F}(|6w}S!Ed1xR&Z7LjMYVc_ zOR0%GQbk#skpxVds-HI7ruh|KvUdO~mttfR-l<2w@2vBlrO@CcN5(Oe@AN}ZDHf3z zRik&EtYmx-ZqzEy);0pPpcztus4d^r8HYa#ynV4@o6lk0WSQUgZ+oAxJLd+ag#NxI z3c=24=CD1xQ71gzlDe3-N9pqMLr!L;sy$%qOoN|b=y4h$SBEEhT_adGCuK`OL41bd{r7NlAifsTg$lC7of}C62kgeW!;>n<{$9a=lK5K zo_vuXO^xgd<3i<~U=`sjK5ti&dE+YHMr*CY0paZ$;{D%QZQ62ckdD%(v{B`N<^4bL z-jC>DW10*dDx2MWJNEh1H*+4LZv$MeznY8e@bDabF*k0-K3-0`zqs`?6n9i`uH~78 zVQFgd>S7*}Zjcw|Wl#hKx>$j_(qI)Q{ncbp;!d@Yi=+6X2^JPW9RdYbclo=4CoyMJ~Ul_LXR zFT>td_NEFh>)?8URcxQ#kS*c@0|cey7~Z_bStSq&=2R9vzx0`x+=cqv2e7Zc<(EJivYpcc7;ZOyLOPU(lN%*5MnI6x}}MR;Dvj#%&1g6&Y99E%J1l#6*(XZvQW5M zc@l2Rr^9Vv{1pbdFm^nDv8Fr$z<2#QZ3kqZY%p8F(zmP^-u6tr%7>#2J{Zaj$G=ZP zp}o2;d!1}`Cw6igvk9m#ZyUZRik+#vyzJb4%IXX-=(9U!zLMFl19|~Hp##dX$VAuJ z5J=~$3INqVp|hzx-F3m)yBhJICTQ?9T(R5?sst&k5m z9+)OR`~$zBb-U8o4A9V|o2N-y3=*&{(Xz(#+Tg2@2&;UP(2TVRQYk5MRYSjaSFp9( zT83T@i!ECWUtBNHww>LoQAcT2t0v#KTn0>`ww0-GTDDd$|Fo%9hI?o?vu1PpPWZ}F%9C#e8X_vWuf_8SlkMFP;0_nq?q+S8Sc z3_3FN7v#k#7EmkKkk8%14j=8PCV4b*T$AjgBlp=3G~&BC^wsvDJJ&j8-A1ZSlaLl{ z3KHi!#GlVQpX@WIrYb51r|Akr^*umEK+0jCY5OlSV|%KgI`E8PbNY(=8E>UYCUdrWX`H(FB%&qxhe!>b9*|0L$ts)k0KwdbZQ+sw+1|`E z<)KQ53aKu=nKDV7z~~)hX7nBcmijQb&_N9J#D9l^_k^jzdlODEk1Qc^4BV>ED{>~V z9LcFbDuWXjNc`3% zrxm5n()16BOv3~SMmJ3qV(AS%6m=wF#1F08{NhcVPz$Sm%!Et~>zQno==o?zUmG_8 z{G&Jn*x-T7pfHTI4MQ~G!4aS7S0~qRZ+DpInBIox=eN+KBbe*3KlPVjXT%#>oZvzkrk=N90Y65yH+!%S$1abJVxrY@hFzus})&zS$7UjWag z6q4$p9J2 zbVN*MSd>~`e@$Pkwz?y@y)AvY*j^f3+igF}cp2cVVy{H>*XGxbP2pPuzF!J^+Ups< zZ=a6$uAh!7h*m5@ry52KP`nKO8VJ_nx1OiR*V!{tUP$L!ZT} z|LtE48$2Y~t$q>+5S>k+91gPkihC9Srk6eSkdV~g5;QCBY5)pV@umd$+`7(RO%%zE zox=2GM6=0MVzcHpm5!5F9F9uKP|C-5*ugS*|AcW@02UsGEm;3maOc>4Nlz)v=GY<$qx8?}dIe0OOXxs%1UEVdhHZOC=8#501EuR)T- zJ|#K@MZ4V7tWvrku+;3PiWe;==M9_q8QI0ky}@=8?6@OaNZE3YL-tyht382i&@Xy^ z594dB>OapQtW3w&uraa+t zCZFMmm9_IyO!0Hnn79eBo)n;+BPCGB7;j-r)SvA%P%Ubv6W;?j75!M1L z7DP2R+C-*)Tqrj{0^A0k9K<%zAw3scRM*fL#Ax>3DNN;V)sIbsqu^3EQ<{!CQ}5{O zW75aiOm}%wX{;1G&stt!6nc}og}LmGS5g1`xzlhfSJUWO=v|Qr6F1ip;Wt`XyAF|< z!pYP#WCF%LN1V(zHFz$oS4eljKjpq~p3z-=D>98=L&>dYWG-jotuF$nOXffG#t$P> zIPqpjuz4a&s4Am(+FM5IXo4TO7w6Z~!OvgRpNEf$0a>_}I0gC)BYE(1M`Cf4))Q!j zLgtexNJ28d71?kE(;W*WdLjJuz^%|Hv!FfWmj^2ZjgFenx%>g20V6+PMaWo?%1tN0 zq+D)-I7T`Z@^Zo@Tn&h&m0FM3F#jr^aQtq?OaL}8_zFo8zvmmRZ@okv1$iZ`8a7B9 zjt`(vcae-Z4I2d1eERDI3h%68AW$U4PyJ-3evwm}my4I!h(4}b7N(qWC1pGTu+62O zX=DfV%UB1JcA?Y-6}D`8h8RXJ*0`@SNgYnPsRn$_TjQd;vKP30ibt^K{i{T(*_Td=E%v(4xrspiBE+ux&*~RXbskh^E&-p z@WER7Q^?3`x6&@Pekug(7XRD9RU~D2aQRADJ$Sy>0HWIWJ?{p;z*T@6?@^hxr=YZ3 ztOok+?P+x;x zB=4c^$&xK~b9T_7e90P)``05*d{SBURtHsn@qMMzbvpHfW_Rna*)Yar>XYbbb zS1235#urBI1H$X}&FKRUW##0M;z&f=Xt&f1>s3+B&=P~eciD5~s}zW-+H`&t8&m88 zIh#|K2idWSfxt(b!IT0HrS)%NEbD0bXMxI`vI>j=r~?uhsrS(Mv-&Pc!cz1Xvtmg$i*7 z`@%U6t!Q_Q4wmuLL)R{)(J@epsfm_zo~N?oZL|HmWl=c{^8-olO7q4(4xeO<`!()%4Y7nVk^f*qzLD8JZuohW`w_A){^=lvrfSuFgsPQ2o;7$^uAb`j;W!mG)j%g2rq*z} znd90zT?Fx~%nhE0@+L&Y`f}N|w?18Az2jddME`ooR$m>D_MJr4RzUYw4t{G4`<|e|9 z^)6++?gs~BljCS!ItOVdg`9}9iz(m|Ou_tr%)&mem~5Jf|67TSP$Un|qkxMv74z$= z7@H_-){aN}*fvTrjT{@tc3lt*(N6$88=x}f7AKf@JXNnhq$ zs97SsS)zG=Ft?OlzbS6kTvGc~R#c9asy)NBR=&#CA1oPXToQ=s9bkj?3$9WK8F ziPavWPBQb|RCQbd%;C~|gymesWV`f(gyk>#II^s_-VPCHUdi;W z?U#mAzkgirUVliuow@$8*dp9&3Fc;|TbY{kS_?+>ZSQWilLO7uq|wV&?dbfpRC+mS z6{t?Z`==36QmVGqx?u42mAlIybmFO`INB?Ox+d^#{p;)1V5O*^c4cS-gNb0yk&v6< zRg$jA*R+6vfeDcW9GIa3qNq^e4(Rir6#w60K^J~`W7hp`eX0z%urlCF4> zUM~$7*s2xMMZ_*6z>pk8qcrvB;pq7f!W9stE_0>V!_X9W8rX&jN#*rg&{TJ0_!5==Gy7TC1RuOnpz-v&z3uDyOxtRk1-sjkc_g;$)(ZTswHx2J_>qzO6ME zaJ|62Io3ASAV(Vv=X-v83NGSn?6pG!=T(2&PTPkkt0C=LRQ{exjAs@d!e~uH^3yzZ z?l9y|Od{6>qm-~R`Sh&b`E~PH>e1guI&$$(tIOincKn#W0Tr6i>%&eZBlv<2)Zb@5 zg~Y9}7!#=OIwwL z43DO$uJQM1?*LbSS6_vj2zHL7G;%)Dxi9>qR(r`$MWm*_jegrgw{fn_lCNRiVV4Gw z3^n8#=ITJ+d^Gry|a>o`0wPTMjnJVm4Iv+at$F;;n+2) z8W?+qX!>NC2y?`eHBuK9AV|5KAQ#3!I<-6H1_aTu8>=M$DduUOv7&* zzz5rBHg9{$V46_cL#--{`7F~J^$Ev@K-{L%fRLBOUm0M5CK+ph!ySf9v%&~wh}~~V zH!q{MO7*Z07H8cpv;c~Ku zUMa{x;|Kz z(?NEht~xVa47$0B7)3KMXK#0`=U+hN|Fdmu@oE(Jhc#U(ldecNNM?hsn+wrL^yRX_ zx%fQU`S~_3j}1p04*MeQFH3Z|&19=eqt2h-X@eq;OHxdxZCYBxW&>hnZA=}9i`jy+ z6lvr&Qtqv#HBx^ZGLWKebI>Dgr~|i|f?Y9U;7$+2tA1ZIq2I22CXQGU^Gr+mj+I~G zXt6J2fw0K}rEZ$Nh3HX>zqiy3elu+`(%;1E$)V+s`;!VJyXPIy zLj>p}5b=^;U%3*LF$BWif!6_`B&!=fIBz zgIxAG<>fE%pwb(e5rMT(wiJw;8aPH%>0Mwo3o4>A zQj8n?Yo8eOk5I}P4ug+_tIE|@j;G^%!3UwG?Zs#DQA z@A7(oGw>h?-0+{bY)k0T{+4>0enb#xIUCaFHqg}+Z-zc3aP`H7N9z!#gI9hp7*w32 z*2YtLfNmaJVwp!kkL&$Ty?;&gy1zSm{&u>x`{D!ghS<&3?{t2-D9ruNf0xwliu@Pr z)3f195MFve+nUOAr}X^r=dF7^J2AFHz{$Y7VEuCDj26WuxL~aGMnr!}YsOmhpK5^J z&12;%!xi4A%hwZz?UxzFjq1+UdUdbZHPPy`er@ijO>6jB^s@VFDvj^j>hmgty?ub) zmrM0cBe&pm=g{@KRUx02eSB%NQ>0tin{S2*6lZ5A!N`r>H{k2nGPi*`YePqnG6R3d zyAf@==+)Is?Rke@PHwK3nl3$cHx3M#vtlE zo+sSPL9BRaomcc^PSa=Y8C-WF*g83a@2b-<~19#+qGw#K;q-Sj%|YlX3t)!cAm?l21I4a0l1?7<6L_4e|c>A`cO zMm-~!X{^&#sK9Y6f4Q%_3(XIQv7`fz=7qOOk)mOg6jKzy+B6PP9a_DnSmc5w5ohv? zb_=2aVVZNT<~V`XG;_b6jg*AW2faIDlxk8XSNU& z&zy8(3xQZ*?Cpm61-QV)beMolEzUTmuXDC@4ufUTvfwAFa{zEj(x z$`t%PBYC-hUBBS*vhS|^bK6f}{x*m(t1qVar;a8LWcK_0ja*meE$`RX&YBL!lfVu} z2bDeMME%VG5|~opqRN^!LGth1gK{r4<<(>eqGY#RrgiBKeQ$7 zZjYqh**Seq&vX|X4=`)pU?sO%G{LM74=)yZT)Cb*?Br5+=i@}H@Y8Ds+&=i7p>?iz zOf#QB>VU%`>Dr(<>evVd3{U^|UZ`|x^{V^z3KtgazjS*hnD`lV4ImUj67ah5a}o#4 zJ|&<>YyXrTW!PSxa_k9zpJbUks@@t<{*7$I?aj&AC9pFNqZ%J`qFPm^q?j3r#9x>2agqi**@AZNhd??vwp%*y zCh3uVgkp_sHn=BN=F^>l`Zl!R?i=9DZ||FVc%C=b>xDuBmY(l-;oKasdReLef?dZ) z(#{$c`ii742R_CH5~?!Bo^2cYMZk4nDE_oZ@Rr!XNrv|!R*B|CZazejC+!a%_*v7+d^FDh($MMfl_vnn7)!-AQ-iRH)^c!~3zqe(y{MrrW9Cl5G^oCYwJIlEC@b-!asnEs zzd1Va>N^9_$dWmh>wRkYg}Fs_E*M2;>#lJ@xsE)L@e)LuDn_es8W9gO%s9<2O*AM_ zz*+tS5V^RCCZgEQ@yQCZKKxO+*WdA4xb>Olc~10!p_Y3hOzO-Asl{w!yZh1z8&gEc z;T;2u;d$`#5{>0j=Du-OW=D9dn+>hKPO8zX{ol(>Nc=ebMa3Y@)}JOrJ3Sa_Kr4f<0!h>zreje=h<*LCNKwbZ&>L`or2cC zBsF8#7K9`abm&%>WWsj;o)dB%$I+IDazy{fx>|CDU)>G~aCP=&MK!stR>@0dEY ztMAoN@O1H655Mqz134aTj}h(Zs=#r_oP$Ij(1N9=$5T?IM6 z{(aRdQ++{3JkP+JHRZAUsy#cqKl6e_hO^O~8rxUcw2T$&t)Zf|=8(xRU%_jOhis$6 z-4DFs%NYwGU2%VL3CU6$;EY1w{B2b6r{AM<008ABm7Q|pdgruHbZ(@7e{=Zwe&HYV z$nDzhnWXecm1q3w>Jny|L4)6~*{t8cQzj~0q0f2eWgnItk1Ubt>QAqqV^jXhJa;j3 zvAMd^EB^ag)6_XFVF{A(@B+bE6Roc9efb7 z-!P*Y9arjzX-nJxwPKpXR5E{4u+A2GeAsng#;CAx@aQ!J<zmQ~bq9jKmcs#6yVX2npm>rf(c&%uF1sDH5kH@kB&i$vWefixi>``oUs7Q4@DkC}o->9kW5 zUlCgFRgPB$tvMTCBZIv?OYZOVfRFB6>SwRlR{0P^tQASfPrUI8#V#!w;TFyG5Cl)i zfJ`asy3r@Fju9t%PXMEd5d_b1Ya_&~qR5>u8EbbT5T@|uwxu7Ph6KnaMP8wd>d;4= zOL{w1eiAQq$&U!_Nb6z5po0emtxsy5Pp$yF;0Vo9O>iFs^|HPn6Hu`s^GhTo5F*k0 zy55@v$g&g%CaMsI+J0i0L3Fp~Cs{Gws}~#?ZJ!!*^rIS#V2ZIjit=x*o6haR!m8Pl zWP$q^tN0y_+CNi8y6@+i<$1Yrz`t@95dj~J1eqg-i)dX{x`R`H;rxKtN7@~d{v!xR zitzpepZ}Zn?ujAo!z1(0FwHmKF`O0H$MD^g&|91hkhLO)F?k3GcpUE?h6eV%wujvh z=O5G71IAUTM0)-0-`VQQ@M?!SFV_b0#W?)ZNU_xe4Z zvPE+A@*R9zIfFy0{kWTiW26x}XFBPwY*(EyYL$xJk+B`M`~Bx1siSXi5o*BGzwFg_ z72|++%PS6Z#moS=oj*^V&X86`ET!4l&42u`u1CjsgT)DNJ~k&8>BcL$dhxl=r$1TK z_tuEj$J%oV7gGTpAxPbkE`F@NXxJyJm|GcbtC%l%KGgvHOE19JD;k&i4}qcgS=W zdV;r!bugcbt=BC{DI8|6#plV}Un85cH9Dt)<_C#Mc}CKu`aPy&n*ZsPo0N(+3$o>u zpV{C^{c!v?-Y%_ob!r0Y8rI_vfhjEUSNNGi!vbbEZNwuco@znuO)Og8jnadAnt4V)JmB|C#zbl#K_5j0fa z!GxDV=|R8^CwJjCR_)}J4gFn{H&^VeMeU^U%8vchTDrK%LJJ%Ne~ z2c2(AuKLqo%hcuC>Lh@i4t3ChnSm%I3lBs~7@Vws82t6P>8|5e6f1km<4$JtHuhwWG;Bl}5B{Z9{z$@T5`|%-tY>=7qHTL0|#?p7*eT94^=(8SAip8UVBi}k$|kA+i;Rsy}%DV+QGnQJR>z2eZJ zro3y?;-<>Fdm6&N#pU+bbJl4&@U(6ug&rFoAl>TtMx~uxzt_{}4$L%6<{#v9JmZBj z$3I>k58(2){6i!CbK0zr4lk9`vfL_}9RUyEzE&%QaycfXFOCqJc=;xz7M z_cp5EoCwrv!uk?*FCdeSQ@s)X9iM)Xo41(49C^Eh2(uEE&J$7OzC^^zAM&x(JtTg_ zU*AUlG^QJfFplqpl9R0G{pzJ}Ift{r=@HtpO(u94k(qLuCB1r>7P7!nBFS+bX?_gG zvo&Dp(_bO-n-#FA3_k5o+@K)H-dfYam21~Bx|yJmtLMGkz?FM6;s4PfTS>#$ijsuH zU)9JiYYOl29xb+@7Ae+(lEg}`8R~bu{MJ;|8vJFMQ}-(Tdu3XGli0Vx0h1_~EnbI) z0scM4W>#HxhI65(=zji5pHo!)PlxiaP-X18R+;y1ny{M*ZWe1MFs&;I=%xM9+eu>P zA-N;-&v{|pNqOr0o9C12u;jHa!;wJft>_;p4P`&VOffdk!KDwmB~LXu@wpsG0xP+M zqZ{!|*969EZ07QhcEjP1GrbtUv1Kx&rAcebT_goPi64 zAs;tq`ID7_iTWO9wJON(R604F*K2cV=YGM9YUJVtjb?{`2Y)_*#~8>IC>2#@p!T-pN6aUk#;4lupZR*7GJOtZ-H}dU?Cm*IJ5pf zW*iZVu7{CEaJuoX?=H>PR&Lz+eX9AVx0^II8Rf|iZYtS&pUu*gF`gDO4}e}6sp zUg3@m|9)H>e_n!Q}s|t#~RK4gFYE2l7R|{^>nNdt!?Nx^>^a@HEo<_H?rtLh@T*H~R;56AF=}D$V<+lfz3#?Rin++c)bq>GHCPOHC=9^v;)8A&p`J4BPMmZ0(kc8+{{&& zUgodW{N@1PI{gI$js(mebc}t1nd<69bU0Qs^y0Rs^97nGsme6x)P3dozllUw3V%P( za_6#59jWBohIjRE?((Da*X&Cqx$Xll-4`cQN%M-E8LAw!6;bLj;~5<0_-BKw-b%B2 z$IlG%t9|9luW^xodUyQvH)sf?+S&d7J$JIil(|YqSpIt7**Osq@Y6S7J}p_I>F*t4 z8ml;y;$pn+VThupK8!7kFK9S(fZn^XuqT*jz z-j2v*R)n^@mZ-V9T+8ct-3tDCYMJv@h^!%cgtsmC-H+|CkkL9ND8CT~~ zmwmo}7Cl=iZK0n92g1;X{ej;xxo3_2o{lWpmMMftu$4CXYHp4v6x+Hx*wv+^bT@s2 z%f9&HPp?7kUOo!JvfFxPSS=}#if>6?nvGMoBYj3x5`pD8D>a|PD)d(sj}KBbnPZt; zp9G)hsthpgeYUUe$xd;rol(Xii+#AZdADZkQ#(r!PK5>+x7HZUaOjqgI@x@p3&k&Y z;+sWJF8um&rL*&+6sy>fr7J44{o1*7)MStq#Rd0fe6vXiZnaw2-BL%9)poqvH;{&AgTdS}_hz%UU`LTm<8vCa9II^swI}cGLr<__(wN zp%`b+|I$C}^49&W2>HosS(cq9(A>1TH&k*lkfI!7EUyVU#{KYnVm_E7mxR!#Ci(P~ zPN&U3gCICTxaDyWhLX}?xLTld#ZCP@n=2Mw!edbdentlFYIl+6XNJOeBMn#shPIa( zT8c2EUmWBXIkJ;Ms&@3}c&MSao3CD!Zs3hbrw)J9Uwu=$eCTy0$wE)KTe_DPg9bLt zJ^?q28H6tEZwBRar6LF#P&?DnE7}9sNq~WT|0nYu+Ir(nvyr}aI;jY?4>xNJ)aKmF zx6*3zTr>Z(&z*#$YnSa!}={WtQF=-qu!CR9!Q&bt;&Bcr5Ki_>11oWIJvikRlsD-^zhxL_-eXAjeF z!BU+GM@DN(DDyCNqFhHj|LpsKv|?8~r!ZW;qTlbjyzUf(HzW*l@U?y>?MF(|% zXtP}-HGQOo^0ESaz6dR`N0G98XMCr>CBoi_oYrxbq8`n<8$!RdkoUWekcWvIGDlo0 zHRxQ%`r(XK#ry1eU3Cd6Lg^WDN?hU$cN%(EavG{9f*2By06r6=&AeZPkxg@((4Gn; z>A6F_vMi6hdc6qUa@M37G=(Jm<T3cXkmne@cc{scin{ucU-nCod>F>qod!TL7O5)fxi*aaZD`h}5G^^hQh9K58 zv6v3q?j#Lc6|+HjWO<_5C?VM%X4&|V@+&(dcFkx;2tGm8Z9j7=ZwVFc2U#bIb3IxC0LI_HNudtldr+^LvpYj z>7n+12mWoSN=4TYzL7tom2#eWTxqBP<`)aku4rSF!~`&<03?ABu8v%aKf#)UGbevd z{s|csw8ctmp|v!>Pyj?ZwlVO_-KJP5^_%_~%_3idSwpGXNO) z^@}S4x)OP69-u%2od){M&_#F(ncvEpMs|3^7H;)N6g6b2HoysA6U~dvQ-rYONi-9M z|2r*UEU$wavdM(JL$$ON#fc`}Ujr9r-QQPxG8|rG&Uo$peSUHH96BYGikdu6fL`L8 zWs@|AK#1}+d|^#FPhsXuMjr{y73(cq4N@a|iYc9snl1)-S?9v zEX`*d;f?|%fQ2=uQVt&oV4HCV*9Q+sMbF6&q69ox&b-WtVUDP7(2yHb`)6xfWcD+l z3k%E&{`_%}aJtH^^~qkS;a7{=Sj;ai1}m5dpfYY%5EcsOa;bEO=l(UCRxZ=fx%fv` zP!p8;f{Q?GCH)ZHG`5>7G+48WSP*FXgvFume#_xrcZf`bugJ(cylZ17mV(^p5p-fA z>sI@EGWTooh8n(uKA;It=TIfO@IXq4_Qte*uisL@?PR+RPhBOEap8&Pn|0j-Rme7g zI-9k)Oa~raU`h6cmjX}`q|!|Tg4%aEAhD4xL=8Lk|Mi9Y2_9hiFoRKs0ZucO*=J>3 z`d&CvnOXQXn`+Q9DIhs|C(UAhFZ`!Dd&MtAf?9d#S65pwKZUuLZRV$R?c`-F1~NPp zmhohNM4=FU+u9J$NQrtyr*q}0b$6h=9bEsPjBkQaMV*A5jmhwdR*JdW@Bqi@PvlN{ zkvkEaMtX^?Bgy?wPX6BePo(52&^{F^PUGM|G;HmP3y$iQn@OKgaSE+6kS&bKi!E(+ z5a96Oy3k1&V+P$jy0Yr-+{m*?n5zxg`Ueq;cg?IQoLgWk=jB4 z)nXG99q&`2C@8X633?!_%Y}LmcZ^T+9|2;_QxLsyfx|FVS~&o!Fk@8G#t5cF#r-wP zl(b}5Ez`R_5$ar2&SAn7qt3S9j|%{jn;^11<**GXyPU1@pyb%952Ek7q^rff7y0=6 z_Eq_sY=dGfp>w-FD4nvFBk_m2oKr}-Tgn`i zqXLw+5g2yq=AL2ixQCw->wiqK|HpI?V%iMsIJ4dJCb~FWj~WmVNpeSRW$!C!OH>6H zgrbpSD2ju*fR*SraiWYMZOVoT$-OosU#QW$U7_03j*EMD`7eyq%!L+62hr-`fC7)g z3J-kr^445!)?E3(_P64aa#kUB*)7sJf)A|9nihgetbwn=8|iyQe*6 zonw9u3{vZcBfioa!0IrU>5q^verrIZ32mZO#>8p3i=`?klcL>qRuBxn9U~+i_H;){ zFcn-Gsuq-O$2~i@QM?``74II65>?;GLoeR#fLlDTt6|zb-heF<{0f@T^a4X3G*B{z zqV&ob9ZhjYY~6P@#SvBlNIGl31e#C1f8FB!(^=I22%gdZ{j68IAYHeZTrA-CJeaKm z5j2EpUp=!5baYf$F!wBjvRREB^vN0%I{y9nC0LCZ%bbTB#JXp7%WO=o{OtbC_Q5wg zdHIh*{p(8z!I^aD8rxNZzz4vNb5kk*=dh7SgVcH>3v}EcFI~? z2^#hC-Oktf5QVt(_X;@(J}JgBdi*x!y*PW3dlH!^6BUf6^zH=-~x5A7hoS4H8~p`n`}sK zM1v7^@fB*Tq#FJumD!wHZzW{}U?P_;d!wog^}P+*puj1opi=d8Eg~2YN4Lw_XGDNf zEb6?I($GPXAyJJ(?(l#khK|b=$v~Sr&A1#2QDUJIDqK9&BRi_!(174}FDAO_IX)2h zzA5Pu6UvO%%`8V66sgWP;~fVOOcV3b6`~0gHRutm_R1pRY?o6vrXg`m>f200&LKF# zOAdn78MDzMT*6O>O_j2!VPHx=Tp+aQVnAupTAgM*V{c_O16R3mgfyjbKsSU=6&PW@ zB2$tdClgZ$vXKadnWMBlqKH>_Rd;Kf{Y9; zFEko~N?_(rjr@=@j0QTzf@OsNSK+nmW|RiPQ4-+3sXw-%OaZ|Cr=Xtz6#4s6mWlu! zoHaSd7qJ@!cI4hyUaXS$J#&zgS1P=$SmGnq+7dVkkdu4s6Bg2kc@s@X`PD9K@Gq(V^AGf(b-zGoWl3IV!B=$cJ$qkl{%p zaH+?2a}e!qm-d&~cl)BQIAa}LZ3uQtqoMy?C_^u|fu>wBdw4+^lon~|Z6npXF*Es+ zkCk^8Qxy0J<7X z`h)k7)@DNZ2>9A@>EzwPB>`ggv&JShxTUUalAD+>XOaIGcw}WC9V4dv68nj@sc)=E zw62^_n1nQkw?k}*mJ}ty$%BwrM&>*)74Hm+E4LBo-xxsn9YLA~Khwk_`a8XJ8Gfdz zMfi6D=_CA1bBp-zFw(gAde~!HLuRre@bs;4)q5D7@sDni#|mAZ)ZC^x24tkIg2wwK zl3P=rpx@uQ1fy?H2uTM$9Z(X?1$)A2S@Uf6mtDPt84viTuw;?ZR-4Q*wdIv>Ofuhj zQBb=@fG=KkgpulKa1$kp{~s`9K>0f()||aZnuayA&!R|98_wfTSJ_Pk`+RbYO8YbA zh8vtNK@_^G8f}pyih54FN>|gLX90yQrsSDLIrnN9Y zZwYl-R5MnAk%d9{%0T~AG8Ze_Nyo@;w>-Hytz}oecy?&}A2%S5HPIwmr}9+=5gMUo z(i^Hc95uwlm^y}EE+Xius8E0QgyNTfC}^}ZXWmm8uS)@o!WW1AU~PKzNO%(c^L7tW zyZ|?xT~|t$$owH~+h3}*{I^5eOtjU-A6@M7kaXwCRl-{4;$xRcAFdg^Lv!|39Rt_F zUb<||KB16c-2V=%<`7s7g21W|@+F(5X~obSlmt%r8BpI*HsaGPdijz8^_^8wThh(@ z5e%k*)YJiqmqdacoIOd{`_M?1xxwp}z#`IzkzF-+lFzntLL$ zlSgR3Yz%}2s5y+Ntr~EVvi=Fw@J!V!0%hRIGzTJ}^Kc}0LALqLFC5@3&nhLLX!XGa zwJ6#3%#4Q;fM9U&xQbTPA-o_8x#ANa)oJ*<0A&!zZ^KIbhLaHf!R(DDBKKVi{#ukz zxsfg|T;ceaSWFUcxCr%&9Cg3H6OretBVNP3HQlYqF}uJHB_?V50|Tp&T&+a678Mt$ zMK56F)1Tr zoOULWTWXfZp|kY-1IT^!)Ka)e^biW~wu1**4#}lCu?>FHC7w=n?;dqFu@W^BYfy%d z2e_uJXb+}tgV4!&G3CcQ9XL3hmZwys3x&dG%#+g*p+Gdr88r!wVn$Y=#Kzy=nfFZR zpexo@)GzOkIF%_`1;i4sG0ErpKM?C&<~iZ3STzgB!U8qpF!qK)kurNEg1ZbgI{*gd zWg5F(NMZ&HE@efVc))$-1}lOhhBX~Yp+*AWUi)tBArer)E+)%^35x6wOJO`l2M~_& zF4{){+}h3?iz3afXW~2A3@4-gYIDXig=au zpkG~7iACE}6~2CA0*I><2}5TU2a~Pw$vvy4V9M1*Z>~Vm5RuNW78`@nK$g&RcS78} z?luyuXYLat9XoFFB_*Cl+mo=G7P6kgQHp)G-o^J8oF-V7UpW#@62~SBg_ z(`@*i3YeFA$xsOfjD-XP)$yRdb4T4U$TiEAIw&;pZioJ~PN^=bm_qzM97I@Yg4w_&X-*8N!VN5;v z3Gs4J3aWmJ5wt^zrYUMGjSNgG9w(lUj&(JEn&N##Kf(ZbWl(h;qeAVo+8Xk(f+Eek zO(|31(O2_=H{&V#h&`<;Tj0?n?)!_{Z>pe?%*ek06sKlT38v zl9U+8yGD>1)f&o9vq%^q8ER|8W zVFE|7h7boEr`oW8s;a`oY`MZ@iyEFLm=S&@h!H-#QC&>0aRTR)ZYiRbb{t|=v{s#o zRVrhK-ZDOe-3tO&!JnFeazW8^qqdQR$jSm0m1z$6vc4i0TFAQOrhGm~0W zahOXPnztGh*i)l;3|3MG4)sjYZll1XAM1x;Bc@}FX3ndIPeP7b(83`{&P<>#gnElk z$N0h})1X4Bc2Uu>Jo>9HwSk71MhfUa1ss7yaeyyHjP-P&KqKgA@xV2>;39OelWFLN zW0G%rrCGM-oTWOQ8JH1P6>SOt`l%Q#gS?ak#Y4ye=x5P@wuF7G>a%Wt;I`*m)JSwE zE)7^?q4Hl%UL5X-Y-8;M%70IgYZe2G<`D4-_x%)sDw=NUe-Hu=-8=Sjg+krGiK2E( z02M8VU)<(^^;*9bu7dZB4d{=#0nTCVS_2zjgn!4SP9_c z$0U_-K~-bHyOGFmB%Iv9AudT92T&xfR$(JY0U{TIvs<{{%|WvKVEi;MVq^-%JMST} zf)l3UKzAvC?#S38x{!hc5D^Hsy9tt7VjHhNCrHFh4+My zvgPRxV&Sv!PZDgHLohI^5K%%4>hpzzEFmi4@Eig3s9CWGD4!IBFD#THf>RFnKMrO7 zOH#V7nG_S~d(&)AAtppJt*Q#OBOoHZ2=mGPg+80v0&Y=|7I+dmeWd6o0gEkkJ7wX1 zOQQh(lsr=yqiqdxFaY-1K_nr%B#fzi{GnewiLZn{jRy-XBIAeUH4-nHnJS)ZycsH^ z6+xXG?iX|uen<^nwS?$y<}-5xNk{(!H?C7@CT(VNbN@9O@Es^WGvN>QN zSs|z5Im=%a=x{52{xj4kI(Frc4N?46E=?xhsK&{)u{H=a75U-ds48lY)>wwXnsKd~x*q!Zoeh_@GEEA_<=;y+_yd*&%8v;8^<-4d)DjwP?r_miOS#vnQU{j1`&C2eMg4Rt8(Cp4%P_7itPtnUwd|x6`)jQ@9ds-ZvMfPz zd$_deze4G=EU6Gj+C!j&rs}1j4hO7+G)gv0M|Mie+T|~MGP9YkBEC+U0d0z^EzlzS z_*NzOLlpr^-%>9?7%ptc*lj)D3mZ*;JF3?BA8D<}KNSmDDG-?2eQcE-mfGlouWEgP5CJ^@zhIMoq>Dw<#ju{!LNfrIt=RJTsD81&$|K{=(hiS@ z)YMRI@jKfhD!r1$A!)d-F?Al3J;vlg=S#o{wPoF$@k;whV(<{u!B6o!2{B#mlT4+$ zS~}w3P8q^62$)IHwn?88t|DM-ypp8;Mb2S0$P#e}Kmr#IuTi~gpQjxp z*5Mh_Kz`u9(#f27hmVpf6_2mrvd?f)LNf8qQXK7e$brLJzaKJNL>8Z{S3agT^QHcL z+4=ainXmP`2QsZC>mI+ZX!y;;GBBNfcaOGTg#KgvMkPJ~@o)2}2=zzhndWN9LsUkA zfXc+cMbRohDQAL}1*)~cy{=aXPeGYMLSX(6IBSdG|Dk|p|D}Ld|3d-!{)Ykv{g(oE zjE)IOU$Hd}jbTzM#MZDj4UAQZ8d)%-v;E4&!qiqb9LK=isZ@LL%tmjBb|4|;`dknD zcdLQpzv3-Kiv5pxi~S$*mX&?*zwC614Z===lt{5#<_Dyd&-i*~7E#}+rM2<(Of9s) zIvwLt`0!ngl(aJ*U739SrvS@P`QXJSubO=>?u0C68t9LiHKFo?UsObwXRuwF9Y> z&k+V`!`Dcg-~j6}Jj1|tAT{y_E^%Y>F-V0!_$q1DQy z{h?_z=Mw4wg=o&8eANg7)V^HhDUJtx!HUygiDIMDjr_0Gn~TiOiO|I((=R5pI&y`y zzhco^CNF?}6|M$C8QWTR#mQ$lHY|k8kFjZ%L0rbARwDHF;su}2(D9ijgHhd5Kb@vD z1%6f2wpg;MpF6Hga?M*Z3i_&t%W9W`^Yd1#={b1iLyfsI{CLIs>~A)y;`>@@?4LBLV)tsR>ra@TKXtd*^4H=^QTRixtSL_b=A?@E z>$p~aRp!kQb{K7INyZlvOTdI9 zLWpt8Cyxk|ouDV`XZ;>?y}UeO1EOrh{6d=zODx`TLv$HXPSVZ(a4rH!5;or2w6 z68){T!f#=s?%}hBlmQL(hB2TFV~k|sSXt6Q_7!dtn3&zA=q)1vASU?$6XOnYOuz-w1~qh5 zGrm2XCtA+A(H@G}OYo8PsYYIU+5bb`4`~}Mc32uA)Lq}7FfIQf>Aii3eNtudF8Q;+ z8_u7qfAMAuPN>$QJ}kki4AVK0pq@eP1!TEr^HV@017NKDYxf>{SPH;3LGsaQ0Q>&) z#C+f21p<0VWyYmt0^oKZ%mt~B&KjOW19s^-;*t2h{GC7^BHTc_Ye=DM1N^c~AZap6 zhN2my-`rQG>5u@2wuv}H0hCA9Y`tq5AtMlar4?d^0geZWHS*oc1HZMmqvAbx+7o5# z1|uTlu=xLmtz^RgA#YiW0O^Unyxn^)aFzP?SIAmeN2Eaos1mxy1MGNsjy%2o~lP|!E*Kq+kmpzHC?n{pddNYSI48=Xf_q53cF{a&_}dX>&Gqni3@dp0i^WLXw2oq(f3xoqDlDk}|ocJ_EeYEOtR} z^^$%@@HgRbWQ{s6Q$GPUWbNbd*Eo!}ax6NP zr95(->6J`8m2ne{{bGse`2?2Hx0yHg**RMAvml~=%n%%tsDAyXA-rtvP5k`KX=L49 z)U=q1vLE@5v9qDt8&ph&rC-;m96y&mZBW%h{Gr>-j=~@q?ps4mr@!wG$Db7C5;~*` zcg(4=f1=cOjc|`xTa6~^S@=n)rR)CiS%0Ee=Q+cuxo3D3tO>0#Xt>~NV-x21b~#ma zQPESOP_p^%U>;~yIBH?Cp4N=nuT%H+{X-*Pn&Mq z;wwy^NnCB_Et>-fF?_PO%f|?cwq*ix4CAN?zGA-)|i^nrQQNX z-9$}KqH(lkrmDdw#l2$%-zRi<;f{{!;camW;C*Y$jnsYTS!-fz{ua6mL&kF6Xr(&g zt!NKc`%|%|zGm*&<^XBwV%`dj7cI16k=;bfx^87oyxF_2tijCvH4uj=u*Yyy^umTw z3B#75)ha7ZUKH`uSwl;Z3<6S~#W1XPs1j#wTjYS5t%oDD41Hx&kTI?OB^Z5nwwP}z$+s2JY$f7w&pv*R_Uo*SE*n(*aJa6&r zGG@_S6IHg{dm+rRR$L;){RiF@`kUe+C-jf)-Y3qPpW}6mw#ydJV_8zQzzGy{Vx#1% znnS6hc(qDYnr(<)p{{aN`Gy=hif)(a>Lvoc&lj|U`E-C8IGh6`kBSN9xrIlD9V$Qz zsF8XzBH||(jfE{M4lLLKMcQNVGsNi)W2N_Skl^yvNnO~Ghe!jbve(1K2Oy!<2*fQE zR0W(_M;fmBO)F8u824xlMT}L7&nsb*eC51O8F*dj(9TEbpE?K;QraO#qB@s~PZnEGVJy zK#4tSQuBm{YtNFwIa$*`GkSxH#8Kg?#EJ|VsToe9??PfwYb&G(tjHlK#^Xg}7XXg`~WRP7`C+D|L`9me*SuRyIJNEJ^;|J9?*fSse% zf1jtTSF*n8+8cGRbWu7PJ^taozUkzy|M1KH_V?P(sClJpQU89U^~j^$Yx;V#Yw>!c z>*?9i=(&@VrD0Tq;gEmz{FN&V|9L}+SiQ%UTQ!d?1S9!^ykx0YM@U>6d6@n{Rn2=B z9eJX>C!`nOReA*P@6XrWaxzKZ3e`Kl1-(qt1r}BcY>QfRy9^7(nv-j$%Op{+D{wff zl?LRJhJ(`4Q<4GLB=(^UBQcGI`?F1`ZWmg8@;}DKVka>HtBqpFpuj&P+I}R2k;0_|gq$y`mM_cLEE$P9iHZB7iQff_X(QxA^Sm>Kv(d zq7I;ID(%cu1p&}Z+EW@%Q~;b{(ZY`W(4;R68LHd=7m_!u$y&GpuVNzD7`|%W<&UCb zCfE^P&T2Guj?t2E0~^azvu7JyzIr1a%Tu>U5R3Qc7&({KeLyt^;wzJc{{-rnuaU~s zf%n2GZmH3fn5ZUA<@MT?MLlF9h|Q+?d4@Z!Q|uAG&`+a4K^HE?Yiv!E-|!NyVnILE z{8m(AvklJ~G=hU(e;Hdtp|s#`%}UD9&vV1v!MzHFt#C&+LbIyM->oCTgKnHN@Uz3i z2{GT_3<;L4-fa^X!9;B4JNNW;D_y;<^)};Mc18U}3-g?5QST5N{uDjdu_wLoB^bcg z+-^=OD4hggGu|4L;<>_=J1&Tv;^3fX0RtaLPwzfB$aWv77M;I#MDoemyrdG~(RIY0 zQMNeerjkwV?f=`m{G84CBaW-Tm;Ixmj=9Mwraix<{ZXAi31s)hRwX#m#a3??rW1i?gB=UppR(`O$ z)r5c|HV~kf)*ONwLjN<0x5|!?~ukmuda;p5U;IY;34-W>PVA#ktw?U z4%@;0(K3i}ooe)gZVZ7%YSabG6+Wy8?N=0^Z)>9LFhQx-E@bF$XNdim6IRWVZYOe})brI9RXddo z3lApbpEUNiFSE#Tf7RVRkz{KAWE`DP3l8#BVeLfVZ^vaL0M!JtN%9x3$M2=7 z%1n)K%EPnRV3CB(ur_p#(2{NBns4q;G2vbon@N}Kqx?9}mcFHw6`oMCw9EAK%5dnN z&qRuAQgZ3_vy7fGn1$P3NJv`&5J~t`cHnwSl<4Uqmj#Gg+^?I4spEgK_07?7c3<1c zL=)R+Y}<_+qp>Hpoiw)9*ftv5Xl&bRV>d~^d7c;R_pbH*F|*G6ao_uz!+l-*oU>87 z?x=00H|bq59mo5yg~%lyGt^}Z;tSsM^k z^O5rVf6njm*z%sK2nGD^KlkYm%L`MBkBbGDG=g6jy*XPnb`ZG*WedDr*UNh-Hdv|J zesM#ksp$pO!-TKkUG4!=k1r_0efNm*L;R?94UlTv z7$7wtw5cQ7rJ>)L5y&Ygfa&j3wfOAl=>01`sLakPtW<~fEUD25>A$7n9ZSgpSs3|P zrO=k2W0=5+*BD!V#w-|?5GZnGTk|bBS01R1Rz#{|mf2@_I9VTqTSK61|GUT`LHOb6 zair8x@PGYfkaLJ=-&+2H{pxwO7ZUn3tiJbP*n$4gSTN zAI%;5^`Qm!u{BG-gP2gU>EMsTUjh9A{$m~M7FvM7YN;2v53wL{dQu_1( z48p_JX1;BbwG7x5q*Q<;=A;-}y81H!ydztd1}eXCZ^c+@N3$x zcNRpQs~XEipVen$LEu=|3^KtKqYH(H)Ip_&_Ov%CXE(`RmeuETJ6i0k2vnsglTuUw zH!irx#j0|E8+VJZ**;m5T^?AHOhbUe;WjQ|65(WYKFkgc+fp=P-*(Oa75`H=rkVG0rFC{>(Zvl6#E8xhid& z%(1h#6q_|ezZGv8cP-E807|`OSQ=#uzp+h+% zd9GJHBN=9cp_eSg(dLr)8Mo%7u#ZcomM#~6zTHv)_sB&B*SQi4xlX#-6P~O)gcZ$M zmgxeaeJMrBpc(2jv06wYLQ07i1wT~{p`c7J>@_Wmtv(Ju;pRBd^DAizYZChPyG6X_ z(@Qag8fS(AF#5Z0Tb&|8fWNmL{dFMyOxsL(O!$8Zn}VT7ZtL&1kT)ewz{!PbQwUC;$%ApDh1R2KX4wVhKmQX^+)+ zd}}U*HY+57#iOX2#`EfxoQr*>cQGbO_8r^2hedI{zJrw*gfbF-UB@}R8@)7F=JjdG z7rjLV+7ipv%xG(M=RwFTvay=YHv(O9sJ)bwKVIUs0j!o4@Rwa=nh@RbUUPlh%W8|; zh-&{+ccoz$oc(M;HJ`p}T*mB9i@mj5hU#tLzU?WRfOE^A6#mxxJ|p>O)_M@~rLut* zpRU0W7x$)8@|6E;jjq8vT_|5bAEdfEnx%81IbC02dfOK)XTE~p zo)^6gwxy-2B3Sg_jXx(G@o9OA{g9TlGkE%s&Ye~NXv}K2^wxun&tzI1v=!lZa=srN z0Orxf#OH8yM?RdAP<=`AMP=r!upH!B?gdO}k}V!bQ@9ikp#sC$+jv+kBiz8J$6&?$=B$OLWkSv^dt=eZ) z)rqQE2KdX^6fhXrluthFB`do7cOGgv88N{r7BGeWdRDa=i>$zokrZy9gdC)KvzT(p z4$QYU9NWyq*(?vK!aH57myGp9(akl$&YFyj(7ohl|YWl5_<2h^uyY2_T1?&Jn@+TcDBDT{|25x~jAX@06Og_5jL)rIF3Z zMHl}JUE#L9yM}XAwbx=Z05?&#uY0^)NbitRYzovaXMzXG&EWBa>Ix5X2EmKEhM#pWpPInY3G1_JeFMY4jv!=ARj&0r5U3MR=U*cnuX z^8kLFO}%_BLH}FENnAT%3Ca3)n}ys4&Vm|_%3)Om2wy=f4(F8A8LrmeJ`pQ|A%e)v z`%;3SxW%jPY<*dNFz>pv7b3N0CmycL(7LMc@pX(|D+NpJjvaTrvJdE4P3{q|lE6^l zO~yE;E!Fqar86mAyAH!TE*lM-26VbFR1?TBs!Kuc;}}H)Ao5$qTLRgGo=W7PLbXu(kVhp^7u^lShs?4i!Pf~EZl&3W6G!o-Hq@xdNwB*vQOZKfv*I$fdt>C}7 zuD`iIxO;;MMIZmi)5CtC@`aR-2ZYU4y*{&Wc0{_(7z^1e=8sE$dcEVI9`~F4Qz(mK zGo?V$-Dyb6P*G}+Jv`_-FYK*dlM-y^M|z3)s3cYaO;cD&Z%q>1@7Ts)B&jcA8E%Wn zEecnV8sfOtk)#f&rSY&T?6C2s3OM)W)zf7lL<$1W&CLY@at!|GqDr zWZGSeOiw5QaM?#824T*xD7%mlc#4d7jV$ZnmfE{wnRg4r_=VOlMTNZKMn(Er*+~{V ziQitH7McBv-RaImb;&sAvK|cm0Ga~>cch}I`@+p*X^Y-ojqs9&V=t9SnsxvMUPCS; zE6nn~H1*ypPOc%srN3W%oL(9bqIh)W9u+gtC_9nplFcn;0bc9;AR8e3n)iaxrws z-x^|l7VzlSG1Za-uvF-dWg2k3A`<0=cBM2C3>GInrA~p}L3O=@$iYuhQHi>InmMdF!~@jKrJ^xeX3{rF|MRREKjlkr(Gd z!Bh0L^G?*Z8*Zk>&5W5iAaqiMQe<5Fgl1dY+*wdwT?T}0nNKJB+c z{tQ&+MzX1n8uRuB9G#c;!6y&aalN^&ELqgPRR+HfFs5IDM$WZ@i{W^MHl)gBe)j&%;hGXf+L?~j$!=Hc`Z zn>KS&r@4x-khARgy|oS0$aQjzs9lB6j-i>Lrbm^x%~_hi^uu!w(V)V(4Kl7NyX{lXayB=_W%PURB-u+oA})Au1BLhR;xpNABR5%hN4%~q(> zRZEtv6|xaZ`}S9_sCk;RS8PW|@yockxoV>4vk{j126KR|-UZFDRjG`70Zl4drk(U@ zSY<(nAAR-rE&{B@9l}3b(n!KA?n-``e;pvj@ck6W?Uj&%G*67XOuhy0r-#UGN`8MB z8|kT~rQ=)5ZHnfxd?iqIVpFxEczvMb*v5*!p4`8$?f>8Y!nq7K$Fs11waQ zjqS~A3PRU%@R<(wQywNz$L>LoS!4Tv@MZIBiU=VT5_&m{tX3EFFfBUoj?{kl4&`Q4 z_7T-wENmj(8XKX}2pOB7j#*}X@;}*LBfO@6+pp)w^A3>o6OwB+55fxDX858k`PKv9 ztY0Eu0Ko&Pd}a0i!%Y~)vGnvwC**F-^C#pB6(-O=BOU+k=GF#RFy=esg8h z=gMW+Zsw?5`B!9xgHK3qfXw83uENhQ8@b!a+652;-Eg8aNRKjw4pVt-9Pt`POUy2& zn{j@7JiDeiW8YY(2lY9n2Ms)ODX;b#>%fzD)Sxo{|FPPqf7Rw6Y;l?6l`rU?U=1BL zN*9A`G6HYfnd6Uw|Dt&=mZ5cpPKk{ z07odft2Tq$JtWV!7fTP}@n{AHo*x$C{of7mc=DV-_RgS4Sl%Z5yo9lG9s&%74 z+w5Rc6Ju=j)Zvk8xrcB^hPIL@pBk8*ly)-=inp^^)XP`4zMsD6jhx^H55 z34cjncBe46Zs0Z9@~`IZ9}o|Xg<_^&Q=vEvyscZAYb9^>il-%C^-MFV%aMxKIf4an zUtH$AnGu>G0&t9mJV#cF3re<5mM?i?gT_P(_AJh0PO>tMl9Wz^GhUBgMtU9tVI`Xu zXRS5yp+bm*uZ5Jn4{%^)9QHAs237?4KQo-bgphHPpNGJOS1o%k=))tXiAi9{34BT5 z@3L{0KfAY{PQju_N4(+$lP{IGHpS`jiG5kyH9jJ^jB7ZmTV1 zoVD_QDIED`6=O|5@Fr%M4c<<;mAlspjVO8cl*4W4PNBw;_$$A0M@vN~pK?@~7i;F$ zu{S;39O*p1AModq( zhzHK+j9U`Y#?s=3AZD`~5wFx4)sY+pwpr*)D_#X2q*AZ3-fl<^@ZqBxqaGLT!4kjd z`@!PG`B@}@0q>;j5mwIS{>kZbkDdKW7m_}i2qm4$2>QMqIqb^dOX zx$5Jw6$&SFPqcDpC^gk9fs6Q2Y1Cb3y6VXeYxlOBn^XrwDr@*&dvSh2X_A_Eg{>T}-p&n;i>E8vY1U#68`K*(M_}ExN zI=-1XS2}LY**sT%k~1^@)&W0cR_ma71*9?OSB{?)h!j+2QCy$u)NEehO)|gdUEA15 z1PSVBvJLK)eTFme)nLd$^{52b5~tI5*63m9`In@CZNDOOvY_|taX$$O zM~kyI1x5WY(5pla$pYvD;hK+)WMYDHWt=Ijn^prE8_%Uy=JtbG)VSNzx+$>w)5S)g zIILEOdFHK4N4X^gHY_8!t?aH1WiF=oK!ryR2kOIk+}A@h3=(HMEpEeg@A|ga1xae` zzr}Wb@F1c4Af#@ClSykvU}#L-gkqW0>l(&QLujO9?>FGUF!kkW5j{6y7K~U)Pcy{? zgn!e~lJURN&3u>qG9U@tEr}V&zT$-nQM;0KeynM zkg)pY1KY>QBr^=|XQSGH%#a*?RFbeNz|Eqj> z9PU9cIS9Rg+cHB6#tXF+x7gK-NH;ks15;?q^rwUpM@8o8S$i{O)bpq=#?f7>1WX+f zLT@57{dGYUI>;O*F^1FzRD>+wR6|s-Yq-q5({Q0#Q5+KnRXd z0;T;}5t*&er``W3Vo+4;hvJdBQgeVSdlXIdXk`kx%MICUB~>067-z^%;cDPoVtEZ~ zU>3k)j339bO|es*2-6YAZ<-2xifPY3$cO|`Fwc2;u@({hhuSCVG#H zlk=ZIQQq>Jfu#CG)7PqL34@4&L&V6d`wM) z1arV$5rG45+kxRW=hOD^$D!&VY5^Md?2k;+2j;cmg&^y?7XXvLFmPvz3HUDr$A2Lt z{R=_kzaSj{3jz6G2)2CxLKyuQf)9!TpXbqT%D)g${tLq4zYs9t9EiG{u1EfbV1csD z=XtW*4HbXZJcQDIS%PY?OSVYOMbxvQK=YUhp|+t$JL}HWyld#4z02zqo=ik@|%-s!D9!O<6i&2gs-VrECZwn53bXpgobr!$mRr%m_p38J(s zM}g7bX>Du|V(Y}vSDUeq*H%t?BJ`Szx24xM;x%mb{YclxQEu0>NpN@@v&@?;LTMnq zAeTr1=CL-)lOzwlC?~q4(6Hm zH{zA?HjU}#Z6}x!Y+lW_gQyq==UUIv6g9==`{3H^oi%@@X@uiX|BT9D%qlt%?le*&%G}7ObZn#z0F#&A6G3-zU2BVKCib0Xey@Co;`I_+Q z{>Ip3T2g&1vMeDQF#(40*7~d#R#dxbg%|_?do)P#^{av3T|wzv_Q*QUaj(rMOCu?x znYii^q3DidmESn^u%v2vrvFR=@tU?_Qh4E*1(FTGH;Trc1CmRK7%6t+L^q+HhcF68 z#I=1fVgeGo-)i@U(t*!Q4y_O?ArZ>G*YEor6d+TU0_@^l3IH{PHn(dY8Q^}j)^s=N z`a;|%-VZtjVvFqCbi&^_;4JYRA&ixEWP&xJ&Jn)RV1l``T$kUoS;CR!lAp&jYHvE+ z!_wU+gR}1>??itw{DN4~Skk&?OxO^-h54ZS;;%)w{!(=WJQX9t=%3Q}Uckkcv&^e| zDs?E&hSsvH3tA@lCDso3EW-p%cYq$fX50Q2e$aQ(=+mB7BT_fPy?^hKz`ZtDtO9nF zYi3YsFLqQeeL)E=W&v7(o@+Lw&c&2C@<{#a97&6K>mxMw80`p zIm1E(Eu~74>EQ?#hb%Y+S3}Ny#4E352vJRn56?g$%geV0bpPvIT{P$%w|;>e(S@6| zQ^0mIGZxrDm-#2o!G8^K-H`+_OG$aTd_FC?krXew&b2`P2LdB3$vw#{xqj%A9t+yN z{AD%y=~jQC`3iv;%L!2{u)s5}d;96ldcTzWuC{ZanNiAM_}hh|r0ki4!Qa*^;jkIm zk3ULz1HDEB4FmctzybYI9m;9RUA@=M@sU54+ZE2mR1K&;C&pw`Ekmub(DI$s%9NZ> zeX`hKc~0HA@>h9q#qt-!hIP8Vp>_Spi3xPiK%iaD3F>DRsdAL4u^<{)bSb!D;U%fW z9cXU&!MU{Y3wy^rLjh?O<^yAjZ{NN1T91`0hdWl^7?AZ??eZduF(6xmGLvNckUt6= z(Zd`F%z~JhtW_5gl1l3|q;Oy{E$vR4Ax!0Aa zHxDjt>4|r9);I*XAip&xr$+=N^2@-Y_wl2x0T1Bv7s!ph(}`=@t-DRU;hTR&BiPau zR&&Cl?qp3 z-sWQ`2q+ATtDhCgX1y<-u7v&GLN1a44#${UT`)LMT0JnSLY^`94fLo5A;Ij9&AR;f z9&MZy#T%>A05!vuUS;acf#vP;(AJC8ak@)Bm=i3hvaXZw*{YA(;<4h}@ldT+CHs#x@Judv;vZicT|hyk&U2M?z(X*$pQ|e#R=EhP6Lz=`!}G zyGAAX9uXOeds6d+Kc3&i3^if4=rw-qGga?uz2IoLYuW$FC4W(&g1_>#`qg40KW29D znMEFD+U|$_)m+CgJtFTdfiqF-g=<<3iuo$V6?MSHcLX%DX<$G4 zZA=2Ov9wKnq$OFq$-Ka(3On5)PU_%kmsy*jGH{CW;`%TcSa^9?#lsU7C^E%?E+5oeQshKwiqF7Pzhw?^DadVl~ICFyI6CRIL+tHMH`co^0j4D3##&ZusL4&xct- z!_{d9MY{yUIZ{qVDw|eV9t2b?v{#(tgt51ZMO}-$)Wn>!M#5-JOvMD7HdYIB1rrz9?+Uk zEoT0HH>mbHQ%9)%x>s0pDIptQdq)V0VN^M*&WsqBBo;r=H;`?-;V0lPA zzwqB262r5zlf1M%=pz(%u?;P#Y1)eU)NLV;n-W&e)bATW@1~|vx~1Y4CbQ9CJR0wy zbk5gEgM(rIs?uJ3}jX3D#Iz^Q1+M`M34rd#&m0A$rof zVNV`da~}96u~=)O=G6eJi(I>u)RgFRRCBUyICMuAE~af<6lGE7mVDz&_}wBMwR-34 z8))p9`oWD-%^IVO z*|#R-gwi4mU9yFKSpXuRvh%5=1wmiKz`?{oT-s7RfIm)g;9{xd&)Hg_Trf9wT;4hWc%9t91y<7 zqC@J7q(moV;Z0fwi)bHFQS4eQQ@0GkyA|G=*S*Myd!6&CAL_DWp*4lQXm(`o#~%<@r2Tv`z?yFB4OyL-MzHcu&Hz z3p1vh^6Pkb{yHVN7VO^Cx&)q{PUCo?!ELg0eI(yqjRqwhS+jy2>Bl1Nv($f!!Gn+1 z#2pO2uGFpd7(+H)t&%4RYm3@nIUs`<>3`NyxqsGCfrWLmBXjH`1VwBvOPU(H`d8Fi ze*z882;;(|*waL-9xNe(Ycb-bSnA6CZ}vKX|DbJafuqRY$(%%3c7?F$2pa^XKNQy0 zeT~)+b=AfdSfaHYIV+lK>2Btr10Ey4O0?9xlebbu*8N}OKV#yaHY-YkI9lH~D`18t z5Seuxhi|2BXm6b=JUOpI`77m)#niKB6y*NTbJwT2RL1Ll=&M8BW?F#?d<+ACt9x5t zYoB9g#EkRJ;=5z+{x6si{7QM^rde50dX?;f|M(4Hmxd3_IDg4gaPU`+C=MeCxAB>j zkw-=1@DzS2effHC34zJfe(HU-e_FoWR1siV_?6=hhrodWMvlc{;?!3 zPl(xcntJi|d`Wb+7hrYZH?z(X6TnfbGy;?=x7SnYV@G%8RN)thnbv|YWXAOPNhlpc zZ`~}@6?Z}p`UTbr*7(3{3AN(={Wn+xPK*tJqe}j!bTa>XAqrxs*TS3+W73U zA-Z#$2_U$}g9$%}IjR(Q)m`WVznd>qR%*~`{m0$t+ZS1QkAWJ=eLc$X!aYpZ(<#w< z--DXs!J)F=qhi)=C9>>;_eEnTeMXj`RUk!*F57)+biEiyXS6^SsNms=6tQ?Km@)tl z(iq|=I%}?Gh1(8UN~hiyxe-bW+wZOLtDbNe;XH(5-Sc)KZK?7-c}c}w^y?|ov=F-A zQE@FzH(oPI=#>;R%w*m~=$C^TIO3m*PonK>u(lij@&P+K=3E!wMN9qHVoQVnB_Nx) zv{Ntn%g=>>0HII622q1D4ZFt#?8o41C`=0gn(A*+*N!Cc!g=*nxc9Jm8^c~0$K8jF zdS(oM47*ZRn}Am8=n1%QPVmTg6uhapsPyQZzfuDxply%8bX))ARz>>uTkqBIoHwj} zj4?r3S}uc$zkmu^m(P0&(t()8D^%;km}g}DQrUV(B7@r9;``LqQ+(cbVq2cS{mdx! zyGt@Er6;wAf5MGyvx{Kzi;;irWGWJhCfd=js29&{4KEy z8eUTFg;b+kmdJn7aCZHqm(nvf_uf;_?i$>KR?hrOOz5~Z8_ew0-f*0v`{ryh#nAeC zG@Yqw@AkJ{clXNQ%Wq~uVsy(LSLQqW+*KI^^y{ZiX~5<$VySy4MQt} zf!B=LO5IM9sY`%dw%3XWv_4{*IJ@;r97zvI~_VcYSZDLR}KN%ag z9henxT_EH$3H^`1lB9}VRvE`%n^b7Xt<~BVBIB}f2~u2gHe?ei{tnQQ<+qF7t;!5; zM5Z^U0r>GJaFXv{qQTRELsE1d1c4hpFA>_kF^(wn3g`M}hAyAX+i$BF;VOL}u`K`m zqI+hpW(@j|ae4?E1}j7Aa3pE7K4E

nse#wOG+Wt{m&l=U504x6iLovWD{kSIaj4 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ÚHFUhu$05D>gR6ZF&y~0k7Ej(?y4IuBQGRco5n5 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jItqbB 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 z z8pb*!tRkrXB2}88LW-nSQEl}Ruh|v$!bVLHkz?{DNbIdIb8Y%w%UHwTJo4$m3(4QY zi=GlQM;Iq~pW>$xPoG~g9)H)H%nWHD9vk-;T`j0OWxCqRo+`QnX)U13-qJBatwm!> z9KQ-r8QLHcx=JM8RVp2n3Q)FvC7kxV*;nGZSE}Q8gK;E+?y0Yd=iQrUuX;)h z9M6F7#&@SD2l_E_=REB^N#2A<`GB-gx!IVW+egLAh#DK#(z~m5mnv-7^j^Kp;P2Cr z8fhk*hDEAeb`Nk3)|oUj7sEwaFTdQb7c*~3Z<@vR`}h378I9cqO+oamH(R6=I7QZ; z`r=c>iBTPF=*V(F_UyJPf=Whk0c`TLI2{=+%nC=&Lq~mvwb6Hc3FKAAne)Avx>byCDNB?R&2ozW40C zh2UR*&etD}_==q>&{v%l{)Z6@Sm~j-PlOARbIy3kZoU!SFhk9E`7oJ~H^W*Umnh&s z^Ix2iy(;uN@%x=Hw>m)~h9(8plc*PbbxDOup44d2m_)2i!A-oW|0$X*k zGrD7@L)5sg<0RX-?cEzs+Yl{!_pRa}ZaW(nU9V~V5spAKrcLTJec1Meczs3N*bH?H z_>7H3dYY*7$zZ?PE7*Ja-8&7+IWZi~Q*XS(;psWo6P�ZeLK(CYBo1f(9k0J*ln2 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 NOTE: This example is not meant to be used for production. + +## Overview + +This example showcases the integration of CloudXR.js with the React Three Fiber ecosystem, providing: + +- **React Three Fiber Integration**: Seamless integration with Three.js through React components +- **React Three XR**: WebXR session management with React hooks and state management +- **React Three UIKit**: Rich 3D user interface components for VR/AR experiences +- **CloudXR Streaming**: Real-time streaming of XR content from a CloudXR server +- **Modern React Patterns**: Hooks, context, and component-based architecture +- **Dual UI System**: 2D HTML interface for configuration and 3D VR interface for interaction + +## Quick Start + +### Prerequisites +- Node.js (v20 or higher) +- A CloudXR server running and accessible +- A WebXR-compatible device (VR headset, AR device) + +### Installation + +1. **Navigate to the example folder** + ```bash + cd react + ``` + +2. **Install Dependencies** + ```bash + # For this early access release, please run the following to install SDK from the given tarball. This step will not be needed when SDK is publicly accessible. + npm install ../nvidia-cloudxr-6.0.0-beta.tgz + + npm install + ``` + +3. **Build the Application** + ```bash + npm run build + ``` + +4. **Start Development Server** + ```bash + npm run dev-server + ``` + +5. **Open in Browser** + - Navigate to `http://localhost:8080` (or the port shown in terminal) + - For desktop browsers, IWER (Immersive Web Emulator Runtime) will automatically load to emulate a Meta Quest 3 headset + +### Basic Usage + +1. **Configure Connection** + - Enter your CloudXR server IP address + - Set the port (default: 49100) + - Select AR or VR immersive mode + +2. **Adjust Settings** (Optional) + - Configure per-eye resolution (perEyeWidth and perEyeHeight, must be multiples of 16) + - Set target frame rate and bitrate + - Adjust XR reference space + +3. **Start Streaming** + - Click "CONNECT" to initiate the XR session + - Grant XR permissions when prompted + +> NOTE: In order to connect to an actual server and start streaming, you need: +> +> - A CloudXR server running and accessible +> - A WebXR-compatible device (VR/AR headset) or desktop browser (IWER loads automatically for emulation) + + +## Technical Architecture + +### Core Components + +#### `App.tsx` +Main React application component managing: +- XR store configuration and session state +- CloudXR component integration +- 2D UI management and event handling +- Error handling and capability checking +- React Three Fiber Canvas setup + +#### `CloudXRComponent.tsx` +Handles the core CloudXR streaming functionality: +- CloudXR session lifecycle management +- WebXR session event handling +- WebGL state management and render target preservation +- Frame-by-frame rendering loop with pose tracking +- Integration with Three.js WebXRManager + +#### `CloudXR2DUI.tsx` +Manages the 2D HTML interface: +- Form field management and localStorage persistence +- Proxy configuration based on protocol +- Event listener management and cleanup +- Error handling and user feedback +- Configuration validation and updates + +#### `CloudXRUI.tsx` (3D UI) +Renders the in-VR user interface: +- React Three UIKit components for 3D UI +- Interactive control buttons with hover effects +- Server information and status display +- Event handler integration + +## Development + +### Project Structure + +```bash +react/ +├── src/ +│ ├── App.tsx # Main React application +│ ├── CloudXRComponent.tsx # CloudXR streaming component +│ ├── CloudXR2DUI.tsx # 2D UI management class +│ ├── CloudXRUI.tsx # 3D VR UI component +│ ├── index.tsx # React app entry point +│ └── index.html # HTML template +├── public/ +│ ├── play-circle.svg # Play button icon (Heroicons) +│ ├── stop-circle.svg # Stop button icon (Heroicons) +│ ├── arrow-uturn-left.svg # Reset button icon (Heroicons) +│ └── arrow-left-start-on-rectangle.svg # Disconnect button icon (Heroicons) +├── package.json # Dependencies and scripts +├── webpack.common.js # Webpack configuration +├── webpack.dev.js # Development webpack config +├── webpack.prod.js # Production webpack config +└── tsconfig.json # TypeScript configuration +``` + +## React Three Fiber Integration + +### XR Store Configuration +The application uses React Three XR's store for XR session management: + +```javascript +const store = createXRStore({ + foveation: 0, + emulate: { syntheticEnvironment: false }, +}); +``` + +### Canvas Setup +React Three Fiber Canvas with WebXR integration: + +```typescript + + + + + + +``` + +### Custom Render Loop +The CloudXR component uses `useFrame` for custom rendering: + +```typescript +useFrame((state, delta) => { + if (webXRManager.isPresenting && session) { + // CloudXR rendering logic + cxrSession.sendTrackingStateToServer(timestamp, xrFrame); + cxrSession.render(timestamp, xrFrame, layer); + } +}, -1000); +``` + +## 3D User Interface + +### React Three UIKit Components +The 3D UI uses React Three UIKit for modern VR/AR interfaces: + +- **Container**: Layout and positioning components +- **Text**: 3D text rendering with custom fonts +- **Button**: Interactive buttons with hover effects +- **Image**: Texture-based image display +- **Root**: Main UI container with pixel-perfect rendering + +### UI Positioning +3D UI elements are positioned in world space: + +```typescript + + + {/* UI components */} + + +``` + +### WebGL State Tracking + +This example uses WebGL state tracking to prevent rendering conflicts between React Three Fiber and CloudXR. Both libraries render to the same WebGL context, but CloudXR's rendering operations modify WebGL state (framebuffers, textures, buffers, VAOs, shaders, blend modes, etc.) which can interfere with React Three Fiber's expectations. The example wraps the WebGL context with `bindGL()` from `@helpers/WebGLStateBinding`, then uses CloudXR's `onWebGLStateChangeBegin` and `onWebGLStateChangeEnd` callbacks to automatically save and restore state around CloudXR's rendering. This ensures React Three Fiber always finds the WebGL context in the expected state after each CloudXR render operation. + +See `examples/helpers/WebGLStateBinding.ts`, `WebGLState.ts`, and `WebGLStateApply.ts` for implementation details. Comprehensive tests are available in `tests/unit/WebGLState.test.ts` and `tests/playwright/WebGLTests/src/WebGLStateBindingTests.ts`. + +## License + +See the [LICENSE](LICENSE) file for details. + +### Third-Party Assets + +Icons used in the immersive UI are from [Heroicons](https://heroicons.com/) by Tailwind Labs, licensed under the MIT License. See [HEROICONS_LICENSE](public/HEROICONS_LICENSE) for details. diff --git a/deps/cloudxr/react/favicon.ico b/deps/cloudxr/react/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..a1de915b3142d6f06c46d8a519b977532ca7ef3d GIT binary patch literal 14224 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 k_RakI9n+a literal 0 HcmV?d00001 diff --git a/deps/cloudxr/react/package.json b/deps/cloudxr/react/package.json new file mode 100644 index 0000000..72b6220 --- /dev/null +++ b/deps/cloudxr/react/package.json @@ -0,0 +1,47 @@ +{ + "name": "cloudxr-react-example", + "version": "6.0.0-beta", + "private": true, + "description": "React Three Fiber WebXR example for CloudXR", + "author": "NVIDIA Corporation", + "license": "SEE LICENSE IN LICENSE", + "keywords": [ + "react", + "three.js", + "webxr", + "cloudxr", + "vr" + ], + "scripts": { + "build": "webpack --config ./webpack.prod.js", + "dev": "webpack --config ./webpack.dev.js", + "dev-server": "webpack serve --config ./webpack.dev.js --no-open", + "dev-server:https": "HTTPS=true webpack serve --config ./webpack.dev.js --no-open", + "clean": "rimraf dist" + }, + "dependencies": { + "@nvidia/cloudxr": "dev", + "@react-three/drei": "^10.6.1", + "@react-three/fiber": "^9.3.0", + "@react-three/uikit": "^1.0.0", + "@react-three/uikit-default": "^1.0.0", + "@react-three/xr": "^6.6.22", + "react": "^19.2.0", + "react-dom": "^19.2.0", + "three": "^0.172.0" + }, + "devDependencies": { + "@types/react": "^19.2.0", + "@types/react-dom": "^19.2.0", + "@types/three": "^0.172.0", + "css-loader": "^6.8.1", + "rimraf": "^5.0.5", + "ts-loader": "^9.5.1", + "typescript": "^5.8.2", + "copy-webpack-plugin": "^13.0.0", + "html-webpack-plugin": "^5.6.3", + "style-loader": "^3.3.3", + "webpack-dev-server": "^5.2.1", + "webpack-cli": "^6.0.1" + } +} \ No newline at end of file diff --git a/deps/cloudxr/react/public/HEROICONS_LICENSE b/deps/cloudxr/react/public/HEROICONS_LICENSE new file mode 100644 index 0000000..d6a8229 --- /dev/null +++ b/deps/cloudxr/react/public/HEROICONS_LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) Tailwind Labs, Inc. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/deps/cloudxr/react/public/arrow-left-start-on-rectangle.svg b/deps/cloudxr/react/public/arrow-left-start-on-rectangle.svg new file mode 100644 index 0000000..9fbe1ee --- /dev/null +++ b/deps/cloudxr/react/public/arrow-left-start-on-rectangle.svg @@ -0,0 +1,3 @@ + diff --git a/deps/cloudxr/react/public/arrow-uturn-left.svg b/deps/cloudxr/react/public/arrow-uturn-left.svg new file mode 100644 index 0000000..bfb8063 --- /dev/null +++ b/deps/cloudxr/react/public/arrow-uturn-left.svg @@ -0,0 +1,3 @@ + diff --git a/deps/cloudxr/react/public/controller-icons.svg b/deps/cloudxr/react/public/controller-icons.svg new file mode 100644 index 0000000..1d87b2a --- /dev/null +++ b/deps/cloudxr/react/public/controller-icons.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/deps/cloudxr/react/public/play-circle.svg b/deps/cloudxr/react/public/play-circle.svg new file mode 100644 index 0000000..d6a90c5 --- /dev/null +++ b/deps/cloudxr/react/public/play-circle.svg @@ -0,0 +1,3 @@ + diff --git a/deps/cloudxr/react/public/stop-circle.svg b/deps/cloudxr/react/public/stop-circle.svg new file mode 100644 index 0000000..a2d87ea --- /dev/null +++ b/deps/cloudxr/react/public/stop-circle.svg @@ -0,0 +1,3 @@ + diff --git a/deps/cloudxr/react/src/App.tsx b/deps/cloudxr/react/src/App.tsx new file mode 100644 index 0000000..698919b --- /dev/null +++ b/deps/cloudxr/react/src/App.tsx @@ -0,0 +1,555 @@ +/** + * App.tsx - Main CloudXR React Application + * + * This is the root component of the CloudXR React example application. It sets up: + * - WebXR session management and XR store configuration + * - CloudXR server configuration (IP, port, stream settings) + * - UI state management (connection status, session state) + * - Integration between CloudXR rendering component and UI components + * - Entry point for AR/VR experiences with CloudXR streaming + * + * The app integrates with the HTML interface which provides a "CONNECT" button + * to enter AR mode and displays the CloudXR UI with controls for teleop actions + * and disconnect when in XR mode. + */ + +import { checkCapabilities } from '@helpers/BrowserCapabilities'; +import { loadIWERIfNeeded } from '@helpers/LoadIWER'; +import { overridePressureObserver } from '@helpers/overridePressureObserver'; +import * as CloudXR from '@nvidia/cloudxr'; +import { Environment } from '@react-three/drei'; +import { Canvas } from '@react-three/fiber'; +import { setPreferredColorScheme } from '@react-three/uikit'; +import { XR, createXRStore, noEvents, PointerEvents, XROrigin, useXR } from '@react-three/xr'; +import { useState, useMemo, useEffect, useRef } from 'react'; + +import { CloudXR2DUI } from './CloudXR2DUI'; +import CloudXRComponent from './CloudXRComponent'; +import CloudXR3DUI from './CloudXRUI'; + +// Override PressureObserver early to catch errors from buggy browser implementations +overridePressureObserver(); + +const store = createXRStore({ + foveation: 0, + emulate: false, // Disable IWER emulation from react in favor of custom iwer loading function + // Configure WebXR input profiles to use local assets + // Use relative path from current page location + baseAssetPath: `${new URL('.', window.location).href}npm/@webxr-input-profiles/assets@${process.env.WEBXR_ASSETS_VERSION}/dist/profiles/`, + hand: { + model: false, // Disable hand models but keep pointer functionality + }, +}); + +setPreferredColorScheme('dark'); + +const START_TELEOP_COMMAND = { + type: 'teleop_command', + message: { + command: 'start teleop', + }, +} as const; + +// Environment component like controller-test +function NonAREnvironment() { + // Use local HDR file instead of preset so client doesn't need to download it from CDN + return ( + + ); +} + +function App() { + const COUNTDOWN_MAX_SECONDS = 9; + const COUNTDOWN_STORAGE_KEY = 'cxr.react.countdownSeconds'; + // 2D UI management + const [cloudXR2DUI, setCloudXR2DUI] = useState(null); + // IWER loading state + const [iwerLoaded, setIwerLoaded] = useState(false); + // Capability state management + const [capabilitiesValid, setCapabilitiesValid] = useState(false); + const capabilitiesCheckedRef = useRef(false); + // Connection state management + const [isConnected, setIsConnected] = useState(false); + // Session status management + const [sessionStatus, setSessionStatus] = useState('Disconnected'); + // Error message management + const [errorMessage, setErrorMessage] = useState(''); + // CloudXR session reference + const [cloudXRSession, setCloudXRSession] = useState(null); + // XR mode state for UI visibility + const [isXRMode, setIsXRMode] = useState(false); + // Server address being used for connection + const [serverAddress, setServerAddress] = useState(''); + // Teleop countdown and state + const [isCountingDown, setIsCountingDown] = useState(false); + const [countdownRemaining, setCountdownRemaining] = useState(0); + const [isTeleopRunning, setIsTeleopRunning] = useState(false); + const countdownTimerRef = useRef(null); + const [countdownDuration, setCountdownDuration] = useState(() => { + try { + const saved = localStorage.getItem(COUNTDOWN_STORAGE_KEY); + if (saved != null) { + const value = parseInt(saved, 10); + if (!isNaN(value)) { + return Math.min(COUNTDOWN_MAX_SECONDS, Math.max(0, value)); + } + } + } catch (_) {} + return 3; + }); + + // Persist countdown duration on change + useEffect(() => { + try { + localStorage.setItem(COUNTDOWN_STORAGE_KEY, String(countdownDuration)); + } catch (_) {} + }, [countdownDuration]); + + // Load IWER first (must happen before anything else) + // Note: React Three Fiber's emulation is disabled (emulate: false) to avoid conflicts + useEffect(() => { + const loadIWER = async () => { + const { supportsImmersive, iwerLoaded: wasIwerLoaded } = await loadIWERIfNeeded(); + if (!supportsImmersive) { + setErrorMessage('Immersive mode not supported'); + setIwerLoaded(false); + setCapabilitiesValid(false); + capabilitiesCheckedRef.current = false; // Reset check flag on failure + return; + } + // IWER loaded successfully, now we can proceed with capability checks + setIwerLoaded(true); + // Store whether IWER was loaded for status message display later + if (wasIwerLoaded) { + sessionStorage.setItem('iwerWasLoaded', 'true'); + } + }; + + loadIWER(); + }, []); + + // Update button state when IWER fails and UI becomes ready + useEffect(() => { + if (cloudXR2DUI && !iwerLoaded && !capabilitiesValid) { + cloudXR2DUI.setStartButtonState(true, 'CONNECT (immersive mode not supported)'); + } + }, [cloudXR2DUI, iwerLoaded, capabilitiesValid]); + + // Check capabilities once CloudXR2DUI is ready and IWER is loaded + useEffect(() => { + const checkCapabilitiesOnce = async () => { + if (!cloudXR2DUI || !iwerLoaded) { + return; + } + + // Guard: only check capabilities once + if (capabilitiesCheckedRef.current) { + return; + } + capabilitiesCheckedRef.current = true; + + // Disable button and show checking status + cloudXR2DUI.setStartButtonState(true, 'CONNECT (checking capabilities)'); + + let result: { success: boolean; failures: string[]; warnings: string[] } = { + success: false, + failures: [], + warnings: [], + }; + try { + result = await checkCapabilities(); + } catch (error) { + cloudXR2DUI.showStatus(`Capability check error: ${error}`, 'error'); + setCapabilitiesValid(false); + cloudXR2DUI.setStartButtonState(true, 'CONNECT (capability check failed)'); + capabilitiesCheckedRef.current = false; // Reset on error for potential retry + return; + } + if (!result.success) { + cloudXR2DUI.showStatus( + 'Browser does not meet required capabilities:\n' + result.failures.join('\n'), + 'error' + ); + setCapabilitiesValid(false); + cloudXR2DUI.setStartButtonState(true, 'CONNECT (capability check failed)'); + capabilitiesCheckedRef.current = false; // Reset on failure for potential retry + return; + } + + // Show final status message with IWER info if applicable + const iwerWasLoaded = sessionStorage.getItem('iwerWasLoaded') === 'true'; + if (result.warnings.length > 0) { + cloudXR2DUI.showStatus('Performance notice:\n' + result.warnings.join('\n'), 'info'); + } else if (iwerWasLoaded) { + // Include IWER status in the final success message + cloudXR2DUI.showStatus( + 'CloudXR.js SDK is supported. Ready to connect!\nUsing IWER (Immersive Web Emulator Runtime) - Emulating Meta Quest 3.', + 'info' + ); + } else { + cloudXR2DUI.showStatus('CloudXR.js SDK is supported. Ready to connect!', 'success'); + } + + setCapabilitiesValid(true); + cloudXR2DUI.setStartButtonState(false, 'CONNECT'); + }; + + checkCapabilitiesOnce(); + }, [cloudXR2DUI, iwerLoaded]); + + // Track config changes to trigger re-renders when form values change + const [configVersion, setConfigVersion] = useState(0); + + // Initialize CloudXR2DUI + useEffect(() => { + // Create and initialize the 2D UI manager + const ui = new CloudXR2DUI(() => { + // Callback when configuration changes + setConfigVersion(v => v + 1); + }); + ui.initialize(); + ui.setupConnectButtonHandler( + async () => { + // Start XR session + if (ui.getConfiguration().immersiveMode === 'ar') { + await store.enterAR(); + } else if (ui.getConfiguration().immersiveMode === 'vr') { + await store.enterVR(); + } else { + setErrorMessage('Unrecognized immersive mode'); + } + }, + (error: Error) => { + setErrorMessage(`Failed to start XR session: ${error}`); + } + ); + + setCloudXR2DUI(ui); + + // Cleanup function + return () => { + if (ui) { + ui.cleanup(); + } + }; + }, []); + + // Update HTML error message display when error state changes + useEffect(() => { + if (cloudXR2DUI) { + if (errorMessage) { + cloudXR2DUI.showError(errorMessage); + } else { + cloudXR2DUI.hideError(); + } + } + }, [errorMessage, cloudXR2DUI]); + + // Listen for XR session state changes to update button and UI visibility + useEffect(() => { + const handleXRStateChange = () => { + const xrState = store.getState(); + + if (xrState.mode === 'immersive-ar' || xrState.mode === 'immersive-vr') { + // XR session is active + setIsXRMode(true); + if (cloudXR2DUI) { + cloudXR2DUI.setStartButtonState(true, 'CONNECT (XR session active)'); + } + } else { + // XR session ended + setIsXRMode(false); + if (cloudXR2DUI) { + cloudXR2DUI.setStartButtonState(false, 'CONNECT'); + } + + if (xrState.error) { + setErrorMessage(`XR session error: ${xrState.error}`); + } + } + }; + + // Subscribe to XR state changes + const unsubscribe = store.subscribe(handleXRStateChange); + + // Cleanup + return () => { + unsubscribe(); + setIsXRMode(false); + }; + }, [cloudXR2DUI]); + + // CloudXR status change handler + const handleStatusChange = (connected: boolean, status: string) => { + setIsConnected(connected); + setSessionStatus(status); + }; + + // UI Event Handlers + const handleStartTeleop = () => { + console.log('Start Teleop pressed'); + + if (!cloudXRSession) { + console.error('CloudXR session not available'); + return; + } + + if (isCountingDown || isTeleopRunning) { + return; + } + + // Begin countdown before starting teleop (immediately if 0) + if (countdownDuration <= 0) { + setIsCountingDown(false); + setCountdownRemaining(0); + + try { + cloudXRSession.sendServerMessage(START_TELEOP_COMMAND); + console.log('Start teleop command sent'); + setIsTeleopRunning(true); + } catch (error) { + console.error('Failed to send teleop command:', error); + setIsTeleopRunning(false); + } + return; + } + + setIsCountingDown(true); + setCountdownRemaining(countdownDuration); + + countdownTimerRef.current = window.setInterval(() => { + setCountdownRemaining(prev => { + if (prev <= 1) { + // Countdown finished + if (countdownTimerRef.current !== null) { + clearInterval(countdownTimerRef.current); + countdownTimerRef.current = null; + } + setIsCountingDown(false); + + // Send start teleop command + + try { + cloudXRSession.sendServerMessage(START_TELEOP_COMMAND); + console.log('Start teleop command sent'); + setIsTeleopRunning(true); + } catch (error) { + console.error('Failed to send teleop command:', error); + setIsTeleopRunning(false); + } + + return 0; + } + return prev - 1; + }); + }, 1000); + }; + + const handleStopTeleop = () => { + console.log('Stop Teleop pressed'); + + // If countdown is active, cancel it and reset state + if (isCountingDown) { + if (countdownTimerRef.current !== null) { + clearInterval(countdownTimerRef.current); + countdownTimerRef.current = null; + } + setIsCountingDown(false); + setCountdownRemaining(0); + return; + } + + if (!cloudXRSession) { + console.error('CloudXR session not available'); + return; + } + + // Send stop teleop command + const teleopCommand = { + type: 'teleop_command', + message: { + command: 'stop teleop', + }, + }; + + try { + cloudXRSession.sendServerMessage(teleopCommand); + console.log('Stop teleop command sent'); + setIsTeleopRunning(false); + } catch (error) { + console.error('Failed to send teleop command:', error); + } + }; + + const handleResetTeleop = () => { + console.log('Reset Teleop pressed'); + + // Cancel any active countdown + if (countdownTimerRef.current !== null) { + clearInterval(countdownTimerRef.current); + countdownTimerRef.current = null; + } + setIsCountingDown(false); + setCountdownRemaining(0); + + if (!cloudXRSession) { + console.error('CloudXR session not available'); + return; + } + + // Send stop teleop command first + const stopCommand = { + type: 'teleop_command', + message: { + command: 'stop teleop', + }, + }; + + // Send reset teleop command + const resetCommand = { + type: 'teleop_command', + message: { + command: 'reset teleop', + }, + }; + + try { + cloudXRSession.sendServerMessage(stopCommand); + console.log('Stop teleop command sent'); + cloudXRSession.sendServerMessage(resetCommand); + console.log('Reset teleop command sent'); + setIsTeleopRunning(false); + } catch (error) { + console.error('Failed to send teleop commands:', error); + } + }; + + const handleDisconnect = () => { + console.log('Disconnect pressed'); + + // Cleanup countdown state on disconnect + if (countdownTimerRef.current !== null) { + clearInterval(countdownTimerRef.current); + countdownTimerRef.current = null; + } + setIsCountingDown(false); + setCountdownRemaining(0); + setIsTeleopRunning(false); + + const xrState = store.getState(); + const session = xrState.session; + if (session) { + session.end().catch((err: unknown) => { + setErrorMessage( + `Failed to end XR session: ${err instanceof Error ? err.message : String(err)}` + ); + }); + } + }; + + // Countdown configuration handlers (0-5 seconds) + const handleIncreaseCountdown = () => { + if (isCountingDown) return; + setCountdownDuration(prev => Math.min(COUNTDOWN_MAX_SECONDS, prev + 1)); + }; + + const handleDecreaseCountdown = () => { + if (isCountingDown) return; + setCountdownDuration(prev => Math.max(0, prev - 1)); + }; + + // Memo config based on configVersion (manual dependency tracker incremented on config changes) + // eslint-disable-next-line react-hooks/exhaustive-deps + const config = useMemo( + () => (cloudXR2DUI ? cloudXR2DUI.getConfiguration() : null), + [cloudXR2DUI, configVersion] + ); + + // Sync XR mode state to body class for CSS styling + useEffect(() => { + if (isXRMode) { + document.body.classList.add('xr-mode'); + } else { + document.body.classList.remove('xr-mode'); + } + + return () => { + document.body.classList.remove('xr-mode'); + }; + }, [isXRMode]); + + return ( + <> + { + e.preventDefault(); + }} + > + + + + + {cloudXR2DUI && config && ( + <> + { + if (cloudXR2DUI) { + cloudXR2DUI.showError(error); + } + }} + onSessionReady={setCloudXRSession} + onServerAddress={setServerAddress} + /> + + + )} + + + + ); +} + +export default App; diff --git a/deps/cloudxr/react/src/CloudXR2DUI.tsx b/deps/cloudxr/react/src/CloudXR2DUI.tsx new file mode 100644 index 0000000..d6b2848 --- /dev/null +++ b/deps/cloudxr/react/src/CloudXR2DUI.tsx @@ -0,0 +1,438 @@ +/** + * CloudXR2DUI.tsx - CloudXR 2D User Interface Management + * + * This class handles all the HTML form interactions, localStorage persistence, + * and form validation for the CloudXR React example. It follows the same pattern + * as the simple example's CloudXRWebUI class, providing a clean separation + * between UI management and React component logic. + * + * Features: + * - Form field management and localStorage persistence + * - Proxy configuration based on protocol + * - Form validation and default value handling + * - Event listener management + * - Error handling and logging + */ + +import { CloudXRConfig, enableLocalStorage, setupCertificateAcceptanceLink } from '@helpers/utils'; + +/** + * 2D UI Management for CloudXR React Example + * Handles the main user interface for CloudXR streaming, including form management, + * localStorage persistence, and user interaction controls. + */ +export class CloudXR2DUI { + /** Button to initiate XR streaming session */ + private startButton!: HTMLButtonElement; + /** Input field for the CloudXR server IP address */ + private serverIpInput!: HTMLInputElement; + /** Input field for the CloudXR server port number */ + private portInput!: HTMLInputElement; + /** Input field for proxy URL configuration */ + private proxyUrlInput!: HTMLInputElement; + /** Dropdown to select between AR and VR immersive modes */ + private immersiveSelect!: HTMLSelectElement; + /** Dropdown to select device frame rate (FPS) */ + private deviceFrameRateSelect!: HTMLSelectElement; + /** Dropdown to select max streaming bitrate (Mbps) */ + private maxStreamingBitrateMbpsSelect!: HTMLSelectElement; + /** Input field for per-eye width configuration */ + private perEyeWidthInput!: HTMLInputElement; + /** Input field for per-eye height configuration */ + private perEyeHeightInput!: HTMLInputElement; + /** Dropdown to select server backend type */ + private serverTypeSelect!: HTMLSelectElement; + /** Dropdown to select application type */ + private appSelect!: HTMLSelectElement; + /** Dropdown to select reference space for XR tracking */ + private referenceSpaceSelect!: HTMLSelectElement; + /** Input for XR reference space X offset (cm) */ + private xrOffsetXInput!: HTMLInputElement; + /** Input for XR reference space Y offset (cm) */ + private xrOffsetYInput!: HTMLInputElement; + /** Input for XR reference space Z offset (cm) */ + private xrOffsetZInput!: HTMLInputElement; + /** Text element displaying proxy configuration help */ + private proxyDefaultText!: HTMLElement; + /** Error message box element */ + private errorMessageBox!: HTMLElement; + /** Error message text element */ + private errorMessageText!: HTMLElement; + /** Certificate acceptance link container */ + private certAcceptanceLink!: HTMLElement; + /** Certificate acceptance link anchor */ + private certLink!: HTMLAnchorElement; + /** Flag to track if the 2D UI has been initialized */ + private initialized: boolean = false; + + /** Current form configuration state */ + private currentConfiguration: CloudXRConfig; + /** Callback function for configuration changes */ + private onConfigurationChange: ((config: CloudXRConfig) => void) | null = null; + /** Connect button click handler for cleanup */ + private handleConnectClick: ((event: Event) => void) | null = null; + /** Array to store all event listeners for proper cleanup */ + private eventListeners: Array<{ + element: HTMLElement; + event: string; + handler: EventListener; + }> = []; + /** Cleanup function for certificate acceptance link */ + private certLinkCleanup: (() => void) | null = null; + + /** + * Creates a new CloudXR2DUI instance + * @param onConfigurationChange - Callback function called when configuration changes + */ + constructor(onConfigurationChange?: (config: CloudXRConfig) => void) { + this.onConfigurationChange = onConfigurationChange || null; + this.currentConfiguration = this.getDefaultConfiguration(); + } + + /** + * Initializes the CloudXR2DUI with all necessary components and event handlers + */ + public initialize(): void { + if (this.initialized) { + return; + } + + try { + this.initializeElements(); + this.setupLocalStorage(); + this.setupProxyConfiguration(); + this.setupEventListeners(); + this.updateConfiguration(); + this.setStartButtonState(false, 'CONNECT'); + this.initialized = true; + } catch (error) { + // Continue with default values if initialization fails + this.showError(`Failed to initialize CloudXR2DUI: ${error}`); + } + } + + /** + * Initializes all DOM element references by their IDs + * Throws an error if any required element is not found + */ + private initializeElements(): void { + this.startButton = this.getElement('startButton'); + this.serverIpInput = this.getElement('serverIpInput'); + this.portInput = this.getElement('portInput'); + this.proxyUrlInput = this.getElement('proxyUrl'); + this.immersiveSelect = this.getElement('immersive'); + this.deviceFrameRateSelect = this.getElement('deviceFrameRate'); + this.maxStreamingBitrateMbpsSelect = + this.getElement('maxStreamingBitrateMbps'); + this.perEyeWidthInput = this.getElement('perEyeWidth'); + this.perEyeHeightInput = this.getElement('perEyeHeight'); + this.serverTypeSelect = this.getElement('serverType'); + this.appSelect = this.getElement('app'); + this.referenceSpaceSelect = this.getElement('referenceSpace'); + this.xrOffsetXInput = this.getElement('xrOffsetX'); + this.xrOffsetYInput = this.getElement('xrOffsetY'); + this.xrOffsetZInput = this.getElement('xrOffsetZ'); + this.proxyDefaultText = this.getElement('proxyDefaultText'); + this.errorMessageBox = this.getElement('errorMessageBox'); + this.errorMessageText = this.getElement('errorMessageText'); + this.certAcceptanceLink = this.getElement('certAcceptanceLink'); + this.certLink = this.getElement('certLink'); + } + + /** + * Gets a DOM element by ID with type safety + * @param id - The element ID to find + * @returns The found element with the specified type + * @throws Error if element is not found + */ + private getElement(id: string): T { + const element = document.getElementById(id) as T; + if (!element) { + throw new Error(`Element with id '${id}' not found`); + } + return element; + } + + /** + * Gets the default configuration values + * @returns Default configuration object + */ + private getDefaultConfiguration(): CloudXRConfig { + const useSecure = typeof window !== 'undefined' ? window.location.protocol === 'https:' : false; + // Default port: HTTP → 49100, HTTPS without proxy → 48322, HTTPS with proxy → 443 + const defaultPort = useSecure ? 48322 : 49100; + return { + serverIP: '127.0.0.1', + port: defaultPort, + useSecureConnection: useSecure, + perEyeWidth: 2048, + perEyeHeight: 1792, + deviceFrameRate: 90, + maxStreamingBitrateMbps: 150, + immersiveMode: 'ar', + app: 'generic', + serverType: 'manual', + proxyUrl: '', + referenceSpaceType: 'auto', + }; + } + + /** + * Enables localStorage persistence for form inputs + * Automatically saves and restores user preferences + */ + private setupLocalStorage(): void { + enableLocalStorage(this.serverTypeSelect, 'serverType'); + enableLocalStorage(this.serverIpInput, 'serverIp'); + enableLocalStorage(this.portInput, 'port'); + enableLocalStorage(this.perEyeWidthInput, 'perEyeWidth'); + enableLocalStorage(this.perEyeHeightInput, 'perEyeHeight'); + enableLocalStorage(this.proxyUrlInput, 'proxyUrl'); + enableLocalStorage(this.deviceFrameRateSelect, 'deviceFrameRate'); + enableLocalStorage(this.maxStreamingBitrateMbpsSelect, 'maxStreamingBitrateMbps'); + enableLocalStorage(this.immersiveSelect, 'immersiveMode'); + enableLocalStorage(this.appSelect, 'app'); + enableLocalStorage(this.referenceSpaceSelect, 'referenceSpace'); + enableLocalStorage(this.xrOffsetXInput, 'xrOffsetX'); + enableLocalStorage(this.xrOffsetYInput, 'xrOffsetY'); + enableLocalStorage(this.xrOffsetZInput, 'xrOffsetZ'); + } + + /** + * Configures proxy settings based on the current protocol (HTTP/HTTPS) + * Sets appropriate placeholders and help text for port and proxy URL inputs + */ + private setupProxyConfiguration(): void { + // Update port placeholder based on protocol + if (window.location.protocol === 'https:') { + this.portInput.placeholder = 'Port (default: 48322, or 443 if proxy URL set)'; + } else { + this.portInput.placeholder = 'Port (default: 49100)'; + } + + // Set default text and placeholder based on protocol + if (window.location.protocol === 'https:') { + this.proxyDefaultText.textContent = + 'Optional: Leave empty for direct WSS connection, or provide URL for proxy routing (e.g., https://proxy.example.com/)'; + this.proxyUrlInput.placeholder = ''; + } else { + this.proxyDefaultText.textContent = 'Not needed for HTTP - uses direct WS connection'; + this.proxyUrlInput.placeholder = ''; + } + } + + /** + * Sets up event listeners for form input changes + * Handles both input and change events for better compatibility + */ + private setupEventListeners(): void { + // Update configuration when form inputs change + const updateConfig = () => this.updateConfiguration(); + + // Helper function to add listeners and store them for cleanup + const addListener = (element: HTMLElement, event: string, handler: EventListener) => { + element.addEventListener(event, handler); + this.eventListeners.push({ element, event, handler }); + }; + + // Add event listeners for all form fields + addListener(this.serverTypeSelect, 'change', updateConfig); + addListener(this.serverIpInput, 'input', updateConfig); + addListener(this.serverIpInput, 'change', updateConfig); + addListener(this.portInput, 'input', updateConfig); + addListener(this.portInput, 'change', updateConfig); + addListener(this.perEyeWidthInput, 'input', updateConfig); + addListener(this.perEyeWidthInput, 'change', updateConfig); + addListener(this.perEyeHeightInput, 'input', updateConfig); + addListener(this.perEyeHeightInput, 'change', updateConfig); + addListener(this.deviceFrameRateSelect, 'change', updateConfig); + addListener(this.maxStreamingBitrateMbpsSelect, 'change', updateConfig); + addListener(this.immersiveSelect, 'change', updateConfig); + addListener(this.appSelect, 'change', updateConfig); + addListener(this.referenceSpaceSelect, 'change', updateConfig); + addListener(this.xrOffsetXInput, 'input', updateConfig); + addListener(this.xrOffsetXInput, 'change', updateConfig); + addListener(this.xrOffsetYInput, 'input', updateConfig); + addListener(this.xrOffsetYInput, 'change', updateConfig); + addListener(this.xrOffsetZInput, 'input', updateConfig); + addListener(this.xrOffsetZInput, 'change', updateConfig); + addListener(this.proxyUrlInput, 'input', updateConfig); + addListener(this.proxyUrlInput, 'change', updateConfig); + + // Set up certificate acceptance link and store cleanup function + this.certLinkCleanup = setupCertificateAcceptanceLink( + this.serverIpInput, + this.portInput, + this.proxyUrlInput, + this.certAcceptanceLink, + this.certLink + ); + } + + /** + * Updates the current configuration from form values + * Calls the configuration change callback if provided + */ + private updateConfiguration(): void { + const useSecure = this.getDefaultConfiguration().useSecureConnection; + const portValue = parseInt(this.portInput.value); + const hasProxy = this.proxyUrlInput.value.trim().length > 0; + + // Smart default port based on connection type and proxy usage + let defaultPort = 49100; // HTTP default + if (useSecure) { + defaultPort = hasProxy ? 443 : 48322; // HTTPS with proxy → 443, HTTPS without → 48322 + } + + const newConfiguration: CloudXRConfig = { + serverIP: this.serverIpInput.value || this.getDefaultConfiguration().serverIP, + port: portValue || defaultPort, + useSecureConnection: useSecure, + perEyeWidth: + parseInt(this.perEyeWidthInput.value) || this.getDefaultConfiguration().perEyeWidth, + perEyeHeight: + parseInt(this.perEyeHeightInput.value) || this.getDefaultConfiguration().perEyeHeight, + deviceFrameRate: + parseInt(this.deviceFrameRateSelect.value) || + this.getDefaultConfiguration().deviceFrameRate, + maxStreamingBitrateMbps: + parseInt(this.maxStreamingBitrateMbpsSelect.value) || + this.getDefaultConfiguration().maxStreamingBitrateMbps, + immersiveMode: + (this.immersiveSelect.value as 'ar' | 'vr') || this.getDefaultConfiguration().immersiveMode, + app: this.appSelect.value || this.getDefaultConfiguration().app, + serverType: this.serverTypeSelect.value || this.getDefaultConfiguration().serverType, + proxyUrl: this.proxyUrlInput.value || this.getDefaultConfiguration().proxyUrl, + referenceSpaceType: + (this.referenceSpaceSelect.value as 'auto' | 'local-floor' | 'local' | 'viewer') || + this.getDefaultConfiguration().referenceSpaceType, + // Convert cm from UI into meters for config (respect 0; if invalid, use 0) + xrOffsetX: (() => { + const v = parseFloat(this.xrOffsetXInput.value); + return Number.isFinite(v) ? v / 100 : 0; + })(), + xrOffsetY: (() => { + const v = parseFloat(this.xrOffsetYInput.value); + return Number.isFinite(v) ? v / 100 : 0; + })(), + xrOffsetZ: (() => { + const v = parseFloat(this.xrOffsetZInput.value); + return Number.isFinite(v) ? v / 100 : 0; + })(), + }; + + this.currentConfiguration = newConfiguration; + + // Call the configuration change callback if provided + if (this.onConfigurationChange) { + this.onConfigurationChange(newConfiguration); + } + } + + /** + * Gets the current configuration + * @returns Current configuration object + */ + public getConfiguration(): CloudXRConfig { + return { ...this.currentConfiguration }; + } + + /** + * Sets the start button state + * @param disabled - Whether the button should be disabled + * @param text - Text to display on the button + */ + public setStartButtonState(disabled: boolean, text: string): void { + if (this.startButton) { + this.startButton.disabled = disabled; + this.startButton.innerHTML = text; + } + } + + /** + * Sets up the connect button click handler + * @param onConnect - Function to call when connect button is clicked + * @param onError - Function to call when an error occurs + */ + public setupConnectButtonHandler( + onConnect: () => Promise, + onError: (error: Error) => void + ): void { + if (this.startButton) { + // Remove any existing listener + if (this.handleConnectClick) { + this.startButton.removeEventListener('click', this.handleConnectClick); + } + + // Create new handler + this.handleConnectClick = async () => { + // Disable button during XR session + this.setStartButtonState(true, 'CONNECT (starting XR session...)'); + + try { + await onConnect(); + } catch (error) { + this.setStartButtonState(false, 'CONNECT'); + onError(error as Error); + } + }; + + // Add the new listener + this.startButton.addEventListener('click', this.handleConnectClick); + } + } + + /** + * Shows a status message in the UI with a specific type + * @param message - Message to display + * @param type - Message type: 'success', 'error', or 'info' + */ + public showStatus(message: string, type: 'success' | 'error' | 'info'): void { + if (this.errorMessageText && this.errorMessageBox) { + this.errorMessageText.textContent = message; + this.errorMessageBox.className = `error-message-box show ${type}`; + } + console[type === 'error' ? 'error' : 'info'](message); + } + + /** + * Shows an error message in the UI + * @param message - Error message to display + */ + public showError(message: string): void { + this.showStatus(message, 'error'); + } + + /** + * Hides the error message + */ + public hideError(): void { + if (this.errorMessageBox) { + this.errorMessageBox.classList.remove('show'); + } + } + + /** + * Cleans up event listeners and resources + * Should be called when the component unmounts + */ + public cleanup(): void { + // Remove all stored event listeners + this.eventListeners.forEach(({ element, event, handler }) => { + element.removeEventListener(event, handler); + }); + this.eventListeners = []; + + // Remove CONNECT button listener + if (this.startButton && this.handleConnectClick) { + this.startButton.removeEventListener('click', this.handleConnectClick); + this.handleConnectClick = null; + } + + // Clean up certificate acceptance link listeners + if (this.certLinkCleanup) { + this.certLinkCleanup(); + this.certLinkCleanup = null; + } + } +} diff --git a/deps/cloudxr/react/src/CloudXRComponent.tsx b/deps/cloudxr/react/src/CloudXRComponent.tsx new file mode 100644 index 0000000..9b36ce6 --- /dev/null +++ b/deps/cloudxr/react/src/CloudXRComponent.tsx @@ -0,0 +1,288 @@ +/** + * CloudXRComponent.tsx - CloudXR WebXR Integration Component + * + * This component handles the core CloudXR streaming functionality and WebXR integration. + * It manages: + * - CloudXR session lifecycle (creation, connection, disconnection, cleanup) + * - WebXR session event handling (sessionstart, sessionend) + * - WebGL state management and render target preservation + * - Frame-by-frame rendering loop with pose tracking and stream rendering + * - Server configuration and connection parameters + * - Status reporting back to parent components + * + * The component accepts configuration via props and communicates status changes + * and disconnect requests through callback props. It integrates with Three.js + * and React Three Fiber for WebXR rendering while preserving WebGL state + * for CloudXR's custom rendering pipeline. + */ + +import { getConnectionConfig, ConnectionConfiguration, CloudXRConfig } from '@helpers/utils'; +import { bindGL } from '@helpers/WebGLStateBinding'; +import * as CloudXR from '@nvidia/cloudxr'; +import { useThree, useFrame } from '@react-three/fiber'; +import { useXR } from '@react-three/xr'; +import { useRef, useEffect } from 'react'; +import type { WebGLRenderer } from 'three'; + +interface CloudXRComponentProps { + config: CloudXRConfig; + onStatusChange?: (isConnected: boolean, status: string) => void; + onError?: (error: string) => void; + onSessionReady?: (session: CloudXR.Session | null) => void; + onServerAddress?: (address: string) => void; +} + +// React component that integrates CloudXR with Three.js/WebXR +// This component handles the CloudXR session lifecycle and render loop +export default function CloudXRComponent({ + config, + onStatusChange, + onError, + onSessionReady, + onServerAddress, +}: CloudXRComponentProps) { + const threeRenderer: WebGLRenderer = useThree().gl; + const { session } = useXR(); + // React reference to the CloudXR session that persists across re-renders. + const cxrSessionRef = useRef(null); + + // Disable Three.js so it doesn't clear the framebuffer after CloudXR renders. + threeRenderer.autoClear = false; + + // Access Three.js WebXRManager and WebGL context. + const gl: WebGL2RenderingContext = threeRenderer.getContext() as WebGL2RenderingContext; + + const trackedGL = bindGL(gl); + + // Set up event listeners in useEffect to add them only once + useEffect(() => { + const webXRManager = threeRenderer.xr; + + if (webXRManager) { + const handleSessionStart = async () => { + // Explicitly request the desired reference space from the XRSession to avoid + // inheriting a default 'local-floor' space that could stack with UI offsets. + let referenceSpace: XRReferenceSpace | null = null; + try { + const xrSession: XRSession | null = (webXRManager as any).getSession + ? (webXRManager as any).getSession() + : null; + if (xrSession) { + if (config.referenceSpaceType === 'auto') { + const fallbacks: XRReferenceSpaceType[] = [ + 'local-floor', + 'local', + 'viewer', + 'unbounded', + ]; + for (const t of fallbacks) { + try { + referenceSpace = await xrSession.requestReferenceSpace(t); + if (referenceSpace) break; + } catch (_) {} + } + } else { + try { + referenceSpace = await xrSession.requestReferenceSpace( + config.referenceSpaceType as XRReferenceSpaceType + ); + } catch (error) { + console.error( + `Failed to request reference space '${config.referenceSpaceType}':`, + error + ); + } + } + } + } catch (error) { + console.error('Failed to request XR reference space:', error); + referenceSpace = null; + } + + if (!referenceSpace) { + // As a last resort, fall back to WebXRManager's current reference space + referenceSpace = webXRManager.getReferenceSpace(); + } + + if (referenceSpace) { + // Ensure that the session is not already created. + if (cxrSessionRef.current) { + console.error('CloudXR session already exists'); + return; + } + + const glBinding = webXRManager.getBinding(); + if (!glBinding) { + console.warn('No WebGL binding found'); + } + + // Apply proxy configuration logic + let connectionConfig: ConnectionConfiguration; + try { + connectionConfig = getConnectionConfig(config.serverIP, config.port, config.proxyUrl); + onServerAddress?.(connectionConfig.serverIP); + } catch (error) { + onStatusChange?.(false, 'Configuration Error'); + onError?.(`Proxy configuration failed: ${error}`); + return; + } + + // Apply XR offset if provided in config (meters) + const offsetX = config.xrOffsetX || 0; + const offsetY = config.xrOffsetY || 0; + const offsetZ = config.xrOffsetZ || 0; + if (offsetX !== 0 || offsetY !== 0 || offsetZ !== 0) { + const offsetTransform = new XRRigidTransform( + { x: offsetX, y: offsetY, z: offsetZ }, + { x: 0, y: 0, z: 0, w: 1 } + ); + referenceSpace = referenceSpace.getOffsetReferenceSpace(offsetTransform); + } + + // Fill in CloudXR session options. + const cloudXROptions: CloudXR.SessionOptions = { + serverAddress: connectionConfig.serverIP, + serverPort: connectionConfig.port, + useSecureConnection: connectionConfig.useSecureConnection, + perEyeWidth: config.perEyeWidth, + perEyeHeight: config.perEyeHeight, + gl: gl, + referenceSpace: referenceSpace, + deviceFrameRate: config.deviceFrameRate, + maxStreamingBitrateKbps: config.maxStreamingBitrateMbps * 1000, // Convert Mbps to Kbps + glBinding: glBinding, + telemetry: { + enabled: true, + appInfo: { + version: '6.0.0-beta', + product: 'CloudXR.js React Example', + }, + }, + }; + + // Store the render target and key GL bindings to restore after CloudXR rendering + const cloudXRDelegates: CloudXR.SessionDelegates = { + onWebGLStateChangeBegin: () => { + // Save the current render target before CloudXR changes state + trackedGL.save(); + }, + onWebGLStateChangeEnd: () => { + // Restore the tracked GL state to the state before CloudXR rendering. + trackedGL.restore(); + }, + onStreamStarted: () => { + console.debug('CloudXR stream started'); + onStatusChange?.(true, 'Connected'); + }, + onStreamStopped: (error?: Error) => { + if (error) { + onStatusChange?.(false, 'Error'); + onError?.(`CloudXR session stopped with error: ${error.message}`); + } else { + console.debug('CloudXR session stopped'); + onStatusChange?.(false, 'Disconnected'); + } + // Clear the session reference + cxrSessionRef.current = null; + onSessionReady?.(null); + }, + }; + + // Create the CloudXR session. + let cxrSession: CloudXR.Session; + try { + cxrSession = CloudXR.createSession(cloudXROptions, cloudXRDelegates); + } catch (error) { + onStatusChange?.(false, 'Session Creation Failed'); + onError?.(`Failed to create CloudXR session: ${error}`); + return; + } + + // Store the session in the ref so it persists across re-renders + cxrSessionRef.current = cxrSession; + + // Notify parent that session is ready + onSessionReady?.(cxrSession); + + // Start session (synchronous call that initiates connection) + try { + cxrSession.connect(); + console.log('CloudXR session connect initiated'); + // Note: The session will transition to Connected state via the onStreamStarted callback + // Use cxrSession.state to check if streaming has actually started + } catch (error) { + onStatusChange?.(false, 'Connection Failed'); + // Report error via callback + onError?.('Failed to connect CloudXR session'); + // Clean up the failed session + cxrSessionRef.current = null; + } + } + }; + + const handleSessionEnd = () => { + if (cxrSessionRef.current) { + cxrSessionRef.current.disconnect(); + cxrSessionRef.current = null; + onSessionReady?.(null); + } + }; + + // Add start+end session event listeners to the WebXRManager. + webXRManager.addEventListener('sessionstart', handleSessionStart); + webXRManager.addEventListener('sessionend', handleSessionEnd); + + // Cleanup function to remove listeners + return () => { + webXRManager.removeEventListener('sessionstart', handleSessionStart); + webXRManager.removeEventListener('sessionend', handleSessionEnd); + }; + } + }, [threeRenderer, config]); // Re-register handlers when renderer or config changes + + // Custom render loop - runs every frame + useFrame((state, delta) => { + const webXRManager = threeRenderer.xr; + + if (webXRManager.isPresenting && session) { + // Access the current WebXR XRFrame + const xrFrame = state.gl.xr.getFrame(); + if (xrFrame) { + // Get THREE WebXRManager from the the useFrame state. + const webXRManager = state.gl.xr; + + if (!cxrSessionRef || !cxrSessionRef.current) { + console.debug('Skipping frame, no session yet'); + // Clear the framebuffer as we've set autoClear to false. + threeRenderer.clear(); + return; + } + + // Get session from reference. + const cxrSession: CloudXR.Session = cxrSessionRef.current; + + // If the CloudXR session is not connected, skip the frame. + if (cxrSession.state !== CloudXR.SessionState.Connected) { + console.debug('Skipping frame, session not connected, state:', cxrSession.state); + // Clear the framebuffer as we've set autoClear to false. + threeRenderer.clear(); + return; + } + + // Get timestamp from useFrame state and convert to milliseconds. + const timestamp: DOMHighResTimeStamp = state.clock.elapsedTime * 1000; + + // Send the tracking state (including viewer pose and hand/controller data) to the server, this will trigger server-side rendering for frame. + cxrSession.sendTrackingStateToServer(timestamp, xrFrame); + + // Get the WebXR layer from THREE WebXRManager. + let layer: XRWebGLLayer = webXRManager.getBaseLayer() as XRWebGLLayer; + + // Render the current streamed CloudXR frame (not the frame that was just sent to the server). + cxrSession.render(timestamp, xrFrame, layer); + } + } + }, -1000); + + return null; +} diff --git a/deps/cloudxr/react/src/CloudXRUI.tsx b/deps/cloudxr/react/src/CloudXRUI.tsx new file mode 100644 index 0000000..c753072 --- /dev/null +++ b/deps/cloudxr/react/src/CloudXRUI.tsx @@ -0,0 +1,218 @@ +/** + * CloudXRUI.tsx - CloudXR User Interface Component + * + * This component renders the in-VR user interface for the CloudXR application using + * React Three UIKit. It provides: + * - CloudXR branding and title display + * - Server connection information and status display + * - Interactive control buttons (Start Teleop, Reset Teleop, Disconnect) + * - Responsive button layout with hover effects + * - Integration with parent component event handlers + * - Configurable position and rotation in world space for flexible UI placement + * + * The UI is positioned in 3D space and designed for VR/AR interaction with + * visual feedback and clear button labeling. All interactions are passed + * back to the parent component through callback props. + */ + +import { Container, Text, Image } from '@react-three/uikit'; +import { Button } from '@react-three/uikit-default'; +import React from 'react'; + +interface CloudXRUIProps { + onStartTeleop?: () => void; + onDisconnect?: () => void; + onResetTeleop?: () => void; + serverAddress?: string; + sessionStatus?: string; + playLabel?: string; + playDisabled?: boolean; + countdownSeconds?: number; + onCountdownIncrease?: () => void; + onCountdownDecrease?: () => void; + countdownDisabled?: boolean; + position?: [number, number, number]; + rotation?: [number, number, number]; +} + +export default function CloudXR3DUI({ + onStartTeleop, + onDisconnect, + onResetTeleop, + serverAddress = '127.0.0.1', + sessionStatus = 'Disconnected', + playLabel = 'Play', + playDisabled = false, + countdownSeconds, + onCountdownIncrease, + onCountdownDecrease, + countdownDisabled = false, + position = [1.8, 1.75, -1.3], + rotation = [0, -0.3, 0], +}: CloudXRUIProps) { + return ( + + + + {/* Title */} + + Controls + + + {/* Server Info */} + + Server address: {serverAddress} + + + Session status: {sessionStatus} + + + {/* Countdown Config Row */} + + + Countdown + + + + + {countdownSeconds}s + + + + + + {/* Button Grid */} + + {/* Start/reset row*/} + + + + + + + {/* Bottom Row */} + + + + + + + + ); +} diff --git a/deps/cloudxr/react/src/index.html b/deps/cloudxr/react/src/index.html new file mode 100644 index 0000000..404b491 --- /dev/null +++ b/deps/cloudxr/react/src/index.html @@ -0,0 +1,576 @@ + + + + + + + + + NVIDIA CloudXR.js React Three Fiber Example + + + + + +

+
+
+

NVIDIA CloudXR.js React Three Fiber Example

+
+ +
+ + +
+

Debug Settings

+ +
+ + + +
+ +
+
+ +
+ + + +
+ Select the target device frame rate for the XR session +
+
+ +
+ + + +
+ Select the maximum streaming bitrate (in Megabits per second) for the XR session +
+
+ +
+ + + + + +
+ Configure the per-eye resolution. Width and height must be multiples of 16. +
+
+ +
+ + +
+ Select the preferred reference space for XR tracking. "Auto" uses fallback logic (local-floor → local → viewer). Other options will attempt to use the specified space only. +
+ + + + + + + +
+ Configure the XR reference space offset in centimeters. These values will be applied to the reference space transform to adjust the origin position of the XR experience. +
+
+
+
+
+
+ + + \ No newline at end of file diff --git a/deps/cloudxr/react/src/index.tsx b/deps/cloudxr/react/src/index.tsx new file mode 100644 index 0000000..48169f4 --- /dev/null +++ b/deps/cloudxr/react/src/index.tsx @@ -0,0 +1,27 @@ +import React from 'react'; +import ReactDOM from 'react-dom/client'; + +import App from './App'; + +// Start the React app immediately in the 3d-ui container +function startApp() { + const reactContainer = document.getElementById('3d-ui'); + + if (reactContainer) { + const root = ReactDOM.createRoot(reactContainer); + root.render( + + + + ); + } else { + console.error('3d-ui container not found'); + } +} + +// Initialize the app when DOM is ready +if (document.readyState === 'loading') { + document.addEventListener('DOMContentLoaded', startApp); +} else { + startApp(); +} diff --git a/deps/cloudxr/react/tsconfig.json b/deps/cloudxr/react/tsconfig.json new file mode 100644 index 0000000..486f69a --- /dev/null +++ b/deps/cloudxr/react/tsconfig.json @@ -0,0 +1,27 @@ +{ + "compilerOptions": { + "target": "ES2020", + "lib": ["ES2020", "DOM", "DOM.Iterable"], + "module": "CommonJS", + "moduleResolution": "node", + "allowSyntheticDefaultImports": true, + "esModuleInterop": true, + "allowJs": true, + "skipLibCheck": true, + "strict": true, + "forceConsistentCasingInFileNames": true, + "noEmit": false, + "outDir": "./dist", + "incremental": true, + "resolveJsonModule": true, + "isolatedModules": true, + "noFallthroughCasesInSwitch": true, + "jsx": "react-jsx", + "baseUrl": ".", + "paths": { + "@helpers/*": ["../helpers/*"] + } + }, + "include": ["src/**/*"], + "exclude": ["node_modules", "dist"] +} \ No newline at end of file diff --git a/deps/cloudxr/react/webpack-plugins/DownloadAssetsPlugin.js b/deps/cloudxr/react/webpack-plugins/DownloadAssetsPlugin.js new file mode 100644 index 0000000..9433fcf --- /dev/null +++ b/deps/cloudxr/react/webpack-plugins/DownloadAssetsPlugin.js @@ -0,0 +1,109 @@ +const fs = require('fs'); +const path = require('path'); +const https = require('https'); + +class DownloadAssetsPlugin { + constructor(assets) { + this.assets = assets; + this.hasRun = false; + this.createdDirs = new Set(); + } + + safeUnlink(filePath) { + try { + fs.unlinkSync(filePath); + } catch (err) { + // Ignore cleanup errors + } + } + + apply(compiler) { + compiler.hooks.beforeCompile.tapAsync('DownloadAssetsPlugin', (params, callback) => { + // Only run once per webpack process + if (this.hasRun) { + callback(); + return; + } + + console.log('📦 Checking and downloading required assets...'); + + const downloadPromises = this.assets.map(asset => this.downloadFile(asset)); + + Promise.allSettled(downloadPromises) + .then((results) => { + const failed = results.filter(r => r.status === 'rejected'); + if (failed.length > 0) { + console.warn(`⚠️ ${failed.length} asset(s) failed to download, continuing anyway...`); + } + console.log('✅ Asset check complete!'); + this.hasRun = true; + callback(); + }); + }); + } + + downloadFile({ url, output }) { + return new Promise((resolve, reject) => { + // Ensure directory exists (only once per unique path) + if (!this.createdDirs.has(output)) { + fs.mkdirSync(output, { recursive: true }); + this.createdDirs.add(output); + } + + const filename = path.basename(url); + const filePath = path.join(output, filename); + + // Skip if file already exists + if (fs.existsSync(filePath)) { + resolve(); + return; + } + + console.log(` Downloading ${filename}...`); + + const file = fs.createWriteStream(filePath); + + const downloadFromUrl = (downloadUrl) => { + https.get(downloadUrl, (response) => { + // Handle redirects + if (response.statusCode === 302 || response.statusCode === 301) { + file.close(); + this.safeUnlink(filePath); + downloadFromUrl(response.headers.location); + return; + } + + if (response.statusCode !== 200) { + file.close(); + this.safeUnlink(filePath); + reject(new Error(`Failed to download ${filename}: HTTP ${response.statusCode}`)); + return; + } + + response.pipe(file); + + file.on('finish', () => { + file.close(); + console.log(` ✓ Downloaded ${filename}`); + resolve(); + }); + + file.on('error', (err) => { + this.safeUnlink(filePath); + reject(err); + }); + }).on('error', (err) => { + if (fs.existsSync(filePath)) { + this.safeUnlink(filePath); + } + reject(err); + }); + }; + + downloadFromUrl(url); + }); + } +} + +module.exports = DownloadAssetsPlugin; + diff --git a/deps/cloudxr/react/webpack.common.js b/deps/cloudxr/react/webpack.common.js new file mode 100644 index 0000000..4304484 --- /dev/null +++ b/deps/cloudxr/react/webpack.common.js @@ -0,0 +1,168 @@ +const path = require('path'); +const HtmlWebpackPlugin = require('html-webpack-plugin'); +const CopyWebpackPlugin = require('copy-webpack-plugin'); +const webpack = require('webpack'); +const DownloadAssetsPlugin = require('./webpack-plugins/DownloadAssetsPlugin'); + +const WEBXR_ASSETS_VERSION = '1.0.19'; + +module.exports = { + entry: './src/index.tsx', + + // Module rules define how different file types are processed + module: { + rules: [ + { + test: /\.tsx?$/, + use: { + loader: 'ts-loader', + options: { + // Only transpile, don't type-check (faster builds) + transpileOnly: true, + }, + }, + exclude: /node_modules/, + }, + { + test: /\.css$/, + use: ['style-loader', 'css-loader'], + }, + ], + }, + + // Resolve configuration for module resolution + resolve: { + extensions: ['.tsx', '.ts', '.js'], + alias: { + // @helpers can be used instead of relative paths to the helpers directory + '@helpers': path.resolve(__dirname, '../helpers') + } + }, + + // Output configuration for bundled files + output: { + filename: 'bundle.js', + path: path.resolve(__dirname, './build'), + }, + + // Webpack plugins that extend webpack's functionality + plugins: [ + // Generates HTML file and automatically injects bundled JavaScript + new HtmlWebpackPlugin({ + template: './src/index.html', + favicon: './favicon.ico' + }), + + // Inject environment variables + new webpack.DefinePlugin({ + 'process.env.WEBXR_ASSETS_VERSION': JSON.stringify(WEBXR_ASSETS_VERSION), + }), + + // Download external assets during build + new DownloadAssetsPlugin([ + // HDRI environment map + { + url: 'https://dl.polyhaven.org/file/ph-assets/HDRIs/hdr/1k/potsdamer_platz_1k.hdr', + output: path.resolve(__dirname, 'public/assets/hdri') + }, + // WebXR controller profiles + { + url: `https://cdn.jsdelivr.net/npm/@webxr-input-profiles/assets@${WEBXR_ASSETS_VERSION}/dist/profiles/profilesList.json`, + output: path.resolve(__dirname, `public/npm/@webxr-input-profiles/assets@${WEBXR_ASSETS_VERSION}/dist/profiles`) + }, + // Generic hand profile + { + url: `https://cdn.jsdelivr.net/npm/@webxr-input-profiles/assets@${WEBXR_ASSETS_VERSION}/dist/profiles/generic-hand/profile.json`, + output: path.resolve(__dirname, `public/npm/@webxr-input-profiles/assets@${WEBXR_ASSETS_VERSION}/dist/profiles/generic-hand`) + }, + { + url: `https://cdn.jsdelivr.net/npm/@webxr-input-profiles/assets@${WEBXR_ASSETS_VERSION}/dist/profiles/generic-hand/left.glb`, + output: path.resolve(__dirname, `public/npm/@webxr-input-profiles/assets@${WEBXR_ASSETS_VERSION}/dist/profiles/generic-hand`) + }, + { + url: `https://cdn.jsdelivr.net/npm/@webxr-input-profiles/assets@${WEBXR_ASSETS_VERSION}/dist/profiles/generic-hand/right.glb`, + output: path.resolve(__dirname, `public/npm/@webxr-input-profiles/assets@${WEBXR_ASSETS_VERSION}/dist/profiles/generic-hand`) + }, + // Generic trigger profile + { + url: `https://cdn.jsdelivr.net/npm/@webxr-input-profiles/assets@${WEBXR_ASSETS_VERSION}/dist/profiles/generic-trigger/profile.json`, + output: path.resolve(__dirname, `public/npm/@webxr-input-profiles/assets@${WEBXR_ASSETS_VERSION}/dist/profiles/generic-trigger`) + }, + { + url: `https://cdn.jsdelivr.net/npm/@webxr-input-profiles/assets@${WEBXR_ASSETS_VERSION}/dist/profiles/generic-trigger/left.glb`, + output: path.resolve(__dirname, `public/npm/@webxr-input-profiles/assets@${WEBXR_ASSETS_VERSION}/dist/profiles/generic-trigger`) + }, + { + url: `https://cdn.jsdelivr.net/npm/@webxr-input-profiles/assets@${WEBXR_ASSETS_VERSION}/dist/profiles/generic-trigger/right.glb`, + output: path.resolve(__dirname, `public/npm/@webxr-input-profiles/assets@${WEBXR_ASSETS_VERSION}/dist/profiles/generic-trigger`) + }, + // Oculus Touch v2 + { + url: `https://cdn.jsdelivr.net/npm/@webxr-input-profiles/assets@${WEBXR_ASSETS_VERSION}/dist/profiles/oculus-touch-v2/profile.json`, + output: path.resolve(__dirname, `public/npm/@webxr-input-profiles/assets@${WEBXR_ASSETS_VERSION}/dist/profiles/oculus-touch-v2`) + }, + { + url: `https://cdn.jsdelivr.net/npm/@webxr-input-profiles/assets@${WEBXR_ASSETS_VERSION}/dist/profiles/oculus-touch-v2/left.glb`, + output: path.resolve(__dirname, `public/npm/@webxr-input-profiles/assets@${WEBXR_ASSETS_VERSION}/dist/profiles/oculus-touch-v2`) + }, + { + url: `https://cdn.jsdelivr.net/npm/@webxr-input-profiles/assets@${WEBXR_ASSETS_VERSION}/dist/profiles/oculus-touch-v2/right.glb`, + output: path.resolve(__dirname, `public/npm/@webxr-input-profiles/assets@${WEBXR_ASSETS_VERSION}/dist/profiles/oculus-touch-v2`) + }, + // Oculus Touch v3 + { + url: `https://cdn.jsdelivr.net/npm/@webxr-input-profiles/assets@${WEBXR_ASSETS_VERSION}/dist/profiles/oculus-touch-v3/profile.json`, + output: path.resolve(__dirname, `public/npm/@webxr-input-profiles/assets@${WEBXR_ASSETS_VERSION}/dist/profiles/oculus-touch-v3`) + }, + { + url: `https://cdn.jsdelivr.net/npm/@webxr-input-profiles/assets@${WEBXR_ASSETS_VERSION}/dist/profiles/oculus-touch-v3/left.glb`, + output: path.resolve(__dirname, `public/npm/@webxr-input-profiles/assets@${WEBXR_ASSETS_VERSION}/dist/profiles/oculus-touch-v3`) + }, + { + url: `https://cdn.jsdelivr.net/npm/@webxr-input-profiles/assets@${WEBXR_ASSETS_VERSION}/dist/profiles/oculus-touch-v3/right.glb`, + output: path.resolve(__dirname, `public/npm/@webxr-input-profiles/assets@${WEBXR_ASSETS_VERSION}/dist/profiles/oculus-touch-v3`) + }, + // Meta Quest Touch Plus + { + url: `https://cdn.jsdelivr.net/npm/@webxr-input-profiles/assets@${WEBXR_ASSETS_VERSION}/dist/profiles/meta-quest-touch-plus/profile.json`, + output: path.resolve(__dirname, `public/npm/@webxr-input-profiles/assets@${WEBXR_ASSETS_VERSION}/dist/profiles/meta-quest-touch-plus`) + }, + { + url: `https://cdn.jsdelivr.net/npm/@webxr-input-profiles/assets@${WEBXR_ASSETS_VERSION}/dist/profiles/meta-quest-touch-plus/left.glb`, + output: path.resolve(__dirname, `public/npm/@webxr-input-profiles/assets@${WEBXR_ASSETS_VERSION}/dist/profiles/meta-quest-touch-plus`) + }, + { + url: `https://cdn.jsdelivr.net/npm/@webxr-input-profiles/assets@${WEBXR_ASSETS_VERSION}/dist/profiles/meta-quest-touch-plus/right.glb`, + output: path.resolve(__dirname, `public/npm/@webxr-input-profiles/assets@${WEBXR_ASSETS_VERSION}/dist/profiles/meta-quest-touch-plus`) + }, + // Pico 4 Ultra + { + url: `https://cdn.jsdelivr.net/npm/@webxr-input-profiles/assets@${WEBXR_ASSETS_VERSION}/dist/profiles/pico-4u/profile.json`, + output: path.resolve(__dirname, `public/npm/@webxr-input-profiles/assets@${WEBXR_ASSETS_VERSION}/dist/profiles/pico-4u`) + }, + { + url: `https://cdn.jsdelivr.net/npm/@webxr-input-profiles/assets@${WEBXR_ASSETS_VERSION}/dist/profiles/pico-4u/left.glb`, + output: path.resolve(__dirname, `public/npm/@webxr-input-profiles/assets@${WEBXR_ASSETS_VERSION}/dist/profiles/pico-4u`) + }, + { + url: `https://cdn.jsdelivr.net/npm/@webxr-input-profiles/assets@${WEBXR_ASSETS_VERSION}/dist/profiles/pico-4u/right.glb`, + output: path.resolve(__dirname, `public/npm/@webxr-input-profiles/assets@${WEBXR_ASSETS_VERSION}/dist/profiles/pico-4u`) + }, + ]), + + // Copies static assets from public directory to build output + new CopyWebpackPlugin({ + patterns: [ + { + from: 'public', + to: '.', + globOptions: { + // Don't copy index.html since HtmlWebpackPlugin handles it + ignore: ['**/index.html'], + }, + }, + { from: './favicon.ico', to: 'favicon.ico' }, + ], + }), + ], +}; diff --git a/deps/cloudxr/react/webpack.dev.js b/deps/cloudxr/react/webpack.dev.js new file mode 100644 index 0000000..8bd22f3 --- /dev/null +++ b/deps/cloudxr/react/webpack.dev.js @@ -0,0 +1,46 @@ +const { merge } = require('webpack-merge') +const common = require('./webpack.common.js') +const path = require('path') + +// Check if HTTPS mode is enabled via environment variable +const useHttps = process.env.HTTPS === 'true' + +module.exports = merge(common, { + mode: 'development', + devtool: 'eval-source-map', + devServer: { + allowedHosts: 'all', + hot: true, + open: false, + // Enable HTTPS with self-signed certificate when HTTPS=true + ...(useHttps && { server: 'https' }), + static: [ + { + directory: path.join(__dirname, './build'), + }, + { + directory: path.join(__dirname, './public'), + publicPath: '/', + }, + ], + watchFiles: { + paths: ['src/**/*', '../../build/**/*'], + options: { + usePolling: false, + ignored: /node_modules/, + }, + }, + client: { + progress: true, + overlay: { + errors: true, + warnings: false, + }, + }, + devMiddleware: { + writeToDisk: true, + }, + compress: true, + port: 8080, + }, +}) diff --git a/deps/cloudxr/react/webpack.prod.js b/deps/cloudxr/react/webpack.prod.js new file mode 100644 index 0000000..4f7d055 --- /dev/null +++ b/deps/cloudxr/react/webpack.prod.js @@ -0,0 +1,6 @@ +const { merge } = require('webpack-merge'); +const common = require('./webpack.common.js'); + +module.exports = merge(common, { + mode: 'production' +}); diff --git a/deps/cloudxr/simple/LICENSE b/deps/cloudxr/simple/LICENSE new file mode 100644 index 0000000..5e53852 --- /dev/null +++ b/deps/cloudxr/simple/LICENSE @@ -0,0 +1,307 @@ +NVIDIA SOFTWARE EVALUATION LICENSE AGREEMENT + +IMPORTANT NOTICE – PLEASE READ AND AGREE BEFORE USING THE SOFTWARE + +This software evaluation license agreement (“Agreement”) is a legal agreement between you, whether an +individual or entity, (“you”) and NVIDIA Corporation and its affiliates (“NVIDIA”) and governs the use of certain +NVIDIA CloudXR software and documentation that NVIDIA delivers to you under this Agreement (“Software”). +NVIDIA and you are each a “party” and collectively the “parties.” +This Agreement can be accepted only by an adult of legal age of majority in the country in which the Software is +used. If you don’t have the required age or authority to accept this Agreement, or if you don’t accept all the +terms and conditions of this Agreement, do not use the Software. + +1. License Grants. + +1.1 License Grant to You. The Software is licensed, not sold. Subject to the terms of this Agreement, +NVIDIA grants you a limited, non-exclusive, revocable, non-transferable, non-sublicensable (except +as expressly granted in this Agreement), license to: +(a) access, install and use copies of the Software, +(b) configure the Software using configuration files provided (if applicable), +(c) modify and create derivative works of any source code NVIDIA delivers to you as part of the +Software (“Derivatives”) (if applicable). + +All the foregoing grants are only for internal test and evaluation purposes and, as applicable, for use (a) in +client systems, or (b) in server systems with NVIDIA GPUs (“Purpose”). + +1.2 License Grant to NVIDIA. Subject to the terms of this Agreement, you grant NVIDIA a non-exclusive, +perpetual, irrevocable, sublicensable, worldwide, royalty-free, fully paid-up and transferable license, +under your intellectual property rights, to publicly perform, publicly display, reproduce, use, make, +have made, sell, offer for sale, distribute (through multiple tiers of distribution), import, create +derivative works of and otherwise commercialize and exploit at NVIDIA’s discretion any Derivatives +created by or for you. You may, but are not required to, deliver any Derivatives to NVIDIA. + +2. License Restrictions. Your license to use the Software and Derivatives is restricted as stated in this “License +Restrictions” Section. You will cooperate with NVIDIA and, upon NVIDIA’s written request, you will confirm +in writing and provide reasonably requested information to verify your compliance with the terms of this +Agreement. You may not: + +2.1 Use the Software or Derivatives for any purpose other than the Purpose, including but not limited to +in production; + +2.2 Sell, rent, sublicense, transfer, distribute or otherwise make available to others (except Authorized +Users as stated in the “Authorized Users” Section) any portion of the Software or Derivatives, except +as expressly granted in Section 1.1 (“License Grant to You”); + +2.3 Reverse engineer, decompile, or disassemble the Software components provided in binary form, nor +attempt in any other manner to obtain source code of such Software; + +2.4 Modify or create derivative works of the Software, except as expressly granted in Section 1.1 +(“License Grant to You”); + +2.5 Change or remove copyright or other proprietary notices in the Software; + +2.6 Bypass, disable, or circumvent any technical limitation, encryption, security, digital rights +management or authentication mechanism in the Software; + +2.7 Use the Software or Derivatives in any manner that would cause them to become subject to an open +source software license; subject to the terms in Section 7 (“Components Under Other Licenses”); + +2.8 Use the Software or Derivatives for the purpose of developing competing products or technologies +or assist a third party in such activities; + +2.9 Replace any Software components governed by this Agreement with other software that +implements NVIDIA APIs; + +2.10 Use the Software or Derivatives in violation of any applicable law or regulation in the relevant +jurisdictions; or + +2.11 Use the Software in or with any system or application where the use or failure of such system or +application developed or deployed with Software could result in injury, death or catastrophic +damage (“Mission Critical Applications”). NVIDIA will not be liable to you or any third party, in whole +or in part, for any claims or damages arising from uses in Mission Critical Applications. + +2.12 Disclose any evaluation or test results regarding the Software or Derivatives without NVIDIA’s prior +written consent. + +3. Authorized Users. You may allow employees and contractors of your entity or of your subsidiary(ies), and +for educational institutions also enrolled students, to internally access and use the Software as authorized +by this Agreement from your secure network to perform the work authorized by this Agreement on your +behalf. You are responsible for the compliance with the terms of this Agreement by your authorized users. +Any act or omission that if committed by you would constitute a breach of this Agreement will be deemed to +constitute a breach of this Agreement if committed by your authorized users. + +4. Pre-Release. Software versions identified as alpha, beta, preview, early access or otherwise as pre-release +may not be fully functional, may contain errors or design flaws, and may have reduced or different security, +privacy, availability and reliability standards relative to NVIDIA commercial offerings. You use pre-release +Software at your own risk. NVIDIA did not design or test the Software for use in production or business +critical systems. NVIDIA may choose not to make available a commercial version of pre-release Software. +NVIDIA may also choose to abandon development and terminate the availability of pre-release Software at +any time without liability. + +5. Your Privacy: Collection and Use of Information. + +5.1 Privacy Policy. Please review the NVIDIA Privacy Policy, located at https://www.nvidia.com/enus/about-nvidia/privacy-policy, which explains NVIDIA’s policy for collecting and using data, as well +as visit the NVIDIA Privacy Center, located at https://www.nvidia.com/en-us/privacy-center, to +manage your consent and privacy preferences. + +5.2 Collection Purposes. You also acknowledge that the Software collects data for the following +purposes: (a) properly configure and optimize products for use with Software; and (b) improve +NVIDIA products and services. Information collected by the Software includes: (i) application +configuration; (ii) browser version; (iii) and session metadata (i.e. performance and usage +statistics). Additionally, NVIDIA may collect certain personal information, such as your name +and email address or those of your authorized users, and other information necessary to +authenticate and enable you or your authorized users’ access to the Software. Where appropriate +you will disclose to, and obtain any necessary consent from, your authorized users to allow NVIDIA +to collect such information. + +5.3 Third Party Privacy Practices. The Software may contain links to third party websites and services. +NVIDIA encourages you to review the privacy statements on those sites and services that you choose +to visit to understand how they may collect, use and share your data. NVIDIA is not responsible for +the privacy statements or practices of third-party sites or services. + +6. Updates. NVIDIA may at any time and at its option, change, discontinue, or deprecate any part, or all, of the +Software, or change or remove features or functionality, or make available patches, workarounds or other +updates to the Software. Unless the updates are provided with their separate governing terms, they are +deemed part of the Software licensed to you under this Agreement, and your continued use of the Software +is deemed acceptance of such changes. + +7. Components Under Other Licenses. The Software may include or be distributed with components provided +with separate legal notices or terms that accompany the components, such as open source software licenses +and other license terms (“Other Licenses”). The components are subject to the applicable Other Licenses, +including any proprietary notices, disclaimers, requirements and extended use rights; except that this +Agreement will prevail regarding the use of third-party open source software, unless a third-party open +source software license requires its license terms to prevail. Open source software license means any +software, data or documentation subject to any license identified as an open source license by the Open +Source Initiative (http://opensource.org), Free Software Foundation (http://www.fsf.org) or other similar +open source organization or listed by the Software Package Data Exchange (SPDX) Workgroup under the +Linux Foundation (http://www.spdx.org). + +8. Ownership. + +8.1 NVIDIA Ownership. The Software, including all intellectual property rights, is and will remain the sole +and exclusive property of NVIDIA or its licensors. Except as expressly granted in this Agreement, +(a) NVIDIA reserves all rights, interests and remedies in connection with the Software, and (b) no +other license or right is granted to you by implication, estoppel or otherwise. + +8.2 Your Ownership. Subject to the rights of NVIDIA and its suppliers in the Software, which continue to +be licensed as stated in this Agreement, even when incorporated in your products, and the extent +permitted by applicable law, as between you and NVIDIA, you hold all rights, title and interest in and +to your services, applications and Derivatives you develop as permitted in this Agreement including +their respective intellectual property rights. + +9. Feedback. You may, but are not obligated to, provide suggestions, requests, fixes, modifications, +enhancements or other feedback regarding your use of the Software (“Feedback”). Feedback, even if +designated as confidential by you, will not create any confidentiality obligation for NVIDIA or its affiliates. If +you provide Feedback, you hereby grant NVIDIA, its affiliates and its designees a nonexclusive, perpetual, +irrevocable, sublicensable, worldwide, royalty-free, fully paid-up and transferable license, under your +intellectual property rights, to publicly perform, publicly display, reproduce, use, make, have made, sell, +offer for sale, distribute (through multiple tiers of distribution), import, create derivative works of and +otherwise commercialize and exploit the Feedback at NVIDIA’s discretion. + +10. Confidentiality. You may use confidential information only to exercise your rights and perform your +obligations under this Agreement. You will not disclose, nor authorize others to disclose NVIDIA Confidential +Information to any third party, except as expressly authorized in this Agreement and as necessary for the +Purpose, without obtaining NVIDIA’s prior written approval. Each recipient of confidential information must +be subject to a written agreement that includes confidentiality obligations consistent with these terms and +must have a need to know for the Purpose. You will protect the NVIDIA Confidential Information with at +least the same degree of care that you use to protect your own similar confidential and proprietary +information, but no less than a reasonable degree of care. Confidential information includes, but is not +limited to, the Software, including its features and functionality, Derivatives, and any results of +benchmarking or other competitive analysis or regression or performance data relating to the Software. +No Publicity. You may not issue any public statements about this Agreement, disclose the Software or +Derivatives, or any information or results related to your use of the Software, without prior written approval +of NVIDIA. + +11. Term and Termination. + +11.1 Term. This Agreement has a duration of twelve (12) months starting from the date of initial +download (even if you download the same version or updates of the Software later and it is +accompanied by this Agreement or another Agreement), unless terminated earlier in accordance +with this Agreement. + +11.2 Termination for Convenience. Either party may terminate this Agreement at any time with thirty (30) +days’ advance written notice to the other party. + +11.3 Termination for Cause. If you commence or participate in any legal proceeding against NVIDIA with +respect to the Software, this Agreement will terminate immediately without notice. Either party may +terminate this Agreement upon notice for cause if: +(a) the other party fails to cure a material breach of this Agreement within ten (10) days of the +non-breaching party’s notice of the breach; or +(b) the other party breaches its confidentiality obligations or license rights under this +Agreement, which termination will be effective immediately upon written notice. + +11.4 Effect of Termination. Upon any expiration or termination of this Agreement, you will promptly +(a) stop using and return, delete or destroy NVIDIA confidential information and all Software +received under this Agreement, and (b) delete or destroy Derivatives created under this Agreement, +unless an authorized NVIDIA representative provides prior written approval that you may keep a +copy of the Derivatives solely for archival purposes. Upon written request, you will certify in writing +that you have complied with your obligations under this “Effect of Termination” Section. + +11.5 Survival. The “License Grant to NVIDIA”, “Updates”, “Components Under Other Licenses”, +“Ownership”, “Feedback”, “Confidentiality”, “No Publicity”, “Effect of Termination”, “Survival”, +“Disclaimer of Warranties”, “Limitation of Liability”, “Indemnity” and all “General” Sections of this +Agreement will survive any expiration or termination of this Agreement. + +12. Disclaimer of Warranties. THE SOFTWARE IS PROVIDED BY NVIDIA AS-IS AND WITH ALL FAULTS. TO THE +MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, NVIDIA DISCLAIMS ALL WARRANTIES AND +REPRESENTATIONS OF ANY KIND, WHETHER EXPRESS, IMPLIED OR STATUTORY, RELATING TO OR ARISING +UNDER THIS AGREEMENT, INCLUDING, WITHOUT LIMITATION, THE WARRANTIES OF TITLE, +NONINFRINGEMENT, MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, USAGE OF TRADE AND +COURSE OF DEALING. NVIDIA DOES NOT WARRANT OR ASSUME RESPONSIBILITY FOR THE ACCURACY OR +COMPLETENESS OF ANY THIRD-PARTY INFORMATION, TEXT, GRAPHICS, LINKS CONTAINED IN THE +SOFTWARE. WITHOUT LIMITING THE FOREGOING, NVIDIA DOES NOT WARRANT THAT THE SOFTWARE WILL +MEET YOUR REQUIREMENTS, ANY DEFECTS OR ERRORS WILL BE CORRECTED, ANY CERTAIN CONTENT WILL +BE AVAILABLE; OR THAT THE SOFTWARE IS FREE OF VIRUSES OR OTHER HARMFUL COMPONENTS. NO +INFORMATION OR ADVICE GIVEN BY NVIDIA WILL IN ANY WAY INCREASE THE SCOPE OF ANY WARRANTY +EXPRESSLY PROVIDED IN THIS AGREEMENT. YOU ARE SOLELY RESPONSIBLE FOR DETERMINING THE +APPROPRIATENESS OF USING THE SOFTWARE OR DERIVATIVES AND ASSUME ANY RISKS ASSOCIATED WITH +YOUR USE OF THE SOFTWARE OR DERIVATIVES. + +13. Limitations of Liability. + +13.1 EXCLUSIONS. TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, IN NO EVENT WILL +NVIDIA BE LIABLE FOR ANY (A) INDIRECT, PUNITIVE, SPECIAL, INCIDENTAL OR CONSEQUENTIAL +DAMAGES, OR (B) DAMAGES FOR THE (I) COST OF PROCURING SUBSTITUTE GOODS OR (II) LOSS OF +PROFITS, REVENUES, USE, DATA OR GOODWILL ARISING OUT OF OR RELATED TO THIS AGREEMENT, +WHETHER BASED ON BREACH OF CONTRACT, TORT (INCLUDING NEGLIGENCE), STRICT LIABILITY, OR +OTHERWISE, AND EVEN IF NVIDIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES AND +EVEN IF A PARTY’S REMEDIES FAIL THEIR ESSENTIAL PURPOSE. + +13.2 DAMAGES CAP. ADDITIONALLY, TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, +NVIDIA’S TOTAL CUMULATIVE AGGREGATE LIABILITY FOR ANY AND ALL LIABILITIES, OBLIGATIONS OR +CLAIMS ARISING OUT OF OR RELATED TO THIS AGREEMENT WILL NOT EXCEED ONE HUNDRED U.S. +DOLLARS (US$100). + +14. Indemnity. You will defend, indemnify and hold harmless NVIDIA and its affiliates, and their respective +employees, contractors, agents, officers and directors, from and against any and all third party claims, +damages, obligations, losses, liabilities, costs or debt, fines, restitutions and expenses (including but not +limited to attorney’s fees and costs incident to establishing the right of indemnification) arising out of use of +the Software and Derivatives outside of the scope of this Agreement or in breach of the terms of this +Agreement. + +15. General. + +15.1 Governing Law and Jurisdiction. This Agreement will be governed in all respects by the laws of the +United States and the laws of the State of Delaware, without regard to conflict of laws principles or +the United Nations Convention on Contracts for the International Sale of Goods. The state and +federal courts residing in Santa Clara County, California will have exclusive jurisdiction over any +dispute or claim arising out of or related to this Agreement, and the parties irrevocably consent to +personal jurisdiction and venue in those courts; except that either party may apply for injunctive +remedies or an equivalent type of urgent legal relief in any jurisdiction. + +15.2 Independent Contractors. The parties are independent contractors, and this Agreement does not +create a joint venture, partnership, agency or other form of business association between the +parties. Neither party will have the power to bind the other party or incur any obligation on its +behalf without the other party’s prior written consent. Nothing in this Agreement prevents either +party from participating in similar arrangements with third parties. + +15.3 No Assignment. NVIDIA may assign, delegate or transfer its rights or obligations under this +Agreement by any means or operation of law. You may not, without NVIDIA’s prior written consent, +assign, delegate or transfer any of your rights or obligations under this Agreement by any means or +operation of law, and any attempt to do so is null and void. + +15.4 No Waiver. No failure or delay by a party to enforce any term or obligation of this Agreement will +operate as a waiver by that party, or prevent the enforcement of such term or obligation later. + +15.5 Trade Compliance. You agree to comply with all applicable export, import, trade and economic +sanctions laws and regulations, as amended, including without limitation U.S. Export Administration +Regulations and Office of Foreign Assets Control regulations. You confirm (a) your understanding +that export or reexport of certain NVIDIA products or technologies may require a license or other +approval from appropriate authorities and (b) that you will not export or reexport any products or +technology, directly or indirectly, without first obtaining any required license or other approval from +appropriate authorities, (i) to any countries that are subject to any U.S. or local export restrictions +(currently including, but not necessarily limited to, Belarus, Cuba, Iran, North Korea, Russia, Syria, +the Region of Crimea, Donetsk People’s Republic Region and Luhansk People’s Republic Region); (ii) +to any end-user who you know or have reason to know will utilize them in the design, development +or production of nuclear, chemical or biological weapons, missiles, rocket systems, unmanned air +vehicles capable of a maximum range of at least 300 kilometers, regardless of payload, or intended +for military end-use, or any weapons of mass destruction; (iii) to any end-user who has been +prohibited from participating in the U.S. or local export transactions by any governing authority; or +(iv) to any known military or military-intelligence end-user or for any known military or military- +intelligence end-use in accordance with U.S. trade compliance laws and regulations. + +15.6 Government Rights. The Software, documentation and technology (“Protected Items”) are +“Commercial products” as this term is defined at 48 C.F.R. 2.101, consisting of “commercial +computer software” and “commercial computer software documentation” as such terms are used +in, respectively, 48 C.F.R. 12.212 and 48 C.F.R. 227.7202 & 252.227-7014(a)(1). Before any Protected +Items are supplied to the U.S. Government, you will (i) inform the U.S. Government in writing that +the Protected Items are and must be treated as commercial computer software and commercial +computer software documentation developed at private expense; (ii) inform the U.S. Government +that the Protected Items are provided subject to the terms of the Agreement; and (iii) mark the +Protected Items as commercial computer software and commercial computer software +documentation developed at private expense. In no event will you permit the U.S. Government to +acquire rights in Protected Items beyond those specified in 48 C.F.R. 52.227-19(b)(1)-(2) or 252.227- +7013(c) except as expressly approved by NVIDIA in writing. + +15.7 Notices. Please direct your legal notices or other correspondence to legalnotices@nvidia.com with a +copy mailed to NVIDIA Corporation, 2788 San Tomas Expressway, Santa Clara, California 95051, +United States of America, Attention: Legal Department. If NVIDIA needs to contact you about the +Software, you consent to receive the notices by email and agree that such notices will satisfy any +legal communication requirements. + +15.8 Severability. If a court of competent jurisdiction rules that a provision of this Agreement is +unenforceable, that provision will be deemed modified to the extent necessary to make it +enforceable and the remainder of this Agreement will continue in full force and effect. + +15.9 Amendment. Any amendment to this Agreement must be in writing and signed by authorized +representatives of both parties. + +15.10 Entire Agreement. Regarding the subject matter of this Agreement, the parties agree that (a) this +Agreement constitutes the entire and exclusive agreement between the parties and supersedes all +prior and contemporaneous communications and (b) any additional or different terms or conditions, +whether contained in purchase orders, order acknowledgments, invoices or otherwise, will not be +binding and are null and void. + +(v. February 25, 2025) + +NVIDIA Confidential \ No newline at end of file diff --git a/deps/cloudxr/simple/README.md b/deps/cloudxr/simple/README.md new file mode 100644 index 0000000..ae57bd0 --- /dev/null +++ b/deps/cloudxr/simple/README.md @@ -0,0 +1,118 @@ +# CloudXR.js Simple Example + +A minimal WebGL example demonstrating WebXR streaming from a CloudXR server to a web browser. This example shows how to integrate WebXR with CloudXR to stream immersive VR/AR content. + +> **Note:** This example is for learning purposes, not production use. + +## Quick Start + +### Prerequisites +- Node.js (v20 or higher) + +### Installation + +1. **Navigate to the example folder** + ```bash + cd simple + ``` + +2. **Install Dependencies** + ```bash + # For this early access release, please run the following to install SDK from the given tarball. This step will not be needed when SDK is publicly accessible. + npm install ../nvidia-cloudxr-6.0.0-beta.tgz + + npm install + ``` + +3. **Build the Application** + ```bash + npm run build + ``` + +4. **Start Development Server** + ```bash + npm run dev-server + ``` + +5. **Open in Browser** + - Navigate to `http://localhost:8080` (or the port shown in terminal) + - For desktop browsers, IWER (Immersive Web Emulator Runtime) will automatically load to emulate a Meta Quest 3 headset + +### Basic Usage + +1. **Configure Connection** + - Enter CloudXR server IP address (default: localhost) + - Set port (default: 49100) + - Select AR or VR mode + +2. **Adjust Settings (Optional)** + - Per-eye resolution (must be multiples of 16) + - Target frame rate (72, 90, or 120 FPS) + - Streaming bitrate + - XR reference space and camera offsets + +3. **Start Streaming** + - Click "CONNECT" + - Grant XR permissions when prompted + +**Requirements:** +- CloudXR server running and accessible +- WebXR-compatible device (VR/AR headset) or desktop browser (IWER loads automatically for emulation) + +## Architecture + +### CloudXRClient Class + +The main application class (`CloudXRClient` in `main.ts`) handles: + +**Initialization:** +- UI element management and localStorage persistence +- Browser capability checks (WebXR, WebGL2, WebRTC) +- Event listener setup + +**Connection Flow:** +1. **WebGL Setup** - Creates high-performance WebGL2 context +2. **WebXR Session** - Enters immersive VR/AR mode +3. **Reference Space** - Configures coordinate system for tracking +4. **CloudXR Session** - Establishes streaming connection to server +5. **Render Loop** - Sends tracking data, receives video, renders frames + +**Key Components:** +- **WebXR Session** - Hardware access (headset, controllers) +- **WebGL Context** - Video rendering +- **CloudXR Session** - Streaming management (WebRTC-based) +- **XRWebGLLayer** - Bridge between WebXR and WebGL + +## Project Structure + +``` +simple/ +├── src/ +│ └── main.ts # Main application sample +├── index.html # UI and form elements sample +├── package.json # Dependencies and scripts +├── webpack.common.js # Webpack base configuration sample +├── webpack.dev.js # Development configuration sample +├── webpack.prod.js # Production configuration sample +└── tsconfig.json # TypeScript configuration sample +``` + +## Code Overview + +The `main.ts` file contains well-commented code explaining each step: + +1. **Browser Checks** - Validates WebXR, WebGL2, and WebRTC support +2. **Connection Setup** - Reads form inputs and validates configuration +3. **WebGL Initialization** - Creates optimized rendering context +4. **WebXR Session** - Enters immersive mode with requested features +5. **CloudXR Setup** - Configures streaming session with event handlers +6. **Render Loop** - Runs 72-120 times per second: + - Sends tracking data to server + - Receives video frame + - Renders to display + +Each method includes inline comments explaining the purpose and key concepts. + +## License + +See the [LICENSE](LICENSE) file for details. diff --git a/deps/cloudxr/simple/favicon.ico b/deps/cloudxr/simple/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..a1de915b3142d6f06c46d8a519b977532ca7ef3d GIT binary patch literal 14224 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 k_RakI9n+a literal 0 HcmV?d00001 diff --git a/deps/cloudxr/simple/index.html b/deps/cloudxr/simple/index.html new file mode 100644 index 0000000..47aab55 --- /dev/null +++ b/deps/cloudxr/simple/index.html @@ -0,0 +1,593 @@ + + + + + + + + + NVIDIA CloudXR.js Sample Client + + + + + +
+
+

NVIDIA CloudXR.js Sample Client

+
+ +
+ + +
+

Debug Settings

+ +
+ + + +
+ +
+
+ +
+ + + +
+ Select the target device frame rate for the XR session +
+
+ +
+ + + +
+ Select the maximum streaming bitrate (in Megabits per second) for the XR session +
+
+ +
+ + + + + +
+ Configure the per-eye resolution. Width and height must be multiples of 16. +
+
+ +
+ + +
+ Select the preferred reference space for XR tracking. "Auto" uses the original fallback logic (local-floor → local → viewer). Other options will attempt to use the specified space only. +
+ + + + + + + +
+ Configure the XR reference space offset in centimeters. These values will be applied to the reference space transform to adjust the origin position of the XR experience. +
+
+ +
+ + +
+ Enable or disable secondary smoothing on predicted positions to reduce jitter. This only affects position, not orientation. +
+
+ +
+ + +
+ Scale the pose prediction horizon (0.0 = no prediction, 1.0 = full prediction). This multiplier affects both position and orientation prediction strength. +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/deps/cloudxr/simple/package.json b/deps/cloudxr/simple/package.json new file mode 100644 index 0000000..3cd7e8f --- /dev/null +++ b/deps/cloudxr/simple/package.json @@ -0,0 +1,31 @@ +{ + "name": "cloudxr-simple-example", + "version": "6.0.0-beta", + "private": true, + "description": "CloudXR.js WebGL example application", + "author": "NVIDIA Corporation", + "license": "SEE LICENSE IN LICENSE", + "keywords": [], + "scripts": { + "build": "webpack --config ./webpack.prod.js", + "dev": "webpack --config ./webpack.dev.js", + "dev-server": "webpack serve --config ./webpack.dev.js --no-open", + "dev-server:https": "HTTPS=true webpack serve --config ./webpack.dev.js --no-open", + "clean": "rimraf build" + }, + "dependencies": { + "@nvidia/cloudxr": "dev" + }, + "devDependencies": { + "@types/node": "^22.13.14", + "@types/webxr": "^0.5.22", + "copy-webpack-plugin": "^13.0.0", + "gl-matrix": "^3.4.3", + "html-webpack-plugin": "^5.6.3", + "rimraf": "^5.0.5", + "ts-loader": "^9.5.1", + "typescript": "^5.8.2", + "webpack-dev-server": "^5.2.1", + "webpack-cli": "^6.0.1" + } +} \ No newline at end of file diff --git a/deps/cloudxr/simple/src/main.ts b/deps/cloudxr/simple/src/main.ts new file mode 100644 index 0000000..84505d5 --- /dev/null +++ b/deps/cloudxr/simple/src/main.ts @@ -0,0 +1,515 @@ +/** + * CloudXR.js Simple Example - WebXR Streaming Application + * + * CloudXR streams XR content from a powerful server to lightweight clients (think Netflix for VR/AR). + * Server does the heavy rendering, client displays video and sends back tracking data. + * + * Key Flow: + * 1. constructor() - Initialize UI and check browser support + * 2. connectToCloudXR() - Connect to server (called on CONNECT button click) + * 3. initializeWebGL() - Set up graphics rendering + * 4. createXRSession() - Enter VR/AR mode + * 5. createCloudXRSession() - Configure CloudXR streaming + * 6. onXRFrame() - Render loop: send tracking, receive & display video frames + */ + +import { checkCapabilities } from '@helpers/BrowserCapabilities'; +import { loadIWERIfNeeded } from '@helpers/LoadIWER'; +import { overridePressureObserver } from '@helpers/overridePressureObserver'; +import { + enableLocalStorage, + getConnectionConfig, + setupCertificateAcceptanceLink, +} from '@helpers/utils'; +import { getOrCreateCanvas, logOrThrow } from '@helpers/WebGlUtils'; +import * as CloudXR from '@nvidia/cloudxr'; + +// Override PressureObserver early to catch errors from buggy browser implementations +overridePressureObserver(); + +/** + * CloudXR Client - Main Application Class + * + * Architecture: WebXR (hardware access) + WebGL (rendering) + CloudXR (streaming) + */ +class CloudXRClient { + // UI Elements - Form inputs and display elements + private startButton: HTMLButtonElement; + private exitButton: HTMLButtonElement; + private serverIpInput: HTMLInputElement; + private portInput: HTMLInputElement; + private proxyUrlInput: HTMLInputElement; + private immersiveSelect: HTMLSelectElement; + private deviceFrameRateSelect: HTMLSelectElement; + private maxStreamingBitrateMbpsSelect: HTMLSelectElement; + private proxyDefaultText: HTMLElement; + private statusMessageBox: HTMLElement; + private statusMessageText: HTMLElement; + private perEyeWidthInput: HTMLInputElement; + private perEyeHeightInput: HTMLInputElement; + private referenceSpaceSelect: HTMLSelectElement; + private xrOffsetXInput: HTMLInputElement; + private xrOffsetYInput: HTMLInputElement; + private xrOffsetZInput: HTMLInputElement; + private certAcceptanceLink: HTMLElement; + private certLink: HTMLAnchorElement; + private enablePoseSmoothingSelect: HTMLSelectElement; + private posePredictionFactorInput: HTMLInputElement; + private posePredictionFactorValue: HTMLElement; + + // Core Session Components + private xrSession: XRSession | null = null; // WebXR session (hardware access) + private cloudxrSession: CloudXR.Session | null = null; // CloudXR session (streaming) + private gl: WebGL2RenderingContext | null = null; // WebGL context (rendering) + private baseLayer: XRWebGLLayer | null = null; // Bridge between WebXR and WebGL + private deviceFrameRate: number = 0; // Target frame rate for XR session + private hasSetTargetFrameRate: boolean = false; // Track if we've set target frame rate + + /** + * Initialize UI, enable localStorage, and check WebXR support + */ + constructor() { + // Get references to all UI elements + this.startButton = document.getElementById('startButton') as HTMLButtonElement; + this.exitButton = document.getElementById('exitButton') as HTMLButtonElement; + this.serverIpInput = document.getElementById('serverIpInput') as HTMLInputElement; + this.portInput = document.getElementById('portInput') as HTMLInputElement; + this.proxyUrlInput = document.getElementById('proxyUrl') as HTMLInputElement; + this.immersiveSelect = document.getElementById('immersive') as HTMLSelectElement; + this.deviceFrameRateSelect = document.getElementById('deviceFrameRate') as HTMLSelectElement; + this.maxStreamingBitrateMbpsSelect = document.getElementById( + 'maxStreamingBitrateMbps' + ) as HTMLSelectElement; + this.proxyDefaultText = document.getElementById('proxyDefaultText') as HTMLElement; + this.statusMessageBox = document.getElementById('statusMessageBox') as HTMLElement; + this.statusMessageText = document.getElementById('statusMessageText') as HTMLElement; + this.perEyeWidthInput = document.getElementById('perEyeWidth') as HTMLInputElement; + this.perEyeHeightInput = document.getElementById('perEyeHeight') as HTMLInputElement; + this.referenceSpaceSelect = document.getElementById('referenceSpace') as HTMLSelectElement; + this.xrOffsetXInput = document.getElementById('xrOffsetX') as HTMLInputElement; + this.xrOffsetYInput = document.getElementById('xrOffsetY') as HTMLInputElement; + this.xrOffsetZInput = document.getElementById('xrOffsetZ') as HTMLInputElement; + this.certAcceptanceLink = document.getElementById('certAcceptanceLink') as HTMLElement; + this.certLink = document.getElementById('certLink') as HTMLAnchorElement; + this.enablePoseSmoothingSelect = document.getElementById( + 'enablePoseSmoothing' + ) as HTMLSelectElement; + this.posePredictionFactorInput = document.getElementById( + 'posePredictionFactor' + ) as HTMLInputElement; + this.posePredictionFactorValue = document.getElementById( + 'posePredictionFactorValue' + ) as HTMLElement; + + // Enable localStorage to persist user settings + enableLocalStorage(this.serverIpInput, 'serverIp'); + enableLocalStorage(this.portInput, 'port'); + enableLocalStorage(this.proxyUrlInput, 'proxyUrl'); + enableLocalStorage(this.immersiveSelect, 'immersiveMode'); + enableLocalStorage(this.deviceFrameRateSelect, 'deviceFrameRate'); + enableLocalStorage(this.maxStreamingBitrateMbpsSelect, 'maxStreamingBitrateMbps'); + enableLocalStorage(this.perEyeWidthInput, 'perEyeWidth'); + enableLocalStorage(this.perEyeHeightInput, 'perEyeHeight'); + enableLocalStorage(this.referenceSpaceSelect, 'referenceSpace'); + enableLocalStorage(this.xrOffsetXInput, 'xrOffsetX'); + enableLocalStorage(this.xrOffsetYInput, 'xrOffsetY'); + enableLocalStorage(this.xrOffsetZInput, 'xrOffsetZ'); + enableLocalStorage(this.enablePoseSmoothingSelect, 'enablePoseSmoothing'); + enableLocalStorage(this.posePredictionFactorInput, 'posePredictionFactor'); + + // Update slider value display when it changes + this.posePredictionFactorInput.addEventListener('input', () => { + this.posePredictionFactorValue.textContent = this.posePredictionFactorInput.value; + }); + // Set initial display value + this.posePredictionFactorValue.textContent = this.posePredictionFactorInput.value; + + // Configure proxy information and port placeholder based on protocol + if (window.location.protocol === 'https:') { + this.proxyDefaultText.textContent = + 'Optional: Leave empty for direct WSS connection, or provide URL for proxy routing (e.g., https://proxy.example.com/)'; + this.portInput.placeholder = 'Port (default: 48322, or 443 if proxy URL set)'; + } else { + this.proxyDefaultText.textContent = 'Not needed for HTTP - uses direct WS connection'; + this.portInput.placeholder = 'Port (default: 49100)'; + } + + this.startButton.addEventListener('click', () => this.connectToCloudXR()); + this.exitButton.addEventListener('click', () => this.xrSession?.end()); + + // Set up certificate acceptance link + setupCertificateAcceptanceLink( + this.serverIpInput, + this.portInput, + this.proxyUrlInput, + this.certAcceptanceLink, + this.certLink + ); + + this.checkWebXRSupport(); + } + + /** + * Check browser support: WebXR, WebGL2, WebRTC, and video frame callbacks + * Also loads Immersive Web Emulator if needed (for desktop development) + */ + private async checkWebXRSupport(): Promise { + const { supportsImmersive, iwerLoaded } = await loadIWERIfNeeded(); + if (!supportsImmersive) { + this.showStatus('Immersive mode not supported', 'error'); + this.startButton.disabled = true; + return; + } + + this.startButton.disabled = true; + this.startButton.innerHTML = 'CONNECT (checking capabilities)'; + + const result = await checkCapabilities(); + if (!result.success) { + this.showStatus( + 'Browser does not meet required capabilities:\n' + result.failures.join('\n'), + 'error' + ); + this.startButton.innerHTML = 'CONNECT (capabilities check failed)'; + return; + } + + if (result.warnings.length > 0) { + this.showStatus('Performance notice:\n' + result.warnings.join('\n'), 'info'); + } else if (iwerLoaded) { + // Include IWER status in the final success message + this.showStatus( + 'CloudXR.js SDK is supported. Ready to connect!\nUsing IWER (Immersive Web Emulator Runtime) - Emulating Meta Quest 3.', + 'info' + ); + } else { + this.showStatus('CloudXR.js SDK is supported. Ready to connect!', 'success'); + } + + this.startButton.disabled = false; + this.startButton.innerHTML = 'CONNECT'; + } + + private showStatus(message: string, type: 'success' | 'error' | 'info'): void { + this.statusMessageText.textContent = message; + this.statusMessageBox.className = `status-message-box show ${type}`; + console[type === 'error' ? 'error' : 'info'](message); + } + + /** + * Main connection flow - orchestrates WebGL, WebXR, and CloudXR setup + * Steps: Read config → Initialize WebGL → Create XR session → Connect to CloudXR server + */ + private async connectToCloudXR(): Promise { + // Read configuration from UI form + const serverIp = this.serverIpInput.value.trim() || 'localhost'; + + // Determine default port based on connection type and proxy usage + const useSecureConnection = window.location.protocol === 'https:'; + const portValue = parseInt(this.portInput.value, 10); + const proxyUrl = this.proxyUrlInput.value; + const hasProxy = proxyUrl.trim().length > 0; + + let defaultPort = 49100; // HTTP default (direct CloudXR Runtime connection) + if (useSecureConnection) { + defaultPort = hasProxy ? 443 : 48322; // HTTPS with proxy → 443, HTTPS without → 48322 + } + + const port = portValue || defaultPort; + const perEyeWidth = parseInt(this.perEyeWidthInput.value, 10) || 2048; + const perEyeHeight = parseInt(this.perEyeHeightInput.value, 10) || 1792; + const deviceFrameRate = parseInt(this.deviceFrameRateSelect.value, 10); + const maxStreamingBitrateKbps = parseInt(this.maxStreamingBitrateMbpsSelect.value, 10) * 1000; + const immersiveMode = this.immersiveSelect.value as 'ar' | 'vr'; + const referenceSpaceType = this.referenceSpaceSelect.value as XRReferenceSpaceType; + const xrOffsetX = (parseFloat(this.xrOffsetXInput.value) || 0) / 100; // cm to meters + const xrOffsetY = (parseFloat(this.xrOffsetYInput.value) || 0) / 100; + const xrOffsetZ = (parseFloat(this.xrOffsetZInput.value) || 0) / 100; + + try { + this.startButton.disabled = true; + this.startButton.innerHTML = 'CONNECT (connecting)'; + this.showStatus(`Connecting to Server ${serverIp}:${port}...`, 'info'); + + // Initialize WebGL, WebXR session, and reference space + await this.initializeWebGL(); + await this.createXRSession(immersiveMode, deviceFrameRate); + + let referenceSpace = await this.getReferenceSpace(referenceSpaceType); + if (xrOffsetX !== 0 || xrOffsetY !== 0 || xrOffsetZ !== 0) { + const offsetTransform = new XRRigidTransform( + { x: xrOffsetX, y: xrOffsetY, z: xrOffsetZ }, + { x: 0, y: 0, z: 0, w: 1 } + ); + referenceSpace = referenceSpace.getOffsetReferenceSpace(offsetTransform); + } + + // Create CloudXR session and connect to server + await this.createCloudXRSession( + serverIp, + port, + proxyUrl, + perEyeWidth, + perEyeHeight, + maxStreamingBitrateKbps, + referenceSpace + ); + + this.cloudxrSession!.connect(); + this.startButton.innerHTML = 'CONNECT (waiting for streaming)'; + this.showStatus(`Connected to Server ${serverIp}:${port}...`, 'info'); + } catch (error) { + this.showStatus(`Connection failed: ${error}`, 'error'); + this.startButton.disabled = false; + this.startButton.innerHTML = 'CONNECT'; + + if (this.xrSession) { + try { + await this.xrSession.end(); + } catch (endError) { + console.error('Error ending XR session during cleanup:', endError); + this.clearSessionReferences(); + } + } else { + this.clearSessionReferences(); + } + } + } + + /** + * Initialize WebGL2 context for rendering (high-performance, XR-compatible) + */ + private async initializeWebGL(): Promise { + const webglCanvas = getOrCreateCanvas('webglCanvas'); + const gl = webglCanvas.getContext('webgl2', { + alpha: true, + depth: true, + stencil: false, + desynchronized: false, + antialias: false, // No antialiasing (video already rendered) + failIfMajorPerformanceCaveat: true, + powerPreference: 'high-performance', // Use discrete GPU if available + premultipliedAlpha: false, + preserveDrawingBuffer: false, + }) as WebGL2RenderingContext; + + if (!gl) throw new Error('Failed to create WebGL2 context'); + + await gl.makeXRCompatible(); // Required before using with XRWebGLLayer + this.gl = gl; + logOrThrow('Creating WebGL context', this.gl); + } + + /** + * Create WebXR session, XRWebGLLayer, and start render loop + */ + private async createXRSession( + immersiveMode: 'ar' | 'vr', + deviceFrameRate: number + ): Promise { + const mode = immersiveMode === 'vr' ? 'immersive-vr' : 'immersive-ar'; + const options = { + requiredFeatures: ['local-floor'], + optionalFeatures: ['hand-tracking', 'high-fixed-foveation-level'], + }; + + // Try requested mode, fallback to alternative if unsupported + try { + this.xrSession = await navigator.xr!.requestSession(mode, options); + } catch (error) { + console.warn(`${mode} session failed, trying alternative:`, error); + const altMode = immersiveMode === 'vr' ? 'immersive-ar' : 'immersive-vr'; + this.xrSession = await navigator.xr!.requestSession(altMode, options); + } + + // Create XRWebGLLayer - provides framebuffer for CloudXR to render into + this.baseLayer = new XRWebGLLayer(this.xrSession, this.gl!, { + alpha: true, + antialias: false, + depth: true, + framebufferScaleFactor: 1.2, + ignoreDepthValues: false, + stencil: false, + }); + + // Store frame rate for later use in render loop + this.deviceFrameRate = deviceFrameRate; + this.hasSetTargetFrameRate = false; + + this.xrSession.updateRenderState({ baseLayer: this.baseLayer }); + this.xrSession.addEventListener('end', () => this.handleXRSessionEnd()); + this.xrSession.requestAnimationFrame(this.onXRFrame.bind(this)); + } + + /** + * Get XR reference space with fallbacks + * Reference space types: 'local-floor' (room-scale), 'local' (seated), 'viewer' (head-locked) + */ + private async getReferenceSpace( + referenceSpaceType: XRReferenceSpaceType + ): Promise { + try { + return await this.xrSession!.requestReferenceSpace(referenceSpaceType); + } catch (error) { + console.warn(`'${referenceSpaceType}' not supported, trying fallbacks...`); + try { + return await this.xrSession!.requestReferenceSpace('local-floor'); + } catch { + try { + return await this.xrSession!.requestReferenceSpace('local'); + } catch { + return await this.xrSession!.requestReferenceSpace('viewer'); + } + } + } + } + + /** + * Configure CloudXR session and set up event handlers + * Establishes WebRTC connection, receives video stream, sends tracking data + */ + private async createCloudXRSession( + serverIp: string, + port: number, + proxyUrl: string, + perEyeWidth: number, + perEyeHeight: number, + maxStreamingBitrateKbps: number, + referenceSpace: XRReferenceSpace + ): Promise { + const connectionConfig = getConnectionConfig(serverIp, port, proxyUrl); + + const sessionOptions: CloudXR.SessionOptions = { + serverAddress: connectionConfig.serverIP, + serverPort: connectionConfig.port, + useSecureConnection: connectionConfig.useSecureConnection, + gl: this.gl!, + perEyeWidth, // Stream resolution: width = perEyeWidth * 2 (side-by-side) + perEyeHeight, // Stream resolution: height = perEyeHeight * 9/4 (includes metadata) + referenceSpace, + deviceFrameRate: parseInt(this.deviceFrameRateSelect.value, 10), + maxStreamingBitrateKbps, + enablePoseSmoothing: this.enablePoseSmoothingSelect.value === 'true', + posePredictionFactor: parseFloat(this.posePredictionFactorInput.value), + telemetry: { + enabled: true, + appInfo: { version: '6.0.0-beta', product: 'CloudXR.js WebGL Example' }, + }, + }; + + const delegates: CloudXR.SessionDelegates = { + onStreamStarted: () => { + console.log('CloudXR stream started'); + this.startButton.innerHTML = 'CONNECT (streaming)'; + this.exitButton.style.display = 'block'; + this.showStatus('Streaming started!', 'success'); + }, + onStreamStopped: (error?: Error) => { + if (error) { + console.error('Stream stopped with error:', error); + this.showStatus(`Stream stopped: ${error}`, 'error'); + } else { + console.log('Stream stopped normally'); + this.showStatus('Stream stopped', 'info'); + } + + if (this.xrSession) { + this.xrSession + .end() + .catch(endError => console.error('Error ending XR session:', endError)) + .finally(() => (this.exitButton.style.display = 'none')); + } else { + this.exitButton.style.display = 'none'; + } + + this.startButton.disabled = false; + this.startButton.innerHTML = 'CONNECT'; + }, + onWebGLStateChangeBegin: () => console.debug('WebGL state change begin'), + onWebGLStateChangeEnd: () => console.debug('WebGL state change end'), + onServerMessageReceived: (messageData: Uint8Array) => { + const messageString = new TextDecoder().decode(messageData); + console.debug('Server message:', messageString); + }, + }; + + try { + this.cloudxrSession = CloudXR.createSession(sessionOptions, delegates); + } catch (error) { + console.error('Failed to create CloudXR session:', error); + throw error; + } + } + + /** + * Main render loop - runs every frame (72-120 FPS) + * Sends tracking data to server, receives video frame, renders to display + */ + private async onXRFrame(timestamp: DOMHighResTimeStamp, frame: XRFrame): Promise { + this.xrSession!.requestAnimationFrame(this.onXRFrame.bind(this)); + + // Set target frame rate on first frame only + if (!this.hasSetTargetFrameRate && 'updateTargetFrameRate' in this.xrSession!) { + this.hasSetTargetFrameRate = true; + try { + await this.xrSession!.updateTargetFrameRate(this.deviceFrameRate); + console.debug( + `Target frame rate set to ${this.deviceFrameRate}, current: ${this.xrSession!.frameRate}` + ); + } catch (error) { + console.error('Failed to set target frame rate:', error); + } + } + + if (!this.cloudxrSession) { + console.debug('Skipping frame, CloudXR session not created yet'); + return; + } + + if (this.cloudxrSession.state !== CloudXR.SessionState.Connected) { + console.debug('Skipping frame, session not ready'); + return; + } + + try { + // Send tracking (head/hand positions) → Receive video → Render + this.cloudxrSession.sendTrackingStateToServer(timestamp, frame); + this.gl!.bindFramebuffer(this.gl!.FRAMEBUFFER, this.baseLayer!.framebuffer); + this.cloudxrSession.render(timestamp, frame, this.baseLayer!); + } catch (error) { + console.error('Error in render frame:', error); + } + } + + /** + * Cleanup when XR session ends (user exits, removes headset, or error occurs) + */ + private handleXRSessionEnd(): void { + try { + if (this.cloudxrSession) { + this.cloudxrSession.disconnect(); + this.cloudxrSession = null; + } + + this.clearSessionReferences(); + + this.startButton.disabled = false; + this.startButton.innerHTML = 'CONNECT'; + this.exitButton.style.display = 'none'; + } catch (error) { + this.showStatus(`Disconnect error: ${error}`, 'error'); + } + } + + private clearSessionReferences(): void { + this.baseLayer = null; + this.xrSession = null; + this.gl = null; + this.hasSetTargetFrameRate = false; + } +} + +// Application entry point - wait for DOM to load, then initialize client +document.addEventListener('DOMContentLoaded', () => { + new CloudXRClient(); +}); diff --git a/deps/cloudxr/simple/tsconfig.json b/deps/cloudxr/simple/tsconfig.json new file mode 100644 index 0000000..ec529e3 --- /dev/null +++ b/deps/cloudxr/simple/tsconfig.json @@ -0,0 +1,15 @@ +{ + "compilerOptions": { + "target": "ES6", + "moduleResolution": "bundler", + "strict": true, + "lib": ["DOM", "DOM.Iterable", "ESNext", "WebWorker"], + "skipLibCheck": true, + "types": ["webxr"], + "baseUrl": ".", + "paths": { + "@helpers/*": ["../helpers/*"] + } + }, + "include": ["**/*.ts", "types/**/*.d.ts"] +} diff --git a/deps/cloudxr/simple/webpack.common.js b/deps/cloudxr/simple/webpack.common.js new file mode 100644 index 0000000..8844eb9 --- /dev/null +++ b/deps/cloudxr/simple/webpack.common.js @@ -0,0 +1,41 @@ +const path = require('path'); +const HtmlWebpackPlugin = require('html-webpack-plugin'); + +module.exports = { + entry: './src/main.ts', + + // Module rules define how different file types are processed + module: { + rules: [ + { + test: /\.tsx?$/, + use: 'ts-loader', + exclude: /node_modules/, + }, + ], + }, + + // Resolve configuration for module resolution + resolve: { + extensions: ['.ts', '.js'], + alias: { + // @helpers can be used instead of relative paths to the helpers directory + '@helpers': path.resolve(__dirname, '../helpers') + } + }, + + // Output configuration for bundled files + output: { + filename: 'bundle.js', + path: path.resolve(__dirname, './build'), + }, + + // Webpack plugins that extend webpack's functionality + plugins: [ + // Generates HTML file and automatically injects bundled JavaScript + new HtmlWebpackPlugin({ + template: './index.html', + favicon: './favicon.ico' + }) + ] +}; \ No newline at end of file diff --git a/deps/cloudxr/simple/webpack.dev.js b/deps/cloudxr/simple/webpack.dev.js new file mode 100644 index 0000000..4a8c508 --- /dev/null +++ b/deps/cloudxr/simple/webpack.dev.js @@ -0,0 +1,42 @@ +const { merge } = require('webpack-merge') +const common = require('./webpack.common.js') +const path = require('path') + +// Check if HTTPS mode is enabled via environment variable +const useHttps = process.env.HTTPS === 'true' + +module.exports = merge(common, { + mode: 'development', + devtool: 'eval-source-map', + devServer: { + allowedHosts: 'all', + hot: true, + open: false, + port: 8080, + // Enable HTTPS with self-signed certificate when HTTPS=true + ...(useHttps && { server: 'https' }), + static: { + directory: path.join(__dirname, './build'), + watch: true, + }, + watchFiles: { + paths: ['src/**/*', '../../build/**/*'], + options: { + usePolling: false, + ignored: /node_modules/, + }, + }, + client: { + progress: true, + overlay: { + errors: true, + warnings: false, + }, + }, + devMiddleware: { + writeToDisk: true, + }, + }, +}) + +console.log(module.exports); \ No newline at end of file diff --git a/deps/cloudxr/simple/webpack.prod.js b/deps/cloudxr/simple/webpack.prod.js new file mode 100644 index 0000000..0668927 --- /dev/null +++ b/deps/cloudxr/simple/webpack.prod.js @@ -0,0 +1,8 @@ +const { merge } = require('webpack-merge'); +const common = require('./webpack.common.js'); + +module.exports = merge(common, { + mode: 'production' +}); + +console.log(module.exports); \ No newline at end of file diff --git a/scripts/environments/teleoperation/teleop_xr_agent.py b/scripts/environments/teleoperation/teleop_xr_agent.py index 4f4c2dc..87d5276 100644 --- a/scripts/environments/teleoperation/teleop_xr_agent.py +++ b/scripts/environments/teleoperation/teleop_xr_agent.py @@ -44,11 +44,18 @@ parser.add_argument("--stream-to", type=str, default=None, dest="stream_to") parser.add_argument("--stream-port", type=int, default=12345, dest="stream_port") parser.add_argument("--stream-bitrate", type=int, default=20_000_000, dest="stream_bitrate") parser.add_argument("--debug-viewports", action="store_true", dest="debug_viewports", default=True) +parser.add_argument( + "--cloudxr", action="store_true", dest="cloudxr", default=False, + help="Enable CloudXR streaming mode (replaces --stream-to). " + "Requires CloudXR Runtime Docker container running on this workstation.", +) AppLauncher.add_app_launcher_args(parser) args_cli = parser.parse_args() app_launcher_args = vars(args_cli) -app_launcher_args["xr"] = False +# Enable Isaac Sim XR extensions when using CloudXR; disable for normal streaming +app_launcher_args["xr"] = args_cli.cloudxr +app_launcher_args["enable_cameras"] = not args_cli.cloudxr # CloudXR renders its own stereo views app_launcher = AppLauncher(app_launcher_args) simulation_app = app_launcher.app @@ -93,7 +100,8 @@ def main() -> None: pos_sensitivity=pos_sens, rot_sensitivity=rot_sens, base_speed=args.base_speed, base_turn=args.base_turn, drive_speed=args.drive_speed, drive_turn=args.drive_turn, - stream_to=args.stream_to, stream_port=args.stream_port, + stream_to=None if args.cloudxr else args.stream_to, + stream_port=args.stream_port, stream_bitrate=args.stream_bitrate, debug_viewports=args.debug_viewports or bool(args.stream_to), )

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 z zMihxg!{JCc6aao|gIEF{T!aJ@Xi)hY}-F`;_yD-rPIMGx;*{OS?sacxf`F*dg_H8F*;nLCH) zEH>l(=sB1B{OI@@&MG@g6GQ#zc8!dVBnSHklf&antBXtPJ2R<7ADMU;>x^`E1lt3C zzrW4v?9}KzuDnOQ>cZ-1PhGIb8P?PS!$wLXrCN_v$Jkxvw1(T0O&v`xZ?K_#u&4s3 zB&s0yo->|TD)*!3CK6S#Pp+;h!H9rD!mA1ASyN++4GWQ>N)&0Y<2}7FEnl5oypYt} ztR~k-7N@4%M{KLV6p{d@SKWQcy(ME;%Egs;Yj58j z<@Wj7ALNOYCHl%=X{ld-QqpRz{lre+3Q?ak0SZxaHE(5lc~QIsGUd%a=N(6(mGF;E2jl)D!w|Rj)zGPHzxPmY z08L$dwkPnsZ5D^cwJ%yt?8fy-nk$RYQO(b!6T0T!?q~+Skk$ad_ho(|*B-C@AZWt}?8mc%?bhntF+t8m(j!w-?U>MBw;>Pwt8KdlQ z=aj)X+1=YeefDg9VLXZTY$%-`P6A^>_cy;XH~(~Vb~u43m<;Qj>6nBm7kw z%IWW}jZb$nbJO_bWE%QTqVCL>6&bgdEDhF14|{C9BGi=X3U$c_1*P-!Xgrb6U~AZ# zmXc^)d68*uvG;M>SHA4#x)QF<0=m69{izbS5)2R=^%KD&~-Ol9aO3x=ixXkdeplZUtBe~Moa0Ht+N*w`$y*& z6^Gj_j1{GLTD^v^0G-5ER2*!St5<^kJbfO`tK_$ZB$G@`oCjjy)9i{8WWS;-fN_GP znx*~}tdxCn z{QdW#S|z}WKK~04R?op(T@iNb^&1HL-cj#RSHFBofEI2c3?x{Mj{VM#9%v^xJJ-MXyZ`vJmm=04mzAU?A3!Uj zxyhaQw+N3QV_HFL;k}aV0)nZ;fLzFW(f~~%_`HgTIC6w#HXvFL!FnDKlAn+c|*54_Rik%1vGnH>h+6v9M0S87cT)5pB-$iEibRE zY#`Tqd1-kS^4;Tu!_#MbYe*;n12PLJHH}&xvN2Tc!}HDV5d>K~`w?p}yWmK#2F5M+ zh}XU-pXbT!WmWvw`wV?e>e%gf^$t$A&py>vH(DENkQAQ+`)Ob9jSo6o+w(B>;BWta zPOk+BMBA05s7Hb*w7g~`hk2*{N)=xnog2MhUS62XpjdQ%K}k+->7%S7B(>hT|Cz(p z(f2U_Z?baw5?uy?S~GGwxDtOp?i#sJ6;`<12swX}H)8OH-LyX(UNM#y@TNWNDWw<; zfQb{a$zPMt4Bn{k;{&7lz~yhLx8NJ!f&cgh!O4QR;GclGupbim{O;Wwn8@B;L*a?t z;hC^j>byMZ?(B_?)~&6{=7wG#ZCtre%!+f_{>~9jDmvOYAYbcH2`tZF?Xpj%Rd2_& z!<{W_GrEf-fwl)n`Z`Z5m$46JBHrtv=O@Rnx7K!d_6{S*yOZ<1W1D9SS6qre5Pv&X zpUj)sitw7A8d$4-%gEUH7*-tcPy|)Y%`E`yf-wZ90un=PhyRp3539Iz2q<*$ikQ=`oKPo7-<#beYWS3lR zOH(h<<##Z-iZlm^`%m~WLdaz@c48quzpQhN6mym~PtJ}vHxCbsx1W|(2!s_}rLJD8TqQnIy zC18jE8p7}-!Z&@BB@VEV;g1-QtbLb2jvFKeY6(z^ur$;(J~pUTcnlIDr(%CVDg|;} z20&-=pcMr0kONI2t)U!D8pb(E@KAse+*^%IaxzGlS5XD=9}VmTR007Y{7x`Zaqt+# zKV(c$0{jM=KPIJQe}LtOEK(GoO?WdgB>;M1E2+$6T!5>uF)GB&e~(h-D{w{dQyD~j zvtSm&YfOY($s;nDB65PBKgv!EUH1AAy$2 zSblG;5~SDykY$3L5+Z*GrW!dBVMG6;ODYQ=5_Is{$6x&VSGVuwxp}#M%mD90L%x4> zc4>VDN9*b;njkZiW9jtR_~`f;pwz(7FlZWnQdewYDT?JkU+ zv)StFn=JKp4y3R0=x}gi`e6Ufo2!e9m+a>wb?3#yelxpw<(L+}o}p9xBY11sFNcDC z&2jch^Lpbusq{tLb91ZWx)mJdsPaps4BRIh6fUSIh56a{35)_x2e=v>pipNH;8O;8 z>g`8?jhj;_vJ*iFg;@KG-&B4)&gyS> zJ(x^?@-y3$&u+2HAKY&K2Q4Me`_%E|7t{mpZT0Q=t^8ltDK(>rjU1o7A7E- zgE%O>E>d*SZpvkAtP`&GFU$*;*yj@?Pv5;xzbKm5q-wW?3$yoQh>&4niV-*jn!&?0lxxeAa+{+cLSi6je%inJ>LVo(pG0mfJne z^*r{&f~WRH7E}MkVQv^~VF^m+oNBh5Uoh%78tR)3MJ=LRs>-sR?qZ49Sxm#KjnA$N z0j>f8tCr)3Azp3dhjamUK+I-kRml`>N;PnVv`{js&5 z7d$SQ9UJcymM3sP13(rO3o@f}$+`zr^$3Y@G*HzecppK{<1o)O(~zM8AVO?1TK-1kq?ucWwW09gy~kPi^NZO%k^(<=Q^<0A`$sSh23o$^<)sBk@W)3} zhy$P!1B2vv$4KoAJ%@Ow)L?&aMoI*>AMGZfDKy8u9>=&K;OrdoR<;F~Rz};?Yo3t> z>yTB`RuVUwTeT*xXuYHORH`xuY<9Q5GtgJc!c4_#ie?oSBqGbas>V>Ksyf&1!m67u z7xJVvQ1&%8QVk9DW)pUfv<9+%yzcyh3QC4?eiRfQg=NTr1Aa%Pm6vnxlh0%fUA@ge zkpQ6Ty_;;I4;iZiPHD2OKc6#T;n=exV!874VUp_umxdMcG7y8z7yS>rJ>)D;|8cuYzca~7;CyVUKL~s7qRBq0oj$+o-^UD_s;*O36=BPH$ zYwj0MuwT(OYJOz0kAC#%{=I=ge)+wDM(8Q>dP4DVpsRMiVD^6+2nG970h370+GY3n zS6fOuc2{EyD$YfKXLCDwtrTMT$QddC%~U%kxIup29%%PDTNKls=^^$|>2@MMe!SOn z!JJe^^ke*m4pyL8x4F)$D38sEC1pl&+G16D(FjA8%AOhMRgf%h4u<+8Twqk&nbhI7D21ik#mzQ50 zu#lR-Q>e5W3WJNJJlWY2LsRY_mQ27!L1JV`$wBm~z*87>jqg~j@9I%_>9m=&J)Zau z87)Kb6zV*bGMRlGwH^;l)r+pTvS5eDsZ+CM*MXNc^=^GKY@hE?>v-q!)@qws`eu80 zWU6mYd+g#`tGO>{I7UNydQHEf-+t!}$f`G);0ZqWAHYfxatiSSnfe>$I4QOW<$>F{L0kO#)eGi} z)4~3?zO-w7VNcFuD^LOk4vsc8eG`X27f_IW?9b}yr;s*Fr811VQt*_2hQk(eKX{bz zjtNZw=^#)VkQJyb@;eeX0l6Q~_+P6{5bHyx530(E$)gxYfXGesHLqf=^_YTXR>@Js z)>=FVHJs$!EGUh+xy7~J1E~7;4~`EH_V#wcM6L5SC`7z1uB?KQfZtNMW|t#%v6P{2MBU%4>8HnxI+v=3&0Fi{ysI+T zRM#}Lcc=QtWm>b<8p3EPvG8!}WwkFhG2hbmgu#K7`|s}v4fQ^ZcMb-qK!8*a9`})+ zswgeM(Vkz5qn)N1W###gA@s`ypuhhxKj;3ZAN@+j($!mibHnkzp22&gUco!b>$Q0O z)95fmKhRngeB3)b`!sLPZtoVi-;GxdiWixz-KJHkhI>$@Y|Qi5P++4t;PifxY1pL}paaAKMX~x%&s;%NTui zvH9Y~;nNeH=300qJ~`OtzdfPZN3E5zaLgooAy{#DhUGgR?u52Ww5z{-Sf)B#KH4zQ zLN@#AS*?!yX88Q*kh{Niy18)@IcGoHnwnTUNVnJiyJp#QRifujgdJX*?AGy@byXxOjPPYTP*;?T;|R`75z-@5W-_LNhIIRfaipXB_uq zd3u{RP=Q`Hoo7@8-ld-yQ#RGKs&=GSl$)lXUKEzM=0xkl^?Y`vqq&QRoepWY8NDL} zj~Gl3wiIGsiQG58i}u9q$}F>LBzh|E=JquGg=0I^Gc-H9R9gCMn<|Wz>rA-> zL!P({AydeBk5b?%8yQmk5=j)e8{ia4k3cd6nW_6tut|iX`X>1kOf~K+V8cqn)=@-7 z#~?C4!cF11{?`nxL~t6B_@V61sQQQjiTsG4vBHttGq)hHiHWB~nUi7Uz{&~mhmnUt zBmFOfu87PJVdHo^e{lnyP!SPb4*n?FA_Nd+Dx(ZSBK6W&H)KSAxC4(>MK*$n0SXOw zlo9156Zw1)0^*+J%MCg8zaUGxs4$Oo62B@|P(cy2$dvWx-vgrnN+ zXd&}OQGp`-j3gjozJi}HQ|SNjBJac0*^Rn_AN_+&nH3)-@ouCmO-{c^>H8KbpYGqI z@BSTOFF=!_@J5lH(E!H#Bkk>7yV5cJGrB{<%4?sfo^Ck4+^+0#zP{jU`4Y8=dcLP< zxGJw{9c2_qIIe*Koa=eHe*lXw{1RkPE~+#_bpa0v?qD!ure#PhQh6jNoy_?p>PIGl zQBVPqzJUTJU4=s2!g}zZ=mlJsdjg1X%o=ad7u*S1H9UU%b zPfxwSLo-;Tc04w+)KZy}Eobo9IzzF(t7fXVx7}I#xS)(7QI&{9j3TP|{>VhJ#3t3e z+uC~l=6TbSw}EmrI^BMEQ+*ANy2{E~@G+f1r?ag*(9-09o7xGuV76IX&5bSfFEPAn zzRqenU*(>6AHZ7s=IzzHtJ4!h#e)H_mb-Yy<60c?(2<3yRk#`#{Kcgy%m4qg0jveuD$({@xz}Olq#|MXAi4Bp8$XgWQDjN|FZV8 z`wnEIXE%Io)qGm`D^0GQ!Kiwyzf&yM++nr2e)H>J{KEXB>Z*IUe*7aQSoV+g3WGwX zQ8qdtn5zE^G^2~|-fq6bdf5GCW6hn0N!#ID!Q+SQ2FzE0H3lwo?6e-2+mD7{8||YY zs`of-R_Q`|ep0x=O9-OjSFhs>x27~BrZvgRBs2ELc(K5^y+5#v#-~QnTy?~ET<^~Z zH_o5gbnH{=kbSwMnntWsI<<5x6tESQI}c!g>CYmObcGYX{ka#D`l0!q z$bhJzL4LQDZFn&*eDha=&OmVUB4l!=50?*KzdAz()`FfEK5l^HnDc8 zZlOxsT&!Z2)bki6_X9>WcZqRZuCA^4r2dnpFD-S<&XwXc&&1^tbqqq`0$`v~fTB|Z zfDoiZe@RT+-94b4ftUNC--UN-5Um7IHW2%PlNuc-MI~NKCb*GUwdkB5L*$2JpVZ&D zf>sV$737j09qI4t=w9U|wR_x+MiCuZbWOKEJDgE=STFWiawbR2Dcz5L^l?42-aXAK zkqO$uzc=*O<_|oa3`3dMSo~FfnYIDrC`R(EH~>`cqVJ&roo?%*&-K+MDh*N&Wrt z&SdUzZ(<ooau)f2goQoTKaNTD!Qyuz7IqzcArit{^5!Ioms&R*%$33gMNQ?cTX zt<}tO^`3;FessQsRrqB1%XC7<%lfhrjj8g1K%yhq)fkBn4PZ`fV%VrI8ZOhZj~T=L zW&H=O>!;@0Y9Tx`F3RC>xV!*S?Ez@Ly27C_`D{b@c>Nxydb~f?&q-1V&7k*iKfLy6 zTHUD`6|Y9P;eEyG4#j>JnUKiKm4Zg)QhEK_e9Ae!wP+R>ZImpRY|MzdPqw#vZwi5&h!l&HiFjaBSJ7SJPUjTAFySTbS^u(*zZ`qvxF{AJUx*^?rv@OVmOS1k5greCWQK-L3A^s9H)~h$K zPuIq$4n@;-=YkgjH7~gvS?##KPAa1xvZ(NQd6Y3$CkOHbF}PHef{Y&2oQRf zngRNnfu;`6&IDw|$?O>Ly+`Xe(7mac?$$y+-nXj8RR8|o0` z#V+LA_?B*EeO+a%LoC;r>Rq8~r`xQv=-4NhvZg_&bG4*c#IN|TIXU+VWByoIZx>nt z9#mYe3qB>NmQfVs%pxwu%&p)QQDwysAVYfmw<9ix73>pOEpcUE{~1`2OH;`o5x+#s~hVRBMTc(t2M$+sYCu&Ix{Ys zdE;5wMLlFmPs~hF;}erJAgUG?F$(JG*3;FeD=Vw3pc#RKCtRc5y*_4$F=R`lN$1;@ z&Z^y#h;Y+KhZe-iJ-Yf;TZ}8nGm4$c(L7UnI^H_6G+4!cyi_n#G(E_3tuL)~h9grY zMYNab5JIt@?!n>l+2!rCbBN0U{;#}CA0~I=!f0}~HO3Ws1XLrhYwt+-%;pG2$DZ1? z^|8g_*`3|h!^4tQ8ty-?y3!!Y9RG7_?75_h!2YY(;G%=D7k(;@PS<<`tB9+Iz$zgC z2e1y{)pu@S06_ztlm-0N_mKKcAVmgN5OxaaiU;#j2B#2b6q<`^03e#FU<|Rp4d)cO za|Lqv-Xj+P7cvQogVU#&ATJs2T8%MGz&$`vz-krc(u%JGnb3@H6R1RP$b|oi{*kky zE8ZuV4zGZwD%m!QNb5ir0b^zKge(wCe?%Udd65KVk^i`q15TCyF+kQ=lX8g$FypKu z>=T)9O9NmL6(D&nP? z;wK@thzgt7Srn1}0KUM%1ePFE3`KPv zE8*crzJ~8>$*(WeiS)sAX?|4Cj5jN|9J~;cFV8|;2(X8N`7=vP^A}C-@>xl6exyuR z)=K13&2aHsNbnU|tiV%&xB_#9B^$5;)isP$KuQ@MO!p5F>eog7^gse#OSsfCwkbMe zw|Ni2Zoi)q0TSp1dg{x&h$%qAMeP5G>RM*RuZ?kgIloIJ7Y=ZYqF%+-j6i8Uu_-Zd zqrG!=e*K)!KVcsnmM`f2EM_(PiJONJMc*eKdCY3f_(t%~@6fkD{DOoBf~SKFi_is6 za*05Y)Mg~X52Y6m4p;QTq~cP0c8MV8;k~TKpZ(?w95YO%=hofNKW#Hp1V*|+YQW3g z0}&M6_s2j}J^gT(kV-Qa4tHX7UmOX2&_0GKFnX|(k}?epUZ@ilm!qkv5kYz*T$X)T zP}4C!wmR*xxtx}G)D&wrM+)0282oasxK^l@Z4J4iSGoyQ{HVB$Co5Blxm-Dy zD=O-nsG!uZRyMDmJ!?RGO>gVdZD+vKP-8;7y-L68X%2;2EskcY!P{(YY<60mPP?nw z_~ICIfa)7gP1O!d?djo>$~UB(cy%~?`Re(*7hXnAy2Hqr+I-GZ4$Zs~vD;pDynG2U z$4a|y+0QoiFH{Sp!p)FF5cLltLMmAUeBmf%yq`OcSN@hxti@KMPxe)SX6j|}&}_}Ncc zivKSCi9(`RsT3-k-BqWNng6n}zVesO2i*HLO@-OnMSfdW_uZB~z7!gJ@Kg;J3#LQ0 zIzdzUeaLz8c|1Hf<#8&fx;Cao({xhQ6FI-^Ta<38;#Eu1RncXXGQE&HdHw6YsZm#3 zD;j7UFT!ITcC`SW%5o-GAW?zEuf-4u*r8imT;BG!&_KJ-8X9ZOMpMf`p0Gu2 z7AW)w9Jx_`?dbK1Uv=79RaBmq_AD@DoPRC8GG*@x;EqS!Q2Osi{a zW&IEjVlL7Th_nw=p9p*?LJk931>Yfs?+v`-LHzc;43Nn}sY?`i^e8o8?%9ZpHOq|h zsI%D4F>4#56BR|hm8^tQD-@tD$%lI#@B`jFxry~R>WC&~3oKPbN641Xf?1Vo&`Tu-u~1PlG|AxUmTM`i&(ZS0 zV6p1x#uvCeUNh-+tb zB}D&*;;C2C)IpJZjis@JrYG~^95_uurH&Q>66AwH8Yv-xV4zJu(lI;8iPOWz5zo$M zXw9~#_RACEb=j4_M7u7svclt*p`Lmhd?Dpir`{odvyzATWMzz-!`)O@SC14(#OdR3 zZx6-W+-?_6j|~kqHC5I2p<q)WnsWU6`lA~rmTYd%=u)Q z9eq&mIk#wAX7;9b%J*?Ts^IGkMsXZ_ZYi(i1Jo9o5ovVUH_=HcFaI7%vIDXblk5pt z;lE929|(GorH9PDzdny`zfCU3Y@M#f4*rO}v%PO@QzBUP8DFl%+xuE;MQxmLN0m7hWpe_t5c2x*_a1Q2({it$)^{9p`CnVu3`V`!Y#ai=2~Z&8Fo_ao z7W$NlOzaG*mG0Q7USK_zH^w%$-d>LlBnRB{lXa6Z-@0r}DAkE|x;BNX=G8{3-=WwN zsp>4gn5fdw?1N&o$>Ogw+mw4Ja%1a4UJ<*zuyga-r6swasp`-U;&x95#D%#}JduIQ>Y6*o_JA!APtJ^n4Z^oO{bFaw zj`)%FY$rRE8`u_0M*0*<~^YiO7|68mrIhTeQSnQRLu9}pp#_d_fD{gSP+=FS! zAPYy}rka`tKLw5E3OK4I!6LOZ?@a|#0Vc?I?}T$<%5yNZtFj8)#9M|pu558iY+-o^ z^xY9dJv?nCV;8>B4v#^N`3h2{p6IJ_SO-zrk*UT55PMH9r-u@Qy}ez54p=$e-J5)K zztyg(thp4ZssztkV(H3@lLl^A8PcRShegKHf6cjGWKXerxbBvtI<<9lV`Q~>1Jg9h zdD`k~;V7Y2dCIS=)hb%~9W+f)zQBK?F<{gm0ZtrnQ(T6&;`;<25Hyg10l4m=8X&6s z2H+Eb1~3b*A!Z{1djuX4s3Tx}pFD;@tIPxODGox5N8uUyfE^s*DM$jDcycmamrQUX zAcZhcimzxQDS=cHKq@^!Pk>0o<&??kBLtK9D_{k*g$!ZxV07PP72m@X;jXxWTxejq z_gETs6ZOFjfFZ^zxVOkV;WPguxmN~QWkM=$=qo%Cp6o07ihM&N{xXCX;1TY9Lt-(2 ztv(?4BdCh5_<&rKXKMgd{6}boNcP`CE295XFnu?;3@__zsI{4xvwO2a$u&*p7Biu( z1dtMc1*EZFD5sR##>UVoGb5xl_t0cc{vS zEL`9?f)X=Okx5tlIdqgi(g&OF8&rnn`R2D=X)J?1v8CeWbf%W!up`i;IAkMFF9c2tuXkBOX9#DW$AeKnp z8`{3nsAyN`kA=oO4DlDTN_Jm$^_oWbc37eI>^Ud<@nna9YFoe@+1XUGs3}Geh z4Een%&=J)EaS8tWeLgh$QI!E{`rz0BqDty!qhj59eW7buY8#x0$LzI~)*Y}t%ncX? z%0mG|S*WNi4J3UFp?6UcH&UPIW{wny%M@}kU&U*vhiQ3awBq^t%J#`|P0F0uUFmQ2 z2%62tN`yRVG)v)@aHqc-XrZaTx}n)&t`YNlMYL4h+umx;liMpTw(7I}9jCS-8Lw=b zKRY^~K5~3kkv$ZsR(0-gg~el29E`a%Ur~w6^Q$*ky`!D{>Nf{6@s&_=G1@5V-?5sb zQ~OtSeu&u9LQK>}Rdo-U1jF~z_wJ=qL}hk=WGIepgb-S!xq`E!gH$Mt3Os^Qr`R5T zUzsdhB`8$yJM{*IN|tr+i(h?MDdU#k&+ZeN(j|$I@BYJk)pzwW1RCV=3uT{w&I}4Z z@igCOOTSb%-_2?4fB5M?{Q4g_AARx@Q?)S*aEhtW$OK%GPN|g0%;qMOLT+fP_WZ_W z&bxJ+cUM=HM?K1;vhLKfbo^#VYqO;eau7?C!wsoDG(n!sdCTK#4|R03X%_m%NBN_? zVQo*xo9p=EqPT6uw0UrRiab;kRd24VleI`yB6Fj))$N0@$mPQh-Cvm;Y~T!+`X*)! z)acyo#M4J}^F@!Gy~+hyu5_o#UHqG(LXtOESSZ{a8!O6Xqz6l;S?skwe{+LTTdf~R zI5k}3-be+3K$5LJLI zhN6-$NzxrioQ!?yMpF0SKIjDWT}fmFYKA^jd^8%cQuRIVHt%p_zn05F4$6pKh+>Qc zFB78%Y9WLJ0$B;fM&{?2Lw~m z1Ak5`6HpcXSaYEGgddG$RE$Fv16BjnCFo0nvIxw2Kxco0^fln?`eKF%$%N? z$VOnPjY;`*-gfp_v4U+dsO2WP(~hKq*-6GseJuiI?n(014h-$I@|tT+2E7(d%>@Zp zAe5Gt=jKsGr7+xZ$_ws(E_#x~WLXUwx}czyQ-*PYp8h7TtycG>qOslKcXieC3zr63 zmCgNOdsf{DSjAjJGOMP0C_SBS445CW#|Lu@#*0g4LyE$N81i&AO`al|SfQGelW-qc zbJ3xnemIwnYl4-tr$N^v+G8j=`1{D<0rtchhk&VgZ)ZmbHW=1oXoA@ZYbk%y{*L9>mHD%bCDQSj%h`vlL$g1W@YkEYJ>e@LLt_E6rPSBKXA2D+xOBQ?PLIcFFCxxK zhYQ`4c8CuG0Z6flxFUk6pitF#M_)HH#vQiyyAJn)Gvl;9svcWfU4hI+n~x+D9mguu zN*kK(uC_p!Z+H5U0XbNi8nUoQD}2*)m8^-`rJ3c&OY_CKu9#v$S|DAwIU$ND#Z>7Z zi#F3^#RXJ)uxx=zt@VXk8cg~cQzGr)Ow!h+!L7p>vy5ilE^Y$_!EOnZiM4$qRShb+uNI)yzM_gDAOTGs|;avjEtQx*N{cL-qtuyskK zf%Mh)o`aOa+LBQt0{4AHUMGQ92*H5r{M@-)86AkNcsWY8-_S92giFjqRAGy>6u1g<>;Hah5 zfTTqF$DcWOe&#(bSk?WI#Uj)}%ZbuTz)vx#J2A_4eI`)hJ*m zU%os)U066=-`)xh4=<-X{DTXLRmt|SiRQWmy=j9|Z|Bof)@aN4%=83BWSCL%ti;bZOi#{~+^IdiczOPkdVMZp4@}h~3#ax~Fox7W*exLY zFkNr%3jT`L?5>J0m8v&$Bi$YDW{+obzk|NuwC(n7UY%)*IRc(yhj%i2w7_fL-kl#; zS09o{Zx z`!c?nxt&A?eix4-_rhI(73r^l*ZX7!{iAH4uD{GEF4W zEYyN@>LX+|r!bI+lxuKw^u_Bs=Q`qJ9qBd(r>3Y%G5)+91;(4SzCLu`witG<=lS^e zN{dpQ5Vv8(IOAEKS?0^ds&Tq{Txtp5LuM4pIN&bc{VV`40z8p@m?5#qv?~%LKxWsV zUL`du5fVXjMHEDN*`M2LjmmbJzBIe!R`5Pk>EyI99x)4ec|~Q9ZkJaZimfg$7%7xh z{x+P)(G^9`5NU}9>Gltx-iI98=jB0k=4%U~jg1g0UmG+-Ud)dLVba{vG+{1&!klgq zy4Aa4b!oguU~zcEHNs#{#3!^Vw6tpHO*OlJ(ygfzHHvM!QnRew+cP!8lnQxjVS~d^ zYY^}rPcE_uG@b1Cj@#&M_guenJh--h;3#_-cbV#sJdJjJvVki-l?I)Wk(ZknuP?4P zJ6fx#-R1g|8G%qBb!c97);D!^b@a@qtJEc27)&tx3LhBk{tyJF28Xk99zDdFr>~dl zfgJ+7MLTRv5Rek`11@4fR;R_s^l}&eKHdN5cFFsWK^3$IhjfQ)l{piCA zK4yHgg}_@pTCT0ri?p?rO?#`{-^BeQp!`BE_G%1IN)**bjvD>j*5>9G(5@a|!0p7x z*+xJh@nZOVfqJVZnT|+|`uBDVi;Cc_k%J#GGzlZebC^`!G03=4Tmv z`3zY}X+d`}ThA!nc1)G#$J2d9kLPDo7=ox(_V1N{(dZoN(XwCb?yLM9Wpip@?(|aU zRzkm$p#aFMF2{s!tZ>i?l1%aZ?*VsZhIE6t$;RANDhq|d%~6$1_88JjoxzBq)z=go zwhAP92KKlMn+hciSpdoMg#mb2YREzY>Y5f9IFX`9yrCv%O=-(!L0QF;*$tW+T7MF) zCPUR8L`ZQo+IF$t~=68E=*nb7GMnMkILv-?CB8dV8<;f^cheT9^ z{_ynl^vvXM{ogoIj@ZKEf&Sspu&0dEBeB^R-w60I&t+K9)O#43YPYURqWb)DY04Pp zd&cVr?PG~?CZDaG5Y#QH9evsP;HJqI0+07?LXu@*7ny1YTtEVD3Q?_+^%|5G@nB)? z1VIRmRdGRfZ#dwXwm2mWLC#o_+|n^O8j_smIe7N=y$Vx-42oc5gd994sizFH=-Z zXgQdkoL?-nG}JIfvq;+_E|c^q>QFex$EGm2;?WF77^j8?pq@nRDMEWP_!H=p!Y0aW zliKD2Gb7i%VJR`yG$9D9UBP&g4Dn6vHc4fyWO^o%%9Tr=YhG*_!$Na!|3oPr=0{4p zTFRY^=GjATa9ggk9htdf<%|czV?%Q4{^Q1Ipfk|Y+UX0p)OC)i(`X6w`}l#;X-Cnq zx7cQ%^#o`|n3`VlRtAGW!A>`6i3I_Z{b;fPGh;m`)OxhDjXl&E@8k5flKmaF zSSX%Xj`0{A#<$!c63AM#l>EqznNT`Proiz8*N zjqJjOe3xHRlq;d4-aJVA%F2HQs$1czFtim_h!N!(FXdEHj4j7hMRET~e{tUO{BXcl zU8(BZV&vMJG8`%eIwUrc(>dEiL^75jY#^Z%~pJcA(v?W zo!<5#-Li->>_k0H{I<7n=syb)Mqmkw2@L&lDu>p$cJ}u7_mM4*;R4&cdwcZ$|8NK( zc6@wvh}(!M>jWmO3kb&m|E}oE0;tB$ASwj;g*yEOIm6aitxb4JvH*cRVFx;s*&^S(l1P~pRfrG@Ycy~&IttBQod)Z?IHAFeKpyyzLS zYU??#6t38TW!-M_S^Mhi8moo2z7BB|tJyG-{}BNop}ok!2n?J(PRy_49-M*!wn{0Yi@pVdCp%;tA1R-!gOZ_RRyC)6T09B zR6zw70>SLN<&PeGD!C_oOzDlj4L!GB%BEDJ!hT8F-CV1`u0yVk%G_IddX*guIzp0G zhMXf>ZCzeN)04u9ib2&t&v?(|`sjGVW1tF$yQQl=NGo9LILjs(>!&~a>Cf)h^u{!` zh(vrtKCTx~hF-sX^ZNQNP8%Ggssn7F0eKzl?e2XG8AR)A#Ht3FC3Kd{-C?0$#P2`t zl=}lc2t0h8XFOHsZ4XjtT=cn$ZHaO%>h^3aYl(4UZn@nlP-WgmI zMfI@7aaR?3&f9nA7Cl!oc)opnI6b$&yuM)T?41~F3#XSlN?gZ#LBUasA8bGAOjg## zN2$Rk@4~_?Tv$`H^YinItBXYINeo!nrD2~#DCDGaFdX((cq^4GM<{Q3u8c!*dd0zt zLMTHYiH7P-K3NE>Tyz36G4Oz=(a`ht9aZ$*$!;=O6L@;I^YoPfb9ThhHkI%dw|A&P zNY_fo`Zz){EP}F+C8EY|sW%~z83ba%JXdX%%ihFxrTnGsIX?B`YGuMT15ozL< zo~e2ISjHJ`Efem%m=Xjw%eI>#dL^-!5{X=iL|fy}jqM82+n1}o)=YD_-us8S$FvbJ@L%mv_hG9?T+*=}$b zu6fKqBybGMMxZf*wg_Az-^pNQ`|a&0C1em5ejShJGk=#n5iS{QhVO2?TYsHNjfHUM z-o3lGq3j}9hg47zWU7SJ110@!QhtsZ17i6Tk9D_o7()S&2~#~{VL=cT(1rhn*dcE0 zO^7pMYsC@?r>eLaM{?{*HdEs9K$v9(YY&B?sk&Y}h}E1FZC+yf7I?nx1vduvhlI8N z4tl~7G|OR<9~`2G--k;SvXfq3_xq$-3Uo&Ie|wPR&3%dCJ9M%fr6lo5aH9U$N@{njaUBTyI}oUSA|zm0Jh?-eCnT-#xR}FLf&h&(aaz zc8qK15%M$Eok*YvPf|n4)Ce*avmWPXj}AeDg|HMX7blUAW>o;M4fgH8DxxOOq zXME}0YaURsb$W%iyX4kC{FpXJKFO1r*teO%{x<)Ea?a-u^6ov-78mf@#UI{cI2gaY z``MS2`l0GacchO5Unqb2FrTu7I|o9xS8up{OI4kjYTQvcS}jJVs=7`qkm}{>HeKuO z`a9Y3FAOc_I}h&^u-RIk!sUYIi=qSiV%)z9PezbuM(`GO4?LI7z~u$#3om+mR78}j#hD%yvfox^<- z)J)+_-+Xy-Uw(2(JJ;GiFQ}iD!4;1QzQu+4qT(8Nes{%Ua)h3)FPO4%ZR&c4F2uW=2P#oChHY%Lf{Y$0(E6SL0^H;U+9a&`iUbKgjnw5 zGRQn(T6~OqJh-0*5rrZmg_o>bj4p^*&94;E19qtUa+ z7v%2|&_Y%}EIVx4fW{tMU)bynwa1I|`O0WG1F*f=tKF6wQ|&Ce51C1JVLI}c04zW# zVT9kH`P11M1qTX>42L~N%ODK{XGHiLNIF6qcoEzj3K!HfsOd=@9Y~djGgCylL$o}& z2!d^?{;9}_kHcx?aeMt8CV7ACFhpsL2b=35^O9u9_Wu#~-ocIS>6Mt@Xf)DjH6v-I zwIy3swyO4ztu5QNwYIEam*kRm?UGcxTas2`-kW)E-n`e5Ie>snioT>0f1W=qk~lNAEGuH8NF%HYf)*} zLobsqW?o7eSYGU4P(awtjzzQC?lu_lA&}T|uSagj`}jzX3J?qyJD8zBinU}C(O(FX zAweR@%VKdn@f*;yX}JW!Ltu?aCgTt<$MIm^8H_@zC#97GhtSb6iur^y6g!8d@E?X8 zj*w=|Amj4%yp6%Q%Mq02nj7GYxD9o;^oeN`wU+iNVx zpa<-cZS>xi$%wVqwdmF-D1E#YYFIau>W`I&>-B}%u%0+RqqRf`J>>GV5Km}3#Y<&~ z)^Z9HBAD5NLu`Hl4mXfrEicalI_vH4T$xAG1~}>D;i!P79W*~+YoYBG0|9S5#A)Oy z?Wu$Cq7h=eZT`I}DY+|Ao9p2YN9+Ww*sRogv;~=7&ohsT?WKCQmzDXL9ANR3v6IMN zKR&F_@uu2DV*B*Q>{2Q5`W2{3L<*U5g=N+&g&apL}Ad0?V%rmoru zq;~kWC1Edk*1(7*aX{E_3inTt_oip@P4~doVDVosP3cJ+%|3fSjl4^tQ-lPPIY>}B zsP!S6IepMfo`svvjwjfb(T7)n>Fw?tzz2U7M25)53p_HA?M;6lCJ?mTq7gEK=_uq% z0og+@5juK)G5SihJRJx!<6GNv@e5W4n}!$xFs=7P%paJkIGpI*a4KjArXhmcp_PCJ}(kwqb^8YbG@`@)4lg!6BHJ-@ku+45#Q*ITzpw5IO_7G>njeTLBI?xvXCW*(2l?gI9r6p+G)`xblBPI8CcJn#^XC z>EWbtH=q)~eT`{V2EE-3b$ElveDvZ{p>xIS^+d@=Hcd`d@!BWTc=b0bAf81cYA9EL z0 z(vA*_fL_n)#pyt%r%x;O{S4hO`+{@yOW^KCe2 zHaQ#Eit*7p2U~bjdlB`N#)k{1%fN{*?60!CTXW-LVe=V;HCqDWutpfIY0@*pUW{)! zD)VGcQEkPujTx70Lz)xZ=8PR&?eEvqudYZ$Gn>oimWdJpo1)B3HHx8lA^EJibizLs z$j3RA<29j{Cmjk`!m-uWC2SrH-ItroD;sEnYj^Kp2NJSCObY2(O|M=u8OcPb$^Jp| zz|77XOtlz;32~NuxN;iq64jQE)U3q(!rFLqV`B^4;P>UvUY+jo5{HXN^_jh~_4C80 z@+;Q!`XnGTl(@x3V2ndif&>xLfdQ>>X=1>9p8z8H1ZJLq+oJs{LOv~A z_Fuv?goyy2;neR!hw2(1wN!p$1kR`w0rl76gxvbi=m}b1X!=SGNX>@*5`s(!>9l~< zH(0F&F3~!O(|!lRHiZ3tmMCl8M$ZZ7c$fwIgvxILCzyHzuq6Pp52YQWG5|W$Xim-E z+LE9y#6g1jEAST)a7FkEQD-9Bzd)d^1ytL~J6*d@BgSG%1Tmz0n zoB4Y`{lBeu!h^q$fG~Pj-{7`ig(3y2la99AH@}($6&a-Abf6PxMn5)~4C+Z>=+otr zbZ12EpC`odl1QzYbu>`|;wZ4Jfcg*W!qzYaD5WS2HMh8AFEPBnvAO+_h%K!4S*>OV z$gQCSCl1-|YC?z040SJH7&sS#h8Yk2Nd%%HK^y@U3p!_`VSVs11h-RI>JV}RS>+Tk zY~WS#O(Pyg2#_!vY&npiakf4)hu{8mZiYQN)tp`&S;lmHorQCDsFq=`C#6UEUG96< z`RMq0UtZo$>089dnakA91IiM8ygS%sqsaF?hqF)LO2s)_w`vHC3-7k9Nk<1@eX1rV4ei>URw|jiSTjqzajZ3ygm%dR$MOtkIa64H=!UJ>1iYO+$P-l>PA1= z%-8c^lzRwV@8InQ!QKL7PG}GoDMCOO0&krc#^5GEyPz-V1F(XC0yvO+Ajcc}A-aH! zwA|0~cqYQesDP>7+m>H#c`kRzb$2d{S*Hfu7mRJLcfs^-?Q`>~Tj{qV?1*(MBH zO*@wswbX2N)p}JywaKnn+O7%GPV3^CSaD*;-XsQlz8;TTEl=KxIkJO@I{V%jOl`gK zZp?@#FP}eoa+X=`RT*AT*8XR2_jnt=+g z?Jo4OCJK-bg17~=p(4na8MHHg57Y)8_oSwiJ`;VQuZj=&fL5t2!jJ!ogv-ACyD#Js zoI=S@L?bsCs-AZGoi5r}13bLzuYQdEfb(~vn|_+)PT)&?<)hxncO-J`w#gKWHJLtj(wDQdI9YAiOP!v+K zptbA|Kw}bi(2B!a%gs%*<}FXRhsNH$n`$PGbv5H2_wX-I3-9&MXAg9Pg z1~sEmI~w6RWM&8xoZtes3hP!|bD39|T$`R7o}+76S{;3JRfH4oXYop)-1&lef3k5b zthmTj{*rl0@_RzNyO0P0 zWF*KPIYbWW-;yanA)=uBm_SFDTC8Ss%&vB-1XiwSPBG7-@)!i}KxZFEI&32fVTuM} zHGm%I^Nm(ESnB}DLilZqXhaYWh6m<}rr!p_n5yK_K<6_b+&2!?Q%Pe%R-a$wjJN zyVV=8ey(-b7s_I~DVq1%C#rH#YVANP$nM{Fty4&tQZb$tFjXY7?IBKL4GvIk{ha}N zZ(E1U>mh5M4C|6wacd|p2` zs_k1`r}(A(GTCY~+h#Z>JYCJfu0;~ndSeb)Gz8ez*VZ~aR_5xkv|}hE*@w)TO90KEj=tU*lzlB-;@w_N*9fNMtw z2m8MRr7tKQchEfu!9fHSuxm)-cyaX%YI#JZ{U)dx0iuD@@dv4Xqbsmk8U0hhQ5LcH+$c4({Y27Y^jXfvR35OyEGT z0@q^(!?JTo7lFxxbYmn`j5~AAz?t#NqPFW~b{SvnjO`Yf=GG`iOPdWHXIRouCk)CL zn68IwxI(we(4d0sP#6|zsdqus4G)DZO=MS;$xJ(ikJ+(^;|=aunT_K+{fUkjd<%8mO{X>_SDG3|Bun|(b4gLnR*Ltdy9 zuy#6Eg3+tnPN&QLn$+9xbiEIqONeSov7!*0DP+?-2~|1RG3em-jte@!y6bc~2$lfT zG2tLT9_-&Tz)||_p#H<~)E<+}ui5ynU3yq`yeb%*C;4V!0s*Le*DN{zI*xf3B(7So<6unYy0>fwhPV{ zfQnX|@4^D^+qJ9c2j`RcXwGHL&)I~z*t7yuojjRK;`>ieAF%nw+$g~wtuiK{RV%)w;bm}z<}8xlZ0;g#8pYL(gqa^r>3#>N8HXc(qq z`s3H)=KIanH95vEt~YD}Ap0S(7#f0birHA-XkEa>AKHYAFwy!@sxCy*eo{n!_PP+* z-i$8Yf1-_u(#&(g>-aivdiUa-6PuZD7FNJsWpi_7Ea+~`?#qvtY}?%9r3U+?A#ci8 zFZP-Dc3)jSbZITJ2QQA~Pv5gS9R3fvFkr`G1-C9(&GOF7JDfEy;PQCSpCpTC%=Znx zQ2DBw;4qJ3l4W zehu!u1|HWpXxAJZlKO*t%eOG_zTyCTHrWa`2CM#KOzEjAc=(Ut%m?q1o92g zBw!*9;8H90PmoL#{Ym)xsqhh=05IY;oXUnaZ{ z_^*g{vteLL@}FnSegi=@^w;2#Eev^$=1?>=xH4WR^RzZCGF{}-zzVVTNE(om-$vV< z3&6ScS^)$CmZO2+2fX^$6QVn~faJc7Ha9pce(T%+&9^!soAqDaz5xMBlgM0S0`!Pu zBi=4zcG$=<1p_vnoEGMF-2AdI>=Tk9{0rHR_26B9gF;)N_Gtk*WPO3yI3iU^)mnnq zublQ?{#Jc1A(hvB@MXFvnRl#J0_WRa&9n+wJBJ%d_%yuV=9~e$JK( zgYw(b)E!jRwI*J`JOrgePyGbB;KSukJKp)b*U+^O$Pp-ONhDt9R~ETR4(AXFQAqCM zkp^r00=HK*$bj;BklNpVTfqy3@dy_3gCN0$Ci5U8sudFD4}#@;AP|795WKz_3UcjS zFX&DXNbq<(F1t~yf)hzzCQ78H+wayQo~(~=p^z1gLhOakoyiY5Hx~4f>G6oJzp-ey zh$2#}QR%OA69_a)XJ=p86DjYo#d@!eiSf_3caERzYs$`{>SkkVNi!0ohe?iRVJuyyWP{c zOlNO}59w^pbQ|8sncnnz} z0PRwQ5u{pu8qROfgG6me(8CtTU{DY0IiwN=<_0_pou~)k7dvXQk(qP*jO^^b!YJVO zlKOw#EB^aW+v|!ySMk-s(s(#>15*>adcW)uyP;zF+s}VY`OMoU&+d3eMklmsm+aZE z%~Oj)=4W5ux_$G@Tc3aa`Db_WAN}6V8-Mrdr(f`Q4wlB z+1~NP&s{XO(*^qsk%4|-O+x`d;ug1C*lFP7&MWw zLUt15fXgT;YHb5NxVN`<8is!TWLM`fbkuDen!j&4_kWK}dV2OWDq24$uo)!o?z+Q+ zC7QBqMQaR$P8v>auvye*Wn9(g=@rK3d!bH5P>cku9(;(qyMC^fJn@Hjki92NptXdN z)v3e)Wn|bU_GBW6oQ#Qj@7}D8ho#U~0{2T8;35DEjTkHV%;SVVK{_k+F@O*;4cXyH zI&Qn%gOY>ArD4@N)z>qjh0i*$%7a)YJWXSUyokBDhH!{y0c|w+Cj0`3%#h&?Ui{Zk z_@FumoHScpAXGcBE=^5>TnOqRpx!}61O(g~G*pm|v8`>bjnn=Y;zCLqULiA!L?-ii zVN)F{m0-5LFwHyXk=7)2GGj=6$mA{PCx!cL;-+X#n`g#p0d2uHVjH2kR?C?^DvupB zbZLuScrOG`z$S*a79!%o@E+C}$gBpNifi8wG>-~|BP_ZMOagE}I2tMy=KXSujA@if zHf7*z;}vOTG6`S89_;TD0E7c^C|HyFKpqb0A8ifvVMhyKYt@TJVR86AEPr91l^;aD z62TB2#QczOY%u8c6@zLtzs%*I)JJAZ=D1K`-*04&rNL??XkM*I^*OJ}NZ-2WcF9Lo zK8Gf}Oaf&-yRUn2A())l<^akG2_!4fkBM5o;12Q~g-9Stk)+2wI(@%bLUMcbebxTB zBP>@+3ssn~#W43Vy^lt~Nc}^-9qxgyfo`YMOi%@Amb#4m$UA?#z#80Gm`obSW(kA+ zJ)LP|TGpwUxFyY4=DAD{1ZpfMb@ocGi{PJ>P#rv#_(z|A@g>1S)31!?Kw43TvbI{A zMHU}3GczETMshJY`oNRF)bis8=^-=`Q&<8zUT{)KsJ(0Q+~$49s%mfF640vI+6j>@ z+B-l$@!rj6<|7O96QwT8VaDN7xF&WBlj}kzE6LiViK5M+NO(w_(DP0o@K)?js8X18 zGPw$0qm@#FEgVh=ig6t+pJQ$%7_F^ZU66jHkx5w9LOCou?kiHeEj4bmyUg;^0vH1GD+`RG@!Pqofb=eH(#+qeD-GQlZJF98jx(VxKmgTIb-@ z)v1!667H9#mj-|?2l5ySDU=otBj~+<%D)CK;KT3+1d+gMAy9X9{ zn-41l?2j*x#?Vx>6LJhKW|I-b4zYcHi=>9i$AP~j`d0>z5$G-pt zKAKa)Prr3`jz9W7ka7@@ch&OS!@vcE&IBhuCK_17Jabidb`KNOS$x6%`k{VkvI^bs z+zjtRLI8h98a1vv;TxN=hT*w_dv4#4Oe!a3V}ZF;HPMj7PHTk|x`>wvFk^d6z;j@J zf?|9@9*O<}vK>J{4@~XAC#2=Ahh&To%1KzdjuZzOjBBc1{H| z;Yi36wkkyZ2ITL9?43~|gRFhV$2rAcxvsE44G#0S6O$!;0-G%9;(Ao)zyrWG7#<65 zhoD+G2sq~FPKDfyT7D_74s*G-{aSWUm|9;>2ae`t(jkT1!MXUDh#F=r!%=tsg-D?^ znz(G?)%3#FbB!lGRkYjZKsiLY{fB@5gLYxau8u?AhL}cju`O1pzj^629H!gk)`uTBn7v-5gxOk&{t*}waDfAJGzA8q~M@ByR~z%G6K1lYHi z&#$hYLK6WwCO*Bo{Kbn$rw<>X$;CtL0HS&zSqm{-L)rJX^$*X7-@Bi@7@i3G^obdB zY>X$Cy(=@y!0@er3o!>DQhtDs%I%FtbL*rL*`NHRtaSZvZqTs{F^r&D*YTr!*%O+PT zMRQY6RB92BjVbwzz_;{5Ad|}AHwwhPiBY~C9}=^W!Ve9oK@|bQ$QBwCFn%7$d5q2n zG>6a!jaI`1z>gu0j6?f9xC1T-!l6qGe4sm8_x|+in>)~*KmEr+Y#jo23V0ezi>X7? zY*Km@eufxk3{t!3kfq#mvxgwC7Ey=19eFSu2Cooe!oH3ESvG}A}oL78^rcA$c+Z0X)J2C#cHCzjkr9d=j4EZ6n=o$B}XySh_=IF zGa*DqfzJ9(VB=Ar2OwDs0;NTP*$ialjXJ%~-d;c6arf4ZFGsU+w*YE6aL>91EKm@& ziWO*dqiJy{W#Ei4NKsOZ*8iyg!s!~wn|Ujn0X5my+t~+RMs|n2Z?+Vp<)RE2U<10u zi~D{PVUqx$5~xq&@dOOAf#eLvupxZ;e+45lxQ*-wp+^mO0o#VkHkeyOe&?W`s-xr} zD9zf@oEd)iuY_aHpUg0KRz_*Gzg?fX>&q-IpFVxD{=^i17_J_hF3xt8@42jVL6tK@ zUwzoUKptgh@T4FoOUjG95@)M-J+bDxzxPt08M5?S8|`R(?_0OP-Tp6IgKI5&ec&Kb z1}^m5zwxgV^!P+rd)rr)k>pq;E`?&vn8+n=ec4A7iI5#4L&HZ!JOB%%A_12bDD49Q zJorg~16BQZ;76$QaW5u_YC|g6L}0(?aDvFhZq#d3D&?4g6l6_z5!gdqwLxK#@wEL@ zb_O-uU4o&|NeU-2ug;7X>zi?8~$9&Q!~niSoCX_j^5iv?d@=K zu-=gl?t8%t!@DiV%{6ZR3(egwf?D_0=j~tI`1;nZFK>VG>8C$v|Iz0^`q7PBpMLh~ z7fi0ilT6GV(MKlU_dY}M#|??k`IJ+@sgWI2V!${<=a!HB(o3ESOsq#>EbwnNj7up1S> zc$8tvw*hg4>ap(5?|>5W?$SIy`>z@R#-I;eo+>EgjbScdFddFZ2L=NCp3b&AH!8(^ zSlR+&0K-~P1@HPUL_7c*>jyFP05t6f$#e}R==_20Yo~|Wa7i`};zqh3B!uWV_k(wX zB}UH2acH}sS{89kpmhUWhPbuXhq~2wfr@q(cl`?C#~iSiiHEvUPEXROcsHg znOj0=3^=gvE?&nEC1d`s8S2_XnoR0@u*P@2sD)rD+e@zlL;?2=T#3gC1{F0k!SAcup?-eJ80`M zv9Lm(=8%|CG9@(4ak?hg?Ou)F5jBC`ByoV)$086hLN8@8R@o!rMu}`rXK}jBUrJ;` z3Rh-5z{VI9b7sOjA`}ejq~gxIHJx#tCuLU~Qe45syj!#$HjUct>zuF-^z^g`U6EB` zvd=!jrd`C_?+mCYt81Omth2arJw|RzhT|Hrt4a(mgCHAtD*V z7&@nj#|}7*z1kXB%vP!p@`r&`0_{jR+NPlmQ=VCvTLRrH#Hp8H?<4m~nAZjIcoO;+ z@xy+Vk-${;=^lm-O(u&GyFF5>>*xeI7Q8#2T%@lqPEB>%?^pfyQHSg>6L%e9{8Q=& z)8knO^*~a`@-%^_R^_pb96FT=a@B5-U|?K;+r12|8%|V8lOsJ*SbI?BZfOMqHFJ26 zQGKl}yVT=m&SioR9;*RRf`B9&5Hi|hNblhH0Yn7OG&ZEujz$Vua+Z6fnai9W=I&LF zHN%Qo2{&!25EZ-Y$2;_g7BLsbLJt<}6T?BhjEgbOwz0v4XsbYO;b9ay<)mr_Dk+jW`Uv3zAzV$hKJ-*mqCh**2 z`_qLyALd;LArXwp#My((l;*xG!{V^5J9I;qK0Osx6qt6196%nTh*AGjpw(b34UFO6 zyarnips}7^K1?p&n=yFx=kqJGOwnvmDG~A@Irzzb-s1ukW(Eib<1V1@(16jq-eACu z3?SKTpo(<+O0xI!*gP*A*s1rJ!PWrcrn35EQd7Dj@JG8UKl z*DUYM2y2slxK{v^=lgpScje<;dFYLIB~*IgAK#FjZq7&^F}pYEIc`n-?g}{AiBKg` z3eF9cV$EnRaH)9Md>lL5J>#g08FA?iC?PrQPgs0_Vqj+hN=QB!0SN(%f&GFKcnUR4 ztPPn@iwUKW`TpYM#nJtuKj<4jes(6}cv95~aMT!y4(gyjfwe221MxcoVMR0o05ghk zJr0Nq@D{p-mbXGdpVlY+In-)~M}s0fHw>feiTDwgmR5C-l(x`AZ!F~=va5Zp)s#Z9 z%x*G!=w6JSS;BPkg-0%vCLA93#e7+bP|Pz6C0dwHe_GqQ$96* ze|ozQZzjoK1JT56m`z-RMACWZDByn2lQXBbby5wJ>^x`nOK9ZoFgB55bb#M>(BZFh zll_jWl<|6~uY>B4zPmhJ@(eF+F$YQPz14z77>8Md@dPoW^3&4w`PJ1CP>P5+lwnO# z#L*GkI@;v|&293-lk@Y(kIx^1`R3!tS65Fi9-TjVa(;S#_53*)+rPYe^aw^5Ptb_k z;lb_}v>-r0yZjO3yFx;-hZnglKTjowqI%}k@^(}wa|y?=jm3uW>dDzTGf*pJ&0|C6 z%i5@Z3+LS%c&0m<@d#e{-spBMf#lJ?l4sL6ogTNvrV&pxG zo;L9XjfyQ1#C8OU1@W-ko>o!UyiN$I1Pd4NL_i`BXjRV5&9=lHD8+DTd45E$9sv|M z;Kxtg&Di!*eE;}N84zW}oUAe5DXK1QuaI`b4kKt;-<}>cYolJ1OvHbEwl+PSaJwu9 zBiPI@&uTJ5c7oX($`oqrrysZqlP@>1@Yg$sk1yE@voDgLnyW_Bv*!n4 zW8vxjMR*yBkdS`4rl=Un*sZE{wnRS&(E`sTz(hh_JsCb!QN zp>~2uDB$5Bg+w?EeSwINM+;C}pa3$i7<4WJ#VgbJ7-$X|^qE$`7ua`PLkk3nei_bt z*BAKCq5Y5l8HXW&_K*IxCf!;rTd)PhxL^??rbmFSQvr7df2yS$6oQ`!c#5F-uomz^ zX=5Vbxj2xM{B5+PacKXv^+y4f{TCeDPmLTwGRZ->2|-0bWRR{*lfbjW7d$KEgTdQP zVZV&%sMZBu=`|cfuOHssH*oBK`WZL|C=Ok&kr+%sfE<%V;($D|h04&&Y1ILU9Q&`K zvhSl8g8mr#3rH&p+mj0@(GP5*4uBcli(W))+>apyd?u#>5O94MjX0Xdkx*IG|+V-1)QHFw=#UN5GT; zMu9Fefv6yBtx@w=E*D|Mac9{VUtv0Wi34^(BM$q*Qz5t{* z;o<-O8=)h>uNEo;KQp8Wib3gyC#f)A527eAAV7m^6Hv9mI7@9F@F2ot@ESn>)Y&PS z^xlXqmNxTD&S#qocLLG7wbM5b%WpOAgZRSO)Mj^pZg>$LKWvCF3I0*EPahMEu~LGZ zGAS#7XZ||%sGpw{H^v&ywH1cm5i~%e*{$2RxHqw{kzAn+xz#sr0x<{8b7bg-tOdYQ z+Mrl;*re@7Riw})8DEbZi}_m`UY zjgD5N=&MEFHIUTk~hK`4kJ9267-8L`3_r_0px-BZ7z_DK`CSy~OoY*r+?sIIh zU?8uOoMZfmBNh6-kczdp?KFzO*!R_4$=|~+?7V}rDm%LSi9|{tkuXT4;`~+yjlsIl zk_j%-%(i5jEj4|8cQA7MhfX^FJ*x>czkrzSRydNm&QBbG%iMktqDxK_qUekCQ}A=04yNl#r3yBYxZDG$eAO-XbE(}G4fZ&phA;fS!sj-ezz@S+E=jXwc? z9C9I$>KDnJK}Shdlbw!~u5R?&(B@Tse{ z@bq*mN}=wdMqxEeVfEkJX1a6u$~s{jHysJjF&Oq*Tv+lgFVGaWq!ZROSW-CcH(MJB{33yihu#moU*J|?-VgaW zQb-+2A90Yu^ZFwxdqONG_yUWnbsmSz=$$Ed5p|xJs-Fjb3xMMRzym=BpL@Vzh!uzO z-VLz|NYw0sMSYH3nNfmAt|;OgN- z`ix}}emdIGv8g33Hpb%&g4N#WBruAl+3Ju=feQjIVjvU1E%JP|*;5J%SWF5wk(ZJN zq%^vu$nz_@Z`*)rv*b{A*DHW97!u`o=o8JYTN>Pc}Y=GOJr6Sh$f&7l+D< zE)Cx6yl?HlU+S}(SuEe`xI@A>3F6I##QnqO()8q}^R(ghI92vpu7SF}H@3v12Ho}< zrbX)zRW+vgl8Pya4FG820+#|rh)ioRTEH{jWHzd8a4NDp;&E(~%E3-YWU|M*_Q^G^ zLUm-tpTq?&Shvxc%I)%^-37-oAT{VChJd|`1mh}YE|yQx^2`Q)nz}ey$d~pmX5`Bf zkzB+iOLk>^27S;VQ;A5Lir5%T=1cG%i;2O*&0_PQHTHb4oF%6>K^4Yn2ed>RT#t&9 z6GSQlI3OCazpgQ_Wgozzy;LovJQA*+t#djPvrl-YWUe;IQ<>xGiAs5IM^4ZXYn0po z8)^agul@5x7tK1t!YTa=ETh`WUm59_5)W#_V6#~T2iL9+2y(_gw8p>ymVu)1+11sh zYC3`Mxzr)+B^Mhd!JDLnSAQ&`iCA0~ZN&qM*!w9CeOlAw5yqw;W z^l|+~gOd&Nj)s^olcO8*MWw~Cu(-Imu&|<&PO5~Q@(Q^BAleMz8NU8oP=F&R2AKZY zM{3B!Lr^}R93LMZ;D`TwfB)zRy!P(hyLWtiAITvfJ-WEOyo4zyP({8+>=n+&S$_-8 zCv3KFKF=)dmhY8VB5eCy8YoLDGub2As)Bt~+nU?iF;onr@0X|UPvJx^=_Pdw%Udgf zQFkLkMXa0{?lU#*gJmM%a)6F5W7ESsi#FYoo1@sqQ_(jxg zLI%}1IM>3jpb3GGU`s<8cj|o%Sqf#YZCybc4^yqjX(e|nqOeDKq4ccvw4_ESqHW5#8y1aXTUQ)kvx3A;oAN=qK zKe}`KM?c1G1_t{J>i^r&>sTTNum9FEyK&aXP;x%sRtqFdw&$EpkoC9S9XctgX)@Aa zH0$Z+MtaN@E$hi>Z_j~S{PJRdRz`6+n|)MXrMx_s(W`OsP?9!W91^DtQw#fpGf7B@ zXL9N_EvJvg;pyi3WujZ3veGngVLYa>xlQeFD^aBlbN^6K%~`(SNi*dI4L z8w}Op#&LPiB&n5#kG0v!`yT4Rm%8a&A+xiSeoF91K`AW}<1>GsDBx z$~J*UI!J5zmsfadS*)_H=;+_y@j79=W(th#s?(Key!LYd%eZx{0W8^EEiIM}2jU)L zh&C&^?>|~E4&_!3hJ|?!Q^+B8am#!rncVGlc&!3cL+j5~7T33Tcba9^!^73bZ($X} zS#Qr4#kmWPT&>lr6(aUk)l^*P0{oXrMO^IA?>(CP@aoN@gJn=;OF254%50C!y^wnI ze^gs%sh#18`o_-In^!Kbk9WYIhYV9N!dJ-I4_QOv#G+a&W}m6z&WQHWJnrDVKWSpD z#HkPx1=(zXWxsR{7!YU>(1O(8xMs-^MrvJv(_+wg7wwP^UGd_sw0JCt>Kv@fz zU0(sTK;HPj^^XA=x~KJ9Br^mp36q0qf2w~(rX@Ujh{?s2$b7K{&05LN;1U9r3l}^e ze;)ofaA$z9J^``}*t-@u17{I1uc!UeKg4E$i&|1e1fjmcW-Yc1abuF!G#eR#K2FO} z6206{7)k7(p*Q~xM1!{v?;SeX@H-^;M1YJ(`{(eyE#%eujtun?Fhc=mts5XVAd{)q z7KI1U52t(={M7y{2(9Ih&jTqb2i!G3p-L&AK)fFZ9uGz+NSX=H1K)uoq>$BczZ5n! zY&#|W*WtyrHUfH;*AyDYY2mg19jpXUu~wY|LIWB(qhoRZ9hFoAD!LgX6=lrazVY=> zempiZ91U5iFnQmit8RZA`O)LI|Lq+R76N30$_W*3eFIABaEMTpIvu2}b)lUt8)4dd zSp$eZgHjiK-5Vn>cF?R*3$B5S9*7&!kj8faoIz6^ANpk|(V<31!}keDgrc-s?Qs4^ zmJG=E5geG&N2oTtjJPxSlTf$;i0n~fBYoPH;$DfxwA5?yKwx(E=+)!WTYYpl3n$Ul zwjf@l+@9#yEq%o(%g1Z_1Z9Sft;IgTqA80w$ zc4lvvLs=A9b|J1MIsrmHu1roG7k99DOm=(9@|8?uO8w*uL5g(?j?^Ez@7(?DKgysF zEM{xKi-81ZU?DJ0432=Kx7h3&iB_b!spzn*ycJ%gWVU$ntGk&0%cy}!)9cM*Wy_hsYmptZpA|AKu%jg(-^Q9w5iTEz#}3KR*kxl>;=!bV`ap=|qCWvoxoL&c|I9vH%El56iaIpa!;)Ll+2#&>5{ZM| zM1U5w-kL&4F76V{UUIi)4cul)1IgaeL{E3e-P_-5f;9(JRN(XoEE-;>XJZ{8SgIP7 zi&o|UM9V>X_pKY1(s(B6Wg#&$@*ru4B>?p-?zF*25V2Vxa72_EVUVn%6e5HPg~Lss z@*WO~)Z-iL@%s3ngP@Mx{10@?b_ZHGH& z!lznCb98RFzDP@{*XXngFCrK_k3a|ie4T&J$Z^t|A@!JQM0dbH#dPDkH36|IE;JX) z+x+Alr|s99ckedAoDh^Ou);xS2;L{&`v(ZE!9F6BJ12TmVXwZBOD%4!0+TN z8d(qt1=+TA(ky^U7K*upDj$90d%h1%DxhD{+6VnACyoHW1J6WVF*hAC=T69ZbUR@! zFd9wPNOpK;_>5)ESYg34i2df}$V$OZ3!k_+O!=cBIxn{*nA3`x+W2ig@#}E|#1!d{* z7_$Bn_>h=0?s5+h+GQ()- zs5cZJ8q54kT|Ax31syS4jOZV*%$zX}h79TTD=Gh2`{u~Yvck^rKyMAS)SLk3_eWqV z71(@meRVryDp@u(nxz#_Ni@dxqx+BPm!}VBC9`?&mZo$r*$BnaJ*4<&rOtj2gy_tg*v!j6eKrE;3UkX zkqA3uT+%+5_5bksd;y!hH!9%U?-|P3u-!LFRE4X39F=2abRA$H=oR}&;Cn;somTTn zV~2xQKcz>t4uuVwl0+-rRhMxO)69ZB%(vP!eLkk~347Re;TxkM*2H*^gBDS}8U^cA<(GKu^Y;PaH+U^bj zw$?R#KLF@hHS%_I8d4@Ds5&i43^D0xoClyjF|6M;+3Yo5FAIaK`(Z_hIK z`;3<(*rj{wo$z5|ngs1jMN$u$&tCKQP!G6>*(z+Ri39v|76UYg6VnaonB zljVGs*4eDk$aCrBuetnQB|gl~;aLp0F?4}QLP(22`5H*9+tLKJ`jgu6RB$9IMGIgi z3*<2fN1#PLl$@wlHYVS3bV&{PD`_ng=9$FSOoTW3E+*p}p66Ji@jAccG>XJmd}Yw7 zm_CFa-zzZ}gRY=cq_IlG!W}n8xOuxB>-zc+?l?R@__U+##tj15LEwB<(P%yh28f-h zFqlmeM6%c-*j;jj!K-K+rH3lm$26{7<7oQnqozHz)vqb)nAlG`dvY%Ei${BPZMwhF z+0p1LX6IMRrJB`{z-W;>Q-Kl6X?*!;YcCrS_3?3v-*`)7x4Gsd9hi*$*Bw=~OIu&y z7J~c|(R||W(Y;4cFV2teAMNkJJQ^G#YnvNeyI^m>zUoObWt^z;*&;T~AA5fOF%fX> za_+CL7ZyVD@n;`qH!q)n1IY)6Nu|X&cvhyK$OPt%4;tF_>BSFbX71^vRw5UR9_v)> zKV_Y~ee>a9>E+}5N2Sx_WK!Z`;zgsnhD#G?U`hM51Uq)3qTC4A)gUJrp(KUm!yxVN>H=B9=$TgvP@znq-s zRU=dN=~S4$?n*B0-#|-h^GxUqr=b6<%;$0%H2Z7lP692Ta=z)T*Bf6&;4uBkKR)Cl+B z*W?)wGQto-gQ2MzObXx%IJVybdsw*V`tE-S)UJsjFmC)U1Tg-=zt#_M1$okd)i}VQ zF_}C_cV@x38cLQ%rXye%NvDSa#wn3#k^v|MJQ5L)1}I6;N-=Apr50G?euLj6VAH{( zid)8;FHmX7Pl+Z+aFEOgbjJeZiDCzaFqrM4 zgTV8C+&I_syHjSINypIrmAYqZvi+CdUWb+m9zYOi&Yd-UVAkFh%_F7$kTFeMT|} zroc22;+{D-{v5)}Ak+$=4D_H8b^|$}8gJ5en3Ev=rMeq;*n&xlwUbC_sU98n{wX&l z@sQja>48cP3OJNQ3vKpcP6k8SU}y#(L{aG64JfX4g{%i!%N%mjLp2;o9?_r*_(3i# zL;h@cA9x%L5MVS$SvTI+oy;HRnNlgXxej>%v$W@DzGs@yVWKt>UB2bvl&Cjndxyw5 zV)?MMc{kJT*z&%pa+;DO&I0GR*XSqxqO7PvA|$92J><0oUsI6*LwUe#Q~2cH16-U2 z=!O#7ATF)N@B!rjbzC8@9}UVRBwkPN-BJ}~&s@w*x8D7{i^2zYI4X01L6bA=cHq+- z7Qkol1xgYFTtgHv=p1n?2I3ME{07jQ$a|&$!U)im-piSfVxs|*SQy5<8tBQ`E!WBxi}v3#XbD3 z;s@p0<6!;u6Z~p!*{*QQ7xWIbOlq&YC94nI%0L`^?!iz2*hZh%i-d&GzlP%hajRfC z=0+5Q$zp?C8t7-o!U0R+wxAr9Gy*hhr}=V#mSvE>9t`~5pVK<{)LxG~$PBJejb$Q5 zF{=?1e*J?V%l;M=hMZoWrth<#d=~Hfl5GF{(;L}>h1A<6_*7xk=|#9s%I6VbgqKgH zGJcoF0x^Qk>I8T5QR$atao1pAu;y5Mb6yp*?SJE!bduCsy+NnfqbUpv;5Rr?yKpxa z2tk~j-WWG(C*zeOHdl*r6mzd%OqTi6s+xWuTg3bGZ}e9ai=QIg7BTqgtCf3BCkiX_L`Ff z`f0)map2w`=eespbqU0x$as{x@To<-TbVDV;|+=;vqqD-#~Pa%iL_^-X*3g9W}+6y z!R~vIknAr;yFl`M>kr|xdl$l;m*!`{9(t;hvPrYiq;#a)$_E>QF4UvBb@OY`KW1YQ z2L>cN;w3}^MaJ5e=UtxIrSQMWR_y3l6 zAZH>9oTSza4{+)*kcP;${3w6yJEPEt&gG!pjC#^Y2?WS3mxneD7zh=CSV!Y&*JEhN zKoIh^HaZZ=4Z&u}E1_3Yb@ZF|=XY{6frPwy;Yl{8xW{{{eSK_uvN3F$qr@~@RPsDO z&6#8F?z7ft35xUBeKk&-<*qO*!d=lLhOww?3dyDK391y<&a!`5Q-Vw*eEug;gu*mJ zi)U*Bn-5GI0&a*`1bVbmbvJ81uh@oRgX>$vnYc` z@3WF$=iTa&{7dl&F zbbV)I2kZc9TAf<_e1AH&%o!k0wl9K`eX%+g5(HM<$L)-iX>4K|%?K8h8l9vg?p`9L z=LEsoO6OcE%^u*BLfv2e@Y5f37(_if8=VzzAvfgv3neNbcUa^>R)K-zJ(R79Xb1@s z+#X*Dx^^irhK+lwo#J|m-;7Wk1MUX{?0LDMUwcLE&RLRbPIh)NcCo!O->5V-wDp>* zw~OHHi>q~MbtGx;>uy^&_Zudeebfh!*I>gJ>EjDCGs9t+2muH;lF7NfLqoZwHlE3h z{&v9aSqlxQy||*vnYGTGZI`4lO8R8M$S{~VRty$u2ijwRxk05Lf;8E%&t;cnTQJo(e(+>ZAi7*2x0$?Ml|-hBD? z&71ch0K$Q%JTPt0=0gAuK{(mjgVFbwjR|*3sSv#Su(rGq^30fPB9_579v>>iQr=jo zPnL#!Q!qD$))aK8kf1-6Zm9}TqY9eQQ1Eb4--Tab&kXtr7C1yB-9Z{Wk(01IW`{S+ zHs54A{z4)sFN``Ri-~Zw5sQBhze%{vCcAHN1{A5Bddo7~VZ>8CVbdtzr`xm%u ziAap~SqRTG=6GRadvo{UlV=Mc$(4S*Ur#Iv2dER>&CvhH)_X@aw&!<(r`^e(X}6C( z>oB%w&g>rV{4wW@ea?97Irffc$6kly-EDh!+OPZdbHDd0XNn906t1MJoO6zVB$RVP z0tt{1A`1{gB4;QHiV9Q}mG=8nz2~-PwhDw2k^tR%f1mFs^$8%*u%PvCdY&~h($-92 zetL4Yl+~)V(x#|y70Xvuk)_%8)$FLan@?=RnO zmR=q2ZDkL3w)UsW>udYl{)xG{(+mrTU$tqj0N)cphS(ria~dV zg6tp*2GU~2857VN4z)trOn}9XTD{hGcg#TIMK{XsVdXGyfEyz(EnvP1CqG*j=DcGQ zxdudg|z{e#6%%U*oenYWoP?7^GjTU;FXW&+dTG3Pp^43-~fH zT%q(x4#YtU0lDEIh5ToAAtXSjpJ6wg_$zhv1mxL2064%iIE0WOd_)p_rHusq_Pu|M z-*D15;kAn)z~nnHwW|#8UYY5M3uA!M}IL67n)fOpq|w-qi5m_6nRT5BABG7J#iMkGj zWH)XiO6t}vfO1Gh2-En+78w`kV#-#FIT0A+G}2jj$-V88Za6sOwqMh;O)_<}37i^r zuXx?V5=*e+-vOr@=mXGT7Itkwz@ers$ddp-2OgIsTF{~LWANYt`3CuMc^Hg9<@+)$ zAe+%RytAW4oYUV?RC2XBx$>kU{;))=o|ViXR?JSFI}3w~rCWUf;;yeWMv2jmvBReM zTZ6<lUS6$-(RvN&LuniZAw{8}T zb}-<2!C5R*skMDzZ2(fv+~+2`d&e1F zrH5{N(Bk5?c5}&oqXzdiYP&N;QF<&hNn)>grnqgLH1R9lVVvAET3q-bkG0&t*K_|t zcUwnycN@7@oL{MyWN~eBI%*KBoy$85>FHQM*4{Sm==0MbzdSx2HrdS2^rDJH;kWOjFs&%l3hJm%0W zC24ZTX^eVy_?}9gRnwo?tyW!MZ-kPmsW0eSSONijL#;h_5X(A$#f5m707OB0-B2VA z$#_QGgw;`RKSXxe`*dbaDnh&C#%y^TnbR-4N^KbtT)X~%5gQl{jSi8RnwriJL89$# zw^d}l@^>AcD^`zOCv|nT{P3alYV+MMfAqy?KQ(`D(6(aghZ4P7&BxUuu<$Tg3?_)( zFbb6h1gD0LUsZGm%r^!DW`)`I8!r0;Vs!KUK3yYg;_+CW61iLnav>E10>X4!_)A** z%sS|?btz>T|H2q;;(h*JD*Nii$Q*H2UQli@%Er#27mCM)ny4`3@wp9DJ6CW%Va-mV z_Ljvl`=hb(#m!boS=?SsNhE>|0+g1KiJe;`Y^JgmXg4~Q(zW95a8#Lmp@7Gt9H!b$ zVS*U6N`E2dQl^Rh@mih@BphX{vM?K^dUhi$rBW?ncL&!=3Ld4rQC@tmh_8{=w)pH! zTa&J=W^{sWC)k$hzkd(%`TpyYf1xxFBp`UkpeNqFV)8lhf|U-m1>{jafW*~XH^)bZ z2V+66(@1Uv#u?@}Kw-iN2R3*}NyYDd6J{BVhrbOv>2^7r#v;p_EY@tiC~V`3+NjPh z9XPfa?*G|}%hz#7qh@(O{Sp|2`t!U~@y^{<&NM zj+wxo0PQvn_zl8UYF}xTVS{g#=FKhI#oS6!AY92a_b0o?b_Tg!oeY2UBt9FJ&UO3b zweHSEMuIs-sqV4>Uhoq_rzj*;5$*eh>hj?QkrNgzm5m zdcfcV;0zeH|J9@i2M~-T^sqG>K@$x)4bG!^4sh>AeN5cmLTqKIFb&+?-wRWGley34 zBKRByK5eISFq#b)WIb$+yb$szMhG_6GTTy`UZ~O~&y#D?o-Qi4CM^aC)Iu?(_FPT zg5{RiR?Dz>+up8jR@RDIwGjqLI{C@Ll&WK9Iv^v=jwZ}3+k8;=5CT3)hH!LvbQF5W z3^Lqdyh~`FQQsfSmK&Npqz74?P9`Lh^CE#6&wa|I+v;>XjOFS>I(QoZ9|7M9%UcB9 zkZ2zE20(K`oC@p>yw3h!(`X872$7s+Xb|$s8e~{?NFiz-)b+`D$;qVWXkl@7Vyx1d z%*7xk!BnA7<=mC%YJYDdYn*PNFvk^%Gh$Z|UuxjZrnAsp1JHl}wA-CJC2A$q6 z;6?lMF=FC!l0F$d+KVq!CuM`eB5SckjqUJP7Rup~2o$rJDOw_SFk(uN&jJHAJKVdO z9xiR7z}MB;7%bM-K@~|Mb+@l1Xk>Y77YuDM5~1v9@2x>_f{@Q9Zzr4oZ=I`CER#zm zT=GOe3_@V)l{vq>3t6(}lB=xPE>f6xj2n zF{PRx6Bc3S0$GtT2V4V=4Zs;-wyjNk`xg;<+X1F+dm9iOzKTIN8$xnh+rYdbKie?` zP@F=p$SL4A$c=>H$hSzeh{IYI_-)+27-IEp%pR5{ij@i0a;ZJAsc9wrsKqROk{(ZS z7sP4DIaO5A=M{QTg8 zuJcYritZjB45k5#;gMg0F$8+cqxXCeu4F=`YW+M6D8MmoV_-r$q(P%p*gz;2g@FcO zxG419`^zfv8`^AsZg|1MW~)_msg$+MjH;f=eTS9ZBaZgn)N?ZvV+&@aBT1%g!xlQV zlvz}op2<*(r7D$3HhA^+-8*0Yr%!H+J!a~io1Z^ydw7f3oDpFBb6Rujj|@-zzEBIf zEi37s;4A#m-17Qbd24-Ve{XGfV{gu&vlu`vr9L~F(R3`7LT3KUgViCmrxGtK4km>|j)P(y!b)E#TGDQo zCQs+bw)dVsIeq+|e)PD!f>WKB>Sw2=_p>M75LLJ-i-_cyhKoO8y?z$VKk}TseSNuJ zdI_j)cxQWUt590s{P$a{u3R<)bsAWv_iUN|;(TqkTFK|=n0sn{Q5=p7d_IQ^hKMP| zXy6$v3(HOzBaV;fGoS_WF_+DWOK9c5H6pvn^;TV9{fd$WZ? zjHT@8Ihl`DchAnBJw05Bou?Ph-a+Ol{q5tKUbFlyS0s^&xcKV@CEZ5l31u>gkoja7 z3x3eTyvVE-zAw=oekK@c{<5!EFWzVShc;Ff8UTAQPxiJ8($Oaq8W?pa*mni!#PvP0W2G>K^M|g(xkO-c^ z`Ug_}Kb}FZH3R7v5uSqU(9J#2zD*~63=#oj8v5z}e_U^DIV}LmHoA9tKAmO?>J#?T2kuDWb+AqNG30O-QAfb?v{}|Z@0xN~qPN1%CRS}2^ zeiu&ZZ0q-mTG|?J+_(xwrLnLNmdhqt2Q1NmdAosM|39x?y><;guLD*CqgS1By9@fk zMhRveWxAU!Chz!;&uM1PV9r)DHULS6V5QfrYmG!J%8-RHEf}}M-YgQw2Y(fg*hriS zD>h)$z;B)!1QiVfy2+sC3VaQ)>w*kuP)dPlU=C_8N=VfSkzw^zyh;TMt2;sNs-4u| z(=H!yUW;i~dtrNE+PIZVG0%@==Zx25%+$%o05?y%UTz9@`C5nfT1&Um-OesM#Y4B# zgQRfR2vm7I$ArFMf>sZfn!W zVoIKfCE#Ha=vwP;Vcu?t5Hj?;4TNr5ciZiu;d^%_t;h;c@6^<2l(61cE9Kx0z?HwL z(x~7J9Qt5%X#^pef`@6LCxyvm;%tn|6^aDN<}6od+O_)XI#C+*<)@O4ewolH?lcb= ziyc58QKJpnXp|=H3{PnUTrszcaj`uC5o$bgyl;|eYkTmZ1Jd9-Tga=$>6Nv4fnTAr z1z-fY@xnH>xjt^aucuk;#`h=hpXKI7a>vlv+|l~tR&}ck?T*th`C6Z!S(_^r!NVXj z^!AxldKI=(-r#8;M(pCdv^DIJRk|76KD`taM<13e6t zPd`NsWT@VPimDmRNN;tw+RcqO6r{T#+I1*sy@KJXp@=VgyH9H~Sg(9)c_975`dPn` z(D4b`+0^pz{!gxa_J!|;<(kI$!$z4&ujAorSR}QxSab$~#A3jJMZjT*sd+h_&9>f9 zsj&N9WboI=dYvlB$ls@Rnw&|N1O!7M8iHjJ0Ba?fmgNfcRi)9m6|!Vte2h9yo9-GO zdj2%KSUDAEl+YZbJx#wuefN3to)Alo$|0s@swZK++N*k-d>w`tj+59Dz!q& z$JcqZWVqPP?A6<1U612*aOmz&Sn5)6Zx^BWE7B^4S057-VjEsf8aO2aSOlw zZPaxE(Tl$gq_>1@8D)E$Eq#%hqp+u+yH59aFc|>8ap$+qRSCGM2L7cB8pV-;5hVs8 z;v8(W*-_Na0To1Jqo@@b-Udk^+EOW)%M7FWNEU`NP{uYhw+P4kGFkybia$(aktH2b z?Oi?H+M>17IKPEI;}8?}!htofT#g2*2dkVKc_Tn{?eE$pP$Rs^iPFY;Du>+pt|;Ft z@Cie*esN3`W*1}Cna3lfPahwhW@y75^u200w!2Ie!T}my8>$LJux)B+7;qa*qCNsP z)HB&_9vSV|_Zj+3N}Ek$ma?_o*dn{8=pnJ#QVz9gwnPAn83e`sE^xGf)3h2uYC06z zfbb8T)vDF-{!xQ}b--cLiWt_m4zf@v#6_4GgfbApELUoDW8FIA+6GA;3r(-&BVoP5 zt|bRYqMMk5PUemgrl$)618r!6>D80UCtr~o-MG?zR`?eA%BCc#mM(nB5Li!@sC zXN1NUx}b`RwDgtPT#vM~kTA6}()Y(?grs9MGuLX?C0+64=){o0*56KOEe+GCeS+#z z1|z9N6d?%6RYiKIf$;Zz9g21!9Y7xqqyrdQItXj~5(B#JXd&W$j#a zZ!@;Bye$q0#~G#gd2m;_GP<3A9C7)4WvD7p_X906$EX zO-Td_-E0<4+zgJE#*FchuG7?O>(kKV1dYvt2ghb;y`$^A{^(?NbzpM{@&rNjg;jFr z=jV{1esXen1j$Lbz+)A=YIfK{fN}#p-TEdN+jh1A+ab{;<$Qkg`8NAw?gaFZarlh zMu*mpDuukaKVs*krn1k4QHemYOkG}Il-ZfHk343LRV7lrsTK~;4xD1Az{MLB)9F&6 zN97{v;FW84?tb})Kls~E?on`&QLp;+PE$)m5{qe??{=ol%SCUhhu4=JnR&FcaM&bTXd2U#vys`tO1IOT@ukv* znGvhs4b4@X1vWRJ+TSR0aDx`-Y6i5UpHuQ2zccduWs&OV1{8{CEo zbbh7+46q{+@C-WMrJerBI-@uv{x^2lLNItzJDqa94$QaEqvLA>NDzQ#j1WGaPT^@R z30cK(ZYb?xu)KYNfp!OF#lGZPo^w~$s{$L#k1x-@bj>nz6NlU9?xFEQOg=9n5Pe2( zG?9j(q|d-z3Z$~7g=)228uhKPSI*wN#ok|@?4)^%D=&cD1xoxNp_v9>5r8-8;r2`M=8YM+uOKas$$cL|KF|e~5oX zfg>LUlPG8&;W>1Ill~RDx_;@aE5E)_|H=eU8bmju`@mU9&_~)!iU^*MQ&&rp0la-1 z038N|+jk&!64)_R(e`!d2p<3$)V85?exTvFfH6_5<1ZpDa~-rH+RO&`t~YT*3<|mo zI0`;RNDm486$|j87Zaf%{Erw7!8e5F*reY9fCda1VzKJ9*?$Mn(4!EEI=Cw^UFbZs z=jZDv4PFXP(fur`|6|_cKk#YrqkbiZWY&Qi55O7%dkBpoi1*RP#;6M*nQ%P3{m}eU-}@7;h{jyv}sN;;(mhvEyfW;Pd3FJ}xa%+=aO z?uDhcUayyw!ioFf;erpy*8=OB$A?yG@ifX083pKtdI8`_4Qryh6CLzXND>u8lO^cQ zPNp-X~M70h)#-^9;T0U&fZ_2p*ScLshu!=caKS` z216$+J4Ym6FcO6YBW#9!_o*CrAEjr)G+w-g)R0IT)!J_K$!=Rj68i6osVv&Pj)r?} z4~ao)f!;ub(nmH$LhJ1AoW2L9P#>d~gg9%9P3!cb=b;9|g`X%PCKp2?-uR;;@94MI)Ui>m@c<2)MdC zGA-lNCHr&qywP$}=OD%Dc4Tx&KMK*Ocd3ZEEm_tQLm zeDy2B5xWI#67s{m2E_kPlh!LPWjivq=q6fPAPFoird-_|X;CvWIsUvD$rNo6GFZCCfXl z-khBqIXfxy+knPVVxz^1|XjN)!-6(~-<=eG)<&jNkt=p?T7mwr(x?+MrQI zE~bKzSIcsAg6W4=%VX?rcVS5}Oknn~rPg2i&g;C`YwCv@_ zAtSIbff|V*ks_BvZA2)}8Zs&B(SX3YLFx#U@BwQMvvwH3E@Lp6M{*hZbsBp=a6CWCT&3(C?R#mFi}`KlbX%D19U#mbn5|^-7UGs|%FrkrxUntSH=wgCbt>4yf`DE)CD>3>r3$UlEV2mM97e+`j9JjO4jd@_nE=>>IjFv> zmBL&G&28i;zQJHMn+zl(R>ffq0J{jZbAZ_l+^o`SGvcZw&>WQ?94uu$%WO<(h}f+b zzRJ7j5=%@$Zr3ARJRllfQwngEn5*FN)1cI_l_mycwQ!+qC__pLsf#+qlIkFKi#ZOm8(lz3#G-G4d6GHm-jZ*8mScO zolIt1U%v)3h@SQ}#e`w#99zi9h>pN)Ybnj2%Qo7f>1QN0sgVi^b0f@DlD*`9IK=NG zwY6Wle&cQ%_u+NXXKj7N02Op$fXD!n4Y)x0J_rW_1k;db6-F7Ll12_^l+WTEFa!$x z3Vkfb2v!9Y3**6O0g*wb?o;)-0)Z9#up-Ck zwYE&IG)lbviycIfoMxZEkPup%1uyFU!C%_dddWF)?=jZ zwIG4sLI&>?gF$Yxw{`I0je-=9nJ(XuKmoc$5xzvxbKBb}P@C4A|093eyfzD}J9uLW z$zy~THM74{Ef-K%au~D2Ho6EYkc{rNICr8^1dD5hZcfWkq75zb2XASQ9)rg4Y)zfm z;%~D>k7Rm*tyisz|fF|flCwcSskQFq!h_75JNK6!TW8tSs&VwW#buky=_=P%#9 zee?DMFl$Vvb0J=yX1sn9!B{Wz^OM>@F6A>EaHs6>`SANEg=v^#r;#}H$9c6K_?HW?#6 znc_q79drWFaYU`5{E@+Gm|e}~AUHng7V5GZZJ8@m*!68iEBn?c%V)WBbHiOawfPY=fi9!J-9d@tC1 zKJ>sRKL7I8_0RwCZ+`O0|MTgWHyeJ?aP#Kh-RzQCv{sqKs0zlXO1m3dm8VaiT}yn&(9<*V~J4i?N;lOUhvCl>_SyN%@x=mP{9*vB#Endk-A$<2u+6aLwm`;0t^iZhyqMza9}9anaD z6iV*O;n~x(Uk51s^8yQX%)vBy4CBn0RPZ5-dYwSs^sN*Qn;L z@FMe8c*oeRsx!G;#b8K90v7F$w0@AH1|z z#R|du<=zuoALMX5B2T>P(D{?ICu^Y9gV2wUkOhDgoJF_?C;5o~?CT&BKvrL~ZgkQz z*r$FIun}U{0G^Qns{nBNNVvf%YLTv+wBWIRfgz>#9ijA%Z9|5*`h`DB?$` zhTLTW=wXA4fUuCa4e2j20r}T}OhZqLXtg?IL&&bKdaOSSdMXr0Ui}z0s0EBg9T(G5NvhW_8)*o8O{vS_u4Hcy;jx=knPG9#+SeR#g(f!u8VAqH*Vcw_1x>aew}gSw{PFQ zFCr-PpQt|9sTPf5uW;0!C+crMYz5IAL-)TNbSUdO5|E9-+Yoj|An2`k;-Y0)eZUIuNhkZzH<1tG=hWSI=NlKJ#30d4HFdc#AFI$-y1$%- zcgg(yT~|*k(Xw%}zYKQKCz?+8H-ph6p8jEk(K8YJ?z10L|oh@T7rHS21fw#u|P#LU|miHwH*d;fAn6& zFe>51hYGdXEKggAYi7Z*01Ykc<4SN2z?yAPvbE^&s*a4$*CiG46k}Y@F7~jv(r~|9 zBi<)w*;uDmoOviz@Why$%Tmy6h8;;#=%0d4JW^%ySP9W!J#)hoOAC{H7fl~ddK_Sq z9?&r{mUvnrx9`-pR?m-)_V+7Gi;oYF4^|c?7v~mND{CNInLfa%I2(r&YK}^8(ks-E zTWPWNx})t*wPkznbW@>Rn57zMtmEPb&S+rb>7%D_P7X&sbC~UP^@2G`RWVLnHl}ZR zWRRb8aJKn6=>%`&E#2eAfOY$h2GE!N(> zea(PT^CS5l_&~UHy5jlHPO`WGDJp99aVhLlNi$-*59X(?emQ+vS1PSI}0QVA5~gx+QWn z0jKO_O2j^F;z&^{>Wu=W1bculX}cB>NdqGys~z28Yd(VAfUv2J!7fK&e%4C{3J zAe=px90bM;C^dZamjODWOfFQL20F~qY?d*MLBKW2two<%&>e$m6^Jcp8JGkqB#Iyb zk_{TCR%+E%Ng-5>PN&wwWcI?s>{eg&QD%N&gTJJ7uh{$JOBsTOB;6d$jeAI&JtNBQ1aD4o})n(#?e8u9nh36lV#7YU@=-@Tg5EUT= zEi)=6<)e&32J4sVOI`rwu$dFLyiB0bglSeu@8qM2jtGF71X1jel&(|`DUNDxpJY>> z^V6(^;ntLvGf80yR2h?y$=RdND5MOpbFNEak*eq_K3m0zI9}=|6tTtpSddyuRK??+ z1abuDt7QDo+P`R~ai~2VJya?ch;|)=raRa=+_*S9J;n~JD@$j`j~}fq%`7jK*H+f& zmMin8)cUqB#dsQn*{If<%*MWfzVJBFu5oP*js*mr{&-W@z5DC7)pjFSml)2@DM~_{R31!xy|!aYKxIG>JLNANS#mjf*cI(+hJ4_{vI??Bjd6g zIa(PG3_1!~gWP$UwM4f!@aWN2_Vl!5h0h|6xj75bo~OY`irC&2TG=QUZHts`PaDqA zZ1+AAF`j7Ni)P(}Vuo6Efj?(ADTmf~`aF)*P71E|_gRy{ zt`xw%@#3SSeIgx7k9gCN*bQ?J-s<9_cW4@P13J~gx(_lv!#pc=FxqWq329DNoLsKW zRLWB+A-CEJ-eQQVEjxN-ZCzwC)Rk^|9M)DG;x$O*?Ld_1!59oU+gVLC7KWgnS^6hJ zHo-^ohPSu^oUl3~>vf4^9v;QmZ_$a{l`ASoqP8{b5fTMD8MDE=Ad4(9`y`C*gbFmy z1xKrN23Vp!lZVgRkUlGb4s&?Vg6-{ct5JO!HvDMyko;)Zy&S&J4giV za6;Nm$^7al8e@#}4MHORaI|gCrCH_5H1@Kky^DD+T(=lliR2!;KV-H^`_!_2NiO`> zv}~V$vA@44S&eL&w>Vs(?MB1;ZPwei?D!Ho#soG^a?R&H*S&)VvO`0rG5wOnc=b`nyI7#(Wpn;y_d zCnowMnc>l_-+KHgprI1u#snPHhEqX{cuTRm`Sj`G#iPAti}C~4W& zUw2BIh%_?qA2LbMUB1dB;b7k&ZD6QinnC)_{{gDiQ4&IB%sOUcl79QY$7?@>Y^XUK z%wimP9V8;F=jVvfAjSqh4VmZQCaC5H?(7?wmHKlO=yCftpehnYM*SXIDO1QFp%>os zEyROy>a-aXU>Ks_5Z?NEz%~dClH-snA|o-0->;(`gy9gX0`&H)@D)sL2-hL32`31! zG085BP5v$Po2cs|;S``2x`@CM{D;T>9l&FCYzCLmxv#KX*H>7sj_i6s{0Xp20-=|9 z&(EW~qbJZ~cs+rH1HVkjVIi}C!(@_vjz~h8k#+kTtB%>~S&>K}iHh9N6QJ|>Kk#gz zj1>0#^RHOFZuk*CVmB=ANSeJGYDp*~^?@MeEuE`wA+$9JuYb`)YrcQ`W-=1+I)<(c zyEH1{!z)*=G(lz67x4KdUF}ega+<(i-+s+={W_>4K^%GK9=}6l@EWdYEh`pDII^iI zbjz~r>tYxj%cR{80+u^uE?_tm%w=~1?H0m7atKb`I@OF=wm}eyz`_mIb-=w1Lq0CT zZ-C$+T?}07z`wx;r43XqvRBEKZM|Vl%==vUOUN9N?te=Wj1Xx*e3I@m41> zd#`J~7@44NZ;GOtHZRz2AiGlC_0tBNIHA$sYQTrUT{AubZZ@#-NJ5F`mX5A&{!J3A zOK7u2DR_uKOl){S>1a%QyrXwJTg6qr0K~)$@OIbVA1Fl_A%8>#e}%2PdAZjUaCl%) z$;l|^A<8$U(V1LCy9rGmP zmo?MC?WL(09BP-89o zUUgz`ZfU+$Td3`B&aH0k!9jLqDGvyFu6(q*SDn2eld1R%I*Wp{R04@wqc>>Okdn|H zwkb)}rCpX>GC%j)LKVN6#!r-m`BY~A$@%5Wi+Puixp=}LVswX6BjA^cCIT*qNbduIWFJ`l4Im$*+J<$;e!e#&X81{W z+mqzhG^z6z@%m3`l58K{kiF4!r zGsg26AuHS42w*AX5uUx&xGP-n= z{5IH%yKe_>K*lN{x%&;=wmwVLd`)NF_o=hlN7`AkW3hSKbCJ!FW1LyeCY~@g8jO39NyV^&nj&5Cv zGiMr`NN$heHU2EwNAauEv=zeI6eqym-snoOGp*RpTx^`Ou_{fbF4 z&vDz1{-5>HA1NdQh2mFv)NAaz{bxR&$lug9r+pTep_{*y+CmVq^f8> zR~%o6sMUAlfUld2Z`M|qXCoDc zq}&0o?v3YMe14+Bv6|R(Eidb`%{EtPep2>+g{Ge`~?vydl+2GJ(K1*hDc5Wsg zk`k5*m9@2w)yiCy(-~=Mhr;^Kt(^44xX}h9ozA8)w$~4N>97yz%yb&&;5{N1vN|11 z0c6}rgq+R^|C9@#r!a7giFd@BNbE3KujFh29hxwbis~thO6e@9rV2d0&AOQmb{Ci? zA+L2rnMGUCf7qVc&&}BRr@)wJrgMXD#Gx1mQYVJFR9D!e;j=Fu?eDIApncezEDR~& zovWkaRHWDnPpoC$2NmVznwqi8;-HZuk1vu2Imh`olUShlB4?`9-WccEgU>wFG?)rf zgBn(9hGFu;Fa~m9A>*|!Zmy!rtr`d2rKqIf)5gZs!*8vor0u ziodaqFywLCfXPk_)8A@g2~6h~uaF`W1zO_1^&RmaD8Q(i#!K`Lm zrL$?70#^vPhWF{K^Tz}0u_48h;m4m{`SQpA@duqrJv%ml0C!hWF6YSGYy|;g& z3cusM>h{Uu()Qlo7GxP#N0%$L%Er^J$6F;Z4Kg`zSzIccZxASq;NrBH`t316e#9@< zPEU03S^=HW8wopp(gHJ((HUb?GmEnu!zR_k!3Sj0R5Oizpub9j+4Ay(n{CBEr?fUp zrmNKj=+B;=`3>-`f%tKLp|XZpx0Tv50PY#cYQ!fo)CoE|+B>)z3gwl#7gpZ9jbS(t zF`k*V?5JH@TiBZRkAcZRfB53%s~6R`N_~}S(R?{$w3%oOQXVqS0c^nPHAbab)Z z`yn=@e?0Jn&83$Y#P3wE4J#|9m66G%>Pp2qlqpVxt3wA#YQ!=?A77IB3v&JUBh%W0 zRULa&(~>JJ3-I8#(dsjVhrbP}cy-^-@EEMMU0RQM6^v|?qeJECgmG11u`{E@&AE!B z!X9(YY$mP4xqQHWE~(+m7%4rPtU<5f(dLw+dt>|g<-0de4`+?s2`bEf*{t`Q&Nq<{ zuhMV$y2@QrX*T(sWhC!!^S_^|W^zaa`qd5lX9RbCB1ac@y z5%3&>MN%SUbAWh}|Fb55kEjok4sZhoJ8@tQiG1o+VfaFXi#XCy@*$m)33q}VM$A$t=79TvAVnex zq?9y(N5E_$w1lLG9OyUu_|g&iM<;UYpWh%_;k#u(lYIkzv|oh#B1nfmx*?XN9!2ue zGxib8@yNea$CDqkNZ>aD--xQ=5Rm(A^zzV0{R?8+>ZBYl@8%W_{F2UBjyogm23d88k9)FL`qEb*i6&`fUq2*<#4#j z{0i3r0S7ljZY6qt93eaS1!5FNl5UVnu^#+|JfBwB**Nd#!CZOg)Xa zuU$#{-A;>Hs~QM~`1ii(;eBcT64Zr>#1}Uhjk>N@nlf^iO9FZ2m8(}lV|C*;yTkA7 z%(4vDZLc&n+DQtwOULYYKrP5k<16;woMTDC)#)KZ%>s=hkQ(?00kG+UZ#M{2*-$uE zU$~`U_4Y9jyzYX7Wqu?AnHAuhiBgT=S@-$z;I{&yU>MCw;QPSv3&HX}KVeYok+0O|=Yk=k60)$AbQD(vf&PC1{4w49LG!g<1^v#00losNjGKbOhq=CVvk( z{UoOD0VDQBau|P=4g{deGsbf^OuW6x53fxRQgcRrD7MHgo zaB|=BwK3CivGhJW_FSJSjw<>jZjEC=#O%^E$K6~Nm)p_FqFIY1U(%^yurs{D!sKj$ z>wEKJezwFgCdS7xkIS#~JM1gPrBdzb;nOGO`O}@9%3-xUwQ;y`P?#?a6~?n$PtJOX zyDSzkLp%XTEEmc^O{CJag$+1StYDvx4sKVlz6<(ALCADZA3b@=vV$q({pHiLf1az* zR?kv0gH&-;+1#W%1^iLr`J6s!PN(C6kPoxLuo4bvec*nKK)_%m>_cV5C^)^(3Z6GO z=xJ{a`hBWVzO5+Y%{2Agxy{EIqgdA++Eo>UKVnnbHo6}=_jBMG4qa=zEB?E?ZTCJU z|Ls+Y^lGGepppIH^QK$;mWOvgX}fX%$2V_+olX6tA2kTMKmEZEes~qqbGRI0mzocg zABjjUXZGO|7E~lOv<~Y{9sDkawS~dG%@O67IC=+{1n?Tw_drNCh=@MsWFxUtcb>*& z1#L4!w8>Y=e&f)KCxf$wlqjp%pspEfLvK{i(@TTdn0;VCWjG_u&PQe~YNy;_b9y}k z7Lx2(J`qfhOiYX-X%m(xU6ZUe%0I$Ed20!lk9@7mYLc?w~=wY9Brb-Lez zWu34y0iM4Ko|aWMUkK(Zxh^ADEYj&cpq-tT=48J09=vB-TqMY~{8TBBaeuI3wRd?i>$>2&6;# z>=36DY?y!|jbhpmKG69m^j?Q#9Gbn69ssg*8)SCIP+ZygJBy@j2gdGqcq(MpQcpof z;O8MMm7)L zWjs(=gPsydUPRdoBOTQ(yv*9?zE^In;|`6CG8>#c&-x76CF^o@Yp>V{bC}{j|s_$PG`8%#1sli6nY0&*fU;QTiJen z^78r0;+Nh7cxQ8!+q6(9Sy`TsXyOk#$lY_d9JdEUFl{vHgTv-INK96 zl+E^iuO_&lY|EWPQr%*)fu&e&(YrOY5P`omFNDm!-Uz#0$`6TX!UnZeOOP1m%Rmsd zw@XLDcq@lO52vH?-o8>k(H{+{@0ENTfJto!GDVSb1|N!?i3j2sI$GDTOyZFjr0 z`g7qTmg`T7m{zgI>U7$Ab>dZi))^fFHae>HxfemVx>lKqbdWN&*4EDUrUH-I)ecdx zt!rZ(5gvu=jmEX9J_9K_fV4Z^U1c>E+!n(ipWC4_j>=^V94-R{JvGCuE?DiRbV%ke1=hcH^olg1B`&&e9c?nEMQiIrrbyD^+_~ycq$kKb`YKlkg5-B8HP@h&k zeihDoxxclsuuvS|J%5%G(*`p1663?W_a8ps46m%%ukq(DII#g#f&t1xG=}iAE@st_ z`U8C*X3U%CTtOKhd^yR65v+f-WpThbqct#mFb)NWE%;YKMfY<{i}=FN1HoRcRH|!? z^=|@RV{H6OgyS~hWNj6=n+hUt7L6l|P%FTw;x%k_9Uvgw0zeP!QPr9(7u@RIncfaw zax=ZtZmla9?|1BRCL#+*3g)nFLlCje62#bRb9PwWCowTNDzRrz5*~^7sifIYKKcCbzxeU* z{|$rHPH6kHA7Gz-dG*u3|KgJdtR=m2xPAQL?CqQN^2?K>+T)##xxLes)8fM9@YH1P z@WnHXb_U~U0X#lerV^`AM6Q!D8&}F)M)B){XRQ37XZqoev!`7WS}E=|uw$w0&Q3LD z8foldX67tFc|0J~X`~-Ant$5(S03Oh=&P$MSh=z^I|bU>smW>Bm7=coE=M)^Cjg+^7%)E8DQH{ZYKio8i$GOHeH`T3LQuP>iq8pAf# z8gLUMm||&K^G?1QSd?IWRvdLU`{%ZTJRA7$_TTM#E3EOsNnOeU@>2i63(a~$3z3&jt0$Qm!G_{K z+a+%*KMw|h>Rg}@fAQ|!yVuW;r#Y0>_jH`ir0!ZJJQfTB86URw2L2*U0I|!XWJt6; z3ZgB(koVFp8F_8BJNontk89atf2PsNIBf0<->H4{lp*CD^&aq@ZtcoxlF8ceEZYA+ zy50l2u{}QzJ5P~iZB~|JpOudjAD2XN&Pj4&$5Kw5DE5h^)$Yo>E6Kas)t0w!UYYma zylLzNiGBfG^xk{#y?1~B36cQV8`yiV!!n%Vv^SIA1>b5{adKurf+WfXiF@z=`+Y5y zih@KO%=!Z(s=_)UR?2f%R(kZvQSuSz-UN@JR}p ziF^$p33g{PC5OC6u{2pb7WrQ^@g4jC`w{m4_QS6L9t)FF!apuR80dq8$GH6&TmgIo zHZl(KU*3Wy3apa3fb6goN)*d~1Zc*A{%N=d@DBYoZ1?w(=9Xcb)5K6r;QIjbK+iS? zjfe(7b8JvvGD&@wU&qS*Iq#a``d%*sPAD`oIDRX)4ra=1P;MgYCP$ zJriCdtl42Dk3Adqsrf9oic1XKHNhD6T3940+y@?)1(YC`Hu*QG4n&sCUp>5{Z(zEx zzlHAr=V78$3P}LO9S<(T<`!aBI28UgP1MJ1B0Lsg#^x)8oeHi18Hk}vcsL>o@DZ;3 z65_RRLI_^l#%fQKXr@I!x4*2fwLZT0=&niC(e`Qj7wL#Mq}8isVgX;z`^6nX2uL(o zlqG*5{~~R9c=w|_cRsuWmk;lJ_)!z(p_KWaSz5)S7gKcA!Cq2-mzei?C#Z_iy znEBnS(}$2*1);-`p$$rd_qPNr}907YUAUxb~p^{swtQB90OPc4(;0U^I6tL1#W%W!Fom`pv z#7GL!-mg6fc8eFJTaLmVU%RW#g4g$&2=<4LscQe4^X;DKY>Sv6m*;xdD(UFiHi@37 zh7>JWJ5>s*ydQD1>2#o~PUZ4oqyZu5=)}MI;=U-vikR^ZU5KO8x!g3df=U&2$64k80l+z=vxHeKhSjFMM z3iu9SA1I|T?%7Vju??>H@TiApq>(wJp-qR1)zcAJvW{G^m(i)?fTWTkBa)ymWREGe z4rbn_SN2-ve2c^kq`quuVLE zjl39<@RN0#MiH+}jt-yQJiB?mn6n#}6-?`q$$v6hDIOQ2^n-$eH4)A$WX4J*2h~vE z+Xhnrl>fmW67U@sXaM7SI5$G^oy~5cmttemuq2R_$_8)`2yWG*3=bJWi4PS&Q#|~1 z$*2$6pDqgCPzM*rik?T0b$`{;@h~TG{enyVAn}Fbb7rgi!%tNYbnn|TUl@LbYopVc z${+oe@gC~~+n@jFW41`h!y}(d&=yF3=%w~V?cGcpBI4zZ;xC|iD~Vg|gKc%!II$ZaR}flL&D* zTg%V&uNE%Y0q!x&RwPbI$c%N&7+g;wHW(k2s4N{7cs4Rs>QA~p zzI*rcOvD_$hbm+=gzanXn%~&idwz0qez`usu(UQaIG6j!{a|GT>U5xgcyJ%Nes;CZ zS7H@Hd~DyB%lQ%&E^Oe^S+EFIi;+32cJ}^)qqkcaXeXjFQ`l?(_4dqc#vvgmyB~x3 zA61|ff}JUB%P|QpDyf7{G!G5;#e$IXfKBYcF9&~3tm!l0YhpV9cMy8zaxkZcXT%v< zWI!rz(7HK(b=Qc1u%X~0)BHS#^fWy5?!}b$^8F=hZ?5@OC zg=KM=Q)TY9Zzi_bONCKm!3&YAdcza))W8ODM!{QAN6O$GD2LG5WWG9HAFd=-KEgsr z`}Wf2Y_xZMbgiqqt9vysl+6&Sa8TN;u!wmwEXYV*1BCYP$S@f=pAskdTvM>D=~;_I z&thFi)|vEjN{~NOAIwe6LV8lv!RlYolorU7J>5_m)y-FH6c(wpb65;{LMa1+sE5^p z5ZB3GQmFJ}Mr5XucrFnzMYQdjE-ZV=f4jT7QyU#BLyPfjAC2xlg|dN{FWMAR^qVY>9jBz-RLuy8RkHJmmf zB4~8{+v6am9v>T@#PW&eF-{H^yQ>gBxdH#yHa51mx8T~^R~T<{d}g3rorC1eg#`@p z&CUVhYe1PCx`Zq)E=gu;`@`!am*sZ?DQWYeA^yqG!#mVIrYy5(GdGSW`6=TXmocfx zF$*`t$2&8$kTNX`s>AA-I!TW{8K2y!JYPdkrf6XncnDrCWGio9pp4qWfEwyXAaP|g z`BH2@xIA7tDIA}P-Z2mkR~-}=t?m;@s7?Vo<~3D9@yyRC}{`^PsIS2wS= zKoPmo7+lOiz}0YNXrNNA4t;n+fAQw^u}C9>7*z1p^0<7JQYg1FM^YBO(h0&$CA#P^ zu0GiE;PK)p0THU4*^s@lxwyL4?^hya3Qkl-X%9ZW^FH#J`q1~F;|nT>`uOAU`ug%T z{PkIr2o_K^1O7PBU1FwbcwQ_%VQ9#FxqWVInCkl${Tn^sTDEg8%&+Zg(T-$D&wn$z zzGHqj$9aZszq#I<K{L1(57v} zqA!hN{+Fe+kX!>czUnR(B*aZyQN;Ve{;H?3t@>8eJYC{``BCcWl6S ztR$9*4ksUgc^J|&&ki4VotU*j8_sn(j6?&Aqu$MMNn)i%nER~Vz$DV2tup$}nQA@e zd&*i&kM~wZ>@9zFd1Gs1X~eK!oZsHvUD_NDl+bG${q@begHi6`$vZli!FV@g^_+=B z0xtS`MMa;&{5K-jn&{6Eui5K$TBOs0zW5VJt>nBKTkK~X2c?mC#3`;>4wq*q_KueZ zhery=!!JYQJIEe~847zijz~0A@VaQ5L7>N13(dSl;M*`@#cn#+P)rRd1vMmCvM8!w zuN1gNbxy_1dk+c#eh+(){|_kl_nO%47Qtbtvm{X2PWkc#E+zkjf z2vzxQSmI(J63`c)g3)nwLo$5yTlz#xc83w7oqUGRx3{7+J1?J!TXHC4;#HN3P z-0-(vIf$kturMx@a$6*hsYJQ(WT5T@>I}nK7`g)I8|YIh8hB;!98Ai87E6gO^l!l( z{6gSH)FzJO68{c70M<@^OUK5N$B6ga{o>@ zCGzv}{Rj&YFzuTm`ogF9Pai$F`>^z=>(k!5Ay4d{D*{CokY~)Hwy`qgdx;1TY}o7q zOUWg{(kh+Cq?rKcK%Mm|jZUT!WNika*I5=)DEPikVZRgr0H0|baZE|FB^yrC6tIAi zTo2J+7MrsfLIz|TmW6_8!vN30`e|UOJ__NJvr}Wk{gC7X3%FRs?S*Id+pGZqc7Wc{ zzBKR~MP@P-IK_c8*!2d+AH>MyIWGcki9*JzqO_ zQn_VG#sV#tRy)DmYa)3&;vFLcvz7*XvFqdkqc0qR z@9WE!i$k^Y(D3Z|)IR;m%FN)N&}@YxA(qR+H-#T4(;$Y>-g#`ITPkX;LyQ z5GBUZG3Cy*E4b^b>^^;calBlt>%?iH&A`cX00?E1r}3hb{0L0z_T@?JtSBykLhgb#WNkDPfLTH=pSWV22=o$yI-!kBQsL?9Z} zk+4{!4<8#`_a8n=7lg#NpQ5P`srT4H_T5iAhr8Q8yf3hH`twVKWm#cx%xif5C4=bz zgOGKVW3d|4hr)j)lZ)w{eGhRKdffGC)NwZ}lPP*~K?1XjZVtL~JbPFQ7ALt9lvfIc z5-c@XV4b?7#D7A2>2sI!uLqFoNA~>nd2U+JFRsYf->j&&^EZmicZNMr-GzZU+8Y7= zm2Rh;aQZ9?UnCy$*a)eqfvNfBg~@mqI@b;yUFU3|$1>jrOS;Z!=~)o;xKvU{ni`w} z**3XjTH@&)1#b(!Ej{ud!psRO%Ahca!z8|^Q={S$E2^ogmY167CK9*ugtEx&7A9-G zeWToa0x=(DLI_4L*DCH9V1k)Z)bnlqtZGbyj55GD!PQM!i8J@`pS3>vymb()hWO7@ z!OVS6Sf^7;!~y}MlUHK3VV4P)@8h~h5*BP^9-CVo2(_rd@jGl>vtd(NTBeu7AXn(U;R8S(|W zXIik`-y6b<+p33yn+{ZvX zNVYdA5aKY^HSl$C(8SUvz{bR6`XxuXefE=AtOK!bYm+I4n(!wot{{s~tq}+*Qgo$U z>J3rpN6O*B1G+#f;`&XBg44oRDTGM_j2_J1M0Bi+2GJFipLTq3r|{rG%V1Psy4xaD z(k)vFltzUK?29)z>Ri55EW-;f=lYAo_5RvWV`6%rez`h3yf3oa%n~*1`dCyNhb3N5 z7zFL}W}}=&%q-xkJ9e4@*CqCG3P>iXkoBX6{N&PDDdP@O+SFZWPy3QR;%cKYXQ?Q? z(_+wQDUwn?1p~Tp7!4ut5eh_rrvpVc?EN4^1EIdht(k2fQjUt8lLBr#O7Hd-_|hri z#>Oz%Z=xoWY_!Vn=;(; z_!;d)lFa2z^6kT3q86LQjFF{s34h1(KRH}h1-*gD8*m|LaNQlF z(zPHq+9S5dh}KCE=@2_6#jef~CW}sL%U2_eDFpq$m^2otN@Tmc3>rRhP%$>3Vkbtr zdhu&%d>>zLWrZh@(M3V4QlsGWXbdJ@>5z2}@UC9B@(A1p%}Rm80;zV)+TKf8Vk;rb9i^7{3gx4Z4hlN?hnSWb ztaXrt(q!I%AKTwQ0@vKp!8W8ELG=9m{LIiODAq^I{Zjzr=4NNnx%c3L%r*eZEiNpG zW^Vds7DrIAjAi$e=jN$T={?iD@m!0V)O#nFtsnX{RXVLI$)f4=;lr(omr;2@9Mwcs z9!*AC5HDRVOX{p{${GBDh)f4Q=;wY9m_|9qC+*c+3hhsRi% z!L#Sk6ZhuLk1Q)p>63w>wOW0>DtNxZ&;+Bk_zmY7a(p=3I74Kzq`d{-ile+A`Q-f; zwL&G81J?_0AXxYSZZnxo2J8xx#}{F`%o%1;DnL>5--RETAs3mYM|9c&^SiNE%4esH zJ&9>;lOtzKM6awWO&uLPq0=*r_*y>LX=DkWDjSne$RNYT1^x1p+a)zwR24r!!bpC& zGW*ewfAW)`{>2}D=TE-H`-|^>*Qji5|MvGj`0OtO2PQ6x(s+zF?~r+jhAw46-JYuy zs?ZKQ)R=4>F_BlhD`Wc-*fr!j9-GDG2p|Jgb2FQFv(8)&y@1iTjWCYA3`;Lj5i?Ao z*^EvGl@6A;QLP@mSLKb%3+fDW*KKi14{=s8>3zJWvJhVXa*EDwgyuCmJ@yG~- zBS7XAmQLIcaa`4*|NI=V_5)h{$Am{rv!!()e}15q#;R&!@o+B&3MK2K2Y zWU^4&ZX^*4Sw#mjdCem$Fs?>8uLlQ5%r6hsKAAMt_PgKv@fWTkNKuDT6U-5rX#@%@ zu~A5hJHuP++A~2G_O6XIg~t5z6RzcCN(f1?UoKVGT(k6nL*atjmm3_81-iCLtrMK6 zQz>+Y{N?KSNGZd2udJNDeD&gJip_ow!w?>FQek*r(qUP}yl}m&!Q@COq0bAvr_ebl zVV%0d$hlFkl716eS{#y{NDL~aR=h1y=UMTHO|To-TXJb@+cY-&#guT%8VSj&8=`|3 zW+W5~xlHhuQ-{DPxaI}HX-q^1o`?mhjaY|T6VCzP1AvT&`O(MYTjSW~11AW*XSX3sU9k9ru)b~hY z(1KFoF1LXwSmifX4}i%oe+zpC3ZkU}cLk6ROF|)&6}L$!6mT*DI|pbD>*@w-j@;zV z0Q&qUc7;jQf&%k5u@?m}2zyL;L=0vrVN) zxnd~yJ*pF-L;V0s{jULdVF<9PH^snV^Hvxzgeq_Vz}SXBS_uZ~0R92=!;mCw*l$20 z3MtrIo@VE{n#d zn7K;dMGR#=;6J*5um532=xvL6KJAYc`Tmep2>vk!`SUn~^03+Tg{|4JmbX|O5}RPh zNPm#Y00#WKrHBqgR*;6WMr(ySBwCC?J3WI&g&gH>ws`IAiN(Y#IvhN&~C| zAymcg@*hU% z$aGMYK@bHj2F+f5$;(dbJPBr^H+xT!Ab#>ij_Rk}Cp>zD$F)BEyuUAt#0ulv^fG;Z zgxuZrsI{{l>485y2y3Wx78`6iOa_y~_IJ2}!Q+Z6om4%n@c3frdF66p1qk(xQ0PlG zqpPDHWkm77+O8cZl3M$EW}UnBR`r~=i`ivj1jr-74GlLgelBHjC$=*CPsQ4zE3A|! zt$w}HDAyXmBrwTM_6_#u0XA!dAiolG(Um6)kzHmgE*hdjeFpjI<>6ti2&wS-Vr{5c zo1Cge&D@Lm7^~)@+)x(1K~G6LOH~@}0HO>U`guZ~sitVU z>-8)HP0v12tehTRoxQv)^qK7M{1Q}JG|{!m*%wH}DxVqqlKZA78U+9ki$6&0fa#{* zV9*=&T4-+o_mNDg(d#wJ$AdO!&1e~t!3dk&WtkDODH)DYCcdLr3OJ9cHBUkJk|q?q z(PhK7MC)VG5AWZ7_~VDd_j#T2;KKpgeUrj0zIj38ju!?er^1z)t;3f(%fGcqUPI`n zPf!HEC#;Z@(1|xcT@D!A`gtv7Hj(Z1u#^OjuT}F=NWz^C$+gt#CXQ}EP45{|1ACm8Zt#fx=k3=mbqP5|%I%A@6lVGUhUtc{J;(sHOr?17~6373E|-qPCo zXu@S&q_=f{r?;!61`^9L%zuNglTErLfybw{b`kmsv9Vq{c{@B`QA_2wCpz(xfx4^j=zK+MDL7Rz(1p2$j&WJ2>lz{3OMG3=%hOGW0 zoN!$EBwwIz@Al5n2Z+<-$ew$Xy{H?7s0$C?LG;k9G#%H^h$2(#Q^|cLGT_>v)~tfP zxkbWCcVmU^)OhlB38M&(z;M6dVpy&so4X*d6B1p3i%JmKA|k|&ZbA`<@uz|UU9Un}1ydph@ z)h#QJd6FOtVpRa7fY}p6gIJ&ili?8@&4;b?W#*wgbz_pE>&(mS^HrjK*G`d=0+Nz= zGk0ne=lSEv1EPDvwYJ5T8TfJr$ECADb)8bFHAKBrk0I@eg^>TM^YN!2L({|;UwAw^ zn)~D4sMrojkVw6Ges(&7{RJRtyjrZy%#Oy4oF`KuYTiM94y%I5>+F?OYY-?{EC2xX z<$zYuThT4k)Ml66ZZzp(yv)-$`$^17pR4tuGEu@MYWb1DsVTdT#?J60L^Q+wZyvQ# z1k+R+UYC1^Y!IPK4m9`SAS8`A*pQ%varw=)GHBV1y0(!}eB5B3l#&w+7T&U~lJf@n z;A+J!9#pe3?Ph#NdQ4!mu6^T`RE?~eYt!j8h<%e<_oWV)+qo{g#9`do>SELa$^N=G zGd#C+BvGlD$5^EwEgTC61|PBq z51f9#)mDzC24Ox4aL+)#r_xL#iKq$ib#Y*vXyM_fLutb&WZ0LAyB$!xX42 zfI!>DB?#D9Wv=}G+9p&I?C)+v)a@)#J-OQS3?w2>4fcUX0b}yAvvbT@WO{0(lm)Oe zLfd~v<DbWs(yC$dwM*qmX`$&8gSRI{s9uNWsl!v7@ zO-hlGt~^_xedQ8P#E!Yk9?i>*Jvsyn9Sg#`*xkv7pRfjx9X#2lVACyfNM%-&oJW6pe)@6C{kGl@B5jHpiCD_! zO9V1Z=nGu14o)0KIN2GDx*=g7Ce8G`)yqOEI4oMQ5eR(41padvgR1-V?~cpiFLvhrID( zuKv>>{OG4Y{EPqf+u!}xpMK}N-}(NZ6Wdxo>iN^}X7yY+l_PWz3to=HLAS5aH&QQD zXJ^MFM%HB`L`r***9;~t^s4WL!eADvIUJPDVj8y-CiBrc51I>gQfU;2H<4MVOHpzWS7joFP`nUx2MYciMp z<=~U!l{2wrg>JLJA^ns);%l7p&xRqUGiE&7?Ln))ME|%YlpP+OXYu)@1z1`rh#oM8 z2t-)D5C7zFWu(Bq%1Evw@3$}RL>7F>U5SHn5e{9O+?{`njLqmW2HzUAf>P^ z!6+`cGZWHOuxf;_U?5O=O&CbUU?BV)U?4{L{mxe)unDO!qZ-EF0TgONANVGdr~ssg zk#(?vkgcKwH28JQ9R&}8fiOOxKmcewxCuNNCh-ISOb`MxL@5|X#x#}`2OuR5<)2~@ z3d4Z6Ag~F_egy*A;m)svEbpE8K&o2N^34#zl z4JK`mV2KWnBQK~ZG1*<@c504pC=V%(onr9@T#m0DxAdjUwoYy|{aSx{LZkf#E=DcJjA3D^((U%fhjeUSwh zX&(CVfaeQ9ien(?&v{*NgjB0Kdao^pl)O4m&R-wJSHd(lf-lnfR!S}rI#un-Bu89x z&NjuO_Vt`urt0zM>VFXE%@z+~Ym6537t12f7A*#Ic0D+~ri2T~lR7S6=DbdN zV~pP^Qezr^2zfTzROn%KhN^wih;xNc*ZRaGuGHZvTPk?d7v(~3y2|3wBil#D*MYRt zT}0((8;lSjQ_ll#Fg=)HQPhWG7reR031U^Y9K|Tm{YLA~JFF@)iB)+2t#6H8Qruo7bC_`GXtb zh135;TeG^|D(lmpiScXwKKrn%6q%Dltwz{yA_xjO7=2c9D*b$0TkGolknG;m=-k5x z&xYNO!VMzZHrmKYy!wYN>_;(nV`@JJ@Zzh9<7iNLTCH5L_4v9BP^xG zI5B^DqHLz;8S86&2TjbZujCOn2ZeAT4yyG@x(2CW;(p-x#ZPO&LQeeL5rt0?}*Q5n#EqEqd}U54>7T_Qc>L~vA|%2Svm|92leh8{*Nk%eRUM_|@&K6|B^hF@5>Q(x7q2C&^!`lV~{Ue5nT<+HHfjb1VO$K4v1Ef zVKJIyuDWsc;di3eZK z&WQHe`xV~hEaI4fnxoOc%A|r;SEI=l%J%W>XpVTFFhbZ3ENn11DxpSakwg@HeWWz{ zh=`yp{Eu3458J!D?tO9Zi`LJxpSnAawOJ;ROrR$xosSF+#S4YFma&l2?B)xDLo+=n zo;}E8(`oGKf@&|$y-FQ(FSM=3NL313Mu=J9JoF|saO1VZhthAV| z@}1-%nv9xu%;xZ6E>Y~I5U9dnG*j6!r3R*U@j|(jd>~UPMFcw>aA*RxR>q;ed;4;? zQ7{N7^Mh-0>&zmXi2sI+wf7d!TVb4pLtK}ZBm$^sW7-iLn2MW}H3TC%gaQ8A;l4{9 z3*d7=SmEdQHV(-&5@7!N?rgT!*hZHO)?H=R;`M6G*XUSjLp({{AqPyuGU$sAIMuzZ zTwiTuxR#Ymr(0WF7Uu@|2T2eIFU{pei3vh4u6-$`CJp0yah*#A!9*Tq{uv#?m59MH z3PSE_7}N^11kRJLjw!Knbh#TppAz6i+_`#6P0KMh*LW_rM%dUIVvEK6KDIz2w1gDh zgDk(_((WY+pFnF!0&cjSjR86 zBo}8VClD%md3kYp{ruVWRkIrI74iye9)JOcj((7RI?N1dFZ$eu@tPr#mMXp7NFat zks5~|&rU%O{&+FhH!(G}Rv)aCi-{D{>y{xevHD-D8^&Lh%+tW9=2tb ztV5N)8X4DcsJinB8%~d_i@QG6 zs4=e21p_IWYhyqK;V|n94b#n{%PTR{ccG^NtPb#-I6HMor}b|K1iQ1>=|gv8zi);u zRgJ193|zO;;SSgYHj_>I@X^QjJO2EKzp#`bKRc)yJYO2g7?E?|?td$Qw>T!<1P^PD zKdS|l_v+2HbQs{E2~MN{{9wEYP6m(*7v!%Gi^B&ETEA%ca%7aX#@g!_TyCUKIepIc z%=xB{JM9#YJmufK-d#)+??5=&v*f`pmBB>BPNxidEWO2v@t^&tAOHBTzx!{#N&U0$ z|K(qN`#b;fyWjg(&%eL(Co`W(Ak-Iy+*jI*(ZQi`CLdQb8fn!=Jep4QA&+_<_YMo8 z#-26i7p??3*VzlMTBKodUd`6DD?1WIZZSeXNx&0u_^tf2;yVt1pycf79ICp=8JTuu zyc>^O@~Gecqks2DfArl4l!xZduK7n4R9)Z_dHv%cpcoyg0p-^Z8C#&&2S+Csm=3L_ zFe}LCRI6)9H8Pk#v45FY%3sD*KCjk1%QmL3o;+n=EsSZN=N6nKikSN%dvSVjDt2xm zZl8IjaKS0$;wxrrVlNXf5lFoxStORJoM?lYfkq31%kG|ILB4gD&SX;K!M@ByC||z2 z*`17e6+(=NhZ+mAUbmE<$HVloDPT3>T{7#F9$0CJ7`4D#7qe?nG*WoksS#X7#8W#+k#V zu!uL&IN06UUi7$*8Fc8HTeY5#UL(lMn0O9Ter%0qXK1C$A0IZ{BR_>@Mq^(c!k| zM?C1dZF;)GEP;j-5ESH&dA_HFU|kWPaGl-Kq2!hNXP~B`MX3Sh6sTc zY;HY98v+{$%@n{uLi!9`P%5O4vMGPJiPkZg{C6=@5PpveOb80kgMK9lZMG_4+RtA> zLlmxK)ptxH9X|gSMmmy-DCKvEm>iV&w?(19xqek$2ib`idEMW1%JY8Vvf@WNW zB9_ZRL}wp_dF8RuP`M0lx^ga%ge)|{o-&i^5kuVafo4Z*+TyuV-Ub~pM7KiuPc$u*xNSZYJMs?ypZ<;d ziz)grXYy74cywSn0;Rfrthtme%;;Fk=TgUKH&_0YTcvR^AWtyodqj}5#-=BzL$D}j zCXlFLa#r4>yQgEa0hCgFYO#vbO{S7{Iyg0&lAk>Kf<_kfum{}P3C5*VVhE-IUpQ1o zwrNGJVel<)W(-UW{-G%DF~5t)rWx&4fk!5n)DT!7-qHcEh=iMnbLv?dOQx+j!$$RI zl+R{ygI-=Y((N2&=^y#Sd}T`}N+Bj6u_ywuutU8}jLL*ZoEPl##_mgzJK%DP{ey)X zHNRU76!-=E93+1naQrD1M!n7Gv{>~dE*;oM zroMdRo1EjzWQceQoUPNwly&bs7=Gm)Tj6amb$NpsLtGfarqf_tpcLFuSb+ifoIool z@M&`nYP6yWwB_ZYEQ#6M+v|ST@l$=b6aArz&Lfs2QS&Q?RP;pJmkcC&+;c*aTe7pT zvbnUZ8ty9&jm-l%Sya+3_$)AU(q4yB?)z zu6!?*f?tjoS*k?_N+q}2osG@z&dHciqN5e;$kYjAa~f4V*`lvM=;`c7##uZD)z#b6 z)k=>`z%OJllnw@vS)stdM{FuS9k*#+bsSJ=oZ`S>roS&J3c5|%l!E}JTs#&7Vr2>U z0)9Cm1TM_xULOpGA%O|#g-94ejzA!uyHmXLVP~6F<<))ys+B(N@Q_U3sH&Ev{y;vL za4P=wKYy5=-ykrgrm%&UrpOouixsg0TZ$b5Kn#V^!KxS>0HALLmJ8UF2$Vv35R>J7 z35{9{{6#9CORKeEaDtgtqTba>O*E_|?W7!a=jl**>Sl~Y94RlRM?zG#o>6n7;bhLC zTIY|8_=|`v86FqX%!TFoT&JOn9}i6y{CoDk|HC!YcT(xi(}$j=kLqK~6|#Xcz@7}6 zyuE~lzGC+H@Zwo4A5!YVyaF7HB6xO~R6pKQO|wb}Y+$)4n;S9F{q26SL?Gb_@(zj6dZdY0-4AolkT@s0feZTF_7u`RJeR}5$x(?sj+4|Y%AAIV*bN7Q!I~VH)tp6BF zRfuGJkAMf=@;QB2CYM$yP@;ihMDW!@m_45_?K7=0MgHJ!qn6I1cII0?ayG1CFyiZC zKQWh6SZN~}o^YsJNS8}g-KKehUm+amsrNL>OM6U-OeCX29C+y=oU`b-AAW)G9Urye zy1MVqnyW=jnu+06dcq$|1*;JI+c-SwCXqIdOTZp8S=ocpfCVUC zu_5-7a`iLLQar~!;0b#;Lh!#TOa_O=WwRU2N|le{7ovNoui8fTj+PT4>q3{w_JZnBv4V4lO&)~E_mf}j}0oARV(D9Q_ssQkTk zQ?$gAFi^VxNypD@w81!gJs#Gd_s?n0hb3 zPfst2<%ffeeRgww`I5w>?}ao@vzD*VCfyR1L2Zls(Oe;uE+zCfmqE;>;EsN8an^HD z?ltS^F>#;7CA$!=3~$*`Cjy56%!=&7YNb7}-NsX6aC>jZs!Y1~lU~IxrLemko|eUU zQTFi3kYdWW&00?GlkpLw$D=Z`tlO1U;Uw!cYs(l4(lETgV}^OJKU=Pp;v#8$a&}>^ z7Q(IfflYFvtXo1_J389tvM3?d+Sb+i*oP;5zn8^CaDyCAnn0uC7h^@5atV4^s2vvj z%w|`|L`W!9Q!)lZ{g}1^M}U(}+Cc}6Ji%NNNCd1Pbno>Flk)Bg2m?xsNn}B;bE!l@ zvr52tV`*461!C3A)r*5?Pge#vW~&#cGuB)x9`=Fd(rRGs?)J%#4-T+~@x#+6O|;3`sAijI(nJ^W30j%k1?e(_x$RU;T@={PGDZcV#9L zl1W8C4`Wt9iWnD^O(zmjQ2F@0^%*dPfL?TdcD7k?zBD=4n42h6!3u8knMbE*rhLKb zK)H|#*f`Igga-O-+?zsbBz!p(uDl+lGj_)}`)1;FK}t58V;4q>68d&mO7w6IN6PEw z)l^?;_k4iip{aAZ>3ZzcGmLmf2QG%Y`;fuY;{N35-YUldAv{wCtGgYARML?zZ{EG@ z8_ekJecA;m*`A=wT#VH(uT)ptU_{)8&h@?h&E)HqjB1cxgFYIs-MLau<%3qY%QR3~ zOuNR95fR(t$`~I%_~5gaAICrb*+-lJitBiE_oH9j@%{9}pCg~N?W_khI$!}c8ZO&I zhdAo=)TA$No)eKa?md`UEtQ#e$|d)3*vJvqZcJJF$f(25 zm>ra>R~dSV-QuQ)4$+)Vm%*ibmPU>*M0^fSNOzXXg&+O!KmFxj{n@|%4-qD_mpG`IFmufj(0BoB^Yq$AaA&<}L@_Hi7sGLL^FV_UY-07Aq z8R^6mTRtPRXxzPDeBM&+{tUO;%BTrmenUvjLYNU&u>*=LAOry>W>ILIOQ(}xg{G`# z4{Of8Lwk{Xn5Z;NK9EV~-=Nah(v7m>OPG}KS^VM3h z81q|giE<|1N9w^51re*o=&vtKjU08;iOXS)-69gYbD5;t2y5ARL=cIFqba{ZqnEI# zNLS1D^hD^@6oOcV4o()YxYzN2b0b$+v~(8UyKt6*1uLdz%VpD%H|7YKRE-jka?NfL ztl>j*BlZz<2({9~N0q>=V}d-GIA(wwvE1(u@_mQ7F;SadqhD}Owk}@0Io~Th(||{td9$RWFEJQwE;7a!g4##M+|Xy|xGEX{ z#pI$q^3tMFNEqq()(wksHsrL0WWJFi}tZhfUD+tFF8z459;2#DFG7=~3f=6h%#) zCkl|}H?eR2|KdfI{JR)7#4utLB!U?alZ0|^VI%fEfQ^`y?pG>O3bZi@uns>AfvKCi zR@g=%1u{2*NrP_n{{jII9_?#jhK2wQa1Bam?;%X+D+kyFfb8}oXfOe#VFJ!35F#3s<=5&$B?#-SuR^h5x7{5p0&Ox+2$ zVgl<2k9~^?o4*vm-tSQ@P?3j;LowKhIU<{Y@%G^WH)32Pn@n$FxA#ELDJC%}R(O2O z#fVXrzYUuY*T_^AB7&F7gya`&W4^KqHb29cOzij8{5FQUvGf4B#1BK2Q2paz6eYe*W0AD|(wk6Xo z9cr0H`3p6BG9WAsBd5fBlSnirD-j{+&UjB2-|Q|bsjd_U$L zWiE($YNBHBBwyU^8;dd7oumSd@8K5hmUG^oM7ksLCyKM-nnSyw50sDmJO~=FdX3^) zWMpMm2L0O=#aQ8Lcl2oqoq9PHU0ex;8C}!xn>borKT&%f9+Nl_R*TaRUNTlJ4wgsk zX&^O#&j1S4|Jhu?D`)m(Z2_;)$&U}2RH2sc06x~06Nprwe)4HD;0=0S*(|a8y99lH zfNy8mH`j76EfD>nSV6|GnAcextYmsRT9uDl!qB0cYg?eKFsbe(1_i?3!K=puTM;C& za1_h{TRB#Z4clD-F`EN#$6}r{`Y1Lop)R#s-Q`Cf4S6j6h`}NYMZK;AX+0@uS>8CJ zF(41})yWY}=8k$x%y>Fmh|*;95tBc$cZDzlE`!Stwa9iurBpmizZJ_Wd#?mm;zXf<&J4|wmHz{%*GN9QMXtmg`^aTYoIRV_xtN#fEDKsgoTs`nc`hzhIS|Jn#DB2bV;fOpeODUnWT;gs zP$klAm~K)j7)%~a#)R#o`YfJS;7t%=tllqXUiSXrm}kWOK!&4I>-xNJ?}e~6DE5VX z2`>7jH$5SS+1|#|B3P*mayjSu;m%Y@c~C1Qf)<0(Ql*f(I~;EO7@Ni{cXmJ2b$54m z;xb95vpoHjA-4tpdxuKQVM^sHnUMSLa=w`48M^W8ZM9!-=Q#XW>MZ7Ag#da`V!^3J z<)nL_ob1?bgN2tvmxZ9NczKi@lND7J$;ylI&PM8~@GN>H?9LcqvTLLZ*C#fW8^Wu? z8_tF+06b4e}MLCq1*?I{RtDe;UlHPdvUOMjM4x zMEc1T+@tbmkJ`I=aY<(dr%}5FHDq4I59slNExcOD^KLlTsa|%qREnkxt^~^h{$ZtD zAON)>=sgJCdApN?_<%fZ&Wj+%2jb}i{s(s!KX^Pn$1|3M zNyL~=R?4QFePk`}8%DWR#xQ-(?(wxgZmH*z#bojG_do9l%RZNef6Dj~MXO~y8GnuY z$z6N2_G!!jXCTP-=+gI+Qz(O4C+#q{Scs)epg;@*A1p5-5$p|oo{AIa8I~6+v(RFv z6U+D#?p#BIY*L0cw4(D~Pi%}e;A8Jpaaw~F!5(5!_0SRq##Aja3#nbPwP6CzUCQ)TDE zv)wU$a=_n3BIu=tu$tQ6iZf5P@{!&MO5W^MjT&J^Y=o$C5RZa=3WJLfP~JQYNF-CG ztfpsLoul!_mCGC^f{gR1hr}O0)8*~#C96Yq;F~lo9x-_XrcAk17kBTOLq$feFjy-V zlr9;U$;NL^EM%;#Mmk_qL1d1sU%;V~gK5^jOek-VDD6%%8M4END#GB{%4@DtZ9}vI zCYcB(PacXq*%{AO3^~0{a42ybEvUuS9F+j3@xm1!6o~r$Dld}QSz0h?Qh|f`aelxQ z+gk8VSkuY`d+6n)elfVkSjs(7lEMbJTWR39_Xb9JHO~3sHFsLhKO)e$5@}6Ts7*KK zCw+NuYiH-f&cz&o*8o*PBahTtx^cM98dFf~#rL+?*=!A-*xOl^c;r*K?)I^mcT>L# zZR)dj_VC2a5*z@e^4*TQsmwZ$d5(Qa)w$n)iuSOXW9)I1N$r{fg$q@YmUmXjR*Q#S zMiv#Cl!K{y$FZuV-X-fIf53Y6FldmwNT0wa?yz2=Y%eBz3Tb$Mo_;CMR{A> z8{1HRet2+la(9UUJ&Ila7k{u1&qCG=<6%R!n~a5kyixMVRlDw2v*#x|Rtt8Ksk z&qz-o2LR6VA(M(nI+$N-j3L!>k;NFyit|~WikVFoRalfi$g@FWI1OPTGad^}?=Fu{ zi;x)M)!Cj>N?rXLdw|GhINs5fegHOs*hSur?oSc)1Ca2B}(~vLNW@2 zfL7K@b#UPI?!lH8=3y~;&_K2<^!F7`7MHg6&xV^N6A)Xoxz#{VVpB1T@^X54DKl3% zdQ&Ux8LfxP9rY_H^rR!ub~(R3U;gapcOQg}k3@q%6#bB+)eEemAD}<@*o6#Ce;#u~ zzbh2=pb>;tS1M%lv}4Lswa9Ae-~dL135r&aVMVRRAudRr=jRKDLxWYf!3^`H?KSNM zbMeNZe#1!D{vW>H1GpN!HqD*_O}pt*x;3v(LM>Z!LRopXK%1=k;3FDu>Z1 z&5S1ZbZ%yX$b~{7heFOd=L`^uBuEg<1PSJxbL?j4?&<0K7kWnF?Y?_xG(mu@1hDG+ zeZRCN8jZ;>R-n;MX7dP3&wZy0R^-n53FA7ogR;NAO=61_>g4yo{oU_;@2mguzg&Ll zyRW_4(1QHefBmb!_`kpO=YRCafBH8Q!-J2El|O#BX=G{nAy40E6`&GLpue`sw^;FZ zYJw*eaD}d7t(n};AqUsk5HFhL5AScKgAlE$)*3+(pwk&05cC$|3_0Ytb4s)yX6gF! z%anq>Jf7~LxASeGUN0&7%3I{IH%OH0K_2JV9fwjqZd-~qr_ZNayt=JZ3k+G%_DkhFT1$Adtz(bb4JVj zOm1+byW8xQLE%Nm()d!=%$~~l>;{N3&<^UgxU^i;zwb6!Va6NHfTlw%{fmWVp|`ho zis*4Ij?vqiLF>h1cI+X4x|PldM)G~Nls?9HmO(m z^lOgYu0@w;YQQ!*mREXMvHLUmWlxpbm%FdP{IQ-=ASe!9M)^}Ja2j4M>> zjGMCYje8FtoDIx$vB6yQWFA*N1*^{cEBZASNKCkgCe;>P68OhfZA>MX@VCF_>9XD9 z3Am?|eNR&#s6@PbUAmd=JNLIrR+slVYgkj_ZuttE_JC>M7rde84ym@d7_5c#)|IIFC>N^ZzyJ2+-&Sczp2%%+mmzK0!Q1q`q+I zpZqzB6fi%DAn@bddZY|NX3F6wpuvG5CJcxK4&~B+1OA7{#5X+FX8=qB6Ul-#6KE3R zW^lrr2tNR!oCJF0yl7s4M+5-;IgTU{AOW?wfFyY|DgD#XrB1X>z$F_vM**2j`E^(e zfdMHL4)r%F6nF(*1^CEN)J3td3!fvF_~DKCP54y;f!4PU5G8=Xk1?%)Dme^jdw}DI zF@L+hNCwcmFVH6(2I8nfnIVB8VXxuNr3lHNda*QuMyx;Lz&7G=|0R?uCOA((xId2= zCB7rpLL3=5sP*hs;!T66i9l0A_zJl7LzMZE9q|RyB+w@8WF0}*F*gl97+1EQrpq9~1!9Q1 zpfe~i;BC1PHQAWtH^5W^mJb*pI9wd(j}_4LOgaBHRiQL@{mG0K2LkBA7{n=6T-SI#C3 zxJ721S*2}p6xatR;VW)S|9#zpF_4HY1i4_c z;+5SFg9;Hm;8xsxv4Xs~n{!T@DkB29Sf&JqLIY`)U^e8Y>^`eSNb6j9V!o*I)S?OO zx%+O}a#o%=8Ob&DV#x>7=~ZNw4VT0LXD{q2y-V`3AiXIWT5C1y_XIv zs7^nnm7Wt&+glq9T(00gx!2pQZ2vyq*xX*=MNq+}f%c}clnq88)ioJ*&gj_3BhE)x zw1TiVkxhrgz<|U3KMrv{QSQ23#yQi^nw6&$Fp{X_IQy4)(wGL9C!w2)r%>@|HHgi&Vb8nkk z?U5cL8#wp|m==*&HBYt7`nD9w_Vf`Ao@V02(vk1`_n_wF#5ZCmZbGuH;l>GYn)ZZ&*;9@t~WjHT==%=wl(R z(2rBxH9RTF6{uD-VsP5S8Jodl*LlrmhZ1jv44WLN5C_~p2X?JgxZiR>Nhphct+t?_UsLgEOifr&IL*Cu$k-Nhg6cK#sP_P z*=^6vjz{7_;Y!tOT?#{)Sii&NgAlwL|FM07dn8|PSJ=H+HFId(?e%ViPG+}|t-(TO ze|D9EOErPKk(SHzWVro;&%Q6D%d~`b1qL2aTw2O=BpFEkt8_X0O}$G0n%yzfN*dTG z37UFzZjWIsHGY#^&cFNPw{CsU`?P2bJTAmqiCAcW+39d4tnvPkD`HZB7yt&OfkiKe zjH0EY3O$o!#c7n)p(HWoWHWtS$y{S`#M}H?;WmrJLe@HH(lP^>>!AK*cHE?x=ThWui0*n8Y zN*RyaDRWnFfgmXTER#B!H-L`M47k$-V^$bi6GB!3dlKLic-k9XSqIM)0GZLSM!-hN zMivXZO&{*(MxERl7>i$c2B@q-k)p{t)}PJuTU&j0U76oL)u~!(;;|e$tIML-6Lc@I z$O4`~s!m6F2t6{N87&!9(-iVDTx>fiv|`fi4tl(C?UZhuCbA>hO$KBKG3hKKX_LpI zJ3N|_q*qU|`h$?O1G+t5JxUjFXW*FcurDsoLneJ-FM6ksz1amkn*7Tk_yCo1uv&(T|Mp=Jt&VyC%8Ee($im+fPh(ed$W zr4t`e&M(c5b<(Tq@v;6+Ys-SOsd;V0ri8SzhWWvSyUo>3?`WwB;(fK%;jn}-Q%g&{Hw8e~~TOCQy2_6oOYQ8~`VTj)I?Yeomwliw^J4Z=5Yos)Zwc*`DNZTBJ1! z{djEZS1KZ_~^J85O#>~zHB zy}4DiYKNlKZq-=DUg2&dgNo;|S>1ihHb)=tR4q?Ewcj50Z^Tbm7ioKAgZ&TpP7tlk zoS5*p(73G@Q*w#i{(()*^+S9rq^GVyYU=tnZWz}N#&>73E1~7!;PYg3PaxQRJY(Uk zC42ibr!%)%(u3k#KYac2*DXKQroMCj9o+S@^X2dV=!ZZ2@#}y3)7Kl*Ta!`2xUBiA zUV-s289TGJ&#)`-jzCmJBt5)f?V-U^!{J3(gCV`#EcQMV!@u#Z?|l1PU;nFrXl;D^%~!tr z(l>wb-EaQMpZ(bvzwpJsyx3h4_mTLFH@-YO!`fsvy;X?*-9P@jZ!NQ{T2JtLU^ps- zsc>OQ!e=vXw$8K49*IoM+CLu3kK0H0WjeW92guWG(x?npr+G9G_j%;3aABDs^dNT5c5*Twt9Pywm@|g1 zEES!BZiC!#8g>{A;sBo~cq-d{?ix*sk7HibWB(`(Ei+Tn%+dPvoU*kom3+7}Ay z9lk>32X~E8tAlH~OfC~cC5qNE*r}09fSF#LbXjf-1dq8A5lrxpSIw@V*O&GUOUopl zKE6gq5IEsL9tklq*U{Q~?Vl+>8C0_(Ku>~w5$fTyS)fx1J?m3x*fm|PX;m)WvgLRH z_4y|H?W_C!Ix8daaH@0B)lV&CPg#!~VFGkMRxd^ZoRkcaa|T)I`NiHMq>C*gEFj=# zCZcQHrQMT*wVo5@+3EQ^8#U)@_`%c1#|z56$jSEFOeg34BAfH_BH7YkdZ#!mgQ|(Q`GbMSPkkkt?=w2;U3Mc~~pD za=D~DM*#@_27wnKs0P3g;pqd&38iQRe3E^LIRPZW?dPzvjx~8q07HQ309JCC3V@kx zkXS-k3*81R-+uzgL?9Ugf_;c5iSPesWckrEbf{+_f^PT(@d@qP5c>&UMj9lQeu~&O z07f_wNkfP?p)#5No5c2j=9c&m+>YQ;BnUsoZ`H9StO&mT99z=qx)=Kc&3*(eNictK zBU#wA(1Ou)-E1JzyNFq4D-0%WHlrt#w1Y^=<#Y!k z(VmIroxQ_H?7KQBKFYMT=3-@mnB0^Ma{_L)KD9C6*H%2-?gyeWXK_Mg*CIlvV`65y zQXZ}hjhEbvt0WLLKqq~ns}CZLOI>-^K6c7to!x)BwS}>rr)Ot-OZ|K`A8Aw3+AcS~ zr|wf(99)ZLMwt`OwX=(Rslr^bHY(SSz@ERP1XR&0KD{?1+c%EFn^D8g+9#re7I z$fZTD54Bh|%_4|xOu}Hdt5oi5Imfdz6qZISRbmoUY~YFH?QMcK%%qfH&=0F88K{?{ z4}!R}=kY^@+N9;-P`0xEJP-X&lBF+fvmhFX4+GcC89GfJ_Ru;CBGvqIkV>_fIT!_j z*#Y=0G9fsefahdoZKDd6aa-KSkGFgG6f;vL7UCG>`0?=) zLzv?ajLl4nwiln6fdGo)Pnd>d{mD1jhW;6_eAcvM$$y?1$H)%<{skc?d_eM*|npmRDOT}E4f$20=?Msv%Rwa>gh5|0Nt00td zMPQJlGoUT8rRi$YWZ}_n)k!7`AW1l!ZV%kU#exSaNc_G)B#|y9^L>4T)mvwJ3%58% zrB<`2Rt1mg4T~J;7ypp6mUWwRPCR)eNYMv-5ThM&!B|Wqxz>(dZQx>doZSwoi9|(3 z9yFz(e#A6rIE=l&-O zIFW3Y`rC14V!Gng7^zE>(}xGt#f7^rivWmAekRWv2$*HO4?5gBi4Fu7#C%t|GBnt< z%Np3=$O2xAU91&p+zO=up)1G|pTnWG*tKaGu(u9$U;e@C*Uh0f-@N>@AHVvOAHA&i zNPpP+^3UvFNWS*Y+wZ)}b7|z^SG@9rB$ZaN1n=EVAxyiS&t)J?7DDu2U~C_@<5j9x zyH2H?s?r5#00CEIu$isHI-}m?kn>E)nNcw~BSR?44i+7ea(a!7y%Ro%owYR)N5FTH0rTD?xI4(yMSE2VPAUSKTE4X|5{Wvaeovdk1@$niok#RMND5)hi4 z4hh50V?P!N!@+20XRu)DL^~x?-FSz!XKN!`UZYt=Bd7$#v?`5Kj>{I(Cc70fG0c*C zakd3MdEt(m(&p=qmY@CT$30|f>wvitZEN5ePey_pHJX_S{2;`9a2gtfe5j+9^3~JbQAfXz z%%HDFhXk?7z7W4mL2K|y>i42}0hQmg?nG4saLs;nsu^!;&#EfKfT@Q>rL;rIQ*$rH zB=dPv$eO}nD(IBB&?yWVhm5nlXZG7`>*I5aQ$6d4k(58;bGj@Ra3RQW-qFNVK%rZl z2Xr^Tvbwyq2K3$9%IM64`|G>V2@go};@$^to6GGAzq%&Xvj;a=$X4gGh)u%vMQ|tb z#m|X%a&Ak`rHP;F)5t&(3r3Mx(p{dbI^qS3yDynEi?QLMp`nqHF@m|AoUD%VHkgMP z>+tr)+6saW92}kOEp@4EZlA~o^$Kom?4r81A)C zv)E`;{_MN&TG34bwQHahj(5qn@A^_RakS`~o3ZT+PLZnmesC&wo_(a#@0uTtt+Oc}G0Z$#FxW#xfvC0Mgr{N21kxxTBm) zX6#{mtjp(5XjFc&tI}OaWP9RMzJ)OVsP~0s zcqs(5a0E!pj5D1f5>;@nAnoua+ z5f!#)T3-t&vK$ZST4i{BqPF;xyX2lR)0$vQ)C&N}3rDBZB9e^gfHKy+~T$aBUP%(-{K z)T3AfE4bJ)<3U!mrAUu2hJp?71!D>50pf0c6+KEIPVTn|paWn8U=RUG{wLu0NqCwG zv>O2)<-mmzj3IFY2_+G2N?<%lK?OweHyNrWj`1LxTBUZzKmH%#i)d-OoNrQKd1sDjgH)6o|LaG7+ zQ{^=DMOqHQR`LKo0(A%&?M3?^0SXGKYITg}xBQ@Z zAS~f}Lwy$6WN=%2d4jEgVrze>TclP=1i{-A7lV4Sws$5Gco!G9UGeMRQfYMNj61`9 zCn;;o=+UyHHY^G05Uh|;sbVQ4VDq5Sq?pngAUe~aHj9wi!9(iQ2L~L^`p(g47ZdfI zaxgCI4p-Uke=R4KDg>lxpHXJ0Vn^c5Mz#MYJ9m^EIv4N}sbF(?S>T^>FZSio$sykM zqxYA@I|mnCsE^$ZD$&LBk^LEte?c~nER#;uJ)#Q}f}1F=eT*uY~fArsjl4q!6$LEN1$;y89NH zYS0NfhcQT$r03VBy$e^rTwuqUjcRKC@n>C`sq^v8KB-l?Vl|>(u^pi^Jv& zn?kWrdU&!pykZ-4_mYQaV@(BCD}w~Ea-_YLOh(9a0=K)fE8JeAAta8QCsk-I4j+)_ z9`~L2xuTbapd4dChFgJ=@HhccIU!#MQm%!3E_aH_5-zN!thz$>*h$?3~2V8bVfBld%AM5cO!u?$tNj+tSe-RX?ZirD9 zEjt2|gocJiJxMpzH_GL%p+Q?PYYCS5GK*BbJ-)m+H(MKa1Mo^mJOY(g$T=SoPd%t+ zgyu6<uRk2^A~Bd$lCs*j*QMZV2i7YInoll7t!|R~#^?WlUkb@6eg!+I=Vr9M zIn<^3eNM_Jm%IHem&Sqmf?{UQ;Y+i3avB@ zTS44N33rG&0YUE{4`YO8^XjhQE#aWKCYMDw$sg)8keReX2R##_&Bn8c1 zbR*T(zRfCXTjS5qvX1pV%G)l~ZsK^;p#7WacTW}U8Z-4AnVn0-sdrXyI|2@gK#oNs zrktD>;M|w$NvI~C$`&9Xq#ZtYB261ESvZ{X5W7o{t9Cx>F}6WEc_lGDtM8z+mxMZ92WomKR}6 zmKs7Mq~H-}Qh0d^Vt@h>k-)Ica~o_uZ6Jtkdg)5QqIYT(V%!srmb)ymp-}JY$~Xs- z=6$QxN)JOj&oGEEl;>0#Rj8-v!c_?Yiah4?Jwje_gJCY6YBEBJV!XlHqb_w$ES00V z?&^w?c}E7oP@|d;5K}`Y_>kDFqVu4nacCgwX={sRQmz|VUO;Z}PgF4MhX3LH?)>5; zK}-@Q19emh+CPKQ3Re{H==;H)==HUgl7hB3%>AtxGNy)J7A}jzz|P42ktK&8=|fWS zq!^Lxgg6wjH#s{vi*&^kVYkBp@>-py4VOc%s8(+e=zJk>VzAb`a^hJ_PVu1aj=3P` zsHHU;b%TrWcw){&eeb~X_N3rgAvQQW=n#kurf?jJbY|@HoOo+19o7AtJfEi{@>IE2 z2v*jEWF7>|3kZWVS`9$&xc@923cAw+hnow>XLQz_1d=gCLMXbTf)k$CXt3KA7NL}h zK(;I{5n=y%n_9ae`q@9cE=Me2PKN|-=8g^ZN%&l}dlr?k+e!OYx~`D!qEV))PQ5#! zcNN(pqe!+fvba3|uhWymj-H-kBJ695o6!i?)7gzdgh0UaG z!y9z^>}D(2nw2t%7>tS4pjv!74F#dI3-uJ7m8Hd{vD(t^6Qa3(ZF~Rt?9n?{uU@;- zZh>Y3I!V^Ey_CSR7KPB}XX&qf;d8QTRLu#gMFEpIrR&XdJH3dq5CV%$LLZU^Re`Wg zgA&yneGsW!E<;;he?L}zuq_s>ZXHebvN@A?Ad!lFBC+e<=gmjlridusg+bKE^- zf_Lcdb?t^xyIJASkIr??P6zvYbrws@2WwkBU99J4k0S}cQfh!ObcRkV_qH$Eax#i- za(aGo1!iZrHdky)YmQYLh3W<`7(ma3rH4|FCm-+%_b{Ks4Z`VoaHl8R_`NsYW|L)H zmV8#_S75+~;O*b|q2-HSOTy{=vGvEHpT73$E3Bg!OPJ9Zp4?d#2!{DVK3_=02#CZy z#~d;-e^+HT_lAAz`OdpG_Ow7f#YHf&P@&Vw*<=rq6XnExrkA)ASdIfBpWKzOlbQE2h1B;vOFx zD6=#(4WyRFMo9kSkr?hS2f}_gDd9ck@!WF7*j=8he4))s6^exhj?TLfn?D~d_K&Zg z8`%%k#3f(5&E~oraT-h=+kq(k6cGpG~6-B6Tzk!a#Zjr9K?!G@Xv=M>C zdT1Slcx=FGzm`lAaFSC%AZV?SFR)j}Y-)CT3DX_FrIrqPa*|jh;+_UWje3D1~Y*-n|LlP#*HFG z2E5k|dZ&k=7Ag0+lwzA^2bdLGv~ziKXk({?TIP+g*&K}8#B3sBDc=foW&?0BWdx$2 zALa|<+S!g>s`kcL-!n?o9Y6&!k@gu?yFmpbprw0iJC3rSgapP&DACqD)~uBoJyJ`O z%9dmNrJ2>`>3^-&1}wdWR5WNt6$%D@r^__4-eX3hOQN22!O;NSE?$-9{9gO%zMZX5 zt|qr}InFzL1Y;QMwCnu^Y0g>*a*3vO9`KPb9Fu@Wc!XmT|7AW>LY2K>)IP+K(mMG_ zpeO=E0@nt)r$p`xUCH=3AV|oHVW1!3K!O^>>Xt~tRY(BDU&4+cRRxF!PZ7`m3UCBS z1GtC)jvN5H^^8>lkZRyAsMC?~6oDuq2j>^S5dfAPfMcE7lTm#D90|0jAc!@9Y;|f6 zu+fJ|@r!lrN2ig=9UXwyegPH%ZqaBIjQk0}Qs9mh(>@MJj>GsgY-k-f62AvD<8OY% z%@Rj}$M}ubYu&|7pjR7#af4Pl9J$u_}IM(=7 zAu;c53@Nw#i$_y(#h$HMnpgSYGRHO9(tJ!y%=~N##EqaiFM2DgI1+IOV!#(o7RStiH-5&buoY%3+Dv-e7E#9#e0{+ z!`WLc5tb5y_p=GT1f4uUv8jHAPexUv)@Ex5$=()f^*mZ}WzPK;N^`it{LN}L*F+-l)BbhKEIc1mk|OGky< zfHfjb84B&aT-0TjFv%^ABoaIO0d9#V8GG5@1#iHXTc*;*xYwQ!blPL?uvcPp$P~Lp zlSr$K$hiU)TjJ6co`cOR=|lAopt#yw32i;n1USNMY`NrUy#-6ID#4n2sZNOyBPnMrG+v-UbuJ+X>t+!#s!z_P%3 zpq1dZ?u*&Y&8^+t&EnSn@$S)fe&cBC^q|(=y%P}Yj?AGpcSv)ni}LF&%(g90S)W;0N+{idF+CD}Er(uF#8 z1JZYx3xG)>e|v?tRq0Z$mTSRq%@#c{LxFG|*6<*7 zymmCabSeJoE3Y_M?Hw8g;%`jIR7}Oj$|#pFAB-VO!@Y=k*Z5{YtI|+sn`8&6ikHhx zb1^1@qGp|XVd0f4bJAdyEnO-NYt#PWWNn(}3)oir7sNAasF86Pyb1(g6 z7`ltofW~mJyKZ23I53__4v|=w`=g@) zbxk)hS*=b&)D83;uB=Yaj8F^FUozC_bbQP4#PJvtdEb<84W>B=;-P;RcS}@~< z4$^mq2bNE_C#w@{z0-sJm5D)jK9#WyBvXbkN3K|sT?|cBcGI^LU*~C7*$YpO`lpij z*$IMejU>|+biKo+rj4rRDv$fA9Yee`>vT`IsdJRYRl@puaYE$hw}#Ob;%@R1VW z-OrUOdyniQSXg#M+`U@}!q;ciJX#Zp#OM&WJECpu?VJwN$Wl6tVPJDT0jKesU;XOW z|M^RQ-}GO<{N;DP|Lw2;;D=xRtAG1<|LM>F>}#h7b2##D+0!^TT45VD{^pMi5{c@) z!dp$XY{k{yeyvj?guXAG%{)K!`M>SKBhy^f_HcxYc5N0Gj_Dq+`D{)n7J7y}2TIe! zqS-=(1DTv&ugl}sJ)XbO&^QtHyoAu`W}`IG{?p6TJ(t^>)m^;w%qk>z6PepYmmv^$ zX(+V#I5e|BoDL+bm1g@FWj%t3(xE!C5JUi1DCBG(Z1T|Mts}!aua@a$7ro>C!qM3u zf8jH~`?o){5KdEEfEyffO(wDCJUF4Vk=6P2#g)y2wPxCkR3n}stT`hM~j{XHs0@Kpmpm4(Qix;Yxs^oZFi zn0K<jV#r@66naW~-uXt>7u?#-Zh{N`L!`K9Pe?;>D|kGzq9NdOqq8941zbtFYJI-oRyYXnUygDz$e zc!+>R1Zf4HNFsGrLUb51Wx)M0g>`fYXzin0{U>?!&jK>}5dXo~j~?pkd8a^Q{sJ8W zMEod5hrl;49GZkym4IKc1^gHGM;fgY$WK5>fQtx$D!c;0rI5h-2?WrW6edprKtj#N z#{l8-UNkQ9>ue$hp{E2stFI9-6Nmh9m~7>e|KbJctHVTaIs(@QzzX&eZm_*|5h=mB z5%^I79?ANz6Z-*oE|hWzpmqd~3_&c`w-bD!zYlu?Ws(H_2OCK&1H`X1z_O50LS!A42QWPjrq01|t_#n!ik1BpSufRJ3qUxJhoW(9yug#QV6TZiQE^;dk3MAJJR z$Vu!4nfOGr*I_!4A`T-@?l=hTkQt3Rqe-a5>@1C$NdrwmJLvbWU%h(u$~z&2lHRJk zqE$eTf{GYD8+cIbq;qODdUG_S*IBGiPbbc#Bk0|&SyNw=c(sTBqy_c3FnTO-vA zx-+T0_=+}AEep2ru0T?+T9tWYTPZBUEBibJvl~(Mc_;i^$vcyeM$xVQ4d1e)Y+=of zX+7;*3zc+aZ*+D76N(Kk)%nV*eM-n9-_Y1RuHZZb0HwH0o5^n0j_nxD2Hh%mj;2TT zO!IYw-+lA4dDn8voi9O`uaRyhsij3{s?pG^yE5LUhBt>a(ZCC&QcWGLNH4k7eB(-E zJDbVXR2aRTBkmBRvLf)%nnoD6%vvo^(c9G21UV~k2R%uav^X^kSH#JPceNA)Ef0s@ zP`GKDSrpb-I+(o7)s6tEEzSo#_WqrxbLfBAqW< zEEPME)I_l-*}LVAMif)EGFz?hTXi1|bu&FEUXyE!!bT(d7@LYeZ> zz1z3BUa@Y>KHjO|aojs0WEIgsOe8TUp&@8$BDvfO6a+vMtHTq`c6V!Hae=!eea8!v zBRRGbQY)oWA#1#vX}YOzAL18J=lwx8 z3iWr;waVt;LKJ6HdF*PJ@G;iZ&l2^U{>*EqO}&ctoRCfK`GkK!i}D4(*xDQcf+a1}%noEqPz|oCQ`eNY@pK z#K0op;Mr8b26G@#5=4+qJaciN(<_JG_}af5VYCVu8>UxBMrFn!oH($dvJDDgnWvV8FX@mG_maA4nwMVU(PNY&_$#fahK;m}w*n4W#<@x>= zay6{<(2}WkV^A<&9ugVm?~cp22KmO~;AOi$({QVyu~&i9>6hcOwJe*$GRraKK)glP zABpKEHJ5;o>s!pZRsB|VHFpB79 zpTQ9@!|YKq1(_-ik3U7_armN{z9Ca-Z@7AgKk<+gl#5wL=b2pfhkwB9a&T5WtZsMT zLY&!^#eBx!!va3D*69|zJONEOWKzt4krH!#%#C>vn4dk^Lg||`$27{`{`9_MwSS~A zToKCXm0LXqy(&YBr49bXs9{vl(_|XO(IZN!dn8l#9Uzr-rHgNIC-Q-LW1rGGxUN5R zb%ugE)vV7Nn~hMt%ucI4qc%%At%L5l;LgBKPy14ADYL-pGYM+TW(Rs_sfwgx2P0Dx z7*}kH=$AbKG$^)8QFkbrsjPvLJ}W@3v=fvx~-9%M=Qm7Z6mF&`FU)FF4Aj5(dfi> z)-tlYd&rO~baIr>iPSJKYj~t=s9)#V+`+C^IGfyj>1WLpItGj*LygHLrUFav<}WS| zbHS*!qyaW@glPiH)24Z2BQfxBXzT*8AjFKa6B%wyQP6?Z)2RtWer2f69;VHD0N_}kJ6UZ z?Q=E^r|Oc~Z--XM+5h%$CG!J6{>)2kkvd*jm_NSYVf~5YVYM30C?dXGAXLevHksUJ zI2&a>W+Lk<%Wh$sPCuAaS%n|W#G-mITwpy1`^XM@5T6hk#<`86owJ^f;T%1fnX&c; za@)cH;l2jnDMaJK-#5{s!o$!?mt0!0s+8Vd`yTh4OojevkQB4o0JS;5dkNVrHVurb z?5xh^Qfh@S>pYzTAt&{-?|x&BLKVwEDx5W$1s6xV$486<3+np`23PUSc>6TAwX-C& zuLoT5Qb{@Ni|7QmlN<#OfO;gGNhZ>TE`26n9_lUGOSRhCT&0aQ9aXxKOuEAy7S9b0 z;l}y9ql)c8zHM}&A>tgwNWW7x8@*aqO1@SQGPx=d4cWyXacs{OnB5>EBEE)D4R56~ zl7^|*>=B_UOl$o_4XvK2Jw#Hl$wY) zyIQ+V_Pox9h_lWy-)dr~cc$;=jCo~fvZGf+T^M)SIFHwsid_#DSEu+qslCTN(bRTJ zOvYIxgF6~6-kq4NO@Q`=#iX>mBS87L`mYz9W1a!;u*m5T2m4F?5pT#XdtcD?{$qTFt+JbelUsdIaxL7s ze~-!I^JSu@HhrGa+};|Mp>(l`V~)5KU;E0x{P%zQ(%*jP2QUBV2jBVLcfR-CfBNhH z@E`x~U%&s)`&%`Mu&HlSbv7}Gc~F+)5C7($GHjPy)-g08%4Nbo6QW0ay2k4Wg?oIH z=0puq-DusimHfLiiyPr^adEbs5US;(L6K_j&?~iCO?qGzb!Hpn75itov0IHTSKoa1 z&Da0m*WYH3zpc7uL$OxJ$J_W zRkK;KYk(`M1mvm6%)MnU((gKxpF1DAR{WU+6yZGh*8gQZoWJyiS0plhtT9rVbVTWimD zXItlG?MCQs5)JRNcjQkVA1ZvSHnS&{)_0jbIAbRU<;oCRRPK)dKcP^(Gpz!NV7!heiA0bRQf*=ef!}@u| zVFN0XI4C%!PCtUXlK2kZiaKnh(}lF(AW&re4nP?gNhP^k}GKN~i#- zzaK=R4QwkPkUSg>$c%-z3AX$NKS|`~5^pZ7fZ!+jKj$a8jL*Vq0am{FM;u9bM5MQV znnv)NA7x};o*pq%aRnyZ4e9BbmRK9 z%U9mJ^p0O9qqWObmmpb0DueiSDD%TSDs|H(y+*IMryw}R>d1yU2*$a)JEaR}Q`vH< zqEFoBI0Ib~t7qKiNJ+x1)&MzSu+L|Oz1=)F^1HD_+~rIpHD>wG2Znl(r2PXt{j9&h@bX>Ns9V%!d49Y9 z;o-@dT4&X4ycL&hQ=UpwHHK5_5Y^LkBy3d0ArRsSI14gbqBpTmeGn7vuy?);jA| z@acS4dB`ZED!l{k5?4oLF2fWeVhN-Qp~%*p%^ea4{c8hdxzQ@q0tF%l3l?K1rymX^ zp(bp;vAKhelU9rDJu`Tf{3cBRsv(T(?1*rDrmrBNb8nVdm_br(Xt>>%(Y#)DW;0RknD2+fy0kxX=2 zQ{CgSlZ|H_J{RU8xdO>^7)$bCc2NYlp3Rlu;uUC|1Yd}1?#`aZAe;TipM7NuVE~5g zAfFx9k`WUiw;88$zHn}bdBhdb}8B8<{Qu~B5Aepe>%RAM+?3eQesLT-)>HiAxWtyN z*s|;^%T}{vSv78ImULBaotZlva)!eO5FieE@4fe4h~7H^5MTidz}|bWQ^=_|>tL>w z_xXMK216Vkp0dwA6Fl?!NTPfrh=Ers5ohK<&8GuJl=@J6@m5hGXdMHhr&joF?QN zgkitOu305esNLVb{Xf6_PklErqil9JVaT1jU1`kLt(nYd#O=)~j4Hj-!sUB8kf_8q z<8TCs`lXkbX2{bQ^>ms*cyNP{=GXL z?-{;*@7+w)67+d*V0vzKnVF_Kqc&b7drVK+p=XsG5yVakIz;d;^;WZ-Kbc?JWHRk! z!X=ezaOkSW+vEk%IKJkkchVuUBDXU&1dakZ!FGVUBUb6Hx#enggt)l~j{rzvkx67K z-S|5of0*nNTg_u;+D7%GW~>0Mm(4JK_z!L6Df5y+|FNKU2;|E+dlJtqCeADZUZPOqRA zjAvjpV#sj_C@gC;1dQf@)ll2e9X?*ngU@IG>IWF zMR9E%7@O)pty9+gRJMj&JsID+*PS>Rj@Wx4F_lSSAWVojvH&h=WW<-;77cr3o=D!f zI(>o%=MAWmAyJP81~BLliv(JMefPKcisfoH5vx?DY7U9m9SG8({0%Y}!=Z=INyNvG zN~MxZyYslRQ_L@|)C^v~RaLU7w9_QIXzkfTx}m}(?Fun~AC$;miBpcz-F73_t??yMyEyuqE$u?d3@7Hb=c2hIF( zYI{739PbS!!;j{6#`yH@r(l?KqvOu~koUwVY_1OFMKXu0pcp7f#60#pcPJb-?JYt~ zZqbF!^;)^;+iH9L@4xWcmp=9JKl$QczaAE7WX_|>E#&a|`wxrDn`aB7Qybw-G!@KQ zoi$6u=CWk@0+~`Kn>yUwP_8^)Ipy=n3}o3Rk${q$_5tlVGdnXe`Tzw?3S~c_R%#zS z`evixQc$0bN0bjEQCclG=(n0g9Llo;vXU*eJBpb)u=&n|ojpR&0Jfu3*wghk0fTVt z=C6M7Z~ywQKli;q{fED!liKfgw}194fAdEl`}5EJ zjcTu=c(}uGQ;Ra+TgR^B#!erP>B2CaxY)Z@=Dse|Ca)=N;YBO9_3o;Gnt@ z@DqO}ivCKVFc^d~c$mQxvB>VJm+AEyKmBlB3MIf`ia3DZdR{J!CXbSj7K>aM6)Kc6 zsm}CkKIX$=EAV!njmsoLTLl{I3>SByx*Nn!3`>Z|)Uj+g}7qAgwDdUy%S%cBg(Ex+NAW=l*rZpvI1V?iG zYMv89nBY*fw!L6Fuf=0_{ZZ5Mc#5Ms(ZtyRARiPzqFnI`EkE=sBH0hsf*>A)0u89E zv~*L^Z2-_(axk=38YO%SDmpE+L_?JP7G6SW9syFF&;(Z0F%hLY9v%`cTL}39O2R>D z_+M$Qfkk+I@Q;G~1r#UIRe(7XFgip@wUrnPM1~gi^;273A{^i*7Mi6AS*ag_lc3T! z0}faLXasEpqe$RU8u3GrQwK1I134aubN2rXT1Lpk{xm=!zyIIhpnee|uISll{ft*& z2_yv|*E)L(79ko3U`fIJ-&lxKqT~u(36&$T3in&B&?U4F_D8uA?JAT&TObHQNE|p# zLV+PfAY1#w&eT^O0zL8*%tR3nTF*cYNl<2kU@4GkKb8ud33&WdaB3QxDVj>ftH z|KUU}n~*n)K@x zOcAr5H;B3Xl^L-?fZJNoG%Pf{sJx){;rlE*zCEK*$|SA?lH2ZNGt+cl(E7Ats!&Oe zXCiB!ON)DKgpHwAts$#)$z%5}g{1)-l$cP3iQ3Q>$vv|~+S2l)8r6`%FfF2SGI&Iy zAgzyP7d9WvHwR78b<)LpHJvht&*Sk5A5){ukbHCGfXT6K_YcyW8Ehu%W|{2xIfXL8x?#&iiru}vyzbQf$uL1MZ{e|$ zM}o2~*ZCH*xVX8sx?C@X^{l)10)6*xmPRqoeU8>$US4=SGr2VR@QSHaN@Ys@;BzC$ zAn2abqke-*swc(+>^eRFsBBp&P0keLBB-qL26JJg-@}`WG8O}T+OTHNy#38NA&=(~6;LZ*~EYX3% zL9l;+h((Skhw`OCcRm~`gsc@`Bs-L{&>vAcvLqItSiE=lR*2SL9?rYW9H~^z8tleW zB!1-aCQ)_eSbZ4I@@*4tnK$JlF0U3vgw-?=(%V4#1T=I(0SR7^9Z=Uv&yO>)$!s%t zarFX(QBcxkv)+IB58e$X2)A>-38HNNTgg#Ao-m`9j>~ z#C!b_G3hC?%R>}Kh@)dxC&uVQ;{4WI_@rDy;}ED4+*=7uS9jOld+))d)2-@oLBi(K z$U?ylkiLXTCz(W|{Q5`#Q6i{@pggc3g$C)2mVinOxylnm8LDZ_mEWRm3u_{RTC4X? z554)3|3vj|+PK0&g+`~2s3YQwDFVM3~5oxir1<{5dM z0bj3Zkd=JnOSo^|_{Tea_qzV3^M^OE1bN38z2c(Z>l^4pp97eV;ah$Ey`5oDUO}3@ z3inbhAuzfyWySJ(IX|&IR(^1DtNnI>G0V(n2DRis^o_SPyf#lNT7*de7B<<{^b-Fi zY~%4#SMtf&1agmea&YnBXnT1gsR91;pTDw0~j1Bm?GZ9+TMaQS*YnqLR z$Ll)|GWkSE2kmT67$Mmb(+3D67a*BVxYfNWuozlO4pE}y)4>RBdt`1Xr;IS*L|n9M1WYW>{es>oEY*;`L7CS&9BLcC-B#a9C(!5Cp1dmhFy? zx^lGT&!5oix?${OwW4;{5o2>@mdv>3fJ9G<|2)BL&<(x=vxjNC*V`9S5!iNL5YmT8 zeeo!7C3%-tW(}Mmn>>cW$kDA3FL$@8NlyG4QEa5*4!_Qx*RUSSp|qRJhi4dt`u@v@ z!>OEAIaCl7ibI9c$Z)kbcJmW&mP4n@mnRn|skO_s#=`0j=u}OXBT_+6-k9CoL>_ic zIXEhv#WOYX=5KzO7ud0L`7r+n&dUn3s$mo$0+Wu%b_rlDPiiu9!Qb7FCPfAyq80G_ z{mfu6l@7Xja^cF9PZkj$ZW}$IPJJDJoD@;y(=U}!dSQQNYG#~X4f7zDc{r6>%Fo%3 z32H{tO1D|Z8*}<>}F6{rC}yP6>(Ebw_K>v?3IL>m3le&QFib zLZnnYx&N`jSesr{_+|+^n&W5mxNXF3!6o zSH*Ewj&_|Z3ND)KJ6nUpFNYWtXOt(P<*d}Ghqn6IU8BsHoSZKN3U17e+u{i;Gc_># z^Zd=lckC_~)s0rfgC+(H0Kkn4Mgcyr_qmL$&2E>gyaGwMCZW-3P$$MD?;$hDMRHAf zcI8Mj$p*-xlG?ub_0%+PU*-DM&;`O*nMEQ`)Vx0?q~{8gV-tQy$`eQjY`cpivulTO z&LY{_ULPKHgd=I^@2s*!dS55U@pnH^(6WbK*O%@t1p7MsNdM$8 z5$V*8NmLw!sv@Jp(vT1TFlc+WKj^w_J?4m1!MMkVLX^-+xuRcern&#={Y+B}-5_={#%Q(>~g(Ng* z1s5UND58w7E6wyUk;$kB*z#DeG#vJ;1WPmKC)1q3Q{KQSie~>8N+~E906L(|2}zV} z;4g5V0ES^fpbX%KfeL%Vw!hNa45bfz3zGm_KxPMasCWTGQb4S25AbsH9qx18M^!>wGBfaa#da06r`o z^C>tFies%3%-$A+!ill1;O{Fy?L(0i1yuA10Htsqpkb8pezAqTuof-@z1|k5qCJl% zXpvt6UPO@*?ifnqD5wHm0;odB6+)=}R16^b07Rhy1ThROFdtkl7yIk4t_8lf&Iad1 z+lGhu?Z1a*lvvRppu~!H9Xf~bV^JR#AS>7wwvZKAvxWaavT%F?+D_O7WmBl~Y?)`$ zAmsd$uqb-Zsrc96G;rIY!L2XoEkzsmYUfrsz10#}g0-z5q48DRzXsQq%LsBVo!g!( zHEI~l`jC3TI=iEbumoI$jzRdncZt32ciW)g>zy~>EakEuC<4Uva9G+9B$l%vSOvi? z5RI2v`9hIQ-xE!Z-nwH+JH|(=o3I;{dc4#i@+)ZTAP1`W6&C9CPuTPspHI+Gcglydbb(7mC1(Qo2s4-@8yqGy2&(S z@ow4}cPLi!ddHGq8um>RYzlt1UO6B-_E%YF25wku%ka$8bXqjyWU6-dlQcxH+dkOM zD=p4w+)lT|l!F)asUxn7ifi8~nDp*wY6d6W&IJsU>+2`)Kjg7!Z%b~omIbB#+m5|N;~~4|Vb#fN98{;y4>S|88~3_93`K8vP3bOIrcDLvEHj`VG1$ga>j&9d(wMrK z)#WjJ=j4r1=WP1mcxkoeU!Z#fziykXgy#)`sdKh#1=yzUB~8pYhFB8mD;V zOybQ8^)u7Wh*i*kwj_xYm$>QxzSxL;liz=lSdx|>t8Am^TS7U}L$k5DM;l99V6(~7 zTDJ0jhqlBVV~u;3Mo|-Jh>$=A9-4m(;0i$!y$&W<5d%zNfWmq-6uI-y`o8YI0twRD z7$A@FaCFYsoD|xqb6LS+$WOm_uN&+~nm7dXSkplj*M1R5EA-JE>10?aS(?9x>8sBz zHx^eH$n|>=xpjEw^KAMMg-Ptlw6(SQh>>)o9wS1afNUqIVAJqWiGs&F1$6awZL2=fh&;ZSs}?d_pjggg<;*H6 zpG`xqPL{^Rrv6l+ap$fzBFM&)!3m{#Kv+`vF9n-ihLmcW9&*k4NWc9XL@mo57P@2{ zuPg_T1O;|IM~MTtO+*P+*8<0jgONUc(9HB=Z6$VqHXkLFa$!3!4ohcr!{+Mpj= zFZ9bt4h{VvgG^LbtV&H(X~x@Q?zm$)2E#A*GV}IHg?VI7xk-%b zeQy5TfyPtwhz1i?zA3}VlxB9w=7TBGg@qB;*D_X5g8?&9akl)?S(pU#;Hx{^F_F<4 z&pQYNK8|}rDqd3@A}VPsqEdT}1zpXH8rUq``T(k0nR$jg$w||qfy6`Nz%eh{04))Sz zZVD|;qW4hQWUo6Pj0OERC5O&+9hN>h8TISLL{@32?uT>{kJ?{Nk>gXQ z$?DwY0BPAUSfR_Nwq`R1R`=4JG(~Dq#36jCQM@U@Unb_{wZ{@e^<+~h?-#XE?{?Uz z6gu;p9ayPV1wmI@1T(^{*=I9oF*HT?(;x%}w;g>DfT|A~GL?e{mMjn);=X6<$KXfk z{TLiVC1H2+OR3Fe@3ONVlhmDdV*Bm(j?iDe*@t87_=3OiJz8)zS93*27e!k|p7#A` zWEOq<_|ewk!&B}Wd(aoi_$NvN$);Q*V@!co(lCEy`RUbS$ul*xQfjDezvszGqB%1@ zzt@|b&laiJq2QWNUMVnq`KqM{#xv+-6%7od)e#uRgPlU*!rQwVfw(*FrVc(&raAvjR6|xjtgh zO%g-H+gT22JvK2M zeRjHhxK2VIGBs8lt@q=8P{NUu~D7DYG`8U3&pu^@U1# zs8lYO@>v)?R7a*}WE+RiNxX%vuElyK>+8ke@hF|+>*Vvh6tze{nsbeN$-nbqrc39I zDV$n~$2p-`bSY%?-_WL?FDEU{@umTB1(*v3<+=e4mHALLFE_;cNVXSpS|59gvrUU{ zuyy09_YTRyE?YT9d90#p;(`*! zhMG$+jV` z!;6y`=;uaj4)W_a-{~457IyHlxV`6jLZJe$?q!zEAySgPrBJpI$7my9cZipK^7CK% z%P;)N=YIQ-{^-B`!N>mS4}br!U;D(LeB}nozqo3;I3n{z409&nc`kKAYSz8Ty*R~c zPTaj6^p~F*(ubAJk!Se=4grhkfch+q?7R0Ibm|X#-et+e#s2pDPh*COyme+ZI`nsf zqs0r~GV8_rp)<2xUF3zxB<(|Js-FpZ@e8fAw#^@`+FU{$H&vH=R>+QB5xqdu*KL?4=553y+5K~tn&vgT$SjnTzxggTEvb&uk_vC?qLkmjngOkES2^R&^$ zZLW^~EVFN)eIa*GKG>G12gU$^x2*MIQ(=ica+xqI~;9pp&ws9+|z>9sMPhzmr< zov2-`8#LHq30$l|$RS(a^e{s#I(H3>mxxq04R<{9a`xp}^3ZcQ;ok@aRWQ0GSO4}N zi7tMc&i(p37)K$JHM;Vn?z1U{a(^2~CN}2QnoC<7vZpeq%QuyrD6^FpdW%7_4}ZiB zb*1s(yfI}fA=RnGhEV5--DVWJ|6Y^*equa5*g>2$E5HN0fmc;`5_Ggk=!3FtKx9$(%+@p|vi^rK+1RSQjqiwtrG^u!G?7hFYXFxAw?&B|(68)5( z;WeJO) zsxuiQi7~D&G&YzQ9Un03q6BxUQcxNe#JQ38lN8>3WV;v@mvcE|trt`>c zF}dy1N1W8_72?ww>+@OG;X^)s58wg~FTUbc$^g(RkR|Gsfm%-hkfElQREW6!EXpze z3RqEcffp6TM}eeXeSZ=I#ic)kqERb36vk=rfNlXT6UJ%~w1ewm z0*{jb!CO`%t$nGu-$wfYC8!@Ct9AHSJPWH(zJherkARydTp`db$lsut2gxlh&P3C4 z=>WAH?9ZXlh{dweetSi!fE?~xPSL2p;l-J zO0wuRLYgeDA3aTLOW2DBp~qL#0MN^={(Dt53QdN-hxZ9qLrg)k}$N3j{x@g_`htVPrJ@iEU(hvZhyMg< zQ7;(yy`+H3RBKCcQw3~p_22)F!+wCX+(QO&#dWeTdr4ERXlk2%JAkM-ayOQW*NMAs zwY~e!aIsP><}&F)F`b3)WiuFWLEBahXpw1S^O#v7x8L9g#k1b}K9ejE- zbcShkgUy+hJli3;7mreqBbjjyO$kFHS-8UWZm-*fDWedJkOci*Gm_q}PFXvRMemy9 zMAllaiD(&~NW|x*=Y5Ob>G8;zs-#P+c^Pg@QnG5e0hx*~84uo1NBc<;LUfP&_jP9M$%hllp&*PY`hIX!_fs_`mxm%PVP+6H6ye!+cl zqEQ-5dZShdLaG*r)5o2%>v~ES>id-`)f`vrEmr2nXJ%)cQ+Y6PUUCla#aAwAJMQ`7 z+wJYQZgzFuPIUHgV91GWKT>(o{2 zbBbqN>!nBugdUNPPEK8n-OsGW3~uVp@3k>_o#fuwxKm#2#dUn^hINo#Nax$%bG7|Q zD2%X{7TewaTy#n{g(&oiG*crb}jMofHp>2 zs}rU~wMMvDU>p*iY$kyv4_s2kY-iRb-|}2?YSU9q__Thxk)A1s2h}^5$Ya$w!)%6N ziy7)O^m?AR7BTdVAg>U01q_&Om z8Gi4~L{ljpj?eb2+7baKuYlMyhDfeSIUAAKk-ilKKh)W`f<@TT)VrO_Wffh5P$Y#_mupOr$b2hgGVut}dk4 zqUlsXrM1$|HuU6Fnp>S%@f5^&Zqr9UBlqz(MygtRm?F)Ll|kMz+*2+f#?dfgaA|C0 zjCRDZ7sqdE-JQlmPlrQ5z+$pt{#xqYH=X*V6zJ0H$L%Uqzuy<9D9apoS9P5yiz^|;mfeyi(<$w z7IyIk)UGDWHwO|`s7MtWm4m#caqEPoTJ%<=DP`Eei7@@5v|nv6$qg*g=wMIC&k%+f zp(gA6@r-cU6WLAs7aHdeD5Qy8|H3$C>1-x|Eje+qB_nek$#UCErFEPFyOzuPwx`6_ zDQfjIBaLOUajj`Mv$7)UY{C|vHOrG}vPw5|R5d5#v(=oUvK`gXIF&v+mVD0K(_re9 z6?$1Ux4;*`yc?g6iYu!%1|%rdb-6mfK)!MJ>z!Zy`uA?Nb=|p(3QXVl;Wz)O>pLBp zPGc3*G|!ga1>c!AOy8YcA7S*)U4**CG7KJhg*bfZ{%~-~_b}L)El$d-L|)CU+Oyzm zByP{W1^qg~pzAdb*f>mzB~1Blr=v7bS`Ju(i1^++{VEHQj-QxyY4Z0O$d5W4QE_#s z+I=_D`!0|)b8+gPCz*?txaDq!z|DW-M?d)C8}fe{XuI)d&}*>Mj-B3Y@vaFGY_IMo zM@og!@ySDi!9sX=wbqDgSftIISE@Pa#>TmnOSjxNQRk7ne<7%flC7IO5DYMNN_GyIh4b4jnVE3PW}ZLRmh& zRF2@(YBf+SV66fsw?LB!66$ndRD{}}KoO@vG&D3S?D9hu%oM#3Paz?A%t~=Sv^wir z4hlKlj`^W+e&^`eu>5nM4mY|NET*6PA*0rtoJ>s4J(lg4g+3|crBt*;WItqx^|eVn z?sCH|By@|(N}W9G9+@qlhGg4B7U^+)|+e!98%HwR1xpuZ7>^GjTt*`4mUgPFM zwZ`F-uAym@JFFQcvq%hqdU4L8lO)@LT@l6;I7Oq zGrX6`m3DAYYmsOMb@fRhokd38fBy2>ldA_8Tcv2+rq8C5+-xpa8UcO4?UU1ulg0sq z$&ss!)~JqKj1_yqhXq6IH{7|4&+cIer+1E@iwrAAUgE%w*FHio(ybhhwMH||PAHjf zxrX;)g_%jcHq$7GiLBMj$Pcx}UGSAcsfOZ2?EFN-+jLJ2hidASDv^>WBw=+nstC+W z>}-A+(AO!}23XD<^Wn2K^L`-tU^=os_xu@$QVQdyCc3Mq1sleuzpGf&(l#-L?$;yy zogWI`t|g`R{JhAp$e1gxY_Lrm6Q->YBdd-L=S#D3{q%@9V%gg&>ElRzq~sNr*Ml-P zfBawGdgJye?MQxSn0nN^pl~_vclLI6cD3IE`S_kb4E`;v*n(KU_xoS_tH1igPyNpC zee~mh`r4oV>7V`Cpa0n(|IzRN?x#NfKm1>3{(yt7j^w(n#b*MsP@#bhj^?k9c+q#>L3!b;?Xt`VT)cEZC-( z-MW~S$aE&GOd)yqD4RK;*}_!*NMmqkbB~0q8;DN#sN(#Lwz#-Ezaty&p|N!D{MBE6 z@{@n@%};#e%U}2(nBMz$J{7z3jc$Zj2_y8=r9WtH?Vc~K1k?2$v(az3skExSUozd1iuO&I?=!yPA{>u12BB0*D58qV zBB~G(2x>cz_|MOm<`PozQhiRYlRNrggg|g=xy6vnqTmtwmU5$lzEulYGT9t&I)6ho~(0rnAx-U ziTN>-x4yxhj+)h)2TjY<290tmvGE}Qi4JF8u|*4!06-vW2}PHj{+~l5u@GJC=L0SN zGWt_^_Wd~iN_pj)iK?ig&_V&Pjh_Mo%b$Tw2ppguE__Qvzs2KuDCM@El}xmJ6^;Tg z&}K#7&;n8ls#p8te-zyRnOM5x zKLzhlBZ_W;Zq)k!0j@njb0xZR`%1dDE6b5jfQ05Kp2Q~LQXG*@H^-RKc?3f zAfulrD9gejT7g*{7CHygeBnFz-?{@-=sDE+? zwLcB*XY~I(><>2sI`Bh~v_7 zv3##DYN1ArPIr)T#uZa5+zLeX@zq{EqbsY>G^&r+}kVn z=`{_RRUY;(EfU<9Ec#UmS-5}cg46s z*-7;h$z1vx{D?Tqc_w4(=7uHC?Xa9vye%;+)DBlbFShy(2+hA;(eKOE9Nt4Y-4uK> zwB0pk=4)*(4@@0$%?>Bn0Jxmy`Rgo)YkxXFxWhF@#&aw4^Ro{ZSI^E?#+K&OqU|-4 zG%z&|R)~wT4wDz#bRS^J!d=9%FH!8!AM&QTIuBWu4aVtraEW7%iF6I+5hl&!{TE~j zMSt4M*t*6OHz`#KSA`Xrb|xQz&H5lmLN{wfZ`~1w5}1_Ukj2DqatPnK!PECinx^9S z4MLZxheA9T4E^XPlv+^-?l;Q#?DfO)F<;;rUaCjcjAcY19M@{oS&^Jl>_5lNOih68 zZiRxcIV12i2!NFbqNJv9UU34N!$;X)-*?9_xct7^t4eXuog?rT*7f-XM`xa z7-d7&5j+&&LWg3A0}gZh({|bYb2H(%Exu3T<1(FZl7B=NgRV?ne7q8v%feo z5RBUF+0+!sZ9!CCuQ!=>pxvsFC}H{&{NFilz4q2ku+A$)v83~>Ychg7s7%Nzaf2lg zE>!y#9?I|(o$|q4uzE}hfBFl$4HNask~P(*d)SZ16&W?kMO>)4hB3WWeVdEeWCA5K z+;N*jk?@e9G=^cf)o$Opb1O7-^VaQD-0F(Hds%Zwj#wI3VqbV2QJ-HP_;ry{=djLL zL=7*{KWa4d1FBD3CK%BKjlFTTmAteMKG>pIHE?5T zE=0Hl3Hg2jS*Iuq^}0|y##Wqm4jO5U?%^2Ju)c$RgZHR`EHl<6oRd(qPqs_olzGu5 z*N}w_n=tmObr*Z#o_VEh3$McrC_q{1Cyh3 zk(@3-pn4=RHe)!EAO^CtnJQP!VA6+ET(ZF+vc<(6|M*{U;trd0z_dZs6;9|I4iQED z>oM^6i1M2w6QaaYZ%+`2P>hF(EQ%O`r$L-RL&5PBwncRYN&Rk(Q=wb3Pe?Y!awtCk~23zL7NWlZVyZflr zzIJTyJ72|ezWKH95)JJGNYjD|O1fOyK=%*ZGh9d!j=ei}$9<=l_#Un{)D+?cQxESD z`-g3aAY|7q)wkbnyTjVUu-3LPy`KA7rwLpEJylP>ovYW=g#wq;bPs2lnx)kvzA2@ z)g3w^i99AO&NL>=*-;$T7N);Ih}#P#hlDpU8Bm6V8^dWPX}~4(?A2%GCqDPqGs5|4 zt%M=3l&2>XgNJHFNj1bNb0Pe;WMW}t@l<&prly53Ti=Hqttu^%Xu6oQb_~xGHp4E7 zf#1`wF~%ItvU6uP-XDruEy=_f%wkGW(P6n<0%m&xgeT&GNG1>byR?q}UR|7DED^BV zQ0Up$yPKP_&(@L)MR%;)HF<0&+(Y_T<^NW)M)KeK<`+i!y@!#x)aeCFdp<0!M19_X z&+7Jh0{&{uOO|poRw)}_La;i8!#u1X6WDP_2!&3Wc^|a9uU4lQ_K+=$LQ_F-CY5-E zu;NkduZ-wuVz)7`)0NTrYV_k5K3QAi7IdhS&M?VyhqIv_g?_6^h=aKxjzFZ4cEsgQ zAuWh;+Is=tTTEoMLszkJzQf% z)H)N7_FTHdkeHU|BLaem*j=EklMNHAODac`DLU=T1eH2cGsRy_v@zRgyESB%aiSEy zNbC_cPwCtOWAMS!gJG*#uHc9i=F=dFN+Z7i?E2}|)iZ>GJh&VvIu*81J{}FHDwWDa zKH?Jh@{DcZxh=Oy2j$A3-Ox#B)C#wGkc1-c=xe{*Y0v5eT9eEclXZUUw@4`hBOW#0>56&qu@{>k0)lab|Yanz947U@co4Y$PYki@E~*y5^Zp+;A0gd{QKJ5w-S z?W#ViWj?2!_@~#u|MrxSY}Msc5Bl<*Z?|`0`k}J?EwJnA#egEgeVO^4KYH!X4?g!N zfAu?m@ZUfF-(P#}lYjoH*IxVVr$70L*IxVY|MjzP{Kdy!`wsiY0R7>H4}mk1>i7|Z7Q;`M(&M&5 z!YMHSP}9g7LJ4O+DT8#car$aqyF_xV*L56q3p7n%qA$KHCQdn*$iLJY38jmR)ayd zX@|0_!7YuOzKg|y*X%j?ksR-gO>g02y>e!tQ=_=0yX*Og%6L6OZUbpKwo{{C zfdFt8mGI?LcnFs}Tj$ePP8O1jY~EtEw~$YJdNBP2{3I#SMkGsc5+aeQ$*OvmGyX)v zYTq3kiNv}v3t`?;B$_DYQ$s`fB&Y~S-HwUrt_Eg;|M2C@Cnv%-KEt1@5Qi3V2NM^`NDVR7o7B-LlG`M7P1(j1coD*YCk)nlOf!4%Dug;D@!a|hU|j(k|A;}j0Lq+ z89dh*%aqX3%NK#%CgY|btRS2|+10%1(F8?9q3>0Hg0t{IYdzOcW?-*0RB81ch248Ul(-@Fqh34J_h*27Nk9 zK(ZH&i2fWj2v~@Y`$hCo{px^t2+;m#wC&JbxY}2whBool3Rq&}e-l-g#eWc)gfU+W z{IDQ&^@?Drm|tjVDnSx31Wsw#51~X0ORdCZG-(-SKL}-lBortD!>K^>2m&Af<%7?R zR;_F6Lj*Xs6}v=R2OlD6^)9SO_l9OsKmiGw++tc#Zu)m<%JHispm+*P@E@TQ zRNVgq*os~q8o-54g{J-(ZC`2oqBjD<@UPew%EG(Lj4D1RDPH;~6HNb=K4d^aI zo-;HR+J)*PqwVhpxh*&!9Fy`BH73fyM_yet5G*X9UDH}Z-(dj_&c3=nlxe{R6%Nxv z+GD|vSh(DiIod83c@CFzMVz37!Bp9Se#X)UI$u5sbhL?3$q3!B{c@*!`%RTh$6_T3J zlHPX~9WBwI%&|>)!($s$V~3t6^Dh@h9ym8d zGPzMB<=M^g7c>#qdNQcGVDl6wPxftLqU!_`6ex98yVYpYgZ3IM*qn5QX8HMObF;Lo z3M7-Y=E~vW`SJ4M@$>8B&C7@Tjlp5M-DE_Z%?Dz=1W^qK=tI@UaTsA|?oaB*B9r>k z%w_z+v(fC()UC|S>;)m*uL>l_WXY1Z_;9q_Q%i1MI(AnN&K5G zGyi6rNF_niBgUcI*}EF%ciJ#LrfVsA{zqTed|!-g5`^J4HdaVi9h^U(!|Q`AKCL5# z_o-#`!F{?Pc_4C0ghY*)YcAsYiIs3P?st!22^Kq_tP#+6%hDD7deJ=viOE5P0L47c zvx9xX@IiF5A2~Q!nMmIykg4}`PS%`Ow?TD0-jns?4UO5v^nmOHJG3H4)OON^)nwOs z!|`M(`(&NS$gjfq`Y1E#u_#Hk-CtBtYikZ-m(6w?C#P~ze>4u4%fjwr>3vi>8X z?Mq_mTsHZb=_mKs&Gzf+bA5D4vQDXuMtXWd&JT;NZmx+STRxG$`!W5Sy3;U*Lf>N4DX4+Nps3zBNGFvI-{6*7H z(K}w9Hhbr*qvLU&Zp?oL$-r_@z@jXvN=&-n>8NrT=OUXsOV`Ld()oJ{9=^LR9p^74 z-u$6caJ`5uP}d~!Cb>|>7Gr^D~d$5n61bA zmp=3HUKRVwU(zs4ve{LpJ?$FhBlgw#;W&A1VU;`H-QOK`BL<#zQwV-O-Idx>)eI@9XC|Rti@PzU$zKf=6Y9#er?-GFk0E&{^ilCa=teDC%4uYBw4U;o0lkqA~KVNh}moUkbO3X%KX z`xc@`Vgb3MguHlpus(g>H#RL!_j$0oNMcMHNLtd%MQn5;x3t%XO;(*oH!E2`Bsbe~ zo}C*0PS9`c9dO26tf}?DbZ@TRV0gC++vVJ45i)OoFZd2Zn8Ql~_YDjwiyF<9z0AQZ zJO%C#5sf@nTo`(bf@FHQnC_dH4!kIU5U8V(crrLR-j7(^BC>`@-z!VkwaW#^1O!b3 zM1<^;xpy}y0FmLqVP7^*2<&cR`j?#jV0sc7R%4h1Wh!;5rmHjRbK9npI?ddOV} z2xqfc12%W0%h2G{a^>FHRov444CXjDOp1ka1o#E(#x4;IqY7P4m-@`F$tk?{-yL|! zpdiN-MC{4LuvNv<=$rNp)X8z{cU|6I}kA^4Z0ScL|k-A(`q=&{g?khP&gT0i> z3|9)lA;a*HceFBP_bgUM>q(JoB79Ay3ltQQiLxv&asL-v?*S#pd7kN>-Ftm>?UjAj zwk)k|OQJ~0vPhAlNQwy*Nl7G_Nil#V00IPwjLCUASBL7HbIv(U_jH_&Gt)ge=NvIP zCkzJp{?*`mz4z{!(ACvd^@r-I>8IZB`(CQYW^ZHDcjdL=PM*bD63JG!s92=RmIQyS z?#h)2ZKD?&fH&3BO=A20%*Zg_4SROF$Z3mCD(3N7(S^xAo>Zc7M5FO&V_QoB1a7*9 zTV2dc!Ps@$9iF4K7=1ZTEW$C^#zYmJmkx%TgRMgO)M2JTEGpSo$h!zirrXfOle6h2 z5;Oki=OB|{wTLdX??oKxFch+vHw}91lf3v8T1FY!uAnC-Y(~7jX z_<*j(+*0pN$y1t0RFahV)uC2(N0-D-7S=3{Z`!>?H>@v|!0;Y%#yWJf(QXb8*;tM6 zgmV|x>FlDCsmg#LumAdaOHmXql{JrzQbm48Oh4A*GXZM@2&0k2I6QNwyRLJjJ2gLW zvtw^0y(3AYh*&xiRekYKf2_grA=QqHO8@lSrS9!XoB3PwSS98{UP)zjMQLft*-GH< zT~USpHt+O1$B+Ht{g+<+w zYo&Cojc(qj(Ho|+@h;Qk@_xDR#K_W(2_E0y9?*F@lYZ&cLiZ~7u3&Tul(uD#9EwB( zOv+8_mrOZ>5EV|xR05&d8+N7EcBE#I|7?otWWI9vjSrv?fBF7%KmEnqzkd7!3{0jE z#gYvXZx2KTJ`5zAl)KZXS~N|jP2C`7B1&ffz16$1up;VTj;)jE>(>WI`^f@yVSYNx zA2)qH!}Q)+*OOq+%*?_O!*E0#*f&yQapqx7&}Rw)zvb>A8vXtUj1Y+Tz?$%vub@!P z`+sZTPmk8OMDO3R)+bdoHKfs~mDKwb5s5ERsZyPU16veJ2MCD0*yp)u1)23R3PYC?74#N5JE zimw)d^n$iQwrE+UO~t0TYg)y4_a+WYp2xuq&du$SDQKIVIYm(v>3hCLDD`f#(dto^HYF->1u>{58FG6)HkZpEZ*9mV-KL?gqDBLYk)Lt! z`WmsQBD!a?euV3+#^OKz;PNN0zVhxRf^L>etWfAusYo`Pa>ez@gf*M$v{?J%sm7o+ z)gIr#3s^EXPfs7_rIln*;l7&%@3~rgmyFRACEHA!^J*o`^>On-FNwIu*d74fg+Gem#_l zpF}7OKpZ%EfaLx&%z`9TM9Dxd|A6owav}}I07aAj3c)?3HWacGQdF0QIN5+6=2}G7 z(a=9c`Ucw13Az9?!6M*UplSatqES9flm*a=WcE@3fg_-oV_QJOxwu*Yi^$x7U}A8f z+&zQb2sqGRfCT}05>hC|Lt_T{plRPoYBvaJk|wCVadDe#T)Lj9;x%(;5>j?) z3B9^~(nJ+%_#9Y6nSkwGY`Ot=a9yLgOO{e*Wwyzt8~9hgvMC3%NhxBIOwNVWs-c@VWtvuK@Cdt!u7I%u2Crv#R~xXh>gtF3Y9`TZsp;5| zORF<)6N$h!oCGZ|?(WnrV+b2NtMN)gai=pIZB26egx4viy_>SFQCgreF+^6b;4@WP z3b~hycXl{pbwZv!+O)a3zE6S`+_@utyu%gMjF&@hZ)K>h?26KGK3@nU1w0YAHyVRj zndNi`>q&GPoknq}^%%vpjOSA|OJU#QdiTm~z|rkXtPQwEh%kMFtHo-K{$km;$hx#;w;b1ISYqbUJ(LQ~pp<2yLsI-?$>E#g;LobJFi3u_sPhKs{ zD~uJERb#JQNiN-9ROwo6_jcf*yZq{-$k^tkuimD@P;8Lkt zrDay25F5O`b&1Y+D%!3{)p=T42CUA8baO|9WA4gQ7*x5Apt8YT5n`d>l*`F9`ym#L1>EAcmuxTSF@c}QIbdJJMkZ=9rGv{G^%u|Ws|46QR35&^CUQybu0v@@N59?>E$f}A&sw(=S#)KL znvP2Zql&siiH$zeK%fHOPx%7D|zR0a*6SB5PFK-C`1n$JNd=AuVPO^#LuI`C9+f0{pNYS6_5F|D zf9LHlPJMYAax*k6iAYXV)p{XjeqI5eex#)_qz;lUEo$uV@6OH#11@{EGvKl^itwcp z3Y()3*34=as|v^t2bXPi%ODzgEj1Ws7A#a~iR5tSs4?IP4Xc9}owlpk@}=M!mRw(Y z`OIYruTxFtT>DB8n`hY1oDO__Dd4zpE_yek?p>S8B|ApzyfFfy2&BZ)_x1@uaPtrKB*1zLD*Y3`b}! z>?w+IXGgd?Mi11tO~aZsD1$aqnS&x?rq7W`h&Z;o5Szu~eRBHBC9PZPPl-g#o+>Do zhO)!N3cIfWCnqD<0FY7!zVT%ZjP{x+0j9z*(WSI8jZEg zxwtJ@m^jObkZ3H0!{7Yk-~RRYeo!?RbecPRkEEfl)DX5!wK_8~Ju=kZF#=9@lo90F zRejD#6+uNClBmN@s09R*>j&o`HkCEYmurnMbZ|uB>qJeqQJpU#GcFCsT5DQo|LNpzf2>5y< zlW)|RM_@5oXi&37QZ;I-2TiQ3zudPuD1iR-r#A#|yjeCnIz8U(8C}KB2c;55#np0h zWmPdsp%%BPJkUxfL8^jF^Gi8w;|N>K)jB%sK+a!7s72nCa)IlB%~cQdusVKie;WnN zg^{9h&;}&6B$n4xv+1|tz3zCgw64F(Gf569u~c+xl0TR3ZE@2;9jFHUSZ8Cpxe-1+ zK35)~yGH%fX1}*KnQ3TfY943`78Z4kd-okufo4;U%Xb{LNLbwjLPX(LL_BaAT+XLW z5L}ywUWiZLxjQ$}*d=%Jq!W2kW|>iK>gcb~ULNjc;xQaq)vsTK&fwZP=EXHRi*ij- zart8Y#c$7pG6)Q9qeP+uny*N!p4l>WRCe!xh;)sbb$#M!Wy_L;eN3mCrK{57w6!-) zBpcT=CYv9U^RG|pwnsbCTnnrA>^r~x)zesVp)D+#8e>k6w0i z%i2pWI!R$FMMoLG!%`NhxiUo)5AbgFbZB6L1RmTImQ<4} zDhoe(_Pr;cgJ@V4m_pJ&Pboh?|GT=CaGZ-3{s4oyooqW#NTyj10LZ(A=88kPoPp~fA;8`zY>e#2M|fdwrI?Qx9*r?9(H}} zAzWTLkemXrl8qLhM3{K1OlQacy zo7W;{QefB6{2zb(gMa)fekGt)Hg(?o<+-JT0k*VF@*uUjncPE_i}=I!{gjENAtneop`d&jU@#-Daf2W$ zS9F3wEVYDd^;Rl9uRB{(U6_Iz2E#)xms{ZVL-AyD)~D|tF6nkMXxKB?J~@5v*%x0u zUPzPn$gSlG^08;%`_0qOzxv^4f({~sEY)WswOxsHO9hb2-Q%Y;qMy~6}Z zE;8~}c1}Ov!KJ&ssU5!s-`F^`>F(d4r|+oxJZuqje!_Hb^xov;kv&11NTDcDfeHpCijic?{|#*sW$^s&v4z2%{l2s6gLAKf&UE#R9h-;13G=ozoooIUgLb3-F)-Ed8CC z3qY;haFD^VzYCuQqvPV9MCJeiMX)<4Aq-jr4>=L{VP5Tb$cywDD4-P7_aCxibxxmU zfRt81$6!~`Q#_EHDZuOIq1;GCGHj8t1E8d!9{CUO&8wi~%hA9poZ!0mQ84`?gaKoX{4{|=mPJ4)zsB9^IgQhysZ;a^9vxcw&?uX z1BdYJH|!H1!*1=@pPu^Ut1iDW?5GinsG|}Rw;$N0Gdc9C`~4kK0nF|178NWC>Tc-= zMV;1_O)=%p;_Mn39_!XX`8=VhvHfyL{{v|U`X^Ps|lUf~PJU(Xh z1?##z`%r<}bDpJeW$2W-u}&#_{4&)qZp3O8oRNrcZ`=r({m^AShd&1mq1QK6g}mvp zh(1qwtx-xSDy+sP?r}vD0ZbDrX5sNQet)fUd2>Zn?6DFlH=Tm!#oO?#!KhXXq$(W+ zI9Q7#{r9(T3@STsOPsEr`qsIH<^7vSH;(S#Cf+`zk?(-}=r>nK`x{zYGAR)K-DOoJ zMnv&Q{Zh-!D&){5GB^3Rw6s9SVsw2^rFFX0k-7tGtFsnOy7Ue3e%{uF$5yow-prvG zhou=9%5vM#V1Io&(^+FT#w{ut@QS4!%#JrM^o6zT1*6M}!IU({2U7HlC%$1S9nM>V z4)v8${;)%(W1aab(tMGnDKbJO#jqt%Sp{Jx?JnS1CLPwarjWYe#h3 zFgesx-#$biTB~Imh?Uo+#O9@%24lx&!Y{ma>+T&gU8PvkYh?nET9p<49Z6(V2r2m@ z`T3HHZctYq0#!rFWVEQtp&c3q0Y?)xL8*+#y%wZVjc7{DXNv|h6CGT$u3Xf~TAyKy z*}HNZ!=@bq5jiEp0#Jl$-$&x#+wEcp=|z({#1$K-HIe?rNUpn{e@PczHp7w=MOV(HJUnRUiJQB9h21Wa+_5St2P;R z9`tzT6I_jo&A)vEzQ4lY5T%W5(wYWE`TWnP(CDp=o4cbN%KGh@!NRn5Et~G+9ucXuAwB?I2hZ9&~!ni z&`4U)q`y+k&QVV?Uq>cfX7UNVF0u6P;%%fnfrPoMi1q>ugQWsEcO>U72?(@hM z10x!p5`2WZ+nH8MY3%kauY6pR+*S866T0<4S?NSeSJUN>1Z(SlSZg#3M10_9%VQr7 zLCVQ!Yhul5bTO_;dwLjE)fQaqC<;h+j8I;~3TDCEsA*Qk0_LbFD)WfRZrILnj!^6R zgnBN^Gd7@|U{=}DJaXlQ8lD*69Ub+%y^%KS5}If7VuH_S99LH*CLMxqZ&1su7Q2VL*)3AYYL zH1s7~jSXF0nv8Zth{a!D#i=dUyTWdBK{qv0eJ%e&-sNn|HJTCUMwOM9)<(-Q5O&BR z%o3Re@o^Vs>lU$Ua-^%vc(82fchM+JU43-eI6kt`IT{7NUO3VnG0RPZSJwA&jjMb3 zzGV&)TDtGe_Cdn5LtkWET8|$ zS&(5+P*75ZAI)#+z_Epib?L=Txh13tP=9Zb&L&HQgdQ7cTsMR5khk(@q zlOdwiZ4C7^Ff4YQK2XusOP5d=1q~bn?8RwS1=_dXYreJP#WD|XU3VlxC3E-=&EdxC z_Tt>=*z)k?M3cHTjKf~*t4fYcDzbQUD&1w0hg`$B?Hk+o#(*(5e;c|7-G>D?DIsbF z#Z-tA_t?UIe9)BaEX1=>93S^|Vg8q&e|}07!q3zflB?A3k~tcsx+tGA6bLf+gQ{3p zdXMh3$yO(W4APh<;4%6=wzf?8UWakKhNn}rg$vE-rBNKIoaQEB#?=_w$+y2Ilub{r z%(cVNEJ*YS6o@*xEMe6mv77=NbX!9Gn`#OXR-r+a5}G8A=P7s!S4UkmyJrnGGsy;5 zN2b@}NM_pyk{r)OavykPh|nN}V^tj!c)s|QCi$EP$*ZxPQGd%uV+$r|6PQVDN&Z4( z$M773)d$sA6A$i-!8qh^O@vf=%Wai!kkttx248;r@8Dns&(w0_iNz&A1 zmKRd+4TeT-%FU>zU<8l_;~P#o>e6+YR63;W*O}vCRf$ee46C&LgP5kvG0oZ+&wt>2 z^RxG#c!$wtP*z$@s+XRB<^_;*`b<$i^m){7({9!`XH}fQ(wc!r4&kEHFjDz`fVI6} zwGhr&dM(L_D<-a$dAzU<6wDWB3p8q~nnkzt%&Y9D-(}_h?pHtg>7^=4i77GP8jdy& z*|u>!UWkaYEeFH}LY<5v3jM*A{o0Y_t!hA?ykt3_+^diN>fe9+(2Ske)7qeQr^Kj6<6=go~Oc?{Y97u@q&TNfBE&l922Ld zq}%sdwA;6qHtn}J&4V5qg>A}qth?r?w>!t;v0#`)yCdWJ7_{A;yTqogL*l~nlqAuk zNJFmVgB57UHcYWBA2RgA)OgF@`Z#BBCn9xIi8n0p)a^)$OB(oAggSlh)E6(j^YLG3 zpMUvnaWz$yv_l}(KJ2OYF0Sh%(s`j2saFiX#0(?3&JS*w(db)hvBMudNY}x{8a|KA zR`@K*;SNsRPjlLf+ZM!5$qjj@F@zQn(-Fw_{wJOHwq0n({;fG}cQ@%iJZ|3{9iATS zZ*CiFU!8A|Po|k7c%MGKvg#VA`zDv5)tI+Ewn)5jw0D1z1YDN)@rO4_oXofW@)EN0 zY>{NRSQDe#@~@Qq@uSa<9ee+ezj^YhKm6g<*NQ61>*Ky&<|1$RM)%+_n=D^TCq+9J zr8nETOS2lq*T-v_l*LFg>W+qL+M4SgG>Uumrcgj{9(END^^~EDh@R@g-Aw1v&t@z%|11}p&g=%@>_puv0kbBX2@7w@5R^>yV)!vj)Dv6JV~1YzKBl z9)NzEyWj9o$we5B1|}JqI_7usGYIhh5x`3Doh!x!765f4O@RDpU|0kmkUj&XMpzb5 zH&B?tQF4qk2pNh&MsRKw@(LBm$1uRzT-|E`(V#+A=R@HBn4cH%x#Wrks%?W>AvA z>I-83iO=$-))QZ-^_klK+bCSom9HCJ@(UMOUwlk)DK37K|IOE30c*rlV=m*3(P`9B zj|>=Uvkz~!XT%~ZtGi7yw|aAWUhkv3R%hz#LG8JQ_8|iK`h{yHc6a;z9UN-Dvr+5X zfyU8_wd6Lfkt&3djr!|5XSHItJ4%zzj#?g50^7V zxX!{J{h=@^=j5H#F=-W0Q|apJmkilF9q-keDjGQxRYfSYna*aan9^EnUB|!?OU77j ziiJ7Bi_#Qsqg%AVQEpS0^-?vDD^~+Mhl7oU2RFLO@hz6sof?>%?w;OUKiEGwI@|^p zcSm;_R3dbrxxc^K(L1s>zhF)J^vr|WNRZ{4q?r~2(12=Y*vuo}>VRFH7Ji*hV^TV5 zR@{xJKm920PcQt&aT~gm?1k#v8-V#PsgFXHa@ph|ai zx*dw$8fmc3uJ74gT8mCB-rY20BpX9YiJgvT(Mh+b)-oOKK>}fqPxI55R63Q?u?Ji{ zX4Bjn`}(1c= zs#-Z{G@BT_BdQaqTQaLqQu;MV{`Gkk-!V?Wn!CXTuu^In8{oRPpt;VaAw>m2c!m~c z-&0zfHo111X&Fn4-_!PDOf~E|kh6C~Yh^O)`EatOf3MCwHoQ5`U@ea(h0(T|Ys3L# z<<-`nwx$4x7*AfiWVvKyQ!m!nIO48KX@-G8K?y=Be9IK3Rkd7gYysEC{A|<3%f)Mq zo;IqcuCI+h9I1=JO@5y=d*2}&Oy0OTvvZ#TuXyTrdm~?$7r%A<_~&oG^_K1UTW`sk z^rWq?t|gL4)f?Pf+W1(MK8R|}W;$|wzC!tfU<{lnbC6I~h>Wl-a z34dmNe_z$WBhIp8$$E!~X$<;rGU#HMz|asnR5hfyh@MIyukYZ&RBAQc zg1=4}=36(6D=I!#Hmcm_G?VI&CJC%eW$z%3361METL2mT*c3N@YWH0R=F8C5UEV91KXni}$A^jQsE_|1ZHMW)=3s9P<=cTV^!WP z6q~B6{cSCaLBsg$;vkW}vOMN*Xq_*|b?M2ZquWP2<4ZS=dNJkUk~)LBdbG8!r-5Rd zQF2*O4~$kg-uU`?_%?a!rc|lG?cODlSvSei+A?7*T5p;6hC{@NLPpTHlgfMhheIZ- z?k^unS@s*li4uP0$@Ax~UC#R|e)7agHIvn4>vl&RUawEApOFMdVw`DAe{bK&1EPZO z?%*1^T&ekp>D7V69pWTuMjRmGaM|eKeDCBO zR724vaV2H>oB^n+Tp-JGS#qve9E%!8Tdw;XR&O4vn)sAOb}Z505VHO8=suMrq)`}Z za-YIWOz;?L+X8!?RdkMPs;_*|bkN>vPuH^bgZ~9a;>!`m?2T~fz#=ER}^svCW?>Nx%2+~RAC}ou$ zU+uYcweq*$mK;A>GAdc?H%h9Wc=P4Q{_Q9K^y5b=uE^4BZ6F!A&ACM8kZPCF5vq+m z)7|UhVcUEmEx(psu0wYS#P5wueCkZp7i;gZLP^T_4x~_RDB0mzzpy>A#3Hg7yn?b) zOmXqWx6VCZ<@?pO4=rJzueyMeY^9DjaKsmi+~^uqNyXJGMP(NXt9{Or6YszF%iq58 z*uOpg#P42s{^{pmeBq^Iue@~Z*ds5z@XBkC{rsmtJ@)7yj=lKgZ=M0{`^(?_`j?Nq z^5oNBKJ%r%ilHlnWZ!TEXWuK|oflBWO){Z1o(fMS4&?O;u_hyvFx1mmYZFtIc9+v; zZ-?6G%!}q;r6bweo~-Yl?20oeQOVrN z6}d4+D5h1MJ$=p~+P=x*%=#Vltb`;1E^`pP($K+p{Ht;yhp~D0o-1H+S|y^JcO9Lw zwPC3+paB1ADffmqvR$3^bjlquGe~8Ck4ucc+YH9$aLm~_OKRCkrC0j5LWy~@a)~@W zK1~jE9q#N2N0)p~Cw*CFA;xdViP$&VK08tH#h0hQ$UFYgU&=rG^5n^i)-tyq(zK4% z)#@0TF0!aam$}2|4BP<4SE!cS#RWyfol_^@J9qjlTUyKNs-tgP?U7Epo~{7SwXH|e zE-qJ9wWJEkZyP#n9`QH$`mKo@snGh;!T_2&zc^qU=shHpC!P4Jg_YUKroOquEgGo@ zYH_>ihnow#6TP zzx}$H^!DrLzxw9gcg}qC%(It@ijSs8d^-%D-J*2XNp5n8?Dkai{q9|}TL-d+>5?wC zcQ7tJAYETtS$zP}nC=8gOfdukAob(2f&y%GmxG)rY_7AVW#ujSRDtE)QD zT@?1I(W0_e;XnA#2oTB6A zNWf=X%QR-{Qkz5ths=d#q+U=XD#51NUDugQ+E}Dr5od0a+JloCrINZfZM;9ed-*eb zNA$k{>Lcf%0{{nL2as?Jpah6&|G~I_mE$lb_IrS#5Uv4yi$$39fATFz3(Zkw4t{7z zi5~<@r~qO?L1ciofKqZ~1AhM)IaH2}5TrriCHDXp89+AuE94~%1^3TLd@=$#fZ7lg zM3%sAh=PkSC|HBMfJE?82uO@8QUeKW1C9@TZ4mGR2SwaqKrHlM1K~DDaaciabVx)p zU}_pL`Jv(eA=hKj38X8z9l^@)A$NHT|7@RdEs2K62%}M46zk)Ld zSoi-BlMFhF3hU zDD$5Bs!E%e zHp7?ZRqPOFuA6l`*`q;s%p>cRHyEk~eVY94F6#b9?`$k1&d5y7kZ;&}+c|Xv!XgMP zk<{sw8FoiUI(C4DAtd^45;0fBHT|Yco&#sM7e7 znYBuqlZe69oX1;cXBl^H?=ccbDtD@>yJL21v3q`X|L9;FA|4R;cMtEZMOEKKjj`%0-+ zxrTgWm)XS@@jVmnWMlsDV1LVS)-OUEk`0f2|KCbkKl|bPn96b(f*P(~+=~!f7n+@k zg|%&?Zl1;NyRp4ziO{)src<-A;h7HMy&DHjy-Qvk2_xqQ`C`Vz)b+MQ3Uy_rzdDis zO<9?~K7IM>wdf?xvJM#>6Xak|YcYm3^kBxQr!p0C^73dcpFtw3w4k;oWtv5tP+RUR z3=0HE6hc8)OIRg9YnE%TRO!u5F{bij1l)OR)EFm44IFB$!9~2&a|0g3bi{5<(WSw~ zp{T;cF)6S|$`)^9H)CGu7vrop&Uxuv(pn^17o!YP(*_+&BFIVXX!r`$Z)6noWUqEx zlKGCvm0E&bZjuvi=s_YXr0FJmT~M;B15X!<#lw}Dt7sNqh`xOB(v{Nrng@4)>@=1% z4(L*8dVk;SPJG~jd1ZhZOHH&j2Bs`Ns{wxZFPNYF^ruf%UJzY+^G)Wvuai%_2G?)x zu3aDUv9_A`voO5a&ICpo3ei?FIZ8^g*>V|MROhzA>r5`2NpHT*7=k?hnZZ&}eB=0NHDt4Q`Zk5kWB1oK6K>IUB2q(jKy~AMw}C8;#Ctp@m{KI8RAS`jqWs#8qB0EIS6tr24~A3VVoERwVrG#|5s*+B zenY}uTEXo0>O3a5w~pUmQp$Z6lGt4Ys#SaXsWpmN7QE(xx2y=X5 zIelwJxYt5hKj_$Q?h-WQf?9u=c>yz z${-bjl_lcOw8StWYn6*uTGpISe#$YRa$USeV4giuR8c85F=SSQMy24g`9X9&w)j#F zjlpCIxB`jOqsMktvgu5i%A!-5n2Y+3!AeT;U^(5b(9u_?-aQS92-Hr68e5BJM*G|P z>YZ%J-PrWY?>|lw{p&w{b{M?=7-w1R!NaXRYn;wMN@=rA zqg_7M(cxjXZ@30e!m9;gz5pH?p6$FvWvs4rR)(&9RdSJE-&%nx^A6K2D;TwP3=VZ= zO0nFb>oax}jjdLZS4V>aDh^Z%ZvWyhA2pEjO-0xId4<-i=LvQ^REm|MATG@p!mwRh zs|ZtBngrK@j8NRlNHFmvQvNAVa0S&@)gN5xAoJazzys68^y-NRoT!giQ#ma0a;x-N zNjWp*(U-Dkxz$F8<}QaOl7=+Wc(N4Rp%=inm!Z2I>*Vwpc~)3g>6-c`t!s=i)RxC&h^WL$ z23>8{!RN}9#ph3dR(;J>{MqNMbLW}oKWBue=f?W7M&eX>x~2-#8LXD#D+@lSmT()Z zy%e5Y!4bQ3D)cB0c!lBW)<~m}yLM}vNK$H-P&hkZE1mB|cT?hUIi_K7elXoJK#u!k zg#L0&v9PNx>zg43+O~)TM~C*9IL2fIGA>NNq&?|PY$O|-K|Xpgwsen7=L=@iW0d<0 z9m&0n!>lSKSi6hmB{d~1)lyTVgv5ZV8u?3^rt?Mo={l%(P^uS$Bt>IXBf=6c@CtP{ zoyM$pwHuxC;;`P{Rvc~as+5Tp{V^w@d>}c}94O(?4+m(>Ixh`H!U*9S$Wx7y3=Z-! zK!$)jc}l)WSIDJaBLxVHo^qz}b@ceZ{^Tc*zV+;fuQ9nZ8P0S7HF5g9;G5lnm>AGrsn@LpJB0WXnme9`$6^F`-}gg#@xvee@W=oBqaVNcv!9TH8*QOzu-kUjCu7R0(KUw#Dfml` z%2=&=GK)Fl#Otg3O3N2RvP&9m=MClPkRMti&l|h!x|KRz>ZZh$GK7zIS$C!RJw-)d z{qDoZfBtjB2X9o6Hr?u3ocVX1Fxg?g=Ar4jH% zee6L7jkKx-|NkvIqb<`MfM&2D`(G%MOT-G=1@}5Iq$h6Br5UeB(U&ZPt)803gYL0K zXnSpSV7|vM(T(4}57`v8G1}6CpjN^WKubo_0PBNO74jG0)7s%7U z;gz*6-)nB<93I@v^o&O-G@?Ng6H6HLODo;?nViMzJ@S1CFRJNlT+rCX;a(af%9K~)5px?oI20^^m8q_0OjC9B%Y5U3N_%Pa^6uwps5; zgtHxo>fteH4w@0YD7WPEIZ~p)=B*K92@shvem1Njk*XoGWZ;}P%MKKmQS!>LuU|fU z?DaQ3{POcJ&K8t;Z4zyI=3QvabX<@MAwV*UyIw+}Xv$Y!vNsYP^e9^V% zA9?(_(=|mVjNaqcTl6A9d2bo0r(NagMMa?c=E*q}a2f0=D2q{K{O(wBqLT5+C&$lR zyvDjzj4nurYTx<%*S~o7laD_<{ms`O@S~Ge^$W}L5W9g+bVj_iNlrr`G&11}$3!+= zYt!95G%)5n$WF0ukrf>827$gM6`<<8A`NM-BhGEiOq=;K0d3awV0`r#k5tYk5VA$o zH>8*nLbgaGD?+t@jc`tmzz}T~VKLVKO1MR&+Z;dw{-FRx5s(bvIS}Xyh>?d!l0pdt zK1ihnY(l_F`YU`R+wX7GiW3egZ=1-(IZW>9eg zv6ThSsi4#|SYQFA5G96TZA0{ zZ@{WRj(rHWfRvGO?R3)35-7zdLhO?2nOcazDB5A`pvcwcxBH z_fC-M1nYq;3^I~)uOU+d7XBCHg0fY)qvhVIx#(o4*D==;2tuSgcXuTmQLVJ9q&WSYi*(Gsij0XbHC5*iaPw(%zEnU{6Hz%?cNsk z^X|EuiIfS3$0rjkIOq2iriH$aZmRfhXA@TzE|XfTs?x??PTxeY-0o>nA9X<*2fIzK zORZ8EonvSM1s1S7`v!=7G-0N|==gAP00;orpc@v=~`=@ZP2sF ziH=$ONR6|YfQ8DV7Lc2$TC7p}5&>?Oh1In-u5lN3XG;%`iaXZDme2%VW`|tvKJ=`KB5g8`1tVs1y?8VNW2#9|y%3#kOD!9$Q;^1} z0r#xTCFRpI6EN``DX{j*jH0TVs_7gWC&i#Z0&#eRL`L_t1p^wsBF@8EXa?XtPVtTR zTFtd4ufBDqzM5Q*!j))NtgdUfYT8)D9%_wKs+p3nPDqR+q43b9qHdp;%C6<}{5s{N zZcy0XKMl;NQtHtxq;WIiLV=^T5S{5p;gNz;$+`?#UX7nFbC}@yR*HU#mzq0VrA#)o z%#ex12%bYJYMLx4DeqssJ>FgCQ#R(6p(thO5>npf;;!pDW-S5Y3wwN;y27(jj5H~zQfr6!T+fwv|McN&?|k(3pDw=f^6AnG#mC?O z5ZS5`!=ge<69}dntLEMR@pT^VU;pJ-AAtxhCPa_$hxk0JWI%Tc!t7aEK`A!l`W>v^%T_-~HwucaSWRF=_d-qW>4ZFCXLb!}_07uq zW+>dU%72wcy~@$q$i7rVlZ?q^3soT^I#25Zu7$iINxB}6W16mH(@}btw+M@eNrhLx z#0VtpveV!4UVHtIud<|KR~4ZcuCj+3sFC5pj;x!H>QPT!kNWV082PH3j``xt%H}S2 zH&>(Mi7@!}=^-3?XrSMarARC(NmIk1;yq0uqoB#8Hm1nR zj5w{m_-PHK>d=S9^_Dzl*GEF%;Jp)d$?zGHLS)LCDx>5JJdwyTtXa-6XV*4+#>Z93qE6A zNqDXe8saK=sK`L8v^zL=Ypdjf539!i;l)&%K>V1ZQASX}e%TWBfw#PR3; z_^Y41`oUwby)TP2wDu(Yx-WnHkN^0?fBeA@|Kacd{-y4C?Ua*<`D$r(}Gsv7+)RZpaRu(g?R z>4_JA_RB|p@yF+$d+m)+pFIEO#jjbw_gPp?DL3Yql1_j4=10fg_~4V{U%mG97w7)) z+|M5Sf7yBq@W!(2-uKH(UhX7wlME$8NoF!LJq?9jjng>I-POfRU5u_WqxguKnHekw zTaqQ&mTb#1Gc$A9F6OGYk6gL$-TS?-Ecxi1%||8cx7S+#^`}i+wr<_L{kiu#c7%{N zh-$R_Ydnw3(WX=a8Kj$a3^5Jm1#x~Znef!y@9>&zH(%gw9*&aW+@p!fJoZvCoi=)h zRYqe`9I}u>r*-mZk-H@J^mLS#-&FRrm+oB@JZ-A$#Hv>)QE$_uaJ@iA>PEo2OwcyZI9Cy-8+(>~T;pYnExDbF5yDmqQ=tx)6O66Xu4 z7{L|+-B5oprUF7BT&d;y$pZ{U_KiG7&jnutr|fvim-zfEyYX2cfBMB|-|ySIGdEkx zBS@`n;2Q+VUJ+~+s2K)vPv4_bPg6s*OijtH;x#tuo!7FYC%(rX|KqRzbFaU~5ZCzw zMst4tU|VZJZe2r4*U9ULECvFJPnRisvWbC2BPNw7Dld}mJn_Z(tUO8q^5d@%z9!_E zqpxhTpE`Z@R2CC5%`an$@FE|DoQXHNN5)wgOS=%?U+VU8Qu6vf5(+EjfCRwwVJcHE z3kOU~#4#z_U8x}67;$BlTVIT6q+%6))n82V4Z?0@@&9;N=WXg1ob!X%aBz!Y;XFU4pwN zDyT)m{2E5av|}>ddwQgx3=D0)v?Vp|e~bM)m<&m2KjyTwGmOY23ZgE60XBj$0fS|_2r%8k=h9_KuxJyoR-^v_ypVwx zGw`qkRYBP9#)!aCNy&ecE*1MnFnG`m43?k}44CkM;H7@ae&7s99Sb)=Lj62F8*l-J z#`FW2nBl-^+~051N^51os|m&i7#_3%a_E4v>C*5@yu@8#d*4_gFf!Upttik9h+Kxd zOVcjwDGde!yJK(AF31QB=Kencbb=EbC=8MWU%}+kg^y|1)c?%2j~c}DLhab z=AYo30?$6(9x09Spd_3q7^o$KIByCNu)?4iU@jX%WNCXX7$Lkl@>@_ay%~_M4qAmd z7~cAL$-3~phF1Y>T!7a8mx!|S$y8efes-~aMrWciX>QSAtb5s}O59S&nmNGNb&c7; z69}1wBT`Yh82mZ3k?NT;kOhOnl=MpM6>h)OId7n9La}|&eNvw+%y6gJ+Fq^)_^U9g zXKw1c=Xu?Y_c~K{y|AV&U+T-f>g*Xb=?H6mh0|t1Z3JR#BK539Y1M5jb#`%vh2^s9 zfrdSOY_9)?R59r9aN0G?ATxu_|j{ds5Y*i(@Gdg#teU@a9S;8J!&NT5hpVrKl zKA0OBSzVE7$_&k{TSF3aDG<>0hiWE$lKTR4#XM!m(ZF*%&3?KJ+g7YJDO)sljg|o^ zwWTZJlxp_M+2EukjEg1x9o(c| zqyYjP)3cLBP?b&R@eocQw?fY0R^f`m(@J9FL!}Tet9scg?9gcBVF$qd9OWwL& zqPFw3o{7|?AYDp=CY)@8-MYeTTAQd~gFhDqy;bpxHPIPq-z{jgn8~tS zKS83OxNxarCR7^MAs;(wYjx3Lo!)=Dve6Ewk8Y{F>hWS>CMDWCOm!GO1>Ukm| zD6PR2U0hG}#aL1bHCtjR)7Wf%*Bk4Lg|Y;QBg-lDD{)Da*gzr6iwa7k83p%gRmn4#)obijS}sQ})#9?RWfx#bYPF1;@O7?JYxILyFR*NP zb@T!Q6i))Nj1HrOOCw0uYXACW(T{)pk3S9?8_hIu>pm^HR zL$S7%1=>qEi}YsJREnumve>J4Rpu!QWq3()kKzQfDoIB^%2N9AZFX-EJmk5 z?=^dck!3fztgi9G*%9ozq?~GttG(4syU!G(*oMc{ZG#1owwS$C%I5^zxx9!7#4%_z6kQm^P84V1YON<|)fiV!=DG6^w*AXbe)2Cr`RPyo<==nvt6%;4B=KBk zE{Q4-igt1K?%plfC)&OL(2)bXFH#O409boWw(HQ|JqHf*W#YX88k?XV z2dgAHvWcM}6K7nRScgsW8U5<6cbO%H5VpT_Ag8aqlapM6MhiGpJ@T?Zb}27YT{%+I z)FjLI22sQ-m9aMKdAgtK@sZh=N?M8?CG~U>DyuN09W9L14R+qq6~23oKPs=5VVq4O zI~93l-v{6C{C1a-c<+%oSh@IQ{wa;yB16~slvXxd3$d#v@IroD|I)(Ruwq&AcmMRt zH@^?v7=lcqGRBD$S*3S%uKz zj<)fZXbnb_gOBuw8)}=!rOmfih>!545uVQzC{4%$9(qL=PdHUkU8ABC!W~EoouXVG zXiguJS#a*|s!oP8Wycd3#FP+OuW$C#*OHKIWw64I>j^6TSVA#+ z4?X|MVz{>2p-oEo(L4-Dnp+fAtH}oWA`ZhtUeEJdk2M#EF^*{cuXl5;9h#1=#>&u~9 zcSa5=CAm@X#SQa?0#+MgS>Od<889eQKSrZ+Zk z-h1%Crae1%@BIGjPe0o9`6nNL@WcD>L07J+51l#GR6rCk5>hU&)+Si51$iRw#mRVd z$;BfXr$5VL`p@glCs~uXNkgpOw#xf{N=}J_f!PHDf!q0^m{`c-izPyZP|9UPtGRCT`J;DE7=!V+0A1EN5hLnWZ+)k&RNBi%LsV9O%f@u@Rpjw)nuV$X=cK8 zCKkHg@YG}O6iAxZ*s7(mlwg7BjX#}!O6xq)r?S$_JRP03;K6X+?$TXSDe-zK19=RXhIa|7IQ_A#VcMnsiJ{t zfwy0p@+-K|b<}{pn^$}(UV2$=Q)U%QTunRG#VMcG=hbSvyGe{xPFDGXpgmjK2-QD( z%poyANDP8j&yqA%)#Qnb3*Y(V^fyO;IC`t0M+Ki|E7-@)9gq>%yi zaIrW@V*>}dfV#Z`=kyei<92_!SRrj1pa2nn@!B1UcmF8e| z%nO>rVnx9Em)2H>bIJgXUYPoRktRmiIGU!VjaDgub;#fW{G(y&f>{%w9>^z41I$bS zwDlwS0(bzr0%Y|v92j&+2P_E3jsk<>&(lDN1%^@xj0MaF3|$bm3Tr|El_{XZls4T0?_NNSz;p`?r$0-ZaDh!bjmbc93PAAxKNrJQksDkL zd}IDME{0bXq}s*)5gr5Rd4oaIzW^eFbKtQtJQP?2AlOBMeS={lg;UPLx=|YwqG10M z6a(ke&4aU`R=O%U3zq=Je+Cx?C156o{f>cA9Ny3X^Q8hoDo_lp!-m5%ctL^T8&m)* z3&!=|4Rb(`F!2K8JM82Pkd%xfpxNmy2@rUV`#J1u4VE}PJ?-~+N4SSh87?$gT z7Zv7XIA0PxuJlylq(xv#Xfp5(U;^7Z4-G8haPR36ylf~<$LTeJ_dVd*0ShyX&hS9N zFgJVwU_a^qgN@Y!y4x;z_I$ElZo5NUtYn51O;1ZrHH&K2Fk7b4%Ov{U)dVR@E-4#UpR3^Xtp#N@hc^H!;l_9;o5U+=D|E6RXN6 z5jMZOPt@Jgnk#M&XW3j84{Hd+29>D1uB#rJ;oJlg_8fMQX`8QV&gbS)TKqmdT8Ez) z8PqGZ4viDWUF-EKT$Pz;1#L68)&{KfAcd7kt+^$2 z_T^Ar>m7+PfmV2cS+Le#1@cj=E}P0tw9t6*x z6vi`tjmA=Y-J@$}*Q`HSVTp9CMAx6+r^NUq!J6M4?H9GiUqI~(Qaw*Tz>rzMPNJEc z92y+4_Sst(Zr*wN;_2<@4?t+!6B2<$#{=K*)|+CsNFtQ+7#t3sKzsV)J_He-KPM3H z3<23#wUH_(LsU6qjvikjG_RSeUr>0QxZ-xo?`g5BTBL2ysCOa!Y_qFUJJixOQeGYH zh`6~?hq<)gC$`$c(LudA+1AyfkgC~yS~*`NU1vA4C~ZtJiBibdVHkNhT(B5PsjhNf zgtGXt%BDKrvBPG5Zf~9eigi9y^MI~3)OCdj^^qv5+9p44eN4Bil`KY==4TaFfdW6| z>%%&T9KTt}UV>WetLr5~iaXw3dAs*P3`b{9&ozsraluTYqnv|t2-+XhjI*s#(`|}B zNfSe&0a3*4z_~=4yR&ni`6yzTqO;Oi?TXk9ypBW@8nm45!Ff8A5REg}X&6PA0cFtD zx?1TSD(SYJa8ENm$$m5*N@{0>+~*7Y7X|)=!%w(Jy6@!D4I-DfjXdrq(2a~%OoMTh zEpN56?uf<~;!_>b8(CQdqpkIN@q`M4|kedcW3k#2~QU&t}-bO z8xU2MEXxVxneeAyl>Fn5|M5@xSbZY`Yr$P+WfWx(F1o#TB6BsxPDHi$*D6Y}(YQ5* z6yE9bM`JXxn9h6*MI9p)D%7?1lpdUdqDd+Sk7KLJY(dh)5p|~^BLn21Y!?~o%2Ksc z1jZ^$)m0UBJWZ)tyoy#u_oGGnlLrPj(G9$39F9!Sq)2XyH`u*FF$*7nqg9xsC(Tpi zi%gc1QO|Xu#@L2+d!5XRue~=k9xRE}w{+DBYlQR3T8gr~ECgw}6t9DKccsP8k&okO zN}`bo^n_KReg?6FB;=|lsi?Uz1$&};UQnxJT+>7tZmwP2iXs;*jX1R~gWLMBH5*ap zWh7NHc{NHwi+A};dr)1SRWX63uiMu;iXAMwQsne82mAXt-0@|gm*kr-NA{`J!t!K` z4lFckFO5f3}TZ=kMMFNEV{rbW(*>|YW?_1G{v#i zmi5IH;^7ev)D(%vJZ3IleEOUwbgN!hZ@nF8Y*j(z7MCqzm*P)?e?v2uj6z?4? zS>ZZLyJltH>{?@fUmPKZwEpnjx&`@s9P1jTg%TnauWf`uEmdnxViqq3K5X${mXPrL z1&daUJWzPx%sYD+6p+tT@zu$n{PRzK^3$LF=2!prtKa3FEe5{FQiVhyl^i&*SGs@i z{)2n=@7s5kaq8%)QzuU!J9O;m-hBtyQK2H`-Oxv5aVk0k;})RQ^&qw>@C6{ zPzNAQYY9t`5Wi@(moPG~5Pm3<@1gA6i7$|FbG>qDP+Q?`_ZUemSJD1+2Y2p0dTNxn zXWxlS#n>}HoIZBySpMm&*|9=%){Ts-MOXP~rWxXtPzp0Zns!OKEt6fK=Anq#(-+RT zSS4d96G0jr%mpb;av)D08CiwEvwYHTpu021F(qTbyF9<7aSGM=u(S(GAWH03A$u7g zbl$#)lG6S0w(9YCUo~Lkm75{qG4yqFp{7hia&p@r(oM51WvV+si9ItDk_}2?HV-6| z8SnMY`^H?T@y|ZZdV5nQznM1apwN{Lv#_DIsR(k>htTs%p0`OZ$j?Avq?xKChdqeH z^1?(6J5eo-vKx@pE>FQc(j%7Xb4M>V*l9>yp39syY}CqT8RDh06UPI-vQH(uHF z#-ILuH=W8dHMUL??ol|remSbfX0ek@TKPmRk0OXX~jn$eOgdLv~{70PC^Dh6IIaKvup z%q4_f-HJdK^xeM&`4*s9hnUM}NYofIzr{x5rD8=qSc#`w5$LLG?pkATR~hnw+A8au zTft#@ld_(NYpmyw^)7rR0Z(x{q4vjCQ)Fb-<_=2av>FNtczY6`_Zw*|Y^H*pI84Cx z(NyzJG>4ztvC`P?K{WIa^)L}B(R{L!s}6YskW)yGl#B0-xz#9IA10HQ<1=c-fsi38 zm9^gxm}5g($n{mB{U%D(K+aXa@q##keoM)rc9qk$eOO%s;?f73m{OIkscF^h9w!PV(_~Ofw z9dG|daboxN)m0v$J@eQ{JKo&>?v9`T^bh&-HGx6zU1O;FL3zB>RMSwA>|WMC;_xV9 za&5bl6rYD4h&$uQOFTW)1)Jbm2VM&eFV{V~J7&4N$_sTd`xo(CcF#Bo$7L}jG%C`4 zVfR-D{_FdUtJn#j3b*sk>|>YT+<6LoK-x@uucqPnKVSLdA6|L&%N-wm`|a+1`}gkI zw`cQ~P5U=*-nwn`=FOYl{tj4z-`erk_AT4DZ`!iu(BT7byz%;hgPXS;`0kzWZtOeq z>He>vuRnVA_#fZd_jz8{X<7c1P^rt;CflOB) zU#_rF@qy3Z*!C)5?$^Hl^3_*g+i@Uc|K5Z94}M>G>dNJolEB5YZ|^#@&&?=|GW49F zUdp9QoP9&G5XD<`;J}`*ITRos_mE6Z#&{C#0w(TB+z9@x_XHTu!ta zmRD|>JYpR&CTphNq!L_K5qE`9QU2&Lq+kZ>durBtrV~_=WOb!BdC@3JTuzi*<#AQ- z1Ey)ByTN{s9;!njDC%K(qbEq9YwgdvmIKpa!kzEFF8cfv>h&3#GtQP7!eMJqvi3UU z7T+tF%f))#k_0~!K~P-0{>i8M>mM9Bos4IfE09TX4}r5hletQZYIUUr(-+&uWhh2* zrEQ4VsN8)G!RaEk*(NN3)gaWmW81rLzxC&XWFl2lo#;eNW58E0E4jn0P%>pA?s64} z$>ubzG%1Z7sGhAcwKhnDD-BRc$pw3~@i|0IDZ^V?)ns6RL~^R5(rzt+ekoImvF~h< zb+>2ce)7Q=*GGl>zx?jw&%WKiH^II_nHyy4`$63FBcY+=k=in-CWVM{PGj6|Q{E_Q zu@)$WxarD(kFCCVWR_)U)rbvNrQNPlP3EY0H90w%V^0S1w5?EblEVgpB&-|+drC(p zlsRs23UCK@=l@WG1)3w4D}}*qijq)pS$FE>sWZ7yNo-|=JT=L;mFTihpU~RTHFH4a zc{*2VEali#ZBzydslh&6wevvSokX5GhGF!Q#FJGRT;|#3d&5(W?8$}Y>Flf-+l#>( ziLuHN2L8w}s!#zO!%&&VBp8*_7D;doI6s4oGoTC!4SPSsFask<8jZo9$_*@g$tExw z{|)f_-N0MeG6!o8{|sCOWCCajK1jC>#|pz#L&yFoO-kTAOvywL8VZv#JRtBAc(}r) z;XYulp==Nz8T|(!>jWbc05UWl=x)GvLAVE)pJ5X%aIY4i;ry^bUMcPF3@QUY25o{T z7?}SC;1_U%1|G}+mf661{qh=o9m7EX43HE&FZg+52xvw+R2F^>>np)VRuGK}qI89* zzd=&bzW~GvYQhK%gCz{cu*B2vVB!PA*g#`=kZEf#C=3f(VE{Y6G^C$|y{19+w9OcW zfQJM625rDLWAF+zkscaMp&MptxY0B-!lyv1;5_IE22_{`(^b-Ezy<;OpWq^3=x}8i zM1KX(HeCcPR{D6OHh^QWp^(0wt^n%5&4F>l_zyrCUN|c1|AO}tfI)bpRk#2NaPlu; z`~=GbZVdbb+kk;4G`vR0nX`*=|u%kFgOGM1K21HHw;$jrMk0#_}rnoIWiWa$;}f`XPdsKGD*1TYItbl zu836nqfr)H!4-x`V-|V221sp48(KL&i8LrP6!kmQPPJv4Vu=Z?cA_A}q4F6ad{u{z zH9T53Ri}amOPX5Oo)VUum_c1Rcg>c{keV|tk{Vj1mSTLwR7MzL5Fo~UuxF}IOye|2 zh(jv_)wY(3(T7iXMYiq_XKK4W;#jm!O-JY3D5GOzc*`S_YHX$^EFd>MnMpE%q=VID zaq#<|u=&^rp;AKCZ7;{9Sp_*8`gw>4tn!Ai_4sGvdtNuMb7m`F5e2GLXHe4Kz_samZRrpjfi`(1O1 zDT}sI(%j(frHnspsxg*X5Gs?{v8#09GI`Qc!M2sKq!?vSTE*);^%G4i$7FZi42j3fT+aKkhk>wwBs4lns?vuxf-!b~~?!-lLyT`4RCEyLm!67m<>&cpBE`ues5jn_rx(!KS2ab}^k?&_?D` zL~IPw$WRXw66~#)j{L_rHWLA27xn3{cuc5Ll_+1VGica_S%t-f`W{_%GqExplqH3? z1$9qZj}7D(qBFdQb9bl&#>7qjn2@qm`Pmo6z^MFZuGJ7@JGE3NPl~({U%W=jeNG=H zu32jm!f}0>tDFeY(9h$Ov<4QH#iMgvWsggT!CPb3aV*`TfN&#h%EFYSm&z2?ikyt` zQGOS*JE#w=wP#I?DG=y}^2fe$*XsJPsy9wO-X{vJ_tIz+r4dF&!iDp*^ym^Dl`LrS z-VO?ZoB2R7j)-Q?Wwt*XU!ZF!p%By`m{tN6Rz(@Dz9mqPERR!}y zRM|=W7MV?9odR1_l%S8yX`<81Y1P>B_Hx;{vTC&2gz3YlQcu@z&{7w8Y#H^YK1t%1 z(#hJEF1f9k=GT=Y>M`e_AKZ+JrX((>Sf86Qys8a2TO)lV5BMde1FGRfn}$}Zt&y|w zvVKbU@HoMA7h?Ha%4`gTx4*kByP&?Nv$NmJ4%LA_%MZm|Ox43RiCy!sY`C^lfVoSI zr)sN_#nt5k9L2}M_S+p#<;1w(;?klI*HXFAB!?Ks_Fc9x^yhQ``| zoN+9_@bFvs_+N8Qoj!9}SDQr>FRsMT4++YNj{JbJae}uMJO;6%vO!V1o z8l6b8ol~;guuM7olJ|s@LGeOJc^)r}QzFPxD5ajOAMZ$-X4HGA#G9(s<>JBQy*V7; zs!(A&nFZz~!&vDv(iff)Ll4*28F*K1Bw3!|B_4v$(DlynrOX@*-Bqci6Zx$Sm20h~ zn~k?5I;W~htf7ja!i^ndO4kTe))38y#eWnJR* z%D29M;MWHu78;~O-2nk35m_=8rdKt$Hkbr#5y;;alE*qrTt17rO>mQ6Go3#~ExGC8 z#+N!9Gp=6sdoH)I$V=5nPpdxp_>+8z+g`_W7@2;NhHx#=i!a45LCK6ZvC~Vhl^ROT zm#+wmyFIPA3JRSkWb!SJRdp*4fiGd;A(I@!Pg2l}bFwywBy1E}h#j4@X2{PZSZ*yr z&u+O$#QwmHb=Mv?pqTzwX@m2QK;btb>|6!hd+q-35v7Y+@^(<97;iHg*hSfLWNKf zYgAX+p5IiPhngdyYjs0cII(KuoL6M!dd^1h0m&oXZ@0Jp^35IZyuRnlop`C6%hq4d zGJEkXhts;5wf&dSzrOzGU4|oDw{H9Emb0l&Yj<+Gs(;|QjvMV~-fkI_Fbv88P4=;w zCp!+DJoIjW@XG7-Ye&vp`{*Ndpz-jf-jRW!2~y^fZ{FFw?eL%9_%rIksHNI;x3oFj z@8hm=W+&F~C}d58K8+*f(h0QEy!g#U_tbrmH|U|o^p&JdAWTOsHn` z7b(L9VA|)#~r#;jOoRxkDtp#R2E+LTNp?dArP>UOSrmHY*wtR;F2GI zy@_wv8>l)EWd?L11~^lyA;FM!F4)W*T`G8c%dvO2|7pLJFPA5~hEYopNGxHabXc`I zu13aMWcyrUpHLL%xmM(3oH7GrIu+H^p)%sl6sED2;dMG#Wr@04E0-w*KG70ub$PMX zCen26>r?iQ?Yyz?{lZLAbgEAB*N?uGi}yB===a9CreP6Rd@nN4y%-#5Fwa(2Xdrv7 zAWH8pbbf0_G8FWr*5NGObxB9B4?FW6Xt~Lv)Ty-doZ6BcoX~>KlQAItBPR6X1tV5~ z;E#$-c~x;tGOzIc?cXwayFG$SS$XywOtBBEBH=!Rh{L4ISLm&AJgQq0#+sbgEE_XU zDA9xTTBi;3Hu{9HZI*(-^6&!?PjzPnQituV82f2!j13j8`yrY;e{F;-s(qWBLjx3g_xg+oRLP z09V7nl&tn32A=LSohS*WRx;{G zF!_NcfwvF9>cLU9uKo2k@ML<^8_^u7e(5 zmVY^e^wPkSf#(iSCw;J?mYtp|ym%CtOF;#Ammu93yaxbp3#88ip8n~}Ro++~xD6^0 zcK#9IRd|?SME`f%It;|N;hI2q77bS6cK~bQdTA5i5mW=q4c=M5fg6SIC2U`YFMuK&FE`c$lmw?i z^PoKF0@Q)uzHl?(C6JOv|MN@3G<=W2^$o)`yqN^r{oepvUhgDi%FK{nW-$thQ=K}< z)b}VeXs>CEGZzh4%IwS+oLl9xHKmpuHBr_6s!S8Z&SR+M{If$2jZ14Whs-3`$S7NU z)GQDdl`#QkzL!+;0+UkJD zRNVT}u?4)Q!Kb}vUbI{vUM671vW)lYyj{UkvyhSK3^*dDwMS5FibNPB-4{Qi*phuj zA`{)zX43I^7Q9&9(c0Y6)?i;G-sW}ERIQ5f`pK9j>~0^k*z+@%EQROE>kyIeZSb+B z)V4ZPwi^*Z;x#B$5qbv7IF*Eo)%c~w8ikPl`(OU)a8;GF=@z%f3$Zy*{KPWf8mZBz z)A-9B|l^PtSW`j|0V9VwRfT7uJwur@-a`s3M~-QY}znW3$xD)5~=a%!f-T2Emb z8LCyTT4u)!cxxk?irKKajlg-(7UprdEQE~lcx7z9E#j-}HIRIRlnRsCWNcN*Eb1t; zq2_LJn>2=K=T+eg*?d;y5{Y{r(w}kExRXoxDFa=pV3AnYZ-@vKS?#&RU^{e|yCw%Y z6vBLb3l2Fh8aD_ggEP|@p3SL-dfCr!Rk)_RgANhyxx5^+G{Yj=rYC!A+MA-wXzbc# zpV&lbV)Mk)?lcka*{T|D;pbq7#Lq9n6&K9 z_=36Pu}pYZ;VgshR=R1lF&DBx#pnBRLAz?kpa)-cD&*Dyk$M)2qsE$jvf@yMzs`I+ z-shXFWzPx+LQ}qq3`8cKewEe58P?Be<9Yrp@{{&(AIa5Yz>VXa6_JdZ-0Tv88e1=8 zGK*P+_ADBWMI$z6`YL=Sv>Glcukhm!q|_#xi{z`fBHG@$3On@>!^&wmTT7q*HH=n z#aQy`>D_|cjP5B%^P>g-j5Zjpp+93Z$eLet*O&<`5uH_&qI!o|R65c|;>FmIu93-l zim=9*9A2FoEscsRE2*_i&U2wuY}2`>G<^+EorYznu-Db#Ie&3g7{Axgz}?ikNH=dG z@~kWqW15fF>oT-WHYO8ST0MU6b}pXKRyHs;@`8u*NgsDc*91asm5@ZTF+CEJxB^df zGar?tWjIjXEE7Tv6oh{)IhM!q>7fbvnDItu2NE}w?_4bR z+s(i)0_CeUFr$L$WWIfZKpeo2&~FpMwGZWZGN-k(y1Xnr1pbTlGj|+TV7B~po(!i9AX&40dHGM6*Sdd zBg5;je7TR*;MO607bV9($UQsu!v*AN{Lw_%VhG2&v$|_iwSib|W`7r7$dJ!^JT|x6 zYBih9ymPd@M*vVCK78`n=jiRfIWo7QIl+o$YHMsrFa`J>o(|1Hoo68V!w7j$C9biRqb?6{a22C~F`U zD%5<>RTk$OWVmcqdlkkLqN@rABbOq}E|Gnoi{f04_w_-K1P?i6RKh~J_Bn)^leG%* z!@ipfSb@u{gTjpDI#4}rsBlQ27t9K1eUVFbF3k_d>TByClBkbY+OavunHZxst{SDu zCqxeS{b7^{@2u|XYvReq@D)@WwhqS_*HHCwW@379Ucw;~)ke`^vmt6rV)PHhay>Lz zZO1bvJjfCegKxx!7*K*DLA1n8Q_423sx!Z=I96j3UUR5S0d-f!WMH-i)yZ%6_UK{+ z9-c|fr8KZQ6hpxVS_c}z{{GCRFHVT7iR-5B#c9GVHcezvV(RQ3C(W%}1bMC;fDKFP zLqWV~Kyv;f`lD_3**L`a4-Mf{V-qVCQC3A`d(_Qga7C*2sboEsRtoYxxfqXy)$=T> znrQTqM>{KY<>$O|)7kd8!%94GR{z0ApXTC8C4O#}B$wNw&PfJmY5Cp}T&%RfJlX~D zTwCh6(m^p_(9OkyO7P!}#R`US`X&fX^p|6(K^|nSqEjDY{MAGXw^aoR%D6#4t_+Wx zWXlz9YhcneQnzMQ4(r&>x|lZ;u`X=5KhA;f7`@c_RUTBzuG2m-usj~TvD3;h5JTO| z_wJMs2!j&N(!>)k%5ivkFto-K=!^ISWKi8~V`(etR6$v)O4RD9UnYw0>!A8>i$Y0d z9K1lp7f_0G%mi#tC`q1`Sm&1bH7eSARip%ezC^cBcq8^h4Uw7L5O+I-=NL}LpE&EH=8 z4Dsf>o&z0!{rbE2cWkO3XszoVeMq=JF*n~mI0ZeqV^)id&yvlFmgYnvS`jTh`0eXk zw`|(FdCT^#+jeZ(w&l%jTefZ8y8YnxgYUop?z``Rxa4==e+NV+Z{E87jZIs@mBYtB zdjrjWclWN3pq-b+e|h7(9q%34R&t(;6}gNR(Hf%7SR_eM?}erig0j1FSeK>)M@Yc*VOyb{CnjKB4(s7 zI!zU-*}^7zeQq-i_0jonhHm4(=9F_C6~_(MOv>GbQRunw`85fBREfWO4#MA5v@wy@ zrlmDV;PUASIGW%&Z~w{0s8f!A4pkE$-QiN4t1F{jw|ZNjQ5laHhfH!*oojY58Ga@( zF3NoVC)4Obim$GJeom^LCO0x%Py?AerDYoHI8Ez)afL+4P`ZpO19tNdxd#KYat0q7 zh}%n0tMx=OM`SJ~G$PNk$U5S5ttX)A;2Bzx^@@&WyBlA|Pyuh})XnJaRK^s4#OV~b zP-SeLoU7=UPT3YK2Zdvh?4!+ZzVqAHj{C3Ht5d^WhzXFSJz}GETlE^YUj7&-aRe;d zIZ{ug9MTT4rql^F+0h?{jQ*)sL~?at#^>RBK-O(HivrSkCx$xfu@s|3CW@ivRUPvn z0sPhLc+_~EgNlBO%4U5Nby$sjs%?_N6ff%{<=uU>3VPMEYW}LT+dvD~7iiDDUlgq{ zcJOsZ%l91&-7ZO;qm(PQxU_0pDN>jyDnKdlStT|y6ps=~>%e8Fu!J$8Koc!=hbd2a z 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%0D^I`VUgj_p@fqx0_p{IDl?5^s1Q@t`JizH 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 z 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 z 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
#szIh)%6R}PnhRw9DKu7f;#*pVl0DPp}*8$ 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≶avn)H^C&)j~JKj~d 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 z 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