velocious 1.0.449 → 1.0.451

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 (636) hide show
  1. package/README.md +1 -1
  2. package/build/application.js +4 -4
  3. package/build/authorization/ability.js +8 -8
  4. package/build/authorization/base-resource.js +4 -4
  5. package/build/background-jobs/cron-expression.js +1 -1
  6. package/build/background-jobs/forked-runner-child.js +1 -1
  7. package/build/background-jobs/job-registry.js +1 -1
  8. package/build/background-jobs/job-runner.js +1 -1
  9. package/build/background-jobs/job.js +1 -1
  10. package/build/background-jobs/json-socket.js +4 -4
  11. package/build/background-jobs/main.js +21 -21
  12. package/build/background-jobs/scheduler.js +7 -7
  13. package/build/background-jobs/store.js +7 -7
  14. package/build/background-jobs/web/controller.js +2 -2
  15. package/build/background-jobs/worker.js +12 -12
  16. package/build/beacon/client.js +11 -8
  17. package/build/beacon/in-process-broker.js +2 -2
  18. package/build/beacon/in-process-client.js +2 -2
  19. package/build/beacon/server.js +3 -3
  20. package/build/cli/browser-cli.js +1 -1
  21. package/build/cli/commands/db/base-command.js +2 -2
  22. package/build/cli/index.js +2 -2
  23. package/build/cli/tenant-database-command-helper.js +3 -3
  24. package/build/cli/use-browser-cli.js +1 -1
  25. package/build/configuration-types.js +3 -1
  26. package/build/configuration.js +38 -38
  27. package/build/controller.js +8 -8
  28. package/build/current-configuration.js +1 -1
  29. package/build/database/annotations-async-hooks.js +2 -2
  30. package/build/database/annotations.js +3 -3
  31. package/build/database/drivers/base-column.js +1 -1
  32. package/build/database/drivers/base-foreign-key.js +1 -1
  33. package/build/database/drivers/base-table.js +1 -1
  34. package/build/database/drivers/base.js +10 -10
  35. package/build/database/drivers/mssql/index.js +1 -1
  36. package/build/database/drivers/mssql/table.js +1 -1
  37. package/build/database/drivers/mysql/index.js +3 -3
  38. package/build/database/drivers/mysql/query.js +1 -1
  39. package/build/database/drivers/mysql/table.js +1 -1
  40. package/build/database/drivers/pgsql/index.js +2 -2
  41. package/build/database/drivers/sqlite/base.js +16 -16
  42. package/build/database/drivers/sqlite/index.js +11 -11
  43. package/build/database/drivers/sqlite/index.native.js +1 -1
  44. package/build/database/drivers/sqlite/index.web.js +3 -3
  45. package/build/database/drivers/sqlite/query.js +1 -1
  46. package/build/database/drivers/sqlite/query.web.js +1 -1
  47. package/build/database/drivers/sqlite/sql/alter-table.js +2 -2
  48. package/build/database/drivers/sqlite/table.js +1 -1
  49. package/build/database/migrator/files-finder.js +1 -1
  50. package/build/database/migrator.js +6 -6
  51. package/build/database/pool/async-tracked-multi-connection.js +27 -27
  52. package/build/database/pool/base-methods-forward.js +4 -4
  53. package/build/database/pool/base.js +8 -8
  54. package/build/database/query/from-base.js +1 -1
  55. package/build/database/query/index.js +10 -10
  56. package/build/database/query/join-object.js +3 -3
  57. package/build/database/query/model-class-query.js +39 -39
  58. package/build/database/query/preloader/belongs-to.js +22 -22
  59. package/build/database/query/preloader/has-many.js +20 -20
  60. package/build/database/query/preloader/has-one.js +8 -8
  61. package/build/database/query/preloader/selection.js +3 -3
  62. package/build/database/query/preloader.js +8 -8
  63. package/build/database/query/query-data.js +9 -9
  64. package/build/database/query/where-model-class-hash.js +7 -7
  65. package/build/database/query/with-count.js +9 -9
  66. package/build/database/record/acts-as-list.js +15 -15
  67. package/build/database/record/attachments/handle.js +2 -2
  68. package/build/database/record/attachments/normalize-input.js +12 -12
  69. package/build/database/record/attachments/storage-drivers/s3.js +6 -6
  70. package/build/database/record/attachments/store.js +13 -13
  71. package/build/database/record/index.js +115 -121
  72. package/build/database/record/instance-relationships/base.js +11 -11
  73. package/build/database/record/instance-relationships/belongs-to.js +3 -3
  74. package/build/database/record/instance-relationships/has-many.js +8 -8
  75. package/build/database/record/instance-relationships/has-one.js +7 -7
  76. package/build/database/record/relationships/base.js +2 -2
  77. package/build/database/record/state-machine.js +7 -7
  78. package/build/database/record/validators/presence.js +1 -1
  79. package/build/database/record/validators/uniqueness.js +5 -5
  80. package/build/database/table-data/index.js +4 -4
  81. package/build/environment-handlers/base.js +2 -2
  82. package/build/environment-handlers/browser.js +7 -7
  83. package/build/environment-handlers/node/cli/commands/cli-command-context.js +1 -1
  84. package/build/environment-handlers/node/cli/commands/console.js +4 -4
  85. package/build/environment-handlers/node/cli/commands/db/schema/dump.js +1 -1
  86. package/build/environment-handlers/node/cli/commands/db/schema/load.js +3 -3
  87. package/build/environment-handlers/node/cli/commands/generate/frontend-models.js +836 -60
  88. package/build/environment-handlers/node.js +6 -6
  89. package/build/frontend-model-controller.js +81 -82
  90. package/build/frontend-model-resource/base-resource.js +78 -115
  91. package/build/frontend-models/base.js +162 -149
  92. package/build/frontend-models/clear-pending-debounced-callback.js +1 -1
  93. package/build/frontend-models/event-hook-models.js +2 -2
  94. package/build/frontend-models/outgoing-event-buffer.js +2 -2
  95. package/build/frontend-models/preloader.js +5 -5
  96. package/build/frontend-models/query.js +43 -38
  97. package/build/frontend-models/resource-definition.js +6 -6
  98. package/build/frontend-models/transport-serialization.js +11 -11
  99. package/build/frontend-models/use-destroyed-event.js +10 -10
  100. package/build/frontend-models/use-model-class-event.js +11 -11
  101. package/build/frontend-models/use-updated-event.js +11 -11
  102. package/build/frontend-models/websocket-channel.js +26 -17
  103. package/build/frontend-models/websocket-publishers.js +9 -9
  104. package/build/http-client/response.js +2 -2
  105. package/build/http-server/client/index.js +8 -8
  106. package/build/http-server/client/params-to-object.js +10 -10
  107. package/build/http-server/client/request-buffer/form-data-part.js +2 -2
  108. package/build/http-server/client/request-buffer/index.js +8 -8
  109. package/build/http-server/client/request-parser.js +3 -3
  110. package/build/http-server/client/request-runner.js +6 -6
  111. package/build/http-server/client/request-timing.js +5 -5
  112. package/build/http-server/client/request.js +1 -1
  113. package/build/http-server/client/response.js +5 -5
  114. package/build/http-server/client/websocket-request.js +4 -4
  115. package/build/http-server/client/websocket-session.js +18 -18
  116. package/build/http-server/development-reloader.js +5 -5
  117. package/build/http-server/index.js +12 -12
  118. package/build/http-server/remote-address.js +4 -4
  119. package/build/http-server/server-client.js +3 -3
  120. package/build/http-server/server-lock.js +4 -4
  121. package/build/http-server/websocket-channel-subscribers.js +3 -3
  122. package/build/http-server/websocket-channel.js +1 -1
  123. package/build/http-server/websocket-connection.js +1 -1
  124. package/build/http-server/websocket-event-log-store.js +6 -6
  125. package/build/http-server/websocket-events-host.js +2 -2
  126. package/build/http-server/worker-handler/in-process.js +7 -7
  127. package/build/http-server/worker-handler/index.js +4 -4
  128. package/build/http-server/worker-handler/worker-thread.js +3 -3
  129. package/build/logger/outputs/array-output.js +3 -3
  130. package/build/logger/outputs/console-output.js +1 -1
  131. package/build/logger/outputs/file-output.js +4 -4
  132. package/build/logger/outputs/stdout-output.js +1 -1
  133. package/build/logger.js +10 -10
  134. package/build/mailer/backends/smtp.js +3 -3
  135. package/build/mailer/base.js +8 -8
  136. package/build/mailer/delivery.js +4 -4
  137. package/build/plugins/sqljs-wasm-route-controller.js +1 -1
  138. package/build/routes/base-route.js +6 -6
  139. package/build/routes/basic-route.js +1 -1
  140. package/build/routes/hooks/frontend-model-command-route-hook.js +1 -1
  141. package/build/routes/index.js +1 -1
  142. package/build/routes/plugin-routes.js +1 -1
  143. package/build/routes/resolver.js +11 -11
  144. package/build/routes/resource-route.js +1 -1
  145. package/build/src/application.d.ts +3 -3
  146. package/build/src/application.d.ts.map +1 -1
  147. package/build/src/application.js +5 -5
  148. package/build/src/authorization/ability.d.ts +7 -7
  149. package/build/src/authorization/ability.d.ts.map +1 -1
  150. package/build/src/authorization/ability.js +9 -9
  151. package/build/src/authorization/base-resource.d.ts +1 -1
  152. package/build/src/authorization/base-resource.d.ts.map +1 -1
  153. package/build/src/authorization/base-resource.js +5 -5
  154. package/build/src/background-jobs/cron-expression.js +2 -2
  155. package/build/src/background-jobs/forked-runner-child.js +2 -2
  156. package/build/src/background-jobs/job-registry.d.ts +1 -1
  157. package/build/src/background-jobs/job-registry.d.ts.map +1 -1
  158. package/build/src/background-jobs/job-registry.js +2 -2
  159. package/build/src/background-jobs/job-runner.js +2 -2
  160. package/build/src/background-jobs/job.js +2 -2
  161. package/build/src/background-jobs/json-socket.d.ts +4 -4
  162. package/build/src/background-jobs/json-socket.d.ts.map +1 -1
  163. package/build/src/background-jobs/json-socket.js +5 -5
  164. package/build/src/background-jobs/main.d.ts +18 -18
  165. package/build/src/background-jobs/main.d.ts.map +1 -1
  166. package/build/src/background-jobs/main.js +22 -22
  167. package/build/src/background-jobs/scheduler.d.ts +5 -5
  168. package/build/src/background-jobs/scheduler.d.ts.map +1 -1
  169. package/build/src/background-jobs/scheduler.js +8 -8
  170. package/build/src/background-jobs/store.js +8 -8
  171. package/build/src/background-jobs/web/controller.js +3 -3
  172. package/build/src/background-jobs/worker.d.ts +6 -6
  173. package/build/src/background-jobs/worker.d.ts.map +1 -1
  174. package/build/src/background-jobs/worker.js +13 -13
  175. package/build/src/beacon/client.d.ts +4 -4
  176. package/build/src/beacon/client.d.ts.map +1 -1
  177. package/build/src/beacon/client.js +12 -9
  178. package/build/src/beacon/in-process-broker.d.ts.map +1 -1
  179. package/build/src/beacon/in-process-broker.js +3 -3
  180. package/build/src/beacon/in-process-client.d.ts +1 -1
  181. package/build/src/beacon/in-process-client.d.ts.map +1 -1
  182. package/build/src/beacon/in-process-client.js +3 -3
  183. package/build/src/beacon/server.d.ts +2 -2
  184. package/build/src/beacon/server.d.ts.map +1 -1
  185. package/build/src/beacon/server.js +4 -4
  186. package/build/src/cli/browser-cli.js +2 -2
  187. package/build/src/cli/commands/db/base-command.d.ts +2 -2
  188. package/build/src/cli/commands/db/base-command.d.ts.map +1 -1
  189. package/build/src/cli/commands/db/base-command.js +3 -3
  190. package/build/src/cli/index.js +3 -3
  191. package/build/src/cli/tenant-database-command-helper.d.ts +1 -1
  192. package/build/src/cli/tenant-database-command-helper.d.ts.map +1 -1
  193. package/build/src/cli/tenant-database-command-helper.js +4 -4
  194. package/build/src/cli/use-browser-cli.js +2 -2
  195. package/build/src/configuration-types.d.ts +12 -2
  196. package/build/src/configuration-types.d.ts.map +1 -1
  197. package/build/src/configuration-types.js +4 -2
  198. package/build/src/configuration.d.ts +14 -14
  199. package/build/src/configuration.d.ts.map +1 -1
  200. package/build/src/configuration.js +39 -39
  201. package/build/src/controller.js +10 -10
  202. package/build/src/current-configuration.js +2 -2
  203. package/build/src/database/annotations-async-hooks.js +3 -3
  204. package/build/src/database/annotations.d.ts.map +1 -1
  205. package/build/src/database/annotations.js +4 -4
  206. package/build/src/database/drivers/base-column.d.ts +1 -1
  207. package/build/src/database/drivers/base-column.d.ts.map +1 -1
  208. package/build/src/database/drivers/base-column.js +2 -2
  209. package/build/src/database/drivers/base-foreign-key.d.ts +1 -1
  210. package/build/src/database/drivers/base-foreign-key.d.ts.map +1 -1
  211. package/build/src/database/drivers/base-foreign-key.js +2 -2
  212. package/build/src/database/drivers/base-table.d.ts +1 -1
  213. package/build/src/database/drivers/base-table.d.ts.map +1 -1
  214. package/build/src/database/drivers/base-table.js +2 -2
  215. package/build/src/database/drivers/base.d.ts +6 -6
  216. package/build/src/database/drivers/base.d.ts.map +1 -1
  217. package/build/src/database/drivers/base.js +11 -11
  218. package/build/src/database/drivers/mssql/index.js +2 -2
  219. package/build/src/database/drivers/mssql/table.js +2 -2
  220. package/build/src/database/drivers/mysql/index.js +4 -4
  221. package/build/src/database/drivers/mysql/query.js +2 -2
  222. package/build/src/database/drivers/mysql/table.js +2 -2
  223. package/build/src/database/drivers/pgsql/index.js +3 -3
  224. package/build/src/database/drivers/sqlite/base.d.ts +3 -3
  225. package/build/src/database/drivers/sqlite/base.d.ts.map +1 -1
  226. package/build/src/database/drivers/sqlite/base.js +17 -17
  227. package/build/src/database/drivers/sqlite/index.d.ts +4 -4
  228. package/build/src/database/drivers/sqlite/index.d.ts.map +1 -1
  229. package/build/src/database/drivers/sqlite/index.js +12 -12
  230. package/build/src/database/drivers/sqlite/index.native.js +2 -2
  231. package/build/src/database/drivers/sqlite/index.web.d.ts +2 -2
  232. package/build/src/database/drivers/sqlite/index.web.d.ts.map +1 -1
  233. package/build/src/database/drivers/sqlite/index.web.js +4 -4
  234. package/build/src/database/drivers/sqlite/query.js +2 -2
  235. package/build/src/database/drivers/sqlite/query.web.js +2 -2
  236. package/build/src/database/drivers/sqlite/sql/alter-table.js +3 -3
  237. package/build/src/database/drivers/sqlite/table.js +2 -2
  238. package/build/src/database/migrator/files-finder.js +2 -2
  239. package/build/src/database/migrator.d.ts +1 -1
  240. package/build/src/database/migrator.d.ts.map +1 -1
  241. package/build/src/database/migrator.js +7 -7
  242. package/build/src/database/pool/async-tracked-multi-connection.d.ts +9 -9
  243. package/build/src/database/pool/async-tracked-multi-connection.d.ts.map +1 -1
  244. package/build/src/database/pool/async-tracked-multi-connection.js +28 -28
  245. package/build/src/database/pool/base-methods-forward.js +7 -7
  246. package/build/src/database/pool/base.d.ts +1 -1
  247. package/build/src/database/pool/base.d.ts.map +1 -1
  248. package/build/src/database/pool/base.js +9 -9
  249. package/build/src/database/query/from-base.d.ts +1 -1
  250. package/build/src/database/query/from-base.d.ts.map +1 -1
  251. package/build/src/database/query/from-base.js +2 -2
  252. package/build/src/database/query/index.d.ts +4 -4
  253. package/build/src/database/query/index.d.ts.map +1 -1
  254. package/build/src/database/query/index.js +11 -11
  255. package/build/src/database/query/join-object.js +4 -4
  256. package/build/src/database/query/model-class-query.d.ts +4 -4
  257. package/build/src/database/query/model-class-query.d.ts.map +1 -1
  258. package/build/src/database/query/model-class-query.js +40 -40
  259. package/build/src/database/query/preloader/belongs-to.js +23 -23
  260. package/build/src/database/query/preloader/has-many.js +21 -21
  261. package/build/src/database/query/preloader/has-one.js +9 -9
  262. package/build/src/database/query/preloader/selection.js +4 -4
  263. package/build/src/database/query/preloader.js +9 -9
  264. package/build/src/database/query/query-data.js +10 -10
  265. package/build/src/database/query/where-model-class-hash.js +8 -8
  266. package/build/src/database/query/with-count.js +10 -10
  267. package/build/src/database/record/acts-as-list.js +20 -20
  268. package/build/src/database/record/attachments/handle.d.ts +1 -1
  269. package/build/src/database/record/attachments/handle.d.ts.map +1 -1
  270. package/build/src/database/record/attachments/handle.js +3 -3
  271. package/build/src/database/record/attachments/normalize-input.js +15 -15
  272. package/build/src/database/record/attachments/storage-drivers/s3.js +7 -7
  273. package/build/src/database/record/attachments/store.d.ts +2 -2
  274. package/build/src/database/record/attachments/store.d.ts.map +1 -1
  275. package/build/src/database/record/attachments/store.js +14 -14
  276. package/build/src/database/record/index.d.ts +18 -25
  277. package/build/src/database/record/index.d.ts.map +1 -1
  278. package/build/src/database/record/index.js +135 -141
  279. package/build/src/database/record/instance-relationships/base.d.ts +3 -3
  280. package/build/src/database/record/instance-relationships/base.d.ts.map +1 -1
  281. package/build/src/database/record/instance-relationships/base.js +13 -13
  282. package/build/src/database/record/instance-relationships/belongs-to.js +4 -4
  283. package/build/src/database/record/instance-relationships/has-many.js +9 -9
  284. package/build/src/database/record/instance-relationships/has-one.d.ts +1 -1
  285. package/build/src/database/record/instance-relationships/has-one.d.ts.map +1 -1
  286. package/build/src/database/record/instance-relationships/has-one.js +8 -8
  287. package/build/src/database/record/relationships/base.js +4 -4
  288. package/build/src/database/record/state-machine.js +8 -8
  289. package/build/src/database/record/validators/presence.js +2 -2
  290. package/build/src/database/record/validators/uniqueness.js +6 -6
  291. package/build/src/database/table-data/index.d.ts +4 -4
  292. package/build/src/database/table-data/index.d.ts.map +1 -1
  293. package/build/src/database/table-data/index.js +5 -5
  294. package/build/src/environment-handlers/base.js +3 -3
  295. package/build/src/environment-handlers/browser.d.ts +3 -3
  296. package/build/src/environment-handlers/browser.d.ts.map +1 -1
  297. package/build/src/environment-handlers/browser.js +8 -8
  298. package/build/src/environment-handlers/node/cli/commands/cli-command-context.js +2 -2
  299. package/build/src/environment-handlers/node/cli/commands/console.d.ts.map +1 -1
  300. package/build/src/environment-handlers/node/cli/commands/console.js +5 -5
  301. package/build/src/environment-handlers/node/cli/commands/db/schema/dump.d.ts +1 -1
  302. package/build/src/environment-handlers/node/cli/commands/db/schema/dump.d.ts.map +1 -1
  303. package/build/src/environment-handlers/node/cli/commands/db/schema/dump.js +2 -2
  304. package/build/src/environment-handlers/node/cli/commands/db/schema/load.d.ts +1 -1
  305. package/build/src/environment-handlers/node/cli/commands/db/schema/load.d.ts.map +1 -1
  306. package/build/src/environment-handlers/node/cli/commands/db/schema/load.js +4 -4
  307. package/build/src/environment-handlers/node/cli/commands/generate/frontend-models.d.ts +285 -12
  308. package/build/src/environment-handlers/node/cli/commands/generate/frontend-models.d.ts.map +1 -1
  309. package/build/src/environment-handlers/node/cli/commands/generate/frontend-models.js +712 -61
  310. package/build/src/environment-handlers/node.d.ts +2 -2
  311. package/build/src/environment-handlers/node.d.ts.map +1 -1
  312. package/build/src/environment-handlers/node.js +7 -7
  313. package/build/src/frontend-model-controller.d.ts +5 -6
  314. package/build/src/frontend-model-controller.d.ts.map +1 -1
  315. package/build/src/frontend-model-controller.js +88 -89
  316. package/build/src/frontend-model-resource/base-resource.d.ts +36 -27
  317. package/build/src/frontend-model-resource/base-resource.d.ts.map +1 -1
  318. package/build/src/frontend-model-resource/base-resource.js +67 -120
  319. package/build/src/frontend-models/base.d.ts +67 -59
  320. package/build/src/frontend-models/base.d.ts.map +1 -1
  321. package/build/src/frontend-models/base.js +171 -158
  322. package/build/src/frontend-models/clear-pending-debounced-callback.js +2 -2
  323. package/build/src/frontend-models/event-hook-models.d.ts.map +1 -1
  324. package/build/src/frontend-models/event-hook-models.js +3 -3
  325. package/build/src/frontend-models/outgoing-event-buffer.d.ts +1 -1
  326. package/build/src/frontend-models/outgoing-event-buffer.d.ts.map +1 -1
  327. package/build/src/frontend-models/outgoing-event-buffer.js +3 -3
  328. package/build/src/frontend-models/preloader.js +6 -6
  329. package/build/src/frontend-models/query.d.ts +16 -8
  330. package/build/src/frontend-models/query.d.ts.map +1 -1
  331. package/build/src/frontend-models/query.js +43 -39
  332. package/build/src/frontend-models/resource-definition.js +7 -7
  333. package/build/src/frontend-models/transport-serialization.js +12 -12
  334. package/build/src/frontend-models/use-destroyed-event.d.ts.map +1 -1
  335. package/build/src/frontend-models/use-destroyed-event.js +11 -11
  336. package/build/src/frontend-models/use-model-class-event.d.ts.map +1 -1
  337. package/build/src/frontend-models/use-model-class-event.js +12 -12
  338. package/build/src/frontend-models/use-updated-event.d.ts.map +1 -1
  339. package/build/src/frontend-models/use-updated-event.js +12 -12
  340. package/build/src/frontend-models/websocket-channel.d.ts +6 -1
  341. package/build/src/frontend-models/websocket-channel.d.ts.map +1 -1
  342. package/build/src/frontend-models/websocket-channel.js +26 -18
  343. package/build/src/frontend-models/websocket-publishers.js +11 -11
  344. package/build/src/http-client/response.d.ts +2 -2
  345. package/build/src/http-client/response.d.ts.map +1 -1
  346. package/build/src/http-client/response.js +3 -3
  347. package/build/src/http-server/client/index.d.ts +1 -1
  348. package/build/src/http-server/client/index.d.ts.map +1 -1
  349. package/build/src/http-server/client/index.js +9 -9
  350. package/build/src/http-server/client/params-to-object.js +11 -11
  351. package/build/src/http-server/client/request-buffer/form-data-part.d.ts +2 -2
  352. package/build/src/http-server/client/request-buffer/form-data-part.d.ts.map +1 -1
  353. package/build/src/http-server/client/request-buffer/form-data-part.js +3 -3
  354. package/build/src/http-server/client/request-buffer/index.d.ts +4 -4
  355. package/build/src/http-server/client/request-buffer/index.d.ts.map +1 -1
  356. package/build/src/http-server/client/request-buffer/index.js +9 -9
  357. package/build/src/http-server/client/request-parser.d.ts +1 -1
  358. package/build/src/http-server/client/request-parser.d.ts.map +1 -1
  359. package/build/src/http-server/client/request-parser.js +4 -4
  360. package/build/src/http-server/client/request-runner.js +7 -7
  361. package/build/src/http-server/client/request-timing.d.ts +5 -5
  362. package/build/src/http-server/client/request-timing.d.ts.map +1 -1
  363. package/build/src/http-server/client/request-timing.js +6 -6
  364. package/build/src/http-server/client/request.js +2 -2
  365. package/build/src/http-server/client/response.d.ts +3 -3
  366. package/build/src/http-server/client/response.d.ts.map +1 -1
  367. package/build/src/http-server/client/response.js +6 -6
  368. package/build/src/http-server/client/websocket-request.d.ts +3 -3
  369. package/build/src/http-server/client/websocket-request.d.ts.map +1 -1
  370. package/build/src/http-server/client/websocket-request.js +5 -5
  371. package/build/src/http-server/client/websocket-session.d.ts +6 -6
  372. package/build/src/http-server/client/websocket-session.d.ts.map +1 -1
  373. package/build/src/http-server/client/websocket-session.js +19 -19
  374. package/build/src/http-server/development-reloader.d.ts +3 -3
  375. package/build/src/http-server/development-reloader.d.ts.map +1 -1
  376. package/build/src/http-server/development-reloader.js +6 -6
  377. package/build/src/http-server/index.d.ts +7 -7
  378. package/build/src/http-server/index.d.ts.map +1 -1
  379. package/build/src/http-server/index.js +13 -13
  380. package/build/src/http-server/remote-address.js +6 -6
  381. package/build/src/http-server/server-client.js +4 -4
  382. package/build/src/http-server/server-lock.js +5 -5
  383. package/build/src/http-server/websocket-channel-subscribers.d.ts +1 -1
  384. package/build/src/http-server/websocket-channel-subscribers.d.ts.map +1 -1
  385. package/build/src/http-server/websocket-channel-subscribers.js +4 -4
  386. package/build/src/http-server/websocket-channel.d.ts +1 -1
  387. package/build/src/http-server/websocket-channel.d.ts.map +1 -1
  388. package/build/src/http-server/websocket-channel.js +2 -2
  389. package/build/src/http-server/websocket-connection.d.ts +1 -1
  390. package/build/src/http-server/websocket-connection.d.ts.map +1 -1
  391. package/build/src/http-server/websocket-connection.js +2 -2
  392. package/build/src/http-server/websocket-event-log-store.d.ts +1 -1
  393. package/build/src/http-server/websocket-event-log-store.d.ts.map +1 -1
  394. package/build/src/http-server/websocket-event-log-store.js +7 -7
  395. package/build/src/http-server/websocket-events-host.d.ts +1 -1
  396. package/build/src/http-server/websocket-events-host.d.ts.map +1 -1
  397. package/build/src/http-server/websocket-events-host.js +3 -3
  398. package/build/src/http-server/worker-handler/in-process.d.ts +3 -3
  399. package/build/src/http-server/worker-handler/in-process.d.ts.map +1 -1
  400. package/build/src/http-server/worker-handler/in-process.js +9 -9
  401. package/build/src/http-server/worker-handler/index.d.ts +4 -4
  402. package/build/src/http-server/worker-handler/index.d.ts.map +1 -1
  403. package/build/src/http-server/worker-handler/index.js +5 -5
  404. package/build/src/http-server/worker-handler/worker-thread.d.ts +2 -2
  405. package/build/src/http-server/worker-handler/worker-thread.d.ts.map +1 -1
  406. package/build/src/http-server/worker-handler/worker-thread.js +4 -4
  407. package/build/src/logger/outputs/array-output.d.ts +3 -3
  408. package/build/src/logger/outputs/array-output.d.ts.map +1 -1
  409. package/build/src/logger/outputs/array-output.js +4 -4
  410. package/build/src/logger/outputs/console-output.d.ts +1 -1
  411. package/build/src/logger/outputs/console-output.d.ts.map +1 -1
  412. package/build/src/logger/outputs/console-output.js +2 -2
  413. package/build/src/logger/outputs/file-output.d.ts +4 -4
  414. package/build/src/logger/outputs/file-output.d.ts.map +1 -1
  415. package/build/src/logger/outputs/file-output.js +5 -5
  416. package/build/src/logger/outputs/stdout-output.d.ts.map +1 -1
  417. package/build/src/logger/outputs/stdout-output.js +2 -2
  418. package/build/src/logger.d.ts.map +1 -1
  419. package/build/src/logger.js +11 -11
  420. package/build/src/mailer/backends/smtp.d.ts.map +1 -1
  421. package/build/src/mailer/backends/smtp.js +5 -5
  422. package/build/src/mailer/base.js +11 -11
  423. package/build/src/mailer/delivery.d.ts +3 -3
  424. package/build/src/mailer/delivery.d.ts.map +1 -1
  425. package/build/src/mailer/delivery.js +5 -5
  426. package/build/src/plugins/sqljs-wasm-route-controller.js +2 -2
  427. package/build/src/routes/base-route.d.ts +6 -6
  428. package/build/src/routes/base-route.d.ts.map +1 -1
  429. package/build/src/routes/base-route.js +7 -7
  430. package/build/src/routes/basic-route.js +2 -2
  431. package/build/src/routes/hooks/frontend-model-command-route-hook.js +2 -2
  432. package/build/src/routes/index.js +2 -2
  433. package/build/src/routes/plugin-routes.js +2 -2
  434. package/build/src/routes/resolver.d.ts +1 -1
  435. package/build/src/routes/resolver.d.ts.map +1 -1
  436. package/build/src/routes/resolver.js +13 -13
  437. package/build/src/routes/resource-route.d.ts +1 -1
  438. package/build/src/routes/resource-route.d.ts.map +1 -1
  439. package/build/src/routes/resource-route.js +2 -2
  440. package/build/src/testing/browser-frontend-model-event-hook-scenarios.d.ts.map +1 -1
  441. package/build/src/testing/browser-frontend-model-event-hook-scenarios.js +8 -8
  442. package/build/src/testing/expect-utils.js +13 -13
  443. package/build/src/testing/expect.d.ts +1 -1
  444. package/build/src/testing/expect.d.ts.map +1 -1
  445. package/build/src/testing/expect.js +9 -9
  446. package/build/src/testing/test-files-finder.d.ts +8 -8
  447. package/build/src/testing/test-files-finder.d.ts.map +1 -1
  448. package/build/src/testing/test-files-finder.js +9 -9
  449. package/build/src/testing/test-filter-parser.js +3 -3
  450. package/build/src/testing/test-runner.d.ts +2 -2
  451. package/build/src/testing/test-runner.d.ts.map +1 -1
  452. package/build/src/testing/test-runner.js +17 -17
  453. package/build/src/testing/test-suite-splitter.js +2 -2
  454. package/build/src/testing/test.d.ts +2 -2
  455. package/build/src/testing/test.d.ts.map +1 -1
  456. package/build/src/testing/test.js +16 -16
  457. package/build/src/utils/backtrace-cleaner.d.ts +1 -1
  458. package/build/src/utils/backtrace-cleaner.d.ts.map +1 -1
  459. package/build/src/utils/backtrace-cleaner.js +2 -2
  460. package/build/src/utils/format-value.js +2 -2
  461. package/build/src/utils/model-scope.js +2 -2
  462. package/build/src/utils/ransack.js +27 -27
  463. package/build/src/utils/with-tracked-stack-async-hooks.js +8 -8
  464. package/build/src/utils/with-tracked-stack.js +4 -4
  465. package/build/testing/browser-frontend-model-event-hook-scenarios.js +7 -7
  466. package/build/testing/expect-utils.js +11 -11
  467. package/build/testing/expect.js +7 -7
  468. package/build/testing/test-files-finder.js +8 -8
  469. package/build/testing/test-filter-parser.js +2 -2
  470. package/build/testing/test-runner.js +16 -16
  471. package/build/testing/test-suite-splitter.js +1 -1
  472. package/build/testing/test.js +15 -15
  473. package/build/utils/backtrace-cleaner.js +1 -1
  474. package/build/utils/format-value.js +1 -1
  475. package/build/utils/model-scope.js +1 -1
  476. package/build/utils/ransack.js +26 -26
  477. package/build/utils/with-tracked-stack-async-hooks.js +7 -7
  478. package/build/utils/with-tracked-stack.js +3 -3
  479. package/package.json +2 -1
  480. package/src/application.js +4 -4
  481. package/src/authorization/ability.js +8 -8
  482. package/src/authorization/base-resource.js +4 -4
  483. package/src/background-jobs/cron-expression.js +1 -1
  484. package/src/background-jobs/forked-runner-child.js +1 -1
  485. package/src/background-jobs/job-registry.js +1 -1
  486. package/src/background-jobs/job-runner.js +1 -1
  487. package/src/background-jobs/job.js +1 -1
  488. package/src/background-jobs/json-socket.js +4 -4
  489. package/src/background-jobs/main.js +21 -21
  490. package/src/background-jobs/scheduler.js +7 -7
  491. package/src/background-jobs/store.js +7 -7
  492. package/src/background-jobs/web/controller.js +2 -2
  493. package/src/background-jobs/worker.js +12 -12
  494. package/src/beacon/client.js +11 -8
  495. package/src/beacon/in-process-broker.js +2 -2
  496. package/src/beacon/in-process-client.js +2 -2
  497. package/src/beacon/server.js +3 -3
  498. package/src/cli/browser-cli.js +1 -1
  499. package/src/cli/commands/db/base-command.js +2 -2
  500. package/src/cli/index.js +2 -2
  501. package/src/cli/tenant-database-command-helper.js +3 -3
  502. package/src/cli/use-browser-cli.js +1 -1
  503. package/src/configuration-types.js +3 -1
  504. package/src/configuration.js +38 -38
  505. package/src/controller.js +8 -8
  506. package/src/current-configuration.js +1 -1
  507. package/src/database/annotations-async-hooks.js +2 -2
  508. package/src/database/annotations.js +3 -3
  509. package/src/database/drivers/base-column.js +1 -1
  510. package/src/database/drivers/base-foreign-key.js +1 -1
  511. package/src/database/drivers/base-table.js +1 -1
  512. package/src/database/drivers/base.js +10 -10
  513. package/src/database/drivers/mssql/index.js +1 -1
  514. package/src/database/drivers/mssql/table.js +1 -1
  515. package/src/database/drivers/mysql/index.js +3 -3
  516. package/src/database/drivers/mysql/query.js +1 -1
  517. package/src/database/drivers/mysql/table.js +1 -1
  518. package/src/database/drivers/pgsql/index.js +2 -2
  519. package/src/database/drivers/sqlite/base.js +16 -16
  520. package/src/database/drivers/sqlite/index.js +11 -11
  521. package/src/database/drivers/sqlite/index.native.js +1 -1
  522. package/src/database/drivers/sqlite/index.web.js +3 -3
  523. package/src/database/drivers/sqlite/query.js +1 -1
  524. package/src/database/drivers/sqlite/query.web.js +1 -1
  525. package/src/database/drivers/sqlite/sql/alter-table.js +2 -2
  526. package/src/database/drivers/sqlite/table.js +1 -1
  527. package/src/database/migrator/files-finder.js +1 -1
  528. package/src/database/migrator.js +6 -6
  529. package/src/database/pool/async-tracked-multi-connection.js +27 -27
  530. package/src/database/pool/base-methods-forward.js +4 -4
  531. package/src/database/pool/base.js +8 -8
  532. package/src/database/query/from-base.js +1 -1
  533. package/src/database/query/index.js +10 -10
  534. package/src/database/query/join-object.js +3 -3
  535. package/src/database/query/model-class-query.js +39 -39
  536. package/src/database/query/preloader/belongs-to.js +22 -22
  537. package/src/database/query/preloader/has-many.js +20 -20
  538. package/src/database/query/preloader/has-one.js +8 -8
  539. package/src/database/query/preloader/selection.js +3 -3
  540. package/src/database/query/preloader.js +8 -8
  541. package/src/database/query/query-data.js +9 -9
  542. package/src/database/query/where-model-class-hash.js +7 -7
  543. package/src/database/query/with-count.js +9 -9
  544. package/src/database/record/acts-as-list.js +15 -15
  545. package/src/database/record/attachments/handle.js +2 -2
  546. package/src/database/record/attachments/normalize-input.js +12 -12
  547. package/src/database/record/attachments/storage-drivers/s3.js +6 -6
  548. package/src/database/record/attachments/store.js +13 -13
  549. package/src/database/record/index.js +115 -121
  550. package/src/database/record/instance-relationships/base.js +11 -11
  551. package/src/database/record/instance-relationships/belongs-to.js +3 -3
  552. package/src/database/record/instance-relationships/has-many.js +8 -8
  553. package/src/database/record/instance-relationships/has-one.js +7 -7
  554. package/src/database/record/relationships/base.js +2 -2
  555. package/src/database/record/state-machine.js +7 -7
  556. package/src/database/record/validators/presence.js +1 -1
  557. package/src/database/record/validators/uniqueness.js +5 -5
  558. package/src/database/table-data/index.js +4 -4
  559. package/src/environment-handlers/base.js +2 -2
  560. package/src/environment-handlers/browser.js +7 -7
  561. package/src/environment-handlers/node/cli/commands/cli-command-context.js +1 -1
  562. package/src/environment-handlers/node/cli/commands/console.js +4 -4
  563. package/src/environment-handlers/node/cli/commands/db/schema/dump.js +1 -1
  564. package/src/environment-handlers/node/cli/commands/db/schema/load.js +3 -3
  565. package/src/environment-handlers/node/cli/commands/generate/frontend-models.js +836 -60
  566. package/src/environment-handlers/node.js +6 -6
  567. package/src/frontend-model-controller.js +81 -82
  568. package/src/frontend-model-resource/base-resource.js +78 -115
  569. package/src/frontend-models/base.js +162 -149
  570. package/src/frontend-models/clear-pending-debounced-callback.js +1 -1
  571. package/src/frontend-models/event-hook-models.js +2 -2
  572. package/src/frontend-models/outgoing-event-buffer.js +2 -2
  573. package/src/frontend-models/preloader.js +5 -5
  574. package/src/frontend-models/query.js +43 -38
  575. package/src/frontend-models/resource-definition.js +6 -6
  576. package/src/frontend-models/transport-serialization.js +11 -11
  577. package/src/frontend-models/use-destroyed-event.js +10 -10
  578. package/src/frontend-models/use-model-class-event.js +11 -11
  579. package/src/frontend-models/use-updated-event.js +11 -11
  580. package/src/frontend-models/websocket-channel.js +26 -17
  581. package/src/frontend-models/websocket-publishers.js +9 -9
  582. package/src/http-client/response.js +2 -2
  583. package/src/http-server/client/index.js +8 -8
  584. package/src/http-server/client/params-to-object.js +10 -10
  585. package/src/http-server/client/request-buffer/form-data-part.js +2 -2
  586. package/src/http-server/client/request-buffer/index.js +8 -8
  587. package/src/http-server/client/request-parser.js +3 -3
  588. package/src/http-server/client/request-runner.js +6 -6
  589. package/src/http-server/client/request-timing.js +5 -5
  590. package/src/http-server/client/request.js +1 -1
  591. package/src/http-server/client/response.js +5 -5
  592. package/src/http-server/client/websocket-request.js +4 -4
  593. package/src/http-server/client/websocket-session.js +18 -18
  594. package/src/http-server/development-reloader.js +5 -5
  595. package/src/http-server/index.js +12 -12
  596. package/src/http-server/remote-address.js +4 -4
  597. package/src/http-server/server-client.js +3 -3
  598. package/src/http-server/server-lock.js +4 -4
  599. package/src/http-server/websocket-channel-subscribers.js +3 -3
  600. package/src/http-server/websocket-channel.js +1 -1
  601. package/src/http-server/websocket-connection.js +1 -1
  602. package/src/http-server/websocket-event-log-store.js +6 -6
  603. package/src/http-server/websocket-events-host.js +2 -2
  604. package/src/http-server/worker-handler/in-process.js +7 -7
  605. package/src/http-server/worker-handler/index.js +4 -4
  606. package/src/http-server/worker-handler/worker-thread.js +3 -3
  607. package/src/logger/outputs/array-output.js +3 -3
  608. package/src/logger/outputs/console-output.js +1 -1
  609. package/src/logger/outputs/file-output.js +4 -4
  610. package/src/logger/outputs/stdout-output.js +1 -1
  611. package/src/logger.js +10 -10
  612. package/src/mailer/backends/smtp.js +3 -3
  613. package/src/mailer/base.js +8 -8
  614. package/src/mailer/delivery.js +4 -4
  615. package/src/plugins/sqljs-wasm-route-controller.js +1 -1
  616. package/src/routes/base-route.js +6 -6
  617. package/src/routes/basic-route.js +1 -1
  618. package/src/routes/hooks/frontend-model-command-route-hook.js +1 -1
  619. package/src/routes/index.js +1 -1
  620. package/src/routes/plugin-routes.js +1 -1
  621. package/src/routes/resolver.js +11 -11
  622. package/src/routes/resource-route.js +1 -1
  623. package/src/testing/browser-frontend-model-event-hook-scenarios.js +7 -7
  624. package/src/testing/expect-utils.js +11 -11
  625. package/src/testing/expect.js +7 -7
  626. package/src/testing/test-files-finder.js +8 -8
  627. package/src/testing/test-filter-parser.js +2 -2
  628. package/src/testing/test-runner.js +16 -16
  629. package/src/testing/test-suite-splitter.js +1 -1
  630. package/src/testing/test.js +15 -15
  631. package/src/utils/backtrace-cleaner.js +1 -1
  632. package/src/utils/format-value.js +1 -1
  633. package/src/utils/model-scope.js +1 -1
  634. package/src/utils/ransack.js +26 -26
  635. package/src/utils/with-tracked-stack-async-hooks.js +7 -7
  636. package/src/utils/with-tracked-stack.js +3 -3
@@ -14,7 +14,7 @@
14
14
  export default class RequestTiming {
15
15
  /**
16
16
  * Buckets.
17
- @type {Record<RequestTimingBucket, number>} */
17
+ * @type {Record<RequestTimingBucket, number>} */
18
18
  buckets = {
19
19
  controller: 0,
20
20
  db: 0,
@@ -22,20 +22,20 @@ export default class RequestTiming {
22
22
  };
23
23
  /**
24
24
  * Bucket stack.
25
- @type {ActiveTimingBucket[]} */
25
+ * @type {ActiveTimingBucket[]} */
26
26
  bucketStack = [];
27
27
  dbQueryCount = 0;
28
28
  /**
29
29
  * Completed log method.
30
- @type {"debug" | "info" | undefined} */
30
+ * @type {"debug" | "info" | undefined} */
31
31
  completedLogMethod = undefined;
32
32
  /**
33
33
  * Completed log subject.
34
- @type {string | undefined} */
34
+ * @type {string | undefined} */
35
35
  completedLogSubject = undefined;
36
36
  /**
37
37
  * Response served at ms.
38
- @type {number | undefined} */
38
+ * @type {number | undefined} */
39
39
  responseServedAtMs = undefined;
40
40
  startedAtMs = Date.now();
41
41
  /**
@@ -149,4 +149,4 @@ export default class RequestTiming {
149
149
  parentBucket.startedAtMs = now;
150
150
  }
151
151
  }
152
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC10aW1pbmcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvaHR0cC1zZXJ2ZXIvY2xpZW50L3JlcXVlc3QtdGltaW5nLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVk7QUFFWjs7O0dBR0c7QUFFSDs7O0dBR0c7QUFFSDs7O0dBR0c7QUFDSCxNQUFNLENBQUMsT0FBTyxPQUFPLGFBQWE7SUFDaEM7O29EQUVnRDtJQUNoRCxPQUFPLEdBQUc7UUFDUixVQUFVLEVBQUUsQ0FBQztRQUNiLEVBQUUsRUFBRSxDQUFDO1FBQ0wsS0FBSyxFQUFFLENBQUM7S0FDVCxDQUFBO0lBRUQ7O3FDQUVpQztJQUNqQyxXQUFXLEdBQUcsRUFBRSxDQUFBO0lBRWhCLFlBQVksR0FBRyxDQUFDLENBQUE7SUFDaEI7OzZDQUV5QztJQUN6QyxrQkFBa0IsR0FBRyxTQUFTLENBQUE7SUFDOUI7O21DQUUrQjtJQUMvQixtQkFBbUIsR0FBRyxTQUFTLENBQUE7SUFDL0I7O21DQUUrQjtJQUMvQixrQkFBa0IsR0FBRyxTQUFTLENBQUE7SUFDOUIsV0FBVyxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQTtJQUV4Qjs7Ozs7O09BTUc7SUFDSCxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxRQUFRO1FBQzVCLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUE7UUFFeEIsSUFBSSxDQUFDO1lBQ0gsT0FBTyxNQUFNLFFBQVEsRUFBRSxDQUFBO1FBQ3pCLENBQUM7Z0JBQVMsQ0FBQztZQUNULElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQTtRQUNuQixDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILFdBQVcsQ0FBQyxNQUFNLEVBQUUsUUFBUTtRQUMxQixJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFBO1FBRXhCLElBQUksQ0FBQztZQUNILE9BQU8sUUFBUSxFQUFFLENBQUE7UUFD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QyxNQUFNLENBQUMsSUFBSSxHQUFHLEdBQUcsWUFBWSxDQUFDLFdBQVcsQ0FBQTtRQUVuRSxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFBO1FBQ2xFLElBQUksWUFBWTtZQUFFLFlBQVksQ0FBQyxXQUFXLEdBQUcsR0FBRyxDQUFBO0lBQ2xELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1jaGVja1xuXG4vKipcbiAqIFJlcXVlc3RUaW1pbmdCdWNrZXQgdHlwZS5cbiAqIEB0eXBlZGVmIHtcImNvbnRyb2xsZXJcIiB8IFwiZGJcIiB8IFwidmlld3NcIn0gUmVxdWVzdFRpbWluZ0J1Y2tldFxuICovXG5cbi8qKlxuICogRGVmaW5lcyB0aGlzIHR5cGVkZWYuXG4gKiBAdHlwZWRlZiB7e2J1Y2tldDogUmVxdWVzdFRpbWluZ0J1Y2tldCwgc3RhcnRlZEF0TXM6IG51bWJlcn19IEFjdGl2ZVRpbWluZ0J1Y2tldFxuICovXG5cbi8qKlxuICogVHJhY2tzIGV4Y2x1c2l2ZSByZXF1ZXN0IHRpbWluZyBidWNrZXRzLiBXaGVuIGEgbmVzdGVkIGJ1Y2tldCBzdGFydHMsXG4gKiB0aGUgY3VycmVudGx5IGFjdGl2ZSBidWNrZXQgaXMgcGF1c2VkIHVudGlsIHRoZSBuZXN0ZWQgYnVja2V0IGV4aXRzLlxuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBSZXF1ZXN0VGltaW5nIHtcbiAgLyoqXG4gICAqIEJ1Y2tldHMuXG4gICAgQHR5cGUge1JlY29yZDxSZXF1ZXN0VGltaW5nQnVja2V0LCBudW1iZXI+fSAqL1xuICBidWNrZXRzID0ge1xuICAgIGNvbnRyb2xsZXI6IDAsXG4gICAgZGI6IDAsXG4gICAgdmlld3M6IDBcbiAgfVxuXG4gIC8qKlxuICAgKiBCdWNrZXQgc3RhY2suXG4gICAgQHR5cGUge0FjdGl2ZVRpbWluZ0J1Y2tldFtdfSAqL1xuICBidWNrZXRTdGFjayA9IFtdXG5cbiAgZGJRdWVyeUNvdW50ID0gMFxuICAvKipcbiAgICogQ29tcGxldGVkIGxvZyBtZXRob2QuXG4gICAgQHR5cGUge1wiZGVidWdcIiB8IFwiaW5mb1wiIHwgdW5kZWZpbmVkfSAqL1xuICBjb21wbGV0ZWRMb2dNZXRob2QgPSB1bmRlZmluZWRcbiAgLyoqXG4gICAqIENvbXBsZXRlZCBsb2cgc3ViamVjdC5cbiAgICBAdHlwZSB7c3RyaW5nIHwgdW5kZWZpbmVkfSAqL1xuICBjb21wbGV0ZWRMb2dTdWJqZWN0ID0gdW5kZWZpbmVkXG4gIC8qKlxuICAgKiBSZXNwb25zZSBzZXJ2ZWQgYXQgbXMuXG4gICAgQHR5cGUge251bWJlciB8IHVuZGVmaW5lZH0gKi9cbiAgcmVzcG9uc2VTZXJ2ZWRBdE1zID0gdW5kZWZpbmVkXG4gIHN0YXJ0ZWRBdE1zID0gRGF0ZS5ub3coKVxuXG4gIC8qKlxuICAgKiBSdW5zIG1lYXN1cmUuXG4gICAqIEB0ZW1wbGF0ZSBUXG4gICAqIEBwYXJhbSB7UmVxdWVzdFRpbWluZ0J1Y2tldH0gYnVja2V0IC0gQnVja2V0IG5hbWUuXG4gICAqIEBwYXJhbSB7KCkgPT4gUHJvbWlzZTxUPiB8IFR9IGNhbGxiYWNrIC0gQ2FsbGJhY2sgdG8gbWVhc3VyZS5cbiAgICogQHJldHVybnMge1Byb21pc2U8VD59IC0gQ2FsbGJhY2sgcmVzdWx0LlxuICAgKi9cbiAgYXN5bmMgbWVhc3VyZShidWNrZXQsIGNhbGxiYWNrKSB7XG4gICAgdGhpcy5fcHVzaEJ1Y2tldChidWNrZXQpXG5cbiAgICB0cnkge1xuICAgICAgcmV0dXJuIGF3YWl0IGNhbGxiYWNrKClcbiAgICB9IGZpbmFsbHkge1xuICAgICAgdGhpcy5fcG9wQnVja2V0KClcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUnVucyBtZWFzdXJlIHN5bmMuXG4gICAqIEB0ZW1wbGF0ZSBUXG4gICAqIEBwYXJhbSB7UmVxdWVzdFRpbWluZ0J1Y2tldH0gYnVja2V0IC0gQnVja2V0IG5hbWUuXG4gICAqIEBwYXJhbSB7KCkgPT4gVH0gY2FsbGJhY2sgLSBDYWxsYmFjayB0byBtZWFzdXJlLlxuICAgKiBAcmV0dXJucyB7VH0gLSBDYWxsYmFjayByZXN1bHQuXG4gICAqL1xuICBtZWFzdXJlU3luYyhidWNrZXQsIGNhbGxiYWNrKSB7XG4gICAgdGhpcy5fcHVzaEJ1Y2tldChidWNrZXQpXG5cbiAgICB0cnkge1xuICAgICAgcmV0dXJuIGNhbGxiYWNrKClcbiAgICB9IGZpbmFsbHkge1xuICAgICAgdGhpcy5fcG9wQnVja2V0KClcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUnVucyBtZWFzdXJlIGRiIHF1ZXJ5LlxuICAgKiBAdGVtcGxhdGUgVFxuICAgKiBAcGFyYW0geygpID0+IFByb21pc2U8VD59IGNhbGxiYWNrIC0gUXVlcnkgY2FsbGJhY2suXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPFQ+fSAtIFF1ZXJ5IHJlc3VsdC5cbiAgICovXG4gIGFzeW5jIG1lYXN1cmVEYlF1ZXJ5KGNhbGxiYWNrKSB7XG4gICAgdGhpcy5kYlF1ZXJ5Q291bnQgKz0gMVxuXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMubWVhc3VyZShcImRiXCIsIGNhbGxiYWNrKVxuICB9XG5cbiAgLyoqXG4gICAqIFJ1bnMgbWFyayByZXNwb25zZSBzZXJ2ZWQuXG4gICAqIEByZXR1cm5zIHt2b2lkfSAtIE1hcmtzIHRoZSByZXNwb25zZSBhcyBmdWxseSBzZXJ2ZWQuXG4gICAqL1xuICBtYXJrUmVzcG9uc2VTZXJ2ZWQoKSB7XG4gICAgdGhpcy5yZXNwb25zZVNlcnZlZEF0TXMgPSBEYXRlLm5vdygpXG4gIH1cblxuICAvKipcbiAgICogUnVucyBzdW1tYXJ5LlxuICAgKiBAcmV0dXJucyB7e2NvbnRyb2xsZXJNczogbnVtYmVyLCBkYk1zOiBudW1iZXIsIHRvdGFsTXM6IG51bWJlciwgdmVsb2Npb3VzTXM6IG51bWJlciwgdmlld3NNczogbnVtYmVyLCBkYlF1ZXJ5Q291bnQ6IG51bWJlcn19IC0gVGltaW5nIHN1bW1hcnkuXG4gICAqL1xuICBzdW1tYXJ5KCkge1xuICAgIGNvbnN0IG5vdyA9IHRoaXMucmVzcG9uc2VTZXJ2ZWRBdE1zIHx8IERhdGUubm93KClcbiAgICBjb25zdCBidWNrZXRzID0gdGhpcy5fYnVja2V0VG90YWxzQXQobm93KVxuICAgIGNvbnN0IHRvdGFsTXMgPSBub3cgLSB0aGlzLnN0YXJ0ZWRBdE1zXG4gICAgY29uc3QgY29udHJvbGxlck1zID0gYnVja2V0cy5jb250cm9sbGVyXG4gICAgY29uc3QgZGJNcyA9IGJ1Y2tldHMuZGJcbiAgICBjb25zdCB2aWV3c01zID0gYnVja2V0cy52aWV3c1xuICAgIGNvbnN0IHZlbG9jaW91c01zID0gTWF0aC5tYXgodG90YWxNcyAtIGNvbnRyb2xsZXJNcyAtIGRiTXMgLSB2aWV3c01zLCAwKVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIGNvbnRyb2xsZXJNcyxcbiAgICAgIGRiTXMsXG4gICAgICBkYlF1ZXJ5Q291bnQ6IHRoaXMuZGJRdWVyeUNvdW50LFxuICAgICAgdG90YWxNcyxcbiAgICAgIHZlbG9jaW91c01zLFxuICAgICAgdmlld3NNc1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSdW5zIGJ1Y2tldCB0b3RhbHMgYXQuXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBub3cgLSBUaW1lc3RhbXAgdG8gY2FsY3VsYXRlIGFjdGl2ZSBidWNrZXQgZWxhcHNlZCB0aW1lIGFnYWluc3QuXG4gICAqIEByZXR1cm5zIHtSZWNvcmQ8UmVxdWVzdFRpbWluZ0J1Y2tldCwgbnVtYmVyPn0gLSBCdWNrZXQgdG90YWxzLlxuICAgKi9cbiAgX2J1Y2tldFRvdGFsc0F0KG5vdykge1xuICAgIGNvbnN0IGJ1Y2tldHMgPSBPYmplY3QuYXNzaWduKHt9LCB0aGlzLmJ1Y2tldHMpXG4gICAgY29uc3QgYWN0aXZlQnVja2V0ID0gdGhpcy5idWNrZXRTdGFja1t0aGlzLmJ1Y2tldFN0YWNrLmxlbmd0aCAtIDFdXG5cbiAgICBpZiAoYWN0aXZlQnVja2V0KSB7XG4gICAgICBidWNrZXRzW2FjdGl2ZUJ1Y2tldC5idWNrZXRdICs9IE1hdGgubWF4KG5vdyAtIGFjdGl2ZUJ1Y2tldC5zdGFydGVkQXRNcywgMClcbiAgICB9XG5cbiAgICByZXR1cm4gYnVja2V0c1xuICB9XG5cbiAgLyoqXG4gICAqIFJ1bnMgcHVzaCBidWNrZXQuXG4gICAqIEBwYXJhbSB7UmVxdWVzdFRpbWluZ0J1Y2tldH0gYnVja2V0IC0gQnVja2V0IG5hbWUuXG4gICAqIEByZXR1cm5zIHt2b2lkfSAtIE5vIHJldHVybiB2YWx1ZS5cbiAgICovXG4gIF9wdXNoQnVja2V0KGJ1Y2tldCkge1xuICAgIGNvbnN0IG5vdyA9IERhdGUubm93KClcbiAgICBjb25zdCBhY3RpdmVCdWNrZXQgPSB0aGlzLmJ1Y2tldFN0YWNrW3RoaXMuYnVja2V0U3RhY2subGVuZ3RoIC0gMV1cblxuICAgIGlmIChhY3RpdmVCdWNrZXQpIHtcbiAgICAgIHRoaXMuYnVja2V0c1thY3RpdmVCdWNrZXQuYnVja2V0XSArPSBub3cgLSBhY3RpdmVCdWNrZXQuc3RhcnRlZEF0TXNcbiAgICB9XG5cbiAgICB0aGlzLmJ1Y2tldFN0YWNrLnB1c2goe2J1Y2tldCwgc3RhcnRlZEF0TXM6IG5vd30pXG4gIH1cblxuICAvKipcbiAgICogUnVucyBwb3AgYnVja2V0LlxuICAgKiBAcmV0dXJucyB7dm9pZH0gLSBObyByZXR1cm4gdmFsdWUuXG4gICAqL1xuICBfcG9wQnVja2V0KCkge1xuICAgIGNvbnN0IG5vdyA9IERhdGUubm93KClcbiAgICBjb25zdCBhY3RpdmVCdWNrZXQgPSB0aGlzLmJ1Y2tldFN0YWNrLnBvcCgpXG5cbiAgICBpZiAoIWFjdGl2ZUJ1Y2tldCkgdGhyb3cgbmV3IEVycm9yKFwiTm8gYWN0aXZlIHJlcXVlc3QgdGltaW5nIGJ1Y2tldFwiKVxuXG4gICAgdGhpcy5idWNrZXRzW2FjdGl2ZUJ1Y2tldC5idWNrZXRdICs9IG5vdyAtIGFjdGl2ZUJ1Y2tldC5zdGFydGVkQXRNc1xuXG4gICAgY29uc3QgcGFyZW50QnVja2V0ID0gdGhpcy5idWNrZXRTdGFja1t0aGlzLmJ1Y2tldFN0YWNrLmxlbmd0aCAtIDFdXG4gICAgaWYgKHBhcmVudEJ1Y2tldCkgcGFyZW50QnVja2V0LnN0YXJ0ZWRBdE1zID0gbm93XG4gIH1cbn1cbiJdfQ==
152
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC10aW1pbmcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvaHR0cC1zZXJ2ZXIvY2xpZW50L3JlcXVlc3QtdGltaW5nLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVk7QUFFWjs7O0dBR0c7QUFFSDs7O0dBR0c7QUFFSDs7O0dBR0c7QUFDSCxNQUFNLENBQUMsT0FBTyxPQUFPLGFBQWE7SUFDaEM7O3FEQUVpRDtJQUNqRCxPQUFPLEdBQUc7UUFDUixVQUFVLEVBQUUsQ0FBQztRQUNiLEVBQUUsRUFBRSxDQUFDO1FBQ0wsS0FBSyxFQUFFLENBQUM7S0FDVCxDQUFBO0lBRUQ7O3NDQUVrQztJQUNsQyxXQUFXLEdBQUcsRUFBRSxDQUFBO0lBRWhCLFlBQVksR0FBRyxDQUFDLENBQUE7SUFDaEI7OzhDQUUwQztJQUMxQyxrQkFBa0IsR0FBRyxTQUFTLENBQUE7SUFDOUI7O29DQUVnQztJQUNoQyxtQkFBbUIsR0FBRyxTQUFTLENBQUE7SUFDL0I7O29DQUVnQztJQUNoQyxrQkFBa0IsR0FBRyxTQUFTLENBQUE7SUFDOUIsV0FBVyxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQTtJQUV4Qjs7Ozs7O09BTUc7SUFDSCxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxRQUFRO1FBQzVCLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUE7UUFFeEIsSUFBSSxDQUFDO1lBQ0gsT0FBTyxNQUFNLFFBQVEsRUFBRSxDQUFBO1FBQ3pCLENBQUM7Z0JBQVMsQ0FBQztZQUNULElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQTtRQUNuQixDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILFdBQVcsQ0FBQyxNQUFNLEVBQUUsUUFBUTtRQUMxQixJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFBO1FBRXhCLElBQUksQ0FBQztZQUNILE9BQU8sUUFBUSxFQUFFLENBQUE7UUFD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QyxNQUFNLENBQUMsSUFBSSxHQUFHLEdBQUcsWUFBWSxDQUFDLFdBQVcsQ0FBQTtRQUVuRSxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFBO1FBQ2xFLElBQUksWUFBWTtZQUFFLFlBQVksQ0FBQyxXQUFXLEdBQUcsR0FBRyxDQUFBO0lBQ2xELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1jaGVja1xuXG4vKipcbiAqIFJlcXVlc3RUaW1pbmdCdWNrZXQgdHlwZS5cbiAqIEB0eXBlZGVmIHtcImNvbnRyb2xsZXJcIiB8IFwiZGJcIiB8IFwidmlld3NcIn0gUmVxdWVzdFRpbWluZ0J1Y2tldFxuICovXG5cbi8qKlxuICogRGVmaW5lcyB0aGlzIHR5cGVkZWYuXG4gKiBAdHlwZWRlZiB7e2J1Y2tldDogUmVxdWVzdFRpbWluZ0J1Y2tldCwgc3RhcnRlZEF0TXM6IG51bWJlcn19IEFjdGl2ZVRpbWluZ0J1Y2tldFxuICovXG5cbi8qKlxuICogVHJhY2tzIGV4Y2x1c2l2ZSByZXF1ZXN0IHRpbWluZyBidWNrZXRzLiBXaGVuIGEgbmVzdGVkIGJ1Y2tldCBzdGFydHMsXG4gKiB0aGUgY3VycmVudGx5IGFjdGl2ZSBidWNrZXQgaXMgcGF1c2VkIHVudGlsIHRoZSBuZXN0ZWQgYnVja2V0IGV4aXRzLlxuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBSZXF1ZXN0VGltaW5nIHtcbiAgLyoqXG4gICAqIEJ1Y2tldHMuXG4gICAqIEB0eXBlIHtSZWNvcmQ8UmVxdWVzdFRpbWluZ0J1Y2tldCwgbnVtYmVyPn0gKi9cbiAgYnVja2V0cyA9IHtcbiAgICBjb250cm9sbGVyOiAwLFxuICAgIGRiOiAwLFxuICAgIHZpZXdzOiAwXG4gIH1cblxuICAvKipcbiAgICogQnVja2V0IHN0YWNrLlxuICAgKiBAdHlwZSB7QWN0aXZlVGltaW5nQnVja2V0W119ICovXG4gIGJ1Y2tldFN0YWNrID0gW11cblxuICBkYlF1ZXJ5Q291bnQgPSAwXG4gIC8qKlxuICAgKiBDb21wbGV0ZWQgbG9nIG1ldGhvZC5cbiAgICogQHR5cGUge1wiZGVidWdcIiB8IFwiaW5mb1wiIHwgdW5kZWZpbmVkfSAqL1xuICBjb21wbGV0ZWRMb2dNZXRob2QgPSB1bmRlZmluZWRcbiAgLyoqXG4gICAqIENvbXBsZXRlZCBsb2cgc3ViamVjdC5cbiAgICogQHR5cGUge3N0cmluZyB8IHVuZGVmaW5lZH0gKi9cbiAgY29tcGxldGVkTG9nU3ViamVjdCA9IHVuZGVmaW5lZFxuICAvKipcbiAgICogUmVzcG9uc2Ugc2VydmVkIGF0IG1zLlxuICAgKiBAdHlwZSB7bnVtYmVyIHwgdW5kZWZpbmVkfSAqL1xuICByZXNwb25zZVNlcnZlZEF0TXMgPSB1bmRlZmluZWRcbiAgc3RhcnRlZEF0TXMgPSBEYXRlLm5vdygpXG5cbiAgLyoqXG4gICAqIFJ1bnMgbWVhc3VyZS5cbiAgICogQHRlbXBsYXRlIFRcbiAgICogQHBhcmFtIHtSZXF1ZXN0VGltaW5nQnVja2V0fSBidWNrZXQgLSBCdWNrZXQgbmFtZS5cbiAgICogQHBhcmFtIHsoKSA9PiBQcm9taXNlPFQ+IHwgVH0gY2FsbGJhY2sgLSBDYWxsYmFjayB0byBtZWFzdXJlLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxUPn0gLSBDYWxsYmFjayByZXN1bHQuXG4gICAqL1xuICBhc3luYyBtZWFzdXJlKGJ1Y2tldCwgY2FsbGJhY2spIHtcbiAgICB0aGlzLl9wdXNoQnVja2V0KGJ1Y2tldClcblxuICAgIHRyeSB7XG4gICAgICByZXR1cm4gYXdhaXQgY2FsbGJhY2soKVxuICAgIH0gZmluYWxseSB7XG4gICAgICB0aGlzLl9wb3BCdWNrZXQoKVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSdW5zIG1lYXN1cmUgc3luYy5cbiAgICogQHRlbXBsYXRlIFRcbiAgICogQHBhcmFtIHtSZXF1ZXN0VGltaW5nQnVja2V0fSBidWNrZXQgLSBCdWNrZXQgbmFtZS5cbiAgICogQHBhcmFtIHsoKSA9PiBUfSBjYWxsYmFjayAtIENhbGxiYWNrIHRvIG1lYXN1cmUuXG4gICAqIEByZXR1cm5zIHtUfSAtIENhbGxiYWNrIHJlc3VsdC5cbiAgICovXG4gIG1lYXN1cmVTeW5jKGJ1Y2tldCwgY2FsbGJhY2spIHtcbiAgICB0aGlzLl9wdXNoQnVja2V0KGJ1Y2tldClcblxuICAgIHRyeSB7XG4gICAgICByZXR1cm4gY2FsbGJhY2soKVxuICAgIH0gZmluYWxseSB7XG4gICAgICB0aGlzLl9wb3BCdWNrZXQoKVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSdW5zIG1lYXN1cmUgZGIgcXVlcnkuXG4gICAqIEB0ZW1wbGF0ZSBUXG4gICAqIEBwYXJhbSB7KCkgPT4gUHJvbWlzZTxUPn0gY2FsbGJhY2sgLSBRdWVyeSBjYWxsYmFjay5cbiAgICogQHJldHVybnMge1Byb21pc2U8VD59IC0gUXVlcnkgcmVzdWx0LlxuICAgKi9cbiAgYXN5bmMgbWVhc3VyZURiUXVlcnkoY2FsbGJhY2spIHtcbiAgICB0aGlzLmRiUXVlcnlDb3VudCArPSAxXG5cbiAgICByZXR1cm4gYXdhaXQgdGhpcy5tZWFzdXJlKFwiZGJcIiwgY2FsbGJhY2spXG4gIH1cblxuICAvKipcbiAgICogUnVucyBtYXJrIHJlc3BvbnNlIHNlcnZlZC5cbiAgICogQHJldHVybnMge3ZvaWR9IC0gTWFya3MgdGhlIHJlc3BvbnNlIGFzIGZ1bGx5IHNlcnZlZC5cbiAgICovXG4gIG1hcmtSZXNwb25zZVNlcnZlZCgpIHtcbiAgICB0aGlzLnJlc3BvbnNlU2VydmVkQXRNcyA9IERhdGUubm93KClcbiAgfVxuXG4gIC8qKlxuICAgKiBSdW5zIHN1bW1hcnkuXG4gICAqIEByZXR1cm5zIHt7Y29udHJvbGxlck1zOiBudW1iZXIsIGRiTXM6IG51bWJlciwgdG90YWxNczogbnVtYmVyLCB2ZWxvY2lvdXNNczogbnVtYmVyLCB2aWV3c01zOiBudW1iZXIsIGRiUXVlcnlDb3VudDogbnVtYmVyfX0gLSBUaW1pbmcgc3VtbWFyeS5cbiAgICovXG4gIHN1bW1hcnkoKSB7XG4gICAgY29uc3Qgbm93ID0gdGhpcy5yZXNwb25zZVNlcnZlZEF0TXMgfHwgRGF0ZS5ub3coKVxuICAgIGNvbnN0IGJ1Y2tldHMgPSB0aGlzLl9idWNrZXRUb3RhbHNBdChub3cpXG4gICAgY29uc3QgdG90YWxNcyA9IG5vdyAtIHRoaXMuc3RhcnRlZEF0TXNcbiAgICBjb25zdCBjb250cm9sbGVyTXMgPSBidWNrZXRzLmNvbnRyb2xsZXJcbiAgICBjb25zdCBkYk1zID0gYnVja2V0cy5kYlxuICAgIGNvbnN0IHZpZXdzTXMgPSBidWNrZXRzLnZpZXdzXG4gICAgY29uc3QgdmVsb2Npb3VzTXMgPSBNYXRoLm1heCh0b3RhbE1zIC0gY29udHJvbGxlck1zIC0gZGJNcyAtIHZpZXdzTXMsIDApXG5cbiAgICByZXR1cm4ge1xuICAgICAgY29udHJvbGxlck1zLFxuICAgICAgZGJNcyxcbiAgICAgIGRiUXVlcnlDb3VudDogdGhpcy5kYlF1ZXJ5Q291bnQsXG4gICAgICB0b3RhbE1zLFxuICAgICAgdmVsb2Npb3VzTXMsXG4gICAgICB2aWV3c01zXG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJ1bnMgYnVja2V0IHRvdGFscyBhdC5cbiAgICogQHBhcmFtIHtudW1iZXJ9IG5vdyAtIFRpbWVzdGFtcCB0byBjYWxjdWxhdGUgYWN0aXZlIGJ1Y2tldCBlbGFwc2VkIHRpbWUgYWdhaW5zdC5cbiAgICogQHJldHVybnMge1JlY29yZDxSZXF1ZXN0VGltaW5nQnVja2V0LCBudW1iZXI+fSAtIEJ1Y2tldCB0b3RhbHMuXG4gICAqL1xuICBfYnVja2V0VG90YWxzQXQobm93KSB7XG4gICAgY29uc3QgYnVja2V0cyA9IE9iamVjdC5hc3NpZ24oe30sIHRoaXMuYnVja2V0cylcbiAgICBjb25zdCBhY3RpdmVCdWNrZXQgPSB0aGlzLmJ1Y2tldFN0YWNrW3RoaXMuYnVja2V0U3RhY2subGVuZ3RoIC0gMV1cblxuICAgIGlmIChhY3RpdmVCdWNrZXQpIHtcbiAgICAgIGJ1Y2tldHNbYWN0aXZlQnVja2V0LmJ1Y2tldF0gKz0gTWF0aC5tYXgobm93IC0gYWN0aXZlQnVja2V0LnN0YXJ0ZWRBdE1zLCAwKVxuICAgIH1cblxuICAgIHJldHVybiBidWNrZXRzXG4gIH1cblxuICAvKipcbiAgICogUnVucyBwdXNoIGJ1Y2tldC5cbiAgICogQHBhcmFtIHtSZXF1ZXN0VGltaW5nQnVja2V0fSBidWNrZXQgLSBCdWNrZXQgbmFtZS5cbiAgICogQHJldHVybnMge3ZvaWR9IC0gTm8gcmV0dXJuIHZhbHVlLlxuICAgKi9cbiAgX3B1c2hCdWNrZXQoYnVja2V0KSB7XG4gICAgY29uc3Qgbm93ID0gRGF0ZS5ub3coKVxuICAgIGNvbnN0IGFjdGl2ZUJ1Y2tldCA9IHRoaXMuYnVja2V0U3RhY2tbdGhpcy5idWNrZXRTdGFjay5sZW5ndGggLSAxXVxuXG4gICAgaWYgKGFjdGl2ZUJ1Y2tldCkge1xuICAgICAgdGhpcy5idWNrZXRzW2FjdGl2ZUJ1Y2tldC5idWNrZXRdICs9IG5vdyAtIGFjdGl2ZUJ1Y2tldC5zdGFydGVkQXRNc1xuICAgIH1cblxuICAgIHRoaXMuYnVja2V0U3RhY2sucHVzaCh7YnVja2V0LCBzdGFydGVkQXRNczogbm93fSlcbiAgfVxuXG4gIC8qKlxuICAgKiBSdW5zIHBvcCBidWNrZXQuXG4gICAqIEByZXR1cm5zIHt2b2lkfSAtIE5vIHJldHVybiB2YWx1ZS5cbiAgICovXG4gIF9wb3BCdWNrZXQoKSB7XG4gICAgY29uc3Qgbm93ID0gRGF0ZS5ub3coKVxuICAgIGNvbnN0IGFjdGl2ZUJ1Y2tldCA9IHRoaXMuYnVja2V0U3RhY2sucG9wKClcblxuICAgIGlmICghYWN0aXZlQnVja2V0KSB0aHJvdyBuZXcgRXJyb3IoXCJObyBhY3RpdmUgcmVxdWVzdCB0aW1pbmcgYnVja2V0XCIpXG5cbiAgICB0aGlzLmJ1Y2tldHNbYWN0aXZlQnVja2V0LmJ1Y2tldF0gKz0gbm93IC0gYWN0aXZlQnVja2V0LnN0YXJ0ZWRBdE1zXG5cbiAgICBjb25zdCBwYXJlbnRCdWNrZXQgPSB0aGlzLmJ1Y2tldFN0YWNrW3RoaXMuYnVja2V0U3RhY2subGVuZ3RoIC0gMV1cbiAgICBpZiAocGFyZW50QnVja2V0KSBwYXJlbnRCdWNrZXQuc3RhcnRlZEF0TXMgPSBub3dcbiAgfVxufVxuIl19
@@ -78,7 +78,7 @@ export default class VelociousHttpServerClientRequest {
78
78
  const parsed = querystring.parse(query);
79
79
  /**
80
80
  * Params.
81
- @type {Record<string, string | string[]>} */
81
+ * @type {Record<string, string | string[]>} */
82
82
  const params = Object.create(null);
83
83
  for (const [key, value] of Object.entries(parsed)) {
84
84
  if (typeof value !== "undefined") {
@@ -99,4 +99,4 @@ export default class VelociousHttpServerClientRequest {
99
99
  getRequestBuffer() { return this.getRequestParser().getRequestBuffer(); }
100
100
  getRequestParser() { return this.requestParser; }
101
101
  }
102
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9odHRwLXNlcnZlci9jbGllbnQvcmVxdWVzdC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxZQUFZO0FBRVosT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLFdBQVcsQ0FBQTtBQUM5QixPQUFPLFdBQVcsTUFBTSxhQUFhLENBQUE7QUFDckMsT0FBTyxhQUFhLE1BQU0scUJBQXFCLENBQUE7QUFDL0MsT0FBTyxvQkFBb0IsTUFBTSxzQkFBc0IsQ0FBQTtBQUN2RCxPQUFPLGFBQWEsTUFBTSxnQ0FBZ0MsQ0FBQTtBQUUxRCxNQUFNLENBQUMsT0FBTyxPQUFPLGdDQUFnQztJQUNuRDs7Ozs7T0FLRztJQUNILFlBQVksRUFBQyxNQUFNLEVBQUUsYUFBYSxFQUFFLEdBQUcsUUFBUSxFQUFDO1FBQzlDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQTtRQUV2QixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQTtRQUNwQixJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQTtRQUNsQyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksYUFBYSxDQUFDLEVBQUMsYUFBYSxFQUFDLENBQUMsQ0FBQTtJQUN6RCxDQUFDO0lBRUQsT0FBTyxLQUFLLE9BQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLE1BQU0sSUFBSSxDQUFDLFlBQVksRUFBRSxFQUFFLENBQUEsQ0FBQyxDQUFDO0lBRWxFOzs7O09BSUc7SUFDSCxJQUFJLENBQUMsSUFBSSxJQUFJLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUEsQ0FBQyxDQUFDO0lBRW5EOzs7O09BSUc7SUFDSCxNQUFNLENBQUMsVUFBVSxJQUFJLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxFQUFFLFFBQVEsRUFBRSxDQUFBLENBQUMsQ0FB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LEVBQUU7U0FDaEQsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUNELG1CQUFtQixLQUFLLE9BQU8sSUFBSSxDQUFDLE1BQU0sRUFBRSxhQUFhLENBQUEsQ0FBQyxDQUFDO0lBRTNELGdCQUFnQixLQUFLLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQSxDQUFDLENBQUM7SUFDeEUsZ0JBQWdCLEtBQUssT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFBLENBQUMsQ0FBQztDQUNqRCIsInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1jaGVja1xuXG5pbXBvcnQge2RpZ2d9IGZyb20gXCJkaWdnZXJpemVcIlxuaW1wb3J0IHF1ZXJ5c3RyaW5nIGZyb20gXCJxdWVyeXN0cmluZ1wiXG5pbXBvcnQgUmVxdWVzdFBhcnNlciBmcm9tIFwiLi9yZXF1ZXN0LXBhcnNlci5qc1wiXG5pbXBvcnQgcmVzb2x2ZVJlbW90ZUFkZHJlc3MgZnJvbSBcIi4uL3JlbW90ZS1hZGRyZXNzLmpzXCJcbmltcG9ydCByZXN0QXJnc0Vycm9yIGZyb20gXCIuLi8uLi91dGlscy9yZXN0LWFyZ3MtZXJyb3IuanNcIlxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBWZWxvY2lvdXNIdHRwU2VydmVyQ2xpZW50UmVxdWVzdCB7XG4gIC8qKlxuICAgKiBSdW5zIGNvbnN0cnVjdG9yLlxuICAgKiBAcGFyYW0ge29iamVjdH0gYXJncyAtIE9wdGlvbnMgb2JqZWN0LlxuICAgKiBAcGFyYW0ge2ltcG9ydChcIi4vaW5kZXguanNcIikuZGVmYXVsdH0gYXJncy5jbGllbnQgLSBDbGllbnQgaW5zdGFuY2UuXG4gICAqIEBwYXJhbSB7aW1wb3J0KFwiLi4vLi4vY29uZmlndXJhdGlvbi5qc1wiKS5kZWZhdWx0fSBhcmdzLmNvbmZpZ3VyYXRpb24gLSBDb25maWd1cmF0aW9uIGluc3RhbmNlLlxuICAgKi9cbiAgY29uc3RydWN0b3Ioe2NsaWVudCwgY29uZmlndXJhdGlvbiwgLi4ucmVzdEFyZ3N9KSB7XG4gICAgcmVzdEFyZ3NFcnJvcihyZXN0QXJncylcblxuICAgIHRoaXMuY2xpZW50ID0gY2xpZW50XG4gICAgdGhpcy5jb25maWd1cmF0aW9uID0gY29uZmlndXJhdGlvblxuICAgIHRoaXMucmVxdWVzdFBhcnNlciA9IG5ldyBSZXF1ZXN0UGFyc2VyKHtjb25maWd1cmF0aW9ufSlcbiAgfVxuXG4gIGJhc2VVUkwoKSB7IHJldHVybiBgJHt0aGlzLnByb3RvY29sKCl9Oi8vJHt0aGlzLmhvc3RXaXRoUG9ydCgpfWAgfVxuXG4gIC8qKlxuICAgKiBSdW5zIGZlZWQuXG4gICAqIEBwYXJhbSB7QnVmZmVyfSBkYXRhIC0gRGF0YSBwYXlsb2FkLlxuICAgKiBAcmV0dXJucyB7QnVmZmVyIHwgdW5kZWZpbmVkfSAtIFJlbWFpbmluZyBkYXRhLCBpZiBhbnkuXG4gICAqL1xuICBmZWVkKGRhdGEpIHsgcmV0dXJuIHRoaXMucmVxdWVzdFBhcnNlci5mZWVkKGRhdGEpIH1cblxuICAvKipcbiAgICogUnVucyBoZWFkZXIuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBoZWFkZXJOYW1lIC0gSGVhZGVyIG5hbWUuXG4gICAqIEByZXR1cm5zIHtzdHJpbmcgfCBudWxsfSAtIFRoZSBoZWFkZXIuXG4gICAqL1xuICBoZWFkZXIoaGVhZGVyTmFtZSkgeyByZXR1cm4gdGhpcy5nZXRSZXF1ZXN0QnVmZmVyKCkuZ2V0SGVhZGVyKGhlYWRlck5hbWUpPy5nZXRWYWx1ZSgpIH1cbiAgaGVhZGVycygpIHsgcmV0dXJuIHRoaXMuZ2V0UmVxdWVzdEJ1ZmZlcigpLmdldEhlYWRlcnNIYXNoKCkgfVxuICBodHRwTWV0aG9kKCkgeyByZXR1cm4gdGhpcy5yZXF1ZXN0UGFyc2VyLmdldEh0dHBNZXRob2QoKSB9XG4gIGh0dHBWZXJzaW9uKCkgeyByZXR1cm4gdGhpcy5yZXF1ZXN0UGFyc2VyLmdldEh0dHBWZXJzaW9uKCkgfVxuICBob3N0KCkgeyByZXR1cm4gdGhpcy5yZXF1ZXN0UGFyc2VyLmdldEhvc3QoKSB9XG4gIC8qKlxuICAgKiBSdW5zIG1ldGFkYXRhLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gW2tleV0gLSBNZXRhZGF0YSBrZXkuXG4gICAqIEByZXR1cm5zIHs/fSAtIE1ldGFkYXRhIHZhbHVlIGZvciBhIGtleSwgb3IgdGhlIGZ1bGwgbWV0YWRhdGEgb2JqZWN0LlxuICAgKi9cbiAgbWV0YWRhdGEoa2V5KSB7XG4gICAgaWYgKGtleSAhPT0gdW5kZWZpbmVkKSByZXR1cm4gdW5kZWZpbmVkXG5cbiAgICByZXR1cm4ge31cbiAgfVxuXG4gIGhvc3RXaXRoUG9ydCgpIHtcbiAgICBjb25zdCBwb3J0ID0gdGhpcy5wb3J0KClcbiAgICBjb25zdCBwcm90b2NvbCA9IHRoaXMucHJvdG9jb2woKVxuICAgIGxldCBob3N0V2l0aFBvcnQgPSBgJHt0aGlzLmhvc3QoKX1gXG5cbiAgICBpZiAocG9ydCA9PSA4MCAmJiBwcm90b2NvbCA9PSBcImh0dHBcIikge1xuICAgICAgLy8gRG8gbm90aGluZ1xuICAgIH0gZWxzZSBpZiAocG9ydCA9PSA0NDMgJiYgcHJvdG9jb2wgPT0gXCJodHRwc1wiKSB7XG4gICAgICAvLyBEbyBub3RoaW5nXG4gICAgfSBlbHNlIGlmIChwb3J0KSB7XG4gICAgICBob3N0V2l0aFBvcnQgKz0gYDoke3BvcnR9YFxuICAgIH1cblxuICAgIHJldHVybiBob3N0V2l0aFBvcnRcbiAgfVxuXG4gIG9yaWdpbigpIHsgcmV0dXJuIHRoaXMuaGVhZGVyKFwib3JpZ2luXCIpIH1cbiAgcGF0aCgpIHsgcmV0dXJuIHRoaXMucmVxdWVzdFBhcnNlci5nZXRQYXRoKCkgfVxuICAvKipcbiAgICogUnVucyBwYXJhbXMuXG4gICAqIEByZXR1cm5zIHtSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCBzdHJpbmdbXSB8IHVuZGVmaW5lZCB8IFJlY29yZDxzdHJpbmcsID8+IHwgQXJyYXk8Pz4+fSAtIFRoZSByZXF1ZXN0IHBhcmFtcy5cbiAgICovXG4gIHBhcmFtcygpIHsgcmV0dXJuIGRpZ2codGhpcywgXCJyZXF1ZXN0UGFyc2VyXCIsIFwicGFyYW1zXCIpIH1cbiAgcG9ydCgpIHsgcmV0dXJuIHRoaXMucmVxdWVzdFBhcnNlci5nZXRQb3J0KCkgfVxuXG4gIC8qKlxuICAgKiBSdW5zIHF1ZXJ5IHBhcmFtcy5cbiAgICogQHJldHVybnMge1JlY29yZDxzdHJpbmcsIHN0cmluZyB8IHN0cmluZ1tdPn0gLSBQYXJzZWQgcXVlcnkgcGFyYW1ldGVycyBmcm9tIHRoZSBVUkwuXG4gICAqL1xuICBxdWVyeVBhcmFtcygpIHtcbiAgICBjb25zdCBxdWVyeSA9IHRoaXMucGF0aCgpLnNwbGl0KFwiP1wiKVsxXVxuXG4gICAgaWYgKCFxdWVyeSkgcmV0dXJuIE9iamVjdC5jcmVhdGUobnVsbClcblxuICAgIGNvbnN0IHBhcnNlZCA9IHF1ZXJ5c3RyaW5nLnBhcnNlKHF1ZXJ5KVxuICAgIC8qKlxuICAgICAqIFBhcmFtcy5cbiAgICAgIEB0eXBlIHtSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCBzdHJpbmdbXT59ICovXG4gICAgY29uc3QgcGFyYW1zID0gT2JqZWN0LmNyZWF0ZShudWxsKVxuXG4gICAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMocGFyc2VkKSkge1xuICAgICAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gXCJ1bmRlZmluZWRcIikge1xuICAgICAgICBwYXJhbXNba2V5XSA9IHZhbHVlXG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHBhcmFtc1xuICB9XG4gIHByb3RvY29sKCkgeyByZXR1cm4gdGhpcy5yZXF1ZXN0UGFyc2VyLmdldFByb3RvY29sKCkgfVxuICByZW1vdGVBZGRyZXNzKCkge1xuICAgIHJldHVybiByZXNvbHZlUmVtb3RlQWRkcmVzcyh7XG4gICAgICBjb25maWd1cmF0aW9uOiB0aGlzLmNvbmZpZ3VyYXRpb24sXG4gICAgICBoZWFkZXJzOiB0aGlzLmhlYWRlcnMoKSxcbiAgICAgIHNvY2tldFJlbW90ZUFkZHJlc3M6IHRoaXMuc29ja2V0UmVtb3RlQWRkcmVzcygpXG4gICAgfSlcbiAgfVxuICBzb2NrZXRSZW1vdGVBZGRyZXNzKCkgeyByZXR1cm4gdGhpcy5jbGllbnQ/LnJlbW90ZUFkZHJlc3MgfVxuXG4gIGdldFJlcXVlc3RCdWZmZXIoKSB7IHJldHVybiB0aGlzLmdldFJlcXVlc3RQYXJzZXIoKS5nZXRSZXF1ZXN0QnVmZmVyKCkgfVxuICBnZXRSZXF1ZXN0UGFyc2VyKCkgeyByZXR1cm4gdGhpcy5yZXF1ZXN0UGFyc2VyIH1cbn1cbiJdfQ==
102
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9odHRwLXNlcnZlci9jbGllbnQvcmVxdWVzdC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxZQUFZO0FBRVosT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLFdBQVcsQ0FBQTtBQUM5QixPQUFPLFdBQVcsTUFBTSxhQUFhLENBQUE7QUFDckMsT0FBTyxhQUFhLE1BQU0scUJBQXFCLENBQUE7QUFDL0MsT0FBTyxvQkFBb0IsTUFBTSxzQkFBc0IsQ0FBQTtBQUN2RCxPQUFPLGFBQWEsTUFBTSxnQ0FBZ0MsQ0FBQTtBQUUxRCxNQUFNLENBQUMsT0FBTyxPQUFPLGdDQUFnQztJQUNuRDs7Ozs7T0FLRztJQUNILFlBQVksRUFBQyxNQUFNLEVBQUUsYUFBYSxFQUFFLEdBQUcsUUFBUSxFQUFDO1FBQzlDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQTtRQUV2QixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQTtRQUNwQixJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQTtRQUNsQyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksYUFBYSxDQUFDLEVBQUMsYUFBYSxFQUFDLENBQUMsQ0FBQTtJQUN6RCxDQUFDO0lBRUQsT0FBTyxLQUFLLE9BQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLE1BQU0sSUFBSSxDQUFDLFlBQVksRUFBRSxFQUFFLENBQUEsQ0FBQyxDQUFDO0lBRWxFOzs7O09BSUc7SUFDSCxJQUFJLENBQUMsSUFBSSxJQUFJLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUEsQ0FBQyxDQUFDO0lBRW5EOzs7O09BSUc7SUFDSCxNQUFNLENBQUMsVUFBVSxJQUFJLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxFQUFFLFFBQVEsRUFBRSxDQUFBLENBQUMsQ0FBQztJQUN2RixPQUFPLEtBQUssT0FBTyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxjQUFjLEVBQUUsQ0FBQSxDQUFDLENBQUM7SUFDN0QsVUFBVSxLQUFLLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxhQUFhLEVBQUUsQ0FBQSxDQUFDLENBQUM7SUFDMUQsV0FBVyxLQUFLLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxjQUFjLEVBQUUsQ0FBQSxDQUFDLENBQUM7SUFDNUQsSUFBSSxLQUFLLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLEVBQUUsQ0FBQSxDQUFDLENBQUM7SUFDOUM7Ozs7T0FJRztJQUNILFFBQVEsQ0FBQyxHQUFHO1FBQ1YsSUFBSSxHQUFHLEtBQUssU0FBUztZQUFFLE9BQU8sU0FBUyxDQUFBO1FBRXZDLE9BQU8sRUFBRSxDQUFBO0lBQ1gsQ0FBQztJQUVELFlBQVk7UUFDVixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUE7UUFDeEIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFBO1FBQ2hDLElBQUksWUFBWSxHQUFHLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUE7UUFFbkMsSUFBSSxJQUFJLElBQUksRUFBRSxJQUFJLFFBQVEsSUFBSSxNQUFNLEVBQUUsQ0FBQztZQUNyQyxhQUFhO1FBQ2YsQ0FBQzthQUFNLElBQUksSUFBSSxJQUFJLEdBQUcsSUFBSSxRQUFRLElBQUksT0FBTyxFQUFFLENBQUM7WUFDOUMsYUFBYTtRQUNmLENBQUM7YUFBTSxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ2hCLFlBQVksSUFBSSxJQUFJLElBQUksRUFBRSxDQUFBO1FBQzVCLENBQUM7UUFFRCxPQUFPLFlBQVksQ0FBQTtJQUNyQixDQUFDO0lBRUQsTUFBTSxLQUFLLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQSxDQUFDLENBQUM7SUFDekMsSUFBSSxLQUFLLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLEVBQUUsQ0FBQSxDQUFDLENBQUM7SUFDOUM7OztPQUdHO0lBQ0gsTUFBTSxLQUFLLE9BQU8sSUFBSSxDQUFDLElBQUksRUFBRSxlQUFlLEVBQUUsUUFBUSxDQUFDLENBQUEsQ0FBQyxDQUFDO0lBQ3pELElBQUksS0FBSyxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFLENBQUEsQ0FBQyxDQUFDO0lBRTlDOzs7T0FHRztJQUNILFdBQVc7UUFDVCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBRXZDLElBQUksQ0FBQyxLQUFLO1lBQUUsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFBO1FBRXRDLE1BQU0sTUFBTSxHQUFHLFdBQVcsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDdkM7O3VEQUUrQztRQUMvQyxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFBO1FBRWxDLEtBQUssTUFBTSxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7WUFDbEQsSUFBSSxPQUFPLEtBQUssS0FBSyxXQUFXLEVBQUUsQ0FBQztnQkFDakMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQTtZQUNyQixDQUFDO1FBQ0gsQ0FBQztRQUVELE9BQU8sTUFBTSxDQUFBO0lBQ2YsQ0FBQztJQUNELFFBQVEsS0FBSyxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxFQUFFLENBQUEsQ0FBQyxDQUFDO0lBQ3RELGFBQWE7UUFDWCxPQUFPLG9CQUFvQixDQUFDO1lBQzFCLGFBQWEsRUFBRSxJQUFJLENBQUMsYUFBYTtZQUNqQyxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUN2QixtQkFBbUIsRUFBRSxJQUFJLENBQUMsbUJBQW1CLEVBQUU7U0FDaEQsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUNELG1CQUFtQixLQUFLLE9BQU8sSUFBSSxDQUFDLE1BQU0sRUFBRSxhQUFhLENBQUEsQ0FBQyxDQUFDO0lBRTNELGdCQUFnQixLQUFLLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQSxDQUFDLENBQUM7SUFDeEUsZ0JBQWdCLEtBQUssT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFBLENBQUMsQ0FBQztDQUNqRCIsInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1jaGVja1xuXG5pbXBvcnQge2RpZ2d9IGZyb20gXCJkaWdnZXJpemVcIlxuaW1wb3J0IHF1ZXJ5c3RyaW5nIGZyb20gXCJxdWVyeXN0cmluZ1wiXG5pbXBvcnQgUmVxdWVzdFBhcnNlciBmcm9tIFwiLi9yZXF1ZXN0LXBhcnNlci5qc1wiXG5pbXBvcnQgcmVzb2x2ZVJlbW90ZUFkZHJlc3MgZnJvbSBcIi4uL3JlbW90ZS1hZGRyZXNzLmpzXCJcbmltcG9ydCByZXN0QXJnc0Vycm9yIGZyb20gXCIuLi8uLi91dGlscy9yZXN0LWFyZ3MtZXJyb3IuanNcIlxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBWZWxvY2lvdXNIdHRwU2VydmVyQ2xpZW50UmVxdWVzdCB7XG4gIC8qKlxuICAgKiBSdW5zIGNvbnN0cnVjdG9yLlxuICAgKiBAcGFyYW0ge29iamVjdH0gYXJncyAtIE9wdGlvbnMgb2JqZWN0LlxuICAgKiBAcGFyYW0ge2ltcG9ydChcIi4vaW5kZXguanNcIikuZGVmYXVsdH0gYXJncy5jbGllbnQgLSBDbGllbnQgaW5zdGFuY2UuXG4gICAqIEBwYXJhbSB7aW1wb3J0KFwiLi4vLi4vY29uZmlndXJhdGlvbi5qc1wiKS5kZWZhdWx0fSBhcmdzLmNvbmZpZ3VyYXRpb24gLSBDb25maWd1cmF0aW9uIGluc3RhbmNlLlxuICAgKi9cbiAgY29uc3RydWN0b3Ioe2NsaWVudCwgY29uZmlndXJhdGlvbiwgLi4ucmVzdEFyZ3N9KSB7XG4gICAgcmVzdEFyZ3NFcnJvcihyZXN0QXJncylcblxuICAgIHRoaXMuY2xpZW50ID0gY2xpZW50XG4gICAgdGhpcy5jb25maWd1cmF0aW9uID0gY29uZmlndXJhdGlvblxuICAgIHRoaXMucmVxdWVzdFBhcnNlciA9IG5ldyBSZXF1ZXN0UGFyc2VyKHtjb25maWd1cmF0aW9ufSlcbiAgfVxuXG4gIGJhc2VVUkwoKSB7IHJldHVybiBgJHt0aGlzLnByb3RvY29sKCl9Oi8vJHt0aGlzLmhvc3RXaXRoUG9ydCgpfWAgfVxuXG4gIC8qKlxuICAgKiBSdW5zIGZlZWQuXG4gICAqIEBwYXJhbSB7QnVmZmVyfSBkYXRhIC0gRGF0YSBwYXlsb2FkLlxuICAgKiBAcmV0dXJucyB7QnVmZmVyIHwgdW5kZWZpbmVkfSAtIFJlbWFpbmluZyBkYXRhLCBpZiBhbnkuXG4gICAqL1xuICBmZWVkKGRhdGEpIHsgcmV0dXJuIHRoaXMucmVxdWVzdFBhcnNlci5mZWVkKGRhdGEpIH1cblxuICAvKipcbiAgICogUnVucyBoZWFkZXIuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBoZWFkZXJOYW1lIC0gSGVhZGVyIG5hbWUuXG4gICAqIEByZXR1cm5zIHtzdHJpbmcgfCBudWxsfSAtIFRoZSBoZWFkZXIuXG4gICAqL1xuICBoZWFkZXIoaGVhZGVyTmFtZSkgeyByZXR1cm4gdGhpcy5nZXRSZXF1ZXN0QnVmZmVyKCkuZ2V0SGVhZGVyKGhlYWRlck5hbWUpPy5nZXRWYWx1ZSgpIH1cbiAgaGVhZGVycygpIHsgcmV0dXJuIHRoaXMuZ2V0UmVxdWVzdEJ1ZmZlcigpLmdldEhlYWRlcnNIYXNoKCkgfVxuICBodHRwTWV0aG9kKCkgeyByZXR1cm4gdGhpcy5yZXF1ZXN0UGFyc2VyLmdldEh0dHBNZXRob2QoKSB9XG4gIGh0dHBWZXJzaW9uKCkgeyByZXR1cm4gdGhpcy5yZXF1ZXN0UGFyc2VyLmdldEh0dHBWZXJzaW9uKCkgfVxuICBob3N0KCkgeyByZXR1cm4gdGhpcy5yZXF1ZXN0UGFyc2VyLmdldEhvc3QoKSB9XG4gIC8qKlxuICAgKiBSdW5zIG1ldGFkYXRhLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gW2tleV0gLSBNZXRhZGF0YSBrZXkuXG4gICAqIEByZXR1cm5zIHs/fSAtIE1ldGFkYXRhIHZhbHVlIGZvciBhIGtleSwgb3IgdGhlIGZ1bGwgbWV0YWRhdGEgb2JqZWN0LlxuICAgKi9cbiAgbWV0YWRhdGEoa2V5KSB7XG4gICAgaWYgKGtleSAhPT0gdW5kZWZpbmVkKSByZXR1cm4gdW5kZWZpbmVkXG5cbiAgICByZXR1cm4ge31cbiAgfVxuXG4gIGhvc3RXaXRoUG9ydCgpIHtcbiAgICBjb25zdCBwb3J0ID0gdGhpcy5wb3J0KClcbiAgICBjb25zdCBwcm90b2NvbCA9IHRoaXMucHJvdG9jb2woKVxuICAgIGxldCBob3N0V2l0aFBvcnQgPSBgJHt0aGlzLmhvc3QoKX1gXG5cbiAgICBpZiAocG9ydCA9PSA4MCAmJiBwcm90b2NvbCA9PSBcImh0dHBcIikge1xuICAgICAgLy8gRG8gbm90aGluZ1xuICAgIH0gZWxzZSBpZiAocG9ydCA9PSA0NDMgJiYgcHJvdG9jb2wgPT0gXCJodHRwc1wiKSB7XG4gICAgICAvLyBEbyBub3RoaW5nXG4gICAgfSBlbHNlIGlmIChwb3J0KSB7XG4gICAgICBob3N0V2l0aFBvcnQgKz0gYDoke3BvcnR9YFxuICAgIH1cblxuICAgIHJldHVybiBob3N0V2l0aFBvcnRcbiAgfVxuXG4gIG9yaWdpbigpIHsgcmV0dXJuIHRoaXMuaGVhZGVyKFwib3JpZ2luXCIpIH1cbiAgcGF0aCgpIHsgcmV0dXJuIHRoaXMucmVxdWVzdFBhcnNlci5nZXRQYXRoKCkgfVxuICAvKipcbiAgICogUnVucyBwYXJhbXMuXG4gICAqIEByZXR1cm5zIHtSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCBzdHJpbmdbXSB8IHVuZGVmaW5lZCB8IFJlY29yZDxzdHJpbmcsID8+IHwgQXJyYXk8Pz4+fSAtIFRoZSByZXF1ZXN0IHBhcmFtcy5cbiAgICovXG4gIHBhcmFtcygpIHsgcmV0dXJuIGRpZ2codGhpcywgXCJyZXF1ZXN0UGFyc2VyXCIsIFwicGFyYW1zXCIpIH1cbiAgcG9ydCgpIHsgcmV0dXJuIHRoaXMucmVxdWVzdFBhcnNlci5nZXRQb3J0KCkgfVxuXG4gIC8qKlxuICAgKiBSdW5zIHF1ZXJ5IHBhcmFtcy5cbiAgICogQHJldHVybnMge1JlY29yZDxzdHJpbmcsIHN0cmluZyB8IHN0cmluZ1tdPn0gLSBQYXJzZWQgcXVlcnkgcGFyYW1ldGVycyBmcm9tIHRoZSBVUkwuXG4gICAqL1xuICBxdWVyeVBhcmFtcygpIHtcbiAgICBjb25zdCBxdWVyeSA9IHRoaXMucGF0aCgpLnNwbGl0KFwiP1wiKVsxXVxuXG4gICAgaWYgKCFxdWVyeSkgcmV0dXJuIE9iamVjdC5jcmVhdGUobnVsbClcblxuICAgIGNvbnN0IHBhcnNlZCA9IHF1ZXJ5c3RyaW5nLnBhcnNlKHF1ZXJ5KVxuICAgIC8qKlxuICAgICAqIFBhcmFtcy5cbiAgICAgKiBAdHlwZSB7UmVjb3JkPHN0cmluZywgc3RyaW5nIHwgc3RyaW5nW10+fSAqL1xuICAgIGNvbnN0IHBhcmFtcyA9IE9iamVjdC5jcmVhdGUobnVsbClcblxuICAgIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKHBhcnNlZCkpIHtcbiAgICAgIGlmICh0eXBlb2YgdmFsdWUgIT09IFwidW5kZWZpbmVkXCIpIHtcbiAgICAgICAgcGFyYW1zW2tleV0gPSB2YWx1ZVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBwYXJhbXNcbiAgfVxuICBwcm90b2NvbCgpIHsgcmV0dXJuIHRoaXMucmVxdWVzdFBhcnNlci5nZXRQcm90b2NvbCgpIH1cbiAgcmVtb3RlQWRkcmVzcygpIHtcbiAgICByZXR1cm4gcmVzb2x2ZVJlbW90ZUFkZHJlc3Moe1xuICAgICAgY29uZmlndXJhdGlvbjogdGhpcy5jb25maWd1cmF0aW9uLFxuICAgICAgaGVhZGVyczogdGhpcy5oZWFkZXJzKCksXG4gICAgICBzb2NrZXRSZW1vdGVBZGRyZXNzOiB0aGlzLnNvY2tldFJlbW90ZUFkZHJlc3MoKVxuICAgIH0pXG4gIH1cbiAgc29ja2V0UmVtb3RlQWRkcmVzcygpIHsgcmV0dXJuIHRoaXMuY2xpZW50Py5yZW1vdGVBZGRyZXNzIH1cblxuICBnZXRSZXF1ZXN0QnVmZmVyKCkgeyByZXR1cm4gdGhpcy5nZXRSZXF1ZXN0UGFyc2VyKCkuZ2V0UmVxdWVzdEJ1ZmZlcigpIH1cbiAgZ2V0UmVxdWVzdFBhcnNlcigpIHsgcmV0dXJuIHRoaXMucmVxdWVzdFBhcnNlciB9XG59XG4iXX0=
@@ -9,15 +9,15 @@ export default class VelociousHttpServerClientResponse {
9
9
  });
10
10
  /**
11
11
  * Body.
12
- @type {string | Uint8Array | null} */
12
+ * @type {string | Uint8Array | null} */
13
13
  body: string | Uint8Array | null;
14
14
  /**
15
15
  * File path.
16
- @type {string | null} */
16
+ * @type {string | null} */
17
17
  filePath: string | null;
18
18
  /**
19
19
  * Headers.
20
- @type {Record<string, string[]>} */
20
+ * @type {Record<string, string[]>} */
21
21
  headers: Record<string, string[]>;
22
22
  configuration: import("../../configuration.js").default;
23
23
  _requestTimeoutMs: number | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"response.d.ts","sourceRoot":"","sources":["../../../../src/http-server/client/response.js"],"names":[],"mappings":"AA+EA;IAgBE;;;;OAIG;IACH,+BAFG;QAAuD,aAAa,EAA5D,OAAO,wBAAwB,EAAE,OAAO;KAClD,EAKA;IAxBD;;2CAEuC;IACvC,MADS,MAAM,GAAG,UAAU,GAAG,IAAI,CACxB;IAEX;;8BAE0B;IAC1B,UADS,MAAM,GAAG,IAAI,CACP;IAEf;;yCAEqC;IACrC,SADS,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CACrB;IAQV,wDAAkC;IAClC,sCAAkC;IAClC,kDA6I0B,MAAM,GAAG,SAAS,KAAK,IAAI,cA7IN;IAGjD;;;;;OAKG;IACH,eAJW,MAAM,SACN,MAAM,GACJ,IAAI,CAQhB;IAED;;;;;OAKG;IACH,eAJW,MAAM,SACN,MAAM,GACJ,IAAI,CAIhB;IAED;;;OAGG;IACH,WAFa,MAAM,GAAG,UAAU,GAAG,IAAI,CAQtC;IAED;;;OAGG;IACH,iBAFa,MAAM,CAIlB;IAED;;;OAGG;IACH,oBAFa,MAAM,CAIlB;IAED;;;;OAIG;IACH,eAHW,MAAM,GAAG,UAAU,GACjB,IAAI,CAKhB;IAED;;;OAGG;IACH,eAFa,MAAM,GAAG,IAAI,CAIzB;IAED;;;;OAIG;IACH,kBAHW,MAAM,GACJ,IAAI,CAKhB;IAED;;;;OAIG;IACH,oBAHW,KAAK,GACH,IAAI,CAKhB;IAED;;;;;;;;OAQG;IACH,kBAHW,MAAM,GAAG,MAAM,GACb,IAAI,CAYhB;IAFC,+BAA+B;IAC/B,kCAAoE;IAGtE;;;OAGG;IACH,uBAFa,MAAM,GAAG,SAAS,CAI9B;IAED;;;;OAIG;IACH,oCAHW,MAAM,GAAG,SAAS,GAAG,IAAI,GACvB,IAAI,CAYhB;IAED;;;;OAIG;IACH,0CAHW,CAAC,cAAc,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,GAC1C,IAAI,CAIhB;CACF"}
1
+ {"version":3,"file":"response.d.ts","sourceRoot":"","sources":["../../../../src/http-server/client/response.js"],"names":[],"mappings":"AA+EA;IAgBE;;;;OAIG;IACH,+BAFG;QAAuD,aAAa,EAA5D,OAAO,wBAAwB,EAAE,OAAO;KAClD,EAKA;IAxBD;;4CAEwC;IACxC,MADU,MAAM,GAAG,UAAU,GAAG,IAAI,CACzB;IAEX;;+BAE2B;IAC3B,UADU,MAAM,GAAG,IAAI,CACR;IAEf;;0CAEsC;IACtC,SADU,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CACtB;IAQV,wDAAkC;IAClC,sCAAkC;IAClC,kDA6I0B,MAAM,GAAG,SAAS,KAAK,IAAI,cA7IN;IAGjD;;;;;OAKG;IACH,eAJW,MAAM,SACN,MAAM,GACJ,IAAI,CAQhB;IAED;;;;;OAKG;IACH,eAJW,MAAM,SACN,MAAM,GACJ,IAAI,CAIhB;IAED;;;OAGG;IACH,WAFa,MAAM,GAAG,UAAU,GAAG,IAAI,CAQtC;IAED;;;OAGG;IACH,iBAFa,MAAM,CAIlB;IAED;;;OAGG;IACH,oBAFa,MAAM,CAIlB;IAED;;;;OAIG;IACH,eAHW,MAAM,GAAG,UAAU,GACjB,IAAI,CAKhB;IAED;;;OAGG;IACH,eAFa,MAAM,GAAG,IAAI,CAIzB;IAED;;;;OAIG;IACH,kBAHW,MAAM,GACJ,IAAI,CAKhB;IAED;;;;OAIG;IACH,oBAHW,KAAK,GACH,IAAI,CAKhB;IAED;;;;;;;;OAQG;IACH,kBAHW,MAAM,GAAG,MAAM,GACb,IAAI,CAYhB;IAFC,+BAA+B;IAC/B,kCAAoE;IAGtE;;;OAGG;IACH,uBAFa,MAAM,GAAG,SAAS,CAI9B;IAED;;;;OAIG;IACH,oCAHW,MAAM,GAAG,SAAS,GAAG,IAAI,GACvB,IAAI,CAYhB;IAED;;;;OAIG;IACH,0CAHW,CAAC,cAAc,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,GAC1C,IAAI,CAIhB;CACF"}
@@ -1,7 +1,7 @@
1
1
  // @ts-check
2
2
  /**
3
3
  * Named status aliases.
4
- @type {Record<string, number>} */
4
+ * @type {Record<string, number>} */
5
5
  const NAMED_STATUS_ALIASES = {
6
6
  "success": 200,
7
7
  "not-found": 404,
@@ -9,7 +9,7 @@ const NAMED_STATUS_ALIASES = {
9
9
  };
10
10
  /**
11
11
  * Standard status messages.
12
- @type {Record<number, string>} */
12
+ * @type {Record<number, string>} */
13
13
  const STANDARD_STATUS_MESSAGES = {
14
14
  100: "Continue",
15
15
  101: "Switching Protocols",
@@ -77,15 +77,15 @@ const STANDARD_STATUS_MESSAGES = {
77
77
  export default class VelociousHttpServerClientResponse {
78
78
  /**
79
79
  * Body.
80
- @type {string | Uint8Array | null} */
80
+ * @type {string | Uint8Array | null} */
81
81
  body = null;
82
82
  /**
83
83
  * File path.
84
- @type {string | null} */
84
+ * @type {string | null} */
85
85
  filePath = null;
86
86
  /**
87
87
  * Headers.
88
- @type {Record<string, string[]>} */
88
+ * @type {Record<string, string[]>} */
89
89
  headers = {};
90
90
  /**
91
91
  * Runs constructor.
@@ -226,4 +226,4 @@ export default class VelociousHttpServerClientResponse {
226
226
  this._requestTimeoutMsChangeHandler = handler;
227
227
  }
228
228
  }
229
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzcG9uc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvaHR0cC1zZXJ2ZXIvY2xpZW50L3Jlc3BvbnNlLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVk7QUFFWjs7bUNBRW1DO0FBQ25DLE1BQU0sb0JBQW9CLEdBQUc7SUFDM0IsU0FBUyxFQUFFLEdBQUc7SUFDZCxXQUFXLEVBQUUsR0FBRztJQUNoQix1QkFBdUIsRUFBRSxHQUFHO0NBQzdCLENBQUE7QUFFRDs7bUNBRW1DO0FBQ25DLE1BQU0sd0JBQXdCLEdBQUc7SUFDL0IsR0FBRyxFQUFFLFVBQVU7SUFDZixHQUFHLEVBQUUscUJBQXFCO0lBQzFCLEdBQUcsRUFBRSxZQUFZO0lBQ2pCLEdBQUcsRUFBRSxhQUFhO0lBQ2xCLEdBQUcsRUFBRSxJQUFJO0lBQ1QsR0FBRyxFQUFFLFNBQVM7SUFDZCxHQUFHLEVBQUUsVUFBVTtJQUNmLEdBQUcsRUFBRSwrQkFBK0I7SUFDcEMsR0FBRyxFQUFFLFlBQVk7SUFDakIsR0FBRyxFQUFFLGVBQWU7SUFDcEIsR0FBRyxFQUFFLGlCQUFpQjtJQUN0QixHQUFHLEVBQUUsY0FBYztJQUNuQixHQUFHLEVBQUUsa0JBQWtCO0lBQ3ZCLEdBQUcsRUFBRSxTQUFTO0lBQ2QsR0FBRyxFQUFFLGtCQUFrQjtJQUN2QixHQUFHLEVBQUUsbUJBQW1CO0lBQ3hCLEdBQUcsRUFBRSxPQUFPO0lBQ1osR0FBRyxFQUFFLFdBQVc7SUFDaEIsR0FBRyxFQUFFLGNBQWM7SUFDbkIsR0FBRyxFQUFFLFdBQVc7SUFDaEIsR0FBRyxFQUFFLG9CQUFvQjtJQUN6QixHQUFHLEVBQUUsb0JBQW9CO0lBQ3pCLEdBQUcsRUFBRSxhQUFhO0lBQ2xCLEdBQUcsRUFBRSxjQUFjO0lBQ25CLEdBQUcsRUFBRSxrQkFBa0I7SUFDdkIsR0FBRyxFQUFFLFdBQVc7SUFDaEIsR0FBRyxFQUFFLFdBQVc7SUFDaEIsR0FBRyxFQUFFLG9CQUFvQjtJQUN6QixHQUFHLEVBQUUsZ0JBQWdCO0lBQ3JCLEdBQUcsRUFBRSwrQkFBK0I7SUFDcEMsR0FBRyxFQUFFLGlCQUFpQjtJQUN0QixHQUFHLEVBQUUsVUFBVTtJQUNmLEdBQUcsRUFBRSxNQUFNO0lBQ1gsR0FBRyxFQUFFLGlCQUFpQjtJQUN0QixHQUFHLEVBQUUscUJBQXFCO0lBQzFCLEdBQUcsRUFBRSxtQkFBbUI7SUFDeEIsR0FBRyxFQUFFLGNBQWM7SUFDbkIsR0FBRyxFQUFFLHdCQUF3QjtJQUM3QixHQUFHLEVBQUUsdUJBQXVCO0lBQzVCLEdBQUcsRUFBRSxvQkFBb0I7SUFDekIsR0FBRyxFQUFFLGNBQWM7SUFDbkIsR0FBRyxFQUFFLHFCQUFxQjtJQUMxQixHQUFHLEVBQUUsc0JBQXNCO0lBQzNCLEdBQUcsRUFBRSxRQUFRO0lBQ2IsR0FBRyxFQUFFLG1CQUFtQjtJQUN4QixHQUFHLEVBQUUsV0FBVztJQUNoQixHQUFHLEVBQUUsa0JBQWtCO0lBQ3ZCLEdBQUcsRUFBRSx1QkFBdUI7SUFDNUIsR0FBRyxFQUFFLG1CQUFtQjtJQUN4QixHQUFHLEVBQUUsaUNBQWlDO0lBQ3RDLEdBQUcsRUFBRSwrQkFBK0I7SUFDcEMsR0FBRyxFQUFFLHVCQUF1QjtJQUM1QixHQUFHLEVBQUUsaUJBQWlCO0lBQ3RCLEdBQUcsRUFBRSxhQUFhO0lBQ2xCLEdBQUcsRUFBRSxxQkFBcUI7SUFDMUIsR0FBRyxFQUFFLGlCQUFpQjtJQUN0QixHQUFHLEVBQUUsNEJBQTRCO0lBQ2pDLEdBQUcsRUFBRSx5QkFBeUI7SUFDOUIsR0FBRyxFQUFFLHNCQUFzQjtJQUMzQixHQUFHLEVBQUUsZUFBZTtJQUNwQixHQUFHLEVBQUUsY0FBYztJQUNuQixHQUFHLEVBQUUsaUNBQWlDO0NBQ3ZDLENBQUE7QUFFRCxNQUFNLENBQUMsT0FBTyxPQUFPLGlDQUFpQztJQUNwRDs7MkNBRXVDO0lBQ3ZDLElBQUksR0FBRyxJQUFJLENBQUE7SUFFWDs7OEJBRTBCO0lBQzFCLFFBQVEsR0FBRyxJQUFJLENBQUE7SUFFZjs7eUNBRXFDO0lBQ3JDLE9BQU8sR0FBRyxFQUFFLENBQUE7SUFFWjs7OztPQUlHO0lBQ0gsWUFBWSxFQUFDLGFBQWEsRUFBQztRQUN6QixJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQTtRQUNsQyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsU0FBUyxDQUFBO1FBQ2xDLElBQUksQ0FBQyw4QkFBOEIsR0FBRyxTQUFTLENBQUE7SUFDakQsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsU0FBUyxDQUFDLEdBQUcsRUFBRSxLQUFLO1FBQ2xCLElBQUksQ0FBQyxDQUFDLEdBQUcsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUMzQixJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQTtRQUN4QixDQUFDO1FBRUQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDL0IsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsU0FBUyxDQUFDLEdBQUcsRUFBRSxLQUFLO1FBQ2xCLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUM3QixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsT0FBTztRQUNMLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUM1QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUE7UUFDbEIsQ0FBQztRQUVELE1BQU0sSUFBSSxLQUFLLENBQUMsc0JBQXNCLENBQUMsQ0FBQTtJQUN6QyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsYUFBYTtRQUNYLE9BQU8sSUFBSSxDQUFDLFVBQVUsSUFBSSxHQUFHLENBQUE7SUFDL0IsQ0FBQztJQUVEOzs7T0FHRztJQUNILGdCQUFnQjtRQUNkLE9BQU8sSUFBSSxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUE7SUFDbkMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxPQUFPLENBQUMsS0FBSztRQUNYLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFBO1FBQ3BCLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFBO0lBQ25CLENBQUM7SUFFRDs7O09BR0c7SUFDSCxXQUFXO1FBQ1QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFBO0lBQ3RCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsV0FBVyxDQUFDLElBQUk7UUFDZCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQTtRQUNwQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQTtJQUNsQixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILFlBQVksQ0FBQyxLQUFLO1FBQ2hCLElBQUksQ0FBQyxTQUFTLENBQUMsY0FBYyxFQUFFLDJCQUEyQixDQUFDLENBQUE7UUFDM0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEtBQUssQ0FBQyxPQUFPLE9BQU8sS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUE7SUFDcEQsQ0FBQztJQUVEOzs7Ozs7OztPQVFHO0lBQ0gsU0FBUyxDQUFDLE1BQU07UUFDZCxNQUFNLFNBQVMsR0FBRyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQTtRQUN0RCxNQUFNLGFBQWEsR0FBRyxTQUFTLElBQUksTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFBO1FBRWpELElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxJQUFJLGFBQWEsR0FBRyxHQUFHLElBQUksYUFBYSxHQUFHLEdBQUcsRUFBRSxDQUFDO1lBQ25GLE1BQU0sSUFBSSxLQUFLLENBQUMscUJBQXFCLE1BQU0sRUFBRSxDQUFDLENBQUE7UUFDaEQsQ0FBQztRQUVELElBQUksQ0FBQyxVQUFVLEdBQUcsYUFBYSxDQUFBO1FBQy9CLElBQUksQ0FBQyxhQUFhLEdBQUcsd0JBQXdCLENBQUMsYUFBYSxDQUFDLElBQUksSUFBSSxDQUFBO0lBQ3RFLENBQUM7SUFFRDs7O09BR0c7SUFDSCxtQkFBbUI7UUFDakIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUE7SUFDL0IsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxtQkFBbUIsQ0FBQyxjQUFjO1FBQ2hDLElBQUksT0FBTyxjQUFjLEtBQUssUUFBUSxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQztZQUMxRSxJQUFJLENBQUMsaUJBQWlCLEdBQUcsY0FBYyxDQUFBO1FBQ3pDLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLGlCQUFpQixHQUFHLFNBQVMsQ0FBQTtRQUNwQyxDQUFDO1FBRUQsSUFBSSxJQUFJLENBQUMsOEJBQThCLEVBQUUsQ0FBQztZQUN4QyxJQUFJLENBQUMsOEJBQThCLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUE7UUFDN0QsQ0FBQztJQUNILENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsZ0NBQWdDLENBQUMsT0FBTztRQUN0QyxJQUFJLENBQUMsOEJBQThCLEdBQUcsT0FBTyxDQUFBO0lBQy9DLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1jaGVja1xuXG4vKipcbiAqIE5hbWVkIHN0YXR1cyBhbGlhc2VzLlxuICBAdHlwZSB7UmVjb3JkPHN0cmluZywgbnVtYmVyPn0gKi9cbmNvbnN0IE5BTUVEX1NUQVRVU19BTElBU0VTID0ge1xuICBcInN1Y2Nlc3NcIjogMjAwLFxuICBcIm5vdC1mb3VuZFwiOiA0MDQsXG4gIFwiaW50ZXJuYWwtc2VydmVyLWVycm9yXCI6IDUwMFxufVxuXG4vKipcbiAqIFN0YW5kYXJkIHN0YXR1cyBtZXNzYWdlcy5cbiAgQHR5cGUge1JlY29yZDxudW1iZXIsIHN0cmluZz59ICovXG5jb25zdCBTVEFOREFSRF9TVEFUVVNfTUVTU0FHRVMgPSB7XG4gIDEwMDogXCJDb250aW51ZVwiLFxuICAxMDE6IFwiU3dpdGNoaW5nIFByb3RvY29sc1wiLFxuICAxMDI6IFwiUHJvY2Vzc2luZ1wiLFxuICAxMDM6IFwiRWFybHkgSGludHNcIixcbiAgMjAwOiBcIk9LXCIsXG4gIDIwMTogXCJDcmVhdGVkXCIsXG4gIDIwMjogXCJBY2NlcHRlZFwiLFxuICAyMDM6IFwiTm9uLUF1dGhvcml0YXRpdmUgSW5mb3JtYXRpb25cIixcbiAgMjA0OiBcIk5vIENvbnRlbnRcIixcbiAgMjA1OiBcIlJlc2V0IENvbnRlbnRcIixcbiAgMjA2OiBcIlBhcnRpYWwgQ29udGVudFwiLFxuICAyMDc6IFwiTXVsdGktU3RhdHVzXCIsXG4gIDIwODogXCJBbHJlYWR5IFJlcG9ydGVkXCIsXG4gIDIyNjogXCJJTSBVc2VkXCIsXG4gIDMwMDogXCJNdWx0aXBsZSBDaG9pY2VzXCIsXG4gIDMwMTogXCJNb3ZlZCBQZXJtYW5lbnRseVwiLFxuICAzMDI6IFwiRm91bmRcIixcbiAgMzAzOiBcIlNlZSBPdGhlclwiLFxuICAzMDQ6IFwiTm90IE1vZGlmaWVkXCIsXG4gIDMwNTogXCJVc2UgUHJveHlcIixcbiAgMzA3OiBcIlRlbXBvcmFyeSBSZWRpcmVjdFwiLFxuICAzMDg6IFwiUGVybWFuZW50IFJlZGlyZWN0XCIsXG4gIDQwMDogXCJCYWQgUmVxdWVzdFwiLFxuICA0MDE6IFwiVW5hdXRob3JpemVkXCIsXG4gIDQwMjogXCJQYXltZW50IFJlcXVpcmVkXCIsXG4gIDQwMzogXCJGb3JiaWRkZW5cIixcbiAgNDA0OiBcIk5vdCBGb3VuZFwiLFxuICA0MDU6IFwiTWV0aG9kIE5vdCBBbGxvd2VkXCIsXG4gIDQwNjogXCJOb3QgQWNjZXB0YWJsZVwiLFxuICA0MDc6IFwiUHJveHkgQXV0aGVudGljYXRpb24gUmVxdWlyZWRcIixcbiAgNDA4OiBcIlJlcXVlc3QgVGltZW91dFwiLFxuICA0MDk6IFwiQ29uZmxpY3RcIixcbiAgNDEwOiBcIkdvbmVcIixcbiAgNDExOiBcIkxlbmd0aCBSZXF1aXJlZFwiLFxuICA0MTI6IFwiUHJlY29uZGl0aW9uIEZhaWxlZFwiLFxuICA0MTM6IFwiUGF5bG9hZCBUb28gTGFyZ2VcIixcbiAgNDE0OiBcIlVSSSBUb28gTG9uZ1wiLFxuICA0MTU6IFwiVW5zdXBwb3J0ZWQgTWVkaWEgVHlwZVwiLFxuICA0MTY6IFwiUmFuZ2UgTm90IFNhdGlzZmlhYmxlXCIsXG4gIDQxNzogXCJFeHBlY3RhdGlvbiBGYWlsZWRcIixcbiAgNDE4OiBcIkknbSBhIHRlYXBvdFwiLFxuICA0MjE6IFwiTWlzZGlyZWN0ZWQgUmVxdWVzdFwiLFxuICA0MjI6IFwiVW5wcm9jZXNzYWJsZSBFbnRpdHlcIixcbiAgNDIzOiBcIkxvY2tlZFwiLFxuICA0MjQ6IFwiRmFpbGVkIERlcGVuZGVuY3lcIixcbiAgNDI1OiBcIlRvbyBFYXJseVwiLFxuICA0MjY6IFwiVXBncmFkZSBSZXF1aXJlZFwiLFxuICA0Mjg6IFwiUHJlY29uZGl0aW9uIFJlcXVpcmVkXCIsXG4gIDQyOTogXCJUb28gTWFueSBSZXF1ZXN0c1wiLFxuICA0MzE6IFwiUmVxdWVzdCBIZWFkZXIgRmllbGRzIFRvbyBMYXJnZVwiLFxuICA0NTE6IFwiVW5hdmFpbGFibGUgRm9yIExlZ2FsIFJlYXNvbnNcIixcbiAgNTAwOiBcIkludGVybmFsIHNlcnZlciBlcnJvclwiLFxuICA1MDE6IFwiTm90IEltcGxlbWVudGVkXCIsXG4gIDUwMjogXCJCYWQgR2F0ZXdheVwiLFxuICA1MDM6IFwiU2VydmljZSBVbmF2YWlsYWJsZVwiLFxuICA1MDQ6IFwiR2F0ZXdheSBUaW1lb3V0XCIsXG4gIDUwNTogXCJIVFRQIFZlcnNpb24gTm90IFN1cHBvcnRlZFwiLFxuICA1MDY6IFwiVmFyaWFudCBBbHNvIE5lZ290aWF0ZXNcIixcbiAgNTA3OiBcIkluc3VmZmljaWVudCBTdG9yYWdlXCIsXG4gIDUwODogXCJMb29wIERldGVjdGVkXCIsXG4gIDUxMDogXCJOb3QgRXh0ZW5kZWRcIixcbiAgNTExOiBcIk5ldHdvcmsgQXV0aGVudGljYXRpb24gUmVxdWlyZWRcIlxufVxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBWZWxvY2lvdXNIdHRwU2VydmVyQ2xpZW50UmVzcG9uc2Uge1xuICAvKipcbiAgICogQm9keS5cbiAgICBAdHlwZSB7c3RyaW5nIHwgVWludDhBcnJheSB8IG51bGx9ICovXG4gIGJvZHkgPSBudWxsXG5cbiAgLyoqXG4gICAqIEZpbGUgcGF0aC5cbiAgICBAdHlwZSB7c3RyaW5nIHwgbnVsbH0gKi9cbiAgZmlsZVBhdGggPSBudWxsXG5cbiAgLyoqXG4gICAqIEhlYWRlcnMuXG4gICAgQHR5cGUge1JlY29yZDxzdHJpbmcsIHN0cmluZ1tdPn0gKi9cbiAgaGVhZGVycyA9IHt9XG5cbiAgLyoqXG4gICAqIFJ1bnMgY29uc3RydWN0b3IuXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBhcmdzIC0gT3B0aW9ucyBvYmplY3QuXG4gICAqIEBwYXJhbSB7aW1wb3J0KFwiLi4vLi4vY29uZmlndXJhdGlvbi5qc1wiKS5kZWZhdWx0fSBhcmdzLmNvbmZpZ3VyYXRpb24gLSBDb25maWd1cmF0aW9uIGluc3RhbmNlLlxuICAgKi9cbiAgY29uc3RydWN0b3Ioe2NvbmZpZ3VyYXRpb259KSB7XG4gICAgdGhpcy5jb25maWd1cmF0aW9uID0gY29uZmlndXJhdGlvblxuICAgIHRoaXMuX3JlcXVlc3RUaW1lb3V0TXMgPSB1bmRlZmluZWRcbiAgICB0aGlzLl9yZXF1ZXN0VGltZW91dE1zQ2hhbmdlSGFuZGxlciA9IHVuZGVmaW5lZFxuICB9XG5cbiAgLyoqXG4gICAqIFJ1bnMgYWRkIGhlYWRlci5cbiAgICogQHBhcmFtIHtzdHJpbmd9IGtleSAtIEtleS5cbiAgICogQHBhcmFtIHtzdHJpbmd9IHZhbHVlIC0gVmFsdWUgdG8gdXNlLlxuICAgKiBAcmV0dXJucyB7dm9pZH0gLSBObyByZXR1cm4gdmFsdWUuXG4gICAqL1xuICBhZGRIZWFkZXIoa2V5LCB2YWx1ZSkge1xuICAgIGlmICghKGtleSBpbiB0aGlzLmhlYWRlcnMpKSB7XG4gICAgICB0aGlzLmhlYWRlcnNba2V5XSA9IFtdXG4gICAgfVxuXG4gICAgdGhpcy5oZWFkZXJzW2tleV0ucHVzaCh2YWx1ZSlcbiAgfVxuXG4gIC8qKlxuICAgKiBSdW5zIHNldCBoZWFkZXIuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgLSBLZXkuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB2YWx1ZSAtIFZhbHVlIHRvIHVzZS5cbiAgICogQHJldHVybnMge3ZvaWR9IC0gTm8gcmV0dXJuIHZhbHVlLlxuICAgKi9cbiAgc2V0SGVhZGVyKGtleSwgdmFsdWUpIHtcbiAgICB0aGlzLmhlYWRlcnNba2V5XSA9IFt2YWx1ZV1cbiAgfVxuXG4gIC8qKlxuICAgKiBSdW5zIGdldCBib2R5LlxuICAgKiBAcmV0dXJucyB7c3RyaW5nIHwgVWludDhBcnJheSB8IG51bGx9IC0gVGhlIGJvZHkuXG4gICAqL1xuICBnZXRCb2R5KCkge1xuICAgIGlmICh0aGlzLmJvZHkgIT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIHRoaXMuYm9keVxuICAgIH1cblxuICAgIHRocm93IG5ldyBFcnJvcihcIk5vIGJvZHkgaGFzIGJlZW4gc2V0XCIpXG4gIH1cblxuICAvKipcbiAgICogUnVucyBnZXQgc3RhdHVzIGNvZGUuXG4gICAqIEByZXR1cm5zIHtudW1iZXJ9IC0gVGhlIHN0YXR1cyBjb2RlLlxuICAgKi9cbiAgZ2V0U3RhdHVzQ29kZSgpIHtcbiAgICByZXR1cm4gdGhpcy5zdGF0dXNDb2RlIHx8IDIwMFxuICB9XG5cbiAgLyoqXG4gICAqIFJ1bnMgZ2V0IHN0YXR1cyBtZXNzYWdlLlxuICAgKiBAcmV0dXJucyB7c3RyaW5nfSAtIFRoZSBzdGF0dXMgbWVzc2FnZS5cbiAgICovXG4gIGdldFN0YXR1c01lc3NhZ2UoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RhdHVzTWVzc2FnZSB8fCBcIk9LXCJcbiAgfVxuXG4gIC8qKlxuICAgKiBSdW5zIHNldCBib2R5LlxuICAgKiBAcGFyYW0ge3N0cmluZyB8IFVpbnQ4QXJyYXl9IHZhbHVlIC0gVmFsdWUgdG8gdXNlLlxuICAgKiBAcmV0dXJucyB7dm9pZH0gLSBObyByZXR1cm4gdmFsdWUuXG4gICAqL1xuICBzZXRCb2R5KHZhbHVlKSB7XG4gICAgdGhpcy5maWxlUGF0aCA9IG51bGxcbiAgICB0aGlzLmJvZHkgPSB2YWx1ZVxuICB9XG5cbiAgLyoqXG4gICAqIFJ1bnMgZ2V0IGZpbGUgcGF0aC5cbiAgICogQHJldHVybnMge3N0cmluZyB8IG51bGx9IC0gRmlsZSBwYXRoLlxuICAgKi9cbiAgZ2V0RmlsZVBhdGgoKSB7XG4gICAgcmV0dXJuIHRoaXMuZmlsZVBhdGhcbiAgfVxuXG4gIC8qKlxuICAgKiBSdW5zIHNldCBmaWxlIHBhdGguXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBwYXRoIC0gRmlsZSBwYXRoLlxuICAgKiBAcmV0dXJucyB7dm9pZH0gLSBObyByZXR1cm4gdmFsdWUuXG4gICAqL1xuICBzZXRGaWxlUGF0aChwYXRoKSB7XG4gICAgdGhpcy5maWxlUGF0aCA9IHBhdGhcbiAgICB0aGlzLmJvZHkgPSBudWxsXG4gIH1cblxuICAvKipcbiAgICogUnVucyBzZXQgZXJyb3IgYm9keS5cbiAgICogQHBhcmFtIHtFcnJvcn0gZXJyb3IgLSBFcnJvciBpbnN0YW5jZS5cbiAgICogQHJldHVybnMge3ZvaWR9IC0gTm8gcmV0dXJuIHZhbHVlLlxuICAgKi9cbiAgc2V0RXJyb3JCb2R5KGVycm9yKSB7XG4gICAgdGhpcy5zZXRIZWFkZXIoXCJDb250ZW50LVR5cGVcIiwgXCJ0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04XCIpXG4gICAgdGhpcy5zZXRCb2R5KGAke2Vycm9yLm1lc3NhZ2V9XFxuXFxuJHtlcnJvci5zdGFja31gKVxuICB9XG5cbiAgLyoqXG4gICAqIEFjY2VwdHMgYSBudW1lcmljIEhUVFAgc3RhdHVzIGNvZGUgKGUuZy4gYDQyMmApIG9yIG9uZSBvZiB0aGVcbiAgICogbmFtZWQgYWxpYXNlcyAoYFwic3VjY2Vzc1wiYCwgYFwibm90LWZvdW5kXCJgLCBgXCJpbnRlcm5hbC1zZXJ2ZXItZXJyb3JcImApLlxuICAgKiBOdW1lcmljIGlucHV0cyBpbiB0aGUgc3RhbmRhcmQgMXh4LTV4eCByYW5nZSByZXNvbHZlIHRoZWlyIG93blxuICAgKiBzdGF0dXMgbWVzc2FnZXMgZnJvbSB0aGUgSUFOQSByZWdpc3RyeTsgYWxpYXNlcyBrZWVwIHRoZVxuICAgKiBiYWNrLWNvbXBhdGlibGUgY29kZSBtYXBwaW5nLlxuICAgKiBAcGFyYW0ge251bWJlciB8IHN0cmluZ30gc3RhdHVzIC0gU3RhdHVzLlxuICAgKiBAcmV0dXJucyB7dm9pZH0gLSBObyByZXR1cm4gdmFsdWUuXG4gICAqL1xuICBzZXRTdGF0dXMoc3RhdHVzKSB7XG4gICAgY29uc3QgYWxpYXNDb2RlID0gTkFNRURfU1RBVFVTX0FMSUFTRVNbU3RyaW5nKHN0YXR1cyldXG4gICAgY29uc3QgbnVtZXJpY1N0YXR1cyA9IGFsaWFzQ29kZSA/PyBOdW1iZXIoc3RhdHVzKVxuXG4gICAgaWYgKCFOdW1iZXIuaXNJbnRlZ2VyKG51bWVyaWNTdGF0dXMpIHx8IG51bWVyaWNTdGF0dXMgPCAxMDAgfHwgbnVtZXJpY1N0YXR1cyA+IDU5OSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbmhhbmRsZWQgc3RhdHVzOiAke3N0YXR1c31gKVxuICAgIH1cblxuICAgIHRoaXMuc3RhdHVzQ29kZSA9IG51bWVyaWNTdGF0dXNcbiAgICB0aGlzLnN0YXR1c01lc3NhZ2UgPSBTVEFOREFSRF9TVEFUVVNfTUVTU0FHRVNbbnVtZXJpY1N0YXR1c10gfHwgXCJPS1wiXG4gIH1cblxuICAvKipcbiAgICogUnVucyBnZXQgcmVxdWVzdCB0aW1lb3V0IG1zLlxuICAgKiBAcmV0dXJucyB7bnVtYmVyIHwgdW5kZWZpbmVkfSAtIFJlcXVlc3QgdGltZW91dCBpbiBzZWNvbmRzLlxuICAgKi9cbiAgZ2V0UmVxdWVzdFRpbWVvdXRNcygpIHtcbiAgICByZXR1cm4gdGhpcy5fcmVxdWVzdFRpbWVvdXRNc1xuICB9XG5cbiAgLyoqXG4gICAqIFJ1bnMgc2V0IHJlcXVlc3QgdGltZW91dCBtcy5cbiAgICogQHBhcmFtIHtudW1iZXIgfCB1bmRlZmluZWQgfCBudWxsfSB0aW1lb3V0U2Vjb25kcyAtIFRpbWVvdXQgaW4gc2Vjb25kcy5cbiAgICogQHJldHVybnMge3ZvaWR9IC0gTm8gcmV0dXJuIHZhbHVlLlxuICAgKi9cbiAgc2V0UmVxdWVzdFRpbWVvdXRNcyh0aW1lb3V0U2Vjb25kcykge1xuICAgIGlmICh0eXBlb2YgdGltZW91dFNlY29uZHMgPT09IFwibnVtYmVyXCIgJiYgTnVtYmVyLmlzRmluaXRlKHRpbWVvdXRTZWNvbmRzKSkge1xuICAgICAgdGhpcy5fcmVxdWVzdFRpbWVvdXRNcyA9IHRpbWVvdXRTZWNvbmRzXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX3JlcXVlc3RUaW1lb3V0TXMgPSB1bmRlZmluZWRcbiAgICB9XG5cbiAgICBpZiAodGhpcy5fcmVxdWVzdFRpbWVvdXRNc0NoYW5nZUhhbmRsZXIpIHtcbiAgICAgIHRoaXMuX3JlcXVlc3RUaW1lb3V0TXNDaGFuZ2VIYW5kbGVyKHRoaXMuX3JlcXVlc3RUaW1lb3V0TXMpXG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJ1bnMgc2V0IHJlcXVlc3QgdGltZW91dCBtcyBjaGFuZ2UgaGFuZGxlci5cbiAgICogQHBhcmFtIHsodGltZW91dFNlY29uZHM6IG51bWJlciB8IHVuZGVmaW5lZCkgPT4gdm9pZH0gaGFuZGxlciAtIENoYW5nZSBoYW5kbGVyLlxuICAgKiBAcmV0dXJucyB7dm9pZH0gLSBObyByZXR1cm4gdmFsdWUuXG4gICAqL1xuICBzZXRSZXF1ZXN0VGltZW91dE1zQ2hhbmdlSGFuZGxlcihoYW5kbGVyKSB7XG4gICAgdGhpcy5fcmVxdWVzdFRpbWVvdXRNc0NoYW5nZUhhbmRsZXIgPSBoYW5kbGVyXG4gIH1cbn1cbiJdfQ==
229
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzcG9uc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvaHR0cC1zZXJ2ZXIvY2xpZW50L3Jlc3BvbnNlLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVk7QUFFWjs7b0NBRW9DO0FBQ3BDLE1BQU0sb0JBQW9CLEdBQUc7SUFDM0IsU0FBUyxFQUFFLEdBQUc7SUFDZCxXQUFXLEVBQUUsR0FBRztJQUNoQix1QkFBdUIsRUFBRSxHQUFHO0NBQzdCLENBQUE7QUFFRDs7b0NBRW9DO0FBQ3BDLE1BQU0sd0JBQXdCLEdBQUc7SUFDL0IsR0FBRyxFQUFFLFVBQVU7SUFDZixHQUFHLEVBQUUscUJBQXFCO0lBQzFCLEdBQUcsRUFBRSxZQUFZO0lBQ2pCLEdBQUcsRUFBRSxhQUFhO0lBQ2xCLEdBQUcsRUFBRSxJQUFJO0lBQ1QsR0FBRyxFQUFFLFNBQVM7SUFDZCxHQUFHLEVBQUUsVUFBVTtJQUNmLEdBQUcsRUFBRSwrQkFBK0I7SUFDcEMsR0FBRyxFQUFFLFlBQVk7SUFDakIsR0FBRyxFQUFFLGVBQWU7SUFDcEIsR0FBRyxFQUFFLGlCQUFpQjtJQUN0QixHQUFHLEVBQUUsY0FBYztJQUNuQixHQUFHLEVBQUUsa0JBQWtCO0lBQ3ZCLEdBQUcsRUFBRSxTQUFTO0lBQ2QsR0FBRyxFQUFFLGtCQUFrQjtJQUN2QixHQUFHLEVBQUUsbUJBQW1CO0lBQ3hCLEdBQUcsRUFBRSxPQUFPO0lBQ1osR0FBRyxFQUFFLFdBQVc7SUFDaEIsR0FBRyxFQUFFLGNBQWM7SUFDbkIsR0FBRyxFQUFFLFdBQVc7SUFDaEIsR0FBRyxFQUFFLG9CQUFvQjtJQUN6QixHQUFHLEVBQUUsb0JBQW9CO0lBQ3pCLEdBQUcsRUFBRSxhQUFhO0lBQ2xCLEdBQUcsRUFBRSxjQUFjO0lBQ25CLEdBQUcsRUFBRSxrQkFBa0I7SUFDdkIsR0FBRyxFQUFFLFdBQVc7SUFDaEIsR0FBRyxFQUFFLFdBQVc7SUFDaEIsR0FBRyxFQUFFLG9CQUFvQjtJQUN6QixH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L0IsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxtQkFBbUIsQ0FBQyxjQUFjO1FBQ2hDLElBQUksT0FBTyxjQUFjLEtBQUssUUFBUSxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQztZQUMxRSxJQUFJLENBQUMsaUJBQWlCLEdBQUcsY0FBYyxDQUFBO1FBQ3pDLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLGlCQUFpQixHQUFHLFNBQVMsQ0FBQTtRQUNwQyxDQUFDO1FBRUQsSUFBSSxJQUFJLENBQUMsOEJBQThCLEVBQUUsQ0FBQztZQUN4QyxJQUFJLENBQUMsOEJBQThCLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUE7UUFDN0QsQ0FBQztJQUNILENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsZ0NBQWdDLENBQUMsT0FBTztRQUN0QyxJQUFJLENBQUMsOEJBQThCLEdBQUcsT0FBTyxDQUFBO0lBQy9DLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1jaGVja1xuXG4vKipcbiAqIE5hbWVkIHN0YXR1cyBhbGlhc2VzLlxuICogQHR5cGUge1JlY29yZDxzdHJpbmcsIG51bWJlcj59ICovXG5jb25zdCBOQU1FRF9TVEFUVVNfQUxJQVNFUyA9IHtcbiAgXCJzdWNjZXNzXCI6IDIwMCxcbiAgXCJub3QtZm91bmRcIjogNDA0LFxuICBcImludGVybmFsLXNlcnZlci1lcnJvclwiOiA1MDBcbn1cblxuLyoqXG4gKiBTdGFuZGFyZCBzdGF0dXMgbWVzc2FnZXMuXG4gKiBAdHlwZSB7UmVjb3JkPG51bWJlciwgc3RyaW5nPn0gKi9cbmNvbnN0IFNUQU5EQVJEX1NUQVRVU19NRVNTQUdFUyA9IHtcbiAgMTAwOiBcIkNvbnRpbnVlXCIsXG4gIDEwMTogXCJTd2l0Y2hpbmcgUHJvdG9jb2xzXCIsXG4gIDEwMjogXCJQcm9jZXNzaW5nXCIsXG4gIDEwMzogXCJFYXJseSBIaW50c1wiLFxuICAyMDA6IFwiT0tcIixcbiAgMjAxOiBcIkNyZWF0ZWRcIixcbiAgMjAyOiBcIkFjY2VwdGVkXCIsXG4gIDIwMzogXCJOb24tQXV0aG9yaXRhdGl2ZSBJbmZvcm1hdGlvblwiLFxuICAyMDQ6IFwiTm8gQ29udGVudFwiLFxuICAyMDU6IFwiUmVzZXQgQ29udGVudFwiLFxuICAyMDY6IFwiUGFydGlhbCBDb250ZW50XCIsXG4gIDIwNzogXCJNdWx0aS1TdGF0dXNcIixcbiAgMjA4OiBcIkFscmVhZHkgUmVwb3J0ZWRcIixcbiAgMjI2OiBcIklNIFVzZWRcIixcbiAgMzAwOiBcIk11bHRpcGxlIENob2ljZXNcIixcbiAgMzAxOiBcIk1vdmVkIFBlcm1hbmVudGx5XCIsXG4gIDMwMjogXCJGb3VuZFwiLFxuICAzMDM6IFwiU2VlIE90aGVyXCIsXG4gIDMwNDogXCJOb3QgTW9kaWZpZWRcIixcbiAgMzA1OiBcIlVzZSBQcm94eVwiLFxuICAzMDc6IFwiVGVtcG9yYXJ5IFJlZGlyZWN0XCIsXG4gIDMwODogXCJQZXJtYW5lbnQgUmVkaXJlY3RcIixcbiAgNDAwOiBcIkJhZCBSZXF1ZXN0XCIsXG4gIDQwMTogXCJVbmF1dGhvcml6ZWRcIixcbiAgNDAyOiBcIlBheW1lbnQgUmVxdWlyZWRcIixcbiAgNDAzOiBcIkZvcmJpZGRlblwiLFxuICA0MDQ6IFwiTm90IEZvdW5kXCIsXG4gIDQwNTogXCJNZXRob2QgTm90IEFsbG93ZWRcIixcbiAgNDA2OiBcIk5vdCBBY2NlcHRhYmxlXCIsXG4gIDQwNzogXCJQcm94eSBBdXRoZW50aWNhdGlvbiBSZXF1aXJlZFwiLFxuICA0MDg6IFwiUmVxdWVzdCBUaW1lb3V0XCIsXG4gIDQwOTogXCJDb25mbGljdFwiLFxuICA0MTA6IFwiR29uZVwiLFxuICA0MTE6IFwiTGVuZ3RoIFJlcXVpcmVkXCIsXG4gIDQxMjogXCJQcmVjb25kaXRpb24gRmFpbGVkXCIsXG4gIDQxMzogXCJQYXlsb2FkIFRvbyBMYXJnZVwiLFxuICA0MTQ6IFwiVVJJIFRvbyBMb25nXCIsXG4gIDQxNTogXCJVbnN1cHBvcnRlZCBNZWRpYSBUeXBlXCIsXG4gIDQxNjogXCJSYW5nZSBOb3QgU2F0aXNmaWFibGVcIixcbiAgNDE3OiBcIkV4cGVjdGF0aW9uIEZhaWxlZFwiLFxuICA0MTg6IFwiSSdtIGEgdGVhcG90XCIsXG4gIDQyMTogXCJNaXNkaXJlY3RlZCBSZXF1ZXN0XCIsXG4gIDQyMjogXCJVbnByb2Nlc3NhYmxlIEVudGl0eVwiLFxuICA0MjM6IFwiTG9ja2VkXCIsXG4gIDQyNDogXCJGYWlsZWQgRGVwZW5kZW5jeVwiLFxuICA0MjU6IFwiVG9vIEVhcmx5XCIsXG4gIDQyNjogXCJVcGdyYWRlIFJlcXVpcmVkXCIsXG4gIDQyODogXCJQcmVjb25kaXRpb24gUmVxdWlyZWRcIixcbiAgNDI5OiBcIlRvbyBNYW55IFJlcXVlc3RzXCIsXG4gIDQzMTogXCJSZXF1ZXN0IEhlYWRlciBGaWVsZHMgVG9vIExhcmdlXCIsXG4gIDQ1MTogXCJVbmF2YWlsYWJsZSBGb3IgTGVnYWwgUmVhc29uc1wiLFxuICA1MDA6IFwiSW50ZXJuYWwgc2VydmVyIGVycm9yXCIsXG4gIDUwMTogXCJOb3QgSW1wbGVtZW50ZWRcIixcbiAgNTAyOiBcIkJhZCBHYXRld2F5XCIsXG4gIDUwMzogXCJTZXJ2aWNlIFVuYXZhaWxhYmxlXCIsXG4gIDUwNDogXCJHYXRld2F5IFRpbWVvdXRcIixcbiAgNTA1OiBcIkhUVFAgVmVyc2lvbiBOb3QgU3VwcG9ydGVkXCIsXG4gIDUwNjogXCJWYXJpYW50IEFsc28gTmVnb3RpYXRlc1wiLFxuICA1MDc6IFwiSW5zdWZmaWNpZW50IFN0b3JhZ2VcIixcbiAgNTA4OiBcIkxvb3AgRGV0ZWN0ZWRcIixcbiAgNTEwOiBcIk5vdCBFeHRlbmRlZFwiLFxuICA1MTE6IFwiTmV0d29yayBBdXRoZW50aWNhdGlvbiBSZXF1aXJlZFwiXG59XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFZlbG9jaW91c0h0dHBTZXJ2ZXJDbGllbnRSZXNwb25zZSB7XG4gIC8qKlxuICAgKiBCb2R5LlxuICAgKiBAdHlwZSB7c3RyaW5nIHwgVWludDhBcnJheSB8IG51bGx9ICovXG4gIGJvZHkgPSBudWxsXG5cbiAgLyoqXG4gICAqIEZpbGUgcGF0aC5cbiAgICogQHR5cGUge3N0cmluZyB8IG51bGx9ICovXG4gIGZpbGVQYXRoID0gbnVsbFxuXG4gIC8qKlxuICAgKiBIZWFkZXJzLlxuICAgKiBAdHlwZSB7UmVjb3JkPHN0cmluZywgc3RyaW5nW10+fSAqL1xuICBoZWFkZXJzID0ge31cblxuICAvKipcbiAgICogUnVucyBjb25zdHJ1Y3Rvci5cbiAgICogQHBhcmFtIHtvYmplY3R9IGFyZ3MgLSBPcHRpb25zIG9iamVjdC5cbiAgICogQHBhcmFtIHtpbXBvcnQoXCIuLi8uLi9jb25maWd1cmF0aW9uLmpzXCIpLmRlZmF1bHR9IGFyZ3MuY29uZmlndXJhdGlvbiAtIENvbmZpZ3VyYXRpb24gaW5zdGFuY2UuXG4gICAqL1xuICBjb25zdHJ1Y3Rvcih7Y29uZmlndXJhdGlvbn0pIHtcbiAgICB0aGlzLmNvbmZpZ3VyYXRpb24gPSBjb25maWd1cmF0aW9uXG4gICAgdGhpcy5fcmVxdWVzdFRpbWVvdXRNcyA9IHVuZGVmaW5lZFxuICAgIHRoaXMuX3JlcXVlc3RUaW1lb3V0TXNDaGFuZ2VIYW5kbGVyID0gdW5kZWZpbmVkXG4gIH1cblxuICAvKipcbiAgICogUnVucyBhZGQgaGVhZGVyLlxuICAgKiBAcGFyYW0ge3N0cmluZ30ga2V5IC0gS2V5LlxuICAgKiBAcGFyYW0ge3N0cmluZ30gdmFsdWUgLSBWYWx1ZSB0byB1c2UuXG4gICAqIEByZXR1cm5zIHt2b2lkfSAtIE5vIHJldHVybiB2YWx1ZS5cbiAgICovXG4gIGFkZEhlYWRlcihrZXksIHZhbHVlKSB7XG4gICAgaWYgKCEoa2V5IGluIHRoaXMuaGVhZGVycykpIHtcbiAgICAgIHRoaXMuaGVhZGVyc1trZXldID0gW11cbiAgICB9XG5cbiAgICB0aGlzLmhlYWRlcnNba2V5XS5wdXNoKHZhbHVlKVxuICB9XG5cbiAgLyoqXG4gICAqIFJ1bnMgc2V0IGhlYWRlci5cbiAgICogQHBhcmFtIHtzdHJpbmd9IGtleSAtIEtleS5cbiAgICogQHBhcmFtIHtzdHJpbmd9IHZhbHVlIC0gVmFsdWUgdG8gdXNlLlxuICAgKiBAcmV0dXJucyB7dm9pZH0gLSBObyByZXR1cm4gdmFsdWUuXG4gICAqL1xuICBzZXRIZWFkZXIoa2V5LCB2YWx1ZSkge1xuICAgIHRoaXMuaGVhZGVyc1trZXldID0gW3ZhbHVlXVxuICB9XG5cbiAgLyoqXG4gICAqIFJ1bnMgZ2V0IGJvZHkuXG4gICAqIEByZXR1cm5zIHtzdHJpbmcgfCBVaW50OEFycmF5IHwgbnVsbH0gLSBUaGUgYm9keS5cbiAgICovXG4gIGdldEJvZHkoKSB7XG4gICAgaWYgKHRoaXMuYm9keSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gdGhpcy5ib2R5XG4gICAgfVxuXG4gICAgdGhyb3cgbmV3IEVycm9yKFwiTm8gYm9keSBoYXMgYmVlbiBzZXRcIilcbiAgfVxuXG4gIC8qKlxuICAgKiBSdW5zIGdldCBzdGF0dXMgY29kZS5cbiAgICogQHJldHVybnMge251bWJlcn0gLSBUaGUgc3RhdHVzIGNvZGUuXG4gICAqL1xuICBnZXRTdGF0dXNDb2RlKCkge1xuICAgIHJldHVybiB0aGlzLnN0YXR1c0NvZGUgfHwgMjAwXG4gIH1cblxuICAvKipcbiAgICogUnVucyBnZXQgc3RhdHVzIG1lc3NhZ2UuXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9IC0gVGhlIHN0YXR1cyBtZXNzYWdlLlxuICAgKi9cbiAgZ2V0U3RhdHVzTWVzc2FnZSgpIHtcbiAgICByZXR1cm4gdGhpcy5zdGF0dXNNZXNzYWdlIHx8IFwiT0tcIlxuICB9XG5cbiAgLyoqXG4gICAqIFJ1bnMgc2V0IGJvZHkuXG4gICAqIEBwYXJhbSB7c3RyaW5nIHwgVWludDhBcnJheX0gdmFsdWUgLSBWYWx1ZSB0byB1c2UuXG4gICAqIEByZXR1cm5zIHt2b2lkfSAtIE5vIHJldHVybiB2YWx1ZS5cbiAgICovXG4gIHNldEJvZHkodmFsdWUpIHtcbiAgICB0aGlzLmZpbGVQYXRoID0gbnVsbFxuICAgIHRoaXMuYm9keSA9IHZhbHVlXG4gIH1cblxuICAvKipcbiAgICogUnVucyBnZXQgZmlsZSBwYXRoLlxuICAgKiBAcmV0dXJucyB7c3RyaW5nIHwgbnVsbH0gLSBGaWxlIHBhdGguXG4gICAqL1xuICBnZXRGaWxlUGF0aCgpIHtcbiAgICByZXR1cm4gdGhpcy5maWxlUGF0aFxuICB9XG5cbiAgLyoqXG4gICAqIFJ1bnMgc2V0IGZpbGUgcGF0aC5cbiAgICogQHBhcmFtIHtzdHJpbmd9IHBhdGggLSBGaWxlIHBhdGguXG4gICAqIEByZXR1cm5zIHt2b2lkfSAtIE5vIHJldHVybiB2YWx1ZS5cbiAgICovXG4gIHNldEZpbGVQYXRoKHBhdGgpIHtcbiAgICB0aGlzLmZpbGVQYXRoID0gcGF0aFxuICAgIHRoaXMuYm9keSA9IG51bGxcbiAgfVxuXG4gIC8qKlxuICAgKiBSdW5zIHNldCBlcnJvciBib2R5LlxuICAgKiBAcGFyYW0ge0Vycm9yfSBlcnJvciAtIEVycm9yIGluc3RhbmNlLlxuICAgKiBAcmV0dXJucyB7dm9pZH0gLSBObyByZXR1cm4gdmFsdWUuXG4gICAqL1xuICBzZXRFcnJvckJvZHkoZXJyb3IpIHtcbiAgICB0aGlzLnNldEhlYWRlcihcIkNvbnRlbnQtVHlwZVwiLCBcInRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLThcIilcbiAgICB0aGlzLnNldEJvZHkoYCR7ZXJyb3IubWVzc2FnZX1cXG5cXG4ke2Vycm9yLnN0YWNrfWApXG4gIH1cblxuICAvKipcbiAgICogQWNjZXB0cyBhIG51bWVyaWMgSFRUUCBzdGF0dXMgY29kZSAoZS5nLiBgNDIyYCkgb3Igb25lIG9mIHRoZVxuICAgKiBuYW1lZCBhbGlhc2VzIChgXCJzdWNjZXNzXCJgLCBgXCJub3QtZm91bmRcImAsIGBcImludGVybmFsLXNlcnZlci1lcnJvclwiYCkuXG4gICAqIE51bWVyaWMgaW5wdXRzIGluIHRoZSBzdGFuZGFyZCAxeHgtNXh4IHJhbmdlIHJlc29sdmUgdGhlaXIgb3duXG4gICAqIHN0YXR1cyBtZXNzYWdlcyBmcm9tIHRoZSBJQU5BIHJlZ2lzdHJ5OyBhbGlhc2VzIGtlZXAgdGhlXG4gICAqIGJhY2stY29tcGF0aWJsZSBjb2RlIG1hcHBpbmcuXG4gICAqIEBwYXJhbSB7bnVtYmVyIHwgc3RyaW5nfSBzdGF0dXMgLSBTdGF0dXMuXG4gICAqIEByZXR1cm5zIHt2b2lkfSAtIE5vIHJldHVybiB2YWx1ZS5cbiAgICovXG4gIHNldFN0YXR1cyhzdGF0dXMpIHtcbiAgICBjb25zdCBhbGlhc0NvZGUgPSBOQU1FRF9TVEFUVVNfQUxJQVNFU1tTdHJpbmcoc3RhdHVzKV1cbiAgICBjb25zdCBudW1lcmljU3RhdHVzID0gYWxpYXNDb2RlID8/IE51bWJlcihzdGF0dXMpXG5cbiAgICBpZiAoIU51bWJlci5pc0ludGVnZXIobnVtZXJpY1N0YXR1cykgfHwgbnVtZXJpY1N0YXR1cyA8IDEwMCB8fCBudW1lcmljU3RhdHVzID4gNTk5KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFVuaGFuZGxlZCBzdGF0dXM6ICR7c3RhdHVzfWApXG4gICAgfVxuXG4gICAgdGhpcy5zdGF0dXNDb2RlID0gbnVtZXJpY1N0YXR1c1xuICAgIHRoaXMuc3RhdHVzTWVzc2FnZSA9IFNUQU5EQVJEX1NUQVRVU19NRVNTQUdFU1tudW1lcmljU3RhdHVzXSB8fCBcIk9LXCJcbiAgfVxuXG4gIC8qKlxuICAgKiBSdW5zIGdldCByZXF1ZXN0IHRpbWVvdXQgbXMuXG4gICAqIEByZXR1cm5zIHtudW1iZXIgfCB1bmRlZmluZWR9IC0gUmVxdWVzdCB0aW1lb3V0IGluIHNlY29uZHMuXG4gICAqL1xuICBnZXRSZXF1ZXN0VGltZW91dE1zKCkge1xuICAgIHJldHVybiB0aGlzLl9yZXF1ZXN0VGltZW91dE1zXG4gIH1cblxuICAvKipcbiAgICogUnVucyBzZXQgcmVxdWVzdCB0aW1lb3V0IG1zLlxuICAgKiBAcGFyYW0ge251bWJlciB8IHVuZGVmaW5lZCB8IG51bGx9IHRpbWVvdXRTZWNvbmRzIC0gVGltZW91dCBpbiBzZWNvbmRzLlxuICAgKiBAcmV0dXJucyB7dm9pZH0gLSBObyByZXR1cm4gdmFsdWUuXG4gICAqL1xuICBzZXRSZXF1ZXN0VGltZW91dE1zKHRpbWVvdXRTZWNvbmRzKSB7XG4gICAgaWYgKHR5cGVvZiB0aW1lb3V0U2Vjb25kcyA9PT0gXCJudW1iZXJcIiAmJiBOdW1iZXIuaXNGaW5pdGUodGltZW91dFNlY29uZHMpKSB7XG4gICAgICB0aGlzLl9yZXF1ZXN0VGltZW91dE1zID0gdGltZW91dFNlY29uZHNcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fcmVxdWVzdFRpbWVvdXRNcyA9IHVuZGVmaW5lZFxuICAgIH1cblxuICAgIGlmICh0aGlzLl9yZXF1ZXN0VGltZW91dE1zQ2hhbmdlSGFuZGxlcikge1xuICAgICAgdGhpcy5fcmVxdWVzdFRpbWVvdXRNc0NoYW5nZUhhbmRsZXIodGhpcy5fcmVxdWVzdFRpbWVvdXRNcylcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUnVucyBzZXQgcmVxdWVzdCB0aW1lb3V0IG1zIGNoYW5nZSBoYW5kbGVyLlxuICAgKiBAcGFyYW0geyh0aW1lb3V0U2Vjb25kczogbnVtYmVyIHwgdW5kZWZpbmVkKSA9PiB2b2lkfSBoYW5kbGVyIC0gQ2hhbmdlIGhhbmRsZXIuXG4gICAqIEByZXR1cm5zIHt2b2lkfSAtIE5vIHJldHVybiB2YWx1ZS5cbiAgICovXG4gIHNldFJlcXVlc3RUaW1lb3V0TXNDaGFuZ2VIYW5kbGVyKGhhbmRsZXIpIHtcbiAgICB0aGlzLl9yZXF1ZXN0VGltZW91dE1zQ2hhbmdlSGFuZGxlciA9IGhhbmRsZXJcbiAgfVxufVxuIl19
@@ -22,16 +22,16 @@ export default class VelociousHttpServerClientWebsocketRequest {
22
22
  body: any;
23
23
  /**
24
24
  * Narrows the runtime value to the documented type.
25
- @type {Record<string, string>} */
25
+ * @type {Record<string, string>} */
26
26
  headersMap: Record<string, string>;
27
27
  /**
28
28
  * Narrows the runtime value to the documented type.
29
- @type {Record<string, ?>} */
29
+ * @type {Record<string, ?>} */
30
30
  metadataObject: Record<string, unknown>;
31
31
  method: string;
32
32
  /**
33
33
  * Narrows the runtime value to the documented type.
34
- @type {Record<string, ?>} */
34
+ * @type {Record<string, ?>} */
35
35
  paramsObject: Record<string, unknown>;
36
36
  _path: string;
37
37
  remoteAddressValue: string | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"websocket-request.d.ts","sourceRoot":"","sources":["../../../../src/http-server/client/websocket-request.js"],"names":[],"mappings":"AAIA;IACE;;;;;;;;;;OAUG;IACH,8EARG;QAAiB,IAAI,GAAb,OAAC;QAC6B,OAAO;QACZ,QAAQ;QACpB,MAAM,EAAnB,MAAM;QACO,IAAI,EAAjB,MAAM;QACmB,MAAM;QACjB,aAAa;KACrC,EAqCA;IAhCC,UAAgB;IAChB;;uCAEmC;IACnC,YADS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CACX;IACpB;;kCAE8B;IAC9B,gBADS,MAAM,CAAC,MAAM,EAAE,OAAC,CAAC,CACyB;IACnD,eAAkC;IAClC;;kCAE8B;IAC9B,cADS,MAAM,CAAC,MAAM,EAAE,OAAC,CAAC,CACJ;IACtB,cAAiB;IACjB,uCAAuC;IAmBzC,8BAKC;IAED;;;;OAIG;IACH,aAHW,MAAM,GACJ,MAAM,GAAG,IAAI,CAEyC;IAEnE,kCAAoC;IAEpC,qBAAmC;IAEnC,sBAAoC;IAEpC,2BAAkD;IAElD;;;;OAIG;IACH,eAHW,MAAM,GACJ,OAAC,CAMb;IAED,mCAQC;IAED,wBAAyC;IAEzC,eAA4B;IAE5B,8BAAqC;IAErC,2BAKC;IAED,+BAKC;IAED;;;OAGG;IACH,eAFa,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CAEG;IAEjD,oCAAkD;IAElD,yBAoBC;CACF"}
1
+ {"version":3,"file":"websocket-request.d.ts","sourceRoot":"","sources":["../../../../src/http-server/client/websocket-request.js"],"names":[],"mappings":"AAIA;IACE;;;;;;;;;;OAUG;IACH,8EARG;QAAiB,IAAI,GAAb,OAAC;QAC6B,OAAO;QACZ,QAAQ;QACpB,MAAM,EAAnB,MAAM;QACO,IAAI,EAAjB,MAAM;QACmB,MAAM;QACjB,aAAa;KACrC,EAqCA;IAhCC,UAAgB;IAChB;;wCAEoC;IACpC,YADU,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CACZ;IACpB;;mCAE+B;IAC/B,gBADU,MAAM,CAAC,MAAM,EAAE,OAAC,CAAC,CACwB;IACnD,eAAkC;IAClC;;mCAE+B;IAC/B,cADU,MAAM,CAAC,MAAM,EAAE,OAAC,CAAC,CACL;IACtB,cAAiB;IACjB,uCAAuC;IAmBzC,8BAKC;IAED;;;;OAIG;IACH,aAHW,MAAM,GACJ,MAAM,GAAG,IAAI,CAEyC;IAEnE,kCAAoC;IAEpC,qBAAmC;IAEnC,sBAAoC;IAEpC,2BAAkD;IAElD;;;;OAIG;IACH,eAHW,MAAM,GACJ,OAAC,CAMb;IAED,mCAQC;IAED,wBAAyC;IAEzC,eAA4B;IAE5B,8BAAqC;IAErC,2BAKC;IAED,+BAKC;IAED;;;OAGG;IACH,eAFa,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CAEG;IAEjD,oCAAkD;IAElD,yBAoBC;CACF"}
@@ -20,16 +20,16 @@ export default class VelociousHttpServerClientWebsocketRequest {
20
20
  this.body = body;
21
21
  /**
22
22
  * Narrows the runtime value to the documented type.
23
- @type {Record<string, string>} */
23
+ * @type {Record<string, string>} */
24
24
  this.headersMap = {};
25
25
  /**
26
26
  * Narrows the runtime value to the documented type.
27
- @type {Record<string, ?>} */
27
+ * @type {Record<string, ?>} */
28
28
  this.metadataObject = metadata ? { ...metadata } : {};
29
29
  this.method = method.toUpperCase();
30
30
  /**
31
31
  * Narrows the runtime value to the documented type.
32
- @type {Record<string, ?>} */
32
+ * @type {Record<string, ?>} */
33
33
  this.paramsObject = {};
34
34
  this._path = path;
35
35
  this.remoteAddressValue = remoteAddress;
@@ -110,7 +110,7 @@ export default class VelociousHttpServerClientWebsocketRequest {
110
110
  const parsedQuery = querystring.parse(query);
111
111
  /**
112
112
  * Params.
113
- @type {Record<string, string | string[]>} */
113
+ * @type {Record<string, string | string[]>} */
114
114
  const params = Object.create(null);
115
115
  for (const key of Object.keys(parsedQuery)) {
116
116
  const value = parsedQuery[key];
@@ -121,4 +121,4 @@ export default class VelociousHttpServerClientWebsocketRequest {
121
121
  return params;
122
122
  }
123
123
  }
124
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2Vic29ja2V0LXJlcXVlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvaHR0cC1zZXJ2ZXIvY2xpZW50L3dlYnNvY2tldC1yZXF1ZXN0LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVk7QUFFWixPQUFPLFdBQVcsTUFBTSxhQUFhLENBQUE7QUFFckMsTUFBTSxDQUFDLE9BQU8sT0FBTyx5Q0FBeUM7SUFDNUQ7Ozs7Ozs7Ozs7T0FVRztJQUNILFlBQVksRUFBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUM7UUFDeEUsSUFBSSxDQUFDLE1BQU07WUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLG9CQUFvQixDQUFDLENBQUE7UUFDbEQsSUFBSSxDQUFDLElBQUk7WUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLGtCQUFrQixDQUFDLENBQUE7UUFFOUMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUE7UUFDaEI7OzJDQUVtQztRQUNuQyxJQUFJLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQTtRQUNwQjs7c0NBRThCO1FBQzlCLElBQUksQ0FBQyxjQUFjLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFDLEdBQUcsUUFBUSxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQTtRQUNuRCxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQTtRQUNsQzs7c0NBRThCO1FBQzlCLElBQUksQ0FBQyxZQUFZLEdBQUcsRUFBRSxDQUFBO1FBQ3RCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFBO1FBQ2pCLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxhQUFhLENBQUE7UUFFdkMsSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUNaLEtBQUssTUFBTSxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7Z0JBQ25ELElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxDQUFDLEdBQUcsS0FBSyxDQUFBO1lBQzVDLENBQUM7UUFDSCxDQUFDO1FBRUQsSUFBSSxNQUFNO1lBQUUsSUFBSSxDQUFDLFlBQVksR0FBRyxFQUFDLEdBQUcsTUFBTSxFQUFDLENBQUE7UUFDM0MsSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLE9BQU8sSUFBSSxDQUFDLElBQUksS0FBSyxRQUFRO1lBQUUsSUFBSSxDQUFDLFlBQVksR0FBRyxFQUFDLEdBQUcsSUFBSSxDQUFDLFlBQVksRUFBRSxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUMsQ0FBQTtRQUN4RyxJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksT0FBTyxJQUFJLENBQUMsSUFBSSxLQUFLLFFBQVEsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQztZQUNuRixJQUFJLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxHQUFHLGtCQUFrQixDQUFBO1FBQ3RELENBQUM7UUFFRCxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQTtRQUU1QyxJQUFJLENBQUMsWUFBWSxHQUFHLEVBQUMsR0FBRyxXQUFXLEVBQUUsR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFDLENBQUE7SUFDNUQsQ0FBQztJQUVELE9BQU87UUFDTCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUE7UUFDaEMsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFBO1FBRWhDLElBQUksUUFBUSxJQUFJLElBQUk7WUFBRSxPQUFPLEdBQUcsUUFBUSxNQUFNLElBQUksRUFBRSxDQUFBO0lBQ3RELENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLElBQUksSUFBSSxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLElBQUksSUFBSSxDQUFBLENBQUMsQ0FBQztJQUVuRSxPQUFPLEtBQUssT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFBLENBQUMsQ0FBQztJQUVwQyxVQUFVLEtBQUssT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFBLENBQUMsQ0FBQztJQUVuQyxXQUFXLEtBQUssT0FBTyxXQUFXLENBQUEsQ0FBQyxDQUFDO0lBRXBDLElBQUksS0FBSyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksU0FBUyxDQUFBLENBQUMsQ0FBQztJQUVsRDs7OztPQUlHO0lBQ0gsUUFBUSxDQUFDLEdBQUc7UUFDVixJQUFJLEdBQUcsS0FBSyxTQUFTO1lBQUUsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFBO1FBRXRELE9BQU8sRUFBQyxHQUFHLElBQUksQ0FBQyxjQUFjLEVBQUMsQ0FBQTtJQUNqQyxDQUFDO0lBRUQsWUFBWTtRQUNWLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQTtRQUN4QixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUE7UUFFeEIsSUFBSSxDQUFDLElBQUk7WUFBRSxPQUFNO1FBQ2pCLElBQUksQ0FBQyxJQUFJO1lBQUUsT0FBTyxJQUFJLENBQUE7UUFFdEIsT0FBTyxHQUFHLElBQUksSUFBSSxJQUFJLEVBQUUsQ0FBQTtJQUMxQixDQUFDO0lBRUQsTUFBTSxLQUFLLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQSxDQUFDLENBQUM7SUFFekMsSUFBSSxLQUFLLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQSxDQUFDLENBQUM7SUFFNUIsTUFBTSxLQUFLLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQSxDQUFDLENBQUM7SUFFckMsSUFBSTtRQUNGLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUE7UUFDdEMsTUFBTSxLQUFLLEdBQUcsVUFBVSxFQUFFLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQTtRQUUxQyxJQUFJLEtBQUs7WUFBRSxPQUFPLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUN0QyxDQUFDO0lBRUQsUUFBUTtRQUNOLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQTtRQUM1QixNQUFNLEtBQUssR0FBRyxNQUFNLEVBQUUsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFBO1FBRXpDLE9BQU8sS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDbkIsQ0FBQztJQUVEOzs7T0FHRztJQUNILFdBQVcsS0FBSyxPQUFPLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFBLENBQUMsQ0FBQztJQUVqRCxhQUFhLEtBQUssT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUEsQ0FBQyxDQUFDO0lBRWxELGlCQUFpQjtRQUNmLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBRXRDLElBQUksQ0FBQyxLQUFLO1lBQUUsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFBO1FBRXRDLE1BQU0sV0FBVyxHQUFHLFdBQVcsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDNUM7O3NEQUU4QztRQUM5QyxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFBO1FBRWxDLEtBQUssTUFBTSxHQUFHLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDO1lBQzNDLE1BQU0sS0FBSyxHQUFHLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQTtZQUU5QixJQUFJLE9BQU8sS0FBSyxLQUFLLFdBQVcsRUFBRSxDQUFDO2dCQUNqQyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFBO1lBQ3JCLENBQUM7UUFDSCxDQUFDO1FBRUQsT0FBTyxNQUFNLENBQUE7SUFDZixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAdHMtY2hlY2tcblxuaW1wb3J0IHF1ZXJ5c3RyaW5nIGZyb20gXCJxdWVyeXN0cmluZ1wiXG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFZlbG9jaW91c0h0dHBTZXJ2ZXJDbGllbnRXZWJzb2NrZXRSZXF1ZXN0IHtcbiAgLyoqXG4gICAqIFJ1bnMgY29uc3RydWN0b3IuXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBhcmdzIC0gT3B0aW9ucyBvYmplY3QuXG4gICAqIEBwYXJhbSB7P30gW2FyZ3MuYm9keV0gLSBSZXF1ZXN0IGJvZHkuXG4gICAqIEBwYXJhbSB7UmVjb3JkPHN0cmluZywgc3RyaW5nPn0gW2FyZ3MuaGVhZGVyc10gLSBIZWFkZXIgbGlzdC5cbiAgICogQHBhcmFtIHtSZWNvcmQ8c3RyaW5nLCA/Pn0gW2FyZ3MubWV0YWRhdGFdIC0gU2Vzc2lvbiBtZXRhZGF0YS5cbiAgICogQHBhcmFtIHtzdHJpbmd9IGFyZ3MubWV0aG9kIC0gSFRUUCBtZXRob2QuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBhcmdzLnBhdGggLSBQYXRoLlxuICAgKiBAcGFyYW0ge1JlY29yZDxzdHJpbmcsID8+fSBbYXJncy5wYXJhbXNdIC0gUGFyYW1ldGVycyBvYmplY3QuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbYXJncy5yZW1vdGVBZGRyZXNzXSAtIFJlbW90ZSBhZGRyZXNzLlxuICAgKi9cbiAgY29uc3RydWN0b3Ioe2JvZHksIGhlYWRlcnMsIG1ldGFkYXRhLCBtZXRob2QsIHBhcmFtcywgcGF0aCwgcmVtb3RlQWRkcmVzc30pIHtcbiAgICBpZiAoIW1ldGhvZCkgdGhyb3cgbmV3IEVycm9yKFwibWV0aG9kIGlzIHJlcXVpcmVkXCIpXG4gICAgaWYgKCFwYXRoKSB0aHJvdyBuZXcgRXJyb3IoXCJwYXRoIGlzIHJlcXVpcmVkXCIpXG5cbiAgICB0aGlzLmJvZHkgPSBib2R5XG4gICAgLyoqXG4gICAgICogTmFycm93cyB0aGUgcnVudGltZSB2YWx1ZSB0byB0aGUgZG9jdW1lbnRlZCB0eXBlLlxuICAgICAgQHR5cGUge1JlY29yZDxzdHJpbmcsIHN0cmluZz59ICovXG4gICAgdGhpcy5oZWFkZXJzTWFwID0ge31cbiAgICAvKipcbiAgICAgKiBOYXJyb3dzIHRoZSBydW50aW1lIHZhbHVlIHRvIHRoZSBkb2N1bWVudGVkIHR5cGUuXG4gICAgICBAdHlwZSB7UmVjb3JkPHN0cmluZywgPz59ICovXG4gICAgdGhpcy5tZXRhZGF0YU9iamVjdCA9IG1ldGFkYXRhID8gey4uLm1ldGFkYXRhfSA6IHt9XG4gICAgdGhpcy5tZXRob2QgPSBtZXRob2QudG9VcHBlckNhc2UoKVxuICAgIC8qKlxuICAgICAqIE5hcnJvd3MgdGhlIHJ1bnRpbWUgdmFsdWUgdG8gdGhlIGRvY3VtZW50ZWQgdHlwZS5cbiAgICAgIEB0eXBlIHtSZWNvcmQ8c3RyaW5nLCA/Pn0gKi9cbiAgICB0aGlzLnBhcmFtc09iamVjdCA9IHt9XG4gICAgdGhpcy5fcGF0aCA9IHBhdGhcbiAgICB0aGlzLnJlbW90ZUFkZHJlc3NWYWx1ZSA9IHJlbW90ZUFkZHJlc3NcblxuICAgIGlmIChoZWFkZXJzKSB7XG4gICAgICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyhoZWFkZXJzKSkge1xuICAgICAgICB0aGlzLmhlYWRlcnNNYXBba2V5LnRvTG93ZXJDYXNlKCldID0gdmFsdWVcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAocGFyYW1zKSB0aGlzLnBhcmFtc09iamVjdCA9IHsuLi5wYXJhbXN9XG4gICAgaWYgKHRoaXMuYm9keSAmJiB0eXBlb2YgdGhpcy5ib2R5ID09PSBcIm9iamVjdFwiKSB0aGlzLnBhcmFtc09iamVjdCA9IHsuLi50aGlzLnBhcmFtc09iamVjdCwgLi4udGhpcy5ib2R5fVxuICAgIGlmICh0aGlzLmJvZHkgJiYgdHlwZW9mIHRoaXMuYm9keSA9PT0gXCJvYmplY3RcIiAmJiAhdGhpcy5oZWFkZXJzTWFwW1wiY29udGVudC10eXBlXCJdKSB7XG4gICAgICB0aGlzLmhlYWRlcnNNYXBbXCJjb250ZW50LXR5cGVcIl0gPSBcImFwcGxpY2F0aW9uL2pzb25cIlxuICAgIH1cblxuICAgIGNvbnN0IHF1ZXJ5UGFyYW1zID0gdGhpcy5fcGFyc2VRdWVyeVBhcmFtcygpXG5cbiAgICB0aGlzLnBhcmFtc09iamVjdCA9IHsuLi5xdWVyeVBhcmFtcywgLi4udGhpcy5wYXJhbXNPYmplY3R9XG4gIH1cblxuICBiYXNlVVJMKCkge1xuICAgIGNvbnN0IHByb3RvY29sID0gdGhpcy5wcm90b2NvbCgpXG4gICAgY29uc3QgaG9zdCA9IHRoaXMuaG9zdFdpdGhQb3J0KClcblxuICAgIGlmIChwcm90b2NvbCAmJiBob3N0KSByZXR1cm4gYCR7cHJvdG9jb2x9Oi8vJHtob3N0fWBcbiAgfVxuXG4gIC8qKlxuICAgKiBSdW5zIGhlYWRlci5cbiAgICogQHBhcmFtIHtzdHJpbmd9IG5hbWUgLSBIZWFkZXIgbmFtZS5cbiAgICogQHJldHVybnMge3N0cmluZyB8IG51bGx9IC0gSGVhZGVyIHZhbHVlLlxuICAgKi9cbiAgaGVhZGVyKG5hbWUpIHsgcmV0dXJuIHRoaXMuaGVhZGVyc01hcFtuYW1lLnRvTG93ZXJDYXNlKCldIHx8IG51bGwgfVxuXG4gIGhlYWRlcnMoKSB7IHJldHVybiB0aGlzLmhlYWRlcnNNYXAgfVxuXG4gIGh0dHBNZXRob2QoKSB7IHJldHVybiB0aGlzLm1ldGhvZCB9XG5cbiAgaHR0cFZlcnNpb24oKSB7IHJldHVybiBcIndlYnNvY2tldFwiIH1cblxuICBob3N0KCkgeyByZXR1cm4gdGhpcy5oZWFkZXIoXCJob3N0XCIpIHx8IHVuZGVmaW5lZCB9XG5cbiAgLyoqXG4gICAqIFJ1bnMgbWV0YWRhdGEuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBba2V5XSAtIE1ldGFkYXRhIGtleS5cbiAgICogQHJldHVybnMgez99IC0gTWV0YWRhdGEgdmFsdWUgZm9yIGEga2V5LCBvciB0aGUgZnVsbCBtZXRhZGF0YSBvYmplY3QuXG4gICAqL1xuICBtZXRhZGF0YShrZXkpIHtcbiAgICBpZiAoa2V5ICE9PSB1bmRlZmluZWQpIHJldHVybiB0aGlzLm1ldGFkYXRhT2JqZWN0W2tleV1cblxuICAgIHJldHVybiB7Li4udGhpcy5tZXRhZGF0YU9iamVjdH1cbiAgfVxuXG4gIGhvc3RXaXRoUG9ydCgpIHtcbiAgICBjb25zdCBob3N0ID0gdGhpcy5ob3N0KClcbiAgICBjb25zdCBwb3J0ID0gdGhpcy5wb3J0KClcblxuICAgIGlmICghaG9zdCkgcmV0dXJuXG4gICAgaWYgKCFwb3J0KSByZXR1cm4gaG9zdFxuXG4gICAgcmV0dXJuIGAke2hvc3R9OiR7cG9ydH1gXG4gIH1cblxuICBvcmlnaW4oKSB7IHJldHVybiB0aGlzLmhlYWRlcihcIm9yaWdpblwiKSB9XG5cbiAgcGF0aCgpIHsgcmV0dXJuIHRoaXMuX3BhdGggfVxuXG4gIHBhcmFtcygpIHsgcmV0dXJuIHRoaXMucGFyYW1zT2JqZWN0IH1cblxuICBwb3J0KCkge1xuICAgIGNvbnN0IGhvc3RIZWFkZXIgPSB0aGlzLmhlYWRlcihcImhvc3RcIilcbiAgICBjb25zdCBtYXRjaCA9IGhvc3RIZWFkZXI/Lm1hdGNoKC86KFxcZCspJC8pXG5cbiAgICBpZiAobWF0Y2gpIHJldHVybiBwYXJzZUludChtYXRjaFsxXSlcbiAgfVxuXG4gIHByb3RvY29sKCkge1xuICAgIGNvbnN0IG9yaWdpbiA9IHRoaXMub3JpZ2luKClcbiAgICBjb25zdCBtYXRjaCA9IG9yaWdpbj8ubWF0Y2goL14oLispOlxcL1xcLy8pXG5cbiAgICByZXR1cm4gbWF0Y2g/LlsxXVxuICB9XG5cbiAgLyoqXG4gICAqIFJ1bnMgcXVlcnkgcGFyYW1zLlxuICAgKiBAcmV0dXJucyB7UmVjb3JkPHN0cmluZywgc3RyaW5nIHwgc3RyaW5nW10+fSAtIFBhcnNlZCBxdWVyeSBwYXJhbWV0ZXJzIGZyb20gdGhlIFVSTC5cbiAgICovXG4gIHF1ZXJ5UGFyYW1zKCkgeyByZXR1cm4gdGhpcy5fcGFyc2VRdWVyeVBhcmFtcygpIH1cblxuICByZW1vdGVBZGRyZXNzKCkgeyByZXR1cm4gdGhpcy5yZW1vdGVBZGRyZXNzVmFsdWUgfVxuXG4gIF9wYXJzZVF1ZXJ5UGFyYW1zKCkge1xuICAgIGNvbnN0IHF1ZXJ5ID0gdGhpcy5fcGF0aC5zcGxpdChcIj9cIilbMV1cblxuICAgIGlmICghcXVlcnkpIHJldHVybiBPYmplY3QuY3JlYXRlKG51bGwpXG5cbiAgICBjb25zdCBwYXJzZWRRdWVyeSA9IHF1ZXJ5c3RyaW5nLnBhcnNlKHF1ZXJ5KVxuICAgIC8qKlxuICAgICAqIFBhcmFtcy5cbiAgICAgIEB0eXBlIHtSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCBzdHJpbmdbXT59ICovXG4gICAgY29uc3QgcGFyYW1zID0gT2JqZWN0LmNyZWF0ZShudWxsKVxuXG4gICAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXMocGFyc2VkUXVlcnkpKSB7XG4gICAgICBjb25zdCB2YWx1ZSA9IHBhcnNlZFF1ZXJ5W2tleV1cblxuICAgICAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gXCJ1bmRlZmluZWRcIikge1xuICAgICAgICBwYXJhbXNba2V5XSA9IHZhbHVlXG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHBhcmFtc1xuICB9XG59XG4iXX0=
124
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2Vic29ja2V0LXJlcXVlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvaHR0cC1zZXJ2ZXIvY2xpZW50L3dlYnNvY2tldC1yZXF1ZXN0LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVk7QUFFWixPQUFPLFdBQVcsTUFBTSxhQUFhLENBQUE7QUFFckMsTUFBTSxDQUFDLE9BQU8sT0FBTyx5Q0FBeUM7SUFDNUQ7Ozs7Ozs7Ozs7T0FVRztJQUNILFlBQVksRUFBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUM7UUFDeEUsSUFBSSxDQUFDLE1BQU07WUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLG9CQUFvQixDQUFDLENBQUE7UUFDbEQsSUFBSSxDQUFDLElBQUk7WUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLGtCQUFrQixDQUFDLENBQUE7UUFFOUMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUE7UUFDaEI7OzRDQUVvQztRQUNwQyxJQUFJLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQTtRQUNwQjs7dUNBRStCO1FBQy9CLElBQUksQ0FBQyxjQUFjLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFDLEdBQUcsUUFBUSxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQTtRQUNuRCxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQTtRQUNsQzs7dUNBRStCO1FBQy9CLElBQUksQ0FBQyxZQUFZLEdBQUcsRUFBRSxDQUFBO1FBQ3RCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFBO1FBQ2pCLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxhQUFhLENBQUE7UUFFdkMsSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUNaLEtBQUssTUFBTSxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsSUFBSSxNQUFNLENB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QUFNLENBQUE7SUFDZixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAdHMtY2hlY2tcblxuaW1wb3J0IHF1ZXJ5c3RyaW5nIGZyb20gXCJxdWVyeXN0cmluZ1wiXG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFZlbG9jaW91c0h0dHBTZXJ2ZXJDbGllbnRXZWJzb2NrZXRSZXF1ZXN0IHtcbiAgLyoqXG4gICAqIFJ1bnMgY29uc3RydWN0b3IuXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBhcmdzIC0gT3B0aW9ucyBvYmplY3QuXG4gICAqIEBwYXJhbSB7P30gW2FyZ3MuYm9keV0gLSBSZXF1ZXN0IGJvZHkuXG4gICAqIEBwYXJhbSB7UmVjb3JkPHN0cmluZywgc3RyaW5nPn0gW2FyZ3MuaGVhZGVyc10gLSBIZWFkZXIgbGlzdC5cbiAgICogQHBhcmFtIHtSZWNvcmQ8c3RyaW5nLCA/Pn0gW2FyZ3MubWV0YWRhdGFdIC0gU2Vzc2lvbiBtZXRhZGF0YS5cbiAgICogQHBhcmFtIHtzdHJpbmd9IGFyZ3MubWV0aG9kIC0gSFRUUCBtZXRob2QuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBhcmdzLnBhdGggLSBQYXRoLlxuICAgKiBAcGFyYW0ge1JlY29yZDxzdHJpbmcsID8+fSBbYXJncy5wYXJhbXNdIC0gUGFyYW1ldGVycyBvYmplY3QuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbYXJncy5yZW1vdGVBZGRyZXNzXSAtIFJlbW90ZSBhZGRyZXNzLlxuICAgKi9cbiAgY29uc3RydWN0b3Ioe2JvZHksIGhlYWRlcnMsIG1ldGFkYXRhLCBtZXRob2QsIHBhcmFtcywgcGF0aCwgcmVtb3RlQWRkcmVzc30pIHtcbiAgICBpZiAoIW1ldGhvZCkgdGhyb3cgbmV3IEVycm9yKFwibWV0aG9kIGlzIHJlcXVpcmVkXCIpXG4gICAgaWYgKCFwYXRoKSB0aHJvdyBuZXcgRXJyb3IoXCJwYXRoIGlzIHJlcXVpcmVkXCIpXG5cbiAgICB0aGlzLmJvZHkgPSBib2R5XG4gICAgLyoqXG4gICAgICogTmFycm93cyB0aGUgcnVudGltZSB2YWx1ZSB0byB0aGUgZG9jdW1lbnRlZCB0eXBlLlxuICAgICAqIEB0eXBlIHtSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+fSAqL1xuICAgIHRoaXMuaGVhZGVyc01hcCA9IHt9XG4gICAgLyoqXG4gICAgICogTmFycm93cyB0aGUgcnVudGltZSB2YWx1ZSB0byB0aGUgZG9jdW1lbnRlZCB0eXBlLlxuICAgICAqIEB0eXBlIHtSZWNvcmQ8c3RyaW5nLCA/Pn0gKi9cbiAgICB0aGlzLm1ldGFkYXRhT2JqZWN0ID0gbWV0YWRhdGEgPyB7Li4ubWV0YWRhdGF9IDoge31cbiAgICB0aGlzLm1ldGhvZCA9IG1ldGhvZC50b1VwcGVyQ2FzZSgpXG4gICAgLyoqXG4gICAgICogTmFycm93cyB0aGUgcnVudGltZSB2YWx1ZSB0byB0aGUgZG9jdW1lbnRlZCB0eXBlLlxuICAgICAqIEB0eXBlIHtSZWNvcmQ8c3RyaW5nLCA/Pn0gKi9cbiAgICB0aGlzLnBhcmFtc09iamVjdCA9IHt9XG4gICAgdGhpcy5fcGF0aCA9IHBhdGhcbiAgICB0aGlzLnJlbW90ZUFkZHJlc3NWYWx1ZSA9IHJlbW90ZUFkZHJlc3NcblxuICAgIGlmIChoZWFkZXJzKSB7XG4gICAgICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyhoZWFkZXJzKSkge1xuICAgICAgICB0aGlzLmhlYWRlcnNNYXBba2V5LnRvTG93ZXJDYXNlKCldID0gdmFsdWVcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAocGFyYW1zKSB0aGlzLnBhcmFtc09iamVjdCA9IHsuLi5wYXJhbXN9XG4gICAgaWYgKHRoaXMuYm9keSAmJiB0eXBlb2YgdGhpcy5ib2R5ID09PSBcIm9iamVjdFwiKSB0aGlzLnBhcmFtc09iamVjdCA9IHsuLi50aGlzLnBhcmFtc09iamVjdCwgLi4udGhpcy5ib2R5fVxuICAgIGlmICh0aGlzLmJvZHkgJiYgdHlwZW9mIHRoaXMuYm9keSA9PT0gXCJvYmplY3RcIiAmJiAhdGhpcy5oZWFkZXJzTWFwW1wiY29udGVudC10eXBlXCJdKSB7XG4gICAgICB0aGlzLmhlYWRlcnNNYXBbXCJjb250ZW50LXR5cGVcIl0gPSBcImFwcGxpY2F0aW9uL2pzb25cIlxuICAgIH1cblxuICAgIGNvbnN0IHF1ZXJ5UGFyYW1zID0gdGhpcy5fcGFyc2VRdWVyeVBhcmFtcygpXG5cbiAgICB0aGlzLnBhcmFtc09iamVjdCA9IHsuLi5xdWVyeVBhcmFtcywgLi4udGhpcy5wYXJhbXNPYmplY3R9XG4gIH1cblxuICBiYXNlVVJMKCkge1xuICAgIGNvbnN0IHByb3RvY29sID0gdGhpcy5wcm90b2NvbCgpXG4gICAgY29uc3QgaG9zdCA9IHRoaXMuaG9zdFdpdGhQb3J0KClcblxuICAgIGlmIChwcm90b2NvbCAmJiBob3N0KSByZXR1cm4gYCR7cHJvdG9jb2x9Oi8vJHtob3N0fWBcbiAgfVxuXG4gIC8qKlxuICAgKiBSdW5zIGhlYWRlci5cbiAgICogQHBhcmFtIHtzdHJpbmd9IG5hbWUgLSBIZWFkZXIgbmFtZS5cbiAgICogQHJldHVybnMge3N0cmluZyB8IG51bGx9IC0gSGVhZGVyIHZhbHVlLlxuICAgKi9cbiAgaGVhZGVyKG5hbWUpIHsgcmV0dXJuIHRoaXMuaGVhZGVyc01hcFtuYW1lLnRvTG93ZXJDYXNlKCldIHx8IG51bGwgfVxuXG4gIGhlYWRlcnMoKSB7IHJldHVybiB0aGlzLmhlYWRlcnNNYXAgfVxuXG4gIGh0dHBNZXRob2QoKSB7IHJldHVybiB0aGlzLm1ldGhvZCB9XG5cbiAgaHR0cFZlcnNpb24oKSB7IHJldHVybiBcIndlYnNvY2tldFwiIH1cblxuICBob3N0KCkgeyByZXR1cm4gdGhpcy5oZWFkZXIoXCJob3N0XCIpIHx8IHVuZGVmaW5lZCB9XG5cbiAgLyoqXG4gICAqIFJ1bnMgbWV0YWRhdGEuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBba2V5XSAtIE1ldGFkYXRhIGtleS5cbiAgICogQHJldHVybnMgez99IC0gTWV0YWRhdGEgdmFsdWUgZm9yIGEga2V5LCBvciB0aGUgZnVsbCBtZXRhZGF0YSBvYmplY3QuXG4gICAqL1xuICBtZXRhZGF0YShrZXkpIHtcbiAgICBpZiAoa2V5ICE9PSB1bmRlZmluZWQpIHJldHVybiB0aGlzLm1ldGFkYXRhT2JqZWN0W2tleV1cblxuICAgIHJldHVybiB7Li4udGhpcy5tZXRhZGF0YU9iamVjdH1cbiAgfVxuXG4gIGhvc3RXaXRoUG9ydCgpIHtcbiAgICBjb25zdCBob3N0ID0gdGhpcy5ob3N0KClcbiAgICBjb25zdCBwb3J0ID0gdGhpcy5wb3J0KClcblxuICAgIGlmICghaG9zdCkgcmV0dXJuXG4gICAgaWYgKCFwb3J0KSByZXR1cm4gaG9zdFxuXG4gICAgcmV0dXJuIGAke2hvc3R9OiR7cG9ydH1gXG4gIH1cblxuICBvcmlnaW4oKSB7IHJldHVybiB0aGlzLmhlYWRlcihcIm9yaWdpblwiKSB9XG5cbiAgcGF0aCgpIHsgcmV0dXJuIHRoaXMuX3BhdGggfVxuXG4gIHBhcmFtcygpIHsgcmV0dXJuIHRoaXMucGFyYW1zT2JqZWN0IH1cblxuICBwb3J0KCkge1xuICAgIGNvbnN0IGhvc3RIZWFkZXIgPSB0aGlzLmhlYWRlcihcImhvc3RcIilcbiAgICBjb25zdCBtYXRjaCA9IGhvc3RIZWFkZXI/Lm1hdGNoKC86KFxcZCspJC8pXG5cbiAgICBpZiAobWF0Y2gpIHJldHVybiBwYXJzZUludChtYXRjaFsxXSlcbiAgfVxuXG4gIHByb3RvY29sKCkge1xuICAgIGNvbnN0IG9yaWdpbiA9IHRoaXMub3JpZ2luKClcbiAgICBjb25zdCBtYXRjaCA9IG9yaWdpbj8ubWF0Y2goL14oLispOlxcL1xcLy8pXG5cbiAgICByZXR1cm4gbWF0Y2g/LlsxXVxuICB9XG5cbiAgLyoqXG4gICAqIFJ1bnMgcXVlcnkgcGFyYW1zLlxuICAgKiBAcmV0dXJucyB7UmVjb3JkPHN0cmluZywgc3RyaW5nIHwgc3RyaW5nW10+fSAtIFBhcnNlZCBxdWVyeSBwYXJhbWV0ZXJzIGZyb20gdGhlIFVSTC5cbiAgICovXG4gIHF1ZXJ5UGFyYW1zKCkgeyByZXR1cm4gdGhpcy5fcGFyc2VRdWVyeVBhcmFtcygpIH1cblxuICByZW1vdGVBZGRyZXNzKCkgeyByZXR1cm4gdGhpcy5yZW1vdGVBZGRyZXNzVmFsdWUgfVxuXG4gIF9wYXJzZVF1ZXJ5UGFyYW1zKCkge1xuICAgIGNvbnN0IHF1ZXJ5ID0gdGhpcy5fcGF0aC5zcGxpdChcIj9cIilbMV1cblxuICAgIGlmICghcXVlcnkpIHJldHVybiBPYmplY3QuY3JlYXRlKG51bGwpXG5cbiAgICBjb25zdCBwYXJzZWRRdWVyeSA9IHF1ZXJ5c3RyaW5nLnBhcnNlKHF1ZXJ5KVxuICAgIC8qKlxuICAgICAqIFBhcmFtcy5cbiAgICAgKiBAdHlwZSB7UmVjb3JkPHN0cmluZywgc3RyaW5nIHwgc3RyaW5nW10+fSAqL1xuICAgIGNvbnN0IHBhcmFtcyA9IE9iamVjdC5jcmVhdGUobnVsbClcblxuICAgIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKHBhcnNlZFF1ZXJ5KSkge1xuICAgICAgY29uc3QgdmFsdWUgPSBwYXJzZWRRdWVyeVtrZXldXG5cbiAgICAgIGlmICh0eXBlb2YgdmFsdWUgIT09IFwidW5kZWZpbmVkXCIpIHtcbiAgICAgICAgcGFyYW1zW2tleV0gPSB2YWx1ZVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBwYXJhbXNcbiAgfVxufVxuIl19
@@ -24,7 +24,7 @@ export default class VelociousHttpServerClientWebsocketSession {
24
24
  channelReplayStates: Map<any, any>;
25
25
  /**
26
26
  * Message queue.
27
- @type {WebsocketSessionMessage[]} */
27
+ * @type {WebsocketSessionMessage[]} */
28
28
  messageQueue: WebsocketSessionMessage[];
29
29
  buffer: Buffer<ArrayBuffer>;
30
30
  client: import("./index.js").default;
@@ -36,7 +36,7 @@ export default class VelociousHttpServerClientWebsocketSession {
36
36
  logger: Logger;
37
37
  /**
38
38
  * Narrows the runtime value to the documented type.
39
- @type {Record<string, ?>} */
39
+ * @type {Record<string, ?>} */
40
40
  _metadata: Record<string, unknown>;
41
41
  /**
42
42
  * Long-lived per-session state bag. Stable across reconnects once
@@ -47,11 +47,11 @@ export default class VelociousHttpServerClientWebsocketSession {
47
47
  data: Record<string, unknown>;
48
48
  /**
49
49
  * Narrows the runtime value to the documented type.
50
- @type {Map<string, import("../websocket-connection.js").default>} */
50
+ * @type {Map<string, import("../websocket-connection.js").default>} */
51
51
  _connections: Map<string, import("../websocket-connection.js").default>;
52
52
  /**
53
53
  * Narrows the runtime value to the documented type.
54
- @type {Map<string, {channelType: string, subscription: import("../websocket-channel.js").default}>} */
54
+ * @type {Map<string, {channelType: string, subscription: import("../websocket-channel.js").default}>} */
55
55
  _channelSubscriptions: Map<string, {
56
56
  channelType: string;
57
57
  subscription: import("../websocket-channel.js").default;
@@ -76,7 +76,7 @@ export default class VelociousHttpServerClientWebsocketSession {
76
76
  _outboundQueue: Array<unknown>;
77
77
  /**
78
78
  * Narrows the runtime value to the documented type.
79
- @type {import("./index.js").default | null} */
79
+ * @type {import("./index.js").default | null} */
80
80
  socket: import("./index.js").default | null;
81
81
  /**
82
82
  * Tail of a per-session promise chain that serializes message
@@ -228,7 +228,7 @@ export default class VelociousHttpServerClientWebsocketSession {
228
228
  _enforceFragmentLimits(): boolean;
229
229
  /**
230
230
  * Runs reset fragment buffer.
231
- @returns {void} */
231
+ * @returns {void} */
232
232
  _resetFragmentBuffer(): void;
233
233
  /**
234
234
  * Runs send control frame.
@@ -1 +1 @@
1
- {"version":3,"file":"websocket-session.d.ts","sourceRoot":"","sources":["../../../../src/http-server/client/websocket-session.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"websocket-session.d.ts","sourceRoot":"","sources":["../../../../src/http-server/client/websocket-session.js"],"names":[],"mappings":"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"}