@aerokit/sdk 12.44.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (399) hide show
  1. package/LICENSE +277 -0
  2. package/README.md +170 -0
  3. package/dist/cjs/bpm/deployer.js +57 -0
  4. package/dist/cjs/bpm/index.js +35 -0
  5. package/dist/cjs/bpm/process.js +636 -0
  6. package/dist/cjs/bpm/tasks.js +973 -0
  7. package/dist/cjs/bpm/values.js +82 -0
  8. package/dist/cjs/cache/cache.js +64 -0
  9. package/dist/cjs/cache/index.js +26 -0
  10. package/dist/cjs/cms/cmis.js +689 -0
  11. package/dist/cjs/cms/index.js +26 -0
  12. package/dist/cjs/component/decorators.js +126 -0
  13. package/dist/cjs/component/index.js +36 -0
  14. package/dist/cjs/core/configurations.js +110 -0
  15. package/dist/cjs/core/context.js +47 -0
  16. package/dist/cjs/core/env.js +45 -0
  17. package/dist/cjs/core/globals.js +54 -0
  18. package/dist/cjs/core/index.js +35 -0
  19. package/dist/cjs/db/dao.js +795 -0
  20. package/dist/cjs/db/database.js +904 -0
  21. package/dist/cjs/db/decorators.js +167 -0
  22. package/dist/cjs/db/index.js +72 -0
  23. package/dist/cjs/db/insert.js +51 -0
  24. package/dist/cjs/db/orm.js +245 -0
  25. package/dist/cjs/db/ormstatements.js +243 -0
  26. package/dist/cjs/db/procedure.js +112 -0
  27. package/dist/cjs/db/query.js +57 -0
  28. package/dist/cjs/db/repository.js +148 -0
  29. package/dist/cjs/db/sequence.js +59 -0
  30. package/dist/cjs/db/sql.js +516 -0
  31. package/dist/cjs/db/store.js +172 -0
  32. package/dist/cjs/db/translator.js +100 -0
  33. package/dist/cjs/db/update.js +43 -0
  34. package/dist/cjs/etcd/client.js +174 -0
  35. package/dist/cjs/etcd/index.js +26 -0
  36. package/dist/cjs/extensions/decorators.js +40 -0
  37. package/dist/cjs/extensions/extensions.js +108 -0
  38. package/dist/cjs/extensions/index.js +39 -0
  39. package/dist/cjs/git/client.js +277 -0
  40. package/dist/cjs/git/index.js +26 -0
  41. package/dist/cjs/http/client-async.js +224 -0
  42. package/dist/cjs/http/client.js +145 -0
  43. package/dist/cjs/http/decorators.js +76 -0
  44. package/dist/cjs/http/errors/ForbiddenError.js +41 -0
  45. package/dist/cjs/http/errors/ValidationError.js +41 -0
  46. package/dist/cjs/http/errors.js +26 -0
  47. package/dist/cjs/http/index.js +59 -0
  48. package/dist/cjs/http/request.js +281 -0
  49. package/dist/cjs/http/response.js +452 -0
  50. package/dist/cjs/http/rs/resource-common.js +32 -0
  51. package/dist/cjs/http/rs/resource-http-controller.js +306 -0
  52. package/dist/cjs/http/rs/resource-mappings.js +130 -0
  53. package/dist/cjs/http/rs/resource-method.js +218 -0
  54. package/dist/cjs/http/rs/resource.js +232 -0
  55. package/dist/cjs/http/rs.js +31 -0
  56. package/dist/cjs/http/session.js +124 -0
  57. package/dist/cjs/http/upload.js +144 -0
  58. package/dist/cjs/http/utils.js +106 -0
  59. package/dist/cjs/index.js +1 -0
  60. package/dist/cjs/indexing/index.js +29 -0
  61. package/dist/cjs/indexing/searcher.js +70 -0
  62. package/dist/cjs/indexing/writer.js +45 -0
  63. package/dist/cjs/integrations/index.js +26 -0
  64. package/dist/cjs/integrations/integrations.js +55 -0
  65. package/dist/cjs/io/bytes.js +101 -0
  66. package/dist/cjs/io/files.js +344 -0
  67. package/dist/cjs/io/image.js +43 -0
  68. package/dist/cjs/io/index.js +38 -0
  69. package/dist/cjs/io/streams.js +243 -0
  70. package/dist/cjs/io/zip.js +251 -0
  71. package/dist/cjs/job/decorators.js +40 -0
  72. package/dist/cjs/job/index.js +39 -0
  73. package/dist/cjs/job/scheduler.js +347 -0
  74. package/dist/cjs/junit/index.js +18 -0
  75. package/dist/cjs/junit/junit.js +67 -0
  76. package/dist/cjs/kafka/consumer.js +70 -0
  77. package/dist/cjs/kafka/index.js +29 -0
  78. package/dist/cjs/kafka/producer.js +70 -0
  79. package/dist/cjs/log/index.js +26 -0
  80. package/dist/cjs/log/logging.js +174 -0
  81. package/dist/cjs/mail/client.js +153 -0
  82. package/dist/cjs/mail/index.js +26 -0
  83. package/dist/cjs/messaging/consumer.js +83 -0
  84. package/dist/cjs/messaging/decorators.js +40 -0
  85. package/dist/cjs/messaging/index.js +42 -0
  86. package/dist/cjs/messaging/producer.js +81 -0
  87. package/dist/cjs/mongodb/client.js +627 -0
  88. package/dist/cjs/mongodb/dao.js +390 -0
  89. package/dist/cjs/mongodb/index.js +36 -0
  90. package/dist/cjs/net/decorators.js +40 -0
  91. package/dist/cjs/net/index.js +42 -0
  92. package/dist/cjs/net/soap.js +228 -0
  93. package/dist/cjs/net/websockets.js +151 -0
  94. package/dist/cjs/net/wrappers/onClose.js +2 -0
  95. package/dist/cjs/net/wrappers/onError.js +2 -0
  96. package/dist/cjs/net/wrappers/onMessage.js +2 -0
  97. package/dist/cjs/net/wrappers/onOpen.js +2 -0
  98. package/dist/cjs/pdf/index.js +26 -0
  99. package/dist/cjs/pdf/pdf.js +160 -0
  100. package/dist/cjs/platform/command.js +47 -0
  101. package/dist/cjs/platform/engines.js +70 -0
  102. package/dist/cjs/platform/index.js +47 -0
  103. package/dist/cjs/platform/lifecycle.js +49 -0
  104. package/dist/cjs/platform/os.js +51 -0
  105. package/dist/cjs/platform/problems.js +127 -0
  106. package/dist/cjs/platform/registry.js +319 -0
  107. package/dist/cjs/platform/repository.js +498 -0
  108. package/dist/cjs/platform/workspace.js +574 -0
  109. package/dist/cjs/qldb/index.js +26 -0
  110. package/dist/cjs/qldb/qldb.js +24 -0
  111. package/dist/cjs/rabbitmq/consumer.js +50 -0
  112. package/dist/cjs/rabbitmq/index.js +29 -0
  113. package/dist/cjs/rabbitmq/producer.js +38 -0
  114. package/dist/cjs/redis/client.js +190 -0
  115. package/dist/cjs/redis/index.js +26 -0
  116. package/dist/cjs/security/decorators.js +48 -0
  117. package/dist/cjs/security/index.js +40 -0
  118. package/dist/cjs/security/oauth.js +75 -0
  119. package/dist/cjs/security/user.js +88 -0
  120. package/dist/cjs/template/engines.js +139 -0
  121. package/dist/cjs/template/index.js +26 -0
  122. package/dist/cjs/utils/alphanumeric.js +107 -0
  123. package/dist/cjs/utils/base64.js +104 -0
  124. package/dist/cjs/utils/converter.js +78 -0
  125. package/dist/cjs/utils/digest.js +167 -0
  126. package/dist/cjs/utils/escape.js +160 -0
  127. package/dist/cjs/utils/hex.js +104 -0
  128. package/dist/cjs/utils/index.js +68 -0
  129. package/dist/cjs/utils/jsonpath.js +489 -0
  130. package/dist/cjs/utils/qrcode.js +41 -0
  131. package/dist/cjs/utils/url.js +82 -0
  132. package/dist/cjs/utils/utf8.js +61 -0
  133. package/dist/cjs/utils/uuid.js +48 -0
  134. package/dist/cjs/utils/xml.js +57 -0
  135. package/dist/dts/bpm/deployer.d.ts +29 -0
  136. package/dist/dts/bpm/index.d.ts +8 -0
  137. package/dist/dts/bpm/process.d.ts +433 -0
  138. package/dist/dts/bpm/tasks.d.ts +2022 -0
  139. package/dist/dts/bpm/values.d.ts +38 -0
  140. package/dist/dts/cache/cache.d.ts +30 -0
  141. package/dist/dts/cache/index.d.ts +2 -0
  142. package/dist/dts/cms/cmis.d.ts +413 -0
  143. package/dist/dts/cms/index.d.ts +2 -0
  144. package/dist/dts/component/decorators.d.ts +52 -0
  145. package/dist/dts/component/index.d.ts +2 -0
  146. package/dist/dts/core/configurations.d.ts +65 -0
  147. package/dist/dts/core/context.d.ts +19 -0
  148. package/dist/dts/core/env.d.ts +23 -0
  149. package/dist/dts/core/globals.d.ts +30 -0
  150. package/dist/dts/core/index.d.ts +8 -0
  151. package/dist/dts/db/dao.d.ts +8 -0
  152. package/dist/dts/db/database.d.ts +507 -0
  153. package/dist/dts/db/decorators.d.ts +89 -0
  154. package/dist/dts/db/index.d.ts +25 -0
  155. package/dist/dts/db/insert.d.ts +32 -0
  156. package/dist/dts/db/orm.d.ts +44 -0
  157. package/dist/dts/db/ormstatements.d.ts +4 -0
  158. package/dist/dts/db/procedure.d.ts +25 -0
  159. package/dist/dts/db/query.d.ts +48 -0
  160. package/dist/dts/db/repository.d.ts +64 -0
  161. package/dist/dts/db/sequence.d.ts +34 -0
  162. package/dist/dts/db/sql.d.ts +267 -0
  163. package/dist/dts/db/store.d.ts +138 -0
  164. package/dist/dts/db/translator.d.ts +26 -0
  165. package/dist/dts/db/update.d.ts +21 -0
  166. package/dist/dts/etcd/client.d.ts +92 -0
  167. package/dist/dts/etcd/index.d.ts +2 -0
  168. package/dist/dts/extensions/decorators.d.ts +11 -0
  169. package/dist/dts/extensions/extensions.d.ts +41 -0
  170. package/dist/dts/extensions/index.d.ts +4 -0
  171. package/dist/dts/git/client.d.ts +478 -0
  172. package/dist/dts/git/index.d.ts +2 -0
  173. package/dist/dts/http/client-async.d.ts +158 -0
  174. package/dist/dts/http/client.d.ts +180 -0
  175. package/dist/dts/http/decorators.d.ts +11 -0
  176. package/dist/dts/http/errors/ForbiddenError.d.ts +20 -0
  177. package/dist/dts/http/errors/ValidationError.d.ts +20 -0
  178. package/dist/dts/http/errors.d.ts +2 -0
  179. package/dist/dts/http/index.d.ts +16 -0
  180. package/dist/dts/http/request.d.ts +158 -0
  181. package/dist/dts/http/response.d.ts +281 -0
  182. package/dist/dts/http/rs/resource-common.d.ts +11 -0
  183. package/dist/dts/http/rs/resource-http-controller.d.ts +43 -0
  184. package/dist/dts/http/rs/resource-mappings.d.ts +70 -0
  185. package/dist/dts/http/rs/resource-method.d.ts +206 -0
  186. package/dist/dts/http/rs/resource.d.ts +126 -0
  187. package/dist/dts/http/rs.d.ts +4 -0
  188. package/dist/dts/http/session.d.ts +81 -0
  189. package/dist/dts/http/upload.d.ts +100 -0
  190. package/dist/dts/http/utils.d.ts +54 -0
  191. package/dist/dts/index.d.ts +0 -0
  192. package/dist/dts/indexing/index.d.ts +4 -0
  193. package/dist/dts/indexing/searcher.d.ts +47 -0
  194. package/dist/dts/indexing/writer.d.ts +22 -0
  195. package/dist/dts/integrations/index.d.ts +2 -0
  196. package/dist/dts/integrations/integrations.d.ts +118 -0
  197. package/dist/dts/io/bytes.d.ts +56 -0
  198. package/dist/dts/io/files.d.ts +261 -0
  199. package/dist/dts/io/image.d.ts +22 -0
  200. package/dist/dts/io/index.d.ts +10 -0
  201. package/dist/dts/io/streams.d.ts +172 -0
  202. package/dist/dts/io/zip.d.ts +178 -0
  203. package/dist/dts/job/decorators.d.ts +11 -0
  204. package/dist/dts/job/index.d.ts +4 -0
  205. package/dist/dts/job/scheduler.d.ts +250 -0
  206. package/dist/dts/junit/index.d.ts +1 -0
  207. package/dist/dts/junit/junit.d.ts +50 -0
  208. package/dist/dts/kafka/consumer.d.ts +48 -0
  209. package/dist/dts/kafka/index.d.ts +4 -0
  210. package/dist/dts/kafka/producer.d.ts +50 -0
  211. package/dist/dts/log/index.d.ts +2 -0
  212. package/dist/dts/log/logging.d.ts +102 -0
  213. package/dist/dts/mail/client.d.ts +90 -0
  214. package/dist/dts/mail/index.d.ts +2 -0
  215. package/dist/dts/messaging/consumer.d.ts +61 -0
  216. package/dist/dts/messaging/decorators.d.ts +11 -0
  217. package/dist/dts/messaging/index.d.ts +6 -0
  218. package/dist/dts/messaging/producer.d.ts +59 -0
  219. package/dist/dts/mongodb/client.d.ts +367 -0
  220. package/dist/dts/mongodb/dao.d.ts +24 -0
  221. package/dist/dts/mongodb/index.d.ts +2 -0
  222. package/dist/dts/net/decorators.d.ts +11 -0
  223. package/dist/dts/net/index.d.ts +6 -0
  224. package/dist/dts/net/soap.d.ts +115 -0
  225. package/dist/dts/net/websockets.d.ts +100 -0
  226. package/dist/dts/net/wrappers/onClose.d.ts +0 -0
  227. package/dist/dts/net/wrappers/onError.d.ts +0 -0
  228. package/dist/dts/net/wrappers/onMessage.d.ts +0 -0
  229. package/dist/dts/net/wrappers/onOpen.d.ts +0 -0
  230. package/dist/dts/pdf/index.d.ts +2 -0
  231. package/dist/dts/pdf/pdf.d.ts +72 -0
  232. package/dist/dts/platform/command.d.ts +41 -0
  233. package/dist/dts/platform/engines.d.ts +35 -0
  234. package/dist/dts/platform/index.d.ts +16 -0
  235. package/dist/dts/platform/lifecycle.d.ts +22 -0
  236. package/dist/dts/platform/os.d.ts +23 -0
  237. package/dist/dts/platform/problems.d.ts +114 -0
  238. package/dist/dts/platform/registry.d.ts +227 -0
  239. package/dist/dts/platform/repository.d.ts +354 -0
  240. package/dist/dts/platform/workspace.d.ts +421 -0
  241. package/dist/dts/qldb/index.d.ts +2 -0
  242. package/dist/dts/qldb/qldb.d.ts +1 -0
  243. package/dist/dts/rabbitmq/consumer.d.ts +25 -0
  244. package/dist/dts/rabbitmq/index.d.ts +4 -0
  245. package/dist/dts/rabbitmq/producer.d.ts +15 -0
  246. package/dist/dts/redis/client.d.ts +134 -0
  247. package/dist/dts/redis/index.d.ts +2 -0
  248. package/dist/dts/security/decorators.d.ts +4 -0
  249. package/dist/dts/security/index.d.ts +5 -0
  250. package/dist/dts/security/oauth.d.ts +39 -0
  251. package/dist/dts/security/user.d.ts +51 -0
  252. package/dist/dts/template/engines.d.ts +98 -0
  253. package/dist/dts/template/index.d.ts +2 -0
  254. package/dist/dts/utils/alphanumeric.d.ts +39 -0
  255. package/dist/dts/utils/base64.d.ts +48 -0
  256. package/dist/dts/utils/converter.d.ts +44 -0
  257. package/dist/dts/utils/digest.d.ts +50 -0
  258. package/dist/dts/utils/escape.d.ts +110 -0
  259. package/dist/dts/utils/hex.d.ts +48 -0
  260. package/dist/dts/utils/index.d.ts +23 -0
  261. package/dist/dts/utils/jsonpath.d.ts +22 -0
  262. package/dist/dts/utils/qrcode.d.ts +16 -0
  263. package/dist/dts/utils/url.d.ts +50 -0
  264. package/dist/dts/utils/utf8.d.ts +33 -0
  265. package/dist/dts/utils/uuid.d.ts +21 -0
  266. package/dist/dts/utils/xml.d.ts +22 -0
  267. package/dist/esm/bpm/deployer.mjs +38 -0
  268. package/dist/esm/bpm/index.mjs +15 -0
  269. package/dist/esm/bpm/process.mjs +617 -0
  270. package/dist/esm/bpm/tasks.mjs +954 -0
  271. package/dist/esm/bpm/values.mjs +63 -0
  272. package/dist/esm/cache/cache.mjs +45 -0
  273. package/dist/esm/cache/index.mjs +6 -0
  274. package/dist/esm/cms/cmis.mjs +660 -0
  275. package/dist/esm/cms/index.mjs +6 -0
  276. package/dist/esm/component/decorators.mjs +107 -0
  277. package/dist/esm/component/index.mjs +6 -0
  278. package/dist/esm/core/configurations.mjs +91 -0
  279. package/dist/esm/core/context.mjs +28 -0
  280. package/dist/esm/core/env.mjs +26 -0
  281. package/dist/esm/core/globals.mjs +35 -0
  282. package/dist/esm/core/index.mjs +15 -0
  283. package/dist/esm/db/dao.mjs +775 -0
  284. package/dist/esm/db/database.mjs +885 -0
  285. package/dist/esm/db/decorators.mjs +148 -0
  286. package/dist/esm/db/index.mjs +42 -0
  287. package/dist/esm/db/insert.mjs +32 -0
  288. package/dist/esm/db/orm.mjs +225 -0
  289. package/dist/esm/db/ormstatements.mjs +223 -0
  290. package/dist/esm/db/procedure.mjs +93 -0
  291. package/dist/esm/db/query.mjs +38 -0
  292. package/dist/esm/db/repository.mjs +129 -0
  293. package/dist/esm/db/sequence.mjs +40 -0
  294. package/dist/esm/db/sql.mjs +497 -0
  295. package/dist/esm/db/store.mjs +153 -0
  296. package/dist/esm/db/translator.mjs +81 -0
  297. package/dist/esm/db/update.mjs +24 -0
  298. package/dist/esm/etcd/client.mjs +155 -0
  299. package/dist/esm/etcd/index.mjs +6 -0
  300. package/dist/esm/extensions/decorators.mjs +21 -0
  301. package/dist/esm/extensions/extensions.mjs +89 -0
  302. package/dist/esm/extensions/index.mjs +9 -0
  303. package/dist/esm/git/client.mjs +258 -0
  304. package/dist/esm/git/index.mjs +6 -0
  305. package/dist/esm/http/client-async.mjs +205 -0
  306. package/dist/esm/http/client.mjs +126 -0
  307. package/dist/esm/http/decorators.mjs +47 -0
  308. package/dist/esm/http/errors/ForbiddenError.mjs +22 -0
  309. package/dist/esm/http/errors/ValidationError.mjs +22 -0
  310. package/dist/esm/http/errors.mjs +7 -0
  311. package/dist/esm/http/index.mjs +29 -0
  312. package/dist/esm/http/request.mjs +262 -0
  313. package/dist/esm/http/response.mjs +433 -0
  314. package/dist/esm/http/rs/resource-common.mjs +13 -0
  315. package/dist/esm/http/rs/resource-http-controller.mjs +287 -0
  316. package/dist/esm/http/rs/resource-mappings.mjs +111 -0
  317. package/dist/esm/http/rs/resource-method.mjs +199 -0
  318. package/dist/esm/http/rs/resource.mjs +213 -0
  319. package/dist/esm/http/rs.mjs +12 -0
  320. package/dist/esm/http/session.mjs +105 -0
  321. package/dist/esm/http/upload.mjs +125 -0
  322. package/dist/esm/http/utils.mjs +87 -0
  323. package/dist/esm/index.mjs +1 -0
  324. package/dist/esm/indexing/index.mjs +9 -0
  325. package/dist/esm/indexing/searcher.mjs +51 -0
  326. package/dist/esm/indexing/writer.mjs +26 -0
  327. package/dist/esm/integrations/index.mjs +6 -0
  328. package/dist/esm/integrations/integrations.mjs +36 -0
  329. package/dist/esm/io/bytes.mjs +82 -0
  330. package/dist/esm/io/files.mjs +325 -0
  331. package/dist/esm/io/image.mjs +24 -0
  332. package/dist/esm/io/index.mjs +18 -0
  333. package/dist/esm/io/streams.mjs +224 -0
  334. package/dist/esm/io/zip.mjs +232 -0
  335. package/dist/esm/job/decorators.mjs +21 -0
  336. package/dist/esm/job/index.mjs +9 -0
  337. package/dist/esm/job/scheduler.mjs +328 -0
  338. package/dist/esm/junit/index.mjs +2 -0
  339. package/dist/esm/junit/junit.mjs +48 -0
  340. package/dist/esm/kafka/consumer.mjs +51 -0
  341. package/dist/esm/kafka/index.mjs +9 -0
  342. package/dist/esm/kafka/producer.mjs +51 -0
  343. package/dist/esm/log/index.mjs +6 -0
  344. package/dist/esm/log/logging.mjs +155 -0
  345. package/dist/esm/mail/client.mjs +134 -0
  346. package/dist/esm/mail/index.mjs +6 -0
  347. package/dist/esm/messaging/consumer.mjs +64 -0
  348. package/dist/esm/messaging/decorators.mjs +21 -0
  349. package/dist/esm/messaging/index.mjs +12 -0
  350. package/dist/esm/messaging/producer.mjs +62 -0
  351. package/dist/esm/mongodb/client.mjs +608 -0
  352. package/dist/esm/mongodb/dao.mjs +360 -0
  353. package/dist/esm/mongodb/index.mjs +7 -0
  354. package/dist/esm/net/decorators.mjs +21 -0
  355. package/dist/esm/net/index.mjs +12 -0
  356. package/dist/esm/net/soap.mjs +209 -0
  357. package/dist/esm/net/websockets.mjs +132 -0
  358. package/dist/esm/net/wrappers/onClose.mjs +2 -0
  359. package/dist/esm/net/wrappers/onError.mjs +2 -0
  360. package/dist/esm/net/wrappers/onMessage.mjs +2 -0
  361. package/dist/esm/net/wrappers/onOpen.mjs +2 -0
  362. package/dist/esm/pdf/index.mjs +6 -0
  363. package/dist/esm/pdf/pdf.mjs +141 -0
  364. package/dist/esm/platform/command.mjs +28 -0
  365. package/dist/esm/platform/engines.mjs +51 -0
  366. package/dist/esm/platform/index.mjs +27 -0
  367. package/dist/esm/platform/lifecycle.mjs +30 -0
  368. package/dist/esm/platform/os.mjs +32 -0
  369. package/dist/esm/platform/problems.mjs +108 -0
  370. package/dist/esm/platform/registry.mjs +300 -0
  371. package/dist/esm/platform/repository.mjs +479 -0
  372. package/dist/esm/platform/workspace.mjs +555 -0
  373. package/dist/esm/qldb/index.mjs +6 -0
  374. package/dist/esm/qldb/qldb.mjs +5 -0
  375. package/dist/esm/rabbitmq/consumer.mjs +31 -0
  376. package/dist/esm/rabbitmq/index.mjs +9 -0
  377. package/dist/esm/rabbitmq/producer.mjs +19 -0
  378. package/dist/esm/redis/client.mjs +171 -0
  379. package/dist/esm/redis/index.mjs +6 -0
  380. package/dist/esm/security/decorators.mjs +29 -0
  381. package/dist/esm/security/index.mjs +10 -0
  382. package/dist/esm/security/oauth.mjs +56 -0
  383. package/dist/esm/security/user.mjs +69 -0
  384. package/dist/esm/template/engines.mjs +120 -0
  385. package/dist/esm/template/index.mjs +6 -0
  386. package/dist/esm/utils/alphanumeric.mjs +88 -0
  387. package/dist/esm/utils/base64.mjs +85 -0
  388. package/dist/esm/utils/converter.mjs +59 -0
  389. package/dist/esm/utils/digest.mjs +148 -0
  390. package/dist/esm/utils/escape.mjs +141 -0
  391. package/dist/esm/utils/hex.mjs +85 -0
  392. package/dist/esm/utils/index.mjs +38 -0
  393. package/dist/esm/utils/jsonpath.mjs +470 -0
  394. package/dist/esm/utils/qrcode.mjs +22 -0
  395. package/dist/esm/utils/url.mjs +63 -0
  396. package/dist/esm/utils/utf8.mjs +42 -0
  397. package/dist/esm/utils/uuid.mjs +29 -0
  398. package/dist/esm/utils/xml.mjs +38 -0
  399. package/package.json +58 -0
@@ -0,0 +1,325 @@
1
+ import { InputStream, OutputStream } from "@aerokit/sdk/io/streams";
2
+ import { Bytes } from "@aerokit/sdk/io/bytes";
3
+ const FilesFacade = Java.type("org.eclipse.dirigible.components.api.io.FilesFacade");
4
+ const File = Java.type("java.io.File");
5
+ class Files {
6
+ static {
7
+ /**
8
+ * The file system-dependent name separator character (e.g., "/" on Unix, "\" on Windows).
9
+ */
10
+ this.separator = File.separator;
11
+ }
12
+ /**
13
+ * Checks if a file or directory exists at the given path.
14
+ * @param path The path to check.
15
+ * @returns True if the path exists, false otherwise.
16
+ */
17
+ static exists(path) {
18
+ return FilesFacade.exists(path);
19
+ }
20
+ /**
21
+ * Checks if the file or directory at the given path is executable.
22
+ * @param path The path to check.
23
+ * @returns True if executable, false otherwise.
24
+ */
25
+ static isExecutable(path) {
26
+ return FilesFacade.isExecutable(path);
27
+ }
28
+ /**
29
+ * Checks if the file or directory at the given path is readable.
30
+ * @param path The path to check.
31
+ * @returns True if readable, false otherwise.
32
+ */
33
+ static isReadable(path) {
34
+ return FilesFacade.isReadable(path);
35
+ }
36
+ /**
37
+ * Checks if the file or directory at the given path is writable.
38
+ * @param path The path to check.
39
+ * @returns True if writable, false otherwise.
40
+ */
41
+ static isWritable(path) {
42
+ return FilesFacade.isWritable(path);
43
+ }
44
+ /**
45
+ * Checks if the file or directory at the given path is hidden.
46
+ * @param path The path to check.
47
+ * @returns True if hidden, false otherwise.
48
+ */
49
+ static isHidden(path) {
50
+ return FilesFacade.isHidden(path);
51
+ }
52
+ /**
53
+ * Checks if the path refers to a directory.
54
+ * @param path The path to check.
55
+ * @returns True if it's a directory, false otherwise.
56
+ */
57
+ static isDirectory(path) {
58
+ return FilesFacade.isDirectory(path);
59
+ }
60
+ /**
61
+ * Checks if the path refers to a regular file.
62
+ * @param path The path to check.
63
+ * @returns True if it's a file, false otherwise.
64
+ */
65
+ static isFile(path) {
66
+ return FilesFacade.isFile(path);
67
+ }
68
+ /**
69
+ * Checks if two paths refer to the same underlying file system object.
70
+ * @param path1 The first path.
71
+ * @param path2 The second path.
72
+ * @returns True if they reference the same file/directory, false otherwise.
73
+ */
74
+ static isSameFile(path1, path2) {
75
+ return FilesFacade.isSameFile(path1, path2);
76
+ }
77
+ /**
78
+ * Returns the canonical (absolute and normalized) path for the given path.
79
+ * @param path The path to normalize.
80
+ * @returns The canonical path string.
81
+ */
82
+ static getCanonicalPath(path) {
83
+ return FilesFacade.getCanonicalPath(path);
84
+ }
85
+ /**
86
+ * Gets the simple name of the file or directory at the given path (the last element).
87
+ * @param path The path.
88
+ * @returns The name.
89
+ */
90
+ static getName(path) {
91
+ return FilesFacade.getName(path);
92
+ }
93
+ /**
94
+ * Gets the path of the parent directory.
95
+ * @param path The path.
96
+ * @returns The parent path string, or null/empty if none exists.
97
+ */
98
+ static getParentPath(path) {
99
+ return FilesFacade.getParentPath(path);
100
+ }
101
+ /**
102
+ * Reads all bytes from a file into a JavaScript byte array (an array of numbers).
103
+ *
104
+ * Note: This method automatically converts the native Java byte array to a
105
+ * JavaScript array using `Bytes.toJavaScriptBytes()`.
106
+ * @param path The path to the file.
107
+ * @returns A JavaScript array of byte values.
108
+ */
109
+ static readBytes(path) {
110
+ const native = FilesFacade.readBytes(path);
111
+ return Bytes.toJavaScriptBytes(native);
112
+ }
113
+ /**
114
+ * Reads all bytes from a file and returns the native Java byte array object.
115
+ * @param path The path to the file.
116
+ * @returns The native Java byte array.
117
+ */
118
+ static readBytesNative(path) {
119
+ return FilesFacade.readBytes(path);
120
+ }
121
+ /**
122
+ * Reads all text content from a file using the platform's default character encoding.
123
+ * @param path The path to the file.
124
+ * @returns The content of the file as a string.
125
+ */
126
+ static readText(path) {
127
+ return FilesFacade.readText(path);
128
+ }
129
+ /**
130
+ * Writes the content of a JavaScript byte array to a file. Overwrites existing content.
131
+ *
132
+ * Note: This method automatically converts the JavaScript array to a native
133
+ * Java byte array using `Bytes.toJavaBytes()` before writing.
134
+ * @param path The path to the file.
135
+ * @param data The JavaScript array of byte values to write.
136
+ */
137
+ static writeBytes(path, data) {
138
+ const native = Bytes.toJavaBytes(data);
139
+ FilesFacade.writeBytesNative(path, native);
140
+ }
141
+ /**
142
+ * Writes the content of a native Java byte array to a file. Overwrites existing content.
143
+ * @param path The path to the file.
144
+ * @param data The native Java byte array to write.
145
+ */
146
+ static writeBytesNative(path, data) {
147
+ FilesFacade.writeBytesNative(path, data);
148
+ }
149
+ /**
150
+ * Writes a string of text to a file using the platform's default character encoding. Overwrites existing content.
151
+ * @param path The path to the file.
152
+ * @param text The string content to write.
153
+ */
154
+ static writeText(path, text) {
155
+ FilesFacade.writeText(path, text);
156
+ }
157
+ /**
158
+ * Gets the last modified time of the file or directory.
159
+ * @param path The path to the file or directory.
160
+ * @returns A JavaScript Date object representing the last modified time.
161
+ */
162
+ static getLastModified(path) {
163
+ return new Date(FilesFacade.getLastModified(path));
164
+ }
165
+ /**
166
+ * Sets the last modified time of the file or directory.
167
+ * @param path The path to the file or directory.
168
+ * @param time The new Date object to set as the last modified time.
169
+ */
170
+ static setLastModified(path, time) {
171
+ FilesFacade.setLastModified(path, time.getTime());
172
+ }
173
+ /**
174
+ * Gets the owner of the file or directory.
175
+ * @param path The path to the file or directory.
176
+ * @returns The owner name as a string.
177
+ */
178
+ static getOwner(path) {
179
+ return FilesFacade.getOwner(path);
180
+ }
181
+ /**
182
+ * Sets the owner of the file or directory.
183
+ * @param path The path to the file or directory.
184
+ * @param owner The new owner name.
185
+ */
186
+ static setOwner(path, owner) {
187
+ FilesFacade.setOwner(path, owner);
188
+ }
189
+ /**
190
+ * Gets the permissions string for the file or directory (implementation dependent).
191
+ * @param path The path to the file or directory.
192
+ * @returns The permissions string.
193
+ */
194
+ static getPermissions(path) {
195
+ return FilesFacade.getPermissions(path);
196
+ }
197
+ /**
198
+ * Sets the permissions for the file or directory (implementation dependent).
199
+ * @param path The path to the file or directory.
200
+ * @param permissions The permissions string.
201
+ */
202
+ static setPermissions(path, permissions) {
203
+ FilesFacade.setPermissions(path, permissions);
204
+ }
205
+ /**
206
+ * Gets the size of the file in bytes.
207
+ * @param path The path to the file.
208
+ * @returns The size in bytes.
209
+ */
210
+ static size(path) {
211
+ return FilesFacade.size(path);
212
+ }
213
+ /**
214
+ * Creates a new, empty file at the specified path.
215
+ * @param path The path where the file should be created.
216
+ */
217
+ static createFile(path) {
218
+ FilesFacade.createFile(path);
219
+ }
220
+ /**
221
+ * Creates a new directory at the specified path.
222
+ * @param path The path where the directory should be created.
223
+ */
224
+ static createDirectory(path) {
225
+ FilesFacade.createDirectory(path);
226
+ }
227
+ /**
228
+ * Copies a file or directory from a source path to a target path.
229
+ * @param source The source path.
230
+ * @param target The target path.
231
+ */
232
+ static copy(source, target) {
233
+ FilesFacade.copy(source, target);
234
+ }
235
+ /**
236
+ * Moves or renames a file or directory.
237
+ * @param source The source path.
238
+ * @param target The target path.
239
+ */
240
+ static move(source, target) {
241
+ FilesFacade.move(source, target);
242
+ }
243
+ /**
244
+ * Deletes the file at the specified path.
245
+ * @param path The path to the file to delete.
246
+ */
247
+ static deleteFile(path) {
248
+ FilesFacade.deleteFile(path);
249
+ }
250
+ /**
251
+ * Deletes the directory at the specified path.
252
+ * @param path The path to the directory to delete.
253
+ * @param forced If true, recursively deletes the directory and its contents.
254
+ */
255
+ static deleteDirectory(path, forced) {
256
+ FilesFacade.deleteDirectory(path, forced);
257
+ }
258
+ /**
259
+ * Creates a new temporary file with the given prefix and suffix.
260
+ * @param prefix The prefix string to be used in generating the file's name.
261
+ * @param suffix The suffix string to be used in generating the file's name.
262
+ * @returns The path of the created temporary file.
263
+ */
264
+ static createTempFile(prefix, suffix) {
265
+ return FilesFacade.createTempFile(prefix, suffix);
266
+ }
267
+ /**
268
+ * Creates a new temporary directory with the given prefix.
269
+ * @param prefix The prefix string to be used in generating the directory's name.
270
+ * @returns The path of the created temporary directory.
271
+ */
272
+ static createTempDirectory(prefix) {
273
+ return FilesFacade.createTempDirectory(prefix);
274
+ }
275
+ /**
276
+ * Creates and returns a new {@link InputStream} for reading data from the file.
277
+ * @param path The path to the file.
278
+ * @returns A new InputStream instance.
279
+ */
280
+ static createInputStream(path) {
281
+ const native = FilesFacade.createInputStream(path);
282
+ return new InputStream(native);
283
+ }
284
+ /**
285
+ * Creates and returns a new {@link OutputStream} for writing data to the file.
286
+ * @param path The path to the file.
287
+ * @returns A new OutputStream instance.
288
+ */
289
+ static createOutputStream(path) {
290
+ const native = FilesFacade.createOutputStream(path);
291
+ return new OutputStream(native);
292
+ }
293
+ /**
294
+ * Traverses a directory and returns a structured {@link FolderObject} hierarchy.
295
+ * @param path The path to the folder to traverse.
296
+ * @returns The root FolderObject containing the file system tree structure.
297
+ */
298
+ static traverse(path) {
299
+ return JSON.parse(FilesFacade.traverse(path));
300
+ }
301
+ /**
302
+ * Lists the direct children (files and folders) of a directory, returning only their paths.
303
+ * @param path The path to the directory.
304
+ * @returns An array of string paths for the contents of the directory.
305
+ */
306
+ static list(path) {
307
+ return JSON.parse(FilesFacade.list(path)).map((e) => e.path);
308
+ }
309
+ /**
310
+ * Finds files and directories matching a specified glob pattern within a directory tree.
311
+ * @param path The starting path for the search.
312
+ * @param pattern The glob pattern to match (e.g., "*.js", "**.txt").
313
+ * @returns An array of string paths that match the pattern.
314
+ */
315
+ static find(path, pattern) {
316
+ return JSON.parse(FilesFacade.find(path, pattern));
317
+ }
318
+ }
319
+ if (typeof module !== "undefined") {
320
+ module.exports = Files;
321
+ }
322
+ export {
323
+ Files
324
+ };
325
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2lvL2ZpbGVzLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIFByb3ZpZGVzIGEgY29tcHJlaGVuc2l2ZSBzdGF0aWMgZmFcdTAwRTdhZGUgZm9yIGZpbGUgYW5kIGRpcmVjdG9yeSBvcGVyYXRpb25zLFxuICogYWJzdHJhY3RpbmcgdGhlIHVuZGVybHlpbmcgSmF2YSBmaWxlIHN5c3RlbSBpbXBsZW1lbnRhdGlvbi5cbiAqL1xuaW1wb3J0IHsgSW5wdXRTdHJlYW0sIE91dHB1dFN0cmVhbSB9IGZyb20gXCJAYWVyb2tpdC9zZGsvaW8vc3RyZWFtc1wiO1xuaW1wb3J0IHsgQnl0ZXMgfSBmcm9tIFwiQGFlcm9raXQvc2RrL2lvL2J5dGVzXCI7XG5cbmNvbnN0IEZpbGVzRmFjYWRlID0gSmF2YS50eXBlKFwib3JnLmVjbGlwc2UuZGlyaWdpYmxlLmNvbXBvbmVudHMuYXBpLmlvLkZpbGVzRmFjYWRlXCIpO1xuY29uc3QgRmlsZSA9IEphdmEudHlwZShcImphdmEuaW8uRmlsZVwiKVxuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBnZW5lcmljIGZpbGUgc3lzdGVtIG9iamVjdCAoZmlsZSBvciBkaXJlY3RvcnkpLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEZpbGVPYmplY3Qge1xuICAgIC8qKiBUaGUgc2ltcGxlIG5hbWUgb2YgdGhlIGZpbGUgb3IgZm9sZGVyLiAqL1xuICAgIG5hbWU6IHN0cmluZztcbiAgICAvKiogVGhlIGFic29sdXRlIHBhdGggb2YgdGhlIGZpbGUgb3IgZm9sZGVyLiAqL1xuICAgIHBhdGg6IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgZm9sZGVyIG9iamVjdCwgZXh0ZW5kaW5nIHRoZSBiYXNpYyBmaWxlIG9iamVjdCB3aXRoIGxpc3RzIG9mIGl0cyBjb250ZW50cy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBGb2xkZXJPYmplY3QgZXh0ZW5kcyBGaWxlT2JqZWN0IHtcbiAgICAvKiogQSBsaXN0IG9mIGZpbGUgb2JqZWN0cyBjb250YWluZWQgd2l0aGluIHRoaXMgZm9sZGVyLiAqL1xuICAgIGZpbGVzOiBGaWxlT2JqZWN0W107XG4gICAgLyoqIEEgbGlzdCBvZiBzdWItZm9sZGVyIG9iamVjdHMgY29udGFpbmVkIHdpdGhpbiB0aGlzIGZvbGRlci4gKi9cbiAgICBmb2xkZXJzOiBGb2xkZXJPYmplY3RbXTtcbn1cblxuLyoqXG4gKiBUaGUgRmlsZXMgY2xhc3MgcHJvdmlkZXMgc3RhdGljIG1ldGhvZHMgZm9yIGhpZ2gtbGV2ZWwgZmlsZSBzeXN0ZW0gbWFuaXB1bGF0aW9uLFxuICogaW5jbHVkaW5nIGNoZWNraW5nIHByb3BlcnRpZXMsIHJlYWRpbmcvd3JpdGluZyBjb250ZW50LCBhbmQgbmF2aWdhdGluZyB0aGUgc3RydWN0dXJlLlxuICovXG5leHBvcnQgY2xhc3MgRmlsZXMge1xuXG5cdC8qKlxuXHQgKiBUaGUgZmlsZSBzeXN0ZW0tZGVwZW5kZW50IG5hbWUgc2VwYXJhdG9yIGNoYXJhY3RlciAoZS5nLiwgXCIvXCIgb24gVW5peCwgXCJcXFwiIG9uIFdpbmRvd3MpLlxuXHQgKi9cblx0cHVibGljIHN0YXRpYyByZWFkb25seSBzZXBhcmF0b3I6IHN0cmluZyA9IEZpbGUuc2VwYXJhdG9yO1xuXG4gICAgLyoqXG5cdCAqIENoZWNrcyBpZiBhIGZpbGUgb3IgZGlyZWN0b3J5IGV4aXN0cyBhdCB0aGUgZ2l2ZW4gcGF0aC5cblx0ICogQHBhcmFtIHBhdGggVGhlIHBhdGggdG8gY2hlY2suXG5cdCAqIEByZXR1cm5zIFRydWUgaWYgdGhlIHBhdGggZXhpc3RzLCBmYWxzZSBvdGhlcndpc2UuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIGV4aXN0cyhwYXRoOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gRmlsZXNGYWNhZGUuZXhpc3RzKHBhdGgpO1xuXHR9XG5cblx0LyoqXG5cdCAqIENoZWNrcyBpZiB0aGUgZmlsZSBvciBkaXJlY3RvcnkgYXQgdGhlIGdpdmVuIHBhdGggaXMgZXhlY3V0YWJsZS5cblx0ICogQHBhcmFtIHBhdGggVGhlIHBhdGggdG8gY2hlY2suXG5cdCAqIEByZXR1cm5zIFRydWUgaWYgZXhlY3V0YWJsZSwgZmFsc2Ugb3RoZXJ3aXNlLlxuXHQgKi9cblx0cHVibGljIHN0YXRpYyBpc0V4ZWN1dGFibGUocGF0aDogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEZpbGVzRmFjYWRlLmlzRXhlY3V0YWJsZShwYXRoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBDaGVja3MgaWYgdGhlIGZpbGUgb3IgZGlyZWN0b3J5IGF0IHRoZSBnaXZlbiBwYXRoIGlzIHJlYWRhYmxlLlxuXHQgKiBAcGFyYW0gcGF0aCBUaGUgcGF0aCB0byBjaGVjay5cblx0ICogQHJldHVybnMgVHJ1ZSBpZiByZWFkYWJsZSwgZmFsc2Ugb3RoZXJ3aXNlLlxuXHQgKi9cblx0cHVibGljIHN0YXRpYyBpc1JlYWRhYmxlKHBhdGg6IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBGaWxlc0ZhY2FkZS5pc1JlYWRhYmxlKHBhdGgpO1xuXHR9XG5cblx0LyoqXG5cdCAqIENoZWNrcyBpZiB0aGUgZmlsZSBvciBkaXJlY3RvcnkgYXQgdGhlIGdpdmVuIHBhdGggaXMgd3JpdGFibGUuXG5cdCAqIEBwYXJhbSBwYXRoIFRoZSBwYXRoIHRvIGNoZWNrLlxuXHQgKiBAcmV0dXJucyBUcnVlIGlmIHdyaXRhYmxlLCBmYWxzZSBvdGhlcndpc2UuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIGlzV3JpdGFibGUocGF0aDogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEZpbGVzRmFjYWRlLmlzV3JpdGFibGUocGF0aCk7XG5cdH1cblxuXHQvKipcblx0ICogQ2hlY2tzIGlmIHRoZSBmaWxlIG9yIGRpcmVjdG9yeSBhdCB0aGUgZ2l2ZW4gcGF0aCBpcyBoaWRkZW4uXG5cdCAqIEBwYXJhbSBwYXRoIFRoZSBwYXRoIHRvIGNoZWNrLlxuXHQgKiBAcmV0dXJucyBUcnVlIGlmIGhpZGRlbiwgZmFsc2Ugb3RoZXJ3aXNlLlxuXHQgKi9cblx0cHVibGljIHN0YXRpYyBpc0hpZGRlbihwYXRoOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gRmlsZXNGYWNhZGUuaXNIaWRkZW4ocGF0aCk7XG5cdH1cblxuXHQvKipcblx0ICogQ2hlY2tzIGlmIHRoZSBwYXRoIHJlZmVycyB0byBhIGRpcmVjdG9yeS5cblx0ICogQHBhcmFtIHBhdGggVGhlIHBhdGggdG8gY2hlY2suXG5cdCAqIEByZXR1cm5zIFRydWUgaWYgaXQncyBhIGRpcmVjdG9yeSwgZmFsc2Ugb3RoZXJ3aXNlLlxuXHQgKi9cblx0cHVibGljIHN0YXRpYyBpc0RpcmVjdG9yeShwYXRoOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gRmlsZXNGYWNhZGUuaXNEaXJlY3RvcnkocGF0aCk7XG5cdH1cblxuXHQvKipcblx0ICogQ2hlY2tzIGlmIHRoZSBwYXRoIHJlZmVycyB0byBhIHJlZ3VsYXIgZmlsZS5cblx0ICogQHBhcmFtIHBhdGggVGhlIHBhdGggdG8gY2hlY2suXG5cdCAqIEByZXR1cm5zIFRydWUgaWYgaXQncyBhIGZpbGUsIGZhbHNlIG90aGVyd2lzZS5cblx0ICovXG5cdHB1YmxpYyBzdGF0aWMgaXNGaWxlKHBhdGg6IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBGaWxlc0ZhY2FkZS5pc0ZpbGUocGF0aCk7XG5cdH1cblxuXHQvKipcblx0ICogQ2hlY2tzIGlmIHR3byBwYXRocyByZWZlciB0byB0aGUgc2FtZSB1bmRlcmx5aW5nIGZpbGUgc3lzdGVtIG9iamVjdC5cblx0ICogQHBhcmFtIHBhdGgxIFRoZSBmaXJzdCBwYXRoLlxuXHQgKiBAcGFyYW0gcGF0aDIgVGhlIHNlY29uZCBwYXRoLlxuXHQgKiBAcmV0dXJucyBUcnVlIGlmIHRoZXkgcmVmZXJlbmNlIHRoZSBzYW1lIGZpbGUvZGlyZWN0b3J5LCBmYWxzZSBvdGhlcndpc2UuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIGlzU2FtZUZpbGUocGF0aDE6IHN0cmluZywgcGF0aDI6IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBGaWxlc0ZhY2FkZS5pc1NhbWVGaWxlKHBhdGgxLCBwYXRoMik7XG5cdH1cblxuXHQvKipcblx0ICogUmV0dXJucyB0aGUgY2Fub25pY2FsIChhYnNvbHV0ZSBhbmQgbm9ybWFsaXplZCkgcGF0aCBmb3IgdGhlIGdpdmVuIHBhdGguXG5cdCAqIEBwYXJhbSBwYXRoIFRoZSBwYXRoIHRvIG5vcm1hbGl6ZS5cblx0ICogQHJldHVybnMgVGhlIGNhbm9uaWNhbCBwYXRoIHN0cmluZy5cblx0ICovXG5cdHB1YmxpYyBzdGF0aWMgZ2V0Q2Fub25pY2FsUGF0aChwYXRoOiBzdHJpbmcpOiBzdHJpbmcge1xuXHRcdHJldHVybiBGaWxlc0ZhY2FkZS5nZXRDYW5vbmljYWxQYXRoKHBhdGgpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldHMgdGhlIHNpbXBsZSBuYW1lIG9mIHRoZSBmaWxlIG9yIGRpcmVjdG9yeSBhdCB0aGUgZ2l2ZW4gcGF0aCAodGhlIGxhc3QgZWxlbWVudCkuXG5cdCAqIEBwYXJhbSBwYXRoIFRoZSBwYXRoLlxuXHQgKiBAcmV0dXJucyBUaGUgbmFtZS5cblx0ICovXG5cdHB1YmxpYyBzdGF0aWMgZ2V0TmFtZShwYXRoOiBzdHJpbmcpOiBzdHJpbmcge1xuXHRcdHJldHVybiBGaWxlc0ZhY2FkZS5nZXROYW1lKHBhdGgpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldHMgdGhlIHBhdGggb2YgdGhlIHBhcmVudCBkaXJlY3RvcnkuXG5cdCAqIEBwYXJhbSBwYXRoIFRoZSBwYXRoLlxuXHQgKiBAcmV0dXJucyBUaGUgcGFyZW50IHBhdGggc3RyaW5nLCBvciBudWxsL2VtcHR5IGlmIG5vbmUgZXhpc3RzLlxuXHQgKi9cblx0cHVibGljIHN0YXRpYyBnZXRQYXJlbnRQYXRoKHBhdGg6IHN0cmluZyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIEZpbGVzRmFjYWRlLmdldFBhcmVudFBhdGgocGF0aCk7XG5cdH1cblxuXHQvKipcblx0ICogUmVhZHMgYWxsIGJ5dGVzIGZyb20gYSBmaWxlIGludG8gYSBKYXZhU2NyaXB0IGJ5dGUgYXJyYXkgKGFuIGFycmF5IG9mIG51bWJlcnMpLlxuXHQgKlxuXHQgKiBOb3RlOiBUaGlzIG1ldGhvZCBhdXRvbWF0aWNhbGx5IGNvbnZlcnRzIHRoZSBuYXRpdmUgSmF2YSBieXRlIGFycmF5IHRvIGFcblx0ICogSmF2YVNjcmlwdCBhcnJheSB1c2luZyBgQnl0ZXMudG9KYXZhU2NyaXB0Qnl0ZXMoKWAuXG5cdCAqIEBwYXJhbSBwYXRoIFRoZSBwYXRoIHRvIHRoZSBmaWxlLlxuXHQgKiBAcmV0dXJucyBBIEphdmFTY3JpcHQgYXJyYXkgb2YgYnl0ZSB2YWx1ZXMuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIHJlYWRCeXRlcyhwYXRoOiBzdHJpbmcpOiBhbnlbXSB7XG5cdFx0Y29uc3QgbmF0aXZlID0gRmlsZXNGYWNhZGUucmVhZEJ5dGVzKHBhdGgpO1xuXHRcdHJldHVybiBCeXRlcy50b0phdmFTY3JpcHRCeXRlcyhuYXRpdmUpO1xuXHR9XG5cblx0LyoqXG5cdCAqIFJlYWRzIGFsbCBieXRlcyBmcm9tIGEgZmlsZSBhbmQgcmV0dXJucyB0aGUgbmF0aXZlIEphdmEgYnl0ZSBhcnJheSBvYmplY3QuXG5cdCAqIEBwYXJhbSBwYXRoIFRoZSBwYXRoIHRvIHRoZSBmaWxlLlxuXHQgKiBAcmV0dXJucyBUaGUgbmF0aXZlIEphdmEgYnl0ZSBhcnJheS5cblx0ICovXG5cdHB1YmxpYyBzdGF0aWMgcmVhZEJ5dGVzTmF0aXZlKHBhdGg6IHN0cmluZyk6IGFueVtdIHtcblx0XHRyZXR1cm4gRmlsZXNGYWNhZGUucmVhZEJ5dGVzKHBhdGgpO1xuXHR9XG5cblx0LyoqXG5cdCAqIFJlYWRzIGFsbCB0ZXh0IGNvbnRlbnQgZnJvbSBhIGZpbGUgdXNpbmcgdGhlIHBsYXRmb3JtJ3MgZGVmYXVsdCBjaGFyYWN0ZXIgZW5jb2RpbmcuXG5cdCAqIEBwYXJhbSBwYXRoIFRoZSBwYXRoIHRvIHRoZSBmaWxlLlxuXHQgKiBAcmV0dXJucyBUaGUgY29udGVudCBvZiB0aGUgZmlsZSBhcyBhIHN0cmluZy5cblx0ICovXG5cdHB1YmxpYyBzdGF0aWMgcmVhZFRleHQocGF0aDogc3RyaW5nKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gRmlsZXNGYWNhZGUucmVhZFRleHQocGF0aCk7XG5cdH1cblxuXHQvKipcblx0ICogV3JpdGVzIHRoZSBjb250ZW50IG9mIGEgSmF2YVNjcmlwdCBieXRlIGFycmF5IHRvIGEgZmlsZS4gT3ZlcndyaXRlcyBleGlzdGluZyBjb250ZW50LlxuXHQgKlxuXHQgKiBOb3RlOiBUaGlzIG1ldGhvZCBhdXRvbWF0aWNhbGx5IGNvbnZlcnRzIHRoZSBKYXZhU2NyaXB0IGFycmF5IHRvIGEgbmF0aXZlXG5cdCAqIEphdmEgYnl0ZSBhcnJheSB1c2luZyBgQnl0ZXMudG9KYXZhQnl0ZXMoKWAgYmVmb3JlIHdyaXRpbmcuXG5cdCAqIEBwYXJhbSBwYXRoIFRoZSBwYXRoIHRvIHRoZSBmaWxlLlxuXHQgKiBAcGFyYW0gZGF0YSBUaGUgSmF2YVNjcmlwdCBhcnJheSBvZiBieXRlIHZhbHVlcyB0byB3cml0ZS5cblx0ICovXG5cdHB1YmxpYyBzdGF0aWMgd3JpdGVCeXRlcyhwYXRoOiBzdHJpbmcsIGRhdGE6IGFueVtdKTogdm9pZCB7XG5cdFx0Y29uc3QgbmF0aXZlID0gQnl0ZXMudG9KYXZhQnl0ZXMoZGF0YSk7XG5cdFx0RmlsZXNGYWNhZGUud3JpdGVCeXRlc05hdGl2ZShwYXRoLCBuYXRpdmUpO1xuXHR9XG5cblx0LyoqXG5cdCAqIFdyaXRlcyB0aGUgY29udGVudCBvZiBhIG5hdGl2ZSBKYXZhIGJ5dGUgYXJyYXkgdG8gYSBmaWxlLiBPdmVyd3JpdGVzIGV4aXN0aW5nIGNvbnRlbnQuXG5cdCAqIEBwYXJhbSBwYXRoIFRoZSBwYXRoIHRvIHRoZSBmaWxlLlxuXHQgKiBAcGFyYW0gZGF0YSBUaGUgbmF0aXZlIEphdmEgYnl0ZSBhcnJheSB0byB3cml0ZS5cblx0ICovXG5cdHB1YmxpYyBzdGF0aWMgd3JpdGVCeXRlc05hdGl2ZShwYXRoOiBzdHJpbmcsIGRhdGE6IGFueVtdKTogdm9pZCB7XG5cdFx0RmlsZXNGYWNhZGUud3JpdGVCeXRlc05hdGl2ZShwYXRoLCBkYXRhKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBXcml0ZXMgYSBzdHJpbmcgb2YgdGV4dCB0byBhIGZpbGUgdXNpbmcgdGhlIHBsYXRmb3JtJ3MgZGVmYXVsdCBjaGFyYWN0ZXIgZW5jb2RpbmcuIE92ZXJ3cml0ZXMgZXhpc3RpbmcgY29udGVudC5cblx0ICogQHBhcmFtIHBhdGggVGhlIHBhdGggdG8gdGhlIGZpbGUuXG5cdCAqIEBwYXJhbSB0ZXh0IFRoZSBzdHJpbmcgY29udGVudCB0byB3cml0ZS5cblx0ICovXG5cdHB1YmxpYyBzdGF0aWMgd3JpdGVUZXh0KHBhdGg6IHN0cmluZywgdGV4dDogc3RyaW5nKTogdm9pZCB7XG5cdFx0RmlsZXNGYWNhZGUud3JpdGVUZXh0KHBhdGgsIHRleHQpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldHMgdGhlIGxhc3QgbW9kaWZpZWQgdGltZSBvZiB0aGUgZmlsZSBvciBkaXJlY3RvcnkuXG5cdCAqIEBwYXJhbSBwYXRoIFRoZSBwYXRoIHRvIHRoZSBmaWxlIG9yIGRpcmVjdG9yeS5cblx0ICogQHJldHVybnMgQSBKYXZhU2NyaXB0IERhdGUgb2JqZWN0IHJlcHJlc2VudGluZyB0aGUgbGFzdCBtb2RpZmllZCB0aW1lLlxuXHQgKi9cblx0cHVibGljIHN0YXRpYyBnZXRMYXN0TW9kaWZpZWQocGF0aDogc3RyaW5nKTogRGF0ZSB7XG5cdFx0cmV0dXJuIG5ldyBEYXRlKEZpbGVzRmFjYWRlLmdldExhc3RNb2RpZmllZChwYXRoKSk7XG5cdH1cblxuXHQvKipcblx0ICogU2V0cyB0aGUgbGFzdCBtb2RpZmllZCB0aW1lIG9mIHRoZSBmaWxlIG9yIGRpcmVjdG9yeS5cblx0ICogQHBhcmFtIHBhdGggVGhlIHBhdGggdG8gdGhlIGZpbGUgb3IgZGlyZWN0b3J5LlxuXHQgKiBAcGFyYW0gdGltZSBUaGUgbmV3IERhdGUgb2JqZWN0IHRvIHNldCBhcyB0aGUgbGFzdCBtb2RpZmllZCB0aW1lLlxuXHQgKi9cblx0cHVibGljIHN0YXRpYyBzZXRMYXN0TW9kaWZpZWQocGF0aDogc3RyaW5nLCB0aW1lOiBEYXRlKTogdm9pZCB7XG5cdFx0RmlsZXNGYWNhZGUuc2V0TGFzdE1vZGlmaWVkKHBhdGgsIHRpbWUuZ2V0VGltZSgpKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIHRoZSBvd25lciBvZiB0aGUgZmlsZSBvciBkaXJlY3RvcnkuXG5cdCAqIEBwYXJhbSBwYXRoIFRoZSBwYXRoIHRvIHRoZSBmaWxlIG9yIGRpcmVjdG9yeS5cblx0ICogQHJldHVybnMgVGhlIG93bmVyIG5hbWUgYXMgYSBzdHJpbmcuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIGdldE93bmVyKHBhdGg6IHN0cmluZyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIEZpbGVzRmFjYWRlLmdldE93bmVyKHBhdGgpO1xuXHR9XG5cblx0LyoqXG5cdCAqIFNldHMgdGhlIG93bmVyIG9mIHRoZSBmaWxlIG9yIGRpcmVjdG9yeS5cblx0ICogQHBhcmFtIHBhdGggVGhlIHBhdGggdG8gdGhlIGZpbGUgb3IgZGlyZWN0b3J5LlxuXHQgKiBAcGFyYW0gb3duZXIgVGhlIG5ldyBvd25lciBuYW1lLlxuXHQgKi9cblx0cHVibGljIHN0YXRpYyBzZXRPd25lcihwYXRoOiBzdHJpbmcsIG93bmVyOiBzdHJpbmcpOiB2b2lkIHtcblx0XHRGaWxlc0ZhY2FkZS5zZXRPd25lcihwYXRoLCBvd25lcik7XG5cdH1cblxuXHQvKipcblx0ICogR2V0cyB0aGUgcGVybWlzc2lvbnMgc3RyaW5nIGZvciB0aGUgZmlsZSBvciBkaXJlY3RvcnkgKGltcGxlbWVudGF0aW9uIGRlcGVuZGVudCkuXG5cdCAqIEBwYXJhbSBwYXRoIFRoZSBwYXRoIHRvIHRoZSBmaWxlIG9yIGRpcmVjdG9yeS5cblx0ICogQHJldHVybnMgVGhlIHBlcm1pc3Npb25zIHN0cmluZy5cblx0ICovXG5cdHB1YmxpYyBzdGF0aWMgZ2V0UGVybWlzc2lvbnMocGF0aDogc3RyaW5nKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gRmlsZXNGYWNhZGUuZ2V0UGVybWlzc2lvbnMocGF0aCk7XG5cdH1cblxuXHQvKipcblx0ICogU2V0cyB0aGUgcGVybWlzc2lvbnMgZm9yIHRoZSBmaWxlIG9yIGRpcmVjdG9yeSAoaW1wbGVtZW50YXRpb24gZGVwZW5kZW50KS5cblx0ICogQHBhcmFtIHBhdGggVGhlIHBhdGggdG8gdGhlIGZpbGUgb3IgZGlyZWN0b3J5LlxuXHQgKiBAcGFyYW0gcGVybWlzc2lvbnMgVGhlIHBlcm1pc3Npb25zIHN0cmluZy5cblx0ICovXG5cdHB1YmxpYyBzdGF0aWMgc2V0UGVybWlzc2lvbnMocGF0aDogc3RyaW5nLCBwZXJtaXNzaW9uczogc3RyaW5nKTogdm9pZCB7XG5cdFx0RmlsZXNGYWNhZGUuc2V0UGVybWlzc2lvbnMocGF0aCwgcGVybWlzc2lvbnMpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldHMgdGhlIHNpemUgb2YgdGhlIGZpbGUgaW4gYnl0ZXMuXG5cdCAqIEBwYXJhbSBwYXRoIFRoZSBwYXRoIHRvIHRoZSBmaWxlLlxuXHQgKiBAcmV0dXJucyBUaGUgc2l6ZSBpbiBieXRlcy5cblx0ICovXG5cdHB1YmxpYyBzdGF0aWMgc2l6ZShwYXRoOiBzdHJpbmcpOiBudW1iZXIge1xuXHRcdHJldHVybiBGaWxlc0ZhY2FkZS5zaXplKHBhdGgpO1xuXHR9XG5cblx0LyoqXG5cdCAqIENyZWF0ZXMgYSBuZXcsIGVtcHR5IGZpbGUgYXQgdGhlIHNwZWNpZmllZCBwYXRoLlxuXHQgKiBAcGFyYW0gcGF0aCBUaGUgcGF0aCB3aGVyZSB0aGUgZmlsZSBzaG91bGQgYmUgY3JlYXRlZC5cblx0ICovXG5cdHB1YmxpYyBzdGF0aWMgY3JlYXRlRmlsZShwYXRoOiBzdHJpbmcpOiB2b2lkIHtcblx0XHRGaWxlc0ZhY2FkZS5jcmVhdGVGaWxlKHBhdGgpO1xuXHR9XG5cblx0LyoqXG5cdCAqIENyZWF0ZXMgYSBuZXcgZGlyZWN0b3J5IGF0IHRoZSBzcGVjaWZpZWQgcGF0aC5cblx0ICogQHBhcmFtIHBhdGggVGhlIHBhdGggd2hlcmUgdGhlIGRpcmVjdG9yeSBzaG91bGQgYmUgY3JlYXRlZC5cblx0ICovXG5cdHB1YmxpYyBzdGF0aWMgY3JlYXRlRGlyZWN0b3J5KHBhdGg6IHN0cmluZyk6IHZvaWQge1xuXHRcdEZpbGVzRmFjYWRlLmNyZWF0ZURpcmVjdG9yeShwYXRoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBDb3BpZXMgYSBmaWxlIG9yIGRpcmVjdG9yeSBmcm9tIGEgc291cmNlIHBhdGggdG8gYSB0YXJnZXQgcGF0aC5cblx0ICogQHBhcmFtIHNvdXJjZSBUaGUgc291cmNlIHBhdGguXG5cdCAqIEBwYXJhbSB0YXJnZXQgVGhlIHRhcmdldCBwYXRoLlxuXHQgKi9cblx0cHVibGljIHN0YXRpYyBjb3B5KHNvdXJjZTogc3RyaW5nLCB0YXJnZXQ6IHN0cmluZyk6IHZvaWQge1xuXHRcdEZpbGVzRmFjYWRlLmNvcHkoc291cmNlLCB0YXJnZXQpO1xuXHR9XG5cblx0LyoqXG5cdCAqIE1vdmVzIG9yIHJlbmFtZXMgYSBmaWxlIG9yIGRpcmVjdG9yeS5cblx0ICogQHBhcmFtIHNvdXJjZSBUaGUgc291cmNlIHBhdGguXG5cdCAqIEBwYXJhbSB0YXJnZXQgVGhlIHRhcmdldCBwYXRoLlxuXHQgKi9cblx0cHVibGljIHN0YXRpYyBtb3ZlKHNvdXJjZTogc3RyaW5nLCB0YXJnZXQ6IHN0cmluZyk6IHZvaWQge1xuXHRcdEZpbGVzRmFjYWRlLm1vdmUoc291cmNlLCB0YXJnZXQpO1xuXHR9XG5cblx0LyoqXG5cdCAqIERlbGV0ZXMgdGhlIGZpbGUgYXQgdGhlIHNwZWNpZmllZCBwYXRoLlxuXHQgKiBAcGFyYW0gcGF0aCBUaGUgcGF0aCB0byB0aGUgZmlsZSB0byBkZWxldGUuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIGRlbGV0ZUZpbGUocGF0aDogc3RyaW5nKTogdm9pZCB7XG5cdFx0RmlsZXNGYWNhZGUuZGVsZXRlRmlsZShwYXRoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBEZWxldGVzIHRoZSBkaXJlY3RvcnkgYXQgdGhlIHNwZWNpZmllZCBwYXRoLlxuXHQgKiBAcGFyYW0gcGF0aCBUaGUgcGF0aCB0byB0aGUgZGlyZWN0b3J5IHRvIGRlbGV0ZS5cblx0ICogQHBhcmFtIGZvcmNlZCBJZiB0cnVlLCByZWN1cnNpdmVseSBkZWxldGVzIHRoZSBkaXJlY3RvcnkgYW5kIGl0cyBjb250ZW50cy5cblx0ICovXG5cdHB1YmxpYyBzdGF0aWMgZGVsZXRlRGlyZWN0b3J5KHBhdGg6IHN0cmluZywgZm9yY2VkPzogYm9vbGVhbik6IHZvaWQge1xuXHRcdEZpbGVzRmFjYWRlLmRlbGV0ZURpcmVjdG9yeShwYXRoLCBmb3JjZWQpO1xuXHR9XG5cblx0LyoqXG5cdCAqIENyZWF0ZXMgYSBuZXcgdGVtcG9yYXJ5IGZpbGUgd2l0aCB0aGUgZ2l2ZW4gcHJlZml4IGFuZCBzdWZmaXguXG5cdCAqIEBwYXJhbSBwcmVmaXggVGhlIHByZWZpeCBzdHJpbmcgdG8gYmUgdXNlZCBpbiBnZW5lcmF0aW5nIHRoZSBmaWxlJ3MgbmFtZS5cblx0ICogQHBhcmFtIHN1ZmZpeCBUaGUgc3VmZml4IHN0cmluZyB0byBiZSB1c2VkIGluIGdlbmVyYXRpbmcgdGhlIGZpbGUncyBuYW1lLlxuXHQgKiBAcmV0dXJucyBUaGUgcGF0aCBvZiB0aGUgY3JlYXRlZCB0ZW1wb3JhcnkgZmlsZS5cblx0ICovXG5cdHB1YmxpYyBzdGF0aWMgY3JlYXRlVGVtcEZpbGUocHJlZml4OiBzdHJpbmcsIHN1ZmZpeDogc3RyaW5nKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gRmlsZXNGYWNhZGUuY3JlYXRlVGVtcEZpbGUocHJlZml4LCBzdWZmaXgpO1xuXHR9XG5cblx0LyoqXG5cdCAqIENyZWF0ZXMgYSBuZXcgdGVtcG9yYXJ5IGRpcmVjdG9yeSB3aXRoIHRoZSBnaXZlbiBwcmVmaXguXG5cdCAqIEBwYXJhbSBwcmVmaXggVGhlIHByZWZpeCBzdHJpbmcgdG8gYmUgdXNlZCBpbiBnZW5lcmF0aW5nIHRoZSBkaXJlY3RvcnkncyBuYW1lLlxuXHQgKiBAcmV0dXJucyBUaGUgcGF0aCBvZiB0aGUgY3JlYXRlZCB0ZW1wb3JhcnkgZGlyZWN0b3J5LlxuXHQgKi9cblx0cHVibGljIHN0YXRpYyBjcmVhdGVUZW1wRGlyZWN0b3J5KHByZWZpeDogc3RyaW5nKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gRmlsZXNGYWNhZGUuY3JlYXRlVGVtcERpcmVjdG9yeShwcmVmaXgpO1xuXHR9XG5cblx0LyoqXG5cdCAqIENyZWF0ZXMgYW5kIHJldHVybnMgYSBuZXcge0BsaW5rIElucHV0U3RyZWFtfSBmb3IgcmVhZGluZyBkYXRhIGZyb20gdGhlIGZpbGUuXG5cdCAqIEBwYXJhbSBwYXRoIFRoZSBwYXRoIHRvIHRoZSBmaWxlLlxuXHQgKiBAcmV0dXJucyBBIG5ldyBJbnB1dFN0cmVhbSBpbnN0YW5jZS5cblx0ICovXG5cdHB1YmxpYyBzdGF0aWMgY3JlYXRlSW5wdXRTdHJlYW0ocGF0aDogc3RyaW5nKTogSW5wdXRTdHJlYW0ge1xuXHRcdGNvbnN0IG5hdGl2ZSA9IEZpbGVzRmFjYWRlLmNyZWF0ZUlucHV0U3RyZWFtKHBhdGgpO1xuXHRcdHJldHVybiBuZXcgSW5wdXRTdHJlYW0obmF0aXZlKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBDcmVhdGVzIGFuZCByZXR1cm5zIGEgbmV3IHtAbGluayBPdXRwdXRTdHJlYW19IGZvciB3cml0aW5nIGRhdGEgdG8gdGhlIGZpbGUuXG5cdCAqIEBwYXJhbSBwYXRoIFRoZSBwYXRoIHRvIHRoZSBmaWxlLlxuXHQgKiBAcmV0dXJucyBBIG5ldyBPdXRwdXRTdHJlYW0gaW5zdGFuY2UuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIGNyZWF0ZU91dHB1dFN0cmVhbShwYXRoOiBzdHJpbmcpOiBPdXRwdXRTdHJlYW0ge1xuXHRcdGNvbnN0IG5hdGl2ZSA9IEZpbGVzRmFjYWRlLmNyZWF0ZU91dHB1dFN0cmVhbShwYXRoKTtcblx0XHRyZXR1cm4gbmV3IE91dHB1dFN0cmVhbShuYXRpdmUpO1xuXHR9XG5cblx0LyoqXG5cdCAqIFRyYXZlcnNlcyBhIGRpcmVjdG9yeSBhbmQgcmV0dXJucyBhIHN0cnVjdHVyZWQge0BsaW5rIEZvbGRlck9iamVjdH0gaGllcmFyY2h5LlxuXHQgKiBAcGFyYW0gcGF0aCBUaGUgcGF0aCB0byB0aGUgZm9sZGVyIHRvIHRyYXZlcnNlLlxuXHQgKiBAcmV0dXJucyBUaGUgcm9vdCBGb2xkZXJPYmplY3QgY29udGFpbmluZyB0aGUgZmlsZSBzeXN0ZW0gdHJlZSBzdHJ1Y3R1cmUuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIHRyYXZlcnNlKHBhdGg6IHN0cmluZyk6IEZvbGRlck9iamVjdFtdIHtcblx0XHRyZXR1cm4gSlNPTi5wYXJzZShGaWxlc0ZhY2FkZS50cmF2ZXJzZShwYXRoKSk7XG5cdH1cblxuXHQvKipcblx0ICogTGlzdHMgdGhlIGRpcmVjdCBjaGlsZHJlbiAoZmlsZXMgYW5kIGZvbGRlcnMpIG9mIGEgZGlyZWN0b3J5LCByZXR1cm5pbmcgb25seSB0aGVpciBwYXRocy5cblx0ICogQHBhcmFtIHBhdGggVGhlIHBhdGggdG8gdGhlIGRpcmVjdG9yeS5cblx0ICogQHJldHVybnMgQW4gYXJyYXkgb2Ygc3RyaW5nIHBhdGhzIGZvciB0aGUgY29udGVudHMgb2YgdGhlIGRpcmVjdG9yeS5cblx0ICovXG5cdHB1YmxpYyBzdGF0aWMgbGlzdChwYXRoOiBzdHJpbmcpOiBzdHJpbmdbXSB7XG5cdFx0Ly8gVGhlIG5hdGl2ZSBmYWNhZGUgcmV0dXJucyBhIEpTT04gYXJyYXkgb2Ygb2JqZWN0cywgd2hpY2ggaXMgdGhlbiBtYXBwZWQgdG8gYW4gYXJyYXkgb2YgcGF0aHMuXG5cdFx0cmV0dXJuIEpTT04ucGFyc2UoRmlsZXNGYWNhZGUubGlzdChwYXRoKSkubWFwKGUgPT4gZS5wYXRoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBGaW5kcyBmaWxlcyBhbmQgZGlyZWN0b3JpZXMgbWF0Y2hpbmcgYSBzcGVjaWZpZWQgZ2xvYiBwYXR0ZXJuIHdpdGhpbiBhIGRpcmVjdG9yeSB0cmVlLlxuXHQgKiBAcGFyYW0gcGF0aCBUaGUgc3RhcnRpbmcgcGF0aCBmb3IgdGhlIHNlYXJjaC5cblx0ICogQHBhcmFtIHBhdHRlcm4gVGhlIGdsb2IgcGF0dGVybiB0byBtYXRjaCAoZS5nLiwgXCIqLmpzXCIsIFwiKioudHh0XCIpLlxuXHQgKiBAcmV0dXJucyBBbiBhcnJheSBvZiBzdHJpbmcgcGF0aHMgdGhhdCBtYXRjaCB0aGUgcGF0dGVybi5cblx0ICovXG5cdHB1YmxpYyBzdGF0aWMgZmluZChwYXRoOiBzdHJpbmcsIHBhdHRlcm46IHN0cmluZyk6IHN0cmluZ1tdIHtcblx0XHRyZXR1cm4gSlNPTi5wYXJzZShGaWxlc0ZhY2FkZS5maW5kKHBhdGgsIHBhdHRlcm4pKTtcblx0fVxufVxuXG4vLyBAdHMtaWdub3JlXG5pZiAodHlwZW9mIG1vZHVsZSAhPT0gJ3VuZGVmaW5lZCcpIHtcblx0Ly8gQHRzLWlnbm9yZVxuXHRtb2R1bGUuZXhwb3J0cyA9IEZpbGVzO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIkFBSUEsU0FBUyxhQUFhLG9CQUFvQjtBQUMxQyxTQUFTLGFBQWE7QUFFdEIsTUFBTSxjQUFjLEtBQUssS0FBSyxxREFBcUQ7QUFDbkYsTUFBTSxPQUFPLEtBQUssS0FBSyxjQUFjO0FBMEI5QixNQUFNLE1BQU07QUFBQSxFQUtsQjtBQUFBO0FBQUE7QUFBQTtBQUFBLFNBQXVCLFlBQW9CLEtBQUs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU9oRCxPQUFjLE9BQU8sTUFBdUI7QUFDM0MsV0FBTyxZQUFZLE9BQU8sSUFBSTtBQUFBLEVBQy9CO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBT0EsT0FBYyxhQUFhLE1BQXVCO0FBQ2pELFdBQU8sWUFBWSxhQUFhLElBQUk7QUFBQSxFQUNyQztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU9BLE9BQWMsV0FBVyxN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
@@ -0,0 +1,24 @@
1
+ import { InputStream } from "@aerokit/sdk/io/streams";
2
+ const ImageFacade = Java.type("org.eclipse.dirigible.components.api.io.ImageFacade");
3
+ class Image {
4
+ /**
5
+ * Resizes an image contained within an InputStream to the specified dimensions.
6
+ *
7
+ * @param original The InputStream containing the original image data.
8
+ * @param type The target format of the resized image (e.g., "png", "jpeg", "gif").
9
+ * @param width The target width in pixels.
10
+ * @param height The target height in pixels.
11
+ * @returns A new InputStream containing the resized image data in the specified format.
12
+ */
13
+ static resize(original, type, width, height) {
14
+ const native = ImageFacade.resize(original.native, type, width, height);
15
+ return new InputStream(native);
16
+ }
17
+ }
18
+ if (typeof module !== "undefined") {
19
+ module.exports = Image;
20
+ }
21
+ export {
22
+ Image
23
+ };
24
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2lvL2ltYWdlLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIFByb3ZpZGVzIGEgc3RhdGljIGZhXHUwMEU3YWRlIGZvciBpbWFnZSBtYW5pcHVsYXRpb24gb3BlcmF0aW9ucyxcbiAqIHByaW1hcmlseSBmb2N1c2luZyBvbiByZXNpemluZyBpbWFnZSBzdHJlYW1zLlxuICovXG5pbXBvcnQgeyBJbnB1dFN0cmVhbSB9IGZyb20gXCJAYWVyb2tpdC9zZGsvaW8vc3RyZWFtc1wiO1xuXG5jb25zdCBJbWFnZUZhY2FkZSA9IEphdmEudHlwZShcIm9yZy5lY2xpcHNlLmRpcmlnaWJsZS5jb21wb25lbnRzLmFwaS5pby5JbWFnZUZhY2FkZVwiKTtcblxuLyoqXG4gKiBUaGUgSW1hZ2UgY2xhc3MgcHJvdmlkZXMgc3RhdGljIG1ldGhvZHMgZm9yIGNvbW1vbiBpbWFnZSBwcm9jZXNzaW5nIHRhc2tzLlxuICogQWxsIG1ldGhvZHMgb3BlcmF0ZSBvbiBhbmQgcmV0dXJuIHtAbGluayBJbnB1dFN0cmVhbX0gb2JqZWN0cywgbWFraW5nIHRoZW1cbiAqIHN1aXRhYmxlIGZvciBwaXBpbmcgaW1hZ2UgZGF0YSB0aHJvdWdoIHRoZSBmaWxlIHN5c3RlbSBvciBuZXR3b3JrLlxuICovXG5leHBvcnQgY2xhc3MgSW1hZ2Uge1xuXG5cdC8qKlxuXHQgKiBSZXNpemVzIGFuIGltYWdlIGNvbnRhaW5lZCB3aXRoaW4gYW4gSW5wdXRTdHJlYW0gdG8gdGhlIHNwZWNpZmllZCBkaW1lbnNpb25zLlxuXHQgKlxuXHQgKiBAcGFyYW0gb3JpZ2luYWwgVGhlIElucHV0U3RyZWFtIGNvbnRhaW5pbmcgdGhlIG9yaWdpbmFsIGltYWdlIGRhdGEuXG5cdCAqIEBwYXJhbSB0eXBlIFRoZSB0YXJnZXQgZm9ybWF0IG9mIHRoZSByZXNpemVkIGltYWdlIChlLmcuLCBcInBuZ1wiLCBcImpwZWdcIiwgXCJnaWZcIikuXG5cdCAqIEBwYXJhbSB3aWR0aCBUaGUgdGFyZ2V0IHdpZHRoIGluIHBpeGVscy5cblx0ICogQHBhcmFtIGhlaWdodCBUaGUgdGFyZ2V0IGhlaWdodCBpbiBwaXhlbHMuXG5cdCAqIEByZXR1cm5zIEEgbmV3IElucHV0U3RyZWFtIGNvbnRhaW5pbmcgdGhlIHJlc2l6ZWQgaW1hZ2UgZGF0YSBpbiB0aGUgc3BlY2lmaWVkIGZvcm1hdC5cblx0ICovXG5cdHB1YmxpYyBzdGF0aWMgcmVzaXplKG9yaWdpbmFsOiBJbnB1dFN0cmVhbSwgdHlwZTogc3RyaW5nLCB3aWR0aDogbnVtYmVyLCBoZWlnaHQ6IG51bWJlcik6IElucHV0U3RyZWFtIHtcblx0XHQvLyBEZWxlZ2F0ZXMgdGhlIHJlc2l6aW5nIG9wZXJhdGlvbiB0byB0aGUgbmF0aXZlIEphdmEgZmFjYWRlLCB1c2luZyB0aGUgbmF0aXZlIHN0cmVhbSBvYmplY3QuXG5cdFx0Y29uc3QgbmF0aXZlID0gSW1hZ2VGYWNhZGUucmVzaXplKG9yaWdpbmFsLm5hdGl2ZSwgdHlwZSwgd2lkdGgsIGhlaWdodCk7XG5cdFx0Ly8gV3JhcHMgdGhlIHJlc3VsdGluZyBuYXRpdmUgc3RyZWFtIG9iamVjdCBiYWNrIGludG8gYSBKYXZhU2NyaXB0IElucHV0U3RyZWFtIGluc3RhbmNlLlxuXHRcdHJldHVybiBuZXcgSW5wdXRTdHJlYW0obmF0aXZlKTtcblx0fVxufVxuXG4vLyBAdHMtaWdub3JlXG5pZiAodHlwZW9mIG1vZHVsZSAhPT0gJ3VuZGVmaW5lZCcpIHtcblx0Ly8gQHRzLWlnbm9yZVxuXHRtb2R1bGUuZXhwb3J0cyA9IEltYWdlO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIkFBSUEsU0FBUyxtQkFBbUI7QUFFNUIsTUFBTSxjQUFjLEtBQUssS0FBSyxxREFBcUQ7QUFPNUUsTUFBTSxNQUFNO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFXbEIsT0FBYyxPQUFPLFVBQXVCLE1BQWMsT0FBZSxRQUE2QjtBQUVyRyxVQUFNLFNBQVMsWUFBWSxPQUFPLFNBQVMsUUFBUSxNQUFNLE9BQU8sTUFBTTtBQUV0RSxXQUFPLElBQUksWUFBWSxNQUFNO0FBQUEsRUFDOUI7QUFDRDtBQUdBLElBQUksT0FBTyxXQUFXLGFBQWE7QUFFbEMsU0FBTyxVQUFVO0FBQ2xCOyIsCiAgIm5hbWVzIjogW10KfQo=
@@ -0,0 +1,18 @@
1
+ export * from "./bytes";
2
+ import { Bytes } from "./bytes";
3
+ export * from "./files";
4
+ import { Files } from "./files";
5
+ export * from "./image";
6
+ import { Image } from "./image";
7
+ export * from "./streams";
8
+ import { Streams } from "./streams";
9
+ export * from "./zip";
10
+ import { Zip } from "./zip";
11
+ export {
12
+ Bytes as bytes,
13
+ Files as files,
14
+ Image as image,
15
+ Streams as streams,
16
+ Zip as zip
17
+ };
18
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2lvL2luZGV4LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJleHBvcnQgKiBmcm9tIFwiLi9ieXRlc1wiO1xuZXhwb3J0IHsgQnl0ZXMgYXMgYnl0ZXMgfSBmcm9tIFwiLi9ieXRlc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vZmlsZXNcIjtcbmV4cG9ydCB7IEZpbGVzIGFzIGZpbGVzIH0gZnJvbSBcIi4vZmlsZXNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2ltYWdlXCI7XG5leHBvcnQgeyBJbWFnZSBhcyBpbWFnZSB9IGZyb20gXCIuL2ltYWdlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zdHJlYW1zXCI7XG5leHBvcnQgeyBTdHJlYW1zIGFzIHN0cmVhbXMgfSBmcm9tIFwiLi9zdHJlYW1zXCI7XG5leHBvcnQgKiBmcm9tIFwiLi96aXBcIjtcbmV4cG9ydCB7IFppcCBhcyB6aXAgfSBmcm9tIFwiLi96aXBcIjtcbiJdLAogICJtYXBwaW5ncyI6ICJBQUFBLGNBQWM7QUFDZCxTQUFrQixhQUFhO0FBQy9CLGNBQWM7QUFDZCxTQUFrQixhQUFhO0FBQy9CLGNBQWM7QUFDZCxTQUFrQixhQUFhO0FBQy9CLGNBQWM7QUFDZCxTQUFvQixlQUFlO0FBQ25DLGNBQWM7QUFDZCxTQUFnQixXQUFXOyIsCiAgIm5hbWVzIjogW10KfQo=
@@ -0,0 +1,224 @@
1
+ import { Bytes } from "@aerokit/sdk/io/bytes";
2
+ const StreamsFacade = Java.type("org.eclipse.dirigible.components.api.io.StreamsFacade");
3
+ class Streams {
4
+ /**
5
+ * Copies all bytes from the input stream to the output stream.
6
+ * This method is generally used for smaller streams.
7
+ *
8
+ * @param input The source {@link InputStream}.
9
+ * @param output The destination {@link OutputStream}.
10
+ */
11
+ static copy(input, output) {
12
+ StreamsFacade.copy(input.native, output.native);
13
+ }
14
+ /**
15
+ * Copies all bytes from the input stream to the output stream using a large buffer,
16
+ * suitable for large file transfers.
17
+ *
18
+ * @param input The source {@link InputStream}.
19
+ * @param output The destination {@link OutputStream}.
20
+ */
21
+ static copyLarge(input, output) {
22
+ StreamsFacade.copyLarge(input.native, output.native);
23
+ }
24
+ /**
25
+ * Creates a new {@link InputStream} from a resource accessible via the class loader.
26
+ * This is typically used to read bundled resources within the application runtime.
27
+ *
28
+ * @param path The path to the resource.
29
+ * @returns A new {@link InputStream} instance for the resource.
30
+ */
31
+ static getResourceAsByteArrayInputStream(path) {
32
+ const native = StreamsFacade.getResourceAsByteArrayInputStream(path);
33
+ return new InputStream(native);
34
+ }
35
+ /**
36
+ * Creates a new {@link InputStream} from a JavaScript byte array (`any[]`).
37
+ *
38
+ * @param data The JavaScript array of byte values (`number[]`).
39
+ * @returns A new {@link InputStream} instance initialized with the byte data.
40
+ */
41
+ static createByteArrayInputStream(data) {
42
+ const array = Bytes.toJavaBytes(data);
43
+ const native = StreamsFacade.createByteArrayInputStream(array);
44
+ return new InputStream(native);
45
+ }
46
+ /**
47
+ * Creates a new {@link OutputStream} that writes data into an in-memory byte array.
48
+ * This is typically used as a buffer to capture output before processing it.
49
+ *
50
+ * @returns A new {@link OutputStream} instance backed by a byte array.
51
+ */
52
+ static createByteArrayOutputStream() {
53
+ const native = StreamsFacade.createByteArrayOutputStream();
54
+ return new OutputStream(native);
55
+ }
56
+ /**
57
+ * Wraps a native (Java) InputStream object into a new JavaScript {@link InputStream} instance.
58
+ *
59
+ * @param native The underlying native InputStream object.
60
+ * @returns A new {@link InputStream} wrapper.
61
+ */
62
+ static createInputStream(native) {
63
+ const inputStream = new InputStream(native);
64
+ return inputStream;
65
+ }
66
+ /**
67
+ * Wraps a native (Java) OutputStream object into a new JavaScript {@link OutputStream} instance.
68
+ *
69
+ * Note: This method is not static in the original definition, but is placed here for completeness
70
+ * and consistency with other factory methods.
71
+ *
72
+ * @param native The underlying native OutputStream object.
73
+ * @returns A new {@link OutputStream} wrapper.
74
+ */
75
+ createOutputStream(native) {
76
+ const outputStream = new OutputStream(native);
77
+ return outputStream;
78
+ }
79
+ }
80
+ class InputStream {
81
+ /**
82
+ * @param native The native Java InputStream object.
83
+ */
84
+ constructor(native) {
85
+ this.native = native;
86
+ }
87
+ /**
88
+ * Reads the next byte of data from this input stream.
89
+ * @returns The next byte of data, or -1 if the end of the stream is reached.
90
+ */
91
+ read() {
92
+ return StreamsFacade.read(this.native);
93
+ }
94
+ /**
95
+ * Reads all remaining bytes from the stream and returns them as a JavaScript array.
96
+ *
97
+ * @returns A JavaScript array (`number[]`) of the byte values.
98
+ */
99
+ readBytes() {
100
+ const native = StreamsFacade.readBytes(this.native);
101
+ return Bytes.toJavaScriptBytes(native);
102
+ }
103
+ /**
104
+ * Reads all remaining bytes from the stream and returns the native Java byte array.
105
+ *
106
+ * @returns The native Java byte array object.
107
+ */
108
+ readBytesNative() {
109
+ return StreamsFacade.readBytes(this.native);
110
+ }
111
+ /**
112
+ * Reads all remaining bytes from the stream and converts them to a string
113
+ * using the platform's default character encoding.
114
+ *
115
+ * @returns The content of the stream as a string.
116
+ */
117
+ readText() {
118
+ return StreamsFacade.readText(this.native);
119
+ }
120
+ /**
121
+ * Closes this input stream and releases any system resources associated with it.
122
+ */
123
+ close() {
124
+ StreamsFacade.close(this.native);
125
+ }
126
+ /**
127
+ * Checks if the underlying native stream object is defined and non-null.
128
+ * @returns True if the stream is valid, false otherwise.
129
+ */
130
+ isValid() {
131
+ return this.native !== void 0 && this.native !== null;
132
+ }
133
+ }
134
+ class OutputStream {
135
+ /**
136
+ * @param native The native Java OutputStream object.
137
+ */
138
+ constructor(native) {
139
+ this.native = native;
140
+ }
141
+ /**
142
+ * Writes the specified byte to this output stream.
143
+ * @param byte The byte (as a number 0-255) to write.
144
+ */
145
+ write(byte) {
146
+ StreamsFacade.write(this.native, byte);
147
+ }
148
+ /**
149
+ * Writes the entire content of a JavaScript byte array to this output stream.
150
+ *
151
+ * @param data The JavaScript array (`number[]`) of byte values to write.
152
+ */
153
+ writeBytes(data) {
154
+ const native = Bytes.toJavaBytes(data);
155
+ StreamsFacade.writeBytes(this.native, native);
156
+ }
157
+ /**
158
+ * Writes the entire content of a native Java byte array to this output stream.
159
+ *
160
+ * @param data The native Java byte array object to write.
161
+ */
162
+ writeBytesNative(data) {
163
+ StreamsFacade.writeBytes(this.native, data);
164
+ }
165
+ /**
166
+ * Converts the string to bytes using the platform's default character encoding
167
+ * and writes them to this output stream.
168
+ *
169
+ * @param text The string content to write.
170
+ */
171
+ writeText(text) {
172
+ StreamsFacade.writeText(this.native, text);
173
+ }
174
+ /**
175
+ * Closes this output stream and releases any system resources associated with it.
176
+ */
177
+ close() {
178
+ StreamsFacade.close(this.native);
179
+ }
180
+ /**
181
+ * Retrieves the content written to this stream as a JavaScript byte array.
182
+ * This is typically used with a ByteArrayOutputStream.
183
+ *
184
+ * @returns A JavaScript array (`number[]`) of the byte values written to the stream.
185
+ */
186
+ getBytes() {
187
+ const native = StreamsFacade.getBytes(this.native);
188
+ return Bytes.toJavaScriptBytes(native);
189
+ }
190
+ /**
191
+ * Retrieves the content written to this stream as the native Java byte array.
192
+ * This is typically used with a ByteArrayOutputStream.
193
+ *
194
+ * @returns The native Java byte array object.
195
+ */
196
+ getBytesNative() {
197
+ return StreamsFacade.getBytes(this.native);
198
+ }
199
+ /**
200
+ * Retrieves the content written to this stream as a string using the platform's
201
+ * default character encoding. This is typically used with a ByteArrayOutputStream.
202
+ *
203
+ * @returns The content of the stream as a string.
204
+ */
205
+ getText() {
206
+ return StreamsFacade.getText(this.native);
207
+ }
208
+ /**
209
+ * Checks if the underlying native stream object is defined and non-null.
210
+ * @returns True if the stream is valid, false otherwise.
211
+ */
212
+ isValid() {
213
+ return this.native !== void 0 && this.native !== null;
214
+ }
215
+ }
216
+ if (typeof module !== "undefined") {
217
+ module.exports = Streams;
218
+ }
219
+ export {
220
+ InputStream,
221
+ OutputStream,
222
+ Streams
223
+ };
224
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2lvL3N0cmVhbXMudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogUHJvdmlkZXMgY29yZSBmdW5jdGlvbmFsaXR5IGZvciBpbnB1dC9vdXRwdXQgc3RyZWFtIG1hbmFnZW1lbnQsXG4gKiBpbmNsdWRpbmcgc3RyZWFtIGNyZWF0aW9uLCBkYXRhIHRyYW5zZmVyLCBhbmQgYnl0ZSBhcnJheSBoYW5kbGluZy5cbiAqL1xuaW1wb3J0IHsgQnl0ZXMgfSBmcm9tIFwiQGFlcm9raXQvc2RrL2lvL2J5dGVzXCI7XG5cbmNvbnN0IFN0cmVhbXNGYWNhZGUgPSBKYXZhLnR5cGUoXCJvcmcuZWNsaXBzZS5kaXJpZ2libGUuY29tcG9uZW50cy5hcGkuaW8uU3RyZWFtc0ZhY2FkZVwiKTtcblxuLyoqXG4gKiBUaGUgU3RyZWFtcyBjbGFzcyBwcm92aWRlcyBzdGF0aWMgdXRpbGl0eSBtZXRob2RzIGZvciBzdHJlYW0gY3JlYXRpb24sXG4gKiBtYW5pcHVsYXRpb24sIGFuZCBkYXRhIGNvcHlpbmcuXG4gKi9cbmV4cG9ydCBjbGFzcyBTdHJlYW1zIHtcblxuXHQvKipcblx0ICogQ29waWVzIGFsbCBieXRlcyBmcm9tIHRoZSBpbnB1dCBzdHJlYW0gdG8gdGhlIG91dHB1dCBzdHJlYW0uXG5cdCAqIFRoaXMgbWV0aG9kIGlzIGdlbmVyYWxseSB1c2VkIGZvciBzbWFsbGVyIHN0cmVhbXMuXG5cdCAqXG5cdCAqIEBwYXJhbSBpbnB1dCBUaGUgc291cmNlIHtAbGluayBJbnB1dFN0cmVhbX0uXG5cdCAqIEBwYXJhbSBvdXRwdXQgVGhlIGRlc3RpbmF0aW9uIHtAbGluayBPdXRwdXRTdHJlYW19LlxuXHQgKi9cblx0cHVibGljIHN0YXRpYyBjb3B5KGlucHV0OiBJbnB1dFN0cmVhbSwgb3V0cHV0OiBPdXRwdXRTdHJlYW0pOiB2b2lkIHtcblx0XHRTdHJlYW1zRmFjYWRlLmNvcHkoaW5wdXQubmF0aXZlLCBvdXRwdXQubmF0aXZlKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBDb3BpZXMgYWxsIGJ5dGVzIGZyb20gdGhlIGlucHV0IHN0cmVhbSB0byB0aGUgb3V0cHV0IHN0cmVhbSB1c2luZyBhIGxhcmdlIGJ1ZmZlcixcblx0ICogc3VpdGFibGUgZm9yIGxhcmdlIGZpbGUgdHJhbnNmZXJzLlxuXHQgKlxuXHQgKiBAcGFyYW0gaW5wdXQgVGhlIHNvdXJjZSB7QGxpbmsgSW5wdXRTdHJlYW19LlxuXHQgKiBAcGFyYW0gb3V0cHV0IFRoZSBkZXN0aW5hdGlvbiB7QGxpbmsgT3V0cHV0U3RyZWFtfS5cblx0ICovXG5cdHB1YmxpYyBzdGF0aWMgY29weUxhcmdlKGlucHV0OiBJbnB1dFN0cmVhbSwgb3V0cHV0OiBPdXRwdXRTdHJlYW0pOiB2b2lkIHtcblx0XHRTdHJlYW1zRmFjYWRlLmNvcHlMYXJnZShpbnB1dC5uYXRpdmUsIG91dHB1dC5uYXRpdmUpO1xuXHR9XG5cblx0LyoqXG5cdCAqIENyZWF0ZXMgYSBuZXcge0BsaW5rIElucHV0U3RyZWFtfSBmcm9tIGEgcmVzb3VyY2UgYWNjZXNzaWJsZSB2aWEgdGhlIGNsYXNzIGxvYWRlci5cblx0ICogVGhpcyBpcyB0eXBpY2FsbHkgdXNlZCB0byByZWFkIGJ1bmRsZWQgcmVzb3VyY2VzIHdpdGhpbiB0aGUgYXBwbGljYXRpb24gcnVudGltZS5cblx0ICpcblx0ICogQHBhcmFtIHBhdGggVGhlIHBhdGggdG8gdGhlIHJlc291cmNlLlxuXHQgKiBAcmV0dXJucyBBIG5ldyB7QGxpbmsgSW5wdXRTdHJlYW19IGluc3RhbmNlIGZvciB0aGUgcmVzb3VyY2UuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIGdldFJlc291cmNlQXNCeXRlQXJyYXlJbnB1dFN0cmVhbShwYXRoOiBzdHJpbmcpOiBJbnB1dFN0cmVhbSB7XG5cdFx0Y29uc3QgbmF0aXZlID0gU3RyZWFtc0ZhY2FkZS5nZXRSZXNvdXJjZUFzQnl0ZUFycmF5SW5wdXRTdHJlYW0ocGF0aCk7XG5cdFx0cmV0dXJuIG5ldyBJbnB1dFN0cmVhbShuYXRpdmUpO1xuXHR9XG5cblx0LyoqXG5cdCAqIENyZWF0ZXMgYSBuZXcge0BsaW5rIElucHV0U3RyZWFtfSBmcm9tIGEgSmF2YVNjcmlwdCBieXRlIGFycmF5IChgYW55W11gKS5cblx0ICpcblx0ICogQHBhcmFtIGRhdGEgVGhlIEphdmFTY3JpcHQgYXJyYXkgb2YgYnl0ZSB2YWx1ZXMgKGBudW1iZXJbXWApLlxuXHQgKiBAcmV0dXJucyBBIG5ldyB7QGxpbmsgSW5wdXRTdHJlYW19IGluc3RhbmNlIGluaXRpYWxpemVkIHdpdGggdGhlIGJ5dGUgZGF0YS5cblx0ICovXG5cdHB1YmxpYyBzdGF0aWMgY3JlYXRlQnl0ZUFycmF5SW5wdXRTdHJlYW0oZGF0YTogYW55W10pOiBJbnB1dFN0cmVhbSB7XG5cdFx0Ly8gQ29udmVydCBKYXZhU2NyaXB0IGJ5dGUgYXJyYXkgdG8gbmF0aXZlIEphdmEgYnl0ZSBhcnJheVxuXHRcdGNvbnN0IGFycmF5ID0gQnl0ZXMudG9KYXZhQnl0ZXMoZGF0YSk7XG5cdFx0Y29uc3QgbmF0aXZlID0gU3RyZWFtc0ZhY2FkZS5jcmVhdGVCeXRlQXJyYXlJbnB1dFN0cmVhbShhcnJheSk7XG5cdFx0cmV0dXJuIG5ldyBJbnB1dFN0cmVhbShuYXRpdmUpO1xuXHR9XG5cblx0LyoqXG5cdCAqIENyZWF0ZXMgYSBuZXcge0BsaW5rIE91dHB1dFN0cmVhbX0gdGhhdCB3cml0ZXMgZGF0YSBpbnRvIGFuIGluLW1lbW9yeSBieXRlIGFycmF5LlxuXHQgKiBUaGlzIGlzIHR5cGljYWxseSB1c2VkIGFzIGEgYnVmZmVyIHRvIGNhcHR1cmUgb3V0cHV0IGJlZm9yZSBwcm9jZXNzaW5nIGl0LlxuXHQgKlxuXHQgKiBAcmV0dXJucyBBIG5ldyB7QGxpbmsgT3V0cHV0U3RyZWFtfSBpbnN0YW5jZSBiYWNrZWQgYnkgYSBieXRlIGFycmF5LlxuXHQgKi9cblx0cHVibGljIHN0YXRpYyBjcmVhdGVCeXRlQXJyYXlPdXRwdXRTdHJlYW0oKTogT3V0cHV0U3RyZWFtIHtcblx0XHRjb25zdCBuYXRpdmUgPSBTdHJlYW1zRmFjYWRlLmNyZWF0ZUJ5dGVBcnJheU91dHB1dFN0cmVhbSgpO1xuXHRcdHJldHVybiBuZXcgT3V0cHV0U3RyZWFtKG5hdGl2ZSk7XG5cdH1cblxuXHQvKipcblx0ICogV3JhcHMgYSBuYXRpdmUgKEphdmEpIElucHV0U3RyZWFtIG9iamVjdCBpbnRvIGEgbmV3IEphdmFTY3JpcHQge0BsaW5rIElucHV0U3RyZWFtfSBpbnN0YW5jZS5cblx0ICpcblx0ICogQHBhcmFtIG5hdGl2ZSBUaGUgdW5kZXJseWluZyBuYXRpdmUgSW5wdXRTdHJlYW0gb2JqZWN0LlxuXHQgKiBAcmV0dXJucyBBIG5ldyB7QGxpbmsgSW5wdXRTdHJlYW19IHdyYXBwZXIuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIGNyZWF0ZUlucHV0U3RyZWFtKG5hdGl2ZTogYW55KTogSW5wdXRTdHJlYW0ge1xuXHRcdGNvbnN0IGlucHV0U3RyZWFtID0gbmV3IElucHV0U3RyZWFtKG5hdGl2ZSk7XG5cdFx0cmV0dXJuIGlucHV0U3RyZWFtO1xuXHR9XG5cblx0LyoqXG5cdCAqIFdyYXBzIGEgbmF0aXZlIChKYXZhKSBPdXRwdXRTdHJlYW0gb2JqZWN0IGludG8gYSBuZXcgSmF2YVNjcmlwdCB7QGxpbmsgT3V0cHV0U3RyZWFtfSBpbnN0YW5jZS5cblx0ICpcblx0ICogTm90ZTogVGhpcyBtZXRob2QgaXMgbm90IHN0YXRpYyBpbiB0aGUgb3JpZ2luYWwgZGVmaW5pdGlvbiwgYnV0IGlzIHBsYWNlZCBoZXJlIGZvciBjb21wbGV0ZW5lc3Ncblx0ICogYW5kIGNvbnNpc3RlbmN5IHdpdGggb3RoZXIgZmFjdG9yeSBtZXRob2RzLlxuXHQgKlxuXHQgKiBAcGFyYW0gbmF0aXZlIFRoZSB1bmRlcmx5aW5nIG5hdGl2ZSBPdXRwdXRTdHJlYW0gb2JqZWN0LlxuXHQgKiBAcmV0dXJucyBBIG5ldyB7QGxpbmsgT3V0cHV0U3RyZWFtfSB3cmFwcGVyLlxuXHQgKi9cblx0cHVibGljIGNyZWF0ZU91dHB1dFN0cmVhbShuYXRpdmU6IGFueSk6IE91dHB1dFN0cmVhbSB7XG5cdFx0Y29uc3Qgb3V0cHV0U3RyZWFtID0gbmV3IE91dHB1dFN0cmVhbShuYXRpdmUpO1xuXHRcdHJldHVybiBvdXRwdXRTdHJlYW07XG5cdH1cbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIGFuIGlucHV0IHN0cmVhbSBmb3IgcmVhZGluZyBieXRlcy5cbiAqIFRoaXMgY2xhc3Mgd3JhcHMgYSBuYXRpdmUgc3RyZWFtIG9iamVjdCBhbmQgcHJvdmlkZXMgbWV0aG9kcyBmb3IgcmVhZGluZyBkYXRhLlxuICovXG5leHBvcnQgY2xhc3MgSW5wdXRTdHJlYW0ge1xuXG5cdC8qKiBUaGUgdW5kZXJseWluZyBuYXRpdmUgSmF2YSBzdHJlYW0gb2JqZWN0LiAqL1xuXHRwdWJsaWMgcmVhZG9ubHkgbmF0aXZlOiBhbnk7XG5cblx0LyoqXG5cdCAqIEBwYXJhbSBuYXRpdmUgVGhlIG5hdGl2ZSBKYXZhIElucHV0U3RyZWFtIG9iamVjdC5cblx0ICovXG5cdGNvbnN0cnVjdG9yKG5hdGl2ZTogYW55KSB7XG5cdFx0dGhpcy5uYXRpdmUgPSBuYXRpdmU7XG5cdH1cblxuXHQvKipcblx0ICogUmVhZHMgdGhlIG5leHQgYnl0ZSBvZiBkYXRhIGZyb20gdGhpcyBpbnB1dCBzdHJlYW0uXG5cdCAqIEByZXR1cm5zIFRoZSBuZXh0IGJ5dGUgb2YgZGF0YSwgb3IgLTEgaWYgdGhlIGVuZCBvZiB0aGUgc3RyZWFtIGlzIHJlYWNoZWQuXG5cdCAqL1xuXHRwdWJsaWMgcmVhZCgpOiBudW1iZXIge1xuXHRcdHJldHVybiBTdHJlYW1zRmFjYWRlLnJlYWQodGhpcy5uYXRpdmUpO1xuXHR9XG5cblx0LyoqXG5cdCAqIFJlYWRzIGFsbCByZW1haW5pbmcgYnl0ZXMgZnJvbSB0aGUgc3RyZWFtIGFuZCByZXR1cm5zIHRoZW0gYXMgYSBKYXZhU2NyaXB0IGFycmF5LlxuXHQgKlxuXHQgKiBAcmV0dXJucyBBIEphdmFTY3JpcHQgYXJyYXkgKGBudW1iZXJbXWApIG9mIHRoZSBieXRlIHZhbHVlcy5cblx0ICovXG5cdHB1YmxpYyByZWFkQnl0ZXMoKTogYW55W10ge1xuXHRcdGNvbnN0IG5hdGl2ZSA9IFN0cmVhbXNGYWNhZGUucmVhZEJ5dGVzKHRoaXMubmF0aXZlKTtcblx0XHRyZXR1cm4gQnl0ZXMudG9KYXZhU2NyaXB0Qnl0ZXMobmF0aXZlKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBSZWFkcyBhbGwgcmVtYWluaW5nIGJ5dGVzIGZyb20gdGhlIHN0cmVhbSBhbmQgcmV0dXJucyB0aGUgbmF0aXZlIEphdmEgYnl0ZSBhcnJheS5cblx0ICpcblx0ICogQHJldHVybnMgVGhlIG5hdGl2ZSBKYXZhIGJ5dGUgYXJyYXkgb2JqZWN0LlxuXHQgKi9cblx0cHVibGljIHJlYWRCeXRlc05hdGl2ZSgpOiBhbnlbXSB7XG5cdFx0cmV0dXJuIFN0cmVhbXNGYWNhZGUucmVhZEJ5dGVzKHRoaXMubmF0aXZlKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBSZWFkcyBhbGwgcmVtYWluaW5nIGJ5dGVzIGZyb20gdGhlIHN0cmVhbSBhbmQgY29udmVydHMgdGhlbSB0byBhIHN0cmluZ1xuXHQgKiB1c2luZyB0aGUgcGxhdGZvcm0ncyBkZWZhdWx0IGNoYXJhY3RlciBlbmNvZGluZy5cblx0ICpcblx0ICogQHJldHVybnMgVGhlIGNvbnRlbnQgb2YgdGhlIHN0cmVhbSBhcyBhIHN0cmluZy5cblx0ICovXG5cdHB1YmxpYyByZWFkVGV4dCgpOiBzdHJpbmcge1xuXHRcdHJldHVybiBTdHJlYW1zRmFjYWRlLnJlYWRUZXh0KHRoaXMubmF0aXZlKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBDbG9zZXMgdGhpcyBpbnB1dCBzdHJlYW0gYW5kIHJlbGVhc2VzIGFueSBzeXN0ZW0gcmVzb3VyY2VzIGFzc29jaWF0ZWQgd2l0aCBpdC5cblx0ICovXG5cdHB1YmxpYyBjbG9zZSgpOiB2b2lkIHtcblx0XHRTdHJlYW1zRmFjYWRlLmNsb3NlKHRoaXMubmF0aXZlKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBDaGVja3MgaWYgdGhlIHVuZGVybHlpbmcgbmF0aXZlIHN0cmVhbSBvYmplY3QgaXMgZGVmaW5lZCBhbmQgbm9uLW51bGwuXG5cdCAqIEByZXR1cm5zIFRydWUgaWYgdGhlIHN0cmVhbSBpcyB2YWxpZCwgZmFsc2Ugb3RoZXJ3aXNlLlxuXHQgKi9cblx0cHVibGljIGlzVmFsaWQoKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIHRoaXMubmF0aXZlICE9PSB1bmRlZmluZWQgJiYgdGhpcy5uYXRpdmUgIT09IG51bGw7XG5cdH1cbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIGFuIG91dHB1dCBzdHJlYW0gZm9yIHdyaXRpbmcgYnl0ZXMuXG4gKiBUaGlzIGNsYXNzIHdyYXBzIGEgbmF0aXZlIHN0cmVhbSBvYmplY3QgYW5kIHByb3ZpZGVzIG1ldGhvZHMgZm9yIHdyaXRpbmcgZGF0YS5cbiAqL1xuZXhwb3J0IGNsYXNzIE91dHB1dFN0cmVhbSB7XG5cblx0LyoqIFRoZSB1bmRlcmx5aW5nIG5hdGl2ZSBKYXZhIHN0cmVhbSBvYmplY3QuICovXG5cdHB1YmxpYyByZWFkb25seSBuYXRpdmU6IGFueTtcblxuXHQvKipcblx0ICogQHBhcmFtIG5hdGl2ZSBUaGUgbmF0aXZlIEphdmEgT3V0cHV0U3RyZWFtIG9iamVjdC5cblx0ICovXG5cdGNvbnN0cnVjdG9yKG5hdGl2ZTogYW55KSB7XG5cdFx0dGhpcy5uYXRpdmUgPSBuYXRpdmU7XG5cdH1cblxuXHQvKipcblx0ICogV3JpdGVzIHRoZSBzcGVjaWZpZWQgYnl0ZSB0byB0aGlzIG91dHB1dCBzdHJlYW0uXG5cdCAqIEBwYXJhbSBieXRlIFRoZSBieXRlIChhcyBhIG51bWJlciAwLTI1NSkgdG8gd3JpdGUuXG5cdCAqL1xuXHRwdWJsaWMgd3JpdGUoYnl0ZTogbnVtYmVyKTogdm9pZCB7XG5cdFx0U3RyZWFtc0ZhY2FkZS53cml0ZSh0aGlzLm5hdGl2ZSwgYnl0ZSk7XG5cdH1cblxuXHQvKipcblx0ICogV3JpdGVzIHRoZSBlbnRpcmUgY29udGVudCBvZiBhIEphdmFTY3JpcHQgYnl0ZSBhcnJheSB0byB0aGlzIG91dHB1dCBzdHJlYW0uXG5cdCAqXG5cdCAqIEBwYXJhbSBkYXRhIFRoZSBKYXZhU2NyaXB0IGFycmF5IChgbnVtYmVyW11gKSBvZiBieXRlIHZhbHVlcyB0byB3cml0ZS5cblx0ICovXG5cdHB1YmxpYyB3cml0ZUJ5dGVzKGRhdGE6IGFueVtdKTogdm9pZCB7XG5cdFx0Ly8gQ29udmVydCBKYXZhU2NyaXB0IGJ5dGUgYXJyYXkgdG8gbmF0aXZlIEphdmEgYnl0ZSBhcnJheVxuXHRcdGNvbnN0IG5hdGl2ZSA9IEJ5dGVzLnRvSmF2YUJ5dGVzKGRhdGEpO1xuXHRcdFN0cmVhbXNGYWNhZGUud3JpdGVCeXRlcyh0aGlzLm5hdGl2ZSwgbmF0aXZlKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBXcml0ZXMgdGhlIGVudGlyZSBjb250ZW50IG9mIGEgbmF0aXZlIEphdmEgYnl0ZSBhcnJheSB0byB0aGlzIG91dHB1dCBzdHJlYW0uXG5cdCAqXG5cdCAqIEBwYXJhbSBkYXRhIFRoZSBuYXRpdmUgSmF2YSBieXRlIGFycmF5IG9iamVjdCB0byB3cml0ZS5cblx0ICovXG5cdHB1YmxpYyB3cml0ZUJ5dGVzTmF0aXZlKGRhdGE6IGFueVtdKTogdm9pZCB7XG5cdFx0U3RyZWFtc0ZhY2FkZS53cml0ZUJ5dGVzKHRoaXMubmF0aXZlLCBkYXRhKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBDb252ZXJ0cyB0aGUgc3RyaW5nIHRvIGJ5dGVzIHVzaW5nIHRoZSBwbGF0Zm9ybSdzIGRlZmF1bHQgY2hhcmFjdGVyIGVuY29kaW5nXG5cdCAqIGFuZCB3cml0ZXMgdGhlbSB0byB0aGlzIG91dHB1dCBzdHJlYW0uXG5cdCAqXG5cdCAqIEBwYXJhbSB0ZXh0IFRoZSBzdHJpbmcgY29udGVudCB0byB3cml0ZS5cblx0ICovXG5cdHB1YmxpYyB3cml0ZVRleHQodGV4dDogc3RyaW5nKTogdm9pZCB7XG5cdFx0U3RyZWFtc0ZhY2FkZS53cml0ZVRleHQodGhpcy5uYXRpdmUsIHRleHQpO1xuXHR9XG5cblx0LyoqXG5cdCAqIENsb3NlcyB0aGlzIG91dHB1dCBzdHJlYW0gYW5kIHJlbGVhc2VzIGFueSBzeXN0ZW0gcmVzb3VyY2VzIGFzc29jaWF0ZWQgd2l0aCBpdC5cblx0ICovXG5cdHB1YmxpYyBjbG9zZSgpOiB2b2lkIHtcblx0XHRTdHJlYW1zRmFjYWRlLmNsb3NlKHRoaXMubmF0aXZlKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBSZXRyaWV2ZXMgdGhlIGNvbnRlbnQgd3JpdHRlbiB0byB0aGlzIHN0cmVhbSBhcyBhIEphdmFTY3JpcHQgYnl0ZSBhcnJheS5cblx0ICogVGhpcyBpcyB0eXBpY2FsbHkgdXNlZCB3aXRoIGEgQnl0ZUFycmF5T3V0cHV0U3RyZWFtLlxuXHQgKlxuXHQgKiBAcmV0dXJucyBBIEphdmFTY3JpcHQgYXJyYXkgKGBudW1iZXJbXWApIG9mIHRoZSBieXRlIHZhbHVlcyB3cml0dGVuIHRvIHRoZSBzdHJlYW0uXG5cdCAqL1xuXHRwdWJsaWMgZ2V0Qnl0ZXMoKTogYW55W10ge1xuXHRcdGNvbnN0IG5hdGl2ZSA9IFN0cmVhbXNGYWNhZGUuZ2V0Qnl0ZXModGhpcy5uYXRpdmUpO1xuXHRcdHJldHVybiBCeXRlcy50b0phdmFTY3JpcHRCeXRlcyhuYXRpdmUpO1xuXHR9XG5cblx0LyoqXG5cdCAqIFJldHJpZXZlcyB0aGUgY29udGVudCB3cml0dGVuIHRvIHRoaXMgc3RyZWFtIGFzIHRoZSBuYXRpdmUgSmF2YSBieXRlIGFycmF5LlxuXHQgKiBUaGlzIGlzIHR5cGljYWxseSB1c2VkIHdpdGggYSBCeXRlQXJyYXlPdXRwdXRTdHJlYW0uXG5cdCAqXG5cdCAqIEByZXR1cm5zIFRoZSBuYXRpdmUgSmF2YSBieXRlIGFycmF5IG9iamVjdC5cblx0ICovXG5cdHB1YmxpYyBnZXRCeXRlc05hdGl2ZSgpOiBhbnlbXSB7XG5cdFx0cmV0dXJuIFN0cmVhbXNGYWNhZGUuZ2V0Qnl0ZXModGhpcy5uYXRpdmUpO1xuXHR9XG5cblx0LyoqXG5cdCAqIFJldHJpZXZlcyB0aGUgY29udGVudCB3cml0dGVuIHRvIHRoaXMgc3RyZWFtIGFzIGEgc3RyaW5nIHVzaW5nIHRoZSBwbGF0Zm9ybSdzXG5cdCAqIGRlZmF1bHQgY2hhcmFjdGVyIGVuY29kaW5nLiBUaGlzIGlzIHR5cGljYWxseSB1c2VkIHdpdGggYSBCeXRlQXJyYXlPdXRwdXRTdHJlYW0uXG5cdCAqXG5cdCAqIEByZXR1cm5zIFRoZSBjb250ZW50IG9mIHRoZSBzdHJlYW0gYXMgYSBzdHJpbmcuXG5cdCAqL1xuXHRwdWJsaWMgZ2V0VGV4dCgpOiBzdHJpbmcge1xuXHRcdHJldHVybiBTdHJlYW1zRmFjYWRlLmdldFRleHQodGhpcy5uYXRpdmUpO1xuXHR9XG5cblx0LyoqXG5cdCAqIENoZWNrcyBpZiB0aGUgdW5kZXJseWluZyBuYXRpdmUgc3RyZWFtIG9iamVjdCBpcyBkZWZpbmVkIGFuZCBub24tbnVsbC5cblx0ICogQHJldHVybnMgVHJ1ZSBpZiB0aGUgc3RyZWFtIGlzIHZhbGlkLCBmYWxzZSBvdGhlcndpc2UuXG5cdCAqL1xuXHRwdWJsaWMgaXNWYWxpZCgpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gdGhpcy5uYXRpdmUgIT09IHVuZGVmaW5lZCAmJiB0aGlzLm5hdGl2ZSAhPT0gbnVsbDtcblx0fVxufVxuXG4vLyBAdHMtaWdub3JlXG5pZiAodHlwZW9mIG1vZHVsZSAhPT0gJ3VuZGVmaW5lZCcpIHtcblx0Ly8gQHRzLWlnbm9yZVxuXHRtb2R1bGUuZXhwb3J0cyA9IFN0cmVhbXM7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiQUFJQSxTQUFTLGFBQWE7QUFFdEIsTUFBTSxnQkFBZ0IsS0FBSyxLQUFLLHVEQUF1RDtBQU1oRixNQUFNLFFBQVE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBU3BCLE9BQWMsS0FBSyxPQUFvQixRQUE0QjtBQUNsRSxrQkFBYyxLQUFLLE1BQU0sUUFBUSxPQUFPLE1BQU07QUFBQSxFQUMvQztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFTQSxPQUFjLFVBQVUs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