@decaf-ts/for-fabric 0.13.31-experimental.3 → 0.13.32

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 (563) hide show
  1. package/dist/for-fabric.cjs +2 -4001
  2. package/dist/for-fabric.cjs.map +1 -0
  3. package/dist/for-fabric.js +2 -4111
  4. package/dist/for-fabric.js.map +1 -0
  5. package/lib/cjs/bin/cli.cjs +2 -2
  6. package/lib/cjs/bin/cli.cjs.map +1 -0
  7. package/lib/cjs/cli-module.cjs +2 -2
  8. package/lib/cjs/cli-module.cjs.map +1 -0
  9. package/lib/cjs/cli-utils.cjs +2 -2
  10. package/lib/cjs/cli-utils.cjs.map +1 -0
  11. package/lib/cjs/client/FabricClientAdapter.cjs +2 -2
  12. package/lib/cjs/client/FabricClientAdapter.cjs.map +1 -0
  13. package/lib/cjs/client/FabricClientContext.cjs +2 -2
  14. package/lib/cjs/client/FabricClientContext.cjs.map +1 -0
  15. package/lib/cjs/client/FabricClientDispatch.cjs +2 -2
  16. package/lib/cjs/client/FabricClientDispatch.cjs.map +1 -0
  17. package/lib/cjs/client/FabricClientPaginator.cjs +2 -2
  18. package/lib/cjs/client/FabricClientPaginator.cjs.map +1 -0
  19. package/lib/cjs/client/FabricClientRepository.cjs +2 -2
  20. package/lib/cjs/client/FabricClientRepository.cjs.map +1 -0
  21. package/lib/cjs/client/FabricClientStatement.cjs +2 -2
  22. package/lib/cjs/client/FabricClientStatement.cjs.map +1 -0
  23. package/lib/cjs/client/collections/generation.cjs +2 -2
  24. package/lib/cjs/client/collections/generation.cjs.map +1 -0
  25. package/lib/cjs/client/collections/index.cjs +2 -2
  26. package/lib/cjs/client/collections/index.cjs.map +1 -0
  27. package/lib/cjs/client/constants.cjs +2 -2
  28. package/lib/cjs/client/constants.cjs.map +1 -0
  29. package/lib/cjs/client/crypto.cjs +2 -2
  30. package/lib/cjs/client/crypto.cjs.map +1 -0
  31. package/lib/cjs/client/erc20/FabricERC20ClientRepository.cjs +2 -2
  32. package/lib/cjs/client/erc20/FabricERC20ClientRepository.cjs.map +1 -0
  33. package/lib/cjs/client/erc20/index.cjs +2 -2
  34. package/lib/cjs/client/erc20/index.cjs.map +1 -0
  35. package/lib/cjs/client/fabric-fs.cjs +2 -2
  36. package/lib/cjs/client/fabric-fs.cjs.map +1 -0
  37. package/lib/cjs/client/fabric-hsm.cjs +2 -2
  38. package/lib/cjs/client/fabric-hsm.cjs.map +1 -0
  39. package/lib/cjs/client/ids/id-extraction.cjs +2 -2
  40. package/lib/cjs/client/ids/id-extraction.cjs.map +1 -0
  41. package/lib/cjs/client/ids/index.cjs +2 -2
  42. package/lib/cjs/client/ids/index.cjs.map +1 -0
  43. package/lib/cjs/client/index.cjs +2 -2
  44. package/lib/cjs/client/index.cjs.map +1 -0
  45. package/lib/cjs/client/indexes/generation.cjs +2 -2
  46. package/lib/cjs/client/indexes/generation.cjs.map +1 -0
  47. package/lib/cjs/client/indexes/index.cjs +2 -2
  48. package/lib/cjs/client/indexes/index.cjs.map +1 -0
  49. package/lib/cjs/client/logging.cjs +2 -2
  50. package/lib/cjs/client/logging.cjs.map +1 -0
  51. package/lib/cjs/client/services/FabricEnrollmentService.cjs +2 -2
  52. package/lib/cjs/client/services/FabricEnrollmentService.cjs.map +1 -0
  53. package/lib/cjs/client/services/FabricIdentityService.cjs +2 -2
  54. package/lib/cjs/client/services/FabricIdentityService.cjs.map +1 -0
  55. package/lib/cjs/client/services/RegistrationRequestBuilder.cjs +2 -2
  56. package/lib/cjs/client/services/RegistrationRequestBuilder.cjs.map +1 -0
  57. package/lib/cjs/client/services/constants.cjs +2 -2
  58. package/lib/cjs/client/services/constants.cjs.map +1 -0
  59. package/lib/cjs/client/services/index.cjs +2 -2
  60. package/lib/cjs/client/services/index.cjs.map +1 -0
  61. package/lib/cjs/client/types.cjs +2 -2
  62. package/lib/cjs/client/types.cjs.map +1 -0
  63. package/lib/cjs/client/utils.cjs +2 -2
  64. package/lib/cjs/client/utils.cjs.map +1 -0
  65. package/lib/cjs/contract/Address.cjs +2 -2
  66. package/lib/cjs/contract/Address.cjs.map +1 -0
  67. package/lib/cjs/contract/AddressContract.cjs +2 -2
  68. package/lib/cjs/contract/AddressContract.cjs.map +1 -0
  69. package/lib/cjs/contract/AuditContract.cjs +2 -2
  70. package/lib/cjs/contract/AuditContract.cjs.map +1 -0
  71. package/lib/cjs/contract/BatchContract.cjs +2 -2
  72. package/lib/cjs/contract/BatchContract.cjs.map +1 -0
  73. package/lib/cjs/contract/MarketContract.cjs +2 -2
  74. package/lib/cjs/contract/MarketContract.cjs.map +1 -0
  75. package/lib/cjs/contract/OtherAuditContract.cjs +2 -2
  76. package/lib/cjs/contract/OtherAuditContract.cjs.map +1 -0
  77. package/lib/cjs/contract/OtherBatchContract.cjs +2 -2
  78. package/lib/cjs/contract/OtherBatchContract.cjs.map +1 -0
  79. package/lib/cjs/contract/OtherLeafletContract.cjs +2 -2
  80. package/lib/cjs/contract/OtherLeafletContract.cjs.map +1 -0
  81. package/lib/cjs/contract/OtherLeafletFileContract.cjs +2 -2
  82. package/lib/cjs/contract/OtherLeafletFileContract.cjs.map +1 -0
  83. package/lib/cjs/contract/OtherMarketContract.cjs +2 -2
  84. package/lib/cjs/contract/OtherMarketContract.cjs.map +1 -0
  85. package/lib/cjs/contract/OtherProductContract.cjs +2 -2
  86. package/lib/cjs/contract/OtherProductContract.cjs.map +1 -0
  87. package/lib/cjs/contract/OtherProductImageContract.cjs +2 -2
  88. package/lib/cjs/contract/OtherProductImageContract.cjs.map +1 -0
  89. package/lib/cjs/contract/OtherProductSharedContract.cjs +2 -2
  90. package/lib/cjs/contract/OtherProductSharedContract.cjs.map +1 -0
  91. package/lib/cjs/contract/OtherProductStrengthContract.cjs +2 -2
  92. package/lib/cjs/contract/OtherProductStrengthContract.cjs.map +1 -0
  93. package/lib/cjs/contract/Product.cjs +2 -2
  94. package/lib/cjs/contract/Product.cjs.map +1 -0
  95. package/lib/cjs/contract/ProductContract.cjs +2 -2
  96. package/lib/cjs/contract/ProductContract.cjs.map +1 -0
  97. package/lib/cjs/contract/ProductStrengthContract.cjs +2 -2
  98. package/lib/cjs/contract/ProductStrengthContract.cjs.map +1 -0
  99. package/lib/cjs/contract/SegregatedPrivateDocumentContract.cjs +2 -2
  100. package/lib/cjs/contract/SegregatedPrivateDocumentContract.cjs.map +1 -0
  101. package/lib/cjs/contract/SegregatedSharedDocumentContract.cjs +2 -2
  102. package/lib/cjs/contract/SegregatedSharedDocumentContract.cjs.map +1 -0
  103. package/lib/cjs/contract/User.cjs +2 -2
  104. package/lib/cjs/contract/User.cjs.map +1 -0
  105. package/lib/cjs/contract/UserContract.cjs +2 -2
  106. package/lib/cjs/contract/UserContract.cjs.map +1 -0
  107. package/lib/cjs/contract/index.cjs +2 -2
  108. package/lib/cjs/contract/index.cjs.map +1 -0
  109. package/lib/cjs/contract/logging-context.cjs +2 -2
  110. package/lib/cjs/contract/logging-context.cjs.map +1 -0
  111. package/lib/cjs/contract/models/Audit.cjs +2 -2
  112. package/lib/cjs/contract/models/Audit.cjs.map +1 -0
  113. package/lib/cjs/contract/models/BaseIdentifiedModel.cjs +2 -2
  114. package/lib/cjs/contract/models/BaseIdentifiedModel.cjs.map +1 -0
  115. package/lib/cjs/contract/models/BaseModel.cjs +2 -2
  116. package/lib/cjs/contract/models/BaseModel.cjs.map +1 -0
  117. package/lib/cjs/contract/models/Batch.cjs +2 -2
  118. package/lib/cjs/contract/models/Batch.cjs.map +1 -0
  119. package/lib/cjs/contract/models/GtinOwner.cjs +2 -2
  120. package/lib/cjs/contract/models/GtinOwner.cjs.map +1 -0
  121. package/lib/cjs/contract/models/History.cjs +2 -2
  122. package/lib/cjs/contract/models/History.cjs.map +1 -0
  123. package/lib/cjs/contract/models/Leaflet.cjs +2 -2
  124. package/lib/cjs/contract/models/Leaflet.cjs.map +1 -0
  125. package/lib/cjs/contract/models/LeafletFile.cjs +2 -2
  126. package/lib/cjs/contract/models/LeafletFile.cjs.map +1 -0
  127. package/lib/cjs/contract/models/Market.cjs +2 -2
  128. package/lib/cjs/contract/models/Market.cjs.map +1 -0
  129. package/lib/cjs/contract/models/OtherAudit.cjs +2 -2
  130. package/lib/cjs/contract/models/OtherAudit.cjs.map +1 -0
  131. package/lib/cjs/contract/models/OtherBatchShared.cjs +2 -2
  132. package/lib/cjs/contract/models/OtherBatchShared.cjs.map +1 -0
  133. package/lib/cjs/contract/models/OtherLeaflet.cjs +2 -2
  134. package/lib/cjs/contract/models/OtherLeaflet.cjs.map +1 -0
  135. package/lib/cjs/contract/models/OtherLeafletFile.cjs +2 -2
  136. package/lib/cjs/contract/models/OtherLeafletFile.cjs.map +1 -0
  137. package/lib/cjs/contract/models/OtherMarket.cjs +2 -2
  138. package/lib/cjs/contract/models/OtherMarket.cjs.map +1 -0
  139. package/lib/cjs/contract/models/OtherProduct.cjs +2 -2
  140. package/lib/cjs/contract/models/OtherProduct.cjs.map +1 -0
  141. package/lib/cjs/contract/models/OtherProductImage.cjs +2 -2
  142. package/lib/cjs/contract/models/OtherProductImage.cjs.map +1 -0
  143. package/lib/cjs/contract/models/OtherProductShared.cjs +2 -2
  144. package/lib/cjs/contract/models/OtherProductShared.cjs.map +1 -0
  145. package/lib/cjs/contract/models/OtherProductStrength.cjs +2 -2
  146. package/lib/cjs/contract/models/OtherProductStrength.cjs.map +1 -0
  147. package/lib/cjs/contract/models/Product.cjs +2 -2
  148. package/lib/cjs/contract/models/Product.cjs.map +1 -0
  149. package/lib/cjs/contract/models/ProductStrength.cjs +2 -2
  150. package/lib/cjs/contract/models/ProductStrength.cjs.map +1 -0
  151. package/lib/cjs/contract/models/SegregatedDocument.cjs +2 -2
  152. package/lib/cjs/contract/models/SegregatedDocument.cjs.map +1 -0
  153. package/lib/cjs/contract/models/constants.cjs +2 -2
  154. package/lib/cjs/contract/models/constants.cjs.map +1 -0
  155. package/lib/cjs/contract/models/decorators-private.cjs +2 -2
  156. package/lib/cjs/contract/models/decorators-private.cjs.map +1 -0
  157. package/lib/cjs/contract/models/decorators.cjs +2 -2
  158. package/lib/cjs/contract/models/decorators.cjs.map +1 -0
  159. package/lib/cjs/contract/models/gtin.cjs +2 -2
  160. package/lib/cjs/contract/models/gtin.cjs.map +1 -0
  161. package/lib/cjs/contract/models/history-dec.cjs +2 -2
  162. package/lib/cjs/contract/models/history-dec.cjs.map +1 -0
  163. package/lib/cjs/contract/trackedModels/History.cjs +2 -2
  164. package/lib/cjs/contract/trackedModels/History.cjs.map +1 -0
  165. package/lib/cjs/contract/trackedModels/OtherAudit.cjs +2 -2
  166. package/lib/cjs/contract/trackedModels/OtherAudit.cjs.map +1 -0
  167. package/lib/cjs/contract/trackedModels/OtherBatchShared.cjs +2 -2
  168. package/lib/cjs/contract/trackedModels/OtherBatchShared.cjs.map +1 -0
  169. package/lib/cjs/contract/trackedModels/OtherLeaflet.cjs +2 -2
  170. package/lib/cjs/contract/trackedModels/OtherLeaflet.cjs.map +1 -0
  171. package/lib/cjs/contract/trackedModels/OtherLeafletFile.cjs +2 -2
  172. package/lib/cjs/contract/trackedModels/OtherLeafletFile.cjs.map +1 -0
  173. package/lib/cjs/contract/trackedModels/OtherMarket.cjs +2 -2
  174. package/lib/cjs/contract/trackedModels/OtherMarket.cjs.map +1 -0
  175. package/lib/cjs/contract/trackedModels/OtherProduct.cjs +2 -2
  176. package/lib/cjs/contract/trackedModels/OtherProduct.cjs.map +1 -0
  177. package/lib/cjs/contract/trackedModels/OtherProductImage.cjs +2 -2
  178. package/lib/cjs/contract/trackedModels/OtherProductImage.cjs.map +1 -0
  179. package/lib/cjs/contract/trackedModels/OtherProductShared.cjs +2 -2
  180. package/lib/cjs/contract/trackedModels/OtherProductShared.cjs.map +1 -0
  181. package/lib/cjs/contract/trackedModels/OtherProductStrength.cjs +2 -2
  182. package/lib/cjs/contract/trackedModels/OtherProductStrength.cjs.map +1 -0
  183. package/lib/cjs/contracts/ContractAdapter.cjs +2 -2
  184. package/lib/cjs/contracts/ContractAdapter.cjs.map +1 -0
  185. package/lib/cjs/contracts/ContractContext.cjs +2 -2
  186. package/lib/cjs/contracts/ContractContext.cjs.map +1 -0
  187. package/lib/cjs/contracts/FabricContractDispatch.cjs +2 -2
  188. package/lib/cjs/contracts/FabricContractDispatch.cjs.map +1 -0
  189. package/lib/cjs/contracts/FabricContractPaginator.cjs +2 -2
  190. package/lib/cjs/contracts/FabricContractPaginator.cjs.map +1 -0
  191. package/lib/cjs/contracts/FabricContractRepository.cjs +2 -2
  192. package/lib/cjs/contracts/FabricContractRepository.cjs.map +1 -0
  193. package/lib/cjs/contracts/FabricContractRepositoryObservableHandler.cjs +2 -2
  194. package/lib/cjs/contracts/FabricContractRepositoryObservableHandler.cjs.map +1 -0
  195. package/lib/cjs/contracts/FabricContractSequence.cjs +2 -2
  196. package/lib/cjs/contracts/FabricContractSequence.cjs.map +1 -0
  197. package/lib/cjs/contracts/FabricContractStatement.cjs +2 -2
  198. package/lib/cjs/contracts/FabricContractStatement.cjs.map +1 -0
  199. package/lib/cjs/contracts/MigrationContract.cjs +2 -2
  200. package/lib/cjs/contracts/MigrationContract.cjs.map +1 -0
  201. package/lib/cjs/contracts/PrivateSequence.cjs +2 -2
  202. package/lib/cjs/contracts/PrivateSequence.cjs.map +1 -0
  203. package/lib/cjs/contracts/auth/decorators.cjs +2 -2
  204. package/lib/cjs/contracts/auth/decorators.cjs.map +1 -0
  205. package/lib/cjs/contracts/auth/index.cjs +2 -2
  206. package/lib/cjs/contracts/auth/index.cjs.map +1 -0
  207. package/lib/cjs/contracts/bootstrap.cjs +2 -2
  208. package/lib/cjs/contracts/bootstrap.cjs.map +1 -0
  209. package/lib/cjs/contracts/crud/crud-contract.cjs +2 -2
  210. package/lib/cjs/contracts/crud/crud-contract.cjs.map +1 -0
  211. package/lib/cjs/contracts/crud/index.cjs +2 -2
  212. package/lib/cjs/contracts/crud/index.cjs.map +1 -0
  213. package/lib/cjs/contracts/crud/serialized-crud-contract.cjs +2 -2
  214. package/lib/cjs/contracts/crud/serialized-crud-contract.cjs.map +1 -0
  215. package/lib/cjs/contracts/erc20/erc20contract.cjs +2 -2
  216. package/lib/cjs/contracts/erc20/erc20contract.cjs.map +1 -0
  217. package/lib/cjs/contracts/erc20/index.cjs +2 -2
  218. package/lib/cjs/contracts/erc20/index.cjs.map +1 -0
  219. package/lib/cjs/contracts/erc20/models.cjs +2 -2
  220. package/lib/cjs/contracts/erc20/models.cjs.map +1 -0
  221. package/lib/cjs/contracts/fabric-overrides.cjs +2 -2
  222. package/lib/cjs/contracts/fabric-overrides.cjs.map +1 -0
  223. package/lib/cjs/contracts/index.cjs +2 -2
  224. package/lib/cjs/contracts/index.cjs.map +1 -0
  225. package/lib/cjs/contracts/logging.cjs +2 -2
  226. package/lib/cjs/contracts/logging.cjs.map +1 -0
  227. package/lib/cjs/contracts/overrides.cjs +2 -2
  228. package/lib/cjs/contracts/overrides.cjs.map +1 -0
  229. package/lib/cjs/contracts/types.cjs +2 -2
  230. package/lib/cjs/contracts/types.cjs.map +1 -0
  231. package/lib/cjs/contracts/uuid.cjs +2 -2
  232. package/lib/cjs/contracts/uuid.cjs.map +1 -0
  233. package/lib/cjs/index.cjs +2 -2
  234. package/lib/cjs/index.cjs.map +1 -0
  235. package/lib/cjs/shared/ClientSerializer.cjs +2 -2
  236. package/lib/cjs/shared/ClientSerializer.cjs.map +1 -0
  237. package/lib/cjs/shared/DeterministicSerializer.cjs +2 -2
  238. package/lib/cjs/shared/DeterministicSerializer.cjs.map +1 -0
  239. package/lib/cjs/shared/SimpleDeterministicSerializer.cjs +2 -2
  240. package/lib/cjs/shared/SimpleDeterministicSerializer.cjs.map +1 -0
  241. package/lib/cjs/shared/constants.cjs +2 -2
  242. package/lib/cjs/shared/constants.cjs.map +1 -0
  243. package/lib/cjs/shared/decorators.cjs +2 -2
  244. package/lib/cjs/shared/decorators.cjs.map +1 -0
  245. package/lib/cjs/shared/erc20/erc20-constants.cjs +2 -2
  246. package/lib/cjs/shared/erc20/erc20-constants.cjs.map +1 -0
  247. package/lib/cjs/shared/erc20/index.cjs +2 -2
  248. package/lib/cjs/shared/erc20/index.cjs.map +1 -0
  249. package/lib/cjs/shared/errors.cjs +2 -2
  250. package/lib/cjs/shared/errors.cjs.map +1 -0
  251. package/lib/cjs/shared/events.cjs +2 -2
  252. package/lib/cjs/shared/events.cjs.map +1 -0
  253. package/lib/cjs/shared/fabric-types.cjs +2 -2
  254. package/lib/cjs/shared/fabric-types.cjs.map +1 -0
  255. package/lib/cjs/shared/index.cjs +2 -2
  256. package/lib/cjs/shared/index.cjs.map +1 -0
  257. package/lib/cjs/shared/interfaces/Checkable.cjs +2 -2
  258. package/lib/cjs/shared/interfaces/Checkable.cjs.map +1 -0
  259. package/lib/cjs/shared/interfaces/index.cjs +2 -2
  260. package/lib/cjs/shared/interfaces/index.cjs.map +1 -0
  261. package/lib/cjs/shared/math.cjs +2 -2
  262. package/lib/cjs/shared/math.cjs.map +1 -0
  263. package/lib/cjs/shared/model/FabricBaseModel.cjs +2 -2
  264. package/lib/cjs/shared/model/FabricBaseModel.cjs.map +1 -0
  265. package/lib/cjs/shared/model/FabricIdentifiedBaseModel.cjs +2 -2
  266. package/lib/cjs/shared/model/FabricIdentifiedBaseModel.cjs.map +1 -0
  267. package/lib/cjs/shared/model/Identity.cjs +2 -2
  268. package/lib/cjs/shared/model/Identity.cjs.map +1 -0
  269. package/lib/cjs/shared/model/IdentityCredentials.cjs +2 -2
  270. package/lib/cjs/shared/model/IdentityCredentials.cjs.map +1 -0
  271. package/lib/cjs/shared/model/index.cjs +2 -2
  272. package/lib/cjs/shared/model/index.cjs.map +1 -0
  273. package/lib/cjs/shared/overrides/Model.cjs +2 -2
  274. package/lib/cjs/shared/overrides/Model.cjs.map +1 -0
  275. package/lib/cjs/shared/overrides/index.cjs +2 -2
  276. package/lib/cjs/shared/overrides/index.cjs.map +1 -0
  277. package/lib/cjs/shared/overrides/overrides.cjs +2 -2
  278. package/lib/cjs/shared/overrides/overrides.cjs.map +1 -0
  279. package/lib/cjs/shared/types.cjs +2 -2
  280. package/lib/cjs/shared/types.cjs.map +1 -0
  281. package/lib/cjs/version.cjs +5 -5
  282. package/lib/cjs/version.cjs.map +1 -0
  283. package/lib/esm/bin/cli.js +1 -1
  284. package/lib/esm/bin/cli.js.map +1 -0
  285. package/lib/esm/cli-module.js +1 -1
  286. package/lib/esm/cli-module.js.map +1 -0
  287. package/lib/esm/cli-utils.js +1 -1
  288. package/lib/esm/cli-utils.js.map +1 -0
  289. package/lib/esm/client/FabricClientAdapter.js +1 -1
  290. package/lib/esm/client/FabricClientAdapter.js.map +1 -0
  291. package/lib/esm/client/FabricClientContext.js +1 -1
  292. package/lib/esm/client/FabricClientContext.js.map +1 -0
  293. package/lib/esm/client/FabricClientDispatch.js +1 -1
  294. package/lib/esm/client/FabricClientDispatch.js.map +1 -0
  295. package/lib/esm/client/FabricClientPaginator.js +1 -1
  296. package/lib/esm/client/FabricClientPaginator.js.map +1 -0
  297. package/lib/esm/client/FabricClientRepository.js +1 -1
  298. package/lib/esm/client/FabricClientRepository.js.map +1 -0
  299. package/lib/esm/client/FabricClientStatement.js +1 -1
  300. package/lib/esm/client/FabricClientStatement.js.map +1 -0
  301. package/lib/esm/client/collections/generation.js +1 -1
  302. package/lib/esm/client/collections/generation.js.map +1 -0
  303. package/lib/esm/client/collections/index.js +1 -1
  304. package/lib/esm/client/collections/index.js.map +1 -0
  305. package/lib/esm/client/constants.js +1 -1
  306. package/lib/esm/client/constants.js.map +1 -0
  307. package/lib/esm/client/crypto.js +1 -1
  308. package/lib/esm/client/crypto.js.map +1 -0
  309. package/lib/esm/client/erc20/FabricERC20ClientRepository.js +1 -1
  310. package/lib/esm/client/erc20/FabricERC20ClientRepository.js.map +1 -0
  311. package/lib/esm/client/erc20/index.js +1 -1
  312. package/lib/esm/client/erc20/index.js.map +1 -0
  313. package/lib/esm/client/fabric-fs.js +1 -1
  314. package/lib/esm/client/fabric-fs.js.map +1 -0
  315. package/lib/esm/client/fabric-hsm.js +1 -1
  316. package/lib/esm/client/fabric-hsm.js.map +1 -0
  317. package/lib/esm/client/ids/id-extraction.js +1 -1
  318. package/lib/esm/client/ids/id-extraction.js.map +1 -0
  319. package/lib/esm/client/ids/index.js +1 -1
  320. package/lib/esm/client/ids/index.js.map +1 -0
  321. package/lib/esm/client/index.js +1 -1
  322. package/lib/esm/client/index.js.map +1 -0
  323. package/lib/esm/client/indexes/generation.js +1 -1
  324. package/lib/esm/client/indexes/generation.js.map +1 -0
  325. package/lib/esm/client/indexes/index.js +1 -1
  326. package/lib/esm/client/indexes/index.js.map +1 -0
  327. package/lib/esm/client/logging.js +1 -1
  328. package/lib/esm/client/logging.js.map +1 -0
  329. package/lib/esm/client/services/FabricEnrollmentService.js +1 -1
  330. package/lib/esm/client/services/FabricEnrollmentService.js.map +1 -0
  331. package/lib/esm/client/services/FabricIdentityService.js +1 -1
  332. package/lib/esm/client/services/FabricIdentityService.js.map +1 -0
  333. package/lib/esm/client/services/RegistrationRequestBuilder.js +1 -1
  334. package/lib/esm/client/services/RegistrationRequestBuilder.js.map +1 -0
  335. package/lib/esm/client/services/constants.js +1 -1
  336. package/lib/esm/client/services/constants.js.map +1 -0
  337. package/lib/esm/client/services/index.js +1 -1
  338. package/lib/esm/client/services/index.js.map +1 -0
  339. package/lib/esm/client/types.js +1 -1
  340. package/lib/esm/client/types.js.map +1 -0
  341. package/lib/esm/client/utils.js +1 -1
  342. package/lib/esm/client/utils.js.map +1 -0
  343. package/lib/esm/contract/Address.js +1 -1
  344. package/lib/esm/contract/Address.js.map +1 -0
  345. package/lib/esm/contract/AddressContract.js +1 -1
  346. package/lib/esm/contract/AddressContract.js.map +1 -0
  347. package/lib/esm/contract/AuditContract.js +1 -1
  348. package/lib/esm/contract/AuditContract.js.map +1 -0
  349. package/lib/esm/contract/BatchContract.js +1 -1
  350. package/lib/esm/contract/BatchContract.js.map +1 -0
  351. package/lib/esm/contract/MarketContract.js +1 -1
  352. package/lib/esm/contract/MarketContract.js.map +1 -0
  353. package/lib/esm/contract/OtherAuditContract.js +1 -1
  354. package/lib/esm/contract/OtherAuditContract.js.map +1 -0
  355. package/lib/esm/contract/OtherBatchContract.js +1 -1
  356. package/lib/esm/contract/OtherBatchContract.js.map +1 -0
  357. package/lib/esm/contract/OtherLeafletContract.js +1 -1
  358. package/lib/esm/contract/OtherLeafletContract.js.map +1 -0
  359. package/lib/esm/contract/OtherLeafletFileContract.js +1 -1
  360. package/lib/esm/contract/OtherLeafletFileContract.js.map +1 -0
  361. package/lib/esm/contract/OtherMarketContract.js +1 -1
  362. package/lib/esm/contract/OtherMarketContract.js.map +1 -0
  363. package/lib/esm/contract/OtherProductContract.js +1 -1
  364. package/lib/esm/contract/OtherProductContract.js.map +1 -0
  365. package/lib/esm/contract/OtherProductImageContract.js +1 -1
  366. package/lib/esm/contract/OtherProductImageContract.js.map +1 -0
  367. package/lib/esm/contract/OtherProductSharedContract.js +1 -1
  368. package/lib/esm/contract/OtherProductSharedContract.js.map +1 -0
  369. package/lib/esm/contract/OtherProductStrengthContract.js +1 -1
  370. package/lib/esm/contract/OtherProductStrengthContract.js.map +1 -0
  371. package/lib/esm/contract/Product.js +1 -1
  372. package/lib/esm/contract/Product.js.map +1 -0
  373. package/lib/esm/contract/ProductContract.js +1 -1
  374. package/lib/esm/contract/ProductContract.js.map +1 -0
  375. package/lib/esm/contract/ProductStrengthContract.js +1 -1
  376. package/lib/esm/contract/ProductStrengthContract.js.map +1 -0
  377. package/lib/esm/contract/SegregatedPrivateDocumentContract.js +1 -1
  378. package/lib/esm/contract/SegregatedPrivateDocumentContract.js.map +1 -0
  379. package/lib/esm/contract/SegregatedSharedDocumentContract.js +1 -1
  380. package/lib/esm/contract/SegregatedSharedDocumentContract.js.map +1 -0
  381. package/lib/esm/contract/User.js +1 -1
  382. package/lib/esm/contract/User.js.map +1 -0
  383. package/lib/esm/contract/UserContract.js +1 -1
  384. package/lib/esm/contract/UserContract.js.map +1 -0
  385. package/lib/esm/contract/index.js +1 -1
  386. package/lib/esm/contract/index.js.map +1 -0
  387. package/lib/esm/contract/logging-context.js +1 -1
  388. package/lib/esm/contract/logging-context.js.map +1 -0
  389. package/lib/esm/contract/models/Audit.js +1 -1
  390. package/lib/esm/contract/models/Audit.js.map +1 -0
  391. package/lib/esm/contract/models/BaseIdentifiedModel.js +1 -1
  392. package/lib/esm/contract/models/BaseIdentifiedModel.js.map +1 -0
  393. package/lib/esm/contract/models/BaseModel.js +1 -1
  394. package/lib/esm/contract/models/BaseModel.js.map +1 -0
  395. package/lib/esm/contract/models/Batch.js +1 -1
  396. package/lib/esm/contract/models/Batch.js.map +1 -0
  397. package/lib/esm/contract/models/GtinOwner.js +1 -1
  398. package/lib/esm/contract/models/GtinOwner.js.map +1 -0
  399. package/lib/esm/contract/models/History.js +1 -1
  400. package/lib/esm/contract/models/History.js.map +1 -0
  401. package/lib/esm/contract/models/Leaflet.js +1 -1
  402. package/lib/esm/contract/models/Leaflet.js.map +1 -0
  403. package/lib/esm/contract/models/LeafletFile.js +1 -1
  404. package/lib/esm/contract/models/LeafletFile.js.map +1 -0
  405. package/lib/esm/contract/models/Market.js +1 -1
  406. package/lib/esm/contract/models/Market.js.map +1 -0
  407. package/lib/esm/contract/models/OtherAudit.js +1 -1
  408. package/lib/esm/contract/models/OtherAudit.js.map +1 -0
  409. package/lib/esm/contract/models/OtherBatchShared.js +1 -1
  410. package/lib/esm/contract/models/OtherBatchShared.js.map +1 -0
  411. package/lib/esm/contract/models/OtherLeaflet.js +1 -1
  412. package/lib/esm/contract/models/OtherLeaflet.js.map +1 -0
  413. package/lib/esm/contract/models/OtherLeafletFile.js +1 -1
  414. package/lib/esm/contract/models/OtherLeafletFile.js.map +1 -0
  415. package/lib/esm/contract/models/OtherMarket.js +1 -1
  416. package/lib/esm/contract/models/OtherMarket.js.map +1 -0
  417. package/lib/esm/contract/models/OtherProduct.js +1 -1
  418. package/lib/esm/contract/models/OtherProduct.js.map +1 -0
  419. package/lib/esm/contract/models/OtherProductImage.js +1 -1
  420. package/lib/esm/contract/models/OtherProductImage.js.map +1 -0
  421. package/lib/esm/contract/models/OtherProductShared.js +1 -1
  422. package/lib/esm/contract/models/OtherProductShared.js.map +1 -0
  423. package/lib/esm/contract/models/OtherProductStrength.js +1 -1
  424. package/lib/esm/contract/models/OtherProductStrength.js.map +1 -0
  425. package/lib/esm/contract/models/Product.js +1 -1
  426. package/lib/esm/contract/models/Product.js.map +1 -0
  427. package/lib/esm/contract/models/ProductStrength.js +1 -1
  428. package/lib/esm/contract/models/ProductStrength.js.map +1 -0
  429. package/lib/esm/contract/models/SegregatedDocument.js +1 -1
  430. package/lib/esm/contract/models/SegregatedDocument.js.map +1 -0
  431. package/lib/esm/contract/models/constants.js +1 -1
  432. package/lib/esm/contract/models/constants.js.map +1 -0
  433. package/lib/esm/contract/models/decorators-private.js +1 -1
  434. package/lib/esm/contract/models/decorators-private.js.map +1 -0
  435. package/lib/esm/contract/models/decorators.js +1 -1
  436. package/lib/esm/contract/models/decorators.js.map +1 -0
  437. package/lib/esm/contract/models/gtin.js +1 -1
  438. package/lib/esm/contract/models/gtin.js.map +1 -0
  439. package/lib/esm/contract/models/history-dec.js +1 -1
  440. package/lib/esm/contract/models/history-dec.js.map +1 -0
  441. package/lib/esm/contract/trackedModels/History.js +1 -1
  442. package/lib/esm/contract/trackedModels/History.js.map +1 -0
  443. package/lib/esm/contract/trackedModels/OtherAudit.js +1 -1
  444. package/lib/esm/contract/trackedModels/OtherAudit.js.map +1 -0
  445. package/lib/esm/contract/trackedModels/OtherBatchShared.js +1 -1
  446. package/lib/esm/contract/trackedModels/OtherBatchShared.js.map +1 -0
  447. package/lib/esm/contract/trackedModels/OtherLeaflet.js +1 -1
  448. package/lib/esm/contract/trackedModels/OtherLeaflet.js.map +1 -0
  449. package/lib/esm/contract/trackedModels/OtherLeafletFile.js +1 -1
  450. package/lib/esm/contract/trackedModels/OtherLeafletFile.js.map +1 -0
  451. package/lib/esm/contract/trackedModels/OtherMarket.js +1 -1
  452. package/lib/esm/contract/trackedModels/OtherMarket.js.map +1 -0
  453. package/lib/esm/contract/trackedModels/OtherProduct.js +1 -1
  454. package/lib/esm/contract/trackedModels/OtherProduct.js.map +1 -0
  455. package/lib/esm/contract/trackedModels/OtherProductImage.js +1 -1
  456. package/lib/esm/contract/trackedModels/OtherProductImage.js.map +1 -0
  457. package/lib/esm/contract/trackedModels/OtherProductShared.js +1 -1
  458. package/lib/esm/contract/trackedModels/OtherProductShared.js.map +1 -0
  459. package/lib/esm/contract/trackedModels/OtherProductStrength.js +1 -1
  460. package/lib/esm/contract/trackedModels/OtherProductStrength.js.map +1 -0
  461. package/lib/esm/contracts/ContractAdapter.js +1 -1
  462. package/lib/esm/contracts/ContractAdapter.js.map +1 -0
  463. package/lib/esm/contracts/ContractContext.js +1 -1
  464. package/lib/esm/contracts/ContractContext.js.map +1 -0
  465. package/lib/esm/contracts/FabricContractDispatch.js +1 -1
  466. package/lib/esm/contracts/FabricContractDispatch.js.map +1 -0
  467. package/lib/esm/contracts/FabricContractPaginator.js +1 -1
  468. package/lib/esm/contracts/FabricContractPaginator.js.map +1 -0
  469. package/lib/esm/contracts/FabricContractRepository.js +1 -1
  470. package/lib/esm/contracts/FabricContractRepository.js.map +1 -0
  471. package/lib/esm/contracts/FabricContractRepositoryObservableHandler.js +1 -1
  472. package/lib/esm/contracts/FabricContractRepositoryObservableHandler.js.map +1 -0
  473. package/lib/esm/contracts/FabricContractSequence.js +1 -1
  474. package/lib/esm/contracts/FabricContractSequence.js.map +1 -0
  475. package/lib/esm/contracts/FabricContractStatement.js +1 -1
  476. package/lib/esm/contracts/FabricContractStatement.js.map +1 -0
  477. package/lib/esm/contracts/MigrationContract.js +1 -1
  478. package/lib/esm/contracts/MigrationContract.js.map +1 -0
  479. package/lib/esm/contracts/PrivateSequence.js +1 -1
  480. package/lib/esm/contracts/PrivateSequence.js.map +1 -0
  481. package/lib/esm/contracts/auth/decorators.js +1 -1
  482. package/lib/esm/contracts/auth/decorators.js.map +1 -0
  483. package/lib/esm/contracts/auth/index.js +1 -1
  484. package/lib/esm/contracts/auth/index.js.map +1 -0
  485. package/lib/esm/contracts/bootstrap.js +1 -1
  486. package/lib/esm/contracts/bootstrap.js.map +1 -0
  487. package/lib/esm/contracts/crud/crud-contract.js +1 -1
  488. package/lib/esm/contracts/crud/crud-contract.js.map +1 -0
  489. package/lib/esm/contracts/crud/index.js +1 -1
  490. package/lib/esm/contracts/crud/index.js.map +1 -0
  491. package/lib/esm/contracts/crud/serialized-crud-contract.js +1 -1
  492. package/lib/esm/contracts/crud/serialized-crud-contract.js.map +1 -0
  493. package/lib/esm/contracts/erc20/erc20contract.js +1 -1
  494. package/lib/esm/contracts/erc20/erc20contract.js.map +1 -0
  495. package/lib/esm/contracts/erc20/index.js +1 -1
  496. package/lib/esm/contracts/erc20/index.js.map +1 -0
  497. package/lib/esm/contracts/erc20/models.js +1 -1
  498. package/lib/esm/contracts/erc20/models.js.map +1 -0
  499. package/lib/esm/contracts/fabric-overrides.js +1 -1
  500. package/lib/esm/contracts/fabric-overrides.js.map +1 -0
  501. package/lib/esm/contracts/index.js +1 -1
  502. package/lib/esm/contracts/index.js.map +1 -0
  503. package/lib/esm/contracts/logging.js +1 -1
  504. package/lib/esm/contracts/logging.js.map +1 -0
  505. package/lib/esm/contracts/overrides.js +1 -1
  506. package/lib/esm/contracts/overrides.js.map +1 -0
  507. package/lib/esm/contracts/types.js +1 -1
  508. package/lib/esm/contracts/types.js.map +1 -0
  509. package/lib/esm/contracts/uuid.js +1 -1
  510. package/lib/esm/contracts/uuid.js.map +1 -0
  511. package/lib/esm/index.js +1 -1
  512. package/lib/esm/index.js.map +1 -0
  513. package/lib/esm/shared/ClientSerializer.js +1 -1
  514. package/lib/esm/shared/ClientSerializer.js.map +1 -0
  515. package/lib/esm/shared/DeterministicSerializer.js +1 -1
  516. package/lib/esm/shared/DeterministicSerializer.js.map +1 -0
  517. package/lib/esm/shared/SimpleDeterministicSerializer.js +1 -1
  518. package/lib/esm/shared/SimpleDeterministicSerializer.js.map +1 -0
  519. package/lib/esm/shared/constants.js +1 -1
  520. package/lib/esm/shared/constants.js.map +1 -0
  521. package/lib/esm/shared/decorators.js +1 -1
  522. package/lib/esm/shared/decorators.js.map +1 -0
  523. package/lib/esm/shared/erc20/erc20-constants.js +1 -1
  524. package/lib/esm/shared/erc20/erc20-constants.js.map +1 -0
  525. package/lib/esm/shared/erc20/index.js +1 -1
  526. package/lib/esm/shared/erc20/index.js.map +1 -0
  527. package/lib/esm/shared/errors.js +1 -1
  528. package/lib/esm/shared/errors.js.map +1 -0
  529. package/lib/esm/shared/events.js +1 -1
  530. package/lib/esm/shared/events.js.map +1 -0
  531. package/lib/esm/shared/fabric-types.js +1 -1
  532. package/lib/esm/shared/fabric-types.js.map +1 -0
  533. package/lib/esm/shared/index.js +1 -1
  534. package/lib/esm/shared/index.js.map +1 -0
  535. package/lib/esm/shared/interfaces/Checkable.js +1 -1
  536. package/lib/esm/shared/interfaces/Checkable.js.map +1 -0
  537. package/lib/esm/shared/interfaces/index.js +1 -1
  538. package/lib/esm/shared/interfaces/index.js.map +1 -0
  539. package/lib/esm/shared/math.js +1 -1
  540. package/lib/esm/shared/math.js.map +1 -0
  541. package/lib/esm/shared/model/FabricBaseModel.js +1 -1
  542. package/lib/esm/shared/model/FabricBaseModel.js.map +1 -0
  543. package/lib/esm/shared/model/FabricIdentifiedBaseModel.js +1 -1
  544. package/lib/esm/shared/model/FabricIdentifiedBaseModel.js.map +1 -0
  545. package/lib/esm/shared/model/Identity.js +1 -1
  546. package/lib/esm/shared/model/Identity.js.map +1 -0
  547. package/lib/esm/shared/model/IdentityCredentials.js +1 -1
  548. package/lib/esm/shared/model/IdentityCredentials.js.map +1 -0
  549. package/lib/esm/shared/model/index.js +1 -1
  550. package/lib/esm/shared/model/index.js.map +1 -0
  551. package/lib/esm/shared/overrides/Model.js +1 -1
  552. package/lib/esm/shared/overrides/Model.js.map +1 -0
  553. package/lib/esm/shared/overrides/index.js +1 -1
  554. package/lib/esm/shared/overrides/index.js.map +1 -0
  555. package/lib/esm/shared/overrides/overrides.js +1 -1
  556. package/lib/esm/shared/overrides/overrides.js.map +1 -0
  557. package/lib/esm/shared/types.js +1 -1
  558. package/lib/esm/shared/types.js.map +1 -0
  559. package/lib/esm/version.js +4 -4
  560. package/lib/esm/version.js.map +1 -0
  561. package/lib/types/version.d.cts +3 -3
  562. package/lib/types/version.d.mts +3 -3
  563. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contracts/ContractAdapter.cjs","sourceRoot":"","sources":["contracts/ContractAdapter.js"],"names":[],"mappings":"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"}
@@ -154,5 +154,5 @@ class FabricContractContext extends core_1.Context {
154
154
  }
155
155
  }
156
156
  exports.FabricContractContext = FabricContractContext;
157
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29udHJhY3RDb250ZXh0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbnRyYWN0cy9Db250cmFjdENvbnRleHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSXpDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTZCRztBQUNILE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxPQUE0QjtJQUNyRTs7O09BR0c7SUFDSCxZQUFZLEdBQTJCO1FBQ3JDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNiLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsSUFBSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzFCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsSUFBYSxTQUFTO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO0lBQ3RDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsSUFBSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFDRCxFQUFFO0lBQ0Ysd0VBQXdFO0lBQ3hFLHlDQUF5QztJQUN6Qyw2Q0FBNkM7SUFDN0MsRUFBRTtJQUNGLHFDQUFxQztJQUNyQyxZQUFZO0lBQ1osd0RBQXdEO0lBQ3hELGlCQUFpQjtJQUVqQjs7Ozs7T0FLRztJQUNILHNCQUFzQixDQUNwQixPQUFlLEVBQ2YsZUFBd0IsRUFDeEIsV0FBcUI7UUFFckIsSUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQ3RELEdBQUcsR0FBRyxHQUFHLFlBQVksR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLENBQUM7UUFDM0MsTUFBTSxR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LENBQUMsR0FBRyxTQUFTLENBQUM7WUFDckMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUNyQyxPQUFPLE9BQU8sQ0FBQztRQUNqQixDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILG1CQUFtQjtRQUNqQixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsa0JBQWtCO1FBQ2hCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3hELE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFUSxRQUFRO1FBQ2YsT0FBTyxhQUFhLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDbEUsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29udGV4dCB9IGZyb20gXCJAZGVjYWYtdHMvY29yZVwiO1xuaW1wb3J0IHsgRmFicmljQ29udHJhY3RGbGFncyB9IGZyb20gXCIuL3R5cGVzXCI7XG5pbXBvcnQgeyBDaGFpbmNvZGVTdHViLCBDbGllbnRJZGVudGl0eSB9IGZyb20gXCJmYWJyaWMtc2hpbS1hcGlcIjtcblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gQ29udGV4dCBjbGFzcyBmb3IgRmFicmljIGNoYWluY29kZSBvcGVyYXRpb25zXG4gKiBAc3VtbWFyeSBQcm92aWRlcyBhY2Nlc3MgdG8gRmFicmljLXNwZWNpZmljIGNvbnRleHQgZWxlbWVudHMgbGlrZSBzdHViLCBpZGVudGl0eSwgYW5kIGxvZ2dlciB0byBiZSB1c2VkIGJ5IHJlcG9zaXRvcmllcyBhbmQgYWRhcHRlcnMgZHVyaW5nIGNvbnRyYWN0IGV4ZWN1dGlvbi5cbiAqIEB0ZW1wbGF0ZSBGIC0gRmxhZ3Mgc3BlY2lmaWMgdG8gRmFicmljIGNvbnRyYWN0IG9wZXJhdGlvbnNcbiAqIEBwYXJhbSB7b2JqZWN0fSBbYXJnc10gLSBPcHRpb25hbCBpbml0aWFsaXphdGlvbiBhcmd1bWVudHMgcGFzc2VkIHRvIHRoZSBiYXNlIENvbnRleHRcbiAqIEByZXR1cm4ge3ZvaWR9XG4gKiBAY2xhc3MgRmFicmljQ29udHJhY3RDb250ZXh0XG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogLy8gSW4gYSBGYWJyaWMgY2hhaW5jb2RlIGNvbnRyYWN0IG1ldGhvZFxuICogY29uc3QgY29udGV4dCA9IG5ldyBGYWJyaWNDb250cmFjdENvbnRleHQoKTtcbiAqIC8vIE9wdGlvbmFsbHkgc2V0IHZhbHVlcyB2aWEgdGhlIGJhc2UgQ29udGV4dCBBUElcbiAqIGNvbnRleHQuc2V0KCdzdHViJywgY3R4LnN0dWIpO1xuICogY29udGV4dC5zZXQoJ2NsaWVudElkZW50aXR5JywgY3R4LmNsaWVudElkZW50aXR5KTtcbiAqIGNvbnRleHQuc2V0KCdsb2dnZXInLCBjb250cmFjdExvZ2dlcik7XG4gKlxuICogLy8gQWNjZXNzIGNvbnRleHQgcHJvcGVydGllc1xuICogY29uc3QgdGltZXN0YW1wID0gY29udGV4dC50aW1lc3RhbXA7XG4gKiBjb25zdCBjcmVhdG9yID0gY29udGV4dC5pZGVudGl0eS5nZXRJRCgpO1xuICogYGBgXG4gKiBAbWVybWFpZFxuICogc2VxdWVuY2VEaWFncmFtXG4gKiAgIHBhcnRpY2lwYW50IENvbnRyYWN0XG4gKiAgIHBhcnRpY2lwYW50IENvbnRleHRcbiAqICAgcGFydGljaXBhbnQgTGVkZ2VyXG4gKiAgIENvbnRyYWN0LT4+Q29udGV4dDogbmV3IEZhYnJpY0NvbnRyYWN0Q29udGV4dCgpXG4gKiAgIENvbnRyYWN0LT4+Q29udGV4dDogc2V0KCdzdHViJ3wnY2xpZW50SWRlbnRpdHknfCdsb2dnZXInLCAuLi4pXG4gKiAgIENvbnRleHQtLT4+Q29udHJhY3Q6IHRpbWVzdGFtcCwgaWRlbnRpdHksIGxvZ2dlclxuICogICBDb250cmFjdC0+PkxlZGdlcjogSW50ZXJhY3QgdmlhIHN0dWJcbiAqL1xuZXhwb3J0IGNsYXNzIEZhYnJpY0NvbnRyYWN0Q29udGV4dCBleHRlbmRzIENvbnRleHQ8RmFicmljQ29udHJhY3RGbGFncz4ge1xuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIENyZWF0ZXMgYSBuZXcgRmFicmljQ29udHJhY3RDb250ZXh0IGluc3RhbmNlXG4gICAqIEBzdW1tYXJ5IEluaXRpYWxpemVzIHRoZSBjb250ZXh0IHdpdGggRmFicmljLXNwZWNpZmljIGZsYWdzXG4gICAqL1xuICBjb25zdHJ1Y3RvcihjdHg/OiBGYWJyaWNDb250cmFjdENvbnRleHQpIHtcbiAgICBzdXBlcihjdHgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBHZXRzIHRoZSBjaGFpbmNvZGUgc3R1YlxuICAgKiBAc3VtbWFyeSBSZXR1cm5zIHRoZSBDaGFpbmNvZGVTdHViIGluc3RhbmNlIGZvciBpbnRlcmFjdGluZyB3aXRoIHRoZSBsZWRnZXJcbiAgICogQHJldHVybiB7Q2hhaW5jb2RlU3R1Yn0gVGhlIGNoYWluY29kZSBzdHViXG4gICAqL1xuICBnZXQgc3R1YigpOiBDaGFpbmNvZGVTdHViIHtcbiAgICByZXR1cm4gdGhpcy5nZXQoXCJzdHViXCIpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBHZXRzIHRoZSB0cmFuc2FjdGlvbiB0aW1lc3RhbXBcbiAgICogQHN1bW1hcnkgT3ZlcnJpZGVzIHRoZSBiYXNlIHRpbWVzdGFtcCBnZXR0ZXIgdG8gdXNlIHRoZSBzdHViJ3MgdGltZXN0YW1wXG4gICAqIEByZXR1cm4ge0RhdGV9IFRoZSB0cmFuc2FjdGlvbiB0aW1lc3RhbXBcbiAgICovXG4gIG92ZXJyaWRlIGdldCB0aW1lc3RhbXAoKTogRGF0ZSB7XG4gICAgcmV0dXJuIHRoaXMuc3R1Yi5nZXREYXRlVGltZXN0YW1wKCk7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEdldHMgdGhlIGNsaWVudCBpZGVudGl0eVxuICAgKiBAc3VtbWFyeSBSZXR1cm5zIHRoZSBDbGllbnRJZGVudGl0eSBpbnN0YW5jZSBmb3IgdGhlIHRyYW5zYWN0aW9uIHN1Ym1pdHRlclxuICAgKiBAcmV0dXJuIHtDbGllbnRJZGVudGl0eX0gVGhlIGNsaWVudCBpZGVudGl0eVxuICAgKi9cbiAgZ2V0IGlkZW50aXR5KCk6IENsaWVudElkZW50aXR5IHtcbiAgICByZXR1cm4gdGhpcy5nZXQoXCJpZGVudGl0eVwiKTtcbiAgfVxuICAvL1xuICAvLyBwcml2YXRlIF9zZWdyZWdhdGVXcml0ZTogUmVjb3JkPHN0cmluZywgU2VncmVnYXRlZFdyaXRlRW50cnlbXT4gPSB7fTtcbiAgLy8gcHJpdmF0ZSBfc2VncmVnYXRlUmVhZDogc3RyaW5nW10gPSBbXTtcbiAgLy8gcHJpdmF0ZSBfZnVsbHlTZWdyZWdhdGVkOiBib29sZWFuID0gZmFsc2U7XG4gIC8vXG4gIC8vIHByaXZhdGUgX3NlcXVlbmNlU2VncmVnYXRpb246IE1hcDxcbiAgLy8gICBzdHJpbmcsXG4gIC8vICAgeyBmdWxseVNlZ3JlZ2F0ZWQ6IGJvb2xlYW47IGNvbGxlY3Rpb25zOiBzdHJpbmdbXSB9XG4gIC8vID4gPSBuZXcgTWFwKCk7XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBTdG9yZXMgc2VncmVnYXRpb24gbWV0YWRhdGEgcGVyIHNlcXVlbmNlIG5hbWVcbiAgICogQHN1bW1hcnkgTmVlZGVkIGJlY2F1c2UgdGhlIFNlcXVlbmNlIGNyZWF0ZXMgaXRzIG93biBjb250ZXh0ICh2aWEgbG9nQ3R4KSxcbiAgICogbG9zaW5nIGZsYWdzIHNldCBieSBleHRyYWN0U2VncmVnYXRlZENvbGxlY3Rpb25zIG9uIHRoZSBoYW5kbGVyIGNvbnRleHQuXG4gICAqIFRoZSBhZGFwdGVyIHBlcnNpc3RzIGFjcm9zcyBvcGVyYXRpb25zLCBtYWtpbmcgaXQgYSByZWxpYWJsZSBzdG9yZS5cbiAgICovXG4gIHNldFNlcXVlbmNlU2VncmVnYXRpb24oXG4gICAgc2VxTmFtZTogc3RyaW5nLFxuICAgIGZ1bGx5U2VncmVnYXRlZDogYm9vbGVhbixcbiAgICBjb2xsZWN0aW9uczogc3RyaW5nW11cbiAgKTogdm9pZCB7XG4gICAgbGV0IG1hcCA9IHRoaXMuZ2V0RnJvbUNoaWxkcmVuKFwic2VxdWVuY2VTZWdyZWdhdGlvblwiKTtcbiAgICBtYXAgPSBtYXAgaW5zdGFuY2VvZiBNYXAgPyBtYXAgOiBuZXcgTWFwKCk7XG4gICAgY29uc3QgZXhpc3RpbmcgPSBtYXAuZ2V0KHNlcU5hbWUpO1xuICAgIGNvbnN0IG1lcmdlZENvbGxlY3Rpb25zID0gZXhpc3RpbmdcbiAgICAgID8gWy4uLm5ldyBTZXQoWy4uLihleGlzdGluZy5jb2xsZWN0aW9ucyB8fCBbXSksIC4uLihjb2xsZWN0aW9ucyB8fCBbXSldKV1cbiAgICAgIDogY29sbGVjdGlvbnM7XG4gICAgbWFwLnNldChzZXFOYW1lLCB7XG4gICAgICBmdWxseVNlZ3JlZ2F0ZWQ6IGZ1bGx5U2VncmVnYXRlZCB8fCAhIWV4aXN0aW5nPy5mdWxseVNlZ3JlZ2F0ZWQsXG4gICAgICBjb2xsZWN0aW9uczogbWVyZ2VkQ29sbGVjdGlvbnMsXG4gICAgfSk7XG4gICAgdGhpcy5wdXQoXCJzZXF1ZW5jZVNlZ3JlZ2F0aW9uXCIsIG1hcCk7XG4gIH1cblxuICBnZXRTZXF1ZW5jZVNlZ3JlZ2F0aW9uKFxuICAgIHNlcU5hbWU6IHN0cmluZ1xuICApOiB7IGZ1bGx5U2VncmVnYXRlZDogYm9vbGVhbjsgY29sbGVjdGlvbnM6IHN0cmluZ1tdIH0gfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLmdldEZyb21DaGlsZHJlbihcInNlcXVlbmNlU2VncmVnYXRpb25cIik/LmdldChzZXFOYW1lKTtcbiAgfVxuXG4gIG1hcmtGdWxseVNlZ3JlZ2F0ZWQoKTogdm9pZCB7XG4gICAgdGhpcy5wdXQoXCJmdWxseVNlZ3JlZ2F0ZWRcIiwgdHJ1ZSk7XG4gIH1cblxuICBnZXQgaXNGdWxseVNlZ3JlZ2F0ZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5nZXRGcm9tQ2hpbGRyZW4oXCJmdWxseVNlZ3JlZ2F0ZWRcIik7XG4gIH1cblxuICB3cml0ZVRvKGNvbDogc3RyaW5nLCBlbnRyeTogc3RyaW5nW10pIHtcbiAgICBjb25zdCBzZWdyZWdhdGVXcml0ZSA9IHRoaXMuZ2V0RnJvbUNoaWxkcmVuKFwic2VncmVnYXRlV3JpdGVcIikgfHwge307XG4gICAgaWYgKCEoY29sIGluIHNlZ3JlZ2F0ZVdyaXRlKSkgc2VncmVnYXRlV3JpdGVbY29sXSA9IFtdO1xuICAgIHNlZ3JlZ2F0ZVdyaXRlW2NvbF0ucHVzaCguLi5lbnRyeSk7XG4gICAgdGhpcy5wdXQoXCJzZWdyZWdhdGVXcml0ZVwiLCBzZWdyZWdhdGVXcml0ZSk7XG4gIH1cblxuICBnZXRTZWdyZWdhdGVkV3JpdGVzKCkge1xuICAgIHJldHVybiB0aGlzLmdldEZyb21DaGlsZHJlbihcInNlZ3JlZ2F0ZVdyaXRlXCIpO1xuICB9XG5cbiAgcHV0KGtleTogc3RyaW5nLCB2YWx1ZTogYW55KSB7XG4gICAgdGhpcy5hY2N1bXVsYXRlKHsgW2tleV06IHZhbHVlIH0pO1xuICB9XG5cbiAgcmVhZEZyb20oY29sczogc3RyaW5nIHwgc3RyaW5nW10pIHtcbiAgICBjb2xzID0gQXJyYXkuaXNBcnJheShjb2xzKSA/IGNvbHMgOiBbY29sc107XG4gICAgY29uc3Qgc2VncmVnYXRlUmVhZCA9IFtcbiAgICAgIC4uLm5ldyBTZXQoWy4uLih0aGlzLmdldE9yVW5kZWZpbmVkKFwic2VncmVnYXRlUmVhZFwiKSB8fCBbXSksIC4uLmNvbHNdKSxcbiAgICBdO1xuICAgIHRoaXMucHV0KFwic2VncmVnYXRlUmVhZFwiLCBzZWdyZWdhdGVSZWFkKTtcblxuICAgIGNvbnN0IHJlYWRTdGFjayA9IHRoaXMuZ2V0T3JVbmRlZmluZWQoXCJzZWdyZWdhdGVSZWFkU3RhY2tcIikgfHwgW107XG4gICAgdGhpcy5wdXQoXCJzZWdyZWdhdGVSZWFkU3RhY2tcIiwgWy4uLnJlYWRTdGFjaywgY29sc10pO1xuICB9XG5cbiAgY29uc3VtZVJlYWRDb2xsZWN0aW9ucygpOiBzdHJpbmdbXSB7XG4gICAgY29uc3QgcmVhZFN0YWNrID0gdGhpcy5nZXRPclVuZGVmaW5lZChcInNlZ3JlZ2F0ZVJlYWRTdGFja1wiKSB8fCBbXTtcbiAgICBpZiAocmVhZFN0YWNrLmxlbmd0aCkge1xuICAgICAgY29uc3QgW2N1cnJlbnQsIC4uLnJlc3RdID0gcmVhZFN0YWNrO1xuICAgICAgdGhpcy5wdXQoXCJzZWdyZWdhdGVSZWFkU3RhY2tcIiwgcmVzdCk7XG4gICAgICByZXR1cm4gY3VycmVudDtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuZ2V0UmVhZENvbGxlY3Rpb25zKCk7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEdldHMgdGhlIGNvbGxlY3Rpb25zIHJlZ2lzdGVyZWQgZm9yIHdyaXRpbmdcbiAgICogQHN1bW1hcnkgUmV0dXJucyBjb2xsZWN0aW9uIG5hbWVzIGZyb20gc2VncmVnYXRlV3JpdGUsIHVzZWQgYnkgc2VxdWVuY2VzIHRvIGtub3cgd2hlcmUgdG8gcmVwbGljYXRlLlxuICAgKiBAcmV0dXJuIHtzdHJpbmdbXX0gQXJyYXkgb2YgY29sbGVjdGlvbiBuYW1lcywgZW1wdHkgaWYgbm9uZSByZWdpc3RlcmVkXG4gICAqL1xuICBnZXRXcml0ZUNvbGxlY3Rpb25zKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gT2JqZWN0LmtleXModGhpcy5nZXRPclVuZGVmaW5lZChcInNlZ3JlZ2F0ZVdyaXRlXCIpIHx8IHt9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gR2V0cyB0aGUgY29sbGVjdGlvbnMgcmVnaXN0ZXJlZCBmb3IgcmVhZGluZ1xuICAgKiBAc3VtbWFyeSBSZXR1cm5zIGNvbGxlY3Rpb24gbmFtZXMgZnJvbSBzZWdyZWdhdGVSZWFkLlxuICAgKiBAcmV0dXJuIHtzdHJpbmdbXX0gQXJyYXkgb2YgY29sbGVjdGlvbiBuYW1lcywgZW1wdHkgaWYgbm9uZSByZWdpc3RlcmVkXG4gICAqL1xuICBnZXRSZWFkQ29sbGVjdGlvbnMoKTogc3RyaW5nW10ge1xuICAgIGNvbnN0IGNvbHMgPSB0aGlzLmdldE9yVW5kZWZpbmVkKFwic2VncmVnYXRlUmVhZFwiKSB8fCBbXTtcbiAgICByZXR1cm4gQXJyYXkuaXNBcnJheShjb2xzKSA/IGNvbHMgOiBbY29sc107XG4gIH1cblxuICBvdmVycmlkZSB0b1N0cmluZygpIHtcbiAgICByZXR1cm4gYGZhYnJpYyBjdHgke3RoaXMuc3R1YiA/IFwiIHdpdGggc3R1YlwiIDogXCJ3aXRob3V0IHN0dWJcIn1gO1xuICB9XG59XG4iXX0=
158
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29udHJhY3RDb250ZXh0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiQ29udHJhY3RDb250ZXh0LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHlDQUF5QztBQUN6Qzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E2Qkc7QUFDSCxNQUFhLHFCQUFzQixTQUFRLGNBQU87SUFDOUM7OztPQUdHO0lBQ0gsWUFBWSxHQUFHO1FBQ1gsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2YsQ0FBQztJQUNEOzs7O09BSUc7SUFDSCxJQUFJLElBQUk7UUFDSixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUNEOzs7O09BSUc7SUFDSCxJQUFJLFNBQVM7UUFDVCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0lBQ0Q7Ozs7T0FJRztJQUNILElBQUksUUFBUTtRQUNSLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBQ0QsRUFBRTtJQUNGLHdFQUF3RTtJQUN4RSx5Q0FBeUM7SUFDekMsNkNBQTZDO0lBQzdDLEVBQUU7SUFDRixxQ0FBcUM7SUFDckMsWUFBWTtJQUNaLHdEQUF3RDtJQUN4RCxpQkFBaUI7SUFDakI7Ozs7O09BS0c7SUFDSCxzQkFBc0IsQ0FBQyxPQUFPLEVBQUUsZUFBZSxFQUFFLFdBQVc7UUFDeEQsSUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQ3RELEdBQUcsR0FBRyxHQUFHLFlBQVksR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLENBQUM7UUFDM0MsTUFBTSxRQUFRLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNsQyxNQUFNLGlCQUFpQixH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LENBQUM7WUFDckMsT0FBTyxPQUFPLENBQUM7UUFDbkIsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDckMsQ0FBQztJQUNEOzs7O09BSUc7SUFDSCxtQkFBbUI7UUFDZixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFDRDs7OztPQUlHO0lBQ0gsa0JBQWtCO1FBQ2QsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDeEQsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUNELFFBQVE7UUFDSixPQUFPLGFBQWEsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUNwRSxDQUFDO0NBQ0o7QUF4SEQsc0RBd0hDO0FBQ0QsMHpZQUEwelkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb250ZXh0IH0gZnJvbSBcIkBkZWNhZi10cy9jb3JlXCI7XG4vKipcbiAqIEBkZXNjcmlwdGlvbiBDb250ZXh0IGNsYXNzIGZvciBGYWJyaWMgY2hhaW5jb2RlIG9wZXJhdGlvbnNcbiAqIEBzdW1tYXJ5IFByb3ZpZGVzIGFjY2VzcyB0byBGYWJyaWMtc3BlY2lmaWMgY29udGV4dCBlbGVtZW50cyBsaWtlIHN0dWIsIGlkZW50aXR5LCBhbmQgbG9nZ2VyIHRvIGJlIHVzZWQgYnkgcmVwb3NpdG9yaWVzIGFuZCBhZGFwdGVycyBkdXJpbmcgY29udHJhY3QgZXhlY3V0aW9uLlxuICogQHRlbXBsYXRlIEYgLSBGbGFncyBzcGVjaWZpYyB0byBGYWJyaWMgY29udHJhY3Qgb3BlcmF0aW9uc1xuICogQHBhcmFtIHtvYmplY3R9IFthcmdzXSAtIE9wdGlvbmFsIGluaXRpYWxpemF0aW9uIGFyZ3VtZW50cyBwYXNzZWQgdG8gdGhlIGJhc2UgQ29udGV4dFxuICogQHJldHVybiB7dm9pZH1cbiAqIEBjbGFzcyBGYWJyaWNDb250cmFjdENvbnRleHRcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiAvLyBJbiBhIEZhYnJpYyBjaGFpbmNvZGUgY29udHJhY3QgbWV0aG9kXG4gKiBjb25zdCBjb250ZXh0ID0gbmV3IEZhYnJpY0NvbnRyYWN0Q29udGV4dCgpO1xuICogLy8gT3B0aW9uYWxseSBzZXQgdmFsdWVzIHZpYSB0aGUgYmFzZSBDb250ZXh0IEFQSVxuICogY29udGV4dC5zZXQoJ3N0dWInLCBjdHguc3R1Yik7XG4gKiBjb250ZXh0LnNldCgnY2xpZW50SWRlbnRpdHknLCBjdHguY2xpZW50SWRlbnRpdHkpO1xuICogY29udGV4dC5zZXQoJ2xvZ2dlcicsIGNvbnRyYWN0TG9nZ2VyKTtcbiAqXG4gKiAvLyBBY2Nlc3MgY29udGV4dCBwcm9wZXJ0aWVzXG4gKiBjb25zdCB0aW1lc3RhbXAgPSBjb250ZXh0LnRpbWVzdGFtcDtcbiAqIGNvbnN0IGNyZWF0b3IgPSBjb250ZXh0LmlkZW50aXR5LmdldElEKCk7XG4gKiBgYGBcbiAqIEBtZXJtYWlkXG4gKiBzZXF1ZW5jZURpYWdyYW1cbiAqICAgcGFydGljaXBhbnQgQ29udHJhY3RcbiAqICAgcGFydGljaXBhbnQgQ29udGV4dFxuICogICBwYXJ0aWNpcGFudCBMZWRnZXJcbiAqICAgQ29udHJhY3QtPj5Db250ZXh0OiBuZXcgRmFicmljQ29udHJhY3RDb250ZXh0KClcbiAqICAgQ29udHJhY3QtPj5Db250ZXh0OiBzZXQoJ3N0dWInfCdjbGllbnRJZGVudGl0eSd8J2xvZ2dlcicsIC4uLilcbiAqICAgQ29udGV4dC0tPj5Db250cmFjdDogdGltZXN0YW1wLCBpZGVudGl0eSwgbG9nZ2VyXG4gKiAgIENvbnRyYWN0LT4+TGVkZ2VyOiBJbnRlcmFjdCB2aWEgc3R1YlxuICovXG5leHBvcnQgY2xhc3MgRmFicmljQ29udHJhY3RDb250ZXh0IGV4dGVuZHMgQ29udGV4dCB7XG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIENyZWF0ZXMgYSBuZXcgRmFicmljQ29udHJhY3RDb250ZXh0IGluc3RhbmNlXG4gICAgICogQHN1bW1hcnkgSW5pdGlhbGl6ZXMgdGhlIGNvbnRleHQgd2l0aCBGYWJyaWMtc3BlY2lmaWMgZmxhZ3NcbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcihjdHgpIHtcbiAgICAgICAgc3VwZXIoY3R4KTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIEdldHMgdGhlIGNoYWluY29kZSBzdHViXG4gICAgICogQHN1bW1hcnkgUmV0dXJucyB0aGUgQ2hhaW5jb2RlU3R1YiBpbnN0YW5jZSBmb3IgaW50ZXJhY3Rpbmcgd2l0aCB0aGUgbGVkZ2VyXG4gICAgICogQHJldHVybiB7Q2hhaW5jb2RlU3R1Yn0gVGhlIGNoYWluY29kZSBzdHViXG4gICAgICovXG4gICAgZ2V0IHN0dWIoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldChcInN0dWJcIik7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBHZXRzIHRoZSB0cmFuc2FjdGlvbiB0aW1lc3RhbXBcbiAgICAgKiBAc3VtbWFyeSBPdmVycmlkZXMgdGhlIGJhc2UgdGltZXN0YW1wIGdldHRlciB0byB1c2UgdGhlIHN0dWIncyB0aW1lc3RhbXBcbiAgICAgKiBAcmV0dXJuIHtEYXRlfSBUaGUgdHJhbnNhY3Rpb24gdGltZXN0YW1wXG4gICAgICovXG4gICAgZ2V0IHRpbWVzdGFtcCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3R1Yi5nZXREYXRlVGltZXN0YW1wKCk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBHZXRzIHRoZSBjbGllbnQgaWRlbnRpdHlcbiAgICAgKiBAc3VtbWFyeSBSZXR1cm5zIHRoZSBDbGllbnRJZGVudGl0eSBpbnN0YW5jZSBmb3IgdGhlIHRyYW5zYWN0aW9uIHN1Ym1pdHRlclxuICAgICAqIEByZXR1cm4ge0NsaWVudElkZW50aXR5fSBUaGUgY2xpZW50IGlkZW50aXR5XG4gICAgICovXG4gICAgZ2V0IGlkZW50aXR5KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXQoXCJpZGVudGl0eVwiKTtcbiAgICB9XG4gICAgLy9cbiAgICAvLyBwcml2YXRlIF9zZWdyZWdhdGVXcml0ZTogUmVjb3JkPHN0cmluZywgU2VncmVnYXRlZFdyaXRlRW50cnlbXT4gPSB7fTtcbiAgICAvLyBwcml2YXRlIF9zZWdyZWdhdGVSZWFkOiBzdHJpbmdbXSA9IFtdO1xuICAgIC8vIHByaXZhdGUgX2Z1bGx5U2VncmVnYXRlZDogYm9vbGVhbiA9IGZhbHNlO1xuICAgIC8vXG4gICAgLy8gcHJpdmF0ZSBfc2VxdWVuY2VTZWdyZWdhdGlvbjogTWFwPFxuICAgIC8vICAgc3RyaW5nLFxuICAgIC8vICAgeyBmdWxseVNlZ3JlZ2F0ZWQ6IGJvb2xlYW47IGNvbGxlY3Rpb25zOiBzdHJpbmdbXSB9XG4gICAgLy8gPiA9IG5ldyBNYXAoKTtcbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gU3RvcmVzIHNlZ3JlZ2F0aW9uIG1ldGFkYXRhIHBlciBzZXF1ZW5jZSBuYW1lXG4gICAgICogQHN1bW1hcnkgTmVlZGVkIGJlY2F1c2UgdGhlIFNlcXVlbmNlIGNyZWF0ZXMgaXRzIG93biBjb250ZXh0ICh2aWEgbG9nQ3R4KSxcbiAgICAgKiBsb3NpbmcgZmxhZ3Mgc2V0IGJ5IGV4dHJhY3RTZWdyZWdhdGVkQ29sbGVjdGlvbnMgb24gdGhlIGhhbmRsZXIgY29udGV4dC5cbiAgICAgKiBUaGUgYWRhcHRlciBwZXJzaXN0cyBhY3Jvc3Mgb3BlcmF0aW9ucywgbWFraW5nIGl0IGEgcmVsaWFibGUgc3RvcmUuXG4gICAgICovXG4gICAgc2V0U2VxdWVuY2VTZWdyZWdhdGlvbihzZXFOYW1lLCBmdWxseVNlZ3JlZ2F0ZWQsIGNvbGxlY3Rpb25zKSB7XG4gICAgICAgIGxldCBtYXAgPSB0aGlzLmdldEZyb21DaGlsZHJlbihcInNlcXVlbmNlU2VncmVnYXRpb25cIik7XG4gICAgICAgIG1hcCA9IG1hcCBpbnN0YW5jZW9mIE1hcCA/IG1hcCA6IG5ldyBNYXAoKTtcbiAgICAgICAgY29uc3QgZXhpc3RpbmcgPSBtYXAuZ2V0KHNlcU5hbWUpO1xuICAgICAgICBjb25zdCBtZXJnZWRDb2xsZWN0aW9ucyA9IGV4aXN0aW5nXG4gICAgICAgICAgICA/IFsuLi5uZXcgU2V0KFsuLi4oZXhpc3RpbmcuY29sbGVjdGlvbnMgfHwgW10pLCAuLi4oY29sbGVjdGlvbnMgfHwgW10pXSldXG4gICAgICAgICAgICA6IGNvbGxlY3Rpb25zO1xuICAgICAgICBtYXAuc2V0KHNlcU5hbWUsIHtcbiAgICAgICAgICAgIGZ1bGx5U2VncmVnYXRlZDogZnVsbHlTZWdyZWdhdGVkIHx8ICEhZXhpc3Rpbmc/LmZ1bGx5U2VncmVnYXRlZCxcbiAgICAgICAgICAgIGNvbGxlY3Rpb25zOiBtZXJnZWRDb2xsZWN0aW9ucyxcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMucHV0KFwic2VxdWVuY2VTZWdyZWdhdGlvblwiLCBtYXApO1xuICAgIH1cbiAgICBnZXRTZXF1ZW5jZVNlZ3JlZ2F0aW9uKHNlcU5hbWUpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0RnJvbUNoaWxkcmVuKFwic2VxdWVuY2VTZWdyZWdhdGlvblwiKT8uZ2V0KHNlcU5hbWUpO1xuICAgIH1cbiAgICBtYXJrRnVsbHlTZWdyZWdhdGVkKCkge1xuICAgICAgICB0aGlzLnB1dChcImZ1bGx5U2VncmVnYXRlZFwiLCB0cnVlKTtcbiAgICB9XG4gICAgZ2V0IGlzRnVsbHlTZWdyZWdhdGVkKCkge1xuICAgICAgICByZXR1cm4gISF0aGlzLmdldEZyb21DaGlsZHJlbihcImZ1bGx5U2VncmVnYXRlZFwiKTtcbiAgICB9XG4gICAgd3JpdGVUbyhjb2wsIGVudHJ5KSB7XG4gICAgICAgIGNvbnN0IHNlZ3JlZ2F0ZVdyaXRlID0gdGhpcy5nZXRGcm9tQ2hpbGRyZW4oXCJzZWdyZWdhdGVXcml0ZVwiKSB8fCB7fTtcbiAgICAgICAgaWYgKCEoY29sIGluIHNlZ3JlZ2F0ZVdyaXRlKSlcbiAgICAgICAgICAgIHNlZ3JlZ2F0ZVdyaXRlW2NvbF0gPSBbXTtcbiAgICAgICAgc2VncmVnYXRlV3JpdGVbY29sXS5wdXNoKC4uLmVudHJ5KTtcbiAgICAgICAgdGhpcy5wdXQoXCJzZWdyZWdhdGVXcml0ZVwiLCBzZWdyZWdhdGVXcml0ZSk7XG4gICAgfVxuICAgIGdldFNlZ3JlZ2F0ZWRXcml0ZXMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldEZyb21DaGlsZHJlbihcInNlZ3JlZ2F0ZVdyaXRlXCIpO1xuICAgIH1cbiAgICBwdXQoa2V5LCB2YWx1ZSkge1xuICAgICAgICB0aGlzLmFjY3VtdWxhdGUoeyBba2V5XTogdmFsdWUgfSk7XG4gICAgfVxuICAgIHJlYWRGcm9tKGNvbHMpIHtcbiAgICAgICAgY29scyA9IEFycmF5LmlzQXJyYXkoY29scykgPyBjb2xzIDogW2NvbHNdO1xuICAgICAgICBjb25zdCBzZWdyZWdhdGVSZWFkID0gW1xuICAgICAgICAgICAgLi4ubmV3IFNldChbLi4uKHRoaXMuZ2V0T3JVbmRlZmluZWQoXCJzZWdyZWdhdGVSZWFkXCIpIHx8IFtdKSwgLi4uY29sc10pLFxuICAgICAgICBdO1xuICAgICAgICB0aGlzLnB1dChcInNlZ3JlZ2F0ZVJlYWRcIiwgc2VncmVnYXRlUmVhZCk7XG4gICAgICAgIGNvbnN0IHJlYWRTdGFjayA9IHRoaXMuZ2V0T3JVbmRlZmluZWQoXCJzZWdyZWdhdGVSZWFkU3RhY2tcIikgfHwgW107XG4gICAgICAgIHRoaXMucHV0KFwic2VncmVnYXRlUmVhZFN0YWNrXCIsIFsuLi5yZWFkU3RhY2ssIGNvbHNdKTtcbiAgICB9XG4gICAgY29uc3VtZVJlYWRDb2xsZWN0aW9ucygpIHtcbiAgICAgICAgY29uc3QgcmVhZFN0YWNrID0gdGhpcy5nZXRPclVuZGVmaW5lZChcInNlZ3JlZ2F0ZVJlYWRTdGFja1wiKSB8fCBbXTtcbiAgICAgICAgaWYgKHJlYWRTdGFjay5sZW5ndGgpIHtcbiAgICAgICAgICAgIGNvbnN0IFtjdXJyZW50LCAuLi5yZXN0XSA9IHJlYWRTdGFjaztcbiAgICAgICAgICAgIHRoaXMucHV0KFwic2VncmVnYXRlUmVhZFN0YWNrXCIsIHJlc3QpO1xuICAgICAgICAgICAgcmV0dXJuIGN1cnJlbnQ7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0UmVhZENvbGxlY3Rpb25zKCk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBHZXRzIHRoZSBjb2xsZWN0aW9ucyByZWdpc3RlcmVkIGZvciB3cml0aW5nXG4gICAgICogQHN1bW1hcnkgUmV0dXJucyBjb2xsZWN0aW9uIG5hbWVzIGZyb20gc2VncmVnYXRlV3JpdGUsIHVzZWQgYnkgc2VxdWVuY2VzIHRvIGtub3cgd2hlcmUgdG8gcmVwbGljYXRlLlxuICAgICAqIEByZXR1cm4ge3N0cmluZ1tdfSBBcnJheSBvZiBjb2xsZWN0aW9uIG5hbWVzLCBlbXB0eSBpZiBub25lIHJlZ2lzdGVyZWRcbiAgICAgKi9cbiAgICBnZXRXcml0ZUNvbGxlY3Rpb25zKCkge1xuICAgICAgICByZXR1cm4gT2JqZWN0LmtleXModGhpcy5nZXRPclVuZGVmaW5lZChcInNlZ3JlZ2F0ZVdyaXRlXCIpIHx8IHt9KTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIEdldHMgdGhlIGNvbGxlY3Rpb25zIHJlZ2lzdGVyZWQgZm9yIHJlYWRpbmdcbiAgICAgKiBAc3VtbWFyeSBSZXR1cm5zIGNvbGxlY3Rpb24gbmFtZXMgZnJvbSBzZWdyZWdhdGVSZWFkLlxuICAgICAqIEByZXR1cm4ge3N0cmluZ1tdfSBBcnJheSBvZiBjb2xsZWN0aW9uIG5hbWVzLCBlbXB0eSBpZiBub25lIHJlZ2lzdGVyZWRcbiAgICAgKi9cbiAgICBnZXRSZWFkQ29sbGVjdGlvbnMoKSB7XG4gICAgICAgIGNvbnN0IGNvbHMgPSB0aGlzLmdldE9yVW5kZWZpbmVkKFwic2VncmVnYXRlUmVhZFwiKSB8fCBbXTtcbiAgICAgICAgcmV0dXJuIEFycmF5LmlzQXJyYXkoY29scykgPyBjb2xzIDogW2NvbHNdO1xuICAgIH1cbiAgICB0b1N0cmluZygpIHtcbiAgICAgICAgcmV0dXJuIGBmYWJyaWMgY3R4JHt0aGlzLnN0dWIgPyBcIiB3aXRoIHN0dWJcIiA6IFwid2l0aG91dCBzdHViXCJ9YDtcbiAgICB9XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lRMjl1ZEhKaFkzUkRiMjUwWlhoMExtcHpJaXdpYzI5MWNtTmxVbTl2ZENJNklpSXNJbk52ZFhKalpYTWlPbHNpTGk0dkxpNHZMaTR2YzNKakwyTnZiblJ5WVdOMGN5OURiMjUwY21GamRFTnZiblJsZUhRdWRITWlYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJRVUVzVDBGQlR5eEZRVUZGTEU5QlFVOHNSVUZCUlN4TlFVRk5MR2RDUVVGblFpeERRVUZETzBGQlNYcERPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenRIUVRaQ1J6dEJRVU5JTEUxQlFVMHNUMEZCVHl4eFFrRkJjMElzVTBGQlVTeFBRVUUwUWp0SlFVTnlSVHM3TzA5QlIwYzdTVUZEU0N4WlFVRlpMRWRCUVRKQ08xRkJRM0pETEV0QlFVc3NRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJRenRKUVVOaUxFTkJRVU03U1VGRlJEczdPenRQUVVsSE8wbEJRMGdzU1VGQlNTeEpRVUZKTzFGQlEwNHNUMEZCVHl4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFMUJRVTBzUTBGQlF5eERRVUZETzBsQlF6RkNMRU5CUVVNN1NVRkZSRHM3T3p0UFFVbEhPMGxCUTBnc1NVRkJZU3hUUVVGVE8xRkJRM0JDTEU5QlFVOHNTVUZCU1N4RFFVRkRMRWxCUVVrc1EwRkJReXhuUWtGQlowSXNSVUZCUlN4RFFVRkRPMGxCUTNSRExFTkJRVU03U1VGRlJEczdPenRQUVVsSE8wbEJRMGdzU1VGQlNTeFJRVUZSTzFGQlExWXNUMEZCVHl4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExGVkJRVlVzUTBGQlF5eERRVUZETzBsQlF6bENMRU5CUVVNN1NVRkRSQ3hGUVVGRk8wbEJRMFlzZDBWQlFYZEZPMGxCUTNoRkxIbERRVUY1UXp0SlFVTjZReXcyUTBGQk5rTTdTVUZETjBNc1JVRkJSVHRKUVVOR0xIRkRRVUZ4UXp0SlFVTnlReXhaUVVGWk8wbEJRMW9zZDBSQlFYZEVPMGxCUTNoRUxHbENRVUZwUWp0SlFVVnFRanM3T3pzN1QwRkxSenRKUVVOSUxITkNRVUZ6UWl4RFFVTndRaXhQUVVGbExFVkJRMllzWlVGQmQwSXNSVUZEZUVJc1YwRkJjVUk3VVVGRmNrSXNTVUZCU1N4SFFVRkhMRWRCUVVjc1NVRkJTU3hEUVVGRExHVkJRV1VzUTBGQlF5eHhRa0ZCY1VJc1EwRkJReXhEUVVGRE8xRkJRM1JFTEVkQlFVY3NSMEZCUnl4SFFVRkhMRmxCUVZrc1IwRkJSeXhEUVVGRExFTkJRVU1zUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXl4RFFVRkRMRWxCUVVrc1IwRkJSeXhGUVVGRkxFTkJRVU03VVVGRE0wTXNUVUZCVFN4UlFVRlJMRWRCUVVjc1IwRkJSeXhEUVVGRExFZEJRVWNzUTBGQlF5eFBRVUZQTEVOQlFVTXNRMEZCUXp0UlFVTnNReXhOUVVGTkxHbENRVUZwUWl4SFFVRkhMRkZCUVZFN1dVRkRhRU1zUTBGQlF5eERRVUZETEVOQlFVTXNSMEZCUnl4SlFVRkpMRWRCUVVjc1EwRkJReXhEUVVGRExFZEJRVWNzUTBGQlF5eFJRVUZSTEVOQlFVTXNWMEZCVnl4SlFVRkpMRVZCUVVVc1EwRkJReXhGUVVGRkxFZEJRVWNzUTBGQlF5eFhRVUZYTEVsQlFVa3NSVUZCUlN4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRE8xbEJRM3BGTEVOQlFVTXNRMEZCUXl4WFFVRlhMRU5CUVVNN1VVRkRhRUlzUjBGQlJ5eERRVUZETEVkQlFVY3NRMEZCUXl4UFFVRlBMRVZCUVVVN1dVRkRaaXhsUVVGbExFVkJRVVVzWlVGQlpTeEpRVUZKTEVOQlFVTXNRMEZCUXl4UlFVRlJMRVZCUVVVc1pVRkJaVHRaUVVNdlJDeFhRVUZYTEVWQlFVVXNhVUpCUVdsQ08xTkJReTlDTEVOQlFVTXNRMEZCUXp0UlFVTklMRWxCUVVrc1EwRkJReXhIUVVGSExFTkJRVU1zY1VKQlFYRkNMRVZCUVVVc1IwRkJSeXhEUVVGRExFTkJRVU03U1VGRGRrTXNRMEZCUXp0SlFVVkVMSE5DUVVGelFpeERRVU53UWl4UFFVRmxPMUZCUldZc1QwRkJUeXhKUVVGSkxFTkJRVU1zWlVGQlpTeERRVUZETEhGQ1FVRnhRaXhEUVVGRExFVkJRVVVzUjBGQlJ5eERRVUZETEU5QlFVOHNRMEZCUXl4RFFVRkRPMGxCUTI1RkxFTkJRVU03U1VGRlJDeHRRa0ZCYlVJN1VVRkRha0lzU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4cFFrRkJhVUlzUlVGQlJTeEpRVUZKTEVOQlFVTXNRMEZCUXp0SlFVTndReXhEUVVGRE8wbEJSVVFzU1VGQlNTeHBRa0ZCYVVJN1VVRkRia0lzVDBGQlR5eERRVUZETEVOQlFVTXNTVUZCU1N4RFFVRkRMR1ZCUVdVc1EwRkJReXhwUWtGQmFVSXNRMEZCUXl4RFFVRkRPMGxCUTI1RUxFTkJRVU03U1VGRlJDeFBRVUZQTEVOQlFVTXNSMEZCVnl4RlFVRkZMRXRCUVdVN1VVRkRiRU1zVFVGQlRTeGpRVUZqTEVkQlFVY3NTVUZCU1N4RFFVRkRMR1ZCUVdVc1EwRkJReXhuUWtGQlowSXNRMEZCUXl4SlFVRkpMRVZCUVVVc1EwRkJRenRSUVVOd1JTeEpRVUZKTEVOQlFVTXNRMEZCUXl4SFFVRkhMRWxCUVVrc1kwRkJZeXhEUVVGRE8xbEJRVVVzWTBGQll5eERRVUZETEVkQlFVY3NRMEZCUXl4SFFVRkhMRVZCUVVVc1EwRkJRenRSUVVOMlJDeGpRVUZqTEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNc1NVRkJTU3hEUVVGRExFZEJRVWNzUzBGQlN5eERRVUZETEVOQlFVTTdVVUZEYmtNc1NVRkJTU3hEUVVGRExFZEJRVWNzUTBGQlF5eG5Ra0ZCWjBJc1JVRkJSU3hqUVVGakxFTkJRVU1zUTBGQlF6dEpRVU0zUXl4RFFVRkRPMGxCUlVRc2JVSkJRVzFDTzFGQlEycENMRTlCUVU4c1NVRkJTU3hEUVVGRExHVkJRV1VzUTBGQlF5eG5Ra0ZCWjBJc1EwRkJReXhEUVVGRE8wbEJRMmhFTEVOQlFVTTdTVUZGUkN4SFFVRkhMRU5CUVVNc1IwRkJWeXhGUVVGRkxFdEJRVlU3VVVGRGVrSXNTVUZCU1N4RFFVRkRMRlZCUVZVc1EwRkJReXhGUVVGRkxFTkJRVU1zUjBGQlJ5eERRVUZETEVWQlFVVXNTMEZCU3l4RlFVRkZMRU5CUVVNc1EwRkJRenRKUVVOd1F5eERRVUZETzBsQlJVUXNVVUZCVVN4RFFVRkRMRWxCUVhWQ08xRkJRemxDTEVsQlFVa3NSMEZCUnl4TFFVRkxMRU5CUVVNc1QwRkJUeXhEUVVGRExFbEJRVWtzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4SlFVRkpMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zU1VGQlNTeERRVUZETEVOQlFVTTdVVUZETTBNc1RVRkJUU3hoUVVGaExFZEJRVWM3V1VGRGNFSXNSMEZCUnl4SlFVRkpMRWRCUVVjc1EwRkJReXhEUVVGRExFZEJRVWNzUTBGQlF5eEpRVUZKTEVOQlFVTXNZMEZCWXl4RFFVRkRMR1ZCUVdVc1EwRkJReXhKUVVGSkxFVkJRVVVzUTBGQlF5eEZRVUZGTEVkQlFVY3NTVUZCU1N4RFFVRkRMRU5CUVVNN1UwRkRka1VzUTBGQlF6dFJRVU5HTEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1pVRkJaU3hGUVVGRkxHRkJRV0VzUTBGQlF5eERRVUZETzFGQlJYcERMRTFCUVUwc1UwRkJVeXhIUVVGSExFbEJRVWtzUTBGQlF5eGpRVUZqTEVOQlFVTXNiMEpCUVc5Q0xFTkJRVU1zU1VGQlNTeEZRVUZGTEVOQlFVTTdVVUZEYkVVc1NVRkJTU3hEUVVGRExFZEJRVWNzUTBGQlF5eHZRa0ZCYjBJc1JVRkJSU3hEUVVGRExFZEJRVWNzVTBGQlV5eEZRVUZGTEVsQlFVa3NRMEZCUXl4RFFVRkRMRU5CUVVNN1NVRkRka1FzUTBGQlF6dEpRVVZFTEhOQ1FVRnpRanRSUVVOd1FpeE5RVUZOTEZOQlFWTXNSMEZCUnl4SlFVRkpMRU5CUVVNc1kwRkJZeXhEUVVGRExHOUNRVUZ2UWl4RFFVRkRMRWxCUVVrc1JVRkJSU3hEUVVGRE8xRkJRMnhGTEVsQlFVa3NVMEZCVXl4RFFVRkRMRTFCUVUwc1JVRkJSU3hEUVVGRE8xbEJRM0pDTEUxQlFVMHNRMEZCUXl4UFFVRlBMRVZCUVVVc1IwRkJSeXhKUVVGSkxFTkJRVU1zUjBGQlJ5eFRRVUZUTEVOQlFVTTdXVUZEY2tNc1NVRkJTU3hEUVVGRExFZEJRVWNzUTBGQlF5eHZRa0ZCYjBJc1JVRkJSU3hKUVVGSkxFTkJRVU1zUTBGQlF6dFpRVU55UXl4UFFVRlBMRTlCUVU4c1EwRkJRenRSUVVOcVFpeERRVUZETzFGQlEwUXNUMEZCVHl4SlFVRkpMRU5CUVVNc2EwSkJRV3RDTEVWQlFVVXNRMEZCUXp0SlFVTnVReXhEUVVGRE8wbEJSVVE3T3pzN1QwRkpSenRKUVVOSUxHMUNRVUZ0UWp0UlFVTnFRaXhQUVVGUExFMUJRVTBzUTBGQlF5eEpRVUZKTEVOQlFVTXNTVUZCU1N4RFFVRkRMR05CUVdNc1EwRkJReXhuUWtGQlowSXNRMEZCUXl4SlFVRkpMRVZCUVVVc1EwRkJReXhEUVVGRE8wbEJRMnhGTEVOQlFVTTdTVUZGUkRzN096dFBRVWxITzBsQlEwZ3NhMEpCUVd0Q08xRkJRMmhDTEUxQlFVMHNTVUZCU1N4SFFVRkhMRWxCUVVrc1EwRkJReXhqUVVGakxFTkJRVU1zWlVGQlpTeERRVUZETEVsQlFVa3NSVUZCUlN4RFFVRkRPMUZCUTNoRUxFOUJRVThzUzBGQlN5eERRVUZETEU5QlFVOHNRMEZCUXl4SlFVRkpMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zU1VGQlNTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRWxCUVVrc1EwRkJReXhEUVVGRE8wbEJRemRETEVOQlFVTTdTVUZGVVN4UlFVRlJPMUZCUTJZc1QwRkJUeXhoUVVGaExFbEJRVWtzUTBGQlF5eEpRVUZKTEVOQlFVTXNRMEZCUXl4RFFVRkRMRmxCUVZrc1EwRkJReXhEUVVGRExFTkJRVU1zWTBGQll5eEZRVUZGTEVOQlFVTTdTVUZEYkVVc1EwRkJRenREUVVOR0lpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lhVzF3YjNKMElIc2dRMjl1ZEdWNGRDQjlJR1p5YjIwZ1hDSkFaR1ZqWVdZdGRITXZZMjl5WlZ3aU8xeHVhVzF3YjNKMElIc2dSbUZpY21salEyOXVkSEpoWTNSR2JHRm5jeUI5SUdaeWIyMGdYQ0l1TDNSNWNHVnpYQ0k3WEc1cGJYQnZjblFnZXlCRGFHRnBibU52WkdWVGRIVmlMQ0JEYkdsbGJuUkpaR1Z1ZEdsMGVTQjlJR1p5YjIwZ1hDSm1ZV0p5YVdNdGMyaHBiUzFoY0dsY0lqdGNibHh1THlvcVhHNGdLaUJBWkdWelkzSnBjSFJwYjI0Z1EyOXVkR1Y0ZENCamJHRnpjeUJtYjNJZ1JtRmljbWxqSUdOb1lXbHVZMjlrWlNCdmNHVnlZWFJwYjI1elhHNGdLaUJBYzNWdGJXRnllU0JRY205MmFXUmxjeUJoWTJObGMzTWdkRzhnUm1GaWNtbGpMWE53WldOcFptbGpJR052Ym5SbGVIUWdaV3hsYldWdWRITWdiR2xyWlNCemRIVmlMQ0JwWkdWdWRHbDBlU3dnWVc1a0lHeHZaMmRsY2lCMGJ5QmlaU0IxYzJWa0lHSjVJSEpsY0c5emFYUnZjbWxsY3lCaGJtUWdZV1JoY0hSbGNuTWdaSFZ5YVc1bklHTnZiblJ5WVdOMElHVjRaV04xZEdsdmJpNWNiaUFxSUVCMFpXMXdiR0YwWlNCR0lDMGdSbXhoWjNNZ2MzQmxZMmxtYVdNZ2RHOGdSbUZpY21saklHTnZiblJ5WVdOMElHOXdaWEpoZEdsdmJuTmNiaUFxSUVCd1lYSmhiU0I3YjJKcVpXTjBmU0JiWVhKbmMxMGdMU0JQY0hScGIyNWhiQ0JwYm1sMGFXRnNhWHBoZEdsdmJpQmhjbWQxYldWdWRITWdjR0Z6YzJWa0lIUnZJSFJvWlNCaVlYTmxJRU52Ym5SbGVIUmNiaUFxSUVCeVpYUjFjbTRnZTNadmFXUjlYRzRnS2lCQVkyeGhjM01nUm1GaWNtbGpRMjl1ZEhKaFkzUkRiMjUwWlhoMFhHNGdLaUJBWlhoaGJYQnNaVnh1SUNvZ1lHQmdkSGx3WlhOamNtbHdkRnh1SUNvZ0x5OGdTVzRnWVNCR1lXSnlhV01nWTJoaGFXNWpiMlJsSUdOdmJuUnlZV04wSUcxbGRHaHZaRnh1SUNvZ1kyOXVjM1FnWTI5dWRHVjRkQ0E5SUc1bGR5QkdZV0p5YVdORGIyNTBjbUZqZEVOdmJuUmxlSFFvS1R0Y2JpQXFJQzh2SUU5d2RHbHZibUZzYkhrZ2MyVjBJSFpoYkhWbGN5QjJhV0VnZEdobElHSmhjMlVnUTI5dWRHVjRkQ0JCVUVsY2JpQXFJR052Ym5SbGVIUXVjMlYwS0NkemRIVmlKeXdnWTNSNExuTjBkV0lwTzF4dUlDb2dZMjl1ZEdWNGRDNXpaWFFvSjJOc2FXVnVkRWxrWlc1MGFYUjVKeXdnWTNSNExtTnNhV1Z1ZEVsa1pXNTBhWFI1S1R0Y2JpQXFJR052Ym5SbGVIUXVjMlYwS0Nkc2IyZG5aWEluTENCamIyNTBjbUZqZEV4dloyZGxjaWs3WEc0Z0tseHVJQ29nTHk4Z1FXTmpaWE56SUdOdmJuUmxlSFFnY0hKdmNHVnlkR2xsYzF4dUlDb2dZMjl1YzNRZ2RHbHRaWE4wWVcxd0lEMGdZMjl1ZEdWNGRDNTBhVzFsYzNSaGJYQTdYRzRnS2lCamIyNXpkQ0JqY21WaGRHOXlJRDBnWTI5dWRHVjRkQzVwWkdWdWRHbDBlUzVuWlhSSlJDZ3BPMXh1SUNvZ1lHQmdYRzRnS2lCQWJXVnliV0ZwWkZ4dUlDb2djMlZ4ZFdWdVkyVkVhV0ZuY21GdFhHNGdLaUFnSUhCaGNuUnBZMmx3WVc1MElFTnZiblJ5WVdOMFhHNGdLaUFnSUhCaGNuUnBZMmx3WVc1MElFTnZiblJsZUhSY2JpQXFJQ0FnY0dGeWRHbGphWEJoYm5RZ1RHVmtaMlZ5WEc0Z0tpQWdJRU52Ym5SeVlXTjBMVDQrUTI5dWRHVjRkRG9nYm1WM0lFWmhZbkpwWTBOdmJuUnlZV04wUTI5dWRHVjRkQ2dwWEc0Z0tpQWdJRU52Ym5SeVlXTjBMVDQrUTI5dWRHVjRkRG9nYzJWMEtDZHpkSFZpSjN3blkyeHBaVzUwU1dSbGJuUnBkSGtuZkNkc2IyZG5aWEluTENBdUxpNHBYRzRnS2lBZ0lFTnZiblJsZUhRdExUNCtRMjl1ZEhKaFkzUTZJSFJwYldWemRHRnRjQ3dnYVdSbGJuUnBkSGtzSUd4dloyZGxjbHh1SUNvZ0lDQkRiMjUwY21GamRDMCtQa3hsWkdkbGNqb2dTVzUwWlhKaFkzUWdkbWxoSUhOMGRXSmNiaUFxTDF4dVpYaHdiM0owSUdOc1lYTnpJRVpoWW5KcFkwTnZiblJ5WVdOMFEyOXVkR1Y0ZENCbGVIUmxibVJ6SUVOdmJuUmxlSFE4Um1GaWNtbGpRMjl1ZEhKaFkzUkdiR0ZuY3o0Z2UxeHVJQ0F2S2lwY2JpQWdJQ29nUUdSbGMyTnlhWEIwYVc5dUlFTnlaV0YwWlhNZ1lTQnVaWGNnUm1GaWNtbGpRMjl1ZEhKaFkzUkRiMjUwWlhoMElHbHVjM1JoYm1ObFhHNGdJQ0FxSUVCemRXMXRZWEo1SUVsdWFYUnBZV3hwZW1WeklIUm9aU0JqYjI1MFpYaDBJSGRwZEdnZ1JtRmljbWxqTFhOd1pXTnBabWxqSUdac1lXZHpYRzRnSUNBcUwxeHVJQ0JqYjI1emRISjFZM1J2Y2loamRIZy9PaUJHWVdKeWFXTkRiMjUwY21GamRFTnZiblJsZUhRcElIdGNiaUFnSUNCemRYQmxjaWhqZEhncE8xeHVJQ0I5WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRUJrWlhOamNtbHdkR2x2YmlCSFpYUnpJSFJvWlNCamFHRnBibU52WkdVZ2MzUjFZbHh1SUNBZ0tpQkFjM1Z0YldGeWVTQlNaWFIxY201eklIUm9aU0JEYUdGcGJtTnZaR1ZUZEhWaUlHbHVjM1JoYm1ObElHWnZjaUJwYm5SbGNtRmpkR2x1WnlCM2FYUm9JSFJvWlNCc1pXUm5aWEpjYmlBZ0lDb2dRSEpsZEhWeWJpQjdRMmhoYVc1amIyUmxVM1IxWW4wZ1ZHaGxJR05vWVdsdVkyOWtaU0J6ZEhWaVhHNGdJQ0FxTDF4dUlDQm5aWFFnYzNSMVlpZ3BPaUJEYUdGcGJtTnZaR1ZUZEhWaUlIdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NW5aWFFvWENKemRIVmlYQ0lwTzF4dUlDQjlYRzVjYmlBZ0x5b3FYRzRnSUNBcUlFQmtaWE5qY21sd2RHbHZiaUJIWlhSeklIUm9aU0IwY21GdWMyRmpkR2x2YmlCMGFXMWxjM1JoYlhCY2JpQWdJQ29nUUhOMWJXMWhjbmtnVDNabGNuSnBaR1Z6SUhSb1pTQmlZWE5sSUhScGJXVnpkR0Z0Y0NCblpYUjBaWElnZEc4Z2RYTmxJSFJvWlNCemRIVmlKM01nZEdsdFpYTjBZVzF3WEc0Z0lDQXFJRUJ5WlhSMWNtNGdlMFJoZEdWOUlGUm9aU0IwY21GdWMyRmpkR2x2YmlCMGFXMWxjM1JoYlhCY2JpQWdJQ292WEc0Z0lHOTJaWEp5YVdSbElHZGxkQ0IwYVcxbGMzUmhiWEFvS1RvZ1JHRjBaU0I3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11YzNSMVlpNW5aWFJFWVhSbFZHbHRaWE4wWVcxd0tDazdYRzRnSUgxY2JseHVJQ0F2S2lwY2JpQWdJQ29nUUdSbGMyTnlhWEIwYVc5dUlFZGxkSE1nZEdobElHTnNhV1Z1ZENCcFpHVnVkR2wwZVZ4dUlDQWdLaUJBYzNWdGJXRnllU0JTWlhSMWNtNXpJSFJvWlNCRGJHbGxiblJKWkdWdWRHbDBlU0JwYm5OMFlXNWpaU0JtYjNJZ2RHaGxJSFJ5WVc1ellXTjBhVzl1SUhOMVltMXBkSFJsY2x4dUlDQWdLaUJBY21WMGRYSnVJSHREYkdsbGJuUkpaR1Z1ZEdsMGVYMGdWR2hsSUdOc2FXVnVkQ0JwWkdWdWRHbDBlVnh1SUNBZ0tpOWNiaUFnWjJWMElHbGtaVzUwYVhSNUtDazZJRU5zYVdWdWRFbGtaVzUwYVhSNUlIdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NW5aWFFvWENKcFpHVnVkR2wwZVZ3aUtUdGNiaUFnZlZ4dUlDQXZMMXh1SUNBdkx5QndjbWwyWVhSbElGOXpaV2R5WldkaGRHVlhjbWwwWlRvZ1VtVmpiM0prUEhOMGNtbHVaeXdnVTJWbmNtVm5ZWFJsWkZkeWFYUmxSVzUwY25sYlhUNGdQU0I3ZlR0Y2JpQWdMeThnY0hKcGRtRjBaU0JmYzJWbmNtVm5ZWFJsVW1WaFpEb2djM1J5YVc1blcxMGdQU0JiWFR0Y2JpQWdMeThnY0hKcGRtRjBaU0JmWm5Wc2JIbFRaV2R5WldkaGRHVmtPaUJpYjI5c1pXRnVJRDBnWm1Gc2MyVTdYRzRnSUM4dlhHNGdJQzh2SUhCeWFYWmhkR1VnWDNObGNYVmxibU5sVTJWbmNtVm5ZWFJwYjI0NklFMWhjRHhjYmlBZ0x5OGdJQ0J6ZEhKcGJtY3NYRzRnSUM4dklDQWdleUJtZFd4c2VWTmxaM0psWjJGMFpXUTZJR0p2YjJ4bFlXNDdJR052Ykd4bFkzUnBiMjV6T2lCemRISnBibWRiWFNCOVhHNGdJQzh2SUQ0Z1BTQnVaWGNnVFdGd0tDazdYRzVjYmlBZ0x5b3FYRzRnSUNBcUlFQmtaWE5qY21sd2RHbHZiaUJUZEc5eVpYTWdjMlZuY21WbllYUnBiMjRnYldWMFlXUmhkR0VnY0dWeUlITmxjWFZsYm1ObElHNWhiV1ZjYmlBZ0lDb2dRSE4xYlcxaGNua2dUbVZsWkdWa0lHSmxZMkYxYzJVZ2RHaGxJRk5sY1hWbGJtTmxJR055WldGMFpYTWdhWFJ6SUc5M2JpQmpiMjUwWlhoMElDaDJhV0VnYkc5blEzUjRLU3hjYmlBZ0lDb2diRzl6YVc1bklHWnNZV2R6SUhObGRDQmllU0JsZUhSeVlXTjBVMlZuY21WbllYUmxaRU52Ykd4bFkzUnBiMjV6SUc5dUlIUm9aU0JvWVc1a2JHVnlJR052Ym5SbGVIUXVYRzRnSUNBcUlGUm9aU0JoWkdGd2RHVnlJSEJsY25OcGMzUnpJR0ZqY205emN5QnZjR1Z5WVhScGIyNXpMQ0J0WVd0cGJtY2dhWFFnWVNCeVpXeHBZV0pzWlNCemRHOXlaUzVjYmlBZ0lDb3ZYRzRnSUhObGRGTmxjWFZsYm1ObFUyVm5jbVZuWVhScGIyNG9YRzRnSUNBZ2MyVnhUbUZ0WlRvZ2MzUnlhVzVuTEZ4dUlDQWdJR1oxYkd4NVUyVm5jbVZuWVhSbFpEb2dZbTl2YkdWaGJpeGNiaUFnSUNCamIyeHNaV04wYVc5dWN6b2djM1J5YVc1blcxMWNiaUFnS1RvZ2RtOXBaQ0I3WEc0Z0lDQWdiR1YwSUcxaGNDQTlJSFJvYVhNdVoyVjBSbkp2YlVOb2FXeGtjbVZ1S0Z3aWMyVnhkV1Z1WTJWVFpXZHlaV2RoZEdsdmJsd2lLVHRjYmlBZ0lDQnRZWEFnUFNCdFlYQWdhVzV6ZEdGdVkyVnZaaUJOWVhBZ1B5QnRZWEFnT2lCdVpYY2dUV0Z3S0NrN1hHNGdJQ0FnWTI5dWMzUWdaWGhwYzNScGJtY2dQU0J0WVhBdVoyVjBLSE5sY1U1aGJXVXBPMXh1SUNBZ0lHTnZibk4wSUcxbGNtZGxaRU52Ykd4bFkzUnBiMjV6SUQwZ1pYaHBjM1JwYm1kY2JpQWdJQ0FnSUQ4Z1d5NHVMbTVsZHlCVFpYUW9XeTR1TGlobGVHbHpkR2x1Wnk1amIyeHNaV04wYVc5dWN5QjhmQ0JiWFNrc0lDNHVMaWhqYjJ4c1pXTjBhVzl1Y3lCOGZDQmJYU2xkS1YxY2JpQWdJQ0FnSURvZ1kyOXNiR1ZqZEdsdmJuTTdYRzRnSUNBZ2JXRndMbk5sZENoelpYRk9ZVzFsTENCN1hHNGdJQ0FnSUNCbWRXeHNlVk5sWjNKbFoyRjBaV1E2SUdaMWJHeDVVMlZuY21WbllYUmxaQ0I4ZkNBaElXVjRhWE4wYVc1blB5NW1kV3hzZVZObFozSmxaMkYwWldRc1hHNGdJQ0FnSUNCamIyeHNaV04wYVc5dWN6b2diV1Z5WjJWa1EyOXNiR1ZqZEdsdmJuTXNYRzRnSUNBZ2ZTazdYRzRnSUNBZ2RHaHBjeTV3ZFhRb1hDSnpaWEYxWlc1alpWTmxaM0psWjJGMGFXOXVYQ0lzSUcxaGNDazdYRzRnSUgxY2JseHVJQ0JuWlhSVFpYRjFaVzVqWlZObFozSmxaMkYwYVc5dUtGeHVJQ0FnSUhObGNVNWhiV1U2SUhOMGNtbHVaMXh1SUNBcE9pQjdJR1oxYkd4NVUyVm5jbVZuWVhSbFpEb2dZbTl2YkdWaGJqc2dZMjlzYkdWamRHbHZibk02SUhOMGNtbHVaMXRkSUgwZ2ZDQjFibVJsWm1sdVpXUWdlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbWRsZEVaeWIyMURhR2xzWkhKbGJpaGNJbk5sY1hWbGJtTmxVMlZuY21WbllYUnBiMjVjSWlrL0xtZGxkQ2h6WlhGT1lXMWxLVHRjYmlBZ2ZWeHVYRzRnSUcxaGNtdEdkV3hzZVZObFozSmxaMkYwWldRb0tUb2dkbTlwWkNCN1hHNGdJQ0FnZEdocGN5NXdkWFFvWENKbWRXeHNlVk5sWjNKbFoyRjBaV1JjSWl3Z2RISjFaU2s3WEc0Z0lIMWNibHh1SUNCblpYUWdhWE5HZFd4c2VWTmxaM0psWjJGMFpXUW9LVG9nWW05dmJHVmhiaUI3WEc0Z0lDQWdjbVYwZFhKdUlDRWhkR2hwY3k1blpYUkdjbTl0UTJocGJHUnlaVzRvWENKbWRXeHNlVk5sWjNKbFoyRjBaV1JjSWlrN1hHNGdJSDFjYmx4dUlDQjNjbWwwWlZSdktHTnZiRG9nYzNSeWFXNW5MQ0JsYm5SeWVUb2djM1J5YVc1blcxMHBJSHRjYmlBZ0lDQmpiMjV6ZENCelpXZHlaV2RoZEdWWGNtbDBaU0E5SUhSb2FYTXVaMlYwUm5KdmJVTm9hV3hrY21WdUtGd2ljMlZuY21WbllYUmxWM0pwZEdWY0lpa2dmSHdnZTMwN1hHNGdJQ0FnYVdZZ0tDRW9ZMjlzSUdsdUlITmxaM0psWjJGMFpWZHlhWFJsS1NrZ2MyVm5jbVZuWVhSbFYzSnBkR1ZiWTI5c1hTQTlJRnRkTzF4dUlDQWdJSE5sWjNKbFoyRjBaVmR5YVhSbFcyTnZiRjB1Y0hWemFDZ3VMaTVsYm5SeWVTazdYRzRnSUNBZ2RHaHBjeTV3ZFhRb1hDSnpaV2R5WldkaGRHVlhjbWwwWlZ3aUxDQnpaV2R5WldkaGRHVlhjbWwwWlNrN1hHNGdJSDFjYmx4dUlDQm5aWFJUWldkeVpXZGhkR1ZrVjNKcGRHVnpLQ2tnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1kbGRFWnliMjFEYUdsc1pISmxiaWhjSW5ObFozSmxaMkYwWlZkeWFYUmxYQ0lwTzF4dUlDQjlYRzVjYmlBZ2NIVjBLR3RsZVRvZ2MzUnlhVzVuTENCMllXeDFaVG9nWVc1NUtTQjdYRzRnSUNBZ2RHaHBjeTVoWTJOMWJYVnNZWFJsS0hzZ1cydGxlVjA2SUhaaGJIVmxJSDBwTzF4dUlDQjlYRzVjYmlBZ2NtVmhaRVp5YjIwb1kyOXNjem9nYzNSeWFXNW5JSHdnYzNSeWFXNW5XMTBwSUh0Y2JpQWdJQ0JqYjJ4eklEMGdRWEp5WVhrdWFYTkJjbkpoZVNoamIyeHpLU0EvSUdOdmJITWdPaUJiWTI5c2MxMDdYRzRnSUNBZ1kyOXVjM1FnYzJWbmNtVm5ZWFJsVW1WaFpDQTlJRnRjYmlBZ0lDQWdJQzR1TG01bGR5QlRaWFFvV3k0dUxpaDBhR2x6TG1kbGRFOXlWVzVrWldacGJtVmtLRndpYzJWbmNtVm5ZWFJsVW1WaFpGd2lLU0I4ZkNCYlhTa3NJQzR1TG1OdmJITmRLU3hjYmlBZ0lDQmRPMXh1SUNBZ0lIUm9hWE11Y0hWMEtGd2ljMlZuY21WbllYUmxVbVZoWkZ3aUxDQnpaV2R5WldkaGRHVlNaV0ZrS1R0Y2JseHVJQ0FnSUdOdmJuTjBJSEpsWVdSVGRHRmpheUE5SUhSb2FYTXVaMlYwVDNKVmJtUmxabWx1WldRb1hDSnpaV2R5WldkaGRHVlNaV0ZrVTNSaFkydGNJaWtnZkh3Z1cxMDdYRzRnSUNBZ2RHaHBjeTV3ZFhRb1hDSnpaV2R5WldkaGRHVlNaV0ZrVTNSaFkydGNJaXdnV3k0dUxuSmxZV1JUZEdGamF5d2dZMjlzYzEwcE8xeHVJQ0I5WEc1Y2JpQWdZMjl1YzNWdFpWSmxZV1JEYjJ4c1pXTjBhVzl1Y3lncE9pQnpkSEpwYm1kYlhTQjdYRzRnSUNBZ1kyOXVjM1FnY21WaFpGTjBZV05ySUQwZ2RHaHBjeTVuWlhSUGNsVnVaR1ZtYVc1bFpDaGNJbk5sWjNKbFoyRjBaVkpsWVdSVGRHRmphMXdpS1NCOGZDQmJYVHRjYmlBZ0lDQnBaaUFvY21WaFpGTjBZV05yTG14bGJtZDBhQ2tnZTF4dUlDQWdJQ0FnWTI5dWMzUWdXMk4xY25KbGJuUXNJQzR1TG5KbGMzUmRJRDBnY21WaFpGTjBZV05yTzF4dUlDQWdJQ0FnZEdocGN5NXdkWFFvWENKelpXZHlaV2RoZEdWU1pXRmtVM1JoWTJ0Y0lpd2djbVZ6ZENrN1hHNGdJQ0FnSUNCeVpYUjFjbTRnWTNWeWNtVnVkRHRjYmlBZ0lDQjlYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVaMlYwVW1WaFpFTnZiR3hsWTNScGIyNXpLQ2s3WEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ1FHUmxjMk55YVhCMGFXOXVJRWRsZEhNZ2RHaGxJR052Ykd4bFkzUnBiMjV6SUhKbFoybHpkR1Z5WldRZ1ptOXlJSGR5YVhScGJtZGNiaUFnSUNvZ1FITjFiVzFoY25rZ1VtVjBkWEp1Y3lCamIyeHNaV04wYVc5dUlHNWhiV1Z6SUdaeWIyMGdjMlZuY21WbllYUmxWM0pwZEdVc0lIVnpaV1FnWW5rZ2MyVnhkV1Z1WTJWeklIUnZJR3R1YjNjZ2QyaGxjbVVnZEc4Z2NtVndiR2xqWVhSbExseHVJQ0FnS2lCQWNtVjBkWEp1SUh0emRISnBibWRiWFgwZ1FYSnlZWGtnYjJZZ1kyOXNiR1ZqZEdsdmJpQnVZVzFsY3l3Z1pXMXdkSGtnYVdZZ2JtOXVaU0J5WldkcGMzUmxjbVZrWEc0Z0lDQXFMMXh1SUNCblpYUlhjbWwwWlVOdmJHeGxZM1JwYjI1ektDazZJSE4wY21sdVoxdGRJSHRjYmlBZ0lDQnlaWFIxY200Z1QySnFaV04wTG10bGVYTW9kR2hwY3k1blpYUlBjbFZ1WkdWbWFXNWxaQ2hjSW5ObFozSmxaMkYwWlZkeWFYUmxYQ0lwSUh4OElIdDlLVHRjYmlBZ2ZWeHVYRzRnSUM4cUtseHVJQ0FnS2lCQVpHVnpZM0pwY0hScGIyNGdSMlYwY3lCMGFHVWdZMjlzYkdWamRHbHZibk1nY21WbmFYTjBaWEpsWkNCbWIzSWdjbVZoWkdsdVoxeHVJQ0FnS2lCQWMzVnRiV0Z5ZVNCU1pYUjFjbTV6SUdOdmJHeGxZM1JwYjI0Z2JtRnRaWE1nWm5KdmJTQnpaV2R5WldkaGRHVlNaV0ZrTGx4dUlDQWdLaUJBY21WMGRYSnVJSHR6ZEhKcGJtZGJYWDBnUVhKeVlYa2diMllnWTI5c2JHVmpkR2x2YmlCdVlXMWxjeXdnWlcxd2RIa2dhV1lnYm05dVpTQnlaV2RwYzNSbGNtVmtYRzRnSUNBcUwxeHVJQ0JuWlhSU1pXRmtRMjlzYkdWamRHbHZibk1vS1RvZ2MzUnlhVzVuVzEwZ2UxeHVJQ0FnSUdOdmJuTjBJR052YkhNZ1BTQjBhR2x6TG1kbGRFOXlWVzVrWldacGJtVmtLRndpYzJWbmNtVm5ZWFJsVW1WaFpGd2lLU0I4ZkNCYlhUdGNiaUFnSUNCeVpYUjFjbTRnUVhKeVlYa3VhWE5CY25KaGVTaGpiMnh6S1NBL0lHTnZiSE1nT2lCYlkyOXNjMTA3WEc0Z0lIMWNibHh1SUNCdmRtVnljbWxrWlNCMGIxTjBjbWx1WnlncElIdGNiaUFnSUNCeVpYUjFjbTRnWUdaaFluSnBZeUJqZEhna2UzUm9hWE11YzNSMVlpQS9JRndpSUhkcGRHZ2djM1IxWWx3aUlEb2dYQ0ozYVhSb2IzVjBJSE4wZFdKY0luMWdPMXh1SUNCOVhHNTlYRzRpWFgwPSJdfQ==
157
+ //# sourceMappingURL=ContractContext.js.map
158
+ //# sourceMappingURL=ContractContext.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contracts/ContractContext.cjs","sourceRoot":"","sources":["contracts/ContractContext.js"],"names":[],"mappings":"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"}
@@ -76,5 +76,5 @@ class FabricContractDispatch extends core_1.Dispatch {
76
76
  }
77
77
  }
78
78
  exports.FabricContractDispatch = FabricContractDispatch;
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRmFicmljQ29udHJhY3REaXNwYXRjaC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb250cmFjdHMvRmFicmljQ29udHJhY3REaXNwYXRjaC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wscUJBQXFCLEVBQ3JCLGFBQWEsRUFDYixhQUFhLEdBQ2QsTUFBTSx5QkFBeUIsQ0FBQztBQUVqQyxPQUFPLEVBRUwsUUFBUSxHQUdULE1BQU0sZ0JBQWdCLENBQUM7QUFJeEIsTUFBTSxPQUFPLHNCQUF1QixTQUFRLFFBQStCO0lBQ3pFO1FBQ0UsS0FBSyxFQUFFLENBQUM7SUFDVixDQUFDO0lBRWtCLEtBQUssQ0FBQyxVQUFVO0lBQ2pDLDZEQUE2RDtJQUM3RCxHQUFHLElBQStDO1FBRWxELElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDbEIsT0FBTztRQUNULENBQUM7UUFDRCxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDMUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsSUFBSSxDQUFDLE9BQU8sbUJBQW1CLENBQUMsQ0FBQztRQUM3RCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBc0MsQ0FBQztRQUUxRDtZQUNFLGFBQWEsQ0FBQyxNQUFNO1lBQ3BCLGFBQWEsQ0FBQyxNQUFNO1lBQ3BCLGFBQWEsQ0FBQyxNQUFNO1lBQ3BCLHFCQUFxQixDQUFDLFVBQVU7WUFDaEMscUJBQXFCLENBQUMsVUFBVTtZQUNoQyxxQkFBcUIsQ0FBQyxVQUFVO1NBRW5DLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDbkIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7Z0JBQ2xCLE1BQU0sSUFBSSxhQUFhLENBQ3JCLFVBQVUsTUFBZ0IsaUJBQWlCLE9BQU8sQ0FBQyxLQUFLLHVD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Q2hCLENBQUM7YUFDRixDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEJ1bGtDcnVkT3BlcmF0aW9uS2V5cyxcbiAgSW50ZXJuYWxFcnJvcixcbiAgT3BlcmF0aW9uS2V5cyxcbn0gZnJvbSBcIkBkZWNhZi10cy9kYi1kZWNvcmF0b3JzXCI7XG5cbmltcG9ydCB7XG4gIEFkYXB0ZXIsXG4gIERpc3BhdGNoLFxuICBFdmVudElkcyxcbiAgTWF5YmVDb250ZXh0dWFsQXJnLFxufSBmcm9tIFwiQGRlY2FmLXRzL2NvcmVcIjtcbmltcG9ydCB7IHR5cGUgRmFicmljQ29udHJhY3RBZGFwdGVyIH0gZnJvbSBcIi4vQ29udHJhY3RBZGFwdGVyXCI7XG5pbXBvcnQgeyBGYWJyaWNDb250cmFjdENvbnRleHQgfSBmcm9tIFwiLi9Db250cmFjdENvbnRleHRcIjtcblxuZXhwb3J0IGNsYXNzIEZhYnJpY0NvbnRyYWN0RGlzcGF0Y2ggZXh0ZW5kcyBEaXNwYXRjaDxGYWJyaWNDb250cmFjdEFkYXB0ZXI+IHtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBhc3luYyBpbml0aWFsaXplKFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgICAuLi5hcmdzOiBNYXliZUNvbnRleHR1YWxBcmc8RmFicmljQ29udHJhY3RDb250ZXh0PlxuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAoIXRoaXMuYWRhcHRlcikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBsb2cgPSB0aGlzLmxvZy5mb3IodGhpcy5pbml0aWFsaXplKTtcbiAgICBsb2cudmVyYm9zZShgSW5pdGlhbGl6aW5nICR7dGhpcy5hZGFwdGVyfSdzIGV2ZW50IERpc3BhdGNoYCk7XG4gICAgY29uc3QgYWRhcHRlciA9IHRoaXMuYWRhcHRlciBhcyBBZGFwdGVyPGFueSwgYW55LCBhbnksIGFueT47XG4gICAgKFxuICAgICAgW1xuICAgICAgICBPcGVyYXRpb25LZXlzLkNSRUFURSxcbiAgICAgICAgT3BlcmF0aW9uS2V5cy5VUERBVEUsXG4gICAgICAgIE9wZXJhdGlvbktleXMuREVMRVRFLFxuICAgICAgICBCdWxrQ3J1ZE9wZXJhdGlvbktleXMuQ1JFQVRFX0FMTCxcbiAgICAgICAgQnVsa0NydWRPcGVyYXRpb25LZXlzLlVQREFURV9BTEwsXG4gICAgICAgIEJ1bGtDcnVkT3BlcmF0aW9uS2V5cy5ERUxFVEVfQUxMLFxuICAgICAgXSBhcyAoa2V5b2YgQWRhcHRlcjxhbnksIGFueSwgYW55LCBhbnk+KVtdXG4gICAgKS5mb3JFYWNoKCh0b1dyYXApID0+IHtcbiAgICAgIGlmICghYWRhcHRlclt0b1dyYXBdKVxuICAgICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihcbiAgICAgICAgICBgTWV0aG9kICR7dG9XcmFwIGFzIHN0cmluZ30gbm90IGZvdW5kIGluICR7YWRhcHRlci5hbGlhc30gYWRhcHRlciB0byBiaW5kIE9ic2VydmFibGVzIERpc3BhdGNoYFxuICAgICAgICApO1xuXG4gICAgICBsZXQgZGVzY3JpcHRvciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYWRhcHRlciwgdG9XcmFwKTtcbiAgICAgIGxldCBwcm90bzogYW55ID0gYWRhcHRlcjtcbiAgICAgIHdoaWxlICghZGVzY3JpcHRvciAmJiBwcm90byAhPT0gT2JqZWN0LnByb3RvdHlwZSkge1xuICAgICAgICBwcm90byA9IE9iamVjdC5nZXRQcm90b3R5cGVPZihwcm90byk7XG4gICAgICAgIGRlc2NyaXB0b3IgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHByb3RvLCB0b1dyYXApO1xuICAgICAgfVxuXG4gICAgICBpZiAoIWRlc2NyaXB0b3IgfHwgIWRlc2NyaXB0b3Iud3JpdGFibGUpIHtcbiAgICAgICAgdGhpcy5sb2cuZXJyb3IoXG4gICAgICAgICAgYENvdWxkIG5vdCBmaW5kIG1ldGhvZCAke3RvV3JhcCBhcyBzdHJpbmd9IHRvIGJpbmQgT2JzZXJ2YWJsZXMgRGlzcGF0Y2hgXG4gICAgICAgICk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGZ1bmN0aW9uIGJ1bGtUb1NpbmdsZShtZXRob2Q6IHN0cmluZykge1xuICAgICAgICBzd2l0Y2ggKG1ldGhvZCkge1xuICAgICAgICAgIGNhc2UgQnVsa0NydWRPcGVyYXRpb25LZXlzLkNSRUFURV9BTEw6XG4gICAgICAgICAgICByZXR1cm4gT3BlcmF0aW9uS2V5cy5DUkVBVEU7XG4gICAgICAgICAgY2FzZSBCdWxrQ3J1ZE9wZXJhdGlvbktleXMuVVBEQVRFX0FMTDpcbiAgICAgICAgICAgIHJldHVybiBPcGVyYXRpb25LZXlzLlVQREFURTtcbiAgICAgICAgICBjYXNlIEJ1bGtDcnVkT3BlcmF0aW9uS2V5cy5ERUxFVEVfQUxMOlxuICAgICAgICAgICAgcmV0dXJuIE9wZXJhdGlvbktleXMuREVMRVRFO1xuICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICByZXR1cm4gbWV0aG9kO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIChhZGFwdGVyIGFzIGFueSlbdG9XcmFwXSA9IG5ldyBQcm94eShhZGFwdGVyW3RvV3JhcF0sIHtcbiAgICAgICAgYXBwbHk6IGFzeW5jICh0YXJnZXQ6IGFueSwgdGhpc0FyZzogYW55LCBhcmdBcnJheTogYW55W10pID0+IHtcbiAgICAgICAgICBjb25zdCB7IGxvZywgY3R4QXJncywgY3R4IH0gPSB0aGlzQXJnW1wibG9nQ3R4XCJdKFxuICAgICAgICAgICAgYXJnQXJyYXkuc2xpY2UoMyAtICg0IC0gYXJnQXJyYXkubGVuZ3RoKSwgYXJnQXJyYXkubGVuZ3RoKSxcbiAgICAgICAgICAgIHRhcmdldFxuICAgICAgICAgICk7XG4gICAgICAgICAgY29uc3QgW3RhYmxlTmFtZSwgaWRzLCBwYXlsb2FkXSA9IGFyZ0FycmF5O1xuICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRhcmdldC5hcHBseSh0aGlzQXJnLCBbXG4gICAgICAgICAgICB0YWJsZU5hbWUsXG4gICAgICAgICAgICBpZHMsXG4gICAgICAgICAgICBwYXlsb2FkLFxuICAgICAgICAgICAgLi4uY3R4QXJncyxcbiAgICAgICAgICBdKTtcblxuICAgICAgICAgIGNvbnN0IHJlc3VsdEFyZ3M6IFtzdHJpbmcsIHN0cmluZywgRXZlbnRJZHNdID0gW1xuICAgICAgICAgICAgdGFibGVOYW1lLFxuICAgICAgICAgICAgYnVsa1RvU2luZ2xlKHRvV3JhcCBhcyBzdHJpbmcpLFxuICAgICAgICAgICAgaWRzLFxuICAgICAgICAgIF07XG5cbiAgICAgICAgICBpZiAoY3R4LmdldChcIm9ic2VydmVGdWxsUmVzdWx0XCIpKSB7XG4gICAgICAgICAgICByZXN1bHRBcmdzLnB1c2goXG4gICAgICAgICAgICAgIEFycmF5LmlzQXJyYXkocmVzdWx0KVxuICAgICAgICAgICAgICAgID8gcmVzdWx0Lm1hcCgocikgPT4gdGFibGVOYW1lKHIpKVxuICAgICAgICAgICAgICAgIDogdGFibGVOYW1lKHJlc3VsdClcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXMudXBkYXRlT2JzZXJ2ZXJzKC4uLnJlc3VsdEFyZ3MsIC4uLmN0eEFyZ3MpLmNhdGNoKChlOiB1bmtub3duKSA9PlxuICAgICAgICAgICAgbG9nLmVycm9yKFxuICAgICAgICAgICAgICBgRmFpbGVkIHRvIGRpc3BhdGNoIG9ic2VydmVyIHJlZnJlc2ggZm9yICR7dG9XcmFwIGFzIHN0cmluZ30gb24gJHt0YWJsZU5hbWUubmFtZSB8fCB0YWJsZU5hbWV9IGZvciAke2lkc306ICR7ZX1gXG4gICAgICAgICAgICApXG4gICAgICAgICAgKTtcbiAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
80
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRmFicmljQ29udHJhY3REaXNwYXRjaC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIkZhYnJpY0NvbnRyYWN0RGlzcGF0Y2guanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsMkRBQStGO0FBQy9GLHlDQUEyQztBQUMzQyxNQUFhLHNCQUF1QixTQUFRLGVBQVE7SUFDaEQ7UUFDSSxLQUFLLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFDRCxLQUFLLENBQUMsVUFBVTtJQUNoQiw2REFBNkQ7SUFDN0QsR0FBRyxJQUFJO1FBQ0gsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNoQixPQUFPO1FBQ1gsQ0FBQztRQUNELE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUMxQyxHQUFHLENBQUMsT0FBTyxDQUFDLGdCQUFnQixJQUFJLENBQUMsT0FBTyxtQkFBbUIsQ0FBQyxDQUFDO1FBQzdELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDN0I7WUFDSSw2QkFBYSxDQUFDLE1BQU07WUFDcEIsNkJBQWEsQ0FBQyxNQUFNO1lBQ3BCLDZCQUFhLENBQUMsTUFBTTtZQUNwQixxQ0FBcUIsQ0FBQyxVQUFVO1lBQ2hDLHFDQUFxQixDQUFDLFVBQVU7WUFDaEMscUNBQXFCLENBQUMsVUFBVTtTQUNuQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQ2pCLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDO2dCQUNoQixNQUFNLElBQUksNkJBQWEsQ0FBQyxVQUFVLE1BQU0saUJBQWlCLE9BQU8sQ0FBQyxLQUFLLHVDQUF1QyxDQUFDLENBQUM7WUFDbkgsSUFBSSxVQUFVLEdBQUcsTUFBTSxDQUFDLHdCQUF3QixDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQztZQUNsRSxJQUFJLEtBQUssR0FBRyxPQUFPLENB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QnVsa0NydWRPcGVyYXRpb25LZXlzLCBJbnRlcm5hbEVycm9yLCBPcGVyYXRpb25LZXlzLCB9IGZyb20gXCJAZGVjYWYtdHMvZGItZGVjb3JhdG9yc1wiO1xuaW1wb3J0IHsgRGlzcGF0Y2gsIH0gZnJvbSBcIkBkZWNhZi10cy9jb3JlXCI7XG5leHBvcnQgY2xhc3MgRmFicmljQ29udHJhY3REaXNwYXRjaCBleHRlbmRzIERpc3BhdGNoIHtcbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG4gICAgYXN5bmMgaW5pdGlhbGl6ZShcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gICAgLi4uYXJncykge1xuICAgICAgICBpZiAoIXRoaXMuYWRhcHRlcikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGxvZyA9IHRoaXMubG9nLmZvcih0aGlzLmluaXRpYWxpemUpO1xuICAgICAgICBsb2cudmVyYm9zZShgSW5pdGlhbGl6aW5nICR7dGhpcy5hZGFwdGVyfSdzIGV2ZW50IERpc3BhdGNoYCk7XG4gICAgICAgIGNvbnN0IGFkYXB0ZXIgPSB0aGlzLmFkYXB0ZXI7XG4gICAgICAgIFtcbiAgICAgICAgICAgIE9wZXJhdGlvbktleXMuQ1JFQVRFLFxuICAgICAgICAgICAgT3BlcmF0aW9uS2V5cy5VUERBVEUsXG4gICAgICAgICAgICBPcGVyYXRpb25LZXlzLkRFTEVURSxcbiAgICAgICAgICAgIEJ1bGtDcnVkT3BlcmF0aW9uS2V5cy5DUkVBVEVfQUxMLFxuICAgICAgICAgICAgQnVsa0NydWRPcGVyYXRpb25LZXlzLlVQREFURV9BTEwsXG4gICAgICAgICAgICBCdWxrQ3J1ZE9wZXJhdGlvbktleXMuREVMRVRFX0FMTCxcbiAgICAgICAgXS5mb3JFYWNoKCh0b1dyYXApID0+IHtcbiAgICAgICAgICAgIGlmICghYWRhcHRlclt0b1dyYXBdKVxuICAgICAgICAgICAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKGBNZXRob2QgJHt0b1dyYXB9IG5vdCBmb3VuZCBpbiAke2FkYXB0ZXIuYWxpYXN9IGFkYXB0ZXIgdG8gYmluZCBPYnNlcnZhYmxlcyBEaXNwYXRjaGApO1xuICAgICAgICAgICAgbGV0IGRlc2NyaXB0b3IgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGFkYXB0ZXIsIHRvV3JhcCk7XG4gICAgICAgICAgICBsZXQgcHJvdG8gPSBhZGFwdGVyO1xuICAgICAgICAgICAgd2hpbGUgKCFkZXNjcmlwdG9yICYmIHByb3RvICE9PSBPYmplY3QucHJvdG90eXBlKSB7XG4gICAgICAgICAgICAgICAgcHJvdG8gPSBPYmplY3QuZ2V0UHJvdG90eXBlT2YocHJvdG8pO1xuICAgICAgICAgICAgICAgIGRlc2NyaXB0b3IgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHByb3RvLCB0b1dyYXApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKCFkZXNjcmlwdG9yIHx8ICFkZXNjcmlwdG9yLndyaXRhYmxlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5sb2cuZXJyb3IoYENvdWxkIG5vdCBmaW5kIG1ldGhvZCAke3RvV3JhcH0gdG8gYmluZCBPYnNlcnZhYmxlcyBEaXNwYXRjaGApO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGZ1bmN0aW9uIGJ1bGtUb1NpbmdsZShtZXRob2QpIHtcbiAgICAgICAgICAgICAgICBzd2l0Y2ggKG1ldGhvZCkge1xuICAgICAgICAgICAgICAgICAgICBjYXNlIEJ1bGtDcnVkT3BlcmF0aW9uS2V5cy5DUkVBVEVfQUxMOlxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIE9wZXJhdGlvbktleXMuQ1JFQVRFO1xuICAgICAgICAgICAgICAgICAgICBjYXNlIEJ1bGtDcnVkT3BlcmF0aW9uS2V5cy5VUERBVEVfQUxMOlxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIE9wZXJhdGlvbktleXMuVVBEQVRFO1xuICAgICAgICAgICAgICAgICAgICBjYXNlIEJ1bGtDcnVkT3BlcmF0aW9uS2V5cy5ERUxFVEVfQUxMOlxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIE9wZXJhdGlvbktleXMuREVMRVRFO1xuICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG1ldGhvZDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBhZGFwdGVyW3RvV3JhcF0gPSBuZXcgUHJveHkoYWRhcHRlclt0b1dyYXBdLCB7XG4gICAgICAgICAgICAgICAgYXBwbHk6IGFzeW5jICh0YXJnZXQsIHRoaXNBcmcsIGFyZ0FycmF5KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHsgbG9nLCBjdHhBcmdzLCBjdHggfSA9IHRoaXNBcmdbXCJsb2dDdHhcIl0oYXJnQXJyYXkuc2xpY2UoMyAtICg0IC0gYXJnQXJyYXkubGVuZ3RoKSwgYXJnQXJyYXkubGVuZ3RoKSwgdGFyZ2V0KTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgW3RhYmxlTmFtZSwgaWRzLCBwYXlsb2FkXSA9IGFyZ0FycmF5O1xuICAgICAgICAgICAgICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0YXJnZXQuYXBwbHkodGhpc0FyZywgW1xuICAgICAgICAgICAgICAgICAgICAgICAgdGFibGVOYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgaWRzLFxuICAgICAgICAgICAgICAgICAgICAgICAgcGF5bG9hZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIC4uLmN0eEFyZ3MsXG4gICAgICAgICAgICAgICAgICAgIF0pO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCByZXN1bHRBcmdzID0gW1xuICAgICAgICAgICAgICAgICAgICAgICAgdGFibGVOYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgYnVsa1RvU2luZ2xlKHRvV3JhcCksXG4gICAgICAgICAgICAgICAgICAgICAgICBpZHMsXG4gICAgICAgICAgICAgICAgICAgIF07XG4gICAgICAgICAgICAgICAgICAgIGlmIChjdHguZ2V0KFwib2JzZXJ2ZUZ1bGxSZXN1bHRcIikpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdEFyZ3MucHVzaChBcnJheS5pc0FycmF5KHJlc3VsdClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IHJlc3VsdC5tYXAoKHIpID0+IHRhYmxlTmFtZShyKSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IHRhYmxlTmFtZShyZXN1bHQpKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZU9ic2VydmVycyguLi5yZXN1bHRBcmdzLCAuLi5jdHhBcmdzKS5jYXRjaCgoZSkgPT4gbG9nLmVycm9yKGBGYWlsZWQgdG8gZGlzcGF0Y2ggb2JzZXJ2ZXIgcmVmcmVzaCBmb3IgJHt0b1dyYXB9IG9uICR7dGFibGVOYW1lLm5hbWUgfHwgdGFibGVOYW1lfSBmb3IgJHtpZHN9OiAke2V9YCkpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pUm1GaWNtbGpRMjl1ZEhKaFkzUkVhWE53WVhSamFDNXFjeUlzSW5OdmRYSmpaVkp2YjNRaU9pSWlMQ0p6YjNWeVkyVnpJanBiSWk0dUx5NHVMeTR1TDNOeVl5OWpiMjUwY21GamRITXZSbUZpY21salEyOXVkSEpoWTNSRWFYTndZWFJqYUM1MGN5SmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRkJRU3hQUVVGUExFVkJRMHdzY1VKQlFYRkNMRVZCUTNKQ0xHRkJRV0VzUlVGRFlpeGhRVUZoTEVkQlEyUXNUVUZCVFN4NVFrRkJlVUlzUTBGQlF6dEJRVVZxUXl4UFFVRlBMRVZCUlV3c1VVRkJVU3hIUVVkVUxFMUJRVTBzWjBKQlFXZENMRU5CUVVNN1FVRkplRUlzVFVGQlRTeFBRVUZQTEhOQ1FVRjFRaXhUUVVGUkxGRkJRU3RDTzBsQlEzcEZPMUZCUTBVc1MwRkJTeXhGUVVGRkxFTkJRVU03U1VGRFZpeERRVUZETzBsQlJXdENMRXRCUVVzc1EwRkJReXhWUVVGVk8wbEJRMnBETERaRVFVRTJSRHRKUVVNM1JDeEhRVUZITEVsQlFTdERPMUZCUld4RUxFbEJRVWtzUTBGQlF5eEpRVUZKTEVOQlFVTXNUMEZCVHl4RlFVRkZMRU5CUVVNN1dVRkRiRUlzVDBGQlR6dFJRVU5VTEVOQlFVTTdVVUZEUkN4TlFVRk5MRWRCUVVjc1IwRkJSeXhKUVVGSkxFTkJRVU1zUjBGQlJ5eERRVUZETEVkQlFVY3NRMEZCUXl4SlFVRkpMRU5CUVVNc1ZVRkJWU3hEUVVGRExFTkJRVU03VVVGRE1VTXNSMEZCUnl4RFFVRkRMRTlCUVU4c1EwRkJReXhuUWtGQlowSXNTVUZCU1N4RFFVRkRMRTlCUVU4c2JVSkJRVzFDTEVOQlFVTXNRMEZCUXp0UlFVTTNSQ3hOUVVGTkxFOUJRVThzUjBGQlJ5eEpRVUZKTEVOQlFVTXNUMEZCYzBNc1EwRkJRenRSUVVVeFJEdFpRVU5GTEdGQlFXRXNRMEZCUXl4TlFVRk5PMWxCUTNCQ0xHRkJRV0VzUTBGQlF5eE5RVUZOTzFsQlEzQkNMR0ZCUVdFc1EwRkJReXhOUVVGTk8xbEJRM0JDTEhGQ1FVRnhRaXhEUVVGRExGVkJRVlU3V1VGRGFFTXNjVUpCUVhGQ0xFTkJRVU1zVlVGQlZUdFpRVU5vUXl4eFFrRkJjVUlzUTBGQlF5eFZRVUZWTzFOQlJXNURMRU5CUVVNc1QwRkJUeXhEUVVGRExFTkJRVU1zVFVGQlRTeEZRVUZGTEVWQlFVVTdXVUZEYmtJc1NVRkJTU3hEUVVGRExFOUJRVThzUTBGQlF5eE5RVUZOTEVOQlFVTTdaMEpCUTJ4Q0xFMUJRVTBzU1VGQlNTeGhRVUZoTEVOQlEzSkNMRlZCUVZVc1RVRkJaMElzYVVKQlFXbENMRTlCUVU4c1EwRkJReXhMUVVGTExIVkRRVUYxUXl4RFFVTm9SeXhEUVVGRE8xbEJSVW9zU1VGQlNTeFZRVUZWTEVkQlFVY3NUVUZCVFN4RFFVRkRMSGRDUVVGM1FpeERRVUZETEU5QlFVOHNSVUZCUlN4TlFVRk5MRU5CUVVNc1EwRkJRenRaUVVOc1JTeEpRVUZKTEV0QlFVc3NSMEZCVVN4UFFVRlBMRU5CUVVNN1dVRkRla0lzVDBGQlR5eERRVUZETEZWQlFWVXNTVUZCU1N4TFFVRkxMRXRCUVVzc1RVRkJUU3hEUVVGRExGTkJRVk1zUlVGQlJTeERRVUZETzJkQ1FVTnFSQ3hMUVVGTExFZEJRVWNzVFVGQlRTeERRVUZETEdOQlFXTXNRMEZCUXl4TFFVRkxMRU5CUVVNc1EwRkJRenRuUWtGRGNrTXNWVUZCVlN4SFFVRkhMRTFCUVUwc1EwRkJReXgzUWtGQmQwSXNRMEZCUXl4TFFVRkxMRVZCUVVVc1RVRkJUU3hEUVVGRExFTkJRVU03V1VGRE9VUXNRMEZCUXp0WlFVVkVMRWxCUVVrc1EwRkJReXhWUVVGVkxFbEJRVWtzUTBGQlF5eFZRVUZWTEVOQlFVTXNVVUZCVVN4RlFVRkZMRU5CUVVNN1owSkJRM2hETEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1MwRkJTeXhEUVVOYUxIbENRVUY1UWl4TlFVRm5RaXdyUWtGQkswSXNRMEZEZWtVc1EwRkJRenRuUWtGRFJpeFBRVUZQTzFsQlExUXNRMEZCUXp0WlFVTkVMRk5CUVZNc1dVRkJXU3hEUVVGRExFMUJRV003WjBKQlEyeERMRkZCUVZFc1RVRkJUU3hGUVVGRkxFTkJRVU03YjBKQlEyWXNTMEZCU3l4eFFrRkJjVUlzUTBGQlF5eFZRVUZWTzNkQ1FVTnVReXhQUVVGUExHRkJRV0VzUTBGQlF5eE5RVUZOTEVOQlFVTTdiMEpCUXpsQ0xFdEJRVXNzY1VKQlFYRkNMRU5CUVVNc1ZVRkJWVHQzUWtGRGJrTXNUMEZCVHl4aFFVRmhMRU5CUVVNc1RVRkJUU3hEUVVGRE8yOUNRVU01UWl4TFFVRkxMSEZDUVVGeFFpeERRVUZETEZWQlFWVTdkMEpCUTI1RExFOUJRVThzWVVGQllTeERRVUZETEUxQlFVMHNRMEZCUXp0dlFrRkRPVUk3ZDBKQlEwVXNUMEZCVHl4TlFVRk5MRU5CUVVNN1owSkJRMnhDTEVOQlFVTTdXVUZEU0N4RFFVRkRPMWxCUlVFc1QwRkJaU3hEUVVGRExFMUJRVTBzUTBGQlF5eEhRVUZITEVsQlFVa3NTMEZCU3l4RFFVRkRMRTlCUVU4c1EwRkJReXhOUVVGTkxFTkJRVU1zUlVGQlJUdG5Ra0ZEY0VRc1MwRkJTeXhGUVVGRkxFdEJRVXNzUlVGQlJTeE5RVUZYTEVWQlFVVXNUMEZCV1N4RlFVRkZMRkZCUVdVc1JVRkJSU3hGUVVGRk8yOUNRVU14UkN4TlFVRk5MRVZCUVVVc1IwRkJSeXhGUVVGRkxFOUJRVThzUlVGQlJTeEhRVUZITEVWQlFVVXNSMEZCUnl4UFFVRlBMRU5CUVVNc1VVRkJVU3hEUVVGRExFTkJRemRETEZGQlFWRXNRMEZCUXl4TFFVRkxMRU5CUVVNc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF5eEhRVUZITEZGQlFWRXNRMEZCUXl4TlFVRk5MRU5CUVVNc1JVRkJSU3hSUVVGUkxFTkJRVU1zVFVGQlRTeERRVUZETEVWQlF6RkVMRTFCUVUwc1EwRkRVQ3hEUVVGRE8yOUNRVU5HTEUxQlFVMHNRMEZCUXl4VFFVRlRMRVZCUVVVc1IwRkJSeXhGUVVGRkxFOUJRVThzUTBGQlF5eEhRVUZITEZGQlFWRXNRMEZCUXp0dlFrRkRNME1zVFVGQlRTeE5RVUZOTEVkQlFVY3NUVUZCVFN4TlFVRk5MRU5CUVVNc1MwRkJTeXhEUVVGRExFOUJRVThzUlVGQlJUdDNRa0ZEZWtNc1UwRkJVenQzUWtGRFZDeEhRVUZITzNkQ1FVTklMRTlCUVU4N2QwSkJRMUFzUjBGQlJ5eFBRVUZQTzNGQ1FVTllMRU5CUVVNc1EwRkJRenR2UWtGRlNDeE5RVUZOTEZWQlFWVXNSMEZCSzBJN2QwSkJRemRETEZOQlFWTTdkMEpCUTFRc1dVRkJXU3hEUVVGRExFMUJRV2RDTEVOQlFVTTdkMEpCUXpsQ0xFZEJRVWM3Y1VKQlEwb3NRMEZCUXp0dlFrRkZSaXhKUVVGSkxFZEJRVWNzUTBGQlF5eEhRVUZITEVOQlFVTXNiVUpCUVcxQ0xFTkJRVU1zUlVGQlJTeERRVUZETzNkQ1FVTnFReXhWUVVGVkxFTkJRVU1zU1VGQlNTeERRVU5pTEV0QlFVc3NRMEZCUXl4UFFVRlBMRU5CUVVNc1RVRkJUU3hEUVVGRE96UkNRVU51UWl4RFFVRkRMRU5CUVVNc1RVRkJUU3hEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEVOQlFVTXNSVUZCUlN4RlFVRkZMRU5CUVVNc1UwRkJVeXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZET3pSQ1FVTnFReXhEUVVGRExFTkJRVU1zVTBGQlV5eERRVUZETEUxQlFVMHNRMEZCUXl4RFFVTjBRaXhEUVVGRE8yOUNRVU5LTEVOQlFVTTdiMEpCUTBRc1NVRkJTU3hEUVVGRExHVkJRV1VzUTBGQlF5eEhRVUZITEZWQlFWVXNSVUZCUlN4SFFVRkhMRTlCUVU4c1EwRkJReXhEUVVGRExFdEJRVXNzUTBGQlF5eERRVUZETEVOQlFWVXNSVUZCUlN4RlFVRkZMRU5CUTI1RkxFZEJRVWNzUTBGQlF5eExRVUZMTEVOQlExQXNNa05CUVRKRExFMUJRV2RDTEU5QlFVOHNVMEZCVXl4RFFVRkRMRWxCUVVrc1NVRkJTU3hUUVVGVExGRkJRVkVzUjBGQlJ5eExRVUZMTEVOQlFVTXNSVUZCUlN4RFFVTnFTQ3hEUVVOR0xFTkJRVU03YjBKQlEwWXNUMEZCVHl4TlFVRk5MRU5CUVVNN1owSkJRMmhDTEVOQlFVTTdZVUZEUml4RFFVRkRMRU5CUVVNN1VVRkRUQ3hEUVVGRExFTkJRVU1zUTBGQlF6dEpRVU5NTEVOQlFVTTdRMEZEUmlJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYkltbHRjRzl5ZENCN1hHNGdJRUoxYkd0RGNuVmtUM0JsY21GMGFXOXVTMlY1Y3l4Y2JpQWdTVzUwWlhKdVlXeEZjbkp2Y2l4Y2JpQWdUM0JsY21GMGFXOXVTMlY1Y3l4Y2JuMGdabkp2YlNCY0lrQmtaV05oWmkxMGN5OWtZaTFrWldOdmNtRjBiM0p6WENJN1hHNWNibWx0Y0c5eWRDQjdYRzRnSUVGa1lYQjBaWElzWEc0Z0lFUnBjM0JoZEdOb0xGeHVJQ0JGZG1WdWRFbGtjeXhjYmlBZ1RXRjVZbVZEYjI1MFpYaDBkV0ZzUVhKbkxGeHVmU0JtY205dElGd2lRR1JsWTJGbUxYUnpMMk52Y21WY0lqdGNibWx0Y0c5eWRDQjdJSFI1Y0dVZ1JtRmljbWxqUTI5dWRISmhZM1JCWkdGd2RHVnlJSDBnWm5KdmJTQmNJaTR2UTI5dWRISmhZM1JCWkdGd2RHVnlYQ0k3WEc1cGJYQnZjblFnZXlCR1lXSnlhV05EYjI1MGNtRmpkRU52Ym5SbGVIUWdmU0JtY205dElGd2lMaTlEYjI1MGNtRmpkRU52Ym5SbGVIUmNJanRjYmx4dVpYaHdiM0owSUdOc1lYTnpJRVpoWW5KcFkwTnZiblJ5WVdOMFJHbHpjR0YwWTJnZ1pYaDBaVzVrY3lCRWFYTndZWFJqYUR4R1lXSnlhV05EYjI1MGNtRmpkRUZrWVhCMFpYSStJSHRjYmlBZ1kyOXVjM1J5ZFdOMGIzSW9LU0I3WEc0Z0lDQWdjM1Z3WlhJb0tUdGNiaUFnZlZ4dVhHNGdJSEJ5YjNSbFkzUmxaQ0J2ZG1WeWNtbGtaU0JoYzNsdVl5QnBibWwwYVdGc2FYcGxLRnh1SUNBZ0lDOHZJR1Z6YkdsdWRDMWthWE5oWW14bExXNWxlSFF0YkdsdVpTQkFkSGx3WlhOamNtbHdkQzFsYzJ4cGJuUXZibTh0ZFc1MWMyVmtMWFpoY25OY2JpQWdJQ0F1TGk1aGNtZHpPaUJOWVhsaVpVTnZiblJsZUhSMVlXeEJjbWM4Um1GaWNtbGpRMjl1ZEhKaFkzUkRiMjUwWlhoMFBseHVJQ0FwT2lCUWNtOXRhWE5sUEhadmFXUStJSHRjYmlBZ0lDQnBaaUFvSVhSb2FYTXVZV1JoY0hSbGNpa2dlMXh1SUNBZ0lDQWdjbVYwZFhKdU8xeHVJQ0FnSUgxY2JpQWdJQ0JqYjI1emRDQnNiMmNnUFNCMGFHbHpMbXh2Wnk1bWIzSW9kR2hwY3k1cGJtbDBhV0ZzYVhwbEtUdGNiaUFnSUNCc2IyY3VkbVZ5WW05elpTaGdTVzVwZEdsaGJHbDZhVzVuSUNSN2RHaHBjeTVoWkdGd2RHVnlmU2R6SUdWMlpXNTBJRVJwYzNCaGRHTm9ZQ2s3WEc0Z0lDQWdZMjl1YzNRZ1lXUmhjSFJsY2lBOUlIUm9hWE11WVdSaGNIUmxjaUJoY3lCQlpHRndkR1Z5UEdGdWVTd2dZVzU1TENCaGJua3NJR0Z1ZVQ0N1hHNGdJQ0FnS0Z4dUlDQWdJQ0FnVzF4dUlDQWdJQ0FnSUNCUGNHVnlZWFJwYjI1TFpYbHpMa05TUlVGVVJTeGNiaUFnSUNBZ0lDQWdUM0JsY21GMGFXOXVTMlY1Y3k1VlVFUkJWRVVzWEc0Z0lDQWdJQ0FnSUU5d1pYSmhkR2x2Ymt0bGVYTXVSRVZNUlZSRkxGeHVJQ0FnSUNBZ0lDQkNkV3hyUTNKMVpFOXdaWEpoZEdsdmJrdGxlWE11UTFKRlFWUkZYMEZNVEN4Y2JpQWdJQ0FnSUNBZ1FuVnNhME55ZFdSUGNHVnlZWFJwYjI1TFpYbHpMbFZRUkVGVVJWOUJURXdzWEc0Z0lDQWdJQ0FnSUVKMWJHdERjblZrVDNCbGNtRjBhVzl1UzJWNWN5NUVSVXhGVkVWZlFVeE1MRnh1SUNBZ0lDQWdYU0JoY3lBb2EyVjViMllnUVdSaGNIUmxjanhoYm5rc0lHRnVlU3dnWVc1NUxDQmhibmsrS1Z0ZFhHNGdJQ0FnS1M1bWIzSkZZV05vS0NoMGIxZHlZWEFwSUQwK0lIdGNiaUFnSUNBZ0lHbG1JQ2doWVdSaGNIUmxjbHQwYjFkeVlYQmRLVnh1SUNBZ0lDQWdJQ0IwYUhKdmR5QnVaWGNnU1c1MFpYSnVZV3hGY25KdmNpaGNiaUFnSUNBZ0lDQWdJQ0JnVFdWMGFHOWtJQ1I3ZEc5WGNtRndJR0Z6SUhOMGNtbHVaMzBnYm05MElHWnZkVzVrSUdsdUlDUjdZV1JoY0hSbGNpNWhiR2xoYzMwZ1lXUmhjSFJsY2lCMGJ5QmlhVzVrSUU5aWMyVnlkbUZpYkdWeklFUnBjM0JoZEdOb1lGeHVJQ0FnSUNBZ0lDQXBPMXh1WEc0Z0lDQWdJQ0JzWlhRZ1pHVnpZM0pwY0hSdmNpQTlJRTlpYW1WamRDNW5aWFJQZDI1UWNtOXdaWEowZVVSbGMyTnlhWEIwYjNJb1lXUmhjSFJsY2l3Z2RHOVhjbUZ3S1R0Y2JpQWdJQ0FnSUd4bGRDQndjbTkwYnpvZ1lXNTVJRDBnWVdSaGNIUmxjanRjYmlBZ0lDQWdJSGRvYVd4bElDZ2haR1Z6WTNKcGNIUnZjaUFtSmlCd2NtOTBieUFoUFQwZ1QySnFaV04wTG5CeWIzUnZkSGx3WlNrZ2UxeHVJQ0FnSUNBZ0lDQndjbTkwYnlBOUlFOWlhbVZqZEM1blpYUlFjbTkwYjNSNWNHVlBaaWh3Y205MGJ5azdYRzRnSUNBZ0lDQWdJR1JsYzJOeWFYQjBiM0lnUFNCUFltcGxZM1F1WjJWMFQzZHVVSEp2Y0dWeWRIbEVaWE5qY21sd2RHOXlLSEJ5YjNSdkxDQjBiMWR5WVhBcE8xeHVJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQnBaaUFvSVdSbGMyTnlhWEIwYjNJZ2ZId2dJV1JsYzJOeWFYQjBiM0l1ZDNKcGRHRmliR1VwSUh0Y2JpQWdJQ0FnSUNBZ2RHaHBjeTVzYjJjdVpYSnliM0lvWEc0Z0lDQWdJQ0FnSUNBZ1lFTnZkV3hrSUc1dmRDQm1hVzVrSUcxbGRHaHZaQ0FrZTNSdlYzSmhjQ0JoY3lCemRISnBibWQ5SUhSdklHSnBibVFnVDJKelpYSjJZV0pzWlhNZ1JHbHpjR0YwWTJoZ1hHNGdJQ0FnSUNBZ0lDazdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJqdGNiaUFnSUNBZ0lIMWNiaUFnSUNBZ0lHWjFibU4wYVc5dUlHSjFiR3RVYjFOcGJtZHNaU2h0WlhSb2IyUTZJSE4wY21sdVp5a2dlMXh1SUNBZ0lDQWdJQ0J6ZDJsMFkyZ2dLRzFsZEdodlpDa2dlMXh1SUNBZ0lDQWdJQ0FnSUdOaGMyVWdRblZzYTBOeWRXUlBjR1Z5WVhScGIyNUxaWGx6TGtOU1JVRlVSVjlCVEV3NlhHNGdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdUM0JsY21GMGFXOXVTMlY1Y3k1RFVrVkJWRVU3WEc0Z0lDQWdJQ0FnSUNBZ1kyRnpaU0JDZFd4clEzSjFaRTl3WlhKaGRHbHZia3RsZVhNdVZWQkVRVlJGWDBGTVREcGNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJQY0dWeVlYUnBiMjVMWlhsekxsVlFSRUZVUlR0Y2JpQWdJQ0FnSUNBZ0lDQmpZWE5sSUVKMWJHdERjblZrVDNCbGNtRjBhVzl1UzJWNWN5NUVSVXhGVkVWZlFVeE1PbHh1SUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUU5d1pYSmhkR2x2Ymt0bGVYTXVSRVZNUlZSRk8xeHVJQ0FnSUNBZ0lDQWdJR1JsWm1GMWJIUTZYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnYldWMGFHOWtPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUNoaFpHRndkR1Z5SUdGeklHRnVlU2xiZEc5WGNtRndYU0E5SUc1bGR5QlFjbTk0ZVNoaFpHRndkR1Z5VzNSdlYzSmhjRjBzSUh0Y2JpQWdJQ0FnSUNBZ1lYQndiSGs2SUdGemVXNWpJQ2gwWVhKblpYUTZJR0Z1ZVN3Z2RHaHBjMEZ5WnpvZ1lXNTVMQ0JoY21kQmNuSmhlVG9nWVc1NVcxMHBJRDArSUh0Y2JpQWdJQ0FnSUNBZ0lDQmpiMjV6ZENCN0lHeHZaeXdnWTNSNFFYSm5jeXdnWTNSNElIMGdQU0IwYUdselFYSm5XMXdpYkc5blEzUjRYQ0pkS0Z4dUlDQWdJQ0FnSUNBZ0lDQWdZWEpuUVhKeVlYa3VjMnhwWTJVb015QXRJQ2cwSUMwZ1lYSm5RWEp5WVhrdWJHVnVaM1JvS1N3Z1lYSm5RWEp5WVhrdWJHVnVaM1JvS1N4Y2JpQWdJQ0FnSUNBZ0lDQWdJSFJoY21kbGRGeHVJQ0FnSUNBZ0lDQWdJQ2s3WEc0Z0lDQWdJQ0FnSUNBZ1kyOXVjM1FnVzNSaFlteGxUbUZ0WlN3Z2FXUnpMQ0J3WVhsc2IyRmtYU0E5SUdGeVowRnljbUY1TzF4dUlDQWdJQ0FnSUNBZ0lHTnZibk4wSUhKbGMzVnNkQ0E5SUdGM1lXbDBJSFJoY21kbGRDNWhjSEJzZVNoMGFHbHpRWEpuTENCYlhHNGdJQ0FnSUNBZ0lDQWdJQ0IwWVdKc1pVNWhiV1VzWEc0Z0lDQWdJQ0FnSUNBZ0lDQnBaSE1zWEc0Z0lDQWdJQ0FnSUNBZ0lDQndZWGxzYjJGa0xGeHVJQ0FnSUNBZ0lDQWdJQ0FnTGk0dVkzUjRRWEpuY3l4Y2JpQWdJQ0FnSUNBZ0lDQmRLVHRjYmx4dUlDQWdJQ0FnSUNBZ0lHTnZibk4wSUhKbGMzVnNkRUZ5WjNNNklGdHpkSEpwYm1jc0lITjBjbWx1Wnl3Z1JYWmxiblJKWkhOZElEMGdXMXh1SUNBZ0lDQWdJQ0FnSUNBZ2RHRmliR1ZPWVcxbExGeHVJQ0FnSUNBZ0lDQWdJQ0FnWW5Wc2ExUnZVMmx1WjJ4bEtIUnZWM0poY0NCaGN5QnpkSEpwYm1jcExGeHVJQ0FnSUNBZ0lDQWdJQ0FnYVdSekxGeHVJQ0FnSUNBZ0lDQWdJRjA3WEc1Y2JpQWdJQ0FnSUNBZ0lDQnBaaUFvWTNSNExtZGxkQ2hjSW05aWMyVnlkbVZHZFd4c1VtVnpkV3gwWENJcEtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYTjFiSFJCY21kekxuQjFjMmdvWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJRUZ5Y21GNUxtbHpRWEp5WVhrb2NtVnpkV3gwS1Z4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUQ4Z2NtVnpkV3gwTG0xaGNDZ29jaWtnUFQ0Z2RHRmliR1ZPWVcxbEtISXBLVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRG9nZEdGaWJHVk9ZVzFsS0hKbGMzVnNkQ2xjYmlBZ0lDQWdJQ0FnSUNBZ0lDazdYRzRnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNBZ0lIUm9hWE11ZFhCa1lYUmxUMkp6WlhKMlpYSnpLQzR1TG5KbGMzVnNkRUZ5WjNNc0lDNHVMbU4wZUVGeVozTXBMbU5oZEdOb0tDaGxPaUIxYm10dWIzZHVLU0E5UGx4dUlDQWdJQ0FnSUNBZ0lDQWdiRzluTG1WeWNtOXlLRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQmdSbUZwYkdWa0lIUnZJR1JwYzNCaGRHTm9JRzlpYzJWeWRtVnlJSEpsWm5KbGMyZ2dabTl5SUNSN2RHOVhjbUZ3SUdGeklITjBjbWx1WjMwZ2IyNGdKSHQwWVdKc1pVNWhiV1V1Ym1GdFpTQjhmQ0IwWVdKc1pVNWhiV1Y5SUdadmNpQWtlMmxrYzMwNklDUjdaWDFnWEc0Z0lDQWdJQ0FnSUNBZ0lDQXBYRzRnSUNBZ0lDQWdJQ0FnS1R0Y2JpQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2NtVnpkV3gwTzF4dUlDQWdJQ0FnSUNCOUxGeHVJQ0FnSUNBZ2ZTazdYRzRnSUNBZ2ZTazdYRzRnSUgxY2JuMWNiaUpkZlE9PSJdfQ==
79
+ //# sourceMappingURL=FabricContractDispatch.js.map
80
+ //# sourceMappingURL=FabricContractDispatch.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contracts/FabricContractDispatch.cjs","sourceRoot":"","sources":["contracts/FabricContractDispatch.js"],"names":[],"mappings":"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"}
@@ -192,5 +192,5 @@ class FabricContractPaginator extends for_couchdb_1.CouchDBPaginator {
192
192
  }
193
193
  }
194
194
  exports.FabricContractPaginator = FabricContractPaginator;
195
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRmFicmljQ29udHJhY3RQYWdpbmF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udHJhY3RzL0ZhYnJpY0NvbnRyYWN0UGFnaW5hdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxXQUFXLEVBQ1gsUUFBUSxFQUNSLE9BQU8sR0FDUixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdkQsT0FBTyxFQUFlLFFBQVEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRTdELE9BQU8sRUFBRSxnQkFBZ0IsRUFBYyxNQUFNLHVCQUF1QixDQUFDO0FBQ3JFLE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIscUJBQXFCLEVBQ3JCLFlBQVksR0FDYixrQ0FBNkI7QUFFOUI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXFCRztBQUNILE1BQU0sT0FBTyx1QkFFWCxTQUFRLGdCQUFtQjtJQUMzQjs7Ozs7OztPQU9HO0lBQ0gsWUFDRSxPQUE4QixFQUM5QixLQUFpQixFQUNqQixJQUFZLEVBQ1osS0FBcUI7UUFFckIsS0FBSyxDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNnQixPQUFPLENBQUMsWUFBd0I7UUFDakQsTUFBTSxLQUFLLEdBQWUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFDMUQsSUFBSSxLQUFLLENBQUMsS0FBSztZQUFFLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQztRQUUxQyxLQUFLLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7UUFFeEIsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFD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LENBQUM7WUFDeEIsSUFBSSxDQUFDLFlBQVksR0FBRyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDM0QsQ0FBQztRQUNELE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIE1heWJlQ29udGV4dHVhbEFyZyxcbiAgUGFnaW5nRXJyb3IsXG4gIFNlcXVlbmNlLFxuICBDb250ZXh0LFxufSBmcm9tIFwiQGRlY2FmLXRzL2NvcmVcIjtcbmltcG9ydCB7IERCS2V5cyB9IGZyb20gXCJAZGVjYWYtdHMvZGItZGVjb3JhdG9yc1wiO1xuaW1wb3J0IHsgTW9kZWwgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRvci12YWxpZGF0aW9uXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3RvciwgTWV0YWRhdGEgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRpb25cIjtcbmltcG9ydCB7IEZhYnJpY0NvbnRyYWN0QWRhcHRlciB9IGZyb20gXCIuL0NvbnRyYWN0QWRhcHRlclwiO1xuaW1wb3J0IHsgQ291Y2hEQlBhZ2luYXRvciwgTWFuZ29RdWVyeSB9IGZyb20gXCJAZGVjYWYtdHMvZm9yLWNvdWNoZGJcIjtcbmltcG9ydCB7XG4gIGFwcGx5TWlycm9yRmxhZ3MsXG4gIGFwcGx5U2VncmVnYXRpb25GbGFncyxcbiAgZXh0cmFjdE1zcElkLFxufSBmcm9tIFwiLi4vc2hhcmVkL2RlY29yYXRvcnNcIjtcblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gUGFnaW5hdG9yIGZvciBDb3VjaERCIHF1ZXJ5IHJlc3VsdHNcbiAqIEBzdW1tYXJ5IEltcGxlbWVudHMgcGFnaW5hdGlvbiBmb3IgQ291Y2hEQiBxdWVyaWVzIHVzaW5nIGJvb2ttYXJrcyBmb3IgZWZmaWNpZW50IG5hdmlnYXRpb24gdGhyb3VnaCByZXN1bHQgc2V0c1xuICogQHRlbXBsYXRlIE0gLSBUaGUgbW9kZWwgdHlwZSB0aGF0IGV4dGVuZHMgTW9kZWxcbiAqIEB0ZW1wbGF0ZSBSIC0gVGhlIHJlc3VsdCB0eXBlXG4gKiBAcGFyYW0ge0ZhYnJpY0NvPGFueSwgYW55LCBhbnk+fSBhZGFwdGVyIC0gVGhlIENvdWNoREIgYWRhcHRlclxuICogQHBhcmFtIHtNYW5nb1F1ZXJ5fSBxdWVyeSAtIFRoZSBNYW5nbyBxdWVyeSB0byBwYWdpbmF0ZVxuICogQHBhcmFtIHtudW1iZXJ9IHNpemUgLSBUaGUgcGFnZSBzaXplXG4gKiBAcGFyYW0ge0NvbnN0cnVjdG9yPE0+fSBjbGF6eiAtIFRoZSBtb2RlbCBjb25zdHJ1Y3RvclxuICogQGNsYXNzIENvdWNoREJQYWdpbmF0b3JcbiAqIEBleGFtcGxlXG4gKiAvLyBFeGFtcGxlIG9mIHVzaW5nIENvdWNoREJQYWdpbmF0b3JcbiAqIGNvbnN0IGFkYXB0ZXIgPSBuZXcgTXlDb3VjaERCQWRhcHRlcihzY29wZSk7XG4gKiBjb25zdCBxdWVyeSA9IHsgc2VsZWN0b3I6IHsgdHlwZTogXCJ1c2VyXCIgfSB9O1xuICogY29uc3QgcGFnaW5hdG9yID0gbmV3IENvdWNoREJQYWdpbmF0b3IoYWRhcHRlciwgcXVlcnksIDEwLCBVc2VyKTtcbiAqXG4gKiAvLyBHZXQgdGhlIGZpcnN0IHBhZ2VcbiAqIGNvbnN0IHBhZ2UxID0gYXdhaXQgcGFnaW5hdG9yLnBhZ2UoMSk7XG4gKlxuICogLy8gR2V0IHRoZSBuZXh0IHBhZ2VcbiAqIGNvbnN0IHBhZ2UyID0gYXdhaXQgcGFnaW5hdG9yLnBhZ2UoMik7XG4gKi9cbmV4cG9ydCBjbGFzcyBGYWJyaWNDb250cmFjdFBhZ2luYXRvcjxcbiAgTSBleHRlbmRzIE1vZGVsLFxuPiBleHRlbmRzIENvdWNoREJQYWdpbmF0b3I8TT4ge1xuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIENyZWF0ZXMgYSBuZXcgQ291Y2hEQlBhZ2luYXRvciBpbnN0YW5jZVxuICAgKiBAc3VtbWFyeSBJbml0aWFsaXplcyBhIHBhZ2luYXRvciBmb3IgQ291Y2hEQiBxdWVyeSByZXN1bHRzXG4gICAqIEBwYXJhbSB7Q291Y2hEQkFkYXB0ZXI8YW55LCBhbnksIGFueSwgYW55Pn0gYWRhcHRlciAtIFRoZSBDb3VjaERCIGFkYXB0ZXJcbiAgICogQHBhcmFtIHtNYW5nb1F1ZXJ5fSBxdWVyeSAtIFRoZSBNYW5nbyBxdWVyeSB0byBwYWdpbmF0ZVxuICAgKiBAcGFyYW0ge251bWJlcn0gc2l6ZSAtIFRoZSBwYWdlIHNpemVcbiAgICogQHBhcmFtIHtDb25zdHJ1Y3RvcjxNPn0gY2xhenogLSBUaGUgbW9kZWwgY29uc3RydWN0b3JcbiAgICovXG4gIGNvbnN0cnVjdG9yKFxuICAgIGFkYXB0ZXI6IEZhYnJpY0NvbnRyYWN0QWRhcHRlcixcbiAgICBxdWVyeTogTWFuZ29RdWVyeSxcbiAgICBzaXplOiBudW1iZXIsXG4gICAgY2xheno6IENvbnN0cnVjdG9yPE0+XG4gICkge1xuICAgIHN1cGVyKGFkYXB0ZXIsIHF1ZXJ5LCBzaXplLCBjbGF6eik7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFByZXBhcmVzIGEgcXVlcnkgZm9yIHBhZ2luYXRpb25cbiAgICogQHN1bW1hcnkgTW9kaWZpZXMgdGhlIHJhdyBxdWVyeSB0byBpbmNsdWRlIHBhZ2luYXRpb24gcGFyYW1ldGVyc1xuICAgKiBAcGFyYW0ge01hbmdvUXVlcnl9IHJhd1N0YXRlbWVudCAtIFRoZSBvcmlnaW5hbCBNYW5nbyBxdWVyeVxuICAgKiBAcmV0dXJuIHtNYW5nb1F1ZXJ5fSBUaGUgcHJlcGFyZWQgcXVlcnkgd2l0aCBwYWdpbmF0aW9uIHBhcmFtZXRlcnNcbiAgICovXG4gIHByb3RlY3RlZCBvdmVycmlkZSBwcmVwYXJlKHJhd1N0YXRlbWVudDogTWFuZ29RdWVyeSk6IE1hbmdvUXVlcnkge1xuICAgIGNvbnN0IHF1ZXJ5OiBNYW5nb1F1ZXJ5ID0gT2JqZWN0LmFzc2lnbih7fSwgcmF3U3RhdGVtZW50KTtcbiAgICBpZiAocXVlcnkubGltaXQpIHRoaXMubGltaXQgPSBxdWVyeS5saW1pdDtcblxuICAgIHF1ZXJ5LmxpbWl0ID0gdGhpcy5zaXplO1xuXG4gICAgcmV0dXJuIHF1ZXJ5O1xuICB9XG5cbiAgcHJpdmF0ZSBoYXNCb29rbWFyayh2YWx1ZTogdW5rbm93bik6IHZhbHVlIGlzIHN0cmluZyB7XG4gICAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gXCJzdHJpbmdcIiAmJiB2YWx1ZS5sZW5ndGggPiAwO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBSZXRyaWV2ZXMgYSBzcGVjaWZpYyBwYWdlIG9mIHJlc3VsdHNcbiAgICogQHN1bW1hcnkgRXhlY3V0ZXMgdGhlIHF1ZXJ5IHdpdGggcGFnaW5hdGlvbiBhbmQgcHJvY2Vzc2VzIHRoZSByZXN1bHRzXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBbcGFnZT0xXSAtIFRoZSBwYWdlIG51bWJlciB0byByZXRyaWV2ZVxuICAgKiBAcmV0dXJuIHtQcm9taXNlPFJbXT59IEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHRvIGFuIGFycmF5IG9mIHJlc3VsdHNcbiAgICogQHRocm93cyB7UGFnaW5nRXJyb3J9IElmIHRyeWluZyB0byBhY2Nlc3MgYSBwYWdlIG90aGVyIHRoYW4gdGhlIGZpcnN0IHdpdGhvdXQgYSBib29rbWFyaywgb3IgaWYgbm8gY2xhc3MgaXMgZGVmaW5lZFxuICAgKiBAbWVybWFpZFxuICAgKiBzZXF1ZW5jZURpYWdyYW1cbiAgICogICBwYXJ0aWNpcGFudCBDbGllbnRcbiAgICogICBwYXJ0aWNpcGFudCBDb3VjaERCUGFnaW5hdG9yXG4gICAqICAgcGFydGljaXBhbnQgQWRhcHRlclxuICAgKiAgIHBhcnRpY2lwYW50IENvdWNoREJcbiAgICpcbiAgICogICBDbGllbnQtPj5Db3VjaERCUGFnaW5hdG9yOiBwYWdlKHBhZ2VOdW1iZXIpXG4gICAqICAgTm90ZSBvdmVyIENvdWNoREJQYWdpbmF0b3I6IENsb25lIHN0YXRlbWVudFxuICAgKiAgIENvdWNoREJQYWdpbmF0b3ItPj5Db3VjaERCUGFnaW5hdG9yOiB2YWxpZGF0ZVBhZ2UocGFnZSlcbiAgICpcbiAgICogICBhbHQgcGFnZSAhPT0gMVxuICAgKiAgICAgQ291Y2hEQlBhZ2luYXRvci0+PkNvdWNoREJQYWdpbmF0b3I6IENoZWNrIGJvb2ttYXJrXG4gICAqICAgICBhbHQgTm8gYm9va21hcmtcbiAgICogICAgICAgQ291Y2hEQlBhZ2luYXRvci0tPj5DbGllbnQ6IFRocm93IFBhZ2luZ0Vycm9yXG4gICAqICAgICBlbHNlIEhhcyBib29rbWFya1xuICAgKiAgICAgICBDb3VjaERCUGFnaW5hdG9yLT4+Q291Y2hEQlBhZ2luYXRvcjogQWRkIGJvb2ttYXJrIHRvIHN0YXRlbWVudFxuICAgKiAgICAgZW5kXG4gICAqICAgZW5kXG4gICAqXG4gICAqICAgQ291Y2hEQlBhZ2luYXRvci0+PkFkYXB0ZXI6IHJhdyhzdGF0ZW1lbnQsIGZhbHNlKVxuICAgKiAgIEFkYXB0ZXItPj5Db3VjaERCOiBFeGVjdXRlIHF1ZXJ5XG4gICAqICAgQ291Y2hEQi0tPj5BZGFwdGVyOiBSZXR1cm4gcmVzdWx0c1xuICAgKiAgIEFkYXB0ZXItLT4+Q291Y2hEQlBhZ2luYXRvcjogUmV0dXJuIE1hbmdvUmVzcG9uc2VcbiAgICpcbiAgICogICBOb3RlIG92ZXIgQ291Y2hEQlBhZ2luYXRvcjogUHJvY2VzcyByZXN1bHRzXG4gICAqXG4gICAqICAgYWx0IEhhcyB3YXJuaW5nXG4gICAqICAgICBDb3VjaERCUGFnaW5hdG9yLT4+Q291Y2hEQlBhZ2luYXRvcjogTG9nIHdhcm5pbmdcbiAgICogICBlbmRcbiAgICpcbiAgICogICBDb3VjaERCUGFnaW5hdG9yLT4+Q291Y2hEQlBhZ2luYXRvcjogQ2hlY2sgZm9yIGNsYXp6XG4gICAqXG4gICAqICAgYWx0IE5vIGNsYXp6XG4gICAqICAgICBDb3VjaERCUGFnaW5hdG9yLS0+PkNsaWVudDogVGhyb3cgUGFnaW5nRXJyb3JcbiAgICogICBlbHNlIEhhcyBjbGF6elxuICAgKiAgICAgQ291Y2hEQlBhZ2luYXRvci0+PkNvdWNoREJQYWdpbmF0b3I6IEZpbmQgcHJpbWFyeSBrZXlcbiAgICpcbiAgICogICAgIGFsdCBIYXMgZmllbGRzIGluIHN0YXRlbWVudFxuICAgKiAgICAgICBDb3VjaERCUGFnaW5hdG9yLT4+Q291Y2hEQlBhZ2luYXRvcjogVXNlIGRvY3MgZGlyZWN0bHlcbiAgICogICAgIGVsc2UgTm8gZmllbGRzXG4gICAqICAgICAgIENvdWNoREJQYWdpbmF0b3ItPj5Db3VjaERCUGFnaW5hdG9yOiBQcm9jZXNzIGVhY2ggZG9jdW1lbnRcbiAgICogICAgICAgbG9vcCBGb3IgZWFjaCBkb2N1bWVudFxuICAgKiAgICAgICAgIENvdWNoREJQYWdpbmF0b3ItPj5Db3VjaERCUGFnaW5hdG9yOiBFeHRyYWN0IG9yaWdpbmFsIElEXG4gICAqICAgICAgICAgQ291Y2hEQlBhZ2luYXRvci0+PkFkYXB0ZXI6IHJldmVydChkb2MsIGNsYXp6LCBwa0RlZi5pZCwgcGFyc2VkSWQpXG4gICAqICAgICAgIGVuZFxuICAgKiAgICAgZW5kXG4gICAqXG4gICAqICAgICBDb3VjaERCUGFnaW5hdG9yLT4+Q291Y2hEQlBhZ2luYXRvcjogU3RvcmUgYm9va21hcmtcbiAgICogICAgIENvdWNoREJQYWdpbmF0b3ItPj5Db3VjaERCUGFnaW5hdG9yOiBVcGRhdGUgY3VycmVudFBhZ2VcbiAgICogICAgIENvdWNoREJQYWdpbmF0b3ItLT4+Q2xpZW50OiBSZXR1cm4gcmVzdWx0c1xuICAgKiAgIGVuZFxuICAgKi9cbiAgb3ZlcnJpZGUgYXN5bmMgcGFnZShcbiAgICBwYWdlOiBudW1iZXIgPSAxLFxuICAgIGJvb2ttYXJrPzogYW55LFxuICAgIC4uLmFyZ3M6IE1heWJlQ29udGV4dHVhbEFyZzxhbnk+XG4gICk6IFByb21pc2U8TVtdPiB7XG4gICAgY29uc3QgeyBjdHhBcmdzLCBjdHggfSA9IHRoaXMuYWRhcHRlcltcImxvZ0N0eFwiXShcbiAgICAgIFtib29rbWFyaywgLi4uYXJnc10uZmlsdGVyKEJvb2xlYW4pLFxuICAgICAgdGhpcy5wYWdlXG4gICAgKTtcbiAgICBpZiAoYm9va21hcmsgJiYgYm9va21hcmsgaW5zdGFuY2VvZiBDb250ZXh0KSB7XG4gICAgICBib29rbWFyayA9IHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBjb25zdCBtc3AgPSBleHRyYWN0TXNwSWQoY3R4LmlkZW50aXR5KTtcbiAgICBjb25zdCB7IHByaXZhdGVDb2xzLCBzaGFyZWRDb2xzIH0gPSBNb2RlbC5jb2xsZWN0aW9uc0Zvcih0aGlzLmNsYXp6KTtcbiAgICBjb25zdCBjb2xsZWN0aW9ucyA9IFtcbiAgICAgIC4uLm5ldyBTZXQoXG4gICAgICAgIGF3YWl0IFByb21pc2UuYWxsKFxuICAgICAgICAgIFsuLi5wcml2YXRlQ29scywgLi4uc2hhcmVkQ29sc10ubWFwKChjKSA9PlxuICAgICAgICAgICAgdHlwZW9mIGMgPT09IFwic3RyaW5nXCIgPyBjIDogYyh0aGlzLmNsYXp6LCBtc3AsIGN0eClcbiAgICAgICAgICApXG4gICAgICAgIClcbiAgICAgICksXG4gICAgXTtcbiAgICBhcHBseVNlZ3JlZ2F0aW9uRmxhZ3MobmV3IHRoaXMuY2xhenooKSwgY29sbGVjdGlvbnMsIGN0eCk7XG4gICAgYXdhaXQgYXBwbHlNaXJyb3JGbGFncyh0aGlzLmNsYXp6LCBtc3AsIGN0eCk7XG5cbiAgICB0aGlzLl9ib29rbWFyayA9IGJvb2ttYXJrO1xuICAgIGlmICh0aGlzLmlzUHJlcGFyZWRTdGF0ZW1lbnQoKSlcbiAgICAgIHJldHVybiBhd2FpdCB0aGlzLnBhZ2VQcmVwYXJlZChwYWdlLCAuLi5jdHhBcmdzKTtcbiAgICBjb25zdCBzdGF0ZW1lbnQgPSBPYmplY3QuYXNzaWduKHt9LCB0aGlzLnN0YXRlbWVudCk7XG4gICAgcGFnZSA9IHRoaXMudmFsaWRhdGVQYWdlKHBhZ2UgPz8gMSk7XG4gICAgc3RhdGVtZW50LmxpbWl0ID0gdGhpcy5zaXplO1xuICAgIGlmIChwYWdlID09PSAxKSB7XG4gICAgICBpZiAodGhpcy5oYXNCb29rbWFyayhib29rbWFyaykpIHtcbiAgICAgICAgc3RhdGVtZW50LmJvb2ttYXJrID0gYm9va21hcms7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBkZWxldGUgc3RhdGVtZW50LmJvb2ttYXJrO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBleHBsaWNpdEJvb2ttYXJrID0gYm9va21hcmsgfHwgdGhpcy5fYm9va21hcmtzLmdldChwYWdlKTtcbiAgICAgIGlmICghdGhpcy5oYXNCb29rbWFyayhleHBsaWNpdEJvb2ttYXJrKSkge1xuICAgICAgICB0aHJvdyBuZXcgUGFnaW5nRXJyb3IoXG4gICAgICAgICAgXCJSYW5kb20gcGFnZSBhY2Nlc3MgcmVxdWlyZXMgYSBjYWNoZWQgQ291Y2hEQiBib29rbWFyay4gU3RhcnQgYXQgcGFnZSAxIGFuZCBwYWdlIGZvcndhcmQsIG9yIHBhc3MgYW4gZXhwbGljaXQgYm9va21hcmsuXCJcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIGRlbGV0ZSBzdGF0ZW1lbnQuc2tpcDtcbiAgICAgIHN0YXRlbWVudC5ib29rbWFyayA9IGV4cGxpY2l0Qm9va21hcms7XG4gICAgfVxuICAgIGRlbGV0ZSBzdGF0ZW1lbnQuc2tpcDtcbiAgICBjb25zdCB0aWVCcmVha2VyID0gTW9kZWwucGsodGhpcy5jbGF6eik7XG4gICAgY29uc3QgcHJldmlvdXNUaWVCcmVha2VyID0gY3R4LmdldE9yVW5kZWZpbmVkKFwicHJpdmF0ZVBhZ2luYXRpb25UaWVCcmVha2VyXCIpO1xuICAgIGN0eC5wdXQoXCJwcml2YXRlUGFnaW5hdGlvblRpZUJyZWFrZXJcIiwgdGllQnJlYWtlcik7XG4gICAgbGV0IHJhd1Jlc3VsdDogYW55O1xuICAgIHRyeSB7XG4gICAgICByYXdSZXN1bHQgPSAoYXdhaXQgdGhpcy5hZGFwdGVyLnJhdyhzdGF0ZW1lbnQsIGZhbHNlLCBjdHgpKSBhcyBhbnk7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIGN0eC5wdXQoXG4gICAgICAgIFwicHJpdmF0ZVBhZ2luYXRpb25UaWVCcmVha2VyXCIsXG4gICAgICAgIHByZXZpb3VzVGllQnJlYWtlciA9PT0gdW5kZWZpbmVkID8gdW5kZWZpbmVkIDogcHJldmlvdXNUaWVCcmVha2VyXG4gICAgICApO1xuICAgIH1cblxuICAgIGNvbnN0IHsgZG9jcywgYm9va21hcms6IG5leHRCb29rbWFyaywgd2FybmluZyB9ID0gcmF3UmVzdWx0O1xuICAgIGlmICh3YXJuaW5nKSB7XG4gICAgICBjdHgubG9nZ2VyPy53YXJuPy4od2FybmluZyk7XG4gICAgfVxuICAgIGlmICghdGhpcy5jbGF6eikgdGhyb3cgbmV3IFBhZ2luZ0Vycm9yKFwiTm8gc3RhdGVtZW50IHRhcmdldCBkZWZpbmVkXCIpO1xuICAgIGNvbnN0IGlkID0gTW9kZWwucGsodGhpcy5jbGF6eik7XG4gICAgY29uc3QgdHlwZSA9IE1ldGFkYXRhLmdldChcbiAgICAgIHRoaXMuY2xhenosXG4gICAgICBNZXRhZGF0YS5rZXkoREJLZXlzLklELCBpZCBhcyBzdHJpbmcpXG4gICAgKT8udHlwZTtcbiAgICBjb25zdCByZXN1bHRzID1cbiAgICAgIHN0YXRlbWVudC5maWVsZHMgJiYgc3RhdGVtZW50LmZpZWxkcy5sZW5ndGhcbiAgICAgICAgPyBkb2NzIC8vIGhhcyBmaWVsZHMgbWVhbnMgaXRzIG5vdCBmdWxsIG1vZGVsXG4gICAgICAgIDogZG9jcy5tYXAoKGQ6IGFueSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuYWRhcHRlci5yZXZlcnQoXG4gICAgICAgICAgICAgIGQsXG4gICAgICAgICAgICAgIHRoaXMuY2xhenosXG4gICAgICAgICAgICAgIFNlcXVlbmNlLnBhcnNlVmFsdWUodHlwZSwgZFtpZF0pLFxuICAgICAgICAgICAgICB1bmRlZmluZWQsXG4gICAgICAgICAgICAgIGN0eFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9KTtcbiAgICBjb25zdCBoYXNOZXh0Qm9va21hcmsgPVxuICAgICAgdGhpcy5oYXNCb29rbWFyayhuZXh0Qm9va21hcmspICYmXG4gICAgICBkb2NzLmxlbmd0aCA+IDAgJiZcbiAgICAgIG5leHRCb29rbWFyayAhPT0gYm9va21hcms7XG4gICAgdGhpcy5fYm9va21hcmsgPSBoYXNOZXh0Qm9va21hcmsgPyBuZXh0Qm9va21hcmsgOiB1bmRlZmluZWQ7XG4gICAgaWYgKGhhc05leHRCb29rbWFyaykge1xuICAgICAgdGhpcy5fYm9va21hcmtzLnNldChwYWdlICsgMSwgbmV4dEJvb2ttYXJrKTtcbiAgICAgIHRoaXMuX3RvdGFsUGFnZXMgPSBNYXRoLm1heCh0aGlzLl90b3RhbFBhZ2VzIHx8IDAsIHBhZ2UgKyAxKTtcbiAgICB9XG4gICAgdGhpcy5fY3VycmVudFBhZ2UgPSBwYWdlO1xuICAgIGlmICghaGFzTmV4dEJvb2ttYXJrKSB7XG4gICAgICB0aGlzLl9rbm93bkxhc3RQYWdlID0gcGFnZTtcbiAgICAgIHRoaXMuX3RvdGFsUGFnZXMgPSBwYWdlO1xuICAgICAgdGhpcy5fcmVjb3JkQ291bnQgPSAocGFnZSAtIDEpICogdGhpcy5zaXplICsgZG9jcy5sZW5ndGg7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHRzO1xuICB9XG59XG4iXX0=
196
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRmFicmljQ29udHJhY3RQYWdpbmF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJGYWJyaWNDb250cmFjdFBhZ2luYXRvci5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx5Q0FBaUU7QUFDakUsMkRBQWlEO0FBQ2pELHlFQUF1RDtBQUN2RCxxREFBZ0Q7QUFDaEQsdURBQXlEO0FBQ3pELDZEQUFtRztBQUNuRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBcUJHO0FBQ0gsTUFBYSx1QkFBd0IsU0FBUSw4QkFBZ0I7SUFDekQ7Ozs7Ozs7T0FPRztJQUNILFlBQVksT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSztRQUNuQyxLQUFLLENBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUNEOzs7OztPQUtHO0lBQ0gsT0FBTyxDQUFDLFlBQVk7UUFDaEIsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFDOUMsSUFBSSxLQUFLLENBQUMsS0FBSztZQUNYLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQztRQUM3QixLQUFLLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDeEIsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztJQUNELFdBQVcsQ0FBQyxLQUFLO1FBQ2IsT0FBTyxPQUFPLEtBQUssS0FBSyxRQUFRLElBQUksS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUNEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O09BMERHO0lBQ0gsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxFQUFFLFFBQVEsRUFBRSxHQUFHLElBQUk7UUFDbEMsTUFBTSxFQUFFLE9B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bnRleHQsIH0gZnJvbSBcIkBkZWNhZi10cy9jb3JlXCI7XG5pbXBvcnQgeyBEQktleXMgfSBmcm9tIFwiQGRlY2FmLXRzL2RiLWRlY29yYXRvcnNcIjtcbmltcG9ydCB7IE1vZGVsIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0b3ItdmFsaWRhdGlvblwiO1xuaW1wb3J0IHsgTWV0YWRhdGEgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRpb25cIjtcbmltcG9ydCB7IENvdWNoREJQYWdpbmF0b3IgfSBmcm9tIFwiQGRlY2FmLXRzL2Zvci1jb3VjaGRiXCI7XG5pbXBvcnQgeyBhcHBseU1pcnJvckZsYWdzLCBhcHBseVNlZ3JlZ2F0aW9uRmxhZ3MsIGV4dHJhY3RNc3BJZCwgfSBmcm9tIFwiLi8uLi9zaGFyZWQvZGVjb3JhdG9ycy5qc1wiO1xuLyoqXG4gKiBAZGVzY3JpcHRpb24gUGFnaW5hdG9yIGZvciBDb3VjaERCIHF1ZXJ5IHJlc3VsdHNcbiAqIEBzdW1tYXJ5IEltcGxlbWVudHMgcGFnaW5hdGlvbiBmb3IgQ291Y2hEQiBxdWVyaWVzIHVzaW5nIGJvb2ttYXJrcyBmb3IgZWZmaWNpZW50IG5hdmlnYXRpb24gdGhyb3VnaCByZXN1bHQgc2V0c1xuICogQHRlbXBsYXRlIE0gLSBUaGUgbW9kZWwgdHlwZSB0aGF0IGV4dGVuZHMgTW9kZWxcbiAqIEB0ZW1wbGF0ZSBSIC0gVGhlIHJlc3VsdCB0eXBlXG4gKiBAcGFyYW0ge0ZhYnJpY0NvPGFueSwgYW55LCBhbnk+fSBhZGFwdGVyIC0gVGhlIENvdWNoREIgYWRhcHRlclxuICogQHBhcmFtIHtNYW5nb1F1ZXJ5fSBxdWVyeSAtIFRoZSBNYW5nbyBxdWVyeSB0byBwYWdpbmF0ZVxuICogQHBhcmFtIHtudW1iZXJ9IHNpemUgLSBUaGUgcGFnZSBzaXplXG4gKiBAcGFyYW0ge0NvbnN0cnVjdG9yPE0+fSBjbGF6eiAtIFRoZSBtb2RlbCBjb25zdHJ1Y3RvclxuICogQGNsYXNzIENvdWNoREJQYWdpbmF0b3JcbiAqIEBleGFtcGxlXG4gKiAvLyBFeGFtcGxlIG9mIHVzaW5nIENvdWNoREJQYWdpbmF0b3JcbiAqIGNvbnN0IGFkYXB0ZXIgPSBuZXcgTXlDb3VjaERCQWRhcHRlcihzY29wZSk7XG4gKiBjb25zdCBxdWVyeSA9IHsgc2VsZWN0b3I6IHsgdHlwZTogXCJ1c2VyXCIgfSB9O1xuICogY29uc3QgcGFnaW5hdG9yID0gbmV3IENvdWNoREJQYWdpbmF0b3IoYWRhcHRlciwgcXVlcnksIDEwLCBVc2VyKTtcbiAqXG4gKiAvLyBHZXQgdGhlIGZpcnN0IHBhZ2VcbiAqIGNvbnN0IHBhZ2UxID0gYXdhaXQgcGFnaW5hdG9yLnBhZ2UoMSk7XG4gKlxuICogLy8gR2V0IHRoZSBuZXh0IHBhZ2VcbiAqIGNvbnN0IHBhZ2UyID0gYXdhaXQgcGFnaW5hdG9yLnBhZ2UoMik7XG4gKi9cbmV4cG9ydCBjbGFzcyBGYWJyaWNDb250cmFjdFBhZ2luYXRvciBleHRlbmRzIENvdWNoREJQYWdpbmF0b3Ige1xuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBDcmVhdGVzIGEgbmV3IENvdWNoREJQYWdpbmF0b3IgaW5zdGFuY2VcbiAgICAgKiBAc3VtbWFyeSBJbml0aWFsaXplcyBhIHBhZ2luYXRvciBmb3IgQ291Y2hEQiBxdWVyeSByZXN1bHRzXG4gICAgICogQHBhcmFtIHtDb3VjaERCQWRhcHRlcjxhbnksIGFueSwgYW55LCBhbnk+fSBhZGFwdGVyIC0gVGhlIENvdWNoREIgYWRhcHRlclxuICAgICAqIEBwYXJhbSB7TWFuZ29RdWVyeX0gcXVlcnkgLSBUaGUgTWFuZ28gcXVlcnkgdG8gcGFnaW5hdGVcbiAgICAgKiBAcGFyYW0ge251bWJlcn0gc2l6ZSAtIFRoZSBwYWdlIHNpemVcbiAgICAgKiBAcGFyYW0ge0NvbnN0cnVjdG9yPE0+fSBjbGF6eiAtIFRoZSBtb2RlbCBjb25zdHJ1Y3RvclxuICAgICAqL1xuICAgIGNvbnN0cnVjdG9yKGFkYXB0ZXIsIHF1ZXJ5LCBzaXplLCBjbGF6eikge1xuICAgICAgICBzdXBlcihhZGFwdGVyLCBxdWVyeSwgc2l6ZSwgY2xhenopO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gUHJlcGFyZXMgYSBxdWVyeSBmb3IgcGFnaW5hdGlvblxuICAgICAqIEBzdW1tYXJ5IE1vZGlmaWVzIHRoZSByYXcgcXVlcnkgdG8gaW5jbHVkZSBwYWdpbmF0aW9uIHBhcmFtZXRlcnNcbiAgICAgKiBAcGFyYW0ge01hbmdvUXVlcnl9IHJhd1N0YXRlbWVudCAtIFRoZSBvcmlnaW5hbCBNYW5nbyBxdWVyeVxuICAgICAqIEByZXR1cm4ge01hbmdvUXVlcnl9IFRoZSBwcmVwYXJlZCBxdWVyeSB3aXRoIHBhZ2luYXRpb24gcGFyYW1ldGVyc1xuICAgICAqL1xuICAgIHByZXBhcmUocmF3U3RhdGVtZW50KSB7XG4gICAgICAgIGNvbnN0IHF1ZXJ5ID0gT2JqZWN0LmFzc2lnbih7fSwgcmF3U3RhdGVtZW50KTtcbiAgICAgICAgaWYgKHF1ZXJ5LmxpbWl0KVxuICAgICAgICAgICAgdGhpcy5saW1pdCA9IHF1ZXJ5LmxpbWl0O1xuICAgICAgICBxdWVyeS5saW1pdCA9IHRoaXMuc2l6ZTtcbiAgICAgICAgcmV0dXJuIHF1ZXJ5O1xuICAgIH1cbiAgICBoYXNCb29rbWFyayh2YWx1ZSkge1xuICAgICAgICByZXR1cm4gdHlwZW9mIHZhbHVlID09PSBcInN0cmluZ1wiICYmIHZhbHVlLmxlbmd0aCA+IDA7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBSZXRyaWV2ZXMgYSBzcGVjaWZpYyBwYWdlIG9mIHJlc3VsdHNcbiAgICAgKiBAc3VtbWFyeSBFeGVjdXRlcyB0aGUgcXVlcnkgd2l0aCBwYWdpbmF0aW9uIGFuZCBwcm9jZXNzZXMgdGhlIHJlc3VsdHNcbiAgICAgKiBAcGFyYW0ge251bWJlcn0gW3BhZ2U9MV0gLSBUaGUgcGFnZSBudW1iZXIgdG8gcmV0cmlldmVcbiAgICAgKiBAcmV0dXJuIHtQcm9taXNlPFJbXT59IEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHRvIGFuIGFycmF5IG9mIHJlc3VsdHNcbiAgICAgKiBAdGhyb3dzIHtQYWdpbmdFcnJvcn0gSWYgdHJ5aW5nIHRvIGFjY2VzcyBhIHBhZ2Ugb3RoZXIgdGhhbiB0aGUgZmlyc3Qgd2l0aG91dCBhIGJvb2ttYXJrLCBvciBpZiBubyBjbGFzcyBpcyBkZWZpbmVkXG4gICAgICogQG1lcm1haWRcbiAgICAgKiBzZXF1ZW5jZURpYWdyYW1cbiAgICAgKiAgIHBhcnRpY2lwYW50IENsaWVudFxuICAgICAqICAgcGFydGljaXBhbnQgQ291Y2hEQlBhZ2luYXRvclxuICAgICAqICAgcGFydGljaXBhbnQgQWRhcHRlclxuICAgICAqICAgcGFydGljaXBhbnQgQ291Y2hEQlxuICAgICAqXG4gICAgICogICBDbGllbnQtPj5Db3VjaERCUGFnaW5hdG9yOiBwYWdlKHBhZ2VOdW1iZXIpXG4gICAgICogICBOb3RlIG92ZXIgQ291Y2hEQlBhZ2luYXRvcjogQ2xvbmUgc3RhdGVtZW50XG4gICAgICogICBDb3VjaERCUGFnaW5hdG9yLT4+Q291Y2hEQlBhZ2luYXRvcjogdmFsaWRhdGVQYWdlKHBhZ2UpXG4gICAgICpcbiAgICAgKiAgIGFsdCBwYWdlICE9PSAxXG4gICAgICogICAgIENvdWNoREJQYWdpbmF0b3ItPj5Db3VjaERCUGFnaW5hdG9yOiBDaGVjayBib29rbWFya1xuICAgICAqICAgICBhbHQgTm8gYm9va21hcmtcbiAgICAgKiAgICAgICBDb3VjaERCUGFnaW5hdG9yLS0+PkNsaWVudDogVGhyb3cgUGFnaW5nRXJyb3JcbiAgICAgKiAgICAgZWxzZSBIYXMgYm9va21hcmtcbiAgICAgKiAgICAgICBDb3VjaERCUGFnaW5hdG9yLT4+Q291Y2hEQlBhZ2luYXRvcjogQWRkIGJvb2ttYXJrIHRvIHN0YXRlbWVudFxuICAgICAqICAgICBlbmRcbiAgICAgKiAgIGVuZFxuICAgICAqXG4gICAgICogICBDb3VjaERCUGFnaW5hdG9yLT4+QWRhcHRlcjogcmF3KHN0YXRlbWVudCwgZmFsc2UpXG4gICAgICogICBBZGFwdGVyLT4+Q291Y2hEQjogRXhlY3V0ZSBxdWVyeVxuICAgICAqICAgQ291Y2hEQi0tPj5BZGFwdGVyOiBSZXR1cm4gcmVzdWx0c1xuICAgICAqICAgQWRhcHRlci0tPj5Db3VjaERCUGFnaW5hdG9yOiBSZXR1cm4gTWFuZ29SZXNwb25zZVxuICAgICAqXG4gICAgICogICBOb3RlIG92ZXIgQ291Y2hEQlBhZ2luYXRvcjogUHJvY2VzcyByZXN1bHRzXG4gICAgICpcbiAgICAgKiAgIGFsdCBIYXMgd2FybmluZ1xuICAgICAqICAgICBDb3VjaERCUGFnaW5hdG9yLT4+Q291Y2hEQlBhZ2luYXRvcjogTG9nIHdhcm5pbmdcbiAgICAgKiAgIGVuZFxuICAgICAqXG4gICAgICogICBDb3VjaERCUGFnaW5hdG9yLT4+Q291Y2hEQlBhZ2luYXRvcjogQ2hlY2sgZm9yIGNsYXp6XG4gICAgICpcbiAgICAgKiAgIGFsdCBObyBjbGF6elxuICAgICAqICAgICBDb3VjaERCUGFnaW5hdG9yLS0+PkNsaWVudDogVGhyb3cgUGFnaW5nRXJyb3JcbiAgICAgKiAgIGVsc2UgSGFzIGNsYXp6XG4gICAgICogICAgIENvdWNoREJQYWdpbmF0b3ItPj5Db3VjaERCUGFnaW5hdG9yOiBGaW5kIHByaW1hcnkga2V5XG4gICAgICpcbiAgICAgKiAgICAgYWx0IEhhcyBmaWVsZHMgaW4gc3RhdGVtZW50XG4gICAgICogICAgICAgQ291Y2hEQlBhZ2luYXRvci0+PkNvdWNoREJQYWdpbmF0b3I6IFVzZSBkb2NzIGRpcmVjdGx5XG4gICAgICogICAgIGVsc2UgTm8gZmllbGRzXG4gICAgICogICAgICAgQ291Y2hEQlBhZ2luYXRvci0+PkNvdWNoREJQYWdpbmF0b3I6IFByb2Nlc3MgZWFjaCBkb2N1bWVudFxuICAgICAqICAgICAgIGxvb3AgRm9yIGVhY2ggZG9jdW1lbnRcbiAgICAgKiAgICAgICAgIENvdWNoREJQYWdpbmF0b3ItPj5Db3VjaERCUGFnaW5hdG9yOiBFeHRyYWN0IG9yaWdpbmFsIElEXG4gICAgICogICAgICAgICBDb3VjaERCUGFnaW5hdG9yLT4+QWRhcHRlcjogcmV2ZXJ0KGRvYywgY2xhenosIHBrRGVmLmlkLCBwYXJzZWRJZClcbiAgICAgKiAgICAgICBlbmRcbiAgICAgKiAgICAgZW5kXG4gICAgICpcbiAgICAgKiAgICAgQ291Y2hEQlBhZ2luYXRvci0+PkNvdWNoREJQYWdpbmF0b3I6IFN0b3JlIGJvb2ttYXJrXG4gICAgICogICAgIENvdWNoREJQYWdpbmF0b3ItPj5Db3VjaERCUGFnaW5hdG9yOiBVcGRhdGUgY3VycmVudFBhZ2VcbiAgICAgKiAgICAgQ291Y2hEQlBhZ2luYXRvci0tPj5DbGllbnQ6IFJldHVybiByZXN1bHRzXG4gICAgICogICBlbmRcbiAgICAgKi9cbiAgICBhc3luYyBwYWdlKHBhZ2UgPSAxLCBib29rbWFyaywgLi4uYXJncykge1xuICAgICAgICBjb25zdCB7IGN0eEFyZ3MsIGN0eCB9ID0gdGhpcy5hZGFwdGVyW1wibG9nQ3R4XCJdKFtib29rbWFyaywgLi4uYXJnc10uZmlsdGVyKEJvb2xlYW4pLCB0aGlzLnBhZ2UpO1xuICAgICAgICBpZiAoYm9va21hcmsgJiYgYm9va21hcmsgaW5zdGFuY2VvZiBDb250ZXh0KSB7XG4gICAgICAgICAgICBib29rbWFyayA9IHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBtc3AgPSBleHRyYWN0TXNwSWQoY3R4LmlkZW50aXR5KTtcbiAgICAgICAgY29uc3QgeyBwcml2YXRlQ29scywgc2hhcmVkQ29scyB9ID0gTW9kZWwuY29sbGVjdGlvbnNGb3IodGhpcy5jbGF6eik7XG4gICAgICAgIGNvbnN0IGNvbGxlY3Rpb25zID0gW1xuICAgICAgICAgICAgLi4ubmV3IFNldChhd2FpdCBQcm9taXNlLmFsbChbLi4ucHJpdmF0ZUNvbHMsIC4uLnNoYXJlZENvbHNdLm1hcCgoYykgPT4gdHlwZW9mIGMgPT09IFwic3RyaW5nXCIgPyBjIDogYyh0aGlzLmNsYXp6LCBtc3AsIGN0eCkpKSksXG4gICAgICAgIF07XG4gICAgICAgIGFwcGx5U2VncmVnYXRpb25GbGFncyhuZXcgdGhpcy5jbGF6eigpLCBjb2xsZWN0aW9ucywgY3R4KTtcbiAgICAgICAgYXdhaXQgYXBwbHlNaXJyb3JGbGFncyh0aGlzLmNsYXp6LCBtc3AsIGN0eCk7XG4gICAgICAgIHRoaXMuX2Jvb2ttYXJrID0gYm9va21hcms7XG4gICAgICAgIGlmICh0aGlzLmlzUHJlcGFyZWRTdGF0ZW1lbnQoKSlcbiAgICAgICAgICAgIHJldHVybiBhd2FpdCB0aGlzLnBhZ2VQcmVwYXJlZChwYWdlLCAuLi5jdHhBcmdzKTtcbiAgICAgICAgY29uc3Qgc3RhdGVtZW50ID0gT2JqZWN0LmFzc2lnbih7fSwgdGhpcy5zdGF0ZW1lbnQpO1xuICAgICAgICBwYWdlID0gdGhpcy52YWxpZGF0ZVBhZ2UocGFnZSA/PyAxKTtcbiAgICAgICAgc3RhdGVtZW50LmxpbWl0ID0gdGhpcy5zaXplO1xuICAgICAgICBpZiAocGFnZSA9PT0gMSkge1xuICAgICAgICAgICAgaWYgKHRoaXMuaGFzQm9va21hcmsoYm9va21hcmspKSB7XG4gICAgICAgICAgICAgICAgc3RhdGVtZW50LmJvb2ttYXJrID0gYm9va21hcms7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICBkZWxldGUgc3RhdGVtZW50LmJvb2ttYXJrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgZXhwbGljaXRCb29rbWFyayA9IGJvb2ttYXJrIHx8IHRoaXMuX2Jvb2ttYXJrcy5nZXQocGFnZSk7XG4gICAgICAgICAgICBpZiAoIXRoaXMuaGFzQm9va21hcmsoZXhwbGljaXRCb29rbWFyaykpIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgUGFnaW5nRXJyb3IoXCJSYW5kb20gcGFnZSBhY2Nlc3MgcmVxdWlyZXMgYSBjYWNoZWQgQ291Y2hEQiBib29rbWFyay4gU3RhcnQgYXQgcGFnZSAxIGFuZCBwYWdlIGZvcndhcmQsIG9yIHBhc3MgYW4gZXhwbGljaXQgYm9va21hcmsuXCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZGVsZXRlIHN0YXRlbWVudC5za2lwO1xuICAgICAgICAgICAgc3RhdGVtZW50LmJvb2ttYXJrID0gZXhwbGljaXRCb29rbWFyaztcbiAgICAgICAgfVxuICAgICAgICBkZWxldGUgc3RhdGVtZW50LnNraXA7XG4gICAgICAgIGNvbnN0IHRpZUJyZWFrZXIgPSBNb2RlbC5wayh0aGlzLmNsYXp6KTtcbiAgICAgICAgY29uc3QgcHJldmlvdXNUaWVCcmVha2VyID0gY3R4LmdldE9yVW5kZWZpbmVkKFwicHJpdmF0ZVBhZ2luYXRpb25UaWVCcmVha2VyXCIpO1xuICAgICAgICBjdHgucHV0KFwicHJpdmF0ZVBhZ2luYXRpb25UaWVCcmVha2VyXCIsIHRpZUJyZWFrZXIpO1xuICAgICAgICBsZXQgcmF3UmVzdWx0O1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgcmF3UmVzdWx0ID0gKGF3YWl0IHRoaXMuYWRhcHRlci5yYXcoc3RhdGVtZW50LCBmYWxzZSwgY3R4KSk7XG4gICAgICAgIH1cbiAgICAgICAgZmluYWxseSB7XG4gICAgICAgICAgICBjdHgucHV0KFwicHJpdmF0ZVBhZ2luYXRpb25UaWVCcmVha2VyXCIsIHByZXZpb3VzVGllQnJlYWtlciA9PT0gdW5kZWZpbmVkID8gdW5kZWZpbmVkIDogcHJldmlvdXNUaWVCcmVha2VyKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCB7IGRvY3MsIGJvb2ttYXJrOiBuZXh0Qm9va21hcmssIHdhcm5pbmcgfSA9IHJhd1Jlc3VsdDtcbiAgICAgICAgaWYgKHdhcm5pbmcpIHtcbiAgICAgICAgICAgIGN0eC5sb2dnZXI/Lndhcm4/Lih3YXJuaW5nKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXRoaXMuY2xhenopXG4gICAgICAgICAgICB0aHJvdyBuZXcgUGFnaW5nRXJyb3IoXCJObyBzdGF0ZW1lbnQgdGFyZ2V0IGRlZmluZWRcIik7XG4gICAgICAgIGNvbnN0IGlkID0gTW9kZWwucGsodGhpcy5jbGF6eik7XG4gICAgICAgIGNvbnN0IHR5cGUgPSBNZXRhZGF0YS5nZXQodGhpcy5jbGF6eiwgTWV0YWRhdGEua2V5KERCS2V5cy5JRCwgaWQpKT8udHlwZTtcbiAgICAgICAgY29uc3QgcmVzdWx0cyA9IHN0YXRlbWVudC5maWVsZHMgJiYgc3RhdGVtZW50LmZpZWxkcy5sZW5ndGhcbiAgICAgICAgICAgID8gZG9jcyAvLyBoYXMgZmllbGRzIG1lYW5zIGl0cyBub3QgZnVsbCBtb2RlbFxuICAgICAgICAgICAgOiBkb2NzLm1hcCgoZCkgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmFkYXB0ZXIucmV2ZXJ0KGQsIHRoaXMuY2xhenosIFNlcXVlbmNlLnBhcnNlVmFsdWUodHlwZSwgZFtpZF0pLCB1bmRlZmluZWQsIGN0eCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgY29uc3QgaGFzTmV4dEJvb2ttYXJrID0gdGhpcy5oYXNCb29rbWFyayhuZXh0Qm9va21hcmspICYmXG4gICAgICAgICAgICBkb2NzLmxlbmd0aCA+IDAgJiZcbiAgICAgICAgICAgIG5leHRCb29rbWFyayAhPT0gYm9va21hcms7XG4gICAgICAgIHRoaXMuX2Jvb2ttYXJrID0gaGFzTmV4dEJvb2ttYXJrID8gbmV4dEJvb2ttYXJrIDogdW5kZWZpbmVkO1xuICAgICAgICBpZiAoaGFzTmV4dEJvb2ttYXJrKSB7XG4gICAgICAgICAgICB0aGlzLl9ib29rbWFya3Muc2V0KHBhZ2UgKyAxLCBuZXh0Qm9va21hcmspO1xuICAgICAgICAgICAgdGhpcy5fdG90YWxQYWdlcyA9IE1hdGgubWF4KHRoaXMuX3RvdGFsUGFnZXMgfHwgMCwgcGFnZSArIDEpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2N1cnJlbnRQYWdlID0gcGFnZTtcbiAgICAgICAgaWYgKCFoYXNOZXh0Qm9va21hcmspIHtcbiAgICAgICAgICAgIHRoaXMuX2tub3duTGFzdFBhZ2UgPSBwYWdlO1xuICAgICAgICAgICAgdGhpcy5fdG90YWxQYWdlcyA9IHBhZ2U7XG4gICAgICAgICAgICB0aGlzLl9yZWNvcmRDb3VudCA9IChwYWdlIC0gMSkgKiB0aGlzLnNpemUgKyBkb2NzLmxlbmd0aDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzdWx0cztcbiAgICB9XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lSbUZpY21salEyOXVkSEpoWTNSUVlXZHBibUYwYjNJdWFuTWlMQ0p6YjNWeVkyVlNiMjkwSWpvaUlpd2ljMjkxY21ObGN5STZXeUl1TGk4dUxpOHVMaTl6Y21NdlkyOXVkSEpoWTNSekwwWmhZbkpwWTBOdmJuUnlZV04wVUdGbmFXNWhkRzl5TG5SeklsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lKQlFVRkJMRTlCUVU4c1JVRkZUQ3hYUVVGWExFVkJRMWdzVVVGQlVTeEZRVU5TTEU5QlFVOHNSMEZEVWl4TlFVRk5MR2RDUVVGblFpeERRVUZETzBGQlEzaENMRTlCUVU4c1JVRkJSU3hOUVVGTkxFVkJRVVVzVFVGQlRTeDVRa0ZCZVVJc1EwRkJRenRCUVVOcVJDeFBRVUZQTEVWQlFVVXNTMEZCU3l4RlFVRkZMRTFCUVUwc1owTkJRV2RETEVOQlFVTTdRVUZEZGtRc1QwRkJUeXhGUVVGbExGRkJRVkVzUlVGQlJTeE5RVUZOTEhOQ1FVRnpRaXhEUVVGRE8wRkJSVGRFTEU5QlFVOHNSVUZCUlN4blFrRkJaMElzUlVGQll5eE5RVUZOTEhWQ1FVRjFRaXhEUVVGRE8wRkJRM0pGTEU5QlFVOHNSVUZEVEN4blFrRkJaMElzUlVGRGFFSXNjVUpCUVhGQ0xFVkJRM0pDTEZsQlFWa3NSMEZEWWl4clEwRkJOa0k3UVVGRk9VSTdPenM3T3pzN096czdPenM3T3pzN096czdPenRIUVhGQ1J6dEJRVU5JTEUxQlFVMHNUMEZCVHl4MVFrRkZXQ3hUUVVGUkxHZENRVUZ0UWp0SlFVTXpRanM3T3pzN096dFBRVTlITzBsQlEwZ3NXVUZEUlN4UFFVRTRRaXhGUVVNNVFpeExRVUZwUWl4RlFVTnFRaXhKUVVGWkxFVkJRMW9zUzBGQmNVSTdVVUZGY2tJc1MwRkJTeXhEUVVGRExFOUJRVThzUlVGQlJTeExRVUZMTEVWQlFVVXNTVUZCU1N4RlFVRkZMRXRCUVVzc1EwRkJReXhEUVVGRE8wbEJRM0pETEVOQlFVTTdTVUZGUkRzN096czdUMEZMUnp0SlFVTm5RaXhQUVVGUExFTkJRVU1zV1VGQmQwSTdVVUZEYWtRc1RVRkJUU3hMUVVGTExFZEJRV1VzVFVGQlRTeERRVUZETEUxQlFVMHNRMEZCUXl4RlFVRkZMRVZCUVVVc1dVRkJXU3hEUVVGRExFTkJRVU03VVVGRE1VUXNTVUZCU1N4TFFVRkxMRU5CUVVNc1MwRkJTenRaUVVGRkxFbEJRVWtzUTBGQlF5eExRVUZMTEVkQlFVY3NTMEZCU3l4RFFVRkRMRXRCUVVzc1EwRkJRenRSUVVVeFF5eExRVUZMTEVOQlFVTXNTMEZCU3l4SFFVRkhMRWxCUVVrc1EwRkJReXhKUVVGSkxFTkJRVU03VVVGRmVFSXNUMEZCVHl4TFFVRkxMRU5CUVVNN1NVRkRaaXhEUVVGRE8wbEJSVThzVjBGQlZ5eERRVUZETEV0QlFXTTdVVUZEYUVNc1QwRkJUeXhQUVVGUExFdEJRVXNzUzBGQlN5eFJRVUZSTEVsQlFVa3NTMEZCU3l4RFFVRkRMRTFCUVUwc1IwRkJSeXhEUVVGRExFTkJRVU03U1VGRGRrUXNRMEZCUXp0SlFVVkVPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3TzA5Qk1FUkhPMGxCUTAwc1MwRkJTeXhEUVVGRExFbEJRVWtzUTBGRGFrSXNUMEZCWlN4RFFVRkRMRVZCUTJoQ0xGRkJRV01zUlVGRFpDeEhRVUZITEVsQlFUWkNPMUZCUldoRExFMUJRVTBzUlVGQlJTeFBRVUZQTEVWQlFVVXNSMEZCUnl4RlFVRkZMRWRCUVVjc1NVRkJTU3hEUVVGRExFOUJRVThzUTBGQlF5eFJRVUZSTEVOQlFVTXNRMEZETjBNc1EwRkJReXhSUVVGUkxFVkJRVVVzUjBGQlJ5eEpRVUZKTEVOQlFVTXNRMEZCUXl4TlFVRk5MRU5CUVVNc1QwRkJUeXhEUVVGRExFVkJRMjVETEVsQlFVa3NRMEZCUXl4SlFVRkpMRU5CUTFZc1EwRkJRenRSUVVOR0xFbEJRVWtzVVVGQlVTeEpRVUZKTEZGQlFWRXNXVUZCV1N4UFFVRlBMRVZCUVVVc1EwRkJRenRaUVVNMVF5eFJRVUZSTEVkQlFVY3NVMEZCVXl4RFFVRkRPMUZCUTNaQ0xFTkJRVU03VVVGRlJDeE5RVUZOTEVkQlFVY3NSMEZCUnl4WlFVRlpMRU5CUVVNc1IwRkJSeXhEUVVGRExGRkJRVkVzUTBGQlF5eERRVUZETzFGQlEzWkRMRTFCUVUwc1JVRkJSU3hYUVVGWExFVkJRVVVzVlVGQlZTeEZRVUZGTEVkQlFVY3NTMEZCU3l4RFFVRkRMR05CUVdNc1EwRkJReXhKUVVGSkxFTkJRVU1zUzBGQlN5eERRVUZETEVOQlFVTTdVVUZEY2tVc1RVRkJUU3hYUVVGWExFZEJRVWM3V1VGRGJFSXNSMEZCUnl4SlFVRkpMRWRCUVVjc1EwRkRVaXhOUVVGTkxFOUJRVThzUTBGQlF5eEhRVUZITEVOQlEyWXNRMEZCUXl4SFFVRkhMRmRCUVZjc1JVRkJSU3hIUVVGSExGVkJRVlVzUTBGQlF5eERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRU5CUVVNc1JVRkJSU3hGUVVGRkxFTkJRM2hETEU5QlFVOHNRMEZCUXl4TFFVRkxMRkZCUVZFc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1NVRkJTU3hEUVVGRExFdEJRVXNzUlVGQlJTeEhRVUZITEVWQlFVVXNSMEZCUnl4RFFVRkRMRU5CUTNCRUxFTkJRMFlzUTBGRFJqdFRRVU5HTEVOQlFVTTdVVUZEUml4eFFrRkJjVUlzUTBGQlF5eEpRVUZKTEVsQlFVa3NRMEZCUXl4TFFVRkxMRVZCUVVVc1JVRkJSU3hYUVVGWExFVkJRVVVzUjBGQlJ5eERRVUZETEVOQlFVTTdVVUZETVVRc1RVRkJUU3huUWtGQlowSXNRMEZCUXl4SlFVRkpMRU5CUVVNc1MwRkJTeXhGUVVGRkxFZEJRVWNzUlVGQlJTeEhRVUZITEVOQlFVTXNRMEZCUXp0UlFVVTNReXhKUVVGSkxFTkJRVU1zVTBGQlV5eEhRVUZITEZGQlFWRXNRMEZCUXp0UlFVTXhRaXhKUVVGSkxFbEJRVWtzUTBGQlF5eHRRa0ZCYlVJc1JVRkJSVHRaUVVNMVFpeFBRVUZQTEUxQlFVMHNTVUZCU1N4RFFVRkRMRmxCUVZrc1EwRkJReXhKUVVGSkxFVkJRVVVzUjBGQlJ5eFBRVUZQTEVOQlFVTXNRMEZCUXp0UlFVTnVSQ3hOUVVGTkxGTkJRVk1zUjBGQlJ5eE5RVUZOTEVOQlFVTXNUVUZCVFN4RFFVRkRMRVZCUVVVc1JVRkJSU3hKUVVGSkxFTkJRVU1zVTBGQlV5eERRVUZETEVOQlFVTTdVVUZEY0VRc1NVRkJTU3hIUVVGSExFbEJRVWtzUTBGQlF5eFpRVUZaTEVOQlFVTXNTVUZCU1N4SlFVRkpMRU5CUVVNc1EwRkJReXhEUVVGRE8xRkJRM0JETEZOQlFWTXNRMEZCUXl4TFFVRkxMRWRCUVVjc1NVRkJTU3hEUVVGRExFbEJRVWtzUTBGQlF6dFJRVU0xUWl4SlFVRkpMRWxCUVVrc1MwRkJTeXhEUVVGRExFVkJRVVVzUTBGQlF6dFpRVU5tTEVsQlFVa3NTVUZCU1N4RFFVRkRMRmRCUVZjc1EwRkJReXhSUVVGUkxFTkJRVU1zUlVGQlJTeERRVUZETzJkQ1FVTXZRaXhUUVVGVExFTkJRVU1zVVVGQlVTeEhRVUZITEZGQlFWRXNRMEZCUXp0WlFVTm9ReXhEUVVGRE8ybENRVUZOTEVOQlFVTTdaMEpCUTA0c1QwRkJUeXhUUVVGVExFTkJRVU1zVVVGQlVTeERRVUZETzFsQlF6VkNMRU5CUVVNN1VVRkRTQ3hEUVVGRE8yRkJRVTBzUTBGQlF6dFpRVU5PTEUxQlFVMHNaMEpCUVdkQ0xFZEJRVWNzVVVGQlVTeEpRVUZKTEVsQlFVa3NRMEZCUXl4VlFVRlZMRU5CUVVNc1IwRkJSeXhEUVVGRExFbEJRVWtzUTBGQlF5eERRVUZETzFsQlF5OUVMRWxCUVVrc1EwRkJReXhKUVVGSkxFTkJRVU1zVjBGQlZ5eERRVUZETEdkQ1FVRm5RaXhEUVVGRExFVkJRVVVzUTBGQlF6dG5Ra0ZEZUVNc1RVRkJUU3hKUVVGSkxGZEJRVmNzUTBGRGJrSXNkMGhCUVhkSUxFTkJRM3BJTEVOQlFVTTdXVUZEU2l4RFFVRkRPMWxCUTBRc1QwRkJUeXhUUVVGVExFTkJRVU1zU1VGQlNTeERRVUZETzFsQlEzUkNMRk5CUVZNc1EwRkJReXhSUVVGUkxFZEJRVWNzWjBKQlFXZENMRU5CUVVNN1VVRkRlRU1zUTBGQlF6dFJRVU5FTEU5QlFVOHNVMEZCVXl4RFFVRkRMRWxCUVVrc1EwRkJRenRSUVVOMFFpeE5RVUZOTEZWQlFWVXNSMEZCUnl4TFFVRkxMRU5CUVVNc1JVRkJSU3hEUVVGRExFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTXNRMEZCUXp0UlFVTjRReXhOUVVGTkxHdENRVUZyUWl4SFFVRkhMRWRCUVVjc1EwRkJReXhqUVVGakxFTkJRVU1zTmtKQlFUWkNMRU5CUVVNc1EwRkJRenRSUVVNM1JTeEhRVUZITEVOQlFVTXNSMEZCUnl4RFFVRkRMRFpDUVVFMlFpeEZRVUZGTEZWQlFWVXNRMEZCUXl4RFFVRkRPMUZCUTI1RUxFbEJRVWtzVTBGQll5eERRVUZETzFGQlEyNUNMRWxCUVVrc1EwRkJRenRaUVVOSUxGTkJRVk1zUjBGQlJ5eERRVUZETEUxQlFVMHNTVUZCU1N4RFFVRkRMRTlCUVU4c1EwRkJReXhIUVVGSExFTkJRVU1zVTBGQlV5eEZRVUZGTEV0QlFVc3NSVUZCUlN4SFFVRkhMRU5CUVVNc1EwRkJVU3hEUVVGRE8xRkJRM0pGTEVOQlFVTTdaMEpCUVZNc1EwRkJRenRaUVVOVUxFZEJRVWNzUTBGQlF5eEhRVUZITEVOQlEwd3NOa0pCUVRaQ0xFVkJRemRDTEd0Q1FVRnJRaXhMUVVGTExGTkJRVk1zUTBGQlF5eERRVUZETEVOQlFVTXNVMEZCVXl4RFFVRkRMRU5CUVVNc1EwRkJReXhyUWtGQmEwSXNRMEZEYkVVc1EwRkJRenRSUVVOS0xFTkJRVU03VVVGRlJDeE5RVUZOTEVWQlFVVXNTVUZCU1N4RlFVRkZMRkZCUVZFc1JVRkJSU3haUVVGWkxFVkJRVVVzVDBGQlR5eEZRVUZGTEVkQlFVY3NVMEZCVXl4RFFVRkRPMUZCUXpWRUxFbEJRVWtzVDBGQlR5eEZRVUZGTEVOQlFVTTdXVUZEV2l4SFFVRkhMRU5CUVVNc1RVRkJUU3hGUVVGRkxFbEJRVWtzUlVGQlJTeERRVUZETEU5QlFVOHNRMEZCUXl4RFFVRkRPMUZCUXpsQ0xFTkJRVU03VVVGRFJDeEpRVUZKTEVOQlFVTXNTVUZCU1N4RFFVRkRMRXRCUVVzN1dVRkJSU3hOUVVGTkxFbEJRVWtzVjBGQlZ5eERRVUZETERaQ1FVRTJRaXhEUVVGRExFTkJRVU03VVVGRGRFVXNUVUZCVFN4RlFVRkZMRWRCUVVjc1MwRkJTeXhEUVVGRExFVkJRVVVzUTBGQlF5eEpRVUZKTEVOQlFVTXNTMEZCU3l4RFFVRkRMRU5CUVVNN1VVRkRhRU1zVFVGQlRTeEpRVUZKTEVkQlFVY3NVVUZCVVN4RFFVRkRMRWRCUVVjc1EwRkRka0lzU1VGQlNTeERRVUZETEV0QlFVc3NSVUZEVml4UlFVRlJMRU5CUVVNc1IwRkJSeXhEUVVGRExFMUJRVTBzUTBGQlF5eEZRVUZGTEVWQlFVVXNSVUZCV1N4RFFVRkRMRU5CUTNSRExFVkJRVVVzU1VGQlNTeERRVUZETzFGQlExSXNUVUZCVFN4UFFVRlBMRWRCUTFnc1UwRkJVeXhEUVVGRExFMUJRVTBzU1VGQlNTeFRRVUZUTEVOQlFVTXNUVUZCVFN4RFFVRkRMRTFCUVUwN1dVRkRla01zUTBGQlF5eERRVUZETEVsQlFVa3NRMEZCUXl4elEwRkJjME03V1VGRE4wTXNRMEZCUXl4RFFVRkRMRWxCUVVrc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF5eERRVUZOTEVWQlFVVXNSVUZCUlR0blFrRkRiRUlzVDBGQlR5eEpRVUZKTEVOQlFVTXNUMEZCVHl4RFFVRkRMRTFCUVUwc1EwRkRlRUlzUTBGQlF5eEZRVU5FTEVsQlFVa3NRMEZCUXl4TFFVRkxMRVZCUTFZc1VVRkJVU3hEUVVGRExGVkJRVlVzUTBGQlF5eEpRVUZKTEVWQlFVVXNRMEZCUXl4RFFVRkRMRVZCUVVVc1EwRkJReXhEUVVGRExFVkJRMmhETEZOQlFWTXNSVUZEVkN4SFFVRkhMRU5CUTBvc1EwRkJRenRaUVVOS0xFTkJRVU1zUTBGQlF5eERRVUZETzFGQlExUXNUVUZCVFN4bFFVRmxMRWRCUTI1Q0xFbEJRVWtzUTBGQlF5eFhRVUZYTEVOQlFVTXNXVUZCV1N4RFFVRkRPMWxCUXpsQ0xFbEJRVWtzUTBGQlF5eE5RVUZOTEVkQlFVY3NRMEZCUXp0WlFVTm1MRmxCUVZrc1MwRkJTeXhSUVVGUkxFTkJRVU03VVVGRE5VSXNTVUZCU1N4RFFVRkRMRk5CUVZNc1IwRkJSeXhsUVVGbExFTkJRVU1zUTBGQlF5eERRVUZETEZsQlFWa3NRMEZCUXl4RFFVRkRMRU5CUVVNc1UwRkJVeXhEUVVGRE8xRkJRelZFTEVsQlFVa3NaVUZCWlN4RlFVRkZMRU5CUVVNN1dVRkRjRUlzU1VGQlNTeERRVUZETEZWQlFWVXNRMEZCUXl4SFFVRkhMRU5CUVVNc1NVRkJTU3hIUVVGSExFTkJRVU1zUlVGQlJTeFpRVUZaTEVOQlFVTXNRMEZCUXp0WlFVTTFReXhKUVVGSkxFTkJRVU1zVjBGQlZ5eEhRVUZITEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1NVRkJTU3hEUVVGRExGZEJRVmNzU1VGQlNTeERRVUZETEVWQlFVVXNTVUZCU1N4SFFVRkhMRU5CUVVNc1EwRkJReXhEUVVGRE8xRkJReTlFTEVOQlFVTTdVVUZEUkN4SlFVRkpMRU5CUVVNc1dVRkJXU3hIUVVGSExFbEJRVWtzUTBGQlF6dFJRVU42UWl4SlFVRkpMRU5CUVVNc1pVRkJaU3hGUVVGRkxFTkJRVU03V1VGRGNrSXNTVUZCU1N4RFFVRkRMR05CUVdNc1IwRkJSeXhKUVVGSkxFTkJRVU03V1VGRE0wSXNTVUZCU1N4RFFVRkRMRmRCUVZjc1IwRkJSeXhKUVVGSkxFTkJRVU03V1VGRGVFSXNTVUZCU1N4RFFVRkRMRmxCUVZrc1IwRkJSeXhEUVVGRExFbEJRVWtzUjBGQlJ5eERRVUZETEVOQlFVTXNSMEZCUnl4SlFVRkpMRU5CUVVNc1NVRkJTU3hIUVVGSExFbEJRVWtzUTBGQlF5eE5RVUZOTEVOQlFVTTdVVUZETTBRc1EwRkJRenRSUVVORUxFOUJRVThzVDBGQlR5eERRVUZETzBsQlEycENMRU5CUVVNN1EwRkRSaUlzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSW1sdGNHOXlkQ0I3WEc0Z0lFMWhlV0psUTI5dWRHVjRkSFZoYkVGeVp5eGNiaUFnVUdGbmFXNW5SWEp5YjNJc1hHNGdJRk5sY1hWbGJtTmxMRnh1SUNCRGIyNTBaWGgwTEZ4dWZTQm1jbTl0SUZ3aVFHUmxZMkZtTFhSekwyTnZjbVZjSWp0Y2JtbHRjRzl5ZENCN0lFUkNTMlY1Y3lCOUlHWnliMjBnWENKQVpHVmpZV1l0ZEhNdlpHSXRaR1ZqYjNKaGRHOXljMXdpTzF4dWFXMXdiM0owSUhzZ1RXOWtaV3dnZlNCbWNtOXRJRndpUUdSbFkyRm1MWFJ6TDJSbFkyOXlZWFJ2Y2kxMllXeHBaR0YwYVc5dVhDSTdYRzVwYlhCdmNuUWdleUJEYjI1emRISjFZM1J2Y2l3Z1RXVjBZV1JoZEdFZ2ZTQm1jbTl0SUZ3aVFHUmxZMkZtTFhSekwyUmxZMjl5WVhScGIyNWNJanRjYm1sdGNHOXlkQ0I3SUVaaFluSnBZME52Ym5SeVlXTjBRV1JoY0hSbGNpQjlJR1p5YjIwZ1hDSXVMME52Ym5SeVlXTjBRV1JoY0hSbGNsd2lPMXh1YVcxd2IzSjBJSHNnUTI5MVkyaEVRbEJoWjJsdVlYUnZjaXdnVFdGdVoyOVJkV1Z5ZVNCOUlHWnliMjBnWENKQVpHVmpZV1l0ZEhNdlptOXlMV052ZFdOb1pHSmNJanRjYm1sdGNHOXlkQ0I3WEc0Z0lHRndjR3g1VFdseWNtOXlSbXhoWjNNc1hHNGdJR0Z3Y0d4NVUyVm5jbVZuWVhScGIyNUdiR0ZuY3l4Y2JpQWdaWGgwY21GamRFMXpjRWxrTEZ4dWZTQm1jbTl0SUZ3aUxpNHZjMmhoY21Wa0wyUmxZMjl5WVhSdmNuTmNJanRjYmx4dUx5b3FYRzRnS2lCQVpHVnpZM0pwY0hScGIyNGdVR0ZuYVc1aGRHOXlJR1p2Y2lCRGIzVmphRVJDSUhGMVpYSjVJSEpsYzNWc2RITmNiaUFxSUVCemRXMXRZWEo1SUVsdGNHeGxiV1Z1ZEhNZ2NHRm5hVzVoZEdsdmJpQm1iM0lnUTI5MVkyaEVRaUJ4ZFdWeWFXVnpJSFZ6YVc1bklHSnZiMnR0WVhKcmN5Qm1iM0lnWldabWFXTnBaVzUwSUc1aGRtbG5ZWFJwYjI0Z2RHaHliM1ZuYUNCeVpYTjFiSFFnYzJWMGMxeHVJQ29nUUhSbGJYQnNZWFJsSUUwZ0xTQlVhR1VnYlc5a1pXd2dkSGx3WlNCMGFHRjBJR1Y0ZEdWdVpITWdUVzlrWld4Y2JpQXFJRUIwWlcxd2JHRjBaU0JTSUMwZ1ZHaGxJSEpsYzNWc2RDQjBlWEJsWEc0Z0tpQkFjR0Z5WVcwZ2UwWmhZbkpwWTBOdlBHRnVlU3dnWVc1NUxDQmhibmsrZlNCaFpHRndkR1Z5SUMwZ1ZHaGxJRU52ZFdOb1JFSWdZV1JoY0hSbGNseHVJQ29nUUhCaGNtRnRJSHROWVc1bmIxRjFaWEo1ZlNCeGRXVnllU0F0SUZSb1pTQk5ZVzVuYnlCeGRXVnllU0IwYnlCd1lXZHBibUYwWlZ4dUlDb2dRSEJoY21GdElIdHVkVzFpWlhKOUlITnBlbVVnTFNCVWFHVWdjR0ZuWlNCemFYcGxYRzRnS2lCQWNHRnlZVzBnZTBOdmJuTjBjblZqZEc5eVBFMCtmU0JqYkdGNmVpQXRJRlJvWlNCdGIyUmxiQ0JqYjI1emRISjFZM1J2Y2x4dUlDb2dRR05zWVhOeklFTnZkV05vUkVKUVlXZHBibUYwYjNKY2JpQXFJRUJsZUdGdGNHeGxYRzRnS2lBdkx5QkZlR0Z0Y0d4bElHOW1JSFZ6YVc1bklFTnZkV05vUkVKUVlXZHBibUYwYjNKY2JpQXFJR052Ym5OMElHRmtZWEIwWlhJZ1BTQnVaWGNnVFhsRGIzVmphRVJDUVdSaGNIUmxjaWh6WTI5d1pTazdYRzRnS2lCamIyNXpkQ0J4ZFdWeWVTQTlJSHNnYzJWc1pXTjBiM0k2SUhzZ2RIbHdaVG9nWENKMWMyVnlYQ0lnZlNCOU8xeHVJQ29nWTI5dWMzUWdjR0ZuYVc1aGRHOXlJRDBnYm1WM0lFTnZkV05vUkVKUVlXZHBibUYwYjNJb1lXUmhjSFJsY2l3Z2NYVmxjbmtzSURFd0xDQlZjMlZ5S1R0Y2JpQXFYRzRnS2lBdkx5QkhaWFFnZEdobElHWnBjbk4wSUhCaFoyVmNiaUFxSUdOdmJuTjBJSEJoWjJVeElEMGdZWGRoYVhRZ2NHRm5hVzVoZEc5eUxuQmhaMlVvTVNrN1hHNGdLbHh1SUNvZ0x5OGdSMlYwSUhSb1pTQnVaWGgwSUhCaFoyVmNiaUFxSUdOdmJuTjBJSEJoWjJVeUlEMGdZWGRoYVhRZ2NHRm5hVzVoZEc5eUxuQmhaMlVvTWlrN1hHNGdLaTljYm1WNGNHOXlkQ0JqYkdGemN5QkdZV0p5YVdORGIyNTBjbUZqZEZCaFoybHVZWFJ2Y2p4Y2JpQWdUU0JsZUhSbGJtUnpJRTF2WkdWc0xGeHVQaUJsZUhSbGJtUnpJRU52ZFdOb1JFSlFZV2RwYm1GMGIzSThUVDRnZTF4dUlDQXZLaXBjYmlBZ0lDb2dRR1JsYzJOeWFYQjBhVzl1SUVOeVpXRjBaWE1nWVNCdVpYY2dRMjkxWTJoRVFsQmhaMmx1WVhSdmNpQnBibk4wWVc1alpWeHVJQ0FnS2lCQWMzVnRiV0Z5ZVNCSmJtbDBhV0ZzYVhwbGN5QmhJSEJoWjJsdVlYUnZjaUJtYjNJZ1EyOTFZMmhFUWlCeGRXVnllU0J5WlhOMWJIUnpYRzRnSUNBcUlFQndZWEpoYlNCN1EyOTFZMmhFUWtGa1lYQjBaWEk4WVc1NUxDQmhibmtzSUdGdWVTd2dZVzU1UG4wZ1lXUmhjSFJsY2lBdElGUm9aU0JEYjNWamFFUkNJR0ZrWVhCMFpYSmNiaUFnSUNvZ1FIQmhjbUZ0SUh0TllXNW5iMUYxWlhKNWZTQnhkV1Z5ZVNBdElGUm9aU0JOWVc1bmJ5QnhkV1Z5ZVNCMGJ5QndZV2RwYm1GMFpWeHVJQ0FnS2lCQWNHRnlZVzBnZTI1MWJXSmxjbjBnYzJsNlpTQXRJRlJvWlNCd1lXZGxJSE5wZW1WY2JpQWdJQ29nUUhCaGNtRnRJSHREYjI1emRISjFZM1J2Y2p4TlBuMGdZMnhoZW5vZ0xTQlVhR1VnYlc5a1pXd2dZMjl1YzNSeWRXTjBiM0pjYmlBZ0lDb3ZYRzRnSUdOdmJuTjBjblZqZEc5eUtGeHVJQ0FnSUdGa1lYQjBaWEk2SUVaaFluSnBZME52Ym5SeVlXTjBRV1JoY0hSbGNpeGNiaUFnSUNCeGRXVnllVG9nVFdGdVoyOVJkV1Z5ZVN4Y2JpQWdJQ0J6YVhwbE9pQnVkVzFpWlhJc1hHNGdJQ0FnWTJ4aGVubzZJRU52Ym5OMGNuVmpkRzl5UEUwK1hHNGdJQ2tnZTF4dUlDQWdJSE4xY0dWeUtHRmtZWEIwWlhJc0lIRjFaWEo1TENCemFYcGxMQ0JqYkdGNmVpazdYRzRnSUgxY2JseHVJQ0F2S2lwY2JpQWdJQ29nUUdSbGMyTnlhWEIwYVc5dUlGQnlaWEJoY21WeklHRWdjWFZsY25rZ1ptOXlJSEJoWjJsdVlYUnBiMjVjYmlBZ0lDb2dRSE4xYlcxaGNua2dUVzlrYVdacFpYTWdkR2hsSUhKaGR5QnhkV1Z5ZVNCMGJ5QnBibU5zZFdSbElIQmhaMmx1WVhScGIyNGdjR0Z5WVcxbGRHVnljMXh1SUNBZ0tpQkFjR0Z5WVcwZ2UwMWhibWR2VVhWbGNubDlJSEpoZDFOMFlYUmxiV1Z1ZENBdElGUm9aU0J2Y21sbmFXNWhiQ0JOWVc1bmJ5QnhkV1Z5ZVZ4dUlDQWdLaUJBY21WMGRYSnVJSHROWVc1bmIxRjFaWEo1ZlNCVWFHVWdjSEpsY0dGeVpXUWdjWFZsY25rZ2QybDBhQ0J3WVdkcGJtRjBhVzl1SUhCaGNtRnRaWFJsY25OY2JpQWdJQ292WEc0Z0lIQnliM1JsWTNSbFpDQnZkbVZ5Y21sa1pTQndjbVZ3WVhKbEtISmhkMU4wWVhSbGJXVnVkRG9nVFdGdVoyOVJkV1Z5ZVNrNklFMWhibWR2VVhWbGNua2dlMXh1SUNBZ0lHTnZibk4wSUhGMVpYSjVPaUJOWVc1bmIxRjFaWEo1SUQwZ1QySnFaV04wTG1GemMybG5iaWg3ZlN3Z2NtRjNVM1JoZEdWdFpXNTBLVHRjYmlBZ0lDQnBaaUFvY1hWbGNua3ViR2x0YVhRcElIUm9hWE11YkdsdGFYUWdQU0J4ZFdWeWVTNXNhVzFwZER0Y2JseHVJQ0FnSUhGMVpYSjVMbXhwYldsMElEMGdkR2hwY3k1emFYcGxPMXh1WEc0Z0lDQWdjbVYwZFhKdUlIRjFaWEo1TzF4dUlDQjlYRzVjYmlBZ2NISnBkbUYwWlNCb1lYTkNiMjlyYldGeWF5aDJZV3gxWlRvZ2RXNXJibTkzYmlrNklIWmhiSFZsSUdseklITjBjbWx1WnlCN1hHNGdJQ0FnY21WMGRYSnVJSFI1Y0dWdlppQjJZV3gxWlNBOVBUMGdYQ0p6ZEhKcGJtZGNJaUFtSmlCMllXeDFaUzVzWlc1bmRHZ2dQaUF3TzF4dUlDQjlYRzVjYmlBZ0x5b3FYRzRnSUNBcUlFQmtaWE5qY21sd2RHbHZiaUJTWlhSeWFXVjJaWE1nWVNCemNHVmphV1pwWXlCd1lXZGxJRzltSUhKbGMzVnNkSE5jYmlBZ0lDb2dRSE4xYlcxaGNua2dSWGhsWTNWMFpYTWdkR2hsSUhGMVpYSjVJSGRwZEdnZ2NHRm5hVzVoZEdsdmJpQmhibVFnY0hKdlkyVnpjMlZ6SUhSb1pTQnlaWE4xYkhSelhHNGdJQ0FxSUVCd1lYSmhiU0I3Ym5WdFltVnlmU0JiY0dGblpUMHhYU0F0SUZSb1pTQndZV2RsSUc1MWJXSmxjaUIwYnlCeVpYUnlhV1YyWlZ4dUlDQWdLaUJBY21WMGRYSnVJSHRRY205dGFYTmxQRkpiWFQ1OUlFRWdjSEp2YldselpTQjBhR0YwSUhKbGMyOXNkbVZ6SUhSdklHRnVJR0Z5Y21GNUlHOW1JSEpsYzNWc2RITmNiaUFnSUNvZ1FIUm9jbTkzY3lCN1VHRm5hVzVuUlhKeWIzSjlJRWxtSUhSeWVXbHVaeUIwYnlCaFkyTmxjM01nWVNCd1lXZGxJRzkwYUdWeUlIUm9ZVzRnZEdobElHWnBjbk4wSUhkcGRHaHZkWFFnWVNCaWIyOXJiV0Z5YXl3Z2IzSWdhV1lnYm04Z1kyeGhjM01nYVhNZ1pHVm1hVzVsWkZ4dUlDQWdLaUJBYldWeWJXRnBaRnh1SUNBZ0tpQnpaWEYxWlc1alpVUnBZV2R5WVcxY2JpQWdJQ29nSUNCd1lYSjBhV05wY0dGdWRDQkRiR2xsYm5SY2JpQWdJQ29nSUNCd1lYSjBhV05wY0dGdWRDQkRiM1ZqYUVSQ1VHRm5hVzVoZEc5eVhHNGdJQ0FxSUNBZ2NHRnlkR2xqYVhCaGJuUWdRV1JoY0hSbGNseHVJQ0FnS2lBZ0lIQmhjblJwWTJsd1lXNTBJRU52ZFdOb1JFSmNiaUFnSUNwY2JpQWdJQ29nSUNCRGJHbGxiblF0UGo1RGIzVmphRVJDVUdGbmFXNWhkRzl5T2lCd1lXZGxLSEJoWjJWT2RXMWlaWElwWEc0Z0lDQXFJQ0FnVG05MFpTQnZkbVZ5SUVOdmRXTm9SRUpRWVdkcGJtRjBiM0k2SUVOc2IyNWxJSE4wWVhSbGJXVnVkRnh1SUNBZ0tpQWdJRU52ZFdOb1JFSlFZV2RwYm1GMGIzSXRQajVEYjNWamFFUkNVR0ZuYVc1aGRHOXlPaUIyWVd4cFpHRjBaVkJoWjJVb2NHRm5aU2xjYmlBZ0lDcGNiaUFnSUNvZ0lDQmhiSFFnY0dGblpTQWhQVDBnTVZ4dUlDQWdLaUFnSUNBZ1EyOTFZMmhFUWxCaFoybHVZWFJ2Y2kwK1BrTnZkV05vUkVKUVlXZHBibUYwYjNJNklFTm9aV05ySUdKdmIydHRZWEpyWEc0Z0lDQXFJQ0FnSUNCaGJIUWdUbThnWW05dmEyMWhjbXRjYmlBZ0lDb2dJQ0FnSUNBZ1EyOTFZMmhFUWxCaFoybHVZWFJ2Y2kwdFBqNURiR2xsYm5RNklGUm9jbTkzSUZCaFoybHVaMFZ5Y205eVhHNGdJQ0FxSUNBZ0lDQmxiSE5sSUVoaGN5QmliMjlyYldGeWExeHVJQ0FnS2lBZ0lDQWdJQ0JEYjNWamFFUkNVR0ZuYVc1aGRHOXlMVDQrUTI5MVkyaEVRbEJoWjJsdVlYUnZjam9nUVdSa0lHSnZiMnR0WVhKcklIUnZJSE4wWVhSbGJXVnVkRnh1SUNBZ0tpQWdJQ0FnWlc1a1hHNGdJQ0FxSUNBZ1pXNWtYRzRnSUNBcVhHNGdJQ0FxSUNBZ1EyOTFZMmhFUWxCaFoybHVZWFJ2Y2kwK1BrRmtZWEIwWlhJNklISmhkeWh6ZEdGMFpXMWxiblFzSUdaaGJITmxLVnh1SUNBZ0tpQWdJRUZrWVhCMFpYSXRQajVEYjNWamFFUkNPaUJGZUdWamRYUmxJSEYxWlhKNVhHNGdJQ0FxSUNBZ1EyOTFZMmhFUWkwdFBqNUJaR0Z3ZEdWeU9pQlNaWFIxY200Z2NtVnpkV3gwYzF4dUlDQWdLaUFnSUVGa1lYQjBaWEl0TFQ0K1EyOTFZMmhFUWxCaFoybHVZWFJ2Y2pvZ1VtVjBkWEp1SUUxaGJtZHZVbVZ6Y0c5dWMyVmNiaUFnSUNwY2JpQWdJQ29nSUNCT2IzUmxJRzkyWlhJZ1EyOTFZMmhFUWxCaFoybHVZWFJ2Y2pvZ1VISnZZMlZ6Y3lCeVpYTjFiSFJ6WEc0Z0lDQXFYRzRnSUNBcUlDQWdZV3gwSUVoaGN5QjNZWEp1YVc1blhHNGdJQ0FxSUNBZ0lDQkRiM1ZqYUVSQ1VHRm5hVzVoZEc5eUxUNCtRMjkxWTJoRVFsQmhaMmx1WVhSdmNqb2dURzluSUhkaGNtNXBibWRjYmlBZ0lDb2dJQ0JsYm1SY2JpQWdJQ3BjYmlBZ0lDb2dJQ0JEYjNWamFFUkNVR0ZuYVc1aGRHOXlMVDQrUTI5MVkyaEVRbEJoWjJsdVlYUnZjam9nUTJobFkyc2dabTl5SUdOc1lYcDZYRzRnSUNBcVhHNGdJQ0FxSUNBZ1lXeDBJRTV2SUdOc1lYcDZYRzRnSUNBcUlDQWdJQ0JEYjNWamFFUkNVR0ZuYVc1aGRHOXlMUzArUGtOc2FXVnVkRG9nVkdoeWIzY2dVR0ZuYVc1blJYSnliM0pjYmlBZ0lDb2dJQ0JsYkhObElFaGhjeUJqYkdGNmVseHVJQ0FnS2lBZ0lDQWdRMjkxWTJoRVFsQmhaMmx1WVhSdmNpMCtQa052ZFdOb1JFSlFZV2RwYm1GMGIzSTZJRVpwYm1RZ2NISnBiV0Z5ZVNCclpYbGNiaUFnSUNwY2JpQWdJQ29nSUNBZ0lHRnNkQ0JJWVhNZ1ptbGxiR1J6SUdsdUlITjBZWFJsYldWdWRGeHVJQ0FnS2lBZ0lDQWdJQ0JEYjNWamFFUkNVR0ZuYVc1aGRHOXlMVDQrUTI5MVkyaEVRbEJoWjJsdVlYUnZjam9nVlhObElHUnZZM01nWkdseVpXTjBiSGxjYmlBZ0lDb2dJQ0FnSUdWc2MyVWdUbThnWm1sbGJHUnpYRzRnSUNBcUlDQWdJQ0FnSUVOdmRXTm9SRUpRWVdkcGJtRjBiM0l0UGo1RGIzVmphRVJDVUdGbmFXNWhkRzl5T2lCUWNtOWpaWE56SUdWaFkyZ2daRzlqZFcxbGJuUmNiaUFnSUNvZ0lDQWdJQ0FnYkc5dmNDQkdiM0lnWldGamFDQmtiMk4xYldWdWRGeHVJQ0FnS2lBZ0lDQWdJQ0FnSUVOdmRXTm9SRUpRWVdkcGJtRjBiM0l0UGo1RGIzVmphRVJDVUdGbmFXNWhkRzl5T2lCRmVIUnlZV04wSUc5eWFXZHBibUZzSUVsRVhHNGdJQ0FxSUNBZ0lDQWdJQ0FnUTI5MVkyaEVRbEJoWjJsdVlYUnZjaTArUGtGa1lYQjBaWEk2SUhKbGRtVnlkQ2hrYjJNc0lHTnNZWHA2TENCd2EwUmxaaTVwWkN3Z2NHRnljMlZrU1dRcFhHNGdJQ0FxSUNBZ0lDQWdJR1Z1WkZ4dUlDQWdLaUFnSUNBZ1pXNWtYRzRnSUNBcVhHNGdJQ0FxSUNBZ0lDQkRiM1ZqYUVSQ1VHRm5hVzVoZEc5eUxUNCtRMjkxWTJoRVFsQmhaMmx1WVhSdmNqb2dVM1J2Y21VZ1ltOXZhMjFoY210Y2JpQWdJQ29nSUNBZ0lFTnZkV05vUkVKUVlXZHBibUYwYjNJdFBqNURiM1ZqYUVSQ1VHRm5hVzVoZEc5eU9pQlZjR1JoZEdVZ1kzVnljbVZ1ZEZCaFoyVmNiaUFnSUNvZ0lDQWdJRU52ZFdOb1JFSlFZV2RwYm1GMGIzSXRMVDQrUTJ4cFpXNTBPaUJTWlhSMWNtNGdjbVZ6ZFd4MGMxeHVJQ0FnS2lBZ0lHVnVaRnh1SUNBZ0tpOWNiaUFnYjNabGNuSnBaR1VnWVhONWJtTWdjR0ZuWlNoY2JpQWdJQ0J3WVdkbE9pQnVkVzFpWlhJZ1BTQXhMRnh1SUNBZ0lHSnZiMnR0WVhKclB6b2dZVzU1TEZ4dUlDQWdJQzR1TG1GeVozTTZJRTFoZVdKbFEyOXVkR1Y0ZEhWaGJFRnlaenhoYm5rK1hHNGdJQ2s2SUZCeWIyMXBjMlU4VFZ0ZFBpQjdYRzRnSUNBZ1kyOXVjM1FnZXlCamRIaEJjbWR6TENCamRIZ2dmU0E5SUhSb2FYTXVZV1JoY0hSbGNsdGNJbXh2WjBOMGVGd2lYU2hjYmlBZ0lDQWdJRnRpYjI5cmJXRnlheXdnTGk0dVlYSm5jMTB1Wm1sc2RHVnlLRUp2YjJ4bFlXNHBMRnh1SUNBZ0lDQWdkR2hwY3k1d1lXZGxYRzRnSUNBZ0tUdGNiaUFnSUNCcFppQW9ZbTl2YTIxaGNtc2dKaVlnWW05dmEyMWhjbXNnYVc1emRHRnVZMlZ2WmlCRGIyNTBaWGgwS1NCN1hHNGdJQ0FnSUNCaWIyOXJiV0Z5YXlBOUlIVnVaR1ZtYVc1bFpEdGNiaUFnSUNCOVhHNWNiaUFnSUNCamIyNXpkQ0J0YzNBZ1BTQmxlSFJ5WVdOMFRYTndTV1FvWTNSNExtbGtaVzUwYVhSNUtUdGNiaUFnSUNCamIyNXpkQ0I3SUhCeWFYWmhkR1ZEYjJ4ekxDQnphR0Z5WldSRGIyeHpJSDBnUFNCTmIyUmxiQzVqYjJ4c1pXTjBhVzl1YzBadmNpaDBhR2x6TG1Oc1lYcDZLVHRjYmlBZ0lDQmpiMjV6ZENCamIyeHNaV04wYVc5dWN5QTlJRnRjYmlBZ0lDQWdJQzR1TG01bGR5QlRaWFFvWEc0Z0lDQWdJQ0FnSUdGM1lXbDBJRkJ5YjIxcGMyVXVZV3hzS0Z4dUlDQWdJQ0FnSUNBZ0lGc3VMaTV3Y21sMllYUmxRMjlzY3l3Z0xpNHVjMmhoY21Wa1EyOXNjMTB1YldGd0tDaGpLU0E5UGx4dUlDQWdJQ0FnSUNBZ0lDQWdkSGx3Wlc5bUlHTWdQVDA5SUZ3aWMzUnlhVzVuWENJZ1B5QmpJRG9nWXloMGFHbHpMbU5zWVhwNkxDQnRjM0FzSUdOMGVDbGNiaUFnSUNBZ0lDQWdJQ0FwWEc0Z0lDQWdJQ0FnSUNsY2JpQWdJQ0FnSUNrc1hHNGdJQ0FnWFR0Y2JpQWdJQ0JoY0hCc2VWTmxaM0psWjJGMGFXOXVSbXhoWjNNb2JtVjNJSFJvYVhNdVkyeGhlbm9vS1N3Z1kyOXNiR1ZqZEdsdmJuTXNJR04wZUNrN1hHNGdJQ0FnWVhkaGFYUWdZWEJ3YkhsTmFYSnliM0pHYkdGbmN5aDBhR2x6TG1Oc1lYcDZMQ0J0YzNBc0lHTjBlQ2s3WEc1Y2JpQWdJQ0IwYUdsekxsOWliMjlyYldGeWF5QTlJR0p2YjJ0dFlYSnJPMXh1SUNBZ0lHbG1JQ2gwYUdsekxtbHpVSEpsY0dGeVpXUlRkR0YwWlcxbGJuUW9LU2xjYmlBZ0lDQWdJSEpsZEhWeWJpQmhkMkZwZENCMGFHbHpMbkJoWjJWUWNtVndZWEpsWkNod1lXZGxMQ0F1TGk1amRIaEJjbWR6S1R0Y2JpQWdJQ0JqYjI1emRDQnpkR0YwWlcxbGJuUWdQU0JQWW1wbFkzUXVZWE56YVdkdUtIdDlMQ0IwYUdsekxuTjBZWFJsYldWdWRDazdYRzRnSUNBZ2NHRm5aU0E5SUhSb2FYTXVkbUZzYVdSaGRHVlFZV2RsS0hCaFoyVWdQejhnTVNrN1hHNGdJQ0FnYzNSaGRHVnRaVzUwTG14cGJXbDBJRDBnZEdocGN5NXphWHBsTzF4dUlDQWdJR2xtSUNod1lXZGxJRDA5UFNBeEtTQjdYRzRnSUNBZ0lDQnBaaUFvZEdocGN5NW9ZWE5DYjI5cmJXRnlheWhpYjI5cmJXRnlheWtwSUh0Y2JpQWdJQ0FnSUNBZ2MzUmhkR1Z0Wlc1MExtSnZiMnR0WVhKcklEMGdZbTl2YTIxaGNtczdYRzRnSUNBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ0lDQmtaV3hsZEdVZ2MzUmhkR1Z0Wlc1MExtSnZiMnR0WVhKck8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0JqYjI1emRDQmxlSEJzYVdOcGRFSnZiMnR0WVhKcklEMGdZbTl2YTIxaGNtc2dmSHdnZEdocGN5NWZZbTl2YTIxaGNtdHpMbWRsZENod1lXZGxLVHRjYmlBZ0lDQWdJR2xtSUNnaGRHaHBjeTVvWVhOQ2IyOXJiV0Z5YXlobGVIQnNhV05wZEVKdmIydHRZWEpyS1NrZ2UxeHVJQ0FnSUNBZ0lDQjBhSEp2ZHlCdVpYY2dVR0ZuYVc1blJYSnliM0lvWEc0Z0lDQWdJQ0FnSUNBZ1hDSlNZVzVrYjIwZ2NHRm5aU0JoWTJObGMzTWdjbVZ4ZFdseVpYTWdZU0JqWVdOb1pXUWdRMjkxWTJoRVFpQmliMjlyYldGeWF5NGdVM1JoY25RZ1lYUWdjR0ZuWlNBeElHRnVaQ0J3WVdkbElHWnZjbmRoY21Rc0lHOXlJSEJoYzNNZ1lXNGdaWGh3YkdsamFYUWdZbTl2YTIxaGNtc3VYQ0pjYmlBZ0lDQWdJQ0FnS1R0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0FnSUdSbGJHVjBaU0J6ZEdGMFpXMWxiblF1YzJ0cGNEdGNiaUFnSUNBZ0lITjBZWFJsYldWdWRDNWliMjlyYldGeWF5QTlJR1Y0Y0d4cFkybDBRbTl2YTIxaGNtczdYRzRnSUNBZ2ZWeHVJQ0FnSUdSbGJHVjBaU0J6ZEdGMFpXMWxiblF1YzJ0cGNEdGNiaUFnSUNCamIyNXpkQ0IwYVdWQ2NtVmhhMlZ5SUQwZ1RXOWtaV3d1Y0dzb2RHaHBjeTVqYkdGNmVpazdYRzRnSUNBZ1kyOXVjM1FnY0hKbGRtbHZkWE5VYVdWQ2NtVmhhMlZ5SUQwZ1kzUjRMbWRsZEU5eVZXNWtaV1pwYm1Wa0tGd2ljSEpwZG1GMFpWQmhaMmx1WVhScGIyNVVhV1ZDY21WaGEyVnlYQ0lwTzF4dUlDQWdJR04wZUM1d2RYUW9YQ0p3Y21sMllYUmxVR0ZuYVc1aGRHbHZibFJwWlVKeVpXRnJaWEpjSWl3Z2RHbGxRbkpsWVd0bGNpazdYRzRnSUNBZ2JHVjBJSEpoZDFKbGMzVnNkRG9nWVc1NU8xeHVJQ0FnSUhSeWVTQjdYRzRnSUNBZ0lDQnlZWGRTWlhOMWJIUWdQU0FvWVhkaGFYUWdkR2hwY3k1aFpHRndkR1Z5TG5KaGR5aHpkR0YwWlcxbGJuUXNJR1poYkhObExDQmpkSGdwS1NCaGN5Qmhibms3WEc0Z0lDQWdmU0JtYVc1aGJHeDVJSHRjYmlBZ0lDQWdJR04wZUM1d2RYUW9YRzRnSUNBZ0lDQWdJRndpY0hKcGRtRjBaVkJoWjJsdVlYUnBiMjVVYVdWQ2NtVmhhMlZ5WENJc1hHNGdJQ0FnSUNBZ0lIQnlaWFpwYjNWelZHbGxRbkpsWVd0bGNpQTlQVDBnZFc1a1pXWnBibVZrSUQ4Z2RXNWtaV1pwYm1Wa0lEb2djSEpsZG1sdmRYTlVhV1ZDY21WaGEyVnlYRzRnSUNBZ0lDQXBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHTnZibk4wSUhzZ1pHOWpjeXdnWW05dmEyMWhjbXM2SUc1bGVIUkNiMjlyYldGeWF5d2dkMkZ5Ym1sdVp5QjlJRDBnY21GM1VtVnpkV3gwTzF4dUlDQWdJR2xtSUNoM1lYSnVhVzVuS1NCN1hHNGdJQ0FnSUNCamRIZ3ViRzluWjJWeVB5NTNZWEp1UHk0b2QyRnlibWx1WnlrN1hHNGdJQ0FnZlZ4dUlDQWdJR2xtSUNnaGRHaHBjeTVqYkdGNmVpa2dkR2h5YjNjZ2JtVjNJRkJoWjJsdVowVnljbTl5S0Z3aVRtOGdjM1JoZEdWdFpXNTBJSFJoY21kbGRDQmtaV1pwYm1Wa1hDSXBPMXh1SUNBZ0lHTnZibk4wSUdsa0lEMGdUVzlrWld3dWNHc29kR2hwY3k1amJHRjZlaWs3WEc0Z0lDQWdZMjl1YzNRZ2RIbHdaU0E5SUUxbGRHRmtZWFJoTG1kbGRDaGNiaUFnSUNBZ0lIUm9hWE11WTJ4aGVub3NYRzRnSUNBZ0lDQk5aWFJoWkdGMFlTNXJaWGtvUkVKTFpYbHpMa2xFTENCcFpDQmhjeUJ6ZEhKcGJtY3BYRzRnSUNBZ0tUOHVkSGx3WlR0Y2JpQWdJQ0JqYjI1emRDQnlaWE4xYkhSeklEMWNiaUFnSUNBZ0lITjBZWFJsYldWdWRDNW1hV1ZzWkhNZ0ppWWdjM1JoZEdWdFpXNTBMbVpwWld4a2N5NXNaVzVuZEdoY2JpQWdJQ0FnSUNBZ1B5QmtiMk56SUM4dklHaGhjeUJtYVdWc1pITWdiV1ZoYm5NZ2FYUnpJRzV2ZENCbWRXeHNJRzF2WkdWc1hHNGdJQ0FnSUNBZ0lEb2daRzlqY3k1dFlYQW9LR1E2SUdGdWVTa2dQVDRnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlIUm9hWE11WVdSaGNIUmxjaTV5WlhabGNuUW9YRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lHUXNYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11WTJ4aGVub3NYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lGTmxjWFZsYm1ObExuQmhjbk5sVm1Gc2RXVW9kSGx3WlN3Z1pGdHBaRjBwTEZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0IxYm1SbFptbHVaV1FzWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJR04wZUZ4dUlDQWdJQ0FnSUNBZ0lDQWdLVHRjYmlBZ0lDQWdJQ0FnSUNCOUtUdGNiaUFnSUNCamIyNXpkQ0JvWVhOT1pYaDBRbTl2YTIxaGNtc2dQVnh1SUNBZ0lDQWdkR2hwY3k1b1lYTkNiMjlyYldGeWF5aHVaWGgwUW05dmEyMWhjbXNwSUNZbVhHNGdJQ0FnSUNCa2IyTnpMbXhsYm1kMGFDQStJREFnSmlaY2JpQWdJQ0FnSUc1bGVIUkNiMjlyYldGeWF5QWhQVDBnWW05dmEyMWhjbXM3WEc0Z0lDQWdkR2hwY3k1ZlltOXZhMjFoY21zZ1BTQm9ZWE5PWlhoMFFtOXZhMjFoY21zZ1B5QnVaWGgwUW05dmEyMWhjbXNnT2lCMWJtUmxabWx1WldRN1hHNGdJQ0FnYVdZZ0tHaGhjMDVsZUhSQ2IyOXJiV0Z5YXlrZ2UxeHVJQ0FnSUNBZ2RHaHBjeTVmWW05dmEyMWhjbXR6TG5ObGRDaHdZV2RsSUNzZ01Td2dibVY0ZEVKdmIydHRZWEpyS1R0Y2JpQWdJQ0FnSUhSb2FYTXVYM1J2ZEdGc1VHRm5aWE1nUFNCTllYUm9MbTFoZUNoMGFHbHpMbDkwYjNSaGJGQmhaMlZ6SUh4OElEQXNJSEJoWjJVZ0t5QXhLVHRjYmlBZ0lDQjlYRzRnSUNBZ2RHaHBjeTVmWTNWeWNtVnVkRkJoWjJVZ1BTQndZV2RsTzF4dUlDQWdJR2xtSUNnaGFHRnpUbVY0ZEVKdmIydHRZWEpyS1NCN1hHNGdJQ0FnSUNCMGFHbHpMbDlyYm05M2JreGhjM1JRWVdkbElEMGdjR0ZuWlR0Y2JpQWdJQ0FnSUhSb2FYTXVYM1J2ZEdGc1VHRm5aWE1nUFNCd1lXZGxPMXh1SUNBZ0lDQWdkR2hwY3k1ZmNtVmpiM0prUTI5MWJuUWdQU0FvY0dGblpTQXRJREVwSUNvZ2RHaHBjeTV6YVhwbElDc2daRzlqY3k1c1pXNW5kR2c3WEc0Z0lDQWdmVnh1SUNBZ0lISmxkSFZ5YmlCeVpYTjFiSFJ6TzF4dUlDQjlYRzU5WEc0aVhYMD0iXX0=
195
+ //# sourceMappingURL=FabricContractPaginator.js.map
196
+ //# sourceMappingURL=FabricContractPaginator.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contracts/FabricContractPaginator.cjs","sourceRoot":"","sources":["contracts/FabricContractPaginator.js"],"names":[],"mappings":"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"}