sonamu 0.9.19 → 0.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (282) hide show
  1. package/dist/_virtual/_rolldown/runtime.js +36 -0
  2. package/dist/ai/agents/agent.js +5 -7
  3. package/dist/ai/agents/index.js +1 -2
  4. package/dist/ai/agents/types.js +1 -1
  5. package/dist/ai/index.js +1 -2
  6. package/dist/ai/providers/rtzr/api.js +2 -3
  7. package/dist/ai/providers/rtzr/error.js +14 -29
  8. package/dist/ai/providers/rtzr/index.js +1 -2
  9. package/dist/ai/providers/rtzr/model.js +13 -20
  10. package/dist/ai/providers/rtzr/options.js +2 -3
  11. package/dist/ai/providers/rtzr/provider.js +2 -3
  12. package/dist/ai/providers/rtzr/utils.js +12 -21
  13. package/dist/api/base-frame.js +4 -4
  14. package/dist/api/caster.js +21 -38
  15. package/dist/api/code-converters.js +41 -98
  16. package/dist/api/config.d.ts +1 -10
  17. package/dist/api/config.d.ts.map +1 -1
  18. package/dist/api/config.js +9 -8
  19. package/dist/api/context.js +2 -3
  20. package/dist/api/decorators.js +80 -116
  21. package/dist/api/index.js +2 -3
  22. package/dist/api/secret.js +6 -10
  23. package/dist/api/sonamu.d.ts.map +1 -1
  24. package/dist/api/sonamu.js +200 -387
  25. package/dist/api/validator.js +5 -8
  26. package/dist/api/websocket-helpers.js +21 -32
  27. package/dist/auth/audit-log/builders.js +2 -3
  28. package/dist/auth/audit-log/events.js +2 -2
  29. package/dist/auth/audit-log/plugin.js +30 -61
  30. package/dist/auth/audit-log-ingestor.js +19 -41
  31. package/dist/auth/auth-generator.js +16 -41
  32. package/dist/auth/better-auth-entities.js +3 -4
  33. package/dist/auth/index.js +2 -3
  34. package/dist/auth/knex-adapter.js +18 -45
  35. package/dist/auth/plugins/entity-definitions/admin.js +2 -2
  36. package/dist/auth/plugins/entity-definitions/anonymous.js +2 -2
  37. package/dist/auth/plugins/entity-definitions/api-key.js +2 -2
  38. package/dist/auth/plugins/entity-definitions/audit-log.js +2 -2
  39. package/dist/auth/plugins/entity-definitions/index.js +2 -3
  40. package/dist/auth/plugins/entity-definitions/jwt.js +2 -2
  41. package/dist/auth/plugins/entity-definitions/organization.js +2 -2
  42. package/dist/auth/plugins/entity-definitions/passkey.js +2 -2
  43. package/dist/auth/plugins/entity-definitions/phone-number.js +2 -2
  44. package/dist/auth/plugins/entity-definitions/sso.js +2 -2
  45. package/dist/auth/plugins/entity-definitions/two-factor.js +2 -2
  46. package/dist/auth/plugins/entity-definitions/types.js +1 -1
  47. package/dist/auth/plugins/entity-definitions/username.js +2 -2
  48. package/dist/auth/plugins/index.js +1 -2
  49. package/dist/auth/plugins/wrappers/admin.js +2 -3
  50. package/dist/auth/plugins/wrappers/anonymous.js +2 -3
  51. package/dist/auth/plugins/wrappers/api-key.js +2 -3
  52. package/dist/auth/plugins/wrappers/index.js +1 -2
  53. package/dist/auth/plugins/wrappers/jwt.js +2 -3
  54. package/dist/auth/plugins/wrappers/organization.js +2 -3
  55. package/dist/auth/plugins/wrappers/passkey.js +2 -3
  56. package/dist/auth/plugins/wrappers/phone-number.js +2 -3
  57. package/dist/auth/plugins/wrappers/sso.js +2 -3
  58. package/dist/auth/plugins/wrappers/two-factor.js +2 -3
  59. package/dist/auth/plugins/wrappers/username.js +2 -3
  60. package/dist/bin/build-config.js +2 -2
  61. package/dist/bin/cli.js +151 -258
  62. package/dist/bin/fixture.d.ts.map +1 -1
  63. package/dist/bin/fixture.js +55 -97
  64. package/dist/bin/hmr-hook-register.js +3 -3
  65. package/dist/bin/migrate-targets.d.ts +3 -0
  66. package/dist/bin/migrate-targets.d.ts.map +1 -0
  67. package/dist/bin/migrate-targets.js +11 -0
  68. package/dist/bin/test-command.js +25 -55
  69. package/dist/bin/ts-loader-register.js +5 -6
  70. package/dist/bin/ts-loader-registration.js +6 -13
  71. package/dist/cache/cache-manager.js +3 -4
  72. package/dist/cache/decorator.js +11 -21
  73. package/dist/cache/drivers.js +2 -3
  74. package/dist/cache/index.js +2 -3
  75. package/dist/cache/types.js +1 -1
  76. package/dist/cache-control/cache-control.js +21 -34
  77. package/dist/cache-control/types.js +1 -1
  78. package/dist/compress/compress.js +10 -10
  79. package/dist/compress/index.js +1 -2
  80. package/dist/compress/types.js +1 -1
  81. package/dist/cone/cone-generator.js +25 -63
  82. package/dist/database/_batch_update.js +26 -46
  83. package/dist/database/base-model.js +44 -97
  84. package/dist/database/base-model.types.js +1 -1
  85. package/dist/database/db.d.ts +8 -14
  86. package/dist/database/db.d.ts.map +1 -1
  87. package/dist/database/db.js +127 -72
  88. package/dist/database/knex.js +5 -8
  89. package/dist/database/puri-subset.types.js +1 -1
  90. package/dist/database/puri-wrapper.js +11 -15
  91. package/dist/database/puri.js +117 -234
  92. package/dist/database/puri.types.js +3 -4
  93. package/dist/database/transaction-context.js +4 -5
  94. package/dist/database/upsert-builder.js +109 -176
  95. package/dist/dict/en.d.ts +1 -0
  96. package/dist/dict/en.d.ts.map +1 -1
  97. package/dist/dict/en.js +4 -4
  98. package/dist/dict/index.js +2 -3
  99. package/dist/dict/ko.d.ts +1 -0
  100. package/dist/dict/ko.d.ts.map +1 -1
  101. package/dist/dict/ko.js +4 -4
  102. package/dist/dict/rc-keys.js +3 -4
  103. package/dist/dict/sd.js +8 -19
  104. package/dist/dict/sonamu-dictionary.js +141 -284
  105. package/dist/dict/types.js +1 -1
  106. package/dist/dict/utils.js +4 -5
  107. package/dist/entity/entity-manager.d.ts +2 -2
  108. package/dist/entity/entity-manager.js +34 -82
  109. package/dist/entity/entity-template-cone.js +33 -66
  110. package/dist/entity/entity.js +156 -310
  111. package/dist/env.d.ts +14 -0
  112. package/dist/env.d.ts.map +1 -0
  113. package/dist/env.js +75 -0
  114. package/dist/exceptions/error-handler.js +2 -3
  115. package/dist/exceptions/so-exceptions.js +7 -5
  116. package/dist/filter/index.js +1 -2
  117. package/dist/filter/types.js +3 -4
  118. package/dist/filter/utils.js +21 -54
  119. package/dist/index.js +8 -7
  120. package/dist/logger/category.js +6 -12
  121. package/dist/logger/configure.js +23 -34
  122. package/dist/migration/code-generation.js +146 -314
  123. package/dist/migration/index-where-predicate.js +52 -144
  124. package/dist/migration/migration-set.js +19 -33
  125. package/dist/migration/migrator.d.ts +2 -0
  126. package/dist/migration/migrator.d.ts.map +1 -1
  127. package/dist/migration/migrator.js +69 -53
  128. package/dist/migration/postgresql-schema-reader.js +126 -225
  129. package/dist/migration/slack-confirm.d.ts +1 -0
  130. package/dist/migration/slack-confirm.d.ts.map +1 -1
  131. package/dist/migration/slack-confirm.js +28 -38
  132. package/dist/migration/types.js +1 -1
  133. package/dist/naite/messaging-types.js +1 -1
  134. package/dist/naite/naite-reporter.js +15 -32
  135. package/dist/naite/naite.js +43 -76
  136. package/dist/ssr/index.js +6 -9
  137. package/dist/ssr/registry.js +10 -18
  138. package/dist/ssr/renderer.js +10 -21
  139. package/dist/ssr/types.js +1 -1
  140. package/dist/storage/base-file.js +5 -10
  141. package/dist/storage/buffered-file.js +3 -4
  142. package/dist/storage/drivers.js +2 -3
  143. package/dist/storage/index.js +2 -3
  144. package/dist/storage/s3-driver.js +5 -9
  145. package/dist/storage/storage-manager.js +5 -5
  146. package/dist/storage/types.js +1 -1
  147. package/dist/storage/uploaded-file.js +4 -6
  148. package/dist/stream/index.js +1 -2
  149. package/dist/stream/sse.js +8 -13
  150. package/dist/stream/ws-audience-resolver.js +5 -5
  151. package/dist/stream/ws-audience.js +3 -4
  152. package/dist/stream/ws-cluster-bus.js +3 -4
  153. package/dist/stream/ws-core.js +1 -1
  154. package/dist/stream/ws-delivery.js +11 -25
  155. package/dist/stream/ws-local-connection-store.js +9 -18
  156. package/dist/stream/ws-presence-store.js +43 -97
  157. package/dist/stream/ws-registry.js +17 -22
  158. package/dist/stream/ws-telemetry-memory.js +38 -45
  159. package/dist/stream/ws-telemetry-trace.js +4 -6
  160. package/dist/stream/ws-telemetry.js +82 -135
  161. package/dist/stream/ws.js +47 -91
  162. package/dist/syncer/api-parser.js +81 -147
  163. package/dist/syncer/checksum.js +9 -20
  164. package/dist/syncer/code-generator.js +29 -47
  165. package/dist/syncer/entity-operations.js +17 -27
  166. package/dist/syncer/event-batcher.js +8 -15
  167. package/dist/syncer/file-patterns.js +3 -4
  168. package/dist/syncer/file-tracking.js +6 -10
  169. package/dist/syncer/index.js +1 -2
  170. package/dist/syncer/module-loader.js +10 -26
  171. package/dist/syncer/syncer-actions.js +19 -37
  172. package/dist/syncer/syncer.js +46 -98
  173. package/dist/syncer/watcher.js +12 -26
  174. package/dist/tasks/decorator.js +7 -11
  175. package/dist/tasks/step-wrapper.js +7 -8
  176. package/dist/tasks/workflow-manager.js +18 -25
  177. package/dist/template/entity-converter.js +40 -64
  178. package/dist/template/helpers.js +32 -63
  179. package/dist/template/implementations/entity.template.js +7 -11
  180. package/dist/template/implementations/entry-server.template.js +2 -3
  181. package/dist/template/implementations/generated.template.js +25 -51
  182. package/dist/template/implementations/generated_http.template.js +31 -58
  183. package/dist/template/implementations/generated_sso.template.js +45 -85
  184. package/dist/template/implementations/init_types.template.js +4 -7
  185. package/dist/template/implementations/model.template.js +5 -10
  186. package/dist/template/implementations/model_test.template.js +2 -3
  187. package/dist/template/implementations/queries.template.js +4 -7
  188. package/dist/template/implementations/sd.template.js +17 -35
  189. package/dist/template/implementations/services.template.js +18 -30
  190. package/dist/template/implementations/view_form.template.js +72 -125
  191. package/dist/template/implementations/view_id_all_select.template.js +2 -3
  192. package/dist/template/implementations/view_list.template.js +86 -143
  193. package/dist/template/implementations/view_search_input.template.js +2 -3
  194. package/dist/template/index.js +5 -8
  195. package/dist/template/template-manager.js +13 -26
  196. package/dist/template/template-types.js +2 -3
  197. package/dist/template/template.js +7 -11
  198. package/dist/template/zod-converter.js +173 -348
  199. package/dist/testing/_relation-graph.js +18 -37
  200. package/dist/testing/bootstrap.js +5 -8
  201. package/dist/testing/data-explorer.js +34 -78
  202. package/dist/testing/dev-test-routes.js +54 -60
  203. package/dist/testing/dev-vitest-manager.js +33 -84
  204. package/dist/testing/faker-mappings.js +3 -4
  205. package/dist/testing/fixture-generator.d.ts +2 -1
  206. package/dist/testing/fixture-generator.d.ts.map +1 -1
  207. package/dist/testing/fixture-generator.js +159 -321
  208. package/dist/testing/fixture-loader.js +2 -2
  209. package/dist/testing/fixture-manager.d.ts.map +1 -1
  210. package/dist/testing/fixture-manager.js +124 -227
  211. package/dist/testing/global-setup.d.ts.map +1 -1
  212. package/dist/testing/global-setup.js +29 -17
  213. package/dist/testing/index.js +1 -2
  214. package/dist/testing/naite-vitest-reporter.js +2 -3
  215. package/dist/testing/parallel-db-manager.js +5 -3
  216. package/dist/testing/vitest-helpers.d.ts.map +1 -1
  217. package/dist/testing/vitest-helpers.js +15 -12
  218. package/dist/types/types.d.ts +14 -14
  219. package/dist/types/types.js +27 -50
  220. package/dist/ui/ai-api.js +6 -11
  221. package/dist/ui/ai-client.js +86 -134
  222. package/dist/ui/api.js +99 -195
  223. package/dist/ui/cdd-service.js +78 -130
  224. package/dist/ui/cdd-types.js +1 -1
  225. package/dist/ui-web/assets/{index-Df8q-fhb.js → index-DFStGyd0.js} +49 -49
  226. package/dist/ui-web/assets/index-Dx4ap5i4.css +1 -0
  227. package/dist/ui-web/index.html +2 -2
  228. package/dist/utils/async-utils.js +13 -25
  229. package/dist/utils/class-name.js +3 -4
  230. package/dist/utils/console-util.js +11 -26
  231. package/dist/utils/controller.d.ts.map +1 -1
  232. package/dist/utils/controller.js +14 -12
  233. package/dist/utils/esm-utils.js +5 -8
  234. package/dist/utils/formatter.js +10 -22
  235. package/dist/utils/fs-utils.js +14 -25
  236. package/dist/utils/lodash-able.js +3 -4
  237. package/dist/utils/model.js +7 -14
  238. package/dist/utils/object-utils.js +41 -73
  239. package/dist/utils/path-utils.js +5 -9
  240. package/dist/utils/process-utils.js +4 -7
  241. package/dist/utils/sql-parser.js +6 -13
  242. package/dist/utils/type-utils.js +16 -26
  243. package/dist/utils/utils.js +18 -40
  244. package/dist/utils/zod-error.js +9 -16
  245. package/dist/vector/chunking.js +24 -37
  246. package/dist/vector/config.js +2 -2
  247. package/dist/vector/embedding.js +8 -19
  248. package/dist/vector/index.js +1 -2
  249. package/dist/vector/types.js +1 -1
  250. package/package.json +7 -7
  251. package/src/__tests__/env.test.ts +127 -0
  252. package/src/api/__tests__/config.test.ts +10 -1
  253. package/src/api/config.ts +4 -12
  254. package/src/api/sonamu.ts +14 -4
  255. package/src/bin/__tests__/migrate-targets.test.ts +28 -0
  256. package/src/bin/__tests__/test-command.test.ts +82 -1
  257. package/src/bin/cli.ts +9 -18
  258. package/src/bin/fixture.ts +5 -4
  259. package/src/bin/migrate-targets.ts +7 -0
  260. package/src/bin/test-command.ts +2 -2
  261. package/src/database/__tests__/db.test.ts +175 -0
  262. package/src/database/db.ts +193 -71
  263. package/src/dict/en.ts +2 -0
  264. package/src/dict/ko.ts +2 -0
  265. package/src/env.ts +123 -0
  266. package/src/migration/__tests__/migrator.test.ts +149 -0
  267. package/src/migration/migrator.ts +74 -17
  268. package/src/migration/slack-confirm.ts +21 -0
  269. package/src/skills/sonamu/database.md +1 -1
  270. package/src/skills/sonamu/entity-basic.md +31 -0
  271. package/src/skills/sonamu/puri.md +22 -0
  272. package/src/skills/sonamu/testing-devrunner.md +1 -1
  273. package/src/skills/sonamu/upsert.md +53 -6
  274. package/src/stream/ws-telemetry-memory.ts +2 -2
  275. package/src/testing/fixture-generator.ts +2 -1
  276. package/src/testing/fixture-manager.ts +3 -4
  277. package/src/testing/global-setup.ts +42 -18
  278. package/src/testing/vitest-helpers.ts +14 -0
  279. package/src/utils/controller.ts +14 -7
  280. package/tsdown.api.config.ts +6 -0
  281. package/dist/_virtual/rolldown_runtime.js +0 -39
  282. package/dist/ui-web/assets/index-D4rYm-Xz.css +0 -1
@@ -1,7 +1,6 @@
1
- import { __esmMin } from "../_virtual/rolldown_runtime.js";
1
+ import { __esmMin } from "../_virtual/_rolldown/runtime.js";
2
2
  import { BaseFile, init_base_file } from "./base-file.js";
3
3
  import { createHash } from "crypto";
4
-
5
4
  //#region src/storage/buffered-file.ts
6
5
  var BufferedFile;
7
6
  var init_buffered_file = __esmMin((() => {
@@ -46,8 +45,8 @@ var init_buffered_file = __esmMin((() => {
46
45
  }
47
46
  };
48
47
  }));
49
-
50
48
  //#endregion
51
49
  init_buffered_file();
52
50
  export { BufferedFile, init_buffered_file };
53
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVmZmVyZWQtZmlsZS5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi9zcmMvc3RvcmFnZS9idWZmZXJlZC1maWxlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZUhhc2ggfSBmcm9tIFwiY3J5cHRvXCI7XG5cbmltcG9ydCB7IHR5cGUgTXVsdGlwYXJ0RmlsZSB9IGZyb20gXCJAZmFzdGlmeS9tdWx0aXBhcnRcIjtcblxuaW1wb3J0IHsgQmFzZUZpbGUgfSBmcm9tIFwiLi9iYXNlLWZpbGVcIjtcbmltcG9ydCB7IHR5cGUgRHJpdmVyS2V5IH0gZnJvbSBcIi4vZHJpdmVyc1wiO1xuXG4vKipcbiAqIEJ1ZmZlciDrqqjrk5zroZwg7JeF66Gc65Oc65CcIO2MjOydvFxuICog66mU66qo66as7JeQIOuhnOuTnOuQnCDsg4Htg5zroZwsIG1kNSDqs4TsgrDsnbTrgpgg7J2066+47KeAIOyymOumrCDrk7Eg7Jyg7Jew7ZWcIOyekeyXheydtCDqsIDriqXtlanri4jri6QuXG4gKi9cbmV4cG9ydCBjbGFzcyBCdWZmZXJlZEZpbGUgZXh0ZW5kcyBCYXNlRmlsZSB7XG4gIHByaXZhdGUgX2ZpbGU6IE11bHRpcGFydEZpbGU7XG4gIHByaXZhdGUgX2J1ZmZlcjogQnVmZmVyO1xuXG4gIGNvbnN0cnVjdG9yKGZpbGU6IE11bHRpcGFydEZpbGUsIGJ1ZmZlcjogQnVmZmVyKSB7XG4gICAgc3VwZXIoe1xuICAgICAgZmlsZW5hbWU6IGZpbGUuZmlsZW5hbWUsXG4gICAgICBtaW1ldHlwZTogZmlsZS5taW1ldHlwZSxcbiAgICAgIHNpemU6IGJ1ZmZlci5sZW5ndGgsXG4gICAgfSk7XG4gICAgdGhpcy5fZmlsZSA9IGZpbGU7XG4gICAgdGhpcy5fYnVmZmVyID0gYnVmZmVyO1xuICB9XG5cbiAgLyoqIO2MjOydvCBCdWZmZXIgKi9cbiAgZ2V0IGJ1ZmZlcigpOiBCdWZmZXIge1xuICAgIHJldHVybiB0aGlzLl9idWZmZXI7XG4gIH1cblxuICAvKiogTUQ1IO2VtOyLnCDqs4TsgrAgKi9cbiAgYXN5bmMgbWQ1KCk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgcmV0dXJuIGNyZWF0ZUhhc2goXCJtZDVcIikudXBkYXRlKHRoaXMuX2J1ZmZlcikuZGlnZXN0KFwiaGV4XCIpO1xuICB9XG5cbiAgLyoqXG4gICAqIO2MjOydvOydhCDrlJTsiqTtgazsl5Ag7KCA7J6lXG4gICAqIEBwYXJhbSBkaXNrTmFtZSDrlJTsiqTtgawg7J2066aEIChcImZzXCIg65iQ64qUIFwiczNcIilcbiAgICogQHBhcmFtIGtleSDsoIDsnqUg6rK966GcICjsmIg6ICd1cGxvYWRzL2F2YXRhci5wbmcnKVxuICAgKiBAcmV0dXJucyDsoIDsnqXrkJwg7YyM7J287J2YIFVSTFxuICAgKi9cbiAgYXN5bmMgc2F2ZVRvRGlzayhkaXNrTmFtZTogRHJpdmVyS2V5LCBrZXk6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgLy8g7Iic7ZmYIOydmOyhtOyEsSDrsKnsp4Drpbwg7JyE7ZW0IOuPmeyggSBpbXBvcnRcbiAgICBjb25zdCB7IFNvbmFtdSB9ID0gYXdhaXQgaW1wb3J0KFwiLi4vYXBpL3NvbmFtdVwiKTtcbiAgICBjb25zdCBkaXNrID0gU29uYW11LnN0b3JhZ2UudXNlKGRpc2tOYW1lKTtcblxuICAgIGF3YWl0IGRpc2sucHV0KGtleSwgbmV3IFVpbnQ4QXJyYXkodGhpcy5fYnVmZmVyKSwge1xuICAgICAgY29udGVudFR5cGU6IHRoaXMubWltZXR5cGUsXG4gICAgfSk7XG5cbiAgICB0aGlzLl91cmwgPSBhd2FpdCBkaXNrLmdldFVybChrZXkpO1xuICAgIHRoaXMuX3NpZ25lZFVybCA9IGF3YWl0IGRpc2suZ2V0U2lnbmVkVXJsKGtleSk7XG5cbiAgICAvLyBzaWduZWQgdXJs7J2AIOunjOujjCDsi5zqsITsnbQg7J6I6riwIOuVjOusuOyXkCwgdW5zaWduZWQgdXJs7J2EIOuwmO2ZmO2VqeuLiOuLpC5cbiAgICByZXR1cm4gdGhpcy5fdXJsO1xuICB9XG5cbiAgLyoqIOybkOuzuCBNdWx0aXBhcnRGaWxlIOygkeq3vCAqL1xuICBnZXQgcmF3KCk6IE11bHRpcGFydEZpbGUge1xuICAgIHJldHVybiB0aGlzLl9maWxlO1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7aUJBSXVDO0NBTzFCLGVBQWIsY0FBa0MsU0FBUztFQUN6QyxBQUFRO0VBQ1IsQUFBUTtFQUVSLFlBQVksTUFBcUIsUUFBZ0I7QUFDL0MsU0FBTTtJQUNKLFVBQVUsS0FBSztJQUNmLFVBQVUsS0FBSztJQUNmLE1BQU0sT0FBTztJQUNkLENBQUM7QUFDRixRQUFLLFFBQVE7QUFDYixRQUFLLFVBQVU7OztFQUlqQixJQUFJLFNBQWlCO0FBQ25CLFVBQU8sS0FBSzs7O0VBSWQsTUFBTSxNQUF1QjtBQUMzQixVQUFPLFdBQVcsTUFBTSxDQUFDLE9BQU8sS0FBSyxRQUFRLENBQUMsT0FBTyxNQUFNOzs7Ozs7OztFQVM3RCxNQUFNLFdBQVcsVUFBcUIsS0FBOEI7R0FFbEUsTUFBTSxFQUFFLFdBQVcsTUFBTSxPQUFPO0dBQ2hDLE1BQU0sT0FBTyxPQUFPLFFBQVEsSUFBSSxTQUFTO0FBRXpDLFNBQU0sS0FBSyxJQUFJLEtBQUssSUFBSSxXQUFXLEtBQUssUUFBUSxFQUFFLEVBQ2hELGFBQWEsS0FBSyxVQUNuQixDQUFDO0FBRUYsUUFBSyxPQUFPLE1BQU0sS0FBSyxPQUFPLElBQUk7QUFDbEMsUUFBSyxhQUFhLE1BQU0sS0FBSyxhQUFhLElBQUk7QUFHOUMsVUFBTyxLQUFLOzs7RUFJZCxJQUFJLE1BQXFCO0FBQ3ZCLFVBQU8sS0FBSyJ9
51
+
52
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVmZmVyZWQtZmlsZS5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi9zcmMvc3RvcmFnZS9idWZmZXJlZC1maWxlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZUhhc2ggfSBmcm9tIFwiY3J5cHRvXCI7XG5cbmltcG9ydCB7IHR5cGUgTXVsdGlwYXJ0RmlsZSB9IGZyb20gXCJAZmFzdGlmeS9tdWx0aXBhcnRcIjtcblxuaW1wb3J0IHsgQmFzZUZpbGUgfSBmcm9tIFwiLi9iYXNlLWZpbGVcIjtcbmltcG9ydCB7IHR5cGUgRHJpdmVyS2V5IH0gZnJvbSBcIi4vZHJpdmVyc1wiO1xuXG4vKipcbiAqIEJ1ZmZlciDrqqjrk5zroZwg7JeF66Gc65Oc65CcIO2MjOydvFxuICog66mU66qo66as7JeQIOuhnOuTnOuQnCDsg4Htg5zroZwsIG1kNSDqs4TsgrDsnbTrgpgg7J2066+47KeAIOyymOumrCDrk7Eg7Jyg7Jew7ZWcIOyekeyXheydtCDqsIDriqXtlanri4jri6QuXG4gKi9cbmV4cG9ydCBjbGFzcyBCdWZmZXJlZEZpbGUgZXh0ZW5kcyBCYXNlRmlsZSB7XG4gIHByaXZhdGUgX2ZpbGU6IE11bHRpcGFydEZpbGU7XG4gIHByaXZhdGUgX2J1ZmZlcjogQnVmZmVyO1xuXG4gIGNvbnN0cnVjdG9yKGZpbGU6IE11bHRpcGFydEZpbGUsIGJ1ZmZlcjogQnVmZmVyKSB7XG4gICAgc3VwZXIoe1xuICAgICAgZmlsZW5hbWU6IGZpbGUuZmlsZW5hbWUsXG4gICAgICBtaW1ldHlwZTogZmlsZS5taW1ldHlwZSxcbiAgICAgIHNpemU6IGJ1ZmZlci5sZW5ndGgsXG4gICAgfSk7XG4gICAgdGhpcy5fZmlsZSA9IGZpbGU7XG4gICAgdGhpcy5fYnVmZmVyID0gYnVmZmVyO1xuICB9XG5cbiAgLyoqIO2MjOydvCBCdWZmZXIgKi9cbiAgZ2V0IGJ1ZmZlcigpOiBCdWZmZXIge1xuICAgIHJldHVybiB0aGlzLl9idWZmZXI7XG4gIH1cblxuICAvKiogTUQ1IO2VtOyLnCDqs4TsgrAgKi9cbiAgYXN5bmMgbWQ1KCk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgcmV0dXJuIGNyZWF0ZUhhc2goXCJtZDVcIikudXBkYXRlKHRoaXMuX2J1ZmZlcikuZGlnZXN0KFwiaGV4XCIpO1xuICB9XG5cbiAgLyoqXG4gICAqIO2MjOydvOydhCDrlJTsiqTtgazsl5Ag7KCA7J6lXG4gICAqIEBwYXJhbSBkaXNrTmFtZSDrlJTsiqTtgawg7J2066aEIChcImZzXCIg65iQ64qUIFwiczNcIilcbiAgICogQHBhcmFtIGtleSDsoIDsnqUg6rK966GcICjsmIg6ICd1cGxvYWRzL2F2YXRhci5wbmcnKVxuICAgKiBAcmV0dXJucyDsoIDsnqXrkJwg7YyM7J287J2YIFVSTFxuICAgKi9cbiAgYXN5bmMgc2F2ZVRvRGlzayhkaXNrTmFtZTogRHJpdmVyS2V5LCBrZXk6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgLy8g7Iic7ZmYIOydmOyhtOyEsSDrsKnsp4Drpbwg7JyE7ZW0IOuPmeyggSBpbXBvcnRcbiAgICBjb25zdCB7IFNvbmFtdSB9ID0gYXdhaXQgaW1wb3J0KFwiLi4vYXBpL3NvbmFtdVwiKTtcbiAgICBjb25zdCBkaXNrID0gU29uYW11LnN0b3JhZ2UudXNlKGRpc2tOYW1lKTtcblxuICAgIGF3YWl0IGRpc2sucHV0KGtleSwgbmV3IFVpbnQ4QXJyYXkodGhpcy5fYnVmZmVyKSwge1xuICAgICAgY29udGVudFR5cGU6IHRoaXMubWltZXR5cGUsXG4gICAgfSk7XG5cbiAgICB0aGlzLl91cmwgPSBhd2FpdCBkaXNrLmdldFVybChrZXkpO1xuICAgIHRoaXMuX3NpZ25lZFVybCA9IGF3YWl0IGRpc2suZ2V0U2lnbmVkVXJsKGtleSk7XG5cbiAgICAvLyBzaWduZWQgdXJs7J2AIOunjOujjCDsi5zqsITsnbQg7J6I6riwIOuVjOusuOyXkCwgdW5zaWduZWQgdXJs7J2EIOuwmO2ZmO2VqeuLiOuLpC5cbiAgICByZXR1cm4gdGhpcy5fdXJsO1xuICB9XG5cbiAgLyoqIOybkOuzuCBNdWx0aXBhcnRGaWxlIOygkeq3vCAqL1xuICBnZXQgcmF3KCk6IE11bHRpcGFydEZpbGUge1xuICAgIHJldHVybiB0aGlzLl9maWxlO1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztnQkFJc0M7Q0FPekIsZUFBYixjQUFrQyxTQUFTO0VBQ3pDO0VBQ0E7RUFFQSxZQUFZLE1BQXFCLFFBQWdCO0dBQy9DLE1BQU07SUFDSixVQUFVLEtBQUs7SUFDZixVQUFVLEtBQUs7SUFDZixNQUFNLE9BQU87R0FDZixDQUFDO0dBQ0QsS0FBSyxRQUFRO0dBQ2IsS0FBSyxVQUFVO0VBQ2pCOztFQUdBLElBQUksU0FBaUI7R0FDbkIsT0FBTyxLQUFLO0VBQ2Q7O0VBR0EsTUFBTSxNQUF1QjtHQUMzQixPQUFPLFdBQVcsS0FBSyxDQUFDLENBQUMsT0FBTyxLQUFLLE9BQU8sQ0FBQyxDQUFDLE9BQU8sS0FBSztFQUM1RDs7Ozs7OztFQVFBLE1BQU0sV0FBVyxVQUFxQixLQUE4QjtHQUVsRSxNQUFNLEVBQUUsV0FBVyxNQUFNLE9BQU87R0FDaEMsTUFBTSxPQUFPLE9BQU8sUUFBUSxJQUFJLFFBQVE7R0FFeEMsTUFBTSxLQUFLLElBQUksS0FBSyxJQUFJLFdBQVcsS0FBSyxPQUFPLEdBQUcsRUFDaEQsYUFBYSxLQUFLLFNBQ3BCLENBQUM7R0FFRCxLQUFLLE9BQU8sTUFBTSxLQUFLLE9BQU8sR0FBRztHQUNqQyxLQUFLLGFBQWEsTUFBTSxLQUFLLGFBQWEsR0FBRztHQUc3QyxPQUFPLEtBQUs7RUFDZDs7RUFHQSxJQUFJLE1BQXFCO0dBQ3ZCLE9BQU8sS0FBSztFQUNkO0NBQ0YifQ==
@@ -1,6 +1,5 @@
1
1
  import { SonamuS3Driver } from "./s3-driver.js";
2
2
  import { FSDriver } from "flydrive/drivers/fs";
3
-
4
3
  //#region src/storage/drivers.ts
5
4
  /**
6
5
  * 드라이버 팩토리 함수
@@ -10,7 +9,7 @@ const drivers = {
10
9
  fs: (config) => () => new FSDriver(config),
11
10
  s3: (config) => () => new SonamuS3Driver(config)
12
11
  };
13
-
14
12
  //#endregion
15
13
  export { drivers };
16
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJpdmVycy5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi9zcmMvc3RvcmFnZS9kcml2ZXJzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZTRHJpdmVyIH0gZnJvbSBcImZseWRyaXZlL2RyaXZlcnMvZnNcIjtcbmltcG9ydCB7IHR5cGUgRlNEcml2ZXJPcHRpb25zIH0gZnJvbSBcImZseWRyaXZlL2RyaXZlcnMvZnMvdHlwZXNcIjtcbmltcG9ydCB7IHR5cGUgUzNEcml2ZXJPcHRpb25zIH0gZnJvbSBcImZseWRyaXZlL2RyaXZlcnMvczMvdHlwZXNcIjtcblxuaW1wb3J0IHsgU29uYW11UzNEcml2ZXIgfSBmcm9tIFwiLi9zMy1kcml2ZXJcIjtcblxuLyoqXG4gKiDrk5zrnbzsnbTrsoQg7Yyp7Yag66asIO2VqOyImFxuICog7ISk7KCVIOKGkiDrk5zrnbzsnbTrsoQg7J247Iqk7YS07IqkIOyDneyEsSDtlajsiJgg67OA7ZmYXG4gKi9cbmV4cG9ydCBjb25zdCBkcml2ZXJzID0ge1xuICBmczogKGNvbmZpZzogRlNEcml2ZXJPcHRpb25zKSA9PiAoKSA9PiBuZXcgRlNEcml2ZXIoY29uZmlnKSxcbiAgczM6IChjb25maWc6IFMzRHJpdmVyT3B0aW9ucykgPT4gKCkgPT4gbmV3IFNvbmFtdVMzRHJpdmVyKGNvbmZpZyksXG59O1xuXG5leHBvcnQgdHlwZSBEcml2ZXJLZXkgPSBrZXlvZiB0eXBlb2YgZHJpdmVycztcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFVQSxNQUFhLFVBQVU7Q0FDckIsS0FBSyxpQkFBa0MsSUFBSSxTQUFTLE9BQU87Q0FDM0QsS0FBSyxpQkFBa0MsSUFBSSxlQUFlLE9BQU87Q0FDbEUifQ==
14
+
15
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJpdmVycy5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi9zcmMvc3RvcmFnZS9kcml2ZXJzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZTRHJpdmVyIH0gZnJvbSBcImZseWRyaXZlL2RyaXZlcnMvZnNcIjtcbmltcG9ydCB7IHR5cGUgRlNEcml2ZXJPcHRpb25zIH0gZnJvbSBcImZseWRyaXZlL2RyaXZlcnMvZnMvdHlwZXNcIjtcbmltcG9ydCB7IHR5cGUgUzNEcml2ZXJPcHRpb25zIH0gZnJvbSBcImZseWRyaXZlL2RyaXZlcnMvczMvdHlwZXNcIjtcblxuaW1wb3J0IHsgU29uYW11UzNEcml2ZXIgfSBmcm9tIFwiLi9zMy1kcml2ZXJcIjtcblxuLyoqXG4gKiDrk5zrnbzsnbTrsoQg7Yyp7Yag66asIO2VqOyImFxuICog7ISk7KCVIOKGkiDrk5zrnbzsnbTrsoQg7J247Iqk7YS07IqkIOyDneyEsSDtlajsiJgg67OA7ZmYXG4gKi9cbmV4cG9ydCBjb25zdCBkcml2ZXJzID0ge1xuICBmczogKGNvbmZpZzogRlNEcml2ZXJPcHRpb25zKSA9PiAoKSA9PiBuZXcgRlNEcml2ZXIoY29uZmlnKSxcbiAgczM6IChjb25maWc6IFMzRHJpdmVyT3B0aW9ucykgPT4gKCkgPT4gbmV3IFNvbmFtdVMzRHJpdmVyKGNvbmZpZyksXG59O1xuXG5leHBvcnQgdHlwZSBEcml2ZXJLZXkgPSBrZXlvZiB0eXBlb2YgZHJpdmVycztcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQVVBLE1BQWEsVUFBVTtDQUNyQixLQUFLLGlCQUFrQyxJQUFJLFNBQVMsTUFBTTtDQUMxRCxLQUFLLGlCQUFrQyxJQUFJLGVBQWUsTUFBTTtBQUNsRSJ9
@@ -3,13 +3,12 @@ import { BufferedFile, init_buffered_file } from "./buffered-file.js";
3
3
  import { UploadedFile, init_uploaded_file } from "./uploaded-file.js";
4
4
  import { drivers } from "./drivers.js";
5
5
  import { StorageManager, init_storage_manager } from "./storage-manager.js";
6
-
7
6
  //#region src/storage/index.ts
8
7
  init_base_file();
9
8
  init_buffered_file();
10
9
  init_storage_manager();
11
10
  init_uploaded_file();
12
-
13
11
  //#endregion
14
12
  export { BaseFile, BufferedFile, StorageManager, UploadedFile as StreamedFile, drivers };
15
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3N0b3JhZ2UvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU3RvcmFnZSDshJzruIzrqqjrk4ggZXhwb3J0c1xuZXhwb3J0IHsgQmFzZUZpbGUgfSBmcm9tIFwiLi9iYXNlLWZpbGVcIjtcbmV4cG9ydCB7IEJ1ZmZlcmVkRmlsZSB9IGZyb20gXCIuL2J1ZmZlcmVkLWZpbGVcIjtcbmV4cG9ydCB7IHR5cGUgRHJpdmVyS2V5LCBkcml2ZXJzIH0gZnJvbSBcIi4vZHJpdmVyc1wiO1xuZXhwb3J0IHsgU3RvcmFnZU1hbmFnZXIgfSBmcm9tIFwiLi9zdG9yYWdlLW1hbmFnZXJcIjtcbmV4cG9ydCB0eXBlIHsgS2V5R2VuZXJhdG9yLCBTdG9yYWdlQ29uZmlnIH0gZnJvbSBcIi4vdHlwZXNcIjtcbmV4cG9ydCB7IFVwbG9hZGVkRmlsZSBhcyBTdHJlYW1lZEZpbGUgfSBmcm9tIFwiLi91cGxvYWRlZC1maWxlXCI7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Z0JBQ3VDO29CQUNRO3NCQUVJO29CQUVZIn0=
13
+
14
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3N0b3JhZ2UvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU3RvcmFnZSDshJzruIzrqqjrk4ggZXhwb3J0c1xuZXhwb3J0IHsgQmFzZUZpbGUgfSBmcm9tIFwiLi9iYXNlLWZpbGVcIjtcbmV4cG9ydCB7IEJ1ZmZlcmVkRmlsZSB9IGZyb20gXCIuL2J1ZmZlcmVkLWZpbGVcIjtcbmV4cG9ydCB7IHR5cGUgRHJpdmVyS2V5LCBkcml2ZXJzIH0gZnJvbSBcIi4vZHJpdmVyc1wiO1xuZXhwb3J0IHsgU3RvcmFnZU1hbmFnZXIgfSBmcm9tIFwiLi9zdG9yYWdlLW1hbmFnZXJcIjtcbmV4cG9ydCB0eXBlIHsgS2V5R2VuZXJhdG9yLCBTdG9yYWdlQ29uZmlnIH0gZnJvbSBcIi4vdHlwZXNcIjtcbmV4cG9ydCB7IFVwbG9hZGVkRmlsZSBhcyBTdHJlYW1lZEZpbGUgfSBmcm9tIFwiLi91cGxvYWRlZC1maWxlXCI7XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztlQUNzQzttQkFDUTtxQkFFSTttQkFFWSJ9
@@ -1,7 +1,6 @@
1
1
  import { S3Client } from "@aws-sdk/client-s3";
2
2
  import { Upload } from "@aws-sdk/lib-storage";
3
3
  import { S3Driver } from "flydrive/drivers/s3";
4
-
5
4
  //#region src/storage/s3-driver.ts
6
5
  /**
7
6
  * Sonamu용 S3 드라이버
@@ -41,17 +40,14 @@ var SonamuS3Driver = class extends S3Driver {
41
40
  CacheControl: options?.cacheControl,
42
41
  ContentDisposition: options?.contentDisposition
43
42
  };
44
- if (this.sonamuSupportsACL) {
45
- uploadParams.ACL = visibility === "public" ? "public-read" : "private";
46
- }
47
- const upload = new Upload({
43
+ if (this.sonamuSupportsACL) uploadParams.ACL = visibility === "public" ? "public-read" : "private";
44
+ await new Upload({
48
45
  client: this.sonamuClient,
49
46
  params: uploadParams
50
- });
51
- await upload.done();
47
+ }).done();
52
48
  }
53
49
  };
54
-
55
50
  //#endregion
56
51
  export { SonamuS3Driver };
57
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiczMtZHJpdmVyLmpzIiwibmFtZXMiOlsidXBsb2FkUGFyYW1zOiBPcHRpb25zW1wicGFyYW1zXCJdIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3N0b3JhZ2UvczMtZHJpdmVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHR5cGUgUmVhZGFibGUgfSBmcm9tIFwic3RyZWFtXCI7XG5cbmltcG9ydCB7IFMzQ2xpZW50IH0gZnJvbSBcIkBhd3Mtc2RrL2NsaWVudC1zM1wiO1xuaW1wb3J0IHsgdHlwZSBPYmplY3RDYW5uZWRBQ0wgfSBmcm9tIFwiQGF3cy1zZGsvY2xpZW50LXMzXCI7XG5pbXBvcnQgeyBVcGxvYWQgfSBmcm9tIFwiQGF3cy1zZGsvbGliLXN0b3JhZ2VcIjtcbmltcG9ydCB7IHR5cGUgT3B0aW9ucyB9IGZyb20gXCJAYXdzLXNkay9saWItc3RvcmFnZVwiO1xuaW1wb3J0IHsgUzNEcml2ZXIgfSBmcm9tIFwiZmx5ZHJpdmUvZHJpdmVycy9zM1wiO1xuaW1wb3J0IHsgdHlwZSBTM0RyaXZlck9wdGlvbnMgfSBmcm9tIFwiZmx5ZHJpdmUvZHJpdmVycy9zMy90eXBlc1wiO1xuXG4vKipcbiAqIFNvbmFtdeyaqSBTMyDrk5zrnbzsnbTrsoRcbiAqXG4gKiBmbHlkcml2ZeydmCBTM0RyaXZlcuulvCDtmZXsnqXtlZjsl6wgcHV0U3RyZWFt7JeQ7IScXG4gKiBAYXdzLXNkay9saWItc3RvcmFnZeydmCBVcGxvYWQg7YG0656Y7Iqk66W8IOyCrOyaqe2VqeuLiOuLpC5cbiAqIOydtOulvCDthrXtlbQg7Iqk7Yq466a8IO2BrOq4sOulvCDrqqjrpbTripQg7IOB7YOc7JeQ7ISc64+EIOyXheuhnOuTnOqwgCDqsIDriqXtlanri4jri6QuXG4gKlxuICog6riw7KG0IFMzRHJpdmVyLnB1dFN0cmVhbeydgCBQdXRPYmplY3RDb21tYW5k66W8IOyCrOyaqe2VmOyXrCBDb250ZW50LUxlbmd0aOqwgCDtlYTsmpTtlojsp4Drp4wsXG4gKiBVcGxvYWQg7YG0656Y7Iqk64qUIG11bHRpcGFydCB1cGxvYWTrpbwg7Ya17ZW0IOyKpO2KuOumvCDtgazquLAg7JeG7J2064+EIOyXheuhnOuTnO2VoCDsiJgg7J6I7Iq164uI64ukLlxuICovXG5leHBvcnQgY2xhc3MgU29uYW11UzNEcml2ZXIgZXh0ZW5kcyBTM0RyaXZlciB7XG4gIHByaXZhdGUgc29uYW11Q2xpZW50OiBTM0NsaWVudDtcbiAgcHJpdmF0ZSBzb25hbXVCdWNrZXQ6IHN0cmluZztcbiAgcHJpdmF0ZSBzb25hbXVWaXNpYmlsaXR5OiBcInB1YmxpY1wiIHwgXCJwcml2YXRlXCI7XG4gIHByaXZhdGUgc29uYW11U3VwcG9ydHNBQ0w6IGJvb2xlYW47XG5cbiAgY29uc3RydWN0b3Iob3B0aW9uczogUzNEcml2ZXJPcHRpb25zKSB7XG4gICAgc3VwZXIob3B0aW9ucyk7XG5cbiAgICAvLyBTM0NsaWVudCDsnbjsiqTthLTsiqQg7KCA7J6lIChVcGxvYWQg7YG0656Y7Iqk7JeQ7IScIOyCrOyaqSlcbiAgICB0aGlzLnNvbmFtdUNsaWVudCA9IFwiY2xpZW50XCIgaW4gb3B0aW9ucyA/IG9wdGlvbnMuY2xpZW50IDogbmV3IFMzQ2xpZW50KG9wdGlvbnMpO1xuICAgIHRoaXMuc29uYW11QnVja2V0ID0gb3B0aW9ucy5idWNrZXQ7XG4gICAgdGhpcy5zb25hbXVWaXNpYmlsaXR5ID0gb3B0aW9ucy52aXNpYmlsaXR5ID8/IFwicHJpdmF0ZVwiO1xuICAgIHRoaXMuc29uYW11U3VwcG9ydHNBQ0wgPSBvcHRpb25zLnN1cHBvcnRzQUNMID8/IGZhbHNlO1xuICB9XG5cbiAgLyoqXG4gICAqIOyKpO2KuOumvOydhCBTM+yXkCDsl4XroZzrk5ztlanri4jri6QuXG4gICAqXG4gICAqIEBhd3Mtc2RrL2xpYi1zdG9yYWdl7J2YIFVwbG9hZCDtgbTrnpjsiqTrpbwg7IKs7Jqp7ZWY7JesXG4gICAqIG11bHRpcGFydCB1cGxvYWTroZwg7LKY66as7ZWp64uI64ukLlxuICAgKi9cbiAgb3ZlcnJpZGUgYXN5bmMgcHV0U3RyZWFtKFxuICAgIGtleTogc3RyaW5nLFxuICAgIGNvbnRlbnRzOiBSZWFkYWJsZSxcbiAgICBvcHRpb25zPzoge1xuICAgICAgY29udGVudFR5cGU/OiBzdHJpbmc7XG4gICAgICB2aXNpYmlsaXR5PzogXCJwdWJsaWNcIiB8IFwicHJpdmF0ZVwiO1xuICAgICAgY2FjaGVDb250cm9sPzogc3RyaW5nO1xuICAgICAgY29udGVudERpc3Bvc2l0aW9uPzogc3RyaW5nO1xuICAgIH0sXG4gICk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHZpc2liaWxpdHkgPSBvcHRpb25zPy52aXNpYmlsaXR5ID8/IHRoaXMuc29uYW11VmlzaWJpbGl0eTtcblxuICAgIGNvbnN0IHVwbG9hZFBhcmFtczogT3B0aW9uc1tcInBhcmFtc1wiXSA9IHtcbiAgICAgIEJ1Y2tldDogdGhpcy5zb25hbXVCdWNrZXQsXG4gICAgICBLZXk6IGtleSxcbiAgICAgIEJvZHk6IGNvbnRlbnRzLFxuICAgICAgQ29udGVudFR5cGU6IG9wdGlvbnM/LmNvbnRlbnRUeXBlLFxuICAgICAgQ2FjaGVDb250cm9sOiBvcHRpb25zPy5jYWNoZUNvbnRyb2wsXG4gICAgICBDb250ZW50RGlzcG9zaXRpb246IG9wdGlvbnM/LmNvbnRlbnREaXNwb3NpdGlvbixcbiAgICB9O1xuXG4gICAgLy8gQUNMIOyngOybkCDsi5zsl5Drp4wg7ISk7KCVXG4gICAgaWYgKHRoaXMuc29uYW11U3VwcG9ydHNBQ0wpIHtcbiAgICAgIHVwbG9hZFBhcmFtcy5BQ0wgPSAodmlzaWJpbGl0eSA9PT0gXCJwdWJsaWNcIiA/IFwicHVibGljLXJlYWRcIiA6IFwicHJpdmF0ZVwiKSBhcyBPYmplY3RDYW5uZWRBQ0w7XG4gICAgfVxuXG4gICAgY29uc3QgdXBsb2FkID0gbmV3IFVwbG9hZCh7XG4gICAgICBjbGllbnQ6IHRoaXMuc29uYW11Q2xpZW50LFxuICAgICAgcGFyYW1zOiB1cGxvYWRQYXJhbXMsXG4gICAgfSk7XG5cbiAgICBhd2FpdCB1cGxvYWQuZG9uZSgpO1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQW1CQSxJQUFhLGlCQUFiLGNBQW9DLFNBQVM7Q0FDM0MsQUFBUTtDQUNSLEFBQVE7Q0FDUixBQUFRO0NBQ1IsQUFBUTtDQUVSLFlBQVksU0FBMEI7QUFDcEMsUUFBTSxRQUFRO0FBR2QsT0FBSyxlQUFlLFlBQVksVUFBVSxRQUFRLFNBQVMsSUFBSSxTQUFTLFFBQVE7QUFDaEYsT0FBSyxlQUFlLFFBQVE7QUFDNUIsT0FBSyxtQkFBbUIsUUFBUSxjQUFjO0FBQzlDLE9BQUssb0JBQW9CLFFBQVEsZUFBZTs7Ozs7Ozs7Q0FTbEQsTUFBZSxVQUNiLEtBQ0EsVUFDQSxTQU1lO0VBQ2YsTUFBTSxhQUFhLFNBQVMsY0FBYyxLQUFLO0VBRS9DLE1BQU1BLGVBQWtDO0dBQ3RDLFFBQVEsS0FBSztHQUNiLEtBQUs7R0FDTCxNQUFNO0dBQ04sYUFBYSxTQUFTO0dBQ3RCLGNBQWMsU0FBUztHQUN2QixvQkFBb0IsU0FBUztHQUM5QjtBQUdELE1BQUksS0FBSyxtQkFBbUI7QUFDMUIsZ0JBQWEsTUFBTyxlQUFlLFdBQVcsZ0JBQWdCOztFQUdoRSxNQUFNLFNBQVMsSUFBSSxPQUFPO0dBQ3hCLFFBQVEsS0FBSztHQUNiLFFBQVE7R0FDVCxDQUFDO0FBRUYsUUFBTSxPQUFPLE1BQU0ifQ==
52
+
53
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiczMtZHJpdmVyLmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdG9yYWdlL3MzLWRyaXZlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0eXBlIFJlYWRhYmxlIH0gZnJvbSBcInN0cmVhbVwiO1xuXG5pbXBvcnQgeyBTM0NsaWVudCB9IGZyb20gXCJAYXdzLXNkay9jbGllbnQtczNcIjtcbmltcG9ydCB7IHR5cGUgT2JqZWN0Q2FubmVkQUNMIH0gZnJvbSBcIkBhd3Mtc2RrL2NsaWVudC1zM1wiO1xuaW1wb3J0IHsgVXBsb2FkIH0gZnJvbSBcIkBhd3Mtc2RrL2xpYi1zdG9yYWdlXCI7XG5pbXBvcnQgeyB0eXBlIE9wdGlvbnMgfSBmcm9tIFwiQGF3cy1zZGsvbGliLXN0b3JhZ2VcIjtcbmltcG9ydCB7IFMzRHJpdmVyIH0gZnJvbSBcImZseWRyaXZlL2RyaXZlcnMvczNcIjtcbmltcG9ydCB7IHR5cGUgUzNEcml2ZXJPcHRpb25zIH0gZnJvbSBcImZseWRyaXZlL2RyaXZlcnMvczMvdHlwZXNcIjtcblxuLyoqXG4gKiBTb25hbXXsmqkgUzMg65Oc65287J2067KEXG4gKlxuICogZmx5ZHJpdmXsnZggUzNEcml2ZXLrpbwg7ZmV7J6l7ZWY7JesIHB1dFN0cmVhbeyXkOyEnFxuICogQGF3cy1zZGsvbGliLXN0b3JhZ2XsnZggVXBsb2FkIO2BtOuemOyKpOulvCDsgqzsmqntlanri4jri6QuXG4gKiDsnbTrpbwg7Ya17ZW0IOyKpO2KuOumvCDtgazquLDrpbwg66qo66W064qUIOyDge2DnOyXkOyEnOuPhCDsl4XroZzrk5zqsIAg6rCA64ql7ZWp64uI64ukLlxuICpcbiAqIOq4sOyhtCBTM0RyaXZlci5wdXRTdHJlYW3snYAgUHV0T2JqZWN0Q29tbWFuZOulvCDsgqzsmqntlZjsl6wgQ29udGVudC1MZW5ndGjqsIAg7ZWE7JqU7ZaI7KeA66eMLFxuICogVXBsb2FkIO2BtOuemOyKpOuKlCBtdWx0aXBhcnQgdXBsb2Fk66W8IO2Gte2VtCDsiqTtirjrprwg7YGs6riwIOyXhuydtOuPhCDsl4XroZzrk5ztlaAg7IiYIOyeiOyKteuLiOuLpC5cbiAqL1xuZXhwb3J0IGNsYXNzIFNvbmFtdVMzRHJpdmVyIGV4dGVuZHMgUzNEcml2ZXIge1xuICBwcml2YXRlIHNvbmFtdUNsaWVudDogUzNDbGllbnQ7XG4gIHByaXZhdGUgc29uYW11QnVja2V0OiBzdHJpbmc7XG4gIHByaXZhdGUgc29uYW11VmlzaWJpbGl0eTogXCJwdWJsaWNcIiB8IFwicHJpdmF0ZVwiO1xuICBwcml2YXRlIHNvbmFtdVN1cHBvcnRzQUNMOiBib29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IFMzRHJpdmVyT3B0aW9ucykge1xuICAgIHN1cGVyKG9wdGlvbnMpO1xuXG4gICAgLy8gUzNDbGllbnQg7J247Iqk7YS07IqkIOyggOyepSAoVXBsb2FkIO2BtOuemOyKpOyXkOyEnCDsgqzsmqkpXG4gICAgdGhpcy5zb25hbXVDbGllbnQgPSBcImNsaWVudFwiIGluIG9wdGlvbnMgPyBvcHRpb25zLmNsaWVudCA6IG5ldyBTM0NsaWVudChvcHRpb25zKTtcbiAgICB0aGlzLnNvbmFtdUJ1Y2tldCA9IG9wdGlvbnMuYnVja2V0O1xuICAgIHRoaXMuc29uYW11VmlzaWJpbGl0eSA9IG9wdGlvbnMudmlzaWJpbGl0eSA/PyBcInByaXZhdGVcIjtcbiAgICB0aGlzLnNvbmFtdVN1cHBvcnRzQUNMID0gb3B0aW9ucy5zdXBwb3J0c0FDTCA/PyBmYWxzZTtcbiAgfVxuXG4gIC8qKlxuICAgKiDsiqTtirjrprzsnYQgUzPsl5Ag7JeF66Gc65Oc7ZWp64uI64ukLlxuICAgKlxuICAgKiBAYXdzLXNkay9saWItc3RvcmFnZeydmCBVcGxvYWQg7YG0656Y7Iqk66W8IOyCrOyaqe2VmOyXrFxuICAgKiBtdWx0aXBhcnQgdXBsb2Fk66GcIOyymOumrO2VqeuLiOuLpC5cbiAgICovXG4gIG92ZXJyaWRlIGFzeW5jIHB1dFN0cmVhbShcbiAgICBrZXk6IHN0cmluZyxcbiAgICBjb250ZW50czogUmVhZGFibGUsXG4gICAgb3B0aW9ucz86IHtcbiAgICAgIGNvbnRlbnRUeXBlPzogc3RyaW5nO1xuICAgICAgdmlzaWJpbGl0eT86IFwicHVibGljXCIgfCBcInByaXZhdGVcIjtcbiAgICAgIGNhY2hlQ29udHJvbD86IHN0cmluZztcbiAgICAgIGNvbnRlbnREaXNwb3NpdGlvbj86IHN0cmluZztcbiAgICB9LFxuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCB2aXNpYmlsaXR5ID0gb3B0aW9ucz8udmlzaWJpbGl0eSA/PyB0aGlzLnNvbmFtdVZpc2liaWxpdHk7XG5cbiAgICBjb25zdCB1cGxvYWRQYXJhbXM6IE9wdGlvbnNbXCJwYXJhbXNcIl0gPSB7XG4gICAgICBCdWNrZXQ6IHRoaXMuc29uYW11QnVja2V0LFxuICAgICAgS2V5OiBrZXksXG4gICAgICBCb2R5OiBjb250ZW50cyxcbiAgICAgIENvbnRlbnRUeXBlOiBvcHRpb25zPy5jb250ZW50VHlwZSxcbiAgICAgIENhY2hlQ29udHJvbDogb3B0aW9ucz8uY2FjaGVDb250cm9sLFxuICAgICAgQ29udGVudERpc3Bvc2l0aW9uOiBvcHRpb25zPy5jb250ZW50RGlzcG9zaXRpb24sXG4gICAgfTtcblxuICAgIC8vIEFDTCDsp4Dsm5Ag7Iuc7JeQ66eMIOyEpOyglVxuICAgIGlmICh0aGlzLnNvbmFtdVN1cHBvcnRzQUNMKSB7XG4gICAgICB1cGxvYWRQYXJhbXMuQUNMID0gKHZpc2liaWxpdHkgPT09IFwicHVibGljXCIgPyBcInB1YmxpYy1yZWFkXCIgOiBcInByaXZhdGVcIikgYXMgT2JqZWN0Q2FubmVkQUNMO1xuICAgIH1cblxuICAgIGNvbnN0IHVwbG9hZCA9IG5ldyBVcGxvYWQoe1xuICAgICAgY2xpZW50OiB0aGlzLnNvbmFtdUNsaWVudCxcbiAgICAgIHBhcmFtczogdXBsb2FkUGFyYW1zLFxuICAgIH0pO1xuXG4gICAgYXdhaXQgdXBsb2FkLmRvbmUoKTtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7OztBQW1CQSxJQUFhLGlCQUFiLGNBQW9DLFNBQVM7Q0FDM0M7Q0FDQTtDQUNBO0NBQ0E7Q0FFQSxZQUFZLFNBQTBCO0VBQ3BDLE1BQU0sT0FBTztFQUdiLEtBQUssZUFBZSxZQUFZLFVBQVUsUUFBUSxTQUFTLElBQUksU0FBUyxPQUFPO0VBQy9FLEtBQUssZUFBZSxRQUFRO0VBQzVCLEtBQUssbUJBQW1CLFFBQVEsY0FBYztFQUM5QyxLQUFLLG9CQUFvQixRQUFRLGVBQWU7Q0FDbEQ7Ozs7Ozs7Q0FRQSxNQUFlLFVBQ2IsS0FDQSxVQUNBLFNBTWU7RUFDZixNQUFNLGFBQWEsU0FBUyxjQUFjLEtBQUs7RUFFL0MsTUFBTSxlQUFrQztHQUN0QyxRQUFRLEtBQUs7R0FDYixLQUFLO0dBQ0wsTUFBTTtHQUNOLGFBQWEsU0FBUztHQUN0QixjQUFjLFNBQVM7R0FDdkIsb0JBQW9CLFNBQVM7RUFDL0I7RUFHQSxJQUFJLEtBQUssbUJBQ1AsYUFBYSxNQUFPLGVBQWUsV0FBVyxnQkFBZ0I7RUFRaEUsTUFBTSxJQUxhLE9BQU87R0FDeEIsUUFBUSxLQUFLO0dBQ2IsUUFBUTtFQUNWLENBRU0sQ0FBQSxDQUFPLEtBQUs7Q0FDcEI7QUFDRiJ9
@@ -1,13 +1,13 @@
1
- import { __esmMin } from "../_virtual/rolldown_runtime.js";
1
+ import { __esmMin } from "../_virtual/_rolldown/runtime.js";
2
2
  import { assertDefined, init_utils } from "../utils/utils.js";
3
3
  import { Disk } from "flydrive";
4
-
5
4
  //#region src/storage/storage-manager.ts
6
5
  var StorageManager;
7
6
  var init_storage_manager = __esmMin((() => {
8
7
  init_utils();
9
8
  StorageManager = class {
10
- disks = new Map();
9
+ config;
10
+ disks = /* @__PURE__ */ new Map();
11
11
  constructor(config) {
12
12
  this.config = config;
13
13
  }
@@ -28,8 +28,8 @@ var init_storage_manager = __esmMin((() => {
28
28
  }
29
29
  };
30
30
  }));
31
-
32
31
  //#endregion
33
32
  init_storage_manager();
34
33
  export { StorageManager, init_storage_manager };
35
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmFnZS1tYW5hZ2VyLmpzIiwibmFtZXMiOlsiY29uZmlnOiBTdG9yYWdlQ29uZmlnIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3N0b3JhZ2Uvc3RvcmFnZS1tYW5hZ2VyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpc2sgfSBmcm9tIFwiZmx5ZHJpdmVcIjtcblxuaW1wb3J0IHsgYXNzZXJ0RGVmaW5lZCB9IGZyb20gXCIuLi91dGlscy91dGlsc1wiO1xuaW1wb3J0IHsgdHlwZSBEcml2ZXJLZXkgfSBmcm9tIFwiLi9kcml2ZXJzXCI7XG5pbXBvcnQgeyB0eXBlIFN0b3JhZ2VDb25maWcgfSBmcm9tIFwiLi90eXBlc1wiO1xuXG4vKipcbiAqIOyXrOufrCDrlJTsiqTtgazrpbwg6rSA66as7ZWY64qUIOunpOuLiOyggFxuICovXG5leHBvcnQgY2xhc3MgU3RvcmFnZU1hbmFnZXIge1xuICBwcml2YXRlIGRpc2tzOiBNYXA8RHJpdmVyS2V5LCBEaXNrPiA9IG5ldyBNYXAoKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNvbmZpZzogU3RvcmFnZUNvbmZpZykge31cblxuICAvKipcbiAgICog65SU7Iqk7YGsIOyduOyKpO2EtOyKpCDrsJjtmZggKGxhenkgaW5pdGlhbGl6YXRpb24pXG4gICAqIEBwYXJhbSBkaXNrTmFtZSDrlJTsiqTtgawg7J2066aEICjsl4bsnLzrqbQgZGVmYXVsdClcbiAgICovXG4gIHVzZShkaXNrTmFtZTogRHJpdmVyS2V5KTogRGlzayB7XG4gICAgaWYgKCF0aGlzLmRpc2tzLmhhcyhkaXNrTmFtZSkpIHtcbiAgICAgIGNvbnN0IGZhY3RvcnkgPSB0aGlzLmNvbmZpZy5kcml2ZXJzW2Rpc2tOYW1lXTtcbiAgICAgIGlmICghZmFjdG9yeSkge1xuICAgICAgICBjb25zdCBhdmFpbGFibGUgPSBPYmplY3Qua2V5cyh0aGlzLmNvbmZpZy5kcml2ZXJzKS5qb2luKFwiLCBcIik7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgVW5rbm93biBkaXNrOiBcIiR7ZGlza05hbWV9XCIuIEF2YWlsYWJsZTogJHthdmFpbGFibGV9YCk7XG4gICAgICB9XG4gICAgICB0aGlzLmRpc2tzLnNldChkaXNrTmFtZSwgbmV3IERpc2soZmFjdG9yeSgpKSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGFzc2VydERlZmluZWQodGhpcy5kaXNrcy5nZXQoZGlza05hbWUpLCBgRGlzayAke2Rpc2tOYW1lfSBub3QgZm91bmRgKTtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O2FBRStDO0NBT2xDLGlCQUFiLE1BQTRCO0VBQzFCLEFBQVEsUUFBOEIsSUFBSSxLQUFLO0VBRS9DLFlBQVksQUFBUUEsUUFBdUI7R0FBdkI7Ozs7OztFQU1wQixJQUFJLFVBQTJCO0FBQzdCLE9BQUksQ0FBQyxLQUFLLE1BQU0sSUFBSSxTQUFTLEVBQUU7SUFDN0IsTUFBTSxVQUFVLEtBQUssT0FBTyxRQUFRO0FBQ3BDLFFBQUksQ0FBQyxTQUFTO0tBQ1osTUFBTSxZQUFZLE9BQU8sS0FBSyxLQUFLLE9BQU8sUUFBUSxDQUFDLEtBQUssS0FBSztBQUM3RCxXQUFNLElBQUksTUFBTSxrQkFBa0IsU0FBUyxnQkFBZ0IsWUFBWTs7QUFFekUsU0FBSyxNQUFNLElBQUksVUFBVSxJQUFJLEtBQUssU0FBUyxDQUFDLENBQUM7O0FBRy9DLFVBQU8sY0FBYyxLQUFLLE1BQU0sSUFBSSxTQUFTLEVBQUUsUUFBUSxTQUFTLFlBQVkifQ==
34
+
35
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmFnZS1tYW5hZ2VyLmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdG9yYWdlL3N0b3JhZ2UtbWFuYWdlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXNrIH0gZnJvbSBcImZseWRyaXZlXCI7XG5cbmltcG9ydCB7IGFzc2VydERlZmluZWQgfSBmcm9tIFwiLi4vdXRpbHMvdXRpbHNcIjtcbmltcG9ydCB7IHR5cGUgRHJpdmVyS2V5IH0gZnJvbSBcIi4vZHJpdmVyc1wiO1xuaW1wb3J0IHsgdHlwZSBTdG9yYWdlQ29uZmlnIH0gZnJvbSBcIi4vdHlwZXNcIjtcblxuLyoqXG4gKiDsl6zrn6wg65SU7Iqk7YGs66W8IOq0gOumrO2VmOuKlCDrp6Tri4jsoIBcbiAqL1xuZXhwb3J0IGNsYXNzIFN0b3JhZ2VNYW5hZ2VyIHtcbiAgcHJpdmF0ZSBkaXNrczogTWFwPERyaXZlcktleSwgRGlzaz4gPSBuZXcgTWFwKCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjb25maWc6IFN0b3JhZ2VDb25maWcpIHt9XG5cbiAgLyoqXG4gICAqIOuUlOyKpO2BrCDsnbjsiqTthLTsiqQg67CY7ZmYIChsYXp5IGluaXRpYWxpemF0aW9uKVxuICAgKiBAcGFyYW0gZGlza05hbWUg65SU7Iqk7YGsIOydtOumhCAo7JeG7Jy866m0IGRlZmF1bHQpXG4gICAqL1xuICB1c2UoZGlza05hbWU6IERyaXZlcktleSk6IERpc2sge1xuICAgIGlmICghdGhpcy5kaXNrcy5oYXMoZGlza05hbWUpKSB7XG4gICAgICBjb25zdCBmYWN0b3J5ID0gdGhpcy5jb25maWcuZHJpdmVyc1tkaXNrTmFtZV07XG4gICAgICBpZiAoIWZhY3RvcnkpIHtcbiAgICAgICAgY29uc3QgYXZhaWxhYmxlID0gT2JqZWN0LmtleXModGhpcy5jb25maWcuZHJpdmVycykuam9pbihcIiwgXCIpO1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFVua25vd24gZGlzazogXCIke2Rpc2tOYW1lfVwiLiBBdmFpbGFibGU6ICR7YXZhaWxhYmxlfWApO1xuICAgICAgfVxuICAgICAgdGhpcy5kaXNrcy5zZXQoZGlza05hbWUsIG5ldyBEaXNrKGZhY3RvcnkoKSkpO1xuICAgIH1cblxuICAgIHJldHVybiBhc3NlcnREZWZpbmVkKHRoaXMuZGlza3MuZ2V0KGRpc2tOYW1lKSwgYERpc2sgJHtkaXNrTmFtZX0gbm90IGZvdW5kYCk7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O1lBRThDO0NBT2pDLGlCQUFiLE1BQTRCO0VBR047RUFGcEIsd0JBQXNDLElBQUksSUFBSTtFQUU5QyxZQUFZLFFBQStCO0dBQXZCLEtBQUEsU0FBQTtFQUF3Qjs7Ozs7RUFNNUMsSUFBSSxVQUEyQjtHQUM3QixJQUFJLENBQUMsS0FBSyxNQUFNLElBQUksUUFBUSxHQUFHO0lBQzdCLE1BQU0sVUFBVSxLQUFLLE9BQU8sUUFBUTtJQUNwQyxJQUFJLENBQUMsU0FBUztLQUNaLE1BQU0sWUFBWSxPQUFPLEtBQUssS0FBSyxPQUFPLE9BQU8sQ0FBQyxDQUFDLEtBQUssSUFBSTtLQUM1RCxNQUFNLElBQUksTUFBTSxrQkFBa0IsU0FBUyxnQkFBZ0IsV0FBVztJQUN4RTtJQUNBLEtBQUssTUFBTSxJQUFJLFVBQVUsSUFBSSxLQUFLLFFBQVEsQ0FBQyxDQUFDO0dBQzlDO0dBRUEsT0FBTyxjQUFjLEtBQUssTUFBTSxJQUFJLFFBQVEsR0FBRyxRQUFRLFNBQVMsV0FBVztFQUM3RTtDQUNGIn0=
@@ -1 +1 @@
1
- export { };
1
+ export {};
@@ -1,6 +1,5 @@
1
- import { __esmMin } from "../_virtual/rolldown_runtime.js";
1
+ import { __esmMin } from "../_virtual/_rolldown/runtime.js";
2
2
  import { BaseFile, init_base_file } from "./base-file.js";
3
-
4
3
  //#region src/storage/uploaded-file.ts
5
4
  var UploadedFile;
6
5
  var init_uploaded_file = __esmMin((() => {
@@ -33,14 +32,13 @@ var init_uploaded_file = __esmMin((() => {
33
32
  */
34
33
  async download() {
35
34
  const { Sonamu } = await import("../api/sonamu.js");
36
- const disk = Sonamu.storage.use(this._diskName);
37
- const uint8Array = await disk.get(this._key);
35
+ const uint8Array = await Sonamu.storage.use(this._diskName).get(this._key);
38
36
  return Buffer.from(uint8Array);
39
37
  }
40
38
  };
41
39
  }));
42
-
43
40
  //#endregion
44
41
  init_uploaded_file();
45
42
  export { UploadedFile, init_uploaded_file };
46
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkZWQtZmlsZS5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi9zcmMvc3RvcmFnZS91cGxvYWRlZC1maWxlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VGaWxlIH0gZnJvbSBcIi4vYmFzZS1maWxlXCI7XG5pbXBvcnQgeyB0eXBlIERyaXZlcktleSB9IGZyb20gXCIuL2RyaXZlcnNcIjtcblxuLyoqXG4gKiBTdHJlYW0g66qo65Oc66GcIOyXheuhnOuTnOuQnCDtjIzsnbxcbiAqIOydtOuvuCDsoIDsnqXshozsl5Ag7Iqk7Yq466as67CNIOyZhOujjOuQnCDsg4Htg5zroZwsIHVybC9rZXkg65OxIOuplO2DgOuNsOydtO2EsOunjCDsoJHqt7wg6rCA64ql7ZWp64uI64ukLlxuICovXG5leHBvcnQgY2xhc3MgVXBsb2FkZWRGaWxlIGV4dGVuZHMgQmFzZUZpbGUge1xuICBwcml2YXRlIF9rZXk6IHN0cmluZztcbiAgcHJpdmF0ZSBfZGlza05hbWU6IERyaXZlcktleTtcblxuICBjb25zdHJ1Y3RvcihwYXJhbXM6IHtcbiAgICBmaWxlbmFtZTogc3RyaW5nO1xuICAgIG1pbWV0eXBlOiBzdHJpbmc7XG4gICAgc2l6ZTogbnVtYmVyO1xuICAgIHVybDogc3RyaW5nO1xuICAgIHNpZ25lZFVybDogc3RyaW5nO1xuICAgIGtleTogc3RyaW5nO1xuICAgIGRpc2tOYW1lOiBEcml2ZXJLZXk7XG4gIH0pIHtcbiAgICBzdXBlcih7XG4gICAgICBmaWxlbmFtZTogcGFyYW1zLmZpbGVuYW1lLFxuICAgICAgbWltZXR5cGU6IHBhcmFtcy5taW1ldHlwZSxcbiAgICAgIHNpemU6IHBhcmFtcy5zaXplLFxuICAgICAgdXJsOiBwYXJhbXMudXJsLFxuICAgICAgc2lnbmVkVXJsOiBwYXJhbXMuc2lnbmVkVXJsLFxuICAgIH0pO1xuICAgIHRoaXMuX2tleSA9IHBhcmFtcy5rZXk7XG4gICAgdGhpcy5fZGlza05hbWUgPSBwYXJhbXMuZGlza05hbWU7XG4gIH1cblxuICAvKiog7KCA7J6l7IaMIOuCtCDtgqQgKi9cbiAgZ2V0IGtleSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9rZXk7XG4gIH1cblxuICAvKiog7KCA7J6l65CcIOuUlOyKpO2BrCDsnbTrpoQgKi9cbiAgZ2V0IGRpc2tOYW1lKCk6IERyaXZlcktleSB7XG4gICAgcmV0dXJuIHRoaXMuX2Rpc2tOYW1lO1xuICB9XG5cbiAgLyoqXG4gICAqIOyggOyepeyGjOyXkOyEnCDtjIzsnbzsnYQg64uk7Jq066Gc65Oc7ZWp64uI64ukLlxuICAgKiDsiqTtirjrprwg66qo65Oc66GcIOyXheuhnOuTnOuQnCDtjIzsnbzsnYQg64KY7KSR7JeQIOyymOumrO2VtOyVvCDtlaAg65WMIOyCrOyaqe2VqeuLiOuLpC5cbiAgICovXG4gIGFzeW5jIGRvd25sb2FkKCk6IFByb21pc2U8QnVmZmVyPiB7XG4gICAgY29uc3QgeyBTb25hbXUgfSA9IGF3YWl0IGltcG9ydChcIi4uL2FwaS9zb25hbXVcIik7XG4gICAgY29uc3QgZGlzayA9IFNvbmFtdS5zdG9yYWdlLnVzZSh0aGlzLl9kaXNrTmFtZSk7XG5cbiAgICBjb25zdCB1aW50OEFycmF5ID0gYXdhaXQgZGlzay5nZXQodGhpcy5fa2V5KTtcbiAgICByZXR1cm4gQnVmZmVyLmZyb20odWludDhBcnJheSk7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O2lCQUF1QztDQU8xQixlQUFiLGNBQWtDLFNBQVM7RUFDekMsQUFBUTtFQUNSLEFBQVE7RUFFUixZQUFZLFFBUVQ7QUFDRCxTQUFNO0lBQ0osVUFBVSxPQUFPO0lBQ2pCLFVBQVUsT0FBTztJQUNqQixNQUFNLE9BQU87SUFDYixLQUFLLE9BQU87SUFDWixXQUFXLE9BQU87SUFDbkIsQ0FBQztBQUNGLFFBQUssT0FBTyxPQUFPO0FBQ25CLFFBQUssWUFBWSxPQUFPOzs7RUFJMUIsSUFBSSxNQUFjO0FBQ2hCLFVBQU8sS0FBSzs7O0VBSWQsSUFBSSxXQUFzQjtBQUN4QixVQUFPLEtBQUs7Ozs7OztFQU9kLE1BQU0sV0FBNEI7R0FDaEMsTUFBTSxFQUFFLFdBQVcsTUFBTSxPQUFPO0dBQ2hDLE1BQU0sT0FBTyxPQUFPLFFBQVEsSUFBSSxLQUFLLFVBQVU7R0FFL0MsTUFBTSxhQUFhLE1BQU0sS0FBSyxJQUFJLEtBQUssS0FBSztBQUM1QyxVQUFPLE9BQU8sS0FBSyxXQUFXIn0=
43
+
44
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkZWQtZmlsZS5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi9zcmMvc3RvcmFnZS91cGxvYWRlZC1maWxlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VGaWxlIH0gZnJvbSBcIi4vYmFzZS1maWxlXCI7XG5pbXBvcnQgeyB0eXBlIERyaXZlcktleSB9IGZyb20gXCIuL2RyaXZlcnNcIjtcblxuLyoqXG4gKiBTdHJlYW0g66qo65Oc66GcIOyXheuhnOuTnOuQnCDtjIzsnbxcbiAqIOydtOuvuCDsoIDsnqXshozsl5Ag7Iqk7Yq466as67CNIOyZhOujjOuQnCDsg4Htg5zroZwsIHVybC9rZXkg65OxIOuplO2DgOuNsOydtO2EsOunjCDsoJHqt7wg6rCA64ql7ZWp64uI64ukLlxuICovXG5leHBvcnQgY2xhc3MgVXBsb2FkZWRGaWxlIGV4dGVuZHMgQmFzZUZpbGUge1xuICBwcml2YXRlIF9rZXk6IHN0cmluZztcbiAgcHJpdmF0ZSBfZGlza05hbWU6IERyaXZlcktleTtcblxuICBjb25zdHJ1Y3RvcihwYXJhbXM6IHtcbiAgICBmaWxlbmFtZTogc3RyaW5nO1xuICAgIG1pbWV0eXBlOiBzdHJpbmc7XG4gICAgc2l6ZTogbnVtYmVyO1xuICAgIHVybDogc3RyaW5nO1xuICAgIHNpZ25lZFVybDogc3RyaW5nO1xuICAgIGtleTogc3RyaW5nO1xuICAgIGRpc2tOYW1lOiBEcml2ZXJLZXk7XG4gIH0pIHtcbiAgICBzdXBlcih7XG4gICAgICBmaWxlbmFtZTogcGFyYW1zLmZpbGVuYW1lLFxuICAgICAgbWltZXR5cGU6IHBhcmFtcy5taW1ldHlwZSxcbiAgICAgIHNpemU6IHBhcmFtcy5zaXplLFxuICAgICAgdXJsOiBwYXJhbXMudXJsLFxuICAgICAgc2lnbmVkVXJsOiBwYXJhbXMuc2lnbmVkVXJsLFxuICAgIH0pO1xuICAgIHRoaXMuX2tleSA9IHBhcmFtcy5rZXk7XG4gICAgdGhpcy5fZGlza05hbWUgPSBwYXJhbXMuZGlza05hbWU7XG4gIH1cblxuICAvKiog7KCA7J6l7IaMIOuCtCDtgqQgKi9cbiAgZ2V0IGtleSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9rZXk7XG4gIH1cblxuICAvKiog7KCA7J6l65CcIOuUlOyKpO2BrCDsnbTrpoQgKi9cbiAgZ2V0IGRpc2tOYW1lKCk6IERyaXZlcktleSB7XG4gICAgcmV0dXJuIHRoaXMuX2Rpc2tOYW1lO1xuICB9XG5cbiAgLyoqXG4gICAqIOyggOyepeyGjOyXkOyEnCDtjIzsnbzsnYQg64uk7Jq066Gc65Oc7ZWp64uI64ukLlxuICAgKiDsiqTtirjrprwg66qo65Oc66GcIOyXheuhnOuTnOuQnCDtjIzsnbzsnYQg64KY7KSR7JeQIOyymOumrO2VtOyVvCDtlaAg65WMIOyCrOyaqe2VqeuLiOuLpC5cbiAgICovXG4gIGFzeW5jIGRvd25sb2FkKCk6IFByb21pc2U8QnVmZmVyPiB7XG4gICAgY29uc3QgeyBTb25hbXUgfSA9IGF3YWl0IGltcG9ydChcIi4uL2FwaS9zb25hbXVcIik7XG4gICAgY29uc3QgZGlzayA9IFNvbmFtdS5zdG9yYWdlLnVzZSh0aGlzLl9kaXNrTmFtZSk7XG5cbiAgICBjb25zdCB1aW50OEFycmF5ID0gYXdhaXQgZGlzay5nZXQodGhpcy5fa2V5KTtcbiAgICByZXR1cm4gQnVmZmVyLmZyb20odWludDhBcnJheSk7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Z0JBQXNDO0NBT3pCLGVBQWIsY0FBa0MsU0FBUztFQUN6QztFQUNBO0VBRUEsWUFBWSxRQVFUO0dBQ0QsTUFBTTtJQUNKLFVBQVUsT0FBTztJQUNqQixVQUFVLE9BQU87SUFDakIsTUFBTSxPQUFPO0lBQ2IsS0FBSyxPQUFPO0lBQ1osV0FBVyxPQUFPO0dBQ3BCLENBQUM7R0FDRCxLQUFLLE9BQU8sT0FBTztHQUNuQixLQUFLLFlBQVksT0FBTztFQUMxQjs7RUFHQSxJQUFJLE1BQWM7R0FDaEIsT0FBTyxLQUFLO0VBQ2Q7O0VBR0EsSUFBSSxXQUFzQjtHQUN4QixPQUFPLEtBQUs7RUFDZDs7Ozs7RUFNQSxNQUFNLFdBQTRCO0dBQ2hDLE1BQU0sRUFBRSxXQUFXLE1BQU0sT0FBTztHQUdoQyxNQUFNLGFBQWEsTUFGTixPQUFPLFFBQVEsSUFBSSxLQUFLLFNBRVosQ0FBQSxDQUFLLElBQUksS0FBSyxJQUFJO0dBQzNDLE9BQU8sT0FBTyxLQUFLLFVBQVU7RUFDL0I7Q0FDRiJ9
@@ -8,7 +8,6 @@ import { InMemoryWebSocketPresenceStore, init_ws_presence_store } from "./ws-pre
8
8
  import { WebSocketRegistry, init_ws_registry } from "./ws-registry.js";
9
9
  import { WebSocketRuntime, createWebSocketRuntime, init_ws } from "./ws.js";
10
10
  import "./ws-core.js";
11
-
12
11
  //#region src/stream/index.ts
13
12
  init_sse();
14
13
  init_ws_audience();
@@ -19,7 +18,7 @@ init_ws_telemetry_memory();
19
18
  init_ws_telemetry_trace();
20
19
  init_ws();
21
20
  init_ws_registry();
22
-
23
21
  //#endregion
24
22
  export { DEFAULT_TRACE_OPTIONS, EMPTY_METRICS_SNAPSHOT, InMemoryEventStore, InMemoryMetricStore, InMemorySpanStore, InMemoryWebSocketPresenceStore, NoopWebSocketClusterBus, NoopWebSocketTelemetryController, WebSocketAudience, WebSocketRegistry, WebSocketRuntime, WebSocketTelemetryControllerImpl, createMockSSEFactory, createSSEFactory, createWebSocketRuntime, createWebSocketTelemetryController, formatTraceParent, generateSpanId, generateTraceId, isPromiseLike, parseTraceParent };
23
+
25
24
  //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3N0cmVhbS9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9zc2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3dzLWF1ZGllbmNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi93cy1jbHVzdGVyLWJ1c1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vd3MtY29yZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vd3MtcHJlc2VuY2Utc3RvcmVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3dzLXRlbGVtZXRyeVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vd3MtdGVsZW1ldHJ5LW1lbW9yeVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vd3MtdGVsZW1ldHJ5LXRyYWNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi93c1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vd3MtcmVnaXN0cnlcIjtcbiJdLCJtYXBwaW5ncyI6IiJ9
@@ -1,5 +1,4 @@
1
- import { __esmMin } from "../_virtual/rolldown_runtime.js";
2
-
1
+ import { __esmMin } from "../_virtual/_rolldown/runtime.js";
3
2
  //#region src/stream/sse.ts
4
3
  function createSSEFactory(socket, reply, _events) {
5
4
  return new SSEConnectionImpl(socket, reply);
@@ -17,6 +16,8 @@ function createMockSSEFactory(_events) {
17
16
  var SSEConnectionImpl;
18
17
  var init_sse = __esmMin((() => {
19
18
  SSEConnectionImpl = class {
19
+ socket;
20
+ reply;
20
21
  _closed = false;
21
22
  _closeCallbacks = [];
22
23
  markClosed = () => {
@@ -32,9 +33,7 @@ var init_sse = __esmMin((() => {
32
33
  fireCloseCallbacks() {
33
34
  const callbacks = this._closeCallbacks;
34
35
  this._closeCallbacks = [];
35
- for (const cb of callbacks) {
36
- cb();
37
- }
36
+ for (const cb of callbacks) cb();
38
37
  }
39
38
  constructor(socket, reply) {
40
39
  this.socket = socket;
@@ -43,18 +42,14 @@ var init_sse = __esmMin((() => {
43
42
  this.socket.on("error", this.markClosed);
44
43
  }
45
44
  publish(event, data) {
46
- if (this._closed) {
47
- return;
48
- }
45
+ if (this._closed) return;
49
46
  this.reply.sse({
50
47
  event,
51
48
  data: JSON.stringify(data)
52
49
  });
53
50
  }
54
51
  async end() {
55
- if (this._closed) {
56
- return;
57
- }
52
+ if (this._closed) return;
58
53
  this._closed = true;
59
54
  this.socket.off("close", this.markClosed);
60
55
  this.socket.off("error", this.markClosed);
@@ -68,8 +63,8 @@ var init_sse = __esmMin((() => {
68
63
  }
69
64
  };
70
65
  }));
71
-
72
66
  //#endregion
73
67
  init_sse();
74
68
  export { createMockSSEFactory, createSSEFactory, init_sse };
75
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3NlLmpzIiwibmFtZXMiOlsic29ja2V0OiBGYXN0aWZ5UmVxdWVzdFtcInNvY2tldFwiXSIsInJlcGx5OiBGYXN0aWZ5UmVwbHkiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvc3RyZWFtL3NzZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0eXBlIEZhc3RpZnlSZXBseSwgdHlwZSBGYXN0aWZ5UmVxdWVzdCB9IGZyb20gXCJmYXN0aWZ5XCI7XG5pbXBvcnQgeyB0eXBlIHogfSBmcm9tIFwiem9kXCI7XG5cbi8vIE5PVEUoSGF6ZSwgMjUxMTA2KTogY29udGV4dCBwcm92aWRlcuyXkOyEnCDsnbjsnpDrpbwg7LGE7JuM7KO866m0IGNyZWF0ZVNTRShldmVudHMp66eM7Jy866GcIOyCrOyaqSDqsIDriqVcbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVTU0VGYWN0b3J5PFQgZXh0ZW5kcyB6LlpvZE9iamVjdD4oXG4gIHNvY2tldDogRmFzdGlmeVJlcXVlc3RbXCJzb2NrZXRcIl0sXG4gIHJlcGx5OiBGYXN0aWZ5UmVwbHksXG4gIF9ldmVudHM6IFQsXG4pOiBTU0VDb25uZWN0aW9uPFQ+IHtcbiAgcmV0dXJuIG5ldyBTU0VDb25uZWN0aW9uSW1wbDxUPihzb2NrZXQsIHJlcGx5KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZU1vY2tTU0VGYWN0b3J5PFQgZXh0ZW5kcyB6LlpvZE9iamVjdD4oX2V2ZW50czogVCk6IFNTRUNvbm5lY3Rpb248VD4ge1xuICByZXR1cm4ge1xuICAgIGdldCBjbG9zZWQoKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfSxcbiAgICBvbkNsb3NlOiAoX2NhbGxiYWNrKSA9PiB7fSxcbiAgICBwdWJsaXNoOiAoX2V2ZW50LCBfZGF0YSkgPT4ge30sXG4gICAgZW5kOiAoKSA9PiBQcm9taXNlLnJlc29sdmUoKSxcbiAgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTU0VDb25uZWN0aW9uPFQgZXh0ZW5kcyB6LlpvZE9iamVjdD4ge1xuICBnZXQgY2xvc2VkKCk6IGJvb2xlYW47XG4gIG9uQ2xvc2UoY2FsbGJhY2s6ICgpID0+IHZvaWQpOiB2b2lkO1xuICBwdWJsaXNoPEsgZXh0ZW5kcyBrZXlvZiB6LmluZmVyPFQ+PihldmVudDogSywgZGF0YTogei5pbmZlcjxUPltLXSk6IHZvaWQ7XG4gIGVuZCgpOiBQcm9taXNlPHZvaWQ+O1xufVxuXG5jbGFzcyBTU0VDb25uZWN0aW9uSW1wbDxUIGV4dGVuZHMgei5ab2RPYmplY3Q+IGltcGxlbWVudHMgU1NFQ29ubmVjdGlvbjxUPiB7XG4gIHByaXZhdGUgX2Nsb3NlZCA9IGZhbHNlO1xuICBwcml2YXRlIF9jbG9zZUNhbGxiYWNrczogQXJyYXk8KCkgPT4gdm9pZD4gPSBbXTtcblxuICBwcml2YXRlIHJlYWRvbmx5IG1hcmtDbG9zZWQgPSAoKSA9PiB7XG4gICAgdGhpcy5fY2xvc2VkID0gdHJ1ZTtcbiAgICB0aGlzLmZpcmVDbG9zZUNhbGxiYWNrcygpO1xuICB9O1xuXG4gIGdldCBjbG9zZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2Nsb3NlZDtcbiAgfVxuXG4gIG9uQ2xvc2UoY2FsbGJhY2s6ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLl9jbG9zZUNhbGxiYWNrcy5wdXNoKGNhbGxiYWNrKTtcbiAgfVxuXG4gIC8vIOy9nOuwseydhCDtlZwg67KI66eMIOyLpO2Wie2VmOqzoCDrsLDsl7TsnYQg67mE7JuMIOykkeuztSDtmLjstpzsnYQg67Cp7KeAXG4gIHByaXZhdGUgZmlyZUNsb3NlQ2FsbGJhY2tzKCk6IHZvaWQge1xuICAgIGNvbnN0IGNhbGxiYWNrcyA9IHRoaXMuX2Nsb3NlQ2FsbGJhY2tzO1xuICAgIHRoaXMuX2Nsb3NlQ2FsbGJhY2tzID0gW107XG4gICAgZm9yIChjb25zdCBjYiBvZiBjYWxsYmFja3MpIHtcbiAgICAgIGNiKCk7XG4gICAgfVxuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBzb2NrZXQ6IEZhc3RpZnlSZXF1ZXN0W1wic29ja2V0XCJdLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcmVwbHk6IEZhc3RpZnlSZXBseSxcbiAgKSB7XG4gICAgdGhpcy5zb2NrZXQub24oXCJjbG9zZVwiLCB0aGlzLm1hcmtDbG9zZWQpO1xuICAgIHRoaXMuc29ja2V0Lm9uKFwiZXJyb3JcIiwgdGhpcy5tYXJrQ2xvc2VkKTtcbiAgfVxuXG4gIHB1Ymxpc2g8SyBleHRlbmRzIGtleW9mIHouaW5mZXI8VD4+KGV2ZW50OiBLLCBkYXRhOiB6LmluZmVyPFQ+W0tdKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX2Nsb3NlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMucmVwbHkuc3NlKHtcbiAgICAgIGV2ZW50OiBldmVudCBhcyBzdHJpbmcsXG4gICAgICBkYXRhOiBKU09OLnN0cmluZ2lmeShkYXRhKSxcbiAgICB9KTtcbiAgfVxuXG4gIGFzeW5jIGVuZCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAodGhpcy5fY2xvc2VkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fY2xvc2VkID0gdHJ1ZTtcbiAgICB0aGlzLnNvY2tldC5vZmYoXCJjbG9zZVwiLCB0aGlzLm1hcmtDbG9zZWQpO1xuICAgIHRoaXMuc29ja2V0Lm9mZihcImVycm9yXCIsIHRoaXMubWFya0Nsb3NlZCk7XG4gICAgdGhpcy5maXJlQ2xvc2VDYWxsYmFja3MoKTtcblxuICAgIHRoaXMucmVwbHkuc3NlKHtcbiAgICAgIGV2ZW50OiBcImVuZFwiLFxuICAgICAgZGF0YTogXCJFTkRcIixcbiAgICB9KTtcblxuICAgIGF3YWl0IG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiBzZXRUaW1lb3V0KHJlc29sdmUsIDIwMCkpO1xuICAgIHRoaXMucmVwbHkucmF3LmVuZCgpO1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7OztBQUlBLFNBQWdCLGlCQUNkLFFBQ0EsT0FDQSxTQUNrQjtBQUNsQixRQUFPLElBQUksa0JBQXFCLFFBQVEsTUFBTTs7QUFHaEQsU0FBZ0IscUJBQTRDLFNBQThCO0FBQ3hGLFFBQU87RUFDTCxJQUFJLFNBQVM7QUFDWCxVQUFPOztFQUVULFVBQVUsY0FBYztFQUN4QixVQUFVLFFBQVEsVUFBVTtFQUM1QixXQUFXLFFBQVEsU0FBUztFQUM3Qjs7OztDQVVHLG9CQUFOLE1BQTJFO0VBQ3pFLEFBQVEsVUFBVTtFQUNsQixBQUFRLGtCQUFxQyxFQUFFO0VBRS9DLEFBQWlCLG1CQUFtQjtBQUNsQyxRQUFLLFVBQVU7QUFDZixRQUFLLG9CQUFvQjs7RUFHM0IsSUFBSSxTQUFrQjtBQUNwQixVQUFPLEtBQUs7O0VBR2QsUUFBUSxVQUE0QjtBQUNsQyxRQUFLLGdCQUFnQixLQUFLLFNBQVM7O0VBSXJDLEFBQVEscUJBQTJCO0dBQ2pDLE1BQU0sWUFBWSxLQUFLO0FBQ3ZCLFFBQUssa0JBQWtCLEVBQUU7QUFDekIsUUFBSyxNQUFNLE1BQU0sV0FBVztBQUMxQixRQUFJOzs7RUFJUixZQUNFLEFBQWlCQSxRQUNqQixBQUFpQkMsT0FDakI7R0FGaUI7R0FDQTtBQUVqQixRQUFLLE9BQU8sR0FBRyxTQUFTLEtBQUssV0FBVztBQUN4QyxRQUFLLE9BQU8sR0FBRyxTQUFTLEtBQUssV0FBVzs7RUFHMUMsUUFBb0MsT0FBVSxNQUEyQjtBQUN2RSxPQUFJLEtBQUssU0FBUztBQUNoQjs7QUFHRixRQUFLLE1BQU0sSUFBSTtJQUNOO0lBQ1AsTUFBTSxLQUFLLFVBQVUsS0FBSztJQUMzQixDQUFDOztFQUdKLE1BQU0sTUFBcUI7QUFDekIsT0FBSSxLQUFLLFNBQVM7QUFDaEI7O0FBR0YsUUFBSyxVQUFVO0FBQ2YsUUFBSyxPQUFPLElBQUksU0FBUyxLQUFLLFdBQVc7QUFDekMsUUFBSyxPQUFPLElBQUksU0FBUyxLQUFLLFdBQVc7QUFDekMsUUFBSyxvQkFBb0I7QUFFekIsUUFBSyxNQUFNLElBQUk7SUFDYixPQUFPO0lBQ1AsTUFBTTtJQUNQLENBQUM7QUFFRixTQUFNLElBQUksU0FBUyxZQUFZLFdBQVcsU0FBUyxJQUFJLENBQUM7QUFDeEQsUUFBSyxNQUFNLElBQUksS0FBSyJ9
69
+
70
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3NlLmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdHJlYW0vc3NlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHR5cGUgRmFzdGlmeVJlcGx5LCB0eXBlIEZhc3RpZnlSZXF1ZXN0IH0gZnJvbSBcImZhc3RpZnlcIjtcbmltcG9ydCB7IHR5cGUgeiB9IGZyb20gXCJ6b2RcIjtcblxuLy8gTk9URShIYXplLCAyNTExMDYpOiBjb250ZXh0IHByb3ZpZGVy7JeQ7IScIOyduOyekOulvCDssYTsm4zso7zrqbQgY3JlYXRlU1NFKGV2ZW50cynrp4zsnLzroZwg7IKs7JqpIOqwgOuKpVxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVNTRUZhY3Rvcnk8VCBleHRlbmRzIHouWm9kT2JqZWN0PihcbiAgc29ja2V0OiBGYXN0aWZ5UmVxdWVzdFtcInNvY2tldFwiXSxcbiAgcmVwbHk6IEZhc3RpZnlSZXBseSxcbiAgX2V2ZW50czogVCxcbik6IFNTRUNvbm5lY3Rpb248VD4ge1xuICByZXR1cm4gbmV3IFNTRUNvbm5lY3Rpb25JbXBsPFQ+KHNvY2tldCwgcmVwbHkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlTW9ja1NTRUZhY3Rvcnk8VCBleHRlbmRzIHouWm9kT2JqZWN0PihfZXZlbnRzOiBUKTogU1NFQ29ubmVjdGlvbjxUPiB7XG4gIHJldHVybiB7XG4gICAgZ2V0IGNsb3NlZCgpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9LFxuICAgIG9uQ2xvc2U6IChfY2FsbGJhY2spID0+IHt9LFxuICAgIHB1Ymxpc2g6IChfZXZlbnQsIF9kYXRhKSA9PiB7fSxcbiAgICBlbmQ6ICgpID0+IFByb21pc2UucmVzb2x2ZSgpLFxuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNTRUNvbm5lY3Rpb248VCBleHRlbmRzIHouWm9kT2JqZWN0PiB7XG4gIGdldCBjbG9zZWQoKTogYm9vbGVhbjtcbiAgb25DbG9zZShjYWxsYmFjazogKCkgPT4gdm9pZCk6IHZvaWQ7XG4gIHB1Ymxpc2g8SyBleHRlbmRzIGtleW9mIHouaW5mZXI8VD4+KGV2ZW50OiBLLCBkYXRhOiB6LmluZmVyPFQ+W0tdKTogdm9pZDtcbiAgZW5kKCk6IFByb21pc2U8dm9pZD47XG59XG5cbmNsYXNzIFNTRUNvbm5lY3Rpb25JbXBsPFQgZXh0ZW5kcyB6LlpvZE9iamVjdD4gaW1wbGVtZW50cyBTU0VDb25uZWN0aW9uPFQ+IHtcbiAgcHJpdmF0ZSBfY2xvc2VkID0gZmFsc2U7XG4gIHByaXZhdGUgX2Nsb3NlQ2FsbGJhY2tzOiBBcnJheTwoKSA9PiB2b2lkPiA9IFtdO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgbWFya0Nsb3NlZCA9ICgpID0+IHtcbiAgICB0aGlzLl9jbG9zZWQgPSB0cnVlO1xuICAgIHRoaXMuZmlyZUNsb3NlQ2FsbGJhY2tzKCk7XG4gIH07XG5cbiAgZ2V0IGNsb3NlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fY2xvc2VkO1xuICB9XG5cbiAgb25DbG9zZShjYWxsYmFjazogKCkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMuX2Nsb3NlQ2FsbGJhY2tzLnB1c2goY2FsbGJhY2spO1xuICB9XG5cbiAgLy8g7L2c67Cx7J2EIO2VnCDrsojrp4wg7Iuk7ZaJ7ZWY6rOgIOuwsOyXtOydhCDruYTsm4wg7KSR67O1IO2YuOy2nOydhCDrsKnsp4BcbiAgcHJpdmF0ZSBmaXJlQ2xvc2VDYWxsYmFja3MoKTogdm9pZCB7XG4gICAgY29uc3QgY2FsbGJhY2tzID0gdGhpcy5fY2xvc2VDYWxsYmFja3M7XG4gICAgdGhpcy5fY2xvc2VDYWxsYmFja3MgPSBbXTtcbiAgICBmb3IgKGNvbnN0IGNiIG9mIGNhbGxiYWNrcykge1xuICAgICAgY2IoKTtcbiAgICB9XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNvY2tldDogRmFzdGlmeVJlcXVlc3RbXCJzb2NrZXRcIl0sXG4gICAgcHJpdmF0ZSByZWFkb25seSByZXBseTogRmFzdGlmeVJlcGx5LFxuICApIHtcbiAgICB0aGlzLnNvY2tldC5vbihcImNsb3NlXCIsIHRoaXMubWFya0Nsb3NlZCk7XG4gICAgdGhpcy5zb2NrZXQub24oXCJlcnJvclwiLCB0aGlzLm1hcmtDbG9zZWQpO1xuICB9XG5cbiAgcHVibGlzaDxLIGV4dGVuZHMga2V5b2Ygei5pbmZlcjxUPj4oZXZlbnQ6IEssIGRhdGE6IHouaW5mZXI8VD5bS10pOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fY2xvc2VkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5yZXBseS5zc2Uoe1xuICAgICAgZXZlbnQ6IGV2ZW50IGFzIHN0cmluZyxcbiAgICAgIGRhdGE6IEpTT04uc3RyaW5naWZ5KGRhdGEpLFxuICAgIH0pO1xuICB9XG5cbiAgYXN5bmMgZW5kKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICh0aGlzLl9jbG9zZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl9jbG9zZWQgPSB0cnVlO1xuICAgIHRoaXMuc29ja2V0Lm9mZihcImNsb3NlXCIsIHRoaXMubWFya0Nsb3NlZCk7XG4gICAgdGhpcy5zb2NrZXQub2ZmKFwiZXJyb3JcIiwgdGhpcy5tYXJrQ2xvc2VkKTtcbiAgICB0aGlzLmZpcmVDbG9zZUNhbGxiYWNrcygpO1xuXG4gICAgdGhpcy5yZXBseS5zc2Uoe1xuICAgICAgZXZlbnQ6IFwiZW5kXCIsXG4gICAgICBkYXRhOiBcIkVORFwiLFxuICAgIH0pO1xuXG4gICAgYXdhaXQgbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHNldFRpbWVvdXQocmVzb2x2ZSwgMjAwKSk7XG4gICAgdGhpcy5yZXBseS5yYXcuZW5kKCk7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7QUFJQSxTQUFnQixpQkFDZCxRQUNBLE9BQ0EsU0FDa0I7Q0FDbEIsT0FBTyxJQUFJLGtCQUFxQixRQUFRLEtBQUs7QUFDL0M7QUFFQSxTQUFnQixxQkFBNEMsU0FBOEI7Q0FDeEYsT0FBTztFQUNMLElBQUksU0FBUztHQUNYLE9BQU87RUFDVDtFQUNBLFVBQVUsY0FBYyxDQUFDO0VBQ3pCLFVBQVUsUUFBUSxVQUFVLENBQUM7RUFDN0IsV0FBVyxRQUFRLFFBQVE7Q0FDN0I7QUFDRjs7O0NBU00sb0JBQU4sTUFBMkU7RUEyQnREO0VBQ0E7RUEzQm5CLFVBQWtCO0VBQ2xCLGtCQUE2QyxDQUFDO0VBRTlDLG1CQUFvQztHQUNsQyxLQUFLLFVBQVU7R0FDZixLQUFLLG1CQUFtQjtFQUMxQjtFQUVBLElBQUksU0FBa0I7R0FDcEIsT0FBTyxLQUFLO0VBQ2Q7RUFFQSxRQUFRLFVBQTRCO0dBQ2xDLEtBQUssZ0JBQWdCLEtBQUssUUFBUTtFQUNwQztFQUdBLHFCQUFtQztHQUNqQyxNQUFNLFlBQVksS0FBSztHQUN2QixLQUFLLGtCQUFrQixDQUFDO0dBQ3hCLEtBQUssTUFBTSxNQUFNLFdBQ2YsR0FBRztFQUVQO0VBRUEsWUFDRSxRQUNBLE9BQ0E7R0FGaUIsS0FBQSxTQUFBO0dBQ0EsS0FBQSxRQUFBO0dBRWpCLEtBQUssT0FBTyxHQUFHLFNBQVMsS0FBSyxVQUFVO0dBQ3ZDLEtBQUssT0FBTyxHQUFHLFNBQVMsS0FBSyxVQUFVO0VBQ3pDO0VBRUEsUUFBb0MsT0FBVSxNQUEyQjtHQUN2RSxJQUFJLEtBQUssU0FDUDtHQUdGLEtBQUssTUFBTSxJQUFJO0lBQ047SUFDUCxNQUFNLEtBQUssVUFBVSxJQUFJO0dBQzNCLENBQUM7RUFDSDtFQUVBLE1BQU0sTUFBcUI7R0FDekIsSUFBSSxLQUFLLFNBQ1A7R0FHRixLQUFLLFVBQVU7R0FDZixLQUFLLE9BQU8sSUFBSSxTQUFTLEtBQUssVUFBVTtHQUN4QyxLQUFLLE9BQU8sSUFBSSxTQUFTLEtBQUssVUFBVTtHQUN4QyxLQUFLLG1CQUFtQjtHQUV4QixLQUFLLE1BQU0sSUFBSTtJQUNiLE9BQU87SUFDUCxNQUFNO0dBQ1IsQ0FBQztHQUVELE1BQU0sSUFBSSxTQUFTLFlBQVksV0FBVyxTQUFTLEdBQUcsQ0FBQztHQUN2RCxLQUFLLE1BQU0sSUFBSSxJQUFJO0VBQ3JCO0NBQ0YifQ==
@@ -1,15 +1,15 @@
1
- import { __esmMin } from "../_virtual/rolldown_runtime.js";
2
-
1
+ import { __esmMin } from "../_virtual/_rolldown/runtime.js";
3
2
  //#region src/stream/ws-audience-resolver.ts
4
3
  var WebSocketAudienceResolver;
5
4
  var init_ws_audience_resolver = __esmMin((() => {
6
5
  WebSocketAudienceResolver = class {
6
+ options;
7
7
  constructor(options) {
8
8
  this.options = options;
9
9
  }
10
10
  resolve(audience) {
11
11
  const localSessionIds = [];
12
- const remoteNodeIds = new Set();
12
+ const remoteNodeIds = /* @__PURE__ */ new Set();
13
13
  for (const meta of this.options.presenceStore.queryAudience(audience)) {
14
14
  if (meta.nodeId === this.options.nodeId) {
15
15
  localSessionIds.push(meta.sessionId);
@@ -24,8 +24,8 @@ var init_ws_audience_resolver = __esmMin((() => {
24
24
  }
25
25
  };
26
26
  }));
27
-
28
27
  //#endregion
29
28
  init_ws_audience_resolver();
30
29
  export { WebSocketAudienceResolver, init_ws_audience_resolver };
31
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3MtYXVkaWVuY2UtcmVzb2x2ZXIuanMiLCJuYW1lcyI6WyJvcHRpb25zOiB7XG4gICAgICBub2RlSWQ6IHN0cmluZztcbiAgICAgIHByZXNlbmNlU3RvcmU6IFdlYlNvY2tldFByZXNlbmNlU3RvcmU7XG4gICAgfSIsImxvY2FsU2Vzc2lvbklkczogc3RyaW5nW10iXSwic291cmNlcyI6WyIuLi8uLi9zcmMvc3RyZWFtL3dzLWF1ZGllbmNlLXJlc29sdmVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHR5cGUgV2ViU29ja2V0QXVkaWVuY2UgfSBmcm9tIFwiLi93cy1hdWRpZW5jZVwiO1xuaW1wb3J0IHsgdHlwZSBXZWJTb2NrZXRQcmVzZW5jZVN0b3JlIH0gZnJvbSBcIi4vd3MtcHJlc2VuY2Utc3RvcmVcIjtcblxuZXhwb3J0IHR5cGUgV2ViU29ja2V0Um91dGluZ1BsYW4gPSB7XG4gIGxvY2FsU2Vzc2lvbklkczogc3RyaW5nW107XG4gIHJlbW90ZU5vZGVJZHM6IHN0cmluZ1tdO1xufTtcblxuZXhwb3J0IGNsYXNzIFdlYlNvY2tldEF1ZGllbmNlUmVzb2x2ZXIge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbnM6IHtcbiAgICAgIG5vZGVJZDogc3RyaW5nO1xuICAgICAgcHJlc2VuY2VTdG9yZTogV2ViU29ja2V0UHJlc2VuY2VTdG9yZTtcbiAgICB9LFxuICApIHt9XG5cbiAgcmVzb2x2ZShhdWRpZW5jZTogV2ViU29ja2V0QXVkaWVuY2UpOiBXZWJTb2NrZXRSb3V0aW5nUGxhbiB7XG4gICAgY29uc3QgbG9jYWxTZXNzaW9uSWRzOiBzdHJpbmdbXSA9IFtdO1xuICAgIGNvbnN0IHJlbW90ZU5vZGVJZHMgPSBuZXcgU2V0PHN0cmluZz4oKTtcblxuICAgIGZvciAoY29uc3QgbWV0YSBvZiB0aGlzLm9wdGlvbnMucHJlc2VuY2VTdG9yZS5xdWVyeUF1ZGllbmNlKGF1ZGllbmNlKSkge1xuICAgICAgaWYgKG1ldGEubm9kZUlkID09PSB0aGlzLm9wdGlvbnMubm9kZUlkKSB7XG4gICAgICAgIGxvY2FsU2Vzc2lvbklkcy5wdXNoKG1ldGEuc2Vzc2lvbklkKTtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG5cbiAgICAgIHJlbW90ZU5vZGVJZHMuYWRkKG1ldGEubm9kZUlkKTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgbG9jYWxTZXNzaW9uSWRzLFxuICAgICAgcmVtb3RlTm9kZUlkczogWy4uLnJlbW90ZU5vZGVJZHNdLFxuICAgIH07XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Q0FRYSw0QkFBYixNQUF1QztFQUNyQyxZQUNFLEFBQWlCQSxTQUlqQjtHQUppQjs7RUFNbkIsUUFBUSxVQUFtRDtHQUN6RCxNQUFNQyxrQkFBNEIsRUFBRTtHQUNwQyxNQUFNLGdCQUFnQixJQUFJLEtBQWE7QUFFdkMsUUFBSyxNQUFNLFFBQVEsS0FBSyxRQUFRLGNBQWMsY0FBYyxTQUFTLEVBQUU7QUFDckUsUUFBSSxLQUFLLFdBQVcsS0FBSyxRQUFRLFFBQVE7QUFDdkMscUJBQWdCLEtBQUssS0FBSyxVQUFVO0FBQ3BDOztBQUdGLGtCQUFjLElBQUksS0FBSyxPQUFPOztBQUdoQyxVQUFPO0lBQ0w7SUFDQSxlQUFlLENBQUMsR0FBRyxjQUFjO0lBQ2xDIn0=
30
+
31
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3MtYXVkaWVuY2UtcmVzb2x2ZXIuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3N0cmVhbS93cy1hdWRpZW5jZS1yZXNvbHZlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0eXBlIFdlYlNvY2tldEF1ZGllbmNlIH0gZnJvbSBcIi4vd3MtYXVkaWVuY2VcIjtcbmltcG9ydCB7IHR5cGUgV2ViU29ja2V0UHJlc2VuY2VTdG9yZSB9IGZyb20gXCIuL3dzLXByZXNlbmNlLXN0b3JlXCI7XG5cbmV4cG9ydCB0eXBlIFdlYlNvY2tldFJvdXRpbmdQbGFuID0ge1xuICBsb2NhbFNlc3Npb25JZHM6IHN0cmluZ1tdO1xuICByZW1vdGVOb2RlSWRzOiBzdHJpbmdbXTtcbn07XG5cbmV4cG9ydCBjbGFzcyBXZWJTb2NrZXRBdWRpZW5jZVJlc29sdmVyIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBvcHRpb25zOiB7XG4gICAgICBub2RlSWQ6IHN0cmluZztcbiAgICAgIHByZXNlbmNlU3RvcmU6IFdlYlNvY2tldFByZXNlbmNlU3RvcmU7XG4gICAgfSxcbiAgKSB7fVxuXG4gIHJlc29sdmUoYXVkaWVuY2U6IFdlYlNvY2tldEF1ZGllbmNlKTogV2ViU29ja2V0Um91dGluZ1BsYW4ge1xuICAgIGNvbnN0IGxvY2FsU2Vzc2lvbklkczogc3RyaW5nW10gPSBbXTtcbiAgICBjb25zdCByZW1vdGVOb2RlSWRzID0gbmV3IFNldDxzdHJpbmc+KCk7XG5cbiAgICBmb3IgKGNvbnN0IG1ldGEgb2YgdGhpcy5vcHRpb25zLnByZXNlbmNlU3RvcmUucXVlcnlBdWRpZW5jZShhdWRpZW5jZSkpIHtcbiAgICAgIGlmIChtZXRhLm5vZGVJZCA9PT0gdGhpcy5vcHRpb25zLm5vZGVJZCkge1xuICAgICAgICBsb2NhbFNlc3Npb25JZHMucHVzaChtZXRhLnNlc3Npb25JZCk7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuXG4gICAgICByZW1vdGVOb2RlSWRzLmFkZChtZXRhLm5vZGVJZCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIGxvY2FsU2Vzc2lvbklkcyxcbiAgICAgIHJlbW90ZU5vZGVJZHM6IFsuLi5yZW1vdGVOb2RlSWRzXSxcbiAgICB9O1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Q0FRYSw0QkFBYixNQUF1QztFQUVsQjtFQURuQixZQUNFLFNBSUE7R0FKaUIsS0FBQSxVQUFBO0VBSWhCO0VBRUgsUUFBUSxVQUFtRDtHQUN6RCxNQUFNLGtCQUE0QixDQUFDO0dBQ25DLE1BQU0sZ0NBQWdCLElBQUksSUFBWTtHQUV0QyxLQUFLLE1BQU0sUUFBUSxLQUFLLFFBQVEsY0FBYyxjQUFjLFFBQVEsR0FBRztJQUNyRSxJQUFJLEtBQUssV0FBVyxLQUFLLFFBQVEsUUFBUTtLQUN2QyxnQkFBZ0IsS0FBSyxLQUFLLFNBQVM7S0FDbkM7SUFDRjtJQUVBLGNBQWMsSUFBSSxLQUFLLE1BQU07R0FDL0I7R0FFQSxPQUFPO0lBQ0w7SUFDQSxlQUFlLENBQUMsR0FBRyxhQUFhO0dBQ2xDO0VBQ0Y7Q0FDRiJ9
@@ -1,5 +1,4 @@
1
- import { __esmMin } from "../_virtual/rolldown_runtime.js";
2
-
1
+ import { __esmMin } from "../_virtual/_rolldown/runtime.js";
3
2
  //#region src/stream/ws-audience.ts
4
3
  var WebSocketAudience;
5
4
  var init_ws_audience = __esmMin((() => {
@@ -39,8 +38,8 @@ var init_ws_audience = __esmMin((() => {
39
38
  }
40
39
  };
41
40
  }));
42
-
43
41
  //#endregion
44
42
  init_ws_audience();
45
43
  export { WebSocketAudience, init_ws_audience };
46
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3MtYXVkaWVuY2UuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3N0cmVhbS93cy1hdWRpZW5jZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0eXBlIFdlYlNvY2tldFJvb21JZCwgdHlwZSBXZWJTb2NrZXRVc2VySWQgfSBmcm9tIFwiLi93cy1jb3JlXCI7XG5cbmV4cG9ydCB0eXBlIFdlYlNvY2tldEF1ZGllbmNlID1cbiAgfCB7XG4gICAgICB0eXBlOiBcImFsbFwiO1xuICAgICAgbmFtZXNwYWNlPzogc3RyaW5nO1xuICAgIH1cbiAgfCB7XG4gICAgICB0eXBlOiBcInJvb21cIjtcbiAgICAgIHJvb21JZDogV2ViU29ja2V0Um9vbUlkO1xuICAgICAgbmFtZXNwYWNlPzogc3RyaW5nO1xuICAgIH1cbiAgfCB7XG4gICAgICB0eXBlOiBcInVzZXJcIjtcbiAgICAgIHVzZXJJZDogV2ViU29ja2V0VXNlcklkO1xuICAgICAgbmFtZXNwYWNlPzogc3RyaW5nO1xuICAgIH1cbiAgfCB7XG4gICAgICB0eXBlOiBcImNvbm5lY3Rpb25zXCI7XG4gICAgICBjb25uZWN0aW9uSWRzOiBzdHJpbmdbXTtcbiAgICAgIG5hbWVzcGFjZT86IHN0cmluZztcbiAgICB9XG4gIHwge1xuICAgICAgdHlwZTogXCJ1bmlvblwiO1xuICAgICAgYXVkaWVuY2VzOiBXZWJTb2NrZXRBdWRpZW5jZVtdO1xuICAgIH07XG5cbmV4cG9ydCBjb25zdCBXZWJTb2NrZXRBdWRpZW5jZSA9IHtcbiAgYWxsKG5hbWVzcGFjZT86IHN0cmluZyk6IFdlYlNvY2tldEF1ZGllbmNlIHtcbiAgICByZXR1cm4ge1xuICAgICAgdHlwZTogXCJhbGxcIixcbiAgICAgIG5hbWVzcGFjZSxcbiAgICB9O1xuICB9LFxuICByb29tKHJvb21JZDogV2ViU29ja2V0Um9vbUlkLCBuYW1lc3BhY2U/OiBzdHJpbmcpOiBXZWJTb2NrZXRBdWRpZW5jZSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHR5cGU6IFwicm9vbVwiLFxuICAgICAgcm9vbUlkLFxuICAgICAgbmFtZXNwYWNlLFxuICAgIH07XG4gIH0sXG4gIHVzZXIodXNlcklkOiBXZWJTb2NrZXRVc2VySWQsIG5hbWVzcGFjZT86IHN0cmluZyk6IFdlYlNvY2tldEF1ZGllbmNlIHtcbiAgICByZXR1cm4ge1xuICAgICAgdHlwZTogXCJ1c2VyXCIsXG4gICAgICB1c2VySWQsXG4gICAgICBuYW1lc3BhY2UsXG4gICAgfTtcbiAgfSxcbiAgY29ubmVjdGlvbnMoY29ubmVjdGlvbklkczogc3RyaW5nW10sIG5hbWVzcGFjZT86IHN0cmluZyk6IFdlYlNvY2tldEF1ZGllbmNlIHtcbiAgICByZXR1cm4ge1xuICAgICAgdHlwZTogXCJjb25uZWN0aW9uc1wiLFxuICAgICAgY29ubmVjdGlvbklkcyxcbiAgICAgIG5hbWVzcGFjZSxcbiAgICB9O1xuICB9LFxuICB1bmlvbiguLi5hdWRpZW5jZXM6IFdlYlNvY2tldEF1ZGllbmNlW10pOiBXZWJTb2NrZXRBdWRpZW5jZSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHR5cGU6IFwidW5pb25cIixcbiAgICAgIGF1ZGllbmNlcyxcbiAgICB9O1xuICB9LFxufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Q0EyQmEsb0JBQW9CO0VBQy9CLElBQUksV0FBdUM7QUFDekMsVUFBTztJQUNMLE1BQU07SUFDTjtJQUNEOztFQUVILEtBQUssUUFBeUIsV0FBdUM7QUFDbkUsVUFBTztJQUNMLE1BQU07SUFDTjtJQUNBO0lBQ0Q7O0VBRUgsS0FBSyxRQUF5QixXQUF1QztBQUNuRSxVQUFPO0lBQ0wsTUFBTTtJQUNOO0lBQ0E7SUFDRDs7RUFFSCxZQUFZLGVBQXlCLFdBQXVDO0FBQzFFLFVBQU87SUFDTCxNQUFNO0lBQ047SUFDQTtJQUNEOztFQUVILE1BQU0sR0FBRyxXQUFtRDtBQUMxRCxVQUFPO0lBQ0wsTUFBTTtJQUNOO0lBQ0Q7O0VBRUoifQ==
44
+
45
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3MtYXVkaWVuY2UuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3N0cmVhbS93cy1hdWRpZW5jZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0eXBlIFdlYlNvY2tldFJvb21JZCwgdHlwZSBXZWJTb2NrZXRVc2VySWQgfSBmcm9tIFwiLi93cy1jb3JlXCI7XG5cbmV4cG9ydCB0eXBlIFdlYlNvY2tldEF1ZGllbmNlID1cbiAgfCB7XG4gICAgICB0eXBlOiBcImFsbFwiO1xuICAgICAgbmFtZXNwYWNlPzogc3RyaW5nO1xuICAgIH1cbiAgfCB7XG4gICAgICB0eXBlOiBcInJvb21cIjtcbiAgICAgIHJvb21JZDogV2ViU29ja2V0Um9vbUlkO1xuICAgICAgbmFtZXNwYWNlPzogc3RyaW5nO1xuICAgIH1cbiAgfCB7XG4gICAgICB0eXBlOiBcInVzZXJcIjtcbiAgICAgIHVzZXJJZDogV2ViU29ja2V0VXNlcklkO1xuICAgICAgbmFtZXNwYWNlPzogc3RyaW5nO1xuICAgIH1cbiAgfCB7XG4gICAgICB0eXBlOiBcImNvbm5lY3Rpb25zXCI7XG4gICAgICBjb25uZWN0aW9uSWRzOiBzdHJpbmdbXTtcbiAgICAgIG5hbWVzcGFjZT86IHN0cmluZztcbiAgICB9XG4gIHwge1xuICAgICAgdHlwZTogXCJ1bmlvblwiO1xuICAgICAgYXVkaWVuY2VzOiBXZWJTb2NrZXRBdWRpZW5jZVtdO1xuICAgIH07XG5cbmV4cG9ydCBjb25zdCBXZWJTb2NrZXRBdWRpZW5jZSA9IHtcbiAgYWxsKG5hbWVzcGFjZT86IHN0cmluZyk6IFdlYlNvY2tldEF1ZGllbmNlIHtcbiAgICByZXR1cm4ge1xuICAgICAgdHlwZTogXCJhbGxcIixcbiAgICAgIG5hbWVzcGFjZSxcbiAgICB9O1xuICB9LFxuICByb29tKHJvb21JZDogV2ViU29ja2V0Um9vbUlkLCBuYW1lc3BhY2U/OiBzdHJpbmcpOiBXZWJTb2NrZXRBdWRpZW5jZSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHR5cGU6IFwicm9vbVwiLFxuICAgICAgcm9vbUlkLFxuICAgICAgbmFtZXNwYWNlLFxuICAgIH07XG4gIH0sXG4gIHVzZXIodXNlcklkOiBXZWJTb2NrZXRVc2VySWQsIG5hbWVzcGFjZT86IHN0cmluZyk6IFdlYlNvY2tldEF1ZGllbmNlIHtcbiAgICByZXR1cm4ge1xuICAgICAgdHlwZTogXCJ1c2VyXCIsXG4gICAgICB1c2VySWQsXG4gICAgICBuYW1lc3BhY2UsXG4gICAgfTtcbiAgfSxcbiAgY29ubmVjdGlvbnMoY29ubmVjdGlvbklkczogc3RyaW5nW10sIG5hbWVzcGFjZT86IHN0cmluZyk6IFdlYlNvY2tldEF1ZGllbmNlIHtcbiAgICByZXR1cm4ge1xuICAgICAgdHlwZTogXCJjb25uZWN0aW9uc1wiLFxuICAgICAgY29ubmVjdGlvbklkcyxcbiAgICAgIG5hbWVzcGFjZSxcbiAgICB9O1xuICB9LFxuICB1bmlvbiguLi5hdWRpZW5jZXM6IFdlYlNvY2tldEF1ZGllbmNlW10pOiBXZWJTb2NrZXRBdWRpZW5jZSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHR5cGU6IFwidW5pb25cIixcbiAgICAgIGF1ZGllbmNlcyxcbiAgICB9O1xuICB9LFxufTtcbiJdLCJtYXBwaW5ncyI6Ijs7OztDQTJCYSxvQkFBb0I7RUFDL0IsSUFBSSxXQUF1QztHQUN6QyxPQUFPO0lBQ0wsTUFBTTtJQUNOO0dBQ0Y7RUFDRjtFQUNBLEtBQUssUUFBeUIsV0FBdUM7R0FDbkUsT0FBTztJQUNMLE1BQU07SUFDTjtJQUNBO0dBQ0Y7RUFDRjtFQUNBLEtBQUssUUFBeUIsV0FBdUM7R0FDbkUsT0FBTztJQUNMLE1BQU07SUFDTjtJQUNBO0dBQ0Y7RUFDRjtFQUNBLFlBQVksZUFBeUIsV0FBdUM7R0FDMUUsT0FBTztJQUNMLE1BQU07SUFDTjtJQUNBO0dBQ0Y7RUFDRjtFQUNBLE1BQU0sR0FBRyxXQUFtRDtHQUMxRCxPQUFPO0lBQ0wsTUFBTTtJQUNOO0dBQ0Y7RUFDRjtDQUNGIn0=
@@ -1,5 +1,4 @@
1
- import { __esmMin } from "../_virtual/rolldown_runtime.js";
2
-
1
+ import { __esmMin } from "../_virtual/_rolldown/runtime.js";
3
2
  //#region src/stream/ws-cluster-bus.ts
4
3
  var NoopWebSocketClusterBus;
5
4
  var init_ws_cluster_bus = __esmMin((() => {
@@ -11,8 +10,8 @@ var init_ws_cluster_bus = __esmMin((() => {
11
10
  shutdown() {}
12
11
  };
13
12
  }));
14
-
15
13
  //#endregion
16
14
  init_ws_cluster_bus();
17
15
  export { NoopWebSocketClusterBus, init_ws_cluster_bus };
18
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3MtY2x1c3Rlci1idXMuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3N0cmVhbS93cy1jbHVzdGVyLWJ1cy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0eXBlIFdlYlNvY2tldEF1ZGllbmNlIH0gZnJvbSBcIi4vd3MtYXVkaWVuY2VcIjtcblxuZXhwb3J0IHR5cGUgV2ViU29ja2V0Q2x1c3RlckVudmVsb3BlID0ge1xuICBpZDogc3RyaW5nO1xuICBzb3VyY2VOb2RlSWQ6IHN0cmluZztcbiAgdGFyZ2V0Tm9kZUlkcz86IHN0cmluZ1tdO1xuICBuYW1lc3BhY2U/OiBzdHJpbmc7XG4gIGF1ZGllbmNlOiBXZWJTb2NrZXRBdWRpZW5jZTtcbiAgZXZlbnQ6IHN0cmluZztcbiAgZGF0YTogdW5rbm93bjtcbiAgZW1pdHRlZEF0OiBudW1iZXI7XG59O1xuXG5leHBvcnQgdHlwZSBXZWJTb2NrZXRDbHVzdGVyRW52ZWxvcGVIYW5kbGVyID0gKFxuICBlbnZlbG9wZTogV2ViU29ja2V0Q2x1c3RlckVudmVsb3BlLFxuKSA9PiB2b2lkIHwgUHJvbWlzZTx2b2lkPjtcblxuZXhwb3J0IGludGVyZmFjZSBXZWJTb2NrZXRDbHVzdGVyQnVzIHtcbiAgcHVibGlzaChlbnZlbG9wZTogV2ViU29ja2V0Q2x1c3RlckVudmVsb3BlKTogdm9pZCB8IFByb21pc2U8dm9pZD47XG4gIHN1YnNjcmliZShoYW5kbGVyOiBXZWJTb2NrZXRDbHVzdGVyRW52ZWxvcGVIYW5kbGVyKTogKCkgPT4gdm9pZDtcbiAgc2h1dGRvd24oKTogdm9pZCB8IFByb21pc2U8dm9pZD47XG59XG5cbmV4cG9ydCBjbGFzcyBOb29wV2ViU29ja2V0Q2x1c3RlckJ1cyBpbXBsZW1lbnRzIFdlYlNvY2tldENsdXN0ZXJCdXMge1xuICBwdWJsaXNoKF9lbnZlbG9wZTogV2ViU29ja2V0Q2x1c3RlckVudmVsb3BlKTogdm9pZCB7fVxuXG4gIHN1YnNjcmliZShfaGFuZGxlcjogV2ViU29ja2V0Q2x1c3RlckVudmVsb3BlSGFuZGxlcik6ICgpID0+IHZvaWQge1xuICAgIHJldHVybiAoKSA9PiB7fTtcbiAgfVxuXG4gIHNodXRkb3duKCk6IHZvaWQge31cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Q0F1QmEsMEJBQWIsTUFBb0U7RUFDbEUsUUFBUSxXQUEyQztFQUVuRCxVQUFVLFVBQXVEO0FBQy9ELGdCQUFhOztFQUdmLFdBQWlCIn0=
16
+
17
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3MtY2x1c3Rlci1idXMuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3N0cmVhbS93cy1jbHVzdGVyLWJ1cy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0eXBlIFdlYlNvY2tldEF1ZGllbmNlIH0gZnJvbSBcIi4vd3MtYXVkaWVuY2VcIjtcblxuZXhwb3J0IHR5cGUgV2ViU29ja2V0Q2x1c3RlckVudmVsb3BlID0ge1xuICBpZDogc3RyaW5nO1xuICBzb3VyY2VOb2RlSWQ6IHN0cmluZztcbiAgdGFyZ2V0Tm9kZUlkcz86IHN0cmluZ1tdO1xuICBuYW1lc3BhY2U/OiBzdHJpbmc7XG4gIGF1ZGllbmNlOiBXZWJTb2NrZXRBdWRpZW5jZTtcbiAgZXZlbnQ6IHN0cmluZztcbiAgZGF0YTogdW5rbm93bjtcbiAgZW1pdHRlZEF0OiBudW1iZXI7XG59O1xuXG5leHBvcnQgdHlwZSBXZWJTb2NrZXRDbHVzdGVyRW52ZWxvcGVIYW5kbGVyID0gKFxuICBlbnZlbG9wZTogV2ViU29ja2V0Q2x1c3RlckVudmVsb3BlLFxuKSA9PiB2b2lkIHwgUHJvbWlzZTx2b2lkPjtcblxuZXhwb3J0IGludGVyZmFjZSBXZWJTb2NrZXRDbHVzdGVyQnVzIHtcbiAgcHVibGlzaChlbnZlbG9wZTogV2ViU29ja2V0Q2x1c3RlckVudmVsb3BlKTogdm9pZCB8IFByb21pc2U8dm9pZD47XG4gIHN1YnNjcmliZShoYW5kbGVyOiBXZWJTb2NrZXRDbHVzdGVyRW52ZWxvcGVIYW5kbGVyKTogKCkgPT4gdm9pZDtcbiAgc2h1dGRvd24oKTogdm9pZCB8IFByb21pc2U8dm9pZD47XG59XG5cbmV4cG9ydCBjbGFzcyBOb29wV2ViU29ja2V0Q2x1c3RlckJ1cyBpbXBsZW1lbnRzIFdlYlNvY2tldENsdXN0ZXJCdXMge1xuICBwdWJsaXNoKF9lbnZlbG9wZTogV2ViU29ja2V0Q2x1c3RlckVudmVsb3BlKTogdm9pZCB7fVxuXG4gIHN1YnNjcmliZShfaGFuZGxlcjogV2ViU29ja2V0Q2x1c3RlckVudmVsb3BlSGFuZGxlcik6ICgpID0+IHZvaWQge1xuICAgIHJldHVybiAoKSA9PiB7fTtcbiAgfVxuXG4gIHNodXRkb3duKCk6IHZvaWQge31cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7OztDQXVCYSwwQkFBYixNQUFvRTtFQUNsRSxRQUFRLFdBQTJDLENBQUM7RUFFcEQsVUFBVSxVQUF1RDtHQUMvRCxhQUFhLENBQUM7RUFDaEI7RUFFQSxXQUFpQixDQUFDO0NBQ3BCIn0=
@@ -1 +1 @@
1
- export { };
1
+ export {};
@@ -1,13 +1,13 @@
1
- import { __esmMin } from "../_virtual/rolldown_runtime.js";
1
+ import { __esmMin } from "../_virtual/_rolldown/runtime.js";
2
2
  import { NoopWebSocketTelemetryController, init_ws_telemetry } from "./ws-telemetry.js";
3
3
  import { randomUUID } from "node:crypto";
4
-
5
4
  //#region src/stream/ws-delivery.ts
6
5
  var FAN_OUT_BATCH_SIZE, WebSocketDeliveryEngine;
7
6
  var init_ws_delivery = __esmMin((() => {
8
7
  init_ws_telemetry();
9
8
  FAN_OUT_BATCH_SIZE = 250;
10
9
  WebSocketDeliveryEngine = class {
10
+ options;
11
11
  pendingFanOutJobs = [];
12
12
  fanOutFlushScheduled = false;
13
13
  unsubscribe;
@@ -40,9 +40,7 @@ var init_ws_delivery = __esmMin((() => {
40
40
  tags: { audience_type: audience.type }
41
41
  });
42
42
  this.enqueueFanOut(localTargets, event, data);
43
- if (routingPlan.remoteNodeIds.length === 0) {
44
- return;
45
- }
43
+ if (routingPlan.remoteNodeIds.length === 0) return;
46
44
  const envelope = {
47
45
  id: randomUUID(),
48
46
  sourceNodeId: this.options.nodeId,
@@ -97,9 +95,7 @@ var init_ws_delivery = __esmMin((() => {
97
95
  }
98
96
  getTelemetrySnapshot() {
99
97
  let pendingFanOutTargets = 0;
100
- for (const job of this.pendingFanOutJobs) {
101
- pendingFanOutTargets += Math.max(job.targets.length - job.cursor, 0);
102
- }
98
+ for (const job of this.pendingFanOutJobs) pendingFanOutTargets += Math.max(job.targets.length - job.cursor, 0);
103
99
  return {
104
100
  pendingFanOutJobs: this.pendingFanOutJobs.length,
105
101
  pendingFanOutTargets
@@ -153,9 +149,7 @@ var init_ws_delivery = __esmMin((() => {
153
149
  });
154
150
  }
155
151
  enqueueFanOut(targets, event, data) {
156
- if (targets.length === 0) {
157
- return;
158
- }
152
+ if (targets.length === 0) return;
159
153
  this.pendingFanOutJobs.push({
160
154
  targets,
161
155
  event,
@@ -173,9 +167,7 @@ var init_ws_delivery = __esmMin((() => {
173
167
  this.scheduleFanOutFlush();
174
168
  }
175
169
  scheduleFanOutFlush() {
176
- if (this.fanOutFlushScheduled) {
177
- return;
178
- }
170
+ if (this.fanOutFlushScheduled) return;
179
171
  this.fanOutFlushScheduled = true;
180
172
  setImmediate(() => {
181
173
  this.fanOutFlushScheduled = false;
@@ -195,9 +187,7 @@ var init_ws_delivery = __esmMin((() => {
195
187
  job.cursor += 1;
196
188
  processed += 1;
197
189
  }
198
- if (job.cursor >= job.targets.length) {
199
- this.pendingFanOutJobs.shift();
200
- }
190
+ if (job.cursor >= job.targets.length) this.pendingFanOutJobs.shift();
201
191
  }
202
192
  } catch (error) {
203
193
  status = "error";
@@ -218,16 +208,12 @@ var init_ws_delivery = __esmMin((() => {
218
208
  attributes: { processedCount: processed },
219
209
  errorType
220
210
  });
221
- if (this.pendingFanOutJobs.length > 0) {
222
- this.scheduleFanOutFlush();
223
- }
211
+ if (this.pendingFanOutJobs.length > 0) this.scheduleFanOutFlush();
224
212
  }
225
213
  }
226
214
  safePublish(connection, event, data) {
227
215
  try {
228
- if (!connection.closed) {
229
- connection.publishUntyped(event, data);
230
- }
216
+ if (!connection.closed) connection.publishUntyped(event, data);
231
217
  } catch {
232
218
  this.telemetry.emit({
233
219
  name: "ws.fanout.publish.failed",
@@ -242,8 +228,8 @@ var init_ws_delivery = __esmMin((() => {
242
228
  }
243
229
  };
244
230
  }));
245
-
246
231
  //#endregion
247
232
  init_ws_delivery();
248
233
  export { WebSocketDeliveryEngine, init_ws_delivery };
249
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3MtZGVsaXZlcnkuanMiLCJuYW1lcyI6WyJvcHRpb25zOiB7XG4gICAgICBub2RlSWQ6IHN0cmluZztcbiAgICAgIGxvY2FsQ29ubmVjdGlvbnM6IFdlYlNvY2tldExvY2FsQ29ubmVjdGlvblN0b3JlO1xuICAgICAgYXVkaWVuY2VSZXNvbHZlcjogV2ViU29ja2V0QXVkaWVuY2VSZXNvbHZlcjtcbiAgICAgIGNsdXN0ZXJCdXM6IFdlYlNvY2tldENsdXN0ZXJCdXM7XG4gICAgICB0ZWxlbWV0cnlDb250cm9sbGVyPzogV2ViU29ja2V0VGVsZW1ldHJ5Q29udHJvbGxlcjtcbiAgICB9IiwiZW52ZWxvcGU6IFdlYlNvY2tldENsdXN0ZXJFbnZlbG9wZSIsInN0YXR1czogXCJ1bnNldFwiIHwgXCJlcnJvclwiIiwiZXJyb3JUeXBlOiBzdHJpbmcgfCB1bmRlZmluZWQiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvc3RyZWFtL3dzLWRlbGl2ZXJ5LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHJhbmRvbVVVSUQgfSBmcm9tIFwibm9kZTpjcnlwdG9cIjtcblxuaW1wb3J0IHsgdHlwZSBXZWJTb2NrZXRBdWRpZW5jZSB9IGZyb20gXCIuL3dzLWF1ZGllbmNlXCI7XG5pbXBvcnQgeyB0eXBlIFdlYlNvY2tldEF1ZGllbmNlUmVzb2x2ZXIgfSBmcm9tIFwiLi93cy1hdWRpZW5jZS1yZXNvbHZlclwiO1xuaW1wb3J0IHsgdHlwZSBXZWJTb2NrZXRDbHVzdGVyQnVzLCB0eXBlIFdlYlNvY2tldENsdXN0ZXJFbnZlbG9wZSB9IGZyb20gXCIuL3dzLWNsdXN0ZXItYnVzXCI7XG5pbXBvcnQgeyB0eXBlIE1hbmFnZWRXZWJTb2NrZXRDb25uZWN0aW9uIH0gZnJvbSBcIi4vd3MtY29yZVwiO1xuaW1wb3J0IHsgdHlwZSBXZWJTb2NrZXRMb2NhbENvbm5lY3Rpb25TdG9yZSB9IGZyb20gXCIuL3dzLWxvY2FsLWNvbm5lY3Rpb24tc3RvcmVcIjtcbmltcG9ydCB7XG4gIE5vb3BXZWJTb2NrZXRUZWxlbWV0cnlDb250cm9sbGVyLFxuICB0eXBlIFdlYlNvY2tldFRlbGVtZXRyeUNvbnRyb2xsZXIsXG59IGZyb20gXCIuL3dzLXRlbGVtZXRyeVwiO1xuXG4vLyBmYW4tb3V07J2EIGV2ZW50IGxvb3AgdGljayDri6jsnITroZwg64KY64igIO2VnCDrsojsl5Ag6ri0IOuPmeq4sCDro6jtlITrpbwg66eM65Ok7KeAIOyViuqyjCDtlahcbmNvbnN0IEZBTl9PVVRfQkFUQ0hfU0laRSA9IDI1MDtcblxuZXhwb3J0IGNsYXNzIFdlYlNvY2tldERlbGl2ZXJ5RW5naW5lIHtcbiAgcHJpdmF0ZSByZWFkb25seSBwZW5kaW5nRmFuT3V0Sm9iczogQXJyYXk8e1xuICAgIHRhcmdldHM6IE1hbmFnZWRXZWJTb2NrZXRDb25uZWN0aW9uW107XG4gICAgZXZlbnQ6IHN0cmluZztcbiAgICBkYXRhOiB1bmtub3duO1xuICAgIGN1cnNvcjogbnVtYmVyO1xuICB9PiA9IFtdO1xuICBwcml2YXRlIGZhbk91dEZsdXNoU2NoZWR1bGVkID0gZmFsc2U7XG4gIHByaXZhdGUgcmVhZG9ubHkgdW5zdWJzY3JpYmU6ICgpID0+IHZvaWQ7XG4gIHByaXZhdGUgcmVhZG9ubHkgdGVsZW1ldHJ5OiBXZWJTb2NrZXRUZWxlbWV0cnlDb250cm9sbGVyO1xuICBwcml2YXRlIHJlYWRvbmx5IHVucmVnaXN0ZXJNZXRyaWNTb3VyY2U6ICgpID0+IHZvaWQ7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBvcHRpb25zOiB7XG4gICAgICBub2RlSWQ6IHN0cmluZztcbiAgICAgIGxvY2FsQ29ubmVjdGlvbnM6IFdlYlNvY2tldExvY2FsQ29ubmVjdGlvblN0b3JlO1xuICAgICAgYXVkaWVuY2VSZXNvbHZlcjogV2ViU29ja2V0QXVkaWVuY2VSZXNvbHZlcjtcbiAgICAgIGNsdXN0ZXJCdXM6IFdlYlNvY2tldENsdXN0ZXJCdXM7XG4gICAgICB0ZWxlbWV0cnlDb250cm9sbGVyPzogV2ViU29ja2V0VGVsZW1ldHJ5Q29udHJvbGxlcjtcbiAgICB9LFxuICApIHtcbiAgICB0aGlzLnRlbGVtZXRyeSA9IHRoaXMub3B0aW9ucy50ZWxlbWV0cnlDb250cm9sbGVyID8/IG5ldyBOb29wV2ViU29ja2V0VGVsZW1ldHJ5Q29udHJvbGxlcigpO1xuICAgIHRoaXMudW5zdWJzY3JpYmUgPSB0aGlzLm9wdGlvbnMuY2x1c3RlckJ1cy5zdWJzY3JpYmUoKGVudmVsb3BlKSA9PiB7XG4gICAgICB0aGlzLmhhbmRsZUNsdXN0ZXJFbnZlbG9wZShlbnZlbG9wZSk7XG4gICAgfSk7XG4gICAgdGhpcy51bnJlZ2lzdGVyTWV0cmljU291cmNlID0gdGhpcy50ZWxlbWV0cnkucmVnaXN0ZXJNZXRyaWNTb3VyY2Uoe1xuICAgICAgY29sbGVjdDogKCkgPT4gdGhpcy5nZXRUZWxlbWV0cnlTbmFwc2hvdCgpLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGlzaFRvQXVkaWVuY2UoYXVkaWVuY2U6IFdlYlNvY2tldEF1ZGllbmNlLCBldmVudDogc3RyaW5nLCBkYXRhOiB1bmtub3duKTogdm9pZCB7XG4gICAgY29uc3Qgcm91dGluZ1BsYW4gPSB0aGlzLm9wdGlvbnMuYXVkaWVuY2VSZXNvbHZlci5yZXNvbHZlKGF1ZGllbmNlKTtcbiAgICBjb25zdCBsb2NhbFRhcmdldHMgPSB0aGlzLm9wdGlvbnMubG9jYWxDb25uZWN0aW9ucy5nZXRDb25uZWN0aW9ucyhyb3V0aW5nUGxhbi5sb2NhbFNlc3Npb25JZHMpO1xuXG4gICAgdGhpcy50ZWxlbWV0cnkuZW1pdCh7XG4gICAgICBuYW1lOiBcIndzLmZhbm91dC5yZXNvbHZlZFwiLFxuICAgICAgbGV2ZWw6IFwiZGVidWdcIixcbiAgICAgIGRldGFpbDoge1xuICAgICAgICBsb2NhbFRhcmdldENvdW50OiBsb2NhbFRhcmdldHMubGVuZ3RoLFxuICAgICAgICByZW1vdGVOb2RlQ291bnQ6IHJvdXRpbmdQbGFuLnJlbW90ZU5vZGVJZHMubGVuZ3RoLFxuICAgICAgfSxcbiAgICB9KTtcbiAgICB0aGlzLnRlbGVtZXRyeS5yZWNvcmRNZXRyaWMoe1xuICAgICAgbmFtZTogXCJzb25hbXUud3MuZmFub3V0LnRhcmdldHNcIixcbiAgICAgIGtpbmQ6IFwiaGlzdG9ncmFtXCIsXG4gICAgICB2YWx1ZTogbG9jYWxUYXJnZXRzLmxlbmd0aCArIHJvdXRpbmdQbGFuLnJlbW90ZU5vZGVJZHMubGVuZ3RoLFxuICAgICAgdW5pdDogXCIxXCIsXG4gICAgICB0YWdzOiB7IGF1ZGllbmNlX3R5cGU6IGF1ZGllbmNlLnR5cGUgfSxcbiAgICB9KTtcblxuICAgIHRoaXMuZW5xdWV1ZUZhbk91dChsb2NhbFRhcmdldHMsIGV2ZW50LCBkYXRhKTtcblxuICAgIGlmIChyb3V0aW5nUGxhbi5yZW1vdGVOb2RlSWRzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGVudmVsb3BlOiBXZWJTb2NrZXRDbHVzdGVyRW52ZWxvcGUgPSB7XG4gICAgICBpZDogcmFuZG9tVVVJRCgpLFxuICAgICAgc291cmNlTm9kZUlkOiB0aGlzLm9wdGlvbnMubm9kZUlkLFxuICAgICAgdGFyZ2V0Tm9kZUlkczogcm91dGluZ1BsYW4ucmVtb3RlTm9kZUlkcyxcbiAgICAgIGF1ZGllbmNlLFxuICAgICAgZXZlbnQsXG4gICAgICBkYXRhLFxuICAgICAgZW1pdHRlZEF0OiBEYXRlLm5vdygpLFxuICAgIH07XG5cbiAgICBjb25zdCBwdWJsaXNoU3RhcnRlZEF0ID0gcGVyZm9ybWFuY2Uubm93KCk7XG4gICAgUHJvbWlzZS5yZXNvbHZlKHRoaXMub3B0aW9ucy5jbHVzdGVyQnVzLnB1Ymxpc2goZW52ZWxvcGUpKVxuICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICBjb25zdCBkdXJhdGlvbk1zID0gcGVyZm9ybWFuY2Uubm93KCkgLSBwdWJsaXNoU3RhcnRlZEF0O1xuICAgICAgICB0aGlzLnRlbGVtZXRyeS5lbWl0KHtcbiAgICAgICAgICBuYW1lOiBcIndzLmNsdXN0ZXIuZW52ZWxvcGUucHVibGlzaGVkXCIsXG4gICAgICAgICAgbGV2ZWw6IFwiZGVidWdcIixcbiAgICAgICAgICBkZXRhaWw6IHsgZXZlbnQsIHRhcmdldE5vZGVDb3VudDogcm91dGluZ1BsYW4ucmVtb3RlTm9kZUlkcy5sZW5ndGggfSxcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMudGVsZW1ldHJ5LnJlY29yZFNwYW4oe1xuICAgICAgICAgIG9wZXJhdGlvbk5hbWU6IFwid3MuY2x1c3Rlci5wdWJsaXNoXCIsXG4gICAgICAgICAga2luZDogXCJwcm9kdWNlclwiLFxuICAgICAgICAgIGR1cmF0aW9uTXMsXG4gICAgICAgICAgc3RhdHVzOiBcInVuc2V0XCIsXG4gICAgICAgICAgYXR0cmlidXRlczoge1xuICAgICAgICAgICAgZXZlbnQsXG4gICAgICAgICAgICB0YXJnZXROb2RlQ291bnQ6IHJvdXRpbmdQbGFuLnJlbW90ZU5vZGVJZHMubGVuZ3RoLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgICAgfSlcbiAgICAgIC5jYXRjaCgoZXJyb3I6IHVua25vd24pID0+IHtcbiAgICAgICAgY29uc3QgZHVyYXRpb25NcyA9IHBlcmZvcm1hbmNlLm5vdygpIC0gcHVibGlzaFN0YXJ0ZWRBdDtcbiAgICAgICAgdGhpcy50ZWxlbWV0cnkuZW1pdCh7XG4gICAgICAgICAgbmFtZTogXCJ3cy5jbHVzdGVyLmVudmVsb3BlLmZhaWxlZFwiLFxuICAgICAgICAgIGxldmVsOiBcImVycm9yXCIsXG4gICAgICAgICAgZGV0YWlsOiB7IGV2ZW50IH0sXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLnRlbGVtZXRyeS5yZWNvcmRTcGFuKHtcbiAgICAgICAgICBvcGVyYXRpb25OYW1lOiBcIndzLmNsdXN0ZXIucHVibGlzaFwiLFxuICAgICAgICAgIGtpbmQ6IFwicHJvZHVjZXJcIixcbiAgICAgICAgICBkdXJhdGlvbk1zLFxuICAgICAgICAgIHN0YXR1czogXCJlcnJvclwiLFxuICAgICAgICAgIGF0dHJpYnV0ZXM6IHsgZXZlbnQgfSxcbiAgICAgICAgICBlcnJvclR5cGU6IGVycm9yIGluc3RhbmNlb2YgRXJyb3IgPyBlcnJvci5uYW1lIDogdHlwZW9mIGVycm9yLFxuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICB9XG5cbiAgYXN5bmMgc2h1dGRvd24oKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdGhpcy51bnJlZ2lzdGVyTWV0cmljU291cmNlKCk7XG4gICAgdGhpcy51bnN1YnNjcmliZSgpO1xuICAgIGF3YWl0IHRoaXMub3B0aW9ucy5jbHVzdGVyQnVzLnNodXRkb3duKCk7XG4gIH1cblxuICBnZXRUZWxlbWV0cnlTbmFwc2hvdCgpOiB7IHBlbmRpbmdGYW5PdXRKb2JzOiBudW1iZXI7IHBlbmRpbmdGYW5PdXRUYXJnZXRzOiBudW1iZXIgfSB7XG4gICAgbGV0IHBlbmRpbmdGYW5PdXRUYXJnZXRzID0gMDtcblxuICAgIGZvciAoY29uc3Qgam9iIG9mIHRoaXMucGVuZGluZ0Zhbk91dEpvYnMpIHtcbiAgICAgIHBlbmRpbmdGYW5PdXRUYXJnZXRzICs9IE1hdGgubWF4KGpvYi50YXJnZXRzLmxlbmd0aCAtIGpvYi5jdXJzb3IsIDApO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBwZW5kaW5nRmFuT3V0Sm9iczogdGhpcy5wZW5kaW5nRmFuT3V0Sm9icy5sZW5ndGgsXG4gICAgICBwZW5kaW5nRmFuT3V0VGFyZ2V0cyxcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVDbHVzdGVyRW52ZWxvcGUoZW52ZWxvcGU6IFdlYlNvY2tldENsdXN0ZXJFbnZlbG9wZSk6IHZvaWQge1xuICAgIGlmIChlbnZlbG9wZS5zb3VyY2VOb2RlSWQgPT09IHRoaXMub3B0aW9ucy5ub2RlSWQpIHtcbiAgICAgIHRoaXMudGVsZW1ldHJ5LmVtaXQoe1xuICAgICAgICBuYW1lOiBcIndzLmNsdXN0ZXIuZW52ZWxvcGUuaWdub3JlZFwiLFxuICAgICAgICBsZXZlbDogXCJkZWJ1Z1wiLFxuICAgICAgICBkZXRhaWw6IHsgcmVhc29uOiBcInNlbGZTb3VyY2VcIiwgZXZlbnQ6IGVudmVsb3BlLmV2ZW50IH0sXG4gICAgICB9KTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICBlbnZlbG9wZS50YXJnZXROb2RlSWRzICYmXG4gICAgICBlbnZlbG9wZS50YXJnZXROb2RlSWRzLmxlbmd0aCA+IDAgJiZcbiAgICAgICFlbnZlbG9wZS50YXJnZXROb2RlSWRzLmluY2x1ZGVzKHRoaXMub3B0aW9ucy5ub2RlSWQpXG4gICAgKSB7XG4gICAgICB0aGlzLnRlbGVtZXRyeS5lbWl0KHtcbiAgICAgICAgbmFtZTogXCJ3cy5jbHVzdGVyLmVudmVsb3BlLmlnbm9yZWRcIixcbiAgICAgICAgbGV2ZWw6IFwiZGVidWdcIixcbiAgICAgICAgZGV0YWlsOiB7IHJlYXNvbjogXCJ0YXJnZXRNaXNtYXRjaFwiLCBldmVudDogZW52ZWxvcGUuZXZlbnQgfSxcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHN0YXJ0ZWRBdCA9IHBlcmZvcm1hbmNlLm5vdygpO1xuICAgIHRoaXMudGVsZW1ldHJ5LmVtaXQoe1xuICAgICAgbmFtZTogXCJ3cy5jbHVzdGVyLmVudmVsb3BlLnJlY2VpdmVkXCIsXG4gICAgICBsZXZlbDogXCJkZWJ1Z1wiLFxuICAgICAgZGV0YWlsOiB7IGV2ZW50OiBlbnZlbG9wZS5ldmVudCwgc291cmNlTm9kZUlkOiBlbnZlbG9wZS5zb3VyY2VOb2RlSWQgfSxcbiAgICB9KTtcblxuICAgIGNvbnN0IHJvdXRpbmdQbGFuID0gdGhpcy5vcHRpb25zLmF1ZGllbmNlUmVzb2x2ZXIucmVzb2x2ZShlbnZlbG9wZS5hdWRpZW5jZSk7XG4gICAgY29uc3QgbG9jYWxUYXJnZXRzID0gdGhpcy5vcHRpb25zLmxvY2FsQ29ubmVjdGlvbnMuZ2V0Q29ubmVjdGlvbnMocm91dGluZ1BsYW4ubG9jYWxTZXNzaW9uSWRzKTtcbiAgICB0aGlzLmVucXVldWVGYW5PdXQobG9jYWxUYXJnZXRzLCBlbnZlbG9wZS5ldmVudCwgZW52ZWxvcGUuZGF0YSk7XG5cbiAgICB0aGlzLnRlbGVtZXRyeS5yZWNvcmRTcGFuKHtcbiAgICAgIG9wZXJhdGlvbk5hbWU6IFwid3MuY2x1c3Rlci5yZWNlaXZlXCIsXG4gICAgICBraW5kOiBcImNvbnN1bWVyXCIsXG4gICAgICBkdXJhdGlvbk1zOiBwZXJmb3JtYW5jZS5ub3coKSAtIHN0YXJ0ZWRBdCxcbiAgICAgIHN0YXR1czogXCJ1bnNldFwiLFxuICAgICAgYXR0cmlidXRlczoge1xuICAgICAgICBldmVudDogZW52ZWxvcGUuZXZlbnQsXG4gICAgICAgIHNvdXJjZU5vZGVJZDogZW52ZWxvcGUuc291cmNlTm9kZUlkLFxuICAgICAgICBsb2NhbFRhcmdldENvdW50OiBsb2NhbFRhcmdldHMubGVuZ3RoLFxuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZW5xdWV1ZUZhbk91dCh0YXJnZXRzOiBNYW5hZ2VkV2ViU29ja2V0Q29ubmVjdGlvbltdLCBldmVudDogc3RyaW5nLCBkYXRhOiB1bmtub3duKTogdm9pZCB7XG4gICAgaWYgKHRhcmdldHMubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5wZW5kaW5nRmFuT3V0Sm9icy5wdXNoKHtcbiAgICAgIHRhcmdldHMsXG4gICAgICBldmVudCxcbiAgICAgIGRhdGEsXG4gICAgICBjdXJzb3I6IDAsXG4gICAgfSk7XG4gICAgdGhpcy50ZWxlbWV0cnkuZW1pdCh7XG4gICAgICBuYW1lOiBcIndzLmZhbm91dC5lbnF1ZXVlZFwiLFxuICAgICAgbGV2ZWw6IFwiZGVidWdcIixcbiAgICAgIGRldGFpbDogeyB0YXJnZXRDb3VudDogdGFyZ2V0cy5sZW5ndGgsIGV2ZW50IH0sXG4gICAgfSk7XG4gICAgdGhpcy5zY2hlZHVsZUZhbk91dEZsdXNoKCk7XG4gIH1cblxuICBwcml2YXRlIHNjaGVkdWxlRmFuT3V0Rmx1c2goKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZmFuT3V0Rmx1c2hTY2hlZHVsZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmZhbk91dEZsdXNoU2NoZWR1bGVkID0gdHJ1ZTtcbiAgICBzZXRJbW1lZGlhdGUoKCkgPT4ge1xuICAgICAgdGhpcy5mYW5PdXRGbHVzaFNjaGVkdWxlZCA9IGZhbHNlO1xuICAgICAgdGhpcy5mbHVzaEZhbk91dEpvYnMoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZmx1c2hGYW5PdXRKb2JzKCk6IHZvaWQge1xuICAgIGNvbnN0IHN0YXJ0ZWRBdCA9IHBlcmZvcm1hbmNlLm5vdygpO1xuICAgIGxldCBwcm9jZXNzZWQgPSAwO1xuICAgIGxldCBzdGF0dXM6IFwidW5zZXRcIiB8IFwiZXJyb3JcIiA9IFwidW5zZXRcIjtcbiAgICBsZXQgZXJyb3JUeXBlOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgICB0cnkge1xuICAgICAgd2hpbGUgKHRoaXMucGVuZGluZ0Zhbk91dEpvYnMubGVuZ3RoID4gMCAmJiBwcm9jZXNzZWQgPCBGQU5fT1VUX0JBVENIX1NJWkUpIHtcbiAgICAgICAgY29uc3Qgam9iID0gdGhpcy5wZW5kaW5nRmFuT3V0Sm9ic1swXTtcblxuICAgICAgICB3aGlsZSAoam9iLmN1cnNvciA8IGpvYi50YXJnZXRzLmxlbmd0aCAmJiBwcm9jZXNzZWQgPCBGQU5fT1VUX0JBVENIX1NJWkUpIHtcbiAgICAgICAgICB0aGlzLnNhZmVQdWJsaXNoKGpvYi50YXJnZXRzW2pvYi5jdXJzb3JdLCBqb2IuZXZlbnQsIGpvYi5kYXRhKTtcbiAgICAgICAgICBqb2IuY3Vyc29yICs9IDE7XG4gICAgICAgICAgcHJvY2Vzc2VkICs9IDE7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoam9iLmN1cnNvciA+PSBqb2IudGFyZ2V0cy5sZW5ndGgpIHtcbiAgICAgICAgICB0aGlzLnBlbmRpbmdGYW5PdXRKb2JzLnNoaWZ0KCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgc3RhdHVzID0gXCJlcnJvclwiO1xuICAgICAgZXJyb3JUeXBlID0gZXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IGVycm9yLm5hbWUgOiB0eXBlb2YgZXJyb3I7XG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgY29uc3QgZHVyYXRpb25NcyA9IHBlcmZvcm1hbmNlLm5vdygpIC0gc3RhcnRlZEF0O1xuICAgICAgdGhpcy50ZWxlbWV0cnkuZW1pdCh7XG4gICAgICAgIG5hbWU6IFwid3MuZmFub3V0LmZsdXNoZWRcIixcbiAgICAgICAgbGV2ZWw6IFwiZGVidWdcIixcbiAgICAgICAgZGV0YWlsOiB7IHByb2Nlc3NlZENvdW50OiBwcm9jZXNzZWQgfSxcbiAgICAgIH0pO1xuICAgICAgdGhpcy50ZWxlbWV0cnkucmVjb3JkU3Bhbih7XG4gICAgICAgIG9wZXJhdGlvbk5hbWU6IFwid3MuZmFub3V0LmRpc3BhdGNoXCIsXG4gICAgICAgIGtpbmQ6IFwiaW50ZXJuYWxcIixcbiAgICAgICAgZHVyYXRpb25NcyxcbiAgICAgICAgc3RhdHVzLFxuICAgICAgICBhdHRyaWJ1dGVzOiB7IHByb2Nlc3NlZENvdW50OiBwcm9jZXNzZWQgfSxcbiAgICAgICAgZXJyb3JUeXBlLFxuICAgICAgfSk7XG5cbiAgICAgIGlmICh0aGlzLnBlbmRpbmdGYW5PdXRKb2JzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgdGhpcy5zY2hlZHVsZUZhbk91dEZsdXNoKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzYWZlUHVibGlzaChjb25uZWN0aW9uOiBNYW5hZ2VkV2ViU29ja2V0Q29ubmVjdGlvbiwgZXZlbnQ6IHN0cmluZywgZGF0YTogdW5rbm93bik6IHZvaWQge1xuICAgIHRyeSB7XG4gICAgICBpZiAoIWNvbm5lY3Rpb24uY2xvc2VkKSB7XG4gICAgICAgIGNvbm5lY3Rpb24ucHVibGlzaFVudHlwZWQoZXZlbnQsIGRhdGEpO1xuICAgICAgfVxuICAgIH0gY2F0Y2gge1xuICAgICAgdGhpcy50ZWxlbWV0cnkuZW1pdCh7XG4gICAgICAgIG5hbWU6IFwid3MuZmFub3V0LnB1Ymxpc2guZmFpbGVkXCIsXG4gICAgICAgIGxldmVsOiBcImVycm9yXCIsXG4gICAgICAgIGNvbm5lY3Rpb25JZDogY29ubmVjdGlvbi5pZCxcbiAgICAgICAgbmFtZXNwYWNlOiBjb25uZWN0aW9uLm5hbWVzcGFjZSxcbiAgICAgICAgdXNlcklkOiBjb25uZWN0aW9uLnVzZXJJZCxcbiAgICAgICAgZGV0YWlsOiB7IGV2ZW50IH0sXG4gICAgICB9KTtcbiAgICAgIGNvbm5lY3Rpb24uY2xvc2UoMTAxMSwgXCJXZWJTb2NrZXQgcHVibGlzaCBmYWlsZWRcIik7XG4gICAgfVxuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7b0JBVXdCO0NBR2xCLHFCQUFxQjtDQUVkLDBCQUFiLE1BQXFDO0VBQ25DLEFBQWlCLG9CQUtaLEVBQUU7RUFDUCxBQUFRLHVCQUF1QjtFQUMvQixBQUFpQjtFQUNqQixBQUFpQjtFQUNqQixBQUFpQjtFQUVqQixZQUNFLEFBQWlCQSxTQU9qQjtHQVBpQjtBQVFqQixRQUFLLFlBQVksS0FBSyxRQUFRLHVCQUF1QixJQUFJLGtDQUFrQztBQUMzRixRQUFLLGNBQWMsS0FBSyxRQUFRLFdBQVcsV0FBVyxhQUFhO0FBQ2pFLFNBQUssc0JBQXNCLFNBQVM7S0FDcEM7QUFDRixRQUFLLHlCQUF5QixLQUFLLFVBQVUscUJBQXFCLEVBQ2hFLGVBQWUsS0FBSyxzQkFBc0IsRUFDM0MsQ0FBQzs7RUFHSixrQkFBa0IsVUFBNkIsT0FBZSxNQUFxQjtHQUNqRixNQUFNLGNBQWMsS0FBSyxRQUFRLGlCQUFpQixRQUFRLFNBQVM7R0FDbkUsTUFBTSxlQUFlLEtBQUssUUFBUSxpQkFBaUIsZUFBZSxZQUFZLGdCQUFnQjtBQUU5RixRQUFLLFVBQVUsS0FBSztJQUNsQixNQUFNO0lBQ04sT0FBTztJQUNQLFFBQVE7S0FDTixrQkFBa0Is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
234
+
235
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3MtZGVsaXZlcnkuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3N0cmVhbS93cy1kZWxpdmVyeS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyByYW5kb21VVUlEIH0gZnJvbSBcIm5vZGU6Y3J5cHRvXCI7XG5cbmltcG9ydCB7IHR5cGUgV2ViU29ja2V0QXVkaWVuY2UgfSBmcm9tIFwiLi93cy1hdWRpZW5jZVwiO1xuaW1wb3J0IHsgdHlwZSBXZWJTb2NrZXRBdWRpZW5jZVJlc29sdmVyIH0gZnJvbSBcIi4vd3MtYXVkaWVuY2UtcmVzb2x2ZXJcIjtcbmltcG9ydCB7IHR5cGUgV2ViU29ja2V0Q2x1c3RlckJ1cywgdHlwZSBXZWJTb2NrZXRDbHVzdGVyRW52ZWxvcGUgfSBmcm9tIFwiLi93cy1jbHVzdGVyLWJ1c1wiO1xuaW1wb3J0IHsgdHlwZSBNYW5hZ2VkV2ViU29ja2V0Q29ubmVjdGlvbiB9IGZyb20gXCIuL3dzLWNvcmVcIjtcbmltcG9ydCB7IHR5cGUgV2ViU29ja2V0TG9jYWxDb25uZWN0aW9uU3RvcmUgfSBmcm9tIFwiLi93cy1sb2NhbC1jb25uZWN0aW9uLXN0b3JlXCI7XG5pbXBvcnQge1xuICBOb29wV2ViU29ja2V0VGVsZW1ldHJ5Q29udHJvbGxlcixcbiAgdHlwZSBXZWJTb2NrZXRUZWxlbWV0cnlDb250cm9sbGVyLFxufSBmcm9tIFwiLi93cy10ZWxlbWV0cnlcIjtcblxuLy8gZmFuLW91dOydhCBldmVudCBsb29wIHRpY2sg64uo7JyE66GcIOuCmOuIoCDtlZwg67KI7JeQIOq4tCDrj5nquLAg66Oo7ZSE66W8IOunjOuTpOyngCDslYrqsowg7ZWoXG5jb25zdCBGQU5fT1VUX0JBVENIX1NJWkUgPSAyNTA7XG5cbmV4cG9ydCBjbGFzcyBXZWJTb2NrZXREZWxpdmVyeUVuZ2luZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgcGVuZGluZ0Zhbk91dEpvYnM6IEFycmF5PHtcbiAgICB0YXJnZXRzOiBNYW5hZ2VkV2ViU29ja2V0Q29ubmVjdGlvbltdO1xuICAgIGV2ZW50OiBzdHJpbmc7XG4gICAgZGF0YTogdW5rbm93bjtcbiAgICBjdXJzb3I6IG51bWJlcjtcbiAgfT4gPSBbXTtcbiAgcHJpdmF0ZSBmYW5PdXRGbHVzaFNjaGVkdWxlZCA9IGZhbHNlO1xuICBwcml2YXRlIHJlYWRvbmx5IHVuc3Vic2NyaWJlOiAoKSA9PiB2b2lkO1xuICBwcml2YXRlIHJlYWRvbmx5IHRlbGVtZXRyeTogV2ViU29ja2V0VGVsZW1ldHJ5Q29udHJvbGxlcjtcbiAgcHJpdmF0ZSByZWFkb25seSB1bnJlZ2lzdGVyTWV0cmljU291cmNlOiAoKSA9PiB2b2lkO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgb3B0aW9uczoge1xuICAgICAgbm9kZUlkOiBzdHJpbmc7XG4gICAgICBsb2NhbENvbm5lY3Rpb25zOiBXZWJTb2NrZXRMb2NhbENvbm5lY3Rpb25TdG9yZTtcbiAgICAgIGF1ZGllbmNlUmVzb2x2ZXI6IFdlYlNvY2tldEF1ZGllbmNlUmVzb2x2ZXI7XG4gICAgICBjbHVzdGVyQnVzOiBXZWJTb2NrZXRDbHVzdGVyQnVzO1xuICAgICAgdGVsZW1ldHJ5Q29udHJvbGxlcj86IFdlYlNvY2tldFRlbGVtZXRyeUNvbnRyb2xsZXI7XG4gICAgfSxcbiAgKSB7XG4gICAgdGhpcy50ZWxlbWV0cnkgPSB0aGlzLm9wdGlvbnMudGVsZW1ldHJ5Q29udHJvbGxlciA/PyBuZXcgTm9vcFdlYlNvY2tldFRlbGVtZXRyeUNvbnRyb2xsZXIoKTtcbiAgICB0aGlzLnVuc3Vic2NyaWJlID0gdGhpcy5vcHRpb25zLmNsdXN0ZXJCdXMuc3Vic2NyaWJlKChlbnZlbG9wZSkgPT4ge1xuICAgICAgdGhpcy5oYW5kbGVDbHVzdGVyRW52ZWxvcGUoZW52ZWxvcGUpO1xuICAgIH0pO1xuICAgIHRoaXMudW5yZWdpc3Rlck1ldHJpY1NvdXJjZSA9IHRoaXMudGVsZW1ldHJ5LnJlZ2lzdGVyTWV0cmljU291cmNlKHtcbiAgICAgIGNvbGxlY3Q6ICgpID0+IHRoaXMuZ2V0VGVsZW1ldHJ5U25hcHNob3QoKSxcbiAgICB9KTtcbiAgfVxuXG4gIHB1Ymxpc2hUb0F1ZGllbmNlKGF1ZGllbmNlOiBXZWJTb2NrZXRBdWRpZW5jZSwgZXZlbnQ6IHN0cmluZywgZGF0YTogdW5rbm93bik6IHZvaWQge1xuICAgIGNvbnN0IHJvdXRpbmdQbGFuID0gdGhpcy5vcHRpb25zLmF1ZGllbmNlUmVzb2x2ZXIucmVzb2x2ZShhdWRpZW5jZSk7XG4gICAgY29uc3QgbG9jYWxUYXJnZXRzID0gdGhpcy5vcHRpb25zLmxvY2FsQ29ubmVjdGlvbnMuZ2V0Q29ubmVjdGlvbnMocm91dGluZ1BsYW4ubG9jYWxTZXNzaW9uSWRzKTtcblxuICAgIHRoaXMudGVsZW1ldHJ5LmVtaXQoe1xuICAgICAgbmFtZTogXCJ3cy5mYW5vdXQucmVzb2x2ZWRcIixcbiAgICAgIGxldmVsOiBcImRlYnVnXCIsXG4gICAgICBkZXRhaWw6IHtcbiAgICAgICAgbG9jYWxUYXJnZXRDb3VudDogbG9jYWxUYXJnZXRzLmxlbmd0aCxcbiAgICAgICAgcmVtb3RlTm9kZUNvdW50OiByb3V0aW5nUGxhbi5yZW1vdGVOb2RlSWRzLmxlbmd0aCxcbiAgICAgIH0sXG4gICAgfSk7XG4gICAgdGhpcy50ZWxlbWV0cnkucmVjb3JkTWV0cmljKHtcbiAgICAgIG5hbWU6IFwic29uYW11LndzLmZhbm91dC50YXJnZXRzXCIsXG4gICAgICBraW5kOiBcImhpc3RvZ3JhbVwiLFxuICAgICAgdmFsdWU6IGxvY2FsVGFyZ2V0cy5sZW5ndGggKyByb3V0aW5nUGxhbi5yZW1vdGVOb2RlSWRzLmxlbmd0aCxcbiAgICAgIHVuaXQ6IFwiMVwiLFxuICAgICAgdGFnczogeyBhdWRpZW5jZV90eXBlOiBhdWRpZW5jZS50eXBlIH0sXG4gICAgfSk7XG5cbiAgICB0aGlzLmVucXVldWVGYW5PdXQobG9jYWxUYXJnZXRzLCBldmVudCwgZGF0YSk7XG5cbiAgICBpZiAocm91dGluZ1BsYW4ucmVtb3RlTm9kZUlkcy5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBlbnZlbG9wZTogV2ViU29ja2V0Q2x1c3RlckVudmVsb3BlID0ge1xuICAgICAgaWQ6IHJhbmRvbVVVSUQoKSxcbiAgICAgIHNvdXJjZU5vZGVJZDogdGhpcy5vcHRpb25zLm5vZGVJZCxcbiAgICAgIHRhcmdldE5vZGVJZHM6IHJvdXRpbmdQbGFuLnJlbW90ZU5vZGVJZHMsXG4gICAgICBhdWRpZW5jZSxcbiAgICAgIGV2ZW50LFxuICAgICAgZGF0YSxcbiAgICAgIGVtaXR0ZWRBdDogRGF0ZS5ub3coKSxcbiAgICB9O1xuXG4gICAgY29uc3QgcHVibGlzaFN0YXJ0ZWRBdCA9IHBlcmZvcm1hbmNlLm5vdygpO1xuICAgIFByb21pc2UucmVzb2x2ZSh0aGlzLm9wdGlvbnMuY2x1c3RlckJ1cy5wdWJsaXNoKGVudmVsb3BlKSlcbiAgICAgIC50aGVuKCgpID0+IHtcbiAgICAgICAgY29uc3QgZHVyYXRpb25NcyA9IHBlcmZvcm1hbmNlLm5vdygpIC0gcHVibGlzaFN0YXJ0ZWRBdDtcbiAgICAgICAgdGhpcy50ZWxlbWV0cnkuZW1pdCh7XG4gICAgICAgICAgbmFtZTogXCJ3cy5jbHVzdGVyLmVudmVsb3BlLnB1Ymxpc2hlZFwiLFxuICAgICAgICAgIGxldmVsOiBcImRlYnVnXCIsXG4gICAgICAgICAgZGV0YWlsOiB7IGV2ZW50LCB0YXJnZXROb2RlQ291bnQ6IHJvdXRpbmdQbGFuLnJlbW90ZU5vZGVJZHMubGVuZ3RoIH0sXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLnRlbGVtZXRyeS5yZWNvcmRTcGFuKHtcbiAgICAgICAgICBvcGVyYXRpb25OYW1lOiBcIndzLmNsdXN0ZXIucHVibGlzaFwiLFxuICAgICAgICAgIGtpbmQ6IFwicHJvZHVjZXJcIixcbiAgICAgICAgICBkdXJhdGlvbk1zLFxuICAgICAgICAgIHN0YXR1czogXCJ1bnNldFwiLFxuICAgICAgICAgIGF0dHJpYnV0ZXM6IHtcbiAgICAgICAgICAgIGV2ZW50LFxuICAgICAgICAgICAgdGFyZ2V0Tm9kZUNvdW50OiByb3V0aW5nUGxhbi5yZW1vdGVOb2RlSWRzLmxlbmd0aCxcbiAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICAgIH0pXG4gICAgICAuY2F0Y2goKGVycm9yOiB1bmtub3duKSA9PiB7XG4gICAgICAgIGNvbnN0IGR1cmF0aW9uTXMgPSBwZXJmb3JtYW5jZS5ub3coKSAtIHB1Ymxpc2hTdGFydGVkQXQ7XG4gICAgICAgIHRoaXMudGVsZW1ldHJ5LmVtaXQoe1xuICAgICAgICAgIG5hbWU6IFwid3MuY2x1c3Rlci5lbnZlbG9wZS5mYWlsZWRcIixcbiAgICAgICAgICBsZXZlbDogXCJlcnJvclwiLFxuICAgICAgICAgIGRldGFpbDogeyBldmVudCB9LFxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy50ZWxlbWV0cnkucmVjb3JkU3Bhbih7XG4gICAgICAgICAgb3BlcmF0aW9uTmFtZTogXCJ3cy5jbHVzdGVyLnB1Ymxpc2hcIixcbiAgICAgICAgICBraW5kOiBcInByb2R1Y2VyXCIsXG4gICAgICAgICAgZHVyYXRpb25NcyxcbiAgICAgICAgICBzdGF0dXM6IFwiZXJyb3JcIixcbiAgICAgICAgICBhdHRyaWJ1dGVzOiB7IGV2ZW50IH0sXG4gICAgICAgICAgZXJyb3JUeXBlOiBlcnJvciBpbnN0YW5jZW9mIEVycm9yID8gZXJyb3IubmFtZSA6IHR5cGVvZiBlcnJvcixcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgfVxuXG4gIGFzeW5jIHNodXRkb3duKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRoaXMudW5yZWdpc3Rlck1ldHJpY1NvdXJjZSgpO1xuICAgIHRoaXMudW5zdWJzY3JpYmUoKTtcbiAgICBhd2FpdCB0aGlzLm9wdGlvbnMuY2x1c3RlckJ1cy5zaHV0ZG93bigpO1xuICB9XG5cbiAgZ2V0VGVsZW1ldHJ5U25hcHNob3QoKTogeyBwZW5kaW5nRmFuT3V0Sm9iczogbnVtYmVyOyBwZW5kaW5nRmFuT3V0VGFyZ2V0czogbnVtYmVyIH0ge1xuICAgIGxldCBwZW5kaW5nRmFuT3V0VGFyZ2V0cyA9IDA7XG5cbiAgICBmb3IgKGNvbnN0IGpvYiBvZiB0aGlzLnBlbmRpbmdGYW5PdXRKb2JzKSB7XG4gICAgICBwZW5kaW5nRmFuT3V0VGFyZ2V0cyArPSBNYXRoLm1heChqb2IudGFyZ2V0cy5sZW5ndGggLSBqb2IuY3Vyc29yLCAwKTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgcGVuZGluZ0Zhbk91dEpvYnM6IHRoaXMucGVuZGluZ0Zhbk91dEpvYnMubGVuZ3RoLFxuICAgICAgcGVuZGluZ0Zhbk91dFRhcmdldHMsXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlQ2x1c3RlckVudmVsb3BlKGVudmVsb3BlOiBXZWJTb2NrZXRDbHVzdGVyRW52ZWxvcGUpOiB2b2lkIHtcbiAgICBpZiAoZW52ZWxvcGUuc291cmNlTm9kZUlkID09PSB0aGlzLm9wdGlvbnMubm9kZUlkKSB7XG4gICAgICB0aGlzLnRlbGVtZXRyeS5lbWl0KHtcbiAgICAgICAgbmFtZTogXCJ3cy5jbHVzdGVyLmVudmVsb3BlLmlnbm9yZWRcIixcbiAgICAgICAgbGV2ZWw6IFwiZGVidWdcIixcbiAgICAgICAgZGV0YWlsOiB7IHJlYXNvbjogXCJzZWxmU291cmNlXCIsIGV2ZW50OiBlbnZlbG9wZS5ldmVudCB9LFxuICAgICAgfSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKFxuICAgICAgZW52ZWxvcGUudGFyZ2V0Tm9kZUlkcyAmJlxuICAgICAgZW52ZWxvcGUudGFyZ2V0Tm9kZUlkcy5sZW5ndGggPiAwICYmXG4gICAgICAhZW52ZWxvcGUudGFyZ2V0Tm9kZUlkcy5pbmNsdWRlcyh0aGlzLm9wdGlvbnMubm9kZUlkKVxuICAgICkge1xuICAgICAgdGhpcy50ZWxlbWV0cnkuZW1pdCh7XG4gICAgICAgIG5hbWU6IFwid3MuY2x1c3Rlci5lbnZlbG9wZS5pZ25vcmVkXCIsXG4gICAgICAgIGxldmVsOiBcImRlYnVnXCIsXG4gICAgICAgIGRldGFpbDogeyByZWFzb246IFwidGFyZ2V0TWlzbWF0Y2hcIiwgZXZlbnQ6IGVudmVsb3BlLmV2ZW50IH0sXG4gICAgICB9KTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBzdGFydGVkQXQgPSBwZXJmb3JtYW5jZS5ub3coKTtcbiAgICB0aGlzLnRlbGVtZXRyeS5lbWl0KHtcbiAgICAgIG5hbWU6IFwid3MuY2x1c3Rlci5lbnZlbG9wZS5yZWNlaXZlZFwiLFxuICAgICAgbGV2ZWw6IFwiZGVidWdcIixcbiAgICAgIGRldGFpbDogeyBldmVudDogZW52ZWxvcGUuZXZlbnQsIHNvdXJjZU5vZGVJZDogZW52ZWxvcGUuc291cmNlTm9kZUlkIH0sXG4gICAgfSk7XG5cbiAgICBjb25zdCByb3V0aW5nUGxhbiA9IHRoaXMub3B0aW9ucy5hdWRpZW5jZVJlc29sdmVyLnJlc29sdmUoZW52ZWxvcGUuYXVkaWVuY2UpO1xuICAgIGNvbnN0IGxvY2FsVGFyZ2V0cyA9IHRoaXMub3B0aW9ucy5sb2NhbENvbm5lY3Rpb25zLmdldENvbm5lY3Rpb25zKHJvdXRpbmdQbGFuLmxvY2FsU2Vzc2lvbklkcyk7XG4gICAgdGhpcy5lbnF1ZXVlRmFuT3V0KGxvY2FsVGFyZ2V0cywgZW52ZWxvcGUuZXZlbnQsIGVudmVsb3BlLmRhdGEpO1xuXG4gICAgdGhpcy50ZWxlbWV0cnkucmVjb3JkU3Bhbih7XG4gICAgICBvcGVyYXRpb25OYW1lOiBcIndzLmNsdXN0ZXIucmVjZWl2ZVwiLFxuICAgICAga2luZDogXCJjb25zdW1lclwiLFxuICAgICAgZHVyYXRpb25NczogcGVyZm9ybWFuY2Uubm93KCkgLSBzdGFydGVkQXQsXG4gICAgICBzdGF0dXM6IFwidW5zZXRcIixcbiAgICAgIGF0dHJpYnV0ZXM6IHtcbiAgICAgICAgZXZlbnQ6IGVudmVsb3BlLmV2ZW50LFxuICAgICAgICBzb3VyY2VOb2RlSWQ6IGVudmVsb3BlLnNvdXJjZU5vZGVJZCxcbiAgICAgICAgbG9jYWxUYXJnZXRDb3VudDogbG9jYWxUYXJnZXRzLmxlbmd0aCxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGVucXVldWVGYW5PdXQodGFyZ2V0czogTWFuYWdlZFdlYlNvY2tldENvbm5lY3Rpb25bXSwgZXZlbnQ6IHN0cmluZywgZGF0YTogdW5rbm93bik6IHZvaWQge1xuICAgIGlmICh0YXJnZXRzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMucGVuZGluZ0Zhbk91dEpvYnMucHVzaCh7XG4gICAgICB0YXJnZXRzLFxuICAgICAgZXZlbnQsXG4gICAgICBkYXRhLFxuICAgICAgY3Vyc29yOiAwLFxuICAgIH0pO1xuICAgIHRoaXMudGVsZW1ldHJ5LmVtaXQoe1xuICAgICAgbmFtZTogXCJ3cy5mYW5vdXQuZW5xdWV1ZWRcIixcbiAgICAgIGxldmVsOiBcImRlYnVnXCIsXG4gICAgICBkZXRhaWw6IHsgdGFyZ2V0Q291bnQ6IHRhcmdldHMubGVuZ3RoLCBldmVudCB9LFxuICAgIH0pO1xuICAgIHRoaXMuc2NoZWR1bGVGYW5PdXRGbHVzaCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBzY2hlZHVsZUZhbk91dEZsdXNoKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmZhbk91dEZsdXNoU2NoZWR1bGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5mYW5PdXRGbHVzaFNjaGVkdWxlZCA9IHRydWU7XG4gICAgc2V0SW1tZWRpYXRlKCgpID0+IHtcbiAgICAgIHRoaXMuZmFuT3V0Rmx1c2hTY2hlZHVsZWQgPSBmYWxzZTtcbiAgICAgIHRoaXMuZmx1c2hGYW5PdXRKb2JzKCk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGZsdXNoRmFuT3V0Sm9icygpOiB2b2lkIHtcbiAgICBjb25zdCBzdGFydGVkQXQgPSBwZXJmb3JtYW5jZS5ub3coKTtcbiAgICBsZXQgcHJvY2Vzc2VkID0gMDtcbiAgICBsZXQgc3RhdHVzOiBcInVuc2V0XCIgfCBcImVycm9yXCIgPSBcInVuc2V0XCI7XG4gICAgbGV0IGVycm9yVHlwZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gICAgdHJ5IHtcbiAgICAgIHdoaWxlICh0aGlzLnBlbmRpbmdGYW5PdXRKb2JzLmxlbmd0aCA+IDAgJiYgcHJvY2Vzc2VkIDwgRkFOX09VVF9CQVRDSF9TSVpFKSB7XG4gICAgICAgIGNvbnN0IGpvYiA9IHRoaXMucGVuZGluZ0Zhbk91dEpvYnNbMF07XG5cbiAgICAgICAgd2hpbGUgKGpvYi5jdXJzb3IgPCBqb2IudGFyZ2V0cy5sZW5ndGggJiYgcHJvY2Vzc2VkIDwgRkFOX09VVF9CQVRDSF9TSVpFKSB7XG4gICAgICAgICAgdGhpcy5zYWZlUHVibGlzaChqb2IudGFyZ2V0c1tqb2IuY3Vyc29yXSwgam9iLmV2ZW50LCBqb2IuZGF0YSk7XG4gICAgICAgICAgam9iLmN1cnNvciArPSAxO1xuICAgICAgICAgIHByb2Nlc3NlZCArPSAxO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGpvYi5jdXJzb3IgPj0gam9iLnRhcmdldHMubGVuZ3RoKSB7XG4gICAgICAgICAgdGhpcy5wZW5kaW5nRmFuT3V0Sm9icy5zaGlmdCgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHN0YXR1cyA9IFwiZXJyb3JcIjtcbiAgICAgIGVycm9yVHlwZSA9IGVycm9yIGluc3RhbmNlb2YgRXJyb3IgPyBlcnJvci5uYW1lIDogdHlwZW9mIGVycm9yO1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIGNvbnN0IGR1cmF0aW9uTXMgPSBwZXJmb3JtYW5jZS5ub3coKSAtIHN0YXJ0ZWRBdDtcbiAgICAgIHRoaXMudGVsZW1ldHJ5LmVtaXQoe1xuICAgICAgICBuYW1lOiBcIndzLmZhbm91dC5mbHVzaGVkXCIsXG4gICAgICAgIGxldmVsOiBcImRlYnVnXCIsXG4gICAgICAgIGRldGFpbDogeyBwcm9jZXNzZWRDb3VudDogcHJvY2Vzc2VkIH0sXG4gICAgICB9KTtcbiAgICAgIHRoaXMudGVsZW1ldHJ5LnJlY29yZFNwYW4oe1xuICAgICAgICBvcGVyYXRpb25OYW1lOiBcIndzLmZhbm91dC5kaXNwYXRjaFwiLFxuICAgICAgICBraW5kOiBcImludGVybmFsXCIsXG4gICAgICAgIGR1cmF0aW9uTXMsXG4gICAgICAgIHN0YXR1cyxcbiAgICAgICAgYXR0cmlidXRlczogeyBwcm9jZXNzZWRDb3VudDogcHJvY2Vzc2VkIH0sXG4gICAgICAgIGVycm9yVHlwZSxcbiAgICAgIH0pO1xuXG4gICAgICBpZiAodGhpcy5wZW5kaW5nRmFuT3V0Sm9icy5sZW5ndGggPiAwKSB7XG4gICAgICAgIHRoaXMuc2NoZWR1bGVGYW5PdXRGbHVzaCgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2FmZVB1Ymxpc2goY29ubmVjdGlvbjogTWFuYWdlZFdlYlNvY2tldENvbm5lY3Rpb24sIGV2ZW50OiBzdHJpbmcsIGRhdGE6IHVua25vd24pOiB2b2lkIHtcbiAgICB0cnkge1xuICAgICAgaWYgKCFjb25uZWN0aW9uLmNsb3NlZCkge1xuICAgICAgICBjb25uZWN0aW9uLnB1Ymxpc2hVbnR5cGVkKGV2ZW50LCBkYXRhKTtcbiAgICAgIH1cbiAgICB9IGNhdGNoIHtcbiAgICAgIHRoaXMudGVsZW1ldHJ5LmVtaXQoe1xuICAgICAgICBuYW1lOiBcIndzLmZhbm91dC5wdWJsaXNoLmZhaWxlZFwiLFxuICAgICAgICBsZXZlbDogXCJlcnJvclwiLFxuICAgICAgICBjb25uZWN0aW9uSWQ6IGNvbm5lY3Rpb24uaWQsXG4gICAgICAgIG5hbWVzcGFjZTogY29ubmVjdGlvbi5uYW1lc3BhY2UsXG4gICAgICAgIHVzZXJJZDogY29ubmVjdGlvbi51c2VySWQsXG4gICAgICAgIGRldGFpbDogeyBldmVudCB9LFxuICAgICAgfSk7XG4gICAgICBjb25uZWN0aW9uLmNsb3NlKDEwMTEsIFwiV2ViU29ja2V0IHB1Ymxpc2ggZmFpbGVkXCIpO1xu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