@decaf-ts/for-fabric 0.12.6 → 0.12.8

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 (590) hide show
  1. package/README.md +177 -146
  2. package/dist/for-fabric.cjs +2 -3797
  3. package/dist/for-fabric.cjs.map +1 -0
  4. package/dist/for-fabric.js +2 -3901
  5. package/dist/for-fabric.js.map +1 -0
  6. package/lib/cjs/bin/cli.cjs +2 -2
  7. package/lib/cjs/bin/cli.cjs.map +1 -0
  8. package/lib/cjs/cli-module.cjs +107 -3
  9. package/lib/cjs/cli-module.cjs.map +1 -0
  10. package/lib/cjs/cli-utils.cjs +2 -2
  11. package/lib/cjs/cli-utils.cjs.map +1 -0
  12. package/lib/cjs/client/FabricClientAdapter.cjs +2 -2
  13. package/lib/cjs/client/FabricClientAdapter.cjs.map +1 -0
  14. package/lib/cjs/client/FabricClientDispatch.cjs +2 -2
  15. package/lib/cjs/client/FabricClientDispatch.cjs.map +1 -0
  16. package/lib/cjs/client/FabricClientPaginator.cjs +2 -2
  17. package/lib/cjs/client/FabricClientPaginator.cjs.map +1 -0
  18. package/lib/cjs/client/FabricClientRepository.cjs +2 -2
  19. package/lib/cjs/client/FabricClientRepository.cjs.map +1 -0
  20. package/lib/cjs/client/FabricClientStatement.cjs +2 -2
  21. package/lib/cjs/client/FabricClientStatement.cjs.map +1 -0
  22. package/lib/cjs/client/collections/generation.cjs +2 -2
  23. package/lib/cjs/client/collections/generation.cjs.map +1 -0
  24. package/lib/cjs/client/collections/index.cjs +2 -2
  25. package/lib/cjs/client/collections/index.cjs.map +1 -0
  26. package/lib/cjs/client/constants.cjs +2 -2
  27. package/lib/cjs/client/constants.cjs.map +1 -0
  28. package/lib/cjs/client/crypto.cjs +2 -2
  29. package/lib/cjs/client/crypto.cjs.map +1 -0
  30. package/lib/cjs/client/erc20/FabricERC20ClientRepository.cjs +2 -2
  31. package/lib/cjs/client/erc20/FabricERC20ClientRepository.cjs.map +1 -0
  32. package/lib/cjs/client/erc20/index.cjs +2 -2
  33. package/lib/cjs/client/erc20/index.cjs.map +1 -0
  34. package/lib/cjs/client/fabric-fs.cjs +2 -2
  35. package/lib/cjs/client/fabric-fs.cjs.map +1 -0
  36. package/lib/cjs/client/fabric-hsm.cjs +2 -2
  37. package/lib/cjs/client/fabric-hsm.cjs.map +1 -0
  38. package/lib/cjs/client/ids/id-extraction.cjs +2 -2
  39. package/lib/cjs/client/ids/id-extraction.cjs.map +1 -0
  40. package/lib/cjs/client/ids/index.cjs +2 -2
  41. package/lib/cjs/client/ids/index.cjs.map +1 -0
  42. package/lib/cjs/client/index.cjs +2 -2
  43. package/lib/cjs/client/index.cjs.map +1 -0
  44. package/lib/cjs/client/indexes/generation.cjs +9 -4
  45. package/lib/cjs/client/indexes/generation.cjs.map +1 -0
  46. package/lib/cjs/client/indexes/index.cjs +2 -2
  47. package/lib/cjs/client/indexes/index.cjs.map +1 -0
  48. package/lib/cjs/client/logging.cjs +2 -2
  49. package/lib/cjs/client/logging.cjs.map +1 -0
  50. package/lib/cjs/client/services/FabricEnrollmentService.cjs +2 -2
  51. package/lib/cjs/client/services/FabricEnrollmentService.cjs.map +1 -0
  52. package/lib/cjs/client/services/FabricIdentityService.cjs +2 -2
  53. package/lib/cjs/client/services/FabricIdentityService.cjs.map +1 -0
  54. package/lib/cjs/client/services/RegistrationRequestBuilder.cjs +2 -2
  55. package/lib/cjs/client/services/RegistrationRequestBuilder.cjs.map +1 -0
  56. package/lib/cjs/client/services/constants.cjs +2 -2
  57. package/lib/cjs/client/services/constants.cjs.map +1 -0
  58. package/lib/cjs/client/services/index.cjs +2 -2
  59. package/lib/cjs/client/services/index.cjs.map +1 -0
  60. package/lib/cjs/client/types.cjs +2 -2
  61. package/lib/cjs/client/types.cjs.map +1 -0
  62. package/lib/cjs/client/utils.cjs +2 -2
  63. package/lib/cjs/client/utils.cjs.map +1 -0
  64. package/lib/cjs/contract/Address.cjs +2 -2
  65. package/lib/cjs/contract/Address.cjs.map +1 -0
  66. package/lib/cjs/contract/AddressContract.cjs +2 -2
  67. package/lib/cjs/contract/AddressContract.cjs.map +1 -0
  68. package/lib/cjs/contract/AuditContract.cjs +2 -2
  69. package/lib/cjs/contract/AuditContract.cjs.map +1 -0
  70. package/lib/cjs/contract/BatchContract.cjs +2 -2
  71. package/lib/cjs/contract/BatchContract.cjs.map +1 -0
  72. package/lib/cjs/contract/MarketContract.cjs +2 -2
  73. package/lib/cjs/contract/MarketContract.cjs.map +1 -0
  74. package/lib/cjs/contract/OtherAuditContract.cjs +2 -2
  75. package/lib/cjs/contract/OtherAuditContract.cjs.map +1 -0
  76. package/lib/cjs/contract/OtherBatchContract.cjs +2 -2
  77. package/lib/cjs/contract/OtherBatchContract.cjs.map +1 -0
  78. package/lib/cjs/contract/OtherLeafletContract.cjs +72 -0
  79. package/lib/cjs/contract/OtherLeafletContract.cjs.map +1 -0
  80. package/lib/cjs/contract/OtherLeafletFileContract.cjs +76 -0
  81. package/lib/cjs/contract/OtherLeafletFileContract.cjs.map +1 -0
  82. package/lib/cjs/contract/OtherMarketContract.cjs +2 -2
  83. package/lib/cjs/contract/OtherMarketContract.cjs.map +1 -0
  84. package/lib/cjs/contract/OtherProductContract.cjs +2 -2
  85. package/lib/cjs/contract/OtherProductContract.cjs.map +1 -0
  86. package/lib/cjs/contract/OtherProductImageContract.cjs +2 -2
  87. package/lib/cjs/contract/OtherProductImageContract.cjs.map +1 -0
  88. package/lib/cjs/contract/OtherProductSharedContract.cjs +2 -2
  89. package/lib/cjs/contract/OtherProductSharedContract.cjs.map +1 -0
  90. package/lib/cjs/contract/OtherProductStrengthContract.cjs +2 -2
  91. package/lib/cjs/contract/OtherProductStrengthContract.cjs.map +1 -0
  92. package/lib/cjs/contract/Product.cjs +2 -2
  93. package/lib/cjs/contract/Product.cjs.map +1 -0
  94. package/lib/cjs/contract/ProductContract.cjs +2 -2
  95. package/lib/cjs/contract/ProductContract.cjs.map +1 -0
  96. package/lib/cjs/contract/ProductStrengthContract.cjs +2 -2
  97. package/lib/cjs/contract/ProductStrengthContract.cjs.map +1 -0
  98. package/lib/cjs/contract/SegregatedPrivateDocumentContract.cjs +2 -2
  99. package/lib/cjs/contract/SegregatedPrivateDocumentContract.cjs.map +1 -0
  100. package/lib/cjs/contract/SegregatedSharedDocumentContract.cjs +2 -2
  101. package/lib/cjs/contract/SegregatedSharedDocumentContract.cjs.map +1 -0
  102. package/lib/cjs/contract/User.cjs +2 -2
  103. package/lib/cjs/contract/User.cjs.map +1 -0
  104. package/lib/cjs/contract/UserContract.cjs +2 -2
  105. package/lib/cjs/contract/UserContract.cjs.map +1 -0
  106. package/lib/cjs/contract/index.cjs +20 -20
  107. package/lib/cjs/contract/index.cjs.map +1 -0
  108. package/lib/cjs/contract/logging-context.cjs +2 -2
  109. package/lib/cjs/contract/logging-context.cjs.map +1 -0
  110. package/lib/cjs/contract/models/Audit.cjs +2 -2
  111. package/lib/cjs/contract/models/Audit.cjs.map +1 -0
  112. package/lib/cjs/contract/models/BaseIdentifiedModel.cjs +2 -2
  113. package/lib/cjs/contract/models/BaseIdentifiedModel.cjs.map +1 -0
  114. package/lib/cjs/contract/models/BaseModel.cjs +2 -2
  115. package/lib/cjs/contract/models/BaseModel.cjs.map +1 -0
  116. package/lib/cjs/contract/models/Batch.cjs +2 -2
  117. package/lib/cjs/contract/models/Batch.cjs.map +1 -0
  118. package/lib/cjs/contract/models/GtinOwner.cjs +2 -2
  119. package/lib/cjs/contract/models/GtinOwner.cjs.map +1 -0
  120. package/lib/cjs/contract/models/History.cjs +2 -2
  121. package/lib/cjs/contract/models/History.cjs.map +1 -0
  122. package/lib/cjs/contract/models/Leaflet.cjs +2 -2
  123. package/lib/cjs/contract/models/Leaflet.cjs.map +1 -0
  124. package/lib/cjs/contract/models/LeafletFile.cjs +2 -2
  125. package/lib/cjs/contract/models/LeafletFile.cjs.map +1 -0
  126. package/lib/cjs/contract/models/Market.cjs +2 -2
  127. package/lib/cjs/contract/models/Market.cjs.map +1 -0
  128. package/lib/cjs/contract/models/OtherAudit.cjs +3 -3
  129. package/lib/cjs/contract/models/OtherAudit.cjs.map +1 -0
  130. package/lib/cjs/contract/models/OtherBatchShared.cjs +137 -28
  131. package/lib/cjs/contract/models/OtherBatchShared.cjs.map +1 -0
  132. package/lib/cjs/contract/models/OtherLeaflet.cjs +3 -3
  133. package/lib/cjs/contract/models/OtherLeaflet.cjs.map +1 -0
  134. package/lib/cjs/contract/models/OtherLeafletFile.cjs +3 -3
  135. package/lib/cjs/contract/models/OtherLeafletFile.cjs.map +1 -0
  136. package/lib/cjs/contract/models/OtherMarket.cjs +3 -3
  137. package/lib/cjs/contract/models/OtherMarket.cjs.map +1 -0
  138. package/lib/cjs/contract/models/OtherProduct.cjs +3 -3
  139. package/lib/cjs/contract/models/OtherProduct.cjs.map +1 -0
  140. package/lib/cjs/contract/models/OtherProductImage.cjs +3 -3
  141. package/lib/cjs/contract/models/OtherProductImage.cjs.map +1 -0
  142. package/lib/cjs/contract/models/OtherProductShared.cjs +3 -3
  143. package/lib/cjs/contract/models/OtherProductShared.cjs.map +1 -0
  144. package/lib/cjs/contract/models/OtherProductStrength.cjs +3 -5
  145. package/lib/cjs/contract/models/OtherProductStrength.cjs.map +1 -0
  146. package/lib/cjs/contract/models/Product.cjs +2 -2
  147. package/lib/cjs/contract/models/Product.cjs.map +1 -0
  148. package/lib/cjs/contract/models/ProductStrength.cjs +2 -2
  149. package/lib/cjs/contract/models/ProductStrength.cjs.map +1 -0
  150. package/lib/cjs/contract/models/SegregatedDocument.cjs +2 -2
  151. package/lib/cjs/contract/models/SegregatedDocument.cjs.map +1 -0
  152. package/lib/cjs/contract/models/constants.cjs +2 -2
  153. package/lib/cjs/contract/models/constants.cjs.map +1 -0
  154. package/lib/cjs/contract/models/decorators-private.cjs +2 -2
  155. package/lib/cjs/contract/models/decorators-private.cjs.map +1 -0
  156. package/lib/cjs/contract/models/decorators.cjs +2 -2
  157. package/lib/cjs/contract/models/decorators.cjs.map +1 -0
  158. package/lib/cjs/contract/models/gtin.cjs +2 -2
  159. package/lib/cjs/contract/models/gtin.cjs.map +1 -0
  160. package/lib/cjs/contract/models/history-dec.cjs +2 -2
  161. package/lib/cjs/contract/models/history-dec.cjs.map +1 -0
  162. package/lib/cjs/contract/trackedModels/History.cjs +81 -0
  163. package/lib/cjs/contract/trackedModels/History.cjs.map +1 -0
  164. package/lib/cjs/contract/trackedModels/OtherAudit.cjs +124 -0
  165. package/lib/cjs/contract/trackedModels/OtherAudit.cjs.map +1 -0
  166. package/lib/cjs/contract/trackedModels/OtherLeaflet.cjs +121 -0
  167. package/lib/cjs/contract/trackedModels/OtherLeaflet.cjs.map +1 -0
  168. package/lib/cjs/contract/trackedModels/OtherLeafletFile.cjs +71 -0
  169. package/lib/cjs/contract/trackedModels/OtherLeafletFile.cjs.map +1 -0
  170. package/lib/cjs/contract/trackedModels/OtherMarket.cjs +90 -0
  171. package/lib/cjs/contract/trackedModels/OtherMarket.cjs.map +1 -0
  172. package/lib/cjs/contract/trackedModels/OtherProduct.cjs +83 -0
  173. package/lib/cjs/contract/trackedModels/OtherProduct.cjs.map +1 -0
  174. package/lib/cjs/contract/trackedModels/OtherProductImage.cjs +65 -0
  175. package/lib/cjs/contract/trackedModels/OtherProductImage.cjs.map +1 -0
  176. package/lib/cjs/contract/trackedModels/OtherProductShared.cjs +105 -0
  177. package/lib/cjs/contract/trackedModels/OtherProductShared.cjs.map +1 -0
  178. package/lib/cjs/contract/trackedModels/OtherProductStrength.cjs +91 -0
  179. package/lib/cjs/contract/trackedModels/OtherProductStrength.cjs.map +1 -0
  180. package/lib/cjs/contracts/ContractAdapter.cjs +2 -2
  181. package/lib/cjs/contracts/ContractAdapter.cjs.map +1 -0
  182. package/lib/cjs/contracts/ContractContext.cjs +2 -2
  183. package/lib/cjs/contracts/ContractContext.cjs.map +1 -0
  184. package/lib/cjs/contracts/FabricContractDispatch.cjs +2 -2
  185. package/lib/cjs/contracts/FabricContractDispatch.cjs.map +1 -0
  186. package/lib/cjs/contracts/FabricContractPaginator.cjs +2 -2
  187. package/lib/cjs/contracts/FabricContractPaginator.cjs.map +1 -0
  188. package/lib/cjs/contracts/FabricContractRepository.cjs +2 -2
  189. package/lib/cjs/contracts/FabricContractRepository.cjs.map +1 -0
  190. package/lib/cjs/contracts/FabricContractRepositoryObservableHandler.cjs +2 -2
  191. package/lib/cjs/contracts/FabricContractRepositoryObservableHandler.cjs.map +1 -0
  192. package/lib/cjs/contracts/FabricContractSequence.cjs +2 -2
  193. package/lib/cjs/contracts/FabricContractSequence.cjs.map +1 -0
  194. package/lib/cjs/contracts/FabricContractStatement.cjs +2 -2
  195. package/lib/cjs/contracts/FabricContractStatement.cjs.map +1 -0
  196. package/lib/cjs/contracts/MigrationContract.cjs +2 -2
  197. package/lib/cjs/contracts/MigrationContract.cjs.map +1 -0
  198. package/lib/cjs/contracts/PrivateSequence.cjs +2 -2
  199. package/lib/cjs/contracts/PrivateSequence.cjs.map +1 -0
  200. package/lib/cjs/contracts/auth/decorators.cjs +2 -2
  201. package/lib/cjs/contracts/auth/decorators.cjs.map +1 -0
  202. package/lib/cjs/contracts/auth/index.cjs +2 -2
  203. package/lib/cjs/contracts/auth/index.cjs.map +1 -0
  204. package/lib/cjs/contracts/bootstrap.cjs +14 -0
  205. package/lib/cjs/contracts/bootstrap.cjs.map +1 -0
  206. package/lib/cjs/contracts/crud/crud-contract.cjs +3 -2
  207. package/lib/cjs/contracts/crud/crud-contract.cjs.map +1 -0
  208. package/lib/cjs/contracts/crud/index.cjs +2 -2
  209. package/lib/cjs/contracts/crud/index.cjs.map +1 -0
  210. package/lib/cjs/contracts/crud/serialized-crud-contract.cjs +2 -2
  211. package/lib/cjs/contracts/crud/serialized-crud-contract.cjs.map +1 -0
  212. package/lib/cjs/contracts/erc20/erc20contract.cjs +2 -2
  213. package/lib/cjs/contracts/erc20/erc20contract.cjs.map +1 -0
  214. package/lib/cjs/contracts/erc20/index.cjs +2 -2
  215. package/lib/cjs/contracts/erc20/index.cjs.map +1 -0
  216. package/lib/cjs/contracts/erc20/models.cjs +2 -2
  217. package/lib/cjs/contracts/erc20/models.cjs.map +1 -0
  218. package/lib/cjs/contracts/fabric-overrides.cjs +65 -0
  219. package/lib/cjs/contracts/fabric-overrides.cjs.map +1 -0
  220. package/lib/cjs/contracts/index.cjs +3 -2
  221. package/lib/cjs/contracts/index.cjs.map +1 -0
  222. package/lib/cjs/contracts/logging.cjs +2 -2
  223. package/lib/cjs/contracts/logging.cjs.map +1 -0
  224. package/lib/cjs/contracts/overrides.cjs +2 -2
  225. package/lib/cjs/contracts/overrides.cjs.map +1 -0
  226. package/lib/cjs/contracts/types.cjs +2 -2
  227. package/lib/cjs/contracts/types.cjs.map +1 -0
  228. package/lib/cjs/contracts/uuid.cjs +2 -2
  229. package/lib/cjs/contracts/uuid.cjs.map +1 -0
  230. package/lib/cjs/index.cjs +2 -2
  231. package/lib/cjs/index.cjs.map +1 -0
  232. package/lib/cjs/shared/ClientSerializer.cjs +2 -2
  233. package/lib/cjs/shared/ClientSerializer.cjs.map +1 -0
  234. package/lib/cjs/shared/DeterministicSerializer.cjs +2 -2
  235. package/lib/cjs/shared/DeterministicSerializer.cjs.map +1 -0
  236. package/lib/cjs/shared/SimpleDeterministicSerializer.cjs +2 -2
  237. package/lib/cjs/shared/SimpleDeterministicSerializer.cjs.map +1 -0
  238. package/lib/cjs/shared/constants.cjs +2 -2
  239. package/lib/cjs/shared/constants.cjs.map +1 -0
  240. package/lib/cjs/shared/decorators.cjs +2 -2
  241. package/lib/cjs/shared/decorators.cjs.map +1 -0
  242. package/lib/cjs/shared/erc20/erc20-constants.cjs +2 -2
  243. package/lib/cjs/shared/erc20/erc20-constants.cjs.map +1 -0
  244. package/lib/cjs/shared/erc20/index.cjs +2 -2
  245. package/lib/cjs/shared/erc20/index.cjs.map +1 -0
  246. package/lib/cjs/shared/errors.cjs +2 -2
  247. package/lib/cjs/shared/errors.cjs.map +1 -0
  248. package/lib/cjs/shared/events.cjs +2 -2
  249. package/lib/cjs/shared/events.cjs.map +1 -0
  250. package/lib/cjs/shared/fabric-types.cjs +2 -2
  251. package/lib/cjs/shared/fabric-types.cjs.map +1 -0
  252. package/lib/cjs/shared/index.cjs +2 -2
  253. package/lib/cjs/shared/index.cjs.map +1 -0
  254. package/lib/cjs/shared/interfaces/Checkable.cjs +2 -2
  255. package/lib/cjs/shared/interfaces/Checkable.cjs.map +1 -0
  256. package/lib/cjs/shared/interfaces/index.cjs +2 -2
  257. package/lib/cjs/shared/interfaces/index.cjs.map +1 -0
  258. package/lib/cjs/shared/math.cjs +2 -2
  259. package/lib/cjs/shared/math.cjs.map +1 -0
  260. package/lib/cjs/shared/model/FabricBaseModel.cjs +2 -2
  261. package/lib/cjs/shared/model/FabricBaseModel.cjs.map +1 -0
  262. package/lib/cjs/shared/model/FabricIdentifiedBaseModel.cjs +2 -2
  263. package/lib/cjs/shared/model/FabricIdentifiedBaseModel.cjs.map +1 -0
  264. package/lib/cjs/shared/model/Identity.cjs +2 -2
  265. package/lib/cjs/shared/model/Identity.cjs.map +1 -0
  266. package/lib/cjs/shared/model/IdentityCredentials.cjs +2 -2
  267. package/lib/cjs/shared/model/IdentityCredentials.cjs.map +1 -0
  268. package/lib/cjs/shared/model/index.cjs +2 -2
  269. package/lib/cjs/shared/model/index.cjs.map +1 -0
  270. package/lib/cjs/shared/overrides/Model.cjs +2 -2
  271. package/lib/cjs/shared/overrides/Model.cjs.map +1 -0
  272. package/lib/cjs/shared/overrides/index.cjs +2 -2
  273. package/lib/cjs/shared/overrides/index.cjs.map +1 -0
  274. package/lib/cjs/shared/overrides/overrides.cjs +2 -2
  275. package/lib/cjs/shared/overrides/overrides.cjs.map +1 -0
  276. package/lib/cjs/shared/types.cjs +2 -2
  277. package/lib/cjs/shared/types.cjs.map +1 -0
  278. package/lib/cjs/version.cjs +3 -3
  279. package/lib/cjs/version.cjs.map +1 -0
  280. package/lib/esm/bin/cli.js +1 -1
  281. package/lib/esm/bin/cli.js.map +1 -0
  282. package/lib/esm/cli-module.js +106 -2
  283. package/lib/esm/cli-module.js.map +1 -0
  284. package/lib/esm/cli-utils.js +1 -1
  285. package/lib/esm/cli-utils.js.map +1 -0
  286. package/lib/esm/client/FabricClientAdapter.js +1 -1
  287. package/lib/esm/client/FabricClientAdapter.js.map +1 -0
  288. package/lib/esm/client/FabricClientDispatch.js +1 -1
  289. package/lib/esm/client/FabricClientDispatch.js.map +1 -0
  290. package/lib/esm/client/FabricClientPaginator.js +1 -1
  291. package/lib/esm/client/FabricClientPaginator.js.map +1 -0
  292. package/lib/esm/client/FabricClientRepository.js +1 -1
  293. package/lib/esm/client/FabricClientRepository.js.map +1 -0
  294. package/lib/esm/client/FabricClientStatement.js +1 -1
  295. package/lib/esm/client/FabricClientStatement.js.map +1 -0
  296. package/lib/esm/client/collections/generation.js +1 -1
  297. package/lib/esm/client/collections/generation.js.map +1 -0
  298. package/lib/esm/client/collections/index.js +1 -1
  299. package/lib/esm/client/collections/index.js.map +1 -0
  300. package/lib/esm/client/constants.js +1 -1
  301. package/lib/esm/client/constants.js.map +1 -0
  302. package/lib/esm/client/crypto.js +1 -1
  303. package/lib/esm/client/crypto.js.map +1 -0
  304. package/lib/esm/client/erc20/FabricERC20ClientRepository.js +1 -1
  305. package/lib/esm/client/erc20/FabricERC20ClientRepository.js.map +1 -0
  306. package/lib/esm/client/erc20/index.js +1 -1
  307. package/lib/esm/client/erc20/index.js.map +1 -0
  308. package/lib/esm/client/fabric-fs.js +1 -1
  309. package/lib/esm/client/fabric-fs.js.map +1 -0
  310. package/lib/esm/client/fabric-hsm.js +1 -1
  311. package/lib/esm/client/fabric-hsm.js.map +1 -0
  312. package/lib/esm/client/ids/id-extraction.js +1 -1
  313. package/lib/esm/client/ids/id-extraction.js.map +1 -0
  314. package/lib/esm/client/ids/index.js +1 -1
  315. package/lib/esm/client/ids/index.js.map +1 -0
  316. package/lib/esm/client/index.js +1 -1
  317. package/lib/esm/client/index.js.map +1 -0
  318. package/lib/esm/client/indexes/generation.js +8 -3
  319. package/lib/esm/client/indexes/generation.js.map +1 -0
  320. package/lib/esm/client/indexes/index.js +1 -1
  321. package/lib/esm/client/indexes/index.js.map +1 -0
  322. package/lib/esm/client/logging.js +1 -1
  323. package/lib/esm/client/logging.js.map +1 -0
  324. package/lib/esm/client/services/FabricEnrollmentService.js +1 -1
  325. package/lib/esm/client/services/FabricEnrollmentService.js.map +1 -0
  326. package/lib/esm/client/services/FabricIdentityService.js +1 -1
  327. package/lib/esm/client/services/FabricIdentityService.js.map +1 -0
  328. package/lib/esm/client/services/RegistrationRequestBuilder.js +1 -1
  329. package/lib/esm/client/services/RegistrationRequestBuilder.js.map +1 -0
  330. package/lib/esm/client/services/constants.js +1 -1
  331. package/lib/esm/client/services/constants.js.map +1 -0
  332. package/lib/esm/client/services/index.js +1 -1
  333. package/lib/esm/client/services/index.js.map +1 -0
  334. package/lib/esm/client/types.js +1 -1
  335. package/lib/esm/client/types.js.map +1 -0
  336. package/lib/esm/client/utils.js +1 -1
  337. package/lib/esm/client/utils.js.map +1 -0
  338. package/lib/esm/contract/Address.js +1 -1
  339. package/lib/esm/contract/Address.js.map +1 -0
  340. package/lib/esm/contract/AddressContract.js +1 -1
  341. package/lib/esm/contract/AddressContract.js.map +1 -0
  342. package/lib/esm/contract/AuditContract.js +1 -1
  343. package/lib/esm/contract/AuditContract.js.map +1 -0
  344. package/lib/esm/contract/BatchContract.js +1 -1
  345. package/lib/esm/contract/BatchContract.js.map +1 -0
  346. package/lib/esm/contract/MarketContract.js +1 -1
  347. package/lib/esm/contract/MarketContract.js.map +1 -0
  348. package/lib/esm/contract/OtherAuditContract.js +1 -1
  349. package/lib/esm/contract/OtherAuditContract.js.map +1 -0
  350. package/lib/esm/contract/OtherBatchContract.js +1 -1
  351. package/lib/esm/contract/OtherBatchContract.js.map +1 -0
  352. package/lib/esm/contract/OtherLeafletContract.js +63 -0
  353. package/lib/esm/contract/OtherLeafletContract.js.map +1 -0
  354. package/lib/esm/contract/OtherLeafletFileContract.js +67 -0
  355. package/lib/esm/contract/OtherLeafletFileContract.js.map +1 -0
  356. package/lib/esm/contract/OtherMarketContract.js +1 -1
  357. package/lib/esm/contract/OtherMarketContract.js.map +1 -0
  358. package/lib/esm/contract/OtherProductContract.js +1 -1
  359. package/lib/esm/contract/OtherProductContract.js.map +1 -0
  360. package/lib/esm/contract/OtherProductImageContract.js +1 -1
  361. package/lib/esm/contract/OtherProductImageContract.js.map +1 -0
  362. package/lib/esm/contract/OtherProductSharedContract.js +1 -1
  363. package/lib/esm/contract/OtherProductSharedContract.js.map +1 -0
  364. package/lib/esm/contract/OtherProductStrengthContract.js +1 -1
  365. package/lib/esm/contract/OtherProductStrengthContract.js.map +1 -0
  366. package/lib/esm/contract/Product.js +1 -1
  367. package/lib/esm/contract/Product.js.map +1 -0
  368. package/lib/esm/contract/ProductContract.js +1 -1
  369. package/lib/esm/contract/ProductContract.js.map +1 -0
  370. package/lib/esm/contract/ProductStrengthContract.js +1 -1
  371. package/lib/esm/contract/ProductStrengthContract.js.map +1 -0
  372. package/lib/esm/contract/SegregatedPrivateDocumentContract.js +1 -1
  373. package/lib/esm/contract/SegregatedPrivateDocumentContract.js.map +1 -0
  374. package/lib/esm/contract/SegregatedSharedDocumentContract.js +1 -1
  375. package/lib/esm/contract/SegregatedSharedDocumentContract.js.map +1 -0
  376. package/lib/esm/contract/User.js +1 -1
  377. package/lib/esm/contract/User.js.map +1 -0
  378. package/lib/esm/contract/UserContract.js +1 -1
  379. package/lib/esm/contract/UserContract.js.map +1 -0
  380. package/lib/esm/contract/index.js +19 -19
  381. package/lib/esm/contract/index.js.map +1 -0
  382. package/lib/esm/contract/logging-context.js +1 -1
  383. package/lib/esm/contract/logging-context.js.map +1 -0
  384. package/lib/esm/contract/models/Audit.js +1 -1
  385. package/lib/esm/contract/models/Audit.js.map +1 -0
  386. package/lib/esm/contract/models/BaseIdentifiedModel.js +1 -1
  387. package/lib/esm/contract/models/BaseIdentifiedModel.js.map +1 -0
  388. package/lib/esm/contract/models/BaseModel.js +1 -1
  389. package/lib/esm/contract/models/BaseModel.js.map +1 -0
  390. package/lib/esm/contract/models/Batch.js +1 -1
  391. package/lib/esm/contract/models/Batch.js.map +1 -0
  392. package/lib/esm/contract/models/GtinOwner.js +1 -1
  393. package/lib/esm/contract/models/GtinOwner.js.map +1 -0
  394. package/lib/esm/contract/models/History.js +1 -1
  395. package/lib/esm/contract/models/History.js.map +1 -0
  396. package/lib/esm/contract/models/Leaflet.js +1 -1
  397. package/lib/esm/contract/models/Leaflet.js.map +1 -0
  398. package/lib/esm/contract/models/LeafletFile.js +1 -1
  399. package/lib/esm/contract/models/LeafletFile.js.map +1 -0
  400. package/lib/esm/contract/models/Market.js +1 -1
  401. package/lib/esm/contract/models/Market.js.map +1 -0
  402. package/lib/esm/contract/models/OtherAudit.js +2 -2
  403. package/lib/esm/contract/models/OtherAudit.js.map +1 -0
  404. package/lib/esm/contract/models/OtherBatchShared.js +139 -31
  405. package/lib/esm/contract/models/OtherBatchShared.js.map +1 -0
  406. package/lib/esm/contract/models/OtherLeaflet.js +2 -2
  407. package/lib/esm/contract/models/OtherLeaflet.js.map +1 -0
  408. package/lib/esm/contract/models/OtherLeafletFile.js +2 -2
  409. package/lib/esm/contract/models/OtherLeafletFile.js.map +1 -0
  410. package/lib/esm/contract/models/OtherMarket.js +2 -2
  411. package/lib/esm/contract/models/OtherMarket.js.map +1 -0
  412. package/lib/esm/contract/models/OtherProduct.js +2 -2
  413. package/lib/esm/contract/models/OtherProduct.js.map +1 -0
  414. package/lib/esm/contract/models/OtherProductImage.js +2 -2
  415. package/lib/esm/contract/models/OtherProductImage.js.map +1 -0
  416. package/lib/esm/contract/models/OtherProductShared.js +2 -2
  417. package/lib/esm/contract/models/OtherProductShared.js.map +1 -0
  418. package/lib/esm/contract/models/OtherProductStrength.js +2 -4
  419. package/lib/esm/contract/models/OtherProductStrength.js.map +1 -0
  420. package/lib/esm/contract/models/Product.js +1 -1
  421. package/lib/esm/contract/models/Product.js.map +1 -0
  422. package/lib/esm/contract/models/ProductStrength.js +1 -1
  423. package/lib/esm/contract/models/ProductStrength.js.map +1 -0
  424. package/lib/esm/contract/models/SegregatedDocument.js +1 -1
  425. package/lib/esm/contract/models/SegregatedDocument.js.map +1 -0
  426. package/lib/esm/contract/models/constants.js +1 -1
  427. package/lib/esm/contract/models/constants.js.map +1 -0
  428. package/lib/esm/contract/models/decorators-private.js +1 -1
  429. package/lib/esm/contract/models/decorators-private.js.map +1 -0
  430. package/lib/esm/contract/models/decorators.js +1 -1
  431. package/lib/esm/contract/models/decorators.js.map +1 -0
  432. package/lib/esm/contract/models/gtin.js +1 -1
  433. package/lib/esm/contract/models/gtin.js.map +1 -0
  434. package/lib/esm/contract/models/history-dec.js +1 -1
  435. package/lib/esm/contract/models/history-dec.js.map +1 -0
  436. package/lib/esm/contract/trackedModels/History.js +72 -0
  437. package/lib/esm/contract/trackedModels/History.js.map +1 -0
  438. package/lib/esm/contract/trackedModels/OtherAudit.js +115 -0
  439. package/lib/esm/contract/trackedModels/OtherAudit.js.map +1 -0
  440. package/lib/esm/contract/trackedModels/OtherLeaflet.js +112 -0
  441. package/lib/esm/contract/trackedModels/OtherLeaflet.js.map +1 -0
  442. package/lib/esm/contract/trackedModels/OtherLeafletFile.js +62 -0
  443. package/lib/esm/contract/trackedModels/OtherLeafletFile.js.map +1 -0
  444. package/lib/esm/contract/trackedModels/OtherMarket.js +81 -0
  445. package/lib/esm/contract/trackedModels/OtherMarket.js.map +1 -0
  446. package/lib/esm/contract/trackedModels/OtherProduct.js +74 -0
  447. package/lib/esm/contract/trackedModels/OtherProduct.js.map +1 -0
  448. package/lib/esm/contract/trackedModels/OtherProductImage.js +56 -0
  449. package/lib/esm/contract/trackedModels/OtherProductImage.js.map +1 -0
  450. package/lib/esm/contract/trackedModels/OtherProductShared.js +96 -0
  451. package/lib/esm/contract/trackedModels/OtherProductShared.js.map +1 -0
  452. package/lib/esm/contract/trackedModels/OtherProductStrength.js +82 -0
  453. package/lib/esm/contract/trackedModels/OtherProductStrength.js.map +1 -0
  454. package/lib/esm/contracts/ContractAdapter.js +1 -1
  455. package/lib/esm/contracts/ContractAdapter.js.map +1 -0
  456. package/lib/esm/contracts/ContractContext.js +1 -1
  457. package/lib/esm/contracts/ContractContext.js.map +1 -0
  458. package/lib/esm/contracts/FabricContractDispatch.js +1 -1
  459. package/lib/esm/contracts/FabricContractDispatch.js.map +1 -0
  460. package/lib/esm/contracts/FabricContractPaginator.js +1 -1
  461. package/lib/esm/contracts/FabricContractPaginator.js.map +1 -0
  462. package/lib/esm/contracts/FabricContractRepository.js +1 -1
  463. package/lib/esm/contracts/FabricContractRepository.js.map +1 -0
  464. package/lib/esm/contracts/FabricContractRepositoryObservableHandler.js +1 -1
  465. package/lib/esm/contracts/FabricContractRepositoryObservableHandler.js.map +1 -0
  466. package/lib/esm/contracts/FabricContractSequence.js +1 -1
  467. package/lib/esm/contracts/FabricContractSequence.js.map +1 -0
  468. package/lib/esm/contracts/FabricContractStatement.js +1 -1
  469. package/lib/esm/contracts/FabricContractStatement.js.map +1 -0
  470. package/lib/esm/contracts/MigrationContract.js +1 -1
  471. package/lib/esm/contracts/MigrationContract.js.map +1 -0
  472. package/lib/esm/contracts/PrivateSequence.js +1 -1
  473. package/lib/esm/contracts/PrivateSequence.js.map +1 -0
  474. package/lib/esm/contracts/auth/decorators.js +1 -1
  475. package/lib/esm/contracts/auth/decorators.js.map +1 -0
  476. package/lib/esm/contracts/auth/index.js +1 -1
  477. package/lib/esm/contracts/auth/index.js.map +1 -0
  478. package/lib/esm/contracts/bootstrap.js +11 -0
  479. package/lib/esm/contracts/bootstrap.js.map +1 -0
  480. package/lib/esm/contracts/crud/crud-contract.js +2 -1
  481. package/lib/esm/contracts/crud/crud-contract.js.map +1 -0
  482. package/lib/esm/contracts/crud/index.js +1 -1
  483. package/lib/esm/contracts/crud/index.js.map +1 -0
  484. package/lib/esm/contracts/crud/serialized-crud-contract.js +1 -1
  485. package/lib/esm/contracts/crud/serialized-crud-contract.js.map +1 -0
  486. package/lib/esm/contracts/erc20/erc20contract.js +1 -1
  487. package/lib/esm/contracts/erc20/erc20contract.js.map +1 -0
  488. package/lib/esm/contracts/erc20/index.js +1 -1
  489. package/lib/esm/contracts/erc20/index.js.map +1 -0
  490. package/lib/esm/contracts/erc20/models.js +1 -1
  491. package/lib/esm/contracts/erc20/models.js.map +1 -0
  492. package/lib/esm/contracts/fabric-overrides.js +61 -0
  493. package/lib/esm/contracts/fabric-overrides.js.map +1 -0
  494. package/lib/esm/contracts/index.js +2 -1
  495. package/lib/esm/contracts/index.js.map +1 -0
  496. package/lib/esm/contracts/logging.js +1 -1
  497. package/lib/esm/contracts/logging.js.map +1 -0
  498. package/lib/esm/contracts/overrides.js +1 -1
  499. package/lib/esm/contracts/overrides.js.map +1 -0
  500. package/lib/esm/contracts/types.js +1 -1
  501. package/lib/esm/contracts/types.js.map +1 -0
  502. package/lib/esm/contracts/uuid.js +1 -1
  503. package/lib/esm/contracts/uuid.js.map +1 -0
  504. package/lib/esm/index.js +1 -1
  505. package/lib/esm/index.js.map +1 -0
  506. package/lib/esm/shared/ClientSerializer.js +1 -1
  507. package/lib/esm/shared/ClientSerializer.js.map +1 -0
  508. package/lib/esm/shared/DeterministicSerializer.js +1 -1
  509. package/lib/esm/shared/DeterministicSerializer.js.map +1 -0
  510. package/lib/esm/shared/SimpleDeterministicSerializer.js +1 -1
  511. package/lib/esm/shared/SimpleDeterministicSerializer.js.map +1 -0
  512. package/lib/esm/shared/constants.js +1 -1
  513. package/lib/esm/shared/constants.js.map +1 -0
  514. package/lib/esm/shared/decorators.js +1 -1
  515. package/lib/esm/shared/decorators.js.map +1 -0
  516. package/lib/esm/shared/erc20/erc20-constants.js +1 -1
  517. package/lib/esm/shared/erc20/erc20-constants.js.map +1 -0
  518. package/lib/esm/shared/erc20/index.js +1 -1
  519. package/lib/esm/shared/erc20/index.js.map +1 -0
  520. package/lib/esm/shared/errors.js +1 -1
  521. package/lib/esm/shared/errors.js.map +1 -0
  522. package/lib/esm/shared/events.js +1 -1
  523. package/lib/esm/shared/events.js.map +1 -0
  524. package/lib/esm/shared/fabric-types.js +1 -1
  525. package/lib/esm/shared/fabric-types.js.map +1 -0
  526. package/lib/esm/shared/index.js +1 -1
  527. package/lib/esm/shared/index.js.map +1 -0
  528. package/lib/esm/shared/interfaces/Checkable.js +1 -1
  529. package/lib/esm/shared/interfaces/Checkable.js.map +1 -0
  530. package/lib/esm/shared/interfaces/index.js +1 -1
  531. package/lib/esm/shared/interfaces/index.js.map +1 -0
  532. package/lib/esm/shared/math.js +1 -1
  533. package/lib/esm/shared/math.js.map +1 -0
  534. package/lib/esm/shared/model/FabricBaseModel.js +1 -1
  535. package/lib/esm/shared/model/FabricBaseModel.js.map +1 -0
  536. package/lib/esm/shared/model/FabricIdentifiedBaseModel.js +1 -1
  537. package/lib/esm/shared/model/FabricIdentifiedBaseModel.js.map +1 -0
  538. package/lib/esm/shared/model/Identity.js +1 -1
  539. package/lib/esm/shared/model/Identity.js.map +1 -0
  540. package/lib/esm/shared/model/IdentityCredentials.js +1 -1
  541. package/lib/esm/shared/model/IdentityCredentials.js.map +1 -0
  542. package/lib/esm/shared/model/index.js +1 -1
  543. package/lib/esm/shared/model/index.js.map +1 -0
  544. package/lib/esm/shared/overrides/Model.js +1 -1
  545. package/lib/esm/shared/overrides/Model.js.map +1 -0
  546. package/lib/esm/shared/overrides/index.js +1 -1
  547. package/lib/esm/shared/overrides/index.js.map +1 -0
  548. package/lib/esm/shared/overrides/overrides.js +1 -1
  549. package/lib/esm/shared/overrides/overrides.js.map +1 -0
  550. package/lib/esm/shared/types.js +1 -1
  551. package/lib/esm/shared/types.js.map +1 -0
  552. package/lib/esm/version.js +2 -2
  553. package/lib/esm/version.js.map +1 -0
  554. package/lib/types/contract/OtherLeafletContract.d.cts +18 -0
  555. package/lib/types/contract/OtherLeafletContract.d.mts +18 -0
  556. package/lib/types/contract/OtherLeafletFileContract.d.cts +17 -0
  557. package/lib/types/contract/OtherLeafletFileContract.d.mts +17 -0
  558. package/lib/types/contract/index.d.cts +1 -0
  559. package/lib/types/contract/index.d.mts +1 -0
  560. package/lib/types/contract/models/OtherBatchShared.d.cts +43 -6
  561. package/lib/types/contract/models/OtherBatchShared.d.mts +43 -6
  562. package/lib/types/contract/trackedModels/History.d.cts +9 -0
  563. package/lib/types/contract/trackedModels/History.d.mts +9 -0
  564. package/lib/types/contract/trackedModels/OtherAudit.d.cts +15 -0
  565. package/lib/types/contract/trackedModels/OtherAudit.d.mts +15 -0
  566. package/lib/types/contract/trackedModels/OtherLeaflet.d.cts +16 -0
  567. package/lib/types/contract/trackedModels/OtherLeaflet.d.mts +16 -0
  568. package/lib/types/contract/trackedModels/OtherLeafletFile.d.cts +10 -0
  569. package/lib/types/contract/trackedModels/OtherLeafletFile.d.mts +10 -0
  570. package/lib/types/contract/trackedModels/OtherMarket.d.cts +13 -0
  571. package/lib/types/contract/trackedModels/OtherMarket.d.mts +13 -0
  572. package/lib/types/contract/trackedModels/OtherProduct.d.cts +12 -0
  573. package/lib/types/contract/trackedModels/OtherProduct.d.mts +12 -0
  574. package/lib/types/contract/trackedModels/OtherProductImage.d.cts +9 -0
  575. package/lib/types/contract/trackedModels/OtherProductImage.d.mts +9 -0
  576. package/lib/types/contract/trackedModels/OtherProductShared.d.cts +18 -0
  577. package/lib/types/contract/trackedModels/OtherProductShared.d.mts +18 -0
  578. package/lib/types/contract/trackedModels/OtherProductStrength.d.cts +12 -0
  579. package/lib/types/contract/trackedModels/OtherProductStrength.d.mts +12 -0
  580. package/lib/types/contracts/bootstrap.d.cts +10 -0
  581. package/lib/types/contracts/bootstrap.d.mts +10 -0
  582. package/lib/types/contracts/crud/crud-contract.d.cts +1 -0
  583. package/lib/types/contracts/crud/crud-contract.d.mts +1 -0
  584. package/lib/types/contracts/fabric-overrides.d.cts +1 -0
  585. package/lib/types/contracts/fabric-overrides.d.mts +1 -0
  586. package/lib/types/contracts/index.d.cts +1 -0
  587. package/lib/types/contracts/index.d.mts +1 -0
  588. package/lib/types/version.d.cts +1 -1
  589. package/lib/types/version.d.mts +1 -1
  590. package/package.json +31 -5
@@ -149,5 +149,5 @@ exports.MigrationContract = MigrationContract = MigrationContract_1 = __decorate
149
149
  }),
150
150
  __metadata("design:paramtypes", [])
151
151
  ], MigrationContract);
152
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWlncmF0aW9uQ29udHJhY3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udHJhY3RzL01pZ3JhdGlvbkNvbnRyYWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEVBQ0wsT0FBTyxJQUFJLEdBQUcsRUFDZCxRQUFRLEVBQ1IsSUFBSSxFQUNKLFdBQVcsR0FDWixNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFBZSxRQUFRLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM3RCxPQUFPLEVBQ0wsT0FBTyxFQUdQLGNBQWMsRUFDZCxlQUFlLEdBQ2hCLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxFQUVMLHFCQUFxQixHQUN0Qiw2QkFBMEI7QUFDM0IsT0FBTyxFQUNMLGFBQWEsRUFFYixtQkFBbUIsR0FDcEIsNkJBQXdCO0FBQ3pCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUV4RCxPQUFPLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSx3QkFBbUI7QUFNNUMsSUFBTSxpQkFBaUIseUJBQXZCLE1BQU0saUJBQWtCLFNBQVEsUUFBUTtJQUs3QztRQUNFLEtBQUssQ0FBQyxtQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUh0QixnQkFBVyxHQUFZLEtBQUssQ0FBQztJQUl2QyxDQUFDO0lBRUQsSUFBYyxPQUFPO1FBQ25CLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbkIsSUFBSSxDQUFDO2dCQUNILElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQVEsQ0FBQztnQkFDbEQsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRO29CQUNoQixNQUFNLElBQUksYUFBYSxDQUFDLHVDQUF1QyxDQUFDLENBQUM7Z0JBQ25FLDZEQUE2RDtZQUMvRCxDQUFDO1lBQUMsT0FBTyxDQUFVLEVBQUUsQ0FBQztn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QUFZLE9BQU8sQ0FBQztZQUFFLE9BQU8sVUFBVSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQzVFLE9BQU8sY0FBYyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN6QyxDQUFDO0NBQ0YsQ0FBQTtBQXZLTztJQURMLFdBQVcsRUFBRTs7cUNBRUgsR0FBRzs7Z0RBb0RiO0FBakZVLGlCQUFpQjtJQUo3QixJQUFJLENBQUM7UUFDSixLQUFLLEVBQUUsbUJBQW1CO1FBQzFCLFdBQVcsRUFBRSx1Q0FBdUM7S0FDckQsQ0FBQzs7R0FDVyxpQkFBaUIsQ0FtTTdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29udGV4dCBhcyBDdHgsXG4gIENvbnRyYWN0LFxuICBJbmZvLFxuICBUcmFuc2FjdGlvbixcbn0gZnJvbSBcImZhYnJpYy1jb250cmFjdC1hcGlcIjtcbmltcG9ydCB7IENvbnN0cnVjdG9yLCBNZXRhZGF0YSB9IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdGlvblwiO1xuaW1wb3J0IHtcbiAgQWRhcHRlcixcbiAgTWF5YmVDb250ZXh0dWFsQXJnLFxuICBNZXRob2RPck9wZXJhdGlvbixcbiAgTWlncmF0aW9uRXJyb3IsXG4gIFBlcnNpc3RlbmNlS2V5cyxcbn0gZnJvbSBcIkBkZWNhZi10cy9jb3JlXCI7XG5pbXBvcnQgeyBNaWdyYXRpb24gfSBmcm9tIFwiQGRlY2FmLXRzL2NvcmVcIjtcbmltcG9ydCB7XG4gIEZhYnJpY0NvbnRleHR1YWxpemVkQXJncyxcbiAgRmFicmljQ29udHJhY3RBZGFwdGVyLFxufSBmcm9tIFwiLi9Db250cmFjdEFkYXB0ZXJcIjtcbmltcG9ydCB7XG4gIEZhYnJpY0ZsYXZvdXIsXG4gIGhlYWx0aGNoZWNrLFxuICBNaXNzaW5nQ29udGV4dEVycm9yLFxufSBmcm9tIFwiLi4vc2hhcmVkL2luZGV4XCI7XG5pbXBvcnQgeyBJbnRlcm5hbEVycm9yIH0gZnJvbSBcIkBkZWNhZi10cy9kYi1kZWNvcmF0b3JzXCI7XG5pbXBvcnQgeyBGYWJyaWNDb250cmFjdENvbnRleHQgfSBmcm9tIFwiLi9Db250cmFjdENvbnRleHRcIjtcbmltcG9ydCB7IFZFUlNJT04sIFBBQ0tBR0VfTkFNRSB9IGZyb20gXCIuLi92ZXJzaW9uXCI7XG5cbkBJbmZvKHtcbiAgdGl0bGU6IFwiTWlncmF0aW9uQ29udHJhY3RcIixcbiAgZGVzY3JpcHRpb246IFwiQ29udHJhY3QgZm9yIG1hbmFnaW5nIGRhdGEgbWlncmF0aW9uc1wiLFxufSlcbmV4cG9ydCBjbGFzcyBNaWdyYXRpb25Db250cmFjdCBleHRlbmRzIENvbnRyYWN0IHtcbiAgcHJpdmF0ZSBfYWRhcHRlcj86IEZhYnJpY0NvbnRyYWN0QWRhcHRlcjtcblxuICBwcm90ZWN0ZWQgaW5pdGlhbGl6ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcihNaWdyYXRpb25Db250cmFjdC5uYW1lKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgYWRhcHRlcigpIHtcbiAgICBpZiAoIXRoaXMuX2FkYXB0ZXIpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHRoaXMuX2FkYXB0ZXIgPSBBZGFwdGVyLmdldChGYWJyaWNGbGF2b3VyKSBhcyBhbnk7XG4gICAgICAgIGlmICghdGhpcy5fYWRhcHRlcilcbiAgICAgICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihgZmFpbGVkIHRvIGxvYWQgYWRhcHRlci4gaW5zdGFudGlhdGlvbmApO1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gICAgICB9IGNhdGNoIChlOiB1bmtub3duKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgdGhpcy5fYWRhcHRlciA9IG5ldyBGYWJyaWNDb250cmFjdEFkYXB0ZXIoKTtcbiAgICAgICAgfSBjYXRjaCAoZTogdW5rbm93bikge1xuICAgICAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKGBGYWlsZWQgdG8gaW5zdGFudGlhdGUgYWRhcHRlcjogJHtlfWApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9hZGFwdGVyO1xuICB9XG5cbiAgQFRyYW5zYWN0aW9uKClcbiAgYXN5bmMgbWlncmF0ZShcbiAgICBjb250ZXh0OiBDdHgsXG4gICAgcmVmZXJlbmNlOiBzdHJpbmcsXG4gICAgbWlncmF0aW9uQXJncz86IHN0cmluZ1xuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBsZXQgYXJnejogYW55W10gPSBbXTtcbiAgICBpZiAobWlncmF0aW9uQXJncykge1xuICAgICAgYXJneiA9IEpTT04ucGFyc2UobWlncmF0aW9uQXJncykgYXMgYW55O1xuICAgICAgaWYgKCFBcnJheS5pc0FycmF5KGFyZ3opKSB7XG4gICAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKFwiTWlncmF0aW9uIGFyZ3VtZW50cyBtdXN0IGJlIGFuIGFycmF5XCIpO1xuICAgICAgfVxuICAgIH1cbiAgICBjb25zdCB7IGxvZywgY3R4LCBjdHhBcmdzIH0gPSAoXG4gICAgICBhd2FpdCB0aGlzLmxvZ0N0eChbLi4uYXJneiwgY29udGV4dF0sIFBlcnNpc3RlbmNlS2V5cy5NSUdSQVRJT04sIHRydWUpXG4gICAgKS5mb3IodGhpcy5taWdyYXRlKTtcblxuICAgIGNvbnN0IG1pZ3JhdGlvbnMgPSB0aGlzLmdldFJlZ2lzdGVyZWRNaWdyYXRpb25zKGN0eCk7XG5cbiAgICBjb25zdCBtaWdyYXRpb25NZXRhID0gbWlncmF0aW9ucy5maW5kKChtKSA9PiBtLnJlZmVyZW5jZSA9PT0gcmVmZXJlbmNlKTtcblxuICAgIGlmICghbWlncmF0aW9uTWV0YSkge1xuICAgICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoYE1pZ3JhdGlvbiAke3JlZmVyZW5jZX0gbm90IGZvdW5kYCk7XG4gICAgfVxuXG4gICAgbG9nLnZlcmJvc2UoYG1pZ3JhdGlvbiAke3JlZmVyZW5jZX0gZm91bmRgKTtcbiAgICBjb25zdCBNaWdyYXRpb25DbGFzczogQ29uc3RydWN0b3I8TWlncmF0aW9uPGFueSwgYW55Pj4gPVxuICAgICAgbWlncmF0aW9uTWV0YS5jbGFzcztcbiAgICBjb25zdCBtID0gbmV3IE1pZ3JhdGlvbkNsYXNzKCk7XG4gICAgLy8gRm9yIEZhYnJpYywgdXNlIHRoZSBjb250ZXh0IGFzIHRoZSBxdWVyeSBydW5uZXJcbiAgICBjb25zdCBxcjogYW55ID0gY3R4O1xuXG4gICAgdHJ5IHtcbiAgICAgIGxvZy52ZXJib3NlKGBtaWdyYXRpb24gJHtyZWZlcmVuY2V9IHVwYCk7XG4gICAgICBhd2FpdCBtLnVwKHFyLCB0aGlzLmFkYXB0ZXIsIC4uLmN0eEFyZ3MpO1xuICAgIH0gY2F0Y2ggKGU6IHVua25vd24pIHtcbiAgICAgIHRocm93IG5ldyBNaWdyYXRpb25FcnJvcihcbiAgICAgICAgYGZhaWxlZCB0byBpbml0aWFsaXplIG1pZ3JhdGlvbiAke20ucmVmZXJlbmNlfTogJHtlfWBcbiAgICAgICk7XG4gICAgfVxuICAgIHRyeSB7XG4gICAgICBsb2cudmVyYm9zZShgbWlncmF0aW9uICR7cmVmZXJlbmNlfSBtaWdyYXRlYCk7XG4gICAgICBhd2FpdCBtLm1pZ3JhdGUocXIsIHRoaXMuYWRhcHRlciwgLi4uY3R4QXJncyk7XG4gICAgfSBjYXRjaCAoZTogdW5rbm93bikge1xuICAgICAgdGhyb3cgbmV3IE1pZ3JhdGlvbkVycm9yKGBmYWlsZWQgdG8gbWlncmF0ZSAke20ucmVmZXJlbmNlfTogJHtlfWApO1xuICAgIH1cbiAgICB0cnkge1xuICAgICAgbG9nLnZlcmJvc2UoYG1pZ3JhdGlvbiAke3JlZmVyZW5jZX0gZG93bmApO1xuICAgICAgYXdhaXQgbS5kb3duKHFyLCB0aGlzLmFkYXB0ZXIsIC4uLmN0eEFyZ3MpO1xuICAgIH0gY2F0Y2ggKGU6IHVua25vd24pIHtcbiAgICAgIHRocm93IG5ldyBNaWdyYXRpb25FcnJvcihcbiAgICAgICAgYGZhaWxlZCB0byBjb25jbHVkZSBtaWdyYXRpb24gJHttLnJlZmVyZW5jZX06ICR7ZX1gXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRSZWdpc3RlcmVkTWlncmF0aW9ucyhjb250ZXh0OiBGYWJyaWNDb250cmFjdENvbnRleHQpOiBBcnJheTx7XG4gICAgY2xhc3M6IGFueTtcbiAgICByZWZlcmVuY2U6IHN0cmluZztcbiAgICBmbGF2b3VyOiBzdHJpbmc7XG4gIH0+IHtcbiAgICBjb25zdCBtaWdyYXRpb25zOiBBcnJheTx7XG4gICAgICBjbGFzczogYW55O1xuICAgICAgcmVmZXJlbmNlOiBzdHJpbmc7XG4gICAgICBmbGF2b3VyOiBzdHJpbmc7XG4gICAgfT4gPSBbXTtcblxuICAgIGNvbnN0IG1pZ3JhdGlvbkxpc3QgPSAoTWV0YWRhdGEgYXMgYW55KS5taWdyYXRpb25zKCk7XG5cbiAgICBmb3IgKGNvbnN0IFtuYW1lLCBNaWdyYXRpb25DbGFzc10gb2YgbWlncmF0aW9uTGlzdCkge1xuICAgICAgY29uc3QgbWV0YSA9IE1ldGFkYXRhLmdldChNaWdyYXRpb25DbGFzcywgUGVyc2lzdGVuY2VLZXlzLk1JR1JBVElPTik7XG5cbiAgICAgIGlmICghbWV0YSkgY29udGludWU7XG5cbiAgICAgIGlmIChtZXRhLmZsYXZvdXIgIT09IEZhYnJpY0ZsYXZvdXIpIGNvbnRpbnVlO1xuXG4gICAgICBtaWdyYXRpb25zLnB1c2goe1xuICAgICAgICBjbGFzczogTWlncmF0aW9uQ2xhc3MsXG4gICAgICAgIHJlZmVyZW5jZTogbWV0YS5yZWZlcmVuY2UsXG4gICAgICAgIGZsYXZvdXI6IG1ldGEuZmxhdm91cixcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiBtaWdyYXRpb25zO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFzeW5jIGluaXQoY3R4OiBDdHggfCBGYWJyaWNDb250cmFjdENvbnRleHQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCB7IGxvZyB9ID0gKFxuICAgICAgYXdhaXQgdGhpcy5sb2dDdHgoW2N0eF0sIFBlcnNpc3RlbmNlS2V5cy5JTklUSUFMSVpBVElPTiwgdHJ1ZSlcbiAgICApLmZvcih0aGlzLmluaXQpO1xuICAgIGxvZy5pbmZvKGBSdW5uaW5nIGNvbnRyYWN0ICR7dGhpcy5nZXROYW1lKCl9IGluaXRpYWxpemF0aW9uLi4uYCk7XG4gICAgdGhpcy5pbml0aWFsaXplZCA9IHRydWU7XG4gICAgbG9nLmluZm8oYENvbnRyYWN0IGluaXRpYWxpemF0aW9uIGNvbXBsZXRlZC5gKTtcbiAgfVxuXG4gIGFzeW5jIGhlYWx0aGNoZWNrKFxuICAgIGN0eDogQ3R4IHwgRmFicmljQ29udHJhY3RDb250ZXh0XG4gICk6IFByb21pc2U8c3RyaW5nIHwgaGVhbHRoY2hlY2s+IHtcbiAgICBjb25zdCB7IGxvZyB9ID0gKGF3YWl0IHRoaXMubG9nQ3R4KFtjdHhdLCBcImhlYWx0aGNoZWNrXCIsIHRydWUpKS5mb3IoXG4gICAgICB0aGlzLmhlYWx0aGNoZWNrXG4gICAgKTtcbiAgICBsb2cuaW5mbyhgUnVubmluZyBIZWFsdGhjaGVjazogJHt0aGlzLmluaXRpYWxpemVkfS4uLmApO1xuICAgIHJldHVybiB7XG4gICAgICBoZWFsdGhjaGVjazogdGhpcy5pbml0aWFsaXplZCxcbiAgICAgIHZlcnNpb246IFZFUlNJT04sXG4gICAgICBwYWNrYWdlOiBQQUNLQUdFX05BTUUsXG4gICAgfTtcbiAgfVxuXG4gIHByb3RlY3RlZCBsb2dDdHg8XG4gICAgQVJHUyBleHRlbmRzIGFueVtdID0gYW55W10sXG4gICAgTUVUSE9EIGV4dGVuZHMgTWV0aG9kT3JPcGVyYXRpb24gPSBNZXRob2RPck9wZXJhdGlvbixcbiAgPihcbiAgICBhcmdzOiBNYXliZUNvbnRleHR1YWxBcmc8RmFicmljQ29udHJhY3RDb250ZXh0LCBBUkdTPixcbiAgICBvcGVyYXRpb246IE1FVEhPRFxuICApOiBGYWJyaWNDb250ZXh0dWFsaXplZEFyZ3M8QVJHUywgTUVUSE9EIGV4dGVuZHMgc3RyaW5nID8gdHJ1ZSA6IGZhbHNlPjtcbiAgcHJvdGVjdGVkIGxvZ0N0eDxcbiAgICBBUkdTIGV4dGVuZHMgYW55W10gPSBhbnlbXSxcbiAgICBNRVRIT0QgZXh0ZW5kcyBNZXRob2RPck9wZXJhdGlvbiA9IE1ldGhvZE9yT3BlcmF0aW9uLFxuICA+KFxuICAgIGFyZ3M6IE1heWJlQ29udGV4dHVhbEFyZzxGYWJyaWNDb250cmFjdENvbnRleHQsIEFSR1M+LFxuICAgIG9wZXJhdGlvbjogTUVUSE9ELFxuICAgIGFsbG93Q3JlYXRlOiBmYWxzZVxuICApOiBGYWJyaWNDb250ZXh0dWFsaXplZEFyZ3M8QVJHUywgTUVUSE9EIGV4dGVuZHMgc3RyaW5nID8gdHJ1ZSA6IGZhbHNlPjtcbiAgcHJvdGVjdGVkIGxvZ0N0eDxcbiAgICBBUkdTIGV4dGVuZHMgYW55W10gPSBhbnlbXSxcbiAgICBNRVRIT0QgZXh0ZW5kcyBNZXRob2RPck9wZXJhdGlvbiA9IE1ldGhvZE9yT3BlcmF0aW9uLFxuICA+KFxuICAgIGFyZ3M6IE1heWJlQ29udGV4dHVhbEFyZzxGYWJyaWNDb250cmFjdENvbnRleHQsIEFSR1M+LFxuICAgIG9wZXJhdGlvbjogTUVUSE9ELFxuICAgIGFsbG93Q3JlYXRlOiB0cnVlXG4gICk6IFByb21pc2U8XG4gICAgRmFicmljQ29udGV4dHVhbGl6ZWRBcmdzPEFSR1MsIE1FVEhPRCBleHRlbmRzIHN0cmluZyA/IHRydWUgOiBmYWxzZT5cbiAgPjtcbiAgcHJvdGVjdGVkIGxvZ0N0eDxcbiAgICBBUkdTIGV4dGVuZHMgYW55W10gPSBhbnlbXSxcbiAgICBNRVRIT0QgZXh0ZW5kcyBNZXRob2RPck9wZXJhdGlvbiA9IE1ldGhvZE9yT3BlcmF0aW9uLFxuICA+KFxuICAgIGFyZ3M6IE1heWJlQ29udGV4dHVhbEFyZzxGYWJyaWNDb250cmFjdENvbnRleHQsIEFSR1M+LFxuICAgIG9wZXJhdGlvbjogTUVUSE9ELFxuICAgIGFsbG93Q3JlYXRlOiBib29sZWFuID0gZmFsc2VcbiAgKTpcbiAgICB8IFByb21pc2U8XG4gICAgICAgIEZhYnJpY0NvbnRleHR1YWxpemVkQXJnczxBUkdTLCBNRVRIT0QgZXh0ZW5kcyBzdHJpbmcgPyB0cnVlIDogZmFsc2U+XG4gICAgICA+XG4gICAgfCBGYWJyaWNDb250ZXh0dWFsaXplZEFyZ3M8QVJHUywgTUVUSE9EIGV4dGVuZHMgc3RyaW5nID8gdHJ1ZSA6IGZhbHNlPiB7XG4gICAgY29uc3QgY3R4ID0gYXJncy5wb3AoKTtcbiAgICBpZiAoIWN0eCB8fCAhY3R4LnN0dWIpIHtcbiAgICAgIHRocm93IG5ldyBNaXNzaW5nQ29udGV4dEVycm9yKGBObyB2YWxpZCBjb250ZXh0IHByb3ZpZGVkLi4uYCk7XG4gICAgfVxuICAgIGNvbnN0IGNvbnRleHR1YWxpemVkID0gdGhpcy5hZGFwdGVyW1wibG9nQ3R4XCJdKFxuICAgICAgW3VuZGVmaW5lZCwgLi4uYXJnc10gYXMgYW55LFxuICAgICAgb3BlcmF0aW9uLFxuICAgICAgYWxsb3dDcmVhdGUgYXMgYW55LFxuICAgICAgY3R4XG4gICAgKSBhc1xuICAgICAgfCBGYWJyaWNDb250ZXh0dWFsaXplZEFyZ3M8QVJHUywgTUVUSE9EIGV4dGVuZHMgc3RyaW5nID8gdHJ1ZSA6IGZhbHNlPlxuICAgICAgfCBQcm9taXNlPFxuICAgICAgICAgIEZhYnJpY0NvbnRleHR1YWxpemVkQXJnczxBUkdTLCBNRVRIT0QgZXh0ZW5kcyBzdHJpbmcgPyB0cnVlIDogZmFsc2U+XG4gICAgICAgID47XG4gICAgZnVuY3Rpb24gc3F1YXNoQXJncyhjdHg6IEZhYnJpY0NvbnRleHR1YWxpemVkQXJncykge1xuICAgICAgY3R4LmN0eEFyZ3Muc2hpZnQoKTsgLy8gcmVtb3ZlcyBhZGRlZCBtb2RlbCB0byBhcmdzXG4gICAgICByZXR1cm4gY3R4IGFzIGFueTtcbiAgICB9XG5cbiAgICBpZiAoIShjb250ZXh0dWFsaXplZCBpbnN0YW5jZW9mIFByb21pc2UpKSByZXR1cm4gc3F1YXNoQXJncyhjb250ZXh0dWFsaXplZCk7XG4gICAgcmV0dXJuIGNvbnRleHR1YWxpemVkLnRoZW4oc3F1YXNoQXJncyk7XG4gIH1cbn1cbiJdfQ==
153
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWlncmF0aW9uQ29udHJhY3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJNaWdyYXRpb25Db250cmFjdC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxJQUFJLFVBQVUsR0FBRyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksVUFBVSxVQUFVLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxJQUFJO0lBQ2pGLElBQUksQ0FBQyxHQUFHLFNBQVMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7SUFDN0gsSUFBSSxPQUFPLE9BQU8sS0FBSyxRQUFRLElBQUksT0FBTyxPQUFPLENBQUMsUUFBUSxLQUFLLFVBQVU7UUFBRSxDQUFDLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQzs7UUFDMUgsS0FBSyxJQUFJLENBQUMsR0FBRyxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRTtZQUFFLElBQUksQ0FBQyxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUM7Z0JBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFB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QU8sVUFBVSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3RDLE9BQU8sY0FBYyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUMzQyxDQUFDO0NBQ0osQ0FBQztBQWNPLDhDQUFpQjtBQWIxQixVQUFVLENBQUM7SUFDUCxJQUFBLGlDQUFXLEdBQUU7SUFDYixVQUFVLENBQUMsYUFBYSxFQUFFLFFBQVEsQ0FBQztJQUNuQyxVQUFVLENBQUMsbUJBQW1CLEVBQUUsQ0FBQyw2QkFBRyxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztJQUN0RCxVQUFVLENBQUMsbUJBQW1CLEVBQUUsT0FBTyxDQUFDO0NBQzNDLEVBQUUsaUJBQWlCLENBQUMsU0FBUyxFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQztBQUNqRCw0QkFBQSxpQkFBaUIsR0FBRyxtQkFBbUIsR0FBRyxVQUFVLENBQUM7SUFDakQsSUFBQSwwQkFBSSxFQUFDO1FBQ0QsS0FBSyxFQUFFLG1CQUFtQjtRQUMxQixXQUFXLEVBQUUsdUNBQXVDO0tBQ3ZELENBQUM7SUFDRixVQUFVLENBQUMsbUJBQW1CLEVBQUUsRUFBRSxDQUFDO0NBQ3RDLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztBQUV0QiwweGVBQTB4ZSIsInNvdXJjZXNDb250ZW50IjpbInZhciBfX2RlY29yYXRlID0gKHRoaXMgJiYgdGhpcy5fX2RlY29yYXRlKSB8fCBmdW5jdGlvbiAoZGVjb3JhdG9ycywgdGFyZ2V0LCBrZXksIGRlc2MpIHtcbiAgICB2YXIgYyA9IGFyZ3VtZW50cy5sZW5ndGgsIHIgPSBjIDwgMyA/IHRhcmdldCA6IGRlc2MgPT09IG51bGwgPyBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0YXJnZXQsIGtleSkgOiBkZXNjLCBkO1xuICAgIGlmICh0eXBlb2YgUmVmbGVjdCA9PT0gXCJvYmplY3RcIiAmJiB0eXBlb2YgUmVmbGVjdC5kZWNvcmF0ZSA9PT0gXCJmdW5jdGlvblwiKSByID0gUmVmbGVjdC5kZWNvcmF0ZShkZWNvcmF0b3JzLCB0YXJnZXQsIGtleSwgZGVzYyk7XG4gICAgZWxzZSBmb3IgKHZhciBpID0gZGVjb3JhdG9ycy5sZW5ndGggLSAxOyBpID49IDA7IGktLSkgaWYgKGQgPSBkZWNvcmF0b3JzW2ldKSByID0gKGMgPCAzID8gZChyKSA6IGMgPiAzID8gZCh0YXJnZXQsIGtleSwgcikgOiBkKHRhcmdldCwga2V5KSkgfHwgcjtcbiAgICByZXR1cm4gYyA+IDMgJiYgciAmJiBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBrZXksIHIpLCByO1xufTtcbnZhciBfX21ldGFkYXRhID0gKHRoaXMgJiYgdGhpcy5fX21ldGFkYXRhKSB8fCBmdW5jdGlvbiAoaywgdikge1xuICAgIGlmICh0eXBlb2YgUmVmbGVjdCA9PT0gXCJvYmplY3RcIiAmJiB0eXBlb2YgUmVmbGVjdC5tZXRhZGF0YSA9PT0gXCJmdW5jdGlvblwiKSByZXR1cm4gUmVmbGVjdC5tZXRhZGF0YShrLCB2KTtcbn07XG52YXIgTWlncmF0aW9uQ29udHJhY3RfMTtcbmltcG9ydCB7IENvbnRleHQgYXMgQ3R4LCBDb250cmFjdCwgSW5mbywgVHJhbnNhY3Rpb24sIH0gZnJvbSBcImZhYnJpYy1jb250cmFjdC1hcGlcIjtcbmltcG9ydCB7IE1ldGFkYXRhIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0aW9uXCI7XG5pbXBvcnQgeyBBZGFwdGVyLCBNaWdyYXRpb25FcnJvciwgUGVyc2lzdGVuY2VLZXlzLCB9IGZyb20gXCJAZGVjYWYtdHMvY29yZVwiO1xuaW1wb3J0IHsgRmFicmljQ29udHJhY3RBZGFwdGVyLCB9IGZyb20gXCIuL0NvbnRyYWN0QWRhcHRlci5qc1wiO1xuaW1wb3J0IHsgRmFicmljRmxhdm91ciwgTWlzc2luZ0NvbnRleHRFcnJvciwgfSBmcm9tIFwiLi8uLi9zaGFyZWQvaW5kZXguanNcIjtcbmltcG9ydCB7IEludGVybmFsRXJyb3IgfSBmcm9tIFwiQGRlY2FmLXRzL2RiLWRlY29yYXRvcnNcIjtcbmltcG9ydCB7IFZFUlNJT04sIFBBQ0tBR0VfTkFNRSB9IGZyb20gXCIuLy4uL3ZlcnNpb24uanNcIjtcbmxldCBNaWdyYXRpb25Db250cmFjdCA9IE1pZ3JhdGlvbkNvbnRyYWN0XzEgPSBjbGFzcyBNaWdyYXRpb25Db250cmFjdCBleHRlbmRzIENvbnRyYWN0IHtcbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoTWlncmF0aW9uQ29udHJhY3RfMS5uYW1lKTtcbiAgICAgICAgdGhpcy5pbml0aWFsaXplZCA9IGZhbHNlO1xuICAgIH1cbiAgICBnZXQgYWRhcHRlcigpIHtcbiAgICAgICAgaWYgKCF0aGlzLl9hZGFwdGVyKSB7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIHRoaXMuX2FkYXB0ZXIgPSBBZGFwdGVyLmdldChGYWJyaWNGbGF2b3VyKTtcbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMuX2FkYXB0ZXIpXG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKGBmYWlsZWQgdG8gbG9hZCBhZGFwdGVyLiBpbnN0YW50aWF0aW9uYCk7XG4gICAgICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9hZGFwdGVyID0gbmV3IEZhYnJpY0NvbnRyYWN0QWRhcHRlcigpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjYXRjaCAoZSkge1xuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihgRmFpbGVkIHRvIGluc3RhbnRpYXRlIGFkYXB0ZXI6ICR7ZX1gKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuX2FkYXB0ZXI7XG4gICAgfVxuICAgIGFzeW5jIG1pZ3JhdGUoY29udGV4dCwgcmVmZXJlbmNlLCBtaWdyYXRpb25BcmdzKSB7XG4gICAgICAgIGxldCBhcmd6ID0gW107XG4gICAgICAgIGlmIChtaWdyYXRpb25BcmdzKSB7XG4gICAgICAgICAgICBhcmd6ID0gSlNPTi5wYXJzZShtaWdyYXRpb25BcmdzKTtcbiAgICAgICAgICAgIGlmICghQXJyYXkuaXNBcnJheShhcmd6KSkge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKFwiTWlncmF0aW9uIGFyZ3VtZW50cyBtdXN0IGJlIGFuIGFycmF5XCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHsgbG9nLCBjdHgsIGN0eEFyZ3MgfSA9IChhd2FpdCB0aGlzLmxvZ0N0eChbLi4uYXJneiwgY29udGV4dF0sIFBlcnNpc3RlbmNlS2V5cy5NSUdSQVRJT04sIHRydWUpKS5mb3IodGhpcy5taWdyYXRlKTtcbiAgICAgICAgY29uc3QgbWlncmF0aW9ucyA9IHRoaXMuZ2V0UmVnaXN0ZXJlZE1pZ3JhdGlvbnMoY3R4KTtcbiAgICAgICAgY29uc3QgbWlncmF0aW9uTWV0YSA9IG1pZ3JhdGlvbnMuZmluZCgobSkgPT4gbS5yZWZlcmVuY2UgPT09IHJlZmVyZW5jZSk7XG4gICAgICAgIGlmICghbWlncmF0aW9uTWV0YSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoYE1pZ3JhdGlvbiAke3JlZmVyZW5jZX0gbm90IGZvdW5kYCk7XG4gICAgICAgIH1cbiAgICAgICAgbG9nLnZlcmJvc2UoYG1pZ3JhdGlvbiAke3JlZmVyZW5jZX0gZm91bmRgKTtcbiAgICAgICAgY29uc3QgTWlncmF0aW9uQ2xhc3MgPSBtaWdyYXRpb25NZXRhLmNsYXNzO1xuICAgICAgICBjb25zdCBtID0gbmV3IE1pZ3JhdGlvbkNsYXNzKCk7XG4gICAgICAgIC8vIEZvciBGYWJyaWMsIHVzZSB0aGUgY29udGV4dCBhcyB0aGUgcXVlcnkgcnVubmVyXG4gICAgICAgIGNvbnN0IHFyID0gY3R4O1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgbG9nLnZlcmJvc2UoYG1pZ3JhdGlvbiAke3JlZmVyZW5jZX0gdXBgKTtcbiAgICAgICAgICAgIGF3YWl0IG0udXAocXIsIHRoaXMuYWRhcHRlciwgLi4uY3R4QXJncyk7XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBNaWdyYXRpb25FcnJvcihgZmFpbGVkIHRvIGluaXRpYWxpemUgbWlncmF0aW9uICR7bS5yZWZlcmVuY2V9OiAke2V9YCk7XG4gICAgICAgIH1cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGxvZy52ZXJib3NlKGBtaWdyYXRpb24gJHtyZWZlcmVuY2V9IG1pZ3JhdGVgKTtcbiAgICAgICAgICAgIGF3YWl0IG0ubWlncmF0ZShxciwgdGhpcy5hZGFwdGVyLCAuLi5jdHhBcmdzKTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IE1pZ3JhdGlvbkVycm9yKGBmYWlsZWQgdG8gbWlncmF0ZSAke20ucmVmZXJlbmNlfTogJHtlfWApO1xuICAgICAgICB9XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBsb2cudmVyYm9zZShgbWlncmF0aW9uICR7cmVmZXJlbmNlfSBkb3duYCk7XG4gICAgICAgICAgICBhd2FpdCBtLmRvd24ocXIsIHRoaXMuYWRhcHRlciwgLi4uY3R4QXJncyk7XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBNaWdyYXRpb25FcnJvcihgZmFpbGVkIHRvIGNvbmNsdWRlIG1pZ3JhdGlvbiAke20ucmVmZXJlbmNlfTogJHtlfWApO1xuICAgICAgICB9XG4gICAgfVxuICAgIGdldFJlZ2lzdGVyZWRNaWdyYXRpb25zKGNvbnRleHQpIHtcbiAgICAgICAgY29uc3QgbWlncmF0aW9ucyA9IFtdO1xuICAgICAgICBjb25zdCBtaWdyYXRpb25MaXN0ID0gTWV0YWRhdGEubWlncmF0aW9ucygpO1xuICAgICAgICBmb3IgKGNvbnN0IFtuYW1lLCBNaWdyYXRpb25DbGFzc10gb2YgbWlncmF0aW9uTGlzdCkge1xuICAgICAgICAgICAgY29uc3QgbWV0YSA9IE1ldGFkYXRhLmdldChNaWdyYXRpb25DbGFzcywgUGVyc2lzdGVuY2VLZXlzLk1JR1JBVElPTik7XG4gICAgICAgICAgICBpZiAoIW1ldGEpXG4gICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICBpZiAobWV0YS5mbGF2b3VyICE9PSBGYWJyaWNGbGF2b3VyKVxuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgbWlncmF0aW9ucy5wdXNoKHtcbiAgICAgICAgICAgICAgICBjbGFzczogTWlncmF0aW9uQ2xhc3MsXG4gICAgICAgICAgICAgICAgcmVmZXJlbmNlOiBtZXRhLnJlZmVyZW5jZSxcbiAgICAgICAgICAgICAgICBmbGF2b3VyOiBtZXRhLmZsYXZvdXIsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbWlncmF0aW9ucztcbiAgICB9XG4gICAgYXN5bmMgaW5pdChjdHgpIHtcbiAgICAgICAgY29uc3QgeyBsb2cgfSA9IChhd2FpdCB0aGlzLmxvZ0N0eChbY3R4XSwgUGVyc2lzdGVuY2VLZXlzLklOSVRJQUxJWkFUSU9OLCB0cnVlKSkuZm9yKHRoaXMuaW5pdCk7XG4gICAgICAgIGxvZy5pbmZvKGBSdW5uaW5nIGNvbnRyYWN0ICR7dGhpcy5nZXROYW1lKCl9IGluaXRpYWxpemF0aW9uLi4uYCk7XG4gICAgICAgIHRoaXMuaW5pdGlhbGl6ZWQgPSB0cnVlO1xuICAgICAgICBsb2cuaW5mbyhgQ29udHJhY3QgaW5pdGlhbGl6YXRpb24gY29tcGxldGVkLmApO1xuICAgIH1cbiAgICBhc3luYyBoZWFsdGhjaGVjayhjdHgpIHtcbiAgICAgICAgY29uc3QgeyBsb2cgfSA9IChhd2FpdCB0aGlzLmxvZ0N0eChbY3R4XSwgXCJoZWFsdGhjaGVja1wiLCB0cnVlKSkuZm9yKHRoaXMuaGVhbHRoY2hlY2spO1xuICAgICAgICBsb2cuaW5mbyhgUnVubmluZyBIZWFsdGhjaGVjazogJHt0aGlzLmluaXRpYWxpemVkfS4uLmApO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgaGVhbHRoY2hlY2s6IHRoaXMuaW5pdGlhbGl6ZWQsXG4gICAgICAgICAgICB2ZXJzaW9uOiBWRVJTSU9OLFxuICAgICAgICAgICAgcGFja2FnZTogUEFDS0FHRV9OQU1FLFxuICAgICAgICB9O1xuICAgIH1cbiAgICBsb2dDdHgoYXJncywgb3BlcmF0aW9uLCBhbGxvd0NyZWF0ZSA9IGZhbHNlKSB7XG4gICAgICAgIGNvbnN0IGN0eCA9IGFyZ3MucG9wKCk7XG4gICAgICAgIGlmICghY3R4IHx8ICFjdHguc3R1Yikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IE1pc3NpbmdDb250ZXh0RXJyb3IoYE5vIHZhbGlkIGNvbnRleHQgcHJvdmlkZWQuLi5gKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBjb250ZXh0dWFsaXplZCA9IHRoaXMuYWRhcHRlcltcImxvZ0N0eFwiXShbdW5kZWZpbmVkLCAuLi5hcmdzXSwgb3BlcmF0aW9uLCBhbGxvd0NyZWF0ZSwgY3R4KTtcbiAgICAgICAgZnVuY3Rpb24gc3F1YXNoQXJncyhjdHgpIHtcbiAgICAgICAgICAgIGN0eC5jdHhBcmdzLnNoaWZ0KCk7IC8vIHJlbW92ZXMgYWRkZWQgbW9kZWwgdG8gYXJnc1xuICAgICAgICAgICAgcmV0dXJuIGN0eDtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIShjb250ZXh0dWFsaXplZCBpbnN0YW5jZW9mIFByb21pc2UpKVxuICAgICAgICAgICAgcmV0dXJuIHNxdWFzaEFyZ3MoY29udGV4dHVhbGl6ZWQpO1xuICAgICAgICByZXR1cm4gY29udGV4dHVhbGl6ZWQudGhlbihzcXVhc2hBcmdzKTtcbiAgICB9XG59O1xuX19kZWNvcmF0ZShbXG4gICAgVHJhbnNhY3Rpb24oKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgRnVuY3Rpb24pLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246cGFyYW10eXBlc1wiLCBbQ3R4LCBTdHJpbmcsIFN0cmluZ10pLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246cmV0dXJudHlwZVwiLCBQcm9taXNlKVxuXSwgTWlncmF0aW9uQ29udHJhY3QucHJvdG90eXBlLCBcIm1pZ3JhdGVcIiwgbnVsbCk7XG5NaWdyYXRpb25Db250cmFjdCA9IE1pZ3JhdGlvbkNvbnRyYWN0XzEgPSBfX2RlY29yYXRlKFtcbiAgICBJbmZvKHtcbiAgICAgICAgdGl0bGU6IFwiTWlncmF0aW9uQ29udHJhY3RcIixcbiAgICAgICAgZGVzY3JpcHRpb246IFwiQ29udHJhY3QgZm9yIG1hbmFnaW5nIGRhdGEgbWlncmF0aW9uc1wiLFxuICAgIH0pLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246cGFyYW10eXBlc1wiLCBbXSlcbl0sIE1pZ3JhdGlvbkNvbnRyYWN0KTtcbmV4cG9ydCB7IE1pZ3JhdGlvbkNvbnRyYWN0IH07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lUV2xuY21GMGFXOXVRMjl1ZEhKaFkzUXVhbk1pTENKemIzVnlZMlZTYjI5MElqb2lJaXdpYzI5MWNtTmxjeUk2V3lJdUxpOHVMaTh1TGk5emNtTXZZMjl1ZEhKaFkzUnpMMDFwWjNKaGRHbHZia052Ym5SeVlXTjBMblJ6SWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUk3T3pzN096czdPenM3UVVGQlFTeFBRVUZQTEVWQlEwd3NUMEZCVHl4SlFVRkpMRWRCUVVjc1JVRkRaQ3hSUVVGUkxFVkJRMUlzU1VGQlNTeEZRVU5LTEZkQlFWY3NSMEZEV2l4TlFVRk5MSEZDUVVGeFFpeERRVUZETzBGQlF6ZENMRTlCUVU4c1JVRkJaU3hSUVVGUkxFVkJRVVVzVFVGQlRTeHpRa0ZCYzBJc1EwRkJRenRCUVVNM1JDeFBRVUZQTEVWQlEwd3NUMEZCVHl4RlFVZFFMR05CUVdNc1JVRkRaQ3hsUVVGbExFZEJRMmhDTEUxQlFVMHNaMEpCUVdkQ0xFTkJRVU03UVVGRmVFSXNUMEZCVHl4RlFVVk1MSEZDUVVGeFFpeEhRVU4wUWl3MlFrRkJNRUk3UVVGRE0wSXNUMEZCVHl4RlFVTk1MR0ZCUVdFc1JVRkZZaXh0UWtGQmJVSXNSMEZEY0VJc05rSkJRWGRDTzBGQlEzcENMRTlCUVU4c1JVRkJSU3hoUVVGaExFVkJRVVVzVFVGQlRTeDVRa0ZCZVVJc1EwRkJRenRCUVVWNFJDeFBRVUZQTEVWQlFVVXNUMEZCVHl4RlFVRkZMRmxCUVZrc1JVRkJSU3gzUWtGQmJVSTdRVUZOTlVNc1NVRkJUU3hwUWtGQmFVSXNlVUpCUVhaQ0xFMUJRVTBzYVVKQlFXdENMRk5CUVZFc1VVRkJVVHRKUVVzM1F6dFJRVU5GTEV0QlFVc3NRMEZCUXl4dFFrRkJhVUlzUTBGQlF5eEpRVUZKTEVOQlFVTXNRMEZCUXp0UlFVaDBRaXhuUWtGQlZ5eEhRVUZaTEV0QlFVc3NRMEZCUXp0SlFVbDJReXhEUVVGRE8wbEJSVVFzU1VGQll5eFBRVUZQTzFGQlEyNUNMRWxCUVVrc1EwRkJReXhKUVVGSkxFTkJRVU1zVVVGQlVTeEZRVUZGTEVOQlFVTTdXVUZEYmtJc1NVRkJTU3hEUVVGRE8yZENRVU5JTEVsQlFVa3NRMEZCUXl4UlFVRlJMRWRCUVVjc1QwRkJUeXhEUVVGRExFZEJRVWNzUTBGQlF5eGhRVUZoTEVOQlFWRXNRMEZCUXp0blFrRkRiRVFzU1VGQlNTeERRVUZETEVsQlFVa3NRMEZCUXl4UlFVRlJPMjlDUVVOb1FpeE5RVUZOTEVsQlFVa3NZVUZCWVN4RFFVRkRMSFZEUVVGMVF5eERRVUZETEVOQlFVTTdaMEpCUTI1RkxEWkVRVUUyUkR0WlFVTXZSQ3hEUVVGRE8xbEJRVU1zVDBGQlR5eERRVUZWTEVWQlFVVXNRMEZCUXp0blFrRkRjRUlzU1VGQlNTeERRVUZETzI5Q1FVTklMRWxCUVVrc1EwRkJReXhSUVVGUkxFZEJRVWNzU1VGQlNTeHhRa0ZCY1VJc1JVRkJSU3hEUVVGRE8yZENRVU01UXl4RFFVRkRPMmRDUVVGRExFOUJRVThzUTBGQlZTeEZRVUZGTEVOQlFVTTdiMEpCUTNCQ0xFMUJRVTBzU1VGQlNTeGhRVUZoTEVOQlFVTXNhME5CUVd0RExFTkJRVU1zUlVGQlJTeERRVUZETEVOQlFVTTdaMEpCUTJwRkxFTkJRVU03V1VGRFNDeERRVUZETzFGQlEwZ3NRMEZCUXp0UlFVTkVMRTlCUVU4c1NVRkJTU3hEUVVGRExGRkJRVkVzUTBGQlF6dEpRVU4yUWl4RFFVRkRPMGxCUjBzc1FVRkJUaXhMUVVGTExFTkJRVU1zVDBGQlR5eERRVU5ZTEU5QlFWa3NSVUZEV2l4VFFVRnBRaXhGUVVOcVFpeGhRVUZ6UWp0UlFVVjBRaXhKUVVGSkxFbEJRVWtzUjBGQlZTeEZRVUZGTEVOQlFVTTdVVUZEY2tJc1NVRkJTU3hoUVVGaExFVkJRVVVzUTBGQlF6dFpRVU5zUWl4SlFVRkpMRWRCUVVjc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eGhRVUZoTEVOQlFWRXNRMEZCUXp0WlFVTjRReXhKUVVGSkxFTkJRVU1zUzBGQlN5eERRVUZETEU5QlFVOHNRMEZCUXl4SlFVRkpMRU5CUVVNc1JVRkJSU3hEUVVGRE8yZENRVU42UWl4TlFVRk5MRWxCUVVrc1lVRkJZU3hEUVVGRExITkRRVUZ6UXl4RFFVRkRMRU5CUVVNN1dVRkRiRVVzUTBGQlF6dFJRVU5JTEVOQlFVTTdVVUZEUkN4TlFVRk5MRVZCUVVVc1IwRkJSeXhGUVVGRkxFZEJRVWNzUlVGQlJTeFBRVUZQTEVWQlFVVXNSMEZCUnl4RFFVTTFRaXhOUVVGTkxFbEJRVWtzUTBGQlF5eE5RVUZOTEVOQlFVTXNRMEZCUXl4SFFVRkhMRWxCUVVrc1JVRkJSU3hQUVVGUExFTkJRVU1zUlVGQlJTeGxRVUZsTEVOQlFVTXNVMEZCVXl4RlFVRkZMRWxCUVVrc1EwRkJReXhEUVVOMlJTeERRVUZETEVkQlFVY3NRMEZCUXl4SlFVRkpMRU5CUVVNc1QwRkJUeXhEUVVGRExFTkJRVU03VVVGRmNFSXNUVUZCVFN4VlFVRlZMRWRCUVVjc1NVRkJTU3hEUVVGRExIVkNRVUYxUWl4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRE8xRkJSWEpFTEUxQlFVMHNZVUZCWVN4SFFVRkhMRlZCUVZVc1EwRkJReXhKUVVGSkxFTkJRVU1zUTBGQlF5eERRVUZETEVWQlFVVXNSVUZCUlN4RFFVRkRMRU5CUVVNc1EwRkJReXhUUVVGVExFdEJRVXNzVTBGQlV5eERRVUZETEVOQlFVTTdVVUZGZUVVc1NVRkJTU3hEUVVGRExHRkJRV0VzUlVGQlJTeERRVUZETzFsQlEyNUNMRTFCUVUwc1NVRkJTU3hoUVVGaExFTkJRVU1zWVVGQllTeFRRVUZUTEZsQlFWa3NRMEZCUXl4RFFVRkRPMUZCUXpsRUxFTkJRVU03VVVGRlJDeEhRVUZITEVOQlFVTXNUMEZCVHl4RFFVRkRMR0ZCUVdFc1UwRkJVeXhSUVVGUkxFTkJRVU1zUTBGQlF6dFJRVU0xUXl4TlFVRk5MR05CUVdNc1IwRkRiRUlzWVVGQllTeERRVUZETEV0QlFVc3NRMEZCUXp0UlFVTjBRaXhOUVVGTkxFTkJRVU1zUjBGQlJ5eEpRVUZKTEdOQlFXTXNSVUZCUlN4RFFVRkRPMUZCUXk5Q0xHdEVRVUZyUkR0UlFVTnNSQ3hOUVVGTkxFVkJRVVVzUjBGQlVTeEhRVUZITEVOQlFVTTdVVUZGY0VJc1NVRkJTU3hEUVVGRE8xbEJRMGdzUjBGQlJ5eERRVUZETEU5QlFVOHNRMEZCUXl4aFFVRmhMRk5CUVZNc1MwRkJTeXhEUVVGRExFTkJRVU03V1VGRGVrTXNUVUZCVFN4RFFVRkRMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzUlVGQlJTeEpRVUZKTEVOQlFVTXNUMEZCVHl4RlFVRkZMRWRCUVVjc1QwRkJUeXhEUVVGRExFTkJRVU03VVVGRE0wTXNRMEZCUXp0UlFVRkRMRTlCUVU4c1EwRkJWU3hGUVVGRkxFTkJRVU03V1VGRGNFSXNUVUZCVFN4SlFVRkpMR05CUVdNc1EwRkRkRUlzYTBOQlFXdERMRU5CUVVNc1EwRkJReXhUUVVGVExFdEJRVXNzUTBGQlF5eEZRVUZGTEVOQlEzUkVMRU5CUVVNN1VVRkRTaXhEUVVGRE8xRkJRMFFzU1VGQlNTeERRVUZETzFsQlEwZ3NSMEZCUnl4RFFVRkRMRTlCUVU4c1EwRkJReXhoUVVGaExGTkJRVk1zVlVGQlZTeERRVUZETEVOQlFVTTdXVUZET1VNc1RVRkJUU3hEUVVGRExFTkJRVU1zVDBGQlR5eERRVUZETEVWQlFVVXNSVUZCUlN4SlFVRkpMRU5CUVVNc1QwRkJUeXhGUVVGRkxFZEJRVWNzVDBGQlR5eERRVUZETEVOQlFVTTdVVUZEYUVRc1EwRkJRenRSUVVGRExFOUJRVThzUTBGQlZTeEZRVUZGTEVOQlFVTTdXVUZEY0VJc1RVRkJUU3hKUVVGSkxHTkJRV01zUTBGQlF5eHhRa0ZCY1VJc1EwRkJReXhEUVVGRExGTkJRVk1zUzBGQlN5eERRVUZETEVWQlFVVXNRMEZCUXl4RFFVRkRPMUZCUTNKRkxFTkJRVU03VVVGRFJDeEpRVUZKTEVOQlFVTTdXVUZEU0N4SFFVRkhMRU5CUVVNc1QwRkJUeXhEUVVGRExHRkJRV0VzVTBGQlV5eFBRVUZQTEVOQlFVTXNRMEZCUXp0WlFVTXpReXhOUVVGTkxFTkJRVU1zUTBGQlF5eEpRVUZKTEVOQlFVTXNSVUZCUlN4RlFVRkZMRWxCUVVrc1EwRkJReXhQUVVGUExFVkJRVVVzUjBGQlJ5eFBRVUZQTEVOQlFVTXNRMEZCUXp0UlFVTTNReXhEUVVGRE8xRkJRVU1zVDBGQlR5eERRVUZWTEVWQlFVVXNRMEZCUXp0WlFVTndRaXhOUVVGTkxFbEJRVWtzWTBGQll5eERRVU4wUWl4blEwRkJaME1zUTBGQlF5eERRVUZETEZOQlFWTXNTMEZCU3l4RFFVRkRMRVZCUVVVc1EwRkRjRVFzUTBGQlF6dFJRVU5LTEVOQlFVTTdTVUZEU0N4RFFVRkRPMGxCUlZNc2RVSkJRWFZDTEVOQlFVTXNUMEZCT0VJN1VVRkxPVVFzVFVGQlRTeFZRVUZWTEVkQlNWZ3NSVUZCUlN4RFFVRkRPMUZCUlZJc1RVRkJUU3hoUVVGaExFZEJRVWtzVVVGQlowSXNRMEZCUXl4VlFVRlZMRVZCUVVVc1EwRkJRenRSUVVWeVJDeExRVUZMTEUxQlFVMHNRMEZCUXl4SlFVRkpMRVZCUVVVc1kwRkJZeXhEUVVGRExFbEJRVWtzWVVGQllTeEZRVUZGTEVOQlFVTTdXVUZEYmtRc1RVRkJUU3hKUVVGSkxFZEJRVWNzVVVGQlVTeERRVUZETEVkQlFVY3NRMEZCUXl4alFVRmpMRVZCUVVVc1pVRkJaU3hEUVVGRExGTkJRVk1zUTBGQlF5eERRVUZETzFsQlJYSkZMRWxCUVVrc1EwRkJReXhKUVVGSk8yZENRVUZGTEZOQlFWTTdXVUZGY0VJc1NVRkJTU3hKUVVGSkxFTkJRVU1zVDBGQlR5eExRVUZMTEdGQlFXRTdaMEpCUVVVc1UwRkJVenRaUVVVM1F5eFZRVUZWTEVOQlFVTXNTVUZCU1N4RFFVRkRPMmRDUVVOa0xFdEJRVXNzUlVGQlJTeGpRVUZqTzJkQ1FVTnlRaXhUUVVGVExFVkJRVVVzU1VGQlNTeERRVUZETEZOQlFWTTdaMEpCUTNwQ0xFOUJRVThzUlVGQlJTeEpRVUZKTEVOQlFVTXNUMEZCVHp0aFFVTjBRaXhEUVVGRExFTkJRVU03VVVGRFRDeERRVUZETzFGQlJVUXNUMEZCVHl4VlFVRlZMRU5CUVVNN1NVRkRjRUlzUTBGQlF6dEpRVVZUTEV0QlFVc3NRMEZCUXl4SlFVRkpMRU5CUVVNc1IwRkJaME03VVVGRGJrUXNUVUZCVFN4RlFVRkZMRWRCUVVjc1JVRkJSU3hIUVVGSExFTkJRMlFzVFVGQlRTeEpRVUZKTEVOQlFVTXNUVUZCVFN4RFFVRkRMRU5CUVVNc1IwRkJSeXhEUVVGRExFVkJRVVVzWlVGQlpTeERRVUZETEdOQlFXTXNSVUZCUlN4SlFVRkpMRU5CUVVNc1EwRkRMMFFzUTBGQlF5eEhRVUZITEVOQlFVTXNTVUZCU1N4RFFVRkRMRWxCUVVrc1EwRkJReXhEUVVGRE8xRkJRMnBDTEVkQlFVY3NRMEZCUXl4SlFVRkpMRU5CUVVNc2IwSkJRVzlDTEVsQlFVa3NRMEZCUXl4UFFVRlBMRVZCUVVVc2IwSkJRVzlDTEVOQlFVTXNRMEZCUXp0UlFVTnFSU3hKUVVGSkxFTkJRVU1zVjBGQlZ5eEhRVUZITEVsQlFVa3NRMEZCUXp0UlFVTjRRaXhIUVVGSExFTkJRVU1zU1VGQlNTeERRVUZETEc5RFFVRnZReXhEUVVGRExFTkJRVU03U1VGRGFrUXNRMEZCUXp0SlFVVkVMRXRCUVVzc1EwRkJReXhYUVVGWExFTkJRMllzUjBGQlowTTdVVUZGYUVNc1RVRkJUU3hGUVVGRkxFZEJRVWNzUlVGQlJTeEhRVUZITEVOQlFVTXNUVUZCVFN4SlFVRkpMRU5CUVVNc1RVRkJUU3hEUVVGRExFTkJRVU1zUjBGQlJ5eERRVUZETEVWQlFVVXNZVUZCWVN4RlFVRkZMRWxCUVVrc1EwRkJReXhEUVVGRExFTkJRVU1zUjBGQlJ5eERRVU5xUlN4SlFVRkpMRU5CUVVNc1YwRkJWeXhEUVVOcVFpeERRVUZETzFGQlEwWXNSMEZCUnl4RFFVRkRMRWxCUVVrc1EwRkJReXgzUWtGQmQwSXNTVUZCU1N4RFFVRkRMRmRCUVZjc1MwRkJTeXhEUVVGRExFTkJRVU03VVVGRGVFUXNUMEZCVHp0WlFVTk1MRmRCUVZjc1JVRkJSU3hKUVVGSkxFTkJRVU1zVjBGQlZ6dFpRVU0zUWl4UFFVRlBMRVZCUVVVc1QwRkJUenRaUVVOb1FpeFBRVUZQTEVWQlFVVXNXVUZCV1R0VFFVTjBRaXhEUVVGRE8wbEJRMG9zUTBGQlF6dEpRVEpDVXl4TlFVRk5MRU5CU1dRc1NVRkJjVVFzUlVGRGNrUXNVMEZCYVVJc1JVRkRha0lzWTBGQmRVSXNTMEZCU3p0UlFVMDFRaXhOUVVGTkxFZEJRVWNzUjBGQlJ5eEpRVUZKTEVOQlFVTXNSMEZCUnl4RlFVRkZMRU5CUVVNN1VVRkRka0lzU1VGQlNTeERRVUZETEVkQlFVY3NTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhKUVVGSkxFVkJRVVVzUTBGQlF6dFpRVU4wUWl4TlFVRk5MRWxCUVVrc2JVSkJRVzFDTEVOQlFVTXNPRUpCUVRoQ0xFTkJRVU1zUTBGQlF6dFJRVU5vUlN4RFFVRkRPMUZCUTBRc1RVRkJUU3hqUVVGakxFZEJRVWNzU1VGQlNTeERRVUZETEU5QlFVOHNRMEZCUXl4UlFVRlJMRU5CUVVNc1EwRkRNME1zUTBGQlF5eFRRVUZUTEVWQlFVVXNSMEZCUnl4SlFVRkpMRU5CUVZFc1JVRkRNMElzVTBGQlV5eEZRVU5VTEZkQlFXdENMRVZCUTJ4Q0xFZEJRVWNzUTBGTFFTeERRVUZETzFGQlEwNHNVMEZCVXl4VlFVRlZMRU5CUVVNc1IwRkJOa0k3V1VGREwwTXNSMEZCUnl4RFFVRkRMRTlCUVU4c1EwRkJReXhMUVVGTExFVkJRVVVzUTBGQlF5eERRVUZETERoQ1FVRTRRanRaUVVOdVJDeFBRVUZQTEVkQlFWVXNRMEZCUXp0UlFVTndRaXhEUVVGRE8xRkJSVVFzU1VGQlNTeERRVUZETEVOQlFVTXNZMEZCWXl4WlFVRlpMRTlCUVU4c1EwRkJRenRaUVVGRkxFOUJRVThzVlVGQlZTeERRVUZETEdOQlFXTXNRMEZCUXl4RFFVRkRPMUZCUXpWRkxFOUJRVThzWTBGQll5eERRVUZETEVsQlFVa3NRMEZCUXl4VlFVRlZMRU5CUVVNc1EwRkJRenRKUVVONlF5eERRVUZETzBOQlEwWXNRMEZCUVR0QlFYWkxUenRKUVVSTUxGZEJRVmNzUlVGQlJUczdjVU5CUlVnc1IwRkJSenM3WjBSQmIwUmlPMEZCYWtaVkxHbENRVUZwUWp0SlFVbzNRaXhKUVVGSkxFTkJRVU03VVVGRFNpeExRVUZMTEVWQlFVVXNiVUpCUVcxQ08xRkJRekZDTEZkQlFWY3NSVUZCUlN4MVEwRkJkVU03UzBGRGNrUXNRMEZCUXpzN1IwRkRWeXhwUWtGQmFVSXNRMEZ0VFRkQ0lpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lhVzF3YjNKMElIdGNiaUFnUTI5dWRHVjRkQ0JoY3lCRGRIZ3NYRzRnSUVOdmJuUnlZV04wTEZ4dUlDQkpibVp2TEZ4dUlDQlVjbUZ1YzJGamRHbHZiaXhjYm4wZ1puSnZiU0JjSW1aaFluSnBZeTFqYjI1MGNtRmpkQzFoY0dsY0lqdGNibWx0Y0c5eWRDQjdJRU52Ym5OMGNuVmpkRzl5TENCTlpYUmhaR0YwWVNCOUlHWnliMjBnWENKQVpHVmpZV1l0ZEhNdlpHVmpiM0poZEdsdmJsd2lPMXh1YVcxd2IzSjBJSHRjYmlBZ1FXUmhjSFJsY2l4Y2JpQWdUV0Y1WW1WRGIyNTBaWGgwZFdGc1FYSm5MRnh1SUNCTlpYUm9iMlJQY2s5d1pYSmhkR2x2Yml4Y2JpQWdUV2xuY21GMGFXOXVSWEp5YjNJc1hHNGdJRkJsY25OcGMzUmxibU5sUzJWNWN5eGNibjBnWm5KdmJTQmNJa0JrWldOaFppMTBjeTlqYjNKbFhDSTdYRzVwYlhCdmNuUWdleUJOYVdkeVlYUnBiMjRnZlNCbWNtOXRJRndpUUdSbFkyRm1MWFJ6TDJOdmNtVmNJanRjYm1sdGNHOXlkQ0I3WEc0Z0lFWmhZbkpwWTBOdmJuUmxlSFIxWVd4cGVtVmtRWEpuY3l4Y2JpQWdSbUZpY21salEyOXVkSEpoWTNSQlpHRndkR1Z5TEZ4dWZTQm1jbTl0SUZ3aUxpOURiMjUwY21GamRFRmtZWEIwWlhKY0lqdGNibWx0Y0c5eWRDQjdYRzRnSUVaaFluSnBZMFpzWVhadmRYSXNYRzRnSUdobFlXeDBhR05vWldOckxGeHVJQ0JOYVhOemFXNW5RMjl1ZEdWNGRFVnljbTl5TEZ4dWZTQm1jbTl0SUZ3aUxpNHZjMmhoY21Wa0wybHVaR1Y0WENJN1hHNXBiWEJ2Y25RZ2V5QkpiblJsY201aGJFVnljbTl5SUgwZ1puSnZiU0JjSWtCa1pXTmhaaTEwY3k5a1lpMWtaV052Y21GMGIzSnpYQ0k3WEc1cGJYQnZjblFnZXlCR1lXSnlhV05EYjI1MGNtRmpkRU52Ym5SbGVIUWdmU0JtY205dElGd2lMaTlEYjI1MGNtRmpkRU52Ym5SbGVIUmNJanRjYm1sdGNHOXlkQ0I3SUZaRlVsTkpUMDRzSUZCQlEwdEJSMFZmVGtGTlJTQjlJR1p5YjIwZ1hDSXVMaTkyWlhKemFXOXVYQ0k3WEc1Y2JrQkpibVp2S0h0Y2JpQWdkR2wwYkdVNklGd2lUV2xuY21GMGFXOXVRMjl1ZEhKaFkzUmNJaXhjYmlBZ1pHVnpZM0pwY0hScGIyNDZJRndpUTI5dWRISmhZM1FnWm05eUlHMWhibUZuYVc1bklHUmhkR0VnYldsbmNtRjBhVzl1YzF3aUxGeHVmU2xjYm1WNGNHOXlkQ0JqYkdGemN5Qk5hV2R5WVhScGIyNURiMjUwY21GamRDQmxlSFJsYm1SeklFTnZiblJ5WVdOMElIdGNiaUFnY0hKcGRtRjBaU0JmWVdSaGNIUmxjajg2SUVaaFluSnBZME52Ym5SeVlXTjBRV1JoY0hSbGNqdGNibHh1SUNCd2NtOTBaV04wWldRZ2FXNXBkR2xoYkdsNlpXUTZJR0p2YjJ4bFlXNGdQU0JtWVd4elpUdGNibHh1SUNCamIyNXpkSEoxWTNSdmNpZ3BJSHRjYmlBZ0lDQnpkWEJsY2loTmFXZHlZWFJwYjI1RGIyNTBjbUZqZEM1dVlXMWxLVHRjYmlBZ2ZWeHVYRzRnSUhCeWIzUmxZM1JsWkNCblpYUWdZV1JoY0hSbGNpZ3BJSHRjYmlBZ0lDQnBaaUFvSVhSb2FYTXVYMkZrWVhCMFpYSXBJSHRjYmlBZ0lDQWdJSFJ5ZVNCN1hHNGdJQ0FnSUNBZ0lIUm9hWE11WDJGa1lYQjBaWElnUFNCQlpHRndkR1Z5TG1kbGRDaEdZV0p5YVdOR2JHRjJiM1Z5S1NCaGN5Qmhibms3WEc0Z0lDQWdJQ0FnSUdsbUlDZ2hkR2hwY3k1ZllXUmhjSFJsY2lsY2JpQWdJQ0FnSUNBZ0lDQjBhSEp2ZHlCdVpYY2dTVzUwWlhKdVlXeEZjbkp2Y2loZ1ptRnBiR1ZrSUhSdklHeHZZV1FnWVdSaGNIUmxjaTRnYVc1emRHRnVkR2xoZEdsdmJtQXBPMXh1SUNBZ0lDQWdJQ0F2THlCbGMyeHBiblF0WkdsellXSnNaUzF1WlhoMExXeHBibVVnUUhSNWNHVnpZM0pwY0hRdFpYTnNhVzUwTDI1dkxYVnVkWE5sWkMxMllYSnpYRzRnSUNBZ0lDQjlJR05oZEdOb0lDaGxPaUIxYm10dWIzZHVLU0I3WEc0Z0lDQWdJQ0FnSUhSeWVTQjdYRzRnSUNBZ0lDQWdJQ0FnZEdocGN5NWZZV1JoY0hSbGNpQTlJRzVsZHlCR1lXSnlhV05EYjI1MGNtRmpkRUZrWVhCMFpYSW9LVHRjYmlBZ0lDQWdJQ0FnZlNCallYUmphQ0FvWlRvZ2RXNXJibTkzYmlrZ2UxeHVJQ0FnSUNBZ0lDQWdJSFJvY205M0lHNWxkeUJKYm5SbGNtNWhiRVZ5Y205eUtHQkdZV2xzWldRZ2RHOGdhVzV6ZEdGdWRHbGhkR1VnWVdSaGNIUmxjam9nSkh0bGZXQXBPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmVnh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbDloWkdGd2RHVnlPMXh1SUNCOVhHNWNiaUFnUUZSeVlXNXpZV04wYVc5dUtDbGNiaUFnWVhONWJtTWdiV2xuY21GMFpTaGNiaUFnSUNCamIyNTBaWGgwT2lCRGRIZ3NYRzRnSUNBZ2NtVm1aWEpsYm1ObE9pQnpkSEpwYm1jc1hHNGdJQ0FnYldsbmNtRjBhVzl1UVhKbmN6ODZJSE4wY21sdVoxeHVJQ0FwT2lCUWNtOXRhWE5sUEhadmFXUStJSHRjYmlBZ0lDQnNaWFFnWVhKbmVqb2dZVzU1VzEwZ1BTQmJYVHRjYmlBZ0lDQnBaaUFvYldsbmNtRjBhVzl1UVhKbmN5a2dlMXh1SUNBZ0lDQWdZWEpuZWlBOUlFcFRUMDR1Y0dGeWMyVW9iV2xuY21GMGFXOXVRWEpuY3lrZ1lYTWdZVzU1TzF4dUlDQWdJQ0FnYVdZZ0tDRkJjbkpoZVM1cGMwRnljbUY1S0dGeVozb3BLU0I3WEc0Z0lDQWdJQ0FnSUhSb2NtOTNJRzVsZHlCSmJuUmxjbTVoYkVWeWNtOXlLRndpVFdsbmNtRjBhVzl1SUdGeVozVnRaVzUwY3lCdGRYTjBJR0psSUdGdUlHRnljbUY1WENJcE8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgxY2JpQWdJQ0JqYjI1emRDQjdJR3h2Wnl3Z1kzUjRMQ0JqZEhoQmNtZHpJSDBnUFNBb1hHNGdJQ0FnSUNCaGQyRnBkQ0IwYUdsekxteHZaME4wZUNoYkxpNHVZWEpuZWl3Z1kyOXVkR1Y0ZEYwc0lGQmxjbk5wYzNSbGJtTmxTMlY1Y3k1TlNVZFNRVlJKVDA0c0lIUnlkV1VwWEc0Z0lDQWdLUzVtYjNJb2RHaHBjeTV0YVdkeVlYUmxLVHRjYmx4dUlDQWdJR052Ym5OMElHMXBaM0poZEdsdmJuTWdQU0IwYUdsekxtZGxkRkpsWjJsemRHVnlaV1JOYVdkeVlYUnBiMjV6S0dOMGVDazdYRzVjYmlBZ0lDQmpiMjV6ZENCdGFXZHlZWFJwYjI1TlpYUmhJRDBnYldsbmNtRjBhVzl1Y3k1bWFXNWtLQ2h0S1NBOVBpQnRMbkpsWm1WeVpXNWpaU0E5UFQwZ2NtVm1aWEpsYm1ObEtUdGNibHh1SUNBZ0lHbG1JQ2doYldsbmNtRjBhVzl1VFdWMFlTa2dlMXh1SUNBZ0lDQWdkR2h5YjNjZ2JtVjNJRWx1ZEdWeWJtRnNSWEp5YjNJb1lFMXBaM0poZEdsdmJpQWtlM0psWm1WeVpXNWpaWDBnYm05MElHWnZkVzVrWUNrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnYkc5bkxuWmxjbUp2YzJVb1lHMXBaM0poZEdsdmJpQWtlM0psWm1WeVpXNWpaWDBnWm05MWJtUmdLVHRjYmlBZ0lDQmpiMjV6ZENCTmFXZHlZWFJwYjI1RGJHRnpjem9nUTI5dWMzUnlkV04wYjNJOFRXbG5jbUYwYVc5dVBHRnVlU3dnWVc1NVBqNGdQVnh1SUNBZ0lDQWdiV2xuY21GMGFXOXVUV1YwWVM1amJHRnpjenRjYmlBZ0lDQmpiMjV6ZENCdElEMGdibVYzSUUxcFozSmhkR2x2YmtOc1lYTnpLQ2s3WEc0Z0lDQWdMeThnUm05eUlFWmhZbkpwWXl3Z2RYTmxJSFJvWlNCamIyNTBaWGgwSUdGeklIUm9aU0J4ZFdWeWVTQnlkVzV1WlhKY2JpQWdJQ0JqYjI1emRDQnhjam9nWVc1NUlEMGdZM1I0TzF4dVhHNGdJQ0FnZEhKNUlIdGNiaUFnSUNBZ0lHeHZaeTUyWlhKaWIzTmxLR0J0YVdkeVlYUnBiMjRnSkh0eVpXWmxjbVZ1WTJWOUlIVndZQ2s3WEc0Z0lDQWdJQ0JoZDJGcGRDQnRMblZ3S0hGeUxDQjBhR2x6TG1Ga1lYQjBaWElzSUM0dUxtTjBlRUZ5WjNNcE8xeHVJQ0FnSUgwZ1kyRjBZMmdnS0dVNklIVnVhMjV2ZDI0cElIdGNiaUFnSUNBZ0lIUm9jbTkzSUc1bGR5Qk5hV2R5WVhScGIyNUZjbkp2Y2loY2JpQWdJQ0FnSUNBZ1lHWmhhV3hsWkNCMGJ5QnBibWwwYVdGc2FYcGxJRzFwWjNKaGRHbHZiaUFrZTIwdWNtVm1aWEpsYm1ObGZUb2dKSHRsZldCY2JpQWdJQ0FnSUNrN1hHNGdJQ0FnZlZ4dUlDQWdJSFJ5ZVNCN1hHNGdJQ0FnSUNCc2IyY3VkbVZ5WW05elpTaGdiV2xuY21GMGFXOXVJQ1I3Y21WbVpYSmxibU5sZlNCdGFXZHlZWFJsWUNrN1hHNGdJQ0FnSUNCaGQyRnBkQ0J0TG0xcFozSmhkR1VvY1hJc0lIUm9hWE11WVdSaGNIUmxjaXdnTGk0dVkzUjRRWEpuY3lrN1hHNGdJQ0FnZlNCallYUmphQ0FvWlRvZ2RXNXJibTkzYmlrZ2UxeHVJQ0FnSUNBZ2RHaHliM2NnYm1WM0lFMXBaM0poZEdsdmJrVnljbTl5S0dCbVlXbHNaV1FnZEc4Z2JXbG5jbUYwWlNBa2UyMHVjbVZtWlhKbGJtTmxmVG9nSkh0bGZXQXBPMXh1SUNBZ0lIMWNiaUFnSUNCMGNua2dlMXh1SUNBZ0lDQWdiRzluTG5abGNtSnZjMlVvWUcxcFozSmhkR2x2YmlBa2UzSmxabVZ5Wlc1alpYMGdaRzkzYm1BcE8xeHVJQ0FnSUNBZ1lYZGhhWFFnYlM1a2IzZHVLSEZ5TENCMGFHbHpMbUZrWVhCMFpYSXNJQzR1TG1OMGVFRnlaM01wTzF4dUlDQWdJSDBnWTJGMFkyZ2dLR1U2SUhWdWEyNXZkMjRwSUh0Y2JpQWdJQ0FnSUhSb2NtOTNJRzVsZHlCTmFXZHlZWFJwYjI1RmNuSnZjaWhjYmlBZ0lDQWdJQ0FnWUdaaGFXeGxaQ0IwYnlCamIyNWpiSFZrWlNCdGFXZHlZWFJwYjI0Z0pIdHRMbkpsWm1WeVpXNWpaWDA2SUNSN1pYMWdYRzRnSUNBZ0lDQXBPMXh1SUNBZ0lIMWNiaUFnZlZ4dVhHNGdJSEJ5YjNSbFkzUmxaQ0JuWlhSU1pXZHBjM1JsY21Wa1RXbG5jbUYwYVc5dWN5aGpiMjUwWlhoME9pQkdZV0p5YVdORGIyNTBjbUZqZEVOdmJuUmxlSFFwT2lCQmNuSmhlVHg3WEc0Z0lDQWdZMnhoYzNNNklHRnVlVHRjYmlBZ0lDQnlaV1psY21WdVkyVTZJSE4wY21sdVp6dGNiaUFnSUNCbWJHRjJiM1Z5T2lCemRISnBibWM3WEc0Z0lIMCtJSHRjYmlBZ0lDQmpiMjV6ZENCdGFXZHlZWFJwYjI1ek9pQkJjbkpoZVR4N1hHNGdJQ0FnSUNCamJHRnpjem9nWVc1NU8xeHVJQ0FnSUNBZ2NtVm1aWEpsYm1ObE9pQnpkSEpwYm1jN1hHNGdJQ0FnSUNCbWJHRjJiM1Z5T2lCemRISnBibWM3WEc0Z0lDQWdmVDRnUFNCYlhUdGNibHh1SUNBZ0lHTnZibk4wSUcxcFozSmhkR2x2Ymt4cGMzUWdQU0FvVFdWMFlXUmhkR0VnWVhNZ1lXNTVLUzV0YVdkeVlYUnBiMjV6S0NrN1hHNWNiaUFnSUNCbWIzSWdLR052Ym5OMElGdHVZVzFsTENCTmFXZHlZWFJwYjI1RGJHRnpjMTBnYjJZZ2JXbG5jbUYwYVc5dVRHbHpkQ2tnZTF4dUlDQWdJQ0FnWTI5dWMzUWdiV1YwWVNBOUlFMWxkR0ZrWVhSaExtZGxkQ2hOYVdkeVlYUnBiMjVEYkdGemN5d2dVR1Z5YzJsemRHVnVZMlZMWlhsekxrMUpSMUpCVkVsUFRpazdYRzVjYmlBZ0lDQWdJR2xtSUNnaGJXVjBZU2tnWTI5dWRHbHVkV1U3WEc1Y2JpQWdJQ0FnSUdsbUlDaHRaWFJoTG1ac1lYWnZkWElnSVQwOUlFWmhZbkpwWTBac1lYWnZkWElwSUdOdmJuUnBiblZsTzF4dVhHNGdJQ0FnSUNCdGFXZHlZWFJwYjI1ekxuQjFjMmdvZTF4dUlDQWdJQ0FnSUNCamJHRnpjem9nVFdsbmNtRjBhVzl1UTJ4aGMzTXNYRzRnSUNBZ0lDQWdJSEpsWm1WeVpXNWpaVG9nYldWMFlTNXlaV1psY21WdVkyVXNYRzRnSUNBZ0lDQWdJR1pzWVhadmRYSTZJRzFsZEdFdVpteGhkbTkxY2l4Y2JpQWdJQ0FnSUgwcE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhKbGRIVnliaUJ0YVdkeVlYUnBiMjV6TzF4dUlDQjlYRzVjYmlBZ2NISnZkR1ZqZEdWa0lHRnplVzVqSUdsdWFYUW9ZM1I0T2lCRGRIZ2dmQ0JHWVdKeWFXTkRiMjUwY21GamRFTnZiblJsZUhRcE9pQlFjbTl0YVhObFBIWnZhV1ErSUh0Y2JpQWdJQ0JqYjI1emRDQjdJR3h2WnlCOUlEMGdLRnh1SUNBZ0lDQWdZWGRoYVhRZ2RHaHBjeTVzYjJkRGRIZ29XMk4wZUYwc0lGQmxjbk5wYzNSbGJtTmxTMlY1Y3k1SlRrbFVTVUZNU1ZwQlZFbFBUaXdnZEhKMVpTbGNiaUFnSUNBcExtWnZjaWgwYUdsekxtbHVhWFFwTzF4dUlDQWdJR3h2Wnk1cGJtWnZLR0JTZFc1dWFXNW5JR052Ym5SeVlXTjBJQ1I3ZEdocGN5NW5aWFJPWVcxbEtDbDlJR2x1YVhScFlXeHBlbUYwYVc5dUxpNHVZQ2s3WEc0Z0lDQWdkR2hwY3k1cGJtbDBhV0ZzYVhwbFpDQTlJSFJ5ZFdVN1hHNGdJQ0FnYkc5bkxtbHVabThvWUVOdmJuUnlZV04wSUdsdWFYUnBZV3hwZW1GMGFXOXVJR052YlhCc1pYUmxaQzVnS1R0Y2JpQWdmVnh1WEc0Z0lHRnplVzVqSUdobFlXeDBhR05vWldOcktGeHVJQ0FnSUdOMGVEb2dRM1I0SUh3Z1JtRmljbWxqUTI5dWRISmhZM1JEYjI1MFpYaDBYRzRnSUNrNklGQnliMjFwYzJVOGMzUnlhVzVuSUh3Z2FHVmhiSFJvWTJobFkycytJSHRjYmlBZ0lDQmpiMjV6ZENCN0lHeHZaeUI5SUQwZ0tHRjNZV2wwSUhSb2FYTXViRzluUTNSNEtGdGpkSGhkTENCY0ltaGxZV3gwYUdOb1pXTnJYQ0lzSUhSeWRXVXBLUzVtYjNJb1hHNGdJQ0FnSUNCMGFHbHpMbWhsWVd4MGFHTm9aV05yWEc0Z0lDQWdLVHRjYmlBZ0lDQnNiMmN1YVc1bWJ5aGdVblZ1Ym1sdVp5QklaV0ZzZEdoamFHVmphem9nSkh0MGFHbHpMbWx1YVhScFlXeHBlbVZrZlM0dUxtQXBPMXh1SUNBZ0lISmxkSFZ5YmlCN1hHNGdJQ0FnSUNCb1pXRnNkR2hqYUdWamF6b2dkR2hwY3k1cGJtbDBhV0ZzYVhwbFpDeGNiaUFnSUNBZ0lIWmxjbk5wYjI0NklGWkZVbE5KVDA0c1hHNGdJQ0FnSUNCd1lXTnJZV2RsT2lCUVFVTkxRVWRGWDA1QlRVVXNYRzRnSUNBZ2ZUdGNiaUFnZlZ4dVhHNGdJSEJ5YjNSbFkzUmxaQ0JzYjJkRGRIZzhYRzRnSUNBZ1FWSkhVeUJsZUhSbGJtUnpJR0Z1ZVZ0ZElEMGdZVzU1VzEwc1hHNGdJQ0FnVFVWVVNFOUVJR1Y0ZEdWdVpITWdUV1YwYUc5a1QzSlBjR1Z5WVhScGIyNGdQU0JOWlhSb2IyUlBjazl3WlhKaGRHbHZiaXhjYmlBZ1BpaGNiaUFnSUNCaGNtZHpPaUJOWVhsaVpVTnZiblJsZUhSMVlXeEJjbWM4Um1GaWNtbGpRMjl1ZEhKaFkzUkRiMjUwWlhoMExDQkJVa2RUUGl4Y2JpQWdJQ0J2Y0dWeVlYUnBiMjQ2SUUxRlZFaFBSRnh1SUNBcE9pQkdZV0p5YVdORGIyNTBaWGgwZFdGc2FYcGxaRUZ5WjNNOFFWSkhVeXdnVFVWVVNFOUVJR1Y0ZEdWdVpITWdjM1J5YVc1bklEOGdkSEoxWlNBNklHWmhiSE5sUGp0Y2JpQWdjSEp2ZEdWamRHVmtJR3h2WjBOMGVEeGNiaUFnSUNCQlVrZFRJR1Y0ZEdWdVpITWdZVzU1VzEwZ1BTQmhibmxiWFN4Y2JpQWdJQ0JOUlZSSVQwUWdaWGgwWlc1a2N5Qk5aWFJvYjJSUGNrOXdaWEpoZEdsdmJpQTlJRTFsZEdodlpFOXlUM0JsY21GMGFXOXVMRnh1SUNBK0tGeHVJQ0FnSUdGeVozTTZJRTFoZVdKbFEyOXVkR1Y0ZEhWaGJFRnlaenhHWVdKeWFXTkRiMjUwY21GamRFTnZiblJsZUhRc0lFRlNSMU0rTEZ4dUlDQWdJRzl3WlhKaGRHbHZiam9nVFVWVVNFOUVMRnh1SUNBZ0lHRnNiRzkzUTNKbFlYUmxPaUJtWVd4elpWeHVJQ0FwT2lCR1lXSnlhV05EYjI1MFpYaDBkV0ZzYVhwbFpFRnlaM004UVZKSFV5d2dUVVZVU0U5RUlHVjRkR1Z1WkhNZ2MzUnlhVzVuSUQ4Z2RISjFaU0E2SUdaaGJITmxQanRjYmlBZ2NISnZkR1ZqZEdWa0lHeHZaME4wZUR4Y2JpQWdJQ0JCVWtkVElHVjRkR1Z1WkhNZ1lXNTVXMTBnUFNCaGJubGJYU3hjYmlBZ0lDQk5SVlJJVDBRZ1pYaDBaVzVrY3lCTlpYUm9iMlJQY2s5d1pYSmhkR2x2YmlBOUlFMWxkR2h2WkU5eVQzQmxjbUYwYVc5dUxGeHVJQ0ErS0Z4dUlDQWdJR0Z5WjNNNklFMWhlV0psUTI5dWRHVjRkSFZoYkVGeVp6eEdZV0p5YVdORGIyNTBjbUZqZEVOdmJuUmxlSFFzSUVGU1IxTStMRnh1SUNBZ0lHOXdaWEpoZEdsdmJqb2dUVVZVU0U5RUxGeHVJQ0FnSUdGc2JHOTNRM0psWVhSbE9pQjBjblZsWEc0Z0lDazZJRkJ5YjIxcGMyVThYRzRnSUNBZ1JtRmljbWxqUTI5dWRHVjRkSFZoYkdsNlpXUkJjbWR6UEVGU1IxTXNJRTFGVkVoUFJDQmxlSFJsYm1SeklITjBjbWx1WnlBL0lIUnlkV1VnT2lCbVlXeHpaVDVjYmlBZ1BqdGNiaUFnY0hKdmRHVmpkR1ZrSUd4dlowTjBlRHhjYmlBZ0lDQkJVa2RUSUdWNGRHVnVaSE1nWVc1NVcxMGdQU0JoYm5sYlhTeGNiaUFnSUNCTlJWUklUMFFnWlhoMFpXNWtjeUJOWlhSb2IyUlBjazl3WlhKaGRHbHZiaUE5SUUxbGRHaHZaRTl5VDNCbGNtRjBhVzl1TEZ4dUlDQStLRnh1SUNBZ0lHRnlaM002SUUxaGVXSmxRMjl1ZEdWNGRIVmhiRUZ5Wnp4R1lXSnlhV05EYjI1MGNtRmpkRU52Ym5SbGVIUXNJRUZTUjFNK0xGeHVJQ0FnSUc5d1pYSmhkR2x2YmpvZ1RVVlVTRTlFTEZ4dUlDQWdJR0ZzYkc5M1EzSmxZWFJsT2lCaWIyOXNaV0Z1SUQwZ1ptRnNjMlZjYmlBZ0tUcGNiaUFnSUNCOElGQnliMjFwYzJVOFhHNGdJQ0FnSUNBZ0lFWmhZbkpwWTBOdmJuUmxlSFIxWVd4cGVtVmtRWEpuY3p4QlVrZFRMQ0JOUlZSSVQwUWdaWGgwWlc1a2N5QnpkSEpwYm1jZ1B5QjBjblZsSURvZ1ptRnNjMlUrWEc0Z0lDQWdJQ0ErWEc0Z0lDQWdmQ0JHWVdKeWFXTkRiMjUwWlhoMGRXRnNhWHBsWkVGeVozTThRVkpIVXl3Z1RVVlVTRTlFSUdWNGRHVnVaSE1nYzNSeWFXNW5JRDhnZEhKMVpTQTZJR1poYkhObFBpQjdYRzRnSUNBZ1kyOXVjM1FnWTNSNElEMGdZWEpuY3k1d2IzQW9LVHRjYmlBZ0lDQnBaaUFvSVdOMGVDQjhmQ0FoWTNSNExuTjBkV0lwSUh0Y2JpQWdJQ0FnSUhSb2NtOTNJRzVsZHlCTmFYTnphVzVuUTI5dWRHVjRkRVZ5Y205eUtHQk9ieUIyWVd4cFpDQmpiMjUwWlhoMElIQnliM1pwWkdWa0xpNHVZQ2s3WEc0Z0lDQWdmVnh1SUNBZ0lHTnZibk4wSUdOdmJuUmxlSFIxWVd4cGVtVmtJRDBnZEdocGN5NWhaR0Z3ZEdWeVcxd2liRzluUTNSNFhDSmRLRnh1SUNBZ0lDQWdXM1Z1WkdWbWFXNWxaQ3dnTGk0dVlYSm5jMTBnWVhNZ1lXNTVMRnh1SUNBZ0lDQWdiM0JsY21GMGFXOXVMRnh1SUNBZ0lDQWdZV3hzYjNkRGNtVmhkR1VnWVhNZ1lXNTVMRnh1SUNBZ0lDQWdZM1I0WEc0Z0lDQWdLU0JoYzF4dUlDQWdJQ0FnZkNCR1lXSnlhV05EYjI1MFpYaDBkV0ZzYVhwbFpFRnlaM004UVZKSFV5d2dUVVZVU0U5RUlHVjRkR1Z1WkhNZ2MzUnlhVzVuSUQ4Z2RISjFaU0E2SUdaaGJITmxQbHh1SUNBZ0lDQWdmQ0JRY205dGFYTmxQRnh1SUNBZ0lDQWdJQ0FnSUVaaFluSnBZME52Ym5SbGVIUjFZV3hwZW1Wa1FYSm5jenhCVWtkVExDQk5SVlJJVDBRZ1pYaDBaVzVrY3lCemRISnBibWNnUHlCMGNuVmxJRG9nWm1Gc2MyVStYRzRnSUNBZ0lDQWdJRDQ3WEc0Z0lDQWdablZ1WTNScGIyNGdjM0YxWVhOb1FYSm5jeWhqZEhnNklFWmhZbkpwWTBOdmJuUmxlSFIxWVd4cGVtVmtRWEpuY3lrZ2UxeHVJQ0FnSUNBZ1kzUjRMbU4wZUVGeVozTXVjMmhwWm5Rb0tUc2dMeThnY21WdGIzWmxjeUJoWkdSbFpDQnRiMlJsYkNCMGJ5QmhjbWR6WEc0Z0lDQWdJQ0J5WlhSMWNtNGdZM1I0SUdGeklHRnVlVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnBaaUFvSVNoamIyNTBaWGgwZFdGc2FYcGxaQ0JwYm5OMFlXNWpaVzltSUZCeWIyMXBjMlVwS1NCeVpYUjFjbTRnYzNGMVlYTm9RWEpuY3loamIyNTBaWGgwZFdGc2FYcGxaQ2s3WEc0Z0lDQWdjbVYwZFhKdUlHTnZiblJsZUhSMVlXeHBlbVZrTG5Sb1pXNG9jM0YxWVhOb1FYSm5jeWs3WEc0Z0lIMWNibjFjYmlKZGZRPT0iXX0=
152
+ //# sourceMappingURL=MigrationContract.js.map
153
+ //# sourceMappingURL=MigrationContract.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MigrationContract.js","sourceRoot":"","sources":["MigrationContract.js"],"names":[],"mappings":"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"}
@@ -38,5 +38,5 @@ exports.CustomizableSequence = CustomizableSequence = __decorate([
38
38
  (0, decorator_validation_1.model)(),
39
39
  __metadata("design:paramtypes", [Object])
40
40
  ], CustomizableSequence);
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHJpdmF0ZVNlcXVlbmNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbnRyYWN0cy9Qcml2YXRlU2VxdWVuY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdELE9BQU8sRUFBRSxLQUFLLEVBQWlCLFFBQVEsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUk3QyxJQUFNLG9CQUFvQixHQUExQixNQUFNLG9CQUFxQixTQUFRLFNBQVM7SUFnQmpELFlBQVksR0FBb0M7UUFDOUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2IsQ0FBQztDQUNGLENBQUE7QUFiQztJQURDLEVBQUUsRUFBRTs7Z0RBQ087QUFRWjtJQUZDLFFBQVEsRUFBRTtJQUNWLEtBQUssRUFBRTs7cURBQ2tCO0FBZGYsb0JBQW9CO0lBRmhDLEtBQUssQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDO0lBQzNCLEtBQUssRUFBRTs7R0FDSyxvQkFBb0IsQ0FtQmhDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZU1vZGVsLCBpbmRleCwgcGssIHRhYmxlIH0gZnJvbSBcIkBkZWNhZi10cy9jb3JlXCI7XG5pbXBvcnQgeyBtb2RlbCwgdHlwZSBNb2RlbEFyZywgcmVxdWlyZWQgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRvci12YWxpZGF0aW9uXCI7XG5pbXBvcnQgeyBDb3VjaERCS2V5cyB9IGZyb20gXCJAZGVjYWYtdHMvZm9yLWNvdWNoZGJcIjtcblxuQHRhYmxlKENvdWNoREJLZXlzLlNFUVVFTkNFKVxuQG1vZGVsKClcbmV4cG9ydCBjbGFzcyBDdXN0b21pemFibGVTZXF1ZW5jZSBleHRlbmRzIEJhc2VNb2RlbCB7XG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gVGhlIHVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGUgc2VxdWVuY2VcbiAgICogQHN1bW1hcnkgUHJpbWFyeSBrZXkgZm9yIHRoZSBzZXF1ZW5jZSByZWNvcmRcbiAgICovXG4gIEBwaygpXG4gIGlkITogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gVGhlIGN1cnJlbnQgdmFsdWUgb2YgdGhlIHNlcXVlbmNlXG4gICAqIEBzdW1tYXJ5IEN1cnJlbnQgc2VxdWVuY2UgdmFsdWUgdGhhdCBjYW4gYmUgaW5jcmVtZW50ZWRcbiAgICovXG4gIEByZXF1aXJlZCgpXG4gIEBpbmRleCgpXG4gIGN1cnJlbnQhOiBzdHJpbmcgfCBudW1iZXI7XG5cbiAgY29uc3RydWN0b3Ioc2VxPzogTW9kZWxBcmc8Q3VzdG9taXphYmxlU2VxdWVuY2U+KSB7XG4gICAgc3VwZXIoc2VxKTtcbiAgfVxufVxuIl19
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHJpdmF0ZVNlcXVlbmNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiUHJpdmF0ZVNlcXVlbmNlLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLElBQUksVUFBVSxHQUFHLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxVQUFVLFVBQVUsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLElBQUk7SUFDakYsSUFBSSxDQUFDLEdBQUcsU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLHdCQUF3QixDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUM3SCxJQUFJLE9BQU8sT0FBTyxLQUFLLFFBQVEsSUFBSSxPQUFPLE9BQU8sQ0FBQyxRQUFRLEtBQUssVUFBVTtRQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDOztRQUMxSCxLQUFLLElBQUksQ0FBQyxHQUFHLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFO1lBQUUsSUFBSSxDQUFDLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQztnQkFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xKLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUNsRSxDQUFDLENBQUM7QUFDRixJQUFJLFVBQVUsR0FBRyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksVUFBVSxDQUFDLEVBQUUsQ0FBQztJQUN4RCxJQUFJLE9BQU8sT0FBTyxLQUFLLFFBQVEsSUFBSSxPQUFPLE9BQU8sQ0FBQyxRQUFRLEtBQUssVUFBVTtRQUFFLE9BQU8sT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDN0csQ0FBQyxDQUFDO0FBQ0YseUNBQTZEO0FBQzdELHlFQUFpRTtBQUNqRSx1REFBb0Q7QUFDcEQsSUFBSSxvQkFBb0IsR0FBRyxNQUFNLG9CQUFxQixTQUFRLGdCQUFTO0lBQ25FLFlBQVksR0FBRztRQUNYLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNmLENBQUM7Q0FDSixDQUFDO0FBZU8sb0RBQW9CO0FBZDdCLFVBQVUsQ0FBQztJQUNQLElBQUEsU0FBRSxHQUFFO0lBQ0osVUFBVSxDQUFDLGFBQWEsRUFBRSxNQUFNLENBQUM7Q0FDcEMsRUFBRSxvQkFBb0IsQ0FBQyxTQUFTLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7QUFDakQsVUFBVSxDQUFDO0lBQ1AsSUFBQSwrQkFBUSxHQUFFO0lBQ1YsSUFBQSxZQUFLLEdBQUU7SUFDUCxVQUFVLENBQUMsYUFBYSxFQUFFLE1BQU0sQ0FBQztDQUNwQyxFQUFFLG9CQUFvQixDQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztBQUN0RCwrQkFBQSxvQkFBb0IsR0FBRyxVQUFVLENBQUM7SUFDOUIsSUFBQSxZQUFLLEVBQUMseUJBQVcsQ0FBQyxRQUFRLENBQUM7SUFDM0IsSUFBQSw0QkFBSyxHQUFFO0lBQ1AsVUFBVSxDQUFDLG1CQUFtQixFQUFFLENBQUMsTUFBTSxDQUFDLENBQUM7Q0FDNUMsRUFBRSxvQkFBb0IsQ0FBQyxDQUFDO0FBRXpCLDB4REFBMHhEIiwic291cmNlc0NvbnRlbnQiOlsidmFyIF9fZGVjb3JhdGUgPSAodGhpcyAmJiB0aGlzLl9fZGVjb3JhdGUpIHx8IGZ1bmN0aW9uIChkZWNvcmF0b3JzLCB0YXJnZXQsIGtleSwgZGVzYykge1xuICAgIHZhciBjID0gYXJndW1lbnRzLmxlbmd0aCwgciA9IGMgPCAzID8gdGFyZ2V0IDogZGVzYyA9PT0gbnVsbCA/IGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHRhcmdldCwga2V5KSA6IGRlc2MsIGQ7XG4gICAgaWYgKHR5cGVvZiBSZWZsZWN0ID09PSBcIm9iamVjdFwiICYmIHR5cGVvZiBSZWZsZWN0LmRlY29yYXRlID09PSBcImZ1bmN0aW9uXCIpIHIgPSBSZWZsZWN0LmRlY29yYXRlKGRlY29yYXRvcnMsIHRhcmdldCwga2V5LCBkZXNjKTtcbiAgICBlbHNlIGZvciAodmFyIGkgPSBkZWNvcmF0b3JzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSBpZiAoZCA9IGRlY29yYXRvcnNbaV0pIHIgPSAoYyA8IDMgPyBkKHIpIDogYyA+IDMgPyBkKHRhcmdldCwga2V5LCByKSA6IGQodGFyZ2V0LCBrZXkpKSB8fCByO1xuICAgIHJldHVybiBjID4gMyAmJiByICYmIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGtleSwgciksIHI7XG59O1xudmFyIF9fbWV0YWRhdGEgPSAodGhpcyAmJiB0aGlzLl9fbWV0YWRhdGEpIHx8IGZ1bmN0aW9uIChrLCB2KSB7XG4gICAgaWYgKHR5cGVvZiBSZWZsZWN0ID09PSBcIm9iamVjdFwiICYmIHR5cGVvZiBSZWZsZWN0Lm1ldGFkYXRhID09PSBcImZ1bmN0aW9uXCIpIHJldHVybiBSZWZsZWN0Lm1ldGFkYXRhKGssIHYpO1xufTtcbmltcG9ydCB7IEJhc2VNb2RlbCwgaW5kZXgsIHBrLCB0YWJsZSB9IGZyb20gXCJAZGVjYWYtdHMvY29yZVwiO1xuaW1wb3J0IHsgbW9kZWwsIHJlcXVpcmVkIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0b3ItdmFsaWRhdGlvblwiO1xuaW1wb3J0IHsgQ291Y2hEQktleXMgfSBmcm9tIFwiQGRlY2FmLXRzL2Zvci1jb3VjaGRiXCI7XG5sZXQgQ3VzdG9taXphYmxlU2VxdWVuY2UgPSBjbGFzcyBDdXN0b21pemFibGVTZXF1ZW5jZSBleHRlbmRzIEJhc2VNb2RlbCB7XG4gICAgY29uc3RydWN0b3Ioc2VxKSB7XG4gICAgICAgIHN1cGVyKHNlcSk7XG4gICAgfVxufTtcbl9fZGVjb3JhdGUoW1xuICAgIHBrKCksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIFN0cmluZylcbl0sIEN1c3RvbWl6YWJsZVNlcXVlbmNlLnByb3RvdHlwZSwgXCJpZFwiLCB2b2lkIDApO1xuX19kZWNvcmF0ZShbXG4gICAgcmVxdWlyZWQoKSxcbiAgICBpbmRleCgpLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBPYmplY3QpXG5dLCBDdXN0b21pemFibGVTZXF1ZW5jZS5wcm90b3R5cGUsIFwiY3VycmVudFwiLCB2b2lkIDApO1xuQ3VzdG9taXphYmxlU2VxdWVuY2UgPSBfX2RlY29yYXRlKFtcbiAgICB0YWJsZShDb3VjaERCS2V5cy5TRVFVRU5DRSksXG4gICAgbW9kZWwoKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnBhcmFtdHlwZXNcIiwgW09iamVjdF0pXG5dLCBDdXN0b21pemFibGVTZXF1ZW5jZSk7XG5leHBvcnQgeyBDdXN0b21pemFibGVTZXF1ZW5jZSB9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pVUhKcGRtRjBaVk5sY1hWbGJtTmxMbXB6SWl3aWMyOTFjbU5sVW05dmRDSTZJaUlzSW5OdmRYSmpaWE1pT2xzaUxpNHZMaTR2TGk0dmMzSmpMMk52Ym5SeVlXTjBjeTlRY21sMllYUmxVMlZ4ZFdWdVkyVXVkSE1pWFN3aWJtRnRaWE1pT2x0ZExDSnRZWEJ3YVc1bmN5STZJanM3T3pzN096czdPMEZCUVVFc1QwRkJUeXhGUVVGRkxGTkJRVk1zUlVGQlJTeExRVUZMTEVWQlFVVXNSVUZCUlN4RlFVRkZMRXRCUVVzc1JVRkJSU3hOUVVGTkxHZENRVUZuUWl4RFFVRkRPMEZCUXpkRUxFOUJRVThzUlVGQlJTeExRVUZMTEVWQlFXbENMRkZCUVZFc1JVRkJSU3hOUVVGTkxHZERRVUZuUXl4RFFVRkRPMEZCUTJoR0xFOUJRVThzUlVGQlJTeFhRVUZYTEVWQlFVVXNUVUZCVFN4MVFrRkJkVUlzUTBGQlF6dEJRVWszUXl4SlFVRk5MRzlDUVVGdlFpeEhRVUV4UWl4TlFVRk5MRzlDUVVGeFFpeFRRVUZSTEZOQlFWTTdTVUZuUW1wRUxGbEJRVmtzUjBGQmIwTTdVVUZET1VNc1MwRkJTeXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETzBsQlEySXNRMEZCUXp0RFFVTkdMRU5CUVVFN1FVRmlRenRKUVVSRExFVkJRVVVzUlVGQlJUczdaMFJCUTA4N1FVRlJXanRKUVVaRExGRkJRVkVzUlVGQlJUdEpRVU5XTEV0QlFVc3NSVUZCUlRzN2NVUkJRMnRDTzBGQlpHWXNiMEpCUVc5Q08wbEJSbWhETEV0QlFVc3NRMEZCUXl4WFFVRlhMRU5CUVVNc1VVRkJVU3hEUVVGRE8wbEJRek5DTEV0QlFVc3NSVUZCUlRzN1IwRkRTeXh2UWtGQmIwSXNRMEZ0UW1oRElpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lhVzF3YjNKMElIc2dRbUZ6WlUxdlpHVnNMQ0JwYm1SbGVDd2djR3NzSUhSaFlteGxJSDBnWm5KdmJTQmNJa0JrWldOaFppMTBjeTlqYjNKbFhDSTdYRzVwYlhCdmNuUWdleUJ0YjJSbGJDd2dkSGx3WlNCTmIyUmxiRUZ5Wnl3Z2NtVnhkV2x5WldRZ2ZTQm1jbTl0SUZ3aVFHUmxZMkZtTFhSekwyUmxZMjl5WVhSdmNpMTJZV3hwWkdGMGFXOXVYQ0k3WEc1cGJYQnZjblFnZXlCRGIzVmphRVJDUzJWNWN5QjlJR1p5YjIwZ1hDSkFaR1ZqWVdZdGRITXZabTl5TFdOdmRXTm9aR0pjSWp0Y2JseHVRSFJoWW14bEtFTnZkV05vUkVKTFpYbHpMbE5GVVZWRlRrTkZLVnh1UUcxdlpHVnNLQ2xjYm1WNGNHOXlkQ0JqYkdGemN5QkRkWE4wYjIxcGVtRmliR1ZUWlhGMVpXNWpaU0JsZUhSbGJtUnpJRUpoYzJWTmIyUmxiQ0I3WEc0Z0lDOHFLbHh1SUNBZ0tpQkFaR1Z6WTNKcGNIUnBiMjRnVkdobElIVnVhWEYxWlNCcFpHVnVkR2xtYVdWeUlHWnZjaUIwYUdVZ2MyVnhkV1Z1WTJWY2JpQWdJQ29nUUhOMWJXMWhjbmtnVUhKcGJXRnllU0JyWlhrZ1ptOXlJSFJvWlNCelpYRjFaVzVqWlNCeVpXTnZjbVJjYmlBZ0lDb3ZYRzRnSUVCd2F5Z3BYRzRnSUdsa0lUb2djM1J5YVc1bk8xeHVYRzRnSUM4cUtseHVJQ0FnS2lCQVpHVnpZM0pwY0hScGIyNGdWR2hsSUdOMWNuSmxiblFnZG1Gc2RXVWdiMllnZEdobElITmxjWFZsYm1ObFhHNGdJQ0FxSUVCemRXMXRZWEo1SUVOMWNuSmxiblFnYzJWeGRXVnVZMlVnZG1Gc2RXVWdkR2hoZENCallXNGdZbVVnYVc1amNtVnRaVzUwWldSY2JpQWdJQ292WEc0Z0lFQnlaWEYxYVhKbFpDZ3BYRzRnSUVCcGJtUmxlQ2dwWEc0Z0lHTjFjbkpsYm5RaE9pQnpkSEpwYm1jZ2ZDQnVkVzFpWlhJN1hHNWNiaUFnWTI5dWMzUnlkV04wYjNJb2MyVnhQem9nVFc5a1pXeEJjbWM4UTNWemRHOXRhWHBoWW14bFUyVnhkV1Z1WTJVK0tTQjdYRzRnSUNBZ2MzVndaWElvYzJWeEtUdGNiaUFnZlZ4dWZWeHVJbDE5Il19
41
+ //# sourceMappingURL=PrivateSequence.js.map
42
+ //# sourceMappingURL=PrivateSequence.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PrivateSequence.js","sourceRoot":"","sources":["PrivateSequence.js"],"names":[],"mappings":";;;AAAA,IAAI,UAAU,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,UAAU,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI;IACjF,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAC7H,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU;QAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;;QAC1H,KAAK,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;YAAE,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC;gBAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;IAClJ,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;AAClE,CAAC,CAAC;AACF,IAAI,UAAU,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,EAAE,CAAC;IACxD,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU;QAAE,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC7G,CAAC,CAAC;AACF,yCAA6D;AAC7D,yEAAiE;AACjE,uDAAoD;AACpD,IAAI,oBAAoB,GAAG,MAAM,oBAAqB,SAAQ,gBAAS;IACnE,YAAY,GAAG;QACX,KAAK,CAAC,GAAG,CAAC,CAAC;IACf,CAAC;CACJ,CAAC;AAeO,oDAAoB;AAd7B,UAAU,CAAC;IACP,IAAA,SAAE,GAAE;IACJ,UAAU,CAAC,aAAa,EAAE,MAAM,CAAC;CACpC,EAAE,oBAAoB,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;AACjD,UAAU,CAAC;IACP,IAAA,+BAAQ,GAAE;IACV,IAAA,YAAK,GAAE;IACP,UAAU,CAAC,aAAa,EAAE,MAAM,CAAC;CACpC,EAAE,oBAAoB,CAAC,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;AACtD,+BAAA,oBAAoB,GAAG,UAAU,CAAC;IAC9B,IAAA,YAAK,EAAC,yBAAW,CAAC,QAAQ,CAAC;IAC3B,IAAA,4BAAK,GAAE;IACP,UAAU,CAAC,mBAAmB,EAAE,CAAC,MAAM,CAAC,CAAC;CAC5C,EAAE,oBAAoB,CAAC,CAAC;AAEzB,2CAA2C"}
@@ -81,5 +81,5 @@ function onlyMsp(msp) {
81
81
  function onlyNamespaceRole(namespace, role) {
82
82
  return hlfAllowIf(namespaceHandler, { namespace: namespace, role: role });
83
83
  }
84
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjb3JhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb250cmFjdHMvYXV0aC9kZWNvcmF0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxrQkFBa0IsR0FFbkIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDeEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGdDQUEyQjtBQUV6RCxNQUFNLFVBQVUsVUFBVSxDQUFDLE9BQW9CLEVBQUUsR0FBRyxJQUFXO0lBQzdELE9BQU8sU0FBUyxPQUFPLENBQUMsR0FBVyxFQUFFLFdBQWlCLEVBQUUsVUFBZ0I7UUFDdEUsVUFBVSxDQUFDLEtBQUssR0FBRyxJQUFJLEtBQUssQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFO1lBQzdDLEtBQUssQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLE9BQW1DLEVBQUUsSUFBSTtnQkFDM0QsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUM3QixJQUFJLENBQUMsT0FBTyxJQUFJLENBQUUsT0FBZSxDQUFDLElBQUk7b0JBQ3BDLE1BQU0sSUFBSSxtQkFBbUIsQ0FDM0IsaUZBQWlGLENBQ2xGLENBQUM7Z0JBQ0osTUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFHLE1BQU0sT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUNyQyxDQUFDLEdBQUcsSUFBSSxFQUFFLE9BQU8sQ0FBQyxFQUNsQixNQUFNLENBQUMsSUFBSSxFQUNYLElBQUksQ0FDTCxDQUFDO2dCQUNGLElBQUksS0FBZ0MsQ0FBQztnQkFDckMsSUFBSSxDQUFDO29CQUNILEtBQUssR0FBRyxPQUFPLENBQUMsR0FBRyxJQUFJLEVBQUUsR0FBRyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUM7Z0JBQ3pDLENBQUM7Z0JBQUMsT0FBTyxDQUFVLEVBQUUsQ0FBQztvQkFDcEIs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QyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDNUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDdEMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMxQixPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUMsRUFDRCxFQUE4QixDQUMvQixDQUFDO0lBRUYsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO1FBQ3JFLE9BQU8sSUFBSSxrQkFBa0IsQ0FDM0IsNkJBQTZCLElBQUksZ0NBQWdDLFNBQVMsa0JBQWtCLFlBQVksQ0FBQyxTQUFTLENBQUMsSUFBSSxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUMzTCxDQUFDO0FBQ04sQ0FBQztBQUVELE1BQU0sVUFBVSxPQUFPLENBQUMsR0FBVztJQUNqQyxPQUFPLFVBQVUsQ0FBQyxVQUFVLEVBQUUsR0FBRyxDQUFDLENBQUM7QUFDckMsQ0FBQztBQUVELE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxTQUFpQixFQUFFLElBQWE7SUFDaEUsT0FBTyxVQUFVLENBQUMsZ0JBQWdCLEVBQUUsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0FBQzVFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBdXRoSGFuZGxlcixcbiAgQXV0aG9yaXphdGlvbkVycm9yLFxuICBDb250ZXh0dWFsTG9nZ2VkQ2xhc3MsXG59IGZyb20gXCJAZGVjYWYtdHMvY29yZVwiO1xuaW1wb3J0IHsgSW50ZXJuYWxFcnJvciB9IGZyb20gXCJAZGVjYWYtdHMvZGItZGVjb3JhdG9yc1wiO1xuaW1wb3J0IHsgTWlzc2luZ0NvbnRleHRFcnJvciB9IGZyb20gXCIuLi8uLi9zaGFyZWQvaW5kZXhcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIGhsZkFsbG93SWYoaGFuZGxlcjogQXV0aEhhbmRsZXIsIC4uLmFyZ3o6IGFueVtdKSB7XG4gIHJldHVybiBmdW5jdGlvbiBhbGxvd0lmKG9iajogb2JqZWN0LCBwcm9wZXJ0eUtleT86IGFueSwgZGVzY3JpcHRvcj86IGFueSkge1xuICAgIGRlc2NyaXB0b3IudmFsdWUgPSBuZXcgUHJveHkoZGVzY3JpcHRvci52YWx1ZSwge1xuICAgICAgYXN5bmMgYXBwbHkodGFyZ2V0LCB0aGlzQXJnOiBDb250ZXh0dWFsTG9nZ2VkQ2xhc3M8YW55PiwgYXJncykge1xuICAgICAgICBjb25zdCBjb250ZXh0ID0gYXJncy5zaGlmdCgpO1xuICAgICAgICBpZiAoIWNvbnRleHQgfHwgIShjb250ZXh0IGFzIGFueSkuc3R1YilcbiAgICAgICAgICB0aHJvdyBuZXcgTWlzc2luZ0NvbnRleHRFcnJvcihcbiAgICAgICAgICAgIGBcImludmFsaWQgY29udGV4dCBwcm92aWRlZC4gdGhpcyBkZWNvcmF0b3Igb25seSB3b3JrcyBvbiBmYWJyaWMgY29udHJhY3QgbWV0aG9kc2BcbiAgICAgICAgICApO1xuICAgICAgICBjb25zdCB7IGN0eCB9ID0gYXdhaXQgdGhpc0FyZ1tcImxvZ0N0eFwiXShcbiAgICAgICAgICBbLi4uYXJncywgY29udGV4dF0sXG4gICAgICAgICAgdGFyZ2V0Lm5hbWUsXG4gICAgICAgICAgdHJ1ZVxuICAgICAgICApO1xuICAgICAgICBsZXQgZXJyb3I6IHZvaWQgfCBBdXRob3JpemF0aW9uRXJyb3I7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgZXJyb3IgPSBoYW5kbGVyKC4uLmFyZ3MsIC4uLmFyZ3osIGN0eCk7XG4gICAgICAgIH0gY2F0Y2ggKGU6IHVua25vd24pIHtcbiAgICAgICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihcbiAgICAgICAgICAgIGBGYWlsZWQgdG8gZXhlY3V0ZSBhdXRoIHZhbGlkYXRpb24gaGFuZGxlciBmb3IgJHtvYmouY29uc3RydWN0b3IubmFtZX0uJHtwcm9wZXJ0eUtleX06ICR7ZX1gXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZXJyb3IpXG4gICAgICAgICAgdGhyb3cgbmV3IEF1dGhvcml6YXRpb25FcnJvcihcbiAgICAgICAgICAgIGBVTkFVVEhPUklaRUQgJHtvYmouY29uc3RydWN0b3IubmFtZX0uJHtwcm9wZXJ0eUtleX06ICR7ZXJyb3J9YFxuICAgICAgICAgICk7XG4gICAgICAgIHJldHVybiB0YXJnZXQuY2FsbCh0aGlzQXJnLCBjdHgsIC4uLmFyZ3MpO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1zcEhhbmRsZXIoLi4uYXJnczogYW55W10pIHtcbiAgY29uc3QgY29udGV4dCA9IGFyZ3MucG9wKCk7XG4gIGlmICghY29udGV4dClcbiAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihcIkNvbnRleHQgaXMgcmVxdWlyZWQgZm9yIG5hbWVzcGFjZSBhdXRob3JpemF0aW9uXCIpO1xuICBjb25zdCBtc3AgPSBhcmdzLnBvcCgpO1xuICBpZiAoIW1zcClcbiAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihcIk1zcCBpcyByZXF1aXJlZCBmb3IgbmFtZXNwYWNlIGF1dGhvcml6YXRpb25cIik7XG4gIGNvbnN0IHsgc3R1YiB9ID0gY29udGV4dDtcbiAgY29uc3QgeyBtc3BpZCB9ID0gc3R1Yi5nZXRDcmVhdG9yKCk7XG4gIGlmIChtc3BpZCAhPT0gbXNwKVxuICAgIHJldHVybiBuZXcgQXV0aG9yaXphdGlvbkVycm9yKFxuICAgICAgYE5hbWVzcGFjZSBhdXRob3JpemF0aW9uIGZhaWxlZCBmb3IgbXNwOiAke21zcGlkfS4gb25seSAke21zcH0gY2FuIGFjY2Vzc2BcbiAgICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbmFtZXNwYWNlSGFuZGxlciguLi5hcmdzOiBhbnlbXSkge1xuICBjb25zdCBjb250ZXh0ID0gYXJncy5wb3AoKTtcbiAgaWYgKCFjb250ZXh0KVxuICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKFwiQ29udGV4dCBpcyByZXF1aXJlZCBmb3IgbmFtZXNwYWNlIGF1dGhvcml6YXRpb25cIik7XG4gIGNvbnN0IHsgcm9sZSwgbmFtZXNwYWNlIH0gPSBhcmdzLnBvcCgpO1xuICBpZiAoIW5hbWVzcGFjZSlcbiAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihcbiAgICAgIFwibmFtZXNwYWNlIGlzIHJlcXVpcmVkIGZvciBuYW1lc3BhY2UgYXV0aG9yaXphdGlvblwiXG4gICAgKTtcbiAgY29uc3QgeyBpZGVudGl0eSB9ID0gY29udGV4dDtcbiAgbGV0IHJvbGVzOiBzdHJpbmdbXTtcbiAgdHJ5IHtcbiAgICByb2xlcyA9IEpTT04ucGFyc2UoaWRlbnRpdHkuZ2V0QXR0cmlidXRlVmFsdWUoXCJyb2xlc1wiKSkgYXMgc3RyaW5nW107XG4gIH0gY2F0Y2ggKGU6IHVua25vd24pIHtcbiAgICByZXR1cm4gbmV3IEF1dGhvcml6YXRpb25FcnJvcihcbiAgICAgIGBOYW1lc3BhY2UgYXV0aG9yaXphdGlvbiBubyBuYW1lc3BhY2VzIGZvdW5kOiAke2V9YFxuICAgICk7XG4gIH1cblxuICBpZiAoIXJvbGVzKVxuICAgIHJldHVybiBuZXcgQXV0aG9yaXphdGlvbkVycm9yKFxuICAgICAgYG5vIHJvbGVzIG9yIG5hbWVzcGFjZXMgZm91bmQgZm9yIG5hbWVzcGFjZSBhdXRob3JpemF0aW9uYFxuICAgICk7XG5cbiAgY29uc3QgYWxsb3dlZE5hbWVzcGFjZXMgPSBbXG4gICAgLi4ubmV3IFNldChyb2xlcy5tYXAoKHJvbGUpID0+IHJvbGUuc3BsaXQoL1s6LV0vZylbMF0pKSxcbiAgXTtcblxuICBpZiAoIWFsbG93ZWROYW1lc3BhY2VzLmluY2x1ZGVzKG5hbWVzcGFjZSkpXG4gICAgcmV0dXJuIG5ldyBBdXRob3JpemF0aW9uRXJyb3IoXG4gICAgICBgTmFtZXNwYWNlIGF1dGhvcml6YXRpb24gZXJyb3I6ICR7bmFtZXNwYWNlfSByZXF1aXJlZGBcbiAgICApO1xuXG4gIGlmICghcm9sZSkgcmV0dXJuO1xuXG4gIGNvbnN0IGFsbG93ZWRSb2xlcyA9IHJvbGVzLnJlZHVjZShcbiAgICAoYWNjLCBlbCkgPT4ge1xuICAgICAgY29uc3QgW25hbWVzcGFjZSwgcm9sZV0gPSBlbC5zcGxpdCgvWzotXS9nKTtcbiAgICAgIGFjY1tuYW1lc3BhY2VdID0gYWNjW25hbWVzcGFjZV0gfHwgW107XG4gICAgICBhY2NbbmFtZXNwYWNlXS5wdXNoKHJvbGUpO1xuICAgICAgcmV0dXJuIGFjYztcbiAgICB9LFxuICAgIHt9IGFzIFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPlxuICApO1xuXG4gIGlmICghYWxsb3dlZFJvbGVzW25hbWVzcGFjZV0gfHwgIWFsbG93ZWRSb2xlc1tuYW1lc3BhY2VdLmluY2x1ZGVzKHJvbGUpKVxuICAgIHJldHVybiBuZXcgQXV0aG9yaXphdGlvbkVycm9yKFxuICAgICAgYFJvbGUgYXV0aG9yaXphdGlvbiBlcnJvcjogJHtyb2xlfSByb2xlIHJlcXVpcmVkIGZvciBuYW1lc3BhY2UgJHtuYW1lc3BhY2V9LiBSb2xlcyBmb3VuZDogJHthbGxvd2VkUm9sZXNbbmFtZXNwYWNlXSAmJiBhbGxvd2VkUm9sZXNbbmFtZXNwYWNlXS5sZW5ndGggPyBhbGxvd2VkUm9sZXNbbmFtZXNwYWNlXSA6IFwibm9uZVwifWBcbiAgICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gb25seU1zcChtc3A6IHN0cmluZykge1xuICByZXR1cm4gaGxmQWxsb3dJZihtc3BIYW5kbGVyLCBtc3ApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gb25seU5hbWVzcGFjZVJvbGUobmFtZXNwYWNlOiBzdHJpbmcsIHJvbGU/OiBzdHJpbmcpIHtcbiAgcmV0dXJuIGhsZkFsbG93SWYobmFtZXNwYWNlSGFuZGxlciwgeyBuYW1lc3BhY2U6IG5hbWVzcGFjZSwgcm9sZTogcm9sZSB9KTtcbn1cbiJdfQ==
85
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjb3JhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImRlY29yYXRvcnMuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFHQSxnQ0FxQkM7QUFDRCxnQ0FXQztBQUNELDRDQWdDQztBQUNELDBCQUVDO0FBQ0QsOENBRUM7QUEzRUQseUNBQXFEO0FBQ3JELDJEQUF3RDtBQUN4RCxzREFBOEQ7QUFDOUQsU0FBZ0IsVUFBVSxDQUFDLE9BQU8sRUFBRSxHQUFHLElBQUk7SUFDdkMsT0FBTyxTQUFTLE9BQU8sQ0FBQyxHQUFHLEVBQUUsV0FBVyxFQUFFLFVBQVU7UUFDaEQsVUFBVSxDQUFDLEtBQUssR0FBRyxJQUFJLEtBQUssQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFO1lBQzNDLEtBQUssQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxJQUFJO2dCQUM3QixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQzdCLElBQUksQ0FBQyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSTtvQkFDekIsTUFBTSxJQUFJLDhCQUFtQixDQUFDLGlGQUFpRixDQUFDLENBQUM7Z0JBQ3JILE1BQU0sRUFBRSxHQUFHLEVBQUUsR0FBRyxNQUFNLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxFQUFFLE9BQU8sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7Z0JBQy9FLElBQUksS0FBSyxDQUFDO2dCQUNWLElBQUksQ0FBQztvQkFDRCxLQUFLLEdBQUcsT0FBTyxDQUFDLEdBQUcsSUFBSSxFQUFFLEdBQUcsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDO2dCQUMzQyxDQUFDO2dCQUNELE9BQU8sQ0FBQyxFQUFFLENBQUM7b0JBQ1AsTUFBTSxJQUFJLDZCQUFhLENBQUMsaURBQWlELEdBQUcsQ0FBQyxXQUFXLENBQUMsSUFBSSxJQUFJLFdBQVcsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUMxSCxDQUFDO2dCQUNELElBQUksS0FBSztvQkFDTCxNQUFNLElBQUkseUJBQWtCLENBQUMsZ0JBQWdCLEdBQUcsQ0FBQyxXQUFXLENBQUMsSUFBSSxJQUFJLFdBQVcsS0FBSyxLQUFLLEVBQUUsQ0FBQyxDQUFDO2dCQUNsRyxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDO1lBQzlDLENBQUM7U0FDSixDQUFDLENBQUM7SUFDUCxDQUFDLENBQUM7QUFDTixDQUFDO0FBQ0QsU0FBZ0IsVUFBVSxDQUFDLEdBQUcsSUFBSTtJQUM5QixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDM0IsSUFBSSxDQUFDLE9BQU87UUFDUixNQUFNLElBQUksNkJBQWEsQ0FBQyxpREFBaUQsQ0FBQyxDQUFDO0lBQy9FLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUN2QixJQUFJLENBQUMsR0FBRztRQUNKLE1BQU0sSUFBSSw2QkFBYSxDQUFDLDZDQUE2QyxDQUFDLENBQUM7SUFDM0UsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLE9BQU8sQ0FBQztJQUN6QixNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3BDLElBQUksS0FBSyxLQUFLLEdBQUc7UUFDYixPQUFPLElBQUkseUJBQWtCLENBQUMsMkNBQTJDLEtBQUssVUFBVSxHQUFHLGFBQWEsQ0FBQyxDQUFDO0FBQ2xILENBQUM7QUFDRCxTQUFnQixnQkFBZ0IsQ0FBQyxHQUFHLElBQUk7SUFDcEMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBQzNCLElBQUksQ0FBQyxPQUFPO1FBQ1IsTUFBTSxJQUFJLDZCQUFhLENBQUMsaURBQWlELENBQUMsQ0FBQztJQUMvRSxNQUFNLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUN2QyxJQUFJLENBQUMsU0FBUztRQUNWLE1BQU0sSUFBSSw2QkFBYSxDQUFDLG1EQUFtRCxDQUFDLENBQUM7SUFDakYsTUFBTSxFQUFFLFFBQVEsRUFBRSxHQUFHLE9BQU8sQ0FBQztJQUM3QixJQUFJLEtBQUssQ0FBQztJQUNWLElBQUksQ0FBQztRQUNELEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFDRCxPQUFPLENBQUMsRUFBRSxDQUFDO1FBQ1AsT0FBTyxJQUFJLHlCQUFrQixDQUFDLGdEQUFnRCxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZGLENBQUM7SUFDRCxJQUFJLENBQUMsS0FBSztRQUNOLE9BQU8sSUFBSSx5QkFBa0IsQ0FBQywwREFBMEQsQ0FBQyxDQUFDO0lBQzlGLE1BQU0saUJBQWlCLEdBQUc7UUFDdEIsR0FBRyxJQUFJLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7S0FDMUQsQ0FBQztJQUNGLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDO1FBQ3RDLE9BQU8sSUFBSSx5QkFBa0IsQ0FBQyxrQ0FBa0MsU0FBUyxXQUFXLENBQUMsQ0FBQztJQUMxRixJQUFJLENBQUMsSUFBSTtRQUNMLE9BQU87SUFDWCxNQUFNLFlBQVksR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsRUFBRSxFQUFFO1FBQzFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM1QyxHQUFHLENBQUMsU0FBUyxDQUFDLEdBQUcsR0FBRyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN0QyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzFCLE9BQU8sR0FBRyxDQUFDO0lBQ2YsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ1AsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO1FBQ25FLE9BQU8sSUFBSSx5QkFBa0IsQ0FBQyw2QkFBNkIsSUFBSSxnQ0FBZ0MsU0FBUyxrQkFBa0IsWUFBWSxDQUFDLFNBQVMsQ0FBQyxJQUFJLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztBQUNsTyxDQUFDO0FBQ0QsU0FBZ0IsT0FBTyxDQUFDLEdBQUc7SUFDdkIsT0FBTyxVQUFVLENBQUMsVUFBVSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0FBQ3ZDLENBQUM7QUFDRCxTQUFnQixpQkFBaUIsQ0FBQyxTQUFTLEVBQUUsSUFBSTtJQUM3QyxPQUFPLFVBQVUsQ0FBQyxnQkFBZ0IsRUFBRSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7QUFDOUUsQ0FBQztBQUNELHM5U0FBczlTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXV0aG9yaXphdGlvbkVycm9yLCB9IGZyb20gXCJAZGVjYWYtdHMvY29yZVwiO1xuaW1wb3J0IHsgSW50ZXJuYWxFcnJvciB9IGZyb20gXCJAZGVjYWYtdHMvZGItZGVjb3JhdG9yc1wiO1xuaW1wb3J0IHsgTWlzc2luZ0NvbnRleHRFcnJvciB9IGZyb20gXCIuLy4uLy4uL3NoYXJlZC9pbmRleC5qc1wiO1xuZXhwb3J0IGZ1bmN0aW9uIGhsZkFsbG93SWYoaGFuZGxlciwgLi4uYXJneikge1xuICAgIHJldHVybiBmdW5jdGlvbiBhbGxvd0lmKG9iaiwgcHJvcGVydHlLZXksIGRlc2NyaXB0b3IpIHtcbiAgICAgICAgZGVzY3JpcHRvci52YWx1ZSA9IG5ldyBQcm94eShkZXNjcmlwdG9yLnZhbHVlLCB7XG4gICAgICAgICAgICBhc3luYyBhcHBseSh0YXJnZXQsIHRoaXNBcmcsIGFyZ3MpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBjb250ZXh0ID0gYXJncy5zaGlmdCgpO1xuICAgICAgICAgICAgICAgIGlmICghY29udGV4dCB8fCAhY29udGV4dC5zdHViKVxuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgTWlzc2luZ0NvbnRleHRFcnJvcihgXCJpbnZhbGlkIGNvbnRleHQgcHJvdmlkZWQuIHRoaXMgZGVjb3JhdG9yIG9ubHkgd29ya3Mgb24gZmFicmljIGNvbnRyYWN0IG1ldGhvZHNgKTtcbiAgICAgICAgICAgICAgICBjb25zdCB7IGN0eCB9ID0gYXdhaXQgdGhpc0FyZ1tcImxvZ0N0eFwiXShbLi4uYXJncywgY29udGV4dF0sIHRhcmdldC5uYW1lLCB0cnVlKTtcbiAgICAgICAgICAgICAgICBsZXQgZXJyb3I7XG4gICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgZXJyb3IgPSBoYW5kbGVyKC4uLmFyZ3MsIC4uLmFyZ3osIGN0eCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNhdGNoIChlKSB7XG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKGBGYWlsZWQgdG8gZXhlY3V0ZSBhdXRoIHZhbGlkYXRpb24gaGFuZGxlciBmb3IgJHtvYmouY29uc3RydWN0b3IubmFtZX0uJHtwcm9wZXJ0eUtleX06ICR7ZX1gKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGVycm9yKVxuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgQXV0aG9yaXphdGlvbkVycm9yKGBVTkFVVEhPUklaRUQgJHtvYmouY29uc3RydWN0b3IubmFtZX0uJHtwcm9wZXJ0eUtleX06ICR7ZXJyb3J9YCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRhcmdldC5jYWxsKHRoaXNBcmcsIGN0eCwgLi4uYXJncyk7XG4gICAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICB9O1xufVxuZXhwb3J0IGZ1bmN0aW9uIG1zcEhhbmRsZXIoLi4uYXJncykge1xuICAgIGNvbnN0IGNvbnRleHQgPSBhcmdzLnBvcCgpO1xuICAgIGlmICghY29udGV4dClcbiAgICAgICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoXCJDb250ZXh0IGlzIHJlcXVpcmVkIGZvciBuYW1lc3BhY2UgYXV0aG9yaXphdGlvblwiKTtcbiAgICBjb25zdCBtc3AgPSBhcmdzLnBvcCgpO1xuICAgIGlmICghbXNwKVxuICAgICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihcIk1zcCBpcyByZXF1aXJlZCBmb3IgbmFtZXNwYWNlIGF1dGhvcml6YXRpb25cIik7XG4gICAgY29uc3QgeyBzdHViIH0gPSBjb250ZXh0O1xuICAgIGNvbnN0IHsgbXNwaWQgfSA9IHN0dWIuZ2V0Q3JlYXRvcigpO1xuICAgIGlmIChtc3BpZCAhPT0gbXNwKVxuICAgICAgICByZXR1cm4gbmV3IEF1dGhvcml6YXRpb25FcnJvcihgTmFtZXNwYWNlIGF1dGhvcml6YXRpb24gZmFpbGVkIGZvciBtc3A6ICR7bXNwaWR9LiBvbmx5ICR7bXNwfSBjYW4gYWNjZXNzYCk7XG59XG5leHBvcnQgZnVuY3Rpb24gbmFtZXNwYWNlSGFuZGxlciguLi5hcmdzKSB7XG4gICAgY29uc3QgY29udGV4dCA9IGFyZ3MucG9wKCk7XG4gICAgaWYgKCFjb250ZXh0KVxuICAgICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihcIkNvbnRleHQgaXMgcmVxdWlyZWQgZm9yIG5hbWVzcGFjZSBhdXRob3JpemF0aW9uXCIpO1xuICAgIGNvbnN0IHsgcm9sZSwgbmFtZXNwYWNlIH0gPSBhcmdzLnBvcCgpO1xuICAgIGlmICghbmFtZXNwYWNlKVxuICAgICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihcIm5hbWVzcGFjZSBpcyByZXF1aXJlZCBmb3IgbmFtZXNwYWNlIGF1dGhvcml6YXRpb25cIik7XG4gICAgY29uc3QgeyBpZGVudGl0eSB9ID0gY29udGV4dDtcbiAgICBsZXQgcm9sZXM7XG4gICAgdHJ5IHtcbiAgICAgICAgcm9sZXMgPSBKU09OLnBhcnNlKGlkZW50aXR5LmdldEF0dHJpYnV0ZVZhbHVlKFwicm9sZXNcIikpO1xuICAgIH1cbiAgICBjYXRjaCAoZSkge1xuICAgICAgICByZXR1cm4gbmV3IEF1dGhvcml6YXRpb25FcnJvcihgTmFtZXNwYWNlIGF1dGhvcml6YXRpb24gbm8gbmFtZXNwYWNlcyBmb3VuZDogJHtlfWApO1xuICAgIH1cbiAgICBpZiAoIXJvbGVzKVxuICAgICAgICByZXR1cm4gbmV3IEF1dGhvcml6YXRpb25FcnJvcihgbm8gcm9sZXMgb3IgbmFtZXNwYWNlcyBmb3VuZCBmb3IgbmFtZXNwYWNlIGF1dGhvcml6YXRpb25gKTtcbiAgICBjb25zdCBhbGxvd2VkTmFtZXNwYWNlcyA9IFtcbiAgICAgICAgLi4ubmV3IFNldChyb2xlcy5tYXAoKHJvbGUpID0+IHJvbGUuc3BsaXQoL1s6LV0vZylbMF0pKSxcbiAgICBdO1xuICAgIGlmICghYWxsb3dlZE5hbWVzcGFjZXMuaW5jbHVkZXMobmFtZXNwYWNlKSlcbiAgICAgICAgcmV0dXJuIG5ldyBBdXRob3JpemF0aW9uRXJyb3IoYE5hbWVzcGFjZSBhdXRob3JpemF0aW9uIGVycm9yOiAke25hbWVzcGFjZX0gcmVxdWlyZWRgKTtcbiAgICBpZiAoIXJvbGUpXG4gICAgICAgIHJldHVybjtcbiAgICBjb25zdCBhbGxvd2VkUm9sZXMgPSByb2xlcy5yZWR1Y2UoKGFjYywgZWwpID0+IHtcbiAgICAgICAgY29uc3QgW25hbWVzcGFjZSwgcm9sZV0gPSBlbC5zcGxpdCgvWzotXS9nKTtcbiAgICAgICAgYWNjW25hbWVzcGFjZV0gPSBhY2NbbmFtZXNwYWNlXSB8fCBbXTtcbiAgICAgICAgYWNjW25hbWVzcGFjZV0ucHVzaChyb2xlKTtcbiAgICAgICAgcmV0dXJuIGFjYztcbiAgICB9LCB7fSk7XG4gICAgaWYgKCFhbGxvd2VkUm9sZXNbbmFtZXNwYWNlXSB8fCAhYWxsb3dlZFJvbGVzW25hbWVzcGFjZV0uaW5jbHVkZXMocm9sZSkpXG4gICAgICAgIHJldHVybiBuZXcgQXV0aG9yaXphdGlvbkVycm9yKGBSb2xlIGF1dGhvcml6YXRpb24gZXJyb3I6ICR7cm9sZX0gcm9sZSByZXF1aXJlZCBmb3IgbmFtZXNwYWNlICR7bmFtZXNwYWNlfS4gUm9sZXMgZm91bmQ6ICR7YWxsb3dlZFJvbGVzW25hbWVzcGFjZV0gJiYgYWxsb3dlZFJvbGVzW25hbWVzcGFjZV0ubGVuZ3RoID8gYWxsb3dlZFJvbGVzW25hbWVzcGFjZV0gOiBcIm5vbmVcIn1gKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBvbmx5TXNwKG1zcCkge1xuICAgIHJldHVybiBobGZBbGxvd0lmKG1zcEhhbmRsZXIsIG1zcCk7XG59XG5leHBvcnQgZnVuY3Rpb24gb25seU5hbWVzcGFjZVJvbGUobmFtZXNwYWNlLCByb2xlKSB7XG4gICAgcmV0dXJuIGhsZkFsbG93SWYobmFtZXNwYWNlSGFuZGxlciwgeyBuYW1lc3BhY2U6IG5hbWVzcGFjZSwgcm9sZTogcm9sZSB9KTtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaVpHVmpiM0poZEc5eWN5NXFjeUlzSW5OdmRYSmpaVkp2YjNRaU9pSWlMQ0p6YjNWeVkyVnpJanBiSWk0dUx5NHVMeTR1THk0dUwzTnlZeTlqYjI1MGNtRmpkSE12WVhWMGFDOWtaV052Y21GMGIzSnpMblJ6SWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGQkxFOUJRVThzUlVGRlRDeHJRa0ZCYTBJc1IwRkZia0lzVFVGQlRTeG5Ra0ZCWjBJc1EwRkJRenRCUVVONFFpeFBRVUZQTEVWQlFVVXNZVUZCWVN4RlFVRkZMRTFCUVUwc2VVSkJRWGxDTEVOQlFVTTdRVUZEZUVRc1QwRkJUeXhGUVVGRkxHMUNRVUZ0UWl4RlFVRkZMR2REUVVFeVFqdEJRVVY2UkN4TlFVRk5MRlZCUVZVc1ZVRkJWU3hEUVVGRExFOUJRVzlDTEVWQlFVVXNSMEZCUnl4SlFVRlhPMGxCUXpkRUxFOUJRVThzVTBGQlV5eFBRVUZQTEVOQlFVTXNSMEZCVnl4RlFVRkZMRmRCUVdsQ0xFVkJRVVVzVlVGQlowSTdVVUZEZEVVc1ZVRkJWU3hEUVVGRExFdEJRVXNzUjBGQlJ5eEpRVUZKTEV0QlFVc3NRMEZCUXl4VlFVRlZMRU5CUVVNc1MwRkJTeXhGUVVGRk8xbEJRemRETEV0QlFVc3NRMEZCUXl4TFFVRkxMRU5CUVVNc1RVRkJUU3hGUVVGRkxFOUJRVzFETEVWQlFVVXNTVUZCU1R0blFrRkRNMFFzVFVGQlRTeFBRVUZQTEVkQlFVY3NTVUZCU1N4RFFVRkRMRXRCUVVzc1JVRkJSU3hEUVVGRE8yZENRVU0zUWl4SlFVRkpMRU5CUVVNc1QwRkJUeXhKUVVGSkxFTkJRVVVzVDBGQlpTeERRVUZETEVsQlFVazdiMEpCUTNCRExFMUJRVTBzU1VGQlNTeHRRa0ZCYlVJc1EwRkRNMElzYVVaQlFXbEdMRU5CUTJ4R0xFTkJRVU03WjBKQlEwb3NUVUZCVFN4RlFVRkZMRWRCUVVjc1JVRkJSU3hIUVVGSExFMUJRVTBzVDBGQlR5eERRVUZETEZGQlFWRXNRMEZCUXl4RFFVTnlReXhEUVVGRExFZEJRVWNzU1VGQlNTeEZRVUZGTEU5QlFVOHNRMEZCUXl4RlFVTnNRaXhOUVVGTkxFTkJRVU1zU1VGQlNTeEZRVU5ZTEVsQlFVa3NRMEZEVEN4RFFVRkRPMmRDUVVOR0xFbEJRVWtzUzBGQlowTXNRMEZCUXp0blFrRkRja01zU1VGQlNTeERRVUZETzI5Q1FVTklMRXRCUVVzc1IwRkJSeXhQUVVGUExFTkJRVU1zUjBGQlJ5eEpRVUZKTEVWQlFVVXNSMEZCUnl4SlFVRkpMRVZCUVVVc1IwRkJSeXhEUVVGRExFTkJRVU03WjBKQlEzcERMRU5CUVVNN1owSkJRVU1zVDBGQlR5eERRVUZWTEVWQlFVVXNRMEZCUXp0dlFrRkRjRUlzVFVGQlRTeEpRVUZKTEdGQlFXRXNRMEZEY2tJc2FVUkJRV2xFTEVkQlFVY3NRMEZCUXl4WFFVRlhMRU5CUVVNc1NVRkJTU3hKUVVGSkxGZEJRVmNzUzBGQlN5eERRVUZETEVWQlFVVXNRMEZETjBZc1EwRkJRenRuUWtGRFNpeERRVUZETzJkQ1FVTkVMRWxCUVVrc1MwRkJTenR2UWtGRFVDeE5RVUZOTEVsQlFVa3NhMEpCUVd0Q0xFTkJRekZDTEdkQ1FVRm5RaXhIUVVGSExFTkJRVU1zVjBGQlZ5eERRVUZETEVsQlFVa3NTVUZCU1N4WFFVRlhMRXRCUVVzc1MwRkJTeXhGUVVGRkxFTkJRMmhGTEVOQlFVTTdaMEpCUTBvc1QwRkJUeXhOUVVGTkxFTkJRVU1zU1VGQlNTeERRVUZETEU5QlFVOHNSVUZCUlN4SFFVRkhMRVZCUVVVc1IwRkJSeXhKUVVGSkxFTkJRVU1zUTBGQlF6dFpRVU0xUXl4RFFVRkRPMU5CUTBZc1EwRkJReXhEUVVGRE8wbEJRMHdzUTBGQlF5eERRVUZETzBGQlEwb3NRMEZCUXp0QlFVVkVMRTFCUVUwc1ZVRkJWU3hWUVVGVkxFTkJRVU1zUjBGQlJ5eEpRVUZYTzBsQlEzWkRMRTFCUVUwc1QwRkJUeXhIUVVGSExFbEJRVWtzUTBGQlF5eEhRVUZITEVWQlFVVXNRMEZCUXp0SlFVTXpRaXhKUVVGSkxFTkJRVU1zVDBGQlR6dFJRVU5XTEUxQlFVMHNTVUZCU1N4aFFVRmhMRU5CUVVNc2FVUkJRV2xFTEVOQlFVTXNRMEZCUXp0SlFVTTNSU3hOUVVGTkxFZEJRVWNzUjBGQlJ5eEpRVUZKTEVOQlFVTXNSMEZCUnl4RlFVRkZMRU5CUVVNN1NVRkRka0lzU1VGQlNTeERRVUZETEVkQlFVYzdVVUZEVGl4TlFVRk5MRWxCUVVrc1lVRkJZU3hEUVVGRExEWkRRVUUyUXl4RFFVRkRMRU5CUVVNN1NVRkRla1VzVFVGQlRTeEZRVUZGTEVsQlFVa3NSVUZCUlN4SFFVRkhMRTlCUVU4c1EwRkJRenRKUVVONlFpeE5RVUZOTEVWQlFVVXNTMEZCU3l4RlFVRkZMRWRCUVVjc1NVRkJTU3hEUVVGRExGVkJRVlVzUlVGQlJTeERRVUZETzBsQlEzQkRMRWxCUVVrc1MwRkJTeXhMUVVGTExFZEJRVWM3VVVGRFppeFBRVUZQTEVsQlFVa3NhMEpCUVd0Q0xFTkJRek5DTERKRFFVRXlReXhMUVVGTExGVkJRVlVzUjBGQlJ5eGhRVUZoTEVOQlF6TkZMRU5CUVVNN1FVRkRUaXhEUVVGRE8wRkJSVVFzVFVGQlRTeFZRVUZWTEdkQ1FVRm5RaXhEUVVGRExFZEJRVWNzU1VGQlZ6dEpRVU0zUXl4TlFVRk5MRTlCUVU4c1IwRkJSeXhKUVVGSkxFTkJRVU1zUjBGQlJ5eEZRVUZGTEVOQlFVTTdTVUZETTBJc1NVRkJTU3hEUVVGRExFOUJRVTg3VVVGRFZpeE5RVUZOTEVsQlFVa3NZVUZCWVN4RFFVRkRMR2xFUVVGcFJDeERRVUZETEVOQlFVTTdTVUZETjBVc1RVRkJUU3hGUVVGRkxFbEJRVWtzUlVGQlJTeFRRVUZUTEVWQlFVVXNSMEZCUnl4SlFVRkpMRU5CUVVNc1IwRkJSeXhGUVVGRkxFTkJRVU03U1VGRGRrTXNTVUZCU1N4RFFVRkRMRk5CUVZNN1VVRkRXaXhOUVVGTkxFbEJRVWtzWVVGQllTeERRVU55UWl4dFJFRkJiVVFzUTBGRGNFUXNRMEZCUXp0SlFVTktMRTFCUVUwc1JVRkJSU3hSUVVGUkxFVkJRVVVzUjBGQlJ5eFBRVUZQTEVOQlFVTTdTVUZETjBJc1NVRkJTU3hMUVVGbExFTkJRVU03U1VGRGNFSXNTVUZCU1N4RFFVRkRPMUZCUTBnc1MwRkJTeXhIUVVGSExFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTXNVVUZCVVN4RFFVRkRMR2xDUVVGcFFpeERRVUZETEU5QlFVOHNRMEZCUXl4RFFVRmhMRU5CUVVNN1NVRkRkRVVzUTBGQlF6dEpRVUZETEU5QlFVOHNRMEZCVlN4RlFVRkZMRU5CUVVNN1VVRkRjRUlzVDBGQlR5eEpRVUZKTEd0Q1FVRnJRaXhEUVVNelFpeG5SRUZCWjBRc1EwRkJReXhGUVVGRkxFTkJRM0JFTEVOQlFVTTdTVUZEU2l4RFFVRkRPMGxCUlVRc1NVRkJTU3hEUVVGRExFdEJRVXM3VVVGRFVpeFBRVUZQTEVsQlFVa3NhMEpCUVd0Q0xFTkJRek5DTERCRVFVRXdSQ3hEUVVNelJDeERRVUZETzBsQlJVb3NUVUZCVFN4cFFrRkJhVUlzUjBGQlJ6dFJRVU40UWl4SFFVRkhMRWxCUVVrc1IwRkJSeXhEUVVGRExFdEJRVXNzUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXl4SlFVRkpMRVZCUVVVc1JVRkJSU3hEUVVGRExFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTXNUMEZCVHl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF6dExRVU40UkN4RFFVRkRPMGxCUlVZc1NVRkJTU3hEUVVGRExHbENRVUZwUWl4RFFVRkRMRkZCUVZFc1EwRkJReXhUUVVGVExFTkJRVU03VVVGRGVFTXNUMEZCVHl4SlFVRkpMR3RDUVVGclFpeERRVU16UWl4clEwRkJhME1zVTBGQlV5eFhRVUZYTEVOQlEzWkVMRU5CUVVNN1NVRkZTaXhKUVVGSkxFTkJRVU1zU1VGQlNUdFJRVUZGTEU5QlFVODdTVUZGYkVJc1RVRkJUU3haUVVGWkxFZEJRVWNzUzBGQlN5eERRVUZETEUxQlFVMHNRMEZETDBJc1EwRkJReXhIUVVGSExFVkJRVVVzUlVGQlJTeEZRVUZGTEVWQlFVVTdVVUZEVml4TlFVRk5MRU5CUVVNc1UwRkJVeXhGUVVGRkxFbEJRVWtzUTBGQlF5eEhRVUZITEVWQlFVVXNRMEZCUXl4TFFVRkxMRU5CUVVNc1QwRkJUeXhEUVVGRExFTkJRVU03VVVGRE5VTXNSMEZCUnl4RFFVRkRMRk5CUVZNc1EwRkJReXhIUVVGSExFZEJRVWNzUTBGQlF5eFRRVUZUTEVOQlFVTXNTVUZCU1N4RlFVRkZMRU5CUVVNN1VVRkRkRU1zUjBGQlJ5eERRVUZETEZOQlFWTXNRMEZCUXl4RFFVRkRMRWxCUVVrc1EwRkJReXhKUVVGSkxFTkJRVU1zUTBGQlF6dFJRVU14UWl4UFFVRlBMRWRCUVVjc1EwRkJRenRKUVVOaUxFTkJRVU1zUlVGRFJDeEZRVUU0UWl4RFFVTXZRaXhEUVVGRE8wbEJSVVlzU1VGQlNTeERRVUZETEZsQlFWa3NRMEZCUXl4VFFVRlRMRU5CUVVNc1NVRkJTU3hEUVVGRExGbEJRVmtzUTBGQlF5eFRRVUZUTEVOQlFVTXNRMEZCUXl4UlFVRlJMRU5CUVVNc1NVRkJTU3hEUVVGRE8xRkJRM0pGTEU5QlFVOHNTVUZCU1N4clFrRkJhMElzUTBGRE0wSXNOa0pCUVRaQ0xFbEJRVWtzWjBOQlFXZERMRk5CUVZNc2EwSkJRV3RDTEZsQlFWa3NRMEZCUXl4VFFVRlRMRU5CUVVNc1NVRkJTU3haUVVGWkxFTkJRVU1zVTBGQlV5eERRVUZETEVOQlFVTXNUVUZCVFN4RFFVRkRMRU5CUVVNc1EwRkJReXhaUVVGWkxFTkJRVU1zVTBGQlV5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRTFCUVUwc1JVRkJSU3hEUVVNelRDeERRVUZETzBGQlEwNHNRMEZCUXp0QlFVVkVMRTFCUVUwc1ZVRkJWU3hQUVVGUExFTkJRVU1zUjBGQlZ6dEpRVU5xUXl4UFFVRlBMRlZCUVZVc1EwRkJReXhWUVVGVkxFVkJRVVVzUjBGQlJ5eERRVUZETEVOQlFVTTdRVUZEY2tNc1EwRkJRenRCUVVWRUxFMUJRVTBzVlVGQlZTeHBRa0ZCYVVJc1EwRkJReXhUUVVGcFFpeEZRVUZGTEVsQlFXRTdTVUZEYUVVc1QwRkJUeXhWUVVGVkxFTkJRVU1zWjBKQlFXZENMRVZCUVVVc1JVRkJSU3hUUVVGVExFVkJRVVVzVTBGQlV5eEZRVUZGTEVsQlFVa3NSVUZCUlN4SlFVRkpMRVZCUVVVc1EwRkJReXhEUVVGRE8wRkJRelZGTEVOQlFVTWlMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUpwYlhCdmNuUWdlMXh1SUNCQmRYUm9TR0Z1Wkd4bGNpeGNiaUFnUVhWMGFHOXlhWHBoZEdsdmJrVnljbTl5TEZ4dUlDQkRiMjUwWlhoMGRXRnNURzluWjJWa1EyeGhjM01zWEc1OUlHWnliMjBnWENKQVpHVmpZV1l0ZEhNdlkyOXlaVndpTzF4dWFXMXdiM0owSUhzZ1NXNTBaWEp1WVd4RmNuSnZjaUI5SUdaeWIyMGdYQ0pBWkdWallXWXRkSE12WkdJdFpHVmpiM0poZEc5eWMxd2lPMXh1YVcxd2IzSjBJSHNnVFdsemMybHVaME52Ym5SbGVIUkZjbkp2Y2lCOUlHWnliMjBnWENJdUxpOHVMaTl6YUdGeVpXUXZhVzVrWlhoY0lqdGNibHh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJR2hzWmtGc2JHOTNTV1lvYUdGdVpHeGxjam9nUVhWMGFFaGhibVJzWlhJc0lDNHVMbUZ5WjNvNklHRnVlVnRkS1NCN1hHNGdJSEpsZEhWeWJpQm1kVzVqZEdsdmJpQmhiR3h2ZDBsbUtHOWlham9nYjJKcVpXTjBMQ0J3Y205d1pYSjBlVXRsZVQ4NklHRnVlU3dnWkdWelkzSnBjSFJ2Y2o4NklHRnVlU2tnZTF4dUlDQWdJR1JsYzJOeWFYQjBiM0l1ZG1Gc2RXVWdQU0J1WlhjZ1VISnZlSGtvWkdWelkzSnBjSFJ2Y2k1MllXeDFaU3dnZTF4dUlDQWdJQ0FnWVhONWJtTWdZWEJ3Ykhrb2RHRnlaMlYwTENCMGFHbHpRWEpuT2lCRGIyNTBaWGgwZFdGc1RHOW5aMlZrUTJ4aGMzTThZVzU1UGl3Z1lYSm5jeWtnZTF4dUlDQWdJQ0FnSUNCamIyNXpkQ0JqYjI1MFpYaDBJRDBnWVhKbmN5NXphR2xtZENncE8xeHVJQ0FnSUNBZ0lDQnBaaUFvSVdOdmJuUmxlSFFnZkh3Z0lTaGpiMjUwWlhoMElHRnpJR0Z1ZVNrdWMzUjFZaWxjYmlBZ0lDQWdJQ0FnSUNCMGFISnZkeUJ1WlhjZ1RXbHpjMmx1WjBOdmJuUmxlSFJGY25KdmNpaGNiaUFnSUNBZ0lDQWdJQ0FnSUdCY0ltbHVkbUZzYVdRZ1kyOXVkR1Y0ZENCd2NtOTJhV1JsWkM0Z2RHaHBjeUJrWldOdmNtRjBiM0lnYjI1c2VTQjNiM0pyY3lCdmJpQm1ZV0p5YVdNZ1kyOXVkSEpoWTNRZ2JXVjBhRzlrYzJCY2JpQWdJQ0FnSUNBZ0lDQXBPMXh1SUNBZ0lDQWdJQ0JqYjI1emRDQjdJR04wZUNCOUlEMGdZWGRoYVhRZ2RHaHBjMEZ5WjF0Y0lteHZaME4wZUZ3aVhTaGNiaUFnSUNBZ0lDQWdJQ0JiTGk0dVlYSm5jeXdnWTI5dWRHVjRkRjBzWEc0Z0lDQWdJQ0FnSUNBZ2RHRnlaMlYwTG01aGJXVXNYRzRnSUNBZ0lDQWdJQ0FnZEhKMVpWeHVJQ0FnSUNBZ0lDQXBPMXh1SUNBZ0lDQWdJQ0JzWlhRZ1pYSnliM0k2SUhadmFXUWdmQ0JCZFhSb2IzSnBlbUYwYVc5dVJYSnliM0k3WEc0Z0lDQWdJQ0FnSUhSeWVTQjdYRzRnSUNBZ0lDQWdJQ0FnWlhKeWIzSWdQU0JvWVc1a2JHVnlLQzR1TG1GeVozTXNJQzR1TG1GeVozb3NJR04wZUNrN1hHNGdJQ0FnSUNBZ0lIMGdZMkYwWTJnZ0tHVTZJSFZ1YTI1dmQyNHBJSHRjYmlBZ0lDQWdJQ0FnSUNCMGFISnZkeUJ1WlhjZ1NXNTBaWEp1WVd4RmNuSnZjaWhjYmlBZ0lDQWdJQ0FnSUNBZ0lHQkdZV2xzWldRZ2RHOGdaWGhsWTNWMFpTQmhkWFJvSUhaaGJHbGtZWFJwYjI0Z2FHRnVaR3hsY2lCbWIzSWdKSHR2WW1vdVkyOXVjM1J5ZFdOMGIzSXVibUZ0WlgwdUpIdHdjbTl3WlhKMGVVdGxlWDA2SUNSN1pYMWdYRzRnSUNBZ0lDQWdJQ0FnS1R0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQnBaaUFvWlhKeWIzSXBYRzRnSUNBZ0lDQWdJQ0FnZEdoeWIzY2dibVYzSUVGMWRHaHZjbWw2WVhScGIyNUZjbkp2Y2loY2JpQWdJQ0FnSUNBZ0lDQWdJR0JWVGtGVlZFaFBVa2xhUlVRZ0pIdHZZbW91WTI5dWMzUnlkV04wYjNJdWJtRnRaWDB1Skh0d2NtOXdaWEowZVV0bGVYMDZJQ1I3WlhKeWIzSjlZRnh1SUNBZ0lDQWdJQ0FnSUNrN1hHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCMFlYSm5aWFF1WTJGc2JDaDBhR2x6UVhKbkxDQmpkSGdzSUM0dUxtRnlaM01wTzF4dUlDQWdJQ0FnZlN4Y2JpQWdJQ0I5S1R0Y2JpQWdmVHRjYm4xY2JseHVaWGh3YjNKMElHWjFibU4wYVc5dUlHMXpjRWhoYm1Sc1pYSW9MaTR1WVhKbmN6b2dZVzU1VzEwcElIdGNiaUFnWTI5dWMzUWdZMjl1ZEdWNGRDQTlJR0Z5WjNNdWNHOXdLQ2s3WEc0Z0lHbG1JQ2doWTI5dWRHVjRkQ2xjYmlBZ0lDQjBhSEp2ZHlCdVpYY2dTVzUwWlhKdVlXeEZjbkp2Y2loY0lrTnZiblJsZUhRZ2FYTWdjbVZ4ZFdseVpXUWdabTl5SUc1aGJXVnpjR0ZqWlNCaGRYUm9iM0pwZW1GMGFXOXVYQ0lwTzF4dUlDQmpiMjV6ZENCdGMzQWdQU0JoY21kekxuQnZjQ2dwTzF4dUlDQnBaaUFvSVcxemNDbGNiaUFnSUNCMGFISnZkeUJ1WlhjZ1NXNTBaWEp1WVd4RmNuSnZjaWhjSWsxemNDQnBjeUJ5WlhGMWFYSmxaQ0JtYjNJZ2JtRnRaWE53WVdObElHRjFkR2h2Y21sNllYUnBiMjVjSWlrN1hHNGdJR052Ym5OMElIc2djM1IxWWlCOUlEMGdZMjl1ZEdWNGREdGNiaUFnWTI5dWMzUWdleUJ0YzNCcFpDQjlJRDBnYzNSMVlpNW5aWFJEY21WaGRHOXlLQ2s3WEc0Z0lHbG1JQ2h0YzNCcFpDQWhQVDBnYlhOd0tWeHVJQ0FnSUhKbGRIVnliaUJ1WlhjZ1FYVjBhRzl5YVhwaGRHbHZia1Z5Y205eUtGeHVJQ0FnSUNBZ1lFNWhiV1Z6Y0dGalpTQmhkWFJvYjNKcGVtRjBhVzl1SUdaaGFXeGxaQ0JtYjNJZ2JYTndPaUFrZTIxemNHbGtmUzRnYjI1c2VTQWtlMjF6Y0gwZ1kyRnVJR0ZqWTJWemMyQmNiaUFnSUNBcE8xeHVmVnh1WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnYm1GdFpYTndZV05sU0dGdVpHeGxjaWd1TGk1aGNtZHpPaUJoYm5sYlhTa2dlMXh1SUNCamIyNXpkQ0JqYjI1MFpYaDBJRDBnWVhKbmN5NXdiM0FvS1R0Y2JpQWdhV1lnS0NGamIyNTBaWGgwS1Z4dUlDQWdJSFJvY205M0lHNWxkeUJKYm5SbGNtNWhiRVZ5Y205eUtGd2lRMjl1ZEdWNGRDQnBjeUJ5WlhGMWFYSmxaQ0JtYjNJZ2JtRnRaWE53WVdObElHRjFkR2h2Y21sNllYUnBiMjVjSWlrN1hHNGdJR052Ym5OMElIc2djbTlzWlN3Z2JtRnRaWE53WVdObElIMGdQU0JoY21kekxuQnZjQ2dwTzF4dUlDQnBaaUFvSVc1aGJXVnpjR0ZqWlNsY2JpQWdJQ0IwYUhKdmR5QnVaWGNnU1c1MFpYSnVZV3hGY25KdmNpaGNiaUFnSUNBZ0lGd2libUZ0WlhOd1lXTmxJR2x6SUhKbGNYVnBjbVZrSUdadmNpQnVZVzFsYzNCaFkyVWdZWFYwYUc5eWFYcGhkR2x2Ymx3aVhHNGdJQ0FnS1R0Y2JpQWdZMjl1YzNRZ2V5QnBaR1Z1ZEdsMGVTQjlJRDBnWTI5dWRHVjRkRHRjYmlBZ2JHVjBJSEp2YkdWek9pQnpkSEpwYm1kYlhUdGNiaUFnZEhKNUlIdGNiaUFnSUNCeWIyeGxjeUE5SUVwVFQwNHVjR0Z5YzJVb2FXUmxiblJwZEhrdVoyVjBRWFIwY21saWRYUmxWbUZzZFdVb1hDSnliMnhsYzF3aUtTa2dZWE1nYzNSeWFXNW5XMTA3WEc0Z0lIMGdZMkYwWTJnZ0tHVTZJSFZ1YTI1dmQyNHBJSHRjYmlBZ0lDQnlaWFIxY200Z2JtVjNJRUYxZEdodmNtbDZZWFJwYjI1RmNuSnZjaWhjYmlBZ0lDQWdJR0JPWVcxbGMzQmhZMlVnWVhWMGFHOXlhWHBoZEdsdmJpQnVieUJ1WVcxbGMzQmhZMlZ6SUdadmRXNWtPaUFrZTJWOVlGeHVJQ0FnSUNrN1hHNGdJSDFjYmx4dUlDQnBaaUFvSVhKdmJHVnpLVnh1SUNBZ0lISmxkSFZ5YmlCdVpYY2dRWFYwYUc5eWFYcGhkR2x2YmtWeWNtOXlLRnh1SUNBZ0lDQWdZRzV2SUhKdmJHVnpJRzl5SUc1aGJXVnpjR0ZqWlhNZ1ptOTFibVFnWm05eUlHNWhiV1Z6Y0dGalpTQmhkWFJvYjNKcGVtRjBhVzl1WUZ4dUlDQWdJQ2s3WEc1Y2JpQWdZMjl1YzNRZ1lXeHNiM2RsWkU1aGJXVnpjR0ZqWlhNZ1BTQmJYRzRnSUNBZ0xpNHVibVYzSUZObGRDaHliMnhsY3k1dFlYQW9LSEp2YkdVcElEMCtJSEp2YkdVdWMzQnNhWFFvTDFzNkxWMHZaeWxiTUYwcEtTeGNiaUFnWFR0Y2JseHVJQ0JwWmlBb0lXRnNiRzkzWldST1lXMWxjM0JoWTJWekxtbHVZMngxWkdWektHNWhiV1Z6Y0dGalpTa3BYRzRnSUNBZ2NtVjBkWEp1SUc1bGR5QkJkWFJvYjNKcGVtRjBhVzl1UlhKeWIzSW9YRzRnSUNBZ0lDQmdUbUZ0WlhOd1lXTmxJR0YxZEdodmNtbDZZWFJwYjI0Z1pYSnliM0k2SUNSN2JtRnRaWE53WVdObGZTQnlaWEYxYVhKbFpHQmNiaUFnSUNBcE8xeHVYRzRnSUdsbUlDZ2hjbTlzWlNrZ2NtVjBkWEp1TzF4dVhHNGdJR052Ym5OMElHRnNiRzkzWldSU2IyeGxjeUE5SUhKdmJHVnpMbkpsWkhWalpTaGNiaUFnSUNBb1lXTmpMQ0JsYkNrZ1BUNGdlMXh1SUNBZ0lDQWdZMjl1YzNRZ1cyNWhiV1Z6Y0dGalpTd2djbTlzWlYwZ1BTQmxiQzV6Y0d4cGRDZ3ZXem90WFM5bktUdGNiaUFnSUNBZ0lHRmpZMXR1WVcxbGMzQmhZMlZkSUQwZ1lXTmpXMjVoYldWemNHRmpaVjBnZkh3Z1cxMDdYRzRnSUNBZ0lDQmhZMk5iYm1GdFpYTndZV05sWFM1d2RYTm9LSEp2YkdVcE8xeHVJQ0FnSUNBZ2NtVjBkWEp1SUdGall6dGNiaUFnSUNCOUxGeHVJQ0FnSUh0OUlHRnpJRkpsWTI5eVpEeHpkSEpwYm1jc0lITjBjbWx1WjF0ZFBseHVJQ0FwTzF4dVhHNGdJR2xtSUNnaFlXeHNiM2RsWkZKdmJHVnpXMjVoYldWemNHRmpaVjBnZkh3Z0lXRnNiRzkzWldSU2IyeGxjMXR1WVcxbGMzQmhZMlZkTG1sdVkyeDFaR1Z6S0hKdmJHVXBLVnh1SUNBZ0lISmxkSFZ5YmlCdVpYY2dRWFYwYUc5eWFYcGhkR2x2YmtWeWNtOXlLRnh1SUNBZ0lDQWdZRkp2YkdVZ1lYVjBhRzl5YVhwaGRHbHZiaUJsY25KdmNqb2dKSHR5YjJ4bGZTQnliMnhsSUhKbGNYVnBjbVZrSUdadmNpQnVZVzFsYzNCaFkyVWdKSHR1WVcxbGMzQmhZMlY5TGlCU2IyeGxjeUJtYjNWdVpEb2dKSHRoYkd4dmQyVmtVbTlzWlhOYmJtRnRaWE53WVdObFhTQW1KaUJoYkd4dmQyVmtVbTlzWlhOYmJtRnRaWE53WVdObFhTNXNaVzVuZEdnZ1B5QmhiR3h2ZDJWa1VtOXNaWE5iYm1GdFpYTndZV05sWFNBNklGd2libTl1WlZ3aWZXQmNiaUFnSUNBcE8xeHVmVnh1WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnYjI1c2VVMXpjQ2h0YzNBNklITjBjbWx1WnlrZ2UxeHVJQ0J5WlhSMWNtNGdhR3htUVd4c2IzZEpaaWh0YzNCSVlXNWtiR1Z5TENCdGMzQXBPMXh1ZlZ4dVhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z2IyNXNlVTVoYldWemNHRmpaVkp2YkdVb2JtRnRaWE53WVdObE9pQnpkSEpwYm1jc0lISnZiR1UvT2lCemRISnBibWNwSUh0Y2JpQWdjbVYwZFhKdUlHaHNaa0ZzYkc5M1NXWW9ibUZ0WlhOd1lXTmxTR0Z1Wkd4bGNpd2dleUJ1WVcxbGMzQmhZMlU2SUc1aGJXVnpjR0ZqWlN3Z2NtOXNaVG9nY205c1pTQjlLVHRjYm4xY2JpSmRmUT09Il19
84
+ //# sourceMappingURL=decorators.js.map
85
+ //# sourceMappingURL=decorators.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decorators.js","sourceRoot":"","sources":["decorators.js"],"names":[],"mappings":"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"}
@@ -15,5 +15,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./decorators.cjs"), exports);
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29udHJhY3RzL2F1dGgvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsZ0NBQTZCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vZGVjb3JhdG9yc1wiO1xuIl19
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsa0RBQWdDO0FBQ2hDLGtUQUFrVCIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL2RlY29yYXRvcnMuanNcIjtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaWFXNWtaWGd1YW5NaUxDSnpiM1Z5WTJWU2IyOTBJam9pSWl3aWMyOTFjbU5sY3lJNld5SXVMaTh1TGk4dUxpOHVMaTl6Y21NdlkyOXVkSEpoWTNSekwyRjFkR2d2YVc1a1pYZ3VkSE1pWFN3aWJtRnRaWE1pT2x0ZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVVFc1owTkJRVFpDSWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaVpYaHdiM0owSUNvZ1puSnZiU0JjSWk0dlpHVmpiM0poZEc5eWMxd2lPMXh1SWwxOSJdfQ==
18
+ //# sourceMappingURL=index.js.map
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAAgC;AAChC,iCAAiC"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ require("@decaf-ts/core");
4
+ require("@decaf-ts/decorator-validation");
5
+ require("@decaf-ts/db-decorators");
6
+ require("@decaf-ts/injectable-decorators");
7
+ require("@decaf-ts/transactional-decorators");
8
+ require("@decaf-ts/ui-decorators");
9
+ require("@decaf-ts/for-couchdb");
10
+ require("./fabric-overrides.cjs");
11
+ require("./../shared/index.cjs");
12
+ require("./overrides.cjs");
13
+ //# sourceMappingURL=bootstrap.js.map
14
+ //# sourceMappingURL=bootstrap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["bootstrap.js"],"names":[],"mappings":";;AAAA,0BAAwB;AACxB,0CAAwC;AACxC,mCAAiC;AACjC,2CAAyC;AACzC,8CAA4C;AAC5C,mCAAiC;AACjC,iCAA+B;AAC/B,iCAA+B;AAC/B,gCAA8B;AAC9B,0BAAwB;AACxB,qCAAqC"}