taon 18.0.34 → 19.0.1

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 (413) hide show
  1. package/README.md +175 -175
  2. package/assets/shared/shared_folder_info.txt +1 -1
  3. package/bin/start.js +279 -279
  4. package/bin/taon +6 -6
  5. package/bin/taon-debug +5 -5
  6. package/bin/taon-debug-brk +5 -5
  7. package/browser/README.md +24 -24
  8. package/browser/fesm2022/taon.mjs +68 -85
  9. package/browser/fesm2022/taon.mjs.map +1 -1
  10. package/browser/lib/base-classes/base-context.d.ts +6 -6
  11. package/browser/lib/base-classes/base.d.ts +6 -6
  12. package/browser/lib/index.d.ts +6 -32
  13. package/browser/lib/ui/taon-progress-bar/taon-progress-bar.component.d.ts +1 -3
  14. package/browser/lib/ui/taon-progress-bar/taon-progress-bar.module.d.ts +1 -2
  15. package/cli.js.map +1 -1
  16. package/client/README.md +24 -24
  17. package/client/fesm2022/taon.mjs +68 -85
  18. package/client/fesm2022/taon.mjs.map +1 -1
  19. package/client/lib/base-classes/base-context.d.ts +6 -6
  20. package/client/lib/base-classes/base.d.ts +6 -6
  21. package/client/lib/index.d.ts +6 -32
  22. package/client/lib/ui/taon-progress-bar/taon-progress-bar.component.d.ts +1 -3
  23. package/client/lib/ui/taon-progress-bar/taon-progress-bar.module.d.ts +1 -2
  24. package/index.js.map +1 -1
  25. package/lib/base-classes/base-abstract-entity.js.map +1 -1
  26. package/lib/base-classes/base-class.js.map +1 -1
  27. package/lib/base-classes/base-context.d.ts +6 -6
  28. package/lib/base-classes/base-context.js.map +1 -1
  29. package/lib/base-classes/base-controller.js.map +1 -1
  30. package/lib/base-classes/base-crud-controller.js.map +1 -1
  31. package/lib/base-classes/base-entity.js.map +1 -1
  32. package/lib/base-classes/base-injector.js.map +1 -1
  33. package/lib/base-classes/base-migration.js.map +1 -1
  34. package/lib/base-classes/base-provider.js.map +1 -1
  35. package/lib/base-classes/base-repository.js.map +1 -1
  36. package/lib/base-classes/base-subscriber-for-entity.js.map +1 -1
  37. package/lib/base-classes/base-subscriber.d.ts +4 -0
  38. package/lib/base-classes/base-subscriber.js +25 -0
  39. package/lib/base-classes/base-subscriber.js.map +1 -0
  40. package/lib/base-classes/base.d.ts +6 -6
  41. package/lib/base-classes/base.js.map +1 -1
  42. package/lib/build-info._auto-generated_.js.map +1 -1
  43. package/lib/constants.js.map +1 -1
  44. package/lib/context-db-migrations.js.map +1 -1
  45. package/lib/create-context.js.map +1 -1
  46. package/lib/decorators/classes/controller-decorator.js.map +1 -1
  47. package/lib/decorators/classes/entity-decorator.js.map +1 -1
  48. package/lib/decorators/classes/migration-decorator.js.map +1 -1
  49. package/lib/decorators/classes/provider-decorator.js.map +1 -1
  50. package/lib/decorators/classes/repository-decorator.js.map +1 -1
  51. package/lib/decorators/classes/subscriber-decorator.js.map +1 -1
  52. package/lib/decorators/http/http-decorators.js.map +1 -1
  53. package/lib/decorators/http/http-methods-decorators.js.map +1 -1
  54. package/lib/decorators/http/http-params-decorators.js.map +1 -1
  55. package/lib/dependency-injection/di-container.js.map +1 -1
  56. package/lib/endpoint-context.js.map +1 -1
  57. package/lib/entity-process.js.map +1 -1
  58. package/lib/env.js.map +1 -1
  59. package/lib/formly/formly-group-wrapper-component.js +1 -0
  60. package/lib/formly/formly-group-wrapper-component.js.map +1 -1
  61. package/lib/formly/formly-repeat-component.js +1 -0
  62. package/lib/formly/formly-repeat-component.js.map +1 -1
  63. package/lib/formly/formly.models.js.map +1 -1
  64. package/lib/formly/fromly.js.map +1 -1
  65. package/lib/formly/type-from-entity.js.map +1 -1
  66. package/lib/get-response-value.js.map +1 -1
  67. package/lib/helpers/class-helpers.js +2 -2
  68. package/lib/helpers/class-helpers.js.map +1 -1
  69. package/lib/helpers/taon-helpers.js.map +1 -1
  70. package/lib/index._auto-generated_.js.map +1 -1
  71. package/lib/index.d.ts +6 -32
  72. package/lib/index.js.map +1 -1
  73. package/lib/inject.js.map +1 -1
  74. package/lib/models.js.map +1 -1
  75. package/lib/orm.js.map +1 -1
  76. package/lib/realtime/realtime-client.js.map +1 -1
  77. package/lib/realtime/realtime-core.js.map +1 -1
  78. package/lib/realtime/realtime-server.js.map +1 -1
  79. package/lib/realtime/realtime-strategy/index.js.map +1 -1
  80. package/lib/realtime/realtime-strategy/realtime-abstract-mock.d.ts +10 -0
  81. package/lib/realtime/realtime-strategy/realtime-abstract-mock.js +214 -0
  82. package/lib/realtime/realtime-strategy/realtime-abstract-mock.js.map +1 -0
  83. package/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/index.d.ts +0 -0
  84. package/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/index.js +5 -0
  85. package/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/index.js.map +1 -0
  86. package/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-main-namespace.d.ts +22 -0
  87. package/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-main-namespace.js +139 -0
  88. package/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-main-namespace.js.map +1 -0
  89. package/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-main-wrapper.d.ts +16 -0
  90. package/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-main-wrapper.js +68 -0
  91. package/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-main-wrapper.js.map +1 -0
  92. package/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-renderer-namespace.d.ts +10 -0
  93. package/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-renderer-namespace.js +56 -0
  94. package/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-renderer-namespace.js.map +1 -0
  95. package/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-renderer-wrapper.d.ts +10 -0
  96. package/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-renderer-wrapper.js +50 -0
  97. package/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-renderer-wrapper.js.map +1 -0
  98. package/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc.models.d.ts +13 -0
  99. package/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc.models.js +3 -0
  100. package/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc.models.js.map +1 -0
  101. package/lib/realtime/realtime-strategy/realtime-strategy-ipc.js.map +1 -1
  102. package/lib/realtime/realtime-strategy/realtime-strategy-mock-models/index.d.ts +2 -0
  103. package/lib/realtime/realtime-strategy/realtime-strategy-mock-models/index.js +6 -0
  104. package/lib/realtime/realtime-strategy/realtime-strategy-mock-models/index.js.map +1 -0
  105. package/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-client.d.ts +16 -0
  106. package/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-client.js +54 -0
  107. package/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-client.js.map +1 -0
  108. package/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-namespaces.d.ts +17 -0
  109. package/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-namespaces.js +52 -0
  110. package/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-namespaces.js.map +1 -0
  111. package/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-server.d.ts +11 -0
  112. package/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-server.js +39 -0
  113. package/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-server.js.map +1 -0
  114. package/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-socket.d.ts +13 -0
  115. package/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-socket.js +46 -0
  116. package/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-socket.js.map +1 -0
  117. package/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock.models.d.ts +11 -0
  118. package/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock.models.js +3 -0
  119. package/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock.models.js.map +1 -0
  120. package/lib/realtime/realtime-strategy/realtime-strategy-mock.js.map +1 -1
  121. package/lib/realtime/realtime-strategy/realtime-strategy-socket-io.js.map +1 -1
  122. package/lib/realtime/realtime-strategy/realtime-strategy.js.map +1 -1
  123. package/lib/realtime/realtime-subs-manager.js.map +1 -1
  124. package/lib/realtime/realtime.models.js.map +1 -1
  125. package/lib/storage.js.map +1 -1
  126. package/lib/symbols.js.map +1 -1
  127. package/lib/ui/directives/firedev-inject-html.directive.d.ts +6 -0
  128. package/lib/ui/directives/firedev-long-press.directive.d.ts +22 -0
  129. package/lib/ui/directives/index.js +2 -2
  130. package/lib/ui/directives/index.js.map +1 -1
  131. package/lib/ui/directives/view-mode.js.map +1 -1
  132. package/lib/ui/index.js +2 -2
  133. package/lib/ui/index.js.map +1 -1
  134. package/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/index.d.ts +2 -0
  135. package/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/index.js +5 -0
  136. package/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/index.js.map +1 -0
  137. package/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/taon-admin-edit-mode.component.d.ts +29 -0
  138. package/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/taon-admin-edit-mode.module.d.ts +2 -0
  139. package/lib/ui/taon-admin-mode-configuration/components/taon-db-admin/index.d.ts +1 -0
  140. package/lib/ui/taon-admin-mode-configuration/components/taon-db-admin/index.js +5 -0
  141. package/lib/ui/taon-admin-mode-configuration/components/taon-db-admin/index.js.map +1 -0
  142. package/lib/ui/taon-admin-mode-configuration/components/taon-db-admin/taon-db-admin.component.d.ts +8 -0
  143. package/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/index.d.ts +2 -0
  144. package/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/index.js +5 -0
  145. package/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/index.js.map +1 -0
  146. package/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/taon-file-general-opt.component.d.ts +13 -0
  147. package/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/taon-file-general-opt.module.d.ts +2 -0
  148. package/lib/ui/taon-admin-mode-configuration/index.js +2 -2
  149. package/lib/ui/taon-admin-mode-configuration/index.js.map +1 -1
  150. package/lib/ui/taon-admin-mode-configuration/models/taon-admin-mode-tabs.d.ts +5 -0
  151. package/lib/ui/taon-admin-mode-configuration/models/taon-admin-mode-tabs.js +3 -0
  152. package/lib/ui/taon-admin-mode-configuration/models/taon-admin-mode-tabs.js.map +1 -0
  153. package/lib/ui/taon-admin-mode-configuration/taon-admin-control.service.d.ts +14 -0
  154. package/lib/ui/taon-admin-mode-configuration/taon-admin-mode-configuration.module.d.ts +2 -0
  155. package/lib/ui/taon-admin-mode-configuration/taon-admin.models.js.map +1 -1
  156. package/lib/ui/taon-github-fork-me-corner/index.js +2 -2
  157. package/lib/ui/taon-github-fork-me-corner/index.js.map +1 -1
  158. package/lib/ui/taon-github-fork-me-ribbon/index.js +2 -2
  159. package/lib/ui/taon-github-fork-me-ribbon/index.js.map +1 -1
  160. package/lib/ui/taon-notifications/index.js.map +1 -1
  161. package/lib/ui/taon-notifications/taon-notifications.models.js +2 -2
  162. package/lib/ui/taon-notifications/taon-notifications.models.js.map +1 -1
  163. package/lib/ui/taon-progress-bar/index.js +2 -2
  164. package/lib/ui/taon-progress-bar/index.js.map +1 -1
  165. package/lib/ui/taon-progress-bar/taon-progress-bar.component.d.ts +1 -3
  166. package/lib/ui/taon-session-passcode/index.js +2 -2
  167. package/lib/ui/taon-session-passcode/index.js.map +1 -1
  168. package/lib/ui/taon-table/index.js +2 -2
  169. package/lib/ui/taon-table/index.js.map +1 -1
  170. package/lib/ui/taon.models.js.map +1 -1
  171. package/lib/ui/toan-full-material.module.d.ts +2 -0
  172. package/lib/validators.js.map +1 -1
  173. package/migrations/index.js.map +1 -1
  174. package/migrations/migrations_index._auto-generated_.js.map +1 -1
  175. package/old-app .js +1 -0
  176. package/old-app .js.map +1 -1
  177. package/package.json +8 -8
  178. package/playground.js.map +1 -1
  179. package/taon.jsonc +39 -39
  180. package/tmp-environment.json +2 -2
  181. package/websql/README.md +24 -24
  182. package/websql/fesm2022/taon.mjs +68 -85
  183. package/websql/fesm2022/taon.mjs.map +1 -1
  184. package/websql/lib/base-classes/base-context.d.ts +6 -6
  185. package/websql/lib/base-classes/base.d.ts +6 -6
  186. package/websql/lib/index.d.ts +6 -32
  187. package/websql/lib/ui/taon-progress-bar/taon-progress-bar.component.d.ts +1 -3
  188. package/websql/lib/ui/taon-progress-bar/taon-progress-bar.module.d.ts +1 -2
  189. package/browser/esm2022/lib/base-classes/base-abstract-entity.mjs +0 -18
  190. package/browser/esm2022/lib/base-classes/base-class.mjs +0 -17
  191. package/browser/esm2022/lib/base-classes/base-context.mjs +0 -14
  192. package/browser/esm2022/lib/base-classes/base-controller.mjs +0 -19
  193. package/browser/esm2022/lib/base-classes/base-crud-controller.mjs +0 -279
  194. package/browser/esm2022/lib/base-classes/base-entity.mjs +0 -18
  195. package/browser/esm2022/lib/base-classes/base-injector.mjs +0 -167
  196. package/browser/esm2022/lib/base-classes/base-migration.mjs +0 -23
  197. package/browser/esm2022/lib/base-classes/base-provider.mjs +0 -6
  198. package/browser/esm2022/lib/base-classes/base-repository.mjs +0 -514
  199. package/browser/esm2022/lib/base-classes/base-subscriber-for-entity.mjs +0 -156
  200. package/browser/esm2022/lib/base-classes/base.mjs +0 -26
  201. package/browser/esm2022/lib/constants.mjs +0 -4
  202. package/browser/esm2022/lib/context-db-migrations.mjs +0 -425
  203. package/browser/esm2022/lib/create-context.mjs +0 -127
  204. package/browser/esm2022/lib/decorators/classes/controller-decorator.mjs +0 -18
  205. package/browser/esm2022/lib/decorators/classes/entity-decorator.mjs +0 -30
  206. package/browser/esm2022/lib/decorators/classes/migration-decorator.mjs +0 -18
  207. package/browser/esm2022/lib/decorators/classes/provider-decorator.mjs +0 -18
  208. package/browser/esm2022/lib/decorators/classes/repository-decorator.mjs +0 -18
  209. package/browser/esm2022/lib/decorators/classes/subscriber-decorator.mjs +0 -18
  210. package/browser/esm2022/lib/decorators/http/http-decorators.mjs +0 -24
  211. package/browser/esm2022/lib/decorators/http/http-methods-decorators.mjs +0 -78
  212. package/browser/esm2022/lib/decorators/http/http-params-decorators.mjs +0 -47
  213. package/browser/esm2022/lib/dependency-injection/di-container.mjs +0 -32
  214. package/browser/esm2022/lib/endpoint-context.mjs +0 -1705
  215. package/browser/esm2022/lib/entity-process.mjs +0 -198
  216. package/browser/esm2022/lib/env.mjs +0 -6
  217. package/browser/esm2022/lib/get-response-value.mjs +0 -27
  218. package/browser/esm2022/lib/helpers/class-helpers.mjs +0 -183
  219. package/browser/esm2022/lib/helpers/taon-helpers.mjs +0 -120
  220. package/browser/esm2022/lib/index.mjs +0 -70
  221. package/browser/esm2022/lib/inject.mjs +0 -36
  222. package/browser/esm2022/lib/models.mjs +0 -106
  223. package/browser/esm2022/lib/orm.mjs +0 -6
  224. package/browser/esm2022/lib/realtime/realtime-client.mjs +0 -141
  225. package/browser/esm2022/lib/realtime/realtime-core.mjs +0 -62
  226. package/browser/esm2022/lib/realtime/realtime-server.mjs +0 -292
  227. package/browser/esm2022/lib/realtime/realtime-strategy/index.mjs +0 -7
  228. package/browser/esm2022/lib/realtime/realtime-strategy/realtime-strategy-ipc.mjs +0 -218
  229. package/browser/esm2022/lib/realtime/realtime-strategy/realtime-strategy-mock.mjs +0 -224
  230. package/browser/esm2022/lib/realtime/realtime-strategy/realtime-strategy-socket-io.mjs +0 -29
  231. package/browser/esm2022/lib/realtime/realtime-strategy/realtime-strategy.mjs +0 -14
  232. package/browser/esm2022/lib/realtime/realtime-subs-manager.mjs +0 -81
  233. package/browser/esm2022/lib/realtime/realtime.models.mjs +0 -4
  234. package/browser/esm2022/lib/storage.mjs +0 -5
  235. package/browser/esm2022/lib/symbols.mjs +0 -97
  236. package/browser/esm2022/lib/ui/directives/index.mjs +0 -6
  237. package/browser/esm2022/lib/ui/directives/safe.pipe.mjs +0 -43
  238. package/browser/esm2022/lib/ui/directives/taon-inject-html.directive.mjs +0 -24
  239. package/browser/esm2022/lib/ui/directives/taon-long-press.directive.mjs +0 -120
  240. package/browser/esm2022/lib/ui/index.mjs +0 -12
  241. package/browser/esm2022/lib/ui/taon-admin-mode-configuration/index.mjs +0 -4
  242. package/browser/esm2022/lib/ui/taon-admin-mode-configuration/taon-admin-mode-configuration.component.mjs +0 -194
  243. package/browser/esm2022/lib/ui/taon-admin-mode-configuration/taon-admin.service.mjs +0 -55
  244. package/browser/esm2022/lib/ui/taon-full-material.module.mjs +0 -179
  245. package/browser/esm2022/lib/ui/taon-github-fork-me-corner/index.mjs +0 -5
  246. package/browser/esm2022/lib/ui/taon-github-fork-me-corner/taon-github-fork-me-corner.component.mjs +0 -18
  247. package/browser/esm2022/lib/ui/taon-github-fork-me-corner/taon-github-fork-me-corner.module.mjs +0 -21
  248. package/browser/esm2022/lib/ui/taon-notifications/index.mjs +0 -7
  249. package/browser/esm2022/lib/ui/taon-notifications/taon-notifications.component.mjs +0 -25
  250. package/browser/esm2022/lib/ui/taon-notifications/taon-notifications.models.mjs +0 -5
  251. package/browser/esm2022/lib/ui/taon-notifications/taon-notifications.module.mjs +0 -21
  252. package/browser/esm2022/lib/ui/taon-notifications/taon-notifications.service.mjs +0 -48
  253. package/browser/esm2022/lib/ui/taon-progress-bar/index.mjs +0 -5
  254. package/browser/esm2022/lib/ui/taon-progress-bar/taon-progress-bar.component.mjs +0 -98
  255. package/browser/esm2022/lib/ui/taon-progress-bar/taon-progress-bar.module.mjs +0 -22
  256. package/browser/esm2022/lib/ui/taon-session-passcode/index.mjs +0 -4
  257. package/browser/esm2022/lib/ui/taon-session-passcode/taon-session-passcode.component.mjs +0 -120
  258. package/browser/esm2022/lib/ui/taon-table/index.mjs +0 -5
  259. package/browser/esm2022/lib/ui/taon-table/taon-table.component.mjs +0 -160
  260. package/browser/esm2022/lib/ui/taon-table/taon-table.module.mjs +0 -57
  261. package/browser/esm2022/lib/validators.mjs +0 -76
  262. package/browser/esm2022/public-api.mjs +0 -2
  263. package/browser/esm2022/taon.mjs +0 -5
  264. package/client/esm2022/lib/base-classes/base-abstract-entity.mjs +0 -18
  265. package/client/esm2022/lib/base-classes/base-class.mjs +0 -17
  266. package/client/esm2022/lib/base-classes/base-context.mjs +0 -14
  267. package/client/esm2022/lib/base-classes/base-controller.mjs +0 -19
  268. package/client/esm2022/lib/base-classes/base-crud-controller.mjs +0 -279
  269. package/client/esm2022/lib/base-classes/base-entity.mjs +0 -18
  270. package/client/esm2022/lib/base-classes/base-injector.mjs +0 -167
  271. package/client/esm2022/lib/base-classes/base-migration.mjs +0 -23
  272. package/client/esm2022/lib/base-classes/base-provider.mjs +0 -6
  273. package/client/esm2022/lib/base-classes/base-repository.mjs +0 -514
  274. package/client/esm2022/lib/base-classes/base-subscriber-for-entity.mjs +0 -156
  275. package/client/esm2022/lib/base-classes/base.mjs +0 -26
  276. package/client/esm2022/lib/constants.mjs +0 -4
  277. package/client/esm2022/lib/context-db-migrations.mjs +0 -425
  278. package/client/esm2022/lib/create-context.mjs +0 -127
  279. package/client/esm2022/lib/decorators/classes/controller-decorator.mjs +0 -18
  280. package/client/esm2022/lib/decorators/classes/entity-decorator.mjs +0 -30
  281. package/client/esm2022/lib/decorators/classes/migration-decorator.mjs +0 -18
  282. package/client/esm2022/lib/decorators/classes/provider-decorator.mjs +0 -18
  283. package/client/esm2022/lib/decorators/classes/repository-decorator.mjs +0 -18
  284. package/client/esm2022/lib/decorators/classes/subscriber-decorator.mjs +0 -18
  285. package/client/esm2022/lib/decorators/http/http-decorators.mjs +0 -24
  286. package/client/esm2022/lib/decorators/http/http-methods-decorators.mjs +0 -78
  287. package/client/esm2022/lib/decorators/http/http-params-decorators.mjs +0 -47
  288. package/client/esm2022/lib/dependency-injection/di-container.mjs +0 -32
  289. package/client/esm2022/lib/endpoint-context.mjs +0 -1705
  290. package/client/esm2022/lib/entity-process.mjs +0 -198
  291. package/client/esm2022/lib/env.mjs +0 -6
  292. package/client/esm2022/lib/get-response-value.mjs +0 -27
  293. package/client/esm2022/lib/helpers/class-helpers.mjs +0 -183
  294. package/client/esm2022/lib/helpers/taon-helpers.mjs +0 -120
  295. package/client/esm2022/lib/index.mjs +0 -70
  296. package/client/esm2022/lib/inject.mjs +0 -36
  297. package/client/esm2022/lib/models.mjs +0 -106
  298. package/client/esm2022/lib/orm.mjs +0 -6
  299. package/client/esm2022/lib/realtime/realtime-client.mjs +0 -141
  300. package/client/esm2022/lib/realtime/realtime-core.mjs +0 -62
  301. package/client/esm2022/lib/realtime/realtime-server.mjs +0 -292
  302. package/client/esm2022/lib/realtime/realtime-strategy/index.mjs +0 -7
  303. package/client/esm2022/lib/realtime/realtime-strategy/realtime-strategy-ipc.mjs +0 -218
  304. package/client/esm2022/lib/realtime/realtime-strategy/realtime-strategy-mock.mjs +0 -224
  305. package/client/esm2022/lib/realtime/realtime-strategy/realtime-strategy-socket-io.mjs +0 -29
  306. package/client/esm2022/lib/realtime/realtime-strategy/realtime-strategy.mjs +0 -14
  307. package/client/esm2022/lib/realtime/realtime-subs-manager.mjs +0 -81
  308. package/client/esm2022/lib/realtime/realtime.models.mjs +0 -4
  309. package/client/esm2022/lib/storage.mjs +0 -5
  310. package/client/esm2022/lib/symbols.mjs +0 -97
  311. package/client/esm2022/lib/ui/directives/index.mjs +0 -6
  312. package/client/esm2022/lib/ui/directives/safe.pipe.mjs +0 -43
  313. package/client/esm2022/lib/ui/directives/taon-inject-html.directive.mjs +0 -24
  314. package/client/esm2022/lib/ui/directives/taon-long-press.directive.mjs +0 -120
  315. package/client/esm2022/lib/ui/index.mjs +0 -12
  316. package/client/esm2022/lib/ui/taon-admin-mode-configuration/index.mjs +0 -4
  317. package/client/esm2022/lib/ui/taon-admin-mode-configuration/taon-admin-mode-configuration.component.mjs +0 -194
  318. package/client/esm2022/lib/ui/taon-admin-mode-configuration/taon-admin.service.mjs +0 -55
  319. package/client/esm2022/lib/ui/taon-full-material.module.mjs +0 -179
  320. package/client/esm2022/lib/ui/taon-github-fork-me-corner/index.mjs +0 -5
  321. package/client/esm2022/lib/ui/taon-github-fork-me-corner/taon-github-fork-me-corner.component.mjs +0 -18
  322. package/client/esm2022/lib/ui/taon-github-fork-me-corner/taon-github-fork-me-corner.module.mjs +0 -21
  323. package/client/esm2022/lib/ui/taon-notifications/index.mjs +0 -7
  324. package/client/esm2022/lib/ui/taon-notifications/taon-notifications.component.mjs +0 -25
  325. package/client/esm2022/lib/ui/taon-notifications/taon-notifications.models.mjs +0 -5
  326. package/client/esm2022/lib/ui/taon-notifications/taon-notifications.module.mjs +0 -21
  327. package/client/esm2022/lib/ui/taon-notifications/taon-notifications.service.mjs +0 -48
  328. package/client/esm2022/lib/ui/taon-progress-bar/index.mjs +0 -5
  329. package/client/esm2022/lib/ui/taon-progress-bar/taon-progress-bar.component.mjs +0 -98
  330. package/client/esm2022/lib/ui/taon-progress-bar/taon-progress-bar.module.mjs +0 -22
  331. package/client/esm2022/lib/ui/taon-session-passcode/index.mjs +0 -4
  332. package/client/esm2022/lib/ui/taon-session-passcode/taon-session-passcode.component.mjs +0 -120
  333. package/client/esm2022/lib/ui/taon-table/index.mjs +0 -5
  334. package/client/esm2022/lib/ui/taon-table/taon-table.component.mjs +0 -160
  335. package/client/esm2022/lib/ui/taon-table/taon-table.module.mjs +0 -57
  336. package/client/esm2022/lib/validators.mjs +0 -76
  337. package/client/esm2022/public-api.mjs +0 -2
  338. package/client/esm2022/taon.mjs +0 -5
  339. package/websql/esm2022/lib/base-classes/base-abstract-entity.mjs +0 -25
  340. package/websql/esm2022/lib/base-classes/base-class.mjs +0 -17
  341. package/websql/esm2022/lib/base-classes/base-context.mjs +0 -14
  342. package/websql/esm2022/lib/base-classes/base-controller.mjs +0 -19
  343. package/websql/esm2022/lib/base-classes/base-crud-controller.mjs +0 -238
  344. package/websql/esm2022/lib/base-classes/base-entity.mjs +0 -16
  345. package/websql/esm2022/lib/base-classes/base-injector.mjs +0 -167
  346. package/websql/esm2022/lib/base-classes/base-migration.mjs +0 -23
  347. package/websql/esm2022/lib/base-classes/base-provider.mjs +0 -6
  348. package/websql/esm2022/lib/base-classes/base-repository.mjs +0 -431
  349. package/websql/esm2022/lib/base-classes/base-subscriber-for-entity.mjs +0 -156
  350. package/websql/esm2022/lib/base-classes/base.mjs +0 -26
  351. package/websql/esm2022/lib/constants.mjs +0 -4
  352. package/websql/esm2022/lib/context-db-migrations.mjs +0 -274
  353. package/websql/esm2022/lib/create-context.mjs +0 -126
  354. package/websql/esm2022/lib/decorators/classes/controller-decorator.mjs +0 -18
  355. package/websql/esm2022/lib/decorators/classes/entity-decorator.mjs +0 -28
  356. package/websql/esm2022/lib/decorators/classes/migration-decorator.mjs +0 -18
  357. package/websql/esm2022/lib/decorators/classes/provider-decorator.mjs +0 -18
  358. package/websql/esm2022/lib/decorators/classes/repository-decorator.mjs +0 -18
  359. package/websql/esm2022/lib/decorators/classes/subscriber-decorator.mjs +0 -18
  360. package/websql/esm2022/lib/decorators/http/http-decorators.mjs +0 -24
  361. package/websql/esm2022/lib/decorators/http/http-methods-decorators.mjs +0 -78
  362. package/websql/esm2022/lib/decorators/http/http-params-decorators.mjs +0 -47
  363. package/websql/esm2022/lib/dependency-injection/di-container.mjs +0 -32
  364. package/websql/esm2022/lib/endpoint-context.mjs +0 -1586
  365. package/websql/esm2022/lib/entity-process.mjs +0 -198
  366. package/websql/esm2022/lib/env.mjs +0 -6
  367. package/websql/esm2022/lib/get-response-value.mjs +0 -25
  368. package/websql/esm2022/lib/helpers/class-helpers.mjs +0 -183
  369. package/websql/esm2022/lib/helpers/taon-helpers.mjs +0 -120
  370. package/websql/esm2022/lib/index.mjs +0 -72
  371. package/websql/esm2022/lib/inject.mjs +0 -36
  372. package/websql/esm2022/lib/models.mjs +0 -97
  373. package/websql/esm2022/lib/orm.mjs +0 -65
  374. package/websql/esm2022/lib/realtime/realtime-client.mjs +0 -141
  375. package/websql/esm2022/lib/realtime/realtime-core.mjs +0 -62
  376. package/websql/esm2022/lib/realtime/realtime-server.mjs +0 -176
  377. package/websql/esm2022/lib/realtime/realtime-strategy/index.mjs +0 -7
  378. package/websql/esm2022/lib/realtime/realtime-strategy/realtime-strategy-ipc.mjs +0 -218
  379. package/websql/esm2022/lib/realtime/realtime-strategy/realtime-strategy-mock.mjs +0 -224
  380. package/websql/esm2022/lib/realtime/realtime-strategy/realtime-strategy-socket-io.mjs +0 -29
  381. package/websql/esm2022/lib/realtime/realtime-strategy/realtime-strategy.mjs +0 -14
  382. package/websql/esm2022/lib/realtime/realtime-subs-manager.mjs +0 -81
  383. package/websql/esm2022/lib/realtime/realtime.models.mjs +0 -4
  384. package/websql/esm2022/lib/storage.mjs +0 -5
  385. package/websql/esm2022/lib/symbols.mjs +0 -97
  386. package/websql/esm2022/lib/ui/directives/index.mjs +0 -6
  387. package/websql/esm2022/lib/ui/directives/safe.pipe.mjs +0 -43
  388. package/websql/esm2022/lib/ui/directives/taon-inject-html.directive.mjs +0 -24
  389. package/websql/esm2022/lib/ui/directives/taon-long-press.directive.mjs +0 -120
  390. package/websql/esm2022/lib/ui/index.mjs +0 -12
  391. package/websql/esm2022/lib/ui/taon-admin-mode-configuration/index.mjs +0 -4
  392. package/websql/esm2022/lib/ui/taon-admin-mode-configuration/taon-admin-mode-configuration.component.mjs +0 -194
  393. package/websql/esm2022/lib/ui/taon-admin-mode-configuration/taon-admin.service.mjs +0 -55
  394. package/websql/esm2022/lib/ui/taon-full-material.module.mjs +0 -179
  395. package/websql/esm2022/lib/ui/taon-github-fork-me-corner/index.mjs +0 -5
  396. package/websql/esm2022/lib/ui/taon-github-fork-me-corner/taon-github-fork-me-corner.component.mjs +0 -18
  397. package/websql/esm2022/lib/ui/taon-github-fork-me-corner/taon-github-fork-me-corner.module.mjs +0 -21
  398. package/websql/esm2022/lib/ui/taon-notifications/index.mjs +0 -7
  399. package/websql/esm2022/lib/ui/taon-notifications/taon-notifications.component.mjs +0 -25
  400. package/websql/esm2022/lib/ui/taon-notifications/taon-notifications.models.mjs +0 -5
  401. package/websql/esm2022/lib/ui/taon-notifications/taon-notifications.module.mjs +0 -21
  402. package/websql/esm2022/lib/ui/taon-notifications/taon-notifications.service.mjs +0 -48
  403. package/websql/esm2022/lib/ui/taon-progress-bar/index.mjs +0 -5
  404. package/websql/esm2022/lib/ui/taon-progress-bar/taon-progress-bar.component.mjs +0 -50
  405. package/websql/esm2022/lib/ui/taon-progress-bar/taon-progress-bar.module.mjs +0 -22
  406. package/websql/esm2022/lib/ui/taon-session-passcode/index.mjs +0 -4
  407. package/websql/esm2022/lib/ui/taon-session-passcode/taon-session-passcode.component.mjs +0 -120
  408. package/websql/esm2022/lib/ui/taon-table/index.mjs +0 -5
  409. package/websql/esm2022/lib/ui/taon-table/taon-table.component.mjs +0 -160
  410. package/websql/esm2022/lib/ui/taon-table/taon-table.module.mjs +0 -57
  411. package/websql/esm2022/lib/validators.mjs +0 -76
  412. package/websql/esm2022/public-api.mjs +0 -2
  413. package/websql/esm2022/taon.mjs +0 -5
@@ -1,514 +0,0 @@
1
- import { __decorate, __metadata } from "tslib";
2
- import { TaonRepository } from '../decorators/classes/repository-decorator';
3
- import { BaseInjector } from './base-injector';
4
- const INDEX_KEYS_NO_FOR_UPDATE = ['id'];
5
- let BaseRepository = class BaseRepository extends BaseInjector {
6
- constructor(__entityClassResolveFn) {
7
- super();
8
- this.__entityClassResolveFn = __entityClassResolveFn;
9
- // @ts-ignore
10
- this.entityClassResolveFn = __entityClassResolveFn;
11
- }
12
- get dbQuery() {
13
- /* */
14
- /* */
15
- /* */
16
- /* */
17
- /* */
18
- /* */
19
- /* */
20
- /* */
21
- /* */
22
- /* */
23
- /* */
24
- /* */
25
- /* */
26
- /* */
27
- /* */
28
- /* */
29
- /* */
30
- /* */
31
- /* */
32
- return (void 0);
33
- }
34
- get connection() {
35
- /* */
36
- /* */
37
- return (void 0);
38
- }
39
- /* */
40
- /* */
41
- get repository() {
42
- /* */
43
- /* */
44
- return (void 0);
45
- }
46
- /**
47
- * target for repository
48
- */
49
- get target() {
50
- /* */
51
- /* */
52
- return (void 0);
53
- }
54
- /**
55
- * alias to repository
56
- */
57
- get repo() {
58
- /* */
59
- /* */
60
- return (void 0);
61
- }
62
- get repositoryExists() {
63
- /* */
64
- /* */
65
- return (void 0);
66
- }
67
- async __init(context) {
68
- /* */
69
- /* */
70
- /* */
71
- /* */
72
- /* */
73
- /* */
74
- /* */
75
- /* */
76
- /* */
77
- /* */
78
- /* */
79
- /* */
80
- /* */
81
- /* */
82
- /* */
83
- /* */
84
- /* */
85
- /* */
86
- /* */
87
- /* */
88
- /* */
89
- /* */
90
- /* */
91
- /* */
92
- /* */
93
- /* */
94
- /* */
95
- /* */
96
- /* */
97
- /* */
98
- /* */
99
- /* */
100
- /* */
101
- /* */
102
- /* */
103
- /* */
104
- /* */
105
- /* */
106
- /* */
107
- /* */
108
- /* */
109
- /* */
110
- /* */
111
- /* */
112
- /* */
113
- /* */
114
- /* */
115
- /* */
116
- /* */
117
- /* */
118
- /* */
119
- }
120
- /**
121
- * Checks if entity has an id.
122
- * If entity composite compose ids, it will check them all.
123
- */
124
- hasId(entity) {
125
- return this.repo.hasId(entity);
126
- }
127
- /**
128
- * Gets entity mixed id.
129
- */
130
- getId(entity) {
131
- return this.repo.getId(entity);
132
- }
133
- /**
134
- Saves a given entity in the database.
135
- * If entity does not exist in the database then inserts, otherwise updates.
136
- */
137
- async save(item, options) {
138
- /* */
139
- /* */
140
- /* */
141
- /* */
142
- /* */
143
- /* */
144
- /* */
145
- /* */
146
- /* */
147
- /* */
148
- /* */
149
- return (void 0);
150
- }
151
- /**
152
- * alias to save
153
- * -> it will actuall create new entity in db
154
- * in oposite to typeorm create method
155
- */
156
- async create(item, options) {
157
- return this.save(item, options);
158
- }
159
- async bulkSave(items, options) {
160
- /* */
161
- /* */
162
- /* */
163
- /* */
164
- /* */
165
- /* */
166
- /* */
167
- /* */
168
- /* */
169
- return (void 0);
170
- }
171
- async bulkCreate(items, options) {
172
- return this.bulkSave(items, options);
173
- }
174
- /**
175
- * Saves all given entities in the database.
176
- * If entities do not exist in the database then inserts, otherwise updates.
177
- */
178
- /**
179
- * Merges multiple entities (or entity-like objects) into a given entity.
180
- */
181
- merge(mergeIntoEntity, ...entityLikes) {
182
- return this.repo.merge(mergeIntoEntity, ...entityLikes);
183
- }
184
- /**
185
- * Creates a new entity from the given plain javascript object. If entity already exist in the database, then
186
- * it loads it (and everything related to it), replaces all values with the new ones from the given object
187
- * and returns this new entity. This new entity is actually a loaded from the db entity with all properties
188
- * replaced from the new object.
189
- *
190
- * Note that given entity-like object must have an entity id / primary key to find entity by.
191
- * Returns undefined if entity with given id was not found.
192
- */
193
- preload(entityLike) {
194
- return this.repo.preload(entityLike);
195
- }
196
- /**
197
- * Removes a given entities from the database.
198
- */
199
- async remove(idOrEntity) {
200
- /* */
201
- /* */
202
- /* */
203
- /* */
204
- /* */
205
- /* */
206
- /* */
207
- /* */
208
- /* */
209
- /* */
210
- /* */
211
- /* */
212
- /* */
213
- return (void 0);
214
- }
215
- /**
216
- * alias to remove
217
- */
218
- async delete(idOrEntity) {
219
- return this.remove(idOrEntity);
220
- }
221
- /**
222
- * alias to removeById
223
- */
224
- async deleteById(id) {
225
- return this.remove(id);
226
- }
227
- async bulkRemove(idsOrEntities) {
228
- /* */
229
- /* */
230
- /* */
231
- /* */
232
- /* */
233
- /* */
234
- /* */
235
- /* */
236
- /* */
237
- /* */
238
- /* */
239
- /* */
240
- return (void 0);
241
- }
242
- async bulkDelete(ids) {
243
- return this.bulkRemove(ids);
244
- }
245
- /**
246
- * Records the delete date of a given entity.
247
- */
248
- softRemove(entity, options) {
249
- return this.repo.softRemove(entity, options);
250
- }
251
- /**
252
- * Recovers a given entity in the database.
253
- */
254
- recover(entity, options) {
255
- return this.repo.recover(entity, options);
256
- }
257
- /**
258
- * Inserts a given entity into the database.
259
- * Unlike save method executes a primitive operation without cascades, relations and other operations included.
260
- * Executes fast and efficient INSERT query.
261
- * Does not check if entity exist in the database, so query will fail if duplicate entity is being inserted.
262
- */
263
- insert(entity) {
264
- return this.repo.insert(entity);
265
- }
266
- async update(item) {
267
- /* */
268
- /* */
269
- /* */
270
- return (void 0);
271
- }
272
- async updateById(id, item) {
273
- /* */
274
- /* */
275
- /* */
276
- /* */
277
- /* */
278
- /* */
279
- /* */
280
- /* */
281
- /* */
282
- /* */
283
- /* */
284
- /* */
285
- /* */
286
- /* */
287
- /* */
288
- /* */
289
- /* */
290
- /* */
291
- /* */
292
- /* */
293
- /* */
294
- /* */
295
- /* */
296
- /* */
297
- /* */
298
- /* */
299
- /* */
300
- /* */
301
- /* */
302
- /* */
303
- /* */
304
- /* */
305
- /* */
306
- /* */
307
- /* */
308
- /* */
309
- /* */
310
- /* */
311
- /* */
312
- /* */
313
- /* */
314
- /* */
315
- return (void 0);
316
- }
317
- async bulkUpdate(items) {
318
- /* */
319
- /* */
320
- /* */
321
- /* */
322
- /* */
323
- /* */
324
- /* */
325
- /* */
326
- /* */
327
- return (void 0);
328
- }
329
- /**
330
- * Inserts a given entity into the database, unless a unique constraint conflicts then updates the entity
331
- * Unlike save method executes a primitive operation without cascades, relations and other operations included.
332
- * Executes fast and efficient INSERT ... ON CONFLICT DO UPDATE/ON DUPLICATE KEY UPDATE query.
333
- */
334
- upsert(entityOrEntities, conflictPathsOrOptions) {
335
- return this.repo.upsert(entityOrEntities, conflictPathsOrOptions);
336
- }
337
- /**
338
- * Records the delete date of entities by a given criteria.
339
- * Unlike save method executes a primitive operation without cascades, relations and other operations included.
340
- * Executes fast and efficient SOFT-DELETE query.
341
- * Does not check if entity exist in the database.
342
- */
343
- softDelete(criteria) {
344
- return this.repo.softDelete(criteria);
345
- }
346
- /**
347
- * Restores entities by a given criteria.
348
- * Unlike save method executes a primitive operation without cascades, relations and other operations included.
349
- * Executes fast and efficient SOFT-DELETE query.
350
- * Does not check if entity exist in the database.
351
- */
352
- restore(criteria) {
353
- return this.repo.restore(criteria);
354
- }
355
- /**
356
- * Counts entities that match given options.
357
- * Useful for pagination.
358
- */
359
- count(options) {
360
- return this.repo.count(options);
361
- }
362
- /**
363
- * Counts entities that match given conditions.
364
- * Useful for pagination.
365
- */
366
- countBy(where) {
367
- return this.repo.countBy(where);
368
- }
369
- /**
370
- * Finds entities that match given find options.
371
- */
372
- find(options) {
373
- return this.repo.find(options);
374
- }
375
- /**
376
- * Finds entities that match given find options.
377
- */
378
- findBy(where) {
379
- return this.repo.findBy(where);
380
- }
381
- //
382
- /**
383
- * Finds entities that match given find options.
384
- * Also counts all entities that match given conditions,
385
- * but ignores pagination settings (from and take options).
386
- */
387
- findAndCount(options) {
388
- return this.repo.findAndCount(options);
389
- }
390
- /**
391
- * Finds entities that match given WHERE conditions.
392
- * Also counts all entities that match given conditions,
393
- * but ignores pagination settings (from and take options).
394
- */
395
- findAndCountBy(where) {
396
- return this.repo.findAndCountBy(where);
397
- }
398
- /**
399
- * Finds entities with ids.
400
- * Optionally find options or conditions can be applied.
401
- *
402
- * @deprecated use `findBy` method instead in conjunction with `In` operator, for example:
403
- *
404
- * .findBy({
405
- * id: In([1, 2, 3])
406
- * })
407
- */
408
- findByIds(ids) {
409
- return this.repo.findByIds(ids);
410
- }
411
- /**
412
- * Finds first entity by a given find options.
413
- * If entity was not found in the database - returns null.
414
- */
415
- findOne(options) {
416
- return this.repo.findOne(options);
417
- }
418
- /**
419
- * Finds first entity that matches given where condition.
420
- * If entity was not found in the database - returns null.
421
- */
422
- findOneBy(where) {
423
- return this.repo.findOneBy(where);
424
- }
425
- /**
426
- * Finds first entity that matches given id.
427
- * If entity was not found in the database - returns null.
428
- *
429
- * @deprecated use `findOneBy` method instead in conjunction with `In` operator, for example:
430
- *
431
- * .findOneBy({
432
- * id: 1 // where "id" is your primary column name
433
- * })
434
- */
435
- findOneById(id) {
436
- return this.repo.findOneById(id);
437
- }
438
- /**
439
- * Finds first entity by a given find options.
440
- * If entity was not found in the database - rejects with error.
441
- */
442
- findOneOrFail(options) {
443
- return this.repo.findOneOrFail(options);
444
- }
445
- /**
446
- * Finds first entity that matches given where condition.
447
- * If entity was not found in the database - rejects with error.
448
- */
449
- findOneByOrFail(where) {
450
- return this.repo.findOneByOrFail(where);
451
- }
452
- /**
453
- * Executes a raw SQL query and returns a raw database results.
454
- * Raw query execution is supported only by relational databases (MongoDB is not supported).
455
- */
456
- query(query, parameters) {
457
- return this.repo.query(query, parameters);
458
- }
459
- /**
460
- * Clears all the data from the given table/collection (truncates/drops it).
461
- *
462
- * Note: this method uses TRUNCATE and may not work as you expect in transactions on some platforms.
463
- * @see https://stackoverflow.com/a/5972738/925151
464
- */
465
- clear() {
466
- return this.repo.clear();
467
- }
468
- /**
469
- * Increments some column by provided value of the entities matched given conditions.
470
- */
471
- increment(conditions, propertyPath, value) {
472
- return this.repo.increment(conditions, propertyPath, value);
473
- }
474
- /**
475
- * Decrements some column by provided value of the entities matched given conditions.
476
- */
477
- decrement(conditions, propertyPath, value) {
478
- return this.repo.decrement(conditions, propertyPath, value);
479
- }
480
- /**
481
- * @deprecated use findAndCount instead
482
- */
483
- async getAll() {
484
- /* */
485
- /* */
486
- /* */
487
- /* */
488
- /* */
489
- /* */
490
- /* */
491
- /* */
492
- /* */
493
- /* */
494
- /* */
495
- return (void 0);
496
- }
497
- async getBy(id) {
498
- /* */
499
- /* */
500
- /* */
501
- /* */
502
- /* */
503
- /* */
504
- return (void 0);
505
- }
506
- };
507
- BaseRepository = __decorate([
508
- TaonRepository({ className: 'BaseRepository' }),
509
- __metadata("design:paramtypes", [Function])
510
- ], BaseRepository);
511
- export { BaseRepository };
512
- ;
513
- ({}); // @--end-of-file-for-module=taon lib/base-classes/base-repository.ts
514
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1yZXBvc2l0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3QvdGFvbi9wcm9qZWN0cy90YW9uL3NyYy9saWIvYmFzZS1jbGFzc2VzL2Jhc2UtcmVwb3NpdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBOEJBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFHL0MsTUFBTSx3QkFBd0IsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0FBR2pDLElBQWUsY0FBYyxHQUE3QixNQUFlLGNBRXBCLFNBQVEsWUFBWTtJQVFwQixZQUVVLHNCQUFpQztRQUV6QyxLQUFLLEVBQUUsQ0FBQztRQUZBLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBVztRQUd6QyxhQUFhO1FBQ2IsSUFBSSxDQUFDLG9CQUFvQixHQUFHLHNCQUFzQixDQUFDO0lBQ3JELENBQUM7SUFNRCxJQUFXLE9BQU87UUFDcEIsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFJRCxJQUFXLFVBQVU7UUFDdkIsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBSUgsS0FBSztJQUNMLEtBQUs7SUFFSCxJQUFjLFVBQVU7UUFDMUIsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLE1BQU07UUFDbkIsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFjLElBQUk7UUFDcEIsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBRUQsSUFBVyxnQkFBZ0I7UUFDN0IsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBTUQsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFhO1FBQzVCLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztJQUVILENBQUM7SUFJRDs7O09BR0c7SUFDSCxLQUFLLENBQUMsTUFBYztRQUNsQixPQUFPLElBQUksQ0FBQyxJ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QUM7SUFJRDs7Ozs7T0FLRztJQUNILEtBQUs7UUFDSCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUlEOztPQUVHO0lBQ0gsU0FBUyxDQUNQLFVBQW9DLEVBQ3BDLFlBQW9CLEVBQ3BCLEtBQXNCO1FBRXRCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxFQUFFLFlBQVksRUFBRSxLQUFLLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBSUQ7O09BRUc7SUFDSCxTQUFTLENBQ1AsVUFBb0MsRUFDcEMsWUFBb0IsRUFDcEIsS0FBc0I7UUFFdEIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLEVBQUUsWUFBWSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFJRDs7T0FFRztJQUNILEtBQUssQ0FBQyxNQUFNO1FBQ2QsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBSUQsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFtQjtRQUNqQyxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0NBRUYsQ0FBQTtBQXYzQnFCLGNBQWM7SUFEbkMsY0FBYyxDQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLENBQUM7O0dBQzFCLGNBQWMsQ0F1M0JuQzs7QUFFQSxDQUFDO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLHFFQUFxRSIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5cbmltcG9ydCB0eXBlIHtcbiAgRGF0YVNvdXJjZSxcbiAgRGVlcFBhcnRpYWwsXG4gIERlbGV0ZVJlc3VsdCxcbiAgRmluZE1hbnlPcHRpb25zLFxuICBGaW5kT25lT3B0aW9ucyxcbiAgRmluZE9wdGlvbnNXaGVyZSxcbiAgSW5zZXJ0UmVzdWx0LFxuXG4gIFJlbW92ZU9wdGlvbnMsXG4gIFJlcG9zaXRvcnksXG4gIFNhdmVPcHRpb25zLFxuICBVcGRhdGVSZXN1bHQsXG59IGZyb20gJ3Rhb24tdHlwZW9ybSc7XG5cbmltcG9ydCB0eXBlIHsgUXVlcnlEZWVwUGFydGlhbEVudGl0eSB9IGZyb20gJ3Rhb24tdHlwZW9ybS9saWIvdHlwZW9ybS9xdWVyeS1idWlsZGVyL1F1ZXJ5UGFydGlhbEVudGl0eSc7XG5cbmltcG9ydCB0eXBlIHsgVXBzZXJ0T3B0aW9ucyB9IGZyb20gJ3Rhb24tdHlwZW9ybS9saWIvdHlwZW9ybS9yZXBvc2l0b3J5L1Vwc2VydE9wdGlvbnMnO1xuXG5cblxuaW1wb3J0IHR5cGUgeyBEYXRhU291cmNlIGFzIERhdGFTb3VyY2VUeXBlIH0gZnJvbSAndGFvbi10eXBlb3JtL2Jyb3dzZXInO1xuaW1wb3J0IHsgRW5kcG9pbnRDb250ZXh0IH0gZnJvbSAnLi4vZW5kcG9pbnQtY29udGV4dCc7XG5pbXBvcnQgeyBIZWxwZXJzIH0gZnJvbSAndG5wLWNvcmUvYnJvd3Nlcic7XG5pbXBvcnQgeyBfIH0gZnJvbSAndG5wLWNvcmUvYnJvd3Nlcic7XG5pbXBvcnQgeyBDbGFzc0hlbHBlcnMgfSBmcm9tICcuLi9oZWxwZXJzL2NsYXNzLWhlbHBlcnMnO1xuaW1wb3J0IHsgTXlTcWxRdWVyeVNvdXJjZSB9IGZyb20gJ3Rhb24tdHlwZS1zcWwvYnJvd3Nlcic7XG5pbXBvcnQgeyBUYW9uUmVwb3NpdG9yeSB9IGZyb20gJy4uL2RlY29yYXRvcnMvY2xhc3Nlcy9yZXBvc2l0b3J5LWRlY29yYXRvcic7XG5pbXBvcnQgeyBCYXNlSW5qZWN0b3IgfSBmcm9tICcuL2Jhc2UtaW5qZWN0b3InO1xuXG5cbmNvbnN0IElOREVYX0tFWVNfTk9fRk9SX1VQREFURSA9IFsnaWQnXTtcblxuQFRhb25SZXBvc2l0b3J5KHsgY2xhc3NOYW1lOiAnQmFzZVJlcG9zaXRvcnknIH0pXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZVJlcG9zaXRvcnk8XG4gIEVudGl0eSBleHRlbmRzIHsgaWQ/OiBhbnkgfSxcbj4gZXh0ZW5kcyBCYXNlSW5qZWN0b3Ige1xuXG5cblxuXG5cblxuICBhYnN0cmFjdCBlbnRpdHlDbGFzc1Jlc29sdmVGbjogKCkgPT4gYW55O1xuICBjb25zdHJ1Y3RvcihcblxuICAgIHByaXZhdGUgX19lbnRpdHlDbGFzc1Jlc29sdmVGbjogKCkgPT4gYW55LFxuICApIHtcbiAgICBzdXBlcigpO1xuICAgIC8vIEB0cy1pZ25vcmVcbiAgICB0aGlzLmVudGl0eUNsYXNzUmVzb2x2ZUZuID0gX19lbnRpdHlDbGFzc1Jlc29sdmVGbjtcbiAgfVxuXG5cblxuICBwcml2YXRlIF9fZGJRdWVyeTogTXlTcWxRdWVyeVNvdXJjZTtcblxuICBwdWJsaWMgZ2V0IGRiUXVlcnkoKTogTXlTcWxRdWVyeVNvdXJjZSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBwdWJsaWMgZ2V0IGNvbm5lY3Rpb24oKTogRGF0YVNvdXJjZVR5cGUge1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4vKiAqL1xuLyogKi9cbiAgXG4gIHByb3RlY3RlZCBnZXQgcmVwb3NpdG9yeSgpIHtcbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG4gIC8qKlxuICAgKiB0YXJnZXQgZm9yIHJlcG9zaXRvcnlcbiAgICovXG4gIHB1YmxpYyBnZXQgdGFyZ2V0KCk6IEZ1bmN0aW9uIHtcbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBhbGlhcyB0byByZXBvc2l0b3J5XG4gICAqL1xuICBwcm90ZWN0ZWQgZ2V0IHJlcG8oKSB7XG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHJlcG9zaXRvcnlFeGlzdHMoKTogYm9vbGVhbiB7XG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cblxuXG4gIGFzeW5jIF9faW5pdChjb250ZXh0PzogYW55KSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuICB9XG5cblxuXG4gIC8qKlxuICAgKiBDaGVja3MgaWYgZW50aXR5IGhhcyBhbiBpZC5cbiAgICogSWYgZW50aXR5IGNvbXBvc2l0ZSBjb21wb3NlIGlkcywgaXQgd2lsbCBjaGVjayB0aGVtIGFsbC5cbiAgICovXG4gIGhhc0lkKGVudGl0eTogRW50aXR5KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMucmVwby5oYXNJZChlbnRpdHkpO1xuICB9XG5cblxuXG4gIC8qKlxuICAgKiBHZXRzIGVudGl0eSBtaXhlZCBpZC5cbiAgICovXG4gIGdldElkKGVudGl0eTogRW50aXR5KTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5yZXBvLmdldElkKGVudGl0eSk7XG4gIH1cblxuXG5cbiAgLyoqXG4gICAgU2F2ZXMgYSBnaXZlbiBlbnRpdHkgaW4gdGhlIGRhdGFiYXNlLlxuICAgKiBJZiBlbnRpdHkgZG9lcyBub3QgZXhpc3QgaW4gdGhlIGRhdGFiYXNlIHRoZW4gaW5zZXJ0cywgb3RoZXJ3aXNlIHVwZGF0ZXMuXG4gICAqL1xuICBhc3luYyBzYXZlKFxuICAgIGl0ZW06IEVudGl0eSxcbiAgICBvcHRpb25zPzogU2F2ZU9wdGlvbnMgJiB7XG4gICAgICByZWxvYWQ6IGZhbHNlO1xuICAgIH0sXG4gICk6IFByb21pc2U8RW50aXR5PiB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuICAvKipcbiAgICogYWxpYXMgdG8gc2F2ZVxuICAgKiAtPiBpdCB3aWxsIGFjdHVhbGwgY3JlYXRlIG5ldyBlbnRpdHkgaW4gZGJcbiAgICogaW4gb3Bvc2l0ZSB0byB0eXBlb3JtIGNyZWF0ZSBtZXRob2RcbiAgICovXG4gIGFzeW5jIGNyZWF0ZShcbiAgICBpdGVtOiBFbnRpdHksXG4gICAgb3B0aW9ucz86IFNhdmVPcHRpb25zICYge1xuICAgICAgcmVsb2FkOiBmYWxzZTtcbiAgICB9LFxuICApOiBQcm9taXNlPEVudGl0eT4ge1xuICAgIHJldHVybiB0aGlzLnNhdmUoaXRlbSwgb3B0aW9ucyk7XG4gIH1cblxuICBhc3luYyBidWxrU2F2ZShcbiAgICBpdGVtczogRW50aXR5W10sXG4gICAgb3B0aW9ucz86IFNhdmVPcHRpb25zICYge1xuICAgICAgcmVsb2FkOiBmYWxzZTtcbiAgICB9LFxuICApOiBQcm9taXNlPEVudGl0eVtdPiB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cbiAgYXN5bmMgYnVsa0NyZWF0ZShcbiAgICBpdGVtczogRW50aXR5W10sXG4gICAgb3B0aW9ucz86IFNhdmVPcHRpb25zICYge1xuICAgICAgcmVsb2FkOiBmYWxzZTtcbiAgICB9LFxuICApOiBQcm9taXNlPEVudGl0eVtdPiB7XG4gICAgcmV0dXJuIHRoaXMuYnVsa1NhdmUoaXRlbXMsIG9wdGlvbnMpO1xuICB9XG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cbiAgLyoqXG4gICAqIFNhdmVzIGFsbCBnaXZlbiBlbnRpdGllcyBpbiB0aGUgZGF0YWJhc2UuXG4gICAqIElmIGVudGl0aWVzIGRvIG5vdCBleGlzdCBpbiB0aGUgZGF0YWJhc2UgdGhlbiBpbnNlcnRzLCBvdGhlcndpc2UgdXBkYXRlcy5cbiAgICovXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG4gIC8qKlxuICAgKiBNZXJnZXMgbXVsdGlwbGUgZW50aXRpZXMgKG9yIGVudGl0eS1saWtlIG9iamVjdHMpIGludG8gYSBnaXZlbiBlbnRpdHkuXG4gICAqL1xuICBtZXJnZShtZXJnZUludG9FbnRpdHk6IEVudGl0eSwgLi4uZW50aXR5TGlrZXM6IEVudGl0eVtdKTogRW50aXR5IHtcbiAgICByZXR1cm4gdGhpcy5yZXBvLm1lcmdlKG1lcmdlSW50b0VudGl0eSwgLi4uZW50aXR5TGlrZXMpO1xuICB9XG5cblxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IGVudGl0eSBmcm9tIHRoZSBnaXZlbiBwbGFpbiBqYXZhc2NyaXB0IG9iamVjdC4gSWYgZW50aXR5IGFscmVhZHkgZXhpc3QgaW4gdGhlIGRhdGFiYXNlLCB0aGVuXG4gICAqIGl0IGxvYWRzIGl0IChhbmQgZXZlcnl0aGluZyByZWxhdGVkIHRvIGl0KSwgcmVwbGFjZXMgYWxsIHZhbHVlcyB3aXRoIHRoZSBuZXcgb25lcyBmcm9tIHRoZSBnaXZlbiBvYmplY3RcbiAgICogYW5kIHJldHVybnMgdGhpcyBuZXcgZW50aXR5LiBUaGlzIG5ldyBlbnRpdHkgaXMgYWN0dWFsbHkgYSBsb2FkZWQgZnJvbSB0aGUgZGIgZW50aXR5IHdpdGggYWxsIHByb3BlcnRpZXNcbiAgICogcmVwbGFjZWQgZnJvbSB0aGUgbmV3IG9iamVjdC5cbiAgICpcbiAgICogTm90ZSB0aGF0IGdpdmVuIGVudGl0eS1saWtlIG9iamVjdCBtdXN0IGhhdmUgYW4gZW50aXR5IGlkIC8gcHJpbWFyeSBrZXkgdG8gZmluZCBlbnRpdHkgYnkuXG4gICAqIFJldHVybnMgdW5kZWZpbmVkIGlmIGVudGl0eSB3aXRoIGdpdmVuIGlkIHdhcyBub3QgZm91bmQuXG4gICAqL1xuICBwcmVsb2FkKGVudGl0eUxpa2U6IEVudGl0eSk6IFByb21pc2U8RW50aXR5IHwgdW5kZWZpbmVkPiB7XG4gICAgcmV0dXJuIHRoaXMucmVwby5wcmVsb2FkKGVudGl0eUxpa2UpO1xuICB9XG5cblxuXG5cbiAgLyoqXG4gICAqIFJlbW92ZXMgYSBnaXZlbiBlbnRpdGllcyBmcm9tIHRoZSBkYXRhYmFzZS5cbiAgICovXG4gIGFzeW5jIHJlbW92ZShpZE9yRW50aXR5OiBudW1iZXIgfCBzdHJpbmcgfCBFbnRpdHkpOiBQcm9taXNlPEVudGl0eT4ge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuICAvKipcbiAgICogYWxpYXMgdG8gcmVtb3ZlXG4gICAqL1xuICBhc3luYyBkZWxldGUoaWRPckVudGl0eTogbnVtYmVyIHwgc3RyaW5nIHwgRW50aXR5KTogUHJvbWlzZTxFbnRpdHk+IHtcbiAgICByZXR1cm4gdGhpcy5yZW1vdmUoaWRPckVudGl0eSk7XG4gIH1cblxuICAvKipcbiAgICogYWxpYXMgdG8gcmVtb3ZlQnlJZFxuICAgKi9cbiAgYXN5bmMgZGVsZXRlQnlJZChpZDogbnVtYmVyIHwgc3RyaW5nKTogUHJvbWlzZTxFbnRpdHk+IHtcbiAgICByZXR1cm4gdGhpcy5yZW1vdmUoaWQpO1xuICB9XG4gIGFzeW5jIGJ1bGtSZW1vdmUoXG4gICAgaWRzT3JFbnRpdGllczogKG51bWJlciB8IHN0cmluZyB8IEVudGl0eSlbXSxcbiAgKTogUHJvbWlzZTxFbnRpdHlbXT4ge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG4gIGFzeW5jIGJ1bGtEZWxldGUoaWRzOiAobnVtYmVyIHwgc3RyaW5nIHwgRW50aXR5KVtdKTogUHJvbWlzZTxFbnRpdHlbXT4ge1xuICAgIHJldHVybiB0aGlzLmJ1bGtSZW1vdmUoaWRzKTtcbiAgfVxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cbiAgLyoqXG4gICAqIFJlY29yZHMgdGhlIGRlbGV0ZSBkYXRlIG9mIGFsbCBnaXZlbiBlbnRpdGllcy5cbiAgICovXG4gIHNvZnRSZW1vdmU8VCBleHRlbmRzIEVudGl0eT4oXG4gICAgZW50aXRpZXM6IFRbXSxcbiAgICBvcHRpb25zOiBTYXZlT3B0aW9ucyAmIHtcbiAgICAgIHJlbG9hZDogZmFsc2U7XG4gICAgfSxcbiAgKTogUHJvbWlzZTxUW10+O1xuICAvKipcbiAgICogUmVjb3JkcyB0aGUgZGVsZXRlIGRhdGUgb2YgYWxsIGdpdmVuIGVudGl0aWVzLlxuICAgKi9cbiAgc29mdFJlbW92ZTxUIGV4dGVuZHMgRW50aXR5PihcbiAgICBlbnRpdGllczogVFtdLFxuICAgIG9wdGlvbnM/OiBTYXZlT3B0aW9ucyxcbiAgKTogUHJvbWlzZTwoVCAmIEVudGl0eSlbXT47XG4gIC8qKlxuICAgKiBSZWNvcmRzIHRoZSBkZWxldGUgZGF0ZSBvZiBhIGdpdmVuIGVudGl0eS5cbiAgICovXG4gIHNvZnRSZW1vdmU8VCBleHRlbmRzIEVudGl0eT4oXG4gICAgZW50aXR5OiBULFxuICAgIG9wdGlvbnM6IFNhdmVPcHRpb25zICYge1xuICAgICAgcmVsb2FkOiBmYWxzZTtcbiAgICB9LFxuICApOiBQcm9taXNlPFQ+O1xuICAvKipcbiAgICogUmVjb3JkcyB0aGUgZGVsZXRlIGRhdGUgb2YgYSBnaXZlbiBlbnRpdHkuXG4gICAqL1xuICBzb2Z0UmVtb3ZlPFQgZXh0ZW5kcyBFbnRpdHk+KFxuICAgIGVudGl0eTogVCxcbiAgICBvcHRpb25zPzogU2F2ZU9wdGlvbnMsXG4gICk6IFByb21pc2U8VCAmIEVudGl0eT4ge1xuICAgIHJldHVybiB0aGlzLnJlcG8uc29mdFJlbW92ZShlbnRpdHksIG9wdGlvbnMpO1xuICB9XG5cblxuXG4gIC8qKlxuICAgKiBSZWNvdmVycyBhbGwgZ2l2ZW4gZW50aXRpZXMgaW4gdGhlIGRhdGFiYXNlLlxuICAgKi9cbiAgcmVjb3ZlcjxUIGV4dGVuZHMgRW50aXR5PihcbiAgICBlbnRpdGllczogVFtdLFxuICAgIG9wdGlvbnM6IFNhdmVPcHRpb25zICYge1xuICAgICAgcmVsb2FkOiBmYWxzZTtcbiAgICB9LFxuICApOiBQcm9taXNlPFRbXT47XG4gIC8qKlxuICAgKiBSZWNvdmVycyBhbGwgZ2l2ZW4gZW50aXRpZXMgaW4gdGhlIGRhdGFiYXNlLlxuICAgKi9cbiAgcmVjb3ZlcjxUIGV4dGVuZHMgRW50aXR5PihcbiAgICBlbnRpdGllczogVFtdLFxuICAgIG9wdGlvbnM/OiBTYXZlT3B0aW9ucyxcbiAgKTogUHJvbWlzZTwoVCAmIEVudGl0eSlbXT47XG4gIC8qKlxuICAgKiBSZWNvdmVycyBhIGdpdmVuIGVudGl0eSBpbiB0aGUgZGF0YWJhc2UuXG4gICAqL1xuICByZWNvdmVyPFQgZXh0ZW5kcyBFbnRpdHk+KFxuICAgIGVudGl0eTogVCxcbiAgICBvcHRpb25zOiBTYXZlT3B0aW9ucyAmIHtcbiAgICAgIHJlbG9hZDogZmFsc2U7XG4gICAgfSxcbiAgKTogUHJvbWlzZTxUPjtcbiAgLyoqXG4gICAqIFJlY292ZXJzIGEgZ2l2ZW4gZW50aXR5IGluIHRoZSBkYXRhYmFzZS5cbiAgICovXG4gIHJlY292ZXI8VCBleHRlbmRzIEVudGl0eT4oXG4gICAgZW50aXR5OiBULFxuICAgIG9wdGlvbnM/OiBTYXZlT3B0aW9ucyxcbiAgKTogUHJvbWlzZTxUICYgRW50aXR5PiB7XG4gICAgcmV0dXJuIHRoaXMucmVwby5yZWNvdmVyKGVudGl0eSwgb3B0aW9ucyk7XG4gIH1cblxuXG5cbiAgLyoqXG4gICAqIEluc2VydHMgYSBnaXZlbiBlbnRpdHkgaW50byB0aGUgZGF0YWJhc2UuXG4gICAqIFVubGlrZSBzYXZlIG1ldGhvZCBleGVjdXRlcyBhIHByaW1pdGl2ZSBvcGVyYXRpb24gd2l0aG91dCBjYXNjYWRlcywgcmVsYXRpb25zIGFuZCBvdGhlciBvcGVyYXRpb25zIGluY2x1ZGVkLlxuICAgKiBFeGVjdXRlcyBmYXN0IGFuZCBlZmZpY2llbnQgSU5TRVJUIHF1ZXJ5LlxuICAgKiBEb2VzIG5vdCBjaGVjayBpZiBlbnRpdHkgZXhpc3QgaW4gdGhlIGRhdGFiYXNlLCBzbyBxdWVyeSB3aWxsIGZhaWwgaWYgZHVwbGljYXRlIGVudGl0eSBpcyBiZWluZyBpbnNlcnRlZC5cbiAgICovXG4gIGluc2VydChcbiAgICBlbnRpdHk6IFF1ZXJ5RGVlcFBhcnRpYWxFbnRpdHk8RW50aXR5PiB8IFF1ZXJ5RGVlcFBhcnRpYWxFbnRpdHk8RW50aXR5PltdLFxuICApOiBQcm9taXNlPEluc2VydFJlc3VsdD4ge1xuICAgIHJldHVybiB0aGlzLnJlcG8uaW5zZXJ0KGVudGl0eSk7XG4gIH1cblxuXG5cbiAgYXN5bmMgdXBkYXRlKGl0ZW06IEVudGl0eSkge1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG4gIGFzeW5jIHVwZGF0ZUJ5SWQoaWQ6IG51bWJlciB8IHN0cmluZywgaXRlbTogRW50aXR5KSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG4gIGFzeW5jIGJ1bGtVcGRhdGUoaXRlbXM6IEVudGl0eVtdKSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuICAvKipcbiAgICogSW5zZXJ0cyBhIGdpdmVuIGVudGl0eSBpbnRvIHRoZSBkYXRhYmFzZSwgdW5sZXNzIGEgdW5pcXVlIGNvbnN0cmFpbnQgY29uZmxpY3RzIHRoZW4gdXBkYXRlcyB0aGUgZW50aXR5XG4gICAqIFVubGlrZSBzYXZlIG1ldGhvZCBleGVjdXRlcyBhIHByaW1pdGl2ZSBvcGVyYXRpb24gd2l0aG91dCBjYXNjYWRlcywgcmVsYXRpb25zIGFuZCBvdGhlciBvcGVyYXRpb25zIGluY2x1ZGVkLlxuICAgKiBFeGVjdXRlcyBmYXN0IGFuZCBlZmZpY2llbnQgSU5TRVJUIC4uLiBPTiBDT05GTElDVCBETyBVUERBVEUvT04gRFVQTElDQVRFIEtFWSBVUERBVEUgcXVlcnkuXG4gICAqL1xuICB1cHNlcnQoXG4gICAgZW50aXR5T3JFbnRpdGllczpcbiAgICAgIHwgUXVlcnlEZWVwUGFydGlhbEVudGl0eTxFbnRpdHk+XG4gICAgICB8IFF1ZXJ5RGVlcFBhcnRpYWxFbnRpdHk8RW50aXR5PltdLFxuICAgIGNvbmZsaWN0UGF0aHNPck9wdGlvbnM6IHN0cmluZ1tdIHwgVXBzZXJ0T3B0aW9uczxFbnRpdHk+LFxuICApOiBQcm9taXNlPEluc2VydFJlc3VsdD4ge1xuICAgIHJldHVybiB0aGlzLnJlcG8udXBzZXJ0KGVudGl0eU9yRW50aXRpZXMsIGNvbmZsaWN0UGF0aHNPck9wdGlvbnMpO1xuICB9XG5cblxuXG4gIC8qKlxuICAgKiBSZWNvcmRzIHRoZSBkZWxldGUgZGF0ZSBvZiBlbnRpdGllcyBieSBhIGdpdmVuIGNyaXRlcmlhLlxuICAgKiBVbmxpa2Ugc2F2ZSBtZXRob2QgZXhlY3V0ZXMgYSBwcmltaXRpdmUgb3BlcmF0aW9uIHdpdGhvdXQgY2FzY2FkZXMsIHJlbGF0aW9ucyBhbmQgb3RoZXIgb3BlcmF0aW9ucyBpbmNsdWRlZC5cbiAgICogRXhlY3V0ZXMgZmFzdCBhbmQgZWZmaWNpZW50IFNPRlQtREVMRVRFIHF1ZXJ5LlxuICAgKiBEb2VzIG5vdCBjaGVjayBpZiBlbnRpdHkgZXhpc3QgaW4gdGhlIGRhdGFiYXNlLlxuICAgKi9cbiAgc29mdERlbGV0ZShcbiAgICBjcml0ZXJpYTpcbiAgICAgIHwgc3RyaW5nXG4gICAgICB8IHN0cmluZ1tdXG4gICAgICB8IG51bWJlclxuICAgICAgfCBudW1iZXJbXVxuICAgICAgfCBEYXRlXG4gICAgICB8IERhdGVbXVxuXG5cbiAgICAgIHwgRmluZE9wdGlvbnNXaGVyZTxFbnRpdHk+LFxuICApOiBQcm9taXNlPFVwZGF0ZVJlc3VsdD4ge1xuICAgIHJldHVybiB0aGlzLnJlcG8uc29mdERlbGV0ZShjcml0ZXJpYSk7XG4gIH1cblxuXG5cbiAgLyoqXG4gICAqIFJlc3RvcmVzIGVudGl0aWVzIGJ5IGEgZ2l2ZW4gY3JpdGVyaWEuXG4gICAqIFVubGlrZSBzYXZlIG1ldGhvZCBleGVjdXRlcyBhIHByaW1pdGl2ZSBvcGVyYXRpb24gd2l0aG91dCBjYXNjYWRlcywgcmVsYXRpb25zIGFuZCBvdGhlciBvcGVyYXRpb25zIGluY2x1ZGVkLlxuICAgKiBFeGVjdXRlcyBmYXN0IGFuZCBlZmZpY2llbnQgU09GVC1ERUxFVEUgcXVlcnkuXG4gICAqIERvZXMgbm90IGNoZWNrIGlmIGVudGl0eSBleGlzdCBpbiB0aGUgZGF0YWJhc2UuXG4gICAqL1xuICByZXN0b3JlKFxuICAgIGNyaXRlcmlhOlxuICAgICAgfCBzdHJpbmdcbiAgICAgIHwgc3RyaW5nW11cbiAgICAgIHwgbnVtYmVyXG4gICAgICB8IG51bWJlcltdXG4gICAgICB8IERhdGVcbiAgICAgIHwgRGF0ZVtdXG5cblxuICAgICAgfCBGaW5kT3B0aW9uc1doZXJlPEVudGl0eT4sXG4gICk6IFByb21pc2U8VXBkYXRlUmVzdWx0PiB7XG4gICAgcmV0dXJuIHRoaXMucmVwby5yZXN0b3JlKGNyaXRlcmlhKTtcbiAgfVxuXG5cblxuICAvKipcbiAgICogQ291bnRzIGVudGl0aWVzIHRoYXQgbWF0Y2ggZ2l2ZW4gb3B0aW9ucy5cbiAgICogVXNlZnVsIGZvciBwYWdpbmF0aW9uLlxuICAgKi9cbiAgY291bnQob3B0aW9ucz86IEZpbmRNYW55T3B0aW9uczxFbnRpdHk+KTogUHJvbWlzZTxudW1iZXI+IHtcbiAgICByZXR1cm4gdGhpcy5yZXBvLmNvdW50KG9wdGlvbnMpO1xuICB9XG5cblxuXG4gIC8qKlxuICAgKiBDb3VudHMgZW50aXRpZXMgdGhhdCBtYXRjaCBnaXZlbiBjb25kaXRpb25zLlxuICAgKiBVc2VmdWwgZm9yIHBhZ2luYXRpb24uXG4gICAqL1xuICBjb3VudEJ5KFxuICAgIHdoZXJlOiBGaW5kT3B0aW9uc1doZXJlPEVudGl0eT4gfCBGaW5kT3B0aW9uc1doZXJlPEVudGl0eT5bXSxcbiAgKTogUHJvbWlzZTxudW1iZXI+IHtcbiAgICByZXR1cm4gdGhpcy5yZXBvLmNvdW50Qnkod2hlcmUpO1xuICB9XG5cblxuXG4gIC8qKlxuICAgKiBGaW5kcyBlbnRpdGllcyB0aGF0IG1hdGNoIGdpdmVuIGZpbmQgb3B0aW9ucy5cbiAgICovXG4gIGZpbmQob3B0aW9ucz86IEZpbmRNYW55T3B0aW9uczxFbnRpdHk+KTogUHJvbWlzZTxFbnRpdHlbXT4ge1xuICAgIHJldHVybiB0aGlzLnJlcG8uZmluZChvcHRpb25zKTtcbiAgfVxuXG5cblxuICAvKipcbiAgICogRmluZHMgZW50aXRpZXMgdGhhdCBtYXRjaCBnaXZlbiBmaW5kIG9wdGlvbnMuXG4gICAqL1xuICBmaW5kQnkoXG4gICAgd2hlcmU6IEZpbmRPcHRpb25zV2hlcmU8RW50aXR5PiB8IEZpbmRPcHRpb25zV2hlcmU8RW50aXR5PltdLFxuICApOiBQcm9taXNlPEVudGl0eVtdPiB7XG4gICAgcmV0dXJuIHRoaXMucmVwby5maW5kQnkod2hlcmUpO1xuICB9XG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuICAvL1xuICAvKipcbiAgICogRmluZHMgZW50aXRpZXMgdGhhdCBtYXRjaCBnaXZlbiBmaW5kIG9wdGlvbnMuXG4gICAqIEFsc28gY291bnRzIGFsbCBlbnRpdGllcyB0aGF0IG1hdGNoIGdpdmVuIGNvbmRpdGlvbnMsXG4gICAqIGJ1dCBpZ25vcmVzIHBhZ2luYXRpb24gc2V0dGluZ3MgKGZyb20gYW5kIHRha2Ugb3B0aW9ucykuXG4gICAqL1xuICBmaW5kQW5kQ291bnQob3B0aW9ucz86IEZpbmRNYW55T3B0aW9uczxFbnRpdHk+KTogUHJvbWlzZTxbRW50aXR5W10sIG51bWJlcl0+IHtcbiAgICByZXR1cm4gdGhpcy5yZXBvLmZpbmRBbmRDb3VudChvcHRpb25zKTtcbiAgfVxuXG5cblxuICAvKipcbiAgICogRmluZHMgZW50aXRpZXMgdGhhdCBtYXRjaCBnaXZlbiBXSEVSRSBjb25kaXRpb25zLlxuICAgKiBBbHNvIGNvdW50cyBhbGwgZW50aXRpZXMgdGhhdCBtYXRjaCBnaXZlbiBjb25kaXRpb25zLFxuICAgKiBidXQgaWdub3JlcyBwYWdpbmF0aW9uIHNldHRpbmdzIChmcm9tIGFuZCB0YWtlIG9wdGlvbnMpLlxuICAgKi9cbiAgZmluZEFuZENvdW50QnkoXG4gICAgd2hlcmU6IEZpbmRPcHRpb25zV2hlcmU8RW50aXR5PiB8IEZpbmRPcHRpb25zV2hlcmU8RW50aXR5PltdLFxuICApOiBQcm9taXNlPFtFbnRpdHlbXSwgbnVtYmVyXT4ge1xuICAgIHJldHVybiB0aGlzLnJlcG8uZmluZEFuZENvdW50Qnkod2hlcmUpO1xuICB9XG5cblxuXG4gIC8qKlxuICAgKiBGaW5kcyBlbnRpdGllcyB3aXRoIGlkcy5cbiAgICogT3B0aW9uYWxseSBmaW5kIG9wdGlvbnMgb3IgY29uZGl0aW9ucyBjYW4gYmUgYXBwbGllZC5cbiAgICpcbiAgICogQGRlcHJlY2F0ZWQgdXNlIGBmaW5kQnlgIG1ldGhvZCBpbnN0ZWFkIGluIGNvbmp1bmN0aW9uIHdpdGggYEluYCBvcGVyYXRvciwgZm9yIGV4YW1wbGU6XG4gICAqXG4gICAqIC5maW5kQnkoe1xuICAgKiAgICAgaWQ6IEluKFsxLCAyLCAzXSlcbiAgICogfSlcbiAgICovXG4gIGZpbmRCeUlkcyhpZHM6IGFueVtdKTogUHJvbWlzZTxFbnRpdHlbXT4ge1xuICAgIHJldHVybiB0aGlzLnJlcG8uZmluZEJ5SWRzKGlkcyk7XG4gIH1cblxuXG5cbiAgLyoqXG4gICAqIEZpbmRzIGZpcnN0IGVudGl0eSBieSBhIGdpdmVuIGZpbmQgb3B0aW9ucy5cbiAgICogSWYgZW50aXR5IHdhcyBub3QgZm91bmQgaW4gdGhlIGRhdGFiYXNlIC0gcmV0dXJucyBudWxsLlxuICAgKi9cbiAgZmluZE9uZShvcHRpb25zOiBGaW5kT25lT3B0aW9uczxFbnRpdHk+KTogUHJvbWlzZTxFbnRpdHkgfCBudWxsPiB7XG4gICAgcmV0dXJuIHRoaXMucmVwby5maW5kT25lKG9wdGlvbnMpO1xuICB9XG5cblxuXG4gIC8qKlxuICAgKiBGaW5kcyBmaXJzdCBlbnRpdHkgdGhhdCBtYXRjaGVzIGdpdmVuIHdoZXJlIGNvbmRpdGlvbi5cbiAgICogSWYgZW50aXR5IHdhcyBub3QgZm91bmQgaW4gdGhlIGRhdGFiYXNlIC0gcmV0dXJucyBudWxsLlxuICAgKi9cbiAgZmluZE9uZUJ5KFxuICAgIHdoZXJlOiBGaW5kT3B0aW9uc1doZXJlPEVudGl0eT4gfCBGaW5kT3B0aW9uc1doZXJlPEVudGl0eT5bXSxcbiAgKTogUHJvbWlzZTxFbnRpdHkgfCBudWxsPiB7XG4gICAgcmV0dXJuIHRoaXMucmVwby5maW5kT25lQnkod2hlcmUpO1xuICB9XG5cblxuXG4gIC8qKlxuICAgKiBGaW5kcyBmaXJzdCBlbnRpdHkgdGhhdCBtYXRjaGVzIGdpdmVuIGlkLlxuICAgKiBJZiBlbnRpdHkgd2FzIG5vdCBmb3VuZCBpbiB0aGUgZGF0YWJhc2UgLSByZXR1cm5zIG51bGwuXG4gICAqXG4gICAqIEBkZXByZWNhdGVkIHVzZSBgZmluZE9uZUJ5YCBtZXRob2QgaW5zdGVhZCBpbiBjb25qdW5jdGlvbiB3aXRoIGBJbmAgb3BlcmF0b3IsIGZvciBleGFtcGxlOlxuICAgKlxuICAgKiAuZmluZE9uZUJ5KHtcbiAgICogICAgIGlkOiAxIC8vIHdoZXJlIFwiaWRcIiBpcyB5b3VyIHByaW1hcnkgY29sdW1uIG5hbWVcbiAgICogfSlcbiAgICovXG4gIGZpbmRPbmVCeUlkKFxuICAgIGlkOiBudW1iZXIgfCBzdHJpbmcgfCBEYXRlLFxuXG4gICk6IFByb21pc2U8RW50aXR5IHwgbnVsbD4ge1xuICAgIHJldHVybiB0aGlzLnJlcG8uZmluZE9uZUJ5SWQoaWQpO1xuICB9XG5cblxuXG4gIC8qKlxuICAgKiBGaW5kcyBmaXJzdCBlbnRpdHkgYnkgYSBnaXZlbiBmaW5kIG9wdGlvbnMuXG4gICAqIElmIGVudGl0eSB3YXMgbm90IGZvdW5kIGluIHRoZSBkYXRhYmFzZSAtIHJlamVjdHMgd2l0aCBlcnJvci5cbiAgICovXG4gIGZpbmRPbmVPckZhaWwob3B0aW9uczogRmluZE9uZU9wdGlvbnM8RW50aXR5Pik6IFByb21pc2U8RW50aXR5PiB7XG4gICAgcmV0dXJuIHRoaXMucmVwby5maW5kT25lT3JGYWlsKG9wdGlvbnMpO1xuICB9XG5cblxuXG4gIC8qKlxuICAgKiBGaW5kcyBmaXJzdCBlbnRpdHkgdGhhdCBtYXRjaGVzIGdpdmVuIHdoZXJlIGNvbmRpdGlvbi5cbiAgICogSWYgZW50aXR5IHdhcyBub3QgZm91bmQgaW4gdGhlIGRhdGFiYXNlIC0gcmVqZWN0cyB3aXRoIGVycm9yLlxuICAgKi9cbiAgZmluZE9uZUJ5T3JGYWlsKFxuICAgIHdoZXJlOiBGaW5kT3B0aW9uc1doZXJlPEVudGl0eT4gfCBGaW5kT3B0aW9uc1doZXJlPEVudGl0eT5bXSxcbiAgKTogUHJvbWlzZTxFbnRpdHk+IHtcbiAgICByZXR1cm4gdGhpcy5yZXBvLmZpbmRPbmVCeU9yRmFpbCh3aGVyZSk7XG4gIH1cblxuXG5cbiAgLyoqXG4gICAqIEV4ZWN1dGVzIGEgcmF3IFNRTCBxdWVyeSBhbmQgcmV0dXJucyBhIHJhdyBkYXRhYmFzZSByZXN1bHRzLlxuICAgKiBSYXcgcXVlcnkgZXhlY3V0aW9uIGlzIHN1cHBvcnRlZCBvbmx5IGJ5IHJlbGF0aW9uYWwgZGF0YWJhc2VzIChNb25nb0RCIGlzIG5vdCBzdXBwb3J0ZWQpLlxuICAgKi9cbiAgcXVlcnkocXVlcnk6IHN0cmluZywgcGFyYW1ldGVycz86IGFueVtdKTogUHJvbWlzZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5yZXBvLnF1ZXJ5KHF1ZXJ5LCBwYXJhbWV0ZXJzKTtcbiAgfVxuXG5cblxuICAvKipcbiAgICogQ2xlYXJzIGFsbCB0aGUgZGF0YSBmcm9tIHRoZSBnaXZlbiB0YWJsZS9jb2xsZWN0aW9uICh0cnVuY2F0ZXMvZHJvcHMgaXQpLlxuICAgKlxuICAgKiBOb3RlOiB0aGlzIG1ldGhvZCB1c2VzIFRSVU5DQVRFIGFuZCBtYXkgbm90IHdvcmsgYXMgeW91IGV4cGVjdCBpbiB0cmFuc2FjdGlvbnMgb24gc29tZSBwbGF0Zm9ybXMuXG4gICAqIEBzZWUgaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9hLzU5NzI3MzgvOTI1MTUxXG4gICAqL1xuICBjbGVhcigpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5yZXBvLmNsZWFyKCk7XG4gIH1cblxuXG5cbiAgLyoqXG4gICAqIEluY3JlbWVudHMgc29tZSBjb2x1bW4gYnkgcHJvdmlkZWQgdmFsdWUgb2YgdGhlIGVudGl0aWVzIG1hdGNoZWQgZ2l2ZW4gY29uZGl0aW9ucy5cbiAgICovXG4gIGluY3JlbWVudChcbiAgICBjb25kaXRpb25zOiBGaW5kT3B0aW9uc1doZXJlPEVudGl0eT4sXG4gICAgcHJvcGVydHlQYXRoOiBzdHJpbmcsXG4gICAgdmFsdWU6IG51bWJlciB8IHN0cmluZyxcbiAgKTogUHJvbWlzZTxVcGRhdGVSZXN1bHQ+IHtcbiAgICByZXR1cm4gdGhpcy5yZXBvLmluY3JlbWVudChjb25kaXRpb25zLCBwcm9wZXJ0eVBhdGgsIHZhbHVlKTtcbiAgfVxuXG5cblxuICAvKipcbiAgICogRGVjcmVtZW50cyBzb21lIGNvbHVtbiBieSBwcm92aWRlZCB2YWx1ZSBvZiB0aGUgZW50aXRpZXMgbWF0Y2hlZCBnaXZlbiBjb25kaXRpb25zLlxuICAgKi9cbiAgZGVjcmVtZW50KFxuICAgIGNvbmRpdGlvbnM6IEZpbmRPcHRpb25zV2hlcmU8RW50aXR5PixcbiAgICBwcm9wZXJ0eVBhdGg6IHN0cmluZyxcbiAgICB2YWx1ZTogbnVtYmVyIHwgc3RyaW5nLFxuICApOiBQcm9taXNlPFVwZGF0ZVJlc3VsdD4ge1xuICAgIHJldHVybiB0aGlzLnJlcG8uZGVjcmVtZW50KGNvbmRpdGlvbnMsIHByb3BlcnR5UGF0aCwgdmFsdWUpO1xuICB9XG5cblxuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCB1c2UgZmluZEFuZENvdW50IGluc3RlYWRcbiAgICovXG4gIGFzeW5jIGdldEFsbCgpIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBhc3luYyBnZXRCeShpZDogbnVtYmVyIHwgc3RyaW5nKTogUHJvbWlzZTxFbnRpdHk+IHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxufVxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dGFvbiBsaWIvYmFzZS1jbGFzc2VzL2Jhc2UtcmVwb3NpdG9yeS50cyJdfQ==