typescript-virtual-container 1.4.6 → 1.4.8

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 (139) hide show
  1. package/.vscode/settings.json +1 -0
  2. package/README.md +0 -1
  3. package/benchmark-results.txt +21 -21
  4. package/builds/self-standalone.js +1111 -299
  5. package/builds/self-standalone.js.map +4 -4
  6. package/builds/standalone-wo-sftp.js +993 -183
  7. package/builds/standalone-wo-sftp.js.map +4 -4
  8. package/builds/standalone.cjs +984 -173
  9. package/builds/standalone.cjs.map +4 -4
  10. package/dist/SSHMimic/exec.d.ts.map +1 -1
  11. package/dist/SSHMimic/exec.js +0 -1
  12. package/dist/SSHMimic/exec.js.map +1 -1
  13. package/dist/SSHMimic/index.d.ts.map +1 -1
  14. package/dist/SSHMimic/index.js +3 -1
  15. package/dist/SSHMimic/index.js.map +1 -1
  16. package/dist/SSHMimic/sftp.d.ts.map +1 -1
  17. package/dist/SSHMimic/sftp.js +0 -6
  18. package/dist/SSHMimic/sftp.js.map +1 -1
  19. package/dist/VirtualFileSystem/binaryPack.d.ts.map +1 -1
  20. package/dist/VirtualFileSystem/binaryPack.js +21 -9
  21. package/dist/VirtualFileSystem/binaryPack.js.map +1 -1
  22. package/dist/VirtualFileSystem/index.d.ts +93 -0
  23. package/dist/VirtualFileSystem/index.d.ts.map +1 -1
  24. package/dist/VirtualFileSystem/index.js +361 -46
  25. package/dist/VirtualFileSystem/index.js.map +1 -1
  26. package/dist/VirtualFileSystem/internalTypes.d.ts +23 -4
  27. package/dist/VirtualFileSystem/internalTypes.d.ts.map +1 -1
  28. package/dist/VirtualFileSystem/journal.d.ts +47 -0
  29. package/dist/VirtualFileSystem/journal.d.ts.map +1 -0
  30. package/dist/VirtualFileSystem/journal.js +178 -0
  31. package/dist/VirtualFileSystem/journal.js.map +1 -0
  32. package/dist/VirtualFileSystem/path.js +1 -1
  33. package/dist/VirtualFileSystem/path.js.map +1 -1
  34. package/dist/VirtualShell/idleManager.d.ts +65 -0
  35. package/dist/VirtualShell/idleManager.d.ts.map +1 -0
  36. package/dist/VirtualShell/idleManager.js +106 -0
  37. package/dist/VirtualShell/idleManager.js.map +1 -0
  38. package/dist/VirtualShell/index.d.ts +28 -0
  39. package/dist/VirtualShell/index.d.ts.map +1 -1
  40. package/dist/VirtualShell/index.js +48 -0
  41. package/dist/VirtualShell/index.js.map +1 -1
  42. package/dist/VirtualShell/shell.js +4 -4
  43. package/dist/VirtualShell/shell.js.map +1 -1
  44. package/dist/commands/man.d.ts.map +1 -1
  45. package/dist/commands/man.js +5 -27
  46. package/dist/commands/man.js.map +1 -1
  47. package/dist/commands/manuals-bundle.d.ts +11 -0
  48. package/dist/commands/manuals-bundle.d.ts.map +1 -0
  49. package/dist/commands/manuals-bundle.js +898 -0
  50. package/dist/commands/manuals-bundle.js.map +1 -0
  51. package/dist/index.d.ts +2 -0
  52. package/dist/index.d.ts.map +1 -1
  53. package/dist/index.js +1 -0
  54. package/dist/index.js.map +1 -1
  55. package/dist/modules/linuxRootfs.d.ts +8 -1
  56. package/dist/modules/linuxRootfs.d.ts.map +1 -1
  57. package/dist/modules/linuxRootfs.js +47 -14
  58. package/dist/modules/linuxRootfs.js.map +1 -1
  59. package/dist/self-standalone.js +16 -1
  60. package/dist/self-standalone.js.map +1 -1
  61. package/dist/standalone.js +22 -0
  62. package/dist/standalone.js.map +1 -1
  63. package/docs/assets/hierarchy.js +1 -1
  64. package/docs/assets/navigation.js +1 -1
  65. package/docs/assets/search.js +1 -1
  66. package/docs/classes/HoneyPot.html +8 -8
  67. package/docs/classes/IdleManager.html +159 -0
  68. package/docs/classes/SshClient.html +18 -18
  69. package/docs/classes/VirtualFileSystem.html +57 -32
  70. package/docs/classes/VirtualPackageManager.html +12 -12
  71. package/docs/classes/VirtualSftpServer.html +3 -3
  72. package/docs/classes/VirtualShell.html +40 -25
  73. package/docs/classes/VirtualSshServer.html +5 -5
  74. package/docs/classes/VirtualUserManager.html +26 -26
  75. package/docs/functions/assertDiff.html +1 -1
  76. package/docs/functions/diffSnapshots.html +1 -1
  77. package/docs/functions/formatDiff.html +1 -1
  78. package/docs/functions/getArg.html +1 -1
  79. package/docs/functions/getFlag.html +1 -1
  80. package/docs/functions/ifFlag.html +1 -1
  81. package/docs/hierarchy.html +1 -1
  82. package/docs/index.html +1 -2
  83. package/docs/interfaces/AuditLogEntry.html +2 -2
  84. package/docs/interfaces/CommandContext.html +11 -11
  85. package/docs/interfaces/CommandResult.html +12 -12
  86. package/docs/interfaces/ExecStream.html +5 -5
  87. package/docs/interfaces/HoneyPotStats.html +2 -2
  88. package/docs/interfaces/IdleManagerOptions.html +7 -0
  89. package/docs/interfaces/InstalledPackage.html +10 -10
  90. package/docs/interfaces/NanoEditorSession.html +4 -4
  91. package/docs/interfaces/PackageDefinition.html +13 -13
  92. package/docs/interfaces/PackageFile.html +4 -4
  93. package/docs/interfaces/RemoveOptions.html +2 -2
  94. package/docs/interfaces/ShellEnv.html +3 -3
  95. package/docs/interfaces/ShellModule.html +7 -7
  96. package/docs/interfaces/ShellProperties.html +4 -4
  97. package/docs/interfaces/ShellStream.html +6 -6
  98. package/docs/interfaces/SudoChallenge.html +8 -8
  99. package/docs/interfaces/VfsBaseNode.html +6 -6
  100. package/docs/interfaces/VfsDiff.html +5 -5
  101. package/docs/interfaces/VfsDiffEntry.html +3 -3
  102. package/docs/interfaces/VfsDiffModified.html +5 -5
  103. package/docs/interfaces/VfsDirectoryNode.html +7 -7
  104. package/docs/interfaces/VfsFileNode.html +8 -8
  105. package/docs/interfaces/VfsOptions.html +18 -4
  106. package/docs/interfaces/VfsSnapshot.html +2 -2
  107. package/docs/interfaces/VfsSnapshotBaseNode.html +3 -3
  108. package/docs/interfaces/VfsSnapshotDirectoryNode.html +4 -4
  109. package/docs/interfaces/VfsSnapshotFileNode.html +5 -5
  110. package/docs/interfaces/WriteFileOptions.html +3 -3
  111. package/docs/modules.html +1 -1
  112. package/docs/types/CommandMode.html +1 -1
  113. package/docs/types/CommandOutcome.html +1 -1
  114. package/docs/types/IdleState.html +1 -0
  115. package/docs/types/VfsNodeStats.html +1 -1
  116. package/docs/types/VfsNodeType.html +1 -1
  117. package/docs/types/VfsPersistenceMode.html +1 -1
  118. package/docs/types/VfsSnapshotNode.html +1 -1
  119. package/package.json +5 -4
  120. package/scripts/generate-manuals-bundle.mjs +49 -0
  121. package/src/SSHMimic/exec.ts +0 -1
  122. package/src/SSHMimic/index.ts +3 -1
  123. package/src/SSHMimic/sftp.ts +0 -6
  124. package/src/VirtualFileSystem/binaryPack.ts +21 -9
  125. package/src/VirtualFileSystem/index.ts +369 -52
  126. package/src/VirtualFileSystem/internalTypes.ts +24 -4
  127. package/src/VirtualFileSystem/journal.ts +163 -0
  128. package/src/VirtualFileSystem/path.ts +1 -1
  129. package/src/VirtualShell/idleManager.ts +133 -0
  130. package/src/VirtualShell/index.ts +48 -0
  131. package/src/VirtualShell/shell.ts +4 -4
  132. package/src/commands/man.ts +5 -35
  133. package/src/commands/manuals-bundle.ts +898 -0
  134. package/src/index.ts +2 -0
  135. package/src/modules/linuxRootfs.ts +58 -14
  136. package/src/self-standalone.ts +14 -1
  137. package/src/standalone.ts +23 -0
  138. package/builds/standalone.js +0 -491
  139. package/builds/standalone.js.map +0 -7
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manuals-bundle.js","sourceRoot":"","sources":["../../src/commands/manuals-bundle.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -5,6 +5,8 @@ export { default as VirtualFileSystem } from "./VirtualFileSystem/index";
5
5
  export { VirtualPackageManager } from "./VirtualPackageManager/index";
6
6
  export { VirtualShell } from "./VirtualShell/index";
7
7
  export { VirtualUserManager } from "./VirtualUserManager/index";
8
+ export { IdleManager } from "./VirtualShell/idleManager";
9
+ export type { IdleManagerOptions, IdleState } from "./VirtualShell/idleManager";
8
10
  export type { AuditLogEntry, HoneyPotStats } from "./Honeypot/index";
9
11
  export type { CommandContext, CommandMode, CommandOutcome, CommandResult, NanoEditorSession, ShellEnv, ShellModule, SudoChallenge } from "./types/commands";
10
12
  export type { ExecStream, ShellStream } from "./types/streams";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,SAAS,IAAI,iBAAiB,EAAE,QAAQ,IAAI,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAChG,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAEhE,YAAY,EACX,aAAa,EACb,aAAa,EACb,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EACX,cAAc,EACd,WAAW,EACX,cAAc,EACd,aAAa,EACb,iBAAiB,EACjB,QAAQ,EACR,WAAW,EACX,aAAa,EACb,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC/D,YAAY,EACX,aAAa,EACb,WAAW,EACX,gBAAgB,EAChB,WAAW,EACX,YAAY,EACZ,WAAW,EACX,WAAW,EACX,mBAAmB,EACnB,wBAAwB,EACxB,mBAAmB,EACnB,eAAe,EACf,gBAAgB,EAChB,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAChF,YAAY,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE5D,YAAY,EACX,gBAAgB,EAAE,iBAAiB,EACnC,WAAW,EACX,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EACN,UAAU,EAAE,aAAa,EACzB,UAAU,EACV,MAAM,iBAAiB,CAAC;AACzB,YAAY,EACX,OAAO,EACP,YAAY,EACZ,eAAe,EACf,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACN,MAAM,EACN,OAAO,EACP,MAAM,EACN,MAAM,4BAA4B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,SAAS,IAAI,iBAAiB,EAAE,QAAQ,IAAI,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAChG,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,YAAY,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAEhF,YAAY,EACX,aAAa,EACb,aAAa,EACb,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EACX,cAAc,EACd,WAAW,EACX,cAAc,EACd,aAAa,EACb,iBAAiB,EACjB,QAAQ,EACR,WAAW,EACX,aAAa,EACb,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC/D,YAAY,EACX,aAAa,EACb,WAAW,EACX,gBAAgB,EAChB,WAAW,EACX,YAAY,EACZ,WAAW,EACX,WAAW,EACX,mBAAmB,EACnB,wBAAwB,EACxB,mBAAmB,EACnB,eAAe,EACf,gBAAgB,EAChB,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAChF,YAAY,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE5D,YAAY,EACX,gBAAgB,EAAE,iBAAiB,EACnC,WAAW,EACX,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EACN,UAAU,EAAE,aAAa,EACzB,UAAU,EACV,MAAM,iBAAiB,CAAC;AACzB,YAAY,EACX,OAAO,EACP,YAAY,EACZ,eAAe,EACf,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACN,MAAM,EACN,OAAO,EACP,MAAM,EACN,MAAM,4BAA4B,CAAC"}
package/dist/index.js CHANGED
@@ -5,6 +5,7 @@ export { default as VirtualFileSystem } from "./VirtualFileSystem/index";
5
5
  export { VirtualPackageManager } from "./VirtualPackageManager/index";
6
6
  export { VirtualShell } from "./VirtualShell/index";
7
7
  export { VirtualUserManager } from "./VirtualUserManager/index";
8
+ export { IdleManager } from "./VirtualShell/idleManager";
8
9
  export { assertDiff, diffSnapshots, formatDiff } from "./utils/vfsDiff";
9
10
  export { getArg, getFlag, ifFlag } from "./commands/command-helpers";
10
11
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,SAAS,IAAI,iBAAiB,EAAE,QAAQ,IAAI,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAChG,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAuChE,OAAO,EACN,UAAU,EAAE,aAAa,EACzB,UAAU,EACV,MAAM,iBAAiB,CAAC;AAOzB,OAAO,EACN,MAAM,EACN,OAAO,EACP,MAAM,EACN,MAAM,4BAA4B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,SAAS,IAAI,iBAAiB,EAAE,QAAQ,IAAI,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAChG,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAwCzD,OAAO,EACN,UAAU,EAAE,aAAa,EACzB,UAAU,EACV,MAAM,iBAAiB,CAAC;AAOzB,OAAO,EACN,MAAM,EACN,OAAO,EACP,MAAM,EACN,MAAM,4BAA4B,CAAC"}
@@ -13,7 +13,7 @@
13
13
  * - createLinuxRootfsEngine() returns engine with .boot() + .tick() for
14
14
  * runtimes that want a live refresh loop
15
15
  */
16
- import type VirtualFileSystem from "../VirtualFileSystem";
16
+ import VirtualFileSystem from "../VirtualFileSystem";
17
17
  import type { ShellProperties } from "../VirtualShell";
18
18
  import type { VirtualActiveSession, VirtualUserManager } from "../VirtualUserManager";
19
19
  /**
@@ -29,6 +29,13 @@ export declare function syncEtcPasswd(vfs: VirtualFileSystem, users: VirtualUser
29
29
  * Safe to call repeatedly — acts as a live kernel state snapshot.
30
30
  */
31
31
  export declare function refreshProc(vfs: VirtualFileSystem, props: ShellProperties, hostname: string, shellStartTime: number, sessions?: VirtualActiveSession[]): void;
32
+ /**
33
+ * Build or retrieve the static rootfs VFSB snapshot for the given
34
+ * hostname + ShellProperties combination.
35
+ *
36
+ * Subsequent calls with the same key return the cached Buffer in ~0ms.
37
+ */
38
+ export declare function getStaticRootfsSnapshot(hostname: string, props: ShellProperties): Buffer;
32
39
  /**
33
40
  * Bootstraps the full Linux rootfs hierarchy in the VFS.
34
41
  * Safe to call multiple times — idempotent.
@@ -1 +1 @@
1
- {"version":3,"file":"linuxRootfs.d.ts","sourceRoot":"","sources":["../../src/modules/linuxRootfs.ts"],"names":[],"mappings":"AAAA,mFAAmF;AACnF;;;;;;;;;;;;;GAaG;AAGH,OAAO,KAAK,iBAAiB,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,KAAK,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAwLtF;;;GAGG;AACH,wBAAgB,aAAa,CAC5B,GAAG,EAAE,iBAAiB,EACtB,KAAK,EAAE,kBAAkB,GACvB,IAAI,CAsCN;AAoFD;;;;;;GAMG;AACH,wBAAgB,WAAW,CAC1B,GAAG,EAAE,iBAAiB,EACtB,KAAK,EAAE,eAAe,EACtB,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,MAAM,EACtB,QAAQ,GAAE,oBAAoB,EAAO,GACnC,IAAI,CAiLN;AAwPD;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CACnC,GAAG,EAAE,iBAAiB,EACtB,KAAK,EAAE,kBAAkB,EACzB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,eAAe,EACtB,cAAc,EAAE,MAAM,EACtB,QAAQ,GAAE,oBAAoB,EAAO,GACnC,IAAI,CAaN;AAID;;;;;;;;;;GAUG;AACH,wBAAgB,uBAAuB,CACtC,GAAG,EAAE,iBAAiB,EACtB,KAAK,EAAE,eAAe,EACtB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM;gBAGJ,kBAAkB,aAAY,oBAAoB,EAAE;oBAGjD,oBAAoB,EAAE;EAItC"}
1
+ {"version":3,"file":"linuxRootfs.d.ts","sourceRoot":"","sources":["../../src/modules/linuxRootfs.ts"],"names":[],"mappings":"AAAA,mFAAmF;AACnF;;;;;;;;;;;;;GAaG;AAGH,OAAO,iBAAiB,MAAM,sBAAsB,CAAC;AAErD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,KAAK,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AA0LtF;;;GAGG;AACH,wBAAgB,aAAa,CAC5B,GAAG,EAAE,iBAAiB,EACtB,KAAK,EAAE,kBAAkB,GACvB,IAAI,CAsCN;AAoFD;;;;;;GAMG;AACH,wBAAgB,WAAW,CAC1B,GAAG,EAAE,iBAAiB,EACtB,KAAK,EAAE,eAAe,EACtB,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,MAAM,EACtB,QAAQ,GAAE,oBAAoB,EAAO,GACnC,IAAI,CAiLN;AAkQD;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACtC,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,eAAe,GACpB,MAAM,CAoBR;AAKD;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CACnC,GAAG,EAAE,iBAAiB,EACtB,KAAK,EAAE,kBAAkB,EACzB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,eAAe,EACtB,cAAc,EAAE,MAAM,EACtB,QAAQ,GAAE,oBAAoB,EAAO,GACnC,IAAI,CAUN;AAID;;;;;;;;;;GAUG;AACH,wBAAgB,uBAAuB,CACtC,GAAG,EAAE,iBAAiB,EACtB,KAAK,EAAE,eAAe,EACtB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM;gBAGJ,kBAAkB,aAAY,oBAAoB,EAAE;oBAGjD,oBAAoB,EAAE;EAItC"}
@@ -14,14 +14,16 @@
14
14
  * runtimes that want a live refresh loop
15
15
  */
16
16
  import * as os from "node:os";
17
+ import VirtualFileSystem from "../VirtualFileSystem";
18
+ import { decodeVfs } from "../VirtualFileSystem/binaryPack";
17
19
  // ─── helpers ────────────────────────────────────────────────────────────────
18
20
  function ensureDir(vfs, path, mode = 0o755) {
19
21
  if (!vfs.exists(path))
20
22
  vfs.mkdir(path, mode);
21
23
  }
22
24
  function ensureFile(vfs, path, content, mode = 0o644) {
23
- if (!vfs.exists(path))
24
- vfs.writeFile(path, content, { mode });
25
+ // Use lazy stub — no Buffer allocated until the file is actually read or overwritten
26
+ vfs.writeStub(path, content, mode);
25
27
  }
26
28
  function write(vfs, path, content) {
27
29
  vfs.writeFile(path, content);
@@ -569,6 +571,41 @@ function bootstrapMisc(vfs, props) {
569
571
  // /lost+found — ext4 fsck recovery dir (mode 0o700, root only)
570
572
  ensureDir(vfs, "/lost+found", 0o700);
571
573
  }
574
+ // ── Static rootfs snapshot cache ─────────────────────────────────────────────
575
+ // The static parts of the rootfs (dev, usr, var, bin, tmp, etc, sys, misc)
576
+ // are identical for all shells sharing the same hostname+props.
577
+ // We build them once, serialise to VFSB binary, and clone via decodeVfs()
578
+ // for each new shell — avoiding ~250 JS object allocations per instance.
579
+ const _staticRootfsCache = new Map();
580
+ function _staticCacheKey(hostname, props) {
581
+ return `${hostname}|${props.kernel}|${props.os}|${props.arch}`;
582
+ }
583
+ /**
584
+ * Build or retrieve the static rootfs VFSB snapshot for the given
585
+ * hostname + ShellProperties combination.
586
+ *
587
+ * Subsequent calls with the same key return the cached Buffer in ~0ms.
588
+ */
589
+ export function getStaticRootfsSnapshot(hostname, props) {
590
+ const key = _staticCacheKey(hostname, props);
591
+ const cached = _staticRootfsCache.get(key);
592
+ if (cached)
593
+ return cached;
594
+ // Build the static subset into a temporary VFS
595
+ const tmp = new VirtualFileSystem({ mode: "memory" });
596
+ bootstrapEtc(tmp, hostname, props);
597
+ bootstrapSys(tmp, hostname, props);
598
+ bootstrapDev(tmp);
599
+ bootstrapUsr(tmp);
600
+ bootstrapVar(tmp);
601
+ bootstrapBin(tmp);
602
+ bootstrapTmp(tmp);
603
+ bootstrapMisc(tmp, props);
604
+ bootProcLog(tmp, props);
605
+ const snapshot = tmp.encodeBinary();
606
+ _staticRootfsCache.set(key, snapshot);
607
+ return snapshot;
608
+ }
572
609
  // ─── main entry point ─────────────────────────────────────────────────────────
573
610
  /**
574
611
  * Bootstraps the full Linux rootfs hierarchy in the VFS.
@@ -582,18 +619,14 @@ function bootstrapMisc(vfs, props) {
582
619
  * @param sessions Active sessions (for /proc/<pid> population).
583
620
  */
584
621
  export function bootstrapLinuxRootfs(vfs, users, hostname, props, shellStartTime, sessions = []) {
585
- bootstrapEtc(vfs, hostname, props);
586
- bootstrapSys(vfs, hostname, props);
587
- bootstrapDev(vfs);
588
- bootstrapUsr(vfs);
589
- bootstrapVar(vfs);
590
- bootstrapBin(vfs);
591
- bootstrapTmp(vfs);
592
- bootstrapRoot(vfs);
593
- bootstrapMisc(vfs, props);
594
- bootProcLog(vfs, props);
595
- refreshProc(vfs, props, hostname, shellStartTime, sessions);
596
- syncEtcPasswd(vfs, users);
622
+ // Fast path: clone the cached static rootfs snapshot (VFSB decode ~0.07ms)
623
+ // instead of rebuilding ~250 JS objects from scratch each time.
624
+ const snapshot = getStaticRootfsSnapshot(hostname, props);
625
+ vfs.importRootTree(decodeVfs(snapshot));
626
+ // Dynamic parts: per-instance data injected after the static clone
627
+ bootstrapRoot(vfs); // /root home dir + .bashrc
628
+ refreshProc(vfs, props, hostname, shellStartTime, sessions); // /proc live data
629
+ syncEtcPasswd(vfs, users); // /etc/passwd|group|shadow
597
630
  }
598
631
  // ─── optional live engine ─────────────────────────────────────────────────────
599
632
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"linuxRootfs.js","sourceRoot":"","sources":["../../src/modules/linuxRootfs.ts"],"names":[],"mappings":"AAAA,mFAAmF;AACnF;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAK9B,+EAA+E;AAE/E,SAAS,SAAS,CAAC,GAAsB,EAAE,IAAY,EAAE,IAAI,GAAG,KAAK;IACpE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;QAAE,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AAC9C,CAAC;AAED,SAAS,UAAU,CAClB,GAAsB,EACtB,IAAY,EACZ,OAAe,EACf,IAAI,GAAG,KAAK;IAEZ,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;QAAE,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;AAC/D,CAAC;AAED,SAAS,KAAK,CAAC,GAAsB,EAAE,IAAY,EAAE,OAAe;IACnE,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAC9B,CAAC;AAED,yDAAyD;AACzD,SAAS,KAAK,CAAC,GAAW;IACzB,IAAI,CAAC,GAAG,UAAU,CAAC;IACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QACvB,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;IAC5B,CAAC;IACD,OAAO,CAAC,KAAK,CAAC,CAAC;AAChB,CAAC;AAED,gFAAgF;AAEhF,SAAS,YAAY,CACpB,GAAsB,EACtB,QAAgB,EAChB,KAAsB;IAEtB,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAEvB,2EAA2E;IAC3E,UAAU,CACT,GAAG,EACH,iBAAiB,EACjB,GAAG;QACF,0BAA0B;QAC1B,gBAAgB,KAAK,CAAC,EAAE,GAAG;QAC3B,YAAY;QACZ,gBAAgB;QAChB,2EAA2E;QAC3E,yBAAyB;QACzB,kBAAkB;KAClB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAChB,CAAC;IAEF,UAAU,CAAC,GAAG,EAAE,qBAAqB,EAAE,QAAQ,CAAC,CAAC;IACjD,UAAU,CAAC,GAAG,EAAE,eAAe,EAAE,GAAG,QAAQ,IAAI,CAAC,CAAC;IAClD,UAAU,CAAC,GAAG,EAAE,aAAa,EAAE,qCAAqC,CAAC,CAAC;IACtE,UAAU,CACT,GAAG,EACH,cAAc,EACd,GAAG;QACF,0CAA0C;QAC1C,8BAA8B;KAC9B,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAChB,CAAC;IAEF,UAAU,CAAC,GAAG,EAAE,YAAY,EAAE,iCAAiC,CAAC,CAAC;IACjE,UAAU,CACT,GAAG,EACH,WAAW,EACX,CAAC,EAAE,EAAE,cAAc,KAAK,CAAC,EAAE,EAAE,EAAE,WAAW,KAAK,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CACxE,CAAC;IAEF,cAAc;IACd,SAAS,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IAC3B,SAAS,CAAC,GAAG,EAAE,yBAAyB,CAAC,CAAC;IAC1C,UAAU,CACT,GAAG,EACH,uBAAuB,EACvB,GAAG;QACF,qCAAqC;QACrC,oEAAoE;QACpE,qEAAqE;KACrE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAChB,CAAC;IAEF,UAAU;IACV,SAAS,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;IAC/B,UAAU,CACT,GAAG,EACH,yBAAyB,EACzB,GAAG;QACF,SAAS;QACT,wBAAwB;QACxB,EAAE;QACF,WAAW;QACX,sBAAsB;KACtB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAChB,CAAC;IAEF,UAAU,CAAC,GAAG,EAAE,kBAAkB,EAAE,0CAA0C,CAAC,CAAC;IAEhF,UAAU,CACT,GAAG,EACH,YAAY,EACZ,GAAG;QACF,uBAAuB;QACvB,eAAe,QAAQ,EAAE;QACzB,kDAAkD;KAClD,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAChB,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;IAC9B,SAAS,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;IAC9B,SAAS,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;IAC/B,SAAS,CAAC,GAAG,EAAE,qBAAqB,CAAC,CAAC;IAEtC,QAAQ;IACR,UAAU,CACT,GAAG,EACH,YAAY,EACZ,GAAG;QACF,2EAA2E;QAC3E,kFAAkF;QAClF,kFAAkF;QAClF,kFAAkF;QAClF,6CAA6C;QAC7C,6CAA6C;KAC7C,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAChB,CAAC;IAEF,uCAAuC;IACvC,UAAU,CACT,GAAG,EACH,iBAAiB,EACjB,GAAG;QACF,2BAA2B;QAC3B,uBAAuB;QACvB,mBAAmB;QACnB,mBAAmB;QACnB,sBAAsB;QACtB,uBAAuB;QACvB,sBAAsB;QACtB,uBAAuB;QACvB,qBAAqB;QACrB,qBAAqB;QACrB,qBAAqB;QACrB,wBAAwB;KACxB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAChB,CAAC;IAEF,iBAAiB;IACjB,SAAS,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;IAChC,UAAU,CAAC,GAAG,EAAE,2BAA2B,EAAE,+BAA+B,CAAC,CAAC;IAC9E,UAAU,CAAC,GAAG,EAAE,2BAA2B,EAAE,+BAA+B,CAAC,CAAC;IAE9E,SAAS,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;IAC7B,UAAU,CAAC,GAAG,EAAE,wBAAwB,EAAM,6BAA6B,CAAC,CAAC;IAC7E,UAAU,CAAC,GAAG,EAAE,2BAA2B,EAAG,gCAAgC,CAAC,CAAC;IAChF,UAAU,CAAC,GAAG,EAAE,4BAA4B,EAC3C,gDAAgD,CAAC,CAAC;IACnD,UAAU,CAAC,GAAG,EAAE,2BAA2B,EAAG,gCAAgC,CAAC,CAAC;IAChF,UAAU,CAAC,GAAG,EAAE,iBAAiB,EAChC,0EAA0E,CAAC,CAAC;IAE7E,cAAc;IACd,SAAS,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;IACjC,UAAU,CAAC,GAAG,EAAE,cAAc,EAC7B,mDAAmD,EAAE,KAAK,CAAC,CAAC;IAE7D,KAAK;IACL,UAAU,CAAC,GAAG,EAAE,iBAAiB,EAAE,oCAAoC,CAAC,CAAC;IACzE,SAAS,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC;IACpC,UAAU,CAAC,GAAG,EAAE,yCAAyC,EAAE,oDAAoD,CAAC,CAAC;IAEjH,oBAAoB;IACpB,UAAU,CAAC,GAAG,EAAE,kBAAkB,EAAE,oBAAoB,CAAC,CAAC;IAC1D,UAAU,CAAC,GAAG,EAAE,eAAe,EAAE,OAAO,CAAC,CAAC;IAC1C,UAAU,CAAC,GAAG,EAAE,gBAAgB,EAAE,OAAO,CAAC,CAAC;AAC5C,CAAC;AAED,+EAA+E;AAE/E;;;GAGG;AACH,MAAM,UAAU,aAAa,CAC5B,GAAsB,EACtB,KAAyB;IAEzB,MAAM,QAAQ,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;IAEnC,MAAM,WAAW,GAAG;QACnB,iCAAiC;QACjC,iDAAiD;QACjD,sDAAsD;QACtD,4DAA4D;KAC5D,CAAC;IAEF,IAAI,GAAG,GAAG,IAAI,CAAC;IACf,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QAC1B,IAAI,CAAC,KAAK,MAAM;YAAE,SAAS;QAC3B,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,IAAI,GAAG,WAAW,CAAC,YAAY,CAAC,CAAC;QAC/D,GAAG,EAAE,CAAC;IACP,CAAC;IAED,GAAG,CAAC,SAAS,CAAC,aAAa,EAAE,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAE5D,MAAM,UAAU,GAAG;QAClB,WAAW;QACX,aAAa;QACb,aAAa,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;QAClE,eAAe,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;QAC/D,kBAAkB;KAClB,CAAC;IACF,GAAG,CAAC,SAAS,CAAC,YAAY,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAE1D,+CAA+C;IAC/C,MAAM,WAAW,GAAG;QACnB,2BAA2B;QAC3B,6BAA6B;KAC7B,CAAC;IACF,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QAC1B,IAAI,CAAC,KAAK,MAAM;YAAE,SAAS;QAC3B,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;IAC/C,CAAC;IACD,GAAG,CAAC,SAAS,CAAC,aAAa,EAAE,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;AAC9E,CAAC;AAED,gFAAgF;AAEhF,wEAAwE;AACxE,SAAS,QAAQ,CAAC,GAAW;IAC5B,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAClC,OAAO,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzD,CAAC;AAED,8DAA8D;AAC9D,SAAS,YAAY,CACpB,GAAsB,EACtB,GAAW,EACX,QAAgB,EAChB,IAAY,EACZ,OAAe,EACf,SAAiB,EACjB,GAA2B;IAE3B,MAAM,GAAG,GAAG,SAAS,GAAG,EAAE,CAAC;IAC3B,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACpB,SAAS,CAAC,GAAG,EAAE,GAAG,GAAG,KAAK,CAAC,CAAC;IAC5B,SAAS,CAAC,GAAG,EAAE,GAAG,GAAG,SAAS,CAAC,CAAC;IAEhC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;IAClF,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC;IAE/C,KAAK,CAAC,GAAG,EAAE,GAAG,GAAG,UAAU,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACnE,KAAK,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,EAAE,IAAI,CAAC,CAAC;IAChC,KAAK,CACJ,GAAG,EACH,GAAG,GAAG,SAAS,EACf,GAAG;QACF,WAAW,IAAI,EAAE;QACjB,sBAAsB;QACtB,WAAW,GAAG,EAAE;QAChB,WAAW;QACX,oBAAoB;QACpB,oBAAoB;QACpB,iBAAiB;QACjB,kBAAkB;QAClB,YAAY;KACZ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAChB,CAAC;IACF,KAAK,CACJ,GAAG,EACH,GAAG,GAAG,OAAO,EACb,GAAG,GAAG,KAAK,IAAI,SAAS,GAAG,IAAI,GAAG,yBAAyB,SAAS,kCAAkC,CACtG,CAAC;IACF,KAAK,CACJ,GAAG,EACH,GAAG,GAAG,UAAU,EAChB,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAClE,CAAC;IACF,KAAK,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,EAAE,SAAS,QAAQ,IAAI,CAAC,CAAC;IAChD,KAAK,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,EAAE,aAAa,CAAC,CAAC;IAExC,0CAA0C;IAC1C,KAAK,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;QAClC,UAAU,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACxC,CAAC;AACF,CAAC;AAED,gFAAgF;AAEhF,SAAS,WAAW,CAAC,GAAsB,EAAE,KAAsB;IAClE,SAAS,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;IAC7B,UAAU,CACT,GAAG,EACH,gBAAgB,EAChB,GAAG;QACF,gDAAgD;QAChD,sCAAsC;QACtC,sCAAsC;QACtC,2BAA2B;QAC3B,6BAA6B;KAC7B,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAChB,CAAC;IACF,UAAU,CAAC,GAAG,EAAE,oBAAoB,EAAE,SAAS,KAAK,CAAC,MAAM,cAAc,CAAC,CAAC;AAC5E,CAAC;AAED,gFAAgF;AAEhF;;;;;;GAMG;AACH,MAAM,UAAU,WAAW,CAC1B,GAAsB,EACtB,KAAsB,EACtB,QAAgB,EAChB,cAAsB,EACtB,WAAmC,EAAE;IAErC,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAExB,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,cAAc,CAAC,GAAG,IAAI,CAAC,CAAC;IACnE,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC;IAC5C,KAAK,CAAC,GAAG,EAAE,cAAc,EAAE,GAAG,SAAS,OAAO,OAAO,OAAO,CAAC,CAAC;IAE9D,sDAAsD;IACtD,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,CAAC;IACpD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;IAClD,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC;IAChD,KAAK,CACJ,GAAG,EACH,eAAe,EACf,GAAG;QACF,mBAAmB,MAAM,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK;QACvD,mBAAmB,MAAM,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK;QACtD,mBAAmB,MAAM,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK;QACvD,mBAAmB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK;QAC1E,mBAAmB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK;QAC1E,mBAAmB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK;QACzE,mBAAmB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK;KACzE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAChB,CAAC;IAEF,sCAAsC;IACtC,MAAM,IAAI,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC;IACvB,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,IAAI,CAAC,CAAC;YAAE,SAAS;QACjB,QAAQ,CAAC,IAAI,CACZ,gBAAgB,CAAC,EAAE,EACnB,iBAAiB,CAAC,CAAC,KAAK,EAAE,EAC1B,gBAAgB,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EACpC,uBAAuB,EACvB,EAAE,CACF,CAAC;IACH,CAAC;IACD,KAAK,CAAC,GAAG,EAAE,eAAe,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAExD,KAAK,CACJ,GAAG,EACH,eAAe,EACf,iBAAiB,KAAK,CAAC,MAAM,gDAAgD,CAC7E,CAAC;IACF,KAAK,CAAC,GAAG,EAAE,gBAAgB,EAAE,GAAG,QAAQ,IAAI,CAAC,CAAC;IAE9C,wCAAwC;IACxC,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC9C,MAAM,QAAQ,GAAG,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC;IACrC,KAAK,CAAC,GAAG,EAAE,eAAe,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,QAAQ,IAAI,QAAQ,MAAM,CAAC,CAAC;IAEnF,kBAAkB;IAClB,SAAS,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IAC5B,UAAU,CACT,GAAG,EACH,eAAe,EACf,GAAG;QACF,8EAA8E;QAC9E,4HAA4H;QAC5H,4HAA4H;QAC5H,4HAA4H;KAC5H,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAChB,CAAC;IACF,UAAU,CAAC,GAAG,EAAE,oBAAoB,EAAE,EAAE,CAAC,CAAC;IAC1C,UAAU,CAAC,GAAG,EAAE,eAAe,EAAG,oGAAoG,CAAC,CAAC;IACxI,UAAU,CAAC,GAAG,EAAE,gBAAgB,EAAE,oJAAoJ,CAAC,CAAC;IAExL,mCAAmC;IACnC,KAAK,CAAC,GAAG,EAAE,eAAe,EAAE,4BAA4B,KAAK,CAAC,MAAM,mCAAmC,CAAC,CAAC;IAEzG,oBAAoB;IACpB,UAAU,CACT,GAAG,EACH,mBAAmB,EACnB,GAAG,CAAC,cAAc,EAAE,cAAc,EAAE,aAAa,EAAE,iBAAiB,EAAE,QAAQ,EAAE,QAAQ,EAAE,iBAAiB,EAAE,gBAAgB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAC7I,CAAC;IAEF,qCAAqC;IACrC,MAAM,aAAa,GAAG,GAAG;QACxB,sDAAsD;QACtD,qDAAqD;QACrD,yEAAyE;QACzE,4EAA4E;QAC5E,8CAA8C;QAC9C,oDAAoD;QACpD,sCAAsC;QACtC,0CAA0C;QAC1C,4EAA4E;QAC5E,oDAAoD;KACpD,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;IACjB,KAAK,CAAC,GAAG,EAAE,cAAc,EAAE,aAAa,CAAC,CAAC;IAC1C,SAAS,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;IAC7B,KAAK,CAAC,GAAG,EAAE,mBAAmB,EAAE,aAAa,CAAC,CAAC;IAE/C,mBAAmB;IACnB,KAAK,CACJ,GAAG,EACH,kBAAkB,EAClB,GAAG;QACF,4BAA4B;QAC5B,EAAE;QACF,8BAA8B;QAC9B,+BAA+B;QAC/B,+BAA+B;QAC/B,gCAAgC;KAChC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAChB,CAAC;IAEF,cAAc;IACd,KAAK,CACJ,GAAG,EACH,aAAa,EACb,oDAAoD;QACpD,+BAA+B,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,eAAe,CAC9E,CAAC;IAEF,kCAAkC;IAClC,SAAS,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IAC5B,SAAS,CAAC,GAAG,EAAE,kBAAkB,CAAC,CAAC;IACnC,SAAS,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;IAChC,SAAS,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;IAC/B,UAAU,CAAC,GAAG,EAAE,2BAA2B,EAAa,GAAG,QAAQ,IAAI,CAAC,CAAC;IACzE,UAAU,CAAC,GAAG,EAAE,yBAAyB,EAAgB,SAAS,CAAC,CAAC;IACpE,UAAU,CAAC,GAAG,EAAE,4BAA4B,EAAa,GAAG,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC;IAC9E,UAAU,CAAC,GAAG,EAAE,0BAA0B,EAAe,SAAS,CAAC,CAAC;IACpE,UAAU,CAAC,GAAG,EAAE,8BAA8B,EAAW,SAAS,CAAC,CAAC;IACpE,UAAU,CAAC,GAAG,EAAE,qCAAqC,EAAI,KAAK,CAAC,CAAC;IAChE,UAAU,CAAC,GAAG,EAAE,iCAAiC,EAAQ,KAAK,CAAC,CAAC;IAChE,UAAU,CAAC,GAAG,EAAE,+BAA+B,EAAU,KAAK,CAAC,CAAC;IAChE,UAAU,CAAC,GAAG,EAAE,yBAAyB,EAAgB,MAAM,CAAC,CAAC;IACjE,UAAU,CAAC,GAAG,EAAE,gCAAgC,EAAS,KAAK,CAAC,CAAC;IAEhE,uBAAuB;IACvB,YAAY,CAAC,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,IAAI,IAAI,CAAC,cAAc,CAAC,CAAC,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC;IAEhG,wBAAwB;IACxB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAChC,MAAM,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAClC,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,SAAS,EAAE;YAChF,IAAI,EAAE,OAAO,CAAC,QAAQ;YACtB,IAAI,EAAE,SAAS,OAAO,CAAC,QAAQ,EAAE;YACjC,IAAI,EAAE,gBAAgB;YACtB,KAAK,EAAE,WAAW;SAClB,CAAC,CAAC;IACJ,CAAC;IAED,sDAAsD;IACtD,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAEvF,IAAI,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;QAC9B,IAAI,CAAC;YAAC,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;IACzD,CAAC;IAED,MAAM,OAAO,GAAG,SAAS,OAAO,EAAE,CAAC;IACnC,SAAS,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;IAC7B,SAAS,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;IAEhC,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;QACzB,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACvC,MAAM,OAAO,GAAG,GAAG,OAAO,IAAI,KAAK,EAAE,CAAC;YACtC,MAAM,OAAO,GAAG,cAAc,KAAK,EAAE,CAAC;YACtC,IAAI,CAAC;gBACJ,MAAM,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAC7B,IAAI,EAAE,CAAC,IAAI,KAAK,MAAM;oBAAE,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;YACpE,CAAC;YAAC,MAAM,CAAC,CAAC,6BAA6B,CAAC,CAAC;QAC1C,CAAC;IACF,CAAC;SAAM,CAAC;QACP,mBAAmB;QACnB,KAAK,CAAC,GAAG,EAAE,oBAAoB,EAAE,QAAQ,CAAC,CAAC;QAC3C,KAAK,CAAC,GAAG,EAAE,iBAAiB,EAAE,MAAM,CAAC,CAAC;QACtC,KAAK,CAAC,GAAG,EAAE,mBAAmB,EAAE,wDAAwD,CAAC,CAAC;QAC1F,KAAK,CAAC,GAAG,EAAE,oBAAoB,EAAE,EAAE,CAAC,CAAC;QACrC,KAAK,CAAC,GAAG,EAAE,gBAAgB,EAAE,SAAS,CAAC,CAAC;QACxC,KAAK,CAAC,GAAG,EAAE,gBAAgB,EAAE,aAAa,CAAC,CAAC;IAC7C,CAAC;AACF,CAAC;AAED,iFAAiF;AAEjF,SAAS,YAAY,CAAC,GAAsB,EAAE,QAAgB,EAAE,KAAsB;IACrF,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACvB,SAAS,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;IAC/B,SAAS,CAAC,GAAG,EAAE,sBAAsB,CAAC,CAAC;IACvC,SAAS,CAAC,GAAG,EAAE,0BAA0B,CAAC,CAAC;IAC3C,SAAS,CAAC,GAAG,EAAE,6BAA6B,CAAC,CAAC;IAE9C,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC7B,MAAM,OAAO,GAAG,eAAe,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;IAE5E,uDAAuD;IACvD,MAAM,GAAG,GAA2B;QACnC,WAAW,EAAO,cAAc;QAChC,YAAY,EAAM,KAAK;QACvB,SAAS,EAAS,YAAY;QAC9B,UAAU,EAAQ,iBAAiB;QACnC,YAAY,EAAM,OAAO;QACzB,cAAc,EAAI,kBAAkB;QACpC,eAAe,EAAG,IAAI;QACtB,YAAY,EAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,8BAA8B;QACrF,cAAc,EAAI,MAAM,IAAI,EAAE;QAC9B,YAAY,EAAM,GAAG;QACrB,cAAc,EAAI,SAAS;QAC3B,eAAe,EAAG,IAAI;QACtB,UAAU,EAAQ,eAAe;QACjC,QAAQ,EAAU,sCAAsC,OAAO,EAAE;KACjE,CAAC;IAEF,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1C,UAAU,CAAC,GAAG,EAAE,+BAA+B,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;IAC/D,CAAC;IAED,SAAS,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;IAC7B,SAAS,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;IACjC,SAAS,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;IAE9B,UAAU,CAAC,GAAG,EAAE,sBAAsB,EAAE,GAAG,QAAQ,IAAI,CAAC,CAAC;IACzD,UAAU,CAAC,GAAG,EAAE,uBAAuB,EAAE,GAAG,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC;IAC9D,UAAU,CAAC,GAAG,EAAE,oBAAoB,EAAE,SAAS,CAAC,CAAC;AAClD,CAAC;AAED,iFAAiF;AAEjF,SAAS,YAAY,CAAC,GAAsB;IAC3C,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAEvB,oBAAoB;IACpB,UAAU,CAAC,GAAG,EAAE,WAAW,EAAK,EAAE,EAAE,KAAK,CAAC,CAAC;IAC3C,UAAU,CAAC,GAAG,EAAE,WAAW,EAAK,EAAE,EAAE,KAAK,CAAC,CAAC;IAC3C,UAAU,CAAC,GAAG,EAAE,WAAW,EAAK,EAAE,EAAE,KAAK,CAAC,CAAC;IAC3C,UAAU,CAAC,GAAG,EAAE,aAAa,EAAG,EAAE,EAAE,KAAK,CAAC,CAAC;IAC3C,UAAU,CAAC,GAAG,EAAE,cAAc,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;IAC3C,UAAU,CAAC,GAAG,EAAE,UAAU,EAAM,EAAE,EAAE,KAAK,CAAC,CAAC;IAE3C,mBAAmB;IACnB,UAAU,CAAC,GAAG,EAAE,cAAc,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;IAC3C,UAAU,CAAC,GAAG,EAAE,UAAU,EAAM,EAAE,EAAE,KAAK,CAAC,CAAC;IAC3C,UAAU,CAAC,GAAG,EAAE,WAAW,EAAK,EAAE,EAAE,KAAK,CAAC,CAAC;IAC3C,UAAU,CAAC,GAAG,EAAE,WAAW,EAAK,EAAE,EAAE,KAAK,CAAC,CAAC;IAC3C,UAAU,CAAC,GAAG,EAAE,YAAY,EAAI,EAAE,EAAE,KAAK,CAAC,CAAC;IAE3C,eAAe;IACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5B,UAAU,CAAC,GAAG,EAAE,YAAY,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;IAC7C,CAAC;IACD,SAAS,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC;IAEpC,wCAAwC;IACxC,UAAU,CAAC,GAAG,EAAE,UAAU,EAAG,EAAE,EAAE,KAAK,CAAC,CAAC;IACxC,UAAU,CAAC,GAAG,EAAE,WAAW,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;IACxC,UAAU,CAAC,GAAG,EAAE,WAAW,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;IAExC,OAAO;IACP,SAAS,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IAC3B,SAAS,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IAC3B,UAAU,CAAC,GAAG,EAAE,YAAY,EAAG,EAAE,EAAE,KAAK,CAAC,CAAC;IAC1C,UAAU,CAAC,GAAG,EAAE,aAAa,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;IAC1C,UAAU,CAAC,GAAG,EAAE,aAAa,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;AAC3C,CAAC;AAED,iFAAiF;AAEjF,SAAS,YAAY,CAAC,GAAsB;IAC3C,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACvB,SAAS,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IAC3B,SAAS,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IAC5B,SAAS,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;IAC7B,SAAS,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;IACjC,SAAS,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;IACjC,SAAS,CAAC,GAAG,EAAE,kBAAkB,CAAC,CAAC;IACnC,SAAS,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;IAC7B,SAAS,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;IACjC,SAAS,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;IACjC,SAAS,CAAC,GAAG,EAAE,qBAAqB,CAAC,CAAC;IACtC,SAAS,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IAE3B,iDAAiD;IACjD,MAAM,QAAQ,GAAG;QAChB,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;QACzD,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK;QACtD,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;QAC3D,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ;QAC5D,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM;QAC7D,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ;KACzC,CAAC;IAEF,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC5B,UAAU,CAAC,GAAG,EAAE,YAAY,GAAG,EAAE,EAAE,2BAA2B,GAAG,SAAS,EAAE,KAAK,CAAC,CAAC;IACpF,CAAC;IAED,UAAU,CAAC,GAAG,EAAE,sBAAsB,EAAE,oCAAoC,EAAE,KAAK,CAAC,CAAC;AACtF,CAAC;AAED,iFAAiF;AAEjF,SAAS,YAAY,CAAC,GAAsB;IAC3C,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACvB,SAAS,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IAC3B,SAAS,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;IAC/B,SAAS,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IAC3B,SAAS,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;IAC7B,SAAS,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;IACjC,SAAS,CAAC,GAAG,EAAE,yBAAyB,CAAC,CAAC;IAC1C,SAAS,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IAC3B,SAAS,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;IAC/B,SAAS,CAAC,GAAG,EAAE,oBAAoB,CAAC,CAAC;IACrC,SAAS,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;IAChC,SAAS,CAAC,GAAG,EAAE,oBAAoB,CAAC,CAAC;IACrC,SAAS,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;IAChC,SAAS,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;IAC7B,SAAS,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC;IAClC,SAAS,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IAE5B,iEAAiE;IACjE,UAAU,CAAC,GAAG,EAAE,sBAAsB,EAAE,EAAE,CAAC,CAAC;IAC5C,UAAU,CAAC,GAAG,EAAE,yBAAyB,EAAE,EAAE,CAAC,CAAC;IAE/C,eAAe;IACf,UAAU,CAAC,GAAG,EAAE,iBAAiB,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,8CAA8C,CAAC,CAAC;IAC9G,UAAU,CAAC,GAAG,EAAE,mBAAmB,EAAE,EAAE,CAAC,CAAC;IACzC,UAAU,CAAC,GAAG,EAAE,mBAAmB,EAAE,EAAE,CAAC,CAAC;IACzC,UAAU,CAAC,GAAG,EAAE,mBAAmB,EAAE,EAAE,CAAC,CAAC;IACzC,UAAU,CAAC,GAAG,EAAE,0BAA0B,EAAE,EAAE,CAAC,CAAC;IAChD,UAAU,CAAC,GAAG,EAAE,uBAAuB,EAAE,EAAE,CAAC,CAAC;IAE7C,gEAAgE;IAChE,uCAAuC;IACvC,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACvB,SAAS,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IAC5B,SAAS,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;IAC/B,SAAS,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IAC5B,UAAU,CAAC,GAAG,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;AAClC,CAAC;AAED,iFAAiF;AAEjF,SAAS,YAAY,CAAC,GAAsB;IAC3C,uEAAuE;IACvE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC;QAAG,GAAG,CAAC,OAAO,CAAC,UAAU,EAAG,MAAM,CAAC,CAAC;IAC3D,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC;QAAE,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAE5D,mCAAmC;IACnC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC;QAAE,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAE7D,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACvB,SAAS,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IACzB,SAAS,CAAC,GAAG,EAAE,uBAAuB,CAAC,CAAC;IACxC,SAAS,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;AAChC,CAAC;AAED,iFAAiF;AAEjF,SAAS,YAAY,CAAC,GAAsB;IAC3C,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAChC,CAAC;AAED,iFAAiF;AAEjF,SAAS,aAAa,CAAC,GAAsB;IAC5C,SAAS,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;IAC/B,UAAU,CACT,GAAG,EACH,eAAe,EACf,GAAG;QACF,gBAAgB;QAChB,0FAA0F;QAC1F,0EAA0E;QAC1E,mBAAmB;QACnB,kBAAkB;KAClB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAChB,CAAC;IACF,UAAU,CAAC,GAAG,EAAE,gBAAgB,EAAE,mCAAmC,CAAC,CAAC;AACxE,CAAC;AAED,gFAAgF;AAEhF,SAAS,aAAa,CAAC,GAAsB,EAAE,KAAsB;IACpE,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACvB,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACvB,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACvB,SAAS,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IACzB,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAExB,+BAA+B;IAC/B,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IACxB,SAAS,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;IAC7B,SAAS,CAAC,GAAG,EAAE,uBAAuB,CAAC,CAAC;IACxC,UAAU,CACT,GAAG,EACH,qBAAqB,EACrB,GAAG;QACF,gCAAgC;QAChC,eAAe;QACf,eAAe;QACf,EAAE;QACF,iCAAiC;QACjC,mDAAmD;QACnD,uBAAuB;QACvB,GAAG;KACH,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAChB,CAAC;IACF,iCAAiC;IACjC,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC;IAC1B,UAAU,CAAC,GAAG,EAAE,iBAAiB,IAAI,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;IACpD,UAAU,CAAC,GAAG,EAAE,oBAAoB,IAAI,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;IACvD,UAAU,CAAC,GAAG,EAAE,oBAAoB,IAAI,EAAE,EAAE,GAAG,IAAI,YAAY,EAAE,KAAK,CAAC,CAAC;IACxE,UAAU,CAAC,GAAG,EAAE,gBAAgB,IAAI,EAAE,EAAE,yBAAyB,IAAI,IAAI,EAAE,KAAK,CAAC,CAAC;IAElF,0CAA0C;IAC1C,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC;QAAM,GAAG,CAAC,OAAO,CAAC,iBAAiB,IAAI,EAAE,EAAE,UAAU,CAAC,CAAC;IAClF,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC;QAAE,GAAG,CAAC,OAAO,CAAC,iBAAiB,IAAI,EAAE,EAAE,cAAc,CAAC,CAAC;IACtF,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC;QAAM,GAAG,CAAC,OAAO,CAAC,oBAAoB,IAAI,EAAE,EAAE,aAAa,CAAC,CAAC;IAC3F,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,iBAAiB,CAAC;QAAE,GAAG,CAAC,OAAO,CAAC,oBAAoB,IAAI,EAAE,EAAE,iBAAiB,CAAC,CAAC;IAE/F,qCAAqC;IACrC,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IACxB,SAAS,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IAE5B,+DAA+D;IAC/D,SAAS,CAAC,GAAG,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC;AACtC,CAAC;AAED,iFAAiF;AAEjF;;;;;;;;;;GAUG;AACH,MAAM,UAAU,oBAAoB,CACnC,GAAsB,EACtB,KAAyB,EACzB,QAAgB,EAChB,KAAsB,EACtB,cAAsB,EACtB,WAAmC,EAAE;IAErC,YAAY,CAAC,GAAG,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IACnC,YAAY,CAAC,GAAG,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IACnC,YAAY,CAAC,GAAG,CAAC,CAAC;IAClB,YAAY,CAAC,GAAG,CAAC,CAAC;IAClB,YAAY,CAAC,GAAG,CAAC,CAAC;IAClB,YAAY,CAAC,GAAG,CAAC,CAAC;IAClB,YAAY,CAAC,GAAG,CAAC,CAAC;IAClB,aAAa,CAAC,GAAG,CAAC,CAAC;IACnB,aAAa,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC1B,WAAW,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACxB,WAAW,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,QAAQ,CAAC,CAAC;IAC5D,aAAa,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;AAC3B,CAAC;AAED,iFAAiF;AAEjF;;;;;;;;;;GAUG;AACH,MAAM,UAAU,uBAAuB,CACtC,GAAsB,EACtB,KAAsB,EACtB,QAAgB,EAChB,SAAiB;IAEjB,OAAO;QACN,IAAI,CAAC,KAAyB,EAAE,WAAmC,EAAE;YACpE,oBAAoB,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;QACxE,CAAC;QACD,IAAI,CAAC,WAAmC,EAAE;YACzC,WAAW,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;QACxD,CAAC;KACD,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"linuxRootfs.js","sourceRoot":"","sources":["../../src/modules/linuxRootfs.ts"],"names":[],"mappings":"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"}
@@ -51,7 +51,7 @@ function writeLastLogin(username, from) {
51
51
  virtualShell.vfs.writeFile(`/home/${username}/.lastlog`, JSON.stringify({ at: new Date().toISOString(), from }));
52
52
  }
53
53
  async function flushVfs() {
54
- await virtualShell.vfs.flushMirror();
54
+ await virtualShell.vfs.stopAutoFlush();
55
55
  }
56
56
  function loadHistory(authUser) {
57
57
  const historyPath = `/home/${authUser}/.bash_history`;
@@ -411,6 +411,21 @@ runReadlineShell().catch((error) => {
411
411
  console.error("Failed to start readline SSH emulation:", error);
412
412
  process.exit(1);
413
413
  });
414
+ // ── Graceful shutdown (process-level) ────────────────────────────────────────
415
+ let _shuttingDown = false;
416
+ async function _gracefulShutdown(signal) {
417
+ if (_shuttingDown)
418
+ return;
419
+ _shuttingDown = true;
420
+ process.stdout.write(`\n[${signal}] Saving VFS...\n`);
421
+ try {
422
+ await virtualShell.vfs.stopAutoFlush();
423
+ }
424
+ catch { }
425
+ process.exit(0);
426
+ }
427
+ process.on("SIGTERM", () => { void _gracefulShutdown("SIGTERM"); });
428
+ process.on("beforeExit", () => { void virtualShell.vfs.stopAutoFlush(); });
414
429
  process.on("uncaughtException", (error) => {
415
430
  console.error("Uncaught exception:", error);
416
431
  });
@@ -1 +1 @@
1
- {"version":3,"file":"self-standalone.js","sourceRoot":"","sources":["../src/self-standalone.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"self-standalone.js","sourceRoot":"","sources":["../src/self-standalone.ts"],"names":[],"mappings":"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"}
@@ -26,6 +26,28 @@ new VirtualSftpServer({ port: 2223, hostname, shell: virtualShell })
26
26
  console.error("Failed to start SFTP Mimic:", error);
27
27
  process.exit(1);
28
28
  });
29
+ // ── Graceful shutdown ─────────────────────────────────────────────────────────
30
+ // On SIGINT / SIGTERM: flush the WAL journal to a full checkpoint before exit.
31
+ // A kill -9 or OOM crash is unrecoverable here, but the WAL journal on disk
32
+ // guarantees all writes since the last checkpoint are replayed on next start.
33
+ let isShuttingDown = false;
34
+ async function gracefulShutdown(signal) {
35
+ if (isShuttingDown)
36
+ return;
37
+ isShuttingDown = true;
38
+ console.log(`\n[${signal}] Flushing VFS checkpoint before exit...`);
39
+ try {
40
+ await virtualShell.vfs.stopAutoFlush();
41
+ console.log("[shutdown] Checkpoint written. Goodbye.");
42
+ }
43
+ catch (err) {
44
+ console.error("[shutdown] Flush failed:", err);
45
+ }
46
+ process.exit(0);
47
+ }
48
+ process.on("SIGINT", () => { void gracefulShutdown("SIGINT"); });
49
+ process.on("SIGTERM", () => { void gracefulShutdown("SIGTERM"); });
50
+ process.on("beforeExit", () => { void virtualShell.vfs.stopAutoFlush(); });
29
51
  process.on("uncaughtException", (error) => {
30
52
  console.debug("Oh my god, something terrible happened: ", error);
31
53
  });
@@ -1 +1 @@
1
- {"version":3,"file":"standalone.js","sourceRoot":"","sources":["../src/standalone.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,GAAG,CAAC;AAEtE,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,eAAe,CAAC;AACnE,MAAM,YAAY,GAAG,IAAI,YAAY,CAAC,QAAQ,EAAE,SAAS,EAAE;IAC1D,IAAI,EAAE,IAAI;IACV,YAAY,EAAE,MAAM;CACpB,CAAC,CAAC;AAEH,YAAY,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE;IACxC,OAAO;QACN,MAAM,EAAE,iDAAiD;QACzD,QAAQ,EAAE,CAAC;KACX,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,IAAI,gBAAgB,CAAC;IACpB,IAAI,EAAE,IAAI;IACV,QAAQ;IACR,KAAK,EAAE,YAAY;CACnB,CAAC;KACA,KAAK,EAAE;KACP,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;IACzB,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,KAAK,CAAC,CAAC;IACnD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACjB,CAAC,CAAC,CAAC;AAEJ,IAAI,iBAAiB,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC;KAClE,KAAK,EAAE;KACP,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;IACzB,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAC;IACpD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACjB,CAAC,CAAC,CAAC;AAEJ,OAAO,CAAC,EAAE,CAAC,mBAAmB,EAAE,CAAC,KAAK,EAAE,EAAE;IACzC,OAAO,CAAC,KAAK,CAAC,0CAA0C,EAAE,KAAK,CAAC,CAAC;AAClE,CAAC,CAAC,CAAC;AAEH,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACnD,OAAO,CAAC,KAAK,CACZ,0DAA0D,EAC1D,OAAO,CACP,CAAC;IACF,OAAO,CAAC,KAAK,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;AAC1C,CAAC,CAAC,CAAC;AAEH,WAAW,CAAC,GAAG,EAAE;IAChB,MAAM,GAAG,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC,kDAAkD;IACzF,OAAO,CAAC,KAAK,CAAC,yBAAyB,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;AAC5E,CAAC,EAAE,IAAI,CAAC,CAAC"}
1
+ {"version":3,"file":"standalone.js","sourceRoot":"","sources":["../src/standalone.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- window.hierarchyData = "eJyVkjFPwzAQhf/LzW6pzw1tPCLKBgsSC8oQxbZi4drINkNV5b8jKxSRkOEyWda90/fu3V0hhpATyHfO64pxwSvGEbFhELVxuss2+ATyCqVeXt+eNUh4M+mhTfolKA0MPqxXILG6Z/AVHUiwPuto2k6nuz/KbZ/PDhh0rk0JJOSkNqV18ysvxd46FbUvnnDHGcdd3QwMymdq4NFG3eUQLzQXEznBysisp8wn64hD35RUEuKU9Orbz9SHTI953rE+bjwwjmI/xo2HZUMrY19so4Yi9sse6GuYdxDJglfzYzPm5HO8UA7tR7p6AYIfm5F+/E9/DsoaqxXNwE1NmXcYvgEWzlVM"
1
+ window.hierarchyData = "eJyVkkFPxCAQhf/LnFkttHRTjka96cXEi+mBFEjJsmAAD5tN/7shdY2tPUxPHOa9vI83c4UYQk4gPmjd1YRy2hLasKonELVxesg2+ATiCmVeXi/PGgS8m/Qgk34NSgOBk/UKBOMtga/oQID1WUcjB53u/yjvxnx2QGBwMiUQkJM6FOvhV16Go3Uqaj8zdYQ21bGfSAHolgCPNuohh3jBUSzkCJSS2VTHZeazdchP35TYJFYtk968/ExjyPia147ddTeME9rUrJ+B+DbQzto3bdhSarbNgF/D2oFM5rRdH5sxTz7HC+bQfqS7F8Bp18/p/07dmJegrLFa4QBuasx/p+kboglVfA=="
@@ -1 +1 @@
1
- window.navigationData = "eJyN1tFumzAUBuB34Tpa1mjtttx1aapNWtKobNnFtAsLjsEq2Mg+REXT3n0iCQWDOfZt//98EGxMf/+NEF4xWkdflYTmoDBaRBXDPFpHScGMAbPsknc5lkW0iF6ETKP1zerTv8XbdGzyTSFAOsbfImr+KDTWrHgUBcSNQSinzqQS4B1Y8sIy2DHJMtCzpl0LcGOOVQz6RJh9JcTLoSjmqTYNUUzuu6muEaD9NKB9D27QocT7OhX4XWVbibrpMSERNGcJmKXVsKnV7d2A2qiyZDLdKHn+g8uyKwHYM5i6IK1Lg6K2r5DEqIGVTqePKaR702JkaJyO1aCob9IgKwpIr3vbqY1LFLhnUm1TgUrHYIxQ0ilOWhR5veoDcCEFzpGTVgDZHhIU1uYU8wylOsFT1V7OvRBWg6LOL+9WnpxKF3qBnUrrmZ80yL3MQasKNApw/6hRx8sRG36Qk0ydqk3e7kE5s0etBkUdufnCDOxV6oYGuYd5EJzPEW0WMD5/0g0LAdBOpYILSCmr63g5DQkq3VCPyCp5wPYtoqwu9zDUa9bHHiSWrDK5cp/igzyQ8e2kcS+QDVoCZznwAr4lGfco9pcWeD4pqQUalwI+tzvr/rCp+u/sbnpL7z9/vLldTZWnGhNVzkHX1GcduWmfwuh7e5GGWaDzo6kmNzSIApQDaCMMgkzA9ZimjQCzW/O9GxzGPq3950+jfT7yWibnpV/2qe3cfRgQqeC8u6RxKVaBgLjSJZu9lz4liAzwXmeu8UtCjz4WbG62jYhhwedmL8lk9M9/pFet9g=="
1
+ window.navigationData = "eJyN1tFumzAUBuB34Tpa1mjtttx1aapNWtKobNnFtAsLHwerYCP7EDWa9u4TSQkGzLFv8//+MGCb/P6bILxisky+agWnncZkllQM82SZZAWzFuy8Td7lWBbJLHmRiifLm8Wnf7Pr6G+8gA1T7ABmDDghZaQ2XxUSlGcK14gav5cGa1Y8ygLSk0Uox86oEuHtWPbCDtN3561FuKnAKgVzJMyuEuPlUBTTVJPGKDYPTaptRGg/LZjQg3M6lHhfc4nf9WGt0Jw6TCoEI1gGdt5r9KnF7Z1DrXRZMsVXWp1/8Fn9SgT2DLYuSOvSoKj1K2QpGmCl1+liCml3a4oMrdfpNSjK2bdPFUqt/N64RqLKIisK4G8bxk8OShS4ZUqvuURtUrBWauUVRy2KfLvqAwipJE6Ro1YE2Zw8FNbkFPMMpT4C9TZ6DYo6nwhrdfQqbRgENprXE7fk5EFmZ3QFBiX4b2rQCXLELnJykqm5XuXNGlQTa7TXoKi9sF+Yha3mfsjJA8yDFGKKaLKI4dPHp1uIgDaaSyGBU1bbCXIGMtTmRD2iXikANruIsto8wFDbrIsDSKpYZXPt/zQ4eSQTWknDXiQb9Qq85cgLhF7JsEexv4zE80lJvaBhKeIbvunND09V9/HejKf0/vPHm9vFWHmqMdPlFPSWhqzmm9p8n0fMNQgJe2Gb5zj4G3BB3CzS+XGqRnNxoghlB8ZKi6Ay8D3ocSPCbFfN1g+6cUhr/pMa7J+wolbZefHMu7Tv3H1wCC6FaC9pfUqvQEBCm5JNzqVLCeIAeG8OvuGXhB76WLCpsU1EDJZiauwlGQ398x9RX/eR"
@@ -1 +1 @@
1
- window.searchData = "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";
1
+ window.searchData = "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";