@tradetrust-yl/token-registry 5.1.1 → 5.1.3

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 (255) hide show
  1. package/dist/app.js +566 -0
  2. package/dist/artifacts/TitleEscrow.sol/TitleEscrow.json +83 -9
  3. package/dist/artifacts/TitleEscrowFactory.sol/TitleEscrowFactory.json +22 -3
  4. package/dist/artifacts/TradeTrustToken.sol/TradeTrustToken.json +125 -2
  5. package/dist/artifacts/base/RegistryAccess.sol/RegistryAccess.dbg.json +1 -1
  6. package/dist/artifacts/base/SBTUpgradeable.sol/SBTUpgradeable.dbg.json +1 -1
  7. package/dist/artifacts/base/SBTUpgradeable.sol/SBTUpgradeable.json +2 -2
  8. package/dist/artifacts/base/TradeTrustSBT.sol/TradeTrustSBT.dbg.json +1 -1
  9. package/dist/artifacts/base/TradeTrustSBT.sol/TradeTrustSBT.json +43 -0
  10. package/dist/artifacts/base/TradeTrustTokenBase.sol/TradeTrustTokenBase.dbg.json +1 -1
  11. package/dist/artifacts/base/TradeTrustTokenBase.sol/TradeTrustTokenBase.json +86 -0
  12. package/dist/artifacts/base/TradeTrustTokenBaseURI.sol/TradeTrustTokenBaseURI.dbg.json +1 -1
  13. package/dist/artifacts/base/TradeTrustTokenBaseURI.sol/TradeTrustTokenBaseURI.json +43 -0
  14. package/dist/artifacts/base/TradeTrustTokenBurnable.sol/TradeTrustTokenBurnable.dbg.json +1 -1
  15. package/dist/artifacts/base/TradeTrustTokenBurnable.sol/TradeTrustTokenBurnable.json +43 -0
  16. package/dist/artifacts/base/TradeTrustTokenMintable.sol/TradeTrustTokenMintable.dbg.json +1 -1
  17. package/dist/artifacts/base/TradeTrustTokenMintable.sol/TradeTrustTokenMintable.json +86 -0
  18. package/dist/artifacts/base/TradeTrustTokenRestorable.sol/TradeTrustTokenRestorable.dbg.json +1 -1
  19. package/dist/artifacts/base/TradeTrustTokenRestorable.sol/TradeTrustTokenRestorable.json +43 -0
  20. package/dist/artifacts/interfaces/IERC721MetadataUpgradeable.sol/IERC721MetadataUpgradeable.dbg.json +1 -1
  21. package/dist/artifacts/interfaces/ISBTUpgradeable.sol/ISBTUpgradeable.dbg.json +1 -1
  22. package/dist/artifacts/interfaces/ITitleEscrow.sol/ITitleEscrow.dbg.json +1 -1
  23. package/dist/artifacts/interfaces/ITitleEscrow.sol/ITitleEscrow.json +42 -6
  24. package/dist/artifacts/interfaces/ITitleEscrowFactory.sol/ITitleEscrowFactory.dbg.json +1 -1
  25. package/dist/artifacts/interfaces/ITitleEscrowSignable.sol/ITitleEscrowSignable.dbg.json +1 -1
  26. package/dist/artifacts/interfaces/ITitleEscrowSignable.sol/ITitleEscrowSignable.json +42 -6
  27. package/dist/artifacts/interfaces/ITradeTrustSBT.sol/ITradeTrustSBT.dbg.json +1 -1
  28. package/dist/artifacts/interfaces/ITradeTrustToken.sol/ITradeTrustToken.dbg.json +1 -1
  29. package/dist/artifacts/interfaces/ITradeTrustToken.sol/ITradeTrustToken.json +18 -0
  30. package/dist/artifacts/interfaces/ITradeTrustTokenBurnable.sol/ITradeTrustTokenBurnable.dbg.json +1 -1
  31. package/dist/artifacts/interfaces/ITradeTrustTokenMintable.sol/ITradeTrustTokenMintable.dbg.json +1 -1
  32. package/dist/artifacts/interfaces/ITradeTrustTokenMintable.sol/ITradeTrustTokenMintable.json +18 -0
  33. package/dist/artifacts/interfaces/ITradeTrustTokenRestorable.sol/ITradeTrustTokenRestorable.dbg.json +1 -1
  34. package/dist/artifacts/interfaces/RegistryAccessErrors.sol/RegistryAccessErrors.dbg.json +1 -1
  35. package/dist/artifacts/interfaces/SigHelperErrors.sol/SigHelperErrors.dbg.json +1 -1
  36. package/dist/artifacts/interfaces/TDocDeployerErrors.sol/TDocDeployerErrors.dbg.json +1 -1
  37. package/dist/artifacts/interfaces/TitleEscrowErrors.sol/TitleEscrowErrors.dbg.json +1 -1
  38. package/dist/artifacts/interfaces/TitleEscrowFactoryErrors.sol/TitleEscrowFactoryErrors.dbg.json +1 -1
  39. package/dist/artifacts/interfaces/TitleEscrowSignableErrors.sol/TitleEscrowSignableErrors.dbg.json +1 -1
  40. package/dist/artifacts/interfaces/TradeTrustTokenErrors.sol/TradeTrustTokenErrors.dbg.json +1 -1
  41. package/dist/artifacts/interfaces/TradeTrustTokenErrors.sol/TradeTrustTokenErrors.json +5 -0
  42. package/dist/artifacts/mocks/ERC721ReceiverMock.sol/ERC721ReceiverMock.dbg.json +1 -1
  43. package/dist/artifacts/mocks/ERC721ReceiverMock.sol/ERC721ReceiverMock.json +2 -2
  44. package/dist/artifacts/mocks/SBTUpgradeableMock.sol/SBTUpgradeableMock.dbg.json +1 -1
  45. package/dist/artifacts/mocks/SBTUpgradeableMock.sol/SBTUpgradeableMock.json +2 -2
  46. package/dist/artifacts/mocks/SigHelperMock.sol/SigHelperMock.dbg.json +1 -1
  47. package/dist/artifacts/mocks/SimpleCaller.sol/SimpleCaller.dbg.json +1 -1
  48. package/dist/artifacts/mocks/TitleEscrowFactoryCallerMock.sol/TitleEscrowFactoryCallerMock.dbg.json +1 -1
  49. package/dist/artifacts/mocks/TitleEscrowFactoryGetterMock.sol/TitleEscrowFactoryGetterMock.dbg.json +1 -1
  50. package/dist/artifacts/mocks/TitleEscrowMock.sol/TitleEscrowMock.dbg.json +1 -1
  51. package/dist/artifacts/mocks/TitleEscrowMock.sol/TitleEscrowMock.json +83 -9
  52. package/dist/artifacts/mocks/TradeTrustTokenMock.sol/TradeTrustTokenMock.dbg.json +1 -1
  53. package/dist/artifacts/mocks/TradeTrustTokenMock.sol/TradeTrustTokenMock.json +125 -2
  54. package/dist/artifacts/presets/TitleEscrowSignable.sol/TitleEscrowSignable.dbg.json +1 -1
  55. package/dist/artifacts/presets/TitleEscrowSignable.sol/TitleEscrowSignable.json +87 -8
  56. package/dist/artifacts/presets/TradeTrustTokenStandard.sol/TradeTrustTokenStandard.dbg.json +1 -1
  57. package/dist/artifacts/presets/TradeTrustTokenStandard.sol/TradeTrustTokenStandard.json +88 -2
  58. package/dist/artifacts/utils/SigHelper.sol/SigHelper.dbg.json +1 -1
  59. package/dist/artifacts/utils/TDocDeployer.sol/TDocDeployer.dbg.json +1 -1
  60. package/dist/artifacts/utils/TDocDeployer.sol/TDocDeployer.json +2 -2
  61. package/dist/constants/default-address.js +5 -3
  62. package/dist/constants/role-hash.js +5 -3
  63. package/dist/contracts/@openzeppelin/contracts/index.ts +2 -0
  64. package/dist/contracts/@openzeppelin/contracts/metatx/ERC2771Context.js +5 -0
  65. package/dist/contracts/@openzeppelin/contracts/metatx/ERC2771Context.ts +111 -0
  66. package/dist/contracts/@openzeppelin/contracts/metatx/index.js +5 -0
  67. package/dist/contracts/@openzeppelin/contracts/{proxy/utils → metatx}/index.ts +1 -1
  68. package/dist/contracts/@openzeppelin/contracts/proxy/Clones.js +5 -0
  69. package/dist/contracts/@openzeppelin/contracts/proxy/Clones.ts +70 -0
  70. package/dist/contracts/@openzeppelin/contracts/proxy/index.ts +1 -2
  71. package/dist/contracts/@openzeppelin/contracts/utils/Create2.js +5 -0
  72. package/dist/contracts/@openzeppelin/contracts/utils/Create2.ts +70 -0
  73. package/dist/contracts/@openzeppelin/contracts/utils/index.ts +1 -0
  74. package/dist/contracts/@openzeppelin/contracts-upgradeable/index.ts +2 -0
  75. package/dist/contracts/@openzeppelin/{contracts/proxy/utils/Initializable.ts → contracts-upgradeable/metatx/ERC2771ContextUpgradeable.ts} +46 -5
  76. package/dist/contracts/@openzeppelin/contracts-upgradeable/metatx/index.ts +5 -0
  77. package/dist/contracts/contracts/TitleEscrow.ts +62 -12
  78. package/dist/contracts/contracts/TitleEscrowFactory.ts +18 -1
  79. package/dist/contracts/contracts/TradeTrustToken.js +2 -1
  80. package/dist/contracts/contracts/TradeTrustToken.ts +120 -0
  81. package/dist/contracts/contracts/base/TradeTrustSBT.ts +29 -0
  82. package/dist/contracts/contracts/base/TradeTrustTokenBase.js +2 -1
  83. package/dist/contracts/contracts/base/TradeTrustTokenBase.ts +88 -0
  84. package/dist/contracts/contracts/base/TradeTrustTokenBaseURI.ts +29 -0
  85. package/dist/contracts/contracts/base/TradeTrustTokenBurnable.ts +29 -0
  86. package/dist/contracts/contracts/base/TradeTrustTokenMintable.js +2 -1
  87. package/dist/contracts/contracts/base/TradeTrustTokenMintable.ts +88 -0
  88. package/dist/contracts/contracts/base/TradeTrustTokenRestorable.ts +29 -0
  89. package/dist/contracts/contracts/interfaces/ITitleEscrow.ts +30 -12
  90. package/dist/contracts/contracts/interfaces/ITitleEscrowSignable.ts +30 -12
  91. package/dist/contracts/contracts/interfaces/ITradeTrustToken.ts +22 -0
  92. package/dist/contracts/contracts/interfaces/ITradeTrustTokenMintable.ts +22 -1
  93. package/dist/contracts/contracts/mocks/TitleEscrowMock.ts +62 -12
  94. package/dist/contracts/contracts/mocks/TradeTrustTokenMock.js +2 -1
  95. package/dist/contracts/contracts/mocks/TradeTrustTokenMock.ts +120 -0
  96. package/dist/contracts/contracts/presets/TitleEscrowSignable.ts +62 -12
  97. package/dist/contracts/contracts/presets/TradeTrustTokenStandard.js +2 -1
  98. package/dist/contracts/contracts/presets/TradeTrustTokenStandard.ts +88 -0
  99. package/dist/contracts/factories/@openzeppelin/contracts/access/IAccessControl__factory.js +3 -1
  100. package/dist/contracts/factories/@openzeppelin/contracts/index.js +4 -3
  101. package/dist/contracts/factories/@openzeppelin/contracts/index.ts +1 -0
  102. package/dist/contracts/factories/@openzeppelin/contracts/interfaces/IERC1967__factory.js +3 -1
  103. package/dist/contracts/factories/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/IERC1822Proxiable__factory.js +3 -1
  104. package/dist/contracts/factories/@openzeppelin/contracts/interfaces/index.js +1 -2
  105. package/dist/contracts/factories/@openzeppelin/contracts/metatx/ERC2771Context__factory.js +45 -0
  106. package/dist/contracts/factories/@openzeppelin/contracts/metatx/ERC2771Context__factory.ts +58 -0
  107. package/dist/contracts/factories/@openzeppelin/contracts/metatx/index.js +12 -0
  108. package/dist/contracts/factories/@openzeppelin/contracts/{proxy/utils → metatx}/index.ts +1 -1
  109. package/dist/contracts/factories/@openzeppelin/contracts/proxy/Clones__factory.js +44 -0
  110. package/dist/contracts/factories/@openzeppelin/contracts/proxy/Clones__factory.ts +70 -0
  111. package/dist/contracts/factories/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils__factory.js +4 -2
  112. package/dist/contracts/factories/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils__factory.ts +1 -1
  113. package/dist/contracts/factories/@openzeppelin/contracts/proxy/beacon/IBeacon__factory.js +3 -1
  114. package/dist/contracts/factories/@openzeppelin/contracts/proxy/index.js +9 -5
  115. package/dist/contracts/factories/@openzeppelin/contracts/proxy/index.ts +1 -1
  116. package/dist/contracts/factories/@openzeppelin/contracts/token/ERC721/IERC721Receiver__factory.js +3 -1
  117. package/dist/contracts/factories/@openzeppelin/contracts/token/index.js +1 -2
  118. package/dist/contracts/factories/@openzeppelin/contracts/utils/Address__factory.js +4 -2
  119. package/dist/contracts/factories/@openzeppelin/contracts/utils/Address__factory.ts +1 -1
  120. package/dist/contracts/factories/@openzeppelin/contracts/utils/Create2__factory.js +44 -0
  121. package/dist/contracts/factories/@openzeppelin/contracts/utils/Create2__factory.ts +70 -0
  122. package/dist/contracts/factories/@openzeppelin/contracts/utils/Errors__factory.js +3 -1
  123. package/dist/contracts/factories/@openzeppelin/contracts/utils/Pausable__factory.js +3 -1
  124. package/dist/contracts/factories/@openzeppelin/contracts/utils/Strings__factory.js +12 -2
  125. package/dist/contracts/factories/@openzeppelin/contracts/utils/Strings__factory.ts +11 -1
  126. package/dist/contracts/factories/@openzeppelin/contracts/utils/cryptography/ECDSA__factory.js +3 -1
  127. package/dist/contracts/factories/@openzeppelin/contracts/utils/index.js +8 -2
  128. package/dist/contracts/factories/@openzeppelin/contracts/utils/index.ts +1 -0
  129. package/dist/contracts/factories/@openzeppelin/contracts/utils/introspection/IERC165__factory.js +3 -1
  130. package/dist/contracts/factories/@openzeppelin/contracts/utils/math/SafeCast__factory.js +3 -1
  131. package/dist/contracts/factories/@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable__factory.js +3 -1
  132. package/dist/contracts/factories/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable__factory.js +3 -1
  133. package/dist/contracts/factories/@openzeppelin/contracts-upgradeable/index.js +4 -3
  134. package/dist/contracts/factories/@openzeppelin/contracts-upgradeable/index.ts +1 -0
  135. package/dist/contracts/factories/@openzeppelin/contracts-upgradeable/metatx/ERC2771ContextUpgradeable__factory.js +63 -0
  136. package/dist/contracts/factories/@openzeppelin/contracts-upgradeable/metatx/ERC2771ContextUpgradeable__factory.ts +85 -0
  137. package/dist/contracts/factories/@openzeppelin/contracts-upgradeable/metatx/index.js +12 -0
  138. package/dist/contracts/factories/@openzeppelin/contracts-upgradeable/metatx/index.ts +5 -0
  139. package/dist/contracts/factories/@openzeppelin/contracts-upgradeable/proxy/index.js +1 -2
  140. package/dist/contracts/factories/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable__factory.js +3 -1
  141. package/dist/contracts/factories/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable__factory.js +3 -1
  142. package/dist/contracts/factories/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable__factory.js +3 -1
  143. package/dist/contracts/factories/@openzeppelin/contracts-upgradeable/utils/PausableUpgradeable__factory.js +3 -1
  144. package/dist/contracts/factories/@openzeppelin/contracts-upgradeable/utils/index.js +1 -2
  145. package/dist/contracts/factories/@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable__factory.js +3 -1
  146. package/dist/contracts/factories/@openzeppelin/index.js +1 -2
  147. package/dist/contracts/factories/contracts/TitleEscrowFactory__factory.js +23 -7
  148. package/dist/contracts/factories/contracts/TitleEscrowFactory__factory.ts +34 -6
  149. package/dist/contracts/factories/contracts/TitleEscrow__factory.js +72 -12
  150. package/dist/contracts/factories/contracts/TitleEscrow__factory.ts +95 -12
  151. package/dist/contracts/factories/contracts/TradeTrustToken__factory.js +102 -6
  152. package/dist/contracts/factories/contracts/TradeTrustToken__factory.ts +128 -1
  153. package/dist/contracts/factories/contracts/base/RegistryAccess__factory.js +3 -1
  154. package/dist/contracts/factories/contracts/base/SBTUpgradeable__factory.js +4 -2
  155. package/dist/contracts/factories/contracts/base/SBTUpgradeable__factory.ts +1 -1
  156. package/dist/contracts/factories/contracts/base/TradeTrustSBT__factory.js +35 -1
  157. package/dist/contracts/factories/contracts/base/TradeTrustSBT__factory.ts +43 -0
  158. package/dist/contracts/factories/contracts/base/TradeTrustTokenBaseURI__factory.js +35 -1
  159. package/dist/contracts/factories/contracts/base/TradeTrustTokenBaseURI__factory.ts +43 -0
  160. package/dist/contracts/factories/contracts/base/TradeTrustTokenBase__factory.js +69 -1
  161. package/dist/contracts/factories/contracts/base/TradeTrustTokenBase__factory.ts +86 -0
  162. package/dist/contracts/factories/contracts/base/TradeTrustTokenBurnable__factory.js +35 -1
  163. package/dist/contracts/factories/contracts/base/TradeTrustTokenBurnable__factory.ts +43 -0
  164. package/dist/contracts/factories/contracts/base/TradeTrustTokenMintable__factory.js +69 -1
  165. package/dist/contracts/factories/contracts/base/TradeTrustTokenMintable__factory.ts +86 -0
  166. package/dist/contracts/factories/contracts/base/TradeTrustTokenRestorable__factory.js +35 -1
  167. package/dist/contracts/factories/contracts/base/TradeTrustTokenRestorable__factory.ts +43 -0
  168. package/dist/contracts/factories/contracts/index.js +1 -2
  169. package/dist/contracts/factories/contracts/interfaces/IERC721MetadataUpgradeable__factory.js +3 -1
  170. package/dist/contracts/factories/contracts/interfaces/ISBTUpgradeable__factory.js +3 -1
  171. package/dist/contracts/factories/contracts/interfaces/ITitleEscrowFactory__factory.js +3 -1
  172. package/dist/contracts/factories/contracts/interfaces/ITitleEscrowSignable__factory.js +38 -6
  173. package/dist/contracts/factories/contracts/interfaces/ITitleEscrowSignable__factory.ts +42 -6
  174. package/dist/contracts/factories/contracts/interfaces/ITitleEscrow__factory.js +38 -6
  175. package/dist/contracts/factories/contracts/interfaces/ITitleEscrow__factory.ts +42 -6
  176. package/dist/contracts/factories/contracts/interfaces/ITradeTrustSBT__factory.js +3 -1
  177. package/dist/contracts/factories/contracts/interfaces/ITradeTrustTokenBurnable__factory.js +3 -1
  178. package/dist/contracts/factories/contracts/interfaces/ITradeTrustTokenMintable__factory.js +17 -1
  179. package/dist/contracts/factories/contracts/interfaces/ITradeTrustTokenMintable__factory.ts +18 -0
  180. package/dist/contracts/factories/contracts/interfaces/ITradeTrustTokenRestorable__factory.js +3 -1
  181. package/dist/contracts/factories/contracts/interfaces/ITradeTrustToken__factory.js +17 -1
  182. package/dist/contracts/factories/contracts/interfaces/ITradeTrustToken__factory.ts +18 -0
  183. package/dist/contracts/factories/contracts/interfaces/RegistryAccessErrors__factory.js +3 -1
  184. package/dist/contracts/factories/contracts/interfaces/SigHelperErrors__factory.js +3 -1
  185. package/dist/contracts/factories/contracts/interfaces/TDocDeployerErrors__factory.js +3 -1
  186. package/dist/contracts/factories/contracts/interfaces/TitleEscrowErrors__factory.js +3 -1
  187. package/dist/contracts/factories/contracts/interfaces/TitleEscrowFactoryErrors__factory.js +3 -1
  188. package/dist/contracts/factories/contracts/interfaces/TitleEscrowSignableErrors__factory.js +3 -1
  189. package/dist/contracts/factories/contracts/interfaces/TradeTrustTokenErrors__factory.js +7 -1
  190. package/dist/contracts/factories/contracts/interfaces/TradeTrustTokenErrors__factory.ts +5 -0
  191. package/dist/contracts/factories/contracts/mocks/ERC721ReceiverMock__factory.js +4 -2
  192. package/dist/contracts/factories/contracts/mocks/ERC721ReceiverMock__factory.ts +1 -1
  193. package/dist/contracts/factories/contracts/mocks/SBTUpgradeableMock__factory.js +4 -2
  194. package/dist/contracts/factories/contracts/mocks/SBTUpgradeableMock__factory.ts +1 -1
  195. package/dist/contracts/factories/contracts/mocks/SigHelperMock__factory.js +3 -1
  196. package/dist/contracts/factories/contracts/mocks/SimpleCaller__factory.js +3 -1
  197. package/dist/contracts/factories/contracts/mocks/TitleEscrowFactoryCallerMock__factory.js +3 -1
  198. package/dist/contracts/factories/contracts/mocks/TitleEscrowFactoryGetterMock__factory.js +3 -1
  199. package/dist/contracts/factories/contracts/mocks/TitleEscrowMock__factory.js +72 -12
  200. package/dist/contracts/factories/contracts/mocks/TitleEscrowMock__factory.ts +95 -12
  201. package/dist/contracts/factories/contracts/mocks/TradeTrustTokenMock__factory.js +102 -6
  202. package/dist/contracts/factories/contracts/mocks/TradeTrustTokenMock__factory.ts +128 -1
  203. package/dist/contracts/factories/contracts/presets/TitleEscrowSignable__factory.js +75 -11
  204. package/dist/contracts/factories/contracts/presets/TitleEscrowSignable__factory.ts +99 -11
  205. package/dist/contracts/factories/contracts/presets/TradeTrustTokenStandard__factory.js +70 -2
  206. package/dist/contracts/factories/contracts/presets/TradeTrustTokenStandard__factory.ts +87 -1
  207. package/dist/contracts/factories/contracts/utils/SigHelper__factory.js +3 -1
  208. package/dist/contracts/factories/contracts/utils/TDocDeployer__factory.js +4 -2
  209. package/dist/contracts/factories/contracts/utils/TDocDeployer__factory.ts +1 -1
  210. package/dist/contracts/factories/index.js +1 -2
  211. package/dist/contracts/hardhat.d.ts +70 -16
  212. package/dist/contracts/index.js +29 -2
  213. package/dist/contracts/index.ts +8 -0
  214. package/dist/index.js +1 -2
  215. package/dist/models/common.js +5 -0
  216. package/dist/models/freightForwarder.js +5 -0
  217. package/dist/models/shipOwner.js +5 -0
  218. package/dist/services/admin/adminRepository.js +77 -0
  219. package/dist/services/crypto.js +215 -0
  220. package/dist/services/database.js +36 -0
  221. package/dist/services/freightForwarder/freightForwarderRepository.js +94 -0
  222. package/dist/services/shipOwner/shipOwnerController.js +77 -0
  223. package/dist/services/shipOwner/shipOwnerRepository.js +94 -0
  224. package/dist/services/shipOwner/shipOwnerRoutes.js +18 -0
  225. package/dist/types/app.d.ts +1 -0
  226. package/dist/types/constants/contract-address.d.ts +43 -3
  227. package/dist/types/models/common.d.ts +23 -0
  228. package/dist/types/models/freightForwarder.d.ts +15 -0
  229. package/dist/types/models/shipOwner.d.ts +25 -0
  230. package/dist/types/services/admin/adminRepository.d.ts +9 -0
  231. package/dist/types/services/crypto.d.ts +27 -0
  232. package/dist/types/services/database.d.ts +3 -0
  233. package/dist/types/services/freightForwarder/freightForwarderRepository.d.ts +10 -0
  234. package/dist/types/services/shipOwner/shipOwnerController.d.ts +6 -0
  235. package/dist/types/services/shipOwner/shipOwnerRepository.d.ts +10 -0
  236. package/dist/types/services/shipOwner/shipOwnerRoutes.d.ts +2 -0
  237. package/dist/types/utils/extractFactoryAddress.d.ts +10 -0
  238. package/dist/types/utils/extractTokenAddress.d.ts +10 -0
  239. package/dist/types/utils/get-event-from-receipt.d.ts +1 -1
  240. package/dist/types/utils/index.d.ts +1 -0
  241. package/dist/types/utils/run.d.ts +9 -0
  242. package/dist/utils/compute-interface-id.js +5 -3
  243. package/dist/utils/compute-title-escrow-address.js +5 -3
  244. package/dist/utils/encode-init-params.js +5 -3
  245. package/dist/utils/extractFactoryAddress.js +58 -0
  246. package/dist/utils/extractTokenAddress.js +58 -0
  247. package/dist/utils/get-event-from-receipt.js +5 -3
  248. package/dist/utils/index.js +11 -0
  249. package/dist/utils/run.js +36 -0
  250. package/package.json +16 -3
  251. package/dist/contracts/factories/@openzeppelin/contracts/proxy/utils/Initializable__factory.js +0 -37
  252. package/dist/contracts/factories/@openzeppelin/contracts/proxy/utils/Initializable__factory.ts +0 -49
  253. package/dist/contracts/factories/@openzeppelin/contracts/proxy/utils/index.js +0 -12
  254. /package/dist/contracts/@openzeppelin/{contracts/proxy/utils/Initializable.js → contracts-upgradeable/metatx/ERC2771ContextUpgradeable.js} +0 -0
  255. /package/dist/contracts/@openzeppelin/{contracts/proxy/utils → contracts-upgradeable/metatx}/index.js +0 -0
@@ -297,8 +297,8 @@
297
297
  "type": "function"
298
298
  }
299
299
  ],
300
- "bytecode": "0x60806040523480156200001157600080fd5b50604051620029443803806200294483398181016040528101906200003791906200046e565b600062000049620001e460201b60201c565b905060008160000160089054906101000a900460ff1615905060008260000160009054906101000a900467ffffffffffffffff1690506000808267ffffffffffffffff16148015620000985750825b9050600060018367ffffffffffffffff16148015620000ce575060003073ffffffffffffffffffffffffffffffffffffffff163b145b905081158015620000dd575080155b1562000115576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018560000160006101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055508315620001665760018560000160086101000a81548160ff0219169083151502179055505b6200017887876200020c60201b60201c565b8315620001d75760008560000160086101000a81548160ff0219169083151502179055507fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d26001604051620001ce919062000554565b60405180910390a15b5050505050505062000899565b60007ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00905090565b6200021c6200023260201b60201c565b6200022e82826200027b60201b60201c565b5050565b62000242620002b360201b60201c565b62000279576040517fd7e6bcf800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b6200028b6200023260201b60201c565b81600090816200029c9190620007b2565b508060019081620002ae9190620007b2565b505050565b6000620002c5620001e460201b60201c565b60000160089054906101000a900460ff16905090565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6200034482620002f9565b810181811067ffffffffffffffff821117156200036657620003656200030a565b5b80604052505050565b60006200037b620002db565b905062000389828262000339565b919050565b600067ffffffffffffffff821115620003ac57620003ab6200030a565b5b620003b782620002f9565b9050602081019050919050565b60005b83811015620003e4578082015181840152602081019050620003c7565b60008484015250505050565b60006200040762000401846200038e565b6200036f565b905082815260208101848484011115620004265762000425620002f4565b5b62000433848285620003c4565b509392505050565b600082601f830112620004535762000452620002ef565b5b815162000465848260208601620003f0565b91505092915050565b60008060408385031215620004885762000487620002e5565b5b600083015167ffffffffffffffff811115620004a957620004a8620002ea565b5b620004b7858286016200043b565b925050602083015167ffffffffffffffff811115620004db57620004da620002ea565b5b620004e9858286016200043b565b9150509250929050565b6000819050919050565b600067ffffffffffffffff82169050919050565b6000819050919050565b60006200053c620005366200053084620004f3565b62000511565b620004fd565b9050919050565b6200054e816200051b565b82525050565b60006020820190506200056b600083018462000543565b92915050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620005c457607f821691505b602082108103620005da57620005d96200057c565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620006447fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000605565b62000650868362000605565b95508019841693508086168417925050509392505050565b6000819050919050565b6000620006936200068d620006878462000668565b62000511565b62000668565b9050919050565b6000819050919050565b620006af8362000672565b620006c7620006be826200069a565b84845462000612565b825550505050565b600090565b620006de620006cf565b620006eb818484620006a4565b505050565b5b81811015620007135762000707600082620006d4565b600181019050620006f1565b5050565b601f82111562000762576200072c81620005e0565b6200073784620005f5565b8101602085101562000747578190505b6200075f6200075685620005f5565b830182620006f0565b50505b505050565b600082821c905092915050565b6000620007876000198460080262000767565b1980831691505092915050565b6000620007a2838362000774565b9150826002028217905092915050565b620007bd8262000571565b67ffffffffffffffff811115620007d957620007d86200030a565b5b620007e58254620005ab565b620007f282828562000717565b600060209050601f8311600181146200082a576000841562000815578287015190505b62000821858262000794565b86555062000891565b601f1984166200083a86620005e0565b60005b8281101562000864578489015182556001820191506020850194506020810190506200083d565b8683101562000884578489015162000880601f89168262000774565b8355505b6001600288020188555050505b505050505050565b61209b80620008a96000396000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c806370a082311161008c578063ab67aa5811610066578063ab67aa5814610226578063c87b56dd14610242578063e213f10b14610272578063ec94e0ba14610290576100cf565b806370a08231146101ba57806395d89b41146101ea578063a47d1f5e14610208576100cf565b806301ffc9a7146100d457806306fdde0314610104578063122b780f146101225780633fba56c61461015257806342966c681461016e5780636352211e1461018a575b600080fd5b6100ee60048036038101906100e991906113b4565b6102ac565b6040516100fb91906113fc565b60405180910390f35b61010c61038e565b60405161011991906114a7565b60405180910390f35b61013c600480360381019061013791906114ff565b610420565b60405161014991906113fc565b60405180910390f35b61016c600480360381019061016791906116bf565b610432565b005b610188600480360381019061018391906114ff565b610442565b005b6101a4600480360381019061019f91906114ff565b61044e565b6040516101b1919061173d565b60405180910390f35b6101d460048036038101906101cf9190611758565b6104ff565b6040516101e19190611794565b60405180910390f35b6101f26105b6565b6040516101ff91906114a7565b60405180910390f35b610210610648565b60405161021d9190611804565b60405180910390f35b610240600480360381019061023b9190611826565b6106d6565b005b61025c600480360381019061025791906114ff565b610738565b60405161026991906114a7565b60405180910390f35b61027a6107df565b60405161028791906114a7565b60405180910390f35b6102aa60048036038101906102a591906118a9565b6107ee565b005b60007fb8950977000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061037757507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806103875750610386826107fc565b5b9050919050565b60606000805461039d90611918565b80601f01602080910402602001604051908101604052809291908181526020018280546103c990611918565b80156104165780601f106103eb57610100808354040283529160200191610416565b820191906000526020600020905b8154815290600101906020018083116103f957829003601f168201915b5050505050905090565b600061042b82610866565b9050919050565b61043d8383836108d2565b505050565b61044b8161092d565b50565b6000806003600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036104f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104ed906119bb565b60405180910390fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361056f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161056690611a4d565b60405180910390fd5b600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6060600180546105c590611918565b80601f01602080910402602001604051908101604052809291908181526020018280546105f190611918565b801561063e5780601f106106135761010080835404028352916020019161063e565b820191906000526020600020905b81548152906001019060200180831161062157829003601f168201915b5050505050905090565b6002805461065590611918565b80601f016020809104026020016040519081016040528092919081815260200182805461068190611918565b80156106ce5780601f106106a3576101008083540402835291602001916106ce565b820191906000526020600020905b8154815290600101906020018083116106b157829003601f168201915b505050505081565b6106e76106e1610a3f565b83610a47565b610726576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161071d90611adf565b60405180910390fd5b61073284848484610ad6565b50505050565b606061074382610866565b610782576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161077990611b71565b60405180910390fd5b600061078c610b32565b905060008151116107ac57604051806020016040528060008152506107d7565b806107b684610b49565b6040516020016107c7929190611bcd565b6040516020818303038152906040525b915050919050565b60606107e9610b32565b905090565b6107f88282610c17565b5050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b60008073ffffffffffffffffffffffffffffffffffffffff166003600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614159050919050565b6108dc8383610c35565b6108e96000848484610e0e565b610928576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161091f90611c63565b60405180910390fd5b505050565b60006109388261044e565b905061094681600084610f90565b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546109969190611cb2565b925050819055506003600083815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905581600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4610a3b81600084610f95565b5050565b600033905090565b6000610a5282610866565b610a91576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a8890611d58565b60405180910390fd5b6000610a9c8361044e565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161491505092915050565b610ae1848484610f9a565b610aed84848484610e0e565b610b2c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b2390611c63565b60405180910390fd5b50505050565b606060405180602001604052806000815250905090565b606060006001610b58846111f5565b01905060008167ffffffffffffffff811115610b7757610b76611594565b5b6040519080825280601f01601f191660200182016040528015610ba95781602001600182028036833780820191505090505b509050600082602001820190505b600115610c0c578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a8581610c0057610bff611d78565b5b04945060008503610bb7575b819350505050919050565b610c318282604051806020016040528060008152506108d2565b5050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610ca4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9b90611df3565b60405180910390fd5b610cad81610866565b15610ced576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ce490611e5f565b60405180910390fd5b610cf960008383610f90565b6001600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610d499190611e7f565b92505081905550816003600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4610e0a60008383610f95565b5050565b6000808473ffffffffffffffffffffffffffffffffffffffff163b1115610f83578373ffffffffffffffffffffffffffffffffffffffff1663150b7a02610e53610a3f565b8786866040518563ffffffff1660e01b8152600401610e759493929190611eb3565b6020604051808303816000875af1925050508015610eb157506040513d601f19601f82011682018060405250810190610eae9190611f14565b60015b610f33573d8060008114610ee1576040519150601f19603f3d011682016040523d82523d6000602084013e610ee6565b606091505b506000815103610f2b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f2290611c63565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050610f88565b600190505b949350505050565b505050565b505050565b8273ffffffffffffffffffffffffffffffffffffffff16610fba8261044e565b73ffffffffffffffffffffffffffffffffffffffff1614611010576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161100790611fb3565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361107f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161107690612045565b60405180910390fd5b61108a838383610f90565b6001600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546110da9190611cb2565b925050819055506001600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546111319190611e7f565b92505081905550816003600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a46111f0838383610f95565b505050565b600080600090507a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310611253577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000838161124957611248611d78565b5b0492506040810190505b6d04ee2d6d415b85acef81000000008310611290576d04ee2d6d415b85acef8100000000838161128657611285611d78565b5b0492506020810190505b662386f26fc1000083106112bf57662386f26fc1000083816112b5576112b4611d78565b5b0492506010810190505b6305f5e10083106112e8576305f5e10083816112de576112dd611d78565b5b0492506008810190505b612710831061130d57612710838161130357611302611d78565b5b0492506004810190505b60648310611330576064838161132657611325611d78565b5b0492506002810190505b600a831061133f576001810190505b80915050919050565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6113918161135c565b811461139c57600080fd5b50565b6000813590506113ae81611388565b92915050565b6000602082840312156113ca576113c9611352565b5b60006113d88482850161139f565b91505092915050565b60008115159050919050565b6113f6816113e1565b82525050565b600060208201905061141160008301846113ed565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611451578082015181840152602081019050611436565b60008484015250505050565b6000601f19601f8301169050919050565b600061147982611417565b6114838185611422565b9350611493818560208601611433565b61149c8161145d565b840191505092915050565b600060208201905081810360008301526114c1818461146e565b905092915050565b6000819050919050565b6114dc816114c9565b81146114e757600080fd5b50565b6000813590506114f9816114d3565b92915050565b60006020828403121561151557611514611352565b5b6000611523848285016114ea565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006115578261152c565b9050919050565b6115678161154c565b811461157257600080fd5b50565b6000813590506115848161155e565b92915050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6115cc8261145d565b810181811067ffffffffffffffff821117156115eb576115ea611594565b5b80604052505050565b60006115fe611348565b905061160a82826115c3565b919050565b600067ffffffffffffffff82111561162a57611629611594565b5b6116338261145d565b9050602081019050919050565b82818337600083830152505050565b600061166261165d8461160f565b6115f4565b90508281526020810184848401111561167e5761167d61158f565b5b611689848285611640565b509392505050565b600082601f8301126116a6576116a561158a565b5b81356116b684826020860161164f565b91505092915050565b6000806000606084860312156116d8576116d7611352565b5b60006116e686828701611575565b93505060206116f7868287016114ea565b925050604084013567ffffffffffffffff81111561171857611717611357565b5b61172486828701611691565b9150509250925092565b6117378161154c565b82525050565b6000602082019050611752600083018461172e565b92915050565b60006020828403121561176e5761176d611352565b5b600061177c84828501611575565b91505092915050565b61178e816114c9565b82525050565b60006020820190506117a96000830184611785565b92915050565b600081519050919050565b600082825260208201905092915050565b60006117d6826117af565b6117e081856117ba565b93506117f0818560208601611433565b6117f98161145d565b840191505092915050565b6000602082019050818103600083015261181e81846117cb565b905092915050565b600080600080608085870312156118405761183f611352565b5b600061184e87828801611575565b945050602061185f87828801611575565b9350506040611870878288016114ea565b925050606085013567ffffffffffffffff81111561189157611890611357565b5b61189d87828801611691565b91505092959194509250565b600080604083850312156118c0576118bf611352565b5b60006118ce85828601611575565b92505060206118df858286016114ea565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061193057607f821691505b602082108103611943576119426118e9565b5b50919050565b7f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460008201527f656e7420746f6b656e0000000000000000000000000000000000000000000000602082015250565b60006119a5602983611422565b91506119b082611949565b604082019050919050565b600060208201905081810360008301526119d481611998565b9050919050565b7f4552433732313a2062616c616e636520717565727920666f7220746865207a6560008201527f726f206164647265737300000000000000000000000000000000000000000000602082015250565b6000611a37602a83611422565b9150611a42826119db565b604082019050919050565b60006020820190508181036000830152611a6681611a2a565b9050919050565b7f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f60008201527f776e6572206e6f7220617070726f766564000000000000000000000000000000602082015250565b6000611ac9603183611422565b9150611ad482611a6d565b604082019050919050565b60006020820190508181036000830152611af881611abc565b9050919050565b7f4552433732314d657461646174613a2055524920717565727920666f72206e6f60008201527f6e6578697374656e7420746f6b656e0000000000000000000000000000000000602082015250565b6000611b5b602f83611422565b9150611b6682611aff565b604082019050919050565b60006020820190508181036000830152611b8a81611b4e565b9050919050565b600081905092915050565b6000611ba782611417565b611bb18185611b91565b9350611bc1818560208601611433565b80840191505092915050565b6000611bd98285611b9c565b9150611be58284611b9c565b91508190509392505050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b6000611c4d603283611422565b9150611c5882611bf1565b604082019050919050565b60006020820190508181036000830152611c7c81611c40565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611cbd826114c9565b9150611cc8836114c9565b9250828203905081811115611ce057611cdf611c83565b5b92915050565b7f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b6000611d42602c83611422565b9150611d4d82611ce6565b604082019050919050565b60006020820190508181036000830152611d7181611d35565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b6000611ddd602083611422565b9150611de882611da7565b602082019050919050565b60006020820190508181036000830152611e0c81611dd0565b9050919050565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b6000611e49601c83611422565b9150611e5482611e13565b602082019050919050565b60006020820190508181036000830152611e7881611e3c565b9050919050565b6000611e8a826114c9565b9150611e95836114c9565b9250828201905080821115611ead57611eac611c83565b5b92915050565b6000608082019050611ec8600083018761172e565b611ed5602083018661172e565b611ee26040830185611785565b8181036060830152611ef481846117cb565b905095945050505050565b600081519050611f0e81611388565b92915050565b600060208284031215611f2a57611f29611352565b5b6000611f3884828501611eff565b91505092915050565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b6000611f9d602583611422565b9150611fa882611f41565b604082019050919050565b60006020820190508181036000830152611fcc81611f90565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061202f602483611422565b915061203a82611fd3565b604082019050919050565b6000602082019050818103600083015261205e81612022565b905091905056fea2646970667358221220690e709ec84fc5c145f3449da4f457153f967f60fb59d5caee4d420cdf08d03864736f6c63430008160033",
301
- "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100cf5760003560e01c806370a082311161008c578063ab67aa5811610066578063ab67aa5814610226578063c87b56dd14610242578063e213f10b14610272578063ec94e0ba14610290576100cf565b806370a08231146101ba57806395d89b41146101ea578063a47d1f5e14610208576100cf565b806301ffc9a7146100d457806306fdde0314610104578063122b780f146101225780633fba56c61461015257806342966c681461016e5780636352211e1461018a575b600080fd5b6100ee60048036038101906100e991906113b4565b6102ac565b6040516100fb91906113fc565b60405180910390f35b61010c61038e565b60405161011991906114a7565b60405180910390f35b61013c600480360381019061013791906114ff565b610420565b60405161014991906113fc565b60405180910390f35b61016c600480360381019061016791906116bf565b610432565b005b610188600480360381019061018391906114ff565b610442565b005b6101a4600480360381019061019f91906114ff565b61044e565b6040516101b1919061173d565b60405180910390f35b6101d460048036038101906101cf9190611758565b6104ff565b6040516101e19190611794565b60405180910390f35b6101f26105b6565b6040516101ff91906114a7565b60405180910390f35b610210610648565b60405161021d9190611804565b60405180910390f35b610240600480360381019061023b9190611826565b6106d6565b005b61025c600480360381019061025791906114ff565b610738565b60405161026991906114a7565b60405180910390f35b61027a6107df565b60405161028791906114a7565b60405180910390f35b6102aa60048036038101906102a591906118a9565b6107ee565b005b60007fb8950977000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061037757507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806103875750610386826107fc565b5b9050919050565b60606000805461039d90611918565b80601f01602080910402602001604051908101604052809291908181526020018280546103c990611918565b80156104165780601f106103eb57610100808354040283529160200191610416565b820191906000526020600020905b8154815290600101906020018083116103f957829003601f168201915b5050505050905090565b600061042b82610866565b9050919050565b61043d8383836108d2565b505050565b61044b8161092d565b50565b6000806003600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036104f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104ed906119bb565b60405180910390fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361056f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161056690611a4d565b60405180910390fd5b600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6060600180546105c590611918565b80601f01602080910402602001604051908101604052809291908181526020018280546105f190611918565b801561063e5780601f106106135761010080835404028352916020019161063e565b820191906000526020600020905b81548152906001019060200180831161062157829003601f168201915b5050505050905090565b6002805461065590611918565b80601f016020809104026020016040519081016040528092919081815260200182805461068190611918565b80156106ce5780601f106106a3576101008083540402835291602001916106ce565b820191906000526020600020905b8154815290600101906020018083116106b157829003601f168201915b505050505081565b6106e76106e1610a3f565b83610a47565b610726576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161071d90611adf565b60405180910390fd5b61073284848484610ad6565b50505050565b606061074382610866565b610782576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161077990611b71565b60405180910390fd5b600061078c610b32565b905060008151116107ac57604051806020016040528060008152506107d7565b806107b684610b49565b6040516020016107c7929190611bcd565b6040516020818303038152906040525b915050919050565b60606107e9610b32565b905090565b6107f88282610c17565b5050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b60008073ffffffffffffffffffffffffffffffffffffffff166003600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614159050919050565b6108dc8383610c35565b6108e96000848484610e0e565b610928576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161091f90611c63565b60405180910390fd5b505050565b60006109388261044e565b905061094681600084610f90565b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546109969190611cb2565b925050819055506003600083815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905581600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4610a3b81600084610f95565b5050565b600033905090565b6000610a5282610866565b610a91576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a8890611d58565b60405180910390fd5b6000610a9c8361044e565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161491505092915050565b610ae1848484610f9a565b610aed84848484610e0e565b610b2c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b2390611c63565b60405180910390fd5b50505050565b606060405180602001604052806000815250905090565b606060006001610b58846111f5565b01905060008167ffffffffffffffff811115610b7757610b76611594565b5b6040519080825280601f01601f191660200182016040528015610ba95781602001600182028036833780820191505090505b509050600082602001820190505b600115610c0c578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a8581610c0057610bff611d78565b5b04945060008503610bb7575b819350505050919050565b610c318282604051806020016040528060008152506108d2565b5050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610ca4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9b90611df3565b60405180910390fd5b610cad81610866565b15610ced576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ce490611e5f565b60405180910390fd5b610cf960008383610f90565b6001600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610d499190611e7f565b92505081905550816003600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4610e0a60008383610f95565b5050565b6000808473ffffffffffffffffffffffffffffffffffffffff163b1115610f83578373ffffffffffffffffffffffffffffffffffffffff1663150b7a02610e53610a3f565b8786866040518563ffffffff1660e01b8152600401610e759493929190611eb3565b6020604051808303816000875af1925050508015610eb157506040513d601f19601f82011682018060405250810190610eae9190611f14565b60015b610f33573d8060008114610ee1576040519150601f19603f3d011682016040523d82523d6000602084013e610ee6565b606091505b506000815103610f2b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f2290611c63565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050610f88565b600190505b949350505050565b505050565b505050565b8273ffffffffffffffffffffffffffffffffffffffff16610fba8261044e565b73ffffffffffffffffffffffffffffffffffffffff1614611010576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161100790611fb3565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361107f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161107690612045565b60405180910390fd5b61108a838383610f90565b6001600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546110da9190611cb2565b925050819055506001600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546111319190611e7f565b92505081905550816003600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a46111f0838383610f95565b505050565b600080600090507a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310611253577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000838161124957611248611d78565b5b0492506040810190505b6d04ee2d6d415b85acef81000000008310611290576d04ee2d6d415b85acef8100000000838161128657611285611d78565b5b0492506020810190505b662386f26fc1000083106112bf57662386f26fc1000083816112b5576112b4611d78565b5b0492506010810190505b6305f5e10083106112e8576305f5e10083816112de576112dd611d78565b5b0492506008810190505b612710831061130d57612710838161130357611302611d78565b5b0492506004810190505b60648310611330576064838161132657611325611d78565b5b0492506002810190505b600a831061133f576001810190505b80915050919050565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6113918161135c565b811461139c57600080fd5b50565b6000813590506113ae81611388565b92915050565b6000602082840312156113ca576113c9611352565b5b60006113d88482850161139f565b91505092915050565b60008115159050919050565b6113f6816113e1565b82525050565b600060208201905061141160008301846113ed565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611451578082015181840152602081019050611436565b60008484015250505050565b6000601f19601f8301169050919050565b600061147982611417565b6114838185611422565b9350611493818560208601611433565b61149c8161145d565b840191505092915050565b600060208201905081810360008301526114c1818461146e565b905092915050565b6000819050919050565b6114dc816114c9565b81146114e757600080fd5b50565b6000813590506114f9816114d3565b92915050565b60006020828403121561151557611514611352565b5b6000611523848285016114ea565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006115578261152c565b9050919050565b6115678161154c565b811461157257600080fd5b50565b6000813590506115848161155e565b92915050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6115cc8261145d565b810181811067ffffffffffffffff821117156115eb576115ea611594565b5b80604052505050565b60006115fe611348565b905061160a82826115c3565b919050565b600067ffffffffffffffff82111561162a57611629611594565b5b6116338261145d565b9050602081019050919050565b82818337600083830152505050565b600061166261165d8461160f565b6115f4565b90508281526020810184848401111561167e5761167d61158f565b5b611689848285611640565b509392505050565b600082601f8301126116a6576116a561158a565b5b81356116b684826020860161164f565b91505092915050565b6000806000606084860312156116d8576116d7611352565b5b60006116e686828701611575565b93505060206116f7868287016114ea565b925050604084013567ffffffffffffffff81111561171857611717611357565b5b61172486828701611691565b9150509250925092565b6117378161154c565b82525050565b6000602082019050611752600083018461172e565b92915050565b60006020828403121561176e5761176d611352565b5b600061177c84828501611575565b91505092915050565b61178e816114c9565b82525050565b60006020820190506117a96000830184611785565b92915050565b600081519050919050565b600082825260208201905092915050565b60006117d6826117af565b6117e081856117ba565b93506117f0818560208601611433565b6117f98161145d565b840191505092915050565b6000602082019050818103600083015261181e81846117cb565b905092915050565b600080600080608085870312156118405761183f611352565b5b600061184e87828801611575565b945050602061185f87828801611575565b9350506040611870878288016114ea565b925050606085013567ffffffffffffffff81111561189157611890611357565b5b61189d87828801611691565b91505092959194509250565b600080604083850312156118c0576118bf611352565b5b60006118ce85828601611575565b92505060206118df858286016114ea565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061193057607f821691505b602082108103611943576119426118e9565b5b50919050565b7f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460008201527f656e7420746f6b656e0000000000000000000000000000000000000000000000602082015250565b60006119a5602983611422565b91506119b082611949565b604082019050919050565b600060208201905081810360008301526119d481611998565b9050919050565b7f4552433732313a2062616c616e636520717565727920666f7220746865207a6560008201527f726f206164647265737300000000000000000000000000000000000000000000602082015250565b6000611a37602a83611422565b9150611a42826119db565b604082019050919050565b60006020820190508181036000830152611a6681611a2a565b9050919050565b7f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f60008201527f776e6572206e6f7220617070726f766564000000000000000000000000000000602082015250565b6000611ac9603183611422565b9150611ad482611a6d565b604082019050919050565b60006020820190508181036000830152611af881611abc565b9050919050565b7f4552433732314d657461646174613a2055524920717565727920666f72206e6f60008201527f6e6578697374656e7420746f6b656e0000000000000000000000000000000000602082015250565b6000611b5b602f83611422565b9150611b6682611aff565b604082019050919050565b60006020820190508181036000830152611b8a81611b4e565b9050919050565b600081905092915050565b6000611ba782611417565b611bb18185611b91565b9350611bc1818560208601611433565b80840191505092915050565b6000611bd98285611b9c565b9150611be58284611b9c565b91508190509392505050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b6000611c4d603283611422565b9150611c5882611bf1565b604082019050919050565b60006020820190508181036000830152611c7c81611c40565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611cbd826114c9565b9150611cc8836114c9565b9250828203905081811115611ce057611cdf611c83565b5b92915050565b7f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b6000611d42602c83611422565b9150611d4d82611ce6565b604082019050919050565b60006020820190508181036000830152611d7181611d35565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b6000611ddd602083611422565b9150611de882611da7565b602082019050919050565b60006020820190508181036000830152611e0c81611dd0565b9050919050565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b6000611e49601c83611422565b9150611e5482611e13565b602082019050919050565b60006020820190508181036000830152611e7881611e3c565b9050919050565b6000611e8a826114c9565b9150611e95836114c9565b9250828201905080821115611ead57611eac611c83565b5b92915050565b6000608082019050611ec8600083018761172e565b611ed5602083018661172e565b611ee26040830185611785565b8181036060830152611ef481846117cb565b905095945050505050565b600081519050611f0e81611388565b92915050565b600060208284031215611f2a57611f29611352565b5b6000611f3884828501611eff565b91505092915050565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b6000611f9d602583611422565b9150611fa882611f41565b604082019050919050565b60006020820190508181036000830152611fcc81611f90565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061202f602483611422565b915061203a82611fd3565b604082019050919050565b6000602082019050818103600083015261205e81612022565b905091905056fea2646970667358221220690e709ec84fc5c145f3449da4f457153f967f60fb59d5caee4d420cdf08d03864736f6c63430008160033",
300
+ "bytecode": "0x60806040523480156200001157600080fd5b50604051620029633803806200296383398181016040528101906200003791906200048d565b600062000049620001e460201b60201c565b905060008160000160089054906101000a900460ff1615905060008260000160009054906101000a900467ffffffffffffffff1690506000808267ffffffffffffffff16148015620000985750825b9050600060018367ffffffffffffffff16148015620000ce575060003073ffffffffffffffffffffffffffffffffffffffff163b145b905081158015620000dd575080155b1562000115576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018560000160006101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055508315620001665760018560000160086101000a81548160ff0219169083151502179055505b6200017887876200020060201b60201c565b8315620001d75760008560000160086101000a81548160ff0219169083151502179055507fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d26001604051620001ce919062000573565b60405180910390a15b50505050505050620008b8565b600080620001f76200022660201b60201c565b90508091505090565b620002106200025160201b60201c565b6200022282826200029a60201b60201c565b5050565b60007ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0060001b905090565b62000261620002d260201b60201c565b62000298576040517fd7e6bcf800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b620002aa6200025160201b60201c565b8160009081620002bb9190620007d1565b508060019081620002cd9190620007d1565b505050565b6000620002e4620001e460201b60201c565b60000160089054906101000a900460ff16905090565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b620003638262000318565b810181811067ffffffffffffffff8211171562000385576200038462000329565b5b80604052505050565b60006200039a620002fa565b9050620003a8828262000358565b919050565b600067ffffffffffffffff821115620003cb57620003ca62000329565b5b620003d68262000318565b9050602081019050919050565b60005b8381101562000403578082015181840152602081019050620003e6565b60008484015250505050565b6000620004266200042084620003ad565b6200038e565b90508281526020810184848401111562000445576200044462000313565b5b62000452848285620003e3565b509392505050565b600082601f8301126200047257620004716200030e565b5b8151620004848482602086016200040f565b91505092915050565b60008060408385031215620004a757620004a662000304565b5b600083015167ffffffffffffffff811115620004c857620004c762000309565b5b620004d6858286016200045a565b925050602083015167ffffffffffffffff811115620004fa57620004f962000309565b5b62000508858286016200045a565b9150509250929050565b6000819050919050565b600067ffffffffffffffff82169050919050565b6000819050919050565b60006200055b620005556200054f8462000512565b62000530565b6200051c565b9050919050565b6200056d816200053a565b82525050565b60006020820190506200058a600083018462000562565b92915050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620005e357607f821691505b602082108103620005f957620005f86200059b565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620006637fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000624565b6200066f868362000624565b95508019841693508086168417925050509392505050565b6000819050919050565b6000620006b2620006ac620006a68462000687565b62000530565b62000687565b9050919050565b6000819050919050565b620006ce8362000691565b620006e6620006dd82620006b9565b84845462000631565b825550505050565b600090565b620006fd620006ee565b6200070a818484620006c3565b505050565b5b81811015620007325762000726600082620006f3565b60018101905062000710565b5050565b601f82111562000781576200074b81620005ff565b620007568462000614565b8101602085101562000766578190505b6200077e620007758562000614565b8301826200070f565b50505b505050565b600082821c905092915050565b6000620007a66000198460080262000786565b1980831691505092915050565b6000620007c1838362000793565b9150826002028217905092915050565b620007dc8262000590565b67ffffffffffffffff811115620007f857620007f762000329565b5b620008048254620005ca565b6200081182828562000736565b600060209050601f83116001811462000849576000841562000834578287015190505b620008408582620007b3565b865550620008b0565b601f1984166200085986620005ff565b60005b8281101562000883578489015182556001820191506020850194506020810190506200085c565b86831015620008a357848901516200089f601f89168262000793565b8355505b6001600288020188555050505b505050505050565b61209b80620008c86000396000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c806370a082311161008c578063ab67aa5811610066578063ab67aa5814610226578063c87b56dd14610242578063e213f10b14610272578063ec94e0ba14610290576100cf565b806370a08231146101ba57806395d89b41146101ea578063a47d1f5e14610208576100cf565b806301ffc9a7146100d457806306fdde0314610104578063122b780f146101225780633fba56c61461015257806342966c681461016e5780636352211e1461018a575b600080fd5b6100ee60048036038101906100e991906113b4565b6102ac565b6040516100fb91906113fc565b60405180910390f35b61010c61038e565b60405161011991906114a7565b60405180910390f35b61013c600480360381019061013791906114ff565b610420565b60405161014991906113fc565b60405180910390f35b61016c600480360381019061016791906116bf565b610432565b005b610188600480360381019061018391906114ff565b610442565b005b6101a4600480360381019061019f91906114ff565b61044e565b6040516101b1919061173d565b60405180910390f35b6101d460048036038101906101cf9190611758565b6104ff565b6040516101e19190611794565b60405180910390f35b6101f26105b6565b6040516101ff91906114a7565b60405180910390f35b610210610648565b60405161021d9190611804565b60405180910390f35b610240600480360381019061023b9190611826565b6106d6565b005b61025c600480360381019061025791906114ff565b610738565b60405161026991906114a7565b60405180910390f35b61027a6107df565b60405161028791906114a7565b60405180910390f35b6102aa60048036038101906102a591906118a9565b6107ee565b005b60007fb8950977000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061037757507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806103875750610386826107fc565b5b9050919050565b60606000805461039d90611918565b80601f01602080910402602001604051908101604052809291908181526020018280546103c990611918565b80156104165780601f106103eb57610100808354040283529160200191610416565b820191906000526020600020905b8154815290600101906020018083116103f957829003601f168201915b5050505050905090565b600061042b82610866565b9050919050565b61043d8383836108d2565b505050565b61044b8161092d565b50565b6000806003600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036104f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104ed906119bb565b60405180910390fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361056f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161056690611a4d565b60405180910390fd5b600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6060600180546105c590611918565b80601f01602080910402602001604051908101604052809291908181526020018280546105f190611918565b801561063e5780601f106106135761010080835404028352916020019161063e565b820191906000526020600020905b81548152906001019060200180831161062157829003601f168201915b5050505050905090565b6002805461065590611918565b80601f016020809104026020016040519081016040528092919081815260200182805461068190611918565b80156106ce5780601f106106a3576101008083540402835291602001916106ce565b820191906000526020600020905b8154815290600101906020018083116106b157829003601f168201915b505050505081565b6106e76106e1610a3f565b83610a47565b610726576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161071d90611adf565b60405180910390fd5b61073284848484610ad6565b50505050565b606061074382610866565b610782576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161077990611b71565b60405180910390fd5b600061078c610b32565b905060008151116107ac57604051806020016040528060008152506107d7565b806107b684610b49565b6040516020016107c7929190611bcd565b6040516020818303038152906040525b915050919050565b60606107e9610b32565b905090565b6107f88282610c17565b5050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b60008073ffffffffffffffffffffffffffffffffffffffff166003600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614159050919050565b6108dc8383610c35565b6108e96000848484610e0e565b610928576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161091f90611c63565b60405180910390fd5b505050565b60006109388261044e565b905061094681600084610f90565b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546109969190611cb2565b925050819055506003600083815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905581600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4610a3b81600084610f95565b5050565b600033905090565b6000610a5282610866565b610a91576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a8890611d58565b60405180910390fd5b6000610a9c8361044e565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161491505092915050565b610ae1848484610f9a565b610aed84848484610e0e565b610b2c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b2390611c63565b60405180910390fd5b50505050565b606060405180602001604052806000815250905090565b606060006001610b58846111f5565b01905060008167ffffffffffffffff811115610b7757610b76611594565b5b6040519080825280601f01601f191660200182016040528015610ba95781602001600182028036833780820191505090505b509050600082602083010190505b600115610c0c578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a8581610c0057610bff611d78565b5b04945060008503610bb7575b819350505050919050565b610c318282604051806020016040528060008152506108d2565b5050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610ca4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9b90611df3565b60405180910390fd5b610cad81610866565b15610ced576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ce490611e5f565b60405180910390fd5b610cf960008383610f90565b6001600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610d499190611e7f565b92505081905550816003600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4610e0a60008383610f95565b5050565b6000808473ffffffffffffffffffffffffffffffffffffffff163b1115610f83578373ffffffffffffffffffffffffffffffffffffffff1663150b7a02610e53610a3f565b8786866040518563ffffffff1660e01b8152600401610e759493929190611eb3565b6020604051808303816000875af1925050508015610eb157506040513d601f19601f82011682018060405250810190610eae9190611f14565b60015b610f33573d8060008114610ee1576040519150601f19603f3d011682016040523d82523d6000602084013e610ee6565b606091505b506000815103610f2b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f2290611c63565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050610f88565b600190505b949350505050565b505050565b505050565b8273ffffffffffffffffffffffffffffffffffffffff16610fba8261044e565b73ffffffffffffffffffffffffffffffffffffffff1614611010576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161100790611fb3565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361107f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161107690612045565b60405180910390fd5b61108a838383610f90565b6001600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546110da9190611cb2565b925050819055506001600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546111319190611e7f565b92505081905550816003600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a46111f0838383610f95565b505050565b600080600090507a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310611253577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000838161124957611248611d78565b5b0492506040810190505b6d04ee2d6d415b85acef81000000008310611290576d04ee2d6d415b85acef8100000000838161128657611285611d78565b5b0492506020810190505b662386f26fc1000083106112bf57662386f26fc1000083816112b5576112b4611d78565b5b0492506010810190505b6305f5e10083106112e8576305f5e10083816112de576112dd611d78565b5b0492506008810190505b612710831061130d57612710838161130357611302611d78565b5b0492506004810190505b60648310611330576064838161132657611325611d78565b5b0492506002810190505b600a831061133f576001810190505b80915050919050565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6113918161135c565b811461139c57600080fd5b50565b6000813590506113ae81611388565b92915050565b6000602082840312156113ca576113c9611352565b5b60006113d88482850161139f565b91505092915050565b60008115159050919050565b6113f6816113e1565b82525050565b600060208201905061141160008301846113ed565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611451578082015181840152602081019050611436565b60008484015250505050565b6000601f19601f8301169050919050565b600061147982611417565b6114838185611422565b9350611493818560208601611433565b61149c8161145d565b840191505092915050565b600060208201905081810360008301526114c1818461146e565b905092915050565b6000819050919050565b6114dc816114c9565b81146114e757600080fd5b50565b6000813590506114f9816114d3565b92915050565b60006020828403121561151557611514611352565b5b6000611523848285016114ea565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006115578261152c565b9050919050565b6115678161154c565b811461157257600080fd5b50565b6000813590506115848161155e565b92915050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6115cc8261145d565b810181811067ffffffffffffffff821117156115eb576115ea611594565b5b80604052505050565b60006115fe611348565b905061160a82826115c3565b919050565b600067ffffffffffffffff82111561162a57611629611594565b5b6116338261145d565b9050602081019050919050565b82818337600083830152505050565b600061166261165d8461160f565b6115f4565b90508281526020810184848401111561167e5761167d61158f565b5b611689848285611640565b509392505050565b600082601f8301126116a6576116a561158a565b5b81356116b684826020860161164f565b91505092915050565b6000806000606084860312156116d8576116d7611352565b5b60006116e686828701611575565b93505060206116f7868287016114ea565b925050604084013567ffffffffffffffff81111561171857611717611357565b5b61172486828701611691565b9150509250925092565b6117378161154c565b82525050565b6000602082019050611752600083018461172e565b92915050565b60006020828403121561176e5761176d611352565b5b600061177c84828501611575565b91505092915050565b61178e816114c9565b82525050565b60006020820190506117a96000830184611785565b92915050565b600081519050919050565b600082825260208201905092915050565b60006117d6826117af565b6117e081856117ba565b93506117f0818560208601611433565b6117f98161145d565b840191505092915050565b6000602082019050818103600083015261181e81846117cb565b905092915050565b600080600080608085870312156118405761183f611352565b5b600061184e87828801611575565b945050602061185f87828801611575565b9350506040611870878288016114ea565b925050606085013567ffffffffffffffff81111561189157611890611357565b5b61189d87828801611691565b91505092959194509250565b600080604083850312156118c0576118bf611352565b5b60006118ce85828601611575565b92505060206118df858286016114ea565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061193057607f821691505b602082108103611943576119426118e9565b5b50919050565b7f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460008201527f656e7420746f6b656e0000000000000000000000000000000000000000000000602082015250565b60006119a5602983611422565b91506119b082611949565b604082019050919050565b600060208201905081810360008301526119d481611998565b9050919050565b7f4552433732313a2062616c616e636520717565727920666f7220746865207a6560008201527f726f206164647265737300000000000000000000000000000000000000000000602082015250565b6000611a37602a83611422565b9150611a42826119db565b604082019050919050565b60006020820190508181036000830152611a6681611a2a565b9050919050565b7f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f60008201527f776e6572206e6f7220617070726f766564000000000000000000000000000000602082015250565b6000611ac9603183611422565b9150611ad482611a6d565b604082019050919050565b60006020820190508181036000830152611af881611abc565b9050919050565b7f4552433732314d657461646174613a2055524920717565727920666f72206e6f60008201527f6e6578697374656e7420746f6b656e0000000000000000000000000000000000602082015250565b6000611b5b602f83611422565b9150611b6682611aff565b604082019050919050565b60006020820190508181036000830152611b8a81611b4e565b9050919050565b600081905092915050565b6000611ba782611417565b611bb18185611b91565b9350611bc1818560208601611433565b80840191505092915050565b6000611bd98285611b9c565b9150611be58284611b9c565b91508190509392505050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b6000611c4d603283611422565b9150611c5882611bf1565b604082019050919050565b60006020820190508181036000830152611c7c81611c40565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611cbd826114c9565b9150611cc8836114c9565b9250828203905081811115611ce057611cdf611c83565b5b92915050565b7f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b6000611d42602c83611422565b9150611d4d82611ce6565b604082019050919050565b60006020820190508181036000830152611d7181611d35565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b6000611ddd602083611422565b9150611de882611da7565b602082019050919050565b60006020820190508181036000830152611e0c81611dd0565b9050919050565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b6000611e49601c83611422565b9150611e5482611e13565b602082019050919050565b60006020820190508181036000830152611e7881611e3c565b9050919050565b6000611e8a826114c9565b9150611e95836114c9565b9250828201905080821115611ead57611eac611c83565b5b92915050565b6000608082019050611ec8600083018761172e565b611ed5602083018661172e565b611ee26040830185611785565b8181036060830152611ef481846117cb565b905095945050505050565b600081519050611f0e81611388565b92915050565b600060208284031215611f2a57611f29611352565b5b6000611f3884828501611eff565b91505092915050565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b6000611f9d602583611422565b9150611fa882611f41565b604082019050919050565b60006020820190508181036000830152611fcc81611f90565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061202f602483611422565b915061203a82611fd3565b604082019050919050565b6000602082019050818103600083015261205e81612022565b905091905056fea26469706673582212201e99eb5e6461356dbf5b453b91b7e45fe06eaceb53ebd9830db2f5fb3ef4de3d64736f6c63430008160033",
301
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100cf5760003560e01c806370a082311161008c578063ab67aa5811610066578063ab67aa5814610226578063c87b56dd14610242578063e213f10b14610272578063ec94e0ba14610290576100cf565b806370a08231146101ba57806395d89b41146101ea578063a47d1f5e14610208576100cf565b806301ffc9a7146100d457806306fdde0314610104578063122b780f146101225780633fba56c61461015257806342966c681461016e5780636352211e1461018a575b600080fd5b6100ee60048036038101906100e991906113b4565b6102ac565b6040516100fb91906113fc565b60405180910390f35b61010c61038e565b60405161011991906114a7565b60405180910390f35b61013c600480360381019061013791906114ff565b610420565b60405161014991906113fc565b60405180910390f35b61016c600480360381019061016791906116bf565b610432565b005b610188600480360381019061018391906114ff565b610442565b005b6101a4600480360381019061019f91906114ff565b61044e565b6040516101b1919061173d565b60405180910390f35b6101d460048036038101906101cf9190611758565b6104ff565b6040516101e19190611794565b60405180910390f35b6101f26105b6565b6040516101ff91906114a7565b60405180910390f35b610210610648565b60405161021d9190611804565b60405180910390f35b610240600480360381019061023b9190611826565b6106d6565b005b61025c600480360381019061025791906114ff565b610738565b60405161026991906114a7565b60405180910390f35b61027a6107df565b60405161028791906114a7565b60405180910390f35b6102aa60048036038101906102a591906118a9565b6107ee565b005b60007fb8950977000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061037757507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806103875750610386826107fc565b5b9050919050565b60606000805461039d90611918565b80601f01602080910402602001604051908101604052809291908181526020018280546103c990611918565b80156104165780601f106103eb57610100808354040283529160200191610416565b820191906000526020600020905b8154815290600101906020018083116103f957829003601f168201915b5050505050905090565b600061042b82610866565b9050919050565b61043d8383836108d2565b505050565b61044b8161092d565b50565b6000806003600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036104f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104ed906119bb565b60405180910390fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361056f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161056690611a4d565b60405180910390fd5b600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6060600180546105c590611918565b80601f01602080910402602001604051908101604052809291908181526020018280546105f190611918565b801561063e5780601f106106135761010080835404028352916020019161063e565b820191906000526020600020905b81548152906001019060200180831161062157829003601f168201915b5050505050905090565b6002805461065590611918565b80601f016020809104026020016040519081016040528092919081815260200182805461068190611918565b80156106ce5780601f106106a3576101008083540402835291602001916106ce565b820191906000526020600020905b8154815290600101906020018083116106b157829003601f168201915b505050505081565b6106e76106e1610a3f565b83610a47565b610726576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161071d90611adf565b60405180910390fd5b61073284848484610ad6565b50505050565b606061074382610866565b610782576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161077990611b71565b60405180910390fd5b600061078c610b32565b905060008151116107ac57604051806020016040528060008152506107d7565b806107b684610b49565b6040516020016107c7929190611bcd565b6040516020818303038152906040525b915050919050565b60606107e9610b32565b905090565b6107f88282610c17565b5050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b60008073ffffffffffffffffffffffffffffffffffffffff166003600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614159050919050565b6108dc8383610c35565b6108e96000848484610e0e565b610928576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161091f90611c63565b60405180910390fd5b505050565b60006109388261044e565b905061094681600084610f90565b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546109969190611cb2565b925050819055506003600083815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905581600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4610a3b81600084610f95565b5050565b600033905090565b6000610a5282610866565b610a91576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a8890611d58565b60405180910390fd5b6000610a9c8361044e565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161491505092915050565b610ae1848484610f9a565b610aed84848484610e0e565b610b2c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b2390611c63565b60405180910390fd5b50505050565b606060405180602001604052806000815250905090565b606060006001610b58846111f5565b01905060008167ffffffffffffffff811115610b7757610b76611594565b5b6040519080825280601f01601f191660200182016040528015610ba95781602001600182028036833780820191505090505b509050600082602083010190505b600115610c0c578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a8581610c0057610bff611d78565b5b04945060008503610bb7575b819350505050919050565b610c318282604051806020016040528060008152506108d2565b5050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610ca4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9b90611df3565b60405180910390fd5b610cad81610866565b15610ced576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ce490611e5f565b60405180910390fd5b610cf960008383610f90565b6001600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610d499190611e7f565b92505081905550816003600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4610e0a60008383610f95565b5050565b6000808473ffffffffffffffffffffffffffffffffffffffff163b1115610f83578373ffffffffffffffffffffffffffffffffffffffff1663150b7a02610e53610a3f565b8786866040518563ffffffff1660e01b8152600401610e759493929190611eb3565b6020604051808303816000875af1925050508015610eb157506040513d601f19601f82011682018060405250810190610eae9190611f14565b60015b610f33573d8060008114610ee1576040519150601f19603f3d011682016040523d82523d6000602084013e610ee6565b606091505b506000815103610f2b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f2290611c63565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050610f88565b600190505b949350505050565b505050565b505050565b8273ffffffffffffffffffffffffffffffffffffffff16610fba8261044e565b73ffffffffffffffffffffffffffffffffffffffff1614611010576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161100790611fb3565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361107f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161107690612045565b60405180910390fd5b61108a838383610f90565b6001600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546110da9190611cb2565b925050819055506001600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546111319190611e7f565b92505081905550816003600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a46111f0838383610f95565b505050565b600080600090507a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310611253577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000838161124957611248611d78565b5b0492506040810190505b6d04ee2d6d415b85acef81000000008310611290576d04ee2d6d415b85acef8100000000838161128657611285611d78565b5b0492506020810190505b662386f26fc1000083106112bf57662386f26fc1000083816112b5576112b4611d78565b5b0492506010810190505b6305f5e10083106112e8576305f5e10083816112de576112dd611d78565b5b0492506008810190505b612710831061130d57612710838161130357611302611d78565b5b0492506004810190505b60648310611330576064838161132657611325611d78565b5b0492506002810190505b600a831061133f576001810190505b80915050919050565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6113918161135c565b811461139c57600080fd5b50565b6000813590506113ae81611388565b92915050565b6000602082840312156113ca576113c9611352565b5b60006113d88482850161139f565b91505092915050565b60008115159050919050565b6113f6816113e1565b82525050565b600060208201905061141160008301846113ed565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611451578082015181840152602081019050611436565b60008484015250505050565b6000601f19601f8301169050919050565b600061147982611417565b6114838185611422565b9350611493818560208601611433565b61149c8161145d565b840191505092915050565b600060208201905081810360008301526114c1818461146e565b905092915050565b6000819050919050565b6114dc816114c9565b81146114e757600080fd5b50565b6000813590506114f9816114d3565b92915050565b60006020828403121561151557611514611352565b5b6000611523848285016114ea565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006115578261152c565b9050919050565b6115678161154c565b811461157257600080fd5b50565b6000813590506115848161155e565b92915050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6115cc8261145d565b810181811067ffffffffffffffff821117156115eb576115ea611594565b5b80604052505050565b60006115fe611348565b905061160a82826115c3565b919050565b600067ffffffffffffffff82111561162a57611629611594565b5b6116338261145d565b9050602081019050919050565b82818337600083830152505050565b600061166261165d8461160f565b6115f4565b90508281526020810184848401111561167e5761167d61158f565b5b611689848285611640565b509392505050565b600082601f8301126116a6576116a561158a565b5b81356116b684826020860161164f565b91505092915050565b6000806000606084860312156116d8576116d7611352565b5b60006116e686828701611575565b93505060206116f7868287016114ea565b925050604084013567ffffffffffffffff81111561171857611717611357565b5b61172486828701611691565b9150509250925092565b6117378161154c565b82525050565b6000602082019050611752600083018461172e565b92915050565b60006020828403121561176e5761176d611352565b5b600061177c84828501611575565b91505092915050565b61178e816114c9565b82525050565b60006020820190506117a96000830184611785565b92915050565b600081519050919050565b600082825260208201905092915050565b60006117d6826117af565b6117e081856117ba565b93506117f0818560208601611433565b6117f98161145d565b840191505092915050565b6000602082019050818103600083015261181e81846117cb565b905092915050565b600080600080608085870312156118405761183f611352565b5b600061184e87828801611575565b945050602061185f87828801611575565b9350506040611870878288016114ea565b925050606085013567ffffffffffffffff81111561189157611890611357565b5b61189d87828801611691565b91505092959194509250565b600080604083850312156118c0576118bf611352565b5b60006118ce85828601611575565b92505060206118df858286016114ea565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061193057607f821691505b602082108103611943576119426118e9565b5b50919050565b7f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460008201527f656e7420746f6b656e0000000000000000000000000000000000000000000000602082015250565b60006119a5602983611422565b91506119b082611949565b604082019050919050565b600060208201905081810360008301526119d481611998565b9050919050565b7f4552433732313a2062616c616e636520717565727920666f7220746865207a6560008201527f726f206164647265737300000000000000000000000000000000000000000000602082015250565b6000611a37602a83611422565b9150611a42826119db565b604082019050919050565b60006020820190508181036000830152611a6681611a2a565b9050919050565b7f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f60008201527f776e6572206e6f7220617070726f766564000000000000000000000000000000602082015250565b6000611ac9603183611422565b9150611ad482611a6d565b604082019050919050565b60006020820190508181036000830152611af881611abc565b9050919050565b7f4552433732314d657461646174613a2055524920717565727920666f72206e6f60008201527f6e6578697374656e7420746f6b656e0000000000000000000000000000000000602082015250565b6000611b5b602f83611422565b9150611b6682611aff565b604082019050919050565b60006020820190508181036000830152611b8a81611b4e565b9050919050565b600081905092915050565b6000611ba782611417565b611bb18185611b91565b9350611bc1818560208601611433565b80840191505092915050565b6000611bd98285611b9c565b9150611be58284611b9c565b91508190509392505050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b6000611c4d603283611422565b9150611c5882611bf1565b604082019050919050565b60006020820190508181036000830152611c7c81611c40565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611cbd826114c9565b9150611cc8836114c9565b9250828203905081811115611ce057611cdf611c83565b5b92915050565b7f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b6000611d42602c83611422565b9150611d4d82611ce6565b604082019050919050565b60006020820190508181036000830152611d7181611d35565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b6000611ddd602083611422565b9150611de882611da7565b602082019050919050565b60006020820190508181036000830152611e0c81611dd0565b9050919050565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b6000611e49601c83611422565b9150611e5482611e13565b602082019050919050565b60006020820190508181036000830152611e7881611e3c565b9050919050565b6000611e8a826114c9565b9150611e95836114c9565b9250828201905080821115611ead57611eac611c83565b5b92915050565b6000608082019050611ec8600083018761172e565b611ed5602083018661172e565b611ee26040830185611785565b8181036060830152611ef481846117cb565b905095945050505050565b600081519050611f0e81611388565b92915050565b600060208284031215611f2a57611f29611352565b5b6000611f3884828501611eff565b91505092915050565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b6000611f9d602583611422565b9150611fa882611f41565b604082019050919050565b60006020820190508181036000830152611fcc81611f90565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061202f602483611422565b915061203a82611fd3565b604082019050919050565b6000602082019050818103600083015261205e81612022565b905091905056fea26469706673582212201e99eb5e6461356dbf5b453b91b7e45fe06eaceb53ebd9830db2f5fb3ef4de3d64736f6c63430008160033",
302
302
  "linkReferences": {},
303
303
  "deployedLinkReferences": {}
304
304
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/1067a345634333e57c0800bdd087e30a.json"
3
+ "buildInfo": "../../../build-info/cde4f950b67209cffa8a0323a6ef50d8.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/1067a345634333e57c0800bdd087e30a.json"
3
+ "buildInfo": "../../../build-info/cde4f950b67209cffa8a0323a6ef50d8.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/1067a345634333e57c0800bdd087e30a.json"
3
+ "buildInfo": "../../../build-info/cde4f950b67209cffa8a0323a6ef50d8.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/1067a345634333e57c0800bdd087e30a.json"
3
+ "buildInfo": "../../../build-info/cde4f950b67209cffa8a0323a6ef50d8.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/1067a345634333e57c0800bdd087e30a.json"
3
+ "buildInfo": "../../../build-info/cde4f950b67209cffa8a0323a6ef50d8.json"
4
4
  }