cubing 0.34.3 → 0.34.4

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 (967) hide show
  1. package/dist/esm/alg/index.js +1 -1
  2. package/dist/esm/bluetooth/index.js +5 -5
  3. package/dist/esm/{chunk-IJP4IAGZ.js → chunk-ELZ5WICP.js} +4 -4
  4. package/dist/esm/chunk-ELZ5WICP.js.map +7 -0
  5. package/dist/esm/{chunk-AUF56UEH.js → chunk-HBJNS3VF.js} +2 -2
  6. package/dist/esm/{chunk-AUF56UEH.js.map → chunk-HBJNS3VF.js.map} +0 -0
  7. package/dist/esm/{chunk-ZFPWV6J3.js → chunk-JXIKYWF4.js} +14 -14
  8. package/dist/esm/chunk-JXIKYWF4.js.map +7 -0
  9. package/dist/esm/{chunk-OGXWZ6ER.js → chunk-P6GSDAYY.js} +2 -2
  10. package/dist/esm/{chunk-OGXWZ6ER.js.map → chunk-P6GSDAYY.js.map} +0 -0
  11. package/dist/esm/{chunk-UTE3C6WH.js → chunk-P7STLPTG.js} +3 -3
  12. package/dist/esm/{chunk-UTE3C6WH.js.map → chunk-P7STLPTG.js.map} +0 -0
  13. package/dist/esm/{chunk-WPIG35IN.js → chunk-RMIAXF22.js} +3 -3
  14. package/dist/esm/{chunk-WPIG35IN.js.map → chunk-RMIAXF22.js.map} +2 -2
  15. package/dist/esm/{chunk-NOAOLQ25.js → chunk-STXBFKP7.js} +2 -2
  16. package/dist/esm/{chunk-NOAOLQ25.js.map → chunk-STXBFKP7.js.map} +0 -0
  17. package/dist/esm/{chunk-4RNFY2SZ.js → chunk-SXI3BVQT.js} +3 -3
  18. package/dist/esm/chunk-SXI3BVQT.js.map +7 -0
  19. package/dist/esm/{chunk-MUCWN22B.js → chunk-WN53PIUG.js} +6 -6
  20. package/dist/esm/{chunk-MUCWN22B.js.map → chunk-WN53PIUG.js.map} +0 -0
  21. package/dist/esm/{chunk-V6G7UV6F.js → chunk-XNFY5XVP.js} +5 -5
  22. package/dist/esm/chunk-XNFY5XVP.js.map +7 -0
  23. package/dist/esm/{chunk-STPXM5JX.js → chunk-YUBK6NHL.js} +4 -4
  24. package/dist/esm/{chunk-STPXM5JX.js.map → chunk-YUBK6NHL.js.map} +0 -0
  25. package/dist/esm/kpuzzle/index.js +2 -2
  26. package/dist/esm/notation/index.js +2 -2
  27. package/dist/esm/protocol/index.js +4 -4
  28. package/dist/esm/puzzle-geometry/index.js +1 -1
  29. package/dist/esm/puzzles/index.js +4 -4
  30. package/dist/esm/scramble/index.js +8 -8
  31. package/dist/esm/search/index.js +8 -8
  32. package/dist/esm/{search-dynamic-sgs-side-events-36F7SJTV.js → search-dynamic-sgs-side-events-RBT77KLU.js} +6 -6
  33. package/dist/esm/{search-dynamic-sgs-side-events-36F7SJTV.js.map → search-dynamic-sgs-side-events-RBT77KLU.js.map} +0 -0
  34. package/dist/esm/{search-dynamic-sgs-unofficial-RXCQQLVQ.js → search-dynamic-sgs-unofficial-XVCNTLBX.js} +6 -6
  35. package/dist/esm/{search-dynamic-sgs-unofficial-RXCQQLVQ.js.map → search-dynamic-sgs-unofficial-XVCNTLBX.js.map} +0 -0
  36. package/dist/esm/{search-dynamic-solve-3x3x3-DDVSUP2C.js → search-dynamic-solve-3x3x3-QAWYKBYP.js} +2 -2
  37. package/dist/esm/search-dynamic-solve-3x3x3-QAWYKBYP.js.map +7 -0
  38. package/dist/esm/{search-dynamic-solve-4x4x4-CJ7OHJQH.js → search-dynamic-solve-4x4x4-6D3X6JPU.js} +6 -6
  39. package/dist/esm/search-dynamic-solve-4x4x4-6D3X6JPU.js.map +7 -0
  40. package/dist/esm/{search-dynamic-solve-kilominx-FBEDWIPR.js → search-dynamic-solve-kilominx-ACTR53H2.js} +2 -2
  41. package/dist/esm/search-dynamic-solve-kilominx-ACTR53H2.js.map +7 -0
  42. package/dist/esm/{search-worker-inside-generated-string-XGFOZTAS.js → search-worker-inside-generated-string-A5J72AEN.js} +26 -26
  43. package/dist/esm/{search-worker-inside-generated-string-XGFOZTAS.js.map → search-worker-inside-generated-string-A5J72AEN.js.map} +1 -1
  44. package/dist/esm/search-worker-js-entry-6JKK757U.js +17 -0
  45. package/dist/esm/{search-worker-js-entry-JMP6QTH2.js.map → search-worker-js-entry-6JKK757U.js.map} +0 -0
  46. package/dist/esm/{search-worker-ts-entry-3YEWCUFE.js → search-worker-ts-entry-JODGBUUR.js} +2 -2
  47. package/dist/esm/{search-worker-ts-entry-3YEWCUFE.js.map → search-worker-ts-entry-JODGBUUR.js.map} +0 -0
  48. package/dist/esm/stream/index.js +1 -1
  49. package/dist/esm/twisty/index.js +8 -7
  50. package/dist/esm/twisty/index.js.map +2 -2
  51. package/dist/esm/{twisty-dynamic-3d-BJ3NLJBJ.js → twisty-dynamic-3d-ANH7V4CU.js} +6 -6
  52. package/dist/esm/{twisty-dynamic-3d-BJ3NLJBJ.js.map → twisty-dynamic-3d-ANH7V4CU.js.map} +0 -0
  53. package/dist/esm/{twsearch-4ZXQKZM6.js → twsearch-T6KOUE6W.js} +2 -2
  54. package/dist/esm/{twsearch-4ZXQKZM6.js.map → twsearch-T6KOUE6W.js.map} +0 -0
  55. package/dist/types/script/bin/screenshot-src/main.d.ts +2 -0
  56. package/dist/types/script/bin/screenshot-src/main.d.ts.map +1 -0
  57. package/dist/types/script/bin/screenshot.d.ts +3 -0
  58. package/dist/types/script/bin/screenshot.d.ts.map +1 -0
  59. package/dist/types/script/build/main.d.ts +2 -0
  60. package/dist/types/script/build/main.d.ts.map +1 -0
  61. package/dist/types/script/build/targets.d.ts +241 -0
  62. package/dist/types/script/build/targets.d.ts.map +1 -0
  63. package/dist/types/script/build/temp.d.ts +3 -0
  64. package/dist/types/script/build/temp.d.ts.map +1 -0
  65. package/dist/types/script/deploy/experiments.d.ts +2 -0
  66. package/dist/types/script/deploy/experiments.d.ts.map +1 -0
  67. package/dist/types/script/deploy/rsync.d.ts +2 -0
  68. package/dist/types/script/deploy/rsync.d.ts.map +1 -0
  69. package/dist/types/script/deploy/twizzle.d.ts +2 -0
  70. package/dist/types/script/deploy/twizzle.d.ts.map +1 -0
  71. package/dist/types/script/deploy/typedoc.d.ts +2 -0
  72. package/dist/types/script/deploy/typedoc.d.ts.map +1 -0
  73. package/dist/types/script/fix-vendored-twsearch.d.ts +2 -0
  74. package/dist/types/script/fix-vendored-twsearch.d.ts.map +1 -0
  75. package/dist/types/script/initial-setup/main.d.ts +2 -0
  76. package/dist/types/script/initial-setup/main.d.ts.map +1 -0
  77. package/dist/types/script/lib/execPromise.d.ts +5 -0
  78. package/dist/types/script/lib/execPromise.d.ts.map +1 -0
  79. package/dist/types/script/lib/experiments-server/index.d.ts +2 -0
  80. package/dist/types/script/lib/experiments-server/index.d.ts.map +1 -0
  81. package/dist/types/script/lib/need-folder.d.ts +2 -0
  82. package/dist/types/script/lib/need-folder.d.ts.map +1 -0
  83. package/dist/types/script/lib/packages.d.ts +3 -0
  84. package/dist/types/script/lib/packages.d.ts.map +1 -0
  85. package/dist/types/script/quick-setup/main.d.ts +2 -0
  86. package/dist/types/script/quick-setup/main.d.ts.map +1 -0
  87. package/dist/types/script/test/dist/experiments/main.d.ts +2 -0
  88. package/dist/types/script/test/dist/experiments/main.d.ts.map +1 -0
  89. package/dist/types/script/test/src/does-not-import-dist/expected-import-prefixes.d.ts +2 -0
  90. package/dist/types/script/test/src/does-not-import-dist/expected-import-prefixes.d.ts.map +1 -0
  91. package/dist/types/script/test/src/does-not-import-dist/main.d.ts +2 -0
  92. package/dist/types/script/test/src/does-not-import-dist/main.d.ts.map +1 -0
  93. package/dist/types/script/test/src/internal-import-restrictions/main.d.ts +2 -0
  94. package/dist/types/script/test/src/internal-import-restrictions/main.d.ts.map +1 -0
  95. package/dist/types/script/test/src/internal-import-restrictions/target-infos.d.ts +70 -0
  96. package/dist/types/script/test/src/internal-import-restrictions/target-infos.d.ts.map +1 -0
  97. package/dist/types/script/test/src/scripts-consistency/main.d.ts +2 -0
  98. package/dist/types/script/test/src/scripts-consistency/main.d.ts.map +1 -0
  99. package/dist/types/src/bin/import-restrictions-mermaid-diagram.d.ts +2 -0
  100. package/dist/types/src/bin/import-restrictions-mermaid-diagram.d.ts.map +1 -0
  101. package/dist/types/src/bin/order.d.ts +2 -0
  102. package/dist/types/src/bin/order.d.ts.map +1 -0
  103. package/dist/types/src/bin/puzzle-geometry-bin.d.ts +2 -0
  104. package/dist/types/src/bin/puzzle-geometry-bin.d.ts.map +1 -0
  105. package/dist/types/src/cubing/alg/Alg.d.ts +176 -0
  106. package/dist/types/src/cubing/alg/Alg.d.ts.map +1 -0
  107. package/dist/types/src/cubing/alg/Alg.spec.d.ts +2 -0
  108. package/dist/types/src/cubing/alg/Alg.spec.d.ts.map +1 -0
  109. package/dist/types/src/cubing/alg/AlgBuilder.d.ts +13 -0
  110. package/dist/types/src/cubing/alg/AlgBuilder.d.ts.map +1 -0
  111. package/dist/types/src/cubing/alg/Serializable.d.ts +1 -0
  112. package/dist/types/src/cubing/alg/Serializable.d.ts.map +1 -0
  113. package/dist/types/src/cubing/alg/alg-nodes/AlgNode.d.ts +14 -0
  114. package/dist/types/src/cubing/alg/alg-nodes/AlgNode.d.ts.map +1 -0
  115. package/dist/types/src/cubing/alg/alg-nodes/QuantumWithAmount.d.ts +12 -0
  116. package/dist/types/src/cubing/alg/alg-nodes/QuantumWithAmount.d.ts.map +1 -0
  117. package/dist/types/src/cubing/alg/alg-nodes/containers/Commutator.d.ts +16 -0
  118. package/dist/types/src/cubing/alg/alg-nodes/containers/Commutator.d.ts.map +1 -0
  119. package/dist/types/src/cubing/alg/alg-nodes/containers/Conjugate.d.ts +16 -0
  120. package/dist/types/src/cubing/alg/alg-nodes/containers/Conjugate.d.ts.map +1 -0
  121. package/dist/types/src/cubing/alg/alg-nodes/containers/Grouping.d.ts +23 -0
  122. package/dist/types/src/cubing/alg/alg-nodes/containers/Grouping.d.ts.map +1 -0
  123. package/dist/types/src/cubing/alg/alg-nodes/index.d.ts +12 -0
  124. package/dist/types/src/cubing/alg/alg-nodes/index.d.ts.map +1 -0
  125. package/dist/types/src/cubing/alg/alg-nodes/leaves/LineComment.d.ts +14 -0
  126. package/dist/types/src/cubing/alg/alg-nodes/leaves/LineComment.d.ts.map +1 -0
  127. package/dist/types/src/cubing/alg/alg-nodes/leaves/LineComment.spec.d.ts +2 -0
  128. package/dist/types/src/cubing/alg/alg-nodes/leaves/LineComment.spec.d.ts.map +1 -0
  129. package/dist/types/src/cubing/alg/alg-nodes/leaves/Move.d.ts +52 -0
  130. package/dist/types/src/cubing/alg/alg-nodes/leaves/Move.d.ts.map +1 -0
  131. package/dist/types/src/cubing/alg/alg-nodes/leaves/Move.spec.d.ts +2 -0
  132. package/dist/types/src/cubing/alg/alg-nodes/leaves/Move.spec.d.ts.map +1 -0
  133. package/dist/types/src/cubing/alg/alg-nodes/leaves/Newline.d.ts +11 -0
  134. package/dist/types/src/cubing/alg/alg-nodes/leaves/Newline.d.ts.map +1 -0
  135. package/dist/types/src/cubing/alg/alg-nodes/leaves/Pause.d.ts +13 -0
  136. package/dist/types/src/cubing/alg/alg-nodes/leaves/Pause.d.ts.map +1 -0
  137. package/dist/types/src/cubing/alg/common.d.ts +20 -0
  138. package/dist/types/src/cubing/alg/common.d.ts.map +1 -0
  139. package/dist/types/src/cubing/alg/cubing-private/index.d.ts +3 -0
  140. package/dist/types/src/cubing/alg/cubing-private/index.d.ts.map +1 -0
  141. package/dist/types/src/cubing/alg/debug.d.ts +11 -0
  142. package/dist/types/src/cubing/alg/debug.d.ts.map +1 -0
  143. package/dist/types/src/cubing/alg/example.d.ts +15 -0
  144. package/dist/types/src/cubing/alg/example.d.ts.map +1 -0
  145. package/dist/types/src/cubing/alg/index.d.ts +23 -0
  146. package/dist/types/src/cubing/alg/index.d.ts.map +1 -0
  147. package/dist/types/src/cubing/alg/is.d.ts +5 -0
  148. package/dist/types/src/cubing/alg/is.d.ts.map +1 -0
  149. package/dist/types/src/cubing/alg/iteration.d.ts +10 -0
  150. package/dist/types/src/cubing/alg/iteration.d.ts.map +1 -0
  151. package/dist/types/src/cubing/alg/keyboard.d.ts +3 -0
  152. package/dist/types/src/cubing/alg/keyboard.d.ts.map +1 -0
  153. package/dist/types/src/cubing/alg/limits.d.ts +5 -0
  154. package/dist/types/src/cubing/alg/limits.d.ts.map +1 -0
  155. package/dist/types/src/cubing/alg/parseAlg.d.ts +13 -0
  156. package/dist/types/src/cubing/alg/parseAlg.d.ts.map +1 -0
  157. package/dist/types/src/cubing/alg/parseAlg.spec.d.ts +2 -0
  158. package/dist/types/src/cubing/alg/parseAlg.spec.d.ts.map +1 -0
  159. package/dist/types/src/cubing/alg/simplify/append.d.ts +7 -0
  160. package/dist/types/src/cubing/alg/simplify/append.d.ts.map +1 -0
  161. package/dist/types/src/cubing/alg/simplify/append.spec.d.ts +2 -0
  162. package/dist/types/src/cubing/alg/simplify/append.spec.d.ts.map +1 -0
  163. package/dist/types/src/cubing/alg/simplify/index.d.ts +4 -0
  164. package/dist/types/src/cubing/alg/simplify/index.d.ts.map +1 -0
  165. package/dist/types/src/cubing/alg/simplify/options.d.ts +36 -0
  166. package/dist/types/src/cubing/alg/simplify/options.d.ts.map +1 -0
  167. package/dist/types/src/cubing/alg/simplify/simplify.d.ts +5 -0
  168. package/dist/types/src/cubing/alg/simplify/simplify.d.ts.map +1 -0
  169. package/dist/types/src/cubing/alg/simplify/simplify.spec.d.ts +2 -0
  170. package/dist/types/src/cubing/alg/simplify/simplify.spec.d.ts.map +1 -0
  171. package/dist/types/src/cubing/alg/traversal.d.ts +37 -0
  172. package/dist/types/src/cubing/alg/traversal.d.ts.map +1 -0
  173. package/dist/types/src/cubing/alg/url.d.ts +13 -0
  174. package/dist/types/src/cubing/alg/url.d.ts.map +1 -0
  175. package/dist/types/src/cubing/alg/url.spec.d.ts +2 -0
  176. package/dist/types/src/cubing/alg/url.spec.d.ts.map +1 -0
  177. package/dist/types/src/cubing/alg/validation.d.ts +20 -0
  178. package/dist/types/src/cubing/alg/validation.d.ts.map +1 -0
  179. package/dist/types/src/cubing/alg/warnOnce.d.ts +2 -0
  180. package/dist/types/src/cubing/alg/warnOnce.d.ts.map +1 -0
  181. package/dist/types/src/cubing/bluetooth/connect/index.d.ts +7 -0
  182. package/dist/types/src/cubing/bluetooth/connect/index.d.ts.map +1 -0
  183. package/dist/types/src/cubing/bluetooth/debug.d.ts +3 -0
  184. package/dist/types/src/cubing/bluetooth/debug.d.ts.map +1 -0
  185. package/dist/types/src/cubing/bluetooth/index.d.ts +12 -0
  186. package/dist/types/src/cubing/bluetooth/index.d.ts.map +1 -0
  187. package/dist/types/src/cubing/bluetooth/keyboard.d.ts +17 -0
  188. package/dist/types/src/cubing/bluetooth/keyboard.d.ts.map +1 -0
  189. package/dist/types/src/cubing/bluetooth/smart-puzzle/Heykube.d.ts +19 -0
  190. package/dist/types/src/cubing/bluetooth/smart-puzzle/Heykube.d.ts.map +1 -0
  191. package/dist/types/src/cubing/bluetooth/smart-puzzle/bluetooth-puzzle.d.ts +45 -0
  192. package/dist/types/src/cubing/bluetooth/smart-puzzle/bluetooth-puzzle.d.ts.map +1 -0
  193. package/dist/types/src/cubing/bluetooth/smart-puzzle/connect.d.ts +5 -0
  194. package/dist/types/src/cubing/bluetooth/smart-puzzle/connect.d.ts.map +1 -0
  195. package/dist/types/src/cubing/bluetooth/smart-puzzle/endianness.d.ts +2 -0
  196. package/dist/types/src/cubing/bluetooth/smart-puzzle/endianness.d.ts.map +1 -0
  197. package/dist/types/src/cubing/bluetooth/smart-puzzle/gan.d.ts +36 -0
  198. package/dist/types/src/cubing/bluetooth/smart-puzzle/gan.d.ts.map +1 -0
  199. package/dist/types/src/cubing/bluetooth/smart-puzzle/giiker.d.ts +23 -0
  200. package/dist/types/src/cubing/bluetooth/smart-puzzle/giiker.d.ts.map +1 -0
  201. package/dist/types/src/cubing/bluetooth/smart-puzzle/giiker.spec.d.ts +2 -0
  202. package/dist/types/src/cubing/bluetooth/smart-puzzle/giiker.spec.d.ts.map +1 -0
  203. package/dist/types/src/cubing/bluetooth/smart-puzzle/gocube.d.ts +24 -0
  204. package/dist/types/src/cubing/bluetooth/smart-puzzle/gocube.d.ts.map +1 -0
  205. package/dist/types/src/cubing/bluetooth/smart-robot/GanRobot.d.ts +37 -0
  206. package/dist/types/src/cubing/bluetooth/smart-robot/GanRobot.d.ts.map +1 -0
  207. package/dist/types/src/cubing/bluetooth/smart-robot/index.d.ts +7 -0
  208. package/dist/types/src/cubing/bluetooth/smart-robot/index.d.ts.map +1 -0
  209. package/dist/types/src/cubing/bluetooth/smart-timer/GanTimer.d.ts +21 -0
  210. package/dist/types/src/cubing/bluetooth/smart-timer/GanTimer.d.ts.map +1 -0
  211. package/dist/types/src/cubing/bluetooth/smart-timer/index.d.ts +7 -0
  212. package/dist/types/src/cubing/bluetooth/smart-timer/index.d.ts.map +1 -0
  213. package/dist/types/src/cubing/bluetooth/transformer.d.ts +10 -0
  214. package/dist/types/src/cubing/bluetooth/transformer.d.ts.map +1 -0
  215. package/dist/types/src/cubing/kpuzzle/KPuzzle.d.ts +23 -0
  216. package/dist/types/src/cubing/kpuzzle/KPuzzle.d.ts.map +1 -0
  217. package/dist/types/src/cubing/kpuzzle/KPuzzleDefinition.d.ts +27 -0
  218. package/dist/types/src/cubing/kpuzzle/KPuzzleDefinition.d.ts.map +1 -0
  219. package/dist/types/src/cubing/kpuzzle/KState.d.ts +24 -0
  220. package/dist/types/src/cubing/kpuzzle/KState.d.ts.map +1 -0
  221. package/dist/types/src/cubing/kpuzzle/KTransformation.d.ts +25 -0
  222. package/dist/types/src/cubing/kpuzzle/KTransformation.d.ts.map +1 -0
  223. package/dist/types/src/cubing/kpuzzle/calculate.d.ts +16 -0
  224. package/dist/types/src/cubing/kpuzzle/calculate.d.ts.map +1 -0
  225. package/dist/types/src/cubing/kpuzzle/calculate.spec.d.ts +2 -0
  226. package/dist/types/src/cubing/kpuzzle/calculate.spec.d.ts.map +1 -0
  227. package/dist/types/src/cubing/kpuzzle/combine.d.ts +4 -0
  228. package/dist/types/src/cubing/kpuzzle/combine.d.ts.map +1 -0
  229. package/dist/types/src/cubing/kpuzzle/construct.d.ts +6 -0
  230. package/dist/types/src/cubing/kpuzzle/construct.d.ts.map +1 -0
  231. package/dist/types/src/cubing/kpuzzle/index.d.ts +5 -0
  232. package/dist/types/src/cubing/kpuzzle/index.d.ts.map +1 -0
  233. package/dist/types/src/cubing/notation/CountAnimatedLeaves.d.ts +3 -0
  234. package/dist/types/src/cubing/notation/CountAnimatedLeaves.d.ts.map +1 -0
  235. package/dist/types/src/cubing/notation/CountMoves.d.ts +5 -0
  236. package/dist/types/src/cubing/notation/CountMoves.d.ts.map +1 -0
  237. package/dist/types/src/cubing/notation/index.d.ts +3 -0
  238. package/dist/types/src/cubing/notation/index.d.ts.map +1 -0
  239. package/dist/types/src/cubing/protocol/binary/binary3x3x3.d.ts +25 -0
  240. package/dist/types/src/cubing/protocol/binary/binary3x3x3.d.ts.map +1 -0
  241. package/dist/types/src/cubing/protocol/binary/binary3x3x3.spec.d.ts +2 -0
  242. package/dist/types/src/cubing/protocol/binary/binary3x3x3.spec.d.ts.map +1 -0
  243. package/dist/types/src/cubing/protocol/binary/hex.d.ts +3 -0
  244. package/dist/types/src/cubing/protocol/binary/hex.d.ts.map +1 -0
  245. package/dist/types/src/cubing/protocol/binary/hex.spec.d.ts +2 -0
  246. package/dist/types/src/cubing/protocol/binary/hex.spec.d.ts.map +1 -0
  247. package/dist/types/src/cubing/protocol/binary/orbit-indexing.d.ts +6 -0
  248. package/dist/types/src/cubing/protocol/binary/orbit-indexing.d.ts.map +1 -0
  249. package/dist/types/src/cubing/protocol/binary/orbit-indexing.spec.d.ts +2 -0
  250. package/dist/types/src/cubing/protocol/binary/orbit-indexing.spec.d.ts.map +1 -0
  251. package/dist/types/src/cubing/protocol/index.d.ts +3 -0
  252. package/dist/types/src/cubing/protocol/index.d.ts.map +1 -0
  253. package/dist/types/src/cubing/puzzle-geometry/FaceNameSwizzler.d.ts +13 -0
  254. package/dist/types/src/cubing/puzzle-geometry/FaceNameSwizzler.d.ts.map +1 -0
  255. package/dist/types/src/cubing/puzzle-geometry/Options.d.ts +46 -0
  256. package/dist/types/src/cubing/puzzle-geometry/Options.d.ts.map +1 -0
  257. package/dist/types/src/cubing/puzzle-geometry/PGPuzzles.d.ts +6 -0
  258. package/dist/types/src/cubing/puzzle-geometry/PGPuzzles.d.ts.map +1 -0
  259. package/dist/types/src/cubing/puzzle-geometry/PGPuzzles.spec.d.ts +2 -0
  260. package/dist/types/src/cubing/puzzle-geometry/PGPuzzles.spec.d.ts.map +1 -0
  261. package/dist/types/src/cubing/puzzle-geometry/Perm.d.ts +19 -0
  262. package/dist/types/src/cubing/puzzle-geometry/Perm.d.ts.map +1 -0
  263. package/dist/types/src/cubing/puzzle-geometry/PermOriSet.d.ts +75 -0
  264. package/dist/types/src/cubing/puzzle-geometry/PermOriSet.d.ts.map +1 -0
  265. package/dist/types/src/cubing/puzzle-geometry/PlatonicGenerator.d.ts +11 -0
  266. package/dist/types/src/cubing/puzzle-geometry/PlatonicGenerator.d.ts.map +1 -0
  267. package/dist/types/src/cubing/puzzle-geometry/PuzzleGeometry.d.ts +181 -0
  268. package/dist/types/src/cubing/puzzle-geometry/PuzzleGeometry.d.ts.map +1 -0
  269. package/dist/types/src/cubing/puzzle-geometry/Quat.d.ts +44 -0
  270. package/dist/types/src/cubing/puzzle-geometry/Quat.d.ts.map +1 -0
  271. package/dist/types/src/cubing/puzzle-geometry/Quat.spec.d.ts +2 -0
  272. package/dist/types/src/cubing/puzzle-geometry/Quat.spec.d.ts.map +1 -0
  273. package/dist/types/src/cubing/puzzle-geometry/SchreierSims.d.ts +3 -0
  274. package/dist/types/src/cubing/puzzle-geometry/SchreierSims.d.ts.map +1 -0
  275. package/dist/types/src/cubing/puzzle-geometry/index.d.ts +8 -0
  276. package/dist/types/src/cubing/puzzle-geometry/index.d.ts.map +1 -0
  277. package/dist/types/src/cubing/puzzle-geometry/notation-mapping/FTONotationMapper.d.ts +11 -0
  278. package/dist/types/src/cubing/puzzle-geometry/notation-mapping/FTONotationMapper.d.ts.map +1 -0
  279. package/dist/types/src/cubing/puzzle-geometry/notation-mapping/FaceRenamingMapper.d.ts +13 -0
  280. package/dist/types/src/cubing/puzzle-geometry/notation-mapping/FaceRenamingMapper.d.ts.map +1 -0
  281. package/dist/types/src/cubing/puzzle-geometry/notation-mapping/MegaminxScramblingNotationMapper.d.ts +9 -0
  282. package/dist/types/src/cubing/puzzle-geometry/notation-mapping/MegaminxScramblingNotationMapper.d.ts.map +1 -0
  283. package/dist/types/src/cubing/puzzle-geometry/notation-mapping/NotationMapper.d.ts +8 -0
  284. package/dist/types/src/cubing/puzzle-geometry/notation-mapping/NotationMapper.d.ts.map +1 -0
  285. package/dist/types/src/cubing/puzzle-geometry/notation-mapping/NullMapper.d.ts +7 -0
  286. package/dist/types/src/cubing/puzzle-geometry/notation-mapping/NullMapper.d.ts.map +1 -0
  287. package/dist/types/src/cubing/puzzle-geometry/notation-mapping/NxNxNCubeMapper.d.ts +9 -0
  288. package/dist/types/src/cubing/puzzle-geometry/notation-mapping/NxNxNCubeMapper.d.ts.map +1 -0
  289. package/dist/types/src/cubing/puzzle-geometry/notation-mapping/PyraminxNotationMapper.d.ts +16 -0
  290. package/dist/types/src/cubing/puzzle-geometry/notation-mapping/PyraminxNotationMapper.d.ts.map +1 -0
  291. package/dist/types/src/cubing/puzzle-geometry/notation-mapping/SkewbNotationMapper.d.ts +10 -0
  292. package/dist/types/src/cubing/puzzle-geometry/notation-mapping/SkewbNotationMapper.d.ts.map +1 -0
  293. package/dist/types/src/cubing/puzzle-geometry/notation-mapping/index.d.ts +9 -0
  294. package/dist/types/src/cubing/puzzle-geometry/notation-mapping/index.d.ts.map +1 -0
  295. package/dist/types/src/cubing/puzzle-geometry/orientcenters.spec.d.ts +2 -0
  296. package/dist/types/src/cubing/puzzle-geometry/orientcenters.spec.d.ts.map +1 -0
  297. package/dist/types/src/cubing/puzzles/PuzzleLoader.d.ts +24 -0
  298. package/dist/types/src/cubing/puzzles/PuzzleLoader.d.ts.map +1 -0
  299. package/dist/types/src/cubing/puzzles/async/async-pg3d.d.ts +37 -0
  300. package/dist/types/src/cubing/puzzles/async/async-pg3d.d.ts.map +1 -0
  301. package/dist/types/src/cubing/puzzles/async/lazy-cached.d.ts +2 -0
  302. package/dist/types/src/cubing/puzzles/async/lazy-cached.d.ts.map +1 -0
  303. package/dist/types/src/cubing/puzzles/cubing-private/index.d.ts +14 -0
  304. package/dist/types/src/cubing/puzzles/cubing-private/index.d.ts.map +1 -0
  305. package/dist/types/src/cubing/puzzles/customPGPuzzleLoader.d.ts +12 -0
  306. package/dist/types/src/cubing/puzzles/customPGPuzzleLoader.d.ts.map +1 -0
  307. package/dist/types/src/cubing/puzzles/events.d.ts +13 -0
  308. package/dist/types/src/cubing/puzzles/events.d.ts.map +1 -0
  309. package/dist/types/src/cubing/puzzles/implementations/2x2x2/index.d.ts +4 -0
  310. package/dist/types/src/cubing/puzzles/implementations/2x2x2/index.d.ts.map +1 -0
  311. package/dist/types/src/cubing/puzzles/implementations/3x3x3/index.d.ts +4 -0
  312. package/dist/types/src/cubing/puzzles/implementations/3x3x3/index.d.ts.map +1 -0
  313. package/dist/types/src/cubing/puzzles/implementations/3x3x3/puzzle-specific-simplifications.d.ts +3 -0
  314. package/dist/types/src/cubing/puzzles/implementations/3x3x3/puzzle-specific-simplifications.d.ts.map +1 -0
  315. package/dist/types/src/cubing/puzzles/implementations/4x4x4/index.d.ts +4 -0
  316. package/dist/types/src/cubing/puzzles/implementations/4x4x4/index.d.ts.map +1 -0
  317. package/dist/types/src/cubing/puzzles/implementations/clock/index.d.ts +3 -0
  318. package/dist/types/src/cubing/puzzles/implementations/clock/index.d.ts.map +1 -0
  319. package/dist/types/src/cubing/puzzles/implementations/dynamic/2x2x2/puzzle-orientation.d.ts +17 -0
  320. package/dist/types/src/cubing/puzzles/implementations/dynamic/2x2x2/puzzle-orientation.d.ts.map +1 -0
  321. package/dist/types/src/cubing/puzzles/implementations/dynamic/3x3x3/3x3x3-ll.kpuzzle.svg.d.ts +2 -0
  322. package/dist/types/src/cubing/puzzles/implementations/dynamic/3x3x3/3x3x3-ll.kpuzzle.svg.d.ts.map +1 -0
  323. package/dist/types/src/cubing/puzzles/implementations/dynamic/3x3x3/3x3x3.kpuzzle.json.d.ts +3 -0
  324. package/dist/types/src/cubing/puzzles/implementations/dynamic/3x3x3/3x3x3.kpuzzle.json.d.ts.map +1 -0
  325. package/dist/types/src/cubing/puzzles/implementations/dynamic/3x3x3/3x3x3.kpuzzle.json.spec.d.ts +2 -0
  326. package/dist/types/src/cubing/puzzles/implementations/dynamic/3x3x3/3x3x3.kpuzzle.json.spec.d.ts.map +1 -0
  327. package/dist/types/src/cubing/puzzles/implementations/dynamic/3x3x3/3x3x3.kpuzzle.svg.d.ts +2 -0
  328. package/dist/types/src/cubing/puzzles/implementations/dynamic/3x3x3/3x3x3.kpuzzle.svg.d.ts.map +1 -0
  329. package/dist/types/src/cubing/puzzles/implementations/dynamic/3x3x3/puzzle-orientation.d.ts +9 -0
  330. package/dist/types/src/cubing/puzzles/implementations/dynamic/3x3x3/puzzle-orientation.d.ts.map +1 -0
  331. package/dist/types/src/cubing/puzzles/implementations/dynamic/3x3x3/puzzles-dynamic-3x3x3.d.ts +3 -0
  332. package/dist/types/src/cubing/puzzles/implementations/dynamic/3x3x3/puzzles-dynamic-3x3x3.d.ts.map +1 -0
  333. package/dist/types/src/cubing/puzzles/implementations/dynamic/4x4x4/4x4x4-ll.kpuzzle.svg.d.ts +2 -0
  334. package/dist/types/src/cubing/puzzles/implementations/dynamic/4x4x4/4x4x4-ll.kpuzzle.svg.d.ts.map +1 -0
  335. package/dist/types/src/cubing/puzzles/implementations/dynamic/4x4x4/puzzles-dynamic-4x4x4.d.ts +2 -0
  336. package/dist/types/src/cubing/puzzles/implementations/dynamic/4x4x4/puzzles-dynamic-4x4x4.d.ts.map +1 -0
  337. package/dist/types/src/cubing/puzzles/implementations/dynamic/side-events/2x2x2.kpuzzle.json.d.ts +3 -0
  338. package/dist/types/src/cubing/puzzles/implementations/dynamic/side-events/2x2x2.kpuzzle.json.d.ts.map +1 -0
  339. package/dist/types/src/cubing/puzzles/implementations/dynamic/side-events/2x2x2.kpuzzle.svg.d.ts +2 -0
  340. package/dist/types/src/cubing/puzzles/implementations/dynamic/side-events/2x2x2.kpuzzle.svg.d.ts.map +1 -0
  341. package/dist/types/src/cubing/puzzles/implementations/dynamic/side-events/clock.kpuzzle.json.d.ts +3 -0
  342. package/dist/types/src/cubing/puzzles/implementations/dynamic/side-events/clock.kpuzzle.json.d.ts.map +1 -0
  343. package/dist/types/src/cubing/puzzles/implementations/dynamic/side-events/clock.kpuzzle.svg.d.ts +2 -0
  344. package/dist/types/src/cubing/puzzles/implementations/dynamic/side-events/clock.kpuzzle.svg.d.ts.map +1 -0
  345. package/dist/types/src/cubing/puzzles/implementations/dynamic/side-events/melindas2x2x2x2.kpuzzle.json.d.ts +3 -0
  346. package/dist/types/src/cubing/puzzles/implementations/dynamic/side-events/melindas2x2x2x2.kpuzzle.json.d.ts.map +1 -0
  347. package/dist/types/src/cubing/puzzles/implementations/dynamic/side-events/melindas2x2x2x2.kpuzzle.svg.d.ts +2 -0
  348. package/dist/types/src/cubing/puzzles/implementations/dynamic/side-events/melindas2x2x2x2.kpuzzle.svg.d.ts.map +1 -0
  349. package/dist/types/src/cubing/puzzles/implementations/dynamic/side-events/puzzles-dynamic-side-events.d.ts +10 -0
  350. package/dist/types/src/cubing/puzzles/implementations/dynamic/side-events/puzzles-dynamic-side-events.d.ts.map +1 -0
  351. package/dist/types/src/cubing/puzzles/implementations/dynamic/side-events/pyraminx.kpuzzle.svg.d.ts +2 -0
  352. package/dist/types/src/cubing/puzzles/implementations/dynamic/side-events/pyraminx.kpuzzle.svg.d.ts.map +1 -0
  353. package/dist/types/src/cubing/puzzles/implementations/dynamic/side-events/sq1-hyperorbit.kpuzzle.json.d.ts +3 -0
  354. package/dist/types/src/cubing/puzzles/implementations/dynamic/side-events/sq1-hyperorbit.kpuzzle.json.d.ts.map +1 -0
  355. package/dist/types/src/cubing/puzzles/implementations/dynamic/side-events/sq1-hyperorbit.kpuzzle.svg.d.ts +2 -0
  356. package/dist/types/src/cubing/puzzles/implementations/dynamic/side-events/sq1-hyperorbit.kpuzzle.svg.d.ts.map +1 -0
  357. package/dist/types/src/cubing/puzzles/implementations/dynamic/unofficial/fto.kpuzzle.svg.d.ts +2 -0
  358. package/dist/types/src/cubing/puzzles/implementations/dynamic/unofficial/fto.kpuzzle.svg.d.ts.map +1 -0
  359. package/dist/types/src/cubing/puzzles/implementations/dynamic/unofficial/kilominx.kpuzzle.svg.d.ts +2 -0
  360. package/dist/types/src/cubing/puzzles/implementations/dynamic/unofficial/kilominx.kpuzzle.svg.d.ts.map +1 -0
  361. package/dist/types/src/cubing/puzzles/implementations/dynamic/unofficial/puzzles-dynamic-unofficial.d.ts +5 -0
  362. package/dist/types/src/cubing/puzzles/implementations/dynamic/unofficial/puzzles-dynamic-unofficial.d.ts.map +1 -0
  363. package/dist/types/src/cubing/puzzles/implementations/dynamic/unofficial/redi_cube.kpuzzle.json.d.ts +3 -0
  364. package/dist/types/src/cubing/puzzles/implementations/dynamic/unofficial/redi_cube.kpuzzle.json.d.ts.map +1 -0
  365. package/dist/types/src/cubing/puzzles/implementations/dynamic/unofficial/redi_cube.kpuzzle.svg.d.ts +2 -0
  366. package/dist/types/src/cubing/puzzles/implementations/dynamic/unofficial/redi_cube.kpuzzle.svg.d.ts.map +1 -0
  367. package/dist/types/src/cubing/puzzles/implementations/fto/index.d.ts +13 -0
  368. package/dist/types/src/cubing/puzzles/implementations/fto/index.d.ts.map +1 -0
  369. package/dist/types/src/cubing/puzzles/implementations/kilominx/index.d.ts +3 -0
  370. package/dist/types/src/cubing/puzzles/implementations/kilominx/index.d.ts.map +1 -0
  371. package/dist/types/src/cubing/puzzles/implementations/megaminx/index.d.ts +12 -0
  372. package/dist/types/src/cubing/puzzles/implementations/megaminx/index.d.ts.map +1 -0
  373. package/dist/types/src/cubing/puzzles/implementations/melindas2x2x2x2/index.d.ts +3 -0
  374. package/dist/types/src/cubing/puzzles/implementations/melindas2x2x2x2/index.d.ts.map +1 -0
  375. package/dist/types/src/cubing/puzzles/implementations/pyraminx/index.d.ts +8 -0
  376. package/dist/types/src/cubing/puzzles/implementations/pyraminx/index.d.ts.map +1 -0
  377. package/dist/types/src/cubing/puzzles/implementations/redi-cube/index.d.ts +3 -0
  378. package/dist/types/src/cubing/puzzles/implementations/redi-cube/index.d.ts.map +1 -0
  379. package/dist/types/src/cubing/puzzles/implementations/square1/index.d.ts +3 -0
  380. package/dist/types/src/cubing/puzzles/implementations/square1/index.d.ts.map +1 -0
  381. package/dist/types/src/cubing/puzzles/index.d.ts +9 -0
  382. package/dist/types/src/cubing/puzzles/index.d.ts.map +1 -0
  383. package/dist/types/src/cubing/puzzles/stickerings/cube-like-stickerings.d.ts +6 -0
  384. package/dist/types/src/cubing/puzzles/stickerings/cube-like-stickerings.d.ts.map +1 -0
  385. package/dist/types/src/cubing/puzzles/stickerings/fto-stickerings.d.ts +6 -0
  386. package/dist/types/src/cubing/puzzles/stickerings/fto-stickerings.d.ts.map +1 -0
  387. package/dist/types/src/cubing/puzzles/stickerings/mask.d.ts +54 -0
  388. package/dist/types/src/cubing/puzzles/stickerings/mask.d.ts.map +1 -0
  389. package/dist/types/src/cubing/puzzles/stickerings/megaminx-stickerings.d.ts +6 -0
  390. package/dist/types/src/cubing/puzzles/stickerings/megaminx-stickerings.d.ts.map +1 -0
  391. package/dist/types/src/cubing/puzzles/stickerings/puzzle-stickerings.d.ts +5 -0
  392. package/dist/types/src/cubing/puzzles/stickerings/puzzle-stickerings.d.ts.map +1 -0
  393. package/dist/types/src/cubing/scramble/index.d.ts +9 -0
  394. package/dist/types/src/cubing/scramble/index.d.ts.map +1 -0
  395. package/dist/types/src/cubing/search/cubing-private/index.d.ts +2 -0
  396. package/dist/types/src/cubing/search/cubing-private/index.d.ts.map +1 -0
  397. package/dist/types/src/cubing/search/index.d.ts +3 -0
  398. package/dist/types/src/cubing/search/index.d.ts.map +1 -0
  399. package/dist/types/src/cubing/search/inside/api.d.ts +24 -0
  400. package/dist/types/src/cubing/search/inside/api.d.ts.map +1 -0
  401. package/dist/types/src/cubing/search/inside/api.spec.d.ts +2 -0
  402. package/dist/types/src/cubing/search/inside/api.spec.d.ts.map +1 -0
  403. package/dist/types/src/cubing/search/inside/inside-worker.d.ts +3 -0
  404. package/dist/types/src/cubing/search/inside/inside-worker.d.ts.map +1 -0
  405. package/dist/types/src/cubing/search/inside/search-worker-js-entry.d.ts +2 -0
  406. package/dist/types/src/cubing/search/inside/search-worker-js-entry.d.ts.map +1 -0
  407. package/dist/types/src/cubing/search/inside/search-worker-ts-entry-path-getter.d.ts +2 -0
  408. package/dist/types/src/cubing/search/inside/search-worker-ts-entry-path-getter.d.ts.map +1 -0
  409. package/dist/types/src/cubing/search/inside/search-worker-ts-entry.d.ts +2 -0
  410. package/dist/types/src/cubing/search/inside/search-worker-ts-entry.d.ts.map +1 -0
  411. package/dist/types/src/cubing/search/inside/solve/addOrientationSuffix.d.ts +3 -0
  412. package/dist/types/src/cubing/search/inside/solve/addOrientationSuffix.d.ts.map +1 -0
  413. package/dist/types/src/cubing/search/inside/solve/parseSGS.d.ts +19 -0
  414. package/dist/types/src/cubing/search/inside/solve/parseSGS.d.ts.map +1 -0
  415. package/dist/types/src/cubing/search/inside/solve/puzzles/2x2x2.d.ts +9 -0
  416. package/dist/types/src/cubing/search/inside/solve/puzzles/2x2x2.d.ts.map +1 -0
  417. package/dist/types/src/cubing/search/inside/solve/puzzles/3x3x3/convert.d.ts +3 -0
  418. package/dist/types/src/cubing/search/inside/solve/puzzles/3x3x3/convert.d.ts.map +1 -0
  419. package/dist/types/src/cubing/search/inside/solve/puzzles/3x3x3/filter.d.ts +5 -0
  420. package/dist/types/src/cubing/search/inside/solve/puzzles/3x3x3/filter.d.ts.map +1 -0
  421. package/dist/types/src/cubing/search/inside/solve/puzzles/3x3x3/index.d.ts +9 -0
  422. package/dist/types/src/cubing/search/inside/solve/puzzles/3x3x3/index.d.ts.map +1 -0
  423. package/dist/types/src/cubing/search/inside/solve/puzzles/3x3x3/legacy-sgs.d.ts +2 -0
  424. package/dist/types/src/cubing/search/inside/solve/puzzles/3x3x3/legacy-sgs.d.ts.map +1 -0
  425. package/dist/types/src/cubing/search/inside/solve/puzzles/4x4x4.d.ts +5 -0
  426. package/dist/types/src/cubing/search/inside/solve/puzzles/4x4x4.d.ts.map +1 -0
  427. package/dist/types/src/cubing/search/inside/solve/puzzles/5x5x5.d.ts +3 -0
  428. package/dist/types/src/cubing/search/inside/solve/puzzles/5x5x5.d.ts.map +1 -0
  429. package/dist/types/src/cubing/search/inside/solve/puzzles/big-cubes.d.ts +3 -0
  430. package/dist/types/src/cubing/search/inside/solve/puzzles/big-cubes.d.ts.map +1 -0
  431. package/dist/types/src/cubing/search/inside/solve/puzzles/clock.d.ts +2 -0
  432. package/dist/types/src/cubing/search/inside/solve/puzzles/clock.d.ts.map +1 -0
  433. package/dist/types/src/cubing/search/inside/solve/puzzles/dynamic/3x3x3/index.d.ts +2 -0
  434. package/dist/types/src/cubing/search/inside/solve/puzzles/dynamic/3x3x3/index.d.ts.map +1 -0
  435. package/dist/types/src/cubing/search/inside/solve/puzzles/dynamic/3x3x3/search-dynamic-solve-3x3x3.d.ts +2 -0
  436. package/dist/types/src/cubing/search/inside/solve/puzzles/dynamic/3x3x3/search-dynamic-solve-3x3x3.d.ts.map +1 -0
  437. package/dist/types/src/cubing/search/inside/solve/puzzles/dynamic/4x4x4/index.d.ts +2 -0
  438. package/dist/types/src/cubing/search/inside/solve/puzzles/dynamic/4x4x4/index.d.ts.map +1 -0
  439. package/dist/types/src/cubing/search/inside/solve/puzzles/dynamic/4x4x4/search-dynamic-solve-4x4x4.d.ts +2 -0
  440. package/dist/types/src/cubing/search/inside/solve/puzzles/dynamic/4x4x4/search-dynamic-solve-4x4x4.d.ts.map +1 -0
  441. package/dist/types/src/cubing/search/inside/solve/puzzles/dynamic/fto/index.d.ts +2 -0
  442. package/dist/types/src/cubing/search/inside/solve/puzzles/dynamic/fto/index.d.ts.map +1 -0
  443. package/dist/types/src/cubing/search/inside/solve/puzzles/dynamic/fto/search-dynamic-solve-fto.d.ts +2 -0
  444. package/dist/types/src/cubing/search/inside/solve/puzzles/dynamic/fto/search-dynamic-solve-fto.d.ts.map +1 -0
  445. package/dist/types/src/cubing/search/inside/solve/puzzles/dynamic/kilominx/index.d.ts +2 -0
  446. package/dist/types/src/cubing/search/inside/solve/puzzles/dynamic/kilominx/index.d.ts.map +1 -0
  447. package/dist/types/src/cubing/search/inside/solve/puzzles/dynamic/kilominx/search-dynamic-solve-kilominx.d.ts +2 -0
  448. package/dist/types/src/cubing/search/inside/solve/puzzles/dynamic/kilominx/search-dynamic-solve-kilominx.d.ts.map +1 -0
  449. package/dist/types/src/cubing/search/inside/solve/puzzles/dynamic/master_tetraminx/index.d.ts +2 -0
  450. package/dist/types/src/cubing/search/inside/solve/puzzles/dynamic/master_tetraminx/index.d.ts.map +1 -0
  451. package/dist/types/src/cubing/search/inside/solve/puzzles/dynamic/master_tetraminx/search-dynamic-solve-master_tetraminx.d.ts +2 -0
  452. package/dist/types/src/cubing/search/inside/solve/puzzles/dynamic/master_tetraminx/search-dynamic-solve-master_tetraminx.d.ts.map +1 -0
  453. package/dist/types/src/cubing/search/inside/solve/puzzles/dynamic/sgs-defs.spec.d.ts +2 -0
  454. package/dist/types/src/cubing/search/inside/solve/puzzles/dynamic/sgs-defs.spec.d.ts.map +1 -0
  455. package/dist/types/src/cubing/search/inside/solve/puzzles/dynamic/sgs-side-events/2x2x2.sgs.d.ts +4 -0
  456. package/dist/types/src/cubing/search/inside/solve/puzzles/dynamic/sgs-side-events/2x2x2.sgs.d.ts.map +1 -0
  457. package/dist/types/src/cubing/search/inside/solve/puzzles/dynamic/sgs-side-events/index.d.ts +2 -0
  458. package/dist/types/src/cubing/search/inside/solve/puzzles/dynamic/sgs-side-events/index.d.ts.map +1 -0
  459. package/dist/types/src/cubing/search/inside/solve/puzzles/dynamic/sgs-side-events/megaminx.sgs.d.ts +6 -0
  460. package/dist/types/src/cubing/search/inside/solve/puzzles/dynamic/sgs-side-events/megaminx.sgs.d.ts.map +1 -0
  461. package/dist/types/src/cubing/search/inside/solve/puzzles/dynamic/sgs-side-events/pyraminx.sgs.d.ts +4 -0
  462. package/dist/types/src/cubing/search/inside/solve/puzzles/dynamic/sgs-side-events/pyraminx.sgs.d.ts.map +1 -0
  463. package/dist/types/src/cubing/search/inside/solve/puzzles/dynamic/sgs-side-events/search-dynamic-sgs-side-events.d.ts +5 -0
  464. package/dist/types/src/cubing/search/inside/solve/puzzles/dynamic/sgs-side-events/search-dynamic-sgs-side-events.d.ts.map +1 -0
  465. package/dist/types/src/cubing/search/inside/solve/puzzles/dynamic/sgs-side-events/skewb.sgs.d.ts +6 -0
  466. package/dist/types/src/cubing/search/inside/solve/puzzles/dynamic/sgs-side-events/skewb.sgs.d.ts.map +1 -0
  467. package/dist/types/src/cubing/search/inside/solve/puzzles/dynamic/sgs-unofficial/fto.sgs.d.ts +3 -0
  468. package/dist/types/src/cubing/search/inside/solve/puzzles/dynamic/sgs-unofficial/fto.sgs.d.ts.map +1 -0
  469. package/dist/types/src/cubing/search/inside/solve/puzzles/dynamic/sgs-unofficial/index.d.ts +2 -0
  470. package/dist/types/src/cubing/search/inside/solve/puzzles/dynamic/sgs-unofficial/index.d.ts.map +1 -0
  471. package/dist/types/src/cubing/search/inside/solve/puzzles/dynamic/sgs-unofficial/search-dynamic-sgs-unofficial.d.ts +3 -0
  472. package/dist/types/src/cubing/search/inside/solve/puzzles/dynamic/sgs-unofficial/search-dynamic-sgs-unofficial.d.ts.map +1 -0
  473. package/dist/types/src/cubing/search/inside/solve/puzzles/dynamic/sq1/index.d.ts +2 -0
  474. package/dist/types/src/cubing/search/inside/solve/puzzles/dynamic/sq1/index.d.ts.map +1 -0
  475. package/dist/types/src/cubing/search/inside/solve/puzzles/dynamic/sq1/search-dynamic-solve-sq1.d.ts +2 -0
  476. package/dist/types/src/cubing/search/inside/solve/puzzles/dynamic/sq1/search-dynamic-solve-sq1.d.ts.map +1 -0
  477. package/dist/types/src/cubing/search/inside/solve/puzzles/fto.d.ts +6 -0
  478. package/dist/types/src/cubing/search/inside/solve/puzzles/fto.d.ts.map +1 -0
  479. package/dist/types/src/cubing/search/inside/solve/puzzles/kilominx.d.ts +3 -0
  480. package/dist/types/src/cubing/search/inside/solve/puzzles/kilominx.d.ts.map +1 -0
  481. package/dist/types/src/cubing/search/inside/solve/puzzles/master_tetraminx.d.ts +3 -0
  482. package/dist/types/src/cubing/search/inside/solve/puzzles/master_tetraminx.d.ts.map +1 -0
  483. package/dist/types/src/cubing/search/inside/solve/puzzles/megaminx.d.ts +5 -0
  484. package/dist/types/src/cubing/search/inside/solve/puzzles/megaminx.d.ts.map +1 -0
  485. package/dist/types/src/cubing/search/inside/solve/puzzles/pyraminx.d.ts +7 -0
  486. package/dist/types/src/cubing/search/inside/solve/puzzles/pyraminx.d.ts.map +1 -0
  487. package/dist/types/src/cubing/search/inside/solve/puzzles/redi_cube.d.ts +3 -0
  488. package/dist/types/src/cubing/search/inside/solve/puzzles/redi_cube.d.ts.map +1 -0
  489. package/dist/types/src/cubing/search/inside/solve/puzzles/skewb.d.ts +7 -0
  490. package/dist/types/src/cubing/search/inside/solve/puzzles/skewb.d.ts.map +1 -0
  491. package/dist/types/src/cubing/search/inside/solve/puzzles/sq1.d.ts +3 -0
  492. package/dist/types/src/cubing/search/inside/solve/puzzles/sq1.d.ts.map +1 -0
  493. package/dist/types/src/cubing/search/inside/solve/puzzles/wca-minx.d.ts +2 -0
  494. package/dist/types/src/cubing/search/inside/solve/puzzles/wca-minx.d.ts.map +1 -0
  495. package/dist/types/src/cubing/search/inside/solve/tremble.d.ts +14 -0
  496. package/dist/types/src/cubing/search/inside/solve/tremble.d.ts.map +1 -0
  497. package/dist/types/src/cubing/search/inside/solve/twsearch.d.ts +11 -0
  498. package/dist/types/src/cubing/search/inside/solve/twsearch.d.ts.map +1 -0
  499. package/dist/types/src/cubing/search/inside/worker-guard.d.ts +4 -0
  500. package/dist/types/src/cubing/search/inside/worker-guard.d.ts.map +1 -0
  501. package/dist/types/src/cubing/search/instantiator.d.ts +13 -0
  502. package/dist/types/src/cubing/search/instantiator.d.ts.map +1 -0
  503. package/dist/types/src/cubing/search/outside.d.ts +29 -0
  504. package/dist/types/src/cubing/search/outside.d.ts.map +1 -0
  505. package/dist/types/src/cubing/search/search-worker-inside-generated-string.d.ts +2 -0
  506. package/dist/types/src/cubing/search/search-worker-inside-generated-string.d.ts.map +1 -0
  507. package/dist/types/src/cubing/stream/index.d.ts +9 -0
  508. package/dist/types/src/cubing/stream/index.d.ts.map +1 -0
  509. package/dist/types/src/cubing/stream/process/ReorientedStream.d.ts +21 -0
  510. package/dist/types/src/cubing/stream/process/ReorientedStream.d.ts.map +1 -0
  511. package/dist/types/src/cubing/stream/proxy-event.d.ts +14 -0
  512. package/dist/types/src/cubing/stream/proxy-event.d.ts.map +1 -0
  513. package/dist/types/src/cubing/stream/twizzle/TwizzleStream.d.ts +19 -0
  514. package/dist/types/src/cubing/stream/twizzle/TwizzleStream.d.ts.map +1 -0
  515. package/dist/types/src/cubing/stream/twizzle/stream-types.d.ts +33 -0
  516. package/dist/types/src/cubing/stream/twizzle/stream-types.d.ts.map +1 -0
  517. package/dist/types/src/cubing/stream/websocket-proxy.d.ts +22 -0
  518. package/dist/types/src/cubing/stream/websocket-proxy.d.ts.map +1 -0
  519. package/dist/types/src/cubing/twisty/controllers/AnimationTypes.d.ts +33 -0
  520. package/dist/types/src/cubing/twisty/controllers/AnimationTypes.d.ts.map +1 -0
  521. package/dist/types/src/cubing/twisty/controllers/RenderScheduler.d.ts +14 -0
  522. package/dist/types/src/cubing/twisty/controllers/RenderScheduler.d.ts.map +1 -0
  523. package/dist/types/src/cubing/twisty/controllers/TwistyAnimationController.d.ts +37 -0
  524. package/dist/types/src/cubing/twisty/controllers/TwistyAnimationController.d.ts.map +1 -0
  525. package/dist/types/src/cubing/twisty/controllers/TwistyPlayerController.d.ts +16 -0
  526. package/dist/types/src/cubing/twisty/controllers/TwistyPlayerController.d.ts.map +1 -0
  527. package/dist/types/src/cubing/twisty/controllers/easing.d.ts +2 -0
  528. package/dist/types/src/cubing/twisty/controllers/easing.d.ts.map +1 -0
  529. package/dist/types/src/cubing/twisty/controllers/indexer/AlgDuration.d.ts +18 -0
  530. package/dist/types/src/cubing/twisty/controllers/indexer/AlgDuration.d.ts.map +1 -0
  531. package/dist/types/src/cubing/twisty/controllers/indexer/AlgIndexer.d.ts +37 -0
  532. package/dist/types/src/cubing/twisty/controllers/indexer/AlgIndexer.d.ts.map +1 -0
  533. package/dist/types/src/cubing/twisty/controllers/indexer/SimpleAlgIndexer.d.ts +20 -0
  534. package/dist/types/src/cubing/twisty/controllers/indexer/SimpleAlgIndexer.d.ts.map +1 -0
  535. package/dist/types/src/cubing/twisty/controllers/indexer/simultaneous-moves/SimultaneousMoveIndexer.d.ts +23 -0
  536. package/dist/types/src/cubing/twisty/controllers/indexer/simultaneous-moves/SimultaneousMoveIndexer.d.ts.map +1 -0
  537. package/dist/types/src/cubing/twisty/controllers/indexer/simultaneous-moves/simul-moves.d.ts +26 -0
  538. package/dist/types/src/cubing/twisty/controllers/indexer/simultaneous-moves/simul-moves.d.ts.map +1 -0
  539. package/dist/types/src/cubing/twisty/controllers/indexer/tree/AlgWalker.d.ts +64 -0
  540. package/dist/types/src/cubing/twisty/controllers/indexer/tree/AlgWalker.d.ts.map +1 -0
  541. package/dist/types/src/cubing/twisty/controllers/indexer/tree/TreeAlgIndexer.d.ts +21 -0
  542. package/dist/types/src/cubing/twisty/controllers/indexer/tree/TreeAlgIndexer.d.ts.map +1 -0
  543. package/dist/types/src/cubing/twisty/controllers/indexer/tree/chunkAlgs.d.ts +3 -0
  544. package/dist/types/src/cubing/twisty/controllers/indexer/tree/chunkAlgs.d.ts.map +1 -0
  545. package/dist/types/src/cubing/twisty/controllers/stream/timeline-move-calculation-draft.d.ts +16 -0
  546. package/dist/types/src/cubing/twisty/controllers/stream/timeline-move-calculation-draft.d.ts.map +1 -0
  547. package/dist/types/src/cubing/twisty/cubing-private/index.d.ts +2 -0
  548. package/dist/types/src/cubing/twisty/cubing-private/index.d.ts.map +1 -0
  549. package/dist/types/src/cubing/twisty/debug.d.ts +6 -0
  550. package/dist/types/src/cubing/twisty/debug.d.ts.map +1 -0
  551. package/dist/types/src/cubing/twisty/heavy-code-imports/3d.d.ts +3 -0
  552. package/dist/types/src/cubing/twisty/heavy-code-imports/3d.d.ts.map +1 -0
  553. package/dist/types/src/cubing/twisty/heavy-code-imports/dynamic-entries/twisty-dynamic-3d.d.ts +12 -0
  554. package/dist/types/src/cubing/twisty/heavy-code-imports/dynamic-entries/twisty-dynamic-3d.d.ts.map +1 -0
  555. package/dist/types/src/cubing/twisty/index.d.ts +24 -0
  556. package/dist/types/src/cubing/twisty/index.d.ts.map +1 -0
  557. package/dist/types/src/cubing/twisty/model/PromiseFreshener.d.ts +14 -0
  558. package/dist/types/src/cubing/twisty/model/PromiseFreshener.d.ts.map +1 -0
  559. package/dist/types/src/cubing/twisty/model/TwistyPlayerModel.d.ts +90 -0
  560. package/dist/types/src/cubing/twisty/model/TwistyPlayerModel.d.ts.map +1 -0
  561. package/dist/types/src/cubing/twisty/model/TwistyPlayerModel.spec.d.ts +2 -0
  562. package/dist/types/src/cubing/twisty/model/TwistyPlayerModel.spec.d.ts.map +1 -0
  563. package/dist/types/src/cubing/twisty/model/TwistySceneModel.d.ts +46 -0
  564. package/dist/types/src/cubing/twisty/model/TwistySceneModel.d.ts.map +1 -0
  565. package/dist/types/src/cubing/twisty/model/TwistySceneModel.spec.d.ts +2 -0
  566. package/dist/types/src/cubing/twisty/model/TwistySceneModel.spec.d.ts.map +1 -0
  567. package/dist/types/src/cubing/twisty/model/UserVisibleErrorTracker.d.ts +11 -0
  568. package/dist/types/src/cubing/twisty/model/UserVisibleErrorTracker.d.ts.map +1 -0
  569. package/dist/types/src/cubing/twisty/model/helpers.d.ts +5 -0
  570. package/dist/types/src/cubing/twisty/model/helpers.d.ts.map +1 -0
  571. package/dist/types/src/cubing/twisty/model/props/TwistyProp.d.ts +62 -0
  572. package/dist/types/src/cubing/twisty/model/props/TwistyProp.d.ts.map +1 -0
  573. package/dist/types/src/cubing/twisty/model/props/TwistyProp.spec.d.ts +2 -0
  574. package/dist/types/src/cubing/twisty/model/props/TwistyProp.spec.d.ts.map +1 -0
  575. package/dist/types/src/cubing/twisty/model/props/general/ArbitraryStringProp.d.ts +5 -0
  576. package/dist/types/src/cubing/twisty/model/props/general/ArbitraryStringProp.d.ts.map +1 -0
  577. package/dist/types/src/cubing/twisty/model/props/general/URLProp.d.ts +6 -0
  578. package/dist/types/src/cubing/twisty/model/props/general/URLProp.d.ts.map +1 -0
  579. package/dist/types/src/cubing/twisty/model/props/puzzle/display/FaceletScaleProp.d.ts +6 -0
  580. package/dist/types/src/cubing/twisty/model/props/puzzle/display/FaceletScaleProp.d.ts.map +1 -0
  581. package/dist/types/src/cubing/twisty/model/props/puzzle/display/FoundationDisplayProp.d.ts +6 -0
  582. package/dist/types/src/cubing/twisty/model/props/puzzle/display/FoundationDisplayProp.d.ts.map +1 -0
  583. package/dist/types/src/cubing/twisty/model/props/puzzle/display/HintFaceletProp.d.ts +11 -0
  584. package/dist/types/src/cubing/twisty/model/props/puzzle/display/HintFaceletProp.d.ts.map +1 -0
  585. package/dist/types/src/cubing/twisty/model/props/puzzle/display/InitialHintFaceletsAnimationProp.d.ts +6 -0
  586. package/dist/types/src/cubing/twisty/model/props/puzzle/display/InitialHintFaceletsAnimationProp.d.ts.map +1 -0
  587. package/dist/types/src/cubing/twisty/model/props/puzzle/display/SpriteProp.d.ts +10 -0
  588. package/dist/types/src/cubing/twisty/model/props/puzzle/display/SpriteProp.d.ts.map +1 -0
  589. package/dist/types/src/cubing/twisty/model/props/puzzle/display/StickeringMaskProp.d.ts +15 -0
  590. package/dist/types/src/cubing/twisty/model/props/puzzle/display/StickeringMaskProp.d.ts.map +1 -0
  591. package/dist/types/src/cubing/twisty/model/props/puzzle/display/StickeringMaskRequestProp.d.ts +7 -0
  592. package/dist/types/src/cubing/twisty/model/props/puzzle/display/StickeringMaskRequestProp.d.ts.map +1 -0
  593. package/dist/types/src/cubing/twisty/model/props/puzzle/display/StickeringRequestProp.d.ts +9 -0
  594. package/dist/types/src/cubing/twisty/model/props/puzzle/display/StickeringRequestProp.d.ts.map +1 -0
  595. package/dist/types/src/cubing/twisty/model/props/puzzle/display/parseSerializedStickeringMask.d.ts +3 -0
  596. package/dist/types/src/cubing/twisty/model/props/puzzle/display/parseSerializedStickeringMask.d.ts.map +1 -0
  597. package/dist/types/src/cubing/twisty/model/props/puzzle/state/AlgProp.d.ts +27 -0
  598. package/dist/types/src/cubing/twisty/model/props/puzzle/state/AlgProp.d.ts.map +1 -0
  599. package/dist/types/src/cubing/twisty/model/props/puzzle/state/AlgTransformationProp.d.ts +12 -0
  600. package/dist/types/src/cubing/twisty/model/props/puzzle/state/AlgTransformationProp.d.ts.map +1 -0
  601. package/dist/types/src/cubing/twisty/model/props/puzzle/state/AnchorTransformationProp.d.ts +15 -0
  602. package/dist/types/src/cubing/twisty/model/props/puzzle/state/AnchorTransformationProp.d.ts.map +1 -0
  603. package/dist/types/src/cubing/twisty/model/props/puzzle/state/CatchUpMoveProp.d.ts +11 -0
  604. package/dist/types/src/cubing/twisty/model/props/puzzle/state/CatchUpMoveProp.d.ts.map +1 -0
  605. package/dist/types/src/cubing/twisty/model/props/puzzle/state/CurrentLeavesSimplified.d.ts +17 -0
  606. package/dist/types/src/cubing/twisty/model/props/puzzle/state/CurrentLeavesSimplified.d.ts.map +1 -0
  607. package/dist/types/src/cubing/twisty/model/props/puzzle/state/CurrentMoveInfoProp.d.ts +14 -0
  608. package/dist/types/src/cubing/twisty/model/props/puzzle/state/CurrentMoveInfoProp.d.ts.map +1 -0
  609. package/dist/types/src/cubing/twisty/model/props/puzzle/state/CurrentStateProp.d.ts +15 -0
  610. package/dist/types/src/cubing/twisty/model/props/puzzle/state/CurrentStateProp.d.ts.map +1 -0
  611. package/dist/types/src/cubing/twisty/model/props/puzzle/state/DragInputProp.d.ts +10 -0
  612. package/dist/types/src/cubing/twisty/model/props/puzzle/state/DragInputProp.d.ts.map +1 -0
  613. package/dist/types/src/cubing/twisty/model/props/puzzle/state/IndexerConstructorProp.d.ts +20 -0
  614. package/dist/types/src/cubing/twisty/model/props/puzzle/state/IndexerConstructorProp.d.ts.map +1 -0
  615. package/dist/types/src/cubing/twisty/model/props/puzzle/state/IndexerConstructorRequestProp.d.ts +12 -0
  616. package/dist/types/src/cubing/twisty/model/props/puzzle/state/IndexerConstructorRequestProp.d.ts.map +1 -0
  617. package/dist/types/src/cubing/twisty/model/props/puzzle/state/IndexerProp.d.ts +15 -0
  618. package/dist/types/src/cubing/twisty/model/props/puzzle/state/IndexerProp.d.ts.map +1 -0
  619. package/dist/types/src/cubing/twisty/model/props/puzzle/state/LegacyPositionProp.d.ts +12 -0
  620. package/dist/types/src/cubing/twisty/model/props/puzzle/state/LegacyPositionProp.d.ts.map +1 -0
  621. package/dist/types/src/cubing/twisty/model/props/puzzle/state/MovePressCancelOptions.d.ts +6 -0
  622. package/dist/types/src/cubing/twisty/model/props/puzzle/state/MovePressCancelOptions.d.ts.map +1 -0
  623. package/dist/types/src/cubing/twisty/model/props/puzzle/state/MovePressInputProp.d.ts +11 -0
  624. package/dist/types/src/cubing/twisty/model/props/puzzle/state/MovePressInputProp.d.ts.map +1 -0
  625. package/dist/types/src/cubing/twisty/model/props/puzzle/state/NaiveMoveCountProp.d.ts +10 -0
  626. package/dist/types/src/cubing/twisty/model/props/puzzle/state/NaiveMoveCountProp.d.ts.map +1 -0
  627. package/dist/types/src/cubing/twisty/model/props/puzzle/state/PuzzleAlgProp.d.ts +14 -0
  628. package/dist/types/src/cubing/twisty/model/props/puzzle/state/PuzzleAlgProp.d.ts.map +1 -0
  629. package/dist/types/src/cubing/twisty/model/props/puzzle/state/SetupAnchorProp.d.ts +10 -0
  630. package/dist/types/src/cubing/twisty/model/props/puzzle/state/SetupAnchorProp.d.ts.map +1 -0
  631. package/dist/types/src/cubing/twisty/model/props/puzzle/state/SetupTransformationProp.d.ts +6 -0
  632. package/dist/types/src/cubing/twisty/model/props/puzzle/state/SetupTransformationProp.d.ts.map +1 -0
  633. package/dist/types/src/cubing/twisty/model/props/puzzle/structure/KPuzzleProp.d.ts +11 -0
  634. package/dist/types/src/cubing/twisty/model/props/puzzle/structure/KPuzzleProp.d.ts.map +1 -0
  635. package/dist/types/src/cubing/twisty/model/props/puzzle/structure/PuzzleDescriptionProp.d.ts +6 -0
  636. package/dist/types/src/cubing/twisty/model/props/puzzle/structure/PuzzleDescriptionProp.d.ts.map +1 -0
  637. package/dist/types/src/cubing/twisty/model/props/puzzle/structure/PuzzleIDProp.d.ts +11 -0
  638. package/dist/types/src/cubing/twisty/model/props/puzzle/structure/PuzzleIDProp.d.ts.map +1 -0
  639. package/dist/types/src/cubing/twisty/model/props/puzzle/structure/PuzzleIDRequestProp.d.ts +27 -0
  640. package/dist/types/src/cubing/twisty/model/props/puzzle/structure/PuzzleIDRequestProp.d.ts.map +1 -0
  641. package/dist/types/src/cubing/twisty/model/props/puzzle/structure/PuzzleLoaderProp.d.ts +13 -0
  642. package/dist/types/src/cubing/twisty/model/props/puzzle/structure/PuzzleLoaderProp.d.ts.map +1 -0
  643. package/dist/types/src/cubing/twisty/model/props/timeline/CoarseTimelineInfoProp.d.ts +25 -0
  644. package/dist/types/src/cubing/twisty/model/props/timeline/CoarseTimelineInfoProp.d.ts.map +1 -0
  645. package/dist/types/src/cubing/twisty/model/props/timeline/DetailedTimelineInfoProp.d.ts +24 -0
  646. package/dist/types/src/cubing/twisty/model/props/timeline/DetailedTimelineInfoProp.d.ts.map +1 -0
  647. package/dist/types/src/cubing/twisty/model/props/timeline/PlayingInfoProp.d.ts +15 -0
  648. package/dist/types/src/cubing/twisty/model/props/timeline/PlayingInfoProp.d.ts.map +1 -0
  649. package/dist/types/src/cubing/twisty/model/props/timeline/TempoScaleProp.d.ts +6 -0
  650. package/dist/types/src/cubing/twisty/model/props/timeline/TempoScaleProp.d.ts.map +1 -0
  651. package/dist/types/src/cubing/twisty/model/props/timeline/TimestampRequestProp.d.ts +17 -0
  652. package/dist/types/src/cubing/twisty/model/props/timeline/TimestampRequestProp.d.ts.map +1 -0
  653. package/dist/types/src/cubing/twisty/model/props/viewer/BackViewProp.d.ts +12 -0
  654. package/dist/types/src/cubing/twisty/model/props/viewer/BackViewProp.d.ts.map +1 -0
  655. package/dist/types/src/cubing/twisty/model/props/viewer/BackgroundProp.d.ts +12 -0
  656. package/dist/types/src/cubing/twisty/model/props/viewer/BackgroundProp.d.ts.map +1 -0
  657. package/dist/types/src/cubing/twisty/model/props/viewer/ButtonAppearanceProp.d.ts +22 -0
  658. package/dist/types/src/cubing/twisty/model/props/viewer/ButtonAppearanceProp.d.ts.map +1 -0
  659. package/dist/types/src/cubing/twisty/model/props/viewer/ControlPanelProp.d.ts +11 -0
  660. package/dist/types/src/cubing/twisty/model/props/viewer/ControlPanelProp.d.ts.map +1 -0
  661. package/dist/types/src/cubing/twisty/model/props/viewer/DOMElementReferenceProp.d.ts +5 -0
  662. package/dist/types/src/cubing/twisty/model/props/viewer/DOMElementReferenceProp.d.ts.map +1 -0
  663. package/dist/types/src/cubing/twisty/model/props/viewer/DarkModeProp.d.ts +10 -0
  664. package/dist/types/src/cubing/twisty/model/props/viewer/DarkModeProp.d.ts.map +1 -0
  665. package/dist/types/src/cubing/twisty/model/props/viewer/DarkModeRequestProp.d.ts +11 -0
  666. package/dist/types/src/cubing/twisty/model/props/viewer/DarkModeRequestProp.d.ts.map +1 -0
  667. package/dist/types/src/cubing/twisty/model/props/viewer/LatitudeLimit.d.ts +6 -0
  668. package/dist/types/src/cubing/twisty/model/props/viewer/LatitudeLimit.d.ts.map +1 -0
  669. package/dist/types/src/cubing/twisty/model/props/viewer/OrbitCoordinatesProp.d.ts +29 -0
  670. package/dist/types/src/cubing/twisty/model/props/viewer/OrbitCoordinatesProp.d.ts.map +1 -0
  671. package/dist/types/src/cubing/twisty/model/props/viewer/OrbitCoordinatesRequestProp.d.ts +15 -0
  672. package/dist/types/src/cubing/twisty/model/props/viewer/OrbitCoordinatesRequestProp.d.ts.map +1 -0
  673. package/dist/types/src/cubing/twisty/model/props/viewer/TimeRangeProp.d.ts +11 -0
  674. package/dist/types/src/cubing/twisty/model/props/viewer/TimeRangeProp.d.ts.map +1 -0
  675. package/dist/types/src/cubing/twisty/model/props/viewer/ViewerLinkProp.d.ts +12 -0
  676. package/dist/types/src/cubing/twisty/model/props/viewer/ViewerLinkProp.d.ts.map +1 -0
  677. package/dist/types/src/cubing/twisty/model/props/viewer/VisualizationProp.d.ts +13 -0
  678. package/dist/types/src/cubing/twisty/model/props/viewer/VisualizationProp.d.ts.map +1 -0
  679. package/dist/types/src/cubing/twisty/model/props/viewer/VisualizationStrategyProp.d.ts +13 -0
  680. package/dist/types/src/cubing/twisty/model/props/viewer/VisualizationStrategyProp.d.ts.map +1 -0
  681. package/dist/types/src/cubing/twisty/views/2D/KPuzzleSVGWrapper.d.ts +19 -0
  682. package/dist/types/src/cubing/twisty/views/2D/KPuzzleSVGWrapper.d.ts.map +1 -0
  683. package/dist/types/src/cubing/twisty/views/2D/Twisty2DPuzzle.css.d.ts +3 -0
  684. package/dist/types/src/cubing/twisty/views/2D/Twisty2DPuzzle.css.d.ts.map +1 -0
  685. package/dist/types/src/cubing/twisty/views/2D/Twisty2DPuzzle.d.ts +28 -0
  686. package/dist/types/src/cubing/twisty/views/2D/Twisty2DPuzzle.d.ts.map +1 -0
  687. package/dist/types/src/cubing/twisty/views/2D/Twisty2DPuzzleWrapper.d.ts +16 -0
  688. package/dist/types/src/cubing/twisty/views/2D/Twisty2DPuzzleWrapper.d.ts.map +1 -0
  689. package/dist/types/src/cubing/twisty/views/2D/Twisty2DSceneWrapper.d.ts +20 -0
  690. package/dist/types/src/cubing/twisty/views/2D/Twisty2DSceneWrapper.d.ts.map +1 -0
  691. package/dist/types/src/cubing/twisty/views/3D/DragTracker.d.ts +31 -0
  692. package/dist/types/src/cubing/twisty/views/3D/DragTracker.d.ts.map +1 -0
  693. package/dist/types/src/cubing/twisty/views/3D/RendererPool.d.ts +5 -0
  694. package/dist/types/src/cubing/twisty/views/3D/RendererPool.d.ts.map +1 -0
  695. package/dist/types/src/cubing/twisty/views/3D/TAU.d.ts +3 -0
  696. package/dist/types/src/cubing/twisty/views/3D/TAU.d.ts.map +1 -0
  697. package/dist/types/src/cubing/twisty/views/3D/Twisty3DPuzzleWrapper.d.ts +22 -0
  698. package/dist/types/src/cubing/twisty/views/3D/Twisty3DPuzzleWrapper.d.ts.map +1 -0
  699. package/dist/types/src/cubing/twisty/views/3D/Twisty3DRenderTarget.d.ts +4 -0
  700. package/dist/types/src/cubing/twisty/views/3D/Twisty3DRenderTarget.d.ts.map +1 -0
  701. package/dist/types/src/cubing/twisty/views/3D/Twisty3DScene.d.ts +15 -0
  702. package/dist/types/src/cubing/twisty/views/3D/Twisty3DScene.d.ts.map +1 -0
  703. package/dist/types/src/cubing/twisty/views/3D/Twisty3DSceneWrapper.d.ts +36 -0
  704. package/dist/types/src/cubing/twisty/views/3D/Twisty3DSceneWrapper.d.ts.map +1 -0
  705. package/dist/types/src/cubing/twisty/views/3D/Twisty3DVantage.css.d.ts +3 -0
  706. package/dist/types/src/cubing/twisty/views/3D/Twisty3DVantage.css.d.ts.map +1 -0
  707. package/dist/types/src/cubing/twisty/views/3D/Twisty3DVantage.d.ts +37 -0
  708. package/dist/types/src/cubing/twisty/views/3D/Twisty3DVantage.d.ts.map +1 -0
  709. package/dist/types/src/cubing/twisty/views/3D/TwistyOrbitControls.d.ts +24 -0
  710. package/dist/types/src/cubing/twisty/views/3D/TwistyOrbitControls.d.ts.map +1 -0
  711. package/dist/types/src/cubing/twisty/views/3D/TwistyOrbitControls.spec.d.ts +2 -0
  712. package/dist/types/src/cubing/twisty/views/3D/TwistyOrbitControls.spec.d.ts.map +1 -0
  713. package/dist/types/src/cubing/twisty/views/3D/puzzles/Cube3D.d.ts +61 -0
  714. package/dist/types/src/cubing/twisty/views/3D/puzzles/Cube3D.d.ts.map +1 -0
  715. package/dist/types/src/cubing/twisty/views/3D/puzzles/PG3D.d.ts +67 -0
  716. package/dist/types/src/cubing/twisty/views/3D/puzzles/PG3D.d.ts.map +1 -0
  717. package/dist/types/src/cubing/twisty/views/3D/puzzles/Twisty3DPuzzle.d.ts +8 -0
  718. package/dist/types/src/cubing/twisty/views/3D/puzzles/Twisty3DPuzzle.d.ts.map +1 -0
  719. package/dist/types/src/cubing/twisty/views/ClassListManager.d.ts +11 -0
  720. package/dist/types/src/cubing/twisty/views/ClassListManager.d.ts.map +1 -0
  721. package/dist/types/src/cubing/twisty/views/InitialValueTracker.d.ts +7 -0
  722. package/dist/types/src/cubing/twisty/views/InitialValueTracker.d.ts.map +1 -0
  723. package/dist/types/src/cubing/twisty/views/ManagedCustomElement.d.ts +20 -0
  724. package/dist/types/src/cubing/twisty/views/ManagedCustomElement.d.ts.map +1 -0
  725. package/dist/types/src/cubing/twisty/views/TwistyAlgEditor/LeafTokens.d.ts +18 -0
  726. package/dist/types/src/cubing/twisty/views/TwistyAlgEditor/LeafTokens.d.ts.map +1 -0
  727. package/dist/types/src/cubing/twisty/views/TwistyAlgEditor/TwistyAlgEditor.css.d.ts +3 -0
  728. package/dist/types/src/cubing/twisty/views/TwistyAlgEditor/TwistyAlgEditor.css.d.ts.map +1 -0
  729. package/dist/types/src/cubing/twisty/views/TwistyAlgEditor/TwistyAlgEditor.d.ts +47 -0
  730. package/dist/types/src/cubing/twisty/views/TwistyAlgEditor/TwistyAlgEditor.d.ts.map +1 -0
  731. package/dist/types/src/cubing/twisty/views/TwistyAlgEditor/TwistyAlgEditor.spec.d.ts +2 -0
  732. package/dist/types/src/cubing/twisty/views/TwistyAlgEditor/TwistyAlgEditor.spec.d.ts.map +1 -0
  733. package/dist/types/src/cubing/twisty/views/TwistyAlgEditor/model.d.ts +61 -0
  734. package/dist/types/src/cubing/twisty/views/TwistyAlgEditor/model.d.ts.map +1 -0
  735. package/dist/types/src/cubing/twisty/views/TwistyAlgViewer.css.d.ts +3 -0
  736. package/dist/types/src/cubing/twisty/views/TwistyAlgViewer.css.d.ts.map +1 -0
  737. package/dist/types/src/cubing/twisty/views/TwistyAlgViewer.d.ts +59 -0
  738. package/dist/types/src/cubing/twisty/views/TwistyAlgViewer.d.ts.map +1 -0
  739. package/dist/types/src/cubing/twisty/views/TwistyPlayer.css.d.ts +3 -0
  740. package/dist/types/src/cubing/twisty/views/TwistyPlayer.css.d.ts.map +1 -0
  741. package/dist/types/src/cubing/twisty/views/TwistyPlayer.d.ts +173 -0
  742. package/dist/types/src/cubing/twisty/views/TwistyPlayer.d.ts.map +1 -0
  743. package/dist/types/src/cubing/twisty/views/TwistyPlayerSettable.d.ts +99 -0
  744. package/dist/types/src/cubing/twisty/views/TwistyPlayerSettable.d.ts.map +1 -0
  745. package/dist/types/src/cubing/twisty/views/TwistyViewerWrapper.css.d.ts +3 -0
  746. package/dist/types/src/cubing/twisty/views/TwistyViewerWrapper.css.d.ts.map +1 -0
  747. package/dist/types/src/cubing/twisty/views/canvas.d.ts +3 -0
  748. package/dist/types/src/cubing/twisty/views/canvas.d.ts.map +1 -0
  749. package/dist/types/src/cubing/twisty/views/control-panel/TwistyButtons.css.d.ts +4 -0
  750. package/dist/types/src/cubing/twisty/views/control-panel/TwistyButtons.css.d.ts.map +1 -0
  751. package/dist/types/src/cubing/twisty/views/control-panel/TwistyButtons.d.ts +36 -0
  752. package/dist/types/src/cubing/twisty/views/control-panel/TwistyButtons.d.ts.map +1 -0
  753. package/dist/types/src/cubing/twisty/views/control-panel/TwistyScrubber.css.d.ts +3 -0
  754. package/dist/types/src/cubing/twisty/views/control-panel/TwistyScrubber.css.d.ts.map +1 -0
  755. package/dist/types/src/cubing/twisty/views/control-panel/TwistyScrubber.d.ts +19 -0
  756. package/dist/types/src/cubing/twisty/views/control-panel/TwistyScrubber.d.ts.map +1 -0
  757. package/dist/types/src/cubing/twisty/views/control-panel/webkit-fullscreen.d.ts +15 -0
  758. package/dist/types/src/cubing/twisty/views/control-panel/webkit-fullscreen.d.ts.map +1 -0
  759. package/dist/types/src/cubing/twisty/views/document.d.ts +2 -0
  760. package/dist/types/src/cubing/twisty/views/document.d.ts.map +1 -0
  761. package/dist/types/src/cubing/twisty/views/node-custom-element-shims.d.ts +5 -0
  762. package/dist/types/src/cubing/twisty/views/node-custom-element-shims.d.ts.map +1 -0
  763. package/dist/types/src/cubing/twisty/views/screenshot.d.ts +12 -0
  764. package/dist/types/src/cubing/twisty/views/screenshot.d.ts.map +1 -0
  765. package/dist/types/src/cubing/twisty/views/stream/TwistyStreamSource.css.d.ts +3 -0
  766. package/dist/types/src/cubing/twisty/views/stream/TwistyStreamSource.css.d.ts.map +1 -0
  767. package/dist/types/src/cubing/twisty/views/stream/TwistyStreamSource.d.ts +18 -0
  768. package/dist/types/src/cubing/twisty/views/stream/TwistyStreamSource.d.ts.map +1 -0
  769. package/dist/types/src/cubing/twisty/views/twizzle/TwizzleLink.css.d.ts +4 -0
  770. package/dist/types/src/cubing/twisty/views/twizzle/TwizzleLink.css.d.ts.map +1 -0
  771. package/dist/types/src/cubing/twisty/views/twizzle/TwizzleLink.d.ts +22 -0
  772. package/dist/types/src/cubing/twisty/views/twizzle/TwizzleLink.d.ts.map +1 -0
  773. package/dist/types/src/cubing/twisty/views/twizzle/url-params.d.ts +20 -0
  774. package/dist/types/src/cubing/twisty/views/twizzle/url-params.d.ts.map +1 -0
  775. package/dist/types/src/cubing/vendor/comlink-everywhere/inside/index.d.ts +5 -0
  776. package/dist/types/src/cubing/vendor/comlink-everywhere/inside/index.d.ts.map +1 -0
  777. package/dist/types/src/cubing/vendor/comlink-everywhere/node-adapter.d.ts +7 -0
  778. package/dist/types/src/cubing/vendor/comlink-everywhere/node-adapter.d.ts.map +1 -0
  779. package/dist/types/src/cubing/vendor/comlink-everywhere/outside/index.d.ts +6 -0
  780. package/dist/types/src/cubing/vendor/comlink-everywhere/outside/index.d.ts.map +1 -0
  781. package/dist/types/src/cubing/vendor/cstimer/src/js/lib/mathlib.d.ts +5 -0
  782. package/dist/types/src/cubing/vendor/cstimer/src/js/lib/mathlib.d.ts.map +1 -0
  783. package/dist/types/src/cubing/vendor/cstimer/src/js/scramble/444-solver.d.ts +4 -0
  784. package/dist/types/src/cubing/vendor/cstimer/src/js/scramble/444-solver.d.ts.map +1 -0
  785. package/dist/types/src/cubing/vendor/min2phase/3x3x3-min2phase.d.ts +3 -0
  786. package/dist/types/src/cubing/vendor/min2phase/3x3x3-min2phase.d.ts.map +1 -0
  787. package/dist/types/src/cubing/vendor/p-lazy/p-lazy.d.ts +10 -0
  788. package/dist/types/src/cubing/vendor/p-lazy/p-lazy.d.ts.map +1 -0
  789. package/dist/types/src/cubing/vendor/sq12phase/sq1-solver.d.ts +2 -0
  790. package/dist/types/src/cubing/vendor/sq12phase/sq1-solver.d.ts.map +1 -0
  791. package/dist/types/src/cubing/vendor/three/examples/jsm/libs/stats.modified.module.d.ts +33 -0
  792. package/dist/types/src/cubing/vendor/three/examples/jsm/libs/stats.modified.module.d.ts.map +1 -0
  793. package/dist/types/src/cubing/vendor/twsearch/index.d.ts +24 -0
  794. package/dist/types/src/cubing/vendor/twsearch/index.d.ts.map +1 -0
  795. package/dist/types/src/cubing/vendor/twsearch/twsearch-PTN3QM26.d.ts +3 -0
  796. package/dist/types/src/cubing/vendor/twsearch/twsearch-PTN3QM26.d.ts.map +1 -0
  797. package/dist/types/src/cubing/vendor/unsafe-raw-aes/unsafe-raw-aes.d.ts +4 -0
  798. package/dist/types/src/cubing/vendor/unsafe-raw-aes/unsafe-raw-aes.d.ts.map +1 -0
  799. package/dist/types/src/cubing/vendor/xyzzy/fto-solver-original.d.ts +149 -0
  800. package/dist/types/src/cubing/vendor/xyzzy/fto-solver-original.d.ts.map +1 -0
  801. package/dist/types/src/cubing/vendor/xyzzy/fto-solver.d.ts +2 -0
  802. package/dist/types/src/cubing/vendor/xyzzy/fto-solver.d.ts.map +1 -0
  803. package/dist/types/src/cubing/vendor/xyzzy/kilosolver.d.ts +3 -0
  804. package/dist/types/src/cubing/vendor/xyzzy/kilosolver.d.ts.map +1 -0
  805. package/dist/types/src/cubing/vendor/xyzzy/master_tetraminx-solver.d.ts +2 -0
  806. package/dist/types/src/cubing/vendor/xyzzy/master_tetraminx-solver.d.ts.map +1 -0
  807. package/dist/types/src/cubing/vendor/xyzzy/redi_cube.d.ts +3 -0
  808. package/dist/types/src/cubing/vendor/xyzzy/redi_cube.d.ts.map +1 -0
  809. package/dist/types/src/sites/alpha.twizzle.net/edit/app.d.ts +55 -0
  810. package/dist/types/src/sites/alpha.twizzle.net/edit/app.d.ts.map +1 -0
  811. package/dist/types/src/sites/alpha.twizzle.net/edit/dom.d.ts +3 -0
  812. package/dist/types/src/sites/alpha.twizzle.net/edit/dom.d.ts.map +1 -0
  813. package/dist/types/src/sites/alpha.twizzle.net/edit/examples.d.ts +3 -0
  814. package/dist/types/src/sites/alpha.twizzle.net/edit/examples.d.ts.map +1 -0
  815. package/dist/types/src/sites/alpha.twizzle.net/edit/main.d.ts +2 -0
  816. package/dist/types/src/sites/alpha.twizzle.net/edit/main.d.ts.map +1 -0
  817. package/dist/types/src/sites/alpha.twizzle.net/edit/strings.d.ts +2 -0
  818. package/dist/types/src/sites/alpha.twizzle.net/edit/strings.d.ts.map +1 -0
  819. package/dist/types/src/sites/alpha.twizzle.net/edit/supported-puzzles.d.ts +32 -0
  820. package/dist/types/src/sites/alpha.twizzle.net/edit/supported-puzzles.d.ts.map +1 -0
  821. package/dist/types/src/sites/alpha.twizzle.net/explore/TwistyPuzzleDescriptionInput.d.ts +19 -0
  822. package/dist/types/src/sites/alpha.twizzle.net/explore/TwistyPuzzleDescriptionInput.d.ts.map +1 -0
  823. package/dist/types/src/sites/alpha.twizzle.net/explore/app.d.ts +35 -0
  824. package/dist/types/src/sites/alpha.twizzle.net/explore/app.d.ts.map +1 -0
  825. package/dist/types/src/sites/alpha.twizzle.net/explore/main.d.ts +2 -0
  826. package/dist/types/src/sites/alpha.twizzle.net/explore/main.d.ts.map +1 -0
  827. package/dist/types/src/sites/alpha.twizzle.net/explore/prop-inputs.d.ts +3 -0
  828. package/dist/types/src/sites/alpha.twizzle.net/explore/prop-inputs.d.ts.map +1 -0
  829. package/dist/types/src/sites/alpha.twizzle.net/explore/twisty-player.d.ts +3 -0
  830. package/dist/types/src/sites/alpha.twizzle.net/explore/twisty-player.d.ts.map +1 -0
  831. package/dist/types/src/sites/alpha.twizzle.net/explore/url-params.d.ts +25 -0
  832. package/dist/types/src/sites/alpha.twizzle.net/explore/url-params.d.ts.map +1 -0
  833. package/dist/types/src/sites/experiments.cubing.net/cubing.js/3x3x3-formats/convert.d.ts +9 -0
  834. package/dist/types/src/sites/experiments.cubing.net/cubing.js/3x3x3-formats/convert.d.ts.map +1 -0
  835. package/dist/types/src/sites/experiments.cubing.net/cubing.js/3x3x3-formats/index.d.ts +3 -0
  836. package/dist/types/src/sites/experiments.cubing.net/cubing.js/3x3x3-formats/index.d.ts.map +1 -0
  837. package/dist/types/src/sites/experiments.cubing.net/cubing.js/3x3x3-formats/tests.d.ts +2 -0
  838. package/dist/types/src/sites/experiments.cubing.net/cubing.js/3x3x3-formats/tests.d.ts.map +1 -0
  839. package/dist/types/src/sites/experiments.cubing.net/cubing.js/alg/extractor.d.ts +3 -0
  840. package/dist/types/src/sites/experiments.cubing.net/cubing.js/alg/extractor.d.ts.map +1 -0
  841. package/dist/types/src/sites/experiments.cubing.net/cubing.js/alg/inspector.d.ts +2 -0
  842. package/dist/types/src/sites/experiments.cubing.net/cubing.js/alg/inspector.d.ts.map +1 -0
  843. package/dist/types/src/sites/experiments.cubing.net/cubing.js/applet-wrappers/AnimCube/TwistyAnimCube.d.ts +9 -0
  844. package/dist/types/src/sites/experiments.cubing.net/cubing.js/applet-wrappers/AnimCube/TwistyAnimCube.d.ts.map +1 -0
  845. package/dist/types/src/sites/experiments.cubing.net/cubing.js/bluetooth/index.d.ts +2 -0
  846. package/dist/types/src/sites/experiments.cubing.net/cubing.js/bluetooth/index.d.ts.map +1 -0
  847. package/dist/types/src/sites/experiments.cubing.net/cubing.js/console/index.d.ts +25 -0
  848. package/dist/types/src/sites/experiments.cubing.net/cubing.js/console/index.d.ts.map +1 -0
  849. package/dist/types/src/sites/experiments.cubing.net/cubing.js/flag/index.d.ts +1 -0
  850. package/dist/types/src/sites/experiments.cubing.net/cubing.js/flag/index.d.ts.map +1 -0
  851. package/dist/types/src/sites/experiments.cubing.net/cubing.js/kpuzzle/svg.d.ts +2 -0
  852. package/dist/types/src/sites/experiments.cubing.net/cubing.js/kpuzzle/svg.d.ts.map +1 -0
  853. package/dist/types/src/sites/experiments.cubing.net/cubing.js/mark3/index.d.ts +2 -0
  854. package/dist/types/src/sites/experiments.cubing.net/cubing.js/mark3/index.d.ts.map +1 -0
  855. package/dist/types/src/sites/experiments.cubing.net/cubing.js/multi-alg/index.d.ts +2 -0
  856. package/dist/types/src/sites/experiments.cubing.net/cubing.js/multi-alg/index.d.ts.map +1 -0
  857. package/dist/types/src/sites/experiments.cubing.net/cubing.js/play/index.d.ts +2 -0
  858. package/dist/types/src/sites/experiments.cubing.net/cubing.js/play/index.d.ts.map +1 -0
  859. package/dist/types/src/sites/experiments.cubing.net/cubing.js/play/input/SwipeGrid.d.ts +25 -0
  860. package/dist/types/src/sites/experiments.cubing.net/cubing.js/play/input/SwipeGrid.d.ts.map +1 -0
  861. package/dist/types/src/sites/experiments.cubing.net/cubing.js/play/input/SwipeTracker.d.ts +21 -0
  862. package/dist/types/src/sites/experiments.cubing.net/cubing.js/play/input/SwipeTracker.d.ts.map +1 -0
  863. package/dist/types/src/sites/experiments.cubing.net/cubing.js/play/input/SwipeyPuzzle.d.ts +22 -0
  864. package/dist/types/src/sites/experiments.cubing.net/cubing.js/play/input/SwipeyPuzzle.d.ts.map +1 -0
  865. package/dist/types/src/sites/experiments.cubing.net/cubing.js/play/url-params.d.ts +20 -0
  866. package/dist/types/src/sites/experiments.cubing.net/cubing.js/play/url-params.d.ts.map +1 -0
  867. package/dist/types/src/sites/experiments.cubing.net/cubing.js/play/websocket-proxy.d.ts +7 -0
  868. package/dist/types/src/sites/experiments.cubing.net/cubing.js/play/websocket-proxy.d.ts.map +1 -0
  869. package/dist/types/src/sites/experiments.cubing.net/cubing.js/robot/index.d.ts +2 -0
  870. package/dist/types/src/sites/experiments.cubing.net/cubing.js/robot/index.d.ts.map +1 -0
  871. package/dist/types/src/sites/experiments.cubing.net/cubing.js/robot/logs/index.d.ts +2 -0
  872. package/dist/types/src/sites/experiments.cubing.net/cubing.js/robot/logs/index.d.ts.map +1 -0
  873. package/dist/types/src/sites/experiments.cubing.net/cubing.js/robot/logs/normalize.d.ts +3 -0
  874. package/dist/types/src/sites/experiments.cubing.net/cubing.js/robot/logs/normalize.d.ts.map +1 -0
  875. package/dist/types/src/sites/experiments.cubing.net/cubing.js/scramble/index.d.ts +2 -0
  876. package/dist/types/src/sites/experiments.cubing.net/cubing.js/scramble/index.d.ts.map +1 -0
  877. package/dist/types/src/sites/experiments.cubing.net/cubing.js/screenshot/index.d.ts +2 -0
  878. package/dist/types/src/sites/experiments.cubing.net/cubing.js/screenshot/index.d.ts.map +1 -0
  879. package/dist/types/src/sites/experiments.cubing.net/cubing.js/spec/binary/index.d.ts +4 -0
  880. package/dist/types/src/sites/experiments.cubing.net/cubing.js/spec/binary/index.d.ts.map +1 -0
  881. package/dist/types/src/sites/experiments.cubing.net/cubing.js/speechcubing/index.d.ts +2 -0
  882. package/dist/types/src/sites/experiments.cubing.net/cubing.js/speechcubing/index.d.ts.map +1 -0
  883. package/dist/types/src/sites/experiments.cubing.net/cubing.js/stream/reorient.d.ts +3 -0
  884. package/dist/types/src/sites/experiments.cubing.net/cubing.js/stream/reorient.d.ts.map +1 -0
  885. package/dist/types/src/sites/experiments.cubing.net/cubing.js/stress-tests/2x2x2-devils-alg.d.ts +2 -0
  886. package/dist/types/src/sites/experiments.cubing.net/cubing.js/stress-tests/2x2x2-devils-alg.d.ts.map +1 -0
  887. package/dist/types/src/sites/experiments.cubing.net/cubing.js/stress-tests/40x40x40.d.ts +2 -0
  888. package/dist/types/src/sites/experiments.cubing.net/cubing.js/stress-tests/40x40x40.d.ts.map +1 -0
  889. package/dist/types/src/sites/experiments.cubing.net/cubing.js/stub/stub.d.ts +2 -0
  890. package/dist/types/src/sites/experiments.cubing.net/cubing.js/stub/stub.d.ts.map +1 -0
  891. package/dist/types/src/sites/experiments.cubing.net/cubing.js/svg-state-editor/index.d.ts +2 -0
  892. package/dist/types/src/sites/experiments.cubing.net/cubing.js/svg-state-editor/index.d.ts.map +1 -0
  893. package/dist/types/src/sites/experiments.cubing.net/cubing.js/twisty/2d-stickering.d.ts +2 -0
  894. package/dist/types/src/sites/experiments.cubing.net/cubing.js/twisty/2d-stickering.d.ts.map +1 -0
  895. package/dist/types/src/sites/experiments.cubing.net/cubing.js/twisty/attributes.d.ts +2 -0
  896. package/dist/types/src/sites/experiments.cubing.net/cubing.js/twisty/attributes.d.ts.map +1 -0
  897. package/dist/types/src/sites/experiments.cubing.net/cubing.js/twisty/cube3d-stickering.d.ts +2 -0
  898. package/dist/types/src/sites/experiments.cubing.net/cubing.js/twisty/cube3d-stickering.d.ts.map +1 -0
  899. package/dist/types/src/sites/experiments.cubing.net/cubing.js/twisty/demo-player.d.ts +2 -0
  900. package/dist/types/src/sites/experiments.cubing.net/cubing.js/twisty/demo-player.d.ts.map +1 -0
  901. package/dist/types/src/sites/experiments.cubing.net/cubing.js/twisty/demo-spin-camera.d.ts +4 -0
  902. package/dist/types/src/sites/experiments.cubing.net/cubing.js/twisty/demo-spin-camera.d.ts.map +1 -0
  903. package/dist/types/src/sites/experiments.cubing.net/cubing.js/twisty/inline.d.ts +2 -0
  904. package/dist/types/src/sites/experiments.cubing.net/cubing.js/twisty/inline.d.ts.map +1 -0
  905. package/dist/types/src/sites/experiments.cubing.net/cubing.js/twisty/ll.d.ts +2 -0
  906. package/dist/types/src/sites/experiments.cubing.net/cubing.js/twisty/ll.d.ts.map +1 -0
  907. package/dist/types/src/sites/experiments.cubing.net/cubing.js/twisty/puzzle-description.d.ts +2 -0
  908. package/dist/types/src/sites/experiments.cubing.net/cubing.js/twisty/puzzle-description.d.ts.map +1 -0
  909. package/dist/types/src/sites/experiments.cubing.net/cubing.js/twisty/simultaneous.d.ts +2 -0
  910. package/dist/types/src/sites/experiments.cubing.net/cubing.js/twisty/simultaneous.d.ts.map +1 -0
  911. package/dist/types/src/sites/experiments.cubing.net/cubing.js/twisty/stickering-demo-algs.d.ts +3 -0
  912. package/dist/types/src/sites/experiments.cubing.net/cubing.js/twisty/stickering-demo-algs.d.ts.map +1 -0
  913. package/dist/types/src/sites/experiments.cubing.net/cubing.js/twisty/svg.d.ts +2 -0
  914. package/dist/types/src/sites/experiments.cubing.net/cubing.js/twisty/svg.d.ts.map +1 -0
  915. package/dist/types/src/sites/experiments.cubing.net/cubing.js/twisty/twisty-alg-editor/index.d.ts +2 -0
  916. package/dist/types/src/sites/experiments.cubing.net/cubing.js/twisty/twisty-alg-editor/index.d.ts.map +1 -0
  917. package/dist/types/src/sites/experiments.cubing.net/cubing.js/twisty/twisty-alg-viewer.d.ts +2 -0
  918. package/dist/types/src/sites/experiments.cubing.net/cubing.js/twisty/twisty-alg-viewer.d.ts.map +1 -0
  919. package/dist/types/src/sites/experiments.cubing.net/cubing.js/twisty/twisty-player-config.d.ts +2 -0
  920. package/dist/types/src/sites/experiments.cubing.net/cubing.js/twisty/twisty-player-config.d.ts.map +1 -0
  921. package/dist/types/src/sites/experiments.cubing.net/cubing.js/twisty/twisty-player-props/TwistyPropDebugger.d.ts +27 -0
  922. package/dist/types/src/sites/experiments.cubing.net/cubing.js/twisty/twisty-player-props/TwistyPropDebugger.d.ts.map +1 -0
  923. package/dist/types/src/sites/experiments.cubing.net/cubing.js/twisty/twisty-player-props/index.d.ts +2 -0
  924. package/dist/types/src/sites/experiments.cubing.net/cubing.js/twisty/twisty-player-props/index.d.ts.map +1 -0
  925. package/dist/types/src/sites/experiments.cubing.net/cubing.js/twisty/twisty.d.ts +2 -0
  926. package/dist/types/src/sites/experiments.cubing.net/cubing.js/twisty/twisty.d.ts.map +1 -0
  927. package/dist/types/src/sites/experiments.cubing.net/cubing.js/twizzle-diaries/intro/index.d.ts +1 -0
  928. package/dist/types/src/sites/experiments.cubing.net/cubing.js/twizzle-diaries/intro/index.d.ts.map +1 -0
  929. package/dist/types/src/sites/experiments.cubing.net/cubing.js/twizzle-diaries/intro/jszip-wrapper.d.ts +2 -0
  930. package/dist/types/src/sites/experiments.cubing.net/cubing.js/twizzle-diaries/intro/jszip-wrapper.d.ts.map +1 -0
  931. package/dist/types/src/sites/experiments.cubing.net/cubing.js/twizzle-diaries/intro/svg/index.d.ts +12 -0
  932. package/dist/types/src/sites/experiments.cubing.net/cubing.js/twizzle-diaries/intro/svg/index.d.ts.map +1 -0
  933. package/dist/types/src/sites/experiments.cubing.net/cubing.js/twsearch/benchmark.d.ts +2 -0
  934. package/dist/types/src/sites/experiments.cubing.net/cubing.js/twsearch/benchmark.d.ts.map +1 -0
  935. package/dist/types/src/sites/experiments.cubing.net/cubing.js/twsearch/index.d.ts +2 -0
  936. package/dist/types/src/sites/experiments.cubing.net/cubing.js/twsearch/index.d.ts.map +1 -0
  937. package/dist/types/src/sites/experiments.cubing.net/cubing.js/vr/config.d.ts +7 -0
  938. package/dist/types/src/sites/experiments.cubing.net/cubing.js/vr/config.d.ts.map +1 -0
  939. package/dist/types/src/sites/experiments.cubing.net/cubing.js/vr/index.d.ts +1 -0
  940. package/dist/types/src/sites/experiments.cubing.net/cubing.js/vr/index.d.ts.map +1 -0
  941. package/dist/types/src/sites/experiments.cubing.net/cubing.js/vr/proxy/index.d.ts +2 -0
  942. package/dist/types/src/sites/experiments.cubing.net/cubing.js/vr/proxy/index.d.ts.map +1 -0
  943. package/dist/types/src/sites/experiments.cubing.net/cubing.js/vr/room.d.ts +12 -0
  944. package/dist/types/src/sites/experiments.cubing.net/cubing.js/vr/room.d.ts.map +1 -0
  945. package/dist/types/src/sites/experiments.cubing.net/cubing.js/vr/vr-cube.d.ts +1 -0
  946. package/dist/types/src/sites/experiments.cubing.net/cubing.js/vr/vr-cube.d.ts.map +1 -0
  947. package/dist/types/src/sites/experiments.cubing.net/cubing.js/vr/vr-input.d.ts +35 -0
  948. package/dist/types/src/sites/experiments.cubing.net/cubing.js/vr/vr-input.d.ts.map +1 -0
  949. package/dist/types/src/sites/experiments.cubing.net/cubing.js/vr/vr-pg3d.d.ts +1 -0
  950. package/dist/types/src/sites/experiments.cubing.net/cubing.js/vr/vr-pg3d.d.ts.map +1 -0
  951. package/dist/types/src/sites/experiments.cubing.net/cubing.js/vr/vr-puzzle.d.ts +6 -0
  952. package/dist/types/src/sites/experiments.cubing.net/cubing.js/vr/vr-puzzle.d.ts.map +1 -0
  953. package/dist/types/src/test/chai-workarounds/Alg.chai.d.ts +22 -0
  954. package/dist/types/src/test/chai-workarounds/Alg.chai.d.ts.map +1 -0
  955. package/dist/types/src/test/chai-workarounds/chai.d.ts +4 -0
  956. package/dist/types/src/test/chai-workarounds/chai.d.ts.map +1 -0
  957. package/dist/types/src/test/chai-workarounds/index.d.ts +11 -0
  958. package/dist/types/src/test/chai-workarounds/index.d.ts.map +1 -0
  959. package/package.json +4 -2
  960. package/dist/esm/chunk-4RNFY2SZ.js.map +0 -7
  961. package/dist/esm/chunk-IJP4IAGZ.js.map +0 -7
  962. package/dist/esm/chunk-V6G7UV6F.js.map +0 -7
  963. package/dist/esm/chunk-ZFPWV6J3.js.map +0 -7
  964. package/dist/esm/search-dynamic-solve-3x3x3-DDVSUP2C.js.map +0 -7
  965. package/dist/esm/search-dynamic-solve-4x4x4-CJ7OHJQH.js.map +0 -7
  966. package/dist/esm/search-dynamic-solve-kilominx-FBEDWIPR.js.map +0 -7
  967. package/dist/esm/search-worker-js-entry-JMP6QTH2.js +0 -17
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/cubing/search/inside/solve/puzzles/clock.ts", "../../src/cubing/search/inside/solve/puzzles/wca-minx.ts", "../../src/cubing/vendor/comlink-everywhere/outside/index.ts", "../../src/cubing/search/inside/search-worker-ts-entry-path-getter.ts", "../../src/cubing/search/instantiator.ts", "../../src/cubing/search/outside.ts"],
4
- "sourcesContent": ["import { randomUIntBelow } from \"random-uint-below\";\n\nconst pins = [\"UR\", \"DR\", \"DL\", \"UL\"];\nconst backMoves = [\"U\", \"R\", \"D\", \"L\", \"ALL\"];\nconst frontMoves = pins.concat(backMoves);\n\nexport function randomClockScrambleString(): string {\n let filteringMoveCount = 0;\n\n function randomSuffix() {\n const amount = randomUIntBelow(12);\n if (amount !== 0) {\n filteringMoveCount++;\n }\n if (amount <= 6) {\n return `${amount}+`;\n } else {\n return `${12 - amount}-`;\n }\n }\n\n const moves = [];\n function side(families: string[]): void {\n for (const family of families) {\n moves.push(`${family}${randomSuffix()}`);\n }\n }\n\n side(frontMoves);\n moves.push(\"y2\");\n side(backMoves);\n\n // https://www.worldcubeassociation.org/regulations/#4b3\n if (filteringMoveCount < 2) {\n return randomClockScrambleString();\n }\n\n for (const pin of pins) {\n if (randomUIntBelow(2) === 0) {\n moves.push(pin);\n }\n }\n return moves.join(\" \");\n}\n", "import { randomUIntBelow } from \"random-uint-below\";\n\nconst suffixes = [\"++\", \"--\"];\n\nexport function randomMegaminxScrambleString(): string {\n function rdPair(): string {\n return `R${suffixes[randomUIntBelow(2)]} D${suffixes[randomUIntBelow(2)]}`;\n }\n\n function randomU(): string {\n return `U${[\"\", \"'\"][randomUIntBelow(2)]}`;\n }\n\n function row(): string {\n const chunks = [];\n for (let i = 0; i < 5; i++) {\n chunks.push(rdPair());\n }\n chunks.push(randomU());\n return chunks.join(\" \");\n }\n\n const chunks = [];\n for (let i = 0; i < 6; i++) {\n chunks.push(row());\n }\n return chunks.join(\"\\n\");\n}\n", "import nodeEndpoint from \"../node-adapter\";\n\nexport { wrap } from \"comlink\";\n// Mangled so that bundlers don't try to inline the source.\n\nconst worker_threads_mangled = \"node:w-orker-_threa-ds\";\nconst worker_threads_unmangled = () => worker_threads_mangled.replace(/-/g, \"\");\n\nconst useNodeWorkarounds =\n typeof globalThis.Worker === \"undefined\" &&\n typeof (globalThis as any).WorkerNavigator === \"undefined\";\n\nasync function nodeWorker(\n source: string | URL,\n options?: { eval?: boolean },\n): Promise<Worker> {\n const { Worker: NodeWorker } = await import(\n /* @vite-ignore */ worker_threads_unmangled()\n );\n const worker = new NodeWorker(source, options);\n worker.unref();\n return nodeEndpoint(worker);\n}\n\nexport async function constructWorker(\n source: string | URL,\n options?: { eval?: boolean; type?: WorkerType },\n): Promise<Worker> {\n let worker;\n if (useNodeWorkarounds) {\n return nodeWorker(source, { eval: options?.eval });\n } else {\n if (options?.eval) {\n const blob = new Blob([source as string], {\n type: \"application/javascript\",\n });\n source = URL.createObjectURL(blob);\n }\n worker = new globalThis.Worker(source, {\n type: options ? options.type : undefined, // TODO: Is it safe to use `options?.type`?\n });\n }\n return worker;\n}\n", "import { exposeAPI } from \"./worker-guard\";\n\nexposeAPI.expose = false;\nexport async function getWorkerEntryFileURL() {\n return (await import(\"./search-worker-ts-entry\")).WORKER_ENTRY_FILE_URL;\n}\n", "import { constructWorker, wrap } from \"../vendor/comlink-everywhere/outside\";\nimport { insideAPI, WorkerInsideAPI } from \"./inside/api\";\nimport { getWorkerEntryFileURL } from \"./inside/search-worker-ts-entry-path-getter\";\nimport { searchOutsideDebugGlobals } from \"./outside\";\n\nconst MODULE_WORKER_TIMEOUT_MILLISECONDS = 5000;\n\nexport interface WorkerOutsideAPI {\n terminate: () => void; // `node` can return a `Promise` with an exit code, but we match the web worker API.\n}\nexport interface InsideOutsideAPI {\n insideAPI: WorkerInsideAPI;\n outsideAPI: WorkerOutsideAPI;\n}\n\nexport async function instantiateModuleWorker(): Promise<InsideOutsideAPI> {\n // rome-ignore lint(correctness/noAsyncPromiseExecutor): TODO\n return new Promise<InsideOutsideAPI>(async (resolve, reject) => {\n const timeoutID = setTimeout(() => {\n reject(new Error(\"module instantiation timeout\"));\n }, MODULE_WORKER_TIMEOUT_MILLISECONDS);\n\n try {\n const workerEntryFileURL = await getWorkerEntryFileURL();\n if (!workerEntryFileURL) {\n reject(new Error(\"Could not get worker entry file URL.\"));\n }\n let url: string | URL;\n if (globalThis.Worker) {\n // Standard browser-like environment.\n const importSrc = `import \"${workerEntryFileURL}\";`;\n const blob = new Blob([importSrc], {\n type: \"text/javascript\",\n });\n url = URL.createObjectURL(blob);\n } else {\n // `node` < 18 doesn't have `Blob`:\n // https://nodejs.org/ko/blog/announcements/v18-release-announce/#other-global-apis\n // But `node` will not let us construct a worker from a `blob:` URL either.\n //\n // We need to keep the original entry file URL, but we have to wrap it in the `URL` class.\n url = new URL(workerEntryFileURL);\n }\n\n const worker = (await constructWorker(url, {\n type: \"module\",\n })) as Worker & {\n nodeWorker?: import(\"worker_threads\").Worker;\n };\n\n const onError = (e: ErrorEvent) => {\n // TODO: Remove fallback when Firefox implements module workers: https://bugzilla.mozilla.org/show_bug.cgi?id=1247687\n if (e.message?.startsWith(\"SyntaxError\")) {\n reject(e);\n }\n };\n\n const onFirstMessage = (messageData: string) => {\n if (messageData === \"comlink-exposed\") {\n // We need to clear the timeout so that we don't prevent `node` from exiting in the meantime.\n clearTimeout(timeoutID);\n resolve(wrapWithTerminate(worker));\n } else {\n reject(\n new Error(`wrong module instantiation message ${messageData}`),\n );\n }\n };\n\n if (worker.nodeWorker) {\n // We have to use `once` so the `unref()` from `comlink-everywhere` allows the process to quite as expected.\n worker.nodeWorker.once(\"message\", onFirstMessage);\n } else {\n worker.addEventListener(\"error\", onError, {\n once: true,\n });\n worker.addEventListener(\"message\", (e) => onFirstMessage(e.data), {\n once: true,\n });\n }\n } catch (e) {\n reject(e);\n }\n });\n}\n\nfunction wrapWithTerminate(worker: Worker): InsideOutsideAPI {\n const insideAPI = wrap<WorkerInsideAPI>(worker);\n const terminate = worker.terminate.bind(worker);\n return { insideAPI, outsideAPI: { terminate } };\n}\n\nasync function instantiateClassicWorker(): Promise<InsideOutsideAPI> {\n const { workerSource } = await import(\n \"./search-worker-inside-generated-string.js\"\n );\n const worker = await constructWorker(workerSource, { eval: true });\n return wrapWithTerminate(worker);\n}\n\nexport const allInsideOutsideAPIPromises: Promise<InsideOutsideAPI>[] = [];\n\nexport async function instantiateWorker(): Promise<InsideOutsideAPI> {\n const insideOutsideAPIPromise = instantiateWorkerImplementation();\n allInsideOutsideAPIPromises.push(insideOutsideAPIPromise);\n insideAPI.setDebugMeasurePerf(searchOutsideDebugGlobals.logPerf);\n insideAPI.setScramblePrefetchLevel(\n searchOutsideDebugGlobals.scramblePrefetchLevel,\n );\n return insideOutsideAPIPromise;\n}\n\nexport async function mapToAllWorkers(\n f: (worker: InsideOutsideAPI) => void,\n): Promise<void> {\n await Promise.all(\n allInsideOutsideAPIPromises.map((worker) => worker.then(f)),\n );\n}\n\nasync function instantiateWorkerImplementation(): Promise<InsideOutsideAPI> {\n if (searchOutsideDebugGlobals.forceStringWorker) {\n console.warn(\n \"Using the `forceStringWorker` workaround for search worker instantiation. This will require downloading significantly more code than necessary, but the functionality will be the same.\",\n );\n return instantiateClassicWorker();\n }\n try {\n // `await` is important for `catch` to work.\n return await instantiateModuleWorker();\n } catch (e) {\n const commonErrorPrefix =\n \"Could not instantiate module worker (this may happen in Firefox, or when using Parcel).\";\n if (searchOutsideDebugGlobals.disableStringWorker) {\n console.error(\n `${commonErrorPrefix} Fallback to string worker is disabled.`,\n e,\n );\n throw new Error(\"Module worker instantiation failed.\");\n }\n console.warn(`${commonErrorPrefix} Falling back to string worker.`, e);\n return instantiateClassicWorker();\n }\n}\n", "import { Alg } from \"../alg\";\nimport type { KPuzzle } from \"../kpuzzle\";\n// import { preInitialize222 } from \"../implementations/2x2x2\";\nimport type { KState } from \"../kpuzzle/KState\";\nimport type { PrefetchLevel } from \"./inside/api\";\nimport { randomClockScrambleString } from \"./inside/solve/puzzles/clock\"; // TODO: don't reach into `inside` code.\nimport { randomMegaminxScrambleString } from \"./inside/solve/puzzles/wca-minx\"; // TODO: don't reach into `inside` code.\nimport type { TwsearchOptions } from \"./inside/solve/twsearch\";\nimport {\n InsideOutsideAPI,\n instantiateWorker,\n mapToAllWorkers,\n} from \"./instantiator\";\n\nlet cachedWorkerInstance: Promise<InsideOutsideAPI> | null = null;\nasync function getCachedWorkerInstance(): Promise<InsideOutsideAPI> {\n return await (cachedWorkerInstance ??= instantiateWorker());\n}\n\n// Pre-initialize the scrambler for the given event. (Otherwise, an event is\n// initialized the first time you ask for a scramble for that event.)\n//\n// Some typical numbers for a fast computer:\n// - 3x3x3 initialization: 200ms\n// - Each 3x3x3 scramble: 50ms\n// - 4x4x4 initialization: 2500ms\n// - Each 4x4x4 scramble: 300ms to 800ms\n//\n// It is safe to immediately call for a scramble\n// any time after starting pre-initialization, or to call for them without\n// pre-initializing. Pre-initializing essentially gives the scramble worker a\n// head start in case a scramble doesn't get requested immediately.\n//\n// Note that events cannot be pre-initialized in parallel. Attempting to\n// pre-initialize multiple events will initialize them consecutively. Scrambles\n// for a given event cannot be computed while another event is being initialized.\nexport function _preInitializationHintForEvent(\n eventID: string,\n // callback?: () => void\n): void {\n switch (eventID) {\n case \"clock\":\n case \"minx\":\n return;\n case \"333oh\":\n return _preInitializationHintForEvent(\"333\");\n }\n (async () => {\n await (await getCachedWorkerInstance()).insideAPI.initialize(eventID);\n })();\n}\n\nexport async function randomScrambleForEvent(eventID: string): Promise<Alg> {\n switch (eventID) {\n case \"clock\":\n return Alg.fromString(await randomClockScrambleString());\n case \"minx\":\n return Alg.fromString(await randomMegaminxScrambleString());\n }\n const prom = _randomScrambleStringForEvent(eventID);\n const wat = await prom;\n return Alg.fromString(wat);\n}\n\nexport async function _randomScrambleStringForEvent(\n eventID: string,\n): Promise<string> {\n if (searchOutsideDebugGlobals.forceNewWorkerForEveryScramble) {\n }\n const worker = searchOutsideDebugGlobals.forceNewWorkerForEveryScramble\n ? await instantiateWorker()\n : await getCachedWorkerInstance();\n return worker.insideAPI.randomScrambleStringForEvent(eventID);\n}\n\nexport async function randomScrambleStringForEvent(\n eventID: string,\n): Promise<string> {\n switch (eventID) {\n case \"clock\":\n return randomClockScrambleString();\n case \"minx\":\n return randomMegaminxScrambleString();\n }\n return await _randomScrambleStringForEvent(eventID);\n}\n\nexport async function experimentalSolve3x3x3IgnoringCenters(\n state: KState,\n): Promise<Alg> {\n const cwi = await getCachedWorkerInstance();\n return Alg.fromString(await cwi.insideAPI.solve333ToString(state.stateData));\n}\n\nexport async function experimentalSolve2x2x2(state: KState): Promise<Alg> {\n const cwi = await getCachedWorkerInstance();\n return Alg.fromString(await cwi.insideAPI.solve222ToString(state.stateData));\n}\n\nexport async function solveSkewb(state: KState): Promise<Alg> {\n const cwi = await getCachedWorkerInstance();\n return Alg.fromString(\n await cwi.insideAPI.solveSkewbToString(state.stateData),\n );\n}\n\nexport async function solvePyraminx(state: KState): Promise<Alg> {\n const cwi = await getCachedWorkerInstance();\n return Alg.fromString(\n await cwi.insideAPI.solvePyraminxToString(state.stateData),\n );\n}\n\nexport async function solveMegaminx(state: KState): Promise<Alg> {\n const cwi = await getCachedWorkerInstance();\n return Alg.fromString(\n await cwi.insideAPI.solveMegaminxToString(state.stateData),\n );\n}\n\nexport async function solveTwsearch(\n kpuzzle: KPuzzle,\n state: KState,\n options?: { moveSubset?: string[]; startState?: KState; minDepth?: number },\n): Promise<Alg> {\n const { startState, ...otherOptions } = options ?? {};\n const apiOptions: TwsearchOptions = otherOptions;\n if (startState) {\n apiOptions.startState =\n startState.experimentalToTransformation()!.transformationData;\n }\n const { ...def } = kpuzzle.definition;\n delete def.experimentalIsStateSolved;\n delete def.experimentalDerivedMoves;\n const dedicatedWorker = await instantiateWorker();\n try {\n return Alg.fromString(\n await dedicatedWorker.insideAPI.solveTwsearchToString(\n def,\n state.experimentalToTransformation()!.transformationData,\n apiOptions,\n ),\n );\n } finally {\n console.log(\"Search ended, terminating dedicated `twsearch` worker.\");\n // TODO: support re-using the same worker for multiple searches..\n await dedicatedWorker.outsideAPI.terminate();\n }\n}\n\ninterface SearchOutsideDebugGlobals {\n logPerf: boolean;\n scramblePrefetchLevel: `${PrefetchLevel}`;\n forceStringWorker: boolean;\n disableStringWorker: boolean;\n forceNewWorkerForEveryScramble: boolean;\n}\nexport const searchOutsideDebugGlobals: SearchOutsideDebugGlobals = {\n logPerf: false,\n scramblePrefetchLevel: \"auto\",\n forceStringWorker: false,\n disableStringWorker: false,\n forceNewWorkerForEveryScramble: false,\n};\n\nexport function setDebug(options: Partial<SearchOutsideDebugGlobals>): void {\n const { logPerf, scramblePrefetchLevel } = options;\n if (typeof logPerf !== \"undefined\") {\n searchOutsideDebugGlobals.logPerf = logPerf;\n mapToAllWorkers((worker) => worker.insideAPI.setDebugMeasurePerf(logPerf));\n }\n if (typeof scramblePrefetchLevel !== \"undefined\") {\n searchOutsideDebugGlobals.scramblePrefetchLevel = scramblePrefetchLevel;\n mapToAllWorkers((worker) =>\n worker.insideAPI.setScramblePrefetchLevel(\n scramblePrefetchLevel as PrefetchLevel,\n ),\n );\n }\n if (\"forceStringWorker\" in options) {\n searchOutsideDebugGlobals.forceStringWorker = !!options.forceStringWorker;\n }\n if (\"disableStringWorker\" in options) {\n searchOutsideDebugGlobals.disableStringWorker =\n !!options.disableStringWorker;\n }\n if (\"forceNewWorkerForEveryScramble\" in options) {\n searchOutsideDebugGlobals.forceNewWorkerForEveryScramble =\n !!options.forceNewWorkerForEveryScramble;\n }\n}\n"],
5
- "mappings": "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",
6
- "names": ["randomUIntBelow", "chunks", "insideAPI"]
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/cubing/search/inside/solve/puzzles/2x2x2.ts", "../../src/cubing/search/inside/solve/tremble.ts", "../../src/cubing/search/inside/solve/puzzles/dynamic/sgs-side-events/index.ts", "../../src/cubing/search/inside/solve/twsearch.ts", "../../src/cubing/search/inside/solve/puzzles/dynamic/4x4x4/index.ts", "../../src/cubing/search/inside/solve/puzzles/4x4x4.ts", "../../src/cubing/search/inside/solve/puzzles/big-cubes.ts", "../../src/cubing/search/inside/solve/puzzles/5x5x5.ts", "../../src/cubing/search/inside/solve/puzzles/dynamic/fto/index.ts", "../../src/cubing/search/inside/solve/puzzles/fto.ts", "../../src/cubing/search/inside/solve/puzzles/dynamic/kilominx/index.ts", "../../src/cubing/search/inside/solve/puzzles/kilominx.ts", "../../src/cubing/search/inside/solve/puzzles/dynamic/master_tetraminx/index.ts", "../../src/cubing/search/inside/solve/puzzles/master_tetraminx.ts", "../../src/cubing/search/inside/solve/puzzles/megaminx.ts", "../../src/cubing/search/inside/solve/puzzles/pyraminx.ts", "../../src/cubing/search/inside/solve/puzzles/dynamic/sgs-unofficial/index.ts", "../../src/cubing/search/inside/solve/puzzles/redi_cube.ts", "../../src/cubing/search/inside/solve/puzzles/skewb.ts", "../../src/cubing/search/inside/solve/puzzles/dynamic/sq1/index.ts", "../../src/cubing/search/inside/solve/puzzles/sq1.ts", "../../src/cubing/search/inside/api.ts"],
4
- "sourcesContent": ["import { Alg, Move } from \"../../../../alg\";\nimport type { KPuzzle } from \"../../../../kpuzzle\";\nimport { KState } from \"../../../../kpuzzle\";\nimport { cube2x2x2, puzzles } from \"../../../../puzzles\";\nimport { randomPermuteInPlace, randomUIntBelow } from \"random-uint-below\";\nimport { mustBeInsideWorker } from \"../../inside-worker\";\nimport type { SGSCachedData } from \"../parseSGS\";\nimport { TrembleSolver } from \"../tremble\";\nimport { searchDynamicSideEvents } from \"./dynamic/sgs-side-events\";\nimport { solveTwsearch, twsearchPromise } from \"../twsearch\";\nimport { experimentalNormalize2x2x2Orientation } from \"../../../../puzzles/cubing-private\";\n\nlet cachedTrembleSolver: Promise<TrembleSolver> | null = null;\nasync function getCachedTrembleSolver(): Promise<TrembleSolver> {\n return (\n cachedTrembleSolver ||\n (cachedTrembleSolver = (async (): Promise<TrembleSolver> => {\n const sgsCachedData: SGSCachedData = await (\n await searchDynamicSideEvents\n ).cachedData222();\n return new TrembleSolver(\n await puzzles[\"2x2x2\"].kpuzzle(),\n sgsCachedData,\n \"URFLBD\".split(\"\"),\n );\n })())\n );\n}\n\nexport async function preInitialize222(): Promise<void> {\n await getCachedTrembleSolver();\n}\n\nexport async function solve222HTMSubOptimal(\n state: KState,\n maxDepth: number = 11,\n): Promise<Alg> {\n mustBeInsideWorker();\n return await solveTwsearch(\n (\n await cube2x2x2.kpuzzle()\n ).definition,\n state.experimentalToTransformation()!.transformationData,\n {\n moveSubset: \"UFLR\".split(\"\"), // TODO: <U, F, R>\n maxDepth,\n },\n );\n}\n\n// TODO: fix def consistency.\n// TODO: why is this ending up with the wrong rotation sometimes?\nexport async function solve222HTMOptimal(\n state: KState,\n maxDepth: number = 11,\n): Promise<Alg> {\n mustBeInsideWorker();\n const { normalizedState, normalizationAlg } =\n experimentalNormalize2x2x2Orientation(state);\n const orientedResult = await solveTwsearch(\n (\n await cube2x2x2.kpuzzle()\n ).definition,\n normalizedState.experimentalToTransformation()!.transformationData,\n {\n moveSubset: \"UFLR\".split(\"\"), // TODO: <U, F, R>\n maxDepth,\n },\n );\n return normalizationAlg.concat(orientedResult);\n}\n\nasync function hasHTMSolutionWithFewerMoves(\n state: KState,\n filterMin: number,\n): Promise<boolean> {\n try {\n (await solve222HTMOptimal(state, filterMin - 1)).log();\n return true;\n } catch (e) {\n if (e instanceof (await twsearchPromise).NoSolutionError) {\n return false;\n }\n throw e;\n }\n}\n\nfunction isCancelling(alg: Alg): boolean {\n let lastFamily: undefined | string;\n for (let node of alg.childAlgNodes()) {\n const move = node.as(Move);\n if (!move) {\n throw new Error(\"Unexpected solution with a non-move node!\");\n }\n const { family } = move;\n if (\n lastFamily &&\n ((lastFamily === \"L\" && family === \"R\") ||\n (lastFamily === \"R\" && family === \"L\"))\n ) {\n return true;\n }\n lastFamily = family;\n }\n return false;\n}\n\n// TODO: fix def consistency.\nexport async function solve222ForScramble(state: KState): Promise<Alg> {\n mustBeInsideWorker();\n return solveTwsearch(\n (await cube2x2x2.kpuzzle()).definition,\n state.experimentalToTransformation()!.transformationData,\n {\n moveSubset: \"UFLR\".split(\"\"),\n minDepth: 11,\n },\n );\n}\n\n// TODO: factor out and test.\nfunction mutatingRandomizeOrbit(\n kpuzzle: KPuzzle,\n orbitName: string,\n state: KState,\n options?: { orientationSum?: number },\n): void {\n randomPermuteInPlace(state.stateData[orbitName].pieces);\n\n const orbitDef = kpuzzle.definition.orbits[orbitName];\n const ori = state.stateData[orbitName].orientation;\n\n let sum = 0;\n for (let i = 0; i < orbitDef.numPieces; i++) {\n const o = randomUIntBelow(orbitDef.numOrientations);\n ori[i] = o;\n sum += o;\n }\n\n // console.log(\"aaaa\", options && \"orientationSum\" in options);\n if (options && \"orientationSum\" in options) {\n // console.log(\"sfdsf\", options!.orientationSum),\n ori[0] =\n (((ori[0] + options.orientationSum! - sum) % orbitDef.numOrientations) +\n orbitDef.numOrientations) %\n orbitDef.numOrientations;\n }\n}\n\n// TODO: Use SGS?\nexport async function random222State(): Promise<KState> {\n const kpuzzle = await puzzles[\"2x2x2\"].kpuzzle();\n const stateCopy: KState = new KState(\n kpuzzle,\n JSON.parse(JSON.stringify(kpuzzle.startState().stateData)),\n ); // TODO\n mutatingRandomizeOrbit(kpuzzle, \"CORNERS\", stateCopy, {\n orientationSum: 0,\n });\n return stateCopy;\n}\n\nexport async function random222Scramble(): Promise<Alg> {\n let state = await random222State();\n while (await hasHTMSolutionWithFewerMoves(state, 4)) {\n console.info(\"Filtered out a 2x2x2 state!\");\n state = await random222State();\n }\n const inverseState = state\n .experimentalToTransformation()!\n .invert()\n .toKState(); // Note: Inversion is not needed for randomness, but it is more consistent with other code.\n let sol = await solve222ForScramble(inverseState);\n while (isCancelling(sol)) {\n // Rely on `--randomstart` to find us a non-cancelling with \u22482/3 probability.\n // TODO: Check that this works for 100% of states.\n sol = await solve222ForScramble(inverseState);\n }\n\n return sol;\n}\n", "import { Alg, AlgBuilder, Move, QuantumMove } from \"../../../alg\";\nimport type { KPuzzle, KTransformation } from \"../../../kpuzzle\";\nimport type { KState } from \"../../../kpuzzle/KState\";\nimport { experimentalCountMoves } from \"../../../notation\";\nimport { randomChoice } from \"random-uint-below\";\nimport type { SGSCachedData } from \"./parseSGS\";\n\nconst DEFAULT_STAGE1_DEPTH_LIMIT = 2; // Moderately performant default.\n\nconst DOUBLECHECK_PLACED_PIECES = true;\nconst DEBUG = false;\n\n// TODO: Take moves instead of move names?\nfunction calculateMoves(\n kpuzzle: KPuzzle,\n moveNames: string[],\n): {\n move: Move;\n transformation: KTransformation;\n}[] {\n const searchMoves: {\n move: Move;\n transformation: KTransformation;\n }[] = [];\n // const identity = identityTransformation(def); // TODO\n // TODO: Make it easy to filter moves.\n moveNames.forEach(function (moveName) {\n const rootMove = new Move(moveName);\n if (rootMove.amount !== 1) {\n throw new Error(\n \"SGS cannot handle def moves with an amount other than 1 yet.\",\n );\n }\n let transformation = kpuzzle.identityTransformation();\n for (let i = 1; true; i++) {\n transformation = transformation.applyMove(rootMove);\n if (transformation.isIdentityTransformation()) {\n break;\n }\n searchMoves.push({\n move: rootMove.modified({ amount: i }),\n transformation,\n });\n }\n });\n return searchMoves;\n}\n\n// function badRandomMoves(moves: string[], ksp: KSolvePuzzle): KSolvePuzzleState {\n// // var sum = 0;\n// var scramble = \"\";\n// for (var i = 0; i < 1000; i++) {\n// scramble = scramble + \" \" + moves[Math.floor(moves.length * Math.random())];\n// }\n// // var sol = \"\";\n// const indexer = new TreeAlgIndexer(ksp, Alg.fromString(scramble));\n// return indexer.transformAtIndex(indexer.numMoves()) as any; // TODO\n// }\n\nexport class TrembleSolver {\n private searchMoves: {\n move: Move;\n transformation: KTransformation;\n }[];\n\n constructor(\n private kpuzzle: KPuzzle,\n private sgs: SGSCachedData,\n trembleMoveNames?: string[],\n ) {\n this.searchMoves = calculateMoves(\n this.kpuzzle,\n trembleMoveNames ?? Object.keys(this.kpuzzle.definition.moves),\n );\n }\n\n // public badRandomMoves(): KSolvePuzzleState {\n // return badRandomMoves(this.moves, this.ksp);\n // }\n\n public async solve(\n state: KState,\n stage1DepthLimit: number = DEFAULT_STAGE1_DEPTH_LIMIT,\n quantumMoveOrder?: (quantumMove: QuantumMove) => number,\n ): Promise<Alg> {\n const transformation = state.experimentalToTransformation();\n if (!transformation) {\n throw new Error(\n \"distinguishable pieces are not supported in tremble solver yt\",\n );\n }\n let bestAlg: Alg | null = null;\n let bestLen = 1000000;\n const recur = (\n recursiveTransformation: KTransformation, // TODO: Support KStatq1\n togo: number,\n sofar: Alg,\n ) => {\n // console.log(\"recur\");\n if (togo === 0) {\n const sgsAlg = this.sgsPhaseSolve(recursiveTransformation, bestLen);\n if (!sgsAlg) {\n return;\n }\n // console.log(\"sgs done!\", sofar.toString(), \"|\", sgsAlg.toString());\n const newAlg = sofar.concat(sgsAlg).experimentalSimplify({\n cancel: { puzzleSpecificModWrap: \"canonical-centered\" },\n puzzleSpecificSimplifyOptions: { quantumMoveOrder },\n });\n\n const len = experimentalCountMoves(newAlg);\n if (bestAlg === null || len < bestLen) {\n if (DEBUG) {\n console.log(`New best (${len} moves): ${newAlg.toString()}`);\n console.log(`Tremble moves are: ${sofar.toString()}`);\n }\n bestAlg = newAlg;\n bestLen = len;\n }\n return;\n }\n for (const searchMove of this.searchMoves) {\n recur(\n recursiveTransformation.applyTransformation(\n searchMove.transformation,\n ),\n togo - 1,\n sofar.concat([searchMove.move]),\n );\n }\n };\n for (let d = 0; d <= stage1DepthLimit; d++) {\n recur(transformation, d, new Alg());\n }\n if (bestAlg === null) {\n throw new Error(\"SGS search failed.\");\n }\n return bestAlg;\n }\n\n private sgsPhaseSolve(\n initialTransformation: KTransformation, // TODO: Handle KState\n bestLenSofar: number,\n ): Alg | null {\n // const pieceNames = \"UFR URB UBL ULF DRF DFL DLB DBR\".split(\" \");\n\n // function loggo(s: string) {\n // // console.warn(s);\n // // document.body.appendChild(document.createElement(\"div\")).textContent = s;\n // }\n\n // console.log(\"sgsPhaseSolve\");\n const algBuilder = new AlgBuilder();\n let transformation = initialTransformation;\n for (const step of this.sgs.ordering) {\n const cubieSeq = step.pieceOrdering;\n let key = \"\";\n const inverseTransformation = transformation.invert();\n for (let i = 0; i < cubieSeq.length; i++) {\n const loc = cubieSeq[i];\n const orbitName = loc.orbitName;\n const idx = loc.permutationIdx;\n key += ` ${inverseTransformation.transformationData[orbitName].permutation[idx]} ${inverseTransformation.transformationData[orbitName].orientation[idx]}`;\n }\n // console.log(key, step.lookup);\n const info = step.lookup[key];\n if (!info) {\n throw new Error(\"Missing algorithm in sgs or esgs?\");\n }\n algBuilder.experimentalPushAlg(info.alg);\n if (algBuilder.experimentalNumAlgNodes() >= bestLenSofar) {\n return null;\n }\n transformation = transformation.applyTransformation(info.transformation);\n if (DOUBLECHECK_PLACED_PIECES) {\n for (let i = 0; i < cubieSeq.length; i++) {\n const location = cubieSeq[i];\n const orbitName = location.orbitName;\n const idx = location.permutationIdx;\n if (\n transformation.transformationData[orbitName].permutation[idx] !==\n idx ||\n transformation.transformationData[orbitName].orientation[idx] !== 0\n ) {\n throw new Error(\"bad SGS :-(\");\n }\n }\n }\n }\n return algBuilder.toAlg();\n }\n}\n\nexport function randomStateFromSGS(\n kpuzzle: KPuzzle,\n sgs: SGSCachedData,\n): KState {\n let transformation = kpuzzle.identityTransformation();\n for (const step of sgs.ordering) {\n const sgsAction = randomChoice(Object.values(step.lookup));\n transformation = transformation.applyTransformation(\n sgsAction.transformation,\n );\n }\n return transformation.toKState();\n}\n", "import { from } from \"../../../../../../vendor/p-lazy/p-lazy\";\n\nexport const searchDynamicSideEvents = from<\n typeof import(\"./search-dynamic-sgs-side-events\")\n>(() => import(\"./search-dynamic-sgs-side-events\"));\n", "import type { Alg } from \"../../../alg\";\nimport {\n KPuzzle,\n KPuzzleDefinition,\n KTransformationData,\n} from \"../../../kpuzzle\";\nimport { from } from \"../../../vendor/p-lazy/p-lazy\";\n\nexport const twsearchPromise: Promise<\n typeof import(\"../../../vendor/twsearch\")\n> = from(async () => import(\"../../../vendor/twsearch\"));\n\nexport interface TwsearchOptions {\n moveSubset?: string[];\n startState?: KTransformationData;\n minDepth?: number;\n maxDepth?: number;\n}\n\nlet existingPuzzleDefString: undefined | string;\n\nfunction mustBeNaturalNumber(meaning: string, n: number): void {\n if (typeof n !== \"number\" || !Number.isInteger(n) || n < 0) {\n throw new Error(`Invalid ${meaning}: ${n}`);\n }\n}\n\nexport async function solveTwsearch(\n def: KPuzzleDefinition,\n stateData: KTransformationData,\n options?: TwsearchOptions,\n): Promise<Alg> {\n const {\n setArg,\n setKPuzzleDefString,\n serializeDefToTws,\n solveState,\n serializeKTransformationDataToTws,\n } = await twsearchPromise;\n const kpuzzle = new KPuzzle(def);\n setArg(\"--startprunedepth 5\"); // TODO\n if (options) {\n let { minDepth, maxDepth } = options;\n if (typeof minDepth !== \"undefined\") {\n mustBeNaturalNumber(\"minDepth\", minDepth);\n if (typeof maxDepth !== \"undefined\") {\n mustBeNaturalNumber(\"maxDepth\", maxDepth);\n } else {\n maxDepth = 1000000;\n }\n\n setArg(\"--randomstart\");\n setArg(`--mindepth ${minDepth}`);\n setArg(`--maxdepth ${maxDepth}`);\n } else if (typeof maxDepth !== \"undefined\") {\n mustBeNaturalNumber(\"maxDepth\", maxDepth);\n setArg(\"--mindepth 0\");\n setArg(`--maxdepth ${maxDepth}`);\n }\n }\n\n const puzzleDefString = serializeDefToTws(kpuzzle, options);\n if (existingPuzzleDefString) {\n if (existingPuzzleDefString !== puzzleDefString) {\n throw new Error(\n \"Attempted to solve two puzzles in the same worker using `twsearch`. This is not currently supported!\",\n );\n }\n } else {\n existingPuzzleDefString = puzzleDefString;\n await setKPuzzleDefString(puzzleDefString);\n }\n\n return await solveState(\n serializeKTransformationDataToTws(\"SearchState\", stateData, true),\n );\n}\n", "import { from } from \"../../../../../../vendor/p-lazy/p-lazy\";\n\nexport const dynamic4x4x4Solver = from<\n typeof import(\"./search-dynamic-solve-4x4x4\")\n>(() => import(\"./search-dynamic-solve-4x4x4\"));\n", "import type { Alg } from \"../../../../alg\";\nimport { addOrientationSuffix } from \"../addOrientationSuffix\";\nimport { dynamic4x4x4Solver } from \"./dynamic/4x4x4\";\n\nconst randomSuffixes = [\n [null, \"x\", \"x2\", \"x'\", \"z\", \"z'\"],\n [null, \"y\", \"y2\", \"y'\"],\n];\n\nexport async function initialize444(): Promise<void> {\n return (await dynamic4x4x4Solver).initialize();\n}\n\nexport async function random444Scramble(): Promise<Alg> {\n return (await dynamic4x4x4Solver).random444Scramble();\n}\n\nexport async function random444OrientedScramble(): Promise<Alg> {\n return addOrientationSuffix(await random444Scramble(), randomSuffixes);\n}\n", "import { Alg, AlgBuilder, Move, QuantumMove } from \"../../../../alg\";\nimport { randomChoice, randomUIntBelow } from \"random-uint-below\";\n\nfunction numMoves(n: number): number {\n switch (n) {\n case 5:\n return 60;\n case 6:\n return 80;\n default:\n return 100;\n }\n}\n\nconst axesFaces = [\n [\"U\", \"D\"],\n [\"L\", \"R\"],\n [\"F\", \"B\"],\n];\nconst axesMovesCache: Map<number, QuantumMove[][]> = new Map();\nfunction cachedAxesMoves(n: number): QuantumMove[][] {\n const existing = axesMovesCache.get(n);\n if (existing) {\n return existing;\n }\n const axesMoves = [];\n for (const faces of axesFaces) {\n const axisMoveFamilies: QuantumMove[] = [];\n axesMoves.push(axisMoveFamilies);\n\n for (const face of faces) {\n axisMoveFamilies.push(new QuantumMove(face));\n if (n > 3) {\n axisMoveFamilies.push(new QuantumMove(`${face}w`));\n }\n for (let i = 3; i <= n / 2; i++) {\n axisMoveFamilies.push(new QuantumMove(`${face}w`, i));\n }\n }\n }\n axesMovesCache.set(n, axesMoves);\n return axesMoves;\n}\n\n// TODO: Document this algorithm and compare to TNoodle.\nexport async function bigCubeRandomMoves(n: number): Promise<Alg> {\n const axesMoves = cachedAxesMoves(n);\n\n const cachedNumMoves = numMoves(n);\n const algBuilder = new AlgBuilder();\n let currentAxisIdx = 0;\n const currentAxisQuantumMoves = new Set();\n while (algBuilder.experimentalNumAlgNodes() < cachedNumMoves) {\n const newAxisIdx = randomUIntBelow(3);\n if (newAxisIdx !== currentAxisIdx) {\n currentAxisQuantumMoves.clear();\n }\n currentAxisIdx = newAxisIdx;\n\n const quantumMove = randomChoice(axesMoves[currentAxisIdx]);\n const quantumMoveStr = quantumMove.toString();\n if (currentAxisQuantumMoves.has(quantumMoveStr)) {\n // Skip duplicates and resample with replacement.\n continue;\n }\n currentAxisQuantumMoves.add(quantumMoveStr);\n algBuilder.push(new Move(quantumMove, randomChoice([1, 2, -1])));\n }\n\n return algBuilder.toAlg();\n}\n", "import type { Alg } from \"../../../../alg\";\nimport { addOrientationSuffix } from \"../addOrientationSuffix\";\nimport { bigCubeRandomMoves } from \"./big-cubes\";\n\nconst randomSuffixes = [\n [null, \"3Rw\", \"3Rw2\", \"3Rw'\", \"3Fw\", \"3Fw'\"],\n [null, \"3Dw\", \"3Dw2\", \"3Dw'\"],\n];\n\nexport async function oriented555RandomMoves(): Promise<Alg> {\n return addOrientationSuffix(await bigCubeRandomMoves(5), randomSuffixes);\n}\n", "import { from } from \"../../../../../../vendor/p-lazy/p-lazy\";\n\nexport const dynamicFTOSolver = from<\n typeof import(\"./search-dynamic-solve-fto\")\n>(() => import(\"./search-dynamic-solve-fto\"));\n", "import { Alg } from \"../../../../alg\";\nimport type { KState } from \"../../../../kpuzzle/KState\";\nimport { puzzles } from \"../../../../puzzles\";\nimport { from } from \"../../../../vendor/p-lazy/p-lazy\";\nimport { mustBeInsideWorker } from \"../../inside-worker\";\nimport type { SGSCachedData } from \"../parseSGS\";\nimport { TrembleSolver } from \"../tremble\";\nimport { dynamicFTOSolver } from \"./dynamic/fto\";\n\nconst dynamic = from<\n typeof import(\"./dynamic/sgs-unofficial/search-dynamic-sgs-unofficial\")\n>(() => import(\"./dynamic/sgs-unofficial/search-dynamic-sgs-unofficial\"));\n\nconst TREMBLE_DEPTH = 3;\n\nlet cachedTrembleSolver: Promise<TrembleSolver> | null = null;\nasync function getCachedTrembleSolver(): Promise<TrembleSolver> {\n return (\n cachedTrembleSolver ||\n (cachedTrembleSolver = (async (): Promise<TrembleSolver> => {\n const json: SGSCachedData = await (await dynamic).sgsDataFTO();\n return new TrembleSolver(await puzzles[\"fto\"].kpuzzle(), json, [\n \"U\",\n \"R\",\n \"F\",\n \"L\",\n \"D\",\n \"B\",\n \"BR\",\n \"BL\",\n ]);\n })())\n );\n}\n\nexport async function preInitializeFTO(): Promise<void> {\n await getCachedTrembleSolver();\n}\n\n// TODO: centers\nexport async function solveFTO(state: KState): Promise<Alg> {\n mustBeInsideWorker();\n const trembleSolver = await getCachedTrembleSolver();\n const alg = await trembleSolver.solve(\n state,\n TREMBLE_DEPTH,\n () => 3, // TODO: Attach quantum move order lookup to puzzle.\n );\n return alg;\n}\n\nexport async function randomFTOScramble(): Promise<Alg> {\n mustBeInsideWorker();\n return new Alg(await (await dynamicFTOSolver).randomFTOScrambleString());\n}\n", "import { from } from \"../../../../../../vendor/p-lazy/p-lazy\";\n\nexport const dynamicKilominxSolver = from<\n typeof import(\"./search-dynamic-solve-kilominx\")\n>(() => import(\"./search-dynamic-solve-kilominx\"));\n", "import type { Alg } from \"../../../../alg\";\nimport { mustBeInsideWorker } from \"../../inside-worker\";\nimport { dynamicKilominxSolver } from \"./dynamic/kilominx\";\n\nexport async function randomKilominxScramble(): Promise<Alg> {\n mustBeInsideWorker();\n return (await dynamicKilominxSolver).getRandomKilominxScramble();\n}\n", "import { from } from \"../../../../../../vendor/p-lazy/p-lazy\";\n\nexport const dynamicMasterTetraminxSolver = from<\n typeof import(\"./search-dynamic-solve-master_tetraminx\")\n>(() => import(\"./search-dynamic-solve-master_tetraminx\"));\n", "import { Alg } from \"../../../../alg\";\nimport { mustBeInsideWorker } from \"../../inside-worker\";\nimport { dynamicMasterTetraminxSolver } from \"./dynamic/master_tetraminx\";\n\nexport async function randomMasterTetraminxScramble(): Promise<Alg> {\n mustBeInsideWorker();\n return new Alg(\n await (\n await dynamicMasterTetraminxSolver\n ).randomMasterTetraminxScrambleString(),\n );\n}\n", "import type { Alg } from \"../../../../alg\";\nimport type { KStateData } from \"../../../../kpuzzle\";\nimport { KState } from \"../../../../kpuzzle\";\nimport { mustBeInsideWorker } from \"../../inside-worker\";\nimport type { SGSCachedData } from \"../parseSGS\";\nimport { TrembleSolver } from \"../tremble\";\nimport { searchDynamicSideEvents } from \"./dynamic/sgs-side-events\";\n\nconst TREMBLE_DEPTH = 2;\n\nlet cachedTrembleSolver: Promise<TrembleSolver> | null = null;\nasync function getCachedTrembleSolver(): Promise<TrembleSolver> {\n return (\n cachedTrembleSolver ||\n (cachedTrembleSolver = (async (): Promise<TrembleSolver> => {\n const json: SGSCachedData = await (\n await searchDynamicSideEvents\n ).cachedSGSDataMegaminx();\n return new TrembleSolver(\n await (await searchDynamicSideEvents).cachedMegaminxKPuzzleWithoutMO(),\n json,\n [\"U\", \"R\", \"F\", \"L\", \"BR\", \"BL\", \"FR\", \"FL\", \"DR\", \"DL\", \"B\", \"D\"],\n );\n })())\n );\n}\n\nexport async function preInitializeMegaminx(): Promise<void> {\n await getCachedTrembleSolver();\n}\n\n// TODO: centers\nexport async function solveMegaminx(state: KState): Promise<Alg> {\n mustBeInsideWorker();\n const trembleSolver = await getCachedTrembleSolver();\n const stateDataWithoutMO: KStateData = JSON.parse(\n JSON.stringify(state.stateData),\n );\n stateDataWithoutMO.CENTERS.orientation = new Array(12).fill(0);\n const stateWithoutMO = new KState(\n await (await searchDynamicSideEvents).cachedMegaminxKPuzzleWithoutMO(),\n stateDataWithoutMO,\n );\n const alg = await trembleSolver.solve(\n stateWithoutMO,\n TREMBLE_DEPTH,\n () => 5, // TODO: Attach quantum move order lookup to puzzle.\n );\n return alg;\n}\n", "import type { Alg } from \"../../../../alg\";\nimport type { KState } from \"../../../../kpuzzle/KState\";\nimport { puzzles } from \"../../../../puzzles\";\nimport { mustBeInsideWorker } from \"../../inside-worker\";\nimport type { SGSCachedData } from \"../parseSGS\";\nimport { randomStateFromSGS, TrembleSolver } from \"../tremble\";\nimport { searchDynamicSideEvents } from \"./dynamic/sgs-side-events\";\n\nconst TREMBLE_DEPTH = 3;\n\nlet cachedTrembleSolver: Promise<TrembleSolver> | null = null;\nasync function getCachedTrembleSolver(): Promise<TrembleSolver> {\n return (\n cachedTrembleSolver ||\n (cachedTrembleSolver = (async (): Promise<TrembleSolver> => {\n const json: SGSCachedData = await (\n await searchDynamicSideEvents\n ).sgsDataPyraminx();\n return new TrembleSolver(\n await puzzles.pyraminx.kpuzzle(),\n json,\n \"RLUB\".split(\"\"),\n );\n })())\n );\n}\n\nexport async function preInitializePyraminx(): Promise<void> {\n await getCachedTrembleSolver();\n}\n\nexport async function solvePyraminx(state: KState): Promise<Alg> {\n mustBeInsideWorker();\n const trembleSolver = await getCachedTrembleSolver();\n const alg = await trembleSolver.solve(state, TREMBLE_DEPTH, () => 3); // TODO: Attach quantum move order lookup to puzzle.\n return alg;\n}\n\nexport async function randomPyraminxStateFixedOrientation(): Promise<KState> {\n mustBeInsideWorker();\n // Note: this sets all center orientations to 0.\n return randomStateFromSGS(\n await puzzles.pyraminx.kpuzzle(),\n await (await searchDynamicSideEvents).sgsDataPyraminxFixedOrientation(),\n );\n}\n\nexport async function randomPyraminxScrambleFixedOrientation(): Promise<Alg> {\n return solvePyraminx(await randomPyraminxStateFixedOrientation());\n}\n", "import { from } from \"../../../../../../vendor/p-lazy/p-lazy\";\n\nexport const searchDynamicUnofficial = from<\n typeof import(\"./search-dynamic-sgs-unofficial\")\n>(() => import(\"./search-dynamic-sgs-unofficial\"));\n", "import type { Alg } from \"../../../../alg\";\nimport { mustBeInsideWorker } from \"../../inside-worker\";\nimport { searchDynamicUnofficial } from \"./dynamic/sgs-unofficial\";\n\nexport async function randomRediCubeScramble(): Promise<Alg> {\n mustBeInsideWorker();\n return (await searchDynamicUnofficial).getRandomRediCubeScramble();\n}\n", "import type { Alg, QuantumMove } from \"../../../../alg\";\nimport { KState } from \"../../../../kpuzzle\";\nimport { mustBeInsideWorker } from \"../../inside-worker\";\nimport type { SGSCachedData } from \"../parseSGS\";\nimport { randomStateFromSGS, TrembleSolver } from \"../tremble\";\nimport { searchDynamicSideEvents } from \"./dynamic/sgs-side-events\";\n\nconst TREMBLE_DEPTH = 3;\n\nlet cachedTrembleSolver: Promise<TrembleSolver> | null = null;\nasync function getCachedTrembleSolver(): Promise<TrembleSolver> {\n return (\n cachedTrembleSolver ||\n (cachedTrembleSolver = (async (): Promise<TrembleSolver> => {\n const json: SGSCachedData = await (\n await searchDynamicSideEvents\n ).sgsDataSkewb();\n return new TrembleSolver(\n await (await searchDynamicSideEvents).skewbKPuzzleWithoutMOCached(),\n json,\n \"RLUB\".split(\"\"),\n );\n })())\n );\n}\n\nexport async function preInitializeSkewb(): Promise<void> {\n await getCachedTrembleSolver();\n}\n\nasync function resetCenterOrientation(state: KState): Promise<KState> {\n return new KState(\n await (await searchDynamicSideEvents).skewbKPuzzleWithoutMOCached(),\n {\n CORNERS: state.stateData.CORNERS,\n CENTERS: {\n pieces: state.stateData.CENTERS.pieces,\n orientation: new Array(6).fill(0),\n },\n },\n );\n}\n\n// TODO: fix def consistency.\nexport async function solveSkewb(state: KState): Promise<Alg> {\n mustBeInsideWorker();\n const trembleSolver = await getCachedTrembleSolver();\n const alg = await trembleSolver.solve(\n await resetCenterOrientation(state),\n TREMBLE_DEPTH,\n (quantumMove: QuantumMove) => (quantumMove.family === \"y\" ? 4 : 3), // TODO: Attach quantum move order lookup to puzzle.\n );\n return alg;\n}\n\nexport async function randomSkewbFixedCornerState(): Promise<KState> {\n // Note: this sets all center orientations to 0.\n return randomStateFromSGS(\n await (await searchDynamicSideEvents).skewbKPuzzleWithoutMOCached(),\n await (await searchDynamicSideEvents).sgsDataSkewbFixedCorner(),\n );\n}\n\nexport async function randomSkewbFixedCornerScramble(): Promise<Alg> {\n return solveSkewb(await randomSkewbFixedCornerState());\n}\n", "import { from } from \"../../../../../../vendor/p-lazy/p-lazy\";\n\nexport const dynamicSq1Solver = from<\n typeof import(\"./search-dynamic-solve-sq1\")\n>(() => import(\"./search-dynamic-solve-sq1\"));\n", "import { Alg } from \"../../../../alg\";\nimport { dynamicSq1Solver } from \"./dynamic/sq1\";\n\nexport async function getRandomSquare1Scramble(): Promise<Alg> {\n return Alg.fromString(\n await (await dynamicSq1Solver).getRandomSquare1ScrambleString(),\n );\n}\n", "import type { Alg } from \"../../alg\";\nimport {\n KPuzzleDefinition,\n KState,\n KStateData,\n KTransformationData,\n} from \"../../kpuzzle\";\nimport { puzzles } from \"../../puzzles\";\nimport { setIsInsideWorker } from \"./inside-worker\";\nimport {\n preInitialize222,\n random222Scramble,\n solve222HTMSubOptimal,\n} from \"./solve/puzzles/2x2x2\";\nimport {\n initialize333,\n random333FewestMovesScramble,\n random333OrientedScramble,\n random333Scramble,\n solve333,\n} from \"./solve/puzzles/3x3x3\";\nimport {\n initialize444,\n random444OrientedScramble,\n random444Scramble,\n} from \"./solve/puzzles/4x4x4\";\nimport { oriented555RandomMoves } from \"./solve/puzzles/5x5x5\";\nimport { bigCubeRandomMoves } from \"./solve/puzzles/big-cubes\";\nimport { randomFTOScramble } from \"./solve/puzzles/fto\";\nimport { randomKilominxScramble } from \"./solve/puzzles/kilominx\";\nimport { randomMasterTetraminxScramble } from \"./solve/puzzles/master_tetraminx\";\nimport { solveMegaminx } from \"./solve/puzzles/megaminx\";\nimport {\n randomPyraminxScrambleFixedOrientation,\n solvePyraminx,\n} from \"./solve/puzzles/pyraminx\";\nimport { randomRediCubeScramble } from \"./solve/puzzles/redi_cube\";\nimport {\n randomSkewbFixedCornerScramble,\n solveSkewb,\n} from \"./solve/puzzles/skewb\";\nimport { getRandomSquare1Scramble } from \"./solve/puzzles/sq1\";\nimport { solveTwsearch, TwsearchOptions } from \"./solve/twsearch\";\n\nconst IDLE_PREFETCH_TIMEOUT_MS = 1000;\n\nsetIsInsideWorker(true);\n\nlet DEBUG_MEASURE_PERF = true;\nexport function setDebugMeasurePerf(newDebugMeasurePerf: boolean): void {\n DEBUG_MEASURE_PERF = newDebugMeasurePerf;\n}\n\nfunction now() {\n return (typeof performance === \"undefined\" ? Date : performance).now();\n}\n\nasync function measurePerf<T>(\n name: string,\n f: () => T | Promise<T>,\n options?: { isPrefetch?: boolean },\n): Promise<T> {\n if (!DEBUG_MEASURE_PERF) {\n return f();\n }\n\n const start = now();\n const result = f();\n if ((result as any)?.then) {\n await result;\n }\n const end = now();\n console.warn(\n `${name}${options?.isPrefetch ? \" (prefetched)\" : \"\"}: ${Math.round(\n end - start,\n )}ms`,\n );\n return result;\n}\n\nconst prefetchPromises: Map<string, Promise<Alg>> = new Map();\n// This would just be a number, except `node` is extremely silly and returns an object instead.\n// https://nodejs.org/api/timers.html#settimeoutcallback-delay-args\nlet queuedPrefetchTimeoutID: ReturnType<typeof setTimeout> | null = null;\n\nasync function randomScrambleForEvent(\n eventID: string,\n options?: { isPrefetch?: boolean },\n): Promise<Alg> {\n switch (eventID) {\n case \"222\":\n return measurePerf(\"random222Scramble\", random222Scramble, {\n isPrefetch: options?.isPrefetch,\n });\n case \"333\":\n case \"333oh\":\n case \"333ft\":\n return measurePerf(\"random333Scramble\", random333Scramble, {\n isPrefetch: options?.isPrefetch,\n });\n case \"333fm\":\n return measurePerf(\n \"random333FewestMovesScramble\",\n random333FewestMovesScramble,\n );\n case \"333bf\":\n case \"333mb\":\n return measurePerf(\n \"random333OrientedScramble\",\n random333OrientedScramble,\n );\n case \"444\":\n return measurePerf(\"random444Scramble\", random444Scramble, {\n isPrefetch: options?.isPrefetch,\n });\n case \"444bf\":\n return measurePerf(\n \"random444OrientedScramble\",\n random444OrientedScramble,\n );\n case \"555\":\n return measurePerf(\n \"bigCubeScramble(5)\",\n bigCubeRandomMoves.bind(bigCubeRandomMoves, 5),\n );\n case \"555bf\":\n return measurePerf(\"oriented555RandomMoves\", oriented555RandomMoves);\n case \"666\":\n return measurePerf(\n \"bigCubeScramble(6)\",\n bigCubeRandomMoves.bind(bigCubeRandomMoves, 6),\n );\n case \"777\":\n return measurePerf(\n \"bigCubeScramble(7)\",\n bigCubeRandomMoves.bind(bigCubeRandomMoves, 7),\n );\n case \"skewb\":\n return measurePerf(\n \"randomSkewbFixedCornerScramble\",\n randomSkewbFixedCornerScramble,\n );\n case \"pyram\":\n return measurePerf(\n \"randomPyraminxScrambleFixedOrientation\",\n randomPyraminxScrambleFixedOrientation,\n );\n case \"sq1\":\n return measurePerf(\"getRandomSquare1Scramble\", getRandomSquare1Scramble, {\n isPrefetch: options?.isPrefetch,\n });\n case \"fto\":\n return measurePerf(\"randomFTOScramble\", randomFTOScramble, {\n isPrefetch: options?.isPrefetch,\n });\n case \"master_tetraminx\":\n return measurePerf(\n \"randomMasterTetraminxScramble\",\n randomMasterTetraminxScramble,\n );\n case \"kilominx\":\n return measurePerf(\"randomKilominxScramble\", randomKilominxScramble, {\n isPrefetch: options?.isPrefetch,\n });\n case \"redi_cube\":\n return measurePerf(\"randomRediCubeScramble\", randomRediCubeScramble, {\n isPrefetch: options?.isPrefetch,\n });\n default:\n throw new Error(`unsupported event: ${eventID}`);\n }\n}\n\nexport enum PrefetchLevel {\n Auto = \"auto\",\n None = \"none\",\n Immediate = \"immediate\",\n}\n\nlet currentPrefetchLevel = PrefetchLevel.Auto;\n\nexport const insideAPI = {\n initialize: async (eventID: string) => {\n switch (eventID) {\n case \"222\":\n return measurePerf(\"preInitialize222\", preInitialize222);\n case \"333\":\n case \"333oh\":\n case \"333ft\":\n return measurePerf(\"initialize333\", initialize333);\n case \"444\":\n return measurePerf(\"initialize444\", initialize444);\n default:\n throw new Error(`unsupported event: ${eventID}`);\n }\n },\n\n setScramblePrefetchLevel(prefetchLevel: `${PrefetchLevel}`) {\n currentPrefetchLevel = prefetchLevel as PrefetchLevel;\n },\n\n randomScrambleForEvent: async (eventID: string): Promise<Alg> => {\n let promise = prefetchPromises.get(eventID);\n if (promise) {\n prefetchPromises.delete(eventID);\n } else {\n promise = randomScrambleForEvent(eventID);\n }\n if (currentPrefetchLevel !== PrefetchLevel.None) {\n promise.then(() => {\n // `queuedPrefetch` could be 0, but:\n // > Passing an invalid ID to clearTimeout() silently does nothing; no exception is thrown.\n // https://developer.mozilla.org/en-US/docs/Web/API/clearTimeout#notes\n if (queuedPrefetchTimeoutID) {\n clearTimeout(queuedPrefetchTimeoutID);\n }\n queuedPrefetchTimeoutID = setTimeout(\n () => {\n prefetchPromises.set(\n eventID,\n randomScrambleForEvent(eventID, {\n isPrefetch: true,\n }),\n );\n },\n currentPrefetchLevel === PrefetchLevel.Immediate\n ? 0\n : IDLE_PREFETCH_TIMEOUT_MS,\n );\n });\n }\n return promise;\n },\n\n randomScrambleStringForEvent: async (eventID: string): Promise<string> => {\n return (await insideAPI.randomScrambleForEvent(eventID)).toString();\n },\n\n solve333ToString: async (stateData: KStateData): Promise<string> => {\n const state = new KState(await puzzles[\"3x3x3\"].kpuzzle(), stateData);\n return (await solve333(state)).toString();\n },\n\n solve222ToString: async (stateData: KStateData): Promise<string> => {\n const state = new KState(await puzzles[\"2x2x2\"].kpuzzle(), stateData);\n return (await solve222HTMSubOptimal(state)).toString();\n },\n\n solveSkewbToString: async (stateData: KStateData): Promise<string> => {\n const state = new KState(await puzzles[\"skewb\"].kpuzzle(), stateData);\n return (await solveSkewb(state)).toString();\n },\n\n solvePyraminxToString: async (stateData: KStateData): Promise<string> => {\n const state = new KState(await puzzles[\"pyraminx\"].kpuzzle(), stateData);\n return (await solvePyraminx(state)).toString();\n },\n\n solveMegaminxToString: async (stateData: KStateData): Promise<string> => {\n const state = new KState(await puzzles[\"megaminx\"].kpuzzle(), stateData);\n return (await solveMegaminx(state)).toString();\n },\n\n setDebugMeasurePerf: async (measure: boolean): Promise<void> => {\n setDebugMeasurePerf(measure);\n },\n\n solveTwsearchToString: async (\n def: KPuzzleDefinition,\n stateData: KTransformationData,\n options?: TwsearchOptions,\n ): Promise<string> => {\n return (await solveTwsearch(def, stateData, options)).toString();\n },\n};\n\nexport type WorkerInsideAPI = typeof insideAPI;\n"],
5
- "mappings": "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",
6
- "names": ["randomChoice", "randomUIntBelow", "randomSuffixes", "cachedTrembleSolver", "getCachedTrembleSolver", "getCachedTrembleSolver", "TREMBLE_DEPTH", "cachedTrembleSolver", "getCachedTrembleSolver", "getCachedTrembleSolver", "TREMBLE_DEPTH", "TREMBLE_DEPTH", "cachedTrembleSolver", "getCachedTrembleSolver", "getCachedTrembleSolver", "TREMBLE_DEPTH"]
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/cubing/vendor/min2phase/3x3x3-min2phase.js"],
4
- "sourcesContent": ["var $intern_3 = { 3: 1 };\nvar $intern_9 = 4194303;\nvar $intern_10 = 1048575;\nvar $intern_11 = 524288;\nvar $intern_20 = 65535;\nvar $intern_26 = { 11: 1, 3: 1 };\nvar $intern_27 = { 17: 1, 3: 1 };\nvar $intern_28 = 14540032;\nvar $intern_29 = 286331153;\nvar $intern_30 = { 10: 1, 3: 1 };\nvar _;\nvar prototypesByTypeId_0 = {};\nfunction typeMarkerFn() {}\n\nfunction portableObjCreate(obj) {\n function F() {}\n\n F.prototype = obj || {};\n return new F();\n}\n\nfunction maybeGetClassLiteralFromPlaceHolder_0(entry) {\n return entry instanceof Array ? entry[0] : null;\n}\n\nfunction defineClass(typeId, superTypeId, castableTypeMap) {\n var prototypesByTypeId = prototypesByTypeId_0;\n var createSubclassPrototype = createSubclassPrototype_0;\n var maybeGetClassLiteralFromPlaceHolder =\n maybeGetClassLiteralFromPlaceHolder_0;\n var prototype_0 = prototypesByTypeId[typeId];\n var clazz = maybeGetClassLiteralFromPlaceHolder(prototype_0);\n if (prototype_0 && !clazz) {\n _ = prototype_0;\n } else {\n _ = prototypesByTypeId[typeId] = !superTypeId\n ? {}\n : createSubclassPrototype(superTypeId);\n _.castableTypeMap$ = castableTypeMap;\n _.constructor = _;\n !superTypeId && (_.typeMarker$ = typeMarkerFn);\n }\n // rome-ignore lint(correctness/noArguments): Legacy code\n for (var i = 3; i < arguments.length; ++i) {\n // rome-ignore lint(correctness/noArguments): Legacy code\n arguments[i].prototype = _;\n }\n clazz && (_.___clazz$ = clazz);\n}\n\nfunction createSubclassPrototype_0(superTypeId) {\n var prototypesByTypeId = prototypesByTypeId_0;\n return portableObjCreate(prototypesByTypeId[superTypeId]);\n}\n\nfunction Object_0() {}\n\ndefineClass(1, null, {}, Object_0);\n\nfunction narrow_byte(x_0) {\n return (x_0 << 24) >> 24;\n}\n\nfunction Class() {\n this.typeName = null;\n this.simpleName = null;\n this.packageName = null;\n this.compoundName = null;\n this.canonicalName = null;\n this.typeId = null;\n this.arrayLiterals = null;\n}\n\nfunction createClassObject(packageName, compoundClassName) {\n var clazz;\n clazz = new Class();\n clazz.packageName = packageName;\n clazz.compoundName = compoundClassName;\n return clazz;\n}\n\nfunction createForClass(packageName, compoundClassName, typeId) {\n var clazz;\n clazz = createClassObject(packageName, compoundClassName);\n maybeSetClassLiteral(typeId, clazz);\n return clazz;\n}\n\nfunction createForInterface(packageName, compoundClassName) {\n var clazz;\n clazz = createClassObject(packageName, compoundClassName);\n clazz.modifiers = 2;\n return clazz;\n}\n\nfunction createForPrimitive(className, primitiveTypeId) {\n var clazz;\n clazz = createClassObject(\"\", className);\n clazz.typeId = primitiveTypeId;\n clazz.modifiers = 1;\n return clazz;\n}\n\nfunction getClassLiteralForArray_0(leafClass, dimensions) {\n var arrayLiterals = (leafClass.arrayLiterals = leafClass.arrayLiterals || []);\n return (\n arrayLiterals[dimensions] ||\n (arrayLiterals[dimensions] =\n leafClass.createClassLiteralForArray(dimensions))\n );\n}\n\nfunction getPrototypeForClass(clazz) {\n if (clazz.isPrimitive()) {\n return null;\n }\n var typeId = clazz.typeId;\n var prototype_0 = prototypesByTypeId_0[typeId];\n return prototype_0;\n}\n\nfunction maybeSetClassLiteral(typeId, clazz) {\n if (!typeId) {\n return;\n }\n clazz.typeId = typeId;\n var prototype_0 = getPrototypeForClass(clazz);\n if (!prototype_0) {\n prototypesByTypeId_0[typeId] = [clazz];\n return;\n }\n prototype_0.___clazz$ = clazz;\n}\n\ndefineClass(79, 1, {}, Class);\n_.createClassLiteralForArray = function createClassLiteralForArray(dimensions) {\n var clazz;\n clazz = new Class();\n clazz.modifiers = 4;\n dimensions > 1\n ? (clazz.componentType = getClassLiteralForArray_0(this, dimensions - 1))\n : (clazz.componentType = this);\n return clazz;\n};\n_.isPrimitive = function isPrimitive() {\n return (this.modifiers & 1) !== 0;\n};\n\nfunction getClassLiteralForArray(clazz, dimensions) {\n return getClassLiteralForArray_0(clazz, dimensions);\n}\n\nfunction initDim(\n leafClassLiteral,\n castableTypeMap,\n elementTypeId,\n length_0,\n elementTypeCategory,\n dimensions,\n) {\n var result;\n result = initializeArrayElementsWithDefaults(elementTypeCategory, length_0);\n initValues(\n getClassLiteralForArray(leafClassLiteral, dimensions),\n castableTypeMap,\n elementTypeId,\n elementTypeCategory,\n result,\n );\n return result;\n}\n\nfunction initDims(\n leafClassLiteral,\n castableTypeMapExprs,\n elementTypeIds,\n leafElementTypeCategory,\n dimExprs,\n count,\n) {\n return initDims_0(\n leafClassLiteral,\n castableTypeMapExprs,\n elementTypeIds,\n leafElementTypeCategory,\n dimExprs,\n 0,\n count,\n );\n}\n\nfunction initDims_0(\n leafClassLiteral,\n castableTypeMapExprs,\n elementTypeIds,\n leafElementTypeCategory,\n dimExprs,\n index_0,\n count,\n) {\n var elementTypeCategory;\n var i;\n var isLastDim;\n var length_0;\n var result;\n length_0 = dimExprs[index_0];\n isLastDim = index_0 === count - 1;\n elementTypeCategory = isLastDim ? leafElementTypeCategory : 0;\n result = initializeArrayElementsWithDefaults(elementTypeCategory, length_0);\n initValues(\n getClassLiteralForArray(leafClassLiteral, count - index_0),\n castableTypeMapExprs[index_0],\n elementTypeIds[index_0],\n elementTypeCategory,\n result,\n );\n if (!isLastDim) {\n ++index_0;\n for (i = 0; i < length_0; ++i) {\n result[i] = initDims_0(\n leafClassLiteral,\n castableTypeMapExprs,\n elementTypeIds,\n leafElementTypeCategory,\n dimExprs,\n index_0,\n count,\n );\n }\n }\n return result;\n}\n\nfunction initValues(\n arrayClass,\n castableTypeMap,\n elementTypeId,\n elementTypeCategory,\n array,\n) {\n array.___clazz$ = arrayClass;\n array.castableTypeMap$ = castableTypeMap;\n array.typeMarker$ = typeMarkerFn;\n array.__elementTypeId$ = elementTypeId;\n array.__elementTypeCategory$ = elementTypeCategory;\n return array;\n}\n\nfunction initializeArrayElementsWithDefaults(elementTypeCategory, length_0) {\n var array = new Array(length_0);\n var initValue;\n switch (elementTypeCategory) {\n case 6: {\n initValue = { l: 0, m: 0, h: 0 };\n break;\n }\n case 7: {\n initValue = 0;\n break;\n }\n case 8: {\n initValue = false;\n break;\n }\n default:\n return array;\n }\n for (var i = 0; i < length_0; ++i) {\n array[i] = initValue;\n }\n return array;\n}\n\nfunction create(value_0) {\n var a0;\n var a1;\n var a2;\n a0 = value_0 & $intern_9;\n a1 = (value_0 >> 22) & $intern_9;\n a2 = value_0 < 0 ? $intern_10 : 0;\n return create0(a0, a1, a2);\n}\n\nfunction create0(l, m, h) {\n return { l: l, m: m, h: h };\n}\n\nfunction add_1(a, b) {\n var sum0;\n var sum1;\n var sum2;\n sum0 = a.l + b.l;\n sum1 = a.m + b.m + (sum0 >> 22);\n sum2 = a.h + b.h + (sum1 >> 22);\n return { l: sum0 & $intern_9, m: sum1 & $intern_9, h: sum2 & $intern_10 };\n}\n\nfunction and(a, b) {\n return { l: a.l & b.l, m: a.m & b.m, h: a.h & b.h };\n}\n\nfunction fromInt(value_0) {\n var rebase;\n var result;\n if (value_0 > -129 && value_0 < 128) {\n rebase = value_0 + 128;\n boxedValues == null &&\n (boxedValues = initDim(\n Lcom_google_gwt_lang_LongLibBase$LongEmul_2_classLit,\n $intern_3,\n 293,\n 256,\n 0,\n 1,\n ));\n result = boxedValues[rebase];\n !result && (result = boxedValues[rebase] = create(value_0));\n return result;\n }\n return create(value_0);\n}\n\nfunction gte(a, b) {\n var signa;\n var signb;\n signa = a.h >> 19;\n signb = b.h >> 19;\n return signa === 0\n ? signb !== 0 ||\n a.h > b.h ||\n (a.h === b.h && a.m > b.m) ||\n (a.h === b.h && a.m === b.m && a.l >= b.l)\n : !(\n signb === 0 ||\n a.h < b.h ||\n (a.h === b.h && a.m < b.m) ||\n (a.h === b.h && a.m === b.m && a.l < b.l)\n );\n}\n\nfunction neq(a, b) {\n return a.l !== b.l || a.m !== b.m || a.h !== b.h;\n}\n\nfunction or(a, b) {\n return { l: a.l | b.l, m: a.m | b.m, h: a.h | b.h };\n}\n\nfunction shl(a, n) {\n var res0;\n var res1;\n var res2;\n n &= 63;\n if (n < 22) {\n res0 = a.l << n;\n res1 = (a.m << n) | (a.l >> (22 - n));\n res2 = (a.h << n) | (a.m >> (22 - n));\n } else if (n < 44) {\n res0 = 0;\n res1 = a.l << (n - 22);\n res2 = (a.m << (n - 22)) | (a.l >> (44 - n));\n } else {\n res0 = 0;\n res1 = 0;\n res2 = a.l << (n - 44);\n }\n return { l: res0 & $intern_9, m: res1 & $intern_9, h: res2 & $intern_10 };\n}\n\nfunction shr(a, n) {\n var a2;\n var negative;\n var res0;\n var res1;\n var res2;\n n &= 63;\n a2 = a.h;\n negative = (a2 & $intern_11) !== 0;\n negative && (a2 |= -1048576);\n if (n < 22) {\n res2 = a2 >> n;\n res1 = (a.m >> n) | (a2 << (22 - n));\n res0 = (a.l >> n) | (a.m << (22 - n));\n } else if (n < 44) {\n res2 = negative ? $intern_10 : 0;\n res1 = a2 >> (n - 22);\n res0 = (a.m >> (n - 22)) | (a2 << (44 - n));\n } else {\n res2 = negative ? $intern_10 : 0;\n res1 = negative ? $intern_9 : 0;\n res0 = a2 >> (n - 44);\n }\n return { l: res0 & $intern_9, m: res1 & $intern_9, h: res2 & $intern_10 };\n}\n\nfunction sub_0(a, b) {\n var sum0;\n var sum1;\n var sum2;\n sum0 = a.l - b.l;\n sum1 = a.m - b.m + (sum0 >> 22);\n sum2 = a.h - b.h + (sum1 >> 22);\n return { l: sum0 & $intern_9, m: sum1 & $intern_9, h: sum2 & $intern_10 };\n}\n\nfunction toInt(a) {\n return a.l | (a.m << 22);\n}\n\nvar boxedValues;\n\nfunction AbstractStringBuilder(string) {\n this.string = string;\n}\n\nfunction max_0(x_0, y_0) {\n return x_0 > y_0 ? x_0 : y_0;\n}\n\nfunction min_0(x_0, y_0) {\n return x_0 < y_0 ? x_0 : y_0;\n}\n\nfunction $indexOf_0(this$static, str) {\n return this$static.indexOf(str);\n}\n\nfunction _String(value_0) {\n return __valueOf(value_0, 0, value_0.length);\n}\n\nfunction __valueOf(x_0, start_0, end) {\n var s = \"\";\n for (var batchStart = start_0; batchStart < end; ) {\n var batchEnd = Math.min(batchStart + 10000, end);\n s += String.fromCharCode.apply(null, x_0.slice(batchStart, batchEnd));\n batchStart = batchEnd;\n }\n return s;\n}\n\nfunction fromCodePoint(codePoint) {\n return String.fromCharCode(codePoint & $intern_20);\n}\n\nvar Ljava_lang_String_2_classLit = createForClass(\"java.lang\", \"String\", 2);\n\nfunction $append(this$static) {\n this$static.string += \" \";\n return this$static;\n}\n\nfunction $append_1(this$static, x_0) {\n this$static.string += x_0;\n return this$static;\n}\n\nfunction StringBuffer() {\n AbstractStringBuilder.call(this, \"\");\n}\n\nfunction equals_7(array1, array2) {\n var i;\n if (array1 === array2) {\n return true;\n }\n if (array1.length !== array2.length) {\n return false;\n }\n for (i = 0; i < array1.length; ++i) {\n if (array1[i] !== array2[i]) {\n return false;\n }\n }\n return true;\n}\n\nlet $clinit_CoordCube_ran = false;\nfunction $clinit_CoordCube() {\n if ($clinit_CoordCube_ran) {\n return;\n }\n $clinit_CoordCube_ran = true;\n UDSliceMove = initDims(\n C_classLit,\n [$intern_3, $intern_26],\n [11, 0],\n 7,\n [495, 18],\n 2,\n );\n TwistMove = initDims(\n C_classLit,\n [$intern_3, $intern_26],\n [11, 0],\n 7,\n [324, 18],\n 2,\n );\n FlipMove = initDims(\n C_classLit,\n [$intern_3, $intern_26],\n [11, 0],\n 7,\n [336, 18],\n 2,\n );\n UDSliceConj = initDims(\n C_classLit,\n [$intern_3, $intern_26],\n [11, 0],\n 7,\n [495, 8],\n 2,\n );\n UDSliceTwistPrun = initDim(I_classLit, $intern_27, 0, 20048, 7, 1);\n UDSliceFlipPrun = initDim(I_classLit, $intern_27, 0, 20791, 7, 1);\n TwistFlipPrun = initDim(I_classLit, $intern_27, 0, 82945, 7, 1);\n CPermMove = initDims(\n C_classLit,\n [$intern_3, $intern_26],\n [11, 0],\n 7,\n [2768, 10],\n 2,\n );\n EPermMove = initDims(\n C_classLit,\n [$intern_3, $intern_26],\n [11, 0],\n 7,\n [2768, 10],\n 2,\n );\n MPermMove = initDims(\n C_classLit,\n [$intern_3, $intern_26],\n [11, 0],\n 7,\n [24, 10],\n 2,\n );\n MPermConj = initDims(\n C_classLit,\n [$intern_3, $intern_26],\n [11, 0],\n 7,\n [24, 16],\n 2,\n );\n CCombPConj = initDims(\n C_classLit,\n [$intern_3, $intern_26],\n [11, 0],\n 7,\n [140, 16],\n 2,\n );\n MCPermPrun = initDim(I_classLit, $intern_27, 0, 8305, 7, 1);\n EPermCCombPPrun = initDim(I_classLit, $intern_27, 0, 48441, 7, 1);\n}\n\nfunction $doMovePrun(this$static, cc, m) {\n this$static.slice_0 = UDSliceMove[cc.slice_0][m];\n this$static.flip =\n FlipMove[cc.flip][($clinit_CubieCube(), Sym8Move)[(m << 3) | cc.fsym]];\n this$static.fsym = (this$static.flip & 7) ^ cc.fsym;\n this$static.flip >>= 3;\n this$static.twist = TwistMove[cc.twist][Sym8Move[(m << 3) | cc.tsym]];\n this$static.tsym = (this$static.twist & 7) ^ cc.tsym;\n this$static.twist >>= 3;\n this$static.prun = max_0(\n max_0(\n getPruning(\n UDSliceTwistPrun,\n this$static.twist * 495 +\n UDSliceConj[this$static.slice_0][this$static.tsym],\n ),\n getPruning(\n UDSliceFlipPrun,\n this$static.flip * 495 +\n UDSliceConj[this$static.slice_0][this$static.fsym],\n ),\n ),\n getPruning(\n TwistFlipPrun,\n (this$static.twist << 11) |\n FlipS2RF[\n (this$static.flip << 3) | (this$static.fsym ^ this$static.tsym)\n ],\n ),\n );\n return this$static.prun;\n}\n\nfunction $doMovePrunConj(this$static, cc, m) {\n m = ($clinit_CubieCube(), SymMove_0)[3][m];\n this$static.flipc =\n FlipMove[cc.flipc >> 3][Sym8Move[(m << 3) | (cc.flipc & 7)]] ^\n (cc.flipc & 7);\n this$static.twistc =\n TwistMove[cc.twistc >> 3][Sym8Move[(m << 3) | (cc.twistc & 7)]] ^\n (cc.twistc & 7);\n return getPruning(\n TwistFlipPrun,\n ((this$static.twistc >> 3) << 11) |\n FlipS2RF[this$static.flipc ^ (this$static.twistc & 7)],\n );\n}\n\nfunction $setWithPrun(this$static, cc, depth) {\n var pc;\n this$static.twist = ($clinit_CubieCube(), TwistR2S)[$getTwist(cc)];\n this$static.flip = FlipR2S[$getFlip(cc)];\n this$static.tsym = this$static.twist & 7;\n this$static.twist = this$static.twist >> 3;\n this$static.prun = getPruning(\n TwistFlipPrun,\n (this$static.twist << 11) | FlipS2RF[this$static.flip ^ this$static.tsym],\n );\n if (this$static.prun > depth) {\n return false;\n }\n this$static.fsym = this$static.flip & 7;\n this$static.flip = this$static.flip >> 3;\n this$static.slice_0 = 494 - getComb(cc.ea, 8, true);\n this$static.prun = max_0(\n this$static.prun,\n max_0(\n getPruning(\n UDSliceTwistPrun,\n this$static.twist * 495 +\n UDSliceConj[this$static.slice_0][this$static.tsym],\n ),\n getPruning(\n UDSliceFlipPrun,\n this$static.flip * 495 +\n UDSliceConj[this$static.slice_0][this$static.fsym],\n ),\n ),\n );\n if (this$static.prun > depth) {\n return false;\n }\n pc = new CubieCube();\n CornConjugate(cc, 1, pc);\n EdgeConjugate(cc, 1, pc);\n this$static.twistc = TwistR2S[$getTwist(pc)];\n this$static.flipc = FlipR2S[$getFlip(pc)];\n this$static.prun = max_0(\n this$static.prun,\n getPruning(\n TwistFlipPrun,\n ((this$static.twistc >> 3) << 11) |\n FlipS2RF[this$static.flipc ^ (this$static.twistc & 7)],\n ),\n );\n return this$static.prun <= depth;\n}\n\nfunction CoordCube() {\n $clinit_CoordCube();\n}\n\nfunction getPruning(table, index_0) {\n $clinit_CoordCube();\n return (table[index_0 >> 3] >> (index_0 << 2)) & 15;\n}\n\nfunction init_0(fullInit) {\n $clinit_CoordCube();\n if (initLevel === 2 || (initLevel === 1 && !fullInit)) {\n return;\n }\n if (initLevel === 0) {\n initPermSym2Raw();\n initCPermMove();\n initEPermMove();\n initMPermMoveConj();\n initCombPMoveConj();\n $clinit_CubieCube();\n initSym2Raw(\n 2048,\n FlipS2R,\n FlipR2S,\n (SymStateFlip = initDim(C_classLit, $intern_26, 0, 336, 7, 1)),\n 0,\n );\n initSym2Raw(\n 2187,\n TwistS2R,\n TwistR2S,\n (SymStateTwist = initDim(C_classLit, $intern_26, 0, 324, 7, 1)),\n 1,\n );\n initFlipMove();\n initTwistMove();\n initUDSliceMoveConj();\n }\n initRawSymPrun(\n MCPermPrun,\n MPermMove,\n MPermConj,\n CPermMove,\n ($clinit_CubieCube(), SymStatePerm),\n 584244,\n fullInit,\n );\n initRawSymPrun(\n EPermCCombPPrun,\n CCombPMove,\n CCombPConj,\n EPermMove,\n SymStatePerm,\n 514084,\n fullInit,\n );\n initRawSymPrun(\n UDSliceTwistPrun,\n UDSliceMove,\n UDSliceConj,\n TwistMove,\n SymStateTwist,\n 431619,\n fullInit,\n );\n initRawSymPrun(\n UDSliceFlipPrun,\n UDSliceMove,\n UDSliceConj,\n FlipMove,\n SymStateFlip,\n 431619,\n fullInit,\n );\n initRawSymPrun(\n TwistFlipPrun,\n null,\n null,\n TwistMove,\n SymStateTwist,\n 103939,\n fullInit,\n );\n initLevel = fullInit ? 2 : 1;\n}\n\nfunction initCPermMove() {\n var c;\n var d;\n var i;\n var j;\n c = new CubieCube();\n d = new CubieCube();\n for (i = 0; i < 2768; i++) {\n $setCPerm(c, ($clinit_CubieCube(), EPermS2R)[i]);\n for (j = 0; j < 10; j++) {\n CornMult(c, moveCube[($clinit_Util(), ud2std)[j]], d);\n CPermMove[i][j] =\n ESym2CSym(EPermR2S[getNPerm(d.ca, 8, false)]) & $intern_20;\n }\n }\n}\n\nfunction initCombPMoveConj() {\n var c;\n var d;\n var i;\n var j;\n var j0;\n c = new CubieCube();\n d = new CubieCube();\n CCombPMove = initDims(\n C_classLit,\n [$intern_3, $intern_26],\n [11, 0],\n 7,\n [140, 10],\n 2,\n );\n for (i = 0; i < 140; i++) {\n setComb(c.ca, i % 70, 0, false);\n for (j0 = 0; j0 < 10; j0++) {\n CornMult(\n c,\n ($clinit_CubieCube(), moveCube)[($clinit_Util(), ud2std)[j0]],\n d,\n );\n CCombPMove[i][j0] =\n (getComb(d.ca, 0, false) + 70 * (((165 >> j0) & 1) ^ ~~(i / 70))) &\n $intern_20;\n }\n for (j = 0; j < 16; j++) {\n CornConjugate(c, ($clinit_CubieCube(), SymMultInv)[0][j], d);\n CCombPConj[i][j] =\n (getComb(d.ca, 0, false) + 70 * ~~(i / 70)) & $intern_20;\n }\n }\n}\n\nfunction initEPermMove() {\n var c;\n var d;\n var i;\n var j;\n c = new CubieCube();\n d = new CubieCube();\n for (i = 0; i < 2768; i++) {\n $setEPerm(c, ($clinit_CubieCube(), EPermS2R)[i]);\n for (j = 0; j < 10; j++) {\n EdgeMult(c, moveCube[($clinit_Util(), ud2std)[j]], d);\n EPermMove[i][j] = EPermR2S[getNPerm(d.ea, 8, true)];\n }\n }\n}\n\nfunction initFlipMove() {\n var c;\n var d;\n var i;\n var j;\n c = new CubieCube();\n d = new CubieCube();\n for (i = 0; i < 336; i++) {\n $setFlip(c, ($clinit_CubieCube(), FlipS2R)[i]);\n for (j = 0; j < 18; j++) {\n EdgeMult(c, moveCube[j], d);\n FlipMove[i][j] = FlipR2S[$getFlip(d)];\n }\n }\n}\n\nfunction initMPermMoveConj() {\n var c;\n var d;\n var i;\n var j;\n var j0;\n c = new CubieCube();\n d = new CubieCube();\n for (i = 0; i < 24; i++) {\n setNPerm(c.ea, i, 12, true);\n for (j0 = 0; j0 < 10; j0++) {\n EdgeMult(\n c,\n ($clinit_CubieCube(), moveCube)[($clinit_Util(), ud2std)[j0]],\n d,\n );\n MPermMove[i][j0] = (getNPerm(d.ea, 12, true) % 24) & $intern_20;\n }\n for (j = 0; j < 16; j++) {\n EdgeConjugate(c, ($clinit_CubieCube(), SymMultInv)[0][j], d);\n MPermConj[i][j] = (getNPerm(d.ea, 12, true) % 24) & $intern_20;\n }\n }\n}\n\nfunction initRawSymPrun(\n PrunTable,\n RawMove,\n RawConj,\n SymMove,\n SymState,\n PrunFlag,\n fullInit,\n) {\n var INV_DEPTH;\n var ISTFP;\n var IS_PHASE2;\n var MAX_DEPTH;\n var MIN_DEPTH;\n var NEXT_AXIS_MAGIC;\n var N_MOVES;\n var N_RAW;\n var N_SIZE;\n var SEARCH_DEPTH;\n var SYM_E2C_MAGIC;\n var SYM_MASK;\n var SYM_SHIFT;\n var check;\n var depth;\n var flip;\n var fsym;\n var i;\n var i0;\n var idx;\n var idxx;\n var inv;\n var j;\n var m;\n var mask;\n var prun;\n var raw;\n var rawx;\n var selArrMask;\n var select;\n var sym;\n var symState;\n var symx;\n var val;\n var val0;\n var xorVal;\n SYM_SHIFT = PrunFlag & 15;\n SYM_E2C_MAGIC = ((PrunFlag >> 4) & 1) === 1 ? $intern_28 : 0;\n IS_PHASE2 = ((PrunFlag >> 5) & 1) === 1;\n INV_DEPTH = (PrunFlag >> 8) & 15;\n MAX_DEPTH = (PrunFlag >> 12) & 15;\n MIN_DEPTH = (PrunFlag >> 16) & 15;\n SEARCH_DEPTH = fullInit ? MAX_DEPTH : MIN_DEPTH;\n SYM_MASK = (1 << SYM_SHIFT) - 1;\n ISTFP = RawMove === null;\n N_RAW = ISTFP ? 2048 : RawMove.length;\n N_SIZE = N_RAW * SymMove.length;\n N_MOVES = IS_PHASE2 ? 10 : 18;\n NEXT_AXIS_MAGIC = N_MOVES === 10 ? 66 : 599186;\n depth = ((PrunTable[N_SIZE >> 3] >> (N_SIZE << 2)) & 15) - 1;\n\n if (depth === -1) {\n for (i = 0; i < ~~(N_SIZE / 8) + 1; i++) {\n PrunTable[i] = $intern_29;\n }\n PrunTable[0] ^= 1;\n depth = 0;\n }\n while (depth < SEARCH_DEPTH) {\n mask = ((depth + 1) * $intern_29) ^ -1;\n for (i0 = 0; i0 < PrunTable.length; i0++) {\n val0 = PrunTable[i0] ^ mask;\n val0 &= val0 >> 1;\n PrunTable[i0] += val0 & (val0 >> 2) & $intern_29;\n }\n inv = depth > INV_DEPTH;\n select = inv ? depth + 2 : depth;\n selArrMask = select * $intern_29;\n check = inv ? depth : depth + 2;\n ++depth;\n xorVal = depth ^ (depth + 1);\n val = 0;\n for (i = 0; i < N_SIZE; ++i, val >>= 4) {\n if ((i & 7) === 0) {\n val = PrunTable[i >> 3];\n if (\n (((val ^ selArrMask) - $intern_29) &\n ~(val ^ selArrMask) &\n -2004318072) ===\n 0\n ) {\n i += 7;\n continue;\n }\n }\n if ((val & 15) !== select) {\n continue;\n }\n raw = i % N_RAW;\n sym = ~~(i / N_RAW);\n flip = 0;\n fsym = 0;\n if (ISTFP) {\n flip = ($clinit_CubieCube(), FlipR2S)[raw];\n fsym = flip & 7;\n flip >>= 3;\n }\n for (m = 0; m < N_MOVES; m++) {\n symx = SymMove[sym][m];\n ISTFP\n ? (rawx = ($clinit_CubieCube(), FlipS2RF)[\n FlipMove[flip][Sym8Move[(m << 3) | fsym]] ^\n fsym ^\n (symx & SYM_MASK)\n ])\n : (rawx = RawConj[RawMove[raw][m]][symx & SYM_MASK]);\n symx >>= SYM_SHIFT;\n idx = symx * N_RAW + rawx;\n prun = (PrunTable[idx >> 3] >> (idx << 2)) & 15;\n if (prun !== check) {\n prun < depth - 1 && (m += (NEXT_AXIS_MAGIC >> m) & 3);\n continue;\n }\n if (inv) {\n PrunTable[i >> 3] ^= xorVal << (i << 2);\n break;\n }\n PrunTable[idx >> 3] ^= xorVal << (idx << 2);\n for (j = 1, symState = SymState[symx]; (symState >>= 1) !== 0; j++) {\n if ((symState & 1) !== 1) {\n continue;\n }\n idxx = symx * N_RAW;\n ISTFP\n ? (idxx += ($clinit_CubieCube(), FlipS2RF)[FlipR2S[rawx] ^ j])\n : (idxx += RawConj[rawx][j ^ ((SYM_E2C_MAGIC >> (j << 1)) & 3)]);\n if (((PrunTable[idxx >> 3] >> (idxx << 2)) & 15) === check) {\n PrunTable[idxx >> 3] ^= xorVal << (idxx << 2);\n }\n }\n }\n }\n }\n}\n\nfunction initTwistMove() {\n var c;\n var d;\n var i;\n var j;\n c = new CubieCube();\n d = new CubieCube();\n for (i = 0; i < 324; i++) {\n $setTwist(c, ($clinit_CubieCube(), TwistS2R)[i]);\n for (j = 0; j < 18; j++) {\n CornMult(c, moveCube[j], d);\n TwistMove[i][j] = TwistR2S[$getTwist(d)];\n }\n }\n}\n\nfunction initUDSliceMoveConj() {\n var c;\n var d;\n var i;\n var i0;\n var j;\n var j0;\n var k;\n var udslice;\n c = new CubieCube();\n d = new CubieCube();\n for (i0 = 0; i0 < 495; i0++) {\n setComb(c.ea, 494 - i0, 8, true);\n for (j0 = 0; j0 < 18; j0 += 3) {\n EdgeMult(c, ($clinit_CubieCube(), moveCube)[j0], d);\n UDSliceMove[i0][j0] = (494 - getComb(d.ea, 8, true)) & $intern_20;\n }\n for (j = 0; j < 16; j += 2) {\n EdgeConjugate(c, ($clinit_CubieCube(), SymMultInv)[0][j], d);\n UDSliceConj[i0][j >> 1] = (494 - getComb(d.ea, 8, true)) & $intern_20;\n }\n }\n for (i = 0; i < 495; i++) {\n for (j = 0; j < 18; j += 3) {\n udslice = UDSliceMove[i][j];\n for (k = 1; k < 3; k++) {\n udslice = UDSliceMove[udslice][j];\n UDSliceMove[i][j + k] = udslice & $intern_20;\n }\n }\n }\n}\n\ndefineClass(31, 1, { 31: 1 }, CoordCube);\n_.flip = 0;\n_.flipc = 0;\n_.fsym = 0;\n_.prun = 0;\n_.slice_0 = 0;\n_.tsym = 0;\n_.twist = 0;\n_.twistc = 0;\nvar CCombPConj;\nvar CCombPMove;\nvar CPermMove;\nvar EPermCCombPPrun;\nvar EPermMove;\nvar FlipMove;\nvar MCPermPrun;\nvar MPermConj;\nvar MPermMove;\nvar TwistFlipPrun;\nvar TwistMove;\nvar UDSliceConj;\nvar UDSliceFlipPrun;\nvar UDSliceMove;\nvar UDSliceTwistPrun;\nvar initLevel = 0;\nvar Lorg_cubing_min2phase_client_CoordCube_2_classLit = createForClass(\n \"org.cubing.min2phase.client\",\n \"CoordCube\",\n 31,\n);\nlet $clinit_CubieCube_ran = false;\nfunction $clinit_CubieCube() {\n if ($clinit_CubieCube_ran) {\n return;\n }\n $clinit_CubieCube_ran = true;\n CubeSym = initDim(\n Lorg_cubing_min2phase_client_CubieCube_2_classLit,\n $intern_3,\n 7,\n 16,\n 0,\n 1,\n );\n moveCube = initDim(\n Lorg_cubing_min2phase_client_CubieCube_2_classLit,\n $intern_3,\n 7,\n 18,\n 0,\n 1,\n );\n moveCubeSym = initDim(J_classLit, $intern_3, 0, 18, 6, 1);\n firstMoveSym = initDim(I_classLit, $intern_27, 0, 48, 7, 1);\n SymMult = initDims(\n I_classLit,\n [$intern_3, $intern_27],\n [17, 0],\n 7,\n [16, 16],\n 2,\n );\n SymMultInv = initDims(\n I_classLit,\n [$intern_3, $intern_27],\n [17, 0],\n 7,\n [16, 16],\n 2,\n );\n SymMove_0 = initDims(\n I_classLit,\n [$intern_3, $intern_27],\n [17, 0],\n 7,\n [16, 18],\n 2,\n );\n Sym8Move = initDim(I_classLit, $intern_27, 0, 144, 7, 1);\n SymMoveUD = initDims(\n I_classLit,\n [$intern_3, $intern_27],\n [17, 0],\n 7,\n [16, 18],\n 2,\n );\n FlipS2R = initDim(C_classLit, $intern_26, 0, 336, 7, 1);\n TwistS2R = initDim(C_classLit, $intern_26, 0, 324, 7, 1);\n EPermS2R = initDim(C_classLit, $intern_26, 0, 2768, 7, 1);\n Perm2CombP = initDim(B_classLit, $intern_30, 0, 2768, 7, 1);\n PermInvEdgeSym = initDim(C_classLit, $intern_26, 0, 2768, 7, 1);\n MPermInv = initDim(B_classLit, $intern_30, 0, 24, 7, 1);\n FlipR2S = initDim(C_classLit, $intern_26, 0, 2048, 7, 1);\n TwistR2S = initDim(C_classLit, $intern_26, 0, 2187, 7, 1);\n EPermR2S = initDim(C_classLit, $intern_26, 0, 40320, 7, 1);\n FlipS2RF = initDim(C_classLit, $intern_26, 0, 2688, 7, 1);\n urf1 = new CubieCube_0(2531, 1373, 67026819, 1367);\n urf2 = new CubieCube_0(2089, 1906, 322752913, 2040);\n urfMove = initValues(\n getClassLiteralForArray(B_classLit, 2),\n $intern_3,\n 10,\n 0,\n [\n initValues(\n getClassLiteralForArray(B_classLit, 1),\n $intern_30,\n 0,\n 7,\n [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17],\n ),\n initValues(\n getClassLiteralForArray(B_classLit, 1),\n $intern_30,\n 0,\n 7,\n [6, 7, 8, 0, 1, 2, 3, 4, 5, 15, 16, 17, 9, 10, 11, 12, 13, 14],\n ),\n initValues(\n getClassLiteralForArray(B_classLit, 1),\n $intern_30,\n 0,\n 7,\n [3, 4, 5, 6, 7, 8, 0, 1, 2, 12, 13, 14, 15, 16, 17, 9, 10, 11],\n ),\n initValues(\n getClassLiteralForArray(B_classLit, 1),\n $intern_30,\n 0,\n 7,\n [2, 1, 0, 5, 4, 3, 8, 7, 6, 11, 10, 9, 14, 13, 12, 17, 16, 15],\n ),\n initValues(\n getClassLiteralForArray(B_classLit, 1),\n $intern_30,\n 0,\n 7,\n [8, 7, 6, 2, 1, 0, 5, 4, 3, 17, 16, 15, 11, 10, 9, 14, 13, 12],\n ),\n initValues(\n getClassLiteralForArray(B_classLit, 1),\n $intern_30,\n 0,\n 7,\n [5, 4, 3, 8, 7, 6, 2, 1, 0, 14, 13, 12, 17, 16, 15, 11, 10, 9],\n ),\n ],\n );\n initMove();\n initSym();\n}\n\nfunction $$init(this$static) {\n this$static.ca = initValues(\n getClassLiteralForArray(B_classLit, 1),\n $intern_30,\n 0,\n 7,\n [0, 1, 2, 3, 4, 5, 6, 7],\n );\n this$static.ea = initValues(\n getClassLiteralForArray(B_classLit, 1),\n $intern_30,\n 0,\n 7,\n [0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22],\n );\n}\n\nfunction $URFConjugate(this$static) {\n !this$static.temps && (this$static.temps = new CubieCube());\n CornMult(urf2, this$static, this$static.temps);\n CornMult(this$static.temps, urf1, this$static);\n EdgeMult(urf2, this$static, this$static.temps);\n EdgeMult(this$static.temps, urf1, this$static);\n}\n\nfunction $copy(this$static, c) {\n var i;\n var i0;\n for (i0 = 0; i0 < 8; i0++) {\n this$static.ca[i0] = c.ca[i0];\n }\n for (i = 0; i < 12; i++) {\n this$static.ea[i] = c.ea[i];\n }\n}\n\nfunction $getCPermSym(this$static) {\n return ESym2CSym(EPermR2S[getNPerm(this$static.ca, 8, false)]);\n}\n\nfunction $getEPermSym(this$static) {\n return EPermR2S[getNPerm(this$static.ea, 8, true)];\n}\n\nfunction $getFlip(this$static) {\n var i;\n var idx;\n idx = 0;\n for (i = 0; i < 11; i++) {\n idx = (idx << 1) | (this$static.ea[i] & 1);\n }\n return idx;\n}\n\nfunction $getTwist(this$static) {\n var i;\n var idx;\n idx = 0;\n for (i = 0; i < 7; i++) {\n idx += (idx << 1) + (this$static.ca[i] >> 3);\n }\n return idx;\n}\n\nfunction $invCubieCube(this$static) {\n var corn;\n var edge;\n !this$static.temps && (this$static.temps = new CubieCube());\n for (edge = 0; edge < 12; edge++) {\n this$static.temps.ea[this$static.ea[edge] >> 1] =\n (((edge << 1) | (this$static.ea[edge] & 1)) << 24) >> 24;\n }\n for (corn = 0; corn < 8; corn++) {\n this$static.temps.ca[this$static.ca[corn] & 7] =\n ((corn | ((32 >> (this$static.ca[corn] >> 3)) & 24)) << 24) >> 24;\n }\n $copy(this$static, this$static.temps);\n}\n\nfunction $selfSymmetry(this$static) {\n var c;\n var cperm;\n var cpermx;\n var d;\n var i;\n var sym;\n var urfInv;\n c = new CubieCube_1(this$static);\n d = new CubieCube();\n cperm = ESym2CSym(EPermR2S[getNPerm(c.ca, 8, false)]) >> 4;\n sym = { l: 0, m: 0, h: 0 };\n for (urfInv = 0; urfInv < 6; urfInv++) {\n cpermx = ESym2CSym(EPermR2S[getNPerm(c.ca, 8, false)]) >> 4;\n if (cperm === cpermx) {\n for (i = 0; i < 16; i++) {\n CornConjugate(c, SymMultInv[0][i], d);\n if (equals_7(d.ca, this$static.ca)) {\n EdgeConjugate(c, SymMultInv[0][i], d);\n equals_7(d.ea, this$static.ea) &&\n (sym = or(\n sym,\n shl(\n { l: 1, m: 0, h: 0 },\n ((urfInv << 4) | i) < 48 ? (urfInv << 4) | i : 48,\n ),\n ));\n }\n }\n }\n $URFConjugate(c);\n urfInv % 3 === 2 && $invCubieCube(c);\n }\n return sym;\n}\n\nfunction $setCPerm(this$static, idx) {\n setNPerm(this$static.ca, idx, 8, false);\n}\n\nfunction $setEPerm(this$static, idx) {\n setNPerm(this$static.ea, idx, 8, true);\n}\n\nfunction $setFlip(this$static, idx) {\n var i;\n var parity;\n var val;\n parity = 0;\n for (i = 10; i >= 0; --i, idx >>= 1) {\n parity ^= val = idx & 1;\n this$static.ea[i] = (((this$static.ea[i] & -2) | val) << 24) >> 24;\n }\n this$static.ea[11] = (((this$static.ea[11] & -2) | parity) << 24) >> 24;\n}\n\nfunction $setTwist(this$static, idx) {\n var i;\n var twst;\n var val;\n twst = 15;\n for (i = 6; i >= 0; --i, idx = ~~(idx / 3)) {\n twst -= val = idx % 3;\n this$static.ca[i] = (((this$static.ca[i] & 7) | (val << 3)) << 24) >> 24;\n }\n this$static.ca[7] =\n (((this$static.ca[7] & 7) | ((twst % 3) << 3)) << 24) >> 24;\n}\n\nfunction $verify(this$static) {\n var c;\n var cornMask;\n var e;\n var edgeMask;\n var sum;\n sum = 0;\n edgeMask = 0;\n for (e = 0; e < 12; e++) {\n edgeMask |= 1 << (this$static.ea[e] >> 1);\n sum ^= this$static.ea[e] & 1;\n }\n if (edgeMask !== 4095) {\n return -2;\n }\n if (sum !== 0) {\n return -3;\n }\n cornMask = 0;\n sum = 0;\n for (c = 0; c < 8; c++) {\n cornMask |= 1 << (this$static.ca[c] & 7);\n sum += this$static.ca[c] >> 3;\n }\n if (cornMask !== 255) {\n return -4;\n }\n if (sum % 3 !== 0) {\n return -5;\n }\n if (\n (getNParity(getNPerm(this$static.ea, 12, true), 12) ^\n getNParity(getNPerm(this$static.ca, 8, false), 8)) !==\n 0\n ) {\n return -6;\n }\n return 0;\n}\n\nfunction CornConjugate(a, idx, b) {\n $clinit_CubieCube();\n var corn;\n var ori;\n var oriA;\n var oriB;\n var s;\n var sinv;\n sinv = CubeSym[SymMultInv[0][idx]];\n s = CubeSym[idx];\n for (corn = 0; corn < 8; corn++) {\n oriA = sinv.ca[a.ca[s.ca[corn] & 7] & 7] >> 3;\n oriB = a.ca[s.ca[corn] & 7] >> 3;\n ori = oriA < 3 ? oriB : (3 - oriB) % 3;\n b.ca[corn] =\n (((sinv.ca[a.ca[s.ca[corn] & 7] & 7] & 7) | (ori << 3)) << 24) >> 24;\n }\n}\n\nfunction CornMult(a, b, prod) {\n $clinit_CubieCube();\n var corn;\n var oriA;\n var oriB;\n for (corn = 0; corn < 8; corn++) {\n oriA = a.ca[b.ca[corn] & 7] >> 3;\n oriB = b.ca[corn] >> 3;\n prod.ca[corn] =\n (((a.ca[b.ca[corn] & 7] & 7) | (((oriA + oriB) % 3) << 3)) << 24) >> 24;\n }\n}\n\nfunction CornMultFull(a, b, prod) {\n var corn;\n var ori;\n var oriA;\n var oriB;\n for (corn = 0; corn < 8; corn++) {\n oriA = a.ca[b.ca[corn] & 7] >> 3;\n oriB = b.ca[corn] >> 3;\n ori = oriA + (oriA < 3 ? oriB : 6 - oriB);\n ori = (ori % 3) + (oriA < 3 === oriB < 3 ? 0 : 3);\n prod.ca[corn] = (((a.ca[b.ca[corn] & 7] & 7) | (ori << 3)) << 24) >> 24;\n }\n}\n\nfunction CubieCube() {\n $clinit_CubieCube();\n $$init(this);\n}\n\nfunction CubieCube_0(cperm, twist, eperm, flip) {\n $$init(this);\n setNPerm(this.ca, cperm, 8, false);\n $setTwist(this, twist);\n setNPerm(this.ea, eperm, 12, true);\n $setFlip(this, flip);\n}\n\nfunction CubieCube_1(c) {\n $$init(this);\n $copy(this, c);\n}\n\nfunction ESym2CSym(idx) {\n $clinit_CubieCube();\n return idx ^ (($intern_28 >> ((idx & 15) << 1)) & 3);\n}\n\nfunction EdgeConjugate(a, idx, b) {\n $clinit_CubieCube();\n var ed;\n var s;\n var sinv;\n sinv = CubeSym[SymMultInv[0][idx]];\n s = CubeSym[idx];\n for (ed = 0; ed < 12; ed++) {\n b.ea[ed] =\n ((sinv.ea[a.ea[s.ea[ed] >> 1] >> 1] ^\n (a.ea[s.ea[ed] >> 1] & 1) ^\n (s.ea[ed] & 1)) <<\n 24) >>\n 24;\n }\n}\n\nfunction EdgeMult(a, b, prod) {\n $clinit_CubieCube();\n var ed;\n for (ed = 0; ed < 12; ed++) {\n prod.ea[ed] = ((a.ea[b.ea[ed] >> 1] ^ (b.ea[ed] & 1)) << 24) >> 24;\n }\n}\n\nfunction getPermSymInv(idx, sym, isCorner) {\n $clinit_CubieCube();\n var idxi;\n idxi = PermInvEdgeSym[idx];\n isCorner && (idxi = idxi ^ (($intern_28 >> ((idxi & 15) << 1)) & 3));\n return (idxi & 65520) | SymMult[idxi & 15][sym];\n}\n\nfunction getSkipMoves() {\n $clinit_CubieCube();\n // var i, ret;\n // ret = 0;\n // for (i = 1; neq((ssym = shr(ssym, 1)), { l: 0, m: 0, h: 0 }); i++) {\n // eq(and(ssym, { l: 1, m: 0, h: 0 }), { l: 1, m: 0, h: 0 }) &&\n // (ret |= firstMoveSym[i]);\n // }\n return 0;\n}\n\nfunction initMove() {\n var a;\n var p;\n moveCube[0] = new CubieCube_0(15120, 0, 119750400, 0);\n moveCube[3] = new CubieCube_0(21021, 1494, 323403417, 0);\n moveCube[6] = new CubieCube_0(8064, 1236, 29441808, 550);\n moveCube[9] = new CubieCube_0(9, 0, 5880, 0);\n moveCube[12] = new CubieCube_0(1230, 412, 2949660, 0);\n moveCube[15] = new CubieCube_0(224, 137, 328552, 137);\n for (a = 0; a < 18; a += 3) {\n for (p = 0; p < 2; p++) {\n moveCube[a + p + 1] = new CubieCube();\n EdgeMult(moveCube[a + p], moveCube[a], moveCube[a + p + 1]);\n CornMult(moveCube[a + p], moveCube[a], moveCube[a + p + 1]);\n }\n }\n}\n\nfunction initPermSym2Raw() {\n $clinit_CubieCube();\n var cc;\n var i;\n var i0;\n initSym2Raw(\n 40320,\n EPermS2R,\n EPermR2S,\n (SymStatePerm = initDim(C_classLit, $intern_26, 0, 2768, 7, 1)),\n 2,\n );\n cc = new CubieCube();\n for (i0 = 0; i0 < 2768; i0++) {\n $setEPerm(cc, EPermS2R[i0]);\n Perm2CombP[i0] =\n ((getComb(cc.ea, 0, true) + getNParity(EPermS2R[i0], 8) * 70) << 24) >>\n 24;\n $invCubieCube(cc);\n PermInvEdgeSym[i0] = EPermR2S[getNPerm(cc.ea, 8, true)];\n }\n for (i = 0; i < 24; i++) {\n setNPerm(cc.ea, i, 12, true);\n $invCubieCube(cc);\n MPermInv[i] = ((getNPerm(cc.ea, 12, true) % 24) << 24) >> 24;\n }\n}\n\nfunction initSym() {\n var c;\n var d;\n var f2;\n var i;\n var i0;\n var i1;\n var i2;\n var j;\n var j0;\n var j1;\n var k;\n var lr2;\n var m;\n var s;\n var t;\n var u4;\n c = new CubieCube();\n d = new CubieCube();\n f2 = new CubieCube_0(28783, 0, 259268407, 0);\n u4 = new CubieCube_0(15138, 0, 119765538, 7);\n lr2 = new CubieCube_0(5167, 0, 83473207, 0);\n for (i0 = 0; i0 < 8; i0++) {\n lr2.ca[i0] = narrow_byte(lr2.ca[i0] | 24);\n }\n for (i1 = 0; i1 < 16; i1++) {\n CubeSym[i1] = new CubieCube_1(c);\n CornMultFull(c, u4, d);\n EdgeMult(c, u4, d);\n t = d;\n d = c;\n c = t;\n if (i1 % 4 === 3) {\n CornMultFull(t, lr2, d);\n EdgeMult(t, lr2, d);\n t = d;\n d = c;\n c = t;\n }\n if (i1 % 8 === 7) {\n CornMultFull(t, f2, d);\n EdgeMult(t, f2, d);\n t = d;\n d = c;\n c = t;\n }\n }\n for (i2 = 0; i2 < 16; i2++) {\n for (j0 = 0; j0 < 16; j0++) {\n CornMultFull(CubeSym[i2], CubeSym[j0], c);\n for (k = 0; k < 16; k++) {\n if (equals_7(CubeSym[k].ca, c.ca)) {\n SymMult[i2][j0] = k;\n SymMultInv[k][j0] = i2;\n break;\n }\n }\n }\n }\n for (j1 = 0; j1 < 18; j1++) {\n for (s = 0; s < 16; s++) {\n CornConjugate(moveCube[j1], SymMultInv[0][s], c);\n for (m = 0; m < 18; m++) {\n if (equals_7(moveCube[m].ca, c.ca)) {\n SymMove_0[s][j1] = m;\n SymMoveUD[s][($clinit_Util(), std2ud)[j1]] = std2ud[m];\n break;\n }\n }\n s % 2 === 0 && (Sym8Move[(j1 << 3) | (s >> 1)] = SymMove_0[s][j1]);\n }\n }\n for (i = 0; i < 18; i++) {\n moveCubeSym[i] = $selfSymmetry(moveCube[i]);\n j = i;\n for (s = 0; s < 48; s++) {\n SymMove_0[s % 16][j] < i && (firstMoveSym[s] |= 1 << i);\n s % 16 === 15 && (j = urfMove[2][j]);\n }\n }\n}\n\nfunction initSym2Raw(N_RAW, Sym2Raw, Raw2Sym, SymState, coord) {\n $clinit_CubieCube();\n var c;\n var count;\n var d;\n var i;\n var idx;\n var isEdge;\n var s;\n var symIdx;\n var sym_inc;\n c = new CubieCube();\n d = new CubieCube();\n count = 0;\n idx = 0;\n sym_inc = coord >= 2 ? 1 : 2;\n isEdge = coord !== 1;\n for (i = 0; i < N_RAW; i++) {\n if (Raw2Sym[i] !== 0) {\n continue;\n }\n switch (coord) {\n case 0: {\n $setFlip(c, i);\n break;\n }\n case 1: {\n $setTwist(c, i);\n break;\n }\n case 2:\n setNPerm(c.ea, i, 8, true);\n }\n for (s = 0; s < 16; s += sym_inc) {\n isEdge ? EdgeConjugate(c, s, d) : CornConjugate(c, s, d);\n switch (coord) {\n case 0: {\n idx = $getFlip(d);\n break;\n }\n case 1: {\n idx = $getTwist(d);\n break;\n }\n case 2:\n idx = getNPerm(d.ea, 8, true);\n }\n coord === 0 && (FlipS2RF[(count << 3) | (s >> 1)] = idx & $intern_20);\n idx === i &&\n (SymState[count] =\n (SymState[count] | (1 << ~~(s / sym_inc))) & $intern_20);\n symIdx = ~~(((count << 4) | s) / sym_inc);\n Raw2Sym[idx] = symIdx & $intern_20;\n }\n Sym2Raw[count++] = i & $intern_20;\n }\n return count;\n}\n\nvar CubeSym;\nvar EPermR2S;\nvar EPermS2R;\nvar FlipR2S;\nvar FlipS2R;\nvar FlipS2RF;\nvar MPermInv;\nvar Perm2CombP;\nvar PermInvEdgeSym;\nvar Sym8Move;\nvar SymMove_0;\nvar SymMoveUD;\nvar SymMult;\nvar SymMultInv;\nvar SymStateFlip;\nvar SymStatePerm;\nvar SymStateTwist;\nvar TwistR2S;\nvar TwistS2R;\nvar firstMoveSym;\nvar moveCube;\nvar moveCubeSym;\nvar urf1;\nvar urf2;\nvar urfMove;\nvar Lorg_cubing_min2phase_client_CubieCube_2_classLit = createForClass(\n \"org.cubing.min2phase.client\",\n \"CubieCube\",\n 7,\n);\n\nfunction $initPhase2(\n this$static,\n p2corn,\n p2csym,\n p2edge,\n p2esym,\n p2mid,\n edgei,\n corni,\n) {\n var depth2;\n var i;\n var i0;\n var prun;\n var ret;\n prun = max_0(\n getPruning(\n ($clinit_CoordCube(), EPermCCombPPrun),\n (edgei >> 4) * 140 +\n CCombPConj[($clinit_CubieCube(), Perm2CombP)[corni >> 4] & 255][\n SymMultInv[edgei & 15][corni & 15]\n ],\n ),\n max_0(\n getPruning(\n EPermCCombPPrun,\n p2edge * 140 +\n CCombPConj[Perm2CombP[p2corn] & 255][SymMultInv[p2esym][p2csym]],\n ),\n getPruning(MCPermPrun, p2corn * 24 + MPermConj[p2mid][p2csym]),\n ),\n );\n if (prun > this$static.maxDep2) {\n return prun - this$static.maxDep2;\n }\n for (depth2 = this$static.maxDep2; depth2 >= prun; depth2--) {\n ret = $phase2(\n this$static,\n p2edge,\n p2esym,\n p2corn,\n p2csym,\n p2mid,\n depth2,\n this$static.depth1,\n 10,\n );\n if (ret < 0) {\n break;\n }\n depth2 -= ret;\n this$static.solLen = 0;\n this$static.solution = new Util$Solution();\n $setArgs(\n this$static.solution,\n this$static.verbose,\n this$static.urfIdx,\n this$static.depth1,\n );\n for (i0 = 0; i0 < this$static.depth1 + depth2; i0++) {\n $appendSolMove(this$static.solution, this$static.move[i0]);\n }\n for (i = this$static.preMoveLen - 1; i >= 0; i--) {\n $appendSolMove(this$static.solution, this$static.preMoves[i]);\n }\n this$static.solLen = this$static.solution.length_0;\n }\n if (depth2 !== this$static.maxDep2) {\n this$static.maxDep2 = min_0(\n MAX_DEPTH2,\n this$static.solLen - this$static.length1 - 1,\n );\n return gte(this$static.probe, this$static.probeMin) ? 0 : 1;\n }\n return 1;\n}\n\nfunction $initPhase2Pre(this$static) {\n var corni;\n var edgei;\n var i;\n var lastMove;\n var lastPre;\n var m;\n var p2corn;\n var p2csym;\n var p2edge;\n var p2esym;\n var p2mid;\n var p2switch;\n var p2switchMask;\n var p2switchMax;\n var ret;\n this$static.isRec = false;\n if (\n gte(\n this$static.probe,\n !this$static.solution ? this$static.probeMax : this$static.probeMin,\n )\n ) {\n return 0;\n }\n this$static.probe = add_1(this$static.probe, { l: 1, m: 0, h: 0 });\n for (i = this$static.valid1; i < this$static.depth1; i++) {\n CornMult(\n this$static.phase1Cubie[i],\n ($clinit_CubieCube(), moveCube)[this$static.move[i]],\n this$static.phase1Cubie[i + 1],\n );\n EdgeMult(\n this$static.phase1Cubie[i],\n moveCube[this$static.move[i]],\n this$static.phase1Cubie[i + 1],\n );\n }\n this$static.valid1 = this$static.depth1;\n p2corn = $getCPermSym(this$static.phase1Cubie[this$static.depth1]);\n p2csym = p2corn & 15;\n p2corn >>= 4;\n p2edge = $getEPermSym(this$static.phase1Cubie[this$static.depth1]);\n p2esym = p2edge & 15;\n p2edge >>= 4;\n p2mid =\n getNPerm(this$static.phase1Cubie[this$static.depth1].ea, 12, true) % 24;\n edgei = getPermSymInv(p2edge, p2esym, false);\n corni = getPermSymInv(p2corn, p2csym, true);\n lastMove =\n this$static.depth1 === 0 ? -1 : this$static.move[this$static.depth1 - 1];\n lastPre =\n this$static.preMoveLen === 0\n ? -1\n : this$static.preMoves[this$static.preMoveLen - 1];\n ret = 0;\n p2switchMax =\n (this$static.preMoveLen === 0 ? 1 : 2) * (this$static.depth1 === 0 ? 1 : 2);\n for (\n p2switch = 0, p2switchMask = (1 << p2switchMax) - 1;\n p2switch < p2switchMax;\n p2switch++\n ) {\n if (((p2switchMask >> p2switch) & 1) !== 0) {\n p2switchMask &= ~(1 << p2switch);\n ret = $initPhase2(\n this$static,\n p2corn,\n p2csym,\n p2edge,\n p2esym,\n p2mid,\n edgei,\n corni,\n );\n if (ret === 0 || ret > 2) {\n break;\n } else {\n ret === 2 && (p2switchMask &= 4 << p2switch);\n }\n }\n if (p2switchMask === 0) {\n break;\n }\n if ((p2switch & 1) === 0 && this$static.depth1 > 0) {\n m = ($clinit_Util(), std2ud)[~~(lastMove / 3) * 3 + 1];\n this$static.move[this$static.depth1 - 1] =\n ud2std[m] * 2 - this$static.move[this$static.depth1 - 1];\n p2mid = ($clinit_CoordCube(), MPermMove)[p2mid][m];\n p2corn = CPermMove[p2corn][($clinit_CubieCube(), SymMoveUD)[p2csym][m]];\n p2csym = SymMult[p2corn & 15][p2csym];\n p2corn >>= 4;\n p2edge = EPermMove[p2edge][SymMoveUD[p2esym][m]];\n p2esym = SymMult[p2edge & 15][p2esym];\n p2edge >>= 4;\n corni = getPermSymInv(p2corn, p2csym, true);\n edgei = getPermSymInv(p2edge, p2esym, false);\n } else if (this$static.preMoveLen > 0) {\n m = ($clinit_Util(), std2ud)[~~(lastPre / 3) * 3 + 1];\n this$static.preMoves[this$static.preMoveLen - 1] =\n ud2std[m] * 2 - this$static.preMoves[this$static.preMoveLen - 1];\n p2mid = ($clinit_CubieCube(), MPermInv)[\n ($clinit_CoordCube(), MPermMove)[MPermInv[p2mid]][m]\n ];\n p2corn = CPermMove[corni >> 4][SymMoveUD[corni & 15][m]];\n corni = (p2corn & -16) | SymMult[p2corn & 15][corni & 15];\n p2corn = getPermSymInv(corni >> 4, corni & 15, true);\n p2csym = p2corn & 15;\n p2corn >>= 4;\n p2edge = EPermMove[edgei >> 4][SymMoveUD[edgei & 15][m]];\n edgei = (p2edge & -16) | SymMult[p2edge & 15][edgei & 15];\n p2edge = getPermSymInv(edgei >> 4, edgei & 15, false);\n p2esym = p2edge & 15;\n p2edge >>= 4;\n }\n }\n this$static.depth1 > 0 &&\n (this$static.move[this$static.depth1 - 1] = lastMove);\n this$static.preMoveLen > 0 &&\n (this$static.preMoves[this$static.preMoveLen - 1] = lastPre);\n return ret === 0 ? 0 : 2;\n}\n\nfunction $initSearch(this$static) {\n var i;\n this$static.conjMask = 0;\n this$static.selfSym = $selfSymmetry(this$static.cc);\n this$static.conjMask |= neq(\n and(shr(this$static.selfSym, 16), {\n l: $intern_20,\n m: 0,\n h: 0,\n }),\n { l: 0, m: 0, h: 0 },\n )\n ? 18\n : 0;\n this$static.conjMask |= neq(\n and(shr(this$static.selfSym, 32), {\n l: $intern_20,\n m: 0,\n h: 0,\n }),\n { l: 0, m: 0, h: 0 },\n )\n ? 36\n : 0;\n this$static.conjMask |= neq(\n and(shr(this$static.selfSym, 48), {\n l: $intern_20,\n m: 0,\n h: 0,\n }),\n { l: 0, m: 0, h: 0 },\n )\n ? 56\n : 0;\n this$static.selfSym = and(this$static.selfSym, {\n l: $intern_9,\n m: $intern_9,\n h: 15,\n });\n this$static.maxPreMoves = this$static.conjMask > 7 ? 0 : 20;\n for (i = 0; i < 6; i++) {\n $copy(this$static.urfCubieCube[i], this$static.cc);\n $setWithPrun(this$static.urfCoordCube[i], this$static.urfCubieCube[i], 20);\n $URFConjugate(this$static.cc);\n i % 3 === 2 && $invCubieCube(this$static.cc);\n }\n}\n\nfunction $phase1(this$static, node, ssym, maxl, lm) {\n var axis_0;\n var m;\n var power;\n var prun;\n var ret;\n var skipMoves;\n if (node.prun === 0 && maxl < 5) {\n if (this$static.allowShorter || maxl === 0) {\n this$static.depth1 -= maxl;\n ret = $initPhase2Pre(this$static);\n this$static.depth1 += maxl;\n return ret;\n } else {\n return 1;\n }\n }\n skipMoves = getSkipMoves(fromInt(ssym));\n for (axis_0 = 0; axis_0 < 18; axis_0 += 3) {\n if (axis_0 === lm || axis_0 === lm - 9) {\n continue;\n }\n for (power = 0; power < 3; power++) {\n m = axis_0 + power;\n if (\n (this$static.isRec &&\n m !== this$static.move[this$static.depth1 - maxl]) ||\n (skipMoves !== 0 && (skipMoves & (1 << m)) !== 0)\n ) {\n continue;\n }\n prun = $doMovePrun(this$static.nodeUD[maxl], node, m);\n if (prun > maxl) {\n break;\n } else if (prun === maxl) {\n continue;\n }\n prun = $doMovePrunConj(this$static.nodeUD[maxl], node, m);\n if (prun > maxl) {\n break;\n } else if (prun === maxl) {\n continue;\n }\n this$static.move[this$static.depth1 - maxl] = m;\n this$static.valid1 = min_0(this$static.valid1, this$static.depth1 - maxl);\n ret = $phase1(\n this$static,\n this$static.nodeUD[maxl],\n ssym & toInt(($clinit_CubieCube(), moveCubeSym)[m]),\n maxl - 1,\n axis_0,\n );\n if (ret === 0) {\n return 0;\n } else if (ret >= 2) {\n break;\n }\n }\n }\n return 1;\n}\n\nfunction $phase1PreMoves(this$static, maxl, lm, cc, ssym) {\n var m;\n var ret;\n var skipMoves;\n this$static.preMoveLen = this$static.maxPreMoves - maxl;\n if (\n this$static.isRec\n ? this$static.depth1 === this$static.length1 - this$static.preMoveLen\n : this$static.preMoveLen === 0 || ((225207 >> lm) & 1) === 0\n ) {\n this$static.depth1 = this$static.length1 - this$static.preMoveLen;\n this$static.phase1Cubie[0] = cc;\n this$static.allowShorter =\n this$static.depth1 === MIN_P1LENGTH_PRE && this$static.preMoveLen !== 0;\n if (\n $setWithPrun(\n this$static.nodeUD[this$static.depth1 + 1],\n cc,\n this$static.depth1,\n ) &&\n $phase1(\n this$static,\n this$static.nodeUD[this$static.depth1 + 1],\n ssym,\n this$static.depth1,\n -1,\n ) === 0\n ) {\n return 0;\n }\n }\n if (\n maxl === 0 ||\n this$static.preMoveLen + MIN_P1LENGTH_PRE >= this$static.length1\n ) {\n return 1;\n }\n skipMoves = getSkipMoves(fromInt(ssym));\n (maxl === 1 ||\n this$static.preMoveLen + 1 + MIN_P1LENGTH_PRE >= this$static.length1) &&\n (skipMoves |= 225207);\n lm = ~~(lm / 3) * 3;\n for (m = 0; m < 18; m++) {\n if (m === lm || m === lm - 9 || m === lm + 9) {\n m += 2;\n continue;\n }\n if (\n (this$static.isRec &&\n m !== this$static.preMoves[this$static.maxPreMoves - maxl]) ||\n (skipMoves & (1 << m)) !== 0\n ) {\n continue;\n }\n CornMult(\n ($clinit_CubieCube(), moveCube)[m],\n cc,\n this$static.preMoveCubes[maxl],\n );\n EdgeMult(moveCube[m], cc, this$static.preMoveCubes[maxl]);\n this$static.preMoves[this$static.maxPreMoves - maxl] = m;\n ret = $phase1PreMoves(\n this$static,\n maxl - 1,\n m,\n this$static.preMoveCubes[maxl],\n ssym & toInt(moveCubeSym[m]),\n );\n if (ret === 0) {\n return 0;\n }\n }\n return 1;\n}\n\nfunction $phase2(this$static, edge, esym, corn, csym, mid, maxl, depth, lm) {\n var corni;\n var cornx;\n var csymx;\n var edgei;\n var edgex;\n var esymx;\n var m;\n var midx;\n var moveMask;\n var prun;\n var ret;\n if (edge === 0 && corn === 0 && mid === 0) {\n return maxl;\n }\n moveMask = ($clinit_Util(), ckmv2bit)[lm];\n for (m = 0; m < 10; m++) {\n if (((moveMask >> m) & 1) !== 0) {\n m += (66 >> m) & 3;\n continue;\n }\n midx = ($clinit_CoordCube(), MPermMove)[mid][m];\n cornx = CPermMove[corn][($clinit_CubieCube(), SymMoveUD)[csym][m]];\n csymx = SymMult[cornx & 15][csym];\n cornx >>= 4;\n edgex = EPermMove[edge][SymMoveUD[esym][m]];\n esymx = SymMult[edgex & 15][esym];\n edgex >>= 4;\n edgei = getPermSymInv(edgex, esymx, false);\n corni = getPermSymInv(cornx, csymx, true);\n prun = getPruning(\n EPermCCombPPrun,\n (edgei >> 4) * 140 +\n CCombPConj[Perm2CombP[corni >> 4] & 255][\n SymMultInv[edgei & 15][corni & 15]\n ],\n );\n if (prun > maxl + 1) {\n return maxl - prun + 1;\n } else if (prun >= maxl) {\n m += (66 >> m) & 3 & (maxl - prun);\n continue;\n }\n prun = max_0(\n getPruning(MCPermPrun, cornx * 24 + MPermConj[midx][csymx]),\n getPruning(\n EPermCCombPPrun,\n edgex * 140 +\n CCombPConj[Perm2CombP[cornx] & 255][SymMultInv[esymx][csymx]],\n ),\n );\n if (prun >= maxl) {\n m += (66 >> m) & 3 & (maxl - prun);\n continue;\n }\n ret = $phase2(\n this$static,\n edgex,\n esymx,\n cornx,\n csymx,\n midx,\n maxl - 1,\n depth + 1,\n m,\n );\n if (ret >= 0) {\n this$static.move[depth] = ud2std[m];\n return ret;\n }\n if (ret < -2) {\n break;\n }\n ret < -1 && (m += (66 >> m) & 3);\n }\n return -1;\n}\n\nfunction $search(this$static) {\n for (\n this$static.length1 = this$static.isRec ? this$static.length1 : 0;\n this$static.length1 < this$static.solLen;\n this$static.length1++\n ) {\n this$static.maxDep2 = min_0(\n MAX_DEPTH2,\n this$static.solLen - this$static.length1 - 1,\n );\n for (\n this$static.urfIdx = this$static.isRec ? this$static.urfIdx : 0;\n this$static.urfIdx < 6;\n this$static.urfIdx++\n ) {\n if ((this$static.conjMask & (1 << this$static.urfIdx)) !== 0) {\n continue;\n }\n if (\n $phase1PreMoves(\n this$static,\n this$static.maxPreMoves,\n -30,\n this$static.urfCubieCube[this$static.urfIdx],\n toInt(and(this$static.selfSym, { l: $intern_20, m: 0, h: 0 })),\n ) === 0\n ) {\n return !this$static.solution\n ? \"Error 8\"\n : $toString_2(this$static.solution);\n }\n }\n }\n return !this$static.solution ? \"Error 7\" : $toString_2(this$static.solution);\n}\n\nfunction $solution(this$static, facelets) {\n var check;\n check = $verify_0(this$static, facelets);\n if (check !== 0) {\n return `Error ${check < 0 ? -check : check}`;\n }\n this$static.solLen = 22;\n this$static.probe = { l: 0, m: 0, h: 0 };\n this$static.probeMax = { l: 3531008, m: 23, h: 0 };\n this$static.probeMin = { l: 0, m: 0, h: 0 };\n this$static.verbose = 0;\n this$static.solution = null;\n this$static.isRec = false;\n init_0(false);\n $initSearch(this$static);\n return $search(this$static);\n}\n\nfunction $verify_0(this$static, facelets) {\n var center;\n var count;\n var f;\n var i;\n count = 0;\n f = initDim(B_classLit, $intern_30, 0, 54, 7, 1);\n // try {\n center = _String(\n initValues(getClassLiteralForArray(C_classLit, 1), $intern_26, 0, 7, [\n facelets.charCodeAt(4),\n facelets.charCodeAt(13),\n facelets.charCodeAt(22),\n facelets.charCodeAt(31),\n facelets.charCodeAt(40),\n facelets.charCodeAt(49),\n ]),\n );\n for (i = 0; i < 54; i++) {\n f[i] =\n ($indexOf_0(center, fromCodePoint(facelets.charCodeAt(i))) << 24) >> 24;\n if (f[i] === -1) {\n return -1;\n }\n count += 1 << (f[i] << 2);\n }\n // } catch ($e0) {\n // $e0 = wrap($e0);\n // if (instanceOf($e0, 9)) {\n // return -1;\n // } else throw unwrap($e0);\n // }\n if (count !== 10066329) {\n return -1;\n }\n toCubieCube(f, this$static.cc);\n return $verify(this$static.cc);\n}\n\nfunction Search() {\n var i;\n var i0;\n var i1;\n this.move = initDim(I_classLit, $intern_27, 0, 31, 7, 1);\n this.nodeUD = initDim(\n Lorg_cubing_min2phase_client_CoordCube_2_classLit,\n $intern_3,\n 31,\n 21,\n 0,\n 1,\n );\n this.nodeRL = initDim(\n Lorg_cubing_min2phase_client_CoordCube_2_classLit,\n $intern_3,\n 31,\n 21,\n 0,\n 1,\n );\n this.nodeFB = initDim(\n Lorg_cubing_min2phase_client_CoordCube_2_classLit,\n $intern_3,\n 31,\n 21,\n 0,\n 1,\n );\n this.cc = new CubieCube();\n this.urfCubieCube = initDim(\n Lorg_cubing_min2phase_client_CubieCube_2_classLit,\n $intern_3,\n 7,\n 6,\n 0,\n 1,\n );\n this.urfCoordCube = initDim(\n Lorg_cubing_min2phase_client_CoordCube_2_classLit,\n $intern_3,\n 31,\n 6,\n 0,\n 1,\n );\n this.phase1Cubie = initDim(\n Lorg_cubing_min2phase_client_CubieCube_2_classLit,\n $intern_3,\n 7,\n 21,\n 0,\n 1,\n );\n this.preMoveCubes = initDim(\n Lorg_cubing_min2phase_client_CubieCube_2_classLit,\n $intern_3,\n 7,\n 21,\n 0,\n 1,\n );\n this.preMoves = initDim(I_classLit, $intern_27, 0, 20, 7, 1);\n for (i0 = 0; i0 < 21; i0++) {\n this.nodeUD[i0] = new CoordCube();\n this.nodeRL[i0] = new CoordCube();\n this.nodeFB[i0] = new CoordCube();\n this.phase1Cubie[i0] = new CubieCube();\n }\n for (i1 = 0; i1 < 6; i1++) {\n this.urfCubieCube[i1] = new CubieCube();\n this.urfCoordCube[i1] = new CoordCube();\n }\n for (i = 0; i < 20; i++) {\n this.preMoveCubes[i + 1] = new CubieCube();\n }\n}\n\ndefineClass(72, 1, {}, Search);\n_.allowShorter = false;\n_.conjMask = 0;\n_.depth1 = 0;\n_.isRec = false;\n_.length1 = 0;\n_.maxDep2 = 0;\n_.maxPreMoves = 0;\n_.preMoveLen = 0;\n_.probe = { l: 0, m: 0, h: 0 };\n_.probeMax = { l: 0, m: 0, h: 0 };\n_.probeMin = { l: 0, m: 0, h: 0 };\n_.selfSym = { l: 0, m: 0, h: 0 };\n_.solLen = 0;\n_.urfIdx = 0;\n_.valid1 = 0;\n_.verbose = 0;\nvar MAX_DEPTH2 = 12;\nvar MIN_P1LENGTH_PRE = 7;\nlet $clinit_Util_ran = false;\nfunction $clinit_Util() {\n if ($clinit_Util_ran) {\n return;\n }\n $clinit_Util_ran = true;\n var i;\n var i0;\n var i1;\n var ix;\n var j;\n var jx;\n cornerFacelet = initValues(\n getClassLiteralForArray(B_classLit, 2),\n $intern_3,\n 10,\n 0,\n [\n initValues(\n getClassLiteralForArray(B_classLit, 1),\n $intern_30,\n 0,\n 7,\n [8, 9, 20],\n ),\n initValues(\n getClassLiteralForArray(B_classLit, 1),\n $intern_30,\n 0,\n 7,\n [6, 18, 38],\n ),\n initValues(\n getClassLiteralForArray(B_classLit, 1),\n $intern_30,\n 0,\n 7,\n [0, 36, 47],\n ),\n initValues(\n getClassLiteralForArray(B_classLit, 1),\n $intern_30,\n 0,\n 7,\n [2, 45, 11],\n ),\n initValues(\n getClassLiteralForArray(B_classLit, 1),\n $intern_30,\n 0,\n 7,\n [29, 26, 15],\n ),\n initValues(\n getClassLiteralForArray(B_classLit, 1),\n $intern_30,\n 0,\n 7,\n [27, 44, 24],\n ),\n initValues(\n getClassLiteralForArray(B_classLit, 1),\n $intern_30,\n 0,\n 7,\n [33, 53, 42],\n ),\n initValues(\n getClassLiteralForArray(B_classLit, 1),\n $intern_30,\n 0,\n 7,\n [35, 17, 51],\n ),\n ],\n );\n edgeFacelet = initValues(\n getClassLiteralForArray(B_classLit, 2),\n $intern_3,\n 10,\n 0,\n [\n initValues(\n getClassLiteralForArray(B_classLit, 1),\n $intern_30,\n 0,\n 7,\n [5, 10],\n ),\n initValues(\n getClassLiteralForArray(B_classLit, 1),\n $intern_30,\n 0,\n 7,\n [7, 19],\n ),\n initValues(\n getClassLiteralForArray(B_classLit, 1),\n $intern_30,\n 0,\n 7,\n [3, 37],\n ),\n initValues(\n getClassLiteralForArray(B_classLit, 1),\n $intern_30,\n 0,\n 7,\n [1, 46],\n ),\n initValues(\n getClassLiteralForArray(B_classLit, 1),\n $intern_30,\n 0,\n 7,\n [32, 16],\n ),\n initValues(\n getClassLiteralForArray(B_classLit, 1),\n $intern_30,\n 0,\n 7,\n [28, 25],\n ),\n initValues(\n getClassLiteralForArray(B_classLit, 1),\n $intern_30,\n 0,\n 7,\n [30, 43],\n ),\n initValues(\n getClassLiteralForArray(B_classLit, 1),\n $intern_30,\n 0,\n 7,\n [34, 52],\n ),\n initValues(\n getClassLiteralForArray(B_classLit, 1),\n $intern_30,\n 0,\n 7,\n [23, 12],\n ),\n initValues(\n getClassLiteralForArray(B_classLit, 1),\n $intern_30,\n 0,\n 7,\n [21, 41],\n ),\n initValues(\n getClassLiteralForArray(B_classLit, 1),\n $intern_30,\n 0,\n 7,\n [50, 39],\n ),\n initValues(\n getClassLiteralForArray(B_classLit, 1),\n $intern_30,\n 0,\n 7,\n [48, 14],\n ),\n ],\n );\n Cnk = initDims(I_classLit, [$intern_3, $intern_27], [17, 0], 7, [13, 13], 2);\n move2str = initValues(\n getClassLiteralForArray(Ljava_lang_String_2_classLit, 1),\n $intern_3,\n 2,\n 4,\n [\n \"U \",\n \"U2\",\n \"U'\",\n \"R \",\n \"R2\",\n \"R'\",\n \"F \",\n \"F2\",\n \"F'\",\n \"D \",\n \"D2\",\n \"D'\",\n \"L \",\n \"L2\",\n \"L'\",\n \"B \",\n \"B2\",\n \"B'\",\n ],\n );\n ud2std = initValues(\n getClassLiteralForArray(I_classLit, 1),\n $intern_27,\n 0,\n 7,\n [0, 1, 2, 4, 7, 9, 10, 11, 13, 16, 3, 5, 6, 8, 12, 14, 15, 17],\n );\n std2ud = initDim(I_classLit, $intern_27, 0, 18, 7, 1);\n ckmv2bit = initDim(I_classLit, $intern_27, 0, 11, 7, 1);\n for (i0 = 0; i0 < 18; i0++) {\n std2ud[ud2std[i0]] = i0;\n }\n for (i1 = 0; i1 < 10; i1++) {\n ix = ~~(ud2std[i1] / 3);\n ckmv2bit[i1] = 0;\n for (j = 0; j < 10; j++) {\n jx = ~~(ud2std[j] / 3);\n ckmv2bit[i1] |=\n (ix === jx || (ix % 3 === jx % 3 && ix >= jx) ? 1 : 0) << j;\n }\n }\n ckmv2bit[10] = 0;\n for (i = 0; i < 13; i++) {\n Cnk[i][0] = Cnk[i][i] = 1;\n for (j = 1; j < i; j++) {\n Cnk[i][j] = Cnk[i - 1][j - 1] + Cnk[i - 1][j];\n }\n }\n}\n\nfunction getComb(arr, mask, isEdge) {\n $clinit_Util();\n var end;\n var i;\n var idxC;\n var perm;\n var r;\n end = arr.length - 1;\n idxC = 0;\n r = 4;\n for (i = end; i >= 0; i--) {\n perm = getVal(arr[i], isEdge);\n (perm & 12) === mask && (idxC += Cnk[i][r--]);\n }\n return idxC;\n}\n\nfunction getNParity(idx, n) {\n $clinit_Util();\n var i;\n var p;\n p = 0;\n for (i = n - 2; i >= 0; i--) {\n p ^= idx % (n - i);\n idx = ~~(idx / (n - i));\n }\n return p & 1;\n}\n\nfunction getNPerm(arr, n, isEdge) {\n $clinit_Util();\n var i;\n var idx;\n var v;\n var val;\n idx = 0;\n val = { l: 1323536, m: 2777561, h: 1043915 };\n for (i = 0; i < n - 1; i++) {\n v = getVal(arr[i], isEdge) << 2;\n idx = (n - i) * idx + toInt(and(shr(val, v), { l: 15, m: 0, h: 0 }));\n val = sub_0(val, shl({ l: 1118480, m: 279620, h: 69905 }, v));\n }\n return idx;\n}\n\nfunction getVal(val0, isEdge) {\n return isEdge ? val0 >> 1 : val0 & 7;\n}\n\nfunction setComb(arr, idxC, mask, isEdge) {\n $clinit_Util();\n var end;\n var fill;\n var i;\n var r;\n end = arr.length - 1;\n r = 4;\n fill = end;\n for (i = end; i >= 0; i--) {\n if (idxC >= Cnk[i][r]) {\n idxC -= Cnk[i][r--];\n arr[i] = setVal(arr[i], r | mask, isEdge);\n } else {\n (fill & 12) === mask && (fill -= 4);\n arr[i] = setVal(arr[i], fill--, isEdge);\n }\n }\n}\n\nfunction setNPerm(arr, idx, n, isEdge) {\n $clinit_Util();\n var extract;\n var i;\n var m;\n var p;\n var v;\n var val;\n val = { l: 1323536, m: 2777561, h: 1043915 };\n extract = { l: 0, m: 0, h: 0 };\n for (p = 2; p <= n; p++) {\n extract = or(shl(extract, 4), fromInt(idx % p));\n idx = ~~(idx / p);\n }\n for (i = 0; i < n - 1; i++) {\n v = (toInt(extract) & 15) << 2;\n extract = shr(extract, 4);\n arr[i] = setVal(\n arr[i],\n toInt(and(shr(val, v), { l: 15, m: 0, h: 0 })),\n isEdge,\n );\n m = sub_0(shl({ l: 1, m: 0, h: 0 }, v), { l: 1, m: 0, h: 0 });\n val = or(\n and(val, m),\n and(shr(val, 4), {\n l: ~m.l & $intern_9,\n m: ~m.m & $intern_9,\n h: ~m.h & $intern_10,\n }),\n );\n }\n arr[n - 1] = setVal(\n arr[n - 1],\n toInt(and(val, { l: 15, m: 0, h: 0 })),\n isEdge,\n );\n}\n\nfunction setVal(val0, val, isEdge) {\n return ((isEdge ? (val << 1) | (val0 & 1) : val | (val0 & -8)) << 24) >> 24;\n}\n\nfunction toCubieCube(f, ccRet) {\n $clinit_Util();\n var col1;\n var col2;\n var i;\n var i0;\n var i1;\n var i2;\n var j;\n var ori;\n for (i0 = 0; i0 < 8; i0++) {\n ccRet.ca[i0] = 0;\n }\n for (i1 = 0; i1 < 12; i1++) {\n ccRet.ea[i1] = 0;\n }\n for (i2 = 0; i2 < 8; i2++) {\n for (ori = 0; ori < 3; ori++) {\n if (f[cornerFacelet[i2][ori]] === 0 || f[cornerFacelet[i2][ori]] === 3) {\n break;\n }\n }\n col1 = f[cornerFacelet[i2][(ori + 1) % 3]];\n col2 = f[cornerFacelet[i2][(ori + 2) % 3]];\n for (j = 0; j < 8; j++) {\n if (\n col1 === ~~(cornerFacelet[j][1] / 9) &&\n col2 === ~~(cornerFacelet[j][2] / 9)\n ) {\n ccRet.ca[i2] = narrow_byte(((ori % 3) << 3) | j);\n break;\n }\n }\n }\n for (i = 0; i < 12; i++) {\n for (j = 0; j < 12; j++) {\n if (\n f[edgeFacelet[i][0]] === ~~(edgeFacelet[j][0] / 9) &&\n f[edgeFacelet[i][1]] === ~~(edgeFacelet[j][1] / 9)\n ) {\n ccRet.ea[i] = narrow_byte(j << 1);\n break;\n }\n if (\n f[edgeFacelet[i][0]] === ~~(edgeFacelet[j][1] / 9) &&\n f[edgeFacelet[i][1]] === ~~(edgeFacelet[j][0] / 9)\n ) {\n ccRet.ea[i] = narrow_byte((j << 1) | 1);\n break;\n }\n }\n }\n}\n\nvar Cnk;\nvar ckmv2bit;\nvar cornerFacelet;\nvar edgeFacelet;\nvar move2str;\nvar std2ud;\nvar ud2std;\nfunction $appendSolMove(this$static, curMove) {\n var axisCur;\n var axisLast;\n var pow_0;\n if (this$static.length_0 === 0) {\n this$static.moves[this$static.length_0++] = curMove;\n return;\n }\n axisCur = ~~(curMove / 3);\n axisLast = ~~(this$static.moves[this$static.length_0 - 1] / 3);\n if (axisCur === axisLast) {\n pow_0 =\n ((curMove % 3) + (this$static.moves[this$static.length_0 - 1] % 3) + 1) %\n 4;\n pow_0 === 3\n ? --this$static.length_0\n : (this$static.moves[this$static.length_0 - 1] = axisCur * 3 + pow_0);\n return;\n }\n if (\n this$static.length_0 > 1 &&\n axisCur % 3 === axisLast % 3 &&\n axisCur === ~~(this$static.moves[this$static.length_0 - 2] / 3)\n ) {\n pow_0 =\n ((curMove % 3) + (this$static.moves[this$static.length_0 - 2] % 3) + 1) %\n 4;\n if (pow_0 === 3) {\n this$static.moves[this$static.length_0 - 2] =\n this$static.moves[this$static.length_0 - 1];\n --this$static.length_0;\n } else {\n this$static.moves[this$static.length_0 - 2] = axisCur * 3 + pow_0;\n }\n return;\n }\n this$static.moves[this$static.length_0++] = curMove;\n}\n\nfunction $setArgs(this$static, verbose, urfIdx, depth1) {\n this$static.verbose = verbose;\n this$static.urfIdx = urfIdx;\n this$static.depth1 = depth1;\n}\n\nfunction $toString_2(this$static) {\n var s;\n var sb;\n var urf;\n sb = new StringBuffer();\n urf =\n (this$static.verbose & 2) !== 0\n ? (this$static.urfIdx + 3) % 6\n : this$static.urfIdx;\n if (urf < 3) {\n for (s = 0; s < this$static.length_0; s++) {\n (this$static.verbose & 1) !== 0 &&\n s === this$static.depth1 &&\n ((sb.string += \". \"), sb);\n $append(\n $append_1(\n sb,\n ($clinit_Util(), move2str)[\n ($clinit_CubieCube(), urfMove)[urf][this$static.moves[s]]\n ],\n ),\n );\n }\n } else {\n for (s = this$static.length_0 - 1; s >= 0; s--) {\n $append(\n $append_1(\n sb,\n ($clinit_Util(), move2str)[\n ($clinit_CubieCube(), urfMove)[urf][this$static.moves[s]]\n ],\n ),\n );\n (this$static.verbose & 1) !== 0 &&\n s === this$static.depth1 &&\n ((sb.string += \". \"), sb);\n }\n }\n return sb.string;\n}\n\nfunction Util$Solution() {\n this.moves = initDim(I_classLit, $intern_27, 0, 31, 7, 1);\n}\n\ndefineClass(150, 1, {}, Util$Solution);\n_.depth1 = 0;\n_.length_0 = 0;\n_.urfIdx = 0;\n_.verbose = 0;\nvar I_classLit = createForPrimitive(\"int\", \"I\");\ncreateForClass(\"com.google.gwt.lang\", \"CollapsedPropertyHolder\", 252);\n\ncreateForClass(\"com.google.gwt.lang\", \"JavaClassHierarchySetupUtil\", 254);\nconst Lcom_google_gwt_lang_LongLibBase$LongEmul_2_classLit = createForClass(\n \"com.google.gwt.lang\",\n \"LongLibBase/LongEmul\",\n null,\n);\ncreateForClass(\"com.google.gwt.lang\", \"ModuleUtils\", 257);\nvar B_classLit = createForPrimitive(\"byte\", \"B\");\nvar J_classLit = createForPrimitive(\"long\", \"J\");\nvar C_classLit = createForPrimitive(\"char\", \"C\");\ncreateForClass(\"com.google.gwt.user.client.rpc\", \"XsrfToken\", null),\n createForInterface(\"java.util\", \"Map/Entry\");\n\nexport const initialize = function () {\n init_0(false);\n};\nexport const solveState = function (s) {\n return $solution(new Search(), s);\n};\n"],
5
- "mappings": "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",
6
- "names": []
7
- }