@oidoid/void 0.1.6 → 0.1.8

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 (199) hide show
  1. package/dist/public/index.js +7 -7
  2. package/dist/public/index.js.map +4 -4
  3. package/dist/public/{void-v0.1.6+20260105.c98baee.html → void-v0.1.8+20260106.f2ce523.html} +8 -8
  4. package/dist/src/demo/ents/cam.d.ts.map +1 -1
  5. package/dist/src/demo/ents/cam.js +2 -8
  6. package/dist/src/demo/ents/cam.js.map +1 -1
  7. package/dist/src/demo/ents/clock.test.d.ts +2 -0
  8. package/dist/src/demo/ents/clock.test.d.ts.map +1 -0
  9. package/dist/src/demo/ents/clock.test.js +24 -0
  10. package/dist/src/demo/ents/clock.test.js.map +1 -0
  11. package/dist/src/demo/tsconfig.json +3 -3
  12. package/dist/src/ents/cursor.d.ts.map +1 -1
  13. package/dist/src/ents/cursor.js +7 -2
  14. package/dist/src/ents/cursor.js.map +1 -1
  15. package/dist/src/ents/cursor.test.d.ts +2 -0
  16. package/dist/src/ents/cursor.test.d.ts.map +1 -0
  17. package/dist/src/ents/cursor.test.js +92 -0
  18. package/dist/src/ents/cursor.test.js.map +1 -0
  19. package/dist/src/ents/ent-query.test.d.ts +11 -0
  20. package/dist/src/ents/ent-query.test.d.ts.map +1 -0
  21. package/dist/src/ents/ent-query.test.js +63 -0
  22. package/dist/src/ents/ent-query.test.js.map +1 -0
  23. package/dist/src/ents/ent.d.ts +1 -1
  24. package/dist/src/ents/ent.d.ts.map +1 -1
  25. package/dist/src/ents/fps.d.ts +2 -1
  26. package/dist/src/ents/fps.d.ts.map +1 -1
  27. package/dist/src/ents/fps.js +5 -6
  28. package/dist/src/ents/fps.js.map +1 -1
  29. package/dist/src/ents/zoo.js +1 -2
  30. package/dist/src/ents/zoo.js.map +1 -1
  31. package/dist/src/graphics/atlas-parser.test.d.ts +2 -0
  32. package/dist/src/graphics/atlas-parser.test.d.ts.map +1 -0
  33. package/dist/src/graphics/atlas-parser.test.js +100 -0
  34. package/dist/src/graphics/atlas-parser.test.js.map +1 -0
  35. package/dist/src/graphics/cam.d.ts +1 -1
  36. package/dist/src/graphics/cam.d.ts.map +1 -1
  37. package/dist/src/graphics/cam.test.d.ts +2 -0
  38. package/dist/src/graphics/cam.test.d.ts.map +1 -0
  39. package/dist/src/graphics/cam.test.js +456 -0
  40. package/dist/src/graphics/cam.test.js.map +1 -0
  41. package/dist/src/graphics/layer.test.d.ts +2 -0
  42. package/dist/src/graphics/layer.test.d.ts.map +1 -0
  43. package/dist/src/graphics/layer.test.js +23 -0
  44. package/dist/src/graphics/layer.test.js.map +1 -0
  45. package/dist/src/graphics/renderer.test.d.ts +2 -0
  46. package/dist/src/graphics/renderer.test.d.ts.map +1 -0
  47. package/dist/src/graphics/renderer.test.js +92 -0
  48. package/dist/src/graphics/renderer.test.js.map +1 -0
  49. package/dist/src/graphics/sprite.test.d.ts +2 -0
  50. package/dist/src/graphics/sprite.test.d.ts.map +1 -0
  51. package/dist/src/graphics/sprite.test.js +582 -0
  52. package/dist/src/graphics/sprite.test.js.map +1 -0
  53. package/dist/src/index.d.ts.map +1 -1
  54. package/dist/src/index.js +0 -1
  55. package/dist/src/index.js.map +1 -1
  56. package/dist/src/input/context-menu.test.d.ts +2 -0
  57. package/dist/src/input/context-menu.test.d.ts.map +1 -0
  58. package/dist/src/input/context-menu.test.js +111 -0
  59. package/dist/src/input/context-menu.test.js.map +1 -0
  60. package/dist/src/input/gamepad.d.ts.map +1 -1
  61. package/dist/src/input/gamepad.js +5 -2
  62. package/dist/src/input/gamepad.js.map +1 -1
  63. package/dist/src/input/gamepad.test.d.ts +2 -0
  64. package/dist/src/input/gamepad.test.d.ts.map +1 -0
  65. package/dist/src/input/gamepad.test.js +172 -0
  66. package/dist/src/input/gamepad.test.js.map +1 -0
  67. package/dist/src/input/input.d.ts.map +1 -1
  68. package/dist/src/input/input.js +8 -5
  69. package/dist/src/input/input.js.map +1 -1
  70. package/dist/src/input/input.test.d.ts +2 -0
  71. package/dist/src/input/input.test.d.ts.map +1 -0
  72. package/dist/src/input/input.test.js +1146 -0
  73. package/dist/src/input/input.test.js.map +1 -0
  74. package/dist/src/input/keyboard.test.d.ts +2 -0
  75. package/dist/src/input/keyboard.test.d.ts.map +1 -0
  76. package/dist/src/input/keyboard.test.js +159 -0
  77. package/dist/src/input/keyboard.test.js.map +1 -0
  78. package/dist/src/input/pointer.test.d.ts +2 -0
  79. package/dist/src/input/pointer.test.d.ts.map +1 -0
  80. package/dist/src/input/pointer.test.js +339 -0
  81. package/dist/src/input/pointer.test.js.map +1 -0
  82. package/dist/src/input/wheel.test.d.ts +2 -0
  83. package/dist/src/input/wheel.test.d.ts.map +1 -0
  84. package/dist/src/input/wheel.test.js +92 -0
  85. package/dist/src/input/wheel.test.js.map +1 -0
  86. package/dist/src/level/level-parser.js +1 -1
  87. package/dist/src/level/level-parser.js.map +1 -1
  88. package/dist/src/level/level-parser.test.d.ts +20 -0
  89. package/dist/src/level/level-parser.test.d.ts.map +1 -0
  90. package/dist/src/level/level-parser.test.js +340 -0
  91. package/dist/src/level/level-parser.test.js.map +1 -0
  92. package/dist/src/looper.test.d.ts +2 -0
  93. package/dist/src/looper.test.d.ts.map +1 -0
  94. package/dist/src/looper.test.js +128 -0
  95. package/dist/src/looper.test.js.map +1 -0
  96. package/dist/src/mem/pool.test.d.ts +2 -0
  97. package/dist/src/mem/pool.test.d.ts.map +1 -0
  98. package/dist/src/mem/pool.test.js +120 -0
  99. package/dist/src/mem/pool.test.js.map +1 -0
  100. package/dist/src/random/random.test.d.ts +2 -0
  101. package/dist/src/random/random.test.d.ts.map +1 -0
  102. package/dist/src/random/random.test.js +36 -0
  103. package/dist/src/random/random.test.js.map +1 -0
  104. package/dist/src/storage/local-storage.test.d.ts +2 -0
  105. package/dist/src/storage/local-storage.test.d.ts.map +1 -0
  106. package/dist/src/storage/local-storage.test.js +105 -0
  107. package/dist/src/storage/local-storage.test.js.map +1 -0
  108. package/dist/src/test/assert.d.ts +5 -0
  109. package/dist/src/test/assert.d.ts.map +1 -0
  110. package/dist/src/test/assert.js +6 -0
  111. package/dist/src/test/assert.js.map +1 -0
  112. package/dist/src/test/device-pixel-ratio-mock.d.ts +6 -0
  113. package/dist/src/test/device-pixel-ratio-mock.d.ts.map +1 -0
  114. package/dist/src/test/device-pixel-ratio-mock.js +10 -0
  115. package/dist/src/test/device-pixel-ratio-mock.js.map +1 -0
  116. package/dist/src/test/index.d.ts +5 -0
  117. package/dist/src/test/index.d.ts.map +1 -0
  118. package/dist/src/test/index.js +5 -0
  119. package/dist/src/test/index.js.map +1 -0
  120. package/dist/src/test/navigator-gamepads-mock.d.ts +7 -0
  121. package/dist/src/test/navigator-gamepads-mock.d.ts.map +1 -0
  122. package/dist/src/test/navigator-gamepads-mock.js +14 -0
  123. package/dist/src/test/navigator-gamepads-mock.js.map +1 -0
  124. package/dist/src/test/secure-context-mock.d.ts +6 -0
  125. package/dist/src/test/secure-context-mock.d.ts.map +1 -0
  126. package/dist/src/test/secure-context-mock.js +10 -0
  127. package/dist/src/test/secure-context-mock.js.map +1 -0
  128. package/dist/src/test/test-element.d.ts +2 -0
  129. package/dist/src/test/test-element.d.ts.map +1 -0
  130. package/dist/src/test/test-element.js +8 -0
  131. package/dist/src/test/test-element.js.map +1 -0
  132. package/dist/src/test/test-event.d.ts +17 -0
  133. package/dist/src/test/test-event.d.ts.map +1 -0
  134. package/dist/src/test/test-event.js +26 -0
  135. package/dist/src/test/test-event.js.map +1 -0
  136. package/dist/src/test/tsconfig.json +30 -0
  137. package/dist/src/text/text-layout.test.d.ts +2 -0
  138. package/dist/src/text/text-layout.test.d.ts.map +1 -0
  139. package/dist/src/text/text-layout.test.js +717 -0
  140. package/dist/src/text/text-layout.test.js.map +1 -0
  141. package/dist/src/tsconfig.json +3 -3
  142. package/dist/src/types/geo.test.d.ts +2 -0
  143. package/dist/src/types/geo.test.d.ts.map +1 -0
  144. package/dist/src/types/geo.test.js +657 -0
  145. package/dist/src/types/geo.test.js.map +1 -0
  146. package/dist/src/types/time.test.d.ts +2 -0
  147. package/dist/src/types/time.test.d.ts.map +1 -0
  148. package/dist/src/types/time.test.js +27 -0
  149. package/dist/src/types/time.test.js.map +1 -0
  150. package/dist/src/utils/async-util.test.d.ts +2 -0
  151. package/dist/src/utils/async-util.test.d.ts.map +1 -0
  152. package/dist/src/utils/async-util.test.js +55 -0
  153. package/dist/src/utils/async-util.test.js.map +1 -0
  154. package/dist/src/utils/color-util.test.d.ts +2 -0
  155. package/dist/src/utils/color-util.test.d.ts.map +1 -0
  156. package/dist/src/utils/color-util.test.js +20 -0
  157. package/dist/src/utils/color-util.test.js.map +1 -0
  158. package/dist/src/utils/debug.test.d.ts +2 -0
  159. package/dist/src/utils/debug.test.d.ts.map +1 -0
  160. package/dist/src/utils/debug.test.js +61 -0
  161. package/dist/src/utils/debug.test.js.map +1 -0
  162. package/dist/src/utils/delay-interval.test.d.ts +2 -0
  163. package/dist/src/utils/delay-interval.test.d.ts.map +1 -0
  164. package/dist/src/utils/delay-interval.test.js +91 -0
  165. package/dist/src/utils/delay-interval.test.js.map +1 -0
  166. package/dist/src/utils/math.test.d.ts +2 -0
  167. package/dist/src/utils/math.test.d.ts.map +1 -0
  168. package/dist/src/utils/math.test.js +10 -0
  169. package/dist/src/utils/math.test.js.map +1 -0
  170. package/dist/src/utils/str-util.test.d.ts +2 -0
  171. package/dist/src/utils/str-util.test.d.ts.map +1 -0
  172. package/dist/src/utils/str-util.test.js +13 -0
  173. package/dist/src/utils/str-util.test.js.map +1 -0
  174. package/dist/src/void.d.ts +2 -1
  175. package/dist/src/void.d.ts.map +1 -1
  176. package/dist/src/void.js +1 -0
  177. package/dist/src/void.js.map +1 -1
  178. package/dist/tools/atlas-pack/atlas-json-parser.test.d.ts +2 -0
  179. package/dist/tools/atlas-pack/atlas-json-parser.test.d.ts.map +1 -0
  180. package/dist/tools/atlas-pack/atlas-json-parser.test.js +2109 -0
  181. package/dist/tools/atlas-pack/atlas-json-parser.test.js.map +1 -0
  182. package/dist/tools/atlas-pack/atlas.test.aseprite.json +4499 -0
  183. package/dist/tools/bundle/bundle.d.ts.map +1 -1
  184. package/dist/tools/bundle/bundle.js +7 -5
  185. package/dist/tools/bundle/bundle.js.map +1 -1
  186. package/dist/tools/types/config-file.test.d.ts +2 -0
  187. package/dist/tools/types/config-file.test.d.ts.map +1 -0
  188. package/dist/tools/types/config-file.test.js +68 -0
  189. package/dist/tools/types/config-file.test.js.map +1 -0
  190. package/dist/tools/types/config.test.d.ts +2 -0
  191. package/dist/tools/types/config.test.d.ts.map +1 -0
  192. package/dist/tools/types/config.test.js +125 -0
  193. package/dist/tools/types/config.test.js.map +1 -0
  194. package/dist/tools/utils/argv.test.d.ts +9 -0
  195. package/dist/tools/utils/argv.test.d.ts.map +1 -0
  196. package/dist/tools/utils/argv.test.js +42 -0
  197. package/dist/tools/utils/argv.test.js.map +1 -0
  198. package/package.json +8 -4
  199. package/readme.md +1 -1
@@ -0,0 +1,111 @@
1
+ var __addDisposableResource = (this && this.__addDisposableResource) || function (env, value, async) {
2
+ if (value !== null && value !== void 0) {
3
+ if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected.");
4
+ var dispose, inner;
5
+ if (async) {
6
+ if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined.");
7
+ dispose = value[Symbol.asyncDispose];
8
+ }
9
+ if (dispose === void 0) {
10
+ if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined.");
11
+ dispose = value[Symbol.dispose];
12
+ if (async) inner = dispose;
13
+ }
14
+ if (typeof dispose !== "function") throw new TypeError("Object not disposable.");
15
+ if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };
16
+ env.stack.push({ value: value, dispose: dispose, async: async });
17
+ }
18
+ else if (async) {
19
+ env.stack.push({ async: true });
20
+ }
21
+ return value;
22
+ };
23
+ var __disposeResources = (this && this.__disposeResources) || (function (SuppressedError) {
24
+ return function (env) {
25
+ function fail(e) {
26
+ env.error = env.hasError ? new SuppressedError(e, env.error, "An error was suppressed during disposal.") : e;
27
+ env.hasError = true;
28
+ }
29
+ var r, s = 0;
30
+ function next() {
31
+ while (r = env.stack.pop()) {
32
+ try {
33
+ if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);
34
+ if (r.dispose) {
35
+ var result = r.dispose.call(r.value);
36
+ if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });
37
+ }
38
+ else s |= 1;
39
+ }
40
+ catch (e) {
41
+ fail(e);
42
+ }
43
+ }
44
+ if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();
45
+ if (env.hasError) throw env.error;
46
+ }
47
+ return next();
48
+ };
49
+ })(typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
50
+ var e = new Error(message);
51
+ return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
52
+ });
53
+ import { test } from 'node:test';
54
+ import { assert } from "../test/assert.js";
55
+ import { MenuTestEvent } from "../test/test-event.js";
56
+ import { ContextMenu } from "./context-menu.js";
57
+ test('ContextMenu', async (ctx) => {
58
+ const env_1 = { stack: [], error: void 0, hasError: false };
59
+ try {
60
+ const target = new EventTarget();
61
+ const menu = __addDisposableResource(env_1, new ContextMenu(target).register('add'), false);
62
+ await ctx.test('disabled', () => {
63
+ let blocked = 0;
64
+ target.dispatchEvent(MenuTestEvent('contextmenu', { preventDefault: () => blocked++ }));
65
+ assert(blocked, 1);
66
+ target.dispatchEvent(MenuTestEvent('touchstart', { preventDefault: () => blocked++ }));
67
+ assert(blocked, 2);
68
+ });
69
+ await ctx.test('enabled', () => {
70
+ menu.enable = true;
71
+ let blocked = 0;
72
+ target.dispatchEvent(MenuTestEvent('contextmenu', { preventDefault: () => blocked++ }));
73
+ assert(blocked, 0);
74
+ target.dispatchEvent(MenuTestEvent('touchstart', { preventDefault: () => blocked++ }));
75
+ assert(blocked, 0);
76
+ });
77
+ await ctx.test('modified events are skipped', () => {
78
+ menu.enable = true;
79
+ let blocked = 0;
80
+ target.dispatchEvent(MenuTestEvent('contextmenu', {
81
+ altKey: true,
82
+ preventDefault: () => blocked++
83
+ }));
84
+ assert(blocked, 0);
85
+ target.dispatchEvent(MenuTestEvent('contextmenu', {
86
+ metaKey: true,
87
+ preventDefault: () => blocked++
88
+ }));
89
+ assert(blocked, 0);
90
+ target.dispatchEvent(MenuTestEvent('contextmenu', {
91
+ ctrlKey: true,
92
+ preventDefault: () => blocked++
93
+ }));
94
+ assert(blocked, 0);
95
+ });
96
+ await ctx.test('untrusted events are skipped', () => {
97
+ menu.enable = true;
98
+ let blocked = 0;
99
+ target.dispatchEvent(Object.assign(new Event('contextmenu'), { preventDefault: () => blocked++ }));
100
+ assert(blocked, 0);
101
+ });
102
+ }
103
+ catch (e_1) {
104
+ env_1.error = e_1;
105
+ env_1.hasError = true;
106
+ }
107
+ finally {
108
+ __disposeResources(env_1);
109
+ }
110
+ });
111
+ //# sourceMappingURL=context-menu.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-menu.test.js","sourceRoot":"","sources":["../../../src/input/context-menu.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"gamepad.d.ts","sourceRoot":"","sources":["../../../src/input/gamepad.ts"],"names":[],"mappings":"AAAA,qBAAa,OAAO;;IAClB,IAAI,EAAE,MAAM,CAAI;IAIhB,QAAQ,CAAC,SAAS,EAAE;QAAC,CAAC,IAAI,EAAE,MAAM,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAAA;KAAC,CAAK;IACvE,QAAQ,CAAC,WAAW,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAC,CAAK;IAClD,OAAO,EAAE,MAAM,IAAI,CAAW;gBAGlB,MAAM,EAAE,WAAW;IAI/B,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,QAAQ,CAAC,EAAE,EAAE,KAAK,GAAG,QAAQ,GAAG,IAAI;IAOpC,KAAK,IAAI,IAAI;IAIb,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI;IAIxB,MAAM,IAAI,IAAI;CAgBf"}
1
+ {"version":3,"file":"gamepad.d.ts","sourceRoot":"","sources":["../../../src/input/gamepad.ts"],"names":[],"mappings":"AAAA,qBAAa,OAAO;;IAClB,IAAI,EAAE,MAAM,CAAI;IAIhB,QAAQ,CAAC,SAAS,EAAE;QAAC,CAAC,IAAI,EAAE,MAAM,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAAA;KAAC,CAAK;IACvE,QAAQ,CAAC,WAAW,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAC,CAAK;IAClD,OAAO,EAAE,MAAM,IAAI,CAAW;gBAGlB,MAAM,EAAE,WAAW;IAI/B,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,QAAQ,CAAC,EAAE,EAAE,KAAK,GAAG,QAAQ,GAAG,IAAI;IAOpC,KAAK,IAAI,IAAI;IAIb,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI;IAIxB,MAAM,IAAI,IAAI;CAkBf"}
@@ -26,17 +26,20 @@ export class Gamepad {
26
26
  this.register('remove');
27
27
  }
28
28
  update() {
29
+ this.bits = 0;
29
30
  if (!isSecureContext)
30
31
  return;
31
32
  for (const pad of navigator.getGamepads()) {
32
- for (const [index, axis] of pad?.axes.entries() ?? []) {
33
+ if (!pad)
34
+ continue;
35
+ for (const [index, axis] of pad.axes.entries() ?? []) {
33
36
  const lessMore = this.bitByAxis[index];
34
37
  if (!lessMore)
35
38
  continue;
36
39
  const bit = axis < 0 ? lessMore[0] : axis === 0 ? 0 : lessMore[1];
37
40
  this.bits |= Math.abs(axis) >= 0.5 ? bit : 0;
38
41
  }
39
- for (const [index, btn] of pad?.buttons.entries() ?? []) {
42
+ for (const [index, btn] of pad.buttons.entries() ?? []) {
40
43
  const bit = this.bitByButton[index];
41
44
  if (bit == null)
42
45
  continue;
@@ -1 +1 @@
1
- {"version":3,"file":"gamepad.js","sourceRoot":"","sources":["../../../src/input/gamepad.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,OAAO;IAClB,IAAI,GAAW,CAAC,CAAA;IAChB,8EAA8E;IAC9E,2EAA2E;IAC3E,8BAA8B;IACrB,SAAS,GAAmD,EAAE,CAAA;IAC9D,WAAW,GAA4B,EAAE,CAAA;IAClD,OAAO,GAAe,GAAG,EAAE,GAAE,CAAC,CAAA;IACrB,OAAO,CAAa;IAE7B,YAAY,MAAmB;QAC7B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAA;IACvB,CAAC;IAED,IAAI,SAAS;QACX,OAAO,eAAe,IAAI,SAAS,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAA;IAC9E,CAAC;IAED,QAAQ,CAAC,EAAoB;QAC3B,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAChE,EAAE,CAAC,kBAAkB,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;QACpC,EAAE,CAAC,qBAAqB,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;QACvC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK;QACH,IAAI,CAAC,IAAI,GAAG,CAAC,CAAA;IACf,CAAC;IAED,CAAC,MAAM,CAAC,OAAO,CAAC;QACd,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;IACzB,CAAC;IAED,MAAM;QACJ,IAAI,CAAC,eAAe;YAAE,OAAM;QAC5B,KAAK,MAAM,GAAG,IAAI,SAAS,CAAC,WAAW,EAAE,EAAE,CAAC;YAC1C,KAAK,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC;gBACtD,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;gBACtC,IAAI,CAAC,QAAQ;oBAAE,SAAQ;gBACvB,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;gBACjE,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;YAC9C,CAAC;YACD,KAAK,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,GAAG,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC;gBACxD,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;gBACnC,IAAI,GAAG,IAAI,IAAI;oBAAE,SAAQ;gBACzB,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;YACpC,CAAC;QACH,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"gamepad.js","sourceRoot":"","sources":["../../../src/input/gamepad.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,OAAO;IAClB,IAAI,GAAW,CAAC,CAAA;IAChB,8EAA8E;IAC9E,2EAA2E;IAC3E,8BAA8B;IACrB,SAAS,GAAmD,EAAE,CAAA;IAC9D,WAAW,GAA4B,EAAE,CAAA;IAClD,OAAO,GAAe,GAAG,EAAE,GAAE,CAAC,CAAA;IACrB,OAAO,CAAa;IAE7B,YAAY,MAAmB;QAC7B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAA;IACvB,CAAC;IAED,IAAI,SAAS;QACX,OAAO,eAAe,IAAI,SAAS,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAA;IAC9E,CAAC;IAED,QAAQ,CAAC,EAAoB;QAC3B,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAChE,EAAE,CAAC,kBAAkB,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;QACpC,EAAE,CAAC,qBAAqB,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;QACvC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK;QACH,IAAI,CAAC,IAAI,GAAG,CAAC,CAAA;IACf,CAAC;IAED,CAAC,MAAM,CAAC,OAAO,CAAC;QACd,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;IACzB,CAAC;IAED,MAAM;QACJ,IAAI,CAAC,IAAI,GAAG,CAAC,CAAA;QACb,IAAI,CAAC,eAAe;YAAE,OAAM;QAC5B,KAAK,MAAM,GAAG,IAAI,SAAS,CAAC,WAAW,EAAE,EAAE,CAAC;YAC1C,IAAI,CAAC,GAAG;gBAAE,SAAQ;YAClB,KAAK,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC;gBACrD,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;gBACtC,IAAI,CAAC,QAAQ;oBAAE,SAAQ;gBACvB,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;gBACjE,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;YAC9C,CAAC;YACD,KAAK,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC;gBACvD,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;gBACnC,IAAI,GAAG,IAAI,IAAI;oBAAE,SAAQ;gBACzB,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;YACpC,CAAC;QACH,CAAC;IACH,CAAC;CACF"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=gamepad.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gamepad.test.d.ts","sourceRoot":"","sources":["../../../src/input/gamepad.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,172 @@
1
+ var __addDisposableResource = (this && this.__addDisposableResource) || function (env, value, async) {
2
+ if (value !== null && value !== void 0) {
3
+ if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected.");
4
+ var dispose, inner;
5
+ if (async) {
6
+ if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined.");
7
+ dispose = value[Symbol.asyncDispose];
8
+ }
9
+ if (dispose === void 0) {
10
+ if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined.");
11
+ dispose = value[Symbol.dispose];
12
+ if (async) inner = dispose;
13
+ }
14
+ if (typeof dispose !== "function") throw new TypeError("Object not disposable.");
15
+ if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };
16
+ env.stack.push({ value: value, dispose: dispose, async: async });
17
+ }
18
+ else if (async) {
19
+ env.stack.push({ async: true });
20
+ }
21
+ return value;
22
+ };
23
+ var __disposeResources = (this && this.__disposeResources) || (function (SuppressedError) {
24
+ return function (env) {
25
+ function fail(e) {
26
+ env.error = env.hasError ? new SuppressedError(e, env.error, "An error was suppressed during disposal.") : e;
27
+ env.hasError = true;
28
+ }
29
+ var r, s = 0;
30
+ function next() {
31
+ while (r = env.stack.pop()) {
32
+ try {
33
+ if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);
34
+ if (r.dispose) {
35
+ var result = r.dispose.call(r.value);
36
+ if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });
37
+ }
38
+ else s |= 1;
39
+ }
40
+ catch (e) {
41
+ fail(e);
42
+ }
43
+ }
44
+ if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();
45
+ if (env.hasError) throw env.error;
46
+ }
47
+ return next();
48
+ };
49
+ })(typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
50
+ var e = new Error(message);
51
+ return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
52
+ });
53
+ import { test } from 'node:test';
54
+ import { assert } from "../test/assert.js";
55
+ import { NavigatorGamepadsMock } from "../test/navigator-gamepads-mock.js";
56
+ import { SecureContextMock } from "../test/secure-context-mock.js";
57
+ import { Gamepad } from "./gamepad.js";
58
+ test('Gamepad', async (ctx) => {
59
+ const env_1 = { stack: [], error: void 0, hasError: false };
60
+ try {
61
+ const secureContext = __addDisposableResource(env_1, new SecureContextMock(), false);
62
+ secureContext.secure = true;
63
+ const navigator = __addDisposableResource(env_1, new NavigatorGamepadsMock(), false);
64
+ const target = new EventTarget();
65
+ const gamepad = __addDisposableResource(env_1, new Gamepad(target).register('add'), false);
66
+ gamepad.bitByButton[0] = 1;
67
+ await ctx.test('init', () => {
68
+ navigator.gamepads = [null];
69
+ assert(gamepad.bits, 0);
70
+ });
71
+ await ctx.test('no pads', () => {
72
+ navigator.gamepads = [];
73
+ gamepad.update();
74
+ assert(gamepad.bits, 0);
75
+ assert(gamepad.connected, false);
76
+ });
77
+ await ctx.test('one pad', () => {
78
+ navigator.gamepads = [
79
+ { axes: [], buttons: [{ pressed: true }] }
80
+ ];
81
+ assert(gamepad.connected, true);
82
+ gamepad.update();
83
+ assert(gamepad.bits, 1);
84
+ });
85
+ await ctx.test('update clears previous bits', () => {
86
+ // first update sets a bit.
87
+ navigator.gamepads = [
88
+ { axes: [], buttons: [{ pressed: true }] }
89
+ ];
90
+ gamepad.update();
91
+ assert(gamepad.bits, 1);
92
+ // second update with no buttons clears the bit.
93
+ navigator.gamepads = [
94
+ { axes: [], buttons: [{ pressed: false }] }
95
+ ];
96
+ gamepad.update();
97
+ assert(gamepad.bits, 0);
98
+ });
99
+ await ctx.test('axes thresholds', () => {
100
+ // map axis 0 to separate bits for negative and positive thresholds.
101
+ gamepad.bitByAxis[0] = [2, 4];
102
+ // zero yields no bit.
103
+ navigator.gamepads = [
104
+ { axes: [0], buttons: [] }
105
+ ];
106
+ gamepad.reset();
107
+ gamepad.update();
108
+ assert(gamepad.bits, 0);
109
+ // below positive threshold yields no bit.
110
+ navigator.gamepads = [
111
+ { axes: [0.49], buttons: [] }
112
+ ];
113
+ gamepad.reset();
114
+ gamepad.update();
115
+ assert(gamepad.bits, 0);
116
+ // a positive threshold yields "more" bit.
117
+ navigator.gamepads = [
118
+ { axes: [0.5], buttons: [] }
119
+ ];
120
+ gamepad.reset();
121
+ gamepad.update();
122
+ assert(gamepad.bits, 4);
123
+ // a negative threshold yields "less" bit.
124
+ navigator.gamepads = [
125
+ { axes: [-0.5], buttons: [] }
126
+ ];
127
+ gamepad.reset();
128
+ gamepad.update();
129
+ assert(gamepad.bits, 2);
130
+ // below negative threshold magnitude yields no bit.
131
+ navigator.gamepads = [
132
+ { axes: [-0.49], buttons: [] }
133
+ ];
134
+ gamepad.reset();
135
+ gamepad.update();
136
+ assert(gamepad.bits, 0);
137
+ });
138
+ }
139
+ catch (e_1) {
140
+ env_1.error = e_1;
141
+ env_1.hasError = true;
142
+ }
143
+ finally {
144
+ __disposeResources(env_1);
145
+ }
146
+ });
147
+ test('insecure context ignores pads', () => {
148
+ const env_2 = { stack: [], error: void 0, hasError: false };
149
+ try {
150
+ const secureContext = __addDisposableResource(env_2, new SecureContextMock(), false);
151
+ secureContext.secure = false;
152
+ const navigator = __addDisposableResource(env_2, new NavigatorGamepadsMock(), false);
153
+ const target = new EventTarget();
154
+ const gamepad = __addDisposableResource(env_2, new Gamepad(target).register('add'), false);
155
+ gamepad.bitByButton[0] = 1;
156
+ navigator.gamepads = [
157
+ { axes: [1], buttons: [{ pressed: true }] }
158
+ ];
159
+ gamepad.reset();
160
+ gamepad.update();
161
+ assert(gamepad.bits, 0);
162
+ assert(gamepad.connected, false);
163
+ }
164
+ catch (e_2) {
165
+ env_2.error = e_2;
166
+ env_2.hasError = true;
167
+ }
168
+ finally {
169
+ __disposeResources(env_2);
170
+ }
171
+ });
172
+ //# sourceMappingURL=gamepad.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gamepad.test.js","sourceRoot":"","sources":["../../../src/input/gamepad.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"input.d.ts","sourceRoot":"","sources":["../../../src/input/input.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"input.d.ts","sourceRoot":"","sources":["../../../src/input/input.ts"],"names":[],"mappings":"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"}
@@ -175,7 +175,9 @@ export class Input {
175
175
  return !this.handled && (this.#bits & bits) === bits;
176
176
  }
177
177
  isOnStart(...btns) {
178
- return this.started && this.isOn(...btns);
178
+ const bits = this.#mapBits(btns);
179
+ const wasOn = (this.#prevBits & bits) === bits;
180
+ return !wasOn && this.started && this.isOn(...btns);
179
181
  }
180
182
  get key() {
181
183
  return { invalid: this.#keyboard.invalid };
@@ -191,8 +193,10 @@ export class Input {
191
193
  this.mapKeyboardCode('Menu', 'Enter');
192
194
  this.mapKeyboardCode('Back', 'Escape');
193
195
  // https://w3c.github.io/gamepad/#remapping
194
- this.mapGamepadAxis('U', 'D', 1, 3);
195
- this.mapGamepadAxis('L', 'R', 0, 2);
196
+ // 7 and 6 are for
197
+ // `8Bitdo SF30 Pro 8BitDo SN30 Pro+ (Vendor: 2dc8 Product: 6002)`.
198
+ this.mapGamepadAxis('U', 'D', 1, 3, 7);
199
+ this.mapGamepadAxis('L', 'R', 0, 2, 6);
196
200
  this.mapGamepadButton('U', 12);
197
201
  this.mapGamepadButton('D', 13);
198
202
  this.mapGamepadButton('L', 14);
@@ -208,12 +212,11 @@ export class Input {
208
212
  }
209
213
  // to-do: support analog values.
210
214
  mapGamepadAxis(less, more, ...axes) {
211
- for (const axis of axes) {
215
+ for (const axis of axes)
212
216
  this.#gamepad.bitByAxis[axis] = [
213
217
  this.#mapButton(less),
214
218
  this.#mapButton(more)
215
219
  ];
216
- }
217
220
  }
218
221
  mapGamepadButton(btn, ...indices) {
219
222
  for (const index of indices)
@@ -1 +1 @@
1
- {"version":3,"file":"input.js","sourceRoot":"","sources":["../../../src/input/input.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,WAAW,EAAC,MAAM,mBAAmB,CAAA;AAC7C,OAAO,EAAC,OAAO,EAAC,MAAM,cAAc,CAAA;AACpC,OAAO,EAAC,QAAQ,EAAC,MAAM,eAAe,CAAA;AAEtC,OAAO,EAAC,OAAO,EAAC,MAAM,cAAc,CAAA;AACpC,OAAO,EAAC,KAAK,EAAC,MAAM,YAAY,CAAA;AAiDhC;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,OAAO,KAAK;IAChB,yCAAyC;IACzC,sBAAsB,GAAW,GAAa,CAAA;IAC9C;;OAEG;IACH,QAAQ,GAAY,KAAK,CAAA;IACzB,gDAAgD;IAChD,OAAO,GAAY,KAAK,CAAA;IACxB,6DAA6D;IAC7D,OAAO,GAAY,KAAK,CAAA;IACxB;;;;OAIG;IACH,aAAa,GAAW,GAAa,CAAA;IAC5B,YAAY,GAAkC,EAAE,CAAA;IAChD,YAAY,GAA+B,EAAE,CAAA;IACtD,KAAK,GAAW,CAAC,CAAA;IACR,IAAI,CAAe;IAC5B;;;OAGG;IACM,MAAM,GAAa,EAAE,CAAA;IACrB,YAAY,CAAa;IAClC,wBAAwB;IACf,IAAI,GAAO,EAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAC,CAAA;IACvB,QAAQ,CAAS;IAC1B,kCAAkC;IAClC,WAAW,GAAW,CAAC,CAAA;IACd,SAAS,CAAU;IACnB,QAAQ,CAAS;IAC1B,aAAa,CAA0B;IACvC,6DAA6D;IAC7D,SAAS,GAAW,CAAC,CAAA;IACZ,MAAM,CAAO;IACtB,WAAW,CAAkC;IAE7C,YAAY,GAAkB,EAAE,MAAe;QAC7C,IAAI,CAAC,IAAI,GAAG,GAAG,CAAA;QACf,IAAI,CAAC,YAAY,GAAG,IAAI,WAAW,CAAC,MAAM,CAAC,CAAA;QAC3C,IAAI,CAAC,QAAQ,GAAG,IAAI,OAAO,CAAC,UAAU,CAAC,CAAA;QACvC,IAAI,CAAC,SAAS,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,CAAA;QACnD,IAAI,CAAC,QAAQ,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,CAAA;QACnC,IAAI,CAAC,MAAM,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,CAAA;IACjC,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,KAAK,KAAK,CAAC,CAAA;IACzB,CAAC;IAED,qBAAqB;IACrB,IAAI,KAAK;QACP,MAAM,MAAM,GAAkB,EAAE,CAAA;QAChC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAC/B,MAAM,KAAK,GAAgB,EAAE,CAAA;YAC7B,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,IAAI,IAAI,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC;gBACzC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC;oBAChD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAE,CAAC,CAAA;YACvC,CAAC;YACD,KAAK,CAAC,IAAI,EAAE,CAAA;YACZ,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACpB,CAAC;QACD,OAAO,MAAM,CAAA;IACf,CAAC;IAED;;;OAGG;IACH,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,YAAY,CAAA;IAC1B,CAAC;IAED,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,IAAI,CAAA;IAClB,CAAC;IAED,yDAAyD;IACzD,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;IACjD,CAAC;IAED,mDAAmD;IACnD,IAAI,IAAI;QACN,OAAO,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,aAAa,CAAA;IAChE,CAAC;IAED,OAAO,CAAC,GAAG,IAAqB;QAC9B,OAAO,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAA;IAC9D,CAAC;IAED,YAAY,CAAC,GAAG,IAAqB;QACnC,OAAO,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAA;IAC9C,CAAC;IAED,0CAA0C;IAC1C,YAAY,CAAC,GAAG,IAAqB;QACnC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;QAChC,OAAO,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,CAAA;IAChE,CAAC;IAED,kDAAkD;IAClD,YAAY,CAAC,GAAG,IAAqB;QACnC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;QAChC,OAAO,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,CAAA;IACzE,CAAC;IAED;;;;OAIG;IACH,OAAO,CAAC,GAAG,KAAsB;QAC/B,OAAO,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,eAAe,CAAC,GAAG,KAAK,CAAC,CAAA;IAC9E,CAAC;IAED;;;OAGG;IACH,eAAe,CAAC,GAAG,KAAsB;QACvC,KAAK,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;YACxC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;YAChC,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,IAAI;gBAAE,OAAO,KAAK,CAAA;QAC9D,CAAC;QACD,4EAA4E;QAC5E,qEAAqE;QACrE,OAAO,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAC5E,CAAC;IAED,uEAAuE;IACvE,oBAAoB,CAAC,GAAG,KAAsB;QAC5C,sCAAsC;QACtC,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC,IAAI,IAAI,CAAC,eAAe,CAAC,GAAG,KAAK,CAAC,CAAA;IAC3E,CAAC;IAED,+DAA+D;IAC/D,YAAY,CAAC,GAAG,KAAsB;QACpC,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,CAAA;IACnE,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,GAAG,IAAqB;QAC5B,OAAO,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAA;IAC7C,CAAC;IAED,UAAU,CAAC,GAAG,IAAqB;QACjC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;QAChC,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,IAAI,CAAA;QAC9C,4EAA4E;QAC5E,qBAAqB;QACrB,OAAO,KAAK,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAA;IACrD,CAAC;IAED;;;OAGG;IACH,IAAI,CAAC,GAAG,IAAqB;QAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;QAChC,OAAO,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,CAAA;IACtD,CAAC;IAED,SAAS,CAAC,GAAG,IAAqB;QAChC,OAAO,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAA;IAC3C,CAAC;IAED,IAAI,GAAG;QACL,OAAO,EAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAC,CAAA;IAC1C,CAAC;IAED,UAAU;QACR,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,SAAS,CAAC,CAAA;QACpC,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,WAAW,CAAC,CAAA;QACtC,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,WAAW,CAAC,CAAA;QACtC,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,YAAY,CAAC,CAAA;QACvC,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;QACjC,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;QAC1C,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;QACjC,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QACrC,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;QAEtC,2CAA2C;QAC3C,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;QACnC,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;QACnC,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QAC9B,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QAC9B,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QAC9B,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QAC9B,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;QAC7B,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA,CAAC,uCAAuC;QACrE,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA,CAAC,uCAAuC;QACrE,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;QAChC,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;QAEhC,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;QAC5B,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;QAC5B,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;IAC9B,CAAC;IAED,gCAAgC;IAChC,cAAc,CACZ,IAAe,EACf,IAAe,EACf,GAAG,IAAuB;QAE1B,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;YACxB,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG;gBAC9B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;gBACrB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;aACtB,CAAA;QACH,CAAC;IACH,CAAC;IAED,gBAAgB,CAAC,GAAc,EAAE,GAAG,OAA0B;QAC5D,KAAK,MAAM,KAAK,IAAI,OAAO;YACzB,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;IAC3D,CAAC;IAED,8CAA8C;IAC9C,eAAe,CAAC,GAAc,EAAE,GAAG,KAAwB;QACzD,KAAK,MAAM,IAAI,IAAI,KAAK;YACtB,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;IACzD,CAAC;IAED,eAAe,CAAC,GAAc,EAAE,GAAG,MAAyB;QAC1D,KAAK,MAAM,KAAK,IAAI,MAAM;YACxB,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;IAC3D,CAAC;IAED,IAAI,EAAE;QACJ,MAAM,EAAE,GAAgB,EAAE,CAAA;QAC1B,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,YAAY;YACjC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAgB,CAAC;gBAAE,EAAE,CAAC,IAAI,CAAC,GAAgB,CAAC,CAAA;QAC5D,OAAO,EAAE,CAAC,IAAI,EAAE,CAAA;IAClB,CAAC;IAED,IAAI,OAAO,CAAC,IAAgB;QAC1B,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAA;QAC5B,IAAI,CAAC,SAAS,CAAC,OAAO,GAAG,IAAI,CAAA;QAC7B,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAA;QAC5B,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAA;IAC5B,CAAC;IAED,gCAAgC;IAChC,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,aAAa,CAAA;IAC3B,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAA;IACtB,CAAC;IAED,QAAQ,CAAC,EAAoB;QAC3B,UAAU,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA,CAAC,uCAAuC;QAC5F,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;QAC9B,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;QAC1B,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;QAC3B,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;QAC1B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;QACxB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK,GAAG,GAAS,EAAE;QACjB,IAAI,CAAC,KAAK,GAAG,CAAC,CAAA;QACd,IAAI,CAAC,SAAS,GAAG,CAAC,CAAA;QAClB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAA;QACpB,IAAI,CAAC,WAAW,GAAG,CAAC,CAAA;QACpB,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAA;QACtB,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAA;QACrB,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAA;QACtB,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAA;QACrB,IAAI,CAAC,aAAa,GAAG,SAAS,CAAA;QAC9B,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAA;QACnB,IAAI,CAAC,WAAW,GAAG,SAAS,CAAA;IAC9B,CAAC,CAAA;IAED,gCAAgC;IAChC,IAAI,OAAO;QACT,OAAO,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,SAAS,CAAA;IACvD,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,MAAc;QACnB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAA;QACpB,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAA;QACtB,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAA;QAEtB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAA;QAC3B,IAAI,CAAC,KAAK;YACR,IAAI,CAAC,QAAQ,CAAC,IAAI;gBAClB,IAAI,CAAC,SAAS,CAAC,IAAI;gBACnB,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,CAAC,CAAA;QACpC,IAAI,CAAC,OAAO;YACV,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,SAAS;gBAC7B,IAAI,CAAC,QAAQ,CAAC,OAAO;gBACrB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAA;QAC3B,IAAI,CAAC,QAAQ,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAA;QAE9B,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAA;QAC7B,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAE,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,YAAY,CAAC,CAAC;YAC7D,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAA;QAClB,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAE,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,YAAY,CAAC,CAAC;YAC7D,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAA;QAClB,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAE,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,YAAY,CAAC,CAAC;YAC7D,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAA;QAClB,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAE,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,YAAY,CAAC,CAAC;YAC7D,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAA;QAElB,IACE,CAAC,MAAM,GAAG,IAAI,CAAC,sBAAsB,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,SAAS,CAAC;YACvE,CAAC,IAAI,CAAC,WAAW,GAAG,MAAM,GAAG,IAAI,CAAC,sBAAsB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;YAExE,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAA;QAExB,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,SAAS;YAC/B,IAAI,CAAC,WAAW,GAAG,CAAC,IAAI,CAAC,WAAW,GAAG,MAAM,CAAW,CAAA;;YACrD,IAAI,CAAC,WAAW,GAAG,MAAM,CAAA;QAE9B,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,SAAS,EAAE,CAAC;YAChD,IAAI,IAAI,CAAC,SAAS;gBAAE,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAA,CAAC,8BAA8B;YACzE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAC9B,CAAC;QAED,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;YAC1B,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAA;YAC7C,MAAM,MAAM,GACV,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI;gBAC1B,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,MAAM,CAAA;YAChD,MAAM,SAAS,GAAY,EAAE,CAAA;YAC7B,KAAK,MAAM,EAAE,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;gBACxD,SAAS,CAAC,IAAI,CAAC;oBACb,IAAI,EAAE,EAAE,CAAC,IAAI;oBACb,KAAK,EAAE,EAAE,CAAC,WAAW;wBACnB,CAAC,CAAC;4BACE,MAAM,EAAE,EAAE,CAAC,WAAW;4BACtB,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,WAAW,CAAC;4BAChD,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,WAAW,CAAC;yBACxC;wBACH,CAAC,CAAC,SAAS;oBACb,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,QAAQ,CAAC;oBACpC,MAAM,EAAE,EAAE,CAAC,QAAQ;oBACnB,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,QAAQ,CAAC;iBAC9C,CAAC,CAAA;YACJ,CAAC;YACD,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAa,CAAA;YAChD,MAAM,MAAM,GAAG;gBACb,MAAM,EAAE,YAAY;gBACpB,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC;gBAC9C,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC;aACtC,CAAA;YACD,IAAI,CAAC,aAAa,GAAG;gBACnB,MAAM;gBACN,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW;oBACtC,CAAC,CAAC;wBACE,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW;wBACzC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,eAAe,CAC9B,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAClC;wBACD,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC;qBAC3D;oBACH,CAAC,CAAC,SAAS;gBACb,IAAI,EAAE;oBACJ,EAAE,EAAE,MAAM;oBACV,KAAK,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,EAAE,IAAI,MAAM;oBAC7C,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,MAAM;iBAC9C;gBACD,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO;gBAC9B,KAAK,EAAE,WAAW;oBAChB,CAAC,CAAC,EAAC,MAAM,EAAE,WAAW,EAAE,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAC;oBAC9D,CAAC,CAAC,SAAS;gBACb,SAAS;gBACT,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI;gBAChC,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC;gBACvD,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ;gBACtC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC;aACjE,CAAA;QACH,CAAC;QACD,oDAAoD;;YAC/C,IAAI,CAAC,aAAa,GAAG,SAAS,CAAA;QAEnC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW;YACxC,CAAC,CAAC;gBACE,KAAK,EAAE;oBACL,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;oBAC/B,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;iBAClD;aACF;YACH,CAAC,CAAC,SAAS,CAAA;QACb,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,CAAA;QAC3B,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAA;QAC1B,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAA;IAC1B,CAAC;IAED,CAAC,MAAM,CAAC,OAAO,CAAC;QACd,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;IACzB,CAAC;IAED,gCAAgC;IAChC,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,WAAW,CAAA;IACzB,CAAC;IAED,4BAA4B;IAC5B,QAAQ,CAAC,IAAqB;QAC5B,IAAI,IAAI,GAAG,CAAC,CAAA;QACZ,KAAK,MAAM,GAAG,IAAI,IAAI;YAAE,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAC3D,OAAO,IAAI,CAAA;IACb,CAAC;IAED,4BAA4B;IAC5B,UAAU,CAAC,GAAc;QACvB,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC;YACjC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,CAAA;QAC7C,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,GAAG,CAAA;QAC5B,OAAO,GAAG,CAAA;IACZ,CAAC;CACF"}
1
+ {"version":3,"file":"input.js","sourceRoot":"","sources":["../../../src/input/input.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,WAAW,EAAC,MAAM,mBAAmB,CAAA;AAC7C,OAAO,EAAC,OAAO,EAAC,MAAM,cAAc,CAAA;AACpC,OAAO,EAAC,QAAQ,EAAC,MAAM,eAAe,CAAA;AAEtC,OAAO,EAAC,OAAO,EAAC,MAAM,cAAc,CAAA;AACpC,OAAO,EAAC,KAAK,EAAC,MAAM,YAAY,CAAA;AAiDhC;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,OAAO,KAAK;IAChB,yCAAyC;IACzC,sBAAsB,GAAW,GAAa,CAAA;IAC9C;;OAEG;IACH,QAAQ,GAAY,KAAK,CAAA;IACzB,gDAAgD;IAChD,OAAO,GAAY,KAAK,CAAA;IACxB,6DAA6D;IAC7D,OAAO,GAAY,KAAK,CAAA;IACxB;;;;OAIG;IACH,aAAa,GAAW,GAAa,CAAA;IAC5B,YAAY,GAAkC,EAAE,CAAA;IAChD,YAAY,GAA+B,EAAE,CAAA;IACtD,KAAK,GAAW,CAAC,CAAA;IACR,IAAI,CAAe;IAC5B;;;OAGG;IACM,MAAM,GAAa,EAAE,CAAA;IACrB,YAAY,CAAa;IAClC,wBAAwB;IACf,IAAI,GAAO,EAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAC,CAAA;IACvB,QAAQ,CAAS;IAC1B,kCAAkC;IAClC,WAAW,GAAW,CAAC,CAAA;IACd,SAAS,CAAU;IACnB,QAAQ,CAAS;IAC1B,aAAa,CAA0B;IACvC,6DAA6D;IAC7D,SAAS,GAAW,CAAC,CAAA;IACZ,MAAM,CAAO;IACtB,WAAW,CAAkC;IAE7C,YAAY,GAAkB,EAAE,MAAe;QAC7C,IAAI,CAAC,IAAI,GAAG,GAAG,CAAA;QACf,IAAI,CAAC,YAAY,GAAG,IAAI,WAAW,CAAC,MAAM,CAAC,CAAA;QAC3C,IAAI,CAAC,QAAQ,GAAG,IAAI,OAAO,CAAC,UAAU,CAAC,CAAA;QACvC,IAAI,CAAC,SAAS,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,CAAA;QACnD,IAAI,CAAC,QAAQ,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,CAAA;QACnC,IAAI,CAAC,MAAM,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,CAAA;IACjC,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,KAAK,KAAK,CAAC,CAAA;IACzB,CAAC;IAED,qBAAqB;IACrB,IAAI,KAAK;QACP,MAAM,MAAM,GAAkB,EAAE,CAAA;QAChC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAC/B,MAAM,KAAK,GAAgB,EAAE,CAAA;YAC7B,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,IAAI,IAAI,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC;gBACzC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC;oBAChD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAE,CAAC,CAAA;YACvC,CAAC;YACD,KAAK,CAAC,IAAI,EAAE,CAAA;YACZ,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACpB,CAAC;QACD,OAAO,MAAM,CAAA;IACf,CAAC;IAED;;;OAGG;IACH,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,YAAY,CAAA;IAC1B,CAAC;IAED,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,IAAI,CAAA;IAClB,CAAC;IAED,yDAAyD;IACzD,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;IACjD,CAAC;IAED,mDAAmD;IACnD,IAAI,IAAI;QACN,OAAO,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,aAAa,CAAA;IAChE,CAAC;IAED,OAAO,CAAC,GAAG,IAAqB;QAC9B,OAAO,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAA;IAC9D,CAAC;IAED,YAAY,CAAC,GAAG,IAAqB;QACnC,OAAO,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAA;IAC9C,CAAC;IAED,0CAA0C;IAC1C,YAAY,CAAC,GAAG,IAAqB;QACnC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;QAChC,OAAO,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,CAAA;IAChE,CAAC;IAED,kDAAkD;IAClD,YAAY,CAAC,GAAG,IAAqB;QACnC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;QAChC,OAAO,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,CAAA;IACzE,CAAC;IAED;;;;OAIG;IACH,OAAO,CAAC,GAAG,KAAsB;QAC/B,OAAO,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,eAAe,CAAC,GAAG,KAAK,CAAC,CAAA;IAC9E,CAAC;IAED;;;OAGG;IACH,eAAe,CAAC,GAAG,KAAsB;QACvC,KAAK,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;YACxC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;YAChC,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,IAAI;gBAAE,OAAO,KAAK,CAAA;QAC9D,CAAC;QACD,4EAA4E;QAC5E,qEAAqE;QACrE,OAAO,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAC5E,CAAC;IAED,uEAAuE;IACvE,oBAAoB,CAAC,GAAG,KAAsB;QAC5C,sCAAsC;QACtC,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC,IAAI,IAAI,CAAC,eAAe,CAAC,GAAG,KAAK,CAAC,CAAA;IAC3E,CAAC;IAED,+DAA+D;IAC/D,YAAY,CAAC,GAAG,KAAsB;QACpC,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,CAAA;IACnE,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,GAAG,IAAqB;QAC5B,OAAO,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAA;IAC7C,CAAC;IAED,UAAU,CAAC,GAAG,IAAqB;QACjC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;QAChC,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,IAAI,CAAA;QAC9C,4EAA4E;QAC5E,qBAAqB;QACrB,OAAO,KAAK,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAA;IACrD,CAAC;IAED;;;OAGG;IACH,IAAI,CAAC,GAAG,IAAqB;QAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;QAChC,OAAO,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,CAAA;IACtD,CAAC;IAED,SAAS,CAAC,GAAG,IAAqB;QAChC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;QAChC,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,IAAI,CAAA;QAC9C,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAA;IACrD,CAAC;IAED,IAAI,GAAG;QACL,OAAO,EAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAC,CAAA;IAC1C,CAAC;IAED,UAAU;QACR,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,SAAS,CAAC,CAAA;QACpC,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,WAAW,CAAC,CAAA;QACtC,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,WAAW,CAAC,CAAA;QACtC,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,YAAY,CAAC,CAAA;QACvC,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;QACjC,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;QAC1C,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;QACjC,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QACrC,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;QAEtC,2CAA2C;QAC3C,kBAAkB;QAClB,qEAAqE;QACrE,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;QACtC,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;QACtC,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QAC9B,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QAC9B,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QAC9B,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QAC9B,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;QAC7B,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA,CAAC,uCAAuC;QACrE,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA,CAAC,uCAAuC;QACrE,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;QAChC,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;QAEhC,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;QAC5B,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;QAC5B,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;IAC9B,CAAC;IAED,gCAAgC;IAChC,cAAc,CACZ,IAAe,EACf,IAAe,EACf,GAAG,IAAuB;QAE1B,KAAK,MAAM,IAAI,IAAI,IAAI;YACrB,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG;gBAC9B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;gBACrB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;aACtB,CAAA;IACL,CAAC;IAED,gBAAgB,CAAC,GAAc,EAAE,GAAG,OAA0B;QAC5D,KAAK,MAAM,KAAK,IAAI,OAAO;YACzB,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;IAC3D,CAAC;IAED,8CAA8C;IAC9C,eAAe,CAAC,GAAc,EAAE,GAAG,KAAwB;QACzD,KAAK,MAAM,IAAI,IAAI,KAAK;YACtB,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;IACzD,CAAC;IAED,eAAe,CAAC,GAAc,EAAE,GAAG,MAAyB;QAC1D,KAAK,MAAM,KAAK,IAAI,MAAM;YACxB,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;IAC3D,CAAC;IAED,IAAI,EAAE;QACJ,MAAM,EAAE,GAAgB,EAAE,CAAA;QAC1B,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,YAAY;YACjC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAgB,CAAC;gBAAE,EAAE,CAAC,IAAI,CAAC,GAAgB,CAAC,CAAA;QAC5D,OAAO,EAAE,CAAC,IAAI,EAAE,CAAA;IAClB,CAAC;IAED,IAAI,OAAO,CAAC,IAAgB;QAC1B,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAA;QAC5B,IAAI,CAAC,SAAS,CAAC,OAAO,GAAG,IAAI,CAAA;QAC7B,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAA;QAC5B,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAA;IAC5B,CAAC;IAED,gCAAgC;IAChC,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,aAAa,CAAA;IAC3B,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAA;IACtB,CAAC;IAED,QAAQ,CAAC,EAAoB;QAC3B,UAAU,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA,CAAC,uCAAuC;QAC5F,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;QAC9B,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;QAC1B,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;QAC3B,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;QAC1B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;QACxB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK,GAAG,GAAS,EAAE;QACjB,IAAI,CAAC,KAAK,GAAG,CAAC,CAAA;QACd,IAAI,CAAC,SAAS,GAAG,CAAC,CAAA;QAClB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAA;QACpB,IAAI,CAAC,WAAW,GAAG,CAAC,CAAA;QACpB,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAA;QACtB,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAA;QACrB,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAA;QACtB,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAA;QACrB,IAAI,CAAC,aAAa,GAAG,SAAS,CAAA;QAC9B,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAA;QACnB,IAAI,CAAC,WAAW,GAAG,SAAS,CAAA;IAC9B,CAAC,CAAA;IAED,gCAAgC;IAChC,IAAI,OAAO;QACT,OAAO,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,SAAS,CAAA;IACvD,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,MAAc;QACnB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAA;QACpB,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAA;QACtB,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAA;QAEtB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAA;QAC3B,IAAI,CAAC,KAAK;YACR,IAAI,CAAC,QAAQ,CAAC,IAAI;gBAClB,IAAI,CAAC,SAAS,CAAC,IAAI;gBACnB,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,CAAC,CAAA;QACpC,IAAI,CAAC,OAAO;YACV,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,SAAS;gBAC7B,IAAI,CAAC,QAAQ,CAAC,OAAO;gBACrB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAA;QAC3B,IAAI,CAAC,QAAQ,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAA;QAE9B,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAA;QAC7B,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAE,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,YAAY,CAAC,CAAC;YAC7D,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAA;QAClB,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAE,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,YAAY,CAAC,CAAC;YAC7D,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAA;QAClB,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAE,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,YAAY,CAAC,CAAC;YAC7D,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAA;QAClB,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAE,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,YAAY,CAAC,CAAC;YAC7D,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAA;QAElB,IACE,CAAC,MAAM,GAAG,IAAI,CAAC,sBAAsB,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,SAAS,CAAC;YACvE,CAAC,IAAI,CAAC,WAAW,GAAG,MAAM,GAAG,IAAI,CAAC,sBAAsB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;YAExE,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAA;QAExB,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,SAAS;YAC/B,IAAI,CAAC,WAAW,GAAG,CAAC,IAAI,CAAC,WAAW,GAAG,MAAM,CAAW,CAAA;;YACrD,IAAI,CAAC,WAAW,GAAG,MAAM,CAAA;QAE9B,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,SAAS,EAAE,CAAC;YAChD,IAAI,IAAI,CAAC,SAAS;gBAAE,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAA,CAAC,8BAA8B;YACzE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAC9B,CAAC;QAED,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;YAC1B,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAA;YAC7C,MAAM,MAAM,GACV,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI;gBAC1B,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,MAAM,CAAA;YAChD,MAAM,SAAS,GAAY,EAAE,CAAA;YAC7B,KAAK,MAAM,EAAE,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;gBACxD,SAAS,CAAC,IAAI,CAAC;oBACb,IAAI,EAAE,EAAE,CAAC,IAAI;oBACb,KAAK,EAAE,EAAE,CAAC,WAAW;wBACnB,CAAC,CAAC;4BACE,MAAM,EAAE,EAAE,CAAC,WAAW;4BACtB,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,WAAW,CAAC;4BAChD,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,WAAW,CAAC;yBACxC;wBACH,CAAC,CAAC,SAAS;oBACb,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,QAAQ,CAAC;oBACpC,MAAM,EAAE,EAAE,CAAC,QAAQ;oBACnB,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,QAAQ,CAAC;iBAC9C,CAAC,CAAA;YACJ,CAAC;YACD,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAa,CAAA;YAChD,MAAM,MAAM,GAAG;gBACb,MAAM,EAAE,YAAY;gBACpB,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC;gBAC9C,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC;aACtC,CAAA;YACD,IAAI,CAAC,aAAa,GAAG;gBACnB,MAAM;gBACN,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW;oBACtC,CAAC,CAAC;wBACE,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW;wBACzC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,eAAe,CAC9B,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAClC;wBACD,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC;qBAC3D;oBACH,CAAC,CAAC,SAAS;gBACb,IAAI,EAAE;oBACJ,EAAE,EAAE,MAAM;oBACV,KAAK,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,EAAE,IAAI,MAAM;oBAC7C,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,MAAM;iBAC9C;gBACD,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO;gBAC9B,KAAK,EAAE,WAAW;oBAChB,CAAC,CAAC,EAAC,MAAM,EAAE,WAAW,EAAE,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAC;oBAC9D,CAAC,CAAC,SAAS;gBACb,SAAS;gBACT,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI;gBAChC,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC;gBACvD,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ;gBACtC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC;aACjE,CAAA;QACH,CAAC;QACD,oDAAoD;;YAC/C,IAAI,CAAC,aAAa,GAAG,SAAS,CAAA;QAEnC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW;YACxC,CAAC,CAAC;gBACE,KAAK,EAAE;oBACL,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;oBAC/B,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;iBAClD;aACF;YACH,CAAC,CAAC,SAAS,CAAA;QACb,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,CAAA;QAC3B,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAA;QAC1B,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAA;IAC1B,CAAC;IAED,CAAC,MAAM,CAAC,OAAO,CAAC;QACd,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;IACzB,CAAC;IAED,gCAAgC;IAChC,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,WAAW,CAAA;IACzB,CAAC;IAED,4BAA4B;IAC5B,QAAQ,CAAC,IAAqB;QAC5B,IAAI,IAAI,GAAG,CAAC,CAAA;QACZ,KAAK,MAAM,GAAG,IAAI,IAAI;YAAE,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAC3D,OAAO,IAAI,CAAA;IACb,CAAC;IAED,4BAA4B;IAC5B,UAAU,CAAC,GAAc;QACvB,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC;YACjC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,CAAA;QAC7C,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,GAAG,CAAA;QAC5B,OAAO,GAAG,CAAA;IACZ,CAAC;CACF"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=input.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input.test.d.ts","sourceRoot":"","sources":["../../../src/input/input.test.ts"],"names":[],"mappings":""}