@orbit-software/sdk 1.10.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.
Files changed (189) hide show
  1. package/dist/esm/Overlay.d.ts +2 -0
  2. package/dist/esm/app/helpers.d.ts +2 -0
  3. package/dist/esm/app/ui/assets/IconBack.d.ts +1 -0
  4. package/dist/esm/app/ui/assets/IconClosePlain.d.ts +3 -0
  5. package/dist/esm/app/ui/components/AvatarProgress.d.ts +13 -0
  6. package/dist/esm/app/ui/components/ClosableModal.d.ts +11 -0
  7. package/dist/esm/app/ui/components/IconBalance.d.ts +3 -0
  8. package/dist/esm/app/ui/components/InputSwitch.d.ts +9 -0
  9. package/dist/esm/app/ui/components/Inventory/Inventory.d.ts +2 -0
  10. package/dist/esm/app/ui/components/Inventory/context.d.ts +10 -0
  11. package/dist/esm/app/ui/components/XsButton.d.ts +6 -0
  12. package/dist/esm/app/ui/hooks/useAnimateNumber.d.ts +1 -0
  13. package/dist/esm/app/utils.d.ts +2 -0
  14. package/dist/esm/boolean-D78EXBUO.mjs +1986 -0
  15. package/dist/esm/bootstrap.d.ts +1 -0
  16. package/dist/esm/features/profile/assets/IconAd.d.ts +1 -0
  17. package/dist/esm/features/profile/assets/IconAddCircle.d.ts +1 -0
  18. package/dist/esm/features/profile/assets/IconCurrencyStar.d.ts +3 -0
  19. package/dist/esm/features/profile/assets/IconDrag.d.ts +2 -0
  20. package/dist/esm/features/profile/assets/IconEdit.d.ts +2 -0
  21. package/dist/esm/features/profile/assets/IconGame.d.ts +2 -0
  22. package/dist/esm/features/profile/assets/IconNoSign.d.ts +1 -0
  23. package/dist/esm/features/profile/assets/IconProfile.d.ts +1 -0
  24. package/dist/esm/features/profile/assets/moneyTongue.json.d.ts +3 -0
  25. package/dist/esm/features/profile/assets/newspaper.json.d.ts +3 -0
  26. package/dist/esm/features/profile/assets/profileBgGradients.d.ts +6 -0
  27. package/dist/esm/features/profile/components/Avatars.d.ts +8 -0
  28. package/dist/esm/features/profile/components/BalanceConfetti.d.ts +6 -0
  29. package/dist/esm/features/profile/components/BuyMenu.d.ts +8 -0
  30. package/dist/esm/features/profile/components/CircleParticles.d.ts +10 -0
  31. package/dist/esm/features/profile/components/FormattedXP.d.ts +8 -0
  32. package/dist/esm/features/profile/components/LevelInfoModal.d.ts +9 -0
  33. package/dist/esm/features/profile/components/ModalContainer.d.ts +6 -0
  34. package/dist/esm/features/profile/components/OverlayProfile.d.ts +8 -0
  35. package/dist/esm/features/profile/components/Profile.d.ts +3 -0
  36. package/dist/esm/features/profile/components/PurchaseConfirm.d.ts +9 -0
  37. package/dist/esm/features/profile/components/Ribbon.d.ts +6 -0
  38. package/dist/esm/features/profile/components/StarParticles.d.ts +10 -0
  39. package/dist/esm/features/profile/components/TaskCard.d.ts +21 -0
  40. package/dist/esm/features/profile/components/XpProgress.d.ts +14 -0
  41. package/dist/esm/features/profile/hooks/useAnimatedProfile.d.ts +5 -0
  42. package/dist/esm/gaussian-splat-compression-CzzkTP3L.mjs +1632 -0
  43. package/dist/esm/hooks/useForceRerender.d.ts +1 -0
  44. package/dist/esm/hooks/useMiniApp.d.ts +3 -0
  45. package/dist/esm/howler-Mh6LB0k5.mjs +572 -0
  46. package/dist/esm/i18n/index.d.ts +2 -0
  47. package/dist/esm/i18n/locales/translations/en.json.d.ts +213 -0
  48. package/dist/esm/i18n/locales/translations/ru.json.d.ts +210 -0
  49. package/dist/esm/launcherSrc/App.d.ts +2 -0
  50. package/dist/esm/launcherSrc/api/client.d.ts +3 -0
  51. package/dist/esm/launcherSrc/api/types.d.ts +181 -0
  52. package/dist/esm/launcherSrc/api/userApi.d.ts +22 -0
  53. package/dist/esm/launcherSrc/app/components/DebugConsole.d.ts +2 -0
  54. package/dist/esm/launcherSrc/app/contexts/SnackbarContext.d.ts +18 -0
  55. package/dist/esm/launcherSrc/app/helpers.d.ts +5 -0
  56. package/dist/esm/launcherSrc/app/hooks/forceRerender.d.ts +1 -0
  57. package/dist/esm/launcherSrc/app/hooks/useMainButtonControl.d.ts +7 -0
  58. package/dist/esm/launcherSrc/app/hooks/useMiniApp.d.ts +3 -0
  59. package/dist/esm/launcherSrc/app/hooks.d.ts +11 -0
  60. package/dist/esm/launcherSrc/app/store.d.ts +19 -0
  61. package/dist/esm/launcherSrc/app/ui/assets/IconBack.d.ts +1 -0
  62. package/dist/esm/launcherSrc/app/ui/assets/IconCheck.d.ts +2 -0
  63. package/dist/esm/launcherSrc/app/ui/assets/IconCheckThin.d.ts +2 -0
  64. package/dist/esm/launcherSrc/app/ui/assets/IconCross.d.ts +2 -0
  65. package/dist/esm/launcherSrc/app/ui/assets/IconSearch.d.ts +2 -0
  66. package/dist/esm/launcherSrc/app/ui/components/AvatarProgress.d.ts +13 -0
  67. package/dist/esm/launcherSrc/app/ui/components/ClosableModal.d.ts +10 -0
  68. package/dist/esm/launcherSrc/app/ui/components/FormattedXP.d.ts +8 -0
  69. package/dist/esm/launcherSrc/app/ui/components/IconBalance.d.ts +3 -0
  70. package/dist/esm/launcherSrc/app/ui/components/InputSwitch.d.ts +9 -0
  71. package/dist/esm/launcherSrc/app/ui/components/Twemoji.d.ts +8 -0
  72. package/dist/esm/launcherSrc/app/ui/components/UICell.d.ts +16 -0
  73. package/dist/esm/launcherSrc/app/ui/components/UIDateInput.d.ts +21 -0
  74. package/dist/esm/launcherSrc/app/ui/components/UIDivider.d.ts +4 -0
  75. package/dist/esm/launcherSrc/app/ui/components/UIEmoji.d.ts +8 -0
  76. package/dist/esm/launcherSrc/app/ui/components/UIHero.d.ts +10 -0
  77. package/dist/esm/launcherSrc/app/ui/components/UISection.d.ts +9 -0
  78. package/dist/esm/launcherSrc/app/ui/components/UITextarea.d.ts +7 -0
  79. package/dist/esm/launcherSrc/app/ui/components/XpProgress.d.ts +13 -0
  80. package/dist/esm/launcherSrc/app/ui/components/XsButton.d.ts +6 -0
  81. package/dist/esm/launcherSrc/app/ui/hooks/useAnimateNumber.d.ts +1 -0
  82. package/dist/esm/launcherSrc/app/utils.d.ts +13 -0
  83. package/dist/esm/launcherSrc/assets/Icon28Edit.d.ts +2 -0
  84. package/dist/esm/launcherSrc/assets/Icon28Game.d.ts +1 -0
  85. package/dist/esm/launcherSrc/assets/Icon28Link.d.ts +1 -0
  86. package/dist/esm/launcherSrc/features/admin/components/Admin.d.ts +3 -0
  87. package/dist/esm/launcherSrc/features/admin/components/OverlayControl.d.ts +2 -0
  88. package/dist/esm/launcherSrc/features/games/assets/IconFilter.d.ts +1 -0
  89. package/dist/esm/launcherSrc/features/games/assets/IconPlayers.d.ts +2 -0
  90. package/dist/esm/launcherSrc/features/games/assets/IconQuestion.d.ts +2 -0
  91. package/dist/esm/launcherSrc/features/games/assets/IconQuestionCircle.d.ts +2 -0
  92. package/dist/esm/launcherSrc/features/games/assets/IconStar.d.ts +4 -0
  93. package/dist/esm/launcherSrc/features/games/assets/IconThumbsDownFilled.d.ts +2 -0
  94. package/dist/esm/launcherSrc/features/games/assets/IconThumbsDownOutlined.d.ts +2 -0
  95. package/dist/esm/launcherSrc/features/games/assets/IconThumbsUpFilled.d.ts +2 -0
  96. package/dist/esm/launcherSrc/features/games/assets/IconThumbsUpOutlined.d.ts +2 -0
  97. package/dist/esm/launcherSrc/features/games/components/GameItem.d.ts +10 -0
  98. package/dist/esm/launcherSrc/features/games/components/GamePage/GamePage.d.ts +6 -0
  99. package/dist/esm/launcherSrc/features/games/components/GamePage/GameReview.d.ts +10 -0
  100. package/dist/esm/launcherSrc/features/games/components/GamePage/GameReviews.d.ts +9 -0
  101. package/dist/esm/launcherSrc/features/games/components/Games.d.ts +3 -0
  102. package/dist/esm/launcherSrc/features/games/components/ResetStorageButton.d.ts +3 -0
  103. package/dist/esm/launcherSrc/features/games/components/ReviewModal.d.ts +10 -0
  104. package/dist/esm/launcherSrc/features/games/hooks/useGamesData.d.ts +13 -0
  105. package/dist/esm/launcherSrc/features/games/redux/gamesSlice.d.ts +34 -0
  106. package/dist/esm/launcherSrc/features/games/service/gamesService.d.ts +3 -0
  107. package/dist/esm/launcherSrc/features/leaderboard/components/Rating.d.ts +1 -0
  108. package/dist/esm/launcherSrc/features/leaderboard/components/RatingCard/RatingCard.d.ts +10 -0
  109. package/dist/esm/launcherSrc/features/leaderboard/components/RatingInfo/RatingInfo.d.ts +1 -0
  110. package/dist/esm/launcherSrc/features/leaderboard/components/RatingLevel/IconWreaths.d.ts +3 -0
  111. package/dist/esm/launcherSrc/features/leaderboard/components/RatingLevel/RatingLevel.d.ts +6 -0
  112. package/dist/esm/launcherSrc/features/leaderboard/components/RatingLevel/lock.d.ts +3 -0
  113. package/dist/esm/launcherSrc/features/leaderboard/hooks/useLeaderboardData.d.ts +10 -0
  114. package/dist/esm/launcherSrc/features/leaderboard/index.d.ts +1 -0
  115. package/dist/esm/launcherSrc/features/leaderboard/redux/leaderboardSlice.d.ts +18 -0
  116. package/dist/esm/launcherSrc/features/leaderboard/services/leaderboardService.d.ts +2 -0
  117. package/dist/esm/launcherSrc/features/navigation/assets/IconGame.d.ts +1 -0
  118. package/dist/esm/launcherSrc/features/navigation/assets/IconProfile.d.ts +1 -0
  119. package/dist/esm/launcherSrc/features/navigation/assets/IconSmile.d.ts +2 -0
  120. package/dist/esm/launcherSrc/features/navigation/components/FloatingProfile.d.ts +2 -0
  121. package/dist/esm/launcherSrc/features/navigation/components/IconWithCounter.d.ts +7 -0
  122. package/dist/esm/launcherSrc/features/navigation/redux/navigationSlice.d.ts +15 -0
  123. package/dist/esm/launcherSrc/features/navigation/redux/tabsSlice.d.ts +12 -0
  124. package/dist/esm/launcherSrc/features/profile/assets/IconAd.d.ts +1 -0
  125. package/dist/esm/launcherSrc/features/profile/assets/IconAddCircle.d.ts +1 -0
  126. package/dist/esm/launcherSrc/features/profile/assets/IconChevronRight.d.ts +2 -0
  127. package/dist/esm/launcherSrc/features/profile/assets/IconColorPicker.d.ts +1 -0
  128. package/dist/esm/launcherSrc/features/profile/assets/IconCurrencyStar.d.ts +3 -0
  129. package/dist/esm/launcherSrc/features/profile/assets/IconGlobe.d.ts +2 -0
  130. package/dist/esm/launcherSrc/features/profile/assets/IconLock.d.ts +2 -0
  131. package/dist/esm/launcherSrc/features/profile/assets/IconNoSign.d.ts +1 -0
  132. package/dist/esm/launcherSrc/features/profile/assets/IconSignature.d.ts +5 -0
  133. package/dist/esm/launcherSrc/features/profile/assets/profileBgGradients.d.ts +50 -0
  134. package/dist/esm/launcherSrc/features/profile/components/AdsFree/BuyAdsFreeButton.d.ts +3 -0
  135. package/dist/esm/launcherSrc/features/profile/components/AdsFree/PurchaseAdsFree.d.ts +9 -0
  136. package/dist/esm/launcherSrc/features/profile/components/Avatars/AvatarCreation.d.ts +2 -0
  137. package/dist/esm/launcherSrc/features/profile/components/Avatars/Avatars.d.ts +11 -0
  138. package/dist/esm/launcherSrc/features/profile/components/Avatars/EditAvatarButton.d.ts +1 -0
  139. package/dist/esm/launcherSrc/features/profile/components/Balance/ProfileBalance.d.ts +6 -0
  140. package/dist/esm/launcherSrc/features/profile/components/Balance/TopUpModal/BuyMenu.d.ts +8 -0
  141. package/dist/esm/launcherSrc/features/profile/components/Balance/TopUpModal/BuyOption.d.ts +10 -0
  142. package/dist/esm/launcherSrc/features/profile/components/Balance/TopUpModal/Ribbon.d.ts +6 -0
  143. package/dist/esm/launcherSrc/features/profile/components/BoxOpeningModal.d.ts +3 -0
  144. package/dist/esm/launcherSrc/features/profile/components/DailyModal.d.ts +3 -0
  145. package/dist/esm/launcherSrc/features/profile/components/FIllProfile/FIllBirthdate.d.ts +3 -0
  146. package/dist/esm/launcherSrc/features/profile/components/FIllProfile/FillCountry.d.ts +3 -0
  147. package/dist/esm/launcherSrc/features/profile/components/FIllProfile/FillEmail.d.ts +3 -0
  148. package/dist/esm/launcherSrc/features/profile/components/FIllProfile/FillProfile.d.ts +3 -0
  149. package/dist/esm/launcherSrc/features/profile/components/FIllProfile/FillProfileLayout.d.ts +4 -0
  150. package/dist/esm/launcherSrc/features/profile/components/LevelInfoModal.d.ts +9 -0
  151. package/dist/esm/launcherSrc/features/profile/components/Profile.d.ts +3 -0
  152. package/dist/esm/launcherSrc/features/profile/components/ProfileGames.d.ts +6 -0
  153. package/dist/esm/launcherSrc/features/profile/components/ProfileInventory.d.ts +2 -0
  154. package/dist/esm/launcherSrc/features/profile/components/ProfileLeaderboard.d.ts +6 -0
  155. package/dist/esm/launcherSrc/features/profile/components/ProfileReviews.d.ts +6 -0
  156. package/dist/esm/launcherSrc/features/profile/components/ProfileTrophies.d.ts +2 -0
  157. package/dist/esm/launcherSrc/features/profile/components/Tasks/TaskCard.d.ts +24 -0
  158. package/dist/esm/launcherSrc/features/profile/components/Tasks/Tasks.d.ts +2 -0
  159. package/dist/esm/launcherSrc/features/profile/components/particles/BalanceConfetti.d.ts +6 -0
  160. package/dist/esm/launcherSrc/features/profile/components/particles/CircleParticles.d.ts +10 -0
  161. package/dist/esm/launcherSrc/features/profile/components/particles/ConfettiParticles.d.ts +10 -0
  162. package/dist/esm/launcherSrc/features/profile/components/particles/StarParticles.d.ts +10 -0
  163. package/dist/esm/launcherSrc/features/profile/contexts/BoxOpeningContext.d.ts +12 -0
  164. package/dist/esm/launcherSrc/features/profile/data/countries.d.ts +10 -0
  165. package/dist/esm/launcherSrc/features/profile/hooks/useProfileData.d.ts +26 -0
  166. package/dist/esm/launcherSrc/features/profile/redux/profileSlice.d.ts +131 -0
  167. package/dist/esm/launcherSrc/features/profile/redux/shopSlice.d.ts +18 -0
  168. package/dist/esm/launcherSrc/features/profile/services/buyMenuService.d.ts +1 -0
  169. package/dist/esm/launcherSrc/features/profile/services/profileService.d.ts +12 -0
  170. package/dist/esm/launcherSrc/features/profile/services/shopService.d.ts +2 -0
  171. package/dist/esm/launcherSrc/i18n/index.d.ts +2 -0
  172. package/dist/esm/launcherSrc/index.d.ts +0 -0
  173. package/dist/esm/launcherSrc/setupTests.d.ts +0 -0
  174. package/dist/esm/launcherSrc/utils/openTelegramLinkFixed.d.ts +1 -0
  175. package/dist/esm/navmesh-BbINhDrO.mjs +1336 -0
  176. package/dist/esm/opentype-PR7hcvG5.mjs +4286 -0
  177. package/dist/esm/physics-B9pWoHiG.mjs +4375 -0
  178. package/dist/esm/process-DGf1Bnd3.mjs +2274 -0
  179. package/dist/esm/sdk-4y_oRGP7.mjs +76474 -0
  180. package/dist/esm/sdk.d.ts +130 -0
  181. package/dist/esm/sdk.mjs +9 -0
  182. package/dist/esm/sdk.umd.js +8382 -0
  183. package/dist/esm/stores/profileStore.d.ts +16 -0
  184. package/dist/esm/ui-C32u2WA-.mjs +2678 -0
  185. package/dist/esm/utils/global.d.ts +1 -0
  186. package/dist/umd/sdk.umd.js +8382 -0
  187. package/dist/umd_react/sdk_react.umd.js +8562 -0
  188. package/index.html +13 -0
  189. package/package.json +96 -0
@@ -0,0 +1,1986 @@
1
+ var tn = (() => {
2
+ var Tr = typeof document < "u" && document.currentScript ? document.currentScript.src : void 0;
3
+ return function(Cr = {}) {
4
+ var f = Cr, Mr, ar;
5
+ f.ready = new Promise((r, e) => {
6
+ Mr = r, ar = e;
7
+ });
8
+ var Rr = Object.assign({}, f), Or = "./this.program", we = !0, N = "";
9
+ function _e(r) {
10
+ return f.locateFile ? f.locateFile(r, N) : N + r;
11
+ }
12
+ var gr, Ur;
13
+ typeof document < "u" && document.currentScript && (N = document.currentScript.src), Tr && (N = Tr), N.indexOf("blob:") !== 0 ? N = N.substr(0, N.replace(/[?#].*/, "").lastIndexOf("/") + 1) : N = "", gr = (r) => {
14
+ var e = new XMLHttpRequest();
15
+ return e.open("GET", r, !1), e.send(null), e.responseText;
16
+ }, Ur = (r, e, t) => {
17
+ var n = new XMLHttpRequest();
18
+ n.open("GET", r, !0), n.responseType = "arraybuffer", n.onload = () => {
19
+ if (n.status == 200 || n.status == 0 && n.response) {
20
+ e(n.response);
21
+ return;
22
+ }
23
+ t();
24
+ }, n.onerror = t, n.send(null);
25
+ };
26
+ var wr = f.print || console.log.bind(console), $ = f.printErr || console.error.bind(console);
27
+ Object.assign(f, Rr), Rr = null, f.arguments && f.arguments, f.thisProgram && (Or = f.thisProgram), f.quit && f.quit;
28
+ var Q;
29
+ f.wasmBinary && (Q = f.wasmBinary), typeof WebAssembly != "object" && G("no native wasm support detected");
30
+ var ir, Wr = !1;
31
+ function Ee(r, e) {
32
+ r || G(e);
33
+ }
34
+ var M, O, X, rr, _, k, jr, Lr;
35
+ function zr() {
36
+ var r = ir.buffer;
37
+ f.HEAP8 = M = new Int8Array(r), f.HEAP16 = X = new Int16Array(r), f.HEAPU8 = O = new Uint8Array(r), f.HEAPU16 = rr = new Uint16Array(r), f.HEAP32 = _ = new Int32Array(r), f.HEAPU32 = k = new Uint32Array(r), f.HEAPF32 = jr = new Float32Array(r), f.HEAPF64 = Lr = new Float64Array(r);
38
+ }
39
+ var Nr = [], xr = [], Hr = [];
40
+ function ke() {
41
+ if (f.preRun)
42
+ for (typeof f.preRun == "function" && (f.preRun = [f.preRun]); f.preRun.length; )
43
+ Ae(f.preRun.shift());
44
+ Er(Nr);
45
+ }
46
+ function be() {
47
+ !f.noFSInit && !o.init.initialized && o.init(), o.ignorePermissions = !1, Er(xr);
48
+ }
49
+ function Fe() {
50
+ if (f.postRun)
51
+ for (typeof f.postRun == "function" && (f.postRun = [f.postRun]); f.postRun.length; )
52
+ Se(f.postRun.shift());
53
+ Er(Hr);
54
+ }
55
+ function Ae(r) {
56
+ Nr.unshift(r);
57
+ }
58
+ function De(r) {
59
+ xr.unshift(r);
60
+ }
61
+ function Se(r) {
62
+ Hr.unshift(r);
63
+ }
64
+ var Y = 0, er = null;
65
+ function en(r) {
66
+ return r;
67
+ }
68
+ function _r(r) {
69
+ Y++, f.monitorRunDependencies && f.monitorRunDependencies(Y);
70
+ }
71
+ function sr(r) {
72
+ if (Y--, f.monitorRunDependencies && f.monitorRunDependencies(Y), Y == 0 && er) {
73
+ var e = er;
74
+ er = null, e();
75
+ }
76
+ }
77
+ function G(r) {
78
+ f.onAbort && f.onAbort(r), r = "Aborted(" + r + ")", $(r), Wr = !0, r += ". Build with -sASSERTIONS for more info.";
79
+ var e = new WebAssembly.RuntimeError(r);
80
+ throw ar(e), e;
81
+ }
82
+ var Pe = "data:application/octet-stream;base64,", Br = (r) => r.startsWith(Pe), K;
83
+ K = "boolean.wasm", Br(K) || (K = _e(K));
84
+ function $r(r) {
85
+ if (r == K && Q)
86
+ return new Uint8Array(Q);
87
+ throw "both async and sync fetching of the wasm failed";
88
+ }
89
+ function Te(r) {
90
+ return !Q && we && typeof fetch == "function" ? fetch(r, { credentials: "same-origin" }).then((e) => {
91
+ if (!e.ok)
92
+ throw "failed to load wasm binary file at '" + r + "'";
93
+ return e.arrayBuffer();
94
+ }).catch(() => $r(r)) : Promise.resolve().then(() => $r(r));
95
+ }
96
+ function Ir(r, e, t) {
97
+ return Te(r).then((n) => WebAssembly.instantiate(n, e)).then((n) => n).then(t, (n) => {
98
+ $(`failed to asynchronously prepare wasm: ${n}`), G(n);
99
+ });
100
+ }
101
+ function Ce(r, e, t, n) {
102
+ return !r && typeof WebAssembly.instantiateStreaming == "function" && !Br(e) && typeof fetch == "function" ? fetch(e, { credentials: "same-origin" }).then((a) => {
103
+ var i = WebAssembly.instantiateStreaming(a, t);
104
+ return i.then(n, function(s) {
105
+ return $(`wasm streaming compile failed: ${s}`), $("falling back to ArrayBuffer instantiation"), Ir(e, t, n);
106
+ });
107
+ }) : Ir(e, t, n);
108
+ }
109
+ function Me() {
110
+ var r = { a: rn };
111
+ function e(n, a) {
112
+ return R = n.exports, ir = R.A, zr(), te = R.C, De(R.B), sr(), R;
113
+ }
114
+ _r();
115
+ function t(n) {
116
+ e(n.instance);
117
+ }
118
+ if (f.instantiateWasm)
119
+ try {
120
+ return f.instantiateWasm(r, e);
121
+ } catch (n) {
122
+ $(`Module.instantiateWasm callback failed with error: ${n}`), ar(n);
123
+ }
124
+ return Ce(Q, K, r, t).catch(ar), {};
125
+ }
126
+ var E, T, Er = (r) => {
127
+ for (; r.length > 0; )
128
+ r.shift()(f);
129
+ };
130
+ f.noExitRuntime;
131
+ function Re(r) {
132
+ this.excPtr = r, this.ptr = r - 24, this.set_type = function(e) {
133
+ k[this.ptr + 4 >> 2] = e;
134
+ }, this.get_type = function() {
135
+ return k[this.ptr + 4 >> 2];
136
+ }, this.set_destructor = function(e) {
137
+ k[this.ptr + 8 >> 2] = e;
138
+ }, this.get_destructor = function() {
139
+ return k[this.ptr + 8 >> 2];
140
+ }, this.set_caught = function(e) {
141
+ e = e ? 1 : 0, M[this.ptr + 12 >> 0] = e;
142
+ }, this.get_caught = function() {
143
+ return M[this.ptr + 12 >> 0] != 0;
144
+ }, this.set_rethrown = function(e) {
145
+ e = e ? 1 : 0, M[this.ptr + 13 >> 0] = e;
146
+ }, this.get_rethrown = function() {
147
+ return M[this.ptr + 13 >> 0] != 0;
148
+ }, this.init = function(e, t) {
149
+ this.set_adjusted_ptr(0), this.set_type(e), this.set_destructor(t);
150
+ }, this.set_adjusted_ptr = function(e) {
151
+ k[this.ptr + 16 >> 2] = e;
152
+ }, this.get_adjusted_ptr = function() {
153
+ return k[this.ptr + 16 >> 2];
154
+ }, this.get_exception_ptr = function() {
155
+ var e = ye(this.get_type());
156
+ if (e)
157
+ return k[this.excPtr >> 2];
158
+ var t = this.get_adjusted_ptr();
159
+ return t !== 0 ? t : this.excPtr;
160
+ };
161
+ }
162
+ var Yr = 0, Oe = (r, e, t) => {
163
+ var n = new Re(r);
164
+ throw n.init(e, t), Yr = r, Yr;
165
+ }, ur = {}, Vr = (r) => {
166
+ for (; r.length; ) {
167
+ var e = r.pop(), t = r.pop();
168
+ t(e);
169
+ }
170
+ };
171
+ function kr(r) {
172
+ return this.fromWireType(_[r >> 2]);
173
+ }
174
+ var J = {}, V = {}, lr = {}, qr, Xr = (r) => {
175
+ throw new qr(r);
176
+ }, Gr = (r, e, t) => {
177
+ r.forEach(function(u) {
178
+ lr[u] = e;
179
+ });
180
+ function n(u) {
181
+ var l = t(u);
182
+ l.length !== r.length && Xr("Mismatched type converter count");
183
+ for (var c = 0; c < r.length; ++c)
184
+ z(r[c], l[c]);
185
+ }
186
+ var a = new Array(e.length), i = [], s = 0;
187
+ e.forEach((u, l) => {
188
+ V.hasOwnProperty(u) ? a[l] = V[u] : (i.push(u), J.hasOwnProperty(u) || (J[u] = []), J[u].push(() => {
189
+ a[l] = V[u], ++s, s === i.length && n(a);
190
+ }));
191
+ }), i.length === 0 && n(a);
192
+ }, Ue = (r) => {
193
+ var e = ur[r];
194
+ delete ur[r];
195
+ var t = e.elements, n = t.length, a = t.map((u) => u.getterReturnType).concat(t.map((u) => u.setterArgumentType)), i = e.rawConstructor, s = e.rawDestructor;
196
+ Gr([r], a, function(u) {
197
+ return t.forEach((l, c) => {
198
+ var v = u[c], m = l.getter, h = l.getterContext, y = u[c + n], p = l.setter, F = l.setterContext;
199
+ l.read = (D) => v.fromWireType(m(h, D)), l.write = (D, S) => {
200
+ var d = [];
201
+ p(F, D, y.toWireType(d, S)), Vr(d);
202
+ };
203
+ }), [{ name: e.name, fromWireType: (l) => {
204
+ for (var c = new Array(n), v = 0; v < n; ++v)
205
+ c[v] = t[v].read(l);
206
+ return s(l), c;
207
+ }, toWireType: (l, c) => {
208
+ if (n !== c.length)
209
+ throw new TypeError(`Incorrect number of tuple elements for ${e.name}: expected=${n}, actual=${c.length}`);
210
+ for (var v = i(), m = 0; m < n; ++m)
211
+ t[m].write(v, c[m]);
212
+ return l !== null && l.push(s, v), v;
213
+ }, argPackAdvance: x, readValueFromPointer: kr, destructorFunction: s }];
214
+ });
215
+ }, We = (r, e, t, n, a) => {
216
+ }, je = () => {
217
+ for (var r = new Array(256), e = 0; e < 256; ++e)
218
+ r[e] = String.fromCharCode(e);
219
+ Kr = r;
220
+ }, Kr, U = (r) => {
221
+ for (var e = "", t = r; O[t]; )
222
+ e += Kr[O[t++]];
223
+ return e;
224
+ }, Jr, W = (r) => {
225
+ throw new Jr(r);
226
+ };
227
+ function Le(r, e, t = {}) {
228
+ var n = e.name;
229
+ if (r || W(`type "${n}" must have a positive integer typeid pointer`), V.hasOwnProperty(r)) {
230
+ if (t.ignoreDuplicateRegistrations)
231
+ return;
232
+ W(`Cannot register type '${n}' twice`);
233
+ }
234
+ if (V[r] = e, delete lr[r], J.hasOwnProperty(r)) {
235
+ var a = J[r];
236
+ delete J[r], a.forEach((i) => i());
237
+ }
238
+ }
239
+ function z(r, e, t = {}) {
240
+ if (!("argPackAdvance" in e))
241
+ throw new TypeError("registerType registeredInstance requires argPackAdvance");
242
+ return Le(r, e, t);
243
+ }
244
+ var x = 8, ze = (r, e, t, n) => {
245
+ e = U(e), z(r, { name: e, fromWireType: function(a) {
246
+ return !!a;
247
+ }, toWireType: function(a, i) {
248
+ return i ? t : n;
249
+ }, argPackAdvance: x, readValueFromPointer: function(a) {
250
+ return this.fromWireType(O[a]);
251
+ }, destructorFunction: null });
252
+ };
253
+ function Ne() {
254
+ Object.assign(Zr.prototype, { get(r) {
255
+ return this.allocated[r];
256
+ }, has(r) {
257
+ return this.allocated[r] !== void 0;
258
+ }, allocate(r) {
259
+ var e = this.freelist.pop() || this.allocated.length;
260
+ return this.allocated[e] = r, e;
261
+ }, free(r) {
262
+ this.allocated[r] = void 0, this.freelist.push(r);
263
+ } });
264
+ }
265
+ function Zr() {
266
+ this.allocated = [void 0], this.freelist = [];
267
+ }
268
+ var j = new Zr(), xe = (r) => {
269
+ r >= j.reserved && --j.get(r).refcount === 0 && j.free(r);
270
+ }, He = () => {
271
+ for (var r = 0, e = j.reserved; e < j.allocated.length; ++e)
272
+ j.allocated[e] !== void 0 && ++r;
273
+ return r;
274
+ }, Be = () => {
275
+ j.allocated.push({ value: void 0 }, { value: null }, { value: !0 }, { value: !1 }), j.reserved = j.allocated.length, f.count_emval_handles = He;
276
+ }, Qr = { toValue: (r) => (r || W("Cannot use deleted val. handle = " + r), j.get(r).value), toHandle: (r) => {
277
+ switch (r) {
278
+ case void 0:
279
+ return 1;
280
+ case null:
281
+ return 2;
282
+ case !0:
283
+ return 3;
284
+ case !1:
285
+ return 4;
286
+ default:
287
+ return j.allocate({ refcount: 1, value: r });
288
+ }
289
+ } }, $e = (r, e) => {
290
+ e = U(e), z(r, { name: e, fromWireType: (t) => {
291
+ var n = Qr.toValue(t);
292
+ return xe(t), n;
293
+ }, toWireType: (t, n) => Qr.toHandle(n), argPackAdvance: x, readValueFromPointer: kr, destructorFunction: null });
294
+ }, Ie = (r, e, t) => {
295
+ if (r[e].overloadTable === void 0) {
296
+ var n = r[e];
297
+ r[e] = function() {
298
+ return r[e].overloadTable.hasOwnProperty(arguments.length) || W(`Function '${t}' called with an invalid number of arguments (${arguments.length}) - expects one of (${r[e].overloadTable})!`), r[e].overloadTable[arguments.length].apply(this, arguments);
299
+ }, r[e].overloadTable = [], r[e].overloadTable[n.argCount] = n;
300
+ }
301
+ }, re = (r, e, t) => {
302
+ f.hasOwnProperty(r) ? ((t === void 0 || f[r].overloadTable !== void 0 && f[r].overloadTable[t] !== void 0) && W(`Cannot register public name '${r}' twice`), Ie(f, r, r), f.hasOwnProperty(t) && W(`Cannot register multiple overloads of a function with the same number of arguments (${t})!`), f[r].overloadTable[t] = e) : (f[r] = e, t !== void 0 && (f[r].numArguments = t));
303
+ }, Ye = (r, e, t) => {
304
+ switch (e) {
305
+ case 1:
306
+ return t ? function(n) {
307
+ return this.fromWireType(M[n >> 0]);
308
+ } : function(n) {
309
+ return this.fromWireType(O[n >> 0]);
310
+ };
311
+ case 2:
312
+ return t ? function(n) {
313
+ return this.fromWireType(X[n >> 1]);
314
+ } : function(n) {
315
+ return this.fromWireType(rr[n >> 1]);
316
+ };
317
+ case 4:
318
+ return t ? function(n) {
319
+ return this.fromWireType(_[n >> 2]);
320
+ } : function(n) {
321
+ return this.fromWireType(k[n >> 2]);
322
+ };
323
+ default:
324
+ throw new TypeError(`invalid integer width (${e}): ${r}`);
325
+ }
326
+ }, Ve = (r, e, t, n) => {
327
+ e = U(e);
328
+ function a() {
329
+ }
330
+ a.values = {}, z(r, { name: e, constructor: a, fromWireType: function(i) {
331
+ return this.constructor.values[i];
332
+ }, toWireType: (i, s) => s.value, argPackAdvance: x, readValueFromPointer: Ye(e, t, n), destructorFunction: null }), re(e, a);
333
+ }, fr = (r, e) => Object.defineProperty(e, "name", { value: r }), ee = (r) => {
334
+ var e = he(r), t = U(e);
335
+ return B(e), t;
336
+ }, qe = (r, e) => {
337
+ var t = V[r];
338
+ return t === void 0 && W(e + " has unknown type " + ee(r)), t;
339
+ }, Xe = (r, e, t) => {
340
+ var n = qe(r, "enum");
341
+ e = U(e);
342
+ var a = n.constructor, i = Object.create(n.constructor.prototype, { value: { value: t }, constructor: { value: fr(`${n.name}_${e}`, function() {
343
+ }) } });
344
+ a.values[t] = i, a[e] = i;
345
+ }, Ge = (r, e) => {
346
+ switch (e) {
347
+ case 4:
348
+ return function(t) {
349
+ return this.fromWireType(jr[t >> 2]);
350
+ };
351
+ case 8:
352
+ return function(t) {
353
+ return this.fromWireType(Lr[t >> 3]);
354
+ };
355
+ default:
356
+ throw new TypeError(`invalid float width (${e}): ${r}`);
357
+ }
358
+ }, Ke = (r, e, t) => {
359
+ e = U(e), z(r, { name: e, fromWireType: (n) => n, toWireType: (n, a) => a, argPackAdvance: x, readValueFromPointer: Ge(e, t), destructorFunction: null });
360
+ };
361
+ function Je(r, e) {
362
+ if (!(r instanceof Function))
363
+ throw new TypeError(`new_ called with constructor type ${typeof r} which is not a function`);
364
+ var t = fr(r.name || "unknownFunctionName", function() {
365
+ });
366
+ t.prototype = r.prototype;
367
+ var n = new t(), a = r.apply(n, e);
368
+ return a instanceof Object ? a : n;
369
+ }
370
+ function Ze(r, e, t, n, a, i) {
371
+ var s = e.length;
372
+ s < 2 && W("argTypes array size mismatch! Must at least get return value and 'this' types!"), e[1];
373
+ for (var u = !1, l = 1; l < e.length; ++l)
374
+ if (e[l] !== null && e[l].destructorFunction === void 0) {
375
+ u = !0;
376
+ break;
377
+ }
378
+ for (var c = e[0].name !== "void", v = "", m = "", l = 0; l < s - 2; ++l)
379
+ v += (l !== 0 ? ", " : "") + "arg" + l, m += (l !== 0 ? ", " : "") + "arg" + l + "Wired";
380
+ var h = `
381
+ return function (${v}) {
382
+ if (arguments.length !== ${s - 2}) {
383
+ throwBindingError('function ${r} called with ' + arguments.length + ' arguments, expected ${s - 2}');
384
+ }`;
385
+ u && (h += `var destructors = [];
386
+ `);
387
+ for (var y = u ? "destructors" : "null", p = ["throwBindingError", "invoker", "fn", "runDestructors", "retType", "classParam"], F = [W, n, a, Vr, e[0], e[1]], l = 0; l < s - 2; ++l)
388
+ h += "var arg" + l + "Wired = argType" + l + ".toWireType(" + y + ", arg" + l + "); // " + e[l + 2].name + `
389
+ `, p.push("argType" + l), F.push(e[l + 2]);
390
+ if (h += (c || i ? "var rv = " : "") + "invoker(fn" + (m.length > 0 ? ", " : "") + m + `);
391
+ `, u)
392
+ h += `runDestructors(destructors);
393
+ `;
394
+ else
395
+ for (var l = 2; l < e.length; ++l) {
396
+ var D = l === 1 ? "thisWired" : "arg" + (l - 2) + "Wired";
397
+ e[l].destructorFunction !== null && (h += D + "_dtor(" + D + "); // " + e[l].name + `
398
+ `, p.push(D + "_dtor"), F.push(e[l].destructorFunction));
399
+ }
400
+ c && (h += `var ret = retType.fromWireType(rv);
401
+ return ret;
402
+ `), h += `}
403
+ `, p.push(h);
404
+ var S = Je(Function, p).apply(null, F);
405
+ return fr(r, S);
406
+ }
407
+ var Qe = (r, e) => {
408
+ for (var t = [], n = 0; n < r; n++)
409
+ t.push(k[e + n * 4 >> 2]);
410
+ return t;
411
+ }, rt = (r, e, t) => {
412
+ f.hasOwnProperty(r) || Xr("Replacing nonexistant public symbol"), f[r].overloadTable !== void 0 && t !== void 0 ? f[r].overloadTable[t] = e : (f[r] = e, f[r].argCount = t);
413
+ }, et = (r, e, t) => {
414
+ var n = f["dynCall_" + r];
415
+ return t && t.length ? n.apply(null, [e].concat(t)) : n.call(null, e);
416
+ }, dr = [], te, ne = (r) => {
417
+ var e = dr[r];
418
+ return e || (r >= dr.length && (dr.length = r + 1), dr[r] = e = te.get(r)), e;
419
+ }, tt = (r, e, t) => {
420
+ if (r.includes("j"))
421
+ return et(r, e, t);
422
+ var n = ne(e).apply(null, t);
423
+ return n;
424
+ }, nt = (r, e) => {
425
+ var t = [];
426
+ return function() {
427
+ return t.length = 0, Object.assign(t, arguments), tt(r, e, t);
428
+ };
429
+ }, tr = (r, e) => {
430
+ r = U(r);
431
+ function t() {
432
+ return r.includes("j") ? nt(r, e) : ne(e);
433
+ }
434
+ var n = t();
435
+ return typeof n != "function" && W(`unknown function pointer with signature ${r}: ${e}`), n;
436
+ }, ot = (r, e) => {
437
+ var t = fr(e, function(n) {
438
+ this.name = e, this.message = n;
439
+ var a = new Error(n).stack;
440
+ a !== void 0 && (this.stack = this.toString() + `
441
+ ` + a.replace(/^Error(:[^\n]*)?\n/, ""));
442
+ });
443
+ return t.prototype = Object.create(r.prototype), t.prototype.constructor = t, t.prototype.toString = function() {
444
+ return this.message === void 0 ? this.name : `${this.name}: ${this.message}`;
445
+ }, t;
446
+ }, oe, at = (r, e) => {
447
+ var t = [], n = {};
448
+ function a(i) {
449
+ if (!n[i] && !V[i]) {
450
+ if (lr[i]) {
451
+ lr[i].forEach(a);
452
+ return;
453
+ }
454
+ t.push(i), n[i] = !0;
455
+ }
456
+ }
457
+ throw e.forEach(a), new oe(`${r}: ` + t.map(ee).join([", "]));
458
+ }, it = (r) => {
459
+ r = r.trim();
460
+ const e = r.indexOf("(");
461
+ return e !== -1 ? r.substr(0, e) : r;
462
+ }, st = (r, e, t, n, a, i, s) => {
463
+ var u = Qe(e, t);
464
+ r = U(r), r = it(r), a = tr(n, a), re(r, function() {
465
+ at(`Cannot call ${r} due to unbound types`, u);
466
+ }, e - 1), Gr([], u, function(l) {
467
+ var c = [l[0], null].concat(l.slice(1));
468
+ return rt(r, Ze(r, c, null, a, i, s), e - 1), [];
469
+ });
470
+ }, ut = (r, e, t) => {
471
+ switch (e) {
472
+ case 1:
473
+ return t ? (n) => M[n >> 0] : (n) => O[n >> 0];
474
+ case 2:
475
+ return t ? (n) => X[n >> 1] : (n) => rr[n >> 1];
476
+ case 4:
477
+ return t ? (n) => _[n >> 2] : (n) => k[n >> 2];
478
+ default:
479
+ throw new TypeError(`invalid integer width (${e}): ${r}`);
480
+ }
481
+ }, lt = (r, e, t, n, a) => {
482
+ e = U(e);
483
+ var i = (v) => v;
484
+ if (n === 0) {
485
+ var s = 32 - 8 * t;
486
+ i = (v) => v << s >>> s;
487
+ }
488
+ var u = e.includes("unsigned"), l = (v, m) => {
489
+ }, c;
490
+ u ? c = function(v, m) {
491
+ return l(m, this.name), m >>> 0;
492
+ } : c = function(v, m) {
493
+ return l(m, this.name), m;
494
+ }, z(r, { name: e, fromWireType: i, toWireType: c, argPackAdvance: x, readValueFromPointer: ut(e, t, n !== 0), destructorFunction: null });
495
+ }, ft = (r, e, t) => {
496
+ var n = [Int8Array, Uint8Array, Int16Array, Uint16Array, Int32Array, Uint32Array, Float32Array, Float64Array], a = n[e];
497
+ function i(s) {
498
+ var u = k[s >> 2], l = k[s + 4 >> 2];
499
+ return new a(M.buffer, l, u);
500
+ }
501
+ t = U(t), z(r, { name: t, fromWireType: i, argPackAdvance: x, readValueFromPointer: i }, { ignoreDuplicateRegistrations: !0 });
502
+ };
503
+ function dt(r) {
504
+ return this.fromWireType(k[r >> 2]);
505
+ }
506
+ var br = (r, e, t, n) => {
507
+ if (!(n > 0)) return 0;
508
+ for (var a = t, i = t + n - 1, s = 0; s < r.length; ++s) {
509
+ var u = r.charCodeAt(s);
510
+ if (u >= 55296 && u <= 57343) {
511
+ var l = r.charCodeAt(++s);
512
+ u = 65536 + ((u & 1023) << 10) | l & 1023;
513
+ }
514
+ if (u <= 127) {
515
+ if (t >= i) break;
516
+ e[t++] = u;
517
+ } else if (u <= 2047) {
518
+ if (t + 1 >= i) break;
519
+ e[t++] = 192 | u >> 6, e[t++] = 128 | u & 63;
520
+ } else if (u <= 65535) {
521
+ if (t + 2 >= i) break;
522
+ e[t++] = 224 | u >> 12, e[t++] = 128 | u >> 6 & 63, e[t++] = 128 | u & 63;
523
+ } else {
524
+ if (t + 3 >= i) break;
525
+ e[t++] = 240 | u >> 18, e[t++] = 128 | u >> 12 & 63, e[t++] = 128 | u >> 6 & 63, e[t++] = 128 | u & 63;
526
+ }
527
+ }
528
+ return e[t] = 0, t - a;
529
+ }, ae = (r, e, t) => br(r, O, e, t), cr = (r) => {
530
+ for (var e = 0, t = 0; t < r.length; ++t) {
531
+ var n = r.charCodeAt(t);
532
+ n <= 127 ? e++ : n <= 2047 ? e += 2 : n >= 55296 && n <= 57343 ? (e += 4, ++t) : e += 3;
533
+ }
534
+ return e;
535
+ }, ie = typeof TextDecoder < "u" ? new TextDecoder("utf8") : void 0, Z = (r, e, t) => {
536
+ for (var n = e + t, a = e; r[a] && !(a >= n); ) ++a;
537
+ if (a - e > 16 && r.buffer && ie)
538
+ return ie.decode(r.subarray(e, a));
539
+ for (var i = ""; e < a; ) {
540
+ var s = r[e++];
541
+ if (!(s & 128)) {
542
+ i += String.fromCharCode(s);
543
+ continue;
544
+ }
545
+ var u = r[e++] & 63;
546
+ if ((s & 224) == 192) {
547
+ i += String.fromCharCode((s & 31) << 6 | u);
548
+ continue;
549
+ }
550
+ var l = r[e++] & 63;
551
+ if ((s & 240) == 224 ? s = (s & 15) << 12 | u << 6 | l : s = (s & 7) << 18 | u << 12 | l << 6 | r[e++] & 63, s < 65536)
552
+ i += String.fromCharCode(s);
553
+ else {
554
+ var c = s - 65536;
555
+ i += String.fromCharCode(55296 | c >> 10, 56320 | c & 1023);
556
+ }
557
+ }
558
+ return i;
559
+ }, nr = (r, e) => r ? Z(O, r, e) : "", ct = (r, e) => {
560
+ e = U(e);
561
+ var t = e === "std::string";
562
+ z(r, { name: e, fromWireType(n) {
563
+ var a = k[n >> 2], i = n + 4, s;
564
+ if (t)
565
+ for (var u = i, l = 0; l <= a; ++l) {
566
+ var c = i + l;
567
+ if (l == a || O[c] == 0) {
568
+ var v = c - u, m = nr(u, v);
569
+ s === void 0 ? s = m : (s += "\0", s += m), u = c + 1;
570
+ }
571
+ }
572
+ else {
573
+ for (var h = new Array(a), l = 0; l < a; ++l)
574
+ h[l] = String.fromCharCode(O[i + l]);
575
+ s = h.join("");
576
+ }
577
+ return B(n), s;
578
+ }, toWireType(n, a) {
579
+ a instanceof ArrayBuffer && (a = new Uint8Array(a));
580
+ var i, s = typeof a == "string";
581
+ s || a instanceof Uint8Array || a instanceof Uint8ClampedArray || a instanceof Int8Array || W("Cannot pass non-string to std::string"), t && s ? i = cr(a) : i = a.length;
582
+ var u = Sr(4 + i + 1), l = u + 4;
583
+ if (k[u >> 2] = i, t && s)
584
+ ae(a, l, i + 1);
585
+ else if (s)
586
+ for (var c = 0; c < i; ++c) {
587
+ var v = a.charCodeAt(c);
588
+ v > 255 && (B(l), W("String has UTF-16 code units that do not fit in 8 bits")), O[l + c] = v;
589
+ }
590
+ else
591
+ for (var c = 0; c < i; ++c)
592
+ O[l + c] = a[c];
593
+ return n !== null && n.push(B, u), u;
594
+ }, argPackAdvance: x, readValueFromPointer: dt, destructorFunction(n) {
595
+ B(n);
596
+ } });
597
+ }, se = typeof TextDecoder < "u" ? new TextDecoder("utf-16le") : void 0, vt = (r, e) => {
598
+ for (var t = r, n = t >> 1, a = n + e / 2; !(n >= a) && rr[n]; ) ++n;
599
+ if (t = n << 1, t - r > 32 && se) return se.decode(O.subarray(r, t));
600
+ for (var i = "", s = 0; !(s >= e / 2); ++s) {
601
+ var u = X[r + s * 2 >> 1];
602
+ if (u == 0) break;
603
+ i += String.fromCharCode(u);
604
+ }
605
+ return i;
606
+ }, ht = (r, e, t) => {
607
+ if (t === void 0 && (t = 2147483647), t < 2) return 0;
608
+ t -= 2;
609
+ for (var n = e, a = t < r.length * 2 ? t / 2 : r.length, i = 0; i < a; ++i) {
610
+ var s = r.charCodeAt(i);
611
+ X[e >> 1] = s, e += 2;
612
+ }
613
+ return X[e >> 1] = 0, e - n;
614
+ }, mt = (r) => r.length * 2, pt = (r, e) => {
615
+ for (var t = 0, n = ""; !(t >= e / 4); ) {
616
+ var a = _[r + t * 4 >> 2];
617
+ if (a == 0) break;
618
+ if (++t, a >= 65536) {
619
+ var i = a - 65536;
620
+ n += String.fromCharCode(55296 | i >> 10, 56320 | i & 1023);
621
+ } else
622
+ n += String.fromCharCode(a);
623
+ }
624
+ return n;
625
+ }, yt = (r, e, t) => {
626
+ if (t === void 0 && (t = 2147483647), t < 4) return 0;
627
+ for (var n = e, a = n + t - 4, i = 0; i < r.length; ++i) {
628
+ var s = r.charCodeAt(i);
629
+ if (s >= 55296 && s <= 57343) {
630
+ var u = r.charCodeAt(++i);
631
+ s = 65536 + ((s & 1023) << 10) | u & 1023;
632
+ }
633
+ if (_[e >> 2] = s, e += 4, e + 4 > a) break;
634
+ }
635
+ return _[e >> 2] = 0, e - n;
636
+ }, gt = (r) => {
637
+ for (var e = 0, t = 0; t < r.length; ++t) {
638
+ var n = r.charCodeAt(t);
639
+ n >= 55296 && n <= 57343 && ++t, e += 4;
640
+ }
641
+ return e;
642
+ }, wt = (r, e, t) => {
643
+ t = U(t);
644
+ var n, a, i, s, u;
645
+ e === 2 ? (n = vt, a = ht, s = mt, i = () => rr, u = 1) : e === 4 && (n = pt, a = yt, s = gt, i = () => k, u = 2), z(r, { name: t, fromWireType: (l) => {
646
+ for (var c = k[l >> 2], v = i(), m, h = l + 4, y = 0; y <= c; ++y) {
647
+ var p = l + 4 + y * e;
648
+ if (y == c || v[p >> u] == 0) {
649
+ var F = p - h, D = n(h, F);
650
+ m === void 0 ? m = D : (m += "\0", m += D), h = p + e;
651
+ }
652
+ }
653
+ return B(l), m;
654
+ }, toWireType: (l, c) => {
655
+ typeof c != "string" && W(`Cannot pass non-string to C++ string type ${t}`);
656
+ var v = s(c), m = Sr(4 + v + e);
657
+ return k[m >> 2] = v >> u, a(c, m + 4, v + e), l !== null && l.push(B, m), m;
658
+ }, argPackAdvance: x, readValueFromPointer: kr, destructorFunction(l) {
659
+ B(l);
660
+ } });
661
+ }, _t = (r, e, t, n, a, i) => {
662
+ ur[r] = { name: U(e), rawConstructor: tr(t, n), rawDestructor: tr(a, i), elements: [] };
663
+ }, Et = (r, e, t, n, a, i, s, u, l) => {
664
+ ur[r].elements.push({ getterReturnType: e, getter: tr(t, n), getterContext: a, setterArgumentType: i, setter: tr(s, u), setterContext: l });
665
+ }, kt = (r, e) => {
666
+ e = U(e), z(r, { isVoid: !0, name: e, argPackAdvance: 0, fromWireType: () => {
667
+ }, toWireType: (t, n) => {
668
+ } });
669
+ }, bt = () => {
670
+ G("");
671
+ }, Ft = (r, e, t) => O.copyWithin(r, e, e + t), At = () => 2147483648, Dt = (r) => {
672
+ var e = ir.buffer, t = (r - e.byteLength + 65535) / 65536;
673
+ try {
674
+ return ir.grow(t), zr(), 1;
675
+ } catch {
676
+ }
677
+ }, St = (r) => {
678
+ var e = O.length;
679
+ r >>>= 0;
680
+ var t = At();
681
+ if (r > t)
682
+ return !1;
683
+ for (var n = (l, c) => l + (c - l % c) % c, a = 1; a <= 4; a *= 2) {
684
+ var i = e * (1 + 0.2 / a);
685
+ i = Math.min(i, r + 100663296);
686
+ var s = Math.min(t, n(Math.max(r, i), 65536)), u = Dt(s);
687
+ if (u)
688
+ return !0;
689
+ }
690
+ return !1;
691
+ }, Fr = {}, Pt = () => Or || "./this.program", or = () => {
692
+ if (!or.strings) {
693
+ var r = (typeof navigator == "object" && navigator.languages && navigator.languages[0] || "C").replace("-", "_") + ".UTF-8", e = { USER: "web_user", LOGNAME: "web_user", PATH: "/", PWD: "/", HOME: "/home/web_user", LANG: r, _: Pt() };
694
+ for (var t in Fr)
695
+ Fr[t] === void 0 ? delete e[t] : e[t] = Fr[t];
696
+ var n = [];
697
+ for (var t in e)
698
+ n.push(`${t}=${e[t]}`);
699
+ or.strings = n;
700
+ }
701
+ return or.strings;
702
+ }, Tt = (r, e) => {
703
+ for (var t = 0; t < r.length; ++t)
704
+ M[e++ >> 0] = r.charCodeAt(t);
705
+ M[e >> 0] = 0;
706
+ }, b = { isAbs: (r) => r.charAt(0) === "/", splitPath: (r) => {
707
+ var e = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;
708
+ return e.exec(r).slice(1);
709
+ }, normalizeArray: (r, e) => {
710
+ for (var t = 0, n = r.length - 1; n >= 0; n--) {
711
+ var a = r[n];
712
+ a === "." ? r.splice(n, 1) : a === ".." ? (r.splice(n, 1), t++) : t && (r.splice(n, 1), t--);
713
+ }
714
+ if (e)
715
+ for (; t; t--)
716
+ r.unshift("..");
717
+ return r;
718
+ }, normalize: (r) => {
719
+ var e = b.isAbs(r), t = r.substr(-1) === "/";
720
+ return r = b.normalizeArray(r.split("/").filter((n) => !!n), !e).join("/"), !r && !e && (r = "."), r && t && (r += "/"), (e ? "/" : "") + r;
721
+ }, dirname: (r) => {
722
+ var e = b.splitPath(r), t = e[0], n = e[1];
723
+ return !t && !n ? "." : (n && (n = n.substr(0, n.length - 1)), t + n);
724
+ }, basename: (r) => {
725
+ if (r === "/") return "/";
726
+ r = b.normalize(r), r = r.replace(/\/$/, "");
727
+ var e = r.lastIndexOf("/");
728
+ return e === -1 ? r : r.substr(e + 1);
729
+ }, join: function() {
730
+ var r = Array.prototype.slice.call(arguments);
731
+ return b.normalize(r.join("/"));
732
+ }, join2: (r, e) => b.normalize(r + "/" + e) }, Ct = () => {
733
+ if (typeof crypto == "object" && typeof crypto.getRandomValues == "function")
734
+ return (r) => crypto.getRandomValues(r);
735
+ G("initRandomDevice");
736
+ }, ue = (r) => (ue = Ct())(r), H = { resolve: function() {
737
+ for (var r = "", e = !1, t = arguments.length - 1; t >= -1 && !e; t--) {
738
+ var n = t >= 0 ? arguments[t] : o.cwd();
739
+ if (typeof n != "string")
740
+ throw new TypeError("Arguments to path.resolve must be strings");
741
+ if (!n)
742
+ return "";
743
+ r = n + "/" + r, e = b.isAbs(n);
744
+ }
745
+ return r = b.normalizeArray(r.split("/").filter((a) => !!a), !e).join("/"), (e ? "/" : "") + r || ".";
746
+ }, relative: (r, e) => {
747
+ r = H.resolve(r).substr(1), e = H.resolve(e).substr(1);
748
+ function t(c) {
749
+ for (var v = 0; v < c.length && c[v] === ""; v++)
750
+ ;
751
+ for (var m = c.length - 1; m >= 0 && c[m] === ""; m--)
752
+ ;
753
+ return v > m ? [] : c.slice(v, m - v + 1);
754
+ }
755
+ for (var n = t(r.split("/")), a = t(e.split("/")), i = Math.min(n.length, a.length), s = i, u = 0; u < i; u++)
756
+ if (n[u] !== a[u]) {
757
+ s = u;
758
+ break;
759
+ }
760
+ for (var l = [], u = s; u < n.length; u++)
761
+ l.push("..");
762
+ return l = l.concat(a.slice(s)), l.join("/");
763
+ } }, Ar = [];
764
+ function vr(r, e, t) {
765
+ var n = cr(r) + 1, a = new Array(n), i = br(r, a, 0, a.length);
766
+ return e && (a.length = i), a;
767
+ }
768
+ var Mt = () => {
769
+ if (!Ar.length) {
770
+ var r = null;
771
+ if (typeof window < "u" && typeof window.prompt == "function" ? (r = window.prompt("Input: "), r !== null && (r += `
772
+ `)) : typeof readline == "function" && (r = readline(), r !== null && (r += `
773
+ `)), !r)
774
+ return null;
775
+ Ar = vr(r, !0);
776
+ }
777
+ return Ar.shift();
778
+ }, q = { ttys: [], init() {
779
+ }, shutdown() {
780
+ }, register(r, e) {
781
+ q.ttys[r] = { input: [], output: [], ops: e }, o.registerDevice(r, q.stream_ops);
782
+ }, stream_ops: { open(r) {
783
+ var e = q.ttys[r.node.rdev];
784
+ if (!e)
785
+ throw new o.ErrnoError(43);
786
+ r.tty = e, r.seekable = !1;
787
+ }, close(r) {
788
+ r.tty.ops.fsync(r.tty);
789
+ }, fsync(r) {
790
+ r.tty.ops.fsync(r.tty);
791
+ }, read(r, e, t, n, a) {
792
+ if (!r.tty || !r.tty.ops.get_char)
793
+ throw new o.ErrnoError(60);
794
+ for (var i = 0, s = 0; s < n; s++) {
795
+ var u;
796
+ try {
797
+ u = r.tty.ops.get_char(r.tty);
798
+ } catch {
799
+ throw new o.ErrnoError(29);
800
+ }
801
+ if (u === void 0 && i === 0)
802
+ throw new o.ErrnoError(6);
803
+ if (u == null) break;
804
+ i++, e[t + s] = u;
805
+ }
806
+ return i && (r.node.timestamp = Date.now()), i;
807
+ }, write(r, e, t, n, a) {
808
+ if (!r.tty || !r.tty.ops.put_char)
809
+ throw new o.ErrnoError(60);
810
+ try {
811
+ for (var i = 0; i < n; i++)
812
+ r.tty.ops.put_char(r.tty, e[t + i]);
813
+ } catch {
814
+ throw new o.ErrnoError(29);
815
+ }
816
+ return n && (r.node.timestamp = Date.now()), i;
817
+ } }, default_tty_ops: { get_char(r) {
818
+ return Mt();
819
+ }, put_char(r, e) {
820
+ e === null || e === 10 ? (wr(Z(r.output, 0)), r.output = []) : e != 0 && r.output.push(e);
821
+ }, fsync(r) {
822
+ r.output && r.output.length > 0 && (wr(Z(r.output, 0)), r.output = []);
823
+ }, ioctl_tcgets(r) {
824
+ return { c_iflag: 25856, c_oflag: 5, c_cflag: 191, c_lflag: 35387, c_cc: [3, 28, 127, 21, 4, 0, 1, 0, 17, 19, 26, 0, 18, 15, 23, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] };
825
+ }, ioctl_tcsets(r, e, t) {
826
+ return 0;
827
+ }, ioctl_tiocgwinsz(r) {
828
+ return [24, 80];
829
+ } }, default_tty1_ops: { put_char(r, e) {
830
+ e === null || e === 10 ? ($(Z(r.output, 0)), r.output = []) : e != 0 && r.output.push(e);
831
+ }, fsync(r) {
832
+ r.output && r.output.length > 0 && ($(Z(r.output, 0)), r.output = []);
833
+ } } }, le = (r) => {
834
+ G();
835
+ }, w = { ops_table: null, mount(r) {
836
+ return w.createNode(null, "/", 16895, 0);
837
+ }, createNode(r, e, t, n) {
838
+ if (o.isBlkdev(t) || o.isFIFO(t))
839
+ throw new o.ErrnoError(63);
840
+ w.ops_table || (w.ops_table = { dir: { node: { getattr: w.node_ops.getattr, setattr: w.node_ops.setattr, lookup: w.node_ops.lookup, mknod: w.node_ops.mknod, rename: w.node_ops.rename, unlink: w.node_ops.unlink, rmdir: w.node_ops.rmdir, readdir: w.node_ops.readdir, symlink: w.node_ops.symlink }, stream: { llseek: w.stream_ops.llseek } }, file: { node: { getattr: w.node_ops.getattr, setattr: w.node_ops.setattr }, stream: { llseek: w.stream_ops.llseek, read: w.stream_ops.read, write: w.stream_ops.write, allocate: w.stream_ops.allocate, mmap: w.stream_ops.mmap, msync: w.stream_ops.msync } }, link: { node: { getattr: w.node_ops.getattr, setattr: w.node_ops.setattr, readlink: w.node_ops.readlink }, stream: {} }, chrdev: { node: { getattr: w.node_ops.getattr, setattr: w.node_ops.setattr }, stream: o.chrdev_stream_ops } });
841
+ var a = o.createNode(r, e, t, n);
842
+ return o.isDir(a.mode) ? (a.node_ops = w.ops_table.dir.node, a.stream_ops = w.ops_table.dir.stream, a.contents = {}) : o.isFile(a.mode) ? (a.node_ops = w.ops_table.file.node, a.stream_ops = w.ops_table.file.stream, a.usedBytes = 0, a.contents = null) : o.isLink(a.mode) ? (a.node_ops = w.ops_table.link.node, a.stream_ops = w.ops_table.link.stream) : o.isChrdev(a.mode) && (a.node_ops = w.ops_table.chrdev.node, a.stream_ops = w.ops_table.chrdev.stream), a.timestamp = Date.now(), r && (r.contents[e] = a, r.timestamp = a.timestamp), a;
843
+ }, getFileDataAsTypedArray(r) {
844
+ return r.contents ? r.contents.subarray ? r.contents.subarray(0, r.usedBytes) : new Uint8Array(r.contents) : new Uint8Array(0);
845
+ }, expandFileStorage(r, e) {
846
+ var t = r.contents ? r.contents.length : 0;
847
+ if (!(t >= e)) {
848
+ var n = 1024 * 1024;
849
+ e = Math.max(e, t * (t < n ? 2 : 1.125) >>> 0), t != 0 && (e = Math.max(e, 256));
850
+ var a = r.contents;
851
+ r.contents = new Uint8Array(e), r.usedBytes > 0 && r.contents.set(a.subarray(0, r.usedBytes), 0);
852
+ }
853
+ }, resizeFileStorage(r, e) {
854
+ if (r.usedBytes != e)
855
+ if (e == 0)
856
+ r.contents = null, r.usedBytes = 0;
857
+ else {
858
+ var t = r.contents;
859
+ r.contents = new Uint8Array(e), t && r.contents.set(t.subarray(0, Math.min(e, r.usedBytes))), r.usedBytes = e;
860
+ }
861
+ }, node_ops: { getattr(r) {
862
+ var e = {};
863
+ return e.dev = o.isChrdev(r.mode) ? r.id : 1, e.ino = r.id, e.mode = r.mode, e.nlink = 1, e.uid = 0, e.gid = 0, e.rdev = r.rdev, o.isDir(r.mode) ? e.size = 4096 : o.isFile(r.mode) ? e.size = r.usedBytes : o.isLink(r.mode) ? e.size = r.link.length : e.size = 0, e.atime = new Date(r.timestamp), e.mtime = new Date(r.timestamp), e.ctime = new Date(r.timestamp), e.blksize = 4096, e.blocks = Math.ceil(e.size / e.blksize), e;
864
+ }, setattr(r, e) {
865
+ e.mode !== void 0 && (r.mode = e.mode), e.timestamp !== void 0 && (r.timestamp = e.timestamp), e.size !== void 0 && w.resizeFileStorage(r, e.size);
866
+ }, lookup(r, e) {
867
+ throw o.genericErrors[44];
868
+ }, mknod(r, e, t, n) {
869
+ return w.createNode(r, e, t, n);
870
+ }, rename(r, e, t) {
871
+ if (o.isDir(r.mode)) {
872
+ var n;
873
+ try {
874
+ n = o.lookupNode(e, t);
875
+ } catch {
876
+ }
877
+ if (n)
878
+ for (var a in n.contents)
879
+ throw new o.ErrnoError(55);
880
+ }
881
+ delete r.parent.contents[r.name], r.parent.timestamp = Date.now(), r.name = t, e.contents[t] = r, e.timestamp = r.parent.timestamp, r.parent = e;
882
+ }, unlink(r, e) {
883
+ delete r.contents[e], r.timestamp = Date.now();
884
+ }, rmdir(r, e) {
885
+ var t = o.lookupNode(r, e);
886
+ for (var n in t.contents)
887
+ throw new o.ErrnoError(55);
888
+ delete r.contents[e], r.timestamp = Date.now();
889
+ }, readdir(r) {
890
+ var e = [".", ".."];
891
+ for (var t in r.contents)
892
+ r.contents.hasOwnProperty(t) && e.push(t);
893
+ return e;
894
+ }, symlink(r, e, t) {
895
+ var n = w.createNode(r, e, 41471, 0);
896
+ return n.link = t, n;
897
+ }, readlink(r) {
898
+ if (!o.isLink(r.mode))
899
+ throw new o.ErrnoError(28);
900
+ return r.link;
901
+ } }, stream_ops: { read(r, e, t, n, a) {
902
+ var i = r.node.contents;
903
+ if (a >= r.node.usedBytes) return 0;
904
+ var s = Math.min(r.node.usedBytes - a, n);
905
+ if (s > 8 && i.subarray)
906
+ e.set(i.subarray(a, a + s), t);
907
+ else
908
+ for (var u = 0; u < s; u++) e[t + u] = i[a + u];
909
+ return s;
910
+ }, write(r, e, t, n, a, i) {
911
+ if (e.buffer === M.buffer && (i = !1), !n) return 0;
912
+ var s = r.node;
913
+ if (s.timestamp = Date.now(), e.subarray && (!s.contents || s.contents.subarray)) {
914
+ if (i)
915
+ return s.contents = e.subarray(t, t + n), s.usedBytes = n, n;
916
+ if (s.usedBytes === 0 && a === 0)
917
+ return s.contents = e.slice(t, t + n), s.usedBytes = n, n;
918
+ if (a + n <= s.usedBytes)
919
+ return s.contents.set(e.subarray(t, t + n), a), n;
920
+ }
921
+ if (w.expandFileStorage(s, a + n), s.contents.subarray && e.subarray)
922
+ s.contents.set(e.subarray(t, t + n), a);
923
+ else
924
+ for (var u = 0; u < n; u++)
925
+ s.contents[a + u] = e[t + u];
926
+ return s.usedBytes = Math.max(s.usedBytes, a + n), n;
927
+ }, llseek(r, e, t) {
928
+ var n = e;
929
+ if (t === 1 ? n += r.position : t === 2 && o.isFile(r.node.mode) && (n += r.node.usedBytes), n < 0)
930
+ throw new o.ErrnoError(28);
931
+ return n;
932
+ }, allocate(r, e, t) {
933
+ w.expandFileStorage(r.node, e + t), r.node.usedBytes = Math.max(r.node.usedBytes, e + t);
934
+ }, mmap(r, e, t, n, a) {
935
+ if (!o.isFile(r.node.mode))
936
+ throw new o.ErrnoError(43);
937
+ var i, s, u = r.node.contents;
938
+ if (!(a & 2) && u.buffer === M.buffer)
939
+ s = !1, i = u.byteOffset;
940
+ else {
941
+ if ((t > 0 || t + e < u.length) && (u.subarray ? u = u.subarray(t, t + e) : u = Array.prototype.slice.call(u, t, t + e)), s = !0, i = le(), !i)
942
+ throw new o.ErrnoError(48);
943
+ M.set(u, i);
944
+ }
945
+ return { ptr: i, allocated: s };
946
+ }, msync(r, e, t, n, a) {
947
+ return w.stream_ops.write(r, e, 0, n, t, !1), 0;
948
+ } } }, Rt = (r, e, t, n) => {
949
+ var a = `al ${r}`;
950
+ Ur(r, (i) => {
951
+ Ee(i, `Loading data file "${r}" failed (no arrayBuffer).`), e(new Uint8Array(i)), a && sr();
952
+ }, (i) => {
953
+ if (t)
954
+ t();
955
+ else
956
+ throw `Loading data file "${r}" failed.`;
957
+ }), a && _r();
958
+ }, Ot = (r, e, t, n, a, i) => {
959
+ o.createDataFile(r, e, t, n, a, i);
960
+ }, Ut = f.preloadPlugins || [], Wt = (r, e, t, n) => {
961
+ typeof Browser < "u" && Browser.init();
962
+ var a = !1;
963
+ return Ut.forEach((i) => {
964
+ a || i.canHandle(e) && (i.handle(r, e, t, n), a = !0);
965
+ }), a;
966
+ }, jt = (r, e, t, n, a, i, s, u, l, c) => {
967
+ var v = e ? H.resolve(b.join2(r, e)) : r;
968
+ function m(h) {
969
+ function y(p) {
970
+ c && c(), u || Ot(r, e, p, n, a, l), i && i(), sr();
971
+ }
972
+ Wt(h, v, y, () => {
973
+ s && s(), sr();
974
+ }) || y(h);
975
+ }
976
+ _r(), typeof t == "string" ? Rt(t, (h) => m(h), s) : m(t);
977
+ }, Lt = (r) => {
978
+ var e = { r: 0, "r+": 2, w: 577, "w+": 578, a: 1089, "a+": 1090 }, t = e[r];
979
+ if (typeof t > "u")
980
+ throw new Error(`Unknown file open mode: ${r}`);
981
+ return t;
982
+ }, Dr = (r, e) => {
983
+ var t = 0;
984
+ return r && (t |= 365), e && (t |= 146), t;
985
+ }, o = { root: null, mounts: [], devices: {}, streams: [], nextInode: 1, nameTable: null, currentPath: "/", initialized: !1, ignorePermissions: !0, ErrnoError: null, genericErrors: {}, filesystems: null, syncFSRequests: 0, lookupPath(r, e = {}) {
986
+ if (r = H.resolve(r), !r) return { path: "", node: null };
987
+ var t = { follow_mount: !0, recurse_count: 0 };
988
+ if (e = Object.assign(t, e), e.recurse_count > 8)
989
+ throw new o.ErrnoError(32);
990
+ for (var n = r.split("/").filter((m) => !!m), a = o.root, i = "/", s = 0; s < n.length; s++) {
991
+ var u = s === n.length - 1;
992
+ if (u && e.parent)
993
+ break;
994
+ if (a = o.lookupNode(a, n[s]), i = b.join2(i, n[s]), o.isMountpoint(a) && (!u || u && e.follow_mount) && (a = a.mounted.root), !u || e.follow)
995
+ for (var l = 0; o.isLink(a.mode); ) {
996
+ var c = o.readlink(i);
997
+ i = H.resolve(b.dirname(i), c);
998
+ var v = o.lookupPath(i, { recurse_count: e.recurse_count + 1 });
999
+ if (a = v.node, l++ > 40)
1000
+ throw new o.ErrnoError(32);
1001
+ }
1002
+ }
1003
+ return { path: i, node: a };
1004
+ }, getPath(r) {
1005
+ for (var e; ; ) {
1006
+ if (o.isRoot(r)) {
1007
+ var t = r.mount.mountpoint;
1008
+ return e ? t[t.length - 1] !== "/" ? `${t}/${e}` : t + e : t;
1009
+ }
1010
+ e = e ? `${r.name}/${e}` : r.name, r = r.parent;
1011
+ }
1012
+ }, hashName(r, e) {
1013
+ for (var t = 0, n = 0; n < e.length; n++)
1014
+ t = (t << 5) - t + e.charCodeAt(n) | 0;
1015
+ return (r + t >>> 0) % o.nameTable.length;
1016
+ }, hashAddNode(r) {
1017
+ var e = o.hashName(r.parent.id, r.name);
1018
+ r.name_next = o.nameTable[e], o.nameTable[e] = r;
1019
+ }, hashRemoveNode(r) {
1020
+ var e = o.hashName(r.parent.id, r.name);
1021
+ if (o.nameTable[e] === r)
1022
+ o.nameTable[e] = r.name_next;
1023
+ else
1024
+ for (var t = o.nameTable[e]; t; ) {
1025
+ if (t.name_next === r) {
1026
+ t.name_next = r.name_next;
1027
+ break;
1028
+ }
1029
+ t = t.name_next;
1030
+ }
1031
+ }, lookupNode(r, e) {
1032
+ var t = o.mayLookup(r);
1033
+ if (t)
1034
+ throw new o.ErrnoError(t, r);
1035
+ for (var n = o.hashName(r.id, e), a = o.nameTable[n]; a; a = a.name_next) {
1036
+ var i = a.name;
1037
+ if (a.parent.id === r.id && i === e)
1038
+ return a;
1039
+ }
1040
+ return o.lookup(r, e);
1041
+ }, createNode(r, e, t, n) {
1042
+ var a = new o.FSNode(r, e, t, n);
1043
+ return o.hashAddNode(a), a;
1044
+ }, destroyNode(r) {
1045
+ o.hashRemoveNode(r);
1046
+ }, isRoot(r) {
1047
+ return r === r.parent;
1048
+ }, isMountpoint(r) {
1049
+ return !!r.mounted;
1050
+ }, isFile(r) {
1051
+ return (r & 61440) === 32768;
1052
+ }, isDir(r) {
1053
+ return (r & 61440) === 16384;
1054
+ }, isLink(r) {
1055
+ return (r & 61440) === 40960;
1056
+ }, isChrdev(r) {
1057
+ return (r & 61440) === 8192;
1058
+ }, isBlkdev(r) {
1059
+ return (r & 61440) === 24576;
1060
+ }, isFIFO(r) {
1061
+ return (r & 61440) === 4096;
1062
+ }, isSocket(r) {
1063
+ return (r & 49152) === 49152;
1064
+ }, flagsToPermissionString(r) {
1065
+ var e = ["r", "w", "rw"][r & 3];
1066
+ return r & 512 && (e += "w"), e;
1067
+ }, nodePermissions(r, e) {
1068
+ return o.ignorePermissions ? 0 : e.includes("r") && !(r.mode & 292) || e.includes("w") && !(r.mode & 146) || e.includes("x") && !(r.mode & 73) ? 2 : 0;
1069
+ }, mayLookup(r) {
1070
+ var e = o.nodePermissions(r, "x");
1071
+ return e || (r.node_ops.lookup ? 0 : 2);
1072
+ }, mayCreate(r, e) {
1073
+ try {
1074
+ var t = o.lookupNode(r, e);
1075
+ return 20;
1076
+ } catch {
1077
+ }
1078
+ return o.nodePermissions(r, "wx");
1079
+ }, mayDelete(r, e, t) {
1080
+ var n;
1081
+ try {
1082
+ n = o.lookupNode(r, e);
1083
+ } catch (i) {
1084
+ return i.errno;
1085
+ }
1086
+ var a = o.nodePermissions(r, "wx");
1087
+ if (a)
1088
+ return a;
1089
+ if (t) {
1090
+ if (!o.isDir(n.mode))
1091
+ return 54;
1092
+ if (o.isRoot(n) || o.getPath(n) === o.cwd())
1093
+ return 10;
1094
+ } else if (o.isDir(n.mode))
1095
+ return 31;
1096
+ return 0;
1097
+ }, mayOpen(r, e) {
1098
+ return r ? o.isLink(r.mode) ? 32 : o.isDir(r.mode) && (o.flagsToPermissionString(e) !== "r" || e & 512) ? 31 : o.nodePermissions(r, o.flagsToPermissionString(e)) : 44;
1099
+ }, MAX_OPEN_FDS: 4096, nextfd() {
1100
+ for (var r = 0; r <= o.MAX_OPEN_FDS; r++)
1101
+ if (!o.streams[r])
1102
+ return r;
1103
+ throw new o.ErrnoError(33);
1104
+ }, getStreamChecked(r) {
1105
+ var e = o.getStream(r);
1106
+ if (!e)
1107
+ throw new o.ErrnoError(8);
1108
+ return e;
1109
+ }, getStream: (r) => o.streams[r], createStream(r, e = -1) {
1110
+ return o.FSStream || (o.FSStream = function() {
1111
+ this.shared = {};
1112
+ }, o.FSStream.prototype = {}, Object.defineProperties(o.FSStream.prototype, { object: { get() {
1113
+ return this.node;
1114
+ }, set(t) {
1115
+ this.node = t;
1116
+ } }, isRead: { get() {
1117
+ return (this.flags & 2097155) !== 1;
1118
+ } }, isWrite: { get() {
1119
+ return (this.flags & 2097155) !== 0;
1120
+ } }, isAppend: { get() {
1121
+ return this.flags & 1024;
1122
+ } }, flags: { get() {
1123
+ return this.shared.flags;
1124
+ }, set(t) {
1125
+ this.shared.flags = t;
1126
+ } }, position: { get() {
1127
+ return this.shared.position;
1128
+ }, set(t) {
1129
+ this.shared.position = t;
1130
+ } } })), r = Object.assign(new o.FSStream(), r), e == -1 && (e = o.nextfd()), r.fd = e, o.streams[e] = r, r;
1131
+ }, closeStream(r) {
1132
+ o.streams[r] = null;
1133
+ }, chrdev_stream_ops: { open(r) {
1134
+ var e = o.getDevice(r.node.rdev);
1135
+ r.stream_ops = e.stream_ops, r.stream_ops.open && r.stream_ops.open(r);
1136
+ }, llseek() {
1137
+ throw new o.ErrnoError(70);
1138
+ } }, major: (r) => r >> 8, minor: (r) => r & 255, makedev: (r, e) => r << 8 | e, registerDevice(r, e) {
1139
+ o.devices[r] = { stream_ops: e };
1140
+ }, getDevice: (r) => o.devices[r], getMounts(r) {
1141
+ for (var e = [], t = [r]; t.length; ) {
1142
+ var n = t.pop();
1143
+ e.push(n), t.push.apply(t, n.mounts);
1144
+ }
1145
+ return e;
1146
+ }, syncfs(r, e) {
1147
+ typeof r == "function" && (e = r, r = !1), o.syncFSRequests++, o.syncFSRequests > 1 && $(`warning: ${o.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`);
1148
+ var t = o.getMounts(o.root.mount), n = 0;
1149
+ function a(s) {
1150
+ return o.syncFSRequests--, e(s);
1151
+ }
1152
+ function i(s) {
1153
+ if (s)
1154
+ return i.errored ? void 0 : (i.errored = !0, a(s));
1155
+ ++n >= t.length && a(null);
1156
+ }
1157
+ t.forEach((s) => {
1158
+ if (!s.type.syncfs)
1159
+ return i(null);
1160
+ s.type.syncfs(s, r, i);
1161
+ });
1162
+ }, mount(r, e, t) {
1163
+ var n = t === "/", a = !t, i;
1164
+ if (n && o.root)
1165
+ throw new o.ErrnoError(10);
1166
+ if (!n && !a) {
1167
+ var s = o.lookupPath(t, { follow_mount: !1 });
1168
+ if (t = s.path, i = s.node, o.isMountpoint(i))
1169
+ throw new o.ErrnoError(10);
1170
+ if (!o.isDir(i.mode))
1171
+ throw new o.ErrnoError(54);
1172
+ }
1173
+ var u = { type: r, opts: e, mountpoint: t, mounts: [] }, l = r.mount(u);
1174
+ return l.mount = u, u.root = l, n ? o.root = l : i && (i.mounted = u, i.mount && i.mount.mounts.push(u)), l;
1175
+ }, unmount(r) {
1176
+ var e = o.lookupPath(r, { follow_mount: !1 });
1177
+ if (!o.isMountpoint(e.node))
1178
+ throw new o.ErrnoError(28);
1179
+ var t = e.node, n = t.mounted, a = o.getMounts(n);
1180
+ Object.keys(o.nameTable).forEach((s) => {
1181
+ for (var u = o.nameTable[s]; u; ) {
1182
+ var l = u.name_next;
1183
+ a.includes(u.mount) && o.destroyNode(u), u = l;
1184
+ }
1185
+ }), t.mounted = null;
1186
+ var i = t.mount.mounts.indexOf(n);
1187
+ t.mount.mounts.splice(i, 1);
1188
+ }, lookup(r, e) {
1189
+ return r.node_ops.lookup(r, e);
1190
+ }, mknod(r, e, t) {
1191
+ var n = o.lookupPath(r, { parent: !0 }), a = n.node, i = b.basename(r);
1192
+ if (!i || i === "." || i === "..")
1193
+ throw new o.ErrnoError(28);
1194
+ var s = o.mayCreate(a, i);
1195
+ if (s)
1196
+ throw new o.ErrnoError(s);
1197
+ if (!a.node_ops.mknod)
1198
+ throw new o.ErrnoError(63);
1199
+ return a.node_ops.mknod(a, i, e, t);
1200
+ }, create(r, e) {
1201
+ return e = e !== void 0 ? e : 438, e &= 4095, e |= 32768, o.mknod(r, e, 0);
1202
+ }, mkdir(r, e) {
1203
+ return e = e !== void 0 ? e : 511, e &= 1023, e |= 16384, o.mknod(r, e, 0);
1204
+ }, mkdirTree(r, e) {
1205
+ for (var t = r.split("/"), n = "", a = 0; a < t.length; ++a)
1206
+ if (t[a]) {
1207
+ n += "/" + t[a];
1208
+ try {
1209
+ o.mkdir(n, e);
1210
+ } catch (i) {
1211
+ if (i.errno != 20) throw i;
1212
+ }
1213
+ }
1214
+ }, mkdev(r, e, t) {
1215
+ return typeof t > "u" && (t = e, e = 438), e |= 8192, o.mknod(r, e, t);
1216
+ }, symlink(r, e) {
1217
+ if (!H.resolve(r))
1218
+ throw new o.ErrnoError(44);
1219
+ var t = o.lookupPath(e, { parent: !0 }), n = t.node;
1220
+ if (!n)
1221
+ throw new o.ErrnoError(44);
1222
+ var a = b.basename(e), i = o.mayCreate(n, a);
1223
+ if (i)
1224
+ throw new o.ErrnoError(i);
1225
+ if (!n.node_ops.symlink)
1226
+ throw new o.ErrnoError(63);
1227
+ return n.node_ops.symlink(n, a, r);
1228
+ }, rename(r, e) {
1229
+ var t = b.dirname(r), n = b.dirname(e), a = b.basename(r), i = b.basename(e), s, u, l;
1230
+ if (s = o.lookupPath(r, { parent: !0 }), u = s.node, s = o.lookupPath(e, { parent: !0 }), l = s.node, !u || !l) throw new o.ErrnoError(44);
1231
+ if (u.mount !== l.mount)
1232
+ throw new o.ErrnoError(75);
1233
+ var c = o.lookupNode(u, a), v = H.relative(r, n);
1234
+ if (v.charAt(0) !== ".")
1235
+ throw new o.ErrnoError(28);
1236
+ if (v = H.relative(e, t), v.charAt(0) !== ".")
1237
+ throw new o.ErrnoError(55);
1238
+ var m;
1239
+ try {
1240
+ m = o.lookupNode(l, i);
1241
+ } catch {
1242
+ }
1243
+ if (c !== m) {
1244
+ var h = o.isDir(c.mode), y = o.mayDelete(u, a, h);
1245
+ if (y)
1246
+ throw new o.ErrnoError(y);
1247
+ if (y = m ? o.mayDelete(l, i, h) : o.mayCreate(l, i), y)
1248
+ throw new o.ErrnoError(y);
1249
+ if (!u.node_ops.rename)
1250
+ throw new o.ErrnoError(63);
1251
+ if (o.isMountpoint(c) || m && o.isMountpoint(m))
1252
+ throw new o.ErrnoError(10);
1253
+ if (l !== u && (y = o.nodePermissions(u, "w"), y))
1254
+ throw new o.ErrnoError(y);
1255
+ o.hashRemoveNode(c);
1256
+ try {
1257
+ u.node_ops.rename(c, l, i);
1258
+ } catch (p) {
1259
+ throw p;
1260
+ } finally {
1261
+ o.hashAddNode(c);
1262
+ }
1263
+ }
1264
+ }, rmdir(r) {
1265
+ var e = o.lookupPath(r, { parent: !0 }), t = e.node, n = b.basename(r), a = o.lookupNode(t, n), i = o.mayDelete(t, n, !0);
1266
+ if (i)
1267
+ throw new o.ErrnoError(i);
1268
+ if (!t.node_ops.rmdir)
1269
+ throw new o.ErrnoError(63);
1270
+ if (o.isMountpoint(a))
1271
+ throw new o.ErrnoError(10);
1272
+ t.node_ops.rmdir(t, n), o.destroyNode(a);
1273
+ }, readdir(r) {
1274
+ var e = o.lookupPath(r, { follow: !0 }), t = e.node;
1275
+ if (!t.node_ops.readdir)
1276
+ throw new o.ErrnoError(54);
1277
+ return t.node_ops.readdir(t);
1278
+ }, unlink(r) {
1279
+ var e = o.lookupPath(r, { parent: !0 }), t = e.node;
1280
+ if (!t)
1281
+ throw new o.ErrnoError(44);
1282
+ var n = b.basename(r), a = o.lookupNode(t, n), i = o.mayDelete(t, n, !1);
1283
+ if (i)
1284
+ throw new o.ErrnoError(i);
1285
+ if (!t.node_ops.unlink)
1286
+ throw new o.ErrnoError(63);
1287
+ if (o.isMountpoint(a))
1288
+ throw new o.ErrnoError(10);
1289
+ t.node_ops.unlink(t, n), o.destroyNode(a);
1290
+ }, readlink(r) {
1291
+ var e = o.lookupPath(r), t = e.node;
1292
+ if (!t)
1293
+ throw new o.ErrnoError(44);
1294
+ if (!t.node_ops.readlink)
1295
+ throw new o.ErrnoError(28);
1296
+ return H.resolve(o.getPath(t.parent), t.node_ops.readlink(t));
1297
+ }, stat(r, e) {
1298
+ var t = o.lookupPath(r, { follow: !e }), n = t.node;
1299
+ if (!n)
1300
+ throw new o.ErrnoError(44);
1301
+ if (!n.node_ops.getattr)
1302
+ throw new o.ErrnoError(63);
1303
+ return n.node_ops.getattr(n);
1304
+ }, lstat(r) {
1305
+ return o.stat(r, !0);
1306
+ }, chmod(r, e, t) {
1307
+ var n;
1308
+ if (typeof r == "string") {
1309
+ var a = o.lookupPath(r, { follow: !t });
1310
+ n = a.node;
1311
+ } else
1312
+ n = r;
1313
+ if (!n.node_ops.setattr)
1314
+ throw new o.ErrnoError(63);
1315
+ n.node_ops.setattr(n, { mode: e & 4095 | n.mode & -4096, timestamp: Date.now() });
1316
+ }, lchmod(r, e) {
1317
+ o.chmod(r, e, !0);
1318
+ }, fchmod(r, e) {
1319
+ var t = o.getStreamChecked(r);
1320
+ o.chmod(t.node, e);
1321
+ }, chown(r, e, t, n) {
1322
+ var a;
1323
+ if (typeof r == "string") {
1324
+ var i = o.lookupPath(r, { follow: !n });
1325
+ a = i.node;
1326
+ } else
1327
+ a = r;
1328
+ if (!a.node_ops.setattr)
1329
+ throw new o.ErrnoError(63);
1330
+ a.node_ops.setattr(a, { timestamp: Date.now() });
1331
+ }, lchown(r, e, t) {
1332
+ o.chown(r, e, t, !0);
1333
+ }, fchown(r, e, t) {
1334
+ var n = o.getStreamChecked(r);
1335
+ o.chown(n.node, e, t);
1336
+ }, truncate(r, e) {
1337
+ if (e < 0)
1338
+ throw new o.ErrnoError(28);
1339
+ var t;
1340
+ if (typeof r == "string") {
1341
+ var n = o.lookupPath(r, { follow: !0 });
1342
+ t = n.node;
1343
+ } else
1344
+ t = r;
1345
+ if (!t.node_ops.setattr)
1346
+ throw new o.ErrnoError(63);
1347
+ if (o.isDir(t.mode))
1348
+ throw new o.ErrnoError(31);
1349
+ if (!o.isFile(t.mode))
1350
+ throw new o.ErrnoError(28);
1351
+ var a = o.nodePermissions(t, "w");
1352
+ if (a)
1353
+ throw new o.ErrnoError(a);
1354
+ t.node_ops.setattr(t, { size: e, timestamp: Date.now() });
1355
+ }, ftruncate(r, e) {
1356
+ var t = o.getStreamChecked(r);
1357
+ if (!(t.flags & 2097155))
1358
+ throw new o.ErrnoError(28);
1359
+ o.truncate(t.node, e);
1360
+ }, utime(r, e, t) {
1361
+ var n = o.lookupPath(r, { follow: !0 }), a = n.node;
1362
+ a.node_ops.setattr(a, { timestamp: Math.max(e, t) });
1363
+ }, open(r, e, t) {
1364
+ if (r === "")
1365
+ throw new o.ErrnoError(44);
1366
+ e = typeof e == "string" ? Lt(e) : e, t = typeof t > "u" ? 438 : t, e & 64 ? t = t & 4095 | 32768 : t = 0;
1367
+ var n;
1368
+ if (typeof r == "object")
1369
+ n = r;
1370
+ else {
1371
+ r = b.normalize(r);
1372
+ try {
1373
+ var a = o.lookupPath(r, { follow: !(e & 131072) });
1374
+ n = a.node;
1375
+ } catch {
1376
+ }
1377
+ }
1378
+ var i = !1;
1379
+ if (e & 64)
1380
+ if (n) {
1381
+ if (e & 128)
1382
+ throw new o.ErrnoError(20);
1383
+ } else
1384
+ n = o.mknod(r, t, 0), i = !0;
1385
+ if (!n)
1386
+ throw new o.ErrnoError(44);
1387
+ if (o.isChrdev(n.mode) && (e &= -513), e & 65536 && !o.isDir(n.mode))
1388
+ throw new o.ErrnoError(54);
1389
+ if (!i) {
1390
+ var s = o.mayOpen(n, e);
1391
+ if (s)
1392
+ throw new o.ErrnoError(s);
1393
+ }
1394
+ e & 512 && !i && o.truncate(n, 0), e &= -131713;
1395
+ var u = o.createStream({ node: n, path: o.getPath(n), flags: e, seekable: !0, position: 0, stream_ops: n.stream_ops, ungotten: [], error: !1 });
1396
+ return u.stream_ops.open && u.stream_ops.open(u), f.logReadFiles && !(e & 1) && (o.readFiles || (o.readFiles = {}), r in o.readFiles || (o.readFiles[r] = 1)), u;
1397
+ }, close(r) {
1398
+ if (o.isClosed(r))
1399
+ throw new o.ErrnoError(8);
1400
+ r.getdents && (r.getdents = null);
1401
+ try {
1402
+ r.stream_ops.close && r.stream_ops.close(r);
1403
+ } catch (e) {
1404
+ throw e;
1405
+ } finally {
1406
+ o.closeStream(r.fd);
1407
+ }
1408
+ r.fd = null;
1409
+ }, isClosed(r) {
1410
+ return r.fd === null;
1411
+ }, llseek(r, e, t) {
1412
+ if (o.isClosed(r))
1413
+ throw new o.ErrnoError(8);
1414
+ if (!r.seekable || !r.stream_ops.llseek)
1415
+ throw new o.ErrnoError(70);
1416
+ if (t != 0 && t != 1 && t != 2)
1417
+ throw new o.ErrnoError(28);
1418
+ return r.position = r.stream_ops.llseek(r, e, t), r.ungotten = [], r.position;
1419
+ }, read(r, e, t, n, a) {
1420
+ if (n < 0 || a < 0)
1421
+ throw new o.ErrnoError(28);
1422
+ if (o.isClosed(r))
1423
+ throw new o.ErrnoError(8);
1424
+ if ((r.flags & 2097155) === 1)
1425
+ throw new o.ErrnoError(8);
1426
+ if (o.isDir(r.node.mode))
1427
+ throw new o.ErrnoError(31);
1428
+ if (!r.stream_ops.read)
1429
+ throw new o.ErrnoError(28);
1430
+ var i = typeof a < "u";
1431
+ if (!i)
1432
+ a = r.position;
1433
+ else if (!r.seekable)
1434
+ throw new o.ErrnoError(70);
1435
+ var s = r.stream_ops.read(r, e, t, n, a);
1436
+ return i || (r.position += s), s;
1437
+ }, write(r, e, t, n, a, i) {
1438
+ if (n < 0 || a < 0)
1439
+ throw new o.ErrnoError(28);
1440
+ if (o.isClosed(r))
1441
+ throw new o.ErrnoError(8);
1442
+ if (!(r.flags & 2097155))
1443
+ throw new o.ErrnoError(8);
1444
+ if (o.isDir(r.node.mode))
1445
+ throw new o.ErrnoError(31);
1446
+ if (!r.stream_ops.write)
1447
+ throw new o.ErrnoError(28);
1448
+ r.seekable && r.flags & 1024 && o.llseek(r, 0, 2);
1449
+ var s = typeof a < "u";
1450
+ if (!s)
1451
+ a = r.position;
1452
+ else if (!r.seekable)
1453
+ throw new o.ErrnoError(70);
1454
+ var u = r.stream_ops.write(r, e, t, n, a, i);
1455
+ return s || (r.position += u), u;
1456
+ }, allocate(r, e, t) {
1457
+ if (o.isClosed(r))
1458
+ throw new o.ErrnoError(8);
1459
+ if (e < 0 || t <= 0)
1460
+ throw new o.ErrnoError(28);
1461
+ if (!(r.flags & 2097155))
1462
+ throw new o.ErrnoError(8);
1463
+ if (!o.isFile(r.node.mode) && !o.isDir(r.node.mode))
1464
+ throw new o.ErrnoError(43);
1465
+ if (!r.stream_ops.allocate)
1466
+ throw new o.ErrnoError(138);
1467
+ r.stream_ops.allocate(r, e, t);
1468
+ }, mmap(r, e, t, n, a) {
1469
+ if (n & 2 && !(a & 2) && (r.flags & 2097155) !== 2)
1470
+ throw new o.ErrnoError(2);
1471
+ if ((r.flags & 2097155) === 1)
1472
+ throw new o.ErrnoError(2);
1473
+ if (!r.stream_ops.mmap)
1474
+ throw new o.ErrnoError(43);
1475
+ return r.stream_ops.mmap(r, e, t, n, a);
1476
+ }, msync(r, e, t, n, a) {
1477
+ return r.stream_ops.msync ? r.stream_ops.msync(r, e, t, n, a) : 0;
1478
+ }, munmap: (r) => 0, ioctl(r, e, t) {
1479
+ if (!r.stream_ops.ioctl)
1480
+ throw new o.ErrnoError(59);
1481
+ return r.stream_ops.ioctl(r, e, t);
1482
+ }, readFile(r, e = {}) {
1483
+ if (e.flags = e.flags || 0, e.encoding = e.encoding || "binary", e.encoding !== "utf8" && e.encoding !== "binary")
1484
+ throw new Error(`Invalid encoding type "${e.encoding}"`);
1485
+ var t, n = o.open(r, e.flags), a = o.stat(r), i = a.size, s = new Uint8Array(i);
1486
+ return o.read(n, s, 0, i, 0), e.encoding === "utf8" ? t = Z(s, 0) : e.encoding === "binary" && (t = s), o.close(n), t;
1487
+ }, writeFile(r, e, t = {}) {
1488
+ t.flags = t.flags || 577;
1489
+ var n = o.open(r, t.flags, t.mode);
1490
+ if (typeof e == "string") {
1491
+ var a = new Uint8Array(cr(e) + 1), i = br(e, a, 0, a.length);
1492
+ o.write(n, a, 0, i, void 0, t.canOwn);
1493
+ } else if (ArrayBuffer.isView(e))
1494
+ o.write(n, e, 0, e.byteLength, void 0, t.canOwn);
1495
+ else
1496
+ throw new Error("Unsupported data type");
1497
+ o.close(n);
1498
+ }, cwd: () => o.currentPath, chdir(r) {
1499
+ var e = o.lookupPath(r, { follow: !0 });
1500
+ if (e.node === null)
1501
+ throw new o.ErrnoError(44);
1502
+ if (!o.isDir(e.node.mode))
1503
+ throw new o.ErrnoError(54);
1504
+ var t = o.nodePermissions(e.node, "x");
1505
+ if (t)
1506
+ throw new o.ErrnoError(t);
1507
+ o.currentPath = e.path;
1508
+ }, createDefaultDirectories() {
1509
+ o.mkdir("/tmp"), o.mkdir("/home"), o.mkdir("/home/web_user");
1510
+ }, createDefaultDevices() {
1511
+ o.mkdir("/dev"), o.registerDevice(o.makedev(1, 3), { read: () => 0, write: (n, a, i, s, u) => s }), o.mkdev("/dev/null", o.makedev(1, 3)), q.register(o.makedev(5, 0), q.default_tty_ops), q.register(o.makedev(6, 0), q.default_tty1_ops), o.mkdev("/dev/tty", o.makedev(5, 0)), o.mkdev("/dev/tty1", o.makedev(6, 0));
1512
+ var r = new Uint8Array(1024), e = 0, t = () => (e === 0 && (e = ue(r).byteLength), r[--e]);
1513
+ o.createDevice("/dev", "random", t), o.createDevice("/dev", "urandom", t), o.mkdir("/dev/shm"), o.mkdir("/dev/shm/tmp");
1514
+ }, createSpecialDirectories() {
1515
+ o.mkdir("/proc");
1516
+ var r = o.mkdir("/proc/self");
1517
+ o.mkdir("/proc/self/fd"), o.mount({ mount() {
1518
+ var e = o.createNode(r, "fd", 16895, 73);
1519
+ return e.node_ops = { lookup(t, n) {
1520
+ var a = +n, i = o.getStreamChecked(a), s = { parent: null, mount: { mountpoint: "fake" }, node_ops: { readlink: () => i.path } };
1521
+ return s.parent = s, s;
1522
+ } }, e;
1523
+ } }, {}, "/proc/self/fd");
1524
+ }, createStandardStreams() {
1525
+ f.stdin ? o.createDevice("/dev", "stdin", f.stdin) : o.symlink("/dev/tty", "/dev/stdin"), f.stdout ? o.createDevice("/dev", "stdout", null, f.stdout) : o.symlink("/dev/tty", "/dev/stdout"), f.stderr ? o.createDevice("/dev", "stderr", null, f.stderr) : o.symlink("/dev/tty1", "/dev/stderr"), o.open("/dev/stdin", 0), o.open("/dev/stdout", 1), o.open("/dev/stderr", 1);
1526
+ }, ensureErrnoError() {
1527
+ o.ErrnoError || (o.ErrnoError = function(e, t) {
1528
+ this.name = "ErrnoError", this.node = t, this.setErrno = function(n) {
1529
+ this.errno = n;
1530
+ }, this.setErrno(e), this.message = "FS error";
1531
+ }, o.ErrnoError.prototype = new Error(), o.ErrnoError.prototype.constructor = o.ErrnoError, [44].forEach((r) => {
1532
+ o.genericErrors[r] = new o.ErrnoError(r), o.genericErrors[r].stack = "<generic error, no stack>";
1533
+ }));
1534
+ }, staticInit() {
1535
+ o.ensureErrnoError(), o.nameTable = new Array(4096), o.mount(w, {}, "/"), o.createDefaultDirectories(), o.createDefaultDevices(), o.createSpecialDirectories(), o.filesystems = { MEMFS: w };
1536
+ }, init(r, e, t) {
1537
+ o.init.initialized = !0, o.ensureErrnoError(), f.stdin = r || f.stdin, f.stdout = e || f.stdout, f.stderr = t || f.stderr, o.createStandardStreams();
1538
+ }, quit() {
1539
+ o.init.initialized = !1;
1540
+ for (var r = 0; r < o.streams.length; r++) {
1541
+ var e = o.streams[r];
1542
+ e && o.close(e);
1543
+ }
1544
+ }, findObject(r, e) {
1545
+ var t = o.analyzePath(r, e);
1546
+ return t.exists ? t.object : null;
1547
+ }, analyzePath(r, e) {
1548
+ try {
1549
+ var t = o.lookupPath(r, { follow: !e });
1550
+ r = t.path;
1551
+ } catch {
1552
+ }
1553
+ var n = { isRoot: !1, exists: !1, error: 0, name: null, path: null, object: null, parentExists: !1, parentPath: null, parentObject: null };
1554
+ try {
1555
+ var t = o.lookupPath(r, { parent: !0 });
1556
+ n.parentExists = !0, n.parentPath = t.path, n.parentObject = t.node, n.name = b.basename(r), t = o.lookupPath(r, { follow: !e }), n.exists = !0, n.path = t.path, n.object = t.node, n.name = t.node.name, n.isRoot = t.path === "/";
1557
+ } catch (a) {
1558
+ n.error = a.errno;
1559
+ }
1560
+ return n;
1561
+ }, createPath(r, e, t, n) {
1562
+ r = typeof r == "string" ? r : o.getPath(r);
1563
+ for (var a = e.split("/").reverse(); a.length; ) {
1564
+ var i = a.pop();
1565
+ if (i) {
1566
+ var s = b.join2(r, i);
1567
+ try {
1568
+ o.mkdir(s);
1569
+ } catch {
1570
+ }
1571
+ r = s;
1572
+ }
1573
+ }
1574
+ return s;
1575
+ }, createFile(r, e, t, n, a) {
1576
+ var i = b.join2(typeof r == "string" ? r : o.getPath(r), e), s = Dr(n, a);
1577
+ return o.create(i, s);
1578
+ }, createDataFile(r, e, t, n, a, i) {
1579
+ var s = e;
1580
+ r && (r = typeof r == "string" ? r : o.getPath(r), s = e ? b.join2(r, e) : r);
1581
+ var u = Dr(n, a), l = o.create(s, u);
1582
+ if (t) {
1583
+ if (typeof t == "string") {
1584
+ for (var c = new Array(t.length), v = 0, m = t.length; v < m; ++v) c[v] = t.charCodeAt(v);
1585
+ t = c;
1586
+ }
1587
+ o.chmod(l, u | 146);
1588
+ var h = o.open(l, 577);
1589
+ o.write(h, t, 0, t.length, 0, i), o.close(h), o.chmod(l, u);
1590
+ }
1591
+ }, createDevice(r, e, t, n) {
1592
+ var a = b.join2(typeof r == "string" ? r : o.getPath(r), e), i = Dr(!!t, !!n);
1593
+ o.createDevice.major || (o.createDevice.major = 64);
1594
+ var s = o.makedev(o.createDevice.major++, 0);
1595
+ return o.registerDevice(s, { open(u) {
1596
+ u.seekable = !1;
1597
+ }, close(u) {
1598
+ n && n.buffer && n.buffer.length && n(10);
1599
+ }, read(u, l, c, v, m) {
1600
+ for (var h = 0, y = 0; y < v; y++) {
1601
+ var p;
1602
+ try {
1603
+ p = t();
1604
+ } catch {
1605
+ throw new o.ErrnoError(29);
1606
+ }
1607
+ if (p === void 0 && h === 0)
1608
+ throw new o.ErrnoError(6);
1609
+ if (p == null) break;
1610
+ h++, l[c + y] = p;
1611
+ }
1612
+ return h && (u.node.timestamp = Date.now()), h;
1613
+ }, write(u, l, c, v, m) {
1614
+ for (var h = 0; h < v; h++)
1615
+ try {
1616
+ n(l[c + h]);
1617
+ } catch {
1618
+ throw new o.ErrnoError(29);
1619
+ }
1620
+ return v && (u.node.timestamp = Date.now()), h;
1621
+ } }), o.mkdev(a, i, s);
1622
+ }, forceLoadFile(r) {
1623
+ if (r.isDevice || r.isFolder || r.link || r.contents) return !0;
1624
+ if (typeof XMLHttpRequest < "u")
1625
+ throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.");
1626
+ if (gr)
1627
+ try {
1628
+ r.contents = vr(gr(r.url), !0), r.usedBytes = r.contents.length;
1629
+ } catch {
1630
+ throw new o.ErrnoError(29);
1631
+ }
1632
+ else
1633
+ throw new Error("Cannot load without read() or XMLHttpRequest.");
1634
+ }, createLazyFile(r, e, t, n, a) {
1635
+ function i() {
1636
+ this.lengthKnown = !1, this.chunks = [];
1637
+ }
1638
+ if (i.prototype.get = function(y) {
1639
+ if (!(y > this.length - 1 || y < 0)) {
1640
+ var p = y % this.chunkSize, F = y / this.chunkSize | 0;
1641
+ return this.getter(F)[p];
1642
+ }
1643
+ }, i.prototype.setDataGetter = function(y) {
1644
+ this.getter = y;
1645
+ }, i.prototype.cacheLength = function() {
1646
+ var y = new XMLHttpRequest();
1647
+ if (y.open("HEAD", t, !1), y.send(null), !(y.status >= 200 && y.status < 300 || y.status === 304)) throw new Error("Couldn't load " + t + ". Status: " + y.status);
1648
+ var p = Number(y.getResponseHeader("Content-length")), F, D = (F = y.getResponseHeader("Accept-Ranges")) && F === "bytes", S = (F = y.getResponseHeader("Content-Encoding")) && F === "gzip", d = 1024 * 1024;
1649
+ D || (d = p);
1650
+ var g = (A, L) => {
1651
+ if (A > L) throw new Error("invalid range (" + A + ", " + L + ") or no bytes requested!");
1652
+ if (L > p - 1) throw new Error("only " + p + " bytes available! programmer error!");
1653
+ var P = new XMLHttpRequest();
1654
+ if (P.open("GET", t, !1), p !== d && P.setRequestHeader("Range", "bytes=" + A + "-" + L), P.responseType = "arraybuffer", P.overrideMimeType && P.overrideMimeType("text/plain; charset=x-user-defined"), P.send(null), !(P.status >= 200 && P.status < 300 || P.status === 304)) throw new Error("Couldn't load " + t + ". Status: " + P.status);
1655
+ return P.response !== void 0 ? new Uint8Array(P.response || []) : vr(P.responseText || "", !0);
1656
+ }, C = this;
1657
+ C.setDataGetter((A) => {
1658
+ var L = A * d, P = (A + 1) * d - 1;
1659
+ if (P = Math.min(P, p - 1), typeof C.chunks[A] > "u" && (C.chunks[A] = g(L, P)), typeof C.chunks[A] > "u") throw new Error("doXHR failed!");
1660
+ return C.chunks[A];
1661
+ }), (S || !p) && (d = p = 1, p = this.getter(0).length, d = p, wr("LazyFiles on gzip forces download of the whole file when length is accessed")), this._length = p, this._chunkSize = d, this.lengthKnown = !0;
1662
+ }, typeof XMLHttpRequest < "u") {
1663
+ throw "Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";
1664
+ var s, u;
1665
+ } else
1666
+ var u = { isDevice: !1, url: t };
1667
+ var l = o.createFile(r, e, u, n, a);
1668
+ u.contents ? l.contents = u.contents : u.url && (l.contents = null, l.url = u.url), Object.defineProperties(l, { usedBytes: { get: function() {
1669
+ return this.contents.length;
1670
+ } } });
1671
+ var c = {}, v = Object.keys(l.stream_ops);
1672
+ v.forEach((h) => {
1673
+ var y = l.stream_ops[h];
1674
+ c[h] = function() {
1675
+ return o.forceLoadFile(l), y.apply(null, arguments);
1676
+ };
1677
+ });
1678
+ function m(h, y, p, F, D) {
1679
+ var S = h.node.contents;
1680
+ if (D >= S.length) return 0;
1681
+ var d = Math.min(S.length - D, F);
1682
+ if (S.slice)
1683
+ for (var g = 0; g < d; g++)
1684
+ y[p + g] = S[D + g];
1685
+ else
1686
+ for (var g = 0; g < d; g++)
1687
+ y[p + g] = S.get(D + g);
1688
+ return d;
1689
+ }
1690
+ return c.read = (h, y, p, F, D) => (o.forceLoadFile(l), m(h, y, p, F, D)), c.mmap = (h, y, p, F, D) => {
1691
+ o.forceLoadFile(l);
1692
+ var S = le();
1693
+ if (!S)
1694
+ throw new o.ErrnoError(48);
1695
+ return m(h, M, S, y, p), { ptr: S, allocated: !0 };
1696
+ }, l.stream_ops = c, l;
1697
+ } }, I = { DEFAULT_POLLMASK: 5, calculateAt(r, e, t) {
1698
+ if (b.isAbs(e))
1699
+ return e;
1700
+ var n;
1701
+ if (r === -100)
1702
+ n = o.cwd();
1703
+ else {
1704
+ var a = I.getStreamFromFD(r);
1705
+ n = a.path;
1706
+ }
1707
+ if (e.length == 0) {
1708
+ if (!t)
1709
+ throw new o.ErrnoError(44);
1710
+ return n;
1711
+ }
1712
+ return b.join2(n, e);
1713
+ }, doStat(r, e, t) {
1714
+ try {
1715
+ var n = r(e);
1716
+ } catch (u) {
1717
+ if (u && u.node && b.normalize(e) !== b.normalize(o.getPath(u.node)))
1718
+ return -54;
1719
+ throw u;
1720
+ }
1721
+ _[t >> 2] = n.dev, _[t + 4 >> 2] = n.mode, k[t + 8 >> 2] = n.nlink, _[t + 12 >> 2] = n.uid, _[t + 16 >> 2] = n.gid, _[t + 20 >> 2] = n.rdev, T = [n.size >>> 0, (E = n.size, +Math.abs(E) >= 1 ? E > 0 ? +Math.floor(E / 4294967296) >>> 0 : ~~+Math.ceil((E - +(~~E >>> 0)) / 4294967296) >>> 0 : 0)], _[t + 24 >> 2] = T[0], _[t + 28 >> 2] = T[1], _[t + 32 >> 2] = 4096, _[t + 36 >> 2] = n.blocks;
1722
+ var a = n.atime.getTime(), i = n.mtime.getTime(), s = n.ctime.getTime();
1723
+ return T = [Math.floor(a / 1e3) >>> 0, (E = Math.floor(a / 1e3), +Math.abs(E) >= 1 ? E > 0 ? +Math.floor(E / 4294967296) >>> 0 : ~~+Math.ceil((E - +(~~E >>> 0)) / 4294967296) >>> 0 : 0)], _[t + 40 >> 2] = T[0], _[t + 44 >> 2] = T[1], k[t + 48 >> 2] = a % 1e3 * 1e3, T = [Math.floor(i / 1e3) >>> 0, (E = Math.floor(i / 1e3), +Math.abs(E) >= 1 ? E > 0 ? +Math.floor(E / 4294967296) >>> 0 : ~~+Math.ceil((E - +(~~E >>> 0)) / 4294967296) >>> 0 : 0)], _[t + 56 >> 2] = T[0], _[t + 60 >> 2] = T[1], k[t + 64 >> 2] = i % 1e3 * 1e3, T = [Math.floor(s / 1e3) >>> 0, (E = Math.floor(s / 1e3), +Math.abs(E) >= 1 ? E > 0 ? +Math.floor(E / 4294967296) >>> 0 : ~~+Math.ceil((E - +(~~E >>> 0)) / 4294967296) >>> 0 : 0)], _[t + 72 >> 2] = T[0], _[t + 76 >> 2] = T[1], k[t + 80 >> 2] = s % 1e3 * 1e3, T = [n.ino >>> 0, (E = n.ino, +Math.abs(E) >= 1 ? E > 0 ? +Math.floor(E / 4294967296) >>> 0 : ~~+Math.ceil((E - +(~~E >>> 0)) / 4294967296) >>> 0 : 0)], _[t + 88 >> 2] = T[0], _[t + 92 >> 2] = T[1], 0;
1724
+ }, doMsync(r, e, t, n, a) {
1725
+ if (!o.isFile(e.node.mode))
1726
+ throw new o.ErrnoError(43);
1727
+ if (n & 2)
1728
+ return 0;
1729
+ var i = O.slice(r, r + t);
1730
+ o.msync(e, i, a, t, n);
1731
+ }, varargs: void 0, get() {
1732
+ var r = _[+I.varargs >> 2];
1733
+ return I.varargs += 4, r;
1734
+ }, getp() {
1735
+ return I.get();
1736
+ }, getStr(r) {
1737
+ var e = nr(r);
1738
+ return e;
1739
+ }, getStreamFromFD(r) {
1740
+ var e = o.getStreamChecked(r);
1741
+ return e;
1742
+ } }, zt = (r, e) => {
1743
+ var t = 0;
1744
+ return or().forEach((n, a) => {
1745
+ var i = e + t;
1746
+ k[r + a * 4 >> 2] = i, Tt(n, i), t += n.length + 1;
1747
+ }), 0;
1748
+ }, Nt = (r, e) => {
1749
+ var t = or();
1750
+ k[r >> 2] = t.length;
1751
+ var n = 0;
1752
+ return t.forEach((a) => n += a.length + 1), k[e >> 2] = n, 0;
1753
+ };
1754
+ function xt(r) {
1755
+ try {
1756
+ var e = I.getStreamFromFD(r);
1757
+ return o.close(e), 0;
1758
+ } catch (t) {
1759
+ if (typeof o > "u" || t.name !== "ErrnoError") throw t;
1760
+ return t.errno;
1761
+ }
1762
+ }
1763
+ var Ht = (r, e, t, n) => {
1764
+ for (var a = 0, i = 0; i < t; i++) {
1765
+ var s = k[e >> 2], u = k[e + 4 >> 2];
1766
+ e += 8;
1767
+ var l = o.read(r, M, s, u, n);
1768
+ if (l < 0) return -1;
1769
+ if (a += l, l < u) break;
1770
+ }
1771
+ return a;
1772
+ };
1773
+ function Bt(r, e, t, n) {
1774
+ try {
1775
+ var a = I.getStreamFromFD(r), i = Ht(a, e, t);
1776
+ return k[n >> 2] = i, 0;
1777
+ } catch (s) {
1778
+ if (typeof o > "u" || s.name !== "ErrnoError") throw s;
1779
+ return s.errno;
1780
+ }
1781
+ }
1782
+ var $t = (r, e) => e + 2097152 >>> 0 < 4194305 - !!r ? (r >>> 0) + e * 4294967296 : NaN;
1783
+ function It(r, e, t, n, a) {
1784
+ var i = $t(e, t);
1785
+ try {
1786
+ if (isNaN(i)) return 61;
1787
+ var s = I.getStreamFromFD(r);
1788
+ return o.llseek(s, i, n), T = [s.position >>> 0, (E = s.position, +Math.abs(E) >= 1 ? E > 0 ? +Math.floor(E / 4294967296) >>> 0 : ~~+Math.ceil((E - +(~~E >>> 0)) / 4294967296) >>> 0 : 0)], _[a >> 2] = T[0], _[a + 4 >> 2] = T[1], s.getdents && i === 0 && n === 0 && (s.getdents = null), 0;
1789
+ } catch (u) {
1790
+ if (typeof o > "u" || u.name !== "ErrnoError") throw u;
1791
+ return u.errno;
1792
+ }
1793
+ }
1794
+ var Yt = (r, e, t, n) => {
1795
+ for (var a = 0, i = 0; i < t; i++) {
1796
+ var s = k[e >> 2], u = k[e + 4 >> 2];
1797
+ e += 8;
1798
+ var l = o.write(r, M, s, u, n);
1799
+ if (l < 0) return -1;
1800
+ a += l;
1801
+ }
1802
+ return a;
1803
+ };
1804
+ function Vt(r, e, t, n) {
1805
+ try {
1806
+ var a = I.getStreamFromFD(r), i = Yt(a, e, t);
1807
+ return k[n >> 2] = i, 0;
1808
+ } catch (s) {
1809
+ if (typeof o > "u" || s.name !== "ErrnoError") throw s;
1810
+ return s.errno;
1811
+ }
1812
+ }
1813
+ var hr = (r) => r % 4 === 0 && (r % 100 !== 0 || r % 400 === 0), qt = (r, e) => {
1814
+ for (var t = 0, n = 0; n <= e; t += r[n++])
1815
+ ;
1816
+ return t;
1817
+ }, fe = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31], de = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31], Xt = (r, e) => {
1818
+ for (var t = new Date(r.getTime()); e > 0; ) {
1819
+ var n = hr(t.getFullYear()), a = t.getMonth(), i = (n ? fe : de)[a];
1820
+ if (e > i - t.getDate())
1821
+ e -= i - t.getDate() + 1, t.setDate(1), a < 11 ? t.setMonth(a + 1) : (t.setMonth(0), t.setFullYear(t.getFullYear() + 1));
1822
+ else
1823
+ return t.setDate(t.getDate() + e), t;
1824
+ }
1825
+ return t;
1826
+ }, ce = (r, e) => {
1827
+ M.set(r, e);
1828
+ }, Gt = (r, e, t, n) => {
1829
+ var a = k[n + 40 >> 2], i = { tm_sec: _[n >> 2], tm_min: _[n + 4 >> 2], tm_hour: _[n + 8 >> 2], tm_mday: _[n + 12 >> 2], tm_mon: _[n + 16 >> 2], tm_year: _[n + 20 >> 2], tm_wday: _[n + 24 >> 2], tm_yday: _[n + 28 >> 2], tm_isdst: _[n + 32 >> 2], tm_gmtoff: _[n + 36 >> 2], tm_zone: a ? nr(a) : "" }, s = nr(t), u = { "%c": "%a %b %d %H:%M:%S %Y", "%D": "%m/%d/%y", "%F": "%Y-%m-%d", "%h": "%b", "%r": "%I:%M:%S %p", "%R": "%H:%M", "%T": "%H:%M:%S", "%x": "%m/%d/%y", "%X": "%H:%M:%S", "%Ec": "%c", "%EC": "%C", "%Ex": "%m/%d/%y", "%EX": "%H:%M:%S", "%Ey": "%y", "%EY": "%Y", "%Od": "%d", "%Oe": "%e", "%OH": "%H", "%OI": "%I", "%Om": "%m", "%OM": "%M", "%OS": "%S", "%Ou": "%u", "%OU": "%U", "%OV": "%V", "%Ow": "%w", "%OW": "%W", "%Oy": "%y" };
1830
+ for (var l in u)
1831
+ s = s.replace(new RegExp(l, "g"), u[l]);
1832
+ var c = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"], v = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
1833
+ function m(d, g, C) {
1834
+ for (var A = typeof d == "number" ? d.toString() : d || ""; A.length < g; )
1835
+ A = C[0] + A;
1836
+ return A;
1837
+ }
1838
+ function h(d, g) {
1839
+ return m(d, g, "0");
1840
+ }
1841
+ function y(d, g) {
1842
+ function C(L) {
1843
+ return L < 0 ? -1 : L > 0 ? 1 : 0;
1844
+ }
1845
+ var A;
1846
+ return (A = C(d.getFullYear() - g.getFullYear())) === 0 && (A = C(d.getMonth() - g.getMonth())) === 0 && (A = C(d.getDate() - g.getDate())), A;
1847
+ }
1848
+ function p(d) {
1849
+ switch (d.getDay()) {
1850
+ case 0:
1851
+ return new Date(d.getFullYear() - 1, 11, 29);
1852
+ case 1:
1853
+ return d;
1854
+ case 2:
1855
+ return new Date(d.getFullYear(), 0, 3);
1856
+ case 3:
1857
+ return new Date(d.getFullYear(), 0, 2);
1858
+ case 4:
1859
+ return new Date(d.getFullYear(), 0, 1);
1860
+ case 5:
1861
+ return new Date(d.getFullYear() - 1, 11, 31);
1862
+ case 6:
1863
+ return new Date(d.getFullYear() - 1, 11, 30);
1864
+ }
1865
+ }
1866
+ function F(d) {
1867
+ var g = Xt(new Date(d.tm_year + 1900, 0, 1), d.tm_yday), C = new Date(g.getFullYear(), 0, 4), A = new Date(g.getFullYear() + 1, 0, 4), L = p(C), P = p(A);
1868
+ return y(L, g) <= 0 ? y(P, g) <= 0 ? g.getFullYear() + 1 : g.getFullYear() : g.getFullYear() - 1;
1869
+ }
1870
+ var D = { "%a": (d) => c[d.tm_wday].substring(0, 3), "%A": (d) => c[d.tm_wday], "%b": (d) => v[d.tm_mon].substring(0, 3), "%B": (d) => v[d.tm_mon], "%C": (d) => {
1871
+ var g = d.tm_year + 1900;
1872
+ return h(g / 100 | 0, 2);
1873
+ }, "%d": (d) => h(d.tm_mday, 2), "%e": (d) => m(d.tm_mday, 2, " "), "%g": (d) => F(d).toString().substring(2), "%G": (d) => F(d), "%H": (d) => h(d.tm_hour, 2), "%I": (d) => {
1874
+ var g = d.tm_hour;
1875
+ return g == 0 ? g = 12 : g > 12 && (g -= 12), h(g, 2);
1876
+ }, "%j": (d) => h(d.tm_mday + qt(hr(d.tm_year + 1900) ? fe : de, d.tm_mon - 1), 3), "%m": (d) => h(d.tm_mon + 1, 2), "%M": (d) => h(d.tm_min, 2), "%n": () => `
1877
+ `, "%p": (d) => d.tm_hour >= 0 && d.tm_hour < 12 ? "AM" : "PM", "%S": (d) => h(d.tm_sec, 2), "%t": () => " ", "%u": (d) => d.tm_wday || 7, "%U": (d) => {
1878
+ var g = d.tm_yday + 7 - d.tm_wday;
1879
+ return h(Math.floor(g / 7), 2);
1880
+ }, "%V": (d) => {
1881
+ var g = Math.floor((d.tm_yday + 7 - (d.tm_wday + 6) % 7) / 7);
1882
+ if ((d.tm_wday + 371 - d.tm_yday - 2) % 7 <= 2 && g++, g) {
1883
+ if (g == 53) {
1884
+ var A = (d.tm_wday + 371 - d.tm_yday) % 7;
1885
+ A != 4 && (A != 3 || !hr(d.tm_year)) && (g = 1);
1886
+ }
1887
+ } else {
1888
+ g = 52;
1889
+ var C = (d.tm_wday + 7 - d.tm_yday - 1) % 7;
1890
+ (C == 4 || C == 5 && hr(d.tm_year % 400 - 1)) && g++;
1891
+ }
1892
+ return h(g, 2);
1893
+ }, "%w": (d) => d.tm_wday, "%W": (d) => {
1894
+ var g = d.tm_yday + 7 - (d.tm_wday + 6) % 7;
1895
+ return h(Math.floor(g / 7), 2);
1896
+ }, "%y": (d) => (d.tm_year + 1900).toString().substring(2), "%Y": (d) => d.tm_year + 1900, "%z": (d) => {
1897
+ var g = d.tm_gmtoff, C = g >= 0;
1898
+ return g = Math.abs(g) / 60, g = g / 60 * 100 + g % 60, (C ? "+" : "-") + ("0000" + g).slice(-4);
1899
+ }, "%Z": (d) => d.tm_zone, "%%": () => "%" };
1900
+ s = s.replace(/%%/g, "\0\0");
1901
+ for (var l in D)
1902
+ s.includes(l) && (s = s.replace(new RegExp(l, "g"), D[l](i)));
1903
+ s = s.replace(/\0\0/g, "%");
1904
+ var S = vr(s, !1);
1905
+ return S.length > e ? 0 : (ce(S, r), S.length - 1);
1906
+ }, Kt = (r, e, t, n, a) => Gt(r, e, t, n), Jt = (r) => {
1907
+ var e = f["_" + r];
1908
+ return e;
1909
+ }, Zt = (r) => {
1910
+ var e = cr(r) + 1, t = Pr(e);
1911
+ return ae(r, t, e), t;
1912
+ }, Qt = (r, e, t, n, a) => {
1913
+ var i = { string: (p) => {
1914
+ var F = 0;
1915
+ return p != null && p !== 0 && (F = Zt(p)), F;
1916
+ }, array: (p) => {
1917
+ var F = Pr(p.length);
1918
+ return ce(p, F), F;
1919
+ } };
1920
+ function s(p) {
1921
+ return e === "string" ? nr(p) : e === "boolean" ? !!p : p;
1922
+ }
1923
+ var u = Jt(r), l = [], c = 0;
1924
+ if (n)
1925
+ for (var v = 0; v < n.length; v++) {
1926
+ var m = i[t[v]];
1927
+ m ? (c === 0 && (c = me()), l[v] = m(n[v])) : l[v] = n[v];
1928
+ }
1929
+ var h = u.apply(null, l);
1930
+ function y(p) {
1931
+ return c !== 0 && pe(c), s(p);
1932
+ }
1933
+ return h = y(h), h;
1934
+ };
1935
+ qr = f.InternalError = class extends Error {
1936
+ constructor(e) {
1937
+ super(e), this.name = "InternalError";
1938
+ }
1939
+ }, je(), Jr = f.BindingError = class extends Error {
1940
+ constructor(e) {
1941
+ super(e), this.name = "BindingError";
1942
+ }
1943
+ }, Ne(), Be(), oe = f.UnboundTypeError = ot(Error, "UnboundTypeError");
1944
+ var ve = function(r, e, t, n) {
1945
+ r || (r = this), this.parent = r, this.mount = r.mount, this.mounted = null, this.id = o.nextInode++, this.name = e, this.mode = t, this.node_ops = {}, this.stream_ops = {}, this.rdev = n;
1946
+ }, mr = 365, pr = 146;
1947
+ Object.defineProperties(ve.prototype, { read: { get: function() {
1948
+ return (this.mode & mr) === mr;
1949
+ }, set: function(r) {
1950
+ r ? this.mode |= mr : this.mode &= ~mr;
1951
+ } }, write: { get: function() {
1952
+ return (this.mode & pr) === pr;
1953
+ }, set: function(r) {
1954
+ r ? this.mode |= pr : this.mode &= ~pr;
1955
+ } }, isFolder: { get: function() {
1956
+ return o.isDir(this.mode);
1957
+ } }, isDevice: { get: function() {
1958
+ return o.isChrdev(this.mode);
1959
+ } } }), o.FSNode = ve, o.createPreloadedFile = jt, o.staticInit();
1960
+ var rn = { a: Oe, m: Ue, p: We, k: ze, y: $e, z: Ve, f: Xe, j: Ke, d: st, e: lt, b: ft, h: ct, g: wt, n: _t, c: Et, l: kt, i: bt, x: Ft, u: St, r: zt, s: Nt, w: xt, t: Bt, o: It, v: Vt, q: Kt }, R = Me(), he = (r) => (he = R.D)(r), Sr = f._malloc = (r) => (Sr = f._malloc = R.E)(r), B = f._free = (r) => (B = f._free = R.F)(r), me = () => (me = R.G)(), pe = (r) => (pe = R.H)(r), Pr = (r) => (Pr = R.I)(r), ye = (r) => (ye = R.J)(r);
1961
+ f.dynCall_jiji = (r, e, t, n, a) => (f.dynCall_jiji = R.K)(r, e, t, n, a), f.dynCall_viijii = (r, e, t, n, a, i, s) => (f.dynCall_viijii = R.L)(r, e, t, n, a, i, s), f.dynCall_iiiiij = (r, e, t, n, a, i, s) => (f.dynCall_iiiiij = R.M)(r, e, t, n, a, i, s), f.dynCall_iiiiijj = (r, e, t, n, a, i, s, u, l) => (f.dynCall_iiiiijj = R.N)(r, e, t, n, a, i, s, u, l), f.dynCall_iiiiiijj = (r, e, t, n, a, i, s, u, l, c) => (f.dynCall_iiiiiijj = R.O)(r, e, t, n, a, i, s, u, l, c), f.ccall = Qt;
1962
+ var yr;
1963
+ er = function r() {
1964
+ yr || ge(), yr || (er = r);
1965
+ };
1966
+ function ge() {
1967
+ if (Y > 0 || (ke(), Y > 0))
1968
+ return;
1969
+ function r() {
1970
+ yr || (yr = !0, f.calledRun = !0, !Wr && (be(), Mr(f), f.onRuntimeInitialized && f.onRuntimeInitialized(), Fe()));
1971
+ }
1972
+ f.setStatus ? (f.setStatus("Running..."), setTimeout(function() {
1973
+ setTimeout(function() {
1974
+ f.setStatus("");
1975
+ }, 1), r();
1976
+ }, 1)) : r();
1977
+ }
1978
+ if (f.preInit)
1979
+ for (typeof f.preInit == "function" && (f.preInit = [f.preInit]); f.preInit.length > 0; )
1980
+ f.preInit.pop()();
1981
+ return ge(), Cr.ready;
1982
+ };
1983
+ })();
1984
+ export {
1985
+ tn as default
1986
+ };