fastled 1.1.68__tar.gz → 1.1.70__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {fastled-1.1.68 → fastled-1.1.70}/.github/workflows/publish_release.yml +14 -6
- {fastled-1.1.68 → fastled-1.1.70}/PKG-INFO +7 -4
- {fastled-1.1.68 → fastled-1.1.70}/README.md +6 -3
- {fastled-1.1.68 → fastled-1.1.70}/src/fastled/__init__.py +1 -1
- {fastled-1.1.68 → fastled-1.1.70}/src/fastled.egg-info/PKG-INFO +7 -4
- {fastled-1.1.68 → fastled-1.1.70}/src/fastled.egg-info/SOURCES.txt +0 -5
- fastled-1.1.68/docs/fastled.js +0 -19
- fastled-1.1.68/docs/fastled.wasm +0 -0
- fastled-1.1.68/docs/index.css +0 -158
- fastled-1.1.68/docs/index.html +0 -113
- fastled-1.1.68/docs/index.js +0 -1269
- {fastled-1.1.68 → fastled-1.1.70}/.aiderignore +0 -0
- {fastled-1.1.68 → fastled-1.1.70}/.github/workflows/build_multi_docker_image.yml +0 -0
- {fastled-1.1.68 → fastled-1.1.70}/.github/workflows/build_webpage.yml +0 -0
- {fastled-1.1.68 → fastled-1.1.70}/.github/workflows/lint.yml +0 -0
- {fastled-1.1.68 → fastled-1.1.70}/.github/workflows/test_build_exe.yml +0 -0
- {fastled-1.1.68 → fastled-1.1.70}/.github/workflows/test_macos.yml +0 -0
- {fastled-1.1.68 → fastled-1.1.70}/.github/workflows/test_ubuntu.yml +0 -0
- {fastled-1.1.68 → fastled-1.1.70}/.github/workflows/test_win.yml +0 -0
- {fastled-1.1.68 → fastled-1.1.70}/.gitignore +0 -0
- {fastled-1.1.68 → fastled-1.1.70}/.pylintrc +0 -0
- {fastled-1.1.68 → fastled-1.1.70}/.vscode/launch.json +0 -0
- {fastled-1.1.68 → fastled-1.1.70}/.vscode/settings.json +0 -0
- {fastled-1.1.68 → fastled-1.1.70}/.vscode/tasks.json +0 -0
- {fastled-1.1.68 → fastled-1.1.70}/LICENSE +0 -0
- {fastled-1.1.68 → fastled-1.1.70}/MANIFEST.in +0 -0
- {fastled-1.1.68 → fastled-1.1.70}/TODO.md +0 -0
- {fastled-1.1.68 → fastled-1.1.70}/build_exe.py +0 -0
- {fastled-1.1.68 → fastled-1.1.70}/build_site.py +0 -0
- {fastled-1.1.68 → fastled-1.1.70}/clean +0 -0
- {fastled-1.1.68 → fastled-1.1.70}/examples/Blink/Blink.ino +0 -0
- {fastled-1.1.68 → fastled-1.1.70}/examples/Chromancer/Chromancer.ino +0 -0
- {fastled-1.1.68 → fastled-1.1.70}/examples/Chromancer/detail.h +0 -0
- {fastled-1.1.68 → fastled-1.1.70}/examples/Chromancer/gary_woos_wled_port/gary_woos_wled_ledmap.h +0 -0
- {fastled-1.1.68 → fastled-1.1.70}/examples/Chromancer/gary_woos_wled_port/presets.json +0 -0
- {fastled-1.1.68 → fastled-1.1.70}/examples/Chromancer/gary_woos_wled_port/presets.min.json +0 -0
- {fastled-1.1.68 → fastled-1.1.70}/examples/Chromancer/gen.py +0 -0
- {fastled-1.1.68 → fastled-1.1.70}/examples/Chromancer/mapping.h +0 -0
- {fastled-1.1.68 → fastled-1.1.70}/examples/Chromancer/net.h +0 -0
- {fastled-1.1.68 → fastled-1.1.70}/examples/Chromancer/output.json +0 -0
- {fastled-1.1.68 → fastled-1.1.70}/examples/Chromancer/ripple.h +0 -0
- {fastled-1.1.68 → fastled-1.1.70}/examples/Chromancer/screenmap.json.h +0 -0
- {fastled-1.1.68 → fastled-1.1.70}/examples/ColorPalette/ColorPalette.ino +0 -0
- {fastled-1.1.68 → fastled-1.1.70}/examples/ColorTemperature/ColorTemperature.ino +0 -0
- {fastled-1.1.68 → fastled-1.1.70}/examples/Cylon/Cylon.ino +0 -0
- {fastled-1.1.68 → fastled-1.1.70}/examples/DemoReel100/DemoReel100.ino +0 -0
- {fastled-1.1.68 → fastled-1.1.70}/examples/Esp32Rmt51/Esp32Rmt51.ino +0 -0
- {fastled-1.1.68 → fastled-1.1.70}/examples/EspI2SDemo/EspI2SDemo.ino +0 -0
- {fastled-1.1.68 → fastled-1.1.70}/examples/Fire2012/Fire2012.ino +0 -0
- {fastled-1.1.68 → fastled-1.1.70}/examples/Fire2012WithPalette/Fire2012WithPalette.ino +0 -0
- {fastled-1.1.68 → fastled-1.1.70}/examples/FirstLight/FirstLight.ino +0 -0
- {fastled-1.1.68 → fastled-1.1.70}/examples/FxEngine/FxEngine.ino +0 -0
- {fastled-1.1.68 → fastled-1.1.70}/examples/Noise/Noise.ino +0 -0
- {fastled-1.1.68 → fastled-1.1.70}/examples/NoisePlayground/NoisePlayground.ino +0 -0
- {fastled-1.1.68 → fastled-1.1.70}/examples/NoisePlusPalette/NoisePlusPalette.ino +0 -0
- {fastled-1.1.68 → fastled-1.1.70}/examples/OctoWS2811/OctoWS2811.ino +0 -0
- {fastled-1.1.68 → fastled-1.1.70}/examples/Pacifica/Pacifica.ino +0 -0
- {fastled-1.1.68 → fastled-1.1.70}/examples/Pride2015/Pride2015.ino +0 -0
- {fastled-1.1.68 → fastled-1.1.70}/examples/TwinkleFox/TwinkleFox.ino +0 -0
- {fastled-1.1.68 → fastled-1.1.70}/examples/Video/Gfx2Video/Gfx2Video.ino +0 -0
- {fastled-1.1.68 → fastled-1.1.70}/examples/WasmScreenCoords/WasmScreenCoords.ino +0 -0
- {fastled-1.1.68 → fastled-1.1.70}/examples/Water/Water.ino +0 -0
- {fastled-1.1.68 → fastled-1.1.70}/examples/XYMatrix/XYMatrix.ino +0 -0
- {fastled-1.1.68 → fastled-1.1.70}/examples/wasm/wasm.ino +0 -0
- {fastled-1.1.68 → fastled-1.1.70}/install +0 -0
- {fastled-1.1.68 → fastled-1.1.70}/lint +0 -0
- {fastled-1.1.68 → fastled-1.1.70}/pyproject.toml +0 -0
- {fastled-1.1.68 → fastled-1.1.70}/requirements.testing.txt +0 -0
- {fastled-1.1.68 → fastled-1.1.70}/setup.cfg +0 -0
- {fastled-1.1.68 → fastled-1.1.70}/setup.py +0 -0
- {fastled-1.1.68 → fastled-1.1.70}/src/fastled/app.py +0 -0
- {fastled-1.1.68 → fastled-1.1.70}/src/fastled/assets/example.txt +0 -0
- {fastled-1.1.68 → fastled-1.1.70}/src/fastled/cli.py +0 -0
- {fastled-1.1.68 → fastled-1.1.70}/src/fastled/client_server.py +0 -0
- {fastled-1.1.68 → fastled-1.1.70}/src/fastled/compile_server.py +0 -0
- {fastled-1.1.68 → fastled-1.1.70}/src/fastled/compile_server_impl.py +0 -0
- {fastled-1.1.68 → fastled-1.1.70}/src/fastled/docker_manager.py +0 -0
- {fastled-1.1.68 → fastled-1.1.70}/src/fastled/filewatcher.py +0 -0
- {fastled-1.1.68 → fastled-1.1.70}/src/fastled/keyboard.py +0 -0
- {fastled-1.1.68 → fastled-1.1.70}/src/fastled/live_client.py +0 -0
- {fastled-1.1.68 → fastled-1.1.70}/src/fastled/open_browser.py +0 -0
- {fastled-1.1.68 → fastled-1.1.70}/src/fastled/parse_args.py +0 -0
- {fastled-1.1.68 → fastled-1.1.70}/src/fastled/paths.py +0 -0
- {fastled-1.1.68 → fastled-1.1.70}/src/fastled/project_init.py +0 -0
- {fastled-1.1.68 → fastled-1.1.70}/src/fastled/select_sketch_directory.py +0 -0
- {fastled-1.1.68 → fastled-1.1.70}/src/fastled/settings.py +0 -0
- {fastled-1.1.68 → fastled-1.1.70}/src/fastled/site/build.py +0 -0
- {fastled-1.1.68 → fastled-1.1.70}/src/fastled/sketch.py +0 -0
- {fastled-1.1.68 → fastled-1.1.70}/src/fastled/spinner.py +0 -0
- {fastled-1.1.68 → fastled-1.1.70}/src/fastled/string_diff.py +0 -0
- {fastled-1.1.68 → fastled-1.1.70}/src/fastled/test/examples.py +0 -0
- {fastled-1.1.68 → fastled-1.1.70}/src/fastled/types.py +0 -0
- {fastled-1.1.68 → fastled-1.1.70}/src/fastled/util.py +0 -0
- {fastled-1.1.68 → fastled-1.1.70}/src/fastled/web_compile.py +0 -0
- {fastled-1.1.68 → fastled-1.1.70}/src/fastled.egg-info/dependency_links.txt +0 -0
- {fastled-1.1.68 → fastled-1.1.70}/src/fastled.egg-info/entry_points.txt +0 -0
- {fastled-1.1.68 → fastled-1.1.70}/src/fastled.egg-info/requires.txt +0 -0
- {fastled-1.1.68 → fastled-1.1.70}/src/fastled.egg-info/top_level.txt +0 -0
- {fastled-1.1.68 → fastled-1.1.70}/test +0 -0
- {fastled-1.1.68 → fastled-1.1.70}/tests/test_api.py +0 -0
- {fastled-1.1.68 → fastled-1.1.70}/tests/test_bad_ino.py +0 -0
- {fastled-1.1.68 → fastled-1.1.70}/tests/test_cli.py +0 -0
- {fastled-1.1.68 → fastled-1.1.70}/tests/test_compile_server.py +0 -0
- {fastled-1.1.68 → fastled-1.1.70}/tests/test_docker_linux_on_windows.py +0 -0
- {fastled-1.1.68 → fastled-1.1.70}/tests/test_embedded_data.py +0 -0
- {fastled-1.1.68 → fastled-1.1.70}/tests/test_examples.py +0 -0
- {fastled-1.1.68 → fastled-1.1.70}/tests/test_filechanger.py +0 -0
- {fastled-1.1.68 → fastled-1.1.70}/tests/test_ino/bad/bad.ino +0 -0
- {fastled-1.1.68 → fastled-1.1.70}/tests/test_ino/embedded/data/bigdata.dat +0 -0
- {fastled-1.1.68 → fastled-1.1.70}/tests/test_ino/embedded/wasm.ino +0 -0
- {fastled-1.1.68 → fastled-1.1.70}/tests/test_ino/wasm/wasm.ino +0 -0
- {fastled-1.1.68 → fastled-1.1.70}/tests/test_project_init.py +0 -0
- {fastled-1.1.68 → fastled-1.1.70}/tests/test_server_and_client_seperatly.py +0 -0
- {fastled-1.1.68 → fastled-1.1.70}/tests/test_webcompile.py +0 -0
- {fastled-1.1.68 → fastled-1.1.70}/upload_package.sh +0 -0
@@ -136,15 +136,23 @@ jobs:
|
|
136
136
|
path: artifacts
|
137
137
|
|
138
138
|
- name: Prepare release files
|
139
|
+
shell: bash
|
139
140
|
run: |
|
140
141
|
mkdir release
|
141
142
|
# Rename files with platform-specific names
|
142
|
-
|
143
|
-
[ -f artifacts/fastled-
|
144
|
-
|
145
|
-
[ -f artifacts/fastled-
|
146
|
-
|
147
|
-
|
143
|
+
mkdir -p release/windows-x64
|
144
|
+
[ -f artifacts/fastled-Windows-X64/fastled.exe ] && cp artifacts/fastled-Windows-X64/fastled.exe release/windows-x64/fastled.exe
|
145
|
+
mkdir -p release/linux-x64
|
146
|
+
[ -f artifacts/fastled-Linux-X64/fastled ] && cp artifacts/fastled-Linux-X64/fastled release/linux-x64/fastled
|
147
|
+
mkdir -p release/linux-arm64
|
148
|
+
[ -f artifacts/fastled-Linux-ARM64/fastled ] && cp artifacts/fastled-Linux-ARM64/fastled release/linux-arm64/fastled
|
149
|
+
mkdir -p release/macos-arm64
|
150
|
+
[ -f artifacts/fastled-macOS-ARM64/fastled ] && cp artifacts/fastled-macOS-ARM64/fastled release/macos-arm64/fastled
|
151
|
+
mkdir -p release/macos-x64
|
152
|
+
[ -f artifacts/fastled-macOS-X64/fastled ] && cp artifacts/fastled-macOS-X64/fastled release/macos-x64/fastled
|
153
|
+
|
154
|
+
find release -type f -name 'fastled*' -exec chmod +x {} \;
|
155
|
+
|
148
156
|
|
149
157
|
- name: Create Release
|
150
158
|
uses: softprops/action-gh-release@v1
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: fastled
|
3
|
-
Version: 1.1.
|
3
|
+
Version: 1.1.70
|
4
4
|
Summary: FastLED Wasm Compiler
|
5
5
|
Home-page: https://github.com/zackees/fastled-wasm
|
6
6
|
Maintainer: Zachary Vorhies
|
@@ -35,6 +35,10 @@ Compiles an Arduino/Platformio sketch into a wasm binary that can be run directl
|
|
35
35
|
[](https://github.com/zackees/fastled-wasm/actions/workflows/test_build_exe.yml)
|
36
36
|
[](https://github.com/zackees/fastled-wasm/actions/workflows/publish_release.yml)
|
37
37
|
|
38
|
+
# Demo
|
39
|
+
|
40
|
+
https://zackees.github.io/fastled-wasm/
|
41
|
+
|
38
42
|
|
39
43
|
# About
|
40
44
|
|
@@ -50,9 +54,6 @@ has the advantage that as a persistant service the compile cache will remain muc
|
|
50
54
|
|
51
55
|
https://github.com/user-attachments/assets/64ae0e6c-5f8b-4830-ab87-dcc25bc61218
|
52
56
|
|
53
|
-
# Demo
|
54
|
-
|
55
|
-
https://zackees.github.io/fastled-wasm/
|
56
57
|
|
57
58
|
|
58
59
|
# Install
|
@@ -258,6 +259,8 @@ A: A big chunk of space is being used by unnecessary javascript `emscripten` bun
|
|
258
259
|
|
259
260
|
|
260
261
|
# Revisions
|
262
|
+
|
263
|
+
* 1.1.69 - Changed the binary name to `fastled.exe` instead of something like `fastled-windows-x64.exe`
|
261
264
|
* 1.1.68 - Add a site builder to fastled.Test which generates a website with a bunch of demos. This is used to build the demo site automatically.
|
262
265
|
* 1.1.67 - Pinned all the minimum versions of dependencies so we don't bind to an out of date py dep: https://github.com/zackees/fastled-wasm/issues/3
|
263
266
|
* 1.1.61 - Excluded non compiling examples from the Test object as part of the api - no sense in having them if they won't compile.
|
@@ -12,6 +12,10 @@ Compiles an Arduino/Platformio sketch into a wasm binary that can be run directl
|
|
12
12
|
[](https://github.com/zackees/fastled-wasm/actions/workflows/test_build_exe.yml)
|
13
13
|
[](https://github.com/zackees/fastled-wasm/actions/workflows/publish_release.yml)
|
14
14
|
|
15
|
+
# Demo
|
16
|
+
|
17
|
+
https://zackees.github.io/fastled-wasm/
|
18
|
+
|
15
19
|
|
16
20
|
# About
|
17
21
|
|
@@ -27,9 +31,6 @@ has the advantage that as a persistant service the compile cache will remain muc
|
|
27
31
|
|
28
32
|
https://github.com/user-attachments/assets/64ae0e6c-5f8b-4830-ab87-dcc25bc61218
|
29
33
|
|
30
|
-
# Demo
|
31
|
-
|
32
|
-
https://zackees.github.io/fastled-wasm/
|
33
34
|
|
34
35
|
|
35
36
|
# Install
|
@@ -235,6 +236,8 @@ A: A big chunk of space is being used by unnecessary javascript `emscripten` bun
|
|
235
236
|
|
236
237
|
|
237
238
|
# Revisions
|
239
|
+
|
240
|
+
* 1.1.69 - Changed the binary name to `fastled.exe` instead of something like `fastled-windows-x64.exe`
|
238
241
|
* 1.1.68 - Add a site builder to fastled.Test which generates a website with a bunch of demos. This is used to build the demo site automatically.
|
239
242
|
* 1.1.67 - Pinned all the minimum versions of dependencies so we don't bind to an out of date py dep: https://github.com/zackees/fastled-wasm/issues/3
|
240
243
|
* 1.1.61 - Excluded non compiling examples from the Test object as part of the api - no sense in having them if they won't compile.
|
@@ -13,7 +13,7 @@ from .types import BuildMode, CompileResult, CompileServerError
|
|
13
13
|
# IMPORTANT! There's a bug in github which will REJECT any version update
|
14
14
|
# that has any other change in the repo. Please bump the version as the
|
15
15
|
# ONLY change in a commit, or else the pypi update and the release will fail.
|
16
|
-
__version__ = "1.1.
|
16
|
+
__version__ = "1.1.70"
|
17
17
|
|
18
18
|
|
19
19
|
class Api:
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: fastled
|
3
|
-
Version: 1.1.
|
3
|
+
Version: 1.1.70
|
4
4
|
Summary: FastLED Wasm Compiler
|
5
5
|
Home-page: https://github.com/zackees/fastled-wasm
|
6
6
|
Maintainer: Zachary Vorhies
|
@@ -35,6 +35,10 @@ Compiles an Arduino/Platformio sketch into a wasm binary that can be run directl
|
|
35
35
|
[](https://github.com/zackees/fastled-wasm/actions/workflows/test_build_exe.yml)
|
36
36
|
[](https://github.com/zackees/fastled-wasm/actions/workflows/publish_release.yml)
|
37
37
|
|
38
|
+
# Demo
|
39
|
+
|
40
|
+
https://zackees.github.io/fastled-wasm/
|
41
|
+
|
38
42
|
|
39
43
|
# About
|
40
44
|
|
@@ -50,9 +54,6 @@ has the advantage that as a persistant service the compile cache will remain muc
|
|
50
54
|
|
51
55
|
https://github.com/user-attachments/assets/64ae0e6c-5f8b-4830-ab87-dcc25bc61218
|
52
56
|
|
53
|
-
# Demo
|
54
|
-
|
55
|
-
https://zackees.github.io/fastled-wasm/
|
56
57
|
|
57
58
|
|
58
59
|
# Install
|
@@ -258,6 +259,8 @@ A: A big chunk of space is being used by unnecessary javascript `emscripten` bun
|
|
258
259
|
|
259
260
|
|
260
261
|
# Revisions
|
262
|
+
|
263
|
+
* 1.1.69 - Changed the binary name to `fastled.exe` instead of something like `fastled-windows-x64.exe`
|
261
264
|
* 1.1.68 - Add a site builder to fastled.Test which generates a website with a bunch of demos. This is used to build the demo site automatically.
|
262
265
|
* 1.1.67 - Pinned all the minimum versions of dependencies so we don't bind to an out of date py dep: https://github.com/zackees/fastled-wasm/issues/3
|
263
266
|
* 1.1.61 - Excluded non compiling examples from the Test object as part of the api - no sense in having them if they won't compile.
|
@@ -26,11 +26,6 @@ upload_package.sh
|
|
26
26
|
.vscode/launch.json
|
27
27
|
.vscode/settings.json
|
28
28
|
.vscode/tasks.json
|
29
|
-
docs/fastled.js
|
30
|
-
docs/fastled.wasm
|
31
|
-
docs/index.css
|
32
|
-
docs/index.html
|
33
|
-
docs/index.js
|
34
29
|
examples/Blink/Blink.ino
|
35
30
|
examples/Chromancer/Chromancer.ino
|
36
31
|
examples/Chromancer/detail.h
|
fastled-1.1.68/docs/fastled.js
DELETED
@@ -1,19 +0,0 @@
|
|
1
|
-
|
2
|
-
var fastled = (() => {
|
3
|
-
var _scriptName = typeof document != 'undefined' ? document.currentScript?.src : undefined;
|
4
|
-
if (typeof __filename != 'undefined') _scriptName = _scriptName || __filename;
|
5
|
-
return (
|
6
|
-
function(moduleArg = {}) {
|
7
|
-
var moduleRtn;
|
8
|
-
|
9
|
-
var Module=moduleArg;var readyPromiseResolve,readyPromiseReject;var readyPromise=new Promise((resolve,reject)=>{readyPromiseResolve=resolve;readyPromiseReject=reject});var ENVIRONMENT_IS_WEB=typeof window=="object";var ENVIRONMENT_IS_WORKER=typeof importScripts=="function";var ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string"&&process.type!="renderer";if(ENVIRONMENT_IS_NODE){}var moduleOverrides=Object.assign({},Module);var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var readAsync,readBinary;if(ENVIRONMENT_IS_NODE){var fs=require("fs");var nodePath=require("path");scriptDirectory=__dirname+"/";readBinary=filename=>{filename=isFileURI(filename)?new URL(filename):nodePath.normalize(filename);var ret=fs.readFileSync(filename);return ret};readAsync=(filename,binary=true)=>{filename=isFileURI(filename)?new URL(filename):nodePath.normalize(filename);return new Promise((resolve,reject)=>{fs.readFile(filename,binary?undefined:"utf8",(err,data)=>{if(err)reject(err);else resolve(binary?data.buffer:data)})})};if(!Module["thisProgram"]&&process.argv.length>1){thisProgram=process.argv[1].replace(/\\/g,"/")}arguments_=process.argv.slice(2);quit_=(status,toThrow)=>{process.exitCode=status;throw toThrow};if(typeof WebAssembly=="undefined"){eval(fs.readFileSync(locateFile("fastled.wasm.js"))+"")}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(_scriptName){scriptDirectory=_scriptName}if(scriptDirectory.startsWith("blob:")){scriptDirectory=""}else{scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1)}{if(ENVIRONMENT_IS_WORKER){readBinary=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=url=>{if(isFileURI(url)){return new Promise((resolve,reject)=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=()=>{if(xhr.status==200||xhr.status==0&&xhr.response){resolve(xhr.response);return}reject(xhr.status)};xhr.onerror=reject;xhr.send(null)})}return fetch(url,{credentials:"same-origin"}).then(response=>{if(response.ok){return response.arrayBuffer()}return Promise.reject(new Error(response.status+" : "+response.url))})}}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.error.bind(console);Object.assign(Module,moduleOverrides);moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];var wasmBinary=Module["wasmBinary"];if(WebAssembly.isWasm2js){wasmBinary=[]}var wasmMemory;var ABORT=false;var EXITSTATUS;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateMemoryViews(){var b=wasmMemory.buffer;Module["HEAP8"]=HEAP8=new Int8Array(b);Module["HEAP16"]=HEAP16=new Int16Array(b);Module["HEAPU8"]=HEAPU8=new Uint8Array(b);Module["HEAPU16"]=HEAPU16=new Uint16Array(b);Module["HEAP32"]=HEAP32=new Int32Array(b);Module["HEAPU32"]=HEAPU32=new Uint32Array(b);Module["HEAPF32"]=HEAPF32=new Float32Array(b);Module["HEAPF64"]=HEAPF64=new Float64Array(b)}var __ATPRERUN__=[];var __ATINIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;function preRun(){var preRuns=Module["preRun"];if(preRuns){if(typeof preRuns=="function")preRuns=[preRuns];preRuns.forEach(addOnPreRun)}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function postRun(){var postRuns=Module["postRun"];if(postRuns){if(typeof postRuns=="function")postRuns=[postRuns];postRuns.forEach(addOnPostRun)}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnInit(cb){__ATINIT__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;Module["monitorRunDependencies"]?.(runDependencies)}function removeRunDependency(id){runDependencies--;Module["monitorRunDependencies"]?.(runDependencies);if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){Module["onAbort"]?.(what);what="Aborted("+what+")";err(what);ABORT=true;what+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(what);readyPromiseReject(e);throw e}var dataURIPrefix="data:application/octet-stream;base64,";var isDataURI=filename=>filename.startsWith(dataURIPrefix);var isFileURI=filename=>filename.startsWith("file://");function findWasmBinary(){var f="fastled.wasm";if(!isDataURI(f)){return locateFile(f)}return f}var wasmBinaryFile;function getBinarySync(file){if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}function getBinaryPromise(binaryFile){if(!wasmBinary){return readAsync(binaryFile).then(response=>new Uint8Array(response),()=>getBinarySync(binaryFile))}return Promise.resolve().then(()=>getBinarySync(binaryFile))}function instantiateArrayBuffer(binaryFile,imports,receiver){return getBinaryPromise(binaryFile).then(binary=>WebAssembly.instantiate(binary,imports)).then(receiver,reason=>{err(`failed to asynchronously prepare wasm: ${reason}`);if(typeof location!="undefined"){var search=location.search;if(search.indexOf("_rwasm=0")<0){location.href+=(search?search+"&":"?")+"_rwasm=0";return}}abort(reason)})}function instantiateAsync(binary,binaryFile,imports,callback){if(!binary&&typeof WebAssembly.instantiateStreaming=="function"&&!isDataURI(binaryFile)&&!isFileURI(binaryFile)&&!ENVIRONMENT_IS_NODE&&typeof fetch=="function"){return fetch(binaryFile,{credentials:"same-origin"}).then(response=>{var result=WebAssembly.instantiateStreaming(response,imports);return result.then(callback,function(reason){err(`wasm streaming compile failed: ${reason}`);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(binaryFile,imports,callback)})})}return instantiateArrayBuffer(binaryFile,imports,callback)}function getWasmImports(){return{a:wasmImports}}function createWasm(){var info=getWasmImports();function receiveInstance(instance,module){wasmExports=instance.exports;wasmMemory=wasmExports["x"];updateMemoryViews();wasmTable=wasmExports["A"];addOnInit(wasmExports["y"]);removeRunDependency("wasm-instantiate");return wasmExports}addRunDependency("wasm-instantiate");function receiveInstantiationResult(result){receiveInstance(result["instance"])}if(Module["instantiateWasm"]){try{return Module["instantiateWasm"](info,receiveInstance)}catch(e){err(`Module.instantiateWasm callback failed with error: ${e}`);readyPromiseReject(e)}}wasmBinaryFile??=findWasmBinary();instantiateAsync(wasmBinary,wasmBinaryFile,info,receiveInstantiationResult).catch(readyPromiseReject);return{}}var ASM_CONSTS={20108:($0,$1)=>{globalThis.FastLED_onStripUpdate=globalThis.FastLED_onStripUpdate||function(jsonStr){console.log("Missing globalThis.FastLED_onStripUpdate(jsonStr) function")};var jsonStr=UTF8ToString($0,$1);var jsonData=JSON.parse(jsonStr);globalThis.FastLED_onStripUpdate(jsonData)},20397:$0=>{globalThis.FastLED_onFrame=globalThis.FastLED_onFrame||function(frameInfo,callback){console.log("Missing globalThis.FastLED_onFrame() function");if(typeof callback==="function"){callback()}else{console.error("Callback function is not a function but is of type "+typeof callback)}};globalThis.onFastLedUiUpdateFunction=globalThis.onFastLedUiUpdateFunction||function(jsonString){if(typeof jsonString==="string"&&jsonString!==null){Module._jsUiManager_updateUiComponents(jsonString)}else{console.error("Invalid jsonData received:",jsonString,"expected string but instead got:",typeof jsonString)}};globalThis.FastLED_onFrameData=globalThis.FastLED_onFrameData||new Module.ActiveStripData;var activeStrips=globalThis.FastLED_onFrameData;var jsonStr=UTF8ToString($0);var jsonData=JSON.parse(jsonStr);for(var i=0;i<jsonData.length;i++){var stripData=jsonData[i];var pixelData=activeStrips.getPixelData_Uint8(stripData.strip_id);jsonData[i].pixel_data=pixelData}globalThis.FastLED_onFrame(jsonData,globalThis.onFastLedUiUpdateFunction)},21519:function($0,$1){globalThis.FastLED_onStripAdded=globalThis.FastLED_onStripAdded||function(){console.log("Missing globalThis.FastLED_onStripAdded(id, length) function");console.log("Added strip id: "+arguments[0]+" with length: "+arguments[1])};globalThis.FastLED_onStripAdded($0,$1)},21808:$0=>{globalThis.FastLED_onUiElementsAdded=globalThis.FastLED_onUiElementsAdded||function(jsonData,updateFunc){console.log((new Date).toLocaleTimeString());console.log("Missing globalThis.FastLED_onUiElementsAdded(jsonData, updateFunc) function");console.log("Added ui elements:",jsonData)};var jsonStr=UTF8ToString($0);var data=null;try{data=JSON.parse(jsonStr)}catch(error){console.error("Error parsing JSON:",error);console.error("Problematic JSON string:",jsonStr);return}if(data){globalThis.FastLED_onUiElementsAdded(data)}else{console.error("Internal error, data is null")}}};function ExitStatus(status){this.name="ExitStatus";this.message=`Program terminated with exit(${status})`;this.status=status}var callRuntimeCallbacks=callbacks=>{callbacks.forEach(f=>f(Module))};var noExitRuntime=Module["noExitRuntime"]||true;var stackRestore=val=>__emscripten_stack_restore(val);var stackSave=()=>_emscripten_stack_get_current();class ExceptionInfo{constructor(excPtr){this.excPtr=excPtr;this.ptr=excPtr-24}set_type(type){HEAPU32[this.ptr+4>>2]=type}get_type(){return HEAPU32[this.ptr+4>>2]}set_destructor(destructor){HEAPU32[this.ptr+8>>2]=destructor}get_destructor(){return HEAPU32[this.ptr+8>>2]}set_caught(caught){caught=caught?1:0;HEAP8[this.ptr+12]=caught}get_caught(){return HEAP8[this.ptr+12]!=0}set_rethrown(rethrown){rethrown=rethrown?1:0;HEAP8[this.ptr+13]=rethrown}get_rethrown(){return HEAP8[this.ptr+13]!=0}init(type,destructor){this.set_adjusted_ptr(0);this.set_type(type);this.set_destructor(destructor)}set_adjusted_ptr(adjustedPtr){HEAPU32[this.ptr+16>>2]=adjustedPtr}get_adjusted_ptr(){return HEAPU32[this.ptr+16>>2]}}var exceptionLast=0;var uncaughtExceptionCount=0;var ___cxa_throw=(ptr,type,destructor)=>{var info=new ExceptionInfo(ptr);info.init(type,destructor);exceptionLast=ptr;uncaughtExceptionCount++;throw exceptionLast};var __abort_js=()=>{abort("")};var __embind_register_bigint=(primitiveType,name,size,minRange,maxRange)=>{};var embind_init_charCodes=()=>{var codes=new Array(256);for(var i=0;i<256;++i){codes[i]=String.fromCharCode(i)}embind_charCodes=codes};var embind_charCodes;var readLatin1String=ptr=>{var ret="";var c=ptr;while(HEAPU8[c]){ret+=embind_charCodes[HEAPU8[c++]]}return ret};var awaitingDependencies={};var registeredTypes={};var typeDependencies={};var BindingError;var throwBindingError=message=>{throw new BindingError(message)};var InternalError;var throwInternalError=message=>{throw new InternalError(message)};var whenDependentTypesAreResolved=(myTypes,dependentTypes,getTypeConverters)=>{myTypes.forEach(type=>typeDependencies[type]=dependentTypes);function onComplete(typeConverters){var myTypeConverters=getTypeConverters(typeConverters);if(myTypeConverters.length!==myTypes.length){throwInternalError("Mismatched type converter count")}for(var i=0;i<myTypes.length;++i){registerType(myTypes[i],myTypeConverters[i])}}var typeConverters=new Array(dependentTypes.length);var unregisteredTypes=[];var registered=0;dependentTypes.forEach((dt,i)=>{if(registeredTypes.hasOwnProperty(dt)){typeConverters[i]=registeredTypes[dt]}else{unregisteredTypes.push(dt);if(!awaitingDependencies.hasOwnProperty(dt)){awaitingDependencies[dt]=[]}awaitingDependencies[dt].push(()=>{typeConverters[i]=registeredTypes[dt];++registered;if(registered===unregisteredTypes.length){onComplete(typeConverters)}})}});if(0===unregisteredTypes.length){onComplete(typeConverters)}};function sharedRegisterType(rawType,registeredInstance,options={}){var name=registeredInstance.name;if(!rawType){throwBindingError(`type "${name}" must have a positive integer typeid pointer`)}if(registeredTypes.hasOwnProperty(rawType)){if(options.ignoreDuplicateRegistrations){return}else{throwBindingError(`Cannot register type '${name}' twice`)}}registeredTypes[rawType]=registeredInstance;delete typeDependencies[rawType];if(awaitingDependencies.hasOwnProperty(rawType)){var callbacks=awaitingDependencies[rawType];delete awaitingDependencies[rawType];callbacks.forEach(cb=>cb())}}function registerType(rawType,registeredInstance,options={}){return sharedRegisterType(rawType,registeredInstance,options)}var GenericWireTypeSize=8;var __embind_register_bool=(rawType,name,trueValue,falseValue)=>{name=readLatin1String(name);registerType(rawType,{name,fromWireType:function(wt){return!!wt},toWireType:function(destructors,o){return o?trueValue:falseValue},argPackAdvance:GenericWireTypeSize,readValueFromPointer:function(pointer){return this["fromWireType"](HEAPU8[pointer])},destructorFunction:null})};var shallowCopyInternalPointer=o=>({count:o.count,deleteScheduled:o.deleteScheduled,preservePointerOnDelete:o.preservePointerOnDelete,ptr:o.ptr,ptrType:o.ptrType,smartPtr:o.smartPtr,smartPtrType:o.smartPtrType});var throwInstanceAlreadyDeleted=obj=>{function getInstanceTypeName(handle){return handle.$$.ptrType.registeredClass.name}throwBindingError(getInstanceTypeName(obj)+" instance already deleted")};var finalizationRegistry=false;var detachFinalizer=handle=>{};var runDestructor=$$=>{if($$.smartPtr){$$.smartPtrType.rawDestructor($$.smartPtr)}else{$$.ptrType.registeredClass.rawDestructor($$.ptr)}};var releaseClassHandle=$$=>{$$.count.value-=1;var toDelete=0===$$.count.value;if(toDelete){runDestructor($$)}};var downcastPointer=(ptr,ptrClass,desiredClass)=>{if(ptrClass===desiredClass){return ptr}if(undefined===desiredClass.baseClass){return null}var rv=downcastPointer(ptr,ptrClass,desiredClass.baseClass);if(rv===null){return null}return desiredClass.downcast(rv)};var registeredPointers={};var registeredInstances={};var getBasestPointer=(class_,ptr)=>{if(ptr===undefined){throwBindingError("ptr should not be undefined")}while(class_.baseClass){ptr=class_.upcast(ptr);class_=class_.baseClass}return ptr};var getInheritedInstance=(class_,ptr)=>{ptr=getBasestPointer(class_,ptr);return registeredInstances[ptr]};var makeClassHandle=(prototype,record)=>{if(!record.ptrType||!record.ptr){throwInternalError("makeClassHandle requires ptr and ptrType")}var hasSmartPtrType=!!record.smartPtrType;var hasSmartPtr=!!record.smartPtr;if(hasSmartPtrType!==hasSmartPtr){throwInternalError("Both smartPtrType and smartPtr must be specified")}record.count={value:1};return attachFinalizer(Object.create(prototype,{$$:{value:record,writable:true}}))};function RegisteredPointer_fromWireType(ptr){var rawPointer=this.getPointee(ptr);if(!rawPointer){this.destructor(ptr);return null}var registeredInstance=getInheritedInstance(this.registeredClass,rawPointer);if(undefined!==registeredInstance){if(0===registeredInstance.$$.count.value){registeredInstance.$$.ptr=rawPointer;registeredInstance.$$.smartPtr=ptr;return registeredInstance["clone"]()}else{var rv=registeredInstance["clone"]();this.destructor(ptr);return rv}}function makeDefaultHandle(){if(this.isSmartPointer){return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:rawPointer,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this,ptr})}}var actualType=this.registeredClass.getActualType(rawPointer);var registeredPointerRecord=registeredPointers[actualType];if(!registeredPointerRecord){return makeDefaultHandle.call(this)}var toType;if(this.isConst){toType=registeredPointerRecord.constPointerType}else{toType=registeredPointerRecord.pointerType}var dp=downcastPointer(rawPointer,this.registeredClass,toType.registeredClass);if(dp===null){return makeDefaultHandle.call(this)}if(this.isSmartPointer){return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp})}}var attachFinalizer=handle=>{if("undefined"===typeof FinalizationRegistry){attachFinalizer=handle=>handle;return handle}finalizationRegistry=new FinalizationRegistry(info=>{releaseClassHandle(info.$$)});attachFinalizer=handle=>{var $$=handle.$$;var hasSmartPtr=!!$$.smartPtr;if(hasSmartPtr){var info={$$};finalizationRegistry.register(handle,info,handle)}return handle};detachFinalizer=handle=>finalizationRegistry.unregister(handle);return attachFinalizer(handle)};var deletionQueue=[];var flushPendingDeletes=()=>{while(deletionQueue.length){var obj=deletionQueue.pop();obj.$$.deleteScheduled=false;obj["delete"]()}};var delayFunction;var init_ClassHandle=()=>{Object.assign(ClassHandle.prototype,{isAliasOf(other){if(!(this instanceof ClassHandle)){return false}if(!(other instanceof ClassHandle)){return false}var leftClass=this.$$.ptrType.registeredClass;var left=this.$$.ptr;other.$$=other.$$;var rightClass=other.$$.ptrType.registeredClass;var right=other.$$.ptr;while(leftClass.baseClass){left=leftClass.upcast(left);leftClass=leftClass.baseClass}while(rightClass.baseClass){right=rightClass.upcast(right);rightClass=rightClass.baseClass}return leftClass===rightClass&&left===right},clone(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.preservePointerOnDelete){this.$$.count.value+=1;return this}else{var clone=attachFinalizer(Object.create(Object.getPrototypeOf(this),{$$:{value:shallowCopyInternalPointer(this.$$)}}));clone.$$.count.value+=1;clone.$$.deleteScheduled=false;return clone}},delete(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}detachFinalizer(this);releaseClassHandle(this.$$);if(!this.$$.preservePointerOnDelete){this.$$.smartPtr=undefined;this.$$.ptr=undefined}},isDeleted(){return!this.$$.ptr},deleteLater(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}deletionQueue.push(this);if(deletionQueue.length===1&&delayFunction){delayFunction(flushPendingDeletes)}this.$$.deleteScheduled=true;return this}})};function ClassHandle(){}var createNamedFunction=(name,body)=>Object.defineProperty(body,"name",{value:name});var ensureOverloadTable=(proto,methodName,humanName)=>{if(undefined===proto[methodName].overloadTable){var prevFunc=proto[methodName];proto[methodName]=function(...args){if(!proto[methodName].overloadTable.hasOwnProperty(args.length)){throwBindingError(`Function '${humanName}' called with an invalid number of arguments (${args.length}) - expects one of (${proto[methodName].overloadTable})!`)}return proto[methodName].overloadTable[args.length].apply(this,args)};proto[methodName].overloadTable=[];proto[methodName].overloadTable[prevFunc.argCount]=prevFunc}};var exposePublicSymbol=(name,value,numArguments)=>{if(Module.hasOwnProperty(name)){if(undefined===numArguments||undefined!==Module[name].overloadTable&&undefined!==Module[name].overloadTable[numArguments]){throwBindingError(`Cannot register public name '${name}' twice`)}ensureOverloadTable(Module,name,name);if(Module[name].overloadTable.hasOwnProperty(numArguments)){throwBindingError(`Cannot register multiple overloads of a function with the same number of arguments (${numArguments})!`)}Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}};var char_0=48;var char_9=57;var makeLegalFunctionName=name=>{name=name.replace(/[^a-zA-Z0-9_]/g,"$");var f=name.charCodeAt(0);if(f>=char_0&&f<=char_9){return`_${name}`}return name};function RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast){this.name=name;this.constructor=constructor;this.instancePrototype=instancePrototype;this.rawDestructor=rawDestructor;this.baseClass=baseClass;this.getActualType=getActualType;this.upcast=upcast;this.downcast=downcast;this.pureVirtualFunctions=[]}var upcastPointer=(ptr,ptrClass,desiredClass)=>{while(ptrClass!==desiredClass){if(!ptrClass.upcast){throwBindingError(`Expected null or instance of ${desiredClass.name}, got an instance of ${ptrClass.name}`)}ptr=ptrClass.upcast(ptr);ptrClass=ptrClass.baseClass}return ptr};function constNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError(`null is not a valid ${this.name}`)}return 0}if(!handle.$$){throwBindingError(`Cannot pass "${embindRepr(handle)}" as a ${this.name}`)}if(!handle.$$.ptr){throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function genericPointerToWireType(destructors,handle){var ptr;if(handle===null){if(this.isReference){throwBindingError(`null is not a valid ${this.name}`)}if(this.isSmartPointer){ptr=this.rawConstructor();if(destructors!==null){destructors.push(this.rawDestructor,ptr)}return ptr}else{return 0}}if(!handle||!handle.$$){throwBindingError(`Cannot pass "${embindRepr(handle)}" as a ${this.name}`)}if(!handle.$$.ptr){throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`)}if(!this.isConst&&handle.$$.ptrType.isConst){throwBindingError(`Cannot convert argument of type ${handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name} to parameter type ${this.name}`)}var handleClass=handle.$$.ptrType.registeredClass;ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);if(this.isSmartPointer){if(undefined===handle.$$.smartPtr){throwBindingError("Passing raw pointer to smart pointer is illegal")}switch(this.sharingPolicy){case 0:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{throwBindingError(`Cannot convert argument of type ${handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name} to parameter type ${this.name}`)}break;case 1:ptr=handle.$$.smartPtr;break;case 2:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{var clonedHandle=handle["clone"]();ptr=this.rawShare(ptr,Emval.toHandle(()=>clonedHandle["delete"]()));if(destructors!==null){destructors.push(this.rawDestructor,ptr)}}break;default:throwBindingError("Unsupporting sharing policy")}}return ptr}function nonConstNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError(`null is not a valid ${this.name}`)}return 0}if(!handle.$$){throwBindingError(`Cannot pass "${embindRepr(handle)}" as a ${this.name}`)}if(!handle.$$.ptr){throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`)}if(handle.$$.ptrType.isConst){throwBindingError(`Cannot convert argument of type ${handle.$$.ptrType.name} to parameter type ${this.name}`)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function readPointer(pointer){return this["fromWireType"](HEAPU32[pointer>>2])}var init_RegisteredPointer=()=>{Object.assign(RegisteredPointer.prototype,{getPointee(ptr){if(this.rawGetPointee){ptr=this.rawGetPointee(ptr)}return ptr},destructor(ptr){this.rawDestructor?.(ptr)},argPackAdvance:GenericWireTypeSize,readValueFromPointer:readPointer,fromWireType:RegisteredPointer_fromWireType})};function RegisteredPointer(name,registeredClass,isReference,isConst,isSmartPointer,pointeeType,sharingPolicy,rawGetPointee,rawConstructor,rawShare,rawDestructor){this.name=name;this.registeredClass=registeredClass;this.isReference=isReference;this.isConst=isConst;this.isSmartPointer=isSmartPointer;this.pointeeType=pointeeType;this.sharingPolicy=sharingPolicy;this.rawGetPointee=rawGetPointee;this.rawConstructor=rawConstructor;this.rawShare=rawShare;this.rawDestructor=rawDestructor;if(!isSmartPointer&®isteredClass.baseClass===undefined){if(isConst){this["toWireType"]=constNoSmartPtrRawPointerToWireType;this.destructorFunction=null}else{this["toWireType"]=nonConstNoSmartPtrRawPointerToWireType;this.destructorFunction=null}}else{this["toWireType"]=genericPointerToWireType}}var replacePublicSymbol=(name,value,numArguments)=>{if(!Module.hasOwnProperty(name)){throwInternalError("Replacing nonexistent public symbol")}if(undefined!==Module[name].overloadTable&&undefined!==numArguments){Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}};var dynCallLegacy=(sig,ptr,args)=>{sig=sig.replace(/p/g,"i");var f=Module["dynCall_"+sig];return f(ptr,...args)};var wasmTable;var getWasmTableEntry=funcPtr=>wasmTable.get(funcPtr);var dynCall=(sig,ptr,args=[])=>{if(sig.includes("j")){return dynCallLegacy(sig,ptr,args)}var rtn=getWasmTableEntry(ptr)(...args);return rtn};var getDynCaller=(sig,ptr)=>(...args)=>dynCall(sig,ptr,args);var embind__requireFunction=(signature,rawFunction)=>{signature=readLatin1String(signature);function makeDynCaller(){if(signature.includes("j")){return getDynCaller(signature,rawFunction)}return getWasmTableEntry(rawFunction)}var fp=makeDynCaller();if(typeof fp!="function"){throwBindingError(`unknown function pointer with signature ${signature}: ${rawFunction}`)}return fp};var extendError=(baseErrorType,errorName)=>{var errorClass=createNamedFunction(errorName,function(message){this.name=errorName;this.message=message;var stack=new Error(message).stack;if(stack!==undefined){this.stack=this.toString()+"\n"+stack.replace(/^Error(:[^\n]*)?\n/,"")}});errorClass.prototype=Object.create(baseErrorType.prototype);errorClass.prototype.constructor=errorClass;errorClass.prototype.toString=function(){if(this.message===undefined){return this.name}else{return`${this.name}: ${this.message}`}};return errorClass};var UnboundTypeError;var getTypeName=type=>{var ptr=___getTypeName(type);var rv=readLatin1String(ptr);_free(ptr);return rv};var throwUnboundTypeError=(message,types)=>{var unboundTypes=[];var seen={};function visit(type){if(seen[type]){return}if(registeredTypes[type]){return}if(typeDependencies[type]){typeDependencies[type].forEach(visit);return}unboundTypes.push(type);seen[type]=true}types.forEach(visit);throw new UnboundTypeError(`${message}: `+unboundTypes.map(getTypeName).join([", "]))};var __embind_register_class=(rawType,rawPointerType,rawConstPointerType,baseClassRawType,getActualTypeSignature,getActualType,upcastSignature,upcast,downcastSignature,downcast,name,destructorSignature,rawDestructor)=>{name=readLatin1String(name);getActualType=embind__requireFunction(getActualTypeSignature,getActualType);upcast&&=embind__requireFunction(upcastSignature,upcast);downcast&&=embind__requireFunction(downcastSignature,downcast);rawDestructor=embind__requireFunction(destructorSignature,rawDestructor);var legalFunctionName=makeLegalFunctionName(name);exposePublicSymbol(legalFunctionName,function(){throwUnboundTypeError(`Cannot construct ${name} due to unbound types`,[baseClassRawType])});whenDependentTypesAreResolved([rawType,rawPointerType,rawConstPointerType],baseClassRawType?[baseClassRawType]:[],base=>{base=base[0];var baseClass;var basePrototype;if(baseClassRawType){baseClass=base.registeredClass;basePrototype=baseClass.instancePrototype}else{basePrototype=ClassHandle.prototype}var constructor=createNamedFunction(name,function(...args){if(Object.getPrototypeOf(this)!==instancePrototype){throw new BindingError("Use 'new' to construct "+name)}if(undefined===registeredClass.constructor_body){throw new BindingError(name+" has no accessible constructor")}var body=registeredClass.constructor_body[args.length];if(undefined===body){throw new BindingError(`Tried to invoke ctor of ${name} with invalid number of parameters (${args.length}) - expected (${Object.keys(registeredClass.constructor_body).toString()}) parameters instead!`)}return body.apply(this,args)});var instancePrototype=Object.create(basePrototype,{constructor:{value:constructor}});constructor.prototype=instancePrototype;var registeredClass=new RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast);if(registeredClass.baseClass){registeredClass.baseClass.__derivedClasses??=[];registeredClass.baseClass.__derivedClasses.push(registeredClass)}var referenceConverter=new RegisteredPointer(name,registeredClass,true,false,false);var pointerConverter=new RegisteredPointer(name+"*",registeredClass,false,false,false);var constPointerConverter=new RegisteredPointer(name+" const*",registeredClass,false,true,false);registeredPointers[rawType]={pointerType:pointerConverter,constPointerType:constPointerConverter};replacePublicSymbol(legalFunctionName,constructor);return[referenceConverter,pointerConverter,constPointerConverter]})};var heap32VectorToArray=(count,firstElement)=>{var array=[];for(var i=0;i<count;i++){array.push(HEAPU32[firstElement+i*4>>2])}return array};var runDestructors=destructors=>{while(destructors.length){var ptr=destructors.pop();var del=destructors.pop();del(ptr)}};function usesDestructorStack(argTypes){for(var i=1;i<argTypes.length;++i){if(argTypes[i]!==null&&argTypes[i].destructorFunction===undefined){return true}}return false}function newFunc(constructor,argumentList){if(!(constructor instanceof Function)){throw new TypeError(`new_ called with constructor type ${typeof constructor} which is not a function`)}var dummy=createNamedFunction(constructor.name||"unknownFunctionName",function(){});dummy.prototype=constructor.prototype;var obj=new dummy;var r=constructor.apply(obj,argumentList);return r instanceof Object?r:obj}function createJsInvoker(argTypes,isClassMethodFunc,returns,isAsync){var needsDestructorStack=usesDestructorStack(argTypes);var argCount=argTypes.length-2;var argsList=[];var argsListWired=["fn"];if(isClassMethodFunc){argsListWired.push("thisWired")}for(var i=0;i<argCount;++i){argsList.push(`arg${i}`);argsListWired.push(`arg${i}Wired`)}argsList=argsList.join(",");argsListWired=argsListWired.join(",");var invokerFnBody=`return function (${argsList}) {\n`;if(needsDestructorStack){invokerFnBody+="var destructors = [];\n"}var dtorStack=needsDestructorStack?"destructors":"null";var args1=["humanName","throwBindingError","invoker","fn","runDestructors","retType","classParam"];if(isClassMethodFunc){invokerFnBody+=`var thisWired = classParam['toWireType'](${dtorStack}, this);\n`}for(var i=0;i<argCount;++i){invokerFnBody+=`var arg${i}Wired = argType${i}['toWireType'](${dtorStack}, arg${i});\n`;args1.push(`argType${i}`)}invokerFnBody+=(returns||isAsync?"var rv = ":"")+`invoker(${argsListWired});\n`;if(needsDestructorStack){invokerFnBody+="runDestructors(destructors);\n"}else{for(var i=isClassMethodFunc?1:2;i<argTypes.length;++i){var paramName=i===1?"thisWired":"arg"+(i-2)+"Wired";if(argTypes[i].destructorFunction!==null){invokerFnBody+=`${paramName}_dtor(${paramName});\n`;args1.push(`${paramName}_dtor`)}}}if(returns){invokerFnBody+="var ret = retType['fromWireType'](rv);\n"+"return ret;\n"}else{}invokerFnBody+="}\n";return[args1,invokerFnBody]}function craftInvokerFunction(humanName,argTypes,classType,cppInvokerFunc,cppTargetFunc,isAsync){var argCount=argTypes.length;if(argCount<2){throwBindingError("argTypes array size mismatch! Must at least get return value and 'this' types!")}var isClassMethodFunc=argTypes[1]!==null&&classType!==null;var needsDestructorStack=usesDestructorStack(argTypes);var returns=argTypes[0].name!=="void";var closureArgs=[humanName,throwBindingError,cppInvokerFunc,cppTargetFunc,runDestructors,argTypes[0],argTypes[1]];for(var i=0;i<argCount-2;++i){closureArgs.push(argTypes[i+2])}if(!needsDestructorStack){for(var i=isClassMethodFunc?1:2;i<argTypes.length;++i){if(argTypes[i].destructorFunction!==null){closureArgs.push(argTypes[i].destructorFunction)}}}let[args,invokerFnBody]=createJsInvoker(argTypes,isClassMethodFunc,returns,isAsync);args.push(invokerFnBody);var invokerFn=newFunc(Function,args)(...closureArgs);return createNamedFunction(humanName,invokerFn)}var __embind_register_class_constructor=(rawClassType,argCount,rawArgTypesAddr,invokerSignature,invoker,rawConstructor)=>{var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);invoker=embind__requireFunction(invokerSignature,invoker);whenDependentTypesAreResolved([],[rawClassType],classType=>{classType=classType[0];var humanName=`constructor ${classType.name}`;if(undefined===classType.registeredClass.constructor_body){classType.registeredClass.constructor_body=[]}if(undefined!==classType.registeredClass.constructor_body[argCount-1]){throw new BindingError(`Cannot register multiple constructors with identical number of parameters (${argCount-1}) for class '${classType.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`)}classType.registeredClass.constructor_body[argCount-1]=()=>{throwUnboundTypeError(`Cannot construct ${classType.name} due to unbound types`,rawArgTypes)};whenDependentTypesAreResolved([],rawArgTypes,argTypes=>{argTypes.splice(1,0,null);classType.registeredClass.constructor_body[argCount-1]=craftInvokerFunction(humanName,argTypes,null,invoker,rawConstructor);return[]});return[]})};var getFunctionName=signature=>{signature=signature.trim();const argsIndex=signature.indexOf("(");if(argsIndex!==-1){return signature.substr(0,argsIndex)}else{return signature}};var __embind_register_class_function=(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,context,isPureVirtual,isAsync,isNonnullReturn)=>{var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=readLatin1String(methodName);methodName=getFunctionName(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker);whenDependentTypesAreResolved([],[rawClassType],classType=>{classType=classType[0];var humanName=`${classType.name}.${methodName}`;if(methodName.startsWith("@@")){methodName=Symbol[methodName.substring(2)]}if(isPureVirtual){classType.registeredClass.pureVirtualFunctions.push(methodName)}function unboundTypesHandler(){throwUnboundTypeError(`Cannot call ${humanName} due to unbound types`,rawArgTypes)}var proto=classType.registeredClass.instancePrototype;var method=proto[methodName];if(undefined===method||undefined===method.overloadTable&&method.className!==classType.name&&method.argCount===argCount-2){unboundTypesHandler.argCount=argCount-2;unboundTypesHandler.className=classType.name;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-2]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,argTypes=>{var memberFunction=craftInvokerFunction(humanName,argTypes,classType,rawInvoker,context,isAsync);if(undefined===proto[methodName].overloadTable){memberFunction.argCount=argCount-2;proto[methodName]=memberFunction}else{proto[methodName].overloadTable[argCount-2]=memberFunction}return[]});return[]})};var emval_freelist=[];var emval_handles=[];var __emval_decref=handle=>{if(handle>9&&0===--emval_handles[handle+1]){emval_handles[handle]=undefined;emval_freelist.push(handle)}};var count_emval_handles=()=>emval_handles.length/2-5-emval_freelist.length;var init_emval=()=>{emval_handles.push(0,1,undefined,1,null,1,true,1,false,1);Module["count_emval_handles"]=count_emval_handles};var Emval={toValue:handle=>{if(!handle){throwBindingError("Cannot use deleted val. handle = "+handle)}return emval_handles[handle]},toHandle:value=>{switch(value){case undefined:return 2;case null:return 4;case true:return 6;case false:return 8;default:{const handle=emval_freelist.pop()||emval_handles.length;emval_handles[handle]=value;emval_handles[handle+1]=1;return handle}}}};var EmValType={name:"emscripten::val",fromWireType:handle=>{var rv=Emval.toValue(handle);__emval_decref(handle);return rv},toWireType:(destructors,value)=>Emval.toHandle(value),argPackAdvance:GenericWireTypeSize,readValueFromPointer:readPointer,destructorFunction:null};var __embind_register_emval=rawType=>registerType(rawType,EmValType);var embindRepr=v=>{if(v===null){return"null"}var t=typeof v;if(t==="object"||t==="array"||t==="function"){return v.toString()}else{return""+v}};var floatReadValueFromPointer=(name,width)=>{switch(width){case 4:return function(pointer){return this["fromWireType"](HEAPF32[pointer>>2])};case 8:return function(pointer){return this["fromWireType"](HEAPF64[pointer>>3])};default:throw new TypeError(`invalid float width (${width}): ${name}`)}};var __embind_register_float=(rawType,name,size)=>{name=readLatin1String(name);registerType(rawType,{name,fromWireType:value=>value,toWireType:(destructors,value)=>value,argPackAdvance:GenericWireTypeSize,readValueFromPointer:floatReadValueFromPointer(name,size),destructorFunction:null})};var __embind_register_function=(name,argCount,rawArgTypesAddr,signature,rawInvoker,fn,isAsync,isNonnullReturn)=>{var argTypes=heap32VectorToArray(argCount,rawArgTypesAddr);name=readLatin1String(name);name=getFunctionName(name);rawInvoker=embind__requireFunction(signature,rawInvoker);exposePublicSymbol(name,function(){throwUnboundTypeError(`Cannot call ${name} due to unbound types`,argTypes)},argCount-1);whenDependentTypesAreResolved([],argTypes,argTypes=>{var invokerArgsArray=[argTypes[0],null].concat(argTypes.slice(1));replacePublicSymbol(name,craftInvokerFunction(name,invokerArgsArray,null,rawInvoker,fn,isAsync),argCount-1);return[]})};var integerReadValueFromPointer=(name,width,signed)=>{switch(width){case 1:return signed?pointer=>HEAP8[pointer]:pointer=>HEAPU8[pointer];case 2:return signed?pointer=>HEAP16[pointer>>1]:pointer=>HEAPU16[pointer>>1];case 4:return signed?pointer=>HEAP32[pointer>>2]:pointer=>HEAPU32[pointer>>2];default:throw new TypeError(`invalid integer width (${width}): ${name}`)}};var __embind_register_integer=(primitiveType,name,size,minRange,maxRange)=>{name=readLatin1String(name);if(maxRange===-1){maxRange=4294967295}var fromWireType=value=>value;if(minRange===0){var bitshift=32-8*size;fromWireType=value=>value<<bitshift>>>bitshift}var isUnsignedType=name.includes("unsigned");var checkAssertions=(value,toTypeName)=>{};var toWireType;if(isUnsignedType){toWireType=function(destructors,value){checkAssertions(value,this.name);return value>>>0}}else{toWireType=function(destructors,value){checkAssertions(value,this.name);return value}}registerType(primitiveType,{name,fromWireType,toWireType,argPackAdvance:GenericWireTypeSize,readValueFromPointer:integerReadValueFromPointer(name,size,minRange!==0),destructorFunction:null})};var __embind_register_memory_view=(rawType,dataTypeIndex,name)=>{var typeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];var TA=typeMapping[dataTypeIndex];function decodeMemoryView(handle){var size=HEAPU32[handle>>2];var data=HEAPU32[handle+4>>2];return new TA(HEAP8.buffer,data,size)}name=readLatin1String(name);registerType(rawType,{name,fromWireType:decodeMemoryView,argPackAdvance:GenericWireTypeSize,readValueFromPointer:decodeMemoryView},{ignoreDuplicateRegistrations:true})};var stringToUTF8Array=(str,heap,outIdx,maxBytesToWrite)=>{if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx};var stringToUTF8=(str,outPtr,maxBytesToWrite)=>stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite);var lengthBytesUTF8=str=>{var len=0;for(var i=0;i<str.length;++i){var c=str.charCodeAt(i);if(c<=127){len++}else if(c<=2047){len+=2}else if(c>=55296&&c<=57343){len+=4;++i}else{len+=3}}return len};var UTF8Decoder=typeof TextDecoder!="undefined"?new TextDecoder:undefined;var UTF8ArrayToString=(heapOrArray,idx=0,maxBytesToRead=NaN)=>{var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heapOrArray[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.subarray(idx,endPtr))}var str="";while(idx<endPtr){var u0=heapOrArray[idx++];if(!(u0&128)){str+=String.fromCharCode(u0);continue}var u1=heapOrArray[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}var u2=heapOrArray[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u0=(u0&7)<<18|u1<<12|u2<<6|heapOrArray[idx++]&63}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}return str};var UTF8ToString=(ptr,maxBytesToRead)=>ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):"";var __embind_register_std_string=(rawType,name)=>{name=readLatin1String(name);var stdStringIsUTF8=name==="std::string";registerType(rawType,{name,fromWireType(value){var length=HEAPU32[value>>2];var payload=value+4;var str;if(stdStringIsUTF8){var decodeStartPtr=payload;for(var i=0;i<=length;++i){var currentBytePtr=payload+i;if(i==length||HEAPU8[currentBytePtr]==0){var maxRead=currentBytePtr-decodeStartPtr;var stringSegment=UTF8ToString(decodeStartPtr,maxRead);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+1}}}else{var a=new Array(length);for(var i=0;i<length;++i){a[i]=String.fromCharCode(HEAPU8[payload+i])}str=a.join("")}_free(value);return str},toWireType(destructors,value){if(value instanceof ArrayBuffer){value=new Uint8Array(value)}var length;var valueIsOfTypeString=typeof value=="string";if(!(valueIsOfTypeString||value instanceof Uint8Array||value instanceof Uint8ClampedArray||value instanceof Int8Array)){throwBindingError("Cannot pass non-string to std::string")}if(stdStringIsUTF8&&valueIsOfTypeString){length=lengthBytesUTF8(value)}else{length=value.length}var base=_malloc(4+length+1);var ptr=base+4;HEAPU32[base>>2]=length;if(stdStringIsUTF8&&valueIsOfTypeString){stringToUTF8(value,ptr,length+1)}else{if(valueIsOfTypeString){for(var i=0;i<length;++i){var charCode=value.charCodeAt(i);if(charCode>255){_free(ptr);throwBindingError("String has UTF-16 code units that do not fit in 8 bits")}HEAPU8[ptr+i]=charCode}}else{for(var i=0;i<length;++i){HEAPU8[ptr+i]=value[i]}}}if(destructors!==null){destructors.push(_free,base)}return base},argPackAdvance:GenericWireTypeSize,readValueFromPointer:readPointer,destructorFunction(ptr){_free(ptr)}})};var UTF16Decoder=typeof TextDecoder!="undefined"?new TextDecoder("utf-16le"):undefined;var UTF16ToString=(ptr,maxBytesToRead)=>{var endPtr=ptr;var idx=endPtr>>1;var maxIdx=idx+maxBytesToRead/2;while(!(idx>=maxIdx)&&HEAPU16[idx])++idx;endPtr=idx<<1;if(endPtr-ptr>32&&UTF16Decoder)return UTF16Decoder.decode(HEAPU8.subarray(ptr,endPtr));var str="";for(var i=0;!(i>=maxBytesToRead/2);++i){var codeUnit=HEAP16[ptr+i*2>>1];if(codeUnit==0)break;str+=String.fromCharCode(codeUnit)}return str};var stringToUTF16=(str,outPtr,maxBytesToWrite)=>{maxBytesToWrite??=2147483647;if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite<str.length*2?maxBytesToWrite/2:str.length;for(var i=0;i<numCharsToWrite;++i){var codeUnit=str.charCodeAt(i);HEAP16[outPtr>>1]=codeUnit;outPtr+=2}HEAP16[outPtr>>1]=0;return outPtr-startPtr};var lengthBytesUTF16=str=>str.length*2;var UTF32ToString=(ptr,maxBytesToRead)=>{var i=0;var str="";while(!(i>=maxBytesToRead/4)){var utf32=HEAP32[ptr+i*4>>2];if(utf32==0)break;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}else{str+=String.fromCharCode(utf32)}}return str};var stringToUTF32=(str,outPtr,maxBytesToWrite)=>{maxBytesToWrite??=2147483647;if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i<str.length;++i){var codeUnit=str.charCodeAt(i);if(codeUnit>=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++i);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023}HEAP32[outPtr>>2]=codeUnit;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>2]=0;return outPtr-startPtr};var lengthBytesUTF32=str=>{var len=0;for(var i=0;i<str.length;++i){var codeUnit=str.charCodeAt(i);if(codeUnit>=55296&&codeUnit<=57343)++i;len+=4}return len};var __embind_register_std_wstring=(rawType,charSize,name)=>{name=readLatin1String(name);var decodeString,encodeString,readCharAt,lengthBytesUTF;if(charSize===2){decodeString=UTF16ToString;encodeString=stringToUTF16;lengthBytesUTF=lengthBytesUTF16;readCharAt=pointer=>HEAPU16[pointer>>1]}else if(charSize===4){decodeString=UTF32ToString;encodeString=stringToUTF32;lengthBytesUTF=lengthBytesUTF32;readCharAt=pointer=>HEAPU32[pointer>>2]}registerType(rawType,{name,fromWireType:value=>{var length=HEAPU32[value>>2];var str;var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i*charSize;if(i==length||readCharAt(currentBytePtr)==0){var maxReadBytes=currentBytePtr-decodeStartPtr;var stringSegment=decodeString(decodeStartPtr,maxReadBytes);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+charSize}}_free(value);return str},toWireType:(destructors,value)=>{if(!(typeof value=="string")){throwBindingError(`Cannot pass non-string to C++ string type ${name}`)}var length=lengthBytesUTF(value);var ptr=_malloc(4+length+charSize);HEAPU32[ptr>>2]=length/charSize;encodeString(value,ptr+4,length+charSize);if(destructors!==null){destructors.push(_free,ptr)}return ptr},argPackAdvance:GenericWireTypeSize,readValueFromPointer:readPointer,destructorFunction(ptr){_free(ptr)}})};var __embind_register_void=(rawType,name)=>{name=readLatin1String(name);registerType(rawType,{isVoid:true,name,argPackAdvance:0,fromWireType:()=>undefined,toWireType:(destructors,o)=>undefined})};var requireRegisteredType=(rawType,humanName)=>{var impl=registeredTypes[rawType];if(undefined===impl){throwBindingError(`${humanName} has unknown type ${getTypeName(rawType)}`)}return impl};var __emval_take_value=(type,arg)=>{type=requireRegisteredType(type,"_emval_take_value");var v=type["readValueFromPointer"](arg);return Emval.toHandle(v)};var readEmAsmArgsArray=[];var readEmAsmArgs=(sigPtr,buf)=>{readEmAsmArgsArray.length=0;var ch;while(ch=HEAPU8[sigPtr++]){var wide=ch!=105;wide&=ch!=112;buf+=wide&&buf%8?4:0;readEmAsmArgsArray.push(ch==112?HEAPU32[buf>>2]:ch==105?HEAP32[buf>>2]:HEAPF64[buf>>3]);buf+=wide?8:4}return readEmAsmArgsArray};var runEmAsmFunction=(code,sigPtr,argbuf)=>{var args=readEmAsmArgs(sigPtr,argbuf);return ASM_CONSTS[code](...args)};var _emscripten_asm_const_int=(code,sigPtr,argbuf)=>runEmAsmFunction(code,sigPtr,argbuf);var _emscripten_get_now=()=>performance.now();var abortOnCannotGrowMemory=requestedSize=>{abort("OOM")};var _emscripten_resize_heap=requestedSize=>{var oldSize=HEAPU8.length;requestedSize>>>=0;abortOnCannotGrowMemory(requestedSize)};var handleException=e=>{if(e instanceof ExitStatus||e=="unwind"){return EXITSTATUS}quit_(1,e)};var runtimeKeepaliveCounter=0;var keepRuntimeAlive=()=>noExitRuntime||runtimeKeepaliveCounter>0;var _proc_exit=code=>{EXITSTATUS=code;if(!keepRuntimeAlive()){Module["onExit"]?.(code);ABORT=true}quit_(code,new ExitStatus(code))};var exitJS=(status,implicit)=>{EXITSTATUS=status;_proc_exit(status)};var _exit=exitJS;var maybeExit=()=>{if(!keepRuntimeAlive()){try{_exit(EXITSTATUS)}catch(e){handleException(e)}}};var callUserCallback=func=>{if(ABORT){return}try{func();maybeExit()}catch(e){handleException(e)}};var _emscripten_set_interval=(cb,msecs,userData)=>setInterval(()=>{callUserCallback(()=>getWasmTableEntry(cb)(userData))},msecs);var printCharBuffers=[null,[],[]];var printChar=(stream,curr)=>{var buffer=printCharBuffers[stream];if(curr===0||curr===10){(stream===1?out:err)(UTF8ArrayToString(buffer));buffer.length=0}else{buffer.push(curr)}};var _fd_write=(fd,iov,iovcnt,pnum)=>{var num=0;for(var i=0;i<iovcnt;i++){var ptr=HEAPU32[iov>>2];var len=HEAPU32[iov+4>>2];iov+=8;for(var j=0;j<len;j++){printChar(fd,HEAPU8[ptr+j])}num+=len}HEAPU32[pnum>>2]=num;return 0};var initRandomFill=()=>{if(typeof crypto=="object"&&typeof crypto["getRandomValues"]=="function"){return view=>crypto.getRandomValues(view)}else if(ENVIRONMENT_IS_NODE){try{var crypto_module=require("crypto");var randomFillSync=crypto_module["randomFillSync"];if(randomFillSync){return view=>crypto_module["randomFillSync"](view)}var randomBytes=crypto_module["randomBytes"];return view=>(view.set(randomBytes(view.byteLength)),view)}catch(e){}}abort("initRandomDevice")};var randomFill=view=>(randomFill=initRandomFill())(view);var _getentropy=(buffer,size)=>{randomFill(HEAPU8.subarray(buffer,buffer+size));return 0};var getCFunc=ident=>{var func=Module["_"+ident];return func};var writeArrayToMemory=(array,buffer)=>{HEAP8.set(array,buffer)};var stackAlloc=sz=>__emscripten_stack_alloc(sz);var stringToUTF8OnStack=str=>{var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8(str,ret,size);return ret};var ccall=(ident,returnType,argTypes,args,opts)=>{var toC={string:str=>{var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=stringToUTF8OnStack(str)}return ret},array:arr=>{var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string"){return UTF8ToString(ret)}if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i<args.length;i++){var converter=toC[argTypes[i]];if(converter){if(stack===0)stack=stackSave();cArgs[i]=converter(args[i])}else{cArgs[i]=args[i]}}}var ret=func(...cArgs);function onDone(ret){if(stack!==0)stackRestore(stack);return convertReturnValue(ret)}ret=onDone(ret);return ret};var cwrap=(ident,returnType,argTypes,opts)=>{var numericArgs=!argTypes||argTypes.every(type=>type==="number"||type==="boolean");var numericRet=returnType!=="string";if(numericRet&&numericArgs&&!opts){return getCFunc(ident)}return(...args)=>ccall(ident,returnType,argTypes,args,opts)};embind_init_charCodes();BindingError=Module["BindingError"]=class BindingError extends Error{constructor(message){super(message);this.name="BindingError"}};InternalError=Module["InternalError"]=class InternalError extends Error{constructor(message){super(message);this.name="InternalError"}};init_ClassHandle();init_RegisteredPointer();UnboundTypeError=Module["UnboundTypeError"]=extendError(Error,"UnboundTypeError");init_emval();var wasmImports={h:___cxa_throw,o:__abort_js,m:__embind_register_bigint,k:__embind_register_bool,v:__embind_register_class,u:__embind_register_class_constructor,t:__embind_register_class_function,j:__embind_register_emval,g:__embind_register_float,q:__embind_register_function,b:__embind_register_integer,a:__embind_register_memory_view,f:__embind_register_std_string,c:__embind_register_std_wstring,l:__embind_register_void,s:__emval_decref,w:__emval_take_value,e:_emscripten_asm_const_int,d:_emscripten_get_now,p:_emscripten_resize_heap,r:_emscripten_set_interval,i:_fd_write,n:_getentropy};var wasmExports=createWasm();var ___wasm_call_ctors=()=>(___wasm_call_ctors=wasmExports["y"])();var ___getTypeName=a0=>(___getTypeName=wasmExports["z"])(a0);var _micros=Module["_micros"]=()=>(_micros=Module["_micros"]=wasmExports["B"])();var _millis=Module["_millis"]=()=>(_millis=Module["_millis"]=wasmExports["C"])();var _delay=Module["_delay"]=a0=>(_delay=Module["_delay"]=wasmExports["D"])(a0);var _malloc=Module["_malloc"]=a0=>(_malloc=Module["_malloc"]=wasmExports["E"])(a0);var _free=Module["_free"]=a0=>(_free=Module["_free"]=wasmExports["F"])(a0);var __Z15jsSetCanvasSizePKcm=Module["__Z15jsSetCanvasSizePKcm"]=(a0,a1)=>(__Z15jsSetCanvasSizePKcm=Module["__Z15jsSetCanvasSizePKcm"]=wasmExports["G"])(a0,a1);var __Z15jsSetCanvasSizeiRK9ScreenMap=Module["__Z15jsSetCanvasSizeiRK9ScreenMap"]=(a0,a1)=>(__Z15jsSetCanvasSizeiRK9ScreenMap=Module["__Z15jsSetCanvasSizeiRK9ScreenMap"]=wasmExports["H"])(a0,a1);var __Z25jsFillInMissingScreenMapsR15ActiveStripData=Module["__Z25jsFillInMissingScreenMapsR15ActiveStripData"]=a0=>(__Z25jsFillInMissingScreenMapsR15ActiveStripData=Module["__Z25jsFillInMissingScreenMapsR15ActiveStripData"]=wasmExports["I"])(a0);var __Z9jsOnFrameR15ActiveStripData=Module["__Z9jsOnFrameR15ActiveStripData"]=a0=>(__Z9jsOnFrameR15ActiveStripData=Module["__Z9jsOnFrameR15ActiveStripData"]=wasmExports["J"])(a0);var __Z14jsOnStripAddedmj=Module["__Z14jsOnStripAddedmj"]=(a0,a1)=>(__Z14jsOnStripAddedmj=Module["__Z14jsOnStripAddedmj"]=wasmExports["K"])(a0,a1);var __Z8updateJsPKc=Module["__Z8updateJsPKc"]=a0=>(__Z8updateJsPKc=Module["__Z8updateJsPKc"]=wasmExports["L"])(a0);var _extern_setup=Module["_extern_setup"]=()=>(_extern_setup=Module["_extern_setup"]=wasmExports["M"])();var _extern_loop=Module["_extern_loop"]=()=>(_extern_loop=Module["_extern_loop"]=wasmExports["N"])();var _async_start_loop=Module["_async_start_loop"]=()=>(_async_start_loop=Module["_async_start_loop"]=wasmExports["O"])();var __emscripten_stack_restore=a0=>(__emscripten_stack_restore=wasmExports["P"])(a0);var __emscripten_stack_alloc=a0=>(__emscripten_stack_alloc=wasmExports["Q"])(a0);var _emscripten_stack_get_current=()=>(_emscripten_stack_get_current=wasmExports["R"])();var dynCall_jiji=Module["dynCall_jiji"]=(a0,a1,a2,a3,a4)=>(dynCall_jiji=Module["dynCall_jiji"]=wasmExports["S"])(a0,a1,a2,a3,a4);Module["ccall"]=ccall;Module["cwrap"]=cwrap;var calledRun;var calledPrerun;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function run(){if(runDependencies>0){return}if(!calledPrerun){calledPrerun=1;preRun();if(runDependencies>0){return}}function doRun(){if(calledRun)return;calledRun=1;Module["calledRun"]=1;if(ABORT)return;initRuntime();readyPromiseResolve(Module);Module["onRuntimeInitialized"]?.();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(()=>{setTimeout(()=>Module["setStatus"](""),1);doRun()},1)}else{doRun()}}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}run();moduleRtn=readyPromise;
|
10
|
-
|
11
|
-
|
12
|
-
return moduleRtn;
|
13
|
-
}
|
14
|
-
);
|
15
|
-
})();
|
16
|
-
if (typeof exports === 'object' && typeof module === 'object')
|
17
|
-
module.exports = fastled;
|
18
|
-
else if (typeof define === 'function' && define['amd'])
|
19
|
-
define([], () => fastled);
|
fastled-1.1.68/docs/fastled.wasm
DELETED
Binary file
|
fastled-1.1.68/docs/index.css
DELETED
@@ -1,158 +0,0 @@
|
|
1
|
-
body {
|
2
|
-
background-color: #121212;
|
3
|
-
/* Dark gray background */
|
4
|
-
color: #E0E0E0;
|
5
|
-
/* Light gray text */
|
6
|
-
margin: 0;
|
7
|
-
padding: 0;
|
8
|
-
font-family: 'Roboto Condensed', sans-serif;
|
9
|
-
display: flex;
|
10
|
-
flex-direction: column;
|
11
|
-
align-items: center;
|
12
|
-
min-height: 100vh;
|
13
|
-
opacity: 0;
|
14
|
-
/* Initially hide the content */
|
15
|
-
transition: opacity 0.5s ease-in;
|
16
|
-
/* Fade-in effect */
|
17
|
-
}
|
18
|
-
|
19
|
-
#ui-controls {
|
20
|
-
flex: 0 0 300px;
|
21
|
-
display: none;
|
22
|
-
flex-direction: column;
|
23
|
-
align-items: flex-start;
|
24
|
-
}
|
25
|
-
|
26
|
-
#ui-controls.active {
|
27
|
-
display: flex;
|
28
|
-
}
|
29
|
-
|
30
|
-
.ui-control {
|
31
|
-
margin: 10px 0;
|
32
|
-
display: flex;
|
33
|
-
flex-direction: column;
|
34
|
-
align-items: center;
|
35
|
-
}
|
36
|
-
|
37
|
-
.ui-control input[type="range"] {
|
38
|
-
width: 200px;
|
39
|
-
}
|
40
|
-
|
41
|
-
h1 {
|
42
|
-
font-size: 6em;
|
43
|
-
margin-top: 10vh;
|
44
|
-
margin-bottom: 40px;
|
45
|
-
text-align: center;
|
46
|
-
font-weight: 300;
|
47
|
-
letter-spacing: 1px;
|
48
|
-
line-height: 1.2;
|
49
|
-
position: relative;
|
50
|
-
animation: continuousGlow 4s ease-in-out infinite;
|
51
|
-
}
|
52
|
-
|
53
|
-
@keyframes continuousGlow {
|
54
|
-
0% {
|
55
|
-
text-shadow: 0 0 5px rgba(224, 224, 224, 0.1);
|
56
|
-
}
|
57
|
-
|
58
|
-
25% {
|
59
|
-
text-shadow: 0 0 20px rgba(224, 224, 224, 0.3);
|
60
|
-
}
|
61
|
-
|
62
|
-
50% {
|
63
|
-
text-shadow: 0 0 30px rgba(224, 224, 224, 0.5);
|
64
|
-
}
|
65
|
-
|
66
|
-
75% {
|
67
|
-
text-shadow: 0 0 20px rgba(224, 224, 224, 0.3);
|
68
|
-
}
|
69
|
-
|
70
|
-
100% {
|
71
|
-
text-shadow: 0 0 5px rgba(224, 224, 224, 0.1);
|
72
|
-
}
|
73
|
-
}
|
74
|
-
|
75
|
-
#main-container {
|
76
|
-
display: flex;
|
77
|
-
flex-direction: column;
|
78
|
-
align-items: center;
|
79
|
-
width: 100%;
|
80
|
-
max-width: 1000px; /* Adjust this value as needed */
|
81
|
-
margin: 20px auto;
|
82
|
-
}
|
83
|
-
|
84
|
-
#top-row {
|
85
|
-
display: flex;
|
86
|
-
justify-content: center;
|
87
|
-
align-items: flex-start;
|
88
|
-
width: 100%;
|
89
|
-
margin-bottom: 20px;
|
90
|
-
}
|
91
|
-
|
92
|
-
#canvas-container {
|
93
|
-
flex: 0 0 auto;
|
94
|
-
margin-right: 20px;
|
95
|
-
}
|
96
|
-
|
97
|
-
#myCanvas {
|
98
|
-
background-color: #1E1E1E;
|
99
|
-
width: 320px;
|
100
|
-
height: 320px;
|
101
|
-
image-rendering: pixelated;
|
102
|
-
box-shadow: 0 0 20px rgba(255, 255, 255, 0.2);
|
103
|
-
}
|
104
|
-
|
105
|
-
#output {
|
106
|
-
font-size: 1em;
|
107
|
-
padding: 20px;
|
108
|
-
white-space: pre-wrap;
|
109
|
-
width: 100%;
|
110
|
-
background-color: #1E1E1E;
|
111
|
-
border-radius: 5px;
|
112
|
-
box-shadow: 0 0 10px rgba(255, 255, 255, 0.1);
|
113
|
-
}
|
114
|
-
|
115
|
-
.ui-control {
|
116
|
-
margin: 10px 0;
|
117
|
-
display: flex;
|
118
|
-
justify-content: space-between;
|
119
|
-
align-items: center;
|
120
|
-
width: 100%;
|
121
|
-
}
|
122
|
-
|
123
|
-
.ui-control label {
|
124
|
-
margin-right: 10px;
|
125
|
-
/* Adjust space between label and checkbox */
|
126
|
-
}
|
127
|
-
|
128
|
-
.ui-control input[type="checkbox"] {
|
129
|
-
cursor: pointer;
|
130
|
-
transform: scale(1.5);
|
131
|
-
/* Optionally, scale the checkbox for better visibility */
|
132
|
-
}
|
133
|
-
|
134
|
-
.ui-control button {
|
135
|
-
padding: 10px 20px;
|
136
|
-
font-size: 16px;
|
137
|
-
cursor: pointer;
|
138
|
-
background-color: #1E90FF;
|
139
|
-
color: white;
|
140
|
-
border: none;
|
141
|
-
border-radius: 5px;
|
142
|
-
transition: background-color 0.2s ease-in-out;
|
143
|
-
}
|
144
|
-
|
145
|
-
.ui-control button:active,
|
146
|
-
.ui-control button.active {
|
147
|
-
background-color: #0066CC;
|
148
|
-
}
|
149
|
-
|
150
|
-
.ui-control input[type="number"] {
|
151
|
-
width: 100px;
|
152
|
-
padding: 5px;
|
153
|
-
font-size: 16px;
|
154
|
-
background-color: #2E2E2E;
|
155
|
-
color: #E0E0E0;
|
156
|
-
border: 1px solid #444;
|
157
|
-
border-radius: 4px;
|
158
|
-
}
|
fastled-1.1.68/docs/index.html
DELETED
@@ -1,113 +0,0 @@
|
|
1
|
-
<!DOCTYPE html>
|
2
|
-
<html lang="en">
|
3
|
-
|
4
|
-
<head>
|
5
|
-
<meta charset="UTF-8">
|
6
|
-
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
7
|
-
<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate">
|
8
|
-
<meta http-equiv="Pragma" content="no-cache">
|
9
|
-
<meta http-equiv="Expires" content="0">
|
10
|
-
<title>FastLED.js</title>
|
11
|
-
|
12
|
-
<link rel="stylesheet" href="index.css">
|
13
|
-
<!-- Include Google Fonts -->
|
14
|
-
<link href="https://fonts.googleapis.com/css2?family=Roboto+Condensed:wght@300&display=swap" rel="stylesheet">
|
15
|
-
|
16
|
-
</head>
|
17
|
-
|
18
|
-
<body>
|
19
|
-
<h1>FastLED.js</h1>
|
20
|
-
<div id="main-container">
|
21
|
-
<div id="top-row">
|
22
|
-
<div id="canvas-container">
|
23
|
-
<canvas id="myCanvas" width="16" height="16"></canvas>
|
24
|
-
</div>
|
25
|
-
<div id="ui-controls"></div>
|
26
|
-
</div>
|
27
|
-
<div id="container"></div>
|
28
|
-
<pre id="output"></pre>
|
29
|
-
</div>
|
30
|
-
|
31
|
-
<script type="importmap">
|
32
|
-
{
|
33
|
-
"imports": {
|
34
|
-
"three": "https://threejs.org/build/three.module.js",
|
35
|
-
"three/addons/": "https://threejs.org/examples/jsm/"
|
36
|
-
}
|
37
|
-
}
|
38
|
-
</script>
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
</body>
|
43
|
-
|
44
|
-
<script type="module">
|
45
|
-
import * as THREE from 'three';
|
46
|
-
|
47
|
-
import Stats from 'three/addons/libs/stats.module.js';
|
48
|
-
import { GUI } from 'three/addons/libs/lil-gui.module.min.js';
|
49
|
-
|
50
|
-
import { OrbitControls } from 'three/addons/controls/OrbitControls.js';
|
51
|
-
import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js';
|
52
|
-
import { EffectComposer } from 'three/addons/postprocessing/EffectComposer.js';
|
53
|
-
import { RenderPass } from 'three/addons/postprocessing/RenderPass.js';
|
54
|
-
import { UnrealBloomPass } from 'three/addons/postprocessing/UnrealBloomPass.js';
|
55
|
-
import { OutputPass } from 'three/addons/postprocessing/OutputPass.js';
|
56
|
-
|
57
|
-
window.threeJsModules = { THREE, Stats, GUI, OrbitControls, GLTFLoader, EffectComposer, RenderPass, UnrealBloomPass, OutputPass };
|
58
|
-
</script>
|
59
|
-
|
60
|
-
|
61
|
-
<!-- Include the FastLED script -->
|
62
|
-
<script src="fastled.js"></script>
|
63
|
-
<script src="index.js"></script>
|
64
|
-
<script type="module">
|
65
|
-
|
66
|
-
async function loadThreeJs() {
|
67
|
-
console.log('Using ThreeJS modules:', window.threeJsModules);
|
68
|
-
return {
|
69
|
-
containerId: "container",
|
70
|
-
modules: window.threeJsModules,
|
71
|
-
};
|
72
|
-
}
|
73
|
-
|
74
|
-
// load fastled when the window is loaded.
|
75
|
-
async function loadFastLed() {
|
76
|
-
// Load the FastLED module.
|
77
|
-
const threeJs = await loadThreeJs();
|
78
|
-
const options = {
|
79
|
-
canvasId: "myCanvas",
|
80
|
-
uiControlsId: "ui-controls",
|
81
|
-
printId: "output",
|
82
|
-
frameRate: 60,
|
83
|
-
fastled: fastled,
|
84
|
-
threeJs: threeJs,
|
85
|
-
}
|
86
|
-
await globalThis.loadFastLED(options);
|
87
|
-
}
|
88
|
-
|
89
|
-
// Wait for fonts to load before showing content
|
90
|
-
if (document.fonts && document.fonts.ready) {
|
91
|
-
document.fonts.ready.then(function () {
|
92
|
-
document.body.style.opacity = 1;
|
93
|
-
});
|
94
|
-
} else {
|
95
|
-
// Fallback for browsers that do not support document.fonts
|
96
|
-
window.onload = function () {
|
97
|
-
document.body.style.opacity = 1;
|
98
|
-
};
|
99
|
-
}
|
100
|
-
|
101
|
-
let loaded = false;
|
102
|
-
let loadFastLedOnce = () => {
|
103
|
-
if (loaded) return;
|
104
|
-
loadFastLed();
|
105
|
-
loaded = true;
|
106
|
-
}
|
107
|
-
|
108
|
-
window.addEventListener('load', loadFastLedOnce);
|
109
|
-
setTimeout(loadFastLedOnce, 100);
|
110
|
-
</script>
|
111
|
-
|
112
|
-
|
113
|
-
</html>
|