xs-dev 0.32.6 → 0.32.7

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.
Files changed (156) hide show
  1. package/build/package.json +128 -0
  2. package/build/src/cli.js +71 -0
  3. package/build/src/commands/build.js +135 -0
  4. package/build/src/commands/clean.js +123 -0
  5. package/build/src/commands/debug.js +112 -0
  6. package/build/src/commands/doctor.js +100 -0
  7. package/build/src/commands/include.js +93 -0
  8. package/build/src/commands/init.js +132 -0
  9. package/build/src/commands/remove.js +82 -0
  10. package/build/src/commands/run.js +135 -0
  11. package/build/src/commands/scan.js +74 -0
  12. package/build/src/commands/setup.js +128 -0
  13. package/build/src/commands/teardown.js +41 -0
  14. package/build/src/commands/update.js +57 -0
  15. package/build/{commands → src/commands}/xs-dev.js +1 -1
  16. package/build/{extensions → src/extensions}/build-extension.js +1 -1
  17. package/build/{extensions → src/extensions}/setup-extension.js +1 -1
  18. package/build/{extensions → src/extensions}/update-extension.js +1 -1
  19. package/build/src/toolbox/build/index.js +245 -0
  20. package/build/{toolbox → src/toolbox}/patching/upsert.js +1 -1
  21. package/build/src/toolbox/prompt/choices.js +14 -0
  22. package/build/{toolbox → src/toolbox}/prompt/devices.js +1 -1
  23. package/build/src/toolbox/scan/parse.js +85 -0
  24. package/build/src/toolbox/setup/constants.js +35 -0
  25. package/build/src/toolbox/setup/ejectfix.js +61 -0
  26. package/build/{toolbox → src/toolbox}/setup/esp32/linux.js +1 -1
  27. package/build/src/toolbox/setup/esp32/mac.js +60 -0
  28. package/build/{toolbox → src/toolbox}/setup/esp32/windows.js +2 -3
  29. package/build/{toolbox → src/toolbox}/setup/esp32.js +3 -4
  30. package/build/{toolbox → src/toolbox}/setup/esp8266/linux.js +1 -1
  31. package/build/src/toolbox/setup/esp8266/mac.js +41 -0
  32. package/build/{toolbox → src/toolbox}/setup/esp8266/windows.js +1 -1
  33. package/build/{toolbox → src/toolbox}/setup/esp8266.js +1 -1
  34. package/build/{toolbox → src/toolbox}/setup/homebrew.js +1 -1
  35. package/build/{toolbox → src/toolbox}/setup/linux.js +2 -3
  36. package/build/{toolbox → src/toolbox}/setup/mac.js +2 -3
  37. package/build/src/toolbox/setup/moddable.js +84 -0
  38. package/build/{toolbox → src/toolbox}/setup/nrf52/windows.js +1 -1
  39. package/build/{toolbox → src/toolbox}/setup/nrf52.js +1 -1
  40. package/build/{toolbox → src/toolbox}/setup/pico/linux.js +1 -1
  41. package/build/{toolbox → src/toolbox}/setup/pico/mac.js +1 -1
  42. package/build/src/toolbox/setup/pico.js +165 -0
  43. package/build/{toolbox → src/toolbox}/setup/types.js +1 -1
  44. package/build/src/toolbox/setup/wasm.js +124 -0
  45. package/build/{toolbox → src/toolbox}/setup/windows.js +4 -6
  46. package/build/src/toolbox/system/exec.js +79 -0
  47. package/build/src/toolbox/system/python.js +20 -0
  48. package/build/src/toolbox/update/esp32.js +101 -0
  49. package/build/{toolbox → src/toolbox}/update/esp8266.js +1 -1
  50. package/build/src/toolbox/update/linux.js +110 -0
  51. package/build/src/toolbox/update/mac.js +118 -0
  52. package/build/{toolbox → src/toolbox}/update/nrf52.js +1 -1
  53. package/build/src/toolbox/update/pico.js +132 -0
  54. package/build/{toolbox → src/toolbox}/update/wasm.js +1 -1
  55. package/build/{toolbox → src/toolbox}/update/windows.js +1 -1
  56. package/build/{types.js → src/types.js} +1 -1
  57. package/build/types/src/cli.d.ts +6 -0
  58. package/build/types/src/commands/build.d.ts +3 -0
  59. package/build/types/src/commands/clean.d.ts +3 -0
  60. package/build/types/src/commands/debug.d.ts +3 -0
  61. package/build/types/src/commands/doctor.d.ts +3 -0
  62. package/build/types/src/commands/include.d.ts +3 -0
  63. package/build/types/src/commands/init.d.ts +3 -0
  64. package/build/types/src/commands/remove.d.ts +3 -0
  65. package/build/types/src/commands/run.d.ts +3 -0
  66. package/build/types/src/commands/scan.d.ts +3 -0
  67. package/build/types/src/commands/setup.d.ts +3 -0
  68. package/build/types/src/commands/teardown.d.ts +3 -0
  69. package/build/types/src/commands/update.d.ts +3 -0
  70. package/package.json +10 -10
  71. package/tsconfig.json +2 -1
  72. package/bin/xs-dev +0 -21
  73. package/build/cli.js +0 -23
  74. package/build/commands/build.js +0 -30
  75. package/build/commands/clean.js +0 -29
  76. package/build/commands/debug.js +0 -30
  77. package/build/commands/doctor.js +0 -97
  78. package/build/commands/include.js +0 -69
  79. package/build/commands/init.js +0 -87
  80. package/build/commands/remove.js +0 -58
  81. package/build/commands/run.js +0 -31
  82. package/build/commands/scan.js +0 -80
  83. package/build/commands/setup.js +0 -69
  84. package/build/commands/teardown.js +0 -37
  85. package/build/commands/update.js +0 -15
  86. package/build/toolbox/build/index.js +0 -245
  87. package/build/toolbox/prompt/choices.js +0 -14
  88. package/build/toolbox/scan/parse.js +0 -85
  89. package/build/toolbox/setup/constants.js +0 -37
  90. package/build/toolbox/setup/ejectfix.js +0 -62
  91. package/build/toolbox/setup/esp32/mac.js +0 -61
  92. package/build/toolbox/setup/esp8266/mac.js +0 -41
  93. package/build/toolbox/setup/moddable.js +0 -85
  94. package/build/toolbox/setup/pico.js +0 -166
  95. package/build/toolbox/setup/wasm.js +0 -125
  96. package/build/toolbox/system/exec.js +0 -80
  97. package/build/toolbox/system/python.js +0 -21
  98. package/build/toolbox/update/esp32.js +0 -102
  99. package/build/toolbox/update/linux.js +0 -111
  100. package/build/toolbox/update/mac.js +0 -119
  101. package/build/toolbox/update/pico.js +0 -133
  102. package/build/types/cli.d.ts +0 -1
  103. package/build/types/commands/build.d.ts +0 -4
  104. package/build/types/commands/clean.d.ts +0 -4
  105. package/build/types/commands/debug.d.ts +0 -4
  106. package/build/types/commands/doctor.d.ts +0 -3
  107. package/build/types/commands/include.d.ts +0 -3
  108. package/build/types/commands/init.d.ts +0 -3
  109. package/build/types/commands/remove.d.ts +0 -3
  110. package/build/types/commands/run.d.ts +0 -4
  111. package/build/types/commands/scan.d.ts +0 -4
  112. package/build/types/commands/setup.d.ts +0 -4
  113. package/build/types/commands/teardown.d.ts +0 -3
  114. package/build/types/commands/update.d.ts +0 -4
  115. /package/build/types/{commands → src/commands}/xs-dev.d.ts +0 -0
  116. /package/build/types/{extensions → src/extensions}/build-extension.d.ts +0 -0
  117. /package/build/types/{extensions → src/extensions}/setup-extension.d.ts +0 -0
  118. /package/build/types/{extensions → src/extensions}/update-extension.d.ts +0 -0
  119. /package/build/types/{toolbox → src/toolbox}/build/index.d.ts +0 -0
  120. /package/build/types/{toolbox → src/toolbox}/patching/upsert.d.ts +0 -0
  121. /package/build/types/{toolbox → src/toolbox}/prompt/choices.d.ts +0 -0
  122. /package/build/types/{toolbox → src/toolbox}/prompt/devices.d.ts +0 -0
  123. /package/build/types/{toolbox → src/toolbox}/scan/parse.d.ts +0 -0
  124. /package/build/types/{toolbox → src/toolbox}/setup/constants.d.ts +0 -0
  125. /package/build/types/{toolbox → src/toolbox}/setup/ejectfix.d.ts +0 -0
  126. /package/build/types/{toolbox → src/toolbox}/setup/esp32/linux.d.ts +0 -0
  127. /package/build/types/{toolbox → src/toolbox}/setup/esp32/mac.d.ts +0 -0
  128. /package/build/types/{toolbox → src/toolbox}/setup/esp32/windows.d.ts +0 -0
  129. /package/build/types/{toolbox → src/toolbox}/setup/esp32.d.ts +0 -0
  130. /package/build/types/{toolbox → src/toolbox}/setup/esp8266/linux.d.ts +0 -0
  131. /package/build/types/{toolbox → src/toolbox}/setup/esp8266/mac.d.ts +0 -0
  132. /package/build/types/{toolbox → src/toolbox}/setup/esp8266/windows.d.ts +0 -0
  133. /package/build/types/{toolbox → src/toolbox}/setup/esp8266.d.ts +0 -0
  134. /package/build/types/{toolbox → src/toolbox}/setup/homebrew.d.ts +0 -0
  135. /package/build/types/{toolbox → src/toolbox}/setup/linux.d.ts +0 -0
  136. /package/build/types/{toolbox → src/toolbox}/setup/mac.d.ts +0 -0
  137. /package/build/types/{toolbox → src/toolbox}/setup/moddable.d.ts +0 -0
  138. /package/build/types/{toolbox → src/toolbox}/setup/nrf52/windows.d.ts +0 -0
  139. /package/build/types/{toolbox → src/toolbox}/setup/nrf52.d.ts +0 -0
  140. /package/build/types/{toolbox → src/toolbox}/setup/pico/linux.d.ts +0 -0
  141. /package/build/types/{toolbox → src/toolbox}/setup/pico/mac.d.ts +0 -0
  142. /package/build/types/{toolbox → src/toolbox}/setup/pico.d.ts +0 -0
  143. /package/build/types/{toolbox → src/toolbox}/setup/types.d.ts +0 -0
  144. /package/build/types/{toolbox → src/toolbox}/setup/wasm.d.ts +0 -0
  145. /package/build/types/{toolbox → src/toolbox}/setup/windows.d.ts +0 -0
  146. /package/build/types/{toolbox → src/toolbox}/system/exec.d.ts +0 -0
  147. /package/build/types/{toolbox → src/toolbox}/system/python.d.ts +0 -0
  148. /package/build/types/{toolbox → src/toolbox}/update/esp32.d.ts +0 -0
  149. /package/build/types/{toolbox → src/toolbox}/update/esp8266.d.ts +0 -0
  150. /package/build/types/{toolbox → src/toolbox}/update/linux.d.ts +0 -0
  151. /package/build/types/{toolbox → src/toolbox}/update/mac.d.ts +0 -0
  152. /package/build/types/{toolbox → src/toolbox}/update/nrf52.d.ts +0 -0
  153. /package/build/types/{toolbox → src/toolbox}/update/pico.d.ts +0 -0
  154. /package/build/types/{toolbox → src/toolbox}/update/wasm.d.ts +0 -0
  155. /package/build/types/{toolbox → src/toolbox}/update/windows.d.ts +0 -0
  156. /package/build/types/{types.d.ts → src/types.d.ts} +0 -0
@@ -0,0 +1,128 @@
1
+ {
2
+ "name": "xs-dev",
3
+ "version": "0.32.7",
4
+ "description": "CLI for automating the setup and usage of Moddable XS tools",
5
+ "types": "build/types/types.d.ts",
6
+ "engines": {
7
+ "node": ">=20"
8
+ },
9
+ "bin": {
10
+ "xs-dev": "build/src/cli.js"
11
+ },
12
+ "scripts": {
13
+ "xs-dev": "tsx src/cli.ts",
14
+ "format": "prettier --write **/*.{js,ts,json}",
15
+ "lint": "eslint src/",
16
+ "clean-build": "rm -rf ./build",
17
+ "compile": "tsc -p .",
18
+ "copy-templates": "if [ -e ./src/templates ]; then cp -a ./src/templates ./build/; fi",
19
+ "build": "pnpm run format && pnpm run lint && pnpm run clean-build && pnpm run compile && pnpm run copy-templates",
20
+ "prepublishOnly": "pnpm run build",
21
+ "test": "jest",
22
+ "watch": "jest --watch",
23
+ "snapupdate": "jest --updateSnapshot",
24
+ "coverage": "jest --coverage",
25
+ "start:docs": "astro dev --root ./docs",
26
+ "build:docs": "astro build --root ./docs",
27
+ "preview:docs": "astro preview --root ./docs",
28
+ "ci:version:changeset": "changeset version",
29
+ "ci:version": "pnpm ci:version:changeset && pnpm ci:version:install",
30
+ "ci:version:install": "pnpm install --frozen-lockfile=false",
31
+ "ci:publish": "changeset publish",
32
+ "release": "auto shipit"
33
+ },
34
+ "files": [
35
+ "tsconfig.json",
36
+ "build",
37
+ "LICENSE",
38
+ "README.md",
39
+ "docs"
40
+ ],
41
+ "license": "MIT",
42
+ "repository": {
43
+ "type": "git",
44
+ "url": "https://github.com/HipsterBrown/xs-dev.git"
45
+ },
46
+ "dependencies": {
47
+ "@octokit/rest": "^19.0.3",
48
+ "@stricli/core": "^1.1.0",
49
+ "axios": "^1.2.1",
50
+ "gluegun": "^5.1.2",
51
+ "serialport": "^10.3.0",
52
+ "serve-handler": "^6.1.3",
53
+ "simple-plist": "^1.3.1",
54
+ "tar-fs": "^2.1.1",
55
+ "unzip-stream": "^0.3.1",
56
+ "usb": "^2.2.0",
57
+ "windows-shortcuts": "^0.1.6"
58
+ },
59
+ "optionalDependencies": {
60
+ "node-liblzma": "^1.1.9"
61
+ },
62
+ "devDependencies": {
63
+ "@astrojs/starlight": "^0.25.4",
64
+ "@auto-it/all-contributors": "^11.2.1",
65
+ "@auto-it/conventional-commits": "^11.2.1",
66
+ "@auto-it/first-time-contributor": "^11.2.1",
67
+ "@auto-it/magic-zero": "^11.2.1",
68
+ "@babel/core": ">=7.20.12 <8.0.0",
69
+ "@changesets/cli": "^2.19.0",
70
+ "@justinribeiro/lite-youtube": "^1.5.0",
71
+ "@types/jest": "^27.4.0",
72
+ "@types/node": "^18.11.19",
73
+ "@types/serve-handler": "^6.1.1",
74
+ "@types/tar-fs": "^2.0.1",
75
+ "@types/unzip-stream": "^0.3.1",
76
+ "@typescript-eslint/eslint-plugin": "^8.1.0",
77
+ "@typescript-eslint/parser": "^8.1.0",
78
+ "astro": "4.13.3",
79
+ "auto": "^11.2.1",
80
+ "eslint": "^8.57.0",
81
+ "eslint-config-love": "^62.0.0",
82
+ "eslint-config-prettier": "^8.3.0",
83
+ "eslint-plugin-import": "^2.29.1",
84
+ "eslint-plugin-node": "^11.1.0",
85
+ "eslint-plugin-prettier": "^5.2.1",
86
+ "eslint-plugin-promise": "^7.1.0",
87
+ "jest": "^29.7.0",
88
+ "prettier": "^3.3.3",
89
+ "rollup": "^2.78.1",
90
+ "solid-js": "^1.4.3",
91
+ "tailwindcss": "^3.0.24",
92
+ "ts-jest": "^29.2.4",
93
+ "ts-node": "^10.9.2",
94
+ "tsx": "^4.19.2",
95
+ "typescript": "^5.5.4",
96
+ "typescript-eslint": "^8.1.0"
97
+ },
98
+ "jest": {
99
+ "preset": "ts-jest",
100
+ "testEnvironment": "node"
101
+ },
102
+ "volta": {
103
+ "node": "18.14.0"
104
+ },
105
+ "prettier": {
106
+ "semi": false,
107
+ "singleQuote": true
108
+ },
109
+ "pnpm": {
110
+ "overrides": {
111
+ "semver@>=7.0.0 <7.5.2": ">=7.5.2",
112
+ "ejs@<3.1.7": ">=3.1.7",
113
+ "axios@>=0.8.1 <1.6.0": ">=1.6.0",
114
+ "minimatch@<3.0.5": ">=3.0.5"
115
+ }
116
+ },
117
+ "author": "HipsterBrown <headhipster@hipsterbrown.com>",
118
+ "auto": {
119
+ "plugins": [
120
+ "magic-zero",
121
+ "npm",
122
+ "all-contributors",
123
+ "conventional-commits",
124
+ "first-time-contributor",
125
+ "released"
126
+ ]
127
+ }
128
+ }
@@ -0,0 +1,71 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ var __importDefault = (this && this.__importDefault) || function (mod) {
4
+ return (mod && mod.__esModule) ? mod : { "default": mod };
5
+ };
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ const node_process_1 = __importDefault(require("node:process"));
8
+ const gluegun_1 = require("gluegun");
9
+ // @ts-expect-error opaque import path, to be replaced by vendored solution
10
+ const template_tools_1 = require("gluegun/build/toolbox/template-tools");
11
+ const core_1 = require("@stricli/core");
12
+ const package_json_1 = require("../package.json");
13
+ const build_1 = __importDefault(require("./commands/build"));
14
+ const clean_1 = __importDefault(require("./commands/clean"));
15
+ const debug_1 = __importDefault(require("./commands/debug"));
16
+ const doctor_1 = __importDefault(require("./commands/doctor"));
17
+ const include_1 = __importDefault(require("./commands/include"));
18
+ const init_1 = __importDefault(require("./commands/init"));
19
+ const remove_1 = __importDefault(require("./commands/remove"));
20
+ const run_1 = __importDefault(require("./commands/run"));
21
+ const scan_1 = __importDefault(require("./commands/scan"));
22
+ const setup_1 = __importDefault(require("./commands/setup"));
23
+ const teardown_1 = __importDefault(require("./commands/teardown"));
24
+ const update_1 = __importDefault(require("./commands/update"));
25
+ const commands = (0, core_1.buildRouteMap)({
26
+ routes: {
27
+ build: build_1.default,
28
+ clean: clean_1.default,
29
+ debug: debug_1.default,
30
+ doctor: doctor_1.default,
31
+ include: include_1.default,
32
+ init: init_1.default,
33
+ remove: remove_1.default,
34
+ run: run_1.default,
35
+ scan: scan_1.default,
36
+ setup: setup_1.default,
37
+ teardown: teardown_1.default,
38
+ update: update_1.default,
39
+ },
40
+ aliases: {
41
+ dr: 'doctor',
42
+ info: 'doctor',
43
+ },
44
+ docs: {
45
+ brief: package_json_1.description,
46
+ },
47
+ });
48
+ const app = (0, core_1.buildApplication)(commands, {
49
+ name: package_json_1.name,
50
+ versionInfo: {
51
+ currentVersion: package_json_1.version,
52
+ },
53
+ });
54
+ /**
55
+ * Create the cli and kick it off
56
+ */
57
+ (0, core_1.run)(app, node_process_1.default.argv.slice(2), {
58
+ process: node_process_1.default,
59
+ filesystem: gluegun_1.filesystem,
60
+ strings: gluegun_1.strings,
61
+ print: gluegun_1.print,
62
+ system: gluegun_1.system,
63
+ semver: gluegun_1.semver,
64
+ http: gluegun_1.http,
65
+ patching: gluegun_1.patching,
66
+ prompt: gluegun_1.prompt,
67
+ packageManager: gluegun_1.packageManager,
68
+ currentVersion: package_json_1.version,
69
+ template: { generate: (0, template_tools_1.buildGenerate)({}) },
70
+ }).catch(console.error);
71
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NsaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFDQSxnRUFBa0M7QUFFbEMscUNBVWdCO0FBQ2hCLDJFQUEyRTtBQUMzRSx5RUFBb0U7QUFDcEUsd0NBS3NCO0FBQ3RCLGtEQUE0RDtBQUU1RCw2REFBb0M7QUFDcEMsNkRBQW9DO0FBQ3BDLDZEQUFvQztBQUNwQywrREFBc0M7QUFDdEMsaUVBQXdDO0FBQ3hDLDJEQUFrQztBQUNsQywrREFBc0M7QUFDdEMseURBQWdDO0FBQ2hDLDJEQUFrQztBQUNsQyw2REFBb0M7QUFDcEMsbUVBQTBDO0FBQzFDLCtEQUFzQztBQW1CdEMsTUFBTSxRQUFRLEdBQUcsSUFBQSxvQkFBYSxFQUFDO0lBQzdCLE1BQU0sRUFBRTtRQUNOLEtBQUssRUFBTCxlQUFLO1FBQ0wsS0FBSyxFQUFMLGVBQUs7UUFDTCxLQUFLLEVBQUwsZUFBSztRQUNMLE1BQU0sRUFBTixnQkFBTTtRQUNOLE9BQU8sRUFBUCxpQkFBTztRQUNQLElBQUksRUFBSixjQUFJO1FBQ0osTUFBTSxFQUFOLGdCQUFNO1FBQ04sR0FBRyxFQUFILGFBQUc7UUFDSCxJQUFJLEVBQUosY0FBSTtRQUNKLEtBQUssRUFBTCxlQUFLO1FBQ0wsUUFBUSxFQUFSLGtCQUFRO1FBQ1IsTUFBTSxFQUFOLGdCQUFNO0tBQ1A7SUFDRCxPQUFPLEVBQUU7UUFDUCxFQUFFLEVBQUUsUUFBUTtRQUNaLElBQUksRUFBRSxRQUFRO0tBQ2Y7SUFDRCxJQUFJLEVBQUU7UUFDSixLQUFLLEVBQUUsMEJBQVc7S0FDbkI7Q0FDRixDQUFDLENBQUE7QUFFRixNQUFNLEdBQUcsR0FBRyxJQUFBLHVCQUFnQixFQUFlLFFBQVEsRUFBRTtJQUNuRCxJQUFJLEVBQUosbUJBQUk7SUFDSixXQUFXLEVBQUU7UUFDWCxjQUFjLEVBQUUsc0JBQU87S0FDeEI7Q0FDRixDQUFDLENBQUE7QUFFRjs7R0FFRztBQUNILElBQUEsVUFBTSxFQUFDLEdBQUcsRUFBRSxzQkFBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUU7SUFDakMsT0FBTyxFQUFQLHNCQUFPO0lBQ1AsVUFBVSxFQUFWLG9CQUFVO0lBQ1YsT0FBTyxFQUFQLGlCQUFPO0lBQ1AsS0FBSyxFQUFMLGVBQUs7SUFDTCxNQUFNLEVBQU4sZ0JBQU07SUFDTixNQUFNLEVBQU4sZ0JBQU07SUFDTixJQUFJLEVBQUosY0FBSTtJQUNKLFFBQVEsRUFBUixrQkFBUTtJQUNSLE1BQU0sRUFBTixnQkFBTTtJQUNOLGNBQWMsRUFBZCx3QkFBYztJQUNkLGNBQWMsRUFBRSxzQkFBTztJQUN2QixRQUFRLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBQSw4QkFBYSxFQUFDLEVBQUUsQ0FBQyxFQUFFO0NBQzFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFBIn0=
@@ -0,0 +1,135 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ const node_os_1 = require("node:os");
27
+ const core_1 = require("@stricli/core");
28
+ const devices_1 = require("../toolbox/prompt/devices");
29
+ const command = (0, core_1.buildCommand)({
30
+ docs: {
31
+ brief: 'Build project for release to target device',
32
+ },
33
+ async func(flags,
34
+ // eslint-disable-next-line @typescript-eslint/no-inferrable-types
35
+ projectPath = '.') {
36
+ const { filesystem } = this;
37
+ const { build } = await Promise.resolve().then(() => __importStar(require('../toolbox/build/index')));
38
+ const currentPlatform = (0, node_os_1.type)().toLowerCase();
39
+ const { device = currentPlatform, deploy = false, example, listExamples = false, listDevices = false, mode = process.env.NODE_ENV ?? 'development', output, port, config = [], } = flags;
40
+ const targetPlatform = devices_1.DEVICE_ALIAS[device] ?? device;
41
+ projectPath = filesystem.resolve(projectPath);
42
+ const parsedConfig = config.reduce((result, setting) => {
43
+ const [key, value] = setting.split('=');
44
+ result[key] = value;
45
+ return result;
46
+ }, {});
47
+ await build({
48
+ listExamples,
49
+ listDevices,
50
+ example,
51
+ targetPlatform,
52
+ port,
53
+ projectPath,
54
+ mode,
55
+ deployStatus: deploy ? 'push' : 'none',
56
+ outputDir: output,
57
+ config: parsedConfig,
58
+ });
59
+ },
60
+ parameters: {
61
+ positional: {
62
+ kind: 'tuple',
63
+ parameters: [
64
+ {
65
+ placeholder: 'projectPath',
66
+ brief: 'Path to project; defaults to current directory',
67
+ parse: String,
68
+ default: '.',
69
+ optional: true,
70
+ },
71
+ ],
72
+ },
73
+ flags: {
74
+ device: {
75
+ kind: 'enum',
76
+ values: Object.keys(devices_1.DEVICE_ALIAS),
77
+ brief: 'Target device or platform for the project, use --list-devices to select from interactive list; defaults to current OS simulator',
78
+ optional: true,
79
+ },
80
+ deploy: {
81
+ kind: 'boolean',
82
+ brief: 'Push the built project to a target device',
83
+ optional: true,
84
+ },
85
+ example: {
86
+ kind: 'parsed',
87
+ parse: String,
88
+ brief: 'Name of example project to run, use --list-examples to select from an interactive list',
89
+ optional: true,
90
+ },
91
+ listExamples: {
92
+ kind: 'boolean',
93
+ brief: 'Select an example project from an interactive list',
94
+ optional: true,
95
+ },
96
+ listDevices: {
97
+ kind: 'boolean',
98
+ brief: 'Select a target device or platform from an interactive list',
99
+ optional: true,
100
+ },
101
+ mode: {
102
+ kind: 'enum',
103
+ values: ['development', 'production'],
104
+ brief: 'Set the current build context; defaults to development',
105
+ optional: true,
106
+ },
107
+ output: {
108
+ kind: 'parsed',
109
+ parse: String,
110
+ brief: 'Output directory for build result; defaults to internal $MODDABLE build directory for project',
111
+ optional: true,
112
+ },
113
+ port: {
114
+ kind: 'parsed',
115
+ parse: String,
116
+ brief: 'Set the serial port path of the target device',
117
+ optional: true,
118
+ },
119
+ config: {
120
+ kind: 'parsed',
121
+ parse: String,
122
+ brief: 'Extra configuration options to provide to build',
123
+ optional: true,
124
+ variadic: true,
125
+ },
126
+ },
127
+ aliases: {
128
+ d: 'device',
129
+ m: 'mode',
130
+ o: 'output',
131
+ },
132
+ },
133
+ });
134
+ exports.default = command;
135
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tbWFuZHMvYnVpbGQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHFDQUE4QztBQUM5Qyx3Q0FBNEM7QUFHNUMsdURBQXdEO0FBZ0J4RCxNQUFNLE9BQU8sR0FBRyxJQUFBLG1CQUFZLEVBQUM7SUFDM0IsSUFBSSxFQUFFO1FBQ0osS0FBSyxFQUFFLDRDQUE0QztLQUNwRDtJQUNELEtBQUssQ0FBQyxJQUFJLENBRVIsS0FBbUI7SUFDbkIsa0VBQWtFO0lBQ2xFLGNBQXNCLEdBQUc7UUFFekIsTUFBTSxFQUFFLFVBQVUsRUFBRSxHQUFHLElBQUksQ0FBQTtRQUMzQixNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsd0RBQWEsd0JBQXdCLEdBQUMsQ0FBQTtRQUN4RCxNQUFNLGVBQWUsR0FBVyxJQUFBLGNBQVksR0FBRSxDQUFDLFdBQVcsRUFBWSxDQUFBO1FBQ3RFLE1BQU0sRUFDSixNQUFNLEdBQUcsZUFBZSxFQUN4QixNQUFNLEdBQUcsS0FBSyxFQUNkLE9BQU8sRUFDUCxZQUFZLEdBQUcsS0FBSyxFQUNwQixXQUFXLEdBQUcsS0FBSyxFQUNuQixJQUFJLEdBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFpQixJQUFJLGFBQWEsRUFDdEQsTUFBTSxFQUNOLElBQUksRUFDSixNQUFNLEdBQUcsRUFBRSxHQUNaLEdBQUcsS0FBSyxDQUFBO1FBQ1QsTUFBTSxjQUFjLEdBQVcsc0JBQVksQ0FBQyxNQUFNLENBQUMsSUFBSSxNQUFNLENBQUE7UUFDN0QsV0FBVyxHQUFHLFVBQVUsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUE7UUFDN0MsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FDaEMsQ0FBQyxNQUFNLEVBQUUsT0FBTyxFQUFFLEVBQUU7WUFDbEIsTUFBTSxDQUFDLEdBQUcsRUFBRSxLQUFLLENB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
@@ -0,0 +1,123 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ const node_os_1 = require("node:os");
27
+ const core_1 = require("@stricli/core");
28
+ const devices_1 = require("../toolbox/prompt/devices");
29
+ const command = (0, core_1.buildCommand)({
30
+ docs: {
31
+ brief: 'Remove build artifacts for project',
32
+ },
33
+ async func(flags,
34
+ // eslint-disable-next-line @typescript-eslint/no-inferrable-types
35
+ projectPath = '.') {
36
+ const { filesystem } = this;
37
+ const { build } = await Promise.resolve().then(() => __importStar(require('../toolbox/build/index')));
38
+ const currentPlatform = (0, node_os_1.type)().toLowerCase();
39
+ const { device = currentPlatform, example, listExamples = false, listDevices = false, mode = process.env.NODE_ENV ?? 'development', output, config = [], } = flags;
40
+ const targetPlatform = devices_1.DEVICE_ALIAS[device] ?? device;
41
+ projectPath = filesystem.resolve(projectPath);
42
+ const parsedConfig = config.reduce((result, setting) => {
43
+ const [key, value] = setting.split('=');
44
+ result[key] = value;
45
+ return result;
46
+ }, {});
47
+ await build({
48
+ listExamples,
49
+ listDevices,
50
+ example,
51
+ targetPlatform,
52
+ projectPath,
53
+ mode,
54
+ deployStatus: 'clean',
55
+ outputDir: output,
56
+ config: parsedConfig,
57
+ });
58
+ },
59
+ parameters: {
60
+ positional: {
61
+ kind: 'tuple',
62
+ parameters: [
63
+ {
64
+ placeholder: 'projectPath',
65
+ brief: 'Path to project; defaults to current directory',
66
+ parse: String,
67
+ default: '.',
68
+ optional: true,
69
+ },
70
+ ],
71
+ },
72
+ flags: {
73
+ device: {
74
+ kind: 'enum',
75
+ values: Object.keys(devices_1.DEVICE_ALIAS),
76
+ brief: 'Target device or platform for the project, use --list-devices to select from interactive list; defaults to current OS simulator',
77
+ optional: true,
78
+ },
79
+ example: {
80
+ kind: 'parsed',
81
+ parse: String,
82
+ brief: 'Name of example project to run, use --list-examples to select from an interactive list',
83
+ optional: true,
84
+ },
85
+ listExamples: {
86
+ kind: 'boolean',
87
+ brief: 'Select an example project from an interactive list',
88
+ optional: true,
89
+ },
90
+ listDevices: {
91
+ kind: 'boolean',
92
+ brief: 'Select a target device or platform from an interactive list',
93
+ optional: true,
94
+ },
95
+ mode: {
96
+ kind: 'enum',
97
+ values: ['development', 'production'],
98
+ brief: 'Set the current build context; defaults to development',
99
+ optional: true,
100
+ },
101
+ output: {
102
+ kind: 'parsed',
103
+ parse: String,
104
+ brief: 'Output directory for build result; defaults to internal $MODDABLE build directory for project',
105
+ optional: true,
106
+ },
107
+ config: {
108
+ kind: 'parsed',
109
+ parse: String,
110
+ brief: 'Extra configuration options to provide to build',
111
+ optional: true,
112
+ variadic: true,
113
+ },
114
+ },
115
+ aliases: {
116
+ d: 'device',
117
+ m: 'mode',
118
+ o: 'output',
119
+ },
120
+ },
121
+ });
122
+ exports.default = command;
123
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xlYW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tbWFuZHMvY2xlYW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHFDQUE4QztBQUM5Qyx3Q0FBNEM7QUFHNUMsdURBQXdEO0FBY3hELE1BQU0sT0FBTyxHQUFHLElBQUEsbUJBQVksRUFBQztJQUMzQixJQUFJLEVBQUU7UUFDSixLQUFLLEVBQUUsb0NBQW9DO0tBQzVDO0lBQ0QsS0FBSyxDQUFDLElBQUksQ0FFUixLQUFtQjtJQUNuQixrRUFBa0U7SUFDbEUsY0FBc0IsR0FBRztRQUV6QixNQUFNLEVBQUUsVUFBVSxFQUFFLEdBQUcsSUFBSSxDQUFBO1FBQzNCLE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyx3REFBYSx3QkFBd0IsR0FBQyxDQUFBO1FBQ3hELE1BQU0sZUFBZSxHQUFXLElBQUEsY0FBWSxHQUFFLENBQUMsV0FBVyxFQUFZLENBQUE7UUFDdEUsTUFBTSxFQUNKLE1BQU0sR0FBRyxlQUFlLEVBQ3hCLE9BQU8sRUFDUCxZQUFZLEdBQUcsS0FBSyxFQUNwQixXQUFXLEdBQUcsS0FBSyxFQUNuQixJQUFJLEdBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFpQixJQUFJLGFBQWEsRUFDdEQsTUFBTSxFQUNOLE1BQU0sR0FBRyxFQUFFLEdBQ1osR0FBRyxLQUFLLENBQUE7UUFDVCxNQUFNLGNBQWMsR0FBVyxzQkFBWSxDQUFDLE1BQU0sQ0FBQyxJQUFJLE1BQU0sQ0FBQTtRQUM3RCxXQUFXLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQTtRQUM3QyxNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsTUFBTSxDQUNoQyxDQUFDLE1BQU0sRUFBRSxPQUFPLEVBQUUsRUFBRTtZQUNsQixNQUFNLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUE7WUFDdkMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQTtZQUNuQixPQUFPLE1BQU0sQ0FBQTtRQUNmLENBQUMsRUFDRCxFQUFFLENBQ0gsQ0FBQTtRQUVELE1BQU0sS0FBSyxDQUFDO1lBQ1YsWUFBWTtZQUNaLFdBQVc7WUFDWCxPQUFPO1lBQ1AsY0FBYztZQUNkLFdBQVc7WUFDWCxJQUFJO1lBQ0osWUFBWSxFQUFFLE9BQU87WUFDckIsU0FBUyxFQUFFLE1BQU07WUFDakIsTUFBTSxFQUFFLFlBQVk7U0FDckIsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUNELFVBQVUsRUFBRTtRQUNWLFVBQVUsRUFBRTtZQUNWLElBQUksRUFBRSxPQUFPO1lBQ2IsVUFBVSxFQUFFO2dCQUNWO29CQUNFLFdBQVcsRUFBRSxhQUFhO29CQUMxQixLQUFLLEVBQUUsZ0RBQWdEO29CQUN2RCxLQUFLLEVBQUUsTUFBTTtvQkFDYixPQUFPLEVBQUUsR0FBRztvQkFDWixRQUFRLEVBQUUsSUFBSTtpQkFDZjthQUNGO1NBQ0Y7UUFDRCxLQUFLLEVBQUU7WUFDTCxNQUFNLEVBQUU7Z0JBQ04sSUFBSSxFQUFFLE1BQU07Z0JBQ1osTUFBTSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsc0JBQVksQ0FBMEI7Z0JBQzFELEtBQUssRUFDSCxpSUFBaUk7Z0JBQ25JLFFBQVEsRUFBRSxJQUFJO2FBQ2Y7WUFDRCxPQUFPLEVBQUU7Z0JBQ1AsSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsS0FBSyxFQUFFLE1BQU07Z0JBQ2IsS0FBSyxFQUNILHdGQUF3RjtnQkFDMUYsUUFBUSxFQUFFLElBQUk7YUFDZjtZQUNELFlBQVksRUFBRTtnQkFDWixJQUFJLEVBQUUsU0FBUztnQkFDZixLQUFLLEVBQUUsb0RBQW9EO2dCQUMzRCxRQUFRLEVBQUUsSUFBSTthQUNmO1lBQ0QsV0FBVyxFQUFFO2dCQUNYLElBQUksRUFBRSxTQUFTO2dCQUNmLEtBQUssRUFBRSw2REFBNkQ7Z0JBQ3BFLFFBQVEsRUFBRSxJQUFJO2FBQ2Y7WUFDRCxJQUFJLEVBQUU7Z0JBQ0osSUFBSSxFQUFFLE1BQU07Z0JBQ1osTUFBTSxFQUFFLENBQUMsYUFBYSxFQUFFLFlBQVksQ0FBQztnQkFDckMsS0FBSyxFQUFFLHdEQUF3RDtnQkFDL0QsUUFBUSxFQUFFLElBQUk7YUFDZjtZQUNELE1BQU0sRUFBRTtnQkFDTixJQUFJLEVBQUUsUUFBUTtnQkFDZCxLQUFLLEVBQUUsTUFBTTtnQkFDYixLQUFLLEVBQ0gsK0ZBQStGO2dCQUNqRyxRQUFRLEVBQUUsSUFBSTthQUNmO1lBQ0QsTUFBTSxFQUFFO2dCQUNOLElBQUksRUFBRSxRQUFRO2dCQUNkLEtBQUssRUFBRSxNQUFNO2dCQUNiLEtBQUssRUFBRSxpREFBaUQ7Z0JBQ3hELFFBQVEsRUFBRSxJQUFJO2dCQUNkLFFBQVEsRUFBRSxJQUFJO2FBQ2Y7U0FDRjtRQUNELE9BQU8sRUFBRTtZQUNQLENBQUMsRUFBRSxRQUFRO1lBQ1gsQ0FBQyxFQUFFLE1BQU07WUFDVCxDQUFDLEVBQUUsUUFBUTtTQUNaO0tBQ0Y7Q0FDRixDQUFDLENBQUE7QUFFRixrQkFBZSxPQUFPLENBQUEifQ==
@@ -0,0 +1,112 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ const node_os_1 = require("node:os");
27
+ const core_1 = require("@stricli/core");
28
+ const devices_1 = require("../toolbox/prompt/devices");
29
+ const command = (0, core_1.buildCommand)({
30
+ docs: {
31
+ brief: 'Connect to running debugging session on target device or simulator',
32
+ },
33
+ async func(flags,
34
+ // eslint-disable-next-line @typescript-eslint/no-inferrable-types
35
+ projectPath = '.') {
36
+ const { filesystem } = this;
37
+ const currentPlatform = (0, node_os_1.type)().toLowerCase();
38
+ const { device = currentPlatform, port, example, listExamples = false, listDevices = false, log = false, mode = process.env.NODE_ENV ?? 'development', output, } = flags;
39
+ const { build } = await Promise.resolve().then(() => __importStar(require('../toolbox/build/index')));
40
+ const targetPlatform = devices_1.DEVICE_ALIAS[device] ?? device;
41
+ projectPath = filesystem.resolve(projectPath);
42
+ await build({
43
+ port,
44
+ listExamples,
45
+ listDevices,
46
+ log,
47
+ example,
48
+ targetPlatform,
49
+ projectPath,
50
+ mode,
51
+ deployStatus: 'debug',
52
+ outputDir: output,
53
+ });
54
+ },
55
+ parameters: {
56
+ positional: {
57
+ kind: 'tuple',
58
+ parameters: [
59
+ {
60
+ placeholder: 'projectPath',
61
+ brief: 'Path to project; defaults to current directory',
62
+ parse: String,
63
+ default: '.',
64
+ optional: true,
65
+ },
66
+ ],
67
+ },
68
+ flags: {
69
+ device: {
70
+ kind: 'enum',
71
+ values: Object.keys(devices_1.DEVICE_ALIAS),
72
+ brief: 'Target device or platform for the project, use --list-devices to select from interactive list; defaults to current OS simulator',
73
+ optional: true,
74
+ },
75
+ example: {
76
+ kind: 'parsed',
77
+ parse: String,
78
+ brief: 'Name of example project to run, use --list-examples to select from an interactive list',
79
+ optional: true,
80
+ },
81
+ listExamples: {
82
+ kind: 'boolean',
83
+ brief: 'Select an example project from an interactive list',
84
+ optional: true,
85
+ },
86
+ listDevices: {
87
+ kind: 'boolean',
88
+ brief: 'Select a target device or platform from an interactive list',
89
+ optional: true,
90
+ },
91
+ mode: {
92
+ kind: 'enum',
93
+ values: ['development', 'production'],
94
+ brief: 'Set the current build context; defaults to development',
95
+ optional: true,
96
+ },
97
+ output: {
98
+ kind: 'parsed',
99
+ parse: String,
100
+ brief: 'Output directory for build result; defaults to internal $MODDABLE build directory for project',
101
+ optional: true,
102
+ },
103
+ },
104
+ aliases: {
105
+ d: 'device',
106
+ m: 'mode',
107
+ o: 'output',
108
+ },
109
+ },
110
+ });
111
+ exports.default = command;
112
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVidWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tbWFuZHMvZGVidWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHFDQUE4QztBQUM5Qyx3Q0FBNEM7QUFHNUMsdURBQXdEO0FBZXhELE1BQU0sT0FBTyxHQUFHLElBQUEsbUJBQVksRUFBQztJQUMzQixJQUFJLEVBQUU7UUFDSixLQUFLLEVBQUUsb0VBQW9FO0tBQzVFO0lBQ0QsS0FBSyxDQUFDLElBQUksQ0FFUixLQUFtQjtJQUNuQixrRUFBa0U7SUFDbEUsY0FBc0IsR0FBRztRQUV6QixNQUFNLEVBQUUsVUFBVSxFQUFFLEdBQUcsSUFBSSxDQUFBO1FBQzNCLE1BQU0sZUFBZSxHQUFXLElBQUEsY0FBWSxHQUFFLENBQUMsV0FBVyxFQUFZLENBQUE7UUFDdEUsTUFBTSxFQUNKLE1BQU0sR0FBRyxlQUFlLEVBQ3hCLElBQUksRUFDSixPQUFPLEVBQ1AsWUFBWSxHQUFHLEtBQUssRUFDcEIsV0FBVyxHQUFHLEtBQUssRUFDbkIsR0FBRyxHQUFHLEtBQUssRUFDWCxJQUFJLEdBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFpQixJQUFJLGFBQWEsRUFDdEQsTUFBTSxHQUNQLEdBQUcsS0FBSyxDQUFBO1FBQ1QsTUFBTSxFQUFFLEtBQUssRUFBRSxHQUFHLHdEQUFhLHdCQUF3QixHQUFDLENBQUE7UUFDeEQsTUFBTSxjQUFjLEdBQVcsc0JBQVksQ0FBQyxNQUFNLENBQUMsSUFBSSxNQUFNLENBQUE7UUFDN0QsV0FBVyxHQUFHLFVBQVUsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUE7UUFFN0MsTUFBTSxLQUFLLENBQUM7WUFDVixJQUFJO1lBQ0osWUFBWTtZQUNaLFdBQVc7WUFDWCxHQUFHO1lBQ0gsT0FBTztZQUNQLGNBQWM7WUFDZCxXQUFXO1lBQ1gsSUFBSTtZQUNKLFlBQVksRUFBRSxPQUFPO1lBQ3JCLFNBQVMsRUFBRSxNQUFNO1NBQ2xCLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFDRCxVQUFVLEVBQUU7UUFDVixVQUFVLEVBQUU7WUFDVixJQUFJLEVBQUUsT0FBTztZQUNiLFVBQVUsRUFBRTtnQkFDVjtvQkFDRSxXQUFXLEVBQUUsYUFBYTtvQkFDMUIsS0FBSyxFQUFFLGdEQUFnRDtvQkFDdkQsS0FBSyxFQUFFLE1BQU07b0JBQ2IsT0FBTyxFQUFFLEdBQUc7b0JBQ1osUUFBUSxFQUFFLElBQUk7aUJBQ2Y7YUFDRjtTQUNGO1FBQ0QsS0FBSyxFQUFFO1lBQ0wsTUFBTSxFQUFFO2dCQUNOLElBQUksRUFBRSxNQUFNO2dCQUNaLE1BQU0sRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLHNCQUFZLENBQTBCO2dCQUMxRCxLQUFLLEVBQ0gsaUlBQWlJO2dCQUNuSSxRQUFRLEVBQUUsSUFBSTthQUNmO1lBQ0QsT0FBTyxFQUFFO2dCQUNQLElBQUksRUFBRSxRQUFRO2dCQUNkLEtBQUssRUFBRSxNQUFNO2dCQUNiLEtBQUssRUFDSCx3RkFBd0Y7Z0JBQzFGLFFBQVEsRUFBRSxJQUFJO2FBQ2Y7WUFDRCxZQUFZLEVBQUU7Z0JBQ1osSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsS0FBSyxFQUFFLG9EQUFvRDtnQkFDM0QsUUFBUSxFQUFFLElBQUk7YUFDZjtZQUNELFdBQVcsRUFBRTtnQkFDWCxJQUFJLEVBQUUsU0FBUztnQkFDZixLQUFLLEVBQUUsNkRBQTZEO2dCQUNwRSxRQUFRLEVBQUUsSUFBSTthQUNmO1lBQ0QsSUFBSSxFQUFFO2dCQUNKLElBQUksRUFBRSxNQUFNO2dCQUNaLE1BQU0sRUFBRSxDQUFDLGFBQWEsRUFBRSxZQUFZLENBQUM7Z0JBQ3JDLEtBQUssRUFBRSx3REFBd0Q7Z0JBQy9ELFFBQVEsRUFBRSxJQUFJO2FBQ2Y7WUFDRCxNQUFNLEVBQUU7Z0JBQ04sSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsS0FBSyxFQUFFLE1BQU07Z0JBQ2IsS0FBSyxFQUNILCtGQUErRjtnQkFDakcsUUFBUSxFQUFFLElBQUk7YUFDZjtTQUNGO1FBQ0QsT0FBTyxFQUFFO1lBQ1AsQ0FBQyxFQUFFLFFBQVE7WUFDWCxDQUFDLEVBQUUsTUFBTTtZQUNULENBQUMsRUFBRSxRQUFRO1NBQ1o7S0FDRjtDQUNGLENBQUMsQ0FBQTtBQUVGLGtCQUFlLE9BQU8sQ0FBQSJ9