cubing 0.25.0 → 0.25.1

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 (47) hide show
  1. package/dist/esm/{2x2x2.sgs.json-TCTAV5XU.js → 2x2x2.sgs.json-QKP2WRPT.js} +2 -2
  2. package/dist/esm/{2x2x2.sgs.json-TCTAV5XU.js.map → 2x2x2.sgs.json-QKP2WRPT.js.map} +0 -0
  3. package/dist/esm/{3d-dynamic-inside-MLJKFLGH.js → 3d-dynamic-inside-GKERM3IG.js} +3 -3
  4. package/dist/esm/{3d-dynamic-inside-MLJKFLGH.js.map → 3d-dynamic-inside-GKERM3IG.js.map} +0 -0
  5. package/dist/esm/bluetooth/index.js +1 -1
  6. package/dist/esm/{chunk-U2R5E2A4.js → chunk-37NJ765B.js} +6 -4
  7. package/dist/esm/{chunk-U2R5E2A4.js.map → chunk-37NJ765B.js.map} +2 -2
  8. package/dist/esm/{chunk-4SUQM4XH.js → chunk-GXV3K7MX.js} +2 -2
  9. package/dist/esm/{chunk-4SUQM4XH.js.map → chunk-GXV3K7MX.js.map} +0 -0
  10. package/dist/esm/{chunk-TVY3UOOK.js → chunk-HCNUMBT5.js} +2 -2
  11. package/dist/esm/{chunk-TVY3UOOK.js.map → chunk-HCNUMBT5.js.map} +0 -0
  12. package/dist/esm/{chunk-AAB2V4UB.js → chunk-QUTXXRPT.js} +2 -2
  13. package/dist/esm/{chunk-AAB2V4UB.js.map → chunk-QUTXXRPT.js.map} +0 -0
  14. package/dist/esm/{chunk-V7Z6KRM2.js → chunk-Z5INA5XR.js} +3 -3
  15. package/dist/esm/{chunk-V7Z6KRM2.js.map → chunk-Z5INA5XR.js.map} +0 -0
  16. package/dist/esm/{entry-Y2R6JXV7.js → entry-RSZSKW5X.js} +17 -9
  17. package/dist/esm/{entry-Y2R6JXV7.js.map → entry-RSZSKW5X.js.map} +3 -3
  18. package/dist/esm/{fto.sgs.json-2IU2J6W7.js → fto.sgs.json-T5WY2HR7.js} +2 -2
  19. package/dist/esm/{fto.sgs.json-2IU2J6W7.js.map → fto.sgs.json-T5WY2HR7.js.map} +0 -0
  20. package/dist/esm/{ftosolver-smaller-phase3-table-PUTNXKKW.js → ftosolver-smaller-phase3-table-UTQRO776.js} +283 -76
  21. package/dist/esm/ftosolver-smaller-phase3-table-UTQRO776.js.map +7 -0
  22. package/dist/esm/masterpyra-QOJCNGZM.js +732 -0
  23. package/dist/esm/masterpyra-QOJCNGZM.js.map +7 -0
  24. package/dist/esm/{module-entry-3WBGTDCZ.js → module-entry-UDFTQHXX.js} +2 -2
  25. package/dist/esm/{module-entry-3WBGTDCZ.js.map → module-entry-UDFTQHXX.js.map} +0 -0
  26. package/dist/esm/puzzles/index.js +1 -1
  27. package/dist/esm/{pyraminx.sgs.json-NZWNQPLL.js → pyraminx.sgs.json-5HPDQAOM.js} +3 -3
  28. package/dist/esm/{pyraminx.sgs.json-NZWNQPLL.js.map → pyraminx.sgs.json-5HPDQAOM.js.map} +0 -0
  29. package/dist/esm/scramble/index.js +3 -3
  30. package/dist/esm/{scramble_444-Q334Y5FH.js → scramble_444-FXLLIDCW.js} +3 -3
  31. package/dist/esm/{scramble_444-Q334Y5FH.js.map → scramble_444-FXLLIDCW.js.map} +0 -0
  32. package/dist/esm/search/index.js +3 -3
  33. package/dist/esm/twisty/index.js +2 -2
  34. package/dist/esm/worker-inside-generated-string-WGUQ4QSO.js +2828 -0
  35. package/dist/esm/worker-inside-generated-string-WGUQ4QSO.js.map +7 -0
  36. package/dist/types/puzzles/async/async-pg3d.d.ts +2 -0
  37. package/dist/types/search/inside/solve/puzzles/master_tetraminx.d.ts +2 -0
  38. package/dist/types/search/worker-inside-generated-string.d.ts +1 -1
  39. package/dist/types/vendor/xyzzy/ftosolver-smaller-phase3-table.d.ts +1 -1
  40. package/dist/types/vendor/xyzzy/ftosolver.d.ts +4 -25
  41. package/dist/types/vendor/xyzzy/kilosolver.d.ts +1 -19
  42. package/dist/types/vendor/xyzzy/masterpyra.d.ts +1 -217
  43. package/dist/types/vendor/xyzzy/rediscrambler.d.ts +1 -37
  44. package/package.json +2 -2
  45. package/dist/esm/ftosolver-smaller-phase3-table-PUTNXKKW.js.map +0 -7
  46. package/dist/esm/worker-inside-generated-string-BERQU3U7.js +0 -2828
  47. package/dist/esm/worker-inside-generated-string-BERQU3U7.js.map +0 -7
@@ -1,39 +1,9 @@
1
+ import {
2
+ randomUIntBelowFactory
3
+ } from "./chunk-RENZB7QN.js";
1
4
  import "./chunk-WO2AXYFE.js";
2
5
 
3
6
  // src/cubing/vendor/xyzzy/ftosolver-smaller-phase3-table.js
4
- "use strict";
5
- var rng = (() => {
6
- let entropy = 0;
7
- let entropy_size = 1;
8
- let random_bit = globalThis.crypto ? () => crypto.getRandomValues(new Uint8Array(1))[0] & 1 : () => Math.round(Math.random());
9
- const SAFETY_MARGIN = 1e4;
10
- const MAX_ITERATIONS = 20;
11
- function next(bound) {
12
- if (bound <= 0 || bound > 2 ** 32 || bound !== Math.floor(bound)) {
13
- throw "invalid bound";
14
- }
15
- for (let it = 0; it <= MAX_ITERATIONS; it++) {
16
- for (let i = 0; i < 53 && entropy_size <= 2 ** 52 && entropy_size < bound * SAFETY_MARGIN; i++) {
17
- entropy += random_bit() * entropy_size;
18
- entropy_size *= 2;
19
- }
20
- let limit = entropy_size - entropy_size % bound;
21
- if (entropy < limit || it === MAX_ITERATIONS) {
22
- let result = entropy % bound;
23
- entropy = (entropy - result) / bound;
24
- entropy_size = limit / bound;
25
- if (entropy === entropy_size) {
26
- entropy = 0;
27
- entropy_size = 1;
28
- }
29
- return result;
30
- }
31
- entropy -= limit;
32
- entropy_size -= limit;
33
- }
34
- }
35
- return { next, is_crypto: !!globalThis.crypto };
36
- })();
37
7
  function factorial(n) {
38
8
  if (n < 2)
39
9
  return n;
@@ -153,17 +123,17 @@ var [evenpermutation8_to_index, index_to_evenpermutation8] = (() => {
153
123
  }
154
124
  return [evenpermutation8_to_index2, index_to_evenpermutation82];
155
125
  })();
156
- function random_permutation(n) {
126
+ function random_permutation(n, randomUintBelow2) {
157
127
  let p = [0];
158
128
  for (let i = 1; i < n; i++) {
159
- let r = rng.next(i + 1);
129
+ let r = randomUintBelow2(i + 1);
160
130
  p[i] = p[r];
161
131
  p[r] = i;
162
132
  }
163
133
  return p;
164
134
  }
165
- function random_even_permutation(n) {
166
- let p = random_permutation(n);
135
+ function random_even_permutation(n, randomUintBelow2) {
136
+ let p = random_permutation(n, randomUintBelow2);
167
137
  if (permutation_parity(p) === 1) {
168
138
  [p[0], p[1]] = [p[1], p[0]];
169
139
  }
@@ -243,7 +213,10 @@ function generate_comb4_lookup_tables(n, k0, k1, k2, k3) {
243
213
  }
244
214
  }
245
215
  }
246
- return comb4_lookup_tables[key] = [index_to_comb4_table, comb4_to_index_table];
216
+ return comb4_lookup_tables[key] = [
217
+ index_to_comb4_table,
218
+ comb4_to_index_table
219
+ ];
247
220
  }
248
221
  function compose(A, B) {
249
222
  let C2 = [];
@@ -323,7 +296,17 @@ function permutation_order(perm) {
323
296
  return order;
324
297
  }
325
298
  var solved_state = Array(72).fill().map((_, i) => i / 9 | 0);
326
- var move_U = permutation_from_cycles([[0, 4, 8], [1, 6, 3], [2, 5, 7], [9, 22, 35], [45, 67, 44], [47, 68, 43], [46, 69, 39], [50, 70, 38], [49, 71, 36]], 72);
299
+ var move_U = permutation_from_cycles([
300
+ [0, 4, 8],
301
+ [1, 6, 3],
302
+ [2, 5, 7],
303
+ [9, 22, 35],
304
+ [45, 67, 44],
305
+ [47, 68, 43],
306
+ [46, 69, 39],
307
+ [50, 70, 38],
308
+ [49, 71, 36]
309
+ ], 72);
327
310
  var move_Ui = compose(move_U, move_U);
328
311
  var move_X = Array(72).fill().map((_, i) => (i / 18 | 0) * 18 + (i + 9) % 18);
329
312
  var move_Y = Array(72).fill().map((_, i) => (i / 36 | 0) * 36 + (i + 18) % 36);
@@ -331,7 +314,14 @@ var move_Z = Array(72).fill().map((_, i) => (i + 36) % 72);
331
314
  var move_L = compose3(move_Z, move_Ui, move_Z);
332
315
  var move_F = compose3(move_X, move_U, move_X);
333
316
  var move_R = compose3(move_X, move_L, move_X);
334
- var move_Us = permutation_from_cycles([[10, 24, 30], [11, 23, 34], [12, 19, 33], [42, 48, 64], [41, 52, 65], [37, 51, 66]], 72);
317
+ var move_Us = permutation_from_cycles([
318
+ [10, 24, 30],
319
+ [11, 23, 34],
320
+ [12, 19, 33],
321
+ [42, 48, 64],
322
+ [41, 52, 65],
323
+ [37, 51, 66]
324
+ ], 72);
335
325
  var move_Uw = compose(move_U, move_Us);
336
326
  var move_Uwi = compose(move_Uw, move_Uw);
337
327
  var move_Lw = compose3(move_Z, move_Uwi, move_Z);
@@ -416,25 +406,34 @@ function convert_move_to_permutations(move) {
416
406
  let bp = Array(12).fill().map((_, i) => centreB_piece_facelets.indexOf(move[centreB_piece_facelets[i]]));
417
407
  return { cp, ep, ap, bp };
418
408
  }
419
- var moves = [move_U, move_L, move_F, move_R, move_Uw, move_Lw, move_Fw, move_Rw];
409
+ var moves = [
410
+ move_U,
411
+ move_L,
412
+ move_F,
413
+ move_R,
414
+ move_Uw,
415
+ move_Lw,
416
+ move_Fw,
417
+ move_Rw
418
+ ];
420
419
  var move_names = ["U", "L", "F", "R", "u", "l", "f", "r"];
421
420
  var move_permutations = moves.map(convert_move_to_permutations);
422
- function random_state() {
421
+ function random_state(randomUintBelow2) {
423
422
  let facelets = Array(72);
424
- let cp = random_even_permutation(5);
423
+ let cp = random_even_permutation(5, randomUintBelow2);
425
424
  cp.push(5);
426
- let co = Array(4).fill().map((_) => rng.next(2));
425
+ let co = Array(4).fill().map((_) => randomUintBelow2(2));
427
426
  co.push(co.reduce((x, y) => x ^ y));
428
427
  co.push(0);
429
428
  for (let i = 0; i < 6; i++) {
430
429
  set_corner_piece(facelets, i, cp[i], co[i]);
431
430
  }
432
- let ep = random_even_permutation(12);
431
+ let ep = random_even_permutation(12, randomUintBelow2);
433
432
  for (let i = 0; i < 12; i++) {
434
433
  set_edge_piece(facelets, i, ep[i]);
435
434
  }
436
- let a = random_permutation(12).map((x) => x / 3 | 0);
437
- let b = random_permutation(12).map((x) => 4 + (x / 3 | 0));
435
+ let a = random_permutation(12, randomUintBelow2).map((x) => x / 3 | 0);
436
+ let b = random_permutation(12, randomUintBelow2).map((x) => 4 + (x / 3 | 0));
438
437
  for (let i = 0; i < 12; i++) {
439
438
  facelets[centreA_piece_facelets[i]] = a[i];
440
439
  facelets[centreB_piece_facelets[i]] = b[i];
@@ -446,7 +445,12 @@ function stringify_move_sequence(move_sequence, no_wide = false) {
446
445
  const U = 0, L = 1, F = 2, R = 3, D = 4, BR = 5, B = 6, BL = 7;
447
446
  move_sequence = move_sequence.map((x) => x.slice());
448
447
  let ordering = [U, L, F, R, D, BR, B, BL];
449
- let rotations = [[U, R, BR, B, D, BL, L, F], [BL, L, U, B, R, BR, D, F], [BL, D, F, L, R, U, B, BR], [F, D, BR, R, B, U, L, BL]];
448
+ let rotations = [
449
+ [U, R, BR, B, D, BL, L, F],
450
+ [BL, L, U, B, R, BR, D, F],
451
+ [BL, D, F, L, R, U, B, BR],
452
+ [F, D, BR, R, B, U, L, BL]
453
+ ];
450
454
  rotations = rotations.concat(rotations.map((p) => invert_permutation(p)));
451
455
  for (let i = 0; i < move_sequence.length; i++) {
452
456
  if (move_sequence[i][0] < 4) {
@@ -505,8 +509,8 @@ function simplify_move_sequence(move_sequence, make_noise = false) {
505
509
  }
506
510
  return simplified;
507
511
  }
508
- function generate_random_state_scramble() {
509
- return stringify_move_sequence(invert_move_sequence(solve(random_state(), true)), true);
512
+ function generate_random_state_scramble(randomUintBelow2) {
513
+ return stringify_move_sequence(invert_move_sequence(solve(random_state(randomUintBelow2), true)), true);
510
514
  }
511
515
  function generate_mtable_comb4_generic(n, k0, k1, k2, k3, permutations) {
512
516
  let N = C4(n, k0, k1, k2, k3);
@@ -719,7 +723,9 @@ function generate_phase1_edge_ptable() {
719
723
  if (cached_ptables.phase1_edge) {
720
724
  return cached_ptables.phase1_edge;
721
725
  }
722
- return cached_ptables.phase1_edge = bfs(generate_phase1_edge_mtable(), [8 + 12 * 9 + 12 ** 2 * 10 + 12 ** 3 * 11]);
726
+ return cached_ptables.phase1_edge = bfs(generate_phase1_edge_mtable(), [
727
+ 8 + 12 * 9 + 12 ** 2 * 10 + 12 ** 3 * 11
728
+ ]);
723
729
  }
724
730
  function generate_phase1_centreA_mtable() {
725
731
  if (cached_mtables.phase1_centreA) {
@@ -746,8 +752,16 @@ function generate_phase1_centre_ptable() {
746
752
  return cached_ptables.phase1_centre = bfs(generate_phase1_centreB_mtable(), goal_states);
747
753
  }
748
754
  function* solve_phase1_gen(facelets) {
749
- let mtables = [generate_phase1_edge_mtable(), generate_phase1_centreA_mtable(), generate_phase1_centreB_mtable()];
750
- let ptables = [generate_phase1_edge_ptable(), generate_phase1_centre_ptable(), generate_phase1_centre_ptable()];
755
+ let mtables = [
756
+ generate_phase1_edge_mtable(),
757
+ generate_phase1_centreA_mtable(),
758
+ generate_phase1_centreB_mtable()
759
+ ];
760
+ let ptables = [
761
+ generate_phase1_edge_ptable(),
762
+ generate_phase1_centre_ptable(),
763
+ generate_phase1_centre_ptable()
764
+ ];
751
765
  yield* phase1_ida_solve_gen(index_phase1(facelets), mtables, ptables, 15);
752
766
  }
753
767
  function* phase1_ida_solve_gen(indices, mtables, ptables, moves_left) {
@@ -799,7 +813,20 @@ function* phase1_ida_search_gen(indices, mtables, ptables, bound, last) {
799
813
  }
800
814
  var phase2_centre_colour_map = [0, 1, 2, 0, 0, 1, 2, 0];
801
815
  var phase2_centre_indices = [0, 1, 2, 3, 4, 5, 7, 8, 10, 11];
802
- var phase2_keep = [true, true, true, true, true, true, false, true, true, false, true, true];
816
+ var phase2_keep = [
817
+ true,
818
+ true,
819
+ true,
820
+ true,
821
+ true,
822
+ true,
823
+ false,
824
+ true,
825
+ true,
826
+ false,
827
+ true,
828
+ true
829
+ ];
803
830
  function index_phase2(facelets) {
804
831
  let [itc, cti] = generate_comb4_lookup_tables(10, 5, 3, 2, 0);
805
832
  let ep = Array(8).fill().map((_, i) => get_edge_piece(facelets, i));
@@ -815,7 +842,11 @@ function index_phase2(facelets) {
815
842
  });
816
843
  generate_phase2_edge_mtable();
817
844
  generate_phase2_corner_mtable_compact();
818
- return [a_coord, b_coord, phase2_corner_reduction_map[corner_coord] + 40 * phase2_edge_reduction_map[edge_coord]];
845
+ return [
846
+ a_coord,
847
+ b_coord,
848
+ phase2_corner_reduction_map[corner_coord] + 40 * phase2_edge_reduction_map[edge_coord]
849
+ ];
819
850
  }
820
851
  function* solve_phase2_gen(facelets) {
821
852
  yield* phase2_ida_solve_gen(index_phase2(facelets), 30);
@@ -845,7 +876,20 @@ function generate_phase2_corner_mtable() {
845
876
  }
846
877
  const HALFFACT5 = factorial(5) / 2;
847
878
  const N = HALFFACT5 * 8;
848
- const keep = [true, true, true, true, true, false, true, true, true, true, true, false];
879
+ const keep = [
880
+ true,
881
+ true,
882
+ true,
883
+ true,
884
+ true,
885
+ false,
886
+ true,
887
+ true,
888
+ true,
889
+ true,
890
+ true,
891
+ false
892
+ ];
849
893
  let mtable = Array(4).fill().map(() => new Uint32Array(N));
850
894
  let permutations = move_permutations.slice(0, 4).map((x) => invert_permutation(reduce_permutation(x.cp, keep)));
851
895
  for (let i = 0; i < N; i++) {
@@ -997,26 +1041,173 @@ function* phase2_ida_search_gen(a, b, ce, mtable_a, mtable_b, mtable_ce, ptable_
997
1041
  }
998
1042
  }
999
1043
  var phase3_2gen_centre_indices = [0, 1, 2, 3, 4, 10, 11];
1000
- var phase3_2gen_keep = [true, true, true, true, true, false, false, false, false, false, true, true];
1044
+ var phase3_2gen_keep = [
1045
+ true,
1046
+ true,
1047
+ true,
1048
+ true,
1049
+ true,
1050
+ false,
1051
+ false,
1052
+ false,
1053
+ false,
1054
+ false,
1055
+ true,
1056
+ true
1057
+ ];
1001
1058
  var phase3_2gen_move_seqs = [
1002
1059
  [[0, 1]],
1003
1060
  [[1, 1]],
1004
- [[2, 1], [0, 1], [3, 1], [0, 2], [3, 2], [2, 2]],
1005
- [[3, 2], [1, 2], [2, 2], [1, 1], [2, 1], [3, 1]],
1006
- [[6, 1], [0, 1], [3, 1], [0, 2], [3, 2], [6, 2]],
1007
- [[7, 2], [1, 2], [2, 2], [1, 1], [2, 1], [7, 1]],
1008
- [[2, 1], [0, 1], [2, 2], [0, 1], [2, 1], [0, 1], [2, 2]],
1009
- [[3, 2], [1, 1], [3, 1], [1, 1], [3, 2], [1, 1], [3, 1]],
1010
- [[2, 1], [3, 1], [2, 2], [1, 2], [0, 2], [2, 1], [3, 1], [2, 2]],
1011
- [[3, 2], [2, 2], [3, 1], [0, 1], [1, 1], [3, 2], [2, 2], [3, 1]],
1012
- [[6, 1], [0, 1], [6, 2], [0, 2], [1, 2], [6, 1], [0, 1], [6, 2]],
1013
- [[7, 2], [1, 2], [7, 1], [1, 1], [0, 1], [7, 2], [1, 2], [7, 1]],
1014
- [[2, 1], [3, 2], [2, 2], [3, 1], [0, 1], [2, 2], [1, 1], [2, 1]],
1015
- [[3, 2], [2, 1], [3, 1], [2, 2], [1, 2], [3, 1], [0, 2], [3, 2]],
1016
- [[6, 1], [0, 2], [6, 2], [7, 1], [6, 1], [1, 2], [7, 1], [6, 1]],
1017
- [[7, 2], [1, 1], [7, 1], [6, 2], [7, 2], [0, 1], [6, 2], [7, 2]],
1018
- [[2, 2], [1, 2], [2, 2], [3, 2], [2, 2], [3, 2], [0, 2], [3, 2]],
1019
- [[6, 2], [7, 2], [1, 2], [0, 2], [1, 2], [0, 2], [6, 2], [7, 2]]
1061
+ [
1062
+ [2, 1],
1063
+ [0, 1],
1064
+ [3, 1],
1065
+ [0, 2],
1066
+ [3, 2],
1067
+ [2, 2]
1068
+ ],
1069
+ [
1070
+ [3, 2],
1071
+ [1, 2],
1072
+ [2, 2],
1073
+ [1, 1],
1074
+ [2, 1],
1075
+ [3, 1]
1076
+ ],
1077
+ [
1078
+ [6, 1],
1079
+ [0, 1],
1080
+ [3, 1],
1081
+ [0, 2],
1082
+ [3, 2],
1083
+ [6, 2]
1084
+ ],
1085
+ [
1086
+ [7, 2],
1087
+ [1, 2],
1088
+ [2, 2],
1089
+ [1, 1],
1090
+ [2, 1],
1091
+ [7, 1]
1092
+ ],
1093
+ [
1094
+ [2, 1],
1095
+ [0, 1],
1096
+ [2, 2],
1097
+ [0, 1],
1098
+ [2, 1],
1099
+ [0, 1],
1100
+ [2, 2]
1101
+ ],
1102
+ [
1103
+ [3, 2],
1104
+ [1, 1],
1105
+ [3, 1],
1106
+ [1, 1],
1107
+ [3, 2],
1108
+ [1, 1],
1109
+ [3, 1]
1110
+ ],
1111
+ [
1112
+ [2, 1],
1113
+ [3, 1],
1114
+ [2, 2],
1115
+ [1, 2],
1116
+ [0, 2],
1117
+ [2, 1],
1118
+ [3, 1],
1119
+ [2, 2]
1120
+ ],
1121
+ [
1122
+ [3, 2],
1123
+ [2, 2],
1124
+ [3, 1],
1125
+ [0, 1],
1126
+ [1, 1],
1127
+ [3, 2],
1128
+ [2, 2],
1129
+ [3, 1]
1130
+ ],
1131
+ [
1132
+ [6, 1],
1133
+ [0, 1],
1134
+ [6, 2],
1135
+ [0, 2],
1136
+ [1, 2],
1137
+ [6, 1],
1138
+ [0, 1],
1139
+ [6, 2]
1140
+ ],
1141
+ [
1142
+ [7, 2],
1143
+ [1, 2],
1144
+ [7, 1],
1145
+ [1, 1],
1146
+ [0, 1],
1147
+ [7, 2],
1148
+ [1, 2],
1149
+ [7, 1]
1150
+ ],
1151
+ [
1152
+ [2, 1],
1153
+ [3, 2],
1154
+ [2, 2],
1155
+ [3, 1],
1156
+ [0, 1],
1157
+ [2, 2],
1158
+ [1, 1],
1159
+ [2, 1]
1160
+ ],
1161
+ [
1162
+ [3, 2],
1163
+ [2, 1],
1164
+ [3, 1],
1165
+ [2, 2],
1166
+ [1, 2],
1167
+ [3, 1],
1168
+ [0, 2],
1169
+ [3, 2]
1170
+ ],
1171
+ [
1172
+ [6, 1],
1173
+ [0, 2],
1174
+ [6, 2],
1175
+ [7, 1],
1176
+ [6, 1],
1177
+ [1, 2],
1178
+ [7, 1],
1179
+ [6, 1]
1180
+ ],
1181
+ [
1182
+ [7, 2],
1183
+ [1, 1],
1184
+ [7, 1],
1185
+ [6, 2],
1186
+ [7, 2],
1187
+ [0, 1],
1188
+ [6, 2],
1189
+ [7, 2]
1190
+ ],
1191
+ [
1192
+ [2, 2],
1193
+ [1, 2],
1194
+ [2, 2],
1195
+ [3, 2],
1196
+ [2, 2],
1197
+ [3, 2],
1198
+ [0, 2],
1199
+ [3, 2]
1200
+ ],
1201
+ [
1202
+ [6, 2],
1203
+ [7, 2],
1204
+ [1, 2],
1205
+ [0, 2],
1206
+ [1, 2],
1207
+ [0, 2],
1208
+ [6, 2],
1209
+ [7, 2]
1210
+ ]
1020
1211
  ];
1021
1212
  phase3_2gen_move_seqs = phase3_2gen_move_seqs.concat(phase3_2gen_move_seqs.map((seq) => invert_move_sequence(seq)));
1022
1213
  var phase3_2gen_nmoves = phase3_2gen_move_seqs.length;
@@ -1056,7 +1247,20 @@ function generate_phase3_2gen_corner_mtable() {
1056
1247
  }
1057
1248
  const HALFFACT4 = factorial(4) / 2;
1058
1249
  const N = HALFFACT4 * 2;
1059
- const keep = [true, true, true, true, false, false, true, true, true, true, false, false];
1250
+ const keep = [
1251
+ true,
1252
+ true,
1253
+ true,
1254
+ true,
1255
+ false,
1256
+ false,
1257
+ true,
1258
+ true,
1259
+ true,
1260
+ true,
1261
+ false,
1262
+ false
1263
+ ];
1060
1264
  let mtable = Array(phase3_2gen_nmoves).fill().map(() => new Uint32Array(N));
1061
1265
  let permutations = phase3_2gen_piece_permutations.map((x) => reduce_permutation(x.cp, keep).slice(0, 4));
1062
1266
  for (let i = 0; i < N; i += 2) {
@@ -1323,8 +1527,11 @@ function solve_phase2_and_phase3_readable(facelets, phase2_attempts = 20, cap =
1323
1527
  }
1324
1528
  return best;
1325
1529
  }
1326
- var randomFTOScrambleString = generate_random_state_scramble;
1530
+ var randomUintBelow = randomUIntBelowFactory();
1531
+ async function randomFTOScrambleString() {
1532
+ return generate_random_state_scramble(await randomUintBelow);
1533
+ }
1327
1534
  export {
1328
1535
  randomFTOScrambleString
1329
1536
  };
1330
- //# sourceMappingURL=ftosolver-smaller-phase3-table-PUTNXKKW.js.map
1537
+ //# sourceMappingURL=ftosolver-smaller-phase3-table-UTQRO776.js.map