cubing 0.23.0 → 0.24.0-pre4

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 (1046) hide show
  1. package/dist/esm/{2x2x2.kpuzzle.json-JOGUSQ4N.js → 2x2x2.kpuzzle.json-RUB44MJV.js} +12 -12
  2. package/dist/esm/2x2x2.kpuzzle.json-RUB44MJV.js.map +7 -0
  3. package/dist/esm/{2x2x2.sgs.json-FRBWMMA7.js → 2x2x2.sgs.json-5IQQFXW7.js} +5 -5
  4. package/dist/esm/2x2x2.sgs.json-5IQQFXW7.js.map +7 -0
  5. package/dist/esm/{chunk-N3RNWU5T.js → 3d-dynamic-inside-OGANXBOW.js} +51 -463
  6. package/dist/esm/3d-dynamic-inside-OGANXBOW.js.map +7 -0
  7. package/dist/esm/bluetooth/index.js +39 -33
  8. package/dist/esm/bluetooth/index.js.map +2 -2
  9. package/dist/esm/{chunk-XVZOMB6J.js → chunk-27KJGD3S.js} +15 -20
  10. package/dist/esm/chunk-27KJGD3S.js.map +7 -0
  11. package/dist/esm/{chunk-DK6PXBB2.js → chunk-2IHGN4YF.js} +66 -56
  12. package/dist/esm/chunk-2IHGN4YF.js.map +7 -0
  13. package/dist/esm/{chunk-Z6X7HTPP.js → chunk-5HKJRHTE.js} +4 -4
  14. package/dist/esm/{chunk-Z6X7HTPP.js.map → chunk-5HKJRHTE.js.map} +2 -2
  15. package/dist/esm/{chunk-FK2SCC3Z.js → chunk-NMODRU23.js} +33 -27
  16. package/dist/esm/chunk-NMODRU23.js.map +7 -0
  17. package/dist/esm/{chunk-JZWB7AIU.js → chunk-QBSUFYNB.js} +17 -10
  18. package/dist/esm/chunk-QBSUFYNB.js.map +7 -0
  19. package/dist/esm/{chunk-4IUYLRHT.js → chunk-U2TSTTDG.js} +12 -1
  20. package/dist/esm/chunk-U2TSTTDG.js.map +7 -0
  21. package/dist/esm/chunk-UYT3253Q.js +423 -0
  22. package/dist/esm/chunk-UYT3253Q.js.map +7 -0
  23. package/dist/esm/chunk-VSR6KPDV.js +274 -0
  24. package/dist/esm/chunk-VSR6KPDV.js.map +7 -0
  25. package/dist/esm/{chunk-DPMEZY7V.js → chunk-WOZD7WE6.js} +19 -10
  26. package/dist/esm/chunk-WOZD7WE6.js.map +7 -0
  27. package/dist/esm/chunk-Z36TNZT2.js +823 -0
  28. package/dist/esm/chunk-Z36TNZT2.js.map +7 -0
  29. package/dist/esm/{chunk-MLOCDLUF.js → chunk-Z7Z3EXTF.js} +13 -13
  30. package/dist/esm/{chunk-MLOCDLUF.js.map → chunk-Z7Z3EXTF.js.map} +2 -2
  31. package/dist/esm/{chunk-PUPUQWJC.js → chunk-ZDALYMGF.js} +28 -33
  32. package/dist/esm/chunk-ZDALYMGF.js.map +7 -0
  33. package/dist/esm/{clock.kpuzzle.json-EKWRMHJM.js → clock.kpuzzle.json-BQKNKV3G.js} +10 -48
  34. package/dist/esm/clock.kpuzzle.json-BQKNKV3G.js.map +7 -0
  35. package/dist/esm/{entry-L6CE2HLF.js → entry-JFJRMSLA.js} +175 -170
  36. package/dist/esm/entry-JFJRMSLA.js.map +7 -0
  37. package/dist/esm/{fto.sgs.json-62YNULOK.js → fto.sgs.json-7I3SDUV5.js} +6 -14
  38. package/dist/esm/fto.sgs.json-7I3SDUV5.js.map +7 -0
  39. package/dist/esm/kpuzzle/index.js +5 -35
  40. package/dist/esm/megaminx.sgs.json-H4UHRFJ6.js +16 -0
  41. package/dist/esm/{3d-Q4WSD4BC.js.map → megaminx.sgs.json-H4UHRFJ6.js.map} +0 -0
  42. package/dist/esm/{module-entry-J2N3UZP7.js → module-entry-4JHVVJZL.js} +2 -2
  43. package/dist/esm/{module-entry-J2N3UZP7.js.map → module-entry-4JHVVJZL.js.map} +0 -0
  44. package/dist/esm/notation/index.js +6 -4
  45. package/dist/esm/protocol/index.js +2 -1
  46. package/dist/esm/puzzle-geometry/index.js +3 -1
  47. package/dist/esm/puzzles/index.js +4 -4
  48. package/dist/esm/{pyraminx.sgs.json-7QMPT5XP.js → pyraminx.sgs.json-ADZX6JEQ.js} +5 -5
  49. package/dist/esm/{megaminx.sgs.json-PRL46G5J.js.map → pyraminx.sgs.json-ADZX6JEQ.js.map} +0 -0
  50. package/dist/esm/scramble/index.js +4 -4
  51. package/dist/esm/{scramble_444-JP3CWLJM.js → scramble_444-QWIUGTEG.js} +4 -4
  52. package/dist/esm/{scramble_444-JP3CWLJM.js.map → scramble_444-QWIUGTEG.js.map} +0 -0
  53. package/dist/esm/search/index.js +4 -4
  54. package/dist/esm/skewb.sgs.json-KZUPZ744.js +16 -0
  55. package/dist/esm/{pyraminx.sgs.json-7QMPT5XP.js.map → skewb.sgs.json-KZUPZ744.js.map} +0 -0
  56. package/dist/esm/{sq1-hyperorbit.kpuzzle.json-N3FGCPML.js → sq1-hyperorbit.kpuzzle.json-4XS5YACO.js} +8 -8
  57. package/dist/esm/sq1-hyperorbit.kpuzzle.json-4XS5YACO.js.map +7 -0
  58. package/dist/esm/twisty/index.js +441 -349
  59. package/dist/esm/twisty/index.js.map +3 -3
  60. package/dist/esm/worker-inside-generated-string-MFGRIFCG.js +3447 -0
  61. package/dist/esm/worker-inside-generated-string-MFGRIFCG.js.map +7 -0
  62. package/dist/types/alg/Alg.d.ts +0 -1
  63. package/dist/types/alg/Alg.spec.d.ts +0 -1
  64. package/dist/types/alg/AlgBuilder.d.ts +0 -1
  65. package/dist/types/alg/Serializable.d.ts +0 -1
  66. package/dist/types/alg/common.d.ts +0 -1
  67. package/dist/types/alg/debug.d.ts +0 -1
  68. package/dist/types/alg/example.d.ts +0 -1
  69. package/dist/types/alg/index.d.ts +0 -1
  70. package/dist/types/alg/is.d.ts +0 -1
  71. package/dist/types/alg/iteration.d.ts +0 -1
  72. package/dist/types/alg/keyboard.d.ts +0 -1
  73. package/dist/types/alg/limits.d.ts +0 -1
  74. package/dist/types/alg/operation.d.ts +0 -1
  75. package/dist/types/alg/operation.spec.d.ts +0 -1
  76. package/dist/types/alg/parse.d.ts +0 -1
  77. package/dist/types/alg/parse.spec.d.ts +0 -1
  78. package/dist/types/alg/test/alg-comparison.d.ts +0 -1
  79. package/dist/types/alg/test/alg.spec.d.ts +0 -1
  80. package/dist/types/alg/traversal.d.ts +0 -1
  81. package/dist/types/alg/units/QuantumWithAmount.d.ts +0 -1
  82. package/dist/types/alg/units/Unit.d.ts +0 -1
  83. package/dist/types/alg/units/containers/Commutator.d.ts +0 -1
  84. package/dist/types/alg/units/containers/Conjugate.d.ts +0 -1
  85. package/dist/types/alg/units/containers/Grouping.d.ts +0 -1
  86. package/dist/types/alg/units/index.d.ts +0 -1
  87. package/dist/types/alg/units/leaves/LineComment.d.ts +0 -1
  88. package/dist/types/alg/units/leaves/LineComment.spec.d.ts +0 -1
  89. package/dist/types/alg/units/leaves/Move.d.ts +0 -1
  90. package/dist/types/alg/units/leaves/Move.spec.d.ts +0 -1
  91. package/dist/types/alg/units/leaves/Newline.d.ts +0 -1
  92. package/dist/types/alg/units/leaves/Pause.d.ts +0 -1
  93. package/dist/types/alg/url.d.ts +0 -1
  94. package/dist/types/alg/url.spec.d.ts +0 -1
  95. package/dist/types/alg/validation.d.ts +0 -1
  96. package/dist/types/alg/warnOnce.d.ts +0 -1
  97. package/dist/types/bluetooth/connect/index.d.ts +0 -1
  98. package/dist/types/bluetooth/debug.d.ts +0 -1
  99. package/dist/types/bluetooth/index.d.ts +0 -1
  100. package/dist/types/bluetooth/keyboard.d.ts +5 -5
  101. package/dist/types/bluetooth/smart-puzzle/Heykube.d.ts +3 -3
  102. package/dist/types/bluetooth/smart-puzzle/bluetooth-puzzle.d.ts +3 -5
  103. package/dist/types/bluetooth/smart-puzzle/connect.d.ts +0 -1
  104. package/dist/types/bluetooth/smart-puzzle/endianness.d.ts +0 -1
  105. package/dist/types/bluetooth/smart-puzzle/gan.d.ts +5 -4
  106. package/dist/types/bluetooth/smart-puzzle/giiker.d.ts +3 -3
  107. package/dist/types/bluetooth/smart-puzzle/giiker.spec.d.ts +0 -1
  108. package/dist/types/bluetooth/smart-puzzle/gocube.d.ts +0 -1
  109. package/dist/types/bluetooth/smart-robot/GanRobot.d.ts +0 -1
  110. package/dist/types/bluetooth/smart-robot/index.d.ts +0 -1
  111. package/dist/types/bluetooth/smart-timer/GanTimer.d.ts +0 -1
  112. package/dist/types/bluetooth/smart-timer/index.d.ts +0 -1
  113. package/dist/types/bluetooth/transformer.d.ts +0 -1
  114. package/dist/types/cubing.bundle-global.d.ts +0 -1
  115. package/dist/types/cubing.bundle-global.exports.d.ts +0 -1
  116. package/dist/types/esm-test-worker.d.ts +0 -1
  117. package/dist/types/kpuzzle/3x3x3/3x3x3.kpuzzle.json.d.ts +2 -3
  118. package/dist/types/kpuzzle/3x3x3/3x3x3.kpuzzle.json.spec.d.ts +0 -1
  119. package/dist/types/kpuzzle/3x3x3/puzzle-orientation.d.ts +4 -0
  120. package/dist/types/kpuzzle/KPuzzle.d.ts +30 -0
  121. package/dist/types/kpuzzle/KPuzzleDefinition.d.ts +20 -0
  122. package/dist/types/kpuzzle/KState.d.ts +18 -0
  123. package/dist/types/kpuzzle/KTransformation.d.ts +23 -0
  124. package/dist/types/kpuzzle/calculate.d.ts +16 -0
  125. package/dist/types/kpuzzle/combine.d.ts +3 -0
  126. package/dist/types/kpuzzle/construct.d.ts +5 -0
  127. package/dist/types/kpuzzle/index.d.ts +6 -10
  128. package/dist/types/notation/CountAnimatedLeaves.d.ts +0 -1
  129. package/dist/types/notation/CountMoves.d.ts +1 -1
  130. package/dist/types/notation/index.d.ts +2 -3
  131. package/dist/types/protocol/binary/binary3x3x3.d.ts +5 -6
  132. package/dist/types/protocol/binary/binary3x3x3.spec.d.ts +0 -1
  133. package/dist/types/protocol/binary/hex.d.ts +0 -1
  134. package/dist/types/protocol/binary/hex.spec.d.ts +0 -1
  135. package/dist/types/protocol/binary/orbit-indexing.d.ts +0 -1
  136. package/dist/types/protocol/binary/orbit-indexing.spec.d.ts +0 -1
  137. package/dist/types/protocol/binary/puzzle-orientation.d.ts +4 -5
  138. package/dist/types/protocol/index.d.ts +0 -1
  139. package/dist/types/puzzle-geometry/FaceNameSwizzler.d.ts +0 -1
  140. package/dist/types/puzzle-geometry/Options.d.ts +0 -1
  141. package/dist/types/puzzle-geometry/PGPuzzles.d.ts +0 -1
  142. package/dist/types/puzzle-geometry/PGPuzzles.spec.d.ts +0 -1
  143. package/dist/types/puzzle-geometry/Perm.d.ts +0 -1
  144. package/dist/types/puzzle-geometry/PermOriSet.d.ts +4 -5
  145. package/dist/types/puzzle-geometry/PlatonicGenerator.d.ts +0 -1
  146. package/dist/types/puzzle-geometry/PuzzleGeometry.d.ts +9 -3
  147. package/dist/types/puzzle-geometry/Quat.d.ts +0 -1
  148. package/dist/types/puzzle-geometry/Quat.spec.d.ts +0 -1
  149. package/dist/types/puzzle-geometry/SchreierSims.d.ts +0 -1
  150. package/dist/types/puzzle-geometry/index.d.ts +1 -1
  151. package/dist/types/puzzle-geometry/notation-mapping/FTONotationMapper.d.ts +0 -1
  152. package/dist/types/puzzle-geometry/notation-mapping/FaceRenamingMapper.d.ts +0 -1
  153. package/dist/types/puzzle-geometry/notation-mapping/MegaminxScramblingNotationMapper.d.ts +0 -1
  154. package/dist/types/puzzle-geometry/notation-mapping/NotationMapper.d.ts +3 -2
  155. package/dist/types/puzzle-geometry/notation-mapping/NullMapper.d.ts +0 -1
  156. package/dist/types/puzzle-geometry/notation-mapping/NxNxNCubeMapper.d.ts +0 -1
  157. package/dist/types/puzzle-geometry/notation-mapping/PyraminxNotationMapper.d.ts +0 -1
  158. package/dist/types/puzzle-geometry/notation-mapping/SkewbNotationMapper.d.ts +0 -1
  159. package/dist/types/puzzle-geometry/notation-mapping/index.d.ts +0 -1
  160. package/dist/types/puzzle-geometry/orientcenters.spec.d.ts +0 -1
  161. package/dist/types/puzzles/PuzzleLoader.d.ts +4 -3
  162. package/dist/types/puzzles/async/async-pg3d.d.ts +3 -3
  163. package/dist/types/puzzles/async/lazy-cached-kpuzzle.d.ts +2 -0
  164. package/dist/types/puzzles/customPGPuzzleLoader.d.ts +2 -3
  165. package/dist/types/puzzles/implementations/2x2x2/2x2x2.kpuzzle.json.d.ts +1 -2
  166. package/dist/types/puzzles/implementations/2x2x2/2x2x2.kpuzzle.svg.d.ts +0 -1
  167. package/dist/types/puzzles/implementations/2x2x2/index.d.ts +0 -1
  168. package/dist/types/puzzles/implementations/3x3x3/3x3x3-ll.kpuzzle.svg.d.ts +0 -1
  169. package/dist/types/puzzles/implementations/3x3x3/3x3x3.kpuzzle.svg.d.ts +0 -1
  170. package/dist/types/puzzles/implementations/3x3x3/index.d.ts +0 -1
  171. package/dist/types/puzzles/implementations/clock/clock.kpuzzle.json.d.ts +1 -2
  172. package/dist/types/puzzles/implementations/clock/clock.kpuzzle.svg.d.ts +0 -1
  173. package/dist/types/puzzles/implementations/clock/index.d.ts +0 -1
  174. package/dist/types/puzzles/implementations/fto/index.d.ts +0 -1
  175. package/dist/types/puzzles/implementations/megaminx/index.d.ts +0 -1
  176. package/dist/types/puzzles/implementations/pyraminx/index.d.ts +0 -1
  177. package/dist/types/puzzles/implementations/pyraminx/pyraminx.kpuzzle.json.d.ts +0 -1
  178. package/dist/types/puzzles/implementations/pyraminx/pyraminx.kpuzzle.svg.d.ts +0 -1
  179. package/dist/types/puzzles/implementations/square1/index.d.ts +0 -1
  180. package/dist/types/puzzles/implementations/square1/sq1-hyperorbit.kpuzzle.json.d.ts +1 -2
  181. package/dist/types/puzzles/implementations/square1/sq1-hyperorbit.kpuzzle.svg.d.ts +0 -1
  182. package/dist/types/puzzles/index.d.ts +1 -2
  183. package/dist/types/puzzles/stickerings/appearance.d.ts +6 -7
  184. package/dist/types/puzzles/stickerings/cube-stickerings.d.ts +0 -1
  185. package/dist/types/puzzles/stickerings/fto-stickerings.d.ts +0 -1
  186. package/dist/types/puzzles/stickerings/global-custom-stickering-hack.d.ts +0 -1
  187. package/dist/types/puzzles/stickerings/megaminx-stickerings.d.ts +0 -1
  188. package/dist/types/scramble/index.d.ts +0 -1
  189. package/dist/types/search/esm-test-worker.d.ts +0 -1
  190. package/dist/types/search/index.d.ts +0 -1
  191. package/dist/types/search/inside/api.d.ts +6 -7
  192. package/dist/types/search/inside/api.spec.d.ts +0 -1
  193. package/dist/types/search/inside/entry.d.ts +0 -1
  194. package/dist/types/search/inside/inside-worker.d.ts +0 -1
  195. package/dist/types/search/inside/module-entry-path-getter.d.ts +0 -1
  196. package/dist/types/search/inside/module-entry.d.ts +0 -1
  197. package/dist/types/search/inside/solve/addOrientationSuffix.d.ts +0 -1
  198. package/dist/types/search/inside/solve/parseSGS.d.ts +3 -4
  199. package/dist/types/search/inside/solve/puzzles/2x2x2.d.ts +3 -4
  200. package/dist/types/search/inside/solve/puzzles/2x2x2.sgs.json.d.ts +0 -1
  201. package/dist/types/search/inside/solve/puzzles/3x3x3/convert.d.ts +2 -3
  202. package/dist/types/search/inside/solve/puzzles/3x3x3/filter.d.ts +4 -4
  203. package/dist/types/search/inside/solve/puzzles/3x3x3/index.d.ts +3 -4
  204. package/dist/types/search/inside/solve/puzzles/3x3x3/legacy-sgs.d.ts +0 -1
  205. package/dist/types/search/inside/solve/puzzles/3x3x3-inefficient.sgs.json.d.ts +0 -1
  206. package/dist/types/search/inside/solve/puzzles/4x4x4.d.ts +0 -1
  207. package/dist/types/search/inside/solve/puzzles/5x5x5.d.ts +0 -1
  208. package/dist/types/search/inside/solve/puzzles/big-cubes.d.ts +0 -1
  209. package/dist/types/search/inside/solve/puzzles/clock.d.ts +0 -1
  210. package/dist/types/search/inside/solve/puzzles/fto.d.ts +2 -3
  211. package/dist/types/search/inside/solve/puzzles/fto.sgs.json.d.ts +0 -3
  212. package/dist/types/search/inside/solve/puzzles/megaminx.d.ts +2 -3
  213. package/dist/types/search/inside/solve/puzzles/megaminx.sgs.json.d.ts +2 -3
  214. package/dist/types/search/inside/solve/puzzles/pyraminx.d.ts +3 -4
  215. package/dist/types/search/inside/solve/puzzles/pyraminx.sgs.json.d.ts +0 -1
  216. package/dist/types/search/inside/solve/puzzles/sgs-defs.spec.d.ts +0 -1
  217. package/dist/types/search/inside/solve/puzzles/skewb.d.ts +3 -4
  218. package/dist/types/search/inside/solve/puzzles/skewb.sgs.json.d.ts +2 -3
  219. package/dist/types/search/inside/solve/puzzles/sq1.d.ts +0 -1
  220. package/dist/types/search/inside/solve/puzzles/wca-minx.d.ts +0 -1
  221. package/dist/types/search/inside/solve/tremble.d.ts +6 -6
  222. package/dist/types/search/instantiator.d.ts +0 -1
  223. package/dist/types/search/outside.d.ts +6 -7
  224. package/dist/types/search/worker-inside-generated-string.d.ts +1 -2
  225. package/dist/types/stream/index.d.ts +0 -1
  226. package/dist/types/stream/process/ReorientedStream.d.ts +1 -3
  227. package/dist/types/stream/proxy-event.d.ts +0 -1
  228. package/dist/types/stream/twizzle/TwizzleStream.d.ts +0 -1
  229. package/dist/types/stream/twizzle/stream-types.d.ts +0 -1
  230. package/dist/types/stream/websocket-proxy.d.ts +0 -1
  231. package/dist/types/twisty/controllers/AnimationTypes.d.ts +2 -3
  232. package/dist/types/twisty/controllers/RenderScheduler.d.ts +0 -1
  233. package/dist/types/twisty/controllers/TwistyAnimationController.d.ts +0 -1
  234. package/dist/types/twisty/controllers/TwistyPlayerController.d.ts +0 -1
  235. package/dist/types/twisty/controllers/easing.d.ts +0 -1
  236. package/dist/types/twisty/controllers/indexer/AlgDuration.d.ts +0 -1
  237. package/dist/types/twisty/controllers/indexer/AlgIndexer.d.ts +6 -6
  238. package/dist/types/twisty/controllers/indexer/SimpleAlgIndexer.d.ts +7 -7
  239. package/dist/types/twisty/controllers/indexer/simultaneous-moves/SimultaneousMoveIndexer.d.ts +8 -8
  240. package/dist/types/twisty/controllers/indexer/simultaneous-moves/SimultaneousMoveIndexerV2.d.ts +9 -9
  241. package/dist/types/twisty/controllers/indexer/simultaneous-moves/simul-moves.d.ts +0 -1
  242. package/dist/types/twisty/controllers/indexer/tree/AlgWalker.d.ts +36 -37
  243. package/dist/types/twisty/controllers/indexer/tree/TreeAlgIndexer.d.ts +7 -7
  244. package/dist/types/twisty/controllers/indexer/tree/chunkAlgs.d.ts +0 -1
  245. package/dist/types/twisty/controllers/stream/timeline-move-calculation-draft.d.ts +0 -1
  246. package/dist/types/twisty/heavy-code-imports/3d.d.ts +1 -2
  247. package/dist/types/twisty/heavy-code-imports/dynamic-entries/{3d.d.ts → 3d-dynamic-inside.d.ts} +0 -1
  248. package/dist/types/twisty/index.d.ts +1 -4
  249. package/dist/types/twisty/model/PromiseFreshener.d.ts +0 -1
  250. package/dist/types/twisty/model/TwistyPlayerModel.d.ts +6 -7
  251. package/dist/types/twisty/model/UserVisibleErrorTracker.d.ts +0 -1
  252. package/dist/types/twisty/model/helpers.d.ts +0 -1
  253. package/dist/types/twisty/model/props/TwistyProp.d.ts +0 -1
  254. package/dist/types/twisty/model/props/TwistyProp.spec.d.ts +0 -1
  255. package/dist/types/twisty/model/props/TwistyPropDebugger.d.ts +0 -1
  256. package/dist/types/twisty/model/props/general/URLProp.d.ts +0 -1
  257. package/dist/types/twisty/model/props/puzzle/display/FoundationDisplayProp.d.ts +0 -1
  258. package/dist/types/twisty/model/props/puzzle/display/HintFaceletProp.d.ts +0 -1
  259. package/dist/types/twisty/model/props/puzzle/display/SpriteProp.d.ts +0 -1
  260. package/dist/types/twisty/model/props/puzzle/display/StickeringProp.d.ts +0 -1
  261. package/dist/types/twisty/model/props/puzzle/state/AlgProp.d.ts +0 -1
  262. package/dist/types/twisty/model/props/puzzle/state/AlgTransformationProp.d.ts +5 -8
  263. package/dist/types/twisty/model/props/puzzle/state/AnchoredStartProp.d.ts +5 -7
  264. package/dist/types/twisty/model/props/puzzle/state/CatchUpMoveProp.d.ts +0 -1
  265. package/dist/types/twisty/model/props/puzzle/state/CurrentLeavesSimplified.d.ts +0 -1
  266. package/dist/types/twisty/model/props/puzzle/state/{CurrentLeavesProp.d.ts → CurrentMoveInfoProp.d.ts} +2 -3
  267. package/dist/types/twisty/model/props/puzzle/state/CurrentStateProp.d.ts +14 -0
  268. package/dist/types/twisty/model/props/puzzle/state/IndexerConstructorProp.d.ts +7 -8
  269. package/dist/types/twisty/model/props/puzzle/state/IndexerConstructorRequestProp.d.ts +0 -1
  270. package/dist/types/twisty/model/props/puzzle/state/IndexerProp.d.ts +5 -6
  271. package/dist/types/twisty/model/props/puzzle/state/LegacyPositionProp.d.ts +2 -3
  272. package/dist/types/twisty/model/props/puzzle/state/MovePressInputProp.d.ts +0 -1
  273. package/dist/types/twisty/model/props/puzzle/state/NaiveMoveCountProp.d.ts +0 -1
  274. package/dist/types/twisty/model/props/puzzle/state/PuzzleAlgProp.d.ts +4 -5
  275. package/dist/types/twisty/model/props/puzzle/state/SetupAnchorProp.d.ts +0 -1
  276. package/dist/types/twisty/model/props/puzzle/structure/KPuzzleProp.d.ts +10 -0
  277. package/dist/types/twisty/model/props/puzzle/structure/PuzzleDescriptionProp.d.ts +0 -1
  278. package/dist/types/twisty/model/props/puzzle/structure/PuzzleIDProp.d.ts +0 -1
  279. package/dist/types/twisty/model/props/puzzle/structure/PuzzleIDRequestProp.d.ts +0 -1
  280. package/dist/types/twisty/model/props/puzzle/structure/PuzzleLoaderProp.d.ts +0 -1
  281. package/dist/types/twisty/model/props/timeline/CoarseTimelineInfoProp.d.ts +0 -1
  282. package/dist/types/twisty/model/props/timeline/DetailedTimelineInfoProp.d.ts +0 -1
  283. package/dist/types/twisty/model/props/timeline/PlayingInfoProp.d.ts +0 -1
  284. package/dist/types/twisty/model/props/timeline/TempoScaleProp.d.ts +0 -1
  285. package/dist/types/twisty/model/props/timeline/TimestampRequestProp.d.ts +0 -1
  286. package/dist/types/twisty/model/props/viewer/BackViewProp.d.ts +0 -1
  287. package/dist/types/twisty/model/props/viewer/BackgroundProp.d.ts +0 -1
  288. package/dist/types/twisty/model/props/viewer/ButtonAppearanceProp.d.ts +0 -1
  289. package/dist/types/twisty/model/props/viewer/ControlPanelProp.d.ts +0 -1
  290. package/dist/types/twisty/model/props/viewer/LatitudeLimit.d.ts +0 -1
  291. package/dist/types/twisty/model/props/viewer/OrbitCoordinatesProp.d.ts +0 -1
  292. package/dist/types/twisty/model/props/viewer/OrbitCoordinatesRequestProp.d.ts +0 -1
  293. package/dist/types/twisty/model/props/viewer/TimeRangeProp.d.ts +2 -3
  294. package/dist/types/twisty/model/props/viewer/ViewerLinkProp.d.ts +0 -1
  295. package/dist/types/twisty/model/props/viewer/VisualizationProp.d.ts +0 -1
  296. package/dist/types/twisty/model/props/viewer/VisualizationStrategyProp.d.ts +0 -1
  297. package/dist/types/twisty/views/2D/KPuzzleSVGWrapper.d.ts +17 -0
  298. package/dist/types/twisty/views/2D/Twisty2DPuzzle.css.d.ts +0 -1
  299. package/dist/types/twisty/views/2D/Twisty2DPuzzle.d.ts +4 -4
  300. package/dist/types/twisty/views/2D/Twisty2DPuzzleWrapper.d.ts +0 -1
  301. package/dist/types/twisty/views/2D/Twisty2DSceneWrapper.d.ts +0 -1
  302. package/dist/types/twisty/views/3D/DragTracker.d.ts +0 -1
  303. package/dist/types/twisty/views/3D/RendererPool.d.ts +0 -1
  304. package/dist/types/twisty/views/3D/TAU.d.ts +0 -1
  305. package/dist/types/twisty/views/3D/Twisty3DPuzzleWrapper.d.ts +0 -1
  306. package/dist/types/twisty/views/3D/Twisty3DRenderTarget.d.ts +0 -1
  307. package/dist/types/twisty/views/3D/Twisty3DScene.d.ts +6 -6
  308. package/dist/types/twisty/views/3D/Twisty3DSceneWrapper.d.ts +2 -3
  309. package/dist/types/twisty/views/3D/Twisty3DVantage.css.d.ts +0 -1
  310. package/dist/types/twisty/views/3D/Twisty3DVantage.d.ts +0 -1
  311. package/dist/types/twisty/views/3D/TwistyOrbitControls.d.ts +2 -3
  312. package/dist/types/twisty/views/3D/TwistyOrbitControls.spec.d.ts +0 -1
  313. package/dist/types/twisty/views/3D/puzzles/Cube3D.d.ts +4 -5
  314. package/dist/types/twisty/views/3D/puzzles/PG3D.d.ts +6 -6
  315. package/dist/types/twisty/views/3D/puzzles/Twisty3DPuzzle.d.ts +0 -1
  316. package/dist/types/twisty/views/ClassListManager.d.ts +0 -1
  317. package/dist/types/twisty/views/ManagedCustomElement.d.ts +0 -1
  318. package/dist/types/twisty/views/TwistyAlgEditor/LeafTokens.d.ts +0 -1
  319. package/dist/types/twisty/views/TwistyAlgEditor/TwistyAlgEditor.css.d.ts +0 -1
  320. package/dist/types/twisty/views/TwistyAlgEditor/TwistyAlgEditor.d.ts +0 -1
  321. package/dist/types/twisty/views/TwistyAlgEditor/TwistyAlgEditor.spec.d.ts +0 -1
  322. package/dist/types/twisty/views/TwistyAlgEditor/model.d.ts +0 -1
  323. package/dist/types/twisty/views/TwistyAlgViewer.css.d.ts +0 -1
  324. package/dist/types/twisty/views/TwistyAlgViewer.d.ts +0 -1
  325. package/dist/types/twisty/views/TwistyPlayer.css.d.ts +0 -1
  326. package/dist/types/twisty/views/TwistyPlayer.d.ts +2 -2
  327. package/dist/types/twisty/views/TwistyPlayerSettable.d.ts +0 -1
  328. package/dist/types/twisty/views/TwistyViewerWrapper.css.d.ts +0 -1
  329. package/dist/types/twisty/views/canvas.d.ts +0 -1
  330. package/dist/types/twisty/views/control-panel/TwistyButtonsV2.css.d.ts +0 -1
  331. package/dist/types/twisty/views/control-panel/TwistyButtonsV2.d.ts +0 -1
  332. package/dist/types/twisty/views/control-panel/TwistyScrubber.css.d.ts +0 -1
  333. package/dist/types/twisty/views/control-panel/TwistyScrubberV2.d.ts +0 -1
  334. package/dist/types/twisty/views/control-panel/webkit-fullscreen.d.ts +0 -1
  335. package/dist/types/twisty/views/document.d.ts +0 -1
  336. package/dist/types/twisty/views/node-custom-element-shims.d.ts +0 -1
  337. package/dist/types/twisty/views/screenshot.d.ts +0 -1
  338. package/dist/types/twisty/views/stream/TwistyStreamSource.css.d.ts +0 -1
  339. package/dist/types/twisty/views/stream/TwistyStreamSource.d.ts +0 -1
  340. package/dist/types/vendor/comlink-everywhere/inside/index.d.ts +0 -1
  341. package/dist/types/vendor/comlink-everywhere/inside/node.d.ts +0 -1
  342. package/dist/types/vendor/comlink-everywhere/outside/index.d.ts +0 -1
  343. package/dist/types/vendor/comlink-everywhere/outside/node.d.ts +0 -1
  344. package/dist/types/vendor/cstimer/src/js/lib/mathlib.d.ts +0 -1
  345. package/dist/types/vendor/cstimer/src/js/scramble/scramble_444.d.ts +0 -1
  346. package/dist/types/vendor/min2phase/gwt.d.ts +0 -1
  347. package/dist/types/vendor/p-lazy/p-lazy.d.ts +0 -1
  348. package/dist/types/vendor/random-uint-below/get-random-values.d.ts +0 -1
  349. package/dist/types/vendor/random-uint-below/index.d.ts +0 -1
  350. package/dist/types/vendor/random-uint-below/random-choice.d.ts +0 -1
  351. package/dist/types/vendor/random-uint-below/random53BitValue.d.ts +0 -1
  352. package/dist/types/vendor/sq12phase/scramble_sq1.d.ts +0 -1
  353. package/dist/types/vendor/three/examples/jsm/libs/stats.modified.module.d.ts +0 -1
  354. package/dist/types/vendor/unsafe-raw-aes/unsafe-raw-aes.d.ts +0 -1
  355. package/package.json +3 -4
  356. package/dist/bin/order.js +0 -16675
  357. package/dist/bin/order.js.map +0 -7
  358. package/dist/bin/puzzle-geometry-bin.js +0 -5444
  359. package/dist/bin/puzzle-geometry-bin.js.map +0 -7
  360. package/dist/bundle-global/cubing.bundle-global.js +0 -10432
  361. package/dist/esm/2x2x2.kpuzzle.json-JOGUSQ4N.js.map +0 -7
  362. package/dist/esm/2x2x2.sgs.json-FRBWMMA7.js.map +0 -7
  363. package/dist/esm/3d-Q4WSD4BC.js +0 -21
  364. package/dist/esm/chunk-4IUYLRHT.js.map +0 -7
  365. package/dist/esm/chunk-DK6PXBB2.js.map +0 -7
  366. package/dist/esm/chunk-DPMEZY7V.js.map +0 -7
  367. package/dist/esm/chunk-FK2SCC3Z.js.map +0 -7
  368. package/dist/esm/chunk-JZWB7AIU.js.map +0 -7
  369. package/dist/esm/chunk-N3RNWU5T.js.map +0 -7
  370. package/dist/esm/chunk-PUPUQWJC.js.map +0 -7
  371. package/dist/esm/chunk-X6JHXPDX.js +0 -2359
  372. package/dist/esm/chunk-X6JHXPDX.js.map +0 -7
  373. package/dist/esm/chunk-XVZOMB6J.js.map +0 -7
  374. package/dist/esm/clock.kpuzzle.json-EKWRMHJM.js.map +0 -7
  375. package/dist/esm/entry-L6CE2HLF.js.map +0 -7
  376. package/dist/esm/fto.sgs.json-62YNULOK.js.map +0 -7
  377. package/dist/esm/megaminx.sgs.json-PRL46G5J.js +0 -16
  378. package/dist/esm/skewb.sgs.json-FWHYACJG.js +0 -16
  379. package/dist/esm/skewb.sgs.json-FWHYACJG.js.map +0 -7
  380. package/dist/esm/sq1-hyperorbit.kpuzzle.json-N3FGCPML.js.map +0 -7
  381. package/dist/esm/worker-inside-generated-string-OWJA5IIQ.js +0 -3450
  382. package/dist/esm/worker-inside-generated-string-OWJA5IIQ.js.map +0 -7
  383. package/dist/types/alg/Alg.d.ts.map +0 -1
  384. package/dist/types/alg/Alg.spec.d.ts.map +0 -1
  385. package/dist/types/alg/AlgBuilder.d.ts.map +0 -1
  386. package/dist/types/alg/Serializable.d.ts.map +0 -1
  387. package/dist/types/alg/common.d.ts.map +0 -1
  388. package/dist/types/alg/debug.d.ts.map +0 -1
  389. package/dist/types/alg/example.d.ts.map +0 -1
  390. package/dist/types/alg/index.d.ts.map +0 -1
  391. package/dist/types/alg/is.d.ts.map +0 -1
  392. package/dist/types/alg/iteration.d.ts.map +0 -1
  393. package/dist/types/alg/keyboard.d.ts.map +0 -1
  394. package/dist/types/alg/limits.d.ts.map +0 -1
  395. package/dist/types/alg/operation.d.ts.map +0 -1
  396. package/dist/types/alg/operation.spec.d.ts.map +0 -1
  397. package/dist/types/alg/parse.d.ts.map +0 -1
  398. package/dist/types/alg/parse.spec.d.ts.map +0 -1
  399. package/dist/types/alg/test/alg-comparison.d.ts.map +0 -1
  400. package/dist/types/alg/test/alg.spec.d.ts.map +0 -1
  401. package/dist/types/alg/traversal.d.ts.map +0 -1
  402. package/dist/types/alg/units/QuantumWithAmount.d.ts.map +0 -1
  403. package/dist/types/alg/units/Unit.d.ts.map +0 -1
  404. package/dist/types/alg/units/containers/Commutator.d.ts.map +0 -1
  405. package/dist/types/alg/units/containers/Conjugate.d.ts.map +0 -1
  406. package/dist/types/alg/units/containers/Grouping.d.ts.map +0 -1
  407. package/dist/types/alg/units/index.d.ts.map +0 -1
  408. package/dist/types/alg/units/leaves/LineComment.d.ts.map +0 -1
  409. package/dist/types/alg/units/leaves/LineComment.spec.d.ts.map +0 -1
  410. package/dist/types/alg/units/leaves/Move.d.ts.map +0 -1
  411. package/dist/types/alg/units/leaves/Move.spec.d.ts.map +0 -1
  412. package/dist/types/alg/units/leaves/Newline.d.ts.map +0 -1
  413. package/dist/types/alg/units/leaves/Pause.d.ts.map +0 -1
  414. package/dist/types/alg/url.d.ts.map +0 -1
  415. package/dist/types/alg/url.spec.d.ts.map +0 -1
  416. package/dist/types/alg/validation.d.ts.map +0 -1
  417. package/dist/types/alg/warnOnce.d.ts.map +0 -1
  418. package/dist/types/bluetooth/connect/index.d.ts.map +0 -1
  419. package/dist/types/bluetooth/debug.d.ts.map +0 -1
  420. package/dist/types/bluetooth/index.d.ts.map +0 -1
  421. package/dist/types/bluetooth/keyboard.d.ts.map +0 -1
  422. package/dist/types/bluetooth/smart-puzzle/Heykube.d.ts.map +0 -1
  423. package/dist/types/bluetooth/smart-puzzle/bluetooth-puzzle.d.ts.map +0 -1
  424. package/dist/types/bluetooth/smart-puzzle/connect.d.ts.map +0 -1
  425. package/dist/types/bluetooth/smart-puzzle/endianness.d.ts.map +0 -1
  426. package/dist/types/bluetooth/smart-puzzle/gan.d.ts.map +0 -1
  427. package/dist/types/bluetooth/smart-puzzle/giiker.d.ts.map +0 -1
  428. package/dist/types/bluetooth/smart-puzzle/giiker.spec.d.ts.map +0 -1
  429. package/dist/types/bluetooth/smart-puzzle/gocube.d.ts.map +0 -1
  430. package/dist/types/bluetooth/smart-robot/GanRobot.d.ts.map +0 -1
  431. package/dist/types/bluetooth/smart-robot/index.d.ts.map +0 -1
  432. package/dist/types/bluetooth/smart-timer/GanTimer.d.ts.map +0 -1
  433. package/dist/types/bluetooth/smart-timer/index.d.ts.map +0 -1
  434. package/dist/types/bluetooth/transformer.d.ts.map +0 -1
  435. package/dist/types/cubing.bundle-global.d.ts.map +0 -1
  436. package/dist/types/cubing.bundle-global.exports.d.ts.map +0 -1
  437. package/dist/types/esm-test-worker.d.ts.map +0 -1
  438. package/dist/types/kpuzzle/3x3x3/3x3x3.kpuzzle.json.d.ts.map +0 -1
  439. package/dist/types/kpuzzle/3x3x3/3x3x3.kpuzzle.json.spec.d.ts.map +0 -1
  440. package/dist/types/kpuzzle/canon.spec.d.ts +0 -2
  441. package/dist/types/kpuzzle/canon.spec.d.ts.map +0 -1
  442. package/dist/types/kpuzzle/canonicalize.d.ts +0 -55
  443. package/dist/types/kpuzzle/canonicalize.d.ts.map +0 -1
  444. package/dist/types/kpuzzle/definition_types.d.ts +0 -19
  445. package/dist/types/kpuzzle/definition_types.d.ts.map +0 -1
  446. package/dist/types/kpuzzle/index.d.ts.map +0 -1
  447. package/dist/types/kpuzzle/kpuzzle.d.ts +0 -17
  448. package/dist/types/kpuzzle/kpuzzle.d.ts.map +0 -1
  449. package/dist/types/kpuzzle/kpuzzle.spec.d.ts +0 -2
  450. package/dist/types/kpuzzle/kpuzzle.spec.d.ts.map +0 -1
  451. package/dist/types/kpuzzle/move_notation.d.ts +0 -6
  452. package/dist/types/kpuzzle/move_notation.d.ts.map +0 -1
  453. package/dist/types/kpuzzle/parser/index.d.ts +0 -2
  454. package/dist/types/kpuzzle/parser/index.d.ts.map +0 -1
  455. package/dist/types/kpuzzle/parser/parser-peggy.d.ts +0 -15
  456. package/dist/types/kpuzzle/parser/parser-peggy.d.ts.map +0 -1
  457. package/dist/types/kpuzzle/parser/parser-shim.d.ts +0 -4
  458. package/dist/types/kpuzzle/parser/parser-shim.d.ts.map +0 -1
  459. package/dist/types/kpuzzle/parser/parser.d.ts +0 -1
  460. package/dist/types/kpuzzle/parser/parser.d.ts.map +0 -1
  461. package/dist/types/kpuzzle/prunetable.spec.d.ts +0 -2
  462. package/dist/types/kpuzzle/prunetable.spec.d.ts.map +0 -1
  463. package/dist/types/kpuzzle/pruningtable.d.ts +0 -16
  464. package/dist/types/kpuzzle/pruningtable.d.ts.map +0 -1
  465. package/dist/types/kpuzzle/puzzle-orientation.d.ts +0 -5
  466. package/dist/types/kpuzzle/puzzle-orientation.d.ts.map +0 -1
  467. package/dist/types/kpuzzle/svg.d.ts +0 -18
  468. package/dist/types/kpuzzle/svg.d.ts.map +0 -1
  469. package/dist/types/kpuzzle/transformations.d.ts +0 -13
  470. package/dist/types/kpuzzle/transformations.d.ts.map +0 -1
  471. package/dist/types/kpuzzle/transformations.spec.d.ts +0 -2
  472. package/dist/types/kpuzzle/transformations.spec.d.ts.map +0 -1
  473. package/dist/types/notation/CountAnimatedLeaves.d.ts.map +0 -1
  474. package/dist/types/notation/CountMoves.d.ts.map +0 -1
  475. package/dist/types/notation/index.d.ts.map +0 -1
  476. package/dist/types/protocol/binary/binary3x3x3.d.ts.map +0 -1
  477. package/dist/types/protocol/binary/binary3x3x3.spec.d.ts.map +0 -1
  478. package/dist/types/protocol/binary/hex.d.ts.map +0 -1
  479. package/dist/types/protocol/binary/hex.spec.d.ts.map +0 -1
  480. package/dist/types/protocol/binary/orbit-indexing.d.ts.map +0 -1
  481. package/dist/types/protocol/binary/orbit-indexing.spec.d.ts.map +0 -1
  482. package/dist/types/protocol/binary/puzzle-orientation.d.ts.map +0 -1
  483. package/dist/types/protocol/index.d.ts.map +0 -1
  484. package/dist/types/puzzle-geometry/FaceNameSwizzler.d.ts.map +0 -1
  485. package/dist/types/puzzle-geometry/Options.d.ts.map +0 -1
  486. package/dist/types/puzzle-geometry/PGPuzzles.d.ts.map +0 -1
  487. package/dist/types/puzzle-geometry/PGPuzzles.spec.d.ts.map +0 -1
  488. package/dist/types/puzzle-geometry/Perm.d.ts.map +0 -1
  489. package/dist/types/puzzle-geometry/PermOriSet.d.ts.map +0 -1
  490. package/dist/types/puzzle-geometry/PlatonicGenerator.d.ts.map +0 -1
  491. package/dist/types/puzzle-geometry/PuzzleGeometry.d.ts.map +0 -1
  492. package/dist/types/puzzle-geometry/Quat.d.ts.map +0 -1
  493. package/dist/types/puzzle-geometry/Quat.spec.d.ts.map +0 -1
  494. package/dist/types/puzzle-geometry/SchreierSims.d.ts.map +0 -1
  495. package/dist/types/puzzle-geometry/index.d.ts.map +0 -1
  496. package/dist/types/puzzle-geometry/interfaces.d.ts +0 -6
  497. package/dist/types/puzzle-geometry/interfaces.d.ts.map +0 -1
  498. package/dist/types/puzzle-geometry/notation-mapping/FTONotationMapper.d.ts.map +0 -1
  499. package/dist/types/puzzle-geometry/notation-mapping/FaceRenamingMapper.d.ts.map +0 -1
  500. package/dist/types/puzzle-geometry/notation-mapping/MegaminxScramblingNotationMapper.d.ts.map +0 -1
  501. package/dist/types/puzzle-geometry/notation-mapping/NotationMapper.d.ts.map +0 -1
  502. package/dist/types/puzzle-geometry/notation-mapping/NullMapper.d.ts.map +0 -1
  503. package/dist/types/puzzle-geometry/notation-mapping/NxNxNCubeMapper.d.ts.map +0 -1
  504. package/dist/types/puzzle-geometry/notation-mapping/PyraminxNotationMapper.d.ts.map +0 -1
  505. package/dist/types/puzzle-geometry/notation-mapping/SkewbNotationMapper.d.ts.map +0 -1
  506. package/dist/types/puzzle-geometry/notation-mapping/index.d.ts.map +0 -1
  507. package/dist/types/puzzle-geometry/orientcenters.spec.d.ts.map +0 -1
  508. package/dist/types/puzzles/PuzzleLoader.d.ts.map +0 -1
  509. package/dist/types/puzzles/async/async-pg3d.d.ts.map +0 -1
  510. package/dist/types/puzzles/customPGPuzzleLoader.d.ts.map +0 -1
  511. package/dist/types/puzzles/implementations/2x2x2/2x2x2.kpuzzle.json.d.ts.map +0 -1
  512. package/dist/types/puzzles/implementations/2x2x2/2x2x2.kpuzzle.svg.d.ts.map +0 -1
  513. package/dist/types/puzzles/implementations/2x2x2/index.d.ts.map +0 -1
  514. package/dist/types/puzzles/implementations/3x3x3/3x3x3-ll.kpuzzle.svg.d.ts.map +0 -1
  515. package/dist/types/puzzles/implementations/3x3x3/3x3x3.kpuzzle.svg.d.ts.map +0 -1
  516. package/dist/types/puzzles/implementations/3x3x3/index.d.ts.map +0 -1
  517. package/dist/types/puzzles/implementations/clock/clock.kpuzzle.json.d.ts.map +0 -1
  518. package/dist/types/puzzles/implementations/clock/clock.kpuzzle.svg.d.ts.map +0 -1
  519. package/dist/types/puzzles/implementations/clock/index.d.ts.map +0 -1
  520. package/dist/types/puzzles/implementations/fto/index.d.ts.map +0 -1
  521. package/dist/types/puzzles/implementations/megaminx/index.d.ts.map +0 -1
  522. package/dist/types/puzzles/implementations/pyraminx/index.d.ts.map +0 -1
  523. package/dist/types/puzzles/implementations/pyraminx/pyraminx.kpuzzle.json.d.ts.map +0 -1
  524. package/dist/types/puzzles/implementations/pyraminx/pyraminx.kpuzzle.svg.d.ts.map +0 -1
  525. package/dist/types/puzzles/implementations/square1/index.d.ts.map +0 -1
  526. package/dist/types/puzzles/implementations/square1/sq1-hyperorbit.kpuzzle.json.d.ts.map +0 -1
  527. package/dist/types/puzzles/implementations/square1/sq1-hyperorbit.kpuzzle.svg.d.ts.map +0 -1
  528. package/dist/types/puzzles/index.d.ts.map +0 -1
  529. package/dist/types/puzzles/stickerings/appearance.d.ts.map +0 -1
  530. package/dist/types/puzzles/stickerings/cube-stickerings.d.ts.map +0 -1
  531. package/dist/types/puzzles/stickerings/fto-stickerings.d.ts.map +0 -1
  532. package/dist/types/puzzles/stickerings/global-custom-stickering-hack.d.ts.map +0 -1
  533. package/dist/types/puzzles/stickerings/megaminx-stickerings.d.ts.map +0 -1
  534. package/dist/types/scramble/index.d.ts.map +0 -1
  535. package/dist/types/search/esm-test-worker.d.ts.map +0 -1
  536. package/dist/types/search/index.d.ts.map +0 -1
  537. package/dist/types/search/inside/api.d.ts.map +0 -1
  538. package/dist/types/search/inside/api.spec.d.ts.map +0 -1
  539. package/dist/types/search/inside/entry.d.ts.map +0 -1
  540. package/dist/types/search/inside/inside-worker.d.ts.map +0 -1
  541. package/dist/types/search/inside/module-entry-path-getter.d.ts.map +0 -1
  542. package/dist/types/search/inside/module-entry.d.ts.map +0 -1
  543. package/dist/types/search/inside/solve/addOrientationSuffix.d.ts.map +0 -1
  544. package/dist/types/search/inside/solve/parseSGS.d.ts.map +0 -1
  545. package/dist/types/search/inside/solve/puzzles/2x2x2.d.ts.map +0 -1
  546. package/dist/types/search/inside/solve/puzzles/2x2x2.sgs.json.d.ts.map +0 -1
  547. package/dist/types/search/inside/solve/puzzles/3x3x3/convert.d.ts.map +0 -1
  548. package/dist/types/search/inside/solve/puzzles/3x3x3/filter.d.ts.map +0 -1
  549. package/dist/types/search/inside/solve/puzzles/3x3x3/index.d.ts.map +0 -1
  550. package/dist/types/search/inside/solve/puzzles/3x3x3/legacy-sgs.d.ts.map +0 -1
  551. package/dist/types/search/inside/solve/puzzles/3x3x3-inefficient.sgs.json.d.ts.map +0 -1
  552. package/dist/types/search/inside/solve/puzzles/4x4x4.d.ts.map +0 -1
  553. package/dist/types/search/inside/solve/puzzles/5x5x5.d.ts.map +0 -1
  554. package/dist/types/search/inside/solve/puzzles/big-cubes.d.ts.map +0 -1
  555. package/dist/types/search/inside/solve/puzzles/clock.d.ts.map +0 -1
  556. package/dist/types/search/inside/solve/puzzles/fto.d.ts.map +0 -1
  557. package/dist/types/search/inside/solve/puzzles/fto.sgs.json.d.ts.map +0 -1
  558. package/dist/types/search/inside/solve/puzzles/megaminx.d.ts.map +0 -1
  559. package/dist/types/search/inside/solve/puzzles/megaminx.sgs.json.d.ts.map +0 -1
  560. package/dist/types/search/inside/solve/puzzles/pyraminx.d.ts.map +0 -1
  561. package/dist/types/search/inside/solve/puzzles/pyraminx.sgs.json.d.ts.map +0 -1
  562. package/dist/types/search/inside/solve/puzzles/sgs-defs.spec.d.ts.map +0 -1
  563. package/dist/types/search/inside/solve/puzzles/skewb.d.ts.map +0 -1
  564. package/dist/types/search/inside/solve/puzzles/skewb.sgs.json.d.ts.map +0 -1
  565. package/dist/types/search/inside/solve/puzzles/sq1.d.ts.map +0 -1
  566. package/dist/types/search/inside/solve/puzzles/wca-minx.d.ts.map +0 -1
  567. package/dist/types/search/inside/solve/tremble.d.ts.map +0 -1
  568. package/dist/types/search/instantiator.d.ts.map +0 -1
  569. package/dist/types/search/outside.d.ts.map +0 -1
  570. package/dist/types/search/worker-inside-generated-string.d.ts.map +0 -1
  571. package/dist/types/stream/index.d.ts.map +0 -1
  572. package/dist/types/stream/process/ReorientedStream.d.ts.map +0 -1
  573. package/dist/types/stream/proxy-event.d.ts.map +0 -1
  574. package/dist/types/stream/twizzle/TwizzleStream.d.ts.map +0 -1
  575. package/dist/types/stream/twizzle/stream-types.d.ts.map +0 -1
  576. package/dist/types/stream/websocket-proxy.d.ts.map +0 -1
  577. package/dist/types/twisty/controllers/AnimationTypes.d.ts.map +0 -1
  578. package/dist/types/twisty/controllers/RenderScheduler.d.ts.map +0 -1
  579. package/dist/types/twisty/controllers/TwistyAnimationController.d.ts.map +0 -1
  580. package/dist/types/twisty/controllers/TwistyPlayerController.d.ts.map +0 -1
  581. package/dist/types/twisty/controllers/easing.d.ts.map +0 -1
  582. package/dist/types/twisty/controllers/indexer/AlgDuration.d.ts.map +0 -1
  583. package/dist/types/twisty/controllers/indexer/AlgIndexer.d.ts.map +0 -1
  584. package/dist/types/twisty/controllers/indexer/SimpleAlgIndexer.d.ts.map +0 -1
  585. package/dist/types/twisty/controllers/indexer/simultaneous-moves/SimultaneousMoveIndexer.d.ts.map +0 -1
  586. package/dist/types/twisty/controllers/indexer/simultaneous-moves/SimultaneousMoveIndexerV2.d.ts.map +0 -1
  587. package/dist/types/twisty/controllers/indexer/simultaneous-moves/simul-moves.d.ts.map +0 -1
  588. package/dist/types/twisty/controllers/indexer/tree/AlgWalker.d.ts.map +0 -1
  589. package/dist/types/twisty/controllers/indexer/tree/TreeAlgIndexer.d.ts.map +0 -1
  590. package/dist/types/twisty/controllers/indexer/tree/chunkAlgs.d.ts.map +0 -1
  591. package/dist/types/twisty/controllers/stream/timeline-move-calculation-draft.d.ts.map +0 -1
  592. package/dist/types/twisty/heavy-code-imports/3d.d.ts.map +0 -1
  593. package/dist/types/twisty/heavy-code-imports/dynamic-entries/3d.d.ts.map +0 -1
  594. package/dist/types/twisty/index.d.ts.map +0 -1
  595. package/dist/types/twisty/model/PromiseFreshener.d.ts.map +0 -1
  596. package/dist/types/twisty/model/TwistyPlayerModel.d.ts.map +0 -1
  597. package/dist/types/twisty/model/UserVisibleErrorTracker.d.ts.map +0 -1
  598. package/dist/types/twisty/model/helpers.d.ts.map +0 -1
  599. package/dist/types/twisty/model/props/TwistyProp.d.ts.map +0 -1
  600. package/dist/types/twisty/model/props/TwistyProp.spec.d.ts.map +0 -1
  601. package/dist/types/twisty/model/props/TwistyPropDebugger.d.ts.map +0 -1
  602. package/dist/types/twisty/model/props/general/URLProp.d.ts.map +0 -1
  603. package/dist/types/twisty/model/props/puzzle/display/FoundationDisplayProp.d.ts.map +0 -1
  604. package/dist/types/twisty/model/props/puzzle/display/HintFaceletProp.d.ts.map +0 -1
  605. package/dist/types/twisty/model/props/puzzle/display/SpriteProp.d.ts.map +0 -1
  606. package/dist/types/twisty/model/props/puzzle/display/StickeringProp.d.ts.map +0 -1
  607. package/dist/types/twisty/model/props/puzzle/state/AlgProp.d.ts.map +0 -1
  608. package/dist/types/twisty/model/props/puzzle/state/AlgTransformationProp.d.ts.map +0 -1
  609. package/dist/types/twisty/model/props/puzzle/state/AnchoredStartProp.d.ts.map +0 -1
  610. package/dist/types/twisty/model/props/puzzle/state/CatchUpMoveProp.d.ts.map +0 -1
  611. package/dist/types/twisty/model/props/puzzle/state/CurrentLeavesProp.d.ts.map +0 -1
  612. package/dist/types/twisty/model/props/puzzle/state/CurrentLeavesSimplified.d.ts.map +0 -1
  613. package/dist/types/twisty/model/props/puzzle/state/CurrentTransformationProp.d.ts +0 -15
  614. package/dist/types/twisty/model/props/puzzle/state/CurrentTransformationProp.d.ts.map +0 -1
  615. package/dist/types/twisty/model/props/puzzle/state/IndexerConstructorProp.d.ts.map +0 -1
  616. package/dist/types/twisty/model/props/puzzle/state/IndexerConstructorRequestProp.d.ts.map +0 -1
  617. package/dist/types/twisty/model/props/puzzle/state/IndexerProp.d.ts.map +0 -1
  618. package/dist/types/twisty/model/props/puzzle/state/LegacyPositionProp.d.ts.map +0 -1
  619. package/dist/types/twisty/model/props/puzzle/state/MovePressInputProp.d.ts.map +0 -1
  620. package/dist/types/twisty/model/props/puzzle/state/NaiveMoveCountProp.d.ts.map +0 -1
  621. package/dist/types/twisty/model/props/puzzle/state/PuzzleAlgProp.d.ts.map +0 -1
  622. package/dist/types/twisty/model/props/puzzle/state/SetupAnchorProp.d.ts.map +0 -1
  623. package/dist/types/twisty/model/props/puzzle/structure/PuzzleDefProp.d.ts +0 -11
  624. package/dist/types/twisty/model/props/puzzle/structure/PuzzleDefProp.d.ts.map +0 -1
  625. package/dist/types/twisty/model/props/puzzle/structure/PuzzleDescriptionProp.d.ts.map +0 -1
  626. package/dist/types/twisty/model/props/puzzle/structure/PuzzleIDProp.d.ts.map +0 -1
  627. package/dist/types/twisty/model/props/puzzle/structure/PuzzleIDRequestProp.d.ts.map +0 -1
  628. package/dist/types/twisty/model/props/puzzle/structure/PuzzleLoaderProp.d.ts.map +0 -1
  629. package/dist/types/twisty/model/props/timeline/CoarseTimelineInfoProp.d.ts.map +0 -1
  630. package/dist/types/twisty/model/props/timeline/DetailedTimelineInfoProp.d.ts.map +0 -1
  631. package/dist/types/twisty/model/props/timeline/PlayingInfoProp.d.ts.map +0 -1
  632. package/dist/types/twisty/model/props/timeline/TempoScaleProp.d.ts.map +0 -1
  633. package/dist/types/twisty/model/props/timeline/TimestampRequestProp.d.ts.map +0 -1
  634. package/dist/types/twisty/model/props/viewer/BackViewProp.d.ts.map +0 -1
  635. package/dist/types/twisty/model/props/viewer/BackgroundProp.d.ts.map +0 -1
  636. package/dist/types/twisty/model/props/viewer/ButtonAppearanceProp.d.ts.map +0 -1
  637. package/dist/types/twisty/model/props/viewer/ControlPanelProp.d.ts.map +0 -1
  638. package/dist/types/twisty/model/props/viewer/LatitudeLimit.d.ts.map +0 -1
  639. package/dist/types/twisty/model/props/viewer/OrbitCoordinatesProp.d.ts.map +0 -1
  640. package/dist/types/twisty/model/props/viewer/OrbitCoordinatesRequestProp.d.ts.map +0 -1
  641. package/dist/types/twisty/model/props/viewer/TimeRangeProp.d.ts.map +0 -1
  642. package/dist/types/twisty/model/props/viewer/ViewerLinkProp.d.ts.map +0 -1
  643. package/dist/types/twisty/model/props/viewer/VisualizationProp.d.ts.map +0 -1
  644. package/dist/types/twisty/model/props/viewer/VisualizationStrategyProp.d.ts.map +0 -1
  645. package/dist/types/twisty/views/2D/Twisty2DPuzzle.css.d.ts.map +0 -1
  646. package/dist/types/twisty/views/2D/Twisty2DPuzzle.d.ts.map +0 -1
  647. package/dist/types/twisty/views/2D/Twisty2DPuzzleWrapper.d.ts.map +0 -1
  648. package/dist/types/twisty/views/2D/Twisty2DSceneWrapper.d.ts.map +0 -1
  649. package/dist/types/twisty/views/3D/DragTracker.d.ts.map +0 -1
  650. package/dist/types/twisty/views/3D/RendererPool.d.ts.map +0 -1
  651. package/dist/types/twisty/views/3D/TAU.d.ts.map +0 -1
  652. package/dist/types/twisty/views/3D/Twisty3DPuzzleWrapper.d.ts.map +0 -1
  653. package/dist/types/twisty/views/3D/Twisty3DRenderTarget.d.ts.map +0 -1
  654. package/dist/types/twisty/views/3D/Twisty3DScene.d.ts.map +0 -1
  655. package/dist/types/twisty/views/3D/Twisty3DSceneWrapper.d.ts.map +0 -1
  656. package/dist/types/twisty/views/3D/Twisty3DVantage.css.d.ts.map +0 -1
  657. package/dist/types/twisty/views/3D/Twisty3DVantage.d.ts.map +0 -1
  658. package/dist/types/twisty/views/3D/TwistyOrbitControls.d.ts.map +0 -1
  659. package/dist/types/twisty/views/3D/TwistyOrbitControls.spec.d.ts.map +0 -1
  660. package/dist/types/twisty/views/3D/puzzles/Cube3D.d.ts.map +0 -1
  661. package/dist/types/twisty/views/3D/puzzles/KPuzzleWrapper.d.ts +0 -48
  662. package/dist/types/twisty/views/3D/puzzles/KPuzzleWrapper.d.ts.map +0 -1
  663. package/dist/types/twisty/views/3D/puzzles/PG3D.d.ts.map +0 -1
  664. package/dist/types/twisty/views/3D/puzzles/Twisty3DPuzzle.d.ts.map +0 -1
  665. package/dist/types/twisty/views/ClassListManager.d.ts.map +0 -1
  666. package/dist/types/twisty/views/ManagedCustomElement.d.ts.map +0 -1
  667. package/dist/types/twisty/views/TwistyAlgEditor/LeafTokens.d.ts.map +0 -1
  668. package/dist/types/twisty/views/TwistyAlgEditor/TwistyAlgEditor.css.d.ts.map +0 -1
  669. package/dist/types/twisty/views/TwistyAlgEditor/TwistyAlgEditor.d.ts.map +0 -1
  670. package/dist/types/twisty/views/TwistyAlgEditor/TwistyAlgEditor.spec.d.ts.map +0 -1
  671. package/dist/types/twisty/views/TwistyAlgEditor/model.d.ts.map +0 -1
  672. package/dist/types/twisty/views/TwistyAlgViewer.css.d.ts.map +0 -1
  673. package/dist/types/twisty/views/TwistyAlgViewer.d.ts.map +0 -1
  674. package/dist/types/twisty/views/TwistyPlayer.css.d.ts.map +0 -1
  675. package/dist/types/twisty/views/TwistyPlayer.d.ts.map +0 -1
  676. package/dist/types/twisty/views/TwistyPlayerSettable.d.ts.map +0 -1
  677. package/dist/types/twisty/views/TwistyViewerWrapper.css.d.ts.map +0 -1
  678. package/dist/types/twisty/views/canvas.d.ts.map +0 -1
  679. package/dist/types/twisty/views/control-panel/TwistyButtonsV2.css.d.ts.map +0 -1
  680. package/dist/types/twisty/views/control-panel/TwistyButtonsV2.d.ts.map +0 -1
  681. package/dist/types/twisty/views/control-panel/TwistyScrubber.css.d.ts.map +0 -1
  682. package/dist/types/twisty/views/control-panel/TwistyScrubberV2.d.ts.map +0 -1
  683. package/dist/types/twisty/views/control-panel/webkit-fullscreen.d.ts.map +0 -1
  684. package/dist/types/twisty/views/document.d.ts.map +0 -1
  685. package/dist/types/twisty/views/node-custom-element-shims.d.ts.map +0 -1
  686. package/dist/types/twisty/views/screenshot.d.ts.map +0 -1
  687. package/dist/types/twisty/views/stream/TwistyStreamSource.css.d.ts.map +0 -1
  688. package/dist/types/twisty/views/stream/TwistyStreamSource.d.ts.map +0 -1
  689. package/dist/types/vendor/comlink-everywhere/inside/index.d.ts.map +0 -1
  690. package/dist/types/vendor/comlink-everywhere/inside/node.d.ts.map +0 -1
  691. package/dist/types/vendor/comlink-everywhere/outside/index.d.ts.map +0 -1
  692. package/dist/types/vendor/comlink-everywhere/outside/node.d.ts.map +0 -1
  693. package/dist/types/vendor/cstimer/src/js/lib/mathlib.d.ts.map +0 -1
  694. package/dist/types/vendor/cstimer/src/js/scramble/scramble_444.d.ts.map +0 -1
  695. package/dist/types/vendor/min2phase/gwt.d.ts.map +0 -1
  696. package/dist/types/vendor/p-lazy/p-lazy.d.ts.map +0 -1
  697. package/dist/types/vendor/random-uint-below/get-random-values.d.ts.map +0 -1
  698. package/dist/types/vendor/random-uint-below/index.d.ts.map +0 -1
  699. package/dist/types/vendor/random-uint-below/random-choice.d.ts.map +0 -1
  700. package/dist/types/vendor/random-uint-below/random53BitValue.d.ts.map +0 -1
  701. package/dist/types/vendor/sq12phase/scramble_sq1.d.ts.map +0 -1
  702. package/dist/types/vendor/three/examples/jsm/libs/stats.modified.module.d.ts.map +0 -1
  703. package/dist/types/vendor/unsafe-raw-aes/unsafe-raw-aes.d.ts.map +0 -1
  704. package/docs/.DS_Store +0 -0
  705. package/docs/CNAME +0 -1
  706. package/docs/cubing/.DS_Store +0 -0
  707. package/docs/cubing/alg/index.html +0 -174
  708. package/docs/cubing/api/index.html +0 -158
  709. package/docs/cubing/index.html +0 -191
  710. package/docs/cubing/scramble/index.html +0 -138
  711. package/docs/cubing/twisty/index.html +0 -329
  712. package/docs/favicon.ico +0 -0
  713. package/docs/index.html +0 -20
  714. package/docs/main.css +0 -193
  715. package/src/cubing/.DS_Store +0 -0
  716. package/src/cubing/alg/Alg.spec.ts +0 -10
  717. package/src/cubing/alg/Alg.ts +0 -290
  718. package/src/cubing/alg/AlgBuilder.ts +0 -33
  719. package/src/cubing/alg/Serializable.ts +0 -29
  720. package/src/cubing/alg/common.ts +0 -59
  721. package/src/cubing/alg/debug.ts +0 -27
  722. package/src/cubing/alg/example.ts +0 -152
  723. package/src/cubing/alg/index.ts +0 -21
  724. package/src/cubing/alg/is.ts +0 -38
  725. package/src/cubing/alg/iteration.ts +0 -45
  726. package/src/cubing/alg/keyboard.ts +0 -48
  727. package/src/cubing/alg/limits.ts +0 -4
  728. package/src/cubing/alg/operation.spec.ts +0 -48
  729. package/src/cubing/alg/operation.ts +0 -36
  730. package/src/cubing/alg/parse.spec.ts +0 -75
  731. package/src/cubing/alg/parse.ts +0 -408
  732. package/src/cubing/alg/test/alg-comparison.ts +0 -23
  733. package/src/cubing/alg/test/alg.spec.ts +0 -348
  734. package/src/cubing/alg/traversal.ts +0 -284
  735. package/src/cubing/alg/units/QuantumWithAmount.ts +0 -55
  736. package/src/cubing/alg/units/Unit.ts +0 -11
  737. package/src/cubing/alg/units/containers/Commutator.ts +0 -85
  738. package/src/cubing/alg/units/containers/Conjugate.ts +0 -53
  739. package/src/cubing/alg/units/containers/Grouping.ts +0 -116
  740. package/src/cubing/alg/units/index.ts +0 -8
  741. package/src/cubing/alg/units/leaves/LineComment.spec.ts +0 -35
  742. package/src/cubing/alg/units/leaves/LineComment.ts +0 -48
  743. package/src/cubing/alg/units/leaves/Move.spec.ts +0 -15
  744. package/src/cubing/alg/units/leaves/Move.ts +0 -265
  745. package/src/cubing/alg/units/leaves/Newline.ts +0 -24
  746. package/src/cubing/alg/units/leaves/Pause.ts +0 -24
  747. package/src/cubing/alg/url.spec.ts +0 -10
  748. package/src/cubing/alg/url.ts +0 -133
  749. package/src/cubing/alg/validation.ts +0 -62
  750. package/src/cubing/alg/warnOnce.ts +0 -7
  751. package/src/cubing/bluetooth/connect/index.ts +0 -93
  752. package/src/cubing/bluetooth/debug.ts +0 -18
  753. package/src/cubing/bluetooth/docs/gan-robot.md +0 -60
  754. package/src/cubing/bluetooth/docs/gan356i.md +0 -309
  755. package/src/cubing/bluetooth/index.ts +0 -19
  756. package/src/cubing/bluetooth/keyboard.ts +0 -55
  757. package/src/cubing/bluetooth/smart-puzzle/Heykube.ts +0 -165
  758. package/src/cubing/bluetooth/smart-puzzle/bluetooth-puzzle.ts +0 -95
  759. package/src/cubing/bluetooth/smart-puzzle/connect.ts +0 -19
  760. package/src/cubing/bluetooth/smart-puzzle/endianness.ts +0 -15
  761. package/src/cubing/bluetooth/smart-puzzle/gan.ts +0 -484
  762. package/src/cubing/bluetooth/smart-puzzle/giiker.spec.ts +0 -28
  763. package/src/cubing/bluetooth/smart-puzzle/giiker.ts +0 -277
  764. package/src/cubing/bluetooth/smart-puzzle/gocube.ts +0 -167
  765. package/src/cubing/bluetooth/smart-robot/GanRobot.ts +0 -311
  766. package/src/cubing/bluetooth/smart-robot/index.ts +0 -13
  767. package/src/cubing/bluetooth/smart-timer/GanTimer.ts +0 -141
  768. package/src/cubing/bluetooth/smart-timer/index.ts +0 -13
  769. package/src/cubing/bluetooth/transformer.ts +0 -74
  770. package/src/cubing/cubing.bundle-global.exports.ts +0 -25
  771. package/src/cubing/cubing.bundle-global.ts +0 -7
  772. package/src/cubing/esm-test-worker.js +0 -5
  773. package/src/cubing/kpuzzle/3x3x3/3x3x3.kpuzzle.json.spec.ts +0 -40
  774. package/src/cubing/kpuzzle/3x3x3/3x3x3.kpuzzle.json.ts +0 -339
  775. package/src/cubing/kpuzzle/canon.spec.ts +0 -48
  776. package/src/cubing/kpuzzle/canonicalize.ts +0 -325
  777. package/src/cubing/kpuzzle/definition_types.ts +0 -23
  778. package/src/cubing/kpuzzle/index.ts +0 -33
  779. package/src/cubing/kpuzzle/kpuzzle.spec.ts +0 -12
  780. package/src/cubing/kpuzzle/kpuzzle.ts +0 -124
  781. package/src/cubing/kpuzzle/move_notation.ts +0 -9
  782. package/src/cubing/kpuzzle/parser/index.ts +0 -1
  783. package/src/cubing/kpuzzle/parser/parser-peggy.js +0 -1221
  784. package/src/cubing/kpuzzle/parser/parser-peggy.peggy +0 -72
  785. package/src/cubing/kpuzzle/parser/parser-shim.ts +0 -11
  786. package/src/cubing/kpuzzle/parser/parser.js +0 -0
  787. package/src/cubing/kpuzzle/prunetable.spec.ts +0 -19
  788. package/src/cubing/kpuzzle/pruningtable.ts +0 -99
  789. package/src/cubing/kpuzzle/puzzle-orientation.ts +0 -34
  790. package/src/cubing/kpuzzle/svg.ts +0 -290
  791. package/src/cubing/kpuzzle/transformations.spec.ts +0 -75
  792. package/src/cubing/kpuzzle/transformations.ts +0 -258
  793. package/src/cubing/notation/CountAnimatedLeaves.ts +0 -56
  794. package/src/cubing/notation/CountMoves.ts +0 -89
  795. package/src/cubing/notation/index.ts +0 -4
  796. package/src/cubing/protocol/binary/binary3x3x3.spec.ts +0 -143
  797. package/src/cubing/protocol/binary/binary3x3x3.ts +0 -226
  798. package/src/cubing/protocol/binary/hex.spec.ts +0 -17
  799. package/src/cubing/protocol/binary/hex.ts +0 -12
  800. package/src/cubing/protocol/binary/orbit-indexing.spec.ts +0 -49
  801. package/src/cubing/protocol/binary/orbit-indexing.ts +0 -68
  802. package/src/cubing/protocol/binary/puzzle-orientation.ts +0 -69
  803. package/src/cubing/protocol/index.ts +0 -12
  804. package/src/cubing/puzzle-geometry/FaceNameSwizzler.ts +0 -148
  805. package/src/cubing/puzzle-geometry/Options.ts +0 -179
  806. package/src/cubing/puzzle-geometry/PGPuzzles.spec.ts +0 -127
  807. package/src/cubing/puzzle-geometry/PGPuzzles.ts +0 -80
  808. package/src/cubing/puzzle-geometry/Perm.ts +0 -154
  809. package/src/cubing/puzzle-geometry/PermOriSet.ts +0 -765
  810. package/src/cubing/puzzle-geometry/PlatonicGenerator.ts +0 -146
  811. package/src/cubing/puzzle-geometry/PuzzleGeometry.ts +0 -3013
  812. package/src/cubing/puzzle-geometry/Quat.spec.ts +0 -10
  813. package/src/cubing/puzzle-geometry/Quat.ts +0 -325
  814. package/src/cubing/puzzle-geometry/SchreierSims.ts +0 -144
  815. package/src/cubing/puzzle-geometry/index.ts +0 -17
  816. package/src/cubing/puzzle-geometry/interfaces.ts +0 -6
  817. package/src/cubing/puzzle-geometry/notation-mapping/FTONotationMapper.ts +0 -38
  818. package/src/cubing/puzzle-geometry/notation-mapping/FaceRenamingMapper.ts +0 -59
  819. package/src/cubing/puzzle-geometry/notation-mapping/MegaminxScramblingNotationMapper.ts +0 -50
  820. package/src/cubing/puzzle-geometry/notation-mapping/NotationMapper.ts +0 -6
  821. package/src/cubing/puzzle-geometry/notation-mapping/NullMapper.ts +0 -12
  822. package/src/cubing/puzzle-geometry/notation-mapping/NxNxNCubeMapper.ts +0 -77
  823. package/src/cubing/puzzle-geometry/notation-mapping/PyraminxNotationMapper.ts +0 -121
  824. package/src/cubing/puzzle-geometry/notation-mapping/SkewbNotationMapper.ts +0 -103
  825. package/src/cubing/puzzle-geometry/notation-mapping/index.ts +0 -13
  826. package/src/cubing/puzzle-geometry/orientcenters.spec.ts +0 -55
  827. package/src/cubing/puzzles/PuzzleLoader.ts +0 -20
  828. package/src/cubing/puzzles/async/async-pg3d.ts +0 -73
  829. package/src/cubing/puzzles/customPGPuzzleLoader.ts +0 -60
  830. package/src/cubing/puzzles/implementations/2x2x2/2x2x2.kpuzzle.json.ts +0 -92
  831. package/src/cubing/puzzles/implementations/2x2x2/2x2x2.kpuzzle.svg.ts +0 -45
  832. package/src/cubing/puzzles/implementations/2x2x2/index.ts +0 -25
  833. package/src/cubing/puzzles/implementations/2x2x2/svg/2x2x2.kpuzzle.svg +0 -45
  834. package/src/cubing/puzzles/implementations/3x3x3/3x3x3-ll.kpuzzle.svg.ts +0 -108
  835. package/src/cubing/puzzles/implementations/3x3x3/3x3x3.kpuzzle.svg.ts +0 -128
  836. package/src/cubing/puzzles/implementations/3x3x3/index.ts +0 -33
  837. package/src/cubing/puzzles/implementations/3x3x3/src/3x3x3-ll.kpuzzle.svg +0 -108
  838. package/src/cubing/puzzles/implementations/3x3x3/src/3x3x3.kpuzzle.svg +0 -128
  839. package/src/cubing/puzzles/implementations/TODO/svg/alg/3x3x3.kpuzzle.original.svg +0 -128
  840. package/src/cubing/puzzles/implementations/TODO/svg/alg/3x3x3.kpuzzle.outlined.svg +0 -486
  841. package/src/cubing/puzzles/implementations/TODO/svg/alg/3x3x3.kpuzzle.spaced.svg +0 -128
  842. package/src/cubing/puzzles/implementations/clock/clock.kpuzzle.json.ts +0 -241
  843. package/src/cubing/puzzles/implementations/clock/clock.kpuzzle.svg.ts +0 -369
  844. package/src/cubing/puzzles/implementations/clock/index.ts +0 -14
  845. package/src/cubing/puzzles/implementations/clock/src/clock.kpuzzle.svg +0 -369
  846. package/src/cubing/puzzles/implementations/fto/index.ts +0 -28
  847. package/src/cubing/puzzles/implementations/megaminx/index.ts +0 -20
  848. package/src/cubing/puzzles/implementations/pyraminx/index.ts +0 -18
  849. package/src/cubing/puzzles/implementations/pyraminx/pyraminx.kpuzzle.json.ts +0 -84
  850. package/src/cubing/puzzles/implementations/pyraminx/pyraminx.kpuzzle.svg.ts +0 -88
  851. package/src/cubing/puzzles/implementations/pyraminx/src/pyraminx.kpuzzle.svg +0 -87
  852. package/src/cubing/puzzles/implementations/square1/index.ts +0 -14
  853. package/src/cubing/puzzles/implementations/square1/sq1-hyperorbit.kpuzzle.json.ts +0 -62
  854. package/src/cubing/puzzles/implementations/square1/sq1-hyperorbit.kpuzzle.svg.ts +0 -295
  855. package/src/cubing/puzzles/implementations/square1/src/sq1-hyperorbit.kpuzzle.svg +0 -295
  856. package/src/cubing/puzzles/implementations/square1/src/sq1-simple.svg +0 -60
  857. package/src/cubing/puzzles/index.ts +0 -92
  858. package/src/cubing/puzzles/stickerings/appearance.ts +0 -292
  859. package/src/cubing/puzzles/stickerings/cube-stickerings.ts +0 -304
  860. package/src/cubing/puzzles/stickerings/fto-stickerings.ts +0 -105
  861. package/src/cubing/puzzles/stickerings/global-custom-stickering-hack.ts +0 -61
  862. package/src/cubing/puzzles/stickerings/megaminx-stickerings.ts +0 -26
  863. package/src/cubing/scramble/index.ts +0 -1
  864. package/src/cubing/search/.DS_Store +0 -0
  865. package/src/cubing/search/.gitignore +0 -1
  866. package/src/cubing/search/esm-test-worker.js +0 -14
  867. package/src/cubing/search/index.ts +0 -12
  868. package/src/cubing/search/inside/.DS_Store +0 -0
  869. package/src/cubing/search/inside/api.spec.ts +0 -37
  870. package/src/cubing/search/inside/api.ts +0 -174
  871. package/src/cubing/search/inside/entry.js +0 -4
  872. package/src/cubing/search/inside/inside-worker.ts +0 -13
  873. package/src/cubing/search/inside/module-entry-path-getter.ts +0 -5
  874. package/src/cubing/search/inside/module-entry.ts +0 -20
  875. package/src/cubing/search/inside/solve/addOrientationSuffix.ts +0 -17
  876. package/src/cubing/search/inside/solve/parseSGS.ts +0 -119
  877. package/src/cubing/search/inside/solve/puzzles/2x2x2.sgs.json.ts +0 -114
  878. package/src/cubing/search/inside/solve/puzzles/2x2x2.ts +0 -92
  879. package/src/cubing/search/inside/solve/puzzles/3x3x3/convert.ts +0 -137
  880. package/src/cubing/search/inside/solve/puzzles/3x3x3/filter.ts +0 -60
  881. package/src/cubing/search/inside/solve/puzzles/3x3x3/index.ts +0 -67
  882. package/src/cubing/search/inside/solve/puzzles/3x3x3/legacy-sgs.ts +0 -291
  883. package/src/cubing/search/inside/solve/puzzles/3x3x3-inefficient.sgs.json.ts +0 -272
  884. package/src/cubing/search/inside/solve/puzzles/4x4x4.ts +0 -30
  885. package/src/cubing/search/inside/solve/puzzles/5x5x5.ts +0 -12
  886. package/src/cubing/search/inside/solve/puzzles/big-cubes.ts +0 -78
  887. package/src/cubing/search/inside/solve/puzzles/clock.ts +0 -48
  888. package/src/cubing/search/inside/solve/puzzles/fto.sgs.json.ts +0 -643
  889. package/src/cubing/search/inside/solve/puzzles/fto.ts +0 -58
  890. package/src/cubing/search/inside/solve/puzzles/megaminx.sgs.json.ts +0 -1549
  891. package/src/cubing/search/inside/solve/puzzles/megaminx.ts +0 -51
  892. package/src/cubing/search/inside/solve/puzzles/pyraminx.sgs.json.ts +0 -98
  893. package/src/cubing/search/inside/solve/puzzles/pyraminx.ts +0 -48
  894. package/src/cubing/search/inside/solve/puzzles/sgs-defs.spec.ts +0 -27
  895. package/src/cubing/search/inside/solve/puzzles/skewb.sgs.json.ts +0 -113
  896. package/src/cubing/search/inside/solve/puzzles/skewb.ts +0 -65
  897. package/src/cubing/search/inside/solve/puzzles/sq1.ts +0 -16
  898. package/src/cubing/search/inside/solve/puzzles/wca-minx.ts +0 -32
  899. package/src/cubing/search/inside/solve/tremble.ts +0 -213
  900. package/src/cubing/search/instantiator.ts +0 -95
  901. package/src/cubing/search/outside.ts +0 -110
  902. package/src/cubing/search/worker-inside-generated-string.js +0 -1
  903. package/src/cubing/stream/index.ts +0 -12
  904. package/src/cubing/stream/process/ReorientedStream.ts +0 -93
  905. package/src/cubing/stream/proxy-event.ts +0 -16
  906. package/src/cubing/stream/twizzle/TwizzleStream.ts +0 -53
  907. package/src/cubing/stream/twizzle/stream-types.ts +0 -45
  908. package/src/cubing/stream/websocket-proxy.ts +0 -73
  909. package/src/cubing/twisty/controllers/AnimationTypes.ts +0 -50
  910. package/src/cubing/twisty/controllers/RenderScheduler.ts +0 -28
  911. package/src/cubing/twisty/controllers/TwistyAnimationController.ts +0 -325
  912. package/src/cubing/twisty/controllers/TwistyPlayerController.ts +0 -38
  913. package/src/cubing/twisty/controllers/easing.ts +0 -3
  914. package/src/cubing/twisty/controllers/indexer/AlgDuration.ts +0 -94
  915. package/src/cubing/twisty/controllers/indexer/AlgIndexer.ts +0 -87
  916. package/src/cubing/twisty/controllers/indexer/SimpleAlgIndexer.ts +0 -76
  917. package/src/cubing/twisty/controllers/indexer/simultaneous-moves/SimultaneousMoveIndexer.ts +0 -181
  918. package/src/cubing/twisty/controllers/indexer/simultaneous-moves/SimultaneousMoveIndexerV2.ts +0 -243
  919. package/src/cubing/twisty/controllers/indexer/simultaneous-moves/simul-moves.ts +0 -193
  920. package/src/cubing/twisty/controllers/indexer/tree/AlgWalker.ts +0 -439
  921. package/src/cubing/twisty/controllers/indexer/tree/TreeAlgIndexer.ts +0 -97
  922. package/src/cubing/twisty/controllers/indexer/tree/chunkAlgs.ts +0 -81
  923. package/src/cubing/twisty/controllers/stream/timeline-move-calculation-draft.spec.ts.TODO +0 -59
  924. package/src/cubing/twisty/controllers/stream/timeline-move-calculation-draft.ts +0 -162
  925. package/src/cubing/twisty/heavy-code-imports/3d.ts +0 -18
  926. package/src/cubing/twisty/heavy-code-imports/dynamic-entries/3d.ts +0 -31
  927. package/src/cubing/twisty/index.ts +0 -24
  928. package/src/cubing/twisty/model/PromiseFreshener.ts +0 -49
  929. package/src/cubing/twisty/model/TwistyPlayerModel.ts +0 -256
  930. package/src/cubing/twisty/model/UserVisibleErrorTracker.ts +0 -22
  931. package/src/cubing/twisty/model/helpers.ts +0 -47
  932. package/src/cubing/twisty/model/props/TwistyProp.spec.ts +0 -38
  933. package/src/cubing/twisty/model/props/TwistyProp.ts +0 -366
  934. package/src/cubing/twisty/model/props/TwistyPropDebugger.ts +0 -370
  935. package/src/cubing/twisty/model/props/general/URLProp.ts +0 -14
  936. package/src/cubing/twisty/model/props/puzzle/display/FoundationDisplayProp.ts +0 -9
  937. package/src/cubing/twisty/model/props/puzzle/display/HintFaceletProp.ts +0 -15
  938. package/src/cubing/twisty/model/props/puzzle/display/SpriteProp.ts +0 -43
  939. package/src/cubing/twisty/model/props/puzzle/display/StickeringProp.ts +0 -56
  940. package/src/cubing/twisty/model/props/puzzle/state/AlgProp.ts +0 -91
  941. package/src/cubing/twisty/model/props/puzzle/state/AlgTransformationProp.ts +0 -28
  942. package/src/cubing/twisty/model/props/puzzle/state/AnchoredStartProp.ts +0 -44
  943. package/src/cubing/twisty/model/props/puzzle/state/CatchUpMoveProp.ts +0 -17
  944. package/src/cubing/twisty/model/props/puzzle/state/CurrentLeavesProp.ts +0 -109
  945. package/src/cubing/twisty/model/props/puzzle/state/CurrentLeavesSimplified.ts +0 -48
  946. package/src/cubing/twisty/model/props/puzzle/state/CurrentTransformationProp.ts +0 -46
  947. package/src/cubing/twisty/model/props/puzzle/state/IndexerConstructorProp.ts +0 -53
  948. package/src/cubing/twisty/model/props/puzzle/state/IndexerConstructorRequestProp.ts +0 -15
  949. package/src/cubing/twisty/model/props/puzzle/state/IndexerProp.ts +0 -24
  950. package/src/cubing/twisty/model/props/puzzle/state/LegacyPositionProp.ts +0 -22
  951. package/src/cubing/twisty/model/props/puzzle/state/MovePressInputProp.ts +0 -14
  952. package/src/cubing/twisty/model/props/puzzle/state/NaiveMoveCountProp.ts +0 -20
  953. package/src/cubing/twisty/model/props/puzzle/state/PuzzleAlgProp.ts +0 -28
  954. package/src/cubing/twisty/model/props/puzzle/state/SetupAnchorProp.ts +0 -14
  955. package/src/cubing/twisty/model/props/puzzle/structure/PuzzleDefProp.ts +0 -14
  956. package/src/cubing/twisty/model/props/puzzle/structure/PuzzleDescriptionProp.ts +0 -14
  957. package/src/cubing/twisty/model/props/puzzle/structure/PuzzleIDProp.ts +0 -12
  958. package/src/cubing/twisty/model/props/puzzle/structure/PuzzleIDRequestProp.ts +0 -36
  959. package/src/cubing/twisty/model/props/puzzle/structure/PuzzleLoaderProp.ts +0 -38
  960. package/src/cubing/twisty/model/props/timeline/CoarseTimelineInfoProp.ts +0 -45
  961. package/src/cubing/twisty/model/props/timeline/DetailedTimelineInfoProp.ts +0 -78
  962. package/src/cubing/twisty/model/props/timeline/PlayingInfoProp.ts +0 -48
  963. package/src/cubing/twisty/model/props/timeline/TempoScaleProp.ts +0 -13
  964. package/src/cubing/twisty/model/props/timeline/TimestampRequestProp.ts +0 -38
  965. package/src/cubing/twisty/model/props/viewer/BackViewProp.ts +0 -16
  966. package/src/cubing/twisty/model/props/viewer/BackgroundProp.ts +0 -15
  967. package/src/cubing/twisty/model/props/viewer/ButtonAppearanceProp.ts +0 -86
  968. package/src/cubing/twisty/model/props/viewer/ControlPanelProp.ts +0 -14
  969. package/src/cubing/twisty/model/props/viewer/LatitudeLimit.ts +0 -11
  970. package/src/cubing/twisty/model/props/viewer/OrbitCoordinatesProp.ts +0 -127
  971. package/src/cubing/twisty/model/props/viewer/OrbitCoordinatesRequestProp.ts +0 -69
  972. package/src/cubing/twisty/model/props/viewer/TimeRangeProp.ts +0 -15
  973. package/src/cubing/twisty/model/props/viewer/ViewerLinkProp.ts +0 -14
  974. package/src/cubing/twisty/model/props/viewer/VisualizationProp.ts +0 -17
  975. package/src/cubing/twisty/model/props/viewer/VisualizationStrategyProp.ts +0 -45
  976. package/src/cubing/twisty/views/2D/Twisty2DPuzzle.css.ts +0 -26
  977. package/src/cubing/twisty/views/2D/Twisty2DPuzzle.ts +0 -146
  978. package/src/cubing/twisty/views/2D/Twisty2DPuzzleWrapper.ts +0 -52
  979. package/src/cubing/twisty/views/2D/Twisty2DSceneWrapper.ts +0 -77
  980. package/src/cubing/twisty/views/3D/DragTracker.ts +0 -184
  981. package/src/cubing/twisty/views/3D/RendererPool.ts +0 -54
  982. package/src/cubing/twisty/views/3D/TAU.ts +0 -2
  983. package/src/cubing/twisty/views/3D/Twisty3DPuzzleWrapper.ts +0 -214
  984. package/src/cubing/twisty/views/3D/Twisty3DRenderTarget.ts +0 -5
  985. package/src/cubing/twisty/views/3D/Twisty3DScene.ts +0 -42
  986. package/src/cubing/twisty/views/3D/Twisty3DSceneWrapper.ts +0 -189
  987. package/src/cubing/twisty/views/3D/Twisty3DVantage.css.ts +0 -32
  988. package/src/cubing/twisty/views/3D/Twisty3DVantage.ts +0 -312
  989. package/src/cubing/twisty/views/3D/TwistyOrbitControls.spec.ts +0 -213
  990. package/src/cubing/twisty/views/3D/TwistyOrbitControls.ts +0 -176
  991. package/src/cubing/twisty/views/3D/puzzles/Cube3D.ts +0 -966
  992. package/src/cubing/twisty/views/3D/puzzles/KPuzzleWrapper.ts +0 -142
  993. package/src/cubing/twisty/views/3D/puzzles/PG3D.ts +0 -1078
  994. package/src/cubing/twisty/views/3D/puzzles/Twisty3DPuzzle.ts +0 -6
  995. package/src/cubing/twisty/views/ClassListManager.ts +0 -34
  996. package/src/cubing/twisty/views/ManagedCustomElement.ts +0 -76
  997. package/src/cubing/twisty/views/TwistyAlgEditor/LeafTokens.ts +0 -116
  998. package/src/cubing/twisty/views/TwistyAlgEditor/TwistyAlgEditor.css.ts +0 -72
  999. package/src/cubing/twisty/views/TwistyAlgEditor/TwistyAlgEditor.spec.ts +0 -57
  1000. package/src/cubing/twisty/views/TwistyAlgEditor/TwistyAlgEditor.ts +0 -368
  1001. package/src/cubing/twisty/views/TwistyAlgEditor/model.ts +0 -179
  1002. package/src/cubing/twisty/views/TwistyAlgViewer.css.ts +0 -25
  1003. package/src/cubing/twisty/views/TwistyAlgViewer.ts +0 -502
  1004. package/src/cubing/twisty/views/TwistyPlayer.css.ts +0 -73
  1005. package/src/cubing/twisty/views/TwistyPlayer.ts +0 -362
  1006. package/src/cubing/twisty/views/TwistyPlayerSettable.ts +0 -115
  1007. package/src/cubing/twisty/views/TwistyViewerWrapper.css.ts +0 -41
  1008. package/src/cubing/twisty/views/canvas.ts +0 -9
  1009. package/src/cubing/twisty/views/control-panel/TwistyButtonsV2.css.ts +0 -127
  1010. package/src/cubing/twisty/views/control-panel/TwistyButtonsV2.ts +0 -156
  1011. package/src/cubing/twisty/views/control-panel/TwistyScrubber.css.ts +0 -48
  1012. package/src/cubing/twisty/views/control-panel/TwistyScrubberV2.ts +0 -145
  1013. package/src/cubing/twisty/views/control-panel/webkit-fullscreen.ts +0 -44
  1014. package/src/cubing/twisty/views/document.ts +0 -4
  1015. package/src/cubing/twisty/views/node-custom-element-shims.ts +0 -30
  1016. package/src/cubing/twisty/views/screenshot.ts +0 -90
  1017. package/src/cubing/twisty/views/stream/TwistyStreamSource.css.ts +0 -17
  1018. package/src/cubing/twisty/views/stream/TwistyStreamSource.ts +0 -155
  1019. package/src/cubing/vendor/.DS_Store +0 -0
  1020. package/src/cubing/vendor/comlink-everywhere/.DS_Store +0 -0
  1021. package/src/cubing/vendor/comlink-everywhere/comlink-everywhere.webloc +0 -8
  1022. package/src/cubing/vendor/comlink-everywhere/inside/index.d.ts +0 -1
  1023. package/src/cubing/vendor/comlink-everywhere/inside/index.js +0 -16
  1024. package/src/cubing/vendor/comlink-everywhere/inside/node.js +0 -6
  1025. package/src/cubing/vendor/comlink-everywhere/outside/index.d.ts +0 -6
  1026. package/src/cubing/vendor/comlink-everywhere/outside/index.js +0 -31
  1027. package/src/cubing/vendor/comlink-everywhere/outside/node.js +0 -42
  1028. package/src/cubing/vendor/cstimer/.DS_Store +0 -0
  1029. package/src/cubing/vendor/cstimer/LICENSE +0 -674
  1030. package/src/cubing/vendor/cstimer/src/.DS_Store +0 -0
  1031. package/src/cubing/vendor/cstimer/src/js/lib/mathlib.ts +0 -54
  1032. package/src/cubing/vendor/cstimer/src/js/scramble/scramble_444.ts +0 -2791
  1033. package/src/cubing/vendor/min2phase/gwt.d.ts +0 -2
  1034. package/src/cubing/vendor/min2phase/gwt.js +0 -2699
  1035. package/src/cubing/vendor/p-lazy/license +0 -9
  1036. package/src/cubing/vendor/p-lazy/p-lazy.ts +0 -52
  1037. package/src/cubing/vendor/p-lazy/readme.md +0 -54
  1038. package/src/cubing/vendor/random-uint-below/get-random-values.ts +0 -23
  1039. package/src/cubing/vendor/random-uint-below/index.ts +0 -12
  1040. package/src/cubing/vendor/random-uint-below/random-choice.ts +0 -9
  1041. package/src/cubing/vendor/random-uint-below/random53BitValue.ts +0 -64
  1042. package/src/cubing/vendor/sq12phase/scramble_sq1.js +0 -853
  1043. package/src/cubing/vendor/three/.DS_Store +0 -0
  1044. package/src/cubing/vendor/three/examples/.DS_Store +0 -0
  1045. package/src/cubing/vendor/three/examples/jsm/libs/stats.modified.module.ts +0 -179
  1046. package/src/cubing/vendor/unsafe-raw-aes/unsafe-raw-aes.ts +0 -64
@@ -0,0 +1,3447 @@
1
+ import "./chunk-WO2AXYFE.js";
2
+
3
+ // src/cubing/search/worker-inside-generated-string.js
4
+ var workerSource = `var zg=Object.create;var To=Object.defineProperty;var Cg=Object.getOwnPropertyDescriptor;var Pg=Object.getOwnPropertyNames;var Mg=Object.getPrototypeOf,Gg=Object.prototype.hasOwnProperty;var Ra=t=>To(t,"__esModule",{value:!0});var U=(t,e)=>()=>(t&&(e=t(t=0)),e);var Ue=(t,e)=>{Ra(t);for(var r in e)To(t,r,{get:e[r],enumerable:!0})},Tg=(t,e,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of Pg(e))!Gg.call(t,n)&&n!=="default"&&To(t,n,{get:()=>e[n],enumerable:!(r=Cg(e,n))||r.enumerable});return t},Da=t=>Tg(Ra(To(t!=null?zg(Mg(t)):{},"default",t&&t.__esModule&&"default"in t?{get:()=>t.default,enumerable:!0}:{value:t,enumerable:!0})),t);var Bi=(t,e,r)=>{if(!e.has(t))throw TypeError("Cannot "+r)};var R=(t,e,r)=>(Bi(t,e,"read from private field"),r?r.call(t):e.get(t)),ae=(t,e,r)=>{if(e.has(t))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(t):e.set(t,r)},$=(t,e,r,n)=>(Bi(t,e,"write to private field"),n?n.call(t,r):e.set(t,r),r),mi=(t,e,r,n)=>({set _(o){$(t,e,o,r)},get _(){return R(t,e,n)}}),da=(t,e,r)=>(Bi(t,e,"access private method"),r);var Sa={};Ue(Sa,{default:()=>Yg});function Hg(t){let e=new WeakMap;return{postMessage:t.postMessage.bind(t),addEventListener:(r,n)=>{let o=l=>{"handleEvent"in n?n.handleEvent({data:l}):n({data:l})};t.on("message",o),e.set(n,o)},removeEventListener:(r,n)=>{let o=e.get(n);!o||(t.off("message",o),e.delete(n))},start:t.start&&t.start.bind(t)}}var Yg,xa=U(()=>{Yg=Hg});var wa={};Ue(wa,{port:()=>Zg});async function Zg(){let{parentPort:t}=await import("worker_threads").catch();return(await Promise.resolve().then(()=>(xa(),Sa))).default(t)}var va=U(()=>{});var Jg,No,Ce,Mt=U(()=>{Jg=!1,No=class{is(e){return this instanceof e}as(e){return this instanceof e?this:null}},Ce=class extends No{constructor(){super();Jg&&Object.defineProperty(this,"_debugStr",{get:()=>this.toString()})}get log(){return console.log.bind(console,this,this.toString())}}});function ka(t,e=!0){if(!e)return t;switch(t){case 1:return-1;case-1:return 1}}function Di(t,e){return e===-1?Array.from(t).reverse():t}function za(t){return Array.from(t).reverse()}var Q,ct=U(()=>{(function(r){r[r.Forwards=1]="Forwards",r[r.Backwards=-1]="Backwards"})(Q||(Q={}))});var On,Qr,Ca,di=U(()=>{On=2147483647,Qr="2^31 - 1",Ca=-2147483648});var dr,ut,Fi=U(()=>{Gt();ut=class{constructor(){ae(this,dr,[])}push(e){R(this,dr).push(e)}experimentalPushAlg(e){for(let r of e.units())this.push(r)}experimentalNumUnits(){return R(this,dr).length}toAlg(){return new k(R(this,dr))}reset(){$(this,dr,[])}};dr=new WeakMap});var Fr,Ar,Oo,Pe,_n=U(()=>{Gt();Mt();ct();Oo=class extends Ce{constructor(e,r){super();ae(this,Fr,void 0);ae(this,Ar,void 0);$(this,Fr,Zt(e)),$(this,Ar,Zt(r))}get A(){return R(this,Fr)}get B(){return R(this,Ar)}isIdentical(e){let r=e.as(Oo);return!!(r?.A.isIdentical(this.A)&&r?.B.isIdentical(this.B))}invert(){return new Oo(R(this,Ar),R(this,Fr))}*experimentalExpand(e=Q.Forwards,r){r??(r=1/0),r===0?yield e===Q.Forwards?this:this.invert():e===Q.Forwards?(yield*this.A.experimentalExpand(Q.Forwards,r-1),yield*this.B.experimentalExpand(Q.Forwards,r-1),yield*this.A.experimentalExpand(Q.Backwards,r-1),yield*this.B.experimentalExpand(Q.Backwards,r-1)):(yield*this.B.experimentalExpand(Q.Forwards,r-1),yield*this.A.experimentalExpand(Q.Forwards,r-1),yield*this.B.experimentalExpand(Q.Backwards,r-1),yield*this.A.experimentalExpand(Q.Backwards,r-1))}toString(){return\`[\${R(this,Fr).toString()}, \${R(this,Ar).toString()}]\`}},Pe=Oo;Fr=new WeakMap,Ar=new WeakMap});var jr,qr,_o,Me,Kn=U(()=>{Gt();Mt();ct();_o=class extends Ce{constructor(e,r){super();ae(this,jr,void 0);ae(this,qr,void 0);$(this,jr,Zt(e)),$(this,qr,Zt(r))}get A(){return R(this,jr)}get B(){return R(this,qr)}isIdentical(e){let r=e.as(_o);return!!(r?.A.isIdentical(this.A)&&r?.B.isIdentical(this.B))}invert(){return new _o(R(this,jr),R(this,qr).invert())}*experimentalExpand(e,r){r??(r=1/0),r===0?yield e===Q.Forwards?this:this.invert():(yield*this.A.experimentalExpand(Q.Forwards,r-1),yield*this.B.experimentalExpand(e,r-1),yield*this.A.experimentalExpand(Q.Backwards,r-1))}toString(){return\`[\${this.A}: \${this.B}]\`}},Me=_o;jr=new WeakMap,qr=new WeakMap});var Xt,Ai,pt,Wn=U(()=>{Mt();ct();Ai=class extends Ce{constructor(e){super();ae(this,Xt,void 0);if(e.includes(\`
5
+ \`)||e.includes("\\r"))throw new Error("LineComment cannot contain newline");$(this,Xt,e)}get text(){return R(this,Xt)}isIdentical(e){let r=e;return e.is(Ai)&&R(this,Xt)===R(r,Xt)}invert(){return this}*experimentalExpand(e=Q.Forwards,r=1/0){yield this}toString(){return\`//\${R(this,Xt)}\`}},pt=Ai;Xt=new WeakMap});var Qe,Qn=U(()=>{Mt();ct();Qe=class extends Ce{toString(){return\`
6
+ \`}isIdentical(e){return e.is(Qe)}invert(){return this}*experimentalExpand(e=Q.Forwards,r=1/0){yield this}}});var je,jn=U(()=>{Mt();ct();je=class extends Ce{toString(){return"."}isIdentical(e){return e.is(je)}invert(){return this}*experimentalExpand(e=Q.Forwards,r=1/0){yield this}}});function Ko(t,e){return t?parseInt(t):e}function hi(t){return new Wo().parseAlg(t)}function Ma(t){return new Wo().parseMove(t)}function Ga(t){return new Wo().parseQuantumMove(t)}function qe(t,e,r){let n=t;return n.startCharIndex=e,n.endCharIndex=r,n}function Ta(t,e){return"startCharIndex"in t&&(e.startCharIndex=t.startCharIndex),"endCharIndex"in t&&(e.endCharIndex=t.endCharIndex),e}var Pa,$g,e1,t1,r1,n1,Je,O,Wo,yi=U(()=>{Gt();Fi();_n();Kn();Qo();Wn();Tt();Qn();jn();Pa=/^(\\d+)?('?)/,$g=/^[_\\dA-Za-z]/,e1=/^((([1-9]\\d*)-)?([1-9]\\d*))?([_A-Za-z]+)?/,t1=/^[^\\n]*/,r1=/^(-?\\d+), ?/,n1=/^(-?\\d+)\\)/;Wo=class{constructor(){ae(this,Je,"");ae(this,O,0)}parseAlg(e){$(this,Je,e),$(this,O,0);let r=this.parseAlgWithStopping([]);return this.mustBeAtEndOfInput(),r}parseMove(e){$(this,Je,e),$(this,O,0);let r=this.parseMoveImpl();return this.mustBeAtEndOfInput(),r}parseQuantumMove(e){$(this,Je,e),$(this,O,0);let r=this.parseQuantumMoveImpl();return this.mustBeAtEndOfInput(),r}mustBeAtEndOfInput(){if(R(this,O)!==R(this,Je).length)throw new Error("parsing unexpectedly ended early")}parseAlgWithStopping(e){let r=R(this,O),n=R(this,O),o=new ut,l=!1,i=s=>{if(l)throw new Error(\`Unexpected character at index \${s}. Are you missing a space?\`)};e:for(;R(this,O)<R(this,Je).length;){let s=R(this,O);if(e.includes(R(this,Je)[R(this,O)]))return qe(o.toAlg(),r,n);if(this.tryConsumeNext(" ")){l=!1,o.experimentalNumUnits()===0&&(r=R(this,O));continue e}else if($g.test(R(this,Je)[R(this,O)])){i(s);let u=this.parseMoveImpl();o.push(u),l=!0,n=R(this,O);continue e}else if(this.tryConsumeNext("(")){i(s);let u=this.tryRegex(r1);if(u){let a=u[1],f=R(this,O),g=this.parseRegex(n1),L=qe(new c(new G("U_SQ_"),parseInt(a)),s+1,s+1+a.length),B=qe(new c(new G("D_SQ_"),parseInt(g[1])),f,R(this,O)-1),p=qe(new k([L,B]),s+1,R(this,O)-1);o.push(qe(new it(p),s,R(this,O))),l=!0,n=R(this,O);continue e}else{let a=this.parseAlgWithStopping([")"]);this.mustConsumeNext(")");let f=this.parseAmount();o.push(qe(new it(a,f),s,R(this,O))),l=!0,n=R(this,O);continue e}}else if(this.tryConsumeNext("[")){i(s);let u=this.parseAlgWithStopping([",",":"]),a=this.popNext(),f=this.parseAlgWithStopping(["]"]);switch(this.mustConsumeNext("]"),a){case":":o.push(qe(new Me(u,f),s,R(this,O))),l=!0,n=R(this,O);continue e;case",":o.push(qe(new Pe(u,f),s,R(this,O))),l=!0,n=R(this,O);continue e;default:throw"unexpected parsing error"}}else if(this.tryConsumeNext(\`
7
+ \`)){o.push(qe(new Qe,s,R(this,O))),l=!1,n=R(this,O);continue e}else if(this.tryConsumeNext("/"))if(this.tryConsumeNext("/")){i(s);let[u]=this.parseRegex(t1);o.push(qe(new pt(u),s,R(this,O))),l=!1,n=R(this,O);continue e}else{o.push(qe(new c("_SLASH_"),s,R(this,O))),l=!0,n=R(this,O);continue e}else if(this.tryConsumeNext(".")){i(s),o.push(qe(new je,s,R(this,O))),l=!0,n=R(this,O);continue e}else throw new Error(\`Unexpected character: \${this.popNext()}\`)}if(R(this,O)!==R(this,Je).length)throw new Error("did not finish parsing?");if(e.length>0)throw new Error("expected stopping");return qe(o.toAlg(),r,n)}parseQuantumMoveImpl(){let[,,,e,r,n]=this.parseRegex(e1);return new G(n,Ko(r,void 0),Ko(e,void 0))}parseMoveImpl(){let e=R(this,O);if(this.tryConsumeNext("/"))return qe(new c("_SLASH_"),e,R(this,O));let r=this.parseQuantumMoveImpl(),[n,o]=this.parseAmountAndTrackEmptyAbsAmount(),l=this.parseMoveSuffix();if(l){if(n<0)throw new Error("uh-oh");if((l==="++"||l==="--")&&n!==1)throw new Error("Pochmann ++ or -- moves cannot have an amount other than 1.");if((l==="++"||l==="--")&&!o)throw new Error("Pochmann ++ or -- moves cannot have an amount written as a number.");if((l==="+"||l==="-")&&o)throw new Error("Clock dial moves must have an amount written as a natural number followed by + or -.");l.startsWith("+")&&(r=r.modified({family:\`\${r.family}_\${l==="+"?"PLUS":"PLUSPLUS"}_\`})),l.startsWith("-")&&(r=r.modified({family:\`\${r.family}_\${l==="-"?"PLUS":"PLUSPLUS"}_\`}),n*=-1)}return qe(new c(r,n),e,R(this,O))}parseMoveSuffix(){return this.tryConsumeNext("+")?this.tryConsumeNext("+")?"++":"+":this.tryConsumeNext("-")?this.tryConsumeNext("-")?"--":"-":null}parseAmountAndTrackEmptyAbsAmount(){let e=R(this,O),[,r,n]=this.parseRegex(Pa);if(r?.startsWith("0")&&r!=="0")throw new Error(\`Error at char index \${e}: An amount can only start with 0 if it's exactly the digit 0.\`);return[Ko(r,1)*(n==="'"?-1:1),!r]}parseAmount(){let e=R(this,O),[,r,n]=this.parseRegex(Pa);if(r?.startsWith("0")&&r!=="0")throw new Error(\`Error at char index \${e}: An amount number can only start with 0 if it's exactly the digit 0.\`);return Ko(r,1)*(n==="'"?-1:1)}parseRegex(e){let r=e.exec(this.remaining());if(r===null)throw new Error("internal parsing error");return $(this,O,R(this,O)+r[0].length),r}tryRegex(e){let r=e.exec(this.remaining());return r===null?null:($(this,O,R(this,O)+r[0].length),r)}remaining(){return R(this,Je).slice(R(this,O))}popNext(){let e=R(this,Je)[R(this,O)];return mi(this,O)._++,e}tryConsumeNext(e){return R(this,Je)[R(this,O)]===e?(mi(this,O)._++,!0):!1}mustConsumeNext(e){let r=this.popNext();if(r!==e)throw new Error(\`expected \\\`\${e}\\\` while parsing, encountered \${r}\`);return r}};Je=new WeakMap,O=new WeakMap});function jo(t){Ia.has(t)||(console.warn(t),Ia.add(t))}var Ia,Ui=U(()=>{Ia=new Set});var Vr,bi=U(()=>{ct();di();Vr=class{constructor(e,r=1){if(this.quantum=e,this.amount=r,!Number.isInteger(this.amount)||this.amount<Ca||this.amount>On)throw new Error(\`Unit amount absolute value must be a non-negative integer from \${Qr} to \${Qr}.\`)}suffix(){let e="",r=Math.abs(this.amount);return r!==1&&(e+=r),this.amount<0&&(e+="'"),e}isIdentical(e){return this.quantum.isIdentical(e.quantum)&&this.amount===e.amount}*experimentalExpand(e,r){let n=Math.abs(this.amount),o=ka(e,this.amount<0);for(let l=0;l<n;l++)yield*this.quantum.experimentalExpand(o,r)}}});var It,Ge,Te,qo,G,we,Hr,c,Tt=U(()=>{Mt();ct();di();yi();Ui();bi();qo=class extends No{constructor(e,r,n){super();ae(this,It,void 0);ae(this,Ge,void 0);ae(this,Te,void 0);if($(this,It,e),$(this,Ge,r??null),$(this,Te,n??null),Object.freeze(this),R(this,Ge)!==null&&(!Number.isInteger(R(this,Ge))||R(this,Ge)<1||R(this,Ge)>On))throw new Error(\`QuantumMove inner layer must be a positive integer below \${Qr}.\`);if(R(this,Te)!==null&&(!Number.isInteger(R(this,Te))||R(this,Te)<1||R(this,Te)>On))throw new Error(\`QuantumMove outer layer must be a positive integer below \${Qr}.\`);if(R(this,Te)!==null&&R(this,Ge)!==null&&R(this,Ge)<=R(this,Te))throw new Error("QuantumMove outer layer must be smaller than inner layer.");if(R(this,Te)!==null&&R(this,Ge)===null)throw new Error("QuantumMove with an outer layer must have an inner layer")}static fromString(e){return Ga(e)}modified(e){return new qo(e.family??R(this,It),e.innerLayer??R(this,Ge),e.outerLayer??R(this,Te))}isIdentical(e){let r=e;return e.is(qo)&&R(this,It)===R(r,It)&&R(this,Ge)===R(r,Ge)&&R(this,Te)===R(r,Te)}get family(){return R(this,It)}get outerLayer(){return R(this,Te)}get innerLayer(){return R(this,Ge)}experimentalExpand(){throw new Error("experimentalExpand() cannot be called on a \`QuantumMove\` directly.")}toString(){let e=R(this,It);return R(this,Ge)!==null&&(e=String(R(this,Ge))+e,R(this,Te)!==null&&(e=String(R(this,Te))+"-"+e)),e}},G=qo;It=new WeakMap,Ge=new WeakMap,Te=new WeakMap;Hr=class extends Ce{constructor(...e){super();ae(this,we,void 0);if(typeof e[0]=="string")if(e[1]??null){$(this,we,new Vr(G.fromString(e[0]),e[1]));return}else return Hr.fromString(e[0]);$(this,we,new Vr(e[0],e[1]))}isIdentical(e){let r=e.as(Hr);return!!r&&R(this,we).isIdentical(R(r,we))}invert(){return Ta(this,new Hr(R(this,we).quantum,-this.amount))}*experimentalExpand(e=Q.Forwards){e===Q.Forwards?yield this:yield this.modified({amount:-this.amount})}get quantum(){return R(this,we).quantum}modified(e){return new Hr(R(this,we).quantum.modified(e),e.amount??this.amount)}static fromString(e){return Ma(e)}get amount(){return R(this,we).amount}get type(){return jo("deprecated: type"),"blockMove"}get family(){return R(this,we).quantum.family??void 0}get outerLayer(){return R(this,we).quantum.outerLayer??void 0}get innerLayer(){return R(this,we).quantum.innerLayer??void 0}toString(){if(this.family==="_SLASH_")return"/";if(this.family.endsWith("_PLUS_"))return R(this,we).quantum.toString().slice(0,-6)+Math.abs(this.amount)+(this.amount<0?"-":"+");if(this.family.endsWith("_PLUSPLUS_")){let e=Math.abs(this.amount);return R(this,we).quantum.toString().slice(0,-10)+(e===1?"":e)+(this.amount<0?"--":"++")}return R(this,we).quantum.toString()+R(this,we).suffix()}},c=Hr;we=new WeakMap});var Na,Oa,$e,Vo,it,Qo=U(()=>{Gt();Mt();ct();Tt();bi();Na=class{constructor(){this.quantumU_SQ_=null;this.quantumD_SQ_=null}format(e){let r=this.tuple(e);return r?\`(\${r.map(n=>n.amount).join(", ")})\`:null}tuple(e){this.quantumU_SQ_||(this.quantumU_SQ_=new G("U_SQ_")),this.quantumD_SQ_||(this.quantumD_SQ_=new G("D_SQ_"));let r=e.alg;if(r.experimentalNumUnits()===2){let[n,o]=r.units();if(n.as(c)?.quantum.isIdentical(this.quantumU_SQ_)&&o.as(c)?.quantum.isIdentical(this.quantumD_SQ_)){if(e.amount!==1)throw new Error("Square-1 tuples cannot have an amount other than 1.");return[n,o]}}return null}},Oa=new Na,Vo=class extends Ce{constructor(e,r){super();ae(this,$e,void 0);let n=Zt(e);$(this,$e,new Vr(n,r))}isIdentical(e){let r=e;return e.is(Vo)&&R(this,$e).isIdentical(R(r,$e))}get alg(){return R(this,$e).quantum}get amount(){return R(this,$e).amount}get experimentalRepetitionSuffix(){return R(this,$e).suffix()}invert(){return new Vo(R(this,$e).quantum,-R(this,$e).amount)}*experimentalExpand(e=Q.Forwards,r){r??(r=1/0),r===0?yield e===Q.Forwards?this:this.invert():yield*R(this,$e).experimentalExpand(e,r-1)}static fromString(){throw new Error("unimplemented")}toString(){return Oa.format(this)??\`(\${R(this,$e).quantum.toString()})\${R(this,$e).suffix()}\`}experimentalAsSquare1Tuple(){return Oa.tuple(this)}},it=Vo;$e=new WeakMap});var Ho=U(()=>{Qo();Wn();_n();Kn();Tt();Qn();jn()});function Rt(t,e){return t instanceof e}function _a(t){return Rt(t,it)||Rt(t,pt)||Rt(t,Pe)||Rt(t,Me)||Rt(t,c)||Rt(t,Qe)||Rt(t,je)}var Si=U(()=>{Ho()});function Ka(t,e,r){if(e.is(it))return t.traverseGrouping(e,r);if(e.is(c))return t.traverseMove(e,r);if(e.is(Pe))return t.traverseCommutator(e,r);if(e.is(Me))return t.traverseConjugate(e,r);if(e.is(je))return t.traversePause(e,r);if(e.is(Qe))return t.traverseNewline(e,r);if(e.is(pt))return t.traverseLineComment(e,r);throw new Error("unknown unit")}function Wa(t){if(t.is(it)||t.is(c)||t.is(Pe)||t.is(Me)||t.is(je)||t.is(Qe)||t.is(pt))return t;throw"internal error: expected unit"}var Yr,Zr,Yo,o1,wi,xi,Qa,ja,vi=U(()=>{Qo();_n();Tt();Qn();jn();Kn();Wn();Yr=class{traverseUnit(e,r){return Ka(this,e,r)}traverseIntoUnit(e,r){return Wa(this.traverseUnit(e,r))}},Zr=class extends Yr{traverseUnit(e){return Ka(this,e,void 0)}traverseIntoUnit(e){return Wa(this.traverseUnit(e))}},wi=class extends Yr{*traverseAlg(e,r){if(r.depth===0){yield*e.units();return}let n=[],o=null,l=r?.collapseMoves??!0;function i(a,f){var B;let g=da(B=wi,Yo,o1).call(B,a,f,r);if(g===0)return!1;let L=new c(a.quantum,g);return n.push(L),o=L,!0}function s(a){l&&o?.is(c)&&a.is(c)&&o.quantum.isIdentical(a.quantum)?(n.pop(),i(o,a.amount)||(o=n.slice(-1)[0])):a.is(c)?i(a,0):(n.push(a),o=a)}let u={depth:r.depth?r.depth-1:null};for(let a of e.units())for(let f of this.traverseUnit(a,u))s(f);for(let a of n)yield a}*traverseGrouping(e,r){if(r.depth===0){yield e;return}let n={depth:r.depth?r.depth-1:null};yield new it(this.traverseAlg(e.alg,n))}*traverseMove(e,r){yield e}*traverseCommutator(e,r){if(r.depth===0){yield e;return}let n={depth:r.depth?r.depth-1:null};yield new Pe(this.traverseAlg(e.A,n),this.traverseAlg(e.B,n))}*traverseConjugate(e,r){if(r.depth===0){yield e;return}let n={depth:r.depth?r.depth-1:null};yield new Me(this.traverseAlg(e.A,n),this.traverseAlg(e.B,n))}*traversePause(e,r){yield e}*traverseNewline(e,r){yield e}*traverseLineComment(e,r){yield e}},xi=wi;Yo=new WeakSet,o1=function(e,r,n){let o=e.amount+r;if(n?.quantumMoveOrder){let l=n.quantumMoveOrder(e.quantum),i=Math.floor(l/2)+1-l;o=(o%l+l-i)%l+i}return o},ae(xi,Yo);Qa=new xi,ja=Qa.traverseAlg.bind(Qa)});function qa(t){if(!t)return[];if(Rt(t,k))return t.units();if(typeof t=="string")return hi(t).units();let e=t;if(typeof e[Symbol.iterator]=="function")return e;throw"Invalid unit"}function Zt(t){return Rt(t,k)?t:new k(t)}function l1(t,e){return t.is(Qe)||e.is(Qe)?"":t.is(pt)&&!e.is(Qe)?\`
8
+ \`:" "}var et,hr,k,Gt=U(()=>{Mt();Si();ct();yi();vi();Wn();Tt();Qn();Ui();hr=class extends Ce{constructor(e){super();ae(this,et,void 0);$(this,et,Array.from(qa(e)));for(let r of R(this,et))if(!_a(r))throw new Error("An alg can only contain units.")}isIdentical(e){let r=e;if(!e.is(hr))return!1;let n=Array.from(R(this,et)),o=Array.from(R(r,et));if(n.length!==o.length)return!1;for(let l=0;l<n.length;l++)if(!n[l].isIdentical(o[l]))return!1;return!0}invert(){return new hr(za(Array.from(R(this,et)).map(e=>e.invert())))}*experimentalExpand(e=Q.Forwards,r){r??(r=1/0);for(let n of Di(R(this,et),e))yield*n.experimentalExpand(e,r)}expand(e){return new hr(this.experimentalExpand(Q.Forwards,e?.depth??1/0))}*experimentalLeafMoves(){for(let e of this.experimentalExpand())e.is(c)&&(yield e)}concat(e){return new hr(Array.from(R(this,et)).concat(Array.from(qa(e))))}experimentalIsEmpty(){for(let e of R(this,et))return!1;return!0}static fromString(e){return hi(e)}*units(){for(let e of R(this,et))yield e}experimentalNumUnits(){return Array.from(R(this,et)).length}get type(){return jo("deprecated: type"),"sequence"}toString(){let e="",r=null;for(let n of R(this,et))r&&(e+=l1(r,n)),e+=n.toString(),r=n;return e}simplify(e){return new hr(ja(this,e??{}))}},k=hr;et=new WeakMap});var i1,Va=U(()=>{Gt();Ho();_n();Kn();Tt();jn();i1={Sune:new k([new c("R",1),new c("U",1),new c("R",-1),new c("U",1),new c("R",1),new c("U",-2),new c("R",-1)]),AntiSune:new k([new c("R",1),new c("U",2),new c("R",-1),new c("U",-1),new c("R",1),new c("U",-1),new c("R",-1)]),SuneCommutator:new k([new Pe(new k([new c("R",1),new c("U",1),new c("R",-2)]),new k([new Me(new k([new c("R",1)]),new k([new c("U",1)]))]))]),Niklas:new k([new c("R",1),new c("U",-1),new c("L",-1),new c("U",1),new c("R",-1),new c("U",-1),new c("L",1),new c("U",1)]),EPerm:new k([new c("x",-1),new Pe(new k([new Me(new k([new c("R",1)]),new k([new c("U",-1)]))]),new k([new c("D",1)])),new Pe(new k([new Me(new k([new c("R",1)]),new k([new c("U",1)]))]),new k([new c("D",1)])),new c("x",1)]),FURURFCompact:new k([new Me(new k([new c("F",1)]),new k([new Pe(new k([new c("U",1)]),new k([new c("R",1)]))]))]),APermCompact:new k([new Me(new k([new c("R",2)]),new k([new Pe(new k([new c("F",2)]),new k([new c("R",-1),new c("B",-1),new c("R",1)]))]))]),FURURFMoves:new k([new c("F",1),new c("U",1),new c("R",1),new c("U",-1),new c("R",-1),new c("F",-1)]),TPerm:new k([new c("R",1),new c("U",1),new c("R",-1),new c("U",-1),new c("R",-1),new c("F",1),new c("R",2),new c("U",-1),new c("R",-1),new c("U",-1),new c("R",1),new c("U",1),new c("R",-1),new c("F",-1)]),HeadlightSwaps:new k([new Me(new k([new c("F",1)]),new k([new it(new k([new Pe(new k([new c("R",1)]),new k([new c("U",1)]))]),3)]))]),TriplePause:new k([new je,new je,new je])}});var AR,Ha=U(()=>{Tt();AR={73:new c("R"),75:new c("R'"),87:new c("B"),79:new c("B'"),83:new c("D"),76:new c("D'"),68:new c("L"),69:new c("L'"),74:new c("U"),70:new c("U'"),72:new c("F"),71:new c("F'"),78:new c("x'"),67:new c("l"),82:new c("l'"),85:new c("r"),77:new c("r'"),88:new c("d"),188:new c("d'"),84:new c("x"),89:new c("x"),66:new c("x'"),186:new c("y"),59:new c("y"),65:new c("y'"),80:new c("z"),81:new c("z'"),90:new c("M'"),190:new c("M'")}});var Ya=U(()=>{});var Za=U(()=>{Gt()});var Ae=U(()=>{Gt();Fi();vi();Va();Ha();Ho();Tt();Ya();Za();Si();ct()});function qn(t,e,r){let n={};for(let o in t.orbits){let l=t.orbits[o],i=e[o],s=r[o];if(Vn(l.numOrientations,s))n[o]=i;else if(Vn(l.numOrientations,i))n[o]=s;else{let u=new Array(l.numPieces);if(l.numOrientations===1){for(let a=0;a<l.numPieces;a++)u[a]=i.permutation[s.permutation[a]];n[o]={permutation:u,orientation:i.orientation}}else{let a=new Array(l.numPieces);for(let f=0;f<l.numPieces;f++)a[f]=(i.orientation[s.permutation[f]]+s.orientation[f])%l.numOrientations,u[f]=i.permutation[s.permutation[f]];n[o]={permutation:u,orientation:a}}}}return n}function Ei(t,e,r){let n={};for(let o in t.orbits){let l=t.orbits[o],i=e[o],s=r[o];if(Vn(l.numOrientations,s))n[o]=i;else{let u=new Array(l.numPieces);if(l.numOrientations===1){for(let a=0;a<l.numPieces;a++)u[a]=i.pieces[s.permutation[a]];n[o]={pieces:u,orientation:i.orientation}}else{let a=new Array(l.numPieces);for(let f=0;f<l.numPieces;f++)a[f]=(i.orientation[s.permutation[f]]+s.orientation[f])%l.numOrientations,u[f]=i.pieces[s.permutation[f]];n[o]={pieces:u,orientation:a}}}}return n}var Zo=U(()=>{Hn()});function s1(t){let e=Ja.get(t);if(e)return e;let r=new Array(t),n=new Array(t);for(let l=0;l<t;l++)r[l]=l,n[l]=0;let o={permutation:r,orientation:n};return Xa&&(Object.freeze(r),Object.freeze(n),Object.freeze(o)),Ja.set(t,o),o}function $a(t){let e={};for(let[r,n]of Object.entries(t.orbits))e[r]=s1(n.numPieces);return Xa&&Object.freeze(e),e}function e0(t,e){let r=e.quantum.toString(),n=t.definition.moves[r];if(n)return Jt(t,n,e.amount);let o=t.definition.moves[e.toString()];if(o)return o;let l=t.definition.moves[e.invert().toString()];if(l)return Jt(t,l,-1);throw new Error(\`Invalid move for KPuzzle (\${t.name()}): \${e}\`)}var Xa,Ja,ki=U(()=>{Hn();Xa=!1,Ja=new Map});var Be,Xo=U(()=>{Zo();Jo();Be=class{constructor(e,r){this.kpuzzle=e;this.stateData=r}static fromTransformation(e){let r=Ei(e.kpuzzle.definition,e.kpuzzle.definition.startStateData,e.transformationData);return new Be(e.kpuzzle,r)}apply(e){return this.applyTransformation(this.kpuzzle.toTransformation(e))}applyTransformation(e){if(e.isIdentityTransformation())return new Be(this.kpuzzle,this.stateData);let r=Ei(this.kpuzzle.definition,this.stateData,e.transformationData);return new Be(this.kpuzzle,r)}applyMove(e){return this.applyTransformation(this.kpuzzle.moveToTransformation(e))}applyAlg(e){return this.applyTransformation(this.kpuzzle.algToTransformation(e))}experimentalToTransformation(){if(!this.kpuzzle.canConvertStateToUniqueTransformation())return null;let e={};for(let[r,n]of Object.entries(this.stateData)){let o={permutation:n.pieces,orientation:n.orientation};e[r]=o}return new wt(this.kpuzzle,e)}}});var yr,$t,wt,Jo=U(()=>{Hn();Zo();ki();Xo();$t=class{constructor(e,r){this.kpuzzle=e;this.transformationData=r;ae(this,yr,void 0)}invert(){return new $t(this.kpuzzle,zi(this.kpuzzle,this.transformationData))}isIdentityTransformation(){return R(this,yr)??$(this,yr,this.isIdentical(this.kpuzzle.identityTransformation()))}static experimentalConstructIdentity(e){let r=new $t(e,$a(e.definition));return $(r,yr,!0),r}isIdentical(e){return t0(this.kpuzzle,this.transformationData,e.transformationData)}apply(e){return this.applyTransformation(this.kpuzzle.toTransformation(e))}applyTransformation(e){if(this.kpuzzle!==e.kpuzzle)throw new Error(\`Tried to apply a transformation for a KPuzzle (\${e.kpuzzle.name()}) to a different KPuzzle (\${this.kpuzzle.name()}).\`);return R(this,yr)?new $t(this.kpuzzle,e.transformationData):R(e,yr)?new $t(this.kpuzzle,this.transformationData):new $t(this.kpuzzle,qn(this.kpuzzle.definition,this.transformationData,e.transformationData))}applyMove(e){return this.applyTransformation(this.kpuzzle.moveToTransformation(e))}applyAlg(e){return this.applyTransformation(this.kpuzzle.algToTransformation(e))}toKState(){return Be.fromTransformation(this)}repetitionOrder(){return r0(this.kpuzzle.definition,this)}selfMultiply(e){return new $t(this.kpuzzle,Jt(this.kpuzzle,this.transformationData,e))}},wt=$t;yr=new WeakMap});function Vn(t,e){let{permutation:r}=e,n=r.length;for(let o=0;o<n;o++)if(r[o]!==o)return!1;if(t>1){let{orientation:o}=e;for(let l=0;l<n;l++)if(o[l]!==0)return!1}return!0}function a1(t,e,r,n={}){for(let o=0;o<t.numPieces;o++)if(!n?.ignoreOrientation&&e.orientation[o]!==r.orientation[o]||!n?.ignorePermutation&&e.permutation[o]!==r.permutation[o])return!1;return!0}function t0(t,e,r){for(let[n,o]of Object.entries(t.definition.orbits))if(!a1(o,e[n],r[n]))return!1;return!0}function zi(t,e){let r={};for(let n in t.definition.orbits){let o=t.definition.orbits[n],l=e[n];if(Vn(o.numOrientations,l))r[n]=l;else if(o.numOrientations===1){let i=new Array(o.numPieces);for(let s=0;s<o.numPieces;s++)i[l.permutation[s]]=s;r[n]={permutation:i,orientation:l.orientation}}else{let i=new Array(o.numPieces),s=new Array(o.numPieces);for(let u=0;u<o.numPieces;u++){let a=l.permutation[u];i[a]=u,s[a]=(o.numOrientations-l.orientation[u]+o.numOrientations)%o.numOrientations}r[n]={permutation:i,orientation:s}}}return r}function Jt(t,e,r){if(r===1)return e;if(r<0)return Jt(t,zi(t,e),-r);if(r===0){let{transformationData:l}=t.identityTransformation();return l}let n=e;r!==2&&(n=Jt(t,e,Math.floor(r/2)));let o=qn(t.definition,n,n);return r%2==0?o:qn(t.definition,e,o)}function Ci(t,e){return e?Ci(e,t%e):t}function r0(t,e){let r=1;for(let n in t.orbits){let o=t.orbits[n],l=e.transformationData[n],i=new Array(o.numPieces);for(let s=0;s<o.numPieces;s++)if(!i[s]){let u=s,a=0,f=0;for(;i[u]=!0,a=a+l.orientation[u],f=f+1,u=l.permutation[u],u!==s;);a!==0&&(f=f*o.numOrientations/Ci(o.numOrientations,a)),r=r*f/Ci(r,f)}}return r}var n0,o0,l0,Hn=U(()=>{Ae();Zo();Jo();n0=class extends Yr{traverseAlg(e,r){let n=r.identityTransformation();for(let o of e.units())n=n.applyTransformation(this.traverseUnit(o,r));return n}traverseGrouping(e,r){let n=this.traverseAlg(e.alg,r);return new wt(r,Jt(r,n.transformationData,e.amount))}traverseMove(e,r){return r.moveToTransformation(e)}traverseCommutator(e,r){let n=this.traverseAlg(e.A,r),o=this.traverseAlg(e.B,r);return n.applyTransformation(o).applyTransformation(n.invert()).applyTransformation(o.invert())}traverseConjugate(e,r){let n=this.traverseAlg(e.A,r),o=this.traverseAlg(e.B,r);return n.applyTransformation(o).applyTransformation(n.invert())}traversePause(e,r){return r.identityTransformation()}traverseNewline(e,r){return r.identityTransformation()}traverseLineComment(e,r){return r.identityTransformation()}},o0=new n0,l0=o0.traverseAlg.bind(o0)});var Xr,$o,Ie,Pi=U(()=>{Ae();Hn();ki();Xo();Jo();Ie=class{constructor(e,r){this.definition=e;ae(this,Xr,new Map);ae(this,$o,void 0);this.experimentalPGNotation=r?.experimentalPGNotation}name(){return this.definition.name}identityTransformation(){return wt.experimentalConstructIdentity(this)}moveToTransformation(e){typeof e=="string"&&(e=new c(e));let r=e.toString(),n=R(this,Xr).get(r);if(n)return new wt(this,n);if(this.experimentalPGNotation){let l=this.experimentalPGNotation.lookupMove(e);if(!l)throw new Error(\`could not map to internal move: \${e}\`);return R(this,Xr).set(r,l),new wt(this,l)}let o=e0(this,e);return R(this,Xr).set(r,o),new wt(this,o)}algToTransformation(e){return typeof e=="string"&&(e=new k(e)),l0(e,this)}toTransformation(e){return typeof e=="string"?this.algToTransformation(e):e?.is?.(k)?this.algToTransformation(e):e?.is?.(c)?this.moveToTransformation(e):e}startState(){return new Be(this,this.definition.startStateData)}canConvertStateToUniqueTransformation(){return R(this,$o)??$(this,$o,(()=>{for(let[e,r]of Object.entries(this.definition.orbits)){let n=new Array(r.numPieces).fill(!1);for(let o of this.definition.startStateData[e].pieces)n[o]=!0;for(let o of n)if(!o)return!1}return!0})())}get state(){throw new Error("KPuzzle is now a different (stateless) class.")}reset(){throw new Error("KPuzzle is now a different (stateless) class.")}applyMove(e){throw new Error("KPuzzle is now a different class. Try \`.moveToTransformation()\` to get the transformation for a move.")}applyAlg(e){throw new Error("KPuzzle is now a different class. Try \`.algToTransformation()\` to get the transformation for an alg.")}};Xr=new WeakMap,$o=new WeakMap});var i0=U(()=>{});var pe,s0=U(()=>{pe={name:"3x3x3",orbits:{EDGES:{numPieces:12,numOrientations:2},CORNERS:{numPieces:8,numOrientations:3},CENTERS:{numPieces:6,numOrientations:4}},startStateData:{EDGES:{pieces:[0,1,2,3,4,5,6,7,8,9,10,11],orientation:[0,0,0,0,0,0,0,0,0,0,0,0]},CORNERS:{pieces:[0,1,2,3,4,5,6,7],orientation:[0,0,0,0,0,0,0,0]},CENTERS:{pieces:[0,1,2,3,4,5],orientation:[0,0,0,0,0,0]}},moves:{U:{EDGES:{permutation:[1,2,3,0,4,5,6,7,8,9,10,11],orientation:[0,0,0,0,0,0,0,0,0,0,0,0]},CORNERS:{permutation:[1,2,3,0,4,5,6,7],orientation:[0,0,0,0,0,0,0,0]},CENTERS:{permutation:[0,1,2,3,4,5],orientation:[1,0,0,0,0,0]}},y:{EDGES:{permutation:[1,2,3,0,5,6,7,4,10,8,11,9],orientation:[0,0,0,0,0,0,0,0,1,1,1,1]},CORNERS:{permutation:[1,2,3,0,7,4,5,6],orientation:[0,0,0,0,0,0,0,0]},CENTERS:{permutation:[0,2,3,4,1,5],orientation:[1,0,0,0,0,3]}},x:{EDGES:{permutation:[4,8,0,9,6,10,2,11,5,7,1,3],orientation:[1,0,1,0,1,0,1,0,0,0,0,0]},CORNERS:{permutation:[4,0,3,5,7,6,2,1],orientation:[2,1,2,1,1,2,1,2]},CENTERS:{permutation:[2,1,5,3,0,4],orientation:[0,3,0,1,2,2]}},L:{EDGES:{permutation:[0,1,2,11,4,5,6,9,8,3,10,7],orientation:[0,0,0,0,0,0,0,0,0,0,0,0]},CORNERS:{permutation:[0,1,6,2,4,3,5,7],orientation:[0,0,2,1,0,2,1,0]},CENTERS:{permutation:[0,1,2,3,4,5],orientation:[0,1,0,0,0,0]}},F:{EDGES:{permutation:[9,1,2,3,8,5,6,7,0,4,10,11],orientation:[1,0,0,0,1,0,0,0,1,1,0,0]},CORNERS:{permutation:[3,1,2,5,0,4,6,7],orientation:[1,0,0,2,2,1,0,0]},CENTERS:{permutation:[0,1,2,3,4,5],orientation:[0,0,1,0,0,0]}},R:{EDGES:{permutation:[0,8,2,3,4,10,6,7,5,9,1,11],orientation:[0,0,0,0,0,0,0,0,0,0,0,0]},CORNERS:{permutation:[4,0,2,3,7,5,6,1],orientation:[2,1,0,0,1,0,0,2]},CENTERS:{permutation:[0,1,2,3,4,5],orientation:[0,0,0,1,0,0]}},B:{EDGES:{permutation:[0,1,10,3,4,5,11,7,8,9,6,2],orientation:[0,0,1,0,0,0,1,0,0,0,1,1]},CORNERS:{permutation:[0,7,1,3,4,5,2,6],orientation:[0,2,1,0,0,0,2,1]},CENTERS:{permutation:[0,1,2,3,4,5],orientation:[0,0,0,0,1,0]}},D:{EDGES:{permutation:[0,1,2,3,7,4,5,6,8,9,10,11],orientation:[0,0,0,0,0,0,0,0,0,0,0,0]},CORNERS:{permutation:[0,1,2,3,5,6,7,4],orientation:[0,0,0,0,0,0,0,0]},CENTERS:{permutation:[0,1,2,3,4,5],orientation:[0,0,0,0,0,1]}},z:{EDGES:{permutation:[9,3,11,7,8,1,10,5,0,4,2,6],orientation:[1,1,1,1,1,1,1,1,1,1,1,1]},CORNERS:{permutation:[3,2,6,5,0,4,7,1],orientation:[1,2,1,2,2,1,2,1]},CENTERS:{permutation:[1,5,2,0,4,3],orientation:[1,1,1,1,3,1]}},M:{EDGES:{permutation:[2,1,6,3,0,5,4,7,8,9,10,11],orientation:[1,0,1,0,1,0,1,0,0,0,0,0]},CORNERS:{permutation:[0,1,2,3,4,5,6,7],orientation:[0,0,0,0,0,0,0,0]},CENTERS:{permutation:[4,1,0,3,5,2],orientation:[2,0,0,0,2,0]}},E:{EDGES:{permutation:[0,1,2,3,4,5,6,7,9,11,8,10],orientation:[0,0,0,0,0,0,0,0,1,1,1,1]},CORNERS:{permutation:[0,1,2,3,4,5,6,7],orientation:[0,0,0,0,0,0,0,0]},CENTERS:{permutation:[0,4,1,2,3,5],orientation:[0,0,0,0,0,0]}},S:{EDGES:{permutation:[0,3,2,7,4,1,6,5,8,9,10,11],orientation:[0,1,0,1,0,1,0,1,0,0,0,0]},CORNERS:{permutation:[0,1,2,3,4,5,6,7],orientation:[0,0,0,0,0,0,0,0]},CENTERS:{permutation:[1,5,2,0,4,3],orientation:[1,1,0,1,0,1]}},u:{EDGES:{permutation:[1,2,3,0,4,5,6,7,10,8,11,9],orientation:[0,0,0,0,0,0,0,0,1,1,1,1]},CORNERS:{permutation:[1,2,3,0,4,5,6,7],orientation:[0,0,0,0,0,0,0,0]},CENTERS:{permutation:[0,2,3,4,1,5],orientation:[1,0,0,0,0,0]}},l:{EDGES:{permutation:[2,1,6,11,0,5,4,9,8,3,10,7],orientation:[1,0,1,0,1,0,1,0,0,0,0,0]},CORNERS:{permutation:[0,1,6,2,4,3,5,7],orientation:[0,0,2,1,0,2,1,0]},CENTERS:{permutation:[4,1,0,3,5,2],orientation:[2,1,0,0,2,0]}},f:{EDGES:{permutation:[9,3,2,7,8,1,6,5,0,4,10,11],orientation:[1,1,0,1,1,1,0,1,1,1,0,0]},CORNERS:{permutation:[3,1,2,5,0,4,6,7],orientation:[1,0,0,2,2,1,0,0]},CENTERS:{permutation:[1,5,2,0,4,3],orientation:[1,1,1,1,0,1]}},r:{EDGES:{permutation:[4,8,0,3,6,10,2,7,5,9,1,11],orientation:[1,0,1,0,1,0,1,0,0,0,0,0]},CORNERS:{permutation:[4,0,2,3,7,5,6,1],orientation:[2,1,0,0,1,0,0,2]},CENTERS:{permutation:[2,1,5,3,0,4],orientation:[0,0,0,1,2,2]}},b:{EDGES:{permutation:[0,5,10,1,4,7,11,3,8,9,6,2],orientation:[0,1,1,1,0,1,1,1,0,0,1,1]},CORNERS:{permutation:[0,7,1,3,4,5,2,6],orientation:[0,2,1,0,0,0,2,1]},CENTERS:{permutation:[3,0,2,5,4,1],orientation:[3,3,0,3,1,3]}},d:{EDGES:{permutation:[0,1,2,3,7,4,5,6,9,11,8,10],orientation:[0,0,0,0,0,0,0,0,1,1,1,1]},CORNERS:{permutation:[0,1,2,3,5,6,7,4],orientation:[0,0,0,0,0,0,0,0]},CENTERS:{permutation:[0,4,1,2,3,5],orientation:[0,0,0,0,0,1]}}}};pe.moves.Uw=pe.moves.u;pe.moves.Lw=pe.moves.l;pe.moves.Fw=pe.moves.f;pe.moves.Rw=pe.moves.r;pe.moves.Bw=pe.moves.b;pe.moves.Dw=pe.moves.d;pe.moves.Rv=pe.moves.x;pe.moves.Uv=pe.moves.y;pe.moves.Fv=pe.moves.z;pe.moves.Lv={EDGES:{permutation:[2,10,6,11,0,8,4,9,1,3,5,7],orientation:[1,0,1,0,1,0,1,0,0,0,0,0]},CORNERS:{permutation:[1,7,6,2,0,3,5,4],orientation:[2,1,2,1,1,2,1,2]},CENTERS:{permutation:[4,1,0,3,5,2],orientation:[2,1,0,3,2,0]}};pe.moves.Dv={EDGES:{permutation:[3,0,1,2,7,4,5,6,9,11,8,10],orientation:[0,0,0,0,0,0,0,0,1,1,1,1]},CORNERS:{permutation:[3,0,1,2,5,6,7,4],orientation:[0,0,0,0,0,0,0,0]},CENTERS:{permutation:[0,4,1,2,3,5],orientation:[3,0,0,0,0,1]}};pe.moves.Bv={EDGES:{permutation:[8,5,10,1,9,7,11,3,4,0,6,2],orientation:[1,1,1,1,1,1,1,1,1,1,1,1]},CORNERS:{permutation:[4,7,1,0,5,3,2,6],orientation:[1,2,1,2,2,1,2,1]},CENTERS:{permutation:[3,0,2,5,4,1],orientation:[3,3,3,3,1,3]}}});var Mi,Ve=U(()=>{Pi();i0();Xo();Pi();s0();Mi=new Ie(pe)});var a0=U(()=>{Ve()});function D1(t){switch(t){case S.Regular:return u1;case S.Dim:return c1;case S.Ignored:return f1;case S.OrientationStickers:return g1;case S.Invisible:return L1;case S.IgnoreNonPrimary:return B1;case S.PermuteNonPrimary:return m1;case S.Ignoriented:return p1;case S.OrientationWithoutPermutation:return R1}}var S,Jr,vt,Ne,$r,el,Ur,u1,f1,g1,L1,B1,m1,c1,p1,R1,Yn,Zn,Xn=U(()=>{(function(a){a.Regular="Regular",a.Dim="Dim",a.Ignored="Ignored",a.OrientationStickers="OrientationStickers",a.Invisible="Invisible",a.Ignoriented="Ignoriented",a.IgnoreNonPrimary="IgnoreNonPrimary",a.PermuteNonPrimary="PermuteNonPrimary",a.OrientationWithoutPermutation="OrientationWithoutPermutation"})(S||(S={}));Jr=class{constructor(e,r){this.stickerings=new Map;for(let[n,o]of Object.entries(e.definition.orbits))this.stickerings.set(n,new Array(o.numPieces).fill(r))}},vt="regular",Ne="ignored",$r="oriented",el="invisible",Ur="dim",u1={facelets:[vt,vt,vt,vt,vt]},f1={facelets:[Ne,Ne,Ne,Ne,Ne]},g1={facelets:[$r,$r,$r,$r,$r]},L1={facelets:[el,el,el,el]},B1={facelets:[vt,Ne,Ne,Ne,Ne]},m1={facelets:[Ur,vt,vt,vt,vt]},c1={facelets:[Ur,Ur,Ur,Ur,Ur]},p1={facelets:[Ur,Ne,Ne,Ne,Ne]},R1={facelets:[$r,Ne,Ne,Ne,Ne]};Yn=class extends Jr{constructor(e){super(e,S.Regular)}set(e,r){for(let[n,o]of this.stickerings.entries())for(let l=0;l<o.length;l++)e.stickerings.get(n)[l]&&(o[l]=r);return this}toAppearance(){let e={orbits:{}};for(let[r,n]of this.stickerings.entries()){let o=[],l={pieces:o};e.orbits[r]=l;for(let i of n)o.push(D1(i))}return e}},Zn=class{constructor(e){this.kpuzzle=e}and(e){let r=new Jr(this.kpuzzle,!1);for(let[n,o]of Object.entries(this.kpuzzle.definition.orbits)){e:for(let l=0;l<o.numPieces;l++){r.stickerings.get(n)[l]=!0;for(let i of e)if(!i.stickerings.get(n)[l]){r.stickerings.get(n)[l]=!1;continue e}}}return r}or(e){let r=new Jr(this.kpuzzle,!1);for(let[n,o]of Object.entries(this.kpuzzle.definition.orbits)){e:for(let l=0;l<o.numPieces;l++){r.stickerings.get(n)[l]=!1;for(let i of e)if(i.stickerings.get(n)[l]){r.stickerings.get(n)[l]=!0;continue e}}}return r}not(e){let r=new Jr(this.kpuzzle,!1);for(let[n,o]of Object.entries(this.kpuzzle.definition.orbits))for(let l=0;l<o.numPieces;l++)r.stickerings.get(n)[l]=!e.stickerings.get(n)[l];return r}all(){return this.and(this.moves([]))}move(e){let r=this.kpuzzle.moveToTransformation(e),n=new Jr(this.kpuzzle,!1);for(let[o,l]of Object.entries(this.kpuzzle.definition.orbits))for(let i=0;i<l.numPieces;i++)(r.transformationData[o].permutation[i]!==i||r.transformationData[o].orientation[i]!==0)&&(n.stickerings.get(o)[i]=!0);return n}moves(e){return e.map(r=>this.move(r))}}});function d1(t){(async()=>{u0=t;let e=Array.from(document.body.querySelectorAll("twisty-player"));console.log(\`Setting the custom stickering for \${e.length} players!\`);let r=[];for(let n of e)r.push((async()=>{let o=await n.experimentalModel.stickeringProp.get();n.experimentalStickering=o==="experimental-global-custom-1"?"experimental-global-custom-2":"experimental-global-custom-1"})());await Promise.all(r),console.log("Success!")})()}function f0(t,e){u0(t,e)}var u0,g0=U(()=>{Xn();u0=()=>{};globalThis.location&&new URL(location.href).searchParams.get("global-custom-stickerer")==="true"&&(window.setGlobalCustomStickerer=d1,window.PieceStickering=S,console.log("Global custom stickerer enabled! (using: global-custom-stickerer=true)"),console.log("Look here for inspiration:","https://github.com/cubing/cubing.js/blob/81b5cab3e27d8defb39dd1e0a10bc9e8ba894d26/src/cubing/puzzles/stickerings/cube-stickerings.ts#L67"))});async function Dt(t,e){let r=await t.kpuzzle(),n=new Yn(r),o=new Zn(r),l=()=>o.move("U"),i=()=>o.or(o.moves(["U","D"])),s=()=>o.not(i()),u=()=>o.or(o.moves(["L","R"])),a=()=>o.not(u()),f=()=>o.or(o.moves(["F","B"])),g=()=>o.not(f()),L=()=>o.not(l()),B=()=>o.and([l(),a(),g()]),p=()=>o.and([o.and(o.moves(["F","R"])),o.not(i())]),m=()=>o.and(o.moves(["D","R","F"])),F=()=>o.or([m(),p()]),A=()=>o.or([o.and([a(),s()]),o.and([a(),g()]),o.and([s(),g()])]),b=()=>o.or([o.and([a(),i(),f()]),o.and([s(),u(),f()]),o.and([g(),i(),u()])]),h=()=>o.not(o.or([A(),b()])),C=()=>o.or([a(),o.and([l(),b()])]);function E(){n.set(L(),S.Dim)}function j(){n.set(l(),S.PermuteNonPrimary),n.set(B(),S.Dim)}function te(){n.set(l(),S.IgnoreNonPrimary),n.set(B(),S.Regular)}function I(){n.set(l(),S.Ignoriented),n.set(B(),S.Dim)}switch(e){case"full":break;case"PLL":E(),j();break;case"CLS":E(),n.set(o.and(o.moves(["D","R","F"])),S.Regular),n.set(l(),S.Ignoriented),n.set(o.and([l(),h()]),S.IgnoreNonPrimary);break;case"OLL":E(),te();break;case"COLL":E(),j(),n.set(o.and([l(),h()]),S.Regular);break;case"OCLL":E(),I(),n.set(o.and([l(),h()]),S.IgnoreNonPrimary);break;case"CLL":E(),n.set(o.not(o.and([h(),l()])),S.Dim);break;case"ELL":E(),n.set(l(),S.Dim),n.set(o.and([l(),b()]),S.Regular);break;case"ELS":E(),te(),n.set(o.and([l(),h()]),S.Ignored),n.set(p(),S.Regular),n.set(m(),S.Ignored);break;case"LL":E();break;case"F2L":n.set(l(),S.Ignored);break;case"ZBLL":E(),n.set(l(),S.PermuteNonPrimary),n.set(B(),S.Dim),n.set(o.and([l(),h()]),S.Regular);break;case"ZBLS":E(),n.set(F(),S.Regular),te(),n.set(o.and([l(),h()]),S.Ignored);break;case"WVLS":case"VLS":E(),n.set(F(),S.Regular),te();break;case"LS":E(),n.set(F(),S.Regular),n.set(l(),S.Ignored),n.set(B(),S.Dim);break;case"EO":n.set(h(),S.Ignored),n.set(b(),S.OrientationWithoutPermutation);break;case"EOline":n.set(h(),S.Ignored),n.set(b(),S.OrientationWithoutPermutation),n.set(o.and(o.moves(["D","M"])),S.Regular);break;case"EOcross":n.set(b(),S.OrientationWithoutPermutation),n.set(o.move("D"),S.Regular),n.set(h(),S.Ignored);break;case"CMLL":n.set(L(),S.Dim),n.set(C(),S.Ignored),n.set(o.and([l(),h()]),S.Regular);break;case"L6E":n.set(o.not(C()),S.Dim);break;case"L6EO":n.set(o.not(C()),S.Dim),n.set(C(),S.OrientationWithoutPermutation),n.set(o.and([A(),i()]),S.OrientationStickers);break;case"Daisy":n.set(o.all(),S.Ignored),n.set(A(),S.Dim),n.set(o.and([o.move("D"),A()]),S.Regular),n.set(o.and([o.move("U"),b()]),S.IgnoreNonPrimary);break;case"Cross":n.set(o.all(),S.Ignored),n.set(A(),S.Dim),n.set(o.and([o.move("D"),A()]),S.Regular),n.set(o.and([o.move("D"),b()]),S.Regular);break;case"2x2x2":n.set(o.or(o.moves(["U","F","R"])),S.Ignored),n.set(o.and([o.or(o.moves(["U","F","R"])),A()]),S.Dim);break;case"2x2x3":n.set(o.all(),S.Dim),n.set(o.or(o.moves(["U","F","R"])),S.Ignored),n.set(o.and([o.or(o.moves(["U","F","R"])),A()]),S.Dim),n.set(o.and([o.move("F"),o.not(o.or(o.moves(["U","R"])))]),S.Regular);break;case"Void Cube":n.set(A(),S.Invisible);break;case"picture":case"invisible":n.set(o.all(),S.Invisible);break;case"centers-only":n.set(o.not(A()),S.Ignored);break;case"experimental-global-custom-1":case"experimental-global-custom-2":f0(n,o);break;default:console.warn(\`Unsupported stickering for \${t.id}: \${e}. Setting all pieces to dim.\`),n.set(o.and(o.moves([])),S.Dim)}return n.toAppearance()}async function en(){return["full","PLL","CLS","OLL","COLL","OCLL","ELL","ELS","LL","F2L","ZBLL","ZBLS","WVLS","VLS","LS","EO","EOline","EOcross","CMLL","L6E","L6EO","Daisy","Cross","2x2x2","2x2x3","Void Cube","picture","invisible","centers-only","experimental-global-custom-1","experimental-global-custom-2"]}var tn=U(()=>{Xn();g0()});function er(t){let e=null;return()=>e??(e=t())}var Jn=U(()=>{});var $n,L0=U(()=>{$n=class{constructor(e,r){this.facenames=e;this.prefixFree=!0;this.gripnames=[];r&&(this.gripnames=r);for(let n=0;this.prefixFree&&n<e.length;n++)for(let o=0;this.prefixFree&&o<e.length;o++)n!==o&&e[n].startsWith(e[o])&&(this.prefixFree=!1)}setGripNames(e){this.gripnames=e}splitByFaceNames(e){let r=[],n=0;for(;n<e.length;){n>0&&n<e.length&&e[n]==="_"&&n++;let o=-1;for(let l=0;l<this.facenames.length;l++)e.substr(n).startsWith(this.facenames[l])&&(o<0||this.facenames[l].length>this.facenames[o].length)&&(o=l);if(o>=0)r.push(o),n+=this.facenames[o].length;else throw new Error("Could not split "+e+" into face names.")}return r}joinByFaceIndices(e){let r="",n=[];for(let o=0;o<e.length;o++)n.push(r),n.push(this.facenames[e[o]]),this.prefixFree||(r="_");return n.join("")}spinmatch(e,r){if(e===r)return!0;try{let n=this.splitByFaceNames(e),o=this.splitByFaceNames(r);if(n.length!==o.length&&n.length<3)return!1;for(let l=0;l<n.length;l++){for(let s=0;s<l;s++)if(n[l]===n[s])return!1;let i=!1;for(let s=0;s<o.length;s++)if(n[l]===o[s]){i=!0;break}if(!i)return!1}return!0}catch(n){return!1}}unswizzle(e){(e.endsWith("v")||e.endsWith("w"))&&e[0]<="Z"&&(e=e.slice(0,e.length-1));let r=e.toUpperCase();for(let n=0;n<this.gripnames.length;n++){let o=this.gripnames[n];if(this.spinmatch(r,o))return o}return e}}});var rn,B0=U(()=>{rn=class{notationToInternal(e){return e}notationToExternal(e){return e}}});var tl,m0=U(()=>{Ae();tl=class{constructor(e,r){this.child=e;this.sw=r}notationToInternal(e){return e.family==="T"&&e.innerLayer===void 0&&e.outerLayer===void 0?new c(new G("FLRv",e.innerLayer,e.outerLayer),e.amount):this.child.notationToInternal(e)}notationToExternal(e){let r=e.family;return r.length>0&&r[r.length-1]==="v"&&(r=r.substring(0,r.length-1)),this.sw.spinmatch(r,"FLUR")?new c(new G("T",e.innerLayer,e.outerLayer),e.amount):this.child.notationToExternal(e)}}});var eo,c0=U(()=>{Ae();eo=class{constructor(e,r){this.internalNames=e;this.externalNames=r}convertString(e,r,n){let o="";(e.endsWith("v")||e.endsWith("v"))&&e<="_"&&(o=e.slice(e.length-1),e=e.slice(0,e.length-1));let l=e.toUpperCase(),i=!1;return e!==l&&(i=!0,e=l),e=n.joinByFaceIndices(r.splitByFaceNames(e)),i&&(e=e.toLowerCase()),e+o}convert(e,r,n){let o=e.family,l=this.convertString(o,r,n);return o===l?e:new c(new G(l,e.innerLayer,e.outerLayer),e.amount)}notationToInternal(e){return this.convert(e,this.externalNames,this.internalNames)}notationToExternal(e){return this.convert(e,this.internalNames,this.externalNames)}}});var rl,p0=U(()=>{Ae();rl=class{constructor(e){this.child=e}notationToInternal(e){if(e.innerLayer===void 0&&e.outerLayer===void 0){if(Math.abs(e.amount)===1){if(e.family==="R++")return new c(new G("L",3,2),-2*e.amount);if(e.family==="R--")return new c(new G("L",3,2),2*e.amount);if(e.family==="D++")return new c(new G("U",3,2),-2*e.amount);if(e.family==="D--")return new c(new G("U",3,2),2*e.amount);if(e.family==="R_PLUSPLUS_")return new c(new G("L",3,2),-2*e.amount);if(e.family==="D_PLUSPLUS_")return new c(new G("U",3,2),-2*e.amount)}if(e.family==="y")return new c("Uv",e.amount)}return this.child.notationToInternal(e)}notationToExternal(e){return e.family==="Uv"?new c(new G("y",e.innerLayer,e.outerLayer),e.amount):e.family==="Dv"?new c("y",-e.amount):this.child.notationToExternal(e)}}});var nl,R0=U(()=>{Ae();nl=class{constructor(e){this.slices=e}notationToInternal(e){let r=e.family;return!e.innerLayer&&!e.outerLayer&&(r==="x"?e=new c("Rv",e.amount):r==="y"?e=new c("Uv",e.amount):r==="z"&&(e=new c("Fv",e.amount)),(this.slices&1)==1&&(r==="E"?e=new c(new G("D",(this.slices+1)/2),e.amount):r==="M"?e=new c(new G("L",(this.slices+1)/2),e.amount):r==="S"&&(e=new c(new G("F",(this.slices+1)/2),e.amount))),this.slices>2&&(r==="e"?e=new c(new G("D",this.slices-1,2),e.amount):r==="m"?e=new c(new G("L",this.slices-1,2),e.amount):r==="s"&&(e=new c(new G("F",this.slices-1,2),e.amount)))),e}notationToExternal(e){let r=e.family;if(!e.innerLayer&&!e.outerLayer){if(r==="Rv")return new c("x",e.amount);if(r==="Uv")return new c("y",e.amount);if(r==="Fv")return new c("z",e.amount);if(r==="Lv")return new c("x",-e.amount);if(r==="Dv")return new c("y",-e.amount);if(r==="Bv")return new c("z",-e.amount)}return e}}});var F1,A1,D0,d0,F0,to,ol,A0=U(()=>{Ae();F1={U:"frl",L:"fld",R:"fdr",B:"dlr",u:"FRL",l:"FLD",r:"FDR",b:"DLR",Uv:"FRLv",Lv:"FLDv",Rv:"FDRv",Bv:"DLRv",D:"D",F:"F",BL:"L",BR:"R"},A1={U:"FRL",L:"FLD",R:"FDR",B:"DLR",u:"frl",l:"fld",r:"fdr",b:"dlr",Uv:"FRLv",Lv:"FLDv",Rv:"FDRv",Bv:"DLRv",D:"D",F:"F",BL:"L",BR:"R",d:"d",f:"f",bl:"l",br:"r"},D0={U:"FRL",L:"FLD",R:"FDR",B:"DLR"},d0=new G("y"),F0=new G("Dv"),to=class{constructor(e){this.child=e;this.wcaHack=!1;this.map=F1}notationToInternal(e){if(this.wcaHack&&e.innerLayer===2&&e.outerLayer===null){let n=D0[e.family];if(n)return new c(new G(n,e.innerLayer,e.outerLayer),e.amount)}let r=this.map[e.family];return r?new c(new G(r,e.innerLayer,e.outerLayer),e.amount):d0.isIdentical(e.quantum)?new c(F0,-e.amount):null}notationToExternal(e){if(this.wcaHack&&e.innerLayer===2&&e.outerLayer===null){for(let[r,n]of Object.entries(D0))if(this.child.spinmatch(e.family,n))return new c(new G(r,e.innerLayer,e.outerLayer),e.amount)}for(let[r,n]of Object.entries(this.map))if(this.child.spinmatch(e.family,n))return new c(new G(r,e.innerLayer,e.outerLayer),e.amount);return F0.isIdentical(e.quantum)?new c(d0,-e.amount):null}},ol=class extends to{constructor(e){super(e);this.map=A1}}});var h0,y0,U0,b0,S0,x0,w0,ll,v0=U(()=>{Ae();h0={U:"UBL",UL:"ULF",F:"UFR",UR:"URB",B:"DBL",D:"DFR",L:"DLF",R:"DRB",Uv:"UBLv",ULv:"ULFv",Fv:"UFRv",URv:"URBv",Bv:"DBLv",Dv:"DFRv",Lv:"DLFv",Rv:"DRBv"},y0=new G("x"),U0=new G("Rv"),b0=new G("y"),S0=new G("Uv"),x0=new G("z"),w0=new G("Fv"),ll=class{constructor(e){this.child=e}notationToInternal(e){if(e.innerLayer||e.outerLayer)return null;let r=h0[e.family];return r?new c(new G(r,e.outerLayer,e.innerLayer),e.amount):y0.isIdentical(e.quantum)?new c(U0,e.amount):b0.isIdentical(e.quantum)?new c(S0,e.amount):x0.isIdentical(e.quantum)?new c(w0,e.amount):null}notationToExternal(e){for(let[r,n]of Object.entries(h0))if(this.child.spinmatch(e.family,n))return new c(new G(r,e.innerLayer,e.outerLayer),e.amount);return U0.isIdentical(e.quantum)?new c(y0,e.amount):S0.isIdentical(e.quantum)?new c(b0,e.amount):w0.isIdentical(e.quantum)?new c(x0,e.amount):null}}});var Gi=U(()=>{B0();m0();c0();p0();R0();A0();v0()});function E0(t){let e=0,r={};for(;e<t.length&&t[e][0]==="-";){let o=t[e++];if(o==="--rotations")r.addRotations=!0;else if(o==="--allmoves")r.allMoves=!0;else if(o==="--outerblockmoves")r.outerBlockMoves=!0;else if(o==="--vertexmoves")r.vertexMoves=!0;else if(o==="--nocorners")r.includeCornerOrbits=!1;else if(o==="--noedges")r.includeEdgeOrbits=!1;else if(o==="--noorientation")r.fixedOrientation=!0;else if(o==="--nocenters")r.includeCenterOrbits=!1;else if(o==="--omit")r.excludeOrbits=t[e].split(","),e++;else if(o==="--moves")r.moveList=t[e].split(","),e++;else if(o==="--optimize")r.optimizeOrbits=!0;else if(o==="--scramble")r.scrambleAmount=100;else if(o==="--fixcorner")r.fixedPieceType="v";else if(o==="--fixedge")r.fixedPieceType="e";else if(o==="--fixcenter")r.fixedPieceType="f";else if(o==="--orientcenters")r.orientCenters=!0;else if(o==="--puzzleorientation")r.puzzleOrientation=JSON.parse(t[e]),e++;else throw new Error("Bad option: "+o)}return{puzzleDescription:ro(t.slice(e).join(" ")),options:r}}var Ti,Ii=U(()=>{il();Ti=class{constructor(e={}){this.verbosity=0;this.allMoves=!1;this.vertexMoves=!1;this.addRotations=!1;this.moveList=null;this.fixedOrientation=!1;this.fixedPieceType=null;this.orientCenters=!1;this.includeCornerOrbits=!0;this.includeCenterOrbits=!0;this.includeEdgeOrbits=!0;this.excludeOrbits=[];this.optimizeOrbits=!1;this.grayCorners=!1;this.grayCenters=!1;this.grayEdges=!1;this.puzzleOrientation=null;this.puzzleOrientations=null;this.scrambleAmount=0;Object.assign(this,e)}}});function tr(t){if(!Ni[t]){let e=Array(t);for(let r=0;r<t;r++)e[r]=0;Ni[t]=e}return Ni[t]}function Et(t){if(!Oi[t]){let e=Array(t);for(let r=0;r<t;r++)e[r]=r;Oi[t]=e}return Oi[t]}function k0(t){return new ft(Et(t))}function z0(t){let e=1;for(;t>1;)e*=t,t--;return e}function h1(t,e){if(t>e){let r=t;t=e,e=r}for(;t>0;){let r=e%t;e=t,t=r}return e}function _i(t,e){return t/h1(t,e)*e}var Ni,Oi,ft,sl=U(()=>{Ni=[],Oi=[];ft=class{constructor(e){this.n=e.length,this.p=e}toString(){return"Perm["+this.p.join(" ")+"]"}mul(e){let r=Array(this.n);for(let n=0;n<this.n;n++)r[n]=e.p[this.p[n]];return new ft(r)}rmul(e){let r=Array(this.n);for(let n=0;n<this.n;n++)r[n]=this.p[e.p[n]];return new ft(r)}inv(){let e=Array(this.n);for(let r=0;r<this.n;r++)e[this.p[r]]=r;return new ft(e)}compareTo(e){for(let r=0;r<this.n;r++)if(this.p[r]!==e.p[r])return this.p[r]-e.p[r];return 0}toGap(){let e=new Array,r=new Array(this.n);for(let n=0;n<this.p.length;n++){if(r[n]||this.p[n]===n)continue;let o=new Array;for(let l=n;!r[l];l=this.p[l])o.push(1+l),r[l]=!0;e.push("("+o.join(",")+")")}return e.join("")}order(){let e=1,r=new Array(this.n);for(let n=0;n<this.p.length;n++){if(r[n]||this.p[n]===n)continue;let o=0;for(let l=n;!r[l];l=this.p[l])o++,r[l]=!0;e=_i(e,o)}return e}}});function Ki(t,e){let r=c.fromString(e),n=t.notationToExternal(r);return n===null||r===n?e:n.toString()}function C0(t,e){let r=t.moveops.length;if(r>30)throw new Error("Canon info too big for bitmask");let n=[],o=[];for(let i=0;i<r;i++){let s=t.moveops[i];n.push(s.order());let u=0;for(let a=0;a<r;a++){if(a===i)continue;let f=t.moveops[a];s.mul(f).equal(f.mul(s))&&(u|=1<<a)}o.push(u)}let l={};l[0]=1;for(let i=0;i<100;i++){let s=0,u={},a=0;for(let f in l){let g=+f,L=l[g];s+=L,a++;for(let B=0;B<n.length;B++)if((g>>B&1)==0&&(g&o[B]&(1<<B)-1)==0){let p=g&o[B]|1<<B;u[p]===void 0&&(u[p]=0),u[p]+=(n[B]-1)*L}}e(\`\${i}: canonseq \${s} states \${a}\`),l=u}}var no,y1,nn,dt,Nt,Wi,rr,on,Qi,P0=U(()=>{Ae();Gi();sl();no=class{constructor(e,r){this.size=e;this.mod=r}reassemblySize(){return z0(this.size)*Math.pow(this.mod,this.size)}},y1=0;nn=class{constructor(e,r,n,o,l){this.orbitnames=e;this.orbitdefs=r;this.solved=n;this.movenames=o;this.moveops=l}transformToKTransformationData(e){let r={};for(let n=0;n<this.orbitnames.length;n++)r[this.orbitnames[n]]=e.orbits[n].toKPuzzle();return r}static transformToKTransformationData(e,r){let n={};for(let o=0;o<e.length;o++)n[e[o]]=r.orbits[o].toKPuzzle();return n}toKsolve(e,r=new rn){let n=[];n.push("Name "+e),n.push("");for(let o=0;o<this.orbitnames.length;o++)n.push(\`Set \${this.orbitnames[o]} \${this.orbitdefs[o].size} \${this.orbitdefs[o].mod}\`);n.push(""),n.push("Solved");for(let o=0;o<this.orbitnames.length;o++)this.solved.orbits[o].appendDefinition(n,this.orbitnames[o],!1,!1);n.push("End");for(let o=0;o<this.movenames.length;o++){n.push("");let l=Ki(r,this.movenames[o]),i=!1;l[l.length-1]==="'"&&(i=!0,l=l.substring(0,l.length-1)),n.push("Move "+l);for(let s=0;s<this.orbitnames.length;s++)i?this.moveops[o].orbits[s].inv().appendDefinition(n,this.orbitnames[s],!0):this.moveops[o].orbits[s].appendDefinition(n,this.orbitnames[s],!0);n.push("End")}return n}toKPuzzleDefinition(e){let r={},n={};for(let l=0;l<this.orbitnames.length;l++){r[this.orbitnames[l]]={numPieces:this.orbitdefs[l].size,numOrientations:this.orbitdefs[l].mod};let i=this.solved.orbits[l].toKPuzzle();n[this.orbitnames[l]]={pieces:i.permutation,orientation:i.orientation}}let o={};if(e)for(let l=0;l<this.movenames.length;l++)o[this.movenames[l]]=this.transformToKTransformationData(this.moveops[l]);return{name:\`PG3D #\${++y1}\`,orbits:r,startStateData:n,moves:o}}optimize(){let e=[],r=[],n=[],o=[];for(let l=0;l<this.moveops.length;l++)o.push([]);for(let l=0;l<this.orbitdefs.length;l++){let i=this.orbitdefs[l].mod,s=this.orbitdefs[l].size,u=new Qi(s),a=new Array(this.orbitdefs[l].size);for(let B=0;B<s;B++)a[B]=!1;for(let B=0;B<this.moveops.length;B++)for(let p=0;p<s;p++)(this.moveops[B].orbits[l].perm[p]!==p||this.moveops[B].orbits[l].ori[p]!==0)&&(a[p]=!0,u.union(p,this.moveops[B].orbits[l].perm[p]));let f=!0;if(i>1){f=!1;let B=new Qi(this.orbitdefs[l].size*i);for(let p=0;p<this.moveops.length;p++)for(let m=0;m<s;m++)if(this.moveops[p].orbits[l].perm[m]!==m||this.moveops[p].orbits[l].ori[m]!==0)for(let F=0;F<i;F++)B.union(m*i+F,this.moveops[p].orbits[l].perm[m]*i+(F+this.moveops[p].orbits[l].ori[m])%i);for(let p=0;!f&&p<s;p++)for(let m=1;m<i;m++)B.find(p*i)===B.find(p*i+m)&&(f=!0);for(let p=0;!f&&p<s;p++)for(let m=0;m<p;m++)this.solved.orbits[l].perm[p]===this.solved.orbits[l].perm[m]&&(f=!0)}let g=-1,L=!1;for(let B=0;B<this.orbitdefs[l].size;B++)if(a[B]){let p=u.find(B);g<0?g=p:g!==p&&(L=!0)}for(let B=0;B<this.orbitdefs[l].size;B++){if(!a[B]||u.find(B)!==B)continue;let m=[],F=[],A=0;for(let b=0;b<this.orbitdefs[l].size;b++)u.find(b)===B&&(m[A]=b,F[b]=A,A++);if(L?e.push(\`\${this.orbitnames[l]}_p\${B}\`):e.push(this.orbitnames[l]),f){r.push(new no(A,this.orbitdefs[l].mod)),n.push(this.solved.orbits[l].remapVS(m,A));for(let b=0;b<this.moveops.length;b++)o[b].push(this.moveops[b].orbits[l].remap(m,F,A))}else{r.push(new no(A,1)),n.push(this.solved.orbits[l].remapVS(m,A).killOri());for(let b=0;b<this.moveops.length;b++)o[b].push(this.moveops[b].orbits[l].remap(m,F,A).killOri())}}}return new nn(e,r,new on(n),this.movenames,o.map(l=>new rr(l)))}scramble(e){let r=[];for(let o=0;o<this.moveops.length;o++)r[o]=this.moveops[o];for(let o=0;o<r.length;o++){let l=Math.floor(Math.random()*r.length),i=r[o];r[o]=r[l],r[l]=i}e<r.length&&(e=r.length);for(let o=0;o<e;o++){let l=Math.floor(Math.random()*r.length),i=Math.floor(Math.random()*r.length),s=Math.floor(Math.random()*this.moveops.length);r[l]=r[l].mul(r[i]).mul(this.moveops[s]),Math.random()<.1&&(r[l]=r[l].mul(this.moveops[s]))}let n=r[0];for(let o=1;o<r.length;o++)n=n.mul(r[o]);this.solved=this.solved.mul(n)}reassemblySize(){let e=1;for(let r=0;r<this.orbitdefs.length;r++)e*=this.orbitdefs[r].reassemblySize();return e}},dt=class{constructor(e,r,n){this.perm=e;this.ori=r;this.orimod=n}static e(e,r){return new dt(Et(e),tr(e),r)}mul(e){let r=this.perm.length,n=new Array(r);if(this.orimod===1){for(let o=0;o<r;o++)n[o]=this.perm[e.perm[o]];return new dt(n,this.ori,this.orimod)}else{let o=new Array(r);for(let l=0;l<r;l++)n[l]=this.perm[e.perm[l]],o[l]=(this.ori[e.perm[l]]+e.ori[l])%this.orimod;return new dt(n,o,this.orimod)}}inv(){let e=this.perm.length,r=new Array(e),n=new Array(e);for(let o=0;o<e;o++)r[this.perm[o]]=o,n[this.perm[o]]=(this.orimod-this.ori[o])%this.orimod;return new dt(r,n,this.orimod)}equal(e){let r=this.perm.length;for(let n=0;n<r;n++)if(this.perm[n]!==e.perm[n]||this.ori[n]!==e.ori[n])return!1;return!0}killOri(){let e=this.perm.length;for(let r=0;r<e;r++)this.ori[r]=0;return this.orimod=1,this}toPerm(){let e=this.orimod;if(e===1)return new ft(this.perm);let r=this.perm.length,n=new Array(r*e);for(let o=0;o<r;o++)for(let l=0;l<e;l++)n[o*e+l]=e*this.perm[o]+(this.ori[o]+l)%e;return new ft(n)}identicalPieces(){let e=[],r=this.perm.length,n=[];for(let o=0;o<r;o++){let l=this.perm[o];if(e[l]===void 0){let i=[o];e[l]=!0;for(let s=o+1;s<r;s++)this.perm[s]===l&&i.push(s);n.push(i)}}return n}order(){return this.toPerm().order()}isIdentity(){let e=this.perm.length;if(this.perm===Et(e)&&this.ori===tr(e))return!0;for(let r=0;r<e;r++)if(this.perm[r]!==r||this.ori[r]!==0)return!1;return!0}zeroOris(){let e=this.perm.length;if(this.ori===tr(e))return!0;for(let r=0;r<e;r++)if(this.ori[r]!==0)return!1;return!0}remap(e,r,n){let o=new Array(n),l=new Array(n);for(let i=0;i<n;i++)o[i]=r[this.perm[e[i]]],l[i]=this.ori[e[i]];return new dt(o,l,this.orimod)}remapVS(e,r){let n=new Array(r),o=new Array(r),l=0,i=[];for(let s=0;s<r;s++){let u=this.perm[e[s]];i[u]===void 0&&(i[u]=l++),n[s]=i[u],o[s]=this.ori[e[s]]}return new dt(n,o,this.orimod)}appendDefinition(e,r,n,o=!0){if(!(o&&this.isIdentity())&&(e.push(r),e.push(this.perm.map(l=>l+1).join(" ")),!this.zeroOris()))if(n){let l=new Array(this.ori.length);for(let i=0;i<l.length;i++)l[this.perm[i]]=this.ori[i];e.push(l.join(" "))}else e.push(this.ori.join(" "))}toKPuzzle(){let e=this.perm.length;return this.isIdentity()?(dt.kcache[e]||(dt.kcache[e]={permutation:Et(e),orientation:tr(e)}),dt.kcache[e]):{permutation:this.perm,orientation:this.ori}}},Nt=dt;Nt.kcache=[];Wi=class{constructor(e){this.orbits=e}internalMul(e){let r=[];for(let n=0;n<this.orbits.length;n++)r.push(this.orbits[n].mul(e.orbits[n]));return r}internalInv(){let e=[];for(let r of this.orbits)e.push(r.inv());return e}equal(e){for(let r=0;r<this.orbits.length;r++)if(!this.orbits[r].equal(e.orbits[r]))return!1;return!0}killOri(){for(let e of this.orbits)e.killOri();return this}toPerm(){let e=new Array,r=0;for(let o of this.orbits){let l=o.toPerm();e.push(l),r+=l.n}let n=new Array(r);r=0;for(let o of e){for(let l=0;l<o.n;l++)n[r+l]=r+o.p[l];r+=o.n}return new ft(n)}identicalPieces(){let e=[],r=0;for(let n of this.orbits){let o=n.orimod,l=n.identicalPieces();for(let i=0;i<l.length;i++)e.push(l[i].map(s=>s*o+r));r+=o*n.perm.length}return e}order(){let e=1;for(let r of this.orbits)e=_i(e,r.order());return e}},rr=class extends Wi{constructor(e){super(e)}mul(e){return new rr(this.internalMul(e))}mulScalar(e){if(e===0)return this.e();let r=this;for(e<0&&(r=r.inv(),e=-e);(e&1)==0;)r=r.mul(r),e>>=1;if(e===1)return r;let n=r,o=this.e();for(;e>0;)e&1&&(o=o.mul(n)),e>1&&(n=n.mul(n)),e>>=1;return o}inv(){return new rr(this.internalInv())}e(){return new rr(this.orbits.map(e=>Nt.e(e.perm.length,e.orimod)))}},on=class extends Wi{constructor(e){super(e)}mul(e){return new on(this.internalMul(e))}},Qi=class{constructor(e){this.n=e;this.heads=new Array(e);for(let r=0;r<e;r++)this.heads[r]=r}find(e){let r=this.heads[e];return this.heads[r]===r||(r=this.find(this.heads[r]),this.heads[e]=r),r}union(e,r){let n=this.find(e),o=this.find(r);n<o?this.heads[o]=n:n>o&&(this.heads[n]=o)}}});var al,M0=U(()=>{al={"2x2x2":"c f 0","3x3x3":"c f 0.333333333333333","4x4x4":"c f 0.5 f 0","5x5x5":"c f 0.6 f 0.2","6x6x6":"c f 0.666666666666667 f 0.333333333333333 f 0","7x7x7":"c f 0.714285714285714 f 0.428571428571429 f 0.142857142857143","8x8x8":"c f 0.75 f 0.5 f 0.25 f 0","9x9x9":"c f 0.777777777777778 f 0.555555555555556 f 0.333333333333333 f 0.111111111111111","10x10x10":"c f 0.8 f 0.6 f 0.4 f 0.2 f 0","11x11x11":"c f 0.818181818181818 f 0.636363636363636 f 0.454545454545455 f 0.272727272727273 f 0.0909090909090909","12x12x12":"c f 0.833333333333333 f 0.666666666666667 f 0.5 f 0.333333333333333 f 0.166666666666667 f 0","13x13x13":"c f 0.846153846153846 f 0.692307692307692 f 0.538461538461538 f 0.384615384615385 f 0.230769230769231 f 0.0769230769230769","20x20x20":"c f 0 f .1 f .2 f .3 f .4 f .5 f .6 f .7 f .8 f .9","30x30x30":"c f 0 f .066667 f .133333 f .2 f .266667 f .333333 f .4 f .466667 f .533333 f .6 f .666667 f .733333 f .8 f .866667 f .933333","40x40x40":"c f 0 f .05 f .1 f .15 f .2 f .25 f .3 f .35 f .4 f .45 f .5 f .55 f .6 f .65 f .7 f .75 f .8 f .85 f .9 f .95",skewb:"c v 0","master skewb":"c v 0.275","professor skewb":"c v 0 v 0.38","compy cube":"c v 0.915641442663986",helicopter:"c e 0.707106781186547","curvy copter":"c e 0.83",dino:"c v 0.577350269189626","little chop":"c e 0",pyramorphix:"t e 0",mastermorphix:"t e 0.346184634065199",pyraminx:"t v 0.333333333333333 v 1.66666666666667",tetraminx:"t v 0.333333333333333","master pyraminx":"t v 0 v 1 v 2","master tetraminx":"t v 0 v 1","professor pyraminx":"t v -0.2 v 0.6 v 1.4 v 2.2","professor tetraminx":"t v -0.2 v 0.6 v 1.4","Jing pyraminx":"t f 0","master pyramorphix":"t e 0.866025403784437",megaminx:"d f 0.7",gigaminx:"d f 0.64 f 0.82",teraminx:"d f 0.64 f 0.76 f 0.88",petaminx:"d f 0.64 f 0.73 f 0.82 f 0.91",examinx:"d f 0.64 f 0.712 f 0.784 f 0.856 f 0.928",zetaminx:"d f 0.64 f 0.7 f 0.76 f 0.82 f 0.88 f 0.94",yottaminx:"d f 0.64 f 0.6914 f 0.7429 f 0.7943 f 0.8457 f 0.8971 f 0.9486",pentultimate:"d f 0","master pentultimate":"d f 0.1","elite pentultimate":"d f 0 f 0.145905",starminx:"d v 0.937962370425399","starminx 2":"d f 0.23606797749979","pyraminx crystal":"d f 0.447213595499989",chopasaurus:"d v 0","big chop":"d e 0","skewb diamond":"o f 0",FTO:"o f 0.333333333333333","master FTO":"o f 0.5 f 0","Christopher's jewel":"o v 0.577350269189626",octastar:"o e 0","Trajber's octahedron":"o v 0.433012701892219","radio chop":"i f 0",icosamate:"i v 0","icosahedron 2":"i v 0.18759247376021","icosahedron 3":"i v 0.18759247376021 e 0","icosahedron static faces":"i v 0.84","icosahedron moving faces":"i v 0.73","Eitan's star":"i f 0.61803398874989","2x2x2 + dino":"c f 0 v 0.577350269189626","2x2x2 + little chop":"c f 0 e 0","dino + little chop":"c v 0.577350269189626 e 0","2x2x2 + dino + little chop":"c f 0 v 0.577350269189626 e 0","megaminx + chopasaurus":"d f 0.61803398875 v 0","starminx combo":"d f 0.23606797749979 v 0.937962370425399"}});function ul(t){let e=new _(0,0,0,0);for(let r=0;r<t.length;r++)e=e.sum(t[r]);return e.smul(1/t.length)}function G0(t,e,r,n){let o=n[t].intersect3(n[e],n[r]);if(!o)return o;for(let l=0;l<n.length;l++)if(l!==t&&l!==e&&l!==r){let i=n[l].b*o.b+n[l].c*o.c+n[l].d*o.d;if(n[l].a>0&&i>n[l].a||n[l].a<0&&i<n[l].a)return!1}return o}var br,_,fl=U(()=>{br=1e-9;_=class{constructor(e,r,n,o){this.a=e;this.b=r;this.c=n;this.d=o}mul(e){return new _(this.a*e.a-this.b*e.b-this.c*e.c-this.d*e.d,this.a*e.b+this.b*e.a+this.c*e.d-this.d*e.c,this.a*e.c-this.b*e.d+this.c*e.a+this.d*e.b,this.a*e.d+this.b*e.c-this.c*e.b+this.d*e.a)}toString(){return\`Q[\${this.a},\${this.b},\${this.c},\${this.d}]\`}dist(e){return Math.hypot(this.a-e.a,this.b-e.b,this.c-e.c,this.d-e.d)}len(){return Math.hypot(this.a,this.b,this.c,this.d)}cross(e){return new _(0,this.c*e.d-this.d*e.c,this.d*e.b-this.b*e.d,this.b*e.c-this.c*e.b)}dot(e){return this.b*e.b+this.c*e.c+this.d*e.d}normalize(){let e=Math.sqrt(this.dot(this));return new _(this.a/e,this.b/e,this.c/e,this.d/e)}makenormal(){return new _(0,this.b,this.c,this.d).normalize()}normalizeplane(){let e=Math.hypot(this.b,this.c,this.d);return new _(this.a/e,this.b/e,this.c/e,this.d/e)}smul(e){return new _(this.a*e,this.b*e,this.c*e,this.d*e)}sum(e){return new _(this.a+e.a,this.b+e.b,this.c+e.c,this.d+e.d)}sub(e){return new _(this.a-e.a,this.b-e.b,this.c-e.c,this.d-e.d)}angle(){return 2*Math.acos(this.a)}invrot(){return new _(this.a,-this.b,-this.c,-this.d)}det3x3(e,r,n,o,l,i,s,u,a){return e*(l*a-i*u)+r*(i*s-o*a)+n*(o*u-l*s)}rotateplane(e){let r=e.mul(new _(0,this.b,this.c,this.d)).mul(e.invrot());return r.a=this.a,r}orthogonal(){let e=Math.abs(this.b),r=Math.abs(this.c),n=Math.abs(this.d);return e<r&&e<n?this.cross(new _(0,1,0,0)).normalize():r<e&&r<n?this.cross(new _(0,0,1,0)).normalize():this.cross(new _(0,0,0,1)).normalize()}pointrotation(e){let r=this.normalize();if(e=e.normalize(),r.sub(e).len()<br)return new _(1,0,0,0);let n=r.sum(e);n.len()<br?n=n.orthogonal():n=n.normalize();let o=r.cross(n);return o.a=r.dot(n),o}unproject(e){return this.sum(e.smul(-this.dot(e)/(this.len()*e.len())))}rotatepoint(e){return e.mul(this).mul(e.invrot())}rotateface(e){return e.map(r=>r.rotatepoint(this))}intersect3(e,r){let n=this.det3x3(this.b,this.c,this.d,e.b,e.c,e.d,r.b,r.c,r.d);return Math.abs(n)<br?!1:new _(0,this.det3x3(this.a,this.c,this.d,e.a,e.c,e.d,r.a,r.c,r.d)/n,this.det3x3(this.b,this.a,this.d,e.b,e.a,e.d,r.b,r.a,r.d)/n,this.det3x3(this.b,this.c,this.a,e.b,e.c,e.a,r.b,r.c,r.a)/n)}side(e){return e>br?1:e<-br?-1:0}cutface(e){let r=this.a,n=0,o=null;for(let l=0;l<e.length;l++)n|=1<<this.side(e[l].dot(this)-r)+1;if((n&5)==5){o=[];let l=e.map(i=>this.side(i.dot(this)-r));for(let i=-1;i<=1;i+=2){let s=[];for(let u=0;u<e.length;u++){(l[u]===i||l[u]===0)&&s.push(e[u]);let a=(u+1)%e.length;if(l[u]+l[a]===0&&l[u]!==0){let f=e[u].dot(this)-r,g=e[a].dot(this)-r,L=f/(f-g),B=e[u].smul(1-L).sum(e[a].smul(L));s.push(B)}}o.push(s)}}return o}cutfaces(e){let r=[];for(let n=0;n<e.length;n++){let o=e[n],l=this.cutface(o);l?(r.push(l[0]),r.push(l[1])):r.push(o)}return r}faceside(e){let r=this.a;for(let n=0;n<e.length;n++){let o=this.side(e[n].dot(this)-r);if(o!==0)return o}throw new Error("Could not determine side of plane in faceside")}sameplane(e){let r=this.normalize(),n=e.normalize();return r.dist(n)<br||r.dist(n.smul(-1))<br}makecut(e){return new _(e,this.b,this.c,this.d)}}});function T0(){let t=Math.sqrt(.5);return[new _(t,t,0,0),new _(t,0,t,0)]}function I0(){return[new _(.5,.5,.5,.5),new _(.5,.5,.5,-.5)]}function N0(){let t=2*Math.PI/10,e=.5+.3*Math.sqrt(5),r=.5+.1*Math.sqrt(5),n=Math.sqrt(e*e+r*r);return e/=n,r/=n,[new _(Math.cos(t),e*Math.sin(t),r*Math.sin(t),0),new _(.5,.5,.5,.5)]}function O0(){let t=1/6+Math.sqrt(5)/6,e=2/3+Math.sqrt(5)/3,r=Math.sqrt(t*t+e*e);t/=r,e/=r;let n=2*Math.PI/6;return[new _(Math.cos(n),t*Math.sin(n),e*Math.sin(n),0),new _(Math.cos(n),-t*Math.sin(n),e*Math.sin(n),0)]}function _0(){let t=Math.sqrt(.5);return[new _(.5,.5,.5,.5),new _(t,0,0,t)]}function K0(t){let e=[new _(1,0,0,0)];for(let r=0;r<e.length;r++)for(let n=0;n<t.length;n++){let o=t[n].mul(e[r]),l=o.smul(-1),i=!1;for(let s=0;s<e.length;s++)if(o.dist(e[s])<gl||l.dist(e[s])<gl){i=!0;break}i||e.push(o)}return e}function ji(t,e){let r=[],n=[];for(let o=0;o<e.length;o++){let l=t.rotateplane(e[o]),i=!1;for(let s=0;s<r.length;s++)if(l.dist(r[s])<gl){i=!0;break}i||(r.push(l),n.push(e[o]))}return n}function qi(t){let e=[];for(let r=1;r<t.length;r++)for(let n=r+1;n<t.length;n++){let o=G0(0,r,n,t);if(o){let l=!1;for(let i=0;i<e.length;i++)if(o.dist(e[i])<gl){l=!0;break}l||e.push(o)}}for(;;){let r=!1;for(let n=0;n<e.length;n++){let o=(n+1)%e.length;if(t[0].dot(e[n].cross(e[o]))<0){let l=e[n];e[n]=e[o],e[o]=l,r=!0}}if(!r)break}return e}var gl,W0=U(()=>{fl();gl=1e-9});function Ll(t,e){let r=t[0].p.length,n=k0(r),o=[],l=[],i=[],s=[],u=[];function a(B){for(let p=B.p.length-1;p>=0;p--){let m=B.p[p];if(m!==p){if(!o[p][m])return!1;B=B.mul(l[p][m])}}return!0}function f(B,p,m){s[B].push(p),u[B].push(m);for(let F=0;F<o[B].length;F++)o[B][F]&&g(B,o[B][F].mul(p),m+i[B][F])}function g(B,p,m){let F=p.p[B];if(!o[B][F]){o[B][F]=p,l[B][F]=p.inv(),i[B][F]=m;for(let b=0;b<s[B].length;b++)g(B,p.mul(s[B][b]),m+u[B][b]);return}let A=p.mul(l[B][F]);a(A)||f(B-1,A,m+i[B][F])}function L(){o=[],l=[],s=[],i=[],u=[];for(let m=0;m<r;m++)o.push([]),l.push([]),i.push([]),s.push([]),u.push([]),o[m][m]=n,l[m][m]=n,i[m][m]=0;let B=0,p=1;for(let m=0;m<t.length;m++){f(r-1,t[m],1),p=1;let F=0,A=0,b=[],h=new Q0;for(let C=0;C<r;C++){let E=0,j=0;for(let I=0;I<r;I++)o[C][I]&&(E++,j+=i[C][I],C!==I&&B++);F+=s[C].length,p*=E,E>1&&h.multiply(E);let te=j/E;b.push(te),A+=te}e(\`\${m}: sz \${p} T \${F} sol \${A} none \${B} mults \${h.toString()}\`)}return p}return L()}var Q0,Vi=U(()=>{sl();Q0=class{constructor(){this.mult=[]}multiply(e){for(let r=2;r*r<=e;r++)for(;e%r==0;)this.mult[r]!==void 0?this.mult[r]++:this.mult[r]=1,e/=r;e>1&&(this.mult[e]!==void 0?this.mult[e]++:this.mult[e]=1)}toString(){let e="";for(let r=0;r<this.mult.length;r++)this.mult[r]!==void 0&&(e!==""&&(e+="*"),e+=r,this.mult[r]>1&&(e+=\`^\${this.mult[r]}\`));return e}}});function Hi(t){return t}function Yi(t){}function U1(t,e){let r=[];for(let n of t)for(let o of e)r.push(o.rotate(n));return r}function x1(){return{4:[["F","D","L","R"]],6:[["F","D","L","U","R"],["R","F","","B",""]],8:[["F","D","L","R"],["D","F","BR",""],["BR","D","","BB"],["BB","BR","U","BL"]],12:[["U","F","","","",""],["F","U","R","C","A","L"],["R","F","","","E",""],["E","R","","BF","",""],["BF","E","BR","BL","I","D"]],20:[["R","C","F","E"],["F","R","L","U"],["L","F","A",""],["E","R","G","I"],["I","E","S","H"],["S","I","J","B"],["B","S","K","D"],["K","B","M","O"],["O","K","P","N"],["P","O","Q",""]]}}function w1(){return{4:{F:"#00ff00",D:"#ffff00",L:"#ff0000",R:"#0000ff"},6:{U:"#ffffff",F:"#00ff00",R:"#ff0000",D:"#ffff00",B:"#0000ff",L:"#ff8000"},8:{U:"#ffffff",F:"#ff0000",R:"#00bb00",D:"#ffff00",BB:"#1122ff",L:"#9524c5",BL:"#ff8800",BR:"#aaaaaa"},12:{U:"#ffffff",F:"#006633",R:"#ff0000",C:"#ffffd0",A:"#3399ff",L:"#660099",E:"#ff66cc",BF:"#99ff00",BR:"#0000ff",BL:"#ffff00",I:"#ff6633",D:"#999999"},20:{R:"#db69f0",C:"#178fde",F:"#23238b",E:"#9cc726",L:"#2c212d",U:"#177fa7",A:"#e0de7f",G:"#2b57c0",I:"#41126b",S:"#4b8c28",H:"#7c098d",J:"#7fe7b4",B:"#85fb74",K:"#3f4bc3",D:"#0ff555",M:"#f1c2c8",O:"#58d340",P:"#c514f2",N:"#14494e",Q:"#8b1be1"}}}function v1(){return{4:["F","D","L","R"],6:["U","D","F","B","L","R"],8:["F","BB","D","U","BR","L","R","BL"],12:["L","E","F","BF","R","I","U","D","BR","A","BL","C"],20:["L","S","E","O","F","B","I","P","R","K","U","D","J","A","Q","H","G","N","M","C"]}}function E1(){return{4:[["FLR",[0,1,0]],["F",[0,0,1]]],6:[["U",[0,1,0]],["F",[0,0,1]]],8:[["U",[0,1,0]],["F",[0,0,1]]],12:[["U",[0,1,0]],["F",[0,0,1]]],20:[["GUQMJ",[0,1,0]],["F",[0,0,1]]]}}function Bl(t,e){for(let r=0;r<t.length;r++)if(t[r][0].dist(e)<be)return r;throw new Error("Element not found")}function j0(){return al}function q0(t){return al[t]}function ro(t){let e=t.split(/ /).filter(Boolean);if(e.length%2==0)return null;let r=e[0];if(r!=="o"&&r!=="c"&&r!=="i"&&r!=="d"&&r!=="t")return null;let n=[];for(let o=1;o<e.length;o+=2){if(e[o]!=="f"&&e[o]!=="v"&&e[o]!=="e")return null;n.push({cutType:e[o],distance:parseFloat(e[o+1])})}return{shape:r,cuts:n}}function Zi(t,e={}){let r=ro(t);if(r===null)throw new Error("Could not parse the puzzle description");let n=new cl(r,Object.assign({},{allMoves:!0},e));return n.allstickers(),n.genperms(),n}function sn(t,e){return Zi(al[t],e)}function k1(t,e,r){let n=!1;r-e[1]<e[0]&&(t=[t[2],t[3],t[0],t[1]],e=[r-e[1],r-e[0]],n=!0);let o=t[0],l="";if(e[0]===0&&e[1]===r)o=o+"v";else if(e[0]===e[1])e[1]>0&&(l=String(e[1]+1));else if(e[0]===0)o=o.toLowerCase(),e[1]>1&&(l=String(e[1]+1));else throw\`We only support slice and outer block moves right now. \${e}\`;return[l+o,n]}function z1(t,e){let r=[],n=0;for(;n<t.length;){n>0&&n<t.length&&t[n]==="_"&&n++;let o="";for(let l of e)t.substr(n).startsWith(l[1])&&l[1].length>o.length&&(o=l[1]);if(o!=="")r.push(o),n+=o.length;else throw new Error("Could not split "+t+" into face names.")}return r}function ml(t,e){return[t.b/e,-t.c/e,t.d/e]}function Xi(t,e){let r=[],n=t.length;for(let o=0;o<n;o++){let l=ml(t.get(n-o-1),e);r[3*o]=l[0],r[3*o+1]=l[1],r[3*o+2]=l[2]}return r}var ln,oo,be,b1,S1,cl,Sr,il=U(()=>{Ae();L0();Gi();Ii();sl();P0();M0();W0();fl();Vi();ln=class{constructor(e){this.coords=new Array(e.length*3);for(let r=0;r<e.length;r++)this.coords[3*r]=e[r].b,this.coords[3*r+1]=e[r].c,this.coords[3*r+2]=e[r].d;this.length=e.length}get(e){return new _(0,this.coords[3*e],this.coords[3*e+1],this.coords[3*e+2])}centermass(){let e=0,r=0,n=0;for(let o=0;o<this.length;o++)e+=this.coords[3*o],r+=this.coords[3*o+1],n+=this.coords[3*o+2];return new _(0,e/this.length,r/this.length,n/this.length)}rotate(e){let r=[];for(let n=0;n<this.length;n++)r.push(this.get(n).rotatepoint(e));return new ln(r)}rotateforward(){let e=[];for(let r=1;r<this.length;r++)e.push(this.get(r));return e.push(this.get(0)),new ln(e)}},oo=class{constructor(e,r,n){this.face=e;this.left=r;this.right=n}split(e){let r=e.cutface(this.face);return r!==null&&(this.left===void 0?(this.left=new oo(r[0]),this.right=new oo(r[1])):(this.left=this.left?.split(e),this.right=this.right?.split(e))),this}collect(e,r){return this.left===void 0?e.push(new ln(this.face)):r?(this.left?.collect(e,!1),this.right?.collect(e,!0)):(this.right?.collect(e,!1),this.left?.collect(e,!0)),e}};be=1e-9,b1="PuzzleGeometry 0.1 Copyright 2018 Tomas Rokicki.",S1=!1;cl=class{constructor(e,r){this.puzzleDescription=e;this.cmovesbyslice=[];this.duplicatedFaces=[];this.duplicatedCubies=[];this.fixedCubie=-1;this.net=[];this.colors=[];this.faceorder=[];this.faceprecedence=[];this.notationMapper=new rn;this.addNotationMapper="";this.setReidOrder=!1;let n=Hi("genperms");this.options=new Ti(r),this.options.verbosity>0&&console.log(this.header("# ")),this.create(e),Yi(n)}create(e){let{shape:r,cuts:n}=e;this.moveplanes=[],this.moveplanes2=[],this.faces=[],this.cubies=[];let o=null;switch(r){case"c":o=T0();break;case"o":o=_0();break;case"i":o=O0();break;case"t":o=I0();break;case"d":o=N0();break;default:throw new Error("Bad shape argument: "+r)}this.rotations=K0(o),this.options.verbosity&&console.log("# Rotations: "+this.rotations.length);let l=o[0];this.baseplanerot=ji(l,this.rotations);let i=this.baseplanerot.map(d=>l.rotateplane(d));this.baseplanes=i,this.baseFaceCount=i.length;let s=x1()[i.length];this.net=s,this.colors=w1()[i.length],this.faceorder=v1()[i.length],this.options.verbosity>0&&console.log("# Base planes: "+i.length);let u=qi(i),a=new _(0,0,0,0);this.options.verbosity>0&&console.log("# Face vertices: "+u.length);let f=i[0].makenormal(),g=u[0].sum(u[1]).makenormal(),L=u[0].makenormal(),B=new _(1,f.b,f.c,f.d);this.options.verbosity>0&&console.log("# Boundary is "+B);let m=ji(B,this.rotations).map(d=>B.rotateplane(d)),F=qi(m);this.edgedistance=F[0].sum(F[1]).smul(.5).dist(a),this.vertexdistance=F[0].dist(a);let A=[],b=[],h=!1,C=!1,E=!1;for(let d of n){let v=null,N=0;switch(d.cutType){case"f":v=f,N=1,h=!0;break;case"v":v=L,N=this.vertexdistance,E=!0;break;case"e":v=g,N=this.edgedistance,C=!0;break;default:throw new Error("Bad cut argument: "+d.cutType)}A.push(v.makecut(d.distance)),b.push(d.distance<N)}this.options.addRotations&&(h||A.push(f.makecut(10)),E||A.push(L.makecut(10)),C||A.push(g.makecut(10))),this.basefaces=[];for(let d of this.baseplanerot){let v=d.rotateface(F);this.basefaces.push(new ln(v))}let j=[],te=[],I=[],re=[],y=F.length;function z(d,v,N){for(let K of d)if(K[0].dist(v)<be){K.push(N);return}d.push([v,N])}for(let d=0;d<this.baseplanerot.length;d++){let v=this.baseplanerot[d].rotateface(F);for(let N=0;N<v.length;N++){let K=(N+1)%v.length,ne=v[N].sum(v[K]).smul(.5);z(re,ne,d)}}let M=[];for(let d=0;d<this.baseplanerot.length;d++){let v=this.baseplanerot[d].rotateface(F),N=[];for(let K=0;K<v.length;K++){let ne=(K+1)%v.length,Ke=v[K].sum(v[ne]).smul(.5),lt=re[Bl(re,Ke)];if(d===lt[1])N.push(lt[2]);else if(d===lt[2])N.push(lt[1]);else throw new Error("Could not find edge")}M.push(N)}let x={},w=[];w.push(s[0][0]),x[s[0][0]]=0,w[M[0][0]]=s[0][1],x[s[0][1]]=M[0][0];for(let d of s){let v=d[0],N=x[v];if(N===void 0)throw new Error("Bad edge description; first edge not connected");let K=-1;for(let ne=0;ne<M[N].length;ne++){let Ke=w[M[N][ne]];if(Ke!==void 0&&Ke===d[1]){K=ne;break}}if(K<0)throw new Error("First element of a net not known");for(let ne=2;ne<d.length;ne++){if(d[ne]==="")continue;let Ke=M[N][(ne+K-1)%y],lt=w[Ke];if(lt!==void 0&&lt!==d[ne])throw new Error("Face mismatch in net");w[Ke]=d[ne],x[d[ne]]=Ke}}for(let d=0;d<w.length;d++){let v=!1;for(let N=0;N<this.faceorder.length;N++)if(w[d]===this.faceorder[N]){this.faceprecedence[d]=N,v=!0;break}if(!v)throw new Error("Could not find face "+w[d]+" in face order list "+this.faceorder)}for(let d=0;d<this.baseplanerot.length;d++){let v=this.baseplanerot[d].rotateface(F),N=B.rotateplane(this.baseplanerot[d]),K=w[d];j.push([v,K]),te.push([N,K])}for(let d=0;d<this.baseplanerot.length;d++){let v=this.baseplanerot[d].rotateface(F),N=w[d];for(let K=0;K<v.length;K++){let ne=(K+1)%v.length,Ke=v[K].sum(v[ne]).smul(.5),lt=(K+2)%v.length,vg=v[ne].sum(v[lt]).smul(.5),Eg=Bl(re,Ke),kg=Bl(re,vg);z(I,v[ne],[N,kg,Eg])}}this.swizzler=new $n(j.map(d=>d[1]));let P=this.swizzler.prefixFree?"":"_";for(let d=0;d<re.length;d++){if(re[d].length!==3)throw new Error("Bad length in edge names "+re[d]);let v=w[re[d][1]],N=w[re[d][2]];this.faceprecedence[re[d][1]]<this.faceprecedence[re[d][2]]?v=v+P+N:v=N+P+v,re[d]=[re[d][0],v]}for(let d=0;d<I.length;d++){if(I[d].length<4)throw new Error("Bad length in vertex names");let v=1;for(let K=2;K<I[d].length;K++)this.faceprecedence[x[I[d][K][0]]]<this.faceprecedence[x[I[d][v][0]]]&&(v=K);let N="";for(let K=1;K<I[d].length;K++){K===1?N=I[d][v][0]:N=N+P+I[d][v][0];for(let ne=1;ne<I[d].length;ne++)if(I[d][v][1]===I[d][ne][2]){v=ne;break}}I[d]=[I[d][0],N]}this.options.verbosity>1&&(console.log("# Face precedence list: "+this.faceorder.join(" ")),console.log("# Face names: "+j.map(d=>d[1]).join(" ")),console.log("# Edge names: "+re.map(d=>d[1]).join(" ")),console.log("# Vertex names: "+I.map(d=>d[1]).join(" ")));let W=[];for(let d of te)W.push([d[0].makenormal(),d[1],"f"]);for(let d of re)W.push([d[0].makenormal(),d[1],"e"]);for(let d of I)W.push([d[0].makenormal(),d[1],"v"]);this.facenames=j,this.faceplanes=te,this.edgenames=re,this.vertexnames=I,this.geonormals=W;let H=W.map(d=>d[1]);this.swizzler.setGripNames(H),this.options.verbosity>0&&console.log("# Distances: face "+1+" edge "+this.edgedistance+" vertex "+this.vertexdistance);for(let d=0;d<A.length;d++)for(let v of this.rotations){let N=A[d].rotateplane(v),K=!1;for(let ne of this.moveplanes)if(N.sameplane(ne)){K=!0;break}K||(this.moveplanes.push(N),b[d]&&this.moveplanes2.push(N))}let ge=new oo(F),me=this.moveplanes2.slice(),Fe=31;for(let d=0;d<me.length;d++){let v=d+Math.floor((me.length-d)*(Fe/65536));ge=ge.split(me[v]),me[v]=me[d],Fe=(Fe*1657+101)%65536}let ye=ge.collect([],!0);this.faces=ye,this.options.verbosity>0&&console.log("# Faces is now "+ye.length),this.stickersperface=ye.length;let xt=[],ze=ul(F);for(let d of this.rotations){let v=d.rotateface(F);ze.dist(ul(v))<be&&xt.push(d)}let Xe=new Array(ye.length),xe=[];for(let d=0;d<ye.length;d++){let v=ye[d].centermass();xe.push([ze.dist(v),v,d])}xe.sort((d,v)=>d[0]-v[0]);for(let d=0;d<ye.length;d++){let v=xe[d][2];if(!Xe[v]){Xe[v]=!0;for(let N of xt){let K=ye[v].rotate(N),ne=K.centermass();for(let Ke=d+1;Ke<ye.length&&!(xe[Ke][0]-xe[d][0]>be);Ke++){let lt=xe[Ke][2];if(!Xe[lt]&&ne.dist(xe[Ke][1])<be){Xe[lt]=!0,ye[lt]=K;break}}}}}this.shortedge=1e99;for(let d of ye)for(let v=0;v<d.length;v++){let N=(v+1)%d.length,K=d.get(v).dist(d.get(N));K<this.shortedge&&(this.shortedge=K)}this.options.verbosity>0&&console.log("# Short edge is "+this.shortedge),r==="c"&&h&&!C&&!E&&(this.addNotationMapper="NxNxNCubeMapper",this.setReidOrder=!0),r==="c"&&E&&!h&&!C&&(this.addNotationMapper="SkewbMapper"),r==="t"&&(E||h)&&!C&&(this.addNotationMapper="PyraminxOrTetraminxMapper"),r==="o"&&h&&(this.notationMapper=new eo(this.swizzler,new $n(["F","D","L","BL","R","U","BR","B"])),!C&&!E&&(this.addNotationMapper="FTOMapper")),r==="d"&&h&&(this.addNotationMapper="MegaminxMapper",this.notationMapper=new eo(this.swizzler,new $n(["U","F","L","BL","BR","R","FR","FL","DL","B","DR","D"])))}keyface(e){return this.keyface2(e.centermass())}keyface2(e){let r="",n=String.fromCharCode;for(let o of this.moveplanesets)if(o.length>0){let l=e.dot(o[0]),i=0,s=1;for(;s*2<=o.length;)s*=2;for(;s>0;s>>=1)i+s<=o.length&&l>o[i+s-1].a&&(i+=s);if(i<47)r=r+n(33+i);else if(i<47+47*47)r=r+n(33+47+Math.floor(i/47)-1)+n(33+i%47);else if(i<47+47*47+47*47*47)r=r+n(33+47+Math.floor((i-47)/(47*47)-1))+n(33+47+Math.floor((i-47)/47)%47)+n(33+i%47);else throw Error("Too many slices for cubie encoding")}return r}keyface3(e){let r=e.centermass(),n=[];for(let o of this.moveplanesets)if(o.length>0){let l=r.dot(o[0]),i=0,s=1;for(;s*2<=o.length;)s*=2;for(;s>0;s>>=1)i+s<=o.length&&l>o[i+s-1].a&&(i+=s);n.push(i)}return n}findface(e){let r=this.keyface2(e),n=this.facelisthash.get(r);if(n.length===1)return n[0];for(let o=0;o+1<n.length;o++){let l=this.facelisthash.get(r)[o];if(Math.abs(e.dist(this.facecentermass[l]))<be)return l}return n[n.length-1]}project2d(e,r,n){let o=this.facenames[e][0],l=(r+1)%o.length,i=this.baseplanes[e],s=o[l].sub(o[r]),u=s.len();s=s.normalize();let a=s.cross(i).normalize(),f=n[1].sub(n[0]),g=f.len()/u;f=f.normalize();let L=f.b,B=f.c,p=s.smul(L).sub(a.smul(B)).smul(g),m=a.smul(L).sum(s.smul(B)).smul(g),F=new _(0,n[0].b-p.dot(o[r]),n[0].c-m.dot(o[r]),0);return[p,m,F]}allstickers(){let e=Hi("allstickers");this.faces=U1(this.baseplanerot,this.faces),this.options.verbosity>0&&console.log("# Total stickers is now "+this.faces.length),this.facecentermass=new Array(this.faces.length);for(let y=0;y<this.faces.length;y++)this.facecentermass[y]=this.faces[y].centermass();let r=[],n=[];for(let y of this.moveplanes){let z=y.makenormal(),M=!1;for(let x of n)z.sameplane(x.makenormal())&&(M=!0);M||(n.push(z),r.push([]))}for(let y of this.moveplanes2){let z=y.makenormal();for(let M=0;M<n.length;M++)if(z.sameplane(n[M])){r[M].push(y);break}}for(let y=0;y<r.length;y++){let z=r[y].map(x=>x.normalizeplane()),M=n[y];for(let x=0;x<z.length;x++)z[x].makenormal().dist(M)>be&&(z[x]=z[x].smul(-1));z.sort((x,w)=>x.a-w.a),r[y]=z}this.moveplanesets=r,this.moveplanenormals=n;let o=r.map(y=>y.length);this.options.verbosity>0&&console.log("# Move plane sets: "+o);let l=[];for(let y=0;y<r.length;y++)l.push([]);for(let y of this.rotations){if(Math.abs(Math.abs(y.a)-1)<be)continue;let z=y.makenormal();for(let M=0;M<r.length;M++)if(z.sameplane(n[M])){l[M].push(y);break}}this.moverotations=l;for(let y=0;y<l.length;y++){let z=l[y],M=z[0].makenormal();for(let x=0;x<z.length;x++)M.dist(z[x].makenormal())>be&&(z[x]=z[x].smul(-1));z.sort((x,w)=>x.angle()-w.angle()),l[y][0].dot(n[y])<0&&z.reverse()}let i=l.map(y=>1+y.length);this.movesetorders=i;let s=[],u="?";for(let y=0;y<r.length;y++){let z=n[y],M=null,x=null;for(let w of this.geonormals){let P=z.dot(w[0]);Math.abs(P-1)<be?(x=[w[1],w[2]],u=w[2]):Math.abs(P+1)<be&&(M=[w[1],w[2]],u=w[2])}if(x===null||M===null)throw new Error("Saw positive or negative sides as null");s.push([x[0],x[1],M[0],M[1],1+r[y].length]),this.addNotationMapper==="NxNxNCubeMapper"&&u==="f"&&(this.notationMapper=new nl(1+r[y].length),this.addNotationMapper=""),this.addNotationMapper==="SkewbMapper"&&r[0].length===1&&(this.notationMapper=new ll(this.swizzler),this.addNotationMapper=""),this.addNotationMapper==="PyraminxOrTetraminxMapper"&&(r[0].length===2&&r[0][0].a===.333333333333333&&r[0][1].a===1.66666666666667?(this.notationMapper=new to(this.swizzler),this.addNotationMapper=""):(this.notationMapper=new ol(this.swizzler),this.addNotationMapper="")),this.addNotationMapper==="MegaminxMapper"&&u==="f"&&(1+r[y].length===3&&(this.notationMapper=new rl(this.notationMapper)),this.addNotationMapper=""),this.addNotationMapper==="FTOMapper"&&u==="f"&&(1+r[y].length===3&&(this.notationMapper=new tl(this.notationMapper,this.swizzler)),this.addNotationMapper="")}this.movesetgeos=s;let a=new Map,f=this.faces;for(let y=0;y<f.length;y++){let z=f[y],M=this.keyface(z);if(!a.get(M))a.set(M,[y]);else{let x=a.get(M);if(x.push(y),x.length===this.baseFaceCount){this.options.verbosity>0&&console.log("# Splitting core.");for(let w=0;w<x.length;w++){let P=M+" "+w;a.set(P,[x[w]])}}}}this.facelisthash=a,this.options.verbosity>0&&console.log("# Cubies: "+a.size);let g=[],L=[],B=[];for(let y of a.values())if(y.length!==this.baseFaceCount){if(y.length>1){let z=y.map(P=>f[P].centermass()),M=ul(z);for(let P=0;y.length>2;P++){let W=!1;for(let H=0;H<y.length;H++){let ge=(H+1)%y.length;if(M.dot(z[H].cross(z[ge]))<0){let me=z[H];z[H]=z[ge],z[ge]=me;let Fe=y[H];y[H]=y[ge],y[ge]=Fe,W=!0}}if(!W)break;if(P>1e3)throw new Error("Bad epsilon math; too close to border")}let x=0,w=y[x];for(let P=1;P<y.length;P++){let W=y[P];this.faceprecedence[this.getfaceindex(W)]<this.faceprecedence[this.getfaceindex(w)]&&(x=P,w=W)}if(x!==0){let P=y.slice();for(let W=0;W<y.length;W++)y[W]=P[(x+W)%y.length]}}for(let z=0;z<y.length;z++){let M=y[z];L[M]=g.length,B[M]=z}g.push(y)}this.cubies=g,this.facetocubie=L,this.facetoord=B;let p=["?","CENTERS","EDGES","CORNERS","C4RNER","C5RNER"],m=[],F=[0,0,0,0,0,0],A=[],b=[],h=0,C=[],E=[],j=[],te=[],I=y=>g[y].map(z=>this.getfaceindex(z)).join(" "),re=[];for(let y=0;y<g.length;y++){if(b[y])continue;let z=g[y];if(z.length===0)continue;let M={},x=0;j.push(0),re.push([]);let w=z.length,P=F[w]++,W=p[w];(W===void 0||w===this.baseFaceCount)&&(W="CORE"),W=W+(P===0?"":P+1),m[h]=W,A[h]=w;let H=[y],ge=0;for(b[y]=!0;ge<H.length;){let me=H[ge++],Fe=I(me);if((z.length>1||M[Fe]===void 0)&&(M[Fe]=x++),te[me]=M[Fe],C[me]=h,re[h].push(me),E[me]=j[h]++,H.length<this.rotations.length){let ye=this.facecentermass[g[me][0]];for(let xt of l){let ze=this.facetocubie[this.findface(ye.rotatepoint(xt[0]))];b[ze]||(H.push(ze),b[ze]=!0)}}}h++}if(this.setReidOrder&&4<=this.stickersperface&&this.stickersperface<=9){let y=[["UF","UR","UB","UL","DF","DR","DB","DL","FR","FL","BR","BL"],["UFR","URB","UBL","ULF","DRF","DFL","DLB","DBR"],["U","L","F","R","B","D"]],z={};for(let M of y)for(let x=0;x<M.length;x++){let w=0;for(let P=0;P<M[x].length;P++)w|=1<<M[x].charCodeAt(P)-65;z[w]=x}for(let M of re)for(let x of M){let w=0;for(let P of g[x])w|=1<<this.facenames[this.getfaceindex(P)][1].charCodeAt(0)-65;E[x]=z[w]}}if(this.cubiesetnums=C,this.cubieordnums=E,this.cubiesetnames=m,this.cubieords=j,this.orbitoris=A,this.cubievaluemap=te,this.cubiesetcubies=re,this.options.fixedPieceType!==null){for(let y=0;y<g.length;y++)if(this.options.fixedPieceType==="v"&&g[y].length>2||this.options.fixedPieceType==="e"&&g[y].length===2||this.options.fixedPieceType==="f"&&g[y].length===1){this.fixedCubie=y;break}if(this.fixedCubie<0)throw new Error("Could not find a cubie of type "+this.options.fixedPieceType+" to fix.")}this.options.verbosity>0&&console.log("# Cubie orbit sizes "+j),Yi(e)}unswizzle(e){let r=this.notationMapper.notationToInternal(e);return r===null?"":this.swizzler.unswizzle(r.family)}stringToBlockMove(e){let r=RegExp("^(([0-9]+)-)?([0-9]+)?([^0-9]+)([0-9]+'?)?$"),n=e.match(r);if(n===null)throw new Error("Bad move passed "+e);let o=n[4],l,i;if(n[2]!==void 0){if(n[3]===void 0)throw new Error("Missing second number in range");l=parseInt(n[2],10)}n[3]!==void 0&&(i=parseInt(n[3],10));let s="1",u=1;return n[5]!==void 0&&(s=n[5],s[0]==="'"&&(s="-"+s.substring(1)),u=parseInt(s,10)),new c(new G(o,i,l),u)}parseMove(e){let r=this.notationMapper.notationToInternal(e);if(r===null)throw new Error("Bad move "+e.family);e=r;let n=e.family,o=!1;if(n.endsWith("v")&&n[0]<="Z"){if(e.innerLayer!==void 0||e.outerLayer!==void 0)throw new Error("Cannot use a prefix with full cube rotations");n=n.slice(0,-1),o=!0}n.endsWith("w")&&n[0]<="Z"&&(n=n.slice(0,-1).toLowerCase());let l,i=-1,s=this.swizzler.unswizzle(n),u=!1;for(let g=0;g<this.movesetgeos.length;g++){let L=this.movesetgeos[g];s===L[0]&&(u=!0,l=L,i=g),s===L[2]&&(u=!1,l=L,i=g)}let a=1,f=1;if(n.toUpperCase()!==n&&(f=2),l===void 0)throw new Error("Bad grip in move "+e.family);if(e.outerLayer!==void 0&&(a=e.outerLayer),e.innerLayer!==void 0&&(e.outerLayer===void 0?(f=e.innerLayer,n<="Z"?a=f:a=1):f=e.innerLayer),a--,f--,o&&(a=0,f=this.moveplanesets[i].length),a<0||a>this.moveplanesets[i].length||f<0||f>this.moveplanesets[i].length)throw new Error("Bad slice spec "+a+" "+f+" vs "+this.moveplanesets[i].length);if(!S1&&a===0&&f===this.moveplanesets[i].length&&!o)throw new Error("! full puzzle rotations must be specified with v suffix.");return[void 0,i,a,f,u,e.amount]}parsemove(e){let r=this.parseMove(this.stringToBlockMove(e));return r[0]=e,r}genperms(){let e=Hi("genperms");if(this.cmovesbyslice.length>0)return;let r=[];if(this.options.orientCenters){for(let n=0;n<this.cubies.length;n++)if(this.cubies[n].length===1){let o=this.cubies[n][0],l=this.getfaceindex(o);if(this.basefaces[l].centermass().dist(this.facecentermass[o])<be){let i=this.basefaces[l].length;for(let s=1;s<i;s++)this.cubies[n].push(this.cubies[n][s-1]);this.duplicatedFaces[o]=i,this.duplicatedCubies[n]=i,this.orbitoris[this.cubiesetnums[n]]=i}}}for(let n=0;n<this.moveplanesets.length;n++){let o=this.moveplanesets[n],l=[],i=[o.length+1,0],s=1;for(;s*2<=o.length;)s*=2;for(let f=0;f<this.faces.length;f++){let g=0;if(o.length>0){let L=this.facecentermass[f].dot(o[0]);for(let B=s;B>0;B>>=1)g+B<=o.length&&L>o[g+B-1].a&&(g+=B);g=o.length-g}for(l.push(g);i.length<=g;)i.push(0);i[g]++}let u=new Array(i.length);for(let f=0;f<i.length;f++)u[f]=[];let a=[];for(let f=0;f<this.faces.length;f++){if(l[f]<0)continue;let g=[this.facetocubie[f],this.facetoord[f]],L=this.facecentermass[f],B=L,p=f,m=l[p];for(;;){l[p]=-1;let F=L.rotatepoint(this.moverotations[n][0]);if(F.dist(B)<be)break;p=this.findface(F),g.push(this.facetocubie[p],this.facetoord[p]),L=F}if(g.length>2&&this.options.orientCenters&&(this.cubies[g[0]].length===1||this.duplicatedCubies[g[0]]>1)&&this.facecentermass[f].dist(this.basefaces[this.getfaceindex(f)].centermass())<be){let F=this.faces[this.cubies[g[0]][0]];for(let A=0;A<g.length;A+=2){let b=this.faces[this.cubies[g[A]][0]],h=-1;for(let C=0;C<F.length;C++)if(b.get(C).dist(F.get(0))<be){h=C;break}if(h<0)throw new Error("Couldn't find rotation of center faces; ignoring for now.");g[A+1]=h,F=F.rotate(this.moverotations[n][0])}}if(g.length===2&&this.options.orientCenters)for(let F=1;F<this.movesetorders[n];F++)m===0?g.push(g[0],F):g.push(g[0],(this.movesetorders[n]-F)%this.movesetorders[n]);if(g.length>2&&!a[g[0]]){if(g.length!==2*this.movesetorders[n])throw new Error("Bad length in perm gen");for(let F of g)u[m].push(F)}for(let F=0;F<g.length;F+=2)a[g[F]]=!0}for(let f=0;f<u.length;f++)u[f]=u[f].slice();r.push(u)}if(this.cmovesbyslice=r,this.options.moveList){let n=[];for(let o of this.options.moveList)n.push(this.parsemove(o));this.parsedmovelist=n}this.facelisthash.clear(),this.facecentermass=[],Yi(e)}getboundarygeometry(){return{baseplanes:this.baseplanes,facenames:this.facenames,faceplanes:this.faceplanes,vertexnames:this.vertexnames,edgenames:this.edgenames,geonormals:this.geonormals}}getmovesets(e){let r=this.moveplanesets[e].length,n=[];if(this.parsedmovelist!==void 0)for(let o of this.parsedmovelist)o[1]===e&&(o[4]?n.push([o[2],o[3]]):n.push([r-o[3],r-o[2]]),n.push(o[5]));else if(this.options.vertexMoves&&!this.options.allMoves){let o=this.movesetgeos[e];if(o[1]!==o[3])for(let l=0;l<r;l++)o[1]!=="v"?(this.options.outerBlockMoves?n.push([l+1,r]):n.push([l+1]),n.push(1)):(this.options.outerBlockMoves?n.push([0,l]):n.push([l,l]),n.push(1))}else for(let o=0;o<=r;o++)!this.options.allMoves&&o+o===r||(this.options.outerBlockMoves?o+o>r?n.push([o,r]):n.push([0,o]):n.push([o,o]),n.push(1));if(this.fixedCubie>=0){let o=this.keyface3(this.faces[this.cubies[this.fixedCubie][0]])[e],l=[];for(let i=0;i<n.length;i+=2){let s=n[i];if(o>=s[0]&&o<=s[1])if(s[0]===0)s=[s[1]+1,r];else if(r===s[1])s=[0,s[0]-1];else throw Error("fixed cubie option would disconnect move");let u=!1;for(let a=0;a<l.length;a+=2)if(l[a][0]===s[0]&&l[a][1]===s[1]&&l[a+1]===n[i+1]){u=!0;break}u||(l.push(s),l.push(n[i+1]))}n=l}return n}graybyori(e){let r=this.cubies[e].length;return this.duplicatedCubies[e]&&(r=1),r===1&&(this.options.grayCenters||!this.options.includeCenterOrbits)||r===2&&(this.options.grayEdges||!this.options.includeEdgeOrbits)||r>2&&(this.options.grayCorners||!this.options.includeCornerOrbits)}skipbyori(e){let r=this.cubies[e].length;return this.duplicatedCubies[e]&&(r=1),r===1&&!this.options.includeCenterOrbits||r===2&&!this.options.includeEdgeOrbits||r>2&&!this.options.includeCornerOrbits}skipcubie(e){return this.skipbyori(e)}header(e){return e+b1+\`
9
+ \`+e+\`
10
+ \`}writegap(){let e=this.getOrbitsDef(!1),r=[],n=[];for(let l=0;l<e.moveops.length;l++){let i="M_"+Ki(this.notationMapper,e.movenames[l]),s=!1;i[i.length-1]==="'"&&(i=i.substring(0,i.length-1),s=!0),n.push(i),s?r.push(i+":="+e.moveops[l].toPerm().inv().toGap()+";"):r.push(i+":="+e.moveops[l].toPerm().toGap()+";")}r.push("Gen:=["),r.push(n.join(",")),r.push("];");let o=e.solved.identicalPieces();return r.push("ip:=["+o.map(l=>"["+l.map(i=>i+1).join(",")+"]").join(",")+"];"),r.push("# Size(Group(Gen));"),r.push("# Size(Stabilizer(Group(Gen), ip, OnTuplesSets));"),r.push(""),this.header("# ")+r.join(\`
11
+ \`)}writeksolve(e="PuzzleGeometryPuzzle"){let r=this.getOrbitsDef(!1);return this.header("# ")+r.toKsolve(e,this.notationMapper).join(\`
12
+ \`)}getKPuzzleDefinition(e=!0,r=!0){let o=this.getOrbitsDef(e,r).toKPuzzleDefinition(r);if(o.exprimentalPuzzleDescription=this.puzzleDescription,!o)throw new Error("Missing definition!");return o}getMoveFromBits(e,r,n,o,l,i){let s=[],u=[],a=[];for(let L of this.cubieords)u.push(Et(L)),a.push(tr(L));for(let L=e[0];L<=e[1];L++){let B=o[L];for(let p=0;p<B.length;p+=2*i){let m=B.slice(p,p+2*i),F=this.cubiesetnums[m[0]];for(let h=0;h<m.length;h+=2)m[h]=this.cubieordnums[m[h]];let A=2,b=3;n&&(A=m.length-2,b=m.length-1),u[F]===Et(this.cubieords[F])&&(u[F]=u[F].slice(),this.orbitoris[F]>1&&!this.options.fixedOrientation&&(a[F]=a[F].slice()));for(let h=0;h<m.length;h+=2)u[F][m[(h+A)%m.length]]=m[h],this.orbitoris[F]>1&&!this.options.fixedOrientation&&(a[F][m[h]]=(m[(h+b)%m.length]-m[(h+1)%m.length]+2*this.orbitoris[F])%this.orbitoris[F])}}let f=new Nt(Et(24),tr(24),1);for(let L=0;L<this.cubiesetnames.length;L++)if(!(l&&!l[L]))if(this.orbitoris[L]===1||this.options.fixedOrientation)u[L]===Et(f.perm.length)?(u[L]!==f.perm&&(f=new Nt(u[L],a[L],1)),s.push(f)):s.push(new Nt(u[L],a[L],1));else{let B=new Array(a[L].length);for(let p=0;p<u[L].length;p++)B[p]=a[L][u[L][p]];s.push(new Nt(u[L],B,this.orbitoris[L]))}let g=new rr(s);return r!==1&&(g=g.mulScalar(r)),g}omitSet(e){for(let r of this.options.excludeOrbits)if(r===e)return!0;return!1}diffmvsets(e,r,n,o){for(let l=0;l<e.length;l+=2){let i=!1;for(let s=0;!i&&s<r.length;s+=2)o?e[l][0]+r[s][1]===n&&e[l][1]+r[s][0]===n&&e[l+1]===r[s+1]&&(i=!0):e[l][0]===r[s][0]&&e[l][1]===r[s][1]&&e[l+1]===r[s+1]&&(i=!0);if(!i)return!0}return!1}getOrbitsDef(e,r=!0){let n=[];if(e)for(let L=0;L<this.cubiesetnames.length;L++)n.push(1);let o=[],l=[],i=[],s=[];for(let L=0;L<this.moveplanesets.length;L++){let B=this.getmovesets(L);i.push(B),this.options.addRotations?s.push(1):s.push(0)}if(this.options.moveList&&this.options.addRotations){for(let L=0;L<this.moverotations.length;L++)s[L]=0;for(let L=0;L<this.moveplanesets.length;L++)for(let B=0;B<this.moverotations.length;B++){let p=this.moveplanenormals[L];for(let m=1;m*2<=this.movesetorders[B];m++){if(p=p.rotatepoint(this.moverotations[B][0]),s[B]&m)continue;let F=-1,A=!1;for(let h=0;h<this.moveplanenormals.length;h++)if(p.dist(this.moveplanenormals[h])<be){F=h;break}else if(p.dist(this.moveplanenormals[h].smul(-1))<be){F=h,A=!0;break}if(F<0)throw new Error("Could not find rotation");let b=i[F];(b.length!==i[L].length||this.moveplanesets[L].length!==this.moveplanesets[F].length||this.diffmvsets(b,i[L],this.moveplanesets[F].length,A))&&(s[B]|=m)}}for(let L=0;L<this.moverotations.length;L++)if(s[L]===0)s[L]=1;else if(s[L]===1)this.movesetorders[L]>3?s[L]=2:s[L]=0;else if(s[L]===3)s[L]=0;else throw new Error("Impossible addrot val")}for(let L=0;L<this.moveplanesets.length;L++)s[L]!==0&&(i[L].push([0,this.moveplanesets[L].length]),i[L].push(s[L]));for(let L=0;L<this.moveplanesets.length;L++){let B=i[L],p=this.movesetorders[L];for(let A=0;A<B.length;A+=2)for(let b=0;b<A;b+=2)if(B[A]===B[b]&&B[A+1]===B[b+1])throw new Error("Redundant moves in moveset.");let m=[];for(let A=0;A<B.length;A+=2)for(let b=B[A][0];b<=B[A][1];b++)m[b]=1;let F=this.cmovesbyslice[L];for(let A=0;A<F.length;A++){if(m[A]!==1)continue;let b=F[A];for(let h=0;h<b.length;h+=2*p){if(this.skipcubie(b[h]))continue;let C=this.cubiesetnums[b[h]];n[C]=1}}}for(let L=0;L<this.cubiesetnames.length;L++)if(!!n[L]){if(this.omitSet(this.cubiesetnames[L])){n[L]=0;continue}o.push(this.cubiesetnames[L]),l.push(new no(this.cubieords[L],this.options.fixedOrientation?1:this.orbitoris[L]))}let u=[];for(let L=0;L<this.cubiesetnames.length;L++){if(!n[L]||this.omitSet(this.cubiesetnames[L]))continue;let B=[],p=[];for(let m=0;m<this.cubieords[L];m++){if(e)B.push(m);else{let F=this.cubiesetcubies[L][m];B.push(this.cubievaluemap[F])}p.push(0)}u.push(new Nt(B,p,this.options.fixedOrientation?1:this.orbitoris[L]))}let a=[],f=[];if(r)for(let L=0;L<this.moveplanesets.length;L++){let p=this.moveplanesets[L].length,m=i[L],F=this.movesetgeos[L];for(let A=0;A<m.length;A+=2){let b=m[A],h=k1(F,b,p),C=h[0],E=h[1];m[A+1]===1?a.push(C):a.push(C+m[A+1]);let j=this.getMoveFromBits(b,m[A+1],E,this.cmovesbyslice[L],n,this.movesetorders[L]);f.push(j)}}let g=new nn(o,l,new on(u),a,f);return this.options.optimizeOrbits&&(g=g.optimize()),this.options.scrambleAmount!==0&&g.scramble(this.options.scrambleAmount),g}getMovesAsPerms(){return this.getOrbitsDef(!1).moveops.map(e=>e.toPerm())}showcanon(e){C0(this.getOrbitsDef(!1),e)}getsolved(){let e=[];for(let r=0;r<this.baseFaceCount;r++)for(let n=0;n<this.stickersperface;n++)e.push(r);return new ft(e)}getOrientationRotation(e){let[r,[n,o,l]]=e[0],i=new _(0,n,-o,l),[s,[u,a,f]]=e[1],g=new _(0,u,-a,f),L=null,B=null,p=this.swizzler.unswizzle(r),m=this.swizzler.unswizzle(s);for(let h of this.geonormals)p===h[1]&&(L=h[0]),m===h[1]&&(B=h[0]);if(!L)throw new Error("Could not find feature "+r);if(!B)throw new Error("Could not find feature "+s);let F=L.pointrotation(i);return B.rotatepoint(F).unproject(i).pointrotation(g.unproject(i)).mul(F)}getInitial3DRotation(){let e=this.baseFaceCount,r=null;if(this.options.puzzleOrientation?r=this.options.puzzleOrientation:this.options.puzzleOrientations&&(r=this.options.puzzleOrientations[e]),r||(r=E1()[e]),!r)throw new Error("No default orientation?");return this.getOrientationRotation(r)}generate2dmapping(e=800,r=500,n=10,o=!1,l=.92){e-=2*n,r-=2*n;function i(x,w){let P=x[1][0]-x[0][0],W=x[1][1]-x[0][1],H=2*Math.PI/w,ge=Math.cos(H),me=Math.sin(H);for(let Fe=2;Fe<w;Fe++){let ye=P*ge+W*me;W=W*ge-P*me,P=ye,x.push([x[Fe-1][0]+P,x[Fe-1][1]+W])}}this.genperms();let a=this.getboundarygeometry().facenames[0][0].length,f=this.net;if(f===null)throw new Error("No net?");let g={},L=0,B=0,p=1,m=0;g[f[0][0]]=[[1,0],[0,0]],i(g[f[0][0]],a);for(let x of f){let w=x[0];if(!g[w])throw new Error("Bad edge description; first edge not connected.");for(let P=1;P<x.length;P++){let W=x[P];W===""||g[W]||(g[W]=[g[w][P%a],g[w][(P+a-1)%a]],i(g[W],a))}}for(let x in g){let w=g[x];for(let P of w)L=Math.min(L,P[0]),p=Math.max(p,P[0]),B=Math.min(B,P[1]),m=Math.max(m,P[1])}let F=Math.min(e/(p-L),r/(m-B)),A=.5*(e-F*(p+L)),b=.5*(r-F*(m+B)),h={},C=this.getboundarygeometry(),E={},j=[[F+A,b],[A,b]];E[f[0][0]]=j,i(E[f[0][0]],a),h[this.facenames[0][1]]=this.project2d(0,0,[new _(0,j[0][0],j[0][1],0),new _(0,j[1][0],j[1][1],0)]);let te=[];te[0]=0;for(let x of f){let w=x[0];if(!E[w])throw new Error("Bad edge description; first edge not connected.");let P=-1;for(let H=0;H<C.facenames.length;H++)if(w===C.facenames[H][1]){P=H;break}if(P<0)throw new Error("Could not find first face name "+w);let W=C.facenames[P][0];for(let H=1;H<x.length;H++){let ge=x[H];if(ge===""||E[ge])continue;E[ge]=[E[w][H%a],E[w][(H+a-1)%a]],i(E[ge],a);let me=te[P],Fe=W[(me+H)%a].sum(W[(me+H+a-1)%a]).smul(.5),ye=Bl(C.edgenames,Fe),xt=C.edgenames[ye][1],ze=z1(xt,this.facenames),Xe=ze[w===ze[0]?1:0],xe=-1;for(let v=0;v<C.facenames.length;v++)if(Xe===C.facenames[v][1]){xe=v;break}if(xe<0)throw new Error("Could not find second face name");let d=C.facenames[xe][0];for(let v=0;v<d.length;v++)if(d[v].sum(d[(v+1)%a]).smul(.5).dist(Fe)<=be){let K=E[w][(H+a-1)%a],ne=E[w][H%a];te[xe]=v,h[Xe]=this.project2d(xe,v,[new _(0,ne[0],ne[1],0),new _(0,K[0],K[1],0)]);break}}}let I=0,re=0,y=this.getInitial3DRotation();for(let x of this.faces){o&&(x=x.rotate(y));for(let w=0;w<x.length;w++)I=Math.max(I,Math.abs(x.get(w).b)),re=Math.max(re,Math.abs(x.get(w).c))}let z=Math.min(r/re/2,(e-n)/I/4);return(x,w)=>{if(o){w=w.rotatepoint(y);let P=.5*n+.25*e,W=this.baseplanes[x].rotateplane(y).d<0?1:-1;return[n+e*.5+W*(P-w.b*z),n+r*.5+w.c*z]}else{let P=h[this.facenames[x][1]];return[n+l*w.dot(P[0])+P[2].b,n+r-l*w.dot(P[1])-P[2].c]}}}generatesvg(e=800,r=500,n=10,o=!1){let l=this.generate2dmapping(e,r,n,o);function i(L,B,p){return'<polygon id="'+L+'" class="sticker" style="fill: '+p+'" points="'+B.map(m=>m[0]+" "+m[1]).join(" ")+\`"/>
13
+ \`}let s=this.getsolved(),u=[],a=[];for(let L=0;L<this.baseFaceCount;L++)u[L]=this.colors[this.facenames[L][1]];for(let L=0;L<this.faces.length;L++){let B=this.faces[L],p=Math.floor(L/this.stickersperface),m=[];for(let F=0;F<B.length;F++)m.push(l(p,B.get(F)));a.push(m)}let f=[];for(let L=0;L<this.baseFaceCount;L++){f.push("<g>"),f.push("<title>"+this.facenames[L][1]+\`</title>
14
+ \`);for(let B=0;B<this.stickersperface;B++){let p=L*this.stickersperface+B,m=this.facetocubie[p],F=this.facetoord[p],A=this.cubiesetnums[m],b=this.cubieordnums[m],h=this.graybyori(m)?"#808080":u[s.p[p]],C=this.cubiesetnames[A]+"-l"+b+"-o"+F;if(f.push(i(C,a[p],h)),this.duplicatedFaces[p])for(let E=1;E<this.duplicatedFaces[p];E++)C=this.cubiesetnames[A]+"-l"+b+"-o"+E,f.push(i(C,a[p],h))}f.push("</g>")}return\`<svg id="svg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 800 500">
15
+ <style type="text/css"><![CDATA[.sticker { stroke: #000000; stroke-width: 1px; }]]></style>
16
+ \`+f.join("")+"</svg>"}get3d(e){let r=[],n=this.getInitial3DRotation(),o=[],l=.52*this.basefaces[0].get(0).len();for(let a=0;a<this.basefaces.length;a++){let f=this.basefaces[a].rotate(n),g=this.facenames[a][1];o.push({coords:Xi(f,l),name:g})}for(let a=0;a<this.faces.length;a++){let f=Math.floor(a/this.stickersperface),g=this.facetocubie[a],L=this.facetoord[a],B=this.cubiesetnums[g],p=this.cubieordnums[g],m=this.graybyori(g)?"#808080":this.colors[this.facenames[f][1]];e?.stickerColors&&(m=e.stickerColors[a]);let F=this.faces[a].rotate(n);r.push({coords:Xi(F,l),color:m,orbit:this.cubiesetnames[B],ord:p,ori:L,face:f});let A=F;if(this.duplicatedFaces[a]){let b=A.length/this.duplicatedFaces[a];for(let h=1;h<this.duplicatedFaces[a];h++){for(let C=0;C<b;C++)A=A.rotateforward();r.push({coords:Xi(A,l),color:m,orbit:this.cubiesetnames[B],ord:p,ori:h,face:f,isDup:!0})}}}let i=[];for(let a=0;a<this.movesetgeos.length;a++){let f=this.movesetgeos[a],g=this.movesetorders[a];for(let L of this.geonormals)f[0]===L[1]&&f[1]===L[2]&&(i.push({coordinates:ml(L[0].rotatepoint(n),1),quantumMove:new c(f[0]),order:g}),i.push({coordinates:ml(L[0].rotatepoint(n).smul(-1),1),quantumMove:new c(f[2]),order:g}))}let s=this.generate2dmapping(2880,2160,0,!1,1),u=function(){let a=n.invrot();return function(f,g){let L=new _(0,g[0]*l,-g[1]*l,g[2]*l);L=L.rotatepoint(a);let B=s(f,L);return B[0]/=2880,B[1]=1-B[1]/2160,B}}().bind(this);return{stickers:r,faces:o,axis:i,unswizzle:this.unswizzle.bind(this),notationMapper:this.notationMapper,textureMapper:{getuv:u}}}getGeoNormal(e){let r=this.getInitial3DRotation(),n=this.swizzler.unswizzle(e);for(let o of this.geonormals)if(n===o[1]){let l=ml(o[0].rotatepoint(r),1);return Math.abs(l[0])<be&&Math.abs(l[2])<be&&(l[0]=0,l[2]=1e-6),l}}getfaceindex(e){let r=this.stickersperface;return Math.floor(e/r)}textForTwizzleExplorer(){return\`Faces \${this.baseplanerot.length}
17
+ Stickers per face \${this.stickersperface}
18
+ Short edge \${this.shortedge}
19
+ Cubies \${this.cubies.length}
20
+ Edge distance \${this.edgedistance}
21
+ Vertex distance \${this.vertexdistance}\`}writeSchreierSims(e){let n=this.getOrbitsDef(!1).reassemblySize();e(\`Reassembly size is \${n}\`);let o=Ll(this.getMovesAsPerms(),e),l=n/o;e(\`Ratio is \${l}\`)}},Sr=class{constructor(e,r){this.pg=e;this.orbitNames=r.orbitnames}lookupMove(e){let r=this.pg.parseMove(e);if(this.pg.parsedmovelist){let i=!1;for(let s of this.pg.parsedmovelist)s[1]===r[1]&&s[2]===r[2]&&s[3]===r[3]&&s[4]===r[4]&&(i=!0);if(!i)return null}let n=[r[2],r[3]];if(!r[4]){let i=this.pg.moveplanesets[r[1]].length;n=[i-r[3],i-r[2]]}let o=this.pg.getMoveFromBits(n,r[5],!r[4],this.pg.cmovesbyslice[r[1]],void 0,this.pg.movesetorders[r[1]]);return nn.transformToKTransformationData(this.orbitNames,o)}}});var Ji={};Ue(Ji,{ExperimentalPGNotation:()=>Sr,PuzzleGeometry:()=>cl,Quat:()=>_,getPG3DNamedPuzzles:()=>j0,getPuzzleDescriptionString:()=>q0,getPuzzleGeometryByDesc:()=>Zi,getPuzzleGeometryByName:()=>sn,parseOptions:()=>E0,parsePuzzleDescription:()=>ro,schreierSims:()=>Ll});var lo=U(()=>{il();Ii();fl();Vi();il()});async function gt(t){return(await Promise.resolve().then(()=>(lo(),Ji))).getPuzzleGeometryByName(t,{allMoves:!0,orientCenters:!0,addRotations:!0})}async function C1(t){let e=await gt(t),r=e.getKPuzzleDefinition(!0);r.name=t;let n=await Promise.resolve().then(()=>(lo(),Ji)),o=new n.ExperimentalPGNotation(e,e.getOrbitsDef(!0));return new Ie(r,{experimentalPGNotation:o})}function io(t){return er(()=>C1(t))}function xr(t,e,r){let n={id:t,fullName:e,kpuzzle:io(t),svg:async()=>(await gt(t)).generatesvg(),pg:async()=>gt(t)};return r?.inventedBy&&(n.inventedBy=r.inventedBy),r?.inventionYear&&(n.inventionYear=r.inventionYear),n}function an(t,e,r){let n=xr(t,e,r);return n.appearance=Dt.bind(Dt,n),n.stickerings=en,n}var wr=U(()=>{Ve();tn();Jn()});var V0={};Ue(V0,{cube2x2x2KPuzzleDefinition:()=>kt});var kt,H0=U(()=>{kt={name:"2x2x2",orbits:{CORNERS:{numPieces:8,numOrientations:3}},startStateData:{CORNERS:{pieces:[0,1,2,3,4,5,6,7],orientation:[0,0,0,0,0,0,0,0]}},moves:{U:{CORNERS:{permutation:[1,2,3,0,4,5,6,7],orientation:[0,0,0,0,0,0,0,0]}},y:{CORNERS:{permutation:[1,2,3,0,7,4,5,6],orientation:[0,0,0,0,0,0,0,0]}},x:{CORNERS:{permutation:[4,0,3,5,7,6,2,1],orientation:[2,1,2,1,1,2,1,2]}},L:{CORNERS:{permutation:[0,1,6,2,4,3,5,7],orientation:[0,0,2,1,0,2,1,0]}},F:{CORNERS:{permutation:[3,1,2,5,0,4,6,7],orientation:[1,0,0,2,2,1,0,0]}},R:{CORNERS:{permutation:[4,0,2,3,7,5,6,1],orientation:[2,1,0,0,1,0,0,2]}},B:{CORNERS:{permutation:[0,7,1,3,4,5,2,6],orientation:[0,2,1,0,0,0,2,1]}},D:{CORNERS:{permutation:[0,1,2,3,5,6,7,4],orientation:[0,0,0,0,0,0,0,0]}},z:{CORNERS:{permutation:[3,2,6,5,0,4,7,1],orientation:[1,2,1,2,2,1,2,1]}}}};kt.moves.Rv=kt.moves.x;kt.moves.Uv=kt.moves.y;kt.moves.Fv=kt.moves.z;kt.moves.Lv={CORNERS:{permutation:[1,7,6,2,0,3,5,4],orientation:[2,1,2,1,1,2,1,2]}};kt.moves.Dv={CORNERS:{permutation:[3,0,1,2,5,6,7,4],orientation:[0,0,0,0,0,0,0,0]}};kt.moves.Bv={CORNERS:{permutation:[4,7,1,0,5,3,2,6],orientation:[1,2,1,2,2,1,2,1]}}});var Y0={};Ue(Y0,{default:()=>P1});var P1,Z0=U(()=>{P1=\`<?xml version="1.0" encoding="UTF-8"?>
22
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN"
23
+ "http://www.w3.org/TR/2001/REC-SVG-20050904/DTD/svg11.dtd">
24
+ <svg xmlns="http://www.w3.org/2000/svg" version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 520 394" preserveAspectRatio="xMidYMid meet">
25
+ <title>2x2x2</title>
26
+ <defs>
27
+ <g id="sticker">
28
+ <rect x="0" y="0" width="1" height="1" stroke="black" stroke-width="0.04px" />
29
+ </g>
30
+ </defs>
31
+ <g id="puzzle" transform="translate(5, 5) scale(60)">
32
+ <use id="CORNERS-l0-o0" xlink:href="#sticker" transform="translate(3.2, 1)" style="fill: white"/>
33
+ <use id="CORNERS-l0-o1" xlink:href="#sticker" transform="translate(4.4, 2.2)" style="fill: red"/>
34
+ <use id="CORNERS-l0-o2" xlink:href="#sticker" transform="translate(3.2, 2.2)" style="fill: limegreen"/>
35
+
36
+ <use id="CORNERS-l1-o0" xlink:href="#sticker" transform="translate(3.2, 0)" style="fill: white"/>
37
+ <use id="CORNERS-l1-o1" xlink:href="#sticker" transform="translate(6.6, 2.2)" style="fill: #26f"/>
38
+ <use id="CORNERS-l1-o2" xlink:href="#sticker" transform="translate(5.4, 2.2)" style="fill: red"/>
39
+
40
+ <use id="CORNERS-l2-o0" xlink:href="#sticker" transform="translate(2.2, 0)" style="fill: white"/>
41
+ <use id="CORNERS-l2-o1" xlink:href="#sticker" transform="translate(0, 2.2)" style="fill: orange"/>
42
+ <use id="CORNERS-l2-o2" xlink:href="#sticker" transform="translate(7.6, 2.2)" style="fill: #26f"/>
43
+
44
+ <use id="CORNERS-l3-o0" xlink:href="#sticker" transform="translate(2.2, 1)" style="fill: white"/>
45
+ <use id="CORNERS-l3-o1" xlink:href="#sticker" transform="translate(2.2, 2.2)" style="fill: limegreen"/>
46
+ <use id="CORNERS-l3-o2" xlink:href="#sticker" transform="translate(1, 2.2)" style="fill: orange"/>
47
+
48
+ <use id="CORNERS-l4-o0" xlink:href="#sticker" transform="translate(3.2, 4.4)" style="fill: yellow"/>
49
+ <use id="CORNERS-l4-o1" xlink:href="#sticker" transform="translate(3.2, 3.2)" style="fill: limegreen"/>
50
+ <use id="CORNERS-l4-o2" xlink:href="#sticker" transform="translate(4.4, 3.2)" style="fill: red"/>
51
+
52
+ <use id="CORNERS-l5-o0" xlink:href="#sticker" transform="translate(2.2, 4.4)" style="fill: yellow"/>
53
+ <use id="CORNERS-l5-o1" xlink:href="#sticker" transform="translate(1, 3.2)" style="fill: orange"/>
54
+ <use id="CORNERS-l5-o2" xlink:href="#sticker" transform="translate(2.2, 3.2)" style="fill: limegreen"/>
55
+
56
+ <use id="CORNERS-l6-o0" xlink:href="#sticker" transform="translate(2.2, 5.4)" style="fill: yellow"/>
57
+ <use id="CORNERS-l6-o1" xlink:href="#sticker" transform="translate(7.6, 3.2)" style="fill: #26f"/>
58
+ <use id="CORNERS-l6-o2" xlink:href="#sticker" transform="translate(0, 3.2)" style="fill: orange"/>
59
+
60
+ <use id="CORNERS-l7-o0" xlink:href="#sticker" transform="translate(3.2, 5.4)" style="fill: yellow"/>
61
+ <use id="CORNERS-l7-o1" xlink:href="#sticker" transform="translate(5.4, 3.2)" style="fill: red"/>
62
+ <use id="CORNERS-l7-o2" xlink:href="#sticker" transform="translate(6.6, 3.2)" style="fill: #26f"/>
63
+ </g>
64
+
65
+ </svg>\`});var so,X0=U(()=>{Ve();wr();Jn();tn();so={id:"2x2x2",fullName:"2\\xD72\\xD72 Cube",kpuzzle:er(async()=>new Ie((await Promise.resolve().then(()=>(H0(),V0))).cube2x2x2KPuzzleDefinition)),svg:async()=>(await Promise.resolve().then(()=>(Z0(),Y0))).default,pg:async()=>gt("2x2x2"),appearance:t=>Dt(so,t),stickerings:en}});var J0={};Ue(J0,{default:()=>M1});var M1,$0=U(()=>{M1=\`<?xml version="1.0" encoding="UTF-8"?>
66
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN"
67
+ "http://www.w3.org/TR/2001/REC-SVG-20050904/DTD/svg11.dtd">
68
+ <svg xmlns="http://www.w3.org/2000/svg" version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 518 392" preserveAspectRatio="xMidYMid meet">
69
+ <title>3x3x3</title>
70
+ <defs>
71
+ <g id="sticker">
72
+ <rect x="0" y="0" width="1" height="1" stroke="black" stroke-width="0.04px" />
73
+ </g>
74
+ </defs>
75
+
76
+ <!-- 0 1 2 3 4 5 6 7 8 9 10 11 -->
77
+ <!-- | | | | | | | | | | | |<- -->
78
+ <!-- 0 - . . . -->
79
+ <!-- 1 - . . . -->
80
+ <!-- 2 - . . . -->
81
+ <!-- 3 - . . . . . . . . . . . . -->
82
+ <!-- 4 - . . . . . . . . . . . . -->
83
+ <!-- 5 - . . . . . . . . . . . . -->
84
+ <!-- 6 - . . . -->
85
+ <!-- 7 - . . . -->
86
+ <!-- 8 - . . . -->
87
+
88
+ <g id="puzzle" transform="translate(5,5) scale(40)">
89
+ <!-- CORNERS -->
90
+ <use id="CORNERS-l0-o0" xlink:href="#sticker" transform="translate(5.3,2.1)" style="fill: white"/>
91
+ <use id="CORNERS-l0-o1" xlink:href="#sticker" transform="translate(6.5,3.3)" style="fill: red"/>
92
+ <use id="CORNERS-l0-o2" xlink:href="#sticker" transform="translate(5.3,3.3)" style="fill: limegreen"/>
93
+
94
+ <use id="CORNERS-l1-o0" xlink:href="#sticker" transform="translate(5.3,0.1)" style="fill: white"/>
95
+ <use id="CORNERS-l1-o1" xlink:href="#sticker" transform="translate(9.7,3.3)" style="fill: #26f"/>
96
+ <use id="CORNERS-l1-o2" xlink:href="#sticker" transform="translate(8.5,3.3)" style="fill: red"/>
97
+
98
+ <use id="CORNERS-l2-o0" xlink:href="#sticker" transform="translate(3.3,0.1)" style="fill: white"/>
99
+ <use id="CORNERS-l2-o1" xlink:href="#sticker" transform="translate(0.1,3.3)" style="fill: orange"/>
100
+ <use id="CORNERS-l2-o2" xlink:href="#sticker" transform="translate(11.7,3.3)" style="fill: #26f"/>
101
+
102
+ <use id="CORNERS-l3-o0" xlink:href="#sticker" transform="translate(3.3,2.1)" style="fill: white"/>
103
+ <use id="CORNERS-l3-o1" xlink:href="#sticker" transform="translate(3.3,3.3)" style="fill: limegreen"/>
104
+ <use id="CORNERS-l3-o2" xlink:href="#sticker" transform="translate(2.1,3.3)" style="fill: orange"/>
105
+
106
+ <use id="CORNERS-l4-o0" xlink:href="#sticker" transform="translate(5.3,6.5)" style="fill: yellow"/>
107
+ <use id="CORNERS-l4-o1" xlink:href="#sticker" transform="translate(5.3,5.3)" style="fill: limegreen"/>
108
+ <use id="CORNERS-l4-o2" xlink:href="#sticker" transform="translate(6.5,5.3)" style="fill: red"/>
109
+
110
+ <use id="CORNERS-l5-o0" xlink:href="#sticker" transform="translate(3.3,6.5)" style="fill: yellow"/>
111
+ <use id="CORNERS-l5-o1" xlink:href="#sticker" transform="translate(2.1,5.3)" style="fill: orange"/>
112
+ <use id="CORNERS-l5-o2" xlink:href="#sticker" transform="translate(3.3,5.3)" style="fill: limegreen"/>
113
+
114
+ <use id="CORNERS-l6-o0" xlink:href="#sticker" transform="translate(3.3,8.5)" style="fill: yellow"/>
115
+ <use id="CORNERS-l6-o1" xlink:href="#sticker" transform="translate(11.7,5.3)" style="fill: #26f"/>
116
+ <use id="CORNERS-l6-o2" xlink:href="#sticker" transform="translate(0.1,5.3)" style="fill: orange"/>
117
+
118
+ <use id="CORNERS-l7-o0" xlink:href="#sticker" transform="translate(5.3,8.5)" style="fill: yellow"/>
119
+ <use id="CORNERS-l7-o1" xlink:href="#sticker" transform="translate(8.5,5.3)" style="fill: red"/>
120
+ <use id="CORNERS-l7-o2" xlink:href="#sticker" transform="translate(9.7,5.3)" style="fill: #26f"/>
121
+
122
+ <!-- EDGES -->
123
+ <use id="EDGES-l0-o0" xlink:href="#sticker" transform="translate(4.3,2.1)" style="fill: white"/>
124
+ <use id="EDGES-l0-o1" xlink:href="#sticker" transform="translate(4.3,3.3)" style="fill: limegreen"/>
125
+
126
+ <use id="EDGES-l1-o0" xlink:href="#sticker" transform="translate(5.3,1.1)" style="fill: white"/>
127
+ <use id="EDGES-l1-o1" xlink:href="#sticker" transform="translate(7.5,3.3)" style="fill: red"/>
128
+
129
+ <use id="EDGES-l2-o0" xlink:href="#sticker" transform="translate(4.3,0.1)" style="fill: white"/>
130
+ <use id="EDGES-l2-o1" xlink:href="#sticker" transform="translate(10.7,3.3)" style="fill: #26f"/>
131
+
132
+ <use id="EDGES-l3-o0" xlink:href="#sticker" transform="translate(3.3,1.1)" style="fill: white"/>
133
+ <use id="EDGES-l3-o1" xlink:href="#sticker" transform="translate(1.1,3.3)" style="fill: orange"/>
134
+
135
+ <use id="EDGES-l4-o0" xlink:href="#sticker" transform="translate(4.3,6.5)" style="fill: yellow"/>
136
+ <use id="EDGES-l4-o1" xlink:href="#sticker" transform="translate(4.3,5.3)" style="fill: limegreen"/>
137
+
138
+ <use id="EDGES-l5-o0" xlink:href="#sticker" transform="translate(5.3,7.5)" style="fill: yellow"/>
139
+ <use id="EDGES-l5-o1" xlink:href="#sticker" transform="translate(7.5,5.3)" style="fill: red"/>
140
+
141
+ <use id="EDGES-l6-o0" xlink:href="#sticker" transform="translate(4.3,8.5)" style="fill: yellow"/>
142
+ <use id="EDGES-l6-o1" xlink:href="#sticker" transform="translate(10.7,5.3)" style="fill: #26f"/>
143
+
144
+ <use id="EDGES-l7-o0" xlink:href="#sticker" transform="translate(3.3,7.5)" style="fill: yellow"/>
145
+ <use id="EDGES-l7-o1" xlink:href="#sticker" transform="translate(1.1,5.3)" style="fill: orange"/>
146
+
147
+ <use id="EDGES-l8-o0" xlink:href="#sticker" transform="translate(5.3,4.3)" style="fill: limegreen"/>
148
+ <use id="EDGES-l8-o1" xlink:href="#sticker" transform="translate(6.5,4.3)" style="fill: red"/>
149
+
150
+ <use id="EDGES-l9-o0" xlink:href="#sticker" transform="translate(3.3,4.3)" style="fill: limegreen"/>
151
+ <use id="EDGES-l9-o1" xlink:href="#sticker" transform="translate(2.1,4.3)" style="fill: orange"/>
152
+
153
+ <use id="EDGES-l10-o0" xlink:href="#sticker" transform="translate(9.7,4.3)" style="fill: #26f"/>
154
+ <use id="EDGES-l10-o1" xlink:href="#sticker" transform="translate(8.5,4.3)" style="fill: red"/>
155
+
156
+ <use id="EDGES-l11-o0" xlink:href="#sticker" transform="translate(11.7,4.3)" style="fill: #26f"/>
157
+ <use id="EDGES-l11-o1" xlink:href="#sticker" transform="translate(0.1,4.3)" style="fill: orange"/>
158
+
159
+ <!-- CENTERS -->
160
+ <!-- TODO: Allow the same sticker to be reused for multiple orientations -->
161
+ <use id="CENTERS-l0-o0" xlink:href="#sticker" transform="translate(4.3,1.1)" style="fill: white"/>
162
+ <use id="CENTERS-l0-o1" xlink:href="#sticker" transform="translate(4.3,1.1)" style="fill: white"/>
163
+ <use id="CENTERS-l0-o2" xlink:href="#sticker" transform="translate(4.3,1.1)" style="fill: white"/>
164
+ <use id="CENTERS-l0-o3" xlink:href="#sticker" transform="translate(4.3,1.1)" style="fill: white"/>
165
+
166
+ <use id="CENTERS-l1-o0" xlink:href="#sticker" transform="translate(1.1,4.3)" style="fill: orange"/>
167
+ <use id="CENTERS-l1-o1" xlink:href="#sticker" transform="translate(1.1,4.3)" style="fill: orange"/>
168
+ <use id="CENTERS-l1-o2" xlink:href="#sticker" transform="translate(1.1,4.3)" style="fill: orange"/>
169
+ <use id="CENTERS-l1-o3" xlink:href="#sticker" transform="translate(1.1,4.3)" style="fill: orange"/>
170
+
171
+ <use id="CENTERS-l2-o0" xlink:href="#sticker" transform="translate(4.3,4.3)" style="fill: limegreen"/>
172
+ <use id="CENTERS-l2-o1" xlink:href="#sticker" transform="translate(4.3,4.3)" style="fill: limegreen"/>
173
+ <use id="CENTERS-l2-o2" xlink:href="#sticker" transform="translate(4.3,4.3)" style="fill: limegreen"/>
174
+ <use id="CENTERS-l2-o3" xlink:href="#sticker" transform="translate(4.3,4.3)" style="fill: limegreen"/>
175
+
176
+ <use id="CENTERS-l3-o0" xlink:href="#sticker" transform="translate(7.5,4.3)" style="fill: red"/>
177
+ <use id="CENTERS-l3-o1" xlink:href="#sticker" transform="translate(7.5,4.3)" style="fill: red"/>
178
+ <use id="CENTERS-l3-o2" xlink:href="#sticker" transform="translate(7.5,4.3)" style="fill: red"/>
179
+ <use id="CENTERS-l3-o3" xlink:href="#sticker" transform="translate(7.5,4.3)" style="fill: red"/>
180
+
181
+ <use id="CENTERS-l4-o0" xlink:href="#sticker" transform="translate(10.7,4.3)" style="fill: #26f"/>
182
+ <use id="CENTERS-l4-o1" xlink:href="#sticker" transform="translate(10.7,4.3)" style="fill: #26f"/>
183
+ <use id="CENTERS-l4-o2" xlink:href="#sticker" transform="translate(10.7,4.3)" style="fill: #26f"/>
184
+ <use id="CENTERS-l4-o3" xlink:href="#sticker" transform="translate(10.7,4.3)" style="fill: #26f"/>
185
+
186
+ <use id="CENTERS-l5-o0" xlink:href="#sticker" transform="translate(4.3,7.5)" style="fill: yellow"/>
187
+ <use id="CENTERS-l5-o1" xlink:href="#sticker" transform="translate(4.3,7.5)" style="fill: yellow"/>
188
+ <use id="CENTERS-l5-o2" xlink:href="#sticker" transform="translate(4.3,7.5)" style="fill: yellow"/>
189
+ <use id="CENTERS-l5-o3" xlink:href="#sticker" transform="translate(4.3,7.5)" style="fill: yellow"/>
190
+ </g>
191
+
192
+ </svg>\`});var e2={};Ue(e2,{default:()=>G1});var G1,t2=U(()=>{G1=\`<?xml version="1.0" encoding="UTF-8"?>
193
+ <svg width="288px" height="288px" viewBox="-16 -16 288 288" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
194
+ <title>3x3x3 LL</title>
195
+ <defs>
196
+ <g id="sticker">
197
+ <rect x="-10" y="-10" width="1" height="1" stroke="black" stroke-width="0.04px" />
198
+ </g>
199
+ </defs>
200
+ <g id="3x3x3-LL" stroke="none" stroke-width="4" style="none" stroke-linejoin="round">
201
+ <rect id="CENTERS-l0-o0" stroke="#000000" style="fill: white" x="96" y="96" width="64" height="64"></rect>
202
+ <rect id="CENTERS-l0-o1" stroke="#000000" style="fill: white" x="96" y="96" width="64" height="64"></rect>
203
+ <rect id="CENTERS-l0-o2" stroke="#000000" style="fill: white" x="96" y="96" width="64" height="64"></rect>
204
+ <rect id="CENTERS-l0-o3" stroke="#000000" style="fill: white" x="96" y="96" width="64" height="64"></rect>
205
+
206
+ <rect id="CORNERS-l0-o0" stroke="#000000" style="fill: white" x="160" y="160" width="64" height="64"></rect>
207
+ <polygon id="CORNERS-l0-o1" stroke="#000000" style="fill: red" points="224 160 252 160 252 252 224 224"></polygon>
208
+ <polygon id="CORNERS-l0-o2" stroke="#000000" style="fill: limegreen" transform="translate(206, 238) scale(1, -1) rotate(-90) translate(-206, -238) " points="192 192 220 192 220 284 192 256"></polygon>
209
+ <rect id="CORNERS-l1-o0" stroke="#000000" style="fill: white" x="160" y="32" width="64" height="64"></rect>
210
+ <polygon id="CORNERS-l1-o1" stroke="#000000" style="fill: #26f" transform="translate(206, 18) rotate(-90) translate(-206, -18) " points="192 -28 220 -28 220 64 192 36"></polygon>
211
+ <polygon id="CORNERS-l1-o2" stroke="#000000" style="fill: red" transform="translate(238, 50) scale(1, -1) translate(-238, -50) " points="224 4 252 4 252 96 224 68"></polygon>
212
+ <rect id="CORNERS-l2-o0" stroke="#000000" style="fill: white" x="32" y="32" width="64" height="64"></rect>
213
+ <polygon id="CORNERS-l2-o1" stroke="#000000" style="fill: orange" transform="translate(18, 50) scale(-1, -1) translate(-18, -50) " points="4 4 32 4 32 96 4 68"></polygon>
214
+ <polygon id="CORNERS-l2-o2" stroke="#000000" style="fill: #26f" transform="translate(50, 18) scale(1, -1) rotate(90) translate(-50, -18) " points="36 -28 64 -28 64 64 36 36"></polygon>
215
+ <rect id="CORNERS-l3-o0" stroke="#000000" style="fill: white" x="32" y="160" width="64" height="64"></rect>
216
+ <polygon id="CORNERS-l3-o1" stroke="#000000" style="fill: limegreen" transform="translate(50, 238) rotate(90) translate(-50, -238) " points="36 192 64 192 64 284 36 256"></polygon>
217
+ <polygon id="CORNERS-l3-o2" stroke="#000000" style="fill: orange" transform="translate(18, 206) scale(-1, 1) translate(-18, -206) " points="4 160 32 160 32 252 4 224"></polygon>
218
+
219
+ <rect id="EDGES-l0-o0" stroke="#000000" style="fill: white" x="96" y="160" width="64" height="64"></rect>
220
+ <rect id="EDGES-l0-o1" stroke="#000000" style="fill: limegreen" transform="translate(128, 238) scale(1, -1) rotate(90) translate(-128, -238) " x="114" y="206" width="28" height="64"></rect>
221
+ <rect id="EDGES-l1-o0" stroke="#000000" style="fill: white" x="160" y="96" width="64" height="64"></rect>
222
+ <rect id="EDGES-l1-o1" stroke="#000000" style="fill: red" x="224" y="96" width="28" height="64"></rect>
223
+ <rect id="EDGES-l2-o0" stroke="#000000" style="fill: white" x="96" y="32" width="64" height="64"></rect>
224
+ <rect id="EDGES-l2-o1" stroke="#000000" style="fill: #26f" transform="translate(128, 18) scale(1, -1) rotate(90) translate(-128, -18) " x="114" y="-14" width="28" height="64"></rect>
225
+ <rect id="EDGES-l3-o0" stroke="#000000" style="fill: white" x="32" y="96" width="64" height="64"></rect>
226
+ <rect id="EDGES-l3-o1" stroke="#000000" style="fill: orange" x="4" y="96" width="28" height="64"></rect>
227
+
228
+ </g>
229
+ <g style="opacity: 0">
230
+ <!-- CORNERS -->
231
+ <use id="CORNERS-l4-o0" xlink:href="#sticker" style="fill: yellow"/>
232
+ <use id="CORNERS-l4-o1" xlink:href="#sticker" style="fill: limegreen"/>
233
+ <use id="CORNERS-l4-o2" xlink:href="#sticker" style="fill: red"/>
234
+
235
+ <use id="CORNERS-l5-o0" xlink:href="#sticker" style="fill: yellow"/>
236
+ <use id="CORNERS-l5-o1" xlink:href="#sticker" style="fill: orange"/>
237
+ <use id="CORNERS-l5-o2" xlink:href="#sticker" style="fill: limegreen"/>
238
+
239
+ <use id="CORNERS-l6-o0" xlink:href="#sticker" style="fill: yellow"/>
240
+ <use id="CORNERS-l6-o1" xlink:href="#sticker" style="fill: #26f"/>
241
+ <use id="CORNERS-l6-o2" xlink:href="#sticker" style="fill: orange"/>
242
+
243
+ <use id="CORNERS-l7-o0" xlink:href="#sticker" style="fill: yellow"/>
244
+ <use id="CORNERS-l7-o1" xlink:href="#sticker" style="fill: red"/>
245
+ <use id="CORNERS-l7-o2" xlink:href="#sticker" style="fill: #26f"/>
246
+
247
+ <!-- EDGES -->
248
+ <use id="EDGES-l4-o0" xlink:href="#sticker" style="fill: yellow"/>
249
+ <use id="EDGES-l4-o1" xlink:href="#sticker" style="fill: limegreen"/>
250
+
251
+ <use id="EDGES-l5-o0" xlink:href="#sticker" style="fill: yellow"/>
252
+ <use id="EDGES-l5-o1" xlink:href="#sticker" style="fill: red"/>
253
+
254
+ <use id="EDGES-l6-o0" xlink:href="#sticker" style="fill: yellow"/>
255
+ <use id="EDGES-l6-o1" xlink:href="#sticker" style="fill: #26f"/>
256
+
257
+ <use id="EDGES-l7-o0" xlink:href="#sticker" style="fill: yellow"/>
258
+ <use id="EDGES-l7-o1" xlink:href="#sticker" style="fill: orange"/>
259
+
260
+ <use id="EDGES-l8-o0" xlink:href="#sticker" style="fill: limegreen"/>
261
+ <use id="EDGES-l8-o1" xlink:href="#sticker" style="fill: red"/>
262
+
263
+ <use id="EDGES-l9-o0" xlink:href="#sticker" style="fill: limegreen"/>
264
+ <use id="EDGES-l9-o1" xlink:href="#sticker" style="fill: orange"/>
265
+
266
+ <use id="EDGES-l10-o0" xlink:href="#sticker" style="fill: #26f"/>
267
+ <use id="EDGES-l10-o1" xlink:href="#sticker" style="fill: red"/>
268
+
269
+ <use id="EDGES-l11-o0" xlink:href="#sticker" style="fill: #26f"/>
270
+ <use id="EDGES-l11-o1" xlink:href="#sticker" style="fill: orange"/>
271
+
272
+ <!-- CENTERS -->
273
+ <!-- TODO: Allow the same sticker to be reused for multiple orientations -->
274
+ <use id="CENTERS-l1-o0" xlink:href="#sticker" style="fill: orange"/>
275
+ <use id="CENTERS-l1-o1" xlink:href="#sticker" style="fill: orange"/>
276
+ <use id="CENTERS-l1-o2" xlink:href="#sticker" style="fill: orange"/>
277
+ <use id="CENTERS-l1-o3" xlink:href="#sticker" style="fill: orange"/>
278
+
279
+ <use id="CENTERS-l2-o0" xlink:href="#sticker" style="fill: limegreen"/>
280
+ <use id="CENTERS-l2-o1" xlink:href="#sticker" style="fill: limegreen"/>
281
+ <use id="CENTERS-l2-o2" xlink:href="#sticker" style="fill: limegreen"/>
282
+ <use id="CENTERS-l2-o3" xlink:href="#sticker" style="fill: limegreen"/>
283
+
284
+ <use id="CENTERS-l3-o0" xlink:href="#sticker" style="fill: red"/>
285
+ <use id="CENTERS-l3-o1" xlink:href="#sticker" style="fill: red"/>
286
+ <use id="CENTERS-l3-o2" xlink:href="#sticker" style="fill: red"/>
287
+ <use id="CENTERS-l3-o3" xlink:href="#sticker" style="fill: red"/>
288
+
289
+ <use id="CENTERS-l4-o0" xlink:href="#sticker" style="fill: #26f"/>
290
+ <use id="CENTERS-l4-o1" xlink:href="#sticker" style="fill: #26f"/>
291
+ <use id="CENTERS-l4-o2" xlink:href="#sticker" style="fill: #26f"/>
292
+ <use id="CENTERS-l4-o3" xlink:href="#sticker" style="fill: #26f"/>
293
+
294
+ <use id="CENTERS-l5-o0" xlink:href="#sticker" style="fill: yellow"/>
295
+ <use id="CENTERS-l5-o1" xlink:href="#sticker" style="fill: yellow"/>
296
+ <use id="CENTERS-l5-o2" xlink:href="#sticker" style="fill: yellow"/>
297
+ <use id="CENTERS-l5-o3" xlink:href="#sticker" style="fill: yellow"/>
298
+ </g>
299
+ </svg>\`});var $i,r2=U(()=>{Ve();wr();tn();$i={id:"3x3x3",fullName:"3\\xD73\\xD73 Cube",inventedBy:["Ern\\u0151 Rubik"],inventionYear:1974,kpuzzle:async()=>Mi,svg:async()=>(await Promise.resolve().then(()=>($0(),J0))).default,llSVG:async()=>(await Promise.resolve().then(()=>(t2(),e2))).default,pg:async()=>gt("3x3x3"),appearance:t=>Dt($i,t),stickerings:en}});var n2={};Ue(n2,{clockKPuzzleDefinition:()=>T1});var T1,o2=U(()=>{T1={name:"Clock",orbits:{DIALS:{numPieces:18,numOrientations:12},FACES:{numPieces:18,numOrientations:1},FRAME:{numPieces:1,numOrientations:2}},startStateData:{DIALS:{pieces:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},FACES:{pieces:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},FRAME:{pieces:[0],orientation:[0]}},moves:{UR_PLUS_:{DIALS:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[0,1,1,0,1,1,0,0,0,-1,0,0,0,0,0,0,0,0]},FACES:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},FRAME:{permutation:[0],orientation:[0]}},DR_PLUS_:{DIALS:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[0,0,0,0,1,1,0,1,1,0,0,0,0,0,0,-1,0,0]},FACES:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},FRAME:{permutation:[0],orientation:[0]}},DL_PLUS_:{DIALS:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[0,0,0,1,1,0,1,1,0,0,0,0,0,0,0,0,0,-1]},FACES:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},FRAME:{permutation:[0],orientation:[0]}},UL_PLUS_:{DIALS:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[1,1,0,1,1,0,0,0,0,0,0,-1,0,0,0,0,0,0]},FACES:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},FRAME:{permutation:[0],orientation:[0]}},U_PLUS_:{DIALS:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[1,1,1,1,1,1,0,0,0,-1,0,-1,0,0,0,0,0,0]},FACES:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},FRAME:{permutation:[0],orientation:[0]}},R_PLUS_:{DIALS:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[0,1,1,0,1,1,0,1,1,-1,0,0,0,0,0,-1,0,0]},FACES:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},FRAME:{permutation:[0],orientation:[0]}},D_PLUS_:{DIALS:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,-1,0,-1]},FACES:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},FRAME:{permutation:[0],orientation:[0]}},L_PLUS_:{DIALS:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[1,1,0,1,1,0,1,1,0,0,0,-1,0,0,0,0,0,-1]},FACES:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},FRAME:{permutation:[0],orientation:[0]}},ALL_PLUS_:{DIALS:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[1,1,1,1,1,1,1,1,1,-1,0,-1,0,0,0,-1,0,-1]},FACES:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},FRAME:{permutation:[0],orientation:[0]}},y2:{DIALS:{permutation:[9,10,11,12,13,14,15,16,17,0,1,2,3,4,5,6,7,8],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},FACES:{permutation:[9,10,11,12,13,14,15,16,17,0,1,2,3,4,5,6,7,8],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},FRAME:{permutation:[0],orientation:[1]}},UL:{DIALS:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},FACES:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},FRAME:{permutation:[0],orientation:[0]}},UR:{DIALS:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},FACES:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},FRAME:{permutation:[0],orientation:[0]}},DL:{DIALS:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},FACES:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},FRAME:{permutation:[0],orientation:[0]}},DR:{DIALS:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},FACES:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},FRAME:{permutation:[0],orientation:[0]}}}}});var l2={};Ue(l2,{default:()=>I1});var I1,i2=U(()=>{I1=\`<?xml version="1.0" encoding="UTF-8"?>
300
+ <svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 480 240" preserveAspectRatio="xMidYMid meet">
301
+ <title>clock</title>
302
+ <defs>
303
+ <g id="hand" transform="translate(-20, -20)">
304
+ <path d="M19.9995197,2.22079449 L23.8791657,19.0203611 C23.9580836,19.3338406 24,19.6620253 24,20 C24,22.209139 22.209139,24 20,24 C17.790861,24 16,22.209139 16,20 C16,19.6620253 16.0419164,19.3338406 16.1208343,19.0203611 L19.9995197,2.22079449 Z"></path>
305
+ </g>
306
+ <g id="cardinal_hours" style="fill: #FFFFFF">
307
+ <circle cx="0" cy="24" r="2"></circle>
308
+ <circle cx="-24" cy="0" r="2"></circle>
309
+ <circle cx="24" cy="0" r="2"></circle>
310
+ <circle cx="0" cy="-24" r="2"></circle>
311
+ </g>
312
+ <g id="face_hours">
313
+ <g>
314
+ <use xlink:href="#cardinal_hours"/>
315
+ </g>
316
+ <g transform="rotate(30)">
317
+ <use xlink:href="#cardinal_hours"/>
318
+ </g>
319
+ <g transform="rotate(60)">
320
+ <use xlink:href="#cardinal_hours"/>
321
+ </g>
322
+ </g>
323
+ <g id="pegs" stroke="#000000" style="fill: #FFD000">
324
+ <circle id="PEG4" cx="90" cy="90" r="10"></circle>
325
+ <circle id="PEG3" cx="30" cy="90" r="10"></circle>
326
+ <circle id="PEG2" cx="90" cy="30" r="10"></circle>
327
+ <circle id="PEG1" cx="30" cy="30" r="10"></circle>
328
+ </g>
329
+ <g id="frame" transform="translate(-24, -24)">
330
+ <path stroke="#000000" d="M120,20 C137.495665,20 153.941932,24.4930026 168.247913,32.3881183 C171.855881,30.8514056 175.828512,30 180,30 C196.568542,30 210,43.4314575 210,60 C210,64.1714878 209.148594,68.1441192 207.610077,71.7536009 C215.506997,86.0580678 220,102.504335 220,120 C220,137.495665 215.506997,153.941932 207.611882,168.247913 C209.148594,171.855881 210,175.828512 210,180 C210,196.568542 196.568542,210 180,210 C175.828512,210 171.855881,209.148594 168.246399,207.610077 C153.941932,215.506997 137.495665,220 120,220 C102.504335,220 86.0580678,215.506997 71.7520869,207.611882 C68.1441192,209.148594 64.1714878,210 60,210 C43.4314575,210 30,196.568542 30,180 C30,175.828512 30.8514056,171.855881 32.3899234,168.246399 C24.4930026,153.941932 20,137.495665 20,120 C20,102.504335 24.4930026,86.0580678 32.3881183,71.7520869 C30.8514056,68.1441192 30,64.1714878 30,60 C30,43.4314575 43.4314575,30 60,30 C64.1714878,30 68.1441192,30.8514056 71.7536009,32.3899234 C86.0580678,24.4930026 102.504335,20 120,20 Z"></path>
331
+ </g>
332
+ </defs>
333
+ <g>
334
+ <g transform="translate(24, 24)">
335
+ <use xlink:href="#frame" id="FRAME-l0-o0" style="fill: #0C5093"/>
336
+ <use xlink:href="#pegs" transform="translate(36, 36)"/>
337
+ <g transform="translate(36, 36)">
338
+ <circle id="FACES-l0-o0" stroke="#000000" style="fill: #90B8DF" r="20"></circle>
339
+ <use xlink:href="#face_hours"/>
340
+ <g>
341
+ <use id="DIALS-l0-o0" xlink:href="#hand" transform="rotate(0)" style="fill: #FFD000"/>
342
+ <use id="DIALS-l0-o1" xlink:href="#hand" transform="rotate(30)" style="fill: #0000"/>
343
+ <use id="DIALS-l0-o2" xlink:href="#hand" transform="rotate(60)" style="fill: #0000"/>
344
+ <use id="DIALS-l0-o3" xlink:href="#hand" transform="rotate(90)" style="fill: #0000"/>
345
+ <use id="DIALS-l0-o4" xlink:href="#hand" transform="rotate(120)" style="fill: #0000"/>
346
+ <use id="DIALS-l0-o5" xlink:href="#hand" transform="rotate(150)" style="fill: #0000"/>
347
+ <use id="DIALS-l0-o6" xlink:href="#hand" transform="rotate(180)" style="fill: #0000"/>
348
+ <use id="DIALS-l0-o7" xlink:href="#hand" transform="rotate(210)" style="fill: #0000"/>
349
+ <use id="DIALS-l0-o8" xlink:href="#hand" transform="rotate(240)" style="fill: #0000"/>
350
+ <use id="DIALS-l0-o9" xlink:href="#hand" transform="rotate(270)" style="fill: #0000"/>
351
+ <use id="DIALS-l0-o10" xlink:href="#hand" transform="rotate(300)" style="fill: #0000"/>
352
+ <use id="DIALS-l0-o11" xlink:href="#hand" transform="rotate(330)" style="fill: #0000"/>
353
+ </g>
354
+ </g>
355
+ <g transform="translate(96, 36)">
356
+ <circle id="FACES-l1-o0" stroke="#000000" style="fill: #90B8DF" r="20"></circle>
357
+ <use xlink:href="#face_hours"/>
358
+ <g>
359
+ <use id="DIALS-l1-o0" xlink:href="#hand" transform="rotate(0)" style="fill: #FFD000"/>
360
+ <use id="DIALS-l1-o1" xlink:href="#hand" transform="rotate(30)" style="fill: #0000"/>
361
+ <use id="DIALS-l1-o2" xlink:href="#hand" transform="rotate(60)" style="fill: #0000"/>
362
+ <use id="DIALS-l1-o3" xlink:href="#hand" transform="rotate(90)" style="fill: #0000"/>
363
+ <use id="DIALS-l1-o4" xlink:href="#hand" transform="rotate(120)" style="fill: #0000"/>
364
+ <use id="DIALS-l1-o5" xlink:href="#hand" transform="rotate(150)" style="fill: #0000"/>
365
+ <use id="DIALS-l1-o6" xlink:href="#hand" transform="rotate(180)" style="fill: #0000"/>
366
+ <use id="DIALS-l1-o7" xlink:href="#hand" transform="rotate(210)" style="fill: #0000"/>
367
+ <use id="DIALS-l1-o8" xlink:href="#hand" transform="rotate(240)" style="fill: #0000"/>
368
+ <use id="DIALS-l1-o9" xlink:href="#hand" transform="rotate(270)" style="fill: #0000"/>
369
+ <use id="DIALS-l1-o10" xlink:href="#hand" transform="rotate(300)" style="fill: #0000"/>
370
+ <use id="DIALS-l1-o11" xlink:href="#hand" transform="rotate(330)" style="fill: #0000"/>
371
+ </g>
372
+ </g>
373
+ <g transform="translate(156, 36)">
374
+ <circle id="FACES-l2-o0" stroke="#000000" style="fill: #90B8DF" r="20"></circle>
375
+ <use xlink:href="#face_hours"/>
376
+ <g>
377
+ <use id="DIALS-l2-o0" xlink:href="#hand" transform="rotate(0)" style="fill: #FFD000"/>
378
+ <use id="DIALS-l2-o1" xlink:href="#hand" transform="rotate(30)" style="fill: #0000"/>
379
+ <use id="DIALS-l2-o2" xlink:href="#hand" transform="rotate(60)" style="fill: #0000"/>
380
+ <use id="DIALS-l2-o3" xlink:href="#hand" transform="rotate(90)" style="fill: #0000"/>
381
+ <use id="DIALS-l2-o4" xlink:href="#hand" transform="rotate(120)" style="fill: #0000"/>
382
+ <use id="DIALS-l2-o5" xlink:href="#hand" transform="rotate(150)" style="fill: #0000"/>
383
+ <use id="DIALS-l2-o6" xlink:href="#hand" transform="rotate(180)" style="fill: #0000"/>
384
+ <use id="DIALS-l2-o7" xlink:href="#hand" transform="rotate(210)" style="fill: #0000"/>
385
+ <use id="DIALS-l2-o8" xlink:href="#hand" transform="rotate(240)" style="fill: #0000"/>
386
+ <use id="DIALS-l2-o9" xlink:href="#hand" transform="rotate(270)" style="fill: #0000"/>
387
+ <use id="DIALS-l2-o10" xlink:href="#hand" transform="rotate(300)" style="fill: #0000"/>
388
+ <use id="DIALS-l2-o11" xlink:href="#hand" transform="rotate(330)" style="fill: #0000"/>
389
+ </g>
390
+ </g>
391
+ <g transform="translate(36, 96)">
392
+ <circle id="FACES-l3-o0" stroke="#000000" style="fill: #90B8DF" r="20"></circle>
393
+ <use xlink:href="#face_hours"/>
394
+ <g>
395
+ <use id="DIALS-l3-o0" xlink:href="#hand" transform="rotate(0)" style="fill: #FFD000"/>
396
+ <use id="DIALS-l3-o1" xlink:href="#hand" transform="rotate(30)" style="fill: #0000"/>
397
+ <use id="DIALS-l3-o2" xlink:href="#hand" transform="rotate(60)" style="fill: #0000"/>
398
+ <use id="DIALS-l3-o3" xlink:href="#hand" transform="rotate(90)" style="fill: #0000"/>
399
+ <use id="DIALS-l3-o4" xlink:href="#hand" transform="rotate(120)" style="fill: #0000"/>
400
+ <use id="DIALS-l3-o5" xlink:href="#hand" transform="rotate(150)" style="fill: #0000"/>
401
+ <use id="DIALS-l3-o6" xlink:href="#hand" transform="rotate(180)" style="fill: #0000"/>
402
+ <use id="DIALS-l3-o7" xlink:href="#hand" transform="rotate(210)" style="fill: #0000"/>
403
+ <use id="DIALS-l3-o8" xlink:href="#hand" transform="rotate(240)" style="fill: #0000"/>
404
+ <use id="DIALS-l3-o9" xlink:href="#hand" transform="rotate(270)" style="fill: #0000"/>
405
+ <use id="DIALS-l3-o10" xlink:href="#hand" transform="rotate(300)" style="fill: #0000"/>
406
+ <use id="DIALS-l3-o11" xlink:href="#hand" transform="rotate(330)" style="fill: #0000"/>
407
+ </g>
408
+ </g>
409
+ <g transform="translate(96, 96)">
410
+ <circle id="FACES-l4-o0" stroke="#000000" style="fill: #90B8DF" r="20"></circle>
411
+ <use xlink:href="#face_hours"/>
412
+ <g>
413
+ <use id="DIALS-l4-o0" xlink:href="#hand" transform="rotate(0)" style="fill: #FFD000"/>
414
+ <use id="DIALS-l4-o1" xlink:href="#hand" transform="rotate(30)" style="fill: #0000"/>
415
+ <use id="DIALS-l4-o2" xlink:href="#hand" transform="rotate(60)" style="fill: #0000"/>
416
+ <use id="DIALS-l4-o3" xlink:href="#hand" transform="rotate(90)" style="fill: #0000"/>
417
+ <use id="DIALS-l4-o4" xlink:href="#hand" transform="rotate(120)" style="fill: #0000"/>
418
+ <use id="DIALS-l4-o5" xlink:href="#hand" transform="rotate(150)" style="fill: #0000"/>
419
+ <use id="DIALS-l4-o6" xlink:href="#hand" transform="rotate(180)" style="fill: #0000"/>
420
+ <use id="DIALS-l4-o7" xlink:href="#hand" transform="rotate(210)" style="fill: #0000"/>
421
+ <use id="DIALS-l4-o8" xlink:href="#hand" transform="rotate(240)" style="fill: #0000"/>
422
+ <use id="DIALS-l4-o9" xlink:href="#hand" transform="rotate(270)" style="fill: #0000"/>
423
+ <use id="DIALS-l4-o10" xlink:href="#hand" transform="rotate(300)" style="fill: #0000"/>
424
+ <use id="DIALS-l4-o11" xlink:href="#hand" transform="rotate(330)" style="fill: #0000"/>
425
+ </g>
426
+ </g>
427
+ <g transform="translate(156, 96)">
428
+ <circle id="FACES-l5-o0" stroke="#000000" style="fill: #90B8DF" r="20"></circle>
429
+ <use xlink:href="#face_hours"/>
430
+ <g>
431
+ <use id="DIALS-l5-o0" xlink:href="#hand" transform="rotate(0)" style="fill: #FFD000"/>
432
+ <use id="DIALS-l5-o1" xlink:href="#hand" transform="rotate(30)" style="fill: #0000"/>
433
+ <use id="DIALS-l5-o2" xlink:href="#hand" transform="rotate(60)" style="fill: #0000"/>
434
+ <use id="DIALS-l5-o3" xlink:href="#hand" transform="rotate(90)" style="fill: #0000"/>
435
+ <use id="DIALS-l5-o4" xlink:href="#hand" transform="rotate(120)" style="fill: #0000"/>
436
+ <use id="DIALS-l5-o5" xlink:href="#hand" transform="rotate(150)" style="fill: #0000"/>
437
+ <use id="DIALS-l5-o6" xlink:href="#hand" transform="rotate(180)" style="fill: #0000"/>
438
+ <use id="DIALS-l5-o7" xlink:href="#hand" transform="rotate(210)" style="fill: #0000"/>
439
+ <use id="DIALS-l5-o8" xlink:href="#hand" transform="rotate(240)" style="fill: #0000"/>
440
+ <use id="DIALS-l5-o9" xlink:href="#hand" transform="rotate(270)" style="fill: #0000"/>
441
+ <use id="DIALS-l5-o10" xlink:href="#hand" transform="rotate(300)" style="fill: #0000"/>
442
+ <use id="DIALS-l5-o11" xlink:href="#hand" transform="rotate(330)" style="fill: #0000"/>
443
+ </g>
444
+ </g>
445
+ <g transform="translate(36, 156)">
446
+ <circle id="FACES-l6-o0" stroke="#000000" style="fill: #90B8DF" r="20"></circle>
447
+ <use xlink:href="#face_hours"/>
448
+ <g>
449
+ <use id="DIALS-l6-o0" xlink:href="#hand" transform="rotate(0)" style="fill: #FFD000"/>
450
+ <use id="DIALS-l6-o1" xlink:href="#hand" transform="rotate(30)" style="fill: #0000"/>
451
+ <use id="DIALS-l6-o2" xlink:href="#hand" transform="rotate(60)" style="fill: #0000"/>
452
+ <use id="DIALS-l6-o3" xlink:href="#hand" transform="rotate(90)" style="fill: #0000"/>
453
+ <use id="DIALS-l6-o4" xlink:href="#hand" transform="rotate(120)" style="fill: #0000"/>
454
+ <use id="DIALS-l6-o5" xlink:href="#hand" transform="rotate(150)" style="fill: #0000"/>
455
+ <use id="DIALS-l6-o6" xlink:href="#hand" transform="rotate(180)" style="fill: #0000"/>
456
+ <use id="DIALS-l6-o7" xlink:href="#hand" transform="rotate(210)" style="fill: #0000"/>
457
+ <use id="DIALS-l6-o8" xlink:href="#hand" transform="rotate(240)" style="fill: #0000"/>
458
+ <use id="DIALS-l6-o9" xlink:href="#hand" transform="rotate(270)" style="fill: #0000"/>
459
+ <use id="DIALS-l6-o10" xlink:href="#hand" transform="rotate(300)" style="fill: #0000"/>
460
+ <use id="DIALS-l6-o11" xlink:href="#hand" transform="rotate(330)" style="fill: #0000"/>
461
+ </g>
462
+ </g>
463
+ <g transform="translate(96, 156)">
464
+ <circle id="FACES-l7-o0" stroke="#000000" style="fill: #90B8DF" r="20"></circle>
465
+ <use xlink:href="#face_hours"/>
466
+ <g>
467
+ <use id="DIALS-l7-o0" xlink:href="#hand" transform="rotate(0)" style="fill: #FFD000"/>
468
+ <use id="DIALS-l7-o1" xlink:href="#hand" transform="rotate(30)" style="fill: #0000"/>
469
+ <use id="DIALS-l7-o2" xlink:href="#hand" transform="rotate(60)" style="fill: #0000"/>
470
+ <use id="DIALS-l7-o3" xlink:href="#hand" transform="rotate(90)" style="fill: #0000"/>
471
+ <use id="DIALS-l7-o4" xlink:href="#hand" transform="rotate(120)" style="fill: #0000"/>
472
+ <use id="DIALS-l7-o5" xlink:href="#hand" transform="rotate(150)" style="fill: #0000"/>
473
+ <use id="DIALS-l7-o6" xlink:href="#hand" transform="rotate(180)" style="fill: #0000"/>
474
+ <use id="DIALS-l7-o7" xlink:href="#hand" transform="rotate(210)" style="fill: #0000"/>
475
+ <use id="DIALS-l7-o8" xlink:href="#hand" transform="rotate(240)" style="fill: #0000"/>
476
+ <use id="DIALS-l7-o9" xlink:href="#hand" transform="rotate(270)" style="fill: #0000"/>
477
+ <use id="DIALS-l7-o10" xlink:href="#hand" transform="rotate(300)" style="fill: #0000"/>
478
+ <use id="DIALS-l7-o11" xlink:href="#hand" transform="rotate(330)" style="fill: #0000"/>
479
+ </g>
480
+ </g>
481
+ <g transform="translate(156, 156)">
482
+ <circle id="FACES-l8-o0" stroke="#000000" style="fill: #90B8DF" r="20"></circle>
483
+ <use xlink:href="#face_hours"/>
484
+ <g>
485
+ <use id="DIALS-l8-o0" xlink:href="#hand" transform="rotate(0)" style="fill: #FFD000"/>
486
+ <use id="DIALS-l8-o1" xlink:href="#hand" transform="rotate(30)" style="fill: #0000"/>
487
+ <use id="DIALS-l8-o2" xlink:href="#hand" transform="rotate(60)" style="fill: #0000"/>
488
+ <use id="DIALS-l8-o3" xlink:href="#hand" transform="rotate(90)" style="fill: #0000"/>
489
+ <use id="DIALS-l8-o4" xlink:href="#hand" transform="rotate(120)" style="fill: #0000"/>
490
+ <use id="DIALS-l8-o5" xlink:href="#hand" transform="rotate(150)" style="fill: #0000"/>
491
+ <use id="DIALS-l8-o6" xlink:href="#hand" transform="rotate(180)" style="fill: #0000"/>
492
+ <use id="DIALS-l8-o7" xlink:href="#hand" transform="rotate(210)" style="fill: #0000"/>
493
+ <use id="DIALS-l8-o8" xlink:href="#hand" transform="rotate(240)" style="fill: #0000"/>
494
+ <use id="DIALS-l8-o9" xlink:href="#hand" transform="rotate(270)" style="fill: #0000"/>
495
+ <use id="DIALS-l8-o10" xlink:href="#hand" transform="rotate(300)" style="fill: #0000"/>
496
+ <use id="DIALS-l8-o11" xlink:href="#hand" transform="rotate(330)" style="fill: #0000"/>
497
+ </g>
498
+ </g>
499
+ </g>
500
+ <g transform="translate(264, 24)">
501
+ <use xlink:href="#frame" id="FRAME-l0-o1" style="fill: #90B8DF"/>
502
+ <use xlink:href="#pegs" transform="translate(36, 36)"/>
503
+ <g transform="translate(36, 36)">
504
+ <circle id="FACES-l9-o0" stroke="#000000" style="fill: #0C5093" r="20"></circle>
505
+ <use xlink:href="#face_hours"/>
506
+ <g>
507
+ <use id="DIALS-l9-o0" xlink:href="#hand" transform="rotate(0)" style="fill: #FFD000"/>
508
+ <use id="DIALS-l9-o1" xlink:href="#hand" transform="rotate(30)" style="fill: #0000"/>
509
+ <use id="DIALS-l9-o2" xlink:href="#hand" transform="rotate(60)" style="fill: #0000"/>
510
+ <use id="DIALS-l9-o3" xlink:href="#hand" transform="rotate(90)" style="fill: #0000"/>
511
+ <use id="DIALS-l9-o4" xlink:href="#hand" transform="rotate(120)" style="fill: #0000"/>
512
+ <use id="DIALS-l9-o5" xlink:href="#hand" transform="rotate(150)" style="fill: #0000"/>
513
+ <use id="DIALS-l9-o6" xlink:href="#hand" transform="rotate(180)" style="fill: #0000"/>
514
+ <use id="DIALS-l9-o7" xlink:href="#hand" transform="rotate(210)" style="fill: #0000"/>
515
+ <use id="DIALS-l9-o8" xlink:href="#hand" transform="rotate(240)" style="fill: #0000"/>
516
+ <use id="DIALS-l9-o9" xlink:href="#hand" transform="rotate(270)" style="fill: #0000"/>
517
+ <use id="DIALS-l9-o10" xlink:href="#hand" transform="rotate(300)" style="fill: #0000"/>
518
+ <use id="DIALS-l9-o11" xlink:href="#hand" transform="rotate(330)" style="fill: #0000"/>
519
+ </g>
520
+ </g>
521
+ <g transform="translate(96, 36)">
522
+ <circle id="FACES-l10-o0" stroke="#000000" style="fill: #0C5093" r="20"></circle>
523
+ <use xlink:href="#face_hours"/>
524
+ <g>
525
+ <use id="DIALS-l10-o0" xlink:href="#hand" transform="rotate(0)" style="fill: #FFD000"/>
526
+ <use id="DIALS-l10-o1" xlink:href="#hand" transform="rotate(30)" style="fill: #0000"/>
527
+ <use id="DIALS-l10-o2" xlink:href="#hand" transform="rotate(60)" style="fill: #0000"/>
528
+ <use id="DIALS-l10-o3" xlink:href="#hand" transform="rotate(90)" style="fill: #0000"/>
529
+ <use id="DIALS-l10-o4" xlink:href="#hand" transform="rotate(120)" style="fill: #0000"/>
530
+ <use id="DIALS-l10-o5" xlink:href="#hand" transform="rotate(150)" style="fill: #0000"/>
531
+ <use id="DIALS-l10-o6" xlink:href="#hand" transform="rotate(180)" style="fill: #0000"/>
532
+ <use id="DIALS-l10-o7" xlink:href="#hand" transform="rotate(210)" style="fill: #0000"/>
533
+ <use id="DIALS-l10-o8" xlink:href="#hand" transform="rotate(240)" style="fill: #0000"/>
534
+ <use id="DIALS-l10-o9" xlink:href="#hand" transform="rotate(270)" style="fill: #0000"/>
535
+ <use id="DIALS-l10-o10" xlink:href="#hand" transform="rotate(300)" style="fill: #0000"/>
536
+ <use id="DIALS-l10-o11" xlink:href="#hand" transform="rotate(330)" style="fill: #0000"/>
537
+ </g>
538
+ </g>
539
+ <g transform="translate(156, 36)">
540
+ <circle id="FACES-l11-o0" stroke="#000000" style="fill: #0C5093" r="20"></circle>
541
+ <use xlink:href="#face_hours"/>
542
+ <g>
543
+ <use id="DIALS-l11-o0" xlink:href="#hand" transform="rotate(0)" style="fill: #FFD000"/>
544
+ <use id="DIALS-l11-o1" xlink:href="#hand" transform="rotate(30)" style="fill: #0000"/>
545
+ <use id="DIALS-l11-o2" xlink:href="#hand" transform="rotate(60)" style="fill: #0000"/>
546
+ <use id="DIALS-l11-o3" xlink:href="#hand" transform="rotate(90)" style="fill: #0000"/>
547
+ <use id="DIALS-l11-o4" xlink:href="#hand" transform="rotate(120)" style="fill: #0000"/>
548
+ <use id="DIALS-l11-o5" xlink:href="#hand" transform="rotate(150)" style="fill: #0000"/>
549
+ <use id="DIALS-l11-o6" xlink:href="#hand" transform="rotate(180)" style="fill: #0000"/>
550
+ <use id="DIALS-l11-o7" xlink:href="#hand" transform="rotate(210)" style="fill: #0000"/>
551
+ <use id="DIALS-l11-o8" xlink:href="#hand" transform="rotate(240)" style="fill: #0000"/>
552
+ <use id="DIALS-l11-o9" xlink:href="#hand" transform="rotate(270)" style="fill: #0000"/>
553
+ <use id="DIALS-l11-o10" xlink:href="#hand" transform="rotate(300)" style="fill: #0000"/>
554
+ <use id="DIALS-l11-o11" xlink:href="#hand" transform="rotate(330)" style="fill: #0000"/>
555
+ </g>
556
+ </g>
557
+ <g transform="translate(36, 96)">
558
+ <circle id="FACES-l12-o0" stroke="#000000" style="fill: #0C5093" r="20"></circle>
559
+ <use xlink:href="#face_hours"/>
560
+ <g>
561
+ <use id="DIALS-l12-o0" xlink:href="#hand" transform="rotate(0)" style="fill: #FFD000"/>
562
+ <use id="DIALS-l12-o1" xlink:href="#hand" transform="rotate(30)" style="fill: #0000"/>
563
+ <use id="DIALS-l12-o2" xlink:href="#hand" transform="rotate(60)" style="fill: #0000"/>
564
+ <use id="DIALS-l12-o3" xlink:href="#hand" transform="rotate(90)" style="fill: #0000"/>
565
+ <use id="DIALS-l12-o4" xlink:href="#hand" transform="rotate(120)" style="fill: #0000"/>
566
+ <use id="DIALS-l12-o5" xlink:href="#hand" transform="rotate(150)" style="fill: #0000"/>
567
+ <use id="DIALS-l12-o6" xlink:href="#hand" transform="rotate(180)" style="fill: #0000"/>
568
+ <use id="DIALS-l12-o7" xlink:href="#hand" transform="rotate(210)" style="fill: #0000"/>
569
+ <use id="DIALS-l12-o8" xlink:href="#hand" transform="rotate(240)" style="fill: #0000"/>
570
+ <use id="DIALS-l12-o9" xlink:href="#hand" transform="rotate(270)" style="fill: #0000"/>
571
+ <use id="DIALS-l12-o10" xlink:href="#hand" transform="rotate(300)" style="fill: #0000"/>
572
+ <use id="DIALS-l12-o11" xlink:href="#hand" transform="rotate(330)" style="fill: #0000"/>
573
+ </g>
574
+ </g>
575
+ <g transform="translate(96, 96)">
576
+ <circle id="FACES-l13-o0" stroke="#000000" style="fill: #0C5093" r="20"></circle>
577
+ <use xlink:href="#face_hours"/>
578
+ <g>
579
+ <use id="DIALS-l13-o0" xlink:href="#hand" transform="rotate(0)" style="fill: #FFD000"/>
580
+ <use id="DIALS-l13-o1" xlink:href="#hand" transform="rotate(30)" style="fill: #0000"/>
581
+ <use id="DIALS-l13-o2" xlink:href="#hand" transform="rotate(60)" style="fill: #0000"/>
582
+ <use id="DIALS-l13-o3" xlink:href="#hand" transform="rotate(90)" style="fill: #0000"/>
583
+ <use id="DIALS-l13-o4" xlink:href="#hand" transform="rotate(120)" style="fill: #0000"/>
584
+ <use id="DIALS-l13-o5" xlink:href="#hand" transform="rotate(150)" style="fill: #0000"/>
585
+ <use id="DIALS-l13-o6" xlink:href="#hand" transform="rotate(180)" style="fill: #0000"/>
586
+ <use id="DIALS-l13-o7" xlink:href="#hand" transform="rotate(210)" style="fill: #0000"/>
587
+ <use id="DIALS-l13-o8" xlink:href="#hand" transform="rotate(240)" style="fill: #0000"/>
588
+ <use id="DIALS-l13-o9" xlink:href="#hand" transform="rotate(270)" style="fill: #0000"/>
589
+ <use id="DIALS-l13-o10" xlink:href="#hand" transform="rotate(300)" style="fill: #0000"/>
590
+ <use id="DIALS-l13-o11" xlink:href="#hand" transform="rotate(330)" style="fill: #0000"/>
591
+ </g>
592
+ </g>
593
+ <g transform="translate(156, 96)">
594
+ <circle id="FACES-l14-o0" stroke="#000000" style="fill: #0C5093" r="20"></circle>
595
+ <use xlink:href="#face_hours"/>
596
+ <g>
597
+ <use id="DIALS-l14-o0" xlink:href="#hand" transform="rotate(0)" style="fill: #FFD000"/>
598
+ <use id="DIALS-l14-o1" xlink:href="#hand" transform="rotate(30)" style="fill: #0000"/>
599
+ <use id="DIALS-l14-o2" xlink:href="#hand" transform="rotate(60)" style="fill: #0000"/>
600
+ <use id="DIALS-l14-o3" xlink:href="#hand" transform="rotate(90)" style="fill: #0000"/>
601
+ <use id="DIALS-l14-o4" xlink:href="#hand" transform="rotate(120)" style="fill: #0000"/>
602
+ <use id="DIALS-l14-o5" xlink:href="#hand" transform="rotate(150)" style="fill: #0000"/>
603
+ <use id="DIALS-l14-o6" xlink:href="#hand" transform="rotate(180)" style="fill: #0000"/>
604
+ <use id="DIALS-l14-o7" xlink:href="#hand" transform="rotate(210)" style="fill: #0000"/>
605
+ <use id="DIALS-l14-o8" xlink:href="#hand" transform="rotate(240)" style="fill: #0000"/>
606
+ <use id="DIALS-l14-o9" xlink:href="#hand" transform="rotate(270)" style="fill: #0000"/>
607
+ <use id="DIALS-l14-o10" xlink:href="#hand" transform="rotate(300)" style="fill: #0000"/>
608
+ <use id="DIALS-l14-o11" xlink:href="#hand" transform="rotate(330)" style="fill: #0000"/>
609
+ </g>
610
+ </g>
611
+ <g transform="translate(36, 156)">
612
+ <circle id="FACES-l15-o0" stroke="#000000" style="fill: #0C5093" r="20"></circle>
613
+ <use xlink:href="#face_hours"/>
614
+ <g>
615
+ <use id="DIALS-l15-o0" xlink:href="#hand" transform="rotate(0)" style="fill: #FFD000"/>
616
+ <use id="DIALS-l15-o1" xlink:href="#hand" transform="rotate(30)" style="fill: #0000"/>
617
+ <use id="DIALS-l15-o2" xlink:href="#hand" transform="rotate(60)" style="fill: #0000"/>
618
+ <use id="DIALS-l15-o3" xlink:href="#hand" transform="rotate(90)" style="fill: #0000"/>
619
+ <use id="DIALS-l15-o4" xlink:href="#hand" transform="rotate(120)" style="fill: #0000"/>
620
+ <use id="DIALS-l15-o5" xlink:href="#hand" transform="rotate(150)" style="fill: #0000"/>
621
+ <use id="DIALS-l15-o6" xlink:href="#hand" transform="rotate(180)" style="fill: #0000"/>
622
+ <use id="DIALS-l15-o7" xlink:href="#hand" transform="rotate(210)" style="fill: #0000"/>
623
+ <use id="DIALS-l15-o8" xlink:href="#hand" transform="rotate(240)" style="fill: #0000"/>
624
+ <use id="DIALS-l15-o9" xlink:href="#hand" transform="rotate(270)" style="fill: #0000"/>
625
+ <use id="DIALS-l15-o10" xlink:href="#hand" transform="rotate(300)" style="fill: #0000"/>
626
+ <use id="DIALS-l15-o11" xlink:href="#hand" transform="rotate(330)" style="fill: #0000"/>
627
+ </g>
628
+ </g>
629
+ <g transform="translate(96, 156)">
630
+ <circle id="FACES-l16-o0" stroke="#000000" style="fill: #0C5093" r="20"></circle>
631
+ <use xlink:href="#face_hours"/>
632
+ <g>
633
+ <use id="DIALS-l16-o0" xlink:href="#hand" transform="rotate(0)" style="fill: #FFD000"/>
634
+ <use id="DIALS-l16-o1" xlink:href="#hand" transform="rotate(30)" style="fill: #0000"/>
635
+ <use id="DIALS-l16-o2" xlink:href="#hand" transform="rotate(60)" style="fill: #0000"/>
636
+ <use id="DIALS-l16-o3" xlink:href="#hand" transform="rotate(90)" style="fill: #0000"/>
637
+ <use id="DIALS-l16-o4" xlink:href="#hand" transform="rotate(120)" style="fill: #0000"/>
638
+ <use id="DIALS-l16-o5" xlink:href="#hand" transform="rotate(150)" style="fill: #0000"/>
639
+ <use id="DIALS-l16-o6" xlink:href="#hand" transform="rotate(180)" style="fill: #0000"/>
640
+ <use id="DIALS-l16-o7" xlink:href="#hand" transform="rotate(210)" style="fill: #0000"/>
641
+ <use id="DIALS-l16-o8" xlink:href="#hand" transform="rotate(240)" style="fill: #0000"/>
642
+ <use id="DIALS-l16-o9" xlink:href="#hand" transform="rotate(270)" style="fill: #0000"/>
643
+ <use id="DIALS-l16-o10" xlink:href="#hand" transform="rotate(300)" style="fill: #0000"/>
644
+ <use id="DIALS-l16-o11" xlink:href="#hand" transform="rotate(330)" style="fill: #0000"/>
645
+ </g>
646
+ </g>
647
+ <g transform="translate(156, 156)">
648
+ <circle id="FACES-l17-o0" stroke="#000000" style="fill: #0C5093" r="20"></circle>
649
+ <use xlink:href="#face_hours"/>
650
+ <g>
651
+ <use id="DIALS-l17-o0" xlink:href="#hand" transform="rotate(0)" style="fill: #FFD000"/>
652
+ <use id="DIALS-l17-o1" xlink:href="#hand" transform="rotate(30)" style="fill: #0000"/>
653
+ <use id="DIALS-l17-o2" xlink:href="#hand" transform="rotate(60)" style="fill: #0000"/>
654
+ <use id="DIALS-l17-o3" xlink:href="#hand" transform="rotate(90)" style="fill: #0000"/>
655
+ <use id="DIALS-l17-o4" xlink:href="#hand" transform="rotate(120)" style="fill: #0000"/>
656
+ <use id="DIALS-l17-o5" xlink:href="#hand" transform="rotate(150)" style="fill: #0000"/>
657
+ <use id="DIALS-l17-o6" xlink:href="#hand" transform="rotate(180)" style="fill: #0000"/>
658
+ <use id="DIALS-l17-o7" xlink:href="#hand" transform="rotate(210)" style="fill: #0000"/>
659
+ <use id="DIALS-l17-o8" xlink:href="#hand" transform="rotate(240)" style="fill: #0000"/>
660
+ <use id="DIALS-l17-o9" xlink:href="#hand" transform="rotate(270)" style="fill: #0000"/>
661
+ <use id="DIALS-l17-o10" xlink:href="#hand" transform="rotate(300)" style="fill: #0000"/>
662
+ <use id="DIALS-l17-o11" xlink:href="#hand" transform="rotate(330)" style="fill: #0000"/>
663
+ </g>
664
+ </g>
665
+ </g>
666
+ </g>
667
+ </svg>\`});var s2,a2=U(()=>{Ve();Jn();s2={id:"clock",fullName:"Clock",inventedBy:["Christopher C. Wiggs","Christopher J. Taylor"],inventionYear:1988,kpuzzle:er(async()=>new Ie((await Promise.resolve().then(()=>(o2(),n2))).clockKPuzzleDefinition)),svg:async()=>(await Promise.resolve().then(()=>(i2(),l2))).default}});async function u2(t,e){let r=await t.kpuzzle(),n=new Yn(r),o=new Zn(r),l=()=>o.and([o.move("U"),o.not(o.or(o.moves(["F","BL","BR"])))]),i=()=>o.and([o.move("U"),o.not(o.move("F"))]),s=()=>o.or([i(),o.and([o.move("F"),o.not(o.or(o.moves(["U","BL","BR"])))])]),u=()=>o.not(o.or([o.and([o.move("U"),o.move("F")]),o.and([o.move("F"),o.move("BL")]),o.and([o.move("F"),o.move("BR")]),o.and([o.move("BL"),o.move("BR")])])),a=()=>o.not(o.or([o.and([o.move("F"),o.move("BL")]),o.and([o.move("F"),o.move("BR")]),o.and([o.move("BL"),o.move("BR")])]));switch(e){case"full":break;case"experimental-fto-fc":n.set(o.not(l()),S.Ignored);break;case"experimental-fto-f2t":n.set(o.not(i()),S.Ignored),n.set(l(),S.Dim);break;case"experimental-fto-sc":n.set(o.not(s()),S.Ignored),n.set(i(),S.Dim);break;case"experimental-fto-l2c":n.set(o.not(u()),S.Ignored),n.set(s(),S.Dim);break;case"experimental-fto-lbt":n.set(o.not(a()),S.Ignored),n.set(u(),S.Dim);break;case"experimental-fto-l3t":n.set(a(),S.Dim);break;default:console.warn(\`Unsupported stickering for \${t.id}: \${e}. Setting all pieces to dim.\`),n.set(o.and(o.moves([])),S.Dim)}return n.toAppearance()}async function f2(){return["full","experimental-fto-fc","experimental-fto-f2t","experimental-fto-sc","experimental-fto-l2c","experimental-fto-lbt","experimental-fto-l3t"]}var g2=U(()=>{Xn()});var es,L2=U(()=>{wr();g2();es={id:"fto",fullName:"Face-Turning Octahedron",inventedBy:["Karl Rohrbach","David Pitcher"],inventionYear:1983,kpuzzle:io("FTO"),svg:async()=>(await gt("FTO")).generatesvg(),pg:async()=>gt("FTO"),appearance:t=>u2(es,t),stickerings:f2}});async function B2(t,e){switch(e){case"full":case"F2L":case"LL":return Dt(t,e);default:console.warn(\`Unsupported stickering for \${t.id}: \${e}. Setting all pieces to dim.\`)}return Dt(t,"full")}async function m2(){return["full","F2L","LL"]}var c2=U(()=>{tn()});var ao,p2=U(()=>{wr();c2();ao=xr("megaminx","Megaminx",{inventionYear:1981});ao.appearance=t=>B2(ao,t);ao.stickerings=m2});var R2={};Ue(R2,{default:()=>N1});var N1,D2=U(()=>{N1=\`<?xml version="1.0" encoding="UTF-8"?>
668
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN"
669
+ "http://www.w3.org/TR/2001/REC-SVG-20050904/DTD/svg11.dtd">
670
+ <svg xmlns="http://www.w3.org/2000/svg" version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="-20 -20 546 480" preserveAspectRatio="xMidYMid meet">
671
+ <defs>
672
+ </defs>
673
+ <title>pyraminx</title>
674
+ <defs>
675
+ <g id="stickerA" transform="scale(1, 0.577350269)">
676
+ <path
677
+ d="m 0,1.732050808 1,-1.732050808 1,1.732050808 z"
678
+ stroke="black" stroke-width="0.04px" stroke-linecap="butt" stroke-linejoin="round"
679
+ />
680
+ </g>
681
+ <g id="stickerV" transform="scale(1, 0.577350269)">
682
+ <path
683
+ d="m 0,0 1,1.732050808 1,-1.732050808 z"
684
+ stroke="black" stroke-width="0.04px" stroke-linecap="butt" stroke-linejoin="round"
685
+ />
686
+ </g>
687
+ </defs>
688
+
689
+ <!-- 0 1 2 3 4 5 6 7 8 9 10 -->
690
+ <!-- | | | | | | | | | | | -->
691
+ <!-- 0 - L L L L L F R R R R R -->
692
+ <!-- 1 - L L L F F F R R R -->
693
+ <!-- 2 - L F F F F F R -->
694
+ <!-- 3 - D D D D D -->
695
+ <!-- 4 - D D D -->
696
+ <!-- 5 - D -->
697
+
698
+ <g id="puzzle" transform="translate(5, 5) scale(40, 69.28203232)">
699
+ <!-- CORNERS -->
700
+ <use id="CORNERS-l0-o0" xlink:href="#stickerV" transform="translate(5.2, 1.066666667)" style="fill: limegreen"/>
701
+ <use id="CORNERS-l0-o1" xlink:href="#stickerA" transform="translate(3, 0)" style="fill: red"/>
702
+ <use id="CORNERS-l0-o2" xlink:href="#stickerA" transform="translate(7.4, 0)" style="fill: blue"/>
703
+
704
+ <use id="CORNERS-l3-o0" xlink:href="#stickerV" transform="translate(4.2, 2.066666667)" style="fill: limegreen"/>
705
+ <use id="CORNERS-l3-o1" xlink:href="#stickerA" transform="translate(4.2, 3.2)" style="fill: yellow"/>
706
+ <use id="CORNERS-l3-o2" xlink:href="#stickerA" transform="translate(2, 1)" style="fill: red"/>
707
+
708
+ <use id="CORNERS-l2-o0" xlink:href="#stickerV" transform="translate(6.2, 2.066666667)" style="fill: limegreen"/>
709
+ <use id="CORNERS-l2-o1" xlink:href="#stickerA" transform="translate(8.4, 1)" style="fill: blue"/>
710
+ <use id="CORNERS-l2-o2" xlink:href="#stickerA" transform="translate(6.2, 3.2)" style="fill: yellow"/>
711
+
712
+ <use id="CORNERS-l1-o1" xlink:href="#stickerA" transform="translate(9.4, 0)" style="fill: blue"/>
713
+ <use id="CORNERS-l1-o2" xlink:href="#stickerA" transform="translate(1, 0)" style="fill: red"/>
714
+ <use id="CORNERS-l1-o0" xlink:href="#stickerA" transform="translate(5.2, 4.2)" style="fill: yellow"/>
715
+
716
+ <!-- "TIPS" -->
717
+ <!-- CORNERS2 -->
718
+ <use id="CORNERS2-l0-o0" xlink:href="#stickerA" transform="translate(5.2, 0.066666667)" style="fill: limegreen"/>
719
+ <use id="CORNERS2-l0-o1" xlink:href="#stickerV" transform="translate(4, 0)" style="fill: red"/>
720
+ <use id="CORNERS2-l0-o2" xlink:href="#stickerV" transform="translate(6.4, 0)" style="fill: blue"/>
721
+
722
+ <use id="CORNERS2-l3-o0" xlink:href="#stickerA" transform="translate(3.2, 2.066666667)" style="fill: limegreen"/>
723
+ <use id="CORNERS2-l3-o1" xlink:href="#stickerV" transform="translate(3.2, 3.2)" style="fill: yellow"/>
724
+ <use id="CORNERS2-l3-o2" xlink:href="#stickerV" transform="translate(2, 2)" style="fill: red"/>
725
+
726
+ <use id="CORNERS2-l2-o1" xlink:href="#stickerV" transform="translate(8.4, 2)" style="fill: blue"/>
727
+ <use id="CORNERS2-l2-o2" xlink:href="#stickerV" transform="translate(7.2, 3.2)" style="fill: yellow"/>
728
+ <use id="CORNERS2-l2-o0" xlink:href="#stickerA" transform="translate(7.2, 2.066666667)" style="fill: limegreen"/>
729
+
730
+ <use id="CORNERS2-l1-o1" xlink:href="#stickerV" transform="translate(10.4,0)" style="fill: blue"/>
731
+ <use id="CORNERS2-l1-o2" xlink:href="#stickerV" transform="translate(0, 0)" style="fill: red"/>
732
+ <use id="CORNERS2-l1-o0" xlink:href="#stickerV" transform="translate(5.2, 5.2)" style="fill: yellow"/>
733
+
734
+ <!-- EDGES -->
735
+ <use id="EDGES-l0-o0" xlink:href="#stickerA" transform="translate(4.2, 1.066666667)" style="fill: limegreen"/>
736
+ <use id="EDGES-l0-o1" xlink:href="#stickerV" transform="translate(3, 1)" style="fill: red"/>
737
+
738
+ <use id="EDGES-l5-o0" xlink:href="#stickerA" transform="translate(6.2, 1.066666667)" style="fill: limegreen"/>
739
+ <use id="EDGES-l5-o1" xlink:href="#stickerV" transform="translate(7.4, 1)" style="fill: blue"/>
740
+
741
+ <use id="EDGES-l1-o1" xlink:href="#stickerV" transform="translate(8.4, 0)" style="fill: blue"/>
742
+ <use id="EDGES-l1-o0" xlink:href="#stickerV" transform="translate(2, 0)" style="fill: red"/>
743
+
744
+ <use id="EDGES-l2-o1" xlink:href="#stickerV" transform="translate(5.2, 3.2)" style="fill: yellow"/>
745
+ <use id="EDGES-l2-o0" xlink:href="#stickerA" transform="translate(5.2, 2.066666667)" style="fill: limegreen"/>
746
+
747
+ <use id="EDGES-l3-o0" xlink:href="#stickerV" transform="translate(6.2, 4.2)" style="fill: yellow"/>
748
+ <use id="EDGES-l3-o1" xlink:href="#stickerV" transform="translate(9.4, 1)" style="fill: blue"/>
749
+
750
+ <use id="EDGES-l4-o0" xlink:href="#stickerV" transform="translate(4.2, 4.2)" style="fill: yellow"/>
751
+ <use id="EDGES-l4-o1" xlink:href="#stickerV" transform="translate(1, 1)" style="fill: red"/>
752
+ </g>
753
+
754
+ </svg>\`});var d2,F2=U(()=>{wr();d2={id:"pyraminx",fullName:"Pyraminx",inventedBy:["Uwe Meffert"],inventionYear:1970,kpuzzle:io("pyraminx"),svg:async()=>(await Promise.resolve().then(()=>(D2(),R2))).default,pg:async()=>gt("pyraminx")}});var A2={};Ue(A2,{sq1HyperOrbitKPuzzleDefinition:()=>O1});var O1,h2=U(()=>{O1={name:"Square-1",orbits:{WEDGES:{numPieces:24,numOrientations:9},EQUATOR:{numPieces:2,numOrientations:6}},startStateData:{WEDGES:{pieces:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},EQUATOR:{pieces:[0,1],orientation:[0,0]}},moves:{U_SQ_:{WEDGES:{permutation:[11,0,1,2,3,4,5,6,7,8,9,10,12,13,14,15,16,17,18,19,20,21,22,23],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},EQUATOR:{permutation:[0,1],orientation:[0,0]}},D_SQ_:{WEDGES:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,23,12,13,14,15,16,17,18,19,20,21,22],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},EQUATOR:{permutation:[0,1],orientation:[0,0]}},_SLASH_:{WEDGES:{permutation:[0,1,2,3,4,5,12,13,14,15,16,17,6,7,8,9,10,11,18,19,20,21,22,23],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},EQUATOR:{permutation:[0,1],orientation:[0,3]}}}}});var y2={};Ue(y2,{default:()=>_1});var _1,U2=U(()=>{_1=\`<?xml version="1.0" encoding="UTF-8"?>
755
+ <svg width="360px" height="552px" viewBox="0 0 360 552" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
756
+ <!-- Generator: Sketch 59.1 (86144) - https://sketch.com -->
757
+ <title>sq1-fancy</title>
758
+ <desc>Created with Sketch.</desc>
759
+ <!-- stroke="none" -->
760
+ <g id="sq1-fancy" stroke="#888" stroke-width="0.25" fill="none" fill-rule="evenodd">
761
+ <g id="EQUATOR" transform="translate(24.000000, 264.000000)">
762
+ <rect id="EQUATOR-l1-o3" style="fill: red" x="168" y="0" width="24" height="24"></rect>
763
+ <rect id="EQUATOR-l1-o4" style="fill: red" x="192" y="0" width="24" height="24"></rect>
764
+ <rect id="EQUATOR-l1-o5" style="fill: limegreen" x="216" y="0" width="24" height="24"></rect>
765
+ <rect id="EQUATOR-l1-o2" style="fill: limegreen" x="240" y="0" width="24" height="24"></rect>
766
+ <rect id="EQUATOR-l1-o1" style="fill: limegreen" x="264" y="0" width="24" height="24"></rect>
767
+ <rect id="EQUATOR-l1-o0" style="fill: orange" x="288" y="0" width="24" height="24"></rect>
768
+ <rect id="EQUATOR-l0-o3" style="fill: orange" x="0" y="0" width="24" height="24"></rect>
769
+ <rect id="EQUATOR-l0-o4" style="fill: orange" x="24" y="0" width="24" height="24"></rect>
770
+ <rect id="EQUATOR-l0-o5" style="fill: limegreen" x="48" y="0" width="24" height="24"></rect>
771
+ <rect id="EQUATOR-l0-o2" style="fill: limegreen" x="72" y="0" width="24" height="24"></rect>
772
+ <rect id="EQUATOR-l0-o1" style="fill: limegreen" x="96" y="0" width="24" height="24"></rect>
773
+ <rect id="EQUATOR-l0-o0" style="fill: red" x="120" y="0" width="24" height="24"></rect>
774
+ </g>
775
+ <g id="BOTTOM" transform="translate(41.000000, 257.000000)" stroke-linejoin="round">
776
+ <g id="WEDGES-23" transform="translate(130.000000, 88.588457) rotate(120.000000) translate(-130.000000, -88.588457) translate(82.000000, 22.588457)">
777
+ <polygon id="WEDGES-l23-o8" style="fill: #D8D8D8" points="25.723 70.277 40.574 95.999 -2.27373675e-13 96"></polygon>
778
+ <polygon id="WEDGES-l23-o7" style="fill: red" points="70.2768775 96 60.8615612 131.138439 40.5741225 95.9988775"></polygon>
779
+ <polygon id="WEDGES-l23-o6" style="fill: red" points="70.2768775 96 40.574 95.999 25.7231225 70.2768775"></polygon>
780
+ <polygon id="WEDGES-l23-o5" style="fill: red" points="48.0001225 47.9995 68.287 47.9995 78.4307806 65.5692194"></polygon>
781
+ <polygon id="WEDGES-l23-o4" style="fill: red" points="60.8615 35.1385 68.287 47.9995 48 48"></polygon>
782
+ <polygon id="WEDGES-l23-o3" style="fill: white" points="83.1384388 48 78.4307806 65.5692194 68.2870612 47.9994388"></polygon>
783
+ <polygon id="WEDGES-l23-o2" style="fill: white" points="83.1384388 48 68.287 47.9995 60.8615612 35.1384388"></polygon>
784
+ <polygon id="WEDGES-l23-o1" style="fill: white" points="96 0 83.1384388 48 60.8615612 35.1384388"></polygon>
785
+ <polygon id="WEDGES-l23-o0" style="fill: red" points="70.2768775 96 25.7231225 70.2768775 48.0001225 47.9995 78.4307806 65.5692194"></polygon>
786
+ </g>
787
+ <g id="WEDGES-22" transform="translate(97.157677, 115.157677) rotate(90.000000) translate(-97.157677, -115.157677) translate(49.157677, 49.157677)">
788
+ <polygon id="WEDGES-l22-o8" style="fill: blue" points="25.723 70.277 40.574 95.999 -2.27373675e-13 96"></polygon>
789
+ <polygon id="WEDGES-l22-o7" style="fill: #D8D8D8" points="70.2768775 96 60.8615612 131.138439 40.5741225 95.9988775"></polygon>
790
+ <polygon id="WEDGES-l22-o6" style="fill: blue" points="70.2768775 96 40.574 95.999 25.7231225 70.2768775"></polygon>
791
+ <polygon id="WEDGES-l22-o5" style="fill: blue" points="48.0001225 47.9995 68.287 47.9995 78.4307806 65.5692194"></polygon>
792
+ <polygon id="WEDGES-l22-o4" style="fill: white" points="60.8615 35.1385 68.287 47.9995 48 48"></polygon>
793
+ <polygon id="WEDGES-l22-o3" style="fill: blue" points="83.1384388 48 78.4307806 65.5692194 68.2870612 47.9994388"></polygon>
794
+ <polygon id="WEDGES-l22-o2" style="fill: white" points="83.1384388 48 68.287 47.9995 60.8615612 35.1384388"></polygon>
795
+ <polygon id="WEDGES-l22-o1" style="fill: white" points="96 0 83.1384388 48 60.8615612 35.1384388"></polygon>
796
+ <polygon id="WEDGES-l22-o0" style="fill: blue" points="70.2768775 96 25.7231225 70.2768775 48.0001225 47.9995 78.4307806 65.5692194"></polygon>
797
+ </g>
798
+ <g id="WEDGES-21" transform="translate(82.000000, 154.588457) rotate(60.000000) translate(-82.000000, -154.588457) translate(34.000000, 88.588457)">
799
+ <polygon id="WEDGES-l21-o8" style="fill: #D8D8D8" points="25.723 70.277 40.574 95.999 -2.27373675e-13 96"></polygon>
800
+ <polygon id="WEDGES-l21-o7" style="fill: #D8D8D8" points="70.2768775 96 60.8615612 131.138439 40.5741225 95.9988775"></polygon>
801
+ <polygon id="WEDGES-l21-o6" style="fill: #D8D8D8" points="70.2768775 96 40.574 95.999 25.7231225 70.2768775"></polygon>
802
+ <polygon id="WEDGES-l21-o5" style="fill: blue" points="48.0001225 47.9995 68.287 47.9995 78.4307806 65.5692194"></polygon>
803
+ <polygon id="WEDGES-l21-o4" style="fill: blue" points="60.8615 35.1385 68.287 47.9995 48 48"></polygon>
804
+ <polygon id="WEDGES-l21-o3" style="fill: blue" points="83.1384388 48 78.4307806 65.5692194 68.2870612 47.9994388"></polygon>
805
+ <polygon id="WEDGES-l21-o2" style="fill: blue" points="83.1384388 48 68.287 47.9995 60.8615612 35.1384388"></polygon>
806
+ <polygon id="WEDGES-l21-o1" style="fill: white" points="96 0 83.1384388 48 60.8615612 35.1384388"></polygon>
807
+ <polygon id="WEDGES-l21-o0" style="fill: blue" points="70.2768775 96 25.7231225 70.2768775 48.0001225 47.9995 78.4307806 65.5692194"></polygon>
808
+ </g>
809
+ <g id="WEDGES-20" transform="translate(88.588457, 196.315353) rotate(30.000000) translate(-88.588457, -196.315353) translate(40.588457, 130.315353)">
810
+ <polygon id="WEDGES-l20-o8" style="fill: #D8D8D8" points="25.723 70.277 40.574 95.999 -2.27373675e-13 96"></polygon>
811
+ <polygon id="WEDGES-l20-o7" style="fill: blue" points="70.2768775 96 60.8615612 131.138439 40.5741225 95.9988775"></polygon>
812
+ <polygon id="WEDGES-l20-o6" style="fill: blue" points="70.2768775 96 40.574 95.999 25.7231225 70.2768775"></polygon>
813
+ <polygon id="WEDGES-l20-o5" style="fill: blue" points="48.0001225 47.9995 68.287 47.9995 78.4307806 65.5692194"></polygon>
814
+ <polygon id="WEDGES-l20-o4" style="fill: blue" points="60.8615 35.1385 68.287 47.9995 48 48"></polygon>
815
+ <polygon id="WEDGES-l20-o3" style="fill: white" points="83.1384388 48 78.4307806 65.5692194 68.2870612 47.9994388"></polygon>
816
+ <polygon id="WEDGES-l20-o2" style="fill: white" points="83.1384388 48 68.287 47.9995 60.8615612 35.1384388"></polygon>
817
+ <polygon id="WEDGES-l20-o1" style="fill: white" points="96 0 83.1384388 48 60.8615612 35.1384388"></polygon>
818
+ <polygon id="WEDGES-l20-o0" style="fill: blue" points="70.2768775 96 25.7231225 70.2768775 48.0001225 47.9995 78.4307806 65.5692194"></polygon>
819
+ </g>
820
+ <g id="WEDGES-19" transform="translate(67.157677, 163.157677)">
821
+ <polygon id="WEDGES-l19-o8" style="fill: orange" points="25.723 70.277 40.574 95.999 -2.27373675e-13 96"></polygon>
822
+ <polygon id="WEDGES-l19-o7" style="fill: #D8D8D8" points="70.2768775 96 60.8615612 131.138439 40.5741225 95.9988775"></polygon>
823
+ <polygon id="WEDGES-l19-o6" style="fill: orange" points="70.2768775 96 40.574 95.999 25.7231225 70.2768775"></polygon>
824
+ <polygon id="WEDGES-l19-o5" style="fill: orange" points="48.0001225 47.9995 68.287 47.9995 78.4307806 65.5692194"></polygon>
825
+ <polygon id="WEDGES-l19-o4" style="fill: white" points="60.8615 35.1385 68.287 47.9995 48 48"></polygon>
826
+ <polygon id="WEDGES-l19-o3" style="fill: orange" points="83.1384388 48 78.4307806 65.5692194 68.2870612 47.9994388"></polygon>
827
+ <polygon id="WEDGES-l19-o2" style="fill: white" points="83.1384388 48 68.287 47.9995 60.8615612 35.1384388"></polygon>
828
+ <polygon id="WEDGES-l19-o1" style="fill: white" points="96 0 83.1384388 48 60.8615612 35.1384388"></polygon>
829
+ <polygon id="WEDGES-l19-o0" style="fill: orange" points="70.2768775 96 25.7231225 70.2768775 48.0001225 47.9995 78.4307806 65.5692194"></polygon>
830
+ </g>
831
+ <g id="WEDGES-18" transform="translate(154.588457, 244.315353) scale(-1, -1) rotate(150.000000) translate(-154.588457, -244.315353) translate(106.588457, 178.315353)">
832
+ <polygon id="WEDGES-l18-o8" style="fill: #D8D8D8" points="25.723 70.277 40.574 95.999 -2.27373675e-13 96"></polygon>
833
+ <polygon id="WEDGES-l18-o7" style="fill: #D8D8D8" points="70.2768775 96 60.8615612 131.138439 40.5741225 95.9988775"></polygon>
834
+ <polygon id="WEDGES-l18-o6" style="fill: #D8D8D8" points="70.2768775 96 40.574 95.999 25.7231225 70.2768775"></polygon>
835
+ <polygon id="WEDGES-l18-o5" style="fill: orange" points="48.0001225 47.9995 68.287 47.9995 78.4307806 65.5692194"></polygon>
836
+ <polygon id="WEDGES-l18-o4" style="fill: orange" points="60.8615 35.1385 68.287 47.9995 48 48"></polygon>
837
+ <polygon id="WEDGES-l18-o3" style="fill: orange" points="83.1384388 48 78.4307806 65.5692194 68.2870612 47.9994388"></polygon>
838
+ <polygon id="WEDGES-l18-o2" style="fill: orange" points="83.1384388 48 68.287 47.9995 60.8615612 35.1384388"></polygon>
839
+ <polygon id="WEDGES-l18-o1" style="fill: white" points="96 0 83.1384388 48 60.8615612 35.1384388"></polygon>
840
+ <polygon id="WEDGES-l18-o0" style="fill: orange" points="70.2768775 96 25.7231225 70.2768775 48.0001225 47.9995 78.4307806 65.5692194"></polygon>
841
+ </g>
842
+ <g id="WEDGES-17" transform="translate(196.315353, 237.726896) scale(-1, -1) rotate(120.000000) translate(-196.315353, -237.726896) translate(148.315353, 171.726896)">
843
+ <polygon id="WEDGES-l17-o8" style="fill: #D8D8D8" points="25.723 70.277 40.574 95.999 -2.27373675e-13 96"></polygon>
844
+ <polygon id="WEDGES-l17-o7" style="fill: orange" points="70.2768775 96 60.8615612 131.138439 40.5741225 95.9988775"></polygon>
845
+ <polygon id="WEDGES-l17-o6" style="fill: orange" points="70.2768775 96 40.574 95.999 25.7231225 70.2768775"></polygon>
846
+ <polygon id="WEDGES-l17-o5" style="fill: orange" points="48.0001225 47.9995 68.287 47.9995 78.4307806 65.5692194"></polygon>
847
+ <polygon id="WEDGES-l17-o4" style="fill: orange" points="60.8615 35.1385 68.287 47.9995 48 48"></polygon>
848
+ <polygon id="WEDGES-l17-o3" style="fill: white" points="83.1384388 48 78.4307806 65.5692194 68.2870612 47.9994388"></polygon>
849
+ <polygon id="WEDGES-l17-o2" style="fill: white" points="83.1384388 48 68.287 47.9995 60.8615612 35.1384388"></polygon>
850
+ <polygon id="WEDGES-l17-o1" style="fill: white" points="96 0 83.1384388 48 60.8615612 35.1384388"></polygon>
851
+ <polygon id="WEDGES-l17-o0" style="fill: orange" points="70.2768775 96 25.7231225 70.2768775 48.0001225 47.9995 78.4307806 65.5692194"></polygon>
852
+ </g>
853
+ <g id="WEDGES-16" transform="translate(229.157677, 211.157677) scale(-1, -1) rotate(90.000000) translate(-229.157677, -211.157677) translate(181.157677, 145.157677)">
854
+ <polygon id="WEDGES-l16-o8" style="fill: limegreen" points="25.723 70.277 40.574 95.999 -2.27373675e-13 96"></polygon>
855
+ <polygon id="WEDGES-l16-o7" style="fill: #D8D8D8" points="70.2768775 96 60.8615612 131.138439 40.5741225 95.9988775"></polygon>
856
+ <polygon id="WEDGES-l16-o6" style="fill: limegreen" points="70.2768775 96 40.574 95.999 25.7231225 70.2768775"></polygon>
857
+ <polygon id="WEDGES-l16-o5" style="fill: limegreen" points="48.0001225 47.9995 68.287 47.9995 78.4307806 65.5692194"></polygon>
858
+ <polygon id="WEDGES-l16-o4" style="fill: white" points="60.8615 35.1385 68.287 47.9995 48 48"></polygon>
859
+ <polygon id="WEDGES-l16-o3" style="fill: limegreen" points="83.1384388 48 78.4307806 65.5692194 68.2870612 47.9994388"></polygon>
860
+ <polygon id="WEDGES-l16-o2" style="fill: white" points="83.1384388 48 68.287 47.9995 60.8615612 35.1384388"></polygon>
861
+ <polygon id="WEDGES-l16-o1" style="fill: white" points="96 0 83.1384388 48 60.8615612 35.1384388"></polygon>
862
+ <polygon id="WEDGES-l16-o0" style="fill: limegreen" points="70.2768775 96 25.7231225 70.2768775 48.0001225 47.9995 78.4307806 65.5692194"></polygon>
863
+ </g>
864
+ <g id="WEDGES-15" transform="translate(244.315353, 171.726896) scale(-1, -1) rotate(60.000000) translate(-244.315353, -171.726896) translate(196.315353, 105.726896)">
865
+ <polygon id="WEDGES-l15-o8" style="fill: #D8D8D8" points="25.723 70.277 40.574 95.999 -2.27373675e-13 96"></polygon>
866
+ <polygon id="WEDGES-l15-o7" style="fill: #D8D8D8" points="70.2768775 96 60.8615612 131.138439 40.5741225 95.9988775"></polygon>
867
+ <polygon id="WEDGES-l15-o6" style="fill: #D8D8D8" points="70.2768775 96 40.574 95.999 25.7231225 70.2768775"></polygon>
868
+ <polygon id="WEDGES-l15-o5" style="fill: limegreen" points="48.0001225 47.9995 68.287 47.9995 78.4307806 65.5692194"></polygon>
869
+ <polygon id="WEDGES-l15-o4" style="fill: limegreen" points="60.8615 35.1385 68.287 47.9995 48 48"></polygon>
870
+ <polygon id="WEDGES-l15-o3" style="fill: limegreen" points="83.1384388 48 78.4307806 65.5692194 68.2870612 47.9994388"></polygon>
871
+ <polygon id="WEDGES-l15-o2" style="fill: limegreen" points="83.1384388 48 68.287 47.9995 60.8615612 35.1384388"></polygon>
872
+ <polygon id="WEDGES-l15-o1" style="fill: white" points="96 0 83.1384388 48 60.8615612 35.1384388"></polygon>
873
+ <polygon id="WEDGES-l15-o0" style="fill: limegreen" points="70.2768775 96 25.7231225 70.2768775 48.0001225 47.9995 78.4307806 65.5692194"></polygon>
874
+ </g>
875
+ <g id="WEDGES-14" transform="translate(237.726896, 130.000000) scale(-1, -1) rotate(30.000000) translate(-237.726896, -130.000000) translate(189.726896, 64.000000)">
876
+ <polygon id="WEDGES-l14-o8" style="fill: #D8D8D8" points="25.723 70.277 40.574 95.999 -2.27373675e-13 96"></polygon>
877
+ <polygon id="WEDGES-l14-o7" style="fill: limegreen" points="70.2768775 96 60.8615612 131.138439 40.5741225 95.9988775"></polygon>
878
+ <polygon id="WEDGES-l14-o6" style="fill: limegreen" points="70.2768775 96 40.574 95.999 25.7231225 70.2768775"></polygon>
879
+ <polygon id="WEDGES-l14-o5" style="fill: limegreen" points="48.0001225 47.9995 68.287 47.9995 78.4307806 65.5692194"></polygon>
880
+ <polygon id="WEDGES-l14-o4" style="fill: limegreen" points="60.8615 35.1385 68.287 47.9995 48 48"></polygon>
881
+ <polygon id="WEDGES-l14-o3" style="fill: white" points="83.1384388 48 78.4307806 65.5692194 68.2870612 47.9994388"></polygon>
882
+ <polygon id="WEDGES-l14-o2" style="fill: white" points="83.1384388 48 68.287 47.9995 60.8615612 35.1384388"></polygon>
883
+ <polygon id="WEDGES-l14-o1" style="fill: white" points="96 0 83.1384388 48 60.8615612 35.1384388"></polygon>
884
+ <polygon id="WEDGES-l14-o0" style="fill: limegreen" points="70.2768775 96 25.7231225 70.2768775 48.0001225 47.9995 78.4307806 65.5692194"></polygon>
885
+ </g>
886
+ <g id="WEDGES-13" transform="translate(211.157677, 97.157677) scale(-1, -1) translate(-211.157677, -97.157677) translate(163.157677, 31.157677)">
887
+ <polygon id="WEDGES-l13-o8" style="fill: red" points="25.723 70.277 40.574 95.999 -2.27373675e-13 96"></polygon>
888
+ <polygon id="WEDGES-l13-o7" style="fill: #D8D8D8" points="70.2768775 96 60.8615612 131.138439 40.5741225 95.9988775"></polygon>
889
+ <polygon id="WEDGES-l13-o6" style="fill: red" points="70.2768775 96 40.574 95.999 25.7231225 70.2768775"></polygon>
890
+ <polygon id="WEDGES-l13-o5" style="fill: red" points="48.0001225 47.9995 68.287 47.9995 78.4307806 65.5692194"></polygon>
891
+ <polygon id="WEDGES-l13-o4" style="fill: white" points="60.8615 35.1385 68.287 47.9995 48 48"></polygon>
892
+ <polygon id="WEDGES-l13-o3" style="fill: red" points="83.1384388 48 78.4307806 65.5692194 68.2870612 47.9994388"></polygon>
893
+ <polygon id="WEDGES-l13-o2" style="fill: white" points="83.1384388 48 68.287 47.9995 60.8615612 35.1384388"></polygon>
894
+ <polygon id="WEDGES-l13-o1" style="fill: white" points="96 0 83.1384388 48 60.8615612 35.1384388"></polygon>
895
+ <polygon id="WEDGES-l13-o0" style="fill: red" points="70.2768775 96 25.7231225 70.2768775 48.0001225 47.9995 78.4307806 65.5692194"></polygon>
896
+ </g>
897
+ <g id="WEDGES-12" transform="translate(171.726896, 82.000000) rotate(150.000000) translate(-171.726896, -82.000000) translate(123.726896, 16.000000)">
898
+ <polygon id="WEDGES-l12-o8" style="fill: #D8D8D8" points="25.723 70.277 40.574 95.999 -2.27373675e-13 96"></polygon>
899
+ <polygon id="WEDGES-l12-o7" style="fill: #D8D8D8" points="70.2768775 96 60.8615612 131.138439 40.5741225 95.9988775"></polygon>
900
+ <polygon id="WEDGES-l12-o6" style="fill: #D8D8D8" points="70.2768775 96 40.574 95.999 25.7231225 70.2768775"></polygon>
901
+ <polygon id="WEDGES-l12-o5" style="fill: red" points="48.0001225 47.9995 68.287 47.9995 78.4307806 65.5692194"></polygon>
902
+ <polygon id="WEDGES-l12-o4" style="fill: red" points="60.8615 35.1385 68.287 47.9995 48 48"></polygon>
903
+ <polygon id="WEDGES-l12-o3" style="fill: red" points="83.1384388 48 78.4307806 65.5692194 68.2870612 47.9994388"></polygon>
904
+ <polygon id="WEDGES-l12-o2" style="fill: red" points="83.1384388 48 68.287 47.9995 60.8615612 35.1384388"></polygon>
905
+ <polygon id="WEDGES-l12-o1" style="fill: white" points="96 0 83.1384388 48 60.8615612 35.1384388"></polygon>
906
+ <polygon id="WEDGES-l12-o0" style="fill: red" points="70.2768775 96 25.7231225 70.2768775 48.0001225 47.9995 78.4307806 65.5692194"></polygon>
907
+ </g>
908
+ </g>
909
+ <g id="TOP" transform="translate(41.000000, -31.000000)" stroke-linejoin="round">
910
+ <g id="WEDGES-11" transform="translate(154.588457, 244.315353) scale(-1, -1) rotate(150.000000) translate(-154.588457, -244.315353) translate(106.588457, 178.315353)">
911
+ <polygon id="WEDGES-l11-o8" style="fill: #D8D8D8" points="25.723 70.277 40.574 95.999 -2.27373675e-13 96"></polygon>
912
+ <polygon id="WEDGES-l11-o7" style="fill: #D8D8D8" points="70.2768775 96 60.8615612 131.138439 40.5741225 95.9988775"></polygon>
913
+ <polygon id="WEDGES-l11-o6" style="fill: #D8D8D8" points="70.2768775 96 40.574 95.999 25.7231225 70.2768775"></polygon>
914
+ <polygon id="WEDGES-l11-o5" style="fill: red" points="48.0001225 47.9995 68.287 47.9995 78.4307806 65.5692194"></polygon>
915
+ <polygon id="WEDGES-l11-o4" style="fill: red" points="60.8615 35.1385 68.287 47.9995 48 48"></polygon>
916
+ <polygon id="WEDGES-l11-o3" style="fill: red" points="83.1384388 48 78.4307806 65.5692194 68.2870612 47.9994388"></polygon>
917
+ <polygon id="WEDGES-l11-o2" style="fill: red" points="83.1384388 48 68.287 47.9995 60.8615612 35.1384388"></polygon>
918
+ <polygon id="WEDGES-l11-o1" style="fill: yellow" points="96 0 83.1384388 48 60.8615612 35.1384388"></polygon>
919
+ <polygon id="WEDGES-l11-o0" style="fill: red" points="70.2768775 96 25.7231225 70.2768775 48.0001225 47.9995 78.4307806 65.5692194"></polygon>
920
+ </g>
921
+ <g id="WEDGES-10" transform="translate(196.315353, 237.726896) scale(-1, -1) rotate(120.000000) translate(-196.315353, -237.726896) translate(148.315353, 171.726896)">
922
+ <polygon id="WEDGES-l10-o8" style="fill: #D8D8D8" points="25.723 70.277 40.574 95.999 -2.27373675e-13 96"></polygon>
923
+ <polygon id="WEDGES-l10-o7" style="fill: red" points="70.2768775 96 60.8615612 131.138439 40.5741225 95.9988775"></polygon>
924
+ <polygon id="WEDGES-l10-o6" style="fill: red" points="70.2768775 96 40.574 95.999 25.7231225 70.2768775"></polygon>
925
+ <polygon id="WEDGES-l10-o5" style="fill: red" points="48.0001225 47.9995 68.287 47.9995 78.4307806 65.5692194"></polygon>
926
+ <polygon id="WEDGES-l10-o4" style="fill: red" points="60.8615 35.1385 68.287 47.9995 48 48"></polygon>
927
+ <polygon id="WEDGES-l10-o3" style="fill: yellow" points="83.1384388 48 78.4307806 65.5692194 68.2870612 47.9994388"></polygon>
928
+ <polygon id="WEDGES-l10-o2" style="fill: yellow" points="83.1384388 48 68.287 47.9995 60.8615612 35.1384388"></polygon>
929
+ <polygon id="WEDGES-l10-o1" style="fill: yellow" points="96 0 83.1384388 48 60.8615612 35.1384388"></polygon>
930
+ <polygon id="WEDGES-l10-o0" style="fill: red" points="70.2768775 96 25.7231225 70.2768775 48.0001225 47.9995 78.4307806 65.5692194"></polygon>
931
+ </g>
932
+ <g id="WEDGES-9" transform="translate(229.157677, 211.157677) scale(-1, -1) rotate(90.000000) translate(-229.157677, -211.157677) translate(181.157677, 145.157677)">
933
+ <polygon id="WEDGES-l9-o8" style="fill: limegreen" points="25.723 70.277 40.574 95.999 -2.27373675e-13 96"></polygon>
934
+ <polygon id="WEDGES-l9-o7" style="fill: #D8D8D8" points="70.2768775 96 60.8615612 131.138439 40.5741225 95.9988775"></polygon>
935
+ <polygon id="WEDGES-l9-o6" style="fill: limegreen" points="70.2768775 96 40.574 95.999 25.7231225 70.2768775"></polygon>
936
+ <polygon id="WEDGES-l9-o5" style="fill: limegreen" points="48.0001225 47.9995 68.287 47.9995 78.4307806 65.5692194"></polygon>
937
+ <polygon id="WEDGES-l9-o4" style="fill: yellow" points="60.8615 35.1385 68.287 47.9995 48 48"></polygon>
938
+ <polygon id="WEDGES-l9-o3" style="fill: limegreen" points="83.1384388 48 78.4307806 65.5692194 68.2870612 47.9994388"></polygon>
939
+ <polygon id="WEDGES-l9-o2" style="fill: yellow" points="83.1384388 48 68.287 47.9995 60.8615612 35.1384388"></polygon>
940
+ <polygon id="WEDGES-l9-o1" style="fill: yellow" points="96 0 83.1384388 48 60.8615612 35.1384388"></polygon>
941
+ <polygon id="WEDGES-l9-o0" style="fill: limegreen" points="70.2768775 96 25.7231225 70.2768775 48.0001225 47.9995 78.4307806 65.5692194"></polygon>
942
+ </g>
943
+ <g id="WEDGES-8" transform="translate(244.315353, 171.726896) scale(-1, -1) rotate(60.000000) translate(-244.315353, -171.726896) translate(196.315353, 105.726896)">
944
+ <polygon id="WEDGES-l8-o8" style="fill: #D8D8D8" points="25.723 70.277 40.574 95.999 -2.27373675e-13 96"></polygon>
945
+ <polygon id="WEDGES-l8-o7" style="fill: #D8D8D8" points="70.2768775 96 60.8615612 131.138439 40.5741225 95.9988775"></polygon>
946
+ <polygon id="WEDGES-l8-o6" style="fill: #D8D8D8" points="70.2768775 96 40.574 95.999 25.7231225 70.2768775"></polygon>
947
+ <polygon id="WEDGES-l8-o5" style="fill: limegreen" points="48.0001225 47.9995 68.287 47.9995 78.4307806 65.5692194"></polygon>
948
+ <polygon id="WEDGES-l8-o4" style="fill: limegreen" points="60.8615 35.1385 68.287 47.9995 48 48"></polygon>
949
+ <polygon id="WEDGES-l8-o3" style="fill: limegreen" points="83.1384388 48 78.4307806 65.5692194 68.2870612 47.9994388"></polygon>
950
+ <polygon id="WEDGES-l8-o2" style="fill: limegreen" points="83.1384388 48 68.287 47.9995 60.8615612 35.1384388"></polygon>
951
+ <polygon id="WEDGES-l8-o1" style="fill: yellow" points="96 0 83.1384388 48 60.8615612 35.1384388"></polygon>
952
+ <polygon id="WEDGES-l8-o0" style="fill: limegreen" points="70.2768775 96 25.7231225 70.2768775 48.0001225 47.9995 78.4307806 65.5692194"></polygon>
953
+ </g>
954
+ <g id="WEDGES-7" transform="translate(237.726896, 130.000000) scale(-1, -1) rotate(30.000000) translate(-237.726896, -130.000000) translate(189.726896, 64.000000)">
955
+ <polygon id="WEDGES-l7-o8" style="fill: #D8D8D8" points="25.723 70.277 40.574 95.999 -2.27373675e-13 96"></polygon>
956
+ <polygon id="WEDGES-l7-o7" style="fill: limegreen" points="70.2768775 96 60.8615612 131.138439 40.5741225 95.9988775"></polygon>
957
+ <polygon id="WEDGES-l7-o6" style="fill: limegreen" points="70.2768775 96 40.574 95.999 25.7231225 70.2768775"></polygon>
958
+ <polygon id="WEDGES-l7-o5" style="fill: limegreen" points="48.0001225 47.9995 68.287 47.9995 78.4307806 65.5692194"></polygon>
959
+ <polygon id="WEDGES-l7-o4" style="fill: limegreen" points="60.8615 35.1385 68.287 47.9995 48 48"></polygon>
960
+ <polygon id="WEDGES-l7-o3" style="fill: yellow" points="83.1384388 48 78.4307806 65.5692194 68.2870612 47.9994388"></polygon>
961
+ <polygon id="WEDGES-l7-o2" style="fill: yellow" points="83.1384388 48 68.287 47.9995 60.8615612 35.1384388"></polygon>
962
+ <polygon id="WEDGES-l7-o1" style="fill: yellow" points="96 0 83.1384388 48 60.8615612 35.1384388"></polygon>
963
+ <polygon id="WEDGES-l7-o0" style="fill: limegreen" points="70.2768775 96 25.7231225 70.2768775 48.0001225 47.9995 78.4307806 65.5692194"></polygon>
964
+ </g>
965
+ <g id="WEDGES-6" transform="translate(211.157677, 97.157677) scale(-1, -1) translate(-211.157677, -97.157677) translate(163.157677, 31.157677)">
966
+ <polygon id="WEDGES-l6-o8" style="fill: orange" points="25.723 70.277 40.574 95.999 -2.27373675e-13 96"></polygon>
967
+ <polygon id="WEDGES-l6-o7" style="fill: #D8D8D8" points="70.2768775 96 60.8615612 131.138439 40.5741225 95.9988775"></polygon>
968
+ <polygon id="WEDGES-l6-o6" style="fill: orange" points="70.2768775 96 40.574 95.999 25.7231225 70.2768775"></polygon>
969
+ <polygon id="WEDGES-l6-o5" style="fill: orange" points="48.0001225 47.9995 68.287 47.9995 78.4307806 65.5692194"></polygon>
970
+ <polygon id="WEDGES-l6-o4" style="fill: yellow" points="60.8615 35.1385 68.287 47.9995 48 48"></polygon>
971
+ <polygon id="WEDGES-l6-o3" style="fill: orange" points="83.1384388 48 78.4307806 65.5692194 68.2870612 47.9994388"></polygon>
972
+ <polygon id="WEDGES-l6-o2" style="fill: yellow" points="83.1384388 48 68.287 47.9995 60.8615612 35.1384388"></polygon>
973
+ <polygon id="WEDGES-l6-o1" style="fill: yellow" points="96 0 83.1384388 48 60.8615612 35.1384388"></polygon>
974
+ <polygon id="WEDGES-l6-o0" style="fill: orange" points="70.2768775 96 25.7231225 70.2768775 48.0001225 47.9995 78.4307806 65.5692194"></polygon>
975
+ </g>
976
+ <g id="WEDGES-5" transform="translate(171.726896, 82.000000) rotate(150.000000) translate(-171.726896, -82.000000) translate(123.726896, 16.000000)">
977
+ <polygon id="WEDGES-l5-o8" style="fill: #D8D8D8" points="25.723 70.277 40.574 95.999 -2.27373675e-13 96"></polygon>
978
+ <polygon id="WEDGES-l5-o7" style="fill: #D8D8D8" points="70.2768775 96 60.8615612 131.138439 40.5741225 95.9988775"></polygon>
979
+ <polygon id="WEDGES-l5-o6" style="fill: #D8D8D8" points="70.2768775 96 40.574 95.999 25.7231225 70.2768775"></polygon>
980
+ <polygon id="WEDGES-l5-o5" style="fill: orange" points="48.0001225 47.9995 68.287 47.9995 78.4307806 65.5692194"></polygon>
981
+ <polygon id="WEDGES-l5-o4" style="fill: orange" points="60.8615 35.1385 68.287 47.9995 48 48"></polygon>
982
+ <polygon id="WEDGES-l5-o3" style="fill: orange" points="83.1384388 48 78.4307806 65.5692194 68.2870612 47.9994388"></polygon>
983
+ <polygon id="WEDGES-l5-o2" style="fill: orange" points="83.1384388 48 68.287 47.9995 60.8615612 35.1384388"></polygon>
984
+ <polygon id="WEDGES-l5-o1" style="fill: yellow" points="96 0 83.1384388 48 60.8615612 35.1384388"></polygon>
985
+ <polygon id="WEDGES-l5-o0" style="fill: orange" points="70.2768775 96 25.7231225 70.2768775 48.0001225 47.9995 78.4307806 65.5692194"></polygon>
986
+ </g>
987
+ <g id="WEDGES-4" transform="translate(130.000000, 88.588457) rotate(120.000000) translate(-130.000000, -88.588457) translate(82.000000, 22.588457)">
988
+ <polygon id="WEDGES-l4-o8" style="fill: #D8D8D8" points="25.723 70.277 40.574 95.999 -2.27373675e-13 96"></polygon>
989
+ <polygon id="WEDGES-l4-o7" style="fill: orange" points="70.2768775 96 60.8615612 131.138439 40.5741225 95.9988775"></polygon>
990
+ <polygon id="WEDGES-l4-o6" style="fill: orange" points="70.2768775 96 40.574 95.999 25.7231225 70.2768775"></polygon>
991
+ <polygon id="WEDGES-l4-o5" style="fill: orange" points="48.0001225 47.9995 68.287 47.9995 78.4307806 65.5692194"></polygon>
992
+ <polygon id="WEDGES-l4-o4" style="fill: orange" points="60.8615 35.1385 68.287 47.9995 48 48"></polygon>
993
+ <polygon id="WEDGES-l4-o3" style="fill: yellow" points="83.1384388 48 78.4307806 65.5692194 68.2870612 47.9994388"></polygon>
994
+ <polygon id="WEDGES-l4-o2" style="fill: yellow" points="83.1384388 48 68.287 47.9995 60.8615612 35.1384388"></polygon>
995
+ <polygon id="WEDGES-l4-o1" style="fill: yellow" points="96 0 83.1384388 48 60.8615612 35.1384388"></polygon>
996
+ <polygon id="WEDGES-l4-o0" style="fill: orange" points="70.2768775 96 25.7231225 70.2768775 48.0001225 47.9995 78.4307806 65.5692194"></polygon>
997
+ </g>
998
+ <g id="WEDGES-3" transform="translate(97.157677, 115.157677) rotate(90.000000) translate(-97.157677, -115.157677) translate(49.157677, 49.157677)">
999
+ <polygon id="WEDGES-l3-o8" style="fill: blue" points="25.723 70.277 40.574 95.999 -2.27373675e-13 96"></polygon>
1000
+ <polygon id="WEDGES-l3-o7" style="fill: #D8D8D8" points="70.2768775 96 60.8615612 131.138439 40.5741225 95.9988775"></polygon>
1001
+ <polygon id="WEDGES-l3-o6" style="fill: blue" points="70.2768775 96 40.574 95.999 25.7231225 70.2768775"></polygon>
1002
+ <polygon id="WEDGES-l3-o5" style="fill: blue" points="48.0001225 47.9995 68.287 47.9995 78.4307806 65.5692194"></polygon>
1003
+ <polygon id="WEDGES-l3-o4" style="fill: yellow" points="60.8615 35.1385 68.287 47.9995 48 48"></polygon>
1004
+ <polygon id="WEDGES-l3-o3" style="fill: blue" points="83.1384388 48 78.4307806 65.5692194 68.2870612 47.9994388"></polygon>
1005
+ <polygon id="WEDGES-l3-o2" style="fill: yellow" points="83.1384388 48 68.287 47.9995 60.8615612 35.1384388"></polygon>
1006
+ <polygon id="WEDGES-l3-o1" style="fill: yellow" points="96 0 83.1384388 48 60.8615612 35.1384388"></polygon>
1007
+ <polygon id="WEDGES-l3-o0" style="fill: blue" points="70.2768775 96 25.7231225 70.2768775 48.0001225 47.9995 78.4307806 65.5692194"></polygon>
1008
+ </g>
1009
+ <g id="WEDGES-2" transform="translate(82.000000, 154.588457) rotate(60.000000) translate(-82.000000, -154.588457) translate(34.000000, 88.588457)">
1010
+ <polygon id="WEDGES-l2-o8" style="fill: #D8D8D8" points="25.723 70.277 40.574 95.999 -2.27373675e-13 96"></polygon>
1011
+ <polygon id="WEDGES-l2-o7" style="fill: #D8D8D8" points="70.2768775 96 60.8615612 131.138439 40.5741225 95.9988775"></polygon>
1012
+ <polygon id="WEDGES-l2-o6" style="fill: #D8D8D8" points="70.2768775 96 40.574 95.999 25.7231225 70.2768775"></polygon>
1013
+ <polygon id="WEDGES-l2-o5" style="fill: blue" points="48.0001225 47.9995 68.287 47.9995 78.4307806 65.5692194"></polygon>
1014
+ <polygon id="WEDGES-l2-o4" style="fill: blue" points="60.8615 35.1385 68.287 47.9995 48 48"></polygon>
1015
+ <polygon id="WEDGES-l2-o3" style="fill: blue" points="83.1384388 48 78.4307806 65.5692194 68.2870612 47.9994388"></polygon>
1016
+ <polygon id="WEDGES-l2-o2" style="fill: blue" points="83.1384388 48 68.287 47.9995 60.8615612 35.1384388"></polygon>
1017
+ <polygon id="WEDGES-l2-o1" style="fill: yellow" points="96 0 83.1384388 48 60.8615612 35.1384388"></polygon>
1018
+ <polygon id="WEDGES-l2-o0" style="fill: blue" points="70.2768775 96 25.7231225 70.2768775 48.0001225 47.9995 78.4307806 65.5692194"></polygon>
1019
+ </g>
1020
+ <g id="WEDGES-1" transform="translate(88.588457, 196.315353) rotate(30.000000) translate(-88.588457, -196.315353) translate(40.588457, 130.315353)">
1021
+ <polygon id="WEDGES-l1-o8" style="fill: #D8D8D8" points="25.723 70.277 40.574 95.999 -2.27373675e-13 96"></polygon>
1022
+ <polygon id="WEDGES-l1-o7" style="fill: blue" points="70.2768775 96 60.8615612 131.138439 40.5741225 95.9988775"></polygon>
1023
+ <polygon id="WEDGES-l1-o6" style="fill: blue" points="70.2768775 96 40.574 95.999 25.7231225 70.2768775"></polygon>
1024
+ <polygon id="WEDGES-l1-o5" style="fill: blue" points="48.0001225 47.9995 68.287 47.9995 78.4307806 65.5692194"></polygon>
1025
+ <polygon id="WEDGES-l1-o4" style="fill: blue" points="60.8615 35.1385 68.287 47.9995 48 48"></polygon>
1026
+ <polygon id="WEDGES-l1-o3" style="fill: yellow" points="83.1384388 48 78.4307806 65.5692194 68.2870612 47.9994388"></polygon>
1027
+ <polygon id="WEDGES-l1-o2" style="fill: yellow" points="83.1384388 48 68.287 47.9995 60.8615612 35.1384388"></polygon>
1028
+ <polygon id="WEDGES-l1-o1" style="fill: yellow" points="96 0 83.1384388 48 60.8615612 35.1384388"></polygon>
1029
+ <polygon id="WEDGES-l1-o0" style="fill: blue" points="70.2768775 96 25.7231225 70.2768775 48.0001225 47.9995 78.4307806 65.5692194"></polygon>
1030
+ </g>
1031
+ <g id="WEDGES-0" transform="translate(67.157677, 163.157677)">
1032
+ <polygon id="WEDGES-l0-o8" style="fill: red" points="25.723 70.277 40.574 95.999 -2.27373675e-13 96"></polygon>
1033
+ <polygon id="WEDGES-l0-o7" style="fill: #D8D8D8" points="70.2768775 96 60.8615612 131.138439 40.5741225 95.9988775"></polygon>
1034
+ <polygon id="WEDGES-l0-o6" style="fill: red" points="70.2768775 96 40.574 95.999 25.7231225 70.2768775"></polygon>
1035
+ <polygon id="WEDGES-l0-o5" style="fill: red" points="48.0001225 47.9995 68.287 47.9995 78.4307806 65.5692194"></polygon>
1036
+ <polygon id="WEDGES-l0-o4" style="fill: yellow" points="60.8615 35.1385 68.287 47.9995 48 48"></polygon>
1037
+ <polygon id="WEDGES-l0-o3" style="fill: red" points="83.1384388 48 78.4307806 65.5692194 68.2870612 47.9994388"></polygon>
1038
+ <polygon id="WEDGES-l0-o2" style="fill: yellow" points="83.1384388 48 68.287 47.9995 60.8615612 35.1384388"></polygon>
1039
+ <polygon id="WEDGES-l0-o1" style="fill: yellow" points="96 0 83.1384388 48 60.8615612 35.1384388"></polygon>
1040
+ <polygon id="WEDGES-l0-o0" style="fill: red" points="70.2768775 96 25.7231225 70.2768775 48.0001225 47.9995 78.4307806 65.5692194"></polygon>
1041
+ </g>
1042
+ </g>
1043
+ <g id="DIAGONALS" transform="translate(168.861561, 1.019238)" stroke="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-width="2">
1044
+ <line x1="0" y1="287.842323" x2="70.2768775" y2="550.119201" id="BOTTOM"></line>
1045
+ <line x1="0.15767665" y1="262.276878" x2="70.4345542" y2="2.27488928e-16" id="TOP"></line>
1046
+ </g>
1047
+ </g>
1048
+ </svg>\`});var b2,S2=U(()=>{Ve();Jn();b2={id:"square1",fullName:"Square-1",inventedBy:["Karel Hr\\u0161el","Vojtech Kopsk\\xFD"],inventionYear:1990,kpuzzle:er(async()=>new Ie((await Promise.resolve().then(()=>(h2(),A2))).sq1HyperOrbitKPuzzleDefinition)),svg:async()=>(await Promise.resolve().then(()=>(U2(),y2))).default}});var he,Ot=U(()=>{a0();Ve();tn();wr();X0();r2();a2();L2();p2();F2();S2();Xn();he={"3x3x3":$i,"2x2x2":so,"4x4x4":an("4x4x4","4\\xD74\\xD74 Cube"),"5x5x5":an("5x5x5","5\\xD75\\xD75 Cube"),"6x6x6":an("6x6x6","6\\xD76\\xD76 Cube"),"7x7x7":an("7x7x7","7\\xD77\\xD77 Cube"),"40x40x40":an("40x40x40","40\\xD740\\xD740 Cube"),clock:s2,megaminx:ao,pyraminx:d2,skewb:xr("skewb","Skewb",{inventedBy:["Tony Durham"]}),square1:b2,fto:es,gigaminx:xr("gigaminx","Gigaminx",{inventedBy:["Tyler Fox"],inventionYear:2006}),master_tetraminx:xr("master tetraminx","Master Tetraminx",{inventedBy:["Katsuhiko Okamoto"],inventionYear:2002})}});function w2(t){x2=t}function tt(){if(!x2)throw new Error("Must be called from inside a worker, to avoid impact on page performance. Try importing from the top level of \`cubing/solve\`?")}var x2,_t=U(()=>{x2=!1});async function v2(){return globalThis?.crypto?.getRandomValues?crypto.getRandomValues.bind(crypto):(await(K1??(K1=import("crypto")))).webcrypto.getRandomValues}var K1,E2=U(()=>{K1=null});function j1(t){let e=new Uint32Array(2);t(e);let r=e[0],n=e[1];return Math.floor(r*W1)+Math.floor(n/Q1)}function q1(t){if(typeof t!="number"||t<0||Math.floor(t)!==t)throw new Error("randomInt.below() not called with a positive integer value.");if(t>k2)throw new Error(\`Called randomInt.below() with max == \${t}, which is larger than JavaScript can handle with integer precision.\`)}async function st(){let t=await v2(),e=r=>{q1(r);let n=j1(t),o=Math.floor(k2/r)*r;return n<o?n%r:e(r)};return e}var k2,W1,Q1,pl=U(()=>{E2();k2=9007199254740992,W1=2097152,Q1=2048});async function Kt(){let t=await st();return e=>e[t(e.length)]}var z2=U(()=>{pl()});async function C2(t){for(let e=1;e<t.length;e++){let r=(await V1)(e);[t[e],t[r]]=[t[r],t[e]]}}var V1,nr=U(()=>{z2();pl();pl();V1=st()});function zt(t,e){let r=[],n=[];for(let f of e.split(\`
1049
+ \`)){let g=f.split(" ");if(!f.startsWith("SetOrder ")){if(f.startsWith("Alg ")){let L=k.fromString(f.substring(4));n.push({alg:L,transformation:t.algToTransformation(L)})}else if(f.startsWith("SubgroupSizes "))for(let L=1;L<g.length;L++)r.push(parseInt(g[L]))}}let o={ordering:new Array(r.length)},l=[],i=0;l.push(0);let s=k.fromString(""),u=t.identityTransformation();for(let f=0;f<r.length;f++)i+=r[f],l.push(i),n.splice(i-1,0,{alg:s,transformation:u});if(n.length!==i)throw Error(\`Bad sgs; expected \${i-r.length} algs but saw \${n.length-r.length}\`);let a={};for(let f in t.definition.orbits){let g=t.definition.orbits[f];a[f]=new Array(g.numPieces).fill(!1)}for(let f=r.length-1;f>=0;f--){let g=[];for(let B=l[f];B<l[f+1];B++){let p=n[B].transformation;for(let m in t.definition.orbits){let F=t.definition.orbits[m];for(let A=0;A<F.numPieces;A++)(p.transformationData[m].permutation[A]!==A||p.transformationData[m].orientation[A]!==0)&&(a[m][A]||(g.push({orbitName:m,permutationIdx:A}),a[m][A]=!0))}}let L={};for(let B=l[f];B<l[f+1];B++){let p=n[B].transformation.invert(),m="";for(let F=0;F<g.length;F++){let A=g[F];m=\`\${m} \${p.transformationData[A.orbitName].permutation[A.permutationIdx]} \${p.transformationData[A.orbitName].orientation[A.permutationIdx]}\`}L[m]=n[B],n[B].alg=n[B].alg.invert(),n[B].transformation=n[B].transformation.invert()}o.ordering[f]={pieceOrdering:g,lookup:L}}return o}var fn=U(()=>{Ae()});var O2={};Ue(O2,{cachedData222:()=>nL,data222:()=>N2});async function nL(){return rL??(rL=N2())}async function N2(){return zt(await so.kpuzzle(),\`SubgroupSizes 24 21 18 15 12 9 6
1050
+
1051
+ Alg F
1052
+ Alg F2
1053
+ Alg F'
1054
+ Alg D
1055
+ Alg D2
1056
+ Alg D'
1057
+ Alg L
1058
+ Alg L2
1059
+ Alg L'
1060
+ Alg F U
1061
+ Alg F U2
1062
+ Alg F U'
1063
+ Alg F L
1064
+ Alg F L2
1065
+ Alg F L'
1066
+ Alg F2 U
1067
+ Alg F2 U'
1068
+ Alg F2 R
1069
+ Alg F2 R'
1070
+ Alg F' D
1071
+ Alg F' D'
1072
+ Alg F' R
1073
+ Alg F' R'
1074
+ Alg B
1075
+ Alg B2
1076
+ Alg B'
1077
+ Alg B R
1078
+ Alg B R2
1079
+ Alg B R'
1080
+ Alg B2 U
1081
+ Alg B2 U2
1082
+ Alg B2 U'
1083
+ Alg B2 R
1084
+ Alg B2 R2
1085
+ Alg B2 R'
1086
+ Alg B' U
1087
+ Alg B' U'
1088
+ Alg F D' F'
1089
+ Alg F2 L F2
1090
+ Alg B R' B2
1091
+ Alg B R' U2
1092
+ Alg B2 U R'
1093
+ Alg B2 R B'
1094
+ Alg R
1095
+ Alg R2
1096
+ Alg R'
1097
+ Alg R2 U
1098
+ Alg R2 U2
1099
+ Alg R2 U'
1100
+ Alg R' U
1101
+ Alg R' U2
1102
+ Alg R' U'
1103
+ Alg F R F'
1104
+ Alg F R2 F'
1105
+ Alg L2 D' L2
1106
+ Alg L' B L
1107
+ Alg R2 U' R
1108
+ Alg R' U R2
1109
+ Alg R' U R'
1110
+ Alg F R F' U2
1111
+ Alg F' U F
1112
+ Alg F' U2 F
1113
+ Alg F' U' F
1114
+ Alg L F L'
1115
+ Alg L F2 L'
1116
+ Alg L F' L'
1117
+ Alg F' D R D'
1118
+ Alg F' U2 F U'
1119
+ Alg F D2 B D2 F'
1120
+ Alg F2 D' L2 D F2
1121
+ Alg F2 L F L' F
1122
+ Alg L' F2 L' F2 L
1123
+ Alg F L' U' L2 F L'
1124
+ Alg F2 L F L' U2 F
1125
+ Alg U
1126
+ Alg U2
1127
+ Alg U'
1128
+ Alg F2 D2 B D2 F2
1129
+ Alg F2 D2 B' D2 F2
1130
+ Alg L2 D2 R D2 L2
1131
+ Alg L2 D2 R' D2 L2
1132
+ Alg F2 D2 B D2 F2 U
1133
+ Alg F2 D2 B D2 F2 U'
1134
+ Alg U F2 D2 B D2 F2
1135
+ Alg U F2 D2 B' D2 F2
1136
+ Alg F D B D' R' F' U
1137
+ Alg F' D L F U B' L'
1138
+ Alg F' L' F U L U L'
1139
+ Alg D' L F D R' U' F'
1140
+ Alg L F L' U' F' U' F
1141
+ Alg L D' F' L' U' R F
1142
+ Alg F D F U F' L' F' R'
1143
+ Alg F2 D' F L F2 D F' R'
1144
+ Alg F D' F L' D F R2 U2 F' U'
1145
+ Alg F D' L D' L F D2 L2 B' R'
1146
+ Alg F L' D F R2 D2 L D F' U2
1147
+ Alg F L' D F2 D' L F L2 F2 U
1148
+ Alg F D F' D L2 F R' F' D' B2 U'\`)}var rL,_2=U(()=>{Ot();fn();rL=null});async function gn(t,e){let r=new ut;r.experimentalPushAlg(t);for(let n of e){let o=(await Kt())(n);o!==null&&r.push(c.fromString(o))}return r.toAlg()}var Rl=U(()=>{Ae();nr()});function q2(t,e){return t.slice(e)+t.slice(0,e)}function gL(t){let e=[[],[]];for(let r=0;r<6;r++)if(t.stateData.CENTERS.pieces[r]!==r)throw new Error("non-oriented puzzles are not supported");for(let r=0;r<12;r++)e[0].push(q2(sL[t.stateData.EDGES.pieces[r]],t.stateData.EDGES.orientation[r]));for(let r=0;r<8;r++)e[1].push(q2(aL[t.stateData.CORNERS.pieces[r]],t.stateData.CORNERS.orientation[r]));return e.push(uL),e}function V2(t){let e=gL(t);return fL.map(([r,n,o])=>e[r][n][o]).join("")}var sL,aL,uL,fL,H2=U(()=>{sL="UF UR UB UL DF DR DB DL FR FL BR BL".split(" "),aL="UFR URB UBL ULF DRF DFL DLB DBR".split(" "),uL="U L F R B D".split(" "),fL=[[1,2,0],[0,2,0],[1,1,0],[0,3,0],[2,0,0],[0,1,0],[1,3,0],[0,0,0],[1,0,0],[1,0,2],[0,1,1],[1,1,1],[0,8,1],[2,3,0],[0,10,1],[1,4,1],[0,5,1],[1,7,2],[1,3,2],[0,0,1],[1,0,1],[0,9,0],[2,2,0],[0,8,0],[1,5,1],[0,4,1],[1,4,2],[1,5,0],[0,4,0],[1,4,0],[0,7,0],[2,5,0],[0,5,0],[1,6,0],[0,6,0],[1,7,0],[1,2,2],[0,3,1],[1,3,1],[0,11,1],[2,1,0],[0,9,1],[1,6,1],[0,7,1],[1,5,2],[1,1,2],[0,2,1],[1,2,1],[0,10,0],[2,4,0],[0,11,0],[1,7,1],[0,6,1],[1,6,2]]});function Y2(t,e){let r=new Be(t.kpuzzle,{EDGES:t.stateData.EDGES,CORNERS:t.stateData.CORNERS,CENTERS:{pieces:t.stateData.CENTERS.pieces,orientation:new Array(6).fill(0)}}).experimentalToTransformation(),n=new Be(e.kpuzzle,{EDGES:e.stateData.EDGES,CORNERS:e.stateData.CORNERS,CENTERS:{pieces:e.stateData.CENTERS.pieces,orientation:new Array(6).fill(0)}}).experimentalToTransformation();return r.isIdentical(n)}function Z2(t,e){if(Y2(t.startState(),e))return!1;for(let r of"ULFRBD")for(let n=1;n<4;n++){let o=t.moveToTransformation(new c(r,n)).toKState();if(Y2(o,e))return!1}return!0}var X2=U(()=>{Ae();Ve()});var J2,$2=U(()=>{J2=[["R U'","R2 B","D2 B2","D' L B'","R' U'","B","D B2","R' B","L' U","L2 B'","B2","D L B'","L U","B'","U'","R B","D' B2","L B'","U2","U L' B'","","U' L' B'","U","L' B'"],["F2 L2","F' L'","R' F L2","D' L2","F L2","F2 L'","R' F' L'","R2 F L2","R2 F2 L'","L2","F L'","D' L","D2 L2","R2 F' L'","D L","","L2 F L'","L F' L2","L F L'","F' L2","L'","D L2","D F L'","L"],["R B U2 B'","R2 B U' B'","F2 B U B'","F B2 L' B2","B2 L B2","B U' B'","R2 B U2 B'","R' B U' B'","B2 L' B2","F B U B'","B2 U' B2","B' L B","L F' B D' B'","B' U' B2 D B'","B U2 B'","R B U' B'","B2 L2 B2","D' B' L B","B U B'","F' B2 L' B2","","B2 L' B' U' B'"],["U F2 L2 U'","F' U L' U'","F2 U L' U'","U F L2 U'","U2 B2 U2","R' U' B U","D2 U L U'","D U2 B' U2","U L2 U'","F U L' U'","D U L U'","U2 B' U2","","U2 B' U' L' U'","U2 L' U2","U' B U","U L U'","D' U2 B' U2","U L' U'","U2 B U2"],["R' D' F2","F'","F2","D R F'","R D' F2","R2 F'","D' F2","R F'","F2 R' D' F2","F","D2 F2","D' R F'","R2 D' F2","R' F'","D F2","D2 R F'","","F R' D' F2"],["R' D2 F' D F","R F2 R2 F2","R2 F' D2 F","F' R2 D2 F","L D' L'","D F' D2 F","F2 R2 F2","R F' D2 F","F' R2 D' F","F' R' D2 F","F2 R' F2","L D L'","F' R D' F","F2 R F2","F' D2 F","","L D2 R D' L'","F' D2 F' R F2","D2 R2 F2 R2 F2","D F' D' F","F' D F"],["U F2 U'","R U F' U'","D R U F2 U'","U F U'","R2 U F2 U'","R' U F' U'","R U F2 U'","R2 U F' U'","","U L D L' F U'","F2 D' R D F2","D2 U F U'","R' U F2 U'","U F' U'","F2 D2 R D2 F2","D U F U'"],["R2","R' B' D B","D R'","F' R2 F","","R B' D B","R'","B' D B","D' R'","D2 F' R2 F","R","R2 B' D B","D2 R'","B' D' B"],["R2 D' R2","F' R' F R","R D' R2 D R'","D2 R2 D2 R2","R' D' F' R F","U F D F' U'","","R2 D2 B R' B' R'","R' F D' F2 R F","R2 D R2","F2 U F U' F","R' D F' R F","D R2 D2 R2","U F D' F' U'","D R' D2 F' R F","R2 D2 R2","U F D2 F' U'","R' D2 F' R F"],["B R B'","F D F' B R2 B'","D B R2 B'","D2 B R' B'","B R2 B'","D B R' B'","D' B R2 B'","B R' B'","","B R2 B' D B R' B'","D2 B R2 B'","D' B R' B'"],["","R' D R F D2 F'","R' D R","D F D' F'","R F' R' F","F D' F'","R' D' R","F D2 F'","R' D2 R","F D F'"],["","F2 D2 R F' R' D2 F' D2 F'","F2 D2 F' D' F D' F' D2 F'","F2 D F2 D F2 D2 F2","D2 F L D2 L' D2 F'","D F D2 L D2 L' F'","R' D B' D2 B D' R","R' D2 B' D2 B R","F D2 F' D F D F'","F D' L D2 L' D F'","B D' F D B' D' F'","F D2 L D2 L' F'","F D' L D L' D F'","F L D2 L' D2 F'","R' B' D2 B D2 R"],["D'","F L D L' D' F'","D2","L B D B' D' L'","D","B' L' D' L D B","","D F L D L' D' F'"],["F' D2 F D F' D F","F' D' R' D R F","F' R' D' R D F","B D R D' R' B'","","D B' D' L' D L B"],["D F D F' D F D2 F'","F' U2 B' R' B U2 F' L F' L' F'","","D2 L D L2 F L F2 D F"],["L B' L' F L B L' F'","F2 U F' D2 F U' F' D2 F'","D' F' D B D' F D B'","F L2 F R2 F' L2 F R2 F2","D B D' F' D B' D' F","R F L F' R' F L' F'","","D2 B L' U2 L B' D2 B L' U2 L B'","D2 F R' U2 R F' D2 F R' U2 R F'","R F L' F' R' F L F'","D F D' B' D F' D' B","L2 F2 L' B2 L F2 L' B2 L'"],["L B R' B' L' B R B'","R' B R F' R' B' R F","L D2 L U L' D2 L U' L2","","D2 B' D2 F D' L2 F L2 F' D2 B D' F'","D2 F' R' F R2 B' D2 B D2 R' F D2 F'","L B L' F L B' L' F'","F' D2 F' U' F D2 F' U F2","D' B' D F D' B D F'"],["","D2 F' L U2 L' F D2 F' L U2 L' F","D2 B' R U2 R' B D2 B' R U2 R' B"]]});var ku={};Ue(ku,{initialize:()=>tB,solveState:()=>rB});function eu(){}function BL(t){function e(){}return e.prototype=t||{},new e}function mL(t){return t instanceof Array?t[0]:null}function fo(t,e,r){var n=Dl,o=cL,l=mL,i=n[t],s=l(i);i&&!s?q=i:(q=n[t]=e?o(e):{},q.castableTypeMap$=r,q.constructor=q,!e&&(q.typeMarker$=eu));for(var u=3;u<arguments.length;++u)arguments[u].prototype=q;s&&(q.___clazz$=s)}function cL(t){var e=Dl;return BL(e[t])}function pL(){}function dl(t){return t<<24>>24}function ls(){this.typeName=null,this.simpleName=null,this.packageName=null,this.compoundName=null,this.canonicalName=null,this.typeId=null,this.arrayLiterals=null}function is(t,e){var r;return r=new ls,r.packageName=t,r.compoundName=e,r}function lr(t,e,r){var n;return n=is(t,e),dL(r,n),n}function RL(t,e){var r;return r=is(t,e),r.modifiers=2,r}function Fl(t,e){var r;return r=is("",t),r.typeId=e,r.modifiers=1,r}function tu(t,e){var r=t.arrayLiterals=t.arrayLiterals||[];return r[e]||(r[e]=t.createClassLiteralForArray(e))}function DL(t){if(t.isPrimitive())return null;var e=t.typeId,r=Dl[e];return r}function dL(t,e){if(!!t){e.typeId=t;var r=DL(e);if(!r){Dl[t]=[e];return}r.___clazz$=e}}function X(t,e){return tu(t,e)}function Y(t,e,r,n,o,l){var i;return i=nu(o,n),J(X(t,l),e,r,o,i),i}function Ye(t,e,r,n,o,l){return ru(t,e,r,n,o,0,l)}function ru(t,e,r,n,o,l,i){var s,u,a,f,g;if(f=o[l],a=l==i-1,s=a?n:0,g=nu(s,f),J(X(t,i-l),e[l],r[l],s,g),!a)for(++l,u=0;u<f;++u)g[u]=ru(t,e,r,n,o,l,i);return g}function J(t,e,r,n,o){return o.___clazz$=t,o.castableTypeMap$=e,o.typeMarker$=eu,o.__elementTypeId$=r,o.__elementTypeCategory$=n,o}function nu(t,e){var r=new Array(e),n;switch(t){case 6:n={l:0,m:0,h:0};break;case 7:n=0;break;case 8:n=!1;break;default:return r}for(var o=0;o<e;++o)r[o]=n;return r}function ou(t){var e,r,n;return e=t&He,r=t>>22&He,n=t<0?or:0,FL(e,r,n)}function FL(t,e,r){return{l:t,m:e,h:r}}function AL(t,e){var r,n,o;return r=t.l+e.l,n=t.m+e.m+(r>>22),o=t.h+e.h+(n>>22),{l:r&He,m:n&He,h:o&or}}function Ct(t,e){return{l:t.l&e.l,m:t.m&e.m,h:t.h&e.h}}function ss(t){var e,r;return t>-129&&t<128?(e=t+128,hl==null&&(hl=Y($L,ie,293,256,0,1)),r=hl[e],!r&&(r=hl[e]=ou(t)),r):ou(t)}function lu(t,e){var r,n;return r=t.h>>19,n=e.h>>19,r==0?n!=0||t.h>e.h||t.h==e.h&&t.m>e.m||t.h==e.h&&t.m==e.m&&t.l>=e.l:!(n==0||t.h<e.h||t.h==e.h&&t.m<e.m||t.h==e.h&&t.m==e.m&&t.l<e.l)}function as(t,e){return t.l!=e.l||t.m!=e.m||t.h!=e.h}function us(t,e){return{l:t.l|e.l,m:t.m|e.m,h:t.h|e.h}}function Al(t,e){var r,n,o;return e&=63,e<22?(r=t.l<<e,n=t.m<<e|t.l>>22-e,o=t.h<<e|t.m>>22-e):e<44?(r=0,n=t.l<<e-22,o=t.m<<e-22|t.l>>44-e):(r=0,n=0,o=t.l<<e-44),{l:r&He,m:n&He,h:o&or}}function vr(t,e){var r,n,o,l,i;return e&=63,r=t.h,n=(r&LL)!=0,n&&(r|=-1048576),e<22?(i=r>>e,l=t.m>>e|r<<22-e,o=t.l>>e|t.m<<22-e):e<44?(i=n?or:0,l=r>>e-22,o=t.m>>e-22|r<<44-e):(i=n?or:0,l=n?He:0,o=r>>e-44),{l:o&He,m:l&He,h:i&or}}function iu(t,e){var r,n,o;return r=t.l-e.l,n=t.m-e.m+(r>>22),o=t.h-e.h+(n>>22),{l:r&He,m:n&He,h:o&or}}function Er(t){return t.l|t.m<<22}function hL(t){this.string=t}function ir(t,e){return t>e?t:e}function fs(t,e){return t<e?t:e}function yL(t,e){return t.indexOf(e)}function UL(t){return bL(t,0,t.length)}function bL(t,e,r){for(var n="",o=e;o<r;){var l=Math.min(o+1e4,r);n+=String.fromCharCode.apply(null,t.slice(o,l)),o=l}return n}function SL(t){return String.fromCharCode(t&Oe)}function su(t){return t.string+=" ",t}function au(t,e){return t.string+=e,t}function wL(){hL.call(this,"")}function yl(t,e){var r;if(t===e)return!0;if(t.length!=e.length)return!1;for(r=0;r<t.length;++r)if(t[r]!=e[r])return!1;return!0}function kr(){uu||(uu=!0,ar=Ye(De,[ie,Re],[11,0],7,[495,18],2),Dn=Ye(De,[ie,Re],[11,0],7,[324,18],2),cn=Ye(De,[ie,Re],[11,0],7,[336,18],2),sr=Ye(De,[ie,Re],[11,0],7,[495,8],2),Sl=Y(Ee,ve,0,20048,7,1),bl=Y(Ee,ve,0,20791,7,1),Rn=Y(Ee,ve,0,82945,7,1),Ln=Ye(De,[ie,Re],[11,0],7,[2768,10],2),mn=Ye(De,[ie,Re],[11,0],7,[2768,10],2),pn=Ye(De,[ie,Re],[11,0],7,[24,10],2),Bo=Ye(De,[ie,Re],[11,0],7,[24,16],2),zr=Ye(De,[ie,Re],[11,0],7,[140,16],2),Ul=Y(Ee,ve,0,8305,7,1),Bn=Y(Ee,ve,0,48441,7,1))}function vL(t,e,r){return t.slice_0=ar[e.slice_0][r],t.flip=cn[e.flip][(Z(),Pr)[r<<3|e.fsym]],t.fsym=t.flip&7^e.fsym,t.flip>>=3,t.twist=Dn[e.twist][Pr[r<<3|e.tsym]],t.tsym=t.twist&7^e.tsym,t.twist>>=3,t.prun=ir(ir(rt(Sl,t.twist*495+sr[t.slice_0][t.tsym]),rt(bl,t.flip*495+sr[t.slice_0][t.fsym])),rt(Rn,t.twist<<11|gr[t.flip<<3|t.fsym^t.tsym])),t.prun}function EL(t,e,r){return r=(Z(),po)[3][r],t.flipc=cn[e.flipc>>3][Pr[r<<3|e.flipc&7]]^e.flipc&7,t.twistc=Dn[e.twistc>>3][Pr[r<<3|e.twistc&7]]^e.twistc&7,rt(Rn,t.twistc>>3<<11|gr[t.flipc^t.twistc&7])}function fu(t,e,r){var n;return t.twist=(Z(),Ro)[El(e)],t.flip=Cr[vl(e)],t.tsym=t.twist&7,t.twist=t.twist>>3,t.prun=rt(Rn,t.twist<<11|gr[t.flip^t.tsym]),t.prun>r||(t.fsym=t.flip&7,t.flip=t.flip>>3,t.slice_0=494-An(e.ea,8,!0),t.prun=ir(t.prun,ir(rt(Sl,t.twist*495+sr[t.slice_0][t.tsym]),rt(bl,t.flip*495+sr[t.slice_0][t.fsym]))),t.prun>r)?!1:(n=new ue,mo(e,1,n),co(e,1,n),t.twistc=Ro[El(n)],t.flipc=Cr[vl(n)],t.prun=ir(t.prun,rt(Rn,t.twistc>>3<<11|gr[t.flipc^t.twistc&7])),t.prun<=r)}function go(){kr()}function rt(t,e){return kr(),t[e>>3]>>(e<<2)&15}function gu(t){kr(),!(xl==2||xl==1&&!t)&&(xl==0&&(WL(),kL(),CL(),ML(),zL(),Z(),ps(2048,Rs,Cr,Du=Y(De,Re,0,336,7,1),0),ps(2187,As,Ro,Fs=Y(De,Re,0,324,7,1),1),PL(),GL(),TL()),Lo(Ul,pn,Bo,Ln,(Z(),ds),584244,t),Lo(Bn,gs,zr,mn,ds,514084,t),Lo(Sl,ar,sr,Dn,Fs,431619,t),Lo(bl,ar,sr,cn,Du,431619,t),Lo(Rn,null,null,Dn,Fs,103939,t),xl=t?2:1)}function kL(){var t,e,r,n;for(t=new ue,e=new ue,r=0;r<2768;r++)for(OL(t,(Z(),dn)[r]),n=0;n<10;n++)ur(t,fe[(We(),ht)[n]],e),Ln[r][n]=Cl(Qt[ot(e.ca,8,!1)])&Oe}function zL(){var t,e,r,n,o;for(t=new ue,e=new ue,gs=Ye(De,[ie,Re],[11,0],7,[140,10],2),r=0;r<140;r++){for(xu(t.ca,r%70,0,!1),o=0;o<10;o++)ur(t,(Z(),fe)[(We(),ht)[o]],e),gs[r][o]=An(e.ca,0,!1)+70*(165>>o&1^~~(r/70))&Oe;for(n=0;n<16;n++)mo(t,(Z(),nt)[0][n],e),zr[r][n]=An(e.ca,0,!1)+70*~~(r/70)&Oe}}function CL(){var t,e,r,n;for(t=new ue,e=new ue,r=0;r<2768;r++)for(cu(t,(Z(),dn)[r]),n=0;n<10;n++)Lt(t,fe[(We(),ht)[n]],e),mn[r][n]=Qt[ot(e.ea,8,!0)]}function PL(){var t,e,r,n;for(t=new ue,e=new ue,r=0;r<336;r++)for(ms(t,(Z(),Rs)[r]),n=0;n<18;n++)Lt(t,fe[n],e),cn[r][n]=Cr[vl(e)]}function ML(){var t,e,r,n,o;for(t=new ue,e=new ue,r=0;r<24;r++){for(Mr(t.ea,r,12,!0),o=0;o<10;o++)Lt(t,(Z(),fe)[(We(),ht)[o]],e),pn[r][o]=ot(e.ea,12,!0)%24&Oe;for(n=0;n<16;n++)co(t,(Z(),nt)[0][n],e),Bo[r][n]=ot(e.ea,12,!0)%24&Oe}}function Lo(t,e,r,n,o,l,i){var s,u,a,f,g,L,B,p,m,F,A,b,h,C,E,j,te,I,re,y,z,M,x,w,P,W,H,ge,me,Fe,ye,xt,ze,Xe,xe,d;if(h=l&15,A=(l>>4&1)==1?os:0,a=(l>>5&1)==1,s=l>>8&15,f=l>>12&15,g=l>>16&15,F=i?f:g,b=(1<<h)-1,u=e==null,p=u?2048:e.length,m=p*n.length,B=a?10:18,L=B==10?66:599186,E=(t[m>>3]>>(m<<2)&15)-1,E==-1){for(I=0;I<~~(m/8)+1;I++)t[I]=uo;t[0]^=1,E=0}for(;E<F;){for(P=(E+1)*uo^-1,re=0;re<t.length;re++)xe=t[re]^P,xe&=xe>>1,t[re]+=xe&xe>>2&uo;for(M=E>s,Fe=M?E+2:E,me=Fe*uo,C=M?E:E+2,++E,d=E^E+1,Xe=0,I=0;I<m;++I,Xe>>=4){if((I&7)==0&&(Xe=t[I>>3],((Xe^me)-uo&~(Xe^me)&-2004318072)==0)){I+=7;continue}if((Xe&15)==Fe)for(H=I%p,ye=~~(I/p),j=0,te=0,u&&(j=(Z(),Cr)[H],te=j&7,j>>=3),w=0;w<B;w++){if(ze=n[ye][w],u?ge=(Z(),gr)[cn[j][Pr[w<<3|te]]^te^ze&b]:ge=r[e[H][w]][ze&b],ze>>=h,y=ze*p+ge,W=t[y>>3]>>(y<<2)&15,W!=C){W<E-1&&(w+=L>>w&3);continue}if(M){t[I>>3]^=d<<(I<<2);break}for(t[y>>3]^=d<<(y<<2),x=1,xt=o[ze];(xt>>=1)!=0;x++)(xt&1)==1&&(z=ze*p,u?z+=(Z(),gr)[Cr[ge]^x]:z+=r[ge][x^A>>(x<<1)&3],(t[z>>3]>>(z<<2)&15)==C&&(t[z>>3]^=d<<(z<<2)))}}}}function GL(){var t,e,r,n;for(t=new ue,e=new ue,r=0;r<324;r++)for(cs(t,(Z(),As)[r]),n=0;n<18;n++)ur(t,fe[n],e),Dn[r][n]=Ro[El(e)]}function TL(){var t,e,r,n,o,l,i,s;for(t=new ue,e=new ue,n=0;n<495;n++){for(xu(t.ea,494-n,8,!0),l=0;l<18;l+=3)Lt(t,(Z(),fe)[l],e),ar[n][l]=494-An(e.ea,8,!0)&Oe;for(o=0;o<16;o+=2)co(t,(Z(),nt)[0][o],e),sr[n][o>>1]=494-An(e.ea,8,!0)&Oe}for(r=0;r<495;r++)for(o=0;o<18;o+=3)for(s=ar[r][o],i=1;i<3;i++)s=ar[s][o],ar[r][o+i]=s&Oe}function Z(){Lu||(Lu=!0,Wt=Y(Do,ie,7,16,0,1),fe=Y(Do,ie,7,18,0,1),Ml=Y(eB,ie,0,18,6,1),du=Y(Ee,ve,0,48,7,1),jt=Ye(Ee,[ie,ve],[17,0],7,[16,16],2),nt=Ye(Ee,[ie,ve],[17,0],7,[16,16],2),po=Ye(Ee,[ie,ve],[17,0],7,[16,18],2),Pr=Y(Ee,ve,0,144,7,1),Lr=Ye(Ee,[ie,ve],[17,0],7,[16,18],2),Rs=Y(De,Re,0,336,7,1),As=Y(De,Re,0,324,7,1),dn=Y(De,Re,0,2768,7,1),Fn=Y(ee,le,0,2768,7,1),Ds=Y(De,Re,0,2768,7,1),Pl=Y(ee,le,0,24,7,1),Cr=Y(De,Re,0,2048,7,1),Ro=Y(De,Re,0,2187,7,1),Qt=Y(De,Re,0,40320,7,1),gr=Y(De,Re,0,2688,7,1),hs=new At(2531,1373,67026819,1367),ys=new At(2089,1906,322752913,2040),Gl=J(X(ee,2),ie,10,0,[J(X(ee,1),le,0,7,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17]),J(X(ee,1),le,0,7,[6,7,8,0,1,2,3,4,5,15,16,17,9,10,11,12,13,14]),J(X(ee,1),le,0,7,[3,4,5,6,7,8,0,1,2,12,13,14,15,16,17,9,10,11]),J(X(ee,1),le,0,7,[2,1,0,5,4,3,8,7,6,11,10,9,14,13,12,17,16,15]),J(X(ee,1),le,0,7,[8,7,6,2,1,0,5,4,3,17,16,15,11,10,9,14,13,12]),J(X(ee,1),le,0,7,[5,4,3,8,7,6,2,1,0,14,13,12,17,16,15,11,10,9])]),KL(),QL())}function Ls(t){t.ca=J(X(ee,1),le,0,7,[0,1,2,3,4,5,6,7]),t.ea=J(X(ee,1),le,0,7,[0,2,4,6,8,10,12,14,16,18,20,22])}function Bu(t){!t.temps&&(t.temps=new ue),ur(ys,t,t.temps),ur(t.temps,hs,t),Lt(ys,t,t.temps),Lt(t.temps,hs,t)}function Bs(t,e){var r,n;for(n=0;n<8;n++)t.ca[n]=e.ca[n];for(r=0;r<12;r++)t.ea[r]=e.ea[r]}function IL(t){return Cl(Qt[ot(t.ca,8,!1)])}function NL(t){return Qt[ot(t.ea,8,!0)]}function vl(t){var e,r;for(r=0,e=0;e<11;e++)r=r<<1|t.ea[e]&1;return r}function El(t){var e,r;for(r=0,e=0;e<7;e++)r+=(r<<1)+(t.ca[e]>>3);return r}function kl(t){var e,r;for(!t.temps&&(t.temps=new ue),r=0;r<12;r++)t.temps.ea[t.ea[r]>>1]=(r<<1|t.ea[r]&1)<<24>>24;for(e=0;e<8;e++)t.temps.ca[t.ca[e]&7]=(e|32>>(t.ca[e]>>3)&24)<<24>>24;Bs(t,t.temps)}function mu(t){var e,r,n,o,l,i,s;for(e=new pu(t),o=new ue,r=Cl(Qt[ot(e.ca,8,!1)])>>4,i={l:0,m:0,h:0},s=0;s<6;s++){if(n=Cl(Qt[ot(e.ca,8,!1)])>>4,r==n)for(l=0;l<16;l++)mo(e,nt[0][l],o),yl(o.ca,t.ca)&&(co(e,nt[0][l],o),yl(o.ea,t.ea)&&(i=us(i,Al({l:1,m:0,h:0},(s<<4|l)<48?s<<4|l:48))));Bu(e),s%3==2&&kl(e)}return i}function OL(t,e){Mr(t.ca,e,8,!1)}function cu(t,e){Mr(t.ea,e,8,!0)}function ms(t,e){var r,n,o;for(n=0,r=10;r>=0;--r,e>>=1)n^=o=e&1,t.ea[r]=(t.ea[r]&-2|o)<<24>>24;t.ea[11]=(t.ea[11]&-2|n)<<24>>24}function cs(t,e){var r,n,o;for(n=15,r=6;r>=0;--r,e=~~(e/3))n-=o=e%3,t.ca[r]=(t.ca[r]&7|o<<3)<<24>>24;t.ca[7]=(t.ca[7]&7|n%3<<3)<<24>>24}function _L(t){var e,r,n,o,l;for(l=0,o=0,n=0;n<12;n++)o|=1<<(t.ea[n]>>1),l^=t.ea[n]&1;if(o!=4095)return-2;if(l!=0)return-3;for(r=0,l=0,e=0;e<8;e++)r|=1<<(t.ca[e]&7),l+=t.ca[e]>>3;return r!=255?-4:l%3!=0?-5:(bs(ot(t.ea,12,!0),12)^bs(ot(t.ca,8,!1),8))!=0?-6:0}function mo(t,e,r){Z();var n,o,l,i,s,u;for(u=Wt[nt[0][e]],s=Wt[e],n=0;n<8;n++)l=u.ca[t.ca[s.ca[n]&7]&7]>>3,i=t.ca[s.ca[n]&7]>>3,o=l<3?i:(3-i)%3,r.ca[n]=(u.ca[t.ca[s.ca[n]&7]&7]&7|o<<3)<<24>>24}function ur(t,e,r){Z();var n,o,l;for(n=0;n<8;n++)o=t.ca[e.ca[n]&7]>>3,l=e.ca[n]>>3,r.ca[n]=(t.ca[e.ca[n]&7]&7|(o+l)%3<<3)<<24>>24}function zl(t,e,r){var n,o,l,i;for(n=0;n<8;n++)l=t.ca[e.ca[n]&7]>>3,i=e.ca[n]>>3,o=l+(l<3?i:6-i),o=o%3+(l<3==i<3?0:3),r.ca[n]=(t.ca[e.ca[n]&7]&7|o<<3)<<24>>24}function ue(){Z(),Ls(this)}function At(t,e,r,n){Ls(this),Mr(this.ca,t,8,!1),cs(this,e),Mr(this.ea,r,12,!0),ms(this,n)}function pu(t){Ls(this),Bs(this,t)}function Cl(t){return Z(),t^os>>((t&15)<<1)&3}function co(t,e,r){Z();var n,o,l;for(l=Wt[nt[0][e]],o=Wt[e],n=0;n<12;n++)r.ea[n]=(l.ea[t.ea[o.ea[n]>>1]>>1]^t.ea[o.ea[n]>>1]&1^o.ea[n]&1)<<24>>24}function Lt(t,e,r){Z();var n;for(n=0;n<12;n++)r.ea[n]=(t.ea[e.ea[n]>>1]^e.ea[n]&1)<<24>>24}function fr(t,e,r){Z();var n;return n=Ds[t],r&&(n=n^os>>((n&15)<<1)&3),n&65520|jt[n&15][e]}function Ru(){return Z(),0}function KL(){var t,e;for(fe[0]=new At(15120,0,119750400,0),fe[3]=new At(21021,1494,323403417,0),fe[6]=new At(8064,1236,29441808,550),fe[9]=new At(9,0,5880,0),fe[12]=new At(1230,412,2949660,0),fe[15]=new At(224,137,328552,137),t=0;t<18;t+=3)for(e=0;e<2;e++)fe[t+e+1]=new ue,Lt(fe[t+e],fe[t],fe[t+e+1]),ur(fe[t+e],fe[t],fe[t+e+1])}function WL(){Z();var t,e,r;for(ps(40320,dn,Qt,ds=Y(De,Re,0,2768,7,1),2),t=new ue,r=0;r<2768;r++)cu(t,dn[r]),Fn[r]=An(t.ea,0,!0)+bs(dn[r],8)*70<<24>>24,kl(t),Ds[r]=Qt[ot(t.ea,8,!0)];for(e=0;e<24;e++)Mr(t.ea,e,12,!0),kl(t),Pl[e]=ot(t.ea,12,!0)%24<<24>>24}function QL(){var t,e,r,n,o,l,i,s,u,a,f,g,L,B,p,m;for(t=new ue,e=new ue,r=new At(28783,0,259268407,0),m=new At(15138,0,119765538,7),g=new At(5167,0,83473207,0),o=0;o<8;o++)g.ca[o]=dl(g.ca[o]|24);for(l=0;l<16;l++)Wt[l]=new pu(t),zl(t,m,e),Lt(t,m,e),p=e,e=t,t=p,l%4==3&&(zl(p,g,e),Lt(p,g,e),p=e,e=t,t=p),l%8==7&&(zl(p,r,e),Lt(p,r,e),p=e,e=t,t=p);for(i=0;i<16;i++)for(u=0;u<16;u++)for(zl(Wt[i],Wt[u],t),f=0;f<16;f++)if(yl(Wt[f].ca,t.ca)){jt[i][u]=f,nt[f][u]=i;break}for(a=0;a<18;a++)for(B=0;B<16;B++){for(mo(fe[a],nt[0][B],t),L=0;L<18;L++)if(yl(fe[L].ca,t.ca)){po[B][a]=L,Lr[B][(We(),hn)[a]]=hn[L];break}B%2==0&&(Pr[a<<3|B>>1]=po[B][a])}for(n=0;n<18;n++)for(Ml[n]=mu(fe[n]),s=n,B=0;B<48;B++)po[B%16][s]<n&&(du[B]|=1<<n),B%16==15&&(s=Gl[2][s])}function ps(t,e,r,n,o){Z();var l,i,s,u,a,f,g,L,B;for(l=new ue,s=new ue,i=0,a=0,B=o>=2?1:2,f=o!=1,u=0;u<t;u++)if(r[u]==0){switch(o){case 0:ms(l,u);break;case 1:cs(l,u);break;case 2:Mr(l.ea,u,8,!0)}for(g=0;g<16;g+=B){switch(f?co(l,g,s):mo(l,g,s),o){case 0:a=vl(s);break;case 1:a=El(s);break;case 2:a=ot(s.ea,8,!0)}o==0&&(gr[i<<3|g>>1]=a&Oe),a==u&&(n[i]=(n[i]|1<<~~(g/B))&Oe),L=~~((i<<4|g)/B),r[a]=L&Oe}e[i++]=u&Oe}return i}function jL(t,e,r,n,o,l,i,s){var u,a,f,g,L;if(g=ir(rt((kr(),Bn),(i>>4)*140+zr[(Z(),Fn)[s>>4]&255][nt[i&15][s&15]]),ir(rt(Bn,n*140+zr[Fn[e]&255][nt[o][r]]),rt(Ul,e*24+Bo[l][r]))),g>t.maxDep2)return g-t.maxDep2;for(u=t.maxDep2;u>=g&&(L=hu(t,n,o,e,r,l,u,t.depth1,10),!(L<0));u--){for(u-=L,t.solLen=0,t.solution=new Eu,JL(t.solution,t.verbose,t.urfIdx,t.depth1),f=0;f<t.depth1+u;f++)wu(t.solution,t.move[f]);for(a=t.preMoveLen-1;a>=0;a--)wu(t.solution,t.preMoves[a]);t.solLen=t.solution.length_0}return u!=t.maxDep2?(t.maxDep2=fs(Uu,t.solLen-t.length1-1),lu(t.probe,t.probeMin)?0:1):1}function qL(t){var e,r,n,o,l,i,s,u,a,f,g,L,B,p,m;if(t.isRec=!1,lu(t.probe,t.solution?t.probeMin:t.probeMax))return 0;for(t.probe=AL(t.probe,{l:1,m:0,h:0}),n=t.valid1;n<t.depth1;n++)ur(t.phase1Cubie[n],(Z(),fe)[t.move[n]],t.phase1Cubie[n+1]),Lt(t.phase1Cubie[n],fe[t.move[n]],t.phase1Cubie[n+1]);for(t.valid1=t.depth1,s=IL(t.phase1Cubie[t.depth1]),u=s&15,s>>=4,a=NL(t.phase1Cubie[t.depth1]),f=a&15,a>>=4,g=ot(t.phase1Cubie[t.depth1].ea,12,!0)%24,r=fr(a,f,!1),e=fr(s,u,!0),o=t.depth1==0?-1:t.move[t.depth1-1],l=t.preMoveLen==0?-1:t.preMoves[t.preMoveLen-1],m=0,p=(t.preMoveLen==0?1:2)*(t.depth1==0?1:2),L=0,B=(1<<p)-1;L<p;L++){if((B>>L&1)!=0){if(B&=~(1<<L),m=jL(t,s,u,a,f,g,r,e),m==0||m>2)break;m==2&&(B&=4<<L)}if(B==0)break;(L&1)==0&&t.depth1>0?(i=(We(),hn)[~~(o/3)*3+1],t.move[t.depth1-1]=ht[i]*2-t.move[t.depth1-1],g=(kr(),pn)[g][i],s=Ln[s][(Z(),Lr)[u][i]],u=jt[s&15][u],s>>=4,a=mn[a][Lr[f][i]],f=jt[a&15][f],a>>=4,e=fr(s,u,!0),r=fr(a,f,!1)):t.preMoveLen>0&&(i=(We(),hn)[~~(l/3)*3+1],t.preMoves[t.preMoveLen-1]=ht[i]*2-t.preMoves[t.preMoveLen-1],g=(Z(),Pl)[(kr(),pn)[Pl[g]][i]],s=Ln[e>>4][Lr[e&15][i]],e=s&-16|jt[s&15][e&15],s=fr(e>>4,e&15,!0),u=s&15,s>>=4,a=mn[r>>4][Lr[r&15][i]],r=a&-16|jt[a&15][r&15],a=fr(r>>4,r&15,!1),f=a&15,a>>=4)}return t.depth1>0&&(t.move[t.depth1-1]=o),t.preMoveLen>0&&(t.preMoves[t.preMoveLen-1]=l),m==0?0:2}function VL(t){var e;for(t.conjMask=0,t.selfSym=mu(t.cc),t.conjMask|=as(Ct(vr(t.selfSym,16),{l:Oe,m:0,h:0}),{l:0,m:0,h:0})?18:0,t.conjMask|=as(Ct(vr(t.selfSym,32),{l:Oe,m:0,h:0}),{l:0,m:0,h:0})?36:0,t.conjMask|=as(Ct(vr(t.selfSym,48),{l:Oe,m:0,h:0}),{l:0,m:0,h:0})?56:0,t.selfSym=Ct(t.selfSym,{l:He,m:He,h:15}),t.maxPreMoves=t.conjMask>7?0:20,e=0;e<6;e++)Bs(t.urfCubieCube[e],t.cc),fu(t.urfCoordCube[e],t.urfCubieCube[e],20),Bu(t.cc),e%3==2&&kl(t.cc)}function Fu(t,e,r,n,o){var l,i,s,u,a,f;if(e.prun==0&&n<5)return t.allowShorter||n==0?(t.depth1-=n,a=qL(t),t.depth1+=n,a):1;for(f=Ru(ss(r)),l=0;l<18;l+=3)if(!(l==o||l==o-9)){for(s=0;s<3;s++)if(i=l+s,!(t.isRec&&i!=t.move[t.depth1-n]||f!=0&&(f&1<<i)!=0)){if(u=vL(t.nodeUD[n],e,i),u>n)break;if(u==n)continue;if(u=EL(t.nodeUD[n],e,i),u>n)break;if(u==n)continue;if(t.move[t.depth1-n]=i,t.valid1=fs(t.valid1,t.depth1-n),a=Fu(t,t.nodeUD[n],r&Er((Z(),Ml)[i]),n-1,l),a==0)return 0;if(a>=2)break}}return 1}function Au(t,e,r,n,o){var l,i,s;if(t.preMoveLen=t.maxPreMoves-e,(t.isRec?t.depth1==t.length1-t.preMoveLen:t.preMoveLen==0||(225207>>r&1)==0)&&(t.depth1=t.length1-t.preMoveLen,t.phase1Cubie[0]=n,t.allowShorter=t.depth1==Us&&t.preMoveLen!=0,fu(t.nodeUD[t.depth1+1],n,t.depth1)&&Fu(t,t.nodeUD[t.depth1+1],o,t.depth1,-1)==0))return 0;if(e==0||t.preMoveLen+Us>=t.length1)return 1;for(s=Ru(ss(o)),(e==1||t.preMoveLen+1+Us>=t.length1)&&(s|=225207),r=~~(r/3)*3,l=0;l<18;l++){if(l==r||l==r-9||l==r+9){l+=2;continue}if(!(t.isRec&&l!=t.preMoves[t.maxPreMoves-e]||(s&1<<l)!=0)&&(ur((Z(),fe)[l],n,t.preMoveCubes[e]),Lt(fe[l],n,t.preMoveCubes[e]),t.preMoves[t.maxPreMoves-e]=l,i=Au(t,e-1,l,t.preMoveCubes[e],o&Er(Ml[l])),i==0))return 0}return 1}function hu(t,e,r,n,o,l,i,s,u){var a,f,g,L,B,p,m,F,A,b,h;if(e==0&&n==0&&l==0)return i;for(A=(We(),Fo)[u],m=0;m<10;m++){if((A>>m&1)!=0){m+=66>>m&3;continue}if(F=(kr(),pn)[l][m],f=Ln[n][(Z(),Lr)[o][m]],g=jt[f&15][o],f>>=4,B=mn[e][Lr[r][m]],p=jt[B&15][r],B>>=4,L=fr(B,p,!1),a=fr(f,g,!0),b=rt(Bn,(L>>4)*140+zr[Fn[a>>4]&255][nt[L&15][a&15]]),b>i+1)return i-b+1;if(b>=i){m+=66>>m&3&i-b;continue}if(b=ir(rt(Ul,f*24+Bo[F][g]),rt(Bn,B*140+zr[Fn[f]&255][nt[p][g]])),b>=i){m+=66>>m&3&i-b;continue}if(h=hu(t,B,p,f,g,F,i-1,s+1,m),h>=0)return t.move[s]=ht[m],h;if(h<-2)break;h<-1&&(m+=66>>m&3)}return-1}function HL(t){for(t.length1=t.isRec?t.length1:0;t.length1<t.solLen;t.length1++)for(t.maxDep2=fs(Uu,t.solLen-t.length1-1),t.urfIdx=t.isRec?t.urfIdx:0;t.urfIdx<6;t.urfIdx++)if((t.conjMask&1<<t.urfIdx)==0&&Au(t,t.maxPreMoves,-30,t.urfCubieCube[t.urfIdx],Er(Ct(t.selfSym,{l:Oe,m:0,h:0})))==0)return t.solution?vu(t.solution):"Error 8";return t.solution?vu(t.solution):"Error 7"}function YL(t,e){var r;return r=ZL(t,e),r!=0?"Error "+(r<0?-r:r):(t.solLen=22,t.probe={l:0,m:0,h:0},t.probeMax={l:3531008,m:23,h:0},t.probeMin={l:0,m:0,h:0},t.verbose=0,t.solution=null,t.isRec=!1,gu(!1),VL(t),HL(t))}function ZL(t,e){var r,n,o,l;for(n=0,o=Y(ee,le,0,54,7,1),r=UL(J(X(De,1),Re,0,7,[e.charCodeAt(4),e.charCodeAt(13),e.charCodeAt(22),e.charCodeAt(31),e.charCodeAt(40),e.charCodeAt(49)])),l=0;l<54;l++){if(o[l]=yL(r,SL(e.charCodeAt(l)))<<24>>24,o[l]==-1)return-1;n+=1<<(o[l]<<2)}return n!=10066329?-1:(XL(o,t.cc),_L(t.cc))}function yu(){var t,e,r;for(this.move=Y(Ee,ve,0,31,7,1),this.nodeUD=Y(wl,ie,31,21,0,1),this.nodeRL=Y(wl,ie,31,21,0,1),this.nodeFB=Y(wl,ie,31,21,0,1),this.cc=new ue,this.urfCubieCube=Y(Do,ie,7,6,0,1),this.urfCoordCube=Y(wl,ie,31,6,0,1),this.phase1Cubie=Y(Do,ie,7,21,0,1),this.preMoveCubes=Y(Do,ie,7,21,0,1),this.preMoves=Y(Ee,ve,0,20,7,1),e=0;e<21;e++)this.nodeUD[e]=new go,this.nodeRL[e]=new go,this.nodeFB[e]=new go,this.phase1Cubie[e]=new ue;for(r=0;r<6;r++)this.urfCubieCube[r]=new ue,this.urfCoordCube[r]=new go;for(t=0;t<20;t++)this.preMoveCubes[t+1]=new ue}function We(){if(!bu){bu=!0;var t,e,r,n,o,l;for(Gr=J(X(ee,2),ie,10,0,[J(X(ee,1),le,0,7,[8,9,20]),J(X(ee,1),le,0,7,[6,18,38]),J(X(ee,1),le,0,7,[0,36,47]),J(X(ee,1),le,0,7,[2,45,11]),J(X(ee,1),le,0,7,[29,26,15]),J(X(ee,1),le,0,7,[27,44,24]),J(X(ee,1),le,0,7,[33,53,42]),J(X(ee,1),le,0,7,[35,17,51])]),Vt=J(X(ee,2),ie,10,0,[J(X(ee,1),le,0,7,[5,10]),J(X(ee,1),le,0,7,[7,19]),J(X(ee,1),le,0,7,[3,37]),J(X(ee,1),le,0,7,[1,46]),J(X(ee,1),le,0,7,[32,16]),J(X(ee,1),le,0,7,[28,25]),J(X(ee,1),le,0,7,[30,43]),J(X(ee,1),le,0,7,[34,52]),J(X(ee,1),le,0,7,[23,12]),J(X(ee,1),le,0,7,[21,41]),J(X(ee,1),le,0,7,[50,39]),J(X(ee,1),le,0,7,[48,14])]),qt=Ye(Ee,[ie,ve],[17,0],7,[13,13],2),Ss=J(X(xL,1),ie,2,4,["U ","U2","U'","R ","R2","R'","F ","F2","F'","D ","D2","D'","L ","L2","L'","B ","B2","B'"]),ht=J(X(Ee,1),ve,0,7,[0,1,2,4,7,9,10,11,13,16,3,5,6,8,12,14,15,17]),hn=Y(Ee,ve,0,18,7,1),Fo=Y(Ee,ve,0,11,7,1),e=0;e<18;e++)hn[ht[e]]=e;for(r=0;r<10;r++)for(n=~~(ht[r]/3),Fo[r]=0,o=0;o<10;o++)l=~~(ht[o]/3),Fo[r]|=(n==l||n%3==l%3&&n>=l?1:0)<<o;for(Fo[10]=0,t=0;t<13;t++)for(qt[t][0]=qt[t][t]=1,o=1;o<t;o++)qt[t][o]=qt[t-1][o-1]+qt[t-1][o]}}function An(t,e,r){We();var n,o,l,i,s;for(n=t.length-1,l=0,s=4,o=n;o>=0;o--)i=Su(t[o],r),(i&12)==e&&(l+=qt[o][s--]);return l}function bs(t,e){We();var r,n;for(n=0,r=e-2;r>=0;r--)n^=t%(e-r),t=~~(t/(e-r));return n&1}function ot(t,e,r){We();var n,o,l,i;for(o=0,i={l:1323536,m:2777561,h:1043915},n=0;n<e-1;n++)l=Su(t[n],r)<<2,o=(e-n)*o+Er(Ct(vr(i,l),{l:15,m:0,h:0})),i=iu(i,Al({l:1118480,m:279620,h:69905},l));return o}function Su(t,e){return e?t>>1:t&7}function xu(t,e,r,n){We();var o,l,i,s;for(o=t.length-1,s=4,l=o,i=o;i>=0;i--)e>=qt[i][s]?(e-=qt[i][s--],t[i]=Tl(t[i],s|r,n)):((l&12)==r&&(l-=4),t[i]=Tl(t[i],l--,n))}function Mr(t,e,r,n){We();var o,l,i,s,u,a;for(a={l:1323536,m:2777561,h:1043915},o={l:0,m:0,h:0},s=2;s<=r;s++)o=us(Al(o,4),ss(e%s)),e=~~(e/s);for(l=0;l<r-1;l++)u=(Er(o)&15)<<2,o=vr(o,4),t[l]=Tl(t[l],Er(Ct(vr(a,u),{l:15,m:0,h:0})),n),i=iu(Al({l:1,m:0,h:0},u),{l:1,m:0,h:0}),a=us(Ct(a,i),Ct(vr(a,4),{l:~i.l&He,m:~i.m&He,h:~i.h&or}));t[r-1]=Tl(t[r-1],Er(Ct(a,{l:15,m:0,h:0})),n)}function Tl(t,e,r){return(r?e<<1|t&1:e|t&-8)<<24>>24}function XL(t,e){We();var r,n,o,l,i,s,u,a;for(l=0;l<8;l++)e.ca[l]=0;for(i=0;i<12;i++)e.ea[i]=0;for(s=0;s<8;s++){for(a=0;a<3&&!(t[Gr[s][a]]==0||t[Gr[s][a]]==3);a++);for(r=t[Gr[s][(a+1)%3]],n=t[Gr[s][(a+2)%3]],u=0;u<8;u++)if(r==~~(Gr[u][1]/9)&&n==~~(Gr[u][2]/9)){e.ca[s]=dl(a%3<<3|u);break}}for(o=0;o<12;o++)for(u=0;u<12;u++){if(t[Vt[o][0]]==~~(Vt[u][0]/9)&&t[Vt[o][1]]==~~(Vt[u][1]/9)){e.ea[o]=dl(u<<1);break}if(t[Vt[o][0]]==~~(Vt[u][1]/9)&&t[Vt[o][1]]==~~(Vt[u][0]/9)){e.ea[o]=dl(u<<1|1);break}}}function wu(t,e){var r,n,o;if(t.length_0==0){t.moves[t.length_0++]=e;return}if(r=~~(e/3),n=~~(t.moves[t.length_0-1]/3),r==n){o=(e%3+t.moves[t.length_0-1]%3+1)%4,o==3?--t.length_0:t.moves[t.length_0-1]=r*3+o;return}if(t.length_0>1&&r%3==n%3&&r==~~(t.moves[t.length_0-2]/3)){o=(e%3+t.moves[t.length_0-2]%3+1)%4,o==3?(t.moves[t.length_0-2]=t.moves[t.length_0-1],--t.length_0):t.moves[t.length_0-2]=r*3+o;return}t.moves[t.length_0++]=e}function JL(t,e,r,n){t.verbose=e,t.urfIdx=r,t.depth1=n}function vu(t){var e,r,n;if(r=new wL,n=(t.verbose&2)!=0?(t.urfIdx+3)%6:t.urfIdx,n<3)for(e=0;e<t.length_0;e++)(t.verbose&1)!=0&&e==t.depth1&&(r.string+=". "),su(au(r,(We(),Ss)[(Z(),Gl)[n][t.moves[e]]]));else for(e=t.length_0-1;e>=0;e--)su(au(r,(We(),Ss)[(Z(),Gl)[n][t.moves[e]]])),(t.verbose&1)!=0&&e==t.depth1&&(r.string+=". ");return r.string}function Eu(){this.moves=Y(Ee,ve,0,31,7,1)}var ie,He,or,LL,Oe,Re,ve,os,uo,le,q,Dl,hl,xL,uu,zr,gs,Ln,Bn,mn,cn,Ul,Bo,pn,Rn,Dn,sr,bl,ar,Sl,xl,wl,Lu,Wt,Qt,dn,Cr,Rs,gr,Pl,Fn,Ds,Pr,po,Lr,jt,nt,Du,ds,Fs,Ro,As,du,fe,Ml,hs,ys,Gl,Do,Uu,Us,bu,qt,Fo,Gr,Vt,Ss,hn,ht,Ee,$L,ee,eB,De,tB,rB,zu=U(()=>{ie={3:1},He=4194303,or=1048575,LL=524288,Oe=65535,Re={11:1,3:1},ve={17:1,3:1},os=14540032,uo=286331153,le={10:1,3:1},Dl={};fo(1,null,{},pL);fo(79,1,{},ls);q.createClassLiteralForArray=function(e){var r;return r=new ls,r.modifiers=4,e>1?r.componentType=tu(this,e-1):r.componentType=this,r};q.isPrimitive=function(){return(this.modifiers&1)!=0};xL=lr("java.lang","String",2);uu=!1;fo(31,1,{31:1},go);q.flip=0;q.flipc=0;q.fsym=0;q.prun=0;q.slice_0=0;q.tsym=0;q.twist=0;q.twistc=0;xl=0,wl=lr("org.cubing.min2phase.client","CoordCube",31),Lu=!1;Do=lr("org.cubing.min2phase.client","CubieCube",7);fo(72,1,{},yu);q.allowShorter=!1;q.conjMask=0;q.depth1=0;q.isRec=!1;q.length1=0;q.maxDep2=0;q.maxPreMoves=0;q.preMoveLen=0;q.probe={l:0,m:0,h:0};q.probeMax={l:0,m:0,h:0};q.probeMin={l:0,m:0,h:0};q.selfSym={l:0,m:0,h:0};q.solLen=0;q.urfIdx=0;q.valid1=0;q.verbose=0;Uu=12,Us=7,bu=!1;fo(150,1,{},Eu);q.depth1=0;q.length_0=0;q.urfIdx=0;q.verbose=0;Ee=Fl("int","I");lr("com.google.gwt.lang","CollapsedPropertyHolder",252);lr("com.google.gwt.lang","JavaClassHierarchySetupUtil",254);$L=lr("com.google.gwt.lang","LongLibBase/LongEmul",null);lr("com.google.gwt.lang","ModuleUtils",257);ee=Fl("byte","B"),eB=Fl("long","J"),De=Fl("char","C");lr("com.google.gwt.user.client.rpc","XsrfToken",null),RL("java.util","Map/Entry");tB=function(){gu(!1)},rB=function(t){return YL(new yu,t)}});async function Cu(){let t=await he["3x3x3"].kpuzzle(),e=t.startState();for(let r of J2)e=e.applyAlg(k.fromString((await Kt())(r)));return Z2(t,e)?e:Cu()}function Pu(){return nB??(nB=Promise.resolve().then(()=>(zu(),ku)))}async function xs(t){return tt(),k.fromString((await Pu()).solveState(V2(t)))}async function yn(){return xs(await Cu())}async function Mu(){(await Pu()).initialize()}async function Gu(){return gn(await yn(),oB)}async function Iu(){let t=new ut,e=await yn();return t.experimentalPushAlg(Tu),t.experimentalPushAlg(e),t.experimentalPushAlg(Tu),t.toAlg()}var nB,oB,Tu,ws=U(()=>{Ae();Ot();nr();_t();Rl();H2();X2();$2();nB=null;oB=[[null,"Rw","Rw2","Rw'","Fw","Fw'"],[null,"Dw","Dw2","Dw'"]];Tu=new k("R' U' F")});function se(t,...e){let r=e.length,n=t[e[r-1]];for(let o=r;o>0;o--)t[e[o]]=t[e[o-1]];return t[e[0]]=n,se}function Nu(t,e,r,n){r=(r||8)-1;let o=1985229328,l=0;n??(n=0),n<0&&(e<<=1);for(let i=0;i<r;++i){let s=vs[r-i],u=~~(e/s);l^=u,e%=s,u<<=2,t[i]=o>>u&7;let a=(1<<u)-1;o=(o&a)+(o>>4&~a)}return n<0&&(l&1)!=0?(t[r]=t[r-1],t[r-1]=o&7):t[r]=o&7,t}var Le,vs,Ou=U(()=>{Le=[],vs=[1];for(let t=0;t<32;++t){Le[t]=[];for(let e=0;e<32;++e)Le[t][e]=0}for(let t=0;t<32;++t){Le[t][0]=Le[t][t]=1,vs[t+1]=vs[t]*(t+1);for(let e=1;e<t;++e)Le[t][e]=Le[t-1][e-1]+Le[t-1][e]}});var Hf={};Ue(Hf,{initialize:()=>dm,random444Scramble:()=>Fm});function T(t,e){let r=new Array(t);if(e!==void 0)for(let n=0;n<t;n++)r[n]=new Array(e);return r}function gB(t){return new Ao[t]}function at(t,e,r,...n){let o=Ao[t];o&&!o.___clazz$?V=o.prototype:(!o&&(o=Ao[t]=function(){}),V=o.prototype=e<0?{}:gB(e),V.castableTypeMap$=r);for(let l of n)l.prototype=V;o.___clazz$&&(V.___clazz$=o.___clazz$,o.___clazz$=null)}function Br(t){let e={};for(let r=0,n=t.length;r<n;++r)e[t[r]]=1;return e}function Qu(){}function LB(t,e){let r=ju(0,e);return qu(t.___clazz$,t.castableTypeMap$,t.queryId$,r),r}function ju(t,e){let r=new Array(e);if(t===3)for(let n=0;n<e;++n){let o={m:0,l:0,h:0};o.l=o.m=o.h=0,r[n]=o}else if(t>0){let n=[null,0,!1][t];for(let o=0;o<e;++o)r[o]=n}return r}function zs(t,e,r,n,o){let l=ju(o,n);return qu(t,e,r,l),l}function qu(t,e,r,n){return Hu(),mB(n,Cs,Ps),n.___clazz$=t,n.castableTypeMap$=e,n.queryId$=r,n}function Il(t,e,r){return t[e]=r}function Hu(){Vu||(Vu=!0,Cs=[],Ps=[],BB(new Qu,Cs,Ps))}function BB(t,e,r){let n=0,o;for(let l in t)(o=t[l])&&(e[n]=l,r[n]=o,++n)}function mB(t,e,r){Hu();for(let n=0,o=e.length;n<o;++n)t[e[n]]=r[n]}function cB(t,e){return t.castableTypeMap$&&!!t.castableTypeMap$[e]}function pB(t,e){return t!==null&&cB(t,e)}function RB(){if(Yu)return!1;Yu=!0,Wl=T(15582,36),Ql=T(15582),Ut=T(15582),Sn=T(48,48),bt=T(48,36),bn=T(48),Ts=T(48)}function Ms(t){t.ct=T(24)}function Zu(t,e){let r,n;if(pB(e,Ku)){for(r=e,n=0;n<24;++n)if(t.ct[n]!==r.ct[n])return!1;return!0}return!1}function Nl(t){let e,r,n;for(r=0,n=8,e=23;e>=0;--e)t.ct[e]===1&&(r+=Le[e][n--]);return r}function Ol(t){let e,r;if(Un!==null)return Un[Nl(t)];for(r=0;r<48;++r){if(e=yB(Nl(t)),e!==-1)return e*64+r;oe(t,0),r%2==1&&oe(t,1),r%8==7&&oe(t,2),r%16==15&&oe(t,3)}}function yt(t,e){let r=e%3;switch(e=~~(e/3),e){case 0:D(t.ct,0,1,2,3,r);break;case 1:D(t.ct,16,17,18,19,r);break;case 2:D(t.ct,8,9,10,11,r);break;case 3:D(t.ct,4,5,6,7,r);break;case 4:D(t.ct,20,21,22,23,r);break;case 5:D(t.ct,12,13,14,15,r);break;case 6:D(t.ct,0,1,2,3,r),D(t.ct,8,20,12,16,r),D(t.ct,9,21,13,17,r);break;case 7:D(t.ct,16,17,18,19,r),D(t.ct,1,15,5,9,r),D(t.ct,2,12,6,10,r);break;case 8:D(t.ct,8,9,10,11,r),D(t.ct,2,19,4,21,r),D(t.ct,3,16,5,22,r);break;case 9:D(t.ct,4,5,6,7,r),D(t.ct,10,18,14,22,r),D(t.ct,11,19,15,23,r);break;case 10:D(t.ct,20,21,22,23,r),D(t.ct,0,8,4,14,r),D(t.ct,3,11,7,13,r);break;case 11:D(t.ct,12,13,14,15,r),D(t.ct,1,20,7,18,r),D(t.ct,0,23,6,17,r)}}function oe(t,e){switch(e){case 0:yt(t,19),yt(t,28);break;case 1:yt(t,21),yt(t,32);break;case 2:D(t.ct,0,3,1,2,1),D(t.ct,8,11,9,10,1),D(t.ct,4,7,5,6,1),D(t.ct,12,15,13,14,1),D(t.ct,16,19,21,22,1),D(t.ct,17,18,20,23,1);break;case 3:yt(t,18),yt(t,29),yt(t,24),yt(t,35)}}function Xu(t,e){let r;for(r=0;r<e;++r)oe(t,0),r%2==1&&oe(t,1),r%8==7&&oe(t,2),r%16==15&&oe(t,3)}function Gs(t,e){let r,n;for(n=8,r=23;r>=0;--r)t.ct[r]=0,e>=Le[r][n]&&(e-=Le[r][n--],t.ct[r]=1)}function _l(t,e){let r;for(r=0;r<24;++r)t.ct[r]=e.ct[r]}function ho(){let t;for(Ms(this),t=0;t<8;++t)this.ct[t]=1;for(t=8;t<24;++t)this.ct[t]=0}function Kl(t,e){let r;for(Ms(this),r=0;r<24;++r)this.ct[r]=~~(t.ct[r]/2)===e?1:0}function yo(t){let e;for(Ms(this),e=0;e<24;++e)this.ct[e]=t[e]}function DB(){let t,e,r=new ho,n=new ho;for(t=0;t<15582;++t)for(Gs(n,Ql[t]),e=0;e<36;++e)_l(r,n),yt(r,e),Wl[t][e]=Ol(r)}function dB(){let t,e,r,n,o,l,i,s;for(ai(Ut),Ut[0]=0,e=0,r=1;r!==15582;)for(l=e>4,s=l?-1:e,t=l?e:-1,++e,n=0;n<15582;++n)if(Ut[n]===s){for(i=0;i<27;++i)if(o=~~Wl[n][i]>>>6,Ut[o]===t)if(++r,l){Ut[n]=e;break}else Ut[o]=e}}function FB(t){let e,r,n,o=new yo(t.ct);for(n=0;n<48;++n){for(e=!0,r=0;r<24;++r)if(o.ct[r]!==~~(r/4)){e=!1;break}if(e)return n;oe(o,0),n%2==1&&oe(o,1),n%8==7&&oe(o,2),n%16==15&&oe(o,3)}return-1}function AB(){let t,e,r,n=new ho;for(t=0;t<24;++t)n.ct[t]=t;let o=new yo(n.ct),l=new yo(n.ct),i=new yo(n.ct);for(t=0;t<48;++t){for(e=0;e<48;++e){for(r=0;r<48;++r)Zu(n,o)&&(Sn[t][e]=r,r===0&&(bn[t]=e)),oe(o,0),r%2==1&&oe(o,1),r%8==7&&oe(o,2),r%16==15&&oe(o,3);oe(n,0),e%2==1&&oe(n,1),e%8==7&&oe(n,2),e%16==15&&oe(n,3)}oe(n,0),t%2==1&&oe(n,1),t%8==7&&oe(n,2),t%16==15&&oe(n,3)}for(t=0;t<48;++t)for(_l(n,l),Xu(n,bn[t]),e=0;e<36;++e)for(_l(o,n),yt(o,e),Xu(o,t),r=0;r<36;++r)if(_l(i,l),yt(i,r),Zu(i,o)){bt[t][e]=r;break}for(Gs(n,0),t=0;t<48;++t)Ts[bn[t]]=Nl(n),oe(n,0),t%2==1&&oe(n,1),t%8==7&&oe(n,2),t%16==15&&oe(n,3)}function hB(){let t,e,r,n,o=new ho,l=T(22984);for(e=0;e<22984;e++)l[e]=0;for(t=0,e=0;e<735471;++e)if((l[~~e>>>5]&1<<(e&31))==0){for(Gs(o,e),n=0;n<48;++n)r=Nl(o),l[~~r>>>5]|=1<<(r&31),Un!==null&&(Un[r]=t<<6|bn[n]),oe(o,0),n%2==1&&oe(o,1),n%8==7&&oe(o,2),n%16==15&&oe(o,3);Ql[t++]=e}}function yB(t){let e=fm(Ql,t);return e>=0?e:-1}function UB(){Ju||(Ju=!0,Hl=T(70,28),Vl=T(6435,28),of=T(70,16),rf=T(6435,16),Ze=T(450450),nf=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,1,0,1,0,0,0])}function jl(t){let e,r,n;for(r=0,n=8,e=14;e>=0;--e)t.ct[e]!==t.ct[15]&&(r+=Le[e][n--]);return r}function ql(t){let e,r,n;for(r=0,n=4,e=6;e>=0;--e)t.rl[e]!==t.rl[7]&&(r+=Le[e][n--]);return r*2+t.parity}function xn(t,e){t.parity^=nf[e];let r=e%3;switch(e=~~(e/3),e){case 0:D(t.ct,0,1,2,3,r);break;case 1:D(t.rl,0,1,2,3,r);break;case 2:D(t.ct,8,9,10,11,r);break;case 3:D(t.ct,4,5,6,7,r);break;case 4:D(t.rl,4,5,6,7,r);break;case 5:D(t.ct,12,13,14,15,r);break;case 6:D(t.ct,0,1,2,3,r),D(t.rl,0,5,4,1,r),D(t.ct,8,9,12,13,r);break;case 7:D(t.rl,0,1,2,3,r),D(t.ct,1,15,5,9,r),D(t.ct,2,12,6,10,r);break;case 8:D(t.ct,8,9,10,11,r),D(t.rl,0,3,6,5,r),D(t.ct,3,2,5,4,r);break;case 9:D(t.ct,4,5,6,7,r),D(t.rl,3,2,7,6,r),D(t.ct,11,10,15,14,r);break;case 10:D(t.rl,4,5,6,7,r),D(t.ct,0,8,4,14,r),D(t.ct,3,11,7,13,r);break;case 11:D(t.ct,12,13,14,15,r),D(t.rl,1,4,7,2,r),D(t.ct,1,0,7,6,r)}}function wn(t,e){switch(e){case 0:xn(t,19),xn(t,28);break;case 1:xn(t,21),xn(t,32);break;case 2:D(t.ct,0,3,1,2,1),D(t.ct,8,11,9,10,1),D(t.ct,4,7,5,6,1),D(t.ct,12,15,13,14,1),D(t.rl,0,3,5,6,1),D(t.rl,1,2,4,7,1)}}function $u(t,e,r){let n;for(n=0;n<16;++n)t.ct[n]=~~(e.ct[n]/2);for(n=0;n<8;++n)t.rl[n]=e.ct[n+16];t.parity=r}function ef(t,e){let r,n;for(n=8,t.ct[15]=0,r=14;r>=0;--r)e>=Le[r][n]?(e-=Le[r][n--],t.ct[r]=1):t.ct[r]=0}function tf(t,e){let r,n;for(t.parity=e&1,e>>>=1,n=4,t.rl[7]=0,r=6;r>=0;--r)e>=Le[r][n]?(e-=Le[r][n--],t.rl[r]=1):t.rl[r]=0}function Is(){this.rl=T(8),this.ct=T(16)}function bB(){let t,e,r,n,o,l,i,s,u,a,f=new Is;for(o=0;o<70;++o)for(s=0;s<28;++s)tf(f,o),xn(f,Ir[s]),Hl[o][s]=ql(f);for(o=0;o<70;++o)for(tf(f,o),i=0;i<16;++i)of[o][i]=ql(f),wn(f,0),i%2==1&&wn(f,1),i%8==7&&wn(f,2);for(o=0;o<6435;++o)for(ef(f,o),i=0;i<16;++i)rf[o][i]=jl(f)&65535,wn(f,0),i%2==1&&wn(f,1),i%8==7&&wn(f,2);for(o=0;o<6435;++o)for(s=0;s<28;++s)ef(f,o),xn(f,Ir[s]),Vl[o][s]=jl(f)&65535;for(ai(Ze),Ze[0]=Ze[18]=Ze[28]=Ze[46]=Ze[54]=Ze[56]=0,r=0,n=6;n!==450450;){let g=r>6,L=g?-1:r,B=g?r:-1;for(++r,o=0;o<450450;++o)if(Ze[o]===L){for(t=~~(o/70),u=o%70,s=0;s<23;++s)if(e=Vl[t][s],a=Hl[u][s],l=e*70+a,Ze[l]===B)if(++n,g){Ze[o]=r;break}else Ze[l]=r}}}function SB(){lf||(lf=!0,Uo=T(29400,20),af=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1],mr=T(29400),_s=[0,9,14,23,27,28,41,42,46,55,60,69],Ks=T(70))}function Ns(t){let e,r,n,o;for(r=0,o=4,e=6;e>=0;--e)t.ud[e]!==t.ud[7]&&(r+=Le[e][o--]);for(r*=35,o=4,e=6;e>=0;--e)t.fb[e]!==t.fb[7]&&(r+=Le[e][o--]);r*=12;let l=t.fb[7]^t.ud[7];for(n=0,o=4,e=7;e>=0;--e)t.rl[e]!==l&&(n+=Le[e][o--]);return t.parity+2*(r+Ks[n])}function xB(t,e){switch(t.parity^=af[e],e){case 0:case 1:case 2:D(t.ud,0,1,2,3,e%3);break;case 3:D(t.rl,0,1,2,3,1);break;case 4:case 5:case 6:D(t.fb,0,1,2,3,(e-1)%3);break;case 7:case 8:case 9:D(t.ud,4,5,6,7,(e-1)%3);break;case 10:D(t.rl,4,5,6,7,1);break;case 11:case 12:case 13:D(t.fb,4,5,6,7,(e+1)%3);break;case 14:D(t.ud,0,1,2,3,1),D(t.rl,0,5,4,1,1),D(t.fb,0,5,4,1,1);break;case 15:D(t.rl,0,1,2,3,1),D(t.fb,1,4,7,2,1),D(t.ud,1,6,5,2,1);break;case 16:D(t.fb,0,1,2,3,1),D(t.ud,3,2,5,4,1),D(t.rl,0,3,6,5,1);break;case 17:D(t.ud,4,5,6,7,1),D(t.rl,3,2,7,6,1),D(t.fb,3,2,7,6,1);break;case 18:D(t.rl,4,5,6,7,1),D(t.fb,0,3,6,5,1),D(t.ud,0,3,4,7,1);break;case 19:D(t.fb,4,5,6,7,1),D(t.ud,0,7,6,1,1),D(t.rl,1,4,7,2,1)}}function sf(t,e,r){let n,o=(e.ct[0]>e.ct[8]?1:0)^(e.ct[8]>e.ct[16]?1:0)^(e.ct[0]>e.ct[16]?1:0)?1:0;for(n=0;n<8;++n)t.ud[n]=e.ct[n]&1^1,t.fb[n]=e.ct[n+8]&1^1,t.rl[n]=e.ct[n+16]&1^1^o;t.parity=o^r}function wB(t,e){let r,n,o,l;for(t.parity=e&1,e>>>=1,o=_s[e%12],e=~~(e/12),l=4,r=7;r>=0;--r)t.rl[r]=0,o>=Le[r][l]&&(o-=Le[r][l--],t.rl[r]=1);for(n=e%35,e=~~(e/35),l=4,t.fb[7]=0,r=6;r>=0;--r)n>=Le[r][l]?(n-=Le[r][l--],t.fb[r]=1):t.fb[r]=0;for(l=4,t.ud[7]=0,r=6;r>=0;--r)e>=Le[r][l]?(e-=Le[r][l--],t.ud[r]=1):t.ud[r]=0}function Os(){this.ud=T(8),this.rl=T(8),this.fb=T(8)}function vB(){let t,e,r,n;for(r=0;r<12;++r)Ks[_s[r]]=r;let o=new Os;for(r=0;r<29400;++r)for(n=0;n<20;++n)wB(o,r),xB(o,n),Uo[r][n]=Ns(o)&65535;for(ai(mr),mr[0]=0,t=0,e=1;e!==29400;){for(r=0;r<29400;++r)if(mr[r]===t)for(n=0;n<17;++n)mr[Uo[r][n]]===-1&&(mr[Uo[r][n]]=t+1,++e);++t}}function EB(t,e){let r;for(r=0;r<24;++r)t.ct[r]=e.ct[r]}function kB(t,e){let r=e%3;switch(e=~~(e/3),e){case 0:D(t.ct,0,1,2,3,r);break;case 1:D(t.ct,16,17,18,19,r);break;case 2:D(t.ct,8,9,10,11,r);break;case 3:D(t.ct,4,5,6,7,r);break;case 4:D(t.ct,20,21,22,23,r);break;case 5:D(t.ct,12,13,14,15,r);break;case 6:D(t.ct,0,1,2,3,r),D(t.ct,8,20,12,16,r),D(t.ct,9,21,13,17,r);break;case 7:D(t.ct,16,17,18,19,r),D(t.ct,1,15,5,9,r),D(t.ct,2,12,6,10,r);break;case 8:D(t.ct,8,9,10,11,r),D(t.ct,2,19,4,21,r),D(t.ct,3,16,5,22,r);break;case 9:D(t.ct,4,5,6,7,r),D(t.ct,10,18,14,22,r),D(t.ct,11,19,15,23,r);break;case 10:D(t.ct,20,21,22,23,r),D(t.ct,0,8,4,14,r),D(t.ct,3,11,7,13,r);break;case 11:D(t.ct,12,13,14,15,r),D(t.ct,1,20,7,18,r),D(t.ct,0,23,6,17,r)}}function Ws(){let t;for(this.ct=T(24),t=0;t<24;++t)this.ct[t]=~~(t/4)}function uf(t){let e,r,n;for(Ws.call(this),e=0;e<23;++e)n=e+t(24-e),this.ct[n]!==this.ct[e]&&(r=this.ct[e],this.ct[e]=this.ct[n],this.ct[n]=r)}function zB(){ff||(ff=!0,Bt=T(18),MB())}function gf(t){t.cp=[0,1,2,3,4,5,6,7],t.co=[0,0,0,0,0,0,0,0]}function Lf(t,e){let r;for(r=0;r<8;++r)t.cp[r]=e.cp[r],t.co[r]=e.co[r]}function CB(t,e){!t.temps&&(t.temps=new Yl),Bf(t,Bt[e],t.temps),Lf(t,t.temps)}function PB(t,e){let r,n;for(n=0,r=6;r>=0;--r)n+=t.co[r]=e%3,e=~~(e/3);t.co[7]=(15-n)%3}function Bf(t,e,r){let n,o,l,i;for(n=0;n<8;++n)r.cp[n]=t.cp[e.cp[n]],l=t.co[e.cp[n]],i=e.co[n],o=l,o=o+(l<3?i:6-i),o=o%3,(l>=3?1:0)^(i>=3?1:0)&&(o=o+3),r.co[n]=o}function Yl(){gf(this)}function cr(t,e){gf(this),Nu(this.cp,t),PB(this,e)}function mf(t){cr.call(this,t(40320),t(2187))}function MB(){let t,e;for(Bt[0]=new cr(15120,0),Bt[3]=new cr(21021,1494),Bt[6]=new cr(8064,1236),Bt[9]=new cr(9,0),Bt[12]=new cr(1230,412),Bt[15]=new cr(224,137),t=0;t<18;t+=3)for(e=0;e<2;++e)Bt[t+e+1]=new Yl,Bf(Bt[t+e],Bt[t],Bt[t+e+1])}function GB(){cf||(cf=!0,St=T(1937880),$l=T(1538),ei=T(1538),Cn=T(11880),Af=[0,1,6,3,4,5,2,7],Vs=T(160,12),Hs=T(160,12),qs=[1,1,1,3,12,60,360,2520,20160,181440,1814400,19958400,239500800],js=[0,2,4,6,1,3,7,5,8,9,10,11])}function vn(t,e,r,n,o){let l=t.edgeo[o];t.edgeo[o]=t.edge[n],t.edge[n]=t.edgeo[r],t.edgeo[r]=t.edge[e],t.edge[e]=l}function En(t,e){let r,n,o,l,i;for(t.isStd||df(t),n=0,i=1985229328,l=47768,r=0;r<e;++r)o=t.edge[r]<<2,n*=12-r,o>=32?(n+=l>>o-32&15,l-=4368<<o-32):(n+=i>>o&15,l-=4369,i-=286331152<<o);return n}function pf(t){let e,r=En(t,4);e=Cn[r];let n=e&7;e>>=3,Xl(t,n);let o=En(t,10)%20160;return e*20160+o}function Zl(t,e){switch(t.isStd=!1,e){case 0:se(t.edge,0,4,1,5),se(t.edgeo,0,4,1,5);break;case 1:ce(t.edge,0,4,1,5),ce(t.edgeo,0,4,1,5);break;case 2:se(t.edge,0,5,1,4),se(t.edgeo,0,5,1,4);break;case 3:ce(t.edge,5,10,6,11),ce(t.edgeo,5,10,6,11);break;case 4:se(t.edge,0,11,3,8),se(t.edgeo,0,11,3,8);break;case 5:ce(t.edge,0,11,3,8),ce(t.edgeo,0,11,3,8);break;case 6:se(t.edge,0,8,3,11),se(t.edgeo,0,8,3,11);break;case 7:se(t.edge,2,7,3,6),se(t.edgeo,2,7,3,6);break;case 8:ce(t.edge,2,7,3,6),ce(t.edgeo,2,7,3,6);break;case 9:se(t.edge,2,6,3,7),se(t.edgeo,2,6,3,7);break;case 10:ce(t.edge,4,8,7,9),ce(t.edgeo,4,8,7,9);break;case 11:se(t.edge,1,9,2,10),se(t.edgeo,1,9,2,10);break;case 12:ce(t.edge,1,9,2,10),ce(t.edgeo,1,9,2,10);break;case 13:se(t.edge,1,10,2,9),se(t.edgeo,1,10,2,9);break;case 14:ce(t.edge,0,4,1,5),ce(t.edgeo,0,4,1,5),se(t.edge,9,11),se(t.edgeo,8,10);break;case 15:ce(t.edge,5,10,6,11),ce(t.edgeo,5,10,6,11),se(t.edge,1,3),se(t.edgeo,0,2);break;case 16:ce(t.edge,0,11,3,8),ce(t.edgeo,0,11,3,8),se(t.edge,5,7),se(t.edgeo,4,6);break;case 17:ce(t.edge,2,7,3,6),ce(t.edgeo,2,7,3,6),se(t.edge,8,10),se(t.edgeo,9,11);break;case 18:ce(t.edge,4,8,7,9),ce(t.edgeo,4,8,7,9),se(t.edge,0,2),se(t.edgeo,1,3);break;case 19:ce(t.edge,1,9,2,10),ce(t.edgeo,1,9,2,10),se(t.edge,4,6),se(t.edgeo,5,7)}}function kn(t,e){switch(t.isStd=!1,e){case 0:Zl(t,14),Zl(t,17);break;case 1:vn(t,11,5,10,6),vn(t,5,10,6,11),vn(t,1,2,3,0),vn(t,4,9,7,8),vn(t,8,4,9,7),vn(t,0,1,2,3);break;case 2:mt(t,4,5),mt(t,5,4),mt(t,11,8),mt(t,8,11),mt(t,7,6),mt(t,6,7),mt(t,9,10),mt(t,10,9),mt(t,1,1),mt(t,0,0),mt(t,3,3),mt(t,2,2)}}function Xl(t,e){for(;e>=2;)e-=2,kn(t,1),kn(t,2);e!==0&&kn(t,0)}function bo(t,e){let r,n,o,l,i,s;for(i=1985229328,s=47768,o=0,r=0;r<11;++r)if(n=qs[11-r],l=~~(e/n),e=e%n,o^=l,l<<=2,l>=32){l=l-32,t.edge[r]=s>>l&15;let u=(1<<l)-1;s=(s&u)+(s>>4&~u)}else{t.edge[r]=i>>l&15;let u=(1<<l)-1;i=(i&u)+(i>>>4&~u)+(s<<28),s=s>>4}for((o&1)==0?t.edge[11]=i:(t.edge[11]=t.edge[10],t.edge[10]=i),r=0;r<12;++r)t.edgeo[r]=r;t.isStd=!0}function Rf(t,e){let r;for(r=0;r<12;++r)t.edge[r]=e.edge[r],t.edgeo[r]=e.edgeo[r];t.isStd=e.isStd}function Df(t,e){let r,n,o,l;for(t.temp===null&&(t.temp=T(12)),r=0;r<12;++r)t.temp[r]=r,t.edge[r]=e.ep[js[r]+12]%12;for(n=1,r=0;r<12;++r)for(;t.edge[r]!==r;)l=t.edge[r],t.edge[r]=t.edge[l],t.edge[l]=l,o=t.temp[r],t.temp[r]=t.temp[l],t.temp[l]=o,n^=1;for(r=0;r<12;++r)t.edge[r]=t.temp[e.ep[js[r]]%12];return n}function df(t){let e;for(t.temp===null&&(t.temp=T(12)),e=0;e<12;++e)t.temp[t.edgeo[e]]=e;for(e=0;e<12;++e)t.edge[e]=t.temp[t.edge[e]],t.edgeo[e]=e;t.isStd=!0}function ce(t,e,r,n,o){let l;l=t[e],t[e]=t[n],t[n]=l,l=t[r],t[r]=t[o],t[o]=l}function mt(t,e,r){let n=t.edge[e];t.edge[e]=t.edgeo[r],t.edgeo[r]=n}function Ht(){this.edge=T(12),this.edgeo=T(12)}function TB(){let t,e,r,n,o,l,i,s,u,a,f,g,L,B,p,m,F,A,b,h,C,E,j=new Ht,te=new Ht,I=new Ht;for(ai(St),s=0,Jl=1,Qs(St,0,0);Jl!==31006080&&(p=s>9,i=s%3,l=(s+1)%3,a=p?3:i,t=p?i:3,!(s>=9));){for(g=0;g<31006080;g+=16)if(E=St[~~g>>4],!(!p&&E===-1)){for(f=g,u=g+16;f<u;++f,E>>=2)if((E&3)===a){for(b=~~(f/20160),e=$l[b],n=f%20160,bo(j,e*20160+n),F=0;F<17;++F)if(r=zn(j.edge,F<<3,4),h=Cn[r],C=h&7,h>>=3,o=zn(j.edge,F<<3|C,10)%20160,L=h*20160+o,So(St,L)===t){if(Qs(St,p?f:L,l),++Jl,p)break;if(A=ei[h],A!==1)for(Rf(te,j),Zl(te,F),Xl(te,C),m=1;(A=~~A>>1&65535)!=0;++m)(A&1)==1&&(Rf(I,te),Xl(I,m),B=h*20160+En(I,10)%20160,So(St,B)===t&&(Qs(St,B,l),++Jl))}}}++s}}function So(t,e){return t[e>>4]>>((e&15)<<1)&3}function zn(t,e,r){let n,o,l,i,s,u=Hs[e],a=Vs[e];for(o=0,s=1985229328,i=47768,n=0;n<r;++n)l=u[t[a[n]]]<<2,o*=12-n,l>=32?(o+=i>>l-32&15,i-=4368<<l-32):(o+=s>>l&15,i-=4369,s-=286331152<<l);return o}function Ff(t){let e,r,n,o,l,i,s,u,a,f,g,L=new Ht;if(i=0,l=So(St,t),l===3)return 10;for(;t!==0;)for(l===0?l=2:--l,a=~~(t/20160),e=$l[a],n=t%20160,bo(L,e*20160+n),u=0;u<17;++u)if(r=zn(L.edge,u<<3,4),f=Cn[r],g=f&7,f>>=3,o=zn(L.edge,u<<3|g,10)%20160,s=f*20160+o,So(St,s)===l){++i,t=s;break}return i}function IB(t,e){let r=So(St,t);return r===3?10:(1227133513<<r>>e&3)+e-1}function NB(){let t,e,r,n=new Ht;for(e=0;e<20;++e)for(r=0;r<8;++r){for(bo(n,0),Zl(n,e),Xl(n,r),t=0;t<12;++t)Vs[e<<3|r][t]=n.edge[t];for(df(n),t=0;t<12;++t)Hs[e<<3|r][t]=n.temp[t]}}function OB(){let t,e,r,n,o=new Ht,l=T(1485);for(e=0;e<1485;e++)l[e]=0;for(t=0,e=0;e<11880;++e)if((l[~~e>>>3]&1<<(e&7))==0){for(bo(o,e*qs[8]),n=0;n<8;++n)r=En(o,4),r===e&&(ei[t]=(ei[t]|1<<n)&65535),l[~~r>>3]=l[~~r>>3]|1<<(r&7),Cn[r]=t<<3|Af[n],kn(o,0),n%2==1&&(kn(o,1),kn(o,2));$l[t++]=e}}function Qs(t,e,r){t[e>>4]^=(3^r)<<((e&15)<<1)}function _B(){hf||(hf=!0)}function KB(t){let e,r,n;for(e=0,n=!1,r=0;r<12;++r)e|=1<<t.ep[r],n=n!==t.ep[r]>=12;return e&=~~e>>12,e===0&&!n}function WB(t,e){let r;for(r=0;r<24;++r)t.ep[r]=e.ep[r]}function QB(t,e){let r=e%3;switch(e=~~(e/3),e){case 0:D(t.ep,0,1,2,3,r),D(t.ep,12,13,14,15,r);break;case 1:D(t.ep,11,15,10,19,r),D(t.ep,23,3,22,7,r);break;case 2:D(t.ep,0,11,6,8,r),D(t.ep,12,23,18,20,r);break;case 3:D(t.ep,4,5,6,7,r),D(t.ep,16,17,18,19,r);break;case 4:D(t.ep,1,20,5,21,r),D(t.ep,13,8,17,9,r);break;case 5:D(t.ep,2,9,4,10,r),D(t.ep,14,21,16,22,r);break;case 6:D(t.ep,0,1,2,3,r),D(t.ep,12,13,14,15,r),D(t.ep,9,22,11,20,r);break;case 7:D(t.ep,11,15,10,19,r),D(t.ep,23,3,22,7,r),D(t.ep,2,16,6,12,r);break;case 8:D(t.ep,0,11,6,8,r),D(t.ep,12,23,18,20,r),D(t.ep,3,19,5,13,r);break;case 9:D(t.ep,4,5,6,7,r),D(t.ep,16,17,18,19,r),D(t.ep,8,23,10,21,r);break;case 10:D(t.ep,1,20,5,21,r),D(t.ep,13,8,17,9,r),D(t.ep,14,0,18,4,r);break;case 11:D(t.ep,2,9,4,10,r),D(t.ep,14,21,16,22,r),D(t.ep,7,15,1,17,r)}}function Ys(){let t;for(this.ep=T(24),t=0;t<24;++t)this.ep[t]=t}function yf(t){let e,r,n;for(Ys.call(this),e=0;e<23;++e)n=e+t(24-e),n!==e&&(r=this.ep[e],this.ep[e]=this.ep[n],this.ep[n]=r)}function jB(){Uf||(Uf=!0,Zs=[35,1,34,2,4,6,22,5,19])}function bf(t){t.moveBuffer=T(60)}function qB(t,e){return t.value-e.value}function Pn(t,e){let r;for(WB(t.edge,e.edge),EB(t.center,e.center),Lf(t.corner,e.corner),t.value=e.value,t.add1=e.add1,t.length1=e.length1,t.length2=e.length2,t.length3=e.length3,t.sym=e.sym,r=0;r<60;++r)t.moveBuffer[r]=e.moveBuffer[r];t.moveLength=e.moveLength,t.edgeAvail=e.edgeAvail,t.centerAvail=e.centerAvail,t.cornerAvail=e.cornerAvail}function pr(t){for(;t.centerAvail<t.moveLength;)kB(t.center,t.moveBuffer[t.centerAvail++]);return t.center}function Sf(t){for(;t.cornerAvail<t.moveLength;)CB(t.corner,t.moveBuffer[t.cornerAvail++]%18);return t.corner}function xo(t){for(;t.edgeAvail<t.moveLength;)QB(t.edge,t.moveBuffer[t.edgeAvail++]);return t.edge}function VB(t){let e,r,n,o,l,i,s=new Array(t.moveLength-(t.add1?2:0));for(r=0,e=0;e<t.length1;++e)s[r++]=t.moveBuffer[e];for(i=t.sym,e=t.length1+(t.add1?2:0);e<t.moveLength;++e)bt[i][t.moveBuffer[e]]>=27?(s[r++]=bt[i][t.moveBuffer[e]]-9,o=Zs[bt[i][t.moveBuffer[e]]-27],i=Sn[i][o]):s[r++]=bt[i][t.moveBuffer[e]];let u=Sn[bn[i]][FB(pr(t))];for(l="",i=u,e=r-1;e>=0;--e)n=s[e],n=~~(n/3)*3+(2-n%3),bt[i][n]>=27?(l=l+Xs[bt[i][n]-9]+" ",o=Zs[bt[i][n]-27],i=Sn[i][o]):l=l+Xs[bt[i][n]]+" ";return l}function Tr(t,e){t.moveBuffer[t.moveLength++]=e}function ti(){bf(this),this.edge=new Ys,this.center=new Ws,this.corner=new Yl}function ri(t){ti.call(this),Pn(this,t)}function xf(t){bf(this),this.edge=new yf(t),this.center=new uf(t),this.corner=new mf(t)}function HB(t,e){return e.value-t.value}function ni(t,e){return HB(t,e)}function wf(){}function YB(){if(vf)return;vf=!0;let t,e;for(Xs=["U ","U2 ","U' ","R ","R2 ","R' ","F ","F2 ","F' ","D ","D2 ","D' ","L ","L2 ","L' ","B ","B2 ","B' ","Uw ","Uw2","Uw'","Rw ","Rw2","Rw'","Fw ","Fw2","Fw'","Dw ","Dw2","Dw'","Lw ","Lw2","Lw'","Bw ","Bw2","Bw'"],Ir=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,19,21,22,23,25,28,30,31,32,34,36],wo=[0,1,2,4,6,7,8,9,10,11,13,15,16,17,19,22,25,28,31,34,36],Ef=T(37),kf=T(37),Mn=T(37,36),oi=T(29,28),li=T(21,20),Js=T(36),vo=T(28),Gn=T(20),t=0;t<29;++t)Ef[Ir[t]]=t;for(t=0;t<21;++t)kf[wo[t]]=t;for(t=0;t<36;++t){for(e=0;e<36;++e)Mn[t][e]=~~(t/3)==~~(e/3)||~~(t/3)%3==~~(e/3)%3&&t>e;Mn[36][t]=!1}for(t=0;t<29;++t)for(e=0;e<28;++e)oi[t][e]=Mn[Ir[t]][Ir[e]];for(t=0;t<21;++t)for(e=0;e<20;++e)li[t][e]=Mn[wo[t]][wo[e]];for(t=0;t<36;++t)for(Js[t]=36,e=t;e<36;++e)if(!Mn[t][e]){Js[t]=e-1;break}for(t=0;t<28;++t)for(vo[t]=28,e=t;e<28;++e)if(!oi[t][e]){vo[t]=e-1;break}for(t=0;t<20;++t)for(Gn[t]=20,e=t;e<20;++e)if(!li[t][e]){Gn[t]=e-1;break}}function ZB(t){let e,r,n,o,l,i,s,u,a,f,g,L;t.solution="";let B=Ol(new Kl(pr(t.c),0)),p=Ol(new Kl(pr(t.c),1)),m=Ol(new Kl(pr(t.c),2)),F=Ut[~~B>>6],A=Ut[~~p>>6],b=Ut[~~m>>6];for(t.p1SolsCnt=0,t.arr2idx=0,lm(t.p1sols.heap),t.length1=(F<A?F:A)<b?F<A?F:A:b;t.length1<100&&!(b<=t.length1&&ii(t,~~m>>>6,m&63,t.length1,-1,0)||F<=t.length1&&ii(t,~~B>>>6,B&63,t.length1,-1,0)||A<=t.length1&&ii(t,~~p>>>6,p&63,t.length1,-1,0));++t.length1);let h=pm(t.p1sols,zs(Dm,Br([aB,Es,ks]),Wu,0,0));h.sort(function(j,te){return j.value-te.value}),e=9;do{e:for(u=h[0].value;u<100;++u)for(i=0;i<h.length&&!(h[i].value>u);++i)if(!(u-h[i].length1>e)&&(Pn(t.c1,h[i]),$u(t.ct2,pr(t.c1),si(xo(t.c1).ep)),g=jl(t.ct2),L=ql(t.ct2),t.length1=h[i].length1,t.length2=u-h[i].length1,zf(t,g,L,t.length2,28,0)))break e;++e}while(u===100);t.arr2.sort(function(j,te){return j.value-te.value}),s=0,r=13;do{e:for(a=t.arr2[0].value;a<100;++a)for(i=0;i<Math.min(t.arr2idx,100)&&!(t.arr2[i].value>a);++i)if(!(a-t.arr2[i].length1-t.arr2[i].length2>r)&&(l=Df(t.e12,xo(t.arr2[i])),sf(t.ct3,pr(t.arr2[i]),l^si(Sf(t.arr2[i]).cp)),n=Ns(t.ct3),o=En(t.e12,10),f=Ff(pf(t.e12)),f<=a-t.arr2[i].length1-t.arr2[i].length2&&Cf(t,o,n,f,a-t.arr2[i].length1-t.arr2[i].length2,20,0))){s=i;break e}++r}while(a===100);let C=new ri(t.arr2[s]);t.length1=C.length1,t.length2=C.length2;let E=a-t.length1-t.length2;for(i=0;i<E;++i)Tr(C,wo[t.move3[i]]);t.solution=VB(C)}function XB(t,e){let r,n;for(Pn(t.c1,t.c),r=0;r<t.length1;++r)Tr(t.c1,t.move1[r]);switch(Ts[e]){case 0:Tr(t.c1,24),Tr(t.c1,35),t.move1[t.length1]=24,t.move1[t.length1+1]=35,t.add1=!0,e=19;break;case 12869:Tr(t.c1,18),Tr(t.c1,29),t.move1[t.length1]=18,t.move1[t.length1+1]=29,t.add1=!0,e=34;break;case 735470:t.add1=!1,e=0}$u(t.ct2,pr(t.c1),si(xo(t.c1).ep));let o=jl(t.ct2),l=ql(t.ct2),i=Ze[o*70+l];return t.c1.value=i+t.length1,t.c1.length1=t.length1,t.c1.add1=t.add1,t.c1.sym=e,++t.p1SolsCnt,t.p1sols.heap.size<500?n=new ri(t.c1):(n=mm(t.p1sols),n.value>t.c1.value&&Pn(n,t.c1)),rm(t.p1sols,n),t.p1SolsCnt===1e4}function JB(t){let e;for(Pn(t.c2,t.c1),e=0;e<t.length2;++e)Tr(t.c2,t.move2[e]);if(!KB(xo(t.c2)))return!1;let r=Df(t.e12,xo(t.c2));sf(t.ct3,pr(t.c2),r^si(Sf(t.c2).cp));let n=Ns(t.ct3);En(t.e12,10);let o=Ff(pf(t.e12));return t.arr2[t.arr2idx]?Pn(t.arr2[t.arr2idx],t.c2):t.arr2[t.arr2idx]=new ri(t.c2),t.arr2[t.arr2idx].value=t.length1+t.length2+Math.max(o,mr[n]),t.arr2[t.arr2idx].length2=t.length2,++t.arr2idx,t.arr2idx===t.arr2.length}function $B(t,e){return Mf(),t.c=new xf(e),ZB(t),t.solution}function ii(t,e,r,n,o,l){let i,s,u,a,f,g;if(e===0)return n===0&&XB(t,r);for(i=0;i<27;i+=3)if(!(i===o||i===o-9||i===o-18))for(a=0;a<3;++a){if(u=i+a,s=Wl[e][bt[r][u]],f=Ut[~~s>>>6],f>=n){if(f>n)break;continue}if(g=Sn[r][s&63],s>>>=6,t.move1[l]=u,ii(t,s,g,n-1,i,l+1))return!0}return!1}function zf(t,e,r,n,o,l){let i,s,u,a;if(e===0&&Ze[r]===0)return n===0&&JB(t);for(s=0;s<23;++s){if(oi[o][s]){s=vo[s];continue}if(i=Vl[e][s],a=Hl[r][s],u=Ze[i*70+a],u>=n){u>n&&(s=vo[s]);continue}if(t.move2[l]=Ir[s],zf(t,i,a,n-1,s,l+1))return!0}return!1}function Cf(t,e,r,n,o,l,i){let s,u,a,f,g,L,B,p,m;if(o===0)return e===0&&r===0;for(bo(t.tempe[i],e),g=0;g<17;++g){if(li[l][g]){g=Gn[g];continue}if(a=Uo[r][g],L=mr[a],L>=o){L>o&&g<14&&(g=Gn[g]);continue}if(f=zn(t.tempe[i].edge,g<<3,10),s=~~(f/20160),p=Cn[s],m=p&7,p>>=3,u=zn(t.tempe[i].edge,g<<3|m,10)%20160,B=IB(p*20160+u,n),B>=o){B>o&&g<14&&(g=Gn[g]);continue}if(Cf(t,f,a,B,o-1,g,i+1))return t.move3[i]=g,!0}return!1}function Pf(){let t;for(this.p1sols=new Wf(new wf),this.move1=T(15),this.move2=T(20),this.move3=T(20),this.c1=new ti,this.c2=new ti,this.ct2=new Is,this.ct3=new Os,this.e12=new Ht,this.tempe=T(20),this.arr2=T(100),t=0;t<20;++t)this.tempe[t]=new Ht}function Mf(){Gf||(AB(),Un=T(735471),hB(),DB(),Un=null,dB(),bB(),vB(),NB(),OB(),TB(),Gf=!0)}function em(){Tf||(Tf=!0)}function si(t){let e,r,n,o;for(o=0,e=0,n=t.length;e<n;++e)for(r=e;r<n;++r)t[e]>t[r]&&(o^=1);return o}function D(t,e,r,n,o,l){let i;switch(l){case 0:i=t[o],t[o]=t[n],t[n]=t[r],t[r]=t[e],t[e]=i;return;case 1:i=t[e],t[e]=t[n],t[n]=i,i=t[r],t[r]=t[o],t[o]=i;return;case 2:i=t[e],t[e]=t[r],t[r]=t[n],t[n]=t[o],t[o]=i;return}}function If(){}function Nf(t,e,r,n){let o=new If;return o.typeName=t+e,_f(r!==0?-r:0)&&Kf(r!==0?-r:0,o),o.modifiers=4,o.superclass=$s,o.componentType=n,o}function Of(t,e,r,n){let o=new If;return o.typeName=t+e,_f(r)&&Kf(r,o),o.superclass=n,o}function tm(t){let e=Ao[t.seedId];return t=null,e}function _f(t){return typeof t=="number"&&t>0}function Kf(t,e){let r;if(e.seedId=t,t===2)r=String.prototype;else if(t>0){let n=tm(e);if(n)r=n.prototype;else{n=Ao[t]=function(){},n.___clazz$=e;return}}else return;r.___clazz$=e}function rm(t,e){if(Bm(t,e))return!0}function nm(t){t.array=zs(Qf,Br([Es,ks]),_u,0,0)}function om(t,e){return Il(t.array,t.size++,e),!0}function lm(t){t.array=zs(Qf,Br([Es,ks]),_u,0,0),t.size=0}function Rr(t,e){return t.array[e]}function im(t,e){let r=t.array[e];return um(t.array,e,1),--t.size,r}function Tn(t,e,r){let n=t.array[e];return Il(t.array,e,r),n}function sm(t,e){let r;for(e.length<t.size&&(e=LB(e,t.size)),r=0;r<t.size;++r)Il(e,r,t.array[r]);return e.length>t.size&&Il(e,t.size,null),e}function am(){nm(this),this.array.length=500}function um(t,e,r){t.splice(e,r)}function fm(t,e){let r,n,o,l;for(n=0,r=t.length-1;n<=r;)if(o=n+(~~(r-n)>>1),l=t[o],l<e)n=o+1;else if(l>e)r=o-1;else return o;return-n-1}function ai(t){gm(t,t.length)}function gm(t,e){let r;for(r=0;r<e;++r)t[r]=-1}function Lm(t,e){let r,n,o,l,i=t.heap.size,s=Rr(t.heap,e);for(;e*2+1<i&&(r=(n=2*e+1,o=n+1,l=n,o<i&&ni(Rr(t.heap,o),Rr(t.heap,n))<0&&(l=o),l),!(ni(s,Rr(t.heap,r))<0));)Tn(t.heap,e,Rr(t.heap,r)),e=r;Tn(t.heap,e,s)}function Bm(t,e){let r,n;for(n=t.heap.size,om(t.heap,e);n>0;){if(r=n,n=~~((n-1)/2),ni(Rr(t.heap,n),e)<=0)return Tn(t.heap,r,e),!0;Tn(t.heap,r,Rr(t.heap,n))}return Tn(t.heap,n,e),!0}function mm(t){if(t.heap.size===0)return null;let e=Rr(t.heap,0);return cm(t),e}function cm(t){let e=im(t.heap,t.heap.size-1);0<t.heap.size&&(Tn(t.heap,0,e),Lm(t,0))}function pm(t,e){return sm(t.heap,e)}function Wf(t){this.heap=new am,this.cmp=t}function Vf(){qf||(qf=!0,YB(),em(),RB(),UB(),SB(),GB(),zB(),_B(),jB(),jf=new Pf)}function dm(){Vf(),Mf()}async function Fm(){tt(),Vf();let t=k.fromString($B(jf,await st()));return(await yn()).concat(t)}var V,Ao,lB,_u,Es,Ku,iB,sB,Wu,aB,uB,fB,ks,Vu,Cs,Ps,Yu,Ut,Wl,Ts,Un,Ql,bn,bt,Sn,Ju,Vl,Ze,rf,nf,Hl,of,lf,Uo,af,mr,_s,Ks,ff,Bt,cf,js,Jl,St,qs,Vs,Hs,Cn,$l,Af,ei,hf,Uf,Zs,vf,Mn,oi,li,Ir,Xs,wo,Js,vo,Gn,Ef,kf,Gf,Tf,$s,Qf,Rm,Dm,jf,qf,Yf=U(()=>{Ae();ws();Ou();nr();_t();Ao={},lB={},_u=0,Es=30,Ku=21,iB=22,sB=23,Wu=24,aB=25,uB=34,fB=26,ks=40;at(1,-1,lB);V.value=null;at(73,1,{},Qu);V.queryId$=0;Vu=!1;Yu=!1;at(153,1,Br([Ku]),ho,Kl,yo);Un=null,Ju=!1;at(154,1,{},Is);V.parity=0;lf=!1;at(155,1,{},Os);V.parity=0;at(156,1,{},Ws,uf);ff=!1;at(157,1,Br([iB]),Yl,cr,mf);V.temps=null;cf=!1;at(158,1,Br([sB]),Ht);V.isStd=!0;V.temp=null;Jl=0,hf=!1;at(159,1,{},Ys,yf);Uf=!1;at(160,1,Br([Wu,uB]),ti,ri,xf);V.compareTo$=function(e){return qB(this,e)};V.add1=!1;V.center=null;V.centerAvail=0;V.corner=null;V.cornerAvail=0;V.edge=null;V.edgeAvail=0;V.length1=0;V.length2=0;V.length3=0;V.moveLength=0;V.sym=0;V.value=0;at(161,1,{},wf);V.compare=function(e,r){return ni(e,r)};vf=!1;at(163,1,Br([fB]),Pf);V.add1=!1;V.arr2idx=0;V.c=null;V.length1=0;V.length2=0;V.p1SolsCnt=0;V.solution="";Gf=!1,Tf=!1;V.val$outerIter=null;V.size=0;at(239,1,{},Wf);V.cmp=null;V.heap=null;$s=Of("java.lang.","Object",1,null),Qf=Nf("[Ljava.lang.","Object;",356,$s),Rm=Of("cs.threephase.","FullCube",160,$s),Dm=Nf("[Lcs.threephase.","FullCube;",381,Rm),qf=!1});var ta={};Ue(ta,{sgsDataFTO:()=>wm});async function wm(){return xm??(xm=vm())}async function vm(){return zt(await he.fto.kpuzzle(),\`SubgroupSizes 24 12 11 12 12 11 10 9 11 8 10 9 7 8 10 10 6 9 8 5 7 6 5 4 4 8 7 3 6 6 360
1149
+
1150
+ Alg T
1151
+ Alg B
1152
+ Alg B T
1153
+ Alg B'
1154
+ Alg B' T
1155
+ Alg U
1156
+ Alg U T
1157
+ Alg U'
1158
+ Alg U' T
1159
+ Alg B BL
1160
+ Alg B BL T
1161
+ Alg B BL'
1162
+ Alg B BL' T
1163
+ Alg B' BR
1164
+ Alg B' BR T
1165
+ Alg B' BR'
1166
+ Alg B' BR' T
1167
+ Alg U R'
1168
+ Alg U R' T
1169
+ Alg U' L
1170
+ Alg U' L T
1171
+ Alg B BL' D
1172
+ Alg B BL' D T
1173
+
1174
+ Alg R
1175
+ Alg R'
1176
+ Alg R D
1177
+ Alg R D'
1178
+ Alg R BR
1179
+ Alg R BR'
1180
+ Alg R' F
1181
+ Alg R' L
1182
+ Alg R' L'
1183
+ Alg B L B'
1184
+ Alg U L' U'
1185
+
1186
+ Alg B U B'
1187
+ Alg B U' B'
1188
+ Alg B R B'
1189
+ Alg B R' B'
1190
+ Alg B' U' B
1191
+ Alg B' U B L
1192
+ Alg B' U B L'
1193
+ Alg B' U' B BL'
1194
+ Alg B U' B' BR
1195
+ Alg B' R' B F
1196
+
1197
+ Alg BR
1198
+ Alg BR'
1199
+ Alg BR BL
1200
+ Alg BR BL'
1201
+ Alg BR' F
1202
+ Alg BR' F'
1203
+ Alg BR' D
1204
+ Alg B BR B'
1205
+ Alg U F U'
1206
+ Alg BR BL L
1207
+ Alg BR' D BR'
1208
+
1209
+ Alg B' BL B
1210
+ Alg B' BL' B
1211
+ Alg BR D' BR'
1212
+ Alg B' BL B D'
1213
+ Alg B' BL B BL
1214
+ Alg B' BL B BL'
1215
+ Alg B' BL L B
1216
+ Alg B' BL' B F'
1217
+ Alg B' BL' B L'
1218
+ Alg B' BL' B BL'
1219
+ Alg B' BL' L BL' B
1220
+
1221
+ Alg R' BR R
1222
+ Alg R' BR' R
1223
+ Alg BR BL' D BR
1224
+ Alg R' BR D R
1225
+ Alg R' BR D' R
1226
+ Alg R' BR R BL
1227
+ Alg B' D' BL D B
1228
+ Alg BR B D' B' BR'
1229
+ Alg BR BL' D BR L'
1230
+ Alg BR BL' D BL BR
1231
+
1232
+ Alg U BR U'
1233
+ Alg U BR' U'
1234
+ Alg U' R U
1235
+ Alg U' R' U
1236
+ Alg U BR B' U'
1237
+ Alg U BR' U' D
1238
+ Alg U BR' U' D'
1239
+ Alg U' R F' U
1240
+ Alg U' R' U L'
1241
+
1242
+ Alg U B U'
1243
+ Alg U B' U'
1244
+ Alg U B U' L
1245
+ Alg U B U' L'
1246
+ Alg U B' U' BL'
1247
+ Alg U B U' L F
1248
+ Alg U B U' L F'
1249
+ Alg U B' U' BL' D'
1250
+
1251
+ Alg B BL' L BL B'
1252
+ Alg B BL' L' BL B'
1253
+ Alg U B' D B U'
1254
+ Alg U B' D' B U'
1255
+ Alg U R D R' U'
1256
+ Alg U R D' R' U'
1257
+ Alg R' F L F' R
1258
+ Alg R' F L' F' R
1259
+ Alg B L' B F' D B
1260
+ Alg U B' D' B U' D
1261
+
1262
+ Alg F
1263
+ Alg F'
1264
+ Alg F D
1265
+ Alg F D'
1266
+ Alg F' L
1267
+ Alg F' L'
1268
+ Alg F D' BL
1269
+
1270
+ Alg F BL F'
1271
+ Alg F BL' F'
1272
+ Alg BR' BL BR
1273
+ Alg BR' BL' BR
1274
+ Alg F BR F' BR'
1275
+ Alg F BL F' BL'
1276
+ Alg F BL' F' L
1277
+ Alg F BL' L' F'
1278
+ Alg F BR' BL BR F'
1279
+
1280
+ Alg F' BL F
1281
+ Alg F' BL' F
1282
+ Alg U BL U'
1283
+ Alg U BL' U'
1284
+ Alg F U' F' U
1285
+ Alg F' BL F D'
1286
+ Alg F' BL F BL'
1287
+ Alg F' BL D F
1288
+
1289
+ Alg L
1290
+ Alg L'
1291
+ Alg L BL
1292
+ Alg L BL'
1293
+ Alg F' D F
1294
+ Alg L BL D
1295
+
1296
+ Alg L' BL L
1297
+ Alg L' BL' L
1298
+ Alg L' BL D L
1299
+ Alg L' BL D' L
1300
+ Alg L' BL L BL'
1301
+ Alg L' BL D' L BL
1302
+ Alg L' BL D' L BL'
1303
+
1304
+ Alg L D L'
1305
+ Alg L D' L'
1306
+ Alg R' D R
1307
+ Alg R' D' R
1308
+ Alg L D L' D'
1309
+ Alg L R L' R'
1310
+ Alg L' B' L B
1311
+ Alg R' D R BL
1312
+ Alg L BL' L' BL L'
1313
+
1314
+ Alg U L' D L U'
1315
+ Alg U B D B' U'
1316
+ Alg U L' D' L U'
1317
+ Alg U B D' B' U'
1318
+ Alg R' D' BL' D R
1319
+ Alg U B D' B' U' D
1320
+ Alg U B' L B L' U'
1321
+ Alg U B D B' U' BL'
1322
+ Alg U B D' B' L' D' L U'
1323
+
1324
+ Alg F L F'
1325
+ Alg F L' F'
1326
+ Alg F L F' D
1327
+ Alg F L F' D'
1328
+ Alg F L' F' BL'
1329
+
1330
+ Alg L BL' D BL L'
1331
+ Alg L BL' D' BL L'
1332
+ Alg F D L D' L' F'
1333
+ Alg F L D L' D' F'
1334
+ Alg F L' B' L B F'
1335
+ Alg F' D' R' D R F
1336
+ Alg F D L D' L' F' BL'
1337
+ Alg F' R' B' R' B R' F
1338
+
1339
+ Alg B D B'
1340
+ Alg B D' B'
1341
+ Alg L' D L
1342
+ Alg L' D' L
1343
+ Alg B D B' D'
1344
+ Alg B' L B L'
1345
+ Alg B D B' D' BL
1346
+
1347
+ Alg D
1348
+ Alg D'
1349
+ Alg D BL
1350
+ Alg D BL'
1351
+
1352
+ Alg D BL' D BL D'
1353
+ Alg D BL' D' BL D'
1354
+ Alg B D R D' R' B'
1355
+ Alg B R D R' D' B'
1356
+ Alg D BL' D BL D' BL
1357
+ Alg D BL' D BL D' BL'
1358
+
1359
+ Alg D BL D BL' D'
1360
+ Alg D BL D' BL' D'
1361
+ Alg B' BL' B BR D' BR'
1362
+ Alg D BL D BL' D' BL
1363
+ Alg D BL D BL' D' BL'
1364
+
1365
+ Alg D' BL D
1366
+ Alg D' BL' D
1367
+ Alg D' BL D BL
1368
+ Alg D' BL D BL'
1369
+
1370
+ Alg B D' B' BL B D B'
1371
+ Alg B D' B' BL' B D B'
1372
+ Alg D' BL' D BL D' BL D
1373
+
1374
+ Alg B R' B' BL B R B'
1375
+ Alg B R' B' BL' B R B'
1376
+ Alg L R L' BL' L R' L'
1377
+
1378
+ Alg F BL' B' BL F' BL' B
1379
+ Alg F' R' F BL F' R F
1380
+ Alg F' R' F BL' F' R F
1381
+ Alg BR R BR' BL' BR R' BR'
1382
+ Alg F L' BL U BL' U' L F'
1383
+ Alg F' U' F D F' U F D'
1384
+ Alg F BL F' D F BL' F' BL D'
1385
+
1386
+ Alg F D F U' F' U D' F'
1387
+ Alg F D F' BL F BL' D' F'
1388
+ Alg F U D BL' U' BL D' F'
1389
+ Alg F U' D F U F' D' F'
1390
+ Alg F' BR L F BR' F' L' F
1391
+ Alg U R BL' F BL F' R' U'
1392
+
1393
+ Alg BL
1394
+ Alg BL'
1395
+
1396
+ Alg F U BL U' BL' F'
1397
+ Alg F BL U BL' U' F'
1398
+ Alg U BL BR BL' BR' U'
1399
+ Alg BR F BL F' BL' BR'
1400
+ Alg F U' F' U BL' U BL U'
1401
+
1402
+ Alg F U' F' D F U F' D'
1403
+ Alg B' U' F U B U' F' U
1404
+ Alg D F U' F' D' F U F'
1405
+ Alg BR' U BR D' BR' U' BR D
1406
+ Alg D' BR BL' F BL' F' BL BR' BL D
1407
+
1408
+ Alg D BL D F' U' B L' BL' L R' BR' R L' BL L B' U F D
1409
+ Alg B D BR F' R' BR' R B' F D' BL D B BR' D' B'
1410
+ Alg L B' BR' L F BR L' B BR' L U F U' BR' F L BL BR'
1411
+ Alg L BL' D' BR' B R' U' R BR B' D BL' L'
1412
+ Alg B BR B' D' B D B F' R' B' R BR' B' BR F BR' BL
1413
+ Alg L' BL D L' D' L' D L' U' R' F' R U D'
1414
+ Alg U' L BL L U' D R' BL B' BL F' BL' B R BL' U D' L U
1415
+ Alg L BL BR' L U' D R' F' R BL' U BL D' BR L
1416
+ Alg D L' R F' R' L BL' BR BL' B' BL B BR' F BL' F' D'
1417
+ Alg B BL B BR' L R' U' R BR L' B
1418
+ Alg L B' R' BR B F BL D' BL' D BL' B' F' BR' R U B L'
1419
+ Alg D' L' BL F' D' BL' D B F' R' BR R B' F' BL' L D
1420
+ Alg B D' R D' R' BL BR' B BR' B' BL' D' BR B R' B' R B' BL' D'
1421
+ Alg U' L R' F U L' BL' L B BL' B' BL L U' L' F' R L' U
1422
+ Alg F' D BL' BR' BL' BR B' U' F L F' U B D F L U BL' U' L'
1423
+ Alg L' U BR' U D R' BL F R BL' U D' BR' L' BL' BR' L'
1424
+ Alg U' L' U' D R' BL B' BL F BL' B R BL' U D' L' BL' L' U
1425
+ Alg D F BL L' BL' B L' B' L' B L' B' L' BL L BL' F' D'
1426
+ Alg F' BR' B BL' BR BL B' F L' F' L B BR' B' BR L' F L BL'
1427
+ Alg F' L F' L U' D R' F R U D' L' BL' F L' F
1428
+ Alg F U' F' BR F' R' BR' U F' L' BL F' D' BL'
1429
+ Alg B BR' U R BR' R' BR U' B' BR
1430
+ Alg F' BR' B BR' R BR' BL' BR R' BR BL B' BR F
1431
+ Alg L' U BL B' U' BL U BL' B BR BL' BR' U' L
1432
+ Alg BR BL' BR' BL L' BL BR BL' BR' L
1433
+ Alg U BR' U' BR L' BL BR BL' BR' L
1434
+ Alg U' L F BL' F' BL F' BR F BR' L' U
1435
+ Alg F L F' BL D F' D' F BL' L'
1436
+ Alg U BR' U BR L BL BR BL' BR' L' U
1437
+ Alg F BR R BL' F' BL' F R' BL BR' BL F'
1438
+ Alg D BL D B U BR' D BR' L' U' BR' U BR L D' BR U' B' D
1439
+ Alg U BL' U' BL U BL D L' D BR D' L D BR U BR U D
1440
+ Alg B' U F U' B' U F' BR' U' B L B' U BR U' B L' B BL
1441
+ Alg B U' B BL U' BL L U' D R' F' R U' D' L' BL' U B
1442
+ Alg B L R F D' BR' D F' R' BL' U' L U L' U BL L' B'
1443
+ Alg D BL D F' BR' F BL' D R' BR' R F D' BL F' BR D
1444
+ Alg L' D F' R' U BR L BL B' BL B BL' BR' L' U' R D' L
1445
+ Alg F BL' U D L' U' BR R F' R' BR' U L D BL U' D BL F'
1446
+ Alg BR' BL' U' L' BL D F' L' F' L F L U L' D' BR L BL
1447
+ Alg B' L' BL U D R' F' R U D' L' BL L U BL' L B
1448
+ Alg B BL' L U B' L BL' L B' U' B' L' D L' U' B L' B' D'
1449
+ Alg B' R' L U L' R BR BL' B BR' B' BL B' BL' B'
1450
+ Alg F L R BL B' U' B R' BL' L' BL F' BL BR' BL L BL' BR L'
1451
+ Alg B' U' BL L U D R' F R U D' L' BL' U BL' B' U B'
1452
+ Alg U BR BL' BR' D' B D' F' D B' D' F BL' U' BL' F' BL' F D'
1453
+ Alg D' BL' D L BL L' D' BL D F' D F D' BL' D' BL D
1454
+ Alg B' BL' B' BL L' B' BL' F' D F L F' D' F BL' L BL' B L B
1455
+ Alg F BL' U D' BL' D' L' U' BR R F R' BR' U L U' D' BL F'
1456
+ Alg U' D' B D F' D' BR' D' BR D BR B' BL' D F BL U BL'
1457
+ Alg B BL BR D' BR L' R F R' BR' L D BL' BR' BL' B'
1458
+ Alg L' F L' U BR' U' BR L F' BR' L U BR U'
1459
+ Alg F' BL' D' BR' BL B' U' BL U B BL' BR D F
1460
+ Alg F' D' BR' U R' U BL U' R U' BL' BR D F
1461
+ Alg F U' BR F' U' BL' B U F BR' R F' U BL L
1462
+ Alg B' BL' U' BL U B BL' B BL BR BL' BR' B' BL
1463
+ Alg D' F' U BL U' L F U' F' U L' BL' F D
1464
+ Alg F' BL' D' BR' BL BR' F' BR U' B' BR' U R' BR' F'
1465
+ Alg B' U' B BL' B U' B BL' L U' L BL' L B
1466
+ Alg F' D' F U' F U F' BL F' BL' D F
1467
+ Alg F' D BR F' R F R' BR' F D'
1468
+ Alg D BL D B BR' D L' BL' L' BL' BR' BL L BL L D' BR B' D
1469
+ Alg B L BL L' BL' L' D F' R' BR R D' F L' BL' L' B'
1470
+ Alg B BL' F' BL BR D' BR' F D' B' D L F' BL' F L D L D' BL
1471
+ Alg B D' BR' D' BR' F D' BL' D' BL D BL F' D BR D' B'
1472
+ Alg B D' B U B' D B F' BR' F L' F BR F' L U' B BL
1473
+ Alg L BL' B' U BL L' BL L U L' BL' L BL' U' B BL' L'
1474
+ Alg U D F' D BR BL' BR' BL B D' F D B' D BR BL BR' U'
1475
+ Alg F' D BR L' U' R F' R' U BR' L D BR' BL BR D F
1476
+ Alg BR' L BL L' BL' BR BL' F BL' L R BL B' U B R' BL' L' F'
1477
+ Alg D BL BR D B F' R' U' BR' U R B' F D' BR' D'
1478
+ Alg D' B BR' D L' BL' L' BL' BR BL L BL L D' BR B' D' BL' D'
1479
+ Alg B U' R B' BL' B R' U' B BL' B' U' BL B' U' L U L'
1480
+ Alg B D' B' D' BR' BL BR D' B' L B BR' U B U' BL' BR BL L' BL'
1481
+ Alg B D BR' D' F BL' D' BL' D BL D F' BR D BR D B'
1482
+ Alg D' B D F' D' BR' D' BR D BR BL BR' BL' BR B' BL' D F
1483
+ Alg L BL B' U BL L' BL L U' L' BL' L BL' U' B BL L'
1484
+ Alg B' U B' D' B U' B' D BL' U BL' U' BL' B' U BL' U'
1485
+ Alg D' BR' B' L' U L' B' U B L U' L B BR D BL
1486
+ Alg L' D L' F U' F' L D' L' F U BR F' L F BR' F' L BL'
1487
+ Alg D BR D B F' R' U' BR U R B' F D' BR' BL' D'
1488
+ Alg BR BL D F BR' BL BR BL' BR F' BR' D' BL' BR'
1489
+ Alg BR' U' L' BL F' BL' F L BL' U BL BR
1490
+ Alg D' BR' B' U BR U' BL U' BL' U BR' B BR D
1491
+ Alg F U BR' U R U' BR B U' F' BL U' L' U BL' B'
1492
+ Alg B U' L F BR F' L F' BR' F L U B'
1493
+ Alg BR BL F BL' L F' BR' BL' F BL L' BL' F' BL
1494
+ Alg U' BR' L BL' BR L U' BR' U L' BL L' U' BR U'
1495
+ Alg L' F L' U BR' U' BR L F' L BL' BR BL BR'
1496
+ Alg F' D' BR' BL U R' U BL' U' R U' BR D F
1497
+ Alg F' BR' B F' U F BR U' BR' B' F BL BR BL'
1498
+ Alg L B' U' R' BR B F BL D' BL D BL' B' F' BR' R B L'
1499
+ Alg B F BL B L F BR' R' BL U' R BL' BR' F' L' F' BR' B
1500
+ Alg U BR F' D F BR' U' L' BL L' BL' L U L B' BL L' B U'
1501
+ Alg F' L B F BL B R U' R' B' BL' B' F' L BL L F
1502
+ Alg D BL D B BR' D BR' D' BR D BR BL BR' BL' D' B' D
1503
+ Alg D' BR' BL B BR B' BL' D BL D' B' BL B BR' BL' BR D
1504
+ Alg D F' U BR U' L U' BR' U L' D B D' F D B' D BL
1505
+ Alg L B BL' B L F R U' R' F' L' B' BL B' L' BL'
1506
+ Alg B D' B U B' D F' BR F L' F BR' F' L B U' B BL
1507
+ Alg B' BL L B' L' B' L B' BR' R' U' R BR L'
1508
+ Alg D' F' U' B L' BL' L R' BR R L' BL L B' U F D' BL' D'
1509
+ Alg B' F' BL' B' F U D' R BR R' BL U' BL' D B'
1510
+ Alg F' BL' D BL F BL' D' B' U' B D F' D' B' F U B
1511
+ Alg F' L' BL' L' B F BL B R U R' B' BL' B' F' L' F
1512
+ Alg L' BL U' D F D' BL' D BL F' BL' D' BL D F' U D' BL L
1513
+ Alg B' BR L R' U R BR F L' B' BL' B L F' BR L' B
1514
+ Alg B' L B' BR' B L' B' D F' U F D' F U' F' BR B' BL'
1515
+ Alg B' BR D' BL' BR' BL B L' R' L' R BR L D L BL BR' B BL
1516
+ Alg L' D F' L F L' F D' L' BL' L' D BL' BR' BL' BR BL' D'
1517
+ Alg B' F BR F BR L R' BL U R BL' BR L' B' BL' B' F
1518
+ Alg F L' F' BR' B BR' F' BR B' BR' F' L F' BR'
1519
+ Alg BR' B' BR BL' D' BR D BR' BL B
1520
+ Alg L' F L' U BR' U' L U' BR U F' L
1521
+ Alg F U' BR' R U' BR BL BR' U' BL' U' R' F' BR U
1522
+ Alg B' BR' R' U' BL D' BL U BL' D R BL' BR B
1523
+ Alg D BR' U' L BL' F' BL F L' BL U BL' BR D'
1524
+ Alg F' BL' D' F BR' BL BR BL' BR F' BR' D BL F
1525
+ Alg F' BR' BL' BR D' F' BR F BR' D BL F
1526
+ Alg F' BR R' BR BL' BR' R BR' BL F
1527
+ Alg B BR F' BR' B' F BL F BL' F'
1528
+ Alg B D' B U B' D BL' F R' F BL F' R B F' U' B BL
1529
+ Alg L BL' B' U L U L BL L B' BL B' U' BL' U' B' L' BL
1530
+ Alg L' BL' U' D F D' BL' D BL F BL' D' BL D F' U D' BL' L
1531
+ Alg F' L F' BL' D' BR' B R' U' R BR B' D BL' F L' F
1532
+ Alg U D' BR' D BR' U' L U BR L' D' BR D L U' L' BL
1533
+ Alg B' BR' B' BL B L F' BR' R' U' R BR F BR L' B
1534
+ Alg U' F' D BR' F' BR D L D L' U D' B D' B' F D' BL F
1535
+ Alg B F BL B F' L F BR' R' BL U' R BL' BR' F' BR' L' B
1536
+ Alg F' D' BL B BR' BL BR BL' BR' D' BR' D BR D F D' B' D
1537
+ Alg B' BR' B' BL B L F BR' R' U' R BR F' BR L' B
1538
+ Alg L' F BR L' R' BR BL' BR' R BR' BL B' L F' L' B L' BL'
1539
+ Alg B' U' BL' U D' BL' D F L' R U R' F' L U' BL U B
1540
+ Alg D' B D BL BR BL' BR' D' BR' D BR D' BR B' D' BL' D'
1541
+ Alg B' BR' L F' BR' R' U R BR F L' B' BL' B BR B
1542
+ Alg L U L' D' BR' D L U' L' U D' BR D BR BL BR' BL' U' BL'
1543
+ Alg F' L F' BL D' B BR' R' U R B' BR D BL F L' F
1544
+ Alg B' L B' BR' B L' F' R F' BL F R' F BL' B' BR B' BL'
1545
+ Alg F' L BL' BR' R' BL U R BR B L' B L B L' F BL' B
1546
+ Alg L' F D' BR U' BR' D BR' U BR L' B' L F' L' B L' BL'
1547
+ Alg B' BR' L F BR' R' U R BR F' L' B' BL' B BR B
1548
+ Alg L F' D' F BR' BL BR BL' BR F' BR' D F L'
1549
+ Alg F' BL' D F BL' F' BL D' BR' BL BR F
1550
+ Alg B' BR' R' BL D' BL U' BL' D BL' U R BR B
1551
+ Alg B' L BL' BR BL L' B' F BL F' BL' B BR' B
1552
+ Alg F U' BR' R BR F' U BL L U BL' B U'
1553
+ Alg B' BR B' BL F BL' B F' L BL' BR' BL L' B
1554
+ Alg U' L BL' U' R U' BL' U R' U BL' L' U
1555
+ Alg F U' BR' R' F' BR' F BL BR R BL' F' BR U
1556
+ Alg B U' L' F' BR F L' F BR' F' L' U B'
1557
+ Alg F' BR' B' F BR' BL' BR F BL B F' BL BR BL'
1558
+ Alg B BL' U' L U BL' B' BL' B' L' BL U B' U' BL L BL L
1559
+ Alg B R' U' B U R B' BR F D' B' D BL F' BL' BR' BL
1560
+ Alg U BL U' B BL U BL U' BL D' B U B' D B U' B
1561
+ Alg B BL B BL' B BR B' BL BR' R' L U' L' R B
1562
+ Alg U' L BL' B BL B' L' F U B' R U R' U F' U B BL
1563
+ Alg F' BL' D' BR' L' B' L B BL BR BL' B' L' B L D BL F BL
1564
+ Alg L B' L' F U B' R BR B BR' R' BR BL' BR' BL B U' F' BL
1565
+ Alg D' F BL B BR' B BR B' BL' D BL D' B' F' D
1566
+ Alg B' L' BL F U F' L' U B U' L F U' F' BL' L BL' B BL B
1567
+ Alg D BL D B U F' R' BR' R F U' B' D
1568
+ Alg B BR B' D' BL BR D BR D B' BL' B D BR' BL' D' BL' D'
1569
+ Alg B' R BR B' BR' R' B U' F' L B L' BL' F BL U BL'
1570
+ Alg U BR BL' BR' D' B D' F' D B' BL' BR BL BR' D' F U' D'
1571
+ Alg U' D' BR' U' BR' D' L' D BR' D' L D' BL' U' BL' U BL U'
1572
+ Alg L' F' BR F' R F' R' L F' BR' D L BL' L' BL D' F BL'
1573
+ Alg B D BL' D B U R BR R' U' B' D' BL D' B' BL
1574
+ Alg B' U L' U B BL L' F' BL F D' B' U B D B' L B L'
1575
+ Alg L BL' B' U L F R U' R' F' U L F' L B L' F
1576
+ Alg L' D R' U BR L BL B' BL' B BL' BR' L' U' R F D' L
1577
+ Alg D' B U F' R' BR R F U' B' D' BL' D'
1578
+ Alg B D BL' B' U' BL L' D L D' BL' U B BL B' D'
1579
+ Alg B U' BL' U' F U' B U B' F' U BL U' B U' B
1580
+ Alg U BR' U L BL' L U' BR U BR' L' BL BR L' U
1581
+ Alg F' D' BR' BL B' U' BL' U B BL' BR D BL F
1582
+ Alg B' L' B' F BL' F' BL F' BR F BR' B L B
1583
+ Alg F' BL' D' BR F' BR' F D BR' BL BR F
1584
+ Alg F D' F' U' F' D' BR D F' D' BR' D' F' U
1585
+ Alg BR' BL' U' BL L U' F U F' L' U BR
1586
+ Alg F BR R U' BR B U BR' F BR BL' BR D BL F
1587
+ Alg F' BR' F U' BL L' U BL' B' F' BL' BR D' BL F
1588
+ Alg B' U L' B' U L' D F L F' D' L U' B L U' L B L'
1589
+ Alg B BL B L F BR' R' U' R BR F' L' B
1590
+ Alg B D' B BR' R' U' B' U R BR U' D' F L' F' U L' D' L
1591
+ Alg L U' L' U B BL' U B BL B' U R B' BL B R' U B'
1592
+ Alg D F' D BL U' R U' BL' U R' U B D' F D B' D BL
1593
+ Alg B BL U B BR' L R' F' U' F R BR L' B' U' B'
1594
+ Alg B' U' B F' D F D' B' U B D BL F' BL' D' BL F
1595
+ Alg B D BR B F' U' R' BR' R U B' F BR' D' BL B'
1596
+ Alg L B' F R BL' U' R' BL B F' L U BR' U' BL L U BR U'
1597
+ Alg F' L F' BL L U' D R' F' R U D' L' F L' F
1598
+ Alg L U L' F' BL' F L B BL' U BL' U' BL B' BL L U' L
1599
+ Alg B' L F BR' R' U R BR F' L' B' BL' B'
1600
+ Alg U BR' U' L' U' BR' F' BR F BR D R' F R U D' L' BL' L'
1601
+ Alg B L BL L F' D R' BR' R F D' L BL L BL' L' B'
1602
+ Alg F' BL' D F' D' B D' B' U' D L D BR' L' F BR D' F U
1603
+ Alg B U B BR' L R' F' U F R BR L' B' U' BL' B'
1604
+ Alg U B' L BL' B L' U' L' BL L BL' L U BR F' D' F BR' U'
1605
+ Alg B BL' D BR B F' U' R' BR R U B' F BR' D' B'
1606
+ Alg B BR B F BR' U BL' L R BR' R' L' F' U BR U BL B BL'
1607
+ Alg B' BR' L R' U R BR L' B' BL' B'
1608
+ Alg B' U BR' R L F' BR' F L' R' BR U' B' BR B'
1609
+ Alg F' BL' F' BR R U' BR B F BR BL' D F U BL'
1610
+ Alg F' BR' B' U BR' F BR' F' BR U' BR B BR F
1611
+ Alg BR' BL' U' BL L' F' BL F BL' L U BR
1612
+ Alg U' L BL U' R U' BL U R' U BL L' U
1613
+ Alg F BR' F' U' L F BR U F' U' L' BL U BL'
1614
+ Alg L' F U' BR' U L' U BR U' L F' L
1615
+ Alg F' BR' B' U' BR' U F BR B U' BL U BR BL'
1616
+ Alg F' BR' U BR D' BR U' BR' D F
1617
+ Alg F BL' BR R BL' F' BL F R' BL BR' F'
1618
+ Alg L BL' B BL' U BL U' BL B' L' F' BL F L U' L U L
1619
+ Alg B F BL B F' L F' BR' R' BL U' R BL' BR' F BR' L' B
1620
+ Alg F BL B' F' BR B' BR' B L F BL B' BR B BL' BR' F' L' B
1621
+ Alg B F D' BL U R BL' BR' R' U' D B F' BL B
1622
+ Alg L B' U B' BR B BR U' BR' B L' F BL' B F' BR' B' BL'
1623
+ Alg U' L R' F L U L' BL' B BL B' L' BL L U' F' R L' U
1624
+ Alg BR BL F BL' F' L' F' BR' L B BR B' L' F L B BR' B' BL
1625
+ Alg B' BR' L F L' B' BL B L F' BR' R' U' R BR' L' B
1626
+ Alg D L U' BR U L U' R BL' F' R' F BL F' BR' U L D BL D
1627
+ Alg B F BL B F BR' L R' BL U' R BL' BR' L' F BR' B
1628
+ Alg L B' L' U L' B' U L' D F L' F' D' L U' B L U' B
1629
+ Alg B' BR L F' BR R' BL U R BL' BR F L' B' F BL' B' F'
1630
+ Alg B' BL L B L' B' BL' L' U BL' U R' L' R U' BL U' L B
1631
+ Alg B U' D' F D B BL' B' U D' R BR R' U' F' U D B'
1632
+ Alg D F L F' L' F R L' BL B L B' BL' L R' F' L D'
1633
+ Alg L BL D' B BR' R' U R B' BR D BL L'
1634
+ Alg D F D' B' U' B U' D F' D' F U B' U B F' BL'
1635
+ Alg D' BR' BL BR B' BL' B D BL' D' BL B BR' B' BL' BR D
1636
+ Alg U BR' U' L U R' L R BR L' B' L' B L U' L' BL'
1637
+ Alg BR' L R' U R BR B L' B L B L' BL' B
1638
+ Alg B BR' B U BR' R L F' BR F L' R' BR U' B
1639
+ Alg F' L B' BR' B L BL' L' B' BR B L BL L F
1640
+ Alg D F U' F' U D' BR U' D' F U F' D BR'
1641
+ Alg B' BL' BR D' BR' D BL BR' B BR
1642
+ Alg B BL U' BR' L U BR' F' BL D BL BR F BR
1643
+ Alg L' U BR BL BR' B' BL U' BL' U B BL' U' L
1644
+ Alg U B' BL U' L' BL' U' F BR' R' BR U F'
1645
+ Alg D BR' BL U' BL' L F' BL' F BL L' U BR D'
1646
+ Alg BR L' BL BR' BL' L BL' BR BL BR'
1647
+ Alg F BL F' BL' B F' BR F BR' B'
1648
+ Alg D BR L' U' R F' R' U BR L BL B' BL B BL' BR D'
1649
+ Alg D' BL' D BL D F' D' F D' BL' D L BL' L' D' BL D
1650
+ Alg B F D' F' U' BL' B U B' BL F D B U' B' U B' F' BL
1651
+ Alg B U F' D' R BR' R' U' D B BL B' U F U' B'
1652
+ Alg B BL B L B BR' F BR B' BR' R' U' R F' BR L' B
1653
+ Alg B BL B L F' U' F' U F BR' R' U' R BR' F BR' L' B
1654
+ Alg B' U' B F' D F D' B' U B U' D BL' F' BL D' F U BL
1655
+ Alg L F' BR B' F' R BL' U' R' BL B F' BR L BL BR L
1656
+ Alg D F' D' BL F' D' F R BL B' L U L' B R' F' BL' D F
1657
+ Alg B BL BR BL D' BR L' R F' R' BR' L D BR' BL' B'
1658
+ Alg B' L B' BR' B L' BL' U BL U' B' BR B' U BL' U'
1659
+ Alg D' B BR' F BL' F' D BR D' BL F' BR B' F D' BL' D'
1660
+ Alg B D F' L' R F D BR' D' F' R BR' L D B' BL' D' F D'
1661
+ Alg D L BL' F' R U R' B F' L BL' L' B' F' BL L' D'
1662
+ Alg B' BR' L F R' U R BR B BR' F' BR B' L' B' BL' B'
1663
+ Alg D L F BL F L BL' L D' BL' D' F' D' F' L BL D' BL'
1664
+ Alg D F BL F' BR B' BL' B BL BR' BL L' R F R' L D'
1665
+ Alg L BL' B' L B L B' L F R U R' B F'
1666
+ Alg F' D' BL F R B' L U' L' B R' BL' F' D F BL' D F D'
1667
+ Alg B' L' BL U' D' L' BL' L U' D R' F R U' BL' L B
1668
+ Alg L' F L' BL U' BL' U L F' L U' BL U BL'
1669
+ Alg D' F' BL L U' F U F' L' U BL' U' F D
1670
+ Alg B' U F D F' U F D' F U B U' F U
1671
+ Alg U B' BR' U R' U' R BR U' B
1672
+ Alg F' BL' D F BL F' BR F' BR' F BL' D' BL F
1673
+ Alg F' BR' BL' BR D BL' F BL F' D' BL F
1674
+ Alg U' F R F' BL' F R' F BL F U
1675
+ Alg F' BR F BR' L BL' BR' BL BR L'
1676
+ Alg F U' B F U' BR U BR' U F' U' B' U F'
1677
+ Alg D F' BR R F' R' F BR' D' F
1678
+ Alg B D' B U B' D B U' B BR BL BR' D BL BR BL BR' BL D'
1679
+ Alg B' U' L' D' F D' L' F' L D F' D L U B BL'
1680
+ Alg D L' F R L' BL B L' B' BL' L R' F' L F L' F' D'
1681
+ Alg D L' D' BL D F' D F D' BL' L BL D'
1682
+ Alg D' B R U' B' F' BL' L BL L' BL B F U R' BR' B' D
1683
+ Alg D L BL' F L BL L' B' F R U' R' B F BL L' D'
1684
+ Alg D F' BL F BL U BL F' D B D' F D B' D BR BL BR' U'
1685
+ Alg B F' BL B F' BR' F' L F R' U' R BL' BR BL F' L' B
1686
+ Alg L F BR B' D BL D' R U' R' D BL' D' B BR' F' L BL L
1687
+ Alg B F BL B F' BR' L R' U' R BL' BR BL L' B
1688
+ Alg D' B U BR' D BR' L' U' BR U BR L D' BR U' B' D' BL' D'
1689
+ Alg F' D' BR' BL' BR D' BR L' U' R F R' U BR' L D' F
1690
+ Alg D F U D' BL U' B D' F BR F' D' F' D BR' D B' BL
1691
+ Alg B U' D' F D BL' D' BR D' BR' D BL B' BL' B F' U D B'
1692
+ Alg L' BL' L' F BR B' D BL D' R U R' D BL' D' B BR' F' L'
1693
+ Alg B U F' U' B BL' B' U D' R BR R' D F U' B'
1694
+ Alg B L BL' U' L U' L' U R BL F D' BR D F' R' L' B'
1695
+ Alg B' L B' BR' B L' F' BL F BL' B' BR B' F U' F' U BL'
1696
+ Alg D' B BR R U' B' F' BL' L BL' L' BL B F U R' B' D
1697
+ Alg B BL' U' B BL' B D B D' B D B D' BL B' U BL B'
1698
+ Alg U BR' U' BR L' F BR' L' U BR U' L F' L
1699
+ Alg L' U BR BL BR' B U BR' U' BR B' BL' U' L
1700
+ Alg BR BL D BR' BL' L BL' BR BL L' BL D' BL' BR'
1701
+ Alg F' BL' D' BR' D BL BR' B U BR U' B' BR F
1702
+ Alg F U' F' D F' U' B' U F' U' B U' F' D'
1703
+ Alg B' U BR' R' U R U' BR B U'
1704
+ Alg L U BL U' BL' L' BL L' F' BL' F BL L BL'
1705
+ Alg U B' BL' BR' U F' BR' D' F BR' U BL' L' BL'
1706
+ Alg F BL' L' F' BL D' F' BR U' R' F' U F' BR'
1707
+ Alg U B U' BL L U' L' U BL' B'
1708
+ Alg U BL U' B BR' B U BL' U' BL L B' BR B L' B
1709
+ Alg B BL B L F' U' F U F BR' R' U' R BR' F' BR' L' B
1710
+ Alg B BR D L' D' F' D F D' F' D' F D' BR' L D' B D B
1711
+ Alg F' L B' L' F L' U' F R U R' F' L' U' B BL L'
1712
+ Alg B' L' F U F L' F R U' R' U L F R U R' U B F' BL
1713
+ Alg B U F' D' F' U R BR' R' U' F D B BL B' F U' B'
1714
+ Alg F BL U BL' U' F' BL L U' L D BR L' U L U' BR' U D' L
1715
+ Alg B U' D' B' F BL B BL' D' BR D BR' D BL D' F' U D B'
1716
+ Alg B BL' D' B' D B BL D BR' BL BR' R D R' BR BL' BR D' B'
1717
+ Alg B F U' F' D' F' U' R BL' BR' R' BL U' F D B BL B
1718
+ Alg D BR' BL B' BL' B BL' BR' L' U' R F R' U BR' L D'
1719
+ Alg B' F' U' F' BL' D' B BR' R' U R B' BR D F U B F
1720
+ Alg B' D' B' D BR L' D F' D F D F' D' F D L D' BR' B'
1721
+ Alg D' B F D BL' D' BL B BR' B' BR B' BL' F' D
1722
+ Alg B D B' F BL L' BL' F' L BL L' BL' BR L R L' R' BR' L' D'
1723
+ Alg B U B F' BL' B' D' F' U R BR R' U' F D F U' B'
1724
+ Alg BR BL' L' F' BR U F' U' BR L' B' BR' L F' BR L' B L'
1725
+ Alg D BL' L' BL D F' D' F D' BL' D L D'
1726
+ Alg F' BL' B F U' B U B' D' F' BL' B U' B' BL U F D B'
1727
+ Alg B' F' L BL' BR' R' BL U R BR L' B' F BL' B'
1728
+ Alg BR BL' BR' BL L' F L' BL' BR BL BR' L F' L
1729
+ Alg B BL BR' F U' L F U BR' F BL D BR' BL
1730
+ Alg B' BL' B' U BR' U' BR BL' BR BL BR' B BL B
1731
+ Alg BR' U' L F U' F' U L' BL' U BL BR
1732
+ Alg B U BR R' BR U' B' BR U' B' U BR' R' BR
1733
+ Alg B BR BL L BL BR' BL' L U' BL' U BL L BL' B'
1734
+ Alg F' BR' B BL' BR' R BR' BL BR R' BR B' BR F
1735
+ Alg F' BR' B U BR' U' B' BR BL' D' BR D BL F
1736
+ Alg D' F' BR U' R' F' U F' BR' F BL' L' F' BL
1737
+ Alg B BL U' L U L' BL' U B' U'
1738
+ Alg L' F' R B F' BR L' D' F' D BR' L B' F R' F BL L
1739
+ Alg D F BL L' BL' B L B' L B L B' L BL L BL' F' D'
1740
+ Alg B BL B BR' L R' U' R BR L' B U BR' U' BR BL' BR BL BR'
1741
+ Alg B' F R U' R' F' L' B L' B' L' B BL L'
1742
+ Alg B' L' F D R' F' L' U L F R' U D' L' B BL L F' L
1743
+ Alg D' L' BL F R' BR' R B' F D' BL D B F BL' L D
1744
+ Alg B' BR' R' U' BL' U' L R' F R F' L' R U' BL BR B BL
1745
+ Alg BR L BL BR L U' D R' BL F' R BL' U' D' BR U' L
1746
+ Alg BR L B' L F R F U F' U' R' L' B L F' BR' L BL
1747
+ Alg B F U D' R BL' BR' R' BL U' D B F' BL B
1748
+ Alg L' BL L' D B D' BL' B' D' L R' D R BL' U' L U BL'
1749
+ Alg L' D BL' U' R' BL F R U D' BR L' BL' BR' L'
1750
+ Alg U BR' U' L' BL' U BR U' L' B' F R BL' U R' BL B F' L'
1751
+ Alg BR L' BL' L' B' F R BL' U R' BL B F BR F BR L'
1752
+ Alg B' F' L F BR BL B' BR' B BL' F' L' B' BR B BR' B F BL'
1753
+ Alg B D BR B' D' BL' D B F' R' BR R F BR' D' B'
1754
+ Alg D BL' L' BL' L BL L' BL F' BL' L' F L BL F BL' L D'
1755
+ Alg U' D R' F R U L D' L D L D' BL' L
1756
+ Alg U D' BR D' L' D R F BR F' BR' R' BR' D' L U' D' BL'
1757
+ Alg B' F' BR' L R' BL U R BL' BR L' B' F BL' B'
1758
+ Alg L' F BL' F' BL F' BR F BR' L
1759
+ Alg L BL F' D F D' BL' F L' F'
1760
+ Alg F' D' BR U BR' D BR' U' BR F
1761
+ Alg BR' L BL' BR BL BR L' F' BR' F
1762
+ Alg B BR F BR' B' BR F' R' BR' BL' BR R BR' BL
1763
+ Alg BR' B U BR' R BR R' U' BR B'
1764
+ Alg F' BL' BR R' BR BL BR' R BR' F
1765
+ Alg BR L' BL BR' BL' BR' L U BR U'
1766
+ Alg U BR' U' BR BL' BR BL BR'
1767
+ \`)}var xm,ra=U(()=>{Ot();fn();xm=null});var lg={};Ue(lg,{cachedMegaminxKPuzzleWithoutMO:()=>Eo,cachedSGSDataMegaminx:()=>Gm,sgsDataMegaminx:()=>og});async function Cm(){let t=sn("megaminx",{allMoves:!0,addRotations:!0}),e=new Ie(t.getKPuzzleDefinition(!0),{experimentalPGNotation:new Sr(t,t.getOrbitsDef(!0))});return e.definition.name="megaminx",e}async function Eo(){return Pm??(Pm=Cm())}async function Gm(){return Mm??(Mm=og())}async function og(){return zt(await Eo(),\`SubgroupSizes 12 5 60 58 60 56 54 57 52 50 54 48 46 51 44 42 48 40 45 38 36 42 34 32 39 30 36 28 26 33 24 30 22 20 27 18 24 16 14 21 12 18 10 15 8 6 2 12 9 3
1768
+
1769
+ Alg Rv
1770
+ Alg Rv2
1771
+ Alg Rv2'
1772
+ Alg Rv'
1773
+ Alg Lv'
1774
+ Alg Lv2
1775
+ Alg Lv2'
1776
+ Alg Fv
1777
+ Alg Fv'
1778
+ Alg BRv2
1779
+ Alg Lv2 Rv'
1780
+
1781
+ Alg Uv
1782
+ Alg Uv2
1783
+ Alg Uv2'
1784
+ Alg Uv'
1785
+
1786
+ Alg D
1787
+ Alg D2
1788
+ Alg D2'
1789
+ Alg D'
1790
+ Alg B
1791
+ Alg B2
1792
+ Alg B2'
1793
+ Alg B'
1794
+ Alg D DL
1795
+ Alg D DL2
1796
+ Alg D DL2'
1797
+ Alg D DL'
1798
+ Alg D2 FL
1799
+ Alg D2 FL2
1800
+ Alg D2 FL2'
1801
+ Alg D2 FL'
1802
+ Alg D2' FR
1803
+ Alg D2' FR2
1804
+ Alg D2' FR2'
1805
+ Alg D2' FR'
1806
+ Alg D' DR
1807
+ Alg D' DR2
1808
+ Alg D' DR2'
1809
+ Alg D' DR'
1810
+ Alg B DR
1811
+ Alg B DR2'
1812
+ Alg B DR'
1813
+ Alg B2 BR2
1814
+ Alg B2 BR2'
1815
+ Alg B2 BR'
1816
+ Alg B2' BL
1817
+ Alg B2' BL2
1818
+ Alg B2' BL2'
1819
+ Alg B' DL
1820
+ Alg B' DL2
1821
+ Alg B' DL'
1822
+ Alg D DL B
1823
+ Alg D DL B2'
1824
+ Alg D DL B'
1825
+ Alg D DL2' L
1826
+ Alg D DL2' L2
1827
+ Alg D DL2' L2'
1828
+ Alg D DL' FL
1829
+ Alg D DL' FL2
1830
+ Alg D DL' FL'
1831
+ Alg D2 FL2' F
1832
+ Alg D2 FL2' F2
1833
+ Alg D2 FL2' F2'
1834
+ Alg D2 FL' FR
1835
+ Alg D2 FL' FR2
1836
+ Alg D2 FL' FR'
1837
+ Alg D2' FR2' R
1838
+ Alg D2' FR2' R2
1839
+ Alg D2' FR2' R2'
1840
+ Alg B DR2' R2'
1841
+ Alg B DR' BR2
1842
+ Alg B2 BR' BL
1843
+ Alg B2' BL2' L
1844
+ Alg D DL2' L2' F
1845
+ Alg DL
1846
+ Alg DL2
1847
+ Alg DL2'
1848
+ Alg DL'
1849
+ Alg DL BL
1850
+ Alg DL BL2
1851
+ Alg DL BL2'
1852
+ Alg DL BL'
1853
+ Alg DL2 L
1854
+ Alg DL2 L2
1855
+ Alg DL2 L2'
1856
+ Alg DL2 L'
1857
+ Alg DL2' FL
1858
+ Alg DL2' FL2
1859
+ Alg DL2' FL2'
1860
+ Alg DL2' FL'
1861
+ Alg D B D'
1862
+ Alg D B2 D'
1863
+ Alg D B2' D'
1864
+ Alg D B' D'
1865
+ Alg D2 B D2'
1866
+ Alg D2 DL' D2'
1867
+ Alg D2' DL' D2
1868
+ Alg D' B D
1869
+ Alg D' DL' D
1870
+ Alg B2 DR2 B2'
1871
+ Alg B2 DR2' B2'
1872
+ Alg B2 DR' B2'
1873
+ Alg B2' BR B2
1874
+ Alg B2' BR2 B2
1875
+ Alg B2' BR2' B2
1876
+ Alg B' BL B
1877
+ Alg B' BL2 B
1878
+ Alg B' BL' B
1879
+ Alg DL BL2' U
1880
+ Alg DL BL2' U2
1881
+ Alg DL BL2' U2'
1882
+ Alg DL BL' L
1883
+ Alg DL BL' L2
1884
+ Alg DL BL' L'
1885
+ Alg DL2 L2' F
1886
+ Alg DL2 L2' F2
1887
+ Alg DL2 L2' F2'
1888
+ Alg DL2 L' FL
1889
+ Alg DL2 L' FL2
1890
+ Alg DL2 L' FL'
1891
+ Alg DL2' FL2' FR
1892
+ Alg DL2' FL2' FR2
1893
+ Alg DL2' FL2' FR2'
1894
+ Alg D B D' DR2
1895
+ Alg D B D' DR'
1896
+ Alg D2 B D2' FR2'
1897
+ Alg D' B D DL
1898
+ Alg B2 DR' B2' BR
1899
+ Alg B2 DR' B2' BR'
1900
+ Alg B2' BR2' B2 U
1901
+ Alg DL BL2' U2' F
1902
+ Alg D FL D'
1903
+ Alg D FL2 D'
1904
+ Alg D FL2' D'
1905
+ Alg D FL' D'
1906
+ Alg D2 FR D2'
1907
+ Alg D2 FR2 D2'
1908
+ Alg D2 FR2' D2'
1909
+ Alg D2' DR D2
1910
+ Alg D2' DR2 D2
1911
+ Alg D2' DR2' D2
1912
+ Alg DL2 BL DL2'
1913
+ Alg DL2 BL2 DL2'
1914
+ Alg DL2 BL2' DL2'
1915
+ Alg DL2 BL' DL2'
1916
+ Alg DL2' L2 DL2
1917
+ Alg DL2' L2' DL2
1918
+ Alg DL' FL2 DL
1919
+ Alg DL' FL' DL
1920
+ Alg D FL D' FL2'
1921
+ Alg D FL L D'
1922
+ Alg D FL L2 D'
1923
+ Alg D FL L2' D'
1924
+ Alg D FL2 F D'
1925
+ Alg D FL2 F2 D'
1926
+ Alg D FL2 F2' D'
1927
+ Alg D FL2 L D'
1928
+ Alg D FL2 L2 D'
1929
+ Alg D FL2' D' FR
1930
+ Alg D FL2' D' FR2
1931
+ Alg D FL2' D' FR2'
1932
+ Alg D FL2' F D'
1933
+ Alg D FL2' F2' D'
1934
+ Alg D FL2' FR2' D'
1935
+ Alg D FL2' FR' D'
1936
+ Alg D FL' D' FL
1937
+ Alg D FL' FR D'
1938
+ Alg D2 FR D2' FR2'
1939
+ Alg D2 FR2 R D2'
1940
+ Alg D2 FR2 R2 D2'
1941
+ Alg D2 FR2 R2' D2'
1942
+ Alg D2 FR2' D2' DR
1943
+ Alg D2 FR2' D2' DR2
1944
+ Alg D2 FR2' D2' DR2'
1945
+ Alg D2 FR2' D2' DR'
1946
+ Alg D2 FR2' R2' D2'
1947
+ Alg D2 FR' DR2' D2'
1948
+ Alg D2' DR D2 DR2'
1949
+ Alg D2' DR2 BR D2
1950
+ Alg D2' DR2 BR2' D2
1951
+ Alg D2' DR2' BR2' D2
1952
+ Alg D2' DR2' BR' D2
1953
+ Alg DL2 BL2 DL2' BL'
1954
+ Alg DL2 BL2 DL2' BR'
1955
+ Alg DL2 BL' DL2' L'
1956
+ Alg DL2' L2 DL2 BL2
1957
+ Alg D FL L2 BL2 D'
1958
+ Alg D FL L' FL2' D'
1959
+ Alg D FL2 L FL' D'
1960
+ Alg D FL2' D' FR2 DR2'
1961
+ Alg B DL B'
1962
+ Alg B DL2 B'
1963
+ Alg B DL2' B'
1964
+ Alg B DL' B'
1965
+ Alg B2 D B2'
1966
+ Alg B2 D2 B2'
1967
+ Alg B2 D2' B2'
1968
+ Alg B2 D' B2'
1969
+ Alg B2 DL B2'
1970
+ Alg B2' D' B2
1971
+ Alg B2' DL B2
1972
+ Alg B' D' B
1973
+ Alg B DL B' BL
1974
+ Alg B DL B' BL2
1975
+ Alg B DL B' BL2'
1976
+ Alg B DL B' BL'
1977
+ Alg B DL2 B' BL2
1978
+ Alg B DL2 B' BL2'
1979
+ Alg B DL2 B' BL'
1980
+ Alg B DL2' L2 B'
1981
+ Alg B DL2' L2' B'
1982
+ Alg B DL2' L' B'
1983
+ Alg B DL' FL B'
1984
+ Alg B DL' FL2 B'
1985
+ Alg B DL' FL2' B'
1986
+ Alg B DL' FL' B'
1987
+ Alg B2 D FL B2'
1988
+ Alg B2 D FL2' B2'
1989
+ Alg B2 D FL' B2'
1990
+ Alg B2 D2 FR2 B2'
1991
+ Alg B2 D2 FR2' B2'
1992
+ Alg B2 D2 FR' B2'
1993
+ Alg B2 D2' B2' DR
1994
+ Alg B2 D2' B2' DR2
1995
+ Alg B2 D2' B2' DR2'
1996
+ Alg B2 DL B2' BR
1997
+ Alg B2 DL B2' BR2
1998
+ Alg B2 DL B2' BR2'
1999
+ Alg B2' D' B2 BR2
2000
+ Alg B2' D' B2 BR2'
2001
+ Alg B' D' B DR
2002
+ Alg B' D' B DR2'
2003
+ Alg D FL' D FR D2'
2004
+ Alg D DL FL DL' D'
2005
+ Alg D2' FR DR FR' D2
2006
+ Alg B DL B D B2'
2007
+ Alg B DL B D2' B2'
2008
+ Alg B DL B' BL2 U2
2009
+ Alg B DL B' BL2 U2'
2010
+ Alg B DL B' BL2 U'
2011
+ Alg B DL2 B' BL2' U2
2012
+ Alg B DL2 B' BL2' U2'
2013
+ Alg B DL2 B' BL' L2
2014
+ Alg B DL2' L2' B' F2
2015
+ Alg B2 D FL2' B2' F2'
2016
+ Alg DR
2017
+ Alg DR2
2018
+ Alg DR2'
2019
+ Alg DR'
2020
+ Alg DR2 FR
2021
+ Alg DR2 FR2
2022
+ Alg DR2 FR2'
2023
+ Alg DR2 FR'
2024
+ Alg DR2' R
2025
+ Alg DR2' R2
2026
+ Alg DR2' R2'
2027
+ Alg DR2' R'
2028
+ Alg DR' BR
2029
+ Alg DR' BR2
2030
+ Alg DR' BR2'
2031
+ Alg DR' BR'
2032
+ Alg D DR D'
2033
+ Alg D2 DR D2'
2034
+ Alg B BR B'
2035
+ Alg B BR2' B'
2036
+ Alg B BR' B'
2037
+ Alg B2 BL2 B2'
2038
+ Alg B2 BL2' B2'
2039
+ Alg B2 BL' B2'
2040
+ Alg DR2 FR2 FL2
2041
+ Alg DR2 FR2 FL2'
2042
+ Alg DR2 FR2 FL'
2043
+ Alg DR2 FR2' F
2044
+ Alg DR2 FR2' F2
2045
+ Alg DR2 FR2' F2'
2046
+ Alg DR2 FR' R
2047
+ Alg DR2 FR' R2
2048
+ Alg DR2 FR' R'
2049
+ Alg DR2' R FR
2050
+ Alg DR2' R FR2'
2051
+ Alg DR2' R FR'
2052
+ Alg DR2' R2' U
2053
+ Alg DR2' R2' U2
2054
+ Alg DR2' R2' U2'
2055
+ Alg DR2' R' BR2'
2056
+ Alg DR' BR2' BL'
2057
+ Alg D DR2 FR D'
2058
+ Alg B BR B' DR
2059
+ Alg B BR B' DR2
2060
+ Alg B BR2' B' U2'
2061
+ Alg B BR' B' BL2
2062
+ Alg B BR' B' BL2'
2063
+ Alg B BR' B' BL'
2064
+ Alg B2 BL2' L' B2'
2065
+ Alg DR2 FR2 FL' F
2066
+ Alg DR2 FR2' F FL2'
2067
+ Alg DR2 FR2' F FL'
2068
+ Alg B BR2' U2' L2' B'
2069
+ Alg D2' FL D2
2070
+ Alg D2' FL2 D2
2071
+ Alg D2' FL2' D2
2072
+ Alg D2' FL' D2
2073
+ Alg D' FR2 D
2074
+ Alg D' FR2' D
2075
+ Alg D' FR' D
2076
+ Alg DR FR DR'
2077
+ Alg DR FR2' DR'
2078
+ Alg DR FR' DR'
2079
+ Alg DR2 R2 DR2'
2080
+ Alg DR2 R2' DR2'
2081
+ Alg DR2' BR DR2
2082
+ Alg DR2' BR2 DR2
2083
+ Alg DR2' BR2' DR2
2084
+ Alg D DR2 D' DR2'
2085
+ Alg D DR2' D' DR2
2086
+ Alg D2' FL D2 FR'
2087
+ Alg D2' FL2 D2 FL2'
2088
+ Alg D2' FL2 D2 FL'
2089
+ Alg D2' FL2 L D2
2090
+ Alg D2' FL2 L2 D2
2091
+ Alg D2' FL2 L2' D2
2092
+ Alg D2' FL2 L' D2
2093
+ Alg D2' FL2' F D2
2094
+ Alg D2' FL2' F2 D2
2095
+ Alg D2' FL2' F2' D2
2096
+ Alg D2' FL2' L D2
2097
+ Alg D2' FL2' L2 D2
2098
+ Alg D2' FL2' L2' D2
2099
+ Alg D2' FL2' L' D2
2100
+ Alg D2' FL' F D2
2101
+ Alg D2' FL' F2' D2
2102
+ Alg D' FR FL' D
2103
+ Alg D' FR2 D FR'
2104
+ Alg D' FR2 D FL2
2105
+ Alg D' FR2 D FL2'
2106
+ Alg D' FR2 FL D
2107
+ Alg D' FR2' R2' D
2108
+ Alg D' FR' R2' D
2109
+ Alg DR2 R2 DR2' U2'
2110
+ Alg DR2 R2' DR2' BR
2111
+ Alg DR2 R2' DR2' BR2
2112
+ Alg DR2 R2' DR2' BR2'
2113
+ Alg DR2 R2' DR2' BR'
2114
+ Alg DR2 R' BR2' DR2'
2115
+ Alg DR2' BR DR2 BR2'
2116
+ Alg DR2' BR2 BL DR2
2117
+ Alg DR2' BR2 BL2' DR2
2118
+ Alg DR2' BR2' BL' DR2
2119
+ Alg D B2' BL2' B2 D'
2120
+ Alg D2 B2 DL2 B2' D2'
2121
+ Alg D2' FL2 L' FL2 D2
2122
+ Alg D2' FL2' L D2 FL'
2123
+ Alg D2' FL2' L FL2' D2
2124
+ Alg D2' FL2' L2' BL2 D2
2125
+ Alg B2' DR B2
2126
+ Alg B2' DR2 B2
2127
+ Alg B2' DR2' B2
2128
+ Alg B2' DR' B2
2129
+ Alg B' DR' B
2130
+ Alg B2' DR FR B2
2131
+ Alg B2' DR FR2 B2
2132
+ Alg B2' DR FR2' B2
2133
+ Alg B2' DR FR' B2
2134
+ Alg B2' DR2 R B2
2135
+ Alg B2' DR2 R2 B2
2136
+ Alg B2' DR2 R2' B2
2137
+ Alg B2' DR2 R' B2
2138
+ Alg B2' DR2' B2 BR
2139
+ Alg B2' DR2' B2 BR2
2140
+ Alg B2' DR2' B2 BR2'
2141
+ Alg B2' DR2' B2 BR'
2142
+ Alg B2' DR' B2 BL2
2143
+ Alg B2' DR' B2 BL2'
2144
+ Alg B2' DR' B2 BL'
2145
+ Alg B' DR2' BR' B
2146
+ Alg B' DR' B BR
2147
+ Alg B' DR' B BR2'
2148
+ Alg B' DR' B BR'
2149
+ Alg D2' FR2' FL FR2 D2
2150
+ Alg D2' FR2' FL2 FR2 D2
2151
+ Alg D2' FR2' FL2' FR2 D2
2152
+ Alg D' DR2' FR DR2 D
2153
+ Alg D' DR2' FR2 DR2 D
2154
+ Alg D' DR' FR' DR D
2155
+ Alg D' FR D' FL' D2
2156
+ Alg B2 D2 DL2 D2' B2'
2157
+ Alg B2 D2 DL2' D2' B2'
2158
+ Alg B2 D2 DL' D2' B2'
2159
+ Alg B2 D' FR' D B2'
2160
+ Alg B2 DL D2' DL' B2'
2161
+ Alg B2 DL D' DL' B2'
2162
+ Alg B2' DR FR2' B2 F2
2163
+ Alg B2' DR FR2' B2 F2'
2164
+ Alg B2' DR FR' R B2
2165
+ Alg B2' DR FR' R2 B2
2166
+ Alg B2' DR2 R2' B2 U
2167
+ Alg B2' DR2 R2' B2 U2
2168
+ Alg B2' DR2 R2' B2 U2'
2169
+ Alg B2' DR' B2 BL2 U'
2170
+ Alg B' DR2' BR' B BL2'
2171
+ Alg DR D FR D' DR'
2172
+ Alg DL2' B D B' DL2
2173
+ Alg D2' FR2' FL2' FR2 F D2
2174
+ Alg D' DR2' FR DR2 D FL2'
2175
+ Alg B2 D B D' DR B2
2176
+ Alg FR
2177
+ Alg FR2
2178
+ Alg FR2'
2179
+ Alg FR'
2180
+ Alg FR2 FL
2181
+ Alg FR2 FL2
2182
+ Alg FR2 FL2'
2183
+ Alg FR2 FL'
2184
+ Alg FR2' F
2185
+ Alg FR2' F2
2186
+ Alg FR2' F2'
2187
+ Alg FR2' F'
2188
+ Alg FR' R
2189
+ Alg FR' R2
2190
+ Alg FR' R2'
2191
+ Alg FR' R'
2192
+ Alg D FR D'
2193
+ Alg DR R DR'
2194
+ Alg DR R2' DR'
2195
+ Alg DR R' DR'
2196
+ Alg DR2 BR2 DR2'
2197
+ Alg DR2 BR2' DR2'
2198
+ Alg DR2 BR' DR2'
2199
+ Alg FR2 FL2' L
2200
+ Alg FR2 FL2' L2
2201
+ Alg FR2 FL2' L2'
2202
+ Alg FR2 FL' F
2203
+ Alg FR2 FL' F2
2204
+ Alg FR2 FL' F'
2205
+ Alg FR2' F FL
2206
+ Alg FR2' F FL2'
2207
+ Alg FR2' F FL'
2208
+ Alg FR2' F2' U
2209
+ Alg FR2' F2' U2
2210
+ Alg FR2' F2' U2'
2211
+ Alg FR2' F' R2'
2212
+ Alg FR' R2' BR'
2213
+ Alg DR R DR' FR
2214
+ Alg DR R DR' FR2
2215
+ Alg DR R2' DR' U2'
2216
+ Alg DR R' DR' BR2
2217
+ Alg DR R' DR' BR2'
2218
+ Alg DR R' DR' BR'
2219
+ Alg DR2 BR2' BL2' DR2'
2220
+ Alg DR2 BR2' BL' DR2'
2221
+ Alg FR2 FL' F L2
2222
+ Alg FR2 FL' F L2'
2223
+ Alg B' DR2 BR' DR2' B
2224
+ Alg DR R2' U2' BL2 DR'
2225
+ Alg D' FL D
2226
+ Alg D' FL2 D
2227
+ Alg D' FL2' D
2228
+ Alg D' FL' D
2229
+ Alg FR FL FR'
2230
+ Alg FR FL2 FR'
2231
+ Alg FR FL2' FR'
2232
+ Alg FR FL' FR'
2233
+ Alg FR2 F2 FR2'
2234
+ Alg FR2 F2' FR2'
2235
+ Alg FR2' R FR2
2236
+ Alg FR2' R2 FR2
2237
+ Alg FR2' R2' FR2
2238
+ Alg D FR2 D' FR2'
2239
+ Alg D FR2' D' FR2
2240
+ Alg D' FL D FL'
2241
+ Alg D' FL2 D FL'
2242
+ Alg D' FL2 L D
2243
+ Alg D' FL2 L2 D
2244
+ Alg D' FL2 L2' D
2245
+ Alg D' FL2 L' D
2246
+ Alg D' FL2' F2' D
2247
+ Alg D' FL2' L2 D
2248
+ Alg D' FL2' L2' D
2249
+ Alg D' FL2' L' D
2250
+ Alg D' FL' F2' D
2251
+ Alg FR FL2' F' FR'
2252
+ Alg FR FL2' FR' L
2253
+ Alg FR FL2' FR' L2
2254
+ Alg FR FL2' FR' L2'
2255
+ Alg FR2 F2 FR2' U2
2256
+ Alg FR2 F2 FR2' U2'
2257
+ Alg FR2 F2' FR2' U2'
2258
+ Alg FR2 F2' FR2' R
2259
+ Alg FR2 F2' FR2' R2
2260
+ Alg FR2 F2' FR2' R2'
2261
+ Alg FR2 F2' FR2' R'
2262
+ Alg FR2 F' R2' FR2'
2263
+ Alg FR2' R FR2 R2'
2264
+ Alg FR2' R2 BR FR2
2265
+ Alg FR2' R2 BR2 FR2
2266
+ Alg FR2' R2 BR2' FR2
2267
+ Alg FR2' R2' BR2' FR2
2268
+ Alg FR2' R2' BR' FR2
2269
+ Alg D DR2' BR2' DR2 D'
2270
+ Alg D FR2' D' FR2 FL2
2271
+ Alg D2' B DL B' D2
2272
+ Alg D2' B2' D' B2 D2'
2273
+ Alg D' FL2 L BL D
2274
+ Alg D' FL2 L' FL2 D
2275
+ Alg D' FL2' F2' R' D
2276
+ Alg D' FL2' L FL2' D
2277
+ Alg D' FL2' L2' BL2 D
2278
+ Alg DR2' FR DR2
2279
+ Alg DR2' FR2 DR2
2280
+ Alg DR2' FR2' DR2
2281
+ Alg DR2' FR' DR2
2282
+ Alg DR' FR' DR
2283
+ Alg DR2' FR FL DR2
2284
+ Alg DR2' FR FL2 DR2
2285
+ Alg DR2' FR FL2' DR2
2286
+ Alg DR2' FR FL' DR2
2287
+ Alg DR2' FR2 DR2 F
2288
+ Alg DR2' FR2 DR2 F2
2289
+ Alg DR2' FR2 DR2 F2'
2290
+ Alg DR2' FR2 DR2 F'
2291
+ Alg DR2' FR2' DR2 R
2292
+ Alg DR2' FR2' DR2 R2
2293
+ Alg DR2' FR2' DR2 R2'
2294
+ Alg DR2' FR2' DR2 R'
2295
+ Alg DR2' FR' DR2 BR2
2296
+ Alg DR2' FR' DR2 BR2'
2297
+ Alg DR2' FR' DR2 BR'
2298
+ Alg DR' FR2' R' DR
2299
+ Alg DR' FR' DR R
2300
+ Alg DR' FR' DR R2'
2301
+ Alg DR' FR' DR R'
2302
+ Alg D' FR2' FL FR2 D
2303
+ Alg D' FR2' FL2 FR2 D
2304
+ Alg D' FR' FL' FR D
2305
+ Alg B2' DR2 FR' DR2' B2
2306
+ Alg B' DR2 FR' DR2' B
2307
+ Alg DR2 D' FL' D DR2'
2308
+ Alg DR2' FR FL2' DR2 L
2309
+ Alg DR2' FR FL2' DR2 L2
2310
+ Alg DR2' FR FL2' DR2 L2'
2311
+ Alg DR2' FR FL' DR2 F
2312
+ Alg DR2' FR FL' DR2 F2
2313
+ Alg DR2' FR2 F FL2 DR2
2314
+ Alg DR2' FR2 DR2 F2' U
2315
+ Alg DR2' FR2 DR2 F2' U2
2316
+ Alg DR2' FR2 DR2 F2' U2'
2317
+ Alg DR2' FR' DR2 BR2 U'
2318
+ Alg DR2' FR' DR2 BR2' BL2'
2319
+ Alg DR' FR2' R' DR BR2'
2320
+ Alg D' FR2' FL2 FR2 L D
2321
+ Alg D' FR2' FL2 FR2 L2 D
2322
+ Alg B2' DR2' FR2' R' DR2 B2
2323
+ Alg DR2 D DR D' FR DR2
2324
+ Alg DR2' FR' DR2 BR2 U' BL2
2325
+ Alg FL
2326
+ Alg FL2
2327
+ Alg FL2'
2328
+ Alg FL'
2329
+ Alg FL L
2330
+ Alg FL L2
2331
+ Alg FL L2'
2332
+ Alg FL L'
2333
+ Alg FL2 F
2334
+ Alg FL2 F2
2335
+ Alg FL2 F2'
2336
+ Alg FL2 F'
2337
+ Alg FR2' FL2' FR2
2338
+ Alg FR' FL2' FR
2339
+ Alg FL L2 BL
2340
+ Alg FL L2 BL2
2341
+ Alg FL L2 BL2'
2342
+ Alg FL L2 BL'
2343
+ Alg FL L2' U
2344
+ Alg FL L2' U2
2345
+ Alg FL L2' U2'
2346
+ Alg FL L' F
2347
+ Alg FL L' F2
2348
+ Alg FL L' F'
2349
+ Alg FL2 F L
2350
+ Alg FL2 F L2
2351
+ Alg FL2 F L2'
2352
+ Alg FL2 F L'
2353
+ Alg FL2 F2' R
2354
+ Alg FL2 F2' R2
2355
+ Alg FL2 F2' R2'
2356
+ Alg FR' FL2 F' FR
2357
+ Alg FL L2 BL2' BR
2358
+ Alg FL L2 BL2' BR2
2359
+ Alg FL L2 BL' U
2360
+ Alg FL L2' U BL2
2361
+ Alg FL L2' U BL2'
2362
+ Alg FL L2' U BL'
2363
+ Alg FL L2' U2' R
2364
+ Alg FL L2' U2' R2
2365
+ Alg FL L' F' FL
2366
+ Alg FL L' F' FL2
2367
+ Alg FL L' F' FL2'
2368
+ Alg B DL2' BL DL2 B'
2369
+ Alg FL L2 BL' U BR2'
2370
+ Alg FL2 L FL2'
2371
+ Alg FL2 L2 FL2'
2372
+ Alg FL2 L2' FL2'
2373
+ Alg FL2 L' FL2'
2374
+ Alg FL2' F2 FL2
2375
+ Alg FL2' F2' FL2
2376
+ Alg FL2' F' FL2
2377
+ Alg FR2' FL' FR2 FL
2378
+ Alg FL2 L2 FL2' L2'
2379
+ Alg FL2 L2 FL2' L'
2380
+ Alg FL2 L2 FL2' BL
2381
+ Alg FL2 L2 FL2' BL2
2382
+ Alg FL2 L2 FL2' BL2'
2383
+ Alg FL2 L2 FL2' BL'
2384
+ Alg FL2 L2' FL2' U
2385
+ Alg FL2 L2' FL2' U2
2386
+ Alg FL2 L2' FL2' U2'
2387
+ Alg FL2 L2' FL2' BL
2388
+ Alg FL2 L2' FL2' BL2
2389
+ Alg FL2 L2' FL2' BL2'
2390
+ Alg FL2 L2' FL2' BL'
2391
+ Alg FL2 L' FL2' U
2392
+ Alg FL2 L' FL2' U2'
2393
+ Alg FL2 L' FL2' F
2394
+ Alg FL2 L' FL2' F2
2395
+ Alg FL2 L' FL2' F2'
2396
+ Alg FL2 L' FL2' F'
2397
+ Alg FL2' F L FL2
2398
+ Alg FL2' F L' FL2
2399
+ Alg FL2' F2 L FL2
2400
+ Alg FL2' F2 L2 FL2
2401
+ Alg FL2' F2 L2' FL2
2402
+ Alg FL2' F2 FL2 F'
2403
+ Alg FL2' F2 FL2 L2
2404
+ Alg FL2' F2' R FL2
2405
+ Alg FL2' F2' R2 FL2
2406
+ Alg FL2' F2' R2' FL2
2407
+ Alg FL2' F' R2' FL2
2408
+ Alg FL2' F' R' FL2
2409
+ Alg FL' FR2' FL FR2
2410
+ Alg D DR2' FR2' DR2 D'
2411
+ Alg D FR2' R' FR2 D'
2412
+ Alg D' DL2 BL2 DL2' D
2413
+ Alg B2 D2' B D2 B2
2414
+ Alg DR2 D2 DR D2' DR2
2415
+ Alg FR2 D FR D' FR2
2416
+ Alg FL2 L2 BL' L2 FL2'
2417
+ Alg FL2 L2 FL2' BL2 BR
2418
+ Alg FL2 L2' BL L2' FL2'
2419
+ Alg FL2 L2' FL2' BL L'
2420
+ Alg DL FL DL'
2421
+ Alg DL FL2 DL'
2422
+ Alg DL FL2' DL'
2423
+ Alg DL FL' DL'
2424
+ Alg DL2 FL DL2'
2425
+ Alg DL FL DL' L
2426
+ Alg DL FL DL' L2
2427
+ Alg DL FL DL' L2'
2428
+ Alg DL FL DL' L'
2429
+ Alg DL FL2 L DL'
2430
+ Alg DL FL2 L2 DL'
2431
+ Alg DL FL2 L2' DL'
2432
+ Alg DL FL2 L' DL'
2433
+ Alg DL FL2 DL' L
2434
+ Alg DL FL2' DL' F2
2435
+ Alg DL FL2' DL' F2'
2436
+ Alg DL FL2' DL' F'
2437
+ Alg DL2 FL DL2' BL
2438
+ Alg DL2 FL DL2' BL2
2439
+ Alg DL2 FL DL2' BL2'
2440
+ Alg B DL2' FL DL2 B'
2441
+ Alg B2 DL2' FL DL2 B2'
2442
+ Alg FL2 F2 L' F2' FL2'
2443
+ Alg FL2 F2' L' F2 FL2'
2444
+ Alg FL2 F' L' F FL2'
2445
+ Alg FL2' FR2' FL FR2 FL2
2446
+ Alg FL2' FR' F' FR FL2
2447
+ Alg DL FL DL' L BL2'
2448
+ Alg DL FL DL' L BL'
2449
+ Alg DL FL DL' L2 U2
2450
+ Alg DL FL DL' L2 U2'
2451
+ Alg DL FL2 L2' DL' U2
2452
+ Alg DL FL2 L2' DL' U2'
2453
+ Alg DL FL2 L' DL' F'
2454
+ Alg DL FL2' DL' F2' R2
2455
+ Alg DL FL2' DL' F2' R2'
2456
+ Alg DL2 FL DL2' BL2 BR2
2457
+ Alg B DL2 FL DL2' BL B'
2458
+ Alg FL2 F2' L' F2 R2 FL2'
2459
+ Alg FL2 F2' L' F2 R2' FL2'
2460
+ Alg FL2' FR' F FR L FL2
2461
+ Alg DL FL DL' L BL2' BR2
2462
+ Alg DL FL2 L DL FL' DL2'
2463
+ Alg FR F FR'
2464
+ Alg FR F2 FR'
2465
+ Alg FR F2' FR'
2466
+ Alg FR F' FR'
2467
+ Alg FR2 R FR2'
2468
+ Alg FR2 R2 FR2'
2469
+ Alg FR2 R2' FR2'
2470
+ Alg FR2 R' FR2'
2471
+ Alg FL2' L FL2
2472
+ Alg FL2' L2 FL2
2473
+ Alg FL2' L2' FL2
2474
+ Alg FL' F FL
2475
+ Alg FL' F2 FL
2476
+ Alg FL' F' FL
2477
+ Alg FR F FR' F'
2478
+ Alg FR F2 FR' L
2479
+ Alg FR F2' FR' U
2480
+ Alg FR F2' FR' U2
2481
+ Alg FR F2' FR' U2'
2482
+ Alg FR F' FR' R
2483
+ Alg FR F' FR' R2
2484
+ Alg FR F' FR' R2'
2485
+ Alg FR F' FR' R'
2486
+ Alg FR2 R FR2' F2
2487
+ Alg FR2 R FR2' R'
2488
+ Alg FR2 R2' BR FR2'
2489
+ Alg FR2 R2' BR2 FR2'
2490
+ Alg FR2 R2' BR2' FR2'
2491
+ Alg FR2 R2' BR' FR2'
2492
+ Alg FL2' L2 FL2 BL
2493
+ Alg FL2' L2 FL2 BL2
2494
+ Alg FL2' L2' FL2 U
2495
+ Alg FL' F L2 FL
2496
+ Alg FL' F L2' FL
2497
+ Alg FL' F FL L
2498
+ Alg DR' FR2 R' FR2' DR
2499
+ Alg FR F2' U2' BR FR'
2500
+ Alg FR F2' U2' BR2 FR'
2501
+ Alg FR F' FR R' FR2'
2502
+ Alg FL2' L2' FL2 U BL2
2503
+ Alg FL2' L2' FL2 U BL2'
2504
+ Alg FR F L F' FR'
2505
+ Alg FR F L2 F' FR'
2506
+ Alg FR F L2' F' FR'
2507
+ Alg FR F L' F' FR'
2508
+ Alg FR F2 U F2' FR'
2509
+ Alg FR F2 U2 F2' FR'
2510
+ Alg FR F2 U2' F2' FR'
2511
+ Alg FR F2' R F2 FR'
2512
+ Alg FR F2' R2 F2 FR'
2513
+ Alg FR F2' R2' F2 FR'
2514
+ Alg FR FL' L FL FR'
2515
+ Alg FR FL' L2 FL FR'
2516
+ Alg FR FL' L' FL FR'
2517
+ Alg FR2 F2' L F2 FR2'
2518
+ Alg FR2 F2' L2 F2 FR2'
2519
+ Alg FR2 F' U2 F FR2'
2520
+ Alg FR2 F' U2' F FR2'
2521
+ Alg FR2 R U R' FR2'
2522
+ Alg FR2 R U' R' FR2'
2523
+ Alg FR2 R2 BR2 R2' FR2'
2524
+ Alg FR2 R2 BR2' R2' FR2'
2525
+ Alg FR2' DR BR DR' FR2
2526
+ Alg FR2' R2' U R2 FR2
2527
+ Alg FR2' R2' U2 R2 FR2
2528
+ Alg FR2' R' BR2 R FR2
2529
+ Alg FR2' R' BR2' R FR2
2530
+ Alg FR2' R' BR' R FR2
2531
+ Alg FL2 L BL L' FL2'
2532
+ Alg FL2 L2 U2' L2' FL2'
2533
+ Alg FL2 DL' BL2 DL FL2'
2534
+ Alg FL2' F2 R2' F2' FL2
2535
+ Alg FL2' L2' BL2 L2 FL2
2536
+ Alg FL' F2 L F2' FL
2537
+ Alg FL' F2 L2 F2' FL
2538
+ Alg FL' F' R' F FL
2539
+ Alg FL' FR R' FR' FL
2540
+ Alg FR F L2' F' FR' BL
2541
+ Alg FR F L2' F' FR' BL2
2542
+ Alg FR F L' F' FR' F'
2543
+ Alg FR F2 U2 BR2 F2' FR'
2544
+ Alg FR F2 U2 BR2' F2' FR'
2545
+ Alg FR F2' R F2 R2' FR'
2546
+ Alg FR F2' R2' F2 FR' R'
2547
+ Alg FR FL' L FL FR' F'
2548
+ Alg FR2 F' U2 F FR2' L2'
2549
+ Alg FR F L2 BL' L2 F' FR'
2550
+ Alg FR F L2' F U' F2' FR'
2551
+ Alg R
2552
+ Alg R2
2553
+ Alg R2'
2554
+ Alg R'
2555
+ Alg R2 F
2556
+ Alg R2 F2
2557
+ Alg R2 F2'
2558
+ Alg R2 F'
2559
+ Alg R2' U
2560
+ Alg R2' U2
2561
+ Alg R2' U2'
2562
+ Alg R2' U'
2563
+ Alg R' BR
2564
+ Alg R' BR2
2565
+ Alg R' BR2'
2566
+ Alg R' BR'
2567
+ Alg DR BR DR'
2568
+ Alg DR BR2' DR'
2569
+ Alg DR BR' DR'
2570
+ Alg FR R FR'
2571
+ Alg R2 F2' L
2572
+ Alg R2 F2' L2
2573
+ Alg R2 F2' L2'
2574
+ Alg R2 F' U
2575
+ Alg R2 F' U2
2576
+ Alg R2 F' U'
2577
+ Alg R2' U F
2578
+ Alg R2' U F2'
2579
+ Alg R2' U F'
2580
+ Alg R2' U2' BL
2581
+ Alg R2' U2' BL2
2582
+ Alg R2' U2' BL2'
2583
+ Alg R2' U' BR2'
2584
+ Alg DR BR DR' R
2585
+ Alg DR BR DR' R2
2586
+ Alg DR BR2' BL2' DR'
2587
+ Alg DR BR2' BL' DR'
2588
+ Alg R2 F' U L2
2589
+ Alg R2 F' U L2'
2590
+ Alg FR' F FR
2591
+ Alg FR' F2 FR
2592
+ Alg FR' F2' FR
2593
+ Alg FR' F' FR
2594
+ Alg R F R'
2595
+ Alg R F2 R'
2596
+ Alg R F2' R'
2597
+ Alg R F' R'
2598
+ Alg R2 U2 R2'
2599
+ Alg R2 U2' R2'
2600
+ Alg R2' BR R2
2601
+ Alg R2' BR2 R2
2602
+ Alg R2' BR2' R2
2603
+ Alg FR R2 FR' R2'
2604
+ Alg FR R2' FR' R2
2605
+ Alg FR' F FR F'
2606
+ Alg FR' F2 FR F'
2607
+ Alg FR' F2 FR L
2608
+ Alg FR' F2 FR L2
2609
+ Alg FR' F2 FR L2'
2610
+ Alg FR' F2 FR L'
2611
+ Alg FR' F2' FR U2'
2612
+ Alg FR' F2' FR L2
2613
+ Alg FR' F2' FR L2'
2614
+ Alg FR' F2' FR L'
2615
+ Alg FR' F' FR U2'
2616
+ Alg R F2' U' R'
2617
+ Alg R F2' R' L
2618
+ Alg R F2' R' L2
2619
+ Alg R F2' R' L2'
2620
+ Alg R2 U2 R2' BL2
2621
+ Alg R2 U2 R2' BL2'
2622
+ Alg R2 U2' BR R2'
2623
+ Alg R2 U2' BR2 R2'
2624
+ Alg R2 U2' R2' BL2'
2625
+ Alg R2 U2' R2' BR2'
2626
+ Alg R2 U2' R2' BR'
2627
+ Alg R2 U' BR2' R2'
2628
+ Alg R2' BR R2 BR2'
2629
+ Alg DR BR2 BL2' BR2' DR'
2630
+ Alg FR R2' FR' R2 F2
2631
+ Alg FR' F2 L' F2 FR
2632
+ Alg FR' F2' U2' BR' FR
2633
+ Alg FR' F2' L F2' FR
2634
+ Alg DR' R DR
2635
+ Alg DR' R2 DR
2636
+ Alg DR' R2' DR
2637
+ Alg DR' R' DR
2638
+ Alg DR' R DR F
2639
+ Alg DR' R DR F2
2640
+ Alg DR' R DR F2'
2641
+ Alg DR' R DR F'
2642
+ Alg DR' R2 DR U
2643
+ Alg DR' R2 DR U2
2644
+ Alg DR' R2 DR U2'
2645
+ Alg DR' R2 DR U'
2646
+ Alg DR' R2' DR BR
2647
+ Alg DR' R2' DR BR2
2648
+ Alg DR' R2' DR BR2'
2649
+ Alg DR' R2' DR BR'
2650
+ Alg DR' R' DR BR
2651
+ Alg DR' R' DR BR2'
2652
+ Alg DR' R' DR BR'
2653
+ Alg B2' DR2' R' DR2 B2
2654
+ Alg DR2' FR' F FR DR2
2655
+ Alg DR2' FR' F2 FR DR2
2656
+ Alg DR2' FR' F' FR DR2
2657
+ Alg DR' R DR F2' L
2658
+ Alg DR' R DR F2' L2
2659
+ Alg DR' R DR F2' L2'
2660
+ Alg DR' R DR F' U
2661
+ Alg DR' R DR F' U2
2662
+ Alg DR' R DR F' U'
2663
+ Alg DR' R2 U2' BL DR
2664
+ Alg DR' R2 U2' BL2 DR
2665
+ Alg DR' R2 U2' BL2' DR
2666
+ Alg DR' R2 DR U F2
2667
+ Alg DR' R' DR BR2' BL2'
2668
+ Alg DR2' FR' F2 FR DR2 L
2669
+ Alg DR2' FR' F2 FR DR2 L2
2670
+ Alg DR' FR' F' FR R' DR
2671
+ Alg BR
2672
+ Alg BR2
2673
+ Alg BR2'
2674
+ Alg BR'
2675
+ Alg BR2' U
2676
+ Alg BR2' U2
2677
+ Alg BR2' U2'
2678
+ Alg BR2' U'
2679
+ Alg BR' BL
2680
+ Alg BR' BL2
2681
+ Alg BR' BL2'
2682
+ Alg BR' BL'
2683
+ Alg B BL B'
2684
+ Alg B BL2' B'
2685
+ Alg B BL' B'
2686
+ Alg BR2' U2 F
2687
+ Alg BR2' U2 F2
2688
+ Alg BR2' U2 F2'
2689
+ Alg BR2' U2 F'
2690
+ Alg BR2' U2' L
2691
+ Alg BR2' U2' L2
2692
+ Alg BR2' U2' L2'
2693
+ Alg BR2' U' BL2'
2694
+ Alg BR' BL U
2695
+ Alg BR' BL U2
2696
+ Alg BR' BL U2'
2697
+ Alg BR' BL U'
2698
+ Alg B BL B' BR
2699
+ Alg B BL B' BR2
2700
+ Alg B BL B' BR2'
2701
+ Alg B BL2' L2' B'
2702
+ Alg B BL2' L' B'
2703
+ Alg BR2' U2' L F2
2704
+ Alg BR2' U2' L F2'
2705
+ Alg BR2' U2' L F'
2706
+ Alg BR2 U BR2'
2707
+ Alg BR2 U2 BR2'
2708
+ Alg BR2 U2' BR2'
2709
+ Alg BR2 U' BR2'
2710
+ Alg BR2' BL BR2
2711
+ Alg BR2' BL2 BR2
2712
+ Alg BR2' BL2' BR2
2713
+ Alg BR R BR' R'
2714
+ Alg BR2 U BR2' U2'
2715
+ Alg BR2 U BR2' U'
2716
+ Alg BR2 U BR2' F
2717
+ Alg BR2 U BR2' F2
2718
+ Alg BR2 U BR2' F2'
2719
+ Alg BR2 U BR2' F'
2720
+ Alg BR2 U2 BR2' F
2721
+ Alg BR2 U2 BR2' F2
2722
+ Alg BR2 U2 BR2' F2'
2723
+ Alg BR2 U2 BR2' F'
2724
+ Alg BR2 U2 BR2' L
2725
+ Alg BR2 U2 BR2' L2
2726
+ Alg BR2 U2 BR2' L2'
2727
+ Alg BR2 U2' BL BR2'
2728
+ Alg BR2 U2' BL2 BR2'
2729
+ Alg BR2 U2' BL' BR2'
2730
+ Alg BR2 U2' BR2' L
2731
+ Alg BR2 U2' BR2' L2'
2732
+ Alg BR2 U2' BR2' BL2'
2733
+ Alg BR2 U2' BR2' BL'
2734
+ Alg BR2 U' BL BR2'
2735
+ Alg BR2 U' BL2' BR2'
2736
+ Alg BR2 U' BL' BR2'
2737
+ Alg BR2' BL BR2 U2
2738
+ Alg BR2' BL BR2 U2'
2739
+ Alg BR2' BL BR2 BL2'
2740
+ Alg BR2' BL BR2 BL'
2741
+ Alg B BL2 L2' BL2' B'
2742
+ Alg DR' R2 F R2' DR
2743
+ Alg BR2 U F' U2' BR2'
2744
+ Alg BR2 U BR2' U2' BL'
2745
+ Alg BR2 U2 F U' BR2'
2746
+ Alg BR2 U2 BR2' L F2'
2747
+ Alg B' BR B
2748
+ Alg B' BR2 B
2749
+ Alg B' BR2' B
2750
+ Alg B' BR' B
2751
+ Alg B' BR2 B U
2752
+ Alg B' BR2 B U2
2753
+ Alg B' BR2 B U2'
2754
+ Alg B' BR2 B U'
2755
+ Alg B' BR2' B BL
2756
+ Alg B' BR2' B BL2
2757
+ Alg B' BR2' B BL2'
2758
+ Alg B' BR2' B BL'
2759
+ Alg B' BR' B BL
2760
+ Alg B' BR' B BL2'
2761
+ Alg B' BR' B BL'
2762
+ Alg B' BR2 U2' L B
2763
+ Alg B' BR2 U2' L2 B
2764
+ Alg B' BR2 U2' L2' B
2765
+ Alg B' BR2 B U2 F
2766
+ Alg B' BR2 B U2 F2
2767
+ Alg B' BR2 B U2 F2'
2768
+ Alg B' BR2 B U2 F'
2769
+ Alg B' BR2' B BL U
2770
+ Alg B' BR2' B BL U2
2771
+ Alg B' BR2' B BL U2'
2772
+ Alg B' BR2' B BL U'
2773
+ Alg B' BR' B BL2' L2'
2774
+ Alg B' BR' B BL2' L'
2775
+ Alg BR2 R U R' BR2'
2776
+ Alg B' BR2 U2' L B F2'
2777
+ Alg B' BR2 U2' L B F'
2778
+ Alg B' BR' B BR2 BL BR2'
2779
+ Alg B' BR2 U R BR' R' B
2780
+ Alg BR U BR'
2781
+ Alg BR U2 BR'
2782
+ Alg BR U2' BR'
2783
+ Alg BR U' BR'
2784
+ Alg BR2 BL BR2'
2785
+ Alg BR2 BL2 BR2'
2786
+ Alg BR2 BL2' BR2'
2787
+ Alg BR2 BL' BR2'
2788
+ Alg R2' F R2
2789
+ Alg R2' F2 R2
2790
+ Alg R2' F2' R2
2791
+ Alg R' U R
2792
+ Alg R' U2 R
2793
+ Alg R' U' R
2794
+ Alg BR U BR' U'
2795
+ Alg BR U2 BR' F
2796
+ Alg BR U2' BR' L
2797
+ Alg BR U2' BR' L2
2798
+ Alg BR U2' BR' L2'
2799
+ Alg BR U' BL BR'
2800
+ Alg BR U' BL2 BR'
2801
+ Alg BR U' BL2' BR'
2802
+ Alg BR U' BR' BL'
2803
+ Alg BR2 BL BR2' U2
2804
+ Alg BR2 BL BR2' BL'
2805
+ Alg R2' F2' R2 L
2806
+ Alg R2' F2' R2 L2
2807
+ Alg R' U F2 R
2808
+ Alg R' U F2' R
2809
+ Alg R' U R F
2810
+ Alg BR U' BR BL' BR2'
2811
+ Alg BR U F U' BR'
2812
+ Alg BR U F2 U' BR'
2813
+ Alg BR U F2' U' BR'
2814
+ Alg BR U F' U' BR'
2815
+ Alg BR U2 L U2' BR'
2816
+ Alg BR U2 L2 U2' BR'
2817
+ Alg BR U2 L2' U2' BR'
2818
+ Alg BR U2' BL U2 BR'
2819
+ Alg BR U2' BL2 U2 BR'
2820
+ Alg BR U2' BL2' U2 BR'
2821
+ Alg BR R' F R BR'
2822
+ Alg BR R' F2 R BR'
2823
+ Alg BR R' F' R BR'
2824
+ Alg BR2 U2' F U2 BR2'
2825
+ Alg BR2 U2' F2 U2 BR2'
2826
+ Alg BR2 U' L2 U BR2'
2827
+ Alg BR2 U' L2' U BR2'
2828
+ Alg BR2 BL L BL' BR2'
2829
+ Alg BR2 BL L' BL' BR2'
2830
+ Alg BR2' BL2' L BL2 BR2
2831
+ Alg BR2' BL2' L2 BL2 BR2
2832
+ Alg R2 F2 L F2' R2'
2833
+ Alg R2 F2 L2 F2' R2'
2834
+ Alg R2 F2 L2' F2' R2'
2835
+ Alg R2' U2 BL2' U2' R2
2836
+ Alg R' U2 F U2' R
2837
+ Alg R' U2 F2 U2' R
2838
+ Alg R' U' BL' U R
2839
+ Alg R' BR BL' BR' R
2840
+ Alg BR U F' U' BR' U'
2841
+ Alg BR U2 L' BL2 U2' BR'
2842
+ Alg BR U2' BL U2 BL2' BR'
2843
+ Alg BR U2' BL2' U2 BR' BL'
2844
+ Alg BR R' F R BR' U'
2845
+ Alg BR2 U' L2 U BR2' F2'
2846
+ Alg BR2 U' L2 U BR2' F'
2847
+ Alg BR U F2' U L' U2' BR'
2848
+ Alg BR U F2' L' F U' BR'
2849
+ Alg F
2850
+ Alg F2
2851
+ Alg F2'
2852
+ Alg F'
2853
+ Alg F L
2854
+ Alg F L2
2855
+ Alg F L2'
2856
+ Alg F L'
2857
+ Alg F2 U
2858
+ Alg F2 U2
2859
+ Alg F2 U2'
2860
+ Alg F2 U'
2861
+ Alg F L2' BL
2862
+ Alg F L2' BL2
2863
+ Alg F L2' BL2'
2864
+ Alg F L' U
2865
+ Alg F L' U2
2866
+ Alg F L' U2'
2867
+ Alg F L' U'
2868
+ Alg F2 U L
2869
+ Alg F2 U L2
2870
+ Alg F2 U L2'
2871
+ Alg F2 U L'
2872
+ Alg F L' U BL2
2873
+ Alg F L' U BL2'
2874
+ Alg F L' U BL'
2875
+ Alg F L' U' F
2876
+ Alg F L' U' F2
2877
+ Alg F L' U' F2'
2878
+ Alg F2 L F2'
2879
+ Alg F2 L2 F2'
2880
+ Alg F2 L2' F2'
2881
+ Alg F2 L' F2'
2882
+ Alg F2' U2 F2
2883
+ Alg F2' U2' F2
2884
+ Alg F2' U' F2
2885
+ Alg F2 L2 F2' L2'
2886
+ Alg F2 L2 F2' L'
2887
+ Alg F2 L2' BL F2'
2888
+ Alg F2 L2' BL2 F2'
2889
+ Alg F2 L2' BL2' F2'
2890
+ Alg F2 L' F2' U
2891
+ Alg F2 L' F2' U2
2892
+ Alg F2 L' F2' U2'
2893
+ Alg F2 L' F2' U'
2894
+ Alg F2 L' BL F2'
2895
+ Alg F2 L' BL2 F2'
2896
+ Alg F2 L' BL2' F2'
2897
+ Alg F2' U L F2
2898
+ Alg F2' U L2 F2
2899
+ Alg F2' U L' F2
2900
+ Alg F2' U2 F2 U2'
2901
+ Alg F2' U2 F2 U'
2902
+ Alg F2' U2 F2 L2
2903
+ Alg F2' U2 F2 L2'
2904
+ Alg F2' U2 F2 L'
2905
+ Alg F2' U2 L F2
2906
+ Alg F' R' F R
2907
+ Alg F L2 BL L2' F'
2908
+ Alg F L2 BL2 L2' F'
2909
+ Alg F2 L2 F2' L2' U2'
2910
+ Alg F2 L2' BL' L F2'
2911
+ Alg F2 L' F U2' F2
2912
+ Alg F2 L' F' U' F'
2913
+ Alg FL F FL'
2914
+ Alg FL F2 FL'
2915
+ Alg FL F2' FL'
2916
+ Alg FL F' FL'
2917
+ Alg FL F FL' L
2918
+ Alg FL F FL' L2
2919
+ Alg FL F FL' L2'
2920
+ Alg FL F FL' L'
2921
+ Alg FL F2 FL' L
2922
+ Alg FL F2 FL' L2
2923
+ Alg FL F2 FL' L2'
2924
+ Alg FL F2 FL' L'
2925
+ Alg FL F2' FL' U2
2926
+ Alg FL F2' FL' U2'
2927
+ Alg FL F2' FL' U'
2928
+ Alg F2 U2 L' U2' F2'
2929
+ Alg F2 U2' L' U2 F2'
2930
+ Alg F2 U' L' U F2'
2931
+ Alg FL F FL' L2 BL
2932
+ Alg FL F FL' L2 BL2
2933
+ Alg FL F FL' L2 BL2'
2934
+ Alg FL F2 FL' L2' BL
2935
+ Alg FL F2 FL' L2' BL2
2936
+ Alg FL F2 FL' L2' BL2'
2937
+ Alg FL F2 FL' L' U'
2938
+ Alg FL F FL' F2' L' F2
2939
+ Alg F2 U F U L U2' F2'
2940
+ Alg F2' L F2
2941
+ Alg F2' L2 F2
2942
+ Alg F2' L2' F2
2943
+ Alg F2' L' F2
2944
+ Alg F' U F
2945
+ Alg F' U2 F
2946
+ Alg F' U2' F
2947
+ Alg F' U' F
2948
+ Alg R U R'
2949
+ Alg R U2' R'
2950
+ Alg R U' R'
2951
+ Alg F R' F' R
2952
+ Alg F2' L F2 L'
2953
+ Alg F2' L2' BL F2
2954
+ Alg F2' L2' BL2 F2
2955
+ Alg F2' L2' BL2' F2
2956
+ Alg F' U F U'
2957
+ Alg F' U F L
2958
+ Alg F' U F L2
2959
+ Alg F' U F L2'
2960
+ Alg F' U F L'
2961
+ Alg R U2' R' BL2
2962
+ Alg R U2' R' BL2'
2963
+ Alg R U2' R' BL'
2964
+ Alg F2' L' F U' F
2965
+ Alg F2 L2 BL L2' F2'
2966
+ Alg F2 L2 BL2 L2' F2'
2967
+ Alg F2 L2 BL2' L2' F2'
2968
+ Alg F2 L2 BL' L2' F2'
2969
+ Alg F2' U BL U' F2
2970
+ Alg F2' U BL' U' F2
2971
+ Alg F2' L' BL L F2
2972
+ Alg F2' L' BL2 L F2
2973
+ Alg F2' L' BL2' L F2
2974
+ Alg F2' L' BL' L F2
2975
+ Alg F' U2 L U2' F
2976
+ Alg F' U2 L2 U2' F
2977
+ Alg F' U2 L2' U2' F
2978
+ Alg F' U2' BL2 U2 F
2979
+ Alg R U L U' R'
2980
+ Alg R U L' U' R'
2981
+ Alg R F' L F R'
2982
+ Alg R2 U2' L2 U2 R2'
2983
+ Alg R2 U' BL2 U R2'
2984
+ Alg R2 U' BL2' U R2'
2985
+ Alg R2 U' BL' U R2'
2986
+ Alg R2 BR BL' BR' R2'
2987
+ Alg F2 L2 BL2' L2' F2' U2
2988
+ Alg F2' U BL U' F2 L
2989
+ Alg F2' U BL' U' F2 L2
2990
+ Alg F2' U BL' U' F2 L2'
2991
+ Alg F2' L' BL L F2 U2
2992
+ Alg F2' L' BL L F2 U2'
2993
+ Alg F2' L' BL' L F2 U
2994
+ Alg F2' L' BL' L F2 U2
2995
+ Alg F' U2 L' U BL2' U2 F
2996
+ Alg F' U2' BL L' BL2' U2 F
2997
+ Alg U
2998
+ Alg U2
2999
+ Alg U2'
3000
+ Alg U'
3001
+ Alg U L
3002
+ Alg U L2
3003
+ Alg U L2'
3004
+ Alg U L'
3005
+ Alg U2 BL
3006
+ Alg U2 BL2
3007
+ Alg U2 BL2'
3008
+ Alg U2 BL'
3009
+ Alg U L' BL
3010
+ Alg U L' BL2
3011
+ Alg U L' BL2'
3012
+ Alg U L' BL'
3013
+ Alg U2 BL L
3014
+ Alg U2 BL L2
3015
+ Alg U2 BL L2'
3016
+ Alg U2 BL L'
3017
+ Alg U F' L F
3018
+ Alg U L' BL' U
3019
+ Alg U L' BL' U2
3020
+ Alg U2 L U2'
3021
+ Alg U2 L2 U2'
3022
+ Alg U2 L2' U2'
3023
+ Alg U2 L' U2'
3024
+ Alg U2' BL2 U2
3025
+ Alg U2' BL2' U2
3026
+ Alg U2' BL' U2
3027
+ Alg U2 L2 U2' L2'
3028
+ Alg U2 L2 U2' L'
3029
+ Alg U2 L' U2' BL
3030
+ Alg U2 L' U2' BL2
3031
+ Alg U2 L' U2' BL2'
3032
+ Alg U2 L' U2' BL'
3033
+ Alg U2' BL L U2
3034
+ Alg U2' BL L2 U2
3035
+ Alg U2' BL L2' U2
3036
+ Alg U2' BL L' U2
3037
+ Alg U2' BL2 U2 L2
3038
+ Alg U2' BL2 U2 L2'
3039
+ Alg U2' BL2 U2 L'
3040
+ Alg U2' BL2 U2 BL2'
3041
+ Alg U2' BL2 U2 BL'
3042
+ Alg U2' BL2 L U2
3043
+ Alg U' BR' U BR
3044
+ Alg U2 L' U BL2' U2
3045
+ Alg U2 L2' U2' L2 BL2
3046
+ Alg U2 L2' U2' L2 BL2'
3047
+ Alg U2 L' U' BL' U'
3048
+ Alg U2' BL2 U' L U2'
3049
+ Alg F U F'
3050
+ Alg F U2 F'
3051
+ Alg F U2' F'
3052
+ Alg F U' F'
3053
+ Alg F U F' L
3054
+ Alg F U F' L2
3055
+ Alg F U F' L2'
3056
+ Alg F U F' L'
3057
+ Alg F U2 F' L
3058
+ Alg F U2 F' L2
3059
+ Alg F U2 F' L2'
3060
+ Alg F U2 F' L'
3061
+ Alg F U2' BL2 F'
3062
+ Alg F U2' BL2' F'
3063
+ Alg F U2' BL' F'
3064
+ Alg U2 BL2 L' BL2' U2'
3065
+ Alg U2 BL' L' BL U2'
3066
+ Alg U2 BL2' L' BL2 U2'
3067
+ Alg F U2 F' L' BL'
3068
+ Alg F U F' U2' L' U2
3069
+ Alg U2 L U2 L2' U' BL' U2
3070
+ Alg U2' L U2
3071
+ Alg U2' L2 U2
3072
+ Alg U2' L2' U2
3073
+ Alg U2' L' U2
3074
+ Alg U' BL U
3075
+ Alg U' BL2 U
3076
+ Alg U' BL2' U
3077
+ Alg U' BL' U
3078
+ Alg BR BL BR'
3079
+ Alg BR BL2' BR'
3080
+ Alg BR BL' BR'
3081
+ Alg U BR' U' BR
3082
+ Alg U2' L U2 L'
3083
+ Alg U' BL U L
3084
+ Alg U' BL U L2
3085
+ Alg U' BL U L2'
3086
+ Alg U' BL U L'
3087
+ Alg U' BL U BL'
3088
+ Alg U2' L' U BL' U
3089
+ Alg U' BL2 L BL2' U
3090
+ Alg U' BL2 L2 BL2' U
3091
+ Alg U' BL2 L2' BL2' U
3092
+ Alg U' BL2 L' BL2' U
3093
+ Alg BR U' L U BR'
3094
+ Alg BR U' L2 U BR'
3095
+ Alg BR U' L2' U BR'
3096
+ Alg BR U' L' U BR'
3097
+ Alg BR BL L BL' BR'
3098
+ Alg BR BL L' BL' BR'
3099
+ Alg BR2 BL2' L BL2 BR2'
3100
+ Alg BR2 BL2' L2 BL2 BR2'
3101
+ Alg U2' L BL2' L' BL2 U2
3102
+ Alg U2' L2 F' L2' F U2
3103
+ Alg U2' L' DL L DL' U2
3104
+ Alg U2' BL2' L BL2 L' U2
3105
+ Alg U2' BL2' L2 BL2 L2' U2
3106
+ Alg U' BL2 L BL2' U BL
3107
+ Alg U' BL2 L2 BL2' U L
3108
+ Alg U' BL2 L2 BL2' U BL2'
3109
+ Alg U' BL2 L2 BL2' U BL'
3110
+ Alg U' BL2 L2 BL2' L2' U
3111
+ Alg BR BL L' BL' BR' BL2'
3112
+ Alg BR BL L' BL' BR' BL'
3113
+ Alg U' BL U BL U' L2' BL2' U
3114
+ Alg U' BL2 U' L2 U L' BL2' U
3115
+ Alg L
3116
+ Alg L2
3117
+ Alg L2'
3118
+ Alg L'
3119
+ Alg L' BL
3120
+ Alg L' BL2
3121
+ Alg L' BL2'
3122
+ Alg L' BL'
3123
+ Alg U BL U'
3124
+ Alg U BL2 U'
3125
+ Alg U BL2' U'
3126
+ Alg U BL' U'
3127
+ Alg U BL U' L
3128
+ Alg U BL U' L2
3129
+ Alg U BL U' L2'
3130
+ Alg U BL U' L'
3131
+ Alg U BL U' BL'
3132
+ Alg L2' BL L2
3133
+ Alg L2' BL2 L2
3134
+ Alg L2' BL2' L2
3135
+ Alg L2' BL' L2
3136
+ Alg L2 DL L2' DL'
3137
+ Alg L2' BL L2 BL2'
3138
+ Alg L2' BL L2 BL'
3139
+ Alg F' L2 BL L2' F
3140
+ Alg F' L2 BL2 L2' F
3141
+ Alg F' L2 BL2' L2' F
3142
+ Alg F' L2 BL' L2' F
3143
+ Alg L2 DL L' DL' L'
3144
+ Alg L2' U BL2' U' L2
3145
+ Alg L2' BL L2' BL2' L'
3146
+ Alg L2' BL L' BL2' L2'
3147
+ Alg L2' DL L' DL' L2
3148
+ Alg L' U' L' U L2
3149
+ Alg U L' DL L DL' U'
3150
+ Alg F' L2 BL L2' BL2' F
3151
+ Alg L2 DL' BL DL2 L2' DL'
3152
+ Alg L2' U BL2' U' BL L2
3153
+ Alg L2' BL' U BL' U' L2
3154
+ Alg L2' BL' L2 U' L' U
3155
+ Alg U' L U
3156
+ Alg U' L2 U
3157
+ Alg U' L2' U
3158
+ Alg U' L' U
3159
+ Alg U' L2' U BL
3160
+ Alg U' L2' U BL2
3161
+ Alg U' L2' U BL2'
3162
+ Alg U' L2' U BL'
3163
+ Alg U' L' U BL
3164
+ Alg U' L' U BL2
3165
+ Alg U' L' U BL2'
3166
+ Alg U' L' U BL'
3167
+ Alg U' L' U L BL L'
3168
+ Alg U' L' U L2 BL L2'
3169
+ Alg U' L' U BL U' L2 U
3170
+ Alg L2 BL L2'
3171
+ Alg L2 BL2 L2'
3172
+ Alg L2 BL2' L2'
3173
+ Alg L2 BL' L2'
3174
+ Alg L2 BL L2' BL'
3175
+ Alg L DL L' DL'
3176
+ Alg DL L DL' L'
3177
+ Alg L U' L2 U L2
3178
+ Alg L DL' BL DL L'
3179
+ Alg L DL' BL2 DL L'
3180
+ Alg L DL' BL' DL L'
3181
+ Alg DL L DL' L' BL'
3182
+ Alg L2 BL L' DL L' DL'
3183
+ Alg FL' L BL L' FL
3184
+ Alg FL' L BL2 L' FL
3185
+ Alg FL' L BL2' L' FL
3186
+ Alg FL' L BL' L' FL
3187
+ Alg FL' DL' BL DL FL
3188
+ Alg FL' DL' BL2 DL FL
3189
+ Alg FL' DL' BL2' DL FL
3190
+ Alg FL' DL' BL' DL FL
3191
+ Alg L2 BL2' U BL2 U' L2'
3192
+ Alg FL' L BL L' FL BL2'
3193
+ Alg FL' L BL' L' FL BL
3194
+ Alg U' F U BL U' F' U
3195
+ Alg U' F U BL2 U' F' U
3196
+ Alg U' F U BL2' U' F' U
3197
+ Alg F' FL2' DL' BL' DL FL2 F
3198
+ Alg L2' BL2 L2' BL' L2 BL' L2
3199
+ Alg DL L DL2' BL' DL2 L' DL'
3200
+ Alg DL2 FL2' DL2 BL' DL2' FL2 DL2'
3201
+ Alg FL' L U BL2' U' BL L' FL
3202
+ Alg FL' L2 U' L' U BL2 L' FL
3203
+ Alg L BL L'
3204
+ Alg L BL2 L'
3205
+ Alg L BL2' L'
3206
+ Alg L BL' L'
3207
+ Alg DL' BL DL
3208
+ Alg DL' BL2 DL
3209
+ Alg DL' BL2' DL
3210
+ Alg DL' BL' DL
3211
+ Alg L BL L' BL'
3212
+ Alg L' DL L DL'
3213
+ Alg L BL2 L' DL' BL' DL
3214
+ Alg L U BL2' U' BL2 L'
3215
+ Alg L BL2' U BL2 U' L'
3216
+ Alg DL' B' BL2 B BL2' DL
3217
+ Alg DL' BL2 B' BL2' B DL
3218
+ Alg U BL2' DL2' BL2 U' BL2' DL2
3219
+ Alg B' BL2 L2 BL2' B BL2 L2'
3220
+ Alg L U BL2' U' BL2 L' BL2'
3221
+ Alg L U BL2' U' BL2 L' BL'
3222
+ Alg L BL B BL' L' BL B'
3223
+ Alg L BL2' U BL2 U' L' BL2
3224
+ Alg L BL' U BL2 U' BL L'
3225
+ Alg L BL' U BL2' U' BL L'
3226
+ Alg L BL' U BL' U' BL L'
3227
+ Alg L2 BL2 L2' BL' L2 BL' L2'
3228
+ Alg DL' BL B' BL2' B BL' DL
3229
+ Alg L BL2' L U2 BR' U' BR U' L2'
3230
+ Alg L BL2' L BL L' BL L BL2' L2'
3231
+ Alg BL
3232
+ Alg BL2
3233
+ Alg BL2'
3234
+ Alg BL'
3235
+ Alg U BR BL2 BR' BL2' U'
3236
+ Alg B BL DL BL' DL' B'
3237
+ Alg L' BL2' DL' BL2 DL L
3238
+ Alg BR B BL B' BL' BR'
3239
+ Alg U BR BL2 BR' BL2' U' BL2
3240
+ Alg U BL BR BL' BR' U'
3241
+ Alg U BR BL BR' BL' U'
3242
+ Alg U' L' BL2' L BL2 U
3243
+ Alg B' BR' BL2' BR BL2 B
3244
+ Alg L BL2 U BL2' U' L'
3245
+ Alg BR B BL2 B' BL2' BR'
3246
+ Alg U BL2 U' BL' U BL' U'
3247
+ Alg B BL DL BL DL' BL2' B'
3248
+ Alg B BL2 DL BL' DL' BL' B'
3249
+ Alg B' BL' B BL2' B' BL2' B
3250
+ Alg U BL U' BL2 U BL2 U' BL2
3251
+ Alg U BR2 B' BR2' U' BR B BR'
3252
+ Alg BL2 BR B DL' B DL B2' BR'
3253
+ Alg B BL2' B2' BR B BR' B BL2 B'
3254
+ Alg U' BL' L' BL L U BL
3255
+ Alg B' BL2 B BL B' BL2 B
3256
+ Alg B' BL2' B BL' B' BL2' B
3257
+ Alg B' BL' BR' BL' BR BL2 B
3258
+ Alg B' BL2' BR' BL BR BL B
3259
+ Alg U' BL' L' BL' L BL2 U BL'
3260
+ Alg L' BL' L' DL L DL' BL L BL
3261
+ Alg L U BL U' BL' L'
3262
+ Alg L BL U BL' U' L'
3263
+ Alg BR' U' BL' U BL BR
3264
+ Alg L U2 BR' U' BR U' L'
3265
+ Alg U BL U2' L U L2' BL L BL2'
3266
+ Alg U' L2 F' L' F2 U' F' U2 L'
3267
+ Alg U BR' U' L U BR U' L'
3268
+ Alg U BR B BR' U' BR B' BR'
3269
+ Alg U' L U BR' U' L' U BR
3270
+ Alg B DL' B' BR B DL B' BR'
3271
+ Alg L' DL' B DL L DL' B' DL
3272
+ Alg BR B BR' U BR B' BR' U'
3273
+ Alg BR B DL' B' BR' B DL B'
3274
+ Alg U BR2' U2 L2 U2' BR2 U2 L2' U2
3275
+ Alg U2' L2 U2' BR2' U2 L2' U2' BR2 U'
3276
+ Alg U BL' B' BL U' L U2 BL' B BL U2' L'
3277
+ Alg U BR' U' L F' L2' U BR U' L2 F L'
3278
+ Alg U BR U' L U BR' U' L'
3279
+ Alg U' BL2 B BL2' U BL2 B' BL2'
3280
+ Alg L U BR U' L' U BR' U'
3281
+ Alg L BL2' B' BL2 L' BL2' B BL2
3282
+ Alg U BR' U2 L2 U2' BR U2 L2' U2
3283
+ Alg L' BL2 L2' F' L2 BL2' L2' F L2'
3284
+ Alg U BL2' U R U' BL2 U' L U2 R' U2' L'
3285
+ Alg U BR U' L2 F L' U BR' U' L F' L2'
3286
+ Alg U L' BL2 L' FL' L BL2' L U' L2' FL L2
3287
+ Alg U BR2' U R' U2' L U2 R U' BR2 U' L'\`)}var Pm,Mm,na=U(()=>{Ve();lo();fn();Pm=null;Mm=null});var ug={};Ue(ug,{sgsDataPyraminx:()=>ag,sgsDataPyraminxFixedOrientation:()=>oa});async function ag(){return Nm??(Nm=Om())}async function oa(){return{ordering:(await ag()).ordering.slice(2)}}async function Om(){return zt(await he.pyraminx.kpuzzle(),\`SubgroupSizes 12 9 12 3 10 3 8 6 2 3 3 3 3
3288
+
3289
+ Alg B
3290
+ Alg B'
3291
+ Alg y
3292
+ Alg B y
3293
+ Alg B' y
3294
+ Alg y'
3295
+ Alg B y'
3296
+ Alg B' y'
3297
+ Alg BR'
3298
+ Alg B BR'
3299
+ Alg B' BR'
3300
+
3301
+ Alg L
3302
+ Alg L'
3303
+ Alg L F
3304
+ Alg L' F
3305
+ Alg F
3306
+ Alg L F'
3307
+ Alg L' F'
3308
+ Alg F'
3309
+
3310
+ Alg L B' U L' B
3311
+ Alg L U L'
3312
+ Alg L U' L'
3313
+ Alg L U L' U'
3314
+ Alg B' U B
3315
+ Alg B' U' B
3316
+ Alg B' U' B U
3317
+ Alg L U' L' R
3318
+ Alg L U' L' R'
3319
+ Alg L' R' L
3320
+ Alg L' R' L R
3321
+
3322
+ Alg R
3323
+ Alg R'
3324
+
3325
+ Alg R' U R
3326
+ Alg R' U' R
3327
+ Alg R' U R U'
3328
+ Alg B U B'
3329
+ Alg B U' B'
3330
+ Alg R B' R' B
3331
+ Alg L R L' R U' R
3332
+ Alg R L R' L'
3333
+ Alg L' R' U R L
3334
+
3335
+ Alg U
3336
+ Alg U'
3337
+
3338
+ Alg R U R' U'
3339
+ Alg U R U' R'
3340
+ Alg L' U' L U
3341
+ Alg U' L' U L
3342
+ Alg U L R' L' R U'
3343
+ Alg U' R' L R L' U
3344
+ Alg L' U' L U' R U' R'
3345
+
3346
+ Alg R U' R' U
3347
+ Alg L' U L U'
3348
+ Alg U' R U R'
3349
+ Alg U L' U' L
3350
+ Alg L R' L' R L' U L U'
3351
+
3352
+ Alg L' U L U' L R' L' R
3353
+
3354
+ Alg b
3355
+ Alg b'
3356
+
3357
+ Alg l
3358
+ Alg l'
3359
+
3360
+ Alg r
3361
+ Alg r'
3362
+
3363
+ Alg u
3364
+ Alg u'\`)}var Nm,la=U(()=>{Ot();fn();Nm=null});var Bg={};Ue(Bg,{sgsDataSkewb:()=>Lg,sgsDataSkewbFixedCorner:()=>sa,skewbKPuzzleWithoutMOCached:()=>ui});async function Qm(){let t=sn("skewb",{allMoves:!0,addRotations:!0});return new Ie(t.getKPuzzleDefinition(!0),{experimentalPGNotation:new Sr(t,t.getOrbitsDef(!0))})}async function ui(){return jm??(jm=Qm())}async function Lg(){return qm??(qm=Vm())}async function sa(){return{ordering:(await Lg()).ordering.slice(1)}}async function Vm(){return zt(await ui(),\`SubgroupSizes 24 6 5 12 9 3 4 9 3 3
3365
+
3366
+ Alg y
3367
+ Alg y2
3368
+ Alg y'
3369
+ Alg F
3370
+ Alg F'
3371
+ Alg y U
3372
+ Alg y U'
3373
+ Alg y L
3374
+ Alg y L'
3375
+ Alg y F
3376
+ Alg y F'
3377
+ Alg y2 U
3378
+ Alg y2 U'
3379
+ Alg y2 B
3380
+ Alg y2 B'
3381
+ Alg y' U
3382
+ Alg y' F'
3383
+ Alg y U L'
3384
+ Alg y U B
3385
+ Alg y2 U B
3386
+ Alg y2 U B'
3387
+ Alg y2 U' B
3388
+ Alg y2 U' B'
3389
+
3390
+ Alg U
3391
+ Alg U'
3392
+ Alg U L
3393
+ Alg U L'
3394
+ Alg U' R'
3395
+
3396
+ Alg R
3397
+ Alg R'
3398
+ Alg R B
3399
+ Alg R' L'
3400
+
3401
+ Alg U B' U
3402
+ Alg U' L U
3403
+ Alg U' L' U
3404
+ Alg U' B U'
3405
+ Alg R L R'
3406
+ Alg R B' R
3407
+ Alg U B L U'
3408
+ Alg U B' U B'
3409
+ Alg U B' L' U
3410
+ Alg U' L B U'
3411
+ Alg R' B L' R'
3412
+
3413
+ Alg L
3414
+ Alg L'
3415
+ Alg L B
3416
+ Alg L B'
3417
+ Alg L B L
3418
+ Alg L B L'
3419
+ Alg L B' L
3420
+ Alg L B' L'
3421
+
3422
+ Alg B
3423
+ Alg B'
3424
+
3425
+ Alg L' B L
3426
+ Alg L' B' L
3427
+ Alg R' L' B L R
3428
+
3429
+ Alg B L' B L B'
3430
+ Alg B L' B' L B'
3431
+ Alg U L U B U' L' U'
3432
+ Alg R L R' B' R L' R'
3433
+ Alg U B' R L R' B' U B
3434
+ Alg U' B U L U' B' U L'
3435
+ Alg L U' B U L' U' B' U
3436
+ Alg R B' U R B L U' B
3437
+
3438
+ Alg U L U' B' U L' U' B
3439
+ Alg U' B L U L B' U' L'
3440
+
3441
+ Alg U R' U' L B R' B' R
3442
+ Alg R' U' R U B' U' B L\`)}var jm,qm,aa=U(()=>{Ve();lo();fn();jm=null;qm=null});var Ug={};Ue(Ug,{getRandomSquare1ScrambleString:()=>Fc});function Jm(t,e){t.ul=e.ul,t.ur=e.ur,t.dl=e.dl,t.dr=e.dr,t.ml=e.ml}function pg(t,e){var r;e<<=2,e>24?(e=48-e,r=t.ul,t.ul=(~~t.ul>>e|t.ur<<24-e)&16777215,t.ur=(~~t.ur>>e|r<<24-e)&16777215):e>0?(r=t.ul,t.ul=(t.ul<<e|~~t.ur>>24-e)&16777215,t.ur=(t.ur<<e|~~r>>24-e)&16777215):e==0?(r=t.ur,t.ur=t.dl,t.dl=r,t.ml=1-t.ml):e>=-24?(e=-e,r=t.dl,t.dl=(t.dl<<e|~~t.dr>>24-e)&16777215,t.dr=(t.dr<<e|~~r>>24-e)&16777215):e<-24&&(e=48+e,r=t.dl,t.dl=(~~t.dl>>e|t.dr<<24-e)&16777215,t.dr=(~~t.dr>>e|r<<24-e)&16777215)}function $m(t){var e,r,n,o,l;for(n=0,t.arr[0]=Pt(t,0),o=1;o<24;++o)Pt(t,o)!=t.arr[n]&&(t.arr[++n]=Pt(t,o));for(l=0,e=0;e<16;++e)for(r=e+1;r<16;++r)t.arr[e]>t.arr[r]&&(l^=1);return l}function ec(t){var e,r,n,o;return o=t.ur&1118481,o|=~~o>>3,o|=~~o>>6,o=o&15|~~o>>12&48,n=t.ul&1118481,n|=~~n>>3,n|=~~n>>6,n=n&15|~~n>>12&48,r=t.dr&1118481,r|=~~r>>3,r|=~~r>>6,r=r&15|~~r>>12&48,e=t.dl&1118481,e|=~~e>>3,e|=~~e>>6,e=e&15|~~e>>12&48,ko($m(t)<<24|n<<18|o<<12|e<<6|r)}function tc(t,e){var r,n;for(r=0;r<8;++r)t.prm[r]=~~(~~Pt(t,r*3+1)>>1<<24)>>24;for(e.cornperm=Mo(t.prm),e.topEdgeFirst=Pt(t,0)==Pt(t,1),r=e.topEdgeFirst?2:0,n=0;n<4;r+=3,++n)t.prm[n]=~~(~~Pt(t,r)>>1<<24)>>24;for(e.botEdgeFirst=Pt(t,12)==Pt(t,13),r=e.botEdgeFirst?14:12;n<8;r+=3,++n)t.prm[n]=~~(~~Pt(t,r)>>1<<24)>>24;e.edgeperm=Mo(t.prm),e.ml=t.ml}function Pt(t,e){var r;return e<6?r=~~t.ul>>(5-e<<2):e<12?r=~~t.ur>>(11-e<<2):e<18?r=~~t.dl>>(17-e<<2):r=~~t.dr>>(23-e<<2),~~((r&15)<<24)>>24}function fa(t,e,r){e<6?(t.ul&=~(15<<(5-e<<2)),t.ul|=r<<(5-e<<2)):e<12?(t.ur&=~(15<<(11-e<<2)),t.ur|=r<<(11-e<<2)):e<18?(t.dl&=~(15<<(17-e<<2)),t.dl|=r<<(17-e<<2)):(t.dr&=~(15<<(23-e<<2)),t.dr|=r<<(23-e<<2))}function ga(){this.arr=[],this.prm=[]}async function rc(){let t=await st();var e,r,n,o,l,i,s,u,a;for(e=new ga,n=In[t(3678)],l=19088743<<1|286331153,o=19088743<<1,s=i=8,r=0;r<24;r++)(n>>r&1)==0?(u=t(i)<<2,fa(e,23-r,o>>u&15),a=(1<<u)-1,o=(o&a)+(o>>4&~a),--i):(u=t(s)<<2,fa(e,23-r,l>>u&15),fa(e,22-r,l>>u&15),a=(1<<u)-1,l=(l&a)+(l>>4&~a),--s,++r);return e.ml=t(2),e}function nc(){}function oc(t){var e,r,n,o,l,i;for(Jm(t.Search_d,t.Search_c),n=0;n<t.Search_length1;++n)pg(t.Search_d,t.Search_move[n]);for(tc(t.Search_d,t.Search_sq),r=t.Search_sq.edgeperm,e=t.Search_sq.cornperm,l=t.Search_sq.ml,i=Math.max(de[t.Search_sq.edgeperm<<1|l],de[t.Search_sq.cornperm<<1|l]),n=i;n<t.Search_maxlen2;++n)if(gi(t,r,e,t.Search_sq.topEdgeFirst,t.Search_sq.botEdgeFirst,l,n,t.Search_length1,0)){for(o=0;o<n;++o)pg(t.Search_d,t.Search_move[t.Search_length1+o]);return t.Search_sol_string=lc(t,n+t.Search_length1),!0}return!1}function lc(t,e){for(var r="",n=0,o=0,l=e-1;l>=0;l--){var i=t.Search_move[l];i>0?(i=12-i,n=i>6?i-12:i):i<0?(i=12+i,o=i>6?i-12:i):(n==0&&o==0?r+=" / ":r+="("+n+", "+o+") / ",n=o=0)}return(n!==0||o!==0)&&(r+="("+n+", "+o+")"),r}function fi(t,e,r,n,o,l){var i,s,u;if(r==0&&n<4)return n==0&&oc(t);if(l!=0&&(u=Li[e],s=ke[u],s<n&&(t.Search_move[o]=0,fi(t,u,s,n-1,o+1,0))))return!0;if(u=e,l<=0){for(i=0;i+=Co[u],u=~~i>>4,i&=15,!(i>=12||(s=ke[u],s>n));)if(s<n&&(t.Search_move[o]=i,fi(t,u,s,n-1,o+1,1)))return!0}if(u=e,l<=1){for(i=0;i+=zo[u],u=~~i>>4,i&=15,!(i>=6||(s=ke[u],s>n));)if(s<n&&(t.Search_move[o]=-i,fi(t,u,s,n-1,o+1,2)))return!0}return!1}function gi(t,e,r,n,o,l,i,s,u){var a,f,g,L,B,p,m;if(i==0&&!n&&o||u!=0&&n==o&&(g=Go[e],f=Go[r],de[g<<1|1-l]<i&&de[f<<1|1-l]<i&&(t.Search_move[s]=0,gi(t,g,f,n,o,1-l,i-1,s+1,0))))return!0;if(u<=0)for(m=!n,g=m?_r[e]:e,f=m?r:_r[r],L=m?1:2,B=de[g<<1|l],p=de[f<<1|l];L<12&&B<=i&&B<=i;){if(B<i&&p<i&&(t.Search_move[s]=L,gi(t,g,f,m,o,l,i-1,s+1,1)))return!0;m=!m,m?(g=_r[g],B=de[g<<1|l],L+=1):(f=_r[f],p=de[f<<1|l],L+=2)}if(u<=1)for(a=!o,g=a?Nr[e]:e,f=a?r:Nr[r],L=a?1:2,B=de[g<<1|l],p=de[f<<1|l];L<(i>3?6:12)&&B<=i&&B<=i;){if(B<i&&p<i&&(t.Search_move[s]=-L,gi(t,g,f,n,a,l,i-1,s+1,2)))return!0;a=!a,a?(g=Nr[g],B=de[g<<1|l],L+=1):(f=Nr[f],p=de[f<<1|l],L+=2)}return!1}function ic(t,e){var r;for(t.Search_c=e,r=ec(e),t.Search_length1=ke[r];t.Search_length1<100&&(t.Search_maxlen2=Math.min(31-t.Search_length1,17),!fi(t,r,ke[r],t.Search_length1,0,-1));++t.Search_length1);return t.Search_sol_string}function Rg(){this.Search_move=[],this.Search_d=new ga,this.Search_sq=new Ag}function sc(){}function ac(){Dg||(Dg=!0,Po=[0,3,6,12,15,24,27,30,48,51,54,60,63],In=[],ke=[],Co=[],zo=[],Li=[],gc())}function uc(t){var e,r;e=0,r=0;do(t.bottom&2048)==0?(e+=1,t.bottom=t.bottom<<1):(e+=2,t.bottom=t.bottom<<2^12291),r=1-r;while((Kr(t.bottom&63)&1)!=0);return(Kr(t.bottom)&2)==0&&(t.Shape_parity^=r),e}function La(t){var e;return e=yg(In,t.top<<12|t.bottom)<<1|t.Shape_parity,e}function Ba(t,e){t.Shape_parity=e&1,t.top=In[~~e>>1],t.bottom=t.top&4095,t.top>>=12}function fc(t){var e,r;e=0,r=0;do(t.top&2048)==0?(e+=1,t.top=t.top<<1):(e+=2,t.top=t.top<<2^12291),r=1-r;while((Kr(t.top&63)&1)!=0);return(Kr(t.top)&2)==0&&(t.Shape_parity^=r),e}function dg(){}function ko(t){var e;return e=yg(In,t&16777215)<<1|~~t>>24,e}function gc(){var t,e,r,n,o,l,i,s,u,a,f,g,L,B,p,m;for(t=0,i=0;i<28561;++i)l=Po[i%13],r=Po[~~(i/13)%13],g=Po[~~(~~(i/13)/13)%13],f=Po[~~(~~(~~(i/13)/13)/13)],L=f<<18|g<<12|r<<6|l,Kr(L)==16&&(In[t++]=L);for(a=new dg,i=0;i<7356;++i)Ba(a,i),Co[i]=fc(a),Co[i]|=La(a)<<4,Ba(a,i),zo[i]=uc(a),zo[i]|=La(a)<<4,Ba(a,i),m=a.top&63,B=Kr(m),p=Kr(a.bottom&4032),a.Shape_parity^=1&~~(B&p)>>1,a.top=a.top&4032|~~a.bottom>>6&63,a.bottom=a.bottom&63|m<<6,Li[i]=La(a);for(i=0;i<7536;++i)ke[i]=-1;for(ke[ko(14378715)]=0,ke[ko(31157686)]=0,ke[ko(23967451)]=0,ke[ko(7191990)]=0,n=4,o=0,e=-1;n!=o;)for(o=n,++e,i=0;i<7536;++i)if(ke[i]==e){u=0,s=i;do s=Co[s],u+=s&15,s>>=4,ke[s]==-1&&(++n,ke[s]=e+1);while(u!=12);u=0,s=i;do s=zo[s],u+=s&15,s>>=4,ke[s]==-1&&(++n,ke[s]=e+1);while(u!=12);s=Li[i],ke[s]==-1&&(++n,ke[s]=e+1)}}function Lc(){}function Bc(){if(!Fg){Fg=!0,de=[],Go=[],_r=[],Nr=[],hg=[1,1,2,6,24,120,720,5040],Or=[];for(var t=0;t<12;++t)Or[t]=[];mc()}}function Ag(){}function Mo(t){var e,r,n,o;for(r=0,o=1985229328,e=0;e<7;++e)n=t[e]<<2,r=(8-e)*r+(~~o>>n&7),o-=286331152<<n;return r&65535}function mc(){var t,e,r,n,o,l,i,s,u,a,f,g,L;for(o=0;o<12;++o)for(Or[o][0]=1,Or[o][o]=1,u=1;u<o;++u)Or[o][u]=Or[o-1][u-1]+Or[o-1][u];for(g=[],o=0;o<40320;++o)ma(g,o),L=g[2],g[2]=g[4],g[4]=L,L=g[3],g[3]=g[5],g[5]=L,Go[o]=Mo(g),ma(g,o),L=g[0],g[0]=g[1],g[1]=g[2],g[2]=g[3],g[3]=L,_r[o]=Mo(g),ma(g,o),L=g[4],g[4]=g[5],g[5]=g[6],g[6]=g[7],g[7]=L,Nr[o]=Mo(g);for(o=0;o<80640;++o)de[o]=-1;for(de[0]=0,e=0,r=1;r<80640;){s=e>=11,n=s?-1:e,t=s?e:-1,++e;e:for(o=0;o<80640;++o)if(de[o]==n){if(l=~~o>>1,f=o&1,i=Go[l]<<1|1-f,de[i]==t&&(++r,de[s?o:i]=~~(e<<24)>>24,s))continue e;for(i=l,a=0;a<4;++a)if(i=_r[i],de[i<<1|f]==t&&(++r,de[s?o:i<<1|f]=~~(e<<24)>>24,s))continue e;for(a=0;a<4;++a)if(i=Nr[i],de[i<<1|f]==t&&(++r,de[s?o:i<<1|f]=~~(e<<24)>>24,s))continue e}}}function ma(t,e){var r,n,o,l,i;for(i=1985229328,r=0;r<7;++r)o=hg[7-r],l=~~(e/o),e-=l*o,l<<=2,t[r]=~~((~~i>>l&7)<<24)>>24,n=(1<<l)-1,i=(i&n)+(~~i>>4&~n);t[7]=~~(i<<24)>>24}function cc(){}function Kr(t){return t-=~~t>>1&1431655765,t=(~~t>>2&858993459)+(t&858993459),t=(~~t>>4)+t&252645135,t+=~~t>>8,t+=~~t>>16,t&63}function yg(t,e){var r,n,o,l;for(n=0,r=t.length-1;n<=r;)if(o=n+(~~(r-n)>>1),l=t[o],l<e)n=o+1;else if(l>e)r=o-1;else return o;return-n-1}async function Fc(){return(await dc()).scramble_string}var Se,Dg,zo,In,ke,Co,Li,Po,Fg,Nr,Or,de,_r,Go,hg,ca,pc,Rc,Dc,dc,bg=U(()=>{nr();Se=ga.prototype=nc.prototype;Se.dl=10062778;Se.dr=14536702;Se.ml=0;Se.ul=70195;Se.ur=4544119;Se=Rg.prototype=sc.prototype;Se.Search_c=null;Se.Search_length1=0;Se.Search_maxlen2=0;Se.Search_sol_string=null;Dg=!1;Se=dg.prototype=Lc.prototype;Se.bottom=0;Se.Shape_parity=0;Se.top=0;Fg=!1;Se=Ag.prototype=cc.prototype;Se.botEdgeFirst=!1;Se.cornperm=0;Se.edgeperm=0;Se.ml=0;Se.topEdgeFirst=!1;ca=!1,pc=function(t,e,r){ca||(ac(),Bc()),r&&r("Done initializing Square-1."),ca=!0,t!=null&&t()},Rc=async function(){return ca||pc(),rc()},Dc=function(t){var e=new Rg;return ic(e,t)},dc=async function(){var t=await Rc(),e=Dc(t);return{state:t,scramble_string:e}}});var Fa=Symbol("Comlink.proxy"),Ig=Symbol("Comlink.endpoint"),Ng=Symbol("Comlink.releaseProxy"),ci=Symbol("Comlink.thrown"),Aa=t=>typeof t=="object"&&t!==null||typeof t=="function",Og={canHandle:t=>Aa(t)&&t[Fa],serialize(t){let{port1:e,port2:r}=new MessageChannel;return Nn(t,e),[r,[r]]},deserialize(t){return t.start(),Wg(t)}},_g={canHandle:t=>Aa(t)&&ci in t,serialize({value:t}){let e;return t instanceof Error?e={isError:!0,value:{message:t.message,name:t.name,stack:t.stack}}:e={isError:!1,value:t},[e,[]]},deserialize(t){throw t.isError?Object.assign(new Error(t.value.message),t.value):t.value}},ha=new Map([["proxy",Og],["throw",_g]]);function Nn(t,e=self){e.addEventListener("message",function r(n){if(!n||!n.data)return;let{id:o,type:l,path:i}=Object.assign({path:[]},n.data),s=(n.data.argumentList||[]).map(Dr),u;try{let a=i.slice(0,-1).reduce((g,L)=>g[L],t),f=i.reduce((g,L)=>g[L],t);switch(l){case"GET":u=f;break;case"SET":a[i.slice(-1)[0]]=Dr(n.data.value),u=!0;break;case"APPLY":u=f.apply(a,s);break;case"CONSTRUCT":{let g=new f(...s);u=qg(g)}break;case"ENDPOINT":{let{port1:g,port2:L}=new MessageChannel;Nn(t,L),u=jg(g,[g])}break;case"RELEASE":u=void 0;break;default:return}}catch(a){u={value:a,[ci]:0}}Promise.resolve(u).catch(a=>({value:a,[ci]:0})).then(a=>{let[f,g]=Ri(a);e.postMessage(Object.assign(Object.assign({},f),{id:o}),g),l==="RELEASE"&&(e.removeEventListener("message",r),ya(e))})}),e.start&&e.start()}function Kg(t){return t.constructor.name==="MessagePort"}function ya(t){Kg(t)&&t.close()}function Wg(t,e){return pi(t,[],e)}function Io(t){if(t)throw new Error("Proxy has been released and is not useable")}function pi(t,e=[],r=function(){}){let n=!1,o=new Proxy(r,{get(l,i){if(Io(n),i===Ng)return()=>Wr(t,{type:"RELEASE",path:e.map(s=>s.toString())}).then(()=>{ya(t),n=!0});if(i==="then"){if(e.length===0)return{then:()=>o};let s=Wr(t,{type:"GET",path:e.map(u=>u.toString())}).then(Dr);return s.then.bind(s)}return pi(t,[...e,i])},set(l,i,s){Io(n);let[u,a]=Ri(s);return Wr(t,{type:"SET",path:[...e,i].map(f=>f.toString()),value:u},a).then(Dr)},apply(l,i,s){Io(n);let u=e[e.length-1];if(u===Ig)return Wr(t,{type:"ENDPOINT"}).then(Dr);if(u==="bind")return pi(t,e.slice(0,-1));let[a,f]=Ua(s);return Wr(t,{type:"APPLY",path:e.map(g=>g.toString()),argumentList:a},f).then(Dr)},construct(l,i){Io(n);let[s,u]=Ua(i);return Wr(t,{type:"CONSTRUCT",path:e.map(a=>a.toString()),argumentList:s},u).then(Dr)}});return o}function Qg(t){return Array.prototype.concat.apply([],t)}function Ua(t){let e=t.map(Ri);return[e.map(r=>r[0]),Qg(e.map(r=>r[1]))]}var ba=new WeakMap;function jg(t,e){return ba.set(t,e),t}function qg(t){return Object.assign(t,{[Fa]:!0})}function Ri(t){for(let[e,r]of ha)if(r.canHandle(t)){let[n,o]=r.serialize(t);return[{type:"HANDLER",name:e,value:n},o]}return[{type:"RAW",value:t},ba.get(t)||[]]}function Dr(t){switch(t.type){case"HANDLER":return ha.get(t.name).deserialize(t.value);case"RAW":return t.value}}function Wr(t,e,r){return new Promise(n=>{let o=Vg();t.addEventListener("message",function l(i){!i.data||!i.data.id||i.data.id!==o||(t.removeEventListener("message",l),n(i.data))}),t.start&&t.start(),t.postMessage(Object.assign({id:o},e),r)})}function Vg(){return new Array(4).fill(0).map(()=>Math.floor(Math.random()*Number.MAX_SAFE_INTEGER).toString(16)).join("-")}var Xg=typeof globalThis.Worker=="undefined"&&typeof globalThis.WorkerNavigator=="undefined";function Ea(t){Xg?(async()=>{let{port:e}=await Promise.resolve().then(()=>(va(),wa));Nn(t,await e())})():Nn(t)}Ve();Ot();_t();Ve();Ot();nr();_t();Ae();Ae();var ts=class extends Zr{constructor(e){super();this.metric=e}traverseAlg(e){let r=0;for(let n of e.units())r+=this.traverseUnit(n);return r}traverseGrouping(e){let r=e.alg;return this.traverseAlg(r)*Math.abs(e.amount)}traverseMove(e){return this.metric(e)}traverseCommutator(e){return 2*(this.traverseAlg(e.A)+this.traverseAlg(e.B))}traverseConjugate(e){return 2*this.traverseAlg(e.A)+this.traverseAlg(e.B)}traversePause(e){return 0}traverseNewline(e){return 0}traverseLineComment(e){return 0}};function P2(t){return"A"<=t&&t<="Z"}function H1(t){let e=t.family;return P2(e[0])&&e[e.length-1]==="v"||e==="x"||e==="y"||e==="z"||e==="T"?0:1}function Y1(t){let e=t.family;return P2(e[0])&&e[e.length-1]==="v"||e==="x"||e==="y"||e==="z"||e==="T"?0:Math.abs(t.amount)}var M2=new ts(H1),rs=M2.traverseAlg.bind(M2),G2=new ts(Y1),Z1=G2.traverseAlg.bind(G2);Ae();var T2=class extends Zr{traverseAlg(e){let r=0;for(let n of e.units())r+=this.traverseUnit(n);return r}traverseGrouping(e){return this.traverseAlg(e.alg)*Math.abs(e.amount)}traverseMove(e){return 1}traverseCommutator(e){return 2*(this.traverseAlg(e.A)+this.traverseAlg(e.B))}traverseConjugate(e){return 2*this.traverseAlg(e.A)+this.traverseAlg(e.B)}traversePause(e){return 1}traverseNewline(e){return 0}traverseLineComment(e){return 0}},I2=new T2,X1=I2.traverseAlg.bind(I2);nr();var J1=2,$1=!0,eL=!1;function tL(t,e){let r=[];return e.forEach(function(n){let o=new c(n);if(o.amount!==1)throw new Error("SGS cannot handle def moves with an amount other than 1 yet.");let l=t.identityTransformation();for(let i=1;l=l.applyMove(o),!l.isIdentityTransformation();i++)r.push({move:o.modified({amount:i}),transformation:l})}),r}var Ft=class{constructor(e,r,n){this.kpuzzle=e;this.sgs=r;this.searchMoves=tL(this.kpuzzle,n??Object.keys(this.kpuzzle.definition.moves))}async solve(e,r=J1,n){let o=e.experimentalToTransformation();if(!o)throw new Error("distinguishable pieces are not supported in tremble solver yt");let l=null,i=1e6,s=(u,a,f)=>{if(a===0){let g=this.sgsPhaseSolve(u,i);if(!g)return;let L=f.concat(g).simplify({collapseMoves:!0,quantumMoveOrder:n}),B=rs(L);(l===null||B<i)&&(eL&&(console.log(\`New best (\${B} moves): \${L.toString()}\`),console.log(\`Tremble moves are: \${f.toString()}\`)),l=L,i=B);return}for(let g of this.searchMoves)s(u.applyTransformation(g.transformation),a-1,f.concat([g.move]))};for(let u=0;u<=r;u++)s(o,u,new k);if(l===null)throw new Error("SGS search failed.");return l}sgsPhaseSolve(e,r){let n=new ut,o=e;for(let l of this.sgs.ordering){let i=l.pieceOrdering,s="",u=o.invert();for(let f=0;f<i.length;f++){let g=i[f],L=g.orbitName,B=g.permutationIdx;s+=\` \${u.transformationData[L].permutation[B]} \${u.transformationData[L].orientation[B]}\`}let a=l.lookup[s];if(!a)throw new Error("Missing algorithm in sgs or esgs?");if(n.experimentalPushAlg(a.alg),n.experimentalNumUnits()>=r)return null;if(o=o.applyTransformation(a.transformation),$1)for(let f=0;f<i.length;f++){let g=i[f],L=g.orbitName,B=g.permutationIdx;if(o.transformationData[L].permutation[B]!==B||o.transformationData[L].orientation[B]!==0)throw new Error("bad SGS :-(")}}return n.toAlg()}};async function un(t,e){let r=await Kt(),n=t.identityTransformation();for(let o of e.ordering){let l=r(Object.values(o.lookup));n=n.applyTransformation(l.transformation)}return n.toKState()}var oL=3,K2=null;async function W2(){return K2||(K2=(async()=>{let t=await(await Promise.resolve().then(()=>(_2(),O2))).cachedData222();return new Ft(await he["2x2x2"].kpuzzle(),t,"URFLBD".split(""))})())}async function Q2(){await W2()}async function ns(t){return tt(),await(await W2()).solve(t,oL,()=>4)}async function lL(t,e,r,n){let o=await st();await C2(r.stateData[e].pieces);let l=t.definition.orbits[e],i=r.stateData[e].orientation,s=0;for(let u=0;u<l.numPieces;u++){let a=o(l.numOrientations);i[u]=a,s+=a}n&&"orientationSum"in n&&(i[0]=((i[0]+n.orientationSum-s)%l.numOrientations+l.numOrientations)%l.numOrientations)}async function iL(){let t=await he["2x2x2"].kpuzzle(),e=new Be(t,JSON.parse(JSON.stringify(t.startState().stateData)));return await lL(t,"CORNERS",e,{orientationSum:0}),e}async function j2(){return await ns(await iL())}ws();Rl();var Am=[[null,"x","x2","x'","z","z'"],[null,"y","y2","y'"]],hm=null;function Zf(){return hm??(hm=Promise.resolve().then(()=>(Yf(),Hf)))}async function Xf(){return(await Zf()).initialize()}async function ea(){return(await Zf()).random444Scramble()}async function Jf(){return gn(await ea(),Am)}Rl();Ae();nr();function ym(t){switch(t){case 5:return 60;case 6:return 80;default:return 100}}var Um=[["U","D"],["L","R"],["F","B"]],$f=new Map;function bm(t){let e=$f.get(t);if(e)return e;let r=[];for(let n of Um){let o=[];r.push(o);for(let l of n){o.push(new G(l)),t>3&&o.push(new G(\`\${l}w\`));for(let i=3;i<=t/2;i++)o.push(new G(\`\${l}w\`,i))}}return $f.set(t,r),r}async function Yt(t){let e=await st(),r=await Kt(),n=r,o=bm(t),l=ym(t),i=new ut,s=0,u=new Set;for(;i.experimentalNumUnits()<l;){let a=e(3);a!==s&&u.clear(),s=a;let f=r(o[s]),g=f.toString();u.has(g)||(u.add(g),i.push(new c(f,n([1,2,-1]))))}return i.toAlg()}var Sm=[[null,"3Rw","3Rw2","3Rw'","3Fw","3Fw'"],[null,"3Dw","3Dw2","3Dw'"]];async function eg(){return gn(await Yt(5),Sm)}Ot();_t();var Em=3,tg=null;async function km(){return tg||(tg=(async()=>{let e=await(await Promise.resolve().then(()=>(ra(),ta))).sgsDataFTO();return new Ft(await he.fto.kpuzzle(),e,["U","R","F","L","D","B","BR","BL"])})())}async function zm(t){return tt(),await(await km()).solve(t,Em,()=>3)}var rg=!1;async function ng(){rg||(console.warn("FTO scrambles are not yet optimized. They may be much too long (\\u224890 moves)."),rg=!0);let t=await Promise.resolve().then(()=>(ra(),ta));return zm(await un(await he.fto.kpuzzle(),await t.sgsDataFTO()))}Ve();_t();na();var Tm=2,ig=null;async function Im(){return ig||(ig=(async()=>{let e=await(await Promise.resolve().then(()=>(na(),lg))).cachedSGSDataMegaminx();return new Ft(await Eo(),e,["U","R","F","L","BR","BL","FR","FL","DR","DL","B","D"])})())}async function sg(t){tt();let e=await Im(),r=JSON.parse(JSON.stringify(t.stateData));r.CENTERS.orientation=new Array(12).fill(0);let n=new Be(await Eo(),r);return await e.solve(n,Tm,()=>5)}Ot();_t();la();var _m=3,fg=null;async function Km(){return fg||(fg=(async()=>{let e=await(await Promise.resolve().then(()=>(la(),ug))).sgsDataPyraminx();return new Ft(await he.pyraminx.kpuzzle(),e,"RLUB".split(""))})())}async function ia(t){return tt(),await(await Km()).solve(t,_m,()=>3)}async function Wm(){return un(await he.pyraminx.kpuzzle(),await oa())}async function gg(){return ia(await Wm())}Ve();_t();aa();var Hm=3,mg=null;async function Ym(){return mg||(mg=(async()=>{let t=await Promise.resolve().then(()=>(aa(),Bg)),e=await t.sgsDataSkewb();return new Ft(await t.skewbKPuzzleWithoutMOCached(),e,"RLUB".split(""))})())}function Zm(t){return new Be(t.kpuzzle,{CORNERS:t.stateData.CORNERS,CENTERS:{pieces:t.stateData.CENTERS.pieces,orientation:new Array(6).fill(0)}})}async function ua(t){return tt(),await(await Ym()).solve(Zm(t),Hm,n=>n.family==="y"?4:3)}async function Xm(){return un(await ui(),await sa())}async function cg(){return ua(await Xm())}Ae();var Ac=null;function hc(){return Ac??(Ac=Promise.resolve().then(()=>(bg(),Ug)))}async function Sg(){return k.fromString(await(await hc()).getRandomSquare1ScrambleString())}w2(!0);var xg=!0;function yc(t){xg=t}function wg(){return(typeof performance=="undefined"?Date:performance).now()}async function _e(t,e){if(!xg)return e();let r=wg(),n=e();n?.then&&await n;let o=wg();return console.warn(\`\${t}: \${Math.round(o-r)}ms\`),n}var pa={initialize:async t=>{switch(t){case"222":return _e("preInitialize222",Q2);case"333":case"333oh":case"333ft":return _e("initialize333",Mu);case"444":return _e("initialize444",Xf);default:throw new Error(\`unsupported event: \${t}\`)}},randomScrambleForEvent:async t=>{switch(t){case"222":return _e("random222Scramble",j2);case"333":case"333oh":case"333ft":return _e("random333Scramble",yn);case"333fm":return _e("random333FewestMovesScramble",Iu);case"333bf":case"333mb":return _e("random333OrientedScramble",Gu);case"444":return _e("random444Scramble",ea);case"444bf":return _e("random444OrientedScramble",Jf);case"555":return _e("bigCubeScramble(5)",Yt.bind(Yt,5));case"555bf":return _e("oriented555RandomMoves",eg);case"666":return _e("bigCubeScramble(6)",Yt.bind(Yt,6));case"777":return _e("bigCubeScramble(7)",Yt.bind(Yt,7));case"skewb":return _e("randomSkewbFixedCornerScramble",cg);case"pyram":return _e("randomPyraminxScrambleFixedOrientation",gg);case"sq1":return _e("getRandomSquare1Scramble",Sg);case"fto":return _e("randomFTOScramble",ng);default:throw new Error(\`unsupported event: \${t}\`)}},randomScrambleStringForEvent:async t=>(await pa.randomScrambleForEvent(t)).toString(),solve333ToString:async t=>{let e=new Be(await he["3x3x3"].kpuzzle(),t);return(await xs(e)).toString()},solve222ToString:async t=>{let e=new Be(await he["2x2x2"].kpuzzle(),t);return(await ns(e)).toString()},solveSkewbToString:async t=>{let e=new Be(await he.skewb.kpuzzle(),t);return(await ua(e)).toString()},solvePyraminxToString:async t=>{let e=new Be(await he.pyraminx.kpuzzle(),t);return(await ia(e)).toString()},solveMegaminxToString:async t=>{let e=new Be(await he.megaminx.kpuzzle(),t);return(await sg(e)).toString()},setDebugMeasurePerf:async t=>{yc(t)}};Ea(pa);
3443
+ `;
3444
+ export {
3445
+ workerSource
3446
+ };
3447
+ //# sourceMappingURL=worker-inside-generated-string-MFGRIFCG.js.map