@decaf-ts/for-fabric 0.12.5 → 0.12.7

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 (521) hide show
  1. package/dist/for-fabric.cjs +2 -3797
  2. package/dist/for-fabric.cjs.map +1 -0
  3. package/dist/for-fabric.js +2 -3901
  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/FabricClientDispatch.cjs +2 -2
  14. package/lib/cjs/client/FabricClientDispatch.cjs.map +1 -0
  15. package/lib/cjs/client/FabricClientPaginator.cjs +2 -2
  16. package/lib/cjs/client/FabricClientPaginator.cjs.map +1 -0
  17. package/lib/cjs/client/FabricClientRepository.cjs +2 -2
  18. package/lib/cjs/client/FabricClientRepository.cjs.map +1 -0
  19. package/lib/cjs/client/FabricClientStatement.cjs +2 -2
  20. package/lib/cjs/client/FabricClientStatement.cjs.map +1 -0
  21. package/lib/cjs/client/collections/generation.cjs +2 -2
  22. package/lib/cjs/client/collections/generation.cjs.map +1 -0
  23. package/lib/cjs/client/collections/index.cjs +2 -2
  24. package/lib/cjs/client/collections/index.cjs.map +1 -0
  25. package/lib/cjs/client/constants.cjs +2 -2
  26. package/lib/cjs/client/constants.cjs.map +1 -0
  27. package/lib/cjs/client/crypto.cjs +2 -2
  28. package/lib/cjs/client/crypto.cjs.map +1 -0
  29. package/lib/cjs/client/erc20/FabricERC20ClientRepository.cjs +2 -2
  30. package/lib/cjs/client/erc20/FabricERC20ClientRepository.cjs.map +1 -0
  31. package/lib/cjs/client/erc20/index.cjs +2 -2
  32. package/lib/cjs/client/erc20/index.cjs.map +1 -0
  33. package/lib/cjs/client/fabric-fs.cjs +2 -2
  34. package/lib/cjs/client/fabric-fs.cjs.map +1 -0
  35. package/lib/cjs/client/fabric-hsm.cjs +2 -2
  36. package/lib/cjs/client/fabric-hsm.cjs.map +1 -0
  37. package/lib/cjs/client/ids/id-extraction.cjs +2 -2
  38. package/lib/cjs/client/ids/id-extraction.cjs.map +1 -0
  39. package/lib/cjs/client/ids/index.cjs +2 -2
  40. package/lib/cjs/client/ids/index.cjs.map +1 -0
  41. package/lib/cjs/client/index.cjs +2 -2
  42. package/lib/cjs/client/index.cjs.map +1 -0
  43. package/lib/cjs/client/indexes/generation.cjs +2 -2
  44. package/lib/cjs/client/indexes/generation.cjs.map +1 -0
  45. package/lib/cjs/client/indexes/index.cjs +2 -2
  46. package/lib/cjs/client/indexes/index.cjs.map +1 -0
  47. package/lib/cjs/client/logging.cjs +2 -2
  48. package/lib/cjs/client/logging.cjs.map +1 -0
  49. package/lib/cjs/client/services/FabricEnrollmentService.cjs +2 -2
  50. package/lib/cjs/client/services/FabricEnrollmentService.cjs.map +1 -0
  51. package/lib/cjs/client/services/FabricIdentityService.cjs +2 -2
  52. package/lib/cjs/client/services/FabricIdentityService.cjs.map +1 -0
  53. package/lib/cjs/client/services/RegistrationRequestBuilder.cjs +2 -2
  54. package/lib/cjs/client/services/RegistrationRequestBuilder.cjs.map +1 -0
  55. package/lib/cjs/client/services/constants.cjs +2 -2
  56. package/lib/cjs/client/services/constants.cjs.map +1 -0
  57. package/lib/cjs/client/services/index.cjs +2 -2
  58. package/lib/cjs/client/services/index.cjs.map +1 -0
  59. package/lib/cjs/client/types.cjs +2 -2
  60. package/lib/cjs/client/types.cjs.map +1 -0
  61. package/lib/cjs/client/utils.cjs +2 -2
  62. package/lib/cjs/client/utils.cjs.map +1 -0
  63. package/lib/cjs/contract/Address.cjs +2 -2
  64. package/lib/cjs/contract/Address.cjs.map +1 -0
  65. package/lib/cjs/contract/AddressContract.cjs +2 -2
  66. package/lib/cjs/contract/AddressContract.cjs.map +1 -0
  67. package/lib/cjs/contract/AuditContract.cjs +2 -2
  68. package/lib/cjs/contract/AuditContract.cjs.map +1 -0
  69. package/lib/cjs/contract/BatchContract.cjs +2 -2
  70. package/lib/cjs/contract/BatchContract.cjs.map +1 -0
  71. package/lib/cjs/contract/MarketContract.cjs +2 -2
  72. package/lib/cjs/contract/MarketContract.cjs.map +1 -0
  73. package/lib/cjs/contract/OtherAuditContract.cjs +2 -2
  74. package/lib/cjs/contract/OtherAuditContract.cjs.map +1 -0
  75. package/lib/cjs/contract/OtherBatchContract.cjs +2 -2
  76. package/lib/cjs/contract/OtherBatchContract.cjs.map +1 -0
  77. package/lib/cjs/contract/OtherMarketContract.cjs +2 -2
  78. package/lib/cjs/contract/OtherMarketContract.cjs.map +1 -0
  79. package/lib/cjs/contract/OtherProductContract.cjs +2 -2
  80. package/lib/cjs/contract/OtherProductContract.cjs.map +1 -0
  81. package/lib/cjs/contract/OtherProductImageContract.cjs +2 -2
  82. package/lib/cjs/contract/OtherProductImageContract.cjs.map +1 -0
  83. package/lib/cjs/contract/OtherProductSharedContract.cjs +2 -2
  84. package/lib/cjs/contract/OtherProductSharedContract.cjs.map +1 -0
  85. package/lib/cjs/contract/OtherProductStrengthContract.cjs +2 -2
  86. package/lib/cjs/contract/OtherProductStrengthContract.cjs.map +1 -0
  87. package/lib/cjs/contract/Product.cjs +2 -2
  88. package/lib/cjs/contract/Product.cjs.map +1 -0
  89. package/lib/cjs/contract/ProductContract.cjs +2 -2
  90. package/lib/cjs/contract/ProductContract.cjs.map +1 -0
  91. package/lib/cjs/contract/ProductStrengthContract.cjs +2 -2
  92. package/lib/cjs/contract/ProductStrengthContract.cjs.map +1 -0
  93. package/lib/cjs/contract/SegregatedPrivateDocumentContract.cjs +2 -2
  94. package/lib/cjs/contract/SegregatedPrivateDocumentContract.cjs.map +1 -0
  95. package/lib/cjs/contract/SegregatedSharedDocumentContract.cjs +2 -2
  96. package/lib/cjs/contract/SegregatedSharedDocumentContract.cjs.map +1 -0
  97. package/lib/cjs/contract/User.cjs +2 -2
  98. package/lib/cjs/contract/User.cjs.map +1 -0
  99. package/lib/cjs/contract/UserContract.cjs +2 -2
  100. package/lib/cjs/contract/UserContract.cjs.map +1 -0
  101. package/lib/cjs/contract/index.cjs +3 -2
  102. package/lib/cjs/contract/index.cjs.map +1 -0
  103. package/lib/cjs/contract/logging-context.cjs +2 -2
  104. package/lib/cjs/contract/logging-context.cjs.map +1 -0
  105. package/lib/cjs/contract/models/Audit.cjs +2 -2
  106. package/lib/cjs/contract/models/Audit.cjs.map +1 -0
  107. package/lib/cjs/contract/models/BaseIdentifiedModel.cjs +2 -2
  108. package/lib/cjs/contract/models/BaseIdentifiedModel.cjs.map +1 -0
  109. package/lib/cjs/contract/models/BaseModel.cjs +2 -2
  110. package/lib/cjs/contract/models/BaseModel.cjs.map +1 -0
  111. package/lib/cjs/contract/models/Batch.cjs +2 -2
  112. package/lib/cjs/contract/models/Batch.cjs.map +1 -0
  113. package/lib/cjs/contract/models/GtinOwner.cjs +2 -2
  114. package/lib/cjs/contract/models/GtinOwner.cjs.map +1 -0
  115. package/lib/cjs/contract/models/History.cjs +2 -2
  116. package/lib/cjs/contract/models/History.cjs.map +1 -0
  117. package/lib/cjs/contract/models/Leaflet.cjs +2 -2
  118. package/lib/cjs/contract/models/Leaflet.cjs.map +1 -0
  119. package/lib/cjs/contract/models/LeafletFile.cjs +2 -2
  120. package/lib/cjs/contract/models/LeafletFile.cjs.map +1 -0
  121. package/lib/cjs/contract/models/Market.cjs +2 -2
  122. package/lib/cjs/contract/models/Market.cjs.map +1 -0
  123. package/lib/cjs/contract/models/OtherAudit.cjs +2 -2
  124. package/lib/cjs/contract/models/OtherAudit.cjs.map +1 -0
  125. package/lib/cjs/contract/models/OtherBatchShared.cjs +2 -2
  126. package/lib/cjs/contract/models/OtherBatchShared.cjs.map +1 -0
  127. package/lib/cjs/contract/models/OtherLeaflet.cjs +2 -2
  128. package/lib/cjs/contract/models/OtherLeaflet.cjs.map +1 -0
  129. package/lib/cjs/contract/models/OtherLeafletFile.cjs +2 -2
  130. package/lib/cjs/contract/models/OtherLeafletFile.cjs.map +1 -0
  131. package/lib/cjs/contract/models/OtherMarket.cjs +2 -2
  132. package/lib/cjs/contract/models/OtherMarket.cjs.map +1 -0
  133. package/lib/cjs/contract/models/OtherProduct.cjs +2 -2
  134. package/lib/cjs/contract/models/OtherProduct.cjs.map +1 -0
  135. package/lib/cjs/contract/models/OtherProductImage.cjs +2 -2
  136. package/lib/cjs/contract/models/OtherProductImage.cjs.map +1 -0
  137. package/lib/cjs/contract/models/OtherProductShared.cjs +2 -2
  138. package/lib/cjs/contract/models/OtherProductShared.cjs.map +1 -0
  139. package/lib/cjs/contract/models/OtherProductStrength.cjs +2 -2
  140. package/lib/cjs/contract/models/OtherProductStrength.cjs.map +1 -0
  141. package/lib/cjs/contract/models/Product.cjs +2 -2
  142. package/lib/cjs/contract/models/Product.cjs.map +1 -0
  143. package/lib/cjs/contract/models/ProductStrength.cjs +2 -2
  144. package/lib/cjs/contract/models/ProductStrength.cjs.map +1 -0
  145. package/lib/cjs/contract/models/SegregatedDocument.cjs +2 -2
  146. package/lib/cjs/contract/models/SegregatedDocument.cjs.map +1 -0
  147. package/lib/cjs/contract/models/constants.cjs +2 -2
  148. package/lib/cjs/contract/models/constants.cjs.map +1 -0
  149. package/lib/cjs/contract/models/decorators-private.cjs +2 -2
  150. package/lib/cjs/contract/models/decorators-private.cjs.map +1 -0
  151. package/lib/cjs/contract/models/decorators.cjs +2 -2
  152. package/lib/cjs/contract/models/decorators.cjs.map +1 -0
  153. package/lib/cjs/contract/models/gtin.cjs +2 -2
  154. package/lib/cjs/contract/models/gtin.cjs.map +1 -0
  155. package/lib/cjs/contract/models/history-dec.cjs +2 -2
  156. package/lib/cjs/contract/models/history-dec.cjs.map +1 -0
  157. package/lib/cjs/contracts/ContractAdapter.cjs +2 -2
  158. package/lib/cjs/contracts/ContractAdapter.cjs.map +1 -0
  159. package/lib/cjs/contracts/ContractContext.cjs +2 -2
  160. package/lib/cjs/contracts/ContractContext.cjs.map +1 -0
  161. package/lib/cjs/contracts/FabricContractDispatch.cjs +2 -2
  162. package/lib/cjs/contracts/FabricContractDispatch.cjs.map +1 -0
  163. package/lib/cjs/contracts/FabricContractPaginator.cjs +2 -2
  164. package/lib/cjs/contracts/FabricContractPaginator.cjs.map +1 -0
  165. package/lib/cjs/contracts/FabricContractRepository.cjs +2 -2
  166. package/lib/cjs/contracts/FabricContractRepository.cjs.map +1 -0
  167. package/lib/cjs/contracts/FabricContractRepositoryObservableHandler.cjs +2 -2
  168. package/lib/cjs/contracts/FabricContractRepositoryObservableHandler.cjs.map +1 -0
  169. package/lib/cjs/contracts/FabricContractSequence.cjs +2 -2
  170. package/lib/cjs/contracts/FabricContractSequence.cjs.map +1 -0
  171. package/lib/cjs/contracts/FabricContractStatement.cjs +2 -2
  172. package/lib/cjs/contracts/FabricContractStatement.cjs.map +1 -0
  173. package/lib/cjs/contracts/MigrationContract.cjs +2 -2
  174. package/lib/cjs/contracts/MigrationContract.cjs.map +1 -0
  175. package/lib/cjs/contracts/PrivateSequence.cjs +2 -2
  176. package/lib/cjs/contracts/PrivateSequence.cjs.map +1 -0
  177. package/lib/cjs/contracts/auth/decorators.cjs +2 -2
  178. package/lib/cjs/contracts/auth/decorators.cjs.map +1 -0
  179. package/lib/cjs/contracts/auth/index.cjs +2 -2
  180. package/lib/cjs/contracts/auth/index.cjs.map +1 -0
  181. package/lib/cjs/contracts/bootstrap.cjs +14 -0
  182. package/lib/cjs/contracts/bootstrap.cjs.map +1 -0
  183. package/lib/cjs/contracts/crud/crud-contract.cjs +3 -2
  184. package/lib/cjs/contracts/crud/crud-contract.cjs.map +1 -0
  185. package/lib/cjs/contracts/crud/index.cjs +2 -2
  186. package/lib/cjs/contracts/crud/index.cjs.map +1 -0
  187. package/lib/cjs/contracts/crud/serialized-crud-contract.cjs +2 -2
  188. package/lib/cjs/contracts/crud/serialized-crud-contract.cjs.map +1 -0
  189. package/lib/cjs/contracts/erc20/erc20contract.cjs +2 -2
  190. package/lib/cjs/contracts/erc20/erc20contract.cjs.map +1 -0
  191. package/lib/cjs/contracts/erc20/index.cjs +2 -2
  192. package/lib/cjs/contracts/erc20/index.cjs.map +1 -0
  193. package/lib/cjs/contracts/erc20/models.cjs +2 -2
  194. package/lib/cjs/contracts/erc20/models.cjs.map +1 -0
  195. package/lib/cjs/contracts/fabric-overrides.cjs +65 -0
  196. package/lib/cjs/contracts/fabric-overrides.cjs.map +1 -0
  197. package/lib/cjs/contracts/index.cjs +3 -2
  198. package/lib/cjs/contracts/index.cjs.map +1 -0
  199. package/lib/cjs/contracts/logging.cjs +2 -2
  200. package/lib/cjs/contracts/logging.cjs.map +1 -0
  201. package/lib/cjs/contracts/overrides.cjs +2 -2
  202. package/lib/cjs/contracts/overrides.cjs.map +1 -0
  203. package/lib/cjs/contracts/types.cjs +2 -2
  204. package/lib/cjs/contracts/types.cjs.map +1 -0
  205. package/lib/cjs/contracts/uuid.cjs +2 -2
  206. package/lib/cjs/contracts/uuid.cjs.map +1 -0
  207. package/lib/cjs/index.cjs +2 -2
  208. package/lib/cjs/index.cjs.map +1 -0
  209. package/lib/cjs/shared/ClientSerializer.cjs +2 -2
  210. package/lib/cjs/shared/ClientSerializer.cjs.map +1 -0
  211. package/lib/cjs/shared/DeterministicSerializer.cjs +2 -2
  212. package/lib/cjs/shared/DeterministicSerializer.cjs.map +1 -0
  213. package/lib/cjs/shared/SimpleDeterministicSerializer.cjs +2 -2
  214. package/lib/cjs/shared/SimpleDeterministicSerializer.cjs.map +1 -0
  215. package/lib/cjs/shared/constants.cjs +2 -2
  216. package/lib/cjs/shared/constants.cjs.map +1 -0
  217. package/lib/cjs/shared/decorators.cjs +2 -2
  218. package/lib/cjs/shared/decorators.cjs.map +1 -0
  219. package/lib/cjs/shared/erc20/erc20-constants.cjs +2 -2
  220. package/lib/cjs/shared/erc20/erc20-constants.cjs.map +1 -0
  221. package/lib/cjs/shared/erc20/index.cjs +2 -2
  222. package/lib/cjs/shared/erc20/index.cjs.map +1 -0
  223. package/lib/cjs/shared/errors.cjs +2 -2
  224. package/lib/cjs/shared/errors.cjs.map +1 -0
  225. package/lib/cjs/shared/events.cjs +2 -2
  226. package/lib/cjs/shared/events.cjs.map +1 -0
  227. package/lib/cjs/shared/fabric-types.cjs +2 -2
  228. package/lib/cjs/shared/fabric-types.cjs.map +1 -0
  229. package/lib/cjs/shared/index.cjs +2 -2
  230. package/lib/cjs/shared/index.cjs.map +1 -0
  231. package/lib/cjs/shared/interfaces/Checkable.cjs +2 -2
  232. package/lib/cjs/shared/interfaces/Checkable.cjs.map +1 -0
  233. package/lib/cjs/shared/interfaces/index.cjs +2 -2
  234. package/lib/cjs/shared/interfaces/index.cjs.map +1 -0
  235. package/lib/cjs/shared/math.cjs +2 -2
  236. package/lib/cjs/shared/math.cjs.map +1 -0
  237. package/lib/cjs/shared/model/FabricBaseModel.cjs +2 -2
  238. package/lib/cjs/shared/model/FabricBaseModel.cjs.map +1 -0
  239. package/lib/cjs/shared/model/FabricIdentifiedBaseModel.cjs +2 -2
  240. package/lib/cjs/shared/model/FabricIdentifiedBaseModel.cjs.map +1 -0
  241. package/lib/cjs/shared/model/Identity.cjs +2 -2
  242. package/lib/cjs/shared/model/Identity.cjs.map +1 -0
  243. package/lib/cjs/shared/model/IdentityCredentials.cjs +2 -2
  244. package/lib/cjs/shared/model/IdentityCredentials.cjs.map +1 -0
  245. package/lib/cjs/shared/model/index.cjs +2 -2
  246. package/lib/cjs/shared/model/index.cjs.map +1 -0
  247. package/lib/cjs/shared/overrides/Model.cjs +2 -2
  248. package/lib/cjs/shared/overrides/Model.cjs.map +1 -0
  249. package/lib/cjs/shared/overrides/index.cjs +2 -2
  250. package/lib/cjs/shared/overrides/index.cjs.map +1 -0
  251. package/lib/cjs/shared/overrides/overrides.cjs +2 -2
  252. package/lib/cjs/shared/overrides/overrides.cjs.map +1 -0
  253. package/lib/cjs/shared/types.cjs +2 -2
  254. package/lib/cjs/shared/types.cjs.map +1 -0
  255. package/lib/cjs/version.cjs +3 -3
  256. package/lib/cjs/version.cjs.map +1 -0
  257. package/lib/esm/bin/cli.js +1 -1
  258. package/lib/esm/bin/cli.js.map +1 -0
  259. package/lib/esm/cli-module.js +1 -1
  260. package/lib/esm/cli-module.js.map +1 -0
  261. package/lib/esm/cli-utils.js +1 -1
  262. package/lib/esm/cli-utils.js.map +1 -0
  263. package/lib/esm/client/FabricClientAdapter.js +1 -1
  264. package/lib/esm/client/FabricClientAdapter.js.map +1 -0
  265. package/lib/esm/client/FabricClientDispatch.js +1 -1
  266. package/lib/esm/client/FabricClientDispatch.js.map +1 -0
  267. package/lib/esm/client/FabricClientPaginator.js +1 -1
  268. package/lib/esm/client/FabricClientPaginator.js.map +1 -0
  269. package/lib/esm/client/FabricClientRepository.js +1 -1
  270. package/lib/esm/client/FabricClientRepository.js.map +1 -0
  271. package/lib/esm/client/FabricClientStatement.js +1 -1
  272. package/lib/esm/client/FabricClientStatement.js.map +1 -0
  273. package/lib/esm/client/collections/generation.js +1 -1
  274. package/lib/esm/client/collections/generation.js.map +1 -0
  275. package/lib/esm/client/collections/index.js +1 -1
  276. package/lib/esm/client/collections/index.js.map +1 -0
  277. package/lib/esm/client/constants.js +1 -1
  278. package/lib/esm/client/constants.js.map +1 -0
  279. package/lib/esm/client/crypto.js +1 -1
  280. package/lib/esm/client/crypto.js.map +1 -0
  281. package/lib/esm/client/erc20/FabricERC20ClientRepository.js +1 -1
  282. package/lib/esm/client/erc20/FabricERC20ClientRepository.js.map +1 -0
  283. package/lib/esm/client/erc20/index.js +1 -1
  284. package/lib/esm/client/erc20/index.js.map +1 -0
  285. package/lib/esm/client/fabric-fs.js +1 -1
  286. package/lib/esm/client/fabric-fs.js.map +1 -0
  287. package/lib/esm/client/fabric-hsm.js +1 -1
  288. package/lib/esm/client/fabric-hsm.js.map +1 -0
  289. package/lib/esm/client/ids/id-extraction.js +1 -1
  290. package/lib/esm/client/ids/id-extraction.js.map +1 -0
  291. package/lib/esm/client/ids/index.js +1 -1
  292. package/lib/esm/client/ids/index.js.map +1 -0
  293. package/lib/esm/client/index.js +1 -1
  294. package/lib/esm/client/index.js.map +1 -0
  295. package/lib/esm/client/indexes/generation.js +1 -1
  296. package/lib/esm/client/indexes/generation.js.map +1 -0
  297. package/lib/esm/client/indexes/index.js +1 -1
  298. package/lib/esm/client/indexes/index.js.map +1 -0
  299. package/lib/esm/client/logging.js +1 -1
  300. package/lib/esm/client/logging.js.map +1 -0
  301. package/lib/esm/client/services/FabricEnrollmentService.js +1 -1
  302. package/lib/esm/client/services/FabricEnrollmentService.js.map +1 -0
  303. package/lib/esm/client/services/FabricIdentityService.js +1 -1
  304. package/lib/esm/client/services/FabricIdentityService.js.map +1 -0
  305. package/lib/esm/client/services/RegistrationRequestBuilder.js +1 -1
  306. package/lib/esm/client/services/RegistrationRequestBuilder.js.map +1 -0
  307. package/lib/esm/client/services/constants.js +1 -1
  308. package/lib/esm/client/services/constants.js.map +1 -0
  309. package/lib/esm/client/services/index.js +1 -1
  310. package/lib/esm/client/services/index.js.map +1 -0
  311. package/lib/esm/client/types.js +1 -1
  312. package/lib/esm/client/types.js.map +1 -0
  313. package/lib/esm/client/utils.js +1 -1
  314. package/lib/esm/client/utils.js.map +1 -0
  315. package/lib/esm/contract/Address.js +1 -1
  316. package/lib/esm/contract/Address.js.map +1 -0
  317. package/lib/esm/contract/AddressContract.js +1 -1
  318. package/lib/esm/contract/AddressContract.js.map +1 -0
  319. package/lib/esm/contract/AuditContract.js +1 -1
  320. package/lib/esm/contract/AuditContract.js.map +1 -0
  321. package/lib/esm/contract/BatchContract.js +1 -1
  322. package/lib/esm/contract/BatchContract.js.map +1 -0
  323. package/lib/esm/contract/MarketContract.js +1 -1
  324. package/lib/esm/contract/MarketContract.js.map +1 -0
  325. package/lib/esm/contract/OtherAuditContract.js +1 -1
  326. package/lib/esm/contract/OtherAuditContract.js.map +1 -0
  327. package/lib/esm/contract/OtherBatchContract.js +1 -1
  328. package/lib/esm/contract/OtherBatchContract.js.map +1 -0
  329. package/lib/esm/contract/OtherMarketContract.js +1 -1
  330. package/lib/esm/contract/OtherMarketContract.js.map +1 -0
  331. package/lib/esm/contract/OtherProductContract.js +1 -1
  332. package/lib/esm/contract/OtherProductContract.js.map +1 -0
  333. package/lib/esm/contract/OtherProductImageContract.js +1 -1
  334. package/lib/esm/contract/OtherProductImageContract.js.map +1 -0
  335. package/lib/esm/contract/OtherProductSharedContract.js +1 -1
  336. package/lib/esm/contract/OtherProductSharedContract.js.map +1 -0
  337. package/lib/esm/contract/OtherProductStrengthContract.js +1 -1
  338. package/lib/esm/contract/OtherProductStrengthContract.js.map +1 -0
  339. package/lib/esm/contract/Product.js +1 -1
  340. package/lib/esm/contract/Product.js.map +1 -0
  341. package/lib/esm/contract/ProductContract.js +1 -1
  342. package/lib/esm/contract/ProductContract.js.map +1 -0
  343. package/lib/esm/contract/ProductStrengthContract.js +1 -1
  344. package/lib/esm/contract/ProductStrengthContract.js.map +1 -0
  345. package/lib/esm/contract/SegregatedPrivateDocumentContract.js +1 -1
  346. package/lib/esm/contract/SegregatedPrivateDocumentContract.js.map +1 -0
  347. package/lib/esm/contract/SegregatedSharedDocumentContract.js +1 -1
  348. package/lib/esm/contract/SegregatedSharedDocumentContract.js.map +1 -0
  349. package/lib/esm/contract/User.js +1 -1
  350. package/lib/esm/contract/User.js.map +1 -0
  351. package/lib/esm/contract/UserContract.js +1 -1
  352. package/lib/esm/contract/UserContract.js.map +1 -0
  353. package/lib/esm/contract/index.js +2 -1
  354. package/lib/esm/contract/index.js.map +1 -0
  355. package/lib/esm/contract/logging-context.js +1 -1
  356. package/lib/esm/contract/logging-context.js.map +1 -0
  357. package/lib/esm/contract/models/Audit.js +1 -1
  358. package/lib/esm/contract/models/Audit.js.map +1 -0
  359. package/lib/esm/contract/models/BaseIdentifiedModel.js +1 -1
  360. package/lib/esm/contract/models/BaseIdentifiedModel.js.map +1 -0
  361. package/lib/esm/contract/models/BaseModel.js +1 -1
  362. package/lib/esm/contract/models/BaseModel.js.map +1 -0
  363. package/lib/esm/contract/models/Batch.js +1 -1
  364. package/lib/esm/contract/models/Batch.js.map +1 -0
  365. package/lib/esm/contract/models/GtinOwner.js +1 -1
  366. package/lib/esm/contract/models/GtinOwner.js.map +1 -0
  367. package/lib/esm/contract/models/History.js +1 -1
  368. package/lib/esm/contract/models/History.js.map +1 -0
  369. package/lib/esm/contract/models/Leaflet.js +1 -1
  370. package/lib/esm/contract/models/Leaflet.js.map +1 -0
  371. package/lib/esm/contract/models/LeafletFile.js +1 -1
  372. package/lib/esm/contract/models/LeafletFile.js.map +1 -0
  373. package/lib/esm/contract/models/Market.js +1 -1
  374. package/lib/esm/contract/models/Market.js.map +1 -0
  375. package/lib/esm/contract/models/OtherAudit.js +1 -1
  376. package/lib/esm/contract/models/OtherAudit.js.map +1 -0
  377. package/lib/esm/contract/models/OtherBatchShared.js +1 -1
  378. package/lib/esm/contract/models/OtherBatchShared.js.map +1 -0
  379. package/lib/esm/contract/models/OtherLeaflet.js +1 -1
  380. package/lib/esm/contract/models/OtherLeaflet.js.map +1 -0
  381. package/lib/esm/contract/models/OtherLeafletFile.js +1 -1
  382. package/lib/esm/contract/models/OtherLeafletFile.js.map +1 -0
  383. package/lib/esm/contract/models/OtherMarket.js +1 -1
  384. package/lib/esm/contract/models/OtherMarket.js.map +1 -0
  385. package/lib/esm/contract/models/OtherProduct.js +1 -1
  386. package/lib/esm/contract/models/OtherProduct.js.map +1 -0
  387. package/lib/esm/contract/models/OtherProductImage.js +1 -1
  388. package/lib/esm/contract/models/OtherProductImage.js.map +1 -0
  389. package/lib/esm/contract/models/OtherProductShared.js +1 -1
  390. package/lib/esm/contract/models/OtherProductShared.js.map +1 -0
  391. package/lib/esm/contract/models/OtherProductStrength.js +1 -1
  392. package/lib/esm/contract/models/OtherProductStrength.js.map +1 -0
  393. package/lib/esm/contract/models/Product.js +1 -1
  394. package/lib/esm/contract/models/Product.js.map +1 -0
  395. package/lib/esm/contract/models/ProductStrength.js +1 -1
  396. package/lib/esm/contract/models/ProductStrength.js.map +1 -0
  397. package/lib/esm/contract/models/SegregatedDocument.js +1 -1
  398. package/lib/esm/contract/models/SegregatedDocument.js.map +1 -0
  399. package/lib/esm/contract/models/constants.js +1 -1
  400. package/lib/esm/contract/models/constants.js.map +1 -0
  401. package/lib/esm/contract/models/decorators-private.js +1 -1
  402. package/lib/esm/contract/models/decorators-private.js.map +1 -0
  403. package/lib/esm/contract/models/decorators.js +1 -1
  404. package/lib/esm/contract/models/decorators.js.map +1 -0
  405. package/lib/esm/contract/models/gtin.js +1 -1
  406. package/lib/esm/contract/models/gtin.js.map +1 -0
  407. package/lib/esm/contract/models/history-dec.js +1 -1
  408. package/lib/esm/contract/models/history-dec.js.map +1 -0
  409. package/lib/esm/contracts/ContractAdapter.js +1 -1
  410. package/lib/esm/contracts/ContractAdapter.js.map +1 -0
  411. package/lib/esm/contracts/ContractContext.js +1 -1
  412. package/lib/esm/contracts/ContractContext.js.map +1 -0
  413. package/lib/esm/contracts/FabricContractDispatch.js +1 -1
  414. package/lib/esm/contracts/FabricContractDispatch.js.map +1 -0
  415. package/lib/esm/contracts/FabricContractPaginator.js +1 -1
  416. package/lib/esm/contracts/FabricContractPaginator.js.map +1 -0
  417. package/lib/esm/contracts/FabricContractRepository.js +1 -1
  418. package/lib/esm/contracts/FabricContractRepository.js.map +1 -0
  419. package/lib/esm/contracts/FabricContractRepositoryObservableHandler.js +1 -1
  420. package/lib/esm/contracts/FabricContractRepositoryObservableHandler.js.map +1 -0
  421. package/lib/esm/contracts/FabricContractSequence.js +1 -1
  422. package/lib/esm/contracts/FabricContractSequence.js.map +1 -0
  423. package/lib/esm/contracts/FabricContractStatement.js +1 -1
  424. package/lib/esm/contracts/FabricContractStatement.js.map +1 -0
  425. package/lib/esm/contracts/MigrationContract.js +1 -1
  426. package/lib/esm/contracts/MigrationContract.js.map +1 -0
  427. package/lib/esm/contracts/PrivateSequence.js +1 -1
  428. package/lib/esm/contracts/PrivateSequence.js.map +1 -0
  429. package/lib/esm/contracts/auth/decorators.js +1 -1
  430. package/lib/esm/contracts/auth/decorators.js.map +1 -0
  431. package/lib/esm/contracts/auth/index.js +1 -1
  432. package/lib/esm/contracts/auth/index.js.map +1 -0
  433. package/lib/esm/contracts/bootstrap.js +11 -0
  434. package/lib/esm/contracts/bootstrap.js.map +1 -0
  435. package/lib/esm/contracts/crud/crud-contract.js +2 -1
  436. package/lib/esm/contracts/crud/crud-contract.js.map +1 -0
  437. package/lib/esm/contracts/crud/index.js +1 -1
  438. package/lib/esm/contracts/crud/index.js.map +1 -0
  439. package/lib/esm/contracts/crud/serialized-crud-contract.js +1 -1
  440. package/lib/esm/contracts/crud/serialized-crud-contract.js.map +1 -0
  441. package/lib/esm/contracts/erc20/erc20contract.js +1 -1
  442. package/lib/esm/contracts/erc20/erc20contract.js.map +1 -0
  443. package/lib/esm/contracts/erc20/index.js +1 -1
  444. package/lib/esm/contracts/erc20/index.js.map +1 -0
  445. package/lib/esm/contracts/erc20/models.js +1 -1
  446. package/lib/esm/contracts/erc20/models.js.map +1 -0
  447. package/lib/esm/contracts/fabric-overrides.js +61 -0
  448. package/lib/esm/contracts/fabric-overrides.js.map +1 -0
  449. package/lib/esm/contracts/index.js +2 -1
  450. package/lib/esm/contracts/index.js.map +1 -0
  451. package/lib/esm/contracts/logging.js +1 -1
  452. package/lib/esm/contracts/logging.js.map +1 -0
  453. package/lib/esm/contracts/overrides.js +1 -1
  454. package/lib/esm/contracts/overrides.js.map +1 -0
  455. package/lib/esm/contracts/types.js +1 -1
  456. package/lib/esm/contracts/types.js.map +1 -0
  457. package/lib/esm/contracts/uuid.js +1 -1
  458. package/lib/esm/contracts/uuid.js.map +1 -0
  459. package/lib/esm/index.js +1 -1
  460. package/lib/esm/index.js.map +1 -0
  461. package/lib/esm/shared/ClientSerializer.js +1 -1
  462. package/lib/esm/shared/ClientSerializer.js.map +1 -0
  463. package/lib/esm/shared/DeterministicSerializer.js +1 -1
  464. package/lib/esm/shared/DeterministicSerializer.js.map +1 -0
  465. package/lib/esm/shared/SimpleDeterministicSerializer.js +1 -1
  466. package/lib/esm/shared/SimpleDeterministicSerializer.js.map +1 -0
  467. package/lib/esm/shared/constants.js +1 -1
  468. package/lib/esm/shared/constants.js.map +1 -0
  469. package/lib/esm/shared/decorators.js +1 -1
  470. package/lib/esm/shared/decorators.js.map +1 -0
  471. package/lib/esm/shared/erc20/erc20-constants.js +1 -1
  472. package/lib/esm/shared/erc20/erc20-constants.js.map +1 -0
  473. package/lib/esm/shared/erc20/index.js +1 -1
  474. package/lib/esm/shared/erc20/index.js.map +1 -0
  475. package/lib/esm/shared/errors.js +1 -1
  476. package/lib/esm/shared/errors.js.map +1 -0
  477. package/lib/esm/shared/events.js +1 -1
  478. package/lib/esm/shared/events.js.map +1 -0
  479. package/lib/esm/shared/fabric-types.js +1 -1
  480. package/lib/esm/shared/fabric-types.js.map +1 -0
  481. package/lib/esm/shared/index.js +1 -1
  482. package/lib/esm/shared/index.js.map +1 -0
  483. package/lib/esm/shared/interfaces/Checkable.js +1 -1
  484. package/lib/esm/shared/interfaces/Checkable.js.map +1 -0
  485. package/lib/esm/shared/interfaces/index.js +1 -1
  486. package/lib/esm/shared/interfaces/index.js.map +1 -0
  487. package/lib/esm/shared/math.js +1 -1
  488. package/lib/esm/shared/math.js.map +1 -0
  489. package/lib/esm/shared/model/FabricBaseModel.js +1 -1
  490. package/lib/esm/shared/model/FabricBaseModel.js.map +1 -0
  491. package/lib/esm/shared/model/FabricIdentifiedBaseModel.js +1 -1
  492. package/lib/esm/shared/model/FabricIdentifiedBaseModel.js.map +1 -0
  493. package/lib/esm/shared/model/Identity.js +1 -1
  494. package/lib/esm/shared/model/Identity.js.map +1 -0
  495. package/lib/esm/shared/model/IdentityCredentials.js +1 -1
  496. package/lib/esm/shared/model/IdentityCredentials.js.map +1 -0
  497. package/lib/esm/shared/model/index.js +1 -1
  498. package/lib/esm/shared/model/index.js.map +1 -0
  499. package/lib/esm/shared/overrides/Model.js +1 -1
  500. package/lib/esm/shared/overrides/Model.js.map +1 -0
  501. package/lib/esm/shared/overrides/index.js +1 -1
  502. package/lib/esm/shared/overrides/index.js.map +1 -0
  503. package/lib/esm/shared/overrides/overrides.js +1 -1
  504. package/lib/esm/shared/overrides/overrides.js.map +1 -0
  505. package/lib/esm/shared/types.js +1 -1
  506. package/lib/esm/shared/types.js.map +1 -0
  507. package/lib/esm/version.js +2 -2
  508. package/lib/esm/version.js.map +1 -0
  509. package/lib/types/contract/index.d.cts +1 -0
  510. package/lib/types/contract/index.d.mts +1 -0
  511. package/lib/types/contracts/bootstrap.d.cts +10 -0
  512. package/lib/types/contracts/bootstrap.d.mts +10 -0
  513. package/lib/types/contracts/crud/crud-contract.d.cts +1 -0
  514. package/lib/types/contracts/crud/crud-contract.d.mts +1 -0
  515. package/lib/types/contracts/fabric-overrides.d.cts +1 -0
  516. package/lib/types/contracts/fabric-overrides.d.mts +1 -0
  517. package/lib/types/contracts/index.d.cts +1 -0
  518. package/lib/types/contracts/index.d.mts +1 -0
  519. package/lib/types/version.d.cts +1 -1
  520. package/lib/types/version.d.mts +1 -1
  521. package/package.json +16 -1
@@ -321,5 +321,5 @@ class FabricIdentityService extends core_1.ClientBasedService {
321
321
  }
322
322
  }
323
323
  exports.FabricIdentityService = FabricIdentityService;
324
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRmFicmljSWRlbnRpdHlTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NsaWVudC9zZXJ2aWNlcy9GYWJyaWNJZGVudGl0eVNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLGtCQUFrQixFQUNsQixrQkFBa0IsRUFDbEIsT0FBTyxFQUVQLGVBQWUsR0FDaEIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLGdCQVVOLE1BQU0sa0JBQWtCLENBQUM7QUFFMUIsT0FBTyxFQUNMLGFBQWEsRUFDYixhQUFhLEVBQ2IsYUFBYSxFQUNiLGFBQWEsR0FDZCxNQUFNLHlCQUF5QixDQUFDO0FBQ2pDLE9BQU8sRUFBRSxTQUFTLEVBQUUsdUJBQXVCLEVBQUUsc0JBQWlCO0FBTzlELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGlDQUE0QjtBQUd4RCxPQUFPLEVBQUUsUUFBUSxFQUFFLGdDQUEyQjtBQUM5QyxPQUFPLEVBQUUsV0FBVyxFQUFFLHVCQUFrQjtBQUV4QyxNQUFNLE9BQU8scUJBQXNCLFNBQVEsa0JBRzFDO0lBR0M7UUFDRSxLQUFLLEVBQUUsQ0FBQztJQUNWLENBQUM7SUFFRCxJQUFjLFVBQVU7UUFDdEIsT0FBUSxJQUFJLENBQUMsTUFBYyxDQUFDLG1CQUFtQixDQUFRLENBQUM7SUFDMUQsQ0FBQztJQUVELElBQWMsSUFBSTtRQUNoQixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUs7WUFDYixNQUFNLElBQUksYUFBYSxDQUNyQiwwREFBMEQsQ0FDM0QsQ0FBQztRQUNKLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBRUQsSUFBYyxZQUFZO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO0lBQ2pELENBQUM7SUFFRCxJQUFjLFlBQVk7UUFDeEIs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QUUsQ0FBQyxDQUFDO1FBQ3BFLE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUMvQyxJQUFJLENBQUMsUUFBUTtZQUNYLE1BQU0sSUFBSSxhQUFhLENBQ3JCLHFDQUFxQyxZQUFZLEVBQUUsQ0FDcEQsQ0FBQztRQUNKLElBQUksTUFBd0IsQ0FBQztRQUM3QixJQUFJLENBQUM7WUFDSCxNQUFNLE1BQU0sR0FDVixPQUFPLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxJQUFJLE9BQU8sQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDO2dCQUN6RCxDQUFDLENBQUMseUJBQXlCO2dCQUMzQixDQUFDLENBQUMsZUFBZSxDQUFDO1lBRXRCLE1BQU0sYUFBYSxHQUFtQjtnQkFDcEMsTUFBTTtnQkFDTixHQUFHLGFBQWE7Z0JBQ2hCLFlBQVksRUFBRSxRQUFRLENBQUMsRUFBRTthQUMxQixDQUFDO1lBRUYsTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM5RCxDQUFDO1FBQUMsT0FBTyxDQUFVLEVBQUUsQ0FBQztZQUNwQixNQUFNLElBQUksYUFBYSxDQUNyQix1Q0FBdUMsWUFBWSxLQUFLLENBQUMsRUFBRSxDQUM1RCxDQUFDO1FBQ0osQ0FBQztRQUNELElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTztZQUNqQixNQUFNLElBQUksYUFBYSxDQUNyQix1Q0FBdUMsWUFBWSxLQUFLLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQ25GLENBQUM7UUFDSixPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBdXRob3JpemF0aW9uRXJyb3IsXG4gIENsaWVudEJhc2VkU2VydmljZSxcbiAgQ29udGV4dCxcbiAgTWF5YmVDb250ZXh0dWFsQXJnLFxuICBQZXJzaXN0ZW5jZUtleXMsXG59IGZyb20gXCJAZGVjYWYtdHMvY29yZVwiO1xuaW1wb3J0IEZhYnJpY0NBU2VydmljZXMsIHtcbiAgQWZmaWxpYXRpb25TZXJ2aWNlLFxuICBJQXR0cmlidXRlUmVxdWVzdCxcbiAgSWRlbnRpdHlTZXJ2aWNlLFxuICBJRW5yb2xsUmVzcG9uc2UsXG4gIElJZGVudGl0eVJlcXVlc3QsXG4gIElSZWdpc3RlclJlcXVlc3QsXG4gIElSZXZva2VSZXF1ZXN0LFxuICBJU2VydmljZVJlc3BvbnNlLFxuICBUTFNPcHRpb25zLFxufSBmcm9tIFwiZmFicmljLWNhLWNsaWVudFwiO1xuaW1wb3J0IHsgQ0FDb25maWcsIENyZWRlbnRpYWxzIH0gZnJvbSBcIi4uLy4uL3NoYXJlZC90eXBlc1wiO1xuaW1wb3J0IHtcbiAgQ29uZmxpY3RFcnJvcixcbiAgSW50ZXJuYWxFcnJvcixcbiAgTm90Rm91bmRFcnJvcixcbiAgT3BlcmF0aW9uS2V5cyxcbn0gZnJvbSBcIkBkZWNhZi10cy9kYi1kZWNvcmF0b3JzXCI7XG5pbXBvcnQgeyBDb3JlVXRpbHMsIGdldEFraUFuZFNlcmlhbEZyb21DZXJ0IH0gZnJvbSBcIi4uL3V0aWxzXCI7XG5pbXBvcnQge1xuICBDZXJ0aWZpY2F0ZVJlc3BvbnNlLFxuICBGYWJyaWNJZGVudGl0eSxcbiAgR2V0Q2VydGlmaWNhdGVzUmVxdWVzdCxcbiAgSWRlbnRpdHlSZXNwb25zZSxcbn0gZnJvbSBcIi4uLy4uL3NoYXJlZC9mYWJyaWMtdHlwZXNcIjtcbmltcG9ydCB7IFVzZXIgfSBmcm9tIFwiZmFicmljLWNvbW1vblwiO1xuaW1wb3J0IHsgUmVnaXN0cmF0aW9uRXJyb3IgfSBmcm9tIFwiLi4vLi4vc2hhcmVkL2Vycm9yc1wiO1xuaW1wb3J0IHsgQ0FfUk9MRSB9IGZyb20gXCIuL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgSUtleVZhbHVlQXR0cmlidXRlIH0gZnJvbSBcIi4vRmFicmljRW5yb2xsbWVudFNlcnZpY2VcIjtcbmltcG9ydCB7IElkZW50aXR5IH0gZnJvbSBcIi4uLy4uL3NoYXJlZC9pbmRleFwiO1xuaW1wb3J0IHsgQ3J5cHRvVXRpbHMgfSBmcm9tIFwiLi4vY3J5cHRvXCI7XG5cbmV4cG9ydCBjbGFzcyBGYWJyaWNJZGVudGl0eVNlcnZpY2UgZXh0ZW5kcyBDbGllbnRCYXNlZFNlcnZpY2U8XG4gIEZhYnJpY0NBU2VydmljZXMsXG4gIENBQ29uZmlnXG4+IHtcbiAgcHJvdGVjdGVkIF91c2VyITogVXNlcjtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCByb290Q2xpZW50KCk6IHsgbmV3Q2VydGlmaWNhdGVTZXJ2aWNlOiBhbnkgfSB7XG4gICAgcmV0dXJuICh0aGlzLmNsaWVudCBhcyBhbnkpW1wiX0ZhYnJpY0NhU2VydmljZXNcIl0gYXMgYW55O1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCB1c2VyKCk6IFVzZXIge1xuICAgIGlmICghdGhpcy5fdXNlcilcbiAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKFxuICAgICAgICBcIkZhYnJpYyBpZGVudGl0eSBzZXJ2aWNlIG5vdCBwcm9wZXJseSBzZXR1cDogbWlzc2luZyB1c2VyXCJcbiAgICAgICk7XG4gICAgcmV0dXJuIHRoaXMuX3VzZXI7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IGNlcnRpZmljYXRlcygpIHtcbiAgICByZXR1cm4gdGhpcy5yb290Q2xpZW50Lm5ld0NlcnRpZmljYXRlU2VydmljZSgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCBhZmZpbGlhdGlvbnMoKTogQWZmaWxpYXRpb25TZXJ2aWNlIHtcbiAgICByZXR1cm4gdGhpcy5jbGllbnQubmV3QWZmaWxpYXRpb25TZXJ2aWNlKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IGlkZW50aXRpZXMoKTogSWRlbnRpdHlTZXJ2aWNlIHtcbiAgICByZXR1cm4gdGhpcy5jbGllbnQubmV3SWRlbnRpdHlTZXJ2aWNlKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgZ2V0VXNlcihjZmc6IENBQ29uZmlnLCBjdHg6IENvbnRleHQpIHtcbiAgICBjb25zdCBsb2cgPSBjdHgubG9nZ2VyLmZvcih0aGlzLmdldFVzZXIpO1xuICAgIGNvbnN0IHsgY2FOYW1lLCBjYUNlcnQsIGNhS2V5LCB1cmwsIGhzbSB9ID0gY2ZnO1xuXG4gICAgbG9nLmluZm8oYENyZWF0aW5nIENBIHVzZXIgZm9yICR7Y2FOYW1lfSBhdCAke3VybH1gKTtcbiAgICBsb2cudmVyYm9zZShgUmV0cmlldmluZyBDQSBjZXJ0aWZpY2F0ZSBmcm9tICR7Y2FDZXJ0fWApO1xuICAgIGNvbnN0IGNlcnRpZmljYXRlID0gYXdhaXQgQ29yZVV0aWxzLmdldEZpcnN0RGlyRmlsZU5hbWVDb250ZW50KGNhQ2VydCk7XG4gICAgbGV0IGtleTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIGlmICghaHNtKSB7XG4gICAgICBpZiAoIWNhS2V5KSB7XG4gICAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKFxuICAgICAgICAgIGBNaXNzaW5nIGNhS2V5IGNvbmZpZ3VyYXRpb24gZm9yIENBICR7Y2FOYW1lfS4gUHJvdmlkZSBhIGtleSBkaXJlY3Rvcnkgb3IgY29uZmlndXJlIEhTTSBzdXBwb3J0LmBcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIGxvZy5kZWJ1ZyhgUmV0cmlldmluZyBDQSBrZXkgZnJvbSAke2NhS2V5fWApO1xuICAgICAga2V5ID0gYXdhaXQgQ29yZVV0aWxzLmdldEZpcnN0RGlyRmlsZU5hbWVDb250ZW50KGNhS2V5KTtcbiAgICB9IGVsc2Uge1xuICAgICAgbG9nLmRlYnVnKFxuICAgICAgICBgVXNpbmcgSFNNIGNvbmZpZ3VyYXRpb24gZm9yIENBICR7Y2FOYW1lfSB3aXRoIGxpYnJhcnkgJHtoc20ubGlicmFyeX1gXG4gICAgICApO1xuICAgIH1cbiAgICBsb2cuZGVidWcoYExvYWRpbmcgQWRtaW4gdXNlciBmb3IgY2EgJHtjYU5hbWV9YCk7XG4gICAgdGhpcy5fdXNlciA9IGF3YWl0IENvcmVVdGlscy5nZXRDQVVzZXIoXCJhZG1pblwiLCBrZXksIGNlcnRpZmljYXRlLCBjYU5hbWUsIHtcbiAgICAgIGhzbSxcbiAgICB9KTtcbiAgICByZXR1cm4gdGhpcy5fdXNlcjtcbiAgfVxuXG4gIG92ZXJyaWRlIGFzeW5jIGluaXRpYWxpemUoXG4gICAgLi4uYXJnczogTWF5YmVDb250ZXh0dWFsQXJnPGFueT5cbiAgKTogUHJvbWlzZTx7IGNvbmZpZzogQ0FDb25maWc7IGNsaWVudDogRmFicmljQ0FTZXJ2aWNlcyB9PiB7XG4gICAgY29uc3QgeyBsb2csIGN0eCB9ID0gKFxuICAgICAgYXdhaXQgdGhpcy5sb2dDdHgoYXJncywgUGVyc2lzdGVuY2VLZXlzLklOSVRJQUxJWkFUSU9OLCB0cnVlKVxuICAgICkuZm9yKHRoaXMuaW5pdGlhbGl6ZSk7XG4gICAgY29uc3QgW2NvbmZpZ10gPSBhcmdzO1xuICAgIGlmICghY29uZmlnKSB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihcIk1pc3NpbmcgRmFicmljIENBIGNvbmZpZ3VyYXRpb25cIik7XG5cbiAgICBjb25zdCB7IHVybCwgdGxzLCBjYU5hbWUgfSA9IGNvbmZpZztcbiAgICBsb2cuaW5mbyhgSW5pdGlhbGl6aW5nIENBIENsaWVudCBmb3IgQ0EgJHtjb25maWcuY2FOYW1lfSBhdCAke2NvbmZpZy51cmx9YCk7XG4gICAgY29uc3QgeyB0cnVzdGVkUm9vdHMsIHZlcmlmeSB9ID0gdGxzIGFzIFRMU09wdGlvbnM7XG5cbiAgICBjb25zdCByb290ID0gKHRydXN0ZWRSb290cyBhcyBzdHJpbmdbXSlbMF0gYXMgc3RyaW5nO1xuICAgIGxvZy5kZWJ1ZyhgUmV0cmlldmluZyBDQSBjZXJ0aWZpY2F0ZSBmcm9tICR7cm9vdH0uIGN3ZDogJHtwcm9jZXNzLmN3ZCgpfWApO1xuXG4gICAgY29uc3QgY2VydGlmaWNhdGUgPSBhd2FpdCBDb3JlVXRpbHMuZ2V0RmlsZUNvbnRlbnQocm9vdCk7XG5cbiAgICBsb2cuZGVidWcoYENBIENlcnRpZmljYXRlOiAke2NlcnRpZmljYXRlLnRvU3RyaW5nKCl9YCk7XG5cbiAgICBjb25zdCBjbGllbnQgPSBuZXcgRmFicmljQ0FTZXJ2aWNlcyhcbiAgICAgIHVybCxcbiAgICAgIHtcbiAgICAgICAgdHJ1c3RlZFJvb3RzOiBCdWZmZXIuZnJvbShjZXJ0aWZpY2F0ZSksXG4gICAgICAgIHZlcmlmeSxcbiAgICAgIH0gYXMgVExTT3B0aW9ucyxcbiAgICAgIGNhTmFtZVxuICAgICk7XG5cbiAgICBjb25zdCB1c2VyID0gYXdhaXQgdGhpcy5nZXRVc2VyKGNvbmZpZywgY3R4KTtcbiAgICBsb2cuZGVidWcoYENBIHVzZXIgbG9hZGVkOiAke3VzZXIuZ2V0TmFtZSgpfWApO1xuICAgIHJldHVybiB7XG4gICAgICBjb25maWcsXG4gICAgICBjbGllbnQsXG4gICAgfTtcbiAgfVxuXG4gIGFzeW5jIGdldENlcnRpZmljYXRlcyguLi5hcmdzOiBNYXliZUNvbnRleHR1YWxBcmc8YW55Pik6IFByb21pc2U8c3RyaW5nW10+O1xuICBhc3luYyBnZXRDZXJ0aWZpY2F0ZXMoXG4gICAgcmVxdWVzdDogR2V0Q2VydGlmaWNhdGVzUmVxdWVzdCxcbiAgICAuLi5hcmdzOiBNYXliZUNvbnRleHR1YWxBcmc8YW55PlxuICApOiBQcm9taXNlPHN0cmluZ1tdPjtcbiAgYXN5bmMgZ2V0Q2VydGlmaWNhdGVzPE1BUCBleHRlbmRzIGJvb2xlYW4+KFxuICAgIGRvTWFwOiBNQVAsXG4gICAgLi4uYXJnczogTWF5YmVDb250ZXh0dWFsQXJnPGFueT5cbiAgKTogUHJvbWlzZTxNQVAgZXh0ZW5kcyBmYWxzZSA/IENlcnRpZmljYXRlUmVzcG9uc2UgOiBzdHJpbmdbXT47XG4gIGFzeW5jIGdldENlcnRpZmljYXRlczxNQVAgZXh0ZW5kcyBib29sZWFuPihcbiAgICByZXF1ZXN0OiBHZXRDZXJ0aWZpY2F0ZXNSZXF1ZXN0LFxuICAgIGRvTWFwOiBNQVAsXG4gICAgLi4uYXJnczogTWF5YmVDb250ZXh0dWFsQXJnPGFueT5cbiAgKTogUHJvbWlzZTxNQVAgZXh0ZW5kcyBmYWxzZSA/IENlcnRpZmljYXRlUmVzcG9uc2UgOiBzdHJpbmdbXT47XG4gIGFzeW5jIGdldENlcnRpZmljYXRlczxNQVAgZXh0ZW5kcyBib29sZWFuPihcbiAgICByZXF1ZXN0PzogR2V0Q2VydGlmaWNhdGVzUmVxdWVzdCB8IE1BUCxcbiAgICBkb01hcDogTUFQID0gdHJ1ZSBhcyBNQVAsXG4gICAgLi4uYXJnczogTWF5YmVDb250ZXh0dWFsQXJnPGFueT5cbiAgKTogUHJvbWlzZTxNQVAgZXh0ZW5kcyBmYWxzZSA/IENlcnRpZmljYXRlUmVzcG9uc2UgOiBzdHJpbmdbXT4ge1xuICAgIGlmIChyZXF1ZXN0IGluc3RhbmNlb2YgQ29udGV4dCkge1xuICAgICAgYXJncyA9IFtyZXF1ZXN0XTtcbiAgICAgIGRvTWFwID0gdHJ1ZSBhcyBNQVA7XG4gICAgICByZXF1ZXN0ID0gdW5kZWZpbmVkO1xuICAgIH0gZWxzZSBpZiAodHlwZW9mIHJlcXVlc3QgPT09IFwiYm9vbGVhblwiKSB7XG4gICAgICBkb01hcCA9IHJlcXVlc3Q7XG4gICAgICByZXF1ZXN0ID0gdW5kZWZpbmVkO1xuICAgIH0gZWxzZSBpZiAodHlwZW9mIGRvTWFwICE9PSBcImJvb2xlYW5cIikge1xuICAgICAgYXJncyA9IFtkb01hcCBhcyBNYXliZUNvbnRleHR1YWxBcmc8YW55PiwgLi4uYXJnc107XG4gICAgICBkb01hcCA9IHRydWUgYXMgTUFQO1xuICAgIH1cblxuICAgIGNvbnN0IHsgbG9nIH0gPSAoYXdhaXQgdGhpcy5sb2dDdHgoYXJncywgT3BlcmF0aW9uS2V5cy5SRUFELCB0cnVlKSkuZm9yKFxuICAgICAgdGhpcy5nZXRDZXJ0aWZpY2F0ZXNcbiAgICApO1xuICAgIGxvZy5kZWJ1ZyhcbiAgICAgIGBSZXRyaWV2aW5nIGNlcnRpZmljYXRlcyR7cmVxdWVzdCA/IGAgZm9yICR7cmVxdWVzdC5pZH1gIDogXCJcIn0gZm9yIENBICR7dGhpcy5jb25maWcuY2FOYW1lfWBcbiAgICApO1xuICAgIGNvbnN0IHJlc3BvbnNlOiBDZXJ0aWZpY2F0ZVJlc3BvbnNlID0gKFxuICAgICAgYXdhaXQgdGhpcy5jZXJ0aWZpY2F0ZXMuZ2V0Q2VydGlmaWNhdGVzKHJlcXVlc3QgfHwge30sIHRoaXMudXNlcilcbiAgICApLnJlc3VsdDtcbiAgICBsb2cudmVyYm9zZShgRm91bmQgJHtyZXNwb25zZS5jZXJ0cy5sZW5ndGh9IGNlcnRpZmljYXRlc2ApO1xuICAgIGxvZy5kZWJ1ZyhyZXNwb25zZS5jZXJ0cyk7XG4gICAgcmV0dXJuIChcbiAgICAgIGRvTWFwID8gcmVzcG9uc2UuY2VydHMubWFwKChjKSA9PiBjLlBFTSkgOiByZXNwb25zZVxuICAgICkgYXMgTUFQIGV4dGVuZHMgZmFsc2UgPyBDZXJ0aWZpY2F0ZVJlc3BvbnNlIDogc3RyaW5nW107XG4gIH1cblxuICBhc3luYyBnZXRJZGVudGl0aWVzKGN0eDogQ29udGV4dCk6IFByb21pc2U8RmFicmljSWRlbnRpdHlbXT4ge1xuICAgIGNvbnN0IGxvZyA9IGN0eC5sb2dnZXIuZm9yKHRoaXMuZ2V0SWRlbnRpdGllcyk7XG4gICAgbG9nLnZlcmJvc2UoYFJldHJpZXZpbmcgSWRlbnRpdGllcyB1bmRlciBDQSAke3RoaXMuY29uZmlnLmNhTmFtZX1gKTtcbiAgICBjb25zdCByZXNwb25zZTogSWRlbnRpdHlSZXNwb25zZSA9IChhd2FpdCB0aGlzLmlkZW50aXRpZXMuZ2V0QWxsKHRoaXMudXNlcikpXG4gICAgICAucmVzdWx0O1xuICAgIGxvZy52ZXJib3NlKGBGb3VuZCAke3Jlc3BvbnNlLmlkZW50aXRpZXMubGVuZ3RofSBJZGVudGl0aWVzYCk7XG4gICAgbG9nLmRlYnVnKHJlc3BvbnNlLmlkZW50aXRpZXMpO1xuICAgIHJldHVybiByZXNwb25zZS5pZGVudGl0aWVzO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBSZXRyaWV2ZSBhZmZpbGlhdGlvbnMgZnJvbSB0aGUgQ0EuXG4gICAqIEBzdW1tYXJ5IFF1ZXJpZXMgdGhlIENBIGZvciB0aGUgbGlzdCBvZiBhZmZpbGlhdGlvbnMgYXZhaWxhYmxlIHVuZGVyIHRoZSBjb25maWd1cmVkIENBLlxuICAgKiBAcmV0dXJuIHtzdHJpbmd9IFRoZSBhZmZpbGlhdGlvbnMgcmVzdWx0IHBheWxvYWQuXG4gICAqL1xuICBhc3luYyBnZXRBZmZpbGlhdGlvbnMoY3R4OiBDb250ZXh0KSB7XG4gICAgY29uc3QgbG9nID0gY3R4LmxvZ2dlci5mb3IodGhpcy5nZXRBZmZpbGlhdGlvbnMpO1xuICAgIGxvZy52ZXJib3NlKGBSZXRyaWV2aW5nIEFmZmlsaWF0aW9ucyB1bmRlciBDQSAke3RoaXMuY29uZmlnLmNhTmFtZX1gKTtcbiAgICBjb25zdCByZXNwb25zZSA9IChhd2FpdCB0aGlzLmFmZmlsaWF0aW9ucy5nZXRBbGwodGhpcy51c2VyKSkucmVzdWx0O1xuICAgIGxvZy52ZXJib3NlKGBGb3VuZCAke3Jlc3BvbnNlLmEubGVuZ3RofSBBZmZpbGlhdGlvbnNgKTtcbiAgICBsb2cuZGVidWcoSlNPTi5zdHJpbmdpZnkocmVzcG9uc2UpKTtcbiAgICByZXR1cm4gcmVzcG9uc2U7XG4gIH1cblxuICBwcm90ZWN0ZWQgcGFyc2VFcnJvcihlOiBFcnJvcikge1xuICAgIGNvbnN0IHJlZ2V4cCA9IC8uKmNvZGU6XFxzKFxcZCspLio/bWVzc2FnZTpcXHNbXCInXSguKylbXCInXS9ncztcbiAgICBjb25zdCBtYXRjaCA9IHJlZ2V4cC5leGVjKGUubWVzc2FnZSk7XG4gICAgaWYgKCFtYXRjaCkgcmV0dXJuIG5ldyBSZWdpc3RyYXRpb25FcnJvcihlKTtcbiAgICBjb25zdCBbLCBjb2RlLCBtZXNzYWdlXSA9IG1hdGNoO1xuICAgIHN3aXRjaCAoY29kZSkge1xuICAgICAgY2FzZSBcIjc0XCI6XG4gICAgICBjYXNlIFwiNzFcIjpcbiAgICAgICAgcmV0dXJuIG5ldyBDb25mbGljdEVycm9yKG1lc3NhZ2UpO1xuICAgICAgY2FzZSBcIjIwXCI6XG4gICAgICAgIHJldHVybiBuZXcgQXV0aG9yaXphdGlvbkVycm9yKG1lc3NhZ2UpO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIG5ldyBSZWdpc3RyYXRpb25FcnJvcihtZXNzYWdlKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFJlYWQgaWRlbnRpdHkgZGV0YWlscyBmcm9tIHRoZSBDQSBieSBlbnJvbGxtZW50IElELlxuICAgKiBAc3VtbWFyeSBSZXRyaWV2ZXMgYW5kIHZhbGlkYXRlcyBhIHNpbmdsZSBpZGVudGl0eSwgdGhyb3dpbmcgTm90Rm91bmRFcnJvciB3aGVuIG1pc3NpbmcuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBlbnJvbGxtZW50SWQgLSBFbnJvbGxtZW50IElEIHRvIGxvb2t1cC5cbiAgICogQHJldHVybiB7UHJvbWlzZTxGYWJyaWNJZGVudGl0eT59IFRoZSBpZGVudGl0eSBkZXRhaWxzIHN0b3JlZCBpbiB0aGUgQ0EuXG4gICAqL1xuICBhc3luYyByZWFkKFxuICAgIGVucm9sbG1lbnRJZDogc3RyaW5nLFxuICAgIC4uLmFyZ3M6IE1heWJlQ29udGV4dHVhbEFyZzxhbnk+XG4gICk6IFByb21pc2U8RmFicmljSWRlbnRpdHk+IHtcbiAgICBjb25zdCB7IGxvZyB9ID0gKGF3YWl0IHRoaXMubG9nQ3R4KGFyZ3MsIE9wZXJhdGlvbktleXMuUkVBRCwgdHJ1ZSkpLmZvcihcbiAgICAgIHRoaXMucmVhZFxuICAgICk7XG4gICAgbG9nLnZlcmJvc2UoYFJldHJpZXZpbmcgaWRlbnRpdHkgd2l0aCBlbnJvbGxtZW50IElEICR7ZW5yb2xsbWVudElkfWApO1xuICAgIGxldCByZXN1bHQ6IElTZXJ2aWNlUmVzcG9uc2U7XG4gICAgdHJ5IHtcbiAgICAgIHJlc3VsdCA9IGF3YWl0IHRoaXMuaWRlbnRpdGllcy5nZXRPbmUoZW5yb2xsbWVudElkLCB0aGlzLnVzZXIpO1xuICAgIH0gY2F0Y2ggKGU6IGFueSkge1xuICAgICAgdGhyb3cgbmV3IE5vdEZvdW5kRXJyb3IoXG4gICAgICAgIGBDb3VsZG4ndCBmaW5kIGVucm9sbG1lbnQgd2l0aCBpZCAke2Vucm9sbG1lbnRJZH06ICR7ZX1gXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmICghcmVzdWx0LnN1Y2Nlc3MpXG4gICAgICB0aHJvdyBuZXcgTm90Rm91bmRFcnJvcihcbiAgICAgICAgYENvdWxkbid0IGZpbmQgZW5yb2xsbWVudCB3aXRoIGlkICR7ZW5yb2xsbWVudElkfTogJHtyZXN1bHQuZXJyb3JzLmpvaW4oXCJcXG5cIil9YFxuICAgICAgKTtcblxuICAgIHJldHVybiByZXN1bHQucmVzdWx0IGFzIEZhYnJpY0lkZW50aXR5O1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBSZWdpc3RlciBhIG5ldyBpZGVudGl0eSB3aXRoIHRoZSBDQS5cbiAgICogQHN1bW1hcnkgU3VibWl0cyBhIHJlZ2lzdHJhdGlvbiByZXF1ZXN0IGZvciBhIG5ldyBlbnJvbGxtZW50IElELCByZXR1cm5pbmcgdGhlIGVucm9sbG1lbnQgc2VjcmV0IHVwb24gc3VjY2Vzcy5cbiAgICogQHBhcmFtIHtDcmVkZW50aWFsc30gbW9kZWwgLSBDcmVkZW50aWFscyBjb250YWluaW5nIHVzZXJOYW1lIGFuZCBwYXNzd29yZCBmb3IgdGhlIG5ldyBpZGVudGl0eS5cbiAgICogQHBhcmFtIHtib29sZWFufSBbaXNTdXBlclVzZXI9ZmFsc2VdIC0gV2hldGhlciB0byByZWdpc3RlciB0aGUgaWRlbnRpdHkgYXMgYSBzdXBlciB1c2VyLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gW2FmZmlsaWF0aW9uPVwiXCJdIC0gQWZmaWxpYXRpb24gc3RyaW5nIChlLmcuLCBvcmcxLmRlcGFydG1lbnQxKS5cbiAgICogQHBhcmFtIHtDQV9ST0xFIHwgc3RyaW5nfSBbdXNlclJvbGVdIC0gUm9sZSB0byBhc3NpZ24gdG8gdGhlIGlkZW50aXR5LlxuICAgKiBAcGFyYW0ge0lLZXlWYWx1ZUF0dHJpYnV0ZX0gW2F0dHJzXSAtIE9wdGlvbmFsIGF0dHJpYnV0ZXMgdG8gYXR0YWNoIHRvIHRoZSBpZGVudGl0eS5cbiAgICogQHBhcmFtIHtudW1iZXJ9IFttYXhFbnJvbGxtZW50c10gLSBNYXhpbXVtIG51bWJlciBvZiBlbnJvbGxtZW50cyBhbGxvd2VkIGZvciB0aGUgaWRlbnRpdHkuXG4gICAqIEByZXR1cm4ge1Byb21pc2U8c3RyaW5nPn0gVGhlIGVucm9sbG1lbnQgc2VjcmV0IGZvciB0aGUgcmVnaXN0ZXJlZCBpZGVudGl0eS5cbiAgICovXG4gIGFzeW5jIHJlZ2lzdGVyKFxuICAgIG1vZGVsOiBDcmVkZW50aWFscyxcbiAgICBpc1N1cGVyVXNlcjogYm9vbGVhbiA9IGZhbHNlLFxuICAgIGFmZmlsaWF0aW9uOiBzdHJpbmcgPSBcIlwiLFxuICAgIHVzZXJSb2xlPzogQ0FfUk9MRSB8IHN0cmluZyxcbiAgICBhdHRycz86IElLZXlWYWx1ZUF0dHJpYnV0ZSxcbiAgICBtYXhFbnJvbGxtZW50cz86IG51bWJlcixcbiAgICAuLi5hcmdzOiBNYXliZUNvbnRleHR1YWxBcmc8YW55PlxuICApOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIGNvbnN0IHsgbG9nIH0gPSAoYXdhaXQgdGhpcy5sb2dDdHgoYXJncywgXCJyZWdpc3RlclwiLCB0cnVlKSkuZm9yKFxuICAgICAgdGhpcy5yZWdpc3RlclxuICAgICk7XG5cbiAgICBsZXQgcmVnaXN0cmF0aW9uOiBzdHJpbmc7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHsgdXNlck5hbWUsIHBhc3N3b3JkIH0gPSBtb2RlbDtcbiAgICAgIGNvbnN0IHByb3BzID0ge1xuICAgICAgICBlbnJvbGxtZW50SUQ6IHVzZXJOYW1lIGFzIHN0cmluZyxcbiAgICAgICAgZW5yb2xsbWVudFNlY3JldDogcGFzc3dvcmQsXG4gICAgICAgIGFmZmlsaWF0aW9uOiBhZmZpbGlhdGlvbixcbiAgICAgICAgdXNlclJvbGU6IHVzZXJSb2xlLFxuICAgICAgICBhdHRyczogYXR0cnMsXG4gICAgICAgIG1heEVucm9sbG1lbnRzOiBtYXhFbnJvbGxtZW50cyxcbiAgICAgIH0gYXMgSVJlZ2lzdGVyUmVxdWVzdDtcbiAgICAgIHJlZ2lzdHJhdGlvbiA9IGF3YWl0IHRoaXMuY2xpZW50LnJlZ2lzdGVyKHByb3BzLCB0aGlzLnVzZXIpO1xuICAgICAgbG9nLmluZm8oXG4gICAgICAgIGBSZWdpc3RyYXRpb24gZm9yICR7dXNlck5hbWV9IGNyZWF0ZWQgd2l0aCB1c2VyIHR5cGUgJHt1c2VyUm9sZSA/PyBcIlVuZGVmaW5lZCBSb2xlXCJ9ICR7aXNTdXBlclVzZXIgPyBcImFzIHN1cGVyIHVzZXJcIiA6IFwiXCJ9YFxuICAgICAgKTtcbiAgICB9IGNhdGNoIChlOiBhbnkpIHtcbiAgICAgIHRocm93IHRoaXMucGFyc2VFcnJvcihlKTtcbiAgICB9XG4gICAgcmV0dXJuIHJlZ2lzdHJhdGlvbjtcbiAgfVxuXG4gIHByb3RlY3RlZCBzdGF0aWMgaWRlbnRpdHlGcm9tRW5yb2xsbWVudChcbiAgICBlbnJvbGxtZW50OiBJRW5yb2xsUmVzcG9uc2UsXG4gICAgbXNwSWQ6IHN0cmluZyxcbiAgICBjdHg6IENvbnRleHRcbiAgKTogSWRlbnRpdHkge1xuICAgIGNvbnN0IGxvZyA9IGN0eC5sb2dnZXIuZm9yKHRoaXMuaWRlbnRpdHlGcm9tRW5yb2xsbWVudCk7XG4gICAgY29uc3QgeyBjZXJ0aWZpY2F0ZSwga2V5LCByb290Q2VydGlmaWNhdGUgfSA9IGVucm9sbG1lbnQ7XG4gICAgbG9nLnZlcmJvc2UoXG4gICAgICBgR2VuZXJhdGluZyBJZGVudGl0eSBmcm9tIGNlcnRpZmljYXRlICR7Y2VydGlmaWNhdGV9IGluIG1zcCAke21zcElkfWBcbiAgICApO1xuICAgIGNvbnN0IGNsaWVudElkID0gQ3J5cHRvVXRpbHMuZmFicmljSWRGcm9tQ2VydGlmaWNhdGUoY2VydGlmaWNhdGUpO1xuICAgIGNvbnN0IGlkID0gQ3J5cHRvVXRpbHMuZW5jb2RlKGNsaWVudElkKTtcbiAgICBsb2cuZGVidWcoYElkZW50aXR5ICR7Y2xpZW50SWR9IGFuZCBlbmNvZGVkSWQgJHtpZH1gKTtcbiAgICByZXR1cm4gbmV3IElkZW50aXR5KHtcbiAgICAgIGlkOiBpZCxcbiAgICAgIGNyZWRlbnRpYWxzOiB7XG4gICAgICAgIGlkOiBpZCxcbiAgICAgICAgY2VydGlmaWNhdGU6IGNlcnRpZmljYXRlLFxuICAgICAgICBwcml2YXRlS2V5OiBrZXkudG9CeXRlcygpLFxuICAgICAgICByb290Q2VydGlmaWNhdGU6IHJvb3RDZXJ0aWZpY2F0ZSxcbiAgICAgIH0sXG4gICAgICBtc3BJZDogbXNwSWQsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEVucm9sbCBhbiBpZGVudGl0eSB3aXRoIHRoZSBDQSB1c2luZyBhIHJlZ2lzdHJhdGlvbiBzZWNyZXQuXG4gICAqIEBzdW1tYXJ5IEV4Y2hhbmdlcyB0aGUgZW5yb2xsbWVudCBJRCBhbmQgc2VjcmV0IGZvciBjZXJ0aWZpY2F0ZXMsIHJldHVybmluZyBhIGNvbnN0cnVjdGVkIElkZW50aXR5IG1vZGVsLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gZW5yb2xsbWVudElkIC0gRW5yb2xsbWVudCBJRCB0byBlbnJvbGwuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSByZWdpc3RyYXRpb24gLSBFbnJvbGxtZW50IHNlY3JldCByZXR1cm5lZCBhdCByZWdpc3RyYXRpb24gdGltZS5cbiAgICogQHJldHVybiB7UHJvbWlzZTxJZGVudGl0eT59IFRoZSBlbnJvbGxlZCBpZGVudGl0eSBvYmplY3Qgd2l0aCBjcmVkZW50aWFscy5cbiAgICovXG4gIGFzeW5jIGVucm9sbChcbiAgICBlbnJvbGxtZW50SWQ6IHN0cmluZyxcbiAgICByZWdpc3RyYXRpb246IHN0cmluZyxcbiAgICAuLi5hcmdzOiBNYXliZUNvbnRleHR1YWxBcmc8YW55PlxuICApOiBQcm9taXNlPElkZW50aXR5PiB7XG4gICAgY29uc3QgeyBsb2csIGN0eCB9ID0gKGF3YWl0IHRoaXMubG9nQ3R4KGFyZ3MsIFwiZW5yb2xsXCIsIHRydWUpKS5mb3IoXG4gICAgICB0aGlzLmVucm9sbFxuICAgICk7XG4gICAgbGV0IGlkZW50aXR5OiBJZGVudGl0eTtcbiAgICB0cnkge1xuICAgICAgbG9nLmRlYnVnKGBFbnJvbGxpbmcgJHtlbnJvbGxtZW50SWR9YCk7XG4gICAgICBjb25zdCBlbnJvbGxtZW50OiBJRW5yb2xsUmVzcG9uc2UgPSBhd2FpdCB0aGlzLmNsaWVudC5lbnJvbGwoe1xuICAgICAgICBlbnJvbGxtZW50SUQ6IGVucm9sbG1lbnRJZCxcbiAgICAgICAgZW5yb2xsbWVudFNlY3JldDogcmVnaXN0cmF0aW9uLFxuICAgICAgfSk7XG4gICAgICBpZGVudGl0eSA9IEZhYnJpY0lkZW50aXR5U2VydmljZS5pZGVudGl0eUZyb21FbnJvbGxtZW50KFxuICAgICAgICBlbnJvbGxtZW50LFxuICAgICAgICB0aGlzLmNvbmZpZy5jYU5hbWUsXG4gICAgICAgIGN0eFxuICAgICAgKTtcbiAgICAgIGxvZy5pbmZvKFxuICAgICAgICBgU3VjY2Vzc2Z1bGx5IGVucm9sbGVkICR7ZW5yb2xsbWVudElkfSB1bmRlciAke3RoaXMuY29uZmlnLmNhTmFtZX0gYXMgJHtpZGVudGl0eS5pZH1gXG4gICAgICApO1xuICAgIH0gY2F0Y2ggKGU6IGFueSkge1xuICAgICAgdGhyb3cgdGhpcy5wYXJzZUVycm9yKGUpO1xuICAgIH1cbiAgICByZXR1cm4gaWRlbnRpdHk7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFJlZ2lzdGVyIGFuZCBlbnJvbGwgYSBuZXcgaWRlbnRpdHkgaW4gb25lIHN0ZXAuXG4gICAqIEBzdW1tYXJ5IFJlZ2lzdGVycyBhIG5ldyBlbnJvbGxtZW50IElEIHdpdGggdGhlIENBIGFuZCBpbW1lZGlhdGVseSBleGNoYW5nZXMgdGhlIHNlY3JldCB0byBlbnJvbGwsIHJldHVybmluZyB0aGUgY3JlYXRlZCBJZGVudGl0eS5cbiAgICogQHBhcmFtIHtDcmVkZW50aWFsc30gbW9kZWwgLSBDcmVkZW50aWFscyBmb3IgdGhlIG5ldyBpZGVudGl0eSBjb250YWluaW5nIHVzZXJOYW1lIGFuZCBwYXNzd29yZC5cbiAgICogQHBhcmFtIHtib29sZWFufSBbaXNTdXBlclVzZXI9ZmFsc2VdIC0gV2hldGhlciB0byByZWdpc3RlciB0aGUgaWRlbnRpdHkgYXMgYSBzdXBlciB1c2VyLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gW2FmZmlsaWF0aW9uPVwiXCJdIC0gQWZmaWxpYXRpb24gc3RyaW5nIChlLmcuLCBvcmcxLmRlcGFydG1lbnQxKS5cbiAgICogQHBhcmFtIHtDQV9ST0xFIHwgc3RyaW5nfSBbdXNlclJvbGVdIC0gUm9sZSB0byBhc3NpZ24gdG8gdGhlIGlkZW50aXR5LlxuICAgKiBAcGFyYW0ge0lLZXlWYWx1ZUF0dHJpYnV0ZX0gW2F0dHJzXSAtIE9wdGlvbmFsIGF0dHJpYnV0ZXMgdG8gYXR0YWNoIHRvIHRoZSBpZGVudGl0eS5cbiAgICogQHBhcmFtIHtudW1iZXJ9IFttYXhFbnJvbGxtZW50c10gLSBNYXhpbXVtIG51bWJlciBvZiBlbnJvbGxtZW50cyBhbGxvd2VkIGZvciB0aGUgaWRlbnRpdHkuXG4gICAqIEByZXR1cm4ge1Byb21pc2U8SWRlbnRpdHk+fSBUaGUgZW5yb2xsZWQgaWRlbnRpdHkuXG4gICAqL1xuICBhc3luYyByZWdpc3RlckFuZEVucm9sbChcbiAgICBtb2RlbDogQ3JlZGVudGlhbHMsXG4gICAgaXNTdXBlclVzZXI6IGJvb2xlYW4gPSBmYWxzZSxcbiAgICBhZmZpbGlhdGlvbjogc3RyaW5nID0gXCJcIixcbiAgICB1c2VyUm9sZT86IENBX1JPTEUgfCBzdHJpbmcsXG4gICAgYXR0cnM/OiBJS2V5VmFsdWVBdHRyaWJ1dGUsXG4gICAgbWF4RW5yb2xsbWVudHM/OiBudW1iZXIsXG4gICAgLi4uYXJnczogTWF5YmVDb250ZXh0dWFsQXJnPGFueT5cbiAgKTogUHJvbWlzZTxJZGVudGl0eT4ge1xuICAgIGNvbnN0IHsgY3R4IH0gPSAoYXdhaXQgdGhpcy5sb2dDdHgoYXJncywgXCJyZWdpc3Rlci1lbnJvbGxcIiwgdHJ1ZSkpLmZvcihcbiAgICAgIHRoaXMucmVnaXN0ZXJBbmRFbnJvbGxcbiAgICApO1xuICAgIGNvbnN0IHJlZ2lzdHJhdGlvbiA9IGF3YWl0IHRoaXMucmVnaXN0ZXIoXG4gICAgICBtb2RlbCxcbiAgICAgIGlzU3VwZXJVc2VyLFxuICAgICAgYWZmaWxpYXRpb24sXG4gICAgICB1c2VyUm9sZSxcbiAgICAgIGF0dHJzLFxuICAgICAgbWF4RW5yb2xsbWVudHMsXG4gICAgICBjdHhcbiAgICApO1xuICAgIGNvbnN0IHsgdXNlck5hbWUgfSA9IG1vZGVsO1xuICAgIHJldHVybiB0aGlzLmVucm9sbCh1c2VyTmFtZSBhcyBzdHJpbmcsIHJlZ2lzdHJhdGlvbiwgY3R4KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gUmUtZW5yb2xsIGFuIGV4aXN0aW5nIGlkZW50aXR5IHVzaW5nIGl0cyBjdXJyZW50IGVucm9sbG1lbnQuXG4gICAqIEBzdW1tYXJ5IFJlbmV3cyB0aGUgZW5yb2xsbWVudCBjZXJ0aWZpY2F0ZSBieSBjYWxsaW5nIHRoZSBDQSByZWVucm9sbC5cbiAgICogQHBhcmFtIHtVc2VyfSBjdXJyZW50VXNlciAtIEFscmVhZHkgZW5yb2xsZWQgdXNlciwgbXVzdCBoYXZlIGEgc2lnbmluZyBpZGVudGl0eS5cbiAgICogQHJldHVybiB7UHJvbWlzZTxJZGVudGl0eT59IFRoZSByZW5ld2VkIGlkZW50aXR5IG9iamVjdCB3aXRoIG5ldyBjcmVkZW50aWFscy5cbiAgICovXG4gIGFzeW5jIHVwZGF0ZUlkZW50aXR5KFxuICAgIGVucm9sbG1lbnRJZDogc3RyaW5nLFxuICAgIGlkZW50aXR5OiB7IGNlcnRpZmljYXRlOiBzdHJpbmc7IHByaXZhdGVLZXk6IHN0cmluZyB9LFxuICAgIGlkZW50aXR5UmVxdWVzdDogSUlkZW50aXR5UmVxdWVzdCxcbiAgICAuLi5hcmdzOiBNYXliZUNvbnRleHR1YWxBcmc8YW55PlxuICApOiBQcm9taXNlPElkZW50aXR5PiB7XG4gICAgY29uc3QgeyBsb2csIGN0eCB9ID0gKGF3YWl0IHRoaXMubG9nQ3R4KGFyZ3MsIFwicmVlbnJvbGxcIiwgdHJ1ZSkpLmZvcihcbiAgICAgIHRoaXMudXBkYXRlSWRlbnRpdHlcbiAgICApO1xuXG4gICAgdHJ5IHtcbiAgICAgIGxvZy5pbmZvKGBSZW5ld2luZyBpZGVudGl0eSBmb3IgJHtlbnJvbGxtZW50SWR9YCk7XG5cbiAgICAgIC8vIFVwZGF0ZSBhdHRyaWJ1dGVzIGluIHRoZSBDQSByZWdpc3RyeSAoYWRtaW4gb3BlcmF0aW9uKS4gVGhpcyBjaGFuZ2VzIHRoZSBcInNvdXJjZSBvZiB0cnV0aFwiLlxuICAgICAgY29uc3QgaWRlbnRpdHlTZXJ2aWNlID0gdGhpcy5jbGllbnQubmV3SWRlbnRpdHlTZXJ2aWNlKCk7XG5cbiAgICAgIGNvbnN0IGNhVXNlcklkZW50aXR5ID0gKGF3YWl0IGlkZW50aXR5U2VydmljZS5nZXRPbmUoXG4gICAgICAgIGVucm9sbG1lbnRJZCxcbiAgICAgICAgdGhpcy51c2VyXG4gICAgICApKSBhcyB7IHJlc3VsdDogeyBhdHRycz86IElLZXlWYWx1ZUF0dHJpYnV0ZVtdIH0gfTtcblxuICAgICAgYXdhaXQgaWRlbnRpdHlTZXJ2aWNlLnVwZGF0ZShlbnJvbGxtZW50SWQsIGlkZW50aXR5UmVxdWVzdCwgdGhpcy51c2VyKTsgLy8gYXMgSVNlcnZpY2VSZXNwb25zZSAmIHsgcmVzdWx0OiBJSWRlbnRpdHlSZXF1ZXN0IH07XG5cbiAgICAgIC8vIFJlZW5yb2xsIGFzIHRoZSB1c2VyLiBSZXF1ZXN0IG11c3QgYmUgc2lnbmVkIHVzaW5nIHRoZSBleGlzdGluZyBjZXJ0aWZpY2F0ZS5cbiAgICAgIGNvbnN0IHJlZW5yb2xsVXNlciA9IFVzZXIuY3JlYXRlVXNlcihcbiAgICAgICAgZW5yb2xsbWVudElkLFxuICAgICAgICBcIlwiLCAvLyBlbnJvbGxtZW50U2VjcmV0IG5vdCByZXF1aXJlZCBmb3IgcmVlbnJvbGxcbiAgICAgICAgdGhpcy51c2VyLmdldE1zcGlkKCksXG4gICAgICAgIGlkZW50aXR5LmNlcnRpZmljYXRlLFxuICAgICAgICBpZGVudGl0eS5wcml2YXRlS2V5XG4gICAgICApO1xuICAgICAgcmVlbnJvbGxVc2VyLnNldENyeXB0b1N1aXRlKHRoaXMudXNlci5nZXRDcnlwdG9TdWl0ZSgpKTtcblxuICAgICAgY29uc3QgZW5yb2xsbWVudEF0dHJzOiBJQXR0cmlidXRlUmVxdWVzdFtdID0gKFxuICAgICAgICBjYVVzZXJJZGVudGl0eS5yZXN1bHQuYXR0cnMgfHwgW11cbiAgICAgICkubWFwKCh7IG5hbWUgfSkgPT4gKHtcbiAgICAgICAgbmFtZSxcbiAgICAgICAgb3B0aW9uYWw6IGZhbHNlLFxuICAgICAgfSkpO1xuXG4gICAgICBjb25zdCBlbnJvbGxtZW50ID0gYXdhaXQgdGhpcy5jbGllbnQucmVlbnJvbGwoXG4gICAgICAgIHJlZW5yb2xsVXNlcixcbiAgICAgICAgZW5yb2xsbWVudEF0dHJzXG4gICAgICApO1xuXG4gICAgICBjb25zdCByZW5ld2VkSWRlbnRpdHkgPSBGYWJyaWNJZGVudGl0eVNlcnZpY2UuaWRlbnRpdHlGcm9tRW5yb2xsbWVudChcbiAgICAgICAgZW5yb2xsbWVudCxcbiAgICAgICAgdGhpcy5jb25maWcuY2FOYW1lLFxuICAgICAgICBjdHhcbiAgICAgICk7XG5cbiAgICAgIC8vIFJldm9rZSB0aGUgcHJldmlvdXMgY2VydGlmaWNhdGUgb25seSwgc28gdGhlIG9sZCBjZXJ0IGJlY29tZXMgaW52YWxpZC5cbiAgICAgIGxvZy5kZWJ1ZyhgUmV2b2tpbmcgcHJldmlvdXMgY2VydGlmaWNhdGVzIGZvciAke2Vucm9sbG1lbnRJZH1gKTtcbiAgICAgIGNvbnN0IHsgYWtpLCBzZXJpYWwgfSA9IGdldEFraUFuZFNlcmlhbEZyb21DZXJ0KGlkZW50aXR5LmNlcnRpZmljYXRlKTtcbiAgICAgIGF3YWl0IHRoaXMucmV2b2tlKGVucm9sbG1lbnRJZCwgeyBha2ksIHNlcmlhbCB9LCBhcmdzKTtcblxuICAgICAgbG9nLmRlYnVnKGBSZW5ldyBpZGVudGl0eSBzdWNjZXNzZnVsIGZvciAke2Vucm9sbG1lbnRJZH1gKTtcbiAgICAgIHJldHVybiByZW5ld2VkSWRlbnRpdHk7XG4gICAgfSBjYXRjaCAoZTogYW55KSB7XG4gICAgICB0aHJvdyB0aGlzLnBhcnNlRXJyb3IoZSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJldm9rZXMgdGhlIGVucm9sbG1lbnQgb2YgYW4gaWRlbnRpdHkgd2l0aCB0aGUgc3BlY2lmaWVkIGVucm9sbG1lbnQgSUQuXG4gICAqXG4gICAqIEBwYXJhbSBlbnJvbGxtZW50SWQgLSBUaGUgZW5yb2xsbWVudCBJRCBvZiB0aGUgaWRlbnRpdHkgdG8gYmUgcmV2b2tlZC5cbiAgICpcbiAgICogQHJldHVybnMgQSBQcm9taXNlIHRoYXQgcmVzb2x2ZXMgdG8gdGhlIHJlc3VsdCBvZiB0aGUgcmV2b2NhdGlvbiBvcGVyYXRpb24uXG4gICAqXG4gICAqIEB0aHJvd3Mge05vdEZvdW5kRXJyb3J9IElmIHRoZSBlbnJvbGxtZW50IHdpdGggdGhlIHNwZWNpZmllZCBJRCBkb2VzIG5vdCBleGlzdC5cbiAgICogQHRocm93cyB7SW50ZXJuYWxFcnJvcn0gSWYgdGhlcmUgaXMgYW4gZXJyb3IgZHVyaW5nIHRoZSByZXZvY2F0aW9uIHByb2Nlc3MuXG4gICAqL1xuICBhc3luYyByZXZva2UoXG4gICAgZW5yb2xsbWVudElkOiBzdHJpbmcsXG4gICAgcmV2b2tlT3B0aW9uczogT21pdDxJUmV2b2tlUmVxdWVzdCwgXCJlbnJvbGxtZW50SURcIj4sXG4gICAgLi4uYXJnczogTWF5YmVDb250ZXh0dWFsQXJnPGFueT5cbiAgKTogUHJvbWlzZTxJU2VydmljZVJlc3BvbnNlPiB7XG4gICAgY29uc3QgeyBsb2cgfSA9IChhd2FpdCB0aGlzLmxvZ0N0eChhcmdzLCBcInJldm9rZVwiLCB0cnVlKSkuZm9yKHRoaXMucmV2b2tlKTtcbiAgICBsb2cudmVyYm9zZShgUmV2b2tpbmcgaWRlbnRpdHkgd2l0aCBlbnJvbGxtZW50IElEICR7ZW5yb2xsbWVudElkfWApO1xuICAgIGNvbnN0IGlkZW50aXR5ID0gYXdhaXQgdGhpcy5yZWFkKGVucm9sbG1lbnRJZCk7XG4gICAgaWYgKCFpZGVudGl0eSlcbiAgICAgIHRocm93IG5ldyBOb3RGb3VuZEVycm9yKFxuICAgICAgICBgQ291bGQgbm90IGZpbmQgZW5yb2xsbWVudCB3aXRoIGlkICR7ZW5yb2xsbWVudElkfWBcbiAgICAgICk7XG4gICAgbGV0IHJlc3VsdDogSVNlcnZpY2VSZXNwb25zZTtcbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVhc29uID1cbiAgICAgICAgQm9vbGVhbihyZXZva2VPcHRpb25zLnNlcmlhbCkgfHwgQm9vbGVhbihyZXZva2VPcHRpb25zLmFraSlcbiAgICAgICAgICA/IFwiUmV2b2tlIFVzZXIgQ2VydGlmaWNhdGVcIlxuICAgICAgICAgIDogXCJVc2VyIERlbGV0aW9uXCI7XG5cbiAgICAgIGNvbnN0IHJldm9rZVJlcXVlc3Q6IElSZXZva2VSZXF1ZXN0ID0ge1xuICAgICAgICByZWFzb24sXG4gICAgICAgIC4uLnJldm9rZU9wdGlvbnMsXG4gICAgICAgIGVucm9sbG1lbnRJRDogaWRlbnRpdHkuaWQsXG4gICAgICB9O1xuXG4gICAgICByZXN1bHQgPSBhd2FpdCB0aGlzLmNsaWVudC5yZXZva2UocmV2b2tlUmVxdWVzdCwgdGhpcy51c2VyKTtcbiAgICB9IGNhdGNoIChlOiB1bmtub3duKSB7XG4gICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihcbiAgICAgICAgYENvdWxkIG5vdCByZXZva2UgZW5yb2xsbWVudCB3aXRoIGlkICR7ZW5yb2xsbWVudElkfTogJHtlfWBcbiAgICAgICk7XG4gICAgfVxuICAgIGlmICghcmVzdWx0LnN1Y2Nlc3MpXG4gICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihcbiAgICAgICAgYENvdWxkIG5vdCByZXZva2UgZW5yb2xsbWVudCB3aXRoIGlkICR7ZW5yb2xsbWVudElkfTogJHtyZXN1bHQuZXJyb3JzLmpvaW4oXCJcXG5cIil9YFxuICAgICAgKTtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG59XG4iXX0=
325
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRmFicmljSWRlbnRpdHlTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiRmFicmljSWRlbnRpdHlTZXJ2aWNlLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLHlDQUFtRztBQUNuRyx3RUFBZ0Q7QUFDaEQsMkRBQXNHO0FBQ3RHLDRDQUFtRTtBQUNuRSxpREFBcUM7QUFDckMsd0RBQTZEO0FBQzdELHNEQUFtRDtBQUNuRCw4Q0FBNkM7QUFDN0MsTUFBYSxxQkFBc0IsU0FBUSx5QkFBa0I7SUFDekQ7UUFDSSxLQUFLLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFDRCxJQUFJLFVBQVU7UUFDVixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBQ0QsSUFBSSxJQUFJO1FBQ0osSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLO1lBQ1gsTUFBTSxJQUFJLDZCQUFhLENBQUMsMERBQTBELENBQUMsQ0FBQztRQUN4RixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDdEIsQ0FBQztJQUNELElBQUksWUFBWTtRQUNaLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO0lBQ25ELENBQUM7SUFDRCxJQUFJLFlBQVk7UUFDWixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMscUJBQXFCLEVBQUUsQ0FBQztJQUMvQyxDQUFDO0lBQ0QsSUFBSSxVQUFVO1FBQ1YsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDNUMsQ0FBQztJQUNELEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEdBQUc7UUFDbEIsTUFBTSxHQUFHLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3pDLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsR0FBRyxF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QUFHLGFBQWE7Z0JBQ2hCLFlBQVksRUFBRSxRQUFRLENBQUMsRUFBRTthQUM1QixDQUFDO1lBQ0YsTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNoRSxDQUFDO1FBQ0QsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUNQLE1BQU0sSUFBSSw2QkFBYSxDQUFDLHVDQUF1QyxZQUFZLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN6RixDQUFDO1FBQ0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPO1lBQ2YsTUFBTSxJQUFJLDZCQUFhLENBQUMsdUNBQXVDLFlBQVksS0FBSyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDaEgsT0FBTyxNQUFNLENBQUM7SUFDbEIsQ0FBQztDQUNKO0FBblRELHNEQW1UQztBQUNELDB1dENBQTB1dEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBdXRob3JpemF0aW9uRXJyb3IsIENsaWVudEJhc2VkU2VydmljZSwgQ29udGV4dCwgUGVyc2lzdGVuY2VLZXlzLCB9IGZyb20gXCJAZGVjYWYtdHMvY29yZVwiO1xuaW1wb3J0IEZhYnJpY0NBU2VydmljZXMgZnJvbSBcImZhYnJpYy1jYS1jbGllbnRcIjtcbmltcG9ydCB7IENvbmZsaWN0RXJyb3IsIEludGVybmFsRXJyb3IsIE5vdEZvdW5kRXJyb3IsIE9wZXJhdGlvbktleXMsIH0gZnJvbSBcIkBkZWNhZi10cy9kYi1kZWNvcmF0b3JzXCI7XG5pbXBvcnQgeyBDb3JlVXRpbHMsIGdldEFraUFuZFNlcmlhbEZyb21DZXJ0IH0gZnJvbSBcIi4vLi4vdXRpbHMuanNcIjtcbmltcG9ydCB7IFVzZXIgfSBmcm9tIFwiZmFicmljLWNvbW1vblwiO1xuaW1wb3J0IHsgUmVnaXN0cmF0aW9uRXJyb3IgfSBmcm9tIFwiLi8uLi8uLi9zaGFyZWQvZXJyb3JzLmpzXCI7XG5pbXBvcnQgeyBJZGVudGl0eSB9IGZyb20gXCIuLy4uLy4uL3NoYXJlZC9pbmRleC5qc1wiO1xuaW1wb3J0IHsgQ3J5cHRvVXRpbHMgfSBmcm9tIFwiLi8uLi9jcnlwdG8uanNcIjtcbmV4cG9ydCBjbGFzcyBGYWJyaWNJZGVudGl0eVNlcnZpY2UgZXh0ZW5kcyBDbGllbnRCYXNlZFNlcnZpY2Uge1xuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cbiAgICBnZXQgcm9vdENsaWVudCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY2xpZW50W1wiX0ZhYnJpY0NhU2VydmljZXNcIl07XG4gICAgfVxuICAgIGdldCB1c2VyKCkge1xuICAgICAgICBpZiAoIXRoaXMuX3VzZXIpXG4gICAgICAgICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihcIkZhYnJpYyBpZGVudGl0eSBzZXJ2aWNlIG5vdCBwcm9wZXJseSBzZXR1cDogbWlzc2luZyB1c2VyXCIpO1xuICAgICAgICByZXR1cm4gdGhpcy5fdXNlcjtcbiAgICB9XG4gICAgZ2V0IGNlcnRpZmljYXRlcygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucm9vdENsaWVudC5uZXdDZXJ0aWZpY2F0ZVNlcnZpY2UoKTtcbiAgICB9XG4gICAgZ2V0IGFmZmlsaWF0aW9ucygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY2xpZW50Lm5ld0FmZmlsaWF0aW9uU2VydmljZSgpO1xuICAgIH1cbiAgICBnZXQgaWRlbnRpdGllcygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY2xpZW50Lm5ld0lkZW50aXR5U2VydmljZSgpO1xuICAgIH1cbiAgICBhc3luYyBnZXRVc2VyKGNmZywgY3R4KSB7XG4gICAgICAgIGNvbnN0IGxvZyA9IGN0eC5sb2dnZXIuZm9yKHRoaXMuZ2V0VXNlcik7XG4gICAgICAgIGNvbnN0IHsgY2FOYW1lLCBjYUNlcnQsIGNhS2V5LCB1cmwsIGhzbSB9ID0gY2ZnO1xuICAgICAgICBsb2cuaW5mbyhgQ3JlYXRpbmcgQ0EgdXNlciBmb3IgJHtjYU5hbWV9IGF0ICR7dXJsfWApO1xuICAgICAgICBsb2cudmVyYm9zZShgUmV0cmlldmluZyBDQSBjZXJ0aWZpY2F0ZSBmcm9tICR7Y2FDZXJ0fWApO1xuICAgICAgICBjb25zdCBjZXJ0aWZpY2F0ZSA9IGF3YWl0IENvcmVVdGlscy5nZXRGaXJzdERpckZpbGVOYW1lQ29udGVudChjYUNlcnQpO1xuICAgICAgICBsZXQga2V5O1xuICAgICAgICBpZiAoIWhzbSkge1xuICAgICAgICAgICAgaWYgKCFjYUtleSkge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKGBNaXNzaW5nIGNhS2V5IGNvbmZpZ3VyYXRpb24gZm9yIENBICR7Y2FOYW1lfS4gUHJvdmlkZSBhIGtleSBkaXJlY3Rvcnkgb3IgY29uZmlndXJlIEhTTSBzdXBwb3J0LmApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbG9nLmRlYnVnKGBSZXRyaWV2aW5nIENBIGtleSBmcm9tICR7Y2FLZXl9YCk7XG4gICAgICAgICAgICBrZXkgPSBhd2FpdCBDb3JlVXRpbHMuZ2V0Rmlyc3REaXJGaWxlTmFtZUNvbnRlbnQoY2FLZXkpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgbG9nLmRlYnVnKGBVc2luZyBIU00gY29uZmlndXJhdGlvbiBmb3IgQ0EgJHtjYU5hbWV9IHdpdGggbGlicmFyeSAke2hzbS5saWJyYXJ5fWApO1xuICAgICAgICB9XG4gICAgICAgIGxvZy5kZWJ1ZyhgTG9hZGluZyBBZG1pbiB1c2VyIGZvciBjYSAke2NhTmFtZX1gKTtcbiAgICAgICAgdGhpcy5fdXNlciA9IGF3YWl0IENvcmVVdGlscy5nZXRDQVVzZXIoXCJhZG1pblwiLCBrZXksIGNlcnRpZmljYXRlLCBjYU5hbWUsIHtcbiAgICAgICAgICAgIGhzbSxcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiB0aGlzLl91c2VyO1xuICAgIH1cbiAgICBhc3luYyBpbml0aWFsaXplKC4uLmFyZ3MpIHtcbiAgICAgICAgY29uc3QgeyBsb2csIGN0eCB9ID0gKGF3YWl0IHRoaXMubG9nQ3R4KGFyZ3MsIFBlcnNpc3RlbmNlS2V5cy5JTklUSUFMSVpBVElPTiwgdHJ1ZSkpLmZvcih0aGlzLmluaXRpYWxpemUpO1xuICAgICAgICBjb25zdCBbY29uZmlnXSA9IGFyZ3M7XG4gICAgICAgIGlmICghY29uZmlnKVxuICAgICAgICAgICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoXCJNaXNzaW5nIEZhYnJpYyBDQSBjb25maWd1cmF0aW9uXCIpO1xuICAgICAgICBjb25zdCB7IHVybCwgdGxzLCBjYU5hbWUgfSA9IGNvbmZpZztcbiAgICAgICAgbG9nLmluZm8oYEluaXRpYWxpemluZyBDQSBDbGllbnQgZm9yIENBICR7Y29uZmlnLmNhTmFtZX0gYXQgJHtjb25maWcudXJsfWApO1xuICAgICAgICBjb25zdCB7IHRydXN0ZWRSb290cywgdmVyaWZ5IH0gPSB0bHM7XG4gICAgICAgIGNvbnN0IHJvb3QgPSB0cnVzdGVkUm9vdHNbMF07XG4gICAgICAgIGxvZy5kZWJ1ZyhgUmV0cmlldmluZyBDQSBjZXJ0aWZpY2F0ZSBmcm9tICR7cm9vdH0uIGN3ZDogJHtwcm9jZXNzLmN3ZCgpfWApO1xuICAgICAgICBjb25zdCBjZXJ0aWZpY2F0ZSA9IGF3YWl0IENvcmVVdGlscy5nZXRGaWxlQ29udGVudChyb290KTtcbiAgICAgICAgbG9nLmRlYnVnKGBDQSBDZXJ0aWZpY2F0ZTogJHtjZXJ0aWZpY2F0ZS50b1N0cmluZygpfWApO1xuICAgICAgICBjb25zdCBjbGllbnQgPSBuZXcgRmFicmljQ0FTZXJ2aWNlcyh1cmwsIHtcbiAgICAgICAgICAgIHRydXN0ZWRSb290czogQnVmZmVyLmZyb20oY2VydGlmaWNhdGUpLFxuICAgICAgICAgICAgdmVyaWZ5LFxuICAgICAgICB9LCBjYU5hbWUpO1xuICAgICAgICBjb25zdCB1c2VyID0gYXdhaXQgdGhpcy5nZXRVc2VyKGNvbmZpZywgY3R4KTtcbiAgICAgICAgbG9nLmRlYnVnKGBDQSB1c2VyIGxvYWRlZDogJHt1c2VyLmdldE5hbWUoKX1gKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGNvbmZpZyxcbiAgICAgICAgICAgIGNsaWVudCxcbiAgICAgICAgfTtcbiAgICB9XG4gICAgYXN5bmMgZ2V0Q2VydGlmaWNhdGVzKHJlcXVlc3QsIGRvTWFwID0gdHJ1ZSwgLi4uYXJncykge1xuICAgICAgICBpZiAocmVxdWVzdCBpbnN0YW5jZW9mIENvbnRleHQpIHtcbiAgICAgICAgICAgIGFyZ3MgPSBbcmVxdWVzdF07XG4gICAgICAgICAgICBkb01hcCA9IHRydWU7XG4gICAgICAgICAgICByZXF1ZXN0ID0gdW5kZWZpbmVkO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKHR5cGVvZiByZXF1ZXN0ID09PSBcImJvb2xlYW5cIikge1xuICAgICAgICAgICAgZG9NYXAgPSByZXF1ZXN0O1xuICAgICAgICAgICAgcmVxdWVzdCA9IHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmICh0eXBlb2YgZG9NYXAgIT09IFwiYm9vbGVhblwiKSB7XG4gICAgICAgICAgICBhcmdzID0gW2RvTWFwLCAuLi5hcmdzXTtcbiAgICAgICAgICAgIGRvTWFwID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCB7IGxvZyB9ID0gKGF3YWl0IHRoaXMubG9nQ3R4KGFyZ3MsIE9wZXJhdGlvbktleXMuUkVBRCwgdHJ1ZSkpLmZvcih0aGlzLmdldENlcnRpZmljYXRlcyk7XG4gICAgICAgIGxvZy5kZWJ1ZyhgUmV0cmlldmluZyBjZXJ0aWZpY2F0ZXMke3JlcXVlc3QgPyBgIGZvciAke3JlcXVlc3QuaWR9YCA6IFwiXCJ9IGZvciBDQSAke3RoaXMuY29uZmlnLmNhTmFtZX1gKTtcbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPSAoYXdhaXQgdGhpcy5jZXJ0aWZpY2F0ZXMuZ2V0Q2VydGlmaWNhdGVzKHJlcXVlc3QgfHwge30sIHRoaXMudXNlcikpLnJlc3VsdDtcbiAgICAgICAgbG9nLnZlcmJvc2UoYEZvdW5kICR7cmVzcG9uc2UuY2VydHMubGVuZ3RofSBjZXJ0aWZpY2F0ZXNgKTtcbiAgICAgICAgbG9nLmRlYnVnKHJlc3BvbnNlLmNlcnRzKTtcbiAgICAgICAgcmV0dXJuIChkb01hcCA/IHJlc3BvbnNlLmNlcnRzLm1hcCgoYykgPT4gYy5QRU0pIDogcmVzcG9uc2UpO1xuICAgIH1cbiAgICBhc3luYyBnZXRJZGVudGl0aWVzKGN0eCkge1xuICAgICAgICBjb25zdCBsb2cgPSBjdHgubG9nZ2VyLmZvcih0aGlzLmdldElkZW50aXRpZXMpO1xuICAgICAgICBsb2cudmVyYm9zZShgUmV0cmlldmluZyBJZGVudGl0aWVzIHVuZGVyIENBICR7dGhpcy5jb25maWcuY2FOYW1lfWApO1xuICAgICAgICBjb25zdCByZXNwb25zZSA9IChhd2FpdCB0aGlzLmlkZW50aXRpZXMuZ2V0QWxsKHRoaXMudXNlcikpXG4gICAgICAgICAgICAucmVzdWx0O1xuICAgICAgICBsb2cudmVyYm9zZShgRm91bmQgJHtyZXNwb25zZS5pZGVudGl0aWVzLmxlbmd0aH0gSWRlbnRpdGllc2ApO1xuICAgICAgICBsb2cuZGVidWcocmVzcG9uc2UuaWRlbnRpdGllcyk7XG4gICAgICAgIHJldHVybiByZXNwb25zZS5pZGVudGl0aWVzO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gUmV0cmlldmUgYWZmaWxpYXRpb25zIGZyb20gdGhlIENBLlxuICAgICAqIEBzdW1tYXJ5IFF1ZXJpZXMgdGhlIENBIGZvciB0aGUgbGlzdCBvZiBhZmZpbGlhdGlvbnMgYXZhaWxhYmxlIHVuZGVyIHRoZSBjb25maWd1cmVkIENBLlxuICAgICAqIEByZXR1cm4ge3N0cmluZ30gVGhlIGFmZmlsaWF0aW9ucyByZXN1bHQgcGF5bG9hZC5cbiAgICAgKi9cbiAgICBhc3luYyBnZXRBZmZpbGlhdGlvbnMoY3R4KSB7XG4gICAgICAgIGNvbnN0IGxvZyA9IGN0eC5sb2dnZXIuZm9yKHRoaXMuZ2V0QWZmaWxpYXRpb25zKTtcbiAgICAgICAgbG9nLnZlcmJvc2UoYFJldHJpZXZpbmcgQWZmaWxpYXRpb25zIHVuZGVyIENBICR7dGhpcy5jb25maWcuY2FOYW1lfWApO1xuICAgICAgICBjb25zdCByZXNwb25zZSA9IChhd2FpdCB0aGlzLmFmZmlsaWF0aW9ucy5nZXRBbGwodGhpcy51c2VyKSkucmVzdWx0O1xuICAgICAgICBsb2cudmVyYm9zZShgRm91bmQgJHtyZXNwb25zZS5hLmxlbmd0aH0gQWZmaWxpYXRpb25zYCk7XG4gICAgICAgIGxvZy5kZWJ1ZyhKU09OLnN0cmluZ2lmeShyZXNwb25zZSkpO1xuICAgICAgICByZXR1cm4gcmVzcG9uc2U7XG4gICAgfVxuICAgIHBhcnNlRXJyb3IoZSkge1xuICAgICAgICBjb25zdCByZWdleHAgPSAvLipjb2RlOlxccyhcXGQrKS4qP21lc3NhZ2U6XFxzW1wiJ10oLispW1wiJ10vZ3M7XG4gICAgICAgIGNvbnN0IG1hdGNoID0gcmVnZXhwLmV4ZWMoZS5tZXNzYWdlKTtcbiAgICAgICAgaWYgKCFtYXRjaClcbiAgICAgICAgICAgIHJldHVybiBuZXcgUmVnaXN0cmF0aW9uRXJyb3IoZSk7XG4gICAgICAgIGNvbnN0IFssIGNvZGUsIG1lc3NhZ2VdID0gbWF0Y2g7XG4gICAgICAgIHN3aXRjaCAoY29kZSkge1xuICAgICAgICAgICAgY2FzZSBcIjc0XCI6XG4gICAgICAgICAgICBjYXNlIFwiNzFcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IENvbmZsaWN0RXJyb3IobWVzc2FnZSk7XG4gICAgICAgICAgICBjYXNlIFwiMjBcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEF1dGhvcml6YXRpb25FcnJvcihtZXNzYWdlKTtcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBSZWdpc3RyYXRpb25FcnJvcihtZXNzYWdlKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gUmVhZCBpZGVudGl0eSBkZXRhaWxzIGZyb20gdGhlIENBIGJ5IGVucm9sbG1lbnQgSUQuXG4gICAgICogQHN1bW1hcnkgUmV0cmlldmVzIGFuZCB2YWxpZGF0ZXMgYSBzaW5nbGUgaWRlbnRpdHksIHRocm93aW5nIE5vdEZvdW5kRXJyb3Igd2hlbiBtaXNzaW5nLlxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBlbnJvbGxtZW50SWQgLSBFbnJvbGxtZW50IElEIHRvIGxvb2t1cC5cbiAgICAgKiBAcmV0dXJuIHtQcm9taXNlPEZhYnJpY0lkZW50aXR5Pn0gVGhlIGlkZW50aXR5IGRldGFpbHMgc3RvcmVkIGluIHRoZSBDQS5cbiAgICAgKi9cbiAgICBhc3luYyByZWFkKGVucm9sbG1lbnRJZCwgLi4uYXJncykge1xuICAgICAgICBjb25zdCB7IGxvZyB9ID0gKGF3YWl0IHRoaXMubG9nQ3R4KGFyZ3MsIE9wZXJhdGlvbktleXMuUkVBRCwgdHJ1ZSkpLmZvcih0aGlzLnJlYWQpO1xuICAgICAgICBsb2cudmVyYm9zZShgUmV0cmlldmluZyBpZGVudGl0eSB3aXRoIGVucm9sbG1lbnQgSUQgJHtlbnJvbGxtZW50SWR9YCk7XG4gICAgICAgIGxldCByZXN1bHQ7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICByZXN1bHQgPSBhd2FpdCB0aGlzLmlkZW50aXRpZXMuZ2V0T25lKGVucm9sbG1lbnRJZCwgdGhpcy51c2VyKTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IE5vdEZvdW5kRXJyb3IoYENvdWxkbid0IGZpbmQgZW5yb2xsbWVudCB3aXRoIGlkICR7ZW5yb2xsbWVudElkfTogJHtlfWApO1xuICAgICAgICB9XG4gICAgICAgIGlmICghcmVzdWx0LnN1Y2Nlc3MpXG4gICAgICAgICAgICB0aHJvdyBuZXcgTm90Rm91bmRFcnJvcihgQ291bGRuJ3QgZmluZCBlbnJvbGxtZW50IHdpdGggaWQgJHtlbnJvbGxtZW50SWR9OiAke3Jlc3VsdC5lcnJvcnMuam9pbihcIlxcblwiKX1gKTtcbiAgICAgICAgcmV0dXJuIHJlc3VsdC5yZXN1bHQ7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBSZWdpc3RlciBhIG5ldyBpZGVudGl0eSB3aXRoIHRoZSBDQS5cbiAgICAgKiBAc3VtbWFyeSBTdWJtaXRzIGEgcmVnaXN0cmF0aW9uIHJlcXVlc3QgZm9yIGEgbmV3IGVucm9sbG1lbnQgSUQsIHJldHVybmluZyB0aGUgZW5yb2xsbWVudCBzZWNyZXQgdXBvbiBzdWNjZXNzLlxuICAgICAqIEBwYXJhbSB7Q3JlZGVudGlhbHN9IG1vZGVsIC0gQ3JlZGVudGlhbHMgY29udGFpbmluZyB1c2VyTmFtZSBhbmQgcGFzc3dvcmQgZm9yIHRoZSBuZXcgaWRlbnRpdHkuXG4gICAgICogQHBhcmFtIHtib29sZWFufSBbaXNTdXBlclVzZXI9ZmFsc2VdIC0gV2hldGhlciB0byByZWdpc3RlciB0aGUgaWRlbnRpdHkgYXMgYSBzdXBlciB1c2VyLlxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbYWZmaWxpYXRpb249XCJcIl0gLSBBZmZpbGlhdGlvbiBzdHJpbmcgKGUuZy4sIG9yZzEuZGVwYXJ0bWVudDEpLlxuICAgICAqIEBwYXJhbSB7Q0FfUk9MRSB8IHN0cmluZ30gW3VzZXJSb2xlXSAtIFJvbGUgdG8gYXNzaWduIHRvIHRoZSBpZGVudGl0eS5cbiAgICAgKiBAcGFyYW0ge0lLZXlWYWx1ZUF0dHJpYnV0ZX0gW2F0dHJzXSAtIE9wdGlvbmFsIGF0dHJpYnV0ZXMgdG8gYXR0YWNoIHRvIHRoZSBpZGVudGl0eS5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gW21heEVucm9sbG1lbnRzXSAtIE1heGltdW0gbnVtYmVyIG9mIGVucm9sbG1lbnRzIGFsbG93ZWQgZm9yIHRoZSBpZGVudGl0eS5cbiAgICAgKiBAcmV0dXJuIHtQcm9taXNlPHN0cmluZz59IFRoZSBlbnJvbGxtZW50IHNlY3JldCBmb3IgdGhlIHJlZ2lzdGVyZWQgaWRlbnRpdHkuXG4gICAgICovXG4gICAgYXN5bmMgcmVnaXN0ZXIobW9kZWwsIGlzU3VwZXJVc2VyID0gZmFsc2UsIGFmZmlsaWF0aW9uID0gXCJcIiwgdXNlclJvbGUsIGF0dHJzLCBtYXhFbnJvbGxtZW50cywgLi4uYXJncykge1xuICAgICAgICBjb25zdCB7IGxvZyB9ID0gKGF3YWl0IHRoaXMubG9nQ3R4KGFyZ3MsIFwicmVnaXN0ZXJcIiwgdHJ1ZSkpLmZvcih0aGlzLnJlZ2lzdGVyKTtcbiAgICAgICAgbGV0IHJlZ2lzdHJhdGlvbjtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IHsgdXNlck5hbWUsIHBhc3N3b3JkIH0gPSBtb2RlbDtcbiAgICAgICAgICAgIGNvbnN0IHByb3BzID0ge1xuICAgICAgICAgICAgICAgIGVucm9sbG1lbnRJRDogdXNlck5hbWUsXG4gICAgICAgICAgICAgICAgZW5yb2xsbWVudFNlY3JldDogcGFzc3dvcmQsXG4gICAgICAgICAgICAgICAgYWZmaWxpYXRpb246IGFmZmlsaWF0aW9uLFxuICAgICAgICAgICAgICAgIHVzZXJSb2xlOiB1c2VyUm9sZSxcbiAgICAgICAgICAgICAgICBhdHRyczogYXR0cnMsXG4gICAgICAgICAgICAgICAgbWF4RW5yb2xsbWVudHM6IG1heEVucm9sbG1lbnRzLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIHJlZ2lzdHJhdGlvbiA9IGF3YWl0IHRoaXMuY2xpZW50LnJlZ2lzdGVyKHByb3BzLCB0aGlzLnVzZXIpO1xuICAgICAgICAgICAgbG9nLmluZm8oYFJlZ2lzdHJhdGlvbiBmb3IgJHt1c2VyTmFtZX0gY3JlYXRlZCB3aXRoIHVzZXIgdHlwZSAke3VzZXJSb2xlID8/IFwiVW5kZWZpbmVkIFJvbGVcIn0gJHtpc1N1cGVyVXNlciA/IFwiYXMgc3VwZXIgdXNlclwiIDogXCJcIn1gKTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZSkge1xuICAgICAgICAgICAgdGhyb3cgdGhpcy5wYXJzZUVycm9yKGUpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZWdpc3RyYXRpb247XG4gICAgfVxuICAgIHN0YXRpYyBpZGVudGl0eUZyb21FbnJvbGxtZW50KGVucm9sbG1lbnQsIG1zcElkLCBjdHgpIHtcbiAgICAgICAgY29uc3QgbG9nID0gY3R4LmxvZ2dlci5mb3IodGhpcy5pZGVudGl0eUZyb21FbnJvbGxtZW50KTtcbiAgICAgICAgY29uc3QgeyBjZXJ0aWZpY2F0ZSwga2V5LCByb290Q2VydGlmaWNhdGUgfSA9IGVucm9sbG1lbnQ7XG4gICAgICAgIGxvZy52ZXJib3NlKGBHZW5lcmF0aW5nIElkZW50aXR5IGZyb20gY2VydGlmaWNhdGUgJHtjZXJ0aWZpY2F0ZX0gaW4gbXNwICR7bXNwSWR9YCk7XG4gICAgICAgIGNvbnN0IGNsaWVudElkID0gQ3J5cHRvVXRpbHMuZmFicmljSWRGcm9tQ2VydGlmaWNhdGUoY2VydGlmaWNhdGUpO1xuICAgICAgICBjb25zdCBpZCA9IENyeXB0b1V0aWxzLmVuY29kZShjbGllbnRJZCk7XG4gICAgICAgIGxvZy5kZWJ1ZyhgSWRlbnRpdHkgJHtjbGllbnRJZH0gYW5kIGVuY29kZWRJZCAke2lkfWApO1xuICAgICAgICByZXR1cm4gbmV3IElkZW50aXR5KHtcbiAgICAgICAgICAgIGlkOiBpZCxcbiAgICAgICAgICAgIGNyZWRlbnRpYWxzOiB7XG4gICAgICAgICAgICAgICAgaWQ6IGlkLFxuICAgICAgICAgICAgICAgIGNlcnRpZmljYXRlOiBjZXJ0aWZpY2F0ZSxcbiAgICAgICAgICAgICAgICBwcml2YXRlS2V5OiBrZXkudG9CeXRlcygpLFxuICAgICAgICAgICAgICAgIHJvb3RDZXJ0aWZpY2F0ZTogcm9vdENlcnRpZmljYXRlLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIG1zcElkOiBtc3BJZCxcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBFbnJvbGwgYW4gaWRlbnRpdHkgd2l0aCB0aGUgQ0EgdXNpbmcgYSByZWdpc3RyYXRpb24gc2VjcmV0LlxuICAgICAqIEBzdW1tYXJ5IEV4Y2hhbmdlcyB0aGUgZW5yb2xsbWVudCBJRCBhbmQgc2VjcmV0IGZvciBjZXJ0aWZpY2F0ZXMsIHJldHVybmluZyBhIGNvbnN0cnVjdGVkIElkZW50aXR5IG1vZGVsLlxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBlbnJvbGxtZW50SWQgLSBFbnJvbGxtZW50IElEIHRvIGVucm9sbC5cbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gcmVnaXN0cmF0aW9uIC0gRW5yb2xsbWVudCBzZWNyZXQgcmV0dXJuZWQgYXQgcmVnaXN0cmF0aW9uIHRpbWUuXG4gICAgICogQHJldHVybiB7UHJvbWlzZTxJZGVudGl0eT59IFRoZSBlbnJvbGxlZCBpZGVudGl0eSBvYmplY3Qgd2l0aCBjcmVkZW50aWFscy5cbiAgICAgKi9cbiAgICBhc3luYyBlbnJvbGwoZW5yb2xsbWVudElkLCByZWdpc3RyYXRpb24sIC4uLmFyZ3MpIHtcbiAgICAgICAgY29uc3QgeyBsb2csIGN0eCB9ID0gKGF3YWl0IHRoaXMubG9nQ3R4KGFyZ3MsIFwiZW5yb2xsXCIsIHRydWUpKS5mb3IodGhpcy5lbnJvbGwpO1xuICAgICAgICBsZXQgaWRlbnRpdHk7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBsb2cuZGVidWcoYEVucm9sbGluZyAke2Vucm9sbG1lbnRJZH1gKTtcbiAgICAgICAgICAgIGNvbnN0IGVucm9sbG1lbnQgPSBhd2FpdCB0aGlzLmNsaWVudC5lbnJvbGwoe1xuICAgICAgICAgICAgICAgIGVucm9sbG1lbnRJRDogZW5yb2xsbWVudElkLFxuICAgICAgICAgICAgICAgIGVucm9sbG1lbnRTZWNyZXQ6IHJlZ2lzdHJhdGlvbixcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgaWRlbnRpdHkgPSBGYWJyaWNJZGVudGl0eVNlcnZpY2UuaWRlbnRpdHlGcm9tRW5yb2xsbWVudChlbnJvbGxtZW50LCB0aGlzLmNvbmZpZy5jYU5hbWUsIGN0eCk7XG4gICAgICAgICAgICBsb2cuaW5mbyhgU3VjY2Vzc2Z1bGx5IGVucm9sbGVkICR7ZW5yb2xsbWVudElkfSB1bmRlciAke3RoaXMuY29uZmlnLmNhTmFtZX0gYXMgJHtpZGVudGl0eS5pZH1gKTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZSkge1xuICAgICAgICAgICAgdGhyb3cgdGhpcy5wYXJzZUVycm9yKGUpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBpZGVudGl0eTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIFJlZ2lzdGVyIGFuZCBlbnJvbGwgYSBuZXcgaWRlbnRpdHkgaW4gb25lIHN0ZXAuXG4gICAgICogQHN1bW1hcnkgUmVnaXN0ZXJzIGEgbmV3IGVucm9sbG1lbnQgSUQgd2l0aCB0aGUgQ0EgYW5kIGltbWVkaWF0ZWx5IGV4Y2hhbmdlcyB0aGUgc2VjcmV0IHRvIGVucm9sbCwgcmV0dXJuaW5nIHRoZSBjcmVhdGVkIElkZW50aXR5LlxuICAgICAqIEBwYXJhbSB7Q3JlZGVudGlhbHN9IG1vZGVsIC0gQ3JlZGVudGlhbHMgZm9yIHRoZSBuZXcgaWRlbnRpdHkgY29udGFpbmluZyB1c2VyTmFtZSBhbmQgcGFzc3dvcmQuXG4gICAgICogQHBhcmFtIHtib29sZWFufSBbaXNTdXBlclVzZXI9ZmFsc2VdIC0gV2hldGhlciB0byByZWdpc3RlciB0aGUgaWRlbnRpdHkgYXMgYSBzdXBlciB1c2VyLlxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbYWZmaWxpYXRpb249XCJcIl0gLSBBZmZpbGlhdGlvbiBzdHJpbmcgKGUuZy4sIG9yZzEuZGVwYXJ0bWVudDEpLlxuICAgICAqIEBwYXJhbSB7Q0FfUk9MRSB8IHN0cmluZ30gW3VzZXJSb2xlXSAtIFJvbGUgdG8gYXNzaWduIHRvIHRoZSBpZGVudGl0eS5cbiAgICAgKiBAcGFyYW0ge0lLZXlWYWx1ZUF0dHJpYnV0ZX0gW2F0dHJzXSAtIE9wdGlvbmFsIGF0dHJpYnV0ZXMgdG8gYXR0YWNoIHRvIHRoZSBpZGVudGl0eS5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gW21heEVucm9sbG1lbnRzXSAtIE1heGltdW0gbnVtYmVyIG9mIGVucm9sbG1lbnRzIGFsbG93ZWQgZm9yIHRoZSBpZGVudGl0eS5cbiAgICAgKiBAcmV0dXJuIHtQcm9taXNlPElkZW50aXR5Pn0gVGhlIGVucm9sbGVkIGlkZW50aXR5LlxuICAgICAqL1xuICAgIGFzeW5jIHJlZ2lzdGVyQW5kRW5yb2xsKG1vZGVsLCBpc1N1cGVyVXNlciA9IGZhbHNlLCBhZmZpbGlhdGlvbiA9IFwiXCIsIHVzZXJSb2xlLCBhdHRycywgbWF4RW5yb2xsbWVudHMsIC4uLmFyZ3MpIHtcbiAgICAgICAgY29uc3QgeyBjdHggfSA9IChhd2FpdCB0aGlzLmxvZ0N0eChhcmdzLCBcInJlZ2lzdGVyLWVucm9sbFwiLCB0cnVlKSkuZm9yKHRoaXMucmVnaXN0ZXJBbmRFbnJvbGwpO1xuICAgICAgICBjb25zdCByZWdpc3RyYXRpb24gPSBhd2FpdCB0aGlzLnJlZ2lzdGVyKG1vZGVsLCBpc1N1cGVyVXNlciwgYWZmaWxpYXRpb24sIHVzZXJSb2xlLCBhdHRycywgbWF4RW5yb2xsbWVudHMsIGN0eCk7XG4gICAgICAgIGNvbnN0IHsgdXNlck5hbWUgfSA9IG1vZGVsO1xuICAgICAgICByZXR1cm4gdGhpcy5lbnJvbGwodXNlck5hbWUsIHJlZ2lzdHJhdGlvbiwgY3R4KTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIFJlLWVucm9sbCBhbiBleGlzdGluZyBpZGVudGl0eSB1c2luZyBpdHMgY3VycmVudCBlbnJvbGxtZW50LlxuICAgICAqIEBzdW1tYXJ5IFJlbmV3cyB0aGUgZW5yb2xsbWVudCBjZXJ0aWZpY2F0ZSBieSBjYWxsaW5nIHRoZSBDQSByZWVucm9sbC5cbiAgICAgKiBAcGFyYW0ge1VzZXJ9IGN1cnJlbnRVc2VyIC0gQWxyZWFkeSBlbnJvbGxlZCB1c2VyLCBtdXN0IGhhdmUgYSBzaWduaW5nIGlkZW50aXR5LlxuICAgICAqIEByZXR1cm4ge1Byb21pc2U8SWRlbnRpdHk+fSBUaGUgcmVuZXdlZCBpZGVudGl0eSBvYmplY3Qgd2l0aCBuZXcgY3JlZGVudGlhbHMuXG4gICAgICovXG4gICAgYXN5bmMgdXBkYXRlSWRlbnRpdHkoZW5yb2xsbWVudElkLCBpZGVudGl0eSwgaWRlbnRpdHlSZXF1ZXN0LCAuLi5hcmdzKSB7XG4gICAgICAgIGNvbnN0IHsgbG9nLCBjdHggfSA9IChhd2FpdCB0aGlzLmxvZ0N0eChhcmdzLCBcInJlZW5yb2xsXCIsIHRydWUpKS5mb3IodGhpcy51cGRhdGVJZGVudGl0eSk7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBsb2cuaW5mbyhgUmVuZXdpbmcgaWRlbnRpdHkgZm9yICR7ZW5yb2xsbWVudElkfWApO1xuICAgICAgICAgICAgLy8gVXBkYXRlIGF0dHJpYnV0ZXMgaW4gdGhlIENBIHJlZ2lzdHJ5IChhZG1pbiBvcGVyYXRpb24pLiBUaGlzIGNoYW5nZXMgdGhlIFwic291cmNlIG9mIHRydXRoXCIuXG4gICAgICAgICAgICBjb25zdCBpZGVudGl0eVNlcnZpY2UgPSB0aGlzLmNsaWVudC5uZXdJZGVudGl0eVNlcnZpY2UoKTtcbiAgICAgICAgICAgIGNvbnN0IGNhVXNlcklkZW50aXR5ID0gKGF3YWl0IGlkZW50aXR5U2VydmljZS5nZXRPbmUoZW5yb2xsbWVudElkLCB0aGlzLnVzZXIpKTtcbiAgICAgICAgICAgIGF3YWl0IGlkZW50aXR5U2VydmljZS51cGRhdGUoZW5yb2xsbWVudElkLCBpZGVudGl0eVJlcXVlc3QsIHRoaXMudXNlcik7IC8vIGFzIElTZXJ2aWNlUmVzcG9uc2UgJiB7IHJlc3VsdDogSUlkZW50aXR5UmVxdWVzdCB9O1xuICAgICAgICAgICAgLy8gUmVlbnJvbGwgYXMgdGhlIHVzZXIuIFJlcXVlc3QgbXVzdCBiZSBzaWduZWQgdXNpbmcgdGhlIGV4aXN0aW5nIGNlcnRpZmljYXRlLlxuICAgICAgICAgICAgY29uc3QgcmVlbnJvbGxVc2VyID0gVXNlci5jcmVhdGVVc2VyKGVucm9sbG1lbnRJZCwgXCJcIiwgLy8gZW5yb2xsbWVudFNlY3JldCBub3QgcmVxdWlyZWQgZm9yIHJlZW5yb2xsXG4gICAgICAgICAgICB0aGlzLnVzZXIuZ2V0TXNwaWQoKSwgaWRlbnRpdHkuY2VydGlmaWNhdGUsIGlkZW50aXR5LnByaXZhdGVLZXkpO1xuICAgICAgICAgICAgcmVlbnJvbGxVc2VyLnNldENyeXB0b1N1aXRlKHRoaXMudXNlci5nZXRDcnlwdG9TdWl0ZSgpKTtcbiAgICAgICAgICAgIGNvbnN0IGVucm9sbG1lbnRBdHRycyA9IChjYVVzZXJJZGVudGl0eS5yZXN1bHQuYXR0cnMgfHwgW10pLm1hcCgoeyBuYW1lIH0pID0+ICh7XG4gICAgICAgICAgICAgICAgbmFtZSxcbiAgICAgICAgICAgICAgICBvcHRpb25hbDogZmFsc2UsXG4gICAgICAgICAgICB9KSk7XG4gICAgICAgICAgICBjb25zdCBlbnJvbGxtZW50ID0gYXdhaXQgdGhpcy5jbGllbnQucmVlbnJvbGwocmVlbnJvbGxVc2VyLCBlbnJvbGxtZW50QXR0cnMpO1xuICAgICAgICAgICAgY29uc3QgcmVuZXdlZElkZW50aXR5ID0gRmFicmljSWRlbnRpdHlTZXJ2aWNlLmlkZW50aXR5RnJvbUVucm9sbG1lbnQoZW5yb2xsbWVudCwgdGhpcy5jb25maWcuY2FOYW1lLCBjdHgpO1xuICAgICAgICAgICAgLy8gUmV2b2tlIHRoZSBwcmV2aW91cyBjZXJ0aWZpY2F0ZSBvbmx5LCBzbyB0aGUgb2xkIGNlcnQgYmVjb21lcyBpbnZhbGlkLlxuICAgICAgICAgICAgbG9nLmRlYnVnKGBSZXZva2luZyBwcmV2aW91cyBjZXJ0aWZpY2F0ZXMgZm9yICR7ZW5yb2xsbWVudElkfWApO1xuICAgICAgICAgICAgY29uc3QgeyBha2ksIHNlcmlhbCB9ID0gZ2V0QWtpQW5kU2VyaWFsRnJvbUNlcnQoaWRlbnRpdHkuY2VydGlmaWNhdGUpO1xuICAgICAgICAgICAgYXdhaXQgdGhpcy5yZXZva2UoZW5yb2xsbWVudElkLCB7IGFraSwgc2VyaWFsIH0sIGFyZ3MpO1xuICAgICAgICAgICAgbG9nLmRlYnVnKGBSZW5ldyBpZGVudGl0eSBzdWNjZXNzZnVsIGZvciAke2Vucm9sbG1lbnRJZH1gKTtcbiAgICAgICAgICAgIHJldHVybiByZW5ld2VkSWRlbnRpdHk7XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIHRocm93IHRoaXMucGFyc2VFcnJvcihlKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAvKipcbiAgICAgKiBSZXZva2VzIHRoZSBlbnJvbGxtZW50IG9mIGFuIGlkZW50aXR5IHdpdGggdGhlIHNwZWNpZmllZCBlbnJvbGxtZW50IElELlxuICAgICAqXG4gICAgICogQHBhcmFtIGVucm9sbG1lbnRJZCAtIFRoZSBlbnJvbGxtZW50IElEIG9mIHRoZSBpZGVudGl0eSB0byBiZSByZXZva2VkLlxuICAgICAqXG4gICAgICogQHJldHVybnMgQSBQcm9taXNlIHRoYXQgcmVzb2x2ZXMgdG8gdGhlIHJlc3VsdCBvZiB0aGUgcmV2b2NhdGlvbiBvcGVyYXRpb24uXG4gICAgICpcbiAgICAgKiBAdGhyb3dzIHtOb3RGb3VuZEVycm9yfSBJZiB0aGUgZW5yb2xsbWVudCB3aXRoIHRoZSBzcGVjaWZpZWQgSUQgZG9lcyBub3QgZXhpc3QuXG4gICAgICogQHRocm93cyB7SW50ZXJuYWxFcnJvcn0gSWYgdGhlcmUgaXMgYW4gZXJyb3IgZHVyaW5nIHRoZSByZXZvY2F0aW9uIHByb2Nlc3MuXG4gICAgICovXG4gICAgYXN5bmMgcmV2b2tlKGVucm9sbG1lbnRJZCwgcmV2b2tlT3B0aW9ucywgLi4uYXJncykge1xuICAgICAgICBjb25zdCB7IGxvZyB9ID0gKGF3YWl0IHRoaXMubG9nQ3R4KGFyZ3MsIFwicmV2b2tlXCIsIHRydWUpKS5mb3IodGhpcy5yZXZva2UpO1xuICAgICAgICBsb2cudmVyYm9zZShgUmV2b2tpbmcgaWRlbnRpdHkgd2l0aCBlbnJvbGxtZW50IElEICR7ZW5yb2xsbWVudElkfWApO1xuICAgICAgICBjb25zdCBpZGVudGl0eSA9IGF3YWl0IHRoaXMucmVhZChlbnJvbGxtZW50SWQpO1xuICAgICAgICBpZiAoIWlkZW50aXR5KVxuICAgICAgICAgICAgdGhyb3cgbmV3IE5vdEZvdW5kRXJyb3IoYENvdWxkIG5vdCBmaW5kIGVucm9sbG1lbnQgd2l0aCBpZCAke2Vucm9sbG1lbnRJZH1gKTtcbiAgICAgICAgbGV0IHJlc3VsdDtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IHJlYXNvbiA9IEJvb2xlYW4ocmV2b2tlT3B0aW9ucy5zZXJpYWwpIHx8IEJvb2xlYW4ocmV2b2tlT3B0aW9ucy5ha2kpXG4gICAgICAgICAgICAgICAgPyBcIlJldm9rZSBVc2VyIENlcnRpZmljYXRlXCJcbiAgICAgICAgICAgICAgICA6IFwiVXNlciBEZWxldGlvblwiO1xuICAgICAgICAgICAgY29uc3QgcmV2b2tlUmVxdWVzdCA9IHtcbiAgICAgICAgICAgICAgICByZWFzb24sXG4gICAgICAgICAgICAgICAgLi4ucmV2b2tlT3B0aW9ucyxcbiAgICAgICAgICAgICAgICBlbnJvbGxtZW50SUQ6IGlkZW50aXR5LmlkLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIHJlc3VsdCA9IGF3YWl0IHRoaXMuY2xpZW50LnJldm9rZShyZXZva2VSZXF1ZXN0LCB0aGlzLnVzZXIpO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihgQ291bGQgbm90IHJldm9rZSBlbnJvbGxtZW50IHdpdGggaWQgJHtlbnJvbGxtZW50SWR9OiAke2V9YCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFyZXN1bHQuc3VjY2VzcylcbiAgICAgICAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKGBDb3VsZCBub3QgcmV2b2tlIGVucm9sbG1lbnQgd2l0aCBpZCAke2Vucm9sbG1lbnRJZH06ICR7cmVzdWx0LmVycm9ycy5qb2luKFwiXFxuXCIpfWApO1xuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaVJtRmljbWxqU1dSbGJuUnBkSGxUWlhKMmFXTmxMbXB6SWl3aWMyOTFjbU5sVW05dmRDSTZJaUlzSW5OdmRYSmpaWE1pT2xzaUxpNHZMaTR2TGk0dkxpNHZjM0pqTDJOc2FXVnVkQzl6WlhKMmFXTmxjeTlHWVdKeWFXTkpaR1Z1ZEdsMGVWTmxjblpwWTJVdWRITWlYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJRVUVzVDBGQlR5eEZRVU5NTEd0Q1FVRnJRaXhGUVVOc1FpeHJRa0ZCYTBJc1JVRkRiRUlzVDBGQlR5eEZRVVZRTEdWQlFXVXNSMEZEYUVJc1RVRkJUU3huUWtGQlowSXNRMEZCUXp0QlFVTjRRaXhQUVVGUExHZENRVlZPTEUxQlFVMHNhMEpCUVd0Q0xFTkJRVU03UVVGRk1VSXNUMEZCVHl4RlFVTk1MR0ZCUVdFc1JVRkRZaXhoUVVGaExFVkJRMklzWVVGQllTeEZRVU5pTEdGQlFXRXNSMEZEWkN4TlFVRk5MSGxDUVVGNVFpeERRVUZETzBGQlEycERMRTlCUVU4c1JVRkJSU3hUUVVGVExFVkJRVVVzZFVKQlFYVkNMRVZCUVVVc2MwSkJRV2xDTzBGQlR6bEVMRTlCUVU4c1JVRkJSU3hKUVVGSkxFVkJRVVVzVFVGQlRTeGxRVUZsTEVOQlFVTTdRVUZEY2tNc1QwRkJUeXhGUVVGRkxHbENRVUZwUWl4RlFVRkZMR2xEUVVFMFFqdEJRVWQ0UkN4UFFVRlBMRVZCUVVVc1VVRkJVU3hGUVVGRkxHZERRVUV5UWp0QlFVTTVReXhQUVVGUExFVkJRVVVzVjBGQlZ5eEZRVUZGTEhWQ1FVRnJRanRCUVVWNFF5eE5RVUZOTEU5QlFVOHNjVUpCUVhOQ0xGTkJRVkVzYTBKQlJ6RkRPMGxCUjBNN1VVRkRSU3hMUVVGTExFVkJRVVVzUTBGQlF6dEpRVU5XTEVOQlFVTTdTVUZGUkN4SlFVRmpMRlZCUVZVN1VVRkRkRUlzVDBGQlVTeEpRVUZKTEVOQlFVTXNUVUZCWXl4RFFVRkRMRzFDUVVGdFFpeERRVUZSTEVOQlFVTTdTVUZETVVRc1EwRkJRenRKUVVWRUxFbEJRV01zU1VGQlNUdFJRVU5vUWl4SlFVRkpMRU5CUVVNc1NVRkJTU3hEUVVGRExFdEJRVXM3V1VGRFlpeE5RVUZOTEVsQlFVa3NZVUZCWVN4RFFVTnlRaXd3UkVGQk1FUXNRMEZETTBRc1EwRkJRenRSUVVOS0xFOUJRVThzU1VGQlNTeERRVUZETEV0QlFVc3NRMEZCUXp0SlFVTndRaXhEUVVGRE8wbEJSVVFzU1VGQll5eFpRVUZaTzFGQlEzaENMRTlCUVU4c1NVRkJTU3hEUVVGRExGVkJRVlVzUTBGQlF5eHhRa0ZCY1VJc1JVRkJSU3hEUVVGRE8wbEJRMnBFTEVOQlFVTTdTVUZGUkN4SlFVRmpMRmxCUVZrN1VVRkRlRUlzVDBGQlR5eEpRVUZKTEVOQlFVTXNUVUZCVFN4RFFVRkRMSEZDUVVGeFFpeEZRVUZGTEVOQlFVTTdTVUZETjBNc1EwRkJRenRKUVVWRUxFbEJRV01zVlVGQlZUdFJRVU4wUWl4UFFVRlBMRWxCUVVrc1EwRkJReXhOUVVGTkxFTkJRVU1zYTBKQlFXdENMRVZCUVVVc1EwRkJRenRKUVVNeFF5eERRVUZETzBsQlJWTXNTMEZCU3l4RFFVRkRMRTlCUVU4c1EwRkJReXhIUVVGaExFVkJRVVVzUjBGQldUdFJRVU5xUkN4TlFVRk5MRWRCUVVjc1IwRkJSeXhIUVVGSExFTkJRVU1zVFVGQlRTeERRVUZETEVkQlFVY3NRMEZCUXl4SlFVRkpMRU5CUVVNc1QwRkJUeXhEUVVGRExFTkJRVU03VVVGRGVrTXNUVUZCVFN4RlFVRkZMRTFCUVUwc1JVRkJSU3hOUVVGTkxFVkJRVVVzUzBGQlN5eEZRVUZGTEVkQlFVY3NSVUZCUlN4SFFVRkhMRVZCUVVVc1IwRkJSeXhIUVVGSExFTkJRVU03VVVGRmFFUXNSMEZCUnl4RFFVRkRMRWxCUVVrc1EwRkJReXgzUWtGQmQwSXNUVUZCVFN4UFFVRlBMRWRCUVVjc1JVRkJSU3hEUVVGRExFTkJRVU03VVVGRGNrUXNSMEZCUnl4RFFVRkRMRTlCUVU4c1EwRkJReXhyUTBGQmEwTXNUVUZCVFN4RlFVRkZMRU5CUVVNc1EwRkJRenRSUVVONFJDeE5RVUZOTEZkQlFWY3NSMEZCUnl4TlFVRk5MRk5CUVZNc1EwRkJReXd3UWtGQk1FSXNRMEZCUXl4TlFVRk5MRU5CUVVNc1EwRkJRenRSUVVOMlJTeEpRVUZKTEVkQlFYVkNMRU5CUVVNN1VVRkROVUlzU1VGQlNTeERRVUZETEVkQlFVY3NSVUZCUlN4RFFVRkRPMWxCUTFRc1NVRkJTU3hEUVVGRExFdEJRVXNzUlVGQlJTeERRVUZETzJkQ1FVTllMRTFCUVUwc1NVRkJTU3hoUVVGaExFTkJRM0pDTEhORFFVRnpReXhOUVVGTkxIRkVRVUZ4UkN4RFFVTnNSeXhEUVVGRE8xbEJRMG9zUTBGQlF6dFpRVU5FTEVkQlFVY3NRMEZCUXl4TFFVRkxMRU5CUVVNc01FSkJRVEJDTEV0QlFVc3NSVUZCUlN4RFFVRkRMRU5CUVVNN1dVRkROME1zUjBGQlJ5eEhRVUZITEUxQlFVMHNVMEZCVXl4RFFVRkRMREJDUVVFd1FpeERRVUZETEV0QlFVc3NRMEZCUXl4RFFVRkRPMUZCUXpGRUxFTkJRVU03WVVGQlRTeERRVUZETzFsQlEwNHNSMEZCUnl4RFFVRkRMRXRCUVVzc1EwRkRVQ3hyUTBGQmEwTXNUVUZCVFN4cFFrRkJhVUlzUjBGQlJ5eERRVUZETEU5QlFVOHNSVUZCUlN4RFFVTjJSU3hEUVVGRE8xRkJRMG9zUTBGQlF6dFJRVU5FTEVkQlFVY3NRMEZCUXl4TFFVRkxMRU5CUVVNc05rSkJRVFpDTEUxQlFVMHNSVUZCUlN4RFFVRkRMRU5CUVVNN1VVRkRha1FzU1VGQlNTeERRVUZETEV0QlFVc3NSMEZCUnl4TlFVRk5MRk5CUVZNc1EwRkJReXhUUVVGVExFTkJRVU1zVDBGQlR5eEZRVUZGTEVkQlFVY3NSVUZCUlN4WFFVRlhMRVZCUVVVc1RVRkJUU3hGUVVGRk8xbEJRM2hGTEVkQlFVYzdVMEZEU2l4RFFVRkRMRU5CUVVNN1VVRkRTQ3hQUVVGUExFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTTdTVUZEY0VJc1EwRkJRenRKUVVWUkxFdEJRVXNzUTBGQlF5eFZRVUZWTEVOQlEzWkNMRWRCUVVjc1NVRkJOa0k3VVVGRmFFTXNUVUZCVFN4RlFVRkZMRWRCUVVjc1JVRkJSU3hIUVVGSExFVkJRVVVzUjBGQlJ5eERRVU51UWl4TlFVRk5MRWxCUVVrc1EwRkJReXhOUVVGTkxFTkJRVU1zU1VGQlNTeEZRVUZGTEdWQlFXVXNRMEZCUXl4alFVRmpMRVZCUVVVc1NVRkJTU3hEUVVGRExFTkJRemxFTEVOQlFVTXNSMEZCUnl4RFFVRkRMRWxCUVVrc1EwRkJReXhWUVVGVkxFTkJRVU1zUTBGQlF6dFJRVU4yUWl4TlFVRk5MRU5CUVVNc1RVRkJUU3hEUVVGRExFZEJRVWNzU1VGQlNTeERRVUZETzFGQlEzUkNMRWxCUVVrc1EwRkJReXhOUVVGTk8xbEJRVVVzVFVGQlRTeEpRVUZKTEdGQlFXRXNRMEZCUXl4cFEwRkJhVU1zUTBGQlF5eERRVUZETzFGQlJYaEZMRTFCUVUwc1JVRkJSU3hIUVVGSExFVkJRVVVzUjBGQlJ5eEZRVUZGTEUxQlFVMHNSVUZCUlN4SFFVRkhMRTFCUVUwc1EwRkJRenRSUVVOd1F5eEhRVUZITEVOQlFVTXNTVUZCU1N4RFFVRkRMR2xEUVVGcFF5eE5RVUZOTEVOQlFVTXNUVUZCVFN4UFFVRlBMRTFCUVUwc1EwRkJReXhIUVVGSExFVkJRVVVzUTBGQlF5eERRVUZETzFGQlF6VkZMRTFCUVUwc1JVRkJSU3haUVVGWkxFVkJRVVVzVFVGQlRTeEZRVUZGTEVkQlFVY3NSMEZCYVVJc1EwRkJRenRSUVVWdVJDeE5RVUZOTEVsQlFVa3NSMEZCU1N4WlFVRjVRaXhEUVVGRExFTkJRVU1zUTBGQlZ5eERRVUZETzFGQlEzSkVMRWRCUVVjc1EwRkJReXhMUVVGTExFTkJRVU1zYTBOQlFXdERMRWxCUVVrc1ZVRkJWU3hQUVVGUExFTkJRVU1zUjBGQlJ5eEZRVUZGTEVWQlFVVXNRMEZCUXl4RFFVRkRPMUZCUlRORkxFMUJRVTBzVjBGQlZ5eEhRVUZITEUxQlFVMHNVMEZCVXl4RFFVRkRMR05CUVdNc1EwRkJReXhKUVVGSkxFTkJRVU1zUTBGQlF6dFJRVVY2UkN4SFFVRkhMRU5CUVVNc1MwRkJTeXhEUVVGRExHMUNRVUZ0UWl4WFFVRlhMRU5CUVVNc1VVRkJVU3hGUVVGRkxFVkJRVVVzUTBGQlF5eERRVUZETzFGQlJYWkVMRTFCUVUwc1RVRkJUU3hIUVVGSExFbEJRVWtzWjBKQlFXZENMRU5CUTJwRExFZEJRVWNzUlVGRFNEdFpRVU5GTEZsQlFWa3NSVUZCUlN4TlFVRk5MRU5CUVVNc1NVRkJTU3hEUVVGRExGZEJRVmNzUTBGQlF6dFpRVU4wUXl4TlFVRk5PMU5CUTA4c1JVRkRaaXhOUVVGTkxFTkJRMUFzUTBGQlF6dFJRVVZHTEUxQlFVMHNTVUZCU1N4SFFVRkhMRTFCUVUwc1NVRkJTU3hEUVVGRExFOUJRVThzUTBGQlF5eE5RVUZOTEVWQlFVVXNSMEZCUnl4RFFVRkRMRU5CUVVNN1VVRkROME1zUjBGQlJ5eERRVUZETEV0QlFVc3NRMEZCUXl4dFFrRkJiVUlzU1VGQlNTeERRVUZETEU5QlFVOHNSVUZCUlN4RlFVRkZMRU5CUVVNc1EwRkJRenRSUVVNdlF5eFBRVUZQTzFsQlEwd3NUVUZCVFR0WlFVTk9MRTFCUVUwN1UwRkRVQ3hEUVVGRE8wbEJRMG9zUTBGQlF6dEpRV2RDUkN4TFFVRkxMRU5CUVVNc1pVRkJaU3hEUVVOdVFpeFBRVUZ6UXl4RlFVTjBReXhSUVVGaExFbEJRVmNzUlVGRGVFSXNSMEZCUnl4SlFVRTJRanRSUVVWb1F5eEpRVUZKTEU5QlFVOHNXVUZCV1N4UFFVRlBMRVZCUVVVc1EwRkJRenRaUVVNdlFpeEpRVUZKTEVkQlFVY3NRMEZCUXl4UFFVRlBMRU5CUVVNc1EwRkJRenRaUVVOcVFpeExRVUZMTEVkQlFVY3NTVUZCVnl4RFFVRkRPMWxCUTNCQ0xFOUJRVThzUjBGQlJ5eFRRVUZUTEVOQlFVTTdVVUZEZEVJc1EwRkJRenRoUVVGTkxFbEJRVWtzVDBGQlR5eFBRVUZQTEV0QlFVc3NVMEZCVXl4RlFVRkZMRU5CUVVNN1dVRkRlRU1zUzBGQlN5eEhRVUZITEU5QlFVOHNRMEZCUXp0WlFVTm9RaXhQUVVGUExFZEJRVWNzVTBGQlV5eERRVUZETzFGQlEzUkNMRU5CUVVNN1lVRkJUU3hKUVVGSkxFOUJRVThzUzBGQlN5eExRVUZMTEZOQlFWTXNSVUZCUlN4RFFVRkRPMWxCUTNSRExFbEJRVWtzUjBGQlJ5eERRVUZETEV0QlFXZERMRVZCUVVVc1IwRkJSeXhKUVVGSkxFTkJRVU1zUTBGQlF6dFpRVU51UkN4TFFVRkxMRWRCUVVjc1NVRkJWeXhEUVVGRE8xRkJRM1JDTEVOQlFVTTdVVUZGUkN4TlFVRk5MRVZCUVVVc1IwRkJSeXhGUVVGRkxFZEJRVWNzUTBGQlF5eE5RVUZOTEVsQlFVa3NRMEZCUXl4TlFVRk5MRU5CUVVNc1NVRkJTU3hGUVVGRkxHRkJRV0VzUTBGQlF5eEpRVUZKTEVWQlFVVXNTVUZCU1N4RFFVRkRMRU5CUVVNc1EwRkJReXhIUVVGSExFTkJRM0pGTEVsQlFVa3NRMEZCUXl4bFFVRmxMRU5CUTNKQ0xFTkJRVU03VVVGRFJpeEhRVUZITEVOQlFVTXNTMEZCU3l4RFFVTlFMREJDUVVFd1FpeFBRVUZQTEVOQlFVTXNRMEZCUXl4RFFVRkRMRkZCUVZFc1QwRkJUeXhEUVVGRExFVkJRVVVzUlVGQlJTeERRVUZETEVOQlFVTXNRMEZCUXl4RlFVRkZMRmRCUVZjc1NVRkJTU3hEUVVGRExFMUJRVTBzUTBGQlF5eE5RVUZOTEVWQlFVVXNRMEZETjBZc1EwRkJRenRSUVVOR0xFMUJRVTBzVVVGQlVTeEhRVUYzUWl4RFFVTndReXhOUVVGTkxFbEJRVWtzUTBGQlF5eFpRVUZaTEVOQlFVTXNaVUZCWlN4RFFVRkRMRTlCUVU4c1NVRkJTU3hGUVVGRkxFVkJRVVVzU1VGQlNTeERRVUZETEVsQlFVa3NRMEZCUXl4RFFVTnNSU3hEUVVGRExFMUJRVTBzUTBGQlF6dFJRVU5VTEVkQlFVY3NRMEZCUXl4UFFVRlBMRU5CUVVNc1UwRkJVeXhSUVVGUkxFTkJRVU1zUzBGQlN5eERRVUZETEUxQlFVMHNaVUZCWlN4RFFVRkRMRU5CUVVNN1VVRkRNMFFzUjBGQlJ5eERRVUZETEV0QlFVc3NRMEZCUXl4UlFVRlJMRU5CUVVNc1MwRkJTeXhEUVVGRExFTkJRVU03VVVGRE1VSXNUMEZCVHl4RFFVTk1MRXRCUVVzc1EwRkJReXhEUVVGRExFTkJRVU1zVVVGQlVTeERRVUZETEV0QlFVc3NRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhEUVVGRExFVkJRVVVzUlVGQlJTeERRVUZETEVOQlFVTXNRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zVVVGQlVTeERRVU5GTEVOQlFVTTdTVUZETVVRc1EwRkJRenRKUVVWRUxFdEJRVXNzUTBGQlF5eGhRVUZoTEVOQlFVTXNSMEZCV1R0UlFVTTVRaXhOUVVGTkxFZEJRVWNzUjBGQlJ5eEhRVUZITEVOQlFVTXNUVUZCVFN4RFFVRkRMRWRCUVVjc1EwRkJReXhKUVVGSkxFTkJRVU1zWVVGQllTeERRVUZETEVOQlFVTTdVVUZETDBNc1IwRkJSeXhEUVVGRExFOUJRVThzUTBGQlF5eHJRMEZCYTBNc1NVRkJTU3hEUVVGRExFMUJRVTBzUTBGQlF5eE5RVUZOTEVWQlFVVXNRMEZCUXl4RFFVRkRPMUZCUTNCRkxFMUJRVTBzVVVGQlVTeEhRVUZ4UWl4RFFVRkRMRTFCUVUwc1NVRkJTU3hEUVVGRExGVkJRVlVzUTBGQlF5eE5RVUZOTEVOQlFVTXNTVUZCU1N4RFFVRkRMRWxCUVVrc1EwRkJReXhEUVVGRE8yRkJRM3BGTEUxQlFVMHNRMEZCUXp0UlFVTldMRWRCUVVjc1EwRkJReXhQUVVGUExFTkJRVU1zVTBGQlV5eFJRVUZSTEVOQlFVTXNWVUZCVlN4RFFVRkRMRTFCUVUwc1lVRkJZU3hEUVVGRExFTkJRVU03VVVGRE9VUXNSMEZCUnl4RFFVRkRMRXRCUVVzc1EwRkJReXhSUVVGUkxFTkJRVU1zVlVGQlZTeERRVUZETEVOQlFVTTdVVUZETDBJc1QwRkJUeXhSUVVGUkxFTkJRVU1zVlVGQlZTeERRVUZETzBsQlF6ZENMRU5CUVVNN1NVRkZSRHM3T3p0UFFVbEhPMGxCUTBnc1MwRkJTeXhEUVVGRExHVkJRV1VzUTBGQlF5eEhRVUZaTzFGQlEyaERMRTFCUVUwc1IwRkJSeXhIUVVGSExFZEJRVWNzUTBGQlF5eE5RVUZOTEVOQlFVTXNSMEZCUnl4RFFVRkRMRWxCUVVrc1EwRkJReXhsUVVGbExFTkJRVU1zUTBGQlF6dFJRVU5xUkN4SFFVRkhMRU5CUVVNc1QwRkJUeXhEUVVGRExHOURRVUZ2UXl4SlFVRkpMRU5CUVVNc1RVRkJUU3hEUVVGRExFMUJRVTBzUlVGQlJTeERRVUZETEVOQlFVTTdVVUZEZEVVc1RVRkJUU3hSUVVGUkxFZEJRVWNzUTBGQlF5eE5RVUZOTEVsQlFVa3NRMEZCUXl4WlFVRlpMRU5CUVVNc1RVRkJUU3hEUVVGRExFbEJRVWtzUTBGQlF5eEpRVUZKTEVOQlFVTXNRMEZCUXl4RFFVRkRMRTFCUVUwc1EwRkJRenRSUVVOd1JTeEhRVUZITEVOQlFVTXNUMEZCVHl4RFFVRkRMRk5CUVZNc1VVRkJVU3hEUVVGRExFTkJRVU1zUTBGQlF5eE5RVUZOTEdWQlFXVXNRMEZCUXl4RFFVRkRPMUZCUTNaRUxFZEJRVWNzUTBGQlF5eExRVUZMTEVOQlFVTXNTVUZCU1N4RFFVRkRMRk5CUVZNc1EwRkJReXhSUVVGUkxFTkJRVU1zUTBGQlF5eERRVUZETzFGQlEzQkRMRTlCUVU4c1VVRkJVU3hEUVVGRE8wbEJRMnhDTEVOQlFVTTdTVUZGVXl4VlFVRlZMRU5CUVVNc1EwRkJVVHRSUVVNelFpeE5RVUZOTEUxQlFVMHNSMEZCUnl3eVEwRkJNa01zUTBGQlF6dFJRVU16UkN4TlFVRk5MRXRCUVVzc1IwRkJSeXhOUVVGTkxFTkJRVU1zU1VGQlNTeERRVUZETEVOQlFVTXNRMEZCUXl4UFFVRlBMRU5CUVVNc1EwRkJRenRSUVVOeVF5eEpRVUZKTEVOQlFVTXNTMEZCU3p0WlFVRkZMRTlCUVU4c1NVRkJTU3hwUWtGQmFVSXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJRenRSUVVNMVF5eE5RVUZOTEVOQlFVTXNSVUZCUlN4SlFVRkpMRVZCUVVVc1QwRkJUeXhEUVVGRExFZEJRVWNzUzBGQlN5eERRVUZETzFGQlEyaERMRkZCUVZFc1NVRkJTU3hGUVVGRkxFTkJRVU03V1VGRFlpeExRVUZMTEVsQlFVa3NRMEZCUXp0WlFVTldMRXRCUVVzc1NVRkJTVHRuUWtGRFVDeFBRVUZQTEVsQlFVa3NZVUZCWVN4RFFVRkRMRTlCUVU4c1EwRkJReXhEUVVGRE8xbEJRM0JETEV0QlFVc3NTVUZCU1R0blFrRkRVQ3hQUVVGUExFbEJRVWtzYTBKQlFXdENMRU5CUVVNc1QwRkJUeXhEUVVGRExFTkJRVU03V1VGRGVrTTdaMEpCUTBVc1QwRkJUeXhKUVVGSkxHbENRVUZwUWl4RFFVRkRMRTlCUVU4c1EwRkJReXhEUVVGRE8xRkJRekZETEVOQlFVTTdTVUZEU0N4RFFVRkRPMGxCUlVRN096czdPMDlCUzBjN1NVRkRTQ3hMUVVGTExFTkJRVU1zU1VGQlNTeERRVU5TTEZsQlFXOUNMRVZCUTNCQ0xFZEJRVWNzU1VGQk5rSTdVVUZGYUVNc1RVRkJUU3hGUVVGRkxFZEJRVWNzUlVGQlJTeEhRVUZITEVOQlFVTXNUVUZCVFN4SlFVRkpMRU5CUVVNc1RVRkJUU3hEUVVGRExFbEJRVWtzUlVGQlJTeGhRVUZoTEVOQlFVTXNTVUZCU1N4RlFVRkZMRWxCUVVrc1EwRkJReXhEUVVGRExFTkJRVU1zUjBGQlJ5eERRVU55UlN4SlFVRkpMRU5CUVVNc1NVRkJTU3hEUVVOV0xFTkJRVU03VVVGRFJpeEhRVUZITEVOQlFVTXNUMEZCVHl4RFFVRkRMREJEUVVFd1F5eFpRVUZaTEVWQlFVVXNRMEZCUXl4RFFVRkRPMUZCUTNSRkxFbEJRVWtzVFVGQmQwSXNRMEZCUXp0UlFVTTNRaXhKUVVGSkxFTkJRVU03V1VGRFNDeE5RVUZOTEVkQlFVY3NUVUZCVFN4SlFVRkpMRU5CUVVNc1ZVRkJWU3hEUVVGRExFMUJRVTBzUTBGQlF5eFpRVUZaTEVWQlFVVXNTVUZCU1N4RFFVRkRMRWxCUVVrc1EwRkJReXhEUVVGRE8xRkJRMnBGTEVOQlFVTTdVVUZCUXl4UFFVRlBMRU5CUVUwc1JVRkJSU3hEUVVGRE8xbEJRMmhDTEUxQlFVMHNTVUZCU1N4aFFVRmhMRU5CUTNKQ0xHOURRVUZ2UXl4WlFVRlpMRXRCUVVzc1EwRkJReXhGUVVGRkxFTkJRM3BFTEVOQlFVTTdVVUZEU2l4RFFVRkRPMUZCUlVRc1NVRkJTU3hEUVVGRExFMUJRVTBzUTBGQlF5eFBRVUZQTzFsQlEycENMRTFCUVUwc1NVRkJTU3hoUVVGaExFTkJRM0pDTEc5RFFVRnZReXhaUVVGWkxFdEJRVXNzVFVGQlRTeERRVUZETEUxQlFVMHNRMEZCUXl4SlFVRkpMRU5CUVVNc1NVRkJTU3hEUVVGRExFVkJRVVVzUTBGRGFFWXNRMEZCUXp0UlFVVktMRTlCUVU4c1RVRkJUU3hEUVVGRExFMUJRWGRDTEVOQlFVTTdTVUZEZWtNc1EwRkJRenRKUVVWRU96czdPenM3T3pzN08wOUJWVWM3U1VGRFNDeExRVUZMTEVOQlFVTXNVVUZCVVN4RFFVTmFMRXRCUVd0Q0xFVkJRMnhDTEdOQlFYVkNMRXRCUVVzc1JVRkROVUlzWTBGQmMwSXNSVUZCUlN4RlFVTjRRaXhSUVVFeVFpeEZRVU16UWl4TFFVRXdRaXhGUVVNeFFpeGpRVUYxUWl4RlFVTjJRaXhIUVVGSExFbEJRVFpDTzFGQlJXaERMRTFCUVUwc1JVRkJSU3hIUVVGSExFVkJRVVVzUjBGQlJ5eERRVUZETEUxQlFVMHNTVUZCU1N4RFFVRkRMRTFCUVUwc1EwRkJReXhKUVVGSkxFVkJRVVVzVlVGQlZTeEZRVUZGTEVsQlFVa3NRMEZCUXl4RFFVRkRMRU5CUVVNc1IwRkJSeXhEUVVNM1JDeEpRVUZKTEVOQlFVTXNVVUZCVVN4RFFVTmtMRU5CUVVNN1VVRkZSaXhKUVVGSkxGbEJRVzlDTEVOQlFVTTdVVUZEZWtJc1NVRkJTU3hEUVVGRE8xbEJRMGdzVFVGQlRTeEZRVUZGTEZGQlFWRXNSVUZCUlN4UlFVRlJMRVZCUVVVc1IwRkJSeXhMUVVGTExFTkJRVU03V1VGRGNrTXNUVUZCVFN4TFFVRkxMRWRCUVVjN1owSkJRMW9zV1VGQldTeEZRVUZGTEZGQlFXdENPMmRDUVVOb1F5eG5Ra0ZCWjBJc1JVRkJSU3hSUVVGUk8yZENRVU14UWl4WFFVRlhMRVZCUVVVc1YwRkJWenRuUWtGRGVFSXNVVUZCVVN4RlFVRkZMRkZCUVZFN1owSkJRMnhDTEV0QlFVc3NSVUZCUlN4TFFVRkxPMmRDUVVOYUxHTkJRV01zUlVGQlJTeGpRVUZqTzJGQlExZ3NRMEZCUXp0WlFVTjBRaXhaUVVGWkxFZEJRVWNzVFVGQlRTeEpRVUZKTEVOQlFVTXNUVUZCVFN4RFFVRkRMRkZCUVZFc1EwRkJReXhMUVVGTExFVkJRVVVzU1VGQlNTeERRVUZETEVsQlFVa3NRMEZCUXl4RFFVRkRPMWxCUXpWRUxFZEJRVWNzUTBGQlF5eEpRVUZKTEVOQlEwNHNiMEpCUVc5Q0xGRkJRVkVzTWtKQlFUSkNMRkZCUVZFc1NVRkJTU3huUWtGQlowSXNTVUZCU1N4WFFVRlhMRU5CUVVNc1EwRkJReXhEUVVGRExHVkJRV1VzUTBGQlF5eERRVUZETEVOQlFVTXNSVUZCUlN4RlFVRkZMRU5CUXpWSUxFTkJRVU03VVVGRFNpeERRVUZETzFGQlFVTXNUMEZCVHl4RFFVRk5MRVZCUVVVc1EwRkJRenRaUVVOb1FpeE5RVUZOTEVsQlFVa3NRMEZCUXl4VlFVRlZMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03VVVGRE0wSXNRMEZCUXp0UlFVTkVMRTlCUVU4c1dVRkJXU3hEUVVGRE8wbEJRM1JDTEVOQlFVTTdTVUZGVXl4TlFVRk5MRU5CUVVNc2MwSkJRWE5DTEVOQlEzSkRMRlZCUVRKQ0xFVkJRek5DTEV0QlFXRXNSVUZEWWl4SFFVRlpPMUZCUlZvc1RVRkJUU3hIUVVGSExFZEJRVWNzUjBGQlJ5eERRVUZETEUxQlFVMHNRMEZCUXl4SFFVRkhMRU5CUVVNc1NVRkJTU3hEUVVGRExITkNRVUZ6UWl4RFFVRkRMRU5CUVVNN1VVRkRlRVFzVFVGQlRTeEZRVUZGTEZkQlFWY3NSVUZCUlN4SFFVRkhMRVZCUVVVc1pVRkJaU3hGUVVGRkxFZEJRVWNzVlVGQlZTeERRVUZETzFGQlEzcEVMRWRCUVVjc1EwRkJReXhQUVVGUExFTkJRMVFzZDBOQlFYZERMRmRCUVZjc1YwRkJWeXhMUVVGTExFVkJRVVVzUTBGRGRFVXNRMEZCUXp0UlFVTkdMRTFCUVUwc1VVRkJVU3hIUVVGSExGZEJRVmNzUTBGQlF5eDFRa0ZCZFVJc1EwRkJReXhYUVVGWExFTkJRVU1zUTBGQlF6dFJRVU5zUlN4TlFVRk5MRVZCUVVVc1IwRkJSeXhYUVVGWExFTkJRVU1zVFVGQlRTeERRVUZETEZGQlFWRXNRMEZCUXl4RFFVRkRPMUZCUTNoRExFZEJRVWNzUTBGQlF5eExRVUZMTEVOQlFVTXNXVUZCV1N4UlFVRlJMR3RDUVVGclFpeEZRVUZGTEVWQlFVVXNRMEZCUXl4RFFVRkRPMUZCUTNSRUxFOUJRVThzU1VGQlNTeFJRVUZSTEVOQlFVTTdXVUZEYkVJc1JVRkJSU3hGUVVGRkxFVkJRVVU3V1VGRFRpeFhRVUZYTEVWQlFVVTdaMEpCUTFnc1JVRkJSU3hGUVVGRkxFVkJRVVU3WjBKQlEwNHNWMEZCVnl4RlFVRkZMRmRCUVZjN1owSkJRM2hDTEZWQlFWVXNSVUZCUlN4SFFVRkhMRU5CUVVNc1QwRkJUeXhGUVVGRk8yZENRVU42UWl4bFFVRmxMRVZCUVVVc1pVRkJaVHRoUVVOcVF6dFpRVU5FTEV0QlFVc3NSVUZCUlN4TFFVRkxPMU5CUTJJc1EwRkJReXhEUVVGRE8wbEJRMHdzUTBGQlF6dEpRVVZFT3pzN096czdUMEZOUnp0SlFVTklMRXRCUVVzc1EwRkJReXhOUVVGTkxFTkJRMVlzV1VGQmIwSXNSVUZEY0VJc1dVRkJiMElzUlVGRGNFSXNSMEZCUnl4SlFVRTJRanRSUVVWb1F5eE5RVUZOTEVWQlFVVXNSMEZCUnl4RlFVRkZMRWRCUVVjc1JVRkJSU3hIUVVGSExFTkJRVU1zVFVGQlRTeEpRVUZKTEVOQlFVTXNUVUZCVFN4RFFVRkRMRWxCUVVrc1JVRkJSU3hSUVVGUkxFVkJRVVVzU1VGQlNTeERRVUZETEVOQlFVTXNRMEZCUXl4SFFVRkhMRU5CUTJoRkxFbEJRVWtzUTBGQlF5eE5RVUZOTEVOQlExb3NRMEZCUXp0UlFVTkdMRWxCUVVrc1VVRkJhMElzUTBGQlF6dFJRVU4yUWl4SlFVRkpMRU5CUVVNN1dVRkRTQ3hIUVVGSExFTkJRVU1zUzBGQlN5eERRVUZETEdGQlFXRXNXVUZCV1N4RlFVRkZMRU5CUVVNc1EwRkJRenRaUVVOMlF5eE5RVUZOTEZWQlFWVXNSMEZCYjBJc1RVRkJUU3hKUVVGSkxFTkJRVU1zVFVGQlRTeERRVUZETEUxQlFVMHNRMEZCUXp0blFrRkRNMFFzV1VGQldTeEZRVUZGTEZsQlFWazdaMEpCUXpGQ0xHZENRVUZuUWl4RlFVRkZMRmxCUVZrN1lVRkRMMElzUTBGQlF5eERRVUZETzFsQlEwZ3NVVUZCVVN4SFFVRkhMSEZDUVVGeFFpeERRVUZETEhOQ1FVRnpRaXhEUVVOeVJDeFZRVUZWTEVWQlExWXNTVUZCU1N4RFFVRkRMRTFCUVUwc1EwRkJReXhOUVVGTkxFVkJRMnhDTEVkQlFVY3NRMEZEU2l4RFFVRkRPMWxCUTBZc1IwRkJSeXhEUVVGRExFbEJRVWtzUTBGRFRpeDVRa0ZCZVVJc1dVRkJXU3hWUVVGVkxFbEJRVWtzUTBGQlF5eE5RVUZOTEVOQlFVTXNUVUZCVFN4UFFVRlBMRkZCUVZFc1EwRkJReXhGUVVGRkxFVkJRVVVzUTBGRGRFWXNRMEZCUXp0UlFVTktMRU5CUVVNN1VVRkJReXhQUVVGUExFTkJRVTBzUlVGQlJTeERRVUZETzFsQlEyaENMRTFCUVUwc1NVRkJTU3hEUVVGRExGVkJRVlVzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXp0UlFVTXpRaXhEUVVGRE8xRkJRMFFzVDBGQlR5eFJRVUZSTEVOQlFVTTdTVUZEYkVJc1EwRkJRenRKUVVWRU96czdPenM3T3pzN08wOUJWVWM3U1VGRFNDeExRVUZMTEVOQlFVTXNhVUpCUVdsQ0xFTkJRM0pDTEV0QlFXdENMRVZCUTJ4Q0xHTkJRWFZDTEV0QlFVc3NSVUZETlVJc1kwRkJjMElzUlVGQlJTeEZRVU40UWl4UlFVRXlRaXhGUVVNelFpeExRVUV3UWl4RlFVTXhRaXhqUVVGMVFpeEZRVU4yUWl4SFFVRkhMRWxCUVRaQ08xRkJSV2hETEUxQlFVMHNSVUZCUlN4SFFVRkhMRVZCUVVVc1IwRkJSeXhEUVVGRExFMUJRVTBzU1VGQlNTeERRVUZETEUxQlFVMHNRMEZCUXl4SlFVRkpMRVZCUVVVc2FVSkJRV2xDTEVWQlFVVXNTVUZCU1N4RFFVRkRMRU5CUVVNc1EwRkJReXhIUVVGSExFTkJRM0JGTEVsQlFVa3NRMEZCUXl4cFFrRkJhVUlzUTBGRGRrSXNRMEZCUXp0UlFVTkdMRTFCUVUwc1dVRkJXU3hIUVVGSExFMUJRVTBzU1VGQlNTeERRVUZETEZGQlFWRXNRMEZEZEVNc1MwRkJTeXhGUVVOTUxGZEJRVmNzUlVGRFdDeFhRVUZYTEVWQlExZ3NVVUZCVVN4RlFVTlNMRXRCUVVzc1JVRkRUQ3hqUVVGakxFVkJRMlFzUjBGQlJ5eERRVU5LTEVOQlFVTTdVVUZEUml4TlFVRk5MRVZCUVVVc1VVRkJVU3hGUVVGRkxFZEJRVWNzUzBGQlN5eERRVUZETzFGQlF6TkNMRTlCUVU4c1NVRkJTU3hEUVVGRExFMUJRVTBzUTBGQlF5eFJRVUZyUWl4RlFVRkZMRmxCUVZrc1JVRkJSU3hIUVVGSExFTkJRVU1zUTBGQlF6dEpRVU0xUkN4RFFVRkRPMGxCUlVRN096czdPMDlCUzBjN1NVRkRTQ3hMUVVGTExFTkJRVU1zWTBGQll5eERRVU5zUWl4WlFVRnZRaXhGUVVOd1FpeFJRVUZ4UkN4RlFVTnlSQ3hsUVVGcFF5eEZRVU5xUXl4SFFVRkhMRWxCUVRaQ08xRkJSV2hETEUxQlFVMHNSVUZCUlN4SFFVRkhMRVZCUVVVc1IwRkJSeXhGUVVGRkxFZEJRVWNzUTBGQlF5eE5RVUZOTEVsQlFVa3NRMEZCUXl4TlFVRk5MRU5CUVVNc1NVRkJTU3hGUVVGRkxGVkJRVlVzUlVGQlJTeEpRVUZKTEVOQlFVTXNRMEZCUXl4RFFVRkRMRWRCUVVjc1EwRkRiRVVzU1VGQlNTeERRVUZETEdOQlFXTXNRMEZEY0VJc1EwRkJRenRSUVVWR0xFbEJRVWtzUTBGQlF6dFpRVU5JTEVkQlFVY3NRMEZCUXl4SlFVRkpMRU5CUVVNc2VVSkJRWGxDTEZsQlFWa3NSVUZCUlN4RFFVRkRMRU5CUVVNN1dVRkZiRVFzT0VaQlFUaEdPMWxCUXpsR0xFMUJRVTBzWlVGQlpTeEhRVUZITEVsQlFVa3NRMEZCUXl4TlFVRk5MRU5CUVVNc2EwSkJRV3RDTEVWQlFVVXNRMEZCUXp0WlFVVjZSQ3hOUVVGTkxHTkJRV01zUjBGQlJ5eERRVUZETEUxQlFVMHNaVUZCWlN4RFFVRkRMRTFCUVUwc1EwRkRiRVFzV1VGQldTeEZRVU5hTEVsQlFVa3NRMEZCUXl4SlFVRkpMRU5CUTFZc1EwRkJhVVFzUTBGQlF6dFpRVVZ1UkN4TlFVRk5MR1ZCUVdVc1EwRkJReXhOUVVGTkxFTkJRVU1zV1VGQldTeEZRVUZGTEdWQlFXVXNSVUZCUlN4SlFVRkpMRU5CUVVNc1NVRkJTU3hEUVVGRExFTkJRVU1zUTBGQlF5eHpSRUZCYzBRN1dVRkZPVWdzSzBWQlFTdEZPMWxCUXk5RkxFMUJRVTBzV1VGQldTeEhRVUZITEVsQlFVa3NRMEZCUXl4VlFVRlZMRU5CUTJ4RExGbEJRVmtzUlVGRFdpeEZRVUZGTEVWQlFVVXNOa05CUVRaRE8xbEJRMnBFTEVsQlFVa3NRMEZCUXl4SlFVRkpMRU5CUVVNc1VVRkJVU3hGUVVGRkxFVkJRM0JDTEZGQlFWRXNRMEZCUXl4WFFVRlhMRVZCUTNCQ0xGRkJRVkVzUTBGQlF5eFZRVUZWTEVOQlEzQkNMRU5CUVVNN1dVRkRSaXhaUVVGWkxFTkJRVU1zWTBGQll5eERRVUZETEVsQlFVa3NRMEZCUXl4SlFVRkpMRU5CUVVNc1kwRkJZeXhGUVVGRkxFTkJRVU1zUTBGQlF6dFpRVVY0UkN4TlFVRk5MR1ZCUVdVc1IwRkJkMElzUTBGRE0wTXNZMEZCWXl4RFFVRkRMRTFCUVUwc1EwRkJReXhMUVVGTExFbEJRVWtzUlVGQlJTeERRVU5zUXl4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExFVkJRVVVzU1VGQlNTeEZRVUZGTEVWQlFVVXNSVUZCUlN4RFFVRkRMRU5CUVVNN1owSkJRMjVDTEVsQlFVazdaMEpCUTBvc1VVRkJVU3hGUVVGRkxFdEJRVXM3WVVGRGFFSXNRMEZCUXl4RFFVRkRMRU5CUVVNN1dVRkZTaXhOUVVGTkxGVkJRVlVzUjBGQlJ5eE5RVUZOTEVsQlFVa3NRMEZCUXl4TlFVRk5MRU5CUVVNc1VVRkJVU3hEUVVNelF5eFpRVUZaTEVWQlExb3NaVUZCWlN4RFFVTm9RaXhEUVVGRE8xbEJSVVlzVFVGQlRTeGxRVUZsTEVkQlFVY3NjVUpCUVhGQ0xFTkJRVU1zYzBKQlFYTkNMRU5CUTJ4RkxGVkJRVlVzUlVGRFZpeEpRVUZKTEVOQlFVTXNUVUZCVFN4RFFVRkRMRTFCUVUwc1JVRkRiRUlzUjBGQlJ5eERRVU5LTEVOQlFVTTdXVUZGUml4NVJVRkJlVVU3V1VGRGVrVXNSMEZCUnl4RFFVRkRMRXRCUVVzc1EwRkJReXh6UTBGQmMwTXNXVUZCV1N4RlFVRkZMRU5CUVVNc1EwRkJRenRaUVVOb1JTeE5RVUZOTEVWQlFVVXNSMEZCUnl4RlFVRkZMRTFCUVUwc1JVRkJSU3hIUVVGSExIVkNRVUYxUWl4RFFVRkRMRkZCUVZFc1EwRkJReXhYUVVGWExFTkJRVU1zUTBGQlF6dFpRVU4wUlN4TlFVRk5MRWxCUVVrc1EwRkJReXhOUVVGTkxFTkJRVU1zV1VGQldTeEZRVUZGTEVWQlFVVXNSMEZCUnl4RlFVRkZMRTFCUVUwc1JVRkJSU3hGUVVGRkxFbEJRVWtzUTBGQlF5eERRVUZETzFsQlJYWkVMRWRCUVVjc1EwRkJReXhMUVVGTExFTkJRVU1zYVVOQlFXbERMRmxCUVZrc1JVRkJSU3hEUVVGRExFTkJRVU03V1VGRE0wUXNUMEZCVHl4bFFVRmxMRU5CUVVNN1VVRkRla0lzUTBGQlF6dFJRVUZETEU5QlFVOHNRMEZCVFN4RlFVRkZMRU5CUVVNN1dVRkRhRUlzVFVGQlRTeEpRVUZKTEVOQlFVTXNWVUZCVlN4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRE8xRkJRek5DTEVOQlFVTTdTVUZEU0N4RFFVRkRPMGxCUlVRN096czdPenM3T3p0UFFWTkhPMGxCUTBnc1MwRkJTeXhEUVVGRExFMUJRVTBzUTBGRFZpeFpRVUZ2UWl4RlFVTndRaXhoUVVGdFJDeEZRVU51UkN4SFFVRkhMRWxCUVRaQ08xRkJSV2hETEUxQlFVMHNSVUZCUlN4SFFVRkhMRVZCUVVVc1IwRkJSeXhEUVVGRExFMUJRVTBzU1VGQlNTeERRVUZETEUxQlFVMHNRMEZCUXl4SlFVRkpMRVZCUVVVc1VVRkJVU3hGUVVGRkxFbEJRVWtzUTBGQlF5eERRVUZETEVOQlFVTXNSMEZCUnl4RFFVRkRMRWxCUVVrc1EwRkJReXhOUVVGTkxFTkJRVU1zUTBGQlF6dFJRVU16UlN4SFFVRkhMRU5CUVVNc1QwRkJUeXhEUVVGRExIZERRVUYzUXl4WlFVRlpMRVZCUVVVc1EwRkJReXhEUVVGRE8xRkJRM0JGTEUxQlFVMHNVVUZCVVN4SFFVRkhMRTFCUVUwc1NVRkJTU3hEUVVGRExFbEJRVWtzUTBGQlF5eFpRVUZaTEVOQlFVTXNRMEZCUXp0UlFVTXZReXhKUVVGSkxFTkJRVU1zVVVGQlVUdFpRVU5ZTEUxQlFVMHNTVUZCU1N4aFFVRmhMRU5CUTNKQ0xIRkRRVUZ4UXl4WlFVRlpMRVZCUVVVc1EwRkRjRVFzUTBGQlF6dFJRVU5LTEVsQlFVa3NUVUZCZDBJc1EwRkJRenRSUVVNM1FpeEpRVUZKTEVOQlFVTTdXVUZEU0N4TlFVRk5MRTFCUVUwc1IwRkRWaXhQUVVGUExFTkJRVU1zWVVGQllTeERRVUZETEUxQlFVMHNRMEZCUXl4SlFVRkpMRTlCUVU4c1EwRkJReXhoUVVGaExFTkJRVU1zUjBGQlJ5eERRVUZETzJkQ1FVTjZSQ3hEUVVGRExFTkJRVU1zZVVKQlFYbENPMmRDUVVNelFpeERRVUZETEVOQlFVTXNaVUZCWlN4RFFVRkRPMWxCUlhSQ0xFMUJRVTBzWVVGQllTeEhRVUZ0UWp0blFrRkRjRU1zVFVGQlRUdG5Ra0ZEVGl4SFFVRkhMR0ZCUVdFN1owSkJRMmhDTEZsQlFWa3NSVUZCUlN4UlFVRlJMRU5CUVVNc1JVRkJSVHRoUVVNeFFpeERRVUZETzFsQlJVWXNUVUZCVFN4SFFVRkhMRTFCUVUwc1NVRkJTU3hEUVVGRExFMUJRVTBzUTBGQlF5eE5RVUZOTEVOQlFVTXNZVUZCWVN4RlFVRkZMRWxCUVVrc1EwRkJReXhKUVVGSkxFTkJRVU1zUTBGQlF6dFJRVU01UkN4RFFVRkRPMUZCUVVNc1QwRkJUeXhEUVVGVkxFVkJRVVVzUTBGQlF6dFpRVU53UWl4TlFVRk5MRWxCUVVrc1lVRkJZU3hEUVVOeVFpeDFRMEZCZFVNc1dVRkJXU3hMUVVGTExFTkJRVU1zUlVGQlJTeERRVU0xUkN4RFFVRkRPMUZCUTBvc1EwRkJRenRSUVVORUxFbEJRVWtzUTBGQlF5eE5RVUZOTEVOQlFVTXNUMEZCVHp0WlFVTnFRaXhOUVVGTkxFbEJRVWtzWVVGQllTeERRVU55UWl4MVEwRkJkVU1zV1VGQldTeExRVUZMTEUxQlFVMHNRMEZCUXl4TlFVRk5MRU5CUVVNc1NVRkJTU3hEUVVGRExFbEJRVWtzUTBGQlF5eEZRVUZGTEVOQlEyNUdMRU5CUVVNN1VVRkRTaXhQUVVGUExFMUJRVTBzUTBGQlF6dEpRVU5vUWl4RFFVRkRPME5CUTBZaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SnBiWEJ2Y25RZ2UxeHVJQ0JCZFhSb2IzSnBlbUYwYVc5dVJYSnliM0lzWEc0Z0lFTnNhV1Z1ZEVKaGMyVmtVMlZ5ZG1salpTeGNiaUFnUTI5dWRHVjRkQ3hjYmlBZ1RXRjVZbVZEYjI1MFpYaDBkV0ZzUVhKbkxGeHVJQ0JRWlhKemFYTjBaVzVqWlV0bGVYTXNYRzU5SUdaeWIyMGdYQ0pBWkdWallXWXRkSE12WTI5eVpWd2lPMXh1YVcxd2IzSjBJRVpoWW5KcFkwTkJVMlZ5ZG1salpYTXNJSHRjYmlBZ1FXWm1hV3hwWVhScGIyNVRaWEoyYVdObExGeHVJQ0JKUVhSMGNtbGlkWFJsVW1WeGRXVnpkQ3hjYmlBZ1NXUmxiblJwZEhsVFpYSjJhV05sTEZ4dUlDQkpSVzV5YjJ4c1VtVnpjRzl1YzJVc1hHNGdJRWxKWkdWdWRHbDBlVkpsY1hWbGMzUXNYRzRnSUVsU1pXZHBjM1JsY2xKbGNYVmxjM1FzWEc0Z0lFbFNaWFp2YTJWU1pYRjFaWE4wTEZ4dUlDQkpVMlZ5ZG1salpWSmxjM0J2Ym5ObExGeHVJQ0JVVEZOUGNIUnBiMjV6TEZ4dWZTQm1jbTl0SUZ3aVptRmljbWxqTFdOaExXTnNhV1Z1ZEZ3aU8xeHVhVzF3YjNKMElIc2dRMEZEYjI1bWFXY3NJRU55WldSbGJuUnBZV3h6SUgwZ1puSnZiU0JjSWk0dUx5NHVMM05vWVhKbFpDOTBlWEJsYzF3aU8xeHVhVzF3YjNKMElIdGNiaUFnUTI5dVpteHBZM1JGY25KdmNpeGNiaUFnU1c1MFpYSnVZV3hGY25KdmNpeGNiaUFnVG05MFJtOTFibVJGY25KdmNpeGNiaUFnVDNCbGNtRjBhVzl1UzJWNWN5eGNibjBnWm5KdmJTQmNJa0JrWldOaFppMTBjeTlrWWkxa1pXTnZjbUYwYjNKelhDSTdYRzVwYlhCdmNuUWdleUJEYjNKbFZYUnBiSE1zSUdkbGRFRnJhVUZ1WkZObGNtbGhiRVp5YjIxRFpYSjBJSDBnWm5KdmJTQmNJaTR1TDNWMGFXeHpYQ0k3WEc1cGJYQnZjblFnZTF4dUlDQkRaWEowYVdacFkyRjBaVkpsYzNCdmJuTmxMRnh1SUNCR1lXSnlhV05KWkdWdWRHbDBlU3hjYmlBZ1IyVjBRMlZ5ZEdsbWFXTmhkR1Z6VW1WeGRXVnpkQ3hjYmlBZ1NXUmxiblJwZEhsU1pYTndiMjV6WlN4Y2JuMGdabkp2YlNCY0lpNHVMeTR1TDNOb1lYSmxaQzltWVdKeWFXTXRkSGx3WlhOY0lqdGNibWx0Y0c5eWRDQjdJRlZ6WlhJZ2ZTQm1jbTl0SUZ3aVptRmljbWxqTFdOdmJXMXZibHdpTzF4dWFXMXdiM0owSUhzZ1VtVm5hWE4wY21GMGFXOXVSWEp5YjNJZ2ZTQm1jbTl0SUZ3aUxpNHZMaTR2YzJoaGNtVmtMMlZ5Y205eWMxd2lPMXh1YVcxd2IzSjBJSHNnUTBGZlVrOU1SU0I5SUdaeWIyMGdYQ0l1TDJOdmJuTjBZVzUwYzF3aU8xeHVhVzF3YjNKMElIc2dTVXRsZVZaaGJIVmxRWFIwY21saWRYUmxJSDBnWm5KdmJTQmNJaTR2Um1GaWNtbGpSVzV5YjJ4c2JXVnVkRk5sY25acFkyVmNJanRjYm1sdGNHOXlkQ0I3SUVsa1pXNTBhWFI1SUgwZ1puSnZiU0JjSWk0dUx5NHVMM05vWVhKbFpDOXBibVJsZUZ3aU8xeHVhVzF3YjNKMElIc2dRM0o1Y0hSdlZYUnBiSE1nZlNCbWNtOXRJRndpTGk0dlkzSjVjSFJ2WENJN1hHNWNibVY0Y0c5eWRDQmpiR0Z6Y3lCR1lXSnlhV05KWkdWdWRHbDBlVk5sY25acFkyVWdaWGgwWlc1a2N5QkRiR2xsYm5SQ1lYTmxaRk5sY25acFkyVThYRzRnSUVaaFluSnBZME5CVTJWeWRtbGpaWE1zWEc0Z0lFTkJRMjl1Wm1sblhHNCtJSHRjYmlBZ2NISnZkR1ZqZEdWa0lGOTFjMlZ5SVRvZ1ZYTmxjanRjYmx4dUlDQmpiMjV6ZEhKMVkzUnZjaWdwSUh0Y2JpQWdJQ0J6ZFhCbGNpZ3BPMXh1SUNCOVhHNWNiaUFnY0hKdmRHVmpkR1ZrSUdkbGRDQnliMjkwUTJ4cFpXNTBLQ2s2SUhzZ2JtVjNRMlZ5ZEdsbWFXTmhkR1ZUWlhKMmFXTmxPaUJoYm5rZ2ZTQjdYRzRnSUNBZ2NtVjBkWEp1SUNoMGFHbHpMbU5zYVdWdWRDQmhjeUJoYm5rcFcxd2lYMFpoWW5KcFkwTmhVMlZ5ZG1salpYTmNJbDBnWVhNZ1lXNTVPMXh1SUNCOVhHNWNiaUFnY0hKdmRHVmpkR1ZrSUdkbGRDQjFjMlZ5S0NrNklGVnpaWElnZTF4dUlDQWdJR2xtSUNnaGRHaHBjeTVmZFhObGNpbGNiaUFnSUNBZ0lIUm9jbTkzSUc1bGR5QkpiblJsY201aGJFVnljbTl5S0Z4dUlDQWdJQ0FnSUNCY0lrWmhZbkpwWXlCcFpHVnVkR2wwZVNCelpYSjJhV05sSUc1dmRDQndjbTl3WlhKc2VTQnpaWFIxY0RvZ2JXbHpjMmx1WnlCMWMyVnlYQ0pjYmlBZ0lDQWdJQ2s3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11WDNWelpYSTdYRzRnSUgxY2JseHVJQ0J3Y205MFpXTjBaV1FnWjJWMElHTmxjblJwWm1sallYUmxjeWdwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1eWIyOTBRMnhwWlc1MExtNWxkME5sY25ScFptbGpZWFJsVTJWeWRtbGpaU2dwTzF4dUlDQjlYRzVjYmlBZ2NISnZkR1ZqZEdWa0lHZGxkQ0JoWm1acGJHbGhkR2x2Ym5Nb0tUb2dRV1ptYVd4cFlYUnBiMjVUWlhKMmFXTmxJSHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVqYkdsbGJuUXVibVYzUVdabWFXeHBZWFJwYjI1VFpYSjJhV05sS0NrN1hHNGdJSDFjYmx4dUlDQndjbTkwWldOMFpXUWdaMlYwSUdsa1pXNTBhWFJwWlhNb0tUb2dTV1JsYm5ScGRIbFRaWEoyYVdObElIdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NWpiR2xsYm5RdWJtVjNTV1JsYm5ScGRIbFRaWEoyYVdObEtDazdYRzRnSUgxY2JseHVJQ0J3Y205MFpXTjBaV1FnWVhONWJtTWdaMlYwVlhObGNpaGpabWM2SUVOQlEyOXVabWxuTENCamRIZzZJRU52Ym5SbGVIUXBJSHRjYmlBZ0lDQmpiMjV6ZENCc2IyY2dQU0JqZEhndWJHOW5aMlZ5TG1admNpaDBhR2x6TG1kbGRGVnpaWElwTzF4dUlDQWdJR052Ym5OMElIc2dZMkZPWVcxbExDQmpZVU5sY25Rc0lHTmhTMlY1TENCMWNtd3NJR2h6YlNCOUlEMGdZMlpuTzF4dVhHNGdJQ0FnYkc5bkxtbHVabThvWUVOeVpXRjBhVzVuSUVOQklIVnpaWElnWm05eUlDUjdZMkZPWVcxbGZTQmhkQ0FrZTNWeWJIMWdLVHRjYmlBZ0lDQnNiMmN1ZG1WeVltOXpaU2hnVW1WMGNtbGxkbWx1WnlCRFFTQmpaWEowYVdacFkyRjBaU0JtY205dElDUjdZMkZEWlhKMGZXQXBPMXh1SUNBZ0lHTnZibk4wSUdObGNuUnBabWxqWVhSbElEMGdZWGRoYVhRZ1EyOXlaVlYwYVd4ekxtZGxkRVpwY25OMFJHbHlSbWxzWlU1aGJXVkRiMjUwWlc1MEtHTmhRMlZ5ZENrN1hHNGdJQ0FnYkdWMElHdGxlVG9nYzNSeWFXNW5JSHdnZFc1a1pXWnBibVZrTzF4dUlDQWdJR2xtSUNnaGFITnRLU0I3WEc0Z0lDQWdJQ0JwWmlBb0lXTmhTMlY1S1NCN1hHNGdJQ0FnSUNBZ0lIUm9jbTkzSUc1bGR5QkpiblJsY201aGJFVnljbTl5S0Z4dUlDQWdJQ0FnSUNBZ0lHQk5hWE56YVc1bklHTmhTMlY1SUdOdmJtWnBaM1Z5WVhScGIyNGdabTl5SUVOQklDUjdZMkZPWVcxbGZTNGdVSEp2ZG1sa1pTQmhJR3RsZVNCa2FYSmxZM1J2Y25rZ2IzSWdZMjl1Wm1sbmRYSmxJRWhUVFNCemRYQndiM0owTG1CY2JpQWdJQ0FnSUNBZ0tUdGNiaUFnSUNBZ0lIMWNiaUFnSUNBZ0lHeHZaeTVrWldKMVp5aGdVbVYwY21sbGRtbHVaeUJEUVNCclpYa2dabkp2YlNBa2UyTmhTMlY1ZldBcE8xeHVJQ0FnSUNBZ2EyVjVJRDBnWVhkaGFYUWdRMjl5WlZWMGFXeHpMbWRsZEVacGNuTjBSR2x5Um1sc1pVNWhiV1ZEYjI1MFpXNTBLR05oUzJWNUtUdGNiaUFnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnYkc5bkxtUmxZblZuS0Z4dUlDQWdJQ0FnSUNCZ1ZYTnBibWNnU0ZOTklHTnZibVpwWjNWeVlYUnBiMjRnWm05eUlFTkJJQ1I3WTJGT1lXMWxmU0IzYVhSb0lHeHBZbkpoY25rZ0pIdG9jMjB1YkdsaWNtRnllWDFnWEc0Z0lDQWdJQ0FwTzF4dUlDQWdJSDFjYmlBZ0lDQnNiMmN1WkdWaWRXY29ZRXh2WVdScGJtY2dRV1J0YVc0Z2RYTmxjaUJtYjNJZ1kyRWdKSHRqWVU1aGJXVjlZQ2s3WEc0Z0lDQWdkR2hwY3k1ZmRYTmxjaUE5SUdGM1lXbDBJRU52Y21WVmRHbHNjeTVuWlhSRFFWVnpaWElvWENKaFpHMXBibHdpTENCclpYa3NJR05sY25ScFptbGpZWFJsTENCallVNWhiV1VzSUh0Y2JpQWdJQ0FnSUdoemJTeGNiaUFnSUNCOUtUdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NWZkWE5sY2p0Y2JpQWdmVnh1WEc0Z0lHOTJaWEp5YVdSbElHRnplVzVqSUdsdWFYUnBZV3hwZW1Vb1hHNGdJQ0FnTGk0dVlYSm5jem9nVFdGNVltVkRiMjUwWlhoMGRXRnNRWEpuUEdGdWVUNWNiaUFnS1RvZ1VISnZiV2x6WlR4N0lHTnZibVpwWnpvZ1EwRkRiMjVtYVdjN0lHTnNhV1Z1ZERvZ1JtRmljbWxqUTBGVFpYSjJhV05sY3lCOVBpQjdYRzRnSUNBZ1kyOXVjM1FnZXlCc2IyY3NJR04wZUNCOUlEMGdLRnh1SUNBZ0lDQWdZWGRoYVhRZ2RHaHBjeTVzYjJkRGRIZ29ZWEpuY3l3Z1VHVnljMmx6ZEdWdVkyVkxaWGx6TGtsT1NWUkpRVXhKV2tGVVNVOU9MQ0IwY25WbEtWeHVJQ0FnSUNrdVptOXlLSFJvYVhNdWFXNXBkR2xoYkdsNlpTazdYRzRnSUNBZ1kyOXVjM1FnVzJOdmJtWnBaMTBnUFNCaGNtZHpPMXh1SUNBZ0lHbG1JQ2doWTI5dVptbG5LU0IwYUhKdmR5QnVaWGNnU1c1MFpYSnVZV3hGY25KdmNpaGNJazFwYzNOcGJtY2dSbUZpY21saklFTkJJR052Ym1acFozVnlZWFJwYjI1Y0lpazdYRzVjYmlBZ0lDQmpiMjV6ZENCN0lIVnliQ3dnZEd4ekxDQmpZVTVoYldVZ2ZTQTlJR052Ym1acFp6dGNiaUFnSUNCc2IyY3VhVzVtYnloZ1NXNXBkR2xoYkdsNmFXNW5JRU5CSUVOc2FXVnVkQ0JtYjNJZ1EwRWdKSHRqYjI1bWFXY3VZMkZPWVcxbGZTQmhkQ0FrZTJOdmJtWnBaeTUxY214OVlDazdYRzRnSUNBZ1kyOXVjM1FnZXlCMGNuVnpkR1ZrVW05dmRITXNJSFpsY21sbWVTQjlJRDBnZEd4eklHRnpJRlJNVTA5d2RHbHZibk03WEc1Y2JpQWdJQ0JqYjI1emRDQnliMjkwSUQwZ0tIUnlkWE4wWldSU2IyOTBjeUJoY3lCemRISnBibWRiWFNsYk1GMGdZWE1nYzNSeWFXNW5PMXh1SUNBZ0lHeHZaeTVrWldKMVp5aGdVbVYwY21sbGRtbHVaeUJEUVNCalpYSjBhV1pwWTJGMFpTQm1jbTl0SUNSN2NtOXZkSDB1SUdOM1pEb2dKSHR3Y205alpYTnpMbU4zWkNncGZXQXBPMXh1WEc0Z0lDQWdZMjl1YzNRZ1kyVnlkR2xtYVdOaGRHVWdQU0JoZDJGcGRDQkRiM0psVlhScGJITXVaMlYwUm1sc1pVTnZiblJsYm5Rb2NtOXZkQ2s3WEc1Y2JpQWdJQ0JzYjJjdVpHVmlkV2NvWUVOQklFTmxjblJwWm1sallYUmxPaUFrZTJObGNuUnBabWxqWVhSbExuUnZVM1J5YVc1bktDbDlZQ2s3WEc1Y2JpQWdJQ0JqYjI1emRDQmpiR2xsYm5RZ1BTQnVaWGNnUm1GaWNtbGpRMEZUWlhKMmFXTmxjeWhjYmlBZ0lDQWdJSFZ5YkN4Y2JpQWdJQ0FnSUh0Y2JpQWdJQ0FnSUNBZ2RISjFjM1JsWkZKdmIzUnpPaUJDZFdabVpYSXVabkp2YlNoalpYSjBhV1pwWTJGMFpTa3NYRzRnSUNBZ0lDQWdJSFpsY21sbWVTeGNiaUFnSUNBZ0lIMGdZWE1nVkV4VFQzQjBhVzl1Y3l4Y2JpQWdJQ0FnSUdOaFRtRnRaVnh1SUNBZ0lDazdYRzVjYmlBZ0lDQmpiMjV6ZENCMWMyVnlJRDBnWVhkaGFYUWdkR2hwY3k1blpYUlZjMlZ5S0dOdmJtWnBaeXdnWTNSNEtUdGNiaUFnSUNCc2IyY3VaR1ZpZFdjb1lFTkJJSFZ6WlhJZ2JHOWhaR1ZrT2lBa2UzVnpaWEl1WjJWMFRtRnRaU2dwZldBcE8xeHVJQ0FnSUhKbGRIVnliaUI3WEc0Z0lDQWdJQ0JqYjI1bWFXY3NYRzRnSUNBZ0lDQmpiR2xsYm5Rc1hHNGdJQ0FnZlR0Y2JpQWdmVnh1WEc0Z0lHRnplVzVqSUdkbGRFTmxjblJwWm1sallYUmxjeWd1TGk1aGNtZHpPaUJOWVhsaVpVTnZiblJsZUhSMVlXeEJjbWM4WVc1NVBpazZJRkJ5YjIxcGMyVThjM1J5YVc1blcxMCtPMXh1SUNCaGMzbHVZeUJuWlhSRFpYSjBhV1pwWTJGMFpYTW9YRzRnSUNBZ2NtVnhkV1Z6ZERvZ1IyVjBRMlZ5ZEdsbWFXTmhkR1Z6VW1WeGRXVnpkQ3hjYmlBZ0lDQXVMaTVoY21kek9pQk5ZWGxpWlVOdmJuUmxlSFIxWVd4QmNtYzhZVzU1UGx4dUlDQXBPaUJRY205dGFYTmxQSE4wY21sdVoxdGRQanRjYmlBZ1lYTjVibU1nWjJWMFEyVnlkR2xtYVdOaGRHVnpQRTFCVUNCbGVIUmxibVJ6SUdKdmIyeGxZVzQrS0Z4dUlDQWdJR1J2VFdGd09pQk5RVkFzWEc0Z0lDQWdMaTR1WVhKbmN6b2dUV0Y1WW1WRGIyNTBaWGgwZFdGc1FYSm5QR0Z1ZVQ1Y2JpQWdLVG9nVUhKdmJXbHpaVHhOUVZBZ1pYaDBaVzVrY3lCbVlXeHpaU0EvSUVObGNuUnBabWxqWVhSbFVtVnpjRzl1YzJVZ09pQnpkSEpwYm1kYlhUNDdYRzRnSUdGemVXNWpJR2RsZEVObGNuUnBabWxqWVhSbGN6eE5RVkFnWlhoMFpXNWtjeUJpYjI5c1pXRnVQaWhjYmlBZ0lDQnlaWEYxWlhOME9pQkhaWFJEWlhKMGFXWnBZMkYwWlhOU1pYRjFaWE4wTEZ4dUlDQWdJR1J2VFdGd09pQk5RVkFzWEc0Z0lDQWdMaTR1WVhKbmN6b2dUV0Y1WW1WRGIyNTBaWGgwZFdGc1FYSm5QR0Z1ZVQ1Y2JpQWdLVG9nVUhKdmJXbHpaVHhOUVZBZ1pYaDBaVzVrY3lCbVlXeHpaU0EvSUVObGNuUnBabWxqWVhSbFVtVnpjRzl1YzJVZ09pQnpkSEpwYm1kYlhUNDdYRzRnSUdGemVXNWpJR2RsZEVObGNuUnBabWxqWVhSbGN6eE5RVkFnWlhoMFpXNWtjeUJpYjI5c1pXRnVQaWhjYmlBZ0lDQnlaWEYxWlhOMFB6b2dSMlYwUTJWeWRHbG1hV05oZEdWelVtVnhkV1Z6ZENCOElFMUJVQ3hjYmlBZ0lDQmtiMDFoY0RvZ1RVRlFJRDBnZEhKMVpTQmhjeUJOUVZBc1hHNGdJQ0FnTGk0dVlYSm5jem9nVFdGNVltVkRiMjUwWlhoMGRXRnNRWEpuUEdGdWVUNWNiaUFnS1RvZ1VISnZiV2x6WlR4TlFWQWdaWGgwWlc1a2N5Qm1ZV3h6WlNBL0lFTmxjblJwWm1sallYUmxVbVZ6Y0c5dWMyVWdPaUJ6ZEhKcGJtZGJYVDRnZTF4dUlDQWdJR2xtSUNoeVpYRjFaWE4wSUdsdWMzUmhibU5sYjJZZ1EyOXVkR1Y0ZENrZ2UxeHVJQ0FnSUNBZ1lYSm5jeUE5SUZ0eVpYRjFaWE4wWFR0Y2JpQWdJQ0FnSUdSdlRXRndJRDBnZEhKMVpTQmhjeUJOUVZBN1hHNGdJQ0FnSUNCeVpYRjFaWE4wSUQwZ2RXNWtaV1pwYm1Wa08xeHVJQ0FnSUgwZ1pXeHpaU0JwWmlBb2RIbHdaVzltSUhKbGNYVmxjM1FnUFQwOUlGd2lZbTl2YkdWaGJsd2lLU0I3WEc0Z0lDQWdJQ0JrYjAxaGNDQTlJSEpsY1hWbGMzUTdYRzRnSUNBZ0lDQnlaWEYxWlhOMElEMGdkVzVrWldacGJtVmtPMXh1SUNBZ0lIMGdaV3h6WlNCcFppQW9kSGx3Wlc5bUlHUnZUV0Z3SUNFOVBTQmNJbUp2YjJ4bFlXNWNJaWtnZTF4dUlDQWdJQ0FnWVhKbmN5QTlJRnRrYjAxaGNDQmhjeUJOWVhsaVpVTnZiblJsZUhSMVlXeEJjbWM4WVc1NVBpd2dMaTR1WVhKbmMxMDdYRzRnSUNBZ0lDQmtiMDFoY0NBOUlIUnlkV1VnWVhNZ1RVRlFPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHTnZibk4wSUhzZ2JHOW5JSDBnUFNBb1lYZGhhWFFnZEdocGN5NXNiMmREZEhnb1lYSm5jeXdnVDNCbGNtRjBhVzl1UzJWNWN5NVNSVUZFTENCMGNuVmxLU2t1Wm05eUtGeHVJQ0FnSUNBZ2RHaHBjeTVuWlhSRFpYSjBhV1pwWTJGMFpYTmNiaUFnSUNBcE8xeHVJQ0FnSUd4dlp5NWtaV0oxWnloY2JpQWdJQ0FnSUdCU1pYUnlhV1YyYVc1bklHTmxjblJwWm1sallYUmxjeVI3Y21WeGRXVnpkQ0EvSUdBZ1ptOXlJQ1I3Y21WeGRXVnpkQzVwWkgxZ0lEb2dYQ0pjSW4wZ1ptOXlJRU5CSUNSN2RHaHBjeTVqYjI1bWFXY3VZMkZPWVcxbGZXQmNiaUFnSUNBcE8xeHVJQ0FnSUdOdmJuTjBJSEpsYzNCdmJuTmxPaUJEWlhKMGFXWnBZMkYwWlZKbGMzQnZibk5sSUQwZ0tGeHVJQ0FnSUNBZ1lYZGhhWFFnZEdocGN5NWpaWEowYVdacFkyRjBaWE11WjJWMFEyVnlkR2xtYVdOaGRHVnpLSEpsY1hWbGMzUWdmSHdnZTMwc0lIUm9hWE11ZFhObGNpbGNiaUFnSUNBcExuSmxjM1ZzZER0Y2JpQWdJQ0JzYjJjdWRtVnlZbTl6WlNoZ1JtOTFibVFnSkh0eVpYTndiMjV6WlM1alpYSjBjeTVzWlc1bmRHaDlJR05sY25ScFptbGpZWFJsYzJBcE8xeHVJQ0FnSUd4dlp5NWtaV0oxWnloeVpYTndiMjV6WlM1alpYSjBjeWs3WEc0Z0lDQWdjbVYwZFhKdUlDaGNiaUFnSUNBZ0lHUnZUV0Z3SUQ4Z2NtVnpjRzl1YzJVdVkyVnlkSE11YldGd0tDaGpLU0E5UGlCakxsQkZUU2tnT2lCeVpYTndiMjV6WlZ4dUlDQWdJQ2tnWVhNZ1RVRlFJR1Y0ZEdWdVpITWdabUZzYzJVZ1B5QkRaWEowYVdacFkyRjBaVkpsYzNCdmJuTmxJRG9nYzNSeWFXNW5XMTA3WEc0Z0lIMWNibHh1SUNCaGMzbHVZeUJuWlhSSlpHVnVkR2wwYVdWektHTjBlRG9nUTI5dWRHVjRkQ2s2SUZCeWIyMXBjMlU4Um1GaWNtbGpTV1JsYm5ScGRIbGJYVDRnZTF4dUlDQWdJR052Ym5OMElHeHZaeUE5SUdOMGVDNXNiMmRuWlhJdVptOXlLSFJvYVhNdVoyVjBTV1JsYm5ScGRHbGxjeWs3WEc0Z0lDQWdiRzluTG5abGNtSnZjMlVvWUZKbGRISnBaWFpwYm1jZ1NXUmxiblJwZEdsbGN5QjFibVJsY2lCRFFTQWtlM1JvYVhNdVkyOXVabWxuTG1OaFRtRnRaWDFnS1R0Y2JpQWdJQ0JqYjI1emRDQnlaWE53YjI1elpUb2dTV1JsYm5ScGRIbFNaWE53YjI1elpTQTlJQ2hoZDJGcGRDQjBhR2x6TG1sa1pXNTBhWFJwWlhNdVoyVjBRV3hzS0hSb2FYTXVkWE5sY2lrcFhHNGdJQ0FnSUNBdWNtVnpkV3gwTzF4dUlDQWdJR3h2Wnk1MlpYSmliM05sS0dCR2IzVnVaQ0FrZTNKbGMzQnZibk5sTG1sa1pXNTBhWFJwWlhNdWJHVnVaM1JvZlNCSlpHVnVkR2wwYVdWellDazdYRzRnSUNBZ2JHOW5MbVJsWW5WbktISmxjM0J2Ym5ObExtbGtaVzUwYVhScFpYTXBPMXh1SUNBZ0lISmxkSFZ5YmlCeVpYTndiMjV6WlM1cFpHVnVkR2wwYVdWek8xeHVJQ0I5WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRUJrWlhOamNtbHdkR2x2YmlCU1pYUnlhV1YyWlNCaFptWnBiR2xoZEdsdmJuTWdabkp2YlNCMGFHVWdRMEV1WEc0Z0lDQXFJRUJ6ZFcxdFlYSjVJRkYxWlhKcFpYTWdkR2hsSUVOQklHWnZjaUIwYUdVZ2JHbHpkQ0J2WmlCaFptWnBiR2xoZEdsdmJuTWdZWFpoYVd4aFlteGxJSFZ1WkdWeUlIUm9aU0JqYjI1bWFXZDFjbVZrSUVOQkxseHVJQ0FnS2lCQWNtVjBkWEp1SUh0emRISnBibWQ5SUZSb1pTQmhabVpwYkdsaGRHbHZibk1nY21WemRXeDBJSEJoZVd4dllXUXVYRzRnSUNBcUwxeHVJQ0JoYzNsdVl5Qm5aWFJCWm1acGJHbGhkR2x2Ym5Nb1kzUjRPaUJEYjI1MFpYaDBLU0I3WEc0Z0lDQWdZMjl1YzNRZ2JHOW5JRDBnWTNSNExteHZaMmRsY2k1bWIzSW9kR2hwY3k1blpYUkJabVpwYkdsaGRHbHZibk1wTzF4dUlDQWdJR3h2Wnk1MlpYSmliM05sS0dCU1pYUnlhV1YyYVc1bklFRm1abWxzYVdGMGFXOXVjeUIxYm1SbGNpQkRRU0FrZTNSb2FYTXVZMjl1Wm1sbkxtTmhUbUZ0WlgxZ0tUdGNiaUFnSUNCamIyNXpkQ0J5WlhOd2IyNXpaU0E5SUNoaGQyRnBkQ0IwYUdsekxtRm1abWxzYVdGMGFXOXVjeTVuWlhSQmJHd29kR2hwY3k1MWMyVnlLU2t1Y21WemRXeDBPMXh1SUNBZ0lHeHZaeTUyWlhKaWIzTmxLR0JHYjNWdVpDQWtlM0psYzNCdmJuTmxMbUV1YkdWdVozUm9mU0JCWm1acGJHbGhkR2x2Ym5OZ0tUdGNiaUFnSUNCc2IyY3VaR1ZpZFdjb1NsTlBUaTV6ZEhKcGJtZHBabmtvY21WemNHOXVjMlVwS1R0Y2JpQWdJQ0J5WlhSMWNtNGdjbVZ6Y0c5dWMyVTdYRzRnSUgxY2JseHVJQ0J3Y205MFpXTjBaV1FnY0dGeWMyVkZjbkp2Y2lobE9pQkZjbkp2Y2lrZ2UxeHVJQ0FnSUdOdmJuTjBJSEpsWjJWNGNDQTlJQzh1S21OdlpHVTZYRnh6S0Z4Y1pDc3BMaW8vYldWemMyRm5aVHBjWEhOYlhDSW5YU2d1S3lsYlhDSW5YUzluY3p0Y2JpQWdJQ0JqYjI1emRDQnRZWFJqYUNBOUlISmxaMlY0Y0M1bGVHVmpLR1V1YldWemMyRm5aU2s3WEc0Z0lDQWdhV1lnS0NGdFlYUmphQ2tnY21WMGRYSnVJRzVsZHlCU1pXZHBjM1J5WVhScGIyNUZjbkp2Y2lobEtUdGNiaUFnSUNCamIyNXpkQ0JiTENCamIyUmxMQ0J0WlhOellXZGxYU0E5SUcxaGRHTm9PMXh1SUNBZ0lITjNhWFJqYUNBb1kyOWtaU2tnZTF4dUlDQWdJQ0FnWTJGelpTQmNJamMwWENJNlhHNGdJQ0FnSUNCallYTmxJRndpTnpGY0lqcGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlHNWxkeUJEYjI1bWJHbGpkRVZ5Y205eUtHMWxjM05oWjJVcE8xeHVJQ0FnSUNBZ1kyRnpaU0JjSWpJd1hDSTZYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQnVaWGNnUVhWMGFHOXlhWHBoZEdsdmJrVnljbTl5S0cxbGMzTmhaMlVwTzF4dUlDQWdJQ0FnWkdWbVlYVnNkRHBjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJRzVsZHlCU1pXZHBjM1J5WVhScGIyNUZjbkp2Y2lodFpYTnpZV2RsS1R0Y2JpQWdJQ0I5WEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ1FHUmxjMk55YVhCMGFXOXVJRkpsWVdRZ2FXUmxiblJwZEhrZ1pHVjBZV2xzY3lCbWNtOXRJSFJvWlNCRFFTQmllU0JsYm5KdmJHeHRaVzUwSUVsRUxseHVJQ0FnS2lCQWMzVnRiV0Z5ZVNCU1pYUnlhV1YyWlhNZ1lXNWtJSFpoYkdsa1lYUmxjeUJoSUhOcGJtZHNaU0JwWkdWdWRHbDBlU3dnZEdoeWIzZHBibWNnVG05MFJtOTFibVJGY25KdmNpQjNhR1Z1SUcxcGMzTnBibWN1WEc0Z0lDQXFJRUJ3WVhKaGJTQjdjM1J5YVc1bmZTQmxibkp2Ykd4dFpXNTBTV1FnTFNCRmJuSnZiR3h0Wlc1MElFbEVJSFJ2SUd4dmIydDFjQzVjYmlBZ0lDb2dRSEpsZEhWeWJpQjdVSEp2YldselpUeEdZV0p5YVdOSlpHVnVkR2wwZVQ1OUlGUm9aU0JwWkdWdWRHbDBlU0JrWlhSaGFXeHpJSE4wYjNKbFpDQnBiaUIwYUdVZ1EwRXVYRzRnSUNBcUwxeHVJQ0JoYzNsdVl5QnlaV0ZrS0Z4dUlDQWdJR1Z1Y205c2JHMWxiblJKWkRvZ2MzUnlhVzVuTEZ4dUlDQWdJQzR1TG1GeVozTTZJRTFoZVdKbFEyOXVkR1Y0ZEhWaGJFRnlaenhoYm5rK1hHNGdJQ2s2SUZCeWIyMXBjMlU4Um1GaWNtbGpTV1JsYm5ScGRIaytJSHRjYmlBZ0lDQmpiMjV6ZENCN0lHeHZaeUI5SUQwZ0tHRjNZV2wwSUhSb2FYTXViRzluUTNSNEtHRnlaM01zSUU5d1pYSmhkR2x2Ymt0bGVYTXVVa1ZCUkN3Z2RISjFaU2twTG1admNpaGNiaUFnSUNBZ0lIUm9hWE11Y21WaFpGeHVJQ0FnSUNrN1hHNGdJQ0FnYkc5bkxuWmxjbUp2YzJVb1lGSmxkSEpwWlhacGJtY2dhV1JsYm5ScGRIa2dkMmwwYUNCbGJuSnZiR3h0Wlc1MElFbEVJQ1I3Wlc1eWIyeHNiV1Z1ZEVsa2ZXQXBPMXh1SUNBZ0lHeGxkQ0J5WlhOMWJIUTZJRWxUWlhKMmFXTmxVbVZ6Y0c5dWMyVTdYRzRnSUNBZ2RISjVJSHRjYmlBZ0lDQWdJSEpsYzNWc2RDQTlJR0YzWVdsMElIUm9hWE11YVdSbGJuUnBkR2xsY3k1blpYUlBibVVvWlc1eWIyeHNiV1Z1ZEVsa0xDQjBhR2x6TG5WelpYSXBPMXh1SUNBZ0lIMGdZMkYwWTJnZ0tHVTZJR0Z1ZVNrZ2UxeHVJQ0FnSUNBZ2RHaHliM2NnYm1WM0lFNXZkRVp2ZFc1a1JYSnliM0lvWEc0Z0lDQWdJQ0FnSUdCRGIzVnNaRzRuZENCbWFXNWtJR1Z1Y205c2JHMWxiblFnZDJsMGFDQnBaQ0FrZTJWdWNtOXNiRzFsYm5SSlpIMDZJQ1I3WlgxZ1hHNGdJQ0FnSUNBcE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdsbUlDZ2hjbVZ6ZFd4MExuTjFZMk5sYzNNcFhHNGdJQ0FnSUNCMGFISnZkeUJ1WlhjZ1RtOTBSbTkxYm1SRmNuSnZjaWhjYmlBZ0lDQWdJQ0FnWUVOdmRXeGtiaWQwSUdacGJtUWdaVzV5YjJ4c2JXVnVkQ0IzYVhSb0lHbGtJQ1I3Wlc1eWIyeHNiV1Z1ZEVsa2ZUb2dKSHR5WlhOMWJIUXVaWEp5YjNKekxtcHZhVzRvWENKY1hHNWNJaWw5WUZ4dUlDQWdJQ0FnS1R0Y2JseHVJQ0FnSUhKbGRIVnliaUJ5WlhOMWJIUXVjbVZ6ZFd4MElHRnpJRVpoWW5KcFkwbGtaVzUwYVhSNU8xeHVJQ0I5WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRUJrWlhOamNtbHdkR2x2YmlCU1pXZHBjM1JsY2lCaElHNWxkeUJwWkdWdWRHbDBlU0IzYVhSb0lIUm9aU0JEUVM1Y2JpQWdJQ29nUUhOMWJXMWhjbmtnVTNWaWJXbDBjeUJoSUhKbFoybHpkSEpoZEdsdmJpQnlaWEYxWlhOMElHWnZjaUJoSUc1bGR5Qmxibkp2Ykd4dFpXNTBJRWxFTENCeVpYUjFjbTVwYm1jZ2RHaGxJR1Z1Y205c2JHMWxiblFnYzJWamNtVjBJSFZ3YjI0Z2MzVmpZMlZ6Y3k1Y2JpQWdJQ29nUUhCaGNtRnRJSHREY21Wa1pXNTBhV0ZzYzMwZ2JXOWtaV3dnTFNCRGNtVmtaVzUwYVdGc2N5QmpiMjUwWVdsdWFXNW5JSFZ6WlhKT1lXMWxJR0Z1WkNCd1lYTnpkMjl5WkNCbWIzSWdkR2hsSUc1bGR5QnBaR1Z1ZEdsMGVTNWNiaUFnSUNvZ1FIQmhjbUZ0SUh0aWIyOXNaV0Z1ZlNCYmFYTlRkWEJsY2xWelpYSTlabUZzYzJWZElDMGdWMmhsZEdobGNpQjBieUJ5WldkcGMzUmxjaUIwYUdVZ2FXUmxiblJwZEhrZ1lYTWdZU0J6ZFhCbGNpQjFjMlZ5TGx4dUlDQWdLaUJBY0dGeVlXMGdlM04wY21sdVozMGdXMkZtWm1sc2FXRjBhVzl1UFZ3aVhDSmRJQzBnUVdabWFXeHBZWFJwYjI0Z2MzUnlhVzVuSUNobExtY3VMQ0J2Y21jeExtUmxjR0Z5ZEcxbGJuUXhLUzVjYmlBZ0lDb2dRSEJoY21GdElIdERRVjlTVDB4RklId2djM1J5YVc1bmZTQmJkWE5sY2xKdmJHVmRJQzBnVW05c1pTQjBieUJoYzNOcFoyNGdkRzhnZEdobElHbGtaVzUwYVhSNUxseHVJQ0FnS2lCQWNHRnlZVzBnZTBsTFpYbFdZV3gxWlVGMGRISnBZblYwWlgwZ1cyRjBkSEp6WFNBdElFOXdkR2x2Ym1Gc0lHRjBkSEpwWW5WMFpYTWdkRzhnWVhSMFlXTm9JSFJ2SUhSb1pTQnBaR1Z1ZEdsMGVTNWNiaUFnSUNvZ1FIQmhjbUZ0SUh0dWRXMWlaWEo5SUZ0dFlYaEZibkp2Ykd4dFpXNTBjMTBnTFNCTllYaHBiWFZ0SUc1MWJXSmxjaUJ2WmlCbGJuSnZiR3h0Wlc1MGN5QmhiR3h2ZDJWa0lHWnZjaUIwYUdVZ2FXUmxiblJwZEhrdVhHNGdJQ0FxSUVCeVpYUjFjbTRnZTFCeWIyMXBjMlU4YzNSeWFXNW5QbjBnVkdobElHVnVjbTlzYkcxbGJuUWdjMlZqY21WMElHWnZjaUIwYUdVZ2NtVm5hWE4wWlhKbFpDQnBaR1Z1ZEdsMGVTNWNiaUFnSUNvdlhHNGdJR0Z6ZVc1aklISmxaMmx6ZEdWeUtGeHVJQ0FnSUcxdlpHVnNPaUJEY21Wa1pXNTBhV0ZzY3l4Y2JpQWdJQ0JwYzFOMWNHVnlWWE5sY2pvZ1ltOXZiR1ZoYmlBOUlHWmhiSE5sTEZ4dUlDQWdJR0ZtWm1sc2FXRjBhVzl1T2lCemRISnBibWNnUFNCY0lsd2lMRnh1SUNBZ0lIVnpaWEpTYjJ4bFB6b2dRMEZmVWs5TVJTQjhJSE4wY21sdVp5eGNiaUFnSUNCaGRIUnljejg2SUVsTFpYbFdZV3gxWlVGMGRISnBZblYwWlN4Y2JpQWdJQ0J0WVhoRmJuSnZiR3h0Wlc1MGN6ODZJRzUxYldKbGNpeGNiaUFnSUNBdUxpNWhjbWR6T2lCTllYbGlaVU52Ym5SbGVIUjFZV3hCY21jOFlXNTVQbHh1SUNBcE9pQlFjbTl0YVhObFBITjBjbWx1Wno0Z2UxeHVJQ0FnSUdOdmJuTjBJSHNnYkc5bklIMGdQU0FvWVhkaGFYUWdkR2hwY3k1c2IyZERkSGdvWVhKbmN5d2dYQ0p5WldkcGMzUmxjbHdpTENCMGNuVmxLU2t1Wm05eUtGeHVJQ0FnSUNBZ2RHaHBjeTV5WldkcGMzUmxjbHh1SUNBZ0lDazdYRzVjYmlBZ0lDQnNaWFFnY21WbmFYTjBjbUYwYVc5dU9pQnpkSEpwYm1jN1hHNGdJQ0FnZEhKNUlIdGNiaUFnSUNBZ0lHTnZibk4wSUhzZ2RYTmxjazVoYldVc0lIQmhjM04zYjNKa0lIMGdQU0J0YjJSbGJEdGNiaUFnSUNBZ0lHTnZibk4wSUhCeWIzQnpJRDBnZTF4dUlDQWdJQ0FnSUNCbGJuSnZiR3h0Wlc1MFNVUTZJSFZ6WlhKT1lXMWxJR0Z6SUhOMGNtbHVaeXhjYmlBZ0lDQWdJQ0FnWlc1eWIyeHNiV1Z1ZEZObFkzSmxkRG9nY0dGemMzZHZjbVFzWEc0Z0lDQWdJQ0FnSUdGbVptbHNhV0YwYVc5dU9pQmhabVpwYkdsaGRHbHZiaXhjYmlBZ0lDQWdJQ0FnZFhObGNsSnZiR1U2SUhWelpYSlNiMnhsTEZ4dUlDQWdJQ0FnSUNCaGRIUnljem9nWVhSMGNuTXNYRzRnSUNBZ0lDQWdJRzFoZUVWdWNtOXNiRzFsYm5Sek9pQnRZWGhGYm5KdmJHeHRaVzUwY3l4Y2JpQWdJQ0FnSUgwZ1lYTWdTVkpsWjJsemRHVnlVbVZ4ZFdWemREdGNiaUFnSUNBZ0lISmxaMmx6ZEhKaGRHbHZiaUE5SUdGM1lXbDBJSFJvYVhNdVkyeHBaVzUwTG5KbFoybHpkR1Z5S0hCeWIzQnpMQ0IwYUdsekxuVnpaWElwTzF4dUlDQWdJQ0FnYkc5bkxtbHVabThvWEc0Z0lDQWdJQ0FnSUdCU1pXZHBjM1J5WVhScGIyNGdabTl5SUNSN2RYTmxjazVoYldWOUlHTnlaV0YwWldRZ2QybDBhQ0IxYzJWeUlIUjVjR1VnSkh0MWMyVnlVbTlzWlNBL1B5QmNJbFZ1WkdWbWFXNWxaQ0JTYjJ4bFhDSjlJQ1I3YVhOVGRYQmxjbFZ6WlhJZ1B5QmNJbUZ6SUhOMWNHVnlJSFZ6WlhKY0lpQTZJRndpWENKOVlGeHVJQ0FnSUNBZ0tUdGNiaUFnSUNCOUlHTmhkR05vSUNobE9pQmhibmtwSUh0Y2JpQWdJQ0FnSUhSb2NtOTNJSFJvYVhNdWNHRnljMlZGY25KdmNpaGxLVHRjYmlBZ0lDQjlYRzRnSUNBZ2NtVjBkWEp1SUhKbFoybHpkSEpoZEdsdmJqdGNiaUFnZlZ4dVhHNGdJSEJ5YjNSbFkzUmxaQ0J6ZEdGMGFXTWdhV1JsYm5ScGRIbEdjbTl0Ulc1eWIyeHNiV1Z1ZENoY2JpQWdJQ0JsYm5KdmJHeHRaVzUwT2lCSlJXNXliMnhzVW1WemNHOXVjMlVzWEc0Z0lDQWdiWE53U1dRNklITjBjbWx1Wnl4Y2JpQWdJQ0JqZEhnNklFTnZiblJsZUhSY2JpQWdLVG9nU1dSbGJuUnBkSGtnZTF4dUlDQWdJR052Ym5OMElHeHZaeUE5SUdOMGVDNXNiMmRuWlhJdVptOXlLSFJvYVhNdWFXUmxiblJwZEhsR2NtOXRSVzV5YjJ4c2JXVnVkQ2s3WEc0Z0lDQWdZMjl1YzNRZ2V5QmpaWEowYVdacFkyRjBaU3dnYTJWNUxDQnliMjkwUTJWeWRHbG1hV05oZEdVZ2ZTQTlJR1Z1Y205c2JHMWxiblE3WEc0Z0lDQWdiRzluTG5abGNtSnZjMlVvWEc0Z0lDQWdJQ0JnUjJWdVpYSmhkR2x1WnlCSlpHVnVkR2wwZVNCbWNtOXRJR05sY25ScFptbGpZWFJsSUNSN1kyVnlkR2xtYVdOaGRHVjlJR2x1SUcxemNDQWtlMjF6Y0Vsa2ZXQmNiaUFnSUNBcE8xeHVJQ0FnSUdOdmJuTjBJR05zYVdWdWRFbGtJRDBnUTNKNWNIUnZWWFJwYkhNdVptRmljbWxqU1dSR2NtOXRRMlZ5ZEdsbWFXTmhkR1VvWTJWeWRHbG1hV05oZEdVcE8xeHVJQ0FnSUdOdmJuTjBJR2xrSUQwZ1EzSjVjSFJ2VlhScGJITXVaVzVqYjJSbEtHTnNhV1Z1ZEVsa0tUdGNiaUFnSUNCc2IyY3VaR1ZpZFdjb1lFbGtaVzUwYVhSNUlDUjdZMnhwWlc1MFNXUjlJR0Z1WkNCbGJtTnZaR1ZrU1dRZ0pIdHBaSDFnS1R0Y2JpQWdJQ0J5WlhSMWNtNGdibVYzSUVsa1pXNTBhWFI1S0h0Y2JpQWdJQ0FnSUdsa09pQnBaQ3hjYmlBZ0lDQWdJR055WldSbGJuUnBZV3h6T2lCN1hHNGdJQ0FnSUNBZ0lHbGtPaUJwWkN4Y2JpQWdJQ0FnSUNBZ1kyVnlkR2xtYVdOaGRHVTZJR05sY25ScFptbGpZWFJsTEZ4dUlDQWdJQ0FnSUNCd2NtbDJZWFJsUzJWNU9pQnJaWGt1ZEc5Q2VYUmxjeWdwTEZ4dUlDQWdJQ0FnSUNCeWIyOTBRMlZ5ZEdsbWFXTmhkR1U2SUhKdmIzUkRaWEowYVdacFkyRjBaU3hjYmlBZ0lDQWdJSDBzWEc0Z0lDQWdJQ0J0YzNCSlpEb2diWE53U1dRc1hHNGdJQ0FnZlNrN1hHNGdJSDFjYmx4dUlDQXZLaXBjYmlBZ0lDb2dRR1JsYzJOeWFYQjBhVzl1SUVWdWNtOXNiQ0JoYmlCcFpHVnVkR2wwZVNCM2FYUm9JSFJvWlNCRFFTQjFjMmx1WnlCaElISmxaMmx6ZEhKaGRHbHZiaUJ6WldOeVpYUXVYRzRnSUNBcUlFQnpkVzF0WVhKNUlFVjRZMmhoYm1kbGN5QjBhR1VnWlc1eWIyeHNiV1Z1ZENCSlJDQmhibVFnYzJWamNtVjBJR1p2Y2lCalpYSjBhV1pwWTJGMFpYTXNJSEpsZEhWeWJtbHVaeUJoSUdOdmJuTjBjblZqZEdWa0lFbGtaVzUwYVhSNUlHMXZaR1ZzTGx4dUlDQWdLaUJBY0dGeVlXMGdlM04wY21sdVozMGdaVzV5YjJ4c2JXVnVkRWxrSUMwZ1JXNXliMnhzYldWdWRDQkpSQ0IwYnlCbGJuSnZiR3d1WEc0Z0lDQXFJRUJ3WVhKaGJTQjdjM1J5YVc1bmZTQnlaV2RwYzNSeVlYUnBiMjRnTFNCRmJuSnZiR3h0Wlc1MElITmxZM0psZENCeVpYUjFjbTVsWkNCaGRDQnlaV2RwYzNSeVlYUnBiMjRnZEdsdFpTNWNiaUFnSUNvZ1FISmxkSFZ5YmlCN1VISnZiV2x6WlR4SlpHVnVkR2wwZVQ1OUlGUm9aU0JsYm5KdmJHeGxaQ0JwWkdWdWRHbDBlU0J2WW1wbFkzUWdkMmwwYUNCamNtVmtaVzUwYVdGc2N5NWNiaUFnSUNvdlhHNGdJR0Z6ZVc1aklHVnVjbTlzYkNoY2JpQWdJQ0JsYm5KdmJHeHRaVzUwU1dRNklITjBjbWx1Wnl4Y2JpQWdJQ0J5WldkcGMzUnlZWFJwYjI0NklITjBjbWx1Wnl4Y2JpQWdJQ0F1TGk1aGNtZHpPaUJOWVhsaVpVTnZiblJsZUhSMVlXeEJjbWM4WVc1NVBseHVJQ0FwT2lCUWNtOXRhWE5sUEVsa1pXNTBhWFI1UGlCN1hHNGdJQ0FnWTI5dWMzUWdleUJzYjJjc0lHTjBlQ0I5SUQwZ0tHRjNZV2wwSUhSb2FYTXViRzluUTNSNEtHRnlaM01zSUZ3aVpXNXliMnhzWENJc0lIUnlkV1VwS1M1bWIzSW9YRzRnSUNBZ0lDQjBhR2x6TG1WdWNtOXNiRnh1SUNBZ0lDazdYRzRnSUNBZ2JHVjBJR2xrWlc1MGFYUjVPaUJKWkdWdWRHbDBlVHRjYmlBZ0lDQjBjbmtnZTF4dUlDQWdJQ0FnYkc5bkxtUmxZblZuS0dCRmJuSnZiR3hwYm1jZ0pIdGxibkp2Ykd4dFpXNTBTV1I5WUNrN1hHNGdJQ0FnSUNCamIyNXpkQ0JsYm5KdmJHeHRaVzUwT2lCSlJXNXliMnhzVW1WemNHOXVjMlVnUFNCaGQyRnBkQ0IwYUdsekxtTnNhV1Z1ZEM1bGJuSnZiR3dvZTF4dUlDQWdJQ0FnSUNCbGJuSnZiR3h0Wlc1MFNVUTZJR1Z1Y205c2JHMWxiblJKWkN4Y2JpQWdJQ0FnSUNBZ1pXNXliMnhzYldWdWRGTmxZM0psZERvZ2NtVm5hWE4wY21GMGFXOXVMRnh1SUNBZ0lDQWdmU2s3WEc0Z0lDQWdJQ0JwWkdWdWRHbDBlU0E5SUVaaFluSnBZMGxrWlc1MGFYUjVVMlZ5ZG1salpTNXBaR1Z1ZEdsMGVVWnliMjFGYm5KdmJHeHRaVzUwS0Z4dUlDQWdJQ0FnSUNCbGJuSnZiR3h0Wlc1MExGeHVJQ0FnSUNBZ0lDQjBhR2x6TG1OdmJtWnBaeTVqWVU1aGJXVXNYRzRnSUNBZ0lDQWdJR04wZUZ4dUlDQWdJQ0FnS1R0Y2JpQWdJQ0FnSUd4dlp5NXBibVp2S0Z4dUlDQWdJQ0FnSUNCZ1UzVmpZMlZ6YzJaMWJHeDVJR1Z1Y205c2JHVmtJQ1I3Wlc1eWIyeHNiV1Z1ZEVsa2ZTQjFibVJsY2lBa2UzUm9hWE11WTI5dVptbG5MbU5oVG1GdFpYMGdZWE1nSkh0cFpHVnVkR2wwZVM1cFpIMWdYRzRnSUNBZ0lDQXBPMXh1SUNBZ0lIMGdZMkYwWTJnZ0tHVTZJR0Z1ZVNrZ2UxeHVJQ0FnSUNBZ2RHaHliM2NnZEdocGN5NXdZWEp6WlVWeWNtOXlLR1VwTzF4dUlDQWdJSDFjYmlBZ0lDQnlaWFIxY200Z2FXUmxiblJwZEhrN1hHNGdJSDFjYmx4dUlDQXZLaXBjYmlBZ0lDb2dRR1JsYzJOeWFYQjBhVzl1SUZKbFoybHpkR1Z5SUdGdVpDQmxibkp2Ykd3Z1lTQnVaWGNnYVdSbGJuUnBkSGtnYVc0Z2IyNWxJSE4wWlhBdVhHNGdJQ0FxSUVCemRXMXRZWEo1SUZKbFoybHpkR1Z5Y3lCaElHNWxkeUJsYm5KdmJHeHRaVzUwSUVsRUlIZHBkR2dnZEdobElFTkJJR0Z1WkNCcGJXMWxaR2xoZEdWc2VTQmxlR05vWVc1blpYTWdkR2hsSUhObFkzSmxkQ0IwYnlCbGJuSnZiR3dzSUhKbGRIVnlibWx1WnlCMGFHVWdZM0psWVhSbFpDQkpaR1Z1ZEdsMGVTNWNiaUFnSUNvZ1FIQmhjbUZ0SUh0RGNtVmtaVzUwYVdGc2MzMGdiVzlrWld3Z0xTQkRjbVZrWlc1MGFXRnNjeUJtYjNJZ2RHaGxJRzVsZHlCcFpHVnVkR2wwZVNCamIyNTBZV2x1YVc1bklIVnpaWEpPWVcxbElHRnVaQ0J3WVhOemQyOXlaQzVjYmlBZ0lDb2dRSEJoY21GdElIdGliMjlzWldGdWZTQmJhWE5UZFhCbGNsVnpaWEk5Wm1Gc2MyVmRJQzBnVjJobGRHaGxjaUIwYnlCeVpXZHBjM1JsY2lCMGFHVWdhV1JsYm5ScGRIa2dZWE1nWVNCemRYQmxjaUIxYzJWeUxseHVJQ0FnS2lCQWNHRnlZVzBnZTNOMGNtbHVaMzBnVzJGbVptbHNhV0YwYVc5dVBWd2lYQ0pkSUMwZ1FXWm1hV3hwWVhScGIyNGdjM1J5YVc1bklDaGxMbWN1TENCdmNtY3hMbVJsY0dGeWRHMWxiblF4S1M1Y2JpQWdJQ29nUUhCaGNtRnRJSHREUVY5U1QweEZJSHdnYzNSeWFXNW5mU0JiZFhObGNsSnZiR1ZkSUMwZ1VtOXNaU0IwYnlCaGMzTnBaMjRnZEc4Z2RHaGxJR2xrWlc1MGFYUjVMbHh1SUNBZ0tpQkFjR0Z5WVcwZ2UwbExaWGxXWVd4MVpVRjBkSEpwWW5WMFpYMGdXMkYwZEhKelhTQXRJRTl3ZEdsdmJtRnNJR0YwZEhKcFluVjBaWE1nZEc4Z1lYUjBZV05vSUhSdklIUm9aU0JwWkdWdWRHbDBlUzVjYmlBZ0lDb2dRSEJoY21GdElIdHVkVzFpWlhKOUlGdHRZWGhGYm5KdmJHeHRaVzUwYzEwZ0xTQk5ZWGhwYlhWdElHNTFiV0psY2lCdlppQmxibkp2Ykd4dFpXNTBjeUJoYkd4dmQyVmtJR1p2Y2lCMGFHVWdhV1JsYm5ScGRIa3VYRzRnSUNBcUlFQnlaWFIxY200Z2UxQnliMjFwYzJVOFNXUmxiblJwZEhrK2ZTQlVhR1VnWlc1eWIyeHNaV1FnYVdSbGJuUnBkSGt1WEc0Z0lDQXFMMXh1SUNCaGMzbHVZeUJ5WldkcGMzUmxja0Z1WkVWdWNtOXNiQ2hjYmlBZ0lDQnRiMlJsYkRvZ1EzSmxaR1Z1ZEdsaGJITXNYRzRnSUNBZ2FYTlRkWEJsY2xWelpYSTZJR0p2YjJ4bFlXNGdQU0JtWVd4elpTeGNiaUFnSUNCaFptWnBiR2xoZEdsdmJqb2djM1J5YVc1bklEMGdYQ0pjSWl4Y2JpQWdJQ0IxYzJWeVVtOXNaVDg2SUVOQlgxSlBURVVnZkNCemRISnBibWNzWEc0Z0lDQWdZWFIwY25NL09pQkpTMlY1Vm1Gc2RXVkJkSFJ5YVdKMWRHVXNYRzRnSUNBZ2JXRjRSVzV5YjJ4c2JXVnVkSE0vT2lCdWRXMWlaWElzWEc0Z0lDQWdMaTR1WVhKbmN6b2dUV0Y1WW1WRGIyNTBaWGgwZFdGc1FYSm5QR0Z1ZVQ1Y2JpQWdLVG9nVUhKdmJXbHpaVHhKWkdWdWRHbDBlVDRnZTF4dUlDQWdJR052Ym5OMElIc2dZM1I0SUgwZ1BTQW9ZWGRoYVhRZ2RHaHBjeTVzYjJkRGRIZ29ZWEpuY3l3Z1hDSnlaV2RwYzNSbGNpMWxibkp2Ykd4Y0lpd2dkSEoxWlNrcExtWnZjaWhjYmlBZ0lDQWdJSFJvYVhNdWNtVm5hWE4wWlhKQmJtUkZibkp2Ykd4Y2JpQWdJQ0FwTzF4dUlDQWdJR052Ym5OMElISmxaMmx6ZEhKaGRHbHZiaUE5SUdGM1lXbDBJSFJvYVhNdWNtVm5hWE4wWlhJb1hHNGdJQ0FnSUNCdGIyUmxiQ3hjYmlBZ0lDQWdJR2x6VTNWd1pYSlZjMlZ5TEZ4dUlDQWdJQ0FnWVdabWFXeHBZWFJwYjI0c1hHNGdJQ0FnSUNCMWMyVnlVbTlzWlN4Y2JpQWdJQ0FnSUdGMGRISnpMRnh1SUNBZ0lDQWdiV0Y0Ulc1eWIyeHNiV1Z1ZEhNc1hHNGdJQ0FnSUNCamRIaGNiaUFnSUNBcE8xeHVJQ0FnSUdOdmJuTjBJSHNnZFhObGNrNWhiV1VnZlNBOUlHMXZaR1ZzTzF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1WdWNtOXNiQ2gxYzJWeVRtRnRaU0JoY3lCemRISnBibWNzSUhKbFoybHpkSEpoZEdsdmJpd2dZM1I0S1R0Y2JpQWdmVnh1WEc0Z0lDOHFLbHh1SUNBZ0tpQkFaR1Z6WTNKcGNIUnBiMjRnVW1VdFpXNXliMnhzSUdGdUlHVjRhWE4wYVc1bklHbGtaVzUwYVhSNUlIVnphVzVuSUdsMGN5QmpkWEp5Wlc1MElHVnVjbTlzYkcxbGJuUXVYRzRnSUNBcUlFQnpkVzF0WVhKNUlGSmxibVYzY3lCMGFHVWdaVzV5YjJ4c2JXVnVkQ0JqWlhKMGFXWnBZMkYwWlNCaWVTQmpZV3hzYVc1bklIUm9aU0JEUVNCeVpXVnVjbTlzYkM1Y2JpQWdJQ29nUUhCaGNtRnRJSHRWYzJWeWZTQmpkWEp5Wlc1MFZYTmxjaUF0SUVGc2NtVmhaSGtnWlc1eWIyeHNaV1FnZFhObGNpd2diWFZ6ZENCb1lYWmxJR0VnYzJsbmJtbHVaeUJwWkdWdWRHbDBlUzVjYmlBZ0lDb2dRSEpsZEhWeWJpQjdVSEp2YldselpUeEpaR1Z1ZEdsMGVUNTlJRlJvWlNCeVpXNWxkMlZrSUdsa1pXNTBhWFI1SUc5aWFtVmpkQ0IzYVhSb0lHNWxkeUJqY21Wa1pXNTBhV0ZzY3k1Y2JpQWdJQ292WEc0Z0lHRnplVzVqSUhWd1pHRjBaVWxrWlc1MGFYUjVLRnh1SUNBZ0lHVnVjbTlzYkcxbGJuUkpaRG9nYzNSeWFXNW5MRnh1SUNBZ0lHbGtaVzUwYVhSNU9pQjdJR05sY25ScFptbGpZWFJsT2lCemRISnBibWM3SUhCeWFYWmhkR1ZMWlhrNklITjBjbWx1WnlCOUxGeHVJQ0FnSUdsa1pXNTBhWFI1VW1WeGRXVnpkRG9nU1Vsa1pXNTBhWFI1VW1WeGRXVnpkQ3hjYmlBZ0lDQXVMaTVoY21kek9pQk5ZWGxpWlVOdmJuUmxlSFIxWVd4QmNtYzhZVzU1UGx4dUlDQXBPaUJRY205dGFYTmxQRWxrWlc1MGFYUjVQaUI3WEc0Z0lDQWdZMjl1YzNRZ2V5QnNiMmNzSUdOMGVDQjlJRDBnS0dGM1lXbDBJSFJvYVhNdWJHOW5RM1I0S0dGeVozTXNJRndpY21WbGJuSnZiR3hjSWl3Z2RISjFaU2twTG1admNpaGNiaUFnSUNBZ0lIUm9hWE11ZFhCa1lYUmxTV1JsYm5ScGRIbGNiaUFnSUNBcE8xeHVYRzRnSUNBZ2RISjVJSHRjYmlBZ0lDQWdJR3h2Wnk1cGJtWnZLR0JTWlc1bGQybHVaeUJwWkdWdWRHbDBlU0JtYjNJZ0pIdGxibkp2Ykd4dFpXNTBTV1I5WUNrN1hHNWNiaUFnSUNBZ0lDOHZJRlZ3WkdGMFpTQmhkSFJ5YVdKMWRHVnpJR2x1SUhSb1pTQkRRU0J5WldkcGMzUnllU0FvWVdSdGFXNGdiM0JsY21GMGFXOXVLUzRnVkdocGN5QmphR0Z1WjJWeklIUm9aU0JjSW5OdmRYSmpaU0J2WmlCMGNuVjBhRndpTGx4dUlDQWdJQ0FnWTI5dWMzUWdhV1JsYm5ScGRIbFRaWEoyYVdObElEMGdkR2hwY3k1amJHbGxiblF1Ym1WM1NXUmxiblJwZEhsVFpYSjJhV05sS0NrN1hHNWNiaUFnSUNBZ0lHTnZibk4wSUdOaFZYTmxja2xrWlc1MGFYUjVJRDBnS0dGM1lXbDBJR2xrWlc1MGFYUjVVMlZ5ZG1salpTNW5aWFJQYm1Vb1hHNGdJQ0FnSUNBZ0lHVnVjbTlzYkcxbGJuUkpaQ3hjYmlBZ0lDQWdJQ0FnZEdocGN5NTFjMlZ5WEc0Z0lDQWdJQ0FwS1NCaGN5QjdJSEpsYzNWc2REb2dleUJoZEhSeWN6ODZJRWxMWlhsV1lXeDFaVUYwZEhKcFluVjBaVnRkSUgwZ2ZUdGNibHh1SUNBZ0lDQWdZWGRoYVhRZ2FXUmxiblJwZEhsVFpYSjJhV05sTG5Wd1pHRjBaU2hsYm5KdmJHeHRaVzUwU1dRc0lHbGtaVzUwYVhSNVVtVnhkV1Z6ZEN3Z2RHaHBjeTUxYzJWeUtUc2dMeThnWVhNZ1NWTmxjblpwWTJWU1pYTndiMjV6WlNBbUlIc2djbVZ6ZFd4ME9pQkpTV1JsYm5ScGRIbFNaWEYxWlhOMElIMDdYRzVjYmlBZ0lDQWdJQzh2SUZKbFpXNXliMnhzSUdGeklIUm9aU0IxYzJWeUxpQlNaWEYxWlhOMElHMTFjM1FnWW1VZ2MybG5ibVZrSUhWemFXNW5JSFJvWlNCbGVHbHpkR2x1WnlCalpYSjBhV1pwWTJGMFpTNWNiaUFnSUNBZ0lHTnZibk4wSUhKbFpXNXliMnhzVlhObGNpQTlJRlZ6WlhJdVkzSmxZWFJsVlhObGNpaGNiaUFnSUNBZ0lDQWdaVzV5YjJ4c2JXVnVkRWxrTEZ4dUlDQWdJQ0FnSUNCY0lsd2lMQ0F2THlCbGJuSnZiR3h0Wlc1MFUyVmpjbVYwSUc1dmRDQnlaWEYxYVhKbFpDQm1iM0lnY21WbGJuSnZiR3hjYmlBZ0lDQWdJQ0FnZEdocGN5NTFjMlZ5TG1kbGRFMXpjR2xrS0Nrc1hHNGdJQ0FnSUNBZ0lHbGtaVzUwYVhSNUxtTmxjblJwWm1sallYUmxMRnh1SUNBZ0lDQWdJQ0JwWkdWdWRHbDBlUzV3Y21sMllYUmxTMlY1WEc0Z0lDQWdJQ0FwTzF4dUlDQWdJQ0FnY21WbGJuSnZiR3hWYzJWeUxuTmxkRU55ZVhCMGIxTjFhWFJsS0hSb2FYTXVkWE5sY2k1blpYUkRjbmx3ZEc5VGRXbDBaU2dwS1R0Y2JseHVJQ0FnSUNBZ1kyOXVjM1FnWlc1eWIyeHNiV1Z1ZEVGMGRISnpPaUJKUVhSMGNtbGlkWFJsVW1WeGRXVnpkRnRkSUQwZ0tGeHVJQ0FnSUNBZ0lDQmpZVlZ6WlhKSlpHVnVkR2wwZVM1eVpYTjFiSFF1WVhSMGNuTWdmSHdnVzExY2JpQWdJQ0FnSUNrdWJXRndLQ2g3SUc1aGJXVWdmU2tnUFQ0Z0tIdGNiaUFnSUNBZ0lDQWdibUZ0WlN4Y2JpQWdJQ0FnSUNBZ2IzQjBhVzl1WVd3NklHWmhiSE5sTEZ4dUlDQWdJQ0FnZlNrcE8xeHVYRzRnSUNBZ0lDQmpiMjV6ZENCbGJuSnZiR3h0Wlc1MElEMGdZWGRoYVhRZ2RHaHBjeTVqYkdsbGJuUXVjbVZsYm5KdmJHd29YRzRnSUNBZ0lDQWdJSEpsWlc1eWIyeHNWWE5sY2l4Y2JpQWdJQ0FnSUNBZ1pXNXliMnhzYldWdWRFRjBkSEp6WEc0Z0lDQWdJQ0FwTzF4dVhHNGdJQ0FnSUNCamIyNXpkQ0J5Wlc1bGQyVmtTV1JsYm5ScGRIa2dQU0JHWVdKeWFXTkpaR1Z1ZEdsMGVWTmxjblpwWTJVdWFXUmxiblJwZEhsR2NtOXRSVzV5YjJ4c2JXVnVkQ2hjYmlBZ0lDQWdJQ0FnWlc1eWIyeHNiV1Z1ZEN4Y2JpQWdJQ0FnSUNBZ2RHaHBjeTVqYjI1bWFXY3VZMkZPWVcxbExGeHVJQ0FnSUNBZ0lDQmpkSGhjYmlBZ0lDQWdJQ2s3WEc1Y2JpQWdJQ0FnSUM4dklGSmxkbTlyWlNCMGFHVWdjSEpsZG1sdmRYTWdZMlZ5ZEdsbWFXTmhkR1VnYjI1c2VTd2djMjhnZEdobElHOXNaQ0JqWlhKMElHSmxZMjl0WlhNZ2FXNTJZV3hwWkM1Y2JpQWdJQ0FnSUd4dlp5NWtaV0oxWnloZ1VtVjJiMnRwYm1jZ2NISmxkbWx2ZFhNZ1kyVnlkR2xtYVdOaGRHVnpJR1p2Y2lBa2UyVnVjbTlzYkcxbGJuUkpaSDFnS1R0Y2JpQWdJQ0FnSUdOdmJuTjBJSHNnWVd0cExDQnpaWEpwWVd3Z2ZTQTlJR2RsZEVGcmFVRnVaRk5sY21saGJFWnliMjFEWlhKMEtHbGtaVzUwYVhSNUxtTmxjblJwWm1sallYUmxLVHRjYmlBZ0lDQWdJR0YzWVdsMElIUm9hWE11Y21WMmIydGxLR1Z1Y205c2JHMWxiblJKWkN3Z2V5QmhhMmtzSUhObGNtbGhiQ0I5TENCaGNtZHpLVHRjYmx4dUlDQWdJQ0FnYkc5bkxtUmxZblZuS0dCU1pXNWxkeUJwWkdWdWRHbDBlU0J6ZFdOalpYTnpablZzSUdadmNpQWtlMlZ1Y205c2JHMWxiblJKWkgxZ0tUdGNiaUFnSUNBZ0lISmxkSFZ5YmlCeVpXNWxkMlZrU1dSbGJuUnBkSGs3WEc0Z0lDQWdmU0JqWVhSamFDQW9aVG9nWVc1NUtTQjdYRzRnSUNBZ0lDQjBhSEp2ZHlCMGFHbHpMbkJoY25ObFJYSnliM0lvWlNrN1hHNGdJQ0FnZlZ4dUlDQjlYRzVjYmlBZ0x5b3FYRzRnSUNBcUlGSmxkbTlyWlhNZ2RHaGxJR1Z1Y205c2JHMWxiblFnYjJZZ1lXNGdhV1JsYm5ScGRIa2dkMmwwYUNCMGFHVWdjM0JsWTJsbWFXVmtJR1Z1Y205c2JHMWxiblFnU1VRdVhHNGdJQ0FxWEc0Z0lDQXFJRUJ3WVhKaGJTQmxibkp2Ykd4dFpXNTBTV1FnTFNCVWFHVWdaVzV5YjJ4c2JXVnVkQ0JKUkNCdlppQjBhR1VnYVdSbGJuUnBkSGtnZEc4Z1ltVWdjbVYyYjJ0bFpDNWNiaUFnSUNwY2JpQWdJQ29nUUhKbGRIVnlibk1nUVNCUWNtOXRhWE5sSUhSb1lYUWdjbVZ6YjJ4MlpYTWdkRzhnZEdobElISmxjM1ZzZENCdlppQjBhR1VnY21WMmIyTmhkR2x2YmlCdmNHVnlZWFJwYjI0dVhHNGdJQ0FxWEc0Z0lDQXFJRUIwYUhKdmQzTWdlMDV2ZEVadmRXNWtSWEp5YjNKOUlFbG1JSFJvWlNCbGJuSnZiR3h0Wlc1MElIZHBkR2dnZEdobElITndaV05wWm1sbFpDQkpSQ0JrYjJWeklHNXZkQ0JsZUdsemRDNWNiaUFnSUNvZ1FIUm9jbTkzY3lCN1NXNTBaWEp1WVd4RmNuSnZjbjBnU1dZZ2RHaGxjbVVnYVhNZ1lXNGdaWEp5YjNJZ1pIVnlhVzVuSUhSb1pTQnlaWFp2WTJGMGFXOXVJSEJ5YjJObGMzTXVYRzRnSUNBcUwxeHVJQ0JoYzNsdVl5QnlaWFp2YTJVb1hHNGdJQ0FnWlc1eWIyeHNiV1Z1ZEVsa09pQnpkSEpwYm1jc1hHNGdJQ0FnY21WMmIydGxUM0IwYVc5dWN6b2dUMjFwZER4SlVtVjJiMnRsVW1WeGRXVnpkQ3dnWENKbGJuSnZiR3h0Wlc1MFNVUmNJajRzWEc0Z0lDQWdMaTR1WVhKbmN6b2dUV0Y1WW1WRGIyNTBaWGgwZFdGc1FYSm5QR0Z1ZVQ1Y2JpQWdLVG9nVUhKdmJXbHpaVHhKVTJWeWRtbGpaVkpsYzNCdmJuTmxQaUI3WEc0Z0lDQWdZMjl1YzNRZ2V5QnNiMmNnZlNBOUlDaGhkMkZwZENCMGFHbHpMbXh2WjBOMGVDaGhjbWR6TENCY0luSmxkbTlyWlZ3aUxDQjBjblZsS1NrdVptOXlLSFJvYVhNdWNtVjJiMnRsS1R0Y2JpQWdJQ0JzYjJjdWRtVnlZbTl6WlNoZ1VtVjJiMnRwYm1jZ2FXUmxiblJwZEhrZ2QybDBhQ0JsYm5KdmJHeHRaVzUwSUVsRUlDUjdaVzV5YjJ4c2JXVnVkRWxrZldBcE8xeHVJQ0FnSUdOdmJuTjBJR2xrWlc1MGFYUjVJRDBnWVhkaGFYUWdkR2hwY3k1eVpXRmtLR1Z1Y205c2JHMWxiblJKWkNrN1hHNGdJQ0FnYVdZZ0tDRnBaR1Z1ZEdsMGVTbGNiaUFnSUNBZ0lIUm9jbTkzSUc1bGR5Qk9iM1JHYjNWdVpFVnljbTl5S0Z4dUlDQWdJQ0FnSUNCZ1EyOTFiR1FnYm05MElHWnBibVFnWlc1eWIyeHNiV1Z1ZENCM2FYUm9JR2xrSUNSN1pXNXliMnhzYldWdWRFbGtmV0JjYmlBZ0lDQWdJQ2s3WEc0Z0lDQWdiR1YwSUhKbGMzVnNkRG9nU1ZObGNuWnBZMlZTWlhOd2IyNXpaVHRjYmlBZ0lDQjBjbmtnZTF4dUlDQWdJQ0FnWTI5dWMzUWdjbVZoYzI5dUlEMWNiaUFnSUNBZ0lDQWdRbTl2YkdWaGJpaHlaWFp2YTJWUGNIUnBiMjV6TG5ObGNtbGhiQ2tnZkh3Z1FtOXZiR1ZoYmloeVpYWnZhMlZQY0hScGIyNXpMbUZyYVNsY2JpQWdJQ0FnSUNBZ0lDQS9JRndpVW1WMmIydGxJRlZ6WlhJZ1EyVnlkR2xtYVdOaGRHVmNJbHh1SUNBZ0lDQWdJQ0FnSURvZ1hDSlZjMlZ5SUVSbGJHVjBhVzl1WENJN1hHNWNiaUFnSUNBZ0lHTnZibk4wSUhKbGRtOXJaVkpsY1hWbGMzUTZJRWxTWlhadmEyVlNaWEYxWlhOMElEMGdlMXh1SUNBZ0lDQWdJQ0J5WldGemIyNHNYRzRnSUNBZ0lDQWdJQzR1TG5KbGRtOXJaVTl3ZEdsdmJuTXNYRzRnSUNBZ0lDQWdJR1Z1Y205c2JHMWxiblJKUkRvZ2FXUmxiblJwZEhrdWFXUXNYRzRnSUNBZ0lDQjlPMXh1WEc0Z0lDQWdJQ0J5WlhOMWJIUWdQU0JoZDJGcGRDQjBhR2x6TG1Oc2FXVnVkQzV5WlhadmEyVW9jbVYyYjJ0bFVtVnhkV1Z6ZEN3Z2RHaHBjeTUxYzJWeUtUdGNiaUFnSUNCOUlHTmhkR05vSUNobE9pQjFibXR1YjNkdUtTQjdYRzRnSUNBZ0lDQjBhSEp2ZHlCdVpYY2dTVzUwWlhKdVlXeEZjbkp2Y2loY2JpQWdJQ0FnSUNBZ1lFTnZkV3hrSUc1dmRDQnlaWFp2YTJVZ1pXNXliMnhzYldWdWRDQjNhWFJvSUdsa0lDUjdaVzV5YjJ4c2JXVnVkRWxrZlRvZ0pIdGxmV0JjYmlBZ0lDQWdJQ2s3WEc0Z0lDQWdmVnh1SUNBZ0lHbG1JQ2doY21WemRXeDBMbk4xWTJObGMzTXBYRzRnSUNBZ0lDQjBhSEp2ZHlCdVpYY2dTVzUwWlhKdVlXeEZjbkp2Y2loY2JpQWdJQ0FnSUNBZ1lFTnZkV3hrSUc1dmRDQnlaWFp2YTJVZ1pXNXliMnhzYldWdWRDQjNhWFJvSUdsa0lDUjdaVzV5YjJ4c2JXVnVkRWxrZlRvZ0pIdHlaWE4xYkhRdVpYSnliM0p6TG1wdmFXNG9YQ0pjWEc1Y0lpbDlZRnh1SUNBZ0lDQWdLVHRjYmlBZ0lDQnlaWFIxY200Z2NtVnpkV3gwTzF4dUlDQjlYRzU5WEc0aVhYMD0iXX0=
324
+ //# sourceMappingURL=FabricIdentityService.js.map
325
+ //# sourceMappingURL=FabricIdentityService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FabricIdentityService.js","sourceRoot":"","sources":["FabricIdentityService.js"],"names":[],"mappings":"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"}
@@ -93,5 +93,5 @@ __decorate([
93
93
  (0, decorator_validation_1.required)(),
94
94
  __metadata("design:type", String)
95
95
  ], RegistrationRequestBuilder.prototype, "role", void 0);
96
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVnaXN0cmF0aW9uUmVxdWVzdEJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY2xpZW50L3NlcnZpY2VzL1JlZ2lzdHJhdGlvblJlcXVlc3RCdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUVBLE9BQU8sRUFDTCxHQUFHLEVBQ0gsU0FBUyxFQUNULEtBQUssRUFDTCxRQUFRLEdBQ1QsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFMUQsTUFBTSxPQUFPLDBCQUEyQixTQUFRLEtBQUs7SUFBckQ7O1FBRUUsZ0JBQVcsR0FBVyxFQUFFLENBQUM7SUE4RDNCLENBQUM7SUFsREMsS0FBSztRQUNILE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUM5QixJQUFJLElBQUk7WUFBRSxNQUFNLElBQUksZUFBZSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQ3JELE1BQU0sUUFBUSxHQUFxQjtZQUNqQyxZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVk7WUFDL0IsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLGdCQUFnQjtZQUN2QyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDZixXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVc7U0FDOUIsQ0FBQztRQUNGLElBQUksT0FBTyxJQUFJLENBQUMsY0FBYyxLQUFLLFdBQVc7WUFDNUMsUUFBUSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDO1FBQ2hELElBQUksSUFBSSxDQUFDLEtBQUs7WUFBRSxRQUFRLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDNUMsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztJQUVELGNBQWMsQ0FBQyxLQUFhO1FBQzFCLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELE9BQU8sQ0FBQyxJQUF3QjtRQUM5QixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO1FBQzlCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3RCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELFFBQVEsQ0FBQyxLQUEyQjtRQUNsQyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxlQUFlLENBQUMsS0FBYTtRQUMzQixJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztRQUMxQixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxLQUFhO1FBQy9CLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7UUFDOUIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsaUJBQWlCLENBQUMsS0FBYTtRQUM3QixJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQztRQUM1QixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxPQUFPLENBQUMsS0FBdUI7UUFDN0IsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7UUFDbEIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0NBQ0Y7QUE5REM7SUFEQyxRQUFRLEVBQUU7OytEQUNjO0FBRXpCO0lBREMsU0FBUyxDQUFDLENBQUMsQ0FBQzs7eURBQ2dCO0FBRTdCO0lBREMsUUFBUSxFQUFFOztnRUFDVztBQUV0QjtJQURDLFFBQVEsRUFBRTs7b0VBQ2U7QUFFMUI7SUFEQyxHQUFHLENBQUMsQ0FBQyxDQUFDOztrRUFDaUI7QUFFeEI7SUFEQyxRQUFRLEVBQUU7O3dEQUNHIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVJlZ2lzdGVyUmVxdWVzdCwgSUtleVZhbHVlQXR0cmlidXRlIH0gZnJvbSBcImZhYnJpYy1jYS1jbGllbnRcIjtcbmltcG9ydCB7IENBX1JPTEUgfSBmcm9tIFwiLi9jb25zdGFudHNcIjtcbmltcG9ydCB7XG4gIG1pbixcbiAgbWlubGVuZ3RoLFxuICBNb2RlbCxcbiAgcmVxdWlyZWQsXG59IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb25cIjtcbmltcG9ydCB7IFZhbGlkYXRpb25FcnJvciB9IGZyb20gXCJAZGVjYWYtdHMvZGItZGVjb3JhdG9yc1wiO1xuXG5leHBvcnQgY2xhc3MgUmVnaXN0cmF0aW9uUmVxdWVzdEJ1aWxkZXIgZXh0ZW5kcyBNb2RlbCB7XG4gIEByZXF1aXJlZCgpXG4gIGFmZmlsaWF0aW9uOiBzdHJpbmcgPSBcIlwiO1xuICBAbWlubGVuZ3RoKDEpXG4gIGF0dHJzPzogSUtleVZhbHVlQXR0cmlidXRlW107XG4gIEByZXF1aXJlZCgpXG4gIGVucm9sbG1lbnRJRCE6IHN0cmluZztcbiAgQHJlcXVpcmVkKClcbiAgZW5yb2xsbWVudFNlY3JldCE6IHN0cmluZztcbiAgQG1pbigwKVxuICBtYXhFbnJvbGxtZW50cz86IG51bWJlcjtcbiAgQHJlcXVpcmVkKClcbiAgcm9sZSE6IHN0cmluZztcblxuICBidWlsZCgpOiBJUmVnaXN0ZXJSZXF1ZXN0IHtcbiAgICBjb25zdCBlcnJzID0gdGhpcy5oYXNFcnJvcnMoKTtcbiAgICBpZiAoZXJycykgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihlcnJzLnRvU3RyaW5nKCkpO1xuICAgIGNvbnN0IHJlc3BvbnNlOiBJUmVnaXN0ZXJSZXF1ZXN0ID0ge1xuICAgICAgZW5yb2xsbWVudElEOiB0aGlzLmVucm9sbG1lbnRJRCxcbiAgICAgIGVucm9sbG1lbnRTZWNyZXQ6IHRoaXMuZW5yb2xsbWVudFNlY3JldCxcbiAgICAgIHJvbGU6IHRoaXMucm9sZSxcbiAgICAgIGFmZmlsaWF0aW9uOiB0aGlzLmFmZmlsaWF0aW9uLFxuICAgIH07XG4gICAgaWYgKHR5cGVvZiB0aGlzLm1heEVucm9sbG1lbnRzICE9PSBcInVuZGVmaW5lZFwiKVxuICAgICAgcmVzcG9uc2UubWF4RW5yb2xsbWVudHMgPSB0aGlzLm1heEVucm9sbG1lbnRzO1xuICAgIGlmICh0aGlzLmF0dHJzKSByZXNwb25zZS5hdHRycyA9IHRoaXMuYXR0cnM7XG4gICAgcmV0dXJuIHJlc3BvbnNlO1xuICB9XG5cbiAgc2V0QWZmaWxpYXRpb24odmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuYWZmaWxpYXRpb24gPSB2YWx1ZTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIGFkZEF0dHIoYXR0cjogSUtleVZhbHVlQXR0cmlidXRlKSB7XG4gICAgdGhpcy5hdHRycyA9IHRoaXMuYXR0cnMgfHwgW107XG4gICAgdGhpcy5hdHRycy5wdXNoKGF0dHIpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgc2V0QXR0cnModmFsdWU6IElLZXlWYWx1ZUF0dHJpYnV0ZVtdKSB7XG4gICAgdGhpcy5hdHRycyA9IHZhbHVlO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgc2V0RW5yb2xsbWVudElEKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLmVucm9sbG1lbnRJRCA9IHZhbHVlO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgc2V0RW5yb2xsbWVudFNlY3JldCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5lbnJvbGxtZW50U2VjcmV0ID0gdmFsdWU7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBzZXRNYXhFbnJvbGxtZW50cyh2YWx1ZTogbnVtYmVyKSB7XG4gICAgdGhpcy5tYXhFbnJvbGxtZW50cyA9IHZhbHVlO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgc2V0Um9sZSh2YWx1ZTogQ0FfUk9MRSB8IHN0cmluZykge1xuICAgIHRoaXMucm9sZSA9IHZhbHVlO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG59XG4iXX0=
97
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVnaXN0cmF0aW9uUmVxdWVzdEJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJSZWdpc3RyYXRpb25SZXF1ZXN0QnVpbGRlci5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxJQUFJLFVBQVUsR0FBRyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksVUFBVSxVQUFVLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxJQUFJO0lBQ2pGLElBQUksQ0FBQyxHQUFHLFNBQVMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7SUFDN0gsSUFBSSxPQUFPLE9BQU8sS0FBSyxRQUFRLElBQUksT0FBTyxPQUFPLENBQUMsUUFBUSxLQUFLLFVBQVU7UUFBRSxDQUFDLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQzs7UUFDMUgsS0FBSyxJQUFJLENBQUMsR0FBRyxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRTtZQUFFLElBQUksQ0FBQyxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUM7Z0JBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMs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QixDQUFDLFNBQVMsRUFBRSxhQUFhLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztBQUNoRSxVQUFVLENBQUM7SUFDUCxJQUFBLGdDQUFTLEVBQUMsQ0FBQyxDQUFDO0lBQ1osVUFBVSxDQUFDLGFBQWEsRUFBRSxLQUFLLENBQUM7Q0FDbkMsRUFBRSwwQkFBMEIsQ0FBQyxTQUFTLEVBQUUsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7QUFDMUQsVUFBVSxDQUFDO0lBQ1AsSUFBQSwrQkFBUSxHQUFFO0lBQ1YsVUFBVSxDQUFDLGFBQWEsRUFBRSxNQUFNLENBQUM7Q0FDcEMsRUFBRSwwQkFBMEIsQ0FBQyxTQUFTLEVBQUUsY0FBYyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7QUFDakUsVUFBVSxDQUFDO0lBQ1AsSUFBQSwrQkFBUSxHQUFFO0lBQ1YsVUFBVSxDQUFDLGFBQWEsRUFBRSxNQUFNLENBQUM7Q0FDcEMsRUFBRSwwQkFBMEIsQ0FBQyxTQUFTLEVBQUUsa0JBQWtCLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztBQUNyRSxVQUFVLENBQUM7SUFDUCxJQUFBLDBCQUFHLEVBQUMsQ0FBQyxDQUFDO0lBQ04sVUFBVSxDQUFDLGFBQWEsRUFBRSxNQUFNLENBQUM7Q0FDcEMsRUFBRSwwQkFBMEIsQ0FBQyxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztBQUNuRSxVQUFVLENBQUM7SUFDUCxJQUFBLCtCQUFRLEdBQUU7SUFDVixVQUFVLENBQUMsYUFBYSxFQUFFLE1BQU0sQ0FBQztDQUNwQyxFQUFFLDBCQUEwQixDQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztBQUN6RCxrckpBQWtySiIsInNvdXJjZXNDb250ZW50IjpbInZhciBfX2RlY29yYXRlID0gKHRoaXMgJiYgdGhpcy5fX2RlY29yYXRlKSB8fCBmdW5jdGlvbiAoZGVjb3JhdG9ycywgdGFyZ2V0LCBrZXksIGRlc2MpIHtcbiAgICB2YXIgYyA9IGFyZ3VtZW50cy5sZW5ndGgsIHIgPSBjIDwgMyA/IHRhcmdldCA6IGRlc2MgPT09IG51bGwgPyBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0YXJnZXQsIGtleSkgOiBkZXNjLCBkO1xuICAgIGlmICh0eXBlb2YgUmVmbGVjdCA9PT0gXCJvYmplY3RcIiAmJiB0eXBlb2YgUmVmbGVjdC5kZWNvcmF0ZSA9PT0gXCJmdW5jdGlvblwiKSByID0gUmVmbGVjdC5kZWNvcmF0ZShkZWNvcmF0b3JzLCB0YXJnZXQsIGtleSwgZGVzYyk7XG4gICAgZWxzZSBmb3IgKHZhciBpID0gZGVjb3JhdG9ycy5sZW5ndGggLSAxOyBpID49IDA7IGktLSkgaWYgKGQgPSBkZWNvcmF0b3JzW2ldKSByID0gKGMgPCAzID8gZChyKSA6IGMgPiAzID8gZCh0YXJnZXQsIGtleSwgcikgOiBkKHRhcmdldCwga2V5KSkgfHwgcjtcbiAgICByZXR1cm4gYyA+IDMgJiYgciAmJiBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBrZXksIHIpLCByO1xufTtcbnZhciBfX21ldGFkYXRhID0gKHRoaXMgJiYgdGhpcy5fX21ldGFkYXRhKSB8fCBmdW5jdGlvbiAoaywgdikge1xuICAgIGlmICh0eXBlb2YgUmVmbGVjdCA9PT0gXCJvYmplY3RcIiAmJiB0eXBlb2YgUmVmbGVjdC5tZXRhZGF0YSA9PT0gXCJmdW5jdGlvblwiKSByZXR1cm4gUmVmbGVjdC5tZXRhZGF0YShrLCB2KTtcbn07XG5pbXBvcnQgeyBtaW4sIG1pbmxlbmd0aCwgTW9kZWwsIHJlcXVpcmVkLCB9IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb25cIjtcbmltcG9ydCB7IFZhbGlkYXRpb25FcnJvciB9IGZyb20gXCJAZGVjYWYtdHMvZGItZGVjb3JhdG9yc1wiO1xuZXhwb3J0IGNsYXNzIFJlZ2lzdHJhdGlvblJlcXVlc3RCdWlsZGVyIGV4dGVuZHMgTW9kZWwge1xuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlciguLi5hcmd1bWVudHMpO1xuICAgICAgICB0aGlzLmFmZmlsaWF0aW9uID0gXCJcIjtcbiAgICB9XG4gICAgYnVpbGQoKSB7XG4gICAgICAgIGNvbnN0IGVycnMgPSB0aGlzLmhhc0Vycm9ycygpO1xuICAgICAgICBpZiAoZXJycylcbiAgICAgICAgICAgIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IoZXJycy50b1N0cmluZygpKTtcbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPSB7XG4gICAgICAgICAgICBlbnJvbGxtZW50SUQ6IHRoaXMuZW5yb2xsbWVudElELFxuICAgICAgICAgICAgZW5yb2xsbWVudFNlY3JldDogdGhpcy5lbnJvbGxtZW50U2VjcmV0LFxuICAgICAgICAgICAgcm9sZTogdGhpcy5yb2xlLFxuICAgICAgICAgICAgYWZmaWxpYXRpb246IHRoaXMuYWZmaWxpYXRpb24sXG4gICAgICAgIH07XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5tYXhFbnJvbGxtZW50cyAhPT0gXCJ1bmRlZmluZWRcIilcbiAgICAgICAgICAgIHJlc3BvbnNlLm1heEVucm9sbG1lbnRzID0gdGhpcy5tYXhFbnJvbGxtZW50cztcbiAgICAgICAgaWYgKHRoaXMuYXR0cnMpXG4gICAgICAgICAgICByZXNwb25zZS5hdHRycyA9IHRoaXMuYXR0cnM7XG4gICAgICAgIHJldHVybiByZXNwb25zZTtcbiAgICB9XG4gICAgc2V0QWZmaWxpYXRpb24odmFsdWUpIHtcbiAgICAgICAgdGhpcy5hZmZpbGlhdGlvbiA9IHZhbHVlO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG4gICAgYWRkQXR0cihhdHRyKSB7XG4gICAgICAgIHRoaXMuYXR0cnMgPSB0aGlzLmF0dHJzIHx8IFtdO1xuICAgICAgICB0aGlzLmF0dHJzLnB1c2goYXR0cik7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cbiAgICBzZXRBdHRycyh2YWx1ZSkge1xuICAgICAgICB0aGlzLmF0dHJzID0gdmFsdWU7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cbiAgICBzZXRFbnJvbGxtZW50SUQodmFsdWUpIHtcbiAgICAgICAgdGhpcy5lbnJvbGxtZW50SUQgPSB2YWx1ZTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuICAgIHNldEVucm9sbG1lbnRTZWNyZXQodmFsdWUpIHtcbiAgICAgICAgdGhpcy5lbnJvbGxtZW50U2VjcmV0ID0gdmFsdWU7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cbiAgICBzZXRNYXhFbnJvbGxtZW50cyh2YWx1ZSkge1xuICAgICAgICB0aGlzLm1heEVucm9sbG1lbnRzID0gdmFsdWU7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cbiAgICBzZXRSb2xlKHZhbHVlKSB7XG4gICAgICAgIHRoaXMucm9sZSA9IHZhbHVlO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG59XG5fX2RlY29yYXRlKFtcbiAgICByZXF1aXJlZCgpLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBTdHJpbmcpXG5dLCBSZWdpc3RyYXRpb25SZXF1ZXN0QnVpbGRlci5wcm90b3R5cGUsIFwiYWZmaWxpYXRpb25cIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIG1pbmxlbmd0aCgxKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgQXJyYXkpXG5dLCBSZWdpc3RyYXRpb25SZXF1ZXN0QnVpbGRlci5wcm90b3R5cGUsIFwiYXR0cnNcIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIHJlcXVpcmVkKCksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIFN0cmluZylcbl0sIFJlZ2lzdHJhdGlvblJlcXVlc3RCdWlsZGVyLnByb3RvdHlwZSwgXCJlbnJvbGxtZW50SURcIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIHJlcXVpcmVkKCksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIFN0cmluZylcbl0sIFJlZ2lzdHJhdGlvblJlcXVlc3RCdWlsZGVyLnByb3RvdHlwZSwgXCJlbnJvbGxtZW50U2VjcmV0XCIsIHZvaWQgMCk7XG5fX2RlY29yYXRlKFtcbiAgICBtaW4oMCksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIE51bWJlcilcbl0sIFJlZ2lzdHJhdGlvblJlcXVlc3RCdWlsZGVyLnByb3RvdHlwZSwgXCJtYXhFbnJvbGxtZW50c1wiLCB2b2lkIDApO1xuX19kZWNvcmF0ZShbXG4gICAgcmVxdWlyZWQoKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgU3RyaW5nKVxuXSwgUmVnaXN0cmF0aW9uUmVxdWVzdEJ1aWxkZXIucHJvdG90eXBlLCBcInJvbGVcIiwgdm9pZCAwKTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaVVtVm5hWE4wY21GMGFXOXVVbVZ4ZFdWemRFSjFhV3hrWlhJdWFuTWlMQ0p6YjNWeVkyVlNiMjkwSWpvaUlpd2ljMjkxY21ObGN5STZXeUl1TGk4dUxpOHVMaTh1TGk5emNtTXZZMnhwWlc1MEwzTmxjblpwWTJWekwxSmxaMmx6ZEhKaGRHbHZibEpsY1hWbGMzUkNkV2xzWkdWeUxuUnpJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSTdPenM3T3pzN096dEJRVVZCTEU5QlFVOHNSVUZEVEN4SFFVRkhMRVZCUTBnc1UwRkJVeXhGUVVOVUxFdEJRVXNzUlVGRFRDeFJRVUZSTEVkQlExUXNUVUZCVFN4blEwRkJaME1zUTBGQlF6dEJRVU40UXl4UFFVRlBMRVZCUVVVc1pVRkJaU3hGUVVGRkxFMUJRVTBzZVVKQlFYbENMRU5CUVVNN1FVRkZNVVFzVFVGQlRTeFBRVUZQTERCQ1FVRXlRaXhUUVVGUkxFdEJRVXM3U1VGQmNrUTdPMUZCUlVVc1owSkJRVmNzUjBGQlZ5eEZRVUZGTEVOQlFVTTdTVUU0UkROQ0xFTkJRVU03U1VGc1JFTXNTMEZCU3p0UlFVTklMRTFCUVUwc1NVRkJTU3hIUVVGSExFbEJRVWtzUTBGQlF5eFRRVUZUTEVWQlFVVXNRMEZCUXp0UlFVTTVRaXhKUVVGSkxFbEJRVWs3V1VGQlJTeE5RVUZOTEVsQlFVa3NaVUZCWlN4RFFVRkRMRWxCUVVrc1EwRkJReXhSUVVGUkxFVkJRVVVzUTBGQlF5eERRVUZETzFGQlEzSkVMRTFCUVUwc1VVRkJVU3hIUVVGeFFqdFpRVU5xUXl4WlFVRlpMRVZCUVVVc1NVRkJTU3hEUVVGRExGbEJRVms3V1VGREwwSXNaMEpCUVdkQ0xFVkJRVVVzU1VGQlNTeERRVUZETEdkQ1FVRm5RanRaUVVOMlF5eEpRVUZKTEVWQlFVVXNTVUZCU1N4RFFVRkRMRWxCUVVrN1dVRkRaaXhYUVVGWExFVkJRVVVzU1VGQlNTeERRVUZETEZkQlFWYzdVMEZET1VJc1EwRkJRenRSUVVOR0xFbEJRVWtzVDBGQlR5eEpRVUZKTEVOQlFVTXNZMEZCWXl4TFFVRkxMRmRCUVZjN1dVRkROVU1zVVVGQlVTeERRVUZETEdOQlFXTXNSMEZCUnl4SlFVRkpMRU5CUVVNc1kwRkJZeXhEUVVGRE8xRkJRMmhFTEVsQlFVa3NTVUZCU1N4RFFVRkRMRXRCUVVzN1dVRkJSU3hSUVVGUkxFTkJRVU1zUzBGQlN5eEhRVUZITEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNN1VVRkROVU1zVDBGQlR5eFJRVUZSTEVOQlFVTTdTVUZEYkVJc1EwRkJRenRKUVVWRUxHTkJRV01zUTBGQlF5eExRVUZoTzFGQlF6RkNMRWxCUVVrc1EwRkJReXhYUVVGWExFZEJRVWNzUzBGQlN5eERRVUZETzFGQlEzcENMRTlCUVU4c1NVRkJTU3hEUVVGRE8wbEJRMlFzUTBGQlF6dEpRVVZFTEU5QlFVOHNRMEZCUXl4SlFVRjNRanRSUVVNNVFpeEpRVUZKTEVOQlFVTXNTMEZCU3l4SFFVRkhMRWxCUVVrc1EwRkJReXhMUVVGTExFbEJRVWtzUlVGQlJTeERRVUZETzFGQlF6bENMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU1zU1VGQlNTeERRVUZETEVsQlFVa3NRMEZCUXl4RFFVRkRPMUZCUTNSQ0xFOUJRVThzU1VGQlNTeERRVUZETzBsQlEyUXNRMEZCUXp0SlFVVkVMRkZCUVZFc1EwRkJReXhMUVVFeVFqdFJRVU5zUXl4SlFVRkpMRU5CUVVNc1MwRkJTeXhIUVVGSExFdEJRVXNzUTBGQlF6dFJRVU51UWl4UFFVRlBMRWxCUVVrc1EwRkJRenRKUVVOa0xFTkJRVU03U1VGRlJDeGxRVUZsTEVOQlFVTXNTMEZCWVR0UlFVTXpRaXhKUVVGSkxFTkJRVU1zV1VGQldTeEhRVUZITEV0QlFVc3NRMEZCUXp0UlFVTXhRaXhQUVVGUExFbEJRVWtzUTBGQlF6dEpRVU5rTEVOQlFVTTdTVUZGUkN4dFFrRkJiVUlzUTBGQlF5eExRVUZoTzFGQlF5OUNMRWxCUVVrc1EwRkJReXhuUWtGQlowSXNSMEZCUnl4TFFVRkxMRU5CUVVNN1VVRkRPVUlzVDBGQlR5eEpRVUZKTEVOQlFVTTdTVUZEWkN4RFFVRkRPMGxCUlVRc2FVSkJRV2xDTEVOQlFVTXNTMEZCWVR0UlFVTTNRaXhKUVVGSkxFTkJRVU1zWTBGQll5eEhRVUZITEV0QlFVc3NRMEZCUXp0UlFVTTFRaXhQUVVGUExFbEJRVWtzUTBGQlF6dEpRVU5rTEVOQlFVTTdTVUZGUkN4UFFVRlBMRU5CUVVNc1MwRkJkVUk3VVVGRE4wSXNTVUZCU1N4RFFVRkRMRWxCUVVrc1IwRkJSeXhMUVVGTExFTkJRVU03VVVGRGJFSXNUMEZCVHl4SlFVRkpMRU5CUVVNN1NVRkRaQ3hEUVVGRE8wTkJRMFk3UVVFNVJFTTdTVUZFUXl4UlFVRlJMRVZCUVVVN095dEVRVU5qTzBGQlJYcENPMGxCUkVNc1UwRkJVeXhEUVVGRExFTkJRVU1zUTBGQlF6czdlVVJCUTJkQ08wRkJSVGRDTzBsQlJFTXNVVUZCVVN4RlFVRkZPenRuUlVGRFZ6dEJRVVYwUWp0SlFVUkRMRkZCUVZFc1JVRkJSVHM3YjBWQlEyVTdRVUZGTVVJN1NVRkVReXhIUVVGSExFTkJRVU1zUTBGQlF5eERRVUZET3p0clJVRkRhVUk3UVVGRmVFSTdTVUZFUXl4UlFVRlJMRVZCUVVVN08zZEVRVU5ISWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaWFXMXdiM0owSUhzZ1NWSmxaMmx6ZEdWeVVtVnhkV1Z6ZEN3Z1NVdGxlVlpoYkhWbFFYUjBjbWxpZFhSbElIMGdabkp2YlNCY0ltWmhZbkpwWXkxallTMWpiR2xsYm5SY0lqdGNibWx0Y0c5eWRDQjdJRU5CWDFKUFRFVWdmU0JtY205dElGd2lMaTlqYjI1emRHRnVkSE5jSWp0Y2JtbHRjRzl5ZENCN1hHNGdJRzFwYml4Y2JpQWdiV2x1YkdWdVozUm9MRnh1SUNCTmIyUmxiQ3hjYmlBZ2NtVnhkV2x5WldRc1hHNTlJR1p5YjIwZ1hDSkFaR1ZqWVdZdGRITXZaR1ZqYjNKaGRHOXlMWFpoYkdsa1lYUnBiMjVjSWp0Y2JtbHRjRzl5ZENCN0lGWmhiR2xrWVhScGIyNUZjbkp2Y2lCOUlHWnliMjBnWENKQVpHVmpZV1l0ZEhNdlpHSXRaR1ZqYjNKaGRHOXljMXdpTzF4dVhHNWxlSEJ2Y25RZ1kyeGhjM01nVW1WbmFYTjBjbUYwYVc5dVVtVnhkV1Z6ZEVKMWFXeGtaWElnWlhoMFpXNWtjeUJOYjJSbGJDQjdYRzRnSUVCeVpYRjFhWEpsWkNncFhHNGdJR0ZtWm1sc2FXRjBhVzl1T2lCemRISnBibWNnUFNCY0lsd2lPMXh1SUNCQWJXbHViR1Z1WjNSb0tERXBYRzRnSUdGMGRISnpQem9nU1V0bGVWWmhiSFZsUVhSMGNtbGlkWFJsVzEwN1hHNGdJRUJ5WlhGMWFYSmxaQ2dwWEc0Z0lHVnVjbTlzYkcxbGJuUkpSQ0U2SUhOMGNtbHVaenRjYmlBZ1FISmxjWFZwY21Wa0tDbGNiaUFnWlc1eWIyeHNiV1Z1ZEZObFkzSmxkQ0U2SUhOMGNtbHVaenRjYmlBZ1FHMXBiaWd3S1Z4dUlDQnRZWGhGYm5KdmJHeHRaVzUwY3o4NklHNTFiV0psY2p0Y2JpQWdRSEpsY1hWcGNtVmtLQ2xjYmlBZ2NtOXNaU0U2SUhOMGNtbHVaenRjYmx4dUlDQmlkV2xzWkNncE9pQkpVbVZuYVhOMFpYSlNaWEYxWlhOMElIdGNiaUFnSUNCamIyNXpkQ0JsY25KeklEMGdkR2hwY3k1b1lYTkZjbkp2Y25Nb0tUdGNiaUFnSUNCcFppQW9aWEp5Y3lrZ2RHaHliM2NnYm1WM0lGWmhiR2xrWVhScGIyNUZjbkp2Y2lobGNuSnpMblJ2VTNSeWFXNW5LQ2twTzF4dUlDQWdJR052Ym5OMElISmxjM0J2Ym5ObE9pQkpVbVZuYVhOMFpYSlNaWEYxWlhOMElEMGdlMXh1SUNBZ0lDQWdaVzV5YjJ4c2JXVnVkRWxFT2lCMGFHbHpMbVZ1Y205c2JHMWxiblJKUkN4Y2JpQWdJQ0FnSUdWdWNtOXNiRzFsYm5SVFpXTnlaWFE2SUhSb2FYTXVaVzV5YjJ4c2JXVnVkRk5sWTNKbGRDeGNiaUFnSUNBZ0lISnZiR1U2SUhSb2FYTXVjbTlzWlN4Y2JpQWdJQ0FnSUdGbVptbHNhV0YwYVc5dU9pQjBhR2x6TG1GbVptbHNhV0YwYVc5dUxGeHVJQ0FnSUgwN1hHNGdJQ0FnYVdZZ0tIUjVjR1Z2WmlCMGFHbHpMbTFoZUVWdWNtOXNiRzFsYm5SeklDRTlQU0JjSW5WdVpHVm1hVzVsWkZ3aUtWeHVJQ0FnSUNBZ2NtVnpjRzl1YzJVdWJXRjRSVzV5YjJ4c2JXVnVkSE1nUFNCMGFHbHpMbTFoZUVWdWNtOXNiRzFsYm5Sek8xeHVJQ0FnSUdsbUlDaDBhR2x6TG1GMGRISnpLU0J5WlhOd2IyNXpaUzVoZEhSeWN5QTlJSFJvYVhNdVlYUjBjbk03WEc0Z0lDQWdjbVYwZFhKdUlISmxjM0J2Ym5ObE8xeHVJQ0I5WEc1Y2JpQWdjMlYwUVdabWFXeHBZWFJwYjI0b2RtRnNkV1U2SUhOMGNtbHVaeWtnZTF4dUlDQWdJSFJvYVhNdVlXWm1hV3hwWVhScGIyNGdQU0IyWVd4MVpUdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN6dGNiaUFnZlZ4dVhHNGdJR0ZrWkVGMGRISW9ZWFIwY2pvZ1NVdGxlVlpoYkhWbFFYUjBjbWxpZFhSbEtTQjdYRzRnSUNBZ2RHaHBjeTVoZEhSeWN5QTlJSFJvYVhNdVlYUjBjbk1nZkh3Z1cxMDdYRzRnSUNBZ2RHaHBjeTVoZEhSeWN5NXdkWE5vS0dGMGRISXBPMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpPMXh1SUNCOVhHNWNiaUFnYzJWMFFYUjBjbk1vZG1Gc2RXVTZJRWxMWlhsV1lXeDFaVUYwZEhKcFluVjBaVnRkS1NCN1hHNGdJQ0FnZEdocGN5NWhkSFJ5Y3lBOUlIWmhiSFZsTzF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TzF4dUlDQjlYRzVjYmlBZ2MyVjBSVzV5YjJ4c2JXVnVkRWxFS0haaGJIVmxPaUJ6ZEhKcGJtY3BJSHRjYmlBZ0lDQjBhR2x6TG1WdWNtOXNiRzFsYm5SSlJDQTlJSFpoYkhWbE8xeHVJQ0FnSUhKbGRIVnliaUIwYUdsek8xeHVJQ0I5WEc1Y2JpQWdjMlYwUlc1eWIyeHNiV1Z1ZEZObFkzSmxkQ2gyWVd4MVpUb2djM1J5YVc1bktTQjdYRzRnSUNBZ2RHaHBjeTVsYm5KdmJHeHRaVzUwVTJWamNtVjBJRDBnZG1Gc2RXVTdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTTdYRzRnSUgxY2JseHVJQ0J6WlhSTllYaEZibkp2Ykd4dFpXNTBjeWgyWVd4MVpUb2diblZ0WW1WeUtTQjdYRzRnSUNBZ2RHaHBjeTV0WVhoRmJuSnZiR3h0Wlc1MGN5QTlJSFpoYkhWbE8xeHVJQ0FnSUhKbGRIVnliaUIwYUdsek8xeHVJQ0I5WEc1Y2JpQWdjMlYwVW05c1pTaDJZV3gxWlRvZ1EwRmZVazlNUlNCOElITjBjbWx1WnlrZ2UxeHVJQ0FnSUhSb2FYTXVjbTlzWlNBOUlIWmhiSFZsTzF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TzF4dUlDQjlYRzU5WEc0aVhYMD0iXX0=
96
+ //# sourceMappingURL=RegistrationRequestBuilder.js.map
97
+ //# sourceMappingURL=RegistrationRequestBuilder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RegistrationRequestBuilder.js","sourceRoot":"","sources":["RegistrationRequestBuilder.js"],"names":[],"mappings":"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"}
@@ -9,5 +9,5 @@ exports.CA_ROLE = void 0;
9
9
  /** Client role typically used for SDK-based interactions and service accounts */
10
10
  CA_ROLE["CLIENT"] = "client";
11
11
  })(exports.CA_ROLE || (exports.CA_ROLE = {}));
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NsaWVudC9zZXJ2aWNlcy9jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBQ0gsTUFBTSxDQUFOLElBQVksT0FPWDtBQVBELFdBQVksT0FBTztJQUNqQiwyRkFBMkY7SUFDM0YsMEJBQWUsQ0FBQTtJQUNmLDhFQUE4RTtJQUM5RSx3QkFBYSxDQUFBO0lBQ2IsaUZBQWlGO0lBQ2pGLDRCQUFpQixDQUFBO0FBQ25CLENBQUMsRUFQVyxPQUFPLEtBQVAsT0FBTyxRQU9sQiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGRlc2NyaXB0aW9uIENlcnRpZmljYXRlIEF1dGhvcml0eSByb2xlIHR5cGVzIHVzZWQgZHVyaW5nIGVucm9sbG1lbnQgYW5kIHJlZ2lzdHJhdGlvbi5cbiAqIEBzdW1tYXJ5IEVudW1lcmF0ZXMgdGhlIHN0YW5kYXJkIEh5cGVybGVkZ2VyIEZhYnJpYyBDQSByb2xlcyB0aGF0IGNhbiBiZSBhc3NpZ25lZCB0byBpZGVudGl0aWVzIHdoZW4gcmVnaXN0ZXJpbmcgd2l0aCB0aGUgQ0Egc2VydmljZS5cbiAqIEBlbnVtIHtzdHJpbmd9XG4gKiBAcmVhZG9ubHlcbiAqIEBtZW1iZXJPZiBtb2R1bGU6Zm9yLWZhYnJpYy5jbGllbnRcbiAqL1xuZXhwb3J0IGVudW0gQ0FfUk9MRSB7XG4gIC8qKiBBZG1pbmlzdHJhdG9yIHJvbGUgd2l0aCBlbGV2YXRlZCBwcml2aWxlZ2VzIGZvciBtYW5hZ2luZyBpZGVudGl0aWVzIGFuZCBhZmZpbGlhdGlvbnMgKi9cbiAgQURNSU4gPSBcImFkbWluXCIsXG4gIC8qKiBTdGFuZGFyZCB1c2VyIHJvbGUgZm9yIGFwcGxpY2F0aW9uIGNsaWVudHMgaW50ZXJhY3Rpbmcgd2l0aCB0aGUgbmV0d29yayAqL1xuICBVU0VSID0gXCJ1c2VyXCIsXG4gIC8qKiBDbGllbnQgcm9sZSB0eXBpY2FsbHkgdXNlZCBmb3IgU0RLLWJhc2VkIGludGVyYWN0aW9ucyBhbmQgc2VydmljZSBhY2NvdW50cyAqL1xuICBDTElFTlQgPSBcImNsaWVudFwiLFxufVxuIl19
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY29uc3RhbnRzLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQVFBLENBQUMsVUFBVSxPQUFPO0lBQ2QsMkZBQTJGO0lBQzNGLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxPQUFPLENBQUM7SUFDM0IsOEVBQThFO0lBQzlFLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxNQUFNLENBQUM7SUFDekIsaUZBQWlGO0lBQ2pGLE9BQU8sQ0FBQyxRQUFRLENBQUMsR0FBRyxRQUFRLENBQUM7QUFDakMsQ0FBQyxDQUFDLENBQUMsZUFBTyxJQUFJLENBQUMsZUFBTyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDOUIsMDJDQUEwMkMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBkZXNjcmlwdGlvbiBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgcm9sZSB0eXBlcyB1c2VkIGR1cmluZyBlbnJvbGxtZW50IGFuZCByZWdpc3RyYXRpb24uXG4gKiBAc3VtbWFyeSBFbnVtZXJhdGVzIHRoZSBzdGFuZGFyZCBIeXBlcmxlZGdlciBGYWJyaWMgQ0Egcm9sZXMgdGhhdCBjYW4gYmUgYXNzaWduZWQgdG8gaWRlbnRpdGllcyB3aGVuIHJlZ2lzdGVyaW5nIHdpdGggdGhlIENBIHNlcnZpY2UuXG4gKiBAZW51bSB7c3RyaW5nfVxuICogQHJlYWRvbmx5XG4gKiBAbWVtYmVyT2YgbW9kdWxlOmZvci1mYWJyaWMuY2xpZW50XG4gKi9cbmV4cG9ydCB2YXIgQ0FfUk9MRTtcbihmdW5jdGlvbiAoQ0FfUk9MRSkge1xuICAgIC8qKiBBZG1pbmlzdHJhdG9yIHJvbGUgd2l0aCBlbGV2YXRlZCBwcml2aWxlZ2VzIGZvciBtYW5hZ2luZyBpZGVudGl0aWVzIGFuZCBhZmZpbGlhdGlvbnMgKi9cbiAgICBDQV9ST0xFW1wiQURNSU5cIl0gPSBcImFkbWluXCI7XG4gICAgLyoqIFN0YW5kYXJkIHVzZXIgcm9sZSBmb3IgYXBwbGljYXRpb24gY2xpZW50cyBpbnRlcmFjdGluZyB3aXRoIHRoZSBuZXR3b3JrICovXG4gICAgQ0FfUk9MRVtcIlVTRVJcIl0gPSBcInVzZXJcIjtcbiAgICAvKiogQ2xpZW50IHJvbGUgdHlwaWNhbGx5IHVzZWQgZm9yIFNESy1iYXNlZCBpbnRlcmFjdGlvbnMgYW5kIHNlcnZpY2UgYWNjb3VudHMgKi9cbiAgICBDQV9ST0xFW1wiQ0xJRU5UXCJdID0gXCJjbGllbnRcIjtcbn0pKENBX1JPTEUgfHwgKENBX1JPTEUgPSB7fSkpO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pWTI5dWMzUmhiblJ6TG1weklpd2ljMjkxY21ObFVtOXZkQ0k2SWlJc0luTnZkWEpqWlhNaU9sc2lMaTR2TGk0dkxpNHZMaTR2YzNKakwyTnNhV1Z1ZEM5elpYSjJhV05sY3k5amIyNXpkR0Z1ZEhNdWRITWlYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJRVUU3T3pzN096dEhRVTFITzBGQlEwZ3NUVUZCVFN4RFFVRk9MRWxCUVZrc1QwRlBXRHRCUVZCRUxGZEJRVmtzVDBGQlR6dEpRVU5xUWl3eVJrRkJNa1k3U1VGRE0wWXNNRUpCUVdVc1EwRkJRVHRKUVVObUxEaEZRVUU0UlR0SlFVTTVSU3gzUWtGQllTeERRVUZCTzBsQlEySXNhVVpCUVdsR08wbEJRMnBHTERSQ1FVRnBRaXhEUVVGQk8wRkJRMjVDTEVOQlFVTXNSVUZRVnl4UFFVRlBMRXRCUVZBc1QwRkJUeXhSUVU5c1FpSXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJaThxS2x4dUlDb2dRR1JsYzJOeWFYQjBhVzl1SUVObGNuUnBabWxqWVhSbElFRjFkR2h2Y21sMGVTQnliMnhsSUhSNWNHVnpJSFZ6WldRZ1pIVnlhVzVuSUdWdWNtOXNiRzFsYm5RZ1lXNWtJSEpsWjJsemRISmhkR2x2Ymk1Y2JpQXFJRUJ6ZFcxdFlYSjVJRVZ1ZFcxbGNtRjBaWE1nZEdobElITjBZVzVrWVhKa0lFaDVjR1Z5YkdWa1oyVnlJRVpoWW5KcFl5QkRRU0J5YjJ4bGN5QjBhR0YwSUdOaGJpQmlaU0JoYzNOcFoyNWxaQ0IwYnlCcFpHVnVkR2wwYVdWeklIZG9aVzRnY21WbmFYTjBaWEpwYm1jZ2QybDBhQ0IwYUdVZ1EwRWdjMlZ5ZG1salpTNWNiaUFxSUVCbGJuVnRJSHR6ZEhKcGJtZDlYRzRnS2lCQWNtVmhaRzl1YkhsY2JpQXFJRUJ0WlcxaVpYSlBaaUJ0YjJSMWJHVTZabTl5TFdaaFluSnBZeTVqYkdsbGJuUmNiaUFxTDF4dVpYaHdiM0owSUdWdWRXMGdRMEZmVWs5TVJTQjdYRzRnSUM4cUtpQkJaRzFwYm1semRISmhkRzl5SUhKdmJHVWdkMmwwYUNCbGJHVjJZWFJsWkNCd2NtbDJhV3hsWjJWeklHWnZjaUJ0WVc1aFoybHVaeUJwWkdWdWRHbDBhV1Z6SUdGdVpDQmhabVpwYkdsaGRHbHZibk1nS2k5Y2JpQWdRVVJOU1U0Z1BTQmNJbUZrYldsdVhDSXNYRzRnSUM4cUtpQlRkR0Z1WkdGeVpDQjFjMlZ5SUhKdmJHVWdabTl5SUdGd2NHeHBZMkYwYVc5dUlHTnNhV1Z1ZEhNZ2FXNTBaWEpoWTNScGJtY2dkMmwwYUNCMGFHVWdibVYwZDI5eWF5QXFMMXh1SUNCVlUwVlNJRDBnWENKMWMyVnlYQ0lzWEc0Z0lDOHFLaUJEYkdsbGJuUWdjbTlzWlNCMGVYQnBZMkZzYkhrZ2RYTmxaQ0JtYjNJZ1UwUkxMV0poYzJWa0lHbHVkR1Z5WVdOMGFXOXVjeUJoYm1RZ2MyVnlkbWxqWlNCaFkyTnZkVzUwY3lBcUwxeHVJQ0JEVEVsRlRsUWdQU0JjSW1Oc2FXVnVkRndpTEZ4dWZWeHVJbDE5Il19
12
+ //# sourceMappingURL=constants.js.map
13
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["constants.js"],"names":[],"mappings":";;;AAQA,CAAC,UAAU,OAAO;IACd,2FAA2F;IAC3F,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;IAC3B,8EAA8E;IAC9E,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;IACzB,iFAAiF;IACjF,OAAO,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC;AACjC,CAAC,CAAC,CAAC,eAAO,IAAI,CAAC,eAAO,GAAG,EAAE,CAAC,CAAC,CAAC;AAC9B,qCAAqC"}
@@ -18,5 +18,5 @@ __exportStar(require("./FabricEnrollmentService.cjs"), exports);
18
18
  __exportStar(require("./RegistrationRequestBuilder.cjs"), exports);
19
19
  __exportStar(require("./FabricIdentityService.cjs"), exports);
20
20
  __exportStar(require("./constants.cjs"), exports);
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY2xpZW50L3NlcnZpY2VzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDZDQUEwQztBQUMxQyxnREFBNkM7QUFDN0MsMkNBQXdDO0FBQ3hDLCtCQUE0QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL0ZhYnJpY0Vucm9sbG1lbnRTZXJ2aWNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9SZWdpc3RyYXRpb25SZXF1ZXN0QnVpbGRlclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vRmFicmljSWRlbnRpdHlTZXJ2aWNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb25zdGFudHNcIjtcbiJdfQ==
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsK0RBQTZDO0FBQzdDLGtFQUFnRDtBQUNoRCw2REFBMkM7QUFDM0MsaURBQStCO0FBQy9CLGtpQkFBa2lCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vRmFicmljRW5yb2xsbWVudFNlcnZpY2UuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL1JlZ2lzdHJhdGlvblJlcXVlc3RCdWlsZGVyLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9GYWJyaWNJZGVudGl0eVNlcnZpY2UuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbnN0YW50cy5qc1wiO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pYVc1a1pYZ3Vhbk1pTENKemIzVnlZMlZTYjI5MElqb2lJaXdpYzI5MWNtTmxjeUk2V3lJdUxpOHVMaTh1TGk4dUxpOXpjbU12WTJ4cFpXNTBMM05sY25acFkyVnpMMmx1WkdWNExuUnpJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSkJRVUZCTERaRFFVRXdRenRCUVVNeFF5eG5SRUZCTmtNN1FVRkROME1zTWtOQlFYZERPMEZCUTNoRExDdENRVUUwUWlJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYkltVjRjRzl5ZENBcUlHWnliMjBnWENJdUwwWmhZbkpwWTBWdWNtOXNiRzFsYm5SVFpYSjJhV05sWENJN1hHNWxlSEJ2Y25RZ0tpQm1jbTl0SUZ3aUxpOVNaV2RwYzNSeVlYUnBiMjVTWlhGMVpYTjBRblZwYkdSbGNsd2lPMXh1Wlhod2IzSjBJQ29nWm5KdmJTQmNJaTR2Um1GaWNtbGpTV1JsYm5ScGRIbFRaWEoyYVdObFhDSTdYRzVsZUhCdmNuUWdLaUJtY205dElGd2lMaTlqYjI1emRHRnVkSE5jSWp0Y2JpSmRmUT09Il19
21
+ //# sourceMappingURL=index.js.map
22
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+DAA6C;AAC7C,kEAAgD;AAChD,6DAA2C;AAC3C,iDAA+B;AAC/B,iCAAiC"}
@@ -1,4 +1,4 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY2xpZW50L3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGYWJyaWNGbGFncyB9IGZyb20gXCIuLi9zaGFyZWQvaW5kZXhcIjtcblxuZXhwb3J0IHR5cGUgRmFicmljQ2xpZW50RmxhZ3MgPSBGYWJyaWNGbGFncyAmIHtcbiAgZXZhbHVhdGVUaW1lb3V0OiBudW1iZXI7XG4gIGVuZG9yc2VUaW1lb3V0OiBudW1iZXI7XG4gIHN1Ym1pdFRpbWVvdXQ6IG51bWJlcjtcbiAgY29tbWl0VGltZW91dDogbnVtYmVyO1xuICBlbmRvcnNpbmdPcmdzPzogc3RyaW5nW107XG4gIGtleUNlcnRPckRpcmVjdG9yeVBhdGg/OiBzdHJpbmcgfCBCdWZmZXI7XG4gIGNlcnRDZXJ0T3JEaXJlY3RvcnlQYXRoPzogc3RyaW5nIHwgQnVmZmVyO1xuICBjaGFpbmNvZGVOYW1lPzogc3RyaW5nO1xuICBjb250cmFjdE5hbWU/OiBzdHJpbmc7XG4gIHNpemVMaW1pdD86IG51bWJlcjtcbiAgbXNwSWQ/OiBzdHJpbmc7XG4gIGNoYW5uZWw/OiBzdHJpbmc7XG4gIGxlZ2FjeT86IGJvb2xlYW47XG4gIGFsbG93R2F0ZXdheU92ZXJyaWRlPzogYm9vbGVhbjtcbiAgYWxsb3dNYW51YWxFbmRvcnNpbmdPcmdzOiBib29sZWFuO1xuICBlbmNyeXB0VHJhbnNpZW50PzogZmFsc2UgfCBzdHJpbmcgfCAoKCkgPT4gc3RyaW5nKTtcbiAgc3ludGhldGljRXZlbnRzPzogYm9vbGVhbjtcbn07XG4iXX0=
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJ0eXBlcy5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUNBLDhpQ0FBOGlDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHt9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pZEhsd1pYTXVhbk1pTENKemIzVnlZMlZTYjI5MElqb2lJaXdpYzI5MWNtTmxjeUk2V3lJdUxpOHVMaTh1TGk5emNtTXZZMnhwWlc1MEwzUjVjR1Z6TG5SeklsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lJaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SnBiWEJ2Y25RZ2V5QkdZV0p5YVdOR2JHRm5jeUI5SUdaeWIyMGdYQ0l1TGk5emFHRnlaV1F2YVc1a1pYaGNJanRjYmx4dVpYaHdiM0owSUhSNWNHVWdSbUZpY21salEyeHBaVzUwUm14aFozTWdQU0JHWVdKeWFXTkdiR0ZuY3lBbUlIdGNiaUFnWlhaaGJIVmhkR1ZVYVcxbGIzVjBPaUJ1ZFcxaVpYSTdYRzRnSUdWdVpHOXljMlZVYVcxbGIzVjBPaUJ1ZFcxaVpYSTdYRzRnSUhOMVltMXBkRlJwYldWdmRYUTZJRzUxYldKbGNqdGNiaUFnWTI5dGJXbDBWR2x0Wlc5MWREb2diblZ0WW1WeU8xeHVJQ0JsYm1SdmNuTnBibWRQY21kelB6b2djM1J5YVc1blcxMDdYRzRnSUd0bGVVTmxjblJQY2tScGNtVmpkRzl5ZVZCaGRHZy9PaUJ6ZEhKcGJtY2dmQ0JDZFdabVpYSTdYRzRnSUdObGNuUkRaWEowVDNKRWFYSmxZM1J2Y25sUVlYUm9Qem9nYzNSeWFXNW5JSHdnUW5WbVptVnlPMXh1SUNCamFHRnBibU52WkdWT1lXMWxQem9nYzNSeWFXNW5PMXh1SUNCamIyNTBjbUZqZEU1aGJXVS9PaUJ6ZEhKcGJtYzdYRzRnSUhOcGVtVk1hVzFwZEQ4NklHNTFiV0psY2p0Y2JpQWdiWE53U1dRL09pQnpkSEpwYm1jN1hHNGdJR05vWVc1dVpXdy9PaUJ6ZEhKcGJtYzdYRzRnSUd4bFoyRmplVDg2SUdKdmIyeGxZVzQ3WEc0Z0lHRnNiRzkzUjJGMFpYZGhlVTkyWlhKeWFXUmxQem9nWW05dmJHVmhianRjYmlBZ1lXeHNiM2ROWVc1MVlXeEZibVJ2Y25OcGJtZFBjbWR6T2lCaWIyOXNaV0Z1TzF4dUlDQmxibU55ZVhCMFZISmhibk5wWlc1MFB6b2dabUZzYzJVZ2ZDQnpkSEpwYm1jZ2ZDQW9LQ2tnUFQ0Z2MzUnlhVzVuS1R0Y2JpQWdjM2x1ZEdobGRHbGpSWFpsYm5SelB6b2dZbTl2YkdWaGJqdGNibjA3WEc0aVhYMD0iXX0=
3
+ //# sourceMappingURL=types.js.map
4
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["types.js"],"names":[],"mappings":";;AACA,iCAAiC"}