@superfluid-finance/ethereum-contracts 1.7.3-dev.6bb2ebd.0 → 1.7.3-dev.f6d4226.0

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 (410) hide show
  1. package/artifacts/contracts/agreements/AgreementLibrary.sol/AgreementLibrary.json +2 -2
  2. package/artifacts/contracts/agreements/ConstantFlowAgreementV1.sol/ConstantFlowAgreementV1.json +2 -2
  3. package/artifacts/contracts/agreements/InstantDistributionAgreementV1.sol/InstantDistributionAgreementV1.json +2 -2
  4. package/artifacts/contracts/apps/CFAv1Library.sol/CFAv1Library.json +2 -2
  5. package/artifacts/contracts/apps/IDAv1Library.sol/IDAv1Library.json +2 -2
  6. package/artifacts/contracts/apps/SuperTokenV1Library.sol/SuperTokenV1Library.json +2 -2
  7. package/artifacts/contracts/apps/SuperfluidLoaderLibrary.sol/SuperfluidLoaderLibrary.json +2 -2
  8. package/artifacts/contracts/gov/SuperfluidGovernanceII.sol/SuperfluidGovernanceII.json +2 -2
  9. package/artifacts/contracts/gov/SuperfluidGovernanceII.sol/SuperfluidGovernanceIIProxy.json +2 -2
  10. package/artifacts/contracts/interfaces/superfluid/Definitions.sol/BatchOperation.json +2 -2
  11. package/artifacts/contracts/interfaces/superfluid/Definitions.sol/ContextDefinitions.json +2 -2
  12. package/artifacts/contracts/interfaces/superfluid/Definitions.sol/FlowOperatorDefinitions.json +2 -2
  13. package/artifacts/contracts/interfaces/superfluid/Definitions.sol/SuperAppDefinitions.json +2 -2
  14. package/artifacts/contracts/interfaces/superfluid/Definitions.sol/SuperfluidGovernanceConfigs.json +2 -2
  15. package/artifacts/contracts/libs/SlotsBitmapLibrary.sol/SlotsBitmapLibrary.json +2 -2
  16. package/artifacts/contracts/mocks/AgreementMock.sol/AgreementMock.json +2 -2
  17. package/artifacts/contracts/mocks/CFAAppMocks.sol/ClosingOnUpdateFlowTestApp.json +2 -2
  18. package/artifacts/contracts/mocks/CFAAppMocks.sol/ExclusiveInflowTestApp.json +2 -2
  19. package/artifacts/contracts/mocks/CFAAppMocks.sol/FlowExchangeTestApp.json +2 -2
  20. package/artifacts/contracts/mocks/CFAAppMocks.sol/NonClosableOutflowTestApp.json +2 -2
  21. package/artifacts/contracts/mocks/CFAAppMocks.sol/SelfDeletingFlowTestApp.json +2 -2
  22. package/artifacts/contracts/mocks/CFALibraryMock.sol/CFALibraryMock.json +2 -2
  23. package/artifacts/contracts/mocks/CFALibraryMock.sol/CFALibrarySuperAppMock.json +2 -2
  24. package/artifacts/contracts/mocks/CFAv1NFTMock.sol/ConstantInflowNFTMock.json +2 -2
  25. package/artifacts/contracts/mocks/CFAv1NFTMock.sol/ConstantOutflowNFTMock.json +2 -2
  26. package/artifacts/contracts/mocks/CFAv1NFTMock.sol/NoNFTSuperTokenMock.json +2 -2
  27. package/artifacts/contracts/mocks/CFAv1NFTUpgradabilityMock.sol/ConstantInflowNFTStorageLayoutMock.json +2 -2
  28. package/artifacts/contracts/mocks/CFAv1NFTUpgradabilityMock.sol/ConstantOutflowNFTStorageLayoutMock.json +2 -2
  29. package/artifacts/contracts/mocks/CFAv1NFTUpgradabilityMock.sol/FlowNFTBaseStorageLayoutMock.json +2 -2
  30. package/artifacts/contracts/mocks/CustomSuperTokenMock.sol/CustomSuperTokenProxyMock.json +2 -2
  31. package/artifacts/contracts/mocks/ERC777SenderRecipientMock.sol/ERC777RecipientDrainingGas.json +2 -2
  32. package/artifacts/contracts/mocks/ERC777SenderRecipientMock.sol/ERC777RecipientReverting.json +2 -2
  33. package/artifacts/contracts/mocks/ERC777SenderRecipientMock.sol/ERC777SenderRecipientMock.json +2 -2
  34. package/artifacts/contracts/mocks/ForwarderMock.sol/ForwarderMock.json +2 -2
  35. package/artifacts/contracts/mocks/IDASuperAppTester.sol/IDASuperAppTester.json +2 -2
  36. package/artifacts/contracts/mocks/IDAv1LibraryMock.sol/IDAv1LibraryMock.json +2 -2
  37. package/artifacts/contracts/mocks/IDAv1LibraryMock.sol/IDAv1LibrarySuperAppMock.json +2 -2
  38. package/artifacts/contracts/mocks/MockSmartWallet.sol/MockSmartWallet.json +2 -2
  39. package/artifacts/contracts/mocks/MultiFlowTesterApp.sol/MultiFlowTesterApp.json +2 -2
  40. package/artifacts/contracts/mocks/StreamRedirector.sol/StreamRedirector.json +2 -2
  41. package/artifacts/contracts/mocks/SuperAppBaseFlowTester.sol/SuperAppBaseFlowTester.json +2 -2
  42. package/artifacts/contracts/mocks/SuperAppMocks.sol/SuperAppFactoryMock.json +2 -2
  43. package/artifacts/contracts/mocks/SuperAppMocks.sol/SuperAppMock.json +2 -2
  44. package/artifacts/contracts/mocks/SuperAppMocks.sol/SuperAppMock2ndLevel.json +2 -2
  45. package/artifacts/contracts/mocks/SuperAppMocks.sol/SuperAppMockAux.json +2 -2
  46. package/artifacts/contracts/mocks/SuperAppMocks.sol/SuperAppMockNotSelfRegistering.json +2 -2
  47. package/artifacts/contracts/mocks/SuperAppMocks.sol/SuperAppMockReturningEmptyCtx.json +2 -2
  48. package/artifacts/contracts/mocks/SuperAppMocks.sol/SuperAppMockReturningInvalidCtx.json +2 -2
  49. package/artifacts/contracts/mocks/SuperAppMocks.sol/SuperAppMockUsingDeprecatedRegisterApp.json +2 -2
  50. package/artifacts/contracts/mocks/SuperAppMocks.sol/SuperAppMockWithRegistrationKey.json +2 -2
  51. package/artifacts/contracts/mocks/SuperTokenFactoryMock.sol/SuperTokenFactoryMock.json +2 -2
  52. package/artifacts/contracts/mocks/SuperTokenFactoryMock.sol/SuperTokenFactoryMock42.json +2 -2
  53. package/artifacts/contracts/mocks/SuperTokenFactoryMock.sol/SuperTokenFactoryStorageLayoutTester.json +2 -2
  54. package/artifacts/contracts/mocks/SuperTokenFactoryMock.sol/SuperTokenFactoryUpdateLogicContractsTester.json +2 -2
  55. package/artifacts/contracts/mocks/SuperTokenLibraryV1Mock.sol/SuperTokenLibraryCFAMock.json +2 -2
  56. package/artifacts/contracts/mocks/SuperTokenLibraryV1Mock.sol/SuperTokenLibraryCFASuperAppMock.json +2 -2
  57. package/artifacts/contracts/mocks/SuperTokenLibraryV1Mock.sol/SuperTokenLibraryIDAMock.json +2 -2
  58. package/artifacts/contracts/mocks/SuperTokenLibraryV1Mock.sol/SuperTokenLibraryIDASuperAppMock.json +2 -2
  59. package/artifacts/contracts/mocks/SuperTokenMock.sol/SuperTokenMock.json +2 -2
  60. package/artifacts/contracts/mocks/SuperTokenMock.sol/SuperTokenStorageLayoutTester.json +2 -2
  61. package/artifacts/contracts/mocks/SuperfluidGovernanceIIMock.sol/SuperfluidGovernanceIIUpgradabilityTester.json +2 -2
  62. package/artifacts/contracts/mocks/SuperfluidMock.sol/SuperfluidMock.json +2 -2
  63. package/artifacts/contracts/mocks/SuperfluidMock.sol/SuperfluidUpgradabilityTester.json +2 -2
  64. package/artifacts/contracts/superfluid/ConstantInflowNFT.sol/ConstantInflowNFT.json +2 -2
  65. package/artifacts/contracts/superfluid/ConstantOutflowNFT.sol/ConstantOutflowNFT.json +2 -2
  66. package/artifacts/contracts/superfluid/FullUpgradableSuperTokenProxy.sol/FullUpgradableSuperTokenProxy.json +2 -2
  67. package/artifacts/contracts/superfluid/SuperToken.sol/SuperToken.json +2 -2
  68. package/artifacts/contracts/superfluid/SuperTokenFactory.sol/SuperTokenFactory.json +2 -2
  69. package/artifacts/contracts/superfluid/Superfluid.sol/Superfluid.json +2 -2
  70. package/artifacts/contracts/tokens/PureSuperToken.sol/PureSuperToken.json +2 -2
  71. package/artifacts/contracts/tokens/SETH.sol/SETHProxy.json +2 -2
  72. package/artifacts/contracts/utils/BatchLiquidator.sol/BatchLiquidator.json +2 -2
  73. package/artifacts/contracts/utils/CFAv1Forwarder.sol/CFAv1Forwarder.json +2 -2
  74. package/artifacts/contracts/utils/IDAv1Forwarder.sol/IDAv1Forwarder.json +2 -2
  75. package/artifacts/contracts/utils/Resolver.sol/Resolver.json +2 -2
  76. package/artifacts/contracts/utils/SuperUpgrader.sol/SuperUpgrader.json +2 -2
  77. package/artifacts/contracts/utils/SuperfluidFrameworkDeployer.sol/SuperfluidFrameworkDeployer.json +2 -2
  78. package/artifacts/contracts/utils/SuperfluidFrameworkDeploymentSteps.sol/CFAv1ForwarderDeployerLibrary.json +2 -2
  79. package/artifacts/contracts/utils/SuperfluidFrameworkDeploymentSteps.sol/IDAv1ForwarderDeployerLibrary.json +2 -2
  80. package/artifacts/contracts/utils/SuperfluidFrameworkDeploymentSteps.sol/ProxyDeployerLibrary.json +2 -2
  81. package/artifacts/contracts/utils/SuperfluidFrameworkDeploymentSteps.sol/SuperTokenDeployerLibrary.json +2 -2
  82. package/artifacts/contracts/utils/SuperfluidFrameworkDeploymentSteps.sol/SuperfluidCFAv1DeployerLibrary.json +2 -2
  83. package/artifacts/contracts/utils/SuperfluidFrameworkDeploymentSteps.sol/SuperfluidFrameworkDeploymentSteps.json +2 -2
  84. package/artifacts/contracts/utils/SuperfluidFrameworkDeploymentSteps.sol/SuperfluidGovDeployerLibrary.json +2 -2
  85. package/artifacts/contracts/utils/SuperfluidFrameworkDeploymentSteps.sol/SuperfluidHostDeployerLibrary.json +2 -2
  86. package/artifacts/contracts/utils/SuperfluidFrameworkDeploymentSteps.sol/SuperfluidIDAv1DeployerLibrary.json +2 -2
  87. package/artifacts/contracts/utils/SuperfluidFrameworkDeploymentSteps.sol/SuperfluidLoaderDeployerLibrary.json +2 -2
  88. package/artifacts/contracts/utils/SuperfluidFrameworkDeploymentSteps.sol/SuperfluidNFTLogicDeployerLibrary.json +2 -2
  89. package/artifacts/contracts/utils/SuperfluidFrameworkDeploymentSteps.sol/SuperfluidPeripheryDeployerLibrary.json +2 -2
  90. package/artifacts/contracts/utils/SuperfluidFrameworkDeploymentSteps.sol/TokenDeployerLibrary.json +2 -2
  91. package/artifacts/contracts/utils/SuperfluidLoader.sol/SuperfluidLoader.json +2 -2
  92. package/artifacts/contracts/utils/TOGA.sol/TOGA.json +2 -2
  93. package/artifacts/contracts/utils/TestGovernance.sol/TestGovernance.json +2 -2
  94. package/artifacts/contracts/utils/TestResolver.sol/TestResolver.json +2 -2
  95. package/artifacts/contracts/utils/TestToken.sol/TestToken.json +2 -2
  96. package/build/contracts/AccessControl.json +1 -1
  97. package/build/contracts/AccessControlEnumerable.json +1 -1
  98. package/build/contracts/Address.json +1 -1
  99. package/build/contracts/AgreementBase.json +2 -2
  100. package/build/contracts/AgreementLibrary.json +4 -4
  101. package/build/contracts/BaseRelayRecipient.json +2 -2
  102. package/build/contracts/BatchLiquidator.json +4 -4
  103. package/build/contracts/BatchOperation.json +566 -566
  104. package/build/contracts/CFAv1Forwarder.json +5 -5
  105. package/build/contracts/CFAv1ForwarderDeployerLibrary.json +1537 -1537
  106. package/build/contracts/CFAv1Library.json +1563 -1563
  107. package/build/contracts/CallUtils.json +1 -1
  108. package/build/contracts/ClosingOnUpdateFlowTestApp.json +5 -5
  109. package/build/contracts/ConstantFlowAgreementV1.json +5 -5
  110. package/build/contracts/ConstantInflowNFT.json +4 -4
  111. package/build/contracts/ConstantOutflowNFT.json +4 -4
  112. package/build/contracts/Context.json +1 -1
  113. package/build/contracts/ContextDefinitions.json +566 -566
  114. package/build/contracts/CustomSuperTokenBase.json +16 -16
  115. package/build/contracts/ERC165.json +1 -1
  116. package/build/contracts/ERC1820Implementer.json +1 -1
  117. package/build/contracts/ERC1820RegistryCompiled.json +1 -1
  118. package/build/contracts/ERC20.json +1 -1
  119. package/build/contracts/ERC20WithTokenInfo.json +19 -19
  120. package/build/contracts/ERC777Helper.json +1 -1
  121. package/build/contracts/ERC777RecipientDrainingGas.json +4 -4
  122. package/build/contracts/ERC777RecipientReverting.json +4 -4
  123. package/build/contracts/EnumerableSet.json +1 -1
  124. package/build/contracts/EventsEmitter.json +1 -1
  125. package/build/contracts/ExclusiveInflowTestApp.json +5 -5
  126. package/build/contracts/FixedSizeData.json +1 -1
  127. package/build/contracts/FlowExchangeTestApp.json +5 -5
  128. package/build/contracts/FlowNFTBase.json +2 -2
  129. package/build/contracts/FlowOperatorDefinitions.json +566 -566
  130. package/build/contracts/ForwarderBase.json +2 -2
  131. package/build/contracts/FullUpgradableSuperTokenProxy.json +4 -4
  132. package/build/contracts/IAccessControl.json +1 -1
  133. package/build/contracts/IAccessControlEnumerable.json +1 -1
  134. package/build/contracts/IConstantFlowAgreementV1.json +649 -649
  135. package/build/contracts/IConstantInflowNFT.json +37 -37
  136. package/build/contracts/IConstantOutflowNFT.json +81 -81
  137. package/build/contracts/IDAv1Forwarder.json +5 -5
  138. package/build/contracts/IDAv1ForwarderDeployerLibrary.json +1537 -1537
  139. package/build/contracts/IDAv1Library.json +1792 -1792
  140. package/build/contracts/IERC165.json +1 -1
  141. package/build/contracts/IERC1820Implementer.json +1 -1
  142. package/build/contracts/IERC1820Registry.json +1 -1
  143. package/build/contracts/IERC20.json +1 -1
  144. package/build/contracts/IERC20Metadata.json +1 -1
  145. package/build/contracts/IERC20Permit.json +1 -1
  146. package/build/contracts/IERC721.json +1 -1
  147. package/build/contracts/IERC721Metadata.json +1 -1
  148. package/build/contracts/IERC777.json +1 -1
  149. package/build/contracts/IERC777Recipient.json +1 -1
  150. package/build/contracts/IERC777Sender.json +1 -1
  151. package/build/contracts/IFlowNFTBase.json +109 -109
  152. package/build/contracts/IInstantDistributionAgreementV1.json +597 -597
  153. package/build/contracts/IMultiSigWallet.json +31 -31
  154. package/build/contracts/IPoolAdminNFT.json +8 -8
  155. package/build/contracts/IPoolMemberNFT.json +8 -8
  156. package/build/contracts/IPureSuperToken.json +33 -33
  157. package/build/contracts/IPureSuperTokenCustom.json +33 -33
  158. package/build/contracts/IRelayRecipient.json +26 -26
  159. package/build/contracts/IResolver.json +39 -39
  160. package/build/contracts/ISETH.json +38 -38
  161. package/build/contracts/ISETHCustom.json +38 -38
  162. package/build/contracts/ISuperAgreement.json +43 -43
  163. package/build/contracts/ISuperApp.json +170 -170
  164. package/build/contracts/ISuperToken.json +654 -654
  165. package/build/contracts/ISuperTokenFactory.json +192 -192
  166. package/build/contracts/ISuperfluid.json +756 -756
  167. package/build/contracts/ISuperfluidGovernance.json +207 -207
  168. package/build/contracts/ISuperfluidToken.json +408 -408
  169. package/build/contracts/ITOGAv1.json +2 -2
  170. package/build/contracts/ITOGAv2.json +2 -2
  171. package/build/contracts/ITOGAv3.json +2 -2
  172. package/build/contracts/Initializable.json +1 -1
  173. package/build/contracts/InstantDistributionAgreementV1.json +5 -5
  174. package/build/contracts/Math.json +1 -1
  175. package/build/contracts/NonClosableOutflowTestApp.json +5 -5
  176. package/build/contracts/Ownable.json +1 -1
  177. package/build/contracts/Proxy.json +1 -1
  178. package/build/contracts/ProxyDeployerLibrary.json +1537 -1537
  179. package/build/contracts/PureSuperToken.json +4 -4
  180. package/build/contracts/Resolver.json +86 -86
  181. package/build/contracts/SETHProxy.json +4 -4
  182. package/build/contracts/SafeCast.json +1 -1
  183. package/build/contracts/SafeERC20.json +1 -1
  184. package/build/contracts/SafeGasLibrary.json +1 -1
  185. package/build/contracts/SafeMath.json +1 -1
  186. package/build/contracts/SelfDeletingFlowTestApp.json +5 -5
  187. package/build/contracts/SignedMath.json +1 -1
  188. package/build/contracts/SlotsBitmapLibrary.json +4 -4
  189. package/build/contracts/StreamRedirector.json +5 -5
  190. package/build/contracts/Strings.json +1 -1
  191. package/build/contracts/SuperAppBase.json +166 -166
  192. package/build/contracts/SuperAppBaseFlow.json +684 -684
  193. package/build/contracts/SuperAppDefinitions.json +566 -566
  194. package/build/contracts/SuperToken.json +4 -4
  195. package/build/contracts/SuperTokenDeployerLibrary.json +1537 -1537
  196. package/build/contracts/SuperTokenFactory.json +4 -4
  197. package/build/contracts/SuperTokenFactoryBase.json +2 -2
  198. package/build/contracts/SuperTokenV1Library.json +3975 -3975
  199. package/build/contracts/SuperUpgrader.json +4 -4
  200. package/build/contracts/Superfluid.json +5 -5
  201. package/build/contracts/SuperfluidCFAv1DeployerLibrary.json +1537 -1537
  202. package/build/contracts/SuperfluidFrameworkDeployer.json +888 -888
  203. package/build/contracts/SuperfluidFrameworkDeploymentSteps.json +1537 -1537
  204. package/build/contracts/SuperfluidGovDeployerLibrary.json +1537 -1537
  205. package/build/contracts/SuperfluidGovernanceBase.json +2 -2
  206. package/build/contracts/SuperfluidGovernanceConfigs.json +566 -566
  207. package/build/contracts/SuperfluidGovernanceII.json +5 -5
  208. package/build/contracts/SuperfluidGovernanceIIProxy.json +4 -4
  209. package/build/contracts/SuperfluidHostDeployerLibrary.json +1537 -1537
  210. package/build/contracts/SuperfluidIDAv1DeployerLibrary.json +1537 -1537
  211. package/build/contracts/SuperfluidLoader.json +130 -130
  212. package/build/contracts/SuperfluidLoaderDeployerLibrary.json +1537 -1537
  213. package/build/contracts/SuperfluidLoaderLibrary.json +234 -234
  214. package/build/contracts/SuperfluidNFTLogicDeployerLibrary.json +1537 -1537
  215. package/build/contracts/SuperfluidPeripheryDeployerLibrary.json +1537 -1537
  216. package/build/contracts/SuperfluidToken.json +2 -2
  217. package/build/contracts/TOGA.json +4 -4
  218. package/build/contracts/TestGovernance.json +158 -158
  219. package/build/contracts/TestResolver.json +43 -43
  220. package/build/contracts/TestToken.json +92 -92
  221. package/build/contracts/TokenDeployerLibrary.json +1537 -1537
  222. package/build/contracts/TokenInfo.json +30 -30
  223. package/build/contracts/UUPSProxiable.json +1 -1
  224. package/build/contracts/UUPSProxy.json +1 -1
  225. package/build/contracts/UUPSUtils.json +1 -1
  226. package/build/typechain/factories/contracts/agreements/ConstantFlowAgreementV1__factory.d.ts +1 -1
  227. package/build/typechain/factories/contracts/agreements/ConstantFlowAgreementV1__factory.js +1 -1
  228. package/build/typechain/factories/contracts/agreements/InstantDistributionAgreementV1__factory.d.ts +1 -1
  229. package/build/typechain/factories/contracts/agreements/InstantDistributionAgreementV1__factory.js +1 -1
  230. package/build/typechain/factories/contracts/apps/SuperfluidLoaderLibrary__factory.d.ts +1 -1
  231. package/build/typechain/factories/contracts/apps/SuperfluidLoaderLibrary__factory.js +1 -1
  232. package/build/typechain/factories/contracts/gov/SuperfluidGovernanceII.sol/SuperfluidGovernanceIIProxy__factory.d.ts +1 -1
  233. package/build/typechain/factories/contracts/gov/SuperfluidGovernanceII.sol/SuperfluidGovernanceIIProxy__factory.js +1 -1
  234. package/build/typechain/factories/contracts/gov/SuperfluidGovernanceII.sol/SuperfluidGovernanceII__factory.d.ts +1 -1
  235. package/build/typechain/factories/contracts/gov/SuperfluidGovernanceII.sol/SuperfluidGovernanceII__factory.js +1 -1
  236. package/build/typechain/factories/contracts/libs/SlotsBitmapLibrary__factory.d.ts +1 -1
  237. package/build/typechain/factories/contracts/libs/SlotsBitmapLibrary__factory.js +1 -1
  238. package/build/typechain/factories/contracts/mocks/AgreementMock__factory.d.ts +1 -1
  239. package/build/typechain/factories/contracts/mocks/AgreementMock__factory.js +1 -1
  240. package/build/typechain/factories/contracts/mocks/CFAAppMocks.sol/ClosingOnUpdateFlowTestApp__factory.d.ts +1 -1
  241. package/build/typechain/factories/contracts/mocks/CFAAppMocks.sol/ClosingOnUpdateFlowTestApp__factory.js +1 -1
  242. package/build/typechain/factories/contracts/mocks/CFAAppMocks.sol/ExclusiveInflowTestApp__factory.d.ts +1 -1
  243. package/build/typechain/factories/contracts/mocks/CFAAppMocks.sol/ExclusiveInflowTestApp__factory.js +1 -1
  244. package/build/typechain/factories/contracts/mocks/CFAAppMocks.sol/FlowExchangeTestApp__factory.d.ts +1 -1
  245. package/build/typechain/factories/contracts/mocks/CFAAppMocks.sol/FlowExchangeTestApp__factory.js +1 -1
  246. package/build/typechain/factories/contracts/mocks/CFAAppMocks.sol/NonClosableOutflowTestApp__factory.d.ts +1 -1
  247. package/build/typechain/factories/contracts/mocks/CFAAppMocks.sol/NonClosableOutflowTestApp__factory.js +1 -1
  248. package/build/typechain/factories/contracts/mocks/CFAAppMocks.sol/SelfDeletingFlowTestApp__factory.d.ts +1 -1
  249. package/build/typechain/factories/contracts/mocks/CFAAppMocks.sol/SelfDeletingFlowTestApp__factory.js +1 -1
  250. package/build/typechain/factories/contracts/mocks/CFALibraryMock.sol/CFALibraryMock__factory.d.ts +1 -1
  251. package/build/typechain/factories/contracts/mocks/CFALibraryMock.sol/CFALibraryMock__factory.js +1 -1
  252. package/build/typechain/factories/contracts/mocks/CFALibraryMock.sol/CFALibrarySuperAppMock__factory.d.ts +1 -1
  253. package/build/typechain/factories/contracts/mocks/CFALibraryMock.sol/CFALibrarySuperAppMock__factory.js +1 -1
  254. package/build/typechain/factories/contracts/mocks/CFAv1NFTMock.sol/ConstantInflowNFTMock__factory.d.ts +1 -1
  255. package/build/typechain/factories/contracts/mocks/CFAv1NFTMock.sol/ConstantInflowNFTMock__factory.js +1 -1
  256. package/build/typechain/factories/contracts/mocks/CFAv1NFTMock.sol/ConstantOutflowNFTMock__factory.d.ts +1 -1
  257. package/build/typechain/factories/contracts/mocks/CFAv1NFTMock.sol/ConstantOutflowNFTMock__factory.js +1 -1
  258. package/build/typechain/factories/contracts/mocks/CFAv1NFTMock.sol/NoNFTSuperTokenMock__factory.d.ts +1 -1
  259. package/build/typechain/factories/contracts/mocks/CFAv1NFTMock.sol/NoNFTSuperTokenMock__factory.js +1 -1
  260. package/build/typechain/factories/contracts/mocks/CFAv1NFTUpgradabilityMock.sol/ConstantInflowNFTStorageLayoutMock__factory.d.ts +1 -1
  261. package/build/typechain/factories/contracts/mocks/CFAv1NFTUpgradabilityMock.sol/ConstantInflowNFTStorageLayoutMock__factory.js +1 -1
  262. package/build/typechain/factories/contracts/mocks/CFAv1NFTUpgradabilityMock.sol/ConstantOutflowNFTStorageLayoutMock__factory.d.ts +1 -1
  263. package/build/typechain/factories/contracts/mocks/CFAv1NFTUpgradabilityMock.sol/ConstantOutflowNFTStorageLayoutMock__factory.js +1 -1
  264. package/build/typechain/factories/contracts/mocks/CFAv1NFTUpgradabilityMock.sol/FlowNFTBaseStorageLayoutMock__factory.d.ts +1 -1
  265. package/build/typechain/factories/contracts/mocks/CFAv1NFTUpgradabilityMock.sol/FlowNFTBaseStorageLayoutMock__factory.js +1 -1
  266. package/build/typechain/factories/contracts/mocks/CustomSuperTokenMock.sol/CustomSuperTokenProxyMock__factory.d.ts +1 -1
  267. package/build/typechain/factories/contracts/mocks/CustomSuperTokenMock.sol/CustomSuperTokenProxyMock__factory.js +1 -1
  268. package/build/typechain/factories/contracts/mocks/ERC777SenderRecipientMock.sol/ERC777RecipientDrainingGas__factory.d.ts +1 -1
  269. package/build/typechain/factories/contracts/mocks/ERC777SenderRecipientMock.sol/ERC777RecipientDrainingGas__factory.js +1 -1
  270. package/build/typechain/factories/contracts/mocks/ERC777SenderRecipientMock.sol/ERC777RecipientReverting__factory.d.ts +1 -1
  271. package/build/typechain/factories/contracts/mocks/ERC777SenderRecipientMock.sol/ERC777RecipientReverting__factory.js +1 -1
  272. package/build/typechain/factories/contracts/mocks/ERC777SenderRecipientMock.sol/ERC777SenderRecipientMock__factory.d.ts +1 -1
  273. package/build/typechain/factories/contracts/mocks/ERC777SenderRecipientMock.sol/ERC777SenderRecipientMock__factory.js +1 -1
  274. package/build/typechain/factories/contracts/mocks/ForwarderMock__factory.d.ts +1 -1
  275. package/build/typechain/factories/contracts/mocks/ForwarderMock__factory.js +1 -1
  276. package/build/typechain/factories/contracts/mocks/IDASuperAppTester__factory.d.ts +1 -1
  277. package/build/typechain/factories/contracts/mocks/IDASuperAppTester__factory.js +1 -1
  278. package/build/typechain/factories/contracts/mocks/IDAv1LibraryMock.sol/IDAv1LibraryMock__factory.d.ts +1 -1
  279. package/build/typechain/factories/contracts/mocks/IDAv1LibraryMock.sol/IDAv1LibraryMock__factory.js +1 -1
  280. package/build/typechain/factories/contracts/mocks/IDAv1LibraryMock.sol/IDAv1LibrarySuperAppMock__factory.d.ts +1 -1
  281. package/build/typechain/factories/contracts/mocks/IDAv1LibraryMock.sol/IDAv1LibrarySuperAppMock__factory.js +1 -1
  282. package/build/typechain/factories/contracts/mocks/MockSmartWallet__factory.d.ts +1 -1
  283. package/build/typechain/factories/contracts/mocks/MockSmartWallet__factory.js +1 -1
  284. package/build/typechain/factories/contracts/mocks/MultiFlowTesterApp__factory.d.ts +1 -1
  285. package/build/typechain/factories/contracts/mocks/MultiFlowTesterApp__factory.js +1 -1
  286. package/build/typechain/factories/contracts/mocks/StreamRedirector__factory.d.ts +1 -1
  287. package/build/typechain/factories/contracts/mocks/StreamRedirector__factory.js +1 -1
  288. package/build/typechain/factories/contracts/mocks/SuperAppBaseFlowTester__factory.d.ts +1 -1
  289. package/build/typechain/factories/contracts/mocks/SuperAppBaseFlowTester__factory.js +1 -1
  290. package/build/typechain/factories/contracts/mocks/SuperAppMocks.sol/SuperAppFactoryMock__factory.d.ts +1 -1
  291. package/build/typechain/factories/contracts/mocks/SuperAppMocks.sol/SuperAppFactoryMock__factory.js +1 -1
  292. package/build/typechain/factories/contracts/mocks/SuperAppMocks.sol/SuperAppMock2ndLevel__factory.d.ts +1 -1
  293. package/build/typechain/factories/contracts/mocks/SuperAppMocks.sol/SuperAppMock2ndLevel__factory.js +1 -1
  294. package/build/typechain/factories/contracts/mocks/SuperAppMocks.sol/SuperAppMockAux__factory.d.ts +1 -1
  295. package/build/typechain/factories/contracts/mocks/SuperAppMocks.sol/SuperAppMockAux__factory.js +1 -1
  296. package/build/typechain/factories/contracts/mocks/SuperAppMocks.sol/SuperAppMockReturningEmptyCtx__factory.d.ts +1 -1
  297. package/build/typechain/factories/contracts/mocks/SuperAppMocks.sol/SuperAppMockReturningEmptyCtx__factory.js +1 -1
  298. package/build/typechain/factories/contracts/mocks/SuperAppMocks.sol/SuperAppMockReturningInvalidCtx__factory.d.ts +1 -1
  299. package/build/typechain/factories/contracts/mocks/SuperAppMocks.sol/SuperAppMockReturningInvalidCtx__factory.js +1 -1
  300. package/build/typechain/factories/contracts/mocks/SuperAppMocks.sol/SuperAppMockUsingDeprecatedRegisterApp__factory.d.ts +1 -1
  301. package/build/typechain/factories/contracts/mocks/SuperAppMocks.sol/SuperAppMockUsingDeprecatedRegisterApp__factory.js +1 -1
  302. package/build/typechain/factories/contracts/mocks/SuperAppMocks.sol/SuperAppMockWithRegistrationKey__factory.d.ts +1 -1
  303. package/build/typechain/factories/contracts/mocks/SuperAppMocks.sol/SuperAppMockWithRegistrationKey__factory.js +1 -1
  304. package/build/typechain/factories/contracts/mocks/SuperAppMocks.sol/SuperAppMock__factory.d.ts +1 -1
  305. package/build/typechain/factories/contracts/mocks/SuperAppMocks.sol/SuperAppMock__factory.js +1 -1
  306. package/build/typechain/factories/contracts/mocks/SuperTokenFactoryMock.sol/SuperTokenFactoryMock42__factory.d.ts +1 -1
  307. package/build/typechain/factories/contracts/mocks/SuperTokenFactoryMock.sol/SuperTokenFactoryMock42__factory.js +1 -1
  308. package/build/typechain/factories/contracts/mocks/SuperTokenFactoryMock.sol/SuperTokenFactoryMock__factory.d.ts +1 -1
  309. package/build/typechain/factories/contracts/mocks/SuperTokenFactoryMock.sol/SuperTokenFactoryMock__factory.js +1 -1
  310. package/build/typechain/factories/contracts/mocks/SuperTokenFactoryMock.sol/SuperTokenFactoryStorageLayoutTester__factory.d.ts +1 -1
  311. package/build/typechain/factories/contracts/mocks/SuperTokenFactoryMock.sol/SuperTokenFactoryStorageLayoutTester__factory.js +1 -1
  312. package/build/typechain/factories/contracts/mocks/SuperTokenFactoryMock.sol/SuperTokenFactoryUpdateLogicContractsTester__factory.d.ts +1 -1
  313. package/build/typechain/factories/contracts/mocks/SuperTokenFactoryMock.sol/SuperTokenFactoryUpdateLogicContractsTester__factory.js +1 -1
  314. package/build/typechain/factories/contracts/mocks/SuperTokenLibraryV1Mock.sol/SuperTokenLibraryCFAMock__factory.d.ts +1 -1
  315. package/build/typechain/factories/contracts/mocks/SuperTokenLibraryV1Mock.sol/SuperTokenLibraryCFAMock__factory.js +1 -1
  316. package/build/typechain/factories/contracts/mocks/SuperTokenLibraryV1Mock.sol/SuperTokenLibraryCFASuperAppMock__factory.d.ts +1 -1
  317. package/build/typechain/factories/contracts/mocks/SuperTokenLibraryV1Mock.sol/SuperTokenLibraryCFASuperAppMock__factory.js +1 -1
  318. package/build/typechain/factories/contracts/mocks/SuperTokenLibraryV1Mock.sol/SuperTokenLibraryIDAMock__factory.d.ts +1 -1
  319. package/build/typechain/factories/contracts/mocks/SuperTokenLibraryV1Mock.sol/SuperTokenLibraryIDAMock__factory.js +1 -1
  320. package/build/typechain/factories/contracts/mocks/SuperTokenLibraryV1Mock.sol/SuperTokenLibraryIDASuperAppMock__factory.d.ts +1 -1
  321. package/build/typechain/factories/contracts/mocks/SuperTokenLibraryV1Mock.sol/SuperTokenLibraryIDASuperAppMock__factory.js +1 -1
  322. package/build/typechain/factories/contracts/mocks/SuperTokenMock.sol/SuperTokenMock__factory.d.ts +1 -1
  323. package/build/typechain/factories/contracts/mocks/SuperTokenMock.sol/SuperTokenMock__factory.js +1 -1
  324. package/build/typechain/factories/contracts/mocks/SuperTokenMock.sol/SuperTokenStorageLayoutTester__factory.d.ts +1 -1
  325. package/build/typechain/factories/contracts/mocks/SuperTokenMock.sol/SuperTokenStorageLayoutTester__factory.js +1 -1
  326. package/build/typechain/factories/contracts/mocks/SuperfluidGovernanceIIMock.sol/SuperfluidGovernanceIIUpgradabilityTester__factory.d.ts +1 -1
  327. package/build/typechain/factories/contracts/mocks/SuperfluidGovernanceIIMock.sol/SuperfluidGovernanceIIUpgradabilityTester__factory.js +1 -1
  328. package/build/typechain/factories/contracts/mocks/SuperfluidMock.sol/SuperfluidMock__factory.d.ts +1 -1
  329. package/build/typechain/factories/contracts/mocks/SuperfluidMock.sol/SuperfluidMock__factory.js +1 -1
  330. package/build/typechain/factories/contracts/mocks/SuperfluidMock.sol/SuperfluidUpgradabilityTester__factory.d.ts +1 -1
  331. package/build/typechain/factories/contracts/mocks/SuperfluidMock.sol/SuperfluidUpgradabilityTester__factory.js +1 -1
  332. package/build/typechain/factories/contracts/superfluid/ConstantInflowNFT__factory.d.ts +1 -1
  333. package/build/typechain/factories/contracts/superfluid/ConstantInflowNFT__factory.js +1 -1
  334. package/build/typechain/factories/contracts/superfluid/ConstantOutflowNFT__factory.d.ts +1 -1
  335. package/build/typechain/factories/contracts/superfluid/ConstantOutflowNFT__factory.js +1 -1
  336. package/build/typechain/factories/contracts/superfluid/FullUpgradableSuperTokenProxy__factory.d.ts +1 -1
  337. package/build/typechain/factories/contracts/superfluid/FullUpgradableSuperTokenProxy__factory.js +1 -1
  338. package/build/typechain/factories/contracts/superfluid/SuperTokenFactory.sol/SuperTokenFactory__factory.d.ts +1 -1
  339. package/build/typechain/factories/contracts/superfluid/SuperTokenFactory.sol/SuperTokenFactory__factory.js +1 -1
  340. package/build/typechain/factories/contracts/superfluid/SuperToken__factory.d.ts +1 -1
  341. package/build/typechain/factories/contracts/superfluid/SuperToken__factory.js +1 -1
  342. package/build/typechain/factories/contracts/superfluid/Superfluid__factory.d.ts +1 -1
  343. package/build/typechain/factories/contracts/superfluid/Superfluid__factory.js +1 -1
  344. package/build/typechain/factories/contracts/tokens/PureSuperToken__factory.d.ts +1 -1
  345. package/build/typechain/factories/contracts/tokens/PureSuperToken__factory.js +1 -1
  346. package/build/typechain/factories/contracts/tokens/SETH.sol/SETHProxy__factory.d.ts +1 -1
  347. package/build/typechain/factories/contracts/tokens/SETH.sol/SETHProxy__factory.js +1 -1
  348. package/build/typechain/factories/contracts/utils/BatchLiquidator__factory.d.ts +1 -1
  349. package/build/typechain/factories/contracts/utils/BatchLiquidator__factory.js +1 -1
  350. package/build/typechain/factories/contracts/utils/CFAv1Forwarder__factory.d.ts +1 -1
  351. package/build/typechain/factories/contracts/utils/CFAv1Forwarder__factory.js +1 -1
  352. package/build/typechain/factories/contracts/utils/IDAv1Forwarder__factory.d.ts +1 -1
  353. package/build/typechain/factories/contracts/utils/IDAv1Forwarder__factory.js +1 -1
  354. package/build/typechain/factories/contracts/utils/Resolver__factory.d.ts +1 -1
  355. package/build/typechain/factories/contracts/utils/Resolver__factory.js +1 -1
  356. package/build/typechain/factories/contracts/utils/SuperUpgrader__factory.d.ts +1 -1
  357. package/build/typechain/factories/contracts/utils/SuperUpgrader__factory.js +1 -1
  358. package/build/typechain/factories/contracts/utils/SuperfluidFrameworkDeployer__factory.d.ts +1 -1
  359. package/build/typechain/factories/contracts/utils/SuperfluidFrameworkDeployer__factory.js +1 -1
  360. package/build/typechain/factories/contracts/utils/SuperfluidFrameworkDeploymentSteps__factory.d.ts +1 -1
  361. package/build/typechain/factories/contracts/utils/SuperfluidFrameworkDeploymentSteps__factory.js +1 -1
  362. package/build/typechain/factories/contracts/utils/SuperfluidLoader__factory.d.ts +1 -1
  363. package/build/typechain/factories/contracts/utils/SuperfluidLoader__factory.js +1 -1
  364. package/build/typechain/factories/contracts/utils/TOGA.sol/TOGA__factory.d.ts +1 -1
  365. package/build/typechain/factories/contracts/utils/TOGA.sol/TOGA__factory.js +1 -1
  366. package/build/typechain/factories/contracts/utils/TestGovernance__factory.d.ts +1 -1
  367. package/build/typechain/factories/contracts/utils/TestGovernance__factory.js +1 -1
  368. package/build/typechain/factories/contracts/utils/TestResolver__factory.d.ts +1 -1
  369. package/build/typechain/factories/contracts/utils/TestResolver__factory.js +1 -1
  370. package/build/typechain/factories/contracts/utils/TestToken__factory.d.ts +1 -1
  371. package/build/typechain/factories/contracts/utils/TestToken__factory.js +1 -1
  372. package/contracts/apps/CFAv1Library.sol +1 -1
  373. package/contracts/apps/IDAv1Library.sol +1 -1
  374. package/contracts/apps/SuperAppBase.sol +1 -1
  375. package/contracts/apps/SuperAppBaseFlow.sol +1 -1
  376. package/contracts/apps/SuperTokenV1Library.sol +1 -1
  377. package/contracts/apps/SuperfluidLoaderLibrary.sol +1 -1
  378. package/contracts/interfaces/agreements/IConstantFlowAgreementV1.sol +1 -1
  379. package/contracts/interfaces/agreements/IInstantDistributionAgreementV1.sol +1 -1
  380. package/contracts/interfaces/superfluid/CustomSuperTokenBase.sol +1 -1
  381. package/contracts/interfaces/superfluid/Definitions.sol +1 -1
  382. package/contracts/interfaces/superfluid/IConstantInflowNFT.sol +1 -1
  383. package/contracts/interfaces/superfluid/IConstantOutflowNFT.sol +1 -1
  384. package/contracts/interfaces/superfluid/IFlowNFTBase.sol +1 -1
  385. package/contracts/interfaces/superfluid/IPoolAdminNFT.sol +1 -1
  386. package/contracts/interfaces/superfluid/IPoolMemberNFT.sol +1 -1
  387. package/contracts/interfaces/superfluid/ISuperAgreement.sol +1 -1
  388. package/contracts/interfaces/superfluid/ISuperApp.sol +1 -1
  389. package/contracts/interfaces/superfluid/ISuperToken.sol +1 -1
  390. package/contracts/interfaces/superfluid/ISuperTokenFactory.sol +1 -1
  391. package/contracts/interfaces/superfluid/ISuperfluid.sol +1 -1
  392. package/contracts/interfaces/superfluid/ISuperfluidGovernance.sol +1 -1
  393. package/contracts/interfaces/superfluid/ISuperfluidToken.sol +1 -1
  394. package/contracts/interfaces/tokens/ERC20WithTokenInfo.sol +1 -1
  395. package/contracts/interfaces/tokens/IPureSuperToken.sol +1 -1
  396. package/contracts/interfaces/tokens/ISETH.sol +1 -1
  397. package/contracts/interfaces/tokens/TokenInfo.sol +1 -1
  398. package/contracts/interfaces/utils/IMultiSigWallet.sol +1 -1
  399. package/contracts/interfaces/utils/IRelayRecipient.sol +1 -1
  400. package/contracts/interfaces/utils/IResolver.sol +1 -1
  401. package/contracts/utils/Resolver.sol +1 -1
  402. package/contracts/utils/SuperfluidFrameworkDeployer.sol +1 -1
  403. package/contracts/utils/SuperfluidFrameworkDeploymentSteps.sol +1 -1
  404. package/contracts/utils/SuperfluidLoader.sol +1 -1
  405. package/contracts/utils/TestGovernance.sol +1 -1
  406. package/contracts/utils/TestResolver.sol +1 -1
  407. package/contracts/utils/TestToken.sol +1 -1
  408. package/dev-scripts/artifacts/ERC1820Registry.json +5 -0
  409. package/dev-scripts/deploy-test-framework.js +1 -1
  410. package/package.json +3 -3
@@ -1344,7 +1344,7 @@ const _abi = [
1344
1344
  type: "function",
1345
1345
  },
1346
1346
  ];
1347
- const _bytecode = "0x60c060405234801561001057600080fd5b506000608081905260a0819052806152e861007b8239600081816105ff01528181611cde015281816121b101526125c501526000818161073b0152818161081801528181610aa9015281816110d10152818161120c0152818161136b01526124f301526152e86000f3fe608060405234801561001057600080fd5b506004361061030c5760003560e01c80638ceddd7a1161019d578063bd1c448b116100e9578063e8dccb7d116100a2578063f99a38c41161007c578063f99a38c414610324578063f9f522f41461079a578063fa6e0cfe146107ca578063fbdb0ee2146107dd57600080fd5b8063e8dccb7d1461075d578063f2e55caf1461077f578063f37330521461078757600080fd5b8063bd1c448b146106d5578063bd3252c8146106e8578063bf428734146106f0578063c4d66de814610703578063c56a069d14610716578063cd312ec41461073657600080fd5b8063ad3915c811610156578063ba48b5f811610130578063ba48b5f81461066d578063bb84cfa114610680578063bbe4fd50146106bc578063bced3ddc146106c257600080fd5b8063ad3915c814610634578063b6d200de14610647578063b724211e1461065a57600080fd5b80638ceddd7a1461059c5780639378fa13146105ba578063989b0c3e146105df5780639903ad38146105f25780639d297e30146105fa578063a5dbbbcd1461062157600080fd5b806352d1902d1161025c5780636ad3ca7d11610215578063731aed6e116101ef578063731aed6e1461055257806374041e0214610563578063768fabb0146105765780638ca484841461058957600080fd5b80636ad3ca7d146105195780636b4f33351461052c5780637283100c1461053f57600080fd5b806352d1902d1461048a57806354fbc493146104ba57806357121e0c146104cd578063572b6c05146104e057806359a29141146104f3578063670e77e31461050657600080fd5b806339255d5b116102c95780634329d293116102a35780634329d293146104305780634695195414610451578063486ff0cd1461046457806350d75d251461048257600080fd5b806339255d5b146103c25780633ca3ad4e146103d55780633f6c923a1461041057600080fd5b806306cecba81461031157806315a024e1146103265780631e6d0a84146103395780631e855cf314610362578063289b3c0d1461037557806333d608f1146103a0575b600080fd5b61032461031f3660046141b7565b6107e5565b005b6103246103343660046141b7565b6109bc565b61034c610347366004614231565b610c0c565b6040516103599190614317565b60405180910390f35b61034c6103703660046143ed565b610e58565b6000546201000090046001600160a01b03165b6040516001600160a01b039091168152602001610359565b6103aa622dc6c081565b6040516001600160401b039091168152602001610359565b61034c6103d036600461443c565b610e6e565b6104006103e33660046141b7565b6001600160a01b0316600090815260046020526040902054151590565b6040519015158152602001610359565b61042361041e3660046144b1565b610e84565b60405161035991906144e5565b61044361043e3660046145c6565b610e95565b604051610359929190614672565b61032461045f3660046141b7565b61109e565b604080518082019091526002815261763160f01b602082015261034c565b61038861119a565b7fcd355cae2c435f8c5e0c626c4691d22fd85aa7422a424c6f0bced6e64c7aba745b604051908152602001610359565b6103246104c83660046141b7565b6111c9565b6103246104db3660046141b7565b61144c565b6104006104ee3660046141b7565b61151a565b61034c610501366004614697565b6115a4565b6103246105143660046146e2565b611686565b6103246105273660046146e2565b61169c565b61040061053a3660046141b7565b6116a7565b61032461054d3660046141b7565b6116cb565b6003546001600160a01b0316610388565b61034c610571366004614231565b611773565b61034c610584366004614756565b6118c2565b6104006105973660046141b7565b611a5e565b6105a561010081565b60405163ffffffff9091168152602001610359565b6105cd6105c83660046141b7565b611b23565b60405160ff9091168152602001610359565b61034c6105ed366004614697565b611b44565b610324611bd7565b6104007f000000000000000000000000000000000000000000000000000000000000000081565b6104ac61062f3660046147d1565b611c92565b6103246106423660046147f3565b611cdc565b6103886106553660046147f3565b611d27565b61034c61066836600461480c565b611d8e565b61034c61067b366004614868565b611e4f565b61040061068e3660046148ea565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b426104ac565b6104ac6106d03660046147d1565b612166565b6103246106e3366004614923565b6121af565b6104ac600181565b6104006106fe36600461496e565b6122c7565b6103246107113660046141b7565b612308565b6107296107243660046147f3565b6123ec565b60405161035991906149af565b6104007f000000000000000000000000000000000000000000000000000000000000000081565b61040061076b3660046147f3565b600090815260026020526040902054151590565b6103886124d6565b6103246107953660046149fc565b61259e565b6107ad6107a83660046141b7565b6126a6565b604080519315158452911515602084015290820152606001610359565b6103246107d83660046148ea565b6126f5565b610324612858565b6000546201000090046001600160a01b03163314610816576040516362e9152760e11b815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000015610855576040516314f72c9f60e01b815260040160405180910390fd5b6000816001600160a01b0316637730599e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610895573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108b99190614a28565b6000818152600260205260408120549192508190036108eb57604051630e4f4df560e11b815260040160405180910390fd5b600060016108f98184614a57565b8154811061090957610909614a6a565b6000918252602090912001546040516311a5465560e21b81526001600160a01b03868116600483015290911691508190634695195490602401600060405180830381600087803b15801561095c57600080fd5b505af1158015610970573d6000803e3d6000fd5b5050604080518681526001600160a01b03881660208201527f9279aa773f2b588996032d8de89911555039f28b13a11a7c17074330bc082d9a935001905060405180910390a150505050565b6000546201000090046001600160a01b031633146109ed576040516362e9152760e11b815260040160405180910390fd5b6000816001600160a01b0316637730599e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a2d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a519190614a28565b60008181526002602052604090205490915015610a8157604051631b93bb7560e31b815260040160405180910390fd5b60015461010011610aa557604051630f85034f60e31b815260040160405180910390fd5b60007f0000000000000000000000000000000000000000000000000000000000000000610b5f576000604051610ada9061413a565b604051809103906000f080158015610af6573d6000803e3d6000fd5b50604051634a0687ef60e01b81526001600160a01b03868116600483015291925090821690634a0687ef90602401600060405180830381600087803b158015610b3e57600080fd5b505af1158015610b52573d6000803e3d6000fd5b5050505080915050610b62565b50815b6001805480820182557fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60180546001600160a01b0384166001600160a01b0319909116179055546000838152600260205260409081902091909155517f878135063a6cfb3bc333e534b1fdc83f4f12221cad6705c31c0567048a8bd3d190610bff90849086909182526001600160a01b0316602082015260400190565b60405180910390a1505050565b6060610c1733611a5e565b610c345760405163619c535960e01b815260040160405180910390fd5b82828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610c7692508391506129d19050565b610c8257610c82614a80565b600080610cfc8a6000898c8c8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8f018190048102820181019092528d815292508d91508c90819084018382808284376000920191909152506129f192505050565b915091508115610e1157610d0f81612b43565b15610da95780806020019051810190610d289190614adb565b9350610d33846129d1565b610da45786610d5d5760405163a85ba64f60e01b8152601460048201526024015b60405180910390fd5b85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929650610da492508c915060149050612b97565b610e4b565b86610dca5760405163a85ba64f60e01b815260166004820152602401610d54565b85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929650610da492508c915060169050612b97565b85858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509296505050505b5050509695505050505050565b6060610e65338484612c18565b90505b92915050565b6060610e7c33858585612e53565b949350505050565b610e8c614147565b610e6882612f62565b60608083838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610eda92508391506129d19050565b610efa5760405163a85ba64f60e01b815260146004820152602401610d54565b89610f0481611a5e565b610f215760405163619c535960e01b815260040160405180910390fd5b6000610f6287878080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610e8492505050565b6101208101519091506001600160a01b03163314610f935760405163066875e160e11b815260040160405180910390fd5b60608101805133909152604080516020601f8c018190048102820181019092528a8152908b908b908190840183828082843760009201919091525050505060a0830152610fdf8261302d565b955060006110258e8e8e8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508c9250613161915050565b96509050801561108457858060200190518101906110439190614adb565b965061104e876129d1565b61105a5761105a614a80565b61106387610e84565b6001600160a01b0383166060820152925061107d8361302d565b965061108d565b61108d8661321a565b505050505097509795505050505050565b6000546201000090046001600160a01b031633146110cf576040516362e9152760e11b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000001561110e576040516314f72c9f60e01b815260040160405180910390fd5b806001600160a01b031663cd312ec46040518163ffffffff1660e01b8152600401602060405180830381865afa15801561114c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111709190614b0f565b1561118e5760405163474e764160e01b815260040160405180910390fd5b61119781613325565b50565b60006111c47f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b6000546201000090046001600160a01b031633146111fa576040516362e9152760e11b815260040160405180910390fd5b6003546001600160a01b0316611369577f00000000000000000000000000000000000000000000000000000000000000006112e057600060405161123d9061413a565b604051809103906000f080158015611259573d6000803e3d6000fd5b50604051634a0687ef60e01b81526001600160a01b03848116600483015291925090821690634a0687ef90602401600060405180830381600087803b1580156112a157600080fd5b505af11580156112b5573d6000803e3d6000fd5b5050600380546001600160a01b0319166001600160a01b039490941693909317909255506112fc9050565b600380546001600160a01b0319166001600160a01b0383161790555b600360009054906101000a90046001600160a01b03166001600160a01b0316638129fc1c6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561134c57600080fd5b505af1158015611360573d6000803e3d6000fd5b50505050611408565b7f0000000000000000000000000000000000000000000000000000000000000000156113a8576040516314f72c9f60e01b815260040160405180910390fd5b6003546040516311a5465560e21b81526001600160a01b03838116600483015290911690634695195490602401600060405180830381600087803b1580156113ef57600080fd5b505af1158015611403573d6000803e3d6000fd5b505050505b6003546040516001600160a01b0390911681527fce13a9895a1719ad4493b2ac1a9bfb36070566161abab408e7ecbe586da8d499906020015b60405180910390a150565b33600081815260046020526040902054611479576040516302eb3f7160e61b815260040160405180910390fd5b6001600160a01b0382166000908152600460205260409020546114af57604051634b5518af60e11b815260040160405180910390fd5b6114b882611b23565b60ff166114c482611b23565b60ff16116114e557604051630447252760e41b815260040160405180910390fd5b6001600160a01b039081166000908152600560209081526040808320949093168252929092529020805460ff19166001179055565b600080546201000090046001600160a01b03166380f70cba308361153d8661355f565b6040518463ffffffff1660e01b815260040161155b93929190614b2c565b602060405180830381865afa158015611578573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061159c9190614a28565b151592915050565b60606115af33611a5e565b6115cc5760405163619c535960e01b815260040160405180910390fd5b83838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061160e92508391506129d19050565b61161a5761161a614a80565b600061165b86868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610e8492505050565b90508381610100018181516116709190614b50565b90525061167c8161302d565b9695505050505050565b6116986116916135e7565b838361364f565b5050565b61169833838361364f565b6001600160a01b038116600090815260046020526040812054618000161515610e68565b6000546201000090046001600160a01b031633146116fc576040516362e9152760e11b815260040160405180910390fd5b600054604080516001600160a01b03620100009093048316815291831660208301527f13abda02e63c790d0e2818b251282cfe5cbe0a8abd69c54bf5d2260c0907bd2e910160405180910390a1600080546001600160a01b03909216620100000262010000600160b01b0319909216919091179055565b606061177e33611a5e565b61179b5760405163619c535960e01b815260040160405180910390fd5b82828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506117dd92508391506129d19050565b6117e9576117e9614a80565b6000806118638a6001898c8c8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8f018190048102820181019092528d815292508d91508c90819084018382808284376000920191909152506129f192505050565b915091508115610e4b5761187681612b43565b15611896578080602001905181019061188f9190614adb565b9350610e4b565b866118b75760405163a85ba64f60e01b815260166004820152602401610d54565b610e4b8a6016612b97565b60606118cd33611a5e565b6118ea5760405163619c535960e01b815260040160405180910390fd5b86868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061192c92508391506129d19050565b61193857611938614a80565b600061197989898080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610e8492505050565b90506119a081606001516001600160a01b0316600090815260046020526040902054151590565b80156119b457506001816000015160ff1610155b15611a075760608101516001600160a01b039081166000908152600560209081526040808320938b168352929052205460ff16611a075760405163a85ba64f60e01b8152601e6004820152602401610d54565b805181611a1382614b78565b60ff169052506003602082015260c0810186905261010081018590526001600160a01b038088166101208301528416610140820152611a518161302d565b9998505050505050505050565b600080826001600160a01b0316637730599e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a9f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ac39190614a28565b6000818152600260205260409020549091508015801590610e7c57506001600160a01b0384166001611af58184614a57565b81548110611b0557611b05614a6a565b6000918252602090912001546001600160a01b031614949350505050565b6001600160a01b03811660009081526004602052604081205460ff16610e68565b6060611b4f33611a5e565b611b6c5760405163619c535960e01b815260040160405180910390fd5b6000611bad85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610e8492505050565b9050828161010001818151611bc29190614b50565b905250611bce8161302d565b95945050505050565b600054610100900460ff1615808015611bf75750600054600160ff909116105b80611c115750303b158015611c11575060005460ff166001145b611c2d5760405162461bcd60e51b8152600401610d5490614b97565b6000805460ff191660011790558015611c50576000805461ff0019166101001790555b8015611197576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602001611441565b600081815260026020526040812054808203611cc157604051630e4f4df560e11b815260040160405180910390fd5b611ccc600182614a57565b6001901b19841691505092915050565b7f000000000000000000000000000000000000000000000000000000000000000015611d1b576040516305b93ebf60e41b815260040160405180910390fd5b61119781336001613d9f565b600081815260026020526040812054808203611d5657604051630e4f4df560e11b815260040160405180910390fd5b6001611d628183614a57565b81548110611d7257611d72614a6a565b6000918252602090912001546001600160a01b03169392505050565b6060611d9933611a5e565b611db65760405163619c535960e01b815260040160405180910390fd5b84848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611df892508391506129d19050565b611e0457611e04614a80565b611e0e8484612b97565b85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929998505050505050505050565b606082828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611e9392508391506129d19050565b611eb35760405163a85ba64f60e01b815260146004820152602401610d54565b6001600160a01b0387166000908152600460205260408120548891819003611eee5760405163163cbe4360e01b815260040160405180910390fd5b618000811615611f1057604051628e12d960e21b815260040160405180910390fd5b87878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052509250611f519150839050613ebe565b90506001600160e01b031981166330d9c91560e01b1480611f8257506001600160e01b0319811663d86ed3e560e01b145b80611f9d57506001600160e01b03198116630221347d60e61b145b80611fb857506001600160e01b0319811663230dbd2960e01b145b80611fd357506001600160e01b03198116635f9e7d7760e01b145b80611fee57506001600160e01b031981166353c11f9960e01b145b1561200c576040516377a14afb60e11b815260040160405180910390fd5b600061204d89898080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610e8492505050565b6101208101519091506001600160a01b0316331461207e576040516311cfdef560e21b815260040160405180910390fd5b606081018051339091526120918261302d565b97506000806120d88f8f8f8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508f9250613161915050565b91509150811561214b57808060200190518101906120f69190614adb565b99506121018a6129d1565b6121215760405163a85ba64f60e01b815260146004820152602401610d54565b61212a8a610e84565b6001600160a01b038416606082015293506121448461302d565b9950612154565b6121548161321a565b50505050505050505095945050505050565b60008181526002602052604081205480820361219557604051630e4f4df560e11b815260040160405180910390fd5b6121a0600182614a57565b6001901b841791505092915050565b7f0000000000000000000000000000000000000000000000000000000000000000156122b65760006122173284848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250613f1a92505050565b6000805460405163407b865d60e11b81529293504292620100009091046001600160a01b0316916380f70cba916122549130918790600401614b2c565b602060405180830381865afa158015612271573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122959190614a28565b10156122b4576040516319ab84d160e01b815260040160405180910390fd5b505b6122c283336001613d9f565b505050565b6000610e6583838080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506129d192505050565b600054610100900460ff16158080156123285750600054600160ff909116105b806123425750303b158015612342575060005460ff166001145b61235e5760405162461bcd60e51b8152600401610d5490614b97565b6000805460ff191660011790558015612381576000805461ff0019166101001790555b6000805462010000600160b01b031916620100006001600160a01b038516021790558015611698576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b60606000806001805490506001600160401b0381111561240e5761240e61432a565b604051908082528060200260200182016040528015612437578160200160208202803683370190505b50925060009050600091505b6001548210156124ce576001821b8416156124be576001828154811061246b5761246b614a6a565b6000918252602090912001546001600160a01b0316838261248b81614be5565b93508151811061249d5761249d614a6a565b60200260200101906001600160a01b031690816001600160a01b0316815250505b6124c782614be5565b9150612443565b825250919050565b6003546000906001600160a01b03166124f1576124f1614a80565b7f00000000000000000000000000000000000000000000000000000000000000001561252757506003546001600160a01b031690565b600360009054906101000a90046001600160a01b03166001600160a01b03166350d75d256040518163ffffffff1660e01b8152600401602060405180830381865afa15801561257a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111c49190614bfe565b333b60008190036125c25760405163353dacc360e21b815260040160405180910390fd5b507f00000000000000000000000000000000000000000000000000000000000000001561269a5760006125f433613f4d565b6000805460405163407b865d60e11b81529293509091620100009091046001600160a01b0316906380f70cba9061263390309085908790600401614b2c565b602060405180830381865afa158015612650573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126749190614a28565b6001149050806126975760405163289533c560e01b815260040160405180910390fd5b50505b61169881836000613d9f565b6001600160a01b0381166000908152600460209081526040808320815192830190915254808252158015929182916126ed57805161800081161515935064ff000000001691505b509193909250565b6000546201000090046001600160a01b03163314612726576040516362e9152760e11b815260040160405180910390fd5b60006001600160a01b0382166127b257600360009054906101000a90046001600160a01b03166001600160a01b0316639470a5b26040518163ffffffff1660e01b8152600401602060405180830381865afa158015612789573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127ad9190614bfe565b6127b4565b815b6040516311a5465560e21b81526001600160a01b03808316600483015291925090841690634695195490602401600060405180830381600087803b1580156127fb57600080fd5b505af115801561280f573d6000803e3d6000fd5b50506040516001600160a01b038481168252861692507f840acbd291b38534819f47f875839277e502f40e1c7bfea2c5fc2c8017442cd3915060200160405180910390a2505050565b612860614147565b602a905261286c614147565b602a60208201525061287c614147565b602a60408201525061288c614147565b602a60608201525061289c614147565b63deadbeef60e01b6080820152506128b2614147565b60408051602a808252606082019092529060208201818036833750505060a0820181905260008190036129275760405162461bcd60e51b815260206004820152601760248201527f7573657244617461206f6666736574206973207a65726f0000000000000000006044820152606401610d54565b8051602a81146129795760405162461bcd60e51b815260206004820152601960248201527f7573657244617461206368616e676564206c6f636174696f6e000000000000006044820152606401610d54565b505050612984614147565b602a60c082015250612994614147565b602a60e0820152506129a4614147565b602a610100820152506129b5614147565b602a610120820152506129c6614147565b602a61014082015250565b60008151600014158015610e685750600654825160208401201492915050565b600060606001600160a01b038716612a0b57612a0b614a80565b612a158484613fc7565b9350622dc6c060005a90508715612a8b57886001600160a01b03168287604051612a3f9190614c1b565b6000604051808303818686fa925050503d8060008114612a7b576040519150601f19603f3d011682016040523d82523d6000602084013e612a80565b606091505b509094509250612aee565b886001600160a01b03168287604051612aa49190614c1b565b60006040518083038160008787f1925050503d8060008114612ae2576040519150601f19603f3d011682016040523d82523d6000602084013e612ae7565b606091505b5090945092505b83612b3757612afc8161407e565b612b1e5786612b1357612b0e8361321a565b612b37565b612b0e89600a612b97565b604051636a7aea4b60e11b815260040160405180910390fd5b50509550959350505050565b6000604082511015612b5757506000919050565b602082810151906000908214612b71575060009392505050565b506040830151612b8081614094565b612b8b906040614c37565b84511492505050919050565b6001600160a01b038216600090815260046020526040812054618000169003611698576001600160a01b038216600081815260046020526040908190208054618000179055517fbe3aa33bd245135e4e26b223d79d14ea479a47bff09f2b03c53838af1edbb14b90612c0c9084815260200190565b60405180910390a25050565b60065460609015612c3f5760405163a85ba64f60e01b815260156004820152602401610d54565b6001600160a01b0383166000908152600460205260408120548491819003612c7a5760405163163cbe4360e01b815260040160405180910390fd5b618000811615612c9c57604051628e12d960e21b815260040160405180910390fd5b836000612ca882613ebe565b90506001600160e01b031981166330d9c91560e01b1480612cd957506001600160e01b0319811663d86ed3e560e01b145b80612cf457506001600160e01b03198116630221347d60e61b145b80612d0f57506001600160e01b0319811663230dbd2960e01b145b80612d2a57506001600160e01b03198116635f9e7d7760e01b145b80612d4557506001600160e01b031981166353c11f9960e01b145b15612d63576040516377a14afb60e11b815260040160405180910390fd5b60408051610160810182526000808252600260208084019190915242838501526001600160a01b03808d16606085015260808401839052845191820190945281815260a083015260c0820181905260e0820181905261010082018190529189166101208201526101408101829052612dda9061302d565b90506000612de9898984613161565b975090508015612e375786806020019051810190612e079190614adb565b9150612e12826129d1565b612e325760405163a85ba64f60e01b815260146004820152602401610d54565b612e40565b612e408761321a565b5050600060065550929695505050505050565b60065460609015612e7a5760405163a85ba64f60e01b815260156004820152602401610d54565b83612e8481611a5e565b612ea15760405163619c535960e01b815260040160405180910390fd5b6000612eac85613ebe565b6040805161016081018252600080825260016020830152929350612f2f9181014281526020018a6001600160a01b03168152602001846001600160e01b031916815260200187815260200160008152602001600081526020016000815260200160006001600160a01b0316815260200160006001600160a01b031681525061302d565b90506000612f3e888884613161565b9550905080612f5057612f508561321a565b50506000600655509095945050505050565b612f6a614147565b60608083806020019051810190612f819190614c4a565b81519193509150600090612f9e9084016020908101908501614ca3565b60a08901526001600160e01b03191660808801526001600160a01b031660608701526040860152602081811c600f168187015260ff9091168552825160009250612fef919084018101908401614d27565b6001600160a01b03908116610140890152166101208701526101008601526001600160801b03811660c086015260801c60e085015250919392505050565b60606001826000015160ff16111561305b5760405163a85ba64f60e01b815260286004820152602401610d54565b815160208084015160009260ff1664ff000000009190921b16179050600060806130888560e001516140cd565b6001600160801b0316901b6130a08560c001516140cd565b6001600160801b0316179050818460400151856060015186608001518760a001516040516020016130d5959493929190614d72565b60408051601f1981840301815282825261010087015161012088015161014089015160208601879052938501919091526001600160a01b03908116606085015290911660808301529060a00160408051601f198184030181529082905261313f9291602001614672565b60408051601f1981840301815291905280516020820120600655949350505050565b600060606001600160a01b03851661317b5761317b614a80565b6131858484613fc7565b9350846001600160a01b03168460405161319f9190614c1b565b6000604051808303816000865af19150503d80600081146131dc576040519150601f19603f3d011682016040523d82523d6000602084013e6131e1565b606091505b50909250905081156132125780516000036132125760405163a85ba64f60e01b815260166004820152602401610d54565b935093915050565b60048151101561326c5760405162461bcd60e51b815260206004820152601a60248201527f43616c6c5574696c733a207461726765742072657665727428290000000000006044820152606401610d54565b602081015163b1b7848f60e01b6001600160e01b031982160161331c5760408051808201825260208082527f43616c6c5574696c733a207461726765742070616e69636b65643a2030785f5f90820190815260248501517f43616c6c5574696c733a207461726765742070616e69636b65643a2030780000600482811c600f908116603090810160081b918516011791909117909252925162461bcd60e51b8152919291610d5491849101614317565b81518060208401fd5b600061334f7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b0316036133a55760405162461bcd60e51b815260206004820152601d60248201527f5555505350726f786961626c653a206e6f742075706772616461626c650000006044820152606401610d54565b806001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156133e3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134079190614a28565b7fcd355cae2c435f8c5e0c626c4691d22fd85aa7422a424c6f0bced6e64c7aba74146134815760405162461bcd60e51b815260206004820152602360248201527f5555505350726f786961626c653a206e6f7420636f6d70617469626c65206c6f60448201526267696360e81b6064820152608401610d54565b6001600160a01b03811630036134d95760405162461bcd60e51b815260206004820152601960248201527f5555505350726f786961626c653a2070726f7879206c6f6f70000000000000006044820152606401610d54565b613501817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fe011bc04c286c344a8fcbb8de77f953da762c3e25d8cdea984147fc4168a5dcc7fcd355cae2c435f8c5e0c626c4691d22fd85aa7422a424c6f0bced6e64c7aba74604080519182526001600160a01b038416602083015201611441565b6040805160208101829052603260608201527f6f72672e7375706572666c7569642d66696e616e63652e7375706572666c756960808201527132173a393ab9ba32b22337b93bb0b93232b960711b60a08201526001600160a01b0383169181019190915260009060c0015b604051602081830303815290604052805190602001209050919050565b6000601836108015906135fe57506135fe3361151a565b6136425760405162461bcd60e51b81526020600482015260156024820152742737ba103a393ab9ba32b2103337b93bb0b93232b960591b6044820152606401610d54565b5060131936013560601c90565b60005b81811015613d9957600083838381811061366e5761366e614a6a565b90506020028101906136809190614dbe565b61368e906020810190614dd4565b905060001963ffffffff821601613782576000808585858181106136b4576136b4614a6a565b90506020028101906136c69190614dbe565b6136d4906040810190614dfa565b8101906136e191906149fc565b915091508585858181106136f7576136f7614a6a565b90506020028101906137099190614dbe565b61371a9060408101906020016141b7565b6001600160a01b03166362aa52878884846040518463ffffffff1660e01b815260040161374993929190614b2c565b600060405180830381600087803b15801561376357600080fd5b505af1158015613777573d6000803e3d6000fd5b505050505050613d88565b60011963ffffffff82160161388d5760008060008686868181106137a8576137a8614a6a565b90506020028101906137ba9190614dbe565b6137c8906040810190614dfa565b8101906137d59190614e40565b9250925092508686868181106137ed576137ed614a6a565b90506020028101906137ff9190614dbe565b6138109060408101906020016141b7565b604051630b682aeb60e11b81526001600160a01b038a81166004830152858116602483015284811660448301526064820184905291909116906316d055d6906084015b600060405180830381600087803b15801561386d57600080fd5b505af1158015613881573d6000803e3d6000fd5b50505050505050613d88565b60021963ffffffff82160161394c5760008060008686868181106138b3576138b3614a6a565b90506020028101906138c59190614dbe565b6138d3906040810190614dfa565b8101906138e09190614e81565b9250925092508686868181106138f8576138f8614a6a565b905060200281019061390a9190614dbe565b61391b9060408101906020016141b7565b6001600160a01b031663ca0c1e7f898585856040518563ffffffff1660e01b81526004016138539493929190614ecf565b60031963ffffffff821601613a055760008085858581811061397057613970614a6a565b90506020028101906139829190614dbe565b613990906040810190614dfa565b81019061399d91906149fc565b915091508585858181106139b3576139b3614a6a565b90506020028101906139c59190614dbe565b6139d69060408101906020016141b7565b6001600160a01b0316634b2763b38884846040518463ffffffff1660e01b815260040161374993929190614b2c565b60041963ffffffff821601613abe57600080858585818110613a2957613a29614a6a565b9050602002810190613a3b9190614dbe565b613a49906040810190614dfa565b810190613a5691906149fc565b91509150858585818110613a6c57613a6c614a6a565b9050602002810190613a7e9190614dbe565b613a8f9060408101906020016141b7565b6001600160a01b031663c780fd828884846040518463ffffffff1660e01b815260040161374993929190614b2c565b60641963ffffffff821601613bb357838383818110613adf57613adf614a6a565b9050602002810190613af19190614dbe565b613b029060408101906020016141b7565b6001600160a01b031663ca78946486868686818110613b2357613b23614a6a565b9050602002810190613b359190614dbe565b613b43906040810190614dfa565b810190613b5091906147f3565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b158015613b9657600080fd5b505af1158015613baa573d6000803e3d6000fd5b50505050613d88565b60651963ffffffff821601613c1857838383818110613bd457613bd4614a6a565b9050602002810190613be69190614dbe565b613bf79060408101906020016141b7565b6001600160a01b031663245887fc86868686818110613b2357613b23614a6a565b60c81963ffffffff821601613cb557600080858585818110613c3c57613c3c614a6a565b9050602002810190613c4e9190614dbe565b613c5c906040810190614dfa565b810190613c699190614f02565b91509150613cad87878787818110613c8357613c83614a6a565b9050602002810190613c959190614dbe565b613ca69060408101906020016141b7565b8484612e53565b505050613d88565b60c91963ffffffff821601613d6f57613d6985858585818110613cda57613cda614a6a565b9050602002810190613cec9190614dbe565b613cfd9060408101906020016141b7565b868686818110613d0f57613d0f614a6a565b9050602002810190613d219190614dbe565b613d2f906040810190614dfa565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612c1892505050565b50613d88565b60405163b477011560e01b815260040160405180910390fd5b50613d9281614be5565b9050613652565b50505050565b323303613dc25760405163a85ba64f60e01b815260026004820152602401610d54565b8015613dee57813b8015613dec5760405163a85ba64f60e01b815260016004820152602401610d54565b505b64ff000080ff198316151580613e05575060ff8316155b80613e135750618000831615155b15613e3157604051633d3200a960e21b815260040160405180910390fd5b6001600160a01b03821660009081526004602052604090205415613e68576040516301b0a93560e01b815260040160405180910390fd5b60408051602080820183528582526001600160a01b038516600081815260049092528382209251909255915190917f0d540ad8f39e07d19909687352b9fa017405d93c91a6760981fbae9cf28bfef791a2505050565b6000600482511015613f125760405162461bcd60e51b815260206004820152601b60248201527f43616c6c5574696c733a20696e76616c69642063616c6c4461746100000000006044820152606401610d54565b506020015190565b60008282604051602001613f2f929190614f5b565b60405160208183030381529060405280519060200120905092915050565b6040805160208101829052603960608201527f6f72672e7375706572666c7569642d66696e616e63652e7375706572666c756960808201527f642e61707057686974654c697374696e672e666163746f72790000000000000060a08201526001600160a01b0383169181019190915260009060c0016135ca565b815180830151606091908015613ff0576040516367e9985b60e01b815260040160405180910390fd5b50601f198101845282518490848161400781614094565b6140119190614a57565b6001600160401b038111156140285761402861432a565b6040519080825280601f01601f191660200182016040528015614052576020820181803683370190505b506040516020016140669493929190614fe0565b60405160208183030381529060405291505092915050565b600061408b603f8361502f565b5a111592915050565b60008082601f16116140a75760006140aa565b60015b60ff166140b860208461502f565b6140c29190614c37565b610e68906020615051565b60006001600160801b038211156141365760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20316044820152663238206269747360c81b6064820152608401610d54565b5090565b61024a8061506983390190565b604080516101608101825260008082526020820181905291810182905260608082018390526080820183905260a082015260c0810182905260e081018290526101008101829052610120810182905261014081019190915290565b6001600160a01b038116811461119757600080fd5b6000602082840312156141c957600080fd5b81356141d4816141a2565b9392505050565b60008083601f8401126141ed57600080fd5b5081356001600160401b0381111561420457600080fd5b60208301915083602082850101111561421c57600080fd5b9250929050565b801515811461119757600080fd5b6000806000806000806080878903121561424a57600080fd5b8635614255816141a2565b955060208701356001600160401b038082111561427157600080fd5b61427d8a838b016141db565b90975095506040890135915061429282614223565b909350606088013590808211156142a857600080fd5b506142b589828a016141db565b979a9699509497509295939492505050565b60005b838110156142e25781810151838201526020016142ca565b50506000910152565b600081518084526143038160208601602086016142c7565b601f01601f19169290920160200192915050565b602081526000610e6560208301846142eb565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b03811182821017156143685761436861432a565b604052919050565b60006001600160401b038211156143895761438961432a565b50601f01601f191660200190565b600082601f8301126143a857600080fd5b81356143bb6143b682614370565b614340565b8181528460208386010111156143d057600080fd5b816020850160208301376000918101602001919091529392505050565b6000806040838503121561440057600080fd5b823561440b816141a2565b915060208301356001600160401b0381111561442657600080fd5b61443285828601614397565b9150509250929050565b60008060006060848603121561445157600080fd5b833561445c816141a2565b925060208401356001600160401b038082111561447857600080fd5b61448487838801614397565b9350604086013591508082111561449a57600080fd5b506144a786828701614397565b9150509250925092565b6000602082840312156144c357600080fd5b81356001600160401b038111156144d957600080fd5b610e7c84828501614397565b602081526144f960208201835160ff169052565b6000602083015161450f604084018260ff169052565b5060408301516060830152606083015161453460808401826001600160a01b03169052565b5060808301516001600160e01b0319811660a08401525060a08301516101608060c08501526145676101808501836142eb565b915060c085015160e085015260e08501516101008181870152808701519150506101208181870152808701519150506101406145ad818701836001600160a01b03169052565b909501516001600160a01b031693019290925250919050565b60008060008060008060006080888a0312156145e157600080fd5b87356145ec816141a2565b965060208801356001600160401b038082111561460857600080fd5b6146148b838c016141db565b909850965060408a013591508082111561462d57600080fd5b6146398b838c016141db565b909650945060608a013591508082111561465257600080fd5b5061465f8a828b016141db565b989b979a50959850939692959293505050565b60408152600061468560408301856142eb565b8281036020840152611bce81856142eb565b6000806000604084860312156146ac57600080fd5b83356001600160401b038111156146c257600080fd5b6146ce868287016141db565b909790965060209590950135949350505050565b600080602083850312156146f557600080fd5b82356001600160401b038082111561470c57600080fd5b818501915085601f83011261472057600080fd5b81358181111561472f57600080fd5b8660208260051b850101111561474457600080fd5b60209290920196919550909350505050565b60008060008060008060a0878903121561476f57600080fd5b86356001600160401b0381111561478557600080fd5b61479189828a016141db565b90975095505060208701356147a5816141a2565b9350604087013592506060870135915060808701356147c3816141a2565b809150509295509295509295565b600080604083850312156147e457600080fd5b50508035926020909101359150565b60006020828403121561480557600080fd5b5035919050565b6000806000806060858703121561482257600080fd5b84356001600160401b0381111561483857600080fd5b614844878288016141db565b9095509350506020850135614858816141a2565b9396929550929360400135925050565b60008060008060006060868803121561488057600080fd5b853561488b816141a2565b945060208601356001600160401b03808211156148a757600080fd5b6148b389838a016141db565b909650945060408801359150808211156148cc57600080fd5b506148d9888289016141db565b969995985093965092949392505050565b600080604083850312156148fd57600080fd5b8235614908816141a2565b91506020830135614918816141a2565b809150509250929050565b60008060006040848603121561493857600080fd5b8335925060208401356001600160401b0381111561495557600080fd5b614961868287016141db565b9497909650939450505050565b6000806020838503121561498157600080fd5b82356001600160401b0381111561499757600080fd5b6149a3858286016141db565b90969095509350505050565b6020808252825182820181905260009190848201906040850190845b818110156149f05783516001600160a01b0316835292840192918401916001016149cb565b50909695505050505050565b60008060408385031215614a0f57600080fd5b8235614a1a816141a2565b946020939093013593505050565b600060208284031215614a3a57600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b81810381811115610e6857610e68614a41565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052600160045260246000fd5b600082601f830112614aa757600080fd5b8151614ab56143b682614370565b818152846020838601011115614aca57600080fd5b610e7c8260208301602087016142c7565b600060208284031215614aed57600080fd5b81516001600160401b03811115614b0357600080fd5b610e7c84828501614a96565b600060208284031215614b2157600080fd5b81516141d481614223565b6001600160a01b039384168152919092166020820152604081019190915260600190565b8082018281126000831280158216821582161715614b7057614b70614a41565b505092915050565b600060ff821660ff8103614b8e57614b8e614a41565b60010192915050565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b600060018201614bf757614bf7614a41565b5060010190565b600060208284031215614c1057600080fd5b81516141d4816141a2565b60008251614c2d8184602087016142c7565b9190910192915050565b80820180821115610e6857610e68614a41565b60008060408385031215614c5d57600080fd5b82516001600160401b0380821115614c7457600080fd5b614c8086838701614a96565b93506020850151915080821115614c9657600080fd5b5061443285828601614a96565b600080600080600060a08688031215614cbb57600080fd5b85519450602086015193506040860151614cd4816141a2565b60608701519093506001600160e01b031981168114614cf257600080fd5b60808701519092506001600160401b03811115614d0e57600080fd5b614d1a88828901614a96565b9150509295509295909350565b60008060008060808587031215614d3d57600080fd5b84519350602085015192506040850151614d56816141a2565b6060860151909250614d67816141a2565b939692955090935050565b858152602081018590526001600160a01b03841660408201526001600160e01b03198316606082015260a060808201819052600090614db3908301846142eb565b979650505050505050565b60008235605e19833603018112614c2d57600080fd5b600060208284031215614de657600080fd5b813563ffffffff811681146141d457600080fd5b6000808335601e19843603018112614e1157600080fd5b8301803591506001600160401b03821115614e2b57600080fd5b60200191503681900382131561421c57600080fd5b600080600060608486031215614e5557600080fd5b8335614e60816141a2565b92506020840135614e70816141a2565b929592945050506040919091013590565b600080600060608486031215614e9657600080fd5b8335614ea1816141a2565b92506020840135915060408401356001600160401b03811115614ec357600080fd5b6144a786828701614397565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061167c908301846142eb565b60008060408385031215614f1557600080fd5b82356001600160401b0380821115614f2c57600080fd5b614f3886838701614397565b93506020850135915080821115614f4e57600080fd5b5061443285828601614397565b60608152604160608201527f6f72672e7375706572666c7569642d66696e616e63652e7375706572666c756960808201527f642e61707057686974654c697374696e672e726567697374726174696f6e4b6560a0820152607960f81b60c082015260018060a01b038316602082015260e060408201526000610e7c60e08301846142eb565b600085516020614ff38285838b016142c7565b8184019150868252855161500c81838501848a016142c7565b8551920191615020818385018489016142c7565b91909101019695505050505050565b60008261504c57634e487b7160e01b600052601260045260246000fd5b500490565b8082028115828204841417610e6857610e68614a4156fe608060405234801561001057600080fd5b5061022a806100206000396000f3fe6080604052600436106100225760003560e01c80634a0687ef1461003957610031565b366100315761002f610059565b005b61002f610059565b34801561004557600080fd5b5061002f6100543660046101c4565b61006b565b610069610064610171565b6101a0565b565b6001600160a01b0381166100c65760405162461bcd60e51b815260206004820152601760248201527f5555505350726f78793a207a65726f206164647265737300000000000000000060448201526064015b60405180910390fd5b60006100f07f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b0316146101465760405162461bcd60e51b815260206004820152601e60248201527f5555505350726f78793a20616c726561647920696e697469616c697a6564000060448201526064016100bd565b61016e817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b50565b600061019b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b3660008037600080366000845af43d6000803e8080156101bf573d6000f35b3d6000fd5b6000602082840312156101d657600080fd5b81356001600160a01b03811681146101ed57600080fd5b939250505056fea264697066735822122093a2bbcf49dd2895177212eeb11e9921080374fd8cd93d5be93a80935603195a64736f6c63430008130033a26469706673582212205bf3d1aa07bd0a4805a488b3115ac8ed9c52e8e3fda49bc0fbfb57072dcad9bf64736f6c63430008130033";
1347
+ const _bytecode = "0x60c060405234801561001057600080fd5b506000608081905260a0819052806152e861007b8239600081816105ff01528181611cde015281816121b101526125c501526000818161073b0152818161081801528181610aa9015281816110d10152818161120c0152818161136b01526124f301526152e86000f3fe608060405234801561001057600080fd5b506004361061030c5760003560e01c80638ceddd7a1161019d578063bd1c448b116100e9578063e8dccb7d116100a2578063f99a38c41161007c578063f99a38c414610324578063f9f522f41461079a578063fa6e0cfe146107ca578063fbdb0ee2146107dd57600080fd5b8063e8dccb7d1461075d578063f2e55caf1461077f578063f37330521461078757600080fd5b8063bd1c448b146106d5578063bd3252c8146106e8578063bf428734146106f0578063c4d66de814610703578063c56a069d14610716578063cd312ec41461073657600080fd5b8063ad3915c811610156578063ba48b5f811610130578063ba48b5f81461066d578063bb84cfa114610680578063bbe4fd50146106bc578063bced3ddc146106c257600080fd5b8063ad3915c814610634578063b6d200de14610647578063b724211e1461065a57600080fd5b80638ceddd7a1461059c5780639378fa13146105ba578063989b0c3e146105df5780639903ad38146105f25780639d297e30146105fa578063a5dbbbcd1461062157600080fd5b806352d1902d1161025c5780636ad3ca7d11610215578063731aed6e116101ef578063731aed6e1461055257806374041e0214610563578063768fabb0146105765780638ca484841461058957600080fd5b80636ad3ca7d146105195780636b4f33351461052c5780637283100c1461053f57600080fd5b806352d1902d1461048a57806354fbc493146104ba57806357121e0c146104cd578063572b6c05146104e057806359a29141146104f3578063670e77e31461050657600080fd5b806339255d5b116102c95780634329d293116102a35780634329d293146104305780634695195414610451578063486ff0cd1461046457806350d75d251461048257600080fd5b806339255d5b146103c25780633ca3ad4e146103d55780633f6c923a1461041057600080fd5b806306cecba81461031157806315a024e1146103265780631e6d0a84146103395780631e855cf314610362578063289b3c0d1461037557806333d608f1146103a0575b600080fd5b61032461031f3660046141b7565b6107e5565b005b6103246103343660046141b7565b6109bc565b61034c610347366004614231565b610c0c565b6040516103599190614317565b60405180910390f35b61034c6103703660046143ed565b610e58565b6000546201000090046001600160a01b03165b6040516001600160a01b039091168152602001610359565b6103aa622dc6c081565b6040516001600160401b039091168152602001610359565b61034c6103d036600461443c565b610e6e565b6104006103e33660046141b7565b6001600160a01b0316600090815260046020526040902054151590565b6040519015158152602001610359565b61042361041e3660046144b1565b610e84565b60405161035991906144e5565b61044361043e3660046145c6565b610e95565b604051610359929190614672565b61032461045f3660046141b7565b61109e565b604080518082019091526002815261763160f01b602082015261034c565b61038861119a565b7fcd355cae2c435f8c5e0c626c4691d22fd85aa7422a424c6f0bced6e64c7aba745b604051908152602001610359565b6103246104c83660046141b7565b6111c9565b6103246104db3660046141b7565b61144c565b6104006104ee3660046141b7565b61151a565b61034c610501366004614697565b6115a4565b6103246105143660046146e2565b611686565b6103246105273660046146e2565b61169c565b61040061053a3660046141b7565b6116a7565b61032461054d3660046141b7565b6116cb565b6003546001600160a01b0316610388565b61034c610571366004614231565b611773565b61034c610584366004614756565b6118c2565b6104006105973660046141b7565b611a5e565b6105a561010081565b60405163ffffffff9091168152602001610359565b6105cd6105c83660046141b7565b611b23565b60405160ff9091168152602001610359565b61034c6105ed366004614697565b611b44565b610324611bd7565b6104007f000000000000000000000000000000000000000000000000000000000000000081565b6104ac61062f3660046147d1565b611c92565b6103246106423660046147f3565b611cdc565b6103886106553660046147f3565b611d27565b61034c61066836600461480c565b611d8e565b61034c61067b366004614868565b611e4f565b61040061068e3660046148ea565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b426104ac565b6104ac6106d03660046147d1565b612166565b6103246106e3366004614923565b6121af565b6104ac600181565b6104006106fe36600461496e565b6122c7565b6103246107113660046141b7565b612308565b6107296107243660046147f3565b6123ec565b60405161035991906149af565b6104007f000000000000000000000000000000000000000000000000000000000000000081565b61040061076b3660046147f3565b600090815260026020526040902054151590565b6103886124d6565b6103246107953660046149fc565b61259e565b6107ad6107a83660046141b7565b6126a6565b604080519315158452911515602084015290820152606001610359565b6103246107d83660046148ea565b6126f5565b610324612858565b6000546201000090046001600160a01b03163314610816576040516362e9152760e11b815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000015610855576040516314f72c9f60e01b815260040160405180910390fd5b6000816001600160a01b0316637730599e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610895573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108b99190614a28565b6000818152600260205260408120549192508190036108eb57604051630e4f4df560e11b815260040160405180910390fd5b600060016108f98184614a57565b8154811061090957610909614a6a565b6000918252602090912001546040516311a5465560e21b81526001600160a01b03868116600483015290911691508190634695195490602401600060405180830381600087803b15801561095c57600080fd5b505af1158015610970573d6000803e3d6000fd5b5050604080518681526001600160a01b03881660208201527f9279aa773f2b588996032d8de89911555039f28b13a11a7c17074330bc082d9a935001905060405180910390a150505050565b6000546201000090046001600160a01b031633146109ed576040516362e9152760e11b815260040160405180910390fd5b6000816001600160a01b0316637730599e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a2d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a519190614a28565b60008181526002602052604090205490915015610a8157604051631b93bb7560e31b815260040160405180910390fd5b60015461010011610aa557604051630f85034f60e31b815260040160405180910390fd5b60007f0000000000000000000000000000000000000000000000000000000000000000610b5f576000604051610ada9061413a565b604051809103906000f080158015610af6573d6000803e3d6000fd5b50604051634a0687ef60e01b81526001600160a01b03868116600483015291925090821690634a0687ef90602401600060405180830381600087803b158015610b3e57600080fd5b505af1158015610b52573d6000803e3d6000fd5b5050505080915050610b62565b50815b6001805480820182557fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60180546001600160a01b0384166001600160a01b0319909116179055546000838152600260205260409081902091909155517f878135063a6cfb3bc333e534b1fdc83f4f12221cad6705c31c0567048a8bd3d190610bff90849086909182526001600160a01b0316602082015260400190565b60405180910390a1505050565b6060610c1733611a5e565b610c345760405163619c535960e01b815260040160405180910390fd5b82828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610c7692508391506129d19050565b610c8257610c82614a80565b600080610cfc8a6000898c8c8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8f018190048102820181019092528d815292508d91508c90819084018382808284376000920191909152506129f192505050565b915091508115610e1157610d0f81612b43565b15610da95780806020019051810190610d289190614adb565b9350610d33846129d1565b610da45786610d5d5760405163a85ba64f60e01b8152601460048201526024015b60405180910390fd5b85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929650610da492508c915060149050612b97565b610e4b565b86610dca5760405163a85ba64f60e01b815260166004820152602401610d54565b85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929650610da492508c915060169050612b97565b85858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509296505050505b5050509695505050505050565b6060610e65338484612c18565b90505b92915050565b6060610e7c33858585612e53565b949350505050565b610e8c614147565b610e6882612f62565b60608083838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610eda92508391506129d19050565b610efa5760405163a85ba64f60e01b815260146004820152602401610d54565b89610f0481611a5e565b610f215760405163619c535960e01b815260040160405180910390fd5b6000610f6287878080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610e8492505050565b6101208101519091506001600160a01b03163314610f935760405163066875e160e11b815260040160405180910390fd5b60608101805133909152604080516020601f8c018190048102820181019092528a8152908b908b908190840183828082843760009201919091525050505060a0830152610fdf8261302d565b955060006110258e8e8e8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508c9250613161915050565b96509050801561108457858060200190518101906110439190614adb565b965061104e876129d1565b61105a5761105a614a80565b61106387610e84565b6001600160a01b0383166060820152925061107d8361302d565b965061108d565b61108d8661321a565b505050505097509795505050505050565b6000546201000090046001600160a01b031633146110cf576040516362e9152760e11b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000001561110e576040516314f72c9f60e01b815260040160405180910390fd5b806001600160a01b031663cd312ec46040518163ffffffff1660e01b8152600401602060405180830381865afa15801561114c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111709190614b0f565b1561118e5760405163474e764160e01b815260040160405180910390fd5b61119781613325565b50565b60006111c47f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b6000546201000090046001600160a01b031633146111fa576040516362e9152760e11b815260040160405180910390fd5b6003546001600160a01b0316611369577f00000000000000000000000000000000000000000000000000000000000000006112e057600060405161123d9061413a565b604051809103906000f080158015611259573d6000803e3d6000fd5b50604051634a0687ef60e01b81526001600160a01b03848116600483015291925090821690634a0687ef90602401600060405180830381600087803b1580156112a157600080fd5b505af11580156112b5573d6000803e3d6000fd5b5050600380546001600160a01b0319166001600160a01b039490941693909317909255506112fc9050565b600380546001600160a01b0319166001600160a01b0383161790555b600360009054906101000a90046001600160a01b03166001600160a01b0316638129fc1c6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561134c57600080fd5b505af1158015611360573d6000803e3d6000fd5b50505050611408565b7f0000000000000000000000000000000000000000000000000000000000000000156113a8576040516314f72c9f60e01b815260040160405180910390fd5b6003546040516311a5465560e21b81526001600160a01b03838116600483015290911690634695195490602401600060405180830381600087803b1580156113ef57600080fd5b505af1158015611403573d6000803e3d6000fd5b505050505b6003546040516001600160a01b0390911681527fce13a9895a1719ad4493b2ac1a9bfb36070566161abab408e7ecbe586da8d499906020015b60405180910390a150565b33600081815260046020526040902054611479576040516302eb3f7160e61b815260040160405180910390fd5b6001600160a01b0382166000908152600460205260409020546114af57604051634b5518af60e11b815260040160405180910390fd5b6114b882611b23565b60ff166114c482611b23565b60ff16116114e557604051630447252760e41b815260040160405180910390fd5b6001600160a01b039081166000908152600560209081526040808320949093168252929092529020805460ff19166001179055565b600080546201000090046001600160a01b03166380f70cba308361153d8661355f565b6040518463ffffffff1660e01b815260040161155b93929190614b2c565b602060405180830381865afa158015611578573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061159c9190614a28565b151592915050565b60606115af33611a5e565b6115cc5760405163619c535960e01b815260040160405180910390fd5b83838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061160e92508391506129d19050565b61161a5761161a614a80565b600061165b86868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610e8492505050565b90508381610100018181516116709190614b50565b90525061167c8161302d565b9695505050505050565b6116986116916135e7565b838361364f565b5050565b61169833838361364f565b6001600160a01b038116600090815260046020526040812054618000161515610e68565b6000546201000090046001600160a01b031633146116fc576040516362e9152760e11b815260040160405180910390fd5b600054604080516001600160a01b03620100009093048316815291831660208301527f13abda02e63c790d0e2818b251282cfe5cbe0a8abd69c54bf5d2260c0907bd2e910160405180910390a1600080546001600160a01b03909216620100000262010000600160b01b0319909216919091179055565b606061177e33611a5e565b61179b5760405163619c535960e01b815260040160405180910390fd5b82828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506117dd92508391506129d19050565b6117e9576117e9614a80565b6000806118638a6001898c8c8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8f018190048102820181019092528d815292508d91508c90819084018382808284376000920191909152506129f192505050565b915091508115610e4b5761187681612b43565b15611896578080602001905181019061188f9190614adb565b9350610e4b565b866118b75760405163a85ba64f60e01b815260166004820152602401610d54565b610e4b8a6016612b97565b60606118cd33611a5e565b6118ea5760405163619c535960e01b815260040160405180910390fd5b86868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061192c92508391506129d19050565b61193857611938614a80565b600061197989898080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610e8492505050565b90506119a081606001516001600160a01b0316600090815260046020526040902054151590565b80156119b457506001816000015160ff1610155b15611a075760608101516001600160a01b039081166000908152600560209081526040808320938b168352929052205460ff16611a075760405163a85ba64f60e01b8152601e6004820152602401610d54565b805181611a1382614b78565b60ff169052506003602082015260c0810186905261010081018590526001600160a01b038088166101208301528416610140820152611a518161302d565b9998505050505050505050565b600080826001600160a01b0316637730599e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a9f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ac39190614a28565b6000818152600260205260409020549091508015801590610e7c57506001600160a01b0384166001611af58184614a57565b81548110611b0557611b05614a6a565b6000918252602090912001546001600160a01b031614949350505050565b6001600160a01b03811660009081526004602052604081205460ff16610e68565b6060611b4f33611a5e565b611b6c5760405163619c535960e01b815260040160405180910390fd5b6000611bad85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610e8492505050565b9050828161010001818151611bc29190614b50565b905250611bce8161302d565b95945050505050565b600054610100900460ff1615808015611bf75750600054600160ff909116105b80611c115750303b158015611c11575060005460ff166001145b611c2d5760405162461bcd60e51b8152600401610d5490614b97565b6000805460ff191660011790558015611c50576000805461ff0019166101001790555b8015611197576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602001611441565b600081815260026020526040812054808203611cc157604051630e4f4df560e11b815260040160405180910390fd5b611ccc600182614a57565b6001901b19841691505092915050565b7f000000000000000000000000000000000000000000000000000000000000000015611d1b576040516305b93ebf60e41b815260040160405180910390fd5b61119781336001613d9f565b600081815260026020526040812054808203611d5657604051630e4f4df560e11b815260040160405180910390fd5b6001611d628183614a57565b81548110611d7257611d72614a6a565b6000918252602090912001546001600160a01b03169392505050565b6060611d9933611a5e565b611db65760405163619c535960e01b815260040160405180910390fd5b84848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611df892508391506129d19050565b611e0457611e04614a80565b611e0e8484612b97565b85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929998505050505050505050565b606082828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611e9392508391506129d19050565b611eb35760405163a85ba64f60e01b815260146004820152602401610d54565b6001600160a01b0387166000908152600460205260408120548891819003611eee5760405163163cbe4360e01b815260040160405180910390fd5b618000811615611f1057604051628e12d960e21b815260040160405180910390fd5b87878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052509250611f519150839050613ebe565b90506001600160e01b031981166330d9c91560e01b1480611f8257506001600160e01b0319811663d86ed3e560e01b145b80611f9d57506001600160e01b03198116630221347d60e61b145b80611fb857506001600160e01b0319811663230dbd2960e01b145b80611fd357506001600160e01b03198116635f9e7d7760e01b145b80611fee57506001600160e01b031981166353c11f9960e01b145b1561200c576040516377a14afb60e11b815260040160405180910390fd5b600061204d89898080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610e8492505050565b6101208101519091506001600160a01b0316331461207e576040516311cfdef560e21b815260040160405180910390fd5b606081018051339091526120918261302d565b97506000806120d88f8f8f8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508f9250613161915050565b91509150811561214b57808060200190518101906120f69190614adb565b99506121018a6129d1565b6121215760405163a85ba64f60e01b815260146004820152602401610d54565b61212a8a610e84565b6001600160a01b038416606082015293506121448461302d565b9950612154565b6121548161321a565b50505050505050505095945050505050565b60008181526002602052604081205480820361219557604051630e4f4df560e11b815260040160405180910390fd5b6121a0600182614a57565b6001901b841791505092915050565b7f0000000000000000000000000000000000000000000000000000000000000000156122b65760006122173284848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250613f1a92505050565b6000805460405163407b865d60e11b81529293504292620100009091046001600160a01b0316916380f70cba916122549130918790600401614b2c565b602060405180830381865afa158015612271573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122959190614a28565b10156122b4576040516319ab84d160e01b815260040160405180910390fd5b505b6122c283336001613d9f565b505050565b6000610e6583838080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506129d192505050565b600054610100900460ff16158080156123285750600054600160ff909116105b806123425750303b158015612342575060005460ff166001145b61235e5760405162461bcd60e51b8152600401610d5490614b97565b6000805460ff191660011790558015612381576000805461ff0019166101001790555b6000805462010000600160b01b031916620100006001600160a01b038516021790558015611698576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b60606000806001805490506001600160401b0381111561240e5761240e61432a565b604051908082528060200260200182016040528015612437578160200160208202803683370190505b50925060009050600091505b6001548210156124ce576001821b8416156124be576001828154811061246b5761246b614a6a565b6000918252602090912001546001600160a01b0316838261248b81614be5565b93508151811061249d5761249d614a6a565b60200260200101906001600160a01b031690816001600160a01b0316815250505b6124c782614be5565b9150612443565b825250919050565b6003546000906001600160a01b03166124f1576124f1614a80565b7f00000000000000000000000000000000000000000000000000000000000000001561252757506003546001600160a01b031690565b600360009054906101000a90046001600160a01b03166001600160a01b03166350d75d256040518163ffffffff1660e01b8152600401602060405180830381865afa15801561257a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111c49190614bfe565b333b60008190036125c25760405163353dacc360e21b815260040160405180910390fd5b507f00000000000000000000000000000000000000000000000000000000000000001561269a5760006125f433613f4d565b6000805460405163407b865d60e11b81529293509091620100009091046001600160a01b0316906380f70cba9061263390309085908790600401614b2c565b602060405180830381865afa158015612650573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126749190614a28565b6001149050806126975760405163289533c560e01b815260040160405180910390fd5b50505b61169881836000613d9f565b6001600160a01b0381166000908152600460209081526040808320815192830190915254808252158015929182916126ed57805161800081161515935064ff000000001691505b509193909250565b6000546201000090046001600160a01b03163314612726576040516362e9152760e11b815260040160405180910390fd5b60006001600160a01b0382166127b257600360009054906101000a90046001600160a01b03166001600160a01b0316639470a5b26040518163ffffffff1660e01b8152600401602060405180830381865afa158015612789573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127ad9190614bfe565b6127b4565b815b6040516311a5465560e21b81526001600160a01b03808316600483015291925090841690634695195490602401600060405180830381600087803b1580156127fb57600080fd5b505af115801561280f573d6000803e3d6000fd5b50506040516001600160a01b038481168252861692507f840acbd291b38534819f47f875839277e502f40e1c7bfea2c5fc2c8017442cd3915060200160405180910390a2505050565b612860614147565b602a905261286c614147565b602a60208201525061287c614147565b602a60408201525061288c614147565b602a60608201525061289c614147565b63deadbeef60e01b6080820152506128b2614147565b60408051602a808252606082019092529060208201818036833750505060a0820181905260008190036129275760405162461bcd60e51b815260206004820152601760248201527f7573657244617461206f6666736574206973207a65726f0000000000000000006044820152606401610d54565b8051602a81146129795760405162461bcd60e51b815260206004820152601960248201527f7573657244617461206368616e676564206c6f636174696f6e000000000000006044820152606401610d54565b505050612984614147565b602a60c082015250612994614147565b602a60e0820152506129a4614147565b602a610100820152506129b5614147565b602a610120820152506129c6614147565b602a61014082015250565b60008151600014158015610e685750600654825160208401201492915050565b600060606001600160a01b038716612a0b57612a0b614a80565b612a158484613fc7565b9350622dc6c060005a90508715612a8b57886001600160a01b03168287604051612a3f9190614c1b565b6000604051808303818686fa925050503d8060008114612a7b576040519150601f19603f3d011682016040523d82523d6000602084013e612a80565b606091505b509094509250612aee565b886001600160a01b03168287604051612aa49190614c1b565b60006040518083038160008787f1925050503d8060008114612ae2576040519150601f19603f3d011682016040523d82523d6000602084013e612ae7565b606091505b5090945092505b83612b3757612afc8161407e565b612b1e5786612b1357612b0e8361321a565b612b37565b612b0e89600a612b97565b604051636a7aea4b60e11b815260040160405180910390fd5b50509550959350505050565b6000604082511015612b5757506000919050565b602082810151906000908214612b71575060009392505050565b506040830151612b8081614094565b612b8b906040614c37565b84511492505050919050565b6001600160a01b038216600090815260046020526040812054618000169003611698576001600160a01b038216600081815260046020526040908190208054618000179055517fbe3aa33bd245135e4e26b223d79d14ea479a47bff09f2b03c53838af1edbb14b90612c0c9084815260200190565b60405180910390a25050565b60065460609015612c3f5760405163a85ba64f60e01b815260156004820152602401610d54565b6001600160a01b0383166000908152600460205260408120548491819003612c7a5760405163163cbe4360e01b815260040160405180910390fd5b618000811615612c9c57604051628e12d960e21b815260040160405180910390fd5b836000612ca882613ebe565b90506001600160e01b031981166330d9c91560e01b1480612cd957506001600160e01b0319811663d86ed3e560e01b145b80612cf457506001600160e01b03198116630221347d60e61b145b80612d0f57506001600160e01b0319811663230dbd2960e01b145b80612d2a57506001600160e01b03198116635f9e7d7760e01b145b80612d4557506001600160e01b031981166353c11f9960e01b145b15612d63576040516377a14afb60e11b815260040160405180910390fd5b60408051610160810182526000808252600260208084019190915242838501526001600160a01b03808d16606085015260808401839052845191820190945281815260a083015260c0820181905260e0820181905261010082018190529189166101208201526101408101829052612dda9061302d565b90506000612de9898984613161565b975090508015612e375786806020019051810190612e079190614adb565b9150612e12826129d1565b612e325760405163a85ba64f60e01b815260146004820152602401610d54565b612e40565b612e408761321a565b5050600060065550929695505050505050565b60065460609015612e7a5760405163a85ba64f60e01b815260156004820152602401610d54565b83612e8481611a5e565b612ea15760405163619c535960e01b815260040160405180910390fd5b6000612eac85613ebe565b6040805161016081018252600080825260016020830152929350612f2f9181014281526020018a6001600160a01b03168152602001846001600160e01b031916815260200187815260200160008152602001600081526020016000815260200160006001600160a01b0316815260200160006001600160a01b031681525061302d565b90506000612f3e888884613161565b9550905080612f5057612f508561321a565b50506000600655509095945050505050565b612f6a614147565b60608083806020019051810190612f819190614c4a565b81519193509150600090612f9e9084016020908101908501614ca3565b60a08901526001600160e01b03191660808801526001600160a01b031660608701526040860152602081811c600f168187015260ff9091168552825160009250612fef919084018101908401614d27565b6001600160a01b03908116610140890152166101208701526101008601526001600160801b03811660c086015260801c60e085015250919392505050565b60606001826000015160ff16111561305b5760405163a85ba64f60e01b815260286004820152602401610d54565b815160208084015160009260ff1664ff000000009190921b16179050600060806130888560e001516140cd565b6001600160801b0316901b6130a08560c001516140cd565b6001600160801b0316179050818460400151856060015186608001518760a001516040516020016130d5959493929190614d72565b60408051601f1981840301815282825261010087015161012088015161014089015160208601879052938501919091526001600160a01b03908116606085015290911660808301529060a00160408051601f198184030181529082905261313f9291602001614672565b60408051601f1981840301815291905280516020820120600655949350505050565b600060606001600160a01b03851661317b5761317b614a80565b6131858484613fc7565b9350846001600160a01b03168460405161319f9190614c1b565b6000604051808303816000865af19150503d80600081146131dc576040519150601f19603f3d011682016040523d82523d6000602084013e6131e1565b606091505b50909250905081156132125780516000036132125760405163a85ba64f60e01b815260166004820152602401610d54565b935093915050565b60048151101561326c5760405162461bcd60e51b815260206004820152601a60248201527f43616c6c5574696c733a207461726765742072657665727428290000000000006044820152606401610d54565b602081015163b1b7848f60e01b6001600160e01b031982160161331c5760408051808201825260208082527f43616c6c5574696c733a207461726765742070616e69636b65643a2030785f5f90820190815260248501517f43616c6c5574696c733a207461726765742070616e69636b65643a2030780000600482811c600f908116603090810160081b918516011791909117909252925162461bcd60e51b8152919291610d5491849101614317565b81518060208401fd5b600061334f7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b0316036133a55760405162461bcd60e51b815260206004820152601d60248201527f5555505350726f786961626c653a206e6f742075706772616461626c650000006044820152606401610d54565b806001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156133e3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134079190614a28565b7fcd355cae2c435f8c5e0c626c4691d22fd85aa7422a424c6f0bced6e64c7aba74146134815760405162461bcd60e51b815260206004820152602360248201527f5555505350726f786961626c653a206e6f7420636f6d70617469626c65206c6f60448201526267696360e81b6064820152608401610d54565b6001600160a01b03811630036134d95760405162461bcd60e51b815260206004820152601960248201527f5555505350726f786961626c653a2070726f7879206c6f6f70000000000000006044820152606401610d54565b613501817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fe011bc04c286c344a8fcbb8de77f953da762c3e25d8cdea984147fc4168a5dcc7fcd355cae2c435f8c5e0c626c4691d22fd85aa7422a424c6f0bced6e64c7aba74604080519182526001600160a01b038416602083015201611441565b6040805160208101829052603260608201527f6f72672e7375706572666c7569642d66696e616e63652e7375706572666c756960808201527132173a393ab9ba32b22337b93bb0b93232b960711b60a08201526001600160a01b0383169181019190915260009060c0015b604051602081830303815290604052805190602001209050919050565b6000601836108015906135fe57506135fe3361151a565b6136425760405162461bcd60e51b81526020600482015260156024820152742737ba103a393ab9ba32b2103337b93bb0b93232b960591b6044820152606401610d54565b5060131936013560601c90565b60005b81811015613d9957600083838381811061366e5761366e614a6a565b90506020028101906136809190614dbe565b61368e906020810190614dd4565b905060001963ffffffff821601613782576000808585858181106136b4576136b4614a6a565b90506020028101906136c69190614dbe565b6136d4906040810190614dfa565b8101906136e191906149fc565b915091508585858181106136f7576136f7614a6a565b90506020028101906137099190614dbe565b61371a9060408101906020016141b7565b6001600160a01b03166362aa52878884846040518463ffffffff1660e01b815260040161374993929190614b2c565b600060405180830381600087803b15801561376357600080fd5b505af1158015613777573d6000803e3d6000fd5b505050505050613d88565b60011963ffffffff82160161388d5760008060008686868181106137a8576137a8614a6a565b90506020028101906137ba9190614dbe565b6137c8906040810190614dfa565b8101906137d59190614e40565b9250925092508686868181106137ed576137ed614a6a565b90506020028101906137ff9190614dbe565b6138109060408101906020016141b7565b604051630b682aeb60e11b81526001600160a01b038a81166004830152858116602483015284811660448301526064820184905291909116906316d055d6906084015b600060405180830381600087803b15801561386d57600080fd5b505af1158015613881573d6000803e3d6000fd5b50505050505050613d88565b60021963ffffffff82160161394c5760008060008686868181106138b3576138b3614a6a565b90506020028101906138c59190614dbe565b6138d3906040810190614dfa565b8101906138e09190614e81565b9250925092508686868181106138f8576138f8614a6a565b905060200281019061390a9190614dbe565b61391b9060408101906020016141b7565b6001600160a01b031663ca0c1e7f898585856040518563ffffffff1660e01b81526004016138539493929190614ecf565b60031963ffffffff821601613a055760008085858581811061397057613970614a6a565b90506020028101906139829190614dbe565b613990906040810190614dfa565b81019061399d91906149fc565b915091508585858181106139b3576139b3614a6a565b90506020028101906139c59190614dbe565b6139d69060408101906020016141b7565b6001600160a01b0316634b2763b38884846040518463ffffffff1660e01b815260040161374993929190614b2c565b60041963ffffffff821601613abe57600080858585818110613a2957613a29614a6a565b9050602002810190613a3b9190614dbe565b613a49906040810190614dfa565b810190613a5691906149fc565b91509150858585818110613a6c57613a6c614a6a565b9050602002810190613a7e9190614dbe565b613a8f9060408101906020016141b7565b6001600160a01b031663c780fd828884846040518463ffffffff1660e01b815260040161374993929190614b2c565b60641963ffffffff821601613bb357838383818110613adf57613adf614a6a565b9050602002810190613af19190614dbe565b613b029060408101906020016141b7565b6001600160a01b031663ca78946486868686818110613b2357613b23614a6a565b9050602002810190613b359190614dbe565b613b43906040810190614dfa565b810190613b5091906147f3565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b158015613b9657600080fd5b505af1158015613baa573d6000803e3d6000fd5b50505050613d88565b60651963ffffffff821601613c1857838383818110613bd457613bd4614a6a565b9050602002810190613be69190614dbe565b613bf79060408101906020016141b7565b6001600160a01b031663245887fc86868686818110613b2357613b23614a6a565b60c81963ffffffff821601613cb557600080858585818110613c3c57613c3c614a6a565b9050602002810190613c4e9190614dbe565b613c5c906040810190614dfa565b810190613c699190614f02565b91509150613cad87878787818110613c8357613c83614a6a565b9050602002810190613c959190614dbe565b613ca69060408101906020016141b7565b8484612e53565b505050613d88565b60c91963ffffffff821601613d6f57613d6985858585818110613cda57613cda614a6a565b9050602002810190613cec9190614dbe565b613cfd9060408101906020016141b7565b868686818110613d0f57613d0f614a6a565b9050602002810190613d219190614dbe565b613d2f906040810190614dfa565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612c1892505050565b50613d88565b60405163b477011560e01b815260040160405180910390fd5b50613d9281614be5565b9050613652565b50505050565b323303613dc25760405163a85ba64f60e01b815260026004820152602401610d54565b8015613dee57813b8015613dec5760405163a85ba64f60e01b815260016004820152602401610d54565b505b64ff000080ff198316151580613e05575060ff8316155b80613e135750618000831615155b15613e3157604051633d3200a960e21b815260040160405180910390fd5b6001600160a01b03821660009081526004602052604090205415613e68576040516301b0a93560e01b815260040160405180910390fd5b60408051602080820183528582526001600160a01b038516600081815260049092528382209251909255915190917f0d540ad8f39e07d19909687352b9fa017405d93c91a6760981fbae9cf28bfef791a2505050565b6000600482511015613f125760405162461bcd60e51b815260206004820152601b60248201527f43616c6c5574696c733a20696e76616c69642063616c6c4461746100000000006044820152606401610d54565b506020015190565b60008282604051602001613f2f929190614f5b565b60405160208183030381529060405280519060200120905092915050565b6040805160208101829052603960608201527f6f72672e7375706572666c7569642d66696e616e63652e7375706572666c756960808201527f642e61707057686974654c697374696e672e666163746f72790000000000000060a08201526001600160a01b0383169181019190915260009060c0016135ca565b815180830151606091908015613ff0576040516367e9985b60e01b815260040160405180910390fd5b50601f198101845282518490848161400781614094565b6140119190614a57565b6001600160401b038111156140285761402861432a565b6040519080825280601f01601f191660200182016040528015614052576020820181803683370190505b506040516020016140669493929190614fe0565b60405160208183030381529060405291505092915050565b600061408b603f8361502f565b5a111592915050565b60008082601f16116140a75760006140aa565b60015b60ff166140b860208461502f565b6140c29190614c37565b610e68906020615051565b60006001600160801b038211156141365760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20316044820152663238206269747360c81b6064820152608401610d54565b5090565b61024a8061506983390190565b604080516101608101825260008082526020820181905291810182905260608082018390526080820183905260a082015260c0810182905260e081018290526101008101829052610120810182905261014081019190915290565b6001600160a01b038116811461119757600080fd5b6000602082840312156141c957600080fd5b81356141d4816141a2565b9392505050565b60008083601f8401126141ed57600080fd5b5081356001600160401b0381111561420457600080fd5b60208301915083602082850101111561421c57600080fd5b9250929050565b801515811461119757600080fd5b6000806000806000806080878903121561424a57600080fd5b8635614255816141a2565b955060208701356001600160401b038082111561427157600080fd5b61427d8a838b016141db565b90975095506040890135915061429282614223565b909350606088013590808211156142a857600080fd5b506142b589828a016141db565b979a9699509497509295939492505050565b60005b838110156142e25781810151838201526020016142ca565b50506000910152565b600081518084526143038160208601602086016142c7565b601f01601f19169290920160200192915050565b602081526000610e6560208301846142eb565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b03811182821017156143685761436861432a565b604052919050565b60006001600160401b038211156143895761438961432a565b50601f01601f191660200190565b600082601f8301126143a857600080fd5b81356143bb6143b682614370565b614340565b8181528460208386010111156143d057600080fd5b816020850160208301376000918101602001919091529392505050565b6000806040838503121561440057600080fd5b823561440b816141a2565b915060208301356001600160401b0381111561442657600080fd5b61443285828601614397565b9150509250929050565b60008060006060848603121561445157600080fd5b833561445c816141a2565b925060208401356001600160401b038082111561447857600080fd5b61448487838801614397565b9350604086013591508082111561449a57600080fd5b506144a786828701614397565b9150509250925092565b6000602082840312156144c357600080fd5b81356001600160401b038111156144d957600080fd5b610e7c84828501614397565b602081526144f960208201835160ff169052565b6000602083015161450f604084018260ff169052565b5060408301516060830152606083015161453460808401826001600160a01b03169052565b5060808301516001600160e01b0319811660a08401525060a08301516101608060c08501526145676101808501836142eb565b915060c085015160e085015260e08501516101008181870152808701519150506101208181870152808701519150506101406145ad818701836001600160a01b03169052565b909501516001600160a01b031693019290925250919050565b60008060008060008060006080888a0312156145e157600080fd5b87356145ec816141a2565b965060208801356001600160401b038082111561460857600080fd5b6146148b838c016141db565b909850965060408a013591508082111561462d57600080fd5b6146398b838c016141db565b909650945060608a013591508082111561465257600080fd5b5061465f8a828b016141db565b989b979a50959850939692959293505050565b60408152600061468560408301856142eb565b8281036020840152611bce81856142eb565b6000806000604084860312156146ac57600080fd5b83356001600160401b038111156146c257600080fd5b6146ce868287016141db565b909790965060209590950135949350505050565b600080602083850312156146f557600080fd5b82356001600160401b038082111561470c57600080fd5b818501915085601f83011261472057600080fd5b81358181111561472f57600080fd5b8660208260051b850101111561474457600080fd5b60209290920196919550909350505050565b60008060008060008060a0878903121561476f57600080fd5b86356001600160401b0381111561478557600080fd5b61479189828a016141db565b90975095505060208701356147a5816141a2565b9350604087013592506060870135915060808701356147c3816141a2565b809150509295509295509295565b600080604083850312156147e457600080fd5b50508035926020909101359150565b60006020828403121561480557600080fd5b5035919050565b6000806000806060858703121561482257600080fd5b84356001600160401b0381111561483857600080fd5b614844878288016141db565b9095509350506020850135614858816141a2565b9396929550929360400135925050565b60008060008060006060868803121561488057600080fd5b853561488b816141a2565b945060208601356001600160401b03808211156148a757600080fd5b6148b389838a016141db565b909650945060408801359150808211156148cc57600080fd5b506148d9888289016141db565b969995985093965092949392505050565b600080604083850312156148fd57600080fd5b8235614908816141a2565b91506020830135614918816141a2565b809150509250929050565b60008060006040848603121561493857600080fd5b8335925060208401356001600160401b0381111561495557600080fd5b614961868287016141db565b9497909650939450505050565b6000806020838503121561498157600080fd5b82356001600160401b0381111561499757600080fd5b6149a3858286016141db565b90969095509350505050565b6020808252825182820181905260009190848201906040850190845b818110156149f05783516001600160a01b0316835292840192918401916001016149cb565b50909695505050505050565b60008060408385031215614a0f57600080fd5b8235614a1a816141a2565b946020939093013593505050565b600060208284031215614a3a57600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b81810381811115610e6857610e68614a41565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052600160045260246000fd5b600082601f830112614aa757600080fd5b8151614ab56143b682614370565b818152846020838601011115614aca57600080fd5b610e7c8260208301602087016142c7565b600060208284031215614aed57600080fd5b81516001600160401b03811115614b0357600080fd5b610e7c84828501614a96565b600060208284031215614b2157600080fd5b81516141d481614223565b6001600160a01b039384168152919092166020820152604081019190915260600190565b8082018281126000831280158216821582161715614b7057614b70614a41565b505092915050565b600060ff821660ff8103614b8e57614b8e614a41565b60010192915050565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b600060018201614bf757614bf7614a41565b5060010190565b600060208284031215614c1057600080fd5b81516141d4816141a2565b60008251614c2d8184602087016142c7565b9190910192915050565b80820180821115610e6857610e68614a41565b60008060408385031215614c5d57600080fd5b82516001600160401b0380821115614c7457600080fd5b614c8086838701614a96565b93506020850151915080821115614c9657600080fd5b5061443285828601614a96565b600080600080600060a08688031215614cbb57600080fd5b85519450602086015193506040860151614cd4816141a2565b60608701519093506001600160e01b031981168114614cf257600080fd5b60808701519092506001600160401b03811115614d0e57600080fd5b614d1a88828901614a96565b9150509295509295909350565b60008060008060808587031215614d3d57600080fd5b84519350602085015192506040850151614d56816141a2565b6060860151909250614d67816141a2565b939692955090935050565b858152602081018590526001600160a01b03841660408201526001600160e01b03198316606082015260a060808201819052600090614db3908301846142eb565b979650505050505050565b60008235605e19833603018112614c2d57600080fd5b600060208284031215614de657600080fd5b813563ffffffff811681146141d457600080fd5b6000808335601e19843603018112614e1157600080fd5b8301803591506001600160401b03821115614e2b57600080fd5b60200191503681900382131561421c57600080fd5b600080600060608486031215614e5557600080fd5b8335614e60816141a2565b92506020840135614e70816141a2565b929592945050506040919091013590565b600080600060608486031215614e9657600080fd5b8335614ea1816141a2565b92506020840135915060408401356001600160401b03811115614ec357600080fd5b6144a786828701614397565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061167c908301846142eb565b60008060408385031215614f1557600080fd5b82356001600160401b0380821115614f2c57600080fd5b614f3886838701614397565b93506020850135915080821115614f4e57600080fd5b5061443285828601614397565b60608152604160608201527f6f72672e7375706572666c7569642d66696e616e63652e7375706572666c756960808201527f642e61707057686974654c697374696e672e726567697374726174696f6e4b6560a0820152607960f81b60c082015260018060a01b038316602082015260e060408201526000610e7c60e08301846142eb565b600085516020614ff38285838b016142c7565b8184019150868252855161500c81838501848a016142c7565b8551920191615020818385018489016142c7565b91909101019695505050505050565b60008261504c57634e487b7160e01b600052601260045260246000fd5b500490565b8082028115828204841417610e6857610e68614a4156fe608060405234801561001057600080fd5b5061022a806100206000396000f3fe6080604052600436106100225760003560e01c80634a0687ef1461003957610031565b366100315761002f610059565b005b61002f610059565b34801561004557600080fd5b5061002f6100543660046101c4565b61006b565b610069610064610171565b6101a0565b565b6001600160a01b0381166100c65760405162461bcd60e51b815260206004820152601760248201527f5555505350726f78793a207a65726f206164647265737300000000000000000060448201526064015b60405180910390fd5b60006100f07f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b0316146101465760405162461bcd60e51b815260206004820152601e60248201527f5555505350726f78793a20616c726561647920696e697469616c697a6564000060448201526064016100bd565b61016e817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b50565b600061019b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b3660008037600080366000845af43d6000803e8080156101bf573d6000f35b3d6000fd5b6000602082840312156101d657600080fd5b81356001600160a01b03811681146101ed57600080fd5b939250505056fea264697066735822122093a2bbcf49dd2895177212eeb11e9921080374fd8cd93d5be93a80935603195a64736f6c63430008130033a2646970667358221220e1f70c1c69627f91a2de754c387d329fef819be54b988ee7b43cd782f55f126664736f6c63430008130033";
1348
1348
  const isSuperArgs = (xs) => xs.length > 1;
1349
1349
  class SuperfluidUpgradabilityTester__factory extends ethers_1.ContractFactory {
1350
1350
  constructor(...args) {
@@ -12,7 +12,7 @@ export declare class ConstantInflowNFT__factory extends ContractFactory {
12
12
  }): TransactionRequest;
13
13
  attach(address: string): ConstantInflowNFT;
14
14
  connect(signer: Signer): ConstantInflowNFT__factory;
15
- static readonly bytecode = "0x60e06040523480156200001157600080fd5b506040516200217c3803806200217c8339810160408190526200003491620000fd565b6001600160a01b03821660a0819052604051635b69006f60e11b81527fa9214cc96615e0085d3bb077758db69497dc2dce3b2b1e97bc93c3d18d83efd3600482015283919063b6d200de90602401602060405180830381865afa158015620000a0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000c691906200013c565b6001600160a01b039081166080529190911660c05250620001639050565b6001600160a01b0381168114620000fa57600080fd5b50565b600080604083850312156200011157600080fd5b82516200011e81620000e4565b60208401519092506200013181620000e4565b809150509250929050565b6000602082840312156200014f57600080fd5b81516200015c81620000e4565b9392505050565b60805160a05160c051611fc6620001b66000396000818161043201528181610634015281816106a6015261099c0152600081816102c901526106f1015260008181610230015261108c0152611fc66000f3fe608060405234801561001057600080fd5b50600436106101a95760003560e01c806350d75d25116100f957806395d89b4111610097578063b88d4fde11610071578063b88d4fde146103f4578063c87b56dd14610407578063e985e9c51461041a578063ef43d2c61461042d57600080fd5b806395d89b41146103d15780639903ad38146103d9578063a22cb465146103e157600080fd5b80636c0360eb116100d35780636c0360eb1461034957806370a082311461035157806389f71d2d146103655780638d47859e1461037857600080fd5b806350d75d25146102fe57806352d1902d146103065780636352211e1461033657600080fd5b80632f3885601161016657806342966c681161014057806342966c681461029e57806346951954146102b157806349f289dc146102c45780634cd88b76146102eb57600080fd5b80632f3885601461026557806340c10f191461027857806342842e0e1461028b57600080fd5b806301ffc9a7146101ae57806306fdde03146101d6578063081812fc146101eb578063095ea7b314610216578063181561011461022b57806323b872dd14610252575b600080fd5b6101c16101bc36600461164e565b610454565b60405190151581526020015b60405180910390f35b6101de6104a6565b6040516101cd919061169c565b6101fe6101f93660046116cf565b610538565b6040516001600160a01b0390911681526020016101cd565b6102296102243660046116fd565b61055f565b005b6101fe7f000000000000000000000000000000000000000000000000000000000000000081565b610229610260366004611729565b6105eb565b6102296102733660046116cf565b61061d565b6102296102863660046116fd565b610629565b610229610299366004611729565b610680565b6102296102ac3660046116cf565b61069b565b6102296102bf36600461176a565b6106ed565b6101fe7f000000000000000000000000000000000000000000000000000000000000000081565b6102296102f9366004611854565b6107a5565b6101fe61088b565b7f9a61ea3469d742a522f41a67608e442d2c27902bed81123f00ba6d3e12e9871e5b6040519081526020016101cd565b6101fe6103443660046116cf565b6108ba565b6101de6108ef565b61032861035f36600461176a565b50600190565b6103286103733660046118b8565b61090b565b61038b6103863660046116cf565b61095e565b6040805182516001600160a01b03908116825260208085015182169083015283830151169181019190915260609182015163ffffffff16918101919091526080016101cd565b6101de610a07565b610229610a16565b6102296103ef366004611903565b610ad8565b610229610402366004611941565b610ae3565b6101de6104153660046116cf565b610b1c565b6101c16104283660046119c1565b610b29565b6101fe7f000000000000000000000000000000000000000000000000000000000000000081565b60006301ffc9a760e01b6001600160e01b03198316148061048557506380ac58cd60e01b6001600160e01b03198316145b806104a05750635b5e139f60e01b6001600160e01b03198316145b92915050565b6060600180546104b5906119ef565b80601f01602080910402602001604051908101604052809291908181526020018280546104e1906119ef565b801561052e5780601f106105035761010080835404028352916020019161052e565b820191906000526020600020905b81548152906001019060200180831161051157829003601f168201915b5050505050905090565b600061054382610b57565b506000908152600360205260409020546001600160a01b031690565b600061056a826108ba565b9050806001600160a01b0316836001600160a01b03160361059e5760405163e4790b2560e01b815260040160405180910390fd5b336001600160a01b038216148015906105be57506105bc8133610b29565b155b156105dc5760405163519a92c160e11b815260040160405180910390fd5b6105e68383610b7d565b505050565b6105f53382610beb565b610612576040516312a8eb0360e11b815260040160405180910390fd5b6105e6838383610c49565b61062681610c62565b50565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106725760405163740f7abd60e11b815260040160405180910390fd5b61067c8282610c92565b5050565b6105e683838360405180602001604052806000815250610ae3565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106e45760405163740f7abd60e11b815260040160405180910390fd5b61062681610cce565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663731aed6e6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561074d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107719190611a29565b9050336001600160a01b0382161461079c5760405163ebb7505b60e01b815260040160405180910390fd5b61067c82610d41565b600054610100900460ff16158080156107c55750600054600160ff909116105b806107df5750303b1580156107df575060005460ff166001145b6108045760405162461bcd60e51b81526004016107fb90611a46565b60405180910390fd5b6000805460ff191660011790558015610827576000805461ff0019166101001790555b60016108338482611ae2565b5060026108408382611ae2565b5080156105e6576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050565b60006108b57f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b6000806108c683610f7b565b90506001600160a01b0381166104a05760405163eab95e3b60e01b815260040160405180910390fd5b6040518060600160405280602d8152602001611f64602d913981565b60408051466020808301919091526001600160a01b0380871683850152808616606084015284166080808401919091528351808403909101815260a090920190925280519101206000905b949350505050565b60408051608081018252600080825260208201819052818301819052606082015290516346a3c2cf60e11b8152600481018390526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690638d47859e90602401608060405180830381865afa1580156109e3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104a09190611ba2565b6060600280546104b5906119ef565b600054610100900460ff1615808015610a365750600054600160ff909116105b80610a505750303b158015610a50575060005460ff166001145b610a6c5760405162461bcd60e51b81526004016107fb90611a46565b6000805460ff191660011790558015610a8f576000805461ff0019166101001790555b8015610626576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a150565b61067c338383610f92565b610aed3383610beb565b610b0a576040516312a8eb0360e11b815260040160405180910390fd5b610b1684848484611031565b50505050565b60606104a082600161103c565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205460ff1690565b610b60816111a8565b6106265760405163eab95e3b60e01b815260040160405180910390fd5b600081815260036020526040902080546001600160a01b0319166001600160a01b0384169081179091558190610bb282610f7b565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600080610bf7836108ba565b9050806001600160a01b0316846001600160a01b03161480610c1e5750610c1e8185610b29565b806109565750836001600160a01b0316610c3784610538565b6001600160a01b031614949350505050565b60405163553a3f6560e11b815260040160405180910390fd5b6040518181527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce790602001610acd565b60405181906001600160a01b038416906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b6000610cd98261095e565b600083815260036020526040902080546001600160a01b031916905590508160006001600160a01b031682604001516001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050565b6000610d6b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b031603610dc15760405162461bcd60e51b815260206004820152601d60248201527f5555505350726f786961626c653a206e6f742075706772616461626c6500000060448201526064016107fb565b806001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610dff573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e239190611c30565b7f9a61ea3469d742a522f41a67608e442d2c27902bed81123f00ba6d3e12e9871e14610e9d5760405162461bcd60e51b815260206004820152602360248201527f5555505350726f786961626c653a206e6f7420636f6d70617469626c65206c6f60448201526267696360e81b60648201526084016107fb565b6001600160a01b0381163003610ef55760405162461bcd60e51b815260206004820152601960248201527f5555505350726f786961626c653a2070726f7879206c6f6f700000000000000060448201526064016107fb565b610f1d817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fe011bc04c286c344a8fcbb8de77f953da762c3e25d8cdea984147fc4168a5dcc7f9a61ea3469d742a522f41a67608e442d2c27902bed81123f00ba6d3e12e9871e604080519182526001600160a01b038416602083015201610acd565b600080610f878361095e565b604001519392505050565b816001600160a01b0316836001600160a01b031603610fc45760405163d3c7732960e01b815260040160405180910390fd5b6001600160a01b03838116600081815260046020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b610b16848484610c49565b606060006110498461095e565b805160208201516040808401519051631cd43d1160e31b81526001600160a01b0380851660048301529283166024820152908216604482015292935090916000917f0000000000000000000000000000000000000000000000000000000000000000169063e6a1e88890606401608060405180830381865afa1580156110d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110f79190611c49565b50509150506040518060600160405280602d8152602001611f64602d913961112c826bffffffffffffffffffffffff166111c5565b8661115357604051806040016040528060048152602001637472756560e01b815250611172565b6040518060400160405280600581526020016466616c736560d81b8152505b61117b89611258565b60405160200161118e9493929190611ca9565b604051602081830303815290604052935050505092915050565b6000806111b483610f7b565b6001600160a01b0316141592915050565b606060006111d2836113d3565b600101905060008167ffffffffffffffff8111156111f2576111f2611787565b6040519080825280601f01601f19166020018201604052801561121c576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a850494508461122657509392505050565b606060006112658361095e565b905061127f81600001516001600160a01b031660146114ab565b611288466111c5565b82600001516001600160a01b03166395d89b416040518163ffffffff1660e01b8152600401600060405180830381865afa1580156112ca573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526112f29190810190611d31565b61130a84602001516001600160a01b031660146114ab565b61132285604001516001600160a01b031660146114ab565b61139386600001516001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015611367573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061138b9190611da8565b60ff166111c5565b6113a6876060015163ffffffff166111c5565b6040516020016113bc9796959493929190611dcb565b604051602081830303815290604052915050919050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b83106114125772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef8100000000831061143e576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061145c57662386f26fc10000830492506010015b6305f5e1008310611474576305f5e100830492506008015b612710831061148857612710830492506004015b6064831061149a576064830492506002015b600a83106104a05760010192915050565b606060006114ba836002611f0c565b6114c5906002611f23565b67ffffffffffffffff8111156114dd576114dd611787565b6040519080825280601f01601f191660200182016040528015611507576020820181803683370190505b509050600360fc1b8160008151811061152257611522611f36565b60200101906001600160f81b031916908160001a905350600f60fb1b8160018151811061155157611551611f36565b60200101906001600160f81b031916908160001a9053506000611575846002611f0c565b611580906001611f23565b90505b60018111156115f8576f181899199a1a9b1b9c1cb0b131b232b360811b85600f16601081106115b4576115b4611f36565b1a60f81b8282815181106115ca576115ca611f36565b60200101906001600160f81b031916908160001a90535060049490941c936115f181611f4c565b9050611583565b5083156116475760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016107fb565b9392505050565b60006020828403121561166057600080fd5b81356001600160e01b03198116811461164757600080fd5b60005b8381101561169357818101518382015260200161167b565b50506000910152565b60208152600082518060208401526116bb816040850160208701611678565b601f01601f19169190910160400192915050565b6000602082840312156116e157600080fd5b5035919050565b6001600160a01b038116811461062657600080fd5b6000806040838503121561171057600080fd5b823561171b816116e8565b946020939093013593505050565b60008060006060848603121561173e57600080fd5b8335611749816116e8565b92506020840135611759816116e8565b929592945050506040919091013590565b60006020828403121561177c57600080fd5b8135611647816116e8565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156117c6576117c6611787565b604052919050565b600067ffffffffffffffff8211156117e8576117e8611787565b50601f01601f191660200190565b6000611809611804846117ce565b61179d565b905082815283838301111561181d57600080fd5b828260208301376000602084830101529392505050565b600082601f83011261184557600080fd5b611647838335602085016117f6565b6000806040838503121561186757600080fd5b823567ffffffffffffffff8082111561187f57600080fd5b61188b86838701611834565b935060208501359150808211156118a157600080fd5b506118ae85828601611834565b9150509250929050565b6000806000606084860312156118cd57600080fd5b83356118d8816116e8565b925060208401356118e8816116e8565b915060408401356118f8816116e8565b809150509250925092565b6000806040838503121561191657600080fd5b8235611921816116e8565b91506020830135801515811461193657600080fd5b809150509250929050565b6000806000806080858703121561195757600080fd5b8435611962816116e8565b93506020850135611972816116e8565b925060408501359150606085013567ffffffffffffffff81111561199557600080fd5b8501601f810187136119a657600080fd5b6119b5878235602084016117f6565b91505092959194509250565b600080604083850312156119d457600080fd5b82356119df816116e8565b91506020830135611936816116e8565b600181811c90821680611a0357607f821691505b602082108103611a2357634e487b7160e01b600052602260045260246000fd5b50919050565b600060208284031215611a3b57600080fd5b8151611647816116e8565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b601f8211156105e657600081815260208120601f850160051c81016020861015611abb5750805b601f850160051c820191505b81811015611ada57828155600101611ac7565b505050505050565b815167ffffffffffffffff811115611afc57611afc611787565b611b1081611b0a84546119ef565b84611a94565b602080601f831160018114611b455760008415611b2d5750858301515b600019600386901b1c1916600185901b178555611ada565b600085815260208120601f198616915b82811015611b7457888601518255948401946001909101908401611b55565b5085821015611b925787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060808284031215611bb457600080fd5b6040516080810181811067ffffffffffffffff82111715611bd757611bd7611787565b6040528251611be5816116e8565b81526020830151611bf5816116e8565b60208201526040830151611c08816116e8565b6040820152606083015163ffffffff81168114611c2457600080fd5b60608201529392505050565b600060208284031215611c4257600080fd5b5051919050565b60008060008060808587031215611c5f57600080fd5b84519350602085015180600b0b8114611c7757600080fd5b6040860151606090960151949790965092505050565b60008151611c9f818560208601611678565b9290920192915050565b60008551611cbb818460208a01611678565b693f666c6f77526174653d60b01b9083019081528551611ce281600a840160208a01611678565b69266f7574676f696e673d60b01b600a92909101918201528451611d0d816014840160208901611678565b8451910190611d23816014840160208801611678565b016014019695505050505050565b600060208284031215611d4357600080fd5b815167ffffffffffffffff811115611d5a57600080fd5b8201601f81018413611d6b57600080fd5b8051611d79611804826117ce565b818152856020838501011115611d8e57600080fd5b611d9f826020830160208601611678565b95945050505050565b600060208284031215611dba57600080fd5b815160ff8116811461164757600080fd5b6e26746f6b656e5f616464726573733d60881b815260008851611df581600f850160208d01611678565b6926636861696e5f69643d60b01b600f918401918201528851611e1f816019840160208d01611678565b6d26746f6b656e5f73796d626f6c3d60901b601992909101918201528751611e4e816027840160208c01611678565b672673656e6465723d60c01b602792909101918201528651611e7781602f840160208b01611678565b692672656365697665723d60b01b602f9290910191820152611ee8611ee2611eca611ec4611ea8603986018b611c8d565b6f26746f6b656e5f646563696d616c733d60801b815260100190565b88611c8d565b6b2673746172745f646174653d60a01b8152600c0190565b85611c8d565b9a9950505050505050505050565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176104a0576104a0611ef6565b808201808211156104a0576104a0611ef6565b634e487b7160e01b600052603260045260246000fd5b600081611f5b57611f5b611ef6565b50600019019056fe68747470733a2f2f6e66742e7375706572666c7569642e66696e616e63652f6366612f76322f6765746d657461a264697066735822122019a32b0d6169daa063e6366a75593d619dda4728bcd3451f956670fa5263844664736f6c63430008130033";
15
+ static readonly bytecode = "0x60e06040523480156200001157600080fd5b506040516200217c3803806200217c8339810160408190526200003491620000fd565b6001600160a01b03821660a0819052604051635b69006f60e11b81527fa9214cc96615e0085d3bb077758db69497dc2dce3b2b1e97bc93c3d18d83efd3600482015283919063b6d200de90602401602060405180830381865afa158015620000a0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000c691906200013c565b6001600160a01b039081166080529190911660c05250620001639050565b6001600160a01b0381168114620000fa57600080fd5b50565b600080604083850312156200011157600080fd5b82516200011e81620000e4565b60208401519092506200013181620000e4565b809150509250929050565b6000602082840312156200014f57600080fd5b81516200015c81620000e4565b9392505050565b60805160a05160c051611fc6620001b66000396000818161043201528181610634015281816106a6015261099c0152600081816102c901526106f1015260008181610230015261108c0152611fc66000f3fe608060405234801561001057600080fd5b50600436106101a95760003560e01c806350d75d25116100f957806395d89b4111610097578063b88d4fde11610071578063b88d4fde146103f4578063c87b56dd14610407578063e985e9c51461041a578063ef43d2c61461042d57600080fd5b806395d89b41146103d15780639903ad38146103d9578063a22cb465146103e157600080fd5b80636c0360eb116100d35780636c0360eb1461034957806370a082311461035157806389f71d2d146103655780638d47859e1461037857600080fd5b806350d75d25146102fe57806352d1902d146103065780636352211e1461033657600080fd5b80632f3885601161016657806342966c681161014057806342966c681461029e57806346951954146102b157806349f289dc146102c45780634cd88b76146102eb57600080fd5b80632f3885601461026557806340c10f191461027857806342842e0e1461028b57600080fd5b806301ffc9a7146101ae57806306fdde03146101d6578063081812fc146101eb578063095ea7b314610216578063181561011461022b57806323b872dd14610252575b600080fd5b6101c16101bc36600461164e565b610454565b60405190151581526020015b60405180910390f35b6101de6104a6565b6040516101cd919061169c565b6101fe6101f93660046116cf565b610538565b6040516001600160a01b0390911681526020016101cd565b6102296102243660046116fd565b61055f565b005b6101fe7f000000000000000000000000000000000000000000000000000000000000000081565b610229610260366004611729565b6105eb565b6102296102733660046116cf565b61061d565b6102296102863660046116fd565b610629565b610229610299366004611729565b610680565b6102296102ac3660046116cf565b61069b565b6102296102bf36600461176a565b6106ed565b6101fe7f000000000000000000000000000000000000000000000000000000000000000081565b6102296102f9366004611854565b6107a5565b6101fe61088b565b7f9a61ea3469d742a522f41a67608e442d2c27902bed81123f00ba6d3e12e9871e5b6040519081526020016101cd565b6101fe6103443660046116cf565b6108ba565b6101de6108ef565b61032861035f36600461176a565b50600190565b6103286103733660046118b8565b61090b565b61038b6103863660046116cf565b61095e565b6040805182516001600160a01b03908116825260208085015182169083015283830151169181019190915260609182015163ffffffff16918101919091526080016101cd565b6101de610a07565b610229610a16565b6102296103ef366004611903565b610ad8565b610229610402366004611941565b610ae3565b6101de6104153660046116cf565b610b1c565b6101c16104283660046119c1565b610b29565b6101fe7f000000000000000000000000000000000000000000000000000000000000000081565b60006301ffc9a760e01b6001600160e01b03198316148061048557506380ac58cd60e01b6001600160e01b03198316145b806104a05750635b5e139f60e01b6001600160e01b03198316145b92915050565b6060600180546104b5906119ef565b80601f01602080910402602001604051908101604052809291908181526020018280546104e1906119ef565b801561052e5780601f106105035761010080835404028352916020019161052e565b820191906000526020600020905b81548152906001019060200180831161051157829003601f168201915b5050505050905090565b600061054382610b57565b506000908152600360205260409020546001600160a01b031690565b600061056a826108ba565b9050806001600160a01b0316836001600160a01b03160361059e5760405163e4790b2560e01b815260040160405180910390fd5b336001600160a01b038216148015906105be57506105bc8133610b29565b155b156105dc5760405163519a92c160e11b815260040160405180910390fd5b6105e68383610b7d565b505050565b6105f53382610beb565b610612576040516312a8eb0360e11b815260040160405180910390fd5b6105e6838383610c49565b61062681610c62565b50565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106725760405163740f7abd60e11b815260040160405180910390fd5b61067c8282610c92565b5050565b6105e683838360405180602001604052806000815250610ae3565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106e45760405163740f7abd60e11b815260040160405180910390fd5b61062681610cce565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663731aed6e6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561074d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107719190611a29565b9050336001600160a01b0382161461079c5760405163ebb7505b60e01b815260040160405180910390fd5b61067c82610d41565b600054610100900460ff16158080156107c55750600054600160ff909116105b806107df5750303b1580156107df575060005460ff166001145b6108045760405162461bcd60e51b81526004016107fb90611a46565b60405180910390fd5b6000805460ff191660011790558015610827576000805461ff0019166101001790555b60016108338482611ae2565b5060026108408382611ae2565b5080156105e6576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050565b60006108b57f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b6000806108c683610f7b565b90506001600160a01b0381166104a05760405163eab95e3b60e01b815260040160405180910390fd5b6040518060600160405280602d8152602001611f64602d913981565b60408051466020808301919091526001600160a01b0380871683850152808616606084015284166080808401919091528351808403909101815260a090920190925280519101206000905b949350505050565b60408051608081018252600080825260208201819052818301819052606082015290516346a3c2cf60e11b8152600481018390526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690638d47859e90602401608060405180830381865afa1580156109e3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104a09190611ba2565b6060600280546104b5906119ef565b600054610100900460ff1615808015610a365750600054600160ff909116105b80610a505750303b158015610a50575060005460ff166001145b610a6c5760405162461bcd60e51b81526004016107fb90611a46565b6000805460ff191660011790558015610a8f576000805461ff0019166101001790555b8015610626576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a150565b61067c338383610f92565b610aed3383610beb565b610b0a576040516312a8eb0360e11b815260040160405180910390fd5b610b1684848484611031565b50505050565b60606104a082600161103c565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205460ff1690565b610b60816111a8565b6106265760405163eab95e3b60e01b815260040160405180910390fd5b600081815260036020526040902080546001600160a01b0319166001600160a01b0384169081179091558190610bb282610f7b565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600080610bf7836108ba565b9050806001600160a01b0316846001600160a01b03161480610c1e5750610c1e8185610b29565b806109565750836001600160a01b0316610c3784610538565b6001600160a01b031614949350505050565b60405163553a3f6560e11b815260040160405180910390fd5b6040518181527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce790602001610acd565b60405181906001600160a01b038416906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b6000610cd98261095e565b600083815260036020526040902080546001600160a01b031916905590508160006001600160a01b031682604001516001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050565b6000610d6b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b031603610dc15760405162461bcd60e51b815260206004820152601d60248201527f5555505350726f786961626c653a206e6f742075706772616461626c6500000060448201526064016107fb565b806001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610dff573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e239190611c30565b7f9a61ea3469d742a522f41a67608e442d2c27902bed81123f00ba6d3e12e9871e14610e9d5760405162461bcd60e51b815260206004820152602360248201527f5555505350726f786961626c653a206e6f7420636f6d70617469626c65206c6f60448201526267696360e81b60648201526084016107fb565b6001600160a01b0381163003610ef55760405162461bcd60e51b815260206004820152601960248201527f5555505350726f786961626c653a2070726f7879206c6f6f700000000000000060448201526064016107fb565b610f1d817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fe011bc04c286c344a8fcbb8de77f953da762c3e25d8cdea984147fc4168a5dcc7f9a61ea3469d742a522f41a67608e442d2c27902bed81123f00ba6d3e12e9871e604080519182526001600160a01b038416602083015201610acd565b600080610f878361095e565b604001519392505050565b816001600160a01b0316836001600160a01b031603610fc45760405163d3c7732960e01b815260040160405180910390fd5b6001600160a01b03838116600081815260046020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b610b16848484610c49565b606060006110498461095e565b805160208201516040808401519051631cd43d1160e31b81526001600160a01b0380851660048301529283166024820152908216604482015292935090916000917f0000000000000000000000000000000000000000000000000000000000000000169063e6a1e88890606401608060405180830381865afa1580156110d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110f79190611c49565b50509150506040518060600160405280602d8152602001611f64602d913961112c826bffffffffffffffffffffffff166111c5565b8661115357604051806040016040528060048152602001637472756560e01b815250611172565b6040518060400160405280600581526020016466616c736560d81b8152505b61117b89611258565b60405160200161118e9493929190611ca9565b604051602081830303815290604052935050505092915050565b6000806111b483610f7b565b6001600160a01b0316141592915050565b606060006111d2836113d3565b600101905060008167ffffffffffffffff8111156111f2576111f2611787565b6040519080825280601f01601f19166020018201604052801561121c576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a850494508461122657509392505050565b606060006112658361095e565b905061127f81600001516001600160a01b031660146114ab565b611288466111c5565b82600001516001600160a01b03166395d89b416040518163ffffffff1660e01b8152600401600060405180830381865afa1580156112ca573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526112f29190810190611d31565b61130a84602001516001600160a01b031660146114ab565b61132285604001516001600160a01b031660146114ab565b61139386600001516001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015611367573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061138b9190611da8565b60ff166111c5565b6113a6876060015163ffffffff166111c5565b6040516020016113bc9796959493929190611dcb565b604051602081830303815290604052915050919050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b83106114125772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef8100000000831061143e576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061145c57662386f26fc10000830492506010015b6305f5e1008310611474576305f5e100830492506008015b612710831061148857612710830492506004015b6064831061149a576064830492506002015b600a83106104a05760010192915050565b606060006114ba836002611f0c565b6114c5906002611f23565b67ffffffffffffffff8111156114dd576114dd611787565b6040519080825280601f01601f191660200182016040528015611507576020820181803683370190505b509050600360fc1b8160008151811061152257611522611f36565b60200101906001600160f81b031916908160001a905350600f60fb1b8160018151811061155157611551611f36565b60200101906001600160f81b031916908160001a9053506000611575846002611f0c565b611580906001611f23565b90505b60018111156115f8576f181899199a1a9b1b9c1cb0b131b232b360811b85600f16601081106115b4576115b4611f36565b1a60f81b8282815181106115ca576115ca611f36565b60200101906001600160f81b031916908160001a90535060049490941c936115f181611f4c565b9050611583565b5083156116475760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016107fb565b9392505050565b60006020828403121561166057600080fd5b81356001600160e01b03198116811461164757600080fd5b60005b8381101561169357818101518382015260200161167b565b50506000910152565b60208152600082518060208401526116bb816040850160208701611678565b601f01601f19169190910160400192915050565b6000602082840312156116e157600080fd5b5035919050565b6001600160a01b038116811461062657600080fd5b6000806040838503121561171057600080fd5b823561171b816116e8565b946020939093013593505050565b60008060006060848603121561173e57600080fd5b8335611749816116e8565b92506020840135611759816116e8565b929592945050506040919091013590565b60006020828403121561177c57600080fd5b8135611647816116e8565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156117c6576117c6611787565b604052919050565b600067ffffffffffffffff8211156117e8576117e8611787565b50601f01601f191660200190565b6000611809611804846117ce565b61179d565b905082815283838301111561181d57600080fd5b828260208301376000602084830101529392505050565b600082601f83011261184557600080fd5b611647838335602085016117f6565b6000806040838503121561186757600080fd5b823567ffffffffffffffff8082111561187f57600080fd5b61188b86838701611834565b935060208501359150808211156118a157600080fd5b506118ae85828601611834565b9150509250929050565b6000806000606084860312156118cd57600080fd5b83356118d8816116e8565b925060208401356118e8816116e8565b915060408401356118f8816116e8565b809150509250925092565b6000806040838503121561191657600080fd5b8235611921816116e8565b91506020830135801515811461193657600080fd5b809150509250929050565b6000806000806080858703121561195757600080fd5b8435611962816116e8565b93506020850135611972816116e8565b925060408501359150606085013567ffffffffffffffff81111561199557600080fd5b8501601f810187136119a657600080fd5b6119b5878235602084016117f6565b91505092959194509250565b600080604083850312156119d457600080fd5b82356119df816116e8565b91506020830135611936816116e8565b600181811c90821680611a0357607f821691505b602082108103611a2357634e487b7160e01b600052602260045260246000fd5b50919050565b600060208284031215611a3b57600080fd5b8151611647816116e8565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b601f8211156105e657600081815260208120601f850160051c81016020861015611abb5750805b601f850160051c820191505b81811015611ada57828155600101611ac7565b505050505050565b815167ffffffffffffffff811115611afc57611afc611787565b611b1081611b0a84546119ef565b84611a94565b602080601f831160018114611b455760008415611b2d5750858301515b600019600386901b1c1916600185901b178555611ada565b600085815260208120601f198616915b82811015611b7457888601518255948401946001909101908401611b55565b5085821015611b925787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060808284031215611bb457600080fd5b6040516080810181811067ffffffffffffffff82111715611bd757611bd7611787565b6040528251611be5816116e8565b81526020830151611bf5816116e8565b60208201526040830151611c08816116e8565b6040820152606083015163ffffffff81168114611c2457600080fd5b60608201529392505050565b600060208284031215611c4257600080fd5b5051919050565b60008060008060808587031215611c5f57600080fd5b84519350602085015180600b0b8114611c7757600080fd5b6040860151606090960151949790965092505050565b60008151611c9f818560208601611678565b9290920192915050565b60008551611cbb818460208a01611678565b693f666c6f77526174653d60b01b9083019081528551611ce281600a840160208a01611678565b69266f7574676f696e673d60b01b600a92909101918201528451611d0d816014840160208901611678565b8451910190611d23816014840160208801611678565b016014019695505050505050565b600060208284031215611d4357600080fd5b815167ffffffffffffffff811115611d5a57600080fd5b8201601f81018413611d6b57600080fd5b8051611d79611804826117ce565b818152856020838501011115611d8e57600080fd5b611d9f826020830160208601611678565b95945050505050565b600060208284031215611dba57600080fd5b815160ff8116811461164757600080fd5b6e26746f6b656e5f616464726573733d60881b815260008851611df581600f850160208d01611678565b6926636861696e5f69643d60b01b600f918401918201528851611e1f816019840160208d01611678565b6d26746f6b656e5f73796d626f6c3d60901b601992909101918201528751611e4e816027840160208c01611678565b672673656e6465723d60c01b602792909101918201528651611e7781602f840160208b01611678565b692672656365697665723d60b01b602f9290910191820152611ee8611ee2611eca611ec4611ea8603986018b611c8d565b6f26746f6b656e5f646563696d616c733d60801b815260100190565b88611c8d565b6b2673746172745f646174653d60a01b8152600c0190565b85611c8d565b9a9950505050505050505050565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176104a0576104a0611ef6565b808201808211156104a0576104a0611ef6565b634e487b7160e01b600052603260045260246000fd5b600081611f5b57611f5b611ef6565b50600019019056fe68747470733a2f2f6e66742e7375706572666c7569642e66696e616e63652f6366612f76322f6765746d657461a264697066735822122052fd4223e4c7f0e378fcc5af1ac50619b3e28d21691e57db1c64d67a7fda891564736f6c63430008130033";
16
16
  static readonly abi: readonly [{
17
17
  readonly inputs: readonly [{
18
18
  readonly internalType: "contract ISuperfluid";
@@ -678,7 +678,7 @@ const _abi = [
678
678
  type: "function",
679
679
  },
680
680
  ];
681
- const _bytecode = "0x60e06040523480156200001157600080fd5b506040516200217c3803806200217c8339810160408190526200003491620000fd565b6001600160a01b03821660a0819052604051635b69006f60e11b81527fa9214cc96615e0085d3bb077758db69497dc2dce3b2b1e97bc93c3d18d83efd3600482015283919063b6d200de90602401602060405180830381865afa158015620000a0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000c691906200013c565b6001600160a01b039081166080529190911660c05250620001639050565b6001600160a01b0381168114620000fa57600080fd5b50565b600080604083850312156200011157600080fd5b82516200011e81620000e4565b60208401519092506200013181620000e4565b809150509250929050565b6000602082840312156200014f57600080fd5b81516200015c81620000e4565b9392505050565b60805160a05160c051611fc6620001b66000396000818161043201528181610634015281816106a6015261099c0152600081816102c901526106f1015260008181610230015261108c0152611fc66000f3fe608060405234801561001057600080fd5b50600436106101a95760003560e01c806350d75d25116100f957806395d89b4111610097578063b88d4fde11610071578063b88d4fde146103f4578063c87b56dd14610407578063e985e9c51461041a578063ef43d2c61461042d57600080fd5b806395d89b41146103d15780639903ad38146103d9578063a22cb465146103e157600080fd5b80636c0360eb116100d35780636c0360eb1461034957806370a082311461035157806389f71d2d146103655780638d47859e1461037857600080fd5b806350d75d25146102fe57806352d1902d146103065780636352211e1461033657600080fd5b80632f3885601161016657806342966c681161014057806342966c681461029e57806346951954146102b157806349f289dc146102c45780634cd88b76146102eb57600080fd5b80632f3885601461026557806340c10f191461027857806342842e0e1461028b57600080fd5b806301ffc9a7146101ae57806306fdde03146101d6578063081812fc146101eb578063095ea7b314610216578063181561011461022b57806323b872dd14610252575b600080fd5b6101c16101bc36600461164e565b610454565b60405190151581526020015b60405180910390f35b6101de6104a6565b6040516101cd919061169c565b6101fe6101f93660046116cf565b610538565b6040516001600160a01b0390911681526020016101cd565b6102296102243660046116fd565b61055f565b005b6101fe7f000000000000000000000000000000000000000000000000000000000000000081565b610229610260366004611729565b6105eb565b6102296102733660046116cf565b61061d565b6102296102863660046116fd565b610629565b610229610299366004611729565b610680565b6102296102ac3660046116cf565b61069b565b6102296102bf36600461176a565b6106ed565b6101fe7f000000000000000000000000000000000000000000000000000000000000000081565b6102296102f9366004611854565b6107a5565b6101fe61088b565b7f9a61ea3469d742a522f41a67608e442d2c27902bed81123f00ba6d3e12e9871e5b6040519081526020016101cd565b6101fe6103443660046116cf565b6108ba565b6101de6108ef565b61032861035f36600461176a565b50600190565b6103286103733660046118b8565b61090b565b61038b6103863660046116cf565b61095e565b6040805182516001600160a01b03908116825260208085015182169083015283830151169181019190915260609182015163ffffffff16918101919091526080016101cd565b6101de610a07565b610229610a16565b6102296103ef366004611903565b610ad8565b610229610402366004611941565b610ae3565b6101de6104153660046116cf565b610b1c565b6101c16104283660046119c1565b610b29565b6101fe7f000000000000000000000000000000000000000000000000000000000000000081565b60006301ffc9a760e01b6001600160e01b03198316148061048557506380ac58cd60e01b6001600160e01b03198316145b806104a05750635b5e139f60e01b6001600160e01b03198316145b92915050565b6060600180546104b5906119ef565b80601f01602080910402602001604051908101604052809291908181526020018280546104e1906119ef565b801561052e5780601f106105035761010080835404028352916020019161052e565b820191906000526020600020905b81548152906001019060200180831161051157829003601f168201915b5050505050905090565b600061054382610b57565b506000908152600360205260409020546001600160a01b031690565b600061056a826108ba565b9050806001600160a01b0316836001600160a01b03160361059e5760405163e4790b2560e01b815260040160405180910390fd5b336001600160a01b038216148015906105be57506105bc8133610b29565b155b156105dc5760405163519a92c160e11b815260040160405180910390fd5b6105e68383610b7d565b505050565b6105f53382610beb565b610612576040516312a8eb0360e11b815260040160405180910390fd5b6105e6838383610c49565b61062681610c62565b50565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106725760405163740f7abd60e11b815260040160405180910390fd5b61067c8282610c92565b5050565b6105e683838360405180602001604052806000815250610ae3565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106e45760405163740f7abd60e11b815260040160405180910390fd5b61062681610cce565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663731aed6e6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561074d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107719190611a29565b9050336001600160a01b0382161461079c5760405163ebb7505b60e01b815260040160405180910390fd5b61067c82610d41565b600054610100900460ff16158080156107c55750600054600160ff909116105b806107df5750303b1580156107df575060005460ff166001145b6108045760405162461bcd60e51b81526004016107fb90611a46565b60405180910390fd5b6000805460ff191660011790558015610827576000805461ff0019166101001790555b60016108338482611ae2565b5060026108408382611ae2565b5080156105e6576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050565b60006108b57f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b6000806108c683610f7b565b90506001600160a01b0381166104a05760405163eab95e3b60e01b815260040160405180910390fd5b6040518060600160405280602d8152602001611f64602d913981565b60408051466020808301919091526001600160a01b0380871683850152808616606084015284166080808401919091528351808403909101815260a090920190925280519101206000905b949350505050565b60408051608081018252600080825260208201819052818301819052606082015290516346a3c2cf60e11b8152600481018390526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690638d47859e90602401608060405180830381865afa1580156109e3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104a09190611ba2565b6060600280546104b5906119ef565b600054610100900460ff1615808015610a365750600054600160ff909116105b80610a505750303b158015610a50575060005460ff166001145b610a6c5760405162461bcd60e51b81526004016107fb90611a46565b6000805460ff191660011790558015610a8f576000805461ff0019166101001790555b8015610626576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a150565b61067c338383610f92565b610aed3383610beb565b610b0a576040516312a8eb0360e11b815260040160405180910390fd5b610b1684848484611031565b50505050565b60606104a082600161103c565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205460ff1690565b610b60816111a8565b6106265760405163eab95e3b60e01b815260040160405180910390fd5b600081815260036020526040902080546001600160a01b0319166001600160a01b0384169081179091558190610bb282610f7b565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600080610bf7836108ba565b9050806001600160a01b0316846001600160a01b03161480610c1e5750610c1e8185610b29565b806109565750836001600160a01b0316610c3784610538565b6001600160a01b031614949350505050565b60405163553a3f6560e11b815260040160405180910390fd5b6040518181527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce790602001610acd565b60405181906001600160a01b038416906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b6000610cd98261095e565b600083815260036020526040902080546001600160a01b031916905590508160006001600160a01b031682604001516001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050565b6000610d6b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b031603610dc15760405162461bcd60e51b815260206004820152601d60248201527f5555505350726f786961626c653a206e6f742075706772616461626c6500000060448201526064016107fb565b806001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610dff573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e239190611c30565b7f9a61ea3469d742a522f41a67608e442d2c27902bed81123f00ba6d3e12e9871e14610e9d5760405162461bcd60e51b815260206004820152602360248201527f5555505350726f786961626c653a206e6f7420636f6d70617469626c65206c6f60448201526267696360e81b60648201526084016107fb565b6001600160a01b0381163003610ef55760405162461bcd60e51b815260206004820152601960248201527f5555505350726f786961626c653a2070726f7879206c6f6f700000000000000060448201526064016107fb565b610f1d817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fe011bc04c286c344a8fcbb8de77f953da762c3e25d8cdea984147fc4168a5dcc7f9a61ea3469d742a522f41a67608e442d2c27902bed81123f00ba6d3e12e9871e604080519182526001600160a01b038416602083015201610acd565b600080610f878361095e565b604001519392505050565b816001600160a01b0316836001600160a01b031603610fc45760405163d3c7732960e01b815260040160405180910390fd5b6001600160a01b03838116600081815260046020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b610b16848484610c49565b606060006110498461095e565b805160208201516040808401519051631cd43d1160e31b81526001600160a01b0380851660048301529283166024820152908216604482015292935090916000917f0000000000000000000000000000000000000000000000000000000000000000169063e6a1e88890606401608060405180830381865afa1580156110d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110f79190611c49565b50509150506040518060600160405280602d8152602001611f64602d913961112c826bffffffffffffffffffffffff166111c5565b8661115357604051806040016040528060048152602001637472756560e01b815250611172565b6040518060400160405280600581526020016466616c736560d81b8152505b61117b89611258565b60405160200161118e9493929190611ca9565b604051602081830303815290604052935050505092915050565b6000806111b483610f7b565b6001600160a01b0316141592915050565b606060006111d2836113d3565b600101905060008167ffffffffffffffff8111156111f2576111f2611787565b6040519080825280601f01601f19166020018201604052801561121c576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a850494508461122657509392505050565b606060006112658361095e565b905061127f81600001516001600160a01b031660146114ab565b611288466111c5565b82600001516001600160a01b03166395d89b416040518163ffffffff1660e01b8152600401600060405180830381865afa1580156112ca573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526112f29190810190611d31565b61130a84602001516001600160a01b031660146114ab565b61132285604001516001600160a01b031660146114ab565b61139386600001516001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015611367573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061138b9190611da8565b60ff166111c5565b6113a6876060015163ffffffff166111c5565b6040516020016113bc9796959493929190611dcb565b604051602081830303815290604052915050919050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b83106114125772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef8100000000831061143e576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061145c57662386f26fc10000830492506010015b6305f5e1008310611474576305f5e100830492506008015b612710831061148857612710830492506004015b6064831061149a576064830492506002015b600a83106104a05760010192915050565b606060006114ba836002611f0c565b6114c5906002611f23565b67ffffffffffffffff8111156114dd576114dd611787565b6040519080825280601f01601f191660200182016040528015611507576020820181803683370190505b509050600360fc1b8160008151811061152257611522611f36565b60200101906001600160f81b031916908160001a905350600f60fb1b8160018151811061155157611551611f36565b60200101906001600160f81b031916908160001a9053506000611575846002611f0c565b611580906001611f23565b90505b60018111156115f8576f181899199a1a9b1b9c1cb0b131b232b360811b85600f16601081106115b4576115b4611f36565b1a60f81b8282815181106115ca576115ca611f36565b60200101906001600160f81b031916908160001a90535060049490941c936115f181611f4c565b9050611583565b5083156116475760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016107fb565b9392505050565b60006020828403121561166057600080fd5b81356001600160e01b03198116811461164757600080fd5b60005b8381101561169357818101518382015260200161167b565b50506000910152565b60208152600082518060208401526116bb816040850160208701611678565b601f01601f19169190910160400192915050565b6000602082840312156116e157600080fd5b5035919050565b6001600160a01b038116811461062657600080fd5b6000806040838503121561171057600080fd5b823561171b816116e8565b946020939093013593505050565b60008060006060848603121561173e57600080fd5b8335611749816116e8565b92506020840135611759816116e8565b929592945050506040919091013590565b60006020828403121561177c57600080fd5b8135611647816116e8565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156117c6576117c6611787565b604052919050565b600067ffffffffffffffff8211156117e8576117e8611787565b50601f01601f191660200190565b6000611809611804846117ce565b61179d565b905082815283838301111561181d57600080fd5b828260208301376000602084830101529392505050565b600082601f83011261184557600080fd5b611647838335602085016117f6565b6000806040838503121561186757600080fd5b823567ffffffffffffffff8082111561187f57600080fd5b61188b86838701611834565b935060208501359150808211156118a157600080fd5b506118ae85828601611834565b9150509250929050565b6000806000606084860312156118cd57600080fd5b83356118d8816116e8565b925060208401356118e8816116e8565b915060408401356118f8816116e8565b809150509250925092565b6000806040838503121561191657600080fd5b8235611921816116e8565b91506020830135801515811461193657600080fd5b809150509250929050565b6000806000806080858703121561195757600080fd5b8435611962816116e8565b93506020850135611972816116e8565b925060408501359150606085013567ffffffffffffffff81111561199557600080fd5b8501601f810187136119a657600080fd5b6119b5878235602084016117f6565b91505092959194509250565b600080604083850312156119d457600080fd5b82356119df816116e8565b91506020830135611936816116e8565b600181811c90821680611a0357607f821691505b602082108103611a2357634e487b7160e01b600052602260045260246000fd5b50919050565b600060208284031215611a3b57600080fd5b8151611647816116e8565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b601f8211156105e657600081815260208120601f850160051c81016020861015611abb5750805b601f850160051c820191505b81811015611ada57828155600101611ac7565b505050505050565b815167ffffffffffffffff811115611afc57611afc611787565b611b1081611b0a84546119ef565b84611a94565b602080601f831160018114611b455760008415611b2d5750858301515b600019600386901b1c1916600185901b178555611ada565b600085815260208120601f198616915b82811015611b7457888601518255948401946001909101908401611b55565b5085821015611b925787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060808284031215611bb457600080fd5b6040516080810181811067ffffffffffffffff82111715611bd757611bd7611787565b6040528251611be5816116e8565b81526020830151611bf5816116e8565b60208201526040830151611c08816116e8565b6040820152606083015163ffffffff81168114611c2457600080fd5b60608201529392505050565b600060208284031215611c4257600080fd5b5051919050565b60008060008060808587031215611c5f57600080fd5b84519350602085015180600b0b8114611c7757600080fd5b6040860151606090960151949790965092505050565b60008151611c9f818560208601611678565b9290920192915050565b60008551611cbb818460208a01611678565b693f666c6f77526174653d60b01b9083019081528551611ce281600a840160208a01611678565b69266f7574676f696e673d60b01b600a92909101918201528451611d0d816014840160208901611678565b8451910190611d23816014840160208801611678565b016014019695505050505050565b600060208284031215611d4357600080fd5b815167ffffffffffffffff811115611d5a57600080fd5b8201601f81018413611d6b57600080fd5b8051611d79611804826117ce565b818152856020838501011115611d8e57600080fd5b611d9f826020830160208601611678565b95945050505050565b600060208284031215611dba57600080fd5b815160ff8116811461164757600080fd5b6e26746f6b656e5f616464726573733d60881b815260008851611df581600f850160208d01611678565b6926636861696e5f69643d60b01b600f918401918201528851611e1f816019840160208d01611678565b6d26746f6b656e5f73796d626f6c3d60901b601992909101918201528751611e4e816027840160208c01611678565b672673656e6465723d60c01b602792909101918201528651611e7781602f840160208b01611678565b692672656365697665723d60b01b602f9290910191820152611ee8611ee2611eca611ec4611ea8603986018b611c8d565b6f26746f6b656e5f646563696d616c733d60801b815260100190565b88611c8d565b6b2673746172745f646174653d60a01b8152600c0190565b85611c8d565b9a9950505050505050505050565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176104a0576104a0611ef6565b808201808211156104a0576104a0611ef6565b634e487b7160e01b600052603260045260246000fd5b600081611f5b57611f5b611ef6565b50600019019056fe68747470733a2f2f6e66742e7375706572666c7569642e66696e616e63652f6366612f76322f6765746d657461a264697066735822122019a32b0d6169daa063e6366a75593d619dda4728bcd3451f956670fa5263844664736f6c63430008130033";
681
+ const _bytecode = "0x60e06040523480156200001157600080fd5b506040516200217c3803806200217c8339810160408190526200003491620000fd565b6001600160a01b03821660a0819052604051635b69006f60e11b81527fa9214cc96615e0085d3bb077758db69497dc2dce3b2b1e97bc93c3d18d83efd3600482015283919063b6d200de90602401602060405180830381865afa158015620000a0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000c691906200013c565b6001600160a01b039081166080529190911660c05250620001639050565b6001600160a01b0381168114620000fa57600080fd5b50565b600080604083850312156200011157600080fd5b82516200011e81620000e4565b60208401519092506200013181620000e4565b809150509250929050565b6000602082840312156200014f57600080fd5b81516200015c81620000e4565b9392505050565b60805160a05160c051611fc6620001b66000396000818161043201528181610634015281816106a6015261099c0152600081816102c901526106f1015260008181610230015261108c0152611fc66000f3fe608060405234801561001057600080fd5b50600436106101a95760003560e01c806350d75d25116100f957806395d89b4111610097578063b88d4fde11610071578063b88d4fde146103f4578063c87b56dd14610407578063e985e9c51461041a578063ef43d2c61461042d57600080fd5b806395d89b41146103d15780639903ad38146103d9578063a22cb465146103e157600080fd5b80636c0360eb116100d35780636c0360eb1461034957806370a082311461035157806389f71d2d146103655780638d47859e1461037857600080fd5b806350d75d25146102fe57806352d1902d146103065780636352211e1461033657600080fd5b80632f3885601161016657806342966c681161014057806342966c681461029e57806346951954146102b157806349f289dc146102c45780634cd88b76146102eb57600080fd5b80632f3885601461026557806340c10f191461027857806342842e0e1461028b57600080fd5b806301ffc9a7146101ae57806306fdde03146101d6578063081812fc146101eb578063095ea7b314610216578063181561011461022b57806323b872dd14610252575b600080fd5b6101c16101bc36600461164e565b610454565b60405190151581526020015b60405180910390f35b6101de6104a6565b6040516101cd919061169c565b6101fe6101f93660046116cf565b610538565b6040516001600160a01b0390911681526020016101cd565b6102296102243660046116fd565b61055f565b005b6101fe7f000000000000000000000000000000000000000000000000000000000000000081565b610229610260366004611729565b6105eb565b6102296102733660046116cf565b61061d565b6102296102863660046116fd565b610629565b610229610299366004611729565b610680565b6102296102ac3660046116cf565b61069b565b6102296102bf36600461176a565b6106ed565b6101fe7f000000000000000000000000000000000000000000000000000000000000000081565b6102296102f9366004611854565b6107a5565b6101fe61088b565b7f9a61ea3469d742a522f41a67608e442d2c27902bed81123f00ba6d3e12e9871e5b6040519081526020016101cd565b6101fe6103443660046116cf565b6108ba565b6101de6108ef565b61032861035f36600461176a565b50600190565b6103286103733660046118b8565b61090b565b61038b6103863660046116cf565b61095e565b6040805182516001600160a01b03908116825260208085015182169083015283830151169181019190915260609182015163ffffffff16918101919091526080016101cd565b6101de610a07565b610229610a16565b6102296103ef366004611903565b610ad8565b610229610402366004611941565b610ae3565b6101de6104153660046116cf565b610b1c565b6101c16104283660046119c1565b610b29565b6101fe7f000000000000000000000000000000000000000000000000000000000000000081565b60006301ffc9a760e01b6001600160e01b03198316148061048557506380ac58cd60e01b6001600160e01b03198316145b806104a05750635b5e139f60e01b6001600160e01b03198316145b92915050565b6060600180546104b5906119ef565b80601f01602080910402602001604051908101604052809291908181526020018280546104e1906119ef565b801561052e5780601f106105035761010080835404028352916020019161052e565b820191906000526020600020905b81548152906001019060200180831161051157829003601f168201915b5050505050905090565b600061054382610b57565b506000908152600360205260409020546001600160a01b031690565b600061056a826108ba565b9050806001600160a01b0316836001600160a01b03160361059e5760405163e4790b2560e01b815260040160405180910390fd5b336001600160a01b038216148015906105be57506105bc8133610b29565b155b156105dc5760405163519a92c160e11b815260040160405180910390fd5b6105e68383610b7d565b505050565b6105f53382610beb565b610612576040516312a8eb0360e11b815260040160405180910390fd5b6105e6838383610c49565b61062681610c62565b50565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106725760405163740f7abd60e11b815260040160405180910390fd5b61067c8282610c92565b5050565b6105e683838360405180602001604052806000815250610ae3565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106e45760405163740f7abd60e11b815260040160405180910390fd5b61062681610cce565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663731aed6e6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561074d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107719190611a29565b9050336001600160a01b0382161461079c5760405163ebb7505b60e01b815260040160405180910390fd5b61067c82610d41565b600054610100900460ff16158080156107c55750600054600160ff909116105b806107df5750303b1580156107df575060005460ff166001145b6108045760405162461bcd60e51b81526004016107fb90611a46565b60405180910390fd5b6000805460ff191660011790558015610827576000805461ff0019166101001790555b60016108338482611ae2565b5060026108408382611ae2565b5080156105e6576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050565b60006108b57f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b6000806108c683610f7b565b90506001600160a01b0381166104a05760405163eab95e3b60e01b815260040160405180910390fd5b6040518060600160405280602d8152602001611f64602d913981565b60408051466020808301919091526001600160a01b0380871683850152808616606084015284166080808401919091528351808403909101815260a090920190925280519101206000905b949350505050565b60408051608081018252600080825260208201819052818301819052606082015290516346a3c2cf60e11b8152600481018390526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690638d47859e90602401608060405180830381865afa1580156109e3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104a09190611ba2565b6060600280546104b5906119ef565b600054610100900460ff1615808015610a365750600054600160ff909116105b80610a505750303b158015610a50575060005460ff166001145b610a6c5760405162461bcd60e51b81526004016107fb90611a46565b6000805460ff191660011790558015610a8f576000805461ff0019166101001790555b8015610626576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a150565b61067c338383610f92565b610aed3383610beb565b610b0a576040516312a8eb0360e11b815260040160405180910390fd5b610b1684848484611031565b50505050565b60606104a082600161103c565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205460ff1690565b610b60816111a8565b6106265760405163eab95e3b60e01b815260040160405180910390fd5b600081815260036020526040902080546001600160a01b0319166001600160a01b0384169081179091558190610bb282610f7b565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600080610bf7836108ba565b9050806001600160a01b0316846001600160a01b03161480610c1e5750610c1e8185610b29565b806109565750836001600160a01b0316610c3784610538565b6001600160a01b031614949350505050565b60405163553a3f6560e11b815260040160405180910390fd5b6040518181527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce790602001610acd565b60405181906001600160a01b038416906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b6000610cd98261095e565b600083815260036020526040902080546001600160a01b031916905590508160006001600160a01b031682604001516001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050565b6000610d6b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b031603610dc15760405162461bcd60e51b815260206004820152601d60248201527f5555505350726f786961626c653a206e6f742075706772616461626c6500000060448201526064016107fb565b806001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610dff573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e239190611c30565b7f9a61ea3469d742a522f41a67608e442d2c27902bed81123f00ba6d3e12e9871e14610e9d5760405162461bcd60e51b815260206004820152602360248201527f5555505350726f786961626c653a206e6f7420636f6d70617469626c65206c6f60448201526267696360e81b60648201526084016107fb565b6001600160a01b0381163003610ef55760405162461bcd60e51b815260206004820152601960248201527f5555505350726f786961626c653a2070726f7879206c6f6f700000000000000060448201526064016107fb565b610f1d817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fe011bc04c286c344a8fcbb8de77f953da762c3e25d8cdea984147fc4168a5dcc7f9a61ea3469d742a522f41a67608e442d2c27902bed81123f00ba6d3e12e9871e604080519182526001600160a01b038416602083015201610acd565b600080610f878361095e565b604001519392505050565b816001600160a01b0316836001600160a01b031603610fc45760405163d3c7732960e01b815260040160405180910390fd5b6001600160a01b03838116600081815260046020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b610b16848484610c49565b606060006110498461095e565b805160208201516040808401519051631cd43d1160e31b81526001600160a01b0380851660048301529283166024820152908216604482015292935090916000917f0000000000000000000000000000000000000000000000000000000000000000169063e6a1e88890606401608060405180830381865afa1580156110d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110f79190611c49565b50509150506040518060600160405280602d8152602001611f64602d913961112c826bffffffffffffffffffffffff166111c5565b8661115357604051806040016040528060048152602001637472756560e01b815250611172565b6040518060400160405280600581526020016466616c736560d81b8152505b61117b89611258565b60405160200161118e9493929190611ca9565b604051602081830303815290604052935050505092915050565b6000806111b483610f7b565b6001600160a01b0316141592915050565b606060006111d2836113d3565b600101905060008167ffffffffffffffff8111156111f2576111f2611787565b6040519080825280601f01601f19166020018201604052801561121c576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a850494508461122657509392505050565b606060006112658361095e565b905061127f81600001516001600160a01b031660146114ab565b611288466111c5565b82600001516001600160a01b03166395d89b416040518163ffffffff1660e01b8152600401600060405180830381865afa1580156112ca573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526112f29190810190611d31565b61130a84602001516001600160a01b031660146114ab565b61132285604001516001600160a01b031660146114ab565b61139386600001516001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015611367573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061138b9190611da8565b60ff166111c5565b6113a6876060015163ffffffff166111c5565b6040516020016113bc9796959493929190611dcb565b604051602081830303815290604052915050919050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b83106114125772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef8100000000831061143e576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061145c57662386f26fc10000830492506010015b6305f5e1008310611474576305f5e100830492506008015b612710831061148857612710830492506004015b6064831061149a576064830492506002015b600a83106104a05760010192915050565b606060006114ba836002611f0c565b6114c5906002611f23565b67ffffffffffffffff8111156114dd576114dd611787565b6040519080825280601f01601f191660200182016040528015611507576020820181803683370190505b509050600360fc1b8160008151811061152257611522611f36565b60200101906001600160f81b031916908160001a905350600f60fb1b8160018151811061155157611551611f36565b60200101906001600160f81b031916908160001a9053506000611575846002611f0c565b611580906001611f23565b90505b60018111156115f8576f181899199a1a9b1b9c1cb0b131b232b360811b85600f16601081106115b4576115b4611f36565b1a60f81b8282815181106115ca576115ca611f36565b60200101906001600160f81b031916908160001a90535060049490941c936115f181611f4c565b9050611583565b5083156116475760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016107fb565b9392505050565b60006020828403121561166057600080fd5b81356001600160e01b03198116811461164757600080fd5b60005b8381101561169357818101518382015260200161167b565b50506000910152565b60208152600082518060208401526116bb816040850160208701611678565b601f01601f19169190910160400192915050565b6000602082840312156116e157600080fd5b5035919050565b6001600160a01b038116811461062657600080fd5b6000806040838503121561171057600080fd5b823561171b816116e8565b946020939093013593505050565b60008060006060848603121561173e57600080fd5b8335611749816116e8565b92506020840135611759816116e8565b929592945050506040919091013590565b60006020828403121561177c57600080fd5b8135611647816116e8565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156117c6576117c6611787565b604052919050565b600067ffffffffffffffff8211156117e8576117e8611787565b50601f01601f191660200190565b6000611809611804846117ce565b61179d565b905082815283838301111561181d57600080fd5b828260208301376000602084830101529392505050565b600082601f83011261184557600080fd5b611647838335602085016117f6565b6000806040838503121561186757600080fd5b823567ffffffffffffffff8082111561187f57600080fd5b61188b86838701611834565b935060208501359150808211156118a157600080fd5b506118ae85828601611834565b9150509250929050565b6000806000606084860312156118cd57600080fd5b83356118d8816116e8565b925060208401356118e8816116e8565b915060408401356118f8816116e8565b809150509250925092565b6000806040838503121561191657600080fd5b8235611921816116e8565b91506020830135801515811461193657600080fd5b809150509250929050565b6000806000806080858703121561195757600080fd5b8435611962816116e8565b93506020850135611972816116e8565b925060408501359150606085013567ffffffffffffffff81111561199557600080fd5b8501601f810187136119a657600080fd5b6119b5878235602084016117f6565b91505092959194509250565b600080604083850312156119d457600080fd5b82356119df816116e8565b91506020830135611936816116e8565b600181811c90821680611a0357607f821691505b602082108103611a2357634e487b7160e01b600052602260045260246000fd5b50919050565b600060208284031215611a3b57600080fd5b8151611647816116e8565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b601f8211156105e657600081815260208120601f850160051c81016020861015611abb5750805b601f850160051c820191505b81811015611ada57828155600101611ac7565b505050505050565b815167ffffffffffffffff811115611afc57611afc611787565b611b1081611b0a84546119ef565b84611a94565b602080601f831160018114611b455760008415611b2d5750858301515b600019600386901b1c1916600185901b178555611ada565b600085815260208120601f198616915b82811015611b7457888601518255948401946001909101908401611b55565b5085821015611b925787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060808284031215611bb457600080fd5b6040516080810181811067ffffffffffffffff82111715611bd757611bd7611787565b6040528251611be5816116e8565b81526020830151611bf5816116e8565b60208201526040830151611c08816116e8565b6040820152606083015163ffffffff81168114611c2457600080fd5b60608201529392505050565b600060208284031215611c4257600080fd5b5051919050565b60008060008060808587031215611c5f57600080fd5b84519350602085015180600b0b8114611c7757600080fd5b6040860151606090960151949790965092505050565b60008151611c9f818560208601611678565b9290920192915050565b60008551611cbb818460208a01611678565b693f666c6f77526174653d60b01b9083019081528551611ce281600a840160208a01611678565b69266f7574676f696e673d60b01b600a92909101918201528451611d0d816014840160208901611678565b8451910190611d23816014840160208801611678565b016014019695505050505050565b600060208284031215611d4357600080fd5b815167ffffffffffffffff811115611d5a57600080fd5b8201601f81018413611d6b57600080fd5b8051611d79611804826117ce565b818152856020838501011115611d8e57600080fd5b611d9f826020830160208601611678565b95945050505050565b600060208284031215611dba57600080fd5b815160ff8116811461164757600080fd5b6e26746f6b656e5f616464726573733d60881b815260008851611df581600f850160208d01611678565b6926636861696e5f69643d60b01b600f918401918201528851611e1f816019840160208d01611678565b6d26746f6b656e5f73796d626f6c3d60901b601992909101918201528751611e4e816027840160208c01611678565b672673656e6465723d60c01b602792909101918201528651611e7781602f840160208b01611678565b692672656365697665723d60b01b602f9290910191820152611ee8611ee2611eca611ec4611ea8603986018b611c8d565b6f26746f6b656e5f646563696d616c733d60801b815260100190565b88611c8d565b6b2673746172745f646174653d60a01b8152600c0190565b85611c8d565b9a9950505050505050505050565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176104a0576104a0611ef6565b808201808211156104a0576104a0611ef6565b634e487b7160e01b600052603260045260246000fd5b600081611f5b57611f5b611ef6565b50600019019056fe68747470733a2f2f6e66742e7375706572666c7569642e66696e616e63652f6366612f76322f6765746d657461a264697066735822122052fd4223e4c7f0e378fcc5af1ac50619b3e28d21691e57db1c64d67a7fda891564736f6c63430008130033";
682
682
  const isSuperArgs = (xs) => xs.length > 1;
683
683
  class ConstantInflowNFT__factory extends ethers_1.ContractFactory {
684
684
  constructor(...args) {
@@ -12,7 +12,7 @@ export declare class ConstantOutflowNFT__factory extends ContractFactory {
12
12
  }): TransactionRequest;
13
13
  attach(address: string): ConstantOutflowNFT;
14
14
  connect(signer: Signer): ConstantOutflowNFT__factory;
15
- static readonly bytecode = "0x60e06040523480156200001157600080fd5b506040516200244d3803806200244d8339810160408190526200003491620000fd565b6001600160a01b03821660a0819052604051635b69006f60e11b81527fa9214cc96615e0085d3bb077758db69497dc2dce3b2b1e97bc93c3d18d83efd3600482015283919063b6d200de90602401602060405180830381865afa158015620000a0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000c691906200013c565b6001600160a01b039081166080529190911660c05250620001639050565b6001600160a01b0381168114620000fa57600080fd5b50565b600080604083850312156200011157600080fd5b82516200011e81620000e4565b60208401519092506200013181620000e4565b809150509250929050565b6000602082840312156200014f57600080fd5b81516200015c81620000e4565b9392505050565b60805160a05160c051612282620001cb600039600081816102e501528181610b1601528181610c100152610d270152600081816102be015261067601526000818161024b01528181610a8901528181610b8c01528181610c88015261121f01526122826000f3fe608060405234801561001057600080fd5b50600436106101c45760003560e01c80636352211e116100f9578063a22cb46511610097578063e985e9c511610071578063e985e9c514610436578063eb54a7ca14610449578063ef1f02371461045c578063f7e3d9831461046f57600080fd5b8063a22cb465146103fd578063b88d4fde14610410578063c87b56dd1461042357600080fd5b806389f71d2d116100d357806389f71d2d146103815780638d47859e1461039457806395d89b41146103ed5780639903ad38146103f557600080fd5b80636352211e146103525780636c0360eb1461036557806370a082311461036d57600080fd5b806342842e0e116101665780634c5c0c85116101405780634c5c0c85146102e05780634cd88b761461030757806350d75d251461031a57806352d1902d1461032257600080fd5b806342842e0e1461029357806346951954146102a657806349f289dc146102b957600080fd5b8063095ea7b3116101a2578063095ea7b314610231578063181561011461024657806323b872dd1461026d5780632f3885601461028057600080fd5b806301ffc9a7146101c957806306fdde03146101f1578063081812fc14610206575b600080fd5b6101dc6101d7366004611982565b610482565b60405190151581526020015b60405180910390f35b6101f96104d4565b6040516101e891906119d0565b610219610214366004611a03565b610566565b6040516001600160a01b0390911681526020016101e8565b61024461023f366004611a31565b61058d565b005b6102197f000000000000000000000000000000000000000000000000000000000000000081565b61024461027b366004611a5d565b610619565b61024461028e366004611a03565b61064b565b6102446102a1366004611a5d565b610657565b6102446102b4366004611a9e565b610672565b6102197f000000000000000000000000000000000000000000000000000000000000000081565b6102197f000000000000000000000000000000000000000000000000000000000000000081565b610244610315366004611b88565b61072e565b610219610814565b7f87e44dce6a0d65a5ccf441783661f5727c2624b1f0088bbe957ce2c95406b7845b6040519081526020016101e8565b610219610360366004611a03565b610843565b6101f961087c565b61034461037b366004611a9e565b50600190565b61034461038f366004611bec565b610898565b6103a76103a2366004611a03565b6108ad565b6040805182516001600160a01b03908116825260208085015182169083015283830151169181019190915260609182015163ffffffff16918101919091526080016101e8565b6101f961092e565b61024461093d565b61024461040b366004611c37565b6109ff565b61024461041e366004611c75565b610a0a565b6101f9610431366004611a03565b610a43565b6101dc610444366004611cf5565b610a50565b610244610457366004611bec565b610a7e565b61024461046a366004611bec565b610b81565b61024461047d366004611bec565b610c7d565b60006301ffc9a760e01b6001600160e01b0319831614806104b357506380ac58cd60e01b6001600160e01b03198316145b806104ce5750635b5e139f60e01b6001600160e01b03198316145b92915050565b6060600180546104e390611d23565b80601f016020809104026020016040519081016040528092919081815260200182805461050f90611d23565b801561055c5780601f106105315761010080835404028352916020019161055c565b820191906000526020600020905b81548152906001019060200180831161053f57829003601f168201915b5050505050905090565b600061057182610d56565b506000908152600360205260409020546001600160a01b031690565b600061059882610843565b9050806001600160a01b0316836001600160a01b0316036105cc5760405163e4790b2560e01b815260040160405180910390fd5b336001600160a01b038216148015906105ec57506105ea8133610a50565b155b1561060a5760405163519a92c160e11b815260040160405180910390fd5b6106148383610d8e565b505050565b6106233382610df8565b610640576040516312a8eb0360e11b815260040160405180910390fd5b610614838383610e56565b61065481610e6f565b50565b61061483838360405180602001604052806000815250610a0a565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663731aed6e6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106f69190611d5d565b9050336001600160a01b038216146107215760405163ebb7505b60e01b815260040160405180910390fd5b61072a82610e9f565b5050565b600054610100900460ff161580801561074e5750600054600160ff909116105b806107685750303b158015610768575060005460ff166001145b61078d5760405162461bcd60e51b815260040161078490611d7a565b60405180910390fd5b6000805460ff1916600117905580156107b0576000805461ff0019166101001790555b60016107bc8482611e16565b5060026107c98382611e16565b508015610614576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050565b600061083e7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b6000818152601660205260408120600101546001600160a01b0316806104ce5760405163eab95e3b60e01b815260040160405180910390fd5b6040518060600160405280602d8152602001612220602d913981565b60006108a58484846110d9565b949350505050565b60408051608081018252600080825260208201819052918101829052606081019190915250600090815260166020908152604091829020825160808101845281546001600160a01b039081168252600183015481169382019390935260029091015491821692810192909252600160a01b900463ffffffff16606082015290565b6060600280546104e390611d23565b600054610100900460ff161580801561095d5750600054600160ff909116105b806109775750303b158015610977575060005460ff166001145b6109935760405162461bcd60e51b815260040161078490611d7a565b6000805460ff1916600117905580156109b6576000805461ff0019166101001790555b8015610654576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a150565b61072a338383611125565b610a143383610df8565b610a31576040516312a8eb0360e11b815260040160405180910390fd5b610a3d848484846111c4565b50505050565b60606104ce8260006111cf565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205460ff1690565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610ac75760405163d367b64f60e01b815260040160405180910390fd5b6000610ad48484846110d9565b6000818152601660205260409020600101549091506001600160a01b031615610a3d57610b0081610e6f565b604051630179c42b60e51b8152600481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690632f388560906024015b600060405180830381600087803b158015610b6357600080fd5b505af1158015610b77573d6000803e3d6000fd5b5050505050505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610bca5760405163d367b64f60e01b815260040160405180910390fd5b6000610bd78484846110d9565b6000818152601660205260409020600101549091506001600160a01b031615610a3d57604051630852cd8d60e31b8152600481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906342966c6890602401600060405180830381600087803b158015610c5c57600080fd5b505af1158015610c70573d6000803e3d6000fd5b50505050610a3d8161133b565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610cc65760405163d367b64f60e01b815260040160405180910390fd5b6000610cd38484846110d9565b6000818152601660205260409020600101549091506001600160a01b0316610a3d57610d01848484846113ca565b6040516340c10f1960e01b81526001600160a01b038381166004830152602482018390527f000000000000000000000000000000000000000000000000000000000000000016906340c10f1990604401610b49565b6000818152601660205260409020600101546001600160a01b03166106545760405163eab95e3b60e01b815260040160405180910390fd5b600081815260036020908152604080832080546001600160a01b0319166001600160a01b038781169182179092556016909352818420600101549151859492909116917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a45050565b600080610e0483610843565b9050806001600160a01b0316846001600160a01b03161480610e2b5750610e2b8185610a50565b806108a55750836001600160a01b0316610e4484610566565b6001600160a01b031614949350505050565b60405163553a3f6560e11b815260040160405180910390fd5b6040518181527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce7906020016109f4565b6000610ec97f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b031603610f1f5760405162461bcd60e51b815260206004820152601d60248201527f5555505350726f786961626c653a206e6f742075706772616461626c650000006044820152606401610784565b806001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f5d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f819190611ed6565b7f87e44dce6a0d65a5ccf441783661f5727c2624b1f0088bbe957ce2c95406b78414610ffb5760405162461bcd60e51b815260206004820152602360248201527f5555505350726f786961626c653a206e6f7420636f6d70617469626c65206c6f60448201526267696360e81b6064820152608401610784565b6001600160a01b03811630036110535760405162461bcd60e51b815260206004820152601960248201527f5555505350726f786961626c653a2070726f7879206c6f6f70000000000000006044820152606401610784565b61107b817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fe011bc04c286c344a8fcbb8de77f953da762c3e25d8cdea984147fc4168a5dcc7f87e44dce6a0d65a5ccf441783661f5727c2624b1f0088bbe957ce2c95406b784604080519182526001600160a01b0384166020830152016109f4565b60408051466020808301919091526001600160a01b03958616828401529385166060820152919093166080808301919091528351808303909101815260a0909101909252815191012090565b816001600160a01b0316836001600160a01b0316036111575760405163d3c7732960e01b815260040160405180910390fd5b6001600160a01b03838116600081815260046020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b610a3d848484610e56565b606060006111dc846108ad565b805160208201516040808401519051631cd43d1160e31b81526001600160a01b0380851660048301529283166024820152908216604482015292935090916000917f0000000000000000000000000000000000000000000000000000000000000000169063e6a1e88890606401608060405180830381865afa158015611266573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061128a9190611eef565b50509150506040518060600160405280602d8152602001612220602d91396112bf826bffffffffffffffffffffffff166114f9565b866112e657604051806040016040528060048152602001637472756560e01b815250611305565b6040518060400160405280600581526020016466616c736560d81b8152505b61130e8961158c565b6040516020016113219493929190611f4f565b604051602081830303815290604052935050505092915050565b60008181526016602081815260408084206001810180546003855283872080546001600160a01b0319908116909155959094528154851682558054909416909355600290920180546001600160c01b031916905590516001600160a01b0390911691839183907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b6001600160a01b0383166113e0576113e0611fd7565b816001600160a01b0316836001600160a01b03160361140157611401611fd7565b6000818152601660205260409020600101546001600160a01b03161561142957611429611fd7565b604080516080810182526001600160a01b038087168252858116602080840182815287841685870190815263ffffffff4281166060880190815260008a81526016909552888520975188549088166001600160a01b0319918216178955935160018901805491891691909516179093559051600290960180549251909116600160a01b026001600160c01b03199092169590941694909417939093179091559151839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a450505050565b6060600061150683611707565b600101905060008167ffffffffffffffff81111561152657611526611abb565b6040519080825280601f01601f191660200182016040528015611550576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a850494508461155a57509392505050565b60606000611599836108ad565b90506115b381600001516001600160a01b031660146117df565b6115bc466114f9565b82600001516001600160a01b03166395d89b416040518163ffffffff1660e01b8152600401600060405180830381865afa1580156115fe573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526116269190810190611fed565b61163e84602001516001600160a01b031660146117df565b61165685604001516001600160a01b031660146117df565b6116c786600001516001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561169b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116bf9190612064565b60ff166114f9565b6116da876060015163ffffffff166114f9565b6040516020016116f09796959493929190612087565b604051602081830303815290604052915050919050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b83106117465772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310611772576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061179057662386f26fc10000830492506010015b6305f5e10083106117a8576305f5e100830492506008015b61271083106117bc57612710830492506004015b606483106117ce576064830492506002015b600a83106104ce5760010192915050565b606060006117ee8360026121c8565b6117f99060026121df565b67ffffffffffffffff81111561181157611811611abb565b6040519080825280601f01601f19166020018201604052801561183b576020820181803683370190505b509050600360fc1b81600081518110611856576118566121f2565b60200101906001600160f81b031916908160001a905350600f60fb1b81600181518110611885576118856121f2565b60200101906001600160f81b031916908160001a90535060006118a98460026121c8565b6118b49060016121df565b90505b600181111561192c576f181899199a1a9b1b9c1cb0b131b232b360811b85600f16601081106118e8576118e86121f2565b1a60f81b8282815181106118fe576118fe6121f2565b60200101906001600160f81b031916908160001a90535060049490941c9361192581612208565b90506118b7565b50831561197b5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610784565b9392505050565b60006020828403121561199457600080fd5b81356001600160e01b03198116811461197b57600080fd5b60005b838110156119c75781810151838201526020016119af565b50506000910152565b60208152600082518060208401526119ef8160408501602087016119ac565b601f01601f19169190910160400192915050565b600060208284031215611a1557600080fd5b5035919050565b6001600160a01b038116811461065457600080fd5b60008060408385031215611a4457600080fd5b8235611a4f81611a1c565b946020939093013593505050565b600080600060608486031215611a7257600080fd5b8335611a7d81611a1c565b92506020840135611a8d81611a1c565b929592945050506040919091013590565b600060208284031215611ab057600080fd5b813561197b81611a1c565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715611afa57611afa611abb565b604052919050565b600067ffffffffffffffff821115611b1c57611b1c611abb565b50601f01601f191660200190565b6000611b3d611b3884611b02565b611ad1565b9050828152838383011115611b5157600080fd5b828260208301376000602084830101529392505050565b600082601f830112611b7957600080fd5b61197b83833560208501611b2a565b60008060408385031215611b9b57600080fd5b823567ffffffffffffffff80821115611bb357600080fd5b611bbf86838701611b68565b93506020850135915080821115611bd557600080fd5b50611be285828601611b68565b9150509250929050565b600080600060608486031215611c0157600080fd5b8335611c0c81611a1c565b92506020840135611c1c81611a1c565b91506040840135611c2c81611a1c565b809150509250925092565b60008060408385031215611c4a57600080fd5b8235611c5581611a1c565b915060208301358015158114611c6a57600080fd5b809150509250929050565b60008060008060808587031215611c8b57600080fd5b8435611c9681611a1c565b93506020850135611ca681611a1c565b925060408501359150606085013567ffffffffffffffff811115611cc957600080fd5b8501601f81018713611cda57600080fd5b611ce987823560208401611b2a565b91505092959194509250565b60008060408385031215611d0857600080fd5b8235611d1381611a1c565b91506020830135611c6a81611a1c565b600181811c90821680611d3757607f821691505b602082108103611d5757634e487b7160e01b600052602260045260246000fd5b50919050565b600060208284031215611d6f57600080fd5b815161197b81611a1c565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b601f82111561061457600081815260208120601f850160051c81016020861015611def5750805b601f850160051c820191505b81811015611e0e57828155600101611dfb565b505050505050565b815167ffffffffffffffff811115611e3057611e30611abb565b611e4481611e3e8454611d23565b84611dc8565b602080601f831160018114611e795760008415611e615750858301515b600019600386901b1c1916600185901b178555611e0e565b600085815260208120601f198616915b82811015611ea857888601518255948401946001909101908401611e89565b5085821015611ec65787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215611ee857600080fd5b5051919050565b60008060008060808587031215611f0557600080fd5b84519350602085015180600b0b8114611f1d57600080fd5b6040860151606090960151949790965092505050565b60008151611f458185602086016119ac565b9290920192915050565b60008551611f61818460208a016119ac565b693f666c6f77526174653d60b01b9083019081528551611f8881600a840160208a016119ac565b69266f7574676f696e673d60b01b600a92909101918201528451611fb38160148401602089016119ac565b8451910190611fc98160148401602088016119ac565b016014019695505050505050565b634e487b7160e01b600052600160045260246000fd5b600060208284031215611fff57600080fd5b815167ffffffffffffffff81111561201657600080fd5b8201601f8101841361202757600080fd5b8051612035611b3882611b02565b81815285602083850101111561204a57600080fd5b61205b8260208301602086016119ac565b95945050505050565b60006020828403121561207657600080fd5b815160ff8116811461197b57600080fd5b6e26746f6b656e5f616464726573733d60881b8152600088516120b181600f850160208d016119ac565b6926636861696e5f69643d60b01b600f9184019182015288516120db816019840160208d016119ac565b6d26746f6b656e5f73796d626f6c3d60901b60199290910191820152875161210a816027840160208c016119ac565b672673656e6465723d60c01b60279290910191820152865161213381602f840160208b016119ac565b692672656365697665723d60b01b602f92909101918201526121a461219e612186612180612164603986018b611f33565b6f26746f6b656e5f646563696d616c733d60801b815260100190565b88611f33565b6b2673746172745f646174653d60a01b8152600c0190565b85611f33565b9a9950505050505050505050565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176104ce576104ce6121b2565b808201808211156104ce576104ce6121b2565b634e487b7160e01b600052603260045260246000fd5b600081612217576122176121b2565b50600019019056fe68747470733a2f2f6e66742e7375706572666c7569642e66696e616e63652f6366612f76322f6765746d657461a26469706673582212208f70e90b14f96f84e70b0491ef7c7714aa61097456b673e27d895fa5e93c4aa864736f6c63430008130033";
15
+ static readonly bytecode = "0x60e06040523480156200001157600080fd5b506040516200244d3803806200244d8339810160408190526200003491620000fd565b6001600160a01b03821660a0819052604051635b69006f60e11b81527fa9214cc96615e0085d3bb077758db69497dc2dce3b2b1e97bc93c3d18d83efd3600482015283919063b6d200de90602401602060405180830381865afa158015620000a0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000c691906200013c565b6001600160a01b039081166080529190911660c05250620001639050565b6001600160a01b0381168114620000fa57600080fd5b50565b600080604083850312156200011157600080fd5b82516200011e81620000e4565b60208401519092506200013181620000e4565b809150509250929050565b6000602082840312156200014f57600080fd5b81516200015c81620000e4565b9392505050565b60805160a05160c051612282620001cb600039600081816102e501528181610b1601528181610c100152610d270152600081816102be015261067601526000818161024b01528181610a8901528181610b8c01528181610c88015261121f01526122826000f3fe608060405234801561001057600080fd5b50600436106101c45760003560e01c80636352211e116100f9578063a22cb46511610097578063e985e9c511610071578063e985e9c514610436578063eb54a7ca14610449578063ef1f02371461045c578063f7e3d9831461046f57600080fd5b8063a22cb465146103fd578063b88d4fde14610410578063c87b56dd1461042357600080fd5b806389f71d2d116100d357806389f71d2d146103815780638d47859e1461039457806395d89b41146103ed5780639903ad38146103f557600080fd5b80636352211e146103525780636c0360eb1461036557806370a082311461036d57600080fd5b806342842e0e116101665780634c5c0c85116101405780634c5c0c85146102e05780634cd88b761461030757806350d75d251461031a57806352d1902d1461032257600080fd5b806342842e0e1461029357806346951954146102a657806349f289dc146102b957600080fd5b8063095ea7b3116101a2578063095ea7b314610231578063181561011461024657806323b872dd1461026d5780632f3885601461028057600080fd5b806301ffc9a7146101c957806306fdde03146101f1578063081812fc14610206575b600080fd5b6101dc6101d7366004611982565b610482565b60405190151581526020015b60405180910390f35b6101f96104d4565b6040516101e891906119d0565b610219610214366004611a03565b610566565b6040516001600160a01b0390911681526020016101e8565b61024461023f366004611a31565b61058d565b005b6102197f000000000000000000000000000000000000000000000000000000000000000081565b61024461027b366004611a5d565b610619565b61024461028e366004611a03565b61064b565b6102446102a1366004611a5d565b610657565b6102446102b4366004611a9e565b610672565b6102197f000000000000000000000000000000000000000000000000000000000000000081565b6102197f000000000000000000000000000000000000000000000000000000000000000081565b610244610315366004611b88565b61072e565b610219610814565b7f87e44dce6a0d65a5ccf441783661f5727c2624b1f0088bbe957ce2c95406b7845b6040519081526020016101e8565b610219610360366004611a03565b610843565b6101f961087c565b61034461037b366004611a9e565b50600190565b61034461038f366004611bec565b610898565b6103a76103a2366004611a03565b6108ad565b6040805182516001600160a01b03908116825260208085015182169083015283830151169181019190915260609182015163ffffffff16918101919091526080016101e8565b6101f961092e565b61024461093d565b61024461040b366004611c37565b6109ff565b61024461041e366004611c75565b610a0a565b6101f9610431366004611a03565b610a43565b6101dc610444366004611cf5565b610a50565b610244610457366004611bec565b610a7e565b61024461046a366004611bec565b610b81565b61024461047d366004611bec565b610c7d565b60006301ffc9a760e01b6001600160e01b0319831614806104b357506380ac58cd60e01b6001600160e01b03198316145b806104ce5750635b5e139f60e01b6001600160e01b03198316145b92915050565b6060600180546104e390611d23565b80601f016020809104026020016040519081016040528092919081815260200182805461050f90611d23565b801561055c5780601f106105315761010080835404028352916020019161055c565b820191906000526020600020905b81548152906001019060200180831161053f57829003601f168201915b5050505050905090565b600061057182610d56565b506000908152600360205260409020546001600160a01b031690565b600061059882610843565b9050806001600160a01b0316836001600160a01b0316036105cc5760405163e4790b2560e01b815260040160405180910390fd5b336001600160a01b038216148015906105ec57506105ea8133610a50565b155b1561060a5760405163519a92c160e11b815260040160405180910390fd5b6106148383610d8e565b505050565b6106233382610df8565b610640576040516312a8eb0360e11b815260040160405180910390fd5b610614838383610e56565b61065481610e6f565b50565b61061483838360405180602001604052806000815250610a0a565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663731aed6e6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106f69190611d5d565b9050336001600160a01b038216146107215760405163ebb7505b60e01b815260040160405180910390fd5b61072a82610e9f565b5050565b600054610100900460ff161580801561074e5750600054600160ff909116105b806107685750303b158015610768575060005460ff166001145b61078d5760405162461bcd60e51b815260040161078490611d7a565b60405180910390fd5b6000805460ff1916600117905580156107b0576000805461ff0019166101001790555b60016107bc8482611e16565b5060026107c98382611e16565b508015610614576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050565b600061083e7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b6000818152601660205260408120600101546001600160a01b0316806104ce5760405163eab95e3b60e01b815260040160405180910390fd5b6040518060600160405280602d8152602001612220602d913981565b60006108a58484846110d9565b949350505050565b60408051608081018252600080825260208201819052918101829052606081019190915250600090815260166020908152604091829020825160808101845281546001600160a01b039081168252600183015481169382019390935260029091015491821692810192909252600160a01b900463ffffffff16606082015290565b6060600280546104e390611d23565b600054610100900460ff161580801561095d5750600054600160ff909116105b806109775750303b158015610977575060005460ff166001145b6109935760405162461bcd60e51b815260040161078490611d7a565b6000805460ff1916600117905580156109b6576000805461ff0019166101001790555b8015610654576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a150565b61072a338383611125565b610a143383610df8565b610a31576040516312a8eb0360e11b815260040160405180910390fd5b610a3d848484846111c4565b50505050565b60606104ce8260006111cf565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205460ff1690565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610ac75760405163d367b64f60e01b815260040160405180910390fd5b6000610ad48484846110d9565b6000818152601660205260409020600101549091506001600160a01b031615610a3d57610b0081610e6f565b604051630179c42b60e51b8152600481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690632f388560906024015b600060405180830381600087803b158015610b6357600080fd5b505af1158015610b77573d6000803e3d6000fd5b5050505050505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610bca5760405163d367b64f60e01b815260040160405180910390fd5b6000610bd78484846110d9565b6000818152601660205260409020600101549091506001600160a01b031615610a3d57604051630852cd8d60e31b8152600481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906342966c6890602401600060405180830381600087803b158015610c5c57600080fd5b505af1158015610c70573d6000803e3d6000fd5b50505050610a3d8161133b565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610cc65760405163d367b64f60e01b815260040160405180910390fd5b6000610cd38484846110d9565b6000818152601660205260409020600101549091506001600160a01b0316610a3d57610d01848484846113ca565b6040516340c10f1960e01b81526001600160a01b038381166004830152602482018390527f000000000000000000000000000000000000000000000000000000000000000016906340c10f1990604401610b49565b6000818152601660205260409020600101546001600160a01b03166106545760405163eab95e3b60e01b815260040160405180910390fd5b600081815260036020908152604080832080546001600160a01b0319166001600160a01b038781169182179092556016909352818420600101549151859492909116917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a45050565b600080610e0483610843565b9050806001600160a01b0316846001600160a01b03161480610e2b5750610e2b8185610a50565b806108a55750836001600160a01b0316610e4484610566565b6001600160a01b031614949350505050565b60405163553a3f6560e11b815260040160405180910390fd5b6040518181527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce7906020016109f4565b6000610ec97f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b031603610f1f5760405162461bcd60e51b815260206004820152601d60248201527f5555505350726f786961626c653a206e6f742075706772616461626c650000006044820152606401610784565b806001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f5d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f819190611ed6565b7f87e44dce6a0d65a5ccf441783661f5727c2624b1f0088bbe957ce2c95406b78414610ffb5760405162461bcd60e51b815260206004820152602360248201527f5555505350726f786961626c653a206e6f7420636f6d70617469626c65206c6f60448201526267696360e81b6064820152608401610784565b6001600160a01b03811630036110535760405162461bcd60e51b815260206004820152601960248201527f5555505350726f786961626c653a2070726f7879206c6f6f70000000000000006044820152606401610784565b61107b817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fe011bc04c286c344a8fcbb8de77f953da762c3e25d8cdea984147fc4168a5dcc7f87e44dce6a0d65a5ccf441783661f5727c2624b1f0088bbe957ce2c95406b784604080519182526001600160a01b0384166020830152016109f4565b60408051466020808301919091526001600160a01b03958616828401529385166060820152919093166080808301919091528351808303909101815260a0909101909252815191012090565b816001600160a01b0316836001600160a01b0316036111575760405163d3c7732960e01b815260040160405180910390fd5b6001600160a01b03838116600081815260046020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b610a3d848484610e56565b606060006111dc846108ad565b805160208201516040808401519051631cd43d1160e31b81526001600160a01b0380851660048301529283166024820152908216604482015292935090916000917f0000000000000000000000000000000000000000000000000000000000000000169063e6a1e88890606401608060405180830381865afa158015611266573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061128a9190611eef565b50509150506040518060600160405280602d8152602001612220602d91396112bf826bffffffffffffffffffffffff166114f9565b866112e657604051806040016040528060048152602001637472756560e01b815250611305565b6040518060400160405280600581526020016466616c736560d81b8152505b61130e8961158c565b6040516020016113219493929190611f4f565b604051602081830303815290604052935050505092915050565b60008181526016602081815260408084206001810180546003855283872080546001600160a01b0319908116909155959094528154851682558054909416909355600290920180546001600160c01b031916905590516001600160a01b0390911691839183907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b6001600160a01b0383166113e0576113e0611fd7565b816001600160a01b0316836001600160a01b03160361140157611401611fd7565b6000818152601660205260409020600101546001600160a01b03161561142957611429611fd7565b604080516080810182526001600160a01b038087168252858116602080840182815287841685870190815263ffffffff4281166060880190815260008a81526016909552888520975188549088166001600160a01b0319918216178955935160018901805491891691909516179093559051600290960180549251909116600160a01b026001600160c01b03199092169590941694909417939093179091559151839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a450505050565b6060600061150683611707565b600101905060008167ffffffffffffffff81111561152657611526611abb565b6040519080825280601f01601f191660200182016040528015611550576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a850494508461155a57509392505050565b60606000611599836108ad565b90506115b381600001516001600160a01b031660146117df565b6115bc466114f9565b82600001516001600160a01b03166395d89b416040518163ffffffff1660e01b8152600401600060405180830381865afa1580156115fe573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526116269190810190611fed565b61163e84602001516001600160a01b031660146117df565b61165685604001516001600160a01b031660146117df565b6116c786600001516001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561169b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116bf9190612064565b60ff166114f9565b6116da876060015163ffffffff166114f9565b6040516020016116f09796959493929190612087565b604051602081830303815290604052915050919050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b83106117465772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310611772576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061179057662386f26fc10000830492506010015b6305f5e10083106117a8576305f5e100830492506008015b61271083106117bc57612710830492506004015b606483106117ce576064830492506002015b600a83106104ce5760010192915050565b606060006117ee8360026121c8565b6117f99060026121df565b67ffffffffffffffff81111561181157611811611abb565b6040519080825280601f01601f19166020018201604052801561183b576020820181803683370190505b509050600360fc1b81600081518110611856576118566121f2565b60200101906001600160f81b031916908160001a905350600f60fb1b81600181518110611885576118856121f2565b60200101906001600160f81b031916908160001a90535060006118a98460026121c8565b6118b49060016121df565b90505b600181111561192c576f181899199a1a9b1b9c1cb0b131b232b360811b85600f16601081106118e8576118e86121f2565b1a60f81b8282815181106118fe576118fe6121f2565b60200101906001600160f81b031916908160001a90535060049490941c9361192581612208565b90506118b7565b50831561197b5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610784565b9392505050565b60006020828403121561199457600080fd5b81356001600160e01b03198116811461197b57600080fd5b60005b838110156119c75781810151838201526020016119af565b50506000910152565b60208152600082518060208401526119ef8160408501602087016119ac565b601f01601f19169190910160400192915050565b600060208284031215611a1557600080fd5b5035919050565b6001600160a01b038116811461065457600080fd5b60008060408385031215611a4457600080fd5b8235611a4f81611a1c565b946020939093013593505050565b600080600060608486031215611a7257600080fd5b8335611a7d81611a1c565b92506020840135611a8d81611a1c565b929592945050506040919091013590565b600060208284031215611ab057600080fd5b813561197b81611a1c565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715611afa57611afa611abb565b604052919050565b600067ffffffffffffffff821115611b1c57611b1c611abb565b50601f01601f191660200190565b6000611b3d611b3884611b02565b611ad1565b9050828152838383011115611b5157600080fd5b828260208301376000602084830101529392505050565b600082601f830112611b7957600080fd5b61197b83833560208501611b2a565b60008060408385031215611b9b57600080fd5b823567ffffffffffffffff80821115611bb357600080fd5b611bbf86838701611b68565b93506020850135915080821115611bd557600080fd5b50611be285828601611b68565b9150509250929050565b600080600060608486031215611c0157600080fd5b8335611c0c81611a1c565b92506020840135611c1c81611a1c565b91506040840135611c2c81611a1c565b809150509250925092565b60008060408385031215611c4a57600080fd5b8235611c5581611a1c565b915060208301358015158114611c6a57600080fd5b809150509250929050565b60008060008060808587031215611c8b57600080fd5b8435611c9681611a1c565b93506020850135611ca681611a1c565b925060408501359150606085013567ffffffffffffffff811115611cc957600080fd5b8501601f81018713611cda57600080fd5b611ce987823560208401611b2a565b91505092959194509250565b60008060408385031215611d0857600080fd5b8235611d1381611a1c565b91506020830135611c6a81611a1c565b600181811c90821680611d3757607f821691505b602082108103611d5757634e487b7160e01b600052602260045260246000fd5b50919050565b600060208284031215611d6f57600080fd5b815161197b81611a1c565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b601f82111561061457600081815260208120601f850160051c81016020861015611def5750805b601f850160051c820191505b81811015611e0e57828155600101611dfb565b505050505050565b815167ffffffffffffffff811115611e3057611e30611abb565b611e4481611e3e8454611d23565b84611dc8565b602080601f831160018114611e795760008415611e615750858301515b600019600386901b1c1916600185901b178555611e0e565b600085815260208120601f198616915b82811015611ea857888601518255948401946001909101908401611e89565b5085821015611ec65787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215611ee857600080fd5b5051919050565b60008060008060808587031215611f0557600080fd5b84519350602085015180600b0b8114611f1d57600080fd5b6040860151606090960151949790965092505050565b60008151611f458185602086016119ac565b9290920192915050565b60008551611f61818460208a016119ac565b693f666c6f77526174653d60b01b9083019081528551611f8881600a840160208a016119ac565b69266f7574676f696e673d60b01b600a92909101918201528451611fb38160148401602089016119ac565b8451910190611fc98160148401602088016119ac565b016014019695505050505050565b634e487b7160e01b600052600160045260246000fd5b600060208284031215611fff57600080fd5b815167ffffffffffffffff81111561201657600080fd5b8201601f8101841361202757600080fd5b8051612035611b3882611b02565b81815285602083850101111561204a57600080fd5b61205b8260208301602086016119ac565b95945050505050565b60006020828403121561207657600080fd5b815160ff8116811461197b57600080fd5b6e26746f6b656e5f616464726573733d60881b8152600088516120b181600f850160208d016119ac565b6926636861696e5f69643d60b01b600f9184019182015288516120db816019840160208d016119ac565b6d26746f6b656e5f73796d626f6c3d60901b60199290910191820152875161210a816027840160208c016119ac565b672673656e6465723d60c01b60279290910191820152865161213381602f840160208b016119ac565b692672656365697665723d60b01b602f92909101918201526121a461219e612186612180612164603986018b611f33565b6f26746f6b656e5f646563696d616c733d60801b815260100190565b88611f33565b6b2673746172745f646174653d60a01b8152600c0190565b85611f33565b9a9950505050505050505050565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176104ce576104ce6121b2565b808201808211156104ce576104ce6121b2565b634e487b7160e01b600052603260045260246000fd5b600081612217576122176121b2565b50600019019056fe68747470733a2f2f6e66742e7375706572666c7569642e66696e616e63652f6366612f76322f6765746d657461a2646970667358221220b40c3a5b1dd201f062e1c22838187a15ac68dd438d1be121689998b28fb98a6d64736f6c63430008130033";
16
16
  static readonly abi: readonly [{
17
17
  readonly inputs: readonly [{
18
18
  readonly internalType: "contract ISuperfluid";
@@ -741,7 +741,7 @@ const _abi = [
741
741
  type: "function",
742
742
  },
743
743
  ];
744
- const _bytecode = "0x60e06040523480156200001157600080fd5b506040516200244d3803806200244d8339810160408190526200003491620000fd565b6001600160a01b03821660a0819052604051635b69006f60e11b81527fa9214cc96615e0085d3bb077758db69497dc2dce3b2b1e97bc93c3d18d83efd3600482015283919063b6d200de90602401602060405180830381865afa158015620000a0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000c691906200013c565b6001600160a01b039081166080529190911660c05250620001639050565b6001600160a01b0381168114620000fa57600080fd5b50565b600080604083850312156200011157600080fd5b82516200011e81620000e4565b60208401519092506200013181620000e4565b809150509250929050565b6000602082840312156200014f57600080fd5b81516200015c81620000e4565b9392505050565b60805160a05160c051612282620001cb600039600081816102e501528181610b1601528181610c100152610d270152600081816102be015261067601526000818161024b01528181610a8901528181610b8c01528181610c88015261121f01526122826000f3fe608060405234801561001057600080fd5b50600436106101c45760003560e01c80636352211e116100f9578063a22cb46511610097578063e985e9c511610071578063e985e9c514610436578063eb54a7ca14610449578063ef1f02371461045c578063f7e3d9831461046f57600080fd5b8063a22cb465146103fd578063b88d4fde14610410578063c87b56dd1461042357600080fd5b806389f71d2d116100d357806389f71d2d146103815780638d47859e1461039457806395d89b41146103ed5780639903ad38146103f557600080fd5b80636352211e146103525780636c0360eb1461036557806370a082311461036d57600080fd5b806342842e0e116101665780634c5c0c85116101405780634c5c0c85146102e05780634cd88b761461030757806350d75d251461031a57806352d1902d1461032257600080fd5b806342842e0e1461029357806346951954146102a657806349f289dc146102b957600080fd5b8063095ea7b3116101a2578063095ea7b314610231578063181561011461024657806323b872dd1461026d5780632f3885601461028057600080fd5b806301ffc9a7146101c957806306fdde03146101f1578063081812fc14610206575b600080fd5b6101dc6101d7366004611982565b610482565b60405190151581526020015b60405180910390f35b6101f96104d4565b6040516101e891906119d0565b610219610214366004611a03565b610566565b6040516001600160a01b0390911681526020016101e8565b61024461023f366004611a31565b61058d565b005b6102197f000000000000000000000000000000000000000000000000000000000000000081565b61024461027b366004611a5d565b610619565b61024461028e366004611a03565b61064b565b6102446102a1366004611a5d565b610657565b6102446102b4366004611a9e565b610672565b6102197f000000000000000000000000000000000000000000000000000000000000000081565b6102197f000000000000000000000000000000000000000000000000000000000000000081565b610244610315366004611b88565b61072e565b610219610814565b7f87e44dce6a0d65a5ccf441783661f5727c2624b1f0088bbe957ce2c95406b7845b6040519081526020016101e8565b610219610360366004611a03565b610843565b6101f961087c565b61034461037b366004611a9e565b50600190565b61034461038f366004611bec565b610898565b6103a76103a2366004611a03565b6108ad565b6040805182516001600160a01b03908116825260208085015182169083015283830151169181019190915260609182015163ffffffff16918101919091526080016101e8565b6101f961092e565b61024461093d565b61024461040b366004611c37565b6109ff565b61024461041e366004611c75565b610a0a565b6101f9610431366004611a03565b610a43565b6101dc610444366004611cf5565b610a50565b610244610457366004611bec565b610a7e565b61024461046a366004611bec565b610b81565b61024461047d366004611bec565b610c7d565b60006301ffc9a760e01b6001600160e01b0319831614806104b357506380ac58cd60e01b6001600160e01b03198316145b806104ce5750635b5e139f60e01b6001600160e01b03198316145b92915050565b6060600180546104e390611d23565b80601f016020809104026020016040519081016040528092919081815260200182805461050f90611d23565b801561055c5780601f106105315761010080835404028352916020019161055c565b820191906000526020600020905b81548152906001019060200180831161053f57829003601f168201915b5050505050905090565b600061057182610d56565b506000908152600360205260409020546001600160a01b031690565b600061059882610843565b9050806001600160a01b0316836001600160a01b0316036105cc5760405163e4790b2560e01b815260040160405180910390fd5b336001600160a01b038216148015906105ec57506105ea8133610a50565b155b1561060a5760405163519a92c160e11b815260040160405180910390fd5b6106148383610d8e565b505050565b6106233382610df8565b610640576040516312a8eb0360e11b815260040160405180910390fd5b610614838383610e56565b61065481610e6f565b50565b61061483838360405180602001604052806000815250610a0a565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663731aed6e6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106f69190611d5d565b9050336001600160a01b038216146107215760405163ebb7505b60e01b815260040160405180910390fd5b61072a82610e9f565b5050565b600054610100900460ff161580801561074e5750600054600160ff909116105b806107685750303b158015610768575060005460ff166001145b61078d5760405162461bcd60e51b815260040161078490611d7a565b60405180910390fd5b6000805460ff1916600117905580156107b0576000805461ff0019166101001790555b60016107bc8482611e16565b5060026107c98382611e16565b508015610614576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050565b600061083e7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b6000818152601660205260408120600101546001600160a01b0316806104ce5760405163eab95e3b60e01b815260040160405180910390fd5b6040518060600160405280602d8152602001612220602d913981565b60006108a58484846110d9565b949350505050565b60408051608081018252600080825260208201819052918101829052606081019190915250600090815260166020908152604091829020825160808101845281546001600160a01b039081168252600183015481169382019390935260029091015491821692810192909252600160a01b900463ffffffff16606082015290565b6060600280546104e390611d23565b600054610100900460ff161580801561095d5750600054600160ff909116105b806109775750303b158015610977575060005460ff166001145b6109935760405162461bcd60e51b815260040161078490611d7a565b6000805460ff1916600117905580156109b6576000805461ff0019166101001790555b8015610654576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a150565b61072a338383611125565b610a143383610df8565b610a31576040516312a8eb0360e11b815260040160405180910390fd5b610a3d848484846111c4565b50505050565b60606104ce8260006111cf565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205460ff1690565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610ac75760405163d367b64f60e01b815260040160405180910390fd5b6000610ad48484846110d9565b6000818152601660205260409020600101549091506001600160a01b031615610a3d57610b0081610e6f565b604051630179c42b60e51b8152600481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690632f388560906024015b600060405180830381600087803b158015610b6357600080fd5b505af1158015610b77573d6000803e3d6000fd5b5050505050505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610bca5760405163d367b64f60e01b815260040160405180910390fd5b6000610bd78484846110d9565b6000818152601660205260409020600101549091506001600160a01b031615610a3d57604051630852cd8d60e31b8152600481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906342966c6890602401600060405180830381600087803b158015610c5c57600080fd5b505af1158015610c70573d6000803e3d6000fd5b50505050610a3d8161133b565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610cc65760405163d367b64f60e01b815260040160405180910390fd5b6000610cd38484846110d9565b6000818152601660205260409020600101549091506001600160a01b0316610a3d57610d01848484846113ca565b6040516340c10f1960e01b81526001600160a01b038381166004830152602482018390527f000000000000000000000000000000000000000000000000000000000000000016906340c10f1990604401610b49565b6000818152601660205260409020600101546001600160a01b03166106545760405163eab95e3b60e01b815260040160405180910390fd5b600081815260036020908152604080832080546001600160a01b0319166001600160a01b038781169182179092556016909352818420600101549151859492909116917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a45050565b600080610e0483610843565b9050806001600160a01b0316846001600160a01b03161480610e2b5750610e2b8185610a50565b806108a55750836001600160a01b0316610e4484610566565b6001600160a01b031614949350505050565b60405163553a3f6560e11b815260040160405180910390fd5b6040518181527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce7906020016109f4565b6000610ec97f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b031603610f1f5760405162461bcd60e51b815260206004820152601d60248201527f5555505350726f786961626c653a206e6f742075706772616461626c650000006044820152606401610784565b806001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f5d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f819190611ed6565b7f87e44dce6a0d65a5ccf441783661f5727c2624b1f0088bbe957ce2c95406b78414610ffb5760405162461bcd60e51b815260206004820152602360248201527f5555505350726f786961626c653a206e6f7420636f6d70617469626c65206c6f60448201526267696360e81b6064820152608401610784565b6001600160a01b03811630036110535760405162461bcd60e51b815260206004820152601960248201527f5555505350726f786961626c653a2070726f7879206c6f6f70000000000000006044820152606401610784565b61107b817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fe011bc04c286c344a8fcbb8de77f953da762c3e25d8cdea984147fc4168a5dcc7f87e44dce6a0d65a5ccf441783661f5727c2624b1f0088bbe957ce2c95406b784604080519182526001600160a01b0384166020830152016109f4565b60408051466020808301919091526001600160a01b03958616828401529385166060820152919093166080808301919091528351808303909101815260a0909101909252815191012090565b816001600160a01b0316836001600160a01b0316036111575760405163d3c7732960e01b815260040160405180910390fd5b6001600160a01b03838116600081815260046020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b610a3d848484610e56565b606060006111dc846108ad565b805160208201516040808401519051631cd43d1160e31b81526001600160a01b0380851660048301529283166024820152908216604482015292935090916000917f0000000000000000000000000000000000000000000000000000000000000000169063e6a1e88890606401608060405180830381865afa158015611266573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061128a9190611eef565b50509150506040518060600160405280602d8152602001612220602d91396112bf826bffffffffffffffffffffffff166114f9565b866112e657604051806040016040528060048152602001637472756560e01b815250611305565b6040518060400160405280600581526020016466616c736560d81b8152505b61130e8961158c565b6040516020016113219493929190611f4f565b604051602081830303815290604052935050505092915050565b60008181526016602081815260408084206001810180546003855283872080546001600160a01b0319908116909155959094528154851682558054909416909355600290920180546001600160c01b031916905590516001600160a01b0390911691839183907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b6001600160a01b0383166113e0576113e0611fd7565b816001600160a01b0316836001600160a01b03160361140157611401611fd7565b6000818152601660205260409020600101546001600160a01b03161561142957611429611fd7565b604080516080810182526001600160a01b038087168252858116602080840182815287841685870190815263ffffffff4281166060880190815260008a81526016909552888520975188549088166001600160a01b0319918216178955935160018901805491891691909516179093559051600290960180549251909116600160a01b026001600160c01b03199092169590941694909417939093179091559151839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a450505050565b6060600061150683611707565b600101905060008167ffffffffffffffff81111561152657611526611abb565b6040519080825280601f01601f191660200182016040528015611550576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a850494508461155a57509392505050565b60606000611599836108ad565b90506115b381600001516001600160a01b031660146117df565b6115bc466114f9565b82600001516001600160a01b03166395d89b416040518163ffffffff1660e01b8152600401600060405180830381865afa1580156115fe573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526116269190810190611fed565b61163e84602001516001600160a01b031660146117df565b61165685604001516001600160a01b031660146117df565b6116c786600001516001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561169b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116bf9190612064565b60ff166114f9565b6116da876060015163ffffffff166114f9565b6040516020016116f09796959493929190612087565b604051602081830303815290604052915050919050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b83106117465772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310611772576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061179057662386f26fc10000830492506010015b6305f5e10083106117a8576305f5e100830492506008015b61271083106117bc57612710830492506004015b606483106117ce576064830492506002015b600a83106104ce5760010192915050565b606060006117ee8360026121c8565b6117f99060026121df565b67ffffffffffffffff81111561181157611811611abb565b6040519080825280601f01601f19166020018201604052801561183b576020820181803683370190505b509050600360fc1b81600081518110611856576118566121f2565b60200101906001600160f81b031916908160001a905350600f60fb1b81600181518110611885576118856121f2565b60200101906001600160f81b031916908160001a90535060006118a98460026121c8565b6118b49060016121df565b90505b600181111561192c576f181899199a1a9b1b9c1cb0b131b232b360811b85600f16601081106118e8576118e86121f2565b1a60f81b8282815181106118fe576118fe6121f2565b60200101906001600160f81b031916908160001a90535060049490941c9361192581612208565b90506118b7565b50831561197b5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610784565b9392505050565b60006020828403121561199457600080fd5b81356001600160e01b03198116811461197b57600080fd5b60005b838110156119c75781810151838201526020016119af565b50506000910152565b60208152600082518060208401526119ef8160408501602087016119ac565b601f01601f19169190910160400192915050565b600060208284031215611a1557600080fd5b5035919050565b6001600160a01b038116811461065457600080fd5b60008060408385031215611a4457600080fd5b8235611a4f81611a1c565b946020939093013593505050565b600080600060608486031215611a7257600080fd5b8335611a7d81611a1c565b92506020840135611a8d81611a1c565b929592945050506040919091013590565b600060208284031215611ab057600080fd5b813561197b81611a1c565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715611afa57611afa611abb565b604052919050565b600067ffffffffffffffff821115611b1c57611b1c611abb565b50601f01601f191660200190565b6000611b3d611b3884611b02565b611ad1565b9050828152838383011115611b5157600080fd5b828260208301376000602084830101529392505050565b600082601f830112611b7957600080fd5b61197b83833560208501611b2a565b60008060408385031215611b9b57600080fd5b823567ffffffffffffffff80821115611bb357600080fd5b611bbf86838701611b68565b93506020850135915080821115611bd557600080fd5b50611be285828601611b68565b9150509250929050565b600080600060608486031215611c0157600080fd5b8335611c0c81611a1c565b92506020840135611c1c81611a1c565b91506040840135611c2c81611a1c565b809150509250925092565b60008060408385031215611c4a57600080fd5b8235611c5581611a1c565b915060208301358015158114611c6a57600080fd5b809150509250929050565b60008060008060808587031215611c8b57600080fd5b8435611c9681611a1c565b93506020850135611ca681611a1c565b925060408501359150606085013567ffffffffffffffff811115611cc957600080fd5b8501601f81018713611cda57600080fd5b611ce987823560208401611b2a565b91505092959194509250565b60008060408385031215611d0857600080fd5b8235611d1381611a1c565b91506020830135611c6a81611a1c565b600181811c90821680611d3757607f821691505b602082108103611d5757634e487b7160e01b600052602260045260246000fd5b50919050565b600060208284031215611d6f57600080fd5b815161197b81611a1c565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b601f82111561061457600081815260208120601f850160051c81016020861015611def5750805b601f850160051c820191505b81811015611e0e57828155600101611dfb565b505050505050565b815167ffffffffffffffff811115611e3057611e30611abb565b611e4481611e3e8454611d23565b84611dc8565b602080601f831160018114611e795760008415611e615750858301515b600019600386901b1c1916600185901b178555611e0e565b600085815260208120601f198616915b82811015611ea857888601518255948401946001909101908401611e89565b5085821015611ec65787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215611ee857600080fd5b5051919050565b60008060008060808587031215611f0557600080fd5b84519350602085015180600b0b8114611f1d57600080fd5b6040860151606090960151949790965092505050565b60008151611f458185602086016119ac565b9290920192915050565b60008551611f61818460208a016119ac565b693f666c6f77526174653d60b01b9083019081528551611f8881600a840160208a016119ac565b69266f7574676f696e673d60b01b600a92909101918201528451611fb38160148401602089016119ac565b8451910190611fc98160148401602088016119ac565b016014019695505050505050565b634e487b7160e01b600052600160045260246000fd5b600060208284031215611fff57600080fd5b815167ffffffffffffffff81111561201657600080fd5b8201601f8101841361202757600080fd5b8051612035611b3882611b02565b81815285602083850101111561204a57600080fd5b61205b8260208301602086016119ac565b95945050505050565b60006020828403121561207657600080fd5b815160ff8116811461197b57600080fd5b6e26746f6b656e5f616464726573733d60881b8152600088516120b181600f850160208d016119ac565b6926636861696e5f69643d60b01b600f9184019182015288516120db816019840160208d016119ac565b6d26746f6b656e5f73796d626f6c3d60901b60199290910191820152875161210a816027840160208c016119ac565b672673656e6465723d60c01b60279290910191820152865161213381602f840160208b016119ac565b692672656365697665723d60b01b602f92909101918201526121a461219e612186612180612164603986018b611f33565b6f26746f6b656e5f646563696d616c733d60801b815260100190565b88611f33565b6b2673746172745f646174653d60a01b8152600c0190565b85611f33565b9a9950505050505050505050565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176104ce576104ce6121b2565b808201808211156104ce576104ce6121b2565b634e487b7160e01b600052603260045260246000fd5b600081612217576122176121b2565b50600019019056fe68747470733a2f2f6e66742e7375706572666c7569642e66696e616e63652f6366612f76322f6765746d657461a26469706673582212208f70e90b14f96f84e70b0491ef7c7714aa61097456b673e27d895fa5e93c4aa864736f6c63430008130033";
744
+ const _bytecode = "0x60e06040523480156200001157600080fd5b506040516200244d3803806200244d8339810160408190526200003491620000fd565b6001600160a01b03821660a0819052604051635b69006f60e11b81527fa9214cc96615e0085d3bb077758db69497dc2dce3b2b1e97bc93c3d18d83efd3600482015283919063b6d200de90602401602060405180830381865afa158015620000a0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000c691906200013c565b6001600160a01b039081166080529190911660c05250620001639050565b6001600160a01b0381168114620000fa57600080fd5b50565b600080604083850312156200011157600080fd5b82516200011e81620000e4565b60208401519092506200013181620000e4565b809150509250929050565b6000602082840312156200014f57600080fd5b81516200015c81620000e4565b9392505050565b60805160a05160c051612282620001cb600039600081816102e501528181610b1601528181610c100152610d270152600081816102be015261067601526000818161024b01528181610a8901528181610b8c01528181610c88015261121f01526122826000f3fe608060405234801561001057600080fd5b50600436106101c45760003560e01c80636352211e116100f9578063a22cb46511610097578063e985e9c511610071578063e985e9c514610436578063eb54a7ca14610449578063ef1f02371461045c578063f7e3d9831461046f57600080fd5b8063a22cb465146103fd578063b88d4fde14610410578063c87b56dd1461042357600080fd5b806389f71d2d116100d357806389f71d2d146103815780638d47859e1461039457806395d89b41146103ed5780639903ad38146103f557600080fd5b80636352211e146103525780636c0360eb1461036557806370a082311461036d57600080fd5b806342842e0e116101665780634c5c0c85116101405780634c5c0c85146102e05780634cd88b761461030757806350d75d251461031a57806352d1902d1461032257600080fd5b806342842e0e1461029357806346951954146102a657806349f289dc146102b957600080fd5b8063095ea7b3116101a2578063095ea7b314610231578063181561011461024657806323b872dd1461026d5780632f3885601461028057600080fd5b806301ffc9a7146101c957806306fdde03146101f1578063081812fc14610206575b600080fd5b6101dc6101d7366004611982565b610482565b60405190151581526020015b60405180910390f35b6101f96104d4565b6040516101e891906119d0565b610219610214366004611a03565b610566565b6040516001600160a01b0390911681526020016101e8565b61024461023f366004611a31565b61058d565b005b6102197f000000000000000000000000000000000000000000000000000000000000000081565b61024461027b366004611a5d565b610619565b61024461028e366004611a03565b61064b565b6102446102a1366004611a5d565b610657565b6102446102b4366004611a9e565b610672565b6102197f000000000000000000000000000000000000000000000000000000000000000081565b6102197f000000000000000000000000000000000000000000000000000000000000000081565b610244610315366004611b88565b61072e565b610219610814565b7f87e44dce6a0d65a5ccf441783661f5727c2624b1f0088bbe957ce2c95406b7845b6040519081526020016101e8565b610219610360366004611a03565b610843565b6101f961087c565b61034461037b366004611a9e565b50600190565b61034461038f366004611bec565b610898565b6103a76103a2366004611a03565b6108ad565b6040805182516001600160a01b03908116825260208085015182169083015283830151169181019190915260609182015163ffffffff16918101919091526080016101e8565b6101f961092e565b61024461093d565b61024461040b366004611c37565b6109ff565b61024461041e366004611c75565b610a0a565b6101f9610431366004611a03565b610a43565b6101dc610444366004611cf5565b610a50565b610244610457366004611bec565b610a7e565b61024461046a366004611bec565b610b81565b61024461047d366004611bec565b610c7d565b60006301ffc9a760e01b6001600160e01b0319831614806104b357506380ac58cd60e01b6001600160e01b03198316145b806104ce5750635b5e139f60e01b6001600160e01b03198316145b92915050565b6060600180546104e390611d23565b80601f016020809104026020016040519081016040528092919081815260200182805461050f90611d23565b801561055c5780601f106105315761010080835404028352916020019161055c565b820191906000526020600020905b81548152906001019060200180831161053f57829003601f168201915b5050505050905090565b600061057182610d56565b506000908152600360205260409020546001600160a01b031690565b600061059882610843565b9050806001600160a01b0316836001600160a01b0316036105cc5760405163e4790b2560e01b815260040160405180910390fd5b336001600160a01b038216148015906105ec57506105ea8133610a50565b155b1561060a5760405163519a92c160e11b815260040160405180910390fd5b6106148383610d8e565b505050565b6106233382610df8565b610640576040516312a8eb0360e11b815260040160405180910390fd5b610614838383610e56565b61065481610e6f565b50565b61061483838360405180602001604052806000815250610a0a565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663731aed6e6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106f69190611d5d565b9050336001600160a01b038216146107215760405163ebb7505b60e01b815260040160405180910390fd5b61072a82610e9f565b5050565b600054610100900460ff161580801561074e5750600054600160ff909116105b806107685750303b158015610768575060005460ff166001145b61078d5760405162461bcd60e51b815260040161078490611d7a565b60405180910390fd5b6000805460ff1916600117905580156107b0576000805461ff0019166101001790555b60016107bc8482611e16565b5060026107c98382611e16565b508015610614576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050565b600061083e7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b6000818152601660205260408120600101546001600160a01b0316806104ce5760405163eab95e3b60e01b815260040160405180910390fd5b6040518060600160405280602d8152602001612220602d913981565b60006108a58484846110d9565b949350505050565b60408051608081018252600080825260208201819052918101829052606081019190915250600090815260166020908152604091829020825160808101845281546001600160a01b039081168252600183015481169382019390935260029091015491821692810192909252600160a01b900463ffffffff16606082015290565b6060600280546104e390611d23565b600054610100900460ff161580801561095d5750600054600160ff909116105b806109775750303b158015610977575060005460ff166001145b6109935760405162461bcd60e51b815260040161078490611d7a565b6000805460ff1916600117905580156109b6576000805461ff0019166101001790555b8015610654576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a150565b61072a338383611125565b610a143383610df8565b610a31576040516312a8eb0360e11b815260040160405180910390fd5b610a3d848484846111c4565b50505050565b60606104ce8260006111cf565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205460ff1690565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610ac75760405163d367b64f60e01b815260040160405180910390fd5b6000610ad48484846110d9565b6000818152601660205260409020600101549091506001600160a01b031615610a3d57610b0081610e6f565b604051630179c42b60e51b8152600481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690632f388560906024015b600060405180830381600087803b158015610b6357600080fd5b505af1158015610b77573d6000803e3d6000fd5b5050505050505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610bca5760405163d367b64f60e01b815260040160405180910390fd5b6000610bd78484846110d9565b6000818152601660205260409020600101549091506001600160a01b031615610a3d57604051630852cd8d60e31b8152600481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906342966c6890602401600060405180830381600087803b158015610c5c57600080fd5b505af1158015610c70573d6000803e3d6000fd5b50505050610a3d8161133b565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610cc65760405163d367b64f60e01b815260040160405180910390fd5b6000610cd38484846110d9565b6000818152601660205260409020600101549091506001600160a01b0316610a3d57610d01848484846113ca565b6040516340c10f1960e01b81526001600160a01b038381166004830152602482018390527f000000000000000000000000000000000000000000000000000000000000000016906340c10f1990604401610b49565b6000818152601660205260409020600101546001600160a01b03166106545760405163eab95e3b60e01b815260040160405180910390fd5b600081815260036020908152604080832080546001600160a01b0319166001600160a01b038781169182179092556016909352818420600101549151859492909116917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a45050565b600080610e0483610843565b9050806001600160a01b0316846001600160a01b03161480610e2b5750610e2b8185610a50565b806108a55750836001600160a01b0316610e4484610566565b6001600160a01b031614949350505050565b60405163553a3f6560e11b815260040160405180910390fd5b6040518181527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce7906020016109f4565b6000610ec97f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b031603610f1f5760405162461bcd60e51b815260206004820152601d60248201527f5555505350726f786961626c653a206e6f742075706772616461626c650000006044820152606401610784565b806001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f5d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f819190611ed6565b7f87e44dce6a0d65a5ccf441783661f5727c2624b1f0088bbe957ce2c95406b78414610ffb5760405162461bcd60e51b815260206004820152602360248201527f5555505350726f786961626c653a206e6f7420636f6d70617469626c65206c6f60448201526267696360e81b6064820152608401610784565b6001600160a01b03811630036110535760405162461bcd60e51b815260206004820152601960248201527f5555505350726f786961626c653a2070726f7879206c6f6f70000000000000006044820152606401610784565b61107b817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fe011bc04c286c344a8fcbb8de77f953da762c3e25d8cdea984147fc4168a5dcc7f87e44dce6a0d65a5ccf441783661f5727c2624b1f0088bbe957ce2c95406b784604080519182526001600160a01b0384166020830152016109f4565b60408051466020808301919091526001600160a01b03958616828401529385166060820152919093166080808301919091528351808303909101815260a0909101909252815191012090565b816001600160a01b0316836001600160a01b0316036111575760405163d3c7732960e01b815260040160405180910390fd5b6001600160a01b03838116600081815260046020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b610a3d848484610e56565b606060006111dc846108ad565b805160208201516040808401519051631cd43d1160e31b81526001600160a01b0380851660048301529283166024820152908216604482015292935090916000917f0000000000000000000000000000000000000000000000000000000000000000169063e6a1e88890606401608060405180830381865afa158015611266573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061128a9190611eef565b50509150506040518060600160405280602d8152602001612220602d91396112bf826bffffffffffffffffffffffff166114f9565b866112e657604051806040016040528060048152602001637472756560e01b815250611305565b6040518060400160405280600581526020016466616c736560d81b8152505b61130e8961158c565b6040516020016113219493929190611f4f565b604051602081830303815290604052935050505092915050565b60008181526016602081815260408084206001810180546003855283872080546001600160a01b0319908116909155959094528154851682558054909416909355600290920180546001600160c01b031916905590516001600160a01b0390911691839183907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b6001600160a01b0383166113e0576113e0611fd7565b816001600160a01b0316836001600160a01b03160361140157611401611fd7565b6000818152601660205260409020600101546001600160a01b03161561142957611429611fd7565b604080516080810182526001600160a01b038087168252858116602080840182815287841685870190815263ffffffff4281166060880190815260008a81526016909552888520975188549088166001600160a01b0319918216178955935160018901805491891691909516179093559051600290960180549251909116600160a01b026001600160c01b03199092169590941694909417939093179091559151839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a450505050565b6060600061150683611707565b600101905060008167ffffffffffffffff81111561152657611526611abb565b6040519080825280601f01601f191660200182016040528015611550576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a850494508461155a57509392505050565b60606000611599836108ad565b90506115b381600001516001600160a01b031660146117df565b6115bc466114f9565b82600001516001600160a01b03166395d89b416040518163ffffffff1660e01b8152600401600060405180830381865afa1580156115fe573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526116269190810190611fed565b61163e84602001516001600160a01b031660146117df565b61165685604001516001600160a01b031660146117df565b6116c786600001516001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561169b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116bf9190612064565b60ff166114f9565b6116da876060015163ffffffff166114f9565b6040516020016116f09796959493929190612087565b604051602081830303815290604052915050919050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b83106117465772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310611772576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061179057662386f26fc10000830492506010015b6305f5e10083106117a8576305f5e100830492506008015b61271083106117bc57612710830492506004015b606483106117ce576064830492506002015b600a83106104ce5760010192915050565b606060006117ee8360026121c8565b6117f99060026121df565b67ffffffffffffffff81111561181157611811611abb565b6040519080825280601f01601f19166020018201604052801561183b576020820181803683370190505b509050600360fc1b81600081518110611856576118566121f2565b60200101906001600160f81b031916908160001a905350600f60fb1b81600181518110611885576118856121f2565b60200101906001600160f81b031916908160001a90535060006118a98460026121c8565b6118b49060016121df565b90505b600181111561192c576f181899199a1a9b1b9c1cb0b131b232b360811b85600f16601081106118e8576118e86121f2565b1a60f81b8282815181106118fe576118fe6121f2565b60200101906001600160f81b031916908160001a90535060049490941c9361192581612208565b90506118b7565b50831561197b5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610784565b9392505050565b60006020828403121561199457600080fd5b81356001600160e01b03198116811461197b57600080fd5b60005b838110156119c75781810151838201526020016119af565b50506000910152565b60208152600082518060208401526119ef8160408501602087016119ac565b601f01601f19169190910160400192915050565b600060208284031215611a1557600080fd5b5035919050565b6001600160a01b038116811461065457600080fd5b60008060408385031215611a4457600080fd5b8235611a4f81611a1c565b946020939093013593505050565b600080600060608486031215611a7257600080fd5b8335611a7d81611a1c565b92506020840135611a8d81611a1c565b929592945050506040919091013590565b600060208284031215611ab057600080fd5b813561197b81611a1c565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715611afa57611afa611abb565b604052919050565b600067ffffffffffffffff821115611b1c57611b1c611abb565b50601f01601f191660200190565b6000611b3d611b3884611b02565b611ad1565b9050828152838383011115611b5157600080fd5b828260208301376000602084830101529392505050565b600082601f830112611b7957600080fd5b61197b83833560208501611b2a565b60008060408385031215611b9b57600080fd5b823567ffffffffffffffff80821115611bb357600080fd5b611bbf86838701611b68565b93506020850135915080821115611bd557600080fd5b50611be285828601611b68565b9150509250929050565b600080600060608486031215611c0157600080fd5b8335611c0c81611a1c565b92506020840135611c1c81611a1c565b91506040840135611c2c81611a1c565b809150509250925092565b60008060408385031215611c4a57600080fd5b8235611c5581611a1c565b915060208301358015158114611c6a57600080fd5b809150509250929050565b60008060008060808587031215611c8b57600080fd5b8435611c9681611a1c565b93506020850135611ca681611a1c565b925060408501359150606085013567ffffffffffffffff811115611cc957600080fd5b8501601f81018713611cda57600080fd5b611ce987823560208401611b2a565b91505092959194509250565b60008060408385031215611d0857600080fd5b8235611d1381611a1c565b91506020830135611c6a81611a1c565b600181811c90821680611d3757607f821691505b602082108103611d5757634e487b7160e01b600052602260045260246000fd5b50919050565b600060208284031215611d6f57600080fd5b815161197b81611a1c565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b601f82111561061457600081815260208120601f850160051c81016020861015611def5750805b601f850160051c820191505b81811015611e0e57828155600101611dfb565b505050505050565b815167ffffffffffffffff811115611e3057611e30611abb565b611e4481611e3e8454611d23565b84611dc8565b602080601f831160018114611e795760008415611e615750858301515b600019600386901b1c1916600185901b178555611e0e565b600085815260208120601f198616915b82811015611ea857888601518255948401946001909101908401611e89565b5085821015611ec65787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215611ee857600080fd5b5051919050565b60008060008060808587031215611f0557600080fd5b84519350602085015180600b0b8114611f1d57600080fd5b6040860151606090960151949790965092505050565b60008151611f458185602086016119ac565b9290920192915050565b60008551611f61818460208a016119ac565b693f666c6f77526174653d60b01b9083019081528551611f8881600a840160208a016119ac565b69266f7574676f696e673d60b01b600a92909101918201528451611fb38160148401602089016119ac565b8451910190611fc98160148401602088016119ac565b016014019695505050505050565b634e487b7160e01b600052600160045260246000fd5b600060208284031215611fff57600080fd5b815167ffffffffffffffff81111561201657600080fd5b8201601f8101841361202757600080fd5b8051612035611b3882611b02565b81815285602083850101111561204a57600080fd5b61205b8260208301602086016119ac565b95945050505050565b60006020828403121561207657600080fd5b815160ff8116811461197b57600080fd5b6e26746f6b656e5f616464726573733d60881b8152600088516120b181600f850160208d016119ac565b6926636861696e5f69643d60b01b600f9184019182015288516120db816019840160208d016119ac565b6d26746f6b656e5f73796d626f6c3d60901b60199290910191820152875161210a816027840160208c016119ac565b672673656e6465723d60c01b60279290910191820152865161213381602f840160208b016119ac565b692672656365697665723d60b01b602f92909101918201526121a461219e612186612180612164603986018b611f33565b6f26746f6b656e5f646563696d616c733d60801b815260100190565b88611f33565b6b2673746172745f646174653d60a01b8152600c0190565b85611f33565b9a9950505050505050505050565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176104ce576104ce6121b2565b808201808211156104ce576104ce6121b2565b634e487b7160e01b600052603260045260246000fd5b600081612217576122176121b2565b50600019019056fe68747470733a2f2f6e66742e7375706572666c7569642e66696e616e63652f6366612f76322f6765746d657461a2646970667358221220b40c3a5b1dd201f062e1c22838187a15ac68dd438d1be121689998b28fb98a6d64736f6c63430008130033";
745
745
  const isSuperArgs = (xs) => xs.length > 1;
746
746
  class ConstantOutflowNFT__factory extends ethers_1.ContractFactory {
747
747
  constructor(...args) {
@@ -12,7 +12,7 @@ export declare class FullUpgradableSuperTokenProxy__factory extends ContractFact
12
12
  }): TransactionRequest;
13
13
  attach(address: string): FullUpgradableSuperTokenProxy;
14
14
  connect(signer: Signer): FullUpgradableSuperTokenProxy__factory;
15
- static readonly bytecode = "0x608060405234801561001057600080fd5b50610213806100206000396000f3fe6080604052600436106100225760003560e01c80638129fc1c1461003957610031565b366100315761002f61004e565b005b61002f61004e565b34801561004557600080fd5b5061002f610060565b61005e6100596100d0565b610173565b565b7fb8fcd5719b3ddf8626f3664705a89b7fc476129a58c1aa5eda57c600cc1821a0546001600160a01b038116156100aa576040516305c5d81960e01b815260040160405180910390fd5b50337fb8fcd5719b3ddf8626f3664705a89b7fc476129a58c1aa5eda57c600cc1821a055565b7fb8fcd5719b3ddf8626f3664705a89b7fc476129a58c1aa5eda57c600cc1821a0546000906001600160a01b03811661010b5761010b610197565b806001600160a01b0316639470a5b26040518163ffffffff1660e01b8152600401602060405180830381865afa158015610149573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061016d91906101ad565b91505090565b3660008037600080366000845af43d6000803e808015610192573d6000f35b3d6000fd5b634e487b7160e01b600052600160045260246000fd5b6000602082840312156101bf57600080fd5b81516001600160a01b03811681146101d657600080fd5b939250505056fea264697066735822122035440ff066432c4b7061f031c6ae944e8ff1b1fd7bdece66efd42d836724bb9164736f6c63430008130033";
15
+ static readonly bytecode = "0x608060405234801561001057600080fd5b50610213806100206000396000f3fe6080604052600436106100225760003560e01c80638129fc1c1461003957610031565b366100315761002f61004e565b005b61002f61004e565b34801561004557600080fd5b5061002f610060565b61005e6100596100d0565b610173565b565b7fb8fcd5719b3ddf8626f3664705a89b7fc476129a58c1aa5eda57c600cc1821a0546001600160a01b038116156100aa576040516305c5d81960e01b815260040160405180910390fd5b50337fb8fcd5719b3ddf8626f3664705a89b7fc476129a58c1aa5eda57c600cc1821a055565b7fb8fcd5719b3ddf8626f3664705a89b7fc476129a58c1aa5eda57c600cc1821a0546000906001600160a01b03811661010b5761010b610197565b806001600160a01b0316639470a5b26040518163ffffffff1660e01b8152600401602060405180830381865afa158015610149573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061016d91906101ad565b91505090565b3660008037600080366000845af43d6000803e808015610192573d6000f35b3d6000fd5b634e487b7160e01b600052600160045260246000fd5b6000602082840312156101bf57600080fd5b81516001600160a01b03811681146101d657600080fd5b939250505056fea264697066735822122053d25ec72a7479dcdeeea39d48bf9aa3e983269ca3b69897efd79feb4414295e64736f6c63430008130033";
16
16
  static readonly abi: readonly [{
17
17
  readonly inputs: readonly [];
18
18
  readonly name: "FUSTP_ALREADY_INITIALIZED";