@etherisc/gif-next 0.0.2-bdb55c6-577 → 0.0.2-bdbfee9-660

Sign up to get free protection for your applications and to get access to all the features.
Files changed (587) hide show
  1. package/README.md +128 -9
  2. package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +4 -0
  3. package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +1056 -0
  4. package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +4 -0
  5. package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +771 -0
  6. package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +4 -0
  7. package/artifacts/contracts/{shared/ComponentVerifyingService.sol/ComponentVerifyingService.json → accounting/IAccountingService.sol/IAccountingService.json} +401 -103
  8. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +4 -0
  9. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +1664 -0
  10. package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +4 -0
  11. package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +1289 -0
  12. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +4 -0
  13. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +1403 -0
  14. package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +4 -0
  15. package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +790 -0
  16. package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +4 -0
  17. package/artifacts/contracts/authorization/IAccess.sol/IAccess.json +10 -0
  18. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +4 -0
  19. package/artifacts/contracts/{shared/IAccessManagerExtended.sol/IAccessManagerExtended.json → authorization/IAccessAdmin.sol/IAccessAdmin.json} +605 -795
  20. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +4 -0
  21. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +455 -0
  22. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +4 -0
  23. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +397 -0
  24. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +4 -0
  25. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +646 -0
  26. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +4 -0
  27. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +1225 -0
  28. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +4 -0
  29. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +805 -0
  30. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
  31. package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +120 -606
  32. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
  33. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +608 -282
  34. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
  35. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +229 -116
  36. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
  37. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +133 -279
  38. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
  39. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +362 -66
  40. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +4 -0
  41. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.json +22 -0
  42. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +4 -0
  43. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +1461 -0
  44. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +4 -0
  45. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +805 -0
  46. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +4 -0
  47. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +2026 -0
  48. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +4 -0
  49. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +805 -0
  50. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +4 -0
  51. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.json +376 -0
  52. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +4 -0
  53. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +1404 -0
  54. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +4 -0
  55. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +805 -0
  56. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +4 -0
  57. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +1152 -0
  58. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +4 -0
  59. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +1628 -0
  60. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +4 -0
  61. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +805 -0
  62. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +4 -0
  63. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +2452 -0
  64. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +4 -0
  65. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +805 -0
  66. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +4 -0
  67. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +851 -0
  68. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  69. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +551 -96
  70. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  71. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +436 -86
  72. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  73. package/artifacts/contracts/instance/Instance.sol/Instance.json +550 -235
  74. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
  75. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +1954 -313
  76. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +4 -0
  77. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +902 -0
  78. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  79. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +1704 -759
  80. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  81. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +423 -230
  82. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  83. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +121 -102
  84. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
  85. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +916 -774
  86. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +4 -0
  87. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +853 -0
  88. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
  89. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +2 -2
  90. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
  91. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.json +0 -53
  92. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +1 -1
  93. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +2 -2
  94. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +4 -0
  95. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +223 -0
  96. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +4 -0
  97. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +192 -0
  98. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +4 -0
  99. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +168 -0
  100. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  101. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
  102. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  103. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  104. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  105. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
  106. package/artifacts/contracts/mock/Dip.sol/Dip.json +2 -2
  107. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +4 -0
  108. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +938 -0
  109. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +4 -0
  110. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +810 -0
  111. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +1 -1
  112. package/artifacts/contracts/oracle/IOracle.sol/IOracle.json +43 -1
  113. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +1 -1
  114. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +130 -136
  115. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
  116. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +91 -10
  117. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
  118. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +121 -413
  119. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
  120. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +203 -177
  121. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
  122. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +164 -91
  123. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +4 -0
  124. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +1231 -0
  125. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +4 -0
  126. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +805 -0
  127. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
  128. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +418 -220
  129. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
  130. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +207 -102
  131. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
  132. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +234 -34
  133. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
  134. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +128 -396
  135. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
  136. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +494 -308
  137. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
  138. package/artifacts/contracts/pool/Pool.sol/Pool.json +125 -684
  139. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +4 -0
  140. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +546 -0
  141. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
  142. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +733 -530
  143. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
  144. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +210 -101
  145. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
  146. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +217 -170
  147. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
  148. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +146 -97
  149. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +4 -0
  150. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +1140 -0
  151. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +4 -0
  152. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +805 -0
  153. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
  154. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +476 -221
  155. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
  156. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +183 -118
  157. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
  158. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +158 -8
  159. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
  160. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +341 -15
  161. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
  162. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +410 -100
  163. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
  164. package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +176 -79
  165. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
  166. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +270 -268
  167. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +4 -0
  168. package/artifacts/contracts/product/{IProductService.sol/IProductService.json → IRiskService.sol/IRiskService.json} +110 -7
  169. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
  170. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +548 -309
  171. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +4 -0
  172. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +783 -0
  173. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
  174. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +183 -102
  175. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
  176. package/artifacts/contracts/product/PricingService.sol/PricingService.json +239 -309
  177. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
  178. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +145 -128
  179. package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
  180. package/artifacts/contracts/product/Product.sol/Product.json +268 -567
  181. package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +4 -0
  182. package/artifacts/contracts/product/RiskService.sol/RiskService.json +698 -0
  183. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +4 -0
  184. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +755 -0
  185. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  186. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +59 -16
  187. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  188. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +379 -64
  189. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  190. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +90 -147
  191. package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +4 -0
  192. package/artifacts/contracts/registry/IRelease.sol/IRelease.json +24 -0
  193. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  194. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +5 -18
  195. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  196. package/artifacts/contracts/registry/Registry.sol/Registry.json +612 -128
  197. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
  198. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +1895 -155
  199. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +4 -0
  200. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +1053 -0
  201. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  202. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +140 -276
  203. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  204. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +128 -83
  205. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +4 -0
  206. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +2152 -0
  207. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +4 -0
  208. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +205 -0
  209. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +4 -0
  210. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +1389 -0
  211. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +4 -0
  212. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +683 -0
  213. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  214. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +15 -15
  215. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
  216. package/artifacts/contracts/shared/Component.sol/Component.json +67 -277
  217. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
  218. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +539 -532
  219. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
  220. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +169 -126
  221. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +4 -0
  222. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +632 -0
  223. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +4 -0
  224. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.json +24 -0
  225. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +4 -0
  226. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.json +30 -0
  227. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +4 -0
  228. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.json +40 -0
  229. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
  230. package/artifacts/contracts/shared/IComponent.sol/IComponent.json +80 -100
  231. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
  232. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +519 -249
  233. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
  234. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +116 -133
  235. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
  236. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.json +45 -3
  237. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
  238. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.json +34 -3
  239. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  240. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +16 -0
  241. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
  242. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +15 -47
  243. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  244. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +148 -0
  245. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
  246. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  247. package/artifacts/contracts/shared/IService.sol/IService.json +77 -1
  248. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +4 -0
  249. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +53 -0
  250. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
  251. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +106 -366
  252. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
  253. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +55 -88
  254. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
  255. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +42 -62
  256. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +4 -0
  257. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +306 -0
  258. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  259. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +22 -57
  260. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
  261. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +19 -141
  262. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  263. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +122 -97
  264. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
  265. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -15
  266. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  267. package/artifacts/contracts/shared/Service.sol/Service.json +73 -104
  268. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  269. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +585 -12
  270. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +4 -0
  271. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +484 -0
  272. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +4 -0
  273. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +172 -0
  274. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
  275. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +322 -133
  276. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
  277. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +213 -29
  278. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
  279. package/artifacts/contracts/staking/Staking.sol/Staking.json +405 -415
  280. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +4 -0
  281. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +469 -0
  282. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +4 -0
  283. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +205 -0
  284. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
  285. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +158 -112
  286. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
  287. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +91 -67
  288. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
  289. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +269 -187
  290. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
  291. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +134 -97
  292. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
  293. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +273 -165
  294. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
  295. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +95 -49
  296. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
  297. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.json +2 -2
  298. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
  299. package/artifacts/contracts/type/Amount.sol/AmountLib.json +63 -10
  300. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  301. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +2 -2
  302. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
  303. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +28 -4
  304. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
  305. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +4 -4
  306. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
  307. package/artifacts/contracts/type/Fee.sol/FeeLib.json +98 -37
  308. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
  309. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
  310. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +4 -0
  311. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +33 -0
  312. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
  313. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +23 -4
  314. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
  315. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
  316. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  317. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +140 -4
  318. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
  319. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +19 -19
  320. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
  321. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +4 -4
  322. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
  323. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +4 -4
  324. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
  325. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +125 -7
  326. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
  327. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +121 -23
  328. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
  329. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +69 -2
  330. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +4 -0
  331. package/artifacts/contracts/type/Selector.sol/SelectorLib.json +148 -0
  332. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +4 -0
  333. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +10 -0
  334. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
  335. package/artifacts/contracts/type/StateId.sol/StateIdLib.json +15 -2
  336. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +4 -0
  337. package/artifacts/contracts/type/String.sol/StrLib.json +180 -0
  338. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
  339. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +23 -4
  340. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
  341. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +126 -33
  342. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
  343. package/artifacts/contracts/type/Version.sol/VersionLib.json +2 -21
  344. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
  345. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +120 -2
  346. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +4 -0
  347. package/artifacts/contracts/{shared → upgradeability}/IVersionable.sol/IVersionable.json +11 -1
  348. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +4 -0
  349. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +637 -0
  350. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +4 -0
  351. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +142 -0
  352. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +4 -0
  353. package/artifacts/contracts/{shared → upgradeability}/Versionable.sol/Versionable.json +11 -1
  354. package/contracts/accounting/AccountingService.sol +274 -0
  355. package/contracts/accounting/AccountingServiceManager.sol +38 -0
  356. package/contracts/accounting/IAccountingService.sol +47 -0
  357. package/contracts/authorization/AccessAdmin.sol +780 -0
  358. package/contracts/authorization/AccessAdminLib.sol +396 -0
  359. package/contracts/authorization/AccessManagerCloneable.sol +158 -0
  360. package/contracts/authorization/Authorization.sol +172 -0
  361. package/contracts/authorization/IAccess.sol +67 -0
  362. package/contracts/authorization/IAccessAdmin.sol +144 -0
  363. package/contracts/authorization/IAuthorization.sol +27 -0
  364. package/contracts/authorization/IServiceAuthorization.sol +78 -0
  365. package/contracts/authorization/ServiceAuthorization.sol +320 -0
  366. package/contracts/distribution/BasicDistribution.sol +141 -0
  367. package/contracts/distribution/BasicDistributionAuthorization.sol +67 -0
  368. package/contracts/distribution/Distribution.sol +125 -139
  369. package/contracts/distribution/DistributionService.sol +273 -136
  370. package/contracts/distribution/DistributionServiceManager.sol +8 -11
  371. package/contracts/distribution/IDistributionComponent.sol +21 -42
  372. package/contracts/distribution/IDistributionService.sol +54 -26
  373. package/contracts/examples/fire/DamageLevel.sol +59 -0
  374. package/contracts/examples/fire/FirePool.sol +86 -0
  375. package/contracts/examples/fire/FirePoolAuthorization.sol +35 -0
  376. package/contracts/examples/fire/FireProduct.sol +433 -0
  377. package/contracts/examples/fire/FireProductAuthorization.sol +45 -0
  378. package/contracts/examples/fire/FireUSD.sol +26 -0
  379. package/contracts/examples/unpermissioned/SimpleDistribution.sol +81 -0
  380. package/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol +28 -0
  381. package/contracts/examples/unpermissioned/SimpleOracle.sol +133 -0
  382. package/contracts/examples/unpermissioned/SimplePool.sol +102 -0
  383. package/contracts/examples/unpermissioned/SimplePoolAuthorization.sol +28 -0
  384. package/contracts/examples/unpermissioned/SimpleProduct.sol +385 -0
  385. package/contracts/examples/unpermissioned/SimpleProductAuthorization.sol +28 -0
  386. package/contracts/instance/BundleSet.sol +130 -0
  387. package/contracts/instance/IInstance.sol +110 -47
  388. package/contracts/instance/IInstanceService.sol +74 -42
  389. package/contracts/instance/Instance.sol +248 -138
  390. package/contracts/instance/InstanceAdmin.sol +301 -249
  391. package/contracts/instance/InstanceAuthorizationV3.sol +266 -0
  392. package/contracts/instance/InstanceReader.sol +494 -252
  393. package/contracts/instance/InstanceService.sol +358 -208
  394. package/contracts/instance/InstanceServiceManager.sol +8 -13
  395. package/contracts/instance/InstanceStore.sol +35 -18
  396. package/contracts/instance/RiskSet.sol +118 -0
  397. package/contracts/instance/base/BalanceStore.sol +14 -11
  398. package/contracts/instance/base/Cloneable.sol +2 -25
  399. package/contracts/instance/base/ObjectCounter.sol +1 -2
  400. package/contracts/instance/base/ObjectLifecycle.sol +113 -0
  401. package/contracts/instance/base/ObjectSet.sol +77 -0
  402. package/contracts/instance/base/ObjectSetHelperLib.sol +30 -0
  403. package/contracts/instance/module/IBundle.sol +6 -5
  404. package/contracts/instance/module/IComponents.sol +30 -20
  405. package/contracts/instance/module/IDistribution.sol +21 -9
  406. package/contracts/instance/module/IPolicy.sol +50 -29
  407. package/contracts/instance/module/IRisk.sol +5 -0
  408. package/contracts/mock/Dip.sol +1 -1
  409. package/contracts/oracle/BasicOracle.sol +45 -0
  410. package/contracts/oracle/BasicOracleAuthorization.sol +53 -0
  411. package/contracts/oracle/IOracle.sol +25 -4
  412. package/contracts/oracle/IOracleComponent.sol +2 -1
  413. package/contracts/oracle/IOracleService.sol +2 -1
  414. package/contracts/oracle/Oracle.sol +62 -53
  415. package/contracts/oracle/OracleService.sol +118 -85
  416. package/contracts/oracle/OracleServiceManager.sol +8 -11
  417. package/contracts/pool/BasicPool.sol +173 -0
  418. package/contracts/pool/BasicPoolAuthorization.sol +82 -0
  419. package/contracts/pool/BundleService.sol +212 -114
  420. package/contracts/pool/BundleServiceManager.sol +8 -11
  421. package/contracts/pool/IBundleService.sol +31 -22
  422. package/contracts/pool/IPoolComponent.sol +20 -70
  423. package/contracts/pool/IPoolService.sol +91 -77
  424. package/contracts/pool/Pool.sol +207 -163
  425. package/contracts/pool/PoolLib.sol +359 -0
  426. package/contracts/pool/PoolService.sol +404 -264
  427. package/contracts/pool/PoolServiceManager.sol +6 -9
  428. package/contracts/product/ApplicationService.sol +132 -87
  429. package/contracts/product/ApplicationServiceManager.sol +6 -6
  430. package/contracts/product/BasicProduct.sol +49 -0
  431. package/contracts/product/BasicProductAuthorization.sol +63 -0
  432. package/contracts/product/ClaimService.sol +385 -188
  433. package/contracts/product/ClaimServiceManager.sol +6 -6
  434. package/contracts/product/IApplicationService.sol +9 -2
  435. package/contracts/product/IClaimService.sol +44 -8
  436. package/contracts/product/IPolicyService.sol +61 -37
  437. package/contracts/product/IPricingService.sol +11 -10
  438. package/contracts/product/IProductComponent.sol +29 -9
  439. package/contracts/product/{IProductService.sol → IRiskService.sol} +8 -8
  440. package/contracts/product/PolicyService.sol +448 -278
  441. package/contracts/product/PolicyServiceLib.sol +139 -0
  442. package/contracts/product/PolicyServiceManager.sol +6 -9
  443. package/contracts/product/PricingService.sol +93 -88
  444. package/contracts/product/PricingServiceManager.sol +6 -9
  445. package/contracts/product/Product.sol +237 -142
  446. package/contracts/product/RiskService.sol +157 -0
  447. package/contracts/product/RiskServiceManager.sol +39 -0
  448. package/contracts/registry/ChainNft.sol +72 -40
  449. package/contracts/registry/IRegistry.sol +82 -31
  450. package/contracts/registry/IRegistryService.sol +3 -10
  451. package/contracts/registry/IRelease.sol +29 -0
  452. package/contracts/registry/ITransferInterceptor.sol +1 -2
  453. package/contracts/registry/Registry.sol +374 -214
  454. package/contracts/registry/RegistryAdmin.sol +122 -171
  455. package/contracts/registry/RegistryAuthorization.sol +284 -0
  456. package/contracts/registry/RegistryService.sol +47 -72
  457. package/contracts/registry/RegistryServiceManager.sol +5 -10
  458. package/contracts/registry/ReleaseAdmin.sol +195 -0
  459. package/contracts/registry/ReleaseLifecycle.sol +32 -0
  460. package/contracts/registry/ReleaseRegistry.sol +520 -0
  461. package/contracts/registry/ServiceAuthorizationV3.sol +345 -0
  462. package/contracts/registry/TokenRegistry.sol +14 -15
  463. package/contracts/shared/Component.sol +65 -136
  464. package/contracts/shared/ComponentService.sol +445 -385
  465. package/contracts/shared/ComponentServiceManager.sol +10 -7
  466. package/contracts/shared/ContractLib.sol +311 -0
  467. package/contracts/shared/IComponent.sol +6 -18
  468. package/contracts/shared/IComponentService.sol +49 -41
  469. package/contracts/shared/IInstanceLinkedComponent.sol +10 -26
  470. package/contracts/shared/IKeyValueStore.sol +1 -0
  471. package/contracts/shared/ILifecycle.sol +3 -2
  472. package/contracts/shared/INftOwnable.sol +2 -0
  473. package/contracts/shared/IPolicyHolder.sol +12 -22
  474. package/contracts/shared/IRegisterable.sol +22 -1
  475. package/contracts/shared/IService.sol +10 -5
  476. package/contracts/shared/{ERC165.sol → InitializableERC165.sol} +11 -3
  477. package/contracts/shared/InstanceLinkedComponent.sol +95 -45
  478. package/contracts/shared/KeyValueStore.sol +7 -3
  479. package/contracts/shared/Lifecycle.sol +30 -72
  480. package/contracts/shared/{NftIdSetManager.sol → NftIdSet.sol} +1 -1
  481. package/contracts/shared/NftOwnable.sol +31 -11
  482. package/contracts/shared/PolicyHolder.sol +20 -59
  483. package/contracts/shared/Registerable.sol +52 -21
  484. package/contracts/shared/RegistryLinked.sol +9 -14
  485. package/contracts/shared/Service.sol +31 -41
  486. package/contracts/shared/TokenHandler.sol +310 -26
  487. package/contracts/shared/TokenHandlerDeployerLib.sol +20 -0
  488. package/contracts/staking/IStaking.sol +49 -22
  489. package/contracts/staking/IStakingService.sol +37 -16
  490. package/contracts/staking/Staking.sol +244 -190
  491. package/contracts/staking/StakingLib.sol +281 -0
  492. package/contracts/staking/StakingLifecycle.sol +23 -0
  493. package/contracts/staking/StakingManager.sol +10 -12
  494. package/contracts/staking/StakingReader.sol +46 -34
  495. package/contracts/staking/StakingService.sol +146 -84
  496. package/contracts/staking/StakingServiceManager.sol +8 -8
  497. package/contracts/staking/StakingStore.sol +95 -61
  498. package/contracts/staking/TargetManagerLib.sol +8 -4
  499. package/contracts/type/Amount.sol +27 -5
  500. package/contracts/type/Blocknumber.sol +7 -1
  501. package/contracts/type/ClaimId.sol +6 -1
  502. package/contracts/type/Fee.sol +8 -8
  503. package/contracts/type/Key32.sol +2 -2
  504. package/contracts/type/Key32Set.sol +62 -0
  505. package/contracts/type/NftId.sol +7 -0
  506. package/contracts/type/ObjectType.sol +200 -61
  507. package/contracts/type/PayoutId.sol +10 -10
  508. package/contracts/type/Referral.sol +1 -0
  509. package/contracts/type/RiskId.sol +38 -6
  510. package/contracts/type/RoleId.sol +121 -87
  511. package/contracts/type/Seconds.sol +25 -1
  512. package/contracts/type/Selector.sol +107 -0
  513. package/contracts/type/StateId.sol +15 -1
  514. package/contracts/type/String.sol +65 -0
  515. package/contracts/type/Timestamp.sol +10 -5
  516. package/contracts/type/UFixed.sol +61 -125
  517. package/contracts/type/Version.sol +57 -6
  518. package/contracts/{shared → upgradeability}/IVersionable.sol +3 -0
  519. package/contracts/{shared → upgradeability}/ProxyManager.sol +96 -49
  520. package/contracts/{shared → upgradeability}/UpgradableProxyWithAdmin.sol +8 -4
  521. package/contracts/{shared → upgradeability}/Versionable.sol +8 -5
  522. package/package.json +10 -7
  523. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +0 -4
  524. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +0 -778
  525. package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.dbg.json +0 -4
  526. package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.json +0 -228
  527. package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.dbg.json +0 -4
  528. package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.json +0 -256
  529. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +0 -4
  530. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +0 -129
  531. package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +0 -4
  532. package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +0 -4
  533. package/artifacts/contracts/product/ProductService.sol/ProductService.json +0 -679
  534. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
  535. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +0 -694
  536. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +0 -4
  537. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +0 -1292
  538. package/artifacts/contracts/registry/ServiceAuthorizationsLib.sol/ServiceAuthorizationsLib.dbg.json +0 -4
  539. package/artifacts/contracts/registry/ServiceAuthorizationsLib.sol/ServiceAuthorizationsLib.json +0 -137
  540. package/artifacts/contracts/shared/AccessManagerCustom.sol/AccessManagerCustom.dbg.json +0 -4
  541. package/artifacts/contracts/shared/AccessManagerCustom.sol/AccessManagerCustom.json +0 -1193
  542. package/artifacts/contracts/shared/AccessManagerExtended.sol/AccessManagerExtended.dbg.json +0 -4
  543. package/artifacts/contracts/shared/AccessManagerExtended.sol/AccessManagerExtended.json +0 -1715
  544. package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.dbg.json +0 -4
  545. package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.json +0 -1728
  546. package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.dbg.json +0 -4
  547. package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.json +0 -1806
  548. package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.dbg.json +0 -4
  549. package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.json +0 -1824
  550. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +0 -4
  551. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +0 -4
  552. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +0 -73
  553. package/artifacts/contracts/shared/IAccessManagerExtended.sol/IAccessManagerExtended.dbg.json +0 -4
  554. package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.dbg.json +0 -4
  555. package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.json +0 -1600
  556. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +0 -4
  557. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +0 -4
  558. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.json +0 -39
  559. package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.dbg.json +0 -4
  560. package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.json +0 -306
  561. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +0 -4
  562. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +0 -617
  563. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +0 -4
  564. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +0 -129
  565. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +0 -4
  566. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +0 -4
  567. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +0 -444
  568. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +0 -4
  569. package/artifacts/contracts/type/UFixed.sol/MathLib.json +0 -10
  570. package/contracts/instance/BundleManager.sol +0 -126
  571. package/contracts/instance/InstanceAuthorizationsLib.sol +0 -377
  572. package/contracts/instance/base/ObjectManager.sol +0 -82
  573. package/contracts/instance/module/IAccess.sol +0 -46
  574. package/contracts/product/ProductService.sol +0 -124
  575. package/contracts/product/ProductServiceManager.sol +0 -42
  576. package/contracts/registry/ReleaseManager.sol +0 -600
  577. package/contracts/registry/ServiceAuthorizationsLib.sol +0 -173
  578. package/contracts/shared/AccessManagerCustom.sol +0 -736
  579. package/contracts/shared/AccessManagerExtended.sol +0 -470
  580. package/contracts/shared/AccessManagerExtendedInitializeable.sol +0 -13
  581. package/contracts/shared/AccessManagerExtendedWithDisable.sol +0 -137
  582. package/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol +0 -14
  583. package/contracts/shared/ComponentVerifyingService.sol +0 -117
  584. package/contracts/shared/IAccessManagerExtended.sol +0 -74
  585. package/contracts/shared/IAccessManagerExtendedWithDisable.sol +0 -18
  586. package/contracts/shared/InitializableCustom.sol +0 -177
  587. package/contracts/staking/StakeManagerLib.sol +0 -179
@@ -1,1806 +0,0 @@
1
- {
2
- "_format": "hh-sol-artifact-1",
3
- "contractName": "AccessManagerExtendedWithDisable",
4
- "sourceName": "contracts/shared/AccessManagerExtendedWithDisable.sol",
5
- "abi": [
6
- {
7
- "inputs": [
8
- {
9
- "internalType": "bytes32",
10
- "name": "operationId",
11
- "type": "bytes32"
12
- }
13
- ],
14
- "name": "AccessManagerAlreadyScheduled",
15
- "type": "error"
16
- },
17
- {
18
- "inputs": [],
19
- "name": "AccessManagerBadConfirmation",
20
- "type": "error"
21
- },
22
- {
23
- "inputs": [],
24
- "name": "AccessManagerDisabled",
25
- "type": "error"
26
- },
27
- {
28
- "inputs": [
29
- {
30
- "internalType": "bytes32",
31
- "name": "operationId",
32
- "type": "bytes32"
33
- }
34
- ],
35
- "name": "AccessManagerExpired",
36
- "type": "error"
37
- },
38
- {
39
- "inputs": [
40
- {
41
- "internalType": "address",
42
- "name": "initialAdmin",
43
- "type": "address"
44
- }
45
- ],
46
- "name": "AccessManagerInvalidInitialAdmin",
47
- "type": "error"
48
- },
49
- {
50
- "inputs": [
51
- {
52
- "internalType": "address",
53
- "name": "account",
54
- "type": "address"
55
- }
56
- ],
57
- "name": "AccessManagerLockedAccount",
58
- "type": "error"
59
- },
60
- {
61
- "inputs": [
62
- {
63
- "internalType": "uint64",
64
- "name": "roleId",
65
- "type": "uint64"
66
- }
67
- ],
68
- "name": "AccessManagerLockedRole",
69
- "type": "error"
70
- },
71
- {
72
- "inputs": [
73
- {
74
- "internalType": "bytes32",
75
- "name": "operationId",
76
- "type": "bytes32"
77
- }
78
- ],
79
- "name": "AccessManagerNotReady",
80
- "type": "error"
81
- },
82
- {
83
- "inputs": [
84
- {
85
- "internalType": "bytes32",
86
- "name": "operationId",
87
- "type": "bytes32"
88
- }
89
- ],
90
- "name": "AccessManagerNotScheduled",
91
- "type": "error"
92
- },
93
- {
94
- "inputs": [
95
- {
96
- "internalType": "uint64",
97
- "name": "roleId",
98
- "type": "uint64"
99
- }
100
- ],
101
- "name": "AccessManagerRoleIdAlreadyExists",
102
- "type": "error"
103
- },
104
- {
105
- "inputs": [
106
- {
107
- "internalType": "uint64",
108
- "name": "roleId",
109
- "type": "uint64"
110
- }
111
- ],
112
- "name": "AccessManagerRoleIdNotExists",
113
- "type": "error"
114
- },
115
- {
116
- "inputs": [
117
- {
118
- "internalType": "uint64",
119
- "name": "roleId",
120
- "type": "uint64"
121
- }
122
- ],
123
- "name": "AccessManagerRoleIdTooBig",
124
- "type": "error"
125
- },
126
- {
127
- "inputs": [],
128
- "name": "AccessManagerRoleIdZero",
129
- "type": "error"
130
- },
131
- {
132
- "inputs": [
133
- {
134
- "internalType": "uint64",
135
- "name": "newRoleId",
136
- "type": "uint64"
137
- },
138
- {
139
- "internalType": "uint64",
140
- "name": "existingRoleId",
141
- "type": "uint64"
142
- },
143
- {
144
- "internalType": "string",
145
- "name": "duplicateName",
146
- "type": "string"
147
- }
148
- ],
149
- "name": "AccessManagerRoleNameAlreadyExists",
150
- "type": "error"
151
- },
152
- {
153
- "inputs": [
154
- {
155
- "internalType": "uint64",
156
- "name": "roleId",
157
- "type": "uint64"
158
- }
159
- ],
160
- "name": "AccessManagerRoleNameEmpty",
161
- "type": "error"
162
- },
163
- {
164
- "inputs": [],
165
- "name": "AccessManagerTargetAddressZero",
166
- "type": "error"
167
- },
168
- {
169
- "inputs": [
170
- {
171
- "internalType": "address",
172
- "name": "target",
173
- "type": "address"
174
- }
175
- ],
176
- "name": "AccessManagerTargetAlreadyExists",
177
- "type": "error"
178
- },
179
- {
180
- "inputs": [
181
- {
182
- "internalType": "address",
183
- "name": "target",
184
- "type": "address"
185
- },
186
- {
187
- "internalType": "address",
188
- "name": "targetAuthority",
189
- "type": "address"
190
- }
191
- ],
192
- "name": "AccessManagerTargetAuthorityInvalid",
193
- "type": "error"
194
- },
195
- {
196
- "inputs": [
197
- {
198
- "internalType": "address",
199
- "name": "newTarget",
200
- "type": "address"
201
- },
202
- {
203
- "internalType": "address",
204
- "name": "existingTarget",
205
- "type": "address"
206
- },
207
- {
208
- "internalType": "string",
209
- "name": "duplicateName",
210
- "type": "string"
211
- }
212
- ],
213
- "name": "AccessManagerTargetNameAlreadyExists",
214
- "type": "error"
215
- },
216
- {
217
- "inputs": [
218
- {
219
- "internalType": "address",
220
- "name": "target",
221
- "type": "address"
222
- }
223
- ],
224
- "name": "AccessManagerTargetNameEmpty",
225
- "type": "error"
226
- },
227
- {
228
- "inputs": [
229
- {
230
- "internalType": "address",
231
- "name": "target",
232
- "type": "address"
233
- }
234
- ],
235
- "name": "AccessManagerTargetNotExists",
236
- "type": "error"
237
- },
238
- {
239
- "inputs": [
240
- {
241
- "internalType": "address",
242
- "name": "msgsender",
243
- "type": "address"
244
- },
245
- {
246
- "internalType": "uint64",
247
- "name": "roleId",
248
- "type": "uint64"
249
- }
250
- ],
251
- "name": "AccessManagerUnauthorizedAccount",
252
- "type": "error"
253
- },
254
- {
255
- "inputs": [
256
- {
257
- "internalType": "address",
258
- "name": "caller",
259
- "type": "address"
260
- },
261
- {
262
- "internalType": "address",
263
- "name": "target",
264
- "type": "address"
265
- },
266
- {
267
- "internalType": "bytes4",
268
- "name": "selector",
269
- "type": "bytes4"
270
- }
271
- ],
272
- "name": "AccessManagerUnauthorizedCall",
273
- "type": "error"
274
- },
275
- {
276
- "inputs": [
277
- {
278
- "internalType": "address",
279
- "name": "msgsender",
280
- "type": "address"
281
- },
282
- {
283
- "internalType": "address",
284
- "name": "caller",
285
- "type": "address"
286
- },
287
- {
288
- "internalType": "address",
289
- "name": "target",
290
- "type": "address"
291
- },
292
- {
293
- "internalType": "bytes4",
294
- "name": "selector",
295
- "type": "bytes4"
296
- }
297
- ],
298
- "name": "AccessManagerUnauthorizedCancel",
299
- "type": "error"
300
- },
301
- {
302
- "inputs": [
303
- {
304
- "internalType": "address",
305
- "name": "target",
306
- "type": "address"
307
- }
308
- ],
309
- "name": "AccessManagerUnauthorizedConsume",
310
- "type": "error"
311
- },
312
- {
313
- "inputs": [
314
- {
315
- "internalType": "address",
316
- "name": "target",
317
- "type": "address"
318
- }
319
- ],
320
- "name": "AddressEmptyCode",
321
- "type": "error"
322
- },
323
- {
324
- "inputs": [
325
- {
326
- "internalType": "address",
327
- "name": "account",
328
- "type": "address"
329
- }
330
- ],
331
- "name": "AddressInsufficientBalance",
332
- "type": "error"
333
- },
334
- {
335
- "inputs": [],
336
- "name": "FailedInnerCall",
337
- "type": "error"
338
- },
339
- {
340
- "inputs": [],
341
- "name": "InvalidInitialization",
342
- "type": "error"
343
- },
344
- {
345
- "inputs": [],
346
- "name": "NotInitializing",
347
- "type": "error"
348
- },
349
- {
350
- "inputs": [
351
- {
352
- "internalType": "uint8",
353
- "name": "bits",
354
- "type": "uint8"
355
- },
356
- {
357
- "internalType": "uint256",
358
- "name": "value",
359
- "type": "uint256"
360
- }
361
- ],
362
- "name": "SafeCastOverflowedUintDowncast",
363
- "type": "error"
364
- },
365
- {
366
- "anonymous": false,
367
- "inputs": [
368
- {
369
- "indexed": false,
370
- "internalType": "uint64",
371
- "name": "version",
372
- "type": "uint64"
373
- }
374
- ],
375
- "name": "Initialized",
376
- "type": "event"
377
- },
378
- {
379
- "anonymous": false,
380
- "inputs": [
381
- {
382
- "indexed": false,
383
- "internalType": "uint64",
384
- "name": "roleId",
385
- "type": "uint64"
386
- },
387
- {
388
- "indexed": false,
389
- "internalType": "string",
390
- "name": "name",
391
- "type": "string"
392
- }
393
- ],
394
- "name": "LogRoleCreation",
395
- "type": "event"
396
- },
397
- {
398
- "anonymous": false,
399
- "inputs": [
400
- {
401
- "indexed": false,
402
- "internalType": "address",
403
- "name": "target",
404
- "type": "address"
405
- },
406
- {
407
- "indexed": false,
408
- "internalType": "string",
409
- "name": "name",
410
- "type": "string"
411
- }
412
- ],
413
- "name": "LogTargetCreation",
414
- "type": "event"
415
- },
416
- {
417
- "anonymous": false,
418
- "inputs": [
419
- {
420
- "indexed": true,
421
- "internalType": "bytes32",
422
- "name": "operationId",
423
- "type": "bytes32"
424
- },
425
- {
426
- "indexed": true,
427
- "internalType": "uint32",
428
- "name": "nonce",
429
- "type": "uint32"
430
- }
431
- ],
432
- "name": "OperationCanceled",
433
- "type": "event"
434
- },
435
- {
436
- "anonymous": false,
437
- "inputs": [
438
- {
439
- "indexed": true,
440
- "internalType": "bytes32",
441
- "name": "operationId",
442
- "type": "bytes32"
443
- },
444
- {
445
- "indexed": true,
446
- "internalType": "uint32",
447
- "name": "nonce",
448
- "type": "uint32"
449
- }
450
- ],
451
- "name": "OperationExecuted",
452
- "type": "event"
453
- },
454
- {
455
- "anonymous": false,
456
- "inputs": [
457
- {
458
- "indexed": true,
459
- "internalType": "bytes32",
460
- "name": "operationId",
461
- "type": "bytes32"
462
- },
463
- {
464
- "indexed": true,
465
- "internalType": "uint32",
466
- "name": "nonce",
467
- "type": "uint32"
468
- },
469
- {
470
- "indexed": false,
471
- "internalType": "uint48",
472
- "name": "schedule",
473
- "type": "uint48"
474
- },
475
- {
476
- "indexed": false,
477
- "internalType": "address",
478
- "name": "caller",
479
- "type": "address"
480
- },
481
- {
482
- "indexed": false,
483
- "internalType": "address",
484
- "name": "target",
485
- "type": "address"
486
- },
487
- {
488
- "indexed": false,
489
- "internalType": "bytes",
490
- "name": "data",
491
- "type": "bytes"
492
- }
493
- ],
494
- "name": "OperationScheduled",
495
- "type": "event"
496
- },
497
- {
498
- "anonymous": false,
499
- "inputs": [
500
- {
501
- "indexed": true,
502
- "internalType": "uint64",
503
- "name": "roleId",
504
- "type": "uint64"
505
- },
506
- {
507
- "indexed": true,
508
- "internalType": "uint64",
509
- "name": "admin",
510
- "type": "uint64"
511
- }
512
- ],
513
- "name": "RoleAdminChanged",
514
- "type": "event"
515
- },
516
- {
517
- "anonymous": false,
518
- "inputs": [
519
- {
520
- "indexed": true,
521
- "internalType": "uint64",
522
- "name": "roleId",
523
- "type": "uint64"
524
- },
525
- {
526
- "indexed": false,
527
- "internalType": "uint32",
528
- "name": "delay",
529
- "type": "uint32"
530
- },
531
- {
532
- "indexed": false,
533
- "internalType": "uint48",
534
- "name": "since",
535
- "type": "uint48"
536
- }
537
- ],
538
- "name": "RoleGrantDelayChanged",
539
- "type": "event"
540
- },
541
- {
542
- "anonymous": false,
543
- "inputs": [
544
- {
545
- "indexed": true,
546
- "internalType": "uint64",
547
- "name": "roleId",
548
- "type": "uint64"
549
- },
550
- {
551
- "indexed": true,
552
- "internalType": "address",
553
- "name": "account",
554
- "type": "address"
555
- },
556
- {
557
- "indexed": false,
558
- "internalType": "uint32",
559
- "name": "delay",
560
- "type": "uint32"
561
- },
562
- {
563
- "indexed": false,
564
- "internalType": "uint48",
565
- "name": "since",
566
- "type": "uint48"
567
- },
568
- {
569
- "indexed": false,
570
- "internalType": "bool",
571
- "name": "newMember",
572
- "type": "bool"
573
- }
574
- ],
575
- "name": "RoleGranted",
576
- "type": "event"
577
- },
578
- {
579
- "anonymous": false,
580
- "inputs": [
581
- {
582
- "indexed": true,
583
- "internalType": "uint64",
584
- "name": "roleId",
585
- "type": "uint64"
586
- },
587
- {
588
- "indexed": true,
589
- "internalType": "uint64",
590
- "name": "guardian",
591
- "type": "uint64"
592
- }
593
- ],
594
- "name": "RoleGuardianChanged",
595
- "type": "event"
596
- },
597
- {
598
- "anonymous": false,
599
- "inputs": [
600
- {
601
- "indexed": true,
602
- "internalType": "uint64",
603
- "name": "roleId",
604
- "type": "uint64"
605
- },
606
- {
607
- "indexed": false,
608
- "internalType": "string",
609
- "name": "label",
610
- "type": "string"
611
- }
612
- ],
613
- "name": "RoleLabel",
614
- "type": "event"
615
- },
616
- {
617
- "anonymous": false,
618
- "inputs": [
619
- {
620
- "indexed": true,
621
- "internalType": "uint64",
622
- "name": "roleId",
623
- "type": "uint64"
624
- },
625
- {
626
- "indexed": true,
627
- "internalType": "address",
628
- "name": "account",
629
- "type": "address"
630
- }
631
- ],
632
- "name": "RoleRevoked",
633
- "type": "event"
634
- },
635
- {
636
- "anonymous": false,
637
- "inputs": [
638
- {
639
- "indexed": true,
640
- "internalType": "address",
641
- "name": "target",
642
- "type": "address"
643
- },
644
- {
645
- "indexed": false,
646
- "internalType": "uint32",
647
- "name": "delay",
648
- "type": "uint32"
649
- },
650
- {
651
- "indexed": false,
652
- "internalType": "uint48",
653
- "name": "since",
654
- "type": "uint48"
655
- }
656
- ],
657
- "name": "TargetAdminDelayUpdated",
658
- "type": "event"
659
- },
660
- {
661
- "anonymous": false,
662
- "inputs": [
663
- {
664
- "indexed": true,
665
- "internalType": "address",
666
- "name": "target",
667
- "type": "address"
668
- },
669
- {
670
- "indexed": false,
671
- "internalType": "bool",
672
- "name": "closed",
673
- "type": "bool"
674
- }
675
- ],
676
- "name": "TargetClosed",
677
- "type": "event"
678
- },
679
- {
680
- "anonymous": false,
681
- "inputs": [
682
- {
683
- "indexed": true,
684
- "internalType": "address",
685
- "name": "target",
686
- "type": "address"
687
- },
688
- {
689
- "indexed": false,
690
- "internalType": "bytes4",
691
- "name": "selector",
692
- "type": "bytes4"
693
- },
694
- {
695
- "indexed": true,
696
- "internalType": "uint64",
697
- "name": "roleId",
698
- "type": "uint64"
699
- }
700
- ],
701
- "name": "TargetFunctionRoleUpdated",
702
- "type": "event"
703
- },
704
- {
705
- "inputs": [],
706
- "name": "ADMIN_ROLE",
707
- "outputs": [
708
- {
709
- "internalType": "uint64",
710
- "name": "",
711
- "type": "uint64"
712
- }
713
- ],
714
- "stateMutability": "view",
715
- "type": "function"
716
- },
717
- {
718
- "inputs": [],
719
- "name": "PUBLIC_ROLE",
720
- "outputs": [
721
- {
722
- "internalType": "uint64",
723
- "name": "",
724
- "type": "uint64"
725
- }
726
- ],
727
- "stateMutability": "view",
728
- "type": "function"
729
- },
730
- {
731
- "inputs": [
732
- {
733
- "internalType": "address",
734
- "name": "caller",
735
- "type": "address"
736
- },
737
- {
738
- "internalType": "address",
739
- "name": "target",
740
- "type": "address"
741
- },
742
- {
743
- "internalType": "bytes4",
744
- "name": "selector",
745
- "type": "bytes4"
746
- }
747
- ],
748
- "name": "canCall",
749
- "outputs": [
750
- {
751
- "internalType": "bool",
752
- "name": "immediate",
753
- "type": "bool"
754
- },
755
- {
756
- "internalType": "uint32",
757
- "name": "delay",
758
- "type": "uint32"
759
- }
760
- ],
761
- "stateMutability": "view",
762
- "type": "function"
763
- },
764
- {
765
- "inputs": [
766
- {
767
- "internalType": "address",
768
- "name": "caller",
769
- "type": "address"
770
- },
771
- {
772
- "internalType": "address",
773
- "name": "target",
774
- "type": "address"
775
- },
776
- {
777
- "internalType": "bytes",
778
- "name": "data",
779
- "type": "bytes"
780
- }
781
- ],
782
- "name": "cancel",
783
- "outputs": [
784
- {
785
- "internalType": "uint32",
786
- "name": "",
787
- "type": "uint32"
788
- }
789
- ],
790
- "stateMutability": "nonpayable",
791
- "type": "function"
792
- },
793
- {
794
- "inputs": [
795
- {
796
- "internalType": "address",
797
- "name": "caller",
798
- "type": "address"
799
- },
800
- {
801
- "internalType": "bytes",
802
- "name": "data",
803
- "type": "bytes"
804
- }
805
- ],
806
- "name": "consumeScheduledOp",
807
- "outputs": [],
808
- "stateMutability": "nonpayable",
809
- "type": "function"
810
- },
811
- {
812
- "inputs": [
813
- {
814
- "internalType": "uint64",
815
- "name": "roleId",
816
- "type": "uint64"
817
- },
818
- {
819
- "internalType": "string",
820
- "name": "name",
821
- "type": "string"
822
- }
823
- ],
824
- "name": "createRole",
825
- "outputs": [],
826
- "stateMutability": "nonpayable",
827
- "type": "function"
828
- },
829
- {
830
- "inputs": [
831
- {
832
- "internalType": "address",
833
- "name": "target",
834
- "type": "address"
835
- },
836
- {
837
- "internalType": "string",
838
- "name": "name",
839
- "type": "string"
840
- }
841
- ],
842
- "name": "createTarget",
843
- "outputs": [],
844
- "stateMutability": "nonpayable",
845
- "type": "function"
846
- },
847
- {
848
- "inputs": [
849
- {
850
- "internalType": "Seconds",
851
- "name": "delay",
852
- "type": "uint40"
853
- }
854
- ],
855
- "name": "disable",
856
- "outputs": [],
857
- "stateMutability": "nonpayable",
858
- "type": "function"
859
- },
860
- {
861
- "inputs": [],
862
- "name": "enable",
863
- "outputs": [],
864
- "stateMutability": "nonpayable",
865
- "type": "function"
866
- },
867
- {
868
- "inputs": [
869
- {
870
- "internalType": "address",
871
- "name": "target",
872
- "type": "address"
873
- },
874
- {
875
- "internalType": "bytes",
876
- "name": "data",
877
- "type": "bytes"
878
- }
879
- ],
880
- "name": "execute",
881
- "outputs": [
882
- {
883
- "internalType": "uint32",
884
- "name": "",
885
- "type": "uint32"
886
- }
887
- ],
888
- "stateMutability": "payable",
889
- "type": "function"
890
- },
891
- {
892
- "inputs": [],
893
- "name": "expiration",
894
- "outputs": [
895
- {
896
- "internalType": "uint32",
897
- "name": "",
898
- "type": "uint32"
899
- }
900
- ],
901
- "stateMutability": "view",
902
- "type": "function"
903
- },
904
- {
905
- "inputs": [
906
- {
907
- "internalType": "uint64",
908
- "name": "roleId",
909
- "type": "uint64"
910
- },
911
- {
912
- "internalType": "address",
913
- "name": "account",
914
- "type": "address"
915
- }
916
- ],
917
- "name": "getAccess",
918
- "outputs": [
919
- {
920
- "internalType": "uint48",
921
- "name": "since",
922
- "type": "uint48"
923
- },
924
- {
925
- "internalType": "uint32",
926
- "name": "currentDelay",
927
- "type": "uint32"
928
- },
929
- {
930
- "internalType": "uint32",
931
- "name": "pendingDelay",
932
- "type": "uint32"
933
- },
934
- {
935
- "internalType": "uint48",
936
- "name": "effect",
937
- "type": "uint48"
938
- }
939
- ],
940
- "stateMutability": "view",
941
- "type": "function"
942
- },
943
- {
944
- "inputs": [
945
- {
946
- "internalType": "bytes32",
947
- "name": "id",
948
- "type": "bytes32"
949
- }
950
- ],
951
- "name": "getNonce",
952
- "outputs": [
953
- {
954
- "internalType": "uint32",
955
- "name": "",
956
- "type": "uint32"
957
- }
958
- ],
959
- "stateMutability": "view",
960
- "type": "function"
961
- },
962
- {
963
- "inputs": [
964
- {
965
- "internalType": "uint64",
966
- "name": "roleId",
967
- "type": "uint64"
968
- }
969
- ],
970
- "name": "getRoleAdmin",
971
- "outputs": [
972
- {
973
- "internalType": "uint64",
974
- "name": "",
975
- "type": "uint64"
976
- }
977
- ],
978
- "stateMutability": "view",
979
- "type": "function"
980
- },
981
- {
982
- "inputs": [
983
- {
984
- "internalType": "uint64",
985
- "name": "roleId",
986
- "type": "uint64"
987
- }
988
- ],
989
- "name": "getRoleGrantDelay",
990
- "outputs": [
991
- {
992
- "internalType": "uint32",
993
- "name": "",
994
- "type": "uint32"
995
- }
996
- ],
997
- "stateMutability": "view",
998
- "type": "function"
999
- },
1000
- {
1001
- "inputs": [
1002
- {
1003
- "internalType": "uint64",
1004
- "name": "roleId",
1005
- "type": "uint64"
1006
- }
1007
- ],
1008
- "name": "getRoleGuardian",
1009
- "outputs": [
1010
- {
1011
- "internalType": "uint64",
1012
- "name": "",
1013
- "type": "uint64"
1014
- }
1015
- ],
1016
- "stateMutability": "view",
1017
- "type": "function"
1018
- },
1019
- {
1020
- "inputs": [
1021
- {
1022
- "internalType": "uint256",
1023
- "name": "idx",
1024
- "type": "uint256"
1025
- }
1026
- ],
1027
- "name": "getRoleId",
1028
- "outputs": [
1029
- {
1030
- "internalType": "uint64",
1031
- "name": "roleId",
1032
- "type": "uint64"
1033
- }
1034
- ],
1035
- "stateMutability": "view",
1036
- "type": "function"
1037
- },
1038
- {
1039
- "inputs": [
1040
- {
1041
- "internalType": "string",
1042
- "name": "name",
1043
- "type": "string"
1044
- }
1045
- ],
1046
- "name": "getRoleId",
1047
- "outputs": [
1048
- {
1049
- "internalType": "uint64",
1050
- "name": "roleId",
1051
- "type": "uint64"
1052
- }
1053
- ],
1054
- "stateMutability": "view",
1055
- "type": "function"
1056
- },
1057
- {
1058
- "inputs": [
1059
- {
1060
- "internalType": "uint64",
1061
- "name": "roleId",
1062
- "type": "uint64"
1063
- }
1064
- ],
1065
- "name": "getRoleInfo",
1066
- "outputs": [
1067
- {
1068
- "components": [
1069
- {
1070
- "internalType": "uint64",
1071
- "name": "id",
1072
- "type": "uint64"
1073
- },
1074
- {
1075
- "internalType": "string",
1076
- "name": "name",
1077
- "type": "string"
1078
- },
1079
- {
1080
- "internalType": "Timestamp",
1081
- "name": "createdAt",
1082
- "type": "uint40"
1083
- }
1084
- ],
1085
- "internalType": "struct IAccessManagerExtended.RoleInfo",
1086
- "name": "",
1087
- "type": "tuple"
1088
- }
1089
- ],
1090
- "stateMutability": "view",
1091
- "type": "function"
1092
- },
1093
- {
1094
- "inputs": [
1095
- {
1096
- "internalType": "uint64",
1097
- "name": "roleId",
1098
- "type": "uint64"
1099
- },
1100
- {
1101
- "internalType": "uint256",
1102
- "name": "idx",
1103
- "type": "uint256"
1104
- }
1105
- ],
1106
- "name": "getRoleMember",
1107
- "outputs": [
1108
- {
1109
- "internalType": "address",
1110
- "name": "member",
1111
- "type": "address"
1112
- }
1113
- ],
1114
- "stateMutability": "view",
1115
- "type": "function"
1116
- },
1117
- {
1118
- "inputs": [
1119
- {
1120
- "internalType": "uint64",
1121
- "name": "roleId",
1122
- "type": "uint64"
1123
- }
1124
- ],
1125
- "name": "getRoleMembers",
1126
- "outputs": [
1127
- {
1128
- "internalType": "uint256",
1129
- "name": "numberOfMembers",
1130
- "type": "uint256"
1131
- }
1132
- ],
1133
- "stateMutability": "view",
1134
- "type": "function"
1135
- },
1136
- {
1137
- "inputs": [],
1138
- "name": "getRoles",
1139
- "outputs": [
1140
- {
1141
- "internalType": "uint256",
1142
- "name": "numberOfRoles",
1143
- "type": "uint256"
1144
- }
1145
- ],
1146
- "stateMutability": "view",
1147
- "type": "function"
1148
- },
1149
- {
1150
- "inputs": [
1151
- {
1152
- "internalType": "bytes32",
1153
- "name": "id",
1154
- "type": "bytes32"
1155
- }
1156
- ],
1157
- "name": "getSchedule",
1158
- "outputs": [
1159
- {
1160
- "internalType": "uint48",
1161
- "name": "",
1162
- "type": "uint48"
1163
- }
1164
- ],
1165
- "stateMutability": "view",
1166
- "type": "function"
1167
- },
1168
- {
1169
- "inputs": [
1170
- {
1171
- "internalType": "string",
1172
- "name": "name",
1173
- "type": "string"
1174
- }
1175
- ],
1176
- "name": "getTargetAddress",
1177
- "outputs": [
1178
- {
1179
- "internalType": "address",
1180
- "name": "targetAddress",
1181
- "type": "address"
1182
- }
1183
- ],
1184
- "stateMutability": "view",
1185
- "type": "function"
1186
- },
1187
- {
1188
- "inputs": [
1189
- {
1190
- "internalType": "address",
1191
- "name": "target",
1192
- "type": "address"
1193
- }
1194
- ],
1195
- "name": "getTargetAdminDelay",
1196
- "outputs": [
1197
- {
1198
- "internalType": "uint32",
1199
- "name": "",
1200
- "type": "uint32"
1201
- }
1202
- ],
1203
- "stateMutability": "view",
1204
- "type": "function"
1205
- },
1206
- {
1207
- "inputs": [
1208
- {
1209
- "internalType": "address",
1210
- "name": "target",
1211
- "type": "address"
1212
- },
1213
- {
1214
- "internalType": "bytes4",
1215
- "name": "selector",
1216
- "type": "bytes4"
1217
- }
1218
- ],
1219
- "name": "getTargetFunctionRole",
1220
- "outputs": [
1221
- {
1222
- "internalType": "uint64",
1223
- "name": "",
1224
- "type": "uint64"
1225
- }
1226
- ],
1227
- "stateMutability": "view",
1228
- "type": "function"
1229
- },
1230
- {
1231
- "inputs": [
1232
- {
1233
- "internalType": "address",
1234
- "name": "target",
1235
- "type": "address"
1236
- }
1237
- ],
1238
- "name": "getTargetInfo",
1239
- "outputs": [
1240
- {
1241
- "components": [
1242
- {
1243
- "internalType": "address",
1244
- "name": "taddress",
1245
- "type": "address"
1246
- },
1247
- {
1248
- "internalType": "string",
1249
- "name": "name",
1250
- "type": "string"
1251
- },
1252
- {
1253
- "internalType": "Timestamp",
1254
- "name": "createdAt",
1255
- "type": "uint40"
1256
- }
1257
- ],
1258
- "internalType": "struct IAccessManagerExtended.TargetInfo",
1259
- "name": "",
1260
- "type": "tuple"
1261
- }
1262
- ],
1263
- "stateMutability": "view",
1264
- "type": "function"
1265
- },
1266
- {
1267
- "inputs": [],
1268
- "name": "getVersion",
1269
- "outputs": [
1270
- {
1271
- "internalType": "VersionPart",
1272
- "name": "",
1273
- "type": "uint8"
1274
- }
1275
- ],
1276
- "stateMutability": "view",
1277
- "type": "function"
1278
- },
1279
- {
1280
- "inputs": [
1281
- {
1282
- "internalType": "uint64",
1283
- "name": "roleId",
1284
- "type": "uint64"
1285
- },
1286
- {
1287
- "internalType": "address",
1288
- "name": "account",
1289
- "type": "address"
1290
- },
1291
- {
1292
- "internalType": "uint32",
1293
- "name": "executionDelay",
1294
- "type": "uint32"
1295
- }
1296
- ],
1297
- "name": "grantRole",
1298
- "outputs": [],
1299
- "stateMutability": "nonpayable",
1300
- "type": "function"
1301
- },
1302
- {
1303
- "inputs": [
1304
- {
1305
- "internalType": "uint64",
1306
- "name": "roleId",
1307
- "type": "uint64"
1308
- },
1309
- {
1310
- "internalType": "address",
1311
- "name": "account",
1312
- "type": "address"
1313
- }
1314
- ],
1315
- "name": "hasRole",
1316
- "outputs": [
1317
- {
1318
- "internalType": "bool",
1319
- "name": "isMember",
1320
- "type": "bool"
1321
- },
1322
- {
1323
- "internalType": "uint32",
1324
- "name": "executionDelay",
1325
- "type": "uint32"
1326
- }
1327
- ],
1328
- "stateMutability": "view",
1329
- "type": "function"
1330
- },
1331
- {
1332
- "inputs": [
1333
- {
1334
- "internalType": "address",
1335
- "name": "caller",
1336
- "type": "address"
1337
- },
1338
- {
1339
- "internalType": "address",
1340
- "name": "target",
1341
- "type": "address"
1342
- },
1343
- {
1344
- "internalType": "bytes",
1345
- "name": "data",
1346
- "type": "bytes"
1347
- }
1348
- ],
1349
- "name": "hashOperation",
1350
- "outputs": [
1351
- {
1352
- "internalType": "bytes32",
1353
- "name": "",
1354
- "type": "bytes32"
1355
- }
1356
- ],
1357
- "stateMutability": "view",
1358
- "type": "function"
1359
- },
1360
- {
1361
- "inputs": [],
1362
- "name": "isDisabled",
1363
- "outputs": [
1364
- {
1365
- "internalType": "bool",
1366
- "name": "",
1367
- "type": "bool"
1368
- }
1369
- ],
1370
- "stateMutability": "view",
1371
- "type": "function"
1372
- },
1373
- {
1374
- "inputs": [
1375
- {
1376
- "internalType": "uint64",
1377
- "name": "roleId",
1378
- "type": "uint64"
1379
- }
1380
- ],
1381
- "name": "isRoleExists",
1382
- "outputs": [
1383
- {
1384
- "internalType": "bool",
1385
- "name": "exists",
1386
- "type": "bool"
1387
- }
1388
- ],
1389
- "stateMutability": "view",
1390
- "type": "function"
1391
- },
1392
- {
1393
- "inputs": [
1394
- {
1395
- "internalType": "string",
1396
- "name": "name",
1397
- "type": "string"
1398
- }
1399
- ],
1400
- "name": "isRoleNameExists",
1401
- "outputs": [
1402
- {
1403
- "internalType": "bool",
1404
- "name": "exists",
1405
- "type": "bool"
1406
- }
1407
- ],
1408
- "stateMutability": "view",
1409
- "type": "function"
1410
- },
1411
- {
1412
- "inputs": [
1413
- {
1414
- "internalType": "address",
1415
- "name": "target",
1416
- "type": "address"
1417
- }
1418
- ],
1419
- "name": "isTargetClosed",
1420
- "outputs": [
1421
- {
1422
- "internalType": "bool",
1423
- "name": "",
1424
- "type": "bool"
1425
- }
1426
- ],
1427
- "stateMutability": "view",
1428
- "type": "function"
1429
- },
1430
- {
1431
- "inputs": [
1432
- {
1433
- "internalType": "address",
1434
- "name": "target",
1435
- "type": "address"
1436
- }
1437
- ],
1438
- "name": "isTargetExists",
1439
- "outputs": [
1440
- {
1441
- "internalType": "bool",
1442
- "name": "",
1443
- "type": "bool"
1444
- }
1445
- ],
1446
- "stateMutability": "view",
1447
- "type": "function"
1448
- },
1449
- {
1450
- "inputs": [
1451
- {
1452
- "internalType": "string",
1453
- "name": "name",
1454
- "type": "string"
1455
- }
1456
- ],
1457
- "name": "isTargetNameExists",
1458
- "outputs": [
1459
- {
1460
- "internalType": "bool",
1461
- "name": "",
1462
- "type": "bool"
1463
- }
1464
- ],
1465
- "stateMutability": "view",
1466
- "type": "function"
1467
- },
1468
- {
1469
- "inputs": [
1470
- {
1471
- "internalType": "uint64",
1472
- "name": "roleId",
1473
- "type": "uint64"
1474
- },
1475
- {
1476
- "internalType": "string",
1477
- "name": "label",
1478
- "type": "string"
1479
- }
1480
- ],
1481
- "name": "labelRole",
1482
- "outputs": [],
1483
- "stateMutability": "nonpayable",
1484
- "type": "function"
1485
- },
1486
- {
1487
- "inputs": [],
1488
- "name": "minSetback",
1489
- "outputs": [
1490
- {
1491
- "internalType": "uint32",
1492
- "name": "",
1493
- "type": "uint32"
1494
- }
1495
- ],
1496
- "stateMutability": "view",
1497
- "type": "function"
1498
- },
1499
- {
1500
- "inputs": [
1501
- {
1502
- "internalType": "bytes[]",
1503
- "name": "data",
1504
- "type": "bytes[]"
1505
- }
1506
- ],
1507
- "name": "multicall",
1508
- "outputs": [
1509
- {
1510
- "internalType": "bytes[]",
1511
- "name": "results",
1512
- "type": "bytes[]"
1513
- }
1514
- ],
1515
- "stateMutability": "nonpayable",
1516
- "type": "function"
1517
- },
1518
- {
1519
- "inputs": [
1520
- {
1521
- "internalType": "uint64",
1522
- "name": "roleId",
1523
- "type": "uint64"
1524
- },
1525
- {
1526
- "internalType": "address",
1527
- "name": "callerConfirmation",
1528
- "type": "address"
1529
- }
1530
- ],
1531
- "name": "renounceRole",
1532
- "outputs": [],
1533
- "stateMutability": "nonpayable",
1534
- "type": "function"
1535
- },
1536
- {
1537
- "inputs": [
1538
- {
1539
- "internalType": "uint64",
1540
- "name": "roleId",
1541
- "type": "uint64"
1542
- },
1543
- {
1544
- "internalType": "address",
1545
- "name": "account",
1546
- "type": "address"
1547
- }
1548
- ],
1549
- "name": "revokeRole",
1550
- "outputs": [],
1551
- "stateMutability": "nonpayable",
1552
- "type": "function"
1553
- },
1554
- {
1555
- "inputs": [
1556
- {
1557
- "internalType": "address",
1558
- "name": "target",
1559
- "type": "address"
1560
- },
1561
- {
1562
- "internalType": "bytes",
1563
- "name": "data",
1564
- "type": "bytes"
1565
- },
1566
- {
1567
- "internalType": "uint48",
1568
- "name": "when",
1569
- "type": "uint48"
1570
- }
1571
- ],
1572
- "name": "schedule",
1573
- "outputs": [
1574
- {
1575
- "internalType": "bytes32",
1576
- "name": "operationId",
1577
- "type": "bytes32"
1578
- },
1579
- {
1580
- "internalType": "uint32",
1581
- "name": "nonce",
1582
- "type": "uint32"
1583
- }
1584
- ],
1585
- "stateMutability": "nonpayable",
1586
- "type": "function"
1587
- },
1588
- {
1589
- "inputs": [
1590
- {
1591
- "internalType": "uint64",
1592
- "name": "roleId",
1593
- "type": "uint64"
1594
- },
1595
- {
1596
- "internalType": "uint32",
1597
- "name": "newDelay",
1598
- "type": "uint32"
1599
- }
1600
- ],
1601
- "name": "setGrantDelay",
1602
- "outputs": [],
1603
- "stateMutability": "nonpayable",
1604
- "type": "function"
1605
- },
1606
- {
1607
- "inputs": [
1608
- {
1609
- "internalType": "uint64",
1610
- "name": "roleId",
1611
- "type": "uint64"
1612
- },
1613
- {
1614
- "internalType": "uint64",
1615
- "name": "admin",
1616
- "type": "uint64"
1617
- }
1618
- ],
1619
- "name": "setRoleAdmin",
1620
- "outputs": [],
1621
- "stateMutability": "nonpayable",
1622
- "type": "function"
1623
- },
1624
- {
1625
- "inputs": [
1626
- {
1627
- "internalType": "uint64",
1628
- "name": "roleId",
1629
- "type": "uint64"
1630
- },
1631
- {
1632
- "internalType": "uint64",
1633
- "name": "guardian",
1634
- "type": "uint64"
1635
- }
1636
- ],
1637
- "name": "setRoleGuardian",
1638
- "outputs": [],
1639
- "stateMutability": "nonpayable",
1640
- "type": "function"
1641
- },
1642
- {
1643
- "inputs": [
1644
- {
1645
- "internalType": "address",
1646
- "name": "target",
1647
- "type": "address"
1648
- },
1649
- {
1650
- "internalType": "uint32",
1651
- "name": "newDelay",
1652
- "type": "uint32"
1653
- }
1654
- ],
1655
- "name": "setTargetAdminDelay",
1656
- "outputs": [],
1657
- "stateMutability": "nonpayable",
1658
- "type": "function"
1659
- },
1660
- {
1661
- "inputs": [
1662
- {
1663
- "internalType": "address",
1664
- "name": "target",
1665
- "type": "address"
1666
- },
1667
- {
1668
- "internalType": "bool",
1669
- "name": "closed",
1670
- "type": "bool"
1671
- }
1672
- ],
1673
- "name": "setTargetClosed",
1674
- "outputs": [],
1675
- "stateMutability": "nonpayable",
1676
- "type": "function"
1677
- },
1678
- {
1679
- "inputs": [
1680
- {
1681
- "internalType": "address",
1682
- "name": "target",
1683
- "type": "address"
1684
- },
1685
- {
1686
- "internalType": "bytes4[]",
1687
- "name": "selectors",
1688
- "type": "bytes4[]"
1689
- },
1690
- {
1691
- "internalType": "uint64",
1692
- "name": "roleId",
1693
- "type": "uint64"
1694
- }
1695
- ],
1696
- "name": "setTargetFunctionRole",
1697
- "outputs": [],
1698
- "stateMutability": "nonpayable",
1699
- "type": "function"
1700
- },
1701
- {
1702
- "inputs": [
1703
- {
1704
- "internalType": "address",
1705
- "name": "target",
1706
- "type": "address"
1707
- },
1708
- {
1709
- "internalType": "address",
1710
- "name": "newAuthority",
1711
- "type": "address"
1712
- }
1713
- ],
1714
- "name": "updateAuthority",
1715
- "outputs": [],
1716
- "stateMutability": "nonpayable",
1717
- "type": "function"
1718
- }
1719
- ],
1720
- "bytecode": "0x608060405234801561001057600080fd5b5061484c806100206000396000f3fe6080604052600436106102c95760003560e01c80636c57f5a911610175578063ac9650d8116100dc578063d1f856ee11610095578063d78a83b11161006f578063d78a83b114610964578063f801a69814610984578063fa2921a4146109be578063fe0776f5146109de57600080fd5b8063d1f856ee14610904578063d22b598914610924578063d6bb62c61461094457600080fd5b8063ac9650d814610825578063b700961314610852578063b780fedc1461088e578063b7d2b162146108ae578063b8c51067146108ce578063cc1b6c81146108ee57600080fd5b806394c7d7ee1161012e57806394c7d7ee14610770578063a166aa8914610790578063a3907d71146107b0578063a5808e2f146107c5578063a64d95ce146107e5578063abd9bd2a1461080557600080fd5b80636c57f5a9146106a85780636d5115bd146106bd57806371061398146106dd57806375b238fc1461071b5780637f1fb07d14610730578063853551b81461075057600080fd5b80633adc277a1161023457806352962952116101ed5780635bfa5027116101c75780635bfa50271461061b5780635fa8aad41461064857806360d60e511461066857806368ed5d2e1461068857600080fd5b806352962952146105ab578063530dd456146105cb5780635ae86e85146105eb57600080fd5b80633adc277a146104e35780633ca7c02a1461051a5780633fd85561146105355780634136a33c146105555780634665096d146105755780634c1da1e21461058b57600080fd5b806318ff183c1161028657806318ff183c146103de5780631cff79cd146103fe57806325c471a0146104115780633078f1141461043157806330cae1871461048b5780633656481c146104ab57600080fd5b806308d6122d146102ce5780630b0a93ba146102f05780630d8e6e2c1461032d57806312be87271461035c57806312e1ebc514610391578063167bd395146103be575b600080fd5b3480156102da57600080fd5b506102ee6102e9366004613c19565b6109fe565b005b3480156102fc57600080fd5b5061031061030b366004613c7f565b610a7b565b6040516001600160401b0390911681526020015b60405180910390f35b34801561033957600080fd5b506000805160206147d78339815191525460405160ff9091168152602001610324565b34801561036857600080fd5b5061037c610377366004613c7f565b610ab4565b60405163ffffffff9091168152602001610324565b34801561039d57600080fd5b506103b16103ac366004613c9a565b610b00565b6040516103249190613d07565b3480156103ca57600080fd5b506102ee6103d9366004613d60565b610c20565b3480156103ea57600080fd5b506102ee6103f9366004613d99565b610c61565b61037c61040c366004613e08565b610c9d565b34801561041d57600080fd5b506102ee61042c366004613e70565b610ce5565b34801561043d57600080fd5b5061045161044c366004613eb5565b610d69565b604051610324949392919065ffffffffffff948516815263ffffffff93841660208201529190921660408201529116606082015260800190565b34801561049757600080fd5b506102ee6104a6366004613ed1565b610de0565b3480156104b757600080fd5b506104cb6104c6366004613fa6565b610e54565b6040516001600160a01b039091168152602001610324565b3480156104ef57600080fd5b506105036104fe366004613fda565b610eb7565b60405165ffffffffffff9091168152602001610324565b34801561052657600080fd5b506103106001600160401b0381565b34801561054157600080fd5b50610310610550366004613fda565b610efc565b34801561056157600080fd5b5061037c610570366004613fda565b610f73565b34801561058157600080fd5b5062093a8061037c565b34801561059757600080fd5b5061037c6105a6366004613c9a565b610fa0565b3480156105b757600080fd5b506102ee6105c6366004613ed1565b610fdc565b3480156105d757600080fd5b506103106105e6366004613c7f565b611018565b3480156105f757600080fd5b5061060b610606366004613c9a565b61104a565b6040519015158152602001610324565b34801561062757600080fd5b5061063b610636366004613c7f565b6110f1565b6040516103249190613ff3565b34801561065457600080fd5b506102ee610663366004614022565b611195565b34801561067457600080fd5b5061060b610683366004613fa6565b6111b7565b34801561069457600080fd5b506102ee6106a3366004614071565b61121e565b3480156106b457600080fd5b5061060b61123c565b3480156106c957600080fd5b506103106106d83660046140a3565b611365565b3480156106e957600080fd5b507f5bf600af9ae77c7c374fa7aa6d8057fe6114c74f945a04f4a14ca05a62876906545b604051908152602001610324565b34801561072757600080fd5b50610310600081565b34801561073c57600080fd5b5061060b61074b366004613c7f565b6113ae565b34801561075c57600080fd5b506102ee61076b3660046140d1565b611438565b34801561077c57600080fd5b506102ee61078b366004613e08565b611475565b34801561079c57600080fd5b5061060b6107ab366004613c9a565b6114b2565b3480156107bc57600080fd5b506102ee6114eb565b3480156107d157600080fd5b5061070d6107e0366004613c7f565b611537565b3480156107f157600080fd5b506102ee6108003660046140ef565b611575565b34801561081157600080fd5b5061070d610820366004614119565b6115b1565b34801561083157600080fd5b5061084561084036600461417d565b6115ea565b60405161032491906141be565b34801561085e57600080fd5b5061087261086d366004614220565b6116de565b60408051921515835263ffffffff909116602083015201610324565b34801561089a57600080fd5b506102ee6108a936600461427e565b61172f565b3480156108ba57600080fd5b506102ee6108c9366004613eb5565b6118fb565b3480156108da57600080fd5b506103106108e9366004613fa6565b611977565b3480156108fa57600080fd5b506206978061037c565b34801561091057600080fd5b5061087261091f366004613eb5565b6119da565b34801561093057600080fd5b506102ee61093f36600461429b565b611a57565b34801561095057600080fd5b5061037c61095f366004614119565b611a93565b34801561097057600080fd5b506104cb61097f3660046142b9565b611add565b34801561099057600080fd5b506109a461099f3660046142e3565b611b1c565b6040805192835263ffffffff909116602083015201610324565b3480156109ca57600080fd5b5061060b6109d9366004613fa6565b611b6b565b3480156109ea57600080fd5b506102ee6109f9366004613eb5565b611bd0565b83610a088161104a565b610a3557604051632eae37fb60e01b81526001600160a01b03821660048201526024015b60405180910390fd5b81610a3f816113ae565b610a6757604051632a9def6d60e01b81526001600160401b0382166004820152602401610a2c565b610a7386868686611c4c565b505050505050565b600080610a86611ca0565b6001600160401b0393841660009081526001918201602052604090200154600160401b900490921692915050565b600080610abf611ca0565b6001600160401b0384166000908152600182810160205260409091200154909150610af990600160801b90046001600160701b0316611cc4565b9392505050565b610b34604051806060016040528060006001600160a01b0316815260200160608152602001600064ffffffffff1681525090565b6001600160a01b0382811660009081526000805160206147b783398151915260208181526040928390208351606081019094528054909416835260018401805492949291840191610b8490614355565b80601f0160208091040260200160405190810160405280929190818152602001828054610bb090614355565b8015610bfd5780601f10610bd257610100808354040283529160200191610bfd565b820191906000526020600020905b815481529060010190602001808311610be057829003601f168201915b50505091835250506002919091015464ffffffffff166020909101529392505050565b81610c2a8161104a565b610c5257604051632eae37fb60e01b81526001600160a01b0382166004820152602401610a2c565b610c5c8383611ce3565b505050565b81610c6b8161104a565b610c9357604051632eae37fb60e01b81526001600160a01b0382166004820152602401610a2c565b610c5c8383611cf5565b600083610ca98161104a565b610cd157604051632eae37fb60e01b81526001600160a01b0382166004820152602401610a2c565b610cdc858585611d54565b95945050505050565b82610cef816113ae565b610d1757604051632a9def6d60e01b81526001600160401b0382166004820152602401610a2c565b6001600160401b03841660009081526000805160206147f7833981519152602052604090206000805160206147b783398151915290610d569085611e95565b50610d62858585611eaa565b5050505050565b6000806000806000610d79611ca0565b6001600160401b038816600090815260018201602090815260408083206001600160a01b038b1684529091529020805465ffffffffffff8116975091925090610dd190600160301b90046001600160701b0316611ec6565b979a9199509750945050505050565b81610dea816113ae565b610e1257604051632a9def6d60e01b81526001600160401b0382166004820152602401610a2c565b81610e1c816113ae565b610e4457604051632a9def6d60e01b81526001600160401b0382166004820152602401610a2c565b610e4e8484611ee9565b50505050565b6040516000906000805160206147b7833981519152907f5bf600af9ae77c7c374fa7aa6d8057fe6114c74f945a04f4a14ca05a6287690190610e97908590614389565b908152604051908190036020019020546001600160a01b03169392505050565b600080610ec2611ca0565b600084815260028201602052604090205490915065ffffffffffff16610ee781611efb565b610ef15780610ef4565b60005b949350505050565b7f5bf600af9ae77c7c374fa7aa6d8057fe6114c74f945a04f4a14ca05a6287690680546000916000805160206147b78339815191529184908110610f4257610f426143a5565b90600052602060002090600491828204019190066008029054906101000a90046001600160401b0316915050919050565b600080610f7e611ca0565b600093845260020160205250506040902054600160301b900463ffffffff1690565b600080610fab611ca0565b6001600160a01b038416600090815260208290526040902060010154909150610af9906001600160701b0316611cc4565b81610fe6816113ae565b61100e57604051632a9def6d60e01b81526001600160401b0382166004820152602401610a2c565b610c5c8383611f2a565b600080611023611ca0565b6001600160401b039384166000908152600191820160205260409020015490921692915050565b6001600160a01b03811660009081526000805160206147b783398151915260208190526040808320600201549051638d38cd4b60e01b815264ffffffffff909116600482015273__$91d01b1eccbca8d6f94a5eb2a0acb040e9$__90638d38cd4b906024015b602060405180830381865af41580156110cd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610af991906143bb565b611125604051806060016040528060006001600160401b0316815260200160608152602001600064ffffffffff1681525090565b6001600160401b0382811660009081527f5bf600af9ae77c7c374fa7aa6d8057fe6114c74f945a04f4a14ca05a628769036020908152604091829020825160608101909352805490931682526001830180546000805160206147b7833981519152949284019190610b8490614355565b61119d611f3c565b6111a78282611fbc565b90506111b38282612018565b5050565b6040516000906000805160206147b78339815191529082907f5bf600af9ae77c7c374fa7aa6d8057fe6114c74f945a04f4a14ca05a62876901906111fc908690614389565b908152604051908190036020019020546001600160a01b031614159392505050565b611226611f3c565b611230828261224e565b90506111b382826122a7565b6000806000805160206147d78339815191528054604051638d38cd4b60e01b815261010090910464ffffffffff16600482015290915073__$91d01b1eccbca8d6f94a5eb2a0acb040e9$__90638d38cd4b90602401602060405180830381865af41580156112ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112d291906143bb565b801561135f575061135f73__$91d01b1eccbca8d6f94a5eb2a0acb040e9$__63adb618326040518163ffffffff1660e01b8152600401602060405180830381865af4158015611325573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061134991906143d8565b825464ffffffffff610100909104811691161190565b91505090565b600080611370611ca0565b6001600160a01b0385166000908152602091825260408082206001600160e01b03198716835290925220546001600160401b03169150505b92915050565b6001600160401b03811660009081527f5bf600af9ae77c7c374fa7aa6d8057fe6114c74f945a04f4a14ca05a628769036020526040808220600201549051638d38cd4b60e01b815264ffffffffff90911660048201526000805160206147b78339815191529073__$91d01b1eccbca8d6f94a5eb2a0acb040e9$__90638d38cd4b906024016110b0565b82611442816113ae565b61146a57604051632a9def6d60e01b81526001600160401b0382166004820152602401610a2c565b610e4e8484846124c8565b3361147f8161104a565b6114a757604051632eae37fb60e01b81526001600160a01b0382166004820152602401610a2c565b610e4e84848461255f565b6000806114bd611ca0565b6001600160a01b0390931660009081526020939093525050604090206001015460ff600160701b9091041690565b6114f3611f3c565b6000805160206147d783398151915261150a61123c565b1561152857604051632695f8ad60e01b815260040160405180910390fd5b805465ffffffffff0019169055565b6001600160401b03811660009081526000805160206147f7833981519152602052604081206000805160206147b783398151915290610af990612606565b8161157f816113ae565b6115a757604051632a9def6d60e01b81526001600160401b0382166004820152602401610a2c565b610c5c8383612610565b6000848484846040516020016115ca949392919061441e565b604051602081830303815290604052805190602001209050949350505050565b6060816001600160401b0381111561160457611604613f04565b60405190808252806020026020018201604052801561163757816020015b60608152602001906001900390816116225790505b50905060005b828110156116d7576116a73085858481811061165b5761165b6143a5565b905060200281019061166d919061444b565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061262292505050565b8282815181106116b9576116b96143a5565b602002602001018190525080806116cf906144a7565b91505061163d565b5092915050565b6000806000805160206147d78339815191526116f861123c565b1561171657604051632695f8ad60e01b815260040160405180910390fd5b61172186868661268f565b92509250505b935093915050565b611737611f3c565b60006000805160206147d78339815191528054604051638d38cd4b60e01b815261010090910464ffffffffff16600482015290915073__$91d01b1eccbca8d6f94a5eb2a0acb040e9$__90638d38cd4b90602401602060405180830381865af41580156117a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117cc91906143bb565b156117ea57604051632695f8ad60e01b815260040160405180910390fd5b73__$91d01b1eccbca8d6f94a5eb2a0acb040e9$__63adb618326040518163ffffffff1660e01b8152600401602060405180830381865af4158015611833573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061185791906143d8565b6040516352bcc5a760e11b815264ffffffffff9182166004820152908316602482015273__$91d01b1eccbca8d6f94a5eb2a0acb040e9$__9063a5798b4e90604401602060405180830381865af41580156118b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118da91906143d8565b815464ffffffffff919091166101000265ffffffffff001990911617905550565b81611905816113ae565b61192d57604051632a9def6d60e01b81526001600160401b0382166004820152602401610a2c565b6001600160401b03831660009081526000805160206147f7833981519152602052604090206000805160206147b78339815191529061196c9084612712565b50610e4e8484612727565b6040516000906000805160206147b7833981519152907f5bf600af9ae77c7c374fa7aa6d8057fe6114c74f945a04f4a14ca05a62876905906119ba908590614389565b908152604051908190036020019020546001600160401b03169392505050565b60008067fffffffffffffffe196001600160401b03851601611a025750600190506000611a50565b600080611a0f8686610d69565b5050915091508165ffffffffffff16600014158015611a455750611a31612739565b65ffffffffffff168265ffffffffffff1611155b93509150611a509050565b9250929050565b81611a618161104a565b611a8957604051632eae37fb60e01b81526001600160a01b0382166004820152602401610a2c565b610c5c8383612749565b600083611a9f8161104a565b611ac757604051632eae37fb60e01b81526001600160a01b0382166004820152602401610a2c565b611ad38686868661275b565b9695505050505050565b6001600160401b03821660009081526000805160206147f7833981519152602052604081206000805160206147b783398151915290610ef490846128c6565b60008085611b298161104a565b611b5157604051632eae37fb60e01b81526001600160a01b0382166004820152602401610a2c565b611b5d878787876128d2565b909890975095505050505050565b6040516000906000805160206147b7833981519152907f5bf600af9ae77c7c374fa7aa6d8057fe6114c74f945a04f4a14ca05a6287690590611bae908590614389565b908152604051908190036020019020546001600160401b031615159392505050565b81611bda816113ae565b611c0257604051632a9def6d60e01b81526001600160401b0382166004820152602401610a2c565b6001600160401b03831660009081526000805160206147f7833981519152602052604090206000805160206147b783398151915290611c419033612712565b50610e4e8484612a7d565b611c54611f3c565b60005b82811015610d6257611c9085858584818110611c7557611c756143a5565b9050602002016020810190611c8a91906144c0565b84612aa6565b611c99816144a7565b9050611c57565b7f77301bc69e8248c80abb894217605b71fa89ea6a9e8bdf359d9e8aa1dd62bf0090565b600080611cd9836001600160701b0316611ec6565b5090949350505050565b611ceb611f3c565b6111b38282612b34565b611cfd611f3c565b604051637a9e5e4b60e01b81526001600160a01b038281166004830152831690637a9e5e4b90602401600060405180830381600087803b158015611d4057600080fd5b505af1158015610a73573d6000803e3d6000fd5b600080611d5f611ca0565b905033600080611d7183898989612bda565b9150915081158015611d87575063ffffffff8116155b15611dd5578288611d988989612c2d565b6040516381c6f24b60e01b81526001600160a01b0393841660048201529290911660248301526001600160e01b0319166044820152606401610a2c565b6000611de3848a8a8a6115b1565b9050600063ffffffff8316151580611e0a5750611dff82610eb7565b65ffffffffffff1615155b15611e1b57611e1882612c45565b90505b6003860154611e338b611e2e8c8c612c2d565b612d59565b8760030181905550611e7d8b8b8b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250349250612d9b915050565b50600390960195909555509293505050509392505050565b6000610af9836001600160a01b038416612e2e565b611eb2611f3c565b610e4e8383611ec086610ab4565b84612e7d565b6000806000611edc84611ed7612739565b6130dc565b9250925092509193909250565b611ef1611f3c565b6111b38282613131565b6000611f05612739565b65ffffffffffff16611f1a62093a80846144dd565b65ffffffffffff16111592915050565b611f32611f3c565b6111b382826131e3565b33600080611f4b8382366132a3565b9150915081610c5c578063ffffffff16600003611fa7576000611f6e813661335b565b5060405163f07e038f60e01b81526001600160a01b03871660048201526001600160401b03821660248201529092506044019050610a2c565b610e4e611fb784306000366115b1565b612c45565b60606001600160a01b038316611fe55760405163d2b391f360e01b815260040160405180910390fd5b815160000361201257604051636ff4782560e11b81526001600160a01b0384166004820152602401610a2c565b50919050565b6000805160206147b78339815191526120308361104a565b15612059576040516372f0861b60e01b81526001600160a01b0384166004820152602401610a2c565b612062826111b7565b156120af5782816001018360405161207a9190614389565b908152604051908190036020018120546351a5c05760e11b8252610a2c92916001600160a01b039091169085906004016144fc565b6040518060600160405280846001600160a01b0316815260200183815260200173__$91d01b1eccbca8d6f94a5eb2a0acb040e9$__63adb618326040518163ffffffff1660e01b8152600401602060405180830381865af4158015612118573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061213c91906143d8565b64ffffffffff1690526001600160a01b03848116600090815260208481526040909120835181546001600160a01b03191693169290921782558201516001820190612187908261456e565b50604091820151600291909101805464ffffffffff191664ffffffffff90921691909117905551839060018301906121c0908590614389565b9081526040516020918190038201812080546001600160a01b03199081166001600160a01b0395861617909155600285018054600181018255600091825293902090920180549092169286169290921790557fea8d4576c164e98cc7596bbd6e8153189eb76d8c3c5854bf48543e363e4ffd3e90612241908590859061462d565b60405180910390a1505050565b6060826001600160401b031660000361227a57604051633aa1be8f60e21b815260040160405180910390fd5b81516000036120125760405163d47728d760e01b81526001600160401b0384166004820152602401610a2c565b6000805160206147b78339815191526122bf836113ae565b156122e8576040516310ed2a9160e11b81526001600160401b0384166004820152602401610a2c565b6122f182611b6b565b1561231d578261230083611977565b8360405163e6fbd51760e01b8152600401610a2c93929190614651565b6040518060600160405280846001600160401b0316815260200183815260200173__$91d01b1eccbca8d6f94a5eb2a0acb040e9$__63adb618326040518163ffffffff1660e01b8152600401602060405180830381865af4158015612386573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123aa91906143d8565b64ffffffffff1690526001600160401b03848116600090815260038401602090815260409091208351815467ffffffffffffffff1916931692909217825582015160018201906123fa908261456e565b50604091820151600291909101805464ffffffffff191664ffffffffff9092169190911790555183906005830190612433908590614389565b90815260405160209181900382018120805467ffffffffffffffff19166001600160401b0394851617905560068401805460018101825560009182529290206004830401805460039093166008026101000a80850219909316938716929092029290921790557f0d24585326fa11eab3f4335f6413408017bd28072a57f6fbcc65c6606612204d90612241908590859061467d565b6124d0611f3c565b6001600160401b03831615806124ee57506001600160401b03838116145b156125175760405163061c6a4360e21b81526001600160401b0384166004820152602401610a2c565b826001600160401b03167f1256f5b5ecb89caec12db449738f2fbcd1ba5806cf38f35413f4e5c15bf6a450838360405161255292919061469f565b60405180910390a2505050565b60408051638fb3603760e01b80825291513392918391638fb36037916004808201926020929091908290030181865afa1580156125a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125c491906146b3565b6001600160e01b031916146125f757604051630641fee960e31b81526001600160a01b0382166004820152602401610a2c565b610d62611fb7858386866115b1565b60006113a8825490565b612618611f3c565b6111b3828261358f565b6060600080846001600160a01b03168460405161263f9190614389565b600060405180830381855af49150503d806000811461267a576040519150601f19603f3d011682016040523d82523d6000602084013e61267f565b606091505b5091509150610cdc8583836136bc565b60008061269b846114b2565b156126ab57506000905080611727565b306001600160a01b038616036126d0576126c58484613718565b600091509150611727565b60006126dc8585611365565b90506000806126eb83896119da565b91509150816126fc57600080612706565b63ffffffff811615815b94509450505050611727565b6000610af9836001600160a01b03841661373d565b61272f611f3c565b610c5c8282613830565b60006127444261392f565b905090565b612751611f3c565b6111b38282613966565b600080612766611ca0565b90503360006127758686612c2d565b90506000612785898989896115b1565b600081815260028601602052604081205491925065ffffffffffff90911690036127c55760405163060a299b60e41b815260048101829052602401610a2c565b826001600160a01b0316896001600160a01b0316146128615760006127eb6000856119da565b509050600061280661280061030b8c87611365565b866119da565b50905081158015612815575080155b1561285e57604051630ff89d4760e21b81526001600160a01b038087166004830152808d1660248301528b1660448201526001600160e01b031985166064820152608401610a2c565b50505b6000818152600285016020526040808220805465ffffffffffff1916908190559051600160301b90910463ffffffff1691829184917fbd9ac67a6e2f6463b80927326310338bcbb4bdb7936ce1365ea3e01067e7b9f791a39998505050505050505050565b6000610af98383613a32565b60008060006128df611ca0565b90503360006128f0828a8a8a612bda565b91505060008163ffffffff16612904612739565b61290e91906144dd565b905063ffffffff82161580612945575060008765ffffffffffff1611801561294557508065ffffffffffff168765ffffffffffff16105b1561295657828a611d988b8b612c2d565b6129708765ffffffffffff168265ffffffffffff16613a5c565b965061297e838b8b8b6115b1565b955061298986613a72565b83600201600087815260200190815260200160002060000160069054906101000a900463ffffffff1660010194508684600201600088815260200190815260200160002060000160006101000a81548165ffffffffffff021916908365ffffffffffff1602179055508484600201600088815260200190815260200160002060000160066101000a81548163ffffffff021916908363ffffffff1602179055508463ffffffff16867f82a2da5dee54ea8021c6545b4444620291e07ee83be6dd57edb175062715f3b489868e8e8e604051612a689594939291906146d0565b60405180910390a35050505094509492505050565b6001600160a01b038116331461272f57604051635f159e6360e01b815260040160405180910390fd5b6000612ab0611ca0565b6001600160a01b0385166000818152602083815260408083206001600160e01b0319891680855290835292819020805467ffffffffffffffff19166001600160401b03891690811790915590519283529394507f9ea6790c7dadfd01c9f8b9762b3682607af2c7e79e05a9f9fdf5580dde949151910160405180910390a350505050565b6000612b3e611ca0565b9050306001600160a01b03841603612b7457604051630b40d17960e31b81526001600160a01b0384166004820152602401610a2c565b6001600160a01b038316600081815260208390526040908190206001018054851515600160701b0260ff60701b19909116179055517f90d4e7bb7e5d933792b3562e1741306f8be94837e1348dacef9b6f1df56eb1389061255290851515815260200190565b600080306001600160a01b03861603612c0157612bf88685856132a3565b91509150612c24565b60048310612c1d57612c18868661086d8787612c2d565b612bf8565b5060009050805b94509492505050565b6000612c3c6004828486614716565b610af991614740565b600080612c50611ca0565b600084815260028201602052604081205491925065ffffffffffff821691600160301b900463ffffffff1690829003612c9f5760405163060a299b60e41b815260048101869052602401610a2c565b612ca7612739565b65ffffffffffff168265ffffffffffff161115612cda57604051630c65b5bd60e11b815260048101869052602401610a2c565b612ce382611efb565b15612d0457604051631e2975b960e21b815260048101869052602401610a2c565b6000858152600284016020526040808220805465ffffffffffff191690555163ffffffff83169187917f76a2a46953689d4861a5d3f6ed883ad7e6af674a21f8e162707159fc9dde614d9190a3949350505050565b604080516001600160a01b03939093166020808501919091526001600160e01b0319929092168382015280518084038201815260609093019052815191012090565b606081471015612dc05760405163cd78605960e01b8152306004820152602401610a2c565b600080856001600160a01b03168486604051612ddc9190614389565b60006040518083038185875af1925050503d8060008114612e19576040519150601f19603f3d011682016040523d82523d6000602084013e612e1e565b606091505b5091509150611ad38683836136bc565b6000818152600183016020526040812054612e75575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556113a8565b5060006113a8565b600080612e88611ca0565b905067fffffffffffffffe196001600160401b03871601612ec75760405163061c6a4360e21b81526001600160401b0387166004820152602401610a2c565b6001600160401b038616600090815260018201602090815260408083206001600160a01b038916845290915281205465ffffffffffff1615908115612fbd578563ffffffff16612f15612739565b612f1f91906144dd565b905060405180604001604052808265ffffffffffff168152602001612f4d8763ffffffff1663ffffffff1690565b6001600160701b039081169091526001600160401b038a16600090815260018601602090815260408083206001600160a01b038d1684528252909120835181549490920151909216600160301b026001600160a01b031990931665ffffffffffff9091161791909117905561306d565b6001600160401b038816600090815260018401602090815260408083206001600160a01b038b16845290915281205461300991600160301b9091046001600160701b0316908790613ace565b6001600160401b038a16600090815260018601602090815260408083206001600160a01b038d168452909152902080546001600160701b03909316600160301b0273ffffffffffffffffffffffffffff000000000000199093169290921790915590505b6040805163ffffffff8716815265ffffffffffff831660208201528315158183015290516001600160a01b038916916001600160401b038b16917ff98448b987f1428e0e230e1f3c6e2ce15b5693eaf31827fbd0b1ec4b424ae7cf9181900360600190a3509695505050505050565b6000808069ffffffffffffffffffff602086901c166001600160701b03861665ffffffffffff604088901c811690871681111561311b57828282613120565b816000805b9550955095505050505b9250925092565b600061313b611ca0565b90506001600160401b038316158061315b57506001600160401b03838116145b156131845760405163061c6a4360e21b81526001600160401b0384166004820152602401610a2c565b6001600160401b03838116600081815260018481016020526040808320909101805467ffffffffffffffff19169487169485179055517f1fd6dd7631312dfac2205b52913f99de03b4d7e381d5d27d3dbfe0713e6e63409190a3505050565b60006131ed611ca0565b90506001600160401b038316158061320d57506001600160401b03838116145b156132365760405163061c6a4360e21b81526001600160401b0384166004820152602401610a2c565b6001600160401b0383811660008181526001848101602052604080832090910180546fffffffffffffffff00000000000000001916600160401b958816958602179055517f7a8059630b897b5de4c08ade69f8b90c3ead1f8596d62d10b6c4d14a0afb4ae29190a3505050565b60008060048310156132ba57506000905080611727565b306001600160a01b038616036132dd576126c5306132d88686612c2d565b613718565b60008060006132ec878761335b565b925092509250826133065760008094509450505050611727565b600080613313848b6119da565b915091508161332d57600080965096505050505050611727565b6133438363ffffffff168263ffffffff16613a5c565b63ffffffff8116159b909a5098505050505050505050565b6000808060048410156133765750600091508190508061312a565b60006133828686612c2d565b90506001600160e01b031981166310a6aa3760e31b14806133b357506001600160e01b031981166330cae18760e01b145b806133ce57506001600160e01b0319811663294b14a960e11b145b806133e957506001600160e01b03198116635326cae760e11b145b8061340457506001600160e01b0319811663d22b598960e01b145b8061341f57506001600160e01b03198116633476ae9760e11b145b8061343a57506001600160e01b031981166317ea2ab560e21b145b8061345557506001600160e01b0319811663a3907d7160e01b145b8061347057506001600160e01b03198116632de03fb760e21b145b156134865760016000809350935093505061312a565b6001600160e01b0319811663063fc60f60e21b14806134b557506001600160e01b0319811663167bd39560e01b145b806134d057506001600160e01b031981166308d6122d60e01b145b156135125760006134e560246004888a614716565b8101906134f29190613c9a565b905060006134ff82610fa0565b6001965060009550935061312a92505050565b6001600160e01b0319811663012e238d60e51b148061354157506001600160e01b03198116635be958b160e11b145b1561357f57600061355660246004888a614716565b8101906135639190613c7f565b9050600161357082611018565b6000945094509450505061312a565b5060009586955085945092505050565b6000613599611ca0565b905067fffffffffffffffe196001600160401b038416016135d85760405163061c6a4360e21b81526001600160401b0384166004820152602401610a2c565b6001600160401b0383166000908152600182810160205260408220015461361390600160801b90046001600160701b03168462069780613ace565b6001600160401b038616600081815260018087016020526040918290200180546001600160701b03909516600160801b026dffffffffffffffffffffffffffff60801b199095169490941790935591519092507ffeb69018ee8b8fd50ea86348f1267d07673379f72cffdeccec63853ee8ce8b48906136ae908690859063ffffffff92909216825265ffffffffffff16602082015260400190565b60405180910390a250505050565b6060826136d1576136cc82613b78565b610af9565b81511580156136e857506001600160a01b0384163b155b1561371157604051639996b31560e01b81526001600160a01b0385166004820152602401610a2c565b5080610af9565b600080613723611ca0565b905061372f8484612d59565b600390910154149392505050565b60008181526001830160205260408120548015613826576000613761600183614770565b855490915060009061377590600190614770565b90508082146137da576000866000018281548110613795576137956143a5565b90600052602060002001549050808760000184815481106137b8576137b86143a5565b6000918252602080832090910192909255918252600188019052604090208390555b85548690806137eb576137eb614783565b6001900381819060005260206000200160009055905585600101600086815260200190815260200160002060009055600193505050506113a8565b60009150506113a8565b60008061383b611ca0565b905067fffffffffffffffe196001600160401b0385160161387a5760405163061c6a4360e21b81526001600160401b0385166004820152602401610a2c565b6001600160401b038416600090815260018201602090815260408083206001600160a01b038716845290915281205465ffffffffffff1690036138c15760009150506113a8565b6001600160401b038416600081815260018301602090815260408083206001600160a01b038816808552925280832080546001600160a01b0319169055519092917ff229baa593af28c41b1d16b748cd7688f0c83aaf92d4be41c44005defe84c16691a35060019392505050565b600065ffffffffffff821115613962576040516306dfcc6560e41b81526030600482015260248101839052604401610a2c565b5090565b6000613970611ca0565b905060006139a883620697806001600160a01b0387166000908152602086905260409020600101546001600160701b03169190613ace565b6001600160a01b0386166000818152602086815260409182902060010180546dffffffffffffffffffffffffffff19166001600160701b039690961695909517909455805163ffffffff8816815265ffffffffffff841694810194909452919350917fa56b76017453f399ec2327ba00375dbfb1fd070ff854341ad6191e6a2e2de19c91016136ae565b6000826000018281548110613a4957613a496143a5565b9060005260206000200154905092915050565b6000818311613a6b5781610af9565b5090919050565b6000613a7c611ca0565b600083815260028201602052604090205490915065ffffffffffff168015801590613aad5750613aab81611efb565b155b15610c5c5760405163813e945960e01b815260048101849052602401610a2c565b6000806000613ae5866001600160701b0316611cc4565b90506000613b228563ffffffff168763ffffffff168463ffffffff1611613b0d576000613b17565b613b178885614799565b63ffffffff16613a5c565b90508063ffffffff16613b33612739565b613b3d91906144dd565b925063ffffffff8616602083901b67ffffffff0000000016604085901b6dffffffffffff000000000000000016171793505050935093915050565b805115613b885780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b6001600160a01b0381168114613ba157600080fd5b60008083601f840112613bcb57600080fd5b5081356001600160401b03811115613be257600080fd5b6020830191508360208260051b8501011115611a5057600080fd5b80356001600160401b0381168114613c1457600080fd5b919050565b60008060008060608587031215613c2f57600080fd5b8435613c3a81613ba4565b935060208501356001600160401b03811115613c5557600080fd5b613c6187828801613bb9565b9094509250613c74905060408601613bfd565b905092959194509250565b600060208284031215613c9157600080fd5b610af982613bfd565b600060208284031215613cac57600080fd5b8135610af981613ba4565b60005b83811015613cd2578181015183820152602001613cba565b50506000910152565b60008151808452613cf3816020860160208601613cb7565b601f01601f19169290920160200192915050565b602080825282516001600160a01b03168282015282015160606040830152600090613d356080840182613cdb565b905064ffffffffff60408501511660608401528091505092915050565b8015158114613ba157600080fd5b60008060408385031215613d7357600080fd5b8235613d7e81613ba4565b91506020830135613d8e81613d52565b809150509250929050565b60008060408385031215613dac57600080fd5b8235613db781613ba4565b91506020830135613d8e81613ba4565b60008083601f840112613dd957600080fd5b5081356001600160401b03811115613df057600080fd5b602083019150836020828501011115611a5057600080fd5b600080600060408486031215613e1d57600080fd5b8335613e2881613ba4565b925060208401356001600160401b03811115613e4357600080fd5b613e4f86828701613dc7565b9497909650939450505050565b803563ffffffff81168114613c1457600080fd5b600080600060608486031215613e8557600080fd5b613e8e84613bfd565b92506020840135613e9e81613ba4565b9150613eac60408501613e5c565b90509250925092565b60008060408385031215613ec857600080fd5b613db783613bfd565b60008060408385031215613ee457600080fd5b613eed83613bfd565b9150613efb60208401613bfd565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112613f2b57600080fd5b81356001600160401b0380821115613f4557613f45613f04565b604051601f8301601f19908116603f01168101908282118183101715613f6d57613f6d613f04565b81604052838152866020858801011115613f8657600080fd5b836020870160208301376000602085830101528094505050505092915050565b600060208284031215613fb857600080fd5b81356001600160401b03811115613fce57600080fd5b610ef484828501613f1a565b600060208284031215613fec57600080fd5b5035919050565b602081526001600160401b0382511660208201526000602083015160606040840152613d356080840182613cdb565b6000806040838503121561403557600080fd5b823561404081613ba4565b915060208301356001600160401b0381111561405b57600080fd5b61406785828601613f1a565b9150509250929050565b6000806040838503121561408457600080fd5b61404083613bfd565b6001600160e01b031981168114613ba157600080fd5b600080604083850312156140b657600080fd5b82356140c181613ba4565b91506020830135613d8e8161408d565b6000806000604084860312156140e657600080fd5b613e2884613bfd565b6000806040838503121561410257600080fd5b61410b83613bfd565b9150613efb60208401613e5c565b6000806000806060858703121561412f57600080fd5b843561413a81613ba4565b9350602085013561414a81613ba4565b925060408501356001600160401b0381111561416557600080fd5b61417187828801613dc7565b95989497509550505050565b6000806020838503121561419057600080fd5b82356001600160401b038111156141a657600080fd5b6141b285828601613bb9565b90969095509350505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b8281101561421357603f19888603018452614201858351613cdb565b945092850192908501906001016141e5565b5092979650505050505050565b60008060006060848603121561423557600080fd5b833561424081613ba4565b9250602084013561425081613ba4565b915060408401356142608161408d565b809150509250925092565b64ffffffffff81168114613ba157600080fd5b60006020828403121561429057600080fd5b8135610af98161426b565b600080604083850312156142ae57600080fd5b823561410b81613ba4565b600080604083850312156142cc57600080fd5b6142d583613bfd565b946020939093013593505050565b600080600080606085870312156142f957600080fd5b843561430481613ba4565b935060208501356001600160401b0381111561431f57600080fd5b61432b87828801613dc7565b909450925050604085013565ffffffffffff8116811461434a57600080fd5b939692955090935050565b600181811c9082168061436957607f821691505b60208210810361201257634e487b7160e01b600052602260045260246000fd5b6000825161439b818460208701613cb7565b9190910192915050565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156143cd57600080fd5b8151610af981613d52565b6000602082840312156143ea57600080fd5b8151610af98161426b565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b03858116825284166020820152606060408201819052600090611ad390830184866143f5565b6000808335601e1984360301811261446257600080fd5b8301803591506001600160401b0382111561447c57600080fd5b602001915036819003821315611a5057600080fd5b634e487b7160e01b600052601160045260246000fd5b6000600182016144b9576144b9614491565b5060010190565b6000602082840312156144d257600080fd5b8135610af98161408d565b65ffffffffffff8181168382160190808211156116d7576116d7614491565b6001600160a01b03848116825283166020820152606060408201819052600090610cdc90830184613cdb565b601f821115610c5c57600081815260208120601f850160051c8101602086101561454f5750805b601f850160051c820191505b81811015610a735782815560010161455b565b81516001600160401b0381111561458757614587613f04565b61459b816145958454614355565b84614528565b602080601f8311600181146145d057600084156145b85750858301515b600019600386901b1c1916600185901b178555610a73565b600085815260208120601f198616915b828110156145ff578886015182559484019460019091019084016145e0565b508582101561461d5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6001600160a01b0383168152604060208201819052600090610ef490830184613cdb565b60006001600160401b03808616835280851660208401525060606040830152610cdc6060830184613cdb565b6001600160401b0383168152604060208201526000610ef46040830184613cdb565b602081526000610ef46020830184866143f5565b6000602082840312156146c557600080fd5b8151610af98161408d565b65ffffffffffff861681526001600160a01b0385811660208301528416604082015260806060820181905260009061470b90830184866143f5565b979650505050505050565b6000808585111561472657600080fd5b8386111561473357600080fd5b5050820193919092039150565b6001600160e01b031981358181169160048510156147685780818660040360031b1b83161692505b505092915050565b818103818111156113a8576113a8614491565b634e487b7160e01b600052603160045260246000fd5b63ffffffff8281168282160390808211156116d7576116d761449156fe5bf600af9ae77c7c374fa7aa6d8057fe6114c74f945a04f4a14ca05a628769006eab09faeebddf4f4430139353ec193aaa0bd7382b47d6e52082f5add274e6005bf600af9ae77c7c374fa7aa6d8057fe6114c74f945a04f4a14ca05a62876904a2646970667358221220c8a441ef982f247db7919985730c19394464f6095f30d67cac04884765b4953764736f6c63430008140033",
1721
- "deployedBytecode": "0x6080604052600436106102c95760003560e01c80636c57f5a911610175578063ac9650d8116100dc578063d1f856ee11610095578063d78a83b11161006f578063d78a83b114610964578063f801a69814610984578063fa2921a4146109be578063fe0776f5146109de57600080fd5b8063d1f856ee14610904578063d22b598914610924578063d6bb62c61461094457600080fd5b8063ac9650d814610825578063b700961314610852578063b780fedc1461088e578063b7d2b162146108ae578063b8c51067146108ce578063cc1b6c81146108ee57600080fd5b806394c7d7ee1161012e57806394c7d7ee14610770578063a166aa8914610790578063a3907d71146107b0578063a5808e2f146107c5578063a64d95ce146107e5578063abd9bd2a1461080557600080fd5b80636c57f5a9146106a85780636d5115bd146106bd57806371061398146106dd57806375b238fc1461071b5780637f1fb07d14610730578063853551b81461075057600080fd5b80633adc277a1161023457806352962952116101ed5780635bfa5027116101c75780635bfa50271461061b5780635fa8aad41461064857806360d60e511461066857806368ed5d2e1461068857600080fd5b806352962952146105ab578063530dd456146105cb5780635ae86e85146105eb57600080fd5b80633adc277a146104e35780633ca7c02a1461051a5780633fd85561146105355780634136a33c146105555780634665096d146105755780634c1da1e21461058b57600080fd5b806318ff183c1161028657806318ff183c146103de5780631cff79cd146103fe57806325c471a0146104115780633078f1141461043157806330cae1871461048b5780633656481c146104ab57600080fd5b806308d6122d146102ce5780630b0a93ba146102f05780630d8e6e2c1461032d57806312be87271461035c57806312e1ebc514610391578063167bd395146103be575b600080fd5b3480156102da57600080fd5b506102ee6102e9366004613c19565b6109fe565b005b3480156102fc57600080fd5b5061031061030b366004613c7f565b610a7b565b6040516001600160401b0390911681526020015b60405180910390f35b34801561033957600080fd5b506000805160206147d78339815191525460405160ff9091168152602001610324565b34801561036857600080fd5b5061037c610377366004613c7f565b610ab4565b60405163ffffffff9091168152602001610324565b34801561039d57600080fd5b506103b16103ac366004613c9a565b610b00565b6040516103249190613d07565b3480156103ca57600080fd5b506102ee6103d9366004613d60565b610c20565b3480156103ea57600080fd5b506102ee6103f9366004613d99565b610c61565b61037c61040c366004613e08565b610c9d565b34801561041d57600080fd5b506102ee61042c366004613e70565b610ce5565b34801561043d57600080fd5b5061045161044c366004613eb5565b610d69565b604051610324949392919065ffffffffffff948516815263ffffffff93841660208201529190921660408201529116606082015260800190565b34801561049757600080fd5b506102ee6104a6366004613ed1565b610de0565b3480156104b757600080fd5b506104cb6104c6366004613fa6565b610e54565b6040516001600160a01b039091168152602001610324565b3480156104ef57600080fd5b506105036104fe366004613fda565b610eb7565b60405165ffffffffffff9091168152602001610324565b34801561052657600080fd5b506103106001600160401b0381565b34801561054157600080fd5b50610310610550366004613fda565b610efc565b34801561056157600080fd5b5061037c610570366004613fda565b610f73565b34801561058157600080fd5b5062093a8061037c565b34801561059757600080fd5b5061037c6105a6366004613c9a565b610fa0565b3480156105b757600080fd5b506102ee6105c6366004613ed1565b610fdc565b3480156105d757600080fd5b506103106105e6366004613c7f565b611018565b3480156105f757600080fd5b5061060b610606366004613c9a565b61104a565b6040519015158152602001610324565b34801561062757600080fd5b5061063b610636366004613c7f565b6110f1565b6040516103249190613ff3565b34801561065457600080fd5b506102ee610663366004614022565b611195565b34801561067457600080fd5b5061060b610683366004613fa6565b6111b7565b34801561069457600080fd5b506102ee6106a3366004614071565b61121e565b3480156106b457600080fd5b5061060b61123c565b3480156106c957600080fd5b506103106106d83660046140a3565b611365565b3480156106e957600080fd5b507f5bf600af9ae77c7c374fa7aa6d8057fe6114c74f945a04f4a14ca05a62876906545b604051908152602001610324565b34801561072757600080fd5b50610310600081565b34801561073c57600080fd5b5061060b61074b366004613c7f565b6113ae565b34801561075c57600080fd5b506102ee61076b3660046140d1565b611438565b34801561077c57600080fd5b506102ee61078b366004613e08565b611475565b34801561079c57600080fd5b5061060b6107ab366004613c9a565b6114b2565b3480156107bc57600080fd5b506102ee6114eb565b3480156107d157600080fd5b5061070d6107e0366004613c7f565b611537565b3480156107f157600080fd5b506102ee6108003660046140ef565b611575565b34801561081157600080fd5b5061070d610820366004614119565b6115b1565b34801561083157600080fd5b5061084561084036600461417d565b6115ea565b60405161032491906141be565b34801561085e57600080fd5b5061087261086d366004614220565b6116de565b60408051921515835263ffffffff909116602083015201610324565b34801561089a57600080fd5b506102ee6108a936600461427e565b61172f565b3480156108ba57600080fd5b506102ee6108c9366004613eb5565b6118fb565b3480156108da57600080fd5b506103106108e9366004613fa6565b611977565b3480156108fa57600080fd5b506206978061037c565b34801561091057600080fd5b5061087261091f366004613eb5565b6119da565b34801561093057600080fd5b506102ee61093f36600461429b565b611a57565b34801561095057600080fd5b5061037c61095f366004614119565b611a93565b34801561097057600080fd5b506104cb61097f3660046142b9565b611add565b34801561099057600080fd5b506109a461099f3660046142e3565b611b1c565b6040805192835263ffffffff909116602083015201610324565b3480156109ca57600080fd5b5061060b6109d9366004613fa6565b611b6b565b3480156109ea57600080fd5b506102ee6109f9366004613eb5565b611bd0565b83610a088161104a565b610a3557604051632eae37fb60e01b81526001600160a01b03821660048201526024015b60405180910390fd5b81610a3f816113ae565b610a6757604051632a9def6d60e01b81526001600160401b0382166004820152602401610a2c565b610a7386868686611c4c565b505050505050565b600080610a86611ca0565b6001600160401b0393841660009081526001918201602052604090200154600160401b900490921692915050565b600080610abf611ca0565b6001600160401b0384166000908152600182810160205260409091200154909150610af990600160801b90046001600160701b0316611cc4565b9392505050565b610b34604051806060016040528060006001600160a01b0316815260200160608152602001600064ffffffffff1681525090565b6001600160a01b0382811660009081526000805160206147b783398151915260208181526040928390208351606081019094528054909416835260018401805492949291840191610b8490614355565b80601f0160208091040260200160405190810160405280929190818152602001828054610bb090614355565b8015610bfd5780601f10610bd257610100808354040283529160200191610bfd565b820191906000526020600020905b815481529060010190602001808311610be057829003601f168201915b50505091835250506002919091015464ffffffffff166020909101529392505050565b81610c2a8161104a565b610c5257604051632eae37fb60e01b81526001600160a01b0382166004820152602401610a2c565b610c5c8383611ce3565b505050565b81610c6b8161104a565b610c9357604051632eae37fb60e01b81526001600160a01b0382166004820152602401610a2c565b610c5c8383611cf5565b600083610ca98161104a565b610cd157604051632eae37fb60e01b81526001600160a01b0382166004820152602401610a2c565b610cdc858585611d54565b95945050505050565b82610cef816113ae565b610d1757604051632a9def6d60e01b81526001600160401b0382166004820152602401610a2c565b6001600160401b03841660009081526000805160206147f7833981519152602052604090206000805160206147b783398151915290610d569085611e95565b50610d62858585611eaa565b5050505050565b6000806000806000610d79611ca0565b6001600160401b038816600090815260018201602090815260408083206001600160a01b038b1684529091529020805465ffffffffffff8116975091925090610dd190600160301b90046001600160701b0316611ec6565b979a9199509750945050505050565b81610dea816113ae565b610e1257604051632a9def6d60e01b81526001600160401b0382166004820152602401610a2c565b81610e1c816113ae565b610e4457604051632a9def6d60e01b81526001600160401b0382166004820152602401610a2c565b610e4e8484611ee9565b50505050565b6040516000906000805160206147b7833981519152907f5bf600af9ae77c7c374fa7aa6d8057fe6114c74f945a04f4a14ca05a6287690190610e97908590614389565b908152604051908190036020019020546001600160a01b03169392505050565b600080610ec2611ca0565b600084815260028201602052604090205490915065ffffffffffff16610ee781611efb565b610ef15780610ef4565b60005b949350505050565b7f5bf600af9ae77c7c374fa7aa6d8057fe6114c74f945a04f4a14ca05a6287690680546000916000805160206147b78339815191529184908110610f4257610f426143a5565b90600052602060002090600491828204019190066008029054906101000a90046001600160401b0316915050919050565b600080610f7e611ca0565b600093845260020160205250506040902054600160301b900463ffffffff1690565b600080610fab611ca0565b6001600160a01b038416600090815260208290526040902060010154909150610af9906001600160701b0316611cc4565b81610fe6816113ae565b61100e57604051632a9def6d60e01b81526001600160401b0382166004820152602401610a2c565b610c5c8383611f2a565b600080611023611ca0565b6001600160401b039384166000908152600191820160205260409020015490921692915050565b6001600160a01b03811660009081526000805160206147b783398151915260208190526040808320600201549051638d38cd4b60e01b815264ffffffffff909116600482015273__$91d01b1eccbca8d6f94a5eb2a0acb040e9$__90638d38cd4b906024015b602060405180830381865af41580156110cd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610af991906143bb565b611125604051806060016040528060006001600160401b0316815260200160608152602001600064ffffffffff1681525090565b6001600160401b0382811660009081527f5bf600af9ae77c7c374fa7aa6d8057fe6114c74f945a04f4a14ca05a628769036020908152604091829020825160608101909352805490931682526001830180546000805160206147b7833981519152949284019190610b8490614355565b61119d611f3c565b6111a78282611fbc565b90506111b38282612018565b5050565b6040516000906000805160206147b78339815191529082907f5bf600af9ae77c7c374fa7aa6d8057fe6114c74f945a04f4a14ca05a62876901906111fc908690614389565b908152604051908190036020019020546001600160a01b031614159392505050565b611226611f3c565b611230828261224e565b90506111b382826122a7565b6000806000805160206147d78339815191528054604051638d38cd4b60e01b815261010090910464ffffffffff16600482015290915073__$91d01b1eccbca8d6f94a5eb2a0acb040e9$__90638d38cd4b90602401602060405180830381865af41580156112ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112d291906143bb565b801561135f575061135f73__$91d01b1eccbca8d6f94a5eb2a0acb040e9$__63adb618326040518163ffffffff1660e01b8152600401602060405180830381865af4158015611325573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061134991906143d8565b825464ffffffffff610100909104811691161190565b91505090565b600080611370611ca0565b6001600160a01b0385166000908152602091825260408082206001600160e01b03198716835290925220546001600160401b03169150505b92915050565b6001600160401b03811660009081527f5bf600af9ae77c7c374fa7aa6d8057fe6114c74f945a04f4a14ca05a628769036020526040808220600201549051638d38cd4b60e01b815264ffffffffff90911660048201526000805160206147b78339815191529073__$91d01b1eccbca8d6f94a5eb2a0acb040e9$__90638d38cd4b906024016110b0565b82611442816113ae565b61146a57604051632a9def6d60e01b81526001600160401b0382166004820152602401610a2c565b610e4e8484846124c8565b3361147f8161104a565b6114a757604051632eae37fb60e01b81526001600160a01b0382166004820152602401610a2c565b610e4e84848461255f565b6000806114bd611ca0565b6001600160a01b0390931660009081526020939093525050604090206001015460ff600160701b9091041690565b6114f3611f3c565b6000805160206147d783398151915261150a61123c565b1561152857604051632695f8ad60e01b815260040160405180910390fd5b805465ffffffffff0019169055565b6001600160401b03811660009081526000805160206147f7833981519152602052604081206000805160206147b783398151915290610af990612606565b8161157f816113ae565b6115a757604051632a9def6d60e01b81526001600160401b0382166004820152602401610a2c565b610c5c8383612610565b6000848484846040516020016115ca949392919061441e565b604051602081830303815290604052805190602001209050949350505050565b6060816001600160401b0381111561160457611604613f04565b60405190808252806020026020018201604052801561163757816020015b60608152602001906001900390816116225790505b50905060005b828110156116d7576116a73085858481811061165b5761165b6143a5565b905060200281019061166d919061444b565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061262292505050565b8282815181106116b9576116b96143a5565b602002602001018190525080806116cf906144a7565b91505061163d565b5092915050565b6000806000805160206147d78339815191526116f861123c565b1561171657604051632695f8ad60e01b815260040160405180910390fd5b61172186868661268f565b92509250505b935093915050565b611737611f3c565b60006000805160206147d78339815191528054604051638d38cd4b60e01b815261010090910464ffffffffff16600482015290915073__$91d01b1eccbca8d6f94a5eb2a0acb040e9$__90638d38cd4b90602401602060405180830381865af41580156117a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117cc91906143bb565b156117ea57604051632695f8ad60e01b815260040160405180910390fd5b73__$91d01b1eccbca8d6f94a5eb2a0acb040e9$__63adb618326040518163ffffffff1660e01b8152600401602060405180830381865af4158015611833573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061185791906143d8565b6040516352bcc5a760e11b815264ffffffffff9182166004820152908316602482015273__$91d01b1eccbca8d6f94a5eb2a0acb040e9$__9063a5798b4e90604401602060405180830381865af41580156118b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118da91906143d8565b815464ffffffffff919091166101000265ffffffffff001990911617905550565b81611905816113ae565b61192d57604051632a9def6d60e01b81526001600160401b0382166004820152602401610a2c565b6001600160401b03831660009081526000805160206147f7833981519152602052604090206000805160206147b78339815191529061196c9084612712565b50610e4e8484612727565b6040516000906000805160206147b7833981519152907f5bf600af9ae77c7c374fa7aa6d8057fe6114c74f945a04f4a14ca05a62876905906119ba908590614389565b908152604051908190036020019020546001600160401b03169392505050565b60008067fffffffffffffffe196001600160401b03851601611a025750600190506000611a50565b600080611a0f8686610d69565b5050915091508165ffffffffffff16600014158015611a455750611a31612739565b65ffffffffffff168265ffffffffffff1611155b93509150611a509050565b9250929050565b81611a618161104a565b611a8957604051632eae37fb60e01b81526001600160a01b0382166004820152602401610a2c565b610c5c8383612749565b600083611a9f8161104a565b611ac757604051632eae37fb60e01b81526001600160a01b0382166004820152602401610a2c565b611ad38686868661275b565b9695505050505050565b6001600160401b03821660009081526000805160206147f7833981519152602052604081206000805160206147b783398151915290610ef490846128c6565b60008085611b298161104a565b611b5157604051632eae37fb60e01b81526001600160a01b0382166004820152602401610a2c565b611b5d878787876128d2565b909890975095505050505050565b6040516000906000805160206147b7833981519152907f5bf600af9ae77c7c374fa7aa6d8057fe6114c74f945a04f4a14ca05a6287690590611bae908590614389565b908152604051908190036020019020546001600160401b031615159392505050565b81611bda816113ae565b611c0257604051632a9def6d60e01b81526001600160401b0382166004820152602401610a2c565b6001600160401b03831660009081526000805160206147f7833981519152602052604090206000805160206147b783398151915290611c419033612712565b50610e4e8484612a7d565b611c54611f3c565b60005b82811015610d6257611c9085858584818110611c7557611c756143a5565b9050602002016020810190611c8a91906144c0565b84612aa6565b611c99816144a7565b9050611c57565b7f77301bc69e8248c80abb894217605b71fa89ea6a9e8bdf359d9e8aa1dd62bf0090565b600080611cd9836001600160701b0316611ec6565b5090949350505050565b611ceb611f3c565b6111b38282612b34565b611cfd611f3c565b604051637a9e5e4b60e01b81526001600160a01b038281166004830152831690637a9e5e4b90602401600060405180830381600087803b158015611d4057600080fd5b505af1158015610a73573d6000803e3d6000fd5b600080611d5f611ca0565b905033600080611d7183898989612bda565b9150915081158015611d87575063ffffffff8116155b15611dd5578288611d988989612c2d565b6040516381c6f24b60e01b81526001600160a01b0393841660048201529290911660248301526001600160e01b0319166044820152606401610a2c565b6000611de3848a8a8a6115b1565b9050600063ffffffff8316151580611e0a5750611dff82610eb7565b65ffffffffffff1615155b15611e1b57611e1882612c45565b90505b6003860154611e338b611e2e8c8c612c2d565b612d59565b8760030181905550611e7d8b8b8b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250349250612d9b915050565b50600390960195909555509293505050509392505050565b6000610af9836001600160a01b038416612e2e565b611eb2611f3c565b610e4e8383611ec086610ab4565b84612e7d565b6000806000611edc84611ed7612739565b6130dc565b9250925092509193909250565b611ef1611f3c565b6111b38282613131565b6000611f05612739565b65ffffffffffff16611f1a62093a80846144dd565b65ffffffffffff16111592915050565b611f32611f3c565b6111b382826131e3565b33600080611f4b8382366132a3565b9150915081610c5c578063ffffffff16600003611fa7576000611f6e813661335b565b5060405163f07e038f60e01b81526001600160a01b03871660048201526001600160401b03821660248201529092506044019050610a2c565b610e4e611fb784306000366115b1565b612c45565b60606001600160a01b038316611fe55760405163d2b391f360e01b815260040160405180910390fd5b815160000361201257604051636ff4782560e11b81526001600160a01b0384166004820152602401610a2c565b50919050565b6000805160206147b78339815191526120308361104a565b15612059576040516372f0861b60e01b81526001600160a01b0384166004820152602401610a2c565b612062826111b7565b156120af5782816001018360405161207a9190614389565b908152604051908190036020018120546351a5c05760e11b8252610a2c92916001600160a01b039091169085906004016144fc565b6040518060600160405280846001600160a01b0316815260200183815260200173__$91d01b1eccbca8d6f94a5eb2a0acb040e9$__63adb618326040518163ffffffff1660e01b8152600401602060405180830381865af4158015612118573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061213c91906143d8565b64ffffffffff1690526001600160a01b03848116600090815260208481526040909120835181546001600160a01b03191693169290921782558201516001820190612187908261456e565b50604091820151600291909101805464ffffffffff191664ffffffffff90921691909117905551839060018301906121c0908590614389565b9081526040516020918190038201812080546001600160a01b03199081166001600160a01b0395861617909155600285018054600181018255600091825293902090920180549092169286169290921790557fea8d4576c164e98cc7596bbd6e8153189eb76d8c3c5854bf48543e363e4ffd3e90612241908590859061462d565b60405180910390a1505050565b6060826001600160401b031660000361227a57604051633aa1be8f60e21b815260040160405180910390fd5b81516000036120125760405163d47728d760e01b81526001600160401b0384166004820152602401610a2c565b6000805160206147b78339815191526122bf836113ae565b156122e8576040516310ed2a9160e11b81526001600160401b0384166004820152602401610a2c565b6122f182611b6b565b1561231d578261230083611977565b8360405163e6fbd51760e01b8152600401610a2c93929190614651565b6040518060600160405280846001600160401b0316815260200183815260200173__$91d01b1eccbca8d6f94a5eb2a0acb040e9$__63adb618326040518163ffffffff1660e01b8152600401602060405180830381865af4158015612386573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123aa91906143d8565b64ffffffffff1690526001600160401b03848116600090815260038401602090815260409091208351815467ffffffffffffffff1916931692909217825582015160018201906123fa908261456e565b50604091820151600291909101805464ffffffffff191664ffffffffff9092169190911790555183906005830190612433908590614389565b90815260405160209181900382018120805467ffffffffffffffff19166001600160401b0394851617905560068401805460018101825560009182529290206004830401805460039093166008026101000a80850219909316938716929092029290921790557f0d24585326fa11eab3f4335f6413408017bd28072a57f6fbcc65c6606612204d90612241908590859061467d565b6124d0611f3c565b6001600160401b03831615806124ee57506001600160401b03838116145b156125175760405163061c6a4360e21b81526001600160401b0384166004820152602401610a2c565b826001600160401b03167f1256f5b5ecb89caec12db449738f2fbcd1ba5806cf38f35413f4e5c15bf6a450838360405161255292919061469f565b60405180910390a2505050565b60408051638fb3603760e01b80825291513392918391638fb36037916004808201926020929091908290030181865afa1580156125a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125c491906146b3565b6001600160e01b031916146125f757604051630641fee960e31b81526001600160a01b0382166004820152602401610a2c565b610d62611fb7858386866115b1565b60006113a8825490565b612618611f3c565b6111b3828261358f565b6060600080846001600160a01b03168460405161263f9190614389565b600060405180830381855af49150503d806000811461267a576040519150601f19603f3d011682016040523d82523d6000602084013e61267f565b606091505b5091509150610cdc8583836136bc565b60008061269b846114b2565b156126ab57506000905080611727565b306001600160a01b038616036126d0576126c58484613718565b600091509150611727565b60006126dc8585611365565b90506000806126eb83896119da565b91509150816126fc57600080612706565b63ffffffff811615815b94509450505050611727565b6000610af9836001600160a01b03841661373d565b61272f611f3c565b610c5c8282613830565b60006127444261392f565b905090565b612751611f3c565b6111b38282613966565b600080612766611ca0565b90503360006127758686612c2d565b90506000612785898989896115b1565b600081815260028601602052604081205491925065ffffffffffff90911690036127c55760405163060a299b60e41b815260048101829052602401610a2c565b826001600160a01b0316896001600160a01b0316146128615760006127eb6000856119da565b509050600061280661280061030b8c87611365565b866119da565b50905081158015612815575080155b1561285e57604051630ff89d4760e21b81526001600160a01b038087166004830152808d1660248301528b1660448201526001600160e01b031985166064820152608401610a2c565b50505b6000818152600285016020526040808220805465ffffffffffff1916908190559051600160301b90910463ffffffff1691829184917fbd9ac67a6e2f6463b80927326310338bcbb4bdb7936ce1365ea3e01067e7b9f791a39998505050505050505050565b6000610af98383613a32565b60008060006128df611ca0565b90503360006128f0828a8a8a612bda565b91505060008163ffffffff16612904612739565b61290e91906144dd565b905063ffffffff82161580612945575060008765ffffffffffff1611801561294557508065ffffffffffff168765ffffffffffff16105b1561295657828a611d988b8b612c2d565b6129708765ffffffffffff168265ffffffffffff16613a5c565b965061297e838b8b8b6115b1565b955061298986613a72565b83600201600087815260200190815260200160002060000160069054906101000a900463ffffffff1660010194508684600201600088815260200190815260200160002060000160006101000a81548165ffffffffffff021916908365ffffffffffff1602179055508484600201600088815260200190815260200160002060000160066101000a81548163ffffffff021916908363ffffffff1602179055508463ffffffff16867f82a2da5dee54ea8021c6545b4444620291e07ee83be6dd57edb175062715f3b489868e8e8e604051612a689594939291906146d0565b60405180910390a35050505094509492505050565b6001600160a01b038116331461272f57604051635f159e6360e01b815260040160405180910390fd5b6000612ab0611ca0565b6001600160a01b0385166000818152602083815260408083206001600160e01b0319891680855290835292819020805467ffffffffffffffff19166001600160401b03891690811790915590519283529394507f9ea6790c7dadfd01c9f8b9762b3682607af2c7e79e05a9f9fdf5580dde949151910160405180910390a350505050565b6000612b3e611ca0565b9050306001600160a01b03841603612b7457604051630b40d17960e31b81526001600160a01b0384166004820152602401610a2c565b6001600160a01b038316600081815260208390526040908190206001018054851515600160701b0260ff60701b19909116179055517f90d4e7bb7e5d933792b3562e1741306f8be94837e1348dacef9b6f1df56eb1389061255290851515815260200190565b600080306001600160a01b03861603612c0157612bf88685856132a3565b91509150612c24565b60048310612c1d57612c18868661086d8787612c2d565b612bf8565b5060009050805b94509492505050565b6000612c3c6004828486614716565b610af991614740565b600080612c50611ca0565b600084815260028201602052604081205491925065ffffffffffff821691600160301b900463ffffffff1690829003612c9f5760405163060a299b60e41b815260048101869052602401610a2c565b612ca7612739565b65ffffffffffff168265ffffffffffff161115612cda57604051630c65b5bd60e11b815260048101869052602401610a2c565b612ce382611efb565b15612d0457604051631e2975b960e21b815260048101869052602401610a2c565b6000858152600284016020526040808220805465ffffffffffff191690555163ffffffff83169187917f76a2a46953689d4861a5d3f6ed883ad7e6af674a21f8e162707159fc9dde614d9190a3949350505050565b604080516001600160a01b03939093166020808501919091526001600160e01b0319929092168382015280518084038201815260609093019052815191012090565b606081471015612dc05760405163cd78605960e01b8152306004820152602401610a2c565b600080856001600160a01b03168486604051612ddc9190614389565b60006040518083038185875af1925050503d8060008114612e19576040519150601f19603f3d011682016040523d82523d6000602084013e612e1e565b606091505b5091509150611ad38683836136bc565b6000818152600183016020526040812054612e75575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556113a8565b5060006113a8565b600080612e88611ca0565b905067fffffffffffffffe196001600160401b03871601612ec75760405163061c6a4360e21b81526001600160401b0387166004820152602401610a2c565b6001600160401b038616600090815260018201602090815260408083206001600160a01b038916845290915281205465ffffffffffff1615908115612fbd578563ffffffff16612f15612739565b612f1f91906144dd565b905060405180604001604052808265ffffffffffff168152602001612f4d8763ffffffff1663ffffffff1690565b6001600160701b039081169091526001600160401b038a16600090815260018601602090815260408083206001600160a01b038d1684528252909120835181549490920151909216600160301b026001600160a01b031990931665ffffffffffff9091161791909117905561306d565b6001600160401b038816600090815260018401602090815260408083206001600160a01b038b16845290915281205461300991600160301b9091046001600160701b0316908790613ace565b6001600160401b038a16600090815260018601602090815260408083206001600160a01b038d168452909152902080546001600160701b03909316600160301b0273ffffffffffffffffffffffffffff000000000000199093169290921790915590505b6040805163ffffffff8716815265ffffffffffff831660208201528315158183015290516001600160a01b038916916001600160401b038b16917ff98448b987f1428e0e230e1f3c6e2ce15b5693eaf31827fbd0b1ec4b424ae7cf9181900360600190a3509695505050505050565b6000808069ffffffffffffffffffff602086901c166001600160701b03861665ffffffffffff604088901c811690871681111561311b57828282613120565b816000805b9550955095505050505b9250925092565b600061313b611ca0565b90506001600160401b038316158061315b57506001600160401b03838116145b156131845760405163061c6a4360e21b81526001600160401b0384166004820152602401610a2c565b6001600160401b03838116600081815260018481016020526040808320909101805467ffffffffffffffff19169487169485179055517f1fd6dd7631312dfac2205b52913f99de03b4d7e381d5d27d3dbfe0713e6e63409190a3505050565b60006131ed611ca0565b90506001600160401b038316158061320d57506001600160401b03838116145b156132365760405163061c6a4360e21b81526001600160401b0384166004820152602401610a2c565b6001600160401b0383811660008181526001848101602052604080832090910180546fffffffffffffffff00000000000000001916600160401b958816958602179055517f7a8059630b897b5de4c08ade69f8b90c3ead1f8596d62d10b6c4d14a0afb4ae29190a3505050565b60008060048310156132ba57506000905080611727565b306001600160a01b038616036132dd576126c5306132d88686612c2d565b613718565b60008060006132ec878761335b565b925092509250826133065760008094509450505050611727565b600080613313848b6119da565b915091508161332d57600080965096505050505050611727565b6133438363ffffffff168263ffffffff16613a5c565b63ffffffff8116159b909a5098505050505050505050565b6000808060048410156133765750600091508190508061312a565b60006133828686612c2d565b90506001600160e01b031981166310a6aa3760e31b14806133b357506001600160e01b031981166330cae18760e01b145b806133ce57506001600160e01b0319811663294b14a960e11b145b806133e957506001600160e01b03198116635326cae760e11b145b8061340457506001600160e01b0319811663d22b598960e01b145b8061341f57506001600160e01b03198116633476ae9760e11b145b8061343a57506001600160e01b031981166317ea2ab560e21b145b8061345557506001600160e01b0319811663a3907d7160e01b145b8061347057506001600160e01b03198116632de03fb760e21b145b156134865760016000809350935093505061312a565b6001600160e01b0319811663063fc60f60e21b14806134b557506001600160e01b0319811663167bd39560e01b145b806134d057506001600160e01b031981166308d6122d60e01b145b156135125760006134e560246004888a614716565b8101906134f29190613c9a565b905060006134ff82610fa0565b6001965060009550935061312a92505050565b6001600160e01b0319811663012e238d60e51b148061354157506001600160e01b03198116635be958b160e11b145b1561357f57600061355660246004888a614716565b8101906135639190613c7f565b9050600161357082611018565b6000945094509450505061312a565b5060009586955085945092505050565b6000613599611ca0565b905067fffffffffffffffe196001600160401b038416016135d85760405163061c6a4360e21b81526001600160401b0384166004820152602401610a2c565b6001600160401b0383166000908152600182810160205260408220015461361390600160801b90046001600160701b03168462069780613ace565b6001600160401b038616600081815260018087016020526040918290200180546001600160701b03909516600160801b026dffffffffffffffffffffffffffff60801b199095169490941790935591519092507ffeb69018ee8b8fd50ea86348f1267d07673379f72cffdeccec63853ee8ce8b48906136ae908690859063ffffffff92909216825265ffffffffffff16602082015260400190565b60405180910390a250505050565b6060826136d1576136cc82613b78565b610af9565b81511580156136e857506001600160a01b0384163b155b1561371157604051639996b31560e01b81526001600160a01b0385166004820152602401610a2c565b5080610af9565b600080613723611ca0565b905061372f8484612d59565b600390910154149392505050565b60008181526001830160205260408120548015613826576000613761600183614770565b855490915060009061377590600190614770565b90508082146137da576000866000018281548110613795576137956143a5565b90600052602060002001549050808760000184815481106137b8576137b86143a5565b6000918252602080832090910192909255918252600188019052604090208390555b85548690806137eb576137eb614783565b6001900381819060005260206000200160009055905585600101600086815260200190815260200160002060009055600193505050506113a8565b60009150506113a8565b60008061383b611ca0565b905067fffffffffffffffe196001600160401b0385160161387a5760405163061c6a4360e21b81526001600160401b0385166004820152602401610a2c565b6001600160401b038416600090815260018201602090815260408083206001600160a01b038716845290915281205465ffffffffffff1690036138c15760009150506113a8565b6001600160401b038416600081815260018301602090815260408083206001600160a01b038816808552925280832080546001600160a01b0319169055519092917ff229baa593af28c41b1d16b748cd7688f0c83aaf92d4be41c44005defe84c16691a35060019392505050565b600065ffffffffffff821115613962576040516306dfcc6560e41b81526030600482015260248101839052604401610a2c565b5090565b6000613970611ca0565b905060006139a883620697806001600160a01b0387166000908152602086905260409020600101546001600160701b03169190613ace565b6001600160a01b0386166000818152602086815260409182902060010180546dffffffffffffffffffffffffffff19166001600160701b039690961695909517909455805163ffffffff8816815265ffffffffffff841694810194909452919350917fa56b76017453f399ec2327ba00375dbfb1fd070ff854341ad6191e6a2e2de19c91016136ae565b6000826000018281548110613a4957613a496143a5565b9060005260206000200154905092915050565b6000818311613a6b5781610af9565b5090919050565b6000613a7c611ca0565b600083815260028201602052604090205490915065ffffffffffff168015801590613aad5750613aab81611efb565b155b15610c5c5760405163813e945960e01b815260048101849052602401610a2c565b6000806000613ae5866001600160701b0316611cc4565b90506000613b228563ffffffff168763ffffffff168463ffffffff1611613b0d576000613b17565b613b178885614799565b63ffffffff16613a5c565b90508063ffffffff16613b33612739565b613b3d91906144dd565b925063ffffffff8616602083901b67ffffffff0000000016604085901b6dffffffffffff000000000000000016171793505050935093915050565b805115613b885780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b6001600160a01b0381168114613ba157600080fd5b60008083601f840112613bcb57600080fd5b5081356001600160401b03811115613be257600080fd5b6020830191508360208260051b8501011115611a5057600080fd5b80356001600160401b0381168114613c1457600080fd5b919050565b60008060008060608587031215613c2f57600080fd5b8435613c3a81613ba4565b935060208501356001600160401b03811115613c5557600080fd5b613c6187828801613bb9565b9094509250613c74905060408601613bfd565b905092959194509250565b600060208284031215613c9157600080fd5b610af982613bfd565b600060208284031215613cac57600080fd5b8135610af981613ba4565b60005b83811015613cd2578181015183820152602001613cba565b50506000910152565b60008151808452613cf3816020860160208601613cb7565b601f01601f19169290920160200192915050565b602080825282516001600160a01b03168282015282015160606040830152600090613d356080840182613cdb565b905064ffffffffff60408501511660608401528091505092915050565b8015158114613ba157600080fd5b60008060408385031215613d7357600080fd5b8235613d7e81613ba4565b91506020830135613d8e81613d52565b809150509250929050565b60008060408385031215613dac57600080fd5b8235613db781613ba4565b91506020830135613d8e81613ba4565b60008083601f840112613dd957600080fd5b5081356001600160401b03811115613df057600080fd5b602083019150836020828501011115611a5057600080fd5b600080600060408486031215613e1d57600080fd5b8335613e2881613ba4565b925060208401356001600160401b03811115613e4357600080fd5b613e4f86828701613dc7565b9497909650939450505050565b803563ffffffff81168114613c1457600080fd5b600080600060608486031215613e8557600080fd5b613e8e84613bfd565b92506020840135613e9e81613ba4565b9150613eac60408501613e5c565b90509250925092565b60008060408385031215613ec857600080fd5b613db783613bfd565b60008060408385031215613ee457600080fd5b613eed83613bfd565b9150613efb60208401613bfd565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112613f2b57600080fd5b81356001600160401b0380821115613f4557613f45613f04565b604051601f8301601f19908116603f01168101908282118183101715613f6d57613f6d613f04565b81604052838152866020858801011115613f8657600080fd5b836020870160208301376000602085830101528094505050505092915050565b600060208284031215613fb857600080fd5b81356001600160401b03811115613fce57600080fd5b610ef484828501613f1a565b600060208284031215613fec57600080fd5b5035919050565b602081526001600160401b0382511660208201526000602083015160606040840152613d356080840182613cdb565b6000806040838503121561403557600080fd5b823561404081613ba4565b915060208301356001600160401b0381111561405b57600080fd5b61406785828601613f1a565b9150509250929050565b6000806040838503121561408457600080fd5b61404083613bfd565b6001600160e01b031981168114613ba157600080fd5b600080604083850312156140b657600080fd5b82356140c181613ba4565b91506020830135613d8e8161408d565b6000806000604084860312156140e657600080fd5b613e2884613bfd565b6000806040838503121561410257600080fd5b61410b83613bfd565b9150613efb60208401613e5c565b6000806000806060858703121561412f57600080fd5b843561413a81613ba4565b9350602085013561414a81613ba4565b925060408501356001600160401b0381111561416557600080fd5b61417187828801613dc7565b95989497509550505050565b6000806020838503121561419057600080fd5b82356001600160401b038111156141a657600080fd5b6141b285828601613bb9565b90969095509350505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b8281101561421357603f19888603018452614201858351613cdb565b945092850192908501906001016141e5565b5092979650505050505050565b60008060006060848603121561423557600080fd5b833561424081613ba4565b9250602084013561425081613ba4565b915060408401356142608161408d565b809150509250925092565b64ffffffffff81168114613ba157600080fd5b60006020828403121561429057600080fd5b8135610af98161426b565b600080604083850312156142ae57600080fd5b823561410b81613ba4565b600080604083850312156142cc57600080fd5b6142d583613bfd565b946020939093013593505050565b600080600080606085870312156142f957600080fd5b843561430481613ba4565b935060208501356001600160401b0381111561431f57600080fd5b61432b87828801613dc7565b909450925050604085013565ffffffffffff8116811461434a57600080fd5b939692955090935050565b600181811c9082168061436957607f821691505b60208210810361201257634e487b7160e01b600052602260045260246000fd5b6000825161439b818460208701613cb7565b9190910192915050565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156143cd57600080fd5b8151610af981613d52565b6000602082840312156143ea57600080fd5b8151610af98161426b565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b03858116825284166020820152606060408201819052600090611ad390830184866143f5565b6000808335601e1984360301811261446257600080fd5b8301803591506001600160401b0382111561447c57600080fd5b602001915036819003821315611a5057600080fd5b634e487b7160e01b600052601160045260246000fd5b6000600182016144b9576144b9614491565b5060010190565b6000602082840312156144d257600080fd5b8135610af98161408d565b65ffffffffffff8181168382160190808211156116d7576116d7614491565b6001600160a01b03848116825283166020820152606060408201819052600090610cdc90830184613cdb565b601f821115610c5c57600081815260208120601f850160051c8101602086101561454f5750805b601f850160051c820191505b81811015610a735782815560010161455b565b81516001600160401b0381111561458757614587613f04565b61459b816145958454614355565b84614528565b602080601f8311600181146145d057600084156145b85750858301515b600019600386901b1c1916600185901b178555610a73565b600085815260208120601f198616915b828110156145ff578886015182559484019460019091019084016145e0565b508582101561461d5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6001600160a01b0383168152604060208201819052600090610ef490830184613cdb565b60006001600160401b03808616835280851660208401525060606040830152610cdc6060830184613cdb565b6001600160401b0383168152604060208201526000610ef46040830184613cdb565b602081526000610ef46020830184866143f5565b6000602082840312156146c557600080fd5b8151610af98161408d565b65ffffffffffff861681526001600160a01b0385811660208301528416604082015260806060820181905260009061470b90830184866143f5565b979650505050505050565b6000808585111561472657600080fd5b8386111561473357600080fd5b5050820193919092039150565b6001600160e01b031981358181169160048510156147685780818660040360031b1b83161692505b505092915050565b818103818111156113a8576113a8614491565b634e487b7160e01b600052603160045260246000fd5b63ffffffff8281168282160390808211156116d7576116d761449156fe5bf600af9ae77c7c374fa7aa6d8057fe6114c74f945a04f4a14ca05a628769006eab09faeebddf4f4430139353ec193aaa0bd7382b47d6e52082f5add274e6005bf600af9ae77c7c374fa7aa6d8057fe6114c74f945a04f4a14ca05a62876904a2646970667358221220c8a441ef982f247db7919985730c19394464f6095f30d67cac04884765b4953764736f6c63430008140033",
1722
- "linkReferences": {
1723
- "contracts/type/Timestamp.sol": {
1724
- "TimestampLib": [
1725
- {
1726
- "length": 20,
1727
- "start": 4274
1728
- },
1729
- {
1730
- "length": 20,
1731
- "start": 4756
1732
- },
1733
- {
1734
- "length": 20,
1735
- "start": 4862
1736
- },
1737
- {
1738
- "length": 20,
1739
- "start": 5174
1740
- },
1741
- {
1742
- "length": 20,
1743
- "start": 6030
1744
- },
1745
- {
1746
- "length": 20,
1747
- "start": 6156
1748
- },
1749
- {
1750
- "length": 20,
1751
- "start": 6300
1752
- },
1753
- {
1754
- "length": 20,
1755
- "start": 8433
1756
- },
1757
- {
1758
- "length": 20,
1759
- "start": 9055
1760
- }
1761
- ]
1762
- }
1763
- },
1764
- "deployedLinkReferences": {
1765
- "contracts/type/Timestamp.sol": {
1766
- "TimestampLib": [
1767
- {
1768
- "length": 20,
1769
- "start": 4242
1770
- },
1771
- {
1772
- "length": 20,
1773
- "start": 4724
1774
- },
1775
- {
1776
- "length": 20,
1777
- "start": 4830
1778
- },
1779
- {
1780
- "length": 20,
1781
- "start": 5142
1782
- },
1783
- {
1784
- "length": 20,
1785
- "start": 5998
1786
- },
1787
- {
1788
- "length": 20,
1789
- "start": 6124
1790
- },
1791
- {
1792
- "length": 20,
1793
- "start": 6268
1794
- },
1795
- {
1796
- "length": 20,
1797
- "start": 8401
1798
- },
1799
- {
1800
- "length": 20,
1801
- "start": 9023
1802
- }
1803
- ]
1804
- }
1805
- }
1806
- }