@vue-skuilder/platform-ui 0.1.39 → 0.2.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/dist/assets/{About-Brfh8TQk.js → About-DZu4NTIu.js} +2 -2
- package/dist/assets/{About-Brfh8TQk.js.map → About-DZu4NTIu.js.map} +1 -1
- package/dist/assets/{AdminDashboard-BRdtpybE.js → AdminDashboard-DCmQRZN6.js} +2 -2
- package/dist/assets/{AdminDashboard-BRdtpybE.js.map → AdminDashboard-DCmQRZN6.js.map} +1 -1
- package/dist/assets/{ClassroomCtrlPanel-CpIKq8Bm.js → ClassroomCtrlPanel-CNEQoPZp.js} +2 -2
- package/dist/assets/{ClassroomCtrlPanel-CpIKq8Bm.js.map → ClassroomCtrlPanel-CNEQoPZp.js.map} +1 -1
- package/dist/assets/{Classrooms-BGxHIgY-.js → Classrooms-DrUSuX7I.js} +2 -2
- package/dist/assets/{Classrooms-BGxHIgY-.js.map → Classrooms-DrUSuX7I.js.map} +1 -1
- package/dist/assets/{CourseRouter-aOc_IMMS.js → CourseRouter-DWzw8dyy.js} +2 -2
- package/dist/assets/{CourseRouter-aOc_IMMS.js.map → CourseRouter-DWzw8dyy.js.map} +1 -1
- package/dist/assets/{CourseWare-BTFRjgBR-CJ_dioOK.js → CourseWare-BTFRjgBR-Djhqr7kc.js} +3 -3
- package/dist/assets/{CourseWare-BTFRjgBR-CJ_dioOK.js.map → CourseWare-BTFRjgBR-Djhqr7kc.js.map} +1 -1
- package/dist/assets/{Courses-xaeJ0BTK.js → Courses-DxcRq-5E.js} +2 -2
- package/dist/assets/{Courses-xaeJ0BTK.js.map → Courses-DxcRq-5E.js.map} +1 -1
- package/dist/assets/{EloModeration-B9x4Pso3.js → EloModeration-BDANQSZq.js} +2 -2
- package/dist/assets/{EloModeration-B9x4Pso3.js.map → EloModeration-BDANQSZq.js.map} +1 -1
- package/dist/assets/{JoinCode-DIxd40TL.js → JoinCode-CD-qC0t-.js} +2 -2
- package/dist/assets/{JoinCode-DIxd40TL.js.map → JoinCode-CD-qC0t-.js.map} +1 -1
- package/dist/assets/{NewCourseDialog-DZtKqbex.js → NewCourseDialog-BvMq0P3v.js} +2 -2
- package/dist/assets/{NewCourseDialog-DZtKqbex.js.map → NewCourseDialog-BvMq0P3v.js.map} +1 -1
- package/dist/assets/{ReleaseNotes-DHjdimbT.js → ReleaseNotes-ChSHK0Pw.js} +2 -2
- package/dist/assets/{ReleaseNotes-DHjdimbT.js.map → ReleaseNotes-ChSHK0Pw.js.map} +1 -1
- package/dist/assets/{RequestPasswordReset-Nr-GIOcY.js → RequestPasswordReset-DbBbksWK.js} +2 -2
- package/dist/assets/{RequestPasswordReset-Nr-GIOcY.js.map → RequestPasswordReset-DbBbksWK.js.map} +1 -1
- package/dist/assets/{ResetPassword-Bew9BxSG.js → ResetPassword-ByELNYeE.js} +2 -2
- package/dist/assets/{ResetPassword-Bew9BxSG.js.map → ResetPassword-ByELNYeE.js.map} +1 -1
- package/dist/assets/{Study-T5XmZRbC.js → Study-C5xTkc5i.js} +2 -2
- package/dist/assets/{Study-T5XmZRbC.js.map → Study-C5xTkc5i.js.map} +1 -1
- package/dist/assets/{TagInformation-C_hqyELw.js → TagInformation-xcQmwCTt.js} +2 -2
- package/dist/assets/{TagInformation-C_hqyELw.js.map → TagInformation-xcQmwCTt.js.map} +1 -1
- package/dist/assets/{User-z5Dyrw1t.js → User-Bi_H1hZ6.js} +2 -2
- package/dist/assets/{User-z5Dyrw1t.js.map → User-Bi_H1hZ6.js.map} +1 -1
- package/dist/assets/{UserStats-B3xvS5oY.js → UserStats-BYiC_k-m.js} +2 -2
- package/dist/assets/{UserStats-B3xvS5oY.js.map → UserStats-BYiC_k-m.js.map} +1 -1
- package/dist/assets/{VerifyEmail-B0PU2-y8.js → VerifyEmail-DkOQwwnD.js} +2 -2
- package/dist/assets/{VerifyEmail-B0PU2-y8.js.map → VerifyEmail-DkOQwwnD.js.map} +1 -1
- package/dist/assets/{chess-BbHATAzk-Cg82-bQo.js → chess-BbHATAzk-pOrUYAZ0.js} +2 -2
- package/dist/assets/{chess-BbHATAzk-Cg82-bQo.js.map → chess-BbHATAzk-pOrUYAZ0.js.map} +1 -1
- package/dist/assets/chess-X1bmWmh3-D2SHv0Qi.js +1 -0
- package/dist/assets/common-ui.es-BvHCzp9O.js +1 -0
- package/dist/assets/{common-ui.es-BlPwGsw2.js → common-ui.es-lR5lAjyE.js} +4 -4
- package/dist/assets/{common-ui.es-BlPwGsw2.js.map → common-ui.es-lR5lAjyE.js.map} +1 -1
- package/dist/assets/{dist-_BcBszp5.js → dist-B8xeftM2.js} +4 -4
- package/dist/assets/{dist-_BcBszp5.js.map → dist-B8xeftM2.js.map} +1 -1
- package/dist/assets/dist-Dww9R8oE.js +1 -0
- package/dist/assets/dist-Fzmv5Raq.js +1 -0
- package/dist/assets/{dist-DDUo9vl-.js → dist-gNsavZQG.js} +3 -3
- package/dist/assets/{dist-DDUo9vl-.js.map → dist-gNsavZQG.js.map} +1 -1
- package/dist/assets/edit-ui.es-BpaEhZ3z.js +1 -0
- package/dist/assets/{edit-ui.es-DMCzuw0a.js → edit-ui.es-DQ_QxgcF.js} +2 -2
- package/dist/assets/{edit-ui.es-DMCzuw0a.js.map → edit-ui.es-DQ_QxgcF.js.map} +1 -1
- package/dist/assets/{french-Dk7YG8Td-DGU5NKwA.js → french-Dk7YG8Td-JC0vxa-w.js} +2 -2
- package/dist/assets/{french-Dk7YG8Td-DGU5NKwA.js.map → french-Dk7YG8Td-JC0vxa-w.js.map} +1 -1
- package/dist/assets/french-evUMlbbq-BuUWAV-J.js +1 -0
- package/dist/assets/{index-CeKAy3kj.js → index-uBAgCbRp.js} +4 -4
- package/dist/assets/{index-CeKAy3kj.js.map → index-uBAgCbRp.js.map} +1 -1
- package/dist/assets/{math-B4HbgYf6-6DWFko3E.js → math-B4HbgYf6-Kurre5to.js} +2 -2
- package/dist/assets/{math-B4HbgYf6-6DWFko3E.js.map → math-B4HbgYf6-Kurre5to.js.map} +1 -1
- package/dist/assets/math-DYni7rRl-B1C3iCP1.js +1 -0
- package/dist/assets/piano-BN5Btq91-CtjFp2A3.js +1 -0
- package/dist/assets/{piano-DF1g6yaX-CMP2uZxw.js → piano-DF1g6yaX-BJpKartB.js} +2 -2
- package/dist/assets/{piano-DF1g6yaX-CMP2uZxw.js.map → piano-DF1g6yaX-BJpKartB.js.map} +1 -1
- package/dist/assets/{pitch-CgGJFkZ1-6Cn9xr8Y.js → pitch-CgGJFkZ1-DkV3oB-6.js} +2 -2
- package/dist/assets/{pitch-CgGJFkZ1-6Cn9xr8Y.js.map → pitch-CgGJFkZ1-DkV3oB-6.js.map} +1 -1
- package/dist/assets/pitch-Dn0iNqiS-DPkXZ2T5.js +1 -0
- package/dist/assets/{server-BLIuzWfM.js → server-C80ynHJm.js} +2 -2
- package/dist/assets/{server-BLIuzWfM.js.map → server-C80ynHJm.js.map} +1 -1
- package/dist/assets/{sightsing-BFQ7HRig-Bm1JyRUb.js → sightsing-BFQ7HRig-ain8LgTr.js} +2 -2
- package/dist/assets/{sightsing-BFQ7HRig-Bm1JyRUb.js.map → sightsing-BFQ7HRig-ain8LgTr.js.map} +1 -1
- package/dist/assets/sightsing-CJX3k0Fd-CauzoxqQ.js +1 -0
- package/dist/assets/{typing-BevtfWlp-DYuj-g_j.js → typing-BevtfWlp-BKIHTbO9.js} +2 -2
- package/dist/assets/{typing-BevtfWlp-DYuj-g_j.js.map → typing-BevtfWlp-BKIHTbO9.js.map} +1 -1
- package/dist/assets/typing-k-ojjO7G-CWnss5na.js +1 -0
- package/dist/assets/{word-work-BOnRlZgd-DzXGgW2E.js → word-work-BOnRlZgd-BV5yYzT0.js} +2 -2
- package/dist/assets/{word-work-BOnRlZgd-DzXGgW2E.js.map → word-work-BOnRlZgd-BV5yYzT0.js.map} +1 -1
- package/dist/assets/word-work-Dd6tIKrt-CRz1ejBN.js +1 -0
- package/dist/index.html +3 -3
- package/dist/sw.js +1 -1
- package/dist/sw.js.map +1 -1
- package/package.json +7 -7
- package/dist/assets/chess-X1bmWmh3-CBvoDkx2.js +0 -1
- package/dist/assets/common-ui.es-CoYDSQBA.js +0 -1
- package/dist/assets/dist-4Z6zqCn7.js +0 -1
- package/dist/assets/dist-D4jSZ5eu.js +0 -1
- package/dist/assets/edit-ui.es-DHBK-Btq.js +0 -1
- package/dist/assets/french-evUMlbbq-BzBbkRkM.js +0 -1
- package/dist/assets/math-DYni7rRl-DR31kLQJ.js +0 -1
- package/dist/assets/piano-BN5Btq91-3TIxs3CP.js +0 -1
- package/dist/assets/pitch-Dn0iNqiS-0D3AqCJk.js +0 -1
- package/dist/assets/sightsing-CJX3k0Fd-DF_e3lLX.js +0 -1
- package/dist/assets/typing-k-ojjO7G-BYf1IAr6.js +0 -1
- package/dist/assets/word-work-Dd6tIKrt-CP_J8cmr.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chess-BbHATAzk-Cg82-bQo.js","names":["e","h","c","v","_","f","i","l","u","d","o","s","m","r","p","a","t","g","y","b","x","n"],"sources":["../../../courseware/dist/chess-BbHATAzk.js"],"sourcesContent":["import { r as e } from \"./shapes-BQUVJdp5.js\";\nimport { r as t, t as n } from \"./CourseWare-BTFRjgBR.js\";\nimport { Fragment as r, computed as i, createCommentVNode as a, createElementBlock as o, createElementVNode as s, defineComponent as c, onMounted as l, onUnmounted as u, openBlock as d, ref as f, renderList as p, toDisplayString as m, watch as h } from \"vue\";\nimport { Question as g, useQuestionView as _, useViewable as v } from \"@vue-skuilder/common-ui\";\nimport { DataShapeName as y, FieldType as b, Status as x } from \"@vue-skuilder/common\";\nimport './assets/chess.css';//#region src/chess/chessground/types.ts\nvar S = [\"cg-white\", \"cg-black\"], C = [\n\t\"a\",\n\t\"b\",\n\t\"c\",\n\t\"d\",\n\t\"e\",\n\t\"f\",\n\t\"g\",\n\t\"h\"\n], w = [\n\t\"1\",\n\t\"2\",\n\t\"3\",\n\t\"4\",\n\t\"5\",\n\t\"6\",\n\t\"7\",\n\t\"8\"\n], T = [...w].reverse(), E = Array.prototype.concat(...C.map((e) => w.map((t) => e + t))), pos2key = (e) => E[8 * e[0] + e[1]], key2pos = (e) => [e.charCodeAt(0) - 97, e.charCodeAt(1) - 49], D = E.map(key2pos);\nfunction memo(e) {\n\tlet t, ret = () => (t === void 0 && (t = e()), t);\n\treturn ret.clear = () => {\n\t\tt = void 0;\n\t}, ret;\n}\nvar timer = () => {\n\tlet e;\n\treturn {\n\t\tstart() {\n\t\t\te = performance.now();\n\t\t},\n\t\tcancel() {\n\t\t\te = void 0;\n\t\t},\n\t\tstop() {\n\t\t\tif (!e) return 0;\n\t\t\tlet t = performance.now() - e;\n\t\t\treturn e = void 0, t;\n\t\t}\n\t};\n}, opposite = (e) => e === \"cg-white\" ? \"cg-black\" : \"cg-white\", distanceSq = (e, t) => {\n\tlet n = e[0] - t[0], r = e[1] - t[1];\n\treturn n * n + r * r;\n}, samePiece = (e, t) => e.role === t.role && e.color === t.color, posToTranslate = (e) => (t, n) => [(n ? t[0] : 7 - t[0]) * e.width / 8, (n ? 7 - t[1] : t[1]) * e.height / 8], translate = (e, t) => {\n\te.style.transform = `translate(${t[0]}px,${t[1]}px)`;\n}, translateAndScale = (e, t, n = 1) => {\n\te.style.transform = `translate(${t[0]}px,${t[1]}px) scale(${n})`;\n}, setVisible = (e, t) => {\n\te.style.visibility = t ? \"visible\" : \"hidden\";\n}, eventPosition = (e) => {\n\tif (e.clientX || e.clientX === 0) return [e.clientX, e.clientY];\n\tif (e.targetTouches?.[0]) return [e.targetTouches[0].clientX, e.targetTouches[0].clientY];\n}, isRightButton = (e) => e.button === 2, createEl = (e, t) => {\n\tlet n = document.createElement(e);\n\treturn t && (n.className = t), n;\n};\nfunction computeSquareCenter(e, t, n) {\n\tlet r = key2pos(e);\n\treturn t || (r[0] = 7 - r[0], r[1] = 7 - r[1]), [n.left + n.width * r[0] / 8 + n.width / 16, n.top + n.height * (7 - r[1]) / 8 + n.height / 16];\n}\n//#endregion\n//#region src/chess/chessground/premove.ts\nvar diff = (e, t) => Math.abs(e - t), pawn = (e) => (t, n, r, i) => diff(t, r) < 2 && (e === \"cg-white\" ? i === n + 1 || n <= 1 && i === n + 2 && t === r : i === n - 1 || n >= 6 && i === n - 2 && t === r), knight = (e, t, n, r) => {\n\tlet i = diff(e, n), a = diff(t, r);\n\treturn i === 1 && a === 2 || i === 2 && a === 1;\n}, bishop = (e, t, n, r) => diff(e, n) === diff(t, r), rook = (e, t, n, r) => e === n || t === r, queen = (e, t, n, r) => bishop(e, t, n, r) || rook(e, t, n, r), king = (e, t, n) => (r, i, a, o) => diff(r, a) < 2 && diff(i, o) < 2 || n && i === o && i === (e === \"cg-white\" ? 0 : 7) && (r === 4 && (a === 2 && t.includes(0) || a === 6 && t.includes(7)) || t.includes(a));\nfunction rookFilesOf(e, t) {\n\tlet n = t === \"cg-white\" ? \"1\" : \"8\", r = [];\n\tfor (let [i, a] of e) i[1] === n && a.color === t && a.role === \"rook\" && r.push(key2pos(i)[0]);\n\treturn r;\n}\nfunction premove(e, t, n) {\n\tlet r = e.get(t);\n\tif (!r) return [];\n\tlet i = key2pos(t), a = r.role, o = a === \"pawn\" ? pawn(r.color) : a === \"knight\" ? knight : a === \"bishop\" ? bishop : a === \"rook\" ? rook : a === \"queen\" ? queen : king(r.color, rookFilesOf(e, r.color), n);\n\treturn D.filter((e) => (i[0] !== e[0] || i[1] !== e[1]) && o(i[0], i[1], e[0], e[1])).map(pos2key);\n}\n//#endregion\n//#region src/chess/chessground/board.ts\nfunction callUserFunction(e, ...t) {\n\te && setTimeout(() => e(...t), 1);\n}\nfunction toggleOrientation(e) {\n\te.orientation = opposite(e.orientation), e.animation.current = e.draggable.current = e.selected = void 0;\n}\nfunction setPieces(e, t) {\n\tfor (let [n, r] of t) r ? e.pieces.set(n, r) : e.pieces.delete(n);\n}\nfunction setCheck(e, t) {\n\tif (e.check = void 0, t === !0 && (t = e.turnColor), t) for (let [n, r] of e.pieces) r.role === \"king\" && r.color === t && (e.check = n);\n}\nfunction setPremove(e, t, n, r) {\n\tunsetPredrop(e), e.premovable.current = [t, n], callUserFunction(e.premovable.events.set, t, n, r);\n}\nfunction unsetPremove(e) {\n\te.premovable.current && (e.premovable.current = void 0, callUserFunction(e.premovable.events.unset));\n}\nfunction setPredrop(e, t, n) {\n\tunsetPremove(e), e.predroppable.current = {\n\t\trole: t,\n\t\tkey: n\n\t}, callUserFunction(e.predroppable.events.set, t, n);\n}\nfunction unsetPredrop(e) {\n\tlet t = e.predroppable;\n\tt.current && (t.current = void 0, callUserFunction(t.events.unset));\n}\nfunction tryAutoCastle(e, t, n) {\n\tif (!e.autoCastle) return !1;\n\tlet r = e.pieces.get(t);\n\tif (!r || r.role !== \"king\") return !1;\n\tlet i = key2pos(t), a = key2pos(n);\n\tif (i[1] !== 0 && i[1] !== 7 || i[1] !== a[1]) return !1;\n\ti[0] === 4 && !e.pieces.has(n) && (a[0] === 6 ? n = pos2key([7, a[1]]) : a[0] === 2 && (n = pos2key([0, a[1]])));\n\tlet o = e.pieces.get(n);\n\treturn !o || o.color !== r.color || o.role !== \"rook\" ? !1 : (e.pieces.delete(t), e.pieces.delete(n), i[0] < a[0] ? (e.pieces.set(pos2key([6, a[1]]), r), e.pieces.set(pos2key([5, a[1]]), o)) : (e.pieces.set(pos2key([2, a[1]]), r), e.pieces.set(pos2key([3, a[1]]), o)), !0);\n}\nfunction baseMove(e, t, n) {\n\tlet r = e.pieces.get(t), i = e.pieces.get(n);\n\tif (t === n || !r) return !1;\n\tlet a = i && i.color !== r.color ? i : void 0;\n\treturn n === e.selected && unselect(e), callUserFunction(e.events.move, t, n, a), tryAutoCastle(e, t, n) || (e.pieces.set(n, r), e.pieces.delete(t)), e.lastMove = [t, n], e.check = void 0, callUserFunction(e.events.change), a || !0;\n}\nfunction baseNewPiece(e, t, n, r) {\n\tif (e.pieces.has(n)) if (r) e.pieces.delete(n);\n\telse return !1;\n\treturn callUserFunction(e.events.dropNewPiece, t, n), e.pieces.set(n, t), e.lastMove = [n], e.check = void 0, callUserFunction(e.events.change), e.movable.dests = void 0, e.turnColor = opposite(e.turnColor), !0;\n}\nfunction baseUserMove(e, t, n) {\n\tlet r = baseMove(e, t, n);\n\treturn r && (e.movable.dests = void 0, e.turnColor = opposite(e.turnColor), e.animation.current = void 0), r;\n}\nfunction userMove(e, t, n) {\n\tif (canMove(e, t, n)) {\n\t\tlet r = baseUserMove(e, t, n);\n\t\tif (r) {\n\t\t\tlet i = e.hold.stop();\n\t\t\tunselect(e);\n\t\t\tlet a = {\n\t\t\t\tpremove: !1,\n\t\t\t\tctrlKey: e.stats.ctrlKey,\n\t\t\t\tholdTime: i\n\t\t\t};\n\t\t\treturn r !== !0 && (a.captured = r), callUserFunction(e.movable.events.after, t, n, a), !0;\n\t\t}\n\t} else if (canPremove(e, t, n)) return setPremove(e, t, n, { ctrlKey: e.stats.ctrlKey }), unselect(e), !0;\n\treturn unselect(e), !1;\n}\nfunction dropNewPiece(e, t, n, r) {\n\tlet i = e.pieces.get(t);\n\ti && (canDrop(e, t, n) || r) ? (e.pieces.delete(t), baseNewPiece(e, i, n, r), callUserFunction(e.movable.events.afterNewPiece, i.role, n, {\n\t\tpremove: !1,\n\t\tpredrop: !1\n\t})) : i && canPredrop(e, t, n) ? setPredrop(e, i.role, n) : (unsetPremove(e), unsetPredrop(e)), e.pieces.delete(t), unselect(e);\n}\nfunction selectSquare(e, t, n) {\n\tif (callUserFunction(e.events.select, t), e.selected) {\n\t\tif (e.selected === t && !e.draggable.enabled) {\n\t\t\tunselect(e), e.hold.cancel();\n\t\t\treturn;\n\t\t} else if ((e.selectable.enabled || n) && e.selected !== t && userMove(e, e.selected, t)) {\n\t\t\te.stats.dragged = !1;\n\t\t\treturn;\n\t\t}\n\t}\n\t(e.selectable.enabled || e.draggable.enabled) && (isMovable(e, t) || isPremovable(e, t)) && (setSelected(e, t), e.hold.start());\n}\nfunction setSelected(e, t) {\n\te.selected = t, isPremovable(e, t) ? e.premovable.customDests || (e.premovable.dests = premove(e.pieces, t, e.premovable.castle)) : e.premovable.dests = void 0;\n}\nfunction unselect(e) {\n\te.selected = void 0, e.premovable.dests = void 0, e.hold.cancel();\n}\nfunction isMovable(e, t) {\n\tlet n = e.pieces.get(t);\n\treturn !!n && (e.movable.color === \"both\" || e.movable.color === n.color && e.turnColor === n.color);\n}\nvar canMove = (e, t, n) => t !== n && isMovable(e, t) && (e.movable.free || !!e.movable.dests?.get(t)?.includes(n));\nfunction canDrop(e, t, n) {\n\tlet r = e.pieces.get(t);\n\treturn !!r && (t === n || !e.pieces.has(n)) && (e.movable.color === \"both\" || e.movable.color === r.color && e.turnColor === r.color);\n}\nfunction isPremovable(e, t) {\n\tlet n = e.pieces.get(t);\n\treturn !!n && e.premovable.enabled && e.movable.color === n.color && e.turnColor !== n.color;\n}\nfunction canPremove(e, t, n) {\n\tlet r = e.premovable.customDests?.get(t) ?? premove(e.pieces, t, e.premovable.castle);\n\treturn t !== n && isPremovable(e, t) && r.includes(n);\n}\nfunction canPredrop(e, t, n) {\n\tlet r = e.pieces.get(t), i = e.pieces.get(n);\n\treturn !!r && (!i || i.color !== e.movable.color) && e.predroppable.enabled && (r.role !== \"pawn\" || n[1] !== \"1\" && n[1] !== \"8\") && e.movable.color === r.color && e.turnColor !== r.color;\n}\nfunction isDraggable(e, t) {\n\tlet n = e.pieces.get(t);\n\treturn !!n && e.draggable.enabled && (e.movable.color === \"both\" || e.movable.color === n.color && (e.turnColor === n.color || e.premovable.enabled));\n}\nfunction playPremove(e) {\n\tlet t = e.premovable.current;\n\tif (!t) return !1;\n\tlet n = t[0], r = t[1], i = !1;\n\tif (canMove(e, n, r)) {\n\t\tlet t = baseUserMove(e, n, r);\n\t\tif (t) {\n\t\t\tlet a = { premove: !0 };\n\t\t\tt !== !0 && (a.captured = t), callUserFunction(e.movable.events.after, n, r, a), i = !0;\n\t\t}\n\t}\n\treturn unsetPremove(e), i;\n}\nfunction playPredrop(e, t) {\n\tlet n = e.predroppable.current, r = !1;\n\treturn n ? (t(n) && baseNewPiece(e, {\n\t\trole: n.role,\n\t\tcolor: e.movable.color\n\t}, n.key) && (callUserFunction(e.movable.events.afterNewPiece, n.role, n.key, {\n\t\tpremove: !1,\n\t\tpredrop: !0\n\t}), r = !0), unsetPredrop(e), r) : !1;\n}\nfunction cancelMove(e) {\n\tunsetPremove(e), unsetPredrop(e), unselect(e);\n}\nfunction stop(e) {\n\te.movable.color = e.movable.dests = e.animation.current = void 0, cancelMove(e);\n}\nfunction getKeyAtDomPos(e, t, n) {\n\tlet r = Math.floor(8 * (e[0] - n.left) / n.width);\n\tt || (r = 7 - r);\n\tlet i = 7 - Math.floor(8 * (e[1] - n.top) / n.height);\n\treturn t || (i = 7 - i), r >= 0 && r < 8 && i >= 0 && i < 8 ? pos2key([r, i]) : void 0;\n}\nfunction getSnappedKeyAtDomPos(e, t, n, r) {\n\tlet i = key2pos(e), a = D.filter((e) => queen(i[0], i[1], e[0], e[1]) || knight(i[0], i[1], e[0], e[1])), o = a.map((e) => computeSquareCenter(pos2key(e), n, r)).map((e) => distanceSq(t, e)), [, s] = o.reduce((e, t, n) => e[0] < t ? e : [t, n], [o[0], 0]);\n\treturn pos2key(a[s]);\n}\nvar whitePov = (e) => e.orientation === \"cg-white\", O = \"rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR\", k = {\n\tp: \"pawn\",\n\tr: \"rook\",\n\tn: \"knight\",\n\tb: \"bishop\",\n\tq: \"queen\",\n\tk: \"king\"\n}, A = {\n\tpawn: \"p\",\n\trook: \"r\",\n\tknight: \"n\",\n\tbishop: \"b\",\n\tqueen: \"q\",\n\tking: \"k\"\n};\nfunction read(e) {\n\te === \"start\" && (e = O);\n\tlet t = /* @__PURE__ */ new Map(), n = 7, r = 0;\n\tfor (let i of e) switch (i) {\n\t\tcase \" \":\n\t\tcase \"[\": return t;\n\t\tcase \"/\":\n\t\t\tif (--n, n < 0) return t;\n\t\t\tr = 0;\n\t\t\tbreak;\n\t\tcase \"~\": {\n\t\t\tlet e = t.get(pos2key([r - 1, n]));\n\t\t\te && (e.promoted = !0);\n\t\t\tbreak;\n\t\t}\n\t\tdefault: {\n\t\t\tlet e = i.charCodeAt(0);\n\t\t\tif (e < 57) r += e - 48;\n\t\t\telse {\n\t\t\t\tlet e = i.toLowerCase();\n\t\t\t\tt.set(pos2key([r, n]), {\n\t\t\t\t\trole: k[e],\n\t\t\t\t\tcolor: i === e ? \"cg-black\" : \"cg-white\"\n\t\t\t\t}), ++r;\n\t\t\t}\n\t\t}\n\t}\n\treturn t;\n}\nfunction write(e) {\n\treturn T.map((t) => C.map((n) => {\n\t\tlet r = e.get(n + t);\n\t\tif (r) {\n\t\t\tlet e = A[r.role];\n\t\t\treturn r.color === \"cg-white\" && (e = e.toUpperCase()), r.promoted && (e += \"~\"), e;\n\t\t} else return \"1\";\n\t}).join(\"\")).join(\"/\").replace(/1{2,}/g, (e) => e.length.toString());\n}\n//#endregion\n//#region src/chess/chessground/config.ts\nfunction applyAnimation(e, t) {\n\tt.animation && (deepMerge(e.animation, t.animation), (e.animation.duration || 0) < 70 && (e.animation.enabled = !1));\n}\nfunction configure(e, t) {\n\tif (t.movable?.dests && (e.movable.dests = void 0), t.drawable?.autoShapes && (e.drawable.autoShapes = []), deepMerge(e, t), t.fen && (e.pieces = read(t.fen), e.drawable.shapes = t.drawable?.shapes || []), \"check\" in t && setCheck(e, t.check || !1), \"lastMove\" in t && !t.lastMove ? e.lastMove = void 0 : t.lastMove && (e.lastMove = t.lastMove), e.selected && setSelected(e, e.selected), applyAnimation(e, t), !e.movable.rookCastle && e.movable.dests) {\n\t\tlet t = e.movable.color === \"cg-white\" ? \"1\" : \"8\", n = \"e\" + t, r = e.movable.dests.get(n), i = e.pieces.get(n);\n\t\tif (!r || !i || i.role !== \"king\") return;\n\t\te.movable.dests.set(n, r.filter((e) => !(e === \"a\" + t && r.includes(\"c\" + t)) && !(e === \"h\" + t && r.includes(\"g\" + t))));\n\t}\n}\nfunction deepMerge(e, t) {\n\tfor (let n in t) Object.prototype.hasOwnProperty.call(t, n) && (Object.prototype.hasOwnProperty.call(e, n) && isPlainObject(e[n]) && isPlainObject(t[n]) ? deepMerge(e[n], t[n]) : e[n] = t[n]);\n}\nfunction isPlainObject(e) {\n\tif (typeof e != \"object\" || !e) return !1;\n\tlet t = Object.getPrototypeOf(e);\n\treturn t === Object.prototype || t === null;\n}\n//#endregion\n//#region src/chess/chessground/anim.ts\nvar anim = (e, t) => t.animation.enabled ? animate(e, t) : render$2(e, t);\nfunction render$2(e, t) {\n\tlet n = e(t);\n\treturn t.dom.redraw(), n;\n}\ne(render$2, \"render\");\nvar makePiece = (e, t) => ({\n\tkey: e,\n\tpos: key2pos(e),\n\tpiece: t\n}), closer = (e, t) => t.sort((t, n) => distanceSq(e.pos, t.pos) - distanceSq(e.pos, n.pos))[0];\nfunction computePlan(e, t) {\n\tlet n = /* @__PURE__ */ new Map(), r = [], i = /* @__PURE__ */ new Map(), a = [], o = [], s = /* @__PURE__ */ new Map(), c, l, u;\n\tfor (let [t, n] of e) s.set(t, makePiece(t, n));\n\tfor (let e of E) c = t.pieces.get(e), l = s.get(e), c ? l ? samePiece(c, l.piece) || (a.push(l), o.push(makePiece(e, c))) : o.push(makePiece(e, c)) : l && a.push(l);\n\tfor (let e of o) l = closer(e, a.filter((t) => samePiece(e.piece, t.piece))), l && (u = [l.pos[0] - e.pos[0], l.pos[1] - e.pos[1]], n.set(e.key, u.concat(u)), r.push(l.key));\n\tfor (let e of a) r.includes(e.key) || i.set(e.key, e.piece);\n\treturn {\n\t\tanims: n,\n\t\tfadings: i\n\t};\n}\nfunction step(e, t) {\n\tlet n = e.animation.current;\n\tif (n === void 0) {\n\t\te.dom.destroyed || e.dom.redrawNow();\n\t\treturn;\n\t}\n\tlet r = 1 - (t - n.start) * n.frequency;\n\tif (r <= 0) e.animation.current = void 0, e.dom.redrawNow();\n\telse {\n\t\tlet t = easing(r);\n\t\tfor (let e of n.plan.anims.values()) e[2] = e[0] * t, e[3] = e[1] * t;\n\t\te.dom.redrawNow(!0), requestAnimationFrame((t = performance.now()) => step(e, t));\n\t}\n}\nfunction animate(e, t) {\n\tlet n = new Map(t.pieces), r = e(t), i = computePlan(n, t);\n\tif (i.anims.size || i.fadings.size) {\n\t\tlet e = t.animation.current && t.animation.current.start;\n\t\tt.animation.current = {\n\t\t\tstart: performance.now(),\n\t\t\tfrequency: 1 / t.animation.duration,\n\t\t\tplan: i\n\t\t}, e || step(t, performance.now());\n\t} else t.dom.redraw();\n\treturn r;\n}\nvar easing = (e) => e < .5 ? 4 * e * e * e : (e - 1) * (2 * e - 2) * (2 * e - 2) + 1, j = [\n\t\"green\",\n\t\"red\",\n\t\"blue\",\n\t\"yellow\"\n];\nfunction start$2(e, t) {\n\tif (t.touches && t.touches.length > 1) return;\n\tt.stopPropagation(), t.preventDefault(), t.ctrlKey ? unselect(e) : cancelMove(e);\n\tlet n = eventPosition(t), r = getKeyAtDomPos(n, whitePov(e), e.dom.bounds());\n\tr && (e.drawable.current = {\n\t\torig: r,\n\t\tpos: n,\n\t\tbrush: eventBrush(t),\n\t\tsnapToValidMove: e.drawable.defaultSnapToValidMove\n\t}, processDraw(e));\n}\ne(start$2, \"start\");\nfunction processDraw(e) {\n\trequestAnimationFrame(() => {\n\t\tlet t = e.drawable.current;\n\t\tif (t) {\n\t\t\tlet n = getKeyAtDomPos(t.pos, whitePov(e), e.dom.bounds());\n\t\t\tn || (t.snapToValidMove = !1);\n\t\t\tlet r = t.snapToValidMove ? getSnappedKeyAtDomPos(t.orig, t.pos, whitePov(e), e.dom.bounds()) : n;\n\t\t\tr !== t.mouseSq && (t.mouseSq = r, t.dest = r === t.orig ? void 0 : r, e.dom.redrawNow()), processDraw(e);\n\t\t}\n\t});\n}\nfunction move$1(e, t) {\n\te.drawable.current && (e.drawable.current.pos = eventPosition(t));\n}\ne(move$1, \"move\");\nfunction end$1(e) {\n\tlet t = e.drawable.current;\n\tt && (t.mouseSq && addShape(e.drawable, t), cancel$1(e));\n}\ne(end$1, \"end\");\nfunction cancel$1(e) {\n\te.drawable.current && (e.drawable.current = void 0, e.dom.redraw());\n}\ne(cancel$1, \"cancel\");\nfunction clear(e) {\n\te.drawable.shapes.length && (e.drawable.shapes = [], e.dom.redraw(), onChange(e.drawable));\n}\nfunction eventBrush(e) {\n\tlet t = (e.shiftKey || e.ctrlKey) && isRightButton(e), n = e.altKey || e.metaKey || e.getModifierState?.(\"AltGraph\");\n\treturn j[(t ? 1 : 0) + (n ? 2 : 0)];\n}\nfunction addShape(e, t) {\n\tlet sameShape = (e) => e.orig === t.orig && e.dest === t.dest, n = e.shapes.find(sameShape);\n\tn && (e.shapes = e.shapes.filter((e) => !sameShape(e))), (!n || n.brush !== t.brush) && e.shapes.push({\n\t\torig: t.orig,\n\t\tdest: t.dest,\n\t\tbrush: t.brush\n\t}), onChange(e);\n}\nfunction onChange(e) {\n\te.onChange && e.onChange(e.shapes);\n}\n//#endregion\n//#region src/chess/chessground/drag.ts\nfunction start$1(e, t) {\n\tif (!(e.trustAllEvents || t.isTrusted) || t.buttons !== void 0 && t.buttons > 1 || t.touches && t.touches.length > 1) return;\n\tlet n = e.dom.bounds(), r = eventPosition(t), i = getKeyAtDomPos(r, whitePov(e), n);\n\tif (!i) return;\n\tlet a = e.pieces.get(i), o = e.selected;\n\tif (!o && e.drawable.enabled && (e.drawable.eraseOnClick || !a || a.color !== e.turnColor) && clear(e), t.cancelable !== !1 && (!t.touches || e.blockTouchScroll || a || o || pieceCloseTo(e, r))) t.preventDefault();\n\telse if (t.touches) return;\n\tlet s = !!e.premovable.current, c = !!e.predroppable.current;\n\te.stats.ctrlKey = t.ctrlKey, e.selected && canMove(e, e.selected, i) ? anim((e) => selectSquare(e, i), e) : selectSquare(e, i);\n\tlet l = e.selected === i, u = pieceElementByKey(e, i);\n\tif (a && u && l && isDraggable(e, i)) {\n\t\te.draggable.current = {\n\t\t\torig: i,\n\t\t\tpiece: a,\n\t\t\torigPos: r,\n\t\t\tpos: r,\n\t\t\tstarted: e.draggable.autoDistance && e.stats.dragged,\n\t\t\telement: u,\n\t\t\tpreviouslySelected: o,\n\t\t\toriginTarget: t.target,\n\t\t\tkeyHasChanged: !1\n\t\t}, u.cgDragging = !0, u.classList.add(\"dragging\");\n\t\tlet s = e.dom.elements.ghost;\n\t\ts && (s.className = `ghost ${a.color} ${a.role}`, translate(s, posToTranslate(n)(key2pos(i), whitePov(e))), setVisible(s, !0)), processDrag(e);\n\t} else s && unsetPremove(e), c && unsetPredrop(e);\n\te.dom.redraw();\n}\ne(start$1, \"start\");\nfunction pieceCloseTo(e, t) {\n\tlet n = whitePov(e), r = e.dom.bounds(), i = (r.width / 8) ** 2;\n\tfor (let a of e.pieces.keys()) if (distanceSq(computeSquareCenter(a, n, r), t) <= i) return !0;\n\treturn !1;\n}\nfunction dragNewPiece(e, t, n, r) {\n\te.pieces.set(\"a0\", t), e.dom.redraw();\n\tlet i = eventPosition(n);\n\te.draggable.current = {\n\t\torig: \"a0\",\n\t\tpiece: t,\n\t\torigPos: i,\n\t\tpos: i,\n\t\tstarted: !0,\n\t\telement: () => pieceElementByKey(e, \"a0\"),\n\t\toriginTarget: n.target,\n\t\tnewPiece: !0,\n\t\tforce: !!r,\n\t\tkeyHasChanged: !1\n\t}, processDrag(e);\n}\nfunction processDrag(e) {\n\trequestAnimationFrame(() => {\n\t\tlet t = e.draggable.current;\n\t\tif (!t) return;\n\t\te.animation.current?.plan.anims.has(t.orig) && (e.animation.current = void 0);\n\t\tlet n = e.pieces.get(t.orig);\n\t\tif (!n || !samePiece(n, t.piece)) cancel(e);\n\t\telse if (!t.started && distanceSq(t.pos, t.origPos) >= e.draggable.distance ** 2 && (t.started = !0), t.started) {\n\t\t\tif (typeof t.element == \"function\") {\n\t\t\t\tlet e = t.element();\n\t\t\t\tif (!e) return;\n\t\t\t\te.cgDragging = !0, e.classList.add(\"dragging\"), t.element = e;\n\t\t\t}\n\t\t\tlet n = e.dom.bounds();\n\t\t\ttranslate(t.element, [t.pos[0] - n.left - n.width / 16, t.pos[1] - n.top - n.height / 16]), t.keyHasChanged = t.keyHasChanged || t.orig !== getKeyAtDomPos(t.pos, whitePov(e), n);\n\t\t}\n\t\tprocessDrag(e);\n\t});\n}\nfunction move(e, t) {\n\te.draggable.current && (!t.touches || t.touches.length < 2) && (e.draggable.current.pos = eventPosition(t));\n}\nfunction end(e, t) {\n\tlet n = e.draggable.current;\n\tif (!n) return;\n\tif (t.type === \"touchend\" && t.cancelable !== !1 && t.preventDefault(), t.type === \"touchend\" && n.originTarget !== t.target && !n.newPiece) {\n\t\te.draggable.current = void 0;\n\t\treturn;\n\t}\n\tunsetPremove(e), unsetPredrop(e);\n\tlet r = getKeyAtDomPos(eventPosition(t) || n.pos, whitePov(e), e.dom.bounds());\n\tr && n.started && n.orig !== r ? n.newPiece ? dropNewPiece(e, n.orig, r, n.force) : (e.stats.ctrlKey = t.ctrlKey, userMove(e, n.orig, r) && (e.stats.dragged = !0)) : n.newPiece ? e.pieces.delete(n.orig) : e.draggable.deleteOnDropOff && !r && (e.pieces.delete(n.orig), callUserFunction(e.events.change)), (n.orig === n.previouslySelected || n.keyHasChanged) && (n.orig === r || !r) ? unselect(e) : e.selectable.enabled || unselect(e), removeDragElements(e), e.draggable.current = void 0, e.dom.redraw();\n}\nfunction cancel(e) {\n\tlet t = e.draggable.current;\n\tt && (t.newPiece && e.pieces.delete(t.orig), e.draggable.current = void 0, unselect(e), removeDragElements(e), e.dom.redraw());\n}\nfunction removeDragElements(e) {\n\tlet t = e.dom.elements;\n\tt.ghost && setVisible(t.ghost, !1);\n}\nfunction pieceElementByKey(e, t) {\n\tlet n = e.dom.elements.board.firstChild;\n\tfor (; n;) {\n\t\tif (n.cgKey === t && n.tagName === \"PIECE\") return n;\n\t\tn = n.nextSibling;\n\t}\n}\n//#endregion\n//#region src/chess/chessground/explosion.ts\nfunction explosion(e, t) {\n\te.exploding = {\n\t\tstage: 1,\n\t\tkeys: t\n\t}, e.dom.redraw(), setTimeout(() => {\n\t\tsetStage(e, 2), setTimeout(() => setStage(e, void 0), 120);\n\t}, 120);\n}\nfunction setStage(e, t) {\n\te.exploding && (t ? e.exploding.stage = t : e.exploding = void 0, e.dom.redraw());\n}\n//#endregion\n//#region src/chess/chessground/api.ts\nfunction start(t, n) {\n\tfunction toggleOrientation$1() {\n\t\ttoggleOrientation(t), n();\n\t}\n\treturn e(toggleOrientation$1, \"toggleOrientation\"), {\n\t\tset(e) {\n\t\t\te.orientation && e.orientation !== t.orientation && toggleOrientation$1(), applyAnimation(t, e), (e.fen ? anim : render$2)((t) => configure(t, e), t);\n\t\t},\n\t\tstate: t,\n\t\tgetFen: () => write(t.pieces),\n\t\ttoggleOrientation: toggleOrientation$1,\n\t\tsetPieces(e) {\n\t\t\tanim((t) => setPieces(t, e), t);\n\t\t},\n\t\tselectSquare(e, n) {\n\t\t\te ? anim((t) => selectSquare(t, e, n), t) : t.selected && (unselect(t), t.dom.redraw());\n\t\t},\n\t\tmove(e, n) {\n\t\t\tanim((t) => baseMove(t, e, n), t);\n\t\t},\n\t\tnewPiece(e, n) {\n\t\t\tanim((t) => baseNewPiece(t, e, n), t);\n\t\t},\n\t\tplayPremove() {\n\t\t\tif (t.premovable.current) {\n\t\t\t\tif (anim(playPremove, t)) return !0;\n\t\t\t\tt.dom.redraw();\n\t\t\t}\n\t\t\treturn !1;\n\t\t},\n\t\tplayPredrop(e) {\n\t\t\tif (t.predroppable.current) {\n\t\t\t\tlet n = playPredrop(t, e);\n\t\t\t\treturn t.dom.redraw(), n;\n\t\t\t}\n\t\t\treturn !1;\n\t\t},\n\t\tcancelPremove() {\n\t\t\trender$2(unsetPremove, t);\n\t\t},\n\t\tcancelPredrop() {\n\t\t\trender$2(unsetPredrop, t);\n\t\t},\n\t\tcancelMove() {\n\t\t\trender$2((e) => {\n\t\t\t\tcancelMove(e), cancel(e);\n\t\t\t}, t);\n\t\t},\n\t\tstop() {\n\t\t\trender$2((e) => {\n\t\t\t\tstop(e), cancel(e);\n\t\t\t}, t);\n\t\t},\n\t\texplode(e) {\n\t\t\texplosion(t, e);\n\t\t},\n\t\tsetAutoShapes(e) {\n\t\t\trender$2((t) => t.drawable.autoShapes = e, t);\n\t\t},\n\t\tsetShapes(e) {\n\t\t\trender$2((t) => t.drawable.shapes = e, t);\n\t\t},\n\t\tgetKeyAtDomPos(e) {\n\t\t\treturn getKeyAtDomPos(e, whitePov(t), t.dom.bounds());\n\t\t},\n\t\tredrawAll: n,\n\t\tdragNewPiece(e, n, r) {\n\t\t\tdragNewPiece(t, e, n, r);\n\t\t},\n\t\tdestroy() {\n\t\t\tstop(t), t.dom.unbind?.(), t.dom.destroyed = !0;\n\t\t}\n\t};\n}\n//#endregion\n//#region src/chess/chessground/state.ts\nfunction defaults() {\n\treturn {\n\t\tpieces: read(O),\n\t\torientation: \"cg-white\",\n\t\tturnColor: \"cg-white\",\n\t\tcoordinates: !0,\n\t\tcoordinatesOnSquares: !1,\n\t\tranksPosition: \"right\",\n\t\tautoCastle: !0,\n\t\tviewOnly: !1,\n\t\tdisableContextMenu: !1,\n\t\taddPieceZIndex: !1,\n\t\tblockTouchScroll: !1,\n\t\tpieceKey: !1,\n\t\ttrustAllEvents: !1,\n\t\thighlight: {\n\t\t\tlastMove: !0,\n\t\t\tcheck: !0\n\t\t},\n\t\tanimation: {\n\t\t\tenabled: !0,\n\t\t\tduration: 200\n\t\t},\n\t\tmovable: {\n\t\t\tfree: !0,\n\t\t\tcolor: \"both\",\n\t\t\tshowDests: !0,\n\t\t\tevents: {},\n\t\t\trookCastle: !0\n\t\t},\n\t\tpremovable: {\n\t\t\tenabled: !0,\n\t\t\tshowDests: !0,\n\t\t\tcastle: !0,\n\t\t\tevents: {}\n\t\t},\n\t\tpredroppable: {\n\t\t\tenabled: !1,\n\t\t\tevents: {}\n\t\t},\n\t\tdraggable: {\n\t\t\tenabled: !0,\n\t\t\tdistance: 3,\n\t\t\tautoDistance: !0,\n\t\t\tshowGhost: !0,\n\t\t\tdeleteOnDropOff: !1\n\t\t},\n\t\tdropmode: { active: !1 },\n\t\tselectable: { enabled: !0 },\n\t\tstats: { dragged: !(\"ontouchstart\" in window) },\n\t\tevents: {},\n\t\tdrawable: {\n\t\t\tenabled: !0,\n\t\t\tvisible: !0,\n\t\t\tdefaultSnapToValidMove: !0,\n\t\t\teraseOnClick: !0,\n\t\t\tshapes: [],\n\t\t\tautoShapes: [],\n\t\t\tbrushes: {\n\t\t\t\tgreen: {\n\t\t\t\t\tkey: \"g\",\n\t\t\t\t\tcolor: \"#15781B\",\n\t\t\t\t\topacity: 1,\n\t\t\t\t\tlineWidth: 10\n\t\t\t\t},\n\t\t\t\tred: {\n\t\t\t\t\tkey: \"r\",\n\t\t\t\t\tcolor: \"#882020\",\n\t\t\t\t\topacity: 1,\n\t\t\t\t\tlineWidth: 10\n\t\t\t\t},\n\t\t\t\tblue: {\n\t\t\t\t\tkey: \"b\",\n\t\t\t\t\tcolor: \"#003088\",\n\t\t\t\t\topacity: 1,\n\t\t\t\t\tlineWidth: 10\n\t\t\t\t},\n\t\t\t\tyellow: {\n\t\t\t\t\tkey: \"y\",\n\t\t\t\t\tcolor: \"#e68f00\",\n\t\t\t\t\topacity: 1,\n\t\t\t\t\tlineWidth: 10\n\t\t\t\t},\n\t\t\t\tpaleBlue: {\n\t\t\t\t\tkey: \"pb\",\n\t\t\t\t\tcolor: \"#003088\",\n\t\t\t\t\topacity: .4,\n\t\t\t\t\tlineWidth: 15\n\t\t\t\t},\n\t\t\t\tpaleGreen: {\n\t\t\t\t\tkey: \"pg\",\n\t\t\t\t\tcolor: \"#15781B\",\n\t\t\t\t\topacity: .4,\n\t\t\t\t\tlineWidth: 15\n\t\t\t\t},\n\t\t\t\tpaleRed: {\n\t\t\t\t\tkey: \"pr\",\n\t\t\t\t\tcolor: \"#882020\",\n\t\t\t\t\topacity: .4,\n\t\t\t\t\tlineWidth: 15\n\t\t\t\t},\n\t\t\t\tpaleGrey: {\n\t\t\t\t\tkey: \"pgr\",\n\t\t\t\t\tcolor: \"#4a4a4a\",\n\t\t\t\t\topacity: .35,\n\t\t\t\t\tlineWidth: 15\n\t\t\t\t},\n\t\t\t\tpurple: {\n\t\t\t\t\tkey: \"purple\",\n\t\t\t\t\tcolor: \"#68217a\",\n\t\t\t\t\topacity: .65,\n\t\t\t\t\tlineWidth: 10\n\t\t\t\t},\n\t\t\t\tpink: {\n\t\t\t\t\tkey: \"pink\",\n\t\t\t\t\tcolor: \"#ee2080\",\n\t\t\t\t\topacity: .5,\n\t\t\t\t\tlineWidth: 10\n\t\t\t\t},\n\t\t\t\twhite: {\n\t\t\t\t\tkey: \"white\",\n\t\t\t\t\tcolor: \"white\",\n\t\t\t\t\topacity: 1,\n\t\t\t\t\tlineWidth: 10\n\t\t\t\t}\n\t\t\t},\n\t\t\tprevSvgHash: \"\"\n\t\t},\n\t\thold: timer()\n\t};\n}\n//#endregion\n//#region src/chess/chessground/svg.ts\nvar M = {\n\thilitePrimary: {\n\t\tkey: \"hilitePrimary\",\n\t\tcolor: \"#3291ff\",\n\t\topacity: 1,\n\t\tlineWidth: 1\n\t},\n\thiliteWhite: {\n\t\tkey: \"hiliteWhite\",\n\t\tcolor: \"#ffffff\",\n\t\topacity: 1,\n\t\tlineWidth: 1\n\t}\n};\nfunction createDefs() {\n\tlet e = createElement(\"defs\"), t = setAttributes(createElement(\"filter\"), { id: \"cg-filter-blur\" });\n\treturn t.appendChild(setAttributes(createElement(\"feGaussianBlur\"), { stdDeviation: \"0.019\" })), e.appendChild(t), e;\n}\nfunction renderSvg(e, t, n) {\n\tlet r = e.drawable, i = r.current, a = i && i.mouseSq ? i : void 0, o = /* @__PURE__ */ new Map(), s = e.dom.bounds(), c = r.autoShapes.filter((e) => !e.piece);\n\tfor (let t of r.shapes.concat(c).concat(a ? [a] : [])) {\n\t\tif (!t.dest) continue;\n\t\tlet n = o.get(t.dest) ?? /* @__PURE__ */ new Set(), r = pos2user(orient(key2pos(t.orig), e.orientation), s), i = pos2user(orient(key2pos(t.dest), e.orientation), s);\n\t\tn.add(moveAngle(r, i)), o.set(t.dest, n);\n\t}\n\tlet l = r.shapes.concat(c).map((e) => ({\n\t\tshape: e,\n\t\tcurrent: !1,\n\t\thash: shapeHash(e, isShort(e.dest, o), !1, s)\n\t}));\n\ta && l.push({\n\t\tshape: a,\n\t\tcurrent: !0,\n\t\thash: shapeHash(a, isShort(a.dest, o), !0, s)\n\t});\n\tlet u = l.map((e) => e.hash).join(\";\");\n\tu !== e.drawable.prevSvgHash && (e.drawable.prevSvgHash = u, syncDefs(r, l, t.querySelector(\"defs\")), syncShapes$1(l, t.querySelector(\"g\"), n.querySelector(\"g\"), (t) => renderShape$1(e, t, r.brushes, o, s)));\n}\nfunction syncDefs(e, t, n) {\n\tlet r = /* @__PURE__ */ new Map(), i;\n\tfor (let n of t.filter((e) => e.shape.dest && e.shape.brush)) i = makeCustomBrush(e.brushes[n.shape.brush], n.shape.modifiers), n.shape.modifiers?.hilite && r.set(hilite(i).key, hilite(i)), r.set(i.key, i);\n\tlet a = /* @__PURE__ */ new Set(), o = n.firstElementChild;\n\tfor (; o;) a.add(o.getAttribute(\"cgKey\")), o = o.nextElementSibling;\n\tfor (let [e, t] of r.entries()) a.has(e) || n.appendChild(renderMarker(t));\n}\nfunction syncShapes$1(e, t, n, r) {\n\tlet i = /* @__PURE__ */ new Map();\n\tfor (let t of e) i.set(t.hash, !1);\n\tfor (let e of [t, n]) {\n\t\tlet t = [], n = e.firstElementChild, r;\n\t\tfor (; n;) r = n.getAttribute(\"cgHash\"), i.has(r) ? i.set(r, !0) : t.push(n), n = n.nextElementSibling;\n\t\tfor (let n of t) e.removeChild(n);\n\t}\n\tfor (let a of e.filter((e) => !i.get(e.hash))) for (let e of r(a)) e.isCustom ? n.appendChild(e.el) : t.appendChild(e.el);\n}\ne(syncShapes$1, \"syncShapes\");\nfunction shapeHash({ orig: e, dest: t, brush: n, piece: r, modifiers: i, customSvg: a, label: o }, s, c, l) {\n\treturn [\n\t\tl.width,\n\t\tl.height,\n\t\tc,\n\t\te,\n\t\tt,\n\t\tn,\n\t\ts && \"-\",\n\t\tr && pieceHash(r),\n\t\ti && modifiersHash(i),\n\t\ta && `custom-${textHash(a.html)},${a.center?.[0] ?? \"o\"}`,\n\t\to && `label-${textHash(o.text)}`\n\t].filter((e) => e).join(\",\");\n}\nfunction pieceHash(e) {\n\treturn [\n\t\te.color,\n\t\te.role,\n\t\te.scale\n\t].filter((e) => e).join(\",\");\n}\nfunction modifiersHash(e) {\n\treturn [e.lineWidth, e.hilite && \"*\"].filter((e) => e).join(\",\");\n}\nfunction textHash(e) {\n\tlet t = 0;\n\tfor (let n = 0; n < e.length; n++) t = (t << 5) - t + e.charCodeAt(n) >>> 0;\n\treturn t.toString();\n}\nfunction renderShape$1(e, { shape: t, current: n, hash: r }, i, a, o) {\n\tlet s = pos2user(orient(key2pos(t.orig), e.orientation), o), c = t.dest ? pos2user(orient(key2pos(t.dest), e.orientation), o) : s, l = t.brush && makeCustomBrush(i[t.brush], t.modifiers), u = a.get(t.dest), d = [];\n\tif (l) {\n\t\tlet e = setAttributes(createElement(\"g\"), { cgHash: r });\n\t\td.push({ el: e }), s[0] !== c[0] || s[1] !== c[1] ? e.appendChild(renderArrow(t, l, s, c, n, isShort(t.dest, a))) : e.appendChild(renderCircle(i[t.brush], s, n, o));\n\t}\n\tif (t.label) {\n\t\tlet e = t.label;\n\t\te.fill || t.brush && i[t.brush] && (e.fill = i[t.brush].color);\n\t\tlet n = t.brush ? void 0 : \"tr\";\n\t\td.push({\n\t\t\tel: renderLabel(e, r, s, c, u, n),\n\t\t\tisCustom: !0\n\t\t});\n\t}\n\tif (t.customSvg) {\n\t\tlet e = t.customSvg.center ?? \"orig\", [n, i] = e === \"label\" ? labelCoords(s, c, u).map((e) => e - .5) : e === \"dest\" ? c : s, a = setAttributes(createElement(\"g\"), {\n\t\t\ttransform: `translate(${n},${i})`,\n\t\t\tcgHash: r\n\t\t});\n\t\ta.innerHTML = `<svg width=\"1\" height=\"1\" viewBox=\"0 0 100 100\">${t.customSvg.html}</svg>`, d.push({\n\t\t\tel: a,\n\t\t\tisCustom: !0\n\t\t});\n\t}\n\treturn d;\n}\ne(renderShape$1, \"renderShape\");\nfunction renderCircle(e, t, n, r) {\n\tlet i = circleWidth(), a = (r.width + r.height) / (4 * Math.max(r.width, r.height));\n\treturn setAttributes(createElement(\"circle\"), {\n\t\tstroke: e.color,\n\t\t\"stroke-width\": i[n ? 0 : 1],\n\t\tfill: \"none\",\n\t\topacity: opacity(e, n),\n\t\tcx: t[0],\n\t\tcy: t[1],\n\t\tr: a - i[1] / 2\n\t});\n}\nfunction hilite(e) {\n\treturn [\n\t\t\"#ffffff\",\n\t\t\"#fff\",\n\t\t\"white\"\n\t].includes(e.color) ? M.hilitePrimary : M.hiliteWhite;\n}\nfunction renderArrow(e, t, n, r, i, a) {\n\tfunction renderLine(o) {\n\t\tlet s = arrowMargin(a && !i), c = r[0] - n[0], l = r[1] - n[1], u = Math.atan2(l, c), d = Math.cos(u) * s, f = Math.sin(u) * s;\n\t\treturn setAttributes(createElement(\"line\"), {\n\t\t\tstroke: o ? hilite(t).color : t.color,\n\t\t\t\"stroke-width\": lineWidth(t, i) + (o ? .04 : 0),\n\t\t\t\"stroke-linecap\": \"round\",\n\t\t\t\"marker-end\": `url(#arrowhead-${o ? hilite(t).key : t.key})`,\n\t\t\topacity: e.modifiers?.hilite ? 1 : opacity(t, i),\n\t\t\tx1: n[0],\n\t\t\ty1: n[1],\n\t\t\tx2: r[0] - d,\n\t\t\ty2: r[1] - f\n\t\t});\n\t}\n\tif (!e.modifiers?.hilite) return renderLine(!1);\n\tlet o = createElement(\"g\"), s = setAttributes(createElement(\"g\"), { filter: \"url(#cg-filter-blur)\" });\n\treturn s.appendChild(filterBox(n, r)), s.appendChild(renderLine(!0)), o.appendChild(s), o.appendChild(renderLine(!1)), o;\n}\nfunction renderMarker(e) {\n\tlet t = setAttributes(createElement(\"marker\"), {\n\t\tid: \"arrowhead-\" + e.key,\n\t\torient: \"auto\",\n\t\toverflow: \"visible\",\n\t\tmarkerWidth: 4,\n\t\tmarkerHeight: 4,\n\t\trefX: e.key.startsWith(\"hilite\") ? 1.86 : 2.05,\n\t\trefY: 2\n\t});\n\treturn t.appendChild(setAttributes(createElement(\"path\"), {\n\t\td: \"M0,0 V4 L3,2 Z\",\n\t\tfill: e.color\n\t})), t.setAttribute(\"cgKey\", e.key), t;\n}\nfunction renderLabel(e, t, n, r, i, a) {\n\tlet o = .4, s = o * .75 ** e.text.length, c = labelCoords(n, r, i), l = a === \"tr\" ? .4 : 0, u = setAttributes(createElement(\"g\"), {\n\t\ttransform: `translate(${c[0] + l},${c[1] - l})`,\n\t\tcgHash: t\n\t});\n\tu.appendChild(setAttributes(createElement(\"circle\"), {\n\t\tr: o / 2,\n\t\t\"fill-opacity\": a ? 1 : .8,\n\t\t\"stroke-opacity\": a ? 1 : .7,\n\t\t\"stroke-width\": .03,\n\t\tfill: e.fill ?? \"#666\",\n\t\tstroke: \"white\"\n\t}));\n\tlet d = setAttributes(createElement(\"text\"), {\n\t\t\"font-size\": s,\n\t\t\"font-family\": \"Noto Sans\",\n\t\t\"text-anchor\": \"middle\",\n\t\tfill: \"white\",\n\t\ty: .13 * .75 ** e.text.length\n\t});\n\treturn d.innerHTML = e.text, u.appendChild(d), u;\n}\nfunction orient(e, t) {\n\treturn t === \"cg-white\" ? e : [7 - e[0], 7 - e[1]];\n}\nfunction isShort(e, t) {\n\treturn !0 === (e && t.has(e) && t.get(e).size > 1);\n}\nfunction createElement(e) {\n\treturn document.createElementNS(\"http://www.w3.org/2000/svg\", e);\n}\nfunction setAttributes(e, t) {\n\tfor (let n in t) Object.prototype.hasOwnProperty.call(t, n) && e.setAttribute(n, t[n]);\n\treturn e;\n}\nfunction makeCustomBrush(e, t) {\n\treturn t ? {\n\t\tcolor: e.color,\n\t\topacity: Math.round(e.opacity * 10) / 10,\n\t\tlineWidth: Math.round(t.lineWidth || e.lineWidth),\n\t\tkey: [e.key, t.lineWidth].filter((e) => e).join(\"\")\n\t} : e;\n}\nfunction circleWidth() {\n\treturn [3 / 64, 4 / 64];\n}\nfunction lineWidth(e, t) {\n\treturn (e.lineWidth || 10) * (t ? .85 : 1) / 64;\n}\nfunction opacity(e, t) {\n\treturn (e.opacity || 1) * (t ? .9 : 1);\n}\nfunction arrowMargin(e) {\n\treturn (e ? 20 : 10) / 64;\n}\nfunction pos2user(e, t) {\n\tlet n = Math.min(1, t.width / t.height), r = Math.min(1, t.height / t.width);\n\treturn [(e[0] - 3.5) * n, (3.5 - e[1]) * r];\n}\nfunction filterBox(e, t) {\n\tlet n = {\n\t\tfrom: [Math.floor(Math.min(e[0], t[0])), Math.floor(Math.min(e[1], t[1]))],\n\t\tto: [Math.ceil(Math.max(e[0], t[0])), Math.ceil(Math.max(e[1], t[1]))]\n\t};\n\treturn setAttributes(createElement(\"rect\"), {\n\t\tx: n.from[0],\n\t\ty: n.from[1],\n\t\twidth: n.to[0] - n.from[0],\n\t\theight: n.to[1] - n.from[1],\n\t\tfill: \"none\",\n\t\tstroke: \"none\"\n\t});\n}\nfunction moveAngle(e, t, n = !0) {\n\tlet r = Math.atan2(t[1] - e[1], t[0] - e[0]) + Math.PI;\n\treturn n ? (Math.round(r * 8 / Math.PI) + 16) % 16 : r;\n}\nfunction dist(e, t) {\n\treturn Math.sqrt([e[0] - t[0], e[1] - t[1]].reduce((e, t) => e + t * t, 0));\n}\nfunction labelCoords(e, t, n) {\n\tlet r = dist(e, t), i = moveAngle(e, t, !1);\n\tif (n && (r -= 33 / 64, n.size > 1)) {\n\t\tr -= 10 / 64;\n\t\tlet i = moveAngle(e, t);\n\t\t(n.has((i + 1) % 16) || n.has((i + 15) % 16)) && i & 1 && (r -= .4);\n\t}\n\treturn [e[0] - Math.cos(i) * r, e[1] - Math.sin(i) * r].map((e) => e + .5);\n}\n//#endregion\n//#region src/chess/chessground/wrap.ts\nfunction renderWrap(e, t) {\n\te.innerHTML = \"\", e.classList.add(\"cg-wrap\");\n\tfor (let n of S) e.classList.toggle(\"orientation-\" + n, t.orientation === n);\n\te.classList.toggle(\"manipulable\", !t.viewOnly);\n\tlet n = createEl(\"cg-container\");\n\te.appendChild(n);\n\tlet r = createEl(\"cg-board\");\n\tn.appendChild(r);\n\tlet i, a, o;\n\tif (t.drawable.visible && (i = setAttributes(createElement(\"svg\"), {\n\t\tclass: \"cg-shapes\",\n\t\tviewBox: \"-4 -4 8 8\",\n\t\tpreserveAspectRatio: \"xMidYMid slice\"\n\t}), i.appendChild(createDefs()), i.appendChild(createElement(\"g\")), a = setAttributes(createElement(\"svg\"), {\n\t\tclass: \"cg-custom-svgs\",\n\t\tviewBox: \"-3.5 -3.5 8 8\",\n\t\tpreserveAspectRatio: \"xMidYMid slice\"\n\t}), a.appendChild(createElement(\"g\")), o = createEl(\"cg-auto-pieces\"), n.appendChild(i), n.appendChild(a), n.appendChild(o)), t.coordinates) {\n\t\tlet e = t.orientation === \"cg-black\" ? \" black\" : \"\", r = t.ranksPosition === \"left\" ? \" left\" : \"\";\n\t\tif (t.coordinatesOnSquares) {\n\t\t\tlet i = t.orientation === \"cg-white\" ? (e) => e + 1 : (e) => 8 - e;\n\t\t\tC.forEach((t, a) => n.appendChild(renderCoords(w.map((e) => t + e), \"squares rank\" + i(a) + e + r)));\n\t\t} else n.appendChild(renderCoords(w, \"ranks\" + e + r)), n.appendChild(renderCoords(C, \"files\" + e));\n\t}\n\tlet s;\n\treturn t.draggable.enabled && t.draggable.showGhost && (s = createEl(\"piece\", \"ghost\"), setVisible(s, !1), n.appendChild(s)), {\n\t\tboard: r,\n\t\tcontainer: n,\n\t\twrap: e,\n\t\tghost: s,\n\t\tsvg: i,\n\t\tcustomSvg: a,\n\t\tautoPieces: o\n\t};\n}\nfunction renderCoords(e, t) {\n\tlet n = createEl(\"coords\", t), r;\n\tfor (let t of e) r = createEl(\"coord\"), r.textContent = t, n.appendChild(r);\n\treturn n;\n}\n//#endregion\n//#region src/chess/chessground/drop.ts\nfunction drop(e, t) {\n\tif (!e.dropmode.active) return;\n\tunsetPremove(e), unsetPredrop(e);\n\tlet n = e.dropmode.piece;\n\tif (n) {\n\t\te.pieces.set(\"a0\", n);\n\t\tlet r = eventPosition(t), i = r && getKeyAtDomPos(r, whitePov(e), e.dom.bounds());\n\t\ti && dropNewPiece(e, \"a0\", i);\n\t}\n\te.dom.redraw();\n}\n//#endregion\n//#region src/chess/chessground/events.ts\nfunction bindBoard(e) {\n\tlet t = e.dom.elements.board;\n\tif ((e.disableContextMenu || e.drawable.enabled) && t.addEventListener(\"contextmenu\", (e) => e.preventDefault()), e.viewOnly) return;\n\tlet n = startDragOrDraw(e);\n\tt.addEventListener(\"touchstart\", n, { passive: !1 }), t.addEventListener(\"mousedown\", n, { passive: !1 });\n}\nfunction bindDocument(e, t) {\n\tlet n = [];\n\tif (\"ResizeObserver\" in window || n.push(unbindable(document.body, \"chessground.resize\", t)), !e.viewOnly) {\n\t\tlet t = dragOrDraw(e, move, move$1), r = dragOrDraw(e, end, end$1);\n\t\tfor (let e of [\"touchmove\", \"mousemove\"]) n.push(unbindable(document, e, t));\n\t\tfor (let e of [\"touchend\", \"mouseup\"]) n.push(unbindable(document, e, r));\n\t\tlet onScroll = () => e.dom.bounds.clear();\n\t\tn.push(unbindable(document, \"scroll\", onScroll, {\n\t\t\tcapture: !0,\n\t\t\tpassive: !0\n\t\t})), n.push(unbindable(window, \"resize\", onScroll, { passive: !0 }));\n\t}\n\treturn () => n.forEach((e) => e());\n}\nfunction unbindable(e, t, n, r) {\n\treturn e.addEventListener(t, n, r), () => e.removeEventListener(t, n, r);\n}\nvar startDragOrDraw = (e) => (t) => {\n\te.draggable.current ? cancel(e) : e.drawable.current ? cancel$1(e) : t.shiftKey || isRightButton(t) ? e.drawable.enabled && start$2(e, t) : e.viewOnly || (e.dropmode.active ? drop(e, t) : start$1(e, t));\n}, dragOrDraw = (e, t, n) => (r) => {\n\te.drawable.current ? e.drawable.enabled && n(e, r) : e.viewOnly || t(e, r);\n};\n//#endregion\n//#region src/chess/chessground/render.ts\nfunction render$1(e) {\n\tlet t = whitePov(e), n = posToTranslate(e.dom.bounds()), r = e.dom.elements.board, i = e.pieces, a = e.animation.current, o = a ? a.plan.anims : /* @__PURE__ */ new Map(), s = a ? a.plan.fadings : /* @__PURE__ */ new Map(), c = e.draggable.current, l = computeSquareClasses(e), u = /* @__PURE__ */ new Set(), d = /* @__PURE__ */ new Set(), f = /* @__PURE__ */ new Map(), p = /* @__PURE__ */ new Map(), m, h, g, _, v, y, b, x, S, C;\n\tfor (h = r.firstChild; h;) {\n\t\tif (m = h.cgKey, isPieceNode(h)) if (g = i.get(m), v = o.get(m), y = s.get(m), _ = h.cgPiece, h.cgDragging && (!c || c.orig !== m) && (h.classList.remove(\"dragging\"), translate(h, n(key2pos(m), t)), h.cgDragging = !1), !y && h.cgFading && (h.cgFading = !1, h.classList.remove(\"fading\")), g) {\n\t\t\tif (v && h.cgAnimating && _ === pieceNameOf(g)) {\n\t\t\t\tlet e = key2pos(m);\n\t\t\t\te[0] += v[2], e[1] += v[3], h.classList.add(\"anim\"), translate(h, n(e, t));\n\t\t\t} else h.cgAnimating && (h.cgAnimating = !1, h.classList.remove(\"anim\"), translate(h, n(key2pos(m), t)), e.addPieceZIndex && (h.style.zIndex = posZIndex(key2pos(m), t)));\n\t\t\t_ === pieceNameOf(g) && (!y || !h.cgFading) ? u.add(m) : y && _ === pieceNameOf(y) ? (h.classList.add(\"fading\"), h.cgFading = !0) : appendValue(f, _, h);\n\t\t} else appendValue(f, _, h);\n\t\telse if (isSquareNode(h)) {\n\t\t\tlet e = h.className;\n\t\t\tl.get(m) === e ? d.add(m) : appendValue(p, e, h);\n\t\t}\n\t\th = h.nextSibling;\n\t}\n\tfor (let [e, i] of l) if (!d.has(e)) {\n\t\tS = p.get(i), C = S && S.pop();\n\t\tlet a = n(key2pos(e), t);\n\t\tif (C) C.cgKey = e, translate(C, a);\n\t\telse {\n\t\t\tlet t = createEl(\"square\", i);\n\t\t\tt.cgKey = e, translate(t, a), r.insertBefore(t, r.firstChild);\n\t\t}\n\t}\n\tfor (let [a, s] of i) if (v = o.get(a), !u.has(a)) if (b = f.get(pieceNameOf(s)), x = b && b.pop(), x) {\n\t\tx.cgKey = a, x.cgFading && (x.classList.remove(\"fading\"), x.cgFading = !1);\n\t\tlet r = key2pos(a);\n\t\te.addPieceZIndex && (x.style.zIndex = posZIndex(r, t)), v && (x.cgAnimating = !0, x.classList.add(\"anim\"), r[0] += v[2], r[1] += v[3]), translate(x, n(r, t));\n\t} else {\n\t\tlet i = pieceNameOf(s), o = createEl(\"piece\", i), c = key2pos(a);\n\t\to.cgPiece = i, o.cgKey = a, v && (o.cgAnimating = !0, c[0] += v[2], c[1] += v[3]), translate(o, n(c, t)), e.addPieceZIndex && (o.style.zIndex = posZIndex(c, t)), r.appendChild(o);\n\t}\n\tfor (let t of f.values()) removeNodes(e, t);\n\tfor (let t of p.values()) removeNodes(e, t);\n}\ne(render$1, \"render\");\nfunction renderResized$1(e) {\n\tlet t = whitePov(e), n = posToTranslate(e.dom.bounds()), r = e.dom.elements.board.firstChild;\n\tfor (; r;) (isPieceNode(r) && !r.cgAnimating || isSquareNode(r)) && translate(r, n(key2pos(r.cgKey), t)), r = r.nextSibling;\n}\ne(renderResized$1, \"renderResized\");\nfunction updateBounds(e) {\n\tlet t = e.dom.elements.wrap.getBoundingClientRect(), n = e.dom.elements.container, r = t.height / t.width, i = Math.floor(t.width * window.devicePixelRatio / 8) * 8 / window.devicePixelRatio, a = i * r;\n\tn.style.width = i + \"px\", n.style.height = a + \"px\", e.dom.bounds.clear(), e.addDimensionsCssVarsTo?.style.setProperty(\"---cg-width\", i + \"px\"), e.addDimensionsCssVarsTo?.style.setProperty(\"---cg-height\", a + \"px\");\n}\nvar isPieceNode = (e) => e.tagName === \"PIECE\", isSquareNode = (e) => e.tagName === \"SQUARE\";\nfunction removeNodes(e, t) {\n\tfor (let n of t) e.dom.elements.board.removeChild(n);\n}\nfunction posZIndex(e, t) {\n\tlet n = e[1];\n\treturn `${t ? 10 - n : 3 + n}`;\n}\nvar pieceNameOf = (e) => `${e.color} ${e.role}`;\nfunction computeSquareClasses(e) {\n\tlet t = /* @__PURE__ */ new Map();\n\tif (e.lastMove && e.highlight.lastMove) for (let n of e.lastMove) addSquare(t, n, \"last-move\");\n\tif (e.check && e.highlight.check && addSquare(t, e.check, \"check\"), e.selected && (addSquare(t, e.selected, \"selected\"), e.movable.showDests)) {\n\t\tlet n = e.movable.dests?.get(e.selected);\n\t\tif (n) for (let r of n) addSquare(t, r, \"move-dest\" + (e.pieces.has(r) ? \" oc\" : \"\"));\n\t\tlet r = e.premovable.customDests?.get(e.selected) ?? e.premovable.dests;\n\t\tif (r) for (let n of r) addSquare(t, n, \"premove-dest\" + (e.pieces.has(n) ? \" oc\" : \"\"));\n\t}\n\tlet n = e.premovable.current;\n\tif (n) for (let e of n) addSquare(t, e, \"current-premove\");\n\telse e.predroppable.current && addSquare(t, e.predroppable.current.key, \"current-premove\");\n\tlet r = e.exploding;\n\tif (r) for (let e of r.keys) addSquare(t, e, \"exploding\" + r.stage);\n\treturn e.highlight.custom && e.highlight.custom.forEach((e, n) => {\n\t\taddSquare(t, n, e);\n\t}), t;\n}\nfunction addSquare(e, t, n) {\n\tlet r = e.get(t);\n\tr ? e.set(t, `${r} ${n}`) : e.set(t, n);\n}\nfunction appendValue(e, t, n) {\n\tlet r = e.get(t);\n\tr ? r.push(n) : e.set(t, [n]);\n}\n//#endregion\n//#region src/chess/chessground/sync.ts\nfunction syncShapes(e, t, n) {\n\tlet r = /* @__PURE__ */ new Map(), i = [];\n\tfor (let t of e) r.set(t.hash, !1);\n\tlet a = t.firstElementChild, o;\n\tfor (; a;) o = a.getAttribute(\"cgHash\"), r.has(o) ? r.set(o, !0) : i.push(a), a = a.nextElementSibling;\n\tfor (let e of i) t.removeChild(e);\n\tfor (let i of e) r.get(i.hash) || t.appendChild(n(i));\n}\n//#endregion\n//#region src/chess/chessground/autoPieces.ts\nfunction render(e, t) {\n\tsyncShapes(e.drawable.autoShapes.filter((e) => e.piece).map((e) => ({\n\t\tshape: e,\n\t\thash: hash(e),\n\t\tcurrent: !1\n\t})), t, (t) => renderShape(e, t, e.dom.bounds()));\n}\nfunction renderResized(e) {\n\tlet t = whitePov(e), n = posToTranslate(e.dom.bounds()), r = e.dom.elements.autoPieces?.firstChild;\n\tfor (; r;) translateAndScale(r, n(key2pos(r.cgKey), t), r.cgScale), r = r.nextSibling;\n}\nfunction renderShape(e, { shape: t, hash: n }, r) {\n\tlet i = t.orig, a = t.piece?.role, o = t.piece?.color, s = t.piece?.scale, c = createEl(\"piece\", `${a} ${o}`);\n\treturn c.setAttribute(\"cgHash\", n), c.cgKey = i, c.cgScale = s, translateAndScale(c, posToTranslate(r)(key2pos(i), whitePov(e)), s), c;\n}\nvar hash = (e) => [\n\te.orig,\n\te.piece?.role,\n\te.piece?.color,\n\te.piece?.scale\n].join(\",\");\n//#endregion\n//#region src/chess/chessground/chessground.ts\nfunction Chessground(e, t) {\n\tlet n = defaults();\n\tconfigure(n, t || {});\n\tfunction redrawAll() {\n\t\tlet t = \"dom\" in n ? n.dom.unbind : void 0, r = renderWrap(e, n), i = memo(() => r.board.getBoundingClientRect()), redrawNow = (e) => {\n\t\t\trender$1(a), r.autoPieces && render(a, r.autoPieces), !e && r.svg && renderSvg(a, r.svg, r.customSvg);\n\t\t}, onResize = () => {\n\t\t\tupdateBounds(a), renderResized$1(a), r.autoPieces && renderResized(a);\n\t\t}, a = n;\n\t\treturn a.dom = {\n\t\t\telements: r,\n\t\t\tbounds: i,\n\t\t\tredraw: debounceRedraw(redrawNow),\n\t\t\tredrawNow,\n\t\t\tunbind: t\n\t\t}, a.drawable.prevSvgHash = \"\", updateBounds(a), redrawNow(!1), bindBoard(a), t || (a.dom.unbind = bindDocument(a, onResize)), a.events.insert?.(r), a;\n\t}\n\treturn start(redrawAll(), redrawAll);\n}\nfunction debounceRedraw(e) {\n\tlet t = !1;\n\treturn () => {\n\t\tt || (t = !0, requestAnimationFrame(() => {\n\t\t\te(), t = !1;\n\t\t}));\n\t};\n}\nvar N = \"rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1\", Move = class {\n\tcolor;\n\tfrom;\n\tto;\n\tpiece;\n\tcaptured;\n\tpromotion;\n\tflags;\n\tsan;\n\tlan;\n\tbefore;\n\tafter;\n\tconstructor(e, t) {\n\t\tlet { color: n, piece: r, from: i, to: a, flags: o, captured: s, promotion: c } = t, l = algebraic(i), u = algebraic(a);\n\t\tthis.color = n, this.piece = r, this.from = l, this.to = u, this.san = e._moveToSan(t, e._moves({ legal: !0 })), this.lan = l + u, this.before = e.fen(), e._makeMove(t), this.after = e.fen(), e._undoMove(), this.flags = \"\";\n\t\tfor (let e in L) L[e] & o && (this.flags += F[e]);\n\t\ts && (this.captured = s), c && (this.promotion = c, this.lan += c);\n\t}\n\tisCapture() {\n\t\treturn this.flags.indexOf(F.CAPTURE) > -1;\n\t}\n\tisPromotion() {\n\t\treturn this.flags.indexOf(F.PROMOTION) > -1;\n\t}\n\tisEnPassant() {\n\t\treturn this.flags.indexOf(F.EP_CAPTURE) > -1;\n\t}\n\tisKingsideCastle() {\n\t\treturn this.flags.indexOf(F.KSIDE_CASTLE) > -1;\n\t}\n\tisQueensideCastle() {\n\t\treturn this.flags.indexOf(F.QSIDE_CASTLE) > -1;\n\t}\n\tisBigPawn() {\n\t\treturn this.flags.indexOf(F.BIG_PAWN) > -1;\n\t}\n}, P = -1, F = {\n\tNORMAL: \"n\",\n\tCAPTURE: \"c\",\n\tBIG_PAWN: \"b\",\n\tEP_CAPTURE: \"e\",\n\tPROMOTION: \"p\",\n\tKSIDE_CASTLE: \"k\",\n\tQSIDE_CASTLE: \"q\"\n}, I = /* @__PURE__ */ \"a8.b8.c8.d8.e8.f8.g8.h8.a7.b7.c7.d7.e7.f7.g7.h7.a6.b6.c6.d6.e6.f6.g6.h6.a5.b5.c5.d5.e5.f5.g5.h5.a4.b4.c4.d4.e4.f4.g4.h4.a3.b3.c3.d3.e3.f3.g3.h3.a2.b2.c2.d2.e2.f2.g2.h2.a1.b1.c1.d1.e1.f1.g1.h1\".split(\".\"), L = {\n\tNORMAL: 1,\n\tCAPTURE: 2,\n\tBIG_PAWN: 4,\n\tEP_CAPTURE: 8,\n\tPROMOTION: 16,\n\tKSIDE_CASTLE: 32,\n\tQSIDE_CASTLE: 64\n}, R = {\n\ta8: 0,\n\tb8: 1,\n\tc8: 2,\n\td8: 3,\n\te8: 4,\n\tf8: 5,\n\tg8: 6,\n\th8: 7,\n\ta7: 16,\n\tb7: 17,\n\tc7: 18,\n\td7: 19,\n\te7: 20,\n\tf7: 21,\n\tg7: 22,\n\th7: 23,\n\ta6: 32,\n\tb6: 33,\n\tc6: 34,\n\td6: 35,\n\te6: 36,\n\tf6: 37,\n\tg6: 38,\n\th6: 39,\n\ta5: 48,\n\tb5: 49,\n\tc5: 50,\n\td5: 51,\n\te5: 52,\n\tf5: 53,\n\tg5: 54,\n\th5: 55,\n\ta4: 64,\n\tb4: 65,\n\tc4: 66,\n\td4: 67,\n\te4: 68,\n\tf4: 69,\n\tg4: 70,\n\th4: 71,\n\ta3: 80,\n\tb3: 81,\n\tc3: 82,\n\td3: 83,\n\te3: 84,\n\tf3: 85,\n\tg3: 86,\n\th3: 87,\n\ta2: 96,\n\tb2: 97,\n\tc2: 98,\n\td2: 99,\n\te2: 100,\n\tf2: 101,\n\tg2: 102,\n\th2: 103,\n\ta1: 112,\n\tb1: 113,\n\tc1: 114,\n\td1: 115,\n\te1: 116,\n\tf1: 117,\n\tg1: 118,\n\th1: 119\n}, z = {\n\tb: [\n\t\t16,\n\t\t32,\n\t\t17,\n\t\t15\n\t],\n\tw: [\n\t\t-16,\n\t\t-32,\n\t\t-17,\n\t\t-15\n\t]\n}, B = {\n\tn: [\n\t\t-18,\n\t\t-33,\n\t\t-31,\n\t\t-14,\n\t\t18,\n\t\t33,\n\t\t31,\n\t\t14\n\t],\n\tb: [\n\t\t-17,\n\t\t-15,\n\t\t17,\n\t\t15\n\t],\n\tr: [\n\t\t-16,\n\t\t1,\n\t\t16,\n\t\t-1\n\t],\n\tq: [\n\t\t-17,\n\t\t-16,\n\t\t-15,\n\t\t1,\n\t\t17,\n\t\t16,\n\t\t15,\n\t\t-1\n\t],\n\tk: [\n\t\t-17,\n\t\t-16,\n\t\t-15,\n\t\t1,\n\t\t17,\n\t\t16,\n\t\t15,\n\t\t-1\n\t]\n}, V = [\n\t20,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t24,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t20,\n\t0,\n\t0,\n\t20,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t24,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t20,\n\t0,\n\t0,\n\t0,\n\t0,\n\t20,\n\t0,\n\t0,\n\t0,\n\t0,\n\t24,\n\t0,\n\t0,\n\t0,\n\t0,\n\t20,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t20,\n\t0,\n\t0,\n\t0,\n\t24,\n\t0,\n\t0,\n\t0,\n\t20,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t20,\n\t0,\n\t0,\n\t24,\n\t0,\n\t0,\n\t20,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t20,\n\t2,\n\t24,\n\t2,\n\t20,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t2,\n\t53,\n\t56,\n\t53,\n\t2,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t24,\n\t24,\n\t24,\n\t24,\n\t24,\n\t24,\n\t56,\n\t0,\n\t56,\n\t24,\n\t24,\n\t24,\n\t24,\n\t24,\n\t24,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t2,\n\t53,\n\t56,\n\t53,\n\t2,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t20,\n\t2,\n\t24,\n\t2,\n\t20,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t20,\n\t0,\n\t0,\n\t24,\n\t0,\n\t0,\n\t20,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t20,\n\t0,\n\t0,\n\t0,\n\t24,\n\t0,\n\t0,\n\t0,\n\t20,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t20,\n\t0,\n\t0,\n\t0,\n\t0,\n\t24,\n\t0,\n\t0,\n\t0,\n\t0,\n\t20,\n\t0,\n\t0,\n\t0,\n\t0,\n\t20,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t24,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t20,\n\t0,\n\t0,\n\t20,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t24,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t20\n], H = [\n\t17,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t16,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t15,\n\t0,\n\t0,\n\t17,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t16,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t15,\n\t0,\n\t0,\n\t0,\n\t0,\n\t17,\n\t0,\n\t0,\n\t0,\n\t0,\n\t16,\n\t0,\n\t0,\n\t0,\n\t0,\n\t15,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t17,\n\t0,\n\t0,\n\t0,\n\t16,\n\t0,\n\t0,\n\t0,\n\t15,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t17,\n\t0,\n\t0,\n\t16,\n\t0,\n\t0,\n\t15,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t17,\n\t0,\n\t16,\n\t0,\n\t15,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t17,\n\t16,\n\t15,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t1,\n\t1,\n\t1,\n\t1,\n\t1,\n\t1,\n\t1,\n\t0,\n\t-1,\n\t-1,\n\t-1,\n\t-1,\n\t-1,\n\t-1,\n\t-1,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t-15,\n\t-16,\n\t-17,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t-15,\n\t0,\n\t-16,\n\t0,\n\t-17,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t-15,\n\t0,\n\t0,\n\t-16,\n\t0,\n\t0,\n\t-17,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t-15,\n\t0,\n\t0,\n\t0,\n\t-16,\n\t0,\n\t0,\n\t0,\n\t-17,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t-15,\n\t0,\n\t0,\n\t0,\n\t0,\n\t-16,\n\t0,\n\t0,\n\t0,\n\t0,\n\t-17,\n\t0,\n\t0,\n\t0,\n\t0,\n\t-15,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t-16,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t-17,\n\t0,\n\t0,\n\t-15,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t-16,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t-17\n], U = {\n\tp: 1,\n\tn: 2,\n\tb: 4,\n\tr: 8,\n\tq: 16,\n\tk: 32\n}, W = \"pnbrqkPNBRQK\", G = [\n\t\"n\",\n\t\"b\",\n\t\"r\",\n\t\"q\"\n], K = 7, q = 6, J = 1, Y = 0, X = {\n\tk: L.KSIDE_CASTLE,\n\tq: L.QSIDE_CASTLE\n}, Z = {\n\tw: [{\n\t\tsquare: R.a1,\n\t\tflag: L.QSIDE_CASTLE\n\t}, {\n\t\tsquare: R.h1,\n\t\tflag: L.KSIDE_CASTLE\n\t}],\n\tb: [{\n\t\tsquare: R.a8,\n\t\tflag: L.QSIDE_CASTLE\n\t}, {\n\t\tsquare: R.h8,\n\t\tflag: L.KSIDE_CASTLE\n\t}]\n}, Q = {\n\tb: J,\n\tw: q\n}, ee = [\n\t\"1-0\",\n\t\"0-1\",\n\t\"1/2-1/2\",\n\t\"*\"\n];\nfunction rank(e) {\n\treturn e >> 4;\n}\nfunction file(e) {\n\treturn e & 15;\n}\nfunction isDigit(e) {\n\treturn \"0123456789\".indexOf(e) !== -1;\n}\nfunction algebraic(e) {\n\tlet t = file(e), n = rank(e);\n\treturn \"abcdefgh\".substring(t, t + 1) + \"87654321\".substring(n, n + 1);\n}\nfunction swapColor$1(e) {\n\treturn e === \"w\" ? \"b\" : \"w\";\n}\ne(swapColor$1, \"swapColor\");\nfunction validateFen(e) {\n\tlet t = e.split(/\\s+/);\n\tif (t.length !== 6) return {\n\t\tok: !1,\n\t\terror: \"Invalid FEN: must contain six space-delimited fields\"\n\t};\n\tlet n = parseInt(t[5], 10);\n\tif (isNaN(n) || n <= 0) return {\n\t\tok: !1,\n\t\terror: \"Invalid FEN: move number must be a positive integer\"\n\t};\n\tlet r = parseInt(t[4], 10);\n\tif (isNaN(r) || r < 0) return {\n\t\tok: !1,\n\t\terror: \"Invalid FEN: half move counter number must be a non-negative integer\"\n\t};\n\tif (!/^(-|[abcdefgh][36])$/.test(t[3])) return {\n\t\tok: !1,\n\t\terror: \"Invalid FEN: en-passant square is invalid\"\n\t};\n\tif (/[^kKqQ-]/.test(t[2])) return {\n\t\tok: !1,\n\t\terror: \"Invalid FEN: castling availability is invalid\"\n\t};\n\tif (!/^(w|b)$/.test(t[1])) return {\n\t\tok: !1,\n\t\terror: \"Invalid FEN: side-to-move is invalid\"\n\t};\n\tlet i = t[0].split(\"/\");\n\tif (i.length !== 8) return {\n\t\tok: !1,\n\t\terror: \"Invalid FEN: piece data does not contain 8 '/'-delimited rows\"\n\t};\n\tfor (let e = 0; e < i.length; e++) {\n\t\tlet t = 0, n = !1;\n\t\tfor (let r = 0; r < i[e].length; r++) if (isDigit(i[e][r])) {\n\t\t\tif (n) return {\n\t\t\t\tok: !1,\n\t\t\t\terror: \"Invalid FEN: piece data is invalid (consecutive number)\"\n\t\t\t};\n\t\t\tt += parseInt(i[e][r], 10), n = !0;\n\t\t} else {\n\t\t\tif (!/^[prnbqkPRNBQK]$/.test(i[e][r])) return {\n\t\t\t\tok: !1,\n\t\t\t\terror: \"Invalid FEN: piece data is invalid (invalid piece)\"\n\t\t\t};\n\t\t\tt += 1, n = !1;\n\t\t}\n\t\tif (t !== 8) return {\n\t\t\tok: !1,\n\t\t\terror: \"Invalid FEN: piece data is invalid (too many squares in rank)\"\n\t\t};\n\t}\n\tif (t[3][1] == \"3\" && t[1] == \"w\" || t[3][1] == \"6\" && t[1] == \"b\") return {\n\t\tok: !1,\n\t\terror: \"Invalid FEN: illegal en-passant square\"\n\t};\n\tfor (let { color: e, regex: n } of [{\n\t\tcolor: \"white\",\n\t\tregex: /K/g\n\t}, {\n\t\tcolor: \"black\",\n\t\tregex: /k/g\n\t}]) {\n\t\tif (!n.test(t[0])) return {\n\t\t\tok: !1,\n\t\t\terror: `Invalid FEN: missing ${e} king`\n\t\t};\n\t\tif ((t[0].match(n) || []).length > 1) return {\n\t\t\tok: !1,\n\t\t\terror: `Invalid FEN: too many ${e} kings`\n\t\t};\n\t}\n\treturn Array.from(i[0] + i[7]).some((e) => e.toUpperCase() === \"P\") ? {\n\t\tok: !1,\n\t\terror: \"Invalid FEN: some pawns are on the edge rows\"\n\t} : { ok: !0 };\n}\nfunction getDisambiguator(e, t) {\n\tlet n = e.from, r = e.to, i = e.piece, a = 0, o = 0, s = 0;\n\tfor (let e = 0, c = t.length; e < c; e++) {\n\t\tlet c = t[e].from, l = t[e].to;\n\t\ti === t[e].piece && n !== c && r === l && (a++, rank(n) === rank(c) && o++, file(n) === file(c) && s++);\n\t}\n\treturn a > 0 ? o > 0 && s > 0 ? algebraic(n) : s > 0 ? algebraic(n).charAt(1) : algebraic(n).charAt(0) : \"\";\n}\nfunction addMove(e, t, n, r, i, a = void 0, o = L.NORMAL) {\n\tlet s = rank(r);\n\tif (i === \"p\" && (s === K || s === Y)) for (let s = 0; s < G.length; s++) {\n\t\tlet c = G[s];\n\t\te.push({\n\t\t\tcolor: t,\n\t\t\tfrom: n,\n\t\t\tto: r,\n\t\t\tpiece: i,\n\t\t\tcaptured: a,\n\t\t\tpromotion: c,\n\t\t\tflags: o | L.PROMOTION\n\t\t});\n\t}\n\telse e.push({\n\t\tcolor: t,\n\t\tfrom: n,\n\t\tto: r,\n\t\tpiece: i,\n\t\tcaptured: a,\n\t\tflags: o\n\t});\n}\nfunction inferPieceType(e) {\n\tlet t = e.charAt(0);\n\treturn t >= \"a\" && t <= \"h\" ? e.match(/[a-h]\\d.*[a-h]\\d/) ? void 0 : \"p\" : (t = t.toLowerCase(), t === \"o\" ? \"k\" : t);\n}\nfunction strippedSan(e) {\n\treturn e.replace(/=/, \"\").replace(/[+#]?[?!]*$/, \"\");\n}\nfunction trimFen(e) {\n\treturn e.split(\" \").slice(0, 4).join(\" \");\n}\nvar Chess = class {\n\t_board = Array(128);\n\t_turn = \"w\";\n\t_header = {};\n\t_kings = {\n\t\tw: P,\n\t\tb: P\n\t};\n\t_epSquare = -1;\n\t_halfMoves = 0;\n\t_moveNumber = 0;\n\t_history = [];\n\t_comments = {};\n\t_castling = {\n\t\tw: 0,\n\t\tb: 0\n\t};\n\t_positionCount = {};\n\tconstructor(e = N, { skipValidation: t = !1 } = {}) {\n\t\tthis.load(e, { skipValidation: t });\n\t}\n\tclear({ preserveHeaders: e = !1 } = {}) {\n\t\tthis._board = Array(128), this._kings = {\n\t\t\tw: P,\n\t\t\tb: P\n\t\t}, this._turn = \"w\", this._castling = {\n\t\t\tw: 0,\n\t\t\tb: 0\n\t\t}, this._epSquare = P, this._halfMoves = 0, this._moveNumber = 1, this._history = [], this._comments = {}, this._header = e ? this._header : {}, this._positionCount = {}, delete this._header.SetUp, delete this._header.FEN;\n\t}\n\tload(e, { skipValidation: t = !1, preserveHeaders: n = !1 } = {}) {\n\t\tlet r = e.split(/\\s+/);\n\t\tif (r.length >= 2 && r.length < 6 && (e = r.concat([\n\t\t\t\"-\",\n\t\t\t\"-\",\n\t\t\t\"0\",\n\t\t\t\"1\"\n\t\t].slice(-(6 - r.length))).join(\" \")), r = e.split(/\\s+/), !t) {\n\t\t\tlet { ok: t, error: n } = validateFen(e);\n\t\t\tif (!t) throw Error(n);\n\t\t}\n\t\tlet i = r[0], a = 0;\n\t\tthis.clear({ preserveHeaders: n });\n\t\tfor (let e = 0; e < i.length; e++) {\n\t\t\tlet t = i.charAt(e);\n\t\t\tif (t === \"/\") a += 8;\n\t\t\telse if (isDigit(t)) a += parseInt(t, 10);\n\t\t\telse {\n\t\t\t\tlet e = t < \"a\" ? \"w\" : \"b\";\n\t\t\t\tthis._put({\n\t\t\t\t\ttype: t.toLowerCase(),\n\t\t\t\t\tcolor: e\n\t\t\t\t}, algebraic(a)), a++;\n\t\t\t}\n\t\t}\n\t\tthis._turn = r[1], r[2].indexOf(\"K\") > -1 && (this._castling.w |= L.KSIDE_CASTLE), r[2].indexOf(\"Q\") > -1 && (this._castling.w |= L.QSIDE_CASTLE), r[2].indexOf(\"k\") > -1 && (this._castling.b |= L.KSIDE_CASTLE), r[2].indexOf(\"q\") > -1 && (this._castling.b |= L.QSIDE_CASTLE), this._epSquare = r[3] === \"-\" ? P : R[r[3]], this._halfMoves = parseInt(r[4], 10), this._moveNumber = parseInt(r[5], 10), this._updateSetup(e), this._incPositionCount(e);\n\t}\n\tfen() {\n\t\tlet e = 0, t = \"\";\n\t\tfor (let n = R.a8; n <= R.h1; n++) {\n\t\t\tif (this._board[n]) {\n\t\t\t\te > 0 && (t += e, e = 0);\n\t\t\t\tlet { color: r, type: i } = this._board[n];\n\t\t\t\tt += r === \"w\" ? i.toUpperCase() : i.toLowerCase();\n\t\t\t} else e++;\n\t\t\tn + 1 & 136 && (e > 0 && (t += e), n !== R.h1 && (t += \"/\"), e = 0, n += 8);\n\t\t}\n\t\tlet n = \"\";\n\t\tthis._castling.w & L.KSIDE_CASTLE && (n += \"K\"), this._castling.w & L.QSIDE_CASTLE && (n += \"Q\"), this._castling.b & L.KSIDE_CASTLE && (n += \"k\"), this._castling.b & L.QSIDE_CASTLE && (n += \"q\"), n ||= \"-\";\n\t\tlet r = \"-\";\n\t\tif (this._epSquare !== P) {\n\t\t\tlet e = this._epSquare + (this._turn === \"w\" ? 16 : -16), t = [e + 1, e - 1];\n\t\t\tfor (let e of t) {\n\t\t\t\tif (e & 136) continue;\n\t\t\t\tlet t = this._turn;\n\t\t\t\tif (this._board[e]?.color === t && this._board[e]?.type === \"p\") {\n\t\t\t\t\tthis._makeMove({\n\t\t\t\t\t\tcolor: t,\n\t\t\t\t\t\tfrom: e,\n\t\t\t\t\t\tto: this._epSquare,\n\t\t\t\t\t\tpiece: \"p\",\n\t\t\t\t\t\tcaptured: \"p\",\n\t\t\t\t\t\tflags: L.EP_CAPTURE\n\t\t\t\t\t});\n\t\t\t\t\tlet n = !this._isKingAttacked(t);\n\t\t\t\t\tif (this._undoMove(), n) {\n\t\t\t\t\t\tr = algebraic(this._epSquare);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn [\n\t\t\tt,\n\t\t\tthis._turn,\n\t\t\tn,\n\t\t\tr,\n\t\t\tthis._halfMoves,\n\t\t\tthis._moveNumber\n\t\t].join(\" \");\n\t}\n\t_updateSetup(e) {\n\t\tthis._history.length > 0 || (e === \"rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1\" ? (delete this._header.SetUp, delete this._header.FEN) : (this._header.SetUp = \"1\", this._header.FEN = e));\n\t}\n\treset() {\n\t\tthis.load(N);\n\t}\n\tget(e) {\n\t\treturn this._board[R[e]];\n\t}\n\tput({ type: e, color: t }, n) {\n\t\treturn this._put({\n\t\t\ttype: e,\n\t\t\tcolor: t\n\t\t}, n) ? (this._updateCastlingRights(), this._updateEnPassantSquare(), this._updateSetup(this.fen()), !0) : !1;\n\t}\n\t_put({ type: e, color: t }, n) {\n\t\tif (W.indexOf(e.toLowerCase()) === -1 || !(n in R)) return !1;\n\t\tlet r = R[n];\n\t\tif (e == \"k\" && !(this._kings[t] == P || this._kings[t] == r)) return !1;\n\t\tlet i = this._board[r];\n\t\treturn i && i.type === \"k\" && (this._kings[i.color] = P), this._board[r] = {\n\t\t\ttype: e,\n\t\t\tcolor: t\n\t\t}, e === \"k\" && (this._kings[t] = r), !0;\n\t}\n\tremove(e) {\n\t\tlet t = this.get(e);\n\t\treturn delete this._board[R[e]], t && t.type === \"k\" && (this._kings[t.color] = P), this._updateCastlingRights(), this._updateEnPassantSquare(), this._updateSetup(this.fen()), t;\n\t}\n\t_updateCastlingRights() {\n\t\tlet e = this._board[R.e1]?.type === \"k\" && this._board[R.e1]?.color === \"w\", t = this._board[R.e8]?.type === \"k\" && this._board[R.e8]?.color === \"b\";\n\t\t(!e || this._board[R.a1]?.type !== \"r\" || this._board[R.a1]?.color !== \"w\") && (this._castling.w &= ~L.QSIDE_CASTLE), (!e || this._board[R.h1]?.type !== \"r\" || this._board[R.h1]?.color !== \"w\") && (this._castling.w &= ~L.KSIDE_CASTLE), (!t || this._board[R.a8]?.type !== \"r\" || this._board[R.a8]?.color !== \"b\") && (this._castling.b &= ~L.QSIDE_CASTLE), (!t || this._board[R.h8]?.type !== \"r\" || this._board[R.h8]?.color !== \"b\") && (this._castling.b &= ~L.KSIDE_CASTLE);\n\t}\n\t_updateEnPassantSquare() {\n\t\tif (this._epSquare === P) return;\n\t\tlet e = this._epSquare + (this._turn === \"w\" ? -16 : 16), t = this._epSquare + (this._turn === \"w\" ? 16 : -16), n = [t + 1, t - 1];\n\t\tif (this._board[e] !== null || this._board[this._epSquare] !== null || this._board[t]?.color !== swapColor$1(this._turn) || this._board[t]?.type !== \"p\") {\n\t\t\tthis._epSquare = P;\n\t\t\treturn;\n\t\t}\n\t\tlet canCapture = (e) => !(e & 136) && this._board[e]?.color === this._turn && this._board[e]?.type === \"p\";\n\t\tn.some(canCapture) || (this._epSquare = P);\n\t}\n\t_attacked(e, t, n) {\n\t\tlet r = [];\n\t\tfor (let i = R.a8; i <= R.h1; i++) {\n\t\t\tif (i & 136) {\n\t\t\t\ti += 7;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (this._board[i] === void 0 || this._board[i].color !== e) continue;\n\t\t\tlet a = this._board[i], o = i - t;\n\t\t\tif (o === 0) continue;\n\t\t\tlet s = o + 119;\n\t\t\tif (V[s] & U[a.type]) {\n\t\t\t\tif (a.type === \"p\") {\n\t\t\t\t\tif (o > 0 && a.color === \"w\" || o <= 0 && a.color === \"b\") if (n) r.push(algebraic(i));\n\t\t\t\t\telse return !0;\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tif (a.type === \"n\" || a.type === \"k\") if (n) {\n\t\t\t\t\tr.push(algebraic(i));\n\t\t\t\t\tcontinue;\n\t\t\t\t} else return !0;\n\t\t\t\tlet e = H[s], c = i + e, l = !1;\n\t\t\t\tfor (; c !== t;) {\n\t\t\t\t\tif (this._board[c] != null) {\n\t\t\t\t\t\tl = !0;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tc += e;\n\t\t\t\t}\n\t\t\t\tif (!l) if (n) {\n\t\t\t\t\tr.push(algebraic(i));\n\t\t\t\t\tcontinue;\n\t\t\t\t} else return !0;\n\t\t\t}\n\t\t}\n\t\treturn n ? r : !1;\n\t}\n\tattackers(e, t) {\n\t\treturn t ? this._attacked(t, R[e], !0) : this._attacked(this._turn, R[e], !0);\n\t}\n\t_isKingAttacked(e) {\n\t\tlet t = this._kings[e];\n\t\treturn t === -1 ? !1 : this._attacked(swapColor$1(e), t);\n\t}\n\tisAttacked(e, t) {\n\t\treturn this._attacked(t, R[e]);\n\t}\n\tisCheck() {\n\t\treturn this._isKingAttacked(this._turn);\n\t}\n\tinCheck() {\n\t\treturn this.isCheck();\n\t}\n\tisCheckmate() {\n\t\treturn this.isCheck() && this._moves().length === 0;\n\t}\n\tisStalemate() {\n\t\treturn !this.isCheck() && this._moves().length === 0;\n\t}\n\tisInsufficientMaterial() {\n\t\tlet e = {\n\t\t\tb: 0,\n\t\t\tn: 0,\n\t\t\tr: 0,\n\t\t\tq: 0,\n\t\t\tk: 0,\n\t\t\tp: 0\n\t\t}, t = [], n = 0, r = 0;\n\t\tfor (let i = R.a8; i <= R.h1; i++) {\n\t\t\tif (r = (r + 1) % 2, i & 136) {\n\t\t\t\ti += 7;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tlet a = this._board[i];\n\t\t\ta && (e[a.type] = a.type in e ? e[a.type] + 1 : 1, a.type === \"b\" && t.push(r), n++);\n\t\t}\n\t\tif (n === 2 || n === 3 && (e.b === 1 || e.n === 1)) return !0;\n\t\tif (n === e.b + 2) {\n\t\t\tlet e = 0, n = t.length;\n\t\t\tfor (let r = 0; r < n; r++) e += t[r];\n\t\t\tif (e === 0 || e === n) return !0;\n\t\t}\n\t\treturn !1;\n\t}\n\tisThreefoldRepetition() {\n\t\treturn this._getPositionCount(this.fen()) >= 3;\n\t}\n\tisDrawByFiftyMoves() {\n\t\treturn this._halfMoves >= 100;\n\t}\n\tisDraw() {\n\t\treturn this.isDrawByFiftyMoves() || this.isStalemate() || this.isInsufficientMaterial() || this.isThreefoldRepetition();\n\t}\n\tisGameOver() {\n\t\treturn this.isCheckmate() || this.isStalemate() || this.isDraw();\n\t}\n\tmoves({ verbose: e = !1, square: t = void 0, piece: n = void 0 } = {}) {\n\t\tlet r = this._moves({\n\t\t\tsquare: t,\n\t\t\tpiece: n\n\t\t});\n\t\treturn e ? r.map((e) => new Move(this, e)) : r.map((e) => this._moveToSan(e, r));\n\t}\n\t_moves({ legal: e = !0, piece: t = void 0, square: n = void 0 } = {}) {\n\t\tlet r = n ? n.toLowerCase() : void 0, i = t?.toLowerCase(), a = [], o = this._turn, s = swapColor$1(o), c = R.a8, l = R.h1, u = !1;\n\t\tif (r) if (r in R) c = l = R[r], u = !0;\n\t\telse return [];\n\t\tfor (let e = c; e <= l; e++) {\n\t\t\tif (e & 136) {\n\t\t\t\te += 7;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (!this._board[e] || this._board[e].color === s) continue;\n\t\t\tlet { type: t } = this._board[e], n;\n\t\t\tif (t === \"p\") {\n\t\t\t\tif (i && i !== t) continue;\n\t\t\t\tn = e + z[o][0], this._board[n] || (addMove(a, o, e, n, \"p\"), n = e + z[o][1], Q[o] === rank(e) && !this._board[n] && addMove(a, o, e, n, \"p\", void 0, L.BIG_PAWN));\n\t\t\t\tfor (let t = 2; t < 4; t++) n = e + z[o][t], !(n & 136) && (this._board[n]?.color === s ? addMove(a, o, e, n, \"p\", this._board[n].type, L.CAPTURE) : n === this._epSquare && addMove(a, o, e, n, \"p\", \"p\", L.EP_CAPTURE));\n\t\t\t} else {\n\t\t\t\tif (i && i !== t) continue;\n\t\t\t\tfor (let r = 0, i = B[t].length; r < i; r++) {\n\t\t\t\t\tlet i = B[t][r];\n\t\t\t\t\tfor (n = e; n += i, !(n & 136);) {\n\t\t\t\t\t\tif (!this._board[n]) addMove(a, o, e, n, t);\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tif (this._board[n].color === o) break;\n\t\t\t\t\t\t\taddMove(a, o, e, n, t, this._board[n].type, L.CAPTURE);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (t === \"n\" || t === \"k\") break;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif ((i === void 0 || i === \"k\") && (!u || l === this._kings[o])) {\n\t\t\tif (this._castling[o] & L.KSIDE_CASTLE) {\n\t\t\t\tlet e = this._kings[o], t = e + 2;\n\t\t\t\t!this._board[e + 1] && !this._board[t] && !this._attacked(s, this._kings[o]) && !this._attacked(s, e + 1) && !this._attacked(s, t) && addMove(a, o, this._kings[o], t, \"k\", void 0, L.KSIDE_CASTLE);\n\t\t\t}\n\t\t\tif (this._castling[o] & L.QSIDE_CASTLE) {\n\t\t\t\tlet e = this._kings[o], t = e - 2;\n\t\t\t\t!this._board[e - 1] && !this._board[e - 2] && !this._board[e - 3] && !this._attacked(s, this._kings[o]) && !this._attacked(s, e - 1) && !this._attacked(s, t) && addMove(a, o, this._kings[o], t, \"k\", void 0, L.QSIDE_CASTLE);\n\t\t\t}\n\t\t}\n\t\tif (!e || this._kings[o] === -1) return a;\n\t\tlet d = [];\n\t\tfor (let e = 0, t = a.length; e < t; e++) this._makeMove(a[e]), this._isKingAttacked(o) || d.push(a[e]), this._undoMove();\n\t\treturn d;\n\t}\n\tmove(e, { strict: t = !1 } = {}) {\n\t\tlet n = null;\n\t\tif (typeof e == \"string\") n = this._moveFromSan(e, t);\n\t\telse if (typeof e == \"object\") {\n\t\t\tlet t = this._moves();\n\t\t\tfor (let r = 0, i = t.length; r < i; r++) if (e.from === algebraic(t[r].from) && e.to === algebraic(t[r].to) && (!(\"promotion\" in t[r]) || e.promotion === t[r].promotion)) {\n\t\t\t\tn = t[r];\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tif (!n) throw typeof e == \"string\" ? Error(`Invalid move: ${e}`) : Error(`Invalid move: ${JSON.stringify(e)}`);\n\t\tlet r = new Move(this, n);\n\t\treturn this._makeMove(n), this._incPositionCount(r.after), r;\n\t}\n\t_push(e) {\n\t\tthis._history.push({\n\t\t\tmove: e,\n\t\t\tkings: {\n\t\t\t\tb: this._kings.b,\n\t\t\t\tw: this._kings.w\n\t\t\t},\n\t\t\tturn: this._turn,\n\t\t\tcastling: {\n\t\t\t\tb: this._castling.b,\n\t\t\t\tw: this._castling.w\n\t\t\t},\n\t\t\tepSquare: this._epSquare,\n\t\t\thalfMoves: this._halfMoves,\n\t\t\tmoveNumber: this._moveNumber\n\t\t});\n\t}\n\t_makeMove(e) {\n\t\tlet t = this._turn, n = swapColor$1(t);\n\t\tif (this._push(e), this._board[e.to] = this._board[e.from], delete this._board[e.from], e.flags & L.EP_CAPTURE && (this._turn === \"b\" ? delete this._board[e.to - 16] : delete this._board[e.to + 16]), e.promotion && (this._board[e.to] = {\n\t\t\ttype: e.promotion,\n\t\t\tcolor: t\n\t\t}), this._board[e.to].type === \"k\") {\n\t\t\tif (this._kings[t] = e.to, e.flags & L.KSIDE_CASTLE) {\n\t\t\t\tlet t = e.to - 1, n = e.to + 1;\n\t\t\t\tthis._board[t] = this._board[n], delete this._board[n];\n\t\t\t} else if (e.flags & L.QSIDE_CASTLE) {\n\t\t\t\tlet t = e.to + 1, n = e.to - 2;\n\t\t\t\tthis._board[t] = this._board[n], delete this._board[n];\n\t\t\t}\n\t\t\tthis._castling[t] = 0;\n\t\t}\n\t\tif (this._castling[t]) {\n\t\t\tfor (let n = 0, r = Z[t].length; n < r; n++) if (e.from === Z[t][n].square && this._castling[t] & Z[t][n].flag) {\n\t\t\t\tthis._castling[t] ^= Z[t][n].flag;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tif (this._castling[n]) {\n\t\t\tfor (let t = 0, r = Z[n].length; t < r; t++) if (e.to === Z[n][t].square && this._castling[n] & Z[n][t].flag) {\n\t\t\t\tthis._castling[n] ^= Z[n][t].flag;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\te.flags & L.BIG_PAWN ? t === \"b\" ? this._epSquare = e.to - 16 : this._epSquare = e.to + 16 : this._epSquare = P, e.piece === \"p\" || e.flags & (L.CAPTURE | L.EP_CAPTURE) ? this._halfMoves = 0 : this._halfMoves++, t === \"b\" && this._moveNumber++, this._turn = n;\n\t}\n\tundo() {\n\t\tlet e = this._undoMove();\n\t\tif (e) {\n\t\t\tlet t = new Move(this, e);\n\t\t\treturn this._decPositionCount(t.after), t;\n\t\t}\n\t\treturn null;\n\t}\n\t_undoMove() {\n\t\tlet e = this._history.pop();\n\t\tif (e === void 0) return null;\n\t\tlet t = e.move;\n\t\tthis._kings = e.kings, this._turn = e.turn, this._castling = e.castling, this._epSquare = e.epSquare, this._halfMoves = e.halfMoves, this._moveNumber = e.moveNumber;\n\t\tlet n = this._turn, r = swapColor$1(n);\n\t\tif (this._board[t.from] = this._board[t.to], this._board[t.from].type = t.piece, delete this._board[t.to], t.captured) if (t.flags & L.EP_CAPTURE) {\n\t\t\tlet e;\n\t\t\te = n === \"b\" ? t.to - 16 : t.to + 16, this._board[e] = {\n\t\t\t\ttype: \"p\",\n\t\t\t\tcolor: r\n\t\t\t};\n\t\t} else this._board[t.to] = {\n\t\t\ttype: t.captured,\n\t\t\tcolor: r\n\t\t};\n\t\tif (t.flags & (L.KSIDE_CASTLE | L.QSIDE_CASTLE)) {\n\t\t\tlet e, n;\n\t\t\tt.flags & L.KSIDE_CASTLE ? (e = t.to + 1, n = t.to - 1) : (e = t.to - 2, n = t.to + 1), this._board[e] = this._board[n], delete this._board[n];\n\t\t}\n\t\treturn t;\n\t}\n\tpgn({ newline: e = \"\\n\", maxWidth: t = 0 } = {}) {\n\t\tlet n = [], r = !1;\n\t\tfor (let t in this._header) n.push(\"[\" + t + \" \\\"\" + this._header[t] + \"\\\"]\" + e), r = !0;\n\t\tr && this._history.length && n.push(e);\n\t\tlet appendComment = (e) => {\n\t\t\tlet t = this._comments[this.fen()];\n\t\t\tif (t !== void 0) {\n\t\t\t\tlet n = e.length > 0 ? \" \" : \"\";\n\t\t\t\te = `${e}${n}{${t}}`;\n\t\t\t}\n\t\t\treturn e;\n\t\t}, i = [];\n\t\tfor (; this._history.length > 0;) i.push(this._undoMove());\n\t\tlet a = [], o = \"\";\n\t\tfor (i.length === 0 && a.push(appendComment(\"\")); i.length > 0;) {\n\t\t\to = appendComment(o);\n\t\t\tlet e = i.pop();\n\t\t\tif (!e) break;\n\t\t\tif (!this._history.length && e.color === \"b\") {\n\t\t\t\tlet e = `${this._moveNumber}. ...`;\n\t\t\t\to = o ? `${o} ${e}` : e;\n\t\t\t} else e.color === \"w\" && (o.length && a.push(o), o = this._moveNumber + \".\");\n\t\t\to = o + \" \" + this._moveToSan(e, this._moves({ legal: !0 })), this._makeMove(e);\n\t\t}\n\t\tif (o.length && a.push(appendComment(o)), this._header.Result !== void 0 && a.push(this._header.Result), t === 0) return n.join(\"\") + a.join(\" \");\n\t\tlet strip = function() {\n\t\t\treturn n.length > 0 && n[n.length - 1] === \" \" ? (n.pop(), !0) : !1;\n\t\t}, wrapComment = function(r, i) {\n\t\t\tfor (let a of i.split(\" \")) if (a) {\n\t\t\t\tif (r + a.length > t) {\n\t\t\t\t\tfor (; strip();) r--;\n\t\t\t\t\tn.push(e), r = 0;\n\t\t\t\t}\n\t\t\t\tn.push(a), r += a.length, n.push(\" \"), r++;\n\t\t\t}\n\t\t\treturn strip() && r--, r;\n\t\t}, s = 0;\n\t\tfor (let r = 0; r < a.length; r++) {\n\t\t\tif (s + a[r].length > t && a[r].includes(\"{\")) {\n\t\t\t\ts = wrapComment(s, a[r]);\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\ts + a[r].length > t && r !== 0 ? (n[n.length - 1] === \" \" && n.pop(), n.push(e), s = 0) : r !== 0 && (n.push(\" \"), s++), n.push(a[r]), s += a[r].length;\n\t\t}\n\t\treturn n.join(\"\");\n\t}\n\theader(...e) {\n\t\tfor (let t = 0; t < e.length; t += 2) typeof e[t] == \"string\" && typeof e[t + 1] == \"string\" && (this._header[e[t]] = e[t + 1]);\n\t\treturn this._header;\n\t}\n\tsetHeader(e, t) {\n\t\treturn this._header[e] = t, this._header;\n\t}\n\tremoveHeader(e) {\n\t\treturn e in this._header ? (delete this._header[e], !0) : !1;\n\t}\n\tgetHeaders() {\n\t\treturn this._header;\n\t}\n\tloadPgn(e, { strict: t = !1, newlineChar: n = \"\\r?\\n\" } = {}) {\n\t\tfunction mask(e) {\n\t\t\treturn e.replace(/\\\\/g, \"\\\\\");\n\t\t}\n\t\tfunction parsePgnHeader(e) {\n\t\t\tlet t = {}, r = e.split(new RegExp(mask(n))), i = \"\", a = \"\";\n\t\t\tfor (let e = 0; e < r.length; e++) {\n\t\t\t\tlet n = /^\\s*\\[\\s*([A-Za-z]+)\\s*\"(.*)\"\\s*\\]\\s*$/;\n\t\t\t\ti = r[e].replace(n, \"$1\"), a = r[e].replace(n, \"$2\"), i.trim().length > 0 && (t[i] = a);\n\t\t\t}\n\t\t\treturn t;\n\t\t}\n\t\te = e.trim();\n\t\tlet r = RegExp(\"^(\\\\[((?:\" + mask(n) + \")|.)*\\\\])((?:\\\\s*\" + mask(n) + \"){2}|(?:\\\\s*\" + mask(n) + \")*$)\").exec(e), i = r && r.length >= 2 ? r[1] : \"\";\n\t\tthis.reset();\n\t\tlet a = parsePgnHeader(i), o = \"\";\n\t\tfor (let e in a) e.toLowerCase() === \"fen\" && (o = a[e]), this.header(e, a[e]);\n\t\tif (!t) o && this.load(o, { preserveHeaders: !0 });\n\t\telse if (a.SetUp === \"1\") {\n\t\t\tif (!(\"FEN\" in a)) throw Error(\"Invalid PGN: FEN tag must be supplied with SetUp tag\");\n\t\t\tthis.load(a.FEN, { preserveHeaders: !0 });\n\t\t}\n\t\tfunction toHex(e) {\n\t\t\treturn Array.from(e).map(function(e) {\n\t\t\t\treturn e.charCodeAt(0) < 128 ? e.charCodeAt(0).toString(16) : encodeURIComponent(e).replace(/%/g, \"\").toLowerCase();\n\t\t\t}).join(\"\");\n\t\t}\n\t\tfunction fromHex(e) {\n\t\t\treturn e.length == 0 ? \"\" : decodeURIComponent(\"%\" + (e.match(/.{1,2}/g) || []).join(\"%\"));\n\t\t}\n\t\tlet encodeComment = function(e) {\n\t\t\treturn e = e.replace(new RegExp(mask(n), \"g\"), \" \"), `{${toHex(e.slice(1, e.length - 1))}}`;\n\t\t}, decodeComment = function(e) {\n\t\t\tif (e.startsWith(\"{\") && e.endsWith(\"}\")) return fromHex(e.slice(1, e.length - 1));\n\t\t}, s = e.replace(i, \"\").replace(RegExp(`({[^}]*})+?|;([^${mask(n)}]*)`, \"g\"), function(e, t, n) {\n\t\t\treturn t === void 0 ? \" \" + encodeComment(`{${n.slice(1)}}`) : encodeComment(t);\n\t\t}).replace(new RegExp(mask(n), \"g\"), \" \"), c = /(\\([^()]+\\))+?/g;\n\t\tfor (; c.test(s);) s = s.replace(c, \"\");\n\t\ts = s.replace(/\\d+\\.(\\.\\.)?/g, \"\"), s = s.replace(/\\.\\.\\./g, \"\"), s = s.replace(/\\$\\d+/g, \"\");\n\t\tlet l = s.trim().split(/* @__PURE__ */ new RegExp(/\\s+/));\n\t\tl = l.filter((e) => e !== \"\");\n\t\tlet u = \"\";\n\t\tfor (let e = 0; e < l.length; e++) {\n\t\t\tlet n = decodeComment(l[e]);\n\t\t\tif (n !== void 0) {\n\t\t\t\tthis._comments[this.fen()] = n;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tlet r = this._moveFromSan(l[e], t);\n\t\t\tif (r == null) if (ee.indexOf(l[e]) > -1) u = l[e];\n\t\t\telse throw Error(`Invalid move in PGN: ${l[e]}`);\n\t\t\telse u = \"\", this._makeMove(r), this._incPositionCount(this.fen());\n\t\t}\n\t\tu && Object.keys(this._header).length && !this._header.Result && this.header(\"Result\", u);\n\t}\n\t_moveToSan(e, t) {\n\t\tlet n = \"\";\n\t\tif (e.flags & L.KSIDE_CASTLE) n = \"O-O\";\n\t\telse if (e.flags & L.QSIDE_CASTLE) n = \"O-O-O\";\n\t\telse {\n\t\t\tif (e.piece !== \"p\") {\n\t\t\t\tlet r = getDisambiguator(e, t);\n\t\t\t\tn += e.piece.toUpperCase() + r;\n\t\t\t}\n\t\t\te.flags & (L.CAPTURE | L.EP_CAPTURE) && (e.piece === \"p\" && (n += algebraic(e.from)[0]), n += \"x\"), n += algebraic(e.to), e.promotion && (n += \"=\" + e.promotion.toUpperCase());\n\t\t}\n\t\treturn this._makeMove(e), this.isCheck() && (this.isCheckmate() ? n += \"#\" : n += \"+\"), this._undoMove(), n;\n\t}\n\t_moveFromSan(e, t = !1) {\n\t\tlet n = strippedSan(e), r = inferPieceType(n), i = this._moves({\n\t\t\tlegal: !0,\n\t\t\tpiece: r\n\t\t});\n\t\tfor (let e = 0, t = i.length; e < t; e++) if (n === strippedSan(this._moveToSan(i[e], i))) return i[e];\n\t\tif (t) return null;\n\t\tlet a, o, s, c, l, u = !1;\n\t\tif (o = n.match(/([pnbrqkPNBRQK])?([a-h][1-8])x?-?([a-h][1-8])([qrbnQRBN])?/), o ? (a = o[1], s = o[2], c = o[3], l = o[4], s.length == 1 && (u = !0)) : (o = n.match(/([pnbrqkPNBRQK])?([a-h]?[1-8]?)x?-?([a-h][1-8])([qrbnQRBN])?/), o && (a = o[1], s = o[2], c = o[3], l = o[4], s.length == 1 && (u = !0))), r = inferPieceType(n), i = this._moves({\n\t\t\tlegal: !0,\n\t\t\tpiece: a || r\n\t\t}), !c) return null;\n\t\tfor (let e = 0, t = i.length; e < t; e++) if (!s) {\n\t\t\tif (n === strippedSan(this._moveToSan(i[e], i)).replace(\"x\", \"\")) return i[e];\n\t\t} else if ((!a || a.toLowerCase() == i[e].piece) && R[s] == i[e].from && R[c] == i[e].to && (!l || l.toLowerCase() == i[e].promotion)) return i[e];\n\t\telse if (u) {\n\t\t\tlet t = algebraic(i[e].from);\n\t\t\tif ((!a || a.toLowerCase() == i[e].piece) && R[c] == i[e].to && (s == t[0] || s == t[1]) && (!l || l.toLowerCase() == i[e].promotion)) return i[e];\n\t\t}\n\t\treturn null;\n\t}\n\tascii() {\n\t\tlet e = \" +------------------------+\\n\";\n\t\tfor (let t = R.a8; t <= R.h1; t++) {\n\t\t\tif (file(t) === 0 && (e += \" \" + \"87654321\"[rank(t)] + \" |\"), this._board[t]) {\n\t\t\t\tlet n = this._board[t].type, r = this._board[t].color === \"w\" ? n.toUpperCase() : n.toLowerCase();\n\t\t\t\te += \" \" + r + \" \";\n\t\t\t} else e += \" . \";\n\t\t\tt + 1 & 136 && (e += \"|\\n\", t += 8);\n\t\t}\n\t\treturn e += \" +------------------------+\\n\", e += \" a b c d e f g h\", e;\n\t}\n\tperft(e) {\n\t\tlet t = this._moves({ legal: !1 }), n = 0, r = this._turn;\n\t\tfor (let i = 0, a = t.length; i < a; i++) this._makeMove(t[i]), this._isKingAttacked(r) || (e - 1 > 0 ? n += this.perft(e - 1) : n++), this._undoMove();\n\t\treturn n;\n\t}\n\tturn() {\n\t\treturn this._turn;\n\t}\n\tboard() {\n\t\tlet e = [], t = [];\n\t\tfor (let n = R.a8; n <= R.h1; n++) this._board[n] == null ? t.push(null) : t.push({\n\t\t\tsquare: algebraic(n),\n\t\t\ttype: this._board[n].type,\n\t\t\tcolor: this._board[n].color\n\t\t}), n + 1 & 136 && (e.push(t), t = [], n += 8);\n\t\treturn e;\n\t}\n\tsquareColor(e) {\n\t\tif (e in R) {\n\t\t\tlet t = R[e];\n\t\t\treturn (rank(t) + file(t)) % 2 == 0 ? \"light\" : \"dark\";\n\t\t}\n\t\treturn null;\n\t}\n\thistory({ verbose: e = !1 } = {}) {\n\t\tlet t = [], n = [];\n\t\tfor (; this._history.length > 0;) t.push(this._undoMove());\n\t\tfor (;;) {\n\t\t\tlet r = t.pop();\n\t\t\tif (!r) break;\n\t\t\te ? n.push(new Move(this, r)) : n.push(this._moveToSan(r, this._moves())), this._makeMove(r);\n\t\t}\n\t\treturn n;\n\t}\n\t_getPositionCount(e) {\n\t\tlet t = trimFen(e);\n\t\treturn this._positionCount[t] || 0;\n\t}\n\t_incPositionCount(e) {\n\t\tlet t = trimFen(e);\n\t\tthis._positionCount[t] === void 0 && (this._positionCount[t] = 0), this._positionCount[t] += 1;\n\t}\n\t_decPositionCount(e) {\n\t\tlet t = trimFen(e);\n\t\tthis._positionCount[t] === 1 ? delete this._positionCount[t] : --this._positionCount[t];\n\t}\n\t_pruneComments() {\n\t\tlet e = [], t = {}, copyComment = (e) => {\n\t\t\te in this._comments && (t[e] = this._comments[e]);\n\t\t};\n\t\tfor (; this._history.length > 0;) e.push(this._undoMove());\n\t\tfor (copyComment(this.fen());;) {\n\t\t\tlet t = e.pop();\n\t\t\tif (!t) break;\n\t\t\tthis._makeMove(t), copyComment(this.fen());\n\t\t}\n\t\tthis._comments = t;\n\t}\n\tgetComment() {\n\t\treturn this._comments[this.fen()];\n\t}\n\tsetComment(e) {\n\t\tthis._comments[this.fen()] = e.replace(\"{\", \"[\").replace(\"}\", \"]\");\n\t}\n\tdeleteComment() {\n\t\treturn this.removeComment();\n\t}\n\tremoveComment() {\n\t\tlet e = this._comments[this.fen()];\n\t\treturn delete this._comments[this.fen()], e;\n\t}\n\tgetComments() {\n\t\treturn this._pruneComments(), Object.keys(this._comments).map((e) => ({\n\t\t\tfen: e,\n\t\t\tcomment: this._comments[e]\n\t\t}));\n\t}\n\tdeleteComments() {\n\t\treturn this.removeComments();\n\t}\n\tremoveComments() {\n\t\treturn this._pruneComments(), Object.keys(this._comments).map((e) => {\n\t\t\tlet t = this._comments[e];\n\t\t\treturn delete this._comments[e], {\n\t\t\t\tfen: e,\n\t\t\t\tcomment: t\n\t\t\t};\n\t\t});\n\t}\n\tsetCastlingRights(e, t) {\n\t\tfor (let n of [\"k\", \"q\"]) t[n] !== void 0 && (t[n] ? this._castling[e] |= X[n] : this._castling[e] &= ~X[n]);\n\t\tthis._updateCastlingRights();\n\t\tlet n = this.getCastlingRights(e);\n\t\treturn (t.k === void 0 || t.k === n.k) && (t.q === void 0 || t.q === n.q);\n\t}\n\tgetCastlingRights(e) {\n\t\treturn {\n\t\t\tk: (this._castling[e] & X.k) !== 0,\n\t\t\tq: (this._castling[e] & X.q) !== 0\n\t\t};\n\t}\n\tmoveNumber() {\n\t\treturn this._moveNumber;\n\t}\n};\n//#endregion\n//#region src/chess/composables/useChessgroundBounds.ts\nfunction useChessgroundBounds(e, t) {\n\tlet n = null, r = h(() => t.value, (t) => {\n\t\t!t || !e.value || (requestAnimationFrame(() => t.redrawAll()), n = new ResizeObserver(() => t.redrawAll()), n.observe(e.value), r());\n\t}, { immediate: !0 });\n\tu(() => {\n\t\tn?.disconnect(), n = null;\n\t});\n}\n//#endregion\n//#region src/chess/questions/puzzle/puzzle.vue?vue&type=script&lang.ts\nvar parseUciMove = (e) => {\n\tif (e.length < 4 || e.length > 5) throw Error(`Invalid UCI move format: ${e}`);\n\treturn {\n\t\tfrom: e.substring(0, 2),\n\t\tto: e.substring(2, 4),\n\t\tpromotion: e.length === 5 ? e[4] : void 0\n\t};\n}, toDests = (e) => {\n\tlet t = /* @__PURE__ */ new Map();\n\treturn I.forEach((n) => {\n\t\tlet r = e.moves({\n\t\t\tsquare: n,\n\t\t\tverbose: !0\n\t\t});\n\t\tr.length && t.set(n, r.map((e) => e.to));\n\t}), t;\n}, swapColor = (e) => e === \"cg-white\" ? \"cg-black\" : \"cg-white\", toColor = (e) => e.turn() === \"w\" ? \"cg-white\" : \"cg-black\", te = c({\n\tname: \"PuzzleView\",\n\tprops: {\n\t\tdata: {\n\t\t\ttype: Array,\n\t\t\trequired: !0\n\t\t},\n\t\tmodifyDifficulty: {\n\t\t\ttype: Number,\n\t\t\trequired: !1,\n\t\t\tdefault: 0\n\t\t}\n\t},\n\tsetup(e, { emit: t }) {\n\t\tlet n = v(e, t, \"PuzzleView\"), r = _(n), a = f(null), o = f(), s = f(), c = f(\"cg-white\"), d = f(!1), p = f(null);\n\t\tuseChessgroundBounds(a, s);\n\t\tlet m = [\n\t\t\t{\n\t\t\t\tvalue: \"q\",\n\t\t\t\tname: \"Queen\",\n\t\t\t\twhiteSymbol: \"♕\",\n\t\t\t\tblackSymbol: \"♛\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: \"r\",\n\t\t\t\tname: \"Rook\",\n\t\t\t\twhiteSymbol: \"♖\",\n\t\t\t\tblackSymbol: \"♜\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: \"b\",\n\t\t\t\tname: \"Bishop\",\n\t\t\t\twhiteSymbol: \"♗\",\n\t\t\t\tblackSymbol: \"♝\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: \"n\",\n\t\t\t\tname: \"Knight\",\n\t\t\t\twhiteSymbol: \"♘\",\n\t\t\t\tblackSymbol: \"♞\"\n\t\t\t}\n\t\t], h = i(() => {\n\t\t\tlet e = [\n\t\t\t\t\"a\",\n\t\t\t\t\"b\",\n\t\t\t\t\"c\",\n\t\t\t\t\"d\",\n\t\t\t\t\"e\",\n\t\t\t\t\"f\",\n\t\t\t\t\"g\",\n\t\t\t\t\"h\"\n\t\t\t];\n\t\t\treturn c.value === \"cg-white\" ? e : e.reverse();\n\t\t}), isPromotionPiece = (e) => e ? [\n\t\t\t\"q\",\n\t\t\t\"r\",\n\t\t\t\"b\",\n\t\t\t\"n\"\n\t\t].includes(e) : !1, isUnfinishedPromotion = (e, t, n) => isPromotionPiece(n) ? !1 : o.value?.get(e)?.type === \"p\" && (t[1] === \"8\" || t[1] === \"1\"), updateChessground = () => {\n\t\t\t!o.value || !s.value || s.value.set({\n\t\t\t\tfen: o.value.fen(),\n\t\t\t\tturnColor: toColor(o.value),\n\t\t\t\tmovable: {\n\t\t\t\t\tcolor: toColor(o.value),\n\t\t\t\t\tdests: toDests(o.value)\n\t\t\t\t}\n\t\t\t});\n\t\t}, handlePromotion = (e) => {\n\t\t\tif (e !== \"q\" && e !== \"r\" && e !== \"b\" && e !== \"n\") {\n\t\t\t\tn.logger.error(`Invalid promotion piece: ${e}`);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tp.value && (n.logger.log(`promoting to ${e}`), d.value = !1, checkMove(p.value.from, p.value.to, e));\n\t\t}, checkMove = (e, t, n) => {\n\t\t\tif (!r.question.value?.moves.length) throw Error(\"No moves\");\n\t\t\tif (isUnfinishedPromotion(e, t, n)) {\n\t\t\t\tp.value = {\n\t\t\t\t\tfrom: e,\n\t\t\t\t\tto: t\n\t\t\t\t}, d.value = !0;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tr.question.value.moves[0] === (isPromotionPiece(n) ? `${e}${t}${n}` : `${e}${t}`) ? (o.value?.move({\n\t\t\t\tfrom: e,\n\t\t\t\tto: t,\n\t\t\t\tpromotion: isPromotionPiece(n) ? n : void 0\n\t\t\t}), updateChessground(), r.question.value.moves.shift(), r.question.value.moves.length === 0 ? r.submitAnswer(\"\") : window.setTimeout(() => {\n\t\t\t\tif (!r.question.value) return;\n\t\t\t\tlet e = parseUciMove(r.question.value.moves.shift());\n\t\t\t\to.value?.move(e), updateChessground();\n\t\t\t}, 300)) : (o.value?.move({\n\t\t\t\tfrom: e,\n\t\t\t\tto: t,\n\t\t\t\tpromotion: n\n\t\t\t}), o.value?.isCheckmate() ? r.submitAnswer($.CHECKMATE) : o.value?.undo(), r.submitAnswer(e + t + n), updateChessground());\n\t\t};\n\t\treturn l(() => {\n\t\t\tif (!a.value) return;\n\t\t\tr.question.value = new $(e.data), o.value = new Chess(r.question.value.fen), c.value = swapColor(toColor(o.value)), s.value = Chessground(a.value, {\n\t\t\t\tmovable: {\n\t\t\t\t\tfree: !1,\n\t\t\t\t\tshowDests: !0,\n\t\t\t\t\tdests: toDests(o.value),\n\t\t\t\t\tevents: { after: checkMove }\n\t\t\t\t},\n\t\t\t\tdraggable: { showGhost: !0 },\n\t\t\t\tfen: o.value.fen(),\n\t\t\t\torientation: c.value,\n\t\t\t\tcoordinates: !1,\n\t\t\t\tanimation: {\n\t\t\t\t\tduration: 300,\n\t\t\t\t\tenabled: !0\n\t\t\t\t}\n\t\t\t});\n\t\t\tlet t = r.question.value.moves.shift();\n\t\t\ts.value.move(t.substring(0, 2), t.substring(2)), o.value.move({\n\t\t\t\tfrom: t.substring(0, 2),\n\t\t\t\tto: t.substring(2)\n\t\t\t}), updateChessground();\n\t\t}), u(() => {\n\t\t\ts.value?.destroy(), o.value = void 0;\n\t\t}), {\n\t\t\tboardElement: a,\n\t\t\tplayerColor: c,\n\t\t\tfiles: h,\n\t\t\tshowPromotionDialog: d,\n\t\t\tpromotionPieces: m,\n\t\t\thandlePromotion,\n\t\t\t...n,\n\t\t\t...r\n\t\t};\n\t}\n}), ne = { \"data-viewable\": \"PuzzleView\" }, re = { class: \"text-h5\" }, ie = { class: \"puzzle-board-wrapper\" }, ae = { class: \"puzzle-ranks-labels\" }, oe = { class: \"puzzle-board-and-files\" }, se = {\n\tid: \"cg\",\n\tref: \"boardElement\"\n}, ce = { class: \"puzzle-files-labels\" }, le = {\n\tkey: 0,\n\tclass: \"puzzle-promotion-dialog\"\n}, ue = [\"onClick\"];\nfunction _sfc_render(e, t, n, i, c, l) {\n\treturn d(), o(\"div\", ne, [\n\t\ts(\"p\", re, \" Make the best move for \" + m(e.playerColor === \"cg-white\" ? \"White ♖♘♗♕♔♗♘♖\" : \"Black ♜♞♝♚♛♝♞♜\") + \": \", 1),\n\t\ts(\"div\", ie, [s(\"div\", ae, [(d(), o(r, null, p(8, (t) => s(\"div\", { key: t }, m(e.playerColor === \"cg-white\" ? 9 - t : t), 1)), 64))]), s(\"div\", oe, [s(\"div\", se, null, 512), s(\"div\", ce, [(d(!0), o(r, null, p(e.files, (e) => (d(), o(\"div\", { key: e }, m(e), 1))), 128))])])]),\n\t\te.showPromotionDialog ? (d(), o(\"div\", le, [(d(!0), o(r, null, p(e.promotionPieces, (t) => (d(), o(\"button\", {\n\t\t\tkey: t.value,\n\t\t\tonClick: (n) => e.handlePromotion(t.value)\n\t\t}, m(e.playerColor === \"cg-white\" ? t.whiteSymbol : t.blackSymbol) + \" \" + m(t.name), 9, ue))), 128))])) : a(\"\", !0)\n\t]);\n}\nvar de = /* @__PURE__ */ t(te, [[\"render\", _sfc_render]]), $ = class ChessPuzzle extends g {\n\tstatic dataShapes = [{\n\t\tname: y.CHESS_puzzle,\n\t\tfields: [{\n\t\t\tname: \"puzzleData\",\n\t\t\ttype: b.CHESS_PUZZLE,\n\t\t\tvalidator: {\n\t\t\t\tinstructions: \"insert a valid fen string\",\n\t\t\t\ttest: function(e) {\n\t\t\t\t\treturn console.log(`running puzzle validator on ${e}`), e ? e.split(\",\").length == 10 ? {\n\t\t\t\t\t\tstatus: x.ok,\n\t\t\t\t\t\tmsg: \"\"\n\t\t\t\t\t} : {\n\t\t\t\t\t\tstatus: x.error,\n\t\t\t\t\t\tmsg: \"puzzleData must have 8 comma-separated fields\"\n\t\t\t\t\t} : {\n\t\t\t\t\t\tstatus: x.error,\n\t\t\t\t\t\tmsg: \"no defined input\"\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t},\n\t\t\ttagger: () => [\"test\"]\n\t\t}]\n\t}];\n\tstatic views = [de];\n\tstatic acceptsUserData = !0;\n\tstatic CHECKMATE = \"CHECKMATE\";\n\tfen;\n\tid;\n\tmoves;\n\trating;\n\tthemes;\n\tconstructor(e) {\n\t\tsuper(e);\n\t\tlet [t, n, r, i, , , , a] = e[0].puzzleData.split(\",\");\n\t\tthis.id = t, this.fen = n, this.moves = r.split(\" \"), this.rating = parseInt(i, 10), this.themes = a.split(\" \");\n\t}\n\tcheckMove = (e, t) => (alert(\"checkMove\"), console.log(\"checkMove\", e, t), console.log(\"this.moves[0]\", this.moves[0]), this.moves[0] === t);\n\tevaluate(e, t) {\n\t\treturn {\n\t\t\tisCorrect: this.isCorrect(e),\n\t\t\tperformance: this.displayedSkill(e, t)\n\t\t};\n\t}\n\tdisplayedSkill(e, t) {\n\t\treturn this.isCorrect(e) ? t < 5e3 ? 1 : 1 - Math.min(1, (t - 5e3) / 1e4) : 0;\n\t}\n\tdataShapes() {\n\t\treturn ChessPuzzle.dataShapes;\n\t}\n\tviews() {\n\t\treturn ChessPuzzle.views;\n\t}\n\tisCorrect(e) {\n\t\tlet t = this.moves.length === 0;\n\t\treturn e === ChessPuzzle.CHECKMATE || t;\n\t}\n}, fe = new n(\"chess\", [$]);\n//#endregion\nexport { fe as t };\n\n//# sourceMappingURL=chess-BbHATAzk.js.map"],"mappings":"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CJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,IACJ,GAAI,IACJ,GAAI,IACJ,GAAI,IACJ,GAAI,IACJ,GAAI,IACJ,GAAI,IACJ,GAAI,IACJ,GAAI,IACJ,GAAI,IACJ,GAAI,IACJ,GAAI,IACJ,CAAE,EAAI,CACN,EAAG,CACF,GACA,GACA,GACA,GACA,CACD,EAAG,CACF,IACA,IACA,IACA,IACA,CACD,CAAE,EAAI,CACN,EAAG,CACF,IACA,IACA,IACA,IACA,GACA,GACA,GACA,GACA,CACD,EAAG,CACF,IACA,IACA,GACA,GACA,CACD,EAAG,CACF,IACA,EACA,GACA,GACA,CACD,EAAG,CACF,IACA,IACA,IACA,EACA,GACA,GACA,GACA,GACA,CACD,EAAG,CACF,IACA,IACA,IACA,EACA,GACA,GACA,GACA,GACA,CACD,CAAE,EAAI,CACN,GACA,EACA,EACA,EACA,EACA,EACA,EACA,GACA,EACA,EACA,EACA,EACA,EACA,EACA,GACA,EACA,EACA,GACA,EACA,EACA,EACA,EACA,EACA,GACA,EACA,EACA,EACA,EACA,EACA,GACA,EACA,EACA,EACA,EACA,GACA,EACA,EACA,EACA,EACA,GACA,EACA,EACA,EACA,EACA,GACA,EACA,EACA,EACA,EACA,EACA,EACA,GACA,EACA,EACA,EACA,GACA,EACA,EACA,EACA,GACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GACA,EACA,EACA,GACA,EACA,EACA,GACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GACA,EACA,GACA,EACA,GACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GACA,GACA,GACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,EACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GACA,GACA,GACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GACA,EACA,GACA,EACA,GACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GACA,EACA,EACA,GACA,EACA,EACA,GACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GACA,EACA,EACA,EACA,GACA,EACA,EACA,EACA,GACA,EACA,EACA,EACA,EACA,EACA,EACA,GACA,EACA,EACA,EACA,EACA,GACA,EACA,EACA,EACA,EACA,GACA,EACA,EACA,EACA,EACA,GACA,EACA,EACA,EACA,EACA,EACA,GACA,EACA,EACA,EACA,EACA,EACA,GACA,EACA,EACA,GACA,EACA,EACA,EACA,EACA,EACA,EACA,GACA,EACA,EACA,EACA,EACA,EACA,EACA,GACA,CAAE,EAAI,CACN,GACA,EACA,EACA,EACA,EACA,EACA,EACA,GACA,EACA,EACA,EACA,EACA,EACA,EACA,GACA,EACA,EACA,GACA,EACA,EACA,EACA,EACA,EACA,GACA,EACA,EACA,EACA,EACA,EACA,GACA,EACA,EACA,EACA,EACA,GACA,EACA,EACA,EACA,EACA,GACA,EACA,EACA,EACA,EACA,GACA,EACA,EACA,EACA,EACA,EACA,EACA,GACA,EACA,EACA,EACA,GACA,EACA,EACA,EACA,GACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GACA,EACA,EACA,GACA,EACA,EACA,GACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GACA,EACA,GACA,EACA,GACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GACA,GACA,GACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,IACA,IACA,IACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,IACA,EACA,IACA,EACA,IACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,IACA,EACA,EACA,IACA,EACA,EACA,IACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,IACA,EACA,EACA,EACA,IACA,EACA,EACA,EACA,IACA,EACA,EACA,EACA,EACA,EACA,EACA,IACA,EACA,EACA,EACA,EACA,IACA,EACA,EACA,EACA,EACA,IACA,EACA,EACA,EACA,EACA,IACA,EACA,EACA,EACA,EACA,EACA,IACA,EACA,EACA,EACA,EACA,EACA,IACA,EACA,EACA,IACA,EACA,EACA,EACA,EACA,EACA,EACA,IACA,EACA,EACA,EACA,EACA,EACA,EACA,IACA,CAAE,EAAI,CACN,EAAG,EACH,EAAG,EACH,EAAG,EACH,EAAG,EACH,EAAG,GACH,EAAG,GACH,CAAE,EAAI,eAAgB,EAAI,CAC1B,IACA,IACA,IACA,IACA,CAAE,EAAI,EAAG,EAAI,EAAG,EAAI,EAAG,EAAI,EAAG,EAAI,CAClC,EAAG,EAAE,aACL,EAAG,EAAE,aACL,CAAE,EAAI,CACN,EAAG,CAAC,CACH,OAAQ,EAAE,GACV,KAAM,EAAE,aACR,CAAE,CACF,OAAQ,EAAE,GACV,KAAM,EAAE,aACR,CAAC,CACF,EAAG,CAAC,CACH,OAAQ,EAAE,GACV,KAAM,EAAE,aACR,CAAE,CACF,OAAQ,EAAE,GACV,KAAM,EAAE,aACR,CAAC,CACF,CAAE,GAAI,CACN,EAAG,EACH,EAAG,EACH,CAAE,GAAK,CACP,MACA,MACA,UACA,IACA,CACD,SAAS,KAAK,EAAG,CAChB,OAAO,GAAK,EAEb,SAAS,KAAK,EAAG,CAChB,OAAO,EAAI,GAEZ,SAAS,QAAQ,EAAG,CACnB,MAAO,aAAa,QAAQ,EAAE,GAAK,GAEpC,SAAS,UAAU,EAAG,KACjB,EAAI,KAAK,EAAE,CAAE,EAAI,KAAK,EAAE,CAC5B,MAAO,WAAW,UAAU,EAAG,EAAI,EAAE,CAAG,WAAW,UAAU,EAAG,EAAI,EAAE,CAEvE,SAAS,YAAY,EAAG,CACvB,OAAO,IAAM,IAAM,IAAM,IAE1BA,EAAE,YAAa,YAAY,CAC3B,SAAS,YAAY,EAAG,CACvB,IAAI,EAAI,EAAE,MAAM,MAAM,CACtB,GAAI,EAAE,SAAW,EAAG,MAAO,CAC1B,GAAI,CAAC,EACL,MAAO,uDACP,CACD,IAAI,EAAI,SAAS,EAAE,GAAI,GAAG,CAC1B,GAAI,MAAM,EAAE,EAAI,GAAK,EAAG,MAAO,CAC9B,GAAI,CAAC,EACL,MAAO,sDACP,CACD,IAAI,EAAI,SAAS,EAAE,GAAI,GAAG,CAC1B,GAAI,MAAM,EAAE,EAAI,EAAI,EAAG,MAAO,CAC7B,GAAI,CAAC,EACL,MAAO,uEACP,CACD,GAAI,CAAC,uBAAuB,KAAK,EAAE,GAAG,CAAE,MAAO,CAC9C,GAAI,CAAC,EACL,MAAO,4CACP,CACD,GAAI,WAAW,KAAK,EAAE,GAAG,CAAE,MAAO,CACjC,GAAI,CAAC,EACL,MAAO,gDACP,CACD,GAAI,CAAC,UAAU,KAAK,EAAE,GAAG,CAAE,MAAO,CACjC,GAAI,CAAC,EACL,MAAO,uCACP,CACD,IAAI,EAAI,EAAE,GAAG,MAAM,IAAI,CACvB,GAAI,EAAE,SAAW,EAAG,MAAO,CAC1B,GAAI,CAAC,EACL,MAAO,gEACP,CACD,IAAK,IAAI,EAAI,EAAG,EAAI,EAAE,OAAQ,IAAK,KAC9B,EAAI,EAAG,EAAI,CAAC,EAChB,IAAK,IAAI,EAAI,EAAG,EAAI,EAAE,GAAG,OAAQ,IAAK,GAAI,QAAQ,EAAE,GAAG,GAAG,CAAE,CAC3D,GAAI,EAAG,MAAO,CACb,GAAI,CAAC,EACL,MAAO,0DACP,CACD,GAAK,SAAS,EAAE,GAAG,GAAI,GAAG,CAAE,EAAI,CAAC,MAC3B,CACN,GAAI,CAAC,mBAAmB,KAAK,EAAE,GAAG,GAAG,CAAE,MAAO,CAC7C,GAAI,CAAC,EACL,MAAO,qDACP,CACD,GAAK,EAAG,EAAI,CAAC,EAEd,GAAI,IAAM,EAAG,MAAO,CACnB,GAAI,CAAC,EACL,MAAO,gEACP,CAEF,GAAI,EAAE,GAAG,IAAM,KAAO,EAAE,IAAM,KAAO,EAAE,GAAG,IAAM,KAAO,EAAE,IAAM,IAAK,MAAO,CAC1E,GAAI,CAAC,EACL,MAAO,yCACP,CACD,IAAK,GAAI,CAAE,MAAO,EAAG,MAAO,IAAO,CAAC,CACnC,MAAO,QACP,MAAO,KACP,CAAE,CACF,MAAO,QACP,MAAO,KACP,CAAC,CAAE,CACH,GAAI,CAAC,EAAE,KAAK,EAAE,GAAG,CAAE,MAAO,CACzB,GAAI,CAAC,EACL,MAAO,wBAAwB,EAAE,OACjC,CACD,IAAK,EAAE,GAAG,MAAM,EAAE,EAAI,EAAE,EAAE,OAAS,EAAG,MAAO,CAC5C,GAAI,CAAC,EACL,MAAO,yBAAyB,EAAE,QAClC,CAEF,OAAO,MAAM,KAAK,EAAE,GAAK,EAAE,GAAG,CAAC,KAAM,GAAM,EAAE,aAAa,GAAK,IAAI,CAAG,CACrE,GAAI,CAAC,EACL,MAAO,+CACP,CAAG,CAAE,GAAI,CAAC,EAAG,CAEf,SAAS,iBAAiB,EAAG,EAAG,KAC3B,EAAI,EAAE,KAAM,EAAI,EAAE,GAAI,EAAI,EAAE,MAAO,EAAI,EAAG,EAAI,EAAG,EAAI,EACzD,IAAK,IAAI,EAAI,EAAG,EAAI,EAAE,OAAQ,EAAI,EAAG,IAAK,KACrC,EAAI,EAAE,GAAG,KAAM,EAAI,EAAE,GAAG,GAC5B,IAAM,EAAE,GAAG,OAAS,IAAM,GAAK,IAAM,IAAM,IAAK,KAAK,EAAE,GAAK,KAAK,EAAE,EAAI,IAAK,KAAK,EAAE,GAAK,KAAK,EAAE,EAAI,KAEpG,OAAO,EAAI,EAAI,EAAI,GAAK,EAAI,EAAI,UAAU,EAAE,CAAG,EAAI,EAAI,UAAU,EAAE,CAAC,OAAO,EAAE,CAAG,UAAU,EAAE,CAAC,OAAO,EAAE,CAAG,GAE1G,SAAS,QAAQ,EAAG,EAAG,EAAG,EAAG,EAAG,EAAI,IAAK,GAAG,EAAI,EAAE,OAAQ,CACzD,IAAI,EAAI,KAAK,EAAE,CACf,GAAI,IAAM,MAAQ,IAAM,GAAK,IAAM,GAAI,IAAK,IAAI,EAAI,EAAG,EAAI,EAAE,OAAQ,IAAK,CACzE,IAAI,EAAI,EAAE,GACV,EAAE,KAAK,CACN,MAAO,EACP,KAAM,EACN,GAAI,EACJ,MAAO,EACP,SAAU,EACV,UAAW,EACX,MAAO,EAAI,EAAE,UACb,CAAC,MAEE,EAAE,KAAK,CACX,MAAO,EACP,KAAM,EACN,GAAI,EACJ,MAAO,EACP,SAAU,EACV,MAAO,EACP,CAAC,CAEH,SAAS,eAAe,EAAG,CAC1B,IAAI,EAAI,EAAE,OAAO,EAAE,CACnB,OAAO,GAAK,KAAO,GAAK,IAAM,EAAE,MAAM,mBAAmB,CAAG,IAAK,GAAI,KAAO,EAAI,EAAE,aAAa,CAAE,IAAM,IAAM,IAAM,GAEpH,SAAS,YAAY,EAAG,CACvB,OAAO,EAAE,QAAQ,IAAK,GAAG,CAAC,QAAQ,cAAe,GAAG,CAErD,SAAS,QAAQ,EAAG,CACnB,OAAO,EAAE,MAAM,IAAI,CAAC,MAAM,EAAG,EAAE,CAAC,KAAK,IAAI,CAE1C,IAAI,MAAQ,KAAM,CAkBjB,YAAY,EAAI,EAAG,CAAE,eAAgB,EAAI,CAAC,GAAM,EAAE,CAAE,QAjBpD,SAAS,MAAM,IAAI,CAAC,QACpB,QAAQ,IAAI,QACZ,UAAU,EAAE,CAAC,QACb,SAAS,CACR,EAAG,EACH,EAAG,EACH,CAAC,QACF,YAAY,GAAG,QACf,aAAa,EAAE,QACf,cAAc,EAAE,QAChB,WAAW,EAAE,CAAC,QACd,YAAY,EAAE,CAAC,QACf,YAAY,CACX,EAAG,EACH,EAAG,EACH,CAAC,QACF,iBAAiB,EAAE,CAAC,CAEnB,KAAK,KAAK,EAAG,CAAE,eAAgB,EAAG,CAAC,CAEpC,MAAM,CAAE,gBAAiB,EAAI,CAAC,GAAM,EAAE,CAAE,CACvC,KAAK,OAAS,MAAM,IAAI,CAAE,KAAK,OAAS,CACvC,EAAG,EACH,EAAG,EACH,CAAE,KAAK,MAAQ,IAAK,KAAK,UAAY,CACrC,EAAG,EACH,EAAG,EACH,CAAE,KAAK,UAAY,EAAG,KAAK,WAAa,EAAG,KAAK,YAAc,EAAG,KAAK,SAAW,EAAE,CAAE,KAAK,UAAY,EAAE,CAAE,KAAK,QAAU,EAAI,KAAK,QAAU,EAAE,CAAE,KAAK,eAAiB,EAAE,CAAE,OAAO,KAAK,QAAQ,MAAO,OAAO,KAAK,QAAQ,IAE3N,KAAK,EAAG,CAAE,eAAgB,EAAI,CAAC,EAAG,gBAAiB,EAAI,CAAC,GAAM,EAAE,CAAE,CACjE,IAAI,EAAI,EAAE,MAAM,MAAM,CACtB,GAAI,EAAE,QAAU,GAAK,EAAE,OAAS,IAAM,EAAI,EAAE,OAAO,CAClD,IACA,IACA,IACA,IACA,CAAC,MAAM,EAAE,EAAI,EAAE,QAAQ,CAAC,CAAC,KAAK,IAAI,EAAG,EAAI,EAAE,MAAM,MAAM,CAAE,CAAC,EAAG,CAC7D,GAAI,CAAE,GAAI,EAAG,MAAO,GAAM,YAAY,EAAE,CACxC,GAAI,CAAC,EAAG,MAAM,MAAM,EAAE,KAEnB,EAAI,EAAE,GAAI,EAAI,EAClB,KAAK,MAAM,CAAE,gBAAiB,EAAG,CAAC,CAClC,IAAK,IAAI,EAAI,EAAG,EAAI,EAAE,OAAQ,IAAK,CAClC,IAAI,EAAI,EAAE,OAAO,EAAE,CACnB,GAAI,IAAM,IAAK,GAAK,UACX,QAAQ,EAAE,CAAE,GAAK,SAAS,EAAG,GAAG,KACpC,CACJ,IAAI,EAAI,EAAI,IAAM,IAAM,IACxB,KAAK,KAAK,CACT,KAAM,EAAE,aAAa,CACrB,MAAO,EACP,CAAE,UAAU,EAAE,CAAC,CAAE,KAGpB,KAAK,MAAQ,EAAE,GAAI,EAAE,GAAG,QAAQ,IAAI,CAAG,KAAO,KAAK,UAAU,GAAK,EAAE,cAAe,EAAE,GAAG,QAAQ,IAAI,CAAG,KAAO,KAAK,UAAU,GAAK,EAAE,cAAe,EAAE,GAAG,QAAQ,IAAI,CAAG,KAAO,KAAK,UAAU,GAAK,EAAE,cAAe,EAAE,GAAG,QAAQ,IAAI,CAAG,KAAO,KAAK,UAAU,GAAK,EAAE,cAAe,KAAK,UAAY,EAAE,KAAO,IAAM,EAAI,EAAE,EAAE,IAAK,KAAK,WAAa,SAAS,EAAE,GAAI,GAAG,CAAE,KAAK,YAAc,SAAS,EAAE,GAAI,GAAG,CAAE,KAAK,aAAa,EAAE,CAAE,KAAK,kBAAkB,EAAE,CAE7b,KAAM,KACD,EAAI,EAAG,EAAI,GACf,IAAK,IAAI,EAAI,EAAE,GAAI,GAAK,EAAE,GAAI,IAAK,CAClC,GAAI,KAAK,OAAO,GAAI,CACnB,EAAI,IAAM,GAAK,EAAG,EAAI,GACtB,GAAI,CAAE,MAAO,EAAG,KAAM,GAAM,KAAK,OAAO,GACxC,GAAK,IAAM,IAAM,EAAE,aAAa,CAAG,EAAE,aAAa,MAC5C,IACP,EAAI,EAAI,MAAQ,EAAI,IAAM,GAAK,GAAI,IAAM,EAAE,KAAO,GAAK,KAAM,EAAI,EAAG,GAAK,GAE1E,IAAI,EAAI,GACR,KAAK,UAAU,EAAI,EAAE,eAAiB,GAAK,KAAM,KAAK,UAAU,EAAI,EAAE,eAAiB,GAAK,KAAM,KAAK,UAAU,EAAI,EAAE,eAAiB,GAAK,KAAM,KAAK,UAAU,EAAI,EAAE,eAAiB,GAAK,KAAM,IAAA,EAAM,KAC1M,IAAI,EAAI,IACR,GAAI,KAAK,YAAc,EAAG,KACrB,EAAI,KAAK,WAAa,KAAK,QAAU,IAAM,GAAK,KAAM,EAAI,CAAC,EAAI,EAAG,EAAI,EAAE,CAC5E,IAAK,IAAI,KAAK,EAAG,CAChB,GAAI,EAAI,IAAK,SACb,IAAI,EAAI,KAAK,MACb,GAAI,KAAK,OAAO,IAAI,QAAU,GAAK,KAAK,OAAO,IAAI,OAAS,IAAK,CAChE,KAAK,UAAU,CACd,MAAO,EACP,KAAM,EACN,GAAI,KAAK,UACT,MAAO,IACP,SAAU,IACV,MAAO,EAAE,WACT,CAAC,CACF,IAAI,EAAI,CAAC,KAAK,gBAAgB,EAAE,CAChC,GAAI,KAAK,WAAW,CAAE,EAAG,CACxB,EAAI,UAAU,KAAK,UAAU,CAC7B,SAKJ,MAAO,CACN,EACA,KAAK,MACL,EACA,EACA,KAAK,WACL,KAAK,YACL,CAAC,KAAK,IAAI,CAEZ,aAAa,EAAG,CACf,KAAK,SAAS,OAAS,IAAM,IAAM,4DAA8D,OAAO,KAAK,QAAQ,MAAO,OAAO,KAAK,QAAQ,MAAQ,KAAK,QAAQ,MAAQ,IAAK,KAAK,QAAQ,IAAM,IAEtM,OAAQ,CACP,KAAK,KAAK,EAAE,CAEb,IAAI,EAAG,CACN,OAAO,KAAK,OAAO,EAAE,IAEtB,IAAI,CAAE,KAAM,EAAG,MAAO,GAAK,EAAG,CAC7B,OAAO,KAAK,KAAK,CAChB,KAAM,EACN,MAAO,EACP,CAAE,EAAE,EAAI,KAAK,uBAAuB,CAAE,KAAK,wBAAwB,CAAE,KAAK,aAAa,KAAK,KAAK,CAAC,CAAE,CAAC,GAAK,CAAC,EAE7G,KAAK,CAAE,KAAM,EAAG,MAAO,GAAK,EAAG,CAC9B,GAAI,EAAE,QAAQ,EAAE,aAAa,CAAC,GAAK,IAAM,EAAE,KAAK,GAAI,MAAO,CAAC,EAC5D,IAAI,EAAI,EAAE,GACV,GAAI,GAAK,KAAO,EAAE,KAAK,OAAO,IAAM,GAAK,KAAK,OAAO,IAAM,GAAI,MAAO,CAAC,EACvE,IAAI,EAAI,KAAK,OAAO,GACpB,OAAO,GAAK,EAAE,OAAS,MAAQ,KAAK,OAAO,EAAE,OAAS,GAAI,KAAK,OAAO,GAAK,CAC1E,KAAM,EACN,MAAO,EACP,CAAE,IAAM,MAAQ,KAAK,OAAO,GAAK,GAAI,CAAC,EAExC,OAAO,EAAG,CACT,IAAI,EAAI,KAAK,IAAI,EAAE,CACnB,OAAO,OAAO,KAAK,OAAO,EAAE,IAAK,GAAK,EAAE,OAAS,MAAQ,KAAK,OAAO,EAAE,OAAS,GAAI,KAAK,uBAAuB,CAAE,KAAK,wBAAwB,CAAE,KAAK,aAAa,KAAK,KAAK,CAAC,CAAE,EAEjL,uBAAwB,KACnB,EAAI,KAAK,OAAO,EAAE,KAAK,OAAS,KAAO,KAAK,OAAO,EAAE,KAAK,QAAU,IAAK,EAAI,KAAK,OAAO,EAAE,KAAK,OAAS,KAAO,KAAK,OAAO,EAAE,KAAK,QAAU,KAChJ,CAAC,GAAK,KAAK,OAAO,EAAE,KAAK,OAAS,KAAO,KAAK,OAAO,EAAE,KAAK,QAAU,OAAS,KAAK,UAAU,GAAK,CAAC,EAAE,eAAgB,CAAC,GAAK,KAAK,OAAO,EAAE,KAAK,OAAS,KAAO,KAAK,OAAO,EAAE,KAAK,QAAU,OAAS,KAAK,UAAU,GAAK,CAAC,EAAE,eAAgB,CAAC,GAAK,KAAK,OAAO,EAAE,KAAK,OAAS,KAAO,KAAK,OAAO,EAAE,KAAK,QAAU,OAAS,KAAK,UAAU,GAAK,CAAC,EAAE,eAAgB,CAAC,GAAK,KAAK,OAAO,EAAE,KAAK,OAAS,KAAO,KAAK,OAAO,EAAE,KAAK,QAAU,OAAS,KAAK,UAAU,GAAK,CAAC,EAAE,cAE1c,wBAAyB,CACxB,GAAI,KAAK,YAAc,EAAG,WACtB,EAAI,KAAK,WAAa,KAAK,QAAU,IAAM,IAAM,IAAK,EAAI,KAAK,WAAa,KAAK,QAAU,IAAM,GAAK,KAAM,EAAI,CAAC,EAAI,EAAG,EAAI,EAAE,CAClI,GAAI,KAAK,OAAO,KAAO,MAAQ,KAAK,OAAO,KAAK,aAAe,MAAQ,KAAK,OAAO,IAAI,QAAU,YAAY,KAAK,MAAM,EAAI,KAAK,OAAO,IAAI,OAAS,IAAK,CACzJ,KAAK,UAAY,EACjB,OAED,IAAI,WAAc,GAAM,EAAE,EAAI,MAAQ,KAAK,OAAO,IAAI,QAAU,KAAK,OAAS,KAAK,OAAO,IAAI,OAAS,IACvG,EAAE,KAAK,WAAW,GAAK,KAAK,UAAY,GAEzC,UAAU,EAAG,EAAG,EAAG,CAClB,IAAI,EAAI,EAAE,CACV,IAAK,IAAI,EAAI,EAAE,GAAI,GAAK,EAAE,GAAI,IAAK,CAClC,GAAI,EAAI,IAAK,CACZ,GAAK,EACL,SAED,GAAI,KAAK,OAAO,KAAO,IAAK,IAAK,KAAK,OAAO,GAAG,QAAU,EAAG,aACzD,EAAI,KAAK,OAAO,GAAI,EAAI,EAAI,EAChC,GAAI,IAAM,EAAG,SACb,IAAI,EAAI,EAAI,IACZ,GAAI,EAAE,GAAK,EAAE,EAAE,MAAO,CACrB,GAAI,EAAE,OAAS,IAAK,CACnB,GAAI,EAAI,GAAK,EAAE,QAAU,KAAO,GAAK,GAAK,EAAE,QAAU,IAAK,GAAI,EAAG,EAAE,KAAK,UAAU,EAAE,CAAC,MACjF,MAAO,CAAC,EACb,SAED,GAAI,EAAE,OAAS,KAAO,EAAE,OAAS,IAAK,GAAI,EAAG,CAC5C,EAAE,KAAK,UAAU,EAAE,CAAC,CACpB,cACM,MAAO,CAAC,MACX,EAAI,EAAE,GAAI,EAAI,EAAI,EAAG,EAAI,CAAC,EAC9B,KAAO,IAAM,GAAI,CAChB,GAAI,KAAK,OAAO,IAAM,KAAM,CAC3B,EAAI,CAAC,EACL,MAED,GAAK,EAEN,GAAI,CAAC,EAAG,GAAI,EAAG,CACd,EAAE,KAAK,UAAU,EAAE,CAAC,CACpB,cACM,MAAO,CAAC,GAGjB,OAAO,EAAI,EAAI,CAAC,EAEjB,UAAU,EAAG,EAAG,CACf,OAAO,EAAI,KAAK,UAAU,EAAG,EAAE,GAAI,CAAC,EAAE,CAAG,KAAK,UAAU,KAAK,MAAO,EAAE,GAAI,CAAC,EAAE,CAE9E,gBAAgB,EAAG,CAClB,IAAI,EAAI,KAAK,OAAO,GACpB,OAAO,IAAM,GAAK,CAAC,EAAI,KAAK,UAAU,YAAY,EAAE,CAAE,EAAE,CAEzD,WAAW,EAAG,EAAG,CAChB,OAAO,KAAK,UAAU,EAAG,EAAE,GAAG,CAE/B,SAAU,CACT,OAAO,KAAK,gBAAgB,KAAK,MAAM,CAExC,SAAU,CACT,OAAO,KAAK,SAAS,CAEtB,aAAc,CACb,OAAO,KAAK,SAAS,EAAI,KAAK,QAAQ,CAAC,SAAW,EAEnD,aAAc,CACb,MAAO,CAAC,KAAK,SAAS,EAAI,KAAK,QAAQ,CAAC,SAAW,EAEpD,wBAAyB,KACpB,EAAI,CACP,EAAG,EACH,EAAG,EACH,EAAG,EACH,EAAG,EACH,EAAG,EACH,EAAG,EACH,CAAE,EAAI,EAAE,CAAE,EAAI,EAAG,EAAI,EACtB,IAAK,IAAI,EAAI,EAAE,GAAI,GAAK,EAAE,GAAI,IAAK,CAClC,GAAI,GAAK,EAAI,GAAK,EAAG,EAAI,IAAK,CAC7B,GAAK,EACL,SAED,IAAI,EAAI,KAAK,OAAO,GACpB,IAAM,EAAE,EAAE,MAAQ,EAAE,QAAQ,EAAI,EAAE,EAAE,MAAQ,EAAI,EAAG,EAAE,OAAS,KAAO,EAAE,KAAK,EAAE,CAAE,KAEjF,GAAI,IAAM,GAAK,IAAM,IAAM,EAAE,IAAM,GAAK,EAAE,IAAM,GAAI,MAAO,CAAC,EAC5D,GAAI,IAAM,EAAE,EAAI,EAAG,KACd,EAAI,EAAG,EAAI,EAAE,OACjB,IAAK,IAAI,EAAI,EAAG,EAAI,EAAG,IAAK,GAAK,EAAE,GACnC,GAAI,IAAM,GAAK,IAAM,EAAG,MAAO,CAAC,EAEjC,MAAO,CAAC,EAET,uBAAwB,CACvB,OAAO,KAAK,kBAAkB,KAAK,KAAK,CAAC,EAAI,EAE9C,oBAAqB,CACpB,OAAO,KAAK,YAAc,IAE3B,QAAS,CACR,OAAO,KAAK,oBAAoB,EAAI,KAAK,aAAa,EAAI,KAAK,wBAAwB,EAAI,KAAK,uBAAuB,CAExH,YAAa,CACZ,OAAO,KAAK,aAAa,EAAI,KAAK,aAAa,EAAI,KAAK,QAAQ,CAEjE,MAAM,CAAE,QAAS,EAAI,CAAC,EAAG,OAAQ,EAAI,IAAK,GAAG,MAAO,EAAI,IAAK,IAAM,EAAE,CAAE,CACtE,IAAI,EAAI,KAAK,OAAO,CACnB,OAAQ,EACR,MAAO,EACP,CAAC,CACF,OAAO,EAAI,EAAE,IAAK,GAAM,IAAI,KAAK,KAAM,EAAE,CAAC,CAAG,EAAE,IAAK,GAAM,KAAK,WAAW,EAAG,EAAE,CAAC,CAEjF,OAAO,CAAE,MAAO,EAAI,CAAC,EAAG,MAAO,EAAI,IAAK,GAAG,OAAQ,EAAI,IAAK,IAAM,EAAE,CAAE,KACjE,EAAI,EAAI,EAAE,aAAa,CAAG,IAAK,GAAG,EAAI,GAAG,aAAa,CAAE,EAAI,EAAE,CAAE,EAAI,KAAK,MAAO,EAAI,YAAY,EAAE,CAAE,EAAI,EAAE,GAAI,EAAI,EAAE,GAAI,EAAI,CAAC,EACjI,GAAI,EAAG,GAAI,KAAK,EAAG,EAAI,EAAI,EAAE,GAAI,EAAI,CAAC,OACjC,MAAO,EAAE,CACd,IAAK,IAAI,EAAI,EAAG,GAAK,EAAG,IAAK,CAC5B,GAAI,EAAI,IAAK,CACZ,GAAK,EACL,SAED,GAAI,CAAC,KAAK,OAAO,IAAM,KAAK,OAAO,GAAG,QAAU,EAAG,YAC/C,CAAE,KAAM,GAAM,KAAK,OAAO,GAAI,EAClC,GAAI,IAAM,IAAK,CACd,GAAI,GAAK,IAAM,EAAG,SAClB,EAAI,EAAI,EAAE,GAAG,GAAI,KAAK,OAAO,KAAO,QAAQ,EAAG,EAAG,EAAG,EAAG,IAAI,CAAE,EAAI,EAAI,EAAE,GAAG,GAAI,GAAE,KAAO,KAAK,EAAE,EAAI,CAAC,KAAK,OAAO,IAAM,QAAQ,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,GAAG,EAAE,SAAS,EAClK,IAAK,IAAI,EAAI,EAAG,EAAI,EAAG,IAAK,EAAI,EAAI,EAAE,GAAG,GAAI,EAAE,EAAI,OAAS,KAAK,OAAO,IAAI,QAAU,EAAI,QAAQ,EAAG,EAAG,EAAG,EAAG,IAAK,KAAK,OAAO,GAAG,KAAM,EAAE,QAAQ,CAAG,IAAM,KAAK,WAAa,QAAQ,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,EAAE,WAAW,MAClN,CACN,GAAI,GAAK,IAAM,EAAG,SAClB,IAAK,IAAI,EAAI,EAAG,EAAI,EAAE,GAAG,OAAQ,EAAI,EAAG,IAAK,CAC5C,IAAI,EAAI,EAAE,GAAG,GACb,IAAK,EAAI,EAAG,GAAK,EAAG,EAAE,EAAI,MAAO,CAChC,GAAI,CAAC,KAAK,OAAO,GAAI,QAAQ,EAAG,EAAG,EAAG,EAAG,EAAE,KACtC,CACJ,GAAI,KAAK,OAAO,GAAG,QAAU,EAAG,MAChC,QAAQ,EAAG,EAAG,EAAG,EAAG,EAAG,KAAK,OAAO,GAAG,KAAM,EAAE,QAAQ,CACtD,MAED,GAAI,IAAM,KAAO,IAAM,IAAK,SAKhC,IAAK,IAAM,IAAK,IAAK,IAAM,OAAS,CAAC,GAAK,IAAM,KAAK,OAAO,IAAK,CAChE,GAAI,KAAK,UAAU,GAAK,EAAE,aAAc,KACnC,EAAI,KAAK,OAAO,GAAI,EAAI,EAAI,EAChC,CAAC,KAAK,OAAO,EAAI,IAAM,CAAC,KAAK,OAAO,IAAM,CAAC,KAAK,UAAU,EAAG,KAAK,OAAO,GAAG,EAAI,CAAC,KAAK,UAAU,EAAG,EAAI,EAAE,EAAI,CAAC,KAAK,UAAU,EAAG,EAAE,EAAI,QAAQ,EAAG,EAAG,KAAK,OAAO,GAAI,EAAG,IAAK,IAAK,GAAG,EAAE,aAAa,CAEpM,GAAI,KAAK,UAAU,GAAK,EAAE,aAAc,KACnC,EAAI,KAAK,OAAO,GAAI,EAAI,EAAI,EAChC,CAAC,KAAK,OAAO,EAAI,IAAM,CAAC,KAAK,OAAO,EAAI,IAAM,CAAC,KAAK,OAAO,EAAI,IAAM,CAAC,KAAK,UAAU,EAAG,KAAK,OAAO,GAAG,EAAI,CAAC,KAAK,UAAU,EAAG,EAAI,EAAE,EAAI,CAAC,KAAK,UAAU,EAAG,EAAE,EAAI,QAAQ,EAAG,EAAG,KAAK,OAAO,GAAI,EAAG,IAAK,IAAK,GAAG,EAAE,aAAa,EAGhO,GAAI,CAAC,GAAK,KAAK,OAAO,KAAO,GAAI,OAAO,EACxC,IAAI,EAAI,EAAE,CACV,IAAK,IAAI,EAAI,EAAG,EAAI,EAAE,OAAQ,EAAI,EAAG,IAAK,KAAK,UAAU,EAAE,GAAG,CAAE,KAAK,gBAAgB,EAAE,EAAI,EAAE,KAAK,EAAE,GAAG,CAAE,KAAK,WAAW,CACzH,OAAO,EAER,KAAK,EAAG,CAAE,OAAQ,EAAI,CAAC,GAAM,EAAE,CAAE,CAChC,IAAI,EAAI,KACR,GAAI,OAAO,GAAK,SAAU,EAAI,KAAK,aAAa,EAAG,EAAE,SAC5C,OAAO,GAAK,SAAU,CAC9B,IAAI,EAAI,KAAK,QAAQ,CACrB,IAAK,IAAI,EAAI,EAAG,EAAI,EAAE,OAAQ,EAAI,EAAG,IAAK,GAAI,EAAE,OAAS,UAAU,EAAE,GAAG,KAAK,EAAI,EAAE,KAAO,UAAU,EAAE,GAAG,GAAG,GAAK,EAAE,cAAe,EAAE,KAAO,EAAE,YAAc,EAAE,GAAG,WAAY,CAC3K,EAAI,EAAE,GACN,OAGF,GAAI,CAAC,EAAG,MAAM,OAAO,GAAK,SAAW,MAAM,iBAAiB,IAAI,CAAG,MAAM,iBAAiB,KAAK,UAAU,EAAE,GAAG,CAC9G,IAAI,EAAI,IAAI,KAAK,KAAM,EAAE,CACzB,OAAO,KAAK,UAAU,EAAE,CAAE,KAAK,kBAAkB,EAAE,MAAM,CAAE,EAE5D,MAAM,EAAG,CACR,KAAK,SAAS,KAAK,CAClB,KAAM,EACN,MAAO,CACN,EAAG,KAAK,OAAO,EACf,EAAG,KAAK,OAAO,EACf,CACD,KAAM,KAAK,MACX,SAAU,CACT,EAAG,KAAK,UAAU,EAClB,EAAG,KAAK,UAAU,EAClB,CACD,SAAU,KAAK,UACf,UAAW,KAAK,WAChB,WAAY,KAAK,YACjB,CAAC,CAEH,UAAU,EAAG,KACR,EAAI,KAAK,MAAO,EAAI,YAAY,EAAE,CACtC,GAAI,KAAK,MAAM,EAAE,CAAE,KAAK,OAAO,EAAE,IAAM,KAAK,OAAO,EAAE,MAAO,OAAO,KAAK,OAAO,EAAE,MAAO,EAAE,MAAQ,EAAE,aAAe,KAAK,QAAU,IAAM,OAAO,KAAK,OAAO,EAAE,GAAK,IAAM,OAAO,KAAK,OAAO,EAAE,GAAK,KAAM,EAAE,YAAc,KAAK,OAAO,EAAE,IAAM,CAC3O,KAAM,EAAE,UACR,MAAO,EACP,EAAG,KAAK,OAAO,EAAE,IAAI,OAAS,IAAK,CACnC,GAAI,KAAK,OAAO,GAAK,EAAE,GAAI,EAAE,MAAQ,EAAE,aAAc,KAChD,EAAI,EAAE,GAAK,EAAG,EAAI,EAAE,GAAK,EAC7B,KAAK,OAAO,GAAK,KAAK,OAAO,GAAI,OAAO,KAAK,OAAO,WAC1C,EAAE,MAAQ,EAAE,aAAc,KAChC,EAAI,EAAE,GAAK,EAAG,EAAI,EAAE,GAAK,EAC7B,KAAK,OAAO,GAAK,KAAK,OAAO,GAAI,OAAO,KAAK,OAAO,GAErD,KAAK,UAAU,GAAK,EAErB,GAAI,KAAK,UAAU,QACb,IAAI,EAAI,EAAG,EAAI,EAAE,GAAG,OAAQ,EAAI,EAAG,IAAK,GAAI,EAAE,OAAS,EAAE,GAAG,GAAG,QAAU,KAAK,UAAU,GAAK,EAAE,GAAG,GAAG,KAAM,CAC/G,KAAK,UAAU,IAAM,EAAE,GAAG,GAAG,KAC7B,OAGF,GAAI,KAAK,UAAU,QACb,IAAI,EAAI,EAAG,EAAI,EAAE,GAAG,OAAQ,EAAI,EAAG,IAAK,GAAI,EAAE,KAAO,EAAE,GAAG,GAAG,QAAU,KAAK,UAAU,GAAK,EAAE,GAAG,GAAG,KAAM,CAC7G,KAAK,UAAU,IAAM,EAAE,GAAG,GAAG,KAC7B,OAGF,EAAE,MAAQ,EAAE,SAAW,IAAM,IAAM,KAAK,UAAY,EAAE,GAAK,GAAK,KAAK,UAAY,EAAE,GAAK,GAAK,KAAK,UAAY,EAAG,EAAE,QAAU,KAAO,EAAE,OAAS,EAAE,QAAU,EAAE,YAAc,KAAK,WAAa,EAAI,KAAK,aAAc,IAAM,KAAO,KAAK,cAAe,KAAK,MAAQ,EAEnQ,MAAO,CACN,IAAI,EAAI,KAAK,WAAW,CACxB,GAAI,EAAG,CACN,IAAI,EAAI,IAAI,KAAK,KAAM,EAAE,CACzB,OAAO,KAAK,kBAAkB,EAAE,MAAM,CAAE,EAEzC,OAAO,KAER,WAAY,CACX,IAAI,EAAI,KAAK,SAAS,KAAK,CAC3B,GAAI,IAAM,IAAK,GAAG,OAAO,KACzB,IAAI,EAAI,EAAE,KACV,KAAK,OAAS,EAAE,MAAO,KAAK,MAAQ,EAAE,KAAM,KAAK,UAAY,EAAE,SAAU,KAAK,UAAY,EAAE,SAAU,KAAK,WAAa,EAAE,UAAW,KAAK,YAAc,EAAE,eACtJ,EAAI,KAAK,MAAO,EAAI,YAAY,EAAE,CACtC,GAAI,KAAK,OAAO,EAAE,MAAQ,KAAK,OAAO,EAAE,IAAK,KAAK,OAAO,EAAE,MAAM,KAAO,EAAE,MAAO,OAAO,KAAK,OAAO,EAAE,IAAK,EAAE,SAAU,GAAI,EAAE,MAAQ,EAAE,WAAY,CAClJ,IAAI,EACJ,EAAI,IAAM,IAAM,EAAE,GAAK,GAAK,EAAE,GAAK,GAAI,KAAK,OAAO,GAAK,CACvD,KAAM,IACN,MAAO,EACP,MACK,KAAK,OAAO,EAAE,IAAM,CAC1B,KAAM,EAAE,SACR,MAAO,EACP,CACD,GAAI,EAAE,OAAS,EAAE,aAAe,EAAE,cAAe,KAC5C,EAAG,EACP,EAAE,MAAQ,EAAE,cAAgB,EAAI,EAAE,GAAK,EAAG,EAAI,EAAE,GAAK,IAAM,EAAI,EAAE,GAAK,EAAG,EAAI,EAAE,GAAK,GAAI,KAAK,OAAO,GAAK,KAAK,OAAO,GAAI,OAAO,KAAK,OAAO,GAE7I,OAAO,EAER,IAAI,CAAE,QAAS,EAAI;EAAM,SAAU,EAAI,GAAM,EAAE,CAAE,KAC5C,EAAI,EAAE,CAAE,EAAI,CAAC,EACjB,IAAK,IAAI,KAAK,KAAK,QAAS,EAAE,KAAK,IAAM,EAAI,KAAQ,KAAK,QAAQ,GAAK,KAAQ,EAAE,CAAE,EAAI,CAAC,EACxF,GAAK,KAAK,SAAS,QAAU,EAAE,KAAK,EAAE,KAClC,cAAiB,GAAM,CAC1B,IAAI,EAAI,KAAK,UAAU,KAAK,KAAK,EACjC,GAAI,IAAM,IAAK,GAAG,CACjB,IAAI,EAAI,EAAE,OAAS,EAAI,IAAM,GAC7B,EAAI,GAAG,IAAI,EAAE,GAAG,EAAE,GAEnB,OAAO,GACL,EAAI,EAAE,CACT,KAAO,KAAK,SAAS,OAAS,GAAI,EAAE,KAAK,KAAK,WAAW,CAAC,KACtD,EAAI,EAAE,CAAE,EAAI,GAChB,IAAK,EAAE,SAAW,GAAK,EAAE,KAAK,cAAc,GAAG,CAAC,CAAE,EAAE,OAAS,GAAI,CAChE,EAAI,cAAc,EAAE,CACpB,IAAI,EAAI,EAAE,KAAK,CACf,GAAI,CAAC,EAAG,MACR,GAAI,CAAC,KAAK,SAAS,QAAU,EAAE,QAAU,IAAK,CAC7C,IAAI,EAAI,GAAG,KAAK,YAAY,OAC5B,EAAI,EAAI,GAAG,EAAE,GAAG,IAAM,OAChB,EAAE,QAAU,MAAQ,EAAE,QAAU,EAAE,KAAK,EAAE,CAAE,EAAI,KAAK,YAAc,KACzE,EAAI,EAAI,IAAM,KAAK,WAAW,EAAG,KAAK,OAAO,CAAE,MAAO,CAAC,EAAG,CAAC,CAAC,CAAE,KAAK,UAAU,EAAE,CAEhF,GAAI,EAAE,QAAU,EAAE,KAAK,cAAc,EAAE,CAAC,CAAE,KAAK,QAAQ,SAAW,IAAK,IAAK,EAAE,KAAK,KAAK,QAAQ,OAAO,CAAE,IAAM,EAAG,OAAO,EAAE,KAAK,GAAG,CAAG,EAAE,KAAK,IAAI,KAC7I,MAAQ,UAAW,CACtB,OAAO,EAAE,OAAS,GAAK,EAAE,EAAE,OAAS,KAAO,KAAO,EAAE,KAAK,CAAE,CAAC,GAAK,CAAC,GAChE,YAAc,SAAS,EAAG,EAAG,CAC/B,IAAK,IAAI,KAAK,EAAE,MAAM,IAAI,CAAE,GAAI,EAAG,CAClC,GAAI,EAAI,EAAE,OAAS,EAAG,CACrB,KAAO,OAAO,EAAG,IACjB,EAAE,KAAK,EAAE,CAAE,EAAI,EAEhB,EAAE,KAAK,EAAE,CAAE,GAAK,EAAE,OAAQ,EAAE,KAAK,IAAI,CAAE,IAExC,OAAO,OAAO,EAAI,IAAK,GACrB,EAAI,EACP,IAAK,IAAI,EAAI,EAAG,EAAI,EAAE,OAAQ,IAAK,CAClC,GAAI,EAAI,EAAE,GAAG,OAAS,GAAK,EAAE,GAAG,SAAS,IAAI,CAAE,CAC9C,EAAI,YAAY,EAAG,EAAE,GAAG,CACxB,SAED,EAAI,EAAE,GAAG,OAAS,GAAK,IAAM,GAAK,EAAE,EAAE,OAAS,KAAO,KAAO,EAAE,KAAK,CAAE,EAAE,KAAK,EAAE,CAAE,EAAI,GAAK,IAAM,IAAM,EAAE,KAAK,IAAI,CAAE,KAAM,EAAE,KAAK,EAAE,GAAG,CAAE,GAAK,EAAE,GAAG,OAElJ,OAAO,EAAE,KAAK,GAAG,CAElB,OAAO,GAAG,EAAG,CACZ,IAAK,IAAI,EAAI,EAAG,EAAI,EAAE,OAAQ,GAAK,EAAG,OAAO,EAAE,IAAM,UAAY,OAAO,EAAE,EAAI,IAAM,WAAa,KAAK,QAAQ,EAAE,IAAM,EAAE,EAAI,IAC5H,OAAO,KAAK,QAEb,UAAU,EAAG,EAAG,CACf,MAAO,MAAK,QAAQ,GAAK,EAAG,KAAK,QAElC,aAAa,EAAG,CACf,OAAO,KAAK,KAAK,SAAW,OAAO,KAAK,QAAQ,GAAI,CAAC,GAAK,CAAC,EAE5D,YAAa,CACZ,OAAO,KAAK,QAEb,QAAQ,EAAG,CAAE,OAAQ,EAAI,CAAC,EAAG,YAAa,EAAI;GAAY,EAAE,CAAE,CAC7D,SAAS,KAAK,EAAG,CAChB,OAAO,EAAE,QAAQ,MAAO,KAAK,CAE9B,SAAS,eAAe,EAAG,KACtB,EAAI,EAAE,CAAE,EAAI,EAAE,MAAM,IAAI,OAAO,KAAK,EAAE,CAAC,CAAC,CAAE,EAAI,GAAI,EAAI,GAC1D,IAAK,IAAI,EAAI,EAAG,EAAI,EAAE,OAAQ,IAAK,CAClC,IAAI,EAAI,yCACR,EAAI,EAAE,GAAG,QAAQ,EAAG,KAAK,CAAE,EAAI,EAAE,GAAG,QAAQ,EAAG,KAAK,CAAE,EAAE,MAAM,CAAC,OAAS,IAAM,EAAE,GAAK,GAEtF,OAAO,EAER,EAAI,EAAE,MAAM,KACR,EAAI,OAAO,YAAc,KAAK,EAAE,CAAG,oBAAsB,KAAK,EAAE,CAAG,eAAiB,KAAK,EAAE,CAAG,OAAO,CAAC,KAAK,EAAE,CAAE,EAAI,GAAK,EAAE,QAAU,EAAI,EAAE,GAAK,GACnJ,KAAK,OAAO,KACR,EAAI,eAAe,EAAE,CAAE,EAAI,GAC/B,IAAK,IAAI,KAAK,EAAG,EAAE,aAAa,GAAK,QAAU,EAAI,EAAE,IAAK,KAAK,OAAO,EAAG,EAAE,GAAG,CAC9E,GAAI,CAAC,EAAG,GAAK,KAAK,KAAK,EAAG,CAAE,gBAAiB,CAAC,EAAG,CAAC,SACzC,EAAE,QAAU,IAAK,CACzB,GAAI,EAAE,QAAS,GAAI,MAAM,MAAM,uDAAuD,CACtF,KAAK,KAAK,EAAE,IAAK,CAAE,gBAAiB,CAAC,EAAG,CAAC,CAE1C,SAAS,MAAM,EAAG,CACjB,OAAO,MAAM,KAAK,EAAE,CAAC,IAAI,SAAS,EAAG,CACpC,OAAO,EAAE,WAAW,EAAE,CAAG,IAAM,EAAE,WAAW,EAAE,CAAC,SAAS,GAAG,CAAG,mBAAmB,EAAE,CAAC,QAAQ,KAAM,GAAG,CAAC,aAAa,EAClH,CAAC,KAAK,GAAG,CAEZ,SAAS,QAAQ,EAAG,CACnB,OAAO,EAAE,QAAU,EAAI,GAAK,mBAAmB,KAAO,EAAE,MAAM,UAAU,EAAI,EAAE,EAAE,KAAK,IAAI,CAAC,KAEvF,cAAgB,SAAS,EAAG,CAC/B,MAAO,GAAI,EAAE,QAAQ,IAAI,OAAO,KAAK,EAAE,CAAE,IAAI,CAAE,IAAI,CAAE,IAAI,MAAM,EAAE,MAAM,EAAG,EAAE,OAAS,EAAE,CAAC,CAAC,IACvF,cAAgB,SAAS,EAAG,CAC9B,GAAI,EAAE,WAAW,IAAI,EAAI,EAAE,SAAS,IAAI,CAAE,OAAO,QAAQ,EAAE,MAAM,EAAG,EAAE,OAAS,EAAE,CAAC,EAChF,EAAI,EAAE,QAAQ,EAAG,GAAG,CAAC,QAAQ,OAAO,mBAAmB,KAAK,EAAE,CAAC,KAAM,IAAI,CAAE,SAAS,EAAG,EAAG,EAAG,CAC/F,OAAO,IAAM,IAAK,GAAI,IAAM,cAAc,IAAI,EAAE,MAAM,EAAE,CAAC,GAAG,CAAG,cAAc,EAAE,EAC9E,CAAC,QAAQ,IAAI,OAAO,KAAK,EAAE,CAAE,IAAI,CAAE,IAAI,CAAE,EAAI,kBAC/C,KAAO,EAAE,KAAK,EAAE,EAAG,EAAI,EAAE,QAAQ,EAAG,GAAG,CACvC,EAAI,EAAE,QAAQ,gBAAiB,GAAG,CAAE,EAAI,EAAE,QAAQ,UAAW,GAAG,CAAE,EAAI,EAAE,QAAQ,SAAU,GAAG,CAC7F,IAAI,EAAI,EAAE,MAAM,CAAC,MAAsB,IAAI,OAAO,MAAM,CAAC,CACzD,EAAI,EAAE,OAAQ,GAAM,IAAM,GAAG,CAC7B,IAAI,EAAI,GACR,IAAK,IAAI,EAAI,EAAG,EAAI,EAAE,OAAQ,IAAK,CAClC,IAAI,EAAI,cAAc,EAAE,GAAG,CAC3B,GAAI,IAAM,IAAK,GAAG,CACjB,KAAK,UAAU,KAAK,KAAK,EAAI,EAC7B,SAED,IAAI,EAAI,KAAK,aAAa,EAAE,GAAI,EAAE,CAClC,GAAI,GAAK,KAAM,GAAI,GAAG,QAAQ,EAAE,GAAG,CAAG,GAAI,EAAI,EAAE,QAC3C,MAAM,MAAM,wBAAwB,EAAE,KAAK,MAC3C,EAAI,GAAI,KAAK,UAAU,EAAE,CAAE,KAAK,kBAAkB,KAAK,KAAK,CAAC,CAEnE,GAAK,OAAO,KAAK,KAAK,QAAQ,CAAC,QAAU,CAAC,KAAK,QAAQ,QAAU,KAAK,OAAO,SAAU,EAAE,CAE1F,WAAW,EAAG,EAAG,CAChB,IAAI,EAAI,GACR,GAAI,EAAE,MAAQ,EAAE,aAAc,EAAI,cACzB,EAAE,MAAQ,EAAE,aAAc,EAAI,YAClC,CACJ,GAAI,EAAE,QAAU,IAAK,CACpB,IAAI,EAAI,iBAAiB,EAAG,EAAE,CAC9B,GAAK,EAAE,MAAM,aAAa,CAAG,EAE9B,EAAE,OAAS,EAAE,QAAU,EAAE,cAAgB,EAAE,QAAU,MAAQ,GAAK,UAAU,EAAE,KAAK,CAAC,IAAK,GAAK,KAAM,GAAK,UAAU,EAAE,GAAG,CAAE,EAAE,YAAc,GAAK,IAAM,EAAE,UAAU,aAAa,EAE/K,OAAO,KAAK,UAAU,EAAE,CAAE,KAAK,SAAS,GAAK,KAAK,aAAa,CAAG,GAAK,IAAM,GAAK,KAAM,KAAK,WAAW,CAAE,EAE3G,aAAa,EAAG,EAAI,CAAC,EAAG,KACnB,EAAI,YAAY,EAAE,CAAE,EAAI,eAAe,EAAE,CAAE,EAAI,KAAK,OAAO,CAC9D,MAAO,CAAC,EACR,MAAO,EACP,CAAC,CACF,IAAK,IAAI,EAAI,EAAG,EAAI,EAAE,OAAQ,EAAI,EAAG,IAAK,GAAI,IAAM,YAAY,KAAK,WAAW,EAAE,GAAI,EAAE,CAAC,CAAE,OAAO,EAAE,GACpG,GAAI,EAAG,OAAO,SACV,EAAG,EAAG,EAAG,EAAG,EAAG,EAAI,CAAC,EACxB,GAAI,EAAI,EAAE,MAAM,6DAA6D,CAAE,GAAK,EAAI,EAAE,GAAI,EAAI,EAAE,GAAI,EAAI,EAAE,GAAI,EAAI,EAAE,GAAI,EAAE,QAAU,IAAM,EAAI,CAAC,KAAO,EAAI,EAAE,MAAM,+DAA+D,CAAE,IAAM,EAAI,EAAE,GAAI,EAAI,EAAE,GAAI,EAAI,EAAE,GAAI,EAAI,EAAE,GAAI,EAAE,QAAU,IAAM,EAAI,CAAC,KAAM,EAAI,eAAe,EAAE,CAAE,EAAI,KAAK,OAAO,CACxV,MAAO,CAAC,EACR,MAAO,GAAK,EACZ,CAAC,CAAE,CAAC,EAAG,OAAO,KACf,IAAK,IAAI,EAAI,EAAG,EAAI,EAAE,OAAQ,EAAI,EAAG,IAAK,GAAI,CAAC,MAC1C,IAAM,YAAY,KAAK,WAAW,EAAE,GAAI,EAAE,CAAC,CAAC,QAAQ,IAAK,GAAG,CAAE,OAAO,EAAE,YAChE,CAAC,GAAK,EAAE,aAAa,EAAI,EAAE,GAAG,QAAU,EAAE,IAAM,EAAE,GAAG,MAAQ,EAAE,IAAM,EAAE,GAAG,KAAO,CAAC,GAAK,EAAE,aAAa,EAAI,EAAE,GAAG,WAAY,OAAO,EAAE,WACvI,EAAG,CACX,IAAI,EAAI,UAAU,EAAE,GAAG,KAAK,CAC5B,IAAK,CAAC,GAAK,EAAE,aAAa,EAAI,EAAE,GAAG,QAAU,EAAE,IAAM,EAAE,GAAG,KAAO,GAAK,EAAE,IAAM,GAAK,EAAE,MAAQ,CAAC,GAAK,EAAE,aAAa,EAAI,EAAE,GAAG,WAAY,OAAO,EAAE,GAEjJ,OAAO,KAER,OAAQ,CACP,IAAI,EAAI;EACR,IAAK,IAAI,EAAI,EAAE,GAAI,GAAK,EAAE,GAAI,IAAK,CAClC,GAAI,KAAK,EAAE,GAAK,IAAM,GAAK,IAAM,WAAW,KAAK,EAAE,EAAI,MAAO,KAAK,OAAO,GAAI,KACzE,EAAI,KAAK,OAAO,GAAG,KAAM,EAAI,KAAK,OAAO,GAAG,QAAU,IAAM,EAAE,aAAa,CAAG,EAAE,aAAa,CACjG,GAAK,IAAM,EAAI,SACT,GAAK,MACZ,EAAI,EAAI,MAAQ,GAAK;EAAO,GAAK,GAElC,MAAO,IAAK;EAAmC,GAAK,8BAA+B,EAEpF,MAAM,EAAG,KACJ,EAAI,KAAK,OAAO,CAAE,MAAO,CAAC,EAAG,CAAC,CAAE,EAAI,EAAG,EAAI,KAAK,MACpD,IAAK,IAAI,EAAI,EAAG,EAAI,EAAE,OAAQ,EAAI,EAAG,IAAK,KAAK,UAAU,EAAE,GAAG,CAAE,KAAK,gBAAgB,EAAE,GAAK,EAAI,EAAI,EAAI,GAAK,KAAK,MAAM,EAAI,EAAE,CAAG,KAAM,KAAK,WAAW,CACvJ,OAAO,EAER,MAAO,CACN,OAAO,KAAK,MAEb,OAAQ,KACH,EAAI,EAAE,CAAE,EAAI,EAAE,CAClB,IAAK,IAAI,EAAI,EAAE,GAAI,GAAK,EAAE,GAAI,IAAK,KAAK,OAAO,IAAM,KAAO,EAAE,KAAK,KAAK,CAAG,EAAE,KAAK,CACjF,OAAQ,UAAU,EAAE,CACpB,KAAM,KAAK,OAAO,GAAG,KACrB,MAAO,KAAK,OAAO,GAAG,MACtB,CAAC,CAAE,EAAI,EAAI,MAAQ,EAAE,KAAK,EAAE,CAAE,EAAI,EAAE,CAAE,GAAK,GAC5C,OAAO,EAER,YAAY,EAAG,CACd,GAAI,KAAK,EAAG,CACX,IAAI,EAAI,EAAE,GACV,OAAQ,KAAK,EAAE,CAAG,KAAK,EAAE,EAAI,GAAK,EAAI,QAAU,OAEjD,OAAO,KAER,QAAQ,CAAE,QAAS,EAAI,CAAC,GAAM,EAAE,CAAE,KAC7B,EAAI,EAAE,CAAE,EAAI,EAAE,CAClB,KAAO,KAAK,SAAS,OAAS,GAAI,EAAE,KAAK,KAAK,WAAW,CAAC,CAC1D,OAAS,CACR,IAAI,EAAI,EAAE,KAAK,CACf,GAAI,CAAC,EAAG,MACR,EAAI,EAAE,KAAK,IAAI,KAAK,KAAM,EAAE,CAAC,CAAG,EAAE,KAAK,KAAK,WAAW,EAAG,KAAK,QAAQ,CAAC,CAAC,CAAE,KAAK,UAAU,EAAE,CAE7F,OAAO,EAER,kBAAkB,EAAG,CACpB,IAAI,EAAI,QAAQ,EAAE,CAClB,OAAO,KAAK,eAAe,IAAM,EAElC,kBAAkB,EAAG,CACpB,IAAI,EAAI,QAAQ,EAAE,CAClB,KAAK,eAAe,KAAO,IAAK,KAAM,KAAK,eAAe,GAAK,GAAI,KAAK,eAAe,IAAM,EAE9F,kBAAkB,EAAG,CACpB,IAAI,EAAI,QAAQ,EAAE,CAClB,KAAK,eAAe,KAAO,EAAI,OAAO,KAAK,eAAe,GAAK,EAAE,KAAK,eAAe,GAEtF,gBAAiB,KACZ,EAAI,EAAE,CAAE,EAAI,EAAE,CAAE,YAAe,GAAM,CACxC,KAAK,KAAK,YAAc,EAAE,GAAK,KAAK,UAAU,KAE/C,KAAO,KAAK,SAAS,OAAS,GAAI,EAAE,KAAK,KAAK,WAAW,CAAC,CAC1D,IAAK,YAAY,KAAK,KAAK,CAAC,GAAI,CAC/B,IAAI,EAAI,EAAE,KAAK,CACf,GAAI,CAAC,EAAG,MACR,KAAK,UAAU,EAAE,CAAE,YAAY,KAAK,KAAK,CAAC,CAE3C,KAAK,UAAY,EAElB,YAAa,CACZ,OAAO,KAAK,UAAU,KAAK,KAAK,EAEjC,WAAW,EAAG,CACb,KAAK,UAAU,KAAK,KAAK,EAAI,EAAE,QAAQ,IAAK,IAAI,CAAC,QAAQ,IAAK,IAAI,CAEnE,eAAgB,CACf,OAAO,KAAK,eAAe,CAE5B,eAAgB,CACf,IAAI,EAAI,KAAK,UAAU,KAAK,KAAK,EACjC,OAAO,OAAO,KAAK,UAAU,KAAK,KAAK,EAAG,EAE3C,aAAc,CACb,OAAO,KAAK,gBAAgB,CAAE,OAAO,KAAK,KAAK,UAAU,CAAC,IAAK,IAAO,CACrE,IAAK,EACL,QAAS,KAAK,UAAU,GACxB,EAAE,CAEJ,gBAAiB,CAChB,OAAO,KAAK,gBAAgB,CAE7B,gBAAiB,CAChB,OAAO,KAAK,gBAAgB,CAAE,OAAO,KAAK,KAAK,UAAU,CAAC,IAAK,GAAM,CACpE,IAAI,EAAI,KAAK,UAAU,GACvB,OAAO,OAAO,KAAK,UAAU,GAAI,CAChC,IAAK,EACL,QAAS,EACT,EACA,CAEH,kBAAkB,EAAG,EAAG,CACvB,IAAK,IAAI,IAAK,CAAC,IAAK,IAAI,CAAE,EAAE,KAAO,IAAK,KAAM,EAAE,GAAK,KAAK,UAAU,IAAM,EAAE,GAAK,KAAK,UAAU,IAAM,CAAC,EAAE,IACzG,KAAK,uBAAuB,CAC5B,IAAI,EAAI,KAAK,kBAAkB,EAAE,CACjC,OAAQ,EAAE,IAAM,IAAK,IAAK,EAAE,IAAM,EAAE,KAAO,EAAE,IAAM,IAAK,IAAK,EAAE,IAAM,EAAE,GAExE,kBAAkB,EAAG,CACpB,MAAO,CACN,GAAI,KAAK,UAAU,GAAK,EAAE,KAAO,EACjC,GAAI,KAAK,UAAU,GAAK,EAAE,KAAO,EACjC,CAEF,YAAa,CACZ,OAAO,KAAK,cAKd,SAAS,qBAAqB,EAAG,EAAG,KAC/B,EAAI,KAAM,EAAIC,MAAQ,EAAE,MAAQ,GAAM,CACzC,CAAC,GAAK,CAAC,EAAE,QAAU,0BAA4B,EAAE,WAAW,CAAC,CAAE,EAAI,IAAI,mBAAqB,EAAE,WAAW,CAAC,CAAE,EAAE,QAAQ,EAAE,MAAM,CAAE,GAAG,GACjI,CAAE,UAAW,CAAC,EAAG,CAAC,CACrB,MAAQ,CACP,GAAG,YAAY,CAAE,EAAI,MACpB,KAIC,aAAgB,GAAM,CACzB,GAAI,EAAE,OAAS,GAAK,EAAE,OAAS,EAAG,MAAM,MAAM,4BAA4B,IAAI,CAC9E,MAAO,CACN,KAAM,EAAE,UAAU,EAAG,EAAE,CACvB,GAAI,EAAE,UAAU,EAAG,EAAE,CACrB,UAAW,EAAE,SAAW,EAAI,EAAE,GAAK,IAAK,GACxC,EACC,QAAW,GAAM,CACnB,IAAI,EAAoB,IAAI,IAC5B,OAAO,EAAE,QAAS,GAAM,CACvB,IAAI,EAAI,EAAE,MAAM,CACf,OAAQ,EACR,QAAS,CAAC,EACV,CAAC,CACF,EAAE,QAAU,EAAE,IAAI,EAAG,EAAE,IAAK,GAAM,EAAE,GAAG,CAAC,EACvC,CAAE,GACF,UAAa,GAAM,IAAM,WAAa,WAAa,WAAY,QAAW,GAAM,EAAE,MAAM,GAAK,IAAM,WAAa,WAAY,GAAKC,EAAE,CACrI,KAAM,aACN,MAAO,CACN,KAAM,CACL,KAAM,MACN,SAAU,CAAC,EACX,CACD,iBAAkB,CACjB,KAAM,OACN,SAAU,CAAC,EACX,QAAS,EACT,CACD,CACD,MAAM,EAAG,CAAE,KAAM,GAAK,CACrB,IAAI,EAAIC,EAAE,EAAG,EAAG,aAAa,CAAE,EAAIC,EAAE,EAAE,CAAE,EAAIC,EAAE,KAAK,CAAE,EAAIA,GAAG,CAAE,EAAIA,GAAG,CAAE,EAAIA,EAAE,WAAW,CAAE,EAAIA,EAAE,CAAC,EAAE,CAAE,EAAIA,EAAE,KAAK,CACjH,qBAAqB,EAAG,EAAE,CAC1B,IAAI,EAAI,CACP,CACC,MAAO,IACP,KAAM,QACN,YAAa,IACb,YAAa,IACb,CACD,CACC,MAAO,IACP,KAAM,OACN,YAAa,IACb,YAAa,IACb,CACD,CACC,MAAO,IACP,KAAM,SACN,YAAa,IACb,YAAa,IACb,CACD,CACC,MAAO,IACP,KAAM,SACN,YAAa,IACb,YAAa,IACb,CACD,CAAE,EAAIC,MAAQ,CACd,IAAI,EAAI,CACP,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,CACD,OAAO,EAAE,QAAU,WAAa,EAAI,EAAE,SAAS,EAC9C,CAAE,iBAAoB,GAAM,EAAI,CACjC,IACA,IACA,IACA,IACA,CAAC,SAAS,EAAE,CAAG,CAAC,EAAG,uBAAyB,EAAG,EAAG,IAAM,iBAAiB,EAAE,CAAG,CAAC,EAAI,EAAE,OAAO,IAAI,EAAE,EAAE,OAAS,MAAQ,EAAE,KAAO,KAAO,EAAE,KAAO,KAAM,sBAA0B,CAC9K,CAAC,EAAE,OAAS,CAAC,EAAE,OAAS,EAAE,MAAM,IAAI,CACnC,IAAK,EAAE,MAAM,KAAK,CAClB,UAAW,QAAQ,EAAE,MAAM,CAC3B,QAAS,CACR,MAAO,QAAQ,EAAE,MAAM,CACvB,MAAO,QAAQ,EAAE,MAAM,CACvB,CACD,CAAC,EACA,gBAAmB,GAAM,CAC3B,GAAI,IAAM,KAAO,IAAM,KAAO,IAAM,KAAO,IAAM,IAAK,CACrD,EAAE,OAAO,MAAM,4BAA4B,IAAI,CAC/C,OAED,EAAE,QAAU,EAAE,OAAO,IAAI,gBAAgB,IAAI,CAAE,EAAE,MAAQ,CAAC,EAAG,UAAU,EAAE,MAAM,KAAM,EAAE,MAAM,GAAI,EAAE,GACjG,WAAa,EAAG,EAAG,IAAM,CAC3B,GAAI,CAAC,EAAE,SAAS,OAAO,MAAM,OAAQ,MAAM,MAAM,WAAW,CAC5D,GAAI,sBAAsB,EAAG,EAAG,EAAE,CAAE,CACnC,EAAE,MAAQ,CACT,KAAM,EACN,GAAI,EACJ,CAAE,EAAE,MAAQ,CAAC,EACd,OAED,EAAE,SAAS,MAAM,MAAM,MAAQ,iBAAiB,EAAE,CAAG,GAAG,IAAI,IAAI,IAAM,GAAG,IAAI,MAAQ,EAAE,OAAO,KAAK,CAClG,KAAM,EACN,GAAI,EACJ,UAAW,iBAAiB,EAAE,CAAG,EAAI,IAAK,GAC1C,CAAC,CAAE,mBAAmB,CAAE,EAAE,SAAS,MAAM,MAAM,OAAO,CAAE,EAAE,SAAS,MAAM,MAAM,SAAW,EAAI,EAAE,aAAa,GAAG,CAAG,OAAO,eAAiB,CAC3I,GAAI,CAAC,EAAE,SAAS,MAAO,OACvB,IAAI,EAAI,aAAa,EAAE,SAAS,MAAM,MAAM,OAAO,CAAC,CACpD,EAAE,OAAO,KAAK,EAAE,CAAE,mBAAmB,EACnC,IAAI,GAAK,EAAE,OAAO,KAAK,CACzB,KAAM,EACN,GAAI,EACJ,UAAW,EACX,CAAC,CAAE,EAAE,OAAO,aAAa,CAAG,EAAE,aAAa,EAAE,UAAU,CAAG,EAAE,OAAO,MAAM,CAAE,EAAE,aAAa,EAAI,EAAI,EAAE,CAAE,mBAAmB,GAE3H,OAAOC,MAAQ,CACd,GAAI,CAAC,EAAE,MAAO,OACd,EAAE,SAAS,MAAQ,IAAI,EAAE,EAAE,KAAK,CAAE,EAAE,MAAQ,IAAI,MAAM,EAAE,SAAS,MAAM,IAAI,CAAE,EAAE,MAAQ,UAAU,QAAQ,EAAE,MAAM,CAAC,CAAE,EAAE,MAAQ,YAAY,EAAE,MAAO,CAClJ,QAAS,CACR,KAAM,CAAC,EACP,UAAW,CAAC,EACZ,MAAO,QAAQ,EAAE,MAAM,CACvB,OAAQ,CAAE,MAAO,UAAW,CAC5B,CACD,UAAW,CAAE,UAAW,CAAC,EAAG,CAC5B,IAAK,EAAE,MAAM,KAAK,CAClB,YAAa,EAAE,MACf,YAAa,CAAC,EACd,UAAW,CACV,SAAU,IACV,QAAS,CAAC,EACV,CACD,CAAC,CACF,IAAI,EAAI,EAAE,SAAS,MAAM,MAAM,OAAO,CACtC,EAAE,MAAM,KAAK,EAAE,UAAU,EAAG,EAAE,CAAE,EAAE,UAAU,EAAE,CAAC,CAAE,EAAE,MAAM,KAAK,CAC7D,KAAM,EAAE,UAAU,EAAG,EAAE,CACvB,GAAI,EAAE,UAAU,EAAE,CAClB,CAAC,CAAE,mBAAmB,EACtB,CAAEC,MAAQ,CACX,EAAE,OAAO,SAAS,CAAE,EAAE,MAAQ,IAAK,IAClC,CAAE,CACH,aAAc,EACd,YAAa,EACb,MAAO,EACP,oBAAqB,EACrB,gBAAiB,EACjB,gBACA,GAAG,EACH,GAAG,EACH,EAEF,CAAC,CAAE,GAAK,CAAE,gBAAiB,aAAc,CAAE,GAAK,CAAE,MAAO,UAAW,CAAE,GAAK,CAAE,MAAO,uBAAwB,CAAE,GAAK,CAAE,MAAO,sBAAuB,CAAE,GAAK,CAAE,MAAO,yBAA0B,CAAE,GAAK,CACpM,GAAI,KACJ,IAAK,eACL,CAAE,GAAK,CAAE,MAAO,sBAAuB,CAAE,GAAK,CAC9C,IAAK,EACL,MAAO,0BACP,CAAE,GAAK,CAAC,UAAU,CACnB,SAAS,YAAY,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CACtC,OAAOC,GAAG,CAAEC,EAAE,MAAO,GAAI,CACxBC,EAAE,IAAK,GAAI,2BAA6BC,EAAE,EAAE,cAAgB,WAAa,iBAAmB,iBAAiB,CAAG,KAAM,EAAE,CACxHD,EAAE,MAAO,GAAI,CAACA,EAAE,MAAO,GAAI,EAAEF,GAAG,CAAEC,EAAEG,EAAG,KAAMC,EAAE,EAAI,GAAMH,EAAE,MAAO,CAAE,IAAK,EAAG,CAAEC,EAAE,EAAE,cAAgB,WAAa,EAAI,EAAI,EAAE,CAAE,EAAE,CAAC,CAAE,GAAG,EAAE,CAAC,CAAED,EAAE,MAAO,GAAI,CAACA,EAAE,MAAO,GAAI,KAAM,IAAI,CAAEA,EAAE,MAAO,GAAI,EAAEF,EAAE,CAAC,EAAE,CAAEC,EAAEG,EAAG,KAAMC,EAAE,EAAE,MAAQ,IAAOL,GAAG,CAAEC,EAAE,MAAO,CAAE,IAAK,EAAG,CAAEE,EAAE,EAAE,CAAE,EAAE,EAAE,CAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CACpR,EAAE,qBAAuBH,GAAG,CAAEC,EAAE,MAAO,GAAI,EAAED,EAAE,CAAC,EAAE,CAAEC,EAAEG,EAAG,KAAMC,EAAE,EAAE,gBAAkB,IAAOL,GAAG,CAAEC,EAAE,SAAU,CAC5G,IAAK,EAAE,MACP,QAAU,GAAM,EAAE,gBAAgB,EAAE,MAAM,CAC1C,CAAEE,EAAE,EAAE,cAAgB,WAAa,EAAE,YAAc,EAAE,YAAY,CAAG,IAAMA,EAAE,EAAE,KAAK,CAAE,EAAG,GAAG,EAAE,CAAE,IAAI,EAAE,CAAC,EAAIG,EAAE,GAAI,CAAC,EAAE,CACpH,CAAC,KAEC,GAAqBC,EAAE,GAAI,CAAC,CAAC,SAAU,YAAY,CAAC,CAAC,CAAE,GAAA,EAAI,MAAM,oBAAoBC,CAAE,CAgC1F,YAAY,EAAG,CACd,MAAM,EAAE,QANT,MAAA,IAAA,GAAI,QACJ,KAAA,IAAA,GAAG,QACH,QAAA,IAAA,GAAM,QACN,SAAA,IAAA,GAAO,QACP,SAAA,IAAA,GAAO,QAMP,aAAa,EAAG,KAAO,MAAM,YAAY,CAAE,QAAQ,IAAI,YAAa,EAAG,EAAE,CAAE,QAAQ,IAAI,gBAAiB,KAAK,MAAM,GAAG,CAAE,KAAK,MAAM,KAAO,GAAG,CAH5I,GAAI,CAAC,EAAG,EAAG,EAAG,KAAS,GAAK,EAAE,GAAG,WAAW,MAAM,IAAI,CACtD,KAAK,GAAK,EAAG,KAAK,IAAM,EAAG,KAAK,MAAQ,EAAE,MAAM,IAAI,CAAE,KAAK,OAAS,SAAS,EAAG,GAAG,CAAE,KAAK,OAAS,EAAE,MAAM,IAAI,CAGhH,SAAS,EAAG,EAAG,CACd,MAAO,CACN,UAAW,KAAK,UAAU,EAAE,CAC5B,YAAa,KAAK,eAAe,EAAG,EAAE,CACtC,CAEF,eAAe,EAAG,EAAG,CACpB,OAAO,KAAK,UAAU,EAAE,CAAG,EAAI,IAAM,EAAI,EAAI,KAAK,IAAI,GAAI,EAAI,KAAO,IAAI,CAAG,EAE7E,YAAa,CACZ,OAAO,YAAY,WAEpB,OAAQ,CACP,OAAO,YAAY,MAEpB,UAAU,EAAG,CACZ,IAAI,EAAI,KAAK,MAAM,SAAW,EAC9B,OAAO,IAAM,YAAY,WAAa,QAtDhC,aAAa,CAAC,CACpB,KAAMC,EAAE,aACR,OAAQ,CAAC,CACR,KAAM,aACN,KAAMC,EAAE,aACR,UAAW,CACV,aAAc,4BACd,KAAM,SAAS,EAAG,CACjB,OAAO,QAAQ,IAAI,+BAA+B,IAAI,CAAE,EAAI,EAAE,MAAM,IAAI,CAAC,QAAU,GAAK,CACvF,OAAQC,EAAE,GACV,IAAK,GACL,CAAG,CACH,OAAQA,EAAE,MACV,IAAK,gDACL,CAAG,CACH,OAAQA,EAAE,MACV,IAAK,mBACL,EAEF,CACD,WAAc,CAAC,OAAO,CACtB,CAAC,CACF,CAAC,CAAC,CAAA,EAAA,EACI,QAAQ,CAAC,GAAG,CAAC,CAAA,EAAA,EACb,kBAAkB,CAAC,EAAE,CAAA,EAAA,EACrB,YAAY,YAAY,CAAA,GA+B7B,GAAK,IAAIC,EAAE,QAAS,CAAC,EAAE,CAAC"}
|
|
1
|
+
{"version":3,"file":"chess-BbHATAzk-pOrUYAZ0.js","names":["e","h","c","v","_","f","i","l","u","d","o","s","m","r","p","a","t","g","y","b","x","n"],"sources":["../../../courseware/dist/chess-BbHATAzk.js"],"sourcesContent":["import { r as e } from \"./shapes-BQUVJdp5.js\";\nimport { r as t, t as n } from \"./CourseWare-BTFRjgBR.js\";\nimport { Fragment as r, computed as i, createCommentVNode as a, createElementBlock as o, createElementVNode as s, defineComponent as c, onMounted as l, onUnmounted as u, openBlock as d, ref as f, renderList as p, toDisplayString as m, watch as h } from \"vue\";\nimport { Question as g, useQuestionView as _, useViewable as v } from \"@vue-skuilder/common-ui\";\nimport { DataShapeName as y, FieldType as b, Status as x } from \"@vue-skuilder/common\";\nimport './assets/chess.css';//#region src/chess/chessground/types.ts\nvar S = [\"cg-white\", \"cg-black\"], C = [\n\t\"a\",\n\t\"b\",\n\t\"c\",\n\t\"d\",\n\t\"e\",\n\t\"f\",\n\t\"g\",\n\t\"h\"\n], w = [\n\t\"1\",\n\t\"2\",\n\t\"3\",\n\t\"4\",\n\t\"5\",\n\t\"6\",\n\t\"7\",\n\t\"8\"\n], T = [...w].reverse(), E = Array.prototype.concat(...C.map((e) => w.map((t) => e + t))), pos2key = (e) => E[8 * e[0] + e[1]], key2pos = (e) => [e.charCodeAt(0) - 97, e.charCodeAt(1) - 49], D = E.map(key2pos);\nfunction memo(e) {\n\tlet t, ret = () => (t === void 0 && (t = e()), t);\n\treturn ret.clear = () => {\n\t\tt = void 0;\n\t}, ret;\n}\nvar timer = () => {\n\tlet e;\n\treturn {\n\t\tstart() {\n\t\t\te = performance.now();\n\t\t},\n\t\tcancel() {\n\t\t\te = void 0;\n\t\t},\n\t\tstop() {\n\t\t\tif (!e) return 0;\n\t\t\tlet t = performance.now() - e;\n\t\t\treturn e = void 0, t;\n\t\t}\n\t};\n}, opposite = (e) => e === \"cg-white\" ? \"cg-black\" : \"cg-white\", distanceSq = (e, t) => {\n\tlet n = e[0] - t[0], r = e[1] - t[1];\n\treturn n * n + r * r;\n}, samePiece = (e, t) => e.role === t.role && e.color === t.color, posToTranslate = (e) => (t, n) => [(n ? t[0] : 7 - t[0]) * e.width / 8, (n ? 7 - t[1] : t[1]) * e.height / 8], translate = (e, t) => {\n\te.style.transform = `translate(${t[0]}px,${t[1]}px)`;\n}, translateAndScale = (e, t, n = 1) => {\n\te.style.transform = `translate(${t[0]}px,${t[1]}px) scale(${n})`;\n}, setVisible = (e, t) => {\n\te.style.visibility = t ? \"visible\" : \"hidden\";\n}, eventPosition = (e) => {\n\tif (e.clientX || e.clientX === 0) return [e.clientX, e.clientY];\n\tif (e.targetTouches?.[0]) return [e.targetTouches[0].clientX, e.targetTouches[0].clientY];\n}, isRightButton = (e) => e.button === 2, createEl = (e, t) => {\n\tlet n = document.createElement(e);\n\treturn t && (n.className = t), n;\n};\nfunction computeSquareCenter(e, t, n) {\n\tlet r = key2pos(e);\n\treturn t || (r[0] = 7 - r[0], r[1] = 7 - r[1]), [n.left + n.width * r[0] / 8 + n.width / 16, n.top + n.height * (7 - r[1]) / 8 + n.height / 16];\n}\n//#endregion\n//#region src/chess/chessground/premove.ts\nvar diff = (e, t) => Math.abs(e - t), pawn = (e) => (t, n, r, i) => diff(t, r) < 2 && (e === \"cg-white\" ? i === n + 1 || n <= 1 && i === n + 2 && t === r : i === n - 1 || n >= 6 && i === n - 2 && t === r), knight = (e, t, n, r) => {\n\tlet i = diff(e, n), a = diff(t, r);\n\treturn i === 1 && a === 2 || i === 2 && a === 1;\n}, bishop = (e, t, n, r) => diff(e, n) === diff(t, r), rook = (e, t, n, r) => e === n || t === r, queen = (e, t, n, r) => bishop(e, t, n, r) || rook(e, t, n, r), king = (e, t, n) => (r, i, a, o) => diff(r, a) < 2 && diff(i, o) < 2 || n && i === o && i === (e === \"cg-white\" ? 0 : 7) && (r === 4 && (a === 2 && t.includes(0) || a === 6 && t.includes(7)) || t.includes(a));\nfunction rookFilesOf(e, t) {\n\tlet n = t === \"cg-white\" ? \"1\" : \"8\", r = [];\n\tfor (let [i, a] of e) i[1] === n && a.color === t && a.role === \"rook\" && r.push(key2pos(i)[0]);\n\treturn r;\n}\nfunction premove(e, t, n) {\n\tlet r = e.get(t);\n\tif (!r) return [];\n\tlet i = key2pos(t), a = r.role, o = a === \"pawn\" ? pawn(r.color) : a === \"knight\" ? knight : a === \"bishop\" ? bishop : a === \"rook\" ? rook : a === \"queen\" ? queen : king(r.color, rookFilesOf(e, r.color), n);\n\treturn D.filter((e) => (i[0] !== e[0] || i[1] !== e[1]) && o(i[0], i[1], e[0], e[1])).map(pos2key);\n}\n//#endregion\n//#region src/chess/chessground/board.ts\nfunction callUserFunction(e, ...t) {\n\te && setTimeout(() => e(...t), 1);\n}\nfunction toggleOrientation(e) {\n\te.orientation = opposite(e.orientation), e.animation.current = e.draggable.current = e.selected = void 0;\n}\nfunction setPieces(e, t) {\n\tfor (let [n, r] of t) r ? e.pieces.set(n, r) : e.pieces.delete(n);\n}\nfunction setCheck(e, t) {\n\tif (e.check = void 0, t === !0 && (t = e.turnColor), t) for (let [n, r] of e.pieces) r.role === \"king\" && r.color === t && (e.check = n);\n}\nfunction setPremove(e, t, n, r) {\n\tunsetPredrop(e), e.premovable.current = [t, n], callUserFunction(e.premovable.events.set, t, n, r);\n}\nfunction unsetPremove(e) {\n\te.premovable.current && (e.premovable.current = void 0, callUserFunction(e.premovable.events.unset));\n}\nfunction setPredrop(e, t, n) {\n\tunsetPremove(e), e.predroppable.current = {\n\t\trole: t,\n\t\tkey: n\n\t}, callUserFunction(e.predroppable.events.set, t, n);\n}\nfunction unsetPredrop(e) {\n\tlet t = e.predroppable;\n\tt.current && (t.current = void 0, callUserFunction(t.events.unset));\n}\nfunction tryAutoCastle(e, t, n) {\n\tif (!e.autoCastle) return !1;\n\tlet r = e.pieces.get(t);\n\tif (!r || r.role !== \"king\") return !1;\n\tlet i = key2pos(t), a = key2pos(n);\n\tif (i[1] !== 0 && i[1] !== 7 || i[1] !== a[1]) return !1;\n\ti[0] === 4 && !e.pieces.has(n) && (a[0] === 6 ? n = pos2key([7, a[1]]) : a[0] === 2 && (n = pos2key([0, a[1]])));\n\tlet o = e.pieces.get(n);\n\treturn !o || o.color !== r.color || o.role !== \"rook\" ? !1 : (e.pieces.delete(t), e.pieces.delete(n), i[0] < a[0] ? (e.pieces.set(pos2key([6, a[1]]), r), e.pieces.set(pos2key([5, a[1]]), o)) : (e.pieces.set(pos2key([2, a[1]]), r), e.pieces.set(pos2key([3, a[1]]), o)), !0);\n}\nfunction baseMove(e, t, n) {\n\tlet r = e.pieces.get(t), i = e.pieces.get(n);\n\tif (t === n || !r) return !1;\n\tlet a = i && i.color !== r.color ? i : void 0;\n\treturn n === e.selected && unselect(e), callUserFunction(e.events.move, t, n, a), tryAutoCastle(e, t, n) || (e.pieces.set(n, r), e.pieces.delete(t)), e.lastMove = [t, n], e.check = void 0, callUserFunction(e.events.change), a || !0;\n}\nfunction baseNewPiece(e, t, n, r) {\n\tif (e.pieces.has(n)) if (r) e.pieces.delete(n);\n\telse return !1;\n\treturn callUserFunction(e.events.dropNewPiece, t, n), e.pieces.set(n, t), e.lastMove = [n], e.check = void 0, callUserFunction(e.events.change), e.movable.dests = void 0, e.turnColor = opposite(e.turnColor), !0;\n}\nfunction baseUserMove(e, t, n) {\n\tlet r = baseMove(e, t, n);\n\treturn r && (e.movable.dests = void 0, e.turnColor = opposite(e.turnColor), e.animation.current = void 0), r;\n}\nfunction userMove(e, t, n) {\n\tif (canMove(e, t, n)) {\n\t\tlet r = baseUserMove(e, t, n);\n\t\tif (r) {\n\t\t\tlet i = e.hold.stop();\n\t\t\tunselect(e);\n\t\t\tlet a = {\n\t\t\t\tpremove: !1,\n\t\t\t\tctrlKey: e.stats.ctrlKey,\n\t\t\t\tholdTime: i\n\t\t\t};\n\t\t\treturn r !== !0 && (a.captured = r), callUserFunction(e.movable.events.after, t, n, a), !0;\n\t\t}\n\t} else if (canPremove(e, t, n)) return setPremove(e, t, n, { ctrlKey: e.stats.ctrlKey }), unselect(e), !0;\n\treturn unselect(e), !1;\n}\nfunction dropNewPiece(e, t, n, r) {\n\tlet i = e.pieces.get(t);\n\ti && (canDrop(e, t, n) || r) ? (e.pieces.delete(t), baseNewPiece(e, i, n, r), callUserFunction(e.movable.events.afterNewPiece, i.role, n, {\n\t\tpremove: !1,\n\t\tpredrop: !1\n\t})) : i && canPredrop(e, t, n) ? setPredrop(e, i.role, n) : (unsetPremove(e), unsetPredrop(e)), e.pieces.delete(t), unselect(e);\n}\nfunction selectSquare(e, t, n) {\n\tif (callUserFunction(e.events.select, t), e.selected) {\n\t\tif (e.selected === t && !e.draggable.enabled) {\n\t\t\tunselect(e), e.hold.cancel();\n\t\t\treturn;\n\t\t} else if ((e.selectable.enabled || n) && e.selected !== t && userMove(e, e.selected, t)) {\n\t\t\te.stats.dragged = !1;\n\t\t\treturn;\n\t\t}\n\t}\n\t(e.selectable.enabled || e.draggable.enabled) && (isMovable(e, t) || isPremovable(e, t)) && (setSelected(e, t), e.hold.start());\n}\nfunction setSelected(e, t) {\n\te.selected = t, isPremovable(e, t) ? e.premovable.customDests || (e.premovable.dests = premove(e.pieces, t, e.premovable.castle)) : e.premovable.dests = void 0;\n}\nfunction unselect(e) {\n\te.selected = void 0, e.premovable.dests = void 0, e.hold.cancel();\n}\nfunction isMovable(e, t) {\n\tlet n = e.pieces.get(t);\n\treturn !!n && (e.movable.color === \"both\" || e.movable.color === n.color && e.turnColor === n.color);\n}\nvar canMove = (e, t, n) => t !== n && isMovable(e, t) && (e.movable.free || !!e.movable.dests?.get(t)?.includes(n));\nfunction canDrop(e, t, n) {\n\tlet r = e.pieces.get(t);\n\treturn !!r && (t === n || !e.pieces.has(n)) && (e.movable.color === \"both\" || e.movable.color === r.color && e.turnColor === r.color);\n}\nfunction isPremovable(e, t) {\n\tlet n = e.pieces.get(t);\n\treturn !!n && e.premovable.enabled && e.movable.color === n.color && e.turnColor !== n.color;\n}\nfunction canPremove(e, t, n) {\n\tlet r = e.premovable.customDests?.get(t) ?? premove(e.pieces, t, e.premovable.castle);\n\treturn t !== n && isPremovable(e, t) && r.includes(n);\n}\nfunction canPredrop(e, t, n) {\n\tlet r = e.pieces.get(t), i = e.pieces.get(n);\n\treturn !!r && (!i || i.color !== e.movable.color) && e.predroppable.enabled && (r.role !== \"pawn\" || n[1] !== \"1\" && n[1] !== \"8\") && e.movable.color === r.color && e.turnColor !== r.color;\n}\nfunction isDraggable(e, t) {\n\tlet n = e.pieces.get(t);\n\treturn !!n && e.draggable.enabled && (e.movable.color === \"both\" || e.movable.color === n.color && (e.turnColor === n.color || e.premovable.enabled));\n}\nfunction playPremove(e) {\n\tlet t = e.premovable.current;\n\tif (!t) return !1;\n\tlet n = t[0], r = t[1], i = !1;\n\tif (canMove(e, n, r)) {\n\t\tlet t = baseUserMove(e, n, r);\n\t\tif (t) {\n\t\t\tlet a = { premove: !0 };\n\t\t\tt !== !0 && (a.captured = t), callUserFunction(e.movable.events.after, n, r, a), i = !0;\n\t\t}\n\t}\n\treturn unsetPremove(e), i;\n}\nfunction playPredrop(e, t) {\n\tlet n = e.predroppable.current, r = !1;\n\treturn n ? (t(n) && baseNewPiece(e, {\n\t\trole: n.role,\n\t\tcolor: e.movable.color\n\t}, n.key) && (callUserFunction(e.movable.events.afterNewPiece, n.role, n.key, {\n\t\tpremove: !1,\n\t\tpredrop: !0\n\t}), r = !0), unsetPredrop(e), r) : !1;\n}\nfunction cancelMove(e) {\n\tunsetPremove(e), unsetPredrop(e), unselect(e);\n}\nfunction stop(e) {\n\te.movable.color = e.movable.dests = e.animation.current = void 0, cancelMove(e);\n}\nfunction getKeyAtDomPos(e, t, n) {\n\tlet r = Math.floor(8 * (e[0] - n.left) / n.width);\n\tt || (r = 7 - r);\n\tlet i = 7 - Math.floor(8 * (e[1] - n.top) / n.height);\n\treturn t || (i = 7 - i), r >= 0 && r < 8 && i >= 0 && i < 8 ? pos2key([r, i]) : void 0;\n}\nfunction getSnappedKeyAtDomPos(e, t, n, r) {\n\tlet i = key2pos(e), a = D.filter((e) => queen(i[0], i[1], e[0], e[1]) || knight(i[0], i[1], e[0], e[1])), o = a.map((e) => computeSquareCenter(pos2key(e), n, r)).map((e) => distanceSq(t, e)), [, s] = o.reduce((e, t, n) => e[0] < t ? e : [t, n], [o[0], 0]);\n\treturn pos2key(a[s]);\n}\nvar whitePov = (e) => e.orientation === \"cg-white\", O = \"rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR\", k = {\n\tp: \"pawn\",\n\tr: \"rook\",\n\tn: \"knight\",\n\tb: \"bishop\",\n\tq: \"queen\",\n\tk: \"king\"\n}, A = {\n\tpawn: \"p\",\n\trook: \"r\",\n\tknight: \"n\",\n\tbishop: \"b\",\n\tqueen: \"q\",\n\tking: \"k\"\n};\nfunction read(e) {\n\te === \"start\" && (e = O);\n\tlet t = /* @__PURE__ */ new Map(), n = 7, r = 0;\n\tfor (let i of e) switch (i) {\n\t\tcase \" \":\n\t\tcase \"[\": return t;\n\t\tcase \"/\":\n\t\t\tif (--n, n < 0) return t;\n\t\t\tr = 0;\n\t\t\tbreak;\n\t\tcase \"~\": {\n\t\t\tlet e = t.get(pos2key([r - 1, n]));\n\t\t\te && (e.promoted = !0);\n\t\t\tbreak;\n\t\t}\n\t\tdefault: {\n\t\t\tlet e = i.charCodeAt(0);\n\t\t\tif (e < 57) r += e - 48;\n\t\t\telse {\n\t\t\t\tlet e = i.toLowerCase();\n\t\t\t\tt.set(pos2key([r, n]), {\n\t\t\t\t\trole: k[e],\n\t\t\t\t\tcolor: i === e ? \"cg-black\" : \"cg-white\"\n\t\t\t\t}), ++r;\n\t\t\t}\n\t\t}\n\t}\n\treturn t;\n}\nfunction write(e) {\n\treturn T.map((t) => C.map((n) => {\n\t\tlet r = e.get(n + t);\n\t\tif (r) {\n\t\t\tlet e = A[r.role];\n\t\t\treturn r.color === \"cg-white\" && (e = e.toUpperCase()), r.promoted && (e += \"~\"), e;\n\t\t} else return \"1\";\n\t}).join(\"\")).join(\"/\").replace(/1{2,}/g, (e) => e.length.toString());\n}\n//#endregion\n//#region src/chess/chessground/config.ts\nfunction applyAnimation(e, t) {\n\tt.animation && (deepMerge(e.animation, t.animation), (e.animation.duration || 0) < 70 && (e.animation.enabled = !1));\n}\nfunction configure(e, t) {\n\tif (t.movable?.dests && (e.movable.dests = void 0), t.drawable?.autoShapes && (e.drawable.autoShapes = []), deepMerge(e, t), t.fen && (e.pieces = read(t.fen), e.drawable.shapes = t.drawable?.shapes || []), \"check\" in t && setCheck(e, t.check || !1), \"lastMove\" in t && !t.lastMove ? e.lastMove = void 0 : t.lastMove && (e.lastMove = t.lastMove), e.selected && setSelected(e, e.selected), applyAnimation(e, t), !e.movable.rookCastle && e.movable.dests) {\n\t\tlet t = e.movable.color === \"cg-white\" ? \"1\" : \"8\", n = \"e\" + t, r = e.movable.dests.get(n), i = e.pieces.get(n);\n\t\tif (!r || !i || i.role !== \"king\") return;\n\t\te.movable.dests.set(n, r.filter((e) => !(e === \"a\" + t && r.includes(\"c\" + t)) && !(e === \"h\" + t && r.includes(\"g\" + t))));\n\t}\n}\nfunction deepMerge(e, t) {\n\tfor (let n in t) Object.prototype.hasOwnProperty.call(t, n) && (Object.prototype.hasOwnProperty.call(e, n) && isPlainObject(e[n]) && isPlainObject(t[n]) ? deepMerge(e[n], t[n]) : e[n] = t[n]);\n}\nfunction isPlainObject(e) {\n\tif (typeof e != \"object\" || !e) return !1;\n\tlet t = Object.getPrototypeOf(e);\n\treturn t === Object.prototype || t === null;\n}\n//#endregion\n//#region src/chess/chessground/anim.ts\nvar anim = (e, t) => t.animation.enabled ? animate(e, t) : render$2(e, t);\nfunction render$2(e, t) {\n\tlet n = e(t);\n\treturn t.dom.redraw(), n;\n}\ne(render$2, \"render\");\nvar makePiece = (e, t) => ({\n\tkey: e,\n\tpos: key2pos(e),\n\tpiece: t\n}), closer = (e, t) => t.sort((t, n) => distanceSq(e.pos, t.pos) - distanceSq(e.pos, n.pos))[0];\nfunction computePlan(e, t) {\n\tlet n = /* @__PURE__ */ new Map(), r = [], i = /* @__PURE__ */ new Map(), a = [], o = [], s = /* @__PURE__ */ new Map(), c, l, u;\n\tfor (let [t, n] of e) s.set(t, makePiece(t, n));\n\tfor (let e of E) c = t.pieces.get(e), l = s.get(e), c ? l ? samePiece(c, l.piece) || (a.push(l), o.push(makePiece(e, c))) : o.push(makePiece(e, c)) : l && a.push(l);\n\tfor (let e of o) l = closer(e, a.filter((t) => samePiece(e.piece, t.piece))), l && (u = [l.pos[0] - e.pos[0], l.pos[1] - e.pos[1]], n.set(e.key, u.concat(u)), r.push(l.key));\n\tfor (let e of a) r.includes(e.key) || i.set(e.key, e.piece);\n\treturn {\n\t\tanims: n,\n\t\tfadings: i\n\t};\n}\nfunction step(e, t) {\n\tlet n = e.animation.current;\n\tif (n === void 0) {\n\t\te.dom.destroyed || e.dom.redrawNow();\n\t\treturn;\n\t}\n\tlet r = 1 - (t - n.start) * n.frequency;\n\tif (r <= 0) e.animation.current = void 0, e.dom.redrawNow();\n\telse {\n\t\tlet t = easing(r);\n\t\tfor (let e of n.plan.anims.values()) e[2] = e[0] * t, e[3] = e[1] * t;\n\t\te.dom.redrawNow(!0), requestAnimationFrame((t = performance.now()) => step(e, t));\n\t}\n}\nfunction animate(e, t) {\n\tlet n = new Map(t.pieces), r = e(t), i = computePlan(n, t);\n\tif (i.anims.size || i.fadings.size) {\n\t\tlet e = t.animation.current && t.animation.current.start;\n\t\tt.animation.current = {\n\t\t\tstart: performance.now(),\n\t\t\tfrequency: 1 / t.animation.duration,\n\t\t\tplan: i\n\t\t}, e || step(t, performance.now());\n\t} else t.dom.redraw();\n\treturn r;\n}\nvar easing = (e) => e < .5 ? 4 * e * e * e : (e - 1) * (2 * e - 2) * (2 * e - 2) + 1, j = [\n\t\"green\",\n\t\"red\",\n\t\"blue\",\n\t\"yellow\"\n];\nfunction start$2(e, t) {\n\tif (t.touches && t.touches.length > 1) return;\n\tt.stopPropagation(), t.preventDefault(), t.ctrlKey ? unselect(e) : cancelMove(e);\n\tlet n = eventPosition(t), r = getKeyAtDomPos(n, whitePov(e), e.dom.bounds());\n\tr && (e.drawable.current = {\n\t\torig: r,\n\t\tpos: n,\n\t\tbrush: eventBrush(t),\n\t\tsnapToValidMove: e.drawable.defaultSnapToValidMove\n\t}, processDraw(e));\n}\ne(start$2, \"start\");\nfunction processDraw(e) {\n\trequestAnimationFrame(() => {\n\t\tlet t = e.drawable.current;\n\t\tif (t) {\n\t\t\tlet n = getKeyAtDomPos(t.pos, whitePov(e), e.dom.bounds());\n\t\t\tn || (t.snapToValidMove = !1);\n\t\t\tlet r = t.snapToValidMove ? getSnappedKeyAtDomPos(t.orig, t.pos, whitePov(e), e.dom.bounds()) : n;\n\t\t\tr !== t.mouseSq && (t.mouseSq = r, t.dest = r === t.orig ? void 0 : r, e.dom.redrawNow()), processDraw(e);\n\t\t}\n\t});\n}\nfunction move$1(e, t) {\n\te.drawable.current && (e.drawable.current.pos = eventPosition(t));\n}\ne(move$1, \"move\");\nfunction end$1(e) {\n\tlet t = e.drawable.current;\n\tt && (t.mouseSq && addShape(e.drawable, t), cancel$1(e));\n}\ne(end$1, \"end\");\nfunction cancel$1(e) {\n\te.drawable.current && (e.drawable.current = void 0, e.dom.redraw());\n}\ne(cancel$1, \"cancel\");\nfunction clear(e) {\n\te.drawable.shapes.length && (e.drawable.shapes = [], e.dom.redraw(), onChange(e.drawable));\n}\nfunction eventBrush(e) {\n\tlet t = (e.shiftKey || e.ctrlKey) && isRightButton(e), n = e.altKey || e.metaKey || e.getModifierState?.(\"AltGraph\");\n\treturn j[(t ? 1 : 0) + (n ? 2 : 0)];\n}\nfunction addShape(e, t) {\n\tlet sameShape = (e) => e.orig === t.orig && e.dest === t.dest, n = e.shapes.find(sameShape);\n\tn && (e.shapes = e.shapes.filter((e) => !sameShape(e))), (!n || n.brush !== t.brush) && e.shapes.push({\n\t\torig: t.orig,\n\t\tdest: t.dest,\n\t\tbrush: t.brush\n\t}), onChange(e);\n}\nfunction onChange(e) {\n\te.onChange && e.onChange(e.shapes);\n}\n//#endregion\n//#region src/chess/chessground/drag.ts\nfunction start$1(e, t) {\n\tif (!(e.trustAllEvents || t.isTrusted) || t.buttons !== void 0 && t.buttons > 1 || t.touches && t.touches.length > 1) return;\n\tlet n = e.dom.bounds(), r = eventPosition(t), i = getKeyAtDomPos(r, whitePov(e), n);\n\tif (!i) return;\n\tlet a = e.pieces.get(i), o = e.selected;\n\tif (!o && e.drawable.enabled && (e.drawable.eraseOnClick || !a || a.color !== e.turnColor) && clear(e), t.cancelable !== !1 && (!t.touches || e.blockTouchScroll || a || o || pieceCloseTo(e, r))) t.preventDefault();\n\telse if (t.touches) return;\n\tlet s = !!e.premovable.current, c = !!e.predroppable.current;\n\te.stats.ctrlKey = t.ctrlKey, e.selected && canMove(e, e.selected, i) ? anim((e) => selectSquare(e, i), e) : selectSquare(e, i);\n\tlet l = e.selected === i, u = pieceElementByKey(e, i);\n\tif (a && u && l && isDraggable(e, i)) {\n\t\te.draggable.current = {\n\t\t\torig: i,\n\t\t\tpiece: a,\n\t\t\torigPos: r,\n\t\t\tpos: r,\n\t\t\tstarted: e.draggable.autoDistance && e.stats.dragged,\n\t\t\telement: u,\n\t\t\tpreviouslySelected: o,\n\t\t\toriginTarget: t.target,\n\t\t\tkeyHasChanged: !1\n\t\t}, u.cgDragging = !0, u.classList.add(\"dragging\");\n\t\tlet s = e.dom.elements.ghost;\n\t\ts && (s.className = `ghost ${a.color} ${a.role}`, translate(s, posToTranslate(n)(key2pos(i), whitePov(e))), setVisible(s, !0)), processDrag(e);\n\t} else s && unsetPremove(e), c && unsetPredrop(e);\n\te.dom.redraw();\n}\ne(start$1, \"start\");\nfunction pieceCloseTo(e, t) {\n\tlet n = whitePov(e), r = e.dom.bounds(), i = (r.width / 8) ** 2;\n\tfor (let a of e.pieces.keys()) if (distanceSq(computeSquareCenter(a, n, r), t) <= i) return !0;\n\treturn !1;\n}\nfunction dragNewPiece(e, t, n, r) {\n\te.pieces.set(\"a0\", t), e.dom.redraw();\n\tlet i = eventPosition(n);\n\te.draggable.current = {\n\t\torig: \"a0\",\n\t\tpiece: t,\n\t\torigPos: i,\n\t\tpos: i,\n\t\tstarted: !0,\n\t\telement: () => pieceElementByKey(e, \"a0\"),\n\t\toriginTarget: n.target,\n\t\tnewPiece: !0,\n\t\tforce: !!r,\n\t\tkeyHasChanged: !1\n\t}, processDrag(e);\n}\nfunction processDrag(e) {\n\trequestAnimationFrame(() => {\n\t\tlet t = e.draggable.current;\n\t\tif (!t) return;\n\t\te.animation.current?.plan.anims.has(t.orig) && (e.animation.current = void 0);\n\t\tlet n = e.pieces.get(t.orig);\n\t\tif (!n || !samePiece(n, t.piece)) cancel(e);\n\t\telse if (!t.started && distanceSq(t.pos, t.origPos) >= e.draggable.distance ** 2 && (t.started = !0), t.started) {\n\t\t\tif (typeof t.element == \"function\") {\n\t\t\t\tlet e = t.element();\n\t\t\t\tif (!e) return;\n\t\t\t\te.cgDragging = !0, e.classList.add(\"dragging\"), t.element = e;\n\t\t\t}\n\t\t\tlet n = e.dom.bounds();\n\t\t\ttranslate(t.element, [t.pos[0] - n.left - n.width / 16, t.pos[1] - n.top - n.height / 16]), t.keyHasChanged = t.keyHasChanged || t.orig !== getKeyAtDomPos(t.pos, whitePov(e), n);\n\t\t}\n\t\tprocessDrag(e);\n\t});\n}\nfunction move(e, t) {\n\te.draggable.current && (!t.touches || t.touches.length < 2) && (e.draggable.current.pos = eventPosition(t));\n}\nfunction end(e, t) {\n\tlet n = e.draggable.current;\n\tif (!n) return;\n\tif (t.type === \"touchend\" && t.cancelable !== !1 && t.preventDefault(), t.type === \"touchend\" && n.originTarget !== t.target && !n.newPiece) {\n\t\te.draggable.current = void 0;\n\t\treturn;\n\t}\n\tunsetPremove(e), unsetPredrop(e);\n\tlet r = getKeyAtDomPos(eventPosition(t) || n.pos, whitePov(e), e.dom.bounds());\n\tr && n.started && n.orig !== r ? n.newPiece ? dropNewPiece(e, n.orig, r, n.force) : (e.stats.ctrlKey = t.ctrlKey, userMove(e, n.orig, r) && (e.stats.dragged = !0)) : n.newPiece ? e.pieces.delete(n.orig) : e.draggable.deleteOnDropOff && !r && (e.pieces.delete(n.orig), callUserFunction(e.events.change)), (n.orig === n.previouslySelected || n.keyHasChanged) && (n.orig === r || !r) ? unselect(e) : e.selectable.enabled || unselect(e), removeDragElements(e), e.draggable.current = void 0, e.dom.redraw();\n}\nfunction cancel(e) {\n\tlet t = e.draggable.current;\n\tt && (t.newPiece && e.pieces.delete(t.orig), e.draggable.current = void 0, unselect(e), removeDragElements(e), e.dom.redraw());\n}\nfunction removeDragElements(e) {\n\tlet t = e.dom.elements;\n\tt.ghost && setVisible(t.ghost, !1);\n}\nfunction pieceElementByKey(e, t) {\n\tlet n = e.dom.elements.board.firstChild;\n\tfor (; n;) {\n\t\tif (n.cgKey === t && n.tagName === \"PIECE\") return n;\n\t\tn = n.nextSibling;\n\t}\n}\n//#endregion\n//#region src/chess/chessground/explosion.ts\nfunction explosion(e, t) {\n\te.exploding = {\n\t\tstage: 1,\n\t\tkeys: t\n\t}, e.dom.redraw(), setTimeout(() => {\n\t\tsetStage(e, 2), setTimeout(() => setStage(e, void 0), 120);\n\t}, 120);\n}\nfunction setStage(e, t) {\n\te.exploding && (t ? e.exploding.stage = t : e.exploding = void 0, e.dom.redraw());\n}\n//#endregion\n//#region src/chess/chessground/api.ts\nfunction start(t, n) {\n\tfunction toggleOrientation$1() {\n\t\ttoggleOrientation(t), n();\n\t}\n\treturn e(toggleOrientation$1, \"toggleOrientation\"), {\n\t\tset(e) {\n\t\t\te.orientation && e.orientation !== t.orientation && toggleOrientation$1(), applyAnimation(t, e), (e.fen ? anim : render$2)((t) => configure(t, e), t);\n\t\t},\n\t\tstate: t,\n\t\tgetFen: () => write(t.pieces),\n\t\ttoggleOrientation: toggleOrientation$1,\n\t\tsetPieces(e) {\n\t\t\tanim((t) => setPieces(t, e), t);\n\t\t},\n\t\tselectSquare(e, n) {\n\t\t\te ? anim((t) => selectSquare(t, e, n), t) : t.selected && (unselect(t), t.dom.redraw());\n\t\t},\n\t\tmove(e, n) {\n\t\t\tanim((t) => baseMove(t, e, n), t);\n\t\t},\n\t\tnewPiece(e, n) {\n\t\t\tanim((t) => baseNewPiece(t, e, n), t);\n\t\t},\n\t\tplayPremove() {\n\t\t\tif (t.premovable.current) {\n\t\t\t\tif (anim(playPremove, t)) return !0;\n\t\t\t\tt.dom.redraw();\n\t\t\t}\n\t\t\treturn !1;\n\t\t},\n\t\tplayPredrop(e) {\n\t\t\tif (t.predroppable.current) {\n\t\t\t\tlet n = playPredrop(t, e);\n\t\t\t\treturn t.dom.redraw(), n;\n\t\t\t}\n\t\t\treturn !1;\n\t\t},\n\t\tcancelPremove() {\n\t\t\trender$2(unsetPremove, t);\n\t\t},\n\t\tcancelPredrop() {\n\t\t\trender$2(unsetPredrop, t);\n\t\t},\n\t\tcancelMove() {\n\t\t\trender$2((e) => {\n\t\t\t\tcancelMove(e), cancel(e);\n\t\t\t}, t);\n\t\t},\n\t\tstop() {\n\t\t\trender$2((e) => {\n\t\t\t\tstop(e), cancel(e);\n\t\t\t}, t);\n\t\t},\n\t\texplode(e) {\n\t\t\texplosion(t, e);\n\t\t},\n\t\tsetAutoShapes(e) {\n\t\t\trender$2((t) => t.drawable.autoShapes = e, t);\n\t\t},\n\t\tsetShapes(e) {\n\t\t\trender$2((t) => t.drawable.shapes = e, t);\n\t\t},\n\t\tgetKeyAtDomPos(e) {\n\t\t\treturn getKeyAtDomPos(e, whitePov(t), t.dom.bounds());\n\t\t},\n\t\tredrawAll: n,\n\t\tdragNewPiece(e, n, r) {\n\t\t\tdragNewPiece(t, e, n, r);\n\t\t},\n\t\tdestroy() {\n\t\t\tstop(t), t.dom.unbind?.(), t.dom.destroyed = !0;\n\t\t}\n\t};\n}\n//#endregion\n//#region src/chess/chessground/state.ts\nfunction defaults() {\n\treturn {\n\t\tpieces: read(O),\n\t\torientation: \"cg-white\",\n\t\tturnColor: \"cg-white\",\n\t\tcoordinates: !0,\n\t\tcoordinatesOnSquares: !1,\n\t\tranksPosition: \"right\",\n\t\tautoCastle: !0,\n\t\tviewOnly: !1,\n\t\tdisableContextMenu: !1,\n\t\taddPieceZIndex: !1,\n\t\tblockTouchScroll: !1,\n\t\tpieceKey: !1,\n\t\ttrustAllEvents: !1,\n\t\thighlight: {\n\t\t\tlastMove: !0,\n\t\t\tcheck: !0\n\t\t},\n\t\tanimation: {\n\t\t\tenabled: !0,\n\t\t\tduration: 200\n\t\t},\n\t\tmovable: {\n\t\t\tfree: !0,\n\t\t\tcolor: \"both\",\n\t\t\tshowDests: !0,\n\t\t\tevents: {},\n\t\t\trookCastle: !0\n\t\t},\n\t\tpremovable: {\n\t\t\tenabled: !0,\n\t\t\tshowDests: !0,\n\t\t\tcastle: !0,\n\t\t\tevents: {}\n\t\t},\n\t\tpredroppable: {\n\t\t\tenabled: !1,\n\t\t\tevents: {}\n\t\t},\n\t\tdraggable: {\n\t\t\tenabled: !0,\n\t\t\tdistance: 3,\n\t\t\tautoDistance: !0,\n\t\t\tshowGhost: !0,\n\t\t\tdeleteOnDropOff: !1\n\t\t},\n\t\tdropmode: { active: !1 },\n\t\tselectable: { enabled: !0 },\n\t\tstats: { dragged: !(\"ontouchstart\" in window) },\n\t\tevents: {},\n\t\tdrawable: {\n\t\t\tenabled: !0,\n\t\t\tvisible: !0,\n\t\t\tdefaultSnapToValidMove: !0,\n\t\t\teraseOnClick: !0,\n\t\t\tshapes: [],\n\t\t\tautoShapes: [],\n\t\t\tbrushes: {\n\t\t\t\tgreen: {\n\t\t\t\t\tkey: \"g\",\n\t\t\t\t\tcolor: \"#15781B\",\n\t\t\t\t\topacity: 1,\n\t\t\t\t\tlineWidth: 10\n\t\t\t\t},\n\t\t\t\tred: {\n\t\t\t\t\tkey: \"r\",\n\t\t\t\t\tcolor: \"#882020\",\n\t\t\t\t\topacity: 1,\n\t\t\t\t\tlineWidth: 10\n\t\t\t\t},\n\t\t\t\tblue: {\n\t\t\t\t\tkey: \"b\",\n\t\t\t\t\tcolor: \"#003088\",\n\t\t\t\t\topacity: 1,\n\t\t\t\t\tlineWidth: 10\n\t\t\t\t},\n\t\t\t\tyellow: {\n\t\t\t\t\tkey: \"y\",\n\t\t\t\t\tcolor: \"#e68f00\",\n\t\t\t\t\topacity: 1,\n\t\t\t\t\tlineWidth: 10\n\t\t\t\t},\n\t\t\t\tpaleBlue: {\n\t\t\t\t\tkey: \"pb\",\n\t\t\t\t\tcolor: \"#003088\",\n\t\t\t\t\topacity: .4,\n\t\t\t\t\tlineWidth: 15\n\t\t\t\t},\n\t\t\t\tpaleGreen: {\n\t\t\t\t\tkey: \"pg\",\n\t\t\t\t\tcolor: \"#15781B\",\n\t\t\t\t\topacity: .4,\n\t\t\t\t\tlineWidth: 15\n\t\t\t\t},\n\t\t\t\tpaleRed: {\n\t\t\t\t\tkey: \"pr\",\n\t\t\t\t\tcolor: \"#882020\",\n\t\t\t\t\topacity: .4,\n\t\t\t\t\tlineWidth: 15\n\t\t\t\t},\n\t\t\t\tpaleGrey: {\n\t\t\t\t\tkey: \"pgr\",\n\t\t\t\t\tcolor: \"#4a4a4a\",\n\t\t\t\t\topacity: .35,\n\t\t\t\t\tlineWidth: 15\n\t\t\t\t},\n\t\t\t\tpurple: {\n\t\t\t\t\tkey: \"purple\",\n\t\t\t\t\tcolor: \"#68217a\",\n\t\t\t\t\topacity: .65,\n\t\t\t\t\tlineWidth: 10\n\t\t\t\t},\n\t\t\t\tpink: {\n\t\t\t\t\tkey: \"pink\",\n\t\t\t\t\tcolor: \"#ee2080\",\n\t\t\t\t\topacity: .5,\n\t\t\t\t\tlineWidth: 10\n\t\t\t\t},\n\t\t\t\twhite: {\n\t\t\t\t\tkey: \"white\",\n\t\t\t\t\tcolor: \"white\",\n\t\t\t\t\topacity: 1,\n\t\t\t\t\tlineWidth: 10\n\t\t\t\t}\n\t\t\t},\n\t\t\tprevSvgHash: \"\"\n\t\t},\n\t\thold: timer()\n\t};\n}\n//#endregion\n//#region src/chess/chessground/svg.ts\nvar M = {\n\thilitePrimary: {\n\t\tkey: \"hilitePrimary\",\n\t\tcolor: \"#3291ff\",\n\t\topacity: 1,\n\t\tlineWidth: 1\n\t},\n\thiliteWhite: {\n\t\tkey: \"hiliteWhite\",\n\t\tcolor: \"#ffffff\",\n\t\topacity: 1,\n\t\tlineWidth: 1\n\t}\n};\nfunction createDefs() {\n\tlet e = createElement(\"defs\"), t = setAttributes(createElement(\"filter\"), { id: \"cg-filter-blur\" });\n\treturn t.appendChild(setAttributes(createElement(\"feGaussianBlur\"), { stdDeviation: \"0.019\" })), e.appendChild(t), e;\n}\nfunction renderSvg(e, t, n) {\n\tlet r = e.drawable, i = r.current, a = i && i.mouseSq ? i : void 0, o = /* @__PURE__ */ new Map(), s = e.dom.bounds(), c = r.autoShapes.filter((e) => !e.piece);\n\tfor (let t of r.shapes.concat(c).concat(a ? [a] : [])) {\n\t\tif (!t.dest) continue;\n\t\tlet n = o.get(t.dest) ?? /* @__PURE__ */ new Set(), r = pos2user(orient(key2pos(t.orig), e.orientation), s), i = pos2user(orient(key2pos(t.dest), e.orientation), s);\n\t\tn.add(moveAngle(r, i)), o.set(t.dest, n);\n\t}\n\tlet l = r.shapes.concat(c).map((e) => ({\n\t\tshape: e,\n\t\tcurrent: !1,\n\t\thash: shapeHash(e, isShort(e.dest, o), !1, s)\n\t}));\n\ta && l.push({\n\t\tshape: a,\n\t\tcurrent: !0,\n\t\thash: shapeHash(a, isShort(a.dest, o), !0, s)\n\t});\n\tlet u = l.map((e) => e.hash).join(\";\");\n\tu !== e.drawable.prevSvgHash && (e.drawable.prevSvgHash = u, syncDefs(r, l, t.querySelector(\"defs\")), syncShapes$1(l, t.querySelector(\"g\"), n.querySelector(\"g\"), (t) => renderShape$1(e, t, r.brushes, o, s)));\n}\nfunction syncDefs(e, t, n) {\n\tlet r = /* @__PURE__ */ new Map(), i;\n\tfor (let n of t.filter((e) => e.shape.dest && e.shape.brush)) i = makeCustomBrush(e.brushes[n.shape.brush], n.shape.modifiers), n.shape.modifiers?.hilite && r.set(hilite(i).key, hilite(i)), r.set(i.key, i);\n\tlet a = /* @__PURE__ */ new Set(), o = n.firstElementChild;\n\tfor (; o;) a.add(o.getAttribute(\"cgKey\")), o = o.nextElementSibling;\n\tfor (let [e, t] of r.entries()) a.has(e) || n.appendChild(renderMarker(t));\n}\nfunction syncShapes$1(e, t, n, r) {\n\tlet i = /* @__PURE__ */ new Map();\n\tfor (let t of e) i.set(t.hash, !1);\n\tfor (let e of [t, n]) {\n\t\tlet t = [], n = e.firstElementChild, r;\n\t\tfor (; n;) r = n.getAttribute(\"cgHash\"), i.has(r) ? i.set(r, !0) : t.push(n), n = n.nextElementSibling;\n\t\tfor (let n of t) e.removeChild(n);\n\t}\n\tfor (let a of e.filter((e) => !i.get(e.hash))) for (let e of r(a)) e.isCustom ? n.appendChild(e.el) : t.appendChild(e.el);\n}\ne(syncShapes$1, \"syncShapes\");\nfunction shapeHash({ orig: e, dest: t, brush: n, piece: r, modifiers: i, customSvg: a, label: o }, s, c, l) {\n\treturn [\n\t\tl.width,\n\t\tl.height,\n\t\tc,\n\t\te,\n\t\tt,\n\t\tn,\n\t\ts && \"-\",\n\t\tr && pieceHash(r),\n\t\ti && modifiersHash(i),\n\t\ta && `custom-${textHash(a.html)},${a.center?.[0] ?? \"o\"}`,\n\t\to && `label-${textHash(o.text)}`\n\t].filter((e) => e).join(\",\");\n}\nfunction pieceHash(e) {\n\treturn [\n\t\te.color,\n\t\te.role,\n\t\te.scale\n\t].filter((e) => e).join(\",\");\n}\nfunction modifiersHash(e) {\n\treturn [e.lineWidth, e.hilite && \"*\"].filter((e) => e).join(\",\");\n}\nfunction textHash(e) {\n\tlet t = 0;\n\tfor (let n = 0; n < e.length; n++) t = (t << 5) - t + e.charCodeAt(n) >>> 0;\n\treturn t.toString();\n}\nfunction renderShape$1(e, { shape: t, current: n, hash: r }, i, a, o) {\n\tlet s = pos2user(orient(key2pos(t.orig), e.orientation), o), c = t.dest ? pos2user(orient(key2pos(t.dest), e.orientation), o) : s, l = t.brush && makeCustomBrush(i[t.brush], t.modifiers), u = a.get(t.dest), d = [];\n\tif (l) {\n\t\tlet e = setAttributes(createElement(\"g\"), { cgHash: r });\n\t\td.push({ el: e }), s[0] !== c[0] || s[1] !== c[1] ? e.appendChild(renderArrow(t, l, s, c, n, isShort(t.dest, a))) : e.appendChild(renderCircle(i[t.brush], s, n, o));\n\t}\n\tif (t.label) {\n\t\tlet e = t.label;\n\t\te.fill || t.brush && i[t.brush] && (e.fill = i[t.brush].color);\n\t\tlet n = t.brush ? void 0 : \"tr\";\n\t\td.push({\n\t\t\tel: renderLabel(e, r, s, c, u, n),\n\t\t\tisCustom: !0\n\t\t});\n\t}\n\tif (t.customSvg) {\n\t\tlet e = t.customSvg.center ?? \"orig\", [n, i] = e === \"label\" ? labelCoords(s, c, u).map((e) => e - .5) : e === \"dest\" ? c : s, a = setAttributes(createElement(\"g\"), {\n\t\t\ttransform: `translate(${n},${i})`,\n\t\t\tcgHash: r\n\t\t});\n\t\ta.innerHTML = `<svg width=\"1\" height=\"1\" viewBox=\"0 0 100 100\">${t.customSvg.html}</svg>`, d.push({\n\t\t\tel: a,\n\t\t\tisCustom: !0\n\t\t});\n\t}\n\treturn d;\n}\ne(renderShape$1, \"renderShape\");\nfunction renderCircle(e, t, n, r) {\n\tlet i = circleWidth(), a = (r.width + r.height) / (4 * Math.max(r.width, r.height));\n\treturn setAttributes(createElement(\"circle\"), {\n\t\tstroke: e.color,\n\t\t\"stroke-width\": i[n ? 0 : 1],\n\t\tfill: \"none\",\n\t\topacity: opacity(e, n),\n\t\tcx: t[0],\n\t\tcy: t[1],\n\t\tr: a - i[1] / 2\n\t});\n}\nfunction hilite(e) {\n\treturn [\n\t\t\"#ffffff\",\n\t\t\"#fff\",\n\t\t\"white\"\n\t].includes(e.color) ? M.hilitePrimary : M.hiliteWhite;\n}\nfunction renderArrow(e, t, n, r, i, a) {\n\tfunction renderLine(o) {\n\t\tlet s = arrowMargin(a && !i), c = r[0] - n[0], l = r[1] - n[1], u = Math.atan2(l, c), d = Math.cos(u) * s, f = Math.sin(u) * s;\n\t\treturn setAttributes(createElement(\"line\"), {\n\t\t\tstroke: o ? hilite(t).color : t.color,\n\t\t\t\"stroke-width\": lineWidth(t, i) + (o ? .04 : 0),\n\t\t\t\"stroke-linecap\": \"round\",\n\t\t\t\"marker-end\": `url(#arrowhead-${o ? hilite(t).key : t.key})`,\n\t\t\topacity: e.modifiers?.hilite ? 1 : opacity(t, i),\n\t\t\tx1: n[0],\n\t\t\ty1: n[1],\n\t\t\tx2: r[0] - d,\n\t\t\ty2: r[1] - f\n\t\t});\n\t}\n\tif (!e.modifiers?.hilite) return renderLine(!1);\n\tlet o = createElement(\"g\"), s = setAttributes(createElement(\"g\"), { filter: \"url(#cg-filter-blur)\" });\n\treturn s.appendChild(filterBox(n, r)), s.appendChild(renderLine(!0)), o.appendChild(s), o.appendChild(renderLine(!1)), o;\n}\nfunction renderMarker(e) {\n\tlet t = setAttributes(createElement(\"marker\"), {\n\t\tid: \"arrowhead-\" + e.key,\n\t\torient: \"auto\",\n\t\toverflow: \"visible\",\n\t\tmarkerWidth: 4,\n\t\tmarkerHeight: 4,\n\t\trefX: e.key.startsWith(\"hilite\") ? 1.86 : 2.05,\n\t\trefY: 2\n\t});\n\treturn t.appendChild(setAttributes(createElement(\"path\"), {\n\t\td: \"M0,0 V4 L3,2 Z\",\n\t\tfill: e.color\n\t})), t.setAttribute(\"cgKey\", e.key), t;\n}\nfunction renderLabel(e, t, n, r, i, a) {\n\tlet o = .4, s = o * .75 ** e.text.length, c = labelCoords(n, r, i), l = a === \"tr\" ? .4 : 0, u = setAttributes(createElement(\"g\"), {\n\t\ttransform: `translate(${c[0] + l},${c[1] - l})`,\n\t\tcgHash: t\n\t});\n\tu.appendChild(setAttributes(createElement(\"circle\"), {\n\t\tr: o / 2,\n\t\t\"fill-opacity\": a ? 1 : .8,\n\t\t\"stroke-opacity\": a ? 1 : .7,\n\t\t\"stroke-width\": .03,\n\t\tfill: e.fill ?? \"#666\",\n\t\tstroke: \"white\"\n\t}));\n\tlet d = setAttributes(createElement(\"text\"), {\n\t\t\"font-size\": s,\n\t\t\"font-family\": \"Noto Sans\",\n\t\t\"text-anchor\": \"middle\",\n\t\tfill: \"white\",\n\t\ty: .13 * .75 ** e.text.length\n\t});\n\treturn d.innerHTML = e.text, u.appendChild(d), u;\n}\nfunction orient(e, t) {\n\treturn t === \"cg-white\" ? e : [7 - e[0], 7 - e[1]];\n}\nfunction isShort(e, t) {\n\treturn !0 === (e && t.has(e) && t.get(e).size > 1);\n}\nfunction createElement(e) {\n\treturn document.createElementNS(\"http://www.w3.org/2000/svg\", e);\n}\nfunction setAttributes(e, t) {\n\tfor (let n in t) Object.prototype.hasOwnProperty.call(t, n) && e.setAttribute(n, t[n]);\n\treturn e;\n}\nfunction makeCustomBrush(e, t) {\n\treturn t ? {\n\t\tcolor: e.color,\n\t\topacity: Math.round(e.opacity * 10) / 10,\n\t\tlineWidth: Math.round(t.lineWidth || e.lineWidth),\n\t\tkey: [e.key, t.lineWidth].filter((e) => e).join(\"\")\n\t} : e;\n}\nfunction circleWidth() {\n\treturn [3 / 64, 4 / 64];\n}\nfunction lineWidth(e, t) {\n\treturn (e.lineWidth || 10) * (t ? .85 : 1) / 64;\n}\nfunction opacity(e, t) {\n\treturn (e.opacity || 1) * (t ? .9 : 1);\n}\nfunction arrowMargin(e) {\n\treturn (e ? 20 : 10) / 64;\n}\nfunction pos2user(e, t) {\n\tlet n = Math.min(1, t.width / t.height), r = Math.min(1, t.height / t.width);\n\treturn [(e[0] - 3.5) * n, (3.5 - e[1]) * r];\n}\nfunction filterBox(e, t) {\n\tlet n = {\n\t\tfrom: [Math.floor(Math.min(e[0], t[0])), Math.floor(Math.min(e[1], t[1]))],\n\t\tto: [Math.ceil(Math.max(e[0], t[0])), Math.ceil(Math.max(e[1], t[1]))]\n\t};\n\treturn setAttributes(createElement(\"rect\"), {\n\t\tx: n.from[0],\n\t\ty: n.from[1],\n\t\twidth: n.to[0] - n.from[0],\n\t\theight: n.to[1] - n.from[1],\n\t\tfill: \"none\",\n\t\tstroke: \"none\"\n\t});\n}\nfunction moveAngle(e, t, n = !0) {\n\tlet r = Math.atan2(t[1] - e[1], t[0] - e[0]) + Math.PI;\n\treturn n ? (Math.round(r * 8 / Math.PI) + 16) % 16 : r;\n}\nfunction dist(e, t) {\n\treturn Math.sqrt([e[0] - t[0], e[1] - t[1]].reduce((e, t) => e + t * t, 0));\n}\nfunction labelCoords(e, t, n) {\n\tlet r = dist(e, t), i = moveAngle(e, t, !1);\n\tif (n && (r -= 33 / 64, n.size > 1)) {\n\t\tr -= 10 / 64;\n\t\tlet i = moveAngle(e, t);\n\t\t(n.has((i + 1) % 16) || n.has((i + 15) % 16)) && i & 1 && (r -= .4);\n\t}\n\treturn [e[0] - Math.cos(i) * r, e[1] - Math.sin(i) * r].map((e) => e + .5);\n}\n//#endregion\n//#region src/chess/chessground/wrap.ts\nfunction renderWrap(e, t) {\n\te.innerHTML = \"\", e.classList.add(\"cg-wrap\");\n\tfor (let n of S) e.classList.toggle(\"orientation-\" + n, t.orientation === n);\n\te.classList.toggle(\"manipulable\", !t.viewOnly);\n\tlet n = createEl(\"cg-container\");\n\te.appendChild(n);\n\tlet r = createEl(\"cg-board\");\n\tn.appendChild(r);\n\tlet i, a, o;\n\tif (t.drawable.visible && (i = setAttributes(createElement(\"svg\"), {\n\t\tclass: \"cg-shapes\",\n\t\tviewBox: \"-4 -4 8 8\",\n\t\tpreserveAspectRatio: \"xMidYMid slice\"\n\t}), i.appendChild(createDefs()), i.appendChild(createElement(\"g\")), a = setAttributes(createElement(\"svg\"), {\n\t\tclass: \"cg-custom-svgs\",\n\t\tviewBox: \"-3.5 -3.5 8 8\",\n\t\tpreserveAspectRatio: \"xMidYMid slice\"\n\t}), a.appendChild(createElement(\"g\")), o = createEl(\"cg-auto-pieces\"), n.appendChild(i), n.appendChild(a), n.appendChild(o)), t.coordinates) {\n\t\tlet e = t.orientation === \"cg-black\" ? \" black\" : \"\", r = t.ranksPosition === \"left\" ? \" left\" : \"\";\n\t\tif (t.coordinatesOnSquares) {\n\t\t\tlet i = t.orientation === \"cg-white\" ? (e) => e + 1 : (e) => 8 - e;\n\t\t\tC.forEach((t, a) => n.appendChild(renderCoords(w.map((e) => t + e), \"squares rank\" + i(a) + e + r)));\n\t\t} else n.appendChild(renderCoords(w, \"ranks\" + e + r)), n.appendChild(renderCoords(C, \"files\" + e));\n\t}\n\tlet s;\n\treturn t.draggable.enabled && t.draggable.showGhost && (s = createEl(\"piece\", \"ghost\"), setVisible(s, !1), n.appendChild(s)), {\n\t\tboard: r,\n\t\tcontainer: n,\n\t\twrap: e,\n\t\tghost: s,\n\t\tsvg: i,\n\t\tcustomSvg: a,\n\t\tautoPieces: o\n\t};\n}\nfunction renderCoords(e, t) {\n\tlet n = createEl(\"coords\", t), r;\n\tfor (let t of e) r = createEl(\"coord\"), r.textContent = t, n.appendChild(r);\n\treturn n;\n}\n//#endregion\n//#region src/chess/chessground/drop.ts\nfunction drop(e, t) {\n\tif (!e.dropmode.active) return;\n\tunsetPremove(e), unsetPredrop(e);\n\tlet n = e.dropmode.piece;\n\tif (n) {\n\t\te.pieces.set(\"a0\", n);\n\t\tlet r = eventPosition(t), i = r && getKeyAtDomPos(r, whitePov(e), e.dom.bounds());\n\t\ti && dropNewPiece(e, \"a0\", i);\n\t}\n\te.dom.redraw();\n}\n//#endregion\n//#region src/chess/chessground/events.ts\nfunction bindBoard(e) {\n\tlet t = e.dom.elements.board;\n\tif ((e.disableContextMenu || e.drawable.enabled) && t.addEventListener(\"contextmenu\", (e) => e.preventDefault()), e.viewOnly) return;\n\tlet n = startDragOrDraw(e);\n\tt.addEventListener(\"touchstart\", n, { passive: !1 }), t.addEventListener(\"mousedown\", n, { passive: !1 });\n}\nfunction bindDocument(e, t) {\n\tlet n = [];\n\tif (\"ResizeObserver\" in window || n.push(unbindable(document.body, \"chessground.resize\", t)), !e.viewOnly) {\n\t\tlet t = dragOrDraw(e, move, move$1), r = dragOrDraw(e, end, end$1);\n\t\tfor (let e of [\"touchmove\", \"mousemove\"]) n.push(unbindable(document, e, t));\n\t\tfor (let e of [\"touchend\", \"mouseup\"]) n.push(unbindable(document, e, r));\n\t\tlet onScroll = () => e.dom.bounds.clear();\n\t\tn.push(unbindable(document, \"scroll\", onScroll, {\n\t\t\tcapture: !0,\n\t\t\tpassive: !0\n\t\t})), n.push(unbindable(window, \"resize\", onScroll, { passive: !0 }));\n\t}\n\treturn () => n.forEach((e) => e());\n}\nfunction unbindable(e, t, n, r) {\n\treturn e.addEventListener(t, n, r), () => e.removeEventListener(t, n, r);\n}\nvar startDragOrDraw = (e) => (t) => {\n\te.draggable.current ? cancel(e) : e.drawable.current ? cancel$1(e) : t.shiftKey || isRightButton(t) ? e.drawable.enabled && start$2(e, t) : e.viewOnly || (e.dropmode.active ? drop(e, t) : start$1(e, t));\n}, dragOrDraw = (e, t, n) => (r) => {\n\te.drawable.current ? e.drawable.enabled && n(e, r) : e.viewOnly || t(e, r);\n};\n//#endregion\n//#region src/chess/chessground/render.ts\nfunction render$1(e) {\n\tlet t = whitePov(e), n = posToTranslate(e.dom.bounds()), r = e.dom.elements.board, i = e.pieces, a = e.animation.current, o = a ? a.plan.anims : /* @__PURE__ */ new Map(), s = a ? a.plan.fadings : /* @__PURE__ */ new Map(), c = e.draggable.current, l = computeSquareClasses(e), u = /* @__PURE__ */ new Set(), d = /* @__PURE__ */ new Set(), f = /* @__PURE__ */ new Map(), p = /* @__PURE__ */ new Map(), m, h, g, _, v, y, b, x, S, C;\n\tfor (h = r.firstChild; h;) {\n\t\tif (m = h.cgKey, isPieceNode(h)) if (g = i.get(m), v = o.get(m), y = s.get(m), _ = h.cgPiece, h.cgDragging && (!c || c.orig !== m) && (h.classList.remove(\"dragging\"), translate(h, n(key2pos(m), t)), h.cgDragging = !1), !y && h.cgFading && (h.cgFading = !1, h.classList.remove(\"fading\")), g) {\n\t\t\tif (v && h.cgAnimating && _ === pieceNameOf(g)) {\n\t\t\t\tlet e = key2pos(m);\n\t\t\t\te[0] += v[2], e[1] += v[3], h.classList.add(\"anim\"), translate(h, n(e, t));\n\t\t\t} else h.cgAnimating && (h.cgAnimating = !1, h.classList.remove(\"anim\"), translate(h, n(key2pos(m), t)), e.addPieceZIndex && (h.style.zIndex = posZIndex(key2pos(m), t)));\n\t\t\t_ === pieceNameOf(g) && (!y || !h.cgFading) ? u.add(m) : y && _ === pieceNameOf(y) ? (h.classList.add(\"fading\"), h.cgFading = !0) : appendValue(f, _, h);\n\t\t} else appendValue(f, _, h);\n\t\telse if (isSquareNode(h)) {\n\t\t\tlet e = h.className;\n\t\t\tl.get(m) === e ? d.add(m) : appendValue(p, e, h);\n\t\t}\n\t\th = h.nextSibling;\n\t}\n\tfor (let [e, i] of l) if (!d.has(e)) {\n\t\tS = p.get(i), C = S && S.pop();\n\t\tlet a = n(key2pos(e), t);\n\t\tif (C) C.cgKey = e, translate(C, a);\n\t\telse {\n\t\t\tlet t = createEl(\"square\", i);\n\t\t\tt.cgKey = e, translate(t, a), r.insertBefore(t, r.firstChild);\n\t\t}\n\t}\n\tfor (let [a, s] of i) if (v = o.get(a), !u.has(a)) if (b = f.get(pieceNameOf(s)), x = b && b.pop(), x) {\n\t\tx.cgKey = a, x.cgFading && (x.classList.remove(\"fading\"), x.cgFading = !1);\n\t\tlet r = key2pos(a);\n\t\te.addPieceZIndex && (x.style.zIndex = posZIndex(r, t)), v && (x.cgAnimating = !0, x.classList.add(\"anim\"), r[0] += v[2], r[1] += v[3]), translate(x, n(r, t));\n\t} else {\n\t\tlet i = pieceNameOf(s), o = createEl(\"piece\", i), c = key2pos(a);\n\t\to.cgPiece = i, o.cgKey = a, v && (o.cgAnimating = !0, c[0] += v[2], c[1] += v[3]), translate(o, n(c, t)), e.addPieceZIndex && (o.style.zIndex = posZIndex(c, t)), r.appendChild(o);\n\t}\n\tfor (let t of f.values()) removeNodes(e, t);\n\tfor (let t of p.values()) removeNodes(e, t);\n}\ne(render$1, \"render\");\nfunction renderResized$1(e) {\n\tlet t = whitePov(e), n = posToTranslate(e.dom.bounds()), r = e.dom.elements.board.firstChild;\n\tfor (; r;) (isPieceNode(r) && !r.cgAnimating || isSquareNode(r)) && translate(r, n(key2pos(r.cgKey), t)), r = r.nextSibling;\n}\ne(renderResized$1, \"renderResized\");\nfunction updateBounds(e) {\n\tlet t = e.dom.elements.wrap.getBoundingClientRect(), n = e.dom.elements.container, r = t.height / t.width, i = Math.floor(t.width * window.devicePixelRatio / 8) * 8 / window.devicePixelRatio, a = i * r;\n\tn.style.width = i + \"px\", n.style.height = a + \"px\", e.dom.bounds.clear(), e.addDimensionsCssVarsTo?.style.setProperty(\"---cg-width\", i + \"px\"), e.addDimensionsCssVarsTo?.style.setProperty(\"---cg-height\", a + \"px\");\n}\nvar isPieceNode = (e) => e.tagName === \"PIECE\", isSquareNode = (e) => e.tagName === \"SQUARE\";\nfunction removeNodes(e, t) {\n\tfor (let n of t) e.dom.elements.board.removeChild(n);\n}\nfunction posZIndex(e, t) {\n\tlet n = e[1];\n\treturn `${t ? 10 - n : 3 + n}`;\n}\nvar pieceNameOf = (e) => `${e.color} ${e.role}`;\nfunction computeSquareClasses(e) {\n\tlet t = /* @__PURE__ */ new Map();\n\tif (e.lastMove && e.highlight.lastMove) for (let n of e.lastMove) addSquare(t, n, \"last-move\");\n\tif (e.check && e.highlight.check && addSquare(t, e.check, \"check\"), e.selected && (addSquare(t, e.selected, \"selected\"), e.movable.showDests)) {\n\t\tlet n = e.movable.dests?.get(e.selected);\n\t\tif (n) for (let r of n) addSquare(t, r, \"move-dest\" + (e.pieces.has(r) ? \" oc\" : \"\"));\n\t\tlet r = e.premovable.customDests?.get(e.selected) ?? e.premovable.dests;\n\t\tif (r) for (let n of r) addSquare(t, n, \"premove-dest\" + (e.pieces.has(n) ? \" oc\" : \"\"));\n\t}\n\tlet n = e.premovable.current;\n\tif (n) for (let e of n) addSquare(t, e, \"current-premove\");\n\telse e.predroppable.current && addSquare(t, e.predroppable.current.key, \"current-premove\");\n\tlet r = e.exploding;\n\tif (r) for (let e of r.keys) addSquare(t, e, \"exploding\" + r.stage);\n\treturn e.highlight.custom && e.highlight.custom.forEach((e, n) => {\n\t\taddSquare(t, n, e);\n\t}), t;\n}\nfunction addSquare(e, t, n) {\n\tlet r = e.get(t);\n\tr ? e.set(t, `${r} ${n}`) : e.set(t, n);\n}\nfunction appendValue(e, t, n) {\n\tlet r = e.get(t);\n\tr ? r.push(n) : e.set(t, [n]);\n}\n//#endregion\n//#region src/chess/chessground/sync.ts\nfunction syncShapes(e, t, n) {\n\tlet r = /* @__PURE__ */ new Map(), i = [];\n\tfor (let t of e) r.set(t.hash, !1);\n\tlet a = t.firstElementChild, o;\n\tfor (; a;) o = a.getAttribute(\"cgHash\"), r.has(o) ? r.set(o, !0) : i.push(a), a = a.nextElementSibling;\n\tfor (let e of i) t.removeChild(e);\n\tfor (let i of e) r.get(i.hash) || t.appendChild(n(i));\n}\n//#endregion\n//#region src/chess/chessground/autoPieces.ts\nfunction render(e, t) {\n\tsyncShapes(e.drawable.autoShapes.filter((e) => e.piece).map((e) => ({\n\t\tshape: e,\n\t\thash: hash(e),\n\t\tcurrent: !1\n\t})), t, (t) => renderShape(e, t, e.dom.bounds()));\n}\nfunction renderResized(e) {\n\tlet t = whitePov(e), n = posToTranslate(e.dom.bounds()), r = e.dom.elements.autoPieces?.firstChild;\n\tfor (; r;) translateAndScale(r, n(key2pos(r.cgKey), t), r.cgScale), r = r.nextSibling;\n}\nfunction renderShape(e, { shape: t, hash: n }, r) {\n\tlet i = t.orig, a = t.piece?.role, o = t.piece?.color, s = t.piece?.scale, c = createEl(\"piece\", `${a} ${o}`);\n\treturn c.setAttribute(\"cgHash\", n), c.cgKey = i, c.cgScale = s, translateAndScale(c, posToTranslate(r)(key2pos(i), whitePov(e)), s), c;\n}\nvar hash = (e) => [\n\te.orig,\n\te.piece?.role,\n\te.piece?.color,\n\te.piece?.scale\n].join(\",\");\n//#endregion\n//#region src/chess/chessground/chessground.ts\nfunction Chessground(e, t) {\n\tlet n = defaults();\n\tconfigure(n, t || {});\n\tfunction redrawAll() {\n\t\tlet t = \"dom\" in n ? n.dom.unbind : void 0, r = renderWrap(e, n), i = memo(() => r.board.getBoundingClientRect()), redrawNow = (e) => {\n\t\t\trender$1(a), r.autoPieces && render(a, r.autoPieces), !e && r.svg && renderSvg(a, r.svg, r.customSvg);\n\t\t}, onResize = () => {\n\t\t\tupdateBounds(a), renderResized$1(a), r.autoPieces && renderResized(a);\n\t\t}, a = n;\n\t\treturn a.dom = {\n\t\t\telements: r,\n\t\t\tbounds: i,\n\t\t\tredraw: debounceRedraw(redrawNow),\n\t\t\tredrawNow,\n\t\t\tunbind: t\n\t\t}, a.drawable.prevSvgHash = \"\", updateBounds(a), redrawNow(!1), bindBoard(a), t || (a.dom.unbind = bindDocument(a, onResize)), a.events.insert?.(r), a;\n\t}\n\treturn start(redrawAll(), redrawAll);\n}\nfunction debounceRedraw(e) {\n\tlet t = !1;\n\treturn () => {\n\t\tt || (t = !0, requestAnimationFrame(() => {\n\t\t\te(), t = !1;\n\t\t}));\n\t};\n}\nvar N = \"rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1\", Move = class {\n\tcolor;\n\tfrom;\n\tto;\n\tpiece;\n\tcaptured;\n\tpromotion;\n\tflags;\n\tsan;\n\tlan;\n\tbefore;\n\tafter;\n\tconstructor(e, t) {\n\t\tlet { color: n, piece: r, from: i, to: a, flags: o, captured: s, promotion: c } = t, l = algebraic(i), u = algebraic(a);\n\t\tthis.color = n, this.piece = r, this.from = l, this.to = u, this.san = e._moveToSan(t, e._moves({ legal: !0 })), this.lan = l + u, this.before = e.fen(), e._makeMove(t), this.after = e.fen(), e._undoMove(), this.flags = \"\";\n\t\tfor (let e in L) L[e] & o && (this.flags += F[e]);\n\t\ts && (this.captured = s), c && (this.promotion = c, this.lan += c);\n\t}\n\tisCapture() {\n\t\treturn this.flags.indexOf(F.CAPTURE) > -1;\n\t}\n\tisPromotion() {\n\t\treturn this.flags.indexOf(F.PROMOTION) > -1;\n\t}\n\tisEnPassant() {\n\t\treturn this.flags.indexOf(F.EP_CAPTURE) > -1;\n\t}\n\tisKingsideCastle() {\n\t\treturn this.flags.indexOf(F.KSIDE_CASTLE) > -1;\n\t}\n\tisQueensideCastle() {\n\t\treturn this.flags.indexOf(F.QSIDE_CASTLE) > -1;\n\t}\n\tisBigPawn() {\n\t\treturn this.flags.indexOf(F.BIG_PAWN) > -1;\n\t}\n}, P = -1, F = {\n\tNORMAL: \"n\",\n\tCAPTURE: \"c\",\n\tBIG_PAWN: \"b\",\n\tEP_CAPTURE: \"e\",\n\tPROMOTION: \"p\",\n\tKSIDE_CASTLE: \"k\",\n\tQSIDE_CASTLE: \"q\"\n}, I = /* @__PURE__ */ \"a8.b8.c8.d8.e8.f8.g8.h8.a7.b7.c7.d7.e7.f7.g7.h7.a6.b6.c6.d6.e6.f6.g6.h6.a5.b5.c5.d5.e5.f5.g5.h5.a4.b4.c4.d4.e4.f4.g4.h4.a3.b3.c3.d3.e3.f3.g3.h3.a2.b2.c2.d2.e2.f2.g2.h2.a1.b1.c1.d1.e1.f1.g1.h1\".split(\".\"), L = {\n\tNORMAL: 1,\n\tCAPTURE: 2,\n\tBIG_PAWN: 4,\n\tEP_CAPTURE: 8,\n\tPROMOTION: 16,\n\tKSIDE_CASTLE: 32,\n\tQSIDE_CASTLE: 64\n}, R = {\n\ta8: 0,\n\tb8: 1,\n\tc8: 2,\n\td8: 3,\n\te8: 4,\n\tf8: 5,\n\tg8: 6,\n\th8: 7,\n\ta7: 16,\n\tb7: 17,\n\tc7: 18,\n\td7: 19,\n\te7: 20,\n\tf7: 21,\n\tg7: 22,\n\th7: 23,\n\ta6: 32,\n\tb6: 33,\n\tc6: 34,\n\td6: 35,\n\te6: 36,\n\tf6: 37,\n\tg6: 38,\n\th6: 39,\n\ta5: 48,\n\tb5: 49,\n\tc5: 50,\n\td5: 51,\n\te5: 52,\n\tf5: 53,\n\tg5: 54,\n\th5: 55,\n\ta4: 64,\n\tb4: 65,\n\tc4: 66,\n\td4: 67,\n\te4: 68,\n\tf4: 69,\n\tg4: 70,\n\th4: 71,\n\ta3: 80,\n\tb3: 81,\n\tc3: 82,\n\td3: 83,\n\te3: 84,\n\tf3: 85,\n\tg3: 86,\n\th3: 87,\n\ta2: 96,\n\tb2: 97,\n\tc2: 98,\n\td2: 99,\n\te2: 100,\n\tf2: 101,\n\tg2: 102,\n\th2: 103,\n\ta1: 112,\n\tb1: 113,\n\tc1: 114,\n\td1: 115,\n\te1: 116,\n\tf1: 117,\n\tg1: 118,\n\th1: 119\n}, z = {\n\tb: [\n\t\t16,\n\t\t32,\n\t\t17,\n\t\t15\n\t],\n\tw: [\n\t\t-16,\n\t\t-32,\n\t\t-17,\n\t\t-15\n\t]\n}, B = {\n\tn: [\n\t\t-18,\n\t\t-33,\n\t\t-31,\n\t\t-14,\n\t\t18,\n\t\t33,\n\t\t31,\n\t\t14\n\t],\n\tb: [\n\t\t-17,\n\t\t-15,\n\t\t17,\n\t\t15\n\t],\n\tr: [\n\t\t-16,\n\t\t1,\n\t\t16,\n\t\t-1\n\t],\n\tq: [\n\t\t-17,\n\t\t-16,\n\t\t-15,\n\t\t1,\n\t\t17,\n\t\t16,\n\t\t15,\n\t\t-1\n\t],\n\tk: [\n\t\t-17,\n\t\t-16,\n\t\t-15,\n\t\t1,\n\t\t17,\n\t\t16,\n\t\t15,\n\t\t-1\n\t]\n}, V = [\n\t20,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t24,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t20,\n\t0,\n\t0,\n\t20,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t24,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t20,\n\t0,\n\t0,\n\t0,\n\t0,\n\t20,\n\t0,\n\t0,\n\t0,\n\t0,\n\t24,\n\t0,\n\t0,\n\t0,\n\t0,\n\t20,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t20,\n\t0,\n\t0,\n\t0,\n\t24,\n\t0,\n\t0,\n\t0,\n\t20,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t20,\n\t0,\n\t0,\n\t24,\n\t0,\n\t0,\n\t20,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t20,\n\t2,\n\t24,\n\t2,\n\t20,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t2,\n\t53,\n\t56,\n\t53,\n\t2,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t24,\n\t24,\n\t24,\n\t24,\n\t24,\n\t24,\n\t56,\n\t0,\n\t56,\n\t24,\n\t24,\n\t24,\n\t24,\n\t24,\n\t24,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t2,\n\t53,\n\t56,\n\t53,\n\t2,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t20,\n\t2,\n\t24,\n\t2,\n\t20,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t20,\n\t0,\n\t0,\n\t24,\n\t0,\n\t0,\n\t20,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t20,\n\t0,\n\t0,\n\t0,\n\t24,\n\t0,\n\t0,\n\t0,\n\t20,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t20,\n\t0,\n\t0,\n\t0,\n\t0,\n\t24,\n\t0,\n\t0,\n\t0,\n\t0,\n\t20,\n\t0,\n\t0,\n\t0,\n\t0,\n\t20,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t24,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t20,\n\t0,\n\t0,\n\t20,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t24,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t20\n], H = [\n\t17,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t16,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t15,\n\t0,\n\t0,\n\t17,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t16,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t15,\n\t0,\n\t0,\n\t0,\n\t0,\n\t17,\n\t0,\n\t0,\n\t0,\n\t0,\n\t16,\n\t0,\n\t0,\n\t0,\n\t0,\n\t15,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t17,\n\t0,\n\t0,\n\t0,\n\t16,\n\t0,\n\t0,\n\t0,\n\t15,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t17,\n\t0,\n\t0,\n\t16,\n\t0,\n\t0,\n\t15,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t17,\n\t0,\n\t16,\n\t0,\n\t15,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t17,\n\t16,\n\t15,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t1,\n\t1,\n\t1,\n\t1,\n\t1,\n\t1,\n\t1,\n\t0,\n\t-1,\n\t-1,\n\t-1,\n\t-1,\n\t-1,\n\t-1,\n\t-1,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t-15,\n\t-16,\n\t-17,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t-15,\n\t0,\n\t-16,\n\t0,\n\t-17,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t-15,\n\t0,\n\t0,\n\t-16,\n\t0,\n\t0,\n\t-17,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t-15,\n\t0,\n\t0,\n\t0,\n\t-16,\n\t0,\n\t0,\n\t0,\n\t-17,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t-15,\n\t0,\n\t0,\n\t0,\n\t0,\n\t-16,\n\t0,\n\t0,\n\t0,\n\t0,\n\t-17,\n\t0,\n\t0,\n\t0,\n\t0,\n\t-15,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t-16,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t-17,\n\t0,\n\t0,\n\t-15,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t-16,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0,\n\t-17\n], U = {\n\tp: 1,\n\tn: 2,\n\tb: 4,\n\tr: 8,\n\tq: 16,\n\tk: 32\n}, W = \"pnbrqkPNBRQK\", G = [\n\t\"n\",\n\t\"b\",\n\t\"r\",\n\t\"q\"\n], K = 7, q = 6, J = 1, Y = 0, X = {\n\tk: L.KSIDE_CASTLE,\n\tq: L.QSIDE_CASTLE\n}, Z = {\n\tw: [{\n\t\tsquare: R.a1,\n\t\tflag: L.QSIDE_CASTLE\n\t}, {\n\t\tsquare: R.h1,\n\t\tflag: L.KSIDE_CASTLE\n\t}],\n\tb: [{\n\t\tsquare: R.a8,\n\t\tflag: L.QSIDE_CASTLE\n\t}, {\n\t\tsquare: R.h8,\n\t\tflag: L.KSIDE_CASTLE\n\t}]\n}, Q = {\n\tb: J,\n\tw: q\n}, ee = [\n\t\"1-0\",\n\t\"0-1\",\n\t\"1/2-1/2\",\n\t\"*\"\n];\nfunction rank(e) {\n\treturn e >> 4;\n}\nfunction file(e) {\n\treturn e & 15;\n}\nfunction isDigit(e) {\n\treturn \"0123456789\".indexOf(e) !== -1;\n}\nfunction algebraic(e) {\n\tlet t = file(e), n = rank(e);\n\treturn \"abcdefgh\".substring(t, t + 1) + \"87654321\".substring(n, n + 1);\n}\nfunction swapColor$1(e) {\n\treturn e === \"w\" ? \"b\" : \"w\";\n}\ne(swapColor$1, \"swapColor\");\nfunction validateFen(e) {\n\tlet t = e.split(/\\s+/);\n\tif (t.length !== 6) return {\n\t\tok: !1,\n\t\terror: \"Invalid FEN: must contain six space-delimited fields\"\n\t};\n\tlet n = parseInt(t[5], 10);\n\tif (isNaN(n) || n <= 0) return {\n\t\tok: !1,\n\t\terror: \"Invalid FEN: move number must be a positive integer\"\n\t};\n\tlet r = parseInt(t[4], 10);\n\tif (isNaN(r) || r < 0) return {\n\t\tok: !1,\n\t\terror: \"Invalid FEN: half move counter number must be a non-negative integer\"\n\t};\n\tif (!/^(-|[abcdefgh][36])$/.test(t[3])) return {\n\t\tok: !1,\n\t\terror: \"Invalid FEN: en-passant square is invalid\"\n\t};\n\tif (/[^kKqQ-]/.test(t[2])) return {\n\t\tok: !1,\n\t\terror: \"Invalid FEN: castling availability is invalid\"\n\t};\n\tif (!/^(w|b)$/.test(t[1])) return {\n\t\tok: !1,\n\t\terror: \"Invalid FEN: side-to-move is invalid\"\n\t};\n\tlet i = t[0].split(\"/\");\n\tif (i.length !== 8) return {\n\t\tok: !1,\n\t\terror: \"Invalid FEN: piece data does not contain 8 '/'-delimited rows\"\n\t};\n\tfor (let e = 0; e < i.length; e++) {\n\t\tlet t = 0, n = !1;\n\t\tfor (let r = 0; r < i[e].length; r++) if (isDigit(i[e][r])) {\n\t\t\tif (n) return {\n\t\t\t\tok: !1,\n\t\t\t\terror: \"Invalid FEN: piece data is invalid (consecutive number)\"\n\t\t\t};\n\t\t\tt += parseInt(i[e][r], 10), n = !0;\n\t\t} else {\n\t\t\tif (!/^[prnbqkPRNBQK]$/.test(i[e][r])) return {\n\t\t\t\tok: !1,\n\t\t\t\terror: \"Invalid FEN: piece data is invalid (invalid piece)\"\n\t\t\t};\n\t\t\tt += 1, n = !1;\n\t\t}\n\t\tif (t !== 8) return {\n\t\t\tok: !1,\n\t\t\terror: \"Invalid FEN: piece data is invalid (too many squares in rank)\"\n\t\t};\n\t}\n\tif (t[3][1] == \"3\" && t[1] == \"w\" || t[3][1] == \"6\" && t[1] == \"b\") return {\n\t\tok: !1,\n\t\terror: \"Invalid FEN: illegal en-passant square\"\n\t};\n\tfor (let { color: e, regex: n } of [{\n\t\tcolor: \"white\",\n\t\tregex: /K/g\n\t}, {\n\t\tcolor: \"black\",\n\t\tregex: /k/g\n\t}]) {\n\t\tif (!n.test(t[0])) return {\n\t\t\tok: !1,\n\t\t\terror: `Invalid FEN: missing ${e} king`\n\t\t};\n\t\tif ((t[0].match(n) || []).length > 1) return {\n\t\t\tok: !1,\n\t\t\terror: `Invalid FEN: too many ${e} kings`\n\t\t};\n\t}\n\treturn Array.from(i[0] + i[7]).some((e) => e.toUpperCase() === \"P\") ? {\n\t\tok: !1,\n\t\terror: \"Invalid FEN: some pawns are on the edge rows\"\n\t} : { ok: !0 };\n}\nfunction getDisambiguator(e, t) {\n\tlet n = e.from, r = e.to, i = e.piece, a = 0, o = 0, s = 0;\n\tfor (let e = 0, c = t.length; e < c; e++) {\n\t\tlet c = t[e].from, l = t[e].to;\n\t\ti === t[e].piece && n !== c && r === l && (a++, rank(n) === rank(c) && o++, file(n) === file(c) && s++);\n\t}\n\treturn a > 0 ? o > 0 && s > 0 ? algebraic(n) : s > 0 ? algebraic(n).charAt(1) : algebraic(n).charAt(0) : \"\";\n}\nfunction addMove(e, t, n, r, i, a = void 0, o = L.NORMAL) {\n\tlet s = rank(r);\n\tif (i === \"p\" && (s === K || s === Y)) for (let s = 0; s < G.length; s++) {\n\t\tlet c = G[s];\n\t\te.push({\n\t\t\tcolor: t,\n\t\t\tfrom: n,\n\t\t\tto: r,\n\t\t\tpiece: i,\n\t\t\tcaptured: a,\n\t\t\tpromotion: c,\n\t\t\tflags: o | L.PROMOTION\n\t\t});\n\t}\n\telse e.push({\n\t\tcolor: t,\n\t\tfrom: n,\n\t\tto: r,\n\t\tpiece: i,\n\t\tcaptured: a,\n\t\tflags: o\n\t});\n}\nfunction inferPieceType(e) {\n\tlet t = e.charAt(0);\n\treturn t >= \"a\" && t <= \"h\" ? e.match(/[a-h]\\d.*[a-h]\\d/) ? void 0 : \"p\" : (t = t.toLowerCase(), t === \"o\" ? \"k\" : t);\n}\nfunction strippedSan(e) {\n\treturn e.replace(/=/, \"\").replace(/[+#]?[?!]*$/, \"\");\n}\nfunction trimFen(e) {\n\treturn e.split(\" \").slice(0, 4).join(\" \");\n}\nvar Chess = class {\n\t_board = Array(128);\n\t_turn = \"w\";\n\t_header = {};\n\t_kings = {\n\t\tw: P,\n\t\tb: P\n\t};\n\t_epSquare = -1;\n\t_halfMoves = 0;\n\t_moveNumber = 0;\n\t_history = [];\n\t_comments = {};\n\t_castling = {\n\t\tw: 0,\n\t\tb: 0\n\t};\n\t_positionCount = {};\n\tconstructor(e = N, { skipValidation: t = !1 } = {}) {\n\t\tthis.load(e, { skipValidation: t });\n\t}\n\tclear({ preserveHeaders: e = !1 } = {}) {\n\t\tthis._board = Array(128), this._kings = {\n\t\t\tw: P,\n\t\t\tb: P\n\t\t}, this._turn = \"w\", this._castling = {\n\t\t\tw: 0,\n\t\t\tb: 0\n\t\t}, this._epSquare = P, this._halfMoves = 0, this._moveNumber = 1, this._history = [], this._comments = {}, this._header = e ? this._header : {}, this._positionCount = {}, delete this._header.SetUp, delete this._header.FEN;\n\t}\n\tload(e, { skipValidation: t = !1, preserveHeaders: n = !1 } = {}) {\n\t\tlet r = e.split(/\\s+/);\n\t\tif (r.length >= 2 && r.length < 6 && (e = r.concat([\n\t\t\t\"-\",\n\t\t\t\"-\",\n\t\t\t\"0\",\n\t\t\t\"1\"\n\t\t].slice(-(6 - r.length))).join(\" \")), r = e.split(/\\s+/), !t) {\n\t\t\tlet { ok: t, error: n } = validateFen(e);\n\t\t\tif (!t) throw Error(n);\n\t\t}\n\t\tlet i = r[0], a = 0;\n\t\tthis.clear({ preserveHeaders: n });\n\t\tfor (let e = 0; e < i.length; e++) {\n\t\t\tlet t = i.charAt(e);\n\t\t\tif (t === \"/\") a += 8;\n\t\t\telse if (isDigit(t)) a += parseInt(t, 10);\n\t\t\telse {\n\t\t\t\tlet e = t < \"a\" ? \"w\" : \"b\";\n\t\t\t\tthis._put({\n\t\t\t\t\ttype: t.toLowerCase(),\n\t\t\t\t\tcolor: e\n\t\t\t\t}, algebraic(a)), a++;\n\t\t\t}\n\t\t}\n\t\tthis._turn = r[1], r[2].indexOf(\"K\") > -1 && (this._castling.w |= L.KSIDE_CASTLE), r[2].indexOf(\"Q\") > -1 && (this._castling.w |= L.QSIDE_CASTLE), r[2].indexOf(\"k\") > -1 && (this._castling.b |= L.KSIDE_CASTLE), r[2].indexOf(\"q\") > -1 && (this._castling.b |= L.QSIDE_CASTLE), this._epSquare = r[3] === \"-\" ? P : R[r[3]], this._halfMoves = parseInt(r[4], 10), this._moveNumber = parseInt(r[5], 10), this._updateSetup(e), this._incPositionCount(e);\n\t}\n\tfen() {\n\t\tlet e = 0, t = \"\";\n\t\tfor (let n = R.a8; n <= R.h1; n++) {\n\t\t\tif (this._board[n]) {\n\t\t\t\te > 0 && (t += e, e = 0);\n\t\t\t\tlet { color: r, type: i } = this._board[n];\n\t\t\t\tt += r === \"w\" ? i.toUpperCase() : i.toLowerCase();\n\t\t\t} else e++;\n\t\t\tn + 1 & 136 && (e > 0 && (t += e), n !== R.h1 && (t += \"/\"), e = 0, n += 8);\n\t\t}\n\t\tlet n = \"\";\n\t\tthis._castling.w & L.KSIDE_CASTLE && (n += \"K\"), this._castling.w & L.QSIDE_CASTLE && (n += \"Q\"), this._castling.b & L.KSIDE_CASTLE && (n += \"k\"), this._castling.b & L.QSIDE_CASTLE && (n += \"q\"), n ||= \"-\";\n\t\tlet r = \"-\";\n\t\tif (this._epSquare !== P) {\n\t\t\tlet e = this._epSquare + (this._turn === \"w\" ? 16 : -16), t = [e + 1, e - 1];\n\t\t\tfor (let e of t) {\n\t\t\t\tif (e & 136) continue;\n\t\t\t\tlet t = this._turn;\n\t\t\t\tif (this._board[e]?.color === t && this._board[e]?.type === \"p\") {\n\t\t\t\t\tthis._makeMove({\n\t\t\t\t\t\tcolor: t,\n\t\t\t\t\t\tfrom: e,\n\t\t\t\t\t\tto: this._epSquare,\n\t\t\t\t\t\tpiece: \"p\",\n\t\t\t\t\t\tcaptured: \"p\",\n\t\t\t\t\t\tflags: L.EP_CAPTURE\n\t\t\t\t\t});\n\t\t\t\t\tlet n = !this._isKingAttacked(t);\n\t\t\t\t\tif (this._undoMove(), n) {\n\t\t\t\t\t\tr = algebraic(this._epSquare);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn [\n\t\t\tt,\n\t\t\tthis._turn,\n\t\t\tn,\n\t\t\tr,\n\t\t\tthis._halfMoves,\n\t\t\tthis._moveNumber\n\t\t].join(\" \");\n\t}\n\t_updateSetup(e) {\n\t\tthis._history.length > 0 || (e === \"rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1\" ? (delete this._header.SetUp, delete this._header.FEN) : (this._header.SetUp = \"1\", this._header.FEN = e));\n\t}\n\treset() {\n\t\tthis.load(N);\n\t}\n\tget(e) {\n\t\treturn this._board[R[e]];\n\t}\n\tput({ type: e, color: t }, n) {\n\t\treturn this._put({\n\t\t\ttype: e,\n\t\t\tcolor: t\n\t\t}, n) ? (this._updateCastlingRights(), this._updateEnPassantSquare(), this._updateSetup(this.fen()), !0) : !1;\n\t}\n\t_put({ type: e, color: t }, n) {\n\t\tif (W.indexOf(e.toLowerCase()) === -1 || !(n in R)) return !1;\n\t\tlet r = R[n];\n\t\tif (e == \"k\" && !(this._kings[t] == P || this._kings[t] == r)) return !1;\n\t\tlet i = this._board[r];\n\t\treturn i && i.type === \"k\" && (this._kings[i.color] = P), this._board[r] = {\n\t\t\ttype: e,\n\t\t\tcolor: t\n\t\t}, e === \"k\" && (this._kings[t] = r), !0;\n\t}\n\tremove(e) {\n\t\tlet t = this.get(e);\n\t\treturn delete this._board[R[e]], t && t.type === \"k\" && (this._kings[t.color] = P), this._updateCastlingRights(), this._updateEnPassantSquare(), this._updateSetup(this.fen()), t;\n\t}\n\t_updateCastlingRights() {\n\t\tlet e = this._board[R.e1]?.type === \"k\" && this._board[R.e1]?.color === \"w\", t = this._board[R.e8]?.type === \"k\" && this._board[R.e8]?.color === \"b\";\n\t\t(!e || this._board[R.a1]?.type !== \"r\" || this._board[R.a1]?.color !== \"w\") && (this._castling.w &= ~L.QSIDE_CASTLE), (!e || this._board[R.h1]?.type !== \"r\" || this._board[R.h1]?.color !== \"w\") && (this._castling.w &= ~L.KSIDE_CASTLE), (!t || this._board[R.a8]?.type !== \"r\" || this._board[R.a8]?.color !== \"b\") && (this._castling.b &= ~L.QSIDE_CASTLE), (!t || this._board[R.h8]?.type !== \"r\" || this._board[R.h8]?.color !== \"b\") && (this._castling.b &= ~L.KSIDE_CASTLE);\n\t}\n\t_updateEnPassantSquare() {\n\t\tif (this._epSquare === P) return;\n\t\tlet e = this._epSquare + (this._turn === \"w\" ? -16 : 16), t = this._epSquare + (this._turn === \"w\" ? 16 : -16), n = [t + 1, t - 1];\n\t\tif (this._board[e] !== null || this._board[this._epSquare] !== null || this._board[t]?.color !== swapColor$1(this._turn) || this._board[t]?.type !== \"p\") {\n\t\t\tthis._epSquare = P;\n\t\t\treturn;\n\t\t}\n\t\tlet canCapture = (e) => !(e & 136) && this._board[e]?.color === this._turn && this._board[e]?.type === \"p\";\n\t\tn.some(canCapture) || (this._epSquare = P);\n\t}\n\t_attacked(e, t, n) {\n\t\tlet r = [];\n\t\tfor (let i = R.a8; i <= R.h1; i++) {\n\t\t\tif (i & 136) {\n\t\t\t\ti += 7;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (this._board[i] === void 0 || this._board[i].color !== e) continue;\n\t\t\tlet a = this._board[i], o = i - t;\n\t\t\tif (o === 0) continue;\n\t\t\tlet s = o + 119;\n\t\t\tif (V[s] & U[a.type]) {\n\t\t\t\tif (a.type === \"p\") {\n\t\t\t\t\tif (o > 0 && a.color === \"w\" || o <= 0 && a.color === \"b\") if (n) r.push(algebraic(i));\n\t\t\t\t\telse return !0;\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tif (a.type === \"n\" || a.type === \"k\") if (n) {\n\t\t\t\t\tr.push(algebraic(i));\n\t\t\t\t\tcontinue;\n\t\t\t\t} else return !0;\n\t\t\t\tlet e = H[s], c = i + e, l = !1;\n\t\t\t\tfor (; c !== t;) {\n\t\t\t\t\tif (this._board[c] != null) {\n\t\t\t\t\t\tl = !0;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tc += e;\n\t\t\t\t}\n\t\t\t\tif (!l) if (n) {\n\t\t\t\t\tr.push(algebraic(i));\n\t\t\t\t\tcontinue;\n\t\t\t\t} else return !0;\n\t\t\t}\n\t\t}\n\t\treturn n ? r : !1;\n\t}\n\tattackers(e, t) {\n\t\treturn t ? this._attacked(t, R[e], !0) : this._attacked(this._turn, R[e], !0);\n\t}\n\t_isKingAttacked(e) {\n\t\tlet t = this._kings[e];\n\t\treturn t === -1 ? !1 : this._attacked(swapColor$1(e), t);\n\t}\n\tisAttacked(e, t) {\n\t\treturn this._attacked(t, R[e]);\n\t}\n\tisCheck() {\n\t\treturn this._isKingAttacked(this._turn);\n\t}\n\tinCheck() {\n\t\treturn this.isCheck();\n\t}\n\tisCheckmate() {\n\t\treturn this.isCheck() && this._moves().length === 0;\n\t}\n\tisStalemate() {\n\t\treturn !this.isCheck() && this._moves().length === 0;\n\t}\n\tisInsufficientMaterial() {\n\t\tlet e = {\n\t\t\tb: 0,\n\t\t\tn: 0,\n\t\t\tr: 0,\n\t\t\tq: 0,\n\t\t\tk: 0,\n\t\t\tp: 0\n\t\t}, t = [], n = 0, r = 0;\n\t\tfor (let i = R.a8; i <= R.h1; i++) {\n\t\t\tif (r = (r + 1) % 2, i & 136) {\n\t\t\t\ti += 7;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tlet a = this._board[i];\n\t\t\ta && (e[a.type] = a.type in e ? e[a.type] + 1 : 1, a.type === \"b\" && t.push(r), n++);\n\t\t}\n\t\tif (n === 2 || n === 3 && (e.b === 1 || e.n === 1)) return !0;\n\t\tif (n === e.b + 2) {\n\t\t\tlet e = 0, n = t.length;\n\t\t\tfor (let r = 0; r < n; r++) e += t[r];\n\t\t\tif (e === 0 || e === n) return !0;\n\t\t}\n\t\treturn !1;\n\t}\n\tisThreefoldRepetition() {\n\t\treturn this._getPositionCount(this.fen()) >= 3;\n\t}\n\tisDrawByFiftyMoves() {\n\t\treturn this._halfMoves >= 100;\n\t}\n\tisDraw() {\n\t\treturn this.isDrawByFiftyMoves() || this.isStalemate() || this.isInsufficientMaterial() || this.isThreefoldRepetition();\n\t}\n\tisGameOver() {\n\t\treturn this.isCheckmate() || this.isStalemate() || this.isDraw();\n\t}\n\tmoves({ verbose: e = !1, square: t = void 0, piece: n = void 0 } = {}) {\n\t\tlet r = this._moves({\n\t\t\tsquare: t,\n\t\t\tpiece: n\n\t\t});\n\t\treturn e ? r.map((e) => new Move(this, e)) : r.map((e) => this._moveToSan(e, r));\n\t}\n\t_moves({ legal: e = !0, piece: t = void 0, square: n = void 0 } = {}) {\n\t\tlet r = n ? n.toLowerCase() : void 0, i = t?.toLowerCase(), a = [], o = this._turn, s = swapColor$1(o), c = R.a8, l = R.h1, u = !1;\n\t\tif (r) if (r in R) c = l = R[r], u = !0;\n\t\telse return [];\n\t\tfor (let e = c; e <= l; e++) {\n\t\t\tif (e & 136) {\n\t\t\t\te += 7;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (!this._board[e] || this._board[e].color === s) continue;\n\t\t\tlet { type: t } = this._board[e], n;\n\t\t\tif (t === \"p\") {\n\t\t\t\tif (i && i !== t) continue;\n\t\t\t\tn = e + z[o][0], this._board[n] || (addMove(a, o, e, n, \"p\"), n = e + z[o][1], Q[o] === rank(e) && !this._board[n] && addMove(a, o, e, n, \"p\", void 0, L.BIG_PAWN));\n\t\t\t\tfor (let t = 2; t < 4; t++) n = e + z[o][t], !(n & 136) && (this._board[n]?.color === s ? addMove(a, o, e, n, \"p\", this._board[n].type, L.CAPTURE) : n === this._epSquare && addMove(a, o, e, n, \"p\", \"p\", L.EP_CAPTURE));\n\t\t\t} else {\n\t\t\t\tif (i && i !== t) continue;\n\t\t\t\tfor (let r = 0, i = B[t].length; r < i; r++) {\n\t\t\t\t\tlet i = B[t][r];\n\t\t\t\t\tfor (n = e; n += i, !(n & 136);) {\n\t\t\t\t\t\tif (!this._board[n]) addMove(a, o, e, n, t);\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tif (this._board[n].color === o) break;\n\t\t\t\t\t\t\taddMove(a, o, e, n, t, this._board[n].type, L.CAPTURE);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (t === \"n\" || t === \"k\") break;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif ((i === void 0 || i === \"k\") && (!u || l === this._kings[o])) {\n\t\t\tif (this._castling[o] & L.KSIDE_CASTLE) {\n\t\t\t\tlet e = this._kings[o], t = e + 2;\n\t\t\t\t!this._board[e + 1] && !this._board[t] && !this._attacked(s, this._kings[o]) && !this._attacked(s, e + 1) && !this._attacked(s, t) && addMove(a, o, this._kings[o], t, \"k\", void 0, L.KSIDE_CASTLE);\n\t\t\t}\n\t\t\tif (this._castling[o] & L.QSIDE_CASTLE) {\n\t\t\t\tlet e = this._kings[o], t = e - 2;\n\t\t\t\t!this._board[e - 1] && !this._board[e - 2] && !this._board[e - 3] && !this._attacked(s, this._kings[o]) && !this._attacked(s, e - 1) && !this._attacked(s, t) && addMove(a, o, this._kings[o], t, \"k\", void 0, L.QSIDE_CASTLE);\n\t\t\t}\n\t\t}\n\t\tif (!e || this._kings[o] === -1) return a;\n\t\tlet d = [];\n\t\tfor (let e = 0, t = a.length; e < t; e++) this._makeMove(a[e]), this._isKingAttacked(o) || d.push(a[e]), this._undoMove();\n\t\treturn d;\n\t}\n\tmove(e, { strict: t = !1 } = {}) {\n\t\tlet n = null;\n\t\tif (typeof e == \"string\") n = this._moveFromSan(e, t);\n\t\telse if (typeof e == \"object\") {\n\t\t\tlet t = this._moves();\n\t\t\tfor (let r = 0, i = t.length; r < i; r++) if (e.from === algebraic(t[r].from) && e.to === algebraic(t[r].to) && (!(\"promotion\" in t[r]) || e.promotion === t[r].promotion)) {\n\t\t\t\tn = t[r];\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tif (!n) throw typeof e == \"string\" ? Error(`Invalid move: ${e}`) : Error(`Invalid move: ${JSON.stringify(e)}`);\n\t\tlet r = new Move(this, n);\n\t\treturn this._makeMove(n), this._incPositionCount(r.after), r;\n\t}\n\t_push(e) {\n\t\tthis._history.push({\n\t\t\tmove: e,\n\t\t\tkings: {\n\t\t\t\tb: this._kings.b,\n\t\t\t\tw: this._kings.w\n\t\t\t},\n\t\t\tturn: this._turn,\n\t\t\tcastling: {\n\t\t\t\tb: this._castling.b,\n\t\t\t\tw: this._castling.w\n\t\t\t},\n\t\t\tepSquare: this._epSquare,\n\t\t\thalfMoves: this._halfMoves,\n\t\t\tmoveNumber: this._moveNumber\n\t\t});\n\t}\n\t_makeMove(e) {\n\t\tlet t = this._turn, n = swapColor$1(t);\n\t\tif (this._push(e), this._board[e.to] = this._board[e.from], delete this._board[e.from], e.flags & L.EP_CAPTURE && (this._turn === \"b\" ? delete this._board[e.to - 16] : delete this._board[e.to + 16]), e.promotion && (this._board[e.to] = {\n\t\t\ttype: e.promotion,\n\t\t\tcolor: t\n\t\t}), this._board[e.to].type === \"k\") {\n\t\t\tif (this._kings[t] = e.to, e.flags & L.KSIDE_CASTLE) {\n\t\t\t\tlet t = e.to - 1, n = e.to + 1;\n\t\t\t\tthis._board[t] = this._board[n], delete this._board[n];\n\t\t\t} else if (e.flags & L.QSIDE_CASTLE) {\n\t\t\t\tlet t = e.to + 1, n = e.to - 2;\n\t\t\t\tthis._board[t] = this._board[n], delete this._board[n];\n\t\t\t}\n\t\t\tthis._castling[t] = 0;\n\t\t}\n\t\tif (this._castling[t]) {\n\t\t\tfor (let n = 0, r = Z[t].length; n < r; n++) if (e.from === Z[t][n].square && this._castling[t] & Z[t][n].flag) {\n\t\t\t\tthis._castling[t] ^= Z[t][n].flag;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tif (this._castling[n]) {\n\t\t\tfor (let t = 0, r = Z[n].length; t < r; t++) if (e.to === Z[n][t].square && this._castling[n] & Z[n][t].flag) {\n\t\t\t\tthis._castling[n] ^= Z[n][t].flag;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\te.flags & L.BIG_PAWN ? t === \"b\" ? this._epSquare = e.to - 16 : this._epSquare = e.to + 16 : this._epSquare = P, e.piece === \"p\" || e.flags & (L.CAPTURE | L.EP_CAPTURE) ? this._halfMoves = 0 : this._halfMoves++, t === \"b\" && this._moveNumber++, this._turn = n;\n\t}\n\tundo() {\n\t\tlet e = this._undoMove();\n\t\tif (e) {\n\t\t\tlet t = new Move(this, e);\n\t\t\treturn this._decPositionCount(t.after), t;\n\t\t}\n\t\treturn null;\n\t}\n\t_undoMove() {\n\t\tlet e = this._history.pop();\n\t\tif (e === void 0) return null;\n\t\tlet t = e.move;\n\t\tthis._kings = e.kings, this._turn = e.turn, this._castling = e.castling, this._epSquare = e.epSquare, this._halfMoves = e.halfMoves, this._moveNumber = e.moveNumber;\n\t\tlet n = this._turn, r = swapColor$1(n);\n\t\tif (this._board[t.from] = this._board[t.to], this._board[t.from].type = t.piece, delete this._board[t.to], t.captured) if (t.flags & L.EP_CAPTURE) {\n\t\t\tlet e;\n\t\t\te = n === \"b\" ? t.to - 16 : t.to + 16, this._board[e] = {\n\t\t\t\ttype: \"p\",\n\t\t\t\tcolor: r\n\t\t\t};\n\t\t} else this._board[t.to] = {\n\t\t\ttype: t.captured,\n\t\t\tcolor: r\n\t\t};\n\t\tif (t.flags & (L.KSIDE_CASTLE | L.QSIDE_CASTLE)) {\n\t\t\tlet e, n;\n\t\t\tt.flags & L.KSIDE_CASTLE ? (e = t.to + 1, n = t.to - 1) : (e = t.to - 2, n = t.to + 1), this._board[e] = this._board[n], delete this._board[n];\n\t\t}\n\t\treturn t;\n\t}\n\tpgn({ newline: e = \"\\n\", maxWidth: t = 0 } = {}) {\n\t\tlet n = [], r = !1;\n\t\tfor (let t in this._header) n.push(\"[\" + t + \" \\\"\" + this._header[t] + \"\\\"]\" + e), r = !0;\n\t\tr && this._history.length && n.push(e);\n\t\tlet appendComment = (e) => {\n\t\t\tlet t = this._comments[this.fen()];\n\t\t\tif (t !== void 0) {\n\t\t\t\tlet n = e.length > 0 ? \" \" : \"\";\n\t\t\t\te = `${e}${n}{${t}}`;\n\t\t\t}\n\t\t\treturn e;\n\t\t}, i = [];\n\t\tfor (; this._history.length > 0;) i.push(this._undoMove());\n\t\tlet a = [], o = \"\";\n\t\tfor (i.length === 0 && a.push(appendComment(\"\")); i.length > 0;) {\n\t\t\to = appendComment(o);\n\t\t\tlet e = i.pop();\n\t\t\tif (!e) break;\n\t\t\tif (!this._history.length && e.color === \"b\") {\n\t\t\t\tlet e = `${this._moveNumber}. ...`;\n\t\t\t\to = o ? `${o} ${e}` : e;\n\t\t\t} else e.color === \"w\" && (o.length && a.push(o), o = this._moveNumber + \".\");\n\t\t\to = o + \" \" + this._moveToSan(e, this._moves({ legal: !0 })), this._makeMove(e);\n\t\t}\n\t\tif (o.length && a.push(appendComment(o)), this._header.Result !== void 0 && a.push(this._header.Result), t === 0) return n.join(\"\") + a.join(\" \");\n\t\tlet strip = function() {\n\t\t\treturn n.length > 0 && n[n.length - 1] === \" \" ? (n.pop(), !0) : !1;\n\t\t}, wrapComment = function(r, i) {\n\t\t\tfor (let a of i.split(\" \")) if (a) {\n\t\t\t\tif (r + a.length > t) {\n\t\t\t\t\tfor (; strip();) r--;\n\t\t\t\t\tn.push(e), r = 0;\n\t\t\t\t}\n\t\t\t\tn.push(a), r += a.length, n.push(\" \"), r++;\n\t\t\t}\n\t\t\treturn strip() && r--, r;\n\t\t}, s = 0;\n\t\tfor (let r = 0; r < a.length; r++) {\n\t\t\tif (s + a[r].length > t && a[r].includes(\"{\")) {\n\t\t\t\ts = wrapComment(s, a[r]);\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\ts + a[r].length > t && r !== 0 ? (n[n.length - 1] === \" \" && n.pop(), n.push(e), s = 0) : r !== 0 && (n.push(\" \"), s++), n.push(a[r]), s += a[r].length;\n\t\t}\n\t\treturn n.join(\"\");\n\t}\n\theader(...e) {\n\t\tfor (let t = 0; t < e.length; t += 2) typeof e[t] == \"string\" && typeof e[t + 1] == \"string\" && (this._header[e[t]] = e[t + 1]);\n\t\treturn this._header;\n\t}\n\tsetHeader(e, t) {\n\t\treturn this._header[e] = t, this._header;\n\t}\n\tremoveHeader(e) {\n\t\treturn e in this._header ? (delete this._header[e], !0) : !1;\n\t}\n\tgetHeaders() {\n\t\treturn this._header;\n\t}\n\tloadPgn(e, { strict: t = !1, newlineChar: n = \"\\r?\\n\" } = {}) {\n\t\tfunction mask(e) {\n\t\t\treturn e.replace(/\\\\/g, \"\\\\\");\n\t\t}\n\t\tfunction parsePgnHeader(e) {\n\t\t\tlet t = {}, r = e.split(new RegExp(mask(n))), i = \"\", a = \"\";\n\t\t\tfor (let e = 0; e < r.length; e++) {\n\t\t\t\tlet n = /^\\s*\\[\\s*([A-Za-z]+)\\s*\"(.*)\"\\s*\\]\\s*$/;\n\t\t\t\ti = r[e].replace(n, \"$1\"), a = r[e].replace(n, \"$2\"), i.trim().length > 0 && (t[i] = a);\n\t\t\t}\n\t\t\treturn t;\n\t\t}\n\t\te = e.trim();\n\t\tlet r = RegExp(\"^(\\\\[((?:\" + mask(n) + \")|.)*\\\\])((?:\\\\s*\" + mask(n) + \"){2}|(?:\\\\s*\" + mask(n) + \")*$)\").exec(e), i = r && r.length >= 2 ? r[1] : \"\";\n\t\tthis.reset();\n\t\tlet a = parsePgnHeader(i), o = \"\";\n\t\tfor (let e in a) e.toLowerCase() === \"fen\" && (o = a[e]), this.header(e, a[e]);\n\t\tif (!t) o && this.load(o, { preserveHeaders: !0 });\n\t\telse if (a.SetUp === \"1\") {\n\t\t\tif (!(\"FEN\" in a)) throw Error(\"Invalid PGN: FEN tag must be supplied with SetUp tag\");\n\t\t\tthis.load(a.FEN, { preserveHeaders: !0 });\n\t\t}\n\t\tfunction toHex(e) {\n\t\t\treturn Array.from(e).map(function(e) {\n\t\t\t\treturn e.charCodeAt(0) < 128 ? e.charCodeAt(0).toString(16) : encodeURIComponent(e).replace(/%/g, \"\").toLowerCase();\n\t\t\t}).join(\"\");\n\t\t}\n\t\tfunction fromHex(e) {\n\t\t\treturn e.length == 0 ? \"\" : decodeURIComponent(\"%\" + (e.match(/.{1,2}/g) || []).join(\"%\"));\n\t\t}\n\t\tlet encodeComment = function(e) {\n\t\t\treturn e = e.replace(new RegExp(mask(n), \"g\"), \" \"), `{${toHex(e.slice(1, e.length - 1))}}`;\n\t\t}, decodeComment = function(e) {\n\t\t\tif (e.startsWith(\"{\") && e.endsWith(\"}\")) return fromHex(e.slice(1, e.length - 1));\n\t\t}, s = e.replace(i, \"\").replace(RegExp(`({[^}]*})+?|;([^${mask(n)}]*)`, \"g\"), function(e, t, n) {\n\t\t\treturn t === void 0 ? \" \" + encodeComment(`{${n.slice(1)}}`) : encodeComment(t);\n\t\t}).replace(new RegExp(mask(n), \"g\"), \" \"), c = /(\\([^()]+\\))+?/g;\n\t\tfor (; c.test(s);) s = s.replace(c, \"\");\n\t\ts = s.replace(/\\d+\\.(\\.\\.)?/g, \"\"), s = s.replace(/\\.\\.\\./g, \"\"), s = s.replace(/\\$\\d+/g, \"\");\n\t\tlet l = s.trim().split(/* @__PURE__ */ new RegExp(/\\s+/));\n\t\tl = l.filter((e) => e !== \"\");\n\t\tlet u = \"\";\n\t\tfor (let e = 0; e < l.length; e++) {\n\t\t\tlet n = decodeComment(l[e]);\n\t\t\tif (n !== void 0) {\n\t\t\t\tthis._comments[this.fen()] = n;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tlet r = this._moveFromSan(l[e], t);\n\t\t\tif (r == null) if (ee.indexOf(l[e]) > -1) u = l[e];\n\t\t\telse throw Error(`Invalid move in PGN: ${l[e]}`);\n\t\t\telse u = \"\", this._makeMove(r), this._incPositionCount(this.fen());\n\t\t}\n\t\tu && Object.keys(this._header).length && !this._header.Result && this.header(\"Result\", u);\n\t}\n\t_moveToSan(e, t) {\n\t\tlet n = \"\";\n\t\tif (e.flags & L.KSIDE_CASTLE) n = \"O-O\";\n\t\telse if (e.flags & L.QSIDE_CASTLE) n = \"O-O-O\";\n\t\telse {\n\t\t\tif (e.piece !== \"p\") {\n\t\t\t\tlet r = getDisambiguator(e, t);\n\t\t\t\tn += e.piece.toUpperCase() + r;\n\t\t\t}\n\t\t\te.flags & (L.CAPTURE | L.EP_CAPTURE) && (e.piece === \"p\" && (n += algebraic(e.from)[0]), n += \"x\"), n += algebraic(e.to), e.promotion && (n += \"=\" + e.promotion.toUpperCase());\n\t\t}\n\t\treturn this._makeMove(e), this.isCheck() && (this.isCheckmate() ? n += \"#\" : n += \"+\"), this._undoMove(), n;\n\t}\n\t_moveFromSan(e, t = !1) {\n\t\tlet n = strippedSan(e), r = inferPieceType(n), i = this._moves({\n\t\t\tlegal: !0,\n\t\t\tpiece: r\n\t\t});\n\t\tfor (let e = 0, t = i.length; e < t; e++) if (n === strippedSan(this._moveToSan(i[e], i))) return i[e];\n\t\tif (t) return null;\n\t\tlet a, o, s, c, l, u = !1;\n\t\tif (o = n.match(/([pnbrqkPNBRQK])?([a-h][1-8])x?-?([a-h][1-8])([qrbnQRBN])?/), o ? (a = o[1], s = o[2], c = o[3], l = o[4], s.length == 1 && (u = !0)) : (o = n.match(/([pnbrqkPNBRQK])?([a-h]?[1-8]?)x?-?([a-h][1-8])([qrbnQRBN])?/), o && (a = o[1], s = o[2], c = o[3], l = o[4], s.length == 1 && (u = !0))), r = inferPieceType(n), i = this._moves({\n\t\t\tlegal: !0,\n\t\t\tpiece: a || r\n\t\t}), !c) return null;\n\t\tfor (let e = 0, t = i.length; e < t; e++) if (!s) {\n\t\t\tif (n === strippedSan(this._moveToSan(i[e], i)).replace(\"x\", \"\")) return i[e];\n\t\t} else if ((!a || a.toLowerCase() == i[e].piece) && R[s] == i[e].from && R[c] == i[e].to && (!l || l.toLowerCase() == i[e].promotion)) return i[e];\n\t\telse if (u) {\n\t\t\tlet t = algebraic(i[e].from);\n\t\t\tif ((!a || a.toLowerCase() == i[e].piece) && R[c] == i[e].to && (s == t[0] || s == t[1]) && (!l || l.toLowerCase() == i[e].promotion)) return i[e];\n\t\t}\n\t\treturn null;\n\t}\n\tascii() {\n\t\tlet e = \" +------------------------+\\n\";\n\t\tfor (let t = R.a8; t <= R.h1; t++) {\n\t\t\tif (file(t) === 0 && (e += \" \" + \"87654321\"[rank(t)] + \" |\"), this._board[t]) {\n\t\t\t\tlet n = this._board[t].type, r = this._board[t].color === \"w\" ? n.toUpperCase() : n.toLowerCase();\n\t\t\t\te += \" \" + r + \" \";\n\t\t\t} else e += \" . \";\n\t\t\tt + 1 & 136 && (e += \"|\\n\", t += 8);\n\t\t}\n\t\treturn e += \" +------------------------+\\n\", e += \" a b c d e f g h\", e;\n\t}\n\tperft(e) {\n\t\tlet t = this._moves({ legal: !1 }), n = 0, r = this._turn;\n\t\tfor (let i = 0, a = t.length; i < a; i++) this._makeMove(t[i]), this._isKingAttacked(r) || (e - 1 > 0 ? n += this.perft(e - 1) : n++), this._undoMove();\n\t\treturn n;\n\t}\n\tturn() {\n\t\treturn this._turn;\n\t}\n\tboard() {\n\t\tlet e = [], t = [];\n\t\tfor (let n = R.a8; n <= R.h1; n++) this._board[n] == null ? t.push(null) : t.push({\n\t\t\tsquare: algebraic(n),\n\t\t\ttype: this._board[n].type,\n\t\t\tcolor: this._board[n].color\n\t\t}), n + 1 & 136 && (e.push(t), t = [], n += 8);\n\t\treturn e;\n\t}\n\tsquareColor(e) {\n\t\tif (e in R) {\n\t\t\tlet t = R[e];\n\t\t\treturn (rank(t) + file(t)) % 2 == 0 ? \"light\" : \"dark\";\n\t\t}\n\t\treturn null;\n\t}\n\thistory({ verbose: e = !1 } = {}) {\n\t\tlet t = [], n = [];\n\t\tfor (; this._history.length > 0;) t.push(this._undoMove());\n\t\tfor (;;) {\n\t\t\tlet r = t.pop();\n\t\t\tif (!r) break;\n\t\t\te ? n.push(new Move(this, r)) : n.push(this._moveToSan(r, this._moves())), this._makeMove(r);\n\t\t}\n\t\treturn n;\n\t}\n\t_getPositionCount(e) {\n\t\tlet t = trimFen(e);\n\t\treturn this._positionCount[t] || 0;\n\t}\n\t_incPositionCount(e) {\n\t\tlet t = trimFen(e);\n\t\tthis._positionCount[t] === void 0 && (this._positionCount[t] = 0), this._positionCount[t] += 1;\n\t}\n\t_decPositionCount(e) {\n\t\tlet t = trimFen(e);\n\t\tthis._positionCount[t] === 1 ? delete this._positionCount[t] : --this._positionCount[t];\n\t}\n\t_pruneComments() {\n\t\tlet e = [], t = {}, copyComment = (e) => {\n\t\t\te in this._comments && (t[e] = this._comments[e]);\n\t\t};\n\t\tfor (; this._history.length > 0;) e.push(this._undoMove());\n\t\tfor (copyComment(this.fen());;) {\n\t\t\tlet t = e.pop();\n\t\t\tif (!t) break;\n\t\t\tthis._makeMove(t), copyComment(this.fen());\n\t\t}\n\t\tthis._comments = t;\n\t}\n\tgetComment() {\n\t\treturn this._comments[this.fen()];\n\t}\n\tsetComment(e) {\n\t\tthis._comments[this.fen()] = e.replace(\"{\", \"[\").replace(\"}\", \"]\");\n\t}\n\tdeleteComment() {\n\t\treturn this.removeComment();\n\t}\n\tremoveComment() {\n\t\tlet e = this._comments[this.fen()];\n\t\treturn delete this._comments[this.fen()], e;\n\t}\n\tgetComments() {\n\t\treturn this._pruneComments(), Object.keys(this._comments).map((e) => ({\n\t\t\tfen: e,\n\t\t\tcomment: this._comments[e]\n\t\t}));\n\t}\n\tdeleteComments() {\n\t\treturn this.removeComments();\n\t}\n\tremoveComments() {\n\t\treturn this._pruneComments(), Object.keys(this._comments).map((e) => {\n\t\t\tlet t = this._comments[e];\n\t\t\treturn delete this._comments[e], {\n\t\t\t\tfen: e,\n\t\t\t\tcomment: t\n\t\t\t};\n\t\t});\n\t}\n\tsetCastlingRights(e, t) {\n\t\tfor (let n of [\"k\", \"q\"]) t[n] !== void 0 && (t[n] ? this._castling[e] |= X[n] : this._castling[e] &= ~X[n]);\n\t\tthis._updateCastlingRights();\n\t\tlet n = this.getCastlingRights(e);\n\t\treturn (t.k === void 0 || t.k === n.k) && (t.q === void 0 || t.q === n.q);\n\t}\n\tgetCastlingRights(e) {\n\t\treturn {\n\t\t\tk: (this._castling[e] & X.k) !== 0,\n\t\t\tq: (this._castling[e] & X.q) !== 0\n\t\t};\n\t}\n\tmoveNumber() {\n\t\treturn this._moveNumber;\n\t}\n};\n//#endregion\n//#region src/chess/composables/useChessgroundBounds.ts\nfunction useChessgroundBounds(e, t) {\n\tlet n = null, r = h(() => t.value, (t) => {\n\t\t!t || !e.value || (requestAnimationFrame(() => t.redrawAll()), n = new ResizeObserver(() => t.redrawAll()), n.observe(e.value), r());\n\t}, { immediate: !0 });\n\tu(() => {\n\t\tn?.disconnect(), n = null;\n\t});\n}\n//#endregion\n//#region src/chess/questions/puzzle/puzzle.vue?vue&type=script&lang.ts\nvar parseUciMove = (e) => {\n\tif (e.length < 4 || e.length > 5) throw Error(`Invalid UCI move format: ${e}`);\n\treturn {\n\t\tfrom: e.substring(0, 2),\n\t\tto: e.substring(2, 4),\n\t\tpromotion: e.length === 5 ? e[4] : void 0\n\t};\n}, toDests = (e) => {\n\tlet t = /* @__PURE__ */ new Map();\n\treturn I.forEach((n) => {\n\t\tlet r = e.moves({\n\t\t\tsquare: n,\n\t\t\tverbose: !0\n\t\t});\n\t\tr.length && t.set(n, r.map((e) => e.to));\n\t}), t;\n}, swapColor = (e) => e === \"cg-white\" ? \"cg-black\" : \"cg-white\", toColor = (e) => e.turn() === \"w\" ? \"cg-white\" : \"cg-black\", te = c({\n\tname: \"PuzzleView\",\n\tprops: {\n\t\tdata: {\n\t\t\ttype: Array,\n\t\t\trequired: !0\n\t\t},\n\t\tmodifyDifficulty: {\n\t\t\ttype: Number,\n\t\t\trequired: !1,\n\t\t\tdefault: 0\n\t\t}\n\t},\n\tsetup(e, { emit: t }) {\n\t\tlet n = v(e, t, \"PuzzleView\"), r = _(n), a = f(null), o = f(), s = f(), c = f(\"cg-white\"), d = f(!1), p = f(null);\n\t\tuseChessgroundBounds(a, s);\n\t\tlet m = [\n\t\t\t{\n\t\t\t\tvalue: \"q\",\n\t\t\t\tname: \"Queen\",\n\t\t\t\twhiteSymbol: \"♕\",\n\t\t\t\tblackSymbol: \"♛\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: \"r\",\n\t\t\t\tname: \"Rook\",\n\t\t\t\twhiteSymbol: \"♖\",\n\t\t\t\tblackSymbol: \"♜\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: \"b\",\n\t\t\t\tname: \"Bishop\",\n\t\t\t\twhiteSymbol: \"♗\",\n\t\t\t\tblackSymbol: \"♝\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: \"n\",\n\t\t\t\tname: \"Knight\",\n\t\t\t\twhiteSymbol: \"♘\",\n\t\t\t\tblackSymbol: \"♞\"\n\t\t\t}\n\t\t], h = i(() => {\n\t\t\tlet e = [\n\t\t\t\t\"a\",\n\t\t\t\t\"b\",\n\t\t\t\t\"c\",\n\t\t\t\t\"d\",\n\t\t\t\t\"e\",\n\t\t\t\t\"f\",\n\t\t\t\t\"g\",\n\t\t\t\t\"h\"\n\t\t\t];\n\t\t\treturn c.value === \"cg-white\" ? e : e.reverse();\n\t\t}), isPromotionPiece = (e) => e ? [\n\t\t\t\"q\",\n\t\t\t\"r\",\n\t\t\t\"b\",\n\t\t\t\"n\"\n\t\t].includes(e) : !1, isUnfinishedPromotion = (e, t, n) => isPromotionPiece(n) ? !1 : o.value?.get(e)?.type === \"p\" && (t[1] === \"8\" || t[1] === \"1\"), updateChessground = () => {\n\t\t\t!o.value || !s.value || s.value.set({\n\t\t\t\tfen: o.value.fen(),\n\t\t\t\tturnColor: toColor(o.value),\n\t\t\t\tmovable: {\n\t\t\t\t\tcolor: toColor(o.value),\n\t\t\t\t\tdests: toDests(o.value)\n\t\t\t\t}\n\t\t\t});\n\t\t}, handlePromotion = (e) => {\n\t\t\tif (e !== \"q\" && e !== \"r\" && e !== \"b\" && e !== \"n\") {\n\t\t\t\tn.logger.error(`Invalid promotion piece: ${e}`);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tp.value && (n.logger.log(`promoting to ${e}`), d.value = !1, checkMove(p.value.from, p.value.to, e));\n\t\t}, checkMove = (e, t, n) => {\n\t\t\tif (!r.question.value?.moves.length) throw Error(\"No moves\");\n\t\t\tif (isUnfinishedPromotion(e, t, n)) {\n\t\t\t\tp.value = {\n\t\t\t\t\tfrom: e,\n\t\t\t\t\tto: t\n\t\t\t\t}, d.value = !0;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tr.question.value.moves[0] === (isPromotionPiece(n) ? `${e}${t}${n}` : `${e}${t}`) ? (o.value?.move({\n\t\t\t\tfrom: e,\n\t\t\t\tto: t,\n\t\t\t\tpromotion: isPromotionPiece(n) ? n : void 0\n\t\t\t}), updateChessground(), r.question.value.moves.shift(), r.question.value.moves.length === 0 ? r.submitAnswer(\"\") : window.setTimeout(() => {\n\t\t\t\tif (!r.question.value) return;\n\t\t\t\tlet e = parseUciMove(r.question.value.moves.shift());\n\t\t\t\to.value?.move(e), updateChessground();\n\t\t\t}, 300)) : (o.value?.move({\n\t\t\t\tfrom: e,\n\t\t\t\tto: t,\n\t\t\t\tpromotion: n\n\t\t\t}), o.value?.isCheckmate() ? r.submitAnswer($.CHECKMATE) : o.value?.undo(), r.submitAnswer(e + t + n), updateChessground());\n\t\t};\n\t\treturn l(() => {\n\t\t\tif (!a.value) return;\n\t\t\tr.question.value = new $(e.data), o.value = new Chess(r.question.value.fen), c.value = swapColor(toColor(o.value)), s.value = Chessground(a.value, {\n\t\t\t\tmovable: {\n\t\t\t\t\tfree: !1,\n\t\t\t\t\tshowDests: !0,\n\t\t\t\t\tdests: toDests(o.value),\n\t\t\t\t\tevents: { after: checkMove }\n\t\t\t\t},\n\t\t\t\tdraggable: { showGhost: !0 },\n\t\t\t\tfen: o.value.fen(),\n\t\t\t\torientation: c.value,\n\t\t\t\tcoordinates: !1,\n\t\t\t\tanimation: {\n\t\t\t\t\tduration: 300,\n\t\t\t\t\tenabled: !0\n\t\t\t\t}\n\t\t\t});\n\t\t\tlet t = r.question.value.moves.shift();\n\t\t\ts.value.move(t.substring(0, 2), t.substring(2)), o.value.move({\n\t\t\t\tfrom: t.substring(0, 2),\n\t\t\t\tto: t.substring(2)\n\t\t\t}), updateChessground();\n\t\t}), u(() => {\n\t\t\ts.value?.destroy(), o.value = void 0;\n\t\t}), {\n\t\t\tboardElement: a,\n\t\t\tplayerColor: c,\n\t\t\tfiles: h,\n\t\t\tshowPromotionDialog: d,\n\t\t\tpromotionPieces: m,\n\t\t\thandlePromotion,\n\t\t\t...n,\n\t\t\t...r\n\t\t};\n\t}\n}), ne = { \"data-viewable\": \"PuzzleView\" }, re = { class: \"text-h5\" }, ie = { class: \"puzzle-board-wrapper\" }, ae = { class: \"puzzle-ranks-labels\" }, oe = { class: \"puzzle-board-and-files\" }, se = {\n\tid: \"cg\",\n\tref: \"boardElement\"\n}, ce = { class: \"puzzle-files-labels\" }, le = {\n\tkey: 0,\n\tclass: \"puzzle-promotion-dialog\"\n}, ue = [\"onClick\"];\nfunction _sfc_render(e, t, n, i, c, l) {\n\treturn d(), o(\"div\", ne, [\n\t\ts(\"p\", re, \" Make the best move for \" + m(e.playerColor === \"cg-white\" ? \"White ♖♘♗♕♔♗♘♖\" : \"Black ♜♞♝♚♛♝♞♜\") + \": \", 1),\n\t\ts(\"div\", ie, [s(\"div\", ae, [(d(), o(r, null, p(8, (t) => s(\"div\", { key: t }, m(e.playerColor === \"cg-white\" ? 9 - t : t), 1)), 64))]), s(\"div\", oe, [s(\"div\", se, null, 512), s(\"div\", ce, [(d(!0), o(r, null, p(e.files, (e) => (d(), o(\"div\", { key: e }, m(e), 1))), 128))])])]),\n\t\te.showPromotionDialog ? (d(), o(\"div\", le, [(d(!0), o(r, null, p(e.promotionPieces, (t) => (d(), o(\"button\", {\n\t\t\tkey: t.value,\n\t\t\tonClick: (n) => e.handlePromotion(t.value)\n\t\t}, m(e.playerColor === \"cg-white\" ? t.whiteSymbol : t.blackSymbol) + \" \" + m(t.name), 9, ue))), 128))])) : a(\"\", !0)\n\t]);\n}\nvar de = /* @__PURE__ */ t(te, [[\"render\", _sfc_render]]), $ = class ChessPuzzle extends g {\n\tstatic dataShapes = [{\n\t\tname: y.CHESS_puzzle,\n\t\tfields: [{\n\t\t\tname: \"puzzleData\",\n\t\t\ttype: b.CHESS_PUZZLE,\n\t\t\tvalidator: {\n\t\t\t\tinstructions: \"insert a valid fen string\",\n\t\t\t\ttest: function(e) {\n\t\t\t\t\treturn console.log(`running puzzle validator on ${e}`), e ? e.split(\",\").length == 10 ? {\n\t\t\t\t\t\tstatus: x.ok,\n\t\t\t\t\t\tmsg: \"\"\n\t\t\t\t\t} : {\n\t\t\t\t\t\tstatus: x.error,\n\t\t\t\t\t\tmsg: \"puzzleData must have 8 comma-separated fields\"\n\t\t\t\t\t} : {\n\t\t\t\t\t\tstatus: x.error,\n\t\t\t\t\t\tmsg: \"no defined input\"\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t},\n\t\t\ttagger: () => [\"test\"]\n\t\t}]\n\t}];\n\tstatic views = [de];\n\tstatic acceptsUserData = !0;\n\tstatic CHECKMATE = \"CHECKMATE\";\n\tfen;\n\tid;\n\tmoves;\n\trating;\n\tthemes;\n\tconstructor(e) {\n\t\tsuper(e);\n\t\tlet [t, n, r, i, , , , a] = e[0].puzzleData.split(\",\");\n\t\tthis.id = t, this.fen = n, this.moves = r.split(\" \"), this.rating = parseInt(i, 10), this.themes = a.split(\" \");\n\t}\n\tcheckMove = (e, t) => (alert(\"checkMove\"), console.log(\"checkMove\", e, t), console.log(\"this.moves[0]\", this.moves[0]), this.moves[0] === t);\n\tevaluate(e, t) {\n\t\treturn {\n\t\t\tisCorrect: this.isCorrect(e),\n\t\t\tperformance: this.displayedSkill(e, t)\n\t\t};\n\t}\n\tdisplayedSkill(e, t) {\n\t\treturn this.isCorrect(e) ? t < 5e3 ? 1 : 1 - Math.min(1, (t - 5e3) / 1e4) : 0;\n\t}\n\tdataShapes() {\n\t\treturn ChessPuzzle.dataShapes;\n\t}\n\tviews() {\n\t\treturn ChessPuzzle.views;\n\t}\n\tisCorrect(e) {\n\t\tlet t = this.moves.length === 0;\n\t\treturn e === ChessPuzzle.CHECKMATE || t;\n\t}\n}, fe = new n(\"chess\", [$]);\n//#endregion\nexport { fe as t };\n\n//# sourceMappingURL=chess-BbHATAzk.js.map"],"mappings":"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CJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,IACJ,GAAI,IACJ,GAAI,IACJ,GAAI,IACJ,GAAI,IACJ,GAAI,IACJ,GAAI,IACJ,GAAI,IACJ,GAAI,IACJ,GAAI,IACJ,GAAI,IACJ,GAAI,IACJ,CAAE,EAAI,CACN,EAAG,CACF,GACA,GACA,GACA,GACA,CACD,EAAG,CACF,IACA,IACA,IACA,IACA,CACD,CAAE,EAAI,CACN,EAAG,CACF,IACA,IACA,IACA,IACA,GACA,GACA,GACA,GACA,CACD,EAAG,CACF,IACA,IACA,GACA,GACA,CACD,EAAG,CACF,IACA,EACA,GACA,GACA,CACD,EAAG,CACF,IACA,IACA,IACA,EACA,GACA,GACA,GACA,GACA,CACD,EAAG,CACF,IACA,IACA,IACA,EACA,GACA,GACA,GACA,GACA,CACD,CAAE,EAAI,CACN,GACA,EACA,EACA,EACA,EACA,EACA,EACA,GACA,EACA,EACA,EACA,EACA,EACA,EACA,GACA,EACA,EACA,GACA,EACA,EACA,EACA,EACA,EACA,GACA,EACA,EACA,EACA,EACA,EACA,GACA,EACA,EACA,EACA,EACA,GACA,EACA,EACA,EACA,EACA,GACA,EACA,EACA,EACA,EACA,GACA,EACA,EACA,EACA,EACA,EACA,EACA,GACA,EACA,EACA,EACA,GACA,EACA,EACA,EACA,GACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GACA,EACA,EACA,GACA,EACA,EACA,GACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GACA,EACA,GACA,EACA,GACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GACA,GACA,GACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,EACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GACA,GACA,GACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GACA,EACA,GACA,EACA,GACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GACA,EACA,EACA,GACA,EACA,EACA,GACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GACA,EACA,EACA,EACA,GACA,EACA,EACA,EACA,GACA,EACA,EACA,EACA,EACA,EACA,EACA,GACA,EACA,EACA,EACA,EACA,GACA,EACA,EACA,EACA,EACA,GACA,EACA,EACA,EACA,EACA,GACA,EACA,EACA,EACA,EACA,EACA,GACA,EACA,EACA,EACA,EACA,EACA,GACA,EACA,EACA,GACA,EACA,EACA,EACA,EACA,EACA,EACA,GACA,EACA,EACA,EACA,EACA,EACA,EACA,GACA,CAAE,EAAI,CACN,GACA,EACA,EACA,EACA,EACA,EACA,EACA,GACA,EACA,EACA,EACA,EACA,EACA,EACA,GACA,EACA,EACA,GACA,EACA,EACA,EACA,EACA,EACA,GACA,EACA,EACA,EACA,EACA,EACA,GACA,EACA,EACA,EACA,EACA,GACA,EACA,EACA,EACA,EACA,GACA,EACA,EACA,EACA,EACA,GACA,EACA,EACA,EACA,EACA,EACA,EACA,GACA,EACA,EACA,EACA,GACA,EACA,EACA,EACA,GACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GACA,EACA,EACA,GACA,EACA,EACA,GACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GACA,EACA,GACA,EACA,GACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GACA,GACA,GACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,IACA,IACA,IACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,IACA,EACA,IACA,EACA,IACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,IACA,EACA,EACA,IACA,EACA,EACA,IACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,IACA,EACA,EACA,EACA,IACA,EACA,EACA,EACA,IACA,EACA,EACA,EACA,EACA,EACA,EACA,IACA,EACA,EACA,EACA,EACA,IACA,EACA,EACA,EACA,EACA,IACA,EACA,EACA,EACA,EACA,IACA,EACA,EACA,EACA,EACA,EACA,IACA,EACA,EACA,EACA,EACA,EACA,IACA,EACA,EACA,IACA,EACA,EACA,EACA,EACA,EACA,EACA,IACA,EACA,EACA,EACA,EACA,EACA,EACA,IACA,CAAE,EAAI,CACN,EAAG,EACH,EAAG,EACH,EAAG,EACH,EAAG,EACH,EAAG,GACH,EAAG,GACH,CAAE,EAAI,eAAgB,EAAI,CAC1B,IACA,IACA,IACA,IACA,CAAE,EAAI,EAAG,EAAI,EAAG,EAAI,EAAG,EAAI,EAAG,EAAI,CAClC,EAAG,EAAE,aACL,EAAG,EAAE,aACL,CAAE,EAAI,CACN,EAAG,CAAC,CACH,OAAQ,EAAE,GACV,KAAM,EAAE,aACR,CAAE,CACF,OAAQ,EAAE,GACV,KAAM,EAAE,aACR,CAAC,CACF,EAAG,CAAC,CACH,OAAQ,EAAE,GACV,KAAM,EAAE,aACR,CAAE,CACF,OAAQ,EAAE,GACV,KAAM,EAAE,aACR,CAAC,CACF,CAAE,GAAI,CACN,EAAG,EACH,EAAG,EACH,CAAE,GAAK,CACP,MACA,MACA,UACA,IACA,CACD,SAAS,KAAK,EAAG,CAChB,OAAO,GAAK,EAEb,SAAS,KAAK,EAAG,CAC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"}
|