@aerokit/sdk 12.80.0 → 12.82.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 (376) hide show
  1. package/dist/cjs/bpm/deployer.js +1 -1
  2. package/dist/cjs/bpm/index.js +1 -1
  3. package/dist/cjs/bpm/process.js +1 -1
  4. package/dist/cjs/bpm/tasks.js +1 -1
  5. package/dist/cjs/bpm/tracer.js +1 -1
  6. package/dist/cjs/bpm/values.js +1 -1
  7. package/dist/cjs/cache/cache.js +1 -1
  8. package/dist/cjs/cache/index.js +1 -1
  9. package/dist/cjs/cms/cmis.js +1 -1
  10. package/dist/cjs/cms/index.js +1 -1
  11. package/dist/cjs/component/decorators.js +1 -1
  12. package/dist/cjs/component/index.js +1 -1
  13. package/dist/cjs/core/configurations.js +1 -1
  14. package/dist/cjs/core/context.js +1 -1
  15. package/dist/cjs/core/env.js +1 -1
  16. package/dist/cjs/core/globals.js +1 -1
  17. package/dist/cjs/core/index.js +1 -1
  18. package/dist/cjs/db/dao.js +1 -1
  19. package/dist/cjs/db/database.js +1 -1
  20. package/dist/cjs/db/decorators.js +1 -1
  21. package/dist/cjs/db/index.js +1 -1
  22. package/dist/cjs/db/insert.js +1 -1
  23. package/dist/cjs/db/orm.js +1 -1
  24. package/dist/cjs/db/ormstatements.js +1 -1
  25. package/dist/cjs/db/procedure.js +1 -1
  26. package/dist/cjs/db/query.js +1 -1
  27. package/dist/cjs/db/repository.js +1 -1
  28. package/dist/cjs/db/sequence.js +1 -1
  29. package/dist/cjs/db/sql.js +1 -1
  30. package/dist/cjs/db/store.js +1 -1
  31. package/dist/cjs/db/translator.js +1 -1
  32. package/dist/cjs/db/update.js +1 -1
  33. package/dist/cjs/etcd/client.js +1 -1
  34. package/dist/cjs/etcd/index.js +1 -1
  35. package/dist/cjs/extensions/decorators.js +1 -1
  36. package/dist/cjs/extensions/extensions.js +1 -1
  37. package/dist/cjs/extensions/index.js +1 -1
  38. package/dist/cjs/git/client.js +1 -1
  39. package/dist/cjs/git/index.js +1 -1
  40. package/dist/cjs/http/client-async.js +1 -1
  41. package/dist/cjs/http/client.js +1 -1
  42. package/dist/cjs/http/decorators.js +1 -1
  43. package/dist/cjs/http/errors/ForbiddenError.js +1 -1
  44. package/dist/cjs/http/errors/ValidationError.js +1 -1
  45. package/dist/cjs/http/errors.js +1 -1
  46. package/dist/cjs/http/index.js +1 -1
  47. package/dist/cjs/http/request.js +1 -1
  48. package/dist/cjs/http/response.js +1 -1
  49. package/dist/cjs/http/rs/resource-http-controller.js +1 -1
  50. package/dist/cjs/http/rs/resource-mappings.js +1 -1
  51. package/dist/cjs/http/rs/resource-method.js +1 -1
  52. package/dist/cjs/http/rs/resource.js +1 -1
  53. package/dist/cjs/http/rs.js +1 -1
  54. package/dist/cjs/http/session.js +1 -1
  55. package/dist/cjs/http/upload.js +1 -1
  56. package/dist/cjs/http/utils.js +1 -1
  57. package/dist/cjs/indexing/index.js +1 -1
  58. package/dist/cjs/indexing/searcher.js +1 -1
  59. package/dist/cjs/indexing/writer.js +1 -1
  60. package/dist/cjs/integrations/index.js +1 -1
  61. package/dist/cjs/integrations/integrations.js +1 -1
  62. package/dist/cjs/io/bytes.js +1 -1
  63. package/dist/cjs/io/files.js +1 -1
  64. package/dist/cjs/io/image.js +1 -1
  65. package/dist/cjs/io/index.js +1 -1
  66. package/dist/cjs/io/streams.js +1 -1
  67. package/dist/cjs/io/zip.js +1 -1
  68. package/dist/cjs/job/decorators.js +1 -1
  69. package/dist/cjs/job/index.js +1 -1
  70. package/dist/cjs/job/scheduler.js +1 -1
  71. package/dist/cjs/junit/index.js +1 -1
  72. package/dist/cjs/junit/junit.js +1 -1
  73. package/dist/cjs/kafka/consumer.js +1 -1
  74. package/dist/cjs/kafka/index.js +1 -1
  75. package/dist/cjs/kafka/producer.js +1 -1
  76. package/dist/cjs/log/index.js +1 -1
  77. package/dist/cjs/log/logging.js +1 -1
  78. package/dist/cjs/mail/client.js +1 -1
  79. package/dist/cjs/mail/index.js +1 -1
  80. package/dist/cjs/messaging/consumer.js +1 -1
  81. package/dist/cjs/messaging/decorators.js +1 -1
  82. package/dist/cjs/messaging/index.js +1 -1
  83. package/dist/cjs/messaging/producer.js +1 -1
  84. package/dist/cjs/mongodb/client.js +1 -1
  85. package/dist/cjs/mongodb/dao.js +1 -1
  86. package/dist/cjs/mongodb/index.js +1 -1
  87. package/dist/cjs/net/decorators.js +1 -1
  88. package/dist/cjs/net/index.js +1 -1
  89. package/dist/cjs/net/soap.js +1 -1
  90. package/dist/cjs/net/websockets.js +1 -1
  91. package/dist/cjs/pdf/index.js +1 -1
  92. package/dist/cjs/pdf/pdf.js +3 -3
  93. package/dist/cjs/platform/command.js +1 -1
  94. package/dist/cjs/platform/engines.js +1 -1
  95. package/dist/cjs/platform/index.js +1 -1
  96. package/dist/cjs/platform/lifecycle.js +1 -1
  97. package/dist/cjs/platform/os.js +1 -1
  98. package/dist/cjs/platform/problems.js +1 -1
  99. package/dist/cjs/platform/registry.js +1 -1
  100. package/dist/cjs/platform/repository.js +1 -1
  101. package/dist/cjs/platform/workspace.js +1 -1
  102. package/dist/cjs/qldb/index.js +1 -1
  103. package/dist/cjs/qldb/qldb.js +1 -1
  104. package/dist/cjs/rabbitmq/consumer.js +1 -1
  105. package/dist/cjs/rabbitmq/index.js +1 -1
  106. package/dist/cjs/rabbitmq/producer.js +1 -1
  107. package/dist/cjs/redis/client.js +1 -1
  108. package/dist/cjs/redis/index.js +1 -1
  109. package/dist/cjs/security/decorators.js +1 -1
  110. package/dist/cjs/security/index.js +1 -1
  111. package/dist/cjs/security/oauth.js +1 -1
  112. package/dist/cjs/security/user.js +1 -1
  113. package/dist/cjs/template/engines.js +1 -1
  114. package/dist/cjs/template/index.js +1 -1
  115. package/dist/cjs/utils/alphanumeric.js +2 -2
  116. package/dist/cjs/utils/base64.js +1 -1
  117. package/dist/cjs/utils/converter.js +1 -1
  118. package/dist/cjs/utils/digest.js +1 -1
  119. package/dist/cjs/utils/escape.js +1 -1
  120. package/dist/cjs/utils/hex.js +1 -1
  121. package/dist/cjs/utils/index.js +1 -1
  122. package/dist/cjs/utils/jsonpath.js +1 -1
  123. package/dist/cjs/utils/qrcode.js +1 -1
  124. package/dist/cjs/utils/url.js +1 -1
  125. package/dist/cjs/utils/utf8.js +1 -1
  126. package/dist/cjs/utils/uuid.js +1 -1
  127. package/dist/cjs/utils/xml.js +1 -1
  128. package/dist/dts/bpm/deployer.d.ts +35 -3
  129. package/dist/dts/bpm/index.d.ts +14 -0
  130. package/dist/dts/bpm/process.d.ts +28 -3
  131. package/dist/dts/bpm/tasks.d.ts +32 -1
  132. package/dist/dts/bpm/tracer.d.ts +35 -0
  133. package/dist/dts/bpm/values.d.ts +17 -3
  134. package/dist/dts/cache/cache.d.ts +38 -0
  135. package/dist/dts/cache/index.d.ts +10 -0
  136. package/dist/dts/cms/cmis.d.ts +28 -3
  137. package/dist/dts/cms/index.d.ts +10 -0
  138. package/dist/dts/component/decorators.d.ts +35 -5
  139. package/dist/dts/component/index.d.ts +10 -0
  140. package/dist/dts/core/configurations.d.ts +43 -4
  141. package/dist/dts/core/context.d.ts +35 -2
  142. package/dist/dts/core/env.d.ts +29 -2
  143. package/dist/dts/core/globals.d.ts +34 -2
  144. package/dist/dts/core/index.d.ts +13 -0
  145. package/dist/dts/db/database.d.ts +34 -0
  146. package/dist/dts/db/decorators.d.ts +55 -2
  147. package/dist/dts/db/index.d.ts +19 -0
  148. package/dist/dts/db/orm.d.ts +43 -0
  149. package/dist/dts/db/procedure.d.ts +37 -0
  150. package/dist/dts/db/query.d.ts +25 -1
  151. package/dist/dts/db/repository.d.ts +52 -0
  152. package/dist/dts/db/sequence.d.ts +31 -2
  153. package/dist/dts/db/sql.d.ts +33 -0
  154. package/dist/dts/db/store.d.ts +27 -0
  155. package/dist/dts/db/translator.d.ts +34 -1
  156. package/dist/dts/db/update.d.ts +38 -0
  157. package/dist/dts/etcd/client.d.ts +36 -0
  158. package/dist/dts/etcd/index.d.ts +10 -0
  159. package/dist/dts/extensions/decorators.d.ts +28 -0
  160. package/dist/dts/extensions/extensions.d.ts +30 -1
  161. package/dist/dts/extensions/index.d.ts +11 -0
  162. package/dist/dts/git/client.d.ts +28 -0
  163. package/dist/dts/git/index.d.ts +10 -0
  164. package/dist/dts/http/client-async.d.ts +29 -1
  165. package/dist/dts/http/client.d.ts +29 -1
  166. package/dist/dts/http/decorators.d.ts +38 -0
  167. package/dist/dts/http/errors/ForbiddenError.d.ts +6 -2
  168. package/dist/dts/http/errors/ValidationError.d.ts +6 -2
  169. package/dist/dts/http/errors.d.ts +14 -0
  170. package/dist/dts/http/index.d.ts +18 -0
  171. package/dist/dts/http/request.d.ts +30 -3
  172. package/dist/dts/http/response.d.ts +40 -3
  173. package/dist/dts/http/rs/resource-mappings.d.ts +30 -0
  174. package/dist/dts/http/rs.d.ts +38 -0
  175. package/dist/dts/http/session.d.ts +34 -3
  176. package/dist/dts/http/upload.d.ts +27 -2
  177. package/dist/dts/http/utils.d.ts +42 -0
  178. package/dist/dts/indexing/index.d.ts +11 -0
  179. package/dist/dts/indexing/searcher.d.ts +35 -2
  180. package/dist/dts/indexing/writer.d.ts +23 -2
  181. package/dist/dts/integrations/index.d.ts +10 -0
  182. package/dist/dts/integrations/integrations.d.ts +27 -3
  183. package/dist/dts/io/bytes.d.ts +33 -2
  184. package/dist/dts/io/files.d.ts +34 -2
  185. package/dist/dts/io/image.d.ts +27 -2
  186. package/dist/dts/io/index.d.ts +14 -0
  187. package/dist/dts/io/streams.d.ts +40 -0
  188. package/dist/dts/io/zip.d.ts +32 -0
  189. package/dist/dts/job/decorators.d.ts +29 -0
  190. package/dist/dts/job/index.d.ts +11 -0
  191. package/dist/dts/job/scheduler.d.ts +33 -2
  192. package/dist/dts/junit/index.d.ts +10 -0
  193. package/dist/dts/junit/junit.d.ts +31 -0
  194. package/dist/dts/kafka/consumer.d.ts +31 -0
  195. package/dist/dts/kafka/index.d.ts +11 -0
  196. package/dist/dts/kafka/producer.d.ts +31 -0
  197. package/dist/dts/log/index.d.ts +10 -0
  198. package/dist/dts/log/logging.d.ts +32 -0
  199. package/dist/dts/mail/client.d.ts +27 -0
  200. package/dist/dts/mail/index.d.ts +10 -0
  201. package/dist/dts/messaging/consumer.d.ts +29 -2
  202. package/dist/dts/messaging/decorators.d.ts +32 -0
  203. package/dist/dts/messaging/index.d.ts +12 -0
  204. package/dist/dts/messaging/producer.d.ts +27 -2
  205. package/dist/dts/mongodb/client.d.ts +37 -0
  206. package/dist/dts/mongodb/dao.d.ts +53 -0
  207. package/dist/dts/mongodb/index.d.ts +11 -0
  208. package/dist/dts/net/decorators.d.ts +27 -0
  209. package/dist/dts/net/index.d.ts +13 -0
  210. package/dist/dts/net/soap.d.ts +34 -0
  211. package/dist/dts/net/websockets.d.ts +34 -0
  212. package/dist/dts/pdf/index.d.ts +10 -0
  213. package/dist/dts/pdf/pdf.d.ts +41 -2
  214. package/dist/dts/platform/command.d.ts +26 -0
  215. package/dist/dts/platform/engines.d.ts +38 -0
  216. package/dist/dts/platform/index.d.ts +19 -0
  217. package/dist/dts/platform/lifecycle.d.ts +29 -0
  218. package/dist/dts/platform/os.d.ts +30 -0
  219. package/dist/dts/platform/problems.d.ts +36 -0
  220. package/dist/dts/platform/registry.d.ts +39 -0
  221. package/dist/dts/platform/repository.d.ts +40 -0
  222. package/dist/dts/platform/workspace.d.ts +42 -0
  223. package/dist/dts/qldb/index.d.ts +12 -0
  224. package/dist/dts/qldb/qldb.d.ts +14 -0
  225. package/dist/dts/rabbitmq/consumer.d.ts +24 -3
  226. package/dist/dts/rabbitmq/index.d.ts +13 -0
  227. package/dist/dts/rabbitmq/producer.d.ts +20 -3
  228. package/dist/dts/redis/client.d.ts +31 -3
  229. package/dist/dts/redis/index.d.ts +12 -0
  230. package/dist/dts/security/decorators.d.ts +34 -0
  231. package/dist/dts/security/index.d.ts +14 -0
  232. package/dist/dts/security/oauth.d.ts +27 -0
  233. package/dist/dts/security/user.d.ts +39 -0
  234. package/dist/dts/template/engines.d.ts +31 -0
  235. package/dist/dts/template/index.d.ts +12 -0
  236. package/dist/dts/utils/alphanumeric.d.ts +36 -2
  237. package/dist/dts/utils/base64.d.ts +30 -0
  238. package/dist/dts/utils/converter.d.ts +37 -2
  239. package/dist/dts/utils/digest.d.ts +31 -0
  240. package/dist/dts/utils/escape.d.ts +28 -3
  241. package/dist/dts/utils/hex.d.ts +30 -0
  242. package/dist/dts/utils/index.d.ts +23 -0
  243. package/dist/dts/utils/jsonpath.d.ts +43 -0
  244. package/dist/dts/utils/qrcode.d.ts +24 -3
  245. package/dist/dts/utils/url.d.ts +37 -3
  246. package/dist/dts/utils/utf8.d.ts +34 -3
  247. package/dist/dts/utils/uuid.d.ts +28 -2
  248. package/dist/dts/utils/xml.d.ts +31 -2
  249. package/dist/esm/bpm/deployer.mjs +1 -1
  250. package/dist/esm/bpm/index.mjs +1 -1
  251. package/dist/esm/bpm/process.mjs +1 -1
  252. package/dist/esm/bpm/tasks.mjs +1 -1
  253. package/dist/esm/bpm/tracer.mjs +1 -1
  254. package/dist/esm/bpm/values.mjs +1 -1
  255. package/dist/esm/cache/cache.mjs +1 -1
  256. package/dist/esm/cache/index.mjs +1 -1
  257. package/dist/esm/cms/cmis.mjs +1 -1
  258. package/dist/esm/cms/index.mjs +1 -1
  259. package/dist/esm/component/decorators.mjs +1 -1
  260. package/dist/esm/component/index.mjs +1 -1
  261. package/dist/esm/core/configurations.mjs +1 -1
  262. package/dist/esm/core/context.mjs +1 -1
  263. package/dist/esm/core/env.mjs +1 -1
  264. package/dist/esm/core/globals.mjs +1 -1
  265. package/dist/esm/core/index.mjs +1 -1
  266. package/dist/esm/db/dao.mjs +1 -1
  267. package/dist/esm/db/database.mjs +1 -1
  268. package/dist/esm/db/decorators.mjs +1 -1
  269. package/dist/esm/db/index.mjs +1 -1
  270. package/dist/esm/db/insert.mjs +1 -1
  271. package/dist/esm/db/orm.mjs +1 -1
  272. package/dist/esm/db/ormstatements.mjs +1 -1
  273. package/dist/esm/db/procedure.mjs +1 -1
  274. package/dist/esm/db/query.mjs +1 -1
  275. package/dist/esm/db/repository.mjs +1 -1
  276. package/dist/esm/db/sequence.mjs +1 -1
  277. package/dist/esm/db/sql.mjs +1 -1
  278. package/dist/esm/db/store.mjs +1 -1
  279. package/dist/esm/db/translator.mjs +1 -1
  280. package/dist/esm/db/update.mjs +1 -1
  281. package/dist/esm/etcd/client.mjs +1 -1
  282. package/dist/esm/etcd/index.mjs +1 -1
  283. package/dist/esm/extensions/decorators.mjs +1 -1
  284. package/dist/esm/extensions/extensions.mjs +1 -1
  285. package/dist/esm/extensions/index.mjs +1 -1
  286. package/dist/esm/git/client.mjs +1 -1
  287. package/dist/esm/git/index.mjs +1 -1
  288. package/dist/esm/http/client-async.mjs +1 -1
  289. package/dist/esm/http/client.mjs +1 -1
  290. package/dist/esm/http/decorators.mjs +1 -1
  291. package/dist/esm/http/errors/ForbiddenError.mjs +1 -1
  292. package/dist/esm/http/errors/ValidationError.mjs +1 -1
  293. package/dist/esm/http/errors.mjs +1 -1
  294. package/dist/esm/http/index.mjs +1 -1
  295. package/dist/esm/http/request.mjs +1 -1
  296. package/dist/esm/http/response.mjs +1 -1
  297. package/dist/esm/http/rs/resource-http-controller.mjs +1 -1
  298. package/dist/esm/http/rs/resource-mappings.mjs +1 -1
  299. package/dist/esm/http/rs/resource-method.mjs +1 -1
  300. package/dist/esm/http/rs/resource.mjs +1 -1
  301. package/dist/esm/http/rs.mjs +1 -1
  302. package/dist/esm/http/session.mjs +1 -1
  303. package/dist/esm/http/upload.mjs +1 -1
  304. package/dist/esm/http/utils.mjs +1 -1
  305. package/dist/esm/indexing/index.mjs +1 -1
  306. package/dist/esm/indexing/searcher.mjs +1 -1
  307. package/dist/esm/indexing/writer.mjs +1 -1
  308. package/dist/esm/integrations/index.mjs +1 -1
  309. package/dist/esm/integrations/integrations.mjs +1 -1
  310. package/dist/esm/io/bytes.mjs +1 -1
  311. package/dist/esm/io/files.mjs +1 -1
  312. package/dist/esm/io/image.mjs +1 -1
  313. package/dist/esm/io/index.mjs +1 -1
  314. package/dist/esm/io/streams.mjs +1 -1
  315. package/dist/esm/io/zip.mjs +1 -1
  316. package/dist/esm/job/decorators.mjs +1 -1
  317. package/dist/esm/job/index.mjs +1 -1
  318. package/dist/esm/job/scheduler.mjs +1 -1
  319. package/dist/esm/junit/index.mjs +1 -1
  320. package/dist/esm/junit/junit.mjs +1 -1
  321. package/dist/esm/kafka/consumer.mjs +1 -1
  322. package/dist/esm/kafka/index.mjs +1 -1
  323. package/dist/esm/kafka/producer.mjs +1 -1
  324. package/dist/esm/log/index.mjs +1 -1
  325. package/dist/esm/log/logging.mjs +1 -1
  326. package/dist/esm/mail/client.mjs +1 -1
  327. package/dist/esm/mail/index.mjs +1 -1
  328. package/dist/esm/messaging/consumer.mjs +1 -1
  329. package/dist/esm/messaging/decorators.mjs +1 -1
  330. package/dist/esm/messaging/index.mjs +1 -1
  331. package/dist/esm/messaging/producer.mjs +1 -1
  332. package/dist/esm/mongodb/client.mjs +2 -2
  333. package/dist/esm/mongodb/dao.mjs +1 -1
  334. package/dist/esm/mongodb/index.mjs +1 -1
  335. package/dist/esm/net/decorators.mjs +1 -1
  336. package/dist/esm/net/index.mjs +1 -1
  337. package/dist/esm/net/soap.mjs +1 -1
  338. package/dist/esm/net/websockets.mjs +1 -1
  339. package/dist/esm/pdf/index.mjs +1 -1
  340. package/dist/esm/pdf/pdf.mjs +3 -3
  341. package/dist/esm/platform/command.mjs +1 -1
  342. package/dist/esm/platform/engines.mjs +1 -1
  343. package/dist/esm/platform/index.mjs +1 -1
  344. package/dist/esm/platform/lifecycle.mjs +1 -1
  345. package/dist/esm/platform/os.mjs +1 -1
  346. package/dist/esm/platform/problems.mjs +1 -1
  347. package/dist/esm/platform/registry.mjs +1 -1
  348. package/dist/esm/platform/repository.mjs +1 -1
  349. package/dist/esm/platform/workspace.mjs +1 -1
  350. package/dist/esm/qldb/index.mjs +1 -1
  351. package/dist/esm/qldb/qldb.mjs +1 -1
  352. package/dist/esm/rabbitmq/consumer.mjs +1 -1
  353. package/dist/esm/rabbitmq/index.mjs +1 -1
  354. package/dist/esm/rabbitmq/producer.mjs +1 -1
  355. package/dist/esm/redis/client.mjs +1 -1
  356. package/dist/esm/redis/index.mjs +1 -1
  357. package/dist/esm/security/decorators.mjs +1 -1
  358. package/dist/esm/security/index.mjs +1 -1
  359. package/dist/esm/security/oauth.mjs +1 -1
  360. package/dist/esm/security/user.mjs +1 -1
  361. package/dist/esm/template/engines.mjs +1 -1
  362. package/dist/esm/template/index.mjs +1 -1
  363. package/dist/esm/utils/alphanumeric.mjs +2 -2
  364. package/dist/esm/utils/base64.mjs +1 -1
  365. package/dist/esm/utils/converter.mjs +1 -1
  366. package/dist/esm/utils/digest.mjs +1 -1
  367. package/dist/esm/utils/escape.mjs +1 -1
  368. package/dist/esm/utils/hex.mjs +1 -1
  369. package/dist/esm/utils/index.mjs +1 -1
  370. package/dist/esm/utils/jsonpath.mjs +1 -1
  371. package/dist/esm/utils/qrcode.mjs +1 -1
  372. package/dist/esm/utils/url.mjs +1 -1
  373. package/dist/esm/utils/utf8.mjs +1 -1
  374. package/dist/esm/utils/uuid.mjs +1 -1
  375. package/dist/esm/utils/xml.mjs +1 -1
  376. package/package.json +1 -1
@@ -152,4 +152,4 @@ class WebsocketClient {
152
152
  if (typeof module !== "undefined") {
153
153
  module.exports = Websockets;
154
154
  }
155
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL25ldC93ZWJzb2NrZXRzLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIFByb3ZpZGVzIGEgaGlnaC1sZXZlbCBBUEkgZm9yIG1hbmFnaW5nIFdlYlNvY2tldCBjbGllbnRzIGFuZCBoYW5kbGluZ1xuICogbGlmZWN5Y2xlIGV2ZW50cyB3aXRoaW4gdGhlIGFwcGxpY2F0aW9uIGNvbnRleHQuIEl0IHdyYXBzIHRoZSBpbnRlcm5hbCBKYXZhXG4gKiBXZWJzb2NrZXRzRmFjYWRlLlxuICovXG5jb25zdCBXZWJzb2NrZXRzRmFjYWRlID0gSmF2YS50eXBlKFwib3JnLmVjbGlwc2UuZGlyaWdpYmxlLmNvbXBvbmVudHMuYXBpLndlYnNvY2tldHMuV2Vic29ja2V0c0ZhY2FkZVwiKTtcblxuLyoqXG4gKiBAY2xhc3MgV2Vic29ja2V0c1xuICogQGRlc2NyaXB0aW9uIFN0YXRpYyB1dGlsaXR5IGNsYXNzIGZvciBhY2Nlc3NpbmcgYW5kIG1hbmFnaW5nIFdlYlNvY2tldCBmdW5jdGlvbmFsaXR5LlxuICovXG5leHBvcnQgY2xhc3MgV2Vic29ja2V0cyB7XG5cblx0LyoqXG5cdCAqIENyZWF0ZXMgYSBuZXcgV2ViU29ja2V0IGNsaWVudCBjb25uZWN0aW9uIHRvIGEgc3BlY2lmaWVkIFVSSSwgbWFuYWdlZCBieSBhIGhhbmRsZXIgc2NyaXB0LlxuXHQgKlxuXHQgKiBAcGFyYW0gdXJpIFRoZSB0YXJnZXQgV2ViU29ja2V0IFVSSSAoZS5nLiwgJ3dzOi8vZXhhbXBsZS5jb20vc29ja2V0JykuXG5cdCAqIEBwYXJhbSBoYW5kbGVyIFRoZSBpZGVudGlmaWVyIG9yIHBhdGggb2YgdGhlIHNjcmlwdCBoYW5kbGluZyB0aGUgV2ViU29ja2V0IGV2ZW50cy5cblx0ICogQHJldHVybnMgQSB3cmFwcGVyIG9iamVjdCBmb3IgdGhlIG5ldyBXZWJTb2NrZXQgc2Vzc2lvbi5cblx0ICovXG5cdHB1YmxpYyBzdGF0aWMgY3JlYXRlV2Vic29ja2V0KHVyaTogc3RyaW5nLCBoYW5kbGVyOiBzdHJpbmcpOiBXZWJzb2NrZXRDbGllbnQge1xuXHRcdGNvbnN0IHNlc3Npb24gPSBXZWJzb2NrZXRzRmFjYWRlLmNyZWF0ZVdlYnNvY2tldCh1cmksIGhhbmRsZXIpO1xuXHRcdHJldHVybiBuZXcgV2Vic29ja2V0Q2xpZW50KHNlc3Npb24sIHVyaSwgaGFuZGxlcik7XG5cdH1cblxuXHQvKipcblx0ICogUmV0cmlldmVzIGEgbGlzdCBvZiBhbGwgYWN0aXZlIFdlYlNvY2tldCBjbGllbnRzLlxuXHQgKlxuXHQgKiBAcmV0dXJucyBBbiBhcnJheSBvZiBvYmplY3RzIGRldGFpbGluZyB0aGUgVVJJIGFuZCBoYW5kbGVyIG9mIGVhY2ggY2xpZW50LlxuXHQgKi9cblx0cHVibGljIHN0YXRpYyBnZXRDbGllbnRzKCk6IHsgdXJpOiBzdHJpbmcsIGhhbmRsZXI6IHN0cmluZyB9W10ge1xuXHRcdHJldHVybiBKU09OLnBhcnNlKFdlYnNvY2tldHNGYWNhZGUuZ2V0Q2xpZW50c0FzSnNvbigpKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBSZXRyaWV2ZXMgYSBzcGVjaWZpYyBXZWJTb2NrZXQgY2xpZW50IHdyYXBwZXIgYnkgaXRzIHNlc3Npb24gSUQuXG5cdCAqXG5cdCAqIEBwYXJhbSBpZCBUaGUgc2Vzc2lvbiBJRCBvZiB0aGUgY2xpZW50LlxuXHQgKiBAcmV0dXJucyBUaGUgY2xpZW50IHdyYXBwZXIgb3IgdW5kZWZpbmVkIGlmIG5vdCBmb3VuZC5cblx0ICovXG5cdHB1YmxpYyBzdGF0aWMgZ2V0Q2xpZW50KGlkOiBzdHJpbmcpOiBXZWJzb2NrZXRDbGllbnQgfCB1bmRlZmluZWQge1xuXHRcdGNvbnN0IG5hdGl2ZSA9IFdlYnNvY2tldHNGYWNhZGUuZ2V0Q2xpZW50KGlkKTtcblx0XHRyZXR1cm4gbmF0aXZlID8gbmV3IFdlYnNvY2tldENsaWVudChuYXRpdmUuZ2V0U2Vzc2lvbigpLCBuYXRpdmUuZ2V0U2Vzc2lvbigpLmdldFJlcXVlc3RVUkkoKSwgbmF0aXZlLmdldEhhbmRsZXIoKSkgOiB1bmRlZmluZWQ7XG5cdH1cblxuXHQvKipcblx0ICogUmV0cmlldmVzIGEgc3BlY2lmaWMgV2ViU29ja2V0IGNsaWVudCB3cmFwcGVyIGJ5IGl0cyBoYW5kbGVyIGlkZW50aWZpZXIuXG5cdCAqXG5cdCAqIEBwYXJhbSBoYW5kbGVyIFRoZSBoYW5kbGVyIGlkZW50aWZpZXIgYXNzb2NpYXRlZCB3aXRoIHRoZSBjbGllbnQuXG5cdCAqIEByZXR1cm5zIFRoZSBjbGllbnQgd3JhcHBlciBvciB1bmRlZmluZWQgaWYgbm90IGZvdW5kLlxuXHQgKi9cblx0cHVibGljIHN0YXRpYyBnZXRDbGllbnRCeUhhbmRsZXIoaGFuZGxlcjogc3RyaW5nKTogV2Vic29ja2V0Q2xpZW50IHwgdW5kZWZpbmVkIHtcblx0XHRjb25zdCBuYXRpdmUgPSBXZWJzb2NrZXRzRmFjYWRlLmdldENsaWVudEJ5SGFuZGxlcihoYW5kbGVyKTtcblx0XHRyZXR1cm4gbmF0aXZlID8gbmV3IFdlYnNvY2tldENsaWVudChuYXRpdmUuZ2V0U2Vzc2lvbigpLCBuYXRpdmUuZ2V0U2Vzc2lvbigpLmdldFJlcXVlc3RVUkkoKSwgbmF0aXZlLmdldEhhbmRsZXIoKSkgOiB1bmRlZmluZWQ7XG5cdH1cblxuXHQvKipcblx0ICogUmV0cmlldmVzIHRoZSBtZXNzYWdlIHBheWxvYWQgZnJvbSB0aGUgY3VycmVudCBjb250ZXh0LCB0eXBpY2FsbHkgdXNlZCBpbnNpZGUgYW4gJ29ubWVzc2FnZScgaGFuZGxlci5cblx0ICpcblx0ICogQHJldHVybnMgVGhlIG1lc3NhZ2UgY29udGVudC5cblx0ICovXG5cdHB1YmxpYyBzdGF0aWMgZ2V0TWVzc2FnZSgpOiBhbnkge1xuXHRcdHJldHVybiBfX2NvbnRleHQuZ2V0KCdtZXNzYWdlJyk7XG5cdH1cblxuXHQvKipcblx0ICogUmV0cmlldmVzIGVycm9yIGRldGFpbHMgZnJvbSB0aGUgY3VycmVudCBjb250ZXh0LCB0eXBpY2FsbHkgdXNlZCBpbnNpZGUgYW4gJ29uZXJyb3InIGhhbmRsZXIuXG5cdCAqXG5cdCAqIEByZXR1cm5zIFRoZSBlcnJvciBvYmplY3Qgb3Igc3RyaW5nLlxuXHQgKi9cblx0cHVibGljIHN0YXRpYyBnZXRFcnJvcigpOiBhbnkge1xuXHRcdHJldHVybiBfX2NvbnRleHQuZ2V0KCdlcnJvcicpO1xuXHR9XG5cblx0LyoqXG5cdCAqIFJldHJpZXZlcyB0aGUgZXZlbnQgbWV0aG9kIG5hbWUgdGhhdCB0cmlnZ2VyZWQgdGhlIGN1cnJlbnQgc2NyaXB0IGV4ZWN1dGlvbiAoZS5nLiwgXCJvbm9wZW5cIiwgXCJvbm1lc3NhZ2VcIikuXG5cdCAqXG5cdCAqIEByZXR1cm5zIFRoZSBuYW1lIG9mIHRoZSBldmVudCBtZXRob2QuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIGdldE1ldGhvZCgpOiBzdHJpbmcge1xuXHRcdC8vIEFzc3VtZXMgX19jb250ZXh0IGlzIGEgZ2xvYmFsIG1hcCBwcm92aWRlZCBieSB0aGUgZXhlY3V0aW9uIGVudmlyb25tZW50XG5cdFx0cmV0dXJuIF9fY29udGV4dC5nZXQoJ21ldGhvZCcpO1xuXHR9XG5cblx0LyoqXG5cdCAqIENoZWNrcyBpZiB0aGUgY3VycmVudCBldmVudCBjb250ZXh0IGlzICdvbm9wZW4nLlxuXHQgKiBAcmV0dXJucyBUcnVlIGlmIHRoZSBtZXRob2QgaXMgJ29ub3BlbicuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIGlzT25PcGVuKCk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiB0aGlzLmdldE1ldGhvZCgpID09PSBcIm9ub3BlblwiO1xuXHR9XG5cblx0LyoqXG5cdCAqIENoZWNrcyBpZiB0aGUgY3VycmVudCBldmVudCBjb250ZXh0IGlzICdvbm1lc3NhZ2UnLlxuXHQgKiBAcmV0dXJucyBUcnVlIGlmIHRoZSBtZXRob2QgaXMgJ29ubWVzc2FnZScuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIGlzT25NZXNzYWdlKCk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiB0aGlzLmdldE1ldGhvZCgpID09PSBcIm9ubWVzc2FnZVwiO1xuXHR9XG5cblx0LyoqXG5cdCAqIENoZWNrcyBpZiB0aGUgY3VycmVudCBldmVudCBjb250ZXh0IGlzICdvbmVycm9yJy5cblx0ICogQHJldHVybnMgVHJ1ZSBpZiB0aGUgbWV0aG9kIGlzICdvbmVycm9yJy5cblx0ICovXG5cdHB1YmxpYyBzdGF0aWMgaXNPbkVycm9yKCk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiB0aGlzLmdldE1ldGhvZCgpID09PSBcIm9uZXJyb3JcIjtcblx0fVxuXG5cdC8qKlxuXHQgKiBDaGVja3MgaWYgdGhlIGN1cnJlbnQgZXZlbnQgY29udGV4dCBpcyAnb25jbG9zZScuXG5cdCAqIEByZXR1cm5zIFRydWUgaWYgdGhlIG1ldGhvZCBpcyAnb25jbG9zZScuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIGlzT25DbG9zZSgpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gdGhpcy5nZXRNZXRob2QoKSA9PT0gXCJvbmNsb3NlXCI7XG5cdH1cbn1cblxuLyoqXG4gKiBAY2xhc3MgV2Vic29ja2V0Q2xpZW50XG4gKiBAZGVzY3JpcHRpb24gV3JhcHBlciBmb3IgYSBuYXRpdmUgV2ViU29ja2V0IHNlc3Npb24sIHByb3ZpZGluZyBtZXRob2RzIHRvIHNlbmQgYW5kIGNsb3NlIHRoZSBjb25uZWN0aW9uLlxuICovXG5jbGFzcyBXZWJzb2NrZXRDbGllbnQge1xuXHQvLyBSZW5hbWVkIHRvIF9zZXNzaW9uIGZvciBiZXR0ZXIgZW5jYXBzdWxhdGlvbiBvZiB0aGUgbmF0aXZlIEphdmEgb2JqZWN0XG5cdHByaXZhdGUgcmVhZG9ubHkgX3Nlc3Npb246IG51bGwgfCBhbnk7XG5cdHByaXZhdGUgcmVhZG9ubHkgdXJpOiBzdHJpbmc7XG5cdHByaXZhdGUgcmVhZG9ubHkgaGFuZGxlcjogc3RyaW5nO1xuXG5cdC8qKlxuXHQgKiBAcGFyYW0gc2Vzc2lvbiBUaGUgbmF0aXZlIEphdmEgc2Vzc2lvbiBvYmplY3QuXG5cdCAqIEBwYXJhbSB1cmkgVGhlIGNvbm5lY3RlZCBVUkkuXG5cdCAqIEBwYXJhbSBoYW5kbGVyIFRoZSBoYW5kbGVyIGlkZW50aWZpZXIuXG5cdCAqL1xuXHRjb25zdHJ1Y3RvcihzZXNzaW9uOiBudWxsIHwgYW55LCB1cmk6IHN0cmluZywgaGFuZGxlcjogc3RyaW5nKSB7XG5cdFx0dGhpcy5fc2Vzc2lvbiA9IHNlc3Npb247XG5cdFx0dGhpcy51cmkgPSB1cmk7XG5cdFx0dGhpcy5oYW5kbGVyID0gaGFuZGxlcjtcblx0fVxuXG5cdC8qKlxuXHQgKiBTZW5kcyBhIHRleHQgbWVzc2FnZSBvdmVyIHRoZSBXZWJTb2NrZXQgY29ubmVjdGlvbi5cblx0ICogQHBhcmFtIHRleHQgVGhlIG1lc3NhZ2UgdG8gc2VuZC5cblx0ICovXG5cdHB1YmxpYyBzZW5kKHRleHQ6IHN0cmluZyk6IHZvaWQge1xuXHRcdGlmICghdGhpcy5fc2Vzc2lvbiB8fCB0aGlzLl9zZXNzaW9uID09PSBudWxsKSB7XG5cdFx0XHRjb25zb2xlLmVycm9yKFwiV2Vic29ja2V0IFNlc3Npb24gaXMgbnVsbC4gTWVzc2FnZSBub3Qgc2VudC5cIik7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXHRcdHRoaXMuX3Nlc3Npb24uc2VuZCh0aGlzLnVyaSwgdGV4dCk7XG5cdH07XG5cblx0LyoqXG5cdCAqIENsb3NlcyB0aGUgV2ViU29ja2V0IGNvbm5lY3Rpb24uXG5cdCAqL1xuXHRwdWJsaWMgY2xvc2UoKTogdm9pZCB7XG5cdFx0aWYgKHRoaXMuX3Nlc3Npb24pIHtcblx0XHRcdHRoaXMuX3Nlc3Npb24uY2xvc2UoKTtcblx0XHR9XG5cdH1cbn1cblxuLy8gQHRzLWlnbm9yZVxuaWYgKHR5cGVvZiBtb2R1bGUgIT09ICd1bmRlZmluZWQnKSB7XG5cdC8vIEB0cy1pZ25vcmVcblx0bW9kdWxlLmV4cG9ydHMgPSBXZWJzb2NrZXRzO1xufSJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUtBLE1BQU0sbUJBQW1CLEtBQUss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
155
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL25ldC93ZWJzb2NrZXRzLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBtb2R1bGUgbmV0L3dlYnNvY2tldHNcbiAqIEBwYWNrYWdlIEBhZXJva2l0L3Nkay9uZXRcbiAqIEBuYW1lIFdlYnNvY2tldHNcbiAqIEBvdmVydmlld1xuICogXG4gKiBUaGUgV2Vic29ja2V0cyBtb2R1bGUgcHJvdmlkZXMgYW4gQVBJIGZvciBtYW5hZ2luZyBXZWJTb2NrZXQgY2xpZW50cyBhbmQgaGFuZGxpbmcgbGlmZWN5Y2xlIGV2ZW50cyB3aXRoaW4gdGhlIGFwcGxpY2F0aW9uIGNvbnRleHQuIEl0IGFic3RyYWN0cyB0aGUgY29tcGxleGl0aWVzIG9mIFdlYlNvY2tldCBjb21tdW5pY2F0aW9uLCBhbGxvd2luZyBkZXZlbG9wZXJzIHRvIGVhc2lseSBjcmVhdGUgYW5kIG1hbmFnZSBXZWJTb2NrZXQgY29ubmVjdGlvbnMsIHNlbmQgbWVzc2FnZXMsIGFuZCBoYW5kbGUgZXZlbnRzIHN1Y2ggYXMgY29ubmVjdGlvbiBvcGVuaW5ncywgbWVzc2FnZXMsIGVycm9ycywgYW5kIGNsb3N1cmVzLlxuICogXG4gKiAjIyMgS2V5IEZlYXR1cmVzOlxuICogLSAqKldlYlNvY2tldCBDbGllbnQgTWFuYWdlbWVudCoqOiBDcmVhdGUgYW5kIG1hbmFnZSBXZWJTb2NrZXQgY2xpZW50cyB3aXRoIGVhc2UsIGluY2x1ZGluZyBzZW5kaW5nIG1lc3NhZ2VzIGFuZCBjbG9zaW5nIGNvbm5lY3Rpb25zLlxuICogLSAqKkV2ZW50IEhhbmRsaW5nKio6IEFjY2VzcyBldmVudCBkZXRhaWxzIHN1Y2ggYXMgbWVzc2FnZXMgYW5kIGVycm9ycyB3aXRoaW4gdGhlIGNvbnRleHQgb2YgV2ViU29ja2V0IGV2ZW50IGhhbmRsZXJzLlxuICogXG4gKiAjIyMgVXNlIENhc2VzOlxuICogLSAqKlJlYWwtVGltZSBDb21tdW5pY2F0aW9uKio6IFRoaXMgbW9kdWxlIGlzIGlkZWFsIGZvciBhcHBsaWNhdGlvbnMgdGhhdCByZXF1aXJlIHJlYWwtdGltZSBjb21tdW5pY2F0aW9uIGJldHdlZW4gY2xpZW50cyBhbmQgdGhlIHNlcnZlciB1c2luZyBXZWJTb2NrZXRzLlxuICogLSAqKkludGVncmF0aW9uIHdpdGggV2ViU29ja2V0IFN5c3RlbXMqKjogQnkgcHJvdmlkaW5nIGEgaGlnaC1sZXZlbCBBUEkgZm9yIFdlYlNvY2tldCBtYW5hZ2VtZW50LCBkZXZlbG9wZXJzIGNhbiBlYXNpbHkgaW50ZWdyYXRlIHRoZWlyIGFwcGxpY2F0aW9ucyB3aXRoIFdlYlNvY2tldC1iYXNlZCBzeXN0ZW1zIGFuZCBwcm90b2NvbHMuXG4gKiBcbiAqICMjIyBFeGFtcGxlIFVzYWdlOlxuICogYGBgdHNcbiAqIGltcG9ydCB7IFdlYnNvY2tldHMgfSBmcm9tIFwiQGFlcm9raXQvc2RrL25ldFwiO1xuICogXG4gKiAvLyBDcmVhdGUgYSBuZXcgV2ViU29ja2V0IGNsaWVudCBjb25uZWN0aW9uXG4gKiBjb25zdCBjbGllbnQgPSBXZWJzb2NrZXRzLmNyZWF0ZVdlYnNvY2tldChcIndzOi8vZXhhbXBsZS5jb20vc29ja2V0XCIsIFwibXlIYW5kbGVyXCIpO1xuICogY2xpZW50LnNlbmQoXCJIZWxsbywgV2ViU29ja2V0IVwiKTtcbiAqIFxuICogLy8gQWNjZXNzIGV2ZW50IGRldGFpbHMgaW4gYW4gJ29ubWVzc2FnZScgaGFuZGxlclxuICogaWYgKFdlYnNvY2tldHMuaXNPbk1lc3NhZ2UoKSkge1xuICogICAgIGNvbnN0IG1lc3NhZ2UgPSBXZWJzb2NrZXRzLmdldE1lc3NhZ2UoKTtcbiAqICAgICBjb25zb2xlLmxvZyhcIlJlY2VpdmVkIG1lc3NhZ2U6XCIsIG1lc3NhZ2UpO1xuICogfVxuICogXG4gKiAvLyBDbG9zZSB0aGUgV2ViU29ja2V0IGNvbm5lY3Rpb24gd2hlbiBkb25lXG4gKiBjbGllbnQuY2xvc2UoKTtcbiAqIGBgYFxuICovXG5cbmNvbnN0IFdlYnNvY2tldHNGYWNhZGUgPSBKYXZhLnR5cGUoXCJvcmcuZWNsaXBzZS5kaXJpZ2libGUuY29tcG9uZW50cy5hcGkud2Vic29ja2V0cy5XZWJzb2NrZXRzRmFjYWRlXCIpO1xuXG4vKipcbiAqIEBjbGFzcyBXZWJzb2NrZXRzXG4gKiBAZGVzY3JpcHRpb24gU3RhdGljIHV0aWxpdHkgY2xhc3MgZm9yIGFjY2Vzc2luZyBhbmQgbWFuYWdpbmcgV2ViU29ja2V0IGZ1bmN0aW9uYWxpdHkuXG4gKi9cbmV4cG9ydCBjbGFzcyBXZWJzb2NrZXRzIHtcblxuXHQvKipcblx0ICogQ3JlYXRlcyBhIG5ldyBXZWJTb2NrZXQgY2xpZW50IGNvbm5lY3Rpb24gdG8gYSBzcGVjaWZpZWQgVVJJLCBtYW5hZ2VkIGJ5IGEgaGFuZGxlciBzY3JpcHQuXG5cdCAqXG5cdCAqIEBwYXJhbSB1cmkgVGhlIHRhcmdldCBXZWJTb2NrZXQgVVJJIChlLmcuLCAnd3M6Ly9leGFtcGxlLmNvbS9zb2NrZXQnKS5cblx0ICogQHBhcmFtIGhhbmRsZXIgVGhlIGlkZW50aWZpZXIgb3IgcGF0aCBvZiB0aGUgc2NyaXB0IGhhbmRsaW5nIHRoZSBXZWJTb2NrZXQgZXZlbnRzLlxuXHQgKiBAcmV0dXJucyBBIHdyYXBwZXIgb2JqZWN0IGZvciB0aGUgbmV3IFdlYlNvY2tldCBzZXNzaW9uLlxuXHQgKi9cblx0cHVibGljIHN0YXRpYyBjcmVhdGVXZWJzb2NrZXQodXJpOiBzdHJpbmcsIGhhbmRsZXI6IHN0cmluZyk6IFdlYnNvY2tldENsaWVudCB7XG5cdFx0Y29uc3Qgc2Vzc2lvbiA9IFdlYnNvY2tldHNGYWNhZGUuY3JlYXRlV2Vic29ja2V0KHVyaSwgaGFuZGxlcik7XG5cdFx0cmV0dXJuIG5ldyBXZWJzb2NrZXRDbGllbnQoc2Vzc2lvbiwgdXJpLCBoYW5kbGVyKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBSZXRyaWV2ZXMgYSBsaXN0IG9mIGFsbCBhY3RpdmUgV2ViU29ja2V0IGNsaWVudHMuXG5cdCAqXG5cdCAqIEByZXR1cm5zIEFuIGFycmF5IG9mIG9iamVjdHMgZGV0YWlsaW5nIHRoZSBVUkkgYW5kIGhhbmRsZXIgb2YgZWFjaCBjbGllbnQuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIGdldENsaWVudHMoKTogeyB1cmk6IHN0cmluZywgaGFuZGxlcjogc3RyaW5nIH1bXSB7XG5cdFx0cmV0dXJuIEpTT04ucGFyc2UoV2Vic29ja2V0c0ZhY2FkZS5nZXRDbGllbnRzQXNKc29uKCkpO1xuXHR9XG5cblx0LyoqXG5cdCAqIFJldHJpZXZlcyBhIHNwZWNpZmljIFdlYlNvY2tldCBjbGllbnQgd3JhcHBlciBieSBpdHMgc2Vzc2lvbiBJRC5cblx0ICpcblx0ICogQHBhcmFtIGlkIFRoZSBzZXNzaW9uIElEIG9mIHRoZSBjbGllbnQuXG5cdCAqIEByZXR1cm5zIFRoZSBjbGllbnQgd3JhcHBlciBvciB1bmRlZmluZWQgaWYgbm90IGZvdW5kLlxuXHQgKi9cblx0cHVibGljIHN0YXRpYyBnZXRDbGllbnQoaWQ6IHN0cmluZyk6IFdlYnNvY2tldENsaWVudCB8IHVuZGVmaW5lZCB7XG5cdFx0Y29uc3QgbmF0aXZlID0gV2Vic29ja2V0c0ZhY2FkZS5nZXRDbGllbnQoaWQpO1xuXHRcdHJldHVybiBuYXRpdmUgPyBuZXcgV2Vic29ja2V0Q2xpZW50KG5hdGl2ZS5nZXRTZXNzaW9uKCksIG5hdGl2ZS5nZXRTZXNzaW9uKCkuZ2V0UmVxdWVzdFVSSSgpLCBuYXRpdmUuZ2V0SGFuZGxlcigpKSA6IHVuZGVmaW5lZDtcblx0fVxuXG5cdC8qKlxuXHQgKiBSZXRyaWV2ZXMgYSBzcGVjaWZpYyBXZWJTb2NrZXQgY2xpZW50IHdyYXBwZXIgYnkgaXRzIGhhbmRsZXIgaWRlbnRpZmllci5cblx0ICpcblx0ICogQHBhcmFtIGhhbmRsZXIgVGhlIGhhbmRsZXIgaWRlbnRpZmllciBhc3NvY2lhdGVkIHdpdGggdGhlIGNsaWVudC5cblx0ICogQHJldHVybnMgVGhlIGNsaWVudCB3cmFwcGVyIG9yIHVuZGVmaW5lZCBpZiBub3QgZm91bmQuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIGdldENsaWVudEJ5SGFuZGxlcihoYW5kbGVyOiBzdHJpbmcpOiBXZWJzb2NrZXRDbGllbnQgfCB1bmRlZmluZWQge1xuXHRcdGNvbnN0IG5hdGl2ZSA9IFdlYnNvY2tldHNGYWNhZGUuZ2V0Q2xpZW50QnlIYW5kbGVyKGhhbmRsZXIpO1xuXHRcdHJldHVybiBuYXRpdmUgPyBuZXcgV2Vic29ja2V0Q2xpZW50KG5hdGl2ZS5nZXRTZXNzaW9uKCksIG5hdGl2ZS5nZXRTZXNzaW9uKCkuZ2V0UmVxdWVzdFVSSSgpLCBuYXRpdmUuZ2V0SGFuZGxlcigpKSA6IHVuZGVmaW5lZDtcblx0fVxuXG5cdC8qKlxuXHQgKiBSZXRyaWV2ZXMgdGhlIG1lc3NhZ2UgcGF5bG9hZCBmcm9tIHRoZSBjdXJyZW50IGNvbnRleHQsIHR5cGljYWxseSB1c2VkIGluc2lkZSBhbiAnb25tZXNzYWdlJyBoYW5kbGVyLlxuXHQgKlxuXHQgKiBAcmV0dXJucyBUaGUgbWVzc2FnZSBjb250ZW50LlxuXHQgKi9cblx0cHVibGljIHN0YXRpYyBnZXRNZXNzYWdlKCk6IGFueSB7XG5cdFx0cmV0dXJuIF9fY29udGV4dC5nZXQoJ21lc3NhZ2UnKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBSZXRyaWV2ZXMgZXJyb3IgZGV0YWlscyBmcm9tIHRoZSBjdXJyZW50IGNvbnRleHQsIHR5cGljYWxseSB1c2VkIGluc2lkZSBhbiAnb25lcnJvcicgaGFuZGxlci5cblx0ICpcblx0ICogQHJldHVybnMgVGhlIGVycm9yIG9iamVjdCBvciBzdHJpbmcuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIGdldEVycm9yKCk6IGFueSB7XG5cdFx0cmV0dXJuIF9fY29udGV4dC5nZXQoJ2Vycm9yJyk7XG5cdH1cblxuXHQvKipcblx0ICogUmV0cmlldmVzIHRoZSBldmVudCBtZXRob2QgbmFtZSB0aGF0IHRyaWdnZXJlZCB0aGUgY3VycmVudCBzY3JpcHQgZXhlY3V0aW9uIChlLmcuLCBcIm9ub3BlblwiLCBcIm9ubWVzc2FnZVwiKS5cblx0ICpcblx0ICogQHJldHVybnMgVGhlIG5hbWUgb2YgdGhlIGV2ZW50IG1ldGhvZC5cblx0ICovXG5cdHB1YmxpYyBzdGF0aWMgZ2V0TWV0aG9kKCk6IHN0cmluZyB7XG5cdFx0Ly8gQXNzdW1lcyBfX2NvbnRleHQgaXMgYSBnbG9iYWwgbWFwIHByb3ZpZGVkIGJ5IHRoZSBleGVjdXRpb24gZW52aXJvbm1lbnRcblx0XHRyZXR1cm4gX19jb250ZXh0LmdldCgnbWV0aG9kJyk7XG5cdH1cblxuXHQvKipcblx0ICogQ2hlY2tzIGlmIHRoZSBjdXJyZW50IGV2ZW50IGNvbnRleHQgaXMgJ29ub3BlbicuXG5cdCAqIEByZXR1cm5zIFRydWUgaWYgdGhlIG1ldGhvZCBpcyAnb25vcGVuJy5cblx0ICovXG5cdHB1YmxpYyBzdGF0aWMgaXNPbk9wZW4oKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIHRoaXMuZ2V0TWV0aG9kKCkgPT09IFwib25vcGVuXCI7XG5cdH1cblxuXHQvKipcblx0ICogQ2hlY2tzIGlmIHRoZSBjdXJyZW50IGV2ZW50IGNvbnRleHQgaXMgJ29ubWVzc2FnZScuXG5cdCAqIEByZXR1cm5zIFRydWUgaWYgdGhlIG1ldGhvZCBpcyAnb25tZXNzYWdlJy5cblx0ICovXG5cdHB1YmxpYyBzdGF0aWMgaXNPbk1lc3NhZ2UoKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIHRoaXMuZ2V0TWV0aG9kKCkgPT09IFwib25tZXNzYWdlXCI7XG5cdH1cblxuXHQvKipcblx0ICogQ2hlY2tzIGlmIHRoZSBjdXJyZW50IGV2ZW50IGNvbnRleHQgaXMgJ29uZXJyb3InLlxuXHQgKiBAcmV0dXJucyBUcnVlIGlmIHRoZSBtZXRob2QgaXMgJ29uZXJyb3InLlxuXHQgKi9cblx0cHVibGljIHN0YXRpYyBpc09uRXJyb3IoKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIHRoaXMuZ2V0TWV0aG9kKCkgPT09IFwib25lcnJvclwiO1xuXHR9XG5cblx0LyoqXG5cdCAqIENoZWNrcyBpZiB0aGUgY3VycmVudCBldmVudCBjb250ZXh0IGlzICdvbmNsb3NlJy5cblx0ICogQHJldHVybnMgVHJ1ZSBpZiB0aGUgbWV0aG9kIGlzICdvbmNsb3NlJy5cblx0ICovXG5cdHB1YmxpYyBzdGF0aWMgaXNPbkNsb3NlKCk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiB0aGlzLmdldE1ldGhvZCgpID09PSBcIm9uY2xvc2VcIjtcblx0fVxufVxuXG4vKipcbiAqIEBjbGFzcyBXZWJzb2NrZXRDbGllbnRcbiAqIEBkZXNjcmlwdGlvbiBXcmFwcGVyIGZvciBhIG5hdGl2ZSBXZWJTb2NrZXQgc2Vzc2lvbiwgcHJvdmlkaW5nIG1ldGhvZHMgdG8gc2VuZCBhbmQgY2xvc2UgdGhlIGNvbm5lY3Rpb24uXG4gKi9cbmNsYXNzIFdlYnNvY2tldENsaWVudCB7XG5cdC8vIFJlbmFtZWQgdG8gX3Nlc3Npb24gZm9yIGJldHRlciBlbmNhcHN1bGF0aW9uIG9mIHRoZSBuYXRpdmUgSmF2YSBvYmplY3Rcblx0cHJpdmF0ZSByZWFkb25seSBfc2Vzc2lvbjogbnVsbCB8IGFueTtcblx0cHJpdmF0ZSByZWFkb25seSB1cmk6IHN0cmluZztcblx0cHJpdmF0ZSByZWFkb25seSBoYW5kbGVyOiBzdHJpbmc7XG5cblx0LyoqXG5cdCAqIEBwYXJhbSBzZXNzaW9uIFRoZSBuYXRpdmUgSmF2YSBzZXNzaW9uIG9iamVjdC5cblx0ICogQHBhcmFtIHVyaSBUaGUgY29ubmVjdGVkIFVSSS5cblx0ICogQHBhcmFtIGhhbmRsZXIgVGhlIGhhbmRsZXIgaWRlbnRpZmllci5cblx0ICovXG5cdGNvbnN0cnVjdG9yKHNlc3Npb246IG51bGwgfCBhbnksIHVyaTogc3RyaW5nLCBoYW5kbGVyOiBzdHJpbmcpIHtcblx0XHR0aGlzLl9zZXNzaW9uID0gc2Vzc2lvbjtcblx0XHR0aGlzLnVyaSA9IHVyaTtcblx0XHR0aGlzLmhhbmRsZXIgPSBoYW5kbGVyO1xuXHR9XG5cblx0LyoqXG5cdCAqIFNlbmRzIGEgdGV4dCBtZXNzYWdlIG92ZXIgdGhlIFdlYlNvY2tldCBjb25uZWN0aW9uLlxuXHQgKiBAcGFyYW0gdGV4dCBUaGUgbWVzc2FnZSB0byBzZW5kLlxuXHQgKi9cblx0cHVibGljIHNlbmQodGV4dDogc3RyaW5nKTogdm9pZCB7XG5cdFx0aWYgKCF0aGlzLl9zZXNzaW9uIHx8IHRoaXMuX3Nlc3Npb24gPT09IG51bGwpIHtcblx0XHRcdGNvbnNvbGUuZXJyb3IoXCJXZWJzb2NrZXQgU2Vzc2lvbiBpcyBudWxsLiBNZXNzYWdlIG5vdCBzZW50LlwiKTtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cdFx0dGhpcy5fc2Vzc2lvbi5zZW5kKHRoaXMudXJpLCB0ZXh0KTtcblx0fTtcblxuXHQvKipcblx0ICogQ2xvc2VzIHRoZSBXZWJTb2NrZXQgY29ubmVjdGlvbi5cblx0ICovXG5cdHB1YmxpYyBjbG9zZSgpOiB2b2lkIHtcblx0XHRpZiAodGhpcy5fc2Vzc2lvbikge1xuXHRcdFx0dGhpcy5fc2Vzc2lvbi5jbG9zZSgpO1xuXHRcdH1cblx0fVxufVxuXG4vLyBAdHMtaWdub3JlXG5pZiAodHlwZW9mIG1vZHVsZSAhPT0gJ3VuZGVmaW5lZCcpIHtcblx0Ly8gQHRzLWlnbm9yZVxuXHRtb2R1bGUuZXhwb3J0cyA9IFdlYnNvY2tldHM7XG59Il0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBbUNBLE1BQU0sbUJBQW1CLEtBQUssS0FBSyxrRUFBa0U7QUFNOUYsTUFBTSxXQUFXO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVN2QixPQUFjLGdCQUFnQixLQUFhLFNBQWtDO0FBQzVFLFVBQU0sVUFBVSxpQkFBaUIsZ0JBQWdCLEtBQUssT0FBTztBQUM3RCxXQUFPLElBQUksZ0JBQWdCLFNBQVMsS0FBSyxPQUFPO0FBQUEsRUFDakQ7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPQSxPQUFjLGFBQWlEO0FBQzlELFdBQU8sS0FBSyxNQUFNLGlCQUFpQixpQkFBaUIsQ0FBQztBQUFBLEVBQ3REO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRQSxPQUFjLFVBQVUsSUFBeUM7QUFDaEUsVUFBTSxTQUFTLGlCQUFpQixVQUFVLEVBQUU7QUFDNUMsV0FBTyxTQUFTLElBQUksZ0JBQWdCLE9BQU8sV0FBVyxHQUFHLE9BQU8sV0FBVyxFQUFFLGNBQWMsR0FBRyxPQUFPLFdBQVcsQ0FBQyxJQUFJO0FBQUEsRUFDdEg7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVFBLE9BQWMsbUJBQW1CLFNBQThDO0FBQzlFLFVBQU0sU0FBUyxpQkFBaUIsbUJBQW1CLE9BQU87QUFDMUQsV0FBTyxTQUFTLElBQUksZ0JBQWdCLE9BQU8sV0FBVyxHQUFHLE9BQU8sV0FBVyxFQUFFLGNBQWMsR0FBRyxPQUFPLFdBQVcsQ0FBQyxJQUFJO0FBQUEsRUFDdEg7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPQSxPQUFjLGFBQWtCO0FBQy9CLFdBQU8sVUFBVSxJQUFJLFNBQVM7QUFBQSxFQUMvQjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU9BLE9BQWMsV0FBZ0I7QUFDN0IsV0FBTyxVQUFVLElBQUksT0FBTztBQUFBLEVBQzdCO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBT0EsT0FBYyxZQUFvQjtBQUVqQyxXQUFPLFVBQVUsSUFBSSxRQUFRO0FBQUEsRUFDOUI7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBTUEsT0FBYyxXQUFvQjtBQUNqQyxXQUFPLEtBQUssVUFBVSxNQUFNO0FBQUEsRUFDN0I7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBTUEsT0FBYyxjQUF1QjtBQUNwQyxXQUFPLEtBQUssVUFBVSxNQUFNO0FBQUEsRUFDN0I7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBTUEsT0FBYyxZQUFxQjtBQUNsQyxXQUFPLEtBQUssVUFBVSxNQUFNO0FBQUEsRUFDN0I7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBTUEsT0FBYyxZQUFxQjtBQUNsQyxXQUFPLEtBQUssVUFBVSxNQUFNO0FBQUEsRUFDN0I7QUFDRDtBQU1BLE1BQU0sZ0JBQWdCO0FBQUE7QUFBQSxFQUVKO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPakIsWUFBWSxTQUFxQixLQUFhLFNBQWlCO0FBQzlELFNBQUssV0FBVztBQUNoQixTQUFLLE1BQU07QUFDWCxTQUFLLFVBQVU7QUFBQSxFQUNoQjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFNTyxLQUFLLE1BQW9CO0FBQy9CLFFBQUksQ0FBQyxLQUFLLFlBQVksS0FBSyxhQUFhLE1BQU07QUFDN0MsY0FBUSxNQUFNLDhDQUE4QztBQUM1RDtBQUFBLElBQ0Q7QUFDQSxTQUFLLFNBQVMsS0FBSyxLQUFLLEtBQUssSUFBSTtBQUFBLEVBQ2xDO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFLTyxRQUFjO0FBQ3BCLFFBQUksS0FBSyxVQUFVO0FBQ2xCLFdBQUssU0FBUyxNQUFNO0FBQUEsSUFDckI7QUFBQSxFQUNEO0FBQ0Q7QUFHQSxJQUFJLE9BQU8sV0FBVyxhQUFhO0FBRWxDLFNBQU8sVUFBVTtBQUNsQjsiLAogICJuYW1lcyI6IFtdCn0K
@@ -23,4 +23,4 @@ __export(pdf_exports, {
23
23
  module.exports = __toCommonJS(pdf_exports);
24
24
  __reExport(pdf_exports, require("./pdf"), module.exports);
25
25
  var import_pdf = require("./pdf");
26
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3BkZi9pbmRleC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiZXhwb3J0ICogZnJvbSBcIi4vcGRmXCI7XG5leHBvcnQgeyBQREYgYXMgcGRmIH0gZnJvbSBcIi4vcGRmXCI7XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsd0JBQWMsa0JBQWQ7QUFDQSxpQkFBMkI7IiwKICAibmFtZXMiOiBbXQp9Cg==
26
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3BkZi9pbmRleC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAbW9kdWxlIHBkZi9pbmRleFxuICogQHBhY2thZ2UgQGFlcm9raXQvc2RrL3BkZlxuICogQG92ZXJ2aWV3XG4gKiBcbiAqIFRoaXMgbW9kdWxlIHByb3ZpZGVzIGZ1bmN0aW9uYWxpdGllcyBmb3IgUERGIGdlbmVyYXRpb24gYW5kIG1hbmlwdWxhdGlvbiB3aXRoaW4gdGhlIEFlcm9raXQgU0RLLiBJdCBpbmNsdWRlcyBjbGFzc2VzIGFuZCBtZXRob2RzIGZvciBjcmVhdGluZyBQREYgZG9jdW1lbnRzLCBhZGRpbmcgY29udGVudCB0byBQREZzLCBhbmQgbWFuYWdpbmcgUERGIGNvbmZpZ3VyYXRpb25zLlxuICogXG4gKiBUaGUgbWFpbiBjb21wb25lbnRzIG9mIHRoaXMgbW9kdWxlIGFyZTpcbiAqIC0gUERGOiBSZXByZXNlbnRzIGEgUERGIGRvY3VtZW50IGFuZCBwcm92aWRlcyBtZXRob2RzIHRvIGNyZWF0ZSBhbmQgbWFuaXB1bGF0ZSBQREYgY29udGVudC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tIFwiLi9wZGZcIjtcbmV4cG9ydCB7IFBERiBhcyBwZGYgfSBmcm9tIFwiLi9wZGZcIjtcbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFXQSx3QkFBYyxrQkFYZDtBQVlBLGlCQUEyQjsiLAogICJuYW1lcyI6IFtdCn0K
@@ -31,7 +31,7 @@ class PDF {
31
31
  *
32
32
  * @param {PDFTableData} data The structured data to populate the table.
33
33
  * @param {PDFTableConfig} [config] Optional configuration for page size and alignment.
34
- * @returns {any[]} The generated PDF content as a byte array (Array<number>).
34
+ * @returns {any[]} The generated PDF content as a byte array (number[]).
35
35
  */
36
36
  static generateTable(data, config) {
37
37
  const defaultTemplateParameters = {
@@ -58,7 +58,7 @@ class PDF {
58
58
  *
59
59
  * @param {string} templatePath The path to the custom template file (e.g., in the Registry).
60
60
  * @param {PDFTableData} data The data to be injected into the template.
61
- * @returns {any[]} The generated PDF content as a byte array (Array<number>).
61
+ * @returns {any[]} The generated PDF content as a byte array (number[]).
62
62
  */
63
63
  static generate(templatePath, data) {
64
64
  const template = import_registry.Registry.getText(templatePath);
@@ -157,4 +157,4 @@ class PDF {
157
157
  if (typeof module !== "undefined") {
158
158
  module.exports = PDF;
159
159
  }
160
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3BkZi9wZGYudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImltcG9ydCB7IFJlZ2lzdHJ5IH0gZnJvbSBcIkBhZXJva2l0L3Nkay9wbGF0Zm9ybS9yZWdpc3RyeVwiO1xuaW1wb3J0IHsgWE1MIH0gZnJvbSBcIkBhZXJva2l0L3Nkay91dGlscy94bWxcIjtcbmltcG9ydCB7IFRlbXBsYXRlRW5naW5lcyB9IGZyb20gXCJAYWVyb2tpdC9zZGsvdGVtcGxhdGVcIjtcbmNvbnN0IFBERkZhY2FkZSA9IEphdmEudHlwZShcIm9yZy5lY2xpcHNlLmRpcmlnaWJsZS5jb21wb25lbnRzLmFwaS5wZGYuUERGRmFjYWRlXCIpO1xuXG4vLyBQYXRoIHRvIHRoZSBkZWZhdWx0IHRhYmxlIHRlbXBsYXRlXG5jb25zdCBURU1QTEFURV9QQVRIX1RBQkxFID0gXCJwZGYvdGVtcGxhdGVzL3RhYmxlLnhtbFwiO1xuXG4vKipcbiAqIEludGVyZmFjZSBkZWZpbmluZyB0aGUgc3RydWN0dXJlZCBkYXRhIHJlcXVpcmVkIHRvIGdlbmVyYXRlIGEgdGFibGUgaW4gYSBQREYuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUERGVGFibGVEYXRhIHtcbiAgICB0aXRsZTogc3RyaW5nO1xuICAgIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gICAgY29sdW1uczoge1xuICAgICAgICBuYW1lOiBzdHJpbmcgLy8gRGlzcGxheSBuYW1lIG9mIHRoZSBjb2x1bW5cbiAgICAgICAga2V5OiBzdHJpbmcgIC8vIERhdGEga2V5IHRvIGxvb2sgdXAgaW4gdGhlIHJvd3NcbiAgICB9W10sXG4gICAgcm93czogeyBba2V5OiBzdHJpbmddOiBhbnkgfVtdIC8vIEFycmF5IG9mIGRhdGEgb2JqZWN0cyBmb3IgZWFjaCByb3dcbn1cblxuLyoqXG4gKiBJbnRlcmZhY2UgZGVmaW5pbmcgb3B0aW9uYWwgY29uZmlndXJhdGlvbiBmb3IgUERGIGRvY3VtZW50IGxheW91dC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQREZUYWJsZUNvbmZpZyB7XG4gICAgLyoqIERvY3VtZW50IHdpZHRoIGluIG1tLiBPdmVycmlkZXMgc2l6ZSBpZiBwcmVzZW50LiAqL1xuICAgIHBhZ2VXaWR0aD86IG51bWJlcjtcbiAgICAvKiogRG9jdW1lbnQgaGVpZ2h0IGluIG1tLiBPdmVycmlkZXMgc2l6ZSBpZiBwcmVzZW50LiAqL1xuICAgIHBhZ2VIZWlnaHQ/OiBudW1iZXI7XG4gICAgLyoqIFdoZXRoZXIgdG8gYXBwbHkgY29sdW1uIGFsaWdubWVudCAoYmFzZWQgb24gdGVtcGxhdGUgZGVmYXVsdCkuICovXG4gICAgYWxpZ25Db2x1bW5zPzogYm9vbGVhbjtcbiAgICAvKiogV2hldGhlciB0byBhcHBseSByb3cgYWxpZ25tZW50IChiYXNlZCBvbiB0ZW1wbGF0ZSBkZWZhdWx0KS4gKi9cbiAgICBhbGlnblJvd3M/OiBib29sZWFuO1xuICAgIC8qKiBTdGFuZGFyZCBJU08gMjE2IHBhcGVyIHNpemUgKEEwLUExMCkuIFNldHMgc3RhbmRhcmQgZGltZW5zaW9ucyBpZiBjdXN0b20gd2lkdGgvaGVpZ2h0IGFyZSBub3QgcHJvdmlkZWQuICovXG4gICAgc2l6ZT86IFwiYTBcIiB8IFwiYTFcIiB8IFwiYTJcIiB8IFwiYTNcIiB8IFwiYTRcIiB8IFwiYTVcIiB8IFwiYTZcIiB8IFwiYTdcIiB8IFwiYThcIiB8IFwiYTlcIiB8IFwiYTEwXCI7XG59XG5cbi8qKlxuICogSW50ZXJuYWwgaW50ZXJmYWNlIGZvciB0ZW1wbGF0ZSBwYXJhbWV0ZXJzLCBpbmNsdWRpbmcgZGF0YSBhbmQgY29uZmlndXJhdGlvbi5cbiAqL1xuaW50ZXJmYWNlIFRlbXBsYXRlUGFyYW1ldGVycyBleHRlbmRzIFBERlRhYmxlRGF0YSB7XG4gICAgcGFnZVdpZHRoOiBzdHJpbmc7XG4gICAgcGFnZUhlaWdodDogc3RyaW5nO1xuICAgIC8vIE5vdGU6IGFsaWduQ29sdW1ucy9Sb3dzIGFyZSB0eXBlZCBhcyBzdHJpbmcgaGVyZSB0byBtYXRjaCB0aGUgZGVmYXVsdCB2YWx1ZSAoXCJjZW50ZXJcIilcbiAgICAvLyBidXQgbWF5IGJlIG92ZXJ3cml0dGVuIGJ5IGJvb2xlYW5zIGZyb20gY29uZmlnIGR1ZSB0byB0aGUgb3JpZ2luYWwgbG9naWMuXG4gICAgYWxpZ25Db2x1bW5zOiBzdHJpbmcgfCBib29sZWFuO1xuICAgIGFsaWduUm93czogc3RyaW5nIHwgYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBAY2xhc3MgUERGXG4gKiBAZGVzY3JpcHRpb24gVXRpbGl0eSBjbGFzcyBmb3IgZ2VuZXJhdGluZyBQREYgZG9jdW1lbnRzIHVzaW5nIGEgdGVtcGxhdGUgZW5naW5lIGFuZCB0aGUgUERGRmFjYWRlLlxuICovXG5leHBvcnQgY2xhc3MgUERGIHtcblxuICAgIC8qKlxuICAgICAqIEdlbmVyYXRlcyBhIFBERiBkb2N1bWVudCBjb250YWluaW5nIGEgc3R5bGVkIHRhYmxlIGJhc2VkIG9uIHRoZSBzdGFuZGFyZCB0YWJsZSB0ZW1wbGF0ZS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB7UERGVGFibGVEYXRhfSBkYXRhIFRoZSBzdHJ1Y3R1cmVkIGRhdGEgdG8gcG9wdWxhdGUgdGhlIHRhYmxlLlxuICAgICAqIEBwYXJhbSB7UERGVGFibGVDb25maWd9IFtjb25maWddIE9wdGlvbmFsIGNvbmZpZ3VyYXRpb24gZm9yIHBhZ2Ugc2l6ZSBhbmQgYWxpZ25tZW50LlxuICAgICAqIEByZXR1cm5zIHthbnlbXX0gVGhlIGdlbmVyYXRlZCBQREYgY29udGVudCBhcyBhIGJ5dGUgYXJyYXkgKEFycmF5PG51bWJlcj4pLlxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgZ2VuZXJhdGVUYWJsZShkYXRhOiBQREZUYWJsZURhdGEsIGNvbmZpZz86IFBERlRhYmxlQ29uZmlnKTogYW55W10ge1xuICAgICAgICBjb25zdCBkZWZhdWx0VGVtcGxhdGVQYXJhbWV0ZXJzOiBPbWl0PFRlbXBsYXRlUGFyYW1ldGVycywga2V5b2YgUERGVGFibGVEYXRhPiA9IHtcbiAgICAgICAgICAgIC8vIERlZmF1bHQgQTQgc2l6ZSBpbiBtbVxuICAgICAgICAgICAgcGFnZVdpZHRoOiBcIjIxMFwiLFxuICAgICAgICAgICAgcGFnZUhlaWdodDogXCIyOTdcIixcbiAgICAgICAgICAgIGFsaWduQ29sdW1uczogXCJjZW50ZXJcIixcbiAgICAgICAgICAgIGFsaWduUm93czogXCJjZW50ZXJcIlxuICAgICAgICB9O1xuXG4gICAgICAgIGxldCB0ZW1wbGF0ZVBhcmFtZXRlcnM6IFRlbXBsYXRlUGFyYW1ldGVycyA9IHtcbiAgICAgICAgICAgIC4uLmRlZmF1bHRUZW1wbGF0ZVBhcmFtZXRlcnMsXG4gICAgICAgICAgICAuLi5kYXRhXG4gICAgICAgIH0gYXMgVGVtcGxhdGVQYXJhbWV0ZXJzOyAvLyBDYXN0IG5lZWRlZCBkdWUgdG8gdGhlIG1lcmdpbmcgb2YgdHlwZXNcblxuICAgICAgICBQREYuc2V0VGVtcGxhdGVQYXJhbWV0ZXJzKHRlbXBsYXRlUGFyYW1ldGVycywgY29uZmlnKTtcblxuICAgICAgICBjb25zdCB0ZW1wbGF0ZSA9IFJlZ2lzdHJ5LmdldFRleHQoVEVNUExBVEVfUEFUSF9UQUJMRSk7XG4gICAgICAgIGNvbnN0IHBkZlRlbXBsYXRlID0gVGVtcGxhdGVFbmdpbmVzLmdlbmVyYXRlKFRFTVBMQVRFX1BBVEhfVEFCTEUsIHRlbXBsYXRlLCB0ZW1wbGF0ZVBhcmFtZXRlcnMpO1xuXG4gICAgICAgIC8vIENvbnZlcnQgZGF0YSBwYXlsb2FkIHRvIFhNTCBmb3JtYXQgZXhwZWN0ZWQgYnkgdGhlIHVuZGVybHlpbmcgSmF2YSBQREZGYWNhZGVcbiAgICAgICAgY29uc3QgeG1sRGF0YSA9IFhNTC5mcm9tSnNvbih7XG4gICAgICAgICAgICBjb250ZW50OiBkYXRhXG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gUERGRmFjYWRlLmdlbmVyYXRlKHBkZlRlbXBsYXRlLCB4bWxEYXRhKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZW5lcmF0ZXMgYSBQREYgZG9jdW1lbnQgdXNpbmcgYSBjdXN0b20gdGVtcGxhdGUgcGF0aCBhbmQgZGF0YSBwYXlsb2FkLlxuICAgICAqXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IHRlbXBsYXRlUGF0aCBUaGUgcGF0aCB0byB0aGUgY3VzdG9tIHRlbXBsYXRlIGZpbGUgKGUuZy4sIGluIHRoZSBSZWdpc3RyeSkuXG4gICAgICogQHBhcmFtIHtQREZUYWJsZURhdGF9IGRhdGEgVGhlIGRhdGEgdG8gYmUgaW5qZWN0ZWQgaW50byB0aGUgdGVtcGxhdGUuXG4gICAgICogQHJldHVybnMge2FueVtdfSBUaGUgZ2VuZXJhdGVkIFBERiBjb250ZW50IGFzIGEgYnl0ZSBhcnJheSAoQXJyYXk8bnVtYmVyPikuXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBnZW5lcmF0ZSh0ZW1wbGF0ZVBhdGg6IHN0cmluZywgZGF0YTogUERGVGFibGVEYXRhKTogYW55W10ge1xuICAgICAgICBjb25zdCB0ZW1wbGF0ZSA9IFJlZ2lzdHJ5LmdldFRleHQodGVtcGxhdGVQYXRoKTtcblxuICAgICAgICAvLyBDb252ZXJ0IGRhdGEgcGF5bG9hZCB0byBYTUwgZm9ybWF0IGV4cGVjdGVkIGJ5IHRoZSB1bmRlcmx5aW5nIEphdmEgUERGRmFjYWRlXG4gICAgICAgIGNvbnN0IHhtbERhdGEgPSBYTUwuZnJvbUpzb24oe1xuICAgICAgICAgICAgY29udGVudDogZGF0YVxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIFBERkZhY2FkZS5nZW5lcmF0ZSh0ZW1wbGF0ZSwgeG1sRGF0YSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSW50ZXJuYWwgbWV0aG9kIHRvIHNldCB0ZW1wbGF0ZSBwYXJhbWV0ZXJzIGJhc2VkIG9uIG9wdGlvbmFsIGNvbmZpZ3VyYXRpb24uXG4gICAgICpcbiAgICAgKiBAcGFyYW0ge1RlbXBsYXRlUGFyYW1ldGVyc30gdGVtcGxhdGVQYXJhbWV0ZXJzIFRoZSBvYmplY3QgY29udGFpbmluZyBwYXJhbWV0ZXJzIHRvIGJlIG1vZGlmaWVkLlxuICAgICAqIEBwYXJhbSB7UERGVGFibGVDb25maWd9IFtjb25maWddIFRoZSBvcHRpb25hbCBjb25maWd1cmF0aW9uIG9iamVjdC5cbiAgICAgKi9cbiAgICBwcml2YXRlIHN0YXRpYyBzZXRUZW1wbGF0ZVBhcmFtZXRlcnModGVtcGxhdGVQYXJhbWV0ZXJzOiBUZW1wbGF0ZVBhcmFtZXRlcnMsIGNvbmZpZz86IFBERlRhYmxlQ29uZmlnKTogdm9pZCB7XG4gICAgICAgIFBERi5zZXREb2N1bWVudFNpemUodGVtcGxhdGVQYXJhbWV0ZXJzLCBjb25maWcpO1xuICAgICAgICBQREYuc2V0RG9jdW1lbnRBbGlnbih0ZW1wbGF0ZVBhcmFtZXRlcnMsIGNvbmZpZyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSW50ZXJuYWwgbWV0aG9kIHRvIHNldCBjb2x1bW4gYW5kIHJvdyBhbGlnbm1lbnQgcGFyYW1ldGVycy5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB7VGVtcGxhdGVQYXJhbWV0ZXJzfSB0ZW1wbGF0ZVBhcmFtZXRlcnMgVGhlIG9iamVjdCBjb250YWluaW5nIHBhcmFtZXRlcnMgdG8gYmUgbW9kaWZpZWQuXG4gICAgICogQHBhcmFtIHtQREZUYWJsZUNvbmZpZ30gW2NvbmZpZ10gVGhlIG9wdGlvbmFsIGNvbmZpZ3VyYXRpb24gb2JqZWN0LlxuICAgICAqL1xuICAgIHByaXZhdGUgc3RhdGljIHNldERvY3VtZW50QWxpZ24odGVtcGxhdGVQYXJhbWV0ZXJzOiBUZW1wbGF0ZVBhcmFtZXRlcnMsIGNvbmZpZz86IFBERlRhYmxlQ29uZmlnKTogdm9pZCB7XG4gICAgICAgIC8vIE9ubHkgb3ZlcnJpZGUgaWYgdGhlIGNvbmZpZyB2YWx1ZSBpcyBleHBsaWNpdGx5IHByZXNlbnQgYW5kIHRydXRoeSAobWFpbnRhaW5pbmcgb3JpZ2luYWwgYmVoYXZpb3IpXG4gICAgICAgIGlmIChjb25maWc/LmFsaWduQ29sdW1ucykge1xuICAgICAgICAgICAgdGVtcGxhdGVQYXJhbWV0ZXJzLmFsaWduQ29sdW1ucyA9IGNvbmZpZy5hbGlnbkNvbHVtbnM7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGNvbmZpZz8uYWxpZ25Sb3dzKSB7XG4gICAgICAgICAgICB0ZW1wbGF0ZVBhcmFtZXRlcnMuYWxpZ25Sb3dzID0gY29uZmlnLmFsaWduUm93cztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEludGVybmFsIG1ldGhvZCB0byBzZXQgdGhlIGRvY3VtZW50IHNpemUgKHdpZHRoIGFuZCBoZWlnaHQgaW4gbW0pIGJhc2VkIG9uIGEgc3RhbmRhcmQgJ3NpemUnIG9yIGN1c3RvbSBkaW1lbnNpb25zLlxuICAgICAqXG4gICAgICogQHBhcmFtIHtUZW1wbGF0ZVBhcmFtZXRlcnN9IHRlbXBsYXRlUGFyYW1ldGVycyBUaGUgb2JqZWN0IGNvbnRhaW5pbmcgcGFyYW1ldGVycyB0byBiZSBtb2RpZmllZC5cbiAgICAgKiBAcGFyYW0ge1BERlRhYmxlQ29uZmlnfSBbY29uZmlnXSBUaGUgb3B0aW9uYWwgY29uZmlndXJhdGlvbiBvYmplY3QuXG4gICAgICovXG4gICAgcHJpdmF0ZSBzdGF0aWMgc2V0RG9jdW1lbnRTaXplKHRlbXBsYXRlUGFyYW1ldGVyczogVGVtcGxhdGVQYXJhbWV0ZXJzLCBjb25maWc/OiBQREZUYWJsZUNvbmZpZyk6IHZvaWQge1xuICAgICAgICBpZiAoY29uZmlnPy5wYWdlV2lkdGggIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGVtcGxhdGVQYXJhbWV0ZXJzLnBhZ2VXaWR0aCA9IFN0cmluZyhjb25maWcucGFnZVdpZHRoKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoY29uZmlnPy5wYWdlSGVpZ2h0ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRlbXBsYXRlUGFyYW1ldGVycy5wYWdlSGVpZ2h0ID0gU3RyaW5nKGNvbmZpZy5wYWdlSGVpZ2h0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChjb25maWc/LnNpemUpIHtcbiAgICAgICAgICAgIC8vIE1hcHBpbmcgSVNPIDIxNiBwYXBlciBzaXplcyAoaW4gbWlsbGltZXRlcnMpXG4gICAgICAgICAgICBzd2l0Y2ggKGNvbmZpZy5zaXplLnRvTG93ZXJDYXNlKCkpIHtcbiAgICAgICAgICAgICAgICBjYXNlIFwiYTBcIjpcbiAgICAgICAgICAgICAgICAgICAgdGVtcGxhdGVQYXJhbWV0ZXJzLnBhZ2VXaWR0aCA9IFwiODQxXCI7XG4gICAgICAgICAgICAgICAgICAgIHRlbXBsYXRlUGFyYW1ldGVycy5wYWdlSGVpZ2h0ID0gXCIxMTg5XCI7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgXCJhMVwiOlxuICAgICAgICAgICAgICAgICAgICB0ZW1wbGF0ZVBhcmFtZXRlcnMucGFnZVdpZHRoID0gXCI1OTRcIjtcbiAgICAgICAgICAgICAgICAgICAgdGVtcGxhdGVQYXJhbWV0ZXJzLnBhZ2VIZWlnaHQgPSBcIjg0MVwiO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlIFwiYTJcIjpcbiAgICAgICAgICAgICAgICAgICAgdGVtcGxhdGVQYXJhbWV0ZXJzLnBhZ2VXaWR0aCA9IFwiNDIwXCI7XG4gICAgICAgICAgICAgICAgICAgIHRlbXBsYXRlUGFyYW1ldGVycy5wYWdlSGVpZ2h0ID0gXCI1OTRcIjtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSBcImEzXCI6XG4gICAgICAgICAgICAgICAgICAgIHRlbXBsYXRlUGFyYW1ldGVycy5wYWdlV2lkdGggPSBcIjI5N1wiO1xuICAgICAgICAgICAgICAgICAgICB0ZW1wbGF0ZVBhcmFtZXRlcnMucGFnZUhlaWdodCA9IFwiNDIwXCI7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgXCJhNFwiOiAvLyBEZWZhdWx0XG4gICAgICAgICAgICAgICAgICAgIHRlbXBsYXRlUGFyYW1ldGVycy5wYWdlV2lkdGggPSBcIjIxMFwiO1xuICAgICAgICAgICAgICAgICAgICB0ZW1wbGF0ZVBhcmFtZXRlcnMucGFnZUhlaWdodCA9IFwiMjk3XCI7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgXCJhNVwiOlxuICAgICAgICAgICAgICAgICAgICB0ZW1wbGF0ZVBhcmFtZXRlcnMucGFnZVdpZHRoID0gXCIxNDhcIjtcbiAgICAgICAgICAgICAgICAgICAgdGVtcGxhdGVQYXJhbWV0ZXJzLnBhZ2VIZWlnaHQgPSBcIjIxMFwiO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlIFwiYTZcIjpcbiAgICAgICAgICAgICAgICAgICAgdGVtcGxhdGVQYXJhbWV0ZXJzLnBhZ2VXaWR0aCA9IFwiMTA1XCI7XG4gICAgICAgICAgICAgICAgICAgIHRlbXBsYXRlUGFyYW1ldGVycy5wYWdlSGVpZ2h0ID0gXCIxNDhcIjtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSBcImE3XCI6XG4gICAgICAgICAgICAgICAgICAgIHRlbXBsYXRlUGFyYW1ldGVycy5wYWdlV2lkdGggPSBcIjc0XCI7XG4gICAgICAgICAgICAgICAgICAgIHRlbXBsYXRlUGFyYW1ldGVycy5wYWdlSGVpZ2h0ID0gXCIxMDVcIjtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSBcImE4XCI6XG4gICAgICAgICAgICAgICAgICAgIHRlbXBsYXRlUGFyYW1ldGVycy5wYWdlV2lkdGggPSBcIjUyXCI7XG4gICAgICAgICAgICAgICAgICAgIHRlbXBsYXRlUGFyYW1ldGVycy5wYWdlSGVpZ2h0ID0gXCI3NFwiO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlIFwiYTlcIjpcbiAgICAgICAgICAgICAgICAgICAgdGVtcGxhdGVQYXJhbWV0ZXJzLnBhZ2VXaWR0aCA9IFwiMzdcIjtcbiAgICAgICAgICAgICAgICAgICAgdGVtcGxhdGVQYXJhbWV0ZXJzLnBhZ2VIZWlnaHQgPSBcIjUyXCI7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgXCJhMTBcIjpcbiAgICAgICAgICAgICAgICAgICAgdGVtcGxhdGVQYXJhbWV0ZXJzLnBhZ2VXaWR0aCA9IFwiMjZcIjtcbiAgICAgICAgICAgICAgICAgICAgdGVtcGxhdGVQYXJhbWV0ZXJzLnBhZ2VIZWlnaHQgPSBcIjM3XCI7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBAdHMtaWdub3JlXG5pZiAodHlwZW9mIG1vZHVsZSAhPT0gJ3VuZGVmaW5lZCcpIHtcblx0Ly8gQHRzLWlnbm9yZVxuXHRtb2R1bGUuZXhwb3J0cyA9IFBERjtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLHNCQUF5QjtBQUN6QixpQkFBb0I7QUFDcEIsc0JBQWdDO0FBQ2hDLE1BQU0sWUFBWSxLQUFLLEtBQUssb0RBQW9EO0FBR2hGLE1BQU0sc0JBQXNCO0FBK0NyQixNQUFNLElBQUk7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBU2IsT0FBYyxjQUFjLE1BQW9CLFFBQWdDO0FBQzVFLFVBQU0sNEJBQTBFO0FBQUE7QUFBQSxNQUU1RSxXQUFXO0FBQUEsTUFDWCxZQUFZO0FBQUEsTUFDWixjQUFjO0FBQUEsTUFDZCxXQUFXO0FBQUEsSUFDZjtBQUVBLFFBQUkscUJBQXlDO0FBQUEsTUFDekMsR0FBRztBQUFBLE1BQ0gsR0FBRztBQUFBLElBQ1A7QUFFQSxRQUFJLHNCQUFzQixvQkFBb0IsTUFBTTtBQUVwRCxVQUFNLFdBQVcseUJBQVMsUUFBUSxtQkFBbUI7QUFDckQsVUFBTSxjQUFjLGdDQUFnQixTQUFTLHFCQUFxQixVQUFVLGtCQUFrQjtBQUc5RixVQUFNLFVBQVUsZUFBSSxTQUFTO0FBQUEsTUFDekIsU0FBUztBQUFBLElBQ2IsQ0FBQztBQUNELFdBQU8sVUFBVSxTQUFTLGFBQWEsT0FBTztBQUFBLEVBQ2xEO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVNBLE9BQWMsU0FBUyxjQUFzQixNQUEyQjtBQUNwRSxVQUFNLFdBQVcseUJBQVMsUUFBUSxZQUFZO0FBRzlDLFVBQU0sVUFBVSxlQUFJLFNBQVM7QUFBQSxNQUN6QixTQUFTO0FBQUEsSUFDYixDQUFDO0FBQ0QsV0FBTyxVQUFVLFNBQVMsVUFBVSxPQUFPO0FBQUEsRUFDL0M7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVFBLE9BQWUsc0JBQXNCLG9CQUF3QyxRQUErQjtBQUN4RyxRQUFJLGdCQUFnQixvQkFBb0IsTUFBTTtBQUM5QyxRQUFJLGlCQUFpQixvQkFBb0IsTUFBTTtBQUFBLEVBQ25EO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRQSxPQUFlLGlCQUFpQixvQkFBd0MsUUFBK0I7QUFFbkcsUUFBSSxRQUFRLGNBQWM7QUFDdEIseUJBQW1CLGVBQWUsT0FBTztBQUFBLElBQzdDO0FBQ0EsUUFBSSxRQUFRLFdBQVc7QUFDbkIseUJBQW1CLFlBQVksT0FBTztBQUFBLElBQzFDO0FBQUEsRUFDSjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUUEsT0FBZSxnQkFBZ0Isb0JBQXdDLFFBQStCO0FBQ2xHLFFBQUksUUFBUSxjQUFjLFFBQVc7QUFDakMseUJBQW1CLFlBQVksT0FBTyxPQUFPLFNBQVM7QUFBQSxJQUMxRDtBQUNBLFFBQUksUUFBUSxlQUFlLFFBQVc7QUFDbEMseUJBQW1CLGFBQWEsT0FBTyxPQUFPLFVBQVU7QUFBQSxJQUM1RDtBQUVBLFFBQUksUUFBUSxNQUFNO0FBRWQsY0FBUSxPQUFPLEtBQUssWUFBWSxHQUFHO0FBQUEsUUFDL0IsS0FBSztBQUNELDZCQUFtQixZQUFZO0FBQy9CLDZCQUFtQixhQUFhO0FBQ2hDO0FBQUEsUUFDSixLQUFLO0FBQ0QsNkJBQW1CLFlBQVk7QUFDL0IsNkJBQW1CLGFBQWE7QUFDaEM7QUFBQSxRQUNKLEtBQUs7QUFDRCw2QkFBbUIsWUFBWTtBQUMvQiw2QkFBbUIsYUFBYTtBQUNoQztBQUFBLFFBQ0osS0FBSztBQUNELDZCQUFtQixZQUFZO0FBQy9CLDZCQUFtQixhQUFhO0FBQ2hDO0FBQUEsUUFDSixLQUFLO0FBQ0QsNkJBQW1CLFlBQVk7QUFDL0IsNkJBQW1CLGFBQWE7QUFDaEM7QUFBQSxRQUNKLEtBQUs7QUFDRCw2QkFBbUIsWUFBWTtBQUMvQiw2QkFBbUIsYUFBYTtBQUNoQztBQUFBLFFBQ0osS0FBSztBQUNELDZCQUFtQixZQUFZO0FBQy9CLDZCQUFtQixhQUFhO0FBQ2hDO0FBQUEsUUFDSixLQUFLO0FBQ0QsNkJBQW1CLFlBQVk7QUFDL0IsNkJBQW1CLGFBQWE7QUFDaEM7QUFBQSxRQUNKLEtBQUs7QUFDRCw2QkFBbUIsWUFBWTtBQUMvQiw2QkFBbUIsYUFBYTtBQUNoQztBQUFBLFFBQ0osS0FBSztBQUNELDZCQUFtQixZQUFZO0FBQy9CLDZCQUFtQixhQUFhO0FBQ2hDO0FBQUEsUUFDSixLQUFLO0FBQ0QsNkJBQW1CLFlBQVk7QUFDL0IsNkJBQW1CLGFBQWE7QUFDaEM7QUFBQSxNQUNSO0FBQUEsSUFDSjtBQUFBLEVBQ0o7QUFDSjtBQUdBLElBQUksT0FBTyxXQUFXLGFBQWE7QUFFbEMsU0FBTyxVQUFVO0FBQ2xCOyIsCiAgIm5hbWVzIjogW10KfQo=
160
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3BkZi9wZGYudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQG1vZHVsZSBwZGYvcGRmXG4gKiBAcGFja2FnZSBAYWVyb2tpdC9zZGsvcGRmXG4gKiBAbmFtZSBQREZcbiAqIEBvdmVydmlld1xuICogXG4gKiBUaGUgUERGIG1vZHVsZSBwcm92aWRlcyB1dGlsaXRpZXMgZm9yIGdlbmVyYXRpbmcgUERGIGRvY3VtZW50cyB1c2luZyBwcmVkZWZpbmVkIHRlbXBsYXRlcyBhbmQgc3RydWN0dXJlZCBkYXRhLiBJdCBhYnN0cmFjdHMgdGhlIGNvbXBsZXhpdGllcyBvZiBQREYgZ2VuZXJhdGlvbiwgYWxsb3dpbmcgZGV2ZWxvcGVycyB0byBjcmVhdGUgd2VsbC1mb3JtYXR0ZWQgUERGIGRvY3VtZW50cyB3aXRoIGVhc2UuIFRoZSBtb2R1bGUgaW5jbHVkZXMgZnVuY3Rpb25hbGl0eSBmb3IgZ2VuZXJhdGluZyB0YWJsZXMgaW4gUERGcyBiYXNlZCBvbiBhIHN0YW5kYXJkIHRlbXBsYXRlLCBhcyB3ZWxsIGFzIHRoZSBhYmlsaXR5IHRvIHVzZSBjdXN0b20gdGVtcGxhdGVzIGZvciBtb3JlIGFkdmFuY2VkIHVzZSBjYXNlcy5cbiAqIFxuICogIyMjIEtleSBGZWF0dXJlczpcbiAqIC0gKipUYWJsZSBHZW5lcmF0aW9uKio6IFRoZSBgZ2VuZXJhdGVUYWJsZWAgbWV0aG9kIGFsbG93cyBmb3IgY3JlYXRpbmcgUERGIGRvY3VtZW50cyBjb250YWluaW5nIHN0eWxlZCB0YWJsZXMgYmFzZWQgb24gYSBzdGFuZGFyZCB0ZW1wbGF0ZSwgdXNpbmcgc3RydWN0dXJlZCBkYXRhIGlucHV0LlxuICogLSAqKkN1c3RvbSBUZW1wbGF0ZSBTdXBwb3J0Kio6IFRoZSBgZ2VuZXJhdGVgIG1ldGhvZCBlbmFibGVzIHRoZSB1c2Ugb2YgY3VzdG9tIHRlbXBsYXRlcyBmb3IgUERGIGdlbmVyYXRpb24sIHByb3ZpZGluZyBmbGV4aWJpbGl0eSBmb3IgdmFyaW91cyBkb2N1bWVudCBsYXlvdXRzIGFuZCBzdHlsZXMuXG4gKiAtICoqQ29uZmlndXJhYmxlIExheW91dCoqOiBPcHRpb25hbCBjb25maWd1cmF0aW9uIHBhcmFtZXRlcnMgYWxsb3cgZm9yIGN1c3RvbWl6aW5nIHBhZ2Ugc2l6ZSBhbmQgYWxpZ25tZW50IG9mIHRhYmxlIGNvbnRlbnQgd2l0aGluIHRoZSBnZW5lcmF0ZWQgUERGLlxuICogXG4gKiAjIyMgVXNlIENhc2VzOlxuICogLSAqKlJlcG9ydGluZyoqOiBHZW5lcmF0ZSBQREYgcmVwb3J0cyB3aXRoIHRhYnVsYXIgZGF0YSwgc3VjaCBhcyBzYWxlcyByZXBvcnRzLCBpbnZlbnRvcnkgbGlzdHMsIG9yIGFueSBzdHJ1Y3R1cmVkIGRhdGEgcHJlc2VudGF0aW9uLlxuICogLSAqKkRvY3VtZW50IEdlbmVyYXRpb24qKjogQ3JlYXRlIGN1c3RvbSBQREYgZG9jdW1lbnRzIGZvciBpbnZvaWNlcywgY2VydGlmaWNhdGVzLCBvciBhbnkgc2NlbmFyaW8gd2hlcmUgYSBzcGVjaWZpYyBsYXlvdXQgaXMgcmVxdWlyZWQuXG4gKiBcbiAqICMjIyBFeGFtcGxlIFVzYWdlOlxuICogYGBgdHNcbiAqIGltcG9ydCB7IFBERiB9IGZyb20gXCJAYWVyb2tpdC9zZGsvcGRmXCI7XG4gKiBcbiAqIGNvbnN0IHRhYmxlRGF0YSA9IHtcbiAqICAgdGl0bGU6IFwiU2FsZXMgUmVwb3J0XCIsXG4gKiAgIGRlc2NyaXB0aW9uOiBcIk1vbnRobHkgc2FsZXMgZGF0YSBmb3IgUTFcIixcbiAqICAgY29sdW1uczogW1xuICogICAgIHsgbmFtZTogXCJQcm9kdWN0XCIsIGtleTogXCJwcm9kdWN0XCIgfSxcbiAqICAgICB7IG5hbWU6IFwiUXVhbnRpdHlcIiwga2V5OiBcInF1YW50aXR5XCIgfSxcbiAqICAgICB7IG5hbWU6IFwiUHJpY2VcIiwga2V5OiBcInByaWNlXCIgfVxuICogICBdLFxuICogICByb3dzOiBbXG4gKiAgICAgeyBwcm9kdWN0OiBcIldpZGdldCBBXCIsIHF1YW50aXR5OiAxMDAsIHByaWNlOiBcIiQxMFwiIH0sXG4gKiAgICAgeyBwcm9kdWN0OiBcIldpZGdldCBCXCIsIHF1YW50aXR5OiA1MCwgcHJpY2U6IFwiJDIwXCIgfVxuICogICBdXG4gKiB9O1xuICogXG4gKiBjb25zdCBwZGZDb250ZW50ID0gUERGLmdlbmVyYXRlVGFibGUodGFibGVEYXRhLCB7IHNpemU6IFwiYTRcIiwgYWxpZ25Db2x1bW5zOiB0cnVlIH0pO1xuICogLy8gcGRmQ29udGVudCBpcyBhIGJ5dGUgYXJyYXkgcmVwcmVzZW50aW5nIHRoZSBnZW5lcmF0ZWQgUERGIGRvY3VtZW50XG4gKiBgYGBcbiAqL1xuXG5pbXBvcnQgeyBSZWdpc3RyeSB9IGZyb20gXCJAYWVyb2tpdC9zZGsvcGxhdGZvcm0vcmVnaXN0cnlcIjtcbmltcG9ydCB7IFhNTCB9IGZyb20gXCJAYWVyb2tpdC9zZGsvdXRpbHMveG1sXCI7XG5pbXBvcnQgeyBUZW1wbGF0ZUVuZ2luZXMgfSBmcm9tIFwiQGFlcm9raXQvc2RrL3RlbXBsYXRlXCI7XG5cbmNvbnN0IFBERkZhY2FkZSA9IEphdmEudHlwZShcIm9yZy5lY2xpcHNlLmRpcmlnaWJsZS5jb21wb25lbnRzLmFwaS5wZGYuUERGRmFjYWRlXCIpO1xuXG4vLyBQYXRoIHRvIHRoZSBkZWZhdWx0IHRhYmxlIHRlbXBsYXRlXG5jb25zdCBURU1QTEFURV9QQVRIX1RBQkxFID0gXCJwZGYvdGVtcGxhdGVzL3RhYmxlLnhtbFwiO1xuXG4vKipcbiAqIEludGVyZmFjZSBkZWZpbmluZyB0aGUgc3RydWN0dXJlZCBkYXRhIHJlcXVpcmVkIHRvIGdlbmVyYXRlIGEgdGFibGUgaW4gYSBQREYuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUERGVGFibGVEYXRhIHtcbiAgICB0aXRsZTogc3RyaW5nO1xuICAgIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gICAgY29sdW1uczoge1xuICAgICAgICBuYW1lOiBzdHJpbmcgLy8gRGlzcGxheSBuYW1lIG9mIHRoZSBjb2x1bW5cbiAgICAgICAga2V5OiBzdHJpbmcgIC8vIERhdGEga2V5IHRvIGxvb2sgdXAgaW4gdGhlIHJvd3NcbiAgICB9W10sXG4gICAgcm93czogeyBba2V5OiBzdHJpbmddOiBhbnkgfVtdIC8vIEFycmF5IG9mIGRhdGEgb2JqZWN0cyBmb3IgZWFjaCByb3dcbn1cblxuLyoqXG4gKiBJbnRlcmZhY2UgZGVmaW5pbmcgb3B0aW9uYWwgY29uZmlndXJhdGlvbiBmb3IgUERGIGRvY3VtZW50IGxheW91dC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQREZUYWJsZUNvbmZpZyB7XG4gICAgLyoqIERvY3VtZW50IHdpZHRoIGluIG1tLiBPdmVycmlkZXMgc2l6ZSBpZiBwcmVzZW50LiAqL1xuICAgIHBhZ2VXaWR0aD86IG51bWJlcjtcbiAgICAvKiogRG9jdW1lbnQgaGVpZ2h0IGluIG1tLiBPdmVycmlkZXMgc2l6ZSBpZiBwcmVzZW50LiAqL1xuICAgIHBhZ2VIZWlnaHQ/OiBudW1iZXI7XG4gICAgLyoqIFdoZXRoZXIgdG8gYXBwbHkgY29sdW1uIGFsaWdubWVudCAoYmFzZWQgb24gdGVtcGxhdGUgZGVmYXVsdCkuICovXG4gICAgYWxpZ25Db2x1bW5zPzogYm9vbGVhbjtcbiAgICAvKiogV2hldGhlciB0byBhcHBseSByb3cgYWxpZ25tZW50IChiYXNlZCBvbiB0ZW1wbGF0ZSBkZWZhdWx0KS4gKi9cbiAgICBhbGlnblJvd3M/OiBib29sZWFuO1xuICAgIC8qKiBTdGFuZGFyZCBJU08gMjE2IHBhcGVyIHNpemUgKEEwLUExMCkuIFNldHMgc3RhbmRhcmQgZGltZW5zaW9ucyBpZiBjdXN0b20gd2lkdGgvaGVpZ2h0IGFyZSBub3QgcHJvdmlkZWQuICovXG4gICAgc2l6ZT86IFwiYTBcIiB8IFwiYTFcIiB8IFwiYTJcIiB8IFwiYTNcIiB8IFwiYTRcIiB8IFwiYTVcIiB8IFwiYTZcIiB8IFwiYTdcIiB8IFwiYThcIiB8IFwiYTlcIiB8IFwiYTEwXCI7XG59XG5cbi8qKlxuICogSW50ZXJuYWwgaW50ZXJmYWNlIGZvciB0ZW1wbGF0ZSBwYXJhbWV0ZXJzLCBpbmNsdWRpbmcgZGF0YSBhbmQgY29uZmlndXJhdGlvbi5cbiAqL1xuaW50ZXJmYWNlIFRlbXBsYXRlUGFyYW1ldGVycyBleHRlbmRzIFBERlRhYmxlRGF0YSB7XG4gICAgcGFnZVdpZHRoOiBzdHJpbmc7XG4gICAgcGFnZUhlaWdodDogc3RyaW5nO1xuICAgIC8vIE5vdGU6IGFsaWduQ29sdW1ucy9Sb3dzIGFyZSB0eXBlZCBhcyBzdHJpbmcgaGVyZSB0byBtYXRjaCB0aGUgZGVmYXVsdCB2YWx1ZSAoXCJjZW50ZXJcIilcbiAgICAvLyBidXQgbWF5IGJlIG92ZXJ3cml0dGVuIGJ5IGJvb2xlYW5zIGZyb20gY29uZmlnIGR1ZSB0byB0aGUgb3JpZ2luYWwgbG9naWMuXG4gICAgYWxpZ25Db2x1bW5zOiBzdHJpbmcgfCBib29sZWFuO1xuICAgIGFsaWduUm93czogc3RyaW5nIHwgYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBAY2xhc3MgUERGXG4gKiBAZGVzY3JpcHRpb24gVXRpbGl0eSBjbGFzcyBmb3IgZ2VuZXJhdGluZyBQREYgZG9jdW1lbnRzIHVzaW5nIGEgdGVtcGxhdGUgZW5naW5lIGFuZCB0aGUgUERGRmFjYWRlLlxuICovXG5leHBvcnQgY2xhc3MgUERGIHtcblxuICAgIC8qKlxuICAgICAqIEdlbmVyYXRlcyBhIFBERiBkb2N1bWVudCBjb250YWluaW5nIGEgc3R5bGVkIHRhYmxlIGJhc2VkIG9uIHRoZSBzdGFuZGFyZCB0YWJsZSB0ZW1wbGF0ZS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB7UERGVGFibGVEYXRhfSBkYXRhIFRoZSBzdHJ1Y3R1cmVkIGRhdGEgdG8gcG9wdWxhdGUgdGhlIHRhYmxlLlxuICAgICAqIEBwYXJhbSB7UERGVGFibGVDb25maWd9IFtjb25maWddIE9wdGlvbmFsIGNvbmZpZ3VyYXRpb24gZm9yIHBhZ2Ugc2l6ZSBhbmQgYWxpZ25tZW50LlxuICAgICAqIEByZXR1cm5zIHthbnlbXX0gVGhlIGdlbmVyYXRlZCBQREYgY29udGVudCBhcyBhIGJ5dGUgYXJyYXkgKG51bWJlcltdKS5cbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIGdlbmVyYXRlVGFibGUoZGF0YTogUERGVGFibGVEYXRhLCBjb25maWc/OiBQREZUYWJsZUNvbmZpZyk6IGFueVtdIHtcbiAgICAgICAgY29uc3QgZGVmYXVsdFRlbXBsYXRlUGFyYW1ldGVyczogT21pdDxUZW1wbGF0ZVBhcmFtZXRlcnMsIGtleW9mIFBERlRhYmxlRGF0YT4gPSB7XG4gICAgICAgICAgICAvLyBEZWZhdWx0IEE0IHNpemUgaW4gbW1cbiAgICAgICAgICAgIHBhZ2VXaWR0aDogXCIyMTBcIixcbiAgICAgICAgICAgIHBhZ2VIZWlnaHQ6IFwiMjk3XCIsXG4gICAgICAgICAgICBhbGlnbkNvbHVtbnM6IFwiY2VudGVyXCIsXG4gICAgICAgICAgICBhbGlnblJvd3M6IFwiY2VudGVyXCJcbiAgICAgICAgfTtcblxuICAgICAgICBsZXQgdGVtcGxhdGVQYXJhbWV0ZXJzOiBUZW1wbGF0ZVBhcmFtZXRlcnMgPSB7XG4gICAgICAgICAgICAuLi5kZWZhdWx0VGVtcGxhdGVQYXJhbWV0ZXJzLFxuICAgICAgICAgICAgLi4uZGF0YVxuICAgICAgICB9IGFzIFRlbXBsYXRlUGFyYW1ldGVyczsgLy8gQ2FzdCBuZWVkZWQgZHVlIHRvIHRoZSBtZXJnaW5nIG9mIHR5cGVzXG5cbiAgICAgICAgUERGLnNldFRlbXBsYXRlUGFyYW1ldGVycyh0ZW1wbGF0ZVBhcmFtZXRlcnMsIGNvbmZpZyk7XG5cbiAgICAgICAgY29uc3QgdGVtcGxhdGUgPSBSZWdpc3RyeS5nZXRUZXh0KFRFTVBMQVRFX1BBVEhfVEFCTEUpO1xuICAgICAgICBjb25zdCBwZGZUZW1wbGF0ZSA9IFRlbXBsYXRlRW5naW5lcy5nZW5lcmF0ZShURU1QTEFURV9QQVRIX1RBQkxFLCB0ZW1wbGF0ZSwgdGVtcGxhdGVQYXJhbWV0ZXJzKTtcblxuICAgICAgICAvLyBDb252ZXJ0IGRhdGEgcGF5bG9hZCB0byBYTUwgZm9ybWF0IGV4cGVjdGVkIGJ5IHRoZSB1bmRlcmx5aW5nIEphdmEgUERGRmFjYWRlXG4gICAgICAgIGNvbnN0IHhtbERhdGEgPSBYTUwuZnJvbUpzb24oe1xuICAgICAgICAgICAgY29udGVudDogZGF0YVxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIFBERkZhY2FkZS5nZW5lcmF0ZShwZGZUZW1wbGF0ZSwgeG1sRGF0YSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2VuZXJhdGVzIGEgUERGIGRvY3VtZW50IHVzaW5nIGEgY3VzdG9tIHRlbXBsYXRlIHBhdGggYW5kIGRhdGEgcGF5bG9hZC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSB0ZW1wbGF0ZVBhdGggVGhlIHBhdGggdG8gdGhlIGN1c3RvbSB0ZW1wbGF0ZSBmaWxlIChlLmcuLCBpbiB0aGUgUmVnaXN0cnkpLlxuICAgICAqIEBwYXJhbSB7UERGVGFibGVEYXRhfSBkYXRhIFRoZSBkYXRhIHRvIGJlIGluamVjdGVkIGludG8gdGhlIHRlbXBsYXRlLlxuICAgICAqIEByZXR1cm5zIHthbnlbXX0gVGhlIGdlbmVyYXRlZCBQREYgY29udGVudCBhcyBhIGJ5dGUgYXJyYXkgKG51bWJlcltdKS5cbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIGdlbmVyYXRlKHRlbXBsYXRlUGF0aDogc3RyaW5nLCBkYXRhOiBQREZUYWJsZURhdGEpOiBhbnlbXSB7XG4gICAgICAgIGNvbnN0IHRlbXBsYXRlID0gUmVnaXN0cnkuZ2V0VGV4dCh0ZW1wbGF0ZVBhdGgpO1xuXG4gICAgICAgIC8vIENvbnZlcnQgZGF0YSBwYXlsb2FkIHRvIFhNTCBmb3JtYXQgZXhwZWN0ZWQgYnkgdGhlIHVuZGVybHlpbmcgSmF2YSBQREZGYWNhZGVcbiAgICAgICAgY29uc3QgeG1sRGF0YSA9IFhNTC5mcm9tSnNvbih7XG4gICAgICAgICAgICBjb250ZW50OiBkYXRhXG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gUERGRmFjYWRlLmdlbmVyYXRlKHRlbXBsYXRlLCB4bWxEYXRhKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBJbnRlcm5hbCBtZXRob2QgdG8gc2V0IHRlbXBsYXRlIHBhcmFtZXRlcnMgYmFzZWQgb24gb3B0aW9uYWwgY29uZmlndXJhdGlvbi5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB7VGVtcGxhdGVQYXJhbWV0ZXJzfSB0ZW1wbGF0ZVBhcmFtZXRlcnMgVGhlIG9iamVjdCBjb250YWluaW5nIHBhcmFtZXRlcnMgdG8gYmUgbW9kaWZpZWQuXG4gICAgICogQHBhcmFtIHtQREZUYWJsZUNvbmZpZ30gW2NvbmZpZ10gVGhlIG9wdGlvbmFsIGNvbmZpZ3VyYXRpb24gb2JqZWN0LlxuICAgICAqL1xuICAgIHByaXZhdGUgc3RhdGljIHNldFRlbXBsYXRlUGFyYW1ldGVycyh0ZW1wbGF0ZVBhcmFtZXRlcnM6IFRlbXBsYXRlUGFyYW1ldGVycywgY29uZmlnPzogUERGVGFibGVDb25maWcpOiB2b2lkIHtcbiAgICAgICAgUERGLnNldERvY3VtZW50U2l6ZSh0ZW1wbGF0ZVBhcmFtZXRlcnMsIGNvbmZpZyk7XG4gICAgICAgIFBERi5zZXREb2N1bWVudEFsaWduKHRlbXBsYXRlUGFyYW1ldGVycywgY29uZmlnKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBJbnRlcm5hbCBtZXRob2QgdG8gc2V0IGNvbHVtbiBhbmQgcm93IGFsaWdubWVudCBwYXJhbWV0ZXJzLlxuICAgICAqXG4gICAgICogQHBhcmFtIHtUZW1wbGF0ZVBhcmFtZXRlcnN9IHRlbXBsYXRlUGFyYW1ldGVycyBUaGUgb2JqZWN0IGNvbnRhaW5pbmcgcGFyYW1ldGVycyB0byBiZSBtb2RpZmllZC5cbiAgICAgKiBAcGFyYW0ge1BERlRhYmxlQ29uZmlnfSBbY29uZmlnXSBUaGUgb3B0aW9uYWwgY29uZmlndXJhdGlvbiBvYmplY3QuXG4gICAgICovXG4gICAgcHJpdmF0ZSBzdGF0aWMgc2V0RG9jdW1lbnRBbGlnbih0ZW1wbGF0ZVBhcmFtZXRlcnM6IFRlbXBsYXRlUGFyYW1ldGVycywgY29uZmlnPzogUERGVGFibGVDb25maWcpOiB2b2lkIHtcbiAgICAgICAgLy8gT25seSBvdmVycmlkZSBpZiB0aGUgY29uZmlnIHZhbHVlIGlzIGV4cGxpY2l0bHkgcHJlc2VudCBhbmQgdHJ1dGh5IChtYWludGFpbmluZyBvcmlnaW5hbCBiZWhhdmlvcilcbiAgICAgICAgaWYgKGNvbmZpZz8uYWxpZ25Db2x1bW5zKSB7XG4gICAgICAgICAgICB0ZW1wbGF0ZVBhcmFtZXRlcnMuYWxpZ25Db2x1bW5zID0gY29uZmlnLmFsaWduQ29sdW1ucztcbiAgICAgICAgfVxuICAgICAgICBpZiAoY29uZmlnPy5hbGlnblJvd3MpIHtcbiAgICAgICAgICAgIHRlbXBsYXRlUGFyYW1ldGVycy5hbGlnblJvd3MgPSBjb25maWcuYWxpZ25Sb3dzO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSW50ZXJuYWwgbWV0aG9kIHRvIHNldCB0aGUgZG9jdW1lbnQgc2l6ZSAod2lkdGggYW5kIGhlaWdodCBpbiBtbSkgYmFzZWQgb24gYSBzdGFuZGFyZCAnc2l6ZScgb3IgY3VzdG9tIGRpbWVuc2lvbnMuXG4gICAgICpcbiAgICAgKiBAcGFyYW0ge1RlbXBsYXRlUGFyYW1ldGVyc30gdGVtcGxhdGVQYXJhbWV0ZXJzIFRoZSBvYmplY3QgY29udGFpbmluZyBwYXJhbWV0ZXJzIHRvIGJlIG1vZGlmaWVkLlxuICAgICAqIEBwYXJhbSB7UERGVGFibGVDb25maWd9IFtjb25maWddIFRoZSBvcHRpb25hbCBjb25maWd1cmF0aW9uIG9iamVjdC5cbiAgICAgKi9cbiAgICBwcml2YXRlIHN0YXRpYyBzZXREb2N1bWVudFNpemUodGVtcGxhdGVQYXJhbWV0ZXJzOiBUZW1wbGF0ZVBhcmFtZXRlcnMsIGNvbmZpZz86IFBERlRhYmxlQ29uZmlnKTogdm9pZCB7XG4gICAgICAgIGlmIChjb25maWc/LnBhZ2VXaWR0aCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB0ZW1wbGF0ZVBhcmFtZXRlcnMucGFnZVdpZHRoID0gU3RyaW5nKGNvbmZpZy5wYWdlV2lkdGgpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChjb25maWc/LnBhZ2VIZWlnaHQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGVtcGxhdGVQYXJhbWV0ZXJzLnBhZ2VIZWlnaHQgPSBTdHJpbmcoY29uZmlnLnBhZ2VIZWlnaHQpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGNvbmZpZz8uc2l6ZSkge1xuICAgICAgICAgICAgLy8gTWFwcGluZyBJU08gMjE2IHBhcGVyIHNpemVzIChpbiBtaWxsaW1ldGVycylcbiAgICAgICAgICAgIHN3aXRjaCAoY29uZmlnLnNpemUudG9Mb3dlckNhc2UoKSkge1xuICAgICAgICAgICAgICAgIGNhc2UgXCJhMFwiOlxuICAgICAgICAgICAgICAgICAgICB0ZW1wbGF0ZVBhcmFtZXRlcnMucGFnZVdpZHRoID0gXCI4NDFcIjtcbiAgICAgICAgICAgICAgICAgICAgdGVtcGxhdGVQYXJhbWV0ZXJzLnBhZ2VIZWlnaHQgPSBcIjExODlcIjtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSBcImExXCI6XG4gICAgICAgICAgICAgICAgICAgIHRlbXBsYXRlUGFyYW1ldGVycy5wYWdlV2lkdGggPSBcIjU5NFwiO1xuICAgICAgICAgICAgICAgICAgICB0ZW1wbGF0ZVBhcmFtZXRlcnMucGFnZUhlaWdodCA9IFwiODQxXCI7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgXCJhMlwiOlxuICAgICAgICAgICAgICAgICAgICB0ZW1wbGF0ZVBhcmFtZXRlcnMucGFnZVdpZHRoID0gXCI0MjBcIjtcbiAgICAgICAgICAgICAgICAgICAgdGVtcGxhdGVQYXJhbWV0ZXJzLnBhZ2VIZWlnaHQgPSBcIjU5NFwiO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlIFwiYTNcIjpcbiAgICAgICAgICAgICAgICAgICAgdGVtcGxhdGVQYXJhbWV0ZXJzLnBhZ2VXaWR0aCA9IFwiMjk3XCI7XG4gICAgICAgICAgICAgICAgICAgIHRlbXBsYXRlUGFyYW1ldGVycy5wYWdlSGVpZ2h0ID0gXCI0MjBcIjtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSBcImE0XCI6IC8vIERlZmF1bHRcbiAgICAgICAgICAgICAgICAgICAgdGVtcGxhdGVQYXJhbWV0ZXJzLnBhZ2VXaWR0aCA9IFwiMjEwXCI7XG4gICAgICAgICAgICAgICAgICAgIHRlbXBsYXRlUGFyYW1ldGVycy5wYWdlSGVpZ2h0ID0gXCIyOTdcIjtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSBcImE1XCI6XG4gICAgICAgICAgICAgICAgICAgIHRlbXBsYXRlUGFyYW1ldGVycy5wYWdlV2lkdGggPSBcIjE0OFwiO1xuICAgICAgICAgICAgICAgICAgICB0ZW1wbGF0ZVBhcmFtZXRlcnMucGFnZUhlaWdodCA9IFwiMjEwXCI7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgXCJhNlwiOlxuICAgICAgICAgICAgICAgICAgICB0ZW1wbGF0ZVBhcmFtZXRlcnMucGFnZVdpZHRoID0gXCIxMDVcIjtcbiAgICAgICAgICAgICAgICAgICAgdGVtcGxhdGVQYXJhbWV0ZXJzLnBhZ2VIZWlnaHQgPSBcIjE0OFwiO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlIFwiYTdcIjpcbiAgICAgICAgICAgICAgICAgICAgdGVtcGxhdGVQYXJhbWV0ZXJzLnBhZ2VXaWR0aCA9IFwiNzRcIjtcbiAgICAgICAgICAgICAgICAgICAgdGVtcGxhdGVQYXJhbWV0ZXJzLnBhZ2VIZWlnaHQgPSBcIjEwNVwiO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlIFwiYThcIjpcbiAgICAgICAgICAgICAgICAgICAgdGVtcGxhdGVQYXJhbWV0ZXJzLnBhZ2VXaWR0aCA9IFwiNTJcIjtcbiAgICAgICAgICAgICAgICAgICAgdGVtcGxhdGVQYXJhbWV0ZXJzLnBhZ2VIZWlnaHQgPSBcIjc0XCI7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgXCJhOVwiOlxuICAgICAgICAgICAgICAgICAgICB0ZW1wbGF0ZVBhcmFtZXRlcnMucGFnZVdpZHRoID0gXCIzN1wiO1xuICAgICAgICAgICAgICAgICAgICB0ZW1wbGF0ZVBhcmFtZXRlcnMucGFnZUhlaWdodCA9IFwiNTJcIjtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSBcImExMFwiOlxuICAgICAgICAgICAgICAgICAgICB0ZW1wbGF0ZVBhcmFtZXRlcnMucGFnZVdpZHRoID0gXCIyNlwiO1xuICAgICAgICAgICAgICAgICAgICB0ZW1wbGF0ZVBhcmFtZXRlcnMucGFnZUhlaWdodCA9IFwiMzdcIjtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIEB0cy1pZ25vcmVcbmlmICh0eXBlb2YgbW9kdWxlICE9PSAndW5kZWZpbmVkJykge1xuXHQvLyBAdHMtaWdub3JlXG5cdG1vZHVsZS5leHBvcnRzID0gUERGO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBd0NBLHNCQUF5QjtBQUN6QixpQkFBb0I7QUFDcEIsc0JBQWdDO0FBRWhDLE1BQU0sWUFBWSxLQUFLLEtBQUssb0RBQW9EO0FBR2hGLE1BQU0sc0JBQXNCO0FBK0NyQixNQUFNLElBQUk7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBU2IsT0FBYyxjQUFjLE1BQW9CLFFBQWdDO0FBQzVFLFVBQU0sNEJBQTBFO0FBQUE7QUFBQSxNQUU1RSxXQUFXO0FBQUEsTUFDWCxZQUFZO0FBQUEsTUFDWixjQUFjO0FBQUEsTUFDZCxXQUFXO0FBQUEsSUFDZjtBQUVBLFFBQUkscUJBQXlDO0FBQUEsTUFDekMsR0FBRztBQUFBLE1BQ0gsR0FBRztBQUFBLElBQ1A7QUFFQSxRQUFJLHNCQUFzQixvQkFBb0IsTUFBTTtBQUVwRCxVQUFNLFdBQVcseUJBQVMsUUFBUSxtQkFBbUI7QUFDckQsVUFBTSxjQUFjLGdDQUFnQixTQUFTLHFCQUFxQixVQUFVLGtCQUFrQjtBQUc5RixVQUFNLFVBQVUsZUFBSSxTQUFTO0FBQUEsTUFDekIsU0FBUztBQUFBLElBQ2IsQ0FBQztBQUNELFdBQU8sVUFBVSxTQUFTLGFBQWEsT0FBTztBQUFBLEVBQ2xEO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVNBLE9BQWMsU0FBUyxjQUFzQixNQUEyQjtBQUNwRSxVQUFNLFdBQVcseUJBQVMsUUFBUSxZQUFZO0FBRzlDLFVBQU0sVUFBVSxlQUFJLFNBQVM7QUFBQSxNQUN6QixTQUFTO0FBQUEsSUFDYixDQUFDO0FBQ0QsV0FBTyxVQUFVLFNBQVMsVUFBVSxPQUFPO0FBQUEsRUFDL0M7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVFBLE9BQWUsc0JBQXNCLG9CQUF3QyxRQUErQjtBQUN4RyxRQUFJLGdCQUFnQixvQkFBb0IsTUFBTTtBQUM5QyxRQUFJLGlCQUFpQixvQkFBb0IsTUFBTTtBQUFBLEVBQ25EO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRQSxPQUFlLGlCQUFpQixvQkFBd0MsUUFBK0I7QUFFbkcsUUFBSSxRQUFRLGNBQWM7QUFDdEIseUJBQW1CLGVBQWUsT0FBTztBQUFBLElBQzdDO0FBQ0EsUUFBSSxRQUFRLFdBQVc7QUFDbkIseUJBQW1CLFlBQVksT0FBTztBQUFBLElBQzFDO0FBQUEsRUFDSjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUUEsT0FBZSxnQkFBZ0Isb0JBQXdDLFFBQStCO0FBQ2xHLFFBQUksUUFBUSxjQUFjLFFBQVc7QUFDakMseUJBQW1CLFlBQVksT0FBTyxPQUFPLFNBQVM7QUFBQSxJQUMxRDtBQUNBLFFBQUksUUFBUSxlQUFlLFFBQVc7QUFDbEMseUJBQW1CLGFBQWEsT0FBTyxPQUFPLFVBQVU7QUFBQSxJQUM1RDtBQUVBLFFBQUksUUFBUSxNQUFNO0FBRWQsY0FBUSxPQUFPLEtBQUssWUFBWSxHQUFHO0FBQUEsUUFDL0IsS0FBSztBQUNELDZCQUFtQixZQUFZO0FBQy9CLDZCQUFtQixhQUFhO0FBQ2hDO0FBQUEsUUFDSixLQUFLO0FBQ0QsNkJBQW1CLFlBQVk7QUFDL0IsNkJBQW1CLGFBQWE7QUFDaEM7QUFBQSxRQUNKLEtBQUs7QUFDRCw2QkFBbUIsWUFBWTtBQUMvQiw2QkFBbUIsYUFBYTtBQUNoQztBQUFBLFFBQ0osS0FBSztBQUNELDZCQUFtQixZQUFZO0FBQy9CLDZCQUFtQixhQUFhO0FBQ2hDO0FBQUEsUUFDSixLQUFLO0FBQ0QsNkJBQW1CLFlBQVk7QUFDL0IsNkJBQW1CLGFBQWE7QUFDaEM7QUFBQSxRQUNKLEtBQUs7QUFDRCw2QkFBbUIsWUFBWTtBQUMvQiw2QkFBbUIsYUFBYTtBQUNoQztBQUFBLFFBQ0osS0FBSztBQUNELDZCQUFtQixZQUFZO0FBQy9CLDZCQUFtQixhQUFhO0FBQ2hDO0FBQUEsUUFDSixLQUFLO0FBQ0QsNkJBQW1CLFlBQVk7QUFDL0IsNkJBQW1CLGFBQWE7QUFDaEM7QUFBQSxRQUNKLEtBQUs7QUFDRCw2QkFBbUIsWUFBWTtBQUMvQiw2QkFBbUIsYUFBYTtBQUNoQztBQUFBLFFBQ0osS0FBSztBQUNELDZCQUFtQixZQUFZO0FBQy9CLDZCQUFtQixhQUFhO0FBQ2hDO0FBQUEsUUFDSixLQUFLO0FBQ0QsNkJBQW1CLFlBQVk7QUFDL0IsNkJBQW1CLGFBQWE7QUFDaEM7QUFBQSxNQUNSO0FBQUEsSUFDSjtBQUFBLEVBQ0o7QUFDSjtBQUdBLElBQUksT0FBTyxXQUFXLGFBQWE7QUFFbEMsU0FBTyxVQUFVO0FBQ2xCOyIsCiAgIm5hbWVzIjogW10KfQo=
@@ -44,4 +44,4 @@ class Command {
44
44
  if (typeof module !== "undefined") {
45
45
  module.exports = Command;
46
46
  }
47
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3BsYXRmb3JtL2NvbW1hbmQudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogUHJvdmlkZXMgYSB3cmFwcGVyIGZvciBleGVjdXRpbmcgc3lzdGVtIGNvbW1hbmRzIHZpYSB0aGUgcGxhdGZvcm0ncyBDb21tYW5kRW5naW5lLlxuICovXG5jb25zdCBDb21tYW5kRmFjYWRlID0gSmF2YS50eXBlKFwib3JnLmVjbGlwc2UuZGlyaWdpYmxlLmNvbXBvbmVudHMuYXBpLnBsYXRmb3JtLkNvbW1hbmRGYWNhZGVcIik7XG5jb25zdCBQcm9jZXNzRXhlY3V0aW9uT3B0aW9ucyA9IEphdmEudHlwZShcIm9yZy5lY2xpcHNlLmRpcmlnaWJsZS5jb21tb25zLnByb2Nlc3MuZXhlY3V0aW9uLlByb2Nlc3NFeGVjdXRpb25PcHRpb25zXCIpO1xuXG4vKipcbiAqIERlZmluZXMgdGhlIGNvbmZpZ3VyYXRpb24gb3B0aW9ucyBmb3IgdGhlIGNvbW1hbmQgZXhlY3V0aW9uIHByb2Nlc3MuXG4gKi9cbmludGVyZmFjZSBDb21tYW5kT3B0aW9ucyB7XG5cdC8qKiBUaGUgZGlyZWN0b3J5IGluIHdoaWNoIHRoZSBjb21tYW5kIHdpbGwgYmUgZXhlY3V0ZWQuICovXG5cdHdvcmtpbmdEaXJlY3Rvcnk6IHN0cmluZ1xufVxuXG4vKipcbiAqIERlZmluZXMga2V5LXZhbHVlIHBhaXJzIGZvciBlbnZpcm9ubWVudCB2YXJpYWJsZXMgdG8gYWRkIGR1cmluZyBleGVjdXRpb24uXG4gKi9cbmludGVyZmFjZSBFbnZpcm9ubWVudFZhcmlhYmxlcyB7XG5cdFtrZXk6IHN0cmluZ106IHN0cmluZ1xufVxuXG4vKipcbiAqIERlZmluZXMgdGhlIHN0cnVjdHVyZWQgb3V0cHV0IHJldHVybmVkIGFmdGVyIGNvbW1hbmQgZXhlY3V0aW9uLlxuICovXG5pbnRlcmZhY2UgQ29tbWFuZE91dHB1dCB7XG5cdC8qKiBUaGUgZXhpdCBjb2RlIHJldHVybmVkIGJ5IHRoZSBleGVjdXRlZCBwcm9jZXNzICgwIHVzdWFsbHkgbWVhbnMgc3VjY2VzcykuICovXG5cdGV4aXRDb2RlOiBudW1iZXI7XG5cdC8qKiBUaGUgc3RhbmRhcmQgb3V0cHV0IHN0cmVhbSBjb250ZW50LiAqL1xuXHRzdGFuZGFyZE91dHB1dDogc3RyaW5nO1xuXHQvKiogVGhlIHN0YW5kYXJkIGVycm9yIHN0cmVhbSBjb250ZW50LiAqL1xuXHRlcnJvck91dHB1dDogc3RyaW5nO1xufVxuXG4vKipcbiAqIEBjbGFzcyBDb21tYW5kXG4gKiBAZGVzY3JpcHRpb24gU3RhdGljIHV0aWxpdHkgY2xhc3MgZm9yIGV4ZWN1dGluZyBzeXN0ZW0gY29tbWFuZHMuXG4gKi9cbmV4cG9ydCBjbGFzcyBDb21tYW5kIHtcblxuXHQvKipcblx0ICogRXhlY3V0ZXMgYSBzeXN0ZW0gY29tbWFuZCB3aXRoIHNwZWNpZmllZCBjb25maWd1cmF0aW9uLCBlbnZpcm9ubWVudCB2YXJpYWJsZXMsIGFuZCBleGNsdXNpb25zLlxuXHQgKlxuXHQgKiBAcGFyYW0ge3N0cmluZ30gY29tbWFuZCBUaGUgY29tbWFuZCBzdHJpbmcgdG8gZXhlY3V0ZSAoZS5nLiwgXCJscyAtbFwiKS5cblx0ICogQHBhcmFtIHtDb21tYW5kT3B0aW9uc30gW29wdGlvbnNdIE9wdGlvbmFsIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBleGVjdXRpb24gZW52aXJvbm1lbnQuXG5cdCAqIEBwYXJhbSB7RW52aXJvbm1lbnRWYXJpYWJsZXN9IFthZGRdIE9wdGlvbmFsIGVudmlyb25tZW50IHZhcmlhYmxlcyB0byBhZGQgdG8gdGhlIHByb2Nlc3MuXG5cdCAqIEBwYXJhbSB7c3RyaW5nW119IFtyZW1vdmVdIE9wdGlvbmFsIGxpc3Qgb2YgZW52aXJvbm1lbnQgdmFyaWFibGUga2V5cyB0byByZW1vdmUgZnJvbSB0aGUgcHJvY2Vzcy5cblx0ICogQHJldHVybnMge0NvbW1hbmRPdXRwdXR9IEEgc3RydWN0dXJlZCBvYmplY3QgY29udGFpbmluZyB0aGUgZXhpdCBjb2RlIGFuZCBvdXRwdXQgc3RyZWFtcy5cblx0ICovXG5cdHB1YmxpYyBzdGF0aWMgZXhlY3V0ZShjb21tYW5kOiBzdHJpbmcsIG9wdGlvbnM/OiBDb21tYW5kT3B0aW9ucywgYWRkPzogRW52aXJvbm1lbnRWYXJpYWJsZXMsIHJlbW92ZT86IHN0cmluZ1tdKTogQ29tbWFuZE91dHB1dCB7XG5cdFx0Ly8gSW5zdGFudGlhdGUgdGhlIG5hdGl2ZSBKYXZhIFByb2Nlc3NFeGVjdXRpb25PcHRpb25zIG9iamVjdFxuXHRcdGNvbnN0IHByb2Nlc3NFeGVjdXRpb25PcHRpb25zID0gbmV3IFByb2Nlc3NFeGVjdXRpb25PcHRpb25zKCk7XG5cblx0XHRpZiAob3B0aW9ucz8ud29ya2luZ0RpcmVjdG9yeSkge1xuXHRcdFx0cHJvY2Vzc0V4ZWN1dGlvbk9wdGlvbnMuc2V0V29ya2luZ0RpcmVjdG9yeShvcHRpb25zLndvcmtpbmdEaXJlY3RvcnkpO1xuXHRcdH1cblxuXHRcdC8vIFRoZSBmYWNhZGUgcmV0dXJucyBhIEpTT04gc3RyaW5nLCB3aGljaCB3ZSBwYXJzZSBpbnRvIHRoZSBDb21tYW5kT3V0cHV0IGludGVyZmFjZVxuXHRcdGNvbnN0IHJlc3VsdEpzb24gPSBDb21tYW5kRmFjYWRlLmV4ZWN1dGUoY29tbWFuZCwgYWRkLCByZW1vdmUsIHByb2Nlc3NFeGVjdXRpb25PcHRpb25zKTtcblx0XHRyZXR1cm4gSlNPTi5wYXJzZShyZXN1bHRKc29uKSBhcyBDb21tYW5kT3V0cHV0O1xuXHR9XG59XG5cbi8vIEB0cy1pZ25vcmVcbmlmICh0eXBlb2YgbW9kdWxlICE9PSAndW5kZWZpbmVkJykge1xuXHQvLyBAdHMtaWdub3JlXG5cdG1vZHVsZS5leHBvcnRzID0gQ29tbWFuZDtcbn0iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFHQSxNQUFNLGdCQUFnQixLQUFLLEtBQUssNkRBQTZEO0FBQzdGLE1BQU0sMEJBQTBCLEtBQUssS0FBSyx5RUFBeUU7QUFpQzVHLE1BQU0sUUFBUTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBV3BCLE9BQWMsUUFBUSxTQUFpQixTQUEwQixLQUE0QixRQUFrQztBQUU5SCxVQUFNLDBCQUEwQixJQUFJLHdCQUF3QjtBQUU1RCxRQUFJLFNBQVMsa0JBQWtCO0FBQzlCLDhCQUF3QixvQkFBb0IsUUFBUSxnQkFBZ0I7QUFBQSxJQUNyRTtBQUdBLFVBQU0sYUFBYSxjQUFjLFFBQVEsU0FBUyxLQUFLLFFBQVEsdUJBQXVCO0FBQ3RGLFdBQU8sS0FBSyxNQUFNLFVBQVU7QUFBQSxFQUM3QjtBQUNEO0FBR0EsSUFBSSxPQUFPLFdBQVcsYUFBYTtBQUVsQyxTQUFPLFVBQVU7QUFDbEI7IiwKICAibmFtZXMiOiBbXQp9Cg==
47
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3BsYXRmb3JtL2NvbW1hbmQudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQG1vZHVsZSBwbGF0Zm9ybS9jb21tYW5kXG4gKiBAcGFja2FnZSBAYWVyb2tpdC9zZGsvcGxhdGZvcm1cbiAqIEBuYW1lIENvbW1hbmRcbiAqIEBvdmVydmlld1xuICogXG4gKiBUaGUgQ29tbWFuZCBtb2R1bGUgcHJvdmlkZXMgYSBzdGF0aWMgdXRpbGl0eSBjbGFzcyBmb3IgZXhlY3V0aW5nIHN5c3RlbSBjb21tYW5kcyB0aHJvdWdoIHRoZSBwbGF0Zm9ybSdzIENvbW1hbmRFbmdpbmUuIEl0IGFsbG93cyBkZXZlbG9wZXJzIHRvIHJ1biBzaGVsbCBjb21tYW5kcyB3aXRoIGNvbmZpZ3VyYWJsZSBvcHRpb25zLCBpbmNsdWRpbmcgd29ya2luZyBkaXJlY3RvcnkgYW5kIGVudmlyb25tZW50IHZhcmlhYmxlIG1hbmFnZW1lbnQuIFRoZSBtb2R1bGUgYWJzdHJhY3RzIHRoZSBjb21wbGV4aXRpZXMgb2YgcHJvY2VzcyBleGVjdXRpb24sIHByb3ZpZGluZyBhIHNpbXBsZSBpbnRlcmZhY2UgZm9yIGludGVncmF0aW5nIGNvbW1hbmQgZXhlY3V0aW9uIGludG8gYXBwbGljYXRpb25zLlxuICogXG4gKiAjIyMgS2V5IEZlYXR1cmVzOlxuICogLSAqKkNvbW1hbmQgRXhlY3V0aW9uKio6IFRoZSBgZXhlY3V0ZWAgbWV0aG9kIGFsbG93cyBmb3IgcnVubmluZyBzeXN0ZW0gY29tbWFuZHMgd2l0aCBzcGVjaWZpZWQgb3B0aW9ucyBhbmQgZW52aXJvbm1lbnQgdmFyaWFibGUgY29uZmlndXJhdGlvbnMuXG4gKiAtICoqU3RydWN0dXJlZCBPdXRwdXQqKjogVGhlIG1ldGhvZCByZXR1cm5zIGEgc3RydWN0dXJlZCBvdXRwdXQgY29udGFpbmluZyB0aGUgZXhpdCBjb2RlLCBzdGFuZGFyZCBvdXRwdXQsIGFuZCBlcnJvciBvdXRwdXQgb2YgdGhlIGV4ZWN1dGVkIGNvbW1hbmQuXG4gKiBcbiAqICMjIyBVc2UgQ2FzZXM6XG4gKiAtICoqU3lzdGVtIEludGVncmF0aW9uKio6IFRoaXMgbW9kdWxlIGlzIGlkZWFsIGZvciBhcHBsaWNhdGlvbnMgdGhhdCBuZWVkIHRvIGludGVyYWN0IHdpdGggdGhlIHVuZGVybHlpbmcgb3BlcmF0aW5nIHN5c3RlbSBvciBleGVjdXRlIGV4dGVybmFsIHByb2Nlc3NlcyBhcyBwYXJ0IG9mIHRoZWlyIGZ1bmN0aW9uYWxpdHkuXG4gKiAtICoqQXV0b21hdGlvbiBhbmQgU2NyaXB0aW5nKio6IERldmVsb3BlcnMgY2FuIHVzZSB0aGlzIG1vZHVsZSB0byBhdXRvbWF0ZSB0YXNrcyBieSBleGVjdXRpbmcgc2hlbGwgY29tbWFuZHMgZnJvbSB3aXRoaW4gdGhlaXIgYXBwbGljYXRpb25zLlxuICogXG4gKiAjIyMgRXhhbXBsZSBVc2FnZTpcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBDb21tYW5kIH0gZnJvbSBcIkBhZXJva2l0L3Nkay9wbGF0Zm9ybVwiO1xuICogXG4gKiBjb25zdCByZXN1bHQgPSBDb21tYW5kLmV4ZWN1dGUoXCJscyAtbFwiLCB7IHdvcmtpbmdEaXJlY3Rvcnk6IFwiL2hvbWUvdXNlclwiIH0sIHsgXCJFTlZfVkFSXCI6IFwidmFsdWVcIiB9LCBbXCJPTERfRU5WX1ZBUlwiXSk7XG4gKiBjb25zb2xlLmxvZyhcIkV4aXQgQ29kZTpcIiwgcmVzdWx0LmV4aXRDb2RlKTtcbiAqIGNvbnNvbGUubG9nKFwiU3RhbmRhcmQgT3V0cHV0OlwiLCByZXN1bHQuc3RhbmRhcmRPdXRwdXQpO1xuICogY29uc29sZS5sb2coXCJFcnJvciBPdXRwdXQ6XCIsIHJlc3VsdC5lcnJvck91dHB1dCk7XG4gKiBgYGBcbiAqL1xuXG5jb25zdCBDb21tYW5kRmFjYWRlID0gSmF2YS50eXBlKFwib3JnLmVjbGlwc2UuZGlyaWdpYmxlLmNvbXBvbmVudHMuYXBpLnBsYXRmb3JtLkNvbW1hbmRGYWNhZGVcIik7XG5jb25zdCBQcm9jZXNzRXhlY3V0aW9uT3B0aW9ucyA9IEphdmEudHlwZShcIm9yZy5lY2xpcHNlLmRpcmlnaWJsZS5jb21tb25zLnByb2Nlc3MuZXhlY3V0aW9uLlByb2Nlc3NFeGVjdXRpb25PcHRpb25zXCIpO1xuXG4vKipcbiAqIERlZmluZXMgdGhlIGNvbmZpZ3VyYXRpb24gb3B0aW9ucyBmb3IgdGhlIGNvbW1hbmQgZXhlY3V0aW9uIHByb2Nlc3MuXG4gKi9cbmludGVyZmFjZSBDb21tYW5kT3B0aW9ucyB7XG5cdC8qKiBUaGUgZGlyZWN0b3J5IGluIHdoaWNoIHRoZSBjb21tYW5kIHdpbGwgYmUgZXhlY3V0ZWQuICovXG5cdHdvcmtpbmdEaXJlY3Rvcnk6IHN0cmluZ1xufVxuXG4vKipcbiAqIERlZmluZXMga2V5LXZhbHVlIHBhaXJzIGZvciBlbnZpcm9ubWVudCB2YXJpYWJsZXMgdG8gYWRkIGR1cmluZyBleGVjdXRpb24uXG4gKi9cbmludGVyZmFjZSBFbnZpcm9ubWVudFZhcmlhYmxlcyB7XG5cdFtrZXk6IHN0cmluZ106IHN0cmluZ1xufVxuXG4vKipcbiAqIERlZmluZXMgdGhlIHN0cnVjdHVyZWQgb3V0cHV0IHJldHVybmVkIGFmdGVyIGNvbW1hbmQgZXhlY3V0aW9uLlxuICovXG5pbnRlcmZhY2UgQ29tbWFuZE91dHB1dCB7XG5cdC8qKiBUaGUgZXhpdCBjb2RlIHJldHVybmVkIGJ5IHRoZSBleGVjdXRlZCBwcm9jZXNzICgwIHVzdWFsbHkgbWVhbnMgc3VjY2VzcykuICovXG5cdGV4aXRDb2RlOiBudW1iZXI7XG5cdC8qKiBUaGUgc3RhbmRhcmQgb3V0cHV0IHN0cmVhbSBjb250ZW50LiAqL1xuXHRzdGFuZGFyZE91dHB1dDogc3RyaW5nO1xuXHQvKiogVGhlIHN0YW5kYXJkIGVycm9yIHN0cmVhbSBjb250ZW50LiAqL1xuXHRlcnJvck91dHB1dDogc3RyaW5nO1xufVxuXG4vKipcbiAqIEBjbGFzcyBDb21tYW5kXG4gKiBAZGVzY3JpcHRpb24gU3RhdGljIHV0aWxpdHkgY2xhc3MgZm9yIGV4ZWN1dGluZyBzeXN0ZW0gY29tbWFuZHMuXG4gKi9cbmV4cG9ydCBjbGFzcyBDb21tYW5kIHtcblxuXHQvKipcblx0ICogRXhlY3V0ZXMgYSBzeXN0ZW0gY29tbWFuZCB3aXRoIHNwZWNpZmllZCBjb25maWd1cmF0aW9uLCBlbnZpcm9ubWVudCB2YXJpYWJsZXMsIGFuZCBleGNsdXNpb25zLlxuXHQgKlxuXHQgKiBAcGFyYW0ge3N0cmluZ30gY29tbWFuZCBUaGUgY29tbWFuZCBzdHJpbmcgdG8gZXhlY3V0ZSAoZS5nLiwgXCJscyAtbFwiKS5cblx0ICogQHBhcmFtIHtDb21tYW5kT3B0aW9uc30gW29wdGlvbnNdIE9wdGlvbmFsIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBleGVjdXRpb24gZW52aXJvbm1lbnQuXG5cdCAqIEBwYXJhbSB7RW52aXJvbm1lbnRWYXJpYWJsZXN9IFthZGRdIE9wdGlvbmFsIGVudmlyb25tZW50IHZhcmlhYmxlcyB0byBhZGQgdG8gdGhlIHByb2Nlc3MuXG5cdCAqIEBwYXJhbSB7c3RyaW5nW119IFtyZW1vdmVdIE9wdGlvbmFsIGxpc3Qgb2YgZW52aXJvbm1lbnQgdmFyaWFibGUga2V5cyB0byByZW1vdmUgZnJvbSB0aGUgcHJvY2Vzcy5cblx0ICogQHJldHVybnMge0NvbW1hbmRPdXRwdXR9IEEgc3RydWN0dXJlZCBvYmplY3QgY29udGFpbmluZyB0aGUgZXhpdCBjb2RlIGFuZCBvdXRwdXQgc3RyZWFtcy5cblx0ICovXG5cdHB1YmxpYyBzdGF0aWMgZXhlY3V0ZShjb21tYW5kOiBzdHJpbmcsIG9wdGlvbnM/OiBDb21tYW5kT3B0aW9ucywgYWRkPzogRW52aXJvbm1lbnRWYXJpYWJsZXMsIHJlbW92ZT86IHN0cmluZ1tdKTogQ29tbWFuZE91dHB1dCB7XG5cdFx0Ly8gSW5zdGFudGlhdGUgdGhlIG5hdGl2ZSBKYXZhIFByb2Nlc3NFeGVjdXRpb25PcHRpb25zIG9iamVjdFxuXHRcdGNvbnN0IHByb2Nlc3NFeGVjdXRpb25PcHRpb25zID0gbmV3IFByb2Nlc3NFeGVjdXRpb25PcHRpb25zKCk7XG5cblx0XHRpZiAob3B0aW9ucz8ud29ya2luZ0RpcmVjdG9yeSkge1xuXHRcdFx0cHJvY2Vzc0V4ZWN1dGlvbk9wdGlvbnMuc2V0V29ya2luZ0RpcmVjdG9yeShvcHRpb25zLndvcmtpbmdEaXJlY3RvcnkpO1xuXHRcdH1cblxuXHRcdC8vIFRoZSBmYWNhZGUgcmV0dXJucyBhIEpTT04gc3RyaW5nLCB3aGljaCB3ZSBwYXJzZSBpbnRvIHRoZSBDb21tYW5kT3V0cHV0IGludGVyZmFjZVxuXHRcdGNvbnN0IHJlc3VsdEpzb24gPSBDb21tYW5kRmFjYWRlLmV4ZWN1dGUoY29tbWFuZCwgYWRkLCByZW1vdmUsIHByb2Nlc3NFeGVjdXRpb25PcHRpb25zKTtcblx0XHRyZXR1cm4gSlNPTi5wYXJzZShyZXN1bHRKc29uKSBhcyBDb21tYW5kT3V0cHV0O1xuXHR9XG59XG5cbi8vIEB0cy1pZ25vcmVcbmlmICh0eXBlb2YgbW9kdWxlICE9PSAndW5kZWZpbmVkJykge1xuXHQvLyBAdHMtaWdub3JlXG5cdG1vZHVsZS5leHBvcnRzID0gQ29tbWFuZDtcbn0iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUEyQkEsTUFBTSxnQkFBZ0IsS0FBSyxLQUFLLDZEQUE2RDtBQUM3RixNQUFNLDBCQUEwQixLQUFLLEtBQUsseUVBQXlFO0FBaUM1RyxNQUFNLFFBQVE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVdwQixPQUFjLFFBQVEsU0FBaUIsU0FBMEIsS0FBNEIsUUFBa0M7QUFFOUgsVUFBTSwwQkFBMEIsSUFBSSx3QkFBd0I7QUFFNUQsUUFBSSxTQUFTLGtCQUFrQjtBQUM5Qiw4QkFBd0Isb0JBQW9CLFFBQVEsZ0JBQWdCO0FBQUEsSUFDckU7QUFHQSxVQUFNLGFBQWEsY0FBYyxRQUFRLFNBQVMsS0FBSyxRQUFRLHVCQUF1QjtBQUN0RixXQUFPLEtBQUssTUFBTSxVQUFVO0FBQUEsRUFDN0I7QUFDRDtBQUdBLElBQUksT0FBTyxXQUFXLGFBQWE7QUFFbEMsU0FBTyxVQUFVO0FBQ2xCOyIsCiAgIm5hbWVzIjogW10KfQo=
@@ -68,4 +68,4 @@ class Engine {
68
68
  if (typeof module !== "undefined") {
69
69
  module.exports = Engine;
70
70
  }
71
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3BsYXRmb3JtL2VuZ2luZXMudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImNvbnN0IEVuZ2luZXNGYWNhZGUgPSBKYXZhLnR5cGUoXCJvcmcuZWNsaXBzZS5kaXJpZ2libGUuY29tcG9uZW50cy5hcGkucGxhdGZvcm0uRW5naW5lc0ZhY2FkZVwiKTtcbmNvbnN0IEhhc2hNYXAgPSBKYXZhLnR5cGUoXCJqYXZhLnV0aWwuSGFzaE1hcFwiKTtcblxuLyoqXG4gKiBJbnRlcmZhY2UgZGVmaW5pbmcgdGhlIGV4ZWN1dGlvbiBwYXJhbWV0ZXJzIGV4cGVjdGVkIGJ5IHRoZSBFbmdpbmUgY2xhc3MuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRXhlY3V0aW9uUGFyYW1ldGVycyB7XG5cdFtrZXk6IHN0cmluZ106IGFueVxufVxuXG4vKipcbiAqIEBjbGFzcyBFbmdpbmVcbiAqIEBkZXNjcmlwdGlvbiBSZXByZXNlbnRzIGEgc3BlY2lmaWMgZXhlY3V0aW9uIGVuZ2luZSB0eXBlIChlLmcuLCBKYXZhU2NyaXB0LCBHcm9vdnkpXG4gKiBhbmQgcHJvdmlkZXMgbWV0aG9kcyB0byBpbnRlcmFjdCB3aXRoIHRoZSBwbGF0Zm9ybSdzIGV4ZWN1dGlvbiBmYWNhZGUuXG4gKi9cbmV4cG9ydCBjbGFzcyBFbmdpbmUge1xuXHRwcml2YXRlIHR5cGU6IHN0cmluZztcblxuXHQvKipcblx0ICogQ3JlYXRlcyBhbiBpbnN0YW5jZSBvZiBFbmdpbmUuXG5cdCAqIEBwYXJhbSB7c3RyaW5nfSB0eXBlIFRoZSB0eXBlIG9mIHRoZSBleGVjdXRpb24gZW5naW5lIChlLmcuLCBcImphdmFzY3JpcHRcIikuXG5cdCAqL1xuXHRjb25zdHJ1Y3Rvcih0eXBlOiBzdHJpbmcpIHtcblx0XHR0aGlzLnR5cGUgPSB0eXBlO1xuXHR9XG5cblx0LyoqXG5cdCAqIFJldHJpZXZlcyB0aGUgbGlzdCBvZiBhdmFpbGFibGUgZW5naW5lIHR5cGVzIGZyb20gdGhlIHBsYXRmb3JtLlxuXHQgKiBAcmV0dXJucyB7c3RyaW5nW119IEFuIGFycmF5IG9mIHN1cHBvcnRlZCBlbmdpbmUgdHlwZSBuYW1lcy5cblx0ICovXG5cdHB1YmxpYyBzdGF0aWMgZ2V0VHlwZXMoKTogc3RyaW5nW10ge1xuXHRcdC8vIFRoZSBmYWNhZGUgbWV0aG9kIHJldHVybnMgYSBKU09OIGFycmF5IHN0cmluZywgd2hpY2ggd2UgcGFyc2UuXG5cdFx0cmV0dXJuIEpTT04ucGFyc2UoRW5naW5lc0ZhY2FkZS5nZXRFbmdpbmVUeXBlcygpKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBFeGVjdXRlcyBhIHByb2plY3Qgc2NyaXB0IG9yIHByb2Nlc3MgdXNpbmcgdGhlIGNvbmZpZ3VyZWQgZW5naW5lIHR5cGUuXG5cdCAqXG5cdCAqIEBwYXJhbSB7c3RyaW5nfSBwcm9qZWN0TmFtZSBUaGUgbmFtZSBvZiB0aGUgcHJvamVjdC5cblx0ICogQHBhcmFtIHtzdHJpbmd9IHByb2plY3RGaWxlUGF0aCBUaGUgcmVsYXRpdmUgcGF0aCB0byB0aGUgbWFpbiBmaWxlIHRvIGV4ZWN1dGUgd2l0aGluIHRoZSBwcm9qZWN0IChlLmcuLCBcImxpYi9zY3JpcHQuanNcIikuXG5cdCAqIEBwYXJhbSB7c3RyaW5nfSBwcm9qZWN0RmlsZVBhdGhQYXJhbSBBIHNlY29uZGFyeSBmaWxlIHBhdGggcGFyYW1ldGVyIChvZnRlbiB1bnVzZWQgb3IgY29udGV4dC1zcGVjaWZpYykuXG5cdCAqIEBwYXJhbSB7RXhlY3V0aW9uUGFyYW1ldGVyc30gcGFyYW1ldGVycyBBbiBvYmplY3QgY29udGFpbmluZyBrZXkvdmFsdWUgcGFyYW1ldGVycyB0byBwYXNzIHRvIHRoZSBzY3JpcHQgY29udGV4dC5cblx0ICogQHBhcmFtIHtib29sZWFufSBbZGVidWc9ZmFsc2VdIFdoZXRoZXIgdG8gZXhlY3V0ZSBpbiBkZWJ1ZyBtb2RlLlxuXHQgKiBAcmV0dXJucyB7YW55fSBUaGUgcmVzdWx0IHJldHVybmVkIGJ5IHRoZSBleGVjdXRlZCBzY3JpcHQuXG5cdCAqL1xuXHRwdWJsaWMgZXhlY3V0ZShcblx0XHRwcm9qZWN0TmFtZTogc3RyaW5nLFxuXHRcdHByb2plY3RGaWxlUGF0aDogc3RyaW5nLFxuXHRcdHByb2plY3RGaWxlUGF0aFBhcmFtOiBzdHJpbmcsXG5cdFx0cGFyYW1ldGVyczogRXhlY3V0aW9uUGFyYW1ldGVycyxcblx0XHRkZWJ1ZzogYm9vbGVhbiA9IGZhbHNlXG5cdCk6IGFueSB7XG5cdFx0Ly8gQ29udmVydCB0aGUgVHlwZVNjcmlwdC9KYXZhU2NyaXB0IHBhcmFtZXRlciBvYmplY3QgaW50byBhIEphdmEgSGFzaE1hcFxuXHRcdC8vIHdoaWNoIGlzIHJlcXVpcmVkIGJ5IHRoZSBFbmdpbmVzRmFjYWRlIEFQSS5cblx0XHRjb25zdCBtYXBJbnN0YW5jZSA9IG5ldyBIYXNoTWFwKCk7XG5cdFx0Zm9yIChjb25zdCBwcm9wZXJ0eSBpbiBwYXJhbWV0ZXJzKSB7XG5cdFx0XHQvLyBDUklUSUNBTCBGSVg6IEVuc3VyZSB3ZSB1c2UgdGhlICdwYXJhbWV0ZXJzJyBvYmplY3QsIG5vdCB0aGUgZ2xvYmFsICdjb250ZXh0J1xuXHRcdFx0aWYgKHBhcmFtZXRlcnMuaGFzT3duUHJvcGVydHkocHJvcGVydHkpKSB7XG5cdFx0XHRcdG1hcEluc3RhbmNlLnB1dChwcm9wZXJ0eSwgcGFyYW1ldGVyc1twcm9wZXJ0eV0pO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdHJldHVybiBFbmdpbmVzRmFjYWRlLmV4ZWN1dGUoXG5cdFx0XHR0aGlzLnR5cGUsXG5cdFx0XHRwcm9qZWN0TmFtZSxcblx0XHRcdHByb2plY3RGaWxlUGF0aCxcblx0XHRcdHByb2plY3RGaWxlUGF0aFBhcmFtLFxuXHRcdFx0bWFwSW5zdGFuY2UsXG5cdFx0XHRkZWJ1Z1xuXHRcdCk7XG5cdH1cbn1cblxuLy8gQHRzLWlnbm9yZVxuaWYgKHR5cGVvZiBtb2R1bGUgIT09ICd1bmRlZmluZWQnKSB7XG5cdC8vIEB0cy1pZ25vcmVcblx0bW9kdWxlLmV4cG9ydHMgPSBFbmdpbmU7XG59Il0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsTUFBTSxnQkFBZ0IsS0FBSyxLQUFLLDZEQUE2RDtBQUM3RixNQUFNLFVBQVUsS0FBSyxLQUFLLG1CQUFtQjtBQWN0QyxNQUFNLE9BQU87QUFBQSxFQUNYO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU1SLFlBQVksTUFBYztBQUN6QixTQUFLLE9BQU87QUFBQSxFQUNiO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU1BLE9BQWMsV0FBcUI7QUFFbEMsV0FBTyxLQUFLLE1BQU0sY0FBYyxlQUFlLENBQUM7QUFBQSxFQUNqRDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFZTyxRQUNOLGFBQ0EsaUJBQ0Esc0JBQ0EsWUFDQSxRQUFpQixPQUNYO0FBR04sVUFBTSxjQUFjLElBQUksUUFBUTtBQUNoQyxlQUFXLFlBQVksWUFBWTtBQUVsQyxVQUFJLFdBQVcsZUFBZSxRQUFRLEdBQUc7QUFDeEMsb0JBQVksSUFBSSxVQUFVLFdBQVcsUUFBUSxDQUFDO0FBQUEsTUFDL0M7QUFBQSxJQUNEO0FBRUEsV0FBTyxjQUFjO0FBQUEsTUFDcEIsS0FBSztBQUFBLE1BQ0w7QUFBQSxNQUNBO0FBQUEsTUFDQTtBQUFBLE1BQ0E7QUFBQSxNQUNBO0FBQUEsSUFDRDtBQUFBLEVBQ0Q7QUFDRDtBQUdBLElBQUksT0FBTyxXQUFXLGFBQWE7QUFFbEMsU0FBTyxVQUFVO0FBQ2xCOyIsCiAgIm5hbWVzIjogW10KfQo=
71
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3BsYXRmb3JtL2VuZ2luZXMudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQG1vZHVsZSBwbGF0Zm9ybS9lbmdpbmVzXG4gKiBAcGFja2FnZSBAYWVyb2tpdC9zZGsvcGxhdGZvcm1cbiAqIEBuYW1lIEVuZ2luZXNcbiAqIEBvdmVydmlld1xuICogXG4gKiBUaGUgRW5naW5lcyBtb2R1bGUgcHJvdmlkZXMgYSBjbGFzcyBmb3IgaW50ZXJhY3Rpbmcgd2l0aCB0aGUgcGxhdGZvcm0ncyBleGVjdXRpb24gZW5naW5lcywgc3VjaCBhcyBKYXZhU2NyaXB0IG9yIEdyb292eS4gSXQgYWxsb3dzIGRldmVsb3BlcnMgdG8gZXhlY3V0ZSBzY3JpcHRzIG9yIHByb2Nlc3NlcyB3aXRoaW4gdGhlIGNvbnRleHQgb2YgYSBwcm9qZWN0LCBwYXNzaW5nIHBhcmFtZXRlcnMgYW5kIG9wdGlvbmFsbHkgZW5hYmxpbmcgZGVidWcgbW9kZS4gVGhlIG1vZHVsZSBhYnN0cmFjdHMgdGhlIGNvbXBsZXhpdGllcyBvZiBlbmdpbmUgZXhlY3V0aW9uLCBwcm92aWRpbmcgYSBzaW1wbGUgaW50ZXJmYWNlIGZvciBydW5uaW5nIGNvZGUgaW4gdmFyaW91cyBzdXBwb3J0ZWQgbGFuZ3VhZ2VzLlxuICogXG4gKiAjIyMgS2V5IEZlYXR1cmVzOlxuICogLSAqKkVuZ2luZSBUeXBlIE1hbmFnZW1lbnQqKjogUmV0cmlldmUgdGhlIGxpc3Qgb2YgYXZhaWxhYmxlIGVuZ2luZSB0eXBlcyBzdXBwb3J0ZWQgYnkgdGhlIHBsYXRmb3JtLlxuICogLSAqKlNjcmlwdCBFeGVjdXRpb24qKjogRXhlY3V0ZSBwcm9qZWN0IHNjcmlwdHMgb3IgcHJvY2Vzc2VzIHVzaW5nIGEgc3BlY2lmaWVkIGVuZ2luZSB0eXBlLCB3aXRoIHN1cHBvcnQgZm9yIHBhc3NpbmcgcGFyYW1ldGVycyBhbmQgZW5hYmxpbmcgZGVidWcgbW9kZS5cbiAqIFxuICogIyMjIFVzZSBDYXNlczpcbiAqIC0gKipNdWx0aS1MYW5ndWFnZSBTdXBwb3J0Kio6IFRoaXMgbW9kdWxlIGlzIGlkZWFsIGZvciBhcHBsaWNhdGlvbnMgdGhhdCBuZWVkIHRvIGV4ZWN1dGUgY29kZSBpbiBkaWZmZXJlbnQgbGFuZ3VhZ2VzIHN1cHBvcnRlZCBieSB0aGUgcGxhdGZvcm0sIHN1Y2ggYXMgSmF2YVNjcmlwdCBvciBHcm9vdnkuXG4gKiAtICoqUHJvamVjdC1CYXNlZCBFeGVjdXRpb24qKjogRGV2ZWxvcGVycyBjYW4gdXNlIHRoaXMgbW9kdWxlIHRvIHJ1biBzY3JpcHRzIHdpdGhpbiB0aGUgY29udGV4dCBvZiBhIHByb2plY3QsIGFsbG93aW5nIGZvciBiZXR0ZXIgb3JnYW5pemF0aW9uIGFuZCBtYW5hZ2VtZW50IG9mIGNvZGUuXG4gKiBcbiAqICMjIyBFeGFtcGxlIFVzYWdlOlxuICogYGBgdHNcbiAqIGltcG9ydCB7IEVuZ2luZSB9IGZyb20gXCJAYWVyb2tpdC9zZGsvcGxhdGZvcm1cIjtcbiAqIFxuICogLy8gR2V0IGF2YWlsYWJsZSBlbmdpbmUgdHlwZXNcbiAqIGNvbnN0IGVuZ2luZVR5cGVzID0gRW5naW5lLmdldFR5cGVzKCk7XG4gKiBjb25zb2xlLmxvZyhcIkF2YWlsYWJsZSBFbmdpbmVzOlwiLCBlbmdpbmVUeXBlcyk7XG4gKiBcbiAqIC8vIENyZWF0ZSBhbiBpbnN0YW5jZSBvZiB0aGUgRW5naW5lIGNsYXNzIGZvciBKYXZhU2NyaXB0XG4gKiBjb25zdCBqc0VuZ2luZSA9IG5ldyBFbmdpbmUoXCJqYXZhc2NyaXB0XCIpO1xuICogXG4gKiAvLyBFeGVjdXRlIGEgc2NyaXB0IHdpdGhpbiBhIHByb2plY3QgY29udGV4dFxuICogY29uc3QgcmVzdWx0ID0ganNFbmdpbmUuZXhlY3V0ZShcbiAqICAgICBcIk15UHJvamVjdFwiLFxuICogICAgIFwibGliL3NjcmlwdC5qc1wiLFxuICogICAgIFwiXCIsXG4gKiAgICAgeyBwYXJhbTE6IFwidmFsdWUxXCIsIHBhcmFtMjogNDIgfSxcbiAqICAgICBmYWxzZVxuICogKTtcbiAqIGNvbnNvbGUubG9nKFwiRXhlY3V0aW9uIFJlc3VsdDpcIiwgcmVzdWx0KTtcbiAqIGBgYFxuICovXG5cbmNvbnN0IEVuZ2luZXNGYWNhZGUgPSBKYXZhLnR5cGUoXCJvcmcuZWNsaXBzZS5kaXJpZ2libGUuY29tcG9uZW50cy5hcGkucGxhdGZvcm0uRW5naW5lc0ZhY2FkZVwiKTtcbmNvbnN0IEhhc2hNYXAgPSBKYXZhLnR5cGUoXCJqYXZhLnV0aWwuSGFzaE1hcFwiKTtcblxuLyoqXG4gKiBJbnRlcmZhY2UgZGVmaW5pbmcgdGhlIGV4ZWN1dGlvbiBwYXJhbWV0ZXJzIGV4cGVjdGVkIGJ5IHRoZSBFbmdpbmUgY2xhc3MuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRXhlY3V0aW9uUGFyYW1ldGVycyB7XG5cdFtrZXk6IHN0cmluZ106IGFueVxufVxuXG4vKipcbiAqIEBjbGFzcyBFbmdpbmVcbiAqIEBkZXNjcmlwdGlvbiBSZXByZXNlbnRzIGEgc3BlY2lmaWMgZXhlY3V0aW9uIGVuZ2luZSB0eXBlIChlLmcuLCBKYXZhU2NyaXB0LCBHcm9vdnkpXG4gKiBhbmQgcHJvdmlkZXMgbWV0aG9kcyB0byBpbnRlcmFjdCB3aXRoIHRoZSBwbGF0Zm9ybSdzIGV4ZWN1dGlvbiBmYWNhZGUuXG4gKi9cbmV4cG9ydCBjbGFzcyBFbmdpbmUge1xuXHRwcml2YXRlIHR5cGU6IHN0cmluZztcblxuXHQvKipcblx0ICogQ3JlYXRlcyBhbiBpbnN0YW5jZSBvZiBFbmdpbmUuXG5cdCAqIEBwYXJhbSB7c3RyaW5nfSB0eXBlIFRoZSB0eXBlIG9mIHRoZSBleGVjdXRpb24gZW5naW5lIChlLmcuLCBcImphdmFzY3JpcHRcIikuXG5cdCAqL1xuXHRjb25zdHJ1Y3Rvcih0eXBlOiBzdHJpbmcpIHtcblx0XHR0aGlzLnR5cGUgPSB0eXBlO1xuXHR9XG5cblx0LyoqXG5cdCAqIFJldHJpZXZlcyB0aGUgbGlzdCBvZiBhdmFpbGFibGUgZW5naW5lIHR5cGVzIGZyb20gdGhlIHBsYXRmb3JtLlxuXHQgKiBAcmV0dXJucyB7c3RyaW5nW119IEFuIGFycmF5IG9mIHN1cHBvcnRlZCBlbmdpbmUgdHlwZSBuYW1lcy5cblx0ICovXG5cdHB1YmxpYyBzdGF0aWMgZ2V0VHlwZXMoKTogc3RyaW5nW10ge1xuXHRcdC8vIFRoZSBmYWNhZGUgbWV0aG9kIHJldHVybnMgYSBKU09OIGFycmF5IHN0cmluZywgd2hpY2ggd2UgcGFyc2UuXG5cdFx0cmV0dXJuIEpTT04ucGFyc2UoRW5naW5lc0ZhY2FkZS5nZXRFbmdpbmVUeXBlcygpKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBFeGVjdXRlcyBhIHByb2plY3Qgc2NyaXB0IG9yIHByb2Nlc3MgdXNpbmcgdGhlIGNvbmZpZ3VyZWQgZW5naW5lIHR5cGUuXG5cdCAqXG5cdCAqIEBwYXJhbSB7c3RyaW5nfSBwcm9qZWN0TmFtZSBUaGUgbmFtZSBvZiB0aGUgcHJvamVjdC5cblx0ICogQHBhcmFtIHtzdHJpbmd9IHByb2plY3RGaWxlUGF0aCBUaGUgcmVsYXRpdmUgcGF0aCB0byB0aGUgbWFpbiBmaWxlIHRvIGV4ZWN1dGUgd2l0aGluIHRoZSBwcm9qZWN0IChlLmcuLCBcImxpYi9zY3JpcHQuanNcIikuXG5cdCAqIEBwYXJhbSB7c3RyaW5nfSBwcm9qZWN0RmlsZVBhdGhQYXJhbSBBIHNlY29uZGFyeSBmaWxlIHBhdGggcGFyYW1ldGVyIChvZnRlbiB1bnVzZWQgb3IgY29udGV4dC1zcGVjaWZpYykuXG5cdCAqIEBwYXJhbSB7RXhlY3V0aW9uUGFyYW1ldGVyc30gcGFyYW1ldGVycyBBbiBvYmplY3QgY29udGFpbmluZyBrZXkvdmFsdWUgcGFyYW1ldGVycyB0byBwYXNzIHRvIHRoZSBzY3JpcHQgY29udGV4dC5cblx0ICogQHBhcmFtIHtib29sZWFufSBbZGVidWc9ZmFsc2VdIFdoZXRoZXIgdG8gZXhlY3V0ZSBpbiBkZWJ1ZyBtb2RlLlxuXHQgKiBAcmV0dXJucyB7YW55fSBUaGUgcmVzdWx0IHJldHVybmVkIGJ5IHRoZSBleGVjdXRlZCBzY3JpcHQuXG5cdCAqL1xuXHRwdWJsaWMgZXhlY3V0ZShcblx0XHRwcm9qZWN0TmFtZTogc3RyaW5nLFxuXHRcdHByb2plY3RGaWxlUGF0aDogc3RyaW5nLFxuXHRcdHByb2plY3RGaWxlUGF0aFBhcmFtOiBzdHJpbmcsXG5cdFx0cGFyYW1ldGVyczogRXhlY3V0aW9uUGFyYW1ldGVycyxcblx0XHRkZWJ1ZzogYm9vbGVhbiA9IGZhbHNlXG5cdCk6IGFueSB7XG5cdFx0Ly8gQ29udmVydCB0aGUgVHlwZVNjcmlwdC9KYXZhU2NyaXB0IHBhcmFtZXRlciBvYmplY3QgaW50byBhIEphdmEgSGFzaE1hcFxuXHRcdC8vIHdoaWNoIGlzIHJlcXVpcmVkIGJ5IHRoZSBFbmdpbmVzRmFjYWRlIEFQSS5cblx0XHRjb25zdCBtYXBJbnN0YW5jZSA9IG5ldyBIYXNoTWFwKCk7XG5cdFx0Zm9yIChjb25zdCBwcm9wZXJ0eSBpbiBwYXJhbWV0ZXJzKSB7XG5cdFx0XHQvLyBDUklUSUNBTCBGSVg6IEVuc3VyZSB3ZSB1c2UgdGhlICdwYXJhbWV0ZXJzJyBvYmplY3QsIG5vdCB0aGUgZ2xvYmFsICdjb250ZXh0J1xuXHRcdFx0aWYgKHBhcmFtZXRlcnMuaGFzT3duUHJvcGVydHkocHJvcGVydHkpKSB7XG5cdFx0XHRcdG1hcEluc3RhbmNlLnB1dChwcm9wZXJ0eSwgcGFyYW1ldGVyc1twcm9wZXJ0eV0pO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdHJldHVybiBFbmdpbmVzRmFjYWRlLmV4ZWN1dGUoXG5cdFx0XHR0aGlzLnR5cGUsXG5cdFx0XHRwcm9qZWN0TmFtZSxcblx0XHRcdHByb2plY3RGaWxlUGF0aCxcblx0XHRcdHByb2plY3RGaWxlUGF0aFBhcmFtLFxuXHRcdFx0bWFwSW5zdGFuY2UsXG5cdFx0XHRkZWJ1Z1xuXHRcdCk7XG5cdH1cbn1cblxuLy8gQHRzLWlnbm9yZVxuaWYgKHR5cGVvZiBtb2R1bGUgIT09ICd1bmRlZmluZWQnKSB7XG5cdC8vIEB0cy1pZ25vcmVcblx0bW9kdWxlLmV4cG9ydHMgPSBFbmdpbmU7XG59Il0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBdUNBLE1BQU0sZ0JBQWdCLEtBQUssS0FBSyw2REFBNkQ7QUFDN0YsTUFBTSxVQUFVLEtBQUssS0FBSyxtQkFBbUI7QUFjdEMsTUFBTSxPQUFPO0FBQUEsRUFDWDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFNUixZQUFZLE1BQWM7QUFDekIsU0FBSyxPQUFPO0FBQUEsRUFDYjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFNQSxPQUFjLFdBQXFCO0FBRWxDLFdBQU8sS0FBSyxNQUFNLGNBQWMsZUFBZSxDQUFDO0FBQUEsRUFDakQ7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBWU8sUUFDTixhQUNBLGlCQUNBLHNCQUNBLFlBQ0EsUUFBaUIsT0FDWDtBQUdOLFVBQU0sY0FBYyxJQUFJLFFBQVE7QUFDaEMsZUFBVyxZQUFZLFlBQVk7QUFFbEMsVUFBSSxXQUFXLGVBQWUsUUFBUSxHQUFHO0FBQ3hDLG9CQUFZLElBQUksVUFBVSxXQUFXLFFBQVEsQ0FBQztBQUFBLE1BQy9DO0FBQUEsSUFDRDtBQUVBLFdBQU8sY0FBYztBQUFBLE1BQ3BCLEtBQUs7QUFBQSxNQUNMO0FBQUEsTUFDQTtBQUFBLE1BQ0E7QUFBQSxNQUNBO0FBQUEsTUFDQTtBQUFBLElBQ0Q7QUFBQSxFQUNEO0FBQ0Q7QUFHQSxJQUFJLE9BQU8sV0FBVyxhQUFhO0FBRWxDLFNBQU8sVUFBVTtBQUNsQjsiLAogICJuYW1lcyI6IFtdCn0K
@@ -44,4 +44,4 @@ __reExport(platform_exports, require("./repository"), module.exports);
44
44
  var import_repository = require("./repository");
45
45
  __reExport(platform_exports, require("./workspace"), module.exports);
46
46
  var import_workspace = require("./workspace");
47
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3BsYXRmb3JtL2luZGV4LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJleHBvcnQgKiBmcm9tIFwiLi9jb21tYW5kXCI7XG5leHBvcnQgeyBDb21tYW5kIGFzIGNvbW1hbmQgfSBmcm9tIFwiLi9jb21tYW5kXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbmdpbmVzXCI7XG5leHBvcnQgeyBFbmdpbmUgYXMgZW5naW5lcyB9IGZyb20gXCIuL2VuZ2luZXNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpZmVjeWNsZVwiO1xuZXhwb3J0IHsgTGlmZWN5Y2xlIGFzIGxpZmVjeWNsZSB9IGZyb20gXCIuL2xpZmVjeWNsZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vb3NcIjtcbmV4cG9ydCB7IE9TIGFzIG9zIH0gZnJvbSBcIi4vb3NcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3Byb2JsZW1zXCI7XG5leHBvcnQgeyBQcm9ibGVtcyBhcyBwcm9ibGVtcyB9IGZyb20gXCIuL3Byb2JsZW1zXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9yZWdpc3RyeVwiO1xuZXhwb3J0IHsgUmVnaXN0cnkgYXMgcmVnaXN0cnkgfSBmcm9tIFwiLi9yZWdpc3RyeVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vcmVwb3NpdG9yeVwiO1xuZXhwb3J0IHsgUmVwb3NpdG9yeSBhcyByZXBvc2l0b3J5IH0gZnJvbSBcIi4vcmVwb3NpdG9yeVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vd29ya3NwYWNlXCI7XG5leHBvcnQgeyBXb3Jrc3BhY2UgYXMgd29ya3NwYWNlIH0gZnJvbSBcIi4vd29ya3NwYWNlXCI7XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSw2QkFBYyxzQkFBZDtBQUNBLHFCQUFtQztBQUNuQyw2QkFBYyxzQkFGZDtBQUdBLHFCQUFrQztBQUNsQyw2QkFBYyx3QkFKZDtBQUtBLHVCQUF1QztBQUN2Qyw2QkFBYyxpQkFOZDtBQU9BLGdCQUF5QjtBQUN6Qiw2QkFBYyx1QkFSZDtBQVNBLHNCQUFxQztBQUNyQyw2QkFBYyx1QkFWZDtBQVdBLHNCQUFxQztBQUNyQyw2QkFBYyx5QkFaZDtBQWFBLHdCQUF5QztBQUN6Qyw2QkFBYyx3QkFkZDtBQWVBLHVCQUF1QzsiLAogICJuYW1lcyI6IFtdCn0K
47
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3BsYXRmb3JtL2luZGV4LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBtb2R1bGUgcGxhdGZvcm0vaW5kZXhcbiAqIEBwYWNrYWdlIEBhZXJva2l0L3Nkay9wbGF0Zm9ybVxuICogQG92ZXJ2aWV3XG4gKiBcbiAqIFRoaXMgbW9kdWxlIHByb3ZpZGVzIHBsYXRmb3JtLXNwZWNpZmljIHV0aWxpdGllcyBhbmQgYWJzdHJhY3Rpb25zIGZvciB0aGUgQWVyb2tpdCBTREsuXG4gKiBJdCBleHBvc2VzIGNvbW1hbmQgZXhlY3V0aW9uLCBlbmdpbmUgbWFuYWdlbWVudCwgbGlmZWN5Y2xlIGNvbnRyb2wsIE9TIGluZm9ybWF0aW9uLFxuICogcHJvYmxlbSByZXBvcnRpbmcsIHJlZ2lzdHJ5L3JlcG9zaXRvcnkgaGFuZGxpbmcsIGFuZCB3b3Jrc3BhY2Ugb3BlcmF0aW9ucy5cbiAqXG4gKiBUaGUgbWFpbiBjb21wb25lbnRzIG9mIHRoaXMgbW9kdWxlIGFyZTpcbiAqIC0gQ29tbWFuZDogRXhlY3V0aW9uIG9mIHBsYXRmb3JtIGNvbW1hbmRzIGFuZCBwcm9jZXNzIGludGVyYWN0aW9uLlxuICogLSBFbmdpbmU6IE1hbmFnZW1lbnQgb2YgcGx1Z2dhYmxlIGV4ZWN1dGlvbiBlbmdpbmVzLlxuICogLSBMaWZlY3ljbGU6IEFwcGxpY2F0aW9uL3NlcnZpY2UgbGlmZWN5Y2xlIGhlbHBlcnMuXG4gKiAtIE9TOiBPcGVyYXRpbmcgc3lzdGVtIGluZm9ybWF0aW9uIGFuZCB1dGlsaXRpZXMuXG4gKiAtIFByb2JsZW1zOiBVbmlmaWVkIHByb2JsZW0gcmVwb3J0aW5nIGFuZCBkaWFnbm9zdGljcyBjb2xsZWN0aW9uLlxuICogLSBSZWdpc3RyeTogUGFja2FnZS9leHRlbnNpb24gcmVnaXN0cnkgaW50ZXJmYWNlcy5cbiAqIC0gUmVwb3NpdG9yeTogUmVwb3NpdG9yeSBsYXlvdXQgYW5kIGFjY2VzcyBhYnN0cmFjdGlvbnMuXG4gKiAtIFdvcmtzcGFjZTogV29ya3NwYWNlIHBhdGggYW5kIGZpbGUgaGFuZGxpbmcgaGVscGVycy5cbiAqL1xuXG5leHBvcnQgKiBmcm9tIFwiLi9jb21tYW5kXCI7XG5leHBvcnQgeyBDb21tYW5kIGFzIGNvbW1hbmQgfSBmcm9tIFwiLi9jb21tYW5kXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbmdpbmVzXCI7XG5leHBvcnQgeyBFbmdpbmUgYXMgZW5naW5lcyB9IGZyb20gXCIuL2VuZ2luZXNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpZmVjeWNsZVwiO1xuZXhwb3J0IHsgTGlmZWN5Y2xlIGFzIGxpZmVjeWNsZSB9IGZyb20gXCIuL2xpZmVjeWNsZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vb3NcIjtcbmV4cG9ydCB7IE9TIGFzIG9zIH0gZnJvbSBcIi4vb3NcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3Byb2JsZW1zXCI7XG5leHBvcnQgeyBQcm9ibGVtcyBhcyBwcm9ibGVtcyB9IGZyb20gXCIuL3Byb2JsZW1zXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9yZWdpc3RyeVwiO1xuZXhwb3J0IHsgUmVnaXN0cnkgYXMgcmVnaXN0cnkgfSBmcm9tIFwiLi9yZWdpc3RyeVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vcmVwb3NpdG9yeVwiO1xuZXhwb3J0IHsgUmVwb3NpdG9yeSBhcyByZXBvc2l0b3J5IH0gZnJvbSBcIi4vcmVwb3NpdG9yeVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vd29ya3NwYWNlXCI7XG5leHBvcnQgeyBXb3Jrc3BhY2UgYXMgd29ya3NwYWNlIH0gZnJvbSBcIi4vd29ya3NwYWNlXCI7XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFvQkEsNkJBQWMsc0JBcEJkO0FBcUJBLHFCQUFtQztBQUNuQyw2QkFBYyxzQkF0QmQ7QUF1QkEscUJBQWtDO0FBQ2xDLDZCQUFjLHdCQXhCZDtBQXlCQSx1QkFBdUM7QUFDdkMsNkJBQWMsaUJBMUJkO0FBMkJBLGdCQUF5QjtBQUN6Qiw2QkFBYyx1QkE1QmQ7QUE2QkEsc0JBQXFDO0FBQ3JDLDZCQUFjLHVCQTlCZDtBQStCQSxzQkFBcUM7QUFDckMsNkJBQWMseUJBaENkO0FBaUNBLHdCQUF5QztBQUN6Qyw2QkFBYyx3QkFsQ2Q7QUFtQ0EsdUJBQXVDOyIsCiAgIm5hbWVzIjogW10KfQo=
@@ -46,4 +46,4 @@ class Lifecycle {
46
46
  if (typeof module !== "undefined") {
47
47
  module.exports = Lifecycle;
48
48
  }
49
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3BsYXRmb3JtL2xpZmVjeWNsZS50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBQcm92aWRlcyBhIHdyYXBwZXIgZm9yIG1hbmFnaW5nIHRoZSBhcHBsaWNhdGlvbiBsaWZlY3ljbGUgKHB1Ymxpc2gvdW5wdWJsaXNoKVxuICovXG5jb25zdCBMaWZlY3ljbGVGYWNhZGUgPSBKYXZhLnR5cGUoXCJvcmcuZWNsaXBzZS5kaXJpZ2libGUuY29tcG9uZW50cy5hcGkucGxhdGZvcm0uTGlmZWN5Y2xlRmFjYWRlXCIpO1xuXG4vKipcbiAqIEBjbGFzcyBMaWZlY3ljbGVcbiAqIEBkZXNjcmlwdGlvbiBTdGF0aWMgdXRpbGl0eSBjbGFzcyB0byBwdWJsaXNoIGFuZCB1bnB1Ymxpc2ggcHJvamVjdHMgb24gdGhlIHBsYXRmb3JtLlxuICovXG5leHBvcnQgY2xhc3MgTGlmZWN5Y2xlIHtcblxuICAgIC8qKlxuICAgICAqIFB1Ymxpc2hlcyBhIHByb2plY3QgZm9yIGEgc3BlY2lmaWMgdXNlciBhbmQgd29ya3NwYWNlLlxuICAgICAqXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IHVzZXIgVGhlIHVzZXJuYW1lIG9mIHRoZSBvd25lciBvZiB0aGUgd29ya3NwYWNlLlxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSB3b3Jrc3BhY2UgVGhlIG5hbWUgb2YgdGhlIHdvcmtzcGFjZSB0byBwdWJsaXNoIGZyb20uXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IFtwcm9qZWN0PVwiKlwiXSBUaGUgc3BlY2lmaWMgcHJvamVjdCBuYW1lIHRvIHB1Ymxpc2guIFVzZSBcIipcIiB0byBwdWJsaXNoIGFsbCBwcm9qZWN0cyBpbiB0aGUgd29ya3NwYWNlLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBUcnVlIGlmIHRoZSBwdWJsaXNoIG9wZXJhdGlvbiB3YXMgc3VjY2Vzc2Z1bCwgZmFsc2Ugb3RoZXJ3aXNlLlxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgcHVibGlzaCh1c2VyOiBzdHJpbmcsIHdvcmtzcGFjZTogc3RyaW5nLCBwcm9qZWN0OiBzdHJpbmcgPSBcIipcIik6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gTGlmZWN5Y2xlRmFjYWRlLnB1Ymxpc2godXNlciwgd29ya3NwYWNlLCBwcm9qZWN0KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBVbnB1Ymxpc2hlcyBhIGN1cnJlbnRseSBkZXBsb3llZCBwcm9qZWN0LlxuICAgICAqXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IFtwcm9qZWN0PVwiKlwiXSBUaGUgc3BlY2lmaWMgcHJvamVjdCBuYW1lIHRvIHVucHVibGlzaC4gVXNlIFwiKlwiIHRvIHVucHVibGlzaCBhbGwgY3VycmVudGx5IGRlcGxveWVkIHByb2plY3RzLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBUcnVlIGlmIHRoZSB1bnB1Ymxpc2ggb3BlcmF0aW9uIHdhcyBzdWNjZXNzZnVsLCBmYWxzZSBvdGhlcndpc2UuXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyB1bnB1Ymxpc2gocHJvamVjdDogc3RyaW5nID0gXCIqXCIpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIExpZmVjeWNsZUZhY2FkZS51bnB1Ymxpc2gocHJvamVjdCk7XG4gICAgfVxufVxuXG5cbi8vIEB0cy1pZ25vcmVcbmlmICh0eXBlb2YgbW9kdWxlICE9PSAndW5kZWZpbmVkJykge1xuXHQvLyBAdHMtaWdub3JlXG5cdG1vZHVsZS5leHBvcnRzID0gTGlmZWN5Y2xlO1xufSJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUdBLE1BQU0sa0JBQWtCLEtBQUssS0FBSywrREFBK0Q7QUFNMUYsTUFBTSxVQUFVO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBVW5CLE9BQWMsUUFBUSxNQUFjLFdBQW1CLFVBQWtCLEtBQWM7QUFDbkYsV0FBTyxnQkFBZ0IsUUFBUSxNQUFNLFdBQVcsT0FBTztBQUFBLEVBQzNEO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRQSxPQUFjLFVBQVUsVUFBa0IsS0FBYztBQUNwRCxXQUFPLGdCQUFnQixVQUFVLE9BQU87QUFBQSxFQUM1QztBQUNKO0FBSUEsSUFBSSxPQUFPLFdBQVcsYUFBYTtBQUVsQyxTQUFPLFVBQVU7QUFDbEI7IiwKICAibmFtZXMiOiBbXQp9Cg==
49
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3BsYXRmb3JtL2xpZmVjeWNsZS50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAbW9kdWxlIHBsYXRmb3JtL2xpZmVjeWNsZVxuICogQHBhY2thZ2UgQGFlcm9raXQvc2RrL3BsYXRmb3JtXG4gKiBAbmFtZSBMaWZlY3ljbGVcbiAqIEBvdmVydmlld1xuICogXG4gKiBUaGUgTGlmZWN5Y2xlIG1vZHVsZSBwcm92aWRlcyBhIHN0YXRpYyB1dGlsaXR5IGNsYXNzIGZvciBtYW5hZ2luZyB0aGUgbGlmZWN5Y2xlIG9mIHByb2plY3RzIG9uIHRoZSBwbGF0Zm9ybSwgaW5jbHVkaW5nIHB1Ymxpc2hpbmcgYW5kIHVucHVibGlzaGluZyBwcm9qZWN0cy4gSXQgYWJzdHJhY3RzIHRoZSBjb21wbGV4aXRpZXMgb2YgcHJvamVjdCBkZXBsb3ltZW50LCBhbGxvd2luZyBkZXZlbG9wZXJzIHRvIGVhc2lseSBjb250cm9sIHRoZSBhdmFpbGFiaWxpdHkgb2YgdGhlaXIgcHJvamVjdHMgdGhyb3VnaCBzaW1wbGUgbWV0aG9kIGNhbGxzLlxuICogXG4gKiAjIyMgS2V5IEZlYXR1cmVzOlxuICogLSAqKlByb2plY3QgUHVibGlzaGluZyoqOiBUaGUgYHB1Ymxpc2hgIG1ldGhvZCBhbGxvd3MgZGV2ZWxvcGVycyB0byBwdWJsaXNoIGEgc3BlY2lmaWMgcHJvamVjdCBvciBhbGwgcHJvamVjdHMgd2l0aGluIGEgd29ya3NwYWNlIGZvciBhIGdpdmVuIHVzZXIuXG4gKiAtICoqUHJvamVjdCBVbnB1Ymxpc2hpbmcqKjogVGhlIGB1bnB1Ymxpc2hgIG1ldGhvZCBlbmFibGVzIGRldmVsb3BlcnMgdG8gdW5wdWJsaXNoIGEgc3BlY2lmaWMgcHJvamVjdCBvciBhbGwgY3VycmVudGx5IGRlcGxveWVkIHByb2plY3RzLCBtYWtpbmcgdGhlbSB1bmF2YWlsYWJsZSBmb3IgdXNlLlxuICogXG4gKiAjIyMgVXNlIENhc2VzOlxuICogLSAqKkRlcGxveW1lbnQgTWFuYWdlbWVudCoqOiBUaGlzIG1vZHVsZSBpcyBpZGVhbCBmb3IgYXBwbGljYXRpb25zIHRoYXQgbmVlZCB0byBtYW5hZ2UgdGhlIGRlcGxveW1lbnQgc3RhdHVzIG9mIHByb2plY3RzIG9uIHRoZSBwbGF0Zm9ybSwgYWxsb3dpbmcgZm9yIGR5bmFtaWMgY29udHJvbCBvdmVyIHdoaWNoIHByb2plY3RzIGFyZSBhdmFpbGFibGUgYXQgYW55IGdpdmVuIHRpbWUuXG4gKiAtICoqQXV0b21hdGVkIERlcGxveW1lbnQqKjogRGV2ZWxvcGVycyBjYW4gdXNlIHRoaXMgbW9kdWxlIHRvIGF1dG9tYXRlIHRoZSBwdWJsaXNoaW5nIGFuZCB1bnB1Ymxpc2hpbmcgb2YgcHJvamVjdHMgYXMgcGFydCBvZiB0aGVpciBkZXZlbG9wbWVudCBhbmQgZGVwbG95bWVudCB3b3JrZmxvd3MuXG4gKiBcbiAqICMjIyBFeGFtcGxlIFVzYWdlOlxuICogYGBgdHNcbiAqIGltcG9ydCB7IExpZmVjeWNsZSB9IGZyb20gXCJAYWVyb2tpdC9zZGsvcGxhdGZvcm1cIjtcbiAqIFxuICogLy8gUHVibGlzaCBhIHNwZWNpZmljIHByb2plY3RcbiAqIGNvbnN0IHB1Ymxpc2hSZXN1bHQgPSBMaWZlY3ljbGUucHVibGlzaChcImpvaG5fZG9lXCIsIFwibXlfd29ya3NwYWNlXCIsIFwibXlfcHJvamVjdFwiKTtcbiAqIGNvbnNvbGUubG9nKFwiUHVibGlzaCBSZXN1bHQ6XCIsIHB1Ymxpc2hSZXN1bHQpO1xuICogXG4gKiAvLyBVbnB1Ymxpc2ggYWxsIGN1cnJlbnRseSBkZXBsb3llZCBwcm9qZWN0c1xuICogY29uc3QgdW5wdWJsaXNoUmVzdWx0ID0gTGlmZWN5Y2xlLnVucHVibGlzaCgpO1xuICogY29uc29sZS5sb2coXCJVbnB1Ymxpc2ggUmVzdWx0OlwiLCB1bnB1Ymxpc2hSZXN1bHQpO1xuICogYGBgIFxuICovXG5cbmNvbnN0IExpZmVjeWNsZUZhY2FkZSA9IEphdmEudHlwZShcIm9yZy5lY2xpcHNlLmRpcmlnaWJsZS5jb21wb25lbnRzLmFwaS5wbGF0Zm9ybS5MaWZlY3ljbGVGYWNhZGVcIik7XG5cbi8qKlxuICogQGNsYXNzIExpZmVjeWNsZVxuICogQGRlc2NyaXB0aW9uIFN0YXRpYyB1dGlsaXR5IGNsYXNzIHRvIHB1Ymxpc2ggYW5kIHVucHVibGlzaCBwcm9qZWN0cyBvbiB0aGUgcGxhdGZvcm0uXG4gKi9cbmV4cG9ydCBjbGFzcyBMaWZlY3ljbGUge1xuXG4gICAgLyoqXG4gICAgICogUHVibGlzaGVzIGEgcHJvamVjdCBmb3IgYSBzcGVjaWZpYyB1c2VyIGFuZCB3b3Jrc3BhY2UuXG4gICAgICpcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gdXNlciBUaGUgdXNlcm5hbWUgb2YgdGhlIG93bmVyIG9mIHRoZSB3b3Jrc3BhY2UuXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IHdvcmtzcGFjZSBUaGUgbmFtZSBvZiB0aGUgd29ya3NwYWNlIHRvIHB1Ymxpc2ggZnJvbS5cbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW3Byb2plY3Q9XCIqXCJdIFRoZSBzcGVjaWZpYyBwcm9qZWN0IG5hbWUgdG8gcHVibGlzaC4gVXNlIFwiKlwiIHRvIHB1Ymxpc2ggYWxsIHByb2plY3RzIGluIHRoZSB3b3Jrc3BhY2UuXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFRydWUgaWYgdGhlIHB1Ymxpc2ggb3BlcmF0aW9uIHdhcyBzdWNjZXNzZnVsLCBmYWxzZSBvdGhlcndpc2UuXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBwdWJsaXNoKHVzZXI6IHN0cmluZywgd29ya3NwYWNlOiBzdHJpbmcsIHByb2plY3Q6IHN0cmluZyA9IFwiKlwiKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBMaWZlY3ljbGVGYWNhZGUucHVibGlzaCh1c2VyLCB3b3Jrc3BhY2UsIHByb2plY3QpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFVucHVibGlzaGVzIGEgY3VycmVudGx5IGRlcGxveWVkIHByb2plY3QuXG4gICAgICpcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW3Byb2plY3Q9XCIqXCJdIFRoZSBzcGVjaWZpYyBwcm9qZWN0IG5hbWUgdG8gdW5wdWJsaXNoLiBVc2UgXCIqXCIgdG8gdW5wdWJsaXNoIGFsbCBjdXJyZW50bHkgZGVwbG95ZWQgcHJvamVjdHMuXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFRydWUgaWYgdGhlIHVucHVibGlzaCBvcGVyYXRpb24gd2FzIHN1Y2Nlc3NmdWwsIGZhbHNlIG90aGVyd2lzZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIHVucHVibGlzaChwcm9qZWN0OiBzdHJpbmcgPSBcIipcIik6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gTGlmZWN5Y2xlRmFjYWRlLnVucHVibGlzaChwcm9qZWN0KTtcbiAgICB9XG59XG5cblxuLy8gQHRzLWlnbm9yZVxuaWYgKHR5cGVvZiBtb2R1bGUgIT09ICd1bmRlZmluZWQnKSB7XG5cdC8vIEB0cy1pZ25vcmVcblx0bW9kdWxlLmV4cG9ydHMgPSBMaWZlY3ljbGU7XG59Il0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBOEJBLE1BQU0sa0JBQWtCLEtBQUssS0FBSywrREFBK0Q7QUFNMUYsTUFBTSxVQUFVO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBVW5CLE9BQWMsUUFBUSxNQUFjLFdBQW1CLFVBQWtCLEtBQWM7QUFDbkYsV0FBTyxnQkFBZ0IsUUFBUSxNQUFNLFdBQVcsT0FBTztBQUFBLEVBQzNEO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRQSxPQUFjLFVBQVUsVUFBa0IsS0FBYztBQUNwRCxXQUFPLGdCQUFnQixVQUFVLE9BQU87QUFBQSxFQUM1QztBQUNKO0FBSUEsSUFBSSxPQUFPLFdBQVcsYUFBYTtBQUVsQyxTQUFPLFVBQVU7QUFDbEI7IiwKICAibmFtZXMiOiBbXQp9Cg==
@@ -46,4 +46,4 @@ class OS {
46
46
  if (typeof module !== "undefined") {
47
47
  module.exports = OS;
48
48
  }
49
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3BsYXRmb3JtL29zLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIFV0aWxpdHkgY2xhc3MgZm9yIHJldHJpZXZpbmcgb3BlcmF0aW5nIHN5c3RlbSBpbmZvcm1hdGlvbiBhbmQgY2hlY2tpbmcgT1MgdHlwZXMuXG4gKiBJdCBsZXZlcmFnZXMgdGhlIHBsYXRmb3JtJ3MgYWNjZXNzIHRvIEphdmEncyBTeXN0ZW1VdGlscyBmb3Igc3lzdGVtIHByb3BlcnRpZXMuXG4gKi9cbmNvbnN0IFN5c3RlbVV0aWxzID0gSmF2YS50eXBlKFwib3JnLmFwYWNoZS5jb21tb25zLmxhbmczLlN5c3RlbVV0aWxzXCIpXG5cbi8qKlxuICogQGNsYXNzIE9TXG4gKiBAZGVzY3JpcHRpb24gUHJvdmlkZXMgc3RhdGljIG1ldGhvZHMgYW5kIGNvbnN0YW50cyByZWxhdGVkIHRvIHRoZSBvcGVyYXRpbmcgc3lzdGVtXG4gKiB0aGUgdW5kZXJseWluZyBKYXZhIHBsYXRmb3JtIGlzIHJ1bm5pbmcgb24uXG4gKi9cbmV4cG9ydCBjbGFzcyBPUyB7XG5cblx0LyoqXG5cdCAqIFRoZSBmdWxsIG5hbWUgb2YgdGhlIG9wZXJhdGluZyBzeXN0ZW0gKGUuZy4sIFwiV2luZG93cyAxMFwiLCBcIkxpbnV4XCIpLlxuXHQgKiBUaGlzIHZhbHVlIGlzIHJlYWQgZGlyZWN0bHkgZnJvbSB0aGUgSmF2YSBzeXN0ZW0gcHJvcGVydHkgJ29zLm5hbWUnLlxuXHQgKiBAdHlwZSB7c3RyaW5nfVxuXHQgKi9cblx0cHVibGljIHN0YXRpYyByZWFkb25seSBPU19OQU1FOiBzdHJpbmcgPSBTeXN0ZW1VdGlscy5PU19OQU1FO1xuXG5cdC8qKlxuXHQgKiBDaGVja3MgaWYgdGhlIG9wZXJhdGluZyBzeXN0ZW0gaXMgYSB2YXJpYW50IG9mIFdpbmRvd3MuXG5cdCAqIEByZXR1cm5zIHtib29sZWFufSBUcnVlIGlmIHRoZSBPUyBpcyBXaW5kb3dzLCBmYWxzZSBvdGhlcndpc2UuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIGlzV2luZG93cygpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gU3lzdGVtVXRpbHMuSVNfT1NfV0lORE9XUztcblx0fVxuXG5cdC8qKlxuXHQgKiBDaGVja3MgaWYgdGhlIG9wZXJhdGluZyBzeXN0ZW0gaXMgYSB2YXJpYW50IG9mIFVuaXggKGluY2x1ZGluZyBMaW51eCwgbWFjT1MsIGFuZCBCU0QpLlxuXHQgKiBAcmV0dXJucyB7Ym9vbGVhbn0gVHJ1ZSBpZiB0aGUgT1MgaXMgVW5peC1saWtlLCBmYWxzZSBvdGhlcndpc2UuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIGlzVW5peCgpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gU3lzdGVtVXRpbHMuSVNfT1NfVU5JWDtcblx0fVxufVxuXG4vLyBAdHMtaWdub3JlXG5pZiAodHlwZW9mIG1vZHVsZSAhPT0gJ3VuZGVmaW5lZCcpIHtcblx0Ly8gQHRzLWlnbm9yZVxuXHRtb2R1bGUuZXhwb3J0cyA9IE9TO1xufSJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUlBLE1BQU0sY0FBYyxLQUFLLEtBQUssc0NBQXNDO0FBTzdELE1BQU0sR0FBRztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU9mLE9BQXVCLFVBQWtCLFlBQVk7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBTXJELE9BQWMsWUFBcUI7QUFDbEMsV0FBTyxZQUFZO0FBQUEsRUFDcEI7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBTUEsT0FBYyxTQUFrQjtBQUMvQixXQUFPLFlBQVk7QUFBQSxFQUNwQjtBQUNEO0FBR0EsSUFBSSxPQUFPLFdBQVcsYUFBYTtBQUVsQyxTQUFPLFVBQVU7QUFDbEI7IiwKICAibmFtZXMiOiBbXQp9Cg==
49
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3BsYXRmb3JtL29zLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBtb2R1bGUgcGxhdGZvcm0vb3NcbiAqIEBwYWNrYWdlIEBhZXJva2l0L3Nkay9wbGF0Zm9ybVxuICogQG5hbWUgT1NcbiAqIEBvdmVydmlld1xuICogXG4gKiBUaGUgT1MgbW9kdWxlIHByb3ZpZGVzIGEgc3RhdGljIHV0aWxpdHkgY2xhc3MgZm9yIHJldHJpZXZpbmcgb3BlcmF0aW5nIHN5c3RlbSBpbmZvcm1hdGlvbiBhbmQgY2hlY2tpbmcgT1MgdHlwZXMuIEl0IGxldmVyYWdlcyB0aGUgcGxhdGZvcm0ncyBhY2Nlc3MgdG8gSmF2YSdzIFN5c3RlbVV0aWxzIGZvciBzeXN0ZW0gcHJvcGVydGllcywgYWxsb3dpbmcgZGV2ZWxvcGVycyB0byBlYXNpbHkgZGV0ZXJtaW5lIHRoZSBvcGVyYXRpbmcgc3lzdGVtIHRoZWlyIGFwcGxpY2F0aW9uIGlzIHJ1bm5pbmcgb24uIFRoaXMgY2FuIGJlIHBhcnRpY3VsYXJseSB1c2VmdWwgZm9yIGFwcGxpY2F0aW9ucyB0aGF0IG5lZWQgdG8gcGVyZm9ybSBPUy1zcGVjaWZpYyBvcGVyYXRpb25zIG9yIG9wdGltaXphdGlvbnMuXG4gKiBcbiAqICMjIyBLZXkgRmVhdHVyZXM6XG4gKiAtICoqT1MgTmFtZSBSZXRyaWV2YWwqKjogQWNjZXNzIHRoZSBmdWxsIG5hbWUgb2YgdGhlIG9wZXJhdGluZyBzeXN0ZW0gdGhyb3VnaCBhIHN0YXRpYyBjb25zdGFudC5cbiAqIC0gKipPUyBUeXBlIENoZWNraW5nKio6IFN0YXRpYyBtZXRob2RzIHRvIGNoZWNrIGlmIHRoZSBvcGVyYXRpbmcgc3lzdGVtIGlzIGEgdmFyaWFudCBvZiBXaW5kb3dzIG9yIFVuaXggKGluY2x1ZGluZyBMaW51eCwgbWFjT1MsIGFuZCBCU0QpLlxuICogXG4gKiAjIyMgVXNlIENhc2VzOlxuICogLSAqKkNyb3NzLVBsYXRmb3JtIENvbXBhdGliaWxpdHkqKjogVGhpcyBtb2R1bGUgaXMgaWRlYWwgZm9yIGFwcGxpY2F0aW9ucyB0aGF0IG5lZWQgdG8gZW5zdXJlIGNvbXBhdGliaWxpdHkgYWNyb3NzIGRpZmZlcmVudCBvcGVyYXRpbmcgc3lzdGVtcyBieSBjb25kaXRpb25hbGx5IGV4ZWN1dGluZyBjb2RlIGJhc2VkIG9uIHRoZSBPUyB0eXBlLlxuICogLSAqKlN5c3RlbSBJbmZvcm1hdGlvbioqOiBEZXZlbG9wZXJzIGNhbiB1c2UgdGhpcyBtb2R1bGUgdG8gZ2F0aGVyIGluZm9ybWF0aW9uIGFib3V0IHRoZSBvcGVyYXRpbmcgc3lzdGVtIGZvciBsb2dnaW5nLCBkZWJ1Z2dpbmcsIG9yIGFuYWx5dGljcyBwdXJwb3Nlcy5cbiAqIFxuICogIyMjIEV4YW1wbGUgVXNhZ2U6XG4gKiBgYGB0c1xuICogaW1wb3J0IHsgT1MgfSBmcm9tIFwiQGFlcm9raXQvc2RrL3BsYXRmb3JtXCI7XG4gKiBcbiAqIGNvbnNvbGUubG9nKFwiT3BlcmF0aW5nIFN5c3RlbTpcIiwgT1MuT1NfTkFNRSk7XG4gKiBpZiAoT1MuaXNXaW5kb3dzKCkpIHtcbiAqICAgICBjb25zb2xlLmxvZyhcIlJ1bm5pbmcgb24gV2luZG93c1wiKTtcbiAqIH0gZWxzZSBpZiAoT1MuaXNVbml4KCkpIHtcbiAqICAgICBjb25zb2xlLmxvZyhcIlJ1bm5pbmcgb24gYSBVbml4LWxpa2UgT1NcIik7XG4gKiB9IGVsc2Uge1xuICogICAgIGNvbnNvbGUubG9nKFwiUnVubmluZyBvbiBhbiB1bmtub3duIE9TXCIpO1xuICogfVxuICogYGBgXG4gKi9cblxuY29uc3QgU3lzdGVtVXRpbHMgPSBKYXZhLnR5cGUoXCJvcmcuYXBhY2hlLmNvbW1vbnMubGFuZzMuU3lzdGVtVXRpbHNcIilcblxuLyoqXG4gKiBAY2xhc3MgT1NcbiAqIEBkZXNjcmlwdGlvbiBQcm92aWRlcyBzdGF0aWMgbWV0aG9kcyBhbmQgY29uc3RhbnRzIHJlbGF0ZWQgdG8gdGhlIG9wZXJhdGluZyBzeXN0ZW1cbiAqIHRoZSB1bmRlcmx5aW5nIEphdmEgcGxhdGZvcm0gaXMgcnVubmluZyBvbi5cbiAqL1xuZXhwb3J0IGNsYXNzIE9TIHtcblxuXHQvKipcblx0ICogVGhlIGZ1bGwgbmFtZSBvZiB0aGUgb3BlcmF0aW5nIHN5c3RlbSAoZS5nLiwgXCJXaW5kb3dzIDEwXCIsIFwiTGludXhcIikuXG5cdCAqIFRoaXMgdmFsdWUgaXMgcmVhZCBkaXJlY3RseSBmcm9tIHRoZSBKYXZhIHN5c3RlbSBwcm9wZXJ0eSAnb3MubmFtZScuXG5cdCAqIEB0eXBlIHtzdHJpbmd9XG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIHJlYWRvbmx5IE9TX05BTUU6IHN0cmluZyA9IFN5c3RlbVV0aWxzLk9TX05BTUU7XG5cblx0LyoqXG5cdCAqIENoZWNrcyBpZiB0aGUgb3BlcmF0aW5nIHN5c3RlbSBpcyBhIHZhcmlhbnQgb2YgV2luZG93cy5cblx0ICogQHJldHVybnMge2Jvb2xlYW59IFRydWUgaWYgdGhlIE9TIGlzIFdpbmRvd3MsIGZhbHNlIG90aGVyd2lzZS5cblx0ICovXG5cdHB1YmxpYyBzdGF0aWMgaXNXaW5kb3dzKCk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBTeXN0ZW1VdGlscy5JU19PU19XSU5ET1dTO1xuXHR9XG5cblx0LyoqXG5cdCAqIENoZWNrcyBpZiB0aGUgb3BlcmF0aW5nIHN5c3RlbSBpcyBhIHZhcmlhbnQgb2YgVW5peCAoaW5jbHVkaW5nIExpbnV4LCBtYWNPUywgYW5kIEJTRCkuXG5cdCAqIEByZXR1cm5zIHtib29sZWFufSBUcnVlIGlmIHRoZSBPUyBpcyBVbml4LWxpa2UsIGZhbHNlIG90aGVyd2lzZS5cblx0ICovXG5cdHB1YmxpYyBzdGF0aWMgaXNVbml4KCk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBTeXN0ZW1VdGlscy5JU19PU19VTklYO1xuXHR9XG59XG5cbi8vIEB0cy1pZ25vcmVcbmlmICh0eXBlb2YgbW9kdWxlICE9PSAndW5kZWZpbmVkJykge1xuXHQvLyBAdHMtaWdub3JlXG5cdG1vZHVsZS5leHBvcnRzID0gT1M7XG59Il0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBK0JBLE1BQU0sY0FBYyxLQUFLLEtBQUssc0NBQXNDO0FBTzdELE1BQU0sR0FBRztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU9mLE9BQXVCLFVBQWtCLFlBQVk7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBTXJELE9BQWMsWUFBcUI7QUFDbEMsV0FBTyxZQUFZO0FBQUEsRUFDcEI7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBTUEsT0FBYyxTQUFrQjtBQUMvQixXQUFPLFlBQVk7QUFBQSxFQUNwQjtBQUNEO0FBR0EsSUFBSSxPQUFPLFdBQVcsYUFBYTtBQUVsQyxTQUFPLFVBQVU7QUFDbEI7IiwKICAibmFtZXMiOiBbXQp9Cg==
@@ -118,4 +118,4 @@ class Problems {
118
118
  if (typeof module !== "undefined") {
119
119
  module.exports = Problems;
120
120
  }
121
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3BsYXRmb3JtL3Byb2JsZW1zLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIFByb3ZpZGVzIGEgd3JhcHBlciBmb3IgdGhlIHBsYXRmb3JtJ3MgUHJvYmxlbXNGYWNhZGUgdG8gbWFuYWdlIHN5c3RlbSBpc3N1ZXMsXG4gKiBpbmNsdWRpbmcgc2F2aW5nIG5ldyBwcm9ibGVtcywgZmV0Y2hpbmcgZXhpc3Rpbmcgb25lcywgYW5kIHVwZGF0aW5nIHRoZWlyIHN0YXR1cy5cbiAqL1xuY29uc3QgUHJvYmxlbXNGYWNhZGUgPSBKYXZhLnR5cGUoXCJvcmcuZWNsaXBzZS5kaXJpZ2libGUuY29tcG9uZW50cy5hcGkucGxhdGZvcm0uUHJvYmxlbXNGYWNhZGVcIik7XG5cbi8qKlxuICogQGludGVyZmFjZSBQcm9ibGVtXG4gKiBAZGVzY3JpcHRpb24gUmVwcmVzZW50cyBhIHNpbmdsZSBwcm9ibGVtIG9yIGlzc3VlIHJlY29yZGVkIGluIHRoZSBzeXN0ZW0uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUHJvYmxlbSB7XG4gICAvKiogVGhlIHVuaXF1ZSBpZGVudGlmaWVyIG9mIHRoZSBwcm9ibGVtLiAqL1xuICAgaWQ6IG51bWJlcjtcbiAgIC8qKiBUaGUgcmVzb3VyY2UgcGF0aCBvciBmaWxlIGxvY2F0aW9uIHdoZXJlIHRoZSBwcm9ibGVtIHdhcyBkZXRlY3RlZC4gKi9cbiAgIGxvY2F0aW9uOiBzdHJpbmc7XG4gICAvKiogVGhlIHNldmVyaXR5IG9yIG5hdHVyZSBvZiB0aGUgcHJvYmxlbSAoZS5nLiwgXCJFcnJvclwiLCBcIldhcm5pbmdcIikuICovXG4gICB0eXBlOiBzdHJpbmc7XG4gICAvKiogVGhlIGxpbmUgbnVtYmVyIGluIHRoZSBzb3VyY2Ugd2hlcmUgdGhlIHByb2JsZW0gb2NjdXJyZWQuICovXG4gICBsaW5lOiBzdHJpbmc7XG4gICAvKiogVGhlIGNvbHVtbiBudW1iZXIgaW4gdGhlIHNvdXJjZSB3aGVyZSB0aGUgcHJvYmxlbSBvY2N1cnJlZC4gKi9cbiAgIGNvbHVtbjogc3RyaW5nO1xuICAgLyoqIEEgYnJpZWYgZGVzY3JpcHRpb24gb2YgdGhlIGNhdXNlIG9mIHRoZSBwcm9ibGVtLiAqL1xuICAgY2F1c2U6IHN0cmluZztcbiAgIC8qKiBBIGRlc2NyaXB0aW9uIG9mIHRoZSBleHBlY3RlZCBzdGF0ZSBvciB2YWx1ZS4gKi9cbiAgIGV4cGVjdGVkOiBzdHJpbmc7XG4gICAvKiogVGhlIHRpbWVzdGFtcCB3aGVuIHRoZSBwcm9ibGVtIHdhcyBjcmVhdGVkLiAqL1xuICAgY3JlYXRlZEF0OiBEYXRlO1xuICAgLyoqIFRoZSB1c2VyIHdobyBjcmVhdGVkIG9yIHRyaWdnZXJlZCB0aGUgcHJvYmxlbSByZWNvcmQuICovXG4gICBjcmVhdGVkQnk6IHN0cmluZztcbiAgIC8qKiBUaGUgY2F0ZWdvcnkgb2YgdGhlIHByb2JsZW0gKGUuZy4sIFwiU3ludGF4XCIsIFwiRGVwbG95bWVudFwiKS4gKi9cbiAgIGNhdGVnb3J5OiBzdHJpbmc7XG4gICAvKiogVGhlIG1vZHVsZSBvciBjb21wb25lbnQgd2hlcmUgdGhlIHByb2JsZW0gd2FzIGZvdW5kLiAqL1xuICAgbW9kdWxlOiBzdHJpbmc7XG4gICAvKiogVGhlIG9yaWdpbmFsIHNvdXJjZSBjb2RlIG9yIGNvbnRlbnQgcmVsYXRlZCB0byB0aGUgcHJvYmxlbS4gKi9cbiAgIHNvdXJjZTogc3RyaW5nO1xuICAgLyoqIFRoZSBwcm9ncmFtIG9yIGZpbGUgbmFtZSBhc3NvY2lhdGVkIHdpdGggdGhlIHByb2JsZW0uICovXG4gICBwcm9ncmFtOiBzdHJpbmc7XG4gICAvKiogVGhlIGN1cnJlbnQgc3RhdHVzIG9mIHRoZSBwcm9ibGVtIChlLmcuLCBBQ1RJVkUsIFNPTFZFRCwgSUdOT1JFRCkuICovXG4gICBzdGF0dXM6IHN0cmluZztcbn1cblxuLyoqXG4gKiBAY2xhc3MgUHJvYmxlbXNcbiAqIEBkZXNjcmlwdGlvbiBTdGF0aWMgdXRpbGl0eSBjbGFzcyBmb3IgbWFuYWdpbmcgc3lzdGVtIHByb2JsZW1zIHZpYSB0aGUgUHJvYmxlbXNGYWNhZGUuXG4gKi9cbmV4cG9ydCBjbGFzcyBQcm9ibGVtcyB7XG5cbiAgIC8qKiBTdGF0dXMgaW5kaWNhdGluZyBhIG5ld2x5IHJlcG9ydGVkIG9yIHVucmVzb2x2ZWQgcHJvYmxlbS4gKi9cbiAgIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgQUNUSVZFID0gXCJBQ1RJVkVcIjtcbiAgIC8qKiBTdGF0dXMgaW5kaWNhdGluZyBhIHByb2JsZW0gdGhhdCBoYXMgYmVlbiBmaXhlZCBvciBpcyBubyBsb25nZXIgcmVsZXZhbnQuICovXG4gICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFNPTFZFRCA9IFwiU09MVkVEXCI7XG4gICAvKiogU3RhdHVzIGluZGljYXRpbmcgYSBwcm9ibGVtIHRoYXQgaXMga25vd24gYnV0IGRlbGliZXJhdGVseSBiZWluZyBkaXNyZWdhcmRlZC4gKi9cbiAgIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgSUdOT1JFRCA9IFwiSUdOT1JFRFwiO1xuXG4gICAvKipcbiAgICAqIFNhdmVzIGEgbmV3IHByb2JsZW0gZW50cnkgdG8gdGhlIHN5c3RlbSdzIHByb2JsZW0gbG9nLlxuICAgICpcbiAgICAqIEBwYXJhbSB7c3RyaW5nfSBsb2NhdGlvbiBUaGUgcmVzb3VyY2UgcGF0aCBvciBmaWxlIGxvY2F0aW9uLlxuICAgICogQHBhcmFtIHtzdHJpbmd9IHR5cGUgVGhlIHNldmVyaXR5IG9yIG5hdHVyZSBvZiB0aGUgcHJvYmxlbS5cbiAgICAqIEBwYXJhbSB7c3RyaW5nfSBsaW5lIFRoZSBsaW5lIG51bWJlci5cbiAgICAqIEBwYXJhbSB7c3RyaW5nfSBjb2x1bW4gVGhlIGNvbHVtbiBudW1iZXIuXG4gICAgKiBAcGFyYW0ge3N0cmluZ30gY2F1c2UgVGhlIGNhdXNlIGRlc2NyaXB0aW9uLlxuICAgICogQHBhcmFtIHtzdHJpbmd9IGV4cGVjdGVkIFRoZSBleHBlY3RlZCBzdGF0ZS92YWx1ZSBkZXNjcmlwdGlvbi5cbiAgICAqIEBwYXJhbSB7c3RyaW5nfSBjYXRlZ29yeSBUaGUgcHJvYmxlbSBjYXRlZ29yeS5cbiAgICAqIEBwYXJhbSB7c3RyaW5nfSBtb2R1bGUgVGhlIG1vZHVsZS9jb21wb25lbnQgbmFtZS5cbiAgICAqIEBwYXJhbSB7c3RyaW5nfSBzb3VyY2UgVGhlIG9yaWdpbmFsIHNvdXJjZSBjb250ZW50LlxuICAgICogQHBhcmFtIHtzdHJpbmd9IHByb2dyYW0gVGhlIHByb2dyYW0gb3IgZmlsZSBuYW1lLlxuICAgICovXG4gICBwdWJsaWMgc3RhdGljIHNhdmUobG9jYXRpb246IHN0cmluZywgdHlwZTogc3RyaW5nLCBsaW5lOiBzdHJpbmcsIGNvbHVtbjogc3RyaW5nLCBjYXVzZTogc3RyaW5nLCBleHBlY3RlZDogc3RyaW5nLCBjYXRlZ29yeTogc3RyaW5nLCBtb2R1bGU6IHN0cmluZywgc291cmNlOiBzdHJpbmcsIHByb2dyYW06IHN0cmluZyk6IHZvaWQge1xuICAgICAgUHJvYmxlbXNGYWNhZGUuc2F2ZShsb2NhdGlvbiwgdHlwZSwgbGluZSwgY29sdW1uLCBjYXVzZSwgZXhwZWN0ZWQsIGNhdGVnb3J5LCBtb2R1bGUsIHNvdXJjZSwgcHJvZ3JhbSk7XG4gICB9XG5cbiAgIC8qKlxuICAgICogRmluZHMgYSBzcGVjaWZpYyBwcm9ibGVtIGJ5IGl0cyB1bmlxdWUgSUQuXG4gICAgKiBOb3RlOiBUaGUgdW5kZXJseWluZyBmYWNhZGUgcmV0dXJucyBhIEpTT04gc3RyaW5nIHdoaWNoIGlzIHBhcnNlZCBoZXJlLlxuICAgICpcbiAgICAqIEBwYXJhbSB7bnVtYmVyfSBpZCBUaGUgdW5pcXVlIHByb2JsZW0gSUQuXG4gICAgKiBAcmV0dXJucyB7UHJvYmxlbX0gVGhlIGZvdW5kIFByb2JsZW0gb2JqZWN0LlxuICAgICovXG4gICBwdWJsaWMgc3RhdGljIGZpbmRQcm9ibGVtKGlkOiBudW1iZXIpOiBQcm9ibGVtIHtcbiAgICAgIHJldHVybiBKU09OLnBhcnNlKFByb2JsZW1zRmFjYWRlLmZpbmRQcm9ibGVtKGlkKSk7XG4gICB9XG5cbiAgIC8qKlxuICAgICogRmV0Y2hlcyBhbGwgcmVjb3JkZWQgcHJvYmxlbXMgaW4gdGhlIHN5c3RlbS5cbiAgICAqIE5vdGU6IFRoZSB1bmRlcmx5aW5nIGZhY2FkZSByZXR1cm5zIGEgSlNPTiBzdHJpbmcgd2hpY2ggaXMgcGFyc2VkIGhlcmUuXG4gICAgKlxuICAgICogQHJldHVybnMge1Byb2JsZW1bXX0gQW4gYXJyYXkgb2YgYWxsIFByb2JsZW0gb2JqZWN0cy5cbiAgICAqL1xuICAgcHVibGljIHN0YXRpYyBmZXRjaEFsbFByb2JsZW1zKCk6IFByb2JsZW1bXSB7XG4gICAgICByZXR1cm4gSlNPTi5wYXJzZShQcm9ibGVtc0ZhY2FkZS5mZXRjaEFsbFByb2JsZW1zKCkpO1xuICAgfVxuXG4gICAvKipcbiAgICAqIEZldGNoZXMgYSBiYXRjaCBvZiBwcm9ibGVtcyBiYXNlZCBvbiBhIGN1c3RvbSBjb25kaXRpb24gYW5kIGxpbWl0LlxuICAgICpcbiAgICAqIEBwYXJhbSB7c3RyaW5nfSBjb25kaXRpb24gQSBTUUwtbGlrZSBjb25kaXRpb24gc3RyaW5nIChlLmcuLCBcIkNBVEVHT1JZPSdTeW50YXgnXCIpLlxuICAgICogQHBhcmFtIHtudW1iZXJ9IGxpbWl0IFRoZSBtYXhpbXVtIG51bWJlciBvZiBwcm9ibGVtcyB0byByZXRyaWV2ZS5cbiAgICAqIEByZXR1cm5zIHtQcm9ibGVtW119IEFuIGFycmF5IG9mIFByb2JsZW0gb2JqZWN0cyBtYXRjaGluZyB0aGUgY29uZGl0aW9uLlxuICAgICovXG4gICBwdWJsaWMgc3RhdGljIGZldGNoUHJvYmxlbXNCYXRjaChjb25kaXRpb246IHN0cmluZywgbGltaXQ6IG51bWJlcik6IFByb2JsZW1bXSB7XG4gICAgICAvLyBBc3N1bWluZyBQcm9ibGVtc0ZhY2FkZS5mZXRjaFByb2JsZW1zQmF0Y2ggcmV0dXJucyBhIHBhcnNlZCBKU09OIGFycmF5IGJhc2VkIG9uIHRoZSBvcmlnaW5hbCBzdHJ1Y3R1cmUuXG4gICAgICAvLyBJZiBpdCByZXR1cm5zIGEgc3RyaW5nLCBpdCBzaG91bGQgYmUgd3JhcHBlZCBpbiBKU09OLnBhcnNlKCkgbGlrZSB0aGUgb3RoZXJzLlxuICAgICAgLy8gS2VlcGluZyBpdCBhcyBpcyBiYXNlZCBvbiB0aGUgb3JpZ2luYWwgcHJvdmlkZWQgY29kZS5cbiAgICAgIHJldHVybiBQcm9ibGVtc0ZhY2FkZS5mZXRjaFByb2JsZW1zQmF0Y2goY29uZGl0aW9uLCBsaW1pdCk7XG4gICB9XG5cbiAgIC8qKlxuICAgICogRGVsZXRlcyBhIHByb2JsZW0gcmVjb3JkIGJ5IGl0cyB1bmlxdWUgSUQuXG4gICAgKlxuICAgICogQHBhcmFtIHtudW1iZXJ9IGlkIFRoZSB1bmlxdWUgcHJvYmxlbSBJRCB0byBkZWxldGUuXG4gICAgKi9cbiAgIHB1YmxpYyBzdGF0aWMgZGVsZXRlUHJvYmxlbShpZDogbnVtYmVyKTogdm9pZCB7XG4gICAgICBQcm9ibGVtc0ZhY2FkZS5kZWxldGVQcm9ibGVtKGlkKTtcbiAgIH1cblxuICAgLyoqXG4gICAgKiBEZWxldGVzIGFsbCBwcm9ibGVtIHJlY29yZHMgdGhhdCBjdXJyZW50bHkgaGF2ZSB0aGUgc3BlY2lmaWVkIHN0YXR1cy5cbiAgICAqXG4gICAgKiBAcGFyYW0ge3N0cmluZ30gc3RhdHVzIFRoZSBzdGF0dXMgKGUuZy4sIFByb2JsZW1zLlNPTFZFRCBvciBQcm9ibGVtcy5JR05PUkVEKS5cbiAgICAqL1xuICAgcHVibGljIHN0YXRpYyBkZWxldGVBbGxCeVN0YXR1cyhzdGF0dXM6IHN0cmluZyk6IHZvaWQge1xuICAgICAgUHJvYmxlbXNGYWNhZGUuZGVsZXRlQWxsQnlTdGF0dXMoc3RhdHVzKTtcbiAgIH1cblxuICAgLyoqXG4gICAgKiBDbGVhcnMgKGRlbGV0ZXMpIGFsbCBwcm9ibGVtIHJlY29yZHMgaW4gdGhlIHN5c3RlbSwgcmVnYXJkbGVzcyBvZiBzdGF0dXMuXG4gICAgKi9cbiAgIHB1YmxpYyBzdGF0aWMgY2xlYXJBbGxQcm9ibGVtcygpOiB2b2lkIHtcbiAgICAgIFByb2JsZW1zRmFjYWRlLmNsZWFyQWxsUHJvYmxlbXMoKTtcbiAgIH1cblxuICAgLyoqXG4gICAgKiBVcGRhdGVzIHRoZSBzdGF0dXMgb2YgYSBzaW5nbGUgcHJvYmxlbSBieSBpdHMgSUQuXG4gICAgKlxuICAgICogQHBhcmFtIHtudW1iZXJ9IGlkIFRoZSB1bmlxdWUgcHJvYmxlbSBJRC5cbiAgICAqIEBwYXJhbSB7c3RyaW5nfSBzdGF0dXMgVGhlIG5ldyBzdGF0dXMgKGUuZy4sIFByb2JsZW1zLlNPTFZFRCkuXG4gICAgKi9cbiAgIHB1YmxpYyBzdGF0aWMgdXBkYXRlU3RhdHVzKGlkOiBudW1iZXIsIHN0YXR1czogc3RyaW5nKTogdm9pZCB7XG4gICAgICBQcm9ibGVtc0ZhY2FkZS51cGRhdGVTdGF0dXMoaWQsIHN0YXR1cyk7XG4gICB9XG5cbiAgIC8qKlxuICAgICogVXBkYXRlcyB0aGUgc3RhdHVzIG9mIG11bHRpcGxlIHByb2JsZW1zIGlkZW50aWZpZWQgYnkgYW4gYXJyYXkgb2YgSURzLlxuICAgICpcbiAgICAqIEBwYXJhbSB7bnVtYmVyW119IGlkcyBBbiBhcnJheSBvZiB1bmlxdWUgcHJvYmxlbSBJRHMuXG4gICAgKiBAcGFyYW0ge3N0cmluZ30gc3RhdHVzIFRoZSBuZXcgc3RhdHVzIHRvIGFwcGx5IHRvIGFsbCBwcm9ibGVtcy5cbiAgICAqL1xuICAgcHVibGljIHN0YXRpYyB1cGRhdGVTdGF0dXNNdWx0aXBsZShpZHM6IG51bWJlcltdLCBzdGF0dXM6IHN0cmluZyk6IHZvaWQge1xuICAgICAgUHJvYmxlbXNGYWNhZGUudXBkYXRlU3RhdHVzTXVsdGlwbGUoaWRzLCBzdGF0dXMpO1xuICAgfVxufVxuXG4vLyBAdHMtaWdub3JlXG5pZiAodHlwZW9mIG1vZHVsZSAhPT0gJ3VuZGVmaW5lZCcpIHtcblx0Ly8gQHRzLWlnbm9yZVxuXHRtb2R1bGUuZXhwb3J0cyA9IFByb2JsZW1zO1xufSJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUlBLE1BQU0saUJBQWlCLEtBQUssS0FBSyw4REFBOEQ7QUF5Q3hGLE1BQU0sU0FBUztBQUFBO0FBQUEsRUFHbkIsT0FBdUIsU0FBUztBQUFBO0FBQUEsRUFFaEMsT0FBdUIsU0FBUztBQUFBO0FBQUEsRUFFaEMsT0FBdUIsVUFBVTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQWdCakMsT0FBYyxLQUFLLFVBQWtCLE1BQWMsTUFBYyxRQUFnQixPQUFlLFVBQWtCLFVBQWtCQSxTQUFnQixRQUFnQixTQUF1QjtBQUN4TCxtQkFBZSxLQUFLLFVBQVUsTUFBTSxNQUFNLFFBQVEsT0FBTyxVQUFVLFVBQVVBLFNBQVEsUUFBUSxPQUFPO0FBQUEsRUFDdkc7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBU0EsT0FBYyxZQUFZLElBQXFCO0FBQzVDLFdBQU8sS0FBSyxNQUFNLGVBQWUsWUFBWSxFQUFFLENBQUM7QUFBQSxFQUNuRDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUUEsT0FBYyxtQkFBOEI7QUFDekMsV0FBTyxLQUFLLE1BQU0sZUFBZSxpQkFBaUIsQ0FBQztBQUFBLEVBQ3REO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVNBLE9BQWMsbUJBQW1CLFdBQW1CLE9BQTBCO0FBSTNFLFdBQU8sZUFBZSxtQkFBbUIsV0FBVyxLQUFLO0FBQUEsRUFDNUQ7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPQSxPQUFjLGNBQWMsSUFBa0I7QUFDM0MsbUJBQWUsY0FBYyxFQUFFO0FBQUEsRUFDbEM7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPQSxPQUFjLGtCQUFrQixRQUFzQjtBQUNuRCxtQkFBZSxrQkFBa0IsTUFBTTtBQUFBLEVBQzFDO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFLQSxPQUFjLG1CQUF5QjtBQUNwQyxtQkFBZSxpQkFBaUI7QUFBQSxFQUNuQztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUUEsT0FBYyxhQUFhLElBQVksUUFBc0I7QUFDMUQsbUJBQWUsYUFBYSxJQUFJLE1BQU07QUFBQSxFQUN6QztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUUEsT0FBYyxxQkFBcUIsS0FBZSxRQUFzQjtBQUNyRSxtQkFBZSxxQkFBcUIsS0FBSyxNQUFNO0FBQUEsRUFDbEQ7QUFDSDtBQUdBLElBQUksT0FBTyxXQUFXLGFBQWE7QUFFbEMsU0FBTyxVQUFVO0FBQ2xCOyIsCiAgIm5hbWVzIjogWyJtb2R1bGUiXQp9Cg==
121
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3BsYXRmb3JtL3Byb2JsZW1zLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBtb2R1bGUgcGxhdGZvcm0vcHJvYmxlbXNcbiAqIEBwYWNrYWdlIEBhZXJva2l0L3Nkay9wbGF0Zm9ybVxuICogQG5hbWUgUHJvYmxlbXNcbiAqIEBvdmVydmlld1xuICogXG4gKiBUaGUgUHJvYmxlbXMgbW9kdWxlIHByb3ZpZGVzIGEgc3RhdGljIHV0aWxpdHkgY2xhc3MgZm9yIG1hbmFnaW5nIHN5c3RlbSBwcm9ibGVtcyBhbmQgaXNzdWVzIHRocm91Z2ggdGhlIHBsYXRmb3JtJ3MgUHJvYmxlbXNGYWNhZGUuIEl0IGFsbG93cyBkZXZlbG9wZXJzIHRvIHNhdmUgbmV3IHByb2JsZW1zLCBmZXRjaCBleGlzdGluZyBvbmVzLCB1cGRhdGUgdGhlaXIgc3RhdHVzLCBhbmQgZGVsZXRlIHRoZW0gYXMgbmVlZGVkLiBUaGlzIG1vZHVsZSBhYnN0cmFjdHMgdGhlIGNvbXBsZXhpdGllcyBvZiBwcm9ibGVtIG1hbmFnZW1lbnQsIHByb3ZpZGluZyBhIHNpbXBsZSBpbnRlcmZhY2UgZm9yIGhhbmRsaW5nIGlzc3VlcyB0aGF0IGFyaXNlIGR1cmluZyBkZXZlbG9wbWVudCBvciBydW50aW1lLlxuICogXG4gKiAjIyMgS2V5IEZlYXR1cmVzOlxuICogLSAqKlByb2JsZW0gUmVjb3JkaW5nKio6IFNhdmUgZGV0YWlsZWQgaW5mb3JtYXRpb24gYWJvdXQgcHJvYmxlbXMsIGluY2x1ZGluZyBsb2NhdGlvbiwgdHlwZSwgY2F1c2UsIGFuZCBleHBlY3RlZCBvdXRjb21lcy5cbiAqIC0gKipQcm9ibGVtIFJldHJpZXZhbCoqOiBGZXRjaCBpbmRpdmlkdWFsIHByb2JsZW1zIGJ5IElEIG9yIHJldHJpZXZlIGFsbCBwcm9ibGVtcyB3aXRoIG9wdGlvbmFsIGZpbHRlcmluZyBhbmQgYmF0Y2hpbmcuXG4gKiAtICoqU3RhdHVzIE1hbmFnZW1lbnQqKjogVXBkYXRlIHRoZSBzdGF0dXMgb2YgcHJvYmxlbXMgdG8gaW5kaWNhdGUgd2hldGhlciB0aGV5IGFyZSBhY3RpdmUsIHNvbHZlZCwgb3IgaWdub3JlZC5cbiAqIC0gKipQcm9ibGVtIERlbGV0aW9uKio6IFJlbW92ZSBzcGVjaWZpYyBwcm9ibGVtcyBvciBjbGVhciBhbGwgcHJvYmxlbXMgYmFzZWQgb24gdGhlaXIgc3RhdHVzLlxuICogXG4gKiAjIyMgVXNlIENhc2VzOlxuICogLSAqKklzc3VlIFRyYWNraW5nKio6IFRoaXMgbW9kdWxlIGlzIGlkZWFsIGZvciBhcHBsaWNhdGlvbnMgdGhhdCBuZWVkIHRvIHRyYWNrIGFuZCBtYW5hZ2UgaXNzdWVzIHRoYXQgb2NjdXIgZHVyaW5nIGRldmVsb3BtZW50IG9yIHJ1bnRpbWUsIHByb3ZpZGluZyBhIHN0cnVjdHVyZWQgd2F5IHRvIGxvZyBhbmQgcmVzb2x2ZSBwcm9ibGVtcy5cbiAqIC0gKipBdXRvbWF0ZWQgUHJvYmxlbSBIYW5kbGluZyoqOiBEZXZlbG9wZXJzIGNhbiB1c2UgdGhpcyBtb2R1bGUgdG8gYXV0b21hdGUgdGhlIGhhbmRsaW5nIG9mIGtub3duIGlzc3VlcyBieSB1cGRhdGluZyB0aGVpciBzdGF0dXMgb3IgZGVsZXRpbmcgdGhlbSBhcyBwYXJ0IG9mIG1haW50ZW5hbmNlIHJvdXRpbmVzLlxuICogXG4gKiAjIyMgRXhhbXBsZSBVc2FnZTpcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBQcm9ibGVtcyB9IGZyb20gXCJAYWVyb2tpdC9zZGsvcGxhdGZvcm1cIjtcbiAqIFxuICogLy8gU2F2ZSBhIG5ldyBwcm9ibGVtXG4gKiBQcm9ibGVtcy5zYXZlKFwiL3BhdGgvdG8vZmlsZS5qc1wiLCBcIlN5bnRheCBFcnJvclwiLCBcIjEwXCIsIFwiMTVcIiwgXCJVbmV4cGVjdGVkIHRva2VuXCIsIFwiRXhwZWN0ZWQgJzsnXCIsIFwiU3ludGF4XCIsIFwiSmF2YVNjcmlwdFwiLCBcImNvbnN0IGEgPSA7XCIsIFwiZmlsZS5qc1wiKTtcbiAqIFxuICogLy8gRmV0Y2ggYWxsIHByb2JsZW1zXG4gKiBjb25zdCBhbGxQcm9ibGVtcyA9IFByb2JsZW1zLmZldGNoQWxsUHJvYmxlbXMoKTtcbiAqIGNvbnNvbGUubG9nKFwiQWxsIFByb2JsZW1zOlwiLCBhbGxQcm9ibGVtcyk7XG4gKiBcbiAqIC8vIFVwZGF0ZSB0aGUgc3RhdHVzIG9mIGEgcHJvYmxlbVxuICogUHJvYmxlbXMudXBkYXRlU3RhdHVzKDEsIFByb2JsZW1zLlNPTFZFRCk7XG4gKiBcbiAqIC8vIERlbGV0ZSBhIHNwZWNpZmljIHByb2JsZW1cbiAqIFByb2JsZW1zLmRlbGV0ZVByb2JsZW0oMSk7XG4gKiBgYGBcbiAqL1xuXG5jb25zdCBQcm9ibGVtc0ZhY2FkZSA9IEphdmEudHlwZShcIm9yZy5lY2xpcHNlLmRpcmlnaWJsZS5jb21wb25lbnRzLmFwaS5wbGF0Zm9ybS5Qcm9ibGVtc0ZhY2FkZVwiKTtcblxuLyoqXG4gKiBAaW50ZXJmYWNlIFByb2JsZW1cbiAqIEBkZXNjcmlwdGlvbiBSZXByZXNlbnRzIGEgc2luZ2xlIHByb2JsZW0gb3IgaXNzdWUgcmVjb3JkZWQgaW4gdGhlIHN5c3RlbS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQcm9ibGVtIHtcbiAgIC8qKiBUaGUgdW5pcXVlIGlkZW50aWZpZXIgb2YgdGhlIHByb2JsZW0uICovXG4gICBpZDogbnVtYmVyO1xuICAgLyoqIFRoZSByZXNvdXJjZSBwYXRoIG9yIGZpbGUgbG9jYXRpb24gd2hlcmUgdGhlIHByb2JsZW0gd2FzIGRldGVjdGVkLiAqL1xuICAgbG9jYXRpb246IHN0cmluZztcbiAgIC8qKiBUaGUgc2V2ZXJpdHkgb3IgbmF0dXJlIG9mIHRoZSBwcm9ibGVtIChlLmcuLCBcIkVycm9yXCIsIFwiV2FybmluZ1wiKS4gKi9cbiAgIHR5cGU6IHN0cmluZztcbiAgIC8qKiBUaGUgbGluZSBudW1iZXIgaW4gdGhlIHNvdXJjZSB3aGVyZSB0aGUgcHJvYmxlbSBvY2N1cnJlZC4gKi9cbiAgIGxpbmU6IHN0cmluZztcbiAgIC8qKiBUaGUgY29sdW1uIG51bWJlciBpbiB0aGUgc291cmNlIHdoZXJlIHRoZSBwcm9ibGVtIG9jY3VycmVkLiAqL1xuICAgY29sdW1uOiBzdHJpbmc7XG4gICAvKiogQSBicmllZiBkZXNjcmlwdGlvbiBvZiB0aGUgY2F1c2Ugb2YgdGhlIHByb2JsZW0uICovXG4gICBjYXVzZTogc3RyaW5nO1xuICAgLyoqIEEgZGVzY3JpcHRpb24gb2YgdGhlIGV4cGVjdGVkIHN0YXRlIG9yIHZhbHVlLiAqL1xuICAgZXhwZWN0ZWQ6IHN0cmluZztcbiAgIC8qKiBUaGUgdGltZXN0YW1wIHdoZW4gdGhlIHByb2JsZW0gd2FzIGNyZWF0ZWQuICovXG4gICBjcmVhdGVkQXQ6IERhdGU7XG4gICAvKiogVGhlIHVzZXIgd2hvIGNyZWF0ZWQgb3IgdHJpZ2dlcmVkIHRoZSBwcm9ibGVtIHJlY29yZC4gKi9cbiAgIGNyZWF0ZWRCeTogc3RyaW5nO1xuICAgLyoqIFRoZSBjYXRlZ29yeSBvZiB0aGUgcHJvYmxlbSAoZS5nLiwgXCJTeW50YXhcIiwgXCJEZXBsb3ltZW50XCIpLiAqL1xuICAgY2F0ZWdvcnk6IHN0cmluZztcbiAgIC8qKiBUaGUgbW9kdWxlIG9yIGNvbXBvbmVudCB3aGVyZSB0aGUgcHJvYmxlbSB3YXMgZm91bmQuICovXG4gICBtb2R1bGU6IHN0cmluZztcbiAgIC8qKiBUaGUgb3JpZ2luYWwgc291cmNlIGNvZGUgb3IgY29udGVudCByZWxhdGVkIHRvIHRoZSBwcm9ibGVtLiAqL1xuICAgc291cmNlOiBzdHJpbmc7XG4gICAvKiogVGhlIHByb2dyYW0gb3IgZmlsZSBuYW1lIGFzc29jaWF0ZWQgd2l0aCB0aGUgcHJvYmxlbS4gKi9cbiAgIHByb2dyYW06IHN0cmluZztcbiAgIC8qKiBUaGUgY3VycmVudCBzdGF0dXMgb2YgdGhlIHByb2JsZW0gKGUuZy4sIEFDVElWRSwgU09MVkVELCBJR05PUkVEKS4gKi9cbiAgIHN0YXR1czogc3RyaW5nO1xufVxuXG4vKipcbiAqIEBjbGFzcyBQcm9ibGVtc1xuICogQGRlc2NyaXB0aW9uIFN0YXRpYyB1dGlsaXR5IGNsYXNzIGZvciBtYW5hZ2luZyBzeXN0ZW0gcHJvYmxlbXMgdmlhIHRoZSBQcm9ibGVtc0ZhY2FkZS5cbiAqL1xuZXhwb3J0IGNsYXNzIFByb2JsZW1zIHtcblxuICAgLyoqIFN0YXR1cyBpbmRpY2F0aW5nIGEgbmV3bHkgcmVwb3J0ZWQgb3IgdW5yZXNvbHZlZCBwcm9ibGVtLiAqL1xuICAgcHVibGljIHN0YXRpYyByZWFkb25seSBBQ1RJVkUgPSBcIkFDVElWRVwiO1xuICAgLyoqIFN0YXR1cyBpbmRpY2F0aW5nIGEgcHJvYmxlbSB0aGF0IGhhcyBiZWVuIGZpeGVkIG9yIGlzIG5vIGxvbmdlciByZWxldmFudC4gKi9cbiAgIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgU09MVkVEID0gXCJTT0xWRURcIjtcbiAgIC8qKiBTdGF0dXMgaW5kaWNhdGluZyBhIHByb2JsZW0gdGhhdCBpcyBrbm93biBidXQgZGVsaWJlcmF0ZWx5IGJlaW5nIGRpc3JlZ2FyZGVkLiAqL1xuICAgcHVibGljIHN0YXRpYyByZWFkb25seSBJR05PUkVEID0gXCJJR05PUkVEXCI7XG5cbiAgIC8qKlxuICAgICogU2F2ZXMgYSBuZXcgcHJvYmxlbSBlbnRyeSB0byB0aGUgc3lzdGVtJ3MgcHJvYmxlbSBsb2cuXG4gICAgKlxuICAgICogQHBhcmFtIHtzdHJpbmd9IGxvY2F0aW9uIFRoZSByZXNvdXJjZSBwYXRoIG9yIGZpbGUgbG9jYXRpb24uXG4gICAgKiBAcGFyYW0ge3N0cmluZ30gdHlwZSBUaGUgc2V2ZXJpdHkgb3IgbmF0dXJlIG9mIHRoZSBwcm9ibGVtLlxuICAgICogQHBhcmFtIHtzdHJpbmd9IGxpbmUgVGhlIGxpbmUgbnVtYmVyLlxuICAgICogQHBhcmFtIHtzdHJpbmd9IGNvbHVtbiBUaGUgY29sdW1uIG51bWJlci5cbiAgICAqIEBwYXJhbSB7c3RyaW5nfSBjYXVzZSBUaGUgY2F1c2UgZGVzY3JpcHRpb24uXG4gICAgKiBAcGFyYW0ge3N0cmluZ30gZXhwZWN0ZWQgVGhlIGV4cGVjdGVkIHN0YXRlL3ZhbHVlIGRlc2NyaXB0aW9uLlxuICAgICogQHBhcmFtIHtzdHJpbmd9IGNhdGVnb3J5IFRoZSBwcm9ibGVtIGNhdGVnb3J5LlxuICAgICogQHBhcmFtIHtzdHJpbmd9IG1vZHVsZSBUaGUgbW9kdWxlL2NvbXBvbmVudCBuYW1lLlxuICAgICogQHBhcmFtIHtzdHJpbmd9IHNvdXJjZSBUaGUgb3JpZ2luYWwgc291cmNlIGNvbnRlbnQuXG4gICAgKiBAcGFyYW0ge3N0cmluZ30gcHJvZ3JhbSBUaGUgcHJvZ3JhbSBvciBmaWxlIG5hbWUuXG4gICAgKi9cbiAgIHB1YmxpYyBzdGF0aWMgc2F2ZShsb2NhdGlvbjogc3RyaW5nLCB0eXBlOiBzdHJpbmcsIGxpbmU6IHN0cmluZywgY29sdW1uOiBzdHJpbmcsIGNhdXNlOiBzdHJpbmcsIGV4cGVjdGVkOiBzdHJpbmcsIGNhdGVnb3J5OiBzdHJpbmcsIG1vZHVsZTogc3RyaW5nLCBzb3VyY2U6IHN0cmluZywgcHJvZ3JhbTogc3RyaW5nKTogdm9pZCB7XG4gICAgICBQcm9ibGVtc0ZhY2FkZS5zYXZlKGxvY2F0aW9uLCB0eXBlLCBsaW5lLCBjb2x1bW4sIGNhdXNlLCBleHBlY3RlZCwgY2F0ZWdvcnksIG1vZHVsZSwgc291cmNlLCBwcm9ncmFtKTtcbiAgIH1cblxuICAgLyoqXG4gICAgKiBGaW5kcyBhIHNwZWNpZmljIHByb2JsZW0gYnkgaXRzIHVuaXF1ZSBJRC5cbiAgICAqIE5vdGU6IFRoZSB1bmRlcmx5aW5nIGZhY2FkZSByZXR1cm5zIGEgSlNPTiBzdHJpbmcgd2hpY2ggaXMgcGFyc2VkIGhlcmUuXG4gICAgKlxuICAgICogQHBhcmFtIHtudW1iZXJ9IGlkIFRoZSB1bmlxdWUgcHJvYmxlbSBJRC5cbiAgICAqIEByZXR1cm5zIHtQcm9ibGVtfSBUaGUgZm91bmQgUHJvYmxlbSBvYmplY3QuXG4gICAgKi9cbiAgIHB1YmxpYyBzdGF0aWMgZmluZFByb2JsZW0oaWQ6IG51bWJlcik6IFByb2JsZW0ge1xuICAgICAgcmV0dXJuIEpTT04ucGFyc2UoUHJvYmxlbXNGYWNhZGUuZmluZFByb2JsZW0oaWQpKTtcbiAgIH1cblxuICAgLyoqXG4gICAgKiBGZXRjaGVzIGFsbCByZWNvcmRlZCBwcm9ibGVtcyBpbiB0aGUgc3lzdGVtLlxuICAgICogTm90ZTogVGhlIHVuZGVybHlpbmcgZmFjYWRlIHJldHVybnMgYSBKU09OIHN0cmluZyB3aGljaCBpcyBwYXJzZWQgaGVyZS5cbiAgICAqXG4gICAgKiBAcmV0dXJucyB7UHJvYmxlbVtdfSBBbiBhcnJheSBvZiBhbGwgUHJvYmxlbSBvYmplY3RzLlxuICAgICovXG4gICBwdWJsaWMgc3RhdGljIGZldGNoQWxsUHJvYmxlbXMoKTogUHJvYmxlbVtdIHtcbiAgICAgIHJldHVybiBKU09OLnBhcnNlKFByb2JsZW1zRmFjYWRlLmZldGNoQWxsUHJvYmxlbXMoKSk7XG4gICB9XG5cbiAgIC8qKlxuICAgICogRmV0Y2hlcyBhIGJhdGNoIG9mIHByb2JsZW1zIGJhc2VkIG9uIGEgY3VzdG9tIGNvbmRpdGlvbiBhbmQgbGltaXQuXG4gICAgKlxuICAgICogQHBhcmFtIHtzdHJpbmd9IGNvbmRpdGlvbiBBIFNRTC1saWtlIGNvbmRpdGlvbiBzdHJpbmcgKGUuZy4sIFwiQ0FURUdPUlk9J1N5bnRheCdcIikuXG4gICAgKiBAcGFyYW0ge251bWJlcn0gbGltaXQgVGhlIG1heGltdW0gbnVtYmVyIG9mIHByb2JsZW1zIHRvIHJldHJpZXZlLlxuICAgICogQHJldHVybnMge1Byb2JsZW1bXX0gQW4gYXJyYXkgb2YgUHJvYmxlbSBvYmplY3RzIG1hdGNoaW5nIHRoZSBjb25kaXRpb24uXG4gICAgKi9cbiAgIHB1YmxpYyBzdGF0aWMgZmV0Y2hQcm9ibGVtc0JhdGNoKGNvbmRpdGlvbjogc3RyaW5nLCBsaW1pdDogbnVtYmVyKTogUHJvYmxlbVtdIHtcbiAgICAgIC8vIEFzc3VtaW5nIFByb2JsZW1zRmFjYWRlLmZldGNoUHJvYmxlbXNCYXRjaCByZXR1cm5zIGEgcGFyc2VkIEpTT04gYXJyYXkgYmFzZWQgb24gdGhlIG9yaWdpbmFsIHN0cnVjdHVyZS5cbiAgICAgIC8vIElmIGl0IHJldHVybnMgYSBzdHJpbmcsIGl0IHNob3VsZCBiZSB3cmFwcGVkIGluIEpTT04ucGFyc2UoKSBsaWtlIHRoZSBvdGhlcnMuXG4gICAgICAvLyBLZWVwaW5nIGl0IGFzIGlzIGJhc2VkIG9uIHRoZSBvcmlnaW5hbCBwcm92aWRlZCBjb2RlLlxuICAgICAgcmV0dXJuIFByb2JsZW1zRmFjYWRlLmZldGNoUHJvYmxlbXNCYXRjaChjb25kaXRpb24sIGxpbWl0KTtcbiAgIH1cblxuICAgLyoqXG4gICAgKiBEZWxldGVzIGEgcHJvYmxlbSByZWNvcmQgYnkgaXRzIHVuaXF1ZSBJRC5cbiAgICAqXG4gICAgKiBAcGFyYW0ge251bWJlcn0gaWQgVGhlIHVuaXF1ZSBwcm9ibGVtIElEIHRvIGRlbGV0ZS5cbiAgICAqL1xuICAgcHVibGljIHN0YXRpYyBkZWxldGVQcm9ibGVtKGlkOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgIFByb2JsZW1zRmFjYWRlLmRlbGV0ZVByb2JsZW0oaWQpO1xuICAgfVxuXG4gICAvKipcbiAgICAqIERlbGV0ZXMgYWxsIHByb2JsZW0gcmVjb3JkcyB0aGF0IGN1cnJlbnRseSBoYXZlIHRoZSBzcGVjaWZpZWQgc3RhdHVzLlxuICAgICpcbiAgICAqIEBwYXJhbSB7c3RyaW5nfSBzdGF0dXMgVGhlIHN0YXR1cyAoZS5nLiwgUHJvYmxlbXMuU09MVkVEIG9yIFByb2JsZW1zLklHTk9SRUQpLlxuICAgICovXG4gICBwdWJsaWMgc3RhdGljIGRlbGV0ZUFsbEJ5U3RhdHVzKHN0YXR1czogc3RyaW5nKTogdm9pZCB7XG4gICAgICBQcm9ibGVtc0ZhY2FkZS5kZWxldGVBbGxCeVN0YXR1cyhzdGF0dXMpO1xuICAgfVxuXG4gICAvKipcbiAgICAqIENsZWFycyAoZGVsZXRlcykgYWxsIHByb2JsZW0gcmVjb3JkcyBpbiB0aGUgc3lzdGVtLCByZWdhcmRsZXNzIG9mIHN0YXR1cy5cbiAgICAqL1xuICAgcHVibGljIHN0YXRpYyBjbGVhckFsbFByb2JsZW1zKCk6IHZvaWQge1xuICAgICAgUHJvYmxlbXNGYWNhZGUuY2xlYXJBbGxQcm9ibGVtcygpO1xuICAgfVxuXG4gICAvKipcbiAgICAqIFVwZGF0ZXMgdGhlIHN0YXR1cyBvZiBhIHNpbmdsZSBwcm9ibGVtIGJ5IGl0cyBJRC5cbiAgICAqXG4gICAgKiBAcGFyYW0ge251bWJlcn0gaWQgVGhlIHVuaXF1ZSBwcm9ibGVtIElELlxuICAgICogQHBhcmFtIHtzdHJpbmd9IHN0YXR1cyBUaGUgbmV3IHN0YXR1cyAoZS5nLiwgUHJvYmxlbXMuU09MVkVEKS5cbiAgICAqL1xuICAgcHVibGljIHN0YXRpYyB1cGRhdGVTdGF0dXMoaWQ6IG51bWJlciwgc3RhdHVzOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgIFByb2JsZW1zRmFjYWRlLnVwZGF0ZVN0YXR1cyhpZCwgc3RhdHVzKTtcbiAgIH1cblxuICAgLyoqXG4gICAgKiBVcGRhdGVzIHRoZSBzdGF0dXMgb2YgbXVsdGlwbGUgcHJvYmxlbXMgaWRlbnRpZmllZCBieSBhbiBhcnJheSBvZiBJRHMuXG4gICAgKlxuICAgICogQHBhcmFtIHtudW1iZXJbXX0gaWRzIEFuIGFycmF5IG9mIHVuaXF1ZSBwcm9ibGVtIElEcy5cbiAgICAqIEBwYXJhbSB7c3RyaW5nfSBzdGF0dXMgVGhlIG5ldyBzdGF0dXMgdG8gYXBwbHkgdG8gYWxsIHByb2JsZW1zLlxuICAgICovXG4gICBwdWJsaWMgc3RhdGljIHVwZGF0ZVN0YXR1c011bHRpcGxlKGlkczogbnVtYmVyW10sIHN0YXR1czogc3RyaW5nKTogdm9pZCB7XG4gICAgICBQcm9ibGVtc0ZhY2FkZS51cGRhdGVTdGF0dXNNdWx0aXBsZShpZHMsIHN0YXR1cyk7XG4gICB9XG59XG5cbi8vIEB0cy1pZ25vcmVcbmlmICh0eXBlb2YgbW9kdWxlICE9PSAndW5kZWZpbmVkJykge1xuXHQvLyBAdHMtaWdub3JlXG5cdG1vZHVsZS5leHBvcnRzID0gUHJvYmxlbXM7XG59Il0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBcUNBLE1BQU0saUJBQWlCLEtBQUssS0FBSyw4REFBOEQ7QUF5Q3hGLE1BQU0sU0FBUztBQUFBO0FBQUEsRUFHbkIsT0FBdUIsU0FBUztBQUFBO0FBQUEsRUFFaEMsT0FBdUIsU0FBUztBQUFBO0FBQUEsRUFFaEMsT0FBdUIsVUFBVTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQWdCakMsT0FBYyxLQUFLLFVBQWtCLE1BQWMsTUFBYyxRQUFnQixPQUFlLFVBQWtCLFVBQWtCQSxTQUFnQixRQUFnQixTQUF1QjtBQUN4TCxtQkFBZSxLQUFLLFVBQVUsTUFBTSxNQUFNLFFBQVEsT0FBTyxVQUFVLFVBQVVBLFNBQVEsUUFBUSxPQUFPO0FBQUEsRUFDdkc7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBU0EsT0FBYyxZQUFZLElBQXFCO0FBQzVDLFdBQU8sS0FBSyxNQUFNLGVBQWUsWUFBWSxFQUFFLENBQUM7QUFBQSxFQUNuRDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUUEsT0FBYyxtQkFBOEI7QUFDekMsV0FBTyxLQUFLLE1BQU0sZUFBZSxpQkFBaUIsQ0FBQztBQUFBLEVBQ3REO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVNBLE9BQWMsbUJBQW1CLFdBQW1CLE9BQTBCO0FBSTNFLFdBQU8sZUFBZSxtQkFBbUIsV0FBVyxLQUFLO0FBQUEsRUFDNUQ7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPQSxPQUFjLGNBQWMsSUFBa0I7QUFDM0MsbUJBQWUsY0FBYyxFQUFFO0FBQUEsRUFDbEM7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPQSxPQUFjLGtCQUFrQixRQUFzQjtBQUNuRCxtQkFBZSxrQkFBa0IsTUFBTTtBQUFBLEVBQzFDO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFLQSxPQUFjLG1CQUF5QjtBQUNwQyxtQkFBZSxpQkFBaUI7QUFBQSxFQUNuQztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUUEsT0FBYyxhQUFhLElBQVksUUFBc0I7QUFDMUQsbUJBQWUsYUFBYSxJQUFJLE1BQU07QUFBQSxFQUN6QztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUUEsT0FBYyxxQkFBcUIsS0FBZSxRQUFzQjtBQUNyRSxtQkFBZSxxQkFBcUIsS0FBSyxNQUFNO0FBQUEsRUFDbEQ7QUFDSDtBQUdBLElBQUksT0FBTyxXQUFXLGFBQWE7QUFFbEMsU0FBTyxVQUFVO0FBQ2xCOyIsCiAgIm5hbWVzIjogWyJtb2R1bGUiXQp9Cg==
@@ -319,4 +319,4 @@ class ArtefactInformation {
319
319
  if (typeof module !== "undefined") {
320
320
  module.exports = Registry;
321
321
  }
322
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3BsYXRmb3JtL3JlZ2lzdHJ5LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIFByb3ZpZGVzIGEgc2V0IG9mIHV0aWxpdGllcyBhbmQgZGF0YSBzdHJ1Y3R1cmVzIGZvciBpbnRlcmFjdGluZyB3aXRoIHRoZSBwbGF0Zm9ybSdzXG4gKiBSZWdpc3RyeS9SZXBvc2l0b3J5LCB3aGljaCBtYW5hZ2VzIGZpbGVzIGFuZCBkaXJlY3RvcmllcyAoQXJ0ZWZhY3RzIGFuZCBDb2xsZWN0aW9ucykuXG4gKi9cbmltcG9ydCB7IEJ5dGVzIH0gZnJvbSBcIkBhZXJva2l0L3Nkay9pby9ieXRlc1wiO1xuaW1wb3J0IHsgUmVwb3NpdG9yeSB9IGZyb20gXCJAYWVyb2tpdC9zZGsvcGxhdGZvcm0vcmVwb3NpdG9yeVwiO1xuY29uc3QgUmVnaXN0cnlGYWNhZGUgPSBKYXZhLnR5cGUoXCJvcmcuZWNsaXBzZS5kaXJpZ2libGUuY29tcG9uZW50cy5hcGkucGxhdGZvcm0uUmVnaXN0cnlGYWNhZGVcIik7XG5cbi8qKlxuICogQGNsYXNzIFJlZ2lzdHJ5XG4gKiBAZGVzY3JpcHRpb24gU3RhdGljIHV0aWxpdHkgY2xhc3MgcHJvdmlkaW5nIGhpZ2gtbGV2ZWwgYWNjZXNzIHRvIHRoZSBSZWdpc3RyeUZhY2FkZSBmb3JcbiAqIHJldHJpZXZpbmcgY29udGVudCBhbmQgbWV0YWRhdGEgYnkgcGF0aC5cbiAqL1xuZXhwb3J0IGNsYXNzIFJlZ2lzdHJ5IHtcblxuXHQvKipcblx0ICogUmV0cmlldmVzIHRoZSBjb250ZW50IG9mIGEgcmVnaXN0cnkgcmVzb3VyY2UgYXQgdGhlIGdpdmVuIHBhdGgsIGNvbnZlcnRpbmcgaXQgaW50byBhXG5cdCAqIEphdmFTY3JpcHQtZnJpZW5kbHkgYnl0ZSBhcnJheSBmb3JtYXQuXG5cdCAqXG5cdCAqIEBwYXJhbSB7c3RyaW5nfSBwYXRoIFRoZSBhYnNvbHV0ZSBwYXRoIHRvIHRoZSByZXNvdXJjZSAoZS5nLiwgXCIvcmVnaXN0cnkvcHVibGljL215RmlsZS50eHRcIikuXG5cdCAqIEByZXR1cm5zIHthbnlbXX0gVGhlIHJlc291cmNlIGNvbnRlbnQgYXMgYSBKYXZhU2NyaXB0IGJ5dGUgYXJyYXkuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIGdldENvbnRlbnQocGF0aDogc3RyaW5nKTogYW55W10ge1xuXHRcdHJldHVybiBCeXRlcy50b0phdmFTY3JpcHRCeXRlcyhSZWdpc3RyeUZhY2FkZS5nZXRDb250ZW50KHBhdGgpKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBSZXRyaWV2ZXMgdGhlIGNvbnRlbnQgb2YgYSByZWdpc3RyeSByZXNvdXJjZSBhdCB0aGUgZ2l2ZW4gcGF0aCBpbiBpdHMgbmF0aXZlIEphdmEgYnl0ZSBhcnJheSBmb3JtYXQuXG5cdCAqXG5cdCAqIEBwYXJhbSB7c3RyaW5nfSBwYXRoIFRoZSBhYnNvbHV0ZSBwYXRoIHRvIHRoZSByZXNvdXJjZS5cblx0ICogQHJldHVybnMge2FueVtdfSBUaGUgcmVzb3VyY2UgY29udGVudCBhcyBhIG5hdGl2ZSBKYXZhIGJ5dGUgYXJyYXkuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIGdldENvbnRlbnROYXRpdmUocGF0aDogc3RyaW5nKTogYW55W10ge1xuXHRcdHJldHVybiBSZWdpc3RyeUZhY2FkZS5nZXRDb250ZW50KHBhdGgpO1xuXHR9XG5cblx0LyoqXG5cdCAqIFJldHJpZXZlcyB0aGUgY29udGVudCBvZiBhIHJlZ2lzdHJ5IHJlc291cmNlIGF0IHRoZSBnaXZlbiBwYXRoIGFzIGEgc3RyaW5nLlxuXHQgKlxuXHQgKiBAcGFyYW0ge3N0cmluZ30gcGF0aCBUaGUgYWJzb2x1dGUgcGF0aCB0byB0aGUgcmVzb3VyY2UuXG5cdCAqIEByZXR1cm5zIHtzdHJpbmd9IFRoZSByZXNvdXJjZSBjb250ZW50IGFzIHBsYWluIHRleHQuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIGdldFRleHQocGF0aDogc3RyaW5nKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gUmVnaXN0cnlGYWNhZGUuZ2V0VGV4dChwYXRoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBTZWFyY2hlcyB0aGUgcmVnaXN0cnkgc3RhcnRpbmcgZnJvbSBhIGdpdmVuIHBhdGggZm9yIHJlc291cmNlcyBtYXRjaGluZyBhIGdsb2IgcGF0dGVybi5cblx0ICpcblx0ICogQHBhcmFtIHtzdHJpbmd9IHBhdGggVGhlIHN0YXJ0aW5nIHBhdGggZm9yIHRoZSBzZWFyY2guXG5cdCAqIEBwYXJhbSB7c3RyaW5nfSBwYXR0ZXJuIFRoZSBnbG9iIHBhdHRlcm4gdG8gbWF0Y2ggcmVzb3VyY2UgbmFtZXMgYWdhaW5zdCAoZS5nLiwgXCIqLmpzXCIpLlxuXHQgKiBAcmV0dXJucyB7c3RyaW5nW119IEFuIGFycmF5IG9mIHJlZ2lzdHJ5IHBhdGhzIChzdHJpbmdzKSB0aGF0IG1hdGNoIHRoZSBzZWFyY2ggY3JpdGVyaWEuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIGZpbmQocGF0aDogc3RyaW5nLCBwYXR0ZXJuOiBzdHJpbmcpOiBzdHJpbmdbXSB7XG5cdFx0cmV0dXJuIEpTT04ucGFyc2UoUmVnaXN0cnlGYWNhZGUuZmluZChwYXRoLCBwYXR0ZXJuKSk7XG5cdH1cblxuXHQvKipcblx0ICogR2V0cyB0aGUgcm9vdCBkaXJlY3Rvcnkgb2JqZWN0IGZvciB0aGUgcHVibGljIHJlZ2lzdHJ5IHNwYWNlLlxuXHQgKlxuXHQgKiBAcmV0dXJucyB7RGlyZWN0b3J5fSBBIERpcmVjdG9yeSBpbnN0YW5jZSByZXByZXNlbnRpbmcgdGhlIHJvb3QgcHVibGljIGNvbGxlY3Rpb24uXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIGdldFJvb3QoKTogRGlyZWN0b3J5IHtcblx0XHRyZXR1cm4gbmV3IERpcmVjdG9yeShSZXBvc2l0b3J5LmdldENvbGxlY3Rpb24oXCIvcmVnaXN0cnkvcHVibGljXCIpKTtcblx0fVxufVxuXG4vKipcbiAqIEBjbGFzcyBBcnRlZmFjdFxuICogQGRlc2NyaXB0aW9uIFJlcHJlc2VudHMgYSBmaWxlIG9yIHJlc291cmNlIChub24tY29sbGVjdGlvbikgd2l0aGluIHRoZSBSZWdpc3RyeS5cbiAqL1xuZXhwb3J0IGNsYXNzIEFydGVmYWN0IHtcblx0cHJpdmF0ZSByZWFkb25seSBuYXRpdmU6IGFueTtcblxuXHQvKipcblx0ICogQGNvbnN0cnVjdG9yXG5cdCAqIEBwYXJhbSB7YW55fSBuYXRpdmUgVGhlIG5hdGl2ZSBKYXZhIG9iamVjdCBpbnN0YW5jZSByZXByZXNlbnRpbmcgdGhlIHJlcG9zaXRvcnkgcmVzb3VyY2UuXG5cdCAqL1xuXHRjb25zdHJ1Y3RvcihuYXRpdmU6IGFueSkge1xuXHRcdHRoaXMubmF0aXZlID0gbmF0aXZlO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldHMgdGhlIG5hbWUgb2YgdGhlIGFydGVmYWN0IChmaWxlIG5hbWUpLlxuXHQgKiBAcmV0dXJucyB7c3RyaW5nfSBUaGUgbmFtZS5cblx0ICovXG5cdHB1YmxpYyBnZXROYW1lKCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIHRoaXMubmF0aXZlLmdldE5hbWUoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIHRoZSBmdWxsIHJlZ2lzdHJ5IHBhdGggb2YgdGhlIGFydGVmYWN0LlxuXHQgKiBAcmV0dXJucyB7c3RyaW5nfSBUaGUgcmVnaXN0cnkgcGF0aC5cblx0ICovXG5cdHB1YmxpYyBnZXRQYXRoKCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIFJlZ2lzdHJ5RmFjYWRlLnRvUmVnaXN0cnlQYXRoKHRoaXMubmF0aXZlLmdldFBhdGgoKSk7XG5cdH1cblxuXHQvKipcblx0ICogR2V0cyB0aGUgcGFyZW50IGRpcmVjdG9yeSBvZiB0aGlzIGFydGVmYWN0LlxuXHQgKiBAcmV0dXJucyB7RGlyZWN0b3J5fSBUaGUgcGFyZW50IERpcmVjdG9yeSBpbnN0YW5jZS5cblx0ICovXG5cdHB1YmxpYyBnZXRQYXJlbnQoKTogRGlyZWN0b3J5IHtcblx0XHRjb25zdCBjb2xsZWN0aW9uSW5zdGFuY2UgPSB0aGlzLm5hdGl2ZS5nZXRQYXJlbnQoKTtcblx0XHRyZXR1cm4gbmV3IERpcmVjdG9yeShjb2xsZWN0aW9uSW5zdGFuY2UpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldHMgZGV0YWlsZWQgbWV0YWRhdGEgYWJvdXQgdGhlIGFydGVmYWN0LlxuXHQgKiBAcmV0dXJucyB7QXJ0ZWZhY3RJbmZvcm1hdGlvbn0gVGhlIG1ldGFkYXRhIG9iamVjdC5cblx0ICovXG5cdHB1YmxpYyBnZXRJbmZvcm1hdGlvbigpOiBBcnRlZmFjdEluZm9ybWF0aW9uIHtcblx0XHRjb25zdCBpbmZvcm1hdGlvbkluc3RhbmNlID0gdGhpcy5uYXRpdmUuZ2V0SW5mb3JtYXRpb24oKTtcblx0XHRyZXR1cm4gbmV3IEFydGVmYWN0SW5mb3JtYXRpb24oaW5mb3JtYXRpb25JbnN0YW5jZSk7XG5cdH1cblxuXHQvKipcblx0ICogQ2hlY2tzIGlmIHRoZSBhcnRlZmFjdCBjdXJyZW50bHkgZXhpc3RzIGluIHRoZSByZWdpc3RyeS5cblx0ICogQHJldHVybnMge2Jvb2xlYW59IFRydWUgaWYgdGhlIGFydGVmYWN0IGV4aXN0cywgZmFsc2Ugb3RoZXJ3aXNlLlxuXHQgKi9cblx0cHVibGljIGV4aXN0cygpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gdGhpcy5uYXRpdmUuZXhpc3RzKCk7XG5cdH1cblxuXHQvKipcblx0ICogQ2hlY2tzIGlmIHRoZSBhcnRlZmFjdCAoZmlsZSkgaXMgZW1wdHkgKGhhcyB6ZXJvIHNpemUpLlxuXHQgKiBAcmV0dXJucyB7Ym9vbGVhbn0gVHJ1ZSBpZiB0aGUgY29udGVudCBpcyBlbXB0eSwgZmFsc2Ugb3RoZXJ3aXNlLlxuXHQgKi9cblx0cHVibGljIGlzRW1wdHkoKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIHRoaXMubmF0aXZlLmlzRW1wdHkoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIHRoZSBjb250ZW50IG9mIHRoZSBhcnRlZmFjdCBhcyBhIHRleHQgc3RyaW5nLlxuXHQgKiBAcmV0dXJucyB7c3RyaW5nfSBUaGUgdGV4dCBjb250ZW50LlxuXHQgKi9cblx0cHVibGljIGdldFRleHQoKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gQnl0ZXMuYnl0ZUFycmF5VG9UZXh0KHRoaXMuZ2V0Q29udGVudCgpKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIHRoZSBjb250ZW50IG9mIHRoZSBhcnRlZmFjdCBhcyBhIEphdmFTY3JpcHQtZnJpZW5kbHkgYnl0ZSBhcnJheS5cblx0ICogQHJldHVybnMge2FueVtdfSBUaGUgY29udGVudCBieXRlcy5cblx0ICovXG5cdHB1YmxpYyBnZXRDb250ZW50KCk6IGFueVtdIHtcblx0XHRjb25zdCBuYXRpdmVDb250ZW50ID0gdGhpcy5uYXRpdmUuZ2V0Q29udGVudCgpO1xuXHRcdHJldHVybiBCeXRlcy50b0phdmFTY3JpcHRCeXRlcyhuYXRpdmVDb250ZW50KTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIHRoZSBjb250ZW50IG9mIHRoZSBhcnRlZmFjdCBhcyBpdHMgbmF0aXZlIEphdmEgYnl0ZSBhcnJheSByZXByZXNlbnRhdGlvbi5cblx0ICogQHJldHVybnMge2FueVtdfSBUaGUgY29udGVudCBieXRlcy5cblx0ICovXG5cdHB1YmxpYyBnZXRDb250ZW50TmF0aXZlKCk6IGFueVtdIHtcblx0XHRyZXR1cm4gdGhpcy5uYXRpdmUuZ2V0Q29udGVudCgpO1xuXHR9XG5cblx0LyoqXG5cdCAqIENoZWNrcyBpZiB0aGUgYXJ0ZWZhY3QgY29udGVudCBpcyBkZXRlcm1pbmVkIHRvIGJlIGJpbmFyeS5cblx0ICogQHJldHVybnMge2Jvb2xlYW59IFRydWUgaWYgYmluYXJ5LCBmYWxzZSBpZiB0ZXh0LlxuXHQgKi9cblx0cHVibGljIGlzQmluYXJ5KCk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiB0aGlzLm5hdGl2ZS5pc0JpbmFyeSgpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldHMgdGhlIGNvbnRlbnQgdHlwZSAoTUlNRSB0eXBlKSBvZiB0aGUgYXJ0ZWZhY3QuXG5cdCAqIEByZXR1cm5zIHtzdHJpbmd9IFRoZSBjb250ZW50IHR5cGUgc3RyaW5nLlxuXHQgKi9cblx0cHVibGljIGdldENvbnRlbnRUeXBlKCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIHRoaXMubmF0aXZlLmdldENvbnRlbnRUeXBlKCk7XG5cdH1cbn1cblxuLyoqXG4gKiBAY2xhc3MgRGlyZWN0b3J5XG4gKiBAZGVzY3JpcHRpb24gUmVwcmVzZW50cyBhIGNvbGxlY3Rpb24gb3IgZm9sZGVyIHdpdGhpbiB0aGUgUmVnaXN0cnkuXG4gKi9cbmV4cG9ydCBjbGFzcyBEaXJlY3Rvcnkge1xuXHRwcml2YXRlIHJlYWRvbmx5IG5hdGl2ZTogYW55O1xuXG5cdC8qKlxuXHQgKiBAY29uc3RydWN0b3Jcblx0ICogQHBhcmFtIHthbnl9IG5hdGl2ZSBUaGUgbmF0aXZlIEphdmEgb2JqZWN0IGluc3RhbmNlIHJlcHJlc2VudGluZyB0aGUgcmVwb3NpdG9yeSBjb2xsZWN0aW9uLlxuXHQgKi9cblx0Y29uc3RydWN0b3IobmF0aXZlOiBhbnkpIHtcblx0XHR0aGlzLm5hdGl2ZSA9IG5hdGl2ZTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIHRoZSBuYW1lIG9mIHRoZSBkaXJlY3RvcnkgKGZvbGRlciBuYW1lKS5cblx0ICogQHJldHVybnMge3N0cmluZ30gVGhlIG5hbWUuXG5cdCAqL1xuXHRwdWJsaWMgZ2V0TmFtZSgpOiBzdHJpbmcge1xuXHRcdHJldHVybiB0aGlzLm5hdGl2ZS5nZXROYW1lKCk7XG5cdH1cblxuXHQvKipcblx0ICogR2V0cyB0aGUgZnVsbCByZWdpc3RyeSBwYXRoIG9mIHRoZSBkaXJlY3RvcnkuXG5cdCAqIEByZXR1cm5zIHtzdHJpbmd9IFRoZSByZWdpc3RyeSBwYXRoLlxuXHQgKi9cblx0cHVibGljIGdldFBhdGgoKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gUmVnaXN0cnlGYWNhZGUudG9SZWdpc3RyeVBhdGgodGhpcy5uYXRpdmUuZ2V0UGF0aCgpKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIHRoZSBwYXJlbnQgZGlyZWN0b3J5LlxuXHQgKiBAcmV0dXJucyB7RGlyZWN0b3J5fSBUaGUgcGFyZW50IERpcmVjdG9yeSBpbnN0YW5jZS5cblx0ICovXG5cdHB1YmxpYyBnZXRQYXJlbnQoKTogRGlyZWN0b3J5IHtcblx0XHRjb25zdCBjb2xsZWN0aW9uSW5zdGFuY2UgPSB0aGlzLm5hdGl2ZS5nZXRQYXJlbnQoKTtcblx0XHRyZXR1cm4gbmV3IERpcmVjdG9yeShjb2xsZWN0aW9uSW5zdGFuY2UpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldHMgZGV0YWlsZWQgbWV0YWRhdGEgYWJvdXQgdGhlIGRpcmVjdG9yeS5cblx0ICogQHJldHVybnMge0FydGVmYWN0SW5mb3JtYXRpb259IFRoZSBtZXRhZGF0YSBvYmplY3QuXG5cdCAqL1xuXHRwdWJsaWMgZ2V0SW5mb3JtYXRpb24oKTogQXJ0ZWZhY3RJbmZvcm1hdGlvbiB7XG5cdFx0Y29uc3QgaW5mb3JtYXRpb25JbnN0YW5jZSA9IHRoaXMubmF0aXZlLmdldEluZm9ybWF0aW9uKCk7XG5cdFx0cmV0dXJuIG5ldyBBcnRlZmFjdEluZm9ybWF0aW9uKGluZm9ybWF0aW9uSW5zdGFuY2UpO1xuXHR9XG5cblx0LyoqXG5cdCAqIENoZWNrcyBpZiB0aGUgZGlyZWN0b3J5IGN1cnJlbnRseSBleGlzdHMgaW4gdGhlIHJlZ2lzdHJ5LlxuXHQgKiBAcmV0dXJucyB7Ym9vbGVhbn0gVHJ1ZSBpZiB0aGUgZGlyZWN0b3J5IGV4aXN0cywgZmFsc2Ugb3RoZXJ3aXNlLlxuXHQgKi9cblx0cHVibGljIGV4aXN0cygpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gdGhpcy5uYXRpdmUuZXhpc3RzKCk7XG5cdH1cblxuXHQvKipcblx0ICogQ2hlY2tzIGlmIHRoZSBkaXJlY3RvcnkgaXMgZW1wdHkgKGNvbnRhaW5zIG5vIGZpbGVzIG9yIHN1Yi1kaXJlY3RvcmllcykuXG5cdCAqIEByZXR1cm5zIHtib29sZWFufSBUcnVlIGlmIGVtcHR5LCBmYWxzZSBvdGhlcndpc2UuXG5cdCAqL1xuXHRwdWJsaWMgaXNFbXB0eSgpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gdGhpcy5uYXRpdmUuaXNFbXB0eSgpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldHMgdGhlIG5hbWVzIG9mIGFsbCBzdWItZGlyZWN0b3JpZXMgd2l0aGluIHRoaXMgZGlyZWN0b3J5LlxuXHQgKiBAcmV0dXJucyB7c3RyaW5nW119IEFuIGFycmF5IG9mIHN1Yi1kaXJlY3RvcnkgbmFtZXMuXG5cdCAqL1xuXHRwdWJsaWMgZ2V0RGlyZWN0b3JpZXNOYW1lcygpOiBzdHJpbmdbXSB7XG5cdFx0cmV0dXJuIHRoaXMubmF0aXZlLmdldENvbGxlY3Rpb25zTmFtZXMoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIGEgc3BlY2lmaWMgc3ViLWRpcmVjdG9yeSBieSBuYW1lLlxuXHQgKiBAcGFyYW0ge3N0cmluZ30gbmFtZSBUaGUgbmFtZSBvZiB0aGUgc3ViLWRpcmVjdG9yeS5cblx0ICogQHJldHVybnMge0RpcmVjdG9yeX0gVGhlIGNoaWxkIERpcmVjdG9yeSBpbnN0YW5jZS5cblx0ICovXG5cdHB1YmxpYyBnZXREaXJlY3RvcnkobmFtZTogc3RyaW5nKTogRGlyZWN0b3J5IHtcblx0XHRjb25zdCBjb2xsZWN0aW9uSW5zdGFuY2UgPSB0aGlzLm5hdGl2ZS5nZXRDb2xsZWN0aW9uKFJlZ2lzdHJ5RmFjYWRlLnRvUmVzb3VyY2VQYXRoKG5hbWUpKTtcblx0XHRyZXR1cm4gbmV3IERpcmVjdG9yeShjb2xsZWN0aW9uSW5zdGFuY2UpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldHMgdGhlIG5hbWVzIG9mIGFsbCBmaWxlcyAoYXJ0ZWZhY3RzKSB3aXRoaW4gdGhpcyBkaXJlY3RvcnkuXG5cdCAqIEByZXR1cm5zIHtzdHJpbmdbXX0gQW4gYXJyYXkgb2YgYXJ0ZWZhY3QgbmFtZXMuXG5cdCAqL1xuXHRwdWJsaWMgZ2V0QXJ0ZWZhY3RzTmFtZXMoKTogc3RyaW5nW10ge1xuXHRcdHJldHVybiB0aGlzLm5hdGl2ZS5nZXRSZXNvdXJjZXNOYW1lcygpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldHMgYSBzcGVjaWZpYyBmaWxlIChhcnRlZmFjdCkgYnkgbmFtZS5cblx0ICogQHBhcmFtIHtzdHJpbmd9IG5hbWUgVGhlIG5hbWUgb2YgdGhlIGFydGVmYWN0LlxuXHQgKiBAcmV0dXJucyB7QXJ0ZWZhY3R9IFRoZSBjaGlsZCBBcnRlZmFjdCBpbnN0YW5jZS5cblx0ICovXG5cdHB1YmxpYyBnZXRBcnRlZmFjdChuYW1lOiBzdHJpbmcpOiBBcnRlZmFjdCB7XG5cdFx0Y29uc3QgcmVzb3VyY2VJbnN0YW5jZSA9IHRoaXMubmF0aXZlLmdldFJlc291cmNlKFJlZ2lzdHJ5RmFjYWRlLnRvUmVzb3VyY2VQYXRoKG5hbWUpKTtcblx0XHRyZXR1cm4gbmV3IEFydGVmYWN0KHJlc291cmNlSW5zdGFuY2UpO1xuXHR9XG5cbn1cblxuLyoqXG4gKiBAY2xhc3MgQXJ0ZWZhY3RJbmZvcm1hdGlvblxuICogQGRlc2NyaXB0aW9uIFJlcHJlc2VudHMgZGV0YWlsZWQgbWV0YWRhdGEgKGNyZWF0aW9uIGRhdGUsIHNpemUsIHBlcm1pc3Npb25zLCBldGMuKSBmb3IgYVxuICogRGlyZWN0b3J5IG9yIEFydGVmYWN0LlxuICovXG5leHBvcnQgY2xhc3MgQXJ0ZWZhY3RJbmZvcm1hdGlvbiB7XG5cdHByaXZhdGUgcmVhZG9ubHkgbmF0aXZlOiBhbnk7XG5cblx0LyoqXG5cdCAqIEBjb25zdHJ1Y3RvclxuXHQgKiBAcGFyYW0ge2FueX0gbmF0aXZlIFRoZSBuYXRpdmUgSmF2YSBvYmplY3QgaW5zdGFuY2UgaG9sZGluZyB0aGUgYXJ0ZWZhY3QgaW5mb3JtYXRpb24uXG5cdCAqL1xuXHRjb25zdHJ1Y3RvcihuYXRpdmU6IGFueSkge1xuXHRcdHRoaXMubmF0aXZlID0gbmF0aXZlO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldHMgdGhlIG5hbWUgb2YgdGhlIHJlc291cmNlLlxuXHQgKiBAcmV0dXJucyB7c3RyaW5nfSBUaGUgbmFtZS5cblx0ICovXG5cdHB1YmxpYyBnZXROYW1lKCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIHRoaXMubmF0aXZlLmdldE5hbWUoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIHRoZSBmdWxsIHJlZ2lzdHJ5IHBhdGggb2YgdGhlIHJlc291cmNlLlxuXHQgKiBAcmV0dXJucyB7c3RyaW5nfSBUaGUgcmVnaXN0cnkgcGF0aC5cblx0ICovXG5cdHB1YmxpYyBnZXRQYXRoKCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIFJlZ2lzdHJ5RmFjYWRlLnRvUmVnaXN0cnlQYXRoKHRoaXMubmF0aXZlLmdldFBhdGgoKSk7XG5cdH1cblxuXHQvKipcblx0ICogR2V0cyB0aGUgYWNjZXNzIHBlcm1pc3Npb25zIGZvciB0aGUgcmVzb3VyY2UgKHR5cGljYWxseSBhbiBpbnRlZ2VyIGJpdG1hc2spLlxuXHQgKiBAcmV0dXJucyB7bnVtYmVyfSBUaGUgcGVybWlzc2lvbnMgdmFsdWUuXG5cdCAqL1xuXHRwdWJsaWMgZ2V0UGVybWlzc2lvbnMoKTogbnVtYmVyIHtcblx0XHRyZXR1cm4gdGhpcy5uYXRpdmUuZ2V0UGVybWlzc2lvbnMoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIHRoZSBzaXplIG9mIHRoZSByZXNvdXJjZSBjb250ZW50IGluIGJ5dGVzLlxuXHQgKiBAcmV0dXJucyB7bnVtYmVyfSBUaGUgc2l6ZSBpbiBieXRlcy5cblx0ICovXG5cdHB1YmxpYyBnZXRTaXplKCk6IG51bWJlciB7XG5cdFx0cmV0dXJuIHRoaXMubmF0aXZlLmdldFNpemUoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIHRoZSB1c2VyIHdobyBjcmVhdGVkIHRoZSByZXNvdXJjZS5cblx0ICogQHJldHVybnMge3N0cmluZ30gVGhlIGNyZWF0b3IncyBuYW1lLlxuXHQgKi9cblx0cHVibGljIGdldENyZWF0ZWRCeSgpOiBzdHJpbmcge1xuXHRcdHJldHVybiB0aGlzLm5hdGl2ZS5nZXRDcmVhdGVkQnkoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIHRoZSBjcmVhdGlvbiB0aW1lc3RhbXAuXG5cdCAqIEByZXR1cm5zIHtEYXRlfSBUaGUgY3JlYXRpb24gZGF0ZSBhbmQgdGltZS5cblx0ICovXG5cdHB1YmxpYyBnZXRDcmVhdGVkQXQoKTogRGF0ZSB7XG5cdFx0cmV0dXJuIHRoaXMubmF0aXZlLmdldENyZWF0ZWRBdCgpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldHMgdGhlIHVzZXIgd2hvIGxhc3QgbW9kaWZpZWQgdGhlIHJlc291cmNlLlxuXHQgKiBAcmV0dXJucyB7c3RyaW5nfSBUaGUgbW9kaWZpZXIncyBuYW1lLlxuXHQgKi9cblx0cHVibGljIGdldE1vZGlmaWVkQnkoKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gdGhpcy5uYXRpdmUuZ2V0TW9kaWZpZWRCeSgpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldHMgdGhlIGxhc3QgbW9kaWZpY2F0aW9uIHRpbWVzdGFtcC5cblx0ICogQHJldHVybnMge0RhdGV9IFRoZSBtb2RpZmljYXRpb24gZGF0ZSBhbmQgdGltZS5cblx0ICovXG5cdHB1YmxpYyBnZXRNb2RpZmllZEF0KCk6IERhdGUge1xuXHRcdHJldHVybiB0aGlzLm5hdGl2ZS5nZXRNb2RpZmllZEF0KCk7XG5cdH1cbn1cblxuLy8gQHRzLWlnbm9yZVxuaWYgKHR5cGVvZiBtb2R1bGUgIT09ICd1bmRlZmluZWQnKSB7XG5cdC8vIEB0cy1pZ25vcmVcblx0bW9kdWxlLmV4cG9ydHMgPSBSZWdpc3RyeTtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUlBLG1CQUFzQjtBQUN0Qix3QkFBMkI7QUFDM0IsTUFBTSxpQkFBaUIsS0FBSyxLQUFLLDhEQUE4RDtBQU94RixNQUFNLFNBQVM7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBU3JCLE9BQWMsV0FBVyxNQUFxQjtBQUM3QyxXQUFPLG1CQUFNLGtCQUFrQixlQUFlLFdBQVcsSUFBSSxDQUFDO0FBQUEsRUFDL0Q7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
322
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3BsYXRmb3JtL3JlZ2lzdHJ5LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBtb2R1bGUgcGxhdGZvcm0vcmVnaXN0cnlcbiAqIEBwYWNrYWdlIEBhZXJva2l0L3Nkay9wbGF0Zm9ybVxuICogQG5hbWUgUmVnaXN0cnlcbiAqIEBvdmVydmlld1xuICogXG4gKiBUaGUgUmVnaXN0cnkgbW9kdWxlIHByb3ZpZGVzIGEgc2V0IG9mIHV0aWxpdGllcyBhbmQgZGF0YSBzdHJ1Y3R1cmVzIGZvciBpbnRlcmFjdGluZyB3aXRoIHRoZSBwbGF0Zm9ybSdzIFJlZ2lzdHJ5L1JlcG9zaXRvcnksIHdoaWNoIG1hbmFnZXMgZmlsZXMgYW5kIGRpcmVjdG9yaWVzIChBcnRlZmFjdHMgYW5kIENvbGxlY3Rpb25zKS4gSXQgYWxsb3dzIGRldmVsb3BlcnMgdG8gcmV0cmlldmUgY29udGVudCBhbmQgbWV0YWRhdGEgZnJvbSB0aGUgcmVnaXN0cnkgdXNpbmcgc2ltcGxlIEphdmFTY3JpcHQgaW50ZXJmYWNlcywgYWJzdHJhY3RpbmcgdGhlIHVuZGVybHlpbmcgY29tcGxleGl0aWVzIG9mIHRoZSBKYXZhLWJhc2VkIHJlZ2lzdHJ5IHN5c3RlbS4gVGhlIG1vZHVsZSBpbmNsdWRlcyBjbGFzc2VzIGZvciByZXByZXNlbnRpbmcgYm90aCBpbmRpdmlkdWFsIHJlc291cmNlcyAoQXJ0ZWZhY3RzKSBhbmQgY29sbGVjdGlvbnMgb2YgcmVzb3VyY2VzIChEaXJlY3RvcmllcyksIGFzIHdlbGwgYXMgYSBjbGFzcyBmb3IgYWNjZXNzaW5nIGRldGFpbGVkIG1ldGFkYXRhIGFib3V0IHRoZXNlIHJlc291cmNlcy5cbiAqIFxuICogIyMjIEtleSBGZWF0dXJlczpcbiAqIC0gKipDb250ZW50IFJldHJpZXZhbCoqOiBNZXRob2RzIHRvIGdldCB0aGUgY29udGVudCBvZiByZWdpc3RyeSByZXNvdXJjZXMgYXMgYnl0ZSBhcnJheXMgb3IgdGV4dC5cbiAqIC0gKipSZXNvdXJjZSBOYXZpZ2F0aW9uKio6IENsYXNzZXMgdG8gcmVwcmVzZW50IGFuZCBuYXZpZ2F0ZSB0aHJvdWdoIGRpcmVjdG9yaWVzIGFuZCBhcnRlZmFjdHMgaW4gdGhlIHJlZ2lzdHJ5LlxuICogLSAqKk1ldGFkYXRhIEFjY2VzcyoqOiBBYmlsaXR5IHRvIGFjY2VzcyBkZXRhaWxlZCBpbmZvcm1hdGlvbiBhYm91dCByZXNvdXJjZXMsIHN1Y2ggYXMgY3JlYXRpb24gZGF0ZSwgc2l6ZSwgYW5kIHBlcm1pc3Npb25zLlxuICogXG4gKiAjIyMgVXNlIENhc2VzOlxuICogLSAqKkZpbGUgTWFuYWdlbWVudCoqOiBUaGlzIG1vZHVsZSBpcyBpZGVhbCBmb3IgYXBwbGljYXRpb25zIHRoYXQgbmVlZCB0byBtYW5hZ2UgZmlsZXMgYW5kIGRpcmVjdG9yaWVzIHdpdGhpbiB0aGUgcGxhdGZvcm0ncyByZWdpc3RyeSwgYWxsb3dpbmcgZm9yIGVhc3kgYWNjZXNzIGFuZCBtYW5pcHVsYXRpb24gb2Ygc3RvcmVkIHJlc291cmNlcy5cbiAqIC0gKipNZXRhZGF0YSBBbmFseXNpcyoqOiBEZXZlbG9wZXJzIGNhbiB1c2UgdGhpcyBtb2R1bGUgdG8gYW5hbHl6ZSByZXNvdXJjZSBtZXRhZGF0YSBmb3IgYXVkaXRpbmcsIHJlcG9ydGluZywgb3IgY29uZGl0aW9uYWwgbG9naWMgYmFzZWQgb24gcmVzb3VyY2UgYXR0cmlidXRlcy5cbiAqIFxuICogIyMjIEV4YW1wbGUgVXNhZ2U6XG4gKiBgYGB0c1xuICogaW1wb3J0IHsgUmVnaXN0cnkgfSBmcm9tIFwiQGFlcm9raXQvc2RrL3BsYXRmb3JtXCI7XG4gKiBcbiAqIC8vIEdldCB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhlIHB1YmxpYyByZWdpc3RyeVxuICogY29uc3Qgcm9vdERpcmVjdG9yeSA9IFJlZ2lzdHJ5LmdldFJvb3QoKTtcbiAqIGNvbnNvbGUubG9nKFwiUm9vdCBEaXJlY3RvcnkgUGF0aDpcIiwgcm9vdERpcmVjdG9yeS5nZXRQYXRoKCkpO1xuICogXG4gKiAvLyBMaXN0IGFsbCBhcnRlZmFjdHMgaW4gdGhlIHJvb3QgZGlyZWN0b3J5XG4gKiBjb25zdCBhcnRlZmFjdHMgPSByb290RGlyZWN0b3J5LmdldEFydGVmYWN0c05hbWVzKCk7XG4gKiBjb25zb2xlLmxvZyhcIkFydGVmYWN0cyBpbiBSb290IERpcmVjdG9yeTpcIiwgYXJ0ZWZhY3RzKTtcbiAqIFxuICogLy8gR2V0IGEgc3BlY2lmaWMgYXJ0ZWZhY3QgYW5kIGl0cyBjb250ZW50XG4gKiBjb25zdCBteUZpbGUgPSByb290RGlyZWN0b3J5LmdldEFydGVmYWN0KFwibXlGaWxlLnR4dFwiKTtcbiAqIGlmIChteUZpbGUuZXhpc3RzKCkpIHtcbiAqICAgICBjb25zdCBjb250ZW50ID0gbXlGaWxlLmdldFRleHQoKTtcbiAqICAgICBjb25zb2xlLmxvZyhcIkNvbnRlbnQgb2YgbXlGaWxlLnR4dDpcIiwgY29udGVudCk7XG4gKiB9IGVsc2Uge1xuICogICAgIGNvbnNvbGUubG9nKFwibXlGaWxlLnR4dCBkb2VzIG5vdCBleGlzdCBpbiB0aGUgcmVnaXN0cnkuXCIpO1xuICogfVxuICogYGBgXG4gKi9cblxuaW1wb3J0IHsgQnl0ZXMgfSBmcm9tIFwiQGFlcm9raXQvc2RrL2lvL2J5dGVzXCI7XG5pbXBvcnQgeyBSZXBvc2l0b3J5IH0gZnJvbSBcIkBhZXJva2l0L3Nkay9wbGF0Zm9ybS9yZXBvc2l0b3J5XCI7XG5cbmNvbnN0IFJlZ2lzdHJ5RmFjYWRlID0gSmF2YS50eXBlKFwib3JnLmVjbGlwc2UuZGlyaWdpYmxlLmNvbXBvbmVudHMuYXBpLnBsYXRmb3JtLlJlZ2lzdHJ5RmFjYWRlXCIpO1xuXG4vKipcbiAqIEBjbGFzcyBSZWdpc3RyeVxuICogQGRlc2NyaXB0aW9uIFN0YXRpYyB1dGlsaXR5IGNsYXNzIHByb3ZpZGluZyBoaWdoLWxldmVsIGFjY2VzcyB0byB0aGUgUmVnaXN0cnlGYWNhZGUgZm9yXG4gKiByZXRyaWV2aW5nIGNvbnRlbnQgYW5kIG1ldGFkYXRhIGJ5IHBhdGguXG4gKi9cbmV4cG9ydCBjbGFzcyBSZWdpc3RyeSB7XG5cblx0LyoqXG5cdCAqIFJldHJpZXZlcyB0aGUgY29udGVudCBvZiBhIHJlZ2lzdHJ5IHJlc291cmNlIGF0IHRoZSBnaXZlbiBwYXRoLCBjb252ZXJ0aW5nIGl0IGludG8gYVxuXHQgKiBKYXZhU2NyaXB0LWZyaWVuZGx5IGJ5dGUgYXJyYXkgZm9ybWF0LlxuXHQgKlxuXHQgKiBAcGFyYW0ge3N0cmluZ30gcGF0aCBUaGUgYWJzb2x1dGUgcGF0aCB0byB0aGUgcmVzb3VyY2UgKGUuZy4sIFwiL3JlZ2lzdHJ5L3B1YmxpYy9teUZpbGUudHh0XCIpLlxuXHQgKiBAcmV0dXJucyB7YW55W119IFRoZSByZXNvdXJjZSBjb250ZW50IGFzIGEgSmF2YVNjcmlwdCBieXRlIGFycmF5LlxuXHQgKi9cblx0cHVibGljIHN0YXRpYyBnZXRDb250ZW50KHBhdGg6IHN0cmluZyk6IGFueVtdIHtcblx0XHRyZXR1cm4gQnl0ZXMudG9KYXZhU2NyaXB0Qnl0ZXMoUmVnaXN0cnlGYWNhZGUuZ2V0Q29udGVudChwYXRoKSk7XG5cdH1cblxuXHQvKipcblx0ICogUmV0cmlldmVzIHRoZSBjb250ZW50IG9mIGEgcmVnaXN0cnkgcmVzb3VyY2UgYXQgdGhlIGdpdmVuIHBhdGggaW4gaXRzIG5hdGl2ZSBKYXZhIGJ5dGUgYXJyYXkgZm9ybWF0LlxuXHQgKlxuXHQgKiBAcGFyYW0ge3N0cmluZ30gcGF0aCBUaGUgYWJzb2x1dGUgcGF0aCB0byB0aGUgcmVzb3VyY2UuXG5cdCAqIEByZXR1cm5zIHthbnlbXX0gVGhlIHJlc291cmNlIGNvbnRlbnQgYXMgYSBuYXRpdmUgSmF2YSBieXRlIGFycmF5LlxuXHQgKi9cblx0cHVibGljIHN0YXRpYyBnZXRDb250ZW50TmF0aXZlKHBhdGg6IHN0cmluZyk6IGFueVtdIHtcblx0XHRyZXR1cm4gUmVnaXN0cnlGYWNhZGUuZ2V0Q29udGVudChwYXRoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBSZXRyaWV2ZXMgdGhlIGNvbnRlbnQgb2YgYSByZWdpc3RyeSByZXNvdXJjZSBhdCB0aGUgZ2l2ZW4gcGF0aCBhcyBhIHN0cmluZy5cblx0ICpcblx0ICogQHBhcmFtIHtzdHJpbmd9IHBhdGggVGhlIGFic29sdXRlIHBhdGggdG8gdGhlIHJlc291cmNlLlxuXHQgKiBAcmV0dXJucyB7c3RyaW5nfSBUaGUgcmVzb3VyY2UgY29udGVudCBhcyBwbGFpbiB0ZXh0LlxuXHQgKi9cblx0cHVibGljIHN0YXRpYyBnZXRUZXh0KHBhdGg6IHN0cmluZyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIFJlZ2lzdHJ5RmFjYWRlLmdldFRleHQocGF0aCk7XG5cdH1cblxuXHQvKipcblx0ICogU2VhcmNoZXMgdGhlIHJlZ2lzdHJ5IHN0YXJ0aW5nIGZyb20gYSBnaXZlbiBwYXRoIGZvciByZXNvdXJjZXMgbWF0Y2hpbmcgYSBnbG9iIHBhdHRlcm4uXG5cdCAqXG5cdCAqIEBwYXJhbSB7c3RyaW5nfSBwYXRoIFRoZSBzdGFydGluZyBwYXRoIGZvciB0aGUgc2VhcmNoLlxuXHQgKiBAcGFyYW0ge3N0cmluZ30gcGF0dGVybiBUaGUgZ2xvYiBwYXR0ZXJuIHRvIG1hdGNoIHJlc291cmNlIG5hbWVzIGFnYWluc3QgKGUuZy4sIFwiKi5qc1wiKS5cblx0ICogQHJldHVybnMge3N0cmluZ1tdfSBBbiBhcnJheSBvZiByZWdpc3RyeSBwYXRocyAoc3RyaW5ncykgdGhhdCBtYXRjaCB0aGUgc2VhcmNoIGNyaXRlcmlhLlxuXHQgKi9cblx0cHVibGljIHN0YXRpYyBmaW5kKHBhdGg6IHN0cmluZywgcGF0dGVybjogc3RyaW5nKTogc3RyaW5nW10ge1xuXHRcdHJldHVybiBKU09OLnBhcnNlKFJlZ2lzdHJ5RmFjYWRlLmZpbmQocGF0aCwgcGF0dGVybikpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldHMgdGhlIHJvb3QgZGlyZWN0b3J5IG9iamVjdCBmb3IgdGhlIHB1YmxpYyByZWdpc3RyeSBzcGFjZS5cblx0ICpcblx0ICogQHJldHVybnMge0RpcmVjdG9yeX0gQSBEaXJlY3RvcnkgaW5zdGFuY2UgcmVwcmVzZW50aW5nIHRoZSByb290IHB1YmxpYyBjb2xsZWN0aW9uLlxuXHQgKi9cblx0cHVibGljIHN0YXRpYyBnZXRSb290KCk6IERpcmVjdG9yeSB7XG5cdFx0cmV0dXJuIG5ldyBEaXJlY3RvcnkoUmVwb3NpdG9yeS5nZXRDb2xsZWN0aW9uKFwiL3JlZ2lzdHJ5L3B1YmxpY1wiKSk7XG5cdH1cbn1cblxuLyoqXG4gKiBAY2xhc3MgQXJ0ZWZhY3RcbiAqIEBkZXNjcmlwdGlvbiBSZXByZXNlbnRzIGEgZmlsZSBvciByZXNvdXJjZSAobm9uLWNvbGxlY3Rpb24pIHdpdGhpbiB0aGUgUmVnaXN0cnkuXG4gKi9cbmV4cG9ydCBjbGFzcyBBcnRlZmFjdCB7XG5cdHByaXZhdGUgcmVhZG9ubHkgbmF0aXZlOiBhbnk7XG5cblx0LyoqXG5cdCAqIEBjb25zdHJ1Y3RvclxuXHQgKiBAcGFyYW0ge2FueX0gbmF0aXZlIFRoZSBuYXRpdmUgSmF2YSBvYmplY3QgaW5zdGFuY2UgcmVwcmVzZW50aW5nIHRoZSByZXBvc2l0b3J5IHJlc291cmNlLlxuXHQgKi9cblx0Y29uc3RydWN0b3IobmF0aXZlOiBhbnkpIHtcblx0XHR0aGlzLm5hdGl2ZSA9IG5hdGl2ZTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIHRoZSBuYW1lIG9mIHRoZSBhcnRlZmFjdCAoZmlsZSBuYW1lKS5cblx0ICogQHJldHVybnMge3N0cmluZ30gVGhlIG5hbWUuXG5cdCAqL1xuXHRwdWJsaWMgZ2V0TmFtZSgpOiBzdHJpbmcge1xuXHRcdHJldHVybiB0aGlzLm5hdGl2ZS5nZXROYW1lKCk7XG5cdH1cblxuXHQvKipcblx0ICogR2V0cyB0aGUgZnVsbCByZWdpc3RyeSBwYXRoIG9mIHRoZSBhcnRlZmFjdC5cblx0ICogQHJldHVybnMge3N0cmluZ30gVGhlIHJlZ2lzdHJ5IHBhdGguXG5cdCAqL1xuXHRwdWJsaWMgZ2V0UGF0aCgpOiBzdHJpbmcge1xuXHRcdHJldHVybiBSZWdpc3RyeUZhY2FkZS50b1JlZ2lzdHJ5UGF0aCh0aGlzLm5hdGl2ZS5nZXRQYXRoKCkpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldHMgdGhlIHBhcmVudCBkaXJlY3Rvcnkgb2YgdGhpcyBhcnRlZmFjdC5cblx0ICogQHJldHVybnMge0RpcmVjdG9yeX0gVGhlIHBhcmVudCBEaXJlY3RvcnkgaW5zdGFuY2UuXG5cdCAqL1xuXHRwdWJsaWMgZ2V0UGFyZW50KCk6IERpcmVjdG9yeSB7XG5cdFx0Y29uc3QgY29sbGVjdGlvbkluc3RhbmNlID0gdGhpcy5uYXRpdmUuZ2V0UGFyZW50KCk7XG5cdFx0cmV0dXJuIG5ldyBEaXJlY3RvcnkoY29sbGVjdGlvbkluc3RhbmNlKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIGRldGFpbGVkIG1ldGFkYXRhIGFib3V0IHRoZSBhcnRlZmFjdC5cblx0ICogQHJldHVybnMge0FydGVmYWN0SW5mb3JtYXRpb259IFRoZSBtZXRhZGF0YSBvYmplY3QuXG5cdCAqL1xuXHRwdWJsaWMgZ2V0SW5mb3JtYXRpb24oKTogQXJ0ZWZhY3RJbmZvcm1hdGlvbiB7XG5cdFx0Y29uc3QgaW5mb3JtYXRpb25JbnN0YW5jZSA9IHRoaXMubmF0aXZlLmdldEluZm9ybWF0aW9uKCk7XG5cdFx0cmV0dXJuIG5ldyBBcnRlZmFjdEluZm9ybWF0aW9uKGluZm9ybWF0aW9uSW5zdGFuY2UpO1xuXHR9XG5cblx0LyoqXG5cdCAqIENoZWNrcyBpZiB0aGUgYXJ0ZWZhY3QgY3VycmVudGx5IGV4aXN0cyBpbiB0aGUgcmVnaXN0cnkuXG5cdCAqIEByZXR1cm5zIHtib29sZWFufSBUcnVlIGlmIHRoZSBhcnRlZmFjdCBleGlzdHMsIGZhbHNlIG90aGVyd2lzZS5cblx0ICovXG5cdHB1YmxpYyBleGlzdHMoKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIHRoaXMubmF0aXZlLmV4aXN0cygpO1xuXHR9XG5cblx0LyoqXG5cdCAqIENoZWNrcyBpZiB0aGUgYXJ0ZWZhY3QgKGZpbGUpIGlzIGVtcHR5IChoYXMgemVybyBzaXplKS5cblx0ICogQHJldHVybnMge2Jvb2xlYW59IFRydWUgaWYgdGhlIGNvbnRlbnQgaXMgZW1wdHksIGZhbHNlIG90aGVyd2lzZS5cblx0ICovXG5cdHB1YmxpYyBpc0VtcHR5KCk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiB0aGlzLm5hdGl2ZS5pc0VtcHR5KCk7XG5cdH1cblxuXHQvKipcblx0ICogR2V0cyB0aGUgY29udGVudCBvZiB0aGUgYXJ0ZWZhY3QgYXMgYSB0ZXh0IHN0cmluZy5cblx0ICogQHJldHVybnMge3N0cmluZ30gVGhlIHRleHQgY29udGVudC5cblx0ICovXG5cdHB1YmxpYyBnZXRUZXh0KCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIEJ5dGVzLmJ5dGVBcnJheVRvVGV4dCh0aGlzLmdldENvbnRlbnQoKSk7XG5cdH1cblxuXHQvKipcblx0ICogR2V0cyB0aGUgY29udGVudCBvZiB0aGUgYXJ0ZWZhY3QgYXMgYSBKYXZhU2NyaXB0LWZyaWVuZGx5IGJ5dGUgYXJyYXkuXG5cdCAqIEByZXR1cm5zIHthbnlbXX0gVGhlIGNvbnRlbnQgYnl0ZXMuXG5cdCAqL1xuXHRwdWJsaWMgZ2V0Q29udGVudCgpOiBhbnlbXSB7XG5cdFx0Y29uc3QgbmF0aXZlQ29udGVudCA9IHRoaXMubmF0aXZlLmdldENvbnRlbnQoKTtcblx0XHRyZXR1cm4gQnl0ZXMudG9KYXZhU2NyaXB0Qnl0ZXMobmF0aXZlQ29udGVudCk7XG5cdH1cblxuXHQvKipcblx0ICogR2V0cyB0aGUgY29udGVudCBvZiB0aGUgYXJ0ZWZhY3QgYXMgaXRzIG5hdGl2ZSBKYXZhIGJ5dGUgYXJyYXkgcmVwcmVzZW50YXRpb24uXG5cdCAqIEByZXR1cm5zIHthbnlbXX0gVGhlIGNvbnRlbnQgYnl0ZXMuXG5cdCAqL1xuXHRwdWJsaWMgZ2V0Q29udGVudE5hdGl2ZSgpOiBhbnlbXSB7XG5cdFx0cmV0dXJuIHRoaXMubmF0aXZlLmdldENvbnRlbnQoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBDaGVja3MgaWYgdGhlIGFydGVmYWN0IGNvbnRlbnQgaXMgZGV0ZXJtaW5lZCB0byBiZSBiaW5hcnkuXG5cdCAqIEByZXR1cm5zIHtib29sZWFufSBUcnVlIGlmIGJpbmFyeSwgZmFsc2UgaWYgdGV4dC5cblx0ICovXG5cdHB1YmxpYyBpc0JpbmFyeSgpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gdGhpcy5uYXRpdmUuaXNCaW5hcnkoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIHRoZSBjb250ZW50IHR5cGUgKE1JTUUgdHlwZSkgb2YgdGhlIGFydGVmYWN0LlxuXHQgKiBAcmV0dXJucyB7c3RyaW5nfSBUaGUgY29udGVudCB0eXBlIHN0cmluZy5cblx0ICovXG5cdHB1YmxpYyBnZXRDb250ZW50VHlwZSgpOiBzdHJpbmcge1xuXHRcdHJldHVybiB0aGlzLm5hdGl2ZS5nZXRDb250ZW50VHlwZSgpO1xuXHR9XG59XG5cbi8qKlxuICogQGNsYXNzIERpcmVjdG9yeVxuICogQGRlc2NyaXB0aW9uIFJlcHJlc2VudHMgYSBjb2xsZWN0aW9uIG9yIGZvbGRlciB3aXRoaW4gdGhlIFJlZ2lzdHJ5LlxuICovXG5leHBvcnQgY2xhc3MgRGlyZWN0b3J5IHtcblx0cHJpdmF0ZSByZWFkb25seSBuYXRpdmU6IGFueTtcblxuXHQvKipcblx0ICogQGNvbnN0cnVjdG9yXG5cdCAqIEBwYXJhbSB7YW55fSBuYXRpdmUgVGhlIG5hdGl2ZSBKYXZhIG9iamVjdCBpbnN0YW5jZSByZXByZXNlbnRpbmcgdGhlIHJlcG9zaXRvcnkgY29sbGVjdGlvbi5cblx0ICovXG5cdGNvbnN0cnVjdG9yKG5hdGl2ZTogYW55KSB7XG5cdFx0dGhpcy5uYXRpdmUgPSBuYXRpdmU7XG5cdH1cblxuXHQvKipcblx0ICogR2V0cyB0aGUgbmFtZSBvZiB0aGUgZGlyZWN0b3J5IChmb2xkZXIgbmFtZSkuXG5cdCAqIEByZXR1cm5zIHtzdHJpbmd9IFRoZSBuYW1lLlxuXHQgKi9cblx0cHVibGljIGdldE5hbWUoKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gdGhpcy5uYXRpdmUuZ2V0TmFtZSgpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldHMgdGhlIGZ1bGwgcmVnaXN0cnkgcGF0aCBvZiB0aGUgZGlyZWN0b3J5LlxuXHQgKiBAcmV0dXJucyB7c3RyaW5nfSBUaGUgcmVnaXN0cnkgcGF0aC5cblx0ICovXG5cdHB1YmxpYyBnZXRQYXRoKCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIFJlZ2lzdHJ5RmFjYWRlLnRvUmVnaXN0cnlQYXRoKHRoaXMubmF0aXZlLmdldFBhdGgoKSk7XG5cdH1cblxuXHQvKipcblx0ICogR2V0cyB0aGUgcGFyZW50IGRpcmVjdG9yeS5cblx0ICogQHJldHVybnMge0RpcmVjdG9yeX0gVGhlIHBhcmVudCBEaXJlY3RvcnkgaW5zdGFuY2UuXG5cdCAqL1xuXHRwdWJsaWMgZ2V0UGFyZW50KCk6IERpcmVjdG9yeSB7XG5cdFx0Y29uc3QgY29sbGVjdGlvbkluc3RhbmNlID0gdGhpcy5uYXRpdmUuZ2V0UGFyZW50KCk7XG5cdFx0cmV0dXJuIG5ldyBEaXJlY3RvcnkoY29sbGVjdGlvbkluc3RhbmNlKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIGRldGFpbGVkIG1ldGFkYXRhIGFib3V0IHRoZSBkaXJlY3RvcnkuXG5cdCAqIEByZXR1cm5zIHtBcnRlZmFjdEluZm9ybWF0aW9ufSBUaGUgbWV0YWRhdGEgb2JqZWN0LlxuXHQgKi9cblx0cHVibGljIGdldEluZm9ybWF0aW9uKCk6IEFydGVmYWN0SW5mb3JtYXRpb24ge1xuXHRcdGNvbnN0IGluZm9ybWF0aW9uSW5zdGFuY2UgPSB0aGlzLm5hdGl2ZS5nZXRJbmZvcm1hdGlvbigpO1xuXHRcdHJldHVybiBuZXcgQXJ0ZWZhY3RJbmZvcm1hdGlvbihpbmZvcm1hdGlvbkluc3RhbmNlKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBDaGVja3MgaWYgdGhlIGRpcmVjdG9yeSBjdXJyZW50bHkgZXhpc3RzIGluIHRoZSByZWdpc3RyeS5cblx0ICogQHJldHVybnMge2Jvb2xlYW59IFRydWUgaWYgdGhlIGRpcmVjdG9yeSBleGlzdHMsIGZhbHNlIG90aGVyd2lzZS5cblx0ICovXG5cdHB1YmxpYyBleGlzdHMoKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIHRoaXMubmF0aXZlLmV4aXN0cygpO1xuXHR9XG5cblx0LyoqXG5cdCAqIENoZWNrcyBpZiB0aGUgZGlyZWN0b3J5IGlzIGVtcHR5IChjb250YWlucyBubyBmaWxlcyBvciBzdWItZGlyZWN0b3JpZXMpLlxuXHQgKiBAcmV0dXJucyB7Ym9vbGVhbn0gVHJ1ZSBpZiBlbXB0eSwgZmFsc2Ugb3RoZXJ3aXNlLlxuXHQgKi9cblx0cHVibGljIGlzRW1wdHkoKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIHRoaXMubmF0aXZlLmlzRW1wdHkoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIHRoZSBuYW1lcyBvZiBhbGwgc3ViLWRpcmVjdG9yaWVzIHdpdGhpbiB0aGlzIGRpcmVjdG9yeS5cblx0ICogQHJldHVybnMge3N0cmluZ1tdfSBBbiBhcnJheSBvZiBzdWItZGlyZWN0b3J5IG5hbWVzLlxuXHQgKi9cblx0cHVibGljIGdldERpcmVjdG9yaWVzTmFtZXMoKTogc3RyaW5nW10ge1xuXHRcdHJldHVybiB0aGlzLm5hdGl2ZS5nZXRDb2xsZWN0aW9uc05hbWVzKCk7XG5cdH1cblxuXHQvKipcblx0ICogR2V0cyBhIHNwZWNpZmljIHN1Yi1kaXJlY3RvcnkgYnkgbmFtZS5cblx0ICogQHBhcmFtIHtzdHJpbmd9IG5hbWUgVGhlIG5hbWUgb2YgdGhlIHN1Yi1kaXJlY3RvcnkuXG5cdCAqIEByZXR1cm5zIHtEaXJlY3Rvcnl9IFRoZSBjaGlsZCBEaXJlY3RvcnkgaW5zdGFuY2UuXG5cdCAqL1xuXHRwdWJsaWMgZ2V0RGlyZWN0b3J5KG5hbWU6IHN0cmluZyk6IERpcmVjdG9yeSB7XG5cdFx0Y29uc3QgY29sbGVjdGlvbkluc3RhbmNlID0gdGhpcy5uYXRpdmUuZ2V0Q29sbGVjdGlvbihSZWdpc3RyeUZhY2FkZS50b1Jlc291cmNlUGF0aChuYW1lKSk7XG5cdFx0cmV0dXJuIG5ldyBEaXJlY3RvcnkoY29sbGVjdGlvbkluc3RhbmNlKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIHRoZSBuYW1lcyBvZiBhbGwgZmlsZXMgKGFydGVmYWN0cykgd2l0aGluIHRoaXMgZGlyZWN0b3J5LlxuXHQgKiBAcmV0dXJucyB7c3RyaW5nW119IEFuIGFycmF5IG9mIGFydGVmYWN0IG5hbWVzLlxuXHQgKi9cblx0cHVibGljIGdldEFydGVmYWN0c05hbWVzKCk6IHN0cmluZ1tdIHtcblx0XHRyZXR1cm4gdGhpcy5uYXRpdmUuZ2V0UmVzb3VyY2VzTmFtZXMoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIGEgc3BlY2lmaWMgZmlsZSAoYXJ0ZWZhY3QpIGJ5IG5hbWUuXG5cdCAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lIFRoZSBuYW1lIG9mIHRoZSBhcnRlZmFjdC5cblx0ICogQHJldHVybnMge0FydGVmYWN0fSBUaGUgY2hpbGQgQXJ0ZWZhY3QgaW5zdGFuY2UuXG5cdCAqL1xuXHRwdWJsaWMgZ2V0QXJ0ZWZhY3QobmFtZTogc3RyaW5nKTogQXJ0ZWZhY3Qge1xuXHRcdGNvbnN0IHJlc291cmNlSW5zdGFuY2UgPSB0aGlzLm5hdGl2ZS5nZXRSZXNvdXJjZShSZWdpc3RyeUZhY2FkZS50b1Jlc291cmNlUGF0aChuYW1lKSk7XG5cdFx0cmV0dXJuIG5ldyBBcnRlZmFjdChyZXNvdXJjZUluc3RhbmNlKTtcblx0fVxuXG59XG5cbi8qKlxuICogQGNsYXNzIEFydGVmYWN0SW5mb3JtYXRpb25cbiAqIEBkZXNjcmlwdGlvbiBSZXByZXNlbnRzIGRldGFpbGVkIG1ldGFkYXRhIChjcmVhdGlvbiBkYXRlLCBzaXplLCBwZXJtaXNzaW9ucywgZXRjLikgZm9yIGFcbiAqIERpcmVjdG9yeSBvciBBcnRlZmFjdC5cbiAqL1xuZXhwb3J0IGNsYXNzIEFydGVmYWN0SW5mb3JtYXRpb24ge1xuXHRwcml2YXRlIHJlYWRvbmx5IG5hdGl2ZTogYW55O1xuXG5cdC8qKlxuXHQgKiBAY29uc3RydWN0b3Jcblx0ICogQHBhcmFtIHthbnl9IG5hdGl2ZSBUaGUgbmF0aXZlIEphdmEgb2JqZWN0IGluc3RhbmNlIGhvbGRpbmcgdGhlIGFydGVmYWN0IGluZm9ybWF0aW9uLlxuXHQgKi9cblx0Y29uc3RydWN0b3IobmF0aXZlOiBhbnkpIHtcblx0XHR0aGlzLm5hdGl2ZSA9IG5hdGl2ZTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIHRoZSBuYW1lIG9mIHRoZSByZXNvdXJjZS5cblx0ICogQHJldHVybnMge3N0cmluZ30gVGhlIG5hbWUuXG5cdCAqL1xuXHRwdWJsaWMgZ2V0TmFtZSgpOiBzdHJpbmcge1xuXHRcdHJldHVybiB0aGlzLm5hdGl2ZS5nZXROYW1lKCk7XG5cdH1cblxuXHQvKipcblx0ICogR2V0cyB0aGUgZnVsbCByZWdpc3RyeSBwYXRoIG9mIHRoZSByZXNvdXJjZS5cblx0ICogQHJldHVybnMge3N0cmluZ30gVGhlIHJlZ2lzdHJ5IHBhdGguXG5cdCAqL1xuXHRwdWJsaWMgZ2V0UGF0aCgpOiBzdHJpbmcge1xuXHRcdHJldHVybiBSZWdpc3RyeUZhY2FkZS50b1JlZ2lzdHJ5UGF0aCh0aGlzLm5hdGl2ZS5nZXRQYXRoKCkpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldHMgdGhlIGFjY2VzcyBwZXJtaXNzaW9ucyBmb3IgdGhlIHJlc291cmNlICh0eXBpY2FsbHkgYW4gaW50ZWdlciBiaXRtYXNrKS5cblx0ICogQHJldHVybnMge251bWJlcn0gVGhlIHBlcm1pc3Npb25zIHZhbHVlLlxuXHQgKi9cblx0cHVibGljIGdldFBlcm1pc3Npb25zKCk6IG51bWJlciB7XG5cdFx0cmV0dXJuIHRoaXMubmF0aXZlLmdldFBlcm1pc3Npb25zKCk7XG5cdH1cblxuXHQvKipcblx0ICogR2V0cyB0aGUgc2l6ZSBvZiB0aGUgcmVzb3VyY2UgY29udGVudCBpbiBieXRlcy5cblx0ICogQHJldHVybnMge251bWJlcn0gVGhlIHNpemUgaW4gYnl0ZXMuXG5cdCAqL1xuXHRwdWJsaWMgZ2V0U2l6ZSgpOiBudW1iZXIge1xuXHRcdHJldHVybiB0aGlzLm5hdGl2ZS5nZXRTaXplKCk7XG5cdH1cblxuXHQvKipcblx0ICogR2V0cyB0aGUgdXNlciB3aG8gY3JlYXRlZCB0aGUgcmVzb3VyY2UuXG5cdCAqIEByZXR1cm5zIHtzdHJpbmd9IFRoZSBjcmVhdG9yJ3MgbmFtZS5cblx0ICovXG5cdHB1YmxpYyBnZXRDcmVhdGVkQnkoKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gdGhpcy5uYXRpdmUuZ2V0Q3JlYXRlZEJ5KCk7XG5cdH1cblxuXHQvKipcblx0ICogR2V0cyB0aGUgY3JlYXRpb24gdGltZXN0YW1wLlxuXHQgKiBAcmV0dXJucyB7RGF0ZX0gVGhlIGNyZWF0aW9uIGRhdGUgYW5kIHRpbWUuXG5cdCAqL1xuXHRwdWJsaWMgZ2V0Q3JlYXRlZEF0KCk6IERhdGUge1xuXHRcdHJldHVybiB0aGlzLm5hdGl2ZS5nZXRDcmVhdGVkQXQoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIHRoZSB1c2VyIHdobyBsYXN0IG1vZGlmaWVkIHRoZSByZXNvdXJjZS5cblx0ICogQHJldHVybnMge3N0cmluZ30gVGhlIG1vZGlmaWVyJ3MgbmFtZS5cblx0ICovXG5cdHB1YmxpYyBnZXRNb2RpZmllZEJ5KCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIHRoaXMubmF0aXZlLmdldE1vZGlmaWVkQnkoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIHRoZSBsYXN0IG1vZGlmaWNhdGlvbiB0aW1lc3RhbXAuXG5cdCAqIEByZXR1cm5zIHtEYXRlfSBUaGUgbW9kaWZpY2F0aW9uIGRhdGUgYW5kIHRpbWUuXG5cdCAqL1xuXHRwdWJsaWMgZ2V0TW9kaWZpZWRBdCgpOiBEYXRlIHtcblx0XHRyZXR1cm4gdGhpcy5uYXRpdmUuZ2V0TW9kaWZpZWRBdCgpO1xuXHR9XG59XG5cbi8vIEB0cy1pZ25vcmVcbmlmICh0eXBlb2YgbW9kdWxlICE9PSAndW5kZWZpbmVkJykge1xuXHQvLyBAdHMtaWdub3JlXG5cdG1vZHVsZS5leHBvcnRzID0gUmVnaXN0cnk7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7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
@@ -498,4 +498,4 @@ class EntityInformation {
498
498
  if (typeof module !== "undefined") {
499
499
  module.exports = Repository;
500
500
  }
501
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3BsYXRmb3JtL3JlcG9zaXRvcnkudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogUHJvdmlkZXMgYSB3cmFwcGVyIGZvciB0aGUgcGxhdGZvcm0ncyBSZXBvc2l0b3J5RmFjYWRlIHRvIG1hbmFnZSBmaWxlcyAoUmVzb3VyY2VzKVxuICogYW5kIGZvbGRlcnMgKENvbGxlY3Rpb25zKSwgaW5jbHVkaW5nIENSVUQgb3BlcmF0aW9ucywgbW92ZW1lbnQsIGFuZCBjb250ZW50IGhhbmRsaW5nLlxuICovXG5pbXBvcnQgeyBCeXRlcyB9IGZyb20gXCJAYWVyb2tpdC9zZGsvaW8vYnl0ZXNcIjtcblxuY29uc3QgUmVwb3NpdG9yeUZhY2FkZSA9IEphdmEudHlwZShcIm9yZy5lY2xpcHNlLmRpcmlnaWJsZS5jb21wb25lbnRzLmFwaS5wbGF0Zm9ybS5SZXBvc2l0b3J5RmFjYWRlXCIpO1xuXG4vKipcbiAqIEBjbGFzcyBSZXBvc2l0b3J5XG4gKiBAZGVzY3JpcHRpb24gU3RhdGljIHV0aWxpdHkgY2xhc3MgcHJvdmlkaW5nIGhpZ2gtbGV2ZWwgbWV0aG9kcyBmb3IgaW50ZXJhY3Rpbmcgd2l0aCB0aGVcbiAqIHJlcG9zaXRvcnkgZmFjYWRlIHRvIG1hbmFnZSByZXNvdXJjZXMgYW5kIGNvbGxlY3Rpb25zIGJ5IHBhdGguXG4gKi9cbmV4cG9ydCBjbGFzcyBSZXBvc2l0b3J5IHtcblxuXHQvKipcblx0ICogUmV0cmlldmVzIGEgcmVzb3VyY2UgKGZpbGUpIG9iamVjdCBmcm9tIHRoZSByZXBvc2l0b3J5IGJ5IGl0cyBwYXRoLlxuXHQgKlxuXHQgKiBAcGFyYW0ge3N0cmluZ30gcGF0aCBUaGUgYWJzb2x1dGUgcGF0aCB0byB0aGUgcmVzb3VyY2UuXG5cdCAqIEByZXR1cm5zIHtSZXNvdXJjZX0gQSBSZXNvdXJjZSBpbnN0YW5jZSB3cmFwcGluZyB0aGUgbmF0aXZlIHJlcG9zaXRvcnkgb2JqZWN0LlxuXHQgKi9cblx0cHVibGljIHN0YXRpYyBnZXRSZXNvdXJjZShwYXRoOiBzdHJpbmcpOiBSZXNvdXJjZSB7XG5cdFx0Y29uc3QgcmVzb3VyY2VJbnN0YW5jZSA9IFJlcG9zaXRvcnlGYWNhZGUuZ2V0UmVzb3VyY2UocGF0aCk7XG5cdFx0cmV0dXJuIG5ldyBSZXNvdXJjZShyZXNvdXJjZUluc3RhbmNlKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBDcmVhdGVzIGEgbmV3IHJlc291cmNlIChmaWxlKSB3aXRoIGNvbnRlbnQgcHJvdmlkZWQgYXMgYSBzdHJpbmcuXG5cdCAqXG5cdCAqIEBwYXJhbSB7c3RyaW5nfSBwYXRoIFRoZSBhYnNvbHV0ZSBwYXRoIHdoZXJlIHRoZSByZXNvdXJjZSBzaG91bGQgYmUgY3JlYXRlZC5cblx0ICogQHBhcmFtIHtzdHJpbmd9IGNvbnRlbnQgVGhlIHN0cmluZyBjb250ZW50IGZvciB0aGUgcmVzb3VyY2UuXG5cdCAqIEBwYXJhbSB7c3RyaW5nfSBjb250ZW50VHlwZSBUaGUgTUlNRSB0eXBlIG9mIHRoZSBjb250ZW50IChlLmcuLCBcInRleHQvcGxhaW5cIikuXG5cdCAqIEByZXR1cm5zIHtSZXNvdXJjZX0gVGhlIG5ld2x5IGNyZWF0ZWQgUmVzb3VyY2UgaW5zdGFuY2UuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIGNyZWF0ZVJlc291cmNlKHBhdGg6IHN0cmluZywgY29udGVudDogc3RyaW5nLCBjb250ZW50VHlwZTogc3RyaW5nKTogUmVzb3VyY2Uge1xuXHRcdGNvbnN0IHJlc291cmNlSW5zdGFuY2UgPSBSZXBvc2l0b3J5RmFjYWRlLmNyZWF0ZVJlc291cmNlKHBhdGgsIGNvbnRlbnQsIGNvbnRlbnRUeXBlKTtcblx0XHRyZXR1cm4gbmV3IFJlc291cmNlKHJlc291cmNlSW5zdGFuY2UpO1xuXHR9XG5cblx0LyoqXG5cdCAqIENyZWF0ZXMgYSBuZXcgcmVzb3VyY2UgKGZpbGUpIHdpdGggY29udGVudCBwcm92aWRlZCBhcyBhIG5hdGl2ZSBieXRlIGFycmF5LlxuXHQgKlxuXHQgKiBAcGFyYW0ge3N0cmluZ30gcGF0aCBUaGUgYWJzb2x1dGUgcGF0aCB3aGVyZSB0aGUgcmVzb3VyY2Ugc2hvdWxkIGJlIGNyZWF0ZWQuXG5cdCAqIEBwYXJhbSB7YW55W119IGNvbnRlbnQgVGhlIG5hdGl2ZSBieXRlIGFycmF5IGNvbnRlbnQuXG5cdCAqIEBwYXJhbSB7c3RyaW5nfSBjb250ZW50VHlwZSBUaGUgTUlNRSB0eXBlIG9mIHRoZSBjb250ZW50LlxuXHQgKiBAcmV0dXJucyB7UmVzb3VyY2V9IFRoZSBuZXdseSBjcmVhdGVkIFJlc291cmNlIGluc3RhbmNlLlxuXHQgKi9cblx0cHVibGljIHN0YXRpYyBjcmVhdGVSZXNvdXJjZU5hdGl2ZShwYXRoOiBzdHJpbmcsIGNvbnRlbnQ6IGFueVtdLCBjb250ZW50VHlwZTogc3RyaW5nKTogUmVzb3VyY2Uge1xuXHRcdGNvbnN0IHJlc291cmNlSW5zdGFuY2UgPSBSZXBvc2l0b3J5RmFjYWRlLmNyZWF0ZVJlc291cmNlTmF0aXZlKHBhdGgsIGNvbnRlbnQsIGNvbnRlbnRUeXBlKTtcblx0XHRyZXR1cm4gbmV3IFJlc291cmNlKHJlc291cmNlSW5zdGFuY2UpO1xuXHR9XG5cblx0LyoqXG5cdCAqIFVwZGF0ZXMgdGhlIGNvbnRlbnQgb2YgYW4gZXhpc3RpbmcgcmVzb3VyY2UgdXNpbmcgYSBzdHJpbmcuXG5cdCAqXG5cdCAqIEBwYXJhbSB7c3RyaW5nfSBwYXRoIFRoZSBhYnNvbHV0ZSBwYXRoIHRvIHRoZSByZXNvdXJjZSB0byB1cGRhdGUuXG5cdCAqIEBwYXJhbSB7c3RyaW5nfSBjb250ZW50IFRoZSBuZXcgc3RyaW5nIGNvbnRlbnQuXG5cdCAqIEByZXR1cm5zIHtSZXNvdXJjZX0gVGhlIHVwZGF0ZWQgUmVzb3VyY2UgaW5zdGFuY2UuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIHVwZGF0ZVJlc291cmNlKHBhdGg6IHN0cmluZywgY29udGVudDogc3RyaW5nKTogUmVzb3VyY2Uge1xuXHRcdGNvbnN0IHJlc291cmNlSW5zdGFuY2UgPSBSZXBvc2l0b3J5RmFjYWRlLnVwZGF0ZVJlc291cmNlKHBhdGgsIGNvbnRlbnQpO1xuXHRcdHJldHVybiBuZXcgUmVzb3VyY2UocmVzb3VyY2VJbnN0YW5jZSk7XG5cdH1cblxuXHQvKipcblx0ICogVXBkYXRlcyB0aGUgY29udGVudCBvZiBhbiBleGlzdGluZyByZXNvdXJjZSB1c2luZyBhIG5hdGl2ZSBieXRlIGFycmF5LlxuXHQgKlxuXHQgKiBAcGFyYW0ge3N0cmluZ30gcGF0aCBUaGUgYWJzb2x1dGUgcGF0aCB0byB0aGUgcmVzb3VyY2UgdG8gdXBkYXRlLlxuXHQgKiBAcGFyYW0ge2FueVtdfSBjb250ZW50IFRoZSBuZXcgbmF0aXZlIGJ5dGUgYXJyYXkgY29udGVudC5cblx0ICogQHJldHVybnMge1Jlc291cmNlfSBUaGUgdXBkYXRlZCBSZXNvdXJjZSBpbnN0YW5jZS5cblx0ICovXG5cdHB1YmxpYyBzdGF0aWMgdXBkYXRlUmVzb3VyY2VOYXRpdmUocGF0aDogc3RyaW5nLCBjb250ZW50OiBhbnlbXSk6IFJlc291cmNlIHtcblx0XHRjb25zdCByZXNvdXJjZUluc3RhbmNlID0gUmVwb3NpdG9yeUZhY2FkZS51cGRhdGVSZXNvdXJjZU5hdGl2ZShwYXRoLCBjb250ZW50KTtcblx0XHRyZXR1cm4gbmV3IFJlc291cmNlKHJlc291cmNlSW5zdGFuY2UpO1xuXHR9XG5cblx0LyoqXG5cdCAqIERlbGV0ZXMgdGhlIHJlc291cmNlIChmaWxlKSBhdCB0aGUgc3BlY2lmaWVkIHBhdGguXG5cdCAqXG5cdCAqIEBwYXJhbSB7c3RyaW5nfSBwYXRoIFRoZSBhYnNvbHV0ZSBwYXRoIG9mIHRoZSByZXNvdXJjZSB0byBkZWxldGUuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIGRlbGV0ZVJlc291cmNlKHBhdGg6IHN0cmluZyk6IHZvaWQge1xuXHRcdFJlcG9zaXRvcnlGYWNhZGUuZGVsZXRlUmVzb3VyY2UocGF0aCk7XG5cdH1cblxuXHQvKipcblx0ICogUmV0cmlldmVzIGEgY29sbGVjdGlvbiAoZm9sZGVyKSBvYmplY3QgZnJvbSB0aGUgcmVwb3NpdG9yeSBieSBpdHMgcGF0aC5cblx0ICpcblx0ICogQHBhcmFtIHtzdHJpbmd9IHBhdGggVGhlIGFic29sdXRlIHBhdGggdG8gdGhlIGNvbGxlY3Rpb24uXG5cdCAqIEByZXR1cm5zIHtDb2xsZWN0aW9ufSBBIENvbGxlY3Rpb24gaW5zdGFuY2Ugd3JhcHBpbmcgdGhlIG5hdGl2ZSByZXBvc2l0b3J5IG9iamVjdC5cblx0ICovXG5cdHB1YmxpYyBzdGF0aWMgZ2V0Q29sbGVjdGlvbihwYXRoOiBzdHJpbmcpOiBDb2xsZWN0aW9uIHtcblx0XHRjb25zdCBjb2xsZWN0aW9uSW5zdGFuY2UgPSBSZXBvc2l0b3J5RmFjYWRlLmdldENvbGxlY3Rpb24ocGF0aCk7XG5cdFx0cmV0dXJuIG5ldyBDb2xsZWN0aW9uKGNvbGxlY3Rpb25JbnN0YW5jZSk7XG5cdH1cblxuXHQvKipcblx0ICogQ3JlYXRlcyBhIG5ldyBjb2xsZWN0aW9uIChmb2xkZXIpIGF0IHRoZSBzcGVjaWZpZWQgcGF0aC5cblx0ICpcblx0ICogQHBhcmFtIHtzdHJpbmd9IHBhdGggVGhlIGFic29sdXRlIHBhdGggd2hlcmUgdGhlIGNvbGxlY3Rpb24gc2hvdWxkIGJlIGNyZWF0ZWQuXG5cdCAqIEByZXR1cm5zIHtDb2xsZWN0aW9ufSBUaGUgbmV3bHkgY3JlYXRlZCBDb2xsZWN0aW9uIGluc3RhbmNlLlxuXHQgKi9cblx0cHVibGljIHN0YXRpYyBjcmVhdGVDb2xsZWN0aW9uKHBhdGg6IHN0cmluZyk6IENvbGxlY3Rpb24ge1xuXHRcdGNvbnN0IGNvbGxlY3Rpb25JbnN0YW5jZSA9IFJlcG9zaXRvcnlGYWNhZGUuY3JlYXRlQ29sbGVjdGlvbihwYXRoKTtcblx0XHRyZXR1cm4gbmV3IENvbGxlY3Rpb24oY29sbGVjdGlvbkluc3RhbmNlKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBEZWxldGVzIHRoZSBjb2xsZWN0aW9uIChmb2xkZXIpIGF0IHRoZSBzcGVjaWZpZWQgcGF0aC5cblx0ICpcblx0ICogQHBhcmFtIHtzdHJpbmd9IHBhdGggVGhlIGFic29sdXRlIHBhdGggb2YgdGhlIGNvbGxlY3Rpb24gdG8gZGVsZXRlLlxuXHQgKi9cblx0cHVibGljIHN0YXRpYyBkZWxldGVDb2xsZWN0aW9uKHBhdGg6IHN0cmluZyk6IHZvaWQge1xuXHRcdFJlcG9zaXRvcnlGYWNhZGUuZGVsZXRlQ29sbGVjdGlvbihwYXRoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBTZWFyY2hlcyB0aGUgcmVwb3NpdG9yeSBzdGFydGluZyBmcm9tIGEgZ2l2ZW4gcGF0aCBmb3IgcmVzb3VyY2VzIG1hdGNoaW5nIGEgZ2xvYiBwYXR0ZXJuLlxuXHQgKlxuXHQgKiBAcGFyYW0ge3N0cmluZ30gcGF0aCBUaGUgc3RhcnRpbmcgcGF0aCBmb3IgdGhlIHNlYXJjaC5cblx0ICogQHBhcmFtIHtzdHJpbmd9IHBhdHRlcm4gVGhlIGdsb2IgcGF0dGVybiB0byBtYXRjaCByZXNvdXJjZSBuYW1lcyBhZ2FpbnN0IChlLmcuLCBcIiouanNcIikuXG5cdCAqIEByZXR1cm5zIHtzdHJpbmdbXX0gQW4gYXJyYXkgb2YgcmVwb3NpdG9yeSBwYXRocyAoc3RyaW5ncykgdGhhdCBtYXRjaCB0aGUgc2VhcmNoIGNyaXRlcmlhLlxuXHQgKi9cblx0cHVibGljIHN0YXRpYyBmaW5kKHBhdGg6IHN0cmluZywgcGF0dGVybjogc3RyaW5nKTogc3RyaW5nW10ge1xuXHRcdHJldHVybiBKU09OLnBhcnNlKFJlcG9zaXRvcnlGYWNhZGUuZmluZChwYXRoLCBwYXR0ZXJuKSk7XG5cdH1cbn1cblxuLyoqXG4gKiBAY2xhc3MgUmVzb3VyY2VcbiAqIEBkZXNjcmlwdGlvbiBSZXByZXNlbnRzIGEgZmlsZSBvciByZXNvdXJjZSAobm9uLWNvbGxlY3Rpb24pIHdpdGhpbiB0aGUgUmVwb3NpdG9yeSxcbiAqIHByb3ZpZGluZyBpbnN0YW5jZSBtZXRob2RzIGZvciBmaWxlIG9wZXJhdGlvbnMuXG4gKi9cbmV4cG9ydCBjbGFzcyBSZXNvdXJjZSB7XG5cdHByaXZhdGUgcmVhZG9ubHkgbmF0aXZlOiBhbnk7XG5cblx0LyoqXG5cdCAqIEBjb25zdHJ1Y3RvclxuXHQgKiBAcGFyYW0ge2FueX0gbmF0aXZlIFRoZSBuYXRpdmUgSmF2YSBvYmplY3QgaW5zdGFuY2UgcmVwcmVzZW50aW5nIHRoZSByZXBvc2l0b3J5IHJlc291cmNlLlxuXHQgKi9cblx0Y29uc3RydWN0b3IobmF0aXZlOiBhbnkpIHtcblx0XHR0aGlzLm5hdGl2ZSA9IG5hdGl2ZTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIHRoZSBuYW1lIG9mIHRoZSByZXNvdXJjZSAoZmlsZSBuYW1lKS5cblx0ICogQHJldHVybnMge3N0cmluZ30gVGhlIG5hbWUuXG5cdCAqL1xuXHRwdWJsaWMgZ2V0TmFtZSgpOiBzdHJpbmcge1xuXHRcdHJldHVybiB0aGlzLm5hdGl2ZS5nZXROYW1lKCk7XG5cdH1cblxuXHQvKipcblx0ICogR2V0cyB0aGUgZnVsbCByZXBvc2l0b3J5IHBhdGggb2YgdGhlIHJlc291cmNlLlxuXHQgKiBAcmV0dXJucyB7c3RyaW5nfSBUaGUgcmVwb3NpdG9yeSBwYXRoLlxuXHQgKi9cblx0cHVibGljIGdldFBhdGgoKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gdGhpcy5uYXRpdmUuZ2V0UGF0aCgpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldHMgdGhlIHBhcmVudCBjb2xsZWN0aW9uIChmb2xkZXIpIG9mIHRoaXMgcmVzb3VyY2UuXG5cdCAqIEByZXR1cm5zIHtDb2xsZWN0aW9ufSBUaGUgcGFyZW50IENvbGxlY3Rpb24gaW5zdGFuY2UuXG5cdCAqL1xuXHRwdWJsaWMgZ2V0UGFyZW50KCk6IENvbGxlY3Rpb24ge1xuXHRcdGNvbnN0IGNvbGxlY3Rpb25JbnN0YW5jZSA9IHRoaXMubmF0aXZlLmdldFBhcmVudCgpO1xuXHRcdHJldHVybiBuZXcgQ29sbGVjdGlvbihjb2xsZWN0aW9uSW5zdGFuY2UpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldHMgZGV0YWlsZWQgbWV0YWRhdGEgYWJvdXQgdGhlIHJlc291cmNlLlxuXHQgKiBAcmV0dXJucyB7RW50aXR5SW5mb3JtYXRpb259IFRoZSBtZXRhZGF0YSBvYmplY3QuXG5cdCAqL1xuXHRwdWJsaWMgZ2V0SW5mb3JtYXRpb24oKTogRW50aXR5SW5mb3JtYXRpb24ge1xuXHRcdGNvbnN0IGluZm9ybWF0aW9uSW5zdGFuY2UgPSB0aGlzLm5hdGl2ZS5nZXRJbmZvcm1hdGlvbigpO1xuXHRcdHJldHVybiBuZXcgRW50aXR5SW5mb3JtYXRpb24oaW5mb3JtYXRpb25JbnN0YW5jZSk7XG5cdH1cblxuXHQvKipcblx0ICogQ3JlYXRlcyB0aGUgcmVzb3VyY2UgaWYgaXQgZG9lcyBub3QgYWxyZWFkeSBleGlzdC5cblx0ICovXG5cdHB1YmxpYyBjcmVhdGUoKTogdm9pZCB7XG5cdFx0dGhpcy5uYXRpdmUuY3JlYXRlKCk7XG5cdH1cblxuXHQvKipcblx0ICogRGVsZXRlcyB0aGUgcmVzb3VyY2UgZnJvbSB0aGUgcmVwb3NpdG9yeS5cblx0ICovXG5cdHB1YmxpYyBkZWxldGUoKTogdm9pZCB7XG5cdFx0dGhpcy5uYXRpdmUuZGVsZXRlKCk7XG5cdH1cblxuXHQvKipcblx0ICogUmVuYW1lcyB0aGUgcmVzb3VyY2Ugd2l0aGluIGl0cyBjdXJyZW50IGNvbGxlY3Rpb24uXG5cdCAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lIFRoZSBuZXcgbmFtZSBmb3IgdGhlIHJlc291cmNlLlxuXHQgKi9cblx0cHVibGljIHJlbmFtZVRvKG5hbWU6IHN0cmluZyk6IHZvaWQge1xuXHRcdHRoaXMubmF0aXZlLnJlbmFtZVRvKG5hbWUpO1xuXHR9XG5cblx0LyoqXG5cdCAqIE1vdmVzIHRoZSByZXNvdXJjZSB0byBhIG5ldyBwYXRoLlxuXHQgKiBAcGFyYW0ge3N0cmluZ30gcGF0aCBUaGUgbmV3IGFic29sdXRlIHBhdGggZm9yIHRoZSByZXNvdXJjZS5cblx0ICovXG5cdHB1YmxpYyBtb3ZlVG8ocGF0aDogc3RyaW5nKTogdm9pZCB7XG5cdFx0dGhpcy5uYXRpdmUubW92ZVRvKHBhdGgpO1xuXHR9XG5cblx0LyoqXG5cdCAqIENvcGllcyB0aGUgcmVzb3VyY2UgdG8gYSBuZXcgcGF0aC5cblx0ICogQHBhcmFtIHtzdHJpbmd9IHBhdGggVGhlIG5ldyBhYnNvbHV0ZSBwYXRoIGZvciB0aGUgY29waWVkIHJlc291cmNlLlxuXHQgKi9cblx0cHVibGljIGNvcHlUbyhwYXRoOiBzdHJpbmcpOiB2b2lkIHtcblx0XHR0aGlzLm5hdGl2ZS5jb3B5VG8ocGF0aCk7XG5cdH1cblxuXHQvKipcblx0ICogQ2hlY2tzIGlmIHRoZSByZXNvdXJjZSBjdXJyZW50bHkgZXhpc3RzIGluIHRoZSByZXBvc2l0b3J5LlxuXHQgKiBAcmV0dXJucyB7Ym9vbGVhbn0gVHJ1ZSBpZiB0aGUgcmVzb3VyY2UgZXhpc3RzLCBmYWxzZSBvdGhlcndpc2UuXG5cdCAqL1xuXHRwdWJsaWMgZXhpc3RzKCk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiB0aGlzLm5hdGl2ZS5leGlzdHMoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBDaGVja3MgaWYgdGhlIHJlc291cmNlIChmaWxlKSBpcyBlbXB0eSAoaGFzIHplcm8gc2l6ZSkuXG5cdCAqIEByZXR1cm5zIHtib29sZWFufSBUcnVlIGlmIHRoZSBjb250ZW50IGlzIGVtcHR5LCBmYWxzZSBvdGhlcndpc2UuXG5cdCAqL1xuXHRwdWJsaWMgaXNFbXB0eSgpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gdGhpcy5uYXRpdmUuaXNFbXB0eSgpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldHMgdGhlIGNvbnRlbnQgb2YgdGhlIHJlc291cmNlIGFzIGEgdGV4dCBzdHJpbmcuXG5cdCAqIEByZXR1cm5zIHtzdHJpbmd9IFRoZSB0ZXh0IGNvbnRlbnQuXG5cdCAqL1xuXHRwdWJsaWMgZ2V0VGV4dCgpOiBzdHJpbmcge1xuXHRcdHJldHVybiBCeXRlcy5ieXRlQXJyYXlUb1RleHQodGhpcy5nZXRDb250ZW50KCkpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldHMgdGhlIGNvbnRlbnQgb2YgdGhlIHJlc291cmNlIGFzIGEgSmF2YVNjcmlwdC1mcmllbmRseSBieXRlIGFycmF5LlxuXHQgKiBAcmV0dXJucyB7YW55W119IFRoZSBjb250ZW50IGJ5dGVzLlxuXHQgKi9cblx0cHVibGljIGdldENvbnRlbnQoKTogYW55W10ge1xuXHRcdGNvbnN0IG5hdGl2ZUNvbnRlbnQgPSB0aGlzLm5hdGl2ZS5nZXRDb250ZW50KCk7XG5cdFx0cmV0dXJuIEJ5dGVzLnRvSmF2YVNjcmlwdEJ5dGVzKG5hdGl2ZUNvbnRlbnQpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldHMgdGhlIGNvbnRlbnQgb2YgdGhlIHJlc291cmNlIGFzIGl0cyBuYXRpdmUgSmF2YSBieXRlIGFycmF5IHJlcHJlc2VudGF0aW9uLlxuXHQgKiBAcmV0dXJucyB7YW55W119IFRoZSBjb250ZW50IGJ5dGVzLlxuXHQgKi9cblx0cHVibGljIGdldENvbnRlbnROYXRpdmUoKTogYW55W10ge1xuXHRcdHJldHVybiB0aGlzLm5hdGl2ZS5nZXRDb250ZW50KCk7XG5cdH1cblxuXHQvKipcblx0ICogU2V0cyB0aGUgY29udGVudCBvZiB0aGUgcmVzb3VyY2UgdXNpbmcgYSB0ZXh0IHN0cmluZy5cblx0ICogVGhlIHN0cmluZyBpcyBjb252ZXJ0ZWQgdG8gYSBieXRlIGFycmF5IGJlZm9yZSBzYXZpbmcuXG5cdCAqIEBwYXJhbSB7c3RyaW5nfSB0ZXh0IFRoZSBuZXcgdGV4dCBjb250ZW50LlxuXHQgKi9cblx0cHVibGljIHNldFRleHQodGV4dDogc3RyaW5nKTogdm9pZCB7XG5cdFx0Y29uc3QgY29udGVudCA9IEJ5dGVzLnRleHRUb0J5dGVBcnJheSh0ZXh0KTtcblx0XHR0aGlzLnNldENvbnRlbnQoY29udGVudCk7XG5cdH1cblxuXHQvKipcblx0ICogU2V0cyB0aGUgY29udGVudCBvZiB0aGUgcmVzb3VyY2UgdXNpbmcgYSBKYXZhU2NyaXB0IGJ5dGUgYXJyYXkuXG5cdCAqIFRoZSBhcnJheSBpcyBjb252ZXJ0ZWQgdG8gYSBuYXRpdmUgYnl0ZSBhcnJheSBiZWZvcmUgc2F2aW5nLlxuXHQgKiBAcGFyYW0ge2FueVtdfSBjb250ZW50IFRoZSBuZXcgY29udGVudCBieXRlcy5cblx0ICovXG5cdHB1YmxpYyBzZXRDb250ZW50KGNvbnRlbnQ6IGFueVtdKTogdm9pZCB7XG5cdFx0Y29uc3QgbmF0aXZlQ29udGVudCA9IEJ5dGVzLnRvSmF2YUJ5dGVzKGNvbnRlbnQpO1xuXHRcdHRoaXMubmF0aXZlLnNldENvbnRlbnQobmF0aXZlQ29udGVudCk7XG5cdH1cblxuXHQvKipcblx0ICogU2V0cyB0aGUgY29udGVudCBvZiB0aGUgcmVzb3VyY2UgdXNpbmcgYSBuYXRpdmUgSmF2YSBieXRlIGFycmF5LlxuXHQgKiBAcGFyYW0ge2FueVtdfSBjb250ZW50IFRoZSBuZXcgbmF0aXZlIGNvbnRlbnQgYnl0ZXMuXG5cdCAqL1xuXHRwdWJsaWMgc2V0Q29udGVudE5hdGl2ZShjb250ZW50OiBhbnlbXSk6IHZvaWQge1xuXHRcdHRoaXMubmF0aXZlLnNldENvbnRlbnQoY29udGVudCk7XG5cdH1cblxuXHQvKipcblx0ICogQ2hlY2tzIGlmIHRoZSByZXNvdXJjZSBjb250ZW50IGlzIGRldGVybWluZWQgdG8gYmUgYmluYXJ5LlxuXHQgKiBAcmV0dXJucyB7Ym9vbGVhbn0gVHJ1ZSBpZiBiaW5hcnksIGZhbHNlIGlmIHRleHQuXG5cdCAqL1xuXHRwdWJsaWMgaXNCaW5hcnkoKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIHRoaXMubmF0aXZlLmlzQmluYXJ5KCk7XG5cdH1cblxuXHQvKipcblx0ICogR2V0cyB0aGUgY29udGVudCB0eXBlIChNSU1FIHR5cGUpIG9mIHRoZSByZXNvdXJjZS5cblx0ICogQHJldHVybnMge3N0cmluZ30gVGhlIGNvbnRlbnQgdHlwZSBzdHJpbmcuXG5cdCAqL1xuXHRwdWJsaWMgZ2V0Q29udGVudFR5cGUoKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gdGhpcy5uYXRpdmUuZ2V0Q29udGVudFR5cGUoKTtcblx0fVxufVxuXG4vKipcbiAqIEBjbGFzcyBDb2xsZWN0aW9uXG4gKiBAZGVzY3JpcHRpb24gUmVwcmVzZW50cyBhIGRpcmVjdG9yeSBvciBmb2xkZXIgd2l0aGluIHRoZSBSZXBvc2l0b3J5LCBwcm92aWRpbmdcbiAqIGluc3RhbmNlIG1ldGhvZHMgZm9yIGNvbGxlY3Rpb24gYW5kIHJlc291cmNlIG1hbmFnZW1lbnQuXG4gKi9cbmV4cG9ydCBjbGFzcyBDb2xsZWN0aW9uIHtcblx0cHJpdmF0ZSByZWFkb25seSBuYXRpdmU6IGFueTtcblxuXHQvKipcblx0ICogQGNvbnN0cnVjdG9yXG5cdCAqIEBwYXJhbSB7YW55fSBuYXRpdmUgVGhlIG5hdGl2ZSBKYXZhIG9iamVjdCBpbnN0YW5jZSByZXByZXNlbnRpbmcgdGhlIHJlcG9zaXRvcnkgY29sbGVjdGlvbi5cblx0ICovXG5cdGNvbnN0cnVjdG9yKG5hdGl2ZTogYW55KSB7XG5cdFx0dGhpcy5uYXRpdmUgPSBuYXRpdmU7XG5cdH1cblxuXHQvKipcblx0ICogR2V0cyB0aGUgbmFtZSBvZiB0aGUgY29sbGVjdGlvbiAoZm9sZGVyIG5hbWUpLlxuXHQgKiBAcmV0dXJucyB7c3RyaW5nfSBUaGUgbmFtZS5cblx0ICovXG5cdHB1YmxpYyBnZXROYW1lKCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIHRoaXMubmF0aXZlLmdldE5hbWUoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIHRoZSBmdWxsIHJlcG9zaXRvcnkgcGF0aCBvZiB0aGUgY29sbGVjdGlvbi5cblx0ICogQHJldHVybnMge3N0cmluZ30gVGhlIHJlcG9zaXRvcnkgcGF0aC5cblx0ICovXG5cdHB1YmxpYyBnZXRQYXRoKCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIHRoaXMubmF0aXZlLmdldFBhdGgoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIHRoZSBwYXJlbnQgY29sbGVjdGlvbiAoZm9sZGVyKSBvZiB0aGlzIGNvbGxlY3Rpb24uXG5cdCAqIEByZXR1cm5zIHtDb2xsZWN0aW9ufSBUaGUgcGFyZW50IENvbGxlY3Rpb24gaW5zdGFuY2UuXG5cdCAqL1xuXHRwdWJsaWMgZ2V0UGFyZW50KCk6IENvbGxlY3Rpb24ge1xuXHRcdGNvbnN0IGNvbGxlY3Rpb25JbnN0YW5jZSA9IHRoaXMubmF0aXZlLmdldFBhcmVudCgpO1xuXHRcdHJldHVybiBuZXcgQ29sbGVjdGlvbihjb2xsZWN0aW9uSW5zdGFuY2UpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldHMgZGV0YWlsZWQgbWV0YWRhdGEgYWJvdXQgdGhlIGNvbGxlY3Rpb24uXG5cdCAqIEByZXR1cm5zIHtFbnRpdHlJbmZvcm1hdGlvbn0gVGhlIG1ldGFkYXRhIG9iamVjdC5cblx0ICovXG5cdHB1YmxpYyBnZXRJbmZvcm1hdGlvbigpOiBFbnRpdHlJbmZvcm1hdGlvbiB7XG5cdFx0Y29uc3QgaW5mb3JtYXRpb25JbnN0YW5jZSA9IHRoaXMubmF0aXZlLmdldEluZm9ybWF0aW9uKCk7XG5cdFx0cmV0dXJuIG5ldyBFbnRpdHlJbmZvcm1hdGlvbihpbmZvcm1hdGlvbkluc3RhbmNlKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBDcmVhdGVzIHRoZSBjb2xsZWN0aW9uIGlmIGl0IGRvZXMgbm90IGFscmVhZHkgZXhpc3QuXG5cdCAqL1xuXHRwdWJsaWMgY3JlYXRlKCk6IHZvaWQge1xuXHRcdHRoaXMubmF0aXZlLmNyZWF0ZSgpO1xuXHR9XG5cblx0LyoqXG5cdCAqIERlbGV0ZXMgdGhlIGNvbGxlY3Rpb24gZnJvbSB0aGUgcmVwb3NpdG9yeS5cblx0ICovXG5cdHB1YmxpYyBkZWxldGUoKTogdm9pZCB7XG5cdFx0dGhpcy5uYXRpdmUuZGVsZXRlKCk7XG5cdH1cblxuXHQvKipcblx0ICogUmVuYW1lcyB0aGUgY29sbGVjdGlvbiB3aXRoaW4gaXRzIGN1cnJlbnQgcGFyZW50LlxuXHQgKiBAcGFyYW0ge3N0cmluZ30gbmFtZSBUaGUgbmV3IG5hbWUgZm9yIHRoZSBjb2xsZWN0aW9uLlxuXHQgKi9cblx0cHVibGljIHJlbmFtZVRvKG5hbWU6IHN0cmluZyk6IHZvaWQge1xuXHRcdHRoaXMubmF0aXZlLnJlbmFtZVRvKG5hbWUpO1xuXHR9XG5cblx0LyoqXG5cdCAqIE1vdmVzIHRoZSBjb2xsZWN0aW9uIHRvIGEgbmV3IHBhdGguXG5cdCAqIEBwYXJhbSB7c3RyaW5nfSBwYXRoIFRoZSBuZXcgYWJzb2x1dGUgcGF0aCBmb3IgdGhlIGNvbGxlY3Rpb24uXG5cdCAqL1xuXHRwdWJsaWMgbW92ZVRvKHBhdGg6IHN0cmluZyk6IHZvaWQge1xuXHRcdHRoaXMubmF0aXZlLm1vdmVUbyhwYXRoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBDb3BpZXMgdGhlIGNvbGxlY3Rpb24gdG8gYSBuZXcgcGF0aC5cblx0ICogQHBhcmFtIHtzdHJpbmd9IHBhdGggVGhlIG5ldyBhYnNvbHV0ZSBwYXRoIGZvciB0aGUgY29waWVkIGNvbGxlY3Rpb24uXG5cdCAqL1xuXHRwdWJsaWMgY29weVRvKHBhdGg6IHN0cmluZyk6IHZvaWQge1xuXHRcdHRoaXMubmF0aXZlLmNvcHlUbyhwYXRoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBDaGVja3MgaWYgdGhlIGNvbGxlY3Rpb24gY3VycmVudGx5IGV4aXN0cyBpbiB0aGUgcmVwb3NpdG9yeS5cblx0ICogQHJldHVybnMge2Jvb2xlYW59IFRydWUgaWYgdGhlIGNvbGxlY3Rpb24gZXhpc3RzLCBmYWxzZSBvdGhlcndpc2UuXG5cdCAqL1xuXHRwdWJsaWMgZXhpc3RzKCk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiB0aGlzLm5hdGl2ZS5leGlzdHMoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBDaGVja3MgaWYgdGhlIGNvbGxlY3Rpb24gaXMgZW1wdHkgKGNvbnRhaW5zIG5vIGZpbGVzIG9yIHN1Yi1kaXJlY3RvcmllcykuXG5cdCAqIEByZXR1cm5zIHtib29sZWFufSBUcnVlIGlmIGVtcHR5LCBmYWxzZSBvdGhlcndpc2UuXG5cdCAqL1xuXHRwdWJsaWMgaXNFbXB0eSgpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gdGhpcy5uYXRpdmUuaXNFbXB0eSgpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldHMgdGhlIG5hbWVzIG9mIGFsbCBzdWItY29sbGVjdGlvbnMgKGZvbGRlcnMpIHdpdGhpbiB0aGlzIGNvbGxlY3Rpb24uXG5cdCAqIEByZXR1cm5zIHtzdHJpbmdbXX0gQW4gYXJyYXkgb2Ygc3ViLWNvbGxlY3Rpb24gbmFtZXMuXG5cdCAqL1xuXHRwdWJsaWMgZ2V0Q29sbGVjdGlvbnNOYW1lcygpOiBzdHJpbmdbXSB7XG5cdFx0cmV0dXJuIHRoaXMubmF0aXZlLmdldENvbGxlY3Rpb25zTmFtZXMoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBDcmVhdGVzIGEgbmV3IHN1Yi1jb2xsZWN0aW9uIChmb2xkZXIpIHdpdGhpbiB0aGlzIGNvbGxlY3Rpb24uXG5cdCAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lIFRoZSBuYW1lIG9mIHRoZSBuZXcgc3ViLWNvbGxlY3Rpb24uXG5cdCAqIEByZXR1cm5zIHtDb2xsZWN0aW9ufSBUaGUgbmV3bHkgY3JlYXRlZCBDb2xsZWN0aW9uIGluc3RhbmNlLlxuXHQgKi9cblx0cHVibGljIGNyZWF0ZUNvbGxlY3Rpb24obmFtZTogc3RyaW5nKTogQ29sbGVjdGlvbiB7XG5cdFx0Y29uc3QgY29sbGVjdGlvbkluc3RhbmNlID0gdGhpcy5uYXRpdmUuY3JlYXRlQ29sbGVjdGlvbihuYW1lKTtcblx0XHRyZXR1cm4gbmV3IENvbGxlY3Rpb24oY29sbGVjdGlvbkluc3RhbmNlKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIGEgc3BlY2lmaWMgc3ViLWNvbGxlY3Rpb24gYnkgbmFtZS5cblx0ICogQHBhcmFtIHtzdHJpbmd9IG5hbWUgVGhlIG5hbWUgb2YgdGhlIHN1Yi1jb2xsZWN0aW9uLlxuXHQgKiBAcmV0dXJucyB7Q29sbGVjdGlvbn0gVGhlIGNoaWxkIENvbGxlY3Rpb24gaW5zdGFuY2UuXG5cdCAqL1xuXHRwdWJsaWMgZ2V0Q29sbGVjdGlvbihuYW1lOiBzdHJpbmcpOiBDb2xsZWN0aW9uIHtcblx0XHRjb25zdCBjb2xsZWN0aW9uSW5zdGFuY2UgPSB0aGlzLm5hdGl2ZS5nZXRDb2xsZWN0aW9uKG5hbWUpO1xuXHRcdHJldHVybiBuZXcgQ29sbGVjdGlvbihjb2xsZWN0aW9uSW5zdGFuY2UpO1xuXHR9XG5cblx0LyoqXG5cdCAqIFJlbW92ZXMgYSBzdWItY29sbGVjdGlvbiBieSBuYW1lLlxuXHQgKiBAcGFyYW0ge3N0cmluZ30gbmFtZSBUaGUgbmFtZSBvZiB0aGUgc3ViLWNvbGxlY3Rpb24gdG8gcmVtb3ZlLlxuXHQgKi9cblx0cHVibGljIHJlbW92ZUNvbGxlY3Rpb24obmFtZTogc3RyaW5nKTogdm9pZCB7XG5cdFx0dGhpcy5uYXRpdmUucmVtb3ZlQ29sbGVjdGlvbihuYW1lKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIHRoZSBuYW1lcyBvZiBhbGwgcmVzb3VyY2VzIChmaWxlcykgd2l0aGluIHRoaXMgY29sbGVjdGlvbi5cblx0ICogQHJldHVybnMge3N0cmluZ1tdfSBBbiBhcnJheSBvZiByZXNvdXJjZSBuYW1lcy5cblx0ICovXG5cdHB1YmxpYyBnZXRSZXNvdXJjZXNOYW1lcygpOiBzdHJpbmdbXSB7XG5cdFx0cmV0dXJuIHRoaXMubmF0aXZlLmdldFJlc291cmNlc05hbWVzKCk7XG5cdH1cblxuXHQvKipcblx0ICogR2V0cyBhIHNwZWNpZmljIHJlc291cmNlIChmaWxlKSBieSBuYW1lLlxuXHQgKiBAcGFyYW0ge3N0cmluZ30gbmFtZSBUaGUgbmFtZSBvZiB0aGUgcmVzb3VyY2UuXG5cdCAqIEByZXR1cm5zIHtSZXNvdXJjZX0gVGhlIGNoaWxkIFJlc291cmNlIGluc3RhbmNlLlxuXHQgKi9cblx0cHVibGljIGdldFJlc291cmNlKG5hbWU6IHN0cmluZyk6IFJlc291cmNlIHtcblx0XHRjb25zdCByZXNvdXJjZUluc3RhbmNlID0gdGhpcy5uYXRpdmUuZ2V0UmVzb3VyY2UobmFtZSk7XG5cdFx0cmV0dXJuIG5ldyBSZXNvdXJjZShyZXNvdXJjZUluc3RhbmNlKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBSZW1vdmVzIGEgcmVzb3VyY2UgKGZpbGUpIGJ5IG5hbWUuXG5cdCAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lIFRoZSBuYW1lIG9mIHRoZSByZXNvdXJjZSB0byByZW1vdmUuXG5cdCAqL1xuXHRwdWJsaWMgcmVtb3ZlUmVzb3VyY2UobmFtZTogc3RyaW5nKTogdm9pZCB7XG5cdFx0dGhpcy5uYXRpdmUucmVtb3ZlUmVzb3VyY2UobmFtZSk7XG5cdH1cblxuXHQvKipcblx0ICogQ3JlYXRlcyBhIG5ldyByZXNvdXJjZSAoZmlsZSkgd2l0aGluIHRoaXMgY29sbGVjdGlvbi5cblx0ICogQHBhcmFtIHtzdHJpbmd9IG5hbWUgVGhlIG5hbWUgb2YgdGhlIG5ldyByZXNvdXJjZS5cblx0ICogQHBhcmFtIHtzdHJpbmd9IGNvbnRlbnQgVGhlIHN0cmluZyBjb250ZW50IGZvciB0aGUgcmVzb3VyY2UuXG5cdCAqIEByZXR1cm5zIHtSZXNvdXJjZX0gVGhlIG5ld2x5IGNyZWF0ZWQgUmVzb3VyY2UgaW5zdGFuY2UuXG5cdCAqL1xuXHRwdWJsaWMgY3JlYXRlUmVzb3VyY2UobmFtZTogc3RyaW5nLCBjb250ZW50OiBzdHJpbmcpOiBSZXNvdXJjZSB7XG5cdFx0Y29uc3QgcmVzb3VyY2VJbnN0YW5jZSA9IHRoaXMubmF0aXZlLmNyZWF0ZVJlc291cmNlKG5hbWUsIGNvbnRlbnQpO1xuXHRcdHJldHVybiBuZXcgUmVzb3VyY2UocmVzb3VyY2VJbnN0YW5jZSk7XG5cdH1cbn1cblxuLyoqXG4gKiBAY2xhc3MgRW50aXR5SW5mb3JtYXRpb25cbiAqIEBkZXNjcmlwdGlvbiBSZXByZXNlbnRzIGRldGFpbGVkIG1ldGFkYXRhIChjcmVhdGlvbiBkYXRlLCBzaXplLCBwZXJtaXNzaW9ucywgZXRjLikgZm9yIGFcbiAqIFJlc291cmNlIG9yIENvbGxlY3Rpb24uXG4gKi9cbmV4cG9ydCBjbGFzcyBFbnRpdHlJbmZvcm1hdGlvbiB7XG5cdHByaXZhdGUgcmVhZG9ubHkgbmF0aXZlOiBhbnk7XG5cblx0LyoqXG5cdCAqIEBjb25zdHJ1Y3RvclxuXHQgKiBAcGFyYW0ge2FueX0gbmF0aXZlIFRoZSBuYXRpdmUgSmF2YSBvYmplY3QgaW5zdGFuY2UgaG9sZGluZyB0aGUgZW50aXR5IGluZm9ybWF0aW9uLlxuXHQgKi9cblx0Y29uc3RydWN0b3IobmF0aXZlOiBhbnkpIHtcblx0XHR0aGlzLm5hdGl2ZSA9IG5hdGl2ZTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIHRoZSBuYW1lIG9mIHRoZSBlbnRpdHkgKHJlc291cmNlIG9yIGNvbGxlY3Rpb24pLlxuXHQgKiBAcmV0dXJucyB7c3RyaW5nfSBUaGUgbmFtZS5cblx0ICovXG5cdHB1YmxpYyBnZXROYW1lKCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIHRoaXMubmF0aXZlLmdldE5hbWUoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIHRoZSBmdWxsIHJlcG9zaXRvcnkgcGF0aCBvZiB0aGUgZW50aXR5LlxuXHQgKiBAcmV0dXJucyB7c3RyaW5nfSBUaGUgcmVwb3NpdG9yeSBwYXRoLlxuXHQgKi9cblx0cHVibGljIGdldFBhdGgoKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gdGhpcy5uYXRpdmUuZ2V0UGF0aCgpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldHMgdGhlIGFjY2VzcyBwZXJtaXNzaW9ucyBmb3IgdGhlIGVudGl0eSAodHlwaWNhbGx5IGFuIGludGVnZXIgYml0bWFzaykuXG5cdCAqIEByZXR1cm5zIHtudW1iZXJ9IFRoZSBwZXJtaXNzaW9ucyB2YWx1ZS5cblx0ICovXG5cdHB1YmxpYyBnZXRQZXJtaXNzaW9ucygpOiBudW1iZXIge1xuXHRcdHJldHVybiB0aGlzLm5hdGl2ZS5nZXRQZXJtaXNzaW9ucygpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldHMgdGhlIHNpemUgb2YgdGhlIHJlc291cmNlIGNvbnRlbnQgaW4gYnl0ZXMgKDAgZm9yIGEgY29sbGVjdGlvbikuXG5cdCAqIEByZXR1cm5zIHtudW1iZXJ9IFRoZSBzaXplIGluIGJ5dGVzLlxuXHQgKi9cblx0cHVibGljIGdldFNpemUoKTogbnVtYmVyIHtcblx0XHRyZXR1cm4gdGhpcy5uYXRpdmUuZ2V0U2l6ZSgpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldHMgdGhlIHVzZXIgd2hvIGNyZWF0ZWQgdGhlIGVudGl0eS5cblx0ICogQHJldHVybnMge3N0cmluZ30gVGhlIGNyZWF0b3IncyBuYW1lLlxuXHQgKi9cblx0cHVibGljIGdldENyZWF0ZWRCeSgpOiBzdHJpbmcge1xuXHRcdHJldHVybiB0aGlzLm5hdGl2ZS5nZXRDcmVhdGVkQnkoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIHRoZSBjcmVhdGlvbiB0aW1lc3RhbXAuXG5cdCAqIEByZXR1cm5zIHtEYXRlfSBUaGUgY3JlYXRpb24gZGF0ZSBhbmQgdGltZS5cblx0ICovXG5cdHB1YmxpYyBnZXRDcmVhdGVkQXQoKTogRGF0ZSB7XG5cdFx0cmV0dXJuIHRoaXMubmF0aXZlLmdldENyZWF0ZWRBdCgpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldHMgdGhlIHVzZXIgd2hvIGxhc3QgbW9kaWZpZWQgdGhlIGVudGl0eS5cblx0ICogQHJldHVybnMge3N0cmluZ30gVGhlIG1vZGlmaWVyJ3MgbmFtZS5cblx0ICovXG5cdHB1YmxpYyBnZXRNb2RpZmllZEJ5KCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIHRoaXMubmF0aXZlLmdldE1vZGlmaWVkQnkoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIHRoZSBsYXN0IG1vZGlmaWNhdGlvbiB0aW1lc3RhbXAuXG5cdCAqIEByZXR1cm5zIHtEYXRlfSBUaGUgbW9kaWZpY2F0aW9uIGRhdGUgYW5kIHRpbWUuXG5cdCAqL1xuXHRwdWJsaWMgZ2V0TW9kaWZpZWRBdCgpOiBEYXRlIHtcblx0XHRyZXR1cm4gdGhpcy5uYXRpdmUuZ2V0TW9kaWZpZWRBdCgpO1xuXHR9XG59XG5cbi8vIEB0cy1pZ25vcmVcbmlmICh0eXBlb2YgbW9kdWxlICE9PSAndW5kZWZpbmVkJykge1xuXHQvLyBAdHMtaWdub3JlXG5cdG1vZHVsZS5leHBvcnRzID0gUmVwb3NpdG9yeTtcbn1cbiJdLAogICJtYXBwaW5n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
501
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3BsYXRmb3JtL3JlcG9zaXRvcnkudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQG1vZHVsZSBwbGF0Zm9ybS9yZXBvc2l0b3J5XG4gKiBAcGFja2FnZSBAYWVyb2tpdC9zZGsvcGxhdGZvcm1cbiAqIEBuYW1lIFJlcG9zaXRvcnlcbiAqIEBvdmVydmlld1xuICogXG4gKiBUaGUgUmVwb3NpdG9yeSBtb2R1bGUgcHJvdmlkZXMgYSB3cmFwcGVyIGZvciB0aGUgcGxhdGZvcm0ncyBSZXBvc2l0b3J5RmFjYWRlLCBhbGxvd2luZyBkZXZlbG9wZXJzIHRvIG1hbmFnZSBmaWxlcyAoUmVzb3VyY2VzKSBhbmQgZm9sZGVycyAoQ29sbGVjdGlvbnMpIHdpdGhpbiB0aGUgcmVwb3NpdG9yeS4gSXQgb2ZmZXJzIGhpZ2gtbGV2ZWwgbWV0aG9kcyBmb3IgY3JlYXRpbmcsIHJldHJpZXZpbmcsIHVwZGF0aW5nLCBhbmQgZGVsZXRpbmcgcmVzb3VyY2VzIGFuZCBjb2xsZWN0aW9ucyBieSB0aGVpciBwYXRocywgYXMgd2VsbCBhcyBoYW5kbGluZyBjb250ZW50IGluIGJvdGggc3RyaW5nIGFuZCBieXRlIGFycmF5IGZvcm1hdHMuIFRoZSBtb2R1bGUgYWJzdHJhY3RzIHRoZSBjb21wbGV4aXRpZXMgb2YgcmVwb3NpdG9yeSBpbnRlcmFjdGlvbnMsIHByb3ZpZGluZyBhIHNpbXBsZSBpbnRlcmZhY2UgZm9yIGZpbGUgbWFuYWdlbWVudCBvcGVyYXRpb25zLlxuICogXG4gKiAjIyMgS2V5IEZlYXR1cmVzOlxuICogLSAqKlJlc291cmNlIE1hbmFnZW1lbnQqKjogQ3JlYXRlLCByZXRyaWV2ZSwgdXBkYXRlLCBhbmQgZGVsZXRlIHJlc291cmNlcyAoZmlsZXMpIHdpdGggc3VwcG9ydCBmb3IgYm90aCB0ZXh0IGFuZCBiaW5hcnkgY29udGVudC5cbiAqIC0gKipDb2xsZWN0aW9uIE1hbmFnZW1lbnQqKjogQ3JlYXRlLCByZXRyaWV2ZSwgYW5kIGRlbGV0ZSBjb2xsZWN0aW9ucyAoZm9sZGVycyksIGFzIHdlbGwgYXMgbWFuYWdlIHRoZWlyIGNvbnRlbnRzLlxuICogLSAqKk1ldGFkYXRhIEFjY2VzcyoqOiBSZXRyaWV2ZSBkZXRhaWxlZCBpbmZvcm1hdGlvbiBhYm91dCByZXNvdXJjZXMgYW5kIGNvbGxlY3Rpb25zLCBpbmNsdWRpbmcgcGVybWlzc2lvbnMsIHNpemUsIGFuZCB0aW1lc3RhbXBzLlxuICogLSAqKlNlYXJjaCBGdW5jdGlvbmFsaXR5Kio6IFNlYXJjaCBmb3IgcmVzb3VyY2VzIHVzaW5nIGdsb2IgcGF0dGVybnMgdG8gZmluZCBmaWxlcyBtYXRjaGluZyBzcGVjaWZpYyBjcml0ZXJpYS5cbiAqIFxuICogIyMjIFVzZSBDYXNlczpcbiAqIC0gKipGaWxlIFN0b3JhZ2UqKjogVGhpcyBtb2R1bGUgaXMgaWRlYWwgZm9yIGFwcGxpY2F0aW9ucyB0aGF0IG5lZWQgdG8gc3RvcmUgYW5kIG1hbmFnZSBmaWxlcyB3aXRoaW4gdGhlIHBsYXRmb3JtJ3MgcmVwb3NpdG9yeSwgc3VjaCBhcyBjb25maWd1cmF0aW9uIGZpbGVzLCBkYXRhIGV4cG9ydHMsIG9yIHVzZXItZ2VuZXJhdGVkIGNvbnRlbnQuXG4gKiAtICoqQ29udGVudCBNYW5hZ2VtZW50Kio6IERldmVsb3BlcnMgY2FuIHVzZSB0aGlzIG1vZHVsZSB0byBvcmdhbml6ZSBmaWxlcyBpbnRvIGNvbGxlY3Rpb25zIChmb2xkZXJzKSBhbmQgbWFuYWdlIHRoZWlyIGxpZmVjeWNsZSBlZmZlY3RpdmVseS5cbiAqIFxuICogIyMjIEV4YW1wbGUgVXNhZ2U6XG4gKiBgYGB0c1xuICogaW1wb3J0IHsgUmVwb3NpdG9yeSB9IGZyb20gXCJAYWVyb2tpdC9zZGsvcGxhdGZvcm1cIjtcbiAqIFxuICogLy8gQ3JlYXRlIGEgbmV3IHJlc291cmNlIHdpdGggdGV4dCBjb250ZW50XG4gKiBjb25zdCByZXNvdXJjZSA9IFJlcG9zaXRvcnkuY3JlYXRlUmVzb3VyY2UoXCIvbXlwcm9qZWN0L2RhdGEudHh0XCIsIFwiSGVsbG8sIFJlcG9zaXRvcnkhXCIsIFwidGV4dC9wbGFpblwiKTtcbiAqIGNvbnNvbGUubG9nKFwiUmVzb3VyY2UgY3JlYXRlZCBhdCBwYXRoOlwiLCByZXNvdXJjZS5nZXRQYXRoKCkpO1xuICogXG4gKiAvLyBVcGRhdGUgdGhlIHJlc291cmNlIGNvbnRlbnQgd2l0aCBiaW5hcnkgZGF0YVxuICogY29uc3QgYmluYXJ5Q29udGVudCA9IFsweDQ4LCAweDY1LCAweDZDLCAweDZDLCAweDZGXTsgLy8gXCJIZWxsb1wiIGluIGJ5dGVzXG4gKiByZXNvdXJjZS5zZXRDb250ZW50KGJpbmFyeUNvbnRlbnQpO1xuICogY29uc29sZS5sb2coXCJSZXNvdXJjZSBjb250ZW50IHVwZGF0ZWQgd2l0aCBiaW5hcnkgZGF0YS5cIik7XG4gKiBcbiAqIC8vIENyZWF0ZSBhIG5ldyBjb2xsZWN0aW9uIChmb2xkZXIpXG4gKiBjb25zdCBjb2xsZWN0aW9uID0gUmVwb3NpdG9yeS5jcmVhdGVDb2xsZWN0aW9uKFwiL215cHJvamVjdC9kb2N1bWVudHNcIik7XG4gKiBjb25zb2xlLmxvZyhcIkNvbGxlY3Rpb24gY3JlYXRlZCBhdCBwYXRoOlwiLCBjb2xsZWN0aW9uLmdldFBhdGgoKSk7XG4gKiBcbiAqIC8vIE1vdmUgdGhlIHJlc291cmNlIGludG8gdGhlIG5ldyBjb2xsZWN0aW9uXG4gKiByZXNvdXJjZS5tb3ZlVG8oXCIvbXlwcm9qZWN0L2RvY3VtZW50cy9kYXRhLnR4dFwiKTtcbiAqIGNvbnNvbGUubG9nKFwiUmVzb3VyY2UgbW92ZWQgdG8gbmV3IHBhdGg6XCIsIHJlc291cmNlLmdldFBhdGgoKSk7XG4gKiBgYGBcbiAqL1xuXG5pbXBvcnQgeyBCeXRlcyB9IGZyb20gXCJAYWVyb2tpdC9zZGsvaW8vYnl0ZXNcIjtcblxuY29uc3QgUmVwb3NpdG9yeUZhY2FkZSA9IEphdmEudHlwZShcIm9yZy5lY2xpcHNlLmRpcmlnaWJsZS5jb21wb25lbnRzLmFwaS5wbGF0Zm9ybS5SZXBvc2l0b3J5RmFjYWRlXCIpO1xuXG4vKipcbiAqIEBjbGFzcyBSZXBvc2l0b3J5XG4gKiBAZGVzY3JpcHRpb24gU3RhdGljIHV0aWxpdHkgY2xhc3MgcHJvdmlkaW5nIGhpZ2gtbGV2ZWwgbWV0aG9kcyBmb3IgaW50ZXJhY3Rpbmcgd2l0aCB0aGVcbiAqIHJlcG9zaXRvcnkgZmFjYWRlIHRvIG1hbmFnZSByZXNvdXJjZXMgYW5kIGNvbGxlY3Rpb25zIGJ5IHBhdGguXG4gKi9cbmV4cG9ydCBjbGFzcyBSZXBvc2l0b3J5IHtcblxuXHQvKipcblx0ICogUmV0cmlldmVzIGEgcmVzb3VyY2UgKGZpbGUpIG9iamVjdCBmcm9tIHRoZSByZXBvc2l0b3J5IGJ5IGl0cyBwYXRoLlxuXHQgKlxuXHQgKiBAcGFyYW0ge3N0cmluZ30gcGF0aCBUaGUgYWJzb2x1dGUgcGF0aCB0byB0aGUgcmVzb3VyY2UuXG5cdCAqIEByZXR1cm5zIHtSZXNvdXJjZX0gQSBSZXNvdXJjZSBpbnN0YW5jZSB3cmFwcGluZyB0aGUgbmF0aXZlIHJlcG9zaXRvcnkgb2JqZWN0LlxuXHQgKi9cblx0cHVibGljIHN0YXRpYyBnZXRSZXNvdXJjZShwYXRoOiBzdHJpbmcpOiBSZXNvdXJjZSB7XG5cdFx0Y29uc3QgcmVzb3VyY2VJbnN0YW5jZSA9IFJlcG9zaXRvcnlGYWNhZGUuZ2V0UmVzb3VyY2UocGF0aCk7XG5cdFx0cmV0dXJuIG5ldyBSZXNvdXJjZShyZXNvdXJjZUluc3RhbmNlKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBDcmVhdGVzIGEgbmV3IHJlc291cmNlIChmaWxlKSB3aXRoIGNvbnRlbnQgcHJvdmlkZWQgYXMgYSBzdHJpbmcuXG5cdCAqXG5cdCAqIEBwYXJhbSB7c3RyaW5nfSBwYXRoIFRoZSBhYnNvbHV0ZSBwYXRoIHdoZXJlIHRoZSByZXNvdXJjZSBzaG91bGQgYmUgY3JlYXRlZC5cblx0ICogQHBhcmFtIHtzdHJpbmd9IGNvbnRlbnQgVGhlIHN0cmluZyBjb250ZW50IGZvciB0aGUgcmVzb3VyY2UuXG5cdCAqIEBwYXJhbSB7c3RyaW5nfSBjb250ZW50VHlwZSBUaGUgTUlNRSB0eXBlIG9mIHRoZSBjb250ZW50IChlLmcuLCBcInRleHQvcGxhaW5cIikuXG5cdCAqIEByZXR1cm5zIHtSZXNvdXJjZX0gVGhlIG5ld2x5IGNyZWF0ZWQgUmVzb3VyY2UgaW5zdGFuY2UuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIGNyZWF0ZVJlc291cmNlKHBhdGg6IHN0cmluZywgY29udGVudDogc3RyaW5nLCBjb250ZW50VHlwZTogc3RyaW5nKTogUmVzb3VyY2Uge1xuXHRcdGNvbnN0IHJlc291cmNlSW5zdGFuY2UgPSBSZXBvc2l0b3J5RmFjYWRlLmNyZWF0ZVJlc291cmNlKHBhdGgsIGNvbnRlbnQsIGNvbnRlbnRUeXBlKTtcblx0XHRyZXR1cm4gbmV3IFJlc291cmNlKHJlc291cmNlSW5zdGFuY2UpO1xuXHR9XG5cblx0LyoqXG5cdCAqIENyZWF0ZXMgYSBuZXcgcmVzb3VyY2UgKGZpbGUpIHdpdGggY29udGVudCBwcm92aWRlZCBhcyBhIG5hdGl2ZSBieXRlIGFycmF5LlxuXHQgKlxuXHQgKiBAcGFyYW0ge3N0cmluZ30gcGF0aCBUaGUgYWJzb2x1dGUgcGF0aCB3aGVyZSB0aGUgcmVzb3VyY2Ugc2hvdWxkIGJlIGNyZWF0ZWQuXG5cdCAqIEBwYXJhbSB7YW55W119IGNvbnRlbnQgVGhlIG5hdGl2ZSBieXRlIGFycmF5IGNvbnRlbnQuXG5cdCAqIEBwYXJhbSB7c3RyaW5nfSBjb250ZW50VHlwZSBUaGUgTUlNRSB0eXBlIG9mIHRoZSBjb250ZW50LlxuXHQgKiBAcmV0dXJucyB7UmVzb3VyY2V9IFRoZSBuZXdseSBjcmVhdGVkIFJlc291cmNlIGluc3RhbmNlLlxuXHQgKi9cblx0cHVibGljIHN0YXRpYyBjcmVhdGVSZXNvdXJjZU5hdGl2ZShwYXRoOiBzdHJpbmcsIGNvbnRlbnQ6IGFueVtdLCBjb250ZW50VHlwZTogc3RyaW5nKTogUmVzb3VyY2Uge1xuXHRcdGNvbnN0IHJlc291cmNlSW5zdGFuY2UgPSBSZXBvc2l0b3J5RmFjYWRlLmNyZWF0ZVJlc291cmNlTmF0aXZlKHBhdGgsIGNvbnRlbnQsIGNvbnRlbnRUeXBlKTtcblx0XHRyZXR1cm4gbmV3IFJlc291cmNlKHJlc291cmNlSW5zdGFuY2UpO1xuXHR9XG5cblx0LyoqXG5cdCAqIFVwZGF0ZXMgdGhlIGNvbnRlbnQgb2YgYW4gZXhpc3RpbmcgcmVzb3VyY2UgdXNpbmcgYSBzdHJpbmcuXG5cdCAqXG5cdCAqIEBwYXJhbSB7c3RyaW5nfSBwYXRoIFRoZSBhYnNvbHV0ZSBwYXRoIHRvIHRoZSByZXNvdXJjZSB0byB1cGRhdGUuXG5cdCAqIEBwYXJhbSB7c3RyaW5nfSBjb250ZW50IFRoZSBuZXcgc3RyaW5nIGNvbnRlbnQuXG5cdCAqIEByZXR1cm5zIHtSZXNvdXJjZX0gVGhlIHVwZGF0ZWQgUmVzb3VyY2UgaW5zdGFuY2UuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIHVwZGF0ZVJlc291cmNlKHBhdGg6IHN0cmluZywgY29udGVudDogc3RyaW5nKTogUmVzb3VyY2Uge1xuXHRcdGNvbnN0IHJlc291cmNlSW5zdGFuY2UgPSBSZXBvc2l0b3J5RmFjYWRlLnVwZGF0ZVJlc291cmNlKHBhdGgsIGNvbnRlbnQpO1xuXHRcdHJldHVybiBuZXcgUmVzb3VyY2UocmVzb3VyY2VJbnN0YW5jZSk7XG5cdH1cblxuXHQvKipcblx0ICogVXBkYXRlcyB0aGUgY29udGVudCBvZiBhbiBleGlzdGluZyByZXNvdXJjZSB1c2luZyBhIG5hdGl2ZSBieXRlIGFycmF5LlxuXHQgKlxuXHQgKiBAcGFyYW0ge3N0cmluZ30gcGF0aCBUaGUgYWJzb2x1dGUgcGF0aCB0byB0aGUgcmVzb3VyY2UgdG8gdXBkYXRlLlxuXHQgKiBAcGFyYW0ge2FueVtdfSBjb250ZW50IFRoZSBuZXcgbmF0aXZlIGJ5dGUgYXJyYXkgY29udGVudC5cblx0ICogQHJldHVybnMge1Jlc291cmNlfSBUaGUgdXBkYXRlZCBSZXNvdXJjZSBpbnN0YW5jZS5cblx0ICovXG5cdHB1YmxpYyBzdGF0aWMgdXBkYXRlUmVzb3VyY2VOYXRpdmUocGF0aDogc3RyaW5nLCBjb250ZW50OiBhbnlbXSk6IFJlc291cmNlIHtcblx0XHRjb25zdCByZXNvdXJjZUluc3RhbmNlID0gUmVwb3NpdG9yeUZhY2FkZS51cGRhdGVSZXNvdXJjZU5hdGl2ZShwYXRoLCBjb250ZW50KTtcblx0XHRyZXR1cm4gbmV3IFJlc291cmNlKHJlc291cmNlSW5zdGFuY2UpO1xuXHR9XG5cblx0LyoqXG5cdCAqIERlbGV0ZXMgdGhlIHJlc291cmNlIChmaWxlKSBhdCB0aGUgc3BlY2lmaWVkIHBhdGguXG5cdCAqXG5cdCAqIEBwYXJhbSB7c3RyaW5nfSBwYXRoIFRoZSBhYnNvbHV0ZSBwYXRoIG9mIHRoZSByZXNvdXJjZSB0byBkZWxldGUuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIGRlbGV0ZVJlc291cmNlKHBhdGg6IHN0cmluZyk6IHZvaWQge1xuXHRcdFJlcG9zaXRvcnlGYWNhZGUuZGVsZXRlUmVzb3VyY2UocGF0aCk7XG5cdH1cblxuXHQvKipcblx0ICogUmV0cmlldmVzIGEgY29sbGVjdGlvbiAoZm9sZGVyKSBvYmplY3QgZnJvbSB0aGUgcmVwb3NpdG9yeSBieSBpdHMgcGF0aC5cblx0ICpcblx0ICogQHBhcmFtIHtzdHJpbmd9IHBhdGggVGhlIGFic29sdXRlIHBhdGggdG8gdGhlIGNvbGxlY3Rpb24uXG5cdCAqIEByZXR1cm5zIHtDb2xsZWN0aW9ufSBBIENvbGxlY3Rpb24gaW5zdGFuY2Ugd3JhcHBpbmcgdGhlIG5hdGl2ZSByZXBvc2l0b3J5IG9iamVjdC5cblx0ICovXG5cdHB1YmxpYyBzdGF0aWMgZ2V0Q29sbGVjdGlvbihwYXRoOiBzdHJpbmcpOiBDb2xsZWN0aW9uIHtcblx0XHRjb25zdCBjb2xsZWN0aW9uSW5zdGFuY2UgPSBSZXBvc2l0b3J5RmFjYWRlLmdldENvbGxlY3Rpb24ocGF0aCk7XG5cdFx0cmV0dXJuIG5ldyBDb2xsZWN0aW9uKGNvbGxlY3Rpb25JbnN0YW5jZSk7XG5cdH1cblxuXHQvKipcblx0ICogQ3JlYXRlcyBhIG5ldyBjb2xsZWN0aW9uIChmb2xkZXIpIGF0IHRoZSBzcGVjaWZpZWQgcGF0aC5cblx0ICpcblx0ICogQHBhcmFtIHtzdHJpbmd9IHBhdGggVGhlIGFic29sdXRlIHBhdGggd2hlcmUgdGhlIGNvbGxlY3Rpb24gc2hvdWxkIGJlIGNyZWF0ZWQuXG5cdCAqIEByZXR1cm5zIHtDb2xsZWN0aW9ufSBUaGUgbmV3bHkgY3JlYXRlZCBDb2xsZWN0aW9uIGluc3RhbmNlLlxuXHQgKi9cblx0cHVibGljIHN0YXRpYyBjcmVhdGVDb2xsZWN0aW9uKHBhdGg6IHN0cmluZyk6IENvbGxlY3Rpb24ge1xuXHRcdGNvbnN0IGNvbGxlY3Rpb25JbnN0YW5jZSA9IFJlcG9zaXRvcnlGYWNhZGUuY3JlYXRlQ29sbGVjdGlvbihwYXRoKTtcblx0XHRyZXR1cm4gbmV3IENvbGxlY3Rpb24oY29sbGVjdGlvbkluc3RhbmNlKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBEZWxldGVzIHRoZSBjb2xsZWN0aW9uIChmb2xkZXIpIGF0IHRoZSBzcGVjaWZpZWQgcGF0aC5cblx0ICpcblx0ICogQHBhcmFtIHtzdHJpbmd9IHBhdGggVGhlIGFic29sdXRlIHBhdGggb2YgdGhlIGNvbGxlY3Rpb24gdG8gZGVsZXRlLlxuXHQgKi9cblx0cHVibGljIHN0YXRpYyBkZWxldGVDb2xsZWN0aW9uKHBhdGg6IHN0cmluZyk6IHZvaWQge1xuXHRcdFJlcG9zaXRvcnlGYWNhZGUuZGVsZXRlQ29sbGVjdGlvbihwYXRoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBTZWFyY2hlcyB0aGUgcmVwb3NpdG9yeSBzdGFydGluZyBmcm9tIGEgZ2l2ZW4gcGF0aCBmb3IgcmVzb3VyY2VzIG1hdGNoaW5nIGEgZ2xvYiBwYXR0ZXJuLlxuXHQgKlxuXHQgKiBAcGFyYW0ge3N0cmluZ30gcGF0aCBUaGUgc3RhcnRpbmcgcGF0aCBmb3IgdGhlIHNlYXJjaC5cblx0ICogQHBhcmFtIHtzdHJpbmd9IHBhdHRlcm4gVGhlIGdsb2IgcGF0dGVybiB0byBtYXRjaCByZXNvdXJjZSBuYW1lcyBhZ2FpbnN0IChlLmcuLCBcIiouanNcIikuXG5cdCAqIEByZXR1cm5zIHtzdHJpbmdbXX0gQW4gYXJyYXkgb2YgcmVwb3NpdG9yeSBwYXRocyAoc3RyaW5ncykgdGhhdCBtYXRjaCB0aGUgc2VhcmNoIGNyaXRlcmlhLlxuXHQgKi9cblx0cHVibGljIHN0YXRpYyBmaW5kKHBhdGg6IHN0cmluZywgcGF0dGVybjogc3RyaW5nKTogc3RyaW5nW10ge1xuXHRcdHJldHVybiBKU09OLnBhcnNlKFJlcG9zaXRvcnlGYWNhZGUuZmluZChwYXRoLCBwYXR0ZXJuKSk7XG5cdH1cbn1cblxuLyoqXG4gKiBAY2xhc3MgUmVzb3VyY2VcbiAqIEBkZXNjcmlwdGlvbiBSZXByZXNlbnRzIGEgZmlsZSBvciByZXNvdXJjZSAobm9uLWNvbGxlY3Rpb24pIHdpdGhpbiB0aGUgUmVwb3NpdG9yeSxcbiAqIHByb3ZpZGluZyBpbnN0YW5jZSBtZXRob2RzIGZvciBmaWxlIG9wZXJhdGlvbnMuXG4gKi9cbmV4cG9ydCBjbGFzcyBSZXNvdXJjZSB7XG5cdHByaXZhdGUgcmVhZG9ubHkgbmF0aXZlOiBhbnk7XG5cblx0LyoqXG5cdCAqIEBjb25zdHJ1Y3RvclxuXHQgKiBAcGFyYW0ge2FueX0gbmF0aXZlIFRoZSBuYXRpdmUgSmF2YSBvYmplY3QgaW5zdGFuY2UgcmVwcmVzZW50aW5nIHRoZSByZXBvc2l0b3J5IHJlc291cmNlLlxuXHQgKi9cblx0Y29uc3RydWN0b3IobmF0aXZlOiBhbnkpIHtcblx0XHR0aGlzLm5hdGl2ZSA9IG5hdGl2ZTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIHRoZSBuYW1lIG9mIHRoZSByZXNvdXJjZSAoZmlsZSBuYW1lKS5cblx0ICogQHJldHVybnMge3N0cmluZ30gVGhlIG5hbWUuXG5cdCAqL1xuXHRwdWJsaWMgZ2V0TmFtZSgpOiBzdHJpbmcge1xuXHRcdHJldHVybiB0aGlzLm5hdGl2ZS5nZXROYW1lKCk7XG5cdH1cblxuXHQvKipcblx0ICogR2V0cyB0aGUgZnVsbCByZXBvc2l0b3J5IHBhdGggb2YgdGhlIHJlc291cmNlLlxuXHQgKiBAcmV0dXJucyB7c3RyaW5nfSBUaGUgcmVwb3NpdG9yeSBwYXRoLlxuXHQgKi9cblx0cHVibGljIGdldFBhdGgoKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gdGhpcy5uYXRpdmUuZ2V0UGF0aCgpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldHMgdGhlIHBhcmVudCBjb2xsZWN0aW9uIChmb2xkZXIpIG9mIHRoaXMgcmVzb3VyY2UuXG5cdCAqIEByZXR1cm5zIHtDb2xsZWN0aW9ufSBUaGUgcGFyZW50IENvbGxlY3Rpb24gaW5zdGFuY2UuXG5cdCAqL1xuXHRwdWJsaWMgZ2V0UGFyZW50KCk6IENvbGxlY3Rpb24ge1xuXHRcdGNvbnN0IGNvbGxlY3Rpb25JbnN0YW5jZSA9IHRoaXMubmF0aXZlLmdldFBhcmVudCgpO1xuXHRcdHJldHVybiBuZXcgQ29sbGVjdGlvbihjb2xsZWN0aW9uSW5zdGFuY2UpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldHMgZGV0YWlsZWQgbWV0YWRhdGEgYWJvdXQgdGhlIHJlc291cmNlLlxuXHQgKiBAcmV0dXJucyB7RW50aXR5SW5mb3JtYXRpb259IFRoZSBtZXRhZGF0YSBvYmplY3QuXG5cdCAqL1xuXHRwdWJsaWMgZ2V0SW5mb3JtYXRpb24oKTogRW50aXR5SW5mb3JtYXRpb24ge1xuXHRcdGNvbnN0IGluZm9ybWF0aW9uSW5zdGFuY2UgPSB0aGlzLm5hdGl2ZS5nZXRJbmZvcm1hdGlvbigpO1xuXHRcdHJldHVybiBuZXcgRW50aXR5SW5mb3JtYXRpb24oaW5mb3JtYXRpb25JbnN0YW5jZSk7XG5cdH1cblxuXHQvKipcblx0ICogQ3JlYXRlcyB0aGUgcmVzb3VyY2UgaWYgaXQgZG9lcyBub3QgYWxyZWFkeSBleGlzdC5cblx0ICovXG5cdHB1YmxpYyBjcmVhdGUoKTogdm9pZCB7XG5cdFx0dGhpcy5uYXRpdmUuY3JlYXRlKCk7XG5cdH1cblxuXHQvKipcblx0ICogRGVsZXRlcyB0aGUgcmVzb3VyY2UgZnJvbSB0aGUgcmVwb3NpdG9yeS5cblx0ICovXG5cdHB1YmxpYyBkZWxldGUoKTogdm9pZCB7XG5cdFx0dGhpcy5uYXRpdmUuZGVsZXRlKCk7XG5cdH1cblxuXHQvKipcblx0ICogUmVuYW1lcyB0aGUgcmVzb3VyY2Ugd2l0aGluIGl0cyBjdXJyZW50IGNvbGxlY3Rpb24uXG5cdCAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lIFRoZSBuZXcgbmFtZSBmb3IgdGhlIHJlc291cmNlLlxuXHQgKi9cblx0cHVibGljIHJlbmFtZVRvKG5hbWU6IHN0cmluZyk6IHZvaWQge1xuXHRcdHRoaXMubmF0aXZlLnJlbmFtZVRvKG5hbWUpO1xuXHR9XG5cblx0LyoqXG5cdCAqIE1vdmVzIHRoZSByZXNvdXJjZSB0byBhIG5ldyBwYXRoLlxuXHQgKiBAcGFyYW0ge3N0cmluZ30gcGF0aCBUaGUgbmV3IGFic29sdXRlIHBhdGggZm9yIHRoZSByZXNvdXJjZS5cblx0ICovXG5cdHB1YmxpYyBtb3ZlVG8ocGF0aDogc3RyaW5nKTogdm9pZCB7XG5cdFx0dGhpcy5uYXRpdmUubW92ZVRvKHBhdGgpO1xuXHR9XG5cblx0LyoqXG5cdCAqIENvcGllcyB0aGUgcmVzb3VyY2UgdG8gYSBuZXcgcGF0aC5cblx0ICogQHBhcmFtIHtzdHJpbmd9IHBhdGggVGhlIG5ldyBhYnNvbHV0ZSBwYXRoIGZvciB0aGUgY29waWVkIHJlc291cmNlLlxuXHQgKi9cblx0cHVibGljIGNvcHlUbyhwYXRoOiBzdHJpbmcpOiB2b2lkIHtcblx0XHR0aGlzLm5hdGl2ZS5jb3B5VG8ocGF0aCk7XG5cdH1cblxuXHQvKipcblx0ICogQ2hlY2tzIGlmIHRoZSByZXNvdXJjZSBjdXJyZW50bHkgZXhpc3RzIGluIHRoZSByZXBvc2l0b3J5LlxuXHQgKiBAcmV0dXJucyB7Ym9vbGVhbn0gVHJ1ZSBpZiB0aGUgcmVzb3VyY2UgZXhpc3RzLCBmYWxzZSBvdGhlcndpc2UuXG5cdCAqL1xuXHRwdWJsaWMgZXhpc3RzKCk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiB0aGlzLm5hdGl2ZS5leGlzdHMoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBDaGVja3MgaWYgdGhlIHJlc291cmNlIChmaWxlKSBpcyBlbXB0eSAoaGFzIHplcm8gc2l6ZSkuXG5cdCAqIEByZXR1cm5zIHtib29sZWFufSBUcnVlIGlmIHRoZSBjb250ZW50IGlzIGVtcHR5LCBmYWxzZSBvdGhlcndpc2UuXG5cdCAqL1xuXHRwdWJsaWMgaXNFbXB0eSgpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gdGhpcy5uYXRpdmUuaXNFbXB0eSgpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldHMgdGhlIGNvbnRlbnQgb2YgdGhlIHJlc291cmNlIGFzIGEgdGV4dCBzdHJpbmcuXG5cdCAqIEByZXR1cm5zIHtzdHJpbmd9IFRoZSB0ZXh0IGNvbnRlbnQuXG5cdCAqL1xuXHRwdWJsaWMgZ2V0VGV4dCgpOiBzdHJpbmcge1xuXHRcdHJldHVybiBCeXRlcy5ieXRlQXJyYXlUb1RleHQodGhpcy5nZXRDb250ZW50KCkpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldHMgdGhlIGNvbnRlbnQgb2YgdGhlIHJlc291cmNlIGFzIGEgSmF2YVNjcmlwdC1mcmllbmRseSBieXRlIGFycmF5LlxuXHQgKiBAcmV0dXJucyB7YW55W119IFRoZSBjb250ZW50IGJ5dGVzLlxuXHQgKi9cblx0cHVibGljIGdldENvbnRlbnQoKTogYW55W10ge1xuXHRcdGNvbnN0IG5hdGl2ZUNvbnRlbnQgPSB0aGlzLm5hdGl2ZS5nZXRDb250ZW50KCk7XG5cdFx0cmV0dXJuIEJ5dGVzLnRvSmF2YVNjcmlwdEJ5dGVzKG5hdGl2ZUNvbnRlbnQpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldHMgdGhlIGNvbnRlbnQgb2YgdGhlIHJlc291cmNlIGFzIGl0cyBuYXRpdmUgSmF2YSBieXRlIGFycmF5IHJlcHJlc2VudGF0aW9uLlxuXHQgKiBAcmV0dXJucyB7YW55W119IFRoZSBjb250ZW50IGJ5dGVzLlxuXHQgKi9cblx0cHVibGljIGdldENvbnRlbnROYXRpdmUoKTogYW55W10ge1xuXHRcdHJldHVybiB0aGlzLm5hdGl2ZS5nZXRDb250ZW50KCk7XG5cdH1cblxuXHQvKipcblx0ICogU2V0cyB0aGUgY29udGVudCBvZiB0aGUgcmVzb3VyY2UgdXNpbmcgYSB0ZXh0IHN0cmluZy5cblx0ICogVGhlIHN0cmluZyBpcyBjb252ZXJ0ZWQgdG8gYSBieXRlIGFycmF5IGJlZm9yZSBzYXZpbmcuXG5cdCAqIEBwYXJhbSB7c3RyaW5nfSB0ZXh0IFRoZSBuZXcgdGV4dCBjb250ZW50LlxuXHQgKi9cblx0cHVibGljIHNldFRleHQodGV4dDogc3RyaW5nKTogdm9pZCB7XG5cdFx0Y29uc3QgY29udGVudCA9IEJ5dGVzLnRleHRUb0J5dGVBcnJheSh0ZXh0KTtcblx0XHR0aGlzLnNldENvbnRlbnQoY29udGVudCk7XG5cdH1cblxuXHQvKipcblx0ICogU2V0cyB0aGUgY29udGVudCBvZiB0aGUgcmVzb3VyY2UgdXNpbmcgYSBKYXZhU2NyaXB0IGJ5dGUgYXJyYXkuXG5cdCAqIFRoZSBhcnJheSBpcyBjb252ZXJ0ZWQgdG8gYSBuYXRpdmUgYnl0ZSBhcnJheSBiZWZvcmUgc2F2aW5nLlxuXHQgKiBAcGFyYW0ge2FueVtdfSBjb250ZW50IFRoZSBuZXcgY29udGVudCBieXRlcy5cblx0ICovXG5cdHB1YmxpYyBzZXRDb250ZW50KGNvbnRlbnQ6IGFueVtdKTogdm9pZCB7XG5cdFx0Y29uc3QgbmF0aXZlQ29udGVudCA9IEJ5dGVzLnRvSmF2YUJ5dGVzKGNvbnRlbnQpO1xuXHRcdHRoaXMubmF0aXZlLnNldENvbnRlbnQobmF0aXZlQ29udGVudCk7XG5cdH1cblxuXHQvKipcblx0ICogU2V0cyB0aGUgY29udGVudCBvZiB0aGUgcmVzb3VyY2UgdXNpbmcgYSBuYXRpdmUgSmF2YSBieXRlIGFycmF5LlxuXHQgKiBAcGFyYW0ge2FueVtdfSBjb250ZW50IFRoZSBuZXcgbmF0aXZlIGNvbnRlbnQgYnl0ZXMuXG5cdCAqL1xuXHRwdWJsaWMgc2V0Q29udGVudE5hdGl2ZShjb250ZW50OiBhbnlbXSk6IHZvaWQge1xuXHRcdHRoaXMubmF0aXZlLnNldENvbnRlbnQoY29udGVudCk7XG5cdH1cblxuXHQvKipcblx0ICogQ2hlY2tzIGlmIHRoZSByZXNvdXJjZSBjb250ZW50IGlzIGRldGVybWluZWQgdG8gYmUgYmluYXJ5LlxuXHQgKiBAcmV0dXJucyB7Ym9vbGVhbn0gVHJ1ZSBpZiBiaW5hcnksIGZhbHNlIGlmIHRleHQuXG5cdCAqL1xuXHRwdWJsaWMgaXNCaW5hcnkoKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIHRoaXMubmF0aXZlLmlzQmluYXJ5KCk7XG5cdH1cblxuXHQvKipcblx0ICogR2V0cyB0aGUgY29udGVudCB0eXBlIChNSU1FIHR5cGUpIG9mIHRoZSByZXNvdXJjZS5cblx0ICogQHJldHVybnMge3N0cmluZ30gVGhlIGNvbnRlbnQgdHlwZSBzdHJpbmcuXG5cdCAqL1xuXHRwdWJsaWMgZ2V0Q29udGVudFR5cGUoKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gdGhpcy5uYXRpdmUuZ2V0Q29udGVudFR5cGUoKTtcblx0fVxufVxuXG4vKipcbiAqIEBjbGFzcyBDb2xsZWN0aW9uXG4gKiBAZGVzY3JpcHRpb24gUmVwcmVzZW50cyBhIGRpcmVjdG9yeSBvciBmb2xkZXIgd2l0aGluIHRoZSBSZXBvc2l0b3J5LCBwcm92aWRpbmdcbiAqIGluc3RhbmNlIG1ldGhvZHMgZm9yIGNvbGxlY3Rpb24gYW5kIHJlc291cmNlIG1hbmFnZW1lbnQuXG4gKi9cbmV4cG9ydCBjbGFzcyBDb2xsZWN0aW9uIHtcblx0cHJpdmF0ZSByZWFkb25seSBuYXRpdmU6IGFueTtcblxuXHQvKipcblx0ICogQGNvbnN0cnVjdG9yXG5cdCAqIEBwYXJhbSB7YW55fSBuYXRpdmUgVGhlIG5hdGl2ZSBKYXZhIG9iamVjdCBpbnN0YW5jZSByZXByZXNlbnRpbmcgdGhlIHJlcG9zaXRvcnkgY29sbGVjdGlvbi5cblx0ICovXG5cdGNvbnN0cnVjdG9yKG5hdGl2ZTogYW55KSB7XG5cdFx0dGhpcy5uYXRpdmUgPSBuYXRpdmU7XG5cdH1cblxuXHQvKipcblx0ICogR2V0cyB0aGUgbmFtZSBvZiB0aGUgY29sbGVjdGlvbiAoZm9sZGVyIG5hbWUpLlxuXHQgKiBAcmV0dXJucyB7c3RyaW5nfSBUaGUgbmFtZS5cblx0ICovXG5cdHB1YmxpYyBnZXROYW1lKCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIHRoaXMubmF0aXZlLmdldE5hbWUoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIHRoZSBmdWxsIHJlcG9zaXRvcnkgcGF0aCBvZiB0aGUgY29sbGVjdGlvbi5cblx0ICogQHJldHVybnMge3N0cmluZ30gVGhlIHJlcG9zaXRvcnkgcGF0aC5cblx0ICovXG5cdHB1YmxpYyBnZXRQYXRoKCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIHRoaXMubmF0aXZlLmdldFBhdGgoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIHRoZSBwYXJlbnQgY29sbGVjdGlvbiAoZm9sZGVyKSBvZiB0aGlzIGNvbGxlY3Rpb24uXG5cdCAqIEByZXR1cm5zIHtDb2xsZWN0aW9ufSBUaGUgcGFyZW50IENvbGxlY3Rpb24gaW5zdGFuY2UuXG5cdCAqL1xuXHRwdWJsaWMgZ2V0UGFyZW50KCk6IENvbGxlY3Rpb24ge1xuXHRcdGNvbnN0IGNvbGxlY3Rpb25JbnN0YW5jZSA9IHRoaXMubmF0aXZlLmdldFBhcmVudCgpO1xuXHRcdHJldHVybiBuZXcgQ29sbGVjdGlvbihjb2xsZWN0aW9uSW5zdGFuY2UpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldHMgZGV0YWlsZWQgbWV0YWRhdGEgYWJvdXQgdGhlIGNvbGxlY3Rpb24uXG5cdCAqIEByZXR1cm5zIHtFbnRpdHlJbmZvcm1hdGlvbn0gVGhlIG1ldGFkYXRhIG9iamVjdC5cblx0ICovXG5cdHB1YmxpYyBnZXRJbmZvcm1hdGlvbigpOiBFbnRpdHlJbmZvcm1hdGlvbiB7XG5cdFx0Y29uc3QgaW5mb3JtYXRpb25JbnN0YW5jZSA9IHRoaXMubmF0aXZlLmdldEluZm9ybWF0aW9uKCk7XG5cdFx0cmV0dXJuIG5ldyBFbnRpdHlJbmZvcm1hdGlvbihpbmZvcm1hdGlvbkluc3RhbmNlKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBDcmVhdGVzIHRoZSBjb2xsZWN0aW9uIGlmIGl0IGRvZXMgbm90IGFscmVhZHkgZXhpc3QuXG5cdCAqL1xuXHRwdWJsaWMgY3JlYXRlKCk6IHZvaWQge1xuXHRcdHRoaXMubmF0aXZlLmNyZWF0ZSgpO1xuXHR9XG5cblx0LyoqXG5cdCAqIERlbGV0ZXMgdGhlIGNvbGxlY3Rpb24gZnJvbSB0aGUgcmVwb3NpdG9yeS5cblx0ICovXG5cdHB1YmxpYyBkZWxldGUoKTogdm9pZCB7XG5cdFx0dGhpcy5uYXRpdmUuZGVsZXRlKCk7XG5cdH1cblxuXHQvKipcblx0ICogUmVuYW1lcyB0aGUgY29sbGVjdGlvbiB3aXRoaW4gaXRzIGN1cnJlbnQgcGFyZW50LlxuXHQgKiBAcGFyYW0ge3N0cmluZ30gbmFtZSBUaGUgbmV3IG5hbWUgZm9yIHRoZSBjb2xsZWN0aW9uLlxuXHQgKi9cblx0cHVibGljIHJlbmFtZVRvKG5hbWU6IHN0cmluZyk6IHZvaWQge1xuXHRcdHRoaXMubmF0aXZlLnJlbmFtZVRvKG5hbWUpO1xuXHR9XG5cblx0LyoqXG5cdCAqIE1vdmVzIHRoZSBjb2xsZWN0aW9uIHRvIGEgbmV3IHBhdGguXG5cdCAqIEBwYXJhbSB7c3RyaW5nfSBwYXRoIFRoZSBuZXcgYWJzb2x1dGUgcGF0aCBmb3IgdGhlIGNvbGxlY3Rpb24uXG5cdCAqL1xuXHRwdWJsaWMgbW92ZVRvKHBhdGg6IHN0cmluZyk6IHZvaWQge1xuXHRcdHRoaXMubmF0aXZlLm1vdmVUbyhwYXRoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBDb3BpZXMgdGhlIGNvbGxlY3Rpb24gdG8gYSBuZXcgcGF0aC5cblx0ICogQHBhcmFtIHtzdHJpbmd9IHBhdGggVGhlIG5ldyBhYnNvbHV0ZSBwYXRoIGZvciB0aGUgY29waWVkIGNvbGxlY3Rpb24uXG5cdCAqL1xuXHRwdWJsaWMgY29weVRvKHBhdGg6IHN0cmluZyk6IHZvaWQge1xuXHRcdHRoaXMubmF0aXZlLmNvcHlUbyhwYXRoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBDaGVja3MgaWYgdGhlIGNvbGxlY3Rpb24gY3VycmVudGx5IGV4aXN0cyBpbiB0aGUgcmVwb3NpdG9yeS5cblx0ICogQHJldHVybnMge2Jvb2xlYW59IFRydWUgaWYgdGhlIGNvbGxlY3Rpb24gZXhpc3RzLCBmYWxzZSBvdGhlcndpc2UuXG5cdCAqL1xuXHRwdWJsaWMgZXhpc3RzKCk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiB0aGlzLm5hdGl2ZS5leGlzdHMoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBDaGVja3MgaWYgdGhlIGNvbGxlY3Rpb24gaXMgZW1wdHkgKGNvbnRhaW5zIG5vIGZpbGVzIG9yIHN1Yi1kaXJlY3RvcmllcykuXG5cdCAqIEByZXR1cm5zIHtib29sZWFufSBUcnVlIGlmIGVtcHR5LCBmYWxzZSBvdGhlcndpc2UuXG5cdCAqL1xuXHRwdWJsaWMgaXNFbXB0eSgpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gdGhpcy5uYXRpdmUuaXNFbXB0eSgpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldHMgdGhlIG5hbWVzIG9mIGFsbCBzdWItY29sbGVjdGlvbnMgKGZvbGRlcnMpIHdpdGhpbiB0aGlzIGNvbGxlY3Rpb24uXG5cdCAqIEByZXR1cm5zIHtzdHJpbmdbXX0gQW4gYXJyYXkgb2Ygc3ViLWNvbGxlY3Rpb24gbmFtZXMuXG5cdCAqL1xuXHRwdWJsaWMgZ2V0Q29sbGVjdGlvbnNOYW1lcygpOiBzdHJpbmdbXSB7XG5cdFx0cmV0dXJuIHRoaXMubmF0aXZlLmdldENvbGxlY3Rpb25zTmFtZXMoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBDcmVhdGVzIGEgbmV3IHN1Yi1jb2xsZWN0aW9uIChmb2xkZXIpIHdpdGhpbiB0aGlzIGNvbGxlY3Rpb24uXG5cdCAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lIFRoZSBuYW1lIG9mIHRoZSBuZXcgc3ViLWNvbGxlY3Rpb24uXG5cdCAqIEByZXR1cm5zIHtDb2xsZWN0aW9ufSBUaGUgbmV3bHkgY3JlYXRlZCBDb2xsZWN0aW9uIGluc3RhbmNlLlxuXHQgKi9cblx0cHVibGljIGNyZWF0ZUNvbGxlY3Rpb24obmFtZTogc3RyaW5nKTogQ29sbGVjdGlvbiB7XG5cdFx0Y29uc3QgY29sbGVjdGlvbkluc3RhbmNlID0gdGhpcy5uYXRpdmUuY3JlYXRlQ29sbGVjdGlvbihuYW1lKTtcblx0XHRyZXR1cm4gbmV3IENvbGxlY3Rpb24oY29sbGVjdGlvbkluc3RhbmNlKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIGEgc3BlY2lmaWMgc3ViLWNvbGxlY3Rpb24gYnkgbmFtZS5cblx0ICogQHBhcmFtIHtzdHJpbmd9IG5hbWUgVGhlIG5hbWUgb2YgdGhlIHN1Yi1jb2xsZWN0aW9uLlxuXHQgKiBAcmV0dXJucyB7Q29sbGVjdGlvbn0gVGhlIGNoaWxkIENvbGxlY3Rpb24gaW5zdGFuY2UuXG5cdCAqL1xuXHRwdWJsaWMgZ2V0Q29sbGVjdGlvbihuYW1lOiBzdHJpbmcpOiBDb2xsZWN0aW9uIHtcblx0XHRjb25zdCBjb2xsZWN0aW9uSW5zdGFuY2UgPSB0aGlzLm5hdGl2ZS5nZXRDb2xsZWN0aW9uKG5hbWUpO1xuXHRcdHJldHVybiBuZXcgQ29sbGVjdGlvbihjb2xsZWN0aW9uSW5zdGFuY2UpO1xuXHR9XG5cblx0LyoqXG5cdCAqIFJlbW92ZXMgYSBzdWItY29sbGVjdGlvbiBieSBuYW1lLlxuXHQgKiBAcGFyYW0ge3N0cmluZ30gbmFtZSBUaGUgbmFtZSBvZiB0aGUgc3ViLWNvbGxlY3Rpb24gdG8gcmVtb3ZlLlxuXHQgKi9cblx0cHVibGljIHJlbW92ZUNvbGxlY3Rpb24obmFtZTogc3RyaW5nKTogdm9pZCB7XG5cdFx0dGhpcy5uYXRpdmUucmVtb3ZlQ29sbGVjdGlvbihuYW1lKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIHRoZSBuYW1lcyBvZiBhbGwgcmVzb3VyY2VzIChmaWxlcykgd2l0aGluIHRoaXMgY29sbGVjdGlvbi5cblx0ICogQHJldHVybnMge3N0cmluZ1tdfSBBbiBhcnJheSBvZiByZXNvdXJjZSBuYW1lcy5cblx0ICovXG5cdHB1YmxpYyBnZXRSZXNvdXJjZXNOYW1lcygpOiBzdHJpbmdbXSB7XG5cdFx0cmV0dXJuIHRoaXMubmF0aXZlLmdldFJlc291cmNlc05hbWVzKCk7XG5cdH1cblxuXHQvKipcblx0ICogR2V0cyBhIHNwZWNpZmljIHJlc291cmNlIChmaWxlKSBieSBuYW1lLlxuXHQgKiBAcGFyYW0ge3N0cmluZ30gbmFtZSBUaGUgbmFtZSBvZiB0aGUgcmVzb3VyY2UuXG5cdCAqIEByZXR1cm5zIHtSZXNvdXJjZX0gVGhlIGNoaWxkIFJlc291cmNlIGluc3RhbmNlLlxuXHQgKi9cblx0cHVibGljIGdldFJlc291cmNlKG5hbWU6IHN0cmluZyk6IFJlc291cmNlIHtcblx0XHRjb25zdCByZXNvdXJjZUluc3RhbmNlID0gdGhpcy5uYXRpdmUuZ2V0UmVzb3VyY2UobmFtZSk7XG5cdFx0cmV0dXJuIG5ldyBSZXNvdXJjZShyZXNvdXJjZUluc3RhbmNlKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBSZW1vdmVzIGEgcmVzb3VyY2UgKGZpbGUpIGJ5IG5hbWUuXG5cdCAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lIFRoZSBuYW1lIG9mIHRoZSByZXNvdXJjZSB0byByZW1vdmUuXG5cdCAqL1xuXHRwdWJsaWMgcmVtb3ZlUmVzb3VyY2UobmFtZTogc3RyaW5nKTogdm9pZCB7XG5cdFx0dGhpcy5uYXRpdmUucmVtb3ZlUmVzb3VyY2UobmFtZSk7XG5cdH1cblxuXHQvKipcblx0ICogQ3JlYXRlcyBhIG5ldyByZXNvdXJjZSAoZmlsZSkgd2l0aGluIHRoaXMgY29sbGVjdGlvbi5cblx0ICogQHBhcmFtIHtzdHJpbmd9IG5hbWUgVGhlIG5hbWUgb2YgdGhlIG5ldyByZXNvdXJjZS5cblx0ICogQHBhcmFtIHtzdHJpbmd9IGNvbnRlbnQgVGhlIHN0cmluZyBjb250ZW50IGZvciB0aGUgcmVzb3VyY2UuXG5cdCAqIEByZXR1cm5zIHtSZXNvdXJjZX0gVGhlIG5ld2x5IGNyZWF0ZWQgUmVzb3VyY2UgaW5zdGFuY2UuXG5cdCAqL1xuXHRwdWJsaWMgY3JlYXRlUmVzb3VyY2UobmFtZTogc3RyaW5nLCBjb250ZW50OiBzdHJpbmcpOiBSZXNvdXJjZSB7XG5cdFx0Y29uc3QgcmVzb3VyY2VJbnN0YW5jZSA9IHRoaXMubmF0aXZlLmNyZWF0ZVJlc291cmNlKG5hbWUsIGNvbnRlbnQpO1xuXHRcdHJldHVybiBuZXcgUmVzb3VyY2UocmVzb3VyY2VJbnN0YW5jZSk7XG5cdH1cbn1cblxuLyoqXG4gKiBAY2xhc3MgRW50aXR5SW5mb3JtYXRpb25cbiAqIEBkZXNjcmlwdGlvbiBSZXByZXNlbnRzIGRldGFpbGVkIG1ldGFkYXRhIChjcmVhdGlvbiBkYXRlLCBzaXplLCBwZXJtaXNzaW9ucywgZXRjLikgZm9yIGFcbiAqIFJlc291cmNlIG9yIENvbGxlY3Rpb24uXG4gKi9cbmV4cG9ydCBjbGFzcyBFbnRpdHlJbmZvcm1hdGlvbiB7XG5cdHByaXZhdGUgcmVhZG9ubHkgbmF0aXZlOiBhbnk7XG5cblx0LyoqXG5cdCAqIEBjb25zdHJ1Y3RvclxuXHQgKiBAcGFyYW0ge2FueX0gbmF0aXZlIFRoZSBuYXRpdmUgSmF2YSBvYmplY3QgaW5zdGFuY2UgaG9sZGluZyB0aGUgZW50aXR5IGluZm9ybWF0aW9uLlxuXHQgKi9cblx0Y29uc3RydWN0b3IobmF0aXZlOiBhbnkpIHtcblx0XHR0aGlzLm5hdGl2ZSA9IG5hdGl2ZTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIHRoZSBuYW1lIG9mIHRoZSBlbnRpdHkgKHJlc291cmNlIG9yIGNvbGxlY3Rpb24pLlxuXHQgKiBAcmV0dXJucyB7c3RyaW5nfSBUaGUgbmFtZS5cblx0ICovXG5cdHB1YmxpYyBnZXROYW1lKCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIHRoaXMubmF0aXZlLmdldE5hbWUoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIHRoZSBmdWxsIHJlcG9zaXRvcnkgcGF0aCBvZiB0aGUgZW50aXR5LlxuXHQgKiBAcmV0dXJucyB7c3RyaW5nfSBUaGUgcmVwb3NpdG9yeSBwYXRoLlxuXHQgKi9cblx0cHVibGljIGdldFBhdGgoKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gdGhpcy5uYXRpdmUuZ2V0UGF0aCgpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldHMgdGhlIGFjY2VzcyBwZXJtaXNzaW9ucyBmb3IgdGhlIGVudGl0eSAodHlwaWNhbGx5IGFuIGludGVnZXIgYml0bWFzaykuXG5cdCAqIEByZXR1cm5zIHtudW1iZXJ9IFRoZSBwZXJtaXNzaW9ucyB2YWx1ZS5cblx0ICovXG5cdHB1YmxpYyBnZXRQZXJtaXNzaW9ucygpOiBudW1iZXIge1xuXHRcdHJldHVybiB0aGlzLm5hdGl2ZS5nZXRQZXJtaXNzaW9ucygpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldHMgdGhlIHNpemUgb2YgdGhlIHJlc291cmNlIGNvbnRlbnQgaW4gYnl0ZXMgKDAgZm9yIGEgY29sbGVjdGlvbikuXG5cdCAqIEByZXR1cm5zIHtudW1iZXJ9IFRoZSBzaXplIGluIGJ5dGVzLlxuXHQgKi9cblx0cHVibGljIGdldFNpemUoKTogbnVtYmVyIHtcblx0XHRyZXR1cm4gdGhpcy5uYXRpdmUuZ2V0U2l6ZSgpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldHMgdGhlIHVzZXIgd2hvIGNyZWF0ZWQgdGhlIGVudGl0eS5cblx0ICogQHJldHVybnMge3N0cmluZ30gVGhlIGNyZWF0b3IncyBuYW1lLlxuXHQgKi9cblx0cHVibGljIGdldENyZWF0ZWRCeSgpOiBzdHJpbmcge1xuXHRcdHJldHVybiB0aGlzLm5hdGl2ZS5nZXRDcmVhdGVkQnkoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIHRoZSBjcmVhdGlvbiB0aW1lc3RhbXAuXG5cdCAqIEByZXR1cm5zIHtEYXRlfSBUaGUgY3JlYXRpb24gZGF0ZSBhbmQgdGltZS5cblx0ICovXG5cdHB1YmxpYyBnZXRDcmVhdGVkQXQoKTogRGF0ZSB7XG5cdFx0cmV0dXJuIHRoaXMubmF0aXZlLmdldENyZWF0ZWRBdCgpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldHMgdGhlIHVzZXIgd2hvIGxhc3QgbW9kaWZpZWQgdGhlIGVudGl0eS5cblx0ICogQHJldHVybnMge3N0cmluZ30gVGhlIG1vZGlmaWVyJ3MgbmFtZS5cblx0ICovXG5cdHB1YmxpYyBnZXRNb2RpZmllZEJ5KCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIHRoaXMubmF0aXZlLmdldE1vZGlmaWVkQnkoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIHRoZSBsYXN0IG1vZGlmaWNhdGlvbiB0aW1lc3RhbXAuXG5cdCAqIEByZXR1cm5zIHtEYXRlfSBUaGUgbW9kaWZpY2F0aW9uIGRhdGUgYW5kIHRpbWUuXG5cdCAqL1xuXHRwdWJsaWMgZ2V0TW9kaWZpZWRBdCgpOiBEYXRlIHtcblx0XHRyZXR1cm4gdGhpcy5uYXRpdmUuZ2V0TW9kaWZpZWRBdCgpO1xuXHR9XG59XG5cbi8vIEB0cy1pZ25vcmVcbmlmICh0eXBlb2YgbW9kdWxlICE9PSAndW5kZWZpbmVkJykge1xuXHQvLyBAdHMtaWdub3JlXG5cdG1vZHVsZS5leHBvcnRzID0gUmVwb3NpdG9yeTtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQXlDQSxtQkFBc0I7QUFFdEIsTUFBTSxtQkFBbUIsS0FBSyxLQUFLLGdFQUFnRTtBQU81RixNQUFNLFdBQVc7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVF2QixPQUFjLFlBQVksTUFBd0I7QUFDakQsVUFBTSxtQkFBbUIsaUJBQWlCLFlBQVksSUFBSTtBQUMxRCxXQUFPLElBQUksU0FBUyxnQkFBZ0I7QUFBQSxFQUNyQztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVVBLE9BQWMsZUFBZSxNQUFjLFNBQWlCLGFBQStCO0FBQzFGLFVBQU0sbUJBQW1CLGlCQUFpQixlQUFlLE1BQU0sU0FBUyxXQUFXO0FBQ25GLFdBQU8sSUFBSSxTQUFTLGdCQUFnQjtBQUFBLEVBQ3JDO0FB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