cubing 0.29.1 → 0.30.0
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.
- package/README.md +1 -6
- package/dist/esm/.DS_Store +0 -0
- package/dist/esm/alg/index.js +1 -2
- package/dist/esm/bluetooth/index.js +36 -32
- package/dist/esm/bluetooth/index.js.map +2 -2
- package/dist/esm/{chunk-XRZBPKES.js → chunk-35OK6TQ4.js} +328 -66
- package/dist/esm/chunk-35OK6TQ4.js.map +7 -0
- package/dist/esm/{chunk-WYKXX2XY.js → chunk-4QZRHN6S.js} +10 -8
- package/dist/esm/{chunk-WYKXX2XY.js.map → chunk-4QZRHN6S.js.map} +2 -2
- package/dist/esm/{chunk-2JDBIQSV.js → chunk-5OQ34D3X.js} +7 -7
- package/dist/esm/{chunk-2JDBIQSV.js.map → chunk-5OQ34D3X.js.map} +2 -2
- package/dist/esm/{chunk-U2ONHTIX.js → chunk-6FB2XWAK.js} +33 -31
- package/dist/esm/chunk-6FB2XWAK.js.map +7 -0
- package/dist/esm/{chunk-ZNAYJGVL.js → chunk-C6KMV2PL.js} +2 -2
- package/dist/esm/{chunk-ZNAYJGVL.js.map → chunk-C6KMV2PL.js.map} +0 -0
- package/dist/esm/{chunk-XU5ILFX5.js → chunk-GQBRF4EM.js} +6 -4
- package/dist/esm/{chunk-XU5ILFX5.js.map → chunk-GQBRF4EM.js.map} +2 -2
- package/dist/esm/{chunk-WXCNEGW3.js → chunk-HR5D6SD4.js} +2 -2
- package/dist/esm/{chunk-WXCNEGW3.js.map → chunk-HR5D6SD4.js.map} +2 -2
- package/dist/esm/{chunk-XT3R2ENM.js → chunk-KOAJIBEX.js} +47 -38
- package/dist/esm/chunk-KOAJIBEX.js.map +7 -0
- package/dist/esm/{chunk-OX6O2ZO5.js → chunk-QHWK5RXN.js} +1 -1
- package/dist/esm/chunk-QHWK5RXN.js.map +7 -0
- package/dist/esm/{chunk-GW4FGG42.js → chunk-RI2DAEY6.js} +2 -2
- package/dist/esm/{chunk-GW4FGG42.js.map → chunk-RI2DAEY6.js.map} +0 -0
- package/dist/esm/{chunk-AHEXXC6V.js → chunk-VIUWS2PX.js} +4 -4
- package/dist/esm/chunk-VIUWS2PX.js.map +7 -0
- package/dist/esm/{chunk-2IZUSAXQ.js → chunk-WEYPAZEE.js} +1 -1
- package/dist/esm/{chunk-2IZUSAXQ.js.map → chunk-WEYPAZEE.js.map} +1 -1
- package/dist/esm/{chunk-NI7U4XAZ.js → chunk-ZQT3QSWD.js} +226 -113
- package/dist/esm/chunk-ZQT3QSWD.js.map +7 -0
- package/dist/esm/kpuzzle/index.js +2 -3
- package/dist/esm/notation/index.js +2 -3
- package/dist/esm/protocol/index.js +4 -5
- package/dist/esm/puzzle-geometry/index.js +110 -85
- package/dist/esm/puzzle-geometry/index.js.map +2 -2
- package/dist/esm/puzzles/index.js +10 -7
- package/dist/esm/{puzzles-dynamic-3x3x3-KIG5A6QR.js → puzzles-dynamic-3x3x3-ZKMODX2P.js} +1 -3
- package/dist/esm/{puzzles-dynamic-3x3x3-KIG5A6QR.js.map → puzzles-dynamic-3x3x3-ZKMODX2P.js.map} +1 -1
- package/dist/esm/{puzzles-dynamic-4x4x4-PEDAPUZK.js → puzzles-dynamic-4x4x4-DT42HVIY.js} +1 -3
- package/dist/esm/{puzzles-dynamic-4x4x4-PEDAPUZK.js.map → puzzles-dynamic-4x4x4-DT42HVIY.js.map} +1 -1
- package/dist/esm/{puzzles-dynamic-side-events-5C7LMBWX.js → puzzles-dynamic-side-events-HMUBMHA5.js} +2 -4
- package/dist/esm/{puzzles-dynamic-side-events-5C7LMBWX.js.map → puzzles-dynamic-side-events-HMUBMHA5.js.map} +2 -2
- package/dist/esm/{puzzles-dynamic-unofficial-WWJ4NJMX.js → puzzles-dynamic-unofficial-QXSDLTK5.js} +1 -3
- package/dist/esm/{puzzles-dynamic-unofficial-WWJ4NJMX.js.map → puzzles-dynamic-unofficial-QXSDLTK5.js.map} +1 -1
- package/dist/esm/scramble/index.js +3 -4
- package/dist/esm/search/index.js +8 -9
- package/dist/esm/{search-dynamic-sgs-side-events-4H3X5HLH.js → search-dynamic-sgs-side-events-XNTCWRI4.js} +6 -7
- package/dist/esm/search-dynamic-sgs-side-events-XNTCWRI4.js.map +7 -0
- package/dist/esm/{search-dynamic-sgs-unofficial-7IRW4LVD.js → search-dynamic-sgs-unofficial-5KMZ747E.js} +122 -68
- package/dist/esm/search-dynamic-sgs-unofficial-5KMZ747E.js.map +7 -0
- package/dist/esm/{search-dynamic-solve-3x3x3-7XZTYQMO.js → search-dynamic-solve-3x3x3-TSXPWENP.js} +649 -407
- package/dist/esm/search-dynamic-solve-3x3x3-TSXPWENP.js.map +7 -0
- package/dist/esm/{search-dynamic-solve-4x4x4-7JTJCCSY.js → search-dynamic-solve-4x4x4-FKQ2JWK2.js} +399 -151
- package/dist/esm/search-dynamic-solve-4x4x4-FKQ2JWK2.js.map +7 -0
- package/dist/esm/{search-dynamic-solve-fto-4LI23P6K.js → search-dynamic-solve-fto-GPLW7S5F.js} +74 -35
- package/dist/esm/search-dynamic-solve-fto-GPLW7S5F.js.map +7 -0
- package/dist/esm/{search-dynamic-solve-kilominx-3HEVQ4MC.js → search-dynamic-solve-kilominx-HB2QFUGF.js} +136 -72
- package/dist/esm/search-dynamic-solve-kilominx-HB2QFUGF.js.map +7 -0
- package/dist/esm/{search-dynamic-solve-master_tetraminx-UB32C7MM.js → search-dynamic-solve-master_tetraminx-LR3LJI7O.js} +84 -42
- package/dist/esm/search-dynamic-solve-master_tetraminx-LR3LJI7O.js.map +7 -0
- package/dist/esm/{search-dynamic-solve-sq1-HA72TYF2.js → search-dynamic-solve-sq1-W33UXTDZ.js} +129 -55
- package/dist/esm/search-dynamic-solve-sq1-W33UXTDZ.js.map +7 -0
- package/dist/esm/search-worker-inside-generated-string-5HKZNHKK.js +3884 -0
- package/dist/esm/search-worker-inside-generated-string-5HKZNHKK.js.map +7 -0
- package/dist/esm/{search-worker-js-entry-T6YIT7YD.js → search-worker-js-entry-PDXEE46R.js} +44 -36
- package/dist/esm/search-worker-js-entry-PDXEE46R.js.map +7 -0
- package/dist/esm/{search-worker-ts-entry-OUEC4L5I.js → search-worker-ts-entry-UV2RY2EY.js} +3 -4
- package/dist/esm/{search-worker-ts-entry-OUEC4L5I.js.map → search-worker-ts-entry-UV2RY2EY.js.map} +1 -1
- package/dist/esm/stream/index.js +1 -2
- package/dist/esm/stream/index.js.map +2 -2
- package/dist/esm/twisty/index.js +368 -300
- package/dist/esm/twisty/index.js.map +3 -3
- package/dist/esm/{twisty-dynamic-3d-AZUSXQ5S.js → twisty-dynamic-3d-GPF6TW32.js} +57 -60
- package/dist/esm/twisty-dynamic-3d-GPF6TW32.js.map +7 -0
- package/dist/types/{Alg-137fb0d5.d.ts → Alg-1c8c3757.d.ts} +25 -26
- package/dist/types/{KState-a73111d7.d.ts → KState-7c9e40f4.d.ts} +1 -1
- package/dist/types/{TwizzleLink-bef52ecd.d.ts → TwizzleLink-3f8a01d2.d.ts} +19 -18
- package/dist/types/alg/index.d.ts +30 -8
- package/dist/types/bluetooth/index.d.ts +4 -4
- package/dist/types/{bluetooth-puzzle-8a678993.d.ts → bluetooth-puzzle-a64e9756.d.ts} +2 -2
- package/dist/types/kpuzzle/index.d.ts +2 -2
- package/dist/types/notation/index.d.ts +1 -1
- package/dist/types/{outside-e55f28a0.d.ts → outside-b62aa614.d.ts} +2 -2
- package/dist/types/{parseAlg-a28f7568.d.ts → parseAlg-d5fbee87.d.ts} +1 -1
- package/dist/types/protocol/index.d.ts +2 -2
- package/dist/types/puzzle-geometry/index.d.ts +3 -3
- package/dist/types/puzzles/index.d.ts +8 -6
- package/dist/types/scramble/index.d.ts +3 -3
- package/dist/types/search/index.d.ts +3 -3
- package/dist/types/stream/index.d.ts +3 -3
- package/dist/types/twisty/index.d.ts +5 -5
- package/package.json +51 -147
- package/dist/esm/chunk-AHEXXC6V.js.map +0 -7
- package/dist/esm/chunk-NI7U4XAZ.js.map +0 -7
- package/dist/esm/chunk-OX6O2ZO5.js.map +0 -7
- package/dist/esm/chunk-SBZRVSPK.js +0 -30
- package/dist/esm/chunk-SBZRVSPK.js.map +0 -7
- package/dist/esm/chunk-U2ONHTIX.js.map +0 -7
- package/dist/esm/chunk-XRZBPKES.js.map +0 -7
- package/dist/esm/chunk-XT3R2ENM.js.map +0 -7
- package/dist/esm/search-dynamic-sgs-side-events-4H3X5HLH.js.map +0 -7
- package/dist/esm/search-dynamic-sgs-unofficial-7IRW4LVD.js.map +0 -7
- package/dist/esm/search-dynamic-solve-3x3x3-7XZTYQMO.js.map +0 -7
- package/dist/esm/search-dynamic-solve-4x4x4-7JTJCCSY.js.map +0 -7
- package/dist/esm/search-dynamic-solve-fto-4LI23P6K.js.map +0 -7
- package/dist/esm/search-dynamic-solve-kilominx-3HEVQ4MC.js.map +0 -7
- package/dist/esm/search-dynamic-solve-master_tetraminx-UB32C7MM.js.map +0 -7
- package/dist/esm/search-dynamic-solve-sq1-HA72TYF2.js.map +0 -7
- package/dist/esm/search-worker-inside-generated-string-ZEY77HTF.js +0 -3886
- package/dist/esm/search-worker-inside-generated-string-ZEY77HTF.js.map +0 -7
- package/dist/esm/search-worker-js-entry-T6YIT7YD.js.map +0 -7
- package/dist/esm/twisty-dynamic-3d-AZUSXQ5S.js.map +0 -7
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/cubing/vendor/min2phase/3x3x3-min2phase.js"],
|
|
4
|
-
"sourcesContent": ["var $intern_3 = { 3: 1 },\n $intern_9 = 4194303,\n $intern_10 = 1048575,\n $intern_11 = 524288,\n $intern_20 = 65535,\n $intern_26 = { 11: 1, 3: 1 },\n $intern_27 = { 17: 1, 3: 1 },\n $intern_28 = 14540032,\n $intern_29 = 286331153,\n $intern_30 = { 10: 1, 3: 1 };\nvar _;\nvar prototypesByTypeId_0 = {};\nfunction typeMarkerFn() {}\n\nfunction portableObjCreate(obj) {\n function F() {}\n\n F.prototype = obj || {};\n return new F();\n}\n\nfunction maybeGetClassLiteralFromPlaceHolder_0(entry) {\n return entry instanceof Array ? entry[0] : null;\n}\n\nfunction defineClass(typeId, superTypeId, castableTypeMap) {\n var prototypesByTypeId = prototypesByTypeId_0;\n var createSubclassPrototype = createSubclassPrototype_0;\n var maybeGetClassLiteralFromPlaceHolder =\n maybeGetClassLiteralFromPlaceHolder_0;\n var prototype_0 = prototypesByTypeId[typeId];\n var clazz = maybeGetClassLiteralFromPlaceHolder(prototype_0);\n if (prototype_0 && !clazz) {\n _ = prototype_0;\n } else {\n _ = prototypesByTypeId[typeId] = !superTypeId\n ? {}\n : createSubclassPrototype(superTypeId);\n _.castableTypeMap$ = castableTypeMap;\n _.constructor = _;\n !superTypeId && (_.typeMarker$ = typeMarkerFn);\n }\n for (var i = 3; i < arguments.length; ++i) {\n arguments[i].prototype = _;\n }\n clazz && (_.___clazz$ = clazz);\n}\n\nfunction createSubclassPrototype_0(superTypeId) {\n var prototypesByTypeId = prototypesByTypeId_0;\n return portableObjCreate(prototypesByTypeId[superTypeId]);\n}\n\nfunction Object_0() {}\n\ndefineClass(1, null, {}, Object_0);\n\nfunction narrow_byte(x_0) {\n return (x_0 << 24) >> 24;\n}\n\nfunction Class() {\n this.typeName = null;\n this.simpleName = null;\n this.packageName = null;\n this.compoundName = null;\n this.canonicalName = null;\n this.typeId = null;\n this.arrayLiterals = null;\n}\n\nfunction createClassObject(packageName, compoundClassName) {\n var clazz;\n clazz = new Class();\n clazz.packageName = packageName;\n clazz.compoundName = compoundClassName;\n return clazz;\n}\n\nfunction createForClass(packageName, compoundClassName, typeId) {\n var clazz;\n clazz = createClassObject(packageName, compoundClassName);\n maybeSetClassLiteral(typeId, clazz);\n return clazz;\n}\n\nfunction createForInterface(packageName, compoundClassName) {\n var clazz;\n clazz = createClassObject(packageName, compoundClassName);\n clazz.modifiers = 2;\n return clazz;\n}\n\nfunction createForPrimitive(className, primitiveTypeId) {\n var clazz;\n clazz = createClassObject(\"\", className);\n clazz.typeId = primitiveTypeId;\n clazz.modifiers = 1;\n return clazz;\n}\n\nfunction getClassLiteralForArray_0(leafClass, dimensions) {\n var arrayLiterals = (leafClass.arrayLiterals = leafClass.arrayLiterals || []);\n return (\n arrayLiterals[dimensions] ||\n (arrayLiterals[dimensions] =\n leafClass.createClassLiteralForArray(dimensions))\n );\n}\n\nfunction getPrototypeForClass(clazz) {\n if (clazz.isPrimitive()) {\n return null;\n }\n var typeId = clazz.typeId;\n var prototype_0 = prototypesByTypeId_0[typeId];\n return prototype_0;\n}\n\nfunction maybeSetClassLiteral(typeId, clazz) {\n if (!typeId) {\n return;\n }\n clazz.typeId = typeId;\n var prototype_0 = getPrototypeForClass(clazz);\n if (!prototype_0) {\n prototypesByTypeId_0[typeId] = [clazz];\n return;\n }\n prototype_0.___clazz$ = clazz;\n}\n\ndefineClass(79, 1, {}, Class);\n_.createClassLiteralForArray = function createClassLiteralForArray(dimensions) {\n var clazz;\n clazz = new Class();\n clazz.modifiers = 4;\n dimensions > 1\n ? (clazz.componentType = getClassLiteralForArray_0(this, dimensions - 1))\n : (clazz.componentType = this);\n return clazz;\n};\n_.isPrimitive = function isPrimitive() {\n return (this.modifiers & 1) != 0;\n};\n\nfunction getClassLiteralForArray(clazz, dimensions) {\n return getClassLiteralForArray_0(clazz, dimensions);\n}\n\nfunction initDim(\n leafClassLiteral,\n castableTypeMap,\n elementTypeId,\n length_0,\n elementTypeCategory,\n dimensions,\n) {\n var result;\n result = initializeArrayElementsWithDefaults(elementTypeCategory, length_0);\n initValues(\n getClassLiteralForArray(leafClassLiteral, dimensions),\n castableTypeMap,\n elementTypeId,\n elementTypeCategory,\n result,\n );\n return result;\n}\n\nfunction initDims(\n leafClassLiteral,\n castableTypeMapExprs,\n elementTypeIds,\n leafElementTypeCategory,\n dimExprs,\n count,\n) {\n return initDims_0(\n leafClassLiteral,\n castableTypeMapExprs,\n elementTypeIds,\n leafElementTypeCategory,\n dimExprs,\n 0,\n count,\n );\n}\n\nfunction initDims_0(\n leafClassLiteral,\n castableTypeMapExprs,\n elementTypeIds,\n leafElementTypeCategory,\n dimExprs,\n index_0,\n count,\n) {\n var elementTypeCategory, i, isLastDim, length_0, result;\n length_0 = dimExprs[index_0];\n isLastDim = index_0 == count - 1;\n elementTypeCategory = isLastDim ? leafElementTypeCategory : 0;\n result = initializeArrayElementsWithDefaults(elementTypeCategory, length_0);\n initValues(\n getClassLiteralForArray(leafClassLiteral, count - index_0),\n castableTypeMapExprs[index_0],\n elementTypeIds[index_0],\n elementTypeCategory,\n result,\n );\n if (!isLastDim) {\n ++index_0;\n for (i = 0; i < length_0; ++i) {\n result[i] = initDims_0(\n leafClassLiteral,\n castableTypeMapExprs,\n elementTypeIds,\n leafElementTypeCategory,\n dimExprs,\n index_0,\n count,\n );\n }\n }\n return result;\n}\n\nfunction initValues(\n arrayClass,\n castableTypeMap,\n elementTypeId,\n elementTypeCategory,\n array,\n) {\n array.___clazz$ = arrayClass;\n array.castableTypeMap$ = castableTypeMap;\n array.typeMarker$ = typeMarkerFn;\n array.__elementTypeId$ = elementTypeId;\n array.__elementTypeCategory$ = elementTypeCategory;\n return array;\n}\n\nfunction initializeArrayElementsWithDefaults(elementTypeCategory, length_0) {\n var array = new Array(length_0);\n var initValue;\n switch (elementTypeCategory) {\n case 6:\n initValue = { l: 0, m: 0, h: 0 };\n break;\n case 7:\n initValue = 0;\n break;\n case 8:\n initValue = false;\n break;\n default:\n return array;\n }\n for (var i = 0; i < length_0; ++i) {\n array[i] = initValue;\n }\n return array;\n}\n\nfunction create(value_0) {\n var a0, a1, a2;\n a0 = value_0 & $intern_9;\n a1 = (value_0 >> 22) & $intern_9;\n a2 = value_0 < 0 ? $intern_10 : 0;\n return create0(a0, a1, a2);\n}\n\nfunction create0(l, m, h) {\n return { l: l, m: m, h: h };\n}\n\nfunction add_1(a, b) {\n var sum0, sum1, sum2;\n sum0 = a.l + b.l;\n sum1 = a.m + b.m + (sum0 >> 22);\n sum2 = a.h + b.h + (sum1 >> 22);\n return { l: sum0 & $intern_9, m: sum1 & $intern_9, h: sum2 & $intern_10 };\n}\n\nfunction and(a, b) {\n return { l: a.l & b.l, m: a.m & b.m, h: a.h & b.h };\n}\n\nfunction fromInt(value_0) {\n var rebase, result;\n if (value_0 > -129 && value_0 < 128) {\n rebase = value_0 + 128;\n boxedValues == null &&\n (boxedValues = initDim(\n Lcom_google_gwt_lang_LongLibBase$LongEmul_2_classLit,\n $intern_3,\n 293,\n 256,\n 0,\n 1,\n ));\n result = boxedValues[rebase];\n !result && (result = boxedValues[rebase] = create(value_0));\n return result;\n }\n return create(value_0);\n}\n\nfunction gte(a, b) {\n var signa, signb;\n signa = a.h >> 19;\n signb = b.h >> 19;\n return signa == 0\n ? signb != 0 ||\n a.h > b.h ||\n (a.h == b.h && a.m > b.m) ||\n (a.h == b.h && a.m == b.m && a.l >= b.l)\n : !(\n signb == 0 ||\n a.h < b.h ||\n (a.h == b.h && a.m < b.m) ||\n (a.h == b.h && a.m == b.m && a.l < b.l)\n );\n}\n\nfunction neq(a, b) {\n return a.l != b.l || a.m != b.m || a.h != b.h;\n}\n\nfunction or(a, b) {\n return { l: a.l | b.l, m: a.m | b.m, h: a.h | b.h };\n}\n\nfunction shl(a, n) {\n var res0, res1, res2;\n n &= 63;\n if (n < 22) {\n res0 = a.l << n;\n res1 = (a.m << n) | (a.l >> (22 - n));\n res2 = (a.h << n) | (a.m >> (22 - n));\n } else if (n < 44) {\n res0 = 0;\n res1 = a.l << (n - 22);\n res2 = (a.m << (n - 22)) | (a.l >> (44 - n));\n } else {\n res0 = 0;\n res1 = 0;\n res2 = a.l << (n - 44);\n }\n return { l: res0 & $intern_9, m: res1 & $intern_9, h: res2 & $intern_10 };\n}\n\nfunction shr(a, n) {\n var a2, negative, res0, res1, res2;\n n &= 63;\n a2 = a.h;\n negative = (a2 & $intern_11) != 0;\n negative && (a2 |= -1048576);\n if (n < 22) {\n res2 = a2 >> n;\n res1 = (a.m >> n) | (a2 << (22 - n));\n res0 = (a.l >> n) | (a.m << (22 - n));\n } else if (n < 44) {\n res2 = negative ? $intern_10 : 0;\n res1 = a2 >> (n - 22);\n res0 = (a.m >> (n - 22)) | (a2 << (44 - n));\n } else {\n res2 = negative ? $intern_10 : 0;\n res1 = negative ? $intern_9 : 0;\n res0 = a2 >> (n - 44);\n }\n return { l: res0 & $intern_9, m: res1 & $intern_9, h: res2 & $intern_10 };\n}\n\nfunction sub_0(a, b) {\n var sum0, sum1, sum2;\n sum0 = a.l - b.l;\n sum1 = a.m - b.m + (sum0 >> 22);\n sum2 = a.h - b.h + (sum1 >> 22);\n return { l: sum0 & $intern_9, m: sum1 & $intern_9, h: sum2 & $intern_10 };\n}\n\nfunction toInt(a) {\n return a.l | (a.m << 22);\n}\n\nvar boxedValues;\n\nfunction AbstractStringBuilder(string) {\n this.string = string;\n}\n\nfunction max_0(x_0, y_0) {\n return x_0 > y_0 ? x_0 : y_0;\n}\n\nfunction min_0(x_0, y_0) {\n return x_0 < y_0 ? x_0 : y_0;\n}\n\nfunction $indexOf_0(this$static, str) {\n return this$static.indexOf(str);\n}\n\nfunction _String(value_0) {\n return __valueOf(value_0, 0, value_0.length);\n}\n\nfunction __valueOf(x_0, start_0, end) {\n var s = \"\";\n for (var batchStart = start_0; batchStart < end; ) {\n var batchEnd = Math.min(batchStart + 10000, end);\n s += String.fromCharCode.apply(null, x_0.slice(batchStart, batchEnd));\n batchStart = batchEnd;\n }\n return s;\n}\n\nfunction fromCodePoint(codePoint) {\n return String.fromCharCode(codePoint & $intern_20);\n}\n\nvar Ljava_lang_String_2_classLit = createForClass(\"java.lang\", \"String\", 2);\n\nfunction $append(this$static) {\n this$static.string += \" \";\n return this$static;\n}\n\nfunction $append_1(this$static, x_0) {\n this$static.string += x_0;\n return this$static;\n}\n\nfunction StringBuffer() {\n AbstractStringBuilder.call(this, \"\");\n}\n\nfunction equals_7(array1, array2) {\n var i;\n if (array1 === array2) {\n return true;\n }\n if (array1.length != array2.length) {\n return false;\n }\n for (i = 0; i < array1.length; ++i) {\n if (array1[i] != array2[i]) {\n return false;\n }\n }\n return true;\n}\n\nlet $clinit_CoordCube_ran = false;\nfunction $clinit_CoordCube() {\n if ($clinit_CoordCube_ran) {\n return;\n }\n $clinit_CoordCube_ran = true;\n UDSliceMove = initDims(\n C_classLit,\n [$intern_3, $intern_26],\n [11, 0],\n 7,\n [495, 18],\n 2,\n );\n TwistMove = initDims(\n C_classLit,\n [$intern_3, $intern_26],\n [11, 0],\n 7,\n [324, 18],\n 2,\n );\n FlipMove = initDims(\n C_classLit,\n [$intern_3, $intern_26],\n [11, 0],\n 7,\n [336, 18],\n 2,\n );\n UDSliceConj = initDims(\n C_classLit,\n [$intern_3, $intern_26],\n [11, 0],\n 7,\n [495, 8],\n 2,\n );\n UDSliceTwistPrun = initDim(I_classLit, $intern_27, 0, 20048, 7, 1);\n UDSliceFlipPrun = initDim(I_classLit, $intern_27, 0, 20791, 7, 1);\n TwistFlipPrun = initDim(I_classLit, $intern_27, 0, 82945, 7, 1);\n CPermMove = initDims(\n C_classLit,\n [$intern_3, $intern_26],\n [11, 0],\n 7,\n [2768, 10],\n 2,\n );\n EPermMove = initDims(\n C_classLit,\n [$intern_3, $intern_26],\n [11, 0],\n 7,\n [2768, 10],\n 2,\n );\n MPermMove = initDims(\n C_classLit,\n [$intern_3, $intern_26],\n [11, 0],\n 7,\n [24, 10],\n 2,\n );\n MPermConj = initDims(\n C_classLit,\n [$intern_3, $intern_26],\n [11, 0],\n 7,\n [24, 16],\n 2,\n );\n CCombPConj = initDims(\n C_classLit,\n [$intern_3, $intern_26],\n [11, 0],\n 7,\n [140, 16],\n 2,\n );\n MCPermPrun = initDim(I_classLit, $intern_27, 0, 8305, 7, 1);\n EPermCCombPPrun = initDim(I_classLit, $intern_27, 0, 48441, 7, 1);\n}\n\nfunction $doMovePrun(this$static, cc, m) {\n this$static.slice_0 = UDSliceMove[cc.slice_0][m];\n this$static.flip =\n FlipMove[cc.flip][($clinit_CubieCube(), Sym8Move)[(m << 3) | cc.fsym]];\n this$static.fsym = (this$static.flip & 7) ^ cc.fsym;\n this$static.flip >>= 3;\n this$static.twist = TwistMove[cc.twist][Sym8Move[(m << 3) | cc.tsym]];\n this$static.tsym = (this$static.twist & 7) ^ cc.tsym;\n this$static.twist >>= 3;\n this$static.prun = max_0(\n max_0(\n getPruning(\n UDSliceTwistPrun,\n this$static.twist * 495 +\n UDSliceConj[this$static.slice_0][this$static.tsym],\n ),\n getPruning(\n UDSliceFlipPrun,\n this$static.flip * 495 +\n UDSliceConj[this$static.slice_0][this$static.fsym],\n ),\n ),\n getPruning(\n TwistFlipPrun,\n (this$static.twist << 11) |\n FlipS2RF[\n (this$static.flip << 3) | (this$static.fsym ^ this$static.tsym)\n ],\n ),\n );\n return this$static.prun;\n}\n\nfunction $doMovePrunConj(this$static, cc, m) {\n m = ($clinit_CubieCube(), SymMove_0)[3][m];\n this$static.flipc =\n FlipMove[cc.flipc >> 3][Sym8Move[(m << 3) | (cc.flipc & 7)]] ^\n (cc.flipc & 7);\n this$static.twistc =\n TwistMove[cc.twistc >> 3][Sym8Move[(m << 3) | (cc.twistc & 7)]] ^\n (cc.twistc & 7);\n return getPruning(\n TwistFlipPrun,\n ((this$static.twistc >> 3) << 11) |\n FlipS2RF[this$static.flipc ^ (this$static.twistc & 7)],\n );\n}\n\nfunction $setWithPrun(this$static, cc, depth) {\n var pc;\n this$static.twist = ($clinit_CubieCube(), TwistR2S)[$getTwist(cc)];\n this$static.flip = FlipR2S[$getFlip(cc)];\n this$static.tsym = this$static.twist & 7;\n this$static.twist = this$static.twist >> 3;\n this$static.prun = getPruning(\n TwistFlipPrun,\n (this$static.twist << 11) | FlipS2RF[this$static.flip ^ this$static.tsym],\n );\n if (this$static.prun > depth) {\n return false;\n }\n this$static.fsym = this$static.flip & 7;\n this$static.flip = this$static.flip >> 3;\n this$static.slice_0 = 494 - getComb(cc.ea, 8, true);\n this$static.prun = max_0(\n this$static.prun,\n max_0(\n getPruning(\n UDSliceTwistPrun,\n this$static.twist * 495 +\n UDSliceConj[this$static.slice_0][this$static.tsym],\n ),\n getPruning(\n UDSliceFlipPrun,\n this$static.flip * 495 +\n UDSliceConj[this$static.slice_0][this$static.fsym],\n ),\n ),\n );\n if (this$static.prun > depth) {\n return false;\n }\n pc = new CubieCube();\n CornConjugate(cc, 1, pc);\n EdgeConjugate(cc, 1, pc);\n this$static.twistc = TwistR2S[$getTwist(pc)];\n this$static.flipc = FlipR2S[$getFlip(pc)];\n this$static.prun = max_0(\n this$static.prun,\n getPruning(\n TwistFlipPrun,\n ((this$static.twistc >> 3) << 11) |\n FlipS2RF[this$static.flipc ^ (this$static.twistc & 7)],\n ),\n );\n return this$static.prun <= depth;\n}\n\nfunction CoordCube() {\n $clinit_CoordCube();\n}\n\nfunction getPruning(table, index_0) {\n $clinit_CoordCube();\n return (table[index_0 >> 3] >> (index_0 << 2)) & 15;\n}\n\nfunction init_0(fullInit) {\n $clinit_CoordCube();\n if (initLevel == 2 || (initLevel == 1 && !fullInit)) {\n return;\n }\n if (initLevel == 0) {\n initPermSym2Raw();\n initCPermMove();\n initEPermMove();\n initMPermMoveConj();\n initCombPMoveConj();\n $clinit_CubieCube();\n initSym2Raw(\n 2048,\n FlipS2R,\n FlipR2S,\n (SymStateFlip = initDim(C_classLit, $intern_26, 0, 336, 7, 1)),\n 0,\n );\n initSym2Raw(\n 2187,\n TwistS2R,\n TwistR2S,\n (SymStateTwist = initDim(C_classLit, $intern_26, 0, 324, 7, 1)),\n 1,\n );\n initFlipMove();\n initTwistMove();\n initUDSliceMoveConj();\n }\n initRawSymPrun(\n MCPermPrun,\n MPermMove,\n MPermConj,\n CPermMove,\n ($clinit_CubieCube(), SymStatePerm),\n 584244,\n fullInit,\n );\n initRawSymPrun(\n EPermCCombPPrun,\n CCombPMove,\n CCombPConj,\n EPermMove,\n SymStatePerm,\n 514084,\n fullInit,\n );\n initRawSymPrun(\n UDSliceTwistPrun,\n UDSliceMove,\n UDSliceConj,\n TwistMove,\n SymStateTwist,\n 431619,\n fullInit,\n );\n initRawSymPrun(\n UDSliceFlipPrun,\n UDSliceMove,\n UDSliceConj,\n FlipMove,\n SymStateFlip,\n 431619,\n fullInit,\n );\n initRawSymPrun(\n TwistFlipPrun,\n null,\n null,\n TwistMove,\n SymStateTwist,\n 103939,\n fullInit,\n );\n initLevel = fullInit ? 2 : 1;\n}\n\nfunction initCPermMove() {\n var c, d, i, j;\n c = new CubieCube();\n d = new CubieCube();\n for (i = 0; i < 2768; i++) {\n $setCPerm(c, ($clinit_CubieCube(), EPermS2R)[i]);\n for (j = 0; j < 10; j++) {\n CornMult(c, moveCube[($clinit_Util(), ud2std)[j]], d);\n CPermMove[i][j] =\n ESym2CSym(EPermR2S[getNPerm(d.ca, 8, false)]) & $intern_20;\n }\n }\n}\n\nfunction initCombPMoveConj() {\n var c, d, i, j, j0;\n c = new CubieCube();\n d = new CubieCube();\n CCombPMove = initDims(\n C_classLit,\n [$intern_3, $intern_26],\n [11, 0],\n 7,\n [140, 10],\n 2,\n );\n for (i = 0; i < 140; i++) {\n setComb(c.ca, i % 70, 0, false);\n for (j0 = 0; j0 < 10; j0++) {\n CornMult(\n c,\n ($clinit_CubieCube(), moveCube)[($clinit_Util(), ud2std)[j0]],\n d,\n );\n CCombPMove[i][j0] =\n (getComb(d.ca, 0, false) + 70 * (((165 >> j0) & 1) ^ ~~(i / 70))) &\n $intern_20;\n }\n for (j = 0; j < 16; j++) {\n CornConjugate(c, ($clinit_CubieCube(), SymMultInv)[0][j], d);\n CCombPConj[i][j] =\n (getComb(d.ca, 0, false) + 70 * ~~(i / 70)) & $intern_20;\n }\n }\n}\n\nfunction initEPermMove() {\n var c, d, i, j;\n c = new CubieCube();\n d = new CubieCube();\n for (i = 0; i < 2768; i++) {\n $setEPerm(c, ($clinit_CubieCube(), EPermS2R)[i]);\n for (j = 0; j < 10; j++) {\n EdgeMult(c, moveCube[($clinit_Util(), ud2std)[j]], d);\n EPermMove[i][j] = EPermR2S[getNPerm(d.ea, 8, true)];\n }\n }\n}\n\nfunction initFlipMove() {\n var c, d, i, j;\n c = new CubieCube();\n d = new CubieCube();\n for (i = 0; i < 336; i++) {\n $setFlip(c, ($clinit_CubieCube(), FlipS2R)[i]);\n for (j = 0; j < 18; j++) {\n EdgeMult(c, moveCube[j], d);\n FlipMove[i][j] = FlipR2S[$getFlip(d)];\n }\n }\n}\n\nfunction initMPermMoveConj() {\n var c, d, i, j, j0;\n c = new CubieCube();\n d = new CubieCube();\n for (i = 0; i < 24; i++) {\n setNPerm(c.ea, i, 12, true);\n for (j0 = 0; j0 < 10; j0++) {\n EdgeMult(\n c,\n ($clinit_CubieCube(), moveCube)[($clinit_Util(), ud2std)[j0]],\n d,\n );\n MPermMove[i][j0] = getNPerm(d.ea, 12, true) % 24 & $intern_20;\n }\n for (j = 0; j < 16; j++) {\n EdgeConjugate(c, ($clinit_CubieCube(), SymMultInv)[0][j], d);\n MPermConj[i][j] = getNPerm(d.ea, 12, true) % 24 & $intern_20;\n }\n }\n}\n\nfunction initRawSymPrun(\n PrunTable,\n RawMove,\n RawConj,\n SymMove,\n SymState,\n PrunFlag,\n fullInit,\n) {\n var INV_DEPTH,\n ISTFP,\n IS_PHASE2,\n MAX_DEPTH,\n MIN_DEPTH,\n NEXT_AXIS_MAGIC,\n N_MOVES,\n N_RAW,\n N_SIZE,\n SEARCH_DEPTH,\n SYM_E2C_MAGIC,\n SYM_MASK,\n SYM_SHIFT,\n check,\n depth,\n flip,\n fsym,\n i,\n i0,\n idx,\n idxx,\n inv,\n j,\n m,\n mask,\n prun,\n raw,\n rawx,\n selArrMask,\n select,\n sym,\n symState,\n symx,\n val,\n val0,\n xorVal;\n SYM_SHIFT = PrunFlag & 15;\n SYM_E2C_MAGIC = ((PrunFlag >> 4) & 1) == 1 ? $intern_28 : 0;\n IS_PHASE2 = ((PrunFlag >> 5) & 1) == 1;\n INV_DEPTH = (PrunFlag >> 8) & 15;\n MAX_DEPTH = (PrunFlag >> 12) & 15;\n MIN_DEPTH = (PrunFlag >> 16) & 15;\n SEARCH_DEPTH = fullInit ? MAX_DEPTH : MIN_DEPTH;\n SYM_MASK = (1 << SYM_SHIFT) - 1;\n ISTFP = RawMove == null;\n N_RAW = ISTFP ? 2048 : RawMove.length;\n N_SIZE = N_RAW * SymMove.length;\n N_MOVES = IS_PHASE2 ? 10 : 18;\n NEXT_AXIS_MAGIC = N_MOVES == 10 ? 66 : 599186;\n depth = ((PrunTable[N_SIZE >> 3] >> (N_SIZE << 2)) & 15) - 1;\n\n if (depth == -1) {\n for (i = 0; i < ~~(N_SIZE / 8) + 1; i++) {\n PrunTable[i] = $intern_29;\n }\n PrunTable[0] ^= 1;\n depth = 0;\n }\n while (depth < SEARCH_DEPTH) {\n mask = ((depth + 1) * $intern_29) ^ -1;\n for (i0 = 0; i0 < PrunTable.length; i0++) {\n val0 = PrunTable[i0] ^ mask;\n val0 &= val0 >> 1;\n PrunTable[i0] += val0 & (val0 >> 2) & $intern_29;\n }\n inv = depth > INV_DEPTH;\n select = inv ? depth + 2 : depth;\n selArrMask = select * $intern_29;\n check = inv ? depth : depth + 2;\n ++depth;\n xorVal = depth ^ (depth + 1);\n val = 0;\n for (i = 0; i < N_SIZE; ++i, val >>= 4) {\n if ((i & 7) == 0) {\n val = PrunTable[i >> 3];\n if (\n (((val ^ selArrMask) - $intern_29) &\n ~(val ^ selArrMask) &\n -2004318072) ==\n 0\n ) {\n i += 7;\n continue;\n }\n }\n if ((val & 15) != select) {\n continue;\n }\n raw = i % N_RAW;\n sym = ~~(i / N_RAW);\n flip = 0;\n fsym = 0;\n if (ISTFP) {\n flip = ($clinit_CubieCube(), FlipR2S)[raw];\n fsym = flip & 7;\n flip >>= 3;\n }\n for (m = 0; m < N_MOVES; m++) {\n symx = SymMove[sym][m];\n ISTFP\n ? (rawx = ($clinit_CubieCube(), FlipS2RF)[\n FlipMove[flip][Sym8Move[(m << 3) | fsym]] ^\n fsym ^\n (symx & SYM_MASK)\n ])\n : (rawx = RawConj[RawMove[raw][m]][symx & SYM_MASK]);\n symx >>= SYM_SHIFT;\n idx = symx * N_RAW + rawx;\n prun = (PrunTable[idx >> 3] >> (idx << 2)) & 15;\n if (prun != check) {\n prun < depth - 1 && (m += (NEXT_AXIS_MAGIC >> m) & 3);\n continue;\n }\n if (inv) {\n PrunTable[i >> 3] ^= xorVal << (i << 2);\n break;\n }\n PrunTable[idx >> 3] ^= xorVal << (idx << 2);\n for (j = 1, symState = SymState[symx]; (symState >>= 1) != 0; j++) {\n if ((symState & 1) != 1) {\n continue;\n }\n idxx = symx * N_RAW;\n ISTFP\n ? (idxx += ($clinit_CubieCube(), FlipS2RF)[FlipR2S[rawx] ^ j])\n : (idxx += RawConj[rawx][j ^ ((SYM_E2C_MAGIC >> (j << 1)) & 3)]);\n if (((PrunTable[idxx >> 3] >> (idxx << 2)) & 15) == check) {\n PrunTable[idxx >> 3] ^= xorVal << (idxx << 2);\n }\n }\n }\n }\n }\n}\n\nfunction initTwistMove() {\n var c, d, i, j;\n c = new CubieCube();\n d = new CubieCube();\n for (i = 0; i < 324; i++) {\n $setTwist(c, ($clinit_CubieCube(), TwistS2R)[i]);\n for (j = 0; j < 18; j++) {\n CornMult(c, moveCube[j], d);\n TwistMove[i][j] = TwistR2S[$getTwist(d)];\n }\n }\n}\n\nfunction initUDSliceMoveConj() {\n var c, d, i, i0, j, j0, k, udslice;\n c = new CubieCube();\n d = new CubieCube();\n for (i0 = 0; i0 < 495; i0++) {\n setComb(c.ea, 494 - i0, 8, true);\n for (j0 = 0; j0 < 18; j0 += 3) {\n EdgeMult(c, ($clinit_CubieCube(), moveCube)[j0], d);\n UDSliceMove[i0][j0] = (494 - getComb(d.ea, 8, true)) & $intern_20;\n }\n for (j = 0; j < 16; j += 2) {\n EdgeConjugate(c, ($clinit_CubieCube(), SymMultInv)[0][j], d);\n UDSliceConj[i0][j >> 1] = (494 - getComb(d.ea, 8, true)) & $intern_20;\n }\n }\n for (i = 0; i < 495; i++) {\n for (j = 0; j < 18; j += 3) {\n udslice = UDSliceMove[i][j];\n for (k = 1; k < 3; k++) {\n udslice = UDSliceMove[udslice][j];\n UDSliceMove[i][j + k] = udslice & $intern_20;\n }\n }\n }\n}\n\ndefineClass(31, 1, { 31: 1 }, CoordCube);\n_.flip = 0;\n_.flipc = 0;\n_.fsym = 0;\n_.prun = 0;\n_.slice_0 = 0;\n_.tsym = 0;\n_.twist = 0;\n_.twistc = 0;\nvar CCombPConj,\n CCombPMove,\n CPermMove,\n EPermCCombPPrun,\n EPermMove,\n FlipMove,\n MCPermPrun,\n MPermConj,\n MPermMove,\n TwistFlipPrun,\n TwistMove,\n UDSliceConj,\n UDSliceFlipPrun,\n UDSliceMove,\n UDSliceTwistPrun,\n initLevel = 0;\nvar Lorg_cubing_min2phase_client_CoordCube_2_classLit = createForClass(\n \"org.cubing.min2phase.client\",\n \"CoordCube\",\n 31,\n);\nlet $clinit_CubieCube_ran = false;\nfunction $clinit_CubieCube() {\n if ($clinit_CubieCube_ran) {\n return;\n }\n $clinit_CubieCube_ran = true;\n CubeSym = initDim(\n Lorg_cubing_min2phase_client_CubieCube_2_classLit,\n $intern_3,\n 7,\n 16,\n 0,\n 1,\n );\n moveCube = initDim(\n Lorg_cubing_min2phase_client_CubieCube_2_classLit,\n $intern_3,\n 7,\n 18,\n 0,\n 1,\n );\n moveCubeSym = initDim(J_classLit, $intern_3, 0, 18, 6, 1);\n firstMoveSym = initDim(I_classLit, $intern_27, 0, 48, 7, 1);\n SymMult = initDims(\n I_classLit,\n [$intern_3, $intern_27],\n [17, 0],\n 7,\n [16, 16],\n 2,\n );\n SymMultInv = initDims(\n I_classLit,\n [$intern_3, $intern_27],\n [17, 0],\n 7,\n [16, 16],\n 2,\n );\n SymMove_0 = initDims(\n I_classLit,\n [$intern_3, $intern_27],\n [17, 0],\n 7,\n [16, 18],\n 2,\n );\n Sym8Move = initDim(I_classLit, $intern_27, 0, 144, 7, 1);\n SymMoveUD = initDims(\n I_classLit,\n [$intern_3, $intern_27],\n [17, 0],\n 7,\n [16, 18],\n 2,\n );\n FlipS2R = initDim(C_classLit, $intern_26, 0, 336, 7, 1);\n TwistS2R = initDim(C_classLit, $intern_26, 0, 324, 7, 1);\n EPermS2R = initDim(C_classLit, $intern_26, 0, 2768, 7, 1);\n Perm2CombP = initDim(B_classLit, $intern_30, 0, 2768, 7, 1);\n PermInvEdgeSym = initDim(C_classLit, $intern_26, 0, 2768, 7, 1);\n MPermInv = initDim(B_classLit, $intern_30, 0, 24, 7, 1);\n FlipR2S = initDim(C_classLit, $intern_26, 0, 2048, 7, 1);\n TwistR2S = initDim(C_classLit, $intern_26, 0, 2187, 7, 1);\n EPermR2S = initDim(C_classLit, $intern_26, 0, 40320, 7, 1);\n FlipS2RF = initDim(C_classLit, $intern_26, 0, 2688, 7, 1);\n urf1 = new CubieCube_0(2531, 1373, 67026819, 1367);\n urf2 = new CubieCube_0(2089, 1906, 322752913, 2040);\n urfMove = initValues(\n getClassLiteralForArray(B_classLit, 2),\n $intern_3,\n 10,\n 0,\n [\n initValues(\n getClassLiteralForArray(B_classLit, 1),\n $intern_30,\n 0,\n 7,\n [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17],\n ),\n initValues(\n getClassLiteralForArray(B_classLit, 1),\n $intern_30,\n 0,\n 7,\n [6, 7, 8, 0, 1, 2, 3, 4, 5, 15, 16, 17, 9, 10, 11, 12, 13, 14],\n ),\n initValues(\n getClassLiteralForArray(B_classLit, 1),\n $intern_30,\n 0,\n 7,\n [3, 4, 5, 6, 7, 8, 0, 1, 2, 12, 13, 14, 15, 16, 17, 9, 10, 11],\n ),\n initValues(\n getClassLiteralForArray(B_classLit, 1),\n $intern_30,\n 0,\n 7,\n [2, 1, 0, 5, 4, 3, 8, 7, 6, 11, 10, 9, 14, 13, 12, 17, 16, 15],\n ),\n initValues(\n getClassLiteralForArray(B_classLit, 1),\n $intern_30,\n 0,\n 7,\n [8, 7, 6, 2, 1, 0, 5, 4, 3, 17, 16, 15, 11, 10, 9, 14, 13, 12],\n ),\n initValues(\n getClassLiteralForArray(B_classLit, 1),\n $intern_30,\n 0,\n 7,\n [5, 4, 3, 8, 7, 6, 2, 1, 0, 14, 13, 12, 17, 16, 15, 11, 10, 9],\n ),\n ],\n );\n initMove();\n initSym();\n}\n\nfunction $$init(this$static) {\n this$static.ca = initValues(\n getClassLiteralForArray(B_classLit, 1),\n $intern_30,\n 0,\n 7,\n [0, 1, 2, 3, 4, 5, 6, 7],\n );\n this$static.ea = initValues(\n getClassLiteralForArray(B_classLit, 1),\n $intern_30,\n 0,\n 7,\n [0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22],\n );\n}\n\nfunction $URFConjugate(this$static) {\n !this$static.temps && (this$static.temps = new CubieCube());\n CornMult(urf2, this$static, this$static.temps);\n CornMult(this$static.temps, urf1, this$static);\n EdgeMult(urf2, this$static, this$static.temps);\n EdgeMult(this$static.temps, urf1, this$static);\n}\n\nfunction $copy(this$static, c) {\n var i, i0;\n for (i0 = 0; i0 < 8; i0++) {\n this$static.ca[i0] = c.ca[i0];\n }\n for (i = 0; i < 12; i++) {\n this$static.ea[i] = c.ea[i];\n }\n}\n\nfunction $getCPermSym(this$static) {\n return ESym2CSym(EPermR2S[getNPerm(this$static.ca, 8, false)]);\n}\n\nfunction $getEPermSym(this$static) {\n return EPermR2S[getNPerm(this$static.ea, 8, true)];\n}\n\nfunction $getFlip(this$static) {\n var i, idx;\n idx = 0;\n for (i = 0; i < 11; i++) {\n idx = (idx << 1) | (this$static.ea[i] & 1);\n }\n return idx;\n}\n\nfunction $getTwist(this$static) {\n var i, idx;\n idx = 0;\n for (i = 0; i < 7; i++) {\n idx += (idx << 1) + (this$static.ca[i] >> 3);\n }\n return idx;\n}\n\nfunction $invCubieCube(this$static) {\n var corn, edge;\n !this$static.temps && (this$static.temps = new CubieCube());\n for (edge = 0; edge < 12; edge++) {\n this$static.temps.ea[this$static.ea[edge] >> 1] =\n (((edge << 1) | (this$static.ea[edge] & 1)) << 24) >> 24;\n }\n for (corn = 0; corn < 8; corn++) {\n this$static.temps.ca[this$static.ca[corn] & 7] =\n ((corn | ((32 >> (this$static.ca[corn] >> 3)) & 24)) << 24) >> 24;\n }\n $copy(this$static, this$static.temps);\n}\n\nfunction $selfSymmetry(this$static) {\n var c, cperm, cpermx, d, i, sym, urfInv;\n c = new CubieCube_1(this$static);\n d = new CubieCube();\n cperm = ESym2CSym(EPermR2S[getNPerm(c.ca, 8, false)]) >> 4;\n sym = { l: 0, m: 0, h: 0 };\n for (urfInv = 0; urfInv < 6; urfInv++) {\n cpermx = ESym2CSym(EPermR2S[getNPerm(c.ca, 8, false)]) >> 4;\n if (cperm == cpermx) {\n for (i = 0; i < 16; i++) {\n CornConjugate(c, SymMultInv[0][i], d);\n if (equals_7(d.ca, this$static.ca)) {\n EdgeConjugate(c, SymMultInv[0][i], d);\n equals_7(d.ea, this$static.ea) &&\n (sym = or(\n sym,\n shl(\n { l: 1, m: 0, h: 0 },\n ((urfInv << 4) | i) < 48 ? (urfInv << 4) | i : 48,\n ),\n ));\n }\n }\n }\n $URFConjugate(c);\n urfInv % 3 == 2 && $invCubieCube(c);\n }\n return sym;\n}\n\nfunction $setCPerm(this$static, idx) {\n setNPerm(this$static.ca, idx, 8, false);\n}\n\nfunction $setEPerm(this$static, idx) {\n setNPerm(this$static.ea, idx, 8, true);\n}\n\nfunction $setFlip(this$static, idx) {\n var i, parity, val;\n parity = 0;\n for (i = 10; i >= 0; --i, idx >>= 1) {\n parity ^= val = idx & 1;\n this$static.ea[i] = (((this$static.ea[i] & -2) | val) << 24) >> 24;\n }\n this$static.ea[11] = (((this$static.ea[11] & -2) | parity) << 24) >> 24;\n}\n\nfunction $setTwist(this$static, idx) {\n var i, twst, val;\n twst = 15;\n for (i = 6; i >= 0; --i, idx = ~~(idx / 3)) {\n twst -= val = idx % 3;\n this$static.ca[i] = (((this$static.ca[i] & 7) | (val << 3)) << 24) >> 24;\n }\n this$static.ca[7] = (((this$static.ca[7] & 7) | (twst % 3 << 3)) << 24) >> 24;\n}\n\nfunction $verify(this$static) {\n var c, cornMask, e, edgeMask, sum;\n sum = 0;\n edgeMask = 0;\n for (e = 0; e < 12; e++) {\n edgeMask |= 1 << (this$static.ea[e] >> 1);\n sum ^= this$static.ea[e] & 1;\n }\n if (edgeMask != 4095) {\n return -2;\n }\n if (sum != 0) {\n return -3;\n }\n cornMask = 0;\n sum = 0;\n for (c = 0; c < 8; c++) {\n cornMask |= 1 << (this$static.ca[c] & 7);\n sum += this$static.ca[c] >> 3;\n }\n if (cornMask != 255) {\n return -4;\n }\n if (sum % 3 != 0) {\n return -5;\n }\n if (\n (getNParity(getNPerm(this$static.ea, 12, true), 12) ^\n getNParity(getNPerm(this$static.ca, 8, false), 8)) !=\n 0\n ) {\n return -6;\n }\n return 0;\n}\n\nfunction CornConjugate(a, idx, b) {\n $clinit_CubieCube();\n var corn, ori, oriA, oriB, s, sinv;\n sinv = CubeSym[SymMultInv[0][idx]];\n s = CubeSym[idx];\n for (corn = 0; corn < 8; corn++) {\n oriA = sinv.ca[a.ca[s.ca[corn] & 7] & 7] >> 3;\n oriB = a.ca[s.ca[corn] & 7] >> 3;\n ori = oriA < 3 ? oriB : (3 - oriB) % 3;\n b.ca[corn] =\n (((sinv.ca[a.ca[s.ca[corn] & 7] & 7] & 7) | (ori << 3)) << 24) >> 24;\n }\n}\n\nfunction CornMult(a, b, prod) {\n $clinit_CubieCube();\n var corn, oriA, oriB;\n for (corn = 0; corn < 8; corn++) {\n oriA = a.ca[b.ca[corn] & 7] >> 3;\n oriB = b.ca[corn] >> 3;\n prod.ca[corn] =\n (((a.ca[b.ca[corn] & 7] & 7) | ((oriA + oriB) % 3 << 3)) << 24) >> 24;\n }\n}\n\nfunction CornMultFull(a, b, prod) {\n var corn, ori, oriA, oriB;\n for (corn = 0; corn < 8; corn++) {\n oriA = a.ca[b.ca[corn] & 7] >> 3;\n oriB = b.ca[corn] >> 3;\n ori = oriA + (oriA < 3 ? oriB : 6 - oriB);\n ori = (ori % 3) + (oriA < 3 == oriB < 3 ? 0 : 3);\n prod.ca[corn] = (((a.ca[b.ca[corn] & 7] & 7) | (ori << 3)) << 24) >> 24;\n }\n}\n\nfunction CubieCube() {\n $clinit_CubieCube();\n $$init(this);\n}\n\nfunction CubieCube_0(cperm, twist, eperm, flip) {\n $$init(this);\n setNPerm(this.ca, cperm, 8, false);\n $setTwist(this, twist);\n setNPerm(this.ea, eperm, 12, true);\n $setFlip(this, flip);\n}\n\nfunction CubieCube_1(c) {\n $$init(this);\n $copy(this, c);\n}\n\nfunction ESym2CSym(idx) {\n $clinit_CubieCube();\n return idx ^ (($intern_28 >> ((idx & 15) << 1)) & 3);\n}\n\nfunction EdgeConjugate(a, idx, b) {\n $clinit_CubieCube();\n var ed, s, sinv;\n sinv = CubeSym[SymMultInv[0][idx]];\n s = CubeSym[idx];\n for (ed = 0; ed < 12; ed++) {\n b.ea[ed] =\n ((sinv.ea[a.ea[s.ea[ed] >> 1] >> 1] ^\n (a.ea[s.ea[ed] >> 1] & 1) ^\n (s.ea[ed] & 1)) <<\n 24) >>\n 24;\n }\n}\n\nfunction EdgeMult(a, b, prod) {\n $clinit_CubieCube();\n var ed;\n for (ed = 0; ed < 12; ed++) {\n prod.ea[ed] = ((a.ea[b.ea[ed] >> 1] ^ (b.ea[ed] & 1)) << 24) >> 24;\n }\n}\n\nfunction getPermSymInv(idx, sym, isCorner) {\n $clinit_CubieCube();\n var idxi;\n idxi = PermInvEdgeSym[idx];\n isCorner && (idxi = idxi ^ (($intern_28 >> ((idxi & 15) << 1)) & 3));\n return (idxi & 65520) | SymMult[idxi & 15][sym];\n}\n\nfunction getSkipMoves() {\n $clinit_CubieCube();\n // var i, ret;\n // ret = 0;\n // for (i = 1; neq((ssym = shr(ssym, 1)), { l: 0, m: 0, h: 0 }); i++) {\n // eq(and(ssym, { l: 1, m: 0, h: 0 }), { l: 1, m: 0, h: 0 }) &&\n // (ret |= firstMoveSym[i]);\n // }\n return 0;\n}\n\nfunction initMove() {\n var a, p;\n moveCube[0] = new CubieCube_0(15120, 0, 119750400, 0);\n moveCube[3] = new CubieCube_0(21021, 1494, 323403417, 0);\n moveCube[6] = new CubieCube_0(8064, 1236, 29441808, 550);\n moveCube[9] = new CubieCube_0(9, 0, 5880, 0);\n moveCube[12] = new CubieCube_0(1230, 412, 2949660, 0);\n moveCube[15] = new CubieCube_0(224, 137, 328552, 137);\n for (a = 0; a < 18; a += 3) {\n for (p = 0; p < 2; p++) {\n moveCube[a + p + 1] = new CubieCube();\n EdgeMult(moveCube[a + p], moveCube[a], moveCube[a + p + 1]);\n CornMult(moveCube[a + p], moveCube[a], moveCube[a + p + 1]);\n }\n }\n}\n\nfunction initPermSym2Raw() {\n $clinit_CubieCube();\n var cc, i, i0;\n initSym2Raw(\n 40320,\n EPermS2R,\n EPermR2S,\n (SymStatePerm = initDim(C_classLit, $intern_26, 0, 2768, 7, 1)),\n 2,\n );\n cc = new CubieCube();\n for (i0 = 0; i0 < 2768; i0++) {\n $setEPerm(cc, EPermS2R[i0]);\n Perm2CombP[i0] =\n ((getComb(cc.ea, 0, true) + getNParity(EPermS2R[i0], 8) * 70) << 24) >>\n 24;\n $invCubieCube(cc);\n PermInvEdgeSym[i0] = EPermR2S[getNPerm(cc.ea, 8, true)];\n }\n for (i = 0; i < 24; i++) {\n setNPerm(cc.ea, i, 12, true);\n $invCubieCube(cc);\n MPermInv[i] = (getNPerm(cc.ea, 12, true) % 24 << 24) >> 24;\n }\n}\n\nfunction initSym() {\n var c, d, f2, i, i0, i1, i2, j, j0, j1, k, lr2, m, s, t, u4;\n c = new CubieCube();\n d = new CubieCube();\n f2 = new CubieCube_0(28783, 0, 259268407, 0);\n u4 = new CubieCube_0(15138, 0, 119765538, 7);\n lr2 = new CubieCube_0(5167, 0, 83473207, 0);\n for (i0 = 0; i0 < 8; i0++) {\n lr2.ca[i0] = narrow_byte(lr2.ca[i0] | 24);\n }\n for (i1 = 0; i1 < 16; i1++) {\n CubeSym[i1] = new CubieCube_1(c);\n CornMultFull(c, u4, d);\n EdgeMult(c, u4, d);\n t = d;\n d = c;\n c = t;\n if (i1 % 4 == 3) {\n CornMultFull(t, lr2, d);\n EdgeMult(t, lr2, d);\n t = d;\n d = c;\n c = t;\n }\n if (i1 % 8 == 7) {\n CornMultFull(t, f2, d);\n EdgeMult(t, f2, d);\n t = d;\n d = c;\n c = t;\n }\n }\n for (i2 = 0; i2 < 16; i2++) {\n for (j0 = 0; j0 < 16; j0++) {\n CornMultFull(CubeSym[i2], CubeSym[j0], c);\n for (k = 0; k < 16; k++) {\n if (equals_7(CubeSym[k].ca, c.ca)) {\n SymMult[i2][j0] = k;\n SymMultInv[k][j0] = i2;\n break;\n }\n }\n }\n }\n for (j1 = 0; j1 < 18; j1++) {\n for (s = 0; s < 16; s++) {\n CornConjugate(moveCube[j1], SymMultInv[0][s], c);\n for (m = 0; m < 18; m++) {\n if (equals_7(moveCube[m].ca, c.ca)) {\n SymMove_0[s][j1] = m;\n SymMoveUD[s][($clinit_Util(), std2ud)[j1]] = std2ud[m];\n break;\n }\n }\n s % 2 == 0 && (Sym8Move[(j1 << 3) | (s >> 1)] = SymMove_0[s][j1]);\n }\n }\n for (i = 0; i < 18; i++) {\n moveCubeSym[i] = $selfSymmetry(moveCube[i]);\n j = i;\n for (s = 0; s < 48; s++) {\n SymMove_0[s % 16][j] < i && (firstMoveSym[s] |= 1 << i);\n s % 16 == 15 && (j = urfMove[2][j]);\n }\n }\n}\n\nfunction initSym2Raw(N_RAW, Sym2Raw, Raw2Sym, SymState, coord) {\n $clinit_CubieCube();\n var c, count, d, i, idx, isEdge, s, symIdx, sym_inc;\n c = new CubieCube();\n d = new CubieCube();\n count = 0;\n idx = 0;\n sym_inc = coord >= 2 ? 1 : 2;\n isEdge = coord != 1;\n for (i = 0; i < N_RAW; i++) {\n if (Raw2Sym[i] != 0) {\n continue;\n }\n switch (coord) {\n case 0:\n $setFlip(c, i);\n break;\n case 1:\n $setTwist(c, i);\n break;\n case 2:\n setNPerm(c.ea, i, 8, true);\n }\n for (s = 0; s < 16; s += sym_inc) {\n isEdge ? EdgeConjugate(c, s, d) : CornConjugate(c, s, d);\n switch (coord) {\n case 0:\n idx = $getFlip(d);\n break;\n case 1:\n idx = $getTwist(d);\n break;\n case 2:\n idx = getNPerm(d.ea, 8, true);\n }\n coord == 0 && (FlipS2RF[(count << 3) | (s >> 1)] = idx & $intern_20);\n idx == i &&\n (SymState[count] =\n (SymState[count] | (1 << ~~(s / sym_inc))) & $intern_20);\n symIdx = ~~(((count << 4) | s) / sym_inc);\n Raw2Sym[idx] = symIdx & $intern_20;\n }\n Sym2Raw[count++] = i & $intern_20;\n }\n return count;\n}\n\nvar CubeSym,\n EPermR2S,\n EPermS2R,\n FlipR2S,\n FlipS2R,\n FlipS2RF,\n MPermInv,\n Perm2CombP,\n PermInvEdgeSym,\n Sym8Move,\n SymMove_0,\n SymMoveUD,\n SymMult,\n SymMultInv,\n SymStateFlip,\n SymStatePerm,\n SymStateTwist,\n TwistR2S,\n TwistS2R,\n firstMoveSym,\n moveCube,\n moveCubeSym,\n urf1,\n urf2,\n urfMove;\nvar Lorg_cubing_min2phase_client_CubieCube_2_classLit = createForClass(\n \"org.cubing.min2phase.client\",\n \"CubieCube\",\n 7,\n);\n\nfunction $initPhase2(\n this$static,\n p2corn,\n p2csym,\n p2edge,\n p2esym,\n p2mid,\n edgei,\n corni,\n) {\n var depth2, i, i0, prun, ret;\n prun = max_0(\n getPruning(\n ($clinit_CoordCube(), EPermCCombPPrun),\n (edgei >> 4) * 140 +\n CCombPConj[($clinit_CubieCube(), Perm2CombP)[corni >> 4] & 255][\n SymMultInv[edgei & 15][corni & 15]\n ],\n ),\n max_0(\n getPruning(\n EPermCCombPPrun,\n p2edge * 140 +\n CCombPConj[Perm2CombP[p2corn] & 255][SymMultInv[p2esym][p2csym]],\n ),\n getPruning(MCPermPrun, p2corn * 24 + MPermConj[p2mid][p2csym]),\n ),\n );\n if (prun > this$static.maxDep2) {\n return prun - this$static.maxDep2;\n }\n for (depth2 = this$static.maxDep2; depth2 >= prun; depth2--) {\n ret = $phase2(\n this$static,\n p2edge,\n p2esym,\n p2corn,\n p2csym,\n p2mid,\n depth2,\n this$static.depth1,\n 10,\n );\n if (ret < 0) {\n break;\n }\n depth2 -= ret;\n this$static.solLen = 0;\n this$static.solution = new Util$Solution();\n $setArgs(\n this$static.solution,\n this$static.verbose,\n this$static.urfIdx,\n this$static.depth1,\n );\n for (i0 = 0; i0 < this$static.depth1 + depth2; i0++) {\n $appendSolMove(this$static.solution, this$static.move[i0]);\n }\n for (i = this$static.preMoveLen - 1; i >= 0; i--) {\n $appendSolMove(this$static.solution, this$static.preMoves[i]);\n }\n this$static.solLen = this$static.solution.length_0;\n }\n if (depth2 != this$static.maxDep2) {\n this$static.maxDep2 = min_0(\n MAX_DEPTH2,\n this$static.solLen - this$static.length1 - 1,\n );\n return gte(this$static.probe, this$static.probeMin) ? 0 : 1;\n }\n return 1;\n}\n\nfunction $initPhase2Pre(this$static) {\n var corni,\n edgei,\n i,\n lastMove,\n lastPre,\n m,\n p2corn,\n p2csym,\n p2edge,\n p2esym,\n p2mid,\n p2switch,\n p2switchMask,\n p2switchMax,\n ret;\n this$static.isRec = false;\n if (\n gte(\n this$static.probe,\n !this$static.solution ? this$static.probeMax : this$static.probeMin,\n )\n ) {\n return 0;\n }\n this$static.probe = add_1(this$static.probe, { l: 1, m: 0, h: 0 });\n for (i = this$static.valid1; i < this$static.depth1; i++) {\n CornMult(\n this$static.phase1Cubie[i],\n ($clinit_CubieCube(), moveCube)[this$static.move[i]],\n this$static.phase1Cubie[i + 1],\n );\n EdgeMult(\n this$static.phase1Cubie[i],\n moveCube[this$static.move[i]],\n this$static.phase1Cubie[i + 1],\n );\n }\n this$static.valid1 = this$static.depth1;\n p2corn = $getCPermSym(this$static.phase1Cubie[this$static.depth1]);\n p2csym = p2corn & 15;\n p2corn >>= 4;\n p2edge = $getEPermSym(this$static.phase1Cubie[this$static.depth1]);\n p2esym = p2edge & 15;\n p2edge >>= 4;\n p2mid =\n getNPerm(this$static.phase1Cubie[this$static.depth1].ea, 12, true) % 24;\n edgei = getPermSymInv(p2edge, p2esym, false);\n corni = getPermSymInv(p2corn, p2csym, true);\n lastMove =\n this$static.depth1 == 0 ? -1 : this$static.move[this$static.depth1 - 1];\n lastPre =\n this$static.preMoveLen == 0\n ? -1\n : this$static.preMoves[this$static.preMoveLen - 1];\n ret = 0;\n p2switchMax =\n (this$static.preMoveLen == 0 ? 1 : 2) * (this$static.depth1 == 0 ? 1 : 2);\n for (\n p2switch = 0, p2switchMask = (1 << p2switchMax) - 1;\n p2switch < p2switchMax;\n p2switch++\n ) {\n if (((p2switchMask >> p2switch) & 1) != 0) {\n p2switchMask &= ~(1 << p2switch);\n ret = $initPhase2(\n this$static,\n p2corn,\n p2csym,\n p2edge,\n p2esym,\n p2mid,\n edgei,\n corni,\n );\n if (ret == 0 || ret > 2) {\n break;\n } else ret == 2 && (p2switchMask &= 4 << p2switch);\n }\n if (p2switchMask == 0) {\n break;\n }\n if ((p2switch & 1) == 0 && this$static.depth1 > 0) {\n m = ($clinit_Util(), std2ud)[~~(lastMove / 3) * 3 + 1];\n this$static.move[this$static.depth1 - 1] =\n ud2std[m] * 2 - this$static.move[this$static.depth1 - 1];\n p2mid = ($clinit_CoordCube(), MPermMove)[p2mid][m];\n p2corn = CPermMove[p2corn][($clinit_CubieCube(), SymMoveUD)[p2csym][m]];\n p2csym = SymMult[p2corn & 15][p2csym];\n p2corn >>= 4;\n p2edge = EPermMove[p2edge][SymMoveUD[p2esym][m]];\n p2esym = SymMult[p2edge & 15][p2esym];\n p2edge >>= 4;\n corni = getPermSymInv(p2corn, p2csym, true);\n edgei = getPermSymInv(p2edge, p2esym, false);\n } else if (this$static.preMoveLen > 0) {\n m = ($clinit_Util(), std2ud)[~~(lastPre / 3) * 3 + 1];\n this$static.preMoves[this$static.preMoveLen - 1] =\n ud2std[m] * 2 - this$static.preMoves[this$static.preMoveLen - 1];\n p2mid = ($clinit_CubieCube(), MPermInv)[\n ($clinit_CoordCube(), MPermMove)[MPermInv[p2mid]][m]\n ];\n p2corn = CPermMove[corni >> 4][SymMoveUD[corni & 15][m]];\n corni = (p2corn & -16) | SymMult[p2corn & 15][corni & 15];\n p2corn = getPermSymInv(corni >> 4, corni & 15, true);\n p2csym = p2corn & 15;\n p2corn >>= 4;\n p2edge = EPermMove[edgei >> 4][SymMoveUD[edgei & 15][m]];\n edgei = (p2edge & -16) | SymMult[p2edge & 15][edgei & 15];\n p2edge = getPermSymInv(edgei >> 4, edgei & 15, false);\n p2esym = p2edge & 15;\n p2edge >>= 4;\n }\n }\n this$static.depth1 > 0 &&\n (this$static.move[this$static.depth1 - 1] = lastMove);\n this$static.preMoveLen > 0 &&\n (this$static.preMoves[this$static.preMoveLen - 1] = lastPre);\n return ret == 0 ? 0 : 2;\n}\n\nfunction $initSearch(this$static) {\n var i;\n this$static.conjMask = 0;\n this$static.selfSym = $selfSymmetry(this$static.cc);\n this$static.conjMask |= neq(\n and(shr(this$static.selfSym, 16), { l: $intern_20, m: 0, h: 0 }),\n { l: 0, m: 0, h: 0 },\n )\n ? 18\n : 0;\n this$static.conjMask |= neq(\n and(shr(this$static.selfSym, 32), { l: $intern_20, m: 0, h: 0 }),\n { l: 0, m: 0, h: 0 },\n )\n ? 36\n : 0;\n this$static.conjMask |= neq(\n and(shr(this$static.selfSym, 48), { l: $intern_20, m: 0, h: 0 }),\n { l: 0, m: 0, h: 0 },\n )\n ? 56\n : 0;\n this$static.selfSym = and(this$static.selfSym, {\n l: $intern_9,\n m: $intern_9,\n h: 15,\n });\n this$static.maxPreMoves = this$static.conjMask > 7 ? 0 : 20;\n for (i = 0; i < 6; i++) {\n $copy(this$static.urfCubieCube[i], this$static.cc);\n $setWithPrun(this$static.urfCoordCube[i], this$static.urfCubieCube[i], 20);\n $URFConjugate(this$static.cc);\n i % 3 == 2 && $invCubieCube(this$static.cc);\n }\n}\n\nfunction $phase1(this$static, node, ssym, maxl, lm) {\n var axis_0, m, power, prun, ret, skipMoves;\n if (node.prun == 0 && maxl < 5) {\n if (this$static.allowShorter || maxl == 0) {\n this$static.depth1 -= maxl;\n ret = $initPhase2Pre(this$static);\n this$static.depth1 += maxl;\n return ret;\n } else {\n return 1;\n }\n }\n skipMoves = getSkipMoves(fromInt(ssym));\n for (axis_0 = 0; axis_0 < 18; axis_0 += 3) {\n if (axis_0 == lm || axis_0 == lm - 9) {\n continue;\n }\n for (power = 0; power < 3; power++) {\n m = axis_0 + power;\n if (\n (this$static.isRec &&\n m != this$static.move[this$static.depth1 - maxl]) ||\n (skipMoves != 0 && (skipMoves & (1 << m)) != 0)\n ) {\n continue;\n }\n prun = $doMovePrun(this$static.nodeUD[maxl], node, m);\n if (prun > maxl) {\n break;\n } else if (prun == maxl) {\n continue;\n }\n prun = $doMovePrunConj(this$static.nodeUD[maxl], node, m);\n if (prun > maxl) {\n break;\n } else if (prun == maxl) {\n continue;\n }\n this$static.move[this$static.depth1 - maxl] = m;\n this$static.valid1 = min_0(this$static.valid1, this$static.depth1 - maxl);\n ret = $phase1(\n this$static,\n this$static.nodeUD[maxl],\n ssym & toInt(($clinit_CubieCube(), moveCubeSym)[m]),\n maxl - 1,\n axis_0,\n );\n if (ret == 0) {\n return 0;\n } else if (ret >= 2) {\n break;\n }\n }\n }\n return 1;\n}\n\nfunction $phase1PreMoves(this$static, maxl, lm, cc, ssym) {\n var m, ret, skipMoves;\n this$static.preMoveLen = this$static.maxPreMoves - maxl;\n if (\n this$static.isRec\n ? this$static.depth1 == this$static.length1 - this$static.preMoveLen\n : this$static.preMoveLen == 0 || ((225207 >> lm) & 1) == 0\n ) {\n this$static.depth1 = this$static.length1 - this$static.preMoveLen;\n this$static.phase1Cubie[0] = cc;\n this$static.allowShorter =\n this$static.depth1 == MIN_P1LENGTH_PRE && this$static.preMoveLen != 0;\n if (\n $setWithPrun(\n this$static.nodeUD[this$static.depth1 + 1],\n cc,\n this$static.depth1,\n ) &&\n $phase1(\n this$static,\n this$static.nodeUD[this$static.depth1 + 1],\n ssym,\n this$static.depth1,\n -1,\n ) == 0\n ) {\n return 0;\n }\n }\n if (\n maxl == 0 ||\n this$static.preMoveLen + MIN_P1LENGTH_PRE >= this$static.length1\n ) {\n return 1;\n }\n skipMoves = getSkipMoves(fromInt(ssym));\n (maxl == 1 ||\n this$static.preMoveLen + 1 + MIN_P1LENGTH_PRE >= this$static.length1) &&\n (skipMoves |= 225207);\n lm = ~~(lm / 3) * 3;\n for (m = 0; m < 18; m++) {\n if (m == lm || m == lm - 9 || m == lm + 9) {\n m += 2;\n continue;\n }\n if (\n (this$static.isRec &&\n m != this$static.preMoves[this$static.maxPreMoves - maxl]) ||\n (skipMoves & (1 << m)) != 0\n ) {\n continue;\n }\n CornMult(\n ($clinit_CubieCube(), moveCube)[m],\n cc,\n this$static.preMoveCubes[maxl],\n );\n EdgeMult(moveCube[m], cc, this$static.preMoveCubes[maxl]);\n this$static.preMoves[this$static.maxPreMoves - maxl] = m;\n ret = $phase1PreMoves(\n this$static,\n maxl - 1,\n m,\n this$static.preMoveCubes[maxl],\n ssym & toInt(moveCubeSym[m]),\n );\n if (ret == 0) {\n return 0;\n }\n }\n return 1;\n}\n\nfunction $phase2(this$static, edge, esym, corn, csym, mid, maxl, depth, lm) {\n var corni, cornx, csymx, edgei, edgex, esymx, m, midx, moveMask, prun, ret;\n if (edge == 0 && corn == 0 && mid == 0) {\n return maxl;\n }\n moveMask = ($clinit_Util(), ckmv2bit)[lm];\n for (m = 0; m < 10; m++) {\n if (((moveMask >> m) & 1) != 0) {\n m += (66 >> m) & 3;\n continue;\n }\n midx = ($clinit_CoordCube(), MPermMove)[mid][m];\n cornx = CPermMove[corn][($clinit_CubieCube(), SymMoveUD)[csym][m]];\n csymx = SymMult[cornx & 15][csym];\n cornx >>= 4;\n edgex = EPermMove[edge][SymMoveUD[esym][m]];\n esymx = SymMult[edgex & 15][esym];\n edgex >>= 4;\n edgei = getPermSymInv(edgex, esymx, false);\n corni = getPermSymInv(cornx, csymx, true);\n prun = getPruning(\n EPermCCombPPrun,\n (edgei >> 4) * 140 +\n CCombPConj[Perm2CombP[corni >> 4] & 255][\n SymMultInv[edgei & 15][corni & 15]\n ],\n );\n if (prun > maxl + 1) {\n return maxl - prun + 1;\n } else if (prun >= maxl) {\n m += (66 >> m) & 3 & (maxl - prun);\n continue;\n }\n prun = max_0(\n getPruning(MCPermPrun, cornx * 24 + MPermConj[midx][csymx]),\n getPruning(\n EPermCCombPPrun,\n edgex * 140 +\n CCombPConj[Perm2CombP[cornx] & 255][SymMultInv[esymx][csymx]],\n ),\n );\n if (prun >= maxl) {\n m += (66 >> m) & 3 & (maxl - prun);\n continue;\n }\n ret = $phase2(\n this$static,\n edgex,\n esymx,\n cornx,\n csymx,\n midx,\n maxl - 1,\n depth + 1,\n m,\n );\n if (ret >= 0) {\n this$static.move[depth] = ud2std[m];\n return ret;\n }\n if (ret < -2) {\n break;\n }\n ret < -1 && (m += (66 >> m) & 3);\n }\n return -1;\n}\n\nfunction $search(this$static) {\n for (\n this$static.length1 = this$static.isRec ? this$static.length1 : 0;\n this$static.length1 < this$static.solLen;\n this$static.length1++\n ) {\n this$static.maxDep2 = min_0(\n MAX_DEPTH2,\n this$static.solLen - this$static.length1 - 1,\n );\n for (\n this$static.urfIdx = this$static.isRec ? this$static.urfIdx : 0;\n this$static.urfIdx < 6;\n this$static.urfIdx++\n ) {\n if ((this$static.conjMask & (1 << this$static.urfIdx)) != 0) {\n continue;\n }\n if (\n $phase1PreMoves(\n this$static,\n this$static.maxPreMoves,\n -30,\n this$static.urfCubieCube[this$static.urfIdx],\n toInt(and(this$static.selfSym, { l: $intern_20, m: 0, h: 0 })),\n ) == 0\n ) {\n return !this$static.solution\n ? \"Error 8\"\n : $toString_2(this$static.solution);\n }\n }\n }\n return !this$static.solution ? \"Error 7\" : $toString_2(this$static.solution);\n}\n\nfunction $solution(this$static, facelets) {\n var check;\n check = $verify_0(this$static, facelets);\n if (check != 0) {\n return \"Error \" + (check < 0 ? -check : check);\n }\n this$static.solLen = 22;\n this$static.probe = { l: 0, m: 0, h: 0 };\n this$static.probeMax = { l: 3531008, m: 23, h: 0 };\n this$static.probeMin = { l: 0, m: 0, h: 0 };\n this$static.verbose = 0;\n this$static.solution = null;\n this$static.isRec = false;\n init_0(false);\n $initSearch(this$static);\n return $search(this$static);\n}\n\nfunction $verify_0(this$static, facelets) {\n var center, count, f, i;\n count = 0;\n f = initDim(B_classLit, $intern_30, 0, 54, 7, 1);\n // try {\n center = _String(\n initValues(getClassLiteralForArray(C_classLit, 1), $intern_26, 0, 7, [\n facelets.charCodeAt(4),\n facelets.charCodeAt(13),\n facelets.charCodeAt(22),\n facelets.charCodeAt(31),\n facelets.charCodeAt(40),\n facelets.charCodeAt(49),\n ]),\n );\n for (i = 0; i < 54; i++) {\n f[i] =\n ($indexOf_0(center, fromCodePoint(facelets.charCodeAt(i))) << 24) >> 24;\n if (f[i] == -1) {\n return -1;\n }\n count += 1 << (f[i] << 2);\n }\n // } catch ($e0) {\n // $e0 = wrap($e0);\n // if (instanceOf($e0, 9)) {\n // return -1;\n // } else throw unwrap($e0);\n // }\n if (count != 10066329) {\n return -1;\n }\n toCubieCube(f, this$static.cc);\n return $verify(this$static.cc);\n}\n\nfunction Search() {\n var i, i0, i1;\n this.move = initDim(I_classLit, $intern_27, 0, 31, 7, 1);\n this.nodeUD = initDim(\n Lorg_cubing_min2phase_client_CoordCube_2_classLit,\n $intern_3,\n 31,\n 21,\n 0,\n 1,\n );\n this.nodeRL = initDim(\n Lorg_cubing_min2phase_client_CoordCube_2_classLit,\n $intern_3,\n 31,\n 21,\n 0,\n 1,\n );\n this.nodeFB = initDim(\n Lorg_cubing_min2phase_client_CoordCube_2_classLit,\n $intern_3,\n 31,\n 21,\n 0,\n 1,\n );\n this.cc = new CubieCube();\n this.urfCubieCube = initDim(\n Lorg_cubing_min2phase_client_CubieCube_2_classLit,\n $intern_3,\n 7,\n 6,\n 0,\n 1,\n );\n this.urfCoordCube = initDim(\n Lorg_cubing_min2phase_client_CoordCube_2_classLit,\n $intern_3,\n 31,\n 6,\n 0,\n 1,\n );\n this.phase1Cubie = initDim(\n Lorg_cubing_min2phase_client_CubieCube_2_classLit,\n $intern_3,\n 7,\n 21,\n 0,\n 1,\n );\n this.preMoveCubes = initDim(\n Lorg_cubing_min2phase_client_CubieCube_2_classLit,\n $intern_3,\n 7,\n 21,\n 0,\n 1,\n );\n this.preMoves = initDim(I_classLit, $intern_27, 0, 20, 7, 1);\n for (i0 = 0; i0 < 21; i0++) {\n this.nodeUD[i0] = new CoordCube();\n this.nodeRL[i0] = new CoordCube();\n this.nodeFB[i0] = new CoordCube();\n this.phase1Cubie[i0] = new CubieCube();\n }\n for (i1 = 0; i1 < 6; i1++) {\n this.urfCubieCube[i1] = new CubieCube();\n this.urfCoordCube[i1] = new CoordCube();\n }\n for (i = 0; i < 20; i++) {\n this.preMoveCubes[i + 1] = new CubieCube();\n }\n}\n\ndefineClass(72, 1, {}, Search);\n_.allowShorter = false;\n_.conjMask = 0;\n_.depth1 = 0;\n_.isRec = false;\n_.length1 = 0;\n_.maxDep2 = 0;\n_.maxPreMoves = 0;\n_.preMoveLen = 0;\n_.probe = { l: 0, m: 0, h: 0 };\n_.probeMax = { l: 0, m: 0, h: 0 };\n_.probeMin = { l: 0, m: 0, h: 0 };\n_.selfSym = { l: 0, m: 0, h: 0 };\n_.solLen = 0;\n_.urfIdx = 0;\n_.valid1 = 0;\n_.verbose = 0;\nvar MAX_DEPTH2 = 12,\n MIN_P1LENGTH_PRE = 7;\nlet $clinit_Util_ran = false;\nfunction $clinit_Util() {\n if ($clinit_Util_ran) {\n return;\n }\n $clinit_Util_ran = true;\n var i, i0, i1, ix, j, jx;\n cornerFacelet = initValues(\n getClassLiteralForArray(B_classLit, 2),\n $intern_3,\n 10,\n 0,\n [\n initValues(\n getClassLiteralForArray(B_classLit, 1),\n $intern_30,\n 0,\n 7,\n [8, 9, 20],\n ),\n initValues(\n getClassLiteralForArray(B_classLit, 1),\n $intern_30,\n 0,\n 7,\n [6, 18, 38],\n ),\n initValues(\n getClassLiteralForArray(B_classLit, 1),\n $intern_30,\n 0,\n 7,\n [0, 36, 47],\n ),\n initValues(\n getClassLiteralForArray(B_classLit, 1),\n $intern_30,\n 0,\n 7,\n [2, 45, 11],\n ),\n initValues(\n getClassLiteralForArray(B_classLit, 1),\n $intern_30,\n 0,\n 7,\n [29, 26, 15],\n ),\n initValues(\n getClassLiteralForArray(B_classLit, 1),\n $intern_30,\n 0,\n 7,\n [27, 44, 24],\n ),\n initValues(\n getClassLiteralForArray(B_classLit, 1),\n $intern_30,\n 0,\n 7,\n [33, 53, 42],\n ),\n initValues(\n getClassLiteralForArray(B_classLit, 1),\n $intern_30,\n 0,\n 7,\n [35, 17, 51],\n ),\n ],\n );\n edgeFacelet = initValues(\n getClassLiteralForArray(B_classLit, 2),\n $intern_3,\n 10,\n 0,\n [\n initValues(\n getClassLiteralForArray(B_classLit, 1),\n $intern_30,\n 0,\n 7,\n [5, 10],\n ),\n initValues(\n getClassLiteralForArray(B_classLit, 1),\n $intern_30,\n 0,\n 7,\n [7, 19],\n ),\n initValues(\n getClassLiteralForArray(B_classLit, 1),\n $intern_30,\n 0,\n 7,\n [3, 37],\n ),\n initValues(\n getClassLiteralForArray(B_classLit, 1),\n $intern_30,\n 0,\n 7,\n [1, 46],\n ),\n initValues(\n getClassLiteralForArray(B_classLit, 1),\n $intern_30,\n 0,\n 7,\n [32, 16],\n ),\n initValues(\n getClassLiteralForArray(B_classLit, 1),\n $intern_30,\n 0,\n 7,\n [28, 25],\n ),\n initValues(\n getClassLiteralForArray(B_classLit, 1),\n $intern_30,\n 0,\n 7,\n [30, 43],\n ),\n initValues(\n getClassLiteralForArray(B_classLit, 1),\n $intern_30,\n 0,\n 7,\n [34, 52],\n ),\n initValues(\n getClassLiteralForArray(B_classLit, 1),\n $intern_30,\n 0,\n 7,\n [23, 12],\n ),\n initValues(\n getClassLiteralForArray(B_classLit, 1),\n $intern_30,\n 0,\n 7,\n [21, 41],\n ),\n initValues(\n getClassLiteralForArray(B_classLit, 1),\n $intern_30,\n 0,\n 7,\n [50, 39],\n ),\n initValues(\n getClassLiteralForArray(B_classLit, 1),\n $intern_30,\n 0,\n 7,\n [48, 14],\n ),\n ],\n );\n Cnk = initDims(I_classLit, [$intern_3, $intern_27], [17, 0], 7, [13, 13], 2);\n move2str = initValues(\n getClassLiteralForArray(Ljava_lang_String_2_classLit, 1),\n $intern_3,\n 2,\n 4,\n [\n \"U \",\n \"U2\",\n \"U'\",\n \"R \",\n \"R2\",\n \"R'\",\n \"F \",\n \"F2\",\n \"F'\",\n \"D \",\n \"D2\",\n \"D'\",\n \"L \",\n \"L2\",\n \"L'\",\n \"B \",\n \"B2\",\n \"B'\",\n ],\n );\n ud2std = initValues(\n getClassLiteralForArray(I_classLit, 1),\n $intern_27,\n 0,\n 7,\n [0, 1, 2, 4, 7, 9, 10, 11, 13, 16, 3, 5, 6, 8, 12, 14, 15, 17],\n );\n std2ud = initDim(I_classLit, $intern_27, 0, 18, 7, 1);\n ckmv2bit = initDim(I_classLit, $intern_27, 0, 11, 7, 1);\n for (i0 = 0; i0 < 18; i0++) {\n std2ud[ud2std[i0]] = i0;\n }\n for (i1 = 0; i1 < 10; i1++) {\n ix = ~~(ud2std[i1] / 3);\n ckmv2bit[i1] = 0;\n for (j = 0; j < 10; j++) {\n jx = ~~(ud2std[j] / 3);\n ckmv2bit[i1] |= (ix == jx || (ix % 3 == jx % 3 && ix >= jx) ? 1 : 0) << j;\n }\n }\n ckmv2bit[10] = 0;\n for (i = 0; i < 13; i++) {\n Cnk[i][0] = Cnk[i][i] = 1;\n for (j = 1; j < i; j++) {\n Cnk[i][j] = Cnk[i - 1][j - 1] + Cnk[i - 1][j];\n }\n }\n}\n\nfunction getComb(arr, mask, isEdge) {\n $clinit_Util();\n var end, i, idxC, perm, r;\n end = arr.length - 1;\n idxC = 0;\n r = 4;\n for (i = end; i >= 0; i--) {\n perm = getVal(arr[i], isEdge);\n (perm & 12) == mask && (idxC += Cnk[i][r--]);\n }\n return idxC;\n}\n\nfunction getNParity(idx, n) {\n $clinit_Util();\n var i, p;\n p = 0;\n for (i = n - 2; i >= 0; i--) {\n p ^= idx % (n - i);\n idx = ~~(idx / (n - i));\n }\n return p & 1;\n}\n\nfunction getNPerm(arr, n, isEdge) {\n $clinit_Util();\n var i, idx, v, val;\n idx = 0;\n val = { l: 1323536, m: 2777561, h: 1043915 };\n for (i = 0; i < n - 1; i++) {\n v = getVal(arr[i], isEdge) << 2;\n idx = (n - i) * idx + toInt(and(shr(val, v), { l: 15, m: 0, h: 0 }));\n val = sub_0(val, shl({ l: 1118480, m: 279620, h: 69905 }, v));\n }\n return idx;\n}\n\nfunction getVal(val0, isEdge) {\n return isEdge ? val0 >> 1 : val0 & 7;\n}\n\nfunction setComb(arr, idxC, mask, isEdge) {\n $clinit_Util();\n var end, fill, i, r;\n end = arr.length - 1;\n r = 4;\n fill = end;\n for (i = end; i >= 0; i--) {\n if (idxC >= Cnk[i][r]) {\n idxC -= Cnk[i][r--];\n arr[i] = setVal(arr[i], r | mask, isEdge);\n } else {\n (fill & 12) == mask && (fill -= 4);\n arr[i] = setVal(arr[i], fill--, isEdge);\n }\n }\n}\n\nfunction setNPerm(arr, idx, n, isEdge) {\n $clinit_Util();\n var extract, i, m, p, v, val;\n val = { l: 1323536, m: 2777561, h: 1043915 };\n extract = { l: 0, m: 0, h: 0 };\n for (p = 2; p <= n; p++) {\n extract = or(shl(extract, 4), fromInt(idx % p));\n idx = ~~(idx / p);\n }\n for (i = 0; i < n - 1; i++) {\n v = (toInt(extract) & 15) << 2;\n extract = shr(extract, 4);\n arr[i] = setVal(\n arr[i],\n toInt(and(shr(val, v), { l: 15, m: 0, h: 0 })),\n isEdge,\n );\n m = sub_0(shl({ l: 1, m: 0, h: 0 }, v), { l: 1, m: 0, h: 0 });\n val = or(\n and(val, m),\n and(shr(val, 4), {\n l: ~m.l & $intern_9,\n m: ~m.m & $intern_9,\n h: ~m.h & $intern_10,\n }),\n );\n }\n arr[n - 1] = setVal(\n arr[n - 1],\n toInt(and(val, { l: 15, m: 0, h: 0 })),\n isEdge,\n );\n}\n\nfunction setVal(val0, val, isEdge) {\n return ((isEdge ? (val << 1) | (val0 & 1) : val | (val0 & -8)) << 24) >> 24;\n}\n\nfunction toCubieCube(f, ccRet) {\n $clinit_Util();\n var col1, col2, i, i0, i1, i2, j, ori;\n for (i0 = 0; i0 < 8; i0++) {\n ccRet.ca[i0] = 0;\n }\n for (i1 = 0; i1 < 12; i1++) {\n ccRet.ea[i1] = 0;\n }\n for (i2 = 0; i2 < 8; i2++) {\n for (ori = 0; ori < 3; ori++) {\n if (f[cornerFacelet[i2][ori]] == 0 || f[cornerFacelet[i2][ori]] == 3)\n break;\n }\n col1 = f[cornerFacelet[i2][(ori + 1) % 3]];\n col2 = f[cornerFacelet[i2][(ori + 2) % 3]];\n for (j = 0; j < 8; j++) {\n if (\n col1 == ~~(cornerFacelet[j][1] / 9) &&\n col2 == ~~(cornerFacelet[j][2] / 9)\n ) {\n ccRet.ca[i2] = narrow_byte((ori % 3 << 3) | j);\n break;\n }\n }\n }\n for (i = 0; i < 12; i++) {\n for (j = 0; j < 12; j++) {\n if (\n f[edgeFacelet[i][0]] == ~~(edgeFacelet[j][0] / 9) &&\n f[edgeFacelet[i][1]] == ~~(edgeFacelet[j][1] / 9)\n ) {\n ccRet.ea[i] = narrow_byte(j << 1);\n break;\n }\n if (\n f[edgeFacelet[i][0]] == ~~(edgeFacelet[j][1] / 9) &&\n f[edgeFacelet[i][1]] == ~~(edgeFacelet[j][0] / 9)\n ) {\n ccRet.ea[i] = narrow_byte((j << 1) | 1);\n break;\n }\n }\n }\n}\n\nvar Cnk, ckmv2bit, cornerFacelet, edgeFacelet, move2str, std2ud, ud2std;\nfunction $appendSolMove(this$static, curMove) {\n var axisCur, axisLast, pow_0;\n if (this$static.length_0 == 0) {\n this$static.moves[this$static.length_0++] = curMove;\n return;\n }\n axisCur = ~~(curMove / 3);\n axisLast = ~~(this$static.moves[this$static.length_0 - 1] / 3);\n if (axisCur == axisLast) {\n pow_0 =\n ((curMove % 3) + (this$static.moves[this$static.length_0 - 1] % 3) + 1) %\n 4;\n pow_0 == 3\n ? --this$static.length_0\n : (this$static.moves[this$static.length_0 - 1] = axisCur * 3 + pow_0);\n return;\n }\n if (\n this$static.length_0 > 1 &&\n axisCur % 3 == axisLast % 3 &&\n axisCur == ~~(this$static.moves[this$static.length_0 - 2] / 3)\n ) {\n pow_0 =\n ((curMove % 3) + (this$static.moves[this$static.length_0 - 2] % 3) + 1) %\n 4;\n if (pow_0 == 3) {\n this$static.moves[this$static.length_0 - 2] =\n this$static.moves[this$static.length_0 - 1];\n --this$static.length_0;\n } else {\n this$static.moves[this$static.length_0 - 2] = axisCur * 3 + pow_0;\n }\n return;\n }\n this$static.moves[this$static.length_0++] = curMove;\n}\n\nfunction $setArgs(this$static, verbose, urfIdx, depth1) {\n this$static.verbose = verbose;\n this$static.urfIdx = urfIdx;\n this$static.depth1 = depth1;\n}\n\nfunction $toString_2(this$static) {\n var s, sb, urf;\n sb = new StringBuffer();\n urf =\n (this$static.verbose & 2) != 0\n ? (this$static.urfIdx + 3) % 6\n : this$static.urfIdx;\n if (urf < 3) {\n for (s = 0; s < this$static.length_0; s++) {\n (this$static.verbose & 1) != 0 &&\n s == this$static.depth1 &&\n ((sb.string += \". \"), sb);\n $append(\n $append_1(\n sb,\n ($clinit_Util(), move2str)[\n ($clinit_CubieCube(), urfMove)[urf][this$static.moves[s]]\n ],\n ),\n );\n }\n } else {\n for (s = this$static.length_0 - 1; s >= 0; s--) {\n $append(\n $append_1(\n sb,\n ($clinit_Util(), move2str)[\n ($clinit_CubieCube(), urfMove)[urf][this$static.moves[s]]\n ],\n ),\n );\n (this$static.verbose & 1) != 0 &&\n s == this$static.depth1 &&\n ((sb.string += \". \"), sb);\n }\n }\n return sb.string;\n}\n\nfunction Util$Solution() {\n this.moves = initDim(I_classLit, $intern_27, 0, 31, 7, 1);\n}\n\ndefineClass(150, 1, {}, Util$Solution);\n_.depth1 = 0;\n_.length_0 = 0;\n_.urfIdx = 0;\n_.verbose = 0;\nvar I_classLit = createForPrimitive(\"int\", \"I\");\ncreateForClass(\"com.google.gwt.lang\", \"CollapsedPropertyHolder\", 252);\n\ncreateForClass(\"com.google.gwt.lang\", \"JavaClassHierarchySetupUtil\", 254);\nconst Lcom_google_gwt_lang_LongLibBase$LongEmul_2_classLit = createForClass(\n \"com.google.gwt.lang\",\n \"LongLibBase/LongEmul\",\n null,\n);\ncreateForClass(\"com.google.gwt.lang\", \"ModuleUtils\", 257);\nvar B_classLit = createForPrimitive(\"byte\", \"B\"),\n J_classLit = createForPrimitive(\"long\", \"J\"),\n C_classLit = createForPrimitive(\"char\", \"C\");\ncreateForClass(\"com.google.gwt.user.client.rpc\", \"XsrfToken\", null),\n createForInterface(\"java.util\", \"Map/Entry\");\n\nexport const initialize = function () {\n init_0(false);\n};\nexport const solveState = function (s) {\n return $solution(new Search(), s);\n};\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/cubing/vendor/cstimer/src/js/lib/mathlib.ts", "../../src/cubing/vendor/cstimer/src/js/scramble/444-solver.ts"],
|
|
4
|
-
"sourcesContent": ["const Cnk: number[][] = [],\n fact = [1];\nfor (let i = 0; i < 32; ++i) {\n Cnk[i] = [];\n for (let j = 0; j < 32; ++j) {\n Cnk[i][j] = 0;\n }\n}\nfor (let i = 0; i < 32; ++i) {\n Cnk[i][0] = Cnk[i][i] = 1;\n fact[i + 1] = fact[i] * (i + 1);\n for (let j = 1; j < i; ++j) {\n Cnk[i][j] = Cnk[i - 1][j - 1] + Cnk[i - 1][j];\n }\n}\n\nfunction circle(arr: number[], ...moreArgs: number[]) {\n const length = moreArgs.length,\n temp = arr[moreArgs[length - 1]];\n for (let i = length; i > 0; i--) {\n arr[moreArgs[i]] = arr[moreArgs[i - 1]];\n }\n arr[moreArgs[0]] = temp;\n return circle;\n}\n\nfunction set8Perm(arr: number[], idx: number, n?: number, even?: number) {\n n = (n || 8) - 1;\n let val = 0x76543210;\n let prt = 0;\n even ??= 0;\n if (even < 0) {\n idx <<= 1;\n }\n for (let i = 0; i < n; ++i) {\n const p = fact[n - i];\n let v = ~~(idx / p);\n prt ^= v;\n idx %= p;\n v <<= 2;\n arr[i] = (val >> v) & 7;\n const m = (1 << v) - 1;\n val = (val & m) + ((val >> 4) & ~m);\n }\n if (even < 0 && (prt & 1) !== 0) {\n arr[n] = arr[n - 1];\n arr[n - 1] = val & 7;\n } else {\n arr[n] = val & 7;\n }\n return arr;\n}\n\nexport { Cnk, set8Perm, circle };\n", "// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-nocheck\n\n/*eslint no-implicit-globals: \"error\"*/\n/* eslint-disable @typescript-eslint/no-unsafe-return */\nimport { Alg } from \"../../../../../alg\";\nimport { random333Scramble as getRandomScramble333 } from \"../../../../../search/inside/solve/puzzles/3x3x3\";\nimport { circle, Cnk, set8Perm } from \"../lib/mathlib\";\nimport { randomUIntBelowFactory } from \"../../../../random-uint-below\";\nimport { mustBeInsideWorker } from \"../../../../../search/inside/inside-worker\";\n\nfunction createArray(length1: number, length2?: number) {\n const result = new Array<number[]>(length1);\n if (length2 !== undefined) {\n for (let i = 0; i < length1; i++) {\n result[i] = new Array(length2);\n }\n }\n return result;\n}\n\nlet _: any;\nconst seedTable: Record<number, any> = {},\n CM$ = {};\nconst Q$Object = 0,\n Q$Serializable = 30,\n Q$Center1 = 21,\n Q$CornerCube = 22,\n Q$Edge3 = 23,\n Q$FullCube_0 = 24,\n Q$FullCube_$1 = 25,\n Q$Comparable = 34,\n Q$Search_0 = 26,\n Q$Object_$1 = 40;\n\nfunction newSeed(id: number) {\n return new seedTable[id]();\n}\n\nfunction defineSeed(\n id: number,\n superSeed: number,\n castableTypeMap: any, // TODO\n ...moreArgs: any[]\n) {\n let seed = seedTable[id];\n if (seed && !seed.___clazz$) {\n _ = seed.prototype;\n } else {\n !seed && (seed = seedTable[id] = function () {});\n _ = seed.prototype = superSeed < 0 ? {} : newSeed(superSeed);\n _.castableTypeMap$ = castableTypeMap;\n }\n for (const arg of moreArgs) {\n arg.prototype = _;\n }\n if (seed.___clazz$) {\n _.___clazz$ = seed.___clazz$;\n seed.___clazz$ = null;\n }\n}\n\nfunction makeCastMap(a: number[]) {\n const result: Record<number, number> = {};\n for (let i_0 = 0, c = a.length; i_0 < c; ++i_0) {\n result[a[i_0]] = 1;\n }\n return result;\n}\n\ndefineSeed(1, -1, CM$);\n\n_.value = null;\n\nfunction Array_0() {}\n\nfunction createFrom(a: any, length_0: number) {\n const result = createFromSeed(0, length_0);\n initValues(a.___clazz$, a.castableTypeMap$, a.queryId$, result);\n return result;\n}\n\nfunction createFromSeed(seedType: number, length_0: number) {\n const array = new Array(length_0);\n if (seedType === 3) {\n for (let i_0 = 0; i_0 < length_0; ++i_0) {\n const value = {\n m: 0,\n l: 0,\n h: 0,\n };\n value.l = value.m = value.h = 0;\n array[i_0] = value;\n }\n } else if (seedType > 0) {\n const value = [null, 0, false][seedType];\n for (let i_0 = 0; i_0 < length_0; ++i_0) {\n array[i_0] = value;\n }\n }\n return array;\n}\n\nfunction initDim(arrayClass, castableTypeMap, queryId, length_0, seedType) {\n const result = createFromSeed(seedType, length_0);\n initValues(arrayClass, castableTypeMap, queryId, result);\n return result;\n}\n\nfunction initValues(arrayClass, castableTypeMap, queryId, array) {\n $clinit_Array$ExpandoWrapper();\n wrapArray(array, expandoNames_0, expandoValues_0);\n array.___clazz$ = arrayClass;\n array.castableTypeMap$ = castableTypeMap;\n array.queryId$ = queryId;\n return array;\n}\n\nfunction setCheck(array, index, value) {\n return (array[index] = value);\n}\n\ndefineSeed(73, 1, {}, Array_0);\n_.queryId$ = 0;\n\nlet ran$clinit_Array$ExpandoWrapper = false;\nfunction $clinit_Array$ExpandoWrapper() {\n if (ran$clinit_Array$ExpandoWrapper) {\n return;\n }\n ran$clinit_Array$ExpandoWrapper = true;\n expandoNames_0 = [];\n expandoValues_0 = [];\n initExpandos(new Array_0(), expandoNames_0, expandoValues_0);\n}\n\nfunction initExpandos(protoType, expandoNames, expandoValues) {\n let i_0 = 0,\n value;\n for (const name_0 in protoType) {\n if ((value = protoType[name_0])) {\n expandoNames[i_0] = name_0;\n expandoValues[i_0] = value;\n ++i_0;\n }\n }\n}\n\nfunction wrapArray(array, expandoNames, expandoValues) {\n $clinit_Array$ExpandoWrapper();\n for (let i_0 = 0, c = expandoNames.length; i_0 < c; ++i_0) {\n array[expandoNames[i_0]] = expandoValues[i_0];\n }\n}\n\nlet expandoNames_0, expandoValues_0;\n\nfunction canCast(src, dstId) {\n return src.castableTypeMap$ && !!src.castableTypeMap$[dstId];\n}\n\nfunction instanceOf(src, dstId) {\n return src !== null && canCast(src, dstId);\n}\n\nlet ran$clinit_Center1 = false;\nfunction $clinit_Center1() {\n if (ran$clinit_Center1) {\n return false;\n }\n ran$clinit_Center1 = true;\n ctsmv = createArray(15582, 36);\n sym2raw = createArray(15582);\n csprun = createArray(15582);\n symmult = createArray(48, 48);\n symmove = createArray(48, 36);\n syminv = createArray(48);\n finish_0 = createArray(48);\n}\n\nfunction $$init_1(this$static) {\n this$static.ct = createArray(24);\n}\n\nfunction $equals(this$static, obj) {\n let c, i_0;\n if (instanceOf(obj, Q$Center1)) {\n c = obj;\n for (i_0 = 0; i_0 < 24; ++i_0) {\n if (this$static.ct[i_0] !== c.ct[i_0]) {\n return false;\n }\n }\n return true;\n }\n return false;\n}\n\nfunction $get_1(this$static) {\n let i_0, idx, r;\n idx = 0;\n r = 8;\n for (i_0 = 23; i_0 >= 0; --i_0) {\n this$static.ct[i_0] === 1 && (idx += Cnk[i_0][r--]);\n }\n return idx;\n}\n\nfunction $getsym(this$static) {\n let cord, j;\n if (raw2sym !== null) {\n return raw2sym[$get_1(this$static)];\n }\n for (j = 0; j < 48; ++j) {\n cord = raw2sym_0($get_1(this$static));\n if (cord !== -1) {\n return cord * 64 + j;\n }\n $rot(this$static, 0);\n j % 2 === 1 && $rot(this$static, 1);\n j % 8 === 7 && $rot(this$static, 2);\n j % 16 === 15 && $rot(this$static, 3);\n }\n}\n\nfunction $move(this$static, m_0) {\n const key = m_0 % 3;\n m_0 = ~~(m_0 / 3);\n switch (m_0) {\n case 0:\n swap(this$static.ct, 0, 1, 2, 3, key);\n break;\n case 1:\n swap(this$static.ct, 16, 17, 18, 19, key);\n break;\n case 2:\n swap(this$static.ct, 8, 9, 10, 11, key);\n break;\n case 3:\n swap(this$static.ct, 4, 5, 6, 7, key);\n break;\n case 4:\n swap(this$static.ct, 20, 21, 22, 23, key);\n break;\n case 5:\n swap(this$static.ct, 12, 13, 14, 15, key);\n break;\n case 6:\n swap(this$static.ct, 0, 1, 2, 3, key);\n swap(this$static.ct, 8, 20, 12, 16, key);\n swap(this$static.ct, 9, 21, 13, 17, key);\n break;\n case 7:\n swap(this$static.ct, 16, 17, 18, 19, key);\n swap(this$static.ct, 1, 15, 5, 9, key);\n swap(this$static.ct, 2, 12, 6, 10, key);\n break;\n case 8:\n swap(this$static.ct, 8, 9, 10, 11, key);\n swap(this$static.ct, 2, 19, 4, 21, key);\n swap(this$static.ct, 3, 16, 5, 22, key);\n break;\n case 9:\n swap(this$static.ct, 4, 5, 6, 7, key);\n swap(this$static.ct, 10, 18, 14, 22, key);\n swap(this$static.ct, 11, 19, 15, 23, key);\n break;\n case 10:\n swap(this$static.ct, 20, 21, 22, 23, key);\n swap(this$static.ct, 0, 8, 4, 14, key);\n swap(this$static.ct, 3, 11, 7, 13, key);\n break;\n case 11:\n swap(this$static.ct, 12, 13, 14, 15, key);\n swap(this$static.ct, 1, 20, 7, 18, key);\n swap(this$static.ct, 0, 23, 6, 17, key);\n }\n}\n\nfunction $rot(this$static, r) {\n switch (r) {\n case 0:\n $move(this$static, 19);\n $move(this$static, 28);\n break;\n case 1:\n $move(this$static, 21);\n $move(this$static, 32);\n break;\n case 2:\n swap(this$static.ct, 0, 3, 1, 2, 1);\n swap(this$static.ct, 8, 11, 9, 10, 1);\n swap(this$static.ct, 4, 7, 5, 6, 1);\n swap(this$static.ct, 12, 15, 13, 14, 1);\n swap(this$static.ct, 16, 19, 21, 22, 1);\n swap(this$static.ct, 17, 18, 20, 23, 1);\n break;\n case 3:\n $move(this$static, 18);\n $move(this$static, 29);\n $move(this$static, 24);\n $move(this$static, 35);\n }\n}\n\nfunction $rotate(this$static, r) {\n let j;\n for (j = 0; j < r; ++j) {\n $rot(this$static, 0);\n j % 2 === 1 && $rot(this$static, 1);\n j % 8 === 7 && $rot(this$static, 2);\n j % 16 === 15 && $rot(this$static, 3);\n }\n}\n\nfunction $set_0(this$static, idx) {\n let i_0, r;\n r = 8;\n for (i_0 = 23; i_0 >= 0; --i_0) {\n this$static.ct[i_0] = 0;\n if (idx >= Cnk[i_0][r]) {\n idx -= Cnk[i_0][r--];\n this$static.ct[i_0] = 1;\n }\n }\n}\n\nfunction $set_1(this$static, c) {\n let i_0;\n for (i_0 = 0; i_0 < 24; ++i_0) {\n this$static.ct[i_0] = c.ct[i_0];\n }\n}\n\nfunction Center1_0() {\n let i_0;\n $$init_1(this);\n for (i_0 = 0; i_0 < 8; ++i_0) {\n this.ct[i_0] = 1;\n }\n for (i_0 = 8; i_0 < 24; ++i_0) {\n this.ct[i_0] = 0;\n }\n}\n\nfunction Center1_1(c, urf) {\n let i_0;\n $$init_1(this);\n for (i_0 = 0; i_0 < 24; ++i_0) {\n this.ct[i_0] = ~~(c.ct[i_0] / 2) === urf ? 1 : 0;\n }\n}\n\nfunction Center1_2(ct) {\n let i_0;\n $$init_1(this);\n for (i_0 = 0; i_0 < 24; ++i_0) {\n this.ct[i_0] = ct[i_0];\n }\n}\n\nfunction createMoveTable() {\n let i_0, m_0;\n const c = new Center1_0();\n const d = new Center1_0();\n for (i_0 = 0; i_0 < 15582; ++i_0) {\n $set_0(d, sym2raw[i_0]);\n for (m_0 = 0; m_0 < 36; ++m_0) {\n $set_1(c, d);\n $move(c, m_0);\n ctsmv[i_0][m_0] = $getsym(c);\n }\n }\n}\n\nfunction createPrun() {\n let check, depth, done, i_0, idx, inv, m_0, select;\n fill_0(csprun);\n csprun[0] = 0;\n depth = 0;\n done = 1;\n while (done !== 15582) {\n inv = depth > 4;\n select = inv ? -1 : depth;\n check = inv ? depth : -1;\n ++depth;\n for (i_0 = 0; i_0 < 15582; ++i_0) {\n if (csprun[i_0] !== select) {\n continue;\n }\n for (m_0 = 0; m_0 < 27; ++m_0) {\n idx = ~~ctsmv[i_0][m_0] >>> 6;\n if (csprun[idx] !== check) {\n continue;\n }\n ++done;\n if (inv) {\n csprun[i_0] = depth;\n break;\n } else {\n csprun[idx] = depth;\n }\n }\n }\n }\n}\n\nfunction getSolvedSym(cube) {\n let check, i_0, j;\n const c = new Center1_2(cube.ct);\n for (j = 0; j < 48; ++j) {\n check = true;\n for (i_0 = 0; i_0 < 24; ++i_0) {\n if (c.ct[i_0] !== ~~(i_0 / 4)) {\n check = false;\n break;\n }\n }\n if (check) {\n return j;\n }\n $rot(c, 0);\n j % 2 === 1 && $rot(c, 1);\n j % 8 === 7 && $rot(c, 2);\n j % 16 === 15 && $rot(c, 3);\n }\n return -1;\n}\n\nfunction initSym_0() {\n let i_0, j, k_0;\n const c = new Center1_0();\n for (i_0 = 0; i_0 < 24; ++i_0) {\n c.ct[i_0] = i_0;\n }\n const d = new Center1_2(c.ct);\n const e = new Center1_2(c.ct);\n const f = new Center1_2(c.ct);\n for (i_0 = 0; i_0 < 48; ++i_0) {\n for (j = 0; j < 48; ++j) {\n for (k_0 = 0; k_0 < 48; ++k_0) {\n if ($equals(c, d)) {\n symmult[i_0][j] = k_0;\n k_0 === 0 && (syminv[i_0] = j);\n }\n $rot(d, 0);\n k_0 % 2 === 1 && $rot(d, 1);\n k_0 % 8 === 7 && $rot(d, 2);\n k_0 % 16 === 15 && $rot(d, 3);\n }\n $rot(c, 0);\n j % 2 === 1 && $rot(c, 1);\n j % 8 === 7 && $rot(c, 2);\n j % 16 === 15 && $rot(c, 3);\n }\n $rot(c, 0);\n i_0 % 2 === 1 && $rot(c, 1);\n i_0 % 8 === 7 && $rot(c, 2);\n i_0 % 16 === 15 && $rot(c, 3);\n }\n for (i_0 = 0; i_0 < 48; ++i_0) {\n $set_1(c, e);\n $rotate(c, syminv[i_0]);\n for (j = 0; j < 36; ++j) {\n $set_1(d, c);\n $move(d, j);\n $rotate(d, i_0);\n for (k_0 = 0; k_0 < 36; ++k_0) {\n $set_1(f, e);\n $move(f, k_0);\n if ($equals(f, d)) {\n symmove[i_0][j] = k_0;\n break;\n }\n }\n }\n }\n $set_0(c, 0);\n for (i_0 = 0; i_0 < 48; ++i_0) {\n finish_0[syminv[i_0]] = $get_1(c);\n $rot(c, 0);\n i_0 % 2 === 1 && $rot(c, 1);\n i_0 % 8 === 7 && $rot(c, 2);\n i_0 % 16 === 15 && $rot(c, 3);\n }\n}\n\nfunction initSym2Raw() {\n let count, i_0, idx, j;\n const c = new Center1_0();\n const occ = createArray(22984);\n for (i_0 = 0; i_0 < 22984; i_0++) {\n occ[i_0] = 0;\n }\n count = 0;\n for (i_0 = 0; i_0 < 735471; ++i_0) {\n if ((occ[~~i_0 >>> 5] & (1 << (i_0 & 31))) === 0) {\n $set_0(c, i_0);\n for (j = 0; j < 48; ++j) {\n idx = $get_1(c);\n occ[~~idx >>> 5] |= 1 << (idx & 31);\n raw2sym !== null && (raw2sym[idx] = (count << 6) | syminv[j]);\n $rot(c, 0);\n j % 2 === 1 && $rot(c, 1);\n j % 8 === 7 && $rot(c, 2);\n j % 16 === 15 && $rot(c, 3);\n }\n sym2raw[count++] = i_0;\n }\n }\n}\n\nfunction raw2sym_0(n) {\n const m_0 = binarySearch_0(sym2raw, n);\n return m_0 >= 0 ? m_0 : -1;\n}\n\ndefineSeed(153, 1, makeCastMap([Q$Center1]), Center1_0, Center1_1, Center1_2);\n\nlet csprun,\n ctsmv,\n finish_0,\n raw2sym = null,\n sym2raw,\n syminv,\n symmove,\n symmult;\n\nlet ran$clinit_Center2 = false;\nfunction $clinit_Center2() {\n if (ran$clinit_Center2) {\n return;\n }\n ran$clinit_Center2 = true;\n rlmv = createArray(70, 28);\n ctmv = createArray(6435, 28);\n rlrot = createArray(70, 16);\n ctrot = createArray(6435, 16);\n ctprun = createArray(450450);\n pmv = [\n 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,\n 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0,\n ];\n}\n\nfunction $getct(this$static) {\n let i_0, idx, r;\n idx = 0;\n r = 8;\n for (i_0 = 14; i_0 >= 0; --i_0) {\n this$static.ct[i_0] !== this$static.ct[15] && (idx += Cnk[i_0][r--]);\n }\n return idx;\n}\n\nfunction $getrl(this$static) {\n let i_0, idx, r;\n idx = 0;\n r = 4;\n for (i_0 = 6; i_0 >= 0; --i_0) {\n this$static.rl[i_0] !== this$static.rl[7] && (idx += Cnk[i_0][r--]);\n }\n return idx * 2 + this$static.parity;\n}\n\nfunction $move_0(this$static, m_0) {\n this$static.parity ^= pmv[m_0];\n const key = m_0 % 3;\n m_0 = ~~(m_0 / 3);\n switch (m_0) {\n case 0:\n swap(this$static.ct, 0, 1, 2, 3, key);\n break;\n case 1:\n swap(this$static.rl, 0, 1, 2, 3, key);\n break;\n case 2:\n swap(this$static.ct, 8, 9, 10, 11, key);\n break;\n case 3:\n swap(this$static.ct, 4, 5, 6, 7, key);\n break;\n case 4:\n swap(this$static.rl, 4, 5, 6, 7, key);\n break;\n case 5:\n swap(this$static.ct, 12, 13, 14, 15, key);\n break;\n case 6:\n swap(this$static.ct, 0, 1, 2, 3, key);\n swap(this$static.rl, 0, 5, 4, 1, key);\n swap(this$static.ct, 8, 9, 12, 13, key);\n break;\n case 7:\n swap(this$static.rl, 0, 1, 2, 3, key);\n swap(this$static.ct, 1, 15, 5, 9, key);\n swap(this$static.ct, 2, 12, 6, 10, key);\n break;\n case 8:\n swap(this$static.ct, 8, 9, 10, 11, key);\n swap(this$static.rl, 0, 3, 6, 5, key);\n swap(this$static.ct, 3, 2, 5, 4, key);\n break;\n case 9:\n swap(this$static.ct, 4, 5, 6, 7, key);\n swap(this$static.rl, 3, 2, 7, 6, key);\n swap(this$static.ct, 11, 10, 15, 14, key);\n break;\n case 10:\n swap(this$static.rl, 4, 5, 6, 7, key);\n swap(this$static.ct, 0, 8, 4, 14, key);\n swap(this$static.ct, 3, 11, 7, 13, key);\n break;\n case 11:\n swap(this$static.ct, 12, 13, 14, 15, key);\n swap(this$static.rl, 1, 4, 7, 2, key);\n swap(this$static.ct, 1, 0, 7, 6, key);\n }\n}\n\nfunction $rot_0(this$static, r) {\n switch (r) {\n case 0:\n $move_0(this$static, 19);\n $move_0(this$static, 28);\n break;\n case 1:\n $move_0(this$static, 21);\n $move_0(this$static, 32);\n break;\n case 2:\n swap(this$static.ct, 0, 3, 1, 2, 1);\n swap(this$static.ct, 8, 11, 9, 10, 1);\n swap(this$static.ct, 4, 7, 5, 6, 1);\n swap(this$static.ct, 12, 15, 13, 14, 1);\n swap(this$static.rl, 0, 3, 5, 6, 1);\n swap(this$static.rl, 1, 2, 4, 7, 1);\n }\n}\n\nfunction $set_2(this$static, c, edgeParity) {\n let i_0;\n for (i_0 = 0; i_0 < 16; ++i_0) {\n this$static.ct[i_0] = ~~(c.ct[i_0] / 2);\n }\n for (i_0 = 0; i_0 < 8; ++i_0) {\n this$static.rl[i_0] = c.ct[i_0 + 16];\n }\n this$static.parity = edgeParity;\n}\n\nfunction $setct(this$static, idx) {\n let i_0, r;\n r = 8;\n this$static.ct[15] = 0;\n for (i_0 = 14; i_0 >= 0; --i_0) {\n if (idx >= Cnk[i_0][r]) {\n idx -= Cnk[i_0][r--];\n this$static.ct[i_0] = 1;\n } else {\n this$static.ct[i_0] = 0;\n }\n }\n}\n\nfunction $setrl(this$static, idx) {\n let i_0, r;\n this$static.parity = idx & 1;\n idx >>>= 1;\n r = 4;\n this$static.rl[7] = 0;\n for (i_0 = 6; i_0 >= 0; --i_0) {\n if (idx >= Cnk[i_0][r]) {\n idx -= Cnk[i_0][r--];\n this$static.rl[i_0] = 1;\n } else {\n this$static.rl[i_0] = 0;\n }\n }\n}\n\nfunction Center2_0() {\n this.rl = createArray(8);\n this.ct = createArray(16);\n}\n\nfunction init_3() {\n let ct, ctx, depth, done, i_0, idx, j, m_0, rl, rlx;\n const c = new Center2_0();\n for (i_0 = 0; i_0 < 70; ++i_0) {\n for (m_0 = 0; m_0 < 28; ++m_0) {\n $setrl(c, i_0);\n $move_0(c, move2std[m_0]);\n rlmv[i_0][m_0] = $getrl(c);\n }\n }\n for (i_0 = 0; i_0 < 70; ++i_0) {\n $setrl(c, i_0);\n for (j = 0; j < 16; ++j) {\n rlrot[i_0][j] = $getrl(c);\n $rot_0(c, 0);\n j % 2 === 1 && $rot_0(c, 1);\n j % 8 === 7 && $rot_0(c, 2);\n }\n }\n for (i_0 = 0; i_0 < 6435; ++i_0) {\n $setct(c, i_0);\n for (j = 0; j < 16; ++j) {\n ctrot[i_0][j] = $getct(c) & 65535;\n $rot_0(c, 0);\n j % 2 === 1 && $rot_0(c, 1);\n j % 8 === 7 && $rot_0(c, 2);\n }\n }\n for (i_0 = 0; i_0 < 6435; ++i_0) {\n for (m_0 = 0; m_0 < 28; ++m_0) {\n $setct(c, i_0);\n $move_0(c, move2std[m_0]);\n ctmv[i_0][m_0] = $getct(c) & 65535;\n }\n }\n fill_0(ctprun);\n ctprun[0] =\n ctprun[18] =\n ctprun[28] =\n ctprun[46] =\n ctprun[54] =\n ctprun[56] =\n 0;\n depth = 0;\n done = 6;\n\n while (done !== 450450) {\n const inv = depth > 6;\n const select = inv ? -1 : depth;\n const check = inv ? depth : -1;\n ++depth;\n for (i_0 = 0; i_0 < 450450; ++i_0) {\n if (ctprun[i_0] !== select) {\n continue;\n }\n ct = ~~(i_0 / 70);\n rl = i_0 % 70;\n for (m_0 = 0; m_0 < 23; ++m_0) {\n ctx = ctmv[ct][m_0];\n rlx = rlmv[rl][m_0];\n idx = ctx * 70 + rlx;\n if (ctprun[idx] !== check) {\n continue;\n }\n ++done;\n if (inv) {\n ctprun[i_0] = depth;\n break;\n } else {\n ctprun[idx] = depth;\n }\n }\n }\n }\n}\n\ndefineSeed(154, 1, {}, Center2_0);\n_.parity = 0;\nlet ctmv, ctprun, ctrot, pmv, rlmv, rlrot;\n\nlet ran$clinit_Center3 = false;\nfunction $clinit_Center3() {\n if (ran$clinit_Center3) {\n return;\n }\n ran$clinit_Center3 = true;\n ctmove = createArray(29400, 20);\n pmove = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1];\n prun_0 = createArray(29400);\n rl2std = [0, 9, 14, 23, 27, 28, 41, 42, 46, 55, 60, 69];\n std2rl = createArray(70);\n}\n\nfunction $getct_0(this$static) {\n let i_0, idx, idxrl, r;\n idx = 0;\n r = 4;\n for (i_0 = 6; i_0 >= 0; --i_0) {\n this$static.ud[i_0] !== this$static.ud[7] && (idx += Cnk[i_0][r--]);\n }\n idx *= 35;\n r = 4;\n for (i_0 = 6; i_0 >= 0; --i_0) {\n this$static.fb[i_0] !== this$static.fb[7] && (idx += Cnk[i_0][r--]);\n }\n idx *= 12;\n const check = this$static.fb[7] ^ this$static.ud[7];\n idxrl = 0;\n r = 4;\n for (i_0 = 7; i_0 >= 0; --i_0) {\n this$static.rl[i_0] !== check && (idxrl += Cnk[i_0][r--]);\n }\n return this$static.parity + 2 * (idx + std2rl[idxrl]);\n}\n\nfunction $move_1(this$static, i_0) {\n this$static.parity ^= pmove[i_0];\n switch (i_0) {\n case 0:\n case 1:\n case 2:\n swap(this$static.ud, 0, 1, 2, 3, i_0 % 3);\n break;\n case 3:\n swap(this$static.rl, 0, 1, 2, 3, 1);\n break;\n case 4:\n case 5:\n case 6:\n swap(this$static.fb, 0, 1, 2, 3, (i_0 - 1) % 3);\n break;\n case 7:\n case 8:\n case 9:\n swap(this$static.ud, 4, 5, 6, 7, (i_0 - 1) % 3);\n break;\n case 10:\n swap(this$static.rl, 4, 5, 6, 7, 1);\n break;\n case 11:\n case 12:\n case 13:\n swap(this$static.fb, 4, 5, 6, 7, (i_0 + 1) % 3);\n break;\n case 14:\n swap(this$static.ud, 0, 1, 2, 3, 1);\n swap(this$static.rl, 0, 5, 4, 1, 1);\n swap(this$static.fb, 0, 5, 4, 1, 1);\n break;\n case 15:\n swap(this$static.rl, 0, 1, 2, 3, 1);\n swap(this$static.fb, 1, 4, 7, 2, 1);\n swap(this$static.ud, 1, 6, 5, 2, 1);\n break;\n case 16:\n swap(this$static.fb, 0, 1, 2, 3, 1);\n swap(this$static.ud, 3, 2, 5, 4, 1);\n swap(this$static.rl, 0, 3, 6, 5, 1);\n break;\n case 17:\n swap(this$static.ud, 4, 5, 6, 7, 1);\n swap(this$static.rl, 3, 2, 7, 6, 1);\n swap(this$static.fb, 3, 2, 7, 6, 1);\n break;\n case 18:\n swap(this$static.rl, 4, 5, 6, 7, 1);\n swap(this$static.fb, 0, 3, 6, 5, 1);\n swap(this$static.ud, 0, 3, 4, 7, 1);\n break;\n case 19:\n swap(this$static.fb, 4, 5, 6, 7, 1);\n swap(this$static.ud, 0, 7, 6, 1, 1);\n swap(this$static.rl, 1, 4, 7, 2, 1);\n }\n}\n\nfunction $set_3(this$static, c, eXc_parity) {\n let i_0;\n const parity =\n (c.ct[0] > c.ct[8] ? 1 : 0) ^\n (c.ct[8] > c.ct[16] ? 1 : 0) ^\n (c.ct[0] > c.ct[16] ? 1 : 0)\n ? 1\n : 0;\n for (i_0 = 0; i_0 < 8; ++i_0) {\n this$static.ud[i_0] = (c.ct[i_0] & 1) ^ 1;\n this$static.fb[i_0] = (c.ct[i_0 + 8] & 1) ^ 1;\n this$static.rl[i_0] = (c.ct[i_0 + 16] & 1) ^ 1 ^ parity;\n }\n this$static.parity = parity ^ eXc_parity;\n}\n\nfunction $setct_0(this$static, idx) {\n let i_0, idxfb, idxrl, r;\n this$static.parity = idx & 1;\n idx >>>= 1;\n idxrl = rl2std[idx % 12];\n idx = ~~(idx / 12);\n r = 4;\n for (i_0 = 7; i_0 >= 0; --i_0) {\n this$static.rl[i_0] = 0;\n if (idxrl >= Cnk[i_0][r]) {\n idxrl -= Cnk[i_0][r--];\n this$static.rl[i_0] = 1;\n }\n }\n idxfb = idx % 35;\n idx = ~~(idx / 35);\n r = 4;\n this$static.fb[7] = 0;\n for (i_0 = 6; i_0 >= 0; --i_0) {\n if (idxfb >= Cnk[i_0][r]) {\n idxfb -= Cnk[i_0][r--];\n this$static.fb[i_0] = 1;\n } else {\n this$static.fb[i_0] = 0;\n }\n }\n r = 4;\n this$static.ud[7] = 0;\n for (i_0 = 6; i_0 >= 0; --i_0) {\n if (idx >= Cnk[i_0][r]) {\n idx -= Cnk[i_0][r--];\n this$static.ud[i_0] = 1;\n } else {\n this$static.ud[i_0] = 0;\n }\n }\n}\n\nfunction Center3_0() {\n this.ud = createArray(8);\n this.rl = createArray(8);\n this.fb = createArray(8);\n}\n\nfunction init_4() {\n let depth, done, i_0, m_0;\n for (i_0 = 0; i_0 < 12; ++i_0) {\n std2rl[rl2std[i_0]] = i_0;\n }\n const c = new Center3_0();\n for (i_0 = 0; i_0 < 29400; ++i_0) {\n for (m_0 = 0; m_0 < 20; ++m_0) {\n $setct_0(c, i_0);\n $move_1(c, m_0);\n ctmove[i_0][m_0] = $getct_0(c) & 65535;\n }\n }\n fill_0(prun_0);\n prun_0[0] = 0;\n depth = 0;\n done = 1;\n while (done !== 29400) {\n for (i_0 = 0; i_0 < 29400; ++i_0) {\n if (prun_0[i_0] !== depth) {\n continue;\n }\n for (m_0 = 0; m_0 < 17; ++m_0) {\n if (prun_0[ctmove[i_0][m_0]] === -1) {\n prun_0[ctmove[i_0][m_0]] = depth + 1;\n ++done;\n }\n }\n }\n ++depth;\n }\n}\n\ndefineSeed(155, 1, {}, Center3_0);\n_.parity = 0;\nlet ctmove, pmove, prun_0, rl2std, std2rl;\n\nfunction $copy_1(this$static, c) {\n let i_0;\n for (i_0 = 0; i_0 < 24; ++i_0) {\n this$static.ct[i_0] = c.ct[i_0];\n }\n}\n\nfunction $move_2(this$static, m_0) {\n const key = m_0 % 3;\n m_0 = ~~(m_0 / 3);\n switch (m_0) {\n case 0:\n swap(this$static.ct, 0, 1, 2, 3, key);\n break;\n case 1:\n swap(this$static.ct, 16, 17, 18, 19, key);\n break;\n case 2:\n swap(this$static.ct, 8, 9, 10, 11, key);\n break;\n case 3:\n swap(this$static.ct, 4, 5, 6, 7, key);\n break;\n case 4:\n swap(this$static.ct, 20, 21, 22, 23, key);\n break;\n case 5:\n swap(this$static.ct, 12, 13, 14, 15, key);\n break;\n case 6:\n swap(this$static.ct, 0, 1, 2, 3, key);\n swap(this$static.ct, 8, 20, 12, 16, key);\n swap(this$static.ct, 9, 21, 13, 17, key);\n break;\n case 7:\n swap(this$static.ct, 16, 17, 18, 19, key);\n swap(this$static.ct, 1, 15, 5, 9, key);\n swap(this$static.ct, 2, 12, 6, 10, key);\n break;\n case 8:\n swap(this$static.ct, 8, 9, 10, 11, key);\n swap(this$static.ct, 2, 19, 4, 21, key);\n swap(this$static.ct, 3, 16, 5, 22, key);\n break;\n case 9:\n swap(this$static.ct, 4, 5, 6, 7, key);\n swap(this$static.ct, 10, 18, 14, 22, key);\n swap(this$static.ct, 11, 19, 15, 23, key);\n break;\n case 10:\n swap(this$static.ct, 20, 21, 22, 23, key);\n swap(this$static.ct, 0, 8, 4, 14, key);\n swap(this$static.ct, 3, 11, 7, 13, key);\n break;\n case 11:\n swap(this$static.ct, 12, 13, 14, 15, key);\n swap(this$static.ct, 1, 20, 7, 18, key);\n swap(this$static.ct, 0, 23, 6, 17, key);\n }\n}\n\nfunction CenterCube_0() {\n let i_0;\n this.ct = createArray(24);\n for (i_0 = 0; i_0 < 24; ++i_0) {\n this.ct[i_0] = ~~(i_0 / 4);\n }\n}\n\nfunction CenterCube_1(randomUIntBelow) {\n let i_0, m_0, t;\n CenterCube_0.call(this);\n for (i_0 = 0; i_0 < 23; ++i_0) {\n t = i_0 + randomUIntBelow(24 - i_0);\n if (this.ct[t] !== this.ct[i_0]) {\n m_0 = this.ct[i_0];\n this.ct[i_0] = this.ct[t];\n this.ct[t] = m_0;\n }\n }\n}\n\ndefineSeed(156, 1, {}, CenterCube_0, CenterCube_1);\n\nlet ran$clinit_CornerCube = false;\nfunction $clinit_CornerCube() {\n if (ran$clinit_CornerCube) {\n return;\n }\n ran$clinit_CornerCube = true;\n moveCube_0 = createArray(18);\n initMove_0();\n}\n\nfunction $$init_2(this$static) {\n this$static.cp = [0, 1, 2, 3, 4, 5, 6, 7];\n this$static.co = [0, 0, 0, 0, 0, 0, 0, 0];\n}\n\nfunction $copy_2(this$static, c) {\n let i_0;\n for (i_0 = 0; i_0 < 8; ++i_0) {\n this$static.cp[i_0] = c.cp[i_0];\n this$static.co[i_0] = c.co[i_0];\n }\n}\n\nfunction $move_3(this$static, idx) {\n !this$static.temps && (this$static.temps = new CornerCube_0());\n CornMult_0(this$static, moveCube_0[idx], this$static.temps);\n $copy_2(this$static, this$static.temps);\n}\n\nfunction $setTwist_0(this$static, idx) {\n let i_0, twst;\n twst = 0;\n for (i_0 = 6; i_0 >= 0; --i_0) {\n twst += this$static.co[i_0] = idx % 3;\n idx = ~~(idx / 3);\n }\n this$static.co[7] = (15 - twst) % 3;\n}\n\nfunction CornMult_0(a, b, prod) {\n let corn, ori, oriA, oriB;\n for (corn = 0; corn < 8; ++corn) {\n prod.cp[corn] = a.cp[b.cp[corn]];\n oriA = a.co[b.cp[corn]];\n oriB = b.co[corn];\n ori = oriA;\n ori = ori + (oriA < 3 ? oriB : 6 - oriB);\n ori = ori % 3;\n (oriA >= 3 ? 1 : 0) ^ (oriB >= 3 ? 1 : 0) && (ori = ori + 3);\n prod.co[corn] = ori;\n }\n}\n\nfunction CornerCube_0() {\n $$init_2(this);\n}\n\nfunction CornerCube_1(cperm, twist) {\n $$init_2(this);\n set8Perm(this.cp, cperm);\n $setTwist_0(this, twist);\n}\n\nfunction CornerCube_2(randomUIntBelow) {\n CornerCube_1.call(this, randomUIntBelow(40320), randomUIntBelow(2187));\n}\n\nfunction initMove_0() {\n let a, p_0;\n moveCube_0[0] = new CornerCube_1(15120, 0);\n moveCube_0[3] = new CornerCube_1(21021, 1494);\n moveCube_0[6] = new CornerCube_1(8064, 1236);\n moveCube_0[9] = new CornerCube_1(9, 0);\n moveCube_0[12] = new CornerCube_1(1230, 412);\n moveCube_0[15] = new CornerCube_1(224, 137);\n for (a = 0; a < 18; a += 3) {\n for (p_0 = 0; p_0 < 2; ++p_0) {\n moveCube_0[a + p_0 + 1] = new CornerCube_0();\n CornMult_0(moveCube_0[a + p_0], moveCube_0[a], moveCube_0[a + p_0 + 1]);\n }\n }\n}\n\ndefineSeed(\n 157,\n 1,\n makeCastMap([Q$CornerCube]),\n CornerCube_0,\n CornerCube_1,\n CornerCube_2,\n);\n_.temps = null;\nlet moveCube_0;\n\nlet ran$clinit_Edge3 = false;\nfunction $clinit_Edge3() {\n if (ran$clinit_Edge3) {\n return;\n }\n ran$clinit_Edge3 = true;\n eprun = createArray(1937880);\n sym2raw_0 = createArray(1538);\n symstate = createArray(1538);\n raw2sym_1 = createArray(11880);\n syminv_0 = [0, 1, 6, 3, 4, 5, 2, 7];\n mvrot = createArray(160, 12);\n mvroto = createArray(160, 12);\n factX = [\n 1, 1, 1, 3, 12, 60, 360, 2520, 20160, 181440, 1814400, 19958400, 239500800,\n ];\n FullEdgeMap = [0, 2, 4, 6, 1, 3, 7, 5, 8, 9, 10, 11];\n}\n\nfunction $circlex(this$static, a, b, c, d) {\n const temp = this$static.edgeo[d];\n this$static.edgeo[d] = this$static.edge[c];\n this$static.edge[c] = this$static.edgeo[b];\n this$static.edgeo[b] = this$static.edge[a];\n this$static.edge[a] = temp;\n}\n\nfunction $get_2(this$static, end) {\n let i_0, idx, v, valh, vall;\n this$static.isStd || $std(this$static);\n idx = 0;\n vall = 1985229328;\n valh = 47768;\n for (i_0 = 0; i_0 < end; ++i_0) {\n v = this$static.edge[i_0] << 2;\n idx *= 12 - i_0;\n if (v >= 32) {\n idx += (valh >> (v - 32)) & 15;\n valh -= 4368 << (v - 32);\n } else {\n idx += (vall >> v) & 15;\n valh -= 4369;\n vall -= 286331152 << v;\n }\n }\n return idx;\n}\n\nfunction $getsym_0(this$static) {\n let symcord1x;\n const cord1x = $get_2(this$static, 4);\n symcord1x = raw2sym_1[cord1x];\n const symx = symcord1x & 7;\n symcord1x >>= 3;\n $rotate_0(this$static, symx);\n const cord2x = $get_2(this$static, 10) % 20160;\n return symcord1x * 20160 + cord2x;\n}\n\nfunction $move_4(this$static, i_0) {\n this$static.isStd = false;\n switch (i_0) {\n case 0:\n circle(this$static.edge, 0, 4, 1, 5);\n circle(this$static.edgeo, 0, 4, 1, 5);\n break;\n case 1:\n $swap_0(this$static.edge, 0, 4, 1, 5);\n $swap_0(this$static.edgeo, 0, 4, 1, 5);\n break;\n case 2:\n circle(this$static.edge, 0, 5, 1, 4);\n circle(this$static.edgeo, 0, 5, 1, 4);\n break;\n case 3:\n $swap_0(this$static.edge, 5, 10, 6, 11);\n $swap_0(this$static.edgeo, 5, 10, 6, 11);\n break;\n case 4:\n circle(this$static.edge, 0, 11, 3, 8);\n circle(this$static.edgeo, 0, 11, 3, 8);\n break;\n case 5:\n $swap_0(this$static.edge, 0, 11, 3, 8);\n $swap_0(this$static.edgeo, 0, 11, 3, 8);\n break;\n case 6:\n circle(this$static.edge, 0, 8, 3, 11);\n circle(this$static.edgeo, 0, 8, 3, 11);\n break;\n case 7:\n circle(this$static.edge, 2, 7, 3, 6);\n circle(this$static.edgeo, 2, 7, 3, 6);\n break;\n case 8:\n $swap_0(this$static.edge, 2, 7, 3, 6);\n $swap_0(this$static.edgeo, 2, 7, 3, 6);\n break;\n case 9:\n circle(this$static.edge, 2, 6, 3, 7);\n circle(this$static.edgeo, 2, 6, 3, 7);\n break;\n case 10:\n $swap_0(this$static.edge, 4, 8, 7, 9);\n $swap_0(this$static.edgeo, 4, 8, 7, 9);\n break;\n case 11:\n circle(this$static.edge, 1, 9, 2, 10);\n circle(this$static.edgeo, 1, 9, 2, 10);\n break;\n case 12:\n $swap_0(this$static.edge, 1, 9, 2, 10);\n $swap_0(this$static.edgeo, 1, 9, 2, 10);\n break;\n case 13:\n circle(this$static.edge, 1, 10, 2, 9);\n circle(this$static.edgeo, 1, 10, 2, 9);\n break;\n case 14:\n $swap_0(this$static.edge, 0, 4, 1, 5);\n $swap_0(this$static.edgeo, 0, 4, 1, 5);\n circle(this$static.edge, 9, 11);\n circle(this$static.edgeo, 8, 10);\n break;\n case 15:\n $swap_0(this$static.edge, 5, 10, 6, 11);\n $swap_0(this$static.edgeo, 5, 10, 6, 11);\n circle(this$static.edge, 1, 3);\n circle(this$static.edgeo, 0, 2);\n break;\n case 16:\n $swap_0(this$static.edge, 0, 11, 3, 8);\n $swap_0(this$static.edgeo, 0, 11, 3, 8);\n circle(this$static.edge, 5, 7);\n circle(this$static.edgeo, 4, 6);\n break;\n case 17:\n $swap_0(this$static.edge, 2, 7, 3, 6);\n $swap_0(this$static.edgeo, 2, 7, 3, 6);\n circle(this$static.edge, 8, 10);\n circle(this$static.edgeo, 9, 11);\n break;\n case 18:\n $swap_0(this$static.edge, 4, 8, 7, 9);\n $swap_0(this$static.edgeo, 4, 8, 7, 9);\n circle(this$static.edge, 0, 2);\n circle(this$static.edgeo, 1, 3);\n break;\n case 19:\n $swap_0(this$static.edge, 1, 9, 2, 10);\n $swap_0(this$static.edgeo, 1, 9, 2, 10);\n circle(this$static.edge, 4, 6);\n circle(this$static.edgeo, 5, 7);\n }\n}\n\nfunction $rot_1(this$static, r) {\n this$static.isStd = false;\n switch (r) {\n case 0:\n $move_4(this$static, 14);\n $move_4(this$static, 17);\n break;\n case 1:\n $circlex(this$static, 11, 5, 10, 6);\n $circlex(this$static, 5, 10, 6, 11);\n $circlex(this$static, 1, 2, 3, 0);\n $circlex(this$static, 4, 9, 7, 8);\n $circlex(this$static, 8, 4, 9, 7);\n $circlex(this$static, 0, 1, 2, 3);\n break;\n case 2:\n $swapx(this$static, 4, 5);\n $swapx(this$static, 5, 4);\n $swapx(this$static, 11, 8);\n $swapx(this$static, 8, 11);\n $swapx(this$static, 7, 6);\n $swapx(this$static, 6, 7);\n $swapx(this$static, 9, 10);\n $swapx(this$static, 10, 9);\n $swapx(this$static, 1, 1);\n $swapx(this$static, 0, 0);\n $swapx(this$static, 3, 3);\n $swapx(this$static, 2, 2);\n }\n}\n\nfunction $rotate_0(this$static, r) {\n while (r >= 2) {\n r -= 2;\n $rot_1(this$static, 1);\n $rot_1(this$static, 2);\n }\n r !== 0 && $rot_1(this$static, 0);\n}\n\nfunction $set_4(this$static, idx) {\n let i_0, p_0, parity, v, vall, valh;\n vall = 0x76543210;\n valh = 0xba98;\n parity = 0;\n for (i_0 = 0; i_0 < 11; ++i_0) {\n p_0 = factX[11 - i_0];\n v = ~~(idx / p_0);\n idx = idx % p_0;\n parity ^= v;\n v <<= 2;\n if (v >= 32) {\n v = v - 32;\n this$static.edge[i_0] = (valh >> v) & 15;\n const m = (1 << v) - 1;\n valh = (valh & m) + ((valh >> 4) & ~m);\n } else {\n this$static.edge[i_0] = (vall >> v) & 15;\n const m = (1 << v) - 1;\n vall = (vall & m) + ((vall >>> 4) & ~m) + (valh << 28);\n valh = valh >> 4;\n }\n }\n if ((parity & 1) === 0) {\n this$static.edge[11] = vall;\n } else {\n this$static.edge[11] = this$static.edge[10];\n this$static.edge[10] = vall;\n }\n for (i_0 = 0; i_0 < 12; ++i_0) {\n this$static.edgeo[i_0] = i_0;\n }\n this$static.isStd = true;\n}\n\nfunction $set_5(this$static, e) {\n let i_0;\n for (i_0 = 0; i_0 < 12; ++i_0) {\n this$static.edge[i_0] = e.edge[i_0];\n this$static.edgeo[i_0] = e.edgeo[i_0];\n }\n this$static.isStd = e.isStd;\n}\n\nfunction $set_6(this$static, c) {\n let i_0, parity, s, t;\n this$static.temp === null && (this$static.temp = createArray(12));\n for (i_0 = 0; i_0 < 12; ++i_0) {\n this$static.temp[i_0] = i_0;\n this$static.edge[i_0] = c.ep[FullEdgeMap[i_0] + 12] % 12;\n }\n parity = 1;\n for (i_0 = 0; i_0 < 12; ++i_0) {\n while (this$static.edge[i_0] !== i_0) {\n t = this$static.edge[i_0];\n this$static.edge[i_0] = this$static.edge[t];\n this$static.edge[t] = t;\n s = this$static.temp[i_0];\n this$static.temp[i_0] = this$static.temp[t];\n this$static.temp[t] = s;\n parity ^= 1;\n }\n }\n for (i_0 = 0; i_0 < 12; ++i_0) {\n this$static.edge[i_0] = this$static.temp[c.ep[FullEdgeMap[i_0]] % 12];\n }\n return parity;\n}\n\nfunction $std(this$static) {\n let i_0;\n this$static.temp === null && (this$static.temp = createArray(12));\n for (i_0 = 0; i_0 < 12; ++i_0) {\n this$static.temp[this$static.edgeo[i_0]] = i_0;\n }\n for (i_0 = 0; i_0 < 12; ++i_0) {\n this$static.edge[i_0] = this$static.temp[this$static.edge[i_0]];\n this$static.edgeo[i_0] = i_0;\n }\n this$static.isStd = true;\n}\n\nfunction $swap_0(arr, a, b, c, d) {\n let temp;\n temp = arr[a];\n arr[a] = arr[c];\n arr[c] = temp;\n temp = arr[b];\n arr[b] = arr[d];\n arr[d] = temp;\n}\n\nfunction $swapx(this$static, x, y) {\n const temp = this$static.edge[x];\n this$static.edge[x] = this$static.edgeo[y];\n this$static.edgeo[y] = temp;\n}\n\nfunction Edge3_0() {\n this.edge = createArray(12);\n this.edgeo = createArray(12);\n}\n\nfunction createPrun_0() {\n let chk,\n cord1,\n cord1x,\n cord2,\n cord2x,\n dep1m3,\n depm3,\n depth,\n end,\n find_0,\n i_0,\n i_,\n idx,\n idxx,\n inv,\n j,\n m_0,\n symState,\n symcord1,\n symcord1x,\n symx,\n val;\n const e = new Edge3_0();\n const f = new Edge3_0();\n const g = new Edge3_0();\n fill_0(eprun);\n depth = 0;\n done_0 = 1;\n setPruning_0(eprun, 0, 0);\n // var start = +new Date;\n while (done_0 !== 31006080) {\n inv = depth > 9;\n depm3 = depth % 3;\n dep1m3 = (depth + 1) % 3;\n find_0 = inv ? 3 : depm3;\n chk = inv ? depm3 : 3;\n if (depth >= 9) {\n break;\n }\n for (i_ = 0; i_ < 31006080; i_ += 16) {\n val = eprun[~~i_ >> 4];\n if (!inv && val === -1) {\n continue;\n }\n for (i_0 = i_, end = i_ + 16; i_0 < end; ++i_0, val >>= 2) {\n if ((val & 3) !== find_0) {\n continue;\n }\n symcord1 = ~~(i_0 / 20160);\n cord1 = sym2raw_0[symcord1];\n cord2 = i_0 % 20160;\n $set_4(e, cord1 * 20160 + cord2);\n for (m_0 = 0; m_0 < 17; ++m_0) {\n cord1x = getmvrot(e.edge, m_0 << 3, 4);\n symcord1x = raw2sym_1[cord1x];\n symx = symcord1x & 7;\n symcord1x >>= 3;\n cord2x = getmvrot(e.edge, (m_0 << 3) | symx, 10) % 20160;\n idx = symcord1x * 20160 + cord2x;\n if (getPruning_0(eprun, idx) !== chk) {\n continue;\n }\n setPruning_0(eprun, inv ? i_0 : idx, dep1m3);\n ++done_0;\n if (inv) {\n break;\n }\n symState = symstate[symcord1x];\n if (symState === 1) {\n continue;\n }\n $set_5(f, e);\n $move_4(f, m_0);\n $rotate_0(f, symx);\n for (j = 1; (symState = (~~symState >> 1) & 65535) !== 0; ++j) {\n if ((symState & 1) !== 1) {\n continue;\n }\n $set_5(g, f);\n $rotate_0(g, j);\n idxx = symcord1x * 20160 + ($get_2(g, 10) % 20160);\n if (getPruning_0(eprun, idxx) === chk) {\n setPruning_0(eprun, idxx, dep1m3);\n ++done_0;\n }\n }\n }\n }\n }\n ++depth;\n // console.log(depth + '\\t' + done_0 + '\\t' + (+new Date - start));\n }\n}\n\nfunction getPruning_0(table, index) {\n return (table[index >> 4] >> ((index & 15) << 1)) & 3;\n}\n\nfunction getmvrot(ep, mrIdx, end) {\n let i_0, idx, v, valh, vall;\n const movo = mvroto[mrIdx];\n const mov = mvrot[mrIdx];\n idx = 0;\n vall = 1985229328;\n valh = 47768;\n for (i_0 = 0; i_0 < end; ++i_0) {\n v = movo[ep[mov[i_0]]] << 2;\n idx *= 12 - i_0;\n if (v >= 32) {\n idx += (valh >> (v - 32)) & 15;\n valh -= 4368 << (v - 32);\n } else {\n idx += (vall >> v) & 15;\n valh -= 4369;\n vall -= 286331152 << v;\n }\n }\n return idx;\n}\n\nfunction getprun(edge) {\n let cord1,\n cord1x,\n cord2,\n cord2x,\n depm3,\n depth,\n idx,\n m_0,\n symcord1,\n symcord1x,\n symx;\n const e = new Edge3_0();\n depth = 0;\n depm3 = getPruning_0(eprun, edge);\n if (depm3 === 3) {\n return 10;\n }\n while (edge !== 0) {\n depm3 === 0 ? (depm3 = 2) : --depm3;\n symcord1 = ~~(edge / 20160);\n cord1 = sym2raw_0[symcord1];\n cord2 = edge % 20160;\n $set_4(e, cord1 * 20160 + cord2);\n for (m_0 = 0; m_0 < 17; ++m_0) {\n cord1x = getmvrot(e.edge, m_0 << 3, 4);\n symcord1x = raw2sym_1[cord1x];\n symx = symcord1x & 7;\n symcord1x >>= 3;\n cord2x = getmvrot(e.edge, (m_0 << 3) | symx, 10) % 20160;\n idx = symcord1x * 20160 + cord2x;\n if (getPruning_0(eprun, idx) === depm3) {\n ++depth;\n edge = idx;\n break;\n }\n }\n }\n return depth;\n}\n\nfunction getprun_0(edge, prun) {\n const depm3 = getPruning_0(eprun, edge);\n if (depm3 === 3) {\n return 10;\n }\n return (((0x49249249 << depm3) >> prun) & 3) + prun - 1;\n // (depm3 - prun + 16) % 3 + prun - 1;\n}\n\nfunction initMvrot() {\n let i_0, m_0, r;\n const e = new Edge3_0();\n for (m_0 = 0; m_0 < 20; ++m_0) {\n for (r = 0; r < 8; ++r) {\n $set_4(e, 0);\n $move_4(e, m_0);\n $rotate_0(e, r);\n for (i_0 = 0; i_0 < 12; ++i_0) {\n mvrot[(m_0 << 3) | r][i_0] = e.edge[i_0];\n }\n $std(e);\n for (i_0 = 0; i_0 < 12; ++i_0) {\n mvroto[(m_0 << 3) | r][i_0] = e.temp[i_0];\n }\n }\n }\n}\n\nfunction initRaw2Sym() {\n let count, i_0, idx, j;\n const e = new Edge3_0();\n const occ = createArray(1485);\n for (i_0 = 0; i_0 < 1485; i_0++) {\n occ[i_0] = 0;\n }\n count = 0;\n for (i_0 = 0; i_0 < 11880; ++i_0) {\n if ((occ[~~i_0 >>> 3] & (1 << (i_0 & 7))) === 0) {\n $set_4(e, i_0 * factX[8]);\n for (j = 0; j < 8; ++j) {\n idx = $get_2(e, 4);\n idx === i_0 && (symstate[count] = (symstate[count] | (1 << j)) & 65535);\n occ[~~idx >> 3] = occ[~~idx >> 3] | (1 << (idx & 7));\n raw2sym_1[idx] = (count << 3) | syminv_0[j];\n $rot_1(e, 0);\n if (j % 2 === 1) {\n $rot_1(e, 1);\n $rot_1(e, 2);\n }\n }\n sym2raw_0[count++] = i_0;\n }\n }\n}\n\nfunction setPruning_0(table, index, value) {\n table[index >> 4] ^= (3 ^ value) << ((index & 15) << 1);\n}\n\ndefineSeed(158, 1, makeCastMap([Q$Edge3]), Edge3_0);\n_.isStd = true;\n_.temp = null;\nlet FullEdgeMap,\n done_0 = 0,\n eprun,\n factX,\n mvrot,\n mvroto,\n raw2sym_1,\n sym2raw_0,\n syminv_0,\n symstate;\n\nlet ran$clinit_EdgeCube = false;\nfunction $clinit_EdgeCube() {\n if (ran$clinit_EdgeCube) {\n return;\n }\n ran$clinit_EdgeCube = true;\n}\n\nfunction $checkEdge(this$static) {\n let ck, i_0, parity;\n ck = 0;\n parity = false;\n for (i_0 = 0; i_0 < 12; ++i_0) {\n ck |= 1 << this$static.ep[i_0];\n parity = parity !== this$static.ep[i_0] >= 12;\n }\n ck &= ~~ck >> 12;\n return ck === 0 && !parity;\n}\n\nfunction $copy_3(this$static, c) {\n let i_0;\n for (i_0 = 0; i_0 < 24; ++i_0) {\n this$static.ep[i_0] = c.ep[i_0];\n }\n}\n\nfunction $move_5(this$static, m_0) {\n const key = m_0 % 3;\n m_0 = ~~(m_0 / 3);\n switch (m_0) {\n case 0:\n swap(this$static.ep, 0, 1, 2, 3, key);\n swap(this$static.ep, 12, 13, 14, 15, key);\n break;\n case 1:\n swap(this$static.ep, 11, 15, 10, 19, key);\n swap(this$static.ep, 23, 3, 22, 7, key);\n break;\n case 2:\n swap(this$static.ep, 0, 11, 6, 8, key);\n swap(this$static.ep, 12, 23, 18, 20, key);\n break;\n case 3:\n swap(this$static.ep, 4, 5, 6, 7, key);\n swap(this$static.ep, 16, 17, 18, 19, key);\n break;\n case 4:\n swap(this$static.ep, 1, 20, 5, 21, key);\n swap(this$static.ep, 13, 8, 17, 9, key);\n break;\n case 5:\n swap(this$static.ep, 2, 9, 4, 10, key);\n swap(this$static.ep, 14, 21, 16, 22, key);\n break;\n case 6:\n swap(this$static.ep, 0, 1, 2, 3, key);\n swap(this$static.ep, 12, 13, 14, 15, key);\n swap(this$static.ep, 9, 22, 11, 20, key);\n break;\n case 7:\n swap(this$static.ep, 11, 15, 10, 19, key);\n swap(this$static.ep, 23, 3, 22, 7, key);\n swap(this$static.ep, 2, 16, 6, 12, key);\n break;\n case 8:\n swap(this$static.ep, 0, 11, 6, 8, key);\n swap(this$static.ep, 12, 23, 18, 20, key);\n swap(this$static.ep, 3, 19, 5, 13, key);\n break;\n case 9:\n swap(this$static.ep, 4, 5, 6, 7, key);\n swap(this$static.ep, 16, 17, 18, 19, key);\n swap(this$static.ep, 8, 23, 10, 21, key);\n break;\n case 10:\n swap(this$static.ep, 1, 20, 5, 21, key);\n swap(this$static.ep, 13, 8, 17, 9, key);\n swap(this$static.ep, 14, 0, 18, 4, key);\n break;\n case 11:\n swap(this$static.ep, 2, 9, 4, 10, key);\n swap(this$static.ep, 14, 21, 16, 22, key);\n swap(this$static.ep, 7, 15, 1, 17, key);\n }\n}\n\nfunction EdgeCube_0() {\n let i_0;\n this.ep = createArray(24);\n for (i_0 = 0; i_0 < 24; ++i_0) {\n this.ep[i_0] = i_0;\n }\n}\n\nfunction EdgeCube_1(randomUIntBelow) {\n let i_0, m_0, t;\n EdgeCube_0.call(this);\n for (i_0 = 0; i_0 < 23; ++i_0) {\n t = i_0 + randomUIntBelow(24 - i_0);\n if (t !== i_0) {\n m_0 = this.ep[i_0];\n this.ep[i_0] = this.ep[t];\n this.ep[t] = m_0;\n }\n }\n}\n\ndefineSeed(159, 1, {}, EdgeCube_0, EdgeCube_1);\n\nlet ran$clinit_FullCube_0 = false;\nfunction $clinit_FullCube_0() {\n if (ran$clinit_FullCube_0) {\n return;\n }\n ran$clinit_FullCube_0 = true;\n move2rot = [35, 1, 34, 2, 4, 6, 22, 5, 19];\n}\n\nfunction $$init_3(this$static) {\n this$static.moveBuffer = createArray(60);\n}\n\nfunction $compareTo_1(this$static, c) {\n return this$static.value - c.value;\n}\n\nfunction $copy_4(this$static, c) {\n let i_0;\n $copy_3(this$static.edge, c.edge);\n $copy_1(this$static.center, c.center);\n $copy_2(this$static.corner, c.corner);\n this$static.value = c.value;\n this$static.add1 = c.add1;\n this$static.length1 = c.length1;\n this$static.length2 = c.length2;\n this$static.length3 = c.length3;\n this$static.sym = c.sym;\n for (i_0 = 0; i_0 < 60; ++i_0) {\n this$static.moveBuffer[i_0] = c.moveBuffer[i_0];\n }\n this$static.moveLength = c.moveLength;\n this$static.edgeAvail = c.edgeAvail;\n this$static.centerAvail = c.centerAvail;\n this$static.cornerAvail = c.cornerAvail;\n}\n\nfunction $getCenter(this$static) {\n while (this$static.centerAvail < this$static.moveLength) {\n $move_2(\n this$static.center,\n this$static.moveBuffer[this$static.centerAvail++],\n );\n }\n return this$static.center;\n}\n\nfunction $getCorner(this$static) {\n while (this$static.cornerAvail < this$static.moveLength) {\n $move_3(\n this$static.corner,\n this$static.moveBuffer[this$static.cornerAvail++] % 18,\n );\n }\n return this$static.corner;\n}\n\nfunction $getEdge(this$static) {\n while (this$static.edgeAvail < this$static.moveLength) {\n $move_5(this$static.edge, this$static.moveBuffer[this$static.edgeAvail++]);\n }\n return this$static.edge;\n}\n\nfunction $getMoveString(this$static) {\n let i_0, idx, move, rot, sb, sym;\n const fixedMoves = new Array(\n this$static.moveLength - (this$static.add1 ? 2 : 0),\n );\n idx = 0;\n for (i_0 = 0; i_0 < this$static.length1; ++i_0) {\n fixedMoves[idx++] = this$static.moveBuffer[i_0];\n }\n sym = this$static.sym;\n for (\n i_0 = this$static.length1 + (this$static.add1 ? 2 : 0);\n i_0 < this$static.moveLength;\n ++i_0\n ) {\n if (symmove[sym][this$static.moveBuffer[i_0]] >= 27) {\n fixedMoves[idx++] = symmove[sym][this$static.moveBuffer[i_0]] - 9;\n rot = move2rot[symmove[sym][this$static.moveBuffer[i_0]] - 27];\n sym = symmult[sym][rot];\n } else {\n fixedMoves[idx++] = symmove[sym][this$static.moveBuffer[i_0]];\n }\n }\n const finishSym = symmult[syminv[sym]][getSolvedSym($getCenter(this$static))];\n sb = \"\";\n sym = finishSym;\n for (i_0 = idx - 1; i_0 >= 0; --i_0) {\n move = fixedMoves[i_0];\n move = ~~(move / 3) * 3 + (2 - (move % 3));\n if (symmove[sym][move] >= 27) {\n sb = sb + move2str_1[symmove[sym][move] - 9] + \" \";\n rot = move2rot[symmove[sym][move] - 27];\n sym = symmult[sym][rot];\n } else {\n sb = sb + move2str_1[symmove[sym][move]] + \" \";\n }\n }\n return sb;\n}\n\nfunction $move_6(this$static, m_0) {\n this$static.moveBuffer[this$static.moveLength++] = m_0;\n return;\n}\n\nfunction FullCube_3() {\n $$init_3(this);\n this.edge = new EdgeCube_0();\n this.center = new CenterCube_0();\n this.corner = new CornerCube_0();\n}\n\nfunction FullCube_4(c) {\n FullCube_3.call(this);\n $copy_4(this, c);\n}\n\nfunction FullCube_5(randomUIntBelow) {\n $$init_3(this);\n this.edge = new EdgeCube_1(randomUIntBelow);\n this.center = new CenterCube_1(randomUIntBelow);\n this.corner = new CornerCube_2(randomUIntBelow);\n}\n\ndefineSeed(\n 160,\n 1,\n makeCastMap([Q$FullCube_0, Q$Comparable]),\n FullCube_3,\n FullCube_4,\n FullCube_5,\n);\n_.compareTo$ = function compareTo_1(c) {\n return $compareTo_1(this, c);\n};\n_.add1 = false;\n_.center = null;\n_.centerAvail = 0;\n_.corner = null;\n_.cornerAvail = 0;\n_.edge = null;\n_.edgeAvail = 0;\n_.length1 = 0;\n_.length2 = 0;\n_.length3 = 0;\n_.moveLength = 0;\n_.sym = 0;\n_.value = 0;\nlet move2rot;\n\nfunction $compare(c1, c2) {\n return c2.value - c1.value;\n}\n\nfunction $compare_0(c1, c2) {\n return $compare(c1, c2);\n}\n\nfunction FullCube$ValueComparator_0() {}\n\ndefineSeed(161, 1, {}, FullCube$ValueComparator_0);\n_.compare = function compare(c1, c2) {\n return $compare_0(c1, c2);\n};\n\nlet ran$clinit_Moves = false;\nfunction $clinit_Moves() {\n if (ran$clinit_Moves) {\n return;\n }\n ran$clinit_Moves = true;\n let i_0, j;\n move2str_1 = [\n \"U \",\n \"U2 \",\n \"U' \",\n \"R \",\n \"R2 \",\n \"R' \",\n \"F \",\n \"F2 \",\n \"F' \",\n \"D \",\n \"D2 \",\n \"D' \",\n \"L \",\n \"L2 \",\n \"L' \",\n \"B \",\n \"B2 \",\n \"B' \",\n \"Uw \",\n \"Uw2\",\n \"Uw'\",\n \"Rw \",\n \"Rw2\",\n \"Rw'\",\n \"Fw \",\n \"Fw2\",\n \"Fw'\",\n \"Dw \",\n \"Dw2\",\n \"Dw'\",\n \"Lw \",\n \"Lw2\",\n \"Lw'\",\n \"Bw \",\n \"Bw2\",\n \"Bw'\",\n ];\n move2std = [\n 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 21, 22,\n 23, 25, 28, 30, 31, 32, 34, 36,\n ];\n move3std = [\n 0, 1, 2, 4, 6, 7, 8, 9, 10, 11, 13, 15, 16, 17, 19, 22, 25, 28, 31, 34, 36,\n ];\n std2move = createArray(37);\n std3move = createArray(37);\n ckmv = createArray(37, 36);\n ckmv2_0 = createArray(29, 28);\n ckmv3 = createArray(21, 20);\n skipAxis = createArray(36);\n skipAxis2 = createArray(28);\n skipAxis3 = createArray(20);\n for (i_0 = 0; i_0 < 29; ++i_0) {\n std2move[move2std[i_0]] = i_0;\n }\n for (i_0 = 0; i_0 < 21; ++i_0) {\n std3move[move3std[i_0]] = i_0;\n }\n for (i_0 = 0; i_0 < 36; ++i_0) {\n for (j = 0; j < 36; ++j) {\n ckmv[i_0][j] =\n ~~(i_0 / 3) === ~~(j / 3) ||\n (~~(i_0 / 3) % 3 === ~~(j / 3) % 3 && i_0 > j);\n }\n ckmv[36][i_0] = false;\n }\n for (i_0 = 0; i_0 < 29; ++i_0) {\n for (j = 0; j < 28; ++j) {\n ckmv2_0[i_0][j] = ckmv[move2std[i_0]][move2std[j]];\n }\n }\n for (i_0 = 0; i_0 < 21; ++i_0) {\n for (j = 0; j < 20; ++j) {\n ckmv3[i_0][j] = ckmv[move3std[i_0]][move3std[j]];\n }\n }\n for (i_0 = 0; i_0 < 36; ++i_0) {\n skipAxis[i_0] = 36;\n for (j = i_0; j < 36; ++j) {\n if (!ckmv[i_0][j]) {\n skipAxis[i_0] = j - 1;\n break;\n }\n }\n }\n for (i_0 = 0; i_0 < 28; ++i_0) {\n skipAxis2[i_0] = 28;\n for (j = i_0; j < 28; ++j) {\n if (!ckmv2_0[i_0][j]) {\n skipAxis2[i_0] = j - 1;\n break;\n }\n }\n }\n for (i_0 = 0; i_0 < 20; ++i_0) {\n skipAxis3[i_0] = 20;\n for (j = i_0; j < 20; ++j) {\n if (!ckmv3[i_0][j]) {\n skipAxis3[i_0] = j - 1;\n break;\n }\n }\n }\n}\n\nlet ckmv,\n ckmv2_0,\n ckmv3,\n move2std,\n move2str_1,\n move3std,\n skipAxis,\n skipAxis2,\n skipAxis3,\n std2move,\n std3move;\n\nfunction $doSearch(this$static) {\n let MAX_LENGTH2,\n MAX_LENGTH3,\n ct,\n edge,\n eparity,\n i_0,\n index,\n length12,\n length123,\n prun,\n s2ct,\n s2rl;\n this$static.solution = \"\";\n const ud = $getsym(new Center1_1($getCenter(this$static.c), 0));\n const fb = $getsym(new Center1_1($getCenter(this$static.c), 1));\n const rl = $getsym(new Center1_1($getCenter(this$static.c), 2));\n const udprun = csprun[~~ud >> 6];\n const fbprun = csprun[~~fb >> 6];\n const rlprun = csprun[~~rl >> 6];\n this$static.p1SolsCnt = 0;\n this$static.arr2idx = 0;\n $clear(this$static.p1sols.heap);\n for (\n this$static.length1 =\n (udprun < fbprun ? udprun : fbprun) < rlprun\n ? udprun < fbprun\n ? udprun\n : fbprun\n : rlprun;\n this$static.length1 < 100;\n ++this$static.length1\n ) {\n if (\n (rlprun <= this$static.length1 &&\n $search1(\n this$static,\n ~~rl >>> 6,\n rl & 63,\n this$static.length1,\n -1,\n 0,\n )) ||\n (udprun <= this$static.length1 &&\n $search1(\n this$static,\n ~~ud >>> 6,\n ud & 63,\n this$static.length1,\n -1,\n 0,\n )) ||\n (fbprun <= this$static.length1 &&\n $search1(this$static, ~~fb >>> 6, fb & 63, this$static.length1, -1, 0))\n ) {\n break;\n }\n }\n const p1SolsArr = $toArray_1(\n this$static.p1sols,\n initDim(\n _3Lcs_threephase_FullCube_2_classLit,\n makeCastMap([Q$FullCube_$1, Q$Serializable, Q$Object_$1]),\n Q$FullCube_0,\n 0,\n 0,\n ),\n );\n\n p1SolsArr.sort(function (a, b) {\n return a.value - b.value;\n });\n MAX_LENGTH2 = 9;\n do {\n OUT: for (length12 = p1SolsArr[0].value; length12 < 100; ++length12) {\n for (i_0 = 0; i_0 < p1SolsArr.length; ++i_0) {\n if (p1SolsArr[i_0].value > length12) {\n break;\n }\n if (length12 - p1SolsArr[i_0].length1 > MAX_LENGTH2) {\n continue;\n }\n $copy_4(this$static.c1, p1SolsArr[i_0]);\n $set_2(\n this$static.ct2,\n $getCenter(this$static.c1),\n parity_0($getEdge(this$static.c1).ep),\n );\n s2ct = $getct(this$static.ct2);\n s2rl = $getrl(this$static.ct2);\n this$static.length1 = p1SolsArr[i_0].length1;\n this$static.length2 = length12 - p1SolsArr[i_0].length1;\n if ($search2(this$static, s2ct, s2rl, this$static.length2, 28, 0)) {\n break OUT;\n }\n }\n }\n ++MAX_LENGTH2;\n } while (length12 === 100);\n this$static.arr2.sort(function (a, b) {\n return a.value - b.value;\n });\n index = 0;\n MAX_LENGTH3 = 13;\n do {\n OUT2: for (\n length123 = this$static.arr2[0].value;\n length123 < 100;\n ++length123\n ) {\n for (i_0 = 0; i_0 < Math.min(this$static.arr2idx, 100); ++i_0) {\n if (this$static.arr2[i_0].value > length123) {\n break;\n }\n if (\n length123 -\n this$static.arr2[i_0].length1 -\n this$static.arr2[i_0].length2 >\n MAX_LENGTH3\n ) {\n continue;\n }\n eparity = $set_6(this$static.e12, $getEdge(this$static.arr2[i_0]));\n $set_3(\n this$static.ct3,\n $getCenter(this$static.arr2[i_0]),\n eparity ^ parity_0($getCorner(this$static.arr2[i_0]).cp),\n );\n ct = $getct_0(this$static.ct3);\n edge = $get_2(this$static.e12, 10);\n prun = getprun($getsym_0(this$static.e12));\n if (\n prun <=\n length123 -\n this$static.arr2[i_0].length1 -\n this$static.arr2[i_0].length2 &&\n $search3(\n this$static,\n edge,\n ct,\n prun,\n length123 -\n this$static.arr2[i_0].length1 -\n this$static.arr2[i_0].length2,\n 20,\n 0,\n )\n ) {\n index = i_0;\n break OUT2;\n }\n }\n }\n ++MAX_LENGTH3;\n } while (length123 === 100);\n const solcube = new FullCube_4(this$static.arr2[index]);\n this$static.length1 = solcube.length1;\n this$static.length2 = solcube.length2;\n const length_0 = length123 - this$static.length1 - this$static.length2;\n for (i_0 = 0; i_0 < length_0; ++i_0) {\n $move_6(solcube, move3std[this$static.move3[i_0]]);\n }\n this$static.solution = $getMoveString(solcube);\n}\n\nfunction $init2_0(this$static, sym) {\n let i_0, next;\n $copy_4(this$static.c1, this$static.c);\n for (i_0 = 0; i_0 < this$static.length1; ++i_0) {\n $move_6(this$static.c1, this$static.move1[i_0]);\n }\n switch (finish_0[sym]) {\n case 0:\n $move_6(this$static.c1, 24);\n $move_6(this$static.c1, 35);\n this$static.move1[this$static.length1] = 24;\n this$static.move1[this$static.length1 + 1] = 35;\n this$static.add1 = true;\n sym = 19;\n break;\n case 12869:\n $move_6(this$static.c1, 18);\n $move_6(this$static.c1, 29);\n this$static.move1[this$static.length1] = 18;\n this$static.move1[this$static.length1 + 1] = 29;\n this$static.add1 = true;\n sym = 34;\n break;\n case 735470:\n this$static.add1 = false;\n sym = 0;\n }\n $set_2(\n this$static.ct2,\n $getCenter(this$static.c1),\n parity_0($getEdge(this$static.c1).ep),\n );\n const s2ct = $getct(this$static.ct2);\n const s2rl = $getrl(this$static.ct2);\n const ctp = ctprun[s2ct * 70 + s2rl];\n this$static.c1.value = ctp + this$static.length1;\n this$static.c1.length1 = this$static.length1;\n this$static.c1.add1 = this$static.add1;\n this$static.c1.sym = sym;\n ++this$static.p1SolsCnt;\n if (this$static.p1sols.heap.size < 500) {\n next = new FullCube_4(this$static.c1);\n } else {\n next = $poll(this$static.p1sols);\n next.value > this$static.c1.value && $copy_4(next, this$static.c1);\n }\n $add(this$static.p1sols, next);\n return this$static.p1SolsCnt === 10000;\n}\n\nfunction $init3(this$static) {\n let i_0;\n $copy_4(this$static.c2, this$static.c1);\n for (i_0 = 0; i_0 < this$static.length2; ++i_0) {\n $move_6(this$static.c2, this$static.move2[i_0]);\n }\n if (!$checkEdge($getEdge(this$static.c2))) {\n return false;\n }\n const eparity = $set_6(this$static.e12, $getEdge(this$static.c2));\n $set_3(\n this$static.ct3,\n $getCenter(this$static.c2),\n eparity ^ parity_0($getCorner(this$static.c2).cp),\n );\n const ct = $getct_0(this$static.ct3);\n $get_2(this$static.e12, 10);\n const prun = getprun($getsym_0(this$static.e12));\n !this$static.arr2[this$static.arr2idx]\n ? (this$static.arr2[this$static.arr2idx] = new FullCube_4(this$static.c2))\n : $copy_4(this$static.arr2[this$static.arr2idx], this$static.c2);\n this$static.arr2[this$static.arr2idx].value =\n this$static.length1 + this$static.length2 + Math.max(prun, prun_0[ct]);\n this$static.arr2[this$static.arr2idx].length2 = this$static.length2;\n ++this$static.arr2idx;\n return this$static.arr2idx === this$static.arr2.length;\n}\n\nfunction $randomState(this$static, randomUIntBelow) {\n init_5();\n this$static.c = new FullCube_5(randomUIntBelow);\n $doSearch(this$static);\n return this$static.solution;\n}\n\nfunction $search1(this$static, ct, sym, maxl, lm, depth) {\n let axis, ctx, m_0, power, prun, symx;\n if (ct === 0) {\n return maxl === 0 && $init2_0(this$static, sym);\n }\n for (axis = 0; axis < 27; axis += 3) {\n if (axis === lm || axis === lm - 9 || axis === lm - 18) {\n continue;\n }\n for (power = 0; power < 3; ++power) {\n m_0 = axis + power;\n ctx = ctsmv[ct][symmove[sym][m_0]];\n prun = csprun[~~ctx >>> 6];\n if (prun >= maxl) {\n if (prun > maxl) {\n break;\n }\n continue;\n }\n symx = symmult[sym][ctx & 63];\n ctx >>>= 6;\n this$static.move1[depth] = m_0;\n if ($search1(this$static, ctx, symx, maxl - 1, axis, depth + 1)) {\n return true;\n }\n }\n }\n return false;\n}\n\nfunction $search2(this$static, ct, rl, maxl, lm, depth) {\n let ctx, m_0, prun, rlx;\n if (ct === 0 && ctprun[rl] === 0) {\n return maxl === 0 && $init3(this$static);\n }\n for (m_0 = 0; m_0 < 23; ++m_0) {\n if (ckmv2_0[lm][m_0]) {\n m_0 = skipAxis2[m_0];\n continue;\n }\n ctx = ctmv[ct][m_0];\n rlx = rlmv[rl][m_0];\n prun = ctprun[ctx * 70 + rlx];\n if (prun >= maxl) {\n prun > maxl && (m_0 = skipAxis2[m_0]);\n continue;\n }\n this$static.move2[depth] = move2std[m_0];\n if ($search2(this$static, ctx, rlx, maxl - 1, m_0, depth + 1)) {\n return true;\n }\n }\n return false;\n}\n\nfunction $search3(this$static, edge, ct, prun, maxl, lm, depth) {\n let cord1x, cord2x, ctx, edgex, m_0, prun1, prunx, symcord1x, symx;\n if (maxl === 0) {\n return edge === 0 && ct === 0;\n }\n $set_4(this$static.tempe[depth], edge);\n for (m_0 = 0; m_0 < 17; ++m_0) {\n if (ckmv3[lm][m_0]) {\n m_0 = skipAxis3[m_0];\n continue;\n }\n ctx = ctmove[ct][m_0];\n prun1 = prun_0[ctx];\n if (prun1 >= maxl) {\n prun1 > maxl && m_0 < 14 && (m_0 = skipAxis3[m_0]);\n continue;\n }\n edgex = getmvrot(this$static.tempe[depth].edge, m_0 << 3, 10);\n cord1x = ~~(edgex / 20160);\n symcord1x = raw2sym_1[cord1x];\n symx = symcord1x & 7;\n symcord1x >>= 3;\n cord2x =\n getmvrot(this$static.tempe[depth].edge, (m_0 << 3) | symx, 10) % 20160;\n prunx = getprun_0(symcord1x * 20160 + cord2x, prun);\n if (prunx >= maxl) {\n prunx > maxl && m_0 < 14 && (m_0 = skipAxis3[m_0]);\n continue;\n }\n if ($search3(this$static, edgex, ctx, prunx, maxl - 1, m_0, depth + 1)) {\n this$static.move3[depth] = m_0;\n return true;\n }\n }\n return false;\n}\n\nfunction Search_4() {\n let i_0;\n this.p1sols = new PriorityQueue_0(new FullCube$ValueComparator_0());\n this.move1 = createArray(15);\n this.move2 = createArray(20);\n this.move3 = createArray(20);\n this.c1 = new FullCube_3();\n this.c2 = new FullCube_3();\n this.ct2 = new Center2_0();\n this.ct3 = new Center3_0();\n this.e12 = new Edge3_0();\n this.tempe = createArray(20);\n this.arr2 = createArray(100);\n for (i_0 = 0; i_0 < 20; ++i_0) {\n this.tempe[i_0] = new Edge3_0();\n }\n}\n\nfunction init_5() {\n if (inited_2) {\n return;\n }\n initSym_0();\n raw2sym = createArray(735471);\n initSym2Raw();\n createMoveTable();\n raw2sym = null;\n createPrun();\n init_3();\n init_4();\n initMvrot();\n initRaw2Sym();\n createPrun_0();\n inited_2 = true;\n}\n\ndefineSeed(163, 1, makeCastMap([Q$Search_0]), Search_4);\n_.add1 = false;\n_.arr2idx = 0;\n_.c = null;\n_.length1 = 0;\n_.length2 = 0;\n_.p1SolsCnt = 0;\n_.solution = \"\";\nlet inited_2 = false;\n\nlet ran$clinit_Util_0 = false;\nfunction $clinit_Util_0() {\n if (ran$clinit_Util_0) {\n return;\n }\n ran$clinit_Util_0 = true;\n}\n\nfunction parity_0(arr) {\n let i_0, j, len, parity;\n parity = 0;\n for (i_0 = 0, len = arr.length; i_0 < len; ++i_0) {\n for (j = i_0; j < len; ++j) {\n arr[i_0] > arr[j] && (parity ^= 1);\n }\n }\n return parity;\n}\n\nfunction swap(arr, a, b, c, d, key) {\n let temp;\n switch (key) {\n case 0:\n temp = arr[d];\n arr[d] = arr[c];\n arr[c] = arr[b];\n arr[b] = arr[a];\n arr[a] = temp;\n return;\n case 1:\n temp = arr[a];\n arr[a] = arr[c];\n arr[c] = temp;\n temp = arr[b];\n arr[b] = arr[d];\n arr[d] = temp;\n return;\n case 2:\n temp = arr[a];\n arr[a] = arr[b];\n arr[b] = arr[c];\n arr[c] = arr[d];\n arr[d] = temp;\n return;\n }\n}\n\nfunction Class_0() {}\n\nfunction createForArray(packageName, className, seedId, componentType) {\n const clazz = new Class_0();\n clazz.typeName = packageName + className;\n isInstantiable(seedId !== 0 ? -seedId : 0) &&\n setClassLiteral(seedId !== 0 ? -seedId : 0, clazz);\n clazz.modifiers = 4;\n clazz.superclass = Ljava_lang_Object_2_classLit;\n clazz.componentType = componentType;\n return clazz;\n}\n\nfunction createForClass(packageName, className, seedId, superclass) {\n const clazz = new Class_0();\n clazz.typeName = packageName + className;\n isInstantiable(seedId) && setClassLiteral(seedId, clazz);\n clazz.superclass = superclass;\n return clazz;\n}\n\nfunction getSeedFunction(clazz) {\n const func = seedTable[clazz.seedId];\n clazz = null;\n return func;\n}\n\nfunction isInstantiable(seedId) {\n return typeof seedId === \"number\" && seedId > 0;\n}\n\nfunction setClassLiteral(seedId, clazz) {\n let proto;\n clazz.seedId = seedId;\n if (seedId === 2) {\n proto = String.prototype;\n } else {\n if (seedId > 0) {\n let seed = getSeedFunction(clazz);\n if (seed) {\n proto = seed.prototype;\n } else {\n seed = seedTable[seedId] = function () {};\n seed.___clazz$ = clazz;\n return;\n }\n } else {\n return;\n }\n }\n proto.___clazz$ = clazz;\n}\n\n_.val$outerIter = null;\n\nfunction $add(this$static, o) {\n if ($offer(this$static, o)) {\n return true;\n }\n}\n\nfunction $$init_6(this$static) {\n this$static.array = initDim(\n _3Ljava_lang_Object_2_classLit,\n makeCastMap([Q$Serializable, Q$Object_$1]),\n Q$Object,\n 0,\n 0,\n );\n}\n\nfunction $add_0(this$static, o) {\n setCheck(this$static.array, this$static.size++, o);\n return true;\n}\n\nfunction $clear(this$static) {\n this$static.array = initDim(\n _3Ljava_lang_Object_2_classLit,\n makeCastMap([Q$Serializable, Q$Object_$1]),\n Q$Object,\n 0,\n 0,\n );\n this$static.size = 0;\n}\n\nfunction $get_4(this$static, index) {\n return this$static.array[index];\n}\n\nfunction $remove_0(this$static, index) {\n const previous = this$static.array[index];\n splice_0(this$static.array, index, 1);\n --this$static.size;\n return previous;\n}\n\nfunction $set_7(this$static, index, o) {\n const previous = this$static.array[index];\n setCheck(this$static.array, index, o);\n return previous;\n}\n\nfunction $toArray_0(this$static, out) {\n let i_0;\n out.length < this$static.size && (out = createFrom(out, this$static.size));\n for (i_0 = 0; i_0 < this$static.size; ++i_0) {\n setCheck(out, i_0, this$static.array[i_0]);\n }\n out.length > this$static.size && setCheck(out, this$static.size, null);\n return out;\n}\n\nfunction ArrayList_1() {\n $$init_6(this);\n this.array.length = 500;\n}\n\nfunction splice_0(array, index, deleteCount) {\n array.splice(index, deleteCount);\n}\n_.size = 0;\n\nfunction binarySearch_0(sortedArray, key) {\n let high, low, mid, midVal;\n low = 0;\n high = sortedArray.length - 1;\n while (low <= high) {\n mid = low + (~~(high - low) >> 1);\n midVal = sortedArray[mid];\n if (midVal < key) {\n low = mid + 1;\n } else if (midVal > key) {\n high = mid - 1;\n } else {\n return mid;\n }\n }\n return -low - 1;\n}\n\nfunction fill_0(a) {\n fill_1(a, a.length);\n}\n\nfunction fill_1(a, toIndex) {\n let i_0;\n for (i_0 = 0; i_0 < toIndex; ++i_0) {\n a[i_0] = -1;\n }\n}\n\nfunction $mergeHeaps(this$static, node) {\n let smallestChild, leftChild, rightChild, smallestChild_0;\n const heapSize = this$static.heap.size;\n const value = $get_4(this$static.heap, node);\n while (node * 2 + 1 < heapSize) {\n smallestChild =\n ((leftChild = 2 * node + 1),\n (rightChild = leftChild + 1),\n (smallestChild_0 = leftChild),\n rightChild < heapSize &&\n $compare_0(\n $get_4(this$static.heap, rightChild),\n $get_4(this$static.heap, leftChild),\n ) < 0 &&\n (smallestChild_0 = rightChild),\n smallestChild_0);\n if ($compare_0(value, $get_4(this$static.heap, smallestChild)) < 0) {\n break;\n }\n $set_7(this$static.heap, node, $get_4(this$static.heap, smallestChild));\n node = smallestChild;\n }\n $set_7(this$static.heap, node, value);\n}\n\nfunction $offer(this$static, e) {\n let childNode, node;\n node = this$static.heap.size;\n $add_0(this$static.heap, e);\n while (node > 0) {\n childNode = node;\n node = ~~((node - 1) / 2);\n if ($compare_0($get_4(this$static.heap, node), e) <= 0) {\n $set_7(this$static.heap, childNode, e);\n return true;\n }\n $set_7(this$static.heap, childNode, $get_4(this$static.heap, node));\n }\n $set_7(this$static.heap, node, e);\n return true;\n}\n\nfunction $poll(this$static) {\n if (this$static.heap.size === 0) {\n return null;\n }\n const value = $get_4(this$static.heap, 0);\n $removeAtIndex(this$static);\n return value;\n}\n\nfunction $removeAtIndex(this$static) {\n const lastValue = $remove_0(this$static.heap, this$static.heap.size - 1);\n if (0 < this$static.heap.size) {\n $set_7(this$static.heap, 0, lastValue);\n $mergeHeaps(this$static, 0);\n }\n}\n\nfunction $toArray_1(this$static, a) {\n return $toArray_0(this$static.heap, a);\n}\n\nfunction PriorityQueue_0(cmp) {\n this.heap = new ArrayList_1();\n this.cmp = cmp;\n}\n\ndefineSeed(239, 1, {}, PriorityQueue_0);\n_.cmp = null;\n_.heap = null;\n\nconst Ljava_lang_Object_2_classLit = createForClass(\n \"java.lang.\",\n \"Object\",\n 1,\n null,\n ),\n _3Ljava_lang_Object_2_classLit = createForArray(\n \"[Ljava.lang.\",\n \"Object;\",\n 356,\n Ljava_lang_Object_2_classLit,\n ),\n Lcs_threephase_FullCube_2_classLit = createForClass(\n \"cs.threephase.\",\n \"FullCube\",\n 160,\n Ljava_lang_Object_2_classLit,\n ),\n _3Lcs_threephase_FullCube_2_classLit = createForArray(\n \"[Lcs.threephase.\",\n \"FullCube;\",\n 381,\n Lcs_threephase_FullCube_2_classLit,\n );\n\nlet searcher;\n\nlet raninit = false;\nfunction init() {\n if (raninit) {\n return;\n }\n raninit = true;\n $clinit_Moves();\n $clinit_Util_0();\n $clinit_Center1();\n $clinit_Center2();\n $clinit_Center3();\n $clinit_Edge3();\n $clinit_CornerCube();\n $clinit_EdgeCube();\n $clinit_FullCube_0();\n searcher = new Search_4();\n}\n\nexport function initialize(): void {\n init();\n init_5();\n}\n\nexport async function random444Scramble(): Promise<Alg> {\n mustBeInsideWorker();\n init();\n const suffix = Alg.fromString(\n $randomState(searcher, await randomUIntBelowFactory()),\n );\n return (await getRandomScramble333()).concat(suffix);\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|