@poe-platform/safe-bash 0.1.539 → 0.1.541

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 (138) hide show
  1. package/dist/safe-bash/chunks/bz2-B2RXT4EX.js +4836 -0
  2. package/dist/safe-bash/chunks/bz2-B2RXT4EX.js.map +7 -0
  3. package/dist/safe-bash/chunks/{chunk-4NMFAR4Z.js → chunk-2KL6W6NB.js} +3 -629
  4. package/dist/safe-bash/chunks/{chunk-4NMFAR4Z.js.map → chunk-2KL6W6NB.js.map} +4 -4
  5. package/dist/safe-bash/chunks/chunk-5VBLSPNM.js +641 -0
  6. package/dist/safe-bash/chunks/chunk-5VBLSPNM.js.map +7 -0
  7. package/dist/safe-bash/chunks/{chunk-LUIEXTN5.js → chunk-66VSWIUC.js} +6 -4
  8. package/dist/safe-bash/chunks/{chunk-LUIEXTN5.js.map → chunk-66VSWIUC.js.map} +1 -1
  9. package/dist/safe-bash/chunks/{chunk-5X2TAR25.js → chunk-6PSMEBVP.js} +6 -4
  10. package/dist/safe-bash/chunks/{chunk-5X2TAR25.js.map → chunk-6PSMEBVP.js.map} +1 -1
  11. package/dist/safe-bash/chunks/{chunk-RDIJ6M2D.js → chunk-AZNI263O.js} +6 -4
  12. package/dist/safe-bash/chunks/{chunk-RDIJ6M2D.js.map → chunk-AZNI263O.js.map} +1 -1
  13. package/dist/safe-bash/chunks/{chunk-CI42NIWL.js → chunk-DPJWEGIX.js} +2 -2
  14. package/dist/safe-bash/chunks/{chunk-GV76QENF.js → chunk-EZLQA6ON.js} +6 -4
  15. package/dist/safe-bash/chunks/{chunk-GV76QENF.js.map → chunk-EZLQA6ON.js.map} +1 -1
  16. package/dist/safe-bash/chunks/{chunk-F4UILGOA.js → chunk-HFEU5SBQ.js} +8 -6
  17. package/dist/safe-bash/chunks/{chunk-F4UILGOA.js.map → chunk-HFEU5SBQ.js.map} +1 -1
  18. package/dist/safe-bash/chunks/{chunk-UL4TNDNV.js → chunk-PZMJ4EC3.js} +5 -3
  19. package/dist/safe-bash/chunks/{chunk-UL4TNDNV.js.map → chunk-PZMJ4EC3.js.map} +1 -1
  20. package/dist/safe-bash/chunks/chunk-R3QJL5HH.js +698 -0
  21. package/dist/safe-bash/chunks/chunk-R3QJL5HH.js.map +7 -0
  22. package/dist/safe-bash/chunks/{chunk-R5ZK7V4W.js → chunk-T5BV7HPD.js} +7 -5
  23. package/dist/safe-bash/chunks/{chunk-R5ZK7V4W.js.map → chunk-T5BV7HPD.js.map} +1 -1
  24. package/dist/safe-bash/chunks/{chunk-RVGX5DQT.js → chunk-TPD45VUZ.js} +15 -11
  25. package/dist/safe-bash/chunks/chunk-TPD45VUZ.js.map +7 -0
  26. package/dist/safe-bash/chunks/{chunk-GZH6ILJC.js → chunk-VNDFKT6F.js} +7 -5
  27. package/dist/safe-bash/chunks/{chunk-GZH6ILJC.js.map → chunk-VNDFKT6F.js.map} +1 -1
  28. package/dist/safe-bash/chunks/{chunk-ELK3CQTQ.js → chunk-WF4P7XKI.js} +7 -5
  29. package/dist/safe-bash/chunks/{chunk-ELK3CQTQ.js.map → chunk-WF4P7XKI.js.map} +1 -1
  30. package/dist/safe-bash/chunks/{chunk-67TENRTW.js → chunk-WODV2DVM.js} +7 -5
  31. package/dist/safe-bash/chunks/{chunk-67TENRTW.js.map → chunk-WODV2DVM.js.map} +1 -1
  32. package/dist/safe-bash/chunks/{chunk-QWCD4HKE.js → chunk-YEJBZLE5.js} +9 -7
  33. package/dist/safe-bash/chunks/{chunk-QWCD4HKE.js.map → chunk-YEJBZLE5.js.map} +1 -1
  34. package/dist/safe-bash/chunks/xz-AVXFDXW4.js +6042 -0
  35. package/dist/safe-bash/chunks/xz-AVXFDXW4.js.map +7 -0
  36. package/dist/safe-bash/chunks/zstd-R6RPHJYO.js +27110 -0
  37. package/dist/safe-bash/chunks/zstd-R6RPHJYO.js.map +7 -0
  38. package/dist/safe-bash/commands/bytes/compression/bounded-codec.d.ts +20 -0
  39. package/dist/safe-bash/commands/bytes/compression/bounded-codec.d.ts.map +1 -0
  40. package/dist/safe-bash/commands/bytes/compression/bounded-codec.js +111 -0
  41. package/dist/safe-bash/commands/bytes/compression/bounded-codec.js.map +1 -0
  42. package/dist/safe-bash/commands/bytes/compression/codec-loader.d.ts +5 -0
  43. package/dist/safe-bash/commands/bytes/compression/codec-loader.d.ts.map +1 -0
  44. package/dist/safe-bash/commands/bytes/compression/codec-loader.js +89 -0
  45. package/dist/safe-bash/commands/bytes/compression/codec-loader.js.map +1 -0
  46. package/dist/safe-bash/commands/bytes/compression/file-operation.d.ts +16 -0
  47. package/dist/safe-bash/commands/bytes/compression/file-operation.d.ts.map +1 -0
  48. package/dist/safe-bash/commands/bytes/compression/file-operation.js +134 -0
  49. package/dist/safe-bash/commands/bytes/compression/file-operation.js.map +1 -0
  50. package/dist/safe-bash/commands/bytes/compression/files.d.ts +1 -1
  51. package/dist/safe-bash/commands/bytes/compression/files.d.ts.map +1 -1
  52. package/dist/safe-bash/commands/bytes/compression/files.js +141 -67
  53. package/dist/safe-bash/commands/bytes/compression/files.js.map +1 -1
  54. package/dist/safe-bash/commands/bytes/compression/index.js +3 -3
  55. package/dist/safe-bash/commands/bytes/compression/index.js.map +1 -1
  56. package/dist/safe-bash/commands/bytes/compression/native/LICENSES.txt +777 -0
  57. package/dist/safe-bash/commands/bytes/compression/native/generated/bz2.d.mts +3 -0
  58. package/dist/safe-bash/commands/bytes/compression/native/generated/bz2.mjs +2 -0
  59. package/dist/safe-bash/commands/bytes/compression/native/generated/xz.d.mts +3 -0
  60. package/dist/safe-bash/commands/bytes/compression/native/generated/xz.mjs +2 -0
  61. package/dist/safe-bash/commands/bytes/compression/native/generated/zstd.d.mts +3 -0
  62. package/dist/safe-bash/commands/bytes/compression/native/generated/zstd.mjs +2 -0
  63. package/dist/safe-bash/commands/bytes/compression/native/sources.json +246 -0
  64. package/dist/safe-bash/commands/bytes/compression/native/types.d.ts +17 -0
  65. package/dist/safe-bash/commands/bytes/compression/native/types.d.ts.map +1 -0
  66. package/dist/safe-bash/commands/bytes/compression/native/types.js +2 -0
  67. package/dist/safe-bash/commands/bytes/compression/native/types.js.map +1 -0
  68. package/dist/safe-bash/commands/bytes/compression/options.d.ts +27 -0
  69. package/dist/safe-bash/commands/bytes/compression/options.d.ts.map +1 -1
  70. package/dist/safe-bash/commands/bytes/compression/options.js +16 -3
  71. package/dist/safe-bash/commands/bytes/compression/options.js.map +1 -1
  72. package/dist/safe-bash/commands/bytes/compression/stream.d.ts.map +1 -1
  73. package/dist/safe-bash/commands/bytes/compression/stream.js +9 -5
  74. package/dist/safe-bash/commands/bytes/compression/stream.js.map +1 -1
  75. package/dist/safe-bash/commands/csplit/index.browser.js +6 -5
  76. package/dist/safe-bash/commands/factor/index.browser.js +4 -3
  77. package/dist/safe-bash/commands/getopt/index.browser.js +4 -3
  78. package/dist/safe-bash/commands/hexdump/command.d.ts +5 -0
  79. package/dist/safe-bash/commands/hexdump/command.d.ts.map +1 -0
  80. package/dist/safe-bash/commands/hexdump/command.js +174 -0
  81. package/dist/safe-bash/commands/hexdump/command.js.map +1 -0
  82. package/dist/safe-bash/commands/hexdump/format.d.ts +2 -0
  83. package/dist/safe-bash/commands/hexdump/format.d.ts.map +1 -0
  84. package/dist/safe-bash/commands/hexdump/format.js +25 -0
  85. package/dist/safe-bash/commands/hexdump/format.js.map +1 -0
  86. package/dist/safe-bash/commands/hexdump/index.browser.js +17 -0
  87. package/dist/safe-bash/commands/hexdump/index.browser.js.map +7 -0
  88. package/dist/safe-bash/commands/hexdump/index.d.ts +7 -0
  89. package/dist/safe-bash/commands/hexdump/index.d.ts.map +1 -0
  90. package/dist/safe-bash/commands/hexdump/index.js +17 -0
  91. package/dist/safe-bash/commands/hexdump/index.js.map +1 -0
  92. package/dist/safe-bash/commands/hexdump/internal.d.ts +52 -0
  93. package/dist/safe-bash/commands/hexdump/internal.d.ts.map +1 -0
  94. package/dist/safe-bash/commands/hexdump/internal.js +150 -0
  95. package/dist/safe-bash/commands/hexdump/internal.js.map +1 -0
  96. package/dist/safe-bash/commands/hexdump/io.d.ts +41 -0
  97. package/dist/safe-bash/commands/hexdump/io.d.ts.map +1 -0
  98. package/dist/safe-bash/commands/hexdump/io.js +288 -0
  99. package/dist/safe-bash/commands/hexdump/io.js.map +1 -0
  100. package/dist/safe-bash/commands/hexdump/options.d.ts +10 -0
  101. package/dist/safe-bash/commands/hexdump/options.d.ts.map +1 -0
  102. package/dist/safe-bash/commands/hexdump/options.js +80 -0
  103. package/dist/safe-bash/commands/hexdump/options.js.map +1 -0
  104. package/dist/safe-bash/commands/network/curl.js +1 -1
  105. package/dist/safe-bash/commands/network/curl.js.map +1 -1
  106. package/dist/safe-bash/commands/network/index.browser.js +7 -6
  107. package/dist/safe-bash/commands/network/output.d.ts.map +1 -1
  108. package/dist/safe-bash/commands/network/output.js +2 -2
  109. package/dist/safe-bash/commands/network/output.js.map +1 -1
  110. package/dist/safe-bash/commands/network/types.d.ts +4 -0
  111. package/dist/safe-bash/commands/network/types.d.ts.map +1 -1
  112. package/dist/safe-bash/commands/network/types.js.map +1 -1
  113. package/dist/safe-bash/commands/pr/index.browser.js +5 -4
  114. package/dist/safe-bash/commands/truncate.d.ts.map +1 -1
  115. package/dist/safe-bash/commands/truncate.js +14 -1
  116. package/dist/safe-bash/commands/truncate.js.map +1 -1
  117. package/dist/safe-bash/commands/tsort/index.browser.js +5 -4
  118. package/dist/safe-bash/commands/xml/index.browser.js +6 -5
  119. package/dist/safe-bash/commands/yq/index.browser.js +7 -6
  120. package/dist/safe-bash/contracts/filesystem.d.ts +1 -1
  121. package/dist/safe-bash/contracts/filesystem.d.ts.map +1 -1
  122. package/dist/safe-bash/contracts/yield.d.ts +1 -0
  123. package/dist/safe-bash/contracts/yield.d.ts.map +1 -1
  124. package/dist/safe-bash/contracts/yield.js +5 -0
  125. package/dist/safe-bash/contracts/yield.js.map +1 -1
  126. package/dist/safe-bash/core.browser.js +597 -163
  127. package/dist/safe-bash/core.browser.js.map +4 -4
  128. package/dist/safe-bash/core.d.ts +1 -0
  129. package/dist/safe-bash/core.d.ts.map +1 -1
  130. package/dist/safe-bash/core.js +1 -0
  131. package/dist/safe-bash/core.js.map +1 -1
  132. package/dist/safe-bash/plugins/composition.d.ts +2 -0
  133. package/dist/safe-bash/plugins/composition.d.ts.map +1 -1
  134. package/dist/safe-bash/plugins/composition.js +3 -1
  135. package/dist/safe-bash/plugins/composition.js.map +1 -1
  136. package/package.json +8 -2
  137. package/dist/safe-bash/chunks/chunk-RVGX5DQT.js.map +0 -7
  138. /package/dist/safe-bash/chunks/{chunk-CI42NIWL.js.map → chunk-DPJWEGIX.js.map} +0 -0
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/contracts/value.ts", "../../src/contracts/command.ts", "../../src/contracts/errors.ts", "../../src/contracts/io.ts", "../../src/diagnostics.ts", "../../src/contracts/yield.ts"],
4
+ "sourcesContent": ["declare const byteValueBrand: unique symbol;\n\nexport interface ByteShellValue {\n readonly [byteValueBrand]: true;\n}\n\nexport type ShellValue = string | ByteShellValue;\n\nexport interface ValueReservation {\n commit(value: object): void;\n release(): void;\n}\n\nexport interface ValueAllocation {\n assertOpen(): void;\n reserve(bytes: number, slots: number): ValueReservation;\n}\n\nconst byteValues = new WeakMap<ByteShellValue, { bytes: Uint8Array; text: string }>();\nconst encoder = new TextEncoder();\nconst decoder = new TextDecoder(\"utf-8\", { ignoreBOM: true });\nconst typedArrayPrototype = Object.getPrototypeOf(Uint8Array.prototype) as object;\nconst viewBuffer = Object.getOwnPropertyDescriptor(typedArrayPrototype, \"buffer\")!.get!;\nconst viewOffset = Object.getOwnPropertyDescriptor(typedArrayPrototype, \"byteOffset\")!.get!;\nconst viewLength = Object.getOwnPropertyDescriptor(typedArrayPrototype, \"byteLength\")!.get!;\n\nfunction record(value: ByteShellValue): { bytes: Uint8Array; text: string } {\n const result = byteValues.get(value);\n if (!result) throw new TypeError(\"Expected an owned shell byte value\");\n return result;\n}\n\nfunction allocationSize(length: number, multiplier: number): number {\n const result = length * multiplier + 64;\n if (!Number.isSafeInteger(result)) throw new RangeError(\"Shell value allocation is too large\");\n return result;\n}\n\nfunction allocate<Result extends object>(bytes: number, allocation: ValueAllocation | undefined, create: () => Result, slots = 1): Result {\n allocation?.assertOpen();\n const reservation = allocation?.reserve(bytes, slots);\n try {\n const result = create();\n reservation?.commit(result);\n return result;\n } catch (error) {\n try { reservation?.release(); }\n catch (cleanup) { throw new AggregateError([error, cleanup], \"Shell value allocation and release failed\"); }\n throw error;\n }\n}\n\nfunction ownedBytes(bytes: Uint8Array): ByteShellValue {\n const value = Object.freeze({}) as ByteShellValue;\n byteValues.set(value, { bytes, text: decoder.decode(bytes) });\n return value;\n}\n\nexport function shellValueFromBytes(bytes: Uint8Array, allocation?: ValueAllocation): ByteShellValue {\n if (!(bytes instanceof Uint8Array)) throw new TypeError(\"Shell bytes must be Uint8Array\");\n const buffer = viewBuffer.call(bytes) as ArrayBuffer;\n const offset = viewOffset.call(bytes) as number;\n const length = viewLength.call(bytes) as number;\n return allocate(allocationSize(length, 3), allocation, () => {\n if (viewOffset.call(bytes) !== offset || viewLength.call(bytes) < length) throw new TypeError(\"Shell byte input extent changed during admission\");\n return ownedBytes(new Uint8Array(new Uint8Array(buffer, offset, length)));\n });\n}\n\nexport function shellValueText(value: ShellValue): string {\n return typeof value === \"string\" ? value : record(value).text;\n}\n\nexport function shellValueByteLength(value: ShellValue): number {\n return typeof value === \"string\" ? Buffer.byteLength(value) : record(value).bytes.byteLength;\n}\n\nexport function shellValueRetainedBytes(value: ByteShellValue): number {\n const stored = record(value);\n return stored.bytes.byteLength + stored.text.length * 2 + 64;\n}\n\nexport function shellValueBytes(value: ShellValue, allocation?: ValueAllocation): Uint8Array {\n const length = shellValueByteLength(value);\n return allocate(allocationSize(length, 1), allocation, () => typeof value === \"string\" ? encoder.encode(value) : new Uint8Array(record(value).bytes));\n}\n\nexport function concatShellValues(values: readonly ShellValue[], allocation?: ValueAllocation): ShellValue {\n allocation?.assertOpen();\n if (!Array.isArray(values)) throw new TypeError(\"Shell value concatenation requires an array\");\n const count = values.length;\n if (!Number.isSafeInteger(count) || count < 0 || count > 0xffffffff) throw new RangeError(\"Invalid shell value input extent\");\n if (!count) return \"\";\n if (count === 1) {\n const value = values[0]!;\n if (typeof value !== \"string\") record(value);\n if (values.length !== count) throw new TypeError(\"Shell value input extent changed\");\n return value;\n }\n let textOnly = true;\n for (let index = 0; index < count; index++) {\n if (typeof values[index] !== \"string\") { textOnly = false; break; }\n }\n if (textOnly) {\n let text = \"\";\n for (let index = 0; index < count; index++) {\n const value = values[index];\n if (typeof value !== \"string\") throw new TypeError(\"Shell value input type changed during text concatenation\");\n text += value;\n }\n if (values.length !== count) throw new TypeError(\"Shell value input extent changed\");\n return text;\n }\n let reservation = allocation?.reserve(allocationSize(count, 16), count + 1);\n const release = (): void => { const pending = reservation; reservation = undefined; pending?.release(); };\n try {\n if (values.length !== count) throw new TypeError(\"Shell value input extent changed during metadata admission\");\n const snapshot: ShellValue[] = new Array(count);\n for (let index = 0; index < count; index++) {\n const value = values[index]!;\n if (typeof value !== \"string\") record(value);\n snapshot[index] = value;\n }\n if (values.length !== count) throw new TypeError(\"Shell value input extent changed during snapshot capture\");\n Object.freeze(snapshot);\n reservation?.commit(snapshot);\n if (snapshot.every(value => typeof value === \"string\")) {\n const result = snapshot.join(\"\");\n release();\n return result;\n }\n const length = encodeValues(snapshot);\n return allocate(allocationSize(length, 3), allocation, () => {\n const bytes = new Uint8Array(length);\n encodeValues(snapshot, bytes);\n const result = ownedBytes(bytes);\n release();\n return result;\n });\n } catch (error) {\n try { release(); }\n catch (cleanup) { throw new AggregateError([error, cleanup], \"Shell value snapshot and release failed\"); }\n throw error;\n }\n}\n\nfunction encodeValues(values: readonly ShellValue[], output?: Uint8Array): number {\n let offset = 0;\n let high = 0;\n const write = (byte: number): void => { if (output) output[offset] = byte; offset++; };\n const point = (code: number): void => {\n if (code < 0x80) write(code);\n else if (code < 0x800) { write(0xc0 | code >> 6); write(0x80 | code & 0x3f); }\n else if (code < 0x10000) { write(0xe0 | code >> 12); write(0x80 | code >> 6 & 0x3f); write(0x80 | code & 0x3f); }\n else { write(0xf0 | code >> 18); write(0x80 | code >> 12 & 0x3f); write(0x80 | code >> 6 & 0x3f); write(0x80 | code & 0x3f); }\n };\n for (const value of values) {\n if (typeof value !== \"string\") {\n if (high) { point(0xfffd); high = 0; }\n const bytes = record(value).bytes;\n output?.set(bytes, offset);\n offset += bytes.byteLength;\n continue;\n }\n for (let index = 0; index < value.length; index++) {\n const code = value.charCodeAt(index);\n if (high) {\n const previous = high;\n high = 0;\n if (code >= 0xdc00 && code <= 0xdfff) { point(0x10000 + ((previous - 0xd800) << 10) + code - 0xdc00); continue; }\n point(0xfffd);\n }\n if (code >= 0xd800 && code <= 0xdbff) high = code;\n else point(code >= 0xdc00 && code <= 0xdfff ? 0xfffd : code);\n }\n }\n if (high) point(0xfffd);\n if (!Number.isSafeInteger(offset)) throw new RangeError(\"Shell value allocation is too large\");\n return offset;\n}\n", "import type { FileStat, FileSystem } from \"./filesystem.js\";\nimport type { CommandFileSystemRequirement } from \"./command-requirements.js\";\nimport type { ByteSink, ByteSource } from \"./io.js\";\nimport { concatShellValues, shellValueBytes, shellValueFromBytes, shellValueText, type ShellValue, type ValueAllocation, type ValueReservation } from \"./value.js\";\n\nexport interface CommandArguments {\n readonly args: readonly string[];\n readonly values: readonly ShellValue[];\n bytes(index: number): Uint8Array | undefined;\n slice(start?: number, end?: number): CommandArguments;\n select(indices: readonly number[]): CommandArguments;\n concat(...others: readonly CommandArguments[]): CommandArguments;\n withValues(values: readonly (ShellValue | Uint8Array)[]): CommandArguments;\n join(separator?: ShellValue): ShellValue;\n}\n\nconst argumentCarriers = new WeakSet<CommandArguments>();\n\nexport class CommandArgumentIdentityError extends TypeError {\n constructor() {\n super(\"Command argument identity does not match its carrier\");\n }\n}\n\nfunction argumentAllocation(allocation?: ValueAllocation) {\n const reservations: ValueReservation[] = [];\n const tracked: ValueAllocation | undefined = allocation && {\n assertOpen() { allocation.assertOpen(); },\n reserve(bytes, slots) {\n const reservation = allocation.reserve(bytes, slots);\n let released = false;\n const owned: ValueReservation = {\n commit(value) { reservation.commit(value); },\n release() {\n if (released) return;\n released = true;\n reservation.release();\n },\n };\n reservations.push(owned);\n return owned;\n },\n };\n return {\n allocation: tracked,\n rollback(error: unknown): never {\n const failures: unknown[] = [error];\n for (let index = reservations.length - 1; index >= 0; index--) {\n try { reservations[index]!.release(); }\n catch (cleanup) { failures.push(cleanup); }\n }\n if (failures.length > 1) throw new AggregateError(failures, \"Command argument allocation and release failed\");\n throw error;\n },\n };\n}\n\nfunction ownedCommandArguments(\n size: number | (() => number), valueAt: (index: number) => ShellValue | Uint8Array, allocation?: ValueAllocation,\n extent?: () => number,\n): CommandArguments {\n allocation?.assertOpen();\n const length = typeof size === \"number\" ? size : size();\n const bytes = 128 + length * 40;\n const slots = length * 4 + 1;\n if (!Number.isSafeInteger(length) || length < 0 || !Number.isSafeInteger(bytes) || !Number.isSafeInteger(slots)) {\n throw new RangeError(\"Command argument allocation is too large\");\n }\n const transaction = argumentAllocation(allocation);\n const reservation = transaction.allocation?.reserve(bytes, slots);\n try {\n if (extent && extent() !== length) throw new TypeError(\"Command argument extent changed during admission\");\n const snapshot: (ShellValue | Uint8Array)[] = [];\n for (let index = 0; index < length; index++) snapshot.push(valueAt(index));\n if (extent && extent() !== length) throw new TypeError(\"Command argument extent changed during admission\");\n const values: ShellValue[] = [];\n const args: string[] = [];\n for (const incoming of snapshot) {\n const value = incoming instanceof Uint8Array ? shellValueFromBytes(incoming, transaction.allocation) : incoming;\n args.push(shellValueText(value));\n values.push(value);\n }\n Object.freeze(values);\n Object.freeze(args);\n const carrier: CommandArguments = Object.freeze({\n args, values,\n bytes(index: number) {\n return Number.isInteger(index) && index >= 0 && index < length ? shellValueBytes(values[index]!, allocation) : undefined;\n },\n slice(start = 0, end = length) {\n const offset = (index: number): number => {\n const integral = Math.trunc(index) || 0;\n return integral < 0 ? Math.max(0, length + integral) : Math.min(length, integral);\n };\n const first = offset(start);\n return ownedCommandArguments(Math.max(0, offset(end) - first), index => values[first + index]!, allocation);\n },\n select(indices: readonly number[]) {\n return ownedCommandArguments(() => {\n if (!Array.isArray(indices)) throw new TypeError(\"Command argument selection must be an array\");\n return indices.length;\n }, index => {\n const selected = indices[index]!;\n if (!Number.isInteger(selected) || selected < 0 || selected >= length) throw new RangeError(\"Command argument index is out of range\");\n return values[selected]!;\n }, allocation, () => indices.length);\n },\n concat(...others: readonly CommandArguments[]) {\n let total = length;\n for (const other of others) {\n if (!argumentCarriers.has(other)) throw new TypeError(\"Expected owned command arguments\");\n total += other.values.length;\n }\n return ownedCommandArguments(total, index => {\n if (index < length) return values[index]!;\n let offset = index - length;\n for (const other of others) {\n if (offset < other.values.length) return other.values[offset]!;\n offset -= other.values.length;\n }\n throw new RangeError(\"Command argument index is out of range\");\n }, allocation);\n },\n withValues(incoming: readonly (ShellValue | Uint8Array)[]) {\n return ownedCommandArguments(() => {\n if (!Array.isArray(incoming)) throw new TypeError(\"Command arguments must be an array\");\n return incoming.length;\n }, index => incoming[index]!, allocation, () => incoming.length);\n },\n join(separator: ShellValue = \"\") {\n allocation?.assertOpen();\n const count = Math.max(0, length * 2 - 1);\n const bytes = 128 + count * 16;\n if (!Number.isSafeInteger(bytes) || !Number.isSafeInteger(count + 1)) throw new RangeError(\"Command argument join allocation is too large\");\n const transaction = argumentAllocation(allocation);\n const scratch = transaction.allocation?.reserve(bytes, count + 1);\n try {\n const parts: ShellValue[] = [];\n for (let index = 0; index < length; index++) {\n if (index) parts.push(separator);\n parts.push(values[index]!);\n }\n Object.freeze(parts);\n scratch?.commit(parts);\n const result = concatShellValues(parts, transaction.allocation);\n scratch?.release();\n return result;\n } catch (error) {\n return transaction.rollback(error);\n }\n },\n });\n reservation?.commit(carrier);\n argumentCarriers.add(carrier);\n return carrier;\n } catch (error) {\n return transaction.rollback(error);\n }\n}\n\nexport function createCommandArguments(values: readonly ShellValue[], allocation?: ValueAllocation): CommandArguments {\n return ownedCommandArguments(() => {\n if (!Array.isArray(values)) throw new TypeError(\"Command arguments must be an array\");\n return values.length;\n }, index => values[index]!, allocation, () => values.length);\n}\n\nexport function getCommandArguments(context: Pick<CommandContext, \"args\" | \"argumentValues\">): CommandArguments {\n const carrier = context.argumentValues;\n if (carrier === undefined) return createCommandArguments(context.args);\n if (!argumentCarriers.has(carrier)) throw new TypeError(\"Expected owned command arguments\");\n if (carrier.args !== context.args) throw new CommandArgumentIdentityError();\n return carrier;\n}\n\nexport interface CommandInput {\n readonly stat?: FileStat;\n readonly position: number;\n read(maxBytes: number, signal: AbortSignal): Promise<IteratorResult<Uint8Array>>;\n seek?(absolutePosition: number, signal: AbortSignal): Promise<void>;\n}\n\nexport interface CommandInvokeOptions {\n readonly argumentValues?: CommandArguments;\n readonly signal?: AbortSignal | undefined;\n readonly stdin?: ByteSource;\n readonly stdinIsDefault?: boolean;\n readonly stdout?: ByteSink;\n readonly stderr?: ByteSink;\n readonly cwd?: string;\n readonly env?: Readonly<Record<string, string>>;\n readonly replaceEnv?: boolean;\n}\n\nexport type CommandInvoker = (\n command: string,\n args: readonly string[],\n options?: CommandInvokeOptions,\n) => Promise<CommandResult>;\n\nexport type InvocationCleanup = () => void | Promise<void>;\n\nexport type InternalErrorHandler = (error: unknown) => void | Promise<void>;\n\nexport interface CommandContext {\n readonly onInternalError?: InternalErrorHandler | undefined;\n readonly executionScope?: object;\n readonly command: string;\n readonly args: readonly string[];\n readonly argumentValues?: CommandArguments;\n readonly stdin: ByteSource;\n readonly stdinInput?: CommandInput;\n readonly stdinIsDefault?: boolean;\n readonly stdout: ByteSink;\n readonly stdoutFile?: { readonly path: string };\n readonly stderr: ByteSink;\n cwd: string;\n env: Record<string, string>;\n readonly fs: FileSystem;\n readonly signal: AbortSignal;\n readonly invoke?: CommandInvoker;\n readonly registerCleanup?: (cleanup: InvocationCleanup) => void;\n}\n\nexport interface CommandResult {\n readonly exitCode: number;\n}\n\nexport type CommandHandler = (\n context: CommandContext,\n) => CommandResult | Promise<CommandResult>;\n\nexport type AsyncCommandHandler = (context: CommandContext) => Promise<CommandResult>;\n\nexport interface CommandDefinition {\n readonly name: string;\n readonly description?: string;\n readonly filesystemRequirements?: readonly CommandFileSystemRequirement[];\n readonly execute: CommandHandler;\n}\n\nexport interface RegisterCommandOptions {\n readonly replace?: boolean;\n}\n\nexport class CommandRegistry {\n readonly #commands = new Map<string, CommandDefinition>();\n\n constructor(commands: Iterable<CommandDefinition> = []) {\n for (const command of commands) this.register(command);\n }\n\n register(command: CommandDefinition, options: RegisterCommandOptions = {}): this {\n const { name, execute } = command;\n if (typeof name !== \"string\" || !name || /[\\s/\\0]/u.test(name)) {\n throw new TypeError(\"Command names must be nonempty and contain no whitespace, slash, or NUL\");\n }\n if (typeof execute !== \"function\") {\n throw new TypeError(\"Command execute must be a function\");\n }\n if (this.#commands.has(name) && !options.replace) {\n throw new Error(`Command already registered: ${name}`);\n }\n this.#commands.set(name, Object.freeze({ ...command, name, execute }));\n return this;\n }\n\n get(name: string): CommandDefinition | undefined {\n return this.#commands.get(name);\n }\n\n has(name: string): boolean {\n return this.#commands.has(name);\n }\n\n unregister(name: string): boolean {\n return this.#commands.delete(name);\n }\n\n list(): readonly CommandDefinition[] {\n return Array.from(this.#commands.values());\n }\n}\n\nexport function validateExitCode(exitCode: number): number {\n if (!Number.isInteger(exitCode) || exitCode < 0 || exitCode > 255) {\n throw new RangeError(\"Exit status must be an integer between 0 and 255\");\n }\n return exitCode;\n}\n", "export { isErrnoCode, isFsError, toFsError, FsError } from \"poe-code/safe-fs/core\";\nexport type { ErrnoCode, FsErrorOptions } from \"poe-code/safe-fs/core\";\n", "import { collectBytes, readBytes } from \"poe-code/safe-fs/core\";\nimport type { ByteSource, CollectOptions } from \"poe-code/safe-fs/core\";\nexport { collectBytes, readBytes, toByteSource } from \"poe-code/safe-fs/core\";\nexport type { ByteSource, CollectOptions } from \"poe-code/safe-fs/core\";\nimport { TransformStream } from \"node:stream/web\";\nimport { FsError } from \"./errors.js\";\n\nexport const outputFailure = Symbol(\"output failure\");\n\nexport interface ByteSink {\n write(chunk: Uint8Array): Promise<void>;\n readonly [outputFailure]?: (reason: unknown) => Promise<void>;\n readonly ownedOutput?: {\n readonly consumerClosed: AbortSignal;\n write(chunk: Uint8Array): Promise<void>;\n };\n}\n\nexport interface BytePipe {\n readonly readable: ByteSource;\n readonly writable: ByteSink;\n close(): Promise<void>;\n abort(reason?: unknown): Promise<void>;\n}\n\nexport interface BytePipeOptions {\n readonly highWaterMark?: number;\n readonly signal?: AbortSignal;\n}\n\nexport function createBytePipe(options: BytePipeOptions = {}): BytePipe {\n const highWaterMark = options.highWaterMark ?? 64 * 1024;\n const signal = options.signal;\n if (!Number.isSafeInteger(highWaterMark) || highWaterMark < 1) {\n throw new RangeError(\"highWaterMark must be a positive safe integer\");\n }\n const stream = new TransformStream<Uint8Array, Uint8Array>(\n undefined,\n { highWaterMark: 1 },\n { highWaterMark, size: (chunk) => chunk.byteLength },\n );\n const reader = stream.readable.getReader();\n const writer = stream.writable.getWriter();\n let ended = false;\n let failed = false;\n let failure: unknown;\n let closePromise: Promise<void> | undefined;\n let abortPromise: Promise<void> | undefined;\n let finished = false;\n const consumer = new AbortController();\n const abort = (reason: unknown = new FsError(\"EPIPE\", { syscall: \"pipe\" })): Promise<void> => {\n if (abortPromise) return abortPromise;\n if (finished) return Promise.resolve();\n failed = true;\n failure = reason;\n ended = true;\n consumer.abort(reason);\n abortPromise = Promise.allSettled([reader.cancel(reason), writer.abort(reason)]).then(() => {});\n return abortPromise;\n };\n const onAbort = (): void => { void abort(signal?.reason); };\n const cleanup = (): void => signal?.removeEventListener(\"abort\", onAbort);\n void writer.closed.catch(() => {});\n void reader.closed.then(cleanup, cleanup);\n if (signal?.aborted) onAbort();\n else signal?.addEventListener(\"abort\", onAbort, { once: true });\n const iterator = (async function* (): AsyncGenerator<Uint8Array> {\n try {\n while (true) {\n if (failed) throw failure;\n const result = await reader.read();\n if (failed) throw failure;\n if (result.done) {\n finished = true;\n return;\n }\n yield result.value;\n }\n } finally {\n if (!finished) await abort();\n reader.releaseLock();\n }\n })();\n const readable: AsyncIterableIterator<Uint8Array> = {\n [Symbol.asyncIterator]() { return this; },\n next() { return iterator.next(); },\n async return() {\n if (!finished) await abort();\n try {\n return await iterator.return(undefined);\n } finally {\n reader.releaseLock();\n }\n },\n async throw(reason) {\n await abort(reason);\n try {\n return await iterator.throw(reason);\n } finally {\n reader.releaseLock();\n }\n },\n };\n const write = async (chunk: Uint8Array): Promise<void> => {\n if (failed) throw failure;\n if (ended) throw new FsError(\"EPIPE\", { syscall: \"write\" });\n if (!(chunk instanceof Uint8Array)) throw new TypeError(\"Byte sinks require Uint8Array chunks\");\n if (chunk.byteLength > 0) await writer.write(new Uint8Array(chunk));\n };\n return {\n readable,\n writable: {\n write,\n [outputFailure]: abort,\n ownedOutput: { consumerClosed: consumer.signal, write },\n },\n close() {\n if (failed) return Promise.reject(failure);\n ended = true;\n closePromise ??= writer.close();\n return closePromise;\n },\n abort,\n };\n}\n\nexport async function writeText(sink: ByteSink, text: string): Promise<void> {\n await sink.write(new TextEncoder().encode(text));\n}\n\nexport async function writeBytes(sink: ByteSink, chunk: Uint8Array, signal?: AbortSignal): Promise<void> {\n if (!(chunk instanceof Uint8Array)) throw new TypeError(\"Byte sinks require Uint8Array chunks\");\n await abortable(() => sink.write(chunk), signal);\n}\n\nexport async function pipeBytes(source: ByteSource, sink: ByteSink, signal?: AbortSignal): Promise<void> {\n signal?.throwIfAborted();\n for await (const chunk of readBytes(source, signal)) {\n await writeBytes(sink, chunk, signal);\n }\n signal?.throwIfAborted();\n}\n\nexport async function collectText(source: ByteSource, options: CollectOptions): Promise<string> {\n return new TextDecoder().decode(await collectBytes(source, options));\n}\n\nasync function abortable<Result>(operation: () => PromiseLike<Result>, signal?: AbortSignal): Promise<Result> {\n signal?.throwIfAborted();\n if (!signal) return operation();\n return new Promise<Result>((resolve, reject) => {\n const onAbort = (): void => {\n signal.removeEventListener(\"abort\", onAbort);\n reject(signal.reason);\n };\n signal.addEventListener(\"abort\", onAbort, { once: true });\n try {\n Promise.resolve(operation()).then(\n (result) => {\n signal.removeEventListener(\"abort\", onAbort);\n resolve(result);\n },\n (error: unknown) => {\n signal.removeEventListener(\"abort\", onAbort);\n reject(error);\n },\n );\n } catch (error) {\n signal.removeEventListener(\"abort\", onAbort);\n reject(error);\n }\n });\n}\n", "import { FsError } from \"./contracts/errors.js\";\nimport { CommandArgumentIdentityError, type InternalErrorHandler } from \"./contracts/command.js\";\n\nexport class PublicDiagnostic extends Error {}\n\nexport function publicDiagnosticMessage(error: unknown, onInternalError?: InternalErrorHandler): string {\n if (error instanceof FsError || error instanceof CommandArgumentIdentityError) return error.message;\n if (error instanceof PublicDiagnostic && !Object.hasOwn(error, \"cause\")) return error.message;\n const original: unknown = error instanceof PublicDiagnostic ? error.cause : error;\n const detail = error instanceof PublicDiagnostic ? error.message : \"internal error\";\n try {\n const pending = onInternalError?.(original);\n if (pending !== undefined) void Promise.resolve(pending).catch(() => undefined);\n } catch { return detail; }\n return detail;\n}\n", "type ImmediateHost = typeof globalThis & {\n setImmediate?: (callback: () => void) => unknown;\n clearImmediate?: (handle: unknown) => void;\n};\n\nexport type TurnHandle =\n | { kind: \"immediate\"; value: unknown }\n | { kind: \"timeout\"; value: ReturnType<typeof setTimeout> };\nconst checkpoints = new WeakMap<AbortSignal, () => void>();\n\nexport function monotonicNow(): number {\n return globalThis.performance?.now() ?? Date.now();\n}\n\nexport function registerYieldCheckpoint(signal: AbortSignal, checkpoint: () => void): void {\n checkpoints.set(signal, checkpoint);\n}\n\nexport function inheritYieldCheckpoint(parent: AbortSignal, child: AbortSignal): void {\n const checkpoint = checkpoints.get(parent);\n if (checkpoint) checkpoints.set(child, checkpoint);\n}\n\nexport function scheduleTurn(callback: () => void): TurnHandle {\n const host = globalThis as ImmediateHost;\n return host.setImmediate\n ? { kind: \"immediate\", value: host.setImmediate(callback) }\n : { kind: \"timeout\", value: setTimeout(callback, 0) };\n}\n\nexport function cancelTurn(handle: TurnHandle | undefined): void {\n if (handle?.kind === \"immediate\") (globalThis as ImmediateHost).clearImmediate?.(handle.value);\n else if (handle) clearTimeout(handle.value);\n}\n\nexport function yieldTurn(signal?: AbortSignal): Promise<void> {\n signal?.throwIfAborted();\n if (signal) checkpoints.get(signal)?.();\n return new Promise<void>((resolve, reject) => {\n let handle: TurnHandle | undefined;\n const finish = (): void => {\n signal?.removeEventListener(\"abort\", abort);\n resolve();\n };\n const abort = (): void => {\n cancelTurn(handle);\n reject(signal!.reason);\n };\n signal?.addEventListener(\"abort\", abort, { once: true });\n if (signal?.aborted) abort();\n else handle = scheduleTurn(finish);\n });\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["bytes", "transaction", "collectBytes", "readBytes"]
7
+ }
@@ -1,15 +1,17 @@
1
1
  import {
2
2
  createOutputOperation
3
- } from "./chunk-UL4TNDNV.js";
3
+ } from "./chunk-PZMJ4EC3.js";
4
4
  import {
5
5
  FsError,
6
6
  PublicDiagnostic,
7
7
  getCommandArguments,
8
- init_platform,
9
8
  shellValueByteLength,
10
9
  shellValueBytes,
11
10
  yieldTurn
12
- } from "./chunk-4NMFAR4Z.js";
11
+ } from "./chunk-5VBLSPNM.js";
12
+ import {
13
+ init_platform
14
+ } from "./chunk-2KL6W6NB.js";
13
15
 
14
16
  // packages/safe-bash/src/commands/factor/index.ts
15
17
  init_platform();
@@ -524,4 +526,4 @@ export {
524
526
  createFactorCommands,
525
527
  factorCommands
526
528
  };
527
- //# sourceMappingURL=chunk-LUIEXTN5.js.map
529
+ //# sourceMappingURL=chunk-66VSWIUC.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/commands/factor/index.ts", "../../src/commands/factor/command.ts", "../../src/commands/factor/internal.ts", "../../src/commands/factor/io.ts", "../../src/commands/factor/factor.ts"],
4
4
  "sourcesContent": ["import type { CommandDefinition, VirtualShellPlugin } from \"../../contracts/index.js\";\nimport { createFactorCommand } from \"./command.js\";\nimport type { FactorCommandsOptions } from \"./internal.js\";\n\nexport { createFactorCommand } from \"./command.js\";\nexport type { FactorCommandsOptions, FactorLimits } from \"./internal.js\";\n\nexport function createFactorCommands(options: FactorCommandsOptions = {}): readonly CommandDefinition[] {\n return [createFactorCommand(options)];\n}\n\nexport function factorCommands(options: FactorCommandsOptions = {}): VirtualShellPlugin {\n const commands = createFactorCommands(options);\n return { name: \"factor-commands\", setup(host) {\n for (const command of commands) host.commands.register(command, { replace: options.replace ?? false });\n } };\n}\n", "import type { CommandDefinition } from \"../../contracts/index.js\";\nimport { createOutputOperation } from \"../../contracts/output.js\";\nimport { Budget, FactorError, bytes, quote, settings, type FactorCommandsOptions } from \"./internal.js\";\nimport { Lifecycle, RecordWriter, TokenReader } from \"./io.js\";\nimport { factorRecord, parseNumber } from \"./factor.js\";\n\nexport function createFactorCommand(options: FactorCommandsOptions = {}): CommandDefinition {\n const limits = settings(options);\n return { name: \"factor\", description: \"Print prime factors of bounded nonnegative integers\", async execute(context) {\n const output = createOutputOperation(context, context.stdout);\n const budget = new Budget(context, limits, output.signal);\n let lifecycle: Lifecycle | undefined;\n let failure: { reason: unknown } | undefined;\n let primary: { reason: unknown } | undefined;\n let exitCode = 0;\n try {\n lifecycle = new Lifecycle(budget, output);\n const operands: string[] = [];\n let optionsEnded = false, debug = false;\n let information: \"help\" | \"version\" | undefined;\n for (const argument of budget.arguments()) {\n if (!optionsEnded && argument === \"--\") { optionsEnded = true; continue; }\n if (!optionsEnded && argument.startsWith(\"--\")) {\n const equals = argument.indexOf(\"=\");\n const option = equals < 0 ? argument.slice(2) : argument.slice(2, equals);\n const matches = [\"-debug\", \"help\", \"version\"].filter(name => name.startsWith(option));\n if (matches.length > 1) throw new FactorError(`option '${argument}' is ambiguous; possibilities: ${matches.map(name => `'--${name}'`).join(\" \")}`, true);\n const matched = matches[0];\n if (!matched) throw new FactorError(`unrecognized option '${argument}'`, true);\n if (equals >= 0) throw new FactorError(`option '--${matched}' doesn't allow an argument`, true);\n if (matched === \"-debug\") debug = true;\n else { information = matched as \"help\" | \"version\"; break; }\n } else {\n if (!optionsEnded && argument.length > 1 && argument.startsWith(\"-\")) throw new FactorError(`invalid option -- '${argument[1]}'`, true);\n operands.push(argument);\n if (context.env.POSIXLY_CORRECT !== undefined) optionsEnded = true;\n }\n }\n if (information) {\n const message = information === \"version\" ? \"factor (virtual-bash)\\n\" : `Usage: factor [NUMBER]...\\nPrint prime factors; with no numbers, read standard input.\\nOptions: --help --version\\nMaximum supported value: ${limits.maxValue}\\n`;\n budget.outputRoom(message.length);\n await lifecycle.write(bytes(message));\n } else {\n const writer = new RecordWriter(lifecycle);\n const process = async (input: string): Promise<void> => {\n budget.number();\n budget.check(input.length, limits.maxTokenBytes, \"token bytes\");\n const value = await parseNumber(input, budget);\n if (typeof value === \"string\") {\n exitCode = 1;\n const suffix = value === \"invalid\" ? \" is not a valid positive integer\\n\" : ` exceeds supported maximum ${limits.maxValue}\\n`;\n await lifecycle!.diagnostic(`factor: ${quote(input, budget, 8 + suffix.length)}${suffix}`);\n } else {\n if (debug) await lifecycle!.diagnostic(\"[using single-precision arithmetic] \");\n await writer.append(await factorRecord(value, budget));\n }\n };\n if (operands.length) { for (const operand of operands) await process(operand); }\n else {\n const reader = new TokenReader(lifecycle);\n for (;;) {\n const token = await reader.next();\n if (token === undefined) break;\n try { await process(token); } finally { budget.retain(-token.length * 4); }\n }\n }\n await writer.finish();\n }\n } catch (error) {\n primary = { reason: error };\n if (error instanceof FactorError && !output.signal.aborted && lifecycle) {\n exitCode = 1;\n try { await lifecycle.diagnostic(`factor: ${error.message}\\n${error.usage ? \"Try 'factor --help' for more information.\\n\" : \"\"}`); }\n catch (reporting) { failure = { reason: new AggregateError([error, reporting], \"factor failure reporting failed\") }; }\n } else failure = { reason: error };\n }\n try { await output.close(); }\n catch (cleanup) {\n const previous = failure ?? primary;\n failure = { reason: previous ? new AggregateError([previous.reason, cleanup], \"factor execution and cleanup failed\") : cleanup };\n }\n context.signal.throwIfAborted();\n output.signal.throwIfAborted();\n if (failure) throw failure.reason;\n return { exitCode };\n } };\n}\n", "import { getCommandArguments, type CommandContext } from \"../../contracts/index.js\";\nimport { shellValueByteLength, shellValueBytes } from \"../../contracts/value.js\";\nimport { yieldTurn } from \"../../contracts/yield.js\";\nimport { PublicDiagnostic } from \"../../diagnostics.js\";\n\nexport interface FactorLimits {\n readonly maxValue: number;\n readonly maxArguments: number;\n readonly maxArgumentBytes: number;\n readonly maxInputBytes: number;\n readonly maxTokenBytes: number;\n readonly maxNumbers: number;\n readonly maxBufferedBytes: number;\n readonly maxOutputBytes: number;\n readonly maxDiagnosticBytes: number;\n readonly maxWork: number;\n readonly maxEmptyChunks: number;\n}\n\nexport interface FactorCommandsOptions {\n readonly replace?: boolean;\n readonly limits?: Partial<FactorLimits>;\n}\n\nexport function settings(options: FactorCommandsOptions): FactorLimits {\n const limits: FactorLimits = {\n maxValue: 4_294_967_295, maxArguments: 4096, maxArgumentBytes: 65_536,\n maxInputBytes: 16_777_216, maxTokenBytes: 65_536, maxNumbers: 65_536,\n maxBufferedBytes: 4_194_304, maxOutputBytes: 16_777_216,\n maxDiagnosticBytes: 65_536, maxWork: 8_388_608, maxEmptyChunks: 4096, ...options.limits,\n };\n for (const [name, value] of Object.entries(limits)) {\n if (!Number.isSafeInteger(value) || value < 1) throw new RangeError(`Invalid factor limit: ${name}`);\n }\n if (limits.maxValue > 4_294_967_295) throw new RangeError(\"factor maxValue cannot exceed 4294967295\");\n return Object.freeze(limits);\n}\n\nexport class FactorError extends PublicDiagnostic {\n constructor(message: string, readonly usage = false) { super(message); }\n}\n\nexport function raw(value: Uint8Array): string {\n let result = \"\";\n for (let offset = 0; offset < value.length; offset += 4096) result += String.fromCharCode(...value.subarray(offset, offset + 4096));\n return result;\n}\n\nexport function bytes(value: string): Uint8Array {\n return Uint8Array.from(value, character => character.charCodeAt(0));\n}\n\nconst escapes: Readonly<Record<string, string>> = { \"\\x07\": \"\\\\a\", \"\\b\": \"\\\\b\", \"\\f\": \"\\\\f\", \"\\n\": \"\\\\n\", \"\\r\": \"\\\\r\", \"\\t\": \"\\\\t\", \"\\v\": \"\\\\v\", \"\\\\\": \"\\\\\\\\\", \"'\": \"\\\\'\" };\n\nexport function quote(value: string, budget: Budget, suffixLength: number): string {\n let length = 2;\n for (const character of value) {\n const code = character.charCodeAt(0);\n length += escapes[character]?.length ?? (code >= 32 && code < 127 ? 1 : 4);\n }\n budget.diagnosticRoom(length + suffixLength);\n let result = \"'\";\n for (const character of value) {\n const code = character.charCodeAt(0);\n result += escapes[character] ?? (code >= 32 && code < 127 ? character : `\\\\${code.toString(8).padStart(3, \"0\")}`);\n }\n return `${result}'`;\n}\n\nexport class Budget {\n private work = 0;\n private checkpoint = 0;\n private retained = 0;\n private input = 0;\n private numbers = 0;\n private output = 0;\n private diagnostics = 0;\n constructor(readonly context: CommandContext, readonly limits: FactorLimits, readonly signal: AbortSignal) {}\n check(value: number, maximum: number, label: string): void {\n if (!Number.isSafeInteger(value) || value < 0 || value > maximum) throw new FactorError(`${label} limit exceeded`);\n }\n charge(amount = 1): void {\n this.signal.throwIfAborted();\n this.check(this.work + amount, this.limits.maxWork, \"work\");\n this.work += amount;\n }\n async checkpointWork(): Promise<void> {\n this.signal.throwIfAborted();\n if (this.work - this.checkpoint >= 1024) { this.checkpoint = this.work; await yieldTurn(this.signal); }\n }\n retain(amount: number): void {\n this.check(this.retained + amount, this.limits.maxBufferedBytes, \"buffered bytes\");\n this.retained += amount;\n }\n number(): void { this.check(++this.numbers, this.limits.maxNumbers, \"numbers\"); this.charge(); }\n inputBytes(amount: number): void {\n this.check(this.input + amount, this.limits.maxInputBytes, \"input bytes\");\n this.input += amount;\n }\n outputRoom(amount: number): void { this.check(this.output + amount, this.limits.maxOutputBytes, \"output bytes\"); }\n diagnosticRoom(amount: number): void { this.check(this.diagnostics + amount, this.limits.maxDiagnosticBytes, \"diagnostic bytes\"); }\n emitted(amount: number, diagnostic: boolean): void {\n if (diagnostic) { this.diagnosticRoom(amount); this.diagnostics += amount; }\n else { this.outputRoom(amount); this.charge(amount); this.output += amount; }\n }\n arguments(): string[] {\n this.check(this.context.args.length, this.limits.maxArguments, \"argument count\");\n let total = 0;\n for (const argument of this.context.args) {\n total += argument.length;\n this.check(total, this.limits.maxArgumentBytes, \"argument bytes\");\n for (let offset = 0; offset < argument.length; offset++) {\n const unit = argument.charCodeAt(offset);\n if (unit >= 0xd800 && unit <= 0xdbff) {\n const next = argument.charCodeAt(++offset);\n if (!(next >= 0xdc00 && next <= 0xdfff)) throw new FactorError(\"arguments must contain well-formed Unicode\");\n } else if (unit >= 0xdc00 && unit <= 0xdfff) throw new FactorError(\"arguments must contain well-formed Unicode\");\n }\n }\n total = 0;\n const values = this.context.argumentValues === undefined ? this.context.args : getCommandArguments(this.context).values;\n for (const argument of values) { total += shellValueByteLength(argument); this.check(total, this.limits.maxArgumentBytes, \"argument bytes\"); }\n this.charge(total);\n this.retain(total * 8 + this.context.args.length * 64 + 128);\n return getCommandArguments(this.context).values.map(argument => {\n const value = shellValueBytes(argument);\n if (value.includes(0)) throw new FactorError(\"NUL is not supported in arguments\");\n return raw(value);\n });\n }\n}\n", "import { FsError } from \"../../contracts/index.js\";\nimport type { OutputOperation } from \"../../contracts/output.js\";\nimport { Budget, FactorError, bytes, raw } from \"./internal.js\";\n\nexport class Lifecycle {\n private readonly pending = new Set<Promise<unknown>>();\n private readonly cleanups: (() => Promise<void>)[] = [];\n private closing: Promise<void> | undefined;\n constructor(readonly budget: Budget, output: OutputOperation) { output.registerCleanup(() => this.close()); }\n cleanup(action: () => Promise<void>): void { this.assertOpen(); this.cleanups.push(action); }\n assertOpen(): void {\n this.budget.signal.throwIfAborted();\n if (this.closing) throw new FactorError(\"command is closed\");\n }\n async operation<Value>(action: () => Value | Promise<Value>): Promise<Value> {\n this.assertOpen();\n const pending = Promise.resolve().then(() => { this.assertOpen(); return action(); });\n this.pending.add(pending);\n try { const value = await pending; this.assertOpen(); return value; }\n finally { this.pending.delete(pending); }\n }\n close(): Promise<void> {\n return this.closing ??= Promise.resolve().then(async () => {\n while (this.pending.size) await Promise.allSettled([...this.pending]);\n const failures: unknown[] = [];\n for (const cleanup of this.cleanups) { try { await cleanup(); } catch (error) { failures.push(error); } }\n if (failures.length === 1) throw failures[0];\n if (failures.length > 1) throw new AggregateError(failures, \"factor cleanup failed\");\n });\n }\n async write(value: Uint8Array, diagnostic = false): Promise<void> {\n this.budget.emitted(value.length, diagnostic);\n await this.operation(async () => {\n const sink = diagnostic ? this.budget.context.stderr : this.budget.context.stdout;\n this.assertOpen();\n const destination = sink.ownedOutput ?? sink;\n this.assertOpen();\n const write = destination.write;\n this.assertOpen();\n await Reflect.apply(write, destination, [value]);\n });\n }\n async diagnostic(value: string): Promise<void> {\n this.budget.diagnosticRoom(value.length);\n await this.write(bytes(value), true);\n }\n}\n\nexport class TokenReader {\n private iterator: AsyncIterator<Uint8Array> | undefined;\n private chunk: Uint8Array = new Uint8Array();\n private token: Uint8Array = new Uint8Array();\n private offset = 0;\n private ended = false;\n private empties = 0;\n constructor(readonly lifecycle: Lifecycle) {\n lifecycle.cleanup(async () => {\n try { if (!this.ended) await this.iterator?.return?.(); }\n finally {\n this.iterator = undefined;\n lifecycle.budget.retain(-this.chunk.length - this.token.length);\n this.chunk = new Uint8Array();\n this.token = new Uint8Array();\n }\n });\n }\n private async get(): Promise<number> {\n const { budget } = this.lifecycle;\n budget.charge();\n await budget.checkpointWork();\n while (this.offset === this.chunk.length) {\n if (this.ended) return -1;\n let next: IteratorResult<Uint8Array>;\n try {\n if (!this.iterator) await this.lifecycle.operation(() => {\n const source = budget.context.stdin;\n this.lifecycle.assertOpen();\n const factory = source[Symbol.asyncIterator];\n this.lifecycle.assertOpen();\n this.iterator = Reflect.apply(factory, source, []);\n });\n budget.charge();\n next = await this.lifecycle.operation(() => {\n const iterator = this.iterator!;\n const advance = iterator.next;\n this.lifecycle.assertOpen();\n return Reflect.apply(advance, iterator, []);\n });\n } catch (error) {\n if (error instanceof FsError) throw new FactorError(`standard input: ${error.code === \"EIO\" ? \"Input/output error\" : error.message}`);\n throw error;\n }\n budget.retain(-this.chunk.length);\n this.chunk = new Uint8Array();\n this.offset = 0;\n if (next.done) { this.ended = true; this.iterator = undefined; return -1; }\n if (!(next.value instanceof Uint8Array)) throw new TypeError(\"factor input requires bytes\");\n budget.inputBytes(next.value.length);\n budget.charge(next.value.length);\n budget.retain(next.value.length);\n this.chunk = Uint8Array.from(next.value);\n if (!this.chunk.length) budget.check(++this.empties, budget.limits.maxEmptyChunks, \"empty input chunks\");\n }\n return this.chunk[this.offset++]!;\n }\n async next(): Promise<string | undefined> {\n const { budget } = this.lifecycle;\n let length = 0, kept = 0;\n let nul = false;\n for (;;) {\n const value = await this.get();\n if (value < 0 || value === 32 || value === 9 || value === 10) {\n if (length) { budget.charge(kept); budget.retain(kept * 4); return raw(this.token.subarray(0, kept)); }\n if (value < 0) return undefined;\n } else {\n budget.check(++length, budget.limits.maxTokenBytes, \"token bytes\");\n if (value === 0) nul = true;\n if (!nul) {\n if (kept === this.token.length) {\n const capacity = Math.min(budget.limits.maxTokenBytes, Math.max(64, this.token.length * 2));\n budget.retain(capacity);\n budget.charge(this.token.length);\n const grown = new Uint8Array(capacity);\n grown.set(this.token);\n budget.retain(-this.token.length);\n this.token = grown;\n }\n this.token[kept++] = value;\n }\n }\n }\n }\n}\n\nexport class RecordWriter {\n private buffer: Uint8Array;\n private used = 0;\n constructor(readonly lifecycle: Lifecycle) {\n lifecycle.budget.retain(1024);\n this.buffer = new Uint8Array(1024);\n lifecycle.cleanup(async () => { lifecycle.budget.retain(-this.buffer.length); this.buffer = new Uint8Array(); });\n }\n async append(record: string): Promise<void> {\n const { budget } = this.lifecycle;\n this.lifecycle.assertOpen();\n budget.outputRoom(this.used + record.length);\n budget.charge(record.length);\n for (let offset = 0; offset < record.length; offset++) this.buffer[this.used++] = record.charCodeAt(offset);\n if (this.used >= 512) {\n let end = 512;\n while (this.buffer[end - 1] !== 10) end--;\n await this.lifecycle.write(this.buffer.subarray(0, end));\n this.buffer.copyWithin(0, end, this.used);\n this.used -= end;\n }\n }\n async finish(): Promise<void> {\n if (this.used) { await this.lifecycle.write(this.buffer.subarray(0, this.used)); this.used = 0; }\n }\n}\n", "import { Budget } from \"./internal.js\";\n\nexport async function parseNumber(input: string, budget: Budget): Promise<number | \"invalid\" | \"large\"> {\n let start = 0;\n while (input[start] === \" \") { budget.charge(); start++; await budget.checkpointWork(); }\n if (input[start] === \"+\") start++;\n if (start === input.length) return \"invalid\";\n let result = 0, large = false;\n for (let offset = start; offset < input.length; offset++) {\n budget.charge();\n const digit = input.charCodeAt(offset) - 48;\n if (digit < 0 || digit > 9) return \"invalid\";\n if (!large) {\n if (result > Math.floor((budget.limits.maxValue - digit) / 10)) large = true;\n else result = result * 10 + digit;\n }\n await budget.checkpointWork();\n }\n return large ? \"large\" : result;\n}\n\nexport async function factorRecord(value: number, budget: Budget): Promise<string> {\n let remaining = value;\n const factors: number[] = [];\n budget.retain(512);\n try {\n for (let divisor = 2; divisor * divisor <= remaining; divisor = divisor === 2 ? 3 : divisor + 2) {\n for (;;) {\n budget.charge();\n await budget.checkpointWork();\n if (remaining % divisor !== 0) break;\n budget.charge(2);\n factors.push(divisor);\n remaining /= divisor;\n }\n }\n if (remaining > 1) factors.push(remaining);\n budget.charge(1 + factors.length * 11);\n return `${value}:${factors.map(factor => ` ${factor}`).join(\"\")}\\n`;\n } finally { budget.retain(-512); }\n}\n"],
5
- "mappings": "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",
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -1,9 +1,11 @@
1
1
  import {
2
- import_buffer,
3
- init_platform,
4
2
  monotonicNow,
5
3
  yieldTurn
6
- } from "./chunk-4NMFAR4Z.js";
4
+ } from "./chunk-5VBLSPNM.js";
5
+ import {
6
+ import_buffer,
7
+ init_platform
8
+ } from "./chunk-2KL6W6NB.js";
7
9
 
8
10
  // packages/safe-bash/src/commands/structured/limits.ts
9
11
  init_platform();
@@ -337,4 +339,4 @@ export {
337
339
  scalarJson,
338
340
  interruptible
339
341
  };
340
- //# sourceMappingURL=chunk-5X2TAR25.js.map
342
+ //# sourceMappingURL=chunk-6PSMEBVP.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/commands/structured/limits.ts", "../../src/commands/structured/numbers.ts"],
4
4
  "sourcesContent": ["import { monotonicNow, yieldTurn } from \"../../contracts/yield.js\";\nimport { Decimal, isNumber, numberText } from \"./numbers.js\";\n\nexport type Json = null | boolean | number | Decimal | string | Json[] | { [key: string]: Json };\nexport interface JqLimits {\n readonly maxInputBytes: number;\n readonly maxValueBytes: number;\n readonly maxOutputBytes: number;\n readonly maxSourceBytes: number;\n readonly maxDepth: number;\n readonly maxAstDepth: number;\n readonly maxSteps: number;\n readonly maxResults: number;\n readonly maxCollectionSize: number;\n}\nexport interface StructuredCommandsOptions {\n readonly replace?: boolean;\n readonly limits?: Partial<JqLimits>;\n}\nexport const defaultJqLimits: Readonly<JqLimits> = Object.freeze({\n maxInputBytes: 64 * 1024 * 1024, maxValueBytes: 8 * 1024 * 1024,\n maxOutputBytes: 16 * 1024 * 1024, maxSourceBytes: 64 * 1024,\n maxDepth: 128, maxAstDepth: 64, maxSteps: 1_000_000,\n maxResults: 100_000, maxCollectionSize: 100_000,\n});\nexport class JqError extends Error {\n constructor(message: string, readonly exitCode = 5) { super(message); }\n}\nexport class JqLimitError extends JqError {\n constructor(name: keyof JqLimits) { super(`${name} limit exceeded`); }\n}\nexport interface InputLocation {\n name: string;\n line: number;\n complete: boolean;\n}\nexport function resolveJqLimits(options: Partial<JqLimits> = {}): JqLimits {\n const limits = { ...defaultJqLimits, ...options };\n for (const [name, value] of Object.entries(limits)) {\n if (!Number.isSafeInteger(value) || value < 1) throw new RangeError(`${name} must be a positive safe integer`);\n }\n if (limits.maxDepth > 256 || limits.maxAstDepth > 128) throw new RangeError(\"maxDepth must be <=256 and maxAstDepth <=128\");\n return Object.freeze(limits);\n}\nexport class Budget {\n private steps = 0;\n private nextYield = 1024;\n private lastYield = monotonicNow();\n inputBytes = 0;\n outputBytes = 0;\n results = 0;\n inputLocation: InputLocation = { name: \"<unknown>\", line: 0, complete: true };\n constructor(readonly limits: JqLimits, readonly signal: AbortSignal) {}\n step(count = 1): void {\n this.signal.throwIfAborted();\n this.steps += count;\n if (this.steps > this.limits.maxSteps) throw new JqLimitError(\"maxSteps\");\n }\n async tick(count = 1): Promise<void> {\n this.step(count);\n if (this.steps >= this.nextYield || monotonicNow() - this.lastYield >= 25) {\n await yieldTurn(this.signal);\n this.signal.throwIfAborted();\n this.nextYield = this.steps + 1024;\n this.lastYield = monotonicNow();\n }\n }\n collection(size: number): void {\n if (size > this.limits.maxCollectionSize) throw new JqLimitError(\"maxCollectionSize\");\n }\n text(text: string): void {\n if (text.length > this.limits.maxValueBytes || Buffer.byteLength(text) > this.limits.maxValueBytes) throw new JqLimitError(\"maxValueBytes\");\n }\n value(value: Json): number {\n let bytes = 0;\n const visit = (current: Json, depth: number): void => {\n this.step();\n if (depth > this.limits.maxDepth) throw new JqLimitError(\"maxDepth\");\n if (current !== null && typeof current === \"object\" && !(current instanceof Decimal)) {\n if (depth + 1 > this.limits.maxDepth) throw new JqLimitError(\"maxDepth\");\n const keys = Array.isArray(current) ? Object.keys(current) : objectKeys(current);\n this.collection(keys.length);\n bytes += 2 + Math.max(0, keys.length - 1);\n for (const key of keys) {\n if (!Array.isArray(current)) {\n this.text(key);\n bytes += Buffer.byteLength(JSON.stringify(key)) + 1;\n }\n if (bytes > this.limits.maxValueBytes) throw new JqLimitError(\"maxValueBytes\");\n visit((current as Record<string, Json>)[key]!, depth + 1);\n }\n } else {\n if (typeof current === \"string\") { this.step(current.length); this.text(current); }\n bytes += Buffer.byteLength(scalarJson(current, this));\n }\n if (bytes > this.limits.maxValueBytes) throw new JqLimitError(\"maxValueBytes\");\n };\n visit(value, 0);\n return bytes;\n }\n}\nconst keyOrders = new WeakMap<Record<string, Json>, string[]>();\nexport function object(): Record<string, Json> {\n const result = Object.create(null) as Record<string, Json>;\n keyOrders.set(result, []);\n return result;\n}\nexport function objectKeys(value: Record<string, Json>): string[] { return keyOrders.get(value)?.slice() ?? Object.keys(value); }\nexport function* objectKeyIterator(value: Record<string, Json>): IterableIterator<string> {\n const keys = keyOrders.get(value);\n if (keys) yield* keys;\n else for (const key in value) if (Object.hasOwn(value, key)) yield key;\n}\nexport function objectSize(value: Record<string, Json>): number { return keyOrders.get(value)?.length ?? Object.keys(value).length; }\nexport function put(value: Record<string, Json>, key: string, item: Json): void {\n if (!Object.hasOwn(value, key)) keyOrders.get(value)?.push(key);\n value[key] = item;\n}\nexport function remove(value: Record<string, Json>, key: string): void {\n delete value[key];\n const keys = keyOrders.get(value);\n if (keys) { const index = keys.indexOf(key); if (index >= 0) keys.splice(index, 1); }\n}\nexport function copyObject(...sources: (Record<string, Json> | null)[]): Record<string, Json> {\n const result = object();\n for (const source of sources) if (source) for (const key of objectKeys(source)) put(result, key, source[key]!);\n return result;\n}\nexport function wellFormed(text: string): boolean {\n for (let index = 0; index < text.length; index++) {\n const code = text.charCodeAt(index);\n if (code >= 0xd800 && code <= 0xdbff) {\n const next = text.charCodeAt(++index);\n if (!(next >= 0xdc00 && next <= 0xdfff)) return false;\n } else if (code >= 0xdc00 && code <= 0xdfff) return false;\n }\n return true;\n}\nexport function isObject(value: Json): value is Record<string, Json> { return value !== null && typeof value === \"object\" && !Array.isArray(value) && !(value instanceof Decimal); }\nexport function truth(value: Json): boolean { return value !== null && value !== false; }\nexport function scalarJson(value: null | boolean | number | Decimal | string, budget: Budget): string {\n if (value instanceof Decimal) budget.step(Math.ceil(value.text.length / 32));\n return isNumber(value) ? numberText(value) : JSON.stringify(value);\n}\nexport async function interruptible<Result>(operation: () => PromiseLike<Result>, signal: AbortSignal): Promise<Result> {\n signal.throwIfAborted();\n return new Promise<Result>((resolve, reject) => {\n const aborted = (): void => { signal.removeEventListener(\"abort\", aborted); reject(signal.reason); };\n signal.addEventListener(\"abort\", aborted, { once: true });\n try {\n Promise.resolve(operation()).then(\n result => { signal.removeEventListener(\"abort\", aborted); resolve(result); },\n error => { signal.removeEventListener(\"abort\", aborted); reject(error); },\n );\n } catch (error) { signal.removeEventListener(\"abort\", aborted); reject(error); }\n });\n}\n", "import type { Budget } from \"./limits.js\";\n\nexport class Decimal {\n constructor(readonly digits: string, readonly exponent: number, readonly negative: boolean, readonly text: string, readonly double: number) {\n Object.freeze(this);\n }\n}\nexport type Numeric = number | Decimal;\nexport function isNumber(value: unknown): value is Numeric { return typeof value === \"number\" || value instanceof Decimal; }\nexport function numberValue(value: Numeric): number { return typeof value === \"number\" ? value : value.double; }\nexport function numericToken(token: string, budget: Budget): Numeric | undefined {\n budget.step(Math.ceil(token.length / 32));\n const end = token.indexOf(\"\\0\");\n const text = end < 0 ? token : token.slice(0, end);\n if (/^[+-]?s?nan[0-9]*$/iu.test(text)) return new Decimal(\"0\", NaN, false, \"null\", NaN);\n if (/^[+-]?inf(?:inity)?$/iu.test(text)) {\n const negative = text[0] === \"-\";\n const value = negative ? -Infinity : Infinity;\n return new Decimal(\"1\", Infinity, negative, numberText(value), value);\n }\n if (!/^[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?$/u.test(text)) return undefined;\n return decimalNumber(text[0] === \"+\" ? text.slice(1) : text, budget);\n}\n\nfunction increment(digits: string): string {\n let position = digits.length - 1;\n while (position >= 0 && digits[position] === \"9\") position--;\n return position < 0 ? `1${\"0\".repeat(digits.length)}` : `${digits.slice(0, position)}${Number(digits[position]) + 1}${\"0\".repeat(digits.length - position - 1)}`;\n}\nfunction decimalDouble(digits: string, exponent: number, negative: boolean): number {\n let rounded = digits;\n if (digits.length > 17) {\n rounded = digits.slice(0, 17);\n const next = digits[17]!;\n if (next > \"5\" || (next === \"5\" && (/[1-9]/u.test(digits.slice(18)) || Number(rounded[16]) % 2 !== 0))) rounded = increment(rounded);\n exponent += digits.length - 17;\n }\n return Number(`${negative ? \"-\" : \"\"}${rounded}e${exponent}`);\n}\nfunction decimalText(digits: string, exponent: number, negative: boolean): string {\n const sign = negative ? \"-\" : \"\";\n const adjusted = exponent + digits.length - 1;\n if (exponent > 0 || adjusted < -6) return `${sign}${digits[0]}${digits.length > 1 ? `.${digits.slice(1)}` : \"\"}E${adjusted >= 0 ? \"+\" : \"\"}${adjusted}`;\n const point = digits.length + exponent;\n if (point <= 0) return `${sign}0.${\"0\".repeat(-point)}${digits}`;\n return `${sign}${digits.slice(0, point)}${point < digits.length ? `.${digits.slice(point)}` : \"\"}`;\n}\nexport function decimalNumber(token: string, budget: Budget): Numeric {\n budget.text(token);\n budget.step(Math.ceil(token.length / 32));\n const negative = token[0] === \"-\";\n const unsigned = negative ? token.slice(1) : token;\n const marker = unsigned.search(/[eE]/u);\n const coefficient = marker < 0 ? unsigned : unsigned.slice(0, marker);\n const point = coefficient.indexOf(\".\");\n let exponent = (marker < 0 ? 0 : Number(unsigned.slice(marker + 1))) - (point < 0 ? 0 : coefficient.length - point - 1);\n let digits = coefficient.replace(\".\", \"\").replace(/^0+/u, \"\") || \"0\";\n const minimumExponent = -1147483646;\n const maximumExponent = 999999999;\n if (digits === \"0\") exponent = Math.max(minimumExponent, Math.min(maximumExponent, exponent));\n else if (exponent + digits.length - 1 > maximumExponent) {\n const infinity = negative ? -Infinity : Infinity;\n return new Decimal(\"1\", Infinity, negative, numberText(infinity), infinity);\n }\n else if (exponent < minimumExponent) {\n const retained = digits.length - (minimumExponent - exponent);\n const roundUp = retained >= 0 && digits[retained]! >= \"5\";\n digits = retained > 0 ? digits.slice(0, retained) : \"0\";\n if (roundUp) digits = increment(digits);\n exponent = minimumExponent;\n }\n const text = decimalText(digits, exponent, negative);\n budget.text(text);\n return new Decimal(digits, exponent, negative, text, decimalDouble(digits, exponent, negative));\n}\nexport function compareNumbers(left: Numeric, right: Numeric, budget: Budget): number {\n if (Number.isNaN(numberValue(left))) return -1;\n if (Number.isNaN(numberValue(right))) return 1;\n if (!(left instanceof Decimal) || !(right instanceof Decimal)) {\n const first = numberValue(left);\n const second = numberValue(right);\n return first < second ? -1 : first === second ? 0 : 1;\n }\n if (left.digits === \"0\" && right.digits === \"0\") return 0;\n const sign = left.negative ? -1 : 1;\n if (left.negative !== right.negative) return sign;\n if (left.digits === \"0\") return -sign;\n if (right.digits === \"0\") return sign;\n if (left.exponent === Infinity || right.exponent === Infinity) return left.exponent === right.exponent ? 0 : left.exponent === Infinity ? sign : -sign;\n const magnitude = left.exponent + left.digits.length - right.exponent - right.digits.length;\n if (magnitude) return Math.sign(magnitude) * sign;\n const length = Math.max(left.digits.length, right.digits.length);\n budget.step(Math.ceil(length / 32));\n for (let index = 0; index < length; index++) {\n if (index % 1024 === 0) budget.step();\n const first = left.digits[index] ?? \"0\";\n const second = right.digits[index] ?? \"0\";\n if (first !== second) return (first < second ? -1 : 1) * sign;\n }\n return 0;\n}\nexport function numberText(value: Numeric): string {\n if (value instanceof Decimal) return value.text;\n if (Number.isNaN(value)) return \"null\";\n const bounded = Math.max(-Number.MAX_VALUE, Math.min(Number.MAX_VALUE, value));\n const sign = bounded < 0 || Object.is(bounded, -0) ? \"-\" : \"\";\n const [mantissa, power] = Math.abs(bounded).toExponential().split(\"e\");\n const digits = mantissa!.replace(\".\", \"\");\n const exponent = Number(power);\n const point = exponent + 1;\n if (point <= -4 || point > digits.length + 15) return `${sign}${mantissa}e${exponent < 0 ? \"-\" : \"+\"}${String(Math.abs(exponent)).padStart(2, \"0\")}`;\n if (point <= 0) return `${sign}0.${\"0\".repeat(-point)}${digits}`;\n return `${sign}${point >= digits.length ? digits.padEnd(point, \"0\") : `${digits.slice(0, point)}.${digits.slice(point)}`}`;\n}\n"],
5
- "mappings": "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",
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -1,12 +1,14 @@
1
1
  import {
2
2
  createOutputOperation
3
- } from "./chunk-UL4TNDNV.js";
3
+ } from "./chunk-PZMJ4EC3.js";
4
4
  import {
5
5
  FsError,
6
6
  createBytePipe,
7
- init_platform,
8
7
  outputFailure
9
- } from "./chunk-4NMFAR4Z.js";
8
+ } from "./chunk-5VBLSPNM.js";
9
+ import {
10
+ init_platform
11
+ } from "./chunk-2KL6W6NB.js";
10
12
 
11
13
  // packages/safe-bash/src/contracts/filesystem-output.ts
12
14
  init_platform();
@@ -189,4 +191,4 @@ export {
189
191
  writeFileOutput,
190
192
  openFileOutput
191
193
  };
192
- //# sourceMappingURL=chunk-RDIJ6M2D.js.map
194
+ //# sourceMappingURL=chunk-AZNI263O.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/contracts/filesystem-output.ts"],
4
4
  "sourcesContent": ["import type { CommandContext } from \"./command.js\";\nimport { FsError } from \"./errors.js\";\nimport { createBytePipe, outputFailure, type BytePipe, type ByteSink, type ByteSource } from \"./io.js\";\nimport { createOutputOperation } from \"./output.js\";\n\nconst filesystemOutputBudgets = new WeakMap<NonNullable<CommandContext[\"registerCleanup\"]>, (sink: ByteSink) => ByteSink>();\n\nexport type FileOutputContext = Pick<CommandContext, \"fs\" | \"signal\" | \"registerCleanup\">;\n\nexport function bindFileOutputBudget(context: Pick<CommandContext, \"registerCleanup\">, budget: (sink: ByteSink) => ByteSink): void {\n if (!context.registerCleanup) throw new TypeError(\"Shell output budgets require invocation cleanup ownership\");\n filesystemOutputBudgets.set(context.registerCleanup, budget);\n}\n\nexport async function writeFileOutput(context: Pick<CommandContext, \"signal\" | \"registerCleanup\">, bytes: Uint8Array, write: (bytes: Uint8Array) => Promise<void>): Promise<void> {\n context.signal.throwIfAborted();\n const budget = context.registerCleanup && filesystemOutputBudgets.get(context.registerCleanup);\n let pending: Promise<void> | undefined;\n const destination: ByteSink = { write(chunk) {\n context.signal.throwIfAborted();\n return pending = (async () => { await write(chunk); })();\n } };\n try { await (budget?.(destination) ?? destination).write(bytes); }\n catch (error) {\n // Shell sink cancellation may win its race before the direct host call.\n // Keep the original awaited-write lifetime without a retained cleanup hook.\n await pending?.catch(() => {});\n context.signal.throwIfAborted();\n throw error;\n }\n context.signal.throwIfAborted();\n}\n\nexport interface FileOutput {\n readonly sink: ByteSink;\n readonly signal: AbortSignal;\n finish(): Promise<void>;\n abort(reason: unknown): Promise<void>;\n}\n\nexport async function openFileOutput(context: FileOutputContext, path: string, flag: \"w\" | \"a\", incremental?: () => Promise<ByteSink>): Promise<FileOutput> {\n let pipe: BytePipe | undefined;\n let task: Promise<void> | undefined;\n let completed = false;\n let ended = false;\n let closing = false;\n let failure: { reason: unknown } | undefined;\n const consumer = new AbortController();\n let writes = Promise.resolve();\n let acknowledge: (() => void) | undefined;\n const acknowledgeWrite = (): void => {\n const accepted = acknowledge;\n acknowledge = undefined;\n accepted?.();\n };\n let ready!: () => void;\n const opened = new Promise<void>(resolve => { ready = resolve; });\n const destination: ByteSink = {\n [outputFailure]: reason => operation.abort(reason),\n async write(chunk) {\n if (closing) throw new FsError(\"EBADF\", { path, syscall: \"write\" });\n const writing = writes.then(async () => {\n for (let offset = 0; offset < chunk.byteLength; offset += 64 * 1024) {\n const accepted = new Promise<void>(resolve => { acknowledge = resolve; });\n await pipe!.writable.write(chunk.subarray(offset, offset + 64 * 1024));\n await accepted;\n if (failure) throw failure.reason;\n operation.signal.throwIfAborted();\n }\n });\n writes = writing.catch(() => {});\n await writing;\n },\n };\n const budget = context.registerCleanup && filesystemOutputBudgets.get(context.registerCleanup);\n const operation = createOutputOperation(context, budget?.(destination) ?? destination);\n operation.registerCleanup(async () => {\n closing = true;\n if (!completed) {\n void operation.abort(operation.signal.aborted ? operation.signal.reason : new FsError(\"ECANCELED\", { path, syscall: \"write\" }));\n await pipe?.abort(operation.signal.reason);\n }\n await task?.catch(() => {});\n await writes;\n });\n try {\n pipe = createBytePipe({ highWaterMark: 1, signal: operation.signal });\n let reading = false;\n const source: ByteSource = {\n [Symbol.asyncIterator]() {\n return (async function* () {\n reading = true;\n ready();\n for await (const chunk of pipe!.readable) {\n yield chunk;\n acknowledgeWrite();\n }\n operation.signal.throwIfAborted();\n ended = true;\n })();\n },\n };\n task = (async () => {\n const { fs } = context;\n const signal = operation.signal;\n signal.throwIfAborted();\n const capabilities = await fs.capabilitiesFor?.(path, { signal }) ?? fs.capabilities;\n if (capabilities.readOnly === true) throw new FsError(\"EROFS\", { path, syscall: \"write\" });\n try { await fs.access(path, 2, { signal }); }\n catch (error) {\n signal.throwIfAborted();\n if (!(error instanceof FsError) || error.code !== \"ENOENT\" && error.code !== \"ENOTSUP\") throw error;\n }\n signal.throwIfAborted();\n const streaming = flag === \"a\" ? capabilities.streamingAppend ?? capabilities.streamingWrite : capabilities.streamingWrite;\n if ((!incremental || capabilities.descriptorWriteStream === true) && streaming !== false && fs.writeStream) {\n try {\n await fs.writeStream(path, source, { flag, signal });\n if (!ended) throw new FsError(\"EIO\", { path, message: \"Streaming writer returned before consuming output\" });\n return;\n } catch (error) {\n signal.throwIfAborted();\n if (reading || !(error instanceof FsError) || error.code !== \"ENOTSUP\") throw error;\n }\n }\n if (flag === \"w\" && capabilities.write === false) throw new FsError(\"ENOTSUP\", { path, syscall: \"writeFile\" });\n if ((!incremental || flag === \"a\") && capabilities.append === false) throw new FsError(\"ENOTSUP\", { path, syscall: \"appendFile\" });\n const sink = incremental ? await incremental() : await (async (): Promise<ByteSink> => {\n if (flag === \"a\") await fs.appendFile(path, new Uint8Array(), { signal });\n else await fs.writeFile(path, new Uint8Array(), { flag, signal });\n return { write: chunk => fs.appendFile(path, chunk, { signal }) };\n })();\n for await (const chunk of source) {\n signal.throwIfAborted();\n await sink.write(chunk);\n }\n })();\n void task.then(acknowledgeWrite, error => {\n failure = { reason: error };\n acknowledgeWrite();\n if (!operation.signal.aborted) consumer.abort(error);\n void operation.abort(error).catch(() => {});\n });\n await Promise.race([opened, task]);\n operation.signal.throwIfAborted();\n const write = async (chunk: Uint8Array): Promise<void> => {\n try { await operation.output.write(chunk); }\n catch (error) { throw failure ? failure.reason : error; }\n };\n return {\n signal: operation.signal,\n sink: {\n [outputFailure]: destination[outputFailure]!,\n ownedOutput: { consumerClosed: consumer.signal, write },\n write,\n },\n async finish() {\n closing = true;\n try {\n await writes;\n await pipe!.close();\n await task;\n operation.signal.throwIfAborted();\n completed = true;\n } catch (error) { throw failure ? failure.reason : error; }\n finally { await operation.close(); }\n },\n abort: reason => operation.abort(reason),\n };\n } catch (error) {\n await operation.abort(error);\n throw error;\n }\n}\n"],
5
- "mappings": "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",
5
+ "mappings": ";;;;;;;;;;;;;AAAA;AAKA,IAAM,0BAA0B,oBAAI,QAAsF;AAInH,SAAS,qBAAqB,SAAkD,QAA4C;AACjI,MAAI,CAAC,QAAQ,gBAAiB,OAAM,IAAI,UAAU,2DAA2D;AAC7G,0BAAwB,IAAI,QAAQ,iBAAiB,MAAM;AAC7D;AAEA,eAAsB,gBAAgB,SAA6D,OAAmB,OAA4D;AAChL,UAAQ,OAAO,eAAe;AAC9B,QAAM,SAAS,QAAQ,mBAAmB,wBAAwB,IAAI,QAAQ,eAAe;AAC7F,MAAI;AACJ,QAAM,cAAwB,EAAE,MAAM,OAAO;AAC3C,YAAQ,OAAO,eAAe;AAC9B,WAAO,WAAW,YAAY;AAAE,YAAM,MAAM,KAAK;AAAA,IAAG,GAAG;AAAA,EACzD,EAAE;AACF,MAAI;AAAE,WAAO,SAAS,WAAW,KAAK,aAAa,MAAM,KAAK;AAAA,EAAG,SAC1D,OAAO;AAGZ,UAAM,SAAS,MAAM,MAAM;AAAA,IAAC,CAAC;AAC7B,YAAQ,OAAO,eAAe;AAC9B,UAAM;AAAA,EACR;AACA,UAAQ,OAAO,eAAe;AAChC;AASA,eAAsB,eAAe,SAA4B,MAAc,MAAiB,aAA4D;AAC1J,MAAI;AACJ,MAAI;AACJ,MAAI,YAAY;AAChB,MAAI,QAAQ;AACZ,MAAI,UAAU;AACd,MAAI;AACJ,QAAM,WAAW,IAAI,gBAAgB;AACrC,MAAI,SAAS,QAAQ,QAAQ;AAC7B,MAAI;AACJ,QAAM,mBAAmB,MAAY;AACnC,UAAM,WAAW;AACjB,kBAAc;AACd,eAAW;AAAA,EACb;AACA,MAAI;AACJ,QAAM,SAAS,IAAI,QAAc,aAAW;AAAE,YAAQ;AAAA,EAAS,CAAC;AAChE,QAAM,cAAwB;AAAA,IAC5B,CAAC,aAAa,GAAG,YAAU,UAAU,MAAM,MAAM;AAAA,IACjD,MAAM,MAAM,OAAO;AACjB,UAAI,QAAS,OAAM,IAAI,QAAQ,SAAS,EAAE,MAAM,SAAS,QAAQ,CAAC;AAClE,YAAM,UAAU,OAAO,KAAK,YAAY;AACtC,iBAAS,SAAS,GAAG,SAAS,MAAM,YAAY,UAAU,KAAK,MAAM;AACnE,gBAAM,WAAW,IAAI,QAAc,aAAW;AAAE,0BAAc;AAAA,UAAS,CAAC;AACxE,gBAAM,KAAM,SAAS,MAAM,MAAM,SAAS,QAAQ,SAAS,KAAK,IAAI,CAAC;AACrE,gBAAM;AACN,cAAI,QAAS,OAAM,QAAQ;AAC3B,oBAAU,OAAO,eAAe;AAAA,QAClC;AAAA,MACF,CAAC;AACD,eAAS,QAAQ,MAAM,MAAM;AAAA,MAAC,CAAC;AAC/B,YAAM;AAAA,IACR;AAAA,EACF;AACA,QAAM,SAAS,QAAQ,mBAAmB,wBAAwB,IAAI,QAAQ,eAAe;AAC7F,QAAM,YAAY,sBAAsB,SAAS,SAAS,WAAW,KAAK,WAAW;AACrF,YAAU,gBAAgB,YAAY;AACpC,cAAU;AACV,QAAI,CAAC,WAAW;AACd,WAAK,UAAU,MAAM,UAAU,OAAO,UAAU,UAAU,OAAO,SAAS,IAAI,QAAQ,aAAa,EAAE,MAAM,SAAS,QAAQ,CAAC,CAAC;AAC9H,YAAM,MAAM,MAAM,UAAU,OAAO,MAAM;AAAA,IAC3C;AACA,UAAM,MAAM,MAAM,MAAM;AAAA,IAAC,CAAC;AAC1B,UAAM;AAAA,EACR,CAAC;AACD,MAAI;AACF,WAAO,eAAe,EAAE,eAAe,GAAG,QAAQ,UAAU,OAAO,CAAC;AACpE,QAAI,UAAU;AACd,UAAM,SAAqB;AAAA,MACzB,CAAC,OAAO,aAAa,IAAI;AACvB,gBAAQ,mBAAmB;AACzB,oBAAU;AACV,gBAAM;AACN,2BAAiB,SAAS,KAAM,UAAU;AACxC,kBAAM;AACN,6BAAiB;AAAA,UACnB;AACA,oBAAU,OAAO,eAAe;AAChC,kBAAQ;AAAA,QACV,GAAG;AAAA,MACL;AAAA,IACF;AACA,YAAQ,YAAY;AAClB,YAAM,EAAE,GAAG,IAAI;AACf,YAAM,SAAS,UAAU;AACzB,aAAO,eAAe;AACtB,YAAM,eAAe,MAAM,GAAG,kBAAkB,MAAM,EAAE,OAAO,CAAC,KAAK,GAAG;AACxE,UAAI,aAAa,aAAa,KAAM,OAAM,IAAI,QAAQ,SAAS,EAAE,MAAM,SAAS,QAAQ,CAAC;AACzF,UAAI;AAAE,cAAM,GAAG,OAAO,MAAM,GAAG,EAAE,OAAO,CAAC;AAAA,MAAG,SACrC,OAAO;AACZ,eAAO,eAAe;AACtB,YAAI,EAAE,iBAAiB,YAAY,MAAM,SAAS,YAAY,MAAM,SAAS,UAAW,OAAM;AAAA,MAChG;AACA,aAAO,eAAe;AACtB,YAAM,YAAY,SAAS,MAAM,aAAa,mBAAmB,aAAa,iBAAiB,aAAa;AAC5G,WAAK,CAAC,eAAe,aAAa,0BAA0B,SAAS,cAAc,SAAS,GAAG,aAAa;AAC1G,YAAI;AACF,gBAAM,GAAG,YAAY,MAAM,QAAQ,EAAE,MAAM,OAAO,CAAC;AACnD,cAAI,CAAC,MAAO,OAAM,IAAI,QAAQ,OAAO,EAAE,MAAM,SAAS,oDAAoD,CAAC;AAC3G;AAAA,QACF,SAAS,OAAO;AACd,iBAAO,eAAe;AACtB,cAAI,WAAW,EAAE,iBAAiB,YAAY,MAAM,SAAS,UAAW,OAAM;AAAA,QAChF;AAAA,MACF;AACA,UAAI,SAAS,OAAO,aAAa,UAAU,MAAO,OAAM,IAAI,QAAQ,WAAW,EAAE,MAAM,SAAS,YAAY,CAAC;AAC7G,WAAK,CAAC,eAAe,SAAS,QAAQ,aAAa,WAAW,MAAO,OAAM,IAAI,QAAQ,WAAW,EAAE,MAAM,SAAS,aAAa,CAAC;AACjI,YAAM,OAAO,cAAc,MAAM,YAAY,IAAI,OAAO,YAA+B;AACrF,YAAI,SAAS,IAAK,OAAM,GAAG,WAAW,MAAM,IAAI,WAAW,GAAG,EAAE,OAAO,CAAC;AAAA,YACnE,OAAM,GAAG,UAAU,MAAM,IAAI,WAAW,GAAG,EAAE,MAAM,OAAO,CAAC;AAChE,eAAO,EAAE,OAAO,WAAS,GAAG,WAAW,MAAM,OAAO,EAAE,OAAO,CAAC,EAAE;AAAA,MAClE,GAAG;AACH,uBAAiB,SAAS,QAAQ;AAChC,eAAO,eAAe;AACtB,cAAM,KAAK,MAAM,KAAK;AAAA,MACxB;AAAA,IACF,GAAG;AACH,SAAK,KAAK,KAAK,kBAAkB,WAAS;AACxC,gBAAU,EAAE,QAAQ,MAAM;AAC1B,uBAAiB;AACjB,UAAI,CAAC,UAAU,OAAO,QAAS,UAAS,MAAM,KAAK;AACnD,WAAK,UAAU,MAAM,KAAK,EAAE,MAAM,MAAM;AAAA,MAAC,CAAC;AAAA,IAC5C,CAAC;AACD,UAAM,QAAQ,KAAK,CAAC,QAAQ,IAAI,CAAC;AACjC,cAAU,OAAO,eAAe;AAChC,UAAM,QAAQ,OAAO,UAAqC;AACxD,UAAI;AAAE,cAAM,UAAU,OAAO,MAAM,KAAK;AAAA,MAAG,SACpC,OAAO;AAAE,cAAM,UAAU,QAAQ,SAAS;AAAA,MAAO;AAAA,IAC1D;AACA,WAAO;AAAA,MACL,QAAQ,UAAU;AAAA,MAClB,MAAM;AAAA,QACJ,CAAC,aAAa,GAAG,YAAY,aAAa;AAAA,QAC1C,aAAa,EAAE,gBAAgB,SAAS,QAAQ,MAAM;AAAA,QACtD;AAAA,MACF;AAAA,MACA,MAAM,SAAS;AACb,kBAAU;AACV,YAAI;AACF,gBAAM;AACN,gBAAM,KAAM,MAAM;AAClB,gBAAM;AACN,oBAAU,OAAO,eAAe;AAChC,sBAAY;AAAA,QACd,SAAS,OAAO;AAAE,gBAAM,UAAU,QAAQ,SAAS;AAAA,QAAO,UAC1D;AAAU,gBAAM,UAAU,MAAM;AAAA,QAAG;AAAA,MACrC;AAAA,MACA,OAAO,YAAU,UAAU,MAAM,MAAM;AAAA,IACzC;AAAA,EACF,SAAS,OAAO;AACd,UAAM,UAAU,MAAM,KAAK;AAC3B,UAAM;AAAA,EACR;AACF;",
6
6
  "names": []
7
7
  }
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  init_platform
3
- } from "./chunk-4NMFAR4Z.js";
3
+ } from "./chunk-2KL6W6NB.js";
4
4
 
5
5
  // packages/safe-bash/src/contracts/path.ts
6
6
  init_platform();
@@ -18,4 +18,4 @@ export {
18
18
  isAbsolutePath,
19
19
  posixPath2 as posixPath
20
20
  };
21
- //# sourceMappingURL=chunk-CI42NIWL.js.map
21
+ //# sourceMappingURL=chunk-DPJWEGIX.js.map
@@ -1,14 +1,16 @@
1
1
  import {
2
2
  createOutputOperation
3
- } from "./chunk-UL4TNDNV.js";
3
+ } from "./chunk-PZMJ4EC3.js";
4
4
  import {
5
5
  PublicDiagnostic,
6
6
  getCommandArguments,
7
- init_platform,
8
7
  shellValueByteLength,
9
8
  shellValueBytes,
10
9
  yieldTurn
11
- } from "./chunk-4NMFAR4Z.js";
10
+ } from "./chunk-5VBLSPNM.js";
11
+ import {
12
+ init_platform
13
+ } from "./chunk-2KL6W6NB.js";
12
14
 
13
15
  // packages/safe-bash/src/commands/getopt/index.ts
14
16
  init_platform();
@@ -618,4 +620,4 @@ export {
618
620
  createGetoptCommands,
619
621
  getoptCommands
620
622
  };
621
- //# sourceMappingURL=chunk-GV76QENF.js.map
623
+ //# sourceMappingURL=chunk-EZLQA6ON.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/commands/getopt/index.ts", "../../src/commands/getopt/command.ts", "../../src/commands/getopt/internal.ts", "../../src/commands/getopt/io.ts", "../../src/commands/getopt/parser.ts"],
4
4
  "sourcesContent": ["import type { CommandDefinition, VirtualShellPlugin } from \"../../contracts/index.js\";\nimport { createGetoptCommand } from \"./command.js\";\nimport type { GetoptCommandsOptions } from \"./internal.js\";\n\nexport { createGetoptCommand } from \"./command.js\";\nexport type { GetoptCommandsOptions, GetoptLimits } from \"./internal.js\";\n\nexport function createGetoptCommands(options: GetoptCommandsOptions = {}): readonly CommandDefinition[] {\n return [createGetoptCommand(options)];\n}\n\nexport function getoptCommands(options: GetoptCommandsOptions = {}): VirtualShellPlugin {\n const commands = createGetoptCommands(options);\n return { name: \"getopt-commands\", setup(host) {\n for (const command of commands) host.commands.register(command, { replace: options.replace ?? false });\n } };\n}\n", "import type { CommandDefinition } from \"../../contracts/index.js\";\nimport { createOutputOperation } from \"../../contracts/output.js\";\nimport { Budget, GetoptError, settings, type GetoptCommandsOptions } from \"./internal.js\";\nimport { Writer } from \"./io.js\";\nimport { Parser, addLongOptions, findShort, type LongOption } from \"./parser.js\";\n\nconst wrapperOptions: readonly LongOption[] = [\n { name: \"options\", argument: 1, code: \"o\" }, { name: \"longoptions\", argument: 1, code: \"l\" },\n { name: \"quiet\", argument: 0, code: \"q\" }, { name: \"quiet-output\", argument: 0, code: \"Q\" },\n { name: \"shell\", argument: 1, code: \"s\" }, { name: \"test\", argument: 0, code: \"T\" },\n { name: \"unquoted\", argument: 0, code: \"u\" }, { name: \"help\", argument: 0, code: \"h\" },\n { name: \"alternative\", argument: 0, code: \"a\" }, { name: \"name\", argument: 1, code: \"n\" },\n { name: \"version\", argument: 0, code: \"V\" },\n];\n\nexport function createGetoptCommand(options: GetoptCommandsOptions = {}): CommandDefinition {\n const limits = settings(options);\n return { name: \"getopt\", description: \"Parse short and long options and emit shell-quoted arguments\", async execute(context) {\n const output = createOutputOperation(context, context.stdout);\n const budget = new Budget(context, limits, output.signal);\n let writer: Writer | undefined;\n let failure: { reason: unknown } | undefined;\n let primary: { reason: unknown } | undefined;\n let exitCode = 0;\n try {\n writer = new Writer(budget, output);\n const args = await budget.arguments();\n const compatible = context.env.GETOPT_COMPATIBLE !== undefined;\n const posix = context.env.POSIXLY_CORRECT !== undefined;\n let specification: string | undefined;\n let parameters = args;\n const longOptions: LongOption[] = [];\n let quote = true, tcsh = false, quiet = false, quietOutput = false, alternative = false;\n let name = \"getopt\";\n let complete = false;\n if (!args.length) {\n if (!compatible) throw new GetoptError(\"missing optstring argument\", 2, true);\n await writer.send([\" --\\n\"]);\n complete = true;\n } else if (compatible || args[0]![0] !== \"-\") {\n let start = 0;\n while (args[0]![start] === \"+\" || args[0]![start] === \"-\") { await budget.step(); start++; }\n specification = args[0]!.slice(start);\n budget.schema(specification.length);\n parameters = args.slice(1);\n quote = false;\n } else {\n const wrapper = new Parser(args, \"+ao:l:n:qQs:TuhV\", wrapperOptions, false, posix, false, \"getopt\", budget, writer);\n for (;;) {\n const parsed = await wrapper.next();\n if (!parsed) break;\n if (parsed.kind === \"error\") { await writer.send([\"Try 'getopt --help' for more information.\\n\"], true); exitCode = 2; complete = true; break; }\n if (parsed.kind === \"operand\") throw new GetoptError(\"unexpected wrapper operand\");\n const option = parsed.kind === \"long\" ? parsed.option.code : parsed.option;\n switch (option) {\n case \"o\": specification = parsed.argument!; budget.schema(specification.length); break;\n case \"l\": await addLongOptions(parsed.argument!, longOptions, budget); break;\n case \"n\": name = parsed.argument!; break;\n case \"a\": alternative = true; break;\n case \"q\": quiet = true; break;\n case \"Q\": quietOutput = true; break;\n case \"u\": quote = false; break;\n case \"s\":\n if (parsed.argument === \"bash\" || parsed.argument === \"sh\") tcsh = false;\n else if (parsed.argument === \"tcsh\" || parsed.argument === \"csh\") tcsh = true;\n else throw new GetoptError(\"unknown shell after -s or --shell argument\", 2, true);\n break;\n case \"T\": exitCode = 4; complete = true; break;\n case \"V\": await writer.send([\"getopt (virtual-bash)\\n\"]); complete = true; break;\n case \"h\":\n await writer.send([\"Usage: getopt [OPTIONS] -o OPTSTRING [--] PARAMETERS...\\nParse short and long options and emit shell-quoted arguments.\\nOptions: -a, --alternative; -l, --longoptions; -n, --name; -o, --options;\\n -q, --quiet; -Q, --quiet-output; -s, --shell; -T, --test;\\n -u, --unquoted; -h, --help; -V, --version\\n\"]);\n complete = true; break;\n }\n if (complete) break;\n }\n if (!complete) {\n if (specification === undefined) {\n if (wrapper.index === args.length) throw new GetoptError(\"missing optstring argument\", 2, true);\n specification = args[wrapper.index++]!;\n budget.schema(specification.length);\n }\n parameters = args.slice(wrapper.index);\n }\n }\n if (!complete) {\n const parser = new Parser(parameters, specification!, longOptions, alternative, posix, quiet, name, budget, writer);\n for (;;) {\n const parsed = await parser.next();\n if (!parsed) break;\n if (parsed.kind === \"error\") { exitCode = 1; continue; }\n if (quietOutput) continue;\n if (parsed.kind === \"operand\") await writer.normalized(parsed.argument ?? \"\", quote, tcsh);\n else if (parsed.kind === \"long\") {\n await writer.send([\" --\", parsed.option.name]);\n if (parsed.option.argument) await writer.normalized(parsed.argument ?? \"\", quote, tcsh);\n } else {\n await writer.send([\" -\", parsed.option]);\n const offset = await findShort(specification!, parsed.option, 0, budget);\n if (offset >= 0 && specification![offset + 1] === \":\") await writer.normalized(parsed.argument ?? \"\", quote, tcsh);\n }\n }\n if (!quietOutput) {\n await writer.send([\" --\"]);\n for (const operand of parser.operands) await writer.normalized(operand, quote, tcsh);\n for (let index = parser.index; index < parameters.length; index++) await writer.normalized(parameters[index]!, quote, tcsh);\n await writer.send([\"\\n\"]);\n }\n }\n } catch (error) {\n primary = { reason: error };\n if (error instanceof GetoptError && !output.signal.aborted && writer) {\n exitCode = error.status;\n try { await writer.send([\"getopt: \", error.message, \"\\n\", error.usage ? \"Try 'getopt --help' for more information.\\n\" : \"\"], true); }\n catch (reporting) { failure = { reason: new AggregateError([error, reporting], \"getopt failure reporting failed\") }; }\n } else failure = { reason: error };\n }\n try { await output.close(); }\n catch (cleanup) {\n const previous = failure ?? primary;\n failure = { reason: previous ? new AggregateError([previous.reason, cleanup], \"getopt execution and cleanup failed\") : cleanup };\n }\n context.signal.throwIfAborted();\n output.signal.throwIfAborted();\n if (failure) throw failure.reason;\n return { exitCode };\n } };\n}\n", "import { getCommandArguments, type CommandContext } from \"../../contracts/index.js\";\nimport { shellValueByteLength, shellValueBytes } from \"../../contracts/value.js\";\nimport { yieldTurn } from \"../../contracts/yield.js\";\nimport { PublicDiagnostic } from \"../../diagnostics.js\";\n\nexport interface GetoptLimits {\n readonly maxArguments: number;\n readonly maxArgumentBytes: number;\n readonly maxInputBytes: number;\n readonly maxSchemaBytes: number;\n readonly maxLongOptions: number;\n readonly maxBufferedBytes: number;\n readonly maxOutputBytes: number;\n readonly maxDiagnosticBytes: number;\n readonly maxWork: number;\n}\n\nexport interface GetoptCommandsOptions {\n readonly replace?: boolean;\n readonly limits?: Partial<GetoptLimits>;\n}\n\nexport function settings(options: GetoptCommandsOptions): GetoptLimits {\n const limits: GetoptLimits = {\n maxArguments: 4096, maxArgumentBytes: 65_536, maxInputBytes: 1_048_576,\n maxSchemaBytes: 65_536, maxLongOptions: 4096, maxBufferedBytes: 4_194_304,\n maxOutputBytes: 8_388_608, maxDiagnosticBytes: 65_536, maxWork: 8_388_608,\n ...options.limits,\n };\n for (const [name, value] of Object.entries(limits)) {\n if (!Number.isSafeInteger(value) || value < 1) throw new RangeError(`Invalid getopt limit: ${name}`);\n }\n return Object.freeze(limits);\n}\n\nexport class GetoptError extends PublicDiagnostic {\n constructor(message: string, readonly status = 3, readonly usage = false) { super(message); }\n}\n\nexport class Budget {\n private work = 0;\n private quantum = 0;\n private retained = 0;\n private diagnosticRetained = 0;\n private schemaBytes = 0;\n private output = 0;\n private diagnostics = 0;\n constructor(readonly context: CommandContext, readonly limits: GetoptLimits, readonly signal: AbortSignal) {}\n check(value: number, maximum: number, label: string): void {\n if (!Number.isSafeInteger(value) || value < 0 || value > maximum) throw new GetoptError(`${label} limit exceeded`);\n }\n async step(amount = 1, diagnostic = false): Promise<void> {\n this.signal.throwIfAborted();\n if (!diagnostic) { this.check(this.work + amount, this.limits.maxWork, \"work\"); this.work += amount; }\n this.quantum += amount;\n if (this.quantum >= 1024) { this.quantum = 0; await yieldTurn(this.signal); }\n }\n retain(amount: number, diagnostic = false): void {\n if (diagnostic) {\n this.check(this.diagnosticRetained + amount, this.limits.maxDiagnosticBytes, \"diagnostic buffered bytes\");\n this.diagnosticRetained += amount;\n } else {\n this.check(this.retained + amount, this.limits.maxBufferedBytes, \"buffered bytes\");\n this.retained += amount;\n }\n }\n schema(amount: number): void {\n this.check(this.schemaBytes + amount, this.limits.maxSchemaBytes, \"schema bytes\");\n this.schemaBytes += amount;\n }\n room(amount: number, diagnostic = false): void {\n this.check((diagnostic ? this.diagnostics : this.output) + amount,\n diagnostic ? this.limits.maxDiagnosticBytes : this.limits.maxOutputBytes, diagnostic ? \"diagnostic bytes\" : \"output bytes\");\n }\n emitted(amount: number, diagnostic: boolean): void {\n this.room(amount, diagnostic);\n if (diagnostic) this.diagnostics += amount;\n else this.output += amount;\n }\n async arguments(): Promise<string[]> {\n const args = this.context.args;\n this.signal.throwIfAborted();\n this.check(args.length, this.limits.maxArguments, \"argument count\");\n let total = 0;\n for (const argument of args) {\n this.check(argument.length, this.limits.maxArgumentBytes, \"argument bytes\");\n total += argument.length;\n this.check(total, this.limits.maxInputBytes, \"input bytes\");\n for (let offset = 0; offset < argument.length; offset++) {\n await this.step();\n const unit = argument.charCodeAt(offset);\n if (unit >= 0xd800 && unit <= 0xdbff) {\n const next = argument.charCodeAt(++offset);\n if (!(next >= 0xdc00 && next <= 0xdfff)) throw new GetoptError(\"arguments must contain well-formed Unicode\", 2);\n } else if (unit >= 0xdc00 && unit <= 0xdfff) throw new GetoptError(\"arguments must contain well-formed Unicode\", 2);\n }\n }\n const values = this.context.argumentValues === undefined ? args : getCommandArguments(this.context).values;\n total = 0;\n for (const argument of values) {\n await this.step();\n const size = shellValueByteLength(argument);\n this.check(size, this.limits.maxArgumentBytes, \"argument bytes\");\n total += size;\n this.check(total, this.limits.maxInputBytes, \"input bytes\");\n }\n this.retain(total * 8 + args.length * 64 + 256);\n this.signal.throwIfAborted();\n const owned = getCommandArguments(this.context).values;\n const result: string[] = [];\n for (const argument of owned) {\n await this.step();\n const value = shellValueBytes(argument);\n let text = \"\";\n for (let offset = 0; offset < value.length; offset += 256) {\n const end = Math.min(offset + 256, value.length);\n for (let index = offset; index < end; index++) {\n await this.step();\n if (value[index] === 0) throw new GetoptError(\"NUL is not supported in arguments\", 2);\n }\n text += String.fromCharCode(...value.subarray(offset, end));\n }\n result.push(text);\n }\n return result;\n }\n}\n", "import type { OutputOperation } from \"../../contracts/output.js\";\nimport { Budget, GetoptError } from \"./internal.js\";\n\nexport class Writer {\n private readonly pending = new Set<Promise<unknown>>();\n private closing: Promise<void> | undefined;\n constructor(readonly budget: Budget, output: OutputOperation) { output.registerCleanup(() => this.close()); }\n assertOpen(): void {\n this.budget.signal.throwIfAborted();\n if (this.closing) throw new GetoptError(\"command is closed\");\n }\n close(): Promise<void> {\n return this.closing ??= Promise.resolve().then(async () => {\n while (this.pending.size) await Promise.allSettled([...this.pending]);\n });\n }\n private async publish(length: number, diagnostic: boolean, fill: (buffer: Uint8Array) => Promise<void>): Promise<void> {\n this.assertOpen();\n this.budget.emitted(length, diagnostic);\n this.budget.retain(length, diagnostic);\n const pending = Promise.resolve().then(async () => {\n this.assertOpen();\n const buffer = new Uint8Array(length);\n await fill(buffer);\n this.assertOpen();\n const sink = diagnostic ? this.budget.context.stderr : this.budget.context.stdout;\n this.assertOpen();\n const destination = sink.ownedOutput ?? sink;\n this.assertOpen();\n const write = destination.write;\n this.assertOpen();\n await Reflect.apply(write, destination, [buffer]);\n });\n this.pending.add(pending);\n try { await pending; this.assertOpen(); }\n finally { this.pending.delete(pending); this.budget.retain(-length, diagnostic); }\n }\n async send(parts: readonly string[], diagnostic = false): Promise<void> {\n let length = 0;\n for (const part of parts) { await this.budget.step(1, diagnostic); length += part.length; this.budget.room(length, diagnostic); }\n await this.publish(length, diagnostic, async buffer => {\n let offset = 0;\n for (const part of parts) for (let index = 0; index < part.length; index++) {\n await this.budget.step(1, diagnostic);\n buffer[offset++] = part.charCodeAt(index);\n }\n });\n }\n async normalized(value: string, quote: boolean, tcsh: boolean): Promise<void> {\n if (!quote) { await this.send([\" \", value]); return; }\n let length = 3;\n for (let offset = 0; offset < value.length; offset++) {\n await this.budget.step();\n const code = value.charCodeAt(offset);\n length += code === 39 || (tcsh && (code === 33 || code === 9 || code === 11 || code === 12 || code === 13 || code === 32)) ? 4\n : tcsh && (code === 92 || code === 10) ? 2 : 1;\n this.budget.room(length);\n }\n await this.publish(length, false, async buffer => {\n let offset = 0;\n buffer[offset++] = 32;\n buffer[offset++] = 39;\n for (let index = 0; index < value.length; index++) {\n const code = value.charCodeAt(index);\n await this.budget.step();\n if (code === 39 || (tcsh && (code === 33 || code === 9 || code === 11 || code === 12 || code === 13 || code === 32))) {\n buffer[offset++] = 39; buffer[offset++] = 92; buffer[offset++] = code; buffer[offset++] = 39;\n } else if (tcsh && (code === 92 || code === 10)) {\n buffer[offset++] = 92; buffer[offset++] = code === 10 ? 110 : 92;\n } else buffer[offset++] = code;\n }\n buffer[offset] = 39;\n });\n }\n}\n", "import { Budget, GetoptError } from \"./internal.js\";\nimport type { Writer } from \"./io.js\";\n\nexport interface LongOption { readonly name: string; readonly argument: 0 | 1 | 2; readonly code?: string; }\nexport type ParsedOption =\n | { readonly kind: \"short\"; readonly option: string; readonly argument: string | undefined }\n | { readonly kind: \"long\"; readonly option: LongOption; readonly argument: string | undefined }\n | { readonly kind: \"operand\"; readonly argument: string | undefined }\n | { readonly kind: \"error\" };\n\nexport async function findShort(specification: string, option: string, start: number, budget: Budget): Promise<number> {\n for (let offset = start; offset < specification.length; offset++) {\n await budget.step();\n if (specification[offset] === option) return offset;\n }\n return -1;\n}\n\nexport async function addLongOptions(value: string, options: LongOption[], budget: Budget): Promise<void> {\n budget.schema(value.length);\n let start = 0;\n for (let offset = 0; offset <= value.length; offset++) {\n await budget.step();\n const code = value.charCodeAt(offset);\n if (offset !== value.length && code !== 44 && code !== 32 && code !== 9 && code !== 10) continue;\n if (offset > start) {\n let end = offset;\n let argument: 0 | 1 | 2 = 0;\n if (value[end - 1] === \":\") { argument = 1; end--; if (end > start && value[end - 1] === \":\") { argument = 2; end--; } }\n if (end === start) throw new GetoptError(\"empty long option after -l or --long argument\", 2, true);\n budget.check(options.length + 1, budget.limits.maxLongOptions, \"long option count\");\n budget.retain((end - start) * 2 + 64);\n options.push({ name: value.slice(start, end), argument });\n }\n start = offset + 1;\n }\n}\n\nexport class Parser {\n index = 0;\n private offset = 0;\n private ended = false;\n readonly operands: string[] = [];\n private readonly start: number;\n private readonly order: \"require\" | \"return\" | \"permute\";\n private readonly silent: boolean;\n constructor(readonly args: readonly string[], readonly specification: string, readonly options: readonly LongOption[],\n readonly alternative: boolean, posix: boolean, quiet: boolean, readonly name: string, readonly budget: Budget,\n readonly writer: Writer) {\n this.start = specification[0] === \"+\" || specification[0] === \"-\" ? 1 : 0;\n this.order = specification[0] === \"-\" ? \"return\" : specification[0] === \"+\" || posix ? \"require\" : \"permute\";\n this.silent = quiet || specification[this.start] === \":\";\n }\n private async error(parts: readonly string[]): Promise<ParsedOption> {\n if (!this.silent) await this.writer.send([this.name, ...parts], true);\n return { kind: \"error\" };\n }\n private async long(value: string, prefix: string, fallback: boolean): Promise<ParsedOption | null> {\n let end = 0;\n while (end < value.length && value[end] !== \"=\") { await this.budget.step(); end++; }\n const lease = this.options.length * 64 + 128;\n this.budget.retain(lease);\n try {\n const matches: LongOption[] = [];\n let exact: LongOption | undefined;\n for (const option of this.options) {\n await this.budget.step();\n let matched = option.name.length >= end;\n for (let offset = 0; matched && offset < end; offset++) {\n await this.budget.step();\n if (option.name[offset] !== value[offset]) matched = false;\n }\n if (!matched) continue;\n if (option.name.length === end) { exact = option; break; }\n matches.push(option);\n }\n if (!exact && matches.length > 1) {\n this.index++; this.offset = 0;\n if (!this.silent) {\n const parts = [this.name, \": option '\", prefix, value, \"' is ambiguous; possibilities:\"];\n for (const option of matches) parts.push(\" '\", prefix, option.name, \"'\");\n parts.push(\"\\n\");\n await this.writer.send(parts, true);\n }\n return { kind: \"error\" };\n }\n const option = exact ?? matches[0];\n if (!option) {\n if (fallback && await findShort(this.specification, value[0] ?? \"\", this.start, this.budget) >= 0) return null;\n this.index++; this.offset = 0;\n return await this.error([\": unrecognized option '\", prefix, value, \"'\\n\"]);\n }\n this.index++; this.offset = 0;\n let argument: string | undefined;\n if (end < value.length) {\n if (!option.argument) return await this.error([\": option '\", prefix, option.name, \"' doesn't allow an argument\\n\"]);\n argument = value.slice(end + 1);\n } else if (option.argument === 1) {\n if (this.index === this.args.length) return await this.error([\": option '\", prefix, option.name, \"' requires an argument\\n\"]);\n argument = this.args[this.index++];\n }\n return { kind: \"long\", option, argument };\n } finally { this.budget.retain(-lease); }\n }\n async next(): Promise<ParsedOption | undefined> {\n await this.budget.step();\n if (this.ended) return undefined;\n if (!this.offset) {\n while (this.index < this.args.length) {\n await this.budget.step();\n const argument = this.args[this.index]!;\n if (argument === \"--\") { this.index++; this.ended = true; return undefined; }\n if (argument.length > 1 && argument[0] === \"-\") break;\n if (this.order === \"require\") { this.ended = true; return undefined; }\n this.index++;\n if (this.order === \"return\") return { kind: \"operand\", argument };\n this.budget.retain(8);\n this.operands.push(argument);\n }\n if (this.index === this.args.length) { this.ended = true; return undefined; }\n const argument = this.args[this.index]!;\n if (argument[1] === \"-\") return (await this.long(argument.slice(2), \"--\", false))!;\n if (this.alternative && (argument.length > 2 || await findShort(this.specification, argument[1]!, this.start, this.budget) < 0)) {\n const result = await this.long(argument.slice(1), \"-\", true);\n if (result) return result;\n }\n this.offset = 1;\n }\n const current = this.args[this.index]!;\n const option = current[this.offset++]!;\n if (this.offset === current.length) { this.offset = 0; this.index++; }\n const found = await findShort(this.specification, option, this.start, this.budget);\n if (found < 0 || option === \":\" || option === \";\") return this.error([\": invalid option -- '\", option, \"'\\n\"]);\n if (option === \"W\" && this.specification[found + 1] === \";\") {\n if (!this.offset && this.index === this.args.length) return this.error([\": option requires an argument -- 'W'\\n\"]);\n const value = this.offset ? current.slice(this.offset) : this.args[this.index]!;\n return (await this.long(value, \"-W \", false))!;\n }\n let argument: string | undefined;\n if (this.specification[found + 1] === \":\") {\n if (this.offset) { argument = current.slice(this.offset); this.index++; }\n else if (this.specification[found + 2] !== \":\") {\n if (this.index === this.args.length) return this.error([\": option requires an argument -- '\", option, \"'\\n\"]);\n argument = this.args[this.index++];\n }\n this.offset = 0;\n }\n if (option === \"?\") return { kind: \"error\" };\n if (option === \"\\x01\") return { kind: \"operand\", argument };\n if (option === \"\\xff\") {\n this.budget.retain(-this.operands.length * 8);\n this.operands.length = 0;\n this.ended = true;\n return undefined;\n }\n return { kind: \"short\", option, argument };\n }\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;AAAA;;;ACAA;;;ACAA;AAsBO,SAAS,SAAS,SAA8C;AACrE,QAAM,SAAuB;AAAA,IAC3B,cAAc;AAAA,IAAM,kBAAkB;AAAA,IAAQ,eAAe;AAAA,IAC7D,gBAAgB;AAAA,IAAQ,gBAAgB;AAAA,IAAM,kBAAkB;AAAA,IAChE,gBAAgB;AAAA,IAAW,oBAAoB;AAAA,IAAQ,SAAS;AAAA,IAChE,GAAG,QAAQ;AAAA,EACb;AACA,aAAW,CAAC,MAAM,KAAK,KAAK,OAAO,QAAQ,MAAM,GAAG;AAClD,QAAI,CAAC,OAAO,cAAc,KAAK,KAAK,QAAQ,EAAG,OAAM,IAAI,WAAW,yBAAyB,IAAI,EAAE;AAAA,EACrG;AACA,SAAO,OAAO,OAAO,MAAM;AAC7B;AAEO,IAAM,cAAN,cAA0B,iBAAiB;AAAA,EAChD,YAAY,SAA0B,SAAS,GAAY,QAAQ,OAAO;AAAE,UAAM,OAAO;AAAnD;AAAqB;AAAA,EAAiC;AAAA,EAAtD;AAAA,EAAqB;AAC7D;AAEO,IAAM,SAAN,MAAa;AAAA,EAQlB,YAAqB,SAAkC,QAA+B,QAAqB;AAAtF;AAAkC;AAA+B;AAAA,EAAsB;AAAA,EAAvF;AAAA,EAAkC;AAAA,EAA+B;AAAA,EAP9E,OAAO;AAAA,EACP,UAAU;AAAA,EACV,WAAW;AAAA,EACX,qBAAqB;AAAA,EACrB,cAAc;AAAA,EACd,SAAS;AAAA,EACT,cAAc;AAAA,EAEtB,MAAM,OAAe,SAAiB,OAAqB;AACzD,QAAI,CAAC,OAAO,cAAc,KAAK,KAAK,QAAQ,KAAK,QAAQ,QAAS,OAAM,IAAI,YAAY,GAAG,KAAK,iBAAiB;AAAA,EACnH;AAAA,EACA,MAAM,KAAK,SAAS,GAAG,aAAa,OAAsB;AACxD,SAAK,OAAO,eAAe;AAC3B,QAAI,CAAC,YAAY;AAAE,WAAK,MAAM,KAAK,OAAO,QAAQ,KAAK,OAAO,SAAS,MAAM;AAAG,WAAK,QAAQ;AAAA,IAAQ;AACrG,SAAK,WAAW;AAChB,QAAI,KAAK,WAAW,MAAM;AAAE,WAAK,UAAU;AAAG,YAAM,UAAU,KAAK,MAAM;AAAA,IAAG;AAAA,EAC9E;AAAA,EACA,OAAO,QAAgB,aAAa,OAAa;AAC/C,QAAI,YAAY;AACd,WAAK,MAAM,KAAK,qBAAqB,QAAQ,KAAK,OAAO,oBAAoB,2BAA2B;AACxG,WAAK,sBAAsB;AAAA,IAC7B,OAAO;AACL,WAAK,MAAM,KAAK,WAAW,QAAQ,KAAK,OAAO,kBAAkB,gBAAgB;AACjF,WAAK,YAAY;AAAA,IACnB;AAAA,EACF;AAAA,EACA,OAAO,QAAsB;AAC3B,SAAK,MAAM,KAAK,cAAc,QAAQ,KAAK,OAAO,gBAAgB,cAAc;AAChF,SAAK,eAAe;AAAA,EACtB;AAAA,EACA,KAAK,QAAgB,aAAa,OAAa;AAC7C,SAAK;AAAA,OAAO,aAAa,KAAK,cAAc,KAAK,UAAU;AAAA,MACzD,aAAa,KAAK,OAAO,qBAAqB,KAAK,OAAO;AAAA,MAAgB,aAAa,qBAAqB;AAAA,IAAc;AAAA,EAC9H;AAAA,EACA,QAAQ,QAAgB,YAA2B;AACjD,SAAK,KAAK,QAAQ,UAAU;AAC5B,QAAI,WAAY,MAAK,eAAe;AAAA,QAC/B,MAAK,UAAU;AAAA,EACtB;AAAA,EACA,MAAM,YAA+B;AACnC,UAAM,OAAO,KAAK,QAAQ;AAC1B,SAAK,OAAO,eAAe;AAC3B,SAAK,MAAM,KAAK,QAAQ,KAAK,OAAO,cAAc,gBAAgB;AAClE,QAAI,QAAQ;AACZ,eAAW,YAAY,MAAM;AAC3B,WAAK,MAAM,SAAS,QAAQ,KAAK,OAAO,kBAAkB,gBAAgB;AAC1E,eAAS,SAAS;AAClB,WAAK,MAAM,OAAO,KAAK,OAAO,eAAe,aAAa;AAC1D,eAAS,SAAS,GAAG,SAAS,SAAS,QAAQ,UAAU;AACvD,cAAM,KAAK,KAAK;AAChB,cAAM,OAAO,SAAS,WAAW,MAAM;AACvC,YAAI,QAAQ,SAAU,QAAQ,OAAQ;AACpC,gBAAM,OAAO,SAAS,WAAW,EAAE,MAAM;AACzC,cAAI,EAAE,QAAQ,SAAU,QAAQ,OAAS,OAAM,IAAI,YAAY,8CAA8C,CAAC;AAAA,QAChH,WAAW,QAAQ,SAAU,QAAQ,MAAQ,OAAM,IAAI,YAAY,8CAA8C,CAAC;AAAA,MACpH;AAAA,IACF;AACA,UAAM,SAAS,KAAK,QAAQ,mBAAmB,SAAY,OAAO,oBAAoB,KAAK,OAAO,EAAE;AACpG,YAAQ;AACR,eAAW,YAAY,QAAQ;AAC7B,YAAM,KAAK,KAAK;AAChB,YAAM,OAAO,qBAAqB,QAAQ;AAC1C,WAAK,MAAM,MAAM,KAAK,OAAO,kBAAkB,gBAAgB;AAC/D,eAAS;AACT,WAAK,MAAM,OAAO,KAAK,OAAO,eAAe,aAAa;AAAA,IAC5D;AACA,SAAK,OAAO,QAAQ,IAAI,KAAK,SAAS,KAAK,GAAG;AAC9C,SAAK,OAAO,eAAe;AAC3B,UAAM,QAAQ,oBAAoB,KAAK,OAAO,EAAE;AAChD,UAAM,SAAmB,CAAC;AAC1B,eAAW,YAAY,OAAO;AAC5B,YAAM,KAAK,KAAK;AAChB,YAAM,QAAQ,gBAAgB,QAAQ;AACtC,UAAI,OAAO;AACX,eAAS,SAAS,GAAG,SAAS,MAAM,QAAQ,UAAU,KAAK;AACzD,cAAM,MAAM,KAAK,IAAI,SAAS,KAAK,MAAM,MAAM;AAC/C,iBAAS,QAAQ,QAAQ,QAAQ,KAAK,SAAS;AAC7C,gBAAM,KAAK,KAAK;AAChB,cAAI,MAAM,KAAK,MAAM,EAAG,OAAM,IAAI,YAAY,qCAAqC,CAAC;AAAA,QACtF;AACA,gBAAQ,OAAO,aAAa,GAAG,MAAM,SAAS,QAAQ,GAAG,CAAC;AAAA,MAC5D;AACA,aAAO,KAAK,IAAI;AAAA,IAClB;AACA,WAAO;AAAA,EACT;AACF;;;AC9HA;AAGO,IAAM,SAAN,MAAa;AAAA,EAGlB,YAAqB,QAAgB,QAAyB;AAAzC;AAA2C,WAAO,gBAAgB,MAAM,KAAK,MAAM,CAAC;AAAA,EAAG;AAAA,EAAvF;AAAA,EAFJ,UAAU,oBAAI,IAAsB;AAAA,EAC7C;AAAA,EAER,aAAmB;AACjB,SAAK,OAAO,OAAO,eAAe;AAClC,QAAI,KAAK,QAAS,OAAM,IAAI,YAAY,mBAAmB;AAAA,EAC7D;AAAA,EACA,QAAuB;AACrB,WAAO,KAAK,YAAY,QAAQ,QAAQ,EAAE,KAAK,YAAY;AACzD,aAAO,KAAK,QAAQ,KAAM,OAAM,QAAQ,WAAW,CAAC,GAAG,KAAK,OAAO,CAAC;AAAA,IACtE,CAAC;AAAA,EACH;AAAA,EACA,MAAc,QAAQ,QAAgB,YAAqB,MAA4D;AACrH,SAAK,WAAW;AAChB,SAAK,OAAO,QAAQ,QAAQ,UAAU;AACtC,SAAK,OAAO,OAAO,QAAQ,UAAU;AACrC,UAAM,UAAU,QAAQ,QAAQ,EAAE,KAAK,YAAY;AACjD,WAAK,WAAW;AAChB,YAAM,SAAS,IAAI,WAAW,MAAM;AACpC,YAAM,KAAK,MAAM;AACjB,WAAK,WAAW;AAChB,YAAM,OAAO,aAAa,KAAK,OAAO,QAAQ,SAAS,KAAK,OAAO,QAAQ;AAC3E,WAAK,WAAW;AAChB,YAAM,cAAc,KAAK,eAAe;AACxC,WAAK,WAAW;AAChB,YAAM,QAAQ,YAAY;AAC1B,WAAK,WAAW;AAChB,YAAM,QAAQ,MAAM,OAAO,aAAa,CAAC,MAAM,CAAC;AAAA,IAClD,CAAC;AACD,SAAK,QAAQ,IAAI,OAAO;AACxB,QAAI;AAAE,YAAM;AAAS,WAAK,WAAW;AAAA,IAAG,UACxC;AAAU,WAAK,QAAQ,OAAO,OAAO;AAAG,WAAK,OAAO,OAAO,CAAC,QAAQ,UAAU;AAAA,IAAG;AAAA,EACnF;AAAA,EACA,MAAM,KAAK,OAA0B,aAAa,OAAsB;AACtE,QAAI,SAAS;AACb,eAAW,QAAQ,OAAO;AAAE,YAAM,KAAK,OAAO,KAAK,GAAG,UAAU;AAAG,gBAAU,KAAK;AAAQ,WAAK,OAAO,KAAK,QAAQ,UAAU;AAAA,IAAG;AAChI,UAAM,KAAK,QAAQ,QAAQ,YAAY,OAAM,WAAU;AACrD,UAAI,SAAS;AACb,iBAAW,QAAQ,MAAO,UAAS,QAAQ,GAAG,QAAQ,KAAK,QAAQ,SAAS;AAC1E,cAAM,KAAK,OAAO,KAAK,GAAG,UAAU;AACpC,eAAO,QAAQ,IAAI,KAAK,WAAW,KAAK;AAAA,MAC1C;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EACA,MAAM,WAAW,OAAe,OAAgB,MAA8B;AAC5E,QAAI,CAAC,OAAO;AAAE,YAAM,KAAK,KAAK,CAAC,KAAK,KAAK,CAAC;AAAG;AAAA,IAAQ;AACrD,QAAI,SAAS;AACb,aAAS,SAAS,GAAG,SAAS,MAAM,QAAQ,UAAU;AACpD,YAAM,KAAK,OAAO,KAAK;AACvB,YAAM,OAAO,MAAM,WAAW,MAAM;AACpC,gBAAU,SAAS,MAAO,SAAS,SAAS,MAAM,SAAS,KAAK,SAAS,MAAM,SAAS,MAAM,SAAS,MAAM,SAAS,MAAO,IACzH,SAAS,SAAS,MAAM,SAAS,MAAM,IAAI;AAC/C,WAAK,OAAO,KAAK,MAAM;AAAA,IACzB;AACA,UAAM,KAAK,QAAQ,QAAQ,OAAO,OAAM,WAAU;AAChD,UAAI,SAAS;AACb,aAAO,QAAQ,IAAI;AACnB,aAAO,QAAQ,IAAI;AACnB,eAAS,QAAQ,GAAG,QAAQ,MAAM,QAAQ,SAAS;AACjD,cAAM,OAAO,MAAM,WAAW,KAAK;AACnC,cAAM,KAAK,OAAO,KAAK;AACvB,YAAI,SAAS,MAAO,SAAS,SAAS,MAAM,SAAS,KAAK,SAAS,MAAM,SAAS,MAAM,SAAS,MAAM,SAAS,KAAM;AACpH,iBAAO,QAAQ,IAAI;AAAI,iBAAO,QAAQ,IAAI;AAAI,iBAAO,QAAQ,IAAI;AAAM,iBAAO,QAAQ,IAAI;AAAA,QAC5F,WAAW,SAAS,SAAS,MAAM,SAAS,KAAK;AAC/C,iBAAO,QAAQ,IAAI;AAAI,iBAAO,QAAQ,IAAI,SAAS,KAAK,MAAM;AAAA,QAChE,MAAO,QAAO,QAAQ,IAAI;AAAA,MAC5B;AACA,aAAO,MAAM,IAAI;AAAA,IACnB,CAAC;AAAA,EACH;AACF;;;AC1EA;AAUA,eAAsB,UAAU,eAAuB,QAAgB,OAAe,QAAiC;AACrH,WAAS,SAAS,OAAO,SAAS,cAAc,QAAQ,UAAU;AAChE,UAAM,OAAO,KAAK;AAClB,QAAI,cAAc,MAAM,MAAM,OAAQ,QAAO;AAAA,EAC/C;AACA,SAAO;AACT;AAEA,eAAsB,eAAe,OAAe,SAAuB,QAA+B;AACxG,SAAO,OAAO,MAAM,MAAM;AAC1B,MAAI,QAAQ;AACZ,WAAS,SAAS,GAAG,UAAU,MAAM,QAAQ,UAAU;AACrD,UAAM,OAAO,KAAK;AAClB,UAAM,OAAO,MAAM,WAAW,MAAM;AACpC,QAAI,WAAW,MAAM,UAAU,SAAS,MAAM,SAAS,MAAM,SAAS,KAAK,SAAS,GAAI;AACxF,QAAI,SAAS,OAAO;AAClB,UAAI,MAAM;AACV,UAAI,WAAsB;AAC1B,UAAI,MAAM,MAAM,CAAC,MAAM,KAAK;AAAE,mBAAW;AAAG;AAAO,YAAI,MAAM,SAAS,MAAM,MAAM,CAAC,MAAM,KAAK;AAAE,qBAAW;AAAG;AAAA,QAAO;AAAA,MAAE;AACvH,UAAI,QAAQ,MAAO,OAAM,IAAI,YAAY,iDAAiD,GAAG,IAAI;AACjG,aAAO,MAAM,QAAQ,SAAS,GAAG,OAAO,OAAO,gBAAgB,mBAAmB;AAClF,aAAO,QAAQ,MAAM,SAAS,IAAI,EAAE;AACpC,cAAQ,KAAK,EAAE,MAAM,MAAM,MAAM,OAAO,GAAG,GAAG,SAAS,CAAC;AAAA,IAC1D;AACA,YAAQ,SAAS;AAAA,EACnB;AACF;AAEO,IAAM,SAAN,MAAa;AAAA,EAQlB,YAAqB,MAAkC,eAAgC,SAC5E,aAAsB,OAAgB,OAAyB,MAAuB,QACtF,QAAgB;AAFN;AAAkC;AAAgC;AAC5E;AAA+D;AAAuB;AACtF;AACT,SAAK,QAAQ,cAAc,CAAC,MAAM,OAAO,cAAc,CAAC,MAAM,MAAM,IAAI;AACxE,SAAK,QAAQ,cAAc,CAAC,MAAM,MAAM,WAAW,cAAc,CAAC,MAAM,OAAO,QAAQ,YAAY;AACnG,SAAK,SAAS,SAAS,cAAc,KAAK,KAAK,MAAM;AAAA,EACvD;AAAA,EANqB;AAAA,EAAkC;AAAA,EAAgC;AAAA,EAC5E;AAAA,EAA+D;AAAA,EAAuB;AAAA,EACtF;AAAA,EATX,QAAQ;AAAA,EACA,SAAS;AAAA,EACT,QAAQ;AAAA,EACP,WAAqB,CAAC;AAAA,EACd;AAAA,EACA;AAAA,EACA;AAAA,EAQjB,MAAc,MAAM,OAAiD;AACnE,QAAI,CAAC,KAAK,OAAQ,OAAM,KAAK,OAAO,KAAK,CAAC,KAAK,MAAM,GAAG,KAAK,GAAG,IAAI;AACpE,WAAO,EAAE,MAAM,QAAQ;AAAA,EACzB;AAAA,EACA,MAAc,KAAK,OAAe,QAAgB,UAAiD;AACjG,QAAI,MAAM;AACV,WAAO,MAAM,MAAM,UAAU,MAAM,GAAG,MAAM,KAAK;AAAE,YAAM,KAAK,OAAO,KAAK;AAAG;AAAA,IAAO;AACpF,UAAM,QAAQ,KAAK,QAAQ,SAAS,KAAK;AACzC,SAAK,OAAO,OAAO,KAAK;AACxB,QAAI;AACF,YAAM,UAAwB,CAAC;AAC/B,UAAI;AACJ,iBAAWA,WAAU,KAAK,SAAS;AACjC,cAAM,KAAK,OAAO,KAAK;AACvB,YAAI,UAAUA,QAAO,KAAK,UAAU;AACpC,iBAAS,SAAS,GAAG,WAAW,SAAS,KAAK,UAAU;AACtD,gBAAM,KAAK,OAAO,KAAK;AACvB,cAAIA,QAAO,KAAK,MAAM,MAAM,MAAM,MAAM,EAAG,WAAU;AAAA,QACvD;AACA,YAAI,CAAC,QAAS;AACd,YAAIA,QAAO,KAAK,WAAW,KAAK;AAAE,kBAAQA;AAAQ;AAAA,QAAO;AACzD,gBAAQ,KAAKA,OAAM;AAAA,MACrB;AACA,UAAI,CAAC,SAAS,QAAQ,SAAS,GAAG;AAChC,aAAK;AAAS,aAAK,SAAS;AAC5B,YAAI,CAAC,KAAK,QAAQ;AAChB,gBAAM,QAAQ,CAAC,KAAK,MAAM,cAAc,QAAQ,OAAO,gCAAgC;AACvF,qBAAWA,WAAU,QAAS,OAAM,KAAK,MAAM,QAAQA,QAAO,MAAM,GAAG;AACvE,gBAAM,KAAK,IAAI;AACf,gBAAM,KAAK,OAAO,KAAK,OAAO,IAAI;AAAA,QACpC;AACA,eAAO,EAAE,MAAM,QAAQ;AAAA,MACzB;AACA,YAAM,SAAS,SAAS,QAAQ,CAAC;AACjC,UAAI,CAAC,QAAQ;AACX,YAAI,YAAY,MAAM,UAAU,KAAK,eAAe,MAAM,CAAC,KAAK,IAAI,KAAK,OAAO,KAAK,MAAM,KAAK,EAAG,QAAO;AAC1G,aAAK;AAAS,aAAK,SAAS;AAC5B,eAAO,MAAM,KAAK,MAAM,CAAC,2BAA2B,QAAQ,OAAO,KAAK,CAAC;AAAA,MAC3E;AACA,WAAK;AAAS,WAAK,SAAS;AAC5B,UAAI;AACJ,UAAI,MAAM,MAAM,QAAQ;AACtB,YAAI,CAAC,OAAO,SAAU,QAAO,MAAM,KAAK,MAAM,CAAC,cAAc,QAAQ,OAAO,MAAM,+BAA+B,CAAC;AAClH,mBAAW,MAAM,MAAM,MAAM,CAAC;AAAA,MAChC,WAAW,OAAO,aAAa,GAAG;AAChC,YAAI,KAAK,UAAU,KAAK,KAAK,OAAQ,QAAO,MAAM,KAAK,MAAM,CAAC,cAAc,QAAQ,OAAO,MAAM,0BAA0B,CAAC;AAC5H,mBAAW,KAAK,KAAK,KAAK,OAAO;AAAA,MACnC;AACA,aAAO,EAAE,MAAM,QAAQ,QAAQ,SAAS;AAAA,IAC1C,UAAE;AAAU,WAAK,OAAO,OAAO,CAAC,KAAK;AAAA,IAAG;AAAA,EAC1C;AAAA,EACA,MAAM,OAA0C;AAC9C,UAAM,KAAK,OAAO,KAAK;AACvB,QAAI,KAAK,MAAO,QAAO;AACvB,QAAI,CAAC,KAAK,QAAQ;AAChB,aAAO,KAAK,QAAQ,KAAK,KAAK,QAAQ;AACpC,cAAM,KAAK,OAAO,KAAK;AACvB,cAAMC,YAAW,KAAK,KAAK,KAAK,KAAK;AACrC,YAAIA,cAAa,MAAM;AAAE,eAAK;AAAS,eAAK,QAAQ;AAAM,iBAAO;AAAA,QAAW;AAC5E,YAAIA,UAAS,SAAS,KAAKA,UAAS,CAAC,MAAM,IAAK;AAChD,YAAI,KAAK,UAAU,WAAW;AAAE,eAAK,QAAQ;AAAM,iBAAO;AAAA,QAAW;AACrE,aAAK;AACL,YAAI,KAAK,UAAU,SAAU,QAAO,EAAE,MAAM,WAAW,UAAAA,UAAS;AAChE,aAAK,OAAO,OAAO,CAAC;AACpB,aAAK,SAAS,KAAKA,SAAQ;AAAA,MAC7B;AACA,UAAI,KAAK,UAAU,KAAK,KAAK,QAAQ;AAAE,aAAK,QAAQ;AAAM,eAAO;AAAA,MAAW;AAC5E,YAAMA,YAAW,KAAK,KAAK,KAAK,KAAK;AACrC,UAAIA,UAAS,CAAC,MAAM,IAAK,QAAQ,MAAM,KAAK,KAAKA,UAAS,MAAM,CAAC,GAAG,MAAM,KAAK;AAC/E,UAAI,KAAK,gBAAgBA,UAAS,SAAS,KAAK,MAAM,UAAU,KAAK,eAAeA,UAAS,CAAC,GAAI,KAAK,OAAO,KAAK,MAAM,IAAI,IAAI;AAC/H,cAAM,SAAS,MAAM,KAAK,KAAKA,UAAS,MAAM,CAAC,GAAG,KAAK,IAAI;AAC3D,YAAI,OAAQ,QAAO;AAAA,MACrB;AACA,WAAK,SAAS;AAAA,IAChB;AACA,UAAM,UAAU,KAAK,KAAK,KAAK,KAAK;AACpC,UAAM,SAAS,QAAQ,KAAK,QAAQ;AACpC,QAAI,KAAK,WAAW,QAAQ,QAAQ;AAAE,WAAK,SAAS;AAAG,WAAK;AAAA,IAAS;AACrE,UAAM,QAAQ,MAAM,UAAU,KAAK,eAAe,QAAQ,KAAK,OAAO,KAAK,MAAM;AACjF,QAAI,QAAQ,KAAK,WAAW,OAAO,WAAW,IAAK,QAAO,KAAK,MAAM,CAAC,yBAAyB,QAAQ,KAAK,CAAC;AAC7G,QAAI,WAAW,OAAO,KAAK,cAAc,QAAQ,CAAC,MAAM,KAAK;AAC3D,UAAI,CAAC,KAAK,UAAU,KAAK,UAAU,KAAK,KAAK,OAAQ,QAAO,KAAK,MAAM,CAAC,wCAAwC,CAAC;AACjH,YAAM,QAAQ,KAAK,SAAS,QAAQ,MAAM,KAAK,MAAM,IAAI,KAAK,KAAK,KAAK,KAAK;AAC7E,aAAQ,MAAM,KAAK,KAAK,OAAO,OAAO,KAAK;AAAA,IAC7C;AACA,QAAI;AACJ,QAAI,KAAK,cAAc,QAAQ,CAAC,MAAM,KAAK;AACzC,UAAI,KAAK,QAAQ;AAAE,mBAAW,QAAQ,MAAM,KAAK,MAAM;AAAG,aAAK;AAAA,MAAS,WAC/D,KAAK,cAAc,QAAQ,CAAC,MAAM,KAAK;AAC9C,YAAI,KAAK,UAAU,KAAK,KAAK,OAAQ,QAAO,KAAK,MAAM,CAAC,sCAAsC,QAAQ,KAAK,CAAC;AAC5G,mBAAW,KAAK,KAAK,KAAK,OAAO;AAAA,MACnC;AACA,WAAK,SAAS;AAAA,IAChB;AACA,QAAI,WAAW,IAAK,QAAO,EAAE,MAAM,QAAQ;AAC3C,QAAI,WAAW,IAAQ,QAAO,EAAE,MAAM,WAAW,SAAS;AAC1D,QAAI,WAAW,QAAQ;AACrB,WAAK,OAAO,OAAO,CAAC,KAAK,SAAS,SAAS,CAAC;AAC5C,WAAK,SAAS,SAAS;AACvB,WAAK,QAAQ;AACb,aAAO;AAAA,IACT;AACA,WAAO,EAAE,MAAM,SAAS,QAAQ,SAAS;AAAA,EAC3C;AACF;;;AHvJA,IAAM,iBAAwC;AAAA,EAC5C,EAAE,MAAM,WAAW,UAAU,GAAG,MAAM,IAAI;AAAA,EAAG,EAAE,MAAM,eAAe,UAAU,GAAG,MAAM,IAAI;AAAA,EAC3F,EAAE,MAAM,SAAS,UAAU,GAAG,MAAM,IAAI;AAAA,EAAG,EAAE,MAAM,gBAAgB,UAAU,GAAG,MAAM,IAAI;AAAA,EAC1F,EAAE,MAAM,SAAS,UAAU,GAAG,MAAM,IAAI;AAAA,EAAG,EAAE,MAAM,QAAQ,UAAU,GAAG,MAAM,IAAI;AAAA,EAClF,EAAE,MAAM,YAAY,UAAU,GAAG,MAAM,IAAI;AAAA,EAAG,EAAE,MAAM,QAAQ,UAAU,GAAG,MAAM,IAAI;AAAA,EACrF,EAAE,MAAM,eAAe,UAAU,GAAG,MAAM,IAAI;AAAA,EAAG,EAAE,MAAM,QAAQ,UAAU,GAAG,MAAM,IAAI;AAAA,EACxF,EAAE,MAAM,WAAW,UAAU,GAAG,MAAM,IAAI;AAC5C;AAEO,SAAS,oBAAoB,UAAiC,CAAC,GAAsB;AAC1F,QAAM,SAAS,SAAS,OAAO;AAC/B,SAAO,EAAE,MAAM,UAAU,aAAa,gEAAgE,MAAM,QAAQ,SAAS;AAC3H,UAAM,SAAS,sBAAsB,SAAS,QAAQ,MAAM;AAC5D,UAAM,SAAS,IAAI,OAAO,SAAS,QAAQ,OAAO,MAAM;AACxD,QAAI;AACJ,QAAI;AACJ,QAAI;AACJ,QAAI,WAAW;AACf,QAAI;AACF,eAAS,IAAI,OAAO,QAAQ,MAAM;AAClC,YAAM,OAAO,MAAM,OAAO,UAAU;AACpC,YAAM,aAAa,QAAQ,IAAI,sBAAsB;AACrD,YAAM,QAAQ,QAAQ,IAAI,oBAAoB;AAC9C,UAAI;AACJ,UAAI,aAAa;AACjB,YAAM,cAA4B,CAAC;AACnC,UAAI,QAAQ,MAAM,OAAO,OAAO,QAAQ,OAAO,cAAc,OAAO,cAAc;AAClF,UAAI,OAAO;AACX,UAAI,WAAW;AACf,UAAI,CAAC,KAAK,QAAQ;AAChB,YAAI,CAAC,WAAY,OAAM,IAAI,YAAY,8BAA8B,GAAG,IAAI;AAC5E,cAAM,OAAO,KAAK,CAAC,OAAO,CAAC;AAC3B,mBAAW;AAAA,MACb,WAAW,cAAc,KAAK,CAAC,EAAG,CAAC,MAAM,KAAK;AAC5C,YAAI,QAAQ;AACZ,eAAO,KAAK,CAAC,EAAG,KAAK,MAAM,OAAO,KAAK,CAAC,EAAG,KAAK,MAAM,KAAK;AAAE,gBAAM,OAAO,KAAK;AAAG;AAAA,QAAS;AAC3F,wBAAgB,KAAK,CAAC,EAAG,MAAM,KAAK;AACpC,eAAO,OAAO,cAAc,MAAM;AAClC,qBAAa,KAAK,MAAM,CAAC;AACzB,gBAAQ;AAAA,MACV,OAAO;AACL,cAAM,UAAU,IAAI,OAAO,MAAM,oBAAoB,gBAAgB,OAAO,OAAO,OAAO,UAAU,QAAQ,MAAM;AAClH,mBAAS;AACP,gBAAM,SAAS,MAAM,QAAQ,KAAK;AAClC,cAAI,CAAC,OAAQ;AACb,cAAI,OAAO,SAAS,SAAS;AAAE,kBAAM,OAAO,KAAK,CAAC,6CAA6C,GAAG,IAAI;AAAG,uBAAW;AAAG,uBAAW;AAAM;AAAA,UAAO;AAC/I,cAAI,OAAO,SAAS,UAAW,OAAM,IAAI,YAAY,4BAA4B;AACjF,gBAAM,SAAS,OAAO,SAAS,SAAS,OAAO,OAAO,OAAO,OAAO;AACpE,kBAAQ,QAAQ;AAAA,YACd,KAAK;AAAK,8BAAgB,OAAO;AAAW,qBAAO,OAAO,cAAc,MAAM;AAAG;AAAA,YACjF,KAAK;AAAK,oBAAM,eAAe,OAAO,UAAW,aAAa,MAAM;AAAG;AAAA,YACvE,KAAK;AAAK,qBAAO,OAAO;AAAW;AAAA,YACnC,KAAK;AAAK,4BAAc;AAAM;AAAA,YAC9B,KAAK;AAAK,sBAAQ;AAAM;AAAA,YACxB,KAAK;AAAK,4BAAc;AAAM;AAAA,YAC9B,KAAK;AAAK,sBAAQ;AAAO;AAAA,YACzB,KAAK;AACH,kBAAI,OAAO,aAAa,UAAU,OAAO,aAAa,KAAM,QAAO;AAAA,uBAC1D,OAAO,aAAa,UAAU,OAAO,aAAa,MAAO,QAAO;AAAA,kBACpE,OAAM,IAAI,YAAY,8CAA8C,GAAG,IAAI;AAChF;AAAA,YACF,KAAK;AAAK,yBAAW;AAAG,yBAAW;AAAM;AAAA,YACzC,KAAK;AAAK,oBAAM,OAAO,KAAK,CAAC,yBAAyB,CAAC;AAAG,yBAAW;AAAM;AAAA,YAC3E,KAAK;AACH,oBAAM,OAAO,KAAK,CAAC,6TAA6T,CAAC;AACjV,yBAAW;AAAM;AAAA,UACrB;AACA,cAAI,SAAU;AAAA,QAChB;AACA,YAAI,CAAC,UAAU;AACb,cAAI,kBAAkB,QAAW;AAC/B,gBAAI,QAAQ,UAAU,KAAK,OAAQ,OAAM,IAAI,YAAY,8BAA8B,GAAG,IAAI;AAC9F,4BAAgB,KAAK,QAAQ,OAAO;AACpC,mBAAO,OAAO,cAAc,MAAM;AAAA,UACpC;AACA,uBAAa,KAAK,MAAM,QAAQ,KAAK;AAAA,QACvC;AAAA,MACF;AACA,UAAI,CAAC,UAAU;AACb,cAAM,SAAS,IAAI,OAAO,YAAY,eAAgB,aAAa,aAAa,OAAO,OAAO,MAAM,QAAQ,MAAM;AAClH,mBAAS;AACP,gBAAM,SAAS,MAAM,OAAO,KAAK;AACjC,cAAI,CAAC,OAAQ;AACb,cAAI,OAAO,SAAS,SAAS;AAAE,uBAAW;AAAG;AAAA,UAAU;AACvD,cAAI,YAAa;AACjB,cAAI,OAAO,SAAS,UAAW,OAAM,OAAO,WAAW,OAAO,YAAY,IAAI,OAAO,IAAI;AAAA,mBAChF,OAAO,SAAS,QAAQ;AAC/B,kBAAM,OAAO,KAAK,CAAC,OAAO,OAAO,OAAO,IAAI,CAAC;AAC7C,gBAAI,OAAO,OAAO,SAAU,OAAM,OAAO,WAAW,OAAO,YAAY,IAAI,OAAO,IAAI;AAAA,UACxF,OAAO;AACL,kBAAM,OAAO,KAAK,CAAC,MAAM,OAAO,MAAM,CAAC;AACvC,kBAAM,SAAS,MAAM,UAAU,eAAgB,OAAO,QAAQ,GAAG,MAAM;AACvE,gBAAI,UAAU,KAAK,cAAe,SAAS,CAAC,MAAM,IAAK,OAAM,OAAO,WAAW,OAAO,YAAY,IAAI,OAAO,IAAI;AAAA,UACnH;AAAA,QACF;AACA,YAAI,CAAC,aAAa;AAChB,gBAAM,OAAO,KAAK,CAAC,KAAK,CAAC;AACzB,qBAAW,WAAW,OAAO,SAAU,OAAM,OAAO,WAAW,SAAS,OAAO,IAAI;AACnF,mBAAS,QAAQ,OAAO,OAAO,QAAQ,WAAW,QAAQ,QAAS,OAAM,OAAO,WAAW,WAAW,KAAK,GAAI,OAAO,IAAI;AAC1H,gBAAM,OAAO,KAAK,CAAC,IAAI,CAAC;AAAA,QAC1B;AAAA,MACF;AAAA,IACF,SAAS,OAAO;AACd,gBAAU,EAAE,QAAQ,MAAM;AAC1B,UAAI,iBAAiB,eAAe,CAAC,OAAO,OAAO,WAAW,QAAQ;AACpE,mBAAW,MAAM;AACjB,YAAI;AAAE,gBAAM,OAAO,KAAK,CAAC,YAAY,MAAM,SAAS,MAAM,MAAM,QAAQ,gDAAgD,EAAE,GAAG,IAAI;AAAA,QAAG,SAC7H,WAAW;AAAE,oBAAU,EAAE,QAAQ,IAAI,eAAe,CAAC,OAAO,SAAS,GAAG,iCAAiC,EAAE;AAAA,QAAG;AAAA,MACvH,MAAO,WAAU,EAAE,QAAQ,MAAM;AAAA,IACnC;AACA,QAAI;AAAE,YAAM,OAAO,MAAM;AAAA,IAAG,SACrB,SAAS;AACd,YAAM,WAAW,WAAW;AAC5B,gBAAU,EAAE,QAAQ,WAAW,IAAI,eAAe,CAAC,SAAS,QAAQ,OAAO,GAAG,qCAAqC,IAAI,QAAQ;AAAA,IACjI;AACA,YAAQ,OAAO,eAAe;AAC9B,WAAO,OAAO,eAAe;AAC7B,QAAI,QAAS,OAAM,QAAQ;AAC3B,WAAO,EAAE,SAAS;AAAA,EACpB,EAAE;AACJ;;;ADvHO,SAAS,qBAAqB,UAAiC,CAAC,GAAiC;AACtG,SAAO,CAAC,oBAAoB,OAAO,CAAC;AACtC;AAEO,SAAS,eAAe,UAAiC,CAAC,GAAuB;AACtF,QAAM,WAAW,qBAAqB,OAAO;AAC7C,SAAO,EAAE,MAAM,mBAAmB,MAAM,MAAM;AAC5C,eAAW,WAAW,SAAU,MAAK,SAAS,SAAS,SAAS,EAAE,SAAS,QAAQ,WAAW,MAAM,CAAC;AAAA,EACvG,EAAE;AACJ;",
5
+ "mappings": ";;;;;;;;;;;;;;;AAAA;;;ACAA;;;ACAA;AAsBO,SAAS,SAAS,SAA8C;AACrE,QAAM,SAAuB;AAAA,IAC3B,cAAc;AAAA,IAAM,kBAAkB;AAAA,IAAQ,eAAe;AAAA,IAC7D,gBAAgB;AAAA,IAAQ,gBAAgB;AAAA,IAAM,kBAAkB;AAAA,IAChE,gBAAgB;AAAA,IAAW,oBAAoB;AAAA,IAAQ,SAAS;AAAA,IAChE,GAAG,QAAQ;AAAA,EACb;AACA,aAAW,CAAC,MAAM,KAAK,KAAK,OAAO,QAAQ,MAAM,GAAG;AAClD,QAAI,CAAC,OAAO,cAAc,KAAK,KAAK,QAAQ,EAAG,OAAM,IAAI,WAAW,yBAAyB,IAAI,EAAE;AAAA,EACrG;AACA,SAAO,OAAO,OAAO,MAAM;AAC7B;AAEO,IAAM,cAAN,cAA0B,iBAAiB;AAAA,EAChD,YAAY,SAA0B,SAAS,GAAY,QAAQ,OAAO;AAAE,UAAM,OAAO;AAAnD;AAAqB;AAAA,EAAiC;AAAA,EAAtD;AAAA,EAAqB;AAC7D;AAEO,IAAM,SAAN,MAAa;AAAA,EAQlB,YAAqB,SAAkC,QAA+B,QAAqB;AAAtF;AAAkC;AAA+B;AAAA,EAAsB;AAAA,EAAvF;AAAA,EAAkC;AAAA,EAA+B;AAAA,EAP9E,OAAO;AAAA,EACP,UAAU;AAAA,EACV,WAAW;AAAA,EACX,qBAAqB;AAAA,EACrB,cAAc;AAAA,EACd,SAAS;AAAA,EACT,cAAc;AAAA,EAEtB,MAAM,OAAe,SAAiB,OAAqB;AACzD,QAAI,CAAC,OAAO,cAAc,KAAK,KAAK,QAAQ,KAAK,QAAQ,QAAS,OAAM,IAAI,YAAY,GAAG,KAAK,iBAAiB;AAAA,EACnH;AAAA,EACA,MAAM,KAAK,SAAS,GAAG,aAAa,OAAsB;AACxD,SAAK,OAAO,eAAe;AAC3B,QAAI,CAAC,YAAY;AAAE,WAAK,MAAM,KAAK,OAAO,QAAQ,KAAK,OAAO,SAAS,MAAM;AAAG,WAAK,QAAQ;AAAA,IAAQ;AACrG,SAAK,WAAW;AAChB,QAAI,KAAK,WAAW,MAAM;AAAE,WAAK,UAAU;AAAG,YAAM,UAAU,KAAK,MAAM;AAAA,IAAG;AAAA,EAC9E;AAAA,EACA,OAAO,QAAgB,aAAa,OAAa;AAC/C,QAAI,YAAY;AACd,WAAK,MAAM,KAAK,qBAAqB,QAAQ,KAAK,OAAO,oBAAoB,2BAA2B;AACxG,WAAK,sBAAsB;AAAA,IAC7B,OAAO;AACL,WAAK,MAAM,KAAK,WAAW,QAAQ,KAAK,OAAO,kBAAkB,gBAAgB;AACjF,WAAK,YAAY;AAAA,IACnB;AAAA,EACF;AAAA,EACA,OAAO,QAAsB;AAC3B,SAAK,MAAM,KAAK,cAAc,QAAQ,KAAK,OAAO,gBAAgB,cAAc;AAChF,SAAK,eAAe;AAAA,EACtB;AAAA,EACA,KAAK,QAAgB,aAAa,OAAa;AAC7C,SAAK;AAAA,OAAO,aAAa,KAAK,cAAc,KAAK,UAAU;AAAA,MACzD,aAAa,KAAK,OAAO,qBAAqB,KAAK,OAAO;AAAA,MAAgB,aAAa,qBAAqB;AAAA,IAAc;AAAA,EAC9H;AAAA,EACA,QAAQ,QAAgB,YAA2B;AACjD,SAAK,KAAK,QAAQ,UAAU;AAC5B,QAAI,WAAY,MAAK,eAAe;AAAA,QAC/B,MAAK,UAAU;AAAA,EACtB;AAAA,EACA,MAAM,YAA+B;AACnC,UAAM,OAAO,KAAK,QAAQ;AAC1B,SAAK,OAAO,eAAe;AAC3B,SAAK,MAAM,KAAK,QAAQ,KAAK,OAAO,cAAc,gBAAgB;AAClE,QAAI,QAAQ;AACZ,eAAW,YAAY,MAAM;AAC3B,WAAK,MAAM,SAAS,QAAQ,KAAK,OAAO,kBAAkB,gBAAgB;AAC1E,eAAS,SAAS;AAClB,WAAK,MAAM,OAAO,KAAK,OAAO,eAAe,aAAa;AAC1D,eAAS,SAAS,GAAG,SAAS,SAAS,QAAQ,UAAU;AACvD,cAAM,KAAK,KAAK;AAChB,cAAM,OAAO,SAAS,WAAW,MAAM;AACvC,YAAI,QAAQ,SAAU,QAAQ,OAAQ;AACpC,gBAAM,OAAO,SAAS,WAAW,EAAE,MAAM;AACzC,cAAI,EAAE,QAAQ,SAAU,QAAQ,OAAS,OAAM,IAAI,YAAY,8CAA8C,CAAC;AAAA,QAChH,WAAW,QAAQ,SAAU,QAAQ,MAAQ,OAAM,IAAI,YAAY,8CAA8C,CAAC;AAAA,MACpH;AAAA,IACF;AACA,UAAM,SAAS,KAAK,QAAQ,mBAAmB,SAAY,OAAO,oBAAoB,KAAK,OAAO,EAAE;AACpG,YAAQ;AACR,eAAW,YAAY,QAAQ;AAC7B,YAAM,KAAK,KAAK;AAChB,YAAM,OAAO,qBAAqB,QAAQ;AAC1C,WAAK,MAAM,MAAM,KAAK,OAAO,kBAAkB,gBAAgB;AAC/D,eAAS;AACT,WAAK,MAAM,OAAO,KAAK,OAAO,eAAe,aAAa;AAAA,IAC5D;AACA,SAAK,OAAO,QAAQ,IAAI,KAAK,SAAS,KAAK,GAAG;AAC9C,SAAK,OAAO,eAAe;AAC3B,UAAM,QAAQ,oBAAoB,KAAK,OAAO,EAAE;AAChD,UAAM,SAAmB,CAAC;AAC1B,eAAW,YAAY,OAAO;AAC5B,YAAM,KAAK,KAAK;AAChB,YAAM,QAAQ,gBAAgB,QAAQ;AACtC,UAAI,OAAO;AACX,eAAS,SAAS,GAAG,SAAS,MAAM,QAAQ,UAAU,KAAK;AACzD,cAAM,MAAM,KAAK,IAAI,SAAS,KAAK,MAAM,MAAM;AAC/C,iBAAS,QAAQ,QAAQ,QAAQ,KAAK,SAAS;AAC7C,gBAAM,KAAK,KAAK;AAChB,cAAI,MAAM,KAAK,MAAM,EAAG,OAAM,IAAI,YAAY,qCAAqC,CAAC;AAAA,QACtF;AACA,gBAAQ,OAAO,aAAa,GAAG,MAAM,SAAS,QAAQ,GAAG,CAAC;AAAA,MAC5D;AACA,aAAO,KAAK,IAAI;AAAA,IAClB;AACA,WAAO;AAAA,EACT;AACF;;;AC9HA;AAGO,IAAM,SAAN,MAAa;AAAA,EAGlB,YAAqB,QAAgB,QAAyB;AAAzC;AAA2C,WAAO,gBAAgB,MAAM,KAAK,MAAM,CAAC;AAAA,EAAG;AAAA,EAAvF;AAAA,EAFJ,UAAU,oBAAI,IAAsB;AAAA,EAC7C;AAAA,EAER,aAAmB;AACjB,SAAK,OAAO,OAAO,eAAe;AAClC,QAAI,KAAK,QAAS,OAAM,IAAI,YAAY,mBAAmB;AAAA,EAC7D;AAAA,EACA,QAAuB;AACrB,WAAO,KAAK,YAAY,QAAQ,QAAQ,EAAE,KAAK,YAAY;AACzD,aAAO,KAAK,QAAQ,KAAM,OAAM,QAAQ,WAAW,CAAC,GAAG,KAAK,OAAO,CAAC;AAAA,IACtE,CAAC;AAAA,EACH;AAAA,EACA,MAAc,QAAQ,QAAgB,YAAqB,MAA4D;AACrH,SAAK,WAAW;AAChB,SAAK,OAAO,QAAQ,QAAQ,UAAU;AACtC,SAAK,OAAO,OAAO,QAAQ,UAAU;AACrC,UAAM,UAAU,QAAQ,QAAQ,EAAE,KAAK,YAAY;AACjD,WAAK,WAAW;AAChB,YAAM,SAAS,IAAI,WAAW,MAAM;AACpC,YAAM,KAAK,MAAM;AACjB,WAAK,WAAW;AAChB,YAAM,OAAO,aAAa,KAAK,OAAO,QAAQ,SAAS,KAAK,OAAO,QAAQ;AAC3E,WAAK,WAAW;AAChB,YAAM,cAAc,KAAK,eAAe;AACxC,WAAK,WAAW;AAChB,YAAM,QAAQ,YAAY;AAC1B,WAAK,WAAW;AAChB,YAAM,QAAQ,MAAM,OAAO,aAAa,CAAC,MAAM,CAAC;AAAA,IAClD,CAAC;AACD,SAAK,QAAQ,IAAI,OAAO;AACxB,QAAI;AAAE,YAAM;AAAS,WAAK,WAAW;AAAA,IAAG,UACxC;AAAU,WAAK,QAAQ,OAAO,OAAO;AAAG,WAAK,OAAO,OAAO,CAAC,QAAQ,UAAU;AAAA,IAAG;AAAA,EACnF;AAAA,EACA,MAAM,KAAK,OAA0B,aAAa,OAAsB;AACtE,QAAI,SAAS;AACb,eAAW,QAAQ,OAAO;AAAE,YAAM,KAAK,OAAO,KAAK,GAAG,UAAU;AAAG,gBAAU,KAAK;AAAQ,WAAK,OAAO,KAAK,QAAQ,UAAU;AAAA,IAAG;AAChI,UAAM,KAAK,QAAQ,QAAQ,YAAY,OAAM,WAAU;AACrD,UAAI,SAAS;AACb,iBAAW,QAAQ,MAAO,UAAS,QAAQ,GAAG,QAAQ,KAAK,QAAQ,SAAS;AAC1E,cAAM,KAAK,OAAO,KAAK,GAAG,UAAU;AACpC,eAAO,QAAQ,IAAI,KAAK,WAAW,KAAK;AAAA,MAC1C;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EACA,MAAM,WAAW,OAAe,OAAgB,MAA8B;AAC5E,QAAI,CAAC,OAAO;AAAE,YAAM,KAAK,KAAK,CAAC,KAAK,KAAK,CAAC;AAAG;AAAA,IAAQ;AACrD,QAAI,SAAS;AACb,aAAS,SAAS,GAAG,SAAS,MAAM,QAAQ,UAAU;AACpD,YAAM,KAAK,OAAO,KAAK;AACvB,YAAM,OAAO,MAAM,WAAW,MAAM;AACpC,gBAAU,SAAS,MAAO,SAAS,SAAS,MAAM,SAAS,KAAK,SAAS,MAAM,SAAS,MAAM,SAAS,MAAM,SAAS,MAAO,IACzH,SAAS,SAAS,MAAM,SAAS,MAAM,IAAI;AAC/C,WAAK,OAAO,KAAK,MAAM;AAAA,IACzB;AACA,UAAM,KAAK,QAAQ,QAAQ,OAAO,OAAM,WAAU;AAChD,UAAI,SAAS;AACb,aAAO,QAAQ,IAAI;AACnB,aAAO,QAAQ,IAAI;AACnB,eAAS,QAAQ,GAAG,QAAQ,MAAM,QAAQ,SAAS;AACjD,cAAM,OAAO,MAAM,WAAW,KAAK;AACnC,cAAM,KAAK,OAAO,KAAK;AACvB,YAAI,SAAS,MAAO,SAAS,SAAS,MAAM,SAAS,KAAK,SAAS,MAAM,SAAS,MAAM,SAAS,MAAM,SAAS,KAAM;AACpH,iBAAO,QAAQ,IAAI;AAAI,iBAAO,QAAQ,IAAI;AAAI,iBAAO,QAAQ,IAAI;AAAM,iBAAO,QAAQ,IAAI;AAAA,QAC5F,WAAW,SAAS,SAAS,MAAM,SAAS,KAAK;AAC/C,iBAAO,QAAQ,IAAI;AAAI,iBAAO,QAAQ,IAAI,SAAS,KAAK,MAAM;AAAA,QAChE,MAAO,QAAO,QAAQ,IAAI;AAAA,MAC5B;AACA,aAAO,MAAM,IAAI;AAAA,IACnB,CAAC;AAAA,EACH;AACF;;;AC1EA;AAUA,eAAsB,UAAU,eAAuB,QAAgB,OAAe,QAAiC;AACrH,WAAS,SAAS,OAAO,SAAS,cAAc,QAAQ,UAAU;AAChE,UAAM,OAAO,KAAK;AAClB,QAAI,cAAc,MAAM,MAAM,OAAQ,QAAO;AAAA,EAC/C;AACA,SAAO;AACT;AAEA,eAAsB,eAAe,OAAe,SAAuB,QAA+B;AACxG,SAAO,OAAO,MAAM,MAAM;AAC1B,MAAI,QAAQ;AACZ,WAAS,SAAS,GAAG,UAAU,MAAM,QAAQ,UAAU;AACrD,UAAM,OAAO,KAAK;AAClB,UAAM,OAAO,MAAM,WAAW,MAAM;AACpC,QAAI,WAAW,MAAM,UAAU,SAAS,MAAM,SAAS,MAAM,SAAS,KAAK,SAAS,GAAI;AACxF,QAAI,SAAS,OAAO;AAClB,UAAI,MAAM;AACV,UAAI,WAAsB;AAC1B,UAAI,MAAM,MAAM,CAAC,MAAM,KAAK;AAAE,mBAAW;AAAG;AAAO,YAAI,MAAM,SAAS,MAAM,MAAM,CAAC,MAAM,KAAK;AAAE,qBAAW;AAAG;AAAA,QAAO;AAAA,MAAE;AACvH,UAAI,QAAQ,MAAO,OAAM,IAAI,YAAY,iDAAiD,GAAG,IAAI;AACjG,aAAO,MAAM,QAAQ,SAAS,GAAG,OAAO,OAAO,gBAAgB,mBAAmB;AAClF,aAAO,QAAQ,MAAM,SAAS,IAAI,EAAE;AACpC,cAAQ,KAAK,EAAE,MAAM,MAAM,MAAM,OAAO,GAAG,GAAG,SAAS,CAAC;AAAA,IAC1D;AACA,YAAQ,SAAS;AAAA,EACnB;AACF;AAEO,IAAM,SAAN,MAAa;AAAA,EAQlB,YAAqB,MAAkC,eAAgC,SAC5E,aAAsB,OAAgB,OAAyB,MAAuB,QACtF,QAAgB;AAFN;AAAkC;AAAgC;AAC5E;AAA+D;AAAuB;AACtF;AACT,SAAK,QAAQ,cAAc,CAAC,MAAM,OAAO,cAAc,CAAC,MAAM,MAAM,IAAI;AACxE,SAAK,QAAQ,cAAc,CAAC,MAAM,MAAM,WAAW,cAAc,CAAC,MAAM,OAAO,QAAQ,YAAY;AACnG,SAAK,SAAS,SAAS,cAAc,KAAK,KAAK,MAAM;AAAA,EACvD;AAAA,EANqB;AAAA,EAAkC;AAAA,EAAgC;AAAA,EAC5E;AAAA,EAA+D;AAAA,EAAuB;AAAA,EACtF;AAAA,EATX,QAAQ;AAAA,EACA,SAAS;AAAA,EACT,QAAQ;AAAA,EACP,WAAqB,CAAC;AAAA,EACd;AAAA,EACA;AAAA,EACA;AAAA,EAQjB,MAAc,MAAM,OAAiD;AACnE,QAAI,CAAC,KAAK,OAAQ,OAAM,KAAK,OAAO,KAAK,CAAC,KAAK,MAAM,GAAG,KAAK,GAAG,IAAI;AACpE,WAAO,EAAE,MAAM,QAAQ;AAAA,EACzB;AAAA,EACA,MAAc,KAAK,OAAe,QAAgB,UAAiD;AACjG,QAAI,MAAM;AACV,WAAO,MAAM,MAAM,UAAU,MAAM,GAAG,MAAM,KAAK;AAAE,YAAM,KAAK,OAAO,KAAK;AAAG;AAAA,IAAO;AACpF,UAAM,QAAQ,KAAK,QAAQ,SAAS,KAAK;AACzC,SAAK,OAAO,OAAO,KAAK;AACxB,QAAI;AACF,YAAM,UAAwB,CAAC;AAC/B,UAAI;AACJ,iBAAWA,WAAU,KAAK,SAAS;AACjC,cAAM,KAAK,OAAO,KAAK;AACvB,YAAI,UAAUA,QAAO,KAAK,UAAU;AACpC,iBAAS,SAAS,GAAG,WAAW,SAAS,KAAK,UAAU;AACtD,gBAAM,KAAK,OAAO,KAAK;AACvB,cAAIA,QAAO,KAAK,MAAM,MAAM,MAAM,MAAM,EAAG,WAAU;AAAA,QACvD;AACA,YAAI,CAAC,QAAS;AACd,YAAIA,QAAO,KAAK,WAAW,KAAK;AAAE,kBAAQA;AAAQ;AAAA,QAAO;AACzD,gBAAQ,KAAKA,OAAM;AAAA,MACrB;AACA,UAAI,CAAC,SAAS,QAAQ,SAAS,GAAG;AAChC,aAAK;AAAS,aAAK,SAAS;AAC5B,YAAI,CAAC,KAAK,QAAQ;AAChB,gBAAM,QAAQ,CAAC,KAAK,MAAM,cAAc,QAAQ,OAAO,gCAAgC;AACvF,qBAAWA,WAAU,QAAS,OAAM,KAAK,MAAM,QAAQA,QAAO,MAAM,GAAG;AACvE,gBAAM,KAAK,IAAI;AACf,gBAAM,KAAK,OAAO,KAAK,OAAO,IAAI;AAAA,QACpC;AACA,eAAO,EAAE,MAAM,QAAQ;AAAA,MACzB;AACA,YAAM,SAAS,SAAS,QAAQ,CAAC;AACjC,UAAI,CAAC,QAAQ;AACX,YAAI,YAAY,MAAM,UAAU,KAAK,eAAe,MAAM,CAAC,KAAK,IAAI,KAAK,OAAO,KAAK,MAAM,KAAK,EAAG,QAAO;AAC1G,aAAK;AAAS,aAAK,SAAS;AAC5B,eAAO,MAAM,KAAK,MAAM,CAAC,2BAA2B,QAAQ,OAAO,KAAK,CAAC;AAAA,MAC3E;AACA,WAAK;AAAS,WAAK,SAAS;AAC5B,UAAI;AACJ,UAAI,MAAM,MAAM,QAAQ;AACtB,YAAI,CAAC,OAAO,SAAU,QAAO,MAAM,KAAK,MAAM,CAAC,cAAc,QAAQ,OAAO,MAAM,+BAA+B,CAAC;AAClH,mBAAW,MAAM,MAAM,MAAM,CAAC;AAAA,MAChC,WAAW,OAAO,aAAa,GAAG;AAChC,YAAI,KAAK,UAAU,KAAK,KAAK,OAAQ,QAAO,MAAM,KAAK,MAAM,CAAC,cAAc,QAAQ,OAAO,MAAM,0BAA0B,CAAC;AAC5H,mBAAW,KAAK,KAAK,KAAK,OAAO;AAAA,MACnC;AACA,aAAO,EAAE,MAAM,QAAQ,QAAQ,SAAS;AAAA,IAC1C,UAAE;AAAU,WAAK,OAAO,OAAO,CAAC,KAAK;AAAA,IAAG;AAAA,EAC1C;AAAA,EACA,MAAM,OAA0C;AAC9C,UAAM,KAAK,OAAO,KAAK;AACvB,QAAI,KAAK,MAAO,QAAO;AACvB,QAAI,CAAC,KAAK,QAAQ;AAChB,aAAO,KAAK,QAAQ,KAAK,KAAK,QAAQ;AACpC,cAAM,KAAK,OAAO,KAAK;AACvB,cAAMC,YAAW,KAAK,KAAK,KAAK,KAAK;AACrC,YAAIA,cAAa,MAAM;AAAE,eAAK;AAAS,eAAK,QAAQ;AAAM,iBAAO;AAAA,QAAW;AAC5E,YAAIA,UAAS,SAAS,KAAKA,UAAS,CAAC,MAAM,IAAK;AAChD,YAAI,KAAK,UAAU,WAAW;AAAE,eAAK,QAAQ;AAAM,iBAAO;AAAA,QAAW;AACrE,aAAK;AACL,YAAI,KAAK,UAAU,SAAU,QAAO,EAAE,MAAM,WAAW,UAAAA,UAAS;AAChE,aAAK,OAAO,OAAO,CAAC;AACpB,aAAK,SAAS,KAAKA,SAAQ;AAAA,MAC7B;AACA,UAAI,KAAK,UAAU,KAAK,KAAK,QAAQ;AAAE,aAAK,QAAQ;AAAM,eAAO;AAAA,MAAW;AAC5E,YAAMA,YAAW,KAAK,KAAK,KAAK,KAAK;AACrC,UAAIA,UAAS,CAAC,MAAM,IAAK,QAAQ,MAAM,KAAK,KAAKA,UAAS,MAAM,CAAC,GAAG,MAAM,KAAK;AAC/E,UAAI,KAAK,gBAAgBA,UAAS,SAAS,KAAK,MAAM,UAAU,KAAK,eAAeA,UAAS,CAAC,GAAI,KAAK,OAAO,KAAK,MAAM,IAAI,IAAI;AAC/H,cAAM,SAAS,MAAM,KAAK,KAAKA,UAAS,MAAM,CAAC,GAAG,KAAK,IAAI;AAC3D,YAAI,OAAQ,QAAO;AAAA,MACrB;AACA,WAAK,SAAS;AAAA,IAChB;AACA,UAAM,UAAU,KAAK,KAAK,KAAK,KAAK;AACpC,UAAM,SAAS,QAAQ,KAAK,QAAQ;AACpC,QAAI,KAAK,WAAW,QAAQ,QAAQ;AAAE,WAAK,SAAS;AAAG,WAAK;AAAA,IAAS;AACrE,UAAM,QAAQ,MAAM,UAAU,KAAK,eAAe,QAAQ,KAAK,OAAO,KAAK,MAAM;AACjF,QAAI,QAAQ,KAAK,WAAW,OAAO,WAAW,IAAK,QAAO,KAAK,MAAM,CAAC,yBAAyB,QAAQ,KAAK,CAAC;AAC7G,QAAI,WAAW,OAAO,KAAK,cAAc,QAAQ,CAAC,MAAM,KAAK;AAC3D,UAAI,CAAC,KAAK,UAAU,KAAK,UAAU,KAAK,KAAK,OAAQ,QAAO,KAAK,MAAM,CAAC,wCAAwC,CAAC;AACjH,YAAM,QAAQ,KAAK,SAAS,QAAQ,MAAM,KAAK,MAAM,IAAI,KAAK,KAAK,KAAK,KAAK;AAC7E,aAAQ,MAAM,KAAK,KAAK,OAAO,OAAO,KAAK;AAAA,IAC7C;AACA,QAAI;AACJ,QAAI,KAAK,cAAc,QAAQ,CAAC,MAAM,KAAK;AACzC,UAAI,KAAK,QAAQ;AAAE,mBAAW,QAAQ,MAAM,KAAK,MAAM;AAAG,aAAK;AAAA,MAAS,WAC/D,KAAK,cAAc,QAAQ,CAAC,MAAM,KAAK;AAC9C,YAAI,KAAK,UAAU,KAAK,KAAK,OAAQ,QAAO,KAAK,MAAM,CAAC,sCAAsC,QAAQ,KAAK,CAAC;AAC5G,mBAAW,KAAK,KAAK,KAAK,OAAO;AAAA,MACnC;AACA,WAAK,SAAS;AAAA,IAChB;AACA,QAAI,WAAW,IAAK,QAAO,EAAE,MAAM,QAAQ;AAC3C,QAAI,WAAW,IAAQ,QAAO,EAAE,MAAM,WAAW,SAAS;AAC1D,QAAI,WAAW,QAAQ;AACrB,WAAK,OAAO,OAAO,CAAC,KAAK,SAAS,SAAS,CAAC;AAC5C,WAAK,SAAS,SAAS;AACvB,WAAK,QAAQ;AACb,aAAO;AAAA,IACT;AACA,WAAO,EAAE,MAAM,SAAS,QAAQ,SAAS;AAAA,EAC3C;AACF;;;AHvJA,IAAM,iBAAwC;AAAA,EAC5C,EAAE,MAAM,WAAW,UAAU,GAAG,MAAM,IAAI;AAAA,EAAG,EAAE,MAAM,eAAe,UAAU,GAAG,MAAM,IAAI;AAAA,EAC3F,EAAE,MAAM,SAAS,UAAU,GAAG,MAAM,IAAI;AAAA,EAAG,EAAE,MAAM,gBAAgB,UAAU,GAAG,MAAM,IAAI;AAAA,EAC1F,EAAE,MAAM,SAAS,UAAU,GAAG,MAAM,IAAI;AAAA,EAAG,EAAE,MAAM,QAAQ,UAAU,GAAG,MAAM,IAAI;AAAA,EAClF,EAAE,MAAM,YAAY,UAAU,GAAG,MAAM,IAAI;AAAA,EAAG,EAAE,MAAM,QAAQ,UAAU,GAAG,MAAM,IAAI;AAAA,EACrF,EAAE,MAAM,eAAe,UAAU,GAAG,MAAM,IAAI;AAAA,EAAG,EAAE,MAAM,QAAQ,UAAU,GAAG,MAAM,IAAI;AAAA,EACxF,EAAE,MAAM,WAAW,UAAU,GAAG,MAAM,IAAI;AAC5C;AAEO,SAAS,oBAAoB,UAAiC,CAAC,GAAsB;AAC1F,QAAM,SAAS,SAAS,OAAO;AAC/B,SAAO,EAAE,MAAM,UAAU,aAAa,gEAAgE,MAAM,QAAQ,SAAS;AAC3H,UAAM,SAAS,sBAAsB,SAAS,QAAQ,MAAM;AAC5D,UAAM,SAAS,IAAI,OAAO,SAAS,QAAQ,OAAO,MAAM;AACxD,QAAI;AACJ,QAAI;AACJ,QAAI;AACJ,QAAI,WAAW;AACf,QAAI;AACF,eAAS,IAAI,OAAO,QAAQ,MAAM;AAClC,YAAM,OAAO,MAAM,OAAO,UAAU;AACpC,YAAM,aAAa,QAAQ,IAAI,sBAAsB;AACrD,YAAM,QAAQ,QAAQ,IAAI,oBAAoB;AAC9C,UAAI;AACJ,UAAI,aAAa;AACjB,YAAM,cAA4B,CAAC;AACnC,UAAI,QAAQ,MAAM,OAAO,OAAO,QAAQ,OAAO,cAAc,OAAO,cAAc;AAClF,UAAI,OAAO;AACX,UAAI,WAAW;AACf,UAAI,CAAC,KAAK,QAAQ;AAChB,YAAI,CAAC,WAAY,OAAM,IAAI,YAAY,8BAA8B,GAAG,IAAI;AAC5E,cAAM,OAAO,KAAK,CAAC,OAAO,CAAC;AAC3B,mBAAW;AAAA,MACb,WAAW,cAAc,KAAK,CAAC,EAAG,CAAC,MAAM,KAAK;AAC5C,YAAI,QAAQ;AACZ,eAAO,KAAK,CAAC,EAAG,KAAK,MAAM,OAAO,KAAK,CAAC,EAAG,KAAK,MAAM,KAAK;AAAE,gBAAM,OAAO,KAAK;AAAG;AAAA,QAAS;AAC3F,wBAAgB,KAAK,CAAC,EAAG,MAAM,KAAK;AACpC,eAAO,OAAO,cAAc,MAAM;AAClC,qBAAa,KAAK,MAAM,CAAC;AACzB,gBAAQ;AAAA,MACV,OAAO;AACL,cAAM,UAAU,IAAI,OAAO,MAAM,oBAAoB,gBAAgB,OAAO,OAAO,OAAO,UAAU,QAAQ,MAAM;AAClH,mBAAS;AACP,gBAAM,SAAS,MAAM,QAAQ,KAAK;AAClC,cAAI,CAAC,OAAQ;AACb,cAAI,OAAO,SAAS,SAAS;AAAE,kBAAM,OAAO,KAAK,CAAC,6CAA6C,GAAG,IAAI;AAAG,uBAAW;AAAG,uBAAW;AAAM;AAAA,UAAO;AAC/I,cAAI,OAAO,SAAS,UAAW,OAAM,IAAI,YAAY,4BAA4B;AACjF,gBAAM,SAAS,OAAO,SAAS,SAAS,OAAO,OAAO,OAAO,OAAO;AACpE,kBAAQ,QAAQ;AAAA,YACd,KAAK;AAAK,8BAAgB,OAAO;AAAW,qBAAO,OAAO,cAAc,MAAM;AAAG;AAAA,YACjF,KAAK;AAAK,oBAAM,eAAe,OAAO,UAAW,aAAa,MAAM;AAAG;AAAA,YACvE,KAAK;AAAK,qBAAO,OAAO;AAAW;AAAA,YACnC,KAAK;AAAK,4BAAc;AAAM;AAAA,YAC9B,KAAK;AAAK,sBAAQ;AAAM;AAAA,YACxB,KAAK;AAAK,4BAAc;AAAM;AAAA,YAC9B,KAAK;AAAK,sBAAQ;AAAO;AAAA,YACzB,KAAK;AACH,kBAAI,OAAO,aAAa,UAAU,OAAO,aAAa,KAAM,QAAO;AAAA,uBAC1D,OAAO,aAAa,UAAU,OAAO,aAAa,MAAO,QAAO;AAAA,kBACpE,OAAM,IAAI,YAAY,8CAA8C,GAAG,IAAI;AAChF;AAAA,YACF,KAAK;AAAK,yBAAW;AAAG,yBAAW;AAAM;AAAA,YACzC,KAAK;AAAK,oBAAM,OAAO,KAAK,CAAC,yBAAyB,CAAC;AAAG,yBAAW;AAAM;AAAA,YAC3E,KAAK;AACH,oBAAM,OAAO,KAAK,CAAC,6TAA6T,CAAC;AACjV,yBAAW;AAAM;AAAA,UACrB;AACA,cAAI,SAAU;AAAA,QAChB;AACA,YAAI,CAAC,UAAU;AACb,cAAI,kBAAkB,QAAW;AAC/B,gBAAI,QAAQ,UAAU,KAAK,OAAQ,OAAM,IAAI,YAAY,8BAA8B,GAAG,IAAI;AAC9F,4BAAgB,KAAK,QAAQ,OAAO;AACpC,mBAAO,OAAO,cAAc,MAAM;AAAA,UACpC;AACA,uBAAa,KAAK,MAAM,QAAQ,KAAK;AAAA,QACvC;AAAA,MACF;AACA,UAAI,CAAC,UAAU;AACb,cAAM,SAAS,IAAI,OAAO,YAAY,eAAgB,aAAa,aAAa,OAAO,OAAO,MAAM,QAAQ,MAAM;AAClH,mBAAS;AACP,gBAAM,SAAS,MAAM,OAAO,KAAK;AACjC,cAAI,CAAC,OAAQ;AACb,cAAI,OAAO,SAAS,SAAS;AAAE,uBAAW;AAAG;AAAA,UAAU;AACvD,cAAI,YAAa;AACjB,cAAI,OAAO,SAAS,UAAW,OAAM,OAAO,WAAW,OAAO,YAAY,IAAI,OAAO,IAAI;AAAA,mBAChF,OAAO,SAAS,QAAQ;AAC/B,kBAAM,OAAO,KAAK,CAAC,OAAO,OAAO,OAAO,IAAI,CAAC;AAC7C,gBAAI,OAAO,OAAO,SAAU,OAAM,OAAO,WAAW,OAAO,YAAY,IAAI,OAAO,IAAI;AAAA,UACxF,OAAO;AACL,kBAAM,OAAO,KAAK,CAAC,MAAM,OAAO,MAAM,CAAC;AACvC,kBAAM,SAAS,MAAM,UAAU,eAAgB,OAAO,QAAQ,GAAG,MAAM;AACvE,gBAAI,UAAU,KAAK,cAAe,SAAS,CAAC,MAAM,IAAK,OAAM,OAAO,WAAW,OAAO,YAAY,IAAI,OAAO,IAAI;AAAA,UACnH;AAAA,QACF;AACA,YAAI,CAAC,aAAa;AAChB,gBAAM,OAAO,KAAK,CAAC,KAAK,CAAC;AACzB,qBAAW,WAAW,OAAO,SAAU,OAAM,OAAO,WAAW,SAAS,OAAO,IAAI;AACnF,mBAAS,QAAQ,OAAO,OAAO,QAAQ,WAAW,QAAQ,QAAS,OAAM,OAAO,WAAW,WAAW,KAAK,GAAI,OAAO,IAAI;AAC1H,gBAAM,OAAO,KAAK,CAAC,IAAI,CAAC;AAAA,QAC1B;AAAA,MACF;AAAA,IACF,SAAS,OAAO;AACd,gBAAU,EAAE,QAAQ,MAAM;AAC1B,UAAI,iBAAiB,eAAe,CAAC,OAAO,OAAO,WAAW,QAAQ;AACpE,mBAAW,MAAM;AACjB,YAAI;AAAE,gBAAM,OAAO,KAAK,CAAC,YAAY,MAAM,SAAS,MAAM,MAAM,QAAQ,gDAAgD,EAAE,GAAG,IAAI;AAAA,QAAG,SAC7H,WAAW;AAAE,oBAAU,EAAE,QAAQ,IAAI,eAAe,CAAC,OAAO,SAAS,GAAG,iCAAiC,EAAE;AAAA,QAAG;AAAA,MACvH,MAAO,WAAU,EAAE,QAAQ,MAAM;AAAA,IACnC;AACA,QAAI;AAAE,YAAM,OAAO,MAAM;AAAA,IAAG,SACrB,SAAS;AACd,YAAM,WAAW,WAAW;AAC5B,gBAAU,EAAE,QAAQ,WAAW,IAAI,eAAe,CAAC,SAAS,QAAQ,OAAO,GAAG,qCAAqC,IAAI,QAAQ;AAAA,IACjI;AACA,YAAQ,OAAO,eAAe;AAC9B,WAAO,OAAO,eAAe;AAC7B,QAAI,QAAS,OAAM,QAAQ;AAC3B,WAAO,EAAE,SAAS;AAAA,EACpB,EAAE;AACJ;;;ADvHO,SAAS,qBAAqB,UAAiC,CAAC,GAAiC;AACtG,SAAO,CAAC,oBAAoB,OAAO,CAAC;AACtC;AAEO,SAAS,eAAe,UAAiC,CAAC,GAAuB;AACtF,QAAM,WAAW,qBAAqB,OAAO;AAC7C,SAAO,EAAE,MAAM,mBAAmB,MAAM,MAAM;AAC5C,eAAW,WAAW,SAAU,MAAK,SAAS,SAAS,SAAS,EAAE,SAAS,QAAQ,WAAW,MAAM,CAAC;AAAA,EACvG,EAAE;AACJ;",
6
6
  "names": ["option", "argument"]
7
7
  }