@decaf-ts/for-fabric 0.12.7 → 0.12.10

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 (560) hide show
  1. package/README.md +177 -146
  2. package/dist/for-fabric.cjs +3804 -2
  3. package/dist/for-fabric.js +3908 -2
  4. package/lib/cjs/bin/cli.cjs +2 -2
  5. package/lib/cjs/cli-module.cjs +215 -6
  6. package/lib/cjs/cli-utils.cjs +2 -2
  7. package/lib/cjs/client/FabricClientAdapter.cjs +2 -2
  8. package/lib/cjs/client/FabricClientDispatch.cjs +3 -3
  9. package/lib/cjs/client/FabricClientPaginator.cjs +2 -2
  10. package/lib/cjs/client/FabricClientRepository.cjs +2 -2
  11. package/lib/cjs/client/FabricClientStatement.cjs +2 -2
  12. package/lib/cjs/client/collections/generation.cjs +2 -2
  13. package/lib/cjs/client/collections/index.cjs +2 -2
  14. package/lib/cjs/client/constants.cjs +2 -2
  15. package/lib/cjs/client/crypto.cjs +2 -2
  16. package/lib/cjs/client/erc20/FabricERC20ClientRepository.cjs +2 -2
  17. package/lib/cjs/client/erc20/index.cjs +2 -2
  18. package/lib/cjs/client/fabric-fs.cjs +2 -2
  19. package/lib/cjs/client/fabric-hsm.cjs +2 -2
  20. package/lib/cjs/client/ids/id-extraction.cjs +2 -2
  21. package/lib/cjs/client/ids/index.cjs +2 -2
  22. package/lib/cjs/client/index.cjs +2 -2
  23. package/lib/cjs/client/indexes/generation.cjs +9 -4
  24. package/lib/cjs/client/indexes/index.cjs +2 -2
  25. package/lib/cjs/client/logging.cjs +2 -2
  26. package/lib/cjs/client/services/FabricEnrollmentService.cjs +2 -2
  27. package/lib/cjs/client/services/FabricIdentityService.cjs +2 -2
  28. package/lib/cjs/client/services/RegistrationRequestBuilder.cjs +2 -2
  29. package/lib/cjs/client/services/constants.cjs +2 -2
  30. package/lib/cjs/client/services/index.cjs +2 -2
  31. package/lib/cjs/client/types.cjs +2 -2
  32. package/lib/cjs/client/utils.cjs +2 -2
  33. package/lib/cjs/contract/Address.cjs +2 -2
  34. package/lib/cjs/contract/AddressContract.cjs +2 -2
  35. package/lib/cjs/contract/AuditContract.cjs +2 -2
  36. package/lib/cjs/contract/BatchContract.cjs +2 -2
  37. package/lib/cjs/contract/MarketContract.cjs +2 -2
  38. package/lib/cjs/contract/OtherAuditContract.cjs +2 -2
  39. package/lib/cjs/contract/OtherBatchContract.cjs +2 -2
  40. package/lib/cjs/contract/OtherLeafletContract.cjs +72 -0
  41. package/lib/cjs/contract/OtherLeafletFileContract.cjs +76 -0
  42. package/lib/cjs/contract/OtherMarketContract.cjs +2 -2
  43. package/lib/cjs/contract/OtherProductContract.cjs +2 -2
  44. package/lib/cjs/contract/OtherProductImageContract.cjs +2 -2
  45. package/lib/cjs/contract/OtherProductSharedContract.cjs +2 -2
  46. package/lib/cjs/contract/OtherProductStrengthContract.cjs +2 -2
  47. package/lib/cjs/contract/Product.cjs +2 -2
  48. package/lib/cjs/contract/ProductContract.cjs +2 -2
  49. package/lib/cjs/contract/ProductStrengthContract.cjs +2 -2
  50. package/lib/cjs/contract/SegregatedPrivateDocumentContract.cjs +2 -2
  51. package/lib/cjs/contract/SegregatedSharedDocumentContract.cjs +2 -2
  52. package/lib/cjs/contract/User.cjs +2 -2
  53. package/lib/cjs/contract/UserContract.cjs +2 -2
  54. package/lib/cjs/contract/index.cjs +19 -20
  55. package/lib/cjs/contract/logging-context.cjs +2 -2
  56. package/lib/cjs/contract/models/Audit.cjs +2 -2
  57. package/lib/cjs/contract/models/BaseIdentifiedModel.cjs +2 -2
  58. package/lib/cjs/contract/models/BaseModel.cjs +2 -2
  59. package/lib/cjs/contract/models/Batch.cjs +2 -2
  60. package/lib/cjs/contract/models/GtinOwner.cjs +2 -2
  61. package/lib/cjs/contract/models/History.cjs +2 -2
  62. package/lib/cjs/contract/models/Leaflet.cjs +2 -2
  63. package/lib/cjs/contract/models/LeafletFile.cjs +2 -2
  64. package/lib/cjs/contract/models/Market.cjs +2 -2
  65. package/lib/cjs/contract/models/OtherAudit.cjs +3 -3
  66. package/lib/cjs/contract/models/OtherBatchShared.cjs +137 -28
  67. package/lib/cjs/contract/models/OtherLeaflet.cjs +3 -3
  68. package/lib/cjs/contract/models/OtherLeafletFile.cjs +3 -3
  69. package/lib/cjs/contract/models/OtherMarket.cjs +3 -3
  70. package/lib/cjs/contract/models/OtherProduct.cjs +4 -4
  71. package/lib/cjs/contract/models/OtherProductImage.cjs +3 -3
  72. package/lib/cjs/contract/models/OtherProductShared.cjs +3 -3
  73. package/lib/cjs/contract/models/OtherProductStrength.cjs +3 -5
  74. package/lib/cjs/contract/models/Product.cjs +2 -2
  75. package/lib/cjs/contract/models/ProductStrength.cjs +2 -2
  76. package/lib/cjs/contract/models/SegregatedDocument.cjs +8 -6
  77. package/lib/cjs/contract/models/constants.cjs +2 -2
  78. package/lib/cjs/contract/models/decorators-private.cjs +2 -2
  79. package/lib/cjs/contract/models/decorators.cjs +2 -2
  80. package/lib/cjs/contract/models/gtin.cjs +2 -2
  81. package/lib/cjs/contract/models/history-dec.cjs +2 -2
  82. package/lib/cjs/contract/trackedModels/History.cjs +81 -0
  83. package/lib/cjs/contract/trackedModels/OtherAudit.cjs +124 -0
  84. package/lib/cjs/contract/trackedModels/OtherLeaflet.cjs +121 -0
  85. package/lib/cjs/contract/trackedModels/OtherLeafletFile.cjs +71 -0
  86. package/lib/cjs/contract/trackedModels/OtherMarket.cjs +90 -0
  87. package/lib/cjs/contract/trackedModels/OtherProduct.cjs +83 -0
  88. package/lib/cjs/contract/trackedModels/OtherProductImage.cjs +65 -0
  89. package/lib/cjs/contract/trackedModels/OtherProductShared.cjs +105 -0
  90. package/lib/cjs/contract/trackedModels/OtherProductStrength.cjs +91 -0
  91. package/lib/cjs/contracts/ContractAdapter.cjs +2 -2
  92. package/lib/cjs/contracts/ContractContext.cjs +2 -2
  93. package/lib/cjs/contracts/FabricContractDispatch.cjs +2 -2
  94. package/lib/cjs/contracts/FabricContractPaginator.cjs +2 -2
  95. package/lib/cjs/contracts/FabricContractRepository.cjs +2 -2
  96. package/lib/cjs/contracts/FabricContractRepositoryObservableHandler.cjs +2 -2
  97. package/lib/cjs/contracts/FabricContractSequence.cjs +2 -2
  98. package/lib/cjs/contracts/FabricContractStatement.cjs +2 -2
  99. package/lib/cjs/contracts/MigrationContract.cjs +2 -2
  100. package/lib/cjs/contracts/PrivateSequence.cjs +2 -2
  101. package/lib/cjs/contracts/auth/decorators.cjs +2 -2
  102. package/lib/cjs/contracts/auth/index.cjs +2 -2
  103. package/lib/cjs/contracts/bootstrap.cjs +2 -2
  104. package/lib/cjs/contracts/crud/crud-contract.cjs +2 -2
  105. package/lib/cjs/contracts/crud/index.cjs +2 -2
  106. package/lib/cjs/contracts/crud/serialized-crud-contract.cjs +2 -2
  107. package/lib/cjs/contracts/erc20/erc20contract.cjs +2 -2
  108. package/lib/cjs/contracts/erc20/index.cjs +2 -2
  109. package/lib/cjs/contracts/erc20/models.cjs +2 -2
  110. package/lib/cjs/contracts/fabric-overrides.cjs +2 -2
  111. package/lib/cjs/contracts/index.cjs +2 -2
  112. package/lib/cjs/contracts/logging.cjs +2 -2
  113. package/lib/cjs/contracts/overrides.cjs +2 -2
  114. package/lib/cjs/contracts/types.cjs +2 -2
  115. package/lib/cjs/contracts/uuid.cjs +2 -2
  116. package/lib/cjs/index.cjs +2 -2
  117. package/lib/cjs/shared/ClientSerializer.cjs +2 -2
  118. package/lib/cjs/shared/DeterministicSerializer.cjs +2 -2
  119. package/lib/cjs/shared/SimpleDeterministicSerializer.cjs +2 -2
  120. package/lib/cjs/shared/constants.cjs +2 -2
  121. package/lib/cjs/shared/decorators.cjs +2 -2
  122. package/lib/cjs/shared/erc20/erc20-constants.cjs +2 -2
  123. package/lib/cjs/shared/erc20/index.cjs +2 -2
  124. package/lib/cjs/shared/errors.cjs +2 -2
  125. package/lib/cjs/shared/events.cjs +2 -2
  126. package/lib/cjs/shared/fabric-types.cjs +2 -2
  127. package/lib/cjs/shared/index.cjs +2 -2
  128. package/lib/cjs/shared/interfaces/Checkable.cjs +2 -2
  129. package/lib/cjs/shared/interfaces/index.cjs +2 -2
  130. package/lib/cjs/shared/math.cjs +2 -2
  131. package/lib/cjs/shared/model/FabricBaseModel.cjs +2 -2
  132. package/lib/cjs/shared/model/FabricIdentifiedBaseModel.cjs +2 -2
  133. package/lib/cjs/shared/model/Identity.cjs +2 -2
  134. package/lib/cjs/shared/model/IdentityCredentials.cjs +2 -2
  135. package/lib/cjs/shared/model/index.cjs +2 -2
  136. package/lib/cjs/shared/overrides/Model.cjs +2 -2
  137. package/lib/cjs/shared/overrides/index.cjs +2 -2
  138. package/lib/cjs/shared/overrides/overrides.cjs +2 -2
  139. package/lib/cjs/shared/types.cjs +2 -2
  140. package/lib/cjs/version.cjs +18 -4
  141. package/lib/esm/bin/cli.js +1 -1
  142. package/lib/esm/cli-module.js +214 -5
  143. package/lib/esm/cli-utils.js +1 -1
  144. package/lib/esm/client/FabricClientAdapter.js +1 -1
  145. package/lib/esm/client/FabricClientDispatch.js +2 -2
  146. package/lib/esm/client/FabricClientPaginator.js +1 -1
  147. package/lib/esm/client/FabricClientRepository.js +1 -1
  148. package/lib/esm/client/FabricClientStatement.js +1 -1
  149. package/lib/esm/client/collections/generation.js +1 -1
  150. package/lib/esm/client/collections/index.js +1 -1
  151. package/lib/esm/client/constants.js +1 -1
  152. package/lib/esm/client/crypto.js +1 -1
  153. package/lib/esm/client/erc20/FabricERC20ClientRepository.js +1 -1
  154. package/lib/esm/client/erc20/index.js +1 -1
  155. package/lib/esm/client/fabric-fs.js +1 -1
  156. package/lib/esm/client/fabric-hsm.js +1 -1
  157. package/lib/esm/client/ids/id-extraction.js +1 -1
  158. package/lib/esm/client/ids/index.js +1 -1
  159. package/lib/esm/client/index.js +1 -1
  160. package/lib/esm/client/indexes/generation.js +8 -3
  161. package/lib/esm/client/indexes/index.js +1 -1
  162. package/lib/esm/client/logging.js +1 -1
  163. package/lib/esm/client/services/FabricEnrollmentService.js +1 -1
  164. package/lib/esm/client/services/FabricIdentityService.js +1 -1
  165. package/lib/esm/client/services/RegistrationRequestBuilder.js +1 -1
  166. package/lib/esm/client/services/constants.js +1 -1
  167. package/lib/esm/client/services/index.js +1 -1
  168. package/lib/esm/client/types.js +1 -1
  169. package/lib/esm/client/utils.js +1 -1
  170. package/lib/esm/contract/Address.js +1 -1
  171. package/lib/esm/contract/AddressContract.js +1 -1
  172. package/lib/esm/contract/AuditContract.js +1 -1
  173. package/lib/esm/contract/BatchContract.js +1 -1
  174. package/lib/esm/contract/MarketContract.js +1 -1
  175. package/lib/esm/contract/OtherAuditContract.js +1 -1
  176. package/lib/esm/contract/OtherBatchContract.js +1 -1
  177. package/lib/esm/contract/OtherLeafletContract.js +63 -0
  178. package/lib/esm/contract/OtherLeafletFileContract.js +67 -0
  179. package/lib/esm/contract/OtherMarketContract.js +1 -1
  180. package/lib/esm/contract/OtherProductContract.js +1 -1
  181. package/lib/esm/contract/OtherProductImageContract.js +1 -1
  182. package/lib/esm/contract/OtherProductSharedContract.js +1 -1
  183. package/lib/esm/contract/OtherProductStrengthContract.js +1 -1
  184. package/lib/esm/contract/Product.js +1 -1
  185. package/lib/esm/contract/ProductContract.js +1 -1
  186. package/lib/esm/contract/ProductStrengthContract.js +1 -1
  187. package/lib/esm/contract/SegregatedPrivateDocumentContract.js +1 -1
  188. package/lib/esm/contract/SegregatedSharedDocumentContract.js +1 -1
  189. package/lib/esm/contract/User.js +1 -1
  190. package/lib/esm/contract/UserContract.js +1 -1
  191. package/lib/esm/contract/index.js +18 -19
  192. package/lib/esm/contract/logging-context.js +1 -1
  193. package/lib/esm/contract/models/Audit.js +1 -1
  194. package/lib/esm/contract/models/BaseIdentifiedModel.js +1 -1
  195. package/lib/esm/contract/models/BaseModel.js +1 -1
  196. package/lib/esm/contract/models/Batch.js +1 -1
  197. package/lib/esm/contract/models/GtinOwner.js +1 -1
  198. package/lib/esm/contract/models/History.js +1 -1
  199. package/lib/esm/contract/models/Leaflet.js +1 -1
  200. package/lib/esm/contract/models/LeafletFile.js +1 -1
  201. package/lib/esm/contract/models/Market.js +1 -1
  202. package/lib/esm/contract/models/OtherAudit.js +2 -2
  203. package/lib/esm/contract/models/OtherBatchShared.js +139 -31
  204. package/lib/esm/contract/models/OtherLeaflet.js +2 -2
  205. package/lib/esm/contract/models/OtherLeafletFile.js +2 -2
  206. package/lib/esm/contract/models/OtherMarket.js +2 -2
  207. package/lib/esm/contract/models/OtherProduct.js +4 -4
  208. package/lib/esm/contract/models/OtherProductImage.js +2 -2
  209. package/lib/esm/contract/models/OtherProductShared.js +2 -2
  210. package/lib/esm/contract/models/OtherProductStrength.js +2 -4
  211. package/lib/esm/contract/models/Product.js +1 -1
  212. package/lib/esm/contract/models/ProductStrength.js +1 -1
  213. package/lib/esm/contract/models/SegregatedDocument.js +8 -6
  214. package/lib/esm/contract/models/constants.js +1 -1
  215. package/lib/esm/contract/models/decorators-private.js +1 -1
  216. package/lib/esm/contract/models/decorators.js +1 -1
  217. package/lib/esm/contract/models/gtin.js +1 -1
  218. package/lib/esm/contract/models/history-dec.js +1 -1
  219. package/lib/esm/contract/trackedModels/History.js +72 -0
  220. package/lib/esm/contract/trackedModels/OtherAudit.js +115 -0
  221. package/lib/esm/contract/trackedModels/OtherLeaflet.js +112 -0
  222. package/lib/esm/contract/trackedModels/OtherLeafletFile.js +62 -0
  223. package/lib/esm/contract/trackedModels/OtherMarket.js +81 -0
  224. package/lib/esm/contract/trackedModels/OtherProduct.js +74 -0
  225. package/lib/esm/contract/trackedModels/OtherProductImage.js +56 -0
  226. package/lib/esm/contract/trackedModels/OtherProductShared.js +96 -0
  227. package/lib/esm/contract/trackedModels/OtherProductStrength.js +82 -0
  228. package/lib/esm/contracts/ContractAdapter.js +1 -1
  229. package/lib/esm/contracts/ContractContext.js +1 -1
  230. package/lib/esm/contracts/FabricContractDispatch.js +1 -1
  231. package/lib/esm/contracts/FabricContractPaginator.js +1 -1
  232. package/lib/esm/contracts/FabricContractRepository.js +1 -1
  233. package/lib/esm/contracts/FabricContractRepositoryObservableHandler.js +1 -1
  234. package/lib/esm/contracts/FabricContractSequence.js +1 -1
  235. package/lib/esm/contracts/FabricContractStatement.js +1 -1
  236. package/lib/esm/contracts/MigrationContract.js +1 -1
  237. package/lib/esm/contracts/PrivateSequence.js +1 -1
  238. package/lib/esm/contracts/auth/decorators.js +1 -1
  239. package/lib/esm/contracts/auth/index.js +1 -1
  240. package/lib/esm/contracts/bootstrap.js +1 -1
  241. package/lib/esm/contracts/crud/crud-contract.js +1 -1
  242. package/lib/esm/contracts/crud/index.js +1 -1
  243. package/lib/esm/contracts/crud/serialized-crud-contract.js +1 -1
  244. package/lib/esm/contracts/erc20/erc20contract.js +1 -1
  245. package/lib/esm/contracts/erc20/index.js +1 -1
  246. package/lib/esm/contracts/erc20/models.js +1 -1
  247. package/lib/esm/contracts/fabric-overrides.js +3 -3
  248. package/lib/esm/contracts/index.js +1 -1
  249. package/lib/esm/contracts/logging.js +1 -1
  250. package/lib/esm/contracts/overrides.js +1 -1
  251. package/lib/esm/contracts/types.js +1 -1
  252. package/lib/esm/contracts/uuid.js +1 -1
  253. package/lib/esm/index.js +1 -1
  254. package/lib/esm/shared/ClientSerializer.js +1 -1
  255. package/lib/esm/shared/DeterministicSerializer.js +1 -1
  256. package/lib/esm/shared/SimpleDeterministicSerializer.js +1 -1
  257. package/lib/esm/shared/constants.js +1 -1
  258. package/lib/esm/shared/decorators.js +1 -1
  259. package/lib/esm/shared/erc20/erc20-constants.js +1 -1
  260. package/lib/esm/shared/erc20/index.js +1 -1
  261. package/lib/esm/shared/errors.js +1 -1
  262. package/lib/esm/shared/events.js +1 -1
  263. package/lib/esm/shared/fabric-types.js +1 -1
  264. package/lib/esm/shared/index.js +1 -1
  265. package/lib/esm/shared/interfaces/Checkable.js +1 -1
  266. package/lib/esm/shared/interfaces/index.js +1 -1
  267. package/lib/esm/shared/math.js +1 -1
  268. package/lib/esm/shared/model/FabricBaseModel.js +1 -1
  269. package/lib/esm/shared/model/FabricIdentifiedBaseModel.js +1 -1
  270. package/lib/esm/shared/model/Identity.js +1 -1
  271. package/lib/esm/shared/model/IdentityCredentials.js +1 -1
  272. package/lib/esm/shared/model/index.js +1 -1
  273. package/lib/esm/shared/overrides/Model.js +1 -1
  274. package/lib/esm/shared/overrides/index.js +1 -1
  275. package/lib/esm/shared/overrides/overrides.js +1 -1
  276. package/lib/esm/shared/types.js +1 -1
  277. package/lib/esm/version.js +16 -2
  278. package/lib/types/contract/OtherLeafletContract.d.cts +18 -0
  279. package/lib/types/contract/OtherLeafletContract.d.mts +18 -0
  280. package/lib/types/contract/OtherLeafletFileContract.d.cts +17 -0
  281. package/lib/types/contract/OtherLeafletFileContract.d.mts +17 -0
  282. package/lib/types/contract/models/OtherBatchShared.d.cts +43 -6
  283. package/lib/types/contract/models/OtherBatchShared.d.mts +43 -6
  284. package/lib/types/contract/trackedModels/History.d.cts +9 -0
  285. package/lib/types/contract/trackedModels/History.d.mts +9 -0
  286. package/lib/types/contract/trackedModels/OtherAudit.d.cts +15 -0
  287. package/lib/types/contract/trackedModels/OtherAudit.d.mts +15 -0
  288. package/lib/types/contract/trackedModels/OtherLeaflet.d.cts +16 -0
  289. package/lib/types/contract/trackedModels/OtherLeaflet.d.mts +16 -0
  290. package/lib/types/contract/trackedModels/OtherLeafletFile.d.cts +10 -0
  291. package/lib/types/contract/trackedModels/OtherLeafletFile.d.mts +10 -0
  292. package/lib/types/contract/trackedModels/OtherMarket.d.cts +13 -0
  293. package/lib/types/contract/trackedModels/OtherMarket.d.mts +13 -0
  294. package/lib/types/contract/trackedModels/OtherProduct.d.cts +12 -0
  295. package/lib/types/contract/trackedModels/OtherProduct.d.mts +12 -0
  296. package/lib/types/contract/trackedModels/OtherProductImage.d.cts +9 -0
  297. package/lib/types/contract/trackedModels/OtherProductImage.d.mts +9 -0
  298. package/lib/types/contract/trackedModels/OtherProductShared.d.cts +18 -0
  299. package/lib/types/contract/trackedModels/OtherProductShared.d.mts +18 -0
  300. package/lib/types/contract/trackedModels/OtherProductStrength.d.cts +12 -0
  301. package/lib/types/contract/trackedModels/OtherProductStrength.d.mts +12 -0
  302. package/lib/types/contracts/FabricContractStatement.d.cts +2 -2
  303. package/lib/types/contracts/FabricContractStatement.d.mts +2 -2
  304. package/lib/types/version.d.cts +15 -1
  305. package/lib/types/version.d.mts +15 -1
  306. package/package.json +19 -6
  307. package/dist/for-fabric.cjs.map +0 -1
  308. package/dist/for-fabric.js.map +0 -1
  309. package/lib/cjs/bin/cli.cjs.map +0 -1
  310. package/lib/cjs/cli-module.cjs.map +0 -1
  311. package/lib/cjs/cli-utils.cjs.map +0 -1
  312. package/lib/cjs/client/FabricClientAdapter.cjs.map +0 -1
  313. package/lib/cjs/client/FabricClientDispatch.cjs.map +0 -1
  314. package/lib/cjs/client/FabricClientPaginator.cjs.map +0 -1
  315. package/lib/cjs/client/FabricClientRepository.cjs.map +0 -1
  316. package/lib/cjs/client/FabricClientStatement.cjs.map +0 -1
  317. package/lib/cjs/client/collections/generation.cjs.map +0 -1
  318. package/lib/cjs/client/collections/index.cjs.map +0 -1
  319. package/lib/cjs/client/constants.cjs.map +0 -1
  320. package/lib/cjs/client/crypto.cjs.map +0 -1
  321. package/lib/cjs/client/erc20/FabricERC20ClientRepository.cjs.map +0 -1
  322. package/lib/cjs/client/erc20/index.cjs.map +0 -1
  323. package/lib/cjs/client/fabric-fs.cjs.map +0 -1
  324. package/lib/cjs/client/fabric-hsm.cjs.map +0 -1
  325. package/lib/cjs/client/ids/id-extraction.cjs.map +0 -1
  326. package/lib/cjs/client/ids/index.cjs.map +0 -1
  327. package/lib/cjs/client/index.cjs.map +0 -1
  328. package/lib/cjs/client/indexes/generation.cjs.map +0 -1
  329. package/lib/cjs/client/indexes/index.cjs.map +0 -1
  330. package/lib/cjs/client/logging.cjs.map +0 -1
  331. package/lib/cjs/client/services/FabricEnrollmentService.cjs.map +0 -1
  332. package/lib/cjs/client/services/FabricIdentityService.cjs.map +0 -1
  333. package/lib/cjs/client/services/RegistrationRequestBuilder.cjs.map +0 -1
  334. package/lib/cjs/client/services/constants.cjs.map +0 -1
  335. package/lib/cjs/client/services/index.cjs.map +0 -1
  336. package/lib/cjs/client/types.cjs.map +0 -1
  337. package/lib/cjs/client/utils.cjs.map +0 -1
  338. package/lib/cjs/contract/Address.cjs.map +0 -1
  339. package/lib/cjs/contract/AddressContract.cjs.map +0 -1
  340. package/lib/cjs/contract/AuditContract.cjs.map +0 -1
  341. package/lib/cjs/contract/BatchContract.cjs.map +0 -1
  342. package/lib/cjs/contract/MarketContract.cjs.map +0 -1
  343. package/lib/cjs/contract/OtherAuditContract.cjs.map +0 -1
  344. package/lib/cjs/contract/OtherBatchContract.cjs.map +0 -1
  345. package/lib/cjs/contract/OtherMarketContract.cjs.map +0 -1
  346. package/lib/cjs/contract/OtherProductContract.cjs.map +0 -1
  347. package/lib/cjs/contract/OtherProductImageContract.cjs.map +0 -1
  348. package/lib/cjs/contract/OtherProductSharedContract.cjs.map +0 -1
  349. package/lib/cjs/contract/OtherProductStrengthContract.cjs.map +0 -1
  350. package/lib/cjs/contract/Product.cjs.map +0 -1
  351. package/lib/cjs/contract/ProductContract.cjs.map +0 -1
  352. package/lib/cjs/contract/ProductStrengthContract.cjs.map +0 -1
  353. package/lib/cjs/contract/SegregatedPrivateDocumentContract.cjs.map +0 -1
  354. package/lib/cjs/contract/SegregatedSharedDocumentContract.cjs.map +0 -1
  355. package/lib/cjs/contract/User.cjs.map +0 -1
  356. package/lib/cjs/contract/UserContract.cjs.map +0 -1
  357. package/lib/cjs/contract/index.cjs.map +0 -1
  358. package/lib/cjs/contract/logging-context.cjs.map +0 -1
  359. package/lib/cjs/contract/models/Audit.cjs.map +0 -1
  360. package/lib/cjs/contract/models/BaseIdentifiedModel.cjs.map +0 -1
  361. package/lib/cjs/contract/models/BaseModel.cjs.map +0 -1
  362. package/lib/cjs/contract/models/Batch.cjs.map +0 -1
  363. package/lib/cjs/contract/models/GtinOwner.cjs.map +0 -1
  364. package/lib/cjs/contract/models/History.cjs.map +0 -1
  365. package/lib/cjs/contract/models/Leaflet.cjs.map +0 -1
  366. package/lib/cjs/contract/models/LeafletFile.cjs.map +0 -1
  367. package/lib/cjs/contract/models/Market.cjs.map +0 -1
  368. package/lib/cjs/contract/models/OtherAudit.cjs.map +0 -1
  369. package/lib/cjs/contract/models/OtherBatchShared.cjs.map +0 -1
  370. package/lib/cjs/contract/models/OtherLeaflet.cjs.map +0 -1
  371. package/lib/cjs/contract/models/OtherLeafletFile.cjs.map +0 -1
  372. package/lib/cjs/contract/models/OtherMarket.cjs.map +0 -1
  373. package/lib/cjs/contract/models/OtherProduct.cjs.map +0 -1
  374. package/lib/cjs/contract/models/OtherProductImage.cjs.map +0 -1
  375. package/lib/cjs/contract/models/OtherProductShared.cjs.map +0 -1
  376. package/lib/cjs/contract/models/OtherProductStrength.cjs.map +0 -1
  377. package/lib/cjs/contract/models/Product.cjs.map +0 -1
  378. package/lib/cjs/contract/models/ProductStrength.cjs.map +0 -1
  379. package/lib/cjs/contract/models/SegregatedDocument.cjs.map +0 -1
  380. package/lib/cjs/contract/models/constants.cjs.map +0 -1
  381. package/lib/cjs/contract/models/decorators-private.cjs.map +0 -1
  382. package/lib/cjs/contract/models/decorators.cjs.map +0 -1
  383. package/lib/cjs/contract/models/gtin.cjs.map +0 -1
  384. package/lib/cjs/contract/models/history-dec.cjs.map +0 -1
  385. package/lib/cjs/contracts/ContractAdapter.cjs.map +0 -1
  386. package/lib/cjs/contracts/ContractContext.cjs.map +0 -1
  387. package/lib/cjs/contracts/FabricContractDispatch.cjs.map +0 -1
  388. package/lib/cjs/contracts/FabricContractPaginator.cjs.map +0 -1
  389. package/lib/cjs/contracts/FabricContractRepository.cjs.map +0 -1
  390. package/lib/cjs/contracts/FabricContractRepositoryObservableHandler.cjs.map +0 -1
  391. package/lib/cjs/contracts/FabricContractSequence.cjs.map +0 -1
  392. package/lib/cjs/contracts/FabricContractStatement.cjs.map +0 -1
  393. package/lib/cjs/contracts/MigrationContract.cjs.map +0 -1
  394. package/lib/cjs/contracts/PrivateSequence.cjs.map +0 -1
  395. package/lib/cjs/contracts/auth/decorators.cjs.map +0 -1
  396. package/lib/cjs/contracts/auth/index.cjs.map +0 -1
  397. package/lib/cjs/contracts/bootstrap.cjs.map +0 -1
  398. package/lib/cjs/contracts/crud/crud-contract.cjs.map +0 -1
  399. package/lib/cjs/contracts/crud/index.cjs.map +0 -1
  400. package/lib/cjs/contracts/crud/serialized-crud-contract.cjs.map +0 -1
  401. package/lib/cjs/contracts/erc20/erc20contract.cjs.map +0 -1
  402. package/lib/cjs/contracts/erc20/index.cjs.map +0 -1
  403. package/lib/cjs/contracts/erc20/models.cjs.map +0 -1
  404. package/lib/cjs/contracts/fabric-overrides.cjs.map +0 -1
  405. package/lib/cjs/contracts/index.cjs.map +0 -1
  406. package/lib/cjs/contracts/logging.cjs.map +0 -1
  407. package/lib/cjs/contracts/overrides.cjs.map +0 -1
  408. package/lib/cjs/contracts/types.cjs.map +0 -1
  409. package/lib/cjs/contracts/uuid.cjs.map +0 -1
  410. package/lib/cjs/index.cjs.map +0 -1
  411. package/lib/cjs/shared/ClientSerializer.cjs.map +0 -1
  412. package/lib/cjs/shared/DeterministicSerializer.cjs.map +0 -1
  413. package/lib/cjs/shared/SimpleDeterministicSerializer.cjs.map +0 -1
  414. package/lib/cjs/shared/constants.cjs.map +0 -1
  415. package/lib/cjs/shared/decorators.cjs.map +0 -1
  416. package/lib/cjs/shared/erc20/erc20-constants.cjs.map +0 -1
  417. package/lib/cjs/shared/erc20/index.cjs.map +0 -1
  418. package/lib/cjs/shared/errors.cjs.map +0 -1
  419. package/lib/cjs/shared/events.cjs.map +0 -1
  420. package/lib/cjs/shared/fabric-types.cjs.map +0 -1
  421. package/lib/cjs/shared/index.cjs.map +0 -1
  422. package/lib/cjs/shared/interfaces/Checkable.cjs.map +0 -1
  423. package/lib/cjs/shared/interfaces/index.cjs.map +0 -1
  424. package/lib/cjs/shared/math.cjs.map +0 -1
  425. package/lib/cjs/shared/model/FabricBaseModel.cjs.map +0 -1
  426. package/lib/cjs/shared/model/FabricIdentifiedBaseModel.cjs.map +0 -1
  427. package/lib/cjs/shared/model/Identity.cjs.map +0 -1
  428. package/lib/cjs/shared/model/IdentityCredentials.cjs.map +0 -1
  429. package/lib/cjs/shared/model/index.cjs.map +0 -1
  430. package/lib/cjs/shared/overrides/Model.cjs.map +0 -1
  431. package/lib/cjs/shared/overrides/index.cjs.map +0 -1
  432. package/lib/cjs/shared/overrides/overrides.cjs.map +0 -1
  433. package/lib/cjs/shared/types.cjs.map +0 -1
  434. package/lib/cjs/version.cjs.map +0 -1
  435. package/lib/esm/bin/cli.js.map +0 -1
  436. package/lib/esm/cli-module.js.map +0 -1
  437. package/lib/esm/cli-utils.js.map +0 -1
  438. package/lib/esm/client/FabricClientAdapter.js.map +0 -1
  439. package/lib/esm/client/FabricClientDispatch.js.map +0 -1
  440. package/lib/esm/client/FabricClientPaginator.js.map +0 -1
  441. package/lib/esm/client/FabricClientRepository.js.map +0 -1
  442. package/lib/esm/client/FabricClientStatement.js.map +0 -1
  443. package/lib/esm/client/collections/generation.js.map +0 -1
  444. package/lib/esm/client/collections/index.js.map +0 -1
  445. package/lib/esm/client/constants.js.map +0 -1
  446. package/lib/esm/client/crypto.js.map +0 -1
  447. package/lib/esm/client/erc20/FabricERC20ClientRepository.js.map +0 -1
  448. package/lib/esm/client/erc20/index.js.map +0 -1
  449. package/lib/esm/client/fabric-fs.js.map +0 -1
  450. package/lib/esm/client/fabric-hsm.js.map +0 -1
  451. package/lib/esm/client/ids/id-extraction.js.map +0 -1
  452. package/lib/esm/client/ids/index.js.map +0 -1
  453. package/lib/esm/client/index.js.map +0 -1
  454. package/lib/esm/client/indexes/generation.js.map +0 -1
  455. package/lib/esm/client/indexes/index.js.map +0 -1
  456. package/lib/esm/client/logging.js.map +0 -1
  457. package/lib/esm/client/services/FabricEnrollmentService.js.map +0 -1
  458. package/lib/esm/client/services/FabricIdentityService.js.map +0 -1
  459. package/lib/esm/client/services/RegistrationRequestBuilder.js.map +0 -1
  460. package/lib/esm/client/services/constants.js.map +0 -1
  461. package/lib/esm/client/services/index.js.map +0 -1
  462. package/lib/esm/client/types.js.map +0 -1
  463. package/lib/esm/client/utils.js.map +0 -1
  464. package/lib/esm/contract/Address.js.map +0 -1
  465. package/lib/esm/contract/AddressContract.js.map +0 -1
  466. package/lib/esm/contract/AuditContract.js.map +0 -1
  467. package/lib/esm/contract/BatchContract.js.map +0 -1
  468. package/lib/esm/contract/MarketContract.js.map +0 -1
  469. package/lib/esm/contract/OtherAuditContract.js.map +0 -1
  470. package/lib/esm/contract/OtherBatchContract.js.map +0 -1
  471. package/lib/esm/contract/OtherMarketContract.js.map +0 -1
  472. package/lib/esm/contract/OtherProductContract.js.map +0 -1
  473. package/lib/esm/contract/OtherProductImageContract.js.map +0 -1
  474. package/lib/esm/contract/OtherProductSharedContract.js.map +0 -1
  475. package/lib/esm/contract/OtherProductStrengthContract.js.map +0 -1
  476. package/lib/esm/contract/Product.js.map +0 -1
  477. package/lib/esm/contract/ProductContract.js.map +0 -1
  478. package/lib/esm/contract/ProductStrengthContract.js.map +0 -1
  479. package/lib/esm/contract/SegregatedPrivateDocumentContract.js.map +0 -1
  480. package/lib/esm/contract/SegregatedSharedDocumentContract.js.map +0 -1
  481. package/lib/esm/contract/User.js.map +0 -1
  482. package/lib/esm/contract/UserContract.js.map +0 -1
  483. package/lib/esm/contract/index.js.map +0 -1
  484. package/lib/esm/contract/logging-context.js.map +0 -1
  485. package/lib/esm/contract/models/Audit.js.map +0 -1
  486. package/lib/esm/contract/models/BaseIdentifiedModel.js.map +0 -1
  487. package/lib/esm/contract/models/BaseModel.js.map +0 -1
  488. package/lib/esm/contract/models/Batch.js.map +0 -1
  489. package/lib/esm/contract/models/GtinOwner.js.map +0 -1
  490. package/lib/esm/contract/models/History.js.map +0 -1
  491. package/lib/esm/contract/models/Leaflet.js.map +0 -1
  492. package/lib/esm/contract/models/LeafletFile.js.map +0 -1
  493. package/lib/esm/contract/models/Market.js.map +0 -1
  494. package/lib/esm/contract/models/OtherAudit.js.map +0 -1
  495. package/lib/esm/contract/models/OtherBatchShared.js.map +0 -1
  496. package/lib/esm/contract/models/OtherLeaflet.js.map +0 -1
  497. package/lib/esm/contract/models/OtherLeafletFile.js.map +0 -1
  498. package/lib/esm/contract/models/OtherMarket.js.map +0 -1
  499. package/lib/esm/contract/models/OtherProduct.js.map +0 -1
  500. package/lib/esm/contract/models/OtherProductImage.js.map +0 -1
  501. package/lib/esm/contract/models/OtherProductShared.js.map +0 -1
  502. package/lib/esm/contract/models/OtherProductStrength.js.map +0 -1
  503. package/lib/esm/contract/models/Product.js.map +0 -1
  504. package/lib/esm/contract/models/ProductStrength.js.map +0 -1
  505. package/lib/esm/contract/models/SegregatedDocument.js.map +0 -1
  506. package/lib/esm/contract/models/constants.js.map +0 -1
  507. package/lib/esm/contract/models/decorators-private.js.map +0 -1
  508. package/lib/esm/contract/models/decorators.js.map +0 -1
  509. package/lib/esm/contract/models/gtin.js.map +0 -1
  510. package/lib/esm/contract/models/history-dec.js.map +0 -1
  511. package/lib/esm/contracts/ContractAdapter.js.map +0 -1
  512. package/lib/esm/contracts/ContractContext.js.map +0 -1
  513. package/lib/esm/contracts/FabricContractDispatch.js.map +0 -1
  514. package/lib/esm/contracts/FabricContractPaginator.js.map +0 -1
  515. package/lib/esm/contracts/FabricContractRepository.js.map +0 -1
  516. package/lib/esm/contracts/FabricContractRepositoryObservableHandler.js.map +0 -1
  517. package/lib/esm/contracts/FabricContractSequence.js.map +0 -1
  518. package/lib/esm/contracts/FabricContractStatement.js.map +0 -1
  519. package/lib/esm/contracts/MigrationContract.js.map +0 -1
  520. package/lib/esm/contracts/PrivateSequence.js.map +0 -1
  521. package/lib/esm/contracts/auth/decorators.js.map +0 -1
  522. package/lib/esm/contracts/auth/index.js.map +0 -1
  523. package/lib/esm/contracts/bootstrap.js.map +0 -1
  524. package/lib/esm/contracts/crud/crud-contract.js.map +0 -1
  525. package/lib/esm/contracts/crud/index.js.map +0 -1
  526. package/lib/esm/contracts/crud/serialized-crud-contract.js.map +0 -1
  527. package/lib/esm/contracts/erc20/erc20contract.js.map +0 -1
  528. package/lib/esm/contracts/erc20/index.js.map +0 -1
  529. package/lib/esm/contracts/erc20/models.js.map +0 -1
  530. package/lib/esm/contracts/fabric-overrides.js.map +0 -1
  531. package/lib/esm/contracts/index.js.map +0 -1
  532. package/lib/esm/contracts/logging.js.map +0 -1
  533. package/lib/esm/contracts/overrides.js.map +0 -1
  534. package/lib/esm/contracts/types.js.map +0 -1
  535. package/lib/esm/contracts/uuid.js.map +0 -1
  536. package/lib/esm/index.js.map +0 -1
  537. package/lib/esm/shared/ClientSerializer.js.map +0 -1
  538. package/lib/esm/shared/DeterministicSerializer.js.map +0 -1
  539. package/lib/esm/shared/SimpleDeterministicSerializer.js.map +0 -1
  540. package/lib/esm/shared/constants.js.map +0 -1
  541. package/lib/esm/shared/decorators.js.map +0 -1
  542. package/lib/esm/shared/erc20/erc20-constants.js.map +0 -1
  543. package/lib/esm/shared/erc20/index.js.map +0 -1
  544. package/lib/esm/shared/errors.js.map +0 -1
  545. package/lib/esm/shared/events.js.map +0 -1
  546. package/lib/esm/shared/fabric-types.js.map +0 -1
  547. package/lib/esm/shared/index.js.map +0 -1
  548. package/lib/esm/shared/interfaces/Checkable.js.map +0 -1
  549. package/lib/esm/shared/interfaces/index.js.map +0 -1
  550. package/lib/esm/shared/math.js.map +0 -1
  551. package/lib/esm/shared/model/FabricBaseModel.js.map +0 -1
  552. package/lib/esm/shared/model/FabricIdentifiedBaseModel.js.map +0 -1
  553. package/lib/esm/shared/model/Identity.js.map +0 -1
  554. package/lib/esm/shared/model/IdentityCredentials.js.map +0 -1
  555. package/lib/esm/shared/model/index.js.map +0 -1
  556. package/lib/esm/shared/overrides/Model.js.map +0 -1
  557. package/lib/esm/shared/overrides/index.js.map +0 -1
  558. package/lib/esm/shared/overrides/overrides.js.map +0 -1
  559. package/lib/esm/shared/types.js.map +0 -1
  560. package/lib/esm/version.js.map +0 -1
@@ -0,0 +1,90 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OtherMarket = void 0;
4
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
5
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
6
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
7
+ r = Reflect.decorate(decorators, target, key, desc);
8
+ else
9
+ for (var i = decorators.length - 1; i >= 0; i--)
10
+ if (d = decorators[i])
11
+ r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
12
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
13
+ };
14
+ var __metadata = (this && this.__metadata) || function (k, v) {
15
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
16
+ return Reflect.metadata(k, v);
17
+ };
18
+ const decorator_validation_1 = require("@decaf-ts/decorator-validation");
19
+ const core_1 = require("@decaf-ts/core");
20
+ const db_decorators_1 = require("@decaf-ts/db-decorators");
21
+ const decoration_1 = require("@decaf-ts/decoration");
22
+ const BaseIdentifiedModel_js_1 = require("./../models/BaseIdentifiedModel.cjs");
23
+ const gtin_js_1 = require("./../models/gtin.cjs");
24
+ const index_js_1 = require("./../../shared/index.cjs");
25
+ const history_dec_js_1 = require("./../models/history-dec.cjs");
26
+ let OtherMarket = class OtherMarket extends BaseIdentifiedModel_js_1.BaseIdentifiedModel {
27
+ constructor(model) {
28
+ super(model);
29
+ }
30
+ };
31
+ exports.OtherMarket = OtherMarket;
32
+ __decorate([
33
+ (0, core_1.pk)({ type: String, generated: false }),
34
+ (0, history_dec_js_1.historyDec)(),
35
+ (0, index_js_1.mirror)("mirror-collection", "PharmaledgerassocMSP"),
36
+ (0, db_decorators_1.composed)(["productCode", "marketId"], ":", true),
37
+ (0, decoration_1.description)("Unique identifier composed of product code and market ID."),
38
+ __metadata("design:type", String)
39
+ ], OtherMarket.prototype, "id", void 0);
40
+ __decorate([
41
+ (0, core_1.column)(),
42
+ (0, decorator_validation_1.required)(),
43
+ (0, core_1.defaultQueryAttr)(),
44
+ (0, core_1.index)([core_1.OrderDirection.ASC, core_1.OrderDirection.DSC]),
45
+ (0, decoration_1.description)("Identifier of the market where the product is registered or sold."),
46
+ __metadata("design:type", String)
47
+ ], OtherMarket.prototype, "marketId", void 0);
48
+ __decorate([
49
+ (0, core_1.column)(),
50
+ (0, gtin_js_1.gtin)(),
51
+ (0, decorator_validation_1.required)(),
52
+ (0, core_1.defaultQueryAttr)(),
53
+ __metadata("design:type", String)
54
+ ], OtherMarket.prototype, "productCode", void 0);
55
+ __decorate([
56
+ (0, core_1.column)(),
57
+ (0, decorator_validation_1.minlength)(2),
58
+ (0, decorator_validation_1.maxlength)(2),
59
+ (0, decoration_1.description)("Two-letter national code (ISO format) representing the market's country."),
60
+ __metadata("design:type", String)
61
+ ], OtherMarket.prototype, "nationalCode", void 0);
62
+ __decorate([
63
+ (0, core_1.column)(),
64
+ (0, decoration_1.description)("Name of the Marketing Authorization Holder (MAH)."),
65
+ __metadata("design:type", String)
66
+ ], OtherMarket.prototype, "mahName", void 0);
67
+ __decorate([
68
+ (0, core_1.column)(),
69
+ (0, decoration_1.description)("Name of the legal entity responsible for the product in this market."),
70
+ __metadata("design:type", String)
71
+ ], OtherMarket.prototype, "legalEntityName", void 0);
72
+ __decorate([
73
+ (0, core_1.column)(),
74
+ (0, decoration_1.description)("Address of the Marketing Authorization Holder or responsible legal entity."),
75
+ __metadata("design:type", String)
76
+ ], OtherMarket.prototype, "mahAddress", void 0);
77
+ __decorate([
78
+ (0, db_decorators_1.version)(),
79
+ __metadata("design:type", Number)
80
+ ], OtherMarket.prototype, "counter", void 0);
81
+ exports.OtherMarket = OtherMarket = __decorate([
82
+ (0, index_js_1.sharedData)((0, index_js_1.NamespaceCollection)("decaf-namespace")),
83
+ (0, decoration_1.description)("Links a product to a specific market."),
84
+ (0, decoration_1.uses)(index_js_1.FabricFlavour),
85
+ (0, core_1.table)("other_market"),
86
+ (0, decorator_validation_1.model)(),
87
+ __metadata("design:paramtypes", [Object])
88
+ ], OtherMarket);
89
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3RoZXJNYXJrZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29udHJhY3QvdHJhY2tlZE1vZGVscy9PdGhlck1hcmtldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFDQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFNBQVMsRUFDVCxLQUFLLEVBQ0wsUUFBUSxHQUNULE1BQU0sZ0NBQWdDLENBQUM7QUFDeEMsT0FBTyxFQUNMLE1BQU0sRUFDTixnQkFBZ0IsRUFDaEIsS0FBSyxFQUNMLGNBQWMsRUFDZCxFQUFFLEVBQ0YsS0FBSyxHQUNOLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSwyQ0FBc0M7QUFDcEUsT0FBTyxFQUFFLElBQUksRUFBRSw0QkFBdUI7QUFDdEMsT0FBTyxFQUNMLGFBQWEsRUFDYixNQUFNLEVBQ04sbUJBQW1CLEVBQ25CLFVBQVUsR0FDWCxnQ0FBMkI7QUFDNUIsT0FBTyxFQUFFLFVBQVUsRUFBRSxtQ0FBOEI7QUFPNUMsSUFBTSxXQUFXLEdBQWpCLE1BQU0sV0FBWSxTQUFRLG1CQUFtQjtJQWtEbEQsWUFBWSxLQUE2QjtRQUN2QyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDZixDQUFDO0NBQ0YsQ0FBQTtBQS9DQztJQUxDLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDO0lBQ3RDLFVBQVUsRUFBRTtJQUNaLE1BQU0sQ0FBQyxtQkFBbUIsRUFBRSxzQkFBc0IsQ0FBQztJQUNuRCxRQUFRLENBQUMsQ0FBQyxhQUFhLEVBQUUsVUFBVSxDQUFDLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQztJQUNoRCxXQUFXLENBQUMsMkRBQTJELENBQUM7O3VDQUM3RDtBQVNaO0lBUEMsTUFBTSxFQUFFO0lBQ1IsUUFBUSxFQUFFO0lBQ1YsZ0JBQWdCLEVBQUU7SUFDbEIsS0FBSyxDQUFDLENBQUMsY0FBYyxDQUFDLEdBQUcsRUFBRSxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDL0MsV0FBVyxDQUNWLG1FQUFtRSxDQUNwRTs7NkNBQ2lCO0FBTWxCO0lBSkMsTUFBTSxFQUFFO0lBQ1IsSUFBSSxFQUFFO0lBQ04sUUFBUSxFQUFFO0lBQ1YsZ0JBQWdCLEVBQUU7O2dEQUNFO0FBUXJCO0lBTkMsTUFBTSxFQUFFO0lBQ1IsU0FBUyxDQUFDLENBQUMsQ0FBQztJQUNaLFNBQVMsQ0FBQyxDQUFDLENBQUM7SUFDWixXQUFXLENBQ1YsMEVBQTBFLENBQzNFOztpREFDcUI7QUFJdEI7SUFGQyxNQUFNLEVBQUU7SUFDUixXQUFXLENBQUMsbURBQW1ELENBQUM7OzRDQUNoRDtBQU1qQjtJQUpDLE1BQU0sRUFBRTtJQUNSLFdBQVcsQ0FDVixzRUFBc0UsQ0FDdkU7O29EQUN3QjtBQU16QjtJQUpDLE1BQU0sRUFBRTtJQUNSLFdBQVcsQ0FDViw0RUFBNEUsQ0FDN0U7OytDQUNtQjtBQUdwQjtJQURDLE9BQU8sRUFBRTs7NENBQ087QUFoRE4sV0FBVztJQUx2QixVQUFVLENBQUMsbUJBQW1CLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNsRCxXQUFXLENBQUMsdUNBQXVDLENBQUM7SUFDcEQsSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUNuQixLQUFLLENBQUMsY0FBYyxDQUFDO0lBQ3JCLEtBQUssRUFBRTs7R0FDSyxXQUFXLENBcUR2QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTW9kZWxBcmcgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRvci12YWxpZGF0aW9uXCI7XG5pbXBvcnQge1xuICBtYXhsZW5ndGgsXG4gIG1pbmxlbmd0aCxcbiAgbW9kZWwsXG4gIHJlcXVpcmVkLFxufSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRvci12YWxpZGF0aW9uXCI7XG5pbXBvcnQge1xuICBjb2x1bW4sXG4gIGRlZmF1bHRRdWVyeUF0dHIsXG4gIGluZGV4LFxuICBPcmRlckRpcmVjdGlvbixcbiAgcGssXG4gIHRhYmxlLFxufSBmcm9tIFwiQGRlY2FmLXRzL2NvcmVcIjtcbmltcG9ydCB7IGNvbXBvc2VkLCB2ZXJzaW9uIH0gZnJvbSBcIkBkZWNhZi10cy9kYi1kZWNvcmF0b3JzXCI7XG5pbXBvcnQgeyBkZXNjcmlwdGlvbiwgdXNlcyB9IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdGlvblwiO1xuaW1wb3J0IHsgQmFzZUlkZW50aWZpZWRNb2RlbCB9IGZyb20gXCIuLi9tb2RlbHMvQmFzZUlkZW50aWZpZWRNb2RlbFwiO1xuaW1wb3J0IHsgZ3RpbiB9IGZyb20gXCIuLi9tb2RlbHMvZ3RpblwiO1xuaW1wb3J0IHtcbiAgRmFicmljRmxhdm91cixcbiAgbWlycm9yLFxuICBOYW1lc3BhY2VDb2xsZWN0aW9uLFxuICBzaGFyZWREYXRhLFxufSBmcm9tIFwiLi4vLi4vc2hhcmVkL2luZGV4XCI7XG5pbXBvcnQgeyBoaXN0b3J5RGVjIH0gZnJvbSBcIi4uL21vZGVscy9oaXN0b3J5LWRlY1wiO1xuXG5Ac2hhcmVkRGF0YShOYW1lc3BhY2VDb2xsZWN0aW9uKFwiZGVjYWYtbmFtZXNwYWNlXCIpKVxuQGRlc2NyaXB0aW9uKFwiTGlua3MgYSBwcm9kdWN0IHRvIGEgc3BlY2lmaWMgbWFya2V0LlwiKVxuQHVzZXMoRmFicmljRmxhdm91cilcbkB0YWJsZShcIm90aGVyX21hcmtldFwiKVxuQG1vZGVsKClcbmV4cG9ydCBjbGFzcyBPdGhlck1hcmtldCBleHRlbmRzIEJhc2VJZGVudGlmaWVkTW9kZWwge1xuICBAcGsoeyB0eXBlOiBTdHJpbmcsIGdlbmVyYXRlZDogZmFsc2UgfSlcbiAgQGhpc3RvcnlEZWMoKVxuICBAbWlycm9yKFwibWlycm9yLWNvbGxlY3Rpb25cIiwgXCJQaGFybWFsZWRnZXJhc3NvY01TUFwiKVxuICBAY29tcG9zZWQoW1wicHJvZHVjdENvZGVcIiwgXCJtYXJrZXRJZFwiXSwgXCI6XCIsIHRydWUpXG4gIEBkZXNjcmlwdGlvbihcIlVuaXF1ZSBpZGVudGlmaWVyIGNvbXBvc2VkIG9mIHByb2R1Y3QgY29kZSBhbmQgbWFya2V0IElELlwiKVxuICBpZCE6IHN0cmluZztcblxuICBAY29sdW1uKClcbiAgQHJlcXVpcmVkKClcbiAgQGRlZmF1bHRRdWVyeUF0dHIoKVxuICBAaW5kZXgoW09yZGVyRGlyZWN0aW9uLkFTQywgT3JkZXJEaXJlY3Rpb24uRFNDXSlcbiAgQGRlc2NyaXB0aW9uKFxuICAgIFwiSWRlbnRpZmllciBvZiB0aGUgbWFya2V0IHdoZXJlIHRoZSBwcm9kdWN0IGlzIHJlZ2lzdGVyZWQgb3Igc29sZC5cIlxuICApXG4gIG1hcmtldElkITogc3RyaW5nO1xuXG4gIEBjb2x1bW4oKVxuICBAZ3RpbigpXG4gIEByZXF1aXJlZCgpXG4gIEBkZWZhdWx0UXVlcnlBdHRyKClcbiAgcHJvZHVjdENvZGUhOiBzdHJpbmc7XG5cbiAgQGNvbHVtbigpXG4gIEBtaW5sZW5ndGgoMilcbiAgQG1heGxlbmd0aCgyKVxuICBAZGVzY3JpcHRpb24oXG4gICAgXCJUd28tbGV0dGVyIG5hdGlvbmFsIGNvZGUgKElTTyBmb3JtYXQpIHJlcHJlc2VudGluZyB0aGUgbWFya2V0J3MgY291bnRyeS5cIlxuICApXG4gIG5hdGlvbmFsQ29kZT86IHN0cmluZztcblxuICBAY29sdW1uKClcbiAgQGRlc2NyaXB0aW9uKFwiTmFtZSBvZiB0aGUgTWFya2V0aW5nIEF1dGhvcml6YXRpb24gSG9sZGVyIChNQUgpLlwiKVxuICBtYWhOYW1lPzogc3RyaW5nO1xuXG4gIEBjb2x1bW4oKVxuICBAZGVzY3JpcHRpb24oXG4gICAgXCJOYW1lIG9mIHRoZSBsZWdhbCBlbnRpdHkgcmVzcG9uc2libGUgZm9yIHRoZSBwcm9kdWN0IGluIHRoaXMgbWFya2V0LlwiXG4gIClcbiAgbGVnYWxFbnRpdHlOYW1lPzogc3RyaW5nO1xuXG4gIEBjb2x1bW4oKVxuICBAZGVzY3JpcHRpb24oXG4gICAgXCJBZGRyZXNzIG9mIHRoZSBNYXJrZXRpbmcgQXV0aG9yaXphdGlvbiBIb2xkZXIgb3IgcmVzcG9uc2libGUgbGVnYWwgZW50aXR5LlwiXG4gIClcbiAgbWFoQWRkcmVzcz86IHN0cmluZztcblxuICBAdmVyc2lvbigpXG4gIGNvdW50ZXI/OiBudW1iZXI7XG5cbiAgY29uc3RydWN0b3IobW9kZWw/OiBNb2RlbEFyZzxPdGhlck1hcmtldD4pIHtcbiAgICBzdXBlcihtb2RlbCk7XG4gIH1cbn1cbiJdfQ==
90
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3RoZXJNYXJrZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJPdGhlck1hcmtldC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxJQUFJLFVBQVUsR0FBRyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksVUFBVSxVQUFVLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxJQUFJO0lBQ2pGLElBQUksQ0FBQyxHQUFHLFNBQVMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7SUFDN0gsSUFBSSxPQUFPLE9BQU8sS0FBSyxRQUFRLElBQUksT0FBTyxPQUFPLENBQUMsUUFBUSxLQUFLLFVBQVU7UUFBRSxDQUFDLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQzs7UUFDMUgsS0FBSyxJQUFJLENBQUMsR0FBRyxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRTtZQUFFLElBQUksQ0FBQyxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUM7Z0JBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMs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QUFDLENBQUMsQ0FBQztBQUM3QyxVQUFVLENBQUM7SUFDUCxJQUFBLGFBQU0sR0FBRTtJQUNSLElBQUEsd0JBQVcsRUFBQyxzRUFBc0UsQ0FBQztJQUNuRixVQUFVLENBQUMsYUFBYSxFQUFFLE1BQU0sQ0FBQztDQUNwQyxFQUFFLFdBQVcsQ0FBQyxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztBQUNyRCxVQUFVLENBQUM7SUFDUCxJQUFBLGFBQU0sR0FBRTtJQUNSLElBQUEsd0JBQVcsRUFBQyw0RUFBNEUsQ0FBQztJQUN6RixVQUFVLENBQUMsYUFBYSxFQUFFLE1BQU0sQ0FBQztDQUNwQyxFQUFFLFdBQVcsQ0FBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7QUFDaEQsVUFBVSxDQUFDO0lBQ1AsSUFBQSx1QkFBTyxHQUFFO0lBQ1QsVUFBVSxDQUFDLGFBQWEsRUFBRSxNQUFNLENBQUM7Q0FDcEMsRUFBRSxXQUFXLENBQUMsU0FBUyxFQUFFLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO0FBQzdDLHNCQUFBLFdBQVcsR0FBRyxVQUFVLENBQUM7SUFDckIsSUFBQSxxQkFBVSxFQUFDLElBQUEsOEJBQW1CLEVBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNsRCxJQUFBLHdCQUFXLEVBQUMsdUNBQXVDLENBQUM7SUFDcEQsSUFBQSxpQkFBSSxFQUFDLHdCQUFhLENBQUM7SUFDbkIsSUFBQSxZQUFLLEVBQUMsY0FBYyxDQUFDO0lBQ3JCLElBQUEsNEJBQUssR0FBRTtJQUNQLFVBQVUsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0NBQzVDLEVBQUUsV0FBVyxDQUFDLENBQUM7QUFFaEIsOGtLQUE4a0siLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgX19kZWNvcmF0ZSA9ICh0aGlzICYmIHRoaXMuX19kZWNvcmF0ZSkgfHwgZnVuY3Rpb24gKGRlY29yYXRvcnMsIHRhcmdldCwga2V5LCBkZXNjKSB7XG4gICAgdmFyIGMgPSBhcmd1bWVudHMubGVuZ3RoLCByID0gYyA8IDMgPyB0YXJnZXQgOiBkZXNjID09PSBudWxsID8gZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodGFyZ2V0LCBrZXkpIDogZGVzYywgZDtcbiAgICBpZiAodHlwZW9mIFJlZmxlY3QgPT09IFwib2JqZWN0XCIgJiYgdHlwZW9mIFJlZmxlY3QuZGVjb3JhdGUgPT09IFwiZnVuY3Rpb25cIikgciA9IFJlZmxlY3QuZGVjb3JhdGUoZGVjb3JhdG9ycywgdGFyZ2V0LCBrZXksIGRlc2MpO1xuICAgIGVsc2UgZm9yICh2YXIgaSA9IGRlY29yYXRvcnMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIGlmIChkID0gZGVjb3JhdG9yc1tpXSkgciA9IChjIDwgMyA/IGQocikgOiBjID4gMyA/IGQodGFyZ2V0LCBrZXksIHIpIDogZCh0YXJnZXQsIGtleSkpIHx8IHI7XG4gICAgcmV0dXJuIGMgPiAzICYmIHIgJiYgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCByKSwgcjtcbn07XG52YXIgX19tZXRhZGF0YSA9ICh0aGlzICYmIHRoaXMuX19tZXRhZGF0YSkgfHwgZnVuY3Rpb24gKGssIHYpIHtcbiAgICBpZiAodHlwZW9mIFJlZmxlY3QgPT09IFwib2JqZWN0XCIgJiYgdHlwZW9mIFJlZmxlY3QubWV0YWRhdGEgPT09IFwiZnVuY3Rpb25cIikgcmV0dXJuIFJlZmxlY3QubWV0YWRhdGEoaywgdik7XG59O1xuaW1wb3J0IHsgbWF4bGVuZ3RoLCBtaW5sZW5ndGgsIG1vZGVsLCByZXF1aXJlZCwgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRvci12YWxpZGF0aW9uXCI7XG5pbXBvcnQgeyBjb2x1bW4sIGRlZmF1bHRRdWVyeUF0dHIsIGluZGV4LCBPcmRlckRpcmVjdGlvbiwgcGssIHRhYmxlLCB9IGZyb20gXCJAZGVjYWYtdHMvY29yZVwiO1xuaW1wb3J0IHsgY29tcG9zZWQsIHZlcnNpb24gfSBmcm9tIFwiQGRlY2FmLXRzL2RiLWRlY29yYXRvcnNcIjtcbmltcG9ydCB7IGRlc2NyaXB0aW9uLCB1c2VzIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0aW9uXCI7XG5pbXBvcnQgeyBCYXNlSWRlbnRpZmllZE1vZGVsIH0gZnJvbSBcIi4vLi4vbW9kZWxzL0Jhc2VJZGVudGlmaWVkTW9kZWwuanNcIjtcbmltcG9ydCB7IGd0aW4gfSBmcm9tIFwiLi8uLi9tb2RlbHMvZ3Rpbi5qc1wiO1xuaW1wb3J0IHsgRmFicmljRmxhdm91ciwgbWlycm9yLCBOYW1lc3BhY2VDb2xsZWN0aW9uLCBzaGFyZWREYXRhLCB9IGZyb20gXCIuLy4uLy4uL3NoYXJlZC9pbmRleC5qc1wiO1xuaW1wb3J0IHsgaGlzdG9yeURlYyB9IGZyb20gXCIuLy4uL21vZGVscy9oaXN0b3J5LWRlYy5qc1wiO1xubGV0IE90aGVyTWFya2V0ID0gY2xhc3MgT3RoZXJNYXJrZXQgZXh0ZW5kcyBCYXNlSWRlbnRpZmllZE1vZGVsIHtcbiAgICBjb25zdHJ1Y3Rvcihtb2RlbCkge1xuICAgICAgICBzdXBlcihtb2RlbCk7XG4gICAgfVxufTtcbl9fZGVjb3JhdGUoW1xuICAgIHBrKHsgdHlwZTogU3RyaW5nLCBnZW5lcmF0ZWQ6IGZhbHNlIH0pLFxuICAgIGhpc3RvcnlEZWMoKSxcbiAgICBtaXJyb3IoXCJtaXJyb3ItY29sbGVjdGlvblwiLCBcIlBoYXJtYWxlZGdlcmFzc29jTVNQXCIpLFxuICAgIGNvbXBvc2VkKFtcInByb2R1Y3RDb2RlXCIsIFwibWFya2V0SWRcIl0sIFwiOlwiLCB0cnVlKSxcbiAgICBkZXNjcmlwdGlvbihcIlVuaXF1ZSBpZGVudGlmaWVyIGNvbXBvc2VkIG9mIHByb2R1Y3QgY29kZSBhbmQgbWFya2V0IElELlwiKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgU3RyaW5nKVxuXSwgT3RoZXJNYXJrZXQucHJvdG90eXBlLCBcImlkXCIsIHZvaWQgMCk7XG5fX2RlY29yYXRlKFtcbiAgICBjb2x1bW4oKSxcbiAgICByZXF1aXJlZCgpLFxuICAgIGRlZmF1bHRRdWVyeUF0dHIoKSxcbiAgICBpbmRleChbT3JkZXJEaXJlY3Rpb24uQVNDLCBPcmRlckRpcmVjdGlvbi5EU0NdKSxcbiAgICBkZXNjcmlwdGlvbihcIklkZW50aWZpZXIgb2YgdGhlIG1hcmtldCB3aGVyZSB0aGUgcHJvZHVjdCBpcyByZWdpc3RlcmVkIG9yIHNvbGQuXCIpLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBTdHJpbmcpXG5dLCBPdGhlck1hcmtldC5wcm90b3R5cGUsIFwibWFya2V0SWRcIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIGNvbHVtbigpLFxuICAgIGd0aW4oKSxcbiAgICByZXF1aXJlZCgpLFxuICAgIGRlZmF1bHRRdWVyeUF0dHIoKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgU3RyaW5nKVxuXSwgT3RoZXJNYXJrZXQucHJvdG90eXBlLCBcInByb2R1Y3RDb2RlXCIsIHZvaWQgMCk7XG5fX2RlY29yYXRlKFtcbiAgICBjb2x1bW4oKSxcbiAgICBtaW5sZW5ndGgoMiksXG4gICAgbWF4bGVuZ3RoKDIpLFxuICAgIGRlc2NyaXB0aW9uKFwiVHdvLWxldHRlciBuYXRpb25hbCBjb2RlIChJU08gZm9ybWF0KSByZXByZXNlbnRpbmcgdGhlIG1hcmtldCdzIGNvdW50cnkuXCIpLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBTdHJpbmcpXG5dLCBPdGhlck1hcmtldC5wcm90b3R5cGUsIFwibmF0aW9uYWxDb2RlXCIsIHZvaWQgMCk7XG5fX2RlY29yYXRlKFtcbiAgICBjb2x1bW4oKSxcbiAgICBkZXNjcmlwdGlvbihcIk5hbWUgb2YgdGhlIE1hcmtldGluZyBBdXRob3JpemF0aW9uIEhvbGRlciAoTUFIKS5cIiksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIFN0cmluZylcbl0sIE90aGVyTWFya2V0LnByb3RvdHlwZSwgXCJtYWhOYW1lXCIsIHZvaWQgMCk7XG5fX2RlY29yYXRlKFtcbiAgICBjb2x1bW4oKSxcbiAgICBkZXNjcmlwdGlvbihcIk5hbWUgb2YgdGhlIGxlZ2FsIGVudGl0eSByZXNwb25zaWJsZSBmb3IgdGhlIHByb2R1Y3QgaW4gdGhpcyBtYXJrZXQuXCIpLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBTdHJpbmcpXG5dLCBPdGhlck1hcmtldC5wcm90b3R5cGUsIFwibGVnYWxFbnRpdHlOYW1lXCIsIHZvaWQgMCk7XG5fX2RlY29yYXRlKFtcbiAgICBjb2x1bW4oKSxcbiAgICBkZXNjcmlwdGlvbihcIkFkZHJlc3Mgb2YgdGhlIE1hcmtldGluZyBBdXRob3JpemF0aW9uIEhvbGRlciBvciByZXNwb25zaWJsZSBsZWdhbCBlbnRpdHkuXCIpLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBTdHJpbmcpXG5dLCBPdGhlck1hcmtldC5wcm90b3R5cGUsIFwibWFoQWRkcmVzc1wiLCB2b2lkIDApO1xuX19kZWNvcmF0ZShbXG4gICAgdmVyc2lvbigpLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBOdW1iZXIpXG5dLCBPdGhlck1hcmtldC5wcm90b3R5cGUsIFwiY291bnRlclwiLCB2b2lkIDApO1xuT3RoZXJNYXJrZXQgPSBfX2RlY29yYXRlKFtcbiAgICBzaGFyZWREYXRhKE5hbWVzcGFjZUNvbGxlY3Rpb24oXCJkZWNhZi1uYW1lc3BhY2VcIikpLFxuICAgIGRlc2NyaXB0aW9uKFwiTGlua3MgYSBwcm9kdWN0IHRvIGEgc3BlY2lmaWMgbWFya2V0LlwiKSxcbiAgICB1c2VzKEZhYnJpY0ZsYXZvdXIpLFxuICAgIHRhYmxlKFwib3RoZXJfbWFya2V0XCIpLFxuICAgIG1vZGVsKCksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjpwYXJhbXR5cGVzXCIsIFtPYmplY3RdKVxuXSwgT3RoZXJNYXJrZXQpO1xuZXhwb3J0IHsgT3RoZXJNYXJrZXQgfTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaVQzUm9aWEpOWVhKclpYUXVhbk1pTENKemIzVnlZMlZTYjI5MElqb2lJaXdpYzI5MWNtTmxjeUk2V3lJdUxpOHVMaTh1TGk4dUxpOXpjbU12WTI5dWRISmhZM1F2ZEhKaFkydGxaRTF2WkdWc2N5OVBkR2hsY2sxaGNtdGxkQzUwY3lKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pT3pzN096czdPenM3UVVGRFFTeFBRVUZQTEVWQlEwd3NVMEZCVXl4RlFVTlVMRk5CUVZNc1JVRkRWQ3hMUVVGTExFVkJRMHdzVVVGQlVTeEhRVU5VTEUxQlFVMHNaME5CUVdkRExFTkJRVU03UVVGRGVFTXNUMEZCVHl4RlFVTk1MRTFCUVUwc1JVRkRUaXhuUWtGQlowSXNSVUZEYUVJc1MwRkJTeXhGUVVOTUxHTkJRV01zUlVGRFpDeEZRVUZGTEVWQlEwWXNTMEZCU3l4SFFVTk9MRTFCUVUwc1owSkJRV2RDTEVOQlFVTTdRVUZEZUVJc1QwRkJUeXhGUVVGRkxGRkJRVkVzUlVGQlJTeFBRVUZQTEVWQlFVVXNUVUZCVFN4NVFrRkJlVUlzUTBGQlF6dEJRVU0xUkN4UFFVRlBMRVZCUVVVc1YwRkJWeXhGUVVGRkxFbEJRVWtzUlVGQlJTeE5RVUZOTEhOQ1FVRnpRaXhEUVVGRE8wRkJRM3BFTEU5QlFVOHNSVUZCUlN4dFFrRkJiVUlzUlVGQlJTd3lRMEZCYzBNN1FVRkRjRVVzVDBGQlR5eEZRVUZGTEVsQlFVa3NSVUZCUlN3MFFrRkJkVUk3UVVGRGRFTXNUMEZCVHl4RlFVTk1MR0ZCUVdFc1JVRkRZaXhOUVVGTkxFVkJRMDRzYlVKQlFXMUNMRVZCUTI1Q0xGVkJRVlVzUjBGRFdDeG5RMEZCTWtJN1FVRkROVUlzVDBGQlR5eEZRVUZGTEZWQlFWVXNSVUZCUlN4dFEwRkJPRUk3UVVGUE5VTXNTVUZCVFN4WFFVRlhMRWRCUVdwQ0xFMUJRVTBzVjBGQldTeFRRVUZSTEcxQ1FVRnRRanRKUVd0RWJFUXNXVUZCV1N4TFFVRTJRanRSUVVOMlF5eExRVUZMTEVOQlFVTXNTMEZCU3l4RFFVRkRMRU5CUVVNN1NVRkRaaXhEUVVGRE8wTkJRMFlzUTBGQlFUdEJRUzlEUXp0SlFVeERMRVZCUVVVc1EwRkJReXhGUVVGRkxFbEJRVWtzUlVGQlJTeE5RVUZOTEVWQlFVVXNVMEZCVXl4RlFVRkZMRXRCUVVzc1JVRkJSU3hEUVVGRE8wbEJRM1JETEZWQlFWVXNSVUZCUlR0SlFVTmFMRTFCUVUwc1EwRkJReXh0UWtGQmJVSXNSVUZCUlN4elFrRkJjMElzUTBGQlF6dEpRVU51UkN4UlFVRlJMRU5CUVVNc1EwRkJReXhoUVVGaExFVkJRVVVzVlVGQlZTeERRVUZETEVWQlFVVXNSMEZCUnl4RlFVRkZMRWxCUVVrc1EwRkJRenRKUVVOb1JDeFhRVUZYTEVOQlFVTXNNa1JCUVRKRUxFTkJRVU03TzNWRFFVTTNSRHRCUVZOYU8wbEJVRU1zVFVGQlRTeEZRVUZGTzBsQlExSXNVVUZCVVN4RlFVRkZPMGxCUTFZc1owSkJRV2RDTEVWQlFVVTdTVUZEYkVJc1MwRkJTeXhEUVVGRExFTkJRVU1zWTBGQll5eERRVUZETEVkQlFVY3NSVUZCUlN4alFVRmpMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU03U1VGREwwTXNWMEZCVnl4RFFVTldMRzFGUVVGdFJTeERRVU53UlRzN05rTkJRMmxDTzBGQlRXeENPMGxCU2tNc1RVRkJUU3hGUVVGRk8wbEJRMUlzU1VGQlNTeEZRVUZGTzBsQlEwNHNVVUZCVVN4RlFVRkZPMGxCUTFZc1owSkJRV2RDTEVWQlFVVTdPMmRFUVVORk8wRkJVWEpDTzBsQlRrTXNUVUZCVFN4RlFVRkZPMGxCUTFJc1UwRkJVeXhEUVVGRExFTkJRVU1zUTBGQlF6dEpRVU5hTEZOQlFWTXNRMEZCUXl4RFFVRkRMRU5CUVVNN1NVRkRXaXhYUVVGWExFTkJRMVlzTUVWQlFUQkZMRU5CUXpORk96dHBSRUZEY1VJN1FVRkpkRUk3U1VGR1F5eE5RVUZOTEVWQlFVVTdTVUZEVWl4WFFVRlhMRU5CUVVNc2JVUkJRVzFFTEVOQlFVTTdPelJEUVVOb1JEdEJRVTFxUWp0SlFVcERMRTFCUVUwc1JVRkJSVHRKUVVOU0xGZEJRVmNzUTBGRFZpeHpSVUZCYzBVc1EwRkRka1U3TzI5RVFVTjNRanRCUVUxNlFqdEpRVXBETEUxQlFVMHNSVUZCUlR0SlFVTlNMRmRCUVZjc1EwRkRWaXcwUlVGQk5FVXNRMEZETjBVN095dERRVU50UWp0QlFVZHdRanRKUVVSRExFOUJRVThzUlVGQlJUczdORU5CUTA4N1FVRm9SRTRzVjBGQlZ6dEpRVXgyUWl4VlFVRlZMRU5CUVVNc2JVSkJRVzFDTEVOQlFVTXNhVUpCUVdsQ0xFTkJRVU1zUTBGQlF6dEpRVU5zUkN4WFFVRlhMRU5CUVVNc2RVTkJRWFZETEVOQlFVTTdTVUZEY0VRc1NVRkJTU3hEUVVGRExHRkJRV0VzUTBGQlF6dEpRVU51UWl4TFFVRkxMRU5CUVVNc1kwRkJZeXhEUVVGRE8wbEJRM0pDTEV0QlFVc3NSVUZCUlRzN1IwRkRTeXhYUVVGWExFTkJjVVIyUWlJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYkltbHRjRzl5ZENCMGVYQmxJSHNnVFc5a1pXeEJjbWNnZlNCbWNtOXRJRndpUUdSbFkyRm1MWFJ6TDJSbFkyOXlZWFJ2Y2kxMllXeHBaR0YwYVc5dVhDSTdYRzVwYlhCdmNuUWdlMXh1SUNCdFlYaHNaVzVuZEdnc1hHNGdJRzFwYm14bGJtZDBhQ3hjYmlBZ2JXOWtaV3dzWEc0Z0lISmxjWFZwY21Wa0xGeHVmU0JtY205dElGd2lRR1JsWTJGbUxYUnpMMlJsWTI5eVlYUnZjaTEyWVd4cFpHRjBhVzl1WENJN1hHNXBiWEJ2Y25RZ2UxeHVJQ0JqYjJ4MWJXNHNYRzRnSUdSbFptRjFiSFJSZFdWeWVVRjBkSElzWEc0Z0lHbHVaR1Y0TEZ4dUlDQlBjbVJsY2tScGNtVmpkR2x2Yml4Y2JpQWdjR3NzWEc0Z0lIUmhZbXhsTEZ4dWZTQm1jbTl0SUZ3aVFHUmxZMkZtTFhSekwyTnZjbVZjSWp0Y2JtbHRjRzl5ZENCN0lHTnZiWEJ2YzJWa0xDQjJaWEp6YVc5dUlIMGdabkp2YlNCY0lrQmtaV05oWmkxMGN5OWtZaTFrWldOdmNtRjBiM0p6WENJN1hHNXBiWEJ2Y25RZ2V5QmtaWE5qY21sd2RHbHZiaXdnZFhObGN5QjlJR1p5YjIwZ1hDSkFaR1ZqWVdZdGRITXZaR1ZqYjNKaGRHbHZibHdpTzF4dWFXMXdiM0owSUhzZ1FtRnpaVWxrWlc1MGFXWnBaV1JOYjJSbGJDQjlJR1p5YjIwZ1hDSXVMaTl0YjJSbGJITXZRbUZ6WlVsa1pXNTBhV1pwWldSTmIyUmxiRndpTzF4dWFXMXdiM0owSUhzZ1ozUnBiaUI5SUdaeWIyMGdYQ0l1TGk5dGIyUmxiSE12WjNScGJsd2lPMXh1YVcxd2IzSjBJSHRjYmlBZ1JtRmljbWxqUm14aGRtOTFjaXhjYmlBZ2JXbHljbTl5TEZ4dUlDQk9ZVzFsYzNCaFkyVkRiMnhzWldOMGFXOXVMRnh1SUNCemFHRnlaV1JFWVhSaExGeHVmU0JtY205dElGd2lMaTR2TGk0dmMyaGhjbVZrTDJsdVpHVjRYQ0k3WEc1cGJYQnZjblFnZXlCb2FYTjBiM0o1UkdWaklIMGdabkp2YlNCY0lpNHVMMjF2WkdWc2N5OW9hWE4wYjNKNUxXUmxZMXdpTzF4dVhHNUFjMmhoY21Wa1JHRjBZU2hPWVcxbGMzQmhZMlZEYjJ4c1pXTjBhVzl1S0Z3aVpHVmpZV1l0Ym1GdFpYTndZV05sWENJcEtWeHVRR1JsYzJOeWFYQjBhVzl1S0Z3aVRHbHVhM01nWVNCd2NtOWtkV04wSUhSdklHRWdjM0JsWTJsbWFXTWdiV0Z5YTJWMExsd2lLVnh1UUhWelpYTW9SbUZpY21salJteGhkbTkxY2lsY2JrQjBZV0pzWlNoY0ltOTBhR1Z5WDIxaGNtdGxkRndpS1Z4dVFHMXZaR1ZzS0NsY2JtVjRjRzl5ZENCamJHRnpjeUJQZEdobGNrMWhjbXRsZENCbGVIUmxibVJ6SUVKaGMyVkpaR1Z1ZEdsbWFXVmtUVzlrWld3Z2UxeHVJQ0JBY0dzb2V5QjBlWEJsT2lCVGRISnBibWNzSUdkbGJtVnlZWFJsWkRvZ1ptRnNjMlVnZlNsY2JpQWdRR2hwYzNSdmNubEVaV01vS1Z4dUlDQkFiV2x5Y205eUtGd2liV2x5Y205eUxXTnZiR3hsWTNScGIyNWNJaXdnWENKUWFHRnliV0ZzWldSblpYSmhjM052WTAxVFVGd2lLVnh1SUNCQVkyOXRjRzl6WldRb1cxd2ljSEp2WkhWamRFTnZaR1ZjSWl3Z1hDSnRZWEpyWlhSSlpGd2lYU3dnWENJNlhDSXNJSFJ5ZFdVcFhHNGdJRUJrWlhOamNtbHdkR2x2YmloY0lsVnVhWEYxWlNCcFpHVnVkR2xtYVdWeUlHTnZiWEJ2YzJWa0lHOW1JSEJ5YjJSMVkzUWdZMjlrWlNCaGJtUWdiV0Z5YTJWMElFbEVMbHdpS1Z4dUlDQnBaQ0U2SUhOMGNtbHVaenRjYmx4dUlDQkFZMjlzZFcxdUtDbGNiaUFnUUhKbGNYVnBjbVZrS0NsY2JpQWdRR1JsWm1GMWJIUlJkV1Z5ZVVGMGRISW9LVnh1SUNCQWFXNWtaWGdvVzA5eVpHVnlSR2x5WldOMGFXOXVMa0ZUUXl3Z1QzSmtaWEpFYVhKbFkzUnBiMjR1UkZORFhTbGNiaUFnUUdSbGMyTnlhWEIwYVc5dUtGeHVJQ0FnSUZ3aVNXUmxiblJwWm1sbGNpQnZaaUIwYUdVZ2JXRnlhMlYwSUhkb1pYSmxJSFJvWlNCd2NtOWtkV04wSUdseklISmxaMmx6ZEdWeVpXUWdiM0lnYzI5c1pDNWNJbHh1SUNBcFhHNGdJRzFoY210bGRFbGtJVG9nYzNSeWFXNW5PMXh1WEc0Z0lFQmpiMngxYlc0b0tWeHVJQ0JBWjNScGJpZ3BYRzRnSUVCeVpYRjFhWEpsWkNncFhHNGdJRUJrWldaaGRXeDBVWFZsY25sQmRIUnlLQ2xjYmlBZ2NISnZaSFZqZEVOdlpHVWhPaUJ6ZEhKcGJtYzdYRzVjYmlBZ1FHTnZiSFZ0YmlncFhHNGdJRUJ0YVc1c1pXNW5kR2dvTWlsY2JpQWdRRzFoZUd4bGJtZDBhQ2d5S1Z4dUlDQkFaR1Z6WTNKcGNIUnBiMjRvWEc0Z0lDQWdYQ0pVZDI4dGJHVjBkR1Z5SUc1aGRHbHZibUZzSUdOdlpHVWdLRWxUVHlCbWIzSnRZWFFwSUhKbGNISmxjMlZ1ZEdsdVp5QjBhR1VnYldGeWEyVjBKM01nWTI5MWJuUnllUzVjSWx4dUlDQXBYRzRnSUc1aGRHbHZibUZzUTI5a1pUODZJSE4wY21sdVp6dGNibHh1SUNCQVkyOXNkVzF1S0NsY2JpQWdRR1JsYzJOeWFYQjBhVzl1S0Z3aVRtRnRaU0J2WmlCMGFHVWdUV0Z5YTJWMGFXNW5JRUYxZEdodmNtbDZZWFJwYjI0Z1NHOXNaR1Z5SUNoTlFVZ3BMbHdpS1Z4dUlDQnRZV2hPWVcxbFB6b2djM1J5YVc1bk8xeHVYRzRnSUVCamIyeDFiVzRvS1Z4dUlDQkFaR1Z6WTNKcGNIUnBiMjRvWEc0Z0lDQWdYQ0pPWVcxbElHOW1JSFJvWlNCc1pXZGhiQ0JsYm5ScGRIa2djbVZ6Y0c5dWMybGliR1VnWm05eUlIUm9aU0J3Y205a2RXTjBJR2x1SUhSb2FYTWdiV0Z5YTJWMExsd2lYRzRnSUNsY2JpQWdiR1ZuWVd4RmJuUnBkSGxPWVcxbFB6b2djM1J5YVc1bk8xeHVYRzRnSUVCamIyeDFiVzRvS1Z4dUlDQkFaR1Z6WTNKcGNIUnBiMjRvWEc0Z0lDQWdYQ0pCWkdSeVpYTnpJRzltSUhSb1pTQk5ZWEpyWlhScGJtY2dRWFYwYUc5eWFYcGhkR2x2YmlCSWIyeGtaWElnYjNJZ2NtVnpjRzl1YzJsaWJHVWdiR1ZuWVd3Z1pXNTBhWFI1TGx3aVhHNGdJQ2xjYmlBZ2JXRm9RV1JrY21WemN6ODZJSE4wY21sdVp6dGNibHh1SUNCQWRtVnljMmx2YmlncFhHNGdJR052ZFc1MFpYSS9PaUJ1ZFcxaVpYSTdYRzVjYmlBZ1kyOXVjM1J5ZFdOMGIzSW9iVzlrWld3L09pQk5iMlJsYkVGeVp6eFBkR2hsY2sxaGNtdGxkRDRwSUh0Y2JpQWdJQ0J6ZFhCbGNpaHRiMlJsYkNrN1hHNGdJSDFjYm4xY2JpSmRmUT09Il19
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OtherProduct = void 0;
4
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
5
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
6
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
7
+ r = Reflect.decorate(decorators, target, key, desc);
8
+ else
9
+ for (var i = decorators.length - 1; i >= 0; i--)
10
+ if (d = decorators[i])
11
+ r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
12
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
13
+ };
14
+ var __metadata = (this && this.__metadata) || function (k, v) {
15
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
16
+ return Reflect.metadata(k, v);
17
+ };
18
+ const decorator_validation_1 = require("@decaf-ts/decorator-validation");
19
+ const core_1 = require("@decaf-ts/core");
20
+ // import {BlockOperations, OperationKeys, readonly} from "@decaf-ts/db-decorators";
21
+ const decoration_1 = require("@decaf-ts/decoration");
22
+ const BaseIdentifiedModel_js_1 = require("./../models/BaseIdentifiedModel.cjs");
23
+ const gtin_js_1 = require("./../models/gtin.cjs");
24
+ const decorators_js_1 = require("./../models/decorators.cjs");
25
+ const index_js_1 = require("./../../shared/index.cjs");
26
+ const db_decorators_1 = require("@decaf-ts/db-decorators");
27
+ const history_dec_js_1 = require("./../models/history-dec.cjs");
28
+ // @privateData()
29
+ let OtherProduct = class OtherProduct extends BaseIdentifiedModel_js_1.BaseIdentifiedModel {
30
+ constructor(args) {
31
+ super(args);
32
+ this.productRecall = false;
33
+ }
34
+ };
35
+ exports.OtherProduct = OtherProduct;
36
+ __decorate([
37
+ (0, core_1.pk)(),
38
+ (0, gtin_js_1.gtin)(),
39
+ (0, history_dec_js_1.historyDec)(),
40
+ (0, index_js_1.mirror)("mirror-collection", "PharmaledgerassocMSP"),
41
+ (0, decorators_js_1.audit)(OtherProduct),
42
+ __metadata("design:type", String)
43
+ ], OtherProduct.prototype, "productCode", void 0);
44
+ __decorate([
45
+ (0, core_1.column)(),
46
+ (0, decorator_validation_1.required)(),
47
+ (0, core_1.index)([core_1.OrderDirection.ASC, core_1.OrderDirection.DSC]),
48
+ __metadata("design:type", String)
49
+ ], OtherProduct.prototype, "inventedName", void 0);
50
+ __decorate([
51
+ (0, core_1.column)(),
52
+ (0, decorator_validation_1.required)(),
53
+ (0, core_1.index)([core_1.OrderDirection.ASC, core_1.OrderDirection.DSC]),
54
+ __metadata("design:type", String)
55
+ ], OtherProduct.prototype, "nameMedicinalProduct", void 0);
56
+ __decorate([
57
+ (0, core_1.column)(),
58
+ __metadata("design:type", String)
59
+ ], OtherProduct.prototype, "internalMaterialCode", void 0);
60
+ __decorate([
61
+ (0, core_1.column)(),
62
+ (0, core_1.index)([core_1.OrderDirection.ASC, core_1.OrderDirection.DSC]),
63
+ __metadata("design:type", Boolean)
64
+ ], OtherProduct.prototype, "productRecall", void 0);
65
+ __decorate([
66
+ (0, db_decorators_1.version)(),
67
+ __metadata("design:type", Number)
68
+ ], OtherProduct.prototype, "counter", void 0);
69
+ __decorate([
70
+ (0, core_1.column)(),
71
+ (0, index_js_1.ownedBy)(),
72
+ __metadata("design:type", String)
73
+ ], OtherProduct.prototype, "ownedBy", void 0);
74
+ exports.OtherProduct = OtherProduct = __decorate([
75
+ (0, decoration_1.uses)(index_js_1.FabricFlavour)
76
+ // @BlockOperations([OperationKeys.DELETE])
77
+ ,
78
+ (0, core_1.table)("other_product"),
79
+ (0, decorator_validation_1.model)(),
80
+ __metadata("design:paramtypes", [Object])
81
+ ], OtherProduct);
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3RoZXJQcm9kdWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbnRyYWN0L3RyYWNrZWRNb2RlbHMvT3RoZXJQcm9kdWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUNBLE9BQU8sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDakUsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsY0FBYyxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMxRSxvRkFBb0Y7QUFDcEYsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSwyQ0FBc0M7QUFDcEUsT0FBTyxFQUFFLElBQUksRUFBRSw0QkFBdUI7QUFFdEMsT0FBTyxFQUFFLEtBQUssRUFBRSxrQ0FBNkI7QUFDN0MsT0FBTyxFQUNMLGFBQWEsRUFDYixNQUFNLEVBQ04sT0FBTyxHQUVSLGdDQUEyQjtBQUM1QixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxtQ0FBOEI7QUFFbkQsaUJBQWlCO0FBS1YsSUFBTSxZQUFZLEdBQWxCLE1BQU0sWUFBYSxTQUFRLG1CQUFtQjtJQWlFbkQsWUFBWSxJQUE2QjtRQUN2QyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUEzQ2Qsa0JBQWEsR0FBWSxLQUFLLENBQUM7SUE0Qy9CLENBQUM7Q0FDRixDQUFBO0FBOURDO0lBTEMsRUFBRSxFQUFFO0lBQ0osSUFBSSxFQUFFO0lBQ04sVUFBVSxFQUFFO0lBQ1osTUFBTSxDQUFDLG1CQUFtQixFQUFFLHNCQUFzQixDQUFDO0lBQ25ELEtBQUssQ0FBQyxZQUFZLENBQUM7O2lEQUNDO0FBS3JCO0lBSEMsTUFBTSxFQUFFO0lBQ1IsUUFBUSxFQUFFO0lBQ1YsS0FBSyxDQUFDLENBQUMsY0FBYyxDQUFDLEdBQUcsRUFBRSxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUM7O2tEQUMxQjtBQUt0QjtJQUhDLE1BQU0sRUFBRTtJQUNSLFFBQVEsRUFBRTtJQUNWLEtBQUssQ0FBQyxDQUFDLGNBQWMsQ0FBQyxHQUFHLEVBQUUsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDOzswREFDbEI7QUFHOUI7SUFEQyxNQUFNLEVBQUU7OzBEQUNxQjtBQUk5QjtJQUZDLE1BQU0sRUFBRTtJQUNSLEtBQUssQ0FBQyxDQUFDLGNBQWMsQ0FBQyxHQUFHLEVBQUUsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDOzttREFDakI7QUFzQi9CO0lBREMsT0FBTyxFQUFFOzs2Q0FDTztBQWtCakI7SUFGQyxNQUFNLEVBQUU7SUFDUixPQUFPLEVBQUU7OzZDQUNPO0FBL0ROLFlBQVk7SUFKeEIsSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUNwQiwyQ0FBMkM7O0lBQzFDLEtBQUssQ0FBQyxlQUFlLENBQUM7SUFDdEIsS0FBSyxFQUFFOztHQUNLLFlBQVksQ0FvRXhCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBNb2RlbEFyZyB9IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb25cIjtcbmltcG9ydCB7IG1vZGVsLCByZXF1aXJlZCB9IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb25cIjtcbmltcG9ydCB7IGNvbHVtbiwgaW5kZXgsIE9yZGVyRGlyZWN0aW9uLCBwaywgdGFibGUgfSBmcm9tIFwiQGRlY2FmLXRzL2NvcmVcIjtcbi8vIGltcG9ydCB7QmxvY2tPcGVyYXRpb25zLCBPcGVyYXRpb25LZXlzLCByZWFkb25seX0gZnJvbSBcIkBkZWNhZi10cy9kYi1kZWNvcmF0b3JzXCI7XG5pbXBvcnQgeyB1c2VzIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0aW9uXCI7XG5pbXBvcnQgeyBCYXNlSWRlbnRpZmllZE1vZGVsIH0gZnJvbSBcIi4uL21vZGVscy9CYXNlSWRlbnRpZmllZE1vZGVsXCI7XG5pbXBvcnQgeyBndGluIH0gZnJvbSBcIi4uL21vZGVscy9ndGluXCI7XG5cbmltcG9ydCB7IGF1ZGl0IH0gZnJvbSBcIi4uL21vZGVscy9kZWNvcmF0b3JzXCI7XG5pbXBvcnQge1xuICBGYWJyaWNGbGF2b3VyLFxuICBtaXJyb3IsXG4gIG93bmVkQnksXG4gIHByaXZhdGVEYXRhLFxufSBmcm9tIFwiLi4vLi4vc2hhcmVkL2luZGV4XCI7XG5pbXBvcnQgeyB2ZXJzaW9uIH0gZnJvbSBcIkBkZWNhZi10cy9kYi1kZWNvcmF0b3JzXCI7XG5pbXBvcnQgeyBoaXN0b3J5RGVjIH0gZnJvbSBcIi4uL21vZGVscy9oaXN0b3J5LWRlY1wiO1xuXG4vLyBAcHJpdmF0ZURhdGEoKVxuQHVzZXMoRmFicmljRmxhdm91cilcbi8vIEBCbG9ja09wZXJhdGlvbnMoW09wZXJhdGlvbktleXMuREVMRVRFXSlcbkB0YWJsZShcIm90aGVyX3Byb2R1Y3RcIilcbkBtb2RlbCgpXG5leHBvcnQgY2xhc3MgT3RoZXJQcm9kdWN0IGV4dGVuZHMgQmFzZUlkZW50aWZpZWRNb2RlbCB7XG4gIEBwaygpXG4gIEBndGluKClcbiAgQGhpc3RvcnlEZWMoKVxuICBAbWlycm9yKFwibWlycm9yLWNvbGxlY3Rpb25cIiwgXCJQaGFybWFsZWRnZXJhc3NvY01TUFwiKVxuICBAYXVkaXQoT3RoZXJQcm9kdWN0KVxuICBwcm9kdWN0Q29kZSE6IHN0cmluZztcblxuICBAY29sdW1uKClcbiAgQHJlcXVpcmVkKClcbiAgQGluZGV4KFtPcmRlckRpcmVjdGlvbi5BU0MsIE9yZGVyRGlyZWN0aW9uLkRTQ10pXG4gIGludmVudGVkTmFtZSE6IHN0cmluZztcblxuICBAY29sdW1uKClcbiAgQHJlcXVpcmVkKClcbiAgQGluZGV4KFtPcmRlckRpcmVjdGlvbi5BU0MsIE9yZGVyRGlyZWN0aW9uLkRTQ10pXG4gIG5hbWVNZWRpY2luYWxQcm9kdWN0ITogc3RyaW5nO1xuXG4gIEBjb2x1bW4oKVxuICBpbnRlcm5hbE1hdGVyaWFsQ29kZT86IHN0cmluZztcblxuICBAY29sdW1uKClcbiAgQGluZGV4KFtPcmRlckRpcmVjdGlvbi5BU0MsIE9yZGVyRGlyZWN0aW9uLkRTQ10pXG4gIHByb2R1Y3RSZWNhbGw6IGJvb2xlYW4gPSBmYWxzZTtcbiAgLy9cbiAgLy8gQGNvbHVtbigpXG4gIC8vIGZsYWdFbmFibGVBZHZlcnNlRXZlbnRSZXBvcnRpbmc/OiBib29sZWFuO1xuICAvL1xuICAvLyBAY29sdW1uKClcbiAgLy8gYWR2ZXJzZUV2ZW50UmVwb3J0aW5nVVJMPzogc3RyaW5nO1xuICAvL1xuICAvLyBAY29sdW1uKClcbiAgLy8gZmxhZ0VuYWJsZUFDRlByb2R1Y3RDaGVjaz86IGJvb2xlYW47XG4gIC8vXG4gIC8vIEBjb2x1bW4oKVxuICAvLyBAdXJsKClcbiAgLy8gYWNmUHJvZHVjdENoZWNrVVJMPzogc3RyaW5nO1xuICAvL1xuICAvLyBAY29sdW1uKClcbiAgLy8gcGF0aWVudFNwZWNpZmljTGVhZmxldD86IHN0cmluZztcbiAgLy9cbiAgLy8gQGNvbHVtbigpXG4gIC8vIGhlYWx0aGNhcmVQcmFjdGl0aW9uZXJJbmZvPzogc3RyaW5nO1xuXG4gIEB2ZXJzaW9uKClcbiAgY291bnRlcj86IG51bWJlcjtcbiAgLy9cbiAgLy8gQG9uZVRvTWFueShcbiAgLy8gICAoKSA9PiBQcm9kdWN0U3RyZW5ndGgsXG4gIC8vICAgeyB1cGRhdGU6IENhc2NhZGUuQ0FTQ0FERSwgZGVsZXRlOiBDYXNjYWRlLkNBU0NBREUgfSxcbiAgLy8gICBmYWxzZVxuICAvLyApXG4gIC8vIHN0cmVuZ3RocyE6IFByb2R1Y3RTdHJlbmd0aFtdO1xuICAvL1xuICAvLyBAb25lVG9NYW55KFxuICAvLyAgICgpID0+IE1hcmtldCxcbiAgLy8gICB7IHVwZGF0ZTogQ2FzY2FkZS5OT05FLCBkZWxldGU6IENhc2NhZGUuTk9ORSB9LFxuICAvLyAgIGZhbHNlXG4gIC8vIClcbiAgLy8gbWFya2V0cyE6IE1hcmtldFtdO1xuXG4gIEBjb2x1bW4oKVxuICBAb3duZWRCeSgpXG4gIG93bmVkQnk/OiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoYXJncz86IE1vZGVsQXJnPE90aGVyUHJvZHVjdD4pIHtcbiAgICBzdXBlcihhcmdzKTtcbiAgfVxufVxuIl19
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3RoZXJQcm9kdWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiT3RoZXJQcm9kdWN0LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLElBQUksVUFBVSxHQUFHLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxVQUFVLFVBQVUsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLElBQUk7SUFDakYsSUFBSSxDQUFDLEdBQUcsU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLHdCQUF3QixDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUM3SCxJQUFJLE9BQU8sT0FBTyxLQUFLLFFBQVEsSUFBSSxPQUFPLE9BQU8sQ0FBQyxRQUFRLEtBQUssVUFBVTtRQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDOztRQUMxSCxLQUFLLElBQUksQ0FBQyxHQUFHLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFO1lBQUUsSUFBSSxDQUFDLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQztnQkFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FB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QVMsRUFBRSxTQUFTLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztBQUM5QyxVQUFVLENBQUM7SUFDUCxJQUFBLGFBQU0sR0FBRTtJQUNSLElBQUEsa0JBQU8sR0FBRTtJQUNULFVBQVUsQ0FBQyxhQUFhLEVBQUUsTUFBTSxDQUFDO0NBQ3BDLEVBQUUsWUFBWSxDQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztBQUM5Qyx1QkFBQSxZQUFZLEdBQUcsVUFBVSxDQUFDO0lBQ3RCLElBQUEsaUJBQUksRUFBQyx3QkFBYSxDQUFDO0lBQ25CLDJDQUEyQzs7SUFFM0MsSUFBQSxZQUFLLEVBQUMsZUFBZSxDQUFDO0lBQ3RCLElBQUEsNEJBQUssR0FBRTtJQUNQLFVBQVUsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0NBQzVDLEVBQUUsWUFBWSxDQUFDLENBQUM7QUFFakIsczRKQUFzNEoiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgX19kZWNvcmF0ZSA9ICh0aGlzICYmIHRoaXMuX19kZWNvcmF0ZSkgfHwgZnVuY3Rpb24gKGRlY29yYXRvcnMsIHRhcmdldCwga2V5LCBkZXNjKSB7XG4gICAgdmFyIGMgPSBhcmd1bWVudHMubGVuZ3RoLCByID0gYyA8IDMgPyB0YXJnZXQgOiBkZXNjID09PSBudWxsID8gZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodGFyZ2V0LCBrZXkpIDogZGVzYywgZDtcbiAgICBpZiAodHlwZW9mIFJlZmxlY3QgPT09IFwib2JqZWN0XCIgJiYgdHlwZW9mIFJlZmxlY3QuZGVjb3JhdGUgPT09IFwiZnVuY3Rpb25cIikgciA9IFJlZmxlY3QuZGVjb3JhdGUoZGVjb3JhdG9ycywgdGFyZ2V0LCBrZXksIGRlc2MpO1xuICAgIGVsc2UgZm9yICh2YXIgaSA9IGRlY29yYXRvcnMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIGlmIChkID0gZGVjb3JhdG9yc1tpXSkgciA9IChjIDwgMyA/IGQocikgOiBjID4gMyA/IGQodGFyZ2V0LCBrZXksIHIpIDogZCh0YXJnZXQsIGtleSkpIHx8IHI7XG4gICAgcmV0dXJuIGMgPiAzICYmIHIgJiYgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCByKSwgcjtcbn07XG52YXIgX19tZXRhZGF0YSA9ICh0aGlzICYmIHRoaXMuX19tZXRhZGF0YSkgfHwgZnVuY3Rpb24gKGssIHYpIHtcbiAgICBpZiAodHlwZW9mIFJlZmxlY3QgPT09IFwib2JqZWN0XCIgJiYgdHlwZW9mIFJlZmxlY3QubWV0YWRhdGEgPT09IFwiZnVuY3Rpb25cIikgcmV0dXJuIFJlZmxlY3QubWV0YWRhdGEoaywgdik7XG59O1xuaW1wb3J0IHsgbW9kZWwsIHJlcXVpcmVkIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0b3ItdmFsaWRhdGlvblwiO1xuaW1wb3J0IHsgY29sdW1uLCBpbmRleCwgT3JkZXJEaXJlY3Rpb24sIHBrLCB0YWJsZSB9IGZyb20gXCJAZGVjYWYtdHMvY29yZVwiO1xuLy8gaW1wb3J0IHtCbG9ja09wZXJhdGlvbnMsIE9wZXJhdGlvbktleXMsIHJlYWRvbmx5fSBmcm9tIFwiQGRlY2FmLXRzL2RiLWRlY29yYXRvcnNcIjtcbmltcG9ydCB7IHVzZXMgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRpb25cIjtcbmltcG9ydCB7IEJhc2VJZGVudGlmaWVkTW9kZWwgfSBmcm9tIFwiLi8uLi9tb2RlbHMvQmFzZUlkZW50aWZpZWRNb2RlbC5qc1wiO1xuaW1wb3J0IHsgZ3RpbiB9IGZyb20gXCIuLy4uL21vZGVscy9ndGluLmpzXCI7XG5pbXBvcnQgeyBhdWRpdCB9IGZyb20gXCIuLy4uL21vZGVscy9kZWNvcmF0b3JzLmpzXCI7XG5pbXBvcnQgeyBGYWJyaWNGbGF2b3VyLCBtaXJyb3IsIG93bmVkQnksIH0gZnJvbSBcIi4vLi4vLi4vc2hhcmVkL2luZGV4LmpzXCI7XG5pbXBvcnQgeyB2ZXJzaW9uIH0gZnJvbSBcIkBkZWNhZi10cy9kYi1kZWNvcmF0b3JzXCI7XG5pbXBvcnQgeyBoaXN0b3J5RGVjIH0gZnJvbSBcIi4vLi4vbW9kZWxzL2hpc3RvcnktZGVjLmpzXCI7XG4vLyBAcHJpdmF0ZURhdGEoKVxubGV0IE90aGVyUHJvZHVjdCA9IGNsYXNzIE90aGVyUHJvZHVjdCBleHRlbmRzIEJhc2VJZGVudGlmaWVkTW9kZWwge1xuICAgIGNvbnN0cnVjdG9yKGFyZ3MpIHtcbiAgICAgICAgc3VwZXIoYXJncyk7XG4gICAgICAgIHRoaXMucHJvZHVjdFJlY2FsbCA9IGZhbHNlO1xuICAgIH1cbn07XG5fX2RlY29yYXRlKFtcbiAgICBwaygpLFxuICAgIGd0aW4oKSxcbiAgICBoaXN0b3J5RGVjKCksXG4gICAgbWlycm9yKFwibWlycm9yLWNvbGxlY3Rpb25cIiwgXCJQaGFybWFsZWRnZXJhc3NvY01TUFwiKSxcbiAgICBhdWRpdChPdGhlclByb2R1Y3QpLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBTdHJpbmcpXG5dLCBPdGhlclByb2R1Y3QucHJvdG90eXBlLCBcInByb2R1Y3RDb2RlXCIsIHZvaWQgMCk7XG5fX2RlY29yYXRlKFtcbiAgICBjb2x1bW4oKSxcbiAgICByZXF1aXJlZCgpLFxuICAgIGluZGV4KFtPcmRlckRpcmVjdGlvbi5BU0MsIE9yZGVyRGlyZWN0aW9uLkRTQ10pLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBTdHJpbmcpXG5dLCBPdGhlclByb2R1Y3QucHJvdG90eXBlLCBcImludmVudGVkTmFtZVwiLCB2b2lkIDApO1xuX19kZWNvcmF0ZShbXG4gICAgY29sdW1uKCksXG4gICAgcmVxdWlyZWQoKSxcbiAgICBpbmRleChbT3JkZXJEaXJlY3Rpb24uQVNDLCBPcmRlckRpcmVjdGlvbi5EU0NdKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgU3RyaW5nKVxuXSwgT3RoZXJQcm9kdWN0LnByb3RvdHlwZSwgXCJuYW1lTWVkaWNpbmFsUHJvZHVjdFwiLCB2b2lkIDApO1xuX19kZWNvcmF0ZShbXG4gICAgY29sdW1uKCksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIFN0cmluZylcbl0sIE90aGVyUHJvZHVjdC5wcm90b3R5cGUsIFwiaW50ZXJuYWxNYXRlcmlhbENvZGVcIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIGNvbHVtbigpLFxuICAgIGluZGV4KFtPcmRlckRpcmVjdGlvbi5BU0MsIE9yZGVyRGlyZWN0aW9uLkRTQ10pLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBCb29sZWFuKVxuXSwgT3RoZXJQcm9kdWN0LnByb3RvdHlwZSwgXCJwcm9kdWN0UmVjYWxsXCIsIHZvaWQgMCk7XG5fX2RlY29yYXRlKFtcbiAgICB2ZXJzaW9uKCksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIE51bWJlcilcbl0sIE90aGVyUHJvZHVjdC5wcm90b3R5cGUsIFwiY291bnRlclwiLCB2b2lkIDApO1xuX19kZWNvcmF0ZShbXG4gICAgY29sdW1uKCksXG4gICAgb3duZWRCeSgpLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBTdHJpbmcpXG5dLCBPdGhlclByb2R1Y3QucHJvdG90eXBlLCBcIm93bmVkQnlcIiwgdm9pZCAwKTtcbk90aGVyUHJvZHVjdCA9IF9fZGVjb3JhdGUoW1xuICAgIHVzZXMoRmFicmljRmxhdm91cilcbiAgICAvLyBAQmxvY2tPcGVyYXRpb25zKFtPcGVyYXRpb25LZXlzLkRFTEVURV0pXG4gICAgLFxuICAgIHRhYmxlKFwib3RoZXJfcHJvZHVjdFwiKSxcbiAgICBtb2RlbCgpLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246cGFyYW10eXBlc1wiLCBbT2JqZWN0XSlcbl0sIE90aGVyUHJvZHVjdCk7XG5leHBvcnQgeyBPdGhlclByb2R1Y3QgfTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaVQzUm9aWEpRY205a2RXTjBMbXB6SWl3aWMyOTFjbU5sVW05dmRDSTZJaUlzSW5OdmRYSmpaWE1pT2xzaUxpNHZMaTR2TGk0dkxpNHZjM0pqTDJOdmJuUnlZV04wTDNSeVlXTnJaV1JOYjJSbGJITXZUM1JvWlhKUWNtOWtkV04wTG5SeklsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lJN096czdPenM3T3p0QlFVTkJMRTlCUVU4c1JVRkJSU3hMUVVGTExFVkJRVVVzVVVGQlVTeEZRVUZGTEUxQlFVMHNaME5CUVdkRExFTkJRVU03UVVGRGFrVXNUMEZCVHl4RlFVRkZMRTFCUVUwc1JVRkJSU3hMUVVGTExFVkJRVVVzWTBGQll5eEZRVUZGTEVWQlFVVXNSVUZCUlN4TFFVRkxMRVZCUVVVc1RVRkJUU3huUWtGQlowSXNRMEZCUXp0QlFVTXhSU3h2UmtGQmIwWTdRVUZEY0VZc1QwRkJUeXhGUVVGRkxFbEJRVWtzUlVGQlJTeE5RVUZOTEhOQ1FVRnpRaXhEUVVGRE8wRkJRelZETEU5QlFVOHNSVUZCUlN4dFFrRkJiVUlzUlVGQlJTd3lRMEZCYzBNN1FVRkRjRVVzVDBGQlR5eEZRVUZGTEVsQlFVa3NSVUZCUlN3MFFrRkJkVUk3UVVGRmRFTXNUMEZCVHl4RlFVRkZMRXRCUVVzc1JVRkJSU3hyUTBGQk5rSTdRVUZETjBNc1QwRkJUeXhGUVVOTUxHRkJRV0VzUlVGRFlpeE5RVUZOTEVWQlEwNHNUMEZCVHl4SFFVVlNMR2REUVVFeVFqdEJRVU0xUWl4UFFVRlBMRVZCUVVVc1QwRkJUeXhGUVVGRkxFMUJRVTBzZVVKQlFYbENMRU5CUVVNN1FVRkRiRVFzVDBGQlR5eEZRVUZGTEZWQlFWVXNSVUZCUlN4dFEwRkJPRUk3UVVGRmJrUXNhVUpCUVdsQ08wRkJTMVlzU1VGQlRTeFpRVUZaTEVkQlFXeENMRTFCUVUwc1dVRkJZU3hUUVVGUkxHMUNRVUZ0UWp0SlFXbEZia1FzV1VGQldTeEpRVUUyUWp0UlFVTjJReXhMUVVGTExFTkJRVU1zU1VGQlNTeERRVUZETEVOQlFVTTdVVUV6UTJRc2EwSkJRV0VzUjBGQldTeExRVUZMTEVOQlFVTTdTVUUwUXk5Q0xFTkJRVU03UTBGRFJpeERRVUZCTzBGQk9VUkRPMGxCVEVNc1JVRkJSU3hGUVVGRk8wbEJRMG9zU1VGQlNTeEZRVUZGTzBsQlEwNHNWVUZCVlN4RlFVRkZPMGxCUTFvc1RVRkJUU3hEUVVGRExHMUNRVUZ0UWl4RlFVRkZMSE5DUVVGelFpeERRVUZETzBsQlEyNUVMRXRCUVVzc1EwRkJReXhaUVVGWkxFTkJRVU03TzJsRVFVTkRPMEZCUzNKQ08wbEJTRU1zVFVGQlRTeEZRVUZGTzBsQlExSXNVVUZCVVN4RlFVRkZPMGxCUTFZc1MwRkJTeXhEUVVGRExFTkJRVU1zWTBGQll5eERRVUZETEVkQlFVY3NSVUZCUlN4alFVRmpMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU03TzJ0RVFVTXhRanRCUVV0MFFqdEpRVWhETEUxQlFVMHNSVUZCUlR0SlFVTlNMRkZCUVZFc1JVRkJSVHRKUVVOV0xFdEJRVXNzUTBGQlF5eERRVUZETEdOQlFXTXNRMEZCUXl4SFFVRkhMRVZCUVVVc1kwRkJZeXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZET3pzd1JFRkRiRUk3UVVGSE9VSTdTVUZFUXl4TlFVRk5MRVZCUVVVN096QkVRVU54UWp0QlFVazVRanRKUVVaRExFMUJRVTBzUlVGQlJUdEpRVU5TTEV0QlFVc3NRMEZCUXl4RFFVRkRMR05CUVdNc1EwRkJReXhIUVVGSExFVkJRVVVzWTBGQll5eERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRPenR0UkVGRGFrSTdRVUZ6UWk5Q08wbEJSRU1zVDBGQlR5eEZRVUZGT3pzMlEwRkRUenRCUVd0Q2FrSTdTVUZHUXl4TlFVRk5MRVZCUVVVN1NVRkRVaXhQUVVGUExFVkJRVVU3T3paRFFVTlBPMEZCTDBST0xGbEJRVms3U1VGS2VFSXNTVUZCU1N4RFFVRkRMR0ZCUVdFc1EwRkJRenRKUVVOd1Fpd3lRMEZCTWtNN08wbEJRekZETEV0QlFVc3NRMEZCUXl4bFFVRmxMRU5CUVVNN1NVRkRkRUlzUzBGQlN5eEZRVUZGT3p0SFFVTkxMRmxCUVZrc1EwRnZSWGhDSWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaWFXMXdiM0owSUhSNWNHVWdleUJOYjJSbGJFRnlaeUI5SUdaeWIyMGdYQ0pBWkdWallXWXRkSE12WkdWamIzSmhkRzl5TFhaaGJHbGtZWFJwYjI1Y0lqdGNibWx0Y0c5eWRDQjdJRzF2WkdWc0xDQnlaWEYxYVhKbFpDQjlJR1p5YjIwZ1hDSkFaR1ZqWVdZdGRITXZaR1ZqYjNKaGRHOXlMWFpoYkdsa1lYUnBiMjVjSWp0Y2JtbHRjRzl5ZENCN0lHTnZiSFZ0Yml3Z2FXNWtaWGdzSUU5eVpHVnlSR2x5WldOMGFXOXVMQ0J3YXl3Z2RHRmliR1VnZlNCbWNtOXRJRndpUUdSbFkyRm1MWFJ6TDJOdmNtVmNJanRjYmk4dklHbHRjRzl5ZENCN1FteHZZMnRQY0dWeVlYUnBiMjV6TENCUGNHVnlZWFJwYjI1TFpYbHpMQ0J5WldGa2IyNXNlWDBnWm5KdmJTQmNJa0JrWldOaFppMTBjeTlrWWkxa1pXTnZjbUYwYjNKelhDSTdYRzVwYlhCdmNuUWdleUIxYzJWeklIMGdabkp2YlNCY0lrQmtaV05oWmkxMGN5OWtaV052Y21GMGFXOXVYQ0k3WEc1cGJYQnZjblFnZXlCQ1lYTmxTV1JsYm5ScFptbGxaRTF2WkdWc0lIMGdabkp2YlNCY0lpNHVMMjF2WkdWc2N5OUNZWE5sU1dSbGJuUnBabWxsWkUxdlpHVnNYQ0k3WEc1cGJYQnZjblFnZXlCbmRHbHVJSDBnWm5KdmJTQmNJaTR1TDIxdlpHVnNjeTluZEdsdVhDSTdYRzVjYm1sdGNHOXlkQ0I3SUdGMVpHbDBJSDBnWm5KdmJTQmNJaTR1TDIxdlpHVnNjeTlrWldOdmNtRjBiM0p6WENJN1hHNXBiWEJ2Y25RZ2UxeHVJQ0JHWVdKeWFXTkdiR0YyYjNWeUxGeHVJQ0J0YVhKeWIzSXNYRzRnSUc5M2JtVmtRbmtzWEc0Z0lIQnlhWFpoZEdWRVlYUmhMRnh1ZlNCbWNtOXRJRndpTGk0dkxpNHZjMmhoY21Wa0wybHVaR1Y0WENJN1hHNXBiWEJ2Y25RZ2V5QjJaWEp6YVc5dUlIMGdabkp2YlNCY0lrQmtaV05oWmkxMGN5OWtZaTFrWldOdmNtRjBiM0p6WENJN1hHNXBiWEJ2Y25RZ2V5Qm9hWE4wYjNKNVJHVmpJSDBnWm5KdmJTQmNJaTR1TDIxdlpHVnNjeTlvYVhOMGIzSjVMV1JsWTF3aU8xeHVYRzR2THlCQWNISnBkbUYwWlVSaGRHRW9LVnh1UUhWelpYTW9SbUZpY21salJteGhkbTkxY2lsY2JpOHZJRUJDYkc5amEwOXdaWEpoZEdsdmJuTW9XMDl3WlhKaGRHbHZia3RsZVhNdVJFVk1SVlJGWFNsY2JrQjBZV0pzWlNoY0ltOTBhR1Z5WDNCeWIyUjFZM1JjSWlsY2JrQnRiMlJsYkNncFhHNWxlSEJ2Y25RZ1kyeGhjM01nVDNSb1pYSlFjbTlrZFdOMElHVjRkR1Z1WkhNZ1FtRnpaVWxrWlc1MGFXWnBaV1JOYjJSbGJDQjdYRzRnSUVCd2F5Z3BYRzRnSUVCbmRHbHVLQ2xjYmlBZ1FHaHBjM1J2Y25sRVpXTW9LVnh1SUNCQWJXbHljbTl5S0Z3aWJXbHljbTl5TFdOdmJHeGxZM1JwYjI1Y0lpd2dYQ0pRYUdGeWJXRnNaV1JuWlhKaGMzTnZZMDFUVUZ3aUtWeHVJQ0JBWVhWa2FYUW9UM1JvWlhKUWNtOWtkV04wS1Z4dUlDQndjbTlrZFdOMFEyOWtaU0U2SUhOMGNtbHVaenRjYmx4dUlDQkFZMjlzZFcxdUtDbGNiaUFnUUhKbGNYVnBjbVZrS0NsY2JpQWdRR2x1WkdWNEtGdFBjbVJsY2tScGNtVmpkR2x2Ymk1QlUwTXNJRTl5WkdWeVJHbHlaV04wYVc5dUxrUlRRMTBwWEc0Z0lHbHVkbVZ1ZEdWa1RtRnRaU0U2SUhOMGNtbHVaenRjYmx4dUlDQkFZMjlzZFcxdUtDbGNiaUFnUUhKbGNYVnBjbVZrS0NsY2JpQWdRR2x1WkdWNEtGdFBjbVJsY2tScGNtVmpkR2x2Ymk1QlUwTXNJRTl5WkdWeVJHbHlaV04wYVc5dUxrUlRRMTBwWEc0Z0lHNWhiV1ZOWldScFkybHVZV3hRY205a2RXTjBJVG9nYzNSeWFXNW5PMXh1WEc0Z0lFQmpiMngxYlc0b0tWeHVJQ0JwYm5SbGNtNWhiRTFoZEdWeWFXRnNRMjlrWlQ4NklITjBjbWx1Wnp0Y2JseHVJQ0JBWTI5c2RXMXVLQ2xjYmlBZ1FHbHVaR1Y0S0Z0UGNtUmxja1JwY21WamRHbHZiaTVCVTBNc0lFOXlaR1Z5UkdseVpXTjBhVzl1TGtSVFExMHBYRzRnSUhCeWIyUjFZM1JTWldOaGJHdzZJR0p2YjJ4bFlXNGdQU0JtWVd4elpUdGNiaUFnTHk5Y2JpQWdMeThnUUdOdmJIVnRiaWdwWEc0Z0lDOHZJR1pzWVdkRmJtRmliR1ZCWkhabGNuTmxSWFpsYm5SU1pYQnZjblJwYm1jL09pQmliMjlzWldGdU8xeHVJQ0F2TDF4dUlDQXZMeUJBWTI5c2RXMXVLQ2xjYmlBZ0x5OGdZV1IyWlhKelpVVjJaVzUwVW1Wd2IzSjBhVzVuVlZKTVB6b2djM1J5YVc1bk8xeHVJQ0F2TDF4dUlDQXZMeUJBWTI5c2RXMXVLQ2xjYmlBZ0x5OGdabXhoWjBWdVlXSnNaVUZEUmxCeWIyUjFZM1JEYUdWamF6ODZJR0p2YjJ4bFlXNDdYRzRnSUM4dlhHNGdJQzh2SUVCamIyeDFiVzRvS1Z4dUlDQXZMeUJBZFhKc0tDbGNiaUFnTHk4Z1lXTm1VSEp2WkhWamRFTm9aV05yVlZKTVB6b2djM1J5YVc1bk8xeHVJQ0F2TDF4dUlDQXZMeUJBWTI5c2RXMXVLQ2xjYmlBZ0x5OGdjR0YwYVdWdWRGTndaV05wWm1salRHVmhabXhsZEQ4NklITjBjbWx1Wnp0Y2JpQWdMeTljYmlBZ0x5OGdRR052YkhWdGJpZ3BYRzRnSUM4dklHaGxZV3gwYUdOaGNtVlFjbUZqZEdsMGFXOXVaWEpKYm1adlB6b2djM1J5YVc1bk8xeHVYRzRnSUVCMlpYSnphVzl1S0NsY2JpQWdZMjkxYm5SbGNqODZJRzUxYldKbGNqdGNiaUFnTHk5Y2JpQWdMeThnUUc5dVpWUnZUV0Z1ZVNoY2JpQWdMeThnSUNBb0tTQTlQaUJRY205a2RXTjBVM1J5Wlc1bmRHZ3NYRzRnSUM4dklDQWdleUIxY0dSaGRHVTZJRU5oYzJOaFpHVXVRMEZUUTBGRVJTd2daR1ZzWlhSbE9pQkRZWE5qWVdSbExrTkJVME5CUkVVZ2ZTeGNiaUFnTHk4Z0lDQm1ZV3h6WlZ4dUlDQXZMeUFwWEc0Z0lDOHZJSE4wY21WdVozUm9jeUU2SUZCeWIyUjFZM1JUZEhKbGJtZDBhRnRkTzF4dUlDQXZMMXh1SUNBdkx5QkFiMjVsVkc5TllXNTVLRnh1SUNBdkx5QWdJQ2dwSUQwK0lFMWhjbXRsZEN4Y2JpQWdMeThnSUNCN0lIVndaR0YwWlRvZ1EyRnpZMkZrWlM1T1QwNUZMQ0JrWld4bGRHVTZJRU5oYzJOaFpHVXVUazlPUlNCOUxGeHVJQ0F2THlBZ0lHWmhiSE5sWEc0Z0lDOHZJQ2xjYmlBZ0x5OGdiV0Z5YTJWMGN5RTZJRTFoY210bGRGdGRPMXh1WEc0Z0lFQmpiMngxYlc0b0tWeHVJQ0JBYjNkdVpXUkNlU2dwWEc0Z0lHOTNibVZrUW5rL09pQnpkSEpwYm1jN1hHNWNiaUFnWTI5dWMzUnlkV04wYjNJb1lYSm5jejg2SUUxdlpHVnNRWEpuUEU5MGFHVnlVSEp2WkhWamRENHBJSHRjYmlBZ0lDQnpkWEJsY2loaGNtZHpLVHRjYmlBZ2ZWeHVmVnh1SWwxOSJdfQ==
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OtherProductImage = void 0;
4
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
5
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
6
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
7
+ r = Reflect.decorate(decorators, target, key, desc);
8
+ else
9
+ for (var i = decorators.length - 1; i >= 0; i--)
10
+ if (d = decorators[i])
11
+ r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
12
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
13
+ };
14
+ var __metadata = (this && this.__metadata) || function (k, v) {
15
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
16
+ return Reflect.metadata(k, v);
17
+ };
18
+ const decorator_validation_1 = require("@decaf-ts/decorator-validation");
19
+ const core_1 = require("@decaf-ts/core");
20
+ // import {BlockOperations, OperationKeys, readonly} from "@decaf-ts/db-decorators";
21
+ const decoration_1 = require("@decaf-ts/decoration");
22
+ const gtin_js_1 = require("./../models/gtin.cjs");
23
+ const history_dec_js_1 = require("./../models/history-dec.cjs");
24
+ const db_decorators_1 = require("@decaf-ts/db-decorators");
25
+ const index_js_1 = require("./../../shared/index.cjs");
26
+ const BaseIdentifiedModel_js_1 = require("./../models/BaseIdentifiedModel.cjs");
27
+ let OtherProductImage = class OtherProductImage extends BaseIdentifiedModel_js_1.BaseIdentifiedModel {
28
+ constructor(model) {
29
+ super(model);
30
+ }
31
+ };
32
+ exports.OtherProductImage = OtherProductImage;
33
+ __decorate([
34
+ (0, core_1.pk)(),
35
+ (0, history_dec_js_1.historyDec)(),
36
+ (0, gtin_js_1.gtin)(),
37
+ (0, core_1.defaultQueryAttr)(),
38
+ (0, index_js_1.mirror)("mirror-collection", "PharmaledgerassocMSP"),
39
+ __metadata("design:type", String)
40
+ ], OtherProductImage.prototype, "productCode", void 0);
41
+ __decorate([
42
+ (0, core_1.column)(),
43
+ (0, decorator_validation_1.required)(),
44
+ (0, core_1.defaultQueryAttr)(),
45
+ __metadata("design:type", String)
46
+ ], OtherProductImage.prototype, "content", void 0);
47
+ __decorate([
48
+ (0, index_js_1.ownedBy)(),
49
+ __metadata("design:type", String)
50
+ ], OtherProductImage.prototype, "owner", void 0);
51
+ __decorate([
52
+ (0, db_decorators_1.version)(),
53
+ __metadata("design:type", Number)
54
+ ], OtherProductImage.prototype, "counter", void 0);
55
+ exports.OtherProductImage = OtherProductImage = __decorate([
56
+ (0, index_js_1.sharedData)((0, index_js_1.NamespaceCollection)("decaf-namespace")),
57
+ (0, decoration_1.uses)(index_js_1.FabricFlavour)
58
+ // @BlockOperations([OperationKeys.DELETE])
59
+ ,
60
+ (0, core_1.table)("other_product_image"),
61
+ (0, decorator_validation_1.model)(),
62
+ __metadata("design:paramtypes", [Object])
63
+ ], OtherProductImage);
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3RoZXJQcm9kdWN0SW1hZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29udHJhY3QvdHJhY2tlZE1vZGVscy9PdGhlclByb2R1Y3RJbWFnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFDQSxPQUFPLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxNQUFNLEVBQUUsZ0JBQWdCLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JFLG9GQUFvRjtBQUNwRixPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDNUMsT0FBTyxFQUFFLElBQUksRUFBRSw0QkFBdUI7QUFDdEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxtQ0FBOEI7QUFDbkQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2xELE9BQU8sRUFDTCxhQUFhLEVBQ2IsTUFBTSxFQUNOLG1CQUFtQixFQUNuQixPQUFPLEVBQ1AsVUFBVSxHQUNYLGdDQUEyQjtBQUM1QixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsMkNBQXNDO0FBTzdELElBQU0saUJBQWlCLEdBQXZCLE1BQU0saUJBQWtCLFNBQVEsbUJBQW1CO0lBbUJ4RCxZQUFZLEtBQW1DO1FBQzdDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNmLENBQUM7Q0FDRixDQUFBO0FBaEJDO0lBTEMsRUFBRSxFQUFFO0lBQ0osVUFBVSxFQUFFO0lBQ1osSUFBSSxFQUFFO0lBQ04sZ0JBQWdCLEVBQUU7SUFDbEIsTUFBTSxDQUFDLG1CQUFtQixFQUFFLHNCQUFzQixDQUFDOztzREFDL0I7QUFLckI7SUFIQyxNQUFNLEVBQUU7SUFDUixRQUFRLEVBQUU7SUFDVixnQkFBZ0IsRUFBRTs7a0RBQ0Y7QUFHakI7SUFEQyxPQUFPLEVBQUU7O2dEQUNLO0FBR2Y7SUFEQyxPQUFPLEVBQUU7O2tEQUNPO0FBakJOLGlCQUFpQjtJQUw3QixVQUFVLENBQUMsbUJBQW1CLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNsRCxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQ3BCLDJDQUEyQzs7SUFDMUMsS0FBSyxDQUFDLHFCQUFxQixDQUFDO0lBQzVCLEtBQUssRUFBRTs7R0FDSyxpQkFBaUIsQ0FzQjdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBNb2RlbEFyZyB9IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb25cIjtcbmltcG9ydCB7IG1vZGVsLCByZXF1aXJlZCB9IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb25cIjtcbmltcG9ydCB7IGNvbHVtbiwgZGVmYXVsdFF1ZXJ5QXR0ciwgcGssIHRhYmxlIH0gZnJvbSBcIkBkZWNhZi10cy9jb3JlXCI7XG4vLyBpbXBvcnQge0Jsb2NrT3BlcmF0aW9ucywgT3BlcmF0aW9uS2V5cywgcmVhZG9ubHl9IGZyb20gXCJAZGVjYWYtdHMvZGItZGVjb3JhdG9yc1wiO1xuaW1wb3J0IHsgdXNlcyB9IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdGlvblwiO1xuaW1wb3J0IHsgZ3RpbiB9IGZyb20gXCIuLi9tb2RlbHMvZ3RpblwiO1xuaW1wb3J0IHsgaGlzdG9yeURlYyB9IGZyb20gXCIuLi9tb2RlbHMvaGlzdG9yeS1kZWNcIjtcbmltcG9ydCB7IHZlcnNpb24gfSBmcm9tIFwiQGRlY2FmLXRzL2RiLWRlY29yYXRvcnNcIjtcbmltcG9ydCB7XG4gIEZhYnJpY0ZsYXZvdXIsXG4gIG1pcnJvcixcbiAgTmFtZXNwYWNlQ29sbGVjdGlvbixcbiAgb3duZWRCeSxcbiAgc2hhcmVkRGF0YSxcbn0gZnJvbSBcIi4uLy4uL3NoYXJlZC9pbmRleFwiO1xuaW1wb3J0IHsgQmFzZUlkZW50aWZpZWRNb2RlbCB9IGZyb20gXCIuLi9tb2RlbHMvQmFzZUlkZW50aWZpZWRNb2RlbFwiO1xuXG5Ac2hhcmVkRGF0YShOYW1lc3BhY2VDb2xsZWN0aW9uKFwiZGVjYWYtbmFtZXNwYWNlXCIpKVxuQHVzZXMoRmFicmljRmxhdm91cilcbi8vIEBCbG9ja09wZXJhdGlvbnMoW09wZXJhdGlvbktleXMuREVMRVRFXSlcbkB0YWJsZShcIm90aGVyX3Byb2R1Y3RfaW1hZ2VcIilcbkBtb2RlbCgpXG5leHBvcnQgY2xhc3MgT3RoZXJQcm9kdWN0SW1hZ2UgZXh0ZW5kcyBCYXNlSWRlbnRpZmllZE1vZGVsIHtcbiAgQHBrKClcbiAgQGhpc3RvcnlEZWMoKVxuICBAZ3RpbigpXG4gIEBkZWZhdWx0UXVlcnlBdHRyKClcbiAgQG1pcnJvcihcIm1pcnJvci1jb2xsZWN0aW9uXCIsIFwiUGhhcm1hbGVkZ2VyYXNzb2NNU1BcIilcbiAgcHJvZHVjdENvZGUhOiBzdHJpbmc7XG5cbiAgQGNvbHVtbigpXG4gIEByZXF1aXJlZCgpXG4gIEBkZWZhdWx0UXVlcnlBdHRyKClcbiAgY29udGVudCE6IHN0cmluZztcblxuICBAb3duZWRCeSgpXG4gIG93bmVyITogc3RyaW5nO1xuXG4gIEB2ZXJzaW9uKClcbiAgY291bnRlcj86IG51bWJlcjtcblxuICBjb25zdHJ1Y3Rvcihtb2RlbD86IE1vZGVsQXJnPE90aGVyUHJvZHVjdEltYWdlPikge1xuICAgIHN1cGVyKG1vZGVsKTtcbiAgfVxufVxuIl19
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3RoZXJQcm9kdWN0SW1hZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJPdGhlclByb2R1Y3RJbWFnZS5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxJQUFJLFVBQVUsR0FBRyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksVUFBVSxVQUFVLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxJQUFJO0lBQ2pGLElBQUksQ0FBQyxHQUFHLFNBQVMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7SUFDN0gsSUFBSSxPQUFPLE9BQU8sS0FBSyxRQUFRLElBQUksT0FBTyxPQUFPLENBQUMsUUFBUSxLQUFLLFVBQVU7UUFBRSxDQUFDLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQzs7UUFDMUgsS0FBSyxJQUFJLENBQUMsR0FBRyxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRTtZQUFFLElBQUksQ0FBQyxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUM7Z0JBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNsSixPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLE1BQU0sQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDbEUsQ0FBQyxDQUFDO0FBQ0YsSUFBSSxVQUFVLEdBQUcsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxFQUFFLENBQUM7SUFDeEQsSUFBSSxPQUFPLE9BQU8sS0FBSyxRQUFRLElBQUksT0FBTyxPQUFPLENBQUMsUUFBUSxLQUFLLFVBQVU7UUFBRSxPQUFPLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQzdHLENBQUMsQ0FBQztBQUNGLHlFQUFpRTtBQUNqRSx5Q0FBcUU7QUFDckUsb0ZBQW9GO0FBQ3BGLHFEQUE0QztBQUM1QyxpREFBMkM7QUFDM0MsK0RBQXdEO0FBQ3hELDJEQUFrRDtBQUNsRCxzREFBMkc7QUFDM0csK0VBQXlFO0FBQ3pFLElBQUksaUJBQWlCLEdBQUcsTUFBTSxpQkFBa0IsU0FBUSw0Q0FBbUI7SUFDdkUsWUFBWSxLQUFLO1FBQ2IsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2pCLENBQUM7Q0FDSixDQUFDO0FBZ0NPLDhDQUFpQjtBQS9CMUIsVUFBVSxDQUFDO0lBQ1AsSUFBQSxTQUFFLEdBQUU7SUFDSixJQUFBLDJCQUFVLEdBQUU7SUFDWixJQUFBLGNBQUksR0FBRTtJQUNOLElBQUEsdUJBQWdCLEdBQUU7SUFDbEIsSUFBQSxpQkFBTSxFQUFDLG1CQUFtQixFQUFFLHNCQUFzQixDQUFDO0lBQ25ELFVBQVUsQ0FBQyxhQUFhLEVBQUUsTUFBTSxDQUFDO0NBQ3BDLEVBQUUsaUJBQWlCLENBQUMsU0FBUyxFQUFFLGFBQWEsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO0FBQ3ZELFVBQVUsQ0FBQztJQUNQLElBQUEsYUFBTSxHQUFFO0lBQ1IsSUFBQSwrQkFBUSxHQUFFO0lBQ1YsSUFBQSx1QkFBZ0IsR0FBRTtJQUNsQixVQUFVLENBQUMsYUFBYSxFQUFFLE1BQU0sQ0FBQztDQUNwQyxFQUFFLGlCQUFpQixDQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztBQUNuRCxVQUFVLENBQUM7SUFDUCxJQUFBLGtCQUFPLEdBQUU7SUFDVCxVQUFVLENBQUMsYUFBYSxFQUFFLE1BQU0sQ0FBQztDQUNwQyxFQUFFLGlCQUFpQixDQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztBQUNqRCxVQUFVLENBQUM7SUFDUCxJQUFBLHVCQUFPLEdBQUU7SUFDVCxVQUFVLENBQUMsYUFBYSxFQUFFLE1BQU0sQ0FBQztDQUNwQyxFQUFFLGlCQUFpQixDQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztBQUNuRCw0QkFBQSxpQkFBaUIsR0FBRyxVQUFVLENBQUM7SUFDM0IsSUFBQSxxQkFBVSxFQUFDLElBQUEsOEJBQW1CLEVBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNsRCxJQUFBLGlCQUFJLEVBQUMsd0JBQWEsQ0FBQztJQUNuQiwyQ0FBMkM7O0lBRTNDLElBQUEsWUFBSyxFQUFDLHFCQUFxQixDQUFDO0lBQzVCLElBQUEsNEJBQUssR0FBRTtJQUNQLFVBQVUsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0NBQzVDLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztBQUV0QiwwcUdBQTBxRyIsInNvdXJjZXNDb250ZW50IjpbInZhciBfX2RlY29yYXRlID0gKHRoaXMgJiYgdGhpcy5fX2RlY29yYXRlKSB8fCBmdW5jdGlvbiAoZGVjb3JhdG9ycywgdGFyZ2V0LCBrZXksIGRlc2MpIHtcbiAgICB2YXIgYyA9IGFyZ3VtZW50cy5sZW5ndGgsIHIgPSBjIDwgMyA/IHRhcmdldCA6IGRlc2MgPT09IG51bGwgPyBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0YXJnZXQsIGtleSkgOiBkZXNjLCBkO1xuICAgIGlmICh0eXBlb2YgUmVmbGVjdCA9PT0gXCJvYmplY3RcIiAmJiB0eXBlb2YgUmVmbGVjdC5kZWNvcmF0ZSA9PT0gXCJmdW5jdGlvblwiKSByID0gUmVmbGVjdC5kZWNvcmF0ZShkZWNvcmF0b3JzLCB0YXJnZXQsIGtleSwgZGVzYyk7XG4gICAgZWxzZSBmb3IgKHZhciBpID0gZGVjb3JhdG9ycy5sZW5ndGggLSAxOyBpID49IDA7IGktLSkgaWYgKGQgPSBkZWNvcmF0b3JzW2ldKSByID0gKGMgPCAzID8gZChyKSA6IGMgPiAzID8gZCh0YXJnZXQsIGtleSwgcikgOiBkKHRhcmdldCwga2V5KSkgfHwgcjtcbiAgICByZXR1cm4gYyA+IDMgJiYgciAmJiBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBrZXksIHIpLCByO1xufTtcbnZhciBfX21ldGFkYXRhID0gKHRoaXMgJiYgdGhpcy5fX21ldGFkYXRhKSB8fCBmdW5jdGlvbiAoaywgdikge1xuICAgIGlmICh0eXBlb2YgUmVmbGVjdCA9PT0gXCJvYmplY3RcIiAmJiB0eXBlb2YgUmVmbGVjdC5tZXRhZGF0YSA9PT0gXCJmdW5jdGlvblwiKSByZXR1cm4gUmVmbGVjdC5tZXRhZGF0YShrLCB2KTtcbn07XG5pbXBvcnQgeyBtb2RlbCwgcmVxdWlyZWQgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRvci12YWxpZGF0aW9uXCI7XG5pbXBvcnQgeyBjb2x1bW4sIGRlZmF1bHRRdWVyeUF0dHIsIHBrLCB0YWJsZSB9IGZyb20gXCJAZGVjYWYtdHMvY29yZVwiO1xuLy8gaW1wb3J0IHtCbG9ja09wZXJhdGlvbnMsIE9wZXJhdGlvbktleXMsIHJlYWRvbmx5fSBmcm9tIFwiQGRlY2FmLXRzL2RiLWRlY29yYXRvcnNcIjtcbmltcG9ydCB7IHVzZXMgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRpb25cIjtcbmltcG9ydCB7IGd0aW4gfSBmcm9tIFwiLi8uLi9tb2RlbHMvZ3Rpbi5qc1wiO1xuaW1wb3J0IHsgaGlzdG9yeURlYyB9IGZyb20gXCIuLy4uL21vZGVscy9oaXN0b3J5LWRlYy5qc1wiO1xuaW1wb3J0IHsgdmVyc2lvbiB9IGZyb20gXCJAZGVjYWYtdHMvZGItZGVjb3JhdG9yc1wiO1xuaW1wb3J0IHsgRmFicmljRmxhdm91ciwgbWlycm9yLCBOYW1lc3BhY2VDb2xsZWN0aW9uLCBvd25lZEJ5LCBzaGFyZWREYXRhLCB9IGZyb20gXCIuLy4uLy4uL3NoYXJlZC9pbmRleC5qc1wiO1xuaW1wb3J0IHsgQmFzZUlkZW50aWZpZWRNb2RlbCB9IGZyb20gXCIuLy4uL21vZGVscy9CYXNlSWRlbnRpZmllZE1vZGVsLmpzXCI7XG5sZXQgT3RoZXJQcm9kdWN0SW1hZ2UgPSBjbGFzcyBPdGhlclByb2R1Y3RJbWFnZSBleHRlbmRzIEJhc2VJZGVudGlmaWVkTW9kZWwge1xuICAgIGNvbnN0cnVjdG9yKG1vZGVsKSB7XG4gICAgICAgIHN1cGVyKG1vZGVsKTtcbiAgICB9XG59O1xuX19kZWNvcmF0ZShbXG4gICAgcGsoKSxcbiAgICBoaXN0b3J5RGVjKCksXG4gICAgZ3RpbigpLFxuICAgIGRlZmF1bHRRdWVyeUF0dHIoKSxcbiAgICBtaXJyb3IoXCJtaXJyb3ItY29sbGVjdGlvblwiLCBcIlBoYXJtYWxlZGdlcmFzc29jTVNQXCIpLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBTdHJpbmcpXG5dLCBPdGhlclByb2R1Y3RJbWFnZS5wcm90b3R5cGUsIFwicHJvZHVjdENvZGVcIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIGNvbHVtbigpLFxuICAgIHJlcXVpcmVkKCksXG4gICAgZGVmYXVsdFF1ZXJ5QXR0cigpLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBTdHJpbmcpXG5dLCBPdGhlclByb2R1Y3RJbWFnZS5wcm90b3R5cGUsIFwiY29udGVudFwiLCB2b2lkIDApO1xuX19kZWNvcmF0ZShbXG4gICAgb3duZWRCeSgpLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBTdHJpbmcpXG5dLCBPdGhlclByb2R1Y3RJbWFnZS5wcm90b3R5cGUsIFwib3duZXJcIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIHZlcnNpb24oKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgTnVtYmVyKVxuXSwgT3RoZXJQcm9kdWN0SW1hZ2UucHJvdG90eXBlLCBcImNvdW50ZXJcIiwgdm9pZCAwKTtcbk90aGVyUHJvZHVjdEltYWdlID0gX19kZWNvcmF0ZShbXG4gICAgc2hhcmVkRGF0YShOYW1lc3BhY2VDb2xsZWN0aW9uKFwiZGVjYWYtbmFtZXNwYWNlXCIpKSxcbiAgICB1c2VzKEZhYnJpY0ZsYXZvdXIpXG4gICAgLy8gQEJsb2NrT3BlcmF0aW9ucyhbT3BlcmF0aW9uS2V5cy5ERUxFVEVdKVxuICAgICxcbiAgICB0YWJsZShcIm90aGVyX3Byb2R1Y3RfaW1hZ2VcIiksXG4gICAgbW9kZWwoKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnBhcmFtdHlwZXNcIiwgW09iamVjdF0pXG5dLCBPdGhlclByb2R1Y3RJbWFnZSk7XG5leHBvcnQgeyBPdGhlclByb2R1Y3RJbWFnZSB9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pVDNSb1pYSlFjbTlrZFdOMFNXMWhaMlV1YW5NaUxDSnpiM1Z5WTJWU2IyOTBJam9pSWl3aWMyOTFjbU5sY3lJNld5SXVMaTh1TGk4dUxpOHVMaTl6Y21NdlkyOXVkSEpoWTNRdmRISmhZMnRsWkUxdlpHVnNjeTlQZEdobGNsQnliMlIxWTNSSmJXRm5aUzUwY3lKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pT3pzN096czdPenM3UVVGRFFTeFBRVUZQTEVWQlFVVXNTMEZCU3l4RlFVRkZMRkZCUVZFc1JVRkJSU3hOUVVGTkxHZERRVUZuUXl4RFFVRkRPMEZCUTJwRkxFOUJRVThzUlVGQlJTeE5RVUZOTEVWQlFVVXNaMEpCUVdkQ0xFVkJRVVVzUlVGQlJTeEZRVUZGTEV0QlFVc3NSVUZCUlN4TlFVRk5MR2RDUVVGblFpeERRVUZETzBGQlEzSkZMRzlHUVVGdlJqdEJRVU53Uml4UFFVRlBMRVZCUVVVc1NVRkJTU3hGUVVGRkxFMUJRVTBzYzBKQlFYTkNMRU5CUVVNN1FVRkROVU1zVDBGQlR5eEZRVUZGTEVsQlFVa3NSVUZCUlN3MFFrRkJkVUk3UVVGRGRFTXNUMEZCVHl4RlFVRkZMRlZCUVZVc1JVRkJSU3h0UTBGQk9FSTdRVUZEYmtRc1QwRkJUeXhGUVVGRkxFOUJRVThzUlVGQlJTeE5RVUZOTEhsQ1FVRjVRaXhEUVVGRE8wRkJRMnhFTEU5QlFVOHNSVUZEVEN4aFFVRmhMRVZCUTJJc1RVRkJUU3hGUVVOT0xHMUNRVUZ0UWl4RlFVTnVRaXhQUVVGUExFVkJRMUFzVlVGQlZTeEhRVU5ZTEdkRFFVRXlRanRCUVVNMVFpeFBRVUZQTEVWQlFVVXNiVUpCUVcxQ0xFVkJRVVVzTWtOQlFYTkRPMEZCVHpkRUxFbEJRVTBzYVVKQlFXbENMRWRCUVhaQ0xFMUJRVTBzYVVKQlFXdENMRk5CUVZFc2JVSkJRVzFDTzBsQmJVSjRSQ3haUVVGWkxFdEJRVzFETzFGQlF6ZERMRXRCUVVzc1EwRkJReXhMUVVGTExFTkJRVU1zUTBGQlF6dEpRVU5tTEVOQlFVTTdRMEZEUml4RFFVRkJPMEZCYUVKRE8wbEJURU1zUlVGQlJTeEZRVUZGTzBsQlEwb3NWVUZCVlN4RlFVRkZPMGxCUTFvc1NVRkJTU3hGUVVGRk8wbEJRMDRzWjBKQlFXZENMRVZCUVVVN1NVRkRiRUlzVFVGQlRTeERRVUZETEcxQ1FVRnRRaXhGUVVGRkxITkNRVUZ6UWl4RFFVRkRPenR6UkVGREwwSTdRVUZMY2tJN1NVRklReXhOUVVGTkxFVkJRVVU3U1VGRFVpeFJRVUZSTEVWQlFVVTdTVUZEVml4blFrRkJaMElzUlVGQlJUczdhMFJCUTBZN1FVRkhha0k3U1VGRVF5eFBRVUZQTEVWQlFVVTdPMmRFUVVOTE8wRkJSMlk3U1VGRVF5eFBRVUZQTEVWQlFVVTdPMnRFUVVOUE8wRkJha0pPTEdsQ1FVRnBRanRKUVV3M1FpeFZRVUZWTEVOQlFVTXNiVUpCUVcxQ0xFTkJRVU1zYVVKQlFXbENMRU5CUVVNc1EwRkJRenRKUVVOc1JDeEpRVUZKTEVOQlFVTXNZVUZCWVN4RFFVRkRPMGxCUTNCQ0xESkRRVUV5UXpzN1NVRkRNVU1zUzBGQlN5eERRVUZETEhGQ1FVRnhRaXhEUVVGRE8wbEJRelZDTEV0QlFVc3NSVUZCUlRzN1IwRkRTeXhwUWtGQmFVSXNRMEZ6UWpkQ0lpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lhVzF3YjNKMElIUjVjR1VnZXlCTmIyUmxiRUZ5WnlCOUlHWnliMjBnWENKQVpHVmpZV1l0ZEhNdlpHVmpiM0poZEc5eUxYWmhiR2xrWVhScGIyNWNJanRjYm1sdGNHOXlkQ0I3SUcxdlpHVnNMQ0J5WlhGMWFYSmxaQ0I5SUdaeWIyMGdYQ0pBWkdWallXWXRkSE12WkdWamIzSmhkRzl5TFhaaGJHbGtZWFJwYjI1Y0lqdGNibWx0Y0c5eWRDQjdJR052YkhWdGJpd2daR1ZtWVhWc2RGRjFaWEo1UVhSMGNpd2djR3NzSUhSaFlteGxJSDBnWm5KdmJTQmNJa0JrWldOaFppMTBjeTlqYjNKbFhDSTdYRzR2THlCcGJYQnZjblFnZTBKc2IyTnJUM0JsY21GMGFXOXVjeXdnVDNCbGNtRjBhVzl1UzJWNWN5d2djbVZoWkc5dWJIbDlJR1p5YjIwZ1hDSkFaR1ZqWVdZdGRITXZaR0l0WkdWamIzSmhkRzl5YzF3aU8xeHVhVzF3YjNKMElIc2dkWE5sY3lCOUlHWnliMjBnWENKQVpHVmpZV1l0ZEhNdlpHVmpiM0poZEdsdmJsd2lPMXh1YVcxd2IzSjBJSHNnWjNScGJpQjlJR1p5YjIwZ1hDSXVMaTl0YjJSbGJITXZaM1JwYmx3aU8xeHVhVzF3YjNKMElIc2dhR2x6ZEc5eWVVUmxZeUI5SUdaeWIyMGdYQ0l1TGk5dGIyUmxiSE12YUdsemRHOXllUzFrWldOY0lqdGNibWx0Y0c5eWRDQjdJSFpsY25OcGIyNGdmU0JtY205dElGd2lRR1JsWTJGbUxYUnpMMlJpTFdSbFkyOXlZWFJ2Y25OY0lqdGNibWx0Y0c5eWRDQjdYRzRnSUVaaFluSnBZMFpzWVhadmRYSXNYRzRnSUcxcGNuSnZjaXhjYmlBZ1RtRnRaWE53WVdObFEyOXNiR1ZqZEdsdmJpeGNiaUFnYjNkdVpXUkNlU3hjYmlBZ2MyaGhjbVZrUkdGMFlTeGNibjBnWm5KdmJTQmNJaTR1THk0dUwzTm9ZWEpsWkM5cGJtUmxlRndpTzF4dWFXMXdiM0owSUhzZ1FtRnpaVWxrWlc1MGFXWnBaV1JOYjJSbGJDQjlJR1p5YjIwZ1hDSXVMaTl0YjJSbGJITXZRbUZ6WlVsa1pXNTBhV1pwWldSTmIyUmxiRndpTzF4dVhHNUFjMmhoY21Wa1JHRjBZU2hPWVcxbGMzQmhZMlZEYjJ4c1pXTjBhVzl1S0Z3aVpHVmpZV1l0Ym1GdFpYTndZV05sWENJcEtWeHVRSFZ6WlhNb1JtRmljbWxqUm14aGRtOTFjaWxjYmk4dklFQkNiRzlqYTA5d1pYSmhkR2x2Ym5Nb1cwOXdaWEpoZEdsdmJrdGxlWE11UkVWTVJWUkZYU2xjYmtCMFlXSnNaU2hjSW05MGFHVnlYM0J5YjJSMVkzUmZhVzFoWjJWY0lpbGNia0J0YjJSbGJDZ3BYRzVsZUhCdmNuUWdZMnhoYzNNZ1QzUm9aWEpRY205a2RXTjBTVzFoWjJVZ1pYaDBaVzVrY3lCQ1lYTmxTV1JsYm5ScFptbGxaRTF2WkdWc0lIdGNiaUFnUUhCcktDbGNiaUFnUUdocGMzUnZjbmxFWldNb0tWeHVJQ0JBWjNScGJpZ3BYRzRnSUVCa1pXWmhkV3gwVVhWbGNubEJkSFJ5S0NsY2JpQWdRRzFwY25KdmNpaGNJbTFwY25KdmNpMWpiMnhzWldOMGFXOXVYQ0lzSUZ3aVVHaGhjbTFoYkdWa1oyVnlZWE56YjJOTlUxQmNJaWxjYmlBZ2NISnZaSFZqZEVOdlpHVWhPaUJ6ZEhKcGJtYzdYRzVjYmlBZ1FHTnZiSFZ0YmlncFhHNGdJRUJ5WlhGMWFYSmxaQ2dwWEc0Z0lFQmtaV1poZFd4MFVYVmxjbmxCZEhSeUtDbGNiaUFnWTI5dWRHVnVkQ0U2SUhOMGNtbHVaenRjYmx4dUlDQkFiM2R1WldSQ2VTZ3BYRzRnSUc5M2JtVnlJVG9nYzNSeWFXNW5PMXh1WEc0Z0lFQjJaWEp6YVc5dUtDbGNiaUFnWTI5MWJuUmxjajg2SUc1MWJXSmxjanRjYmx4dUlDQmpiMjV6ZEhKMVkzUnZjaWh0YjJSbGJEODZJRTF2WkdWc1FYSm5QRTkwYUdWeVVISnZaSFZqZEVsdFlXZGxQaWtnZTF4dUlDQWdJSE4xY0dWeUtHMXZaR1ZzS1R0Y2JpQWdmVnh1ZlZ4dUlsMTkiXX0=
@@ -0,0 +1,105 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OtherProductShared = void 0;
4
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
5
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
6
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
7
+ r = Reflect.decorate(decorators, target, key, desc);
8
+ else
9
+ for (var i = decorators.length - 1; i >= 0; i--)
10
+ if (d = decorators[i])
11
+ r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
12
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
13
+ };
14
+ var __metadata = (this && this.__metadata) || function (k, v) {
15
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
16
+ return Reflect.metadata(k, v);
17
+ };
18
+ const decorator_validation_1 = require("@decaf-ts/decorator-validation");
19
+ const core_1 = require("@decaf-ts/core");
20
+ // import {BlockOperations, OperationKeys, readonly} from "@decaf-ts/db-decorators";
21
+ const decoration_1 = require("@decaf-ts/decoration");
22
+ const BaseIdentifiedModel_js_1 = require("./../models/BaseIdentifiedModel.cjs");
23
+ const gtin_js_1 = require("./../models/gtin.cjs");
24
+ const decorators_private_js_1 = require("./../models/decorators-private.cjs");
25
+ const index_js_1 = require("./../../shared/index.cjs");
26
+ const OtherProductStrength_js_1 = require("./OtherProductStrength.cjs");
27
+ const OtherMarket_js_1 = require("./OtherMarket.cjs");
28
+ const decorators_js_1 = require("./../models/decorators.cjs");
29
+ const history_dec_js_1 = require("./../models/history-dec.cjs");
30
+ const OtherProductImage_js_1 = require("./OtherProductImage.cjs");
31
+ let OtherProductShared = class OtherProductShared extends BaseIdentifiedModel_js_1.BaseIdentifiedModel {
32
+ constructor(args) {
33
+ super(args);
34
+ this.productRecall = false;
35
+ }
36
+ };
37
+ exports.OtherProductShared = OtherProductShared;
38
+ __decorate([
39
+ (0, core_1.pk)(),
40
+ (0, gtin_js_1.gtin)(),
41
+ (0, history_dec_js_1.historyDec)(),
42
+ (0, decorators_js_1.assignProductOwner)(),
43
+ (0, index_js_1.mirror)("mirror-collection", "PharmaledgerassocMSP"),
44
+ (0, decorators_private_js_1.audit)(OtherProductShared),
45
+ (0, core_1.defaultQueryAttr)(),
46
+ __metadata("design:type", String)
47
+ ], OtherProductShared.prototype, "productCode", void 0);
48
+ __decorate([
49
+ (0, core_1.column)(),
50
+ (0, decorator_validation_1.required)(),
51
+ (0, core_1.defaultQueryAttr)(),
52
+ (0, core_1.index)([core_1.OrderDirection.ASC, core_1.OrderDirection.DSC]),
53
+ __metadata("design:type", String)
54
+ ], OtherProductShared.prototype, "inventedName", void 0);
55
+ __decorate([
56
+ (0, core_1.column)(),
57
+ (0, decorator_validation_1.required)(),
58
+ (0, core_1.defaultQueryAttr)(),
59
+ (0, core_1.index)([core_1.OrderDirection.ASC, core_1.OrderDirection.DSC]),
60
+ __metadata("design:type", String)
61
+ ], OtherProductShared.prototype, "nameMedicinalProduct", void 0);
62
+ __decorate([
63
+ (0, core_1.column)(),
64
+ __metadata("design:type", String)
65
+ ], OtherProductShared.prototype, "internalMaterialCode", void 0);
66
+ __decorate([
67
+ (0, core_1.column)(),
68
+ (0, core_1.index)([core_1.OrderDirection.ASC, core_1.OrderDirection.DSC]),
69
+ __metadata("design:type", Boolean)
70
+ ], OtherProductShared.prototype, "productRecall", void 0);
71
+ __decorate([
72
+ (0, core_1.oneToOne)(() => OtherProductImage_js_1.OtherProductImage, {
73
+ update: core_1.Cascade.CASCADE,
74
+ delete: core_1.Cascade.CASCADE,
75
+ }, false),
76
+ __metadata("design:type", Object)
77
+ ], OtherProductShared.prototype, "imageData", void 0);
78
+ __decorate([
79
+ (0, core_1.version)(true),
80
+ __metadata("design:type", Number)
81
+ ], OtherProductShared.prototype, "counter", void 0);
82
+ __decorate([
83
+ (0, core_1.oneToMany)(() => OtherProductStrength_js_1.OtherProductStrength, { update: core_1.Cascade.CASCADE, delete: core_1.Cascade.CASCADE }, true),
84
+ __metadata("design:type", Array)
85
+ ], OtherProductShared.prototype, "strengths", void 0);
86
+ __decorate([
87
+ (0, core_1.oneToMany)(() => OtherMarket_js_1.OtherMarket, { update: core_1.Cascade.CASCADE, delete: core_1.Cascade.CASCADE }, true),
88
+ __metadata("design:type", Array)
89
+ ], OtherProductShared.prototype, "markets", void 0);
90
+ __decorate([
91
+ (0, core_1.column)(),
92
+ (0, index_js_1.ownedBy)(),
93
+ __metadata("design:type", String)
94
+ ], OtherProductShared.prototype, "ownedBy", void 0);
95
+ exports.OtherProductShared = OtherProductShared = __decorate([
96
+ (0, index_js_1.sharedData)((0, index_js_1.NamespaceCollection)("decaf-namespace")),
97
+ (0, decoration_1.uses)(index_js_1.FabricFlavour)
98
+ // @BlockOperations([OperationKeys.DELETE])
99
+ ,
100
+ (0, core_1.table)("other_product_shared"),
101
+ (0, decorator_validation_1.model)(),
102
+ __metadata("design:paramtypes", [Object])
103
+ ], OtherProductShared);
104
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3RoZXJQcm9kdWN0U2hhcmVkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbnRyYWN0L3RyYWNrZWRNb2RlbHMvT3RoZXJQcm9kdWN0U2hhcmVkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUNBLE9BQU8sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDakUsT0FBTyxFQUNMLE9BQU8sRUFDUCxNQUFNLEVBQ04sZ0JBQWdCLEVBQ2hCLEtBQUssRUFDTCxTQUFTLEVBQ1QsUUFBUSxFQUNSLGNBQWMsRUFDZCxFQUFFLEVBQ0YsS0FBSyxFQUNMLE9BQU8sR0FDUixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLG9GQUFvRjtBQUNwRixPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDNUMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLDJDQUFzQztBQUNwRSxPQUFPLEVBQUUsSUFBSSxFQUFFLDRCQUF1QjtBQUN0QyxPQUFPLEVBQUUsS0FBSyxFQUFFLDBDQUFxQztBQUNyRCxPQUFPLEVBQ0wsYUFBYSxFQUNiLE1BQU0sRUFDTixtQkFBbUIsRUFDbkIsT0FBTyxFQUNQLFVBQVUsR0FDWCxnQ0FBMkI7QUFDNUIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLGtDQUErQjtBQUM5RCxPQUFPLEVBQUUsV0FBVyxFQUFFLHlCQUFzQjtBQUM1QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsa0NBQTZCO0FBQzFELE9BQU8sRUFBRSxVQUFVLEVBQUUsbUNBQThCO0FBQ25ELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSwrQkFBNEI7QUFPakQsSUFBTSxrQkFBa0IsR0FBeEIsTUFBTSxrQkFBbUIsU0FBUSxtQkFBbUI7SUErRXpELFlBQVksSUFBbUM7UUFDN0MsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBckRkLGtCQUFhLEdBQVksS0FBSyxDQUFDO0lBc0QvQixDQUFDO0NBQ0YsQ0FBQTtBQTFFQztJQVBDLEVBQUUsRUFBRTtJQUNKLElBQUksRUFBRTtJQUNOLFVBQVUsRUFBRTtJQUNaLGtCQUFrQixFQUFFO0lBQ3BCLE1BQU0sQ0FBQyxtQkFBbUIsRUFBRSxzQkFBc0IsQ0FBQztJQUNuRCxLQUFLLENBQUMsa0JBQWtCLENBQUM7SUFDekIsZ0JBQWdCLEVBQUU7O3VEQUNFO0FBTXJCO0lBSkMsTUFBTSxFQUFFO0lBQ1IsUUFBUSxFQUFFO0lBQ1YsZ0JBQWdCLEVBQUU7SUFDbEIsS0FBSyxDQUFDLENBQUMsY0FBYyxDQUFDLEdBQUcsRUFBRSxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUM7O3dEQUMxQjtBQU10QjtJQUpDLE1BQU0sRUFBRTtJQUNSLFFBQVEsRUFBRTtJQUNWLGdCQUFnQixFQUFFO0lBQ2xCLEtBQUssQ0FBQyxDQUFDLGNBQWMsQ0FBQyxHQUFHLEVBQUUsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDOztnRUFDbEI7QUFHOUI7SUFEQyxNQUFNLEVBQUU7O2dFQUNxQjtBQUk5QjtJQUZDLE1BQU0sRUFBRTtJQUNSLEtBQUssQ0FBQyxDQUFDLGNBQWMsQ0FBQyxHQUFHLEVBQUUsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDOzt5REFDakI7QUFVL0I7SUFSQyxRQUFRLENBQ1AsR0FBRyxFQUFFLENBQUMsaUJBQWlCLEVBQ3ZCO1FBQ0UsTUFBTSxFQUFFLE9BQU8sQ0FBQyxPQUFPO1FBQ3ZCLE1BQU0sRUFBRSxPQUFPLENBQUMsT0FBTztLQUN4QixFQUNELEtBQUssQ0FDTjs7cURBQ3NDO0FBc0J2QztJQURDLE9BQU8sQ0FBQyxJQUFJLENBQUM7O21EQUNHO0FBT2pCO0lBTEMsU0FBUyxDQUNSLEdBQUcsRUFBRSxDQUFDLG9CQUFvQixFQUMxQixFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsT0FBTyxFQUFFLEVBQ3BELElBQUksQ0FDTDs7cURBQ2tDO0FBT25DO0lBTEMsU0FBUyxDQUNSLEdBQUcsRUFBRSxDQUFDLFdBQVcsRUFDakIsRUFBRSxNQUFNLEVBQUUsT0FBTyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsT0FBTyxDQUFDLE9BQU8sRUFBRSxFQUNwRCxJQUFJLENBQ0w7O21EQUN1QjtBQUl4QjtJQUZDLE1BQU0sRUFBRTtJQUNSLE9BQU8sRUFBRTs7bURBQ087QUE3RU4sa0JBQWtCO0lBTDlCLFVBQVUsQ0FBQyxtQkFBbUIsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ2xELElBQUksQ0FBQyxhQUFhLENBQUM7SUFDcEIsMkNBQTJDOztJQUMxQyxLQUFLLENBQUMsc0JBQXNCLENBQUM7SUFDN0IsS0FBSyxFQUFFOztHQUNLLGtCQUFrQixDQWtGOUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IE1vZGVsQXJnIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0b3ItdmFsaWRhdGlvblwiO1xuaW1wb3J0IHsgbW9kZWwsIHJlcXVpcmVkIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0b3ItdmFsaWRhdGlvblwiO1xuaW1wb3J0IHtcbiAgQ2FzY2FkZSxcbiAgY29sdW1uLFxuICBkZWZhdWx0UXVlcnlBdHRyLFxuICBpbmRleCxcbiAgb25lVG9NYW55LFxuICBvbmVUb09uZSxcbiAgT3JkZXJEaXJlY3Rpb24sXG4gIHBrLFxuICB0YWJsZSxcbiAgdmVyc2lvbixcbn0gZnJvbSBcIkBkZWNhZi10cy9jb3JlXCI7XG4vLyBpbXBvcnQge0Jsb2NrT3BlcmF0aW9ucywgT3BlcmF0aW9uS2V5cywgcmVhZG9ubHl9IGZyb20gXCJAZGVjYWYtdHMvZGItZGVjb3JhdG9yc1wiO1xuaW1wb3J0IHsgdXNlcyB9IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdGlvblwiO1xuaW1wb3J0IHsgQmFzZUlkZW50aWZpZWRNb2RlbCB9IGZyb20gXCIuLi9tb2RlbHMvQmFzZUlkZW50aWZpZWRNb2RlbFwiO1xuaW1wb3J0IHsgZ3RpbiB9IGZyb20gXCIuLi9tb2RlbHMvZ3RpblwiO1xuaW1wb3J0IHsgYXVkaXQgfSBmcm9tIFwiLi4vbW9kZWxzL2RlY29yYXRvcnMtcHJpdmF0ZVwiO1xuaW1wb3J0IHtcbiAgRmFicmljRmxhdm91cixcbiAgbWlycm9yLFxuICBOYW1lc3BhY2VDb2xsZWN0aW9uLFxuICBvd25lZEJ5LFxuICBzaGFyZWREYXRhLFxufSBmcm9tIFwiLi4vLi4vc2hhcmVkL2luZGV4XCI7XG5pbXBvcnQgeyBPdGhlclByb2R1Y3RTdHJlbmd0aCB9IGZyb20gXCIuL090aGVyUHJvZHVjdFN0cmVuZ3RoXCI7XG5pbXBvcnQgeyBPdGhlck1hcmtldCB9IGZyb20gXCIuL090aGVyTWFya2V0XCI7XG5pbXBvcnQgeyBhc3NpZ25Qcm9kdWN0T3duZXIgfSBmcm9tIFwiLi4vbW9kZWxzL2RlY29yYXRvcnNcIjtcbmltcG9ydCB7IGhpc3RvcnlEZWMgfSBmcm9tIFwiLi4vbW9kZWxzL2hpc3RvcnktZGVjXCI7XG5pbXBvcnQgeyBPdGhlclByb2R1Y3RJbWFnZSB9IGZyb20gXCIuL090aGVyUHJvZHVjdEltYWdlXCI7XG5cbkBzaGFyZWREYXRhKE5hbWVzcGFjZUNvbGxlY3Rpb24oXCJkZWNhZi1uYW1lc3BhY2VcIikpXG5AdXNlcyhGYWJyaWNGbGF2b3VyKVxuLy8gQEJsb2NrT3BlcmF0aW9ucyhbT3BlcmF0aW9uS2V5cy5ERUxFVEVdKVxuQHRhYmxlKFwib3RoZXJfcHJvZHVjdF9zaGFyZWRcIilcbkBtb2RlbCgpXG5leHBvcnQgY2xhc3MgT3RoZXJQcm9kdWN0U2hhcmVkIGV4dGVuZHMgQmFzZUlkZW50aWZpZWRNb2RlbCB7XG4gIEBwaygpXG4gIEBndGluKClcbiAgQGhpc3RvcnlEZWMoKVxuICBAYXNzaWduUHJvZHVjdE93bmVyKClcbiAgQG1pcnJvcihcIm1pcnJvci1jb2xsZWN0aW9uXCIsIFwiUGhhcm1hbGVkZ2VyYXNzb2NNU1BcIilcbiAgQGF1ZGl0KE90aGVyUHJvZHVjdFNoYXJlZClcbiAgQGRlZmF1bHRRdWVyeUF0dHIoKVxuICBwcm9kdWN0Q29kZSE6IHN0cmluZztcblxuICBAY29sdW1uKClcbiAgQHJlcXVpcmVkKClcbiAgQGRlZmF1bHRRdWVyeUF0dHIoKVxuICBAaW5kZXgoW09yZGVyRGlyZWN0aW9uLkFTQywgT3JkZXJEaXJlY3Rpb24uRFNDXSlcbiAgaW52ZW50ZWROYW1lITogc3RyaW5nO1xuXG4gIEBjb2x1bW4oKVxuICBAcmVxdWlyZWQoKVxuICBAZGVmYXVsdFF1ZXJ5QXR0cigpXG4gIEBpbmRleChbT3JkZXJEaXJlY3Rpb24uQVNDLCBPcmRlckRpcmVjdGlvbi5EU0NdKVxuICBuYW1lTWVkaWNpbmFsUHJvZHVjdCE6IHN0cmluZztcblxuICBAY29sdW1uKClcbiAgaW50ZXJuYWxNYXRlcmlhbENvZGU/OiBzdHJpbmc7XG5cbiAgQGNvbHVtbigpXG4gIEBpbmRleChbT3JkZXJEaXJlY3Rpb24uQVNDLCBPcmRlckRpcmVjdGlvbi5EU0NdKVxuICBwcm9kdWN0UmVjYWxsOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQG9uZVRvT25lKFxuICAgICgpID0+IE90aGVyUHJvZHVjdEltYWdlLFxuICAgIHtcbiAgICAgIHVwZGF0ZTogQ2FzY2FkZS5DQVNDQURFLFxuICAgICAgZGVsZXRlOiBDYXNjYWRlLkNBU0NBREUsXG4gICAgfSxcbiAgICBmYWxzZVxuICApXG4gIGltYWdlRGF0YT86IHN0cmluZyB8IE90aGVyUHJvZHVjdEltYWdlO1xuICAvL1xuICAvLyBAY29sdW1uKClcbiAgLy8gZmxhZ0VuYWJsZUFkdmVyc2VFdmVudFJlcG9ydGluZz86IGJvb2xlYW47XG4gIC8vXG4gIC8vIEBjb2x1bW4oKVxuICAvLyBhZHZlcnNlRXZlbnRSZXBvcnRpbmdVUkw/OiBzdHJpbmc7XG4gIC8vXG4gIC8vIEBjb2x1bW4oKVxuICAvLyBmbGFnRW5hYmxlQUNGUHJvZHVjdENoZWNrPzogYm9vbGVhbjtcbiAgLy9cbiAgLy8gQGNvbHVtbigpXG4gIC8vIEB1cmwoKVxuICAvLyBhY2ZQcm9kdWN0Q2hlY2tVUkw/OiBzdHJpbmc7XG4gIC8vXG4gIC8vIEBjb2x1bW4oKVxuICAvLyBwYXRpZW50U3BlY2lmaWNMZWFmbGV0Pzogc3RyaW5nO1xuICAvL1xuICAvLyBAY29sdW1uKClcbiAgLy8gaGVhbHRoY2FyZVByYWN0aXRpb25lckluZm8/OiBzdHJpbmc7XG5cbiAgQHZlcnNpb24odHJ1ZSlcbiAgY291bnRlcj86IG51bWJlcjtcblxuICBAb25lVG9NYW55KFxuICAgICgpID0+IE90aGVyUHJvZHVjdFN0cmVuZ3RoLFxuICAgIHsgdXBkYXRlOiBDYXNjYWRlLkNBU0NBREUsIGRlbGV0ZTogQ2FzY2FkZS5DQVNDQURFIH0sXG4gICAgdHJ1ZVxuICApXG4gIHN0cmVuZ3RocyE6IE90aGVyUHJvZHVjdFN0cmVuZ3RoW107XG5cbiAgQG9uZVRvTWFueShcbiAgICAoKSA9PiBPdGhlck1hcmtldCxcbiAgICB7IHVwZGF0ZTogQ2FzY2FkZS5DQVNDQURFLCBkZWxldGU6IENhc2NhZGUuQ0FTQ0FERSB9LFxuICAgIHRydWVcbiAgKVxuICBtYXJrZXRzITogT3RoZXJNYXJrZXRbXTtcblxuICBAY29sdW1uKClcbiAgQG93bmVkQnkoKVxuICBvd25lZEJ5Pzogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKGFyZ3M/OiBNb2RlbEFyZzxPdGhlclByb2R1Y3RTaGFyZWQ+KSB7XG4gICAgc3VwZXIoYXJncyk7XG4gIH1cbn1cbiJdfQ==
105
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3RoZXJQcm9kdWN0U2hhcmVkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiT3RoZXJQcm9kdWN0U2hhcmVkLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLElBQUksVUFBVSxHQUFHLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxVQUFVLFVBQVUsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLElBQUk7SUFDakYsSUFBSSxDQUFDLEdBQUcsU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLHdCQUF3QixDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUM3SCxJQUFJLE9BQU8sT0FBTyxLQUFLLFFBQVEsSUFBSSxPQUFPLE9BQU8sQ0FBQyxRQUFRLEtBQUssVUFBVTtRQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDOztRQUMxSCxLQUFLLElBQUksQ0FBQyxHQUFHLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFO1lBQUUsSUFBSSxDQUFDLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQztnQkFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxF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RUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO0FBQ3BELFVBQVUsQ0FBQztJQUNQLElBQUEsYUFBTSxHQUFFO0lBQ1IsSUFBQSxrQkFBTyxHQUFFO0lBQ1QsVUFBVSxDQUFDLGFBQWEsRUFBRSxNQUFNLENBQUM7Q0FDcEMsRUFBRSxrQkFBa0IsQ0FBQyxTQUFTLEVBQUUsU0FBUyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7QUFDcEQsNkJBQUEsa0JBQWtCLEdBQUcsVUFBVSxDQUFDO0lBQzVCLElBQUEscUJBQVUsRUFBQyxJQUFBLDhCQUFtQixFQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDbEQsSUFBQSxpQkFBSSxFQUFDLHdCQUFhLENBQUM7SUFDbkIsMkNBQTJDOztJQUUzQyxJQUFBLFlBQUssRUFBQyxzQkFBc0IsQ0FBQztJQUM3QixJQUFBLDRCQUFLLEdBQUU7SUFDUCxVQUFVLENBQUMsbUJBQW1CLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQztDQUM1QyxFQUFFLGtCQUFrQixDQUFDLENBQUM7QUFFdkIsMG9OQUEwb04iLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgX19kZWNvcmF0ZSA9ICh0aGlzICYmIHRoaXMuX19kZWNvcmF0ZSkgfHwgZnVuY3Rpb24gKGRlY29yYXRvcnMsIHRhcmdldCwga2V5LCBkZXNjKSB7XG4gICAgdmFyIGMgPSBhcmd1bWVudHMubGVuZ3RoLCByID0gYyA8IDMgPyB0YXJnZXQgOiBkZXNjID09PSBudWxsID8gZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodGFyZ2V0LCBrZXkpIDogZGVzYywgZDtcbiAgICBpZiAodHlwZW9mIFJlZmxlY3QgPT09IFwib2JqZWN0XCIgJiYgdHlwZW9mIFJlZmxlY3QuZGVjb3JhdGUgPT09IFwiZnVuY3Rpb25cIikgciA9IFJlZmxlY3QuZGVjb3JhdGUoZGVjb3JhdG9ycywgdGFyZ2V0LCBrZXksIGRlc2MpO1xuICAgIGVsc2UgZm9yICh2YXIgaSA9IGRlY29yYXRvcnMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIGlmIChkID0gZGVjb3JhdG9yc1tpXSkgciA9IChjIDwgMyA/IGQocikgOiBjID4gMyA/IGQodGFyZ2V0LCBrZXksIHIpIDogZCh0YXJnZXQsIGtleSkpIHx8IHI7XG4gICAgcmV0dXJuIGMgPiAzICYmIHIgJiYgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCByKSwgcjtcbn07XG52YXIgX19tZXRhZGF0YSA9ICh0aGlzICYmIHRoaXMuX19tZXRhZGF0YSkgfHwgZnVuY3Rpb24gKGssIHYpIHtcbiAgICBpZiAodHlwZW9mIFJlZmxlY3QgPT09IFwib2JqZWN0XCIgJiYgdHlwZW9mIFJlZmxlY3QubWV0YWRhdGEgPT09IFwiZnVuY3Rpb25cIikgcmV0dXJuIFJlZmxlY3QubWV0YWRhdGEoaywgdik7XG59O1xuaW1wb3J0IHsgbW9kZWwsIHJlcXVpcmVkIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0b3ItdmFsaWRhdGlvblwiO1xuaW1wb3J0IHsgQ2FzY2FkZSwgY29sdW1uLCBkZWZhdWx0UXVlcnlBdHRyLCBpbmRleCwgb25lVG9NYW55LCBvbmVUb09uZSwgT3JkZXJEaXJlY3Rpb24sIHBrLCB0YWJsZSwgdmVyc2lvbiwgfSBmcm9tIFwiQGRlY2FmLXRzL2NvcmVcIjtcbi8vIGltcG9ydCB7QmxvY2tPcGVyYXRpb25zLCBPcGVyYXRpb25LZXlzLCByZWFkb25seX0gZnJvbSBcIkBkZWNhZi10cy9kYi1kZWNvcmF0b3JzXCI7XG5pbXBvcnQgeyB1c2VzIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0aW9uXCI7XG5pbXBvcnQgeyBCYXNlSWRlbnRpZmllZE1vZGVsIH0gZnJvbSBcIi4vLi4vbW9kZWxzL0Jhc2VJZGVudGlmaWVkTW9kZWwuanNcIjtcbmltcG9ydCB7IGd0aW4gfSBmcm9tIFwiLi8uLi9tb2RlbHMvZ3Rpbi5qc1wiO1xuaW1wb3J0IHsgYXVkaXQgfSBmcm9tIFwiLi8uLi9tb2RlbHMvZGVjb3JhdG9ycy1wcml2YXRlLmpzXCI7XG5pbXBvcnQgeyBGYWJyaWNGbGF2b3VyLCBtaXJyb3IsIE5hbWVzcGFjZUNvbGxlY3Rpb24sIG93bmVkQnksIHNoYXJlZERhdGEsIH0gZnJvbSBcIi4vLi4vLi4vc2hhcmVkL2luZGV4LmpzXCI7XG5pbXBvcnQgeyBPdGhlclByb2R1Y3RTdHJlbmd0aCB9IGZyb20gXCIuL090aGVyUHJvZHVjdFN0cmVuZ3RoLmpzXCI7XG5pbXBvcnQgeyBPdGhlck1hcmtldCB9IGZyb20gXCIuL090aGVyTWFya2V0LmpzXCI7XG5pbXBvcnQgeyBhc3NpZ25Qcm9kdWN0T3duZXIgfSBmcm9tIFwiLi8uLi9tb2RlbHMvZGVjb3JhdG9ycy5qc1wiO1xuaW1wb3J0IHsgaGlzdG9yeURlYyB9IGZyb20gXCIuLy4uL21vZGVscy9oaXN0b3J5LWRlYy5qc1wiO1xuaW1wb3J0IHsgT3RoZXJQcm9kdWN0SW1hZ2UgfSBmcm9tIFwiLi9PdGhlclByb2R1Y3RJbWFnZS5qc1wiO1xubGV0IE90aGVyUHJvZHVjdFNoYXJlZCA9IGNsYXNzIE90aGVyUHJvZHVjdFNoYXJlZCBleHRlbmRzIEJhc2VJZGVudGlmaWVkTW9kZWwge1xuICAgIGNvbnN0cnVjdG9yKGFyZ3MpIHtcbiAgICAgICAgc3VwZXIoYXJncyk7XG4gICAgICAgIHRoaXMucHJvZHVjdFJlY2FsbCA9IGZhbHNlO1xuICAgIH1cbn07XG5fX2RlY29yYXRlKFtcbiAgICBwaygpLFxuICAgIGd0aW4oKSxcbiAgICBoaXN0b3J5RGVjKCksXG4gICAgYXNzaWduUHJvZHVjdE93bmVyKCksXG4gICAgbWlycm9yKFwibWlycm9yLWNvbGxlY3Rpb25cIiwgXCJQaGFybWFsZWRnZXJhc3NvY01TUFwiKSxcbiAgICBhdWRpdChPdGhlclByb2R1Y3RTaGFyZWQpLFxuICAgIGRlZmF1bHRRdWVyeUF0dHIoKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgU3RyaW5nKVxuXSwgT3RoZXJQcm9kdWN0U2hhcmVkLnByb3RvdHlwZSwgXCJwcm9kdWN0Q29kZVwiLCB2b2lkIDApO1xuX19kZWNvcmF0ZShbXG4gICAgY29sdW1uKCksXG4gICAgcmVxdWlyZWQoKSxcbiAgICBkZWZhdWx0UXVlcnlBdHRyKCksXG4gICAgaW5kZXgoW09yZGVyRGlyZWN0aW9uLkFTQywgT3JkZXJEaXJlY3Rpb24uRFNDXSksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIFN0cmluZylcbl0sIE90aGVyUHJvZHVjdFNoYXJlZC5wcm90b3R5cGUsIFwiaW52ZW50ZWROYW1lXCIsIHZvaWQgMCk7XG5fX2RlY29yYXRlKFtcbiAgICBjb2x1bW4oKSxcbiAgICByZXF1aXJlZCgpLFxuICAgIGRlZmF1bHRRdWVyeUF0dHIoKSxcbiAgICBpbmRleChbT3JkZXJEaXJlY3Rpb24uQVNDLCBPcmRlckRpcmVjdGlvbi5EU0NdKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgU3RyaW5nKVxuXSwgT3RoZXJQcm9kdWN0U2hhcmVkLnByb3RvdHlwZSwgXCJuYW1lTWVkaWNpbmFsUHJvZHVjdFwiLCB2b2lkIDApO1xuX19kZWNvcmF0ZShbXG4gICAgY29sdW1uKCksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIFN0cmluZylcbl0sIE90aGVyUHJvZHVjdFNoYXJlZC5wcm90b3R5cGUsIFwiaW50ZXJuYWxNYXRlcmlhbENvZGVcIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIGNvbHVtbigpLFxuICAgIGluZGV4KFtPcmRlckRpcmVjdGlvbi5BU0MsIE9yZGVyRGlyZWN0aW9uLkRTQ10pLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBCb29sZWFuKVxuXSwgT3RoZXJQcm9kdWN0U2hhcmVkLnByb3RvdHlwZSwgXCJwcm9kdWN0UmVjYWxsXCIsIHZvaWQgMCk7XG5fX2RlY29yYXRlKFtcbiAgICBvbmVUb09uZSgoKSA9PiBPdGhlclByb2R1Y3RJbWFnZSwge1xuICAgICAgICB1cGRhdGU6IENhc2NhZGUuQ0FTQ0FERSxcbiAgICAgICAgZGVsZXRlOiBDYXNjYWRlLkNBU0NBREUsXG4gICAgfSwgZmFsc2UpLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBPYmplY3QpXG5dLCBPdGhlclByb2R1Y3RTaGFyZWQucHJvdG90eXBlLCBcImltYWdlRGF0YVwiLCB2b2lkIDApO1xuX19kZWNvcmF0ZShbXG4gICAgdmVyc2lvbih0cnVlKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgTnVtYmVyKVxuXSwgT3RoZXJQcm9kdWN0U2hhcmVkLnByb3RvdHlwZSwgXCJjb3VudGVyXCIsIHZvaWQgMCk7XG5fX2RlY29yYXRlKFtcbiAgICBvbmVUb01hbnkoKCkgPT4gT3RoZXJQcm9kdWN0U3RyZW5ndGgsIHsgdXBkYXRlOiBDYXNjYWRlLkNBU0NBREUsIGRlbGV0ZTogQ2FzY2FkZS5DQVNDQURFIH0sIHRydWUpLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBBcnJheSlcbl0sIE90aGVyUHJvZHVjdFNoYXJlZC5wcm90b3R5cGUsIFwic3RyZW5ndGhzXCIsIHZvaWQgMCk7XG5fX2RlY29yYXRlKFtcbiAgICBvbmVUb01hbnkoKCkgPT4gT3RoZXJNYXJrZXQsIHsgdXBkYXRlOiBDYXNjYWRlLkNBU0NBREUsIGRlbGV0ZTogQ2FzY2FkZS5DQVNDQURFIH0sIHRydWUpLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBBcnJheSlcbl0sIE90aGVyUHJvZHVjdFNoYXJlZC5wcm90b3R5cGUsIFwibWFya2V0c1wiLCB2b2lkIDApO1xuX19kZWNvcmF0ZShbXG4gICAgY29sdW1uKCksXG4gICAgb3duZWRCeSgpLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBTdHJpbmcpXG5dLCBPdGhlclByb2R1Y3RTaGFyZWQucHJvdG90eXBlLCBcIm93bmVkQnlcIiwgdm9pZCAwKTtcbk90aGVyUHJvZHVjdFNoYXJlZCA9IF9fZGVjb3JhdGUoW1xuICAgIHNoYXJlZERhdGEoTmFtZXNwYWNlQ29sbGVjdGlvbihcImRlY2FmLW5hbWVzcGFjZVwiKSksXG4gICAgdXNlcyhGYWJyaWNGbGF2b3VyKVxuICAgIC8vIEBCbG9ja09wZXJhdGlvbnMoW09wZXJhdGlvbktleXMuREVMRVRFXSlcbiAgICAsXG4gICAgdGFibGUoXCJvdGhlcl9wcm9kdWN0X3NoYXJlZFwiKSxcbiAgICBtb2RlbCgpLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246cGFyYW10eXBlc1wiLCBbT2JqZWN0XSlcbl0sIE90aGVyUHJvZHVjdFNoYXJlZCk7XG5leHBvcnQgeyBPdGhlclByb2R1Y3RTaGFyZWQgfTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaVQzUm9aWEpRY205a2RXTjBVMmhoY21Wa0xtcHpJaXdpYzI5MWNtTmxVbTl2ZENJNklpSXNJbk52ZFhKalpYTWlPbHNpTGk0dkxpNHZMaTR2TGk0dmMzSmpMMk52Ym5SeVlXTjBMM1J5WVdOclpXUk5iMlJsYkhNdlQzUm9aWEpRY205a2RXTjBVMmhoY21Wa0xuUnpJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSTdPenM3T3pzN096dEJRVU5CTEU5QlFVOHNSVUZCUlN4TFFVRkxMRVZCUVVVc1VVRkJVU3hGUVVGRkxFMUJRVTBzWjBOQlFXZERMRU5CUVVNN1FVRkRha1VzVDBGQlR5eEZRVU5NTEU5QlFVOHNSVUZEVUN4TlFVRk5MRVZCUTA0c1owSkJRV2RDTEVWQlEyaENMRXRCUVVzc1JVRkRUQ3hUUVVGVExFVkJRMVFzVVVGQlVTeEZRVU5TTEdOQlFXTXNSVUZEWkN4RlFVRkZMRVZCUTBZc1MwRkJTeXhGUVVOTUxFOUJRVThzUjBGRFVpeE5RVUZOTEdkQ1FVRm5RaXhEUVVGRE8wRkJRM2hDTEc5R1FVRnZSanRCUVVOd1JpeFBRVUZQTEVWQlFVVXNTVUZCU1N4RlFVRkZMRTFCUVUwc2MwSkJRWE5DTEVOQlFVTTdRVUZETlVNc1QwRkJUeXhGUVVGRkxHMUNRVUZ0UWl4RlFVRkZMREpEUVVGelF6dEJRVU53UlN4UFFVRlBMRVZCUVVVc1NVRkJTU3hGUVVGRkxEUkNRVUYxUWp0QlFVTjBReXhQUVVGUExFVkJRVVVzUzBGQlN5eEZRVUZGTERCRFFVRnhRenRCUVVOeVJDeFBRVUZQTEVWQlEwd3NZVUZCWVN4RlFVTmlMRTFCUVUwc1JVRkRUaXh0UWtGQmJVSXNSVUZEYmtJc1QwRkJUeXhGUVVOUUxGVkJRVlVzUjBGRFdDeG5RMEZCTWtJN1FVRkROVUlzVDBGQlR5eEZRVUZGTEc5Q1FVRnZRaXhGUVVGRkxHdERRVUVyUWp0QlFVTTVSQ3hQUVVGUExFVkJRVVVzVjBGQlZ5eEZRVUZGTEhsQ1FVRnpRanRCUVVNMVF5eFBRVUZQTEVWQlFVVXNhMEpCUVd0Q0xFVkJRVVVzYTBOQlFUWkNPMEZCUXpGRUxFOUJRVThzUlVGQlJTeFZRVUZWTEVWQlFVVXNiVU5CUVRoQ08wRkJRMjVFTEU5QlFVOHNSVUZCUlN4cFFrRkJhVUlzUlVGQlJTd3JRa0ZCTkVJN1FVRlBha1FzU1VGQlRTeHJRa0ZCYTBJc1IwRkJlRUlzVFVGQlRTeHJRa0ZCYlVJc1UwRkJVU3h0UWtGQmJVSTdTVUVyUlhwRUxGbEJRVmtzU1VGQmJVTTdVVUZETjBNc1MwRkJTeXhEUVVGRExFbEJRVWtzUTBGQlF5eERRVUZETzFGQmNrUmtMR3RDUVVGaExFZEJRVmtzUzBGQlN5eERRVUZETzBsQmMwUXZRaXhEUVVGRE8wTkJRMFlzUTBGQlFUdEJRVEZGUXp0SlFWQkRMRVZCUVVVc1JVRkJSVHRKUVVOS0xFbEJRVWtzUlVGQlJUdEpRVU5PTEZWQlFWVXNSVUZCUlR0SlFVTmFMR3RDUVVGclFpeEZRVUZGTzBsQlEzQkNMRTFCUVUwc1EwRkJReXh0UWtGQmJVSXNSVUZCUlN4elFrRkJjMElzUTBGQlF6dEpRVU51UkN4TFFVRkxMRU5CUVVNc2EwSkJRV3RDTEVOQlFVTTdTVUZEZWtJc1owSkJRV2RDTEVWQlFVVTdPM1ZFUVVORk8wRkJUWEpDTzBsQlNrTXNUVUZCVFN4RlFVRkZPMGxCUTFJc1VVRkJVU3hGUVVGRk8wbEJRMVlzWjBKQlFXZENMRVZCUVVVN1NVRkRiRUlzUzBGQlN5eERRVUZETEVOQlFVTXNZMEZCWXl4RFFVRkRMRWRCUVVjc1JVRkJSU3hqUVVGakxFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTTdPM2RFUVVNeFFqdEJRVTEwUWp0SlFVcERMRTFCUVUwc1JVRkJSVHRKUVVOU0xGRkJRVkVzUlVGQlJUdEpRVU5XTEdkQ1FVRm5RaXhGUVVGRk8wbEJRMnhDTEV0QlFVc3NRMEZCUXl4RFFVRkRMR05CUVdNc1EwRkJReXhIUVVGSExFVkJRVVVzWTBGQll5eERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRPenRuUlVGRGJFSTdRVUZIT1VJN1NVRkVReXhOUVVGTkxFVkJRVVU3TzJkRlFVTnhRanRCUVVrNVFqdEpRVVpETEUxQlFVMHNSVUZCUlR0SlFVTlNMRXRCUVVzc1EwRkJReXhEUVVGRExHTkJRV01zUTBGQlF5eEhRVUZITEVWQlFVVXNZMEZCWXl4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRE96dDVSRUZEYWtJN1FVRlZMMEk3U1VGU1F5eFJRVUZSTEVOQlExQXNSMEZCUnl4RlFVRkZMRU5CUVVNc2FVSkJRV2xDTEVWQlEzWkNPMUZCUTBVc1RVRkJUU3hGUVVGRkxFOUJRVThzUTBGQlF5eFBRVUZQTzFGQlEzWkNMRTFCUVUwc1JVRkJSU3hQUVVGUExFTkJRVU1zVDBGQlR6dExRVU40UWl4RlFVTkVMRXRCUVVzc1EwRkRUanM3Y1VSQlEzTkRPMEZCYzBKMlF6dEpRVVJETEU5QlFVOHNRMEZCUXl4SlFVRkpMRU5CUVVNN08yMUVRVU5ITzBGQlQycENPMGxCVEVNc1UwRkJVeXhEUVVOU0xFZEJRVWNzUlVGQlJTeERRVUZETEc5Q1FVRnZRaXhGUVVNeFFpeEZRVUZGTEUxQlFVMHNSVUZCUlN4UFFVRlBMRU5CUVVNc1QwRkJUeXhGUVVGRkxFMUJRVTBzUlVGQlJTeFBRVUZQTEVOQlFVTXNUMEZCVHl4RlFVRkZMRVZCUTNCRUxFbEJRVWtzUTBGRFREczdjVVJCUTJ0RE8wRkJUMjVETzBsQlRFTXNVMEZCVXl4RFFVTlNMRWRCUVVjc1JVRkJSU3hEUVVGRExGZEJRVmNzUlVGRGFrSXNSVUZCUlN4TlFVRk5MRVZCUVVVc1QwRkJUeXhEUVVGRExFOUJRVThzUlVGQlJTeE5RVUZOTEVWQlFVVXNUMEZCVHl4RFFVRkRMRTlCUVU4c1JVRkJSU3hGUVVOd1JDeEpRVUZKTEVOQlEwdzdPMjFFUVVOMVFqdEJRVWw0UWp0SlFVWkRMRTFCUVUwc1JVRkJSVHRKUVVOU0xFOUJRVThzUlVGQlJUczdiVVJCUTA4N1FVRTNSVTRzYTBKQlFXdENPMGxCVERsQ0xGVkJRVlVzUTBGQlF5eHRRa0ZCYlVJc1EwRkJReXhwUWtGQmFVSXNRMEZCUXl4RFFVRkRPMGxCUTJ4RUxFbEJRVWtzUTBGQlF5eGhRVUZoTEVOQlFVTTdTVUZEY0VJc01rTkJRVEpET3p0SlFVTXhReXhMUVVGTExFTkJRVU1zYzBKQlFYTkNMRU5CUVVNN1NVRkROMElzUzBGQlN5eEZRVUZGT3p0SFFVTkxMR3RDUVVGclFpeERRV3RHT1VJaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SnBiWEJ2Y25RZ2RIbHdaU0I3SUUxdlpHVnNRWEpuSUgwZ1puSnZiU0JjSWtCa1pXTmhaaTEwY3k5a1pXTnZjbUYwYjNJdGRtRnNhV1JoZEdsdmJsd2lPMXh1YVcxd2IzSjBJSHNnYlc5a1pXd3NJSEpsY1hWcGNtVmtJSDBnWm5KdmJTQmNJa0JrWldOaFppMTBjeTlrWldOdmNtRjBiM0l0ZG1Gc2FXUmhkR2x2Ymx3aU8xeHVhVzF3YjNKMElIdGNiaUFnUTJGelkyRmtaU3hjYmlBZ1kyOXNkVzF1TEZ4dUlDQmtaV1poZFd4MFVYVmxjbmxCZEhSeUxGeHVJQ0JwYm1SbGVDeGNiaUFnYjI1bFZHOU5ZVzU1TEZ4dUlDQnZibVZVYjA5dVpTeGNiaUFnVDNKa1pYSkVhWEpsWTNScGIyNHNYRzRnSUhCckxGeHVJQ0IwWVdKc1pTeGNiaUFnZG1WeWMybHZiaXhjYm4wZ1puSnZiU0JjSWtCa1pXTmhaaTEwY3k5amIzSmxYQ0k3WEc0dkx5QnBiWEJ2Y25RZ2UwSnNiMk5yVDNCbGNtRjBhVzl1Y3l3Z1QzQmxjbUYwYVc5dVMyVjVjeXdnY21WaFpHOXViSGw5SUdaeWIyMGdYQ0pBWkdWallXWXRkSE12WkdJdFpHVmpiM0poZEc5eWMxd2lPMXh1YVcxd2IzSjBJSHNnZFhObGN5QjlJR1p5YjIwZ1hDSkFaR1ZqWVdZdGRITXZaR1ZqYjNKaGRHbHZibHdpTzF4dWFXMXdiM0owSUhzZ1FtRnpaVWxrWlc1MGFXWnBaV1JOYjJSbGJDQjlJR1p5YjIwZ1hDSXVMaTl0YjJSbGJITXZRbUZ6WlVsa1pXNTBhV1pwWldSTmIyUmxiRndpTzF4dWFXMXdiM0owSUhzZ1ozUnBiaUI5SUdaeWIyMGdYQ0l1TGk5dGIyUmxiSE12WjNScGJsd2lPMXh1YVcxd2IzSjBJSHNnWVhWa2FYUWdmU0JtY205dElGd2lMaTR2Ylc5a1pXeHpMMlJsWTI5eVlYUnZjbk10Y0hKcGRtRjBaVndpTzF4dWFXMXdiM0owSUh0Y2JpQWdSbUZpY21salJteGhkbTkxY2l4Y2JpQWdiV2x5Y205eUxGeHVJQ0JPWVcxbGMzQmhZMlZEYjJ4c1pXTjBhVzl1TEZ4dUlDQnZkMjVsWkVKNUxGeHVJQ0J6YUdGeVpXUkVZWFJoTEZ4dWZTQm1jbTl0SUZ3aUxpNHZMaTR2YzJoaGNtVmtMMmx1WkdWNFhDSTdYRzVwYlhCdmNuUWdleUJQZEdobGNsQnliMlIxWTNSVGRISmxibWQwYUNCOUlHWnliMjBnWENJdUwwOTBhR1Z5VUhKdlpIVmpkRk4wY21WdVozUm9YQ0k3WEc1cGJYQnZjblFnZXlCUGRHaGxjazFoY210bGRDQjlJR1p5YjIwZ1hDSXVMMDkwYUdWeVRXRnlhMlYwWENJN1hHNXBiWEJ2Y25RZ2V5QmhjM05wWjI1UWNtOWtkV04wVDNkdVpYSWdmU0JtY205dElGd2lMaTR2Ylc5a1pXeHpMMlJsWTI5eVlYUnZjbk5jSWp0Y2JtbHRjRzl5ZENCN0lHaHBjM1J2Y25sRVpXTWdmU0JtY205dElGd2lMaTR2Ylc5a1pXeHpMMmhwYzNSdmNua3RaR1ZqWENJN1hHNXBiWEJ2Y25RZ2V5QlBkR2hsY2xCeWIyUjFZM1JKYldGblpTQjlJR1p5YjIwZ1hDSXVMMDkwYUdWeVVISnZaSFZqZEVsdFlXZGxYQ0k3WEc1Y2JrQnphR0Z5WldSRVlYUmhLRTVoYldWemNHRmpaVU52Ykd4bFkzUnBiMjRvWENKa1pXTmhaaTF1WVcxbGMzQmhZMlZjSWlrcFhHNUFkWE5sY3loR1lXSnlhV05HYkdGMmIzVnlLVnh1THk4Z1FFSnNiMk5yVDNCbGNtRjBhVzl1Y3loYlQzQmxjbUYwYVc5dVMyVjVjeTVFUlV4RlZFVmRLVnh1UUhSaFlteGxLRndpYjNSb1pYSmZjSEp2WkhWamRGOXphR0Z5WldSY0lpbGNia0J0YjJSbGJDZ3BYRzVsZUhCdmNuUWdZMnhoYzNNZ1QzUm9aWEpRY205a2RXTjBVMmhoY21Wa0lHVjRkR1Z1WkhNZ1FtRnpaVWxrWlc1MGFXWnBaV1JOYjJSbGJDQjdYRzRnSUVCd2F5Z3BYRzRnSUVCbmRHbHVLQ2xjYmlBZ1FHaHBjM1J2Y25sRVpXTW9LVnh1SUNCQVlYTnphV2R1VUhKdlpIVmpkRTkzYm1WeUtDbGNiaUFnUUcxcGNuSnZjaWhjSW0xcGNuSnZjaTFqYjJ4c1pXTjBhVzl1WENJc0lGd2lVR2hoY20xaGJHVmtaMlZ5WVhOemIyTk5VMUJjSWlsY2JpQWdRR0YxWkdsMEtFOTBhR1Z5VUhKdlpIVmpkRk5vWVhKbFpDbGNiaUFnUUdSbFptRjFiSFJSZFdWeWVVRjBkSElvS1Z4dUlDQndjbTlrZFdOMFEyOWtaU0U2SUhOMGNtbHVaenRjYmx4dUlDQkFZMjlzZFcxdUtDbGNiaUFnUUhKbGNYVnBjbVZrS0NsY2JpQWdRR1JsWm1GMWJIUlJkV1Z5ZVVGMGRISW9LVnh1SUNCQWFXNWtaWGdvVzA5eVpHVnlSR2x5WldOMGFXOXVMa0ZUUXl3Z1QzSmtaWEpFYVhKbFkzUnBiMjR1UkZORFhTbGNiaUFnYVc1MlpXNTBaV1JPWVcxbElUb2djM1J5YVc1bk8xeHVYRzRnSUVCamIyeDFiVzRvS1Z4dUlDQkFjbVZ4ZFdseVpXUW9LVnh1SUNCQVpHVm1ZWFZzZEZGMVpYSjVRWFIwY2lncFhHNGdJRUJwYm1SbGVDaGJUM0prWlhKRWFYSmxZM1JwYjI0dVFWTkRMQ0JQY21SbGNrUnBjbVZqZEdsdmJpNUVVME5kS1Z4dUlDQnVZVzFsVFdWa2FXTnBibUZzVUhKdlpIVmpkQ0U2SUhOMGNtbHVaenRjYmx4dUlDQkFZMjlzZFcxdUtDbGNiaUFnYVc1MFpYSnVZV3hOWVhSbGNtbGhiRU52WkdVL09pQnpkSEpwYm1jN1hHNWNiaUFnUUdOdmJIVnRiaWdwWEc0Z0lFQnBibVJsZUNoYlQzSmtaWEpFYVhKbFkzUnBiMjR1UVZORExDQlBjbVJsY2tScGNtVmpkR2x2Ymk1RVUwTmRLVnh1SUNCd2NtOWtkV04wVW1WallXeHNPaUJpYjI5c1pXRnVJRDBnWm1Gc2MyVTdYRzVjYmlBZ1FHOXVaVlJ2VDI1bEtGeHVJQ0FnSUNncElEMCtJRTkwYUdWeVVISnZaSFZqZEVsdFlXZGxMRnh1SUNBZ0lIdGNiaUFnSUNBZ0lIVndaR0YwWlRvZ1EyRnpZMkZrWlM1RFFWTkRRVVJGTEZ4dUlDQWdJQ0FnWkdWc1pYUmxPaUJEWVhOallXUmxMa05CVTBOQlJFVXNYRzRnSUNBZ2ZTeGNiaUFnSUNCbVlXeHpaVnh1SUNBcFhHNGdJR2x0WVdkbFJHRjBZVDg2SUhOMGNtbHVaeUI4SUU5MGFHVnlVSEp2WkhWamRFbHRZV2RsTzF4dUlDQXZMMXh1SUNBdkx5QkFZMjlzZFcxdUtDbGNiaUFnTHk4Z1pteGhaMFZ1WVdKc1pVRmtkbVZ5YzJWRmRtVnVkRkpsY0c5eWRHbHVaejg2SUdKdmIyeGxZVzQ3WEc0Z0lDOHZYRzRnSUM4dklFQmpiMngxYlc0b0tWeHVJQ0F2THlCaFpIWmxjbk5sUlhabGJuUlNaWEJ2Y25ScGJtZFZVa3cvT2lCemRISnBibWM3WEc0Z0lDOHZYRzRnSUM4dklFQmpiMngxYlc0b0tWeHVJQ0F2THlCbWJHRm5SVzVoWW14bFFVTkdVSEp2WkhWamRFTm9aV05yUHpvZ1ltOXZiR1ZoYmp0Y2JpQWdMeTljYmlBZ0x5OGdRR052YkhWdGJpZ3BYRzRnSUM4dklFQjFjbXdvS1Z4dUlDQXZMeUJoWTJaUWNtOWtkV04wUTJobFkydFZVa3cvT2lCemRISnBibWM3WEc0Z0lDOHZYRzRnSUM4dklFQmpiMngxYlc0b0tWeHVJQ0F2THlCd1lYUnBaVzUwVTNCbFkybG1hV05NWldGbWJHVjBQem9nYzNSeWFXNW5PMXh1SUNBdkwxeHVJQ0F2THlCQVkyOXNkVzF1S0NsY2JpQWdMeThnYUdWaGJIUm9ZMkZ5WlZCeVlXTjBhWFJwYjI1bGNrbHVabTgvT2lCemRISnBibWM3WEc1Y2JpQWdRSFpsY25OcGIyNG9kSEoxWlNsY2JpQWdZMjkxYm5SbGNqODZJRzUxYldKbGNqdGNibHh1SUNCQWIyNWxWRzlOWVc1NUtGeHVJQ0FnSUNncElEMCtJRTkwYUdWeVVISnZaSFZqZEZOMGNtVnVaM1JvTEZ4dUlDQWdJSHNnZFhCa1lYUmxPaUJEWVhOallXUmxMa05CVTBOQlJFVXNJR1JsYkdWMFpUb2dRMkZ6WTJGa1pTNURRVk5EUVVSRklIMHNYRzRnSUNBZ2RISjFaVnh1SUNBcFhHNGdJSE4wY21WdVozUm9jeUU2SUU5MGFHVnlVSEp2WkhWamRGTjBjbVZ1WjNSb1cxMDdYRzVjYmlBZ1FHOXVaVlJ2VFdGdWVTaGNiaUFnSUNBb0tTQTlQaUJQZEdobGNrMWhjbXRsZEN4Y2JpQWdJQ0I3SUhWd1pHRjBaVG9nUTJGelkyRmtaUzVEUVZORFFVUkZMQ0JrWld4bGRHVTZJRU5oYzJOaFpHVXVRMEZUUTBGRVJTQjlMRnh1SUNBZ0lIUnlkV1ZjYmlBZ0tWeHVJQ0J0WVhKclpYUnpJVG9nVDNSb1pYSk5ZWEpyWlhSYlhUdGNibHh1SUNCQVkyOXNkVzF1S0NsY2JpQWdRRzkzYm1Wa1Fua29LVnh1SUNCdmQyNWxaRUo1UHpvZ2MzUnlhVzVuTzF4dVhHNGdJR052Ym5OMGNuVmpkRzl5S0dGeVozTS9PaUJOYjJSbGJFRnlaenhQZEdobGNsQnliMlIxWTNSVGFHRnlaV1ErS1NCN1hHNGdJQ0FnYzNWd1pYSW9ZWEpuY3lrN1hHNGdJSDFjYm4xY2JpSmRmUT09Il19