@etherisc/gif-next 0.0.2-6f943ea-736 → 0.0.2-70111f0-445
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +129 -23
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +4 -0
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +1007 -0
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +4 -0
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +744 -0
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +4 -0
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.json +791 -0
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +4 -0
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +1494 -0
- package/artifacts/contracts/authorization/AccessAdmin.sol/IAccessManagedChecker.dbg.json +4 -0
- package/artifacts/contracts/authorization/AccessAdmin.sol/IAccessManagedChecker.json +24 -0
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +4 -0
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +673 -0
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +4 -0
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +1403 -0
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +4 -0
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +615 -0
- package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +4 -0
- package/artifacts/contracts/{instance/module/ISetup.sol/ISetup.json → authorization/IAccess.sol/IAccess.json} +2 -2
- package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +4 -0
- package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +1224 -0
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +4 -0
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +382 -0
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +4 -0
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +167 -0
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +4 -0
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +253 -0
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +4 -0
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +1209 -0
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +4 -0
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +644 -0
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +4 -0
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +930 -0
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +4 -0
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +1580 -0
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +4 -0
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +868 -0
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +4 -0
- package/artifacts/contracts/{components/Distribution.sol/Distribution.json → distribution/IDistributionComponent.sol/IDistributionComponent.json} +303 -323
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +4 -0
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +1071 -0
- package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.json +22 -0
- package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +1445 -0
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +644 -0
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +2002 -0
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +644 -0
- package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.json +376 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +1388 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +644 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +1152 -0
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +1612 -0
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +644 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +2389 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +644 -0
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +4 -0
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +851 -0
- package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.json +345 -1476
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +404 -182
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +472 -2494
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +4 -0
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +2036 -0
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +4 -0
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +716 -0
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +1741 -664
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +460 -445
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +366 -105
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +4 -0
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +3728 -0
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +4 -0
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +853 -0
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +4 -0
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +318 -0
- package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +4 -0
- package/artifacts/contracts/instance/{Cloneable.sol → base/Cloneable.sol}/Cloneable.json +1 -49
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +4 -0
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +10 -0
- package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +4 -0
- package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +223 -0
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +4 -0
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +192 -0
- package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +4 -0
- package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +168 -0
- package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +4 -0
- package/artifacts/contracts/instance/module/{ITreasury.sol/ITreasury.json → IComponents.sol/IComponents.json} +2 -2
- package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
- package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +4 -0
- package/artifacts/contracts/mock/Dip.sol/Dip.json +376 -0
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +4 -0
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +938 -0
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +4 -0
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +632 -0
- package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +4 -0
- package/artifacts/contracts/oracle/IOracle.sol/IOracle.json +52 -0
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +4 -0
- package/artifacts/contracts/{components/IPoolComponent.sol/IPoolComponent.json → oracle/IOracleComponent.sol/IOracleComponent.json} +330 -290
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +4 -0
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +733 -0
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +4 -0
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +854 -0
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +4 -0
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +997 -0
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +4 -0
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +764 -0
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +4 -0
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +1231 -0
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +4 -0
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +644 -0
- package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +4 -0
- package/artifacts/contracts/pool/BundleService.sol/BundleService.json +1261 -0
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +4 -0
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +800 -0
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +4 -0
- package/artifacts/contracts/{instance/service → pool}/IBundleService.sol/IBundleService.json +446 -281
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +4 -0
- package/artifacts/contracts/{components/Pool.sol/Pool.json → pool/IPoolComponent.sol/IPoolComponent.json} +329 -357
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +4 -0
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +1230 -0
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +4 -0
- package/artifacts/contracts/pool/Pool.sol/Pool.json +1006 -0
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +4 -0
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +456 -0
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +4 -0
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +1574 -0
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +4 -0
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +808 -0
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +4 -0
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +879 -0
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +4 -0
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +740 -0
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +4 -0
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +1140 -0
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +4 -0
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +644 -0
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +4 -0
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +1496 -0
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +4 -0
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +848 -0
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +4 -0
- package/artifacts/contracts/{instance/service/IPolicyService.sol/IPolicyService.json → product/IApplicationService.sol/IApplicationService.json} +202 -329
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +4 -0
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +1064 -0
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +4 -0
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +981 -0
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +4 -0
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +623 -0
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +4 -0
- package/artifacts/contracts/{components/Product.sol/Product.json → product/IProductComponent.sol/IProductComponent.json} +457 -409
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +4 -0
- package/artifacts/contracts/{instance/service/IProductService.sol/IProductService.json → product/IRiskService.sol/IRiskService.json} +142 -193
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +4 -0
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +1333 -0
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +4 -0
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +293 -0
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +4 -0
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +808 -0
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +4 -0
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +911 -0
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +4 -0
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +764 -0
- package/artifacts/contracts/product/Product.sol/Product.dbg.json +4 -0
- package/artifacts/contracts/{components/IProductComponent.sol/IProductComponent.json → product/Product.sol/Product.json} +644 -294
- package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +4 -0
- package/artifacts/contracts/product/RiskService.sol/RiskService.json +688 -0
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +4 -0
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +736 -0
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +72 -16
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +513 -27
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +284 -222
- package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +4 -0
- package/artifacts/contracts/registry/IRelease.sol/IRelease.json +24 -0
- package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
- package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +5 -0
- package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
- package/artifacts/contracts/registry/Registry.sol/Registry.json +996 -119
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +4 -0
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +2018 -0
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +4 -0
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +878 -0
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +347 -278
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +361 -90
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +4 -0
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +1954 -0
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +4 -0
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +205 -0
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +4 -0
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +1337 -0
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +4 -0
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +272 -0
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +350 -83
- package/artifacts/contracts/shared/Component.sol/Component.dbg.json +4 -0
- package/artifacts/contracts/{components → shared}/Component.sol/Component.json +226 -196
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +4 -0
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +1556 -0
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +4 -0
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +816 -0
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +4 -0
- package/artifacts/contracts/{components/IComponent.sol/IComponent.json → shared/ComponentVerifyingService.sol/ComponentVerifyingService.json} +178 -148
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +4 -0
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +597 -0
- package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +4 -0
- package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.json +24 -0
- package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +4 -0
- package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.json +30 -0
- package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +4 -0
- package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.json +40 -0
- package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +4 -0
- package/artifacts/contracts/{instance/base/ComponentService.sol/ComponentService.json → shared/IComponent.sol/IComponent.json} +241 -233
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +4 -0
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +1196 -0
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +4 -0
- package/artifacts/contracts/{components/IDistributionComponent.sol/IDistributionComponent.json → shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json} +272 -232
- package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +4 -0
- package/artifacts/contracts/{instance/base → shared}/IKeyValueStore.sol/IKeyValueStore.json +95 -14
- package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +4 -0
- package/artifacts/contracts/{instance/base → shared}/ILifecycle.sol/ILifecycle.json +35 -4
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +46 -26
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +4 -0
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +175 -0
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +143 -10
- package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +4 -0
- package/artifacts/contracts/{experiment/inheritance/IA.sol/ISharedA.json → shared/IRegistryLinked.sol/IRegistryLinked.json} +15 -17
- package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
- package/artifacts/contracts/shared/IService.sol/IService.json +124 -141
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +4 -0
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +53 -0
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +4 -0
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +776 -0
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +4 -0
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +538 -0
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +4 -0
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +174 -0
- package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +4 -0
- package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +306 -0
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +74 -36
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +4 -0
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +198 -0
- package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
- package/artifacts/contracts/shared/Registerable.sol/Registerable.json +156 -60
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +4 -0
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +58 -0
- package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
- package/artifacts/contracts/shared/Service.sol/Service.json +142 -165
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +635 -8
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +4 -0
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +484 -0
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +4 -0
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +172 -0
- package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +4 -0
- package/artifacts/contracts/staking/IStaking.sol/IStaking.json +1491 -0
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +4 -0
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +1167 -0
- package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +4 -0
- package/artifacts/contracts/staking/Staking.sol/Staking.json +1888 -0
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +469 -0
- package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +205 -0
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +792 -0
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +560 -0
- package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingService.sol/StakingService.json +1380 -0
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +736 -0
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +2297 -0
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +4 -0
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +617 -0
- package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +4 -0
- package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.json +10 -0
- package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +4 -0
- package/artifacts/contracts/type/Amount.sol/AmountLib.json +398 -0
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +4 -0
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +225 -0
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +4 -0
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +203 -0
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +4 -0
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +104 -0
- package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +4 -0
- package/artifacts/contracts/type/Fee.sol/FeeLib.json +373 -0
- package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +4 -0
- package/artifacts/contracts/type/Key32.sol/Key32Lib.json +125 -0
- package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +4 -0
- package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +33 -0
- package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +4 -0
- package/artifacts/contracts/type/NftId.sol/NftIdLib.json +228 -0
- package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +4 -0
- package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +33 -0
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +4 -0
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +241 -0
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +4 -0
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +209 -0
- package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +4 -0
- package/artifacts/contracts/type/Referral.sol/ReferralLib.json +142 -0
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +4 -0
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +204 -0
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +4 -0
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +204 -0
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +4 -0
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +433 -0
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +4 -0
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +246 -0
- package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +4 -0
- package/artifacts/contracts/type/Selector.sol/SelectorLib.json +148 -0
- package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +4 -0
- package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +10 -0
- package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +4 -0
- package/artifacts/contracts/type/StateId.sol/StateIdLib.json +105 -0
- package/artifacts/contracts/type/String.sol/StrLib.dbg.json +4 -0
- package/artifacts/contracts/type/String.sol/StrLib.json +132 -0
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +4 -0
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +312 -0
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +4 -0
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +572 -0
- package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +4 -0
- package/artifacts/contracts/type/Version.sol/VersionLib.json +158 -0
- package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +4 -0
- package/artifacts/contracts/type/Version.sol/VersionPartLib.json +167 -0
- package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +4 -0
- package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.json +55 -0
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +4 -0
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +618 -0
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +4 -0
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +129 -0
- package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +4 -0
- package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.json +78 -0
- package/contracts/accounting/AccountingService.sol +262 -0
- package/contracts/accounting/AccountingServiceManager.sol +38 -0
- package/contracts/accounting/IAccountingService.sol +45 -0
- package/contracts/authorization/AccessAdmin.sol +704 -0
- package/contracts/authorization/AccessAdminLib.sol +183 -0
- package/contracts/authorization/AccessManagerCloneable.sol +158 -0
- package/contracts/authorization/Authorization.sol +365 -0
- package/contracts/authorization/IAccess.sol +57 -0
- package/contracts/authorization/IAccessAdmin.sol +170 -0
- package/contracts/authorization/IAuthorization.sol +80 -0
- package/contracts/authorization/IServiceAuthorization.sol +40 -0
- package/contracts/authorization/ServiceAuthorization.sol +106 -0
- package/contracts/distribution/BasicDistribution.sol +141 -0
- package/contracts/distribution/BasicDistributionAuthorization.sol +60 -0
- package/contracts/distribution/Distribution.sol +244 -0
- package/contracts/distribution/DistributionService.sol +385 -0
- package/contracts/distribution/DistributionServiceManager.sol +39 -0
- package/contracts/distribution/IDistributionComponent.sol +43 -0
- package/contracts/distribution/IDistributionService.sol +103 -0
- package/contracts/examples/fire/DamageLevel.sol +59 -0
- package/contracts/examples/fire/FirePool.sol +86 -0
- package/contracts/examples/fire/FirePoolAuthorization.sol +35 -0
- package/contracts/examples/fire/FireProduct.sol +433 -0
- package/contracts/examples/fire/FireProductAuthorization.sol +45 -0
- package/contracts/examples/fire/FireUSD.sol +26 -0
- package/contracts/examples/unpermissioned/SimpleDistribution.sol +81 -0
- package/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol +28 -0
- package/contracts/examples/unpermissioned/SimpleOracle.sol +133 -0
- package/contracts/examples/unpermissioned/SimplePool.sol +102 -0
- package/contracts/examples/unpermissioned/SimplePoolAuthorization.sol +28 -0
- package/contracts/examples/unpermissioned/SimpleProduct.sol +373 -0
- package/contracts/examples/unpermissioned/SimpleProductAuthorization.sol +28 -0
- package/contracts/instance/BundleSet.sol +130 -0
- package/contracts/instance/IInstance.sol +85 -51
- package/contracts/instance/IInstanceService.sol +69 -22
- package/contracts/instance/Instance.sol +221 -186
- package/contracts/instance/InstanceAdmin.sol +450 -0
- package/contracts/instance/InstanceAuthorizationV3.sol +235 -0
- package/contracts/instance/InstanceReader.sol +421 -64
- package/contracts/instance/InstanceService.sol +354 -330
- package/contracts/instance/InstanceServiceManager.sol +14 -29
- package/contracts/instance/InstanceStore.sol +298 -0
- package/contracts/instance/RiskSet.sol +118 -0
- package/contracts/instance/base/BalanceStore.sol +123 -0
- package/contracts/instance/{Cloneable.sol → base/Cloneable.sol} +4 -22
- package/contracts/instance/base/ObjectCounter.sol +20 -0
- package/contracts/instance/base/ObjectLifecycle.sol +113 -0
- package/contracts/instance/base/ObjectSet.sol +77 -0
- package/contracts/instance/base/ObjectSetHelperLib.sol +30 -0
- package/contracts/instance/module/IBundle.sol +10 -9
- package/contracts/instance/module/IComponents.sol +62 -0
- package/contracts/instance/module/IDistribution.sol +25 -10
- package/contracts/instance/module/IPolicy.sol +81 -21
- package/contracts/instance/module/IRisk.sol +6 -1
- package/contracts/{test/TestToken.sol → mock/Dip.sol} +6 -6
- package/contracts/oracle/BasicOracle.sol +45 -0
- package/contracts/oracle/BasicOracleAuthorization.sol +37 -0
- package/contracts/oracle/IOracle.sol +41 -0
- package/contracts/oracle/IOracleComponent.sol +33 -0
- package/contracts/oracle/IOracleService.sol +66 -0
- package/contracts/oracle/Oracle.sol +154 -0
- package/contracts/oracle/OracleService.sol +310 -0
- package/contracts/oracle/OracleServiceManager.sol +39 -0
- package/contracts/pool/BasicPool.sol +173 -0
- package/contracts/pool/BasicPoolAuthorization.sol +76 -0
- package/contracts/pool/BundleService.sol +395 -0
- package/contracts/pool/BundleServiceManager.sol +39 -0
- package/contracts/pool/IBundleService.sol +115 -0
- package/contracts/pool/IPoolComponent.sol +62 -0
- package/contracts/pool/IPoolService.sol +165 -0
- package/contracts/pool/Pool.sol +343 -0
- package/contracts/pool/PoolLib.sol +216 -0
- package/contracts/pool/PoolService.sol +755 -0
- package/contracts/pool/PoolServiceManager.sol +39 -0
- package/contracts/product/ApplicationService.sol +274 -0
- package/contracts/product/ApplicationServiceManager.sol +38 -0
- package/contracts/product/BasicProduct.sol +49 -0
- package/contracts/product/BasicProductAuthorization.sol +56 -0
- package/contracts/product/ClaimService.sol +632 -0
- package/contracts/product/ClaimServiceManager.sol +38 -0
- package/contracts/product/IApplicationService.sol +69 -0
- package/contracts/product/IClaimService.sol +135 -0
- package/contracts/product/IPolicyService.sol +95 -0
- package/contracts/product/IPricingService.sol +40 -0
- package/contracts/product/IProductComponent.sol +62 -0
- package/contracts/product/IRiskService.sol +33 -0
- package/contracts/product/PolicyService.sol +664 -0
- package/contracts/product/PolicyServiceLib.sol +65 -0
- package/contracts/product/PolicyServiceManager.sol +39 -0
- package/contracts/product/PricingService.sol +309 -0
- package/contracts/product/PricingServiceManager.sol +39 -0
- package/contracts/product/Product.sol +467 -0
- package/contracts/product/RiskService.sol +154 -0
- package/contracts/product/RiskServiceManager.sol +39 -0
- package/contracts/registry/ChainNft.sol +83 -36
- package/contracts/registry/IRegistry.sol +102 -30
- package/contracts/registry/IRegistryService.sol +38 -41
- package/contracts/registry/IRelease.sol +29 -0
- package/contracts/registry/ITransferInterceptor.sol +1 -1
- package/contracts/registry/Registry.sol +485 -207
- package/contracts/registry/RegistryAdmin.sol +258 -0
- package/contracts/registry/RegistryAuthorization.sol +267 -0
- package/contracts/registry/RegistryService.sol +118 -139
- package/contracts/registry/RegistryServiceManager.sol +24 -33
- package/contracts/registry/ReleaseAdmin.sol +253 -0
- package/contracts/registry/ReleaseLifecycle.sol +32 -0
- package/contracts/registry/ReleaseRegistry.sol +517 -0
- package/contracts/registry/ServiceAuthorizationV3.sol +331 -0
- package/contracts/registry/TokenRegistry.sol +266 -62
- package/contracts/shared/Component.sol +210 -0
- package/contracts/shared/ComponentService.sol +708 -0
- package/contracts/shared/ComponentServiceManager.sol +38 -0
- package/contracts/shared/ComponentVerifyingService.sol +128 -0
- package/contracts/shared/ContractLib.sol +281 -0
- package/contracts/shared/IComponent.sol +58 -0
- package/contracts/shared/IComponentService.sol +112 -0
- package/contracts/shared/IInstanceLinkedComponent.sol +30 -0
- package/contracts/{instance/base → shared}/IKeyValueStore.sol +16 -11
- package/contracts/{instance/base → shared}/ILifecycle.sol +5 -4
- package/contracts/shared/INftOwnable.sol +15 -12
- package/contracts/shared/IPolicyHolder.sol +35 -0
- package/contracts/shared/IRegisterable.sol +24 -2
- package/contracts/shared/IRegistryLinked.sol +11 -0
- package/contracts/shared/IService.sol +12 -5
- package/contracts/shared/InitializableERC165.sol +35 -0
- package/contracts/shared/InstanceLinkedComponent.sol +195 -0
- package/contracts/shared/KeyValueStore.sol +131 -0
- package/contracts/shared/Lifecycle.sol +88 -0
- package/contracts/shared/NftIdSet.sol +65 -0
- package/contracts/shared/NftOwnable.sol +75 -87
- package/contracts/shared/PolicyHolder.sol +62 -0
- package/contracts/shared/Registerable.sol +49 -29
- package/contracts/shared/RegistryLinked.sol +38 -0
- package/contracts/shared/Service.sol +39 -34
- package/contracts/shared/TokenHandler.sol +327 -12
- package/contracts/shared/TokenHandlerDeployerLib.sol +20 -0
- package/contracts/staking/IStaking.sol +179 -0
- package/contracts/staking/IStakingService.sol +172 -0
- package/contracts/staking/Staking.sol +546 -0
- package/contracts/staking/StakingLib.sol +281 -0
- package/contracts/staking/StakingLifecycle.sol +23 -0
- package/contracts/staking/StakingManager.sol +52 -0
- package/contracts/staking/StakingReader.sol +180 -0
- package/contracts/staking/StakingService.sol +464 -0
- package/contracts/staking/StakingServiceManager.sol +45 -0
- package/contracts/staking/StakingStore.sol +606 -0
- package/contracts/staking/TargetManagerLib.sol +211 -0
- package/contracts/{types → type}/AddressSet.sol +1 -1
- package/contracts/type/Amount.sol +150 -0
- package/contracts/{types → type}/Blocknumber.sol +27 -3
- package/contracts/type/ClaimId.sol +80 -0
- package/contracts/{types → type}/DistributorType.sol +2 -2
- package/contracts/type/Fee.sol +66 -0
- package/contracts/{types → type}/Key32.sol +2 -2
- package/contracts/type/Key32Set.sol +62 -0
- package/contracts/{types → type}/NftId.sol +28 -15
- package/contracts/{types → type}/NftIdSet.sol +2 -2
- package/contracts/type/ObjectType.sol +294 -0
- package/contracts/type/PayoutId.sol +82 -0
- package/contracts/{types → type}/Referral.sol +6 -1
- package/contracts/type/RequestId.sol +75 -0
- package/contracts/type/RiskId.sol +75 -0
- package/contracts/type/RoleId.sol +182 -0
- package/contracts/type/Seconds.sol +101 -0
- package/contracts/type/Selector.sol +107 -0
- package/contracts/{types → type}/StateId.sol +48 -4
- package/contracts/type/String.sol +53 -0
- package/contracts/{types → type}/Timestamp.sol +33 -19
- package/contracts/type/UFixed.sol +262 -0
- package/contracts/{types → type}/Version.sol +59 -7
- package/contracts/{shared → upgradeability}/IVersionable.sol +5 -48
- package/contracts/upgradeability/ProxyManager.sol +232 -0
- package/contracts/{shared → upgradeability}/UpgradableProxyWithAdmin.sol +1 -3
- package/contracts/upgradeability/Versionable.sol +59 -0
- package/package.json +12 -8
- package/artifacts/contracts/components/Component.sol/Component.dbg.json +0 -4
- package/artifacts/contracts/components/Distribution.sol/Distribution.dbg.json +0 -4
- package/artifacts/contracts/components/IComponent.sol/IComponent.dbg.json +0 -4
- package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.dbg.json +0 -4
- package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +0 -4
- package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +0 -4
- package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +0 -4
- package/artifacts/contracts/components/Product.sol/Product.dbg.json +0 -4
- package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.dbg.json +0 -4
- package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.json +0 -66
- package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.dbg.json +0 -4
- package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.json +0 -24
- package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.dbg.json +0 -4
- package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.json +0 -42
- package/artifacts/contracts/experiment/errors/Require.sol/Require.dbg.json +0 -4
- package/artifacts/contracts/experiment/errors/Require.sol/Require.json +0 -105
- package/artifacts/contracts/experiment/errors/Revert.sol/Revert.dbg.json +0 -4
- package/artifacts/contracts/experiment/errors/Revert.sol/Revert.json +0 -105
- package/artifacts/contracts/experiment/inheritance/A.sol/A.dbg.json +0 -4
- package/artifacts/contracts/experiment/inheritance/A.sol/A.json +0 -128
- package/artifacts/contracts/experiment/inheritance/A.sol/AShared.dbg.json +0 -4
- package/artifacts/contracts/experiment/inheritance/A.sol/AShared.json +0 -42
- package/artifacts/contracts/experiment/inheritance/B.sol/B.dbg.json +0 -4
- package/artifacts/contracts/experiment/inheritance/B.sol/B.json +0 -76
- package/artifacts/contracts/experiment/inheritance/C.sol/C.dbg.json +0 -4
- package/artifacts/contracts/experiment/inheritance/C.sol/C.json +0 -89
- package/artifacts/contracts/experiment/inheritance/IA.sol/IA.dbg.json +0 -4
- package/artifacts/contracts/experiment/inheritance/IA.sol/IA.json +0 -128
- package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.dbg.json +0 -4
- package/artifacts/contracts/experiment/inheritance/IB.sol/IB.dbg.json +0 -4
- package/artifacts/contracts/experiment/inheritance/IB.sol/IB.json +0 -50
- package/artifacts/contracts/experiment/inheritance/IC.sol/IC.dbg.json +0 -4
- package/artifacts/contracts/experiment/inheritance/IC.sol/IC.json +0 -63
- package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.dbg.json +0 -4
- package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.json +0 -59
- package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.dbg.json +0 -4
- package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.json +0 -124
- package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.dbg.json +0 -4
- package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.json +0 -74
- package/artifacts/contracts/experiment/statemachine/SM.sol/SM.dbg.json +0 -4
- package/artifacts/contracts/experiment/statemachine/SM.sol/SM.json +0 -124
- package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.dbg.json +0 -4
- package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.json +0 -207
- package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.dbg.json +0 -4
- package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.json +0 -10
- package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.dbg.json +0 -4
- package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.json +0 -10
- package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +0 -4
- package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +0 -764
- package/artifacts/contracts/instance/Cloneable.sol/Cloneable.dbg.json +0 -4
- package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +0 -4
- package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +0 -1034
- package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.dbg.json +0 -4
- package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.json +0 -261
- package/artifacts/contracts/instance/base/ComponentService.sol/ComponentService.dbg.json +0 -4
- package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +0 -4
- package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +0 -4
- package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +0 -4
- package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +0 -502
- package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +0 -4
- package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +0 -169
- package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +0 -4
- package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +0 -254
- package/artifacts/contracts/instance/module/ISetup.sol/ISetup.dbg.json +0 -4
- package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.dbg.json +0 -4
- package/artifacts/contracts/instance/service/BundleService.sol/BundleService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/BundleService.sol/BundleService.json +0 -1102
- package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.dbg.json +0 -4
- package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.json +0 -449
- package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.json +0 -772
- package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +0 -4
- package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.json +0 -437
- package/artifacts/contracts/instance/service/IBundleService.sol/IBundleService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.json +0 -441
- package/artifacts/contracts/instance/service/IPolicyService.sol/IPolicyService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.json +0 -494
- package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.json +0 -1227
- package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +0 -4
- package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.json +0 -505
- package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +0 -806
- package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.dbg.json +0 -4
- package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.json +0 -437
- package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +0 -856
- package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
- package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.json +0 -437
- package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.dbg.json +0 -4
- package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.json +0 -285
- package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +0 -4
- package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +0 -547
- package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.dbg.json +0 -4
- package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.json +0 -107
- package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +0 -4
- package/artifacts/contracts/shared/ERC165.sol/ERC165.json +0 -35
- package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +0 -4
- package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +0 -205
- package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +0 -4
- package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +0 -362
- package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +0 -4
- package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +0 -129
- package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +0 -4
- package/artifacts/contracts/shared/Versionable.sol/Versionable.json +0 -228
- package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +0 -4
- package/artifacts/contracts/test/TestFee.sol/TestFee.json +0 -119
- package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +0 -4
- package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +0 -313
- package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +0 -4
- package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +0 -116
- package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +0 -4
- package/artifacts/contracts/test/TestService.sol/TestService.json +0 -608
- package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +0 -4
- package/artifacts/contracts/test/TestToken.sol/TestUsdc.json +0 -376
- package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +0 -4
- package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +0 -218
- package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +0 -4
- package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +0 -286
- package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +0 -4
- package/artifacts/contracts/test/Usdc.sol/USDC.json +0 -376
- package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +0 -4
- package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.json +0 -10
- package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +0 -4
- package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.json +0 -174
- package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +0 -4
- package/artifacts/contracts/types/ChainId.sol/ChainIdLib.json +0 -10
- package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.dbg.json +0 -4
- package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.json +0 -104
- package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +0 -4
- package/artifacts/contracts/types/Fee.sol/FeeLib.json +0 -257
- package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +0 -4
- package/artifacts/contracts/types/Key32.sol/Key32Lib.json +0 -125
- package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +0 -4
- package/artifacts/contracts/types/NftId.sol/NftIdLib.json +0 -153
- package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +0 -4
- package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.json +0 -33
- package/artifacts/contracts/types/NumberId.sol/NumberIdLib.dbg.json +0 -4
- package/artifacts/contracts/types/NumberId.sol/NumberIdLib.json +0 -100
- package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +0 -4
- package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.json +0 -92
- package/artifacts/contracts/types/Referral.sol/ReferralLib.dbg.json +0 -4
- package/artifacts/contracts/types/Referral.sol/ReferralLib.json +0 -123
- package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +0 -4
- package/artifacts/contracts/types/RiskId.sol/RiskIdLib.json +0 -86
- package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +0 -4
- package/artifacts/contracts/types/RoleId.sol/RoleIdLib.json +0 -156
- package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +0 -4
- package/artifacts/contracts/types/StateId.sol/StateIdLib.json +0 -92
- package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +0 -4
- package/artifacts/contracts/types/Timestamp.sol/TimestampLib.json +0 -249
- package/artifacts/contracts/types/UFixed.sol/MathLib.dbg.json +0 -4
- package/artifacts/contracts/types/UFixed.sol/MathLib.json +0 -10
- package/artifacts/contracts/types/UFixed.sol/UFixedLib.dbg.json +0 -4
- package/artifacts/contracts/types/UFixed.sol/UFixedLib.json +0 -479
- package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +0 -4
- package/artifacts/contracts/types/Version.sol/VersionLib.json +0 -177
- package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +0 -4
- package/artifacts/contracts/types/Version.sol/VersionPartLib.json +0 -49
- package/contracts/components/Component.sol +0 -216
- package/contracts/components/Distribution.sol +0 -153
- package/contracts/components/IComponent.sol +0 -43
- package/contracts/components/IDistributionComponent.sol +0 -47
- package/contracts/components/IPoolComponent.sol +0 -51
- package/contracts/components/IProductComponent.sol +0 -39
- package/contracts/components/Pool.sol +0 -208
- package/contracts/components/Product.sol +0 -266
- package/contracts/experiment/cloning/Cloner.sol +0 -47
- package/contracts/experiment/errors/Require.sol +0 -38
- package/contracts/experiment/errors/Revert.sol +0 -44
- package/contracts/experiment/inheritance/A.sol +0 -53
- package/contracts/experiment/inheritance/B.sol +0 -28
- package/contracts/experiment/inheritance/C.sol +0 -34
- package/contracts/experiment/inheritance/IA.sol +0 -13
- package/contracts/experiment/inheritance/IB.sol +0 -10
- package/contracts/experiment/inheritance/IC.sol +0 -12
- package/contracts/experiment/statemachine/Dummy.sol +0 -27
- package/contracts/experiment/statemachine/ISM.sol +0 -25
- package/contracts/experiment/statemachine/SM.sol +0 -57
- package/contracts/experiment/statemachine/SimpleStateMachine.sol +0 -31
- package/contracts/experiment/types/TypeA.sol +0 -47
- package/contracts/experiment/types/TypeB.sol +0 -29
- package/contracts/instance/BundleManager.sol +0 -125
- package/contracts/instance/InstanceAccessManager.sol +0 -298
- package/contracts/instance/ObjectManager.sol +0 -84
- package/contracts/instance/base/ComponentService.sol +0 -134
- package/contracts/instance/base/KeyValueStore.sol +0 -172
- package/contracts/instance/base/Lifecycle.sol +0 -100
- package/contracts/instance/module/IAccess.sol +0 -48
- package/contracts/instance/module/ISetup.sol +0 -46
- package/contracts/instance/module/ITreasury.sol +0 -23
- package/contracts/instance/service/BundleService.sol +0 -293
- package/contracts/instance/service/BundleServiceManager.sol +0 -51
- package/contracts/instance/service/DistributionService.sol +0 -106
- package/contracts/instance/service/DistributionServiceManager.sol +0 -51
- package/contracts/instance/service/IBundleService.sol +0 -44
- package/contracts/instance/service/IDistributionService.sol +0 -12
- package/contracts/instance/service/IPolicyService.sol +0 -94
- package/contracts/instance/service/IPoolService.sol +0 -20
- package/contracts/instance/service/IProductService.sol +0 -40
- package/contracts/instance/service/PolicyService.sol +0 -538
- package/contracts/instance/service/PolicyServiceManager.sol +0 -54
- package/contracts/instance/service/PoolService.sol +0 -110
- package/contracts/instance/service/PoolServiceManager.sol +0 -51
- package/contracts/instance/service/ProductService.sol +0 -233
- package/contracts/instance/service/ProductServiceManager.sol +0 -54
- package/contracts/registry/RegistryAccessManager.sol +0 -216
- package/contracts/registry/ReleaseManager.sol +0 -332
- package/contracts/shared/ContractDeployerLib.sol +0 -72
- package/contracts/shared/ERC165.sol +0 -25
- package/contracts/shared/ProxyManager.sol +0 -94
- package/contracts/shared/Versionable.sol +0 -147
- package/contracts/test/TestFee.sol +0 -25
- package/contracts/test/TestRegisterable.sol +0 -18
- package/contracts/test/TestRoleId.sol +0 -14
- package/contracts/test/TestService.sol +0 -25
- package/contracts/test/TestVersion.sol +0 -44
- package/contracts/test/TestVersionable.sol +0 -17
- package/contracts/test/Usdc.sol +0 -26
- package/contracts/types/ChainId.sol +0 -38
- package/contracts/types/Fee.sol +0 -56
- package/contracts/types/NumberId.sol +0 -52
- package/contracts/types/ObjectType.sol +0 -152
- package/contracts/types/RiskId.sol +0 -43
- package/contracts/types/RoleId.sol +0 -90
- package/contracts/types/UFixed.sol +0 -325
@@ -4,35 +4,88 @@
|
|
4
4
|
"sourceName": "contracts/instance/InstanceService.sol",
|
5
5
|
"abi": [
|
6
6
|
{
|
7
|
-
"inputs": [
|
8
|
-
|
7
|
+
"inputs": [
|
8
|
+
{
|
9
|
+
"internalType": "address",
|
10
|
+
"name": "authority",
|
11
|
+
"type": "address"
|
12
|
+
}
|
13
|
+
],
|
14
|
+
"name": "AccessManagedInvalidAuthority",
|
9
15
|
"type": "error"
|
10
16
|
},
|
11
17
|
{
|
12
18
|
"inputs": [
|
13
19
|
{
|
14
20
|
"internalType": "address",
|
15
|
-
"name": "
|
21
|
+
"name": "caller",
|
16
22
|
"type": "address"
|
17
23
|
},
|
18
24
|
{
|
19
|
-
"internalType": "
|
20
|
-
"name": "
|
21
|
-
"type": "
|
25
|
+
"internalType": "uint32",
|
26
|
+
"name": "delay",
|
27
|
+
"type": "uint32"
|
22
28
|
}
|
23
29
|
],
|
24
|
-
"name": "
|
30
|
+
"name": "AccessManagedRequiredDelay",
|
25
31
|
"type": "error"
|
26
32
|
},
|
27
33
|
{
|
28
34
|
"inputs": [
|
29
35
|
{
|
30
36
|
"internalType": "address",
|
31
|
-
"name": "
|
37
|
+
"name": "caller",
|
38
|
+
"type": "address"
|
39
|
+
}
|
40
|
+
],
|
41
|
+
"name": "AccessManagedUnauthorized",
|
42
|
+
"type": "error"
|
43
|
+
},
|
44
|
+
{
|
45
|
+
"inputs": [],
|
46
|
+
"name": "ERC1167FailedCreateClone",
|
47
|
+
"type": "error"
|
48
|
+
},
|
49
|
+
{
|
50
|
+
"inputs": [
|
51
|
+
{
|
52
|
+
"internalType": "address",
|
53
|
+
"name": "authority",
|
54
|
+
"type": "address"
|
55
|
+
}
|
56
|
+
],
|
57
|
+
"name": "ErrorAuthorityInvalid",
|
58
|
+
"type": "error"
|
59
|
+
},
|
60
|
+
{
|
61
|
+
"inputs": [],
|
62
|
+
"name": "ErrorInstanceServiceAccessManagerZero",
|
63
|
+
"type": "error"
|
64
|
+
},
|
65
|
+
{
|
66
|
+
"inputs": [],
|
67
|
+
"name": "ErrorInstanceServiceBundleSetAuthorityMismatch",
|
68
|
+
"type": "error"
|
69
|
+
},
|
70
|
+
{
|
71
|
+
"inputs": [],
|
72
|
+
"name": "ErrorInstanceServiceBundleSetInstanceMismatch",
|
73
|
+
"type": "error"
|
74
|
+
},
|
75
|
+
{
|
76
|
+
"inputs": [],
|
77
|
+
"name": "ErrorInstanceServiceBundleSetZero",
|
78
|
+
"type": "error"
|
79
|
+
},
|
80
|
+
{
|
81
|
+
"inputs": [
|
82
|
+
{
|
83
|
+
"internalType": "address",
|
84
|
+
"name": "component",
|
32
85
|
"type": "address"
|
33
86
|
}
|
34
87
|
],
|
35
|
-
"name": "
|
88
|
+
"name": "ErrorInstanceServiceComponentNotInstanceLinked",
|
36
89
|
"type": "error"
|
37
90
|
},
|
38
91
|
{
|
@@ -46,6 +99,93 @@
|
|
46
99
|
"name": "ErrorInstanceServiceComponentNotRegistered",
|
47
100
|
"type": "error"
|
48
101
|
},
|
102
|
+
{
|
103
|
+
"inputs": [],
|
104
|
+
"name": "ErrorInstanceServiceInstanceAddressZero",
|
105
|
+
"type": "error"
|
106
|
+
},
|
107
|
+
{
|
108
|
+
"inputs": [],
|
109
|
+
"name": "ErrorInstanceServiceInstanceAdminZero",
|
110
|
+
"type": "error"
|
111
|
+
},
|
112
|
+
{
|
113
|
+
"inputs": [],
|
114
|
+
"name": "ErrorInstanceServiceInstanceAuthorityMismatch",
|
115
|
+
"type": "error"
|
116
|
+
},
|
117
|
+
{
|
118
|
+
"inputs": [
|
119
|
+
{
|
120
|
+
"internalType": "NftId",
|
121
|
+
"name": "instanceNftId",
|
122
|
+
"type": "uint96"
|
123
|
+
},
|
124
|
+
{
|
125
|
+
"internalType": "NftId",
|
126
|
+
"name": "componentNftId",
|
127
|
+
"type": "uint96"
|
128
|
+
}
|
129
|
+
],
|
130
|
+
"name": "ErrorInstanceServiceInstanceComponentMismatch",
|
131
|
+
"type": "error"
|
132
|
+
},
|
133
|
+
{
|
134
|
+
"inputs": [],
|
135
|
+
"name": "ErrorInstanceServiceInstanceReaderAddressZero",
|
136
|
+
"type": "error"
|
137
|
+
},
|
138
|
+
{
|
139
|
+
"inputs": [],
|
140
|
+
"name": "ErrorInstanceServiceInstanceReaderInstanceMismatch",
|
141
|
+
"type": "error"
|
142
|
+
},
|
143
|
+
{
|
144
|
+
"inputs": [],
|
145
|
+
"name": "ErrorInstanceServiceInstanceReaderInstanceMismatch2",
|
146
|
+
"type": "error"
|
147
|
+
},
|
148
|
+
{
|
149
|
+
"inputs": [],
|
150
|
+
"name": "ErrorInstanceServiceInstanceReaderSameAsMasterInstanceReader",
|
151
|
+
"type": "error"
|
152
|
+
},
|
153
|
+
{
|
154
|
+
"inputs": [],
|
155
|
+
"name": "ErrorInstanceServiceInstanceReaderZero",
|
156
|
+
"type": "error"
|
157
|
+
},
|
158
|
+
{
|
159
|
+
"inputs": [],
|
160
|
+
"name": "ErrorInstanceServiceInstanceStoreAuthorityMismatch",
|
161
|
+
"type": "error"
|
162
|
+
},
|
163
|
+
{
|
164
|
+
"inputs": [],
|
165
|
+
"name": "ErrorInstanceServiceInstanceStoreZero",
|
166
|
+
"type": "error"
|
167
|
+
},
|
168
|
+
{
|
169
|
+
"inputs": [
|
170
|
+
{
|
171
|
+
"internalType": "NftId",
|
172
|
+
"name": "instanceNftId",
|
173
|
+
"type": "uint96"
|
174
|
+
},
|
175
|
+
{
|
176
|
+
"internalType": "VersionPart",
|
177
|
+
"name": "expectedRelease",
|
178
|
+
"type": "uint8"
|
179
|
+
},
|
180
|
+
{
|
181
|
+
"internalType": "VersionPart",
|
182
|
+
"name": "instanceRelease",
|
183
|
+
"type": "uint8"
|
184
|
+
}
|
185
|
+
],
|
186
|
+
"name": "ErrorInstanceServiceInstanceVersionMismatch",
|
187
|
+
"type": "error"
|
188
|
+
},
|
49
189
|
{
|
50
190
|
"inputs": [
|
51
191
|
{
|
@@ -67,85 +207,163 @@
|
|
67
207
|
"name": "ErrorInstanceServiceInvalidComponentType",
|
68
208
|
"type": "error"
|
69
209
|
},
|
210
|
+
{
|
211
|
+
"inputs": [],
|
212
|
+
"name": "ErrorInstanceServiceMasterBundleSetAlreadySet",
|
213
|
+
"type": "error"
|
214
|
+
},
|
215
|
+
{
|
216
|
+
"inputs": [],
|
217
|
+
"name": "ErrorInstanceServiceMasterInstanceAdminAlreadySet",
|
218
|
+
"type": "error"
|
219
|
+
},
|
220
|
+
{
|
221
|
+
"inputs": [],
|
222
|
+
"name": "ErrorInstanceServiceMasterInstanceAlreadySet",
|
223
|
+
"type": "error"
|
224
|
+
},
|
225
|
+
{
|
226
|
+
"inputs": [],
|
227
|
+
"name": "ErrorInstanceServiceMasterInstanceReaderNotSet",
|
228
|
+
"type": "error"
|
229
|
+
},
|
230
|
+
{
|
231
|
+
"inputs": [],
|
232
|
+
"name": "ErrorInstanceServiceMasterRiskSetAlreadySet",
|
233
|
+
"type": "error"
|
234
|
+
},
|
70
235
|
{
|
71
236
|
"inputs": [
|
72
237
|
{
|
73
238
|
"internalType": "address",
|
74
|
-
"name": "
|
239
|
+
"name": "instance",
|
75
240
|
"type": "address"
|
76
241
|
},
|
242
|
+
{
|
243
|
+
"internalType": "ObjectType",
|
244
|
+
"name": "objectType",
|
245
|
+
"type": "uint8"
|
246
|
+
}
|
247
|
+
],
|
248
|
+
"name": "ErrorInstanceServiceNotInstance",
|
249
|
+
"type": "error"
|
250
|
+
},
|
251
|
+
{
|
252
|
+
"inputs": [
|
77
253
|
{
|
78
254
|
"internalType": "NftId",
|
79
|
-
"name": "
|
255
|
+
"name": "nftId",
|
80
256
|
"type": "uint96"
|
81
257
|
}
|
82
258
|
],
|
83
|
-
"name": "
|
259
|
+
"name": "ErrorInstanceServiceNotInstanceNftId",
|
84
260
|
"type": "error"
|
85
261
|
},
|
86
262
|
{
|
87
263
|
"inputs": [
|
88
264
|
{
|
89
265
|
"internalType": "address",
|
90
|
-
"name": "
|
266
|
+
"name": "instance",
|
91
267
|
"type": "address"
|
92
268
|
}
|
93
269
|
],
|
94
|
-
"name": "
|
270
|
+
"name": "ErrorInstanceServiceNotRegistered",
|
95
271
|
"type": "error"
|
96
272
|
},
|
97
273
|
{
|
98
274
|
"inputs": [
|
99
275
|
{
|
100
276
|
"internalType": "address",
|
101
|
-
"name": "
|
277
|
+
"name": "caller",
|
102
278
|
"type": "address"
|
103
279
|
}
|
104
280
|
],
|
105
|
-
"name": "
|
281
|
+
"name": "ErrorInstanceServiceRequestUnauhorized",
|
282
|
+
"type": "error"
|
283
|
+
},
|
284
|
+
{
|
285
|
+
"inputs": [],
|
286
|
+
"name": "ErrorInstanceServiceRiskSetAuthorityMismatch",
|
287
|
+
"type": "error"
|
288
|
+
},
|
289
|
+
{
|
290
|
+
"inputs": [],
|
291
|
+
"name": "ErrorInstanceServiceRiskSetInstanceMismatch",
|
292
|
+
"type": "error"
|
293
|
+
},
|
294
|
+
{
|
295
|
+
"inputs": [],
|
296
|
+
"name": "ErrorInstanceServiceRiskSetZero",
|
106
297
|
"type": "error"
|
107
298
|
},
|
108
299
|
{
|
109
300
|
"inputs": [
|
110
301
|
{
|
111
|
-
"internalType": "
|
112
|
-
"name": "
|
113
|
-
"type": "
|
302
|
+
"internalType": "NftId",
|
303
|
+
"name": "nftId",
|
304
|
+
"type": "uint96"
|
114
305
|
}
|
115
306
|
],
|
116
|
-
"name": "
|
307
|
+
"name": "ErrorNftOwnableAlreadyLinked",
|
117
308
|
"type": "error"
|
118
309
|
},
|
119
310
|
{
|
120
311
|
"inputs": [
|
121
312
|
{
|
122
313
|
"internalType": "address",
|
123
|
-
"name": "
|
314
|
+
"name": "contractAddress",
|
124
315
|
"type": "address"
|
125
316
|
}
|
126
317
|
],
|
127
|
-
"name": "
|
318
|
+
"name": "ErrorNftOwnableContractNotRegistered",
|
128
319
|
"type": "error"
|
129
320
|
},
|
130
321
|
{
|
131
322
|
"inputs": [],
|
132
|
-
"name": "
|
323
|
+
"name": "ErrorNftOwnableInitialOwnerZero",
|
324
|
+
"type": "error"
|
325
|
+
},
|
326
|
+
{
|
327
|
+
"inputs": [
|
328
|
+
{
|
329
|
+
"internalType": "NftId",
|
330
|
+
"name": "nftId",
|
331
|
+
"type": "uint96"
|
332
|
+
},
|
333
|
+
{
|
334
|
+
"internalType": "ObjectType",
|
335
|
+
"name": "expectedObjectType",
|
336
|
+
"type": "uint8"
|
337
|
+
}
|
338
|
+
],
|
339
|
+
"name": "ErrorNftOwnableInvalidType",
|
340
|
+
"type": "error"
|
341
|
+
},
|
342
|
+
{
|
343
|
+
"inputs": [
|
344
|
+
{
|
345
|
+
"internalType": "address",
|
346
|
+
"name": "account",
|
347
|
+
"type": "address"
|
348
|
+
}
|
349
|
+
],
|
350
|
+
"name": "ErrorNftOwnableNotOwner",
|
133
351
|
"type": "error"
|
134
352
|
},
|
135
353
|
{
|
136
354
|
"inputs": [
|
137
355
|
{
|
138
356
|
"internalType": "address",
|
139
|
-
"name": "
|
357
|
+
"name": "registryAddress",
|
140
358
|
"type": "address"
|
141
359
|
}
|
142
360
|
],
|
143
|
-
"name": "
|
361
|
+
"name": "ErrorNotRegistry",
|
144
362
|
"type": "error"
|
145
363
|
},
|
146
364
|
{
|
147
365
|
"inputs": [],
|
148
|
-
"name": "
|
366
|
+
"name": "ErrorRegisterableNotActive",
|
149
367
|
"type": "error"
|
150
368
|
},
|
151
369
|
{
|
@@ -158,17 +376,22 @@
|
|
158
376
|
"name": "NotInitializing",
|
159
377
|
"type": "error"
|
160
378
|
},
|
379
|
+
{
|
380
|
+
"inputs": [],
|
381
|
+
"name": "ReentrancyGuardReentrantCall",
|
382
|
+
"type": "error"
|
383
|
+
},
|
161
384
|
{
|
162
385
|
"anonymous": false,
|
163
386
|
"inputs": [
|
164
387
|
{
|
165
388
|
"indexed": false,
|
166
|
-
"internalType": "
|
167
|
-
"name": "
|
168
|
-
"type": "
|
389
|
+
"internalType": "address",
|
390
|
+
"name": "authority",
|
391
|
+
"type": "address"
|
169
392
|
}
|
170
393
|
],
|
171
|
-
"name": "
|
394
|
+
"name": "AuthorityUpdated",
|
172
395
|
"type": "event"
|
173
396
|
},
|
174
397
|
{
|
@@ -176,30 +399,12 @@
|
|
176
399
|
"inputs": [
|
177
400
|
{
|
178
401
|
"indexed": false,
|
179
|
-
"internalType": "
|
180
|
-
"name": "
|
181
|
-
"type": "
|
182
|
-
},
|
183
|
-
{
|
184
|
-
"indexed": false,
|
185
|
-
"internalType": "address",
|
186
|
-
"name": "clonedInstanceAddress",
|
187
|
-
"type": "address"
|
188
|
-
},
|
189
|
-
{
|
190
|
-
"indexed": false,
|
191
|
-
"internalType": "address",
|
192
|
-
"name": "clonedInstanceReaderAddress",
|
193
|
-
"type": "address"
|
194
|
-
},
|
195
|
-
{
|
196
|
-
"indexed": false,
|
197
|
-
"internalType": "NftId",
|
198
|
-
"name": "clonedInstanceNftId",
|
199
|
-
"type": "uint96"
|
402
|
+
"internalType": "uint64",
|
403
|
+
"name": "version",
|
404
|
+
"type": "uint64"
|
200
405
|
}
|
201
406
|
],
|
202
|
-
"name": "
|
407
|
+
"name": "Initialized",
|
203
408
|
"type": "event"
|
204
409
|
},
|
205
410
|
{
|
@@ -207,24 +412,18 @@
|
|
207
412
|
"inputs": [
|
208
413
|
{
|
209
414
|
"indexed": false,
|
210
|
-
"internalType": "
|
211
|
-
"name": "
|
212
|
-
"type": "
|
213
|
-
},
|
214
|
-
{
|
215
|
-
"indexed": false,
|
216
|
-
"internalType": "address",
|
217
|
-
"name": "implementation",
|
218
|
-
"type": "address"
|
415
|
+
"internalType": "NftId",
|
416
|
+
"name": "instanceNftId",
|
417
|
+
"type": "uint96"
|
219
418
|
},
|
220
419
|
{
|
221
420
|
"indexed": false,
|
222
421
|
"internalType": "address",
|
223
|
-
"name": "
|
422
|
+
"name": "instance",
|
224
423
|
"type": "address"
|
225
424
|
}
|
226
425
|
],
|
227
|
-
"name": "
|
426
|
+
"name": "LogInstanceCloned",
|
228
427
|
"type": "event"
|
229
428
|
},
|
230
429
|
{
|
@@ -242,7 +441,7 @@
|
|
242
441
|
},
|
243
442
|
{
|
244
443
|
"inputs": [],
|
245
|
-
"name": "
|
444
|
+
"name": "NFT_OWNABLE_STORAGE_LOCATION_V1",
|
246
445
|
"outputs": [
|
247
446
|
{
|
248
447
|
"internalType": "bytes32",
|
@@ -254,56 +453,50 @@
|
|
254
453
|
"type": "function"
|
255
454
|
},
|
256
455
|
{
|
257
|
-
"inputs": [
|
258
|
-
|
259
|
-
|
260
|
-
"name": "instanceNftId",
|
261
|
-
"type": "uint96"
|
262
|
-
},
|
263
|
-
{
|
264
|
-
"internalType": "address",
|
265
|
-
"name": "targetAddress",
|
266
|
-
"type": "address"
|
267
|
-
},
|
456
|
+
"inputs": [],
|
457
|
+
"name": "REGISTERABLE_LOCATION_V1",
|
458
|
+
"outputs": [
|
268
459
|
{
|
269
|
-
"internalType": "
|
270
|
-
"name": "
|
271
|
-
"type": "
|
460
|
+
"internalType": "bytes32",
|
461
|
+
"name": "",
|
462
|
+
"type": "bytes32"
|
272
463
|
}
|
273
464
|
],
|
274
|
-
"
|
275
|
-
"outputs": [],
|
276
|
-
"stateMutability": "nonpayable",
|
465
|
+
"stateMutability": "view",
|
277
466
|
"type": "function"
|
278
467
|
},
|
279
468
|
{
|
280
469
|
"inputs": [],
|
281
|
-
"name": "
|
470
|
+
"name": "authority",
|
282
471
|
"outputs": [
|
283
472
|
{
|
284
|
-
"internalType": "
|
285
|
-
"name": "
|
473
|
+
"internalType": "address",
|
474
|
+
"name": "",
|
286
475
|
"type": "address"
|
287
|
-
}
|
476
|
+
}
|
477
|
+
],
|
478
|
+
"stateMutability": "view",
|
479
|
+
"type": "function"
|
480
|
+
},
|
481
|
+
{
|
482
|
+
"inputs": [
|
483
|
+
{
|
484
|
+
"internalType": "bool",
|
485
|
+
"name": "allowAnyToken",
|
486
|
+
"type": "bool"
|
487
|
+
}
|
488
|
+
],
|
489
|
+
"name": "createInstance",
|
490
|
+
"outputs": [
|
288
491
|
{
|
289
|
-
"internalType": "contract
|
290
|
-
"name": "
|
492
|
+
"internalType": "contract IInstance",
|
493
|
+
"name": "instance",
|
291
494
|
"type": "address"
|
292
495
|
},
|
293
496
|
{
|
294
497
|
"internalType": "NftId",
|
295
|
-
"name": "
|
498
|
+
"name": "instanceNftId",
|
296
499
|
"type": "uint96"
|
297
|
-
},
|
298
|
-
{
|
299
|
-
"internalType": "contract InstanceReader",
|
300
|
-
"name": "clonedInstanceReader",
|
301
|
-
"type": "address"
|
302
|
-
},
|
303
|
-
{
|
304
|
-
"internalType": "contract BundleManager",
|
305
|
-
"name": "clonedBundleManager",
|
306
|
-
"type": "address"
|
307
500
|
}
|
308
501
|
],
|
309
502
|
"stateMutability": "nonpayable",
|
@@ -315,7 +508,7 @@
|
|
315
508
|
"outputs": [
|
316
509
|
{
|
317
510
|
"internalType": "ObjectType",
|
318
|
-
"name": "",
|
511
|
+
"name": "serviceDomain",
|
319
512
|
"type": "uint8"
|
320
513
|
}
|
321
514
|
],
|
@@ -362,89 +555,11 @@
|
|
362
555
|
"internalType": "bytes",
|
363
556
|
"name": "data",
|
364
557
|
"type": "bytes"
|
365
|
-
}
|
366
|
-
],
|
367
|
-
"internalType": "struct IRegistry.ObjectInfo",
|
368
|
-
"name": "info",
|
369
|
-
"type": "tuple"
|
370
|
-
}
|
371
|
-
],
|
372
|
-
"stateMutability": "view",
|
373
|
-
"type": "function"
|
374
|
-
},
|
375
|
-
{
|
376
|
-
"inputs": [],
|
377
|
-
"name": "getInitialOwner",
|
378
|
-
"outputs": [
|
379
|
-
{
|
380
|
-
"internalType": "address",
|
381
|
-
"name": "",
|
382
|
-
"type": "address"
|
383
|
-
}
|
384
|
-
],
|
385
|
-
"stateMutability": "view",
|
386
|
-
"type": "function"
|
387
|
-
},
|
388
|
-
{
|
389
|
-
"inputs": [],
|
390
|
-
"name": "getInitializedVersion",
|
391
|
-
"outputs": [
|
392
|
-
{
|
393
|
-
"internalType": "uint64",
|
394
|
-
"name": "",
|
395
|
-
"type": "uint64"
|
396
|
-
}
|
397
|
-
],
|
398
|
-
"stateMutability": "view",
|
399
|
-
"type": "function"
|
400
|
-
},
|
401
|
-
{
|
402
|
-
"inputs": [],
|
403
|
-
"name": "getMajorVersion",
|
404
|
-
"outputs": [
|
405
|
-
{
|
406
|
-
"internalType": "VersionPart",
|
407
|
-
"name": "majorVersion",
|
408
|
-
"type": "uint8"
|
409
|
-
}
|
410
|
-
],
|
411
|
-
"stateMutability": "view",
|
412
|
-
"type": "function"
|
413
|
-
},
|
414
|
-
{
|
415
|
-
"inputs": [],
|
416
|
-
"name": "getMasterInstance",
|
417
|
-
"outputs": [
|
418
|
-
{
|
419
|
-
"internalType": "address",
|
420
|
-
"name": "",
|
421
|
-
"type": "address"
|
422
|
-
}
|
423
|
-
],
|
424
|
-
"stateMutability": "view",
|
425
|
-
"type": "function"
|
426
|
-
},
|
427
|
-
{
|
428
|
-
"inputs": [],
|
429
|
-
"name": "getMasterInstanceAccessManager",
|
430
|
-
"outputs": [
|
431
|
-
{
|
432
|
-
"internalType": "address",
|
433
|
-
"name": "",
|
434
|
-
"type": "address"
|
435
|
-
}
|
436
|
-
],
|
437
|
-
"stateMutability": "view",
|
438
|
-
"type": "function"
|
439
|
-
},
|
440
|
-
{
|
441
|
-
"inputs": [],
|
442
|
-
"name": "getMasterInstanceBundleManager",
|
443
|
-
"outputs": [
|
444
|
-
{
|
445
|
-
"internalType": "address",
|
446
|
-
"name": "",
|
447
|
-
"type": "address"
|
558
|
+
}
|
559
|
+
],
|
560
|
+
"internalType": "struct IRegistry.ObjectInfo",
|
561
|
+
"name": "info",
|
562
|
+
"type": "tuple"
|
448
563
|
}
|
449
564
|
],
|
450
565
|
"stateMutability": "view",
|
@@ -504,31 +619,25 @@
|
|
504
619
|
},
|
505
620
|
{
|
506
621
|
"inputs": [],
|
507
|
-
"name": "
|
622
|
+
"name": "getRelease",
|
508
623
|
"outputs": [
|
509
624
|
{
|
510
|
-
"internalType": "
|
511
|
-
"name": "",
|
512
|
-
"type": "
|
625
|
+
"internalType": "VersionPart",
|
626
|
+
"name": "release",
|
627
|
+
"type": "uint8"
|
513
628
|
}
|
514
629
|
],
|
515
|
-
"stateMutability": "
|
630
|
+
"stateMutability": "view",
|
516
631
|
"type": "function"
|
517
632
|
},
|
518
633
|
{
|
519
|
-
"inputs": [
|
520
|
-
|
521
|
-
"internalType": "uint256",
|
522
|
-
"name": "idx",
|
523
|
-
"type": "uint256"
|
524
|
-
}
|
525
|
-
],
|
526
|
-
"name": "getVersion",
|
634
|
+
"inputs": [],
|
635
|
+
"name": "getRoleId",
|
527
636
|
"outputs": [
|
528
637
|
{
|
529
|
-
"internalType": "
|
530
|
-
"name": "",
|
531
|
-
"type": "
|
638
|
+
"internalType": "RoleId",
|
639
|
+
"name": "serviceRoleId",
|
640
|
+
"type": "uint64"
|
532
641
|
}
|
533
642
|
],
|
534
643
|
"stateMutability": "view",
|
@@ -536,206 +645,133 @@
|
|
536
645
|
},
|
537
646
|
{
|
538
647
|
"inputs": [],
|
539
|
-
"name": "
|
648
|
+
"name": "getVersion",
|
540
649
|
"outputs": [
|
541
650
|
{
|
542
|
-
"internalType": "
|
651
|
+
"internalType": "Version",
|
543
652
|
"name": "",
|
544
|
-
"type": "
|
653
|
+
"type": "uint24"
|
545
654
|
}
|
546
655
|
],
|
547
|
-
"stateMutability": "
|
656
|
+
"stateMutability": "pure",
|
548
657
|
"type": "function"
|
549
658
|
},
|
550
659
|
{
|
551
660
|
"inputs": [
|
552
661
|
{
|
553
|
-
"internalType": "
|
554
|
-
"name": "
|
555
|
-
"type": "
|
662
|
+
"internalType": "address",
|
663
|
+
"name": "activatedBy",
|
664
|
+
"type": "address"
|
665
|
+
},
|
666
|
+
{
|
667
|
+
"internalType": "bytes",
|
668
|
+
"name": "data",
|
669
|
+
"type": "bytes"
|
556
670
|
}
|
557
671
|
],
|
558
|
-
"name": "
|
672
|
+
"name": "initializeVersionable",
|
673
|
+
"outputs": [],
|
674
|
+
"stateMutability": "nonpayable",
|
675
|
+
"type": "function"
|
676
|
+
},
|
677
|
+
{
|
678
|
+
"inputs": [],
|
679
|
+
"name": "isActive",
|
559
680
|
"outputs": [
|
560
681
|
{
|
561
|
-
"
|
562
|
-
|
563
|
-
|
564
|
-
"name": "version",
|
565
|
-
"type": "uint24"
|
566
|
-
},
|
567
|
-
{
|
568
|
-
"internalType": "address",
|
569
|
-
"name": "implementation",
|
570
|
-
"type": "address"
|
571
|
-
},
|
572
|
-
{
|
573
|
-
"internalType": "address",
|
574
|
-
"name": "activatedBy",
|
575
|
-
"type": "address"
|
576
|
-
},
|
577
|
-
{
|
578
|
-
"internalType": "Timestamp",
|
579
|
-
"name": "activatedAt",
|
580
|
-
"type": "uint40"
|
581
|
-
},
|
582
|
-
{
|
583
|
-
"internalType": "Blocknumber",
|
584
|
-
"name": "activatedIn",
|
585
|
-
"type": "uint32"
|
586
|
-
}
|
587
|
-
],
|
588
|
-
"internalType": "struct IVersionable.VersionInfo",
|
589
|
-
"name": "",
|
590
|
-
"type": "tuple"
|
682
|
+
"internalType": "bool",
|
683
|
+
"name": "active",
|
684
|
+
"type": "bool"
|
591
685
|
}
|
592
686
|
],
|
593
687
|
"stateMutability": "view",
|
594
688
|
"type": "function"
|
595
689
|
},
|
596
690
|
{
|
597
|
-
"inputs": [
|
598
|
-
|
599
|
-
|
600
|
-
"name": "instanceNftId",
|
601
|
-
"type": "uint96"
|
602
|
-
},
|
603
|
-
{
|
604
|
-
"internalType": "address",
|
605
|
-
"name": "distributionAddress",
|
606
|
-
"type": "address"
|
607
|
-
},
|
691
|
+
"inputs": [],
|
692
|
+
"name": "isConsumingScheduledOp",
|
693
|
+
"outputs": [
|
608
694
|
{
|
609
|
-
"internalType": "
|
610
|
-
"name": "
|
611
|
-
"type": "
|
695
|
+
"internalType": "bytes4",
|
696
|
+
"name": "",
|
697
|
+
"type": "bytes4"
|
612
698
|
}
|
613
699
|
],
|
614
|
-
"
|
615
|
-
"outputs": [],
|
616
|
-
"stateMutability": "nonpayable",
|
700
|
+
"stateMutability": "view",
|
617
701
|
"type": "function"
|
618
702
|
},
|
619
703
|
{
|
620
|
-
"inputs": [
|
704
|
+
"inputs": [],
|
705
|
+
"name": "linkToRegisteredNftId",
|
706
|
+
"outputs": [
|
621
707
|
{
|
622
708
|
"internalType": "NftId",
|
623
|
-
"name": "
|
709
|
+
"name": "nftId",
|
624
710
|
"type": "uint96"
|
625
|
-
},
|
626
|
-
{
|
627
|
-
"internalType": "address",
|
628
|
-
"name": "poolAddress",
|
629
|
-
"type": "address"
|
630
|
-
},
|
631
|
-
{
|
632
|
-
"internalType": "string",
|
633
|
-
"name": "poolName",
|
634
|
-
"type": "string"
|
635
711
|
}
|
636
712
|
],
|
637
|
-
"name": "grantPoolDefaultPermissions",
|
638
|
-
"outputs": [],
|
639
713
|
"stateMutability": "nonpayable",
|
640
714
|
"type": "function"
|
641
715
|
},
|
642
716
|
{
|
643
717
|
"inputs": [
|
644
|
-
{
|
645
|
-
"internalType": "NftId",
|
646
|
-
"name": "instanceNftId",
|
647
|
-
"type": "uint96"
|
648
|
-
},
|
649
718
|
{
|
650
719
|
"internalType": "address",
|
651
|
-
"name": "
|
720
|
+
"name": "rewardProvider",
|
652
721
|
"type": "address"
|
653
722
|
},
|
654
723
|
{
|
655
|
-
"internalType": "
|
656
|
-
"name": "
|
657
|
-
"type": "
|
724
|
+
"internalType": "Amount",
|
725
|
+
"name": "dipAmount",
|
726
|
+
"type": "uint96"
|
658
727
|
}
|
659
728
|
],
|
660
|
-
"name": "
|
729
|
+
"name": "refillStakingRewardReserves",
|
661
730
|
"outputs": [],
|
662
731
|
"stateMutability": "nonpayable",
|
663
732
|
"type": "function"
|
664
733
|
},
|
665
734
|
{
|
666
735
|
"inputs": [
|
667
|
-
{
|
668
|
-
"internalType": "address",
|
669
|
-
"name": "account",
|
670
|
-
"type": "address"
|
671
|
-
},
|
672
|
-
{
|
673
|
-
"internalType": "RoleId",
|
674
|
-
"name": "role",
|
675
|
-
"type": "uint64"
|
676
|
-
},
|
677
736
|
{
|
678
737
|
"internalType": "address",
|
679
738
|
"name": "instanceAddress",
|
680
739
|
"type": "address"
|
681
740
|
}
|
682
741
|
],
|
683
|
-
"name": "
|
742
|
+
"name": "setAndRegisterMasterInstance",
|
684
743
|
"outputs": [
|
685
744
|
{
|
686
|
-
"internalType": "
|
687
|
-
"name": "",
|
688
|
-
"type": "
|
745
|
+
"internalType": "NftId",
|
746
|
+
"name": "masterInstanceNftId",
|
747
|
+
"type": "uint96"
|
689
748
|
}
|
690
749
|
],
|
691
|
-
"stateMutability": "
|
750
|
+
"stateMutability": "nonpayable",
|
692
751
|
"type": "function"
|
693
752
|
},
|
694
753
|
{
|
695
754
|
"inputs": [
|
696
755
|
{
|
697
756
|
"internalType": "address",
|
698
|
-
"name": "
|
757
|
+
"name": "newAuthority",
|
699
758
|
"type": "address"
|
700
|
-
},
|
701
|
-
{
|
702
|
-
"internalType": "address",
|
703
|
-
"name": "activatedBy",
|
704
|
-
"type": "address"
|
705
|
-
},
|
706
|
-
{
|
707
|
-
"internalType": "bytes",
|
708
|
-
"name": "data",
|
709
|
-
"type": "bytes"
|
710
759
|
}
|
711
760
|
],
|
712
|
-
"name": "
|
761
|
+
"name": "setAuthority",
|
713
762
|
"outputs": [],
|
714
763
|
"stateMutability": "nonpayable",
|
715
764
|
"type": "function"
|
716
765
|
},
|
717
766
|
{
|
718
767
|
"inputs": [
|
719
|
-
{
|
720
|
-
"internalType": "Version",
|
721
|
-
"name": "_version",
|
722
|
-
"type": "uint24"
|
723
|
-
}
|
724
|
-
],
|
725
|
-
"name": "isInitialized",
|
726
|
-
"outputs": [
|
727
768
|
{
|
728
769
|
"internalType": "bool",
|
729
|
-
"name": "",
|
770
|
+
"name": "locked",
|
730
771
|
"type": "bool"
|
731
772
|
}
|
732
773
|
],
|
733
|
-
"
|
734
|
-
"type": "function"
|
735
|
-
},
|
736
|
-
{
|
737
|
-
"inputs": [],
|
738
|
-
"name": "linkToRegisteredNftId",
|
774
|
+
"name": "setInstanceLocked",
|
739
775
|
"outputs": [],
|
740
776
|
"stateMutability": "nonpayable",
|
741
777
|
"type": "function"
|
@@ -743,31 +779,38 @@
|
|
743
779
|
{
|
744
780
|
"inputs": [
|
745
781
|
{
|
746
|
-
"internalType": "
|
747
|
-
"name": "
|
748
|
-
"type": "
|
782
|
+
"internalType": "Seconds",
|
783
|
+
"name": "stakeLockingPeriod",
|
784
|
+
"type": "uint40"
|
749
785
|
}
|
750
786
|
],
|
751
|
-
"name": "
|
752
|
-
"outputs": [
|
787
|
+
"name": "setStakingLockingPeriod",
|
788
|
+
"outputs": [],
|
789
|
+
"stateMutability": "nonpayable",
|
790
|
+
"type": "function"
|
791
|
+
},
|
792
|
+
{
|
793
|
+
"inputs": [
|
753
794
|
{
|
754
|
-
"internalType": "
|
755
|
-
"name": "
|
795
|
+
"internalType": "Amount",
|
796
|
+
"name": "maxStakedAmount",
|
756
797
|
"type": "uint96"
|
757
798
|
}
|
758
799
|
],
|
800
|
+
"name": "setStakingMaxAmount",
|
801
|
+
"outputs": [],
|
759
802
|
"stateMutability": "nonpayable",
|
760
803
|
"type": "function"
|
761
804
|
},
|
762
805
|
{
|
763
806
|
"inputs": [
|
764
807
|
{
|
765
|
-
"internalType": "
|
766
|
-
"name": "
|
767
|
-
"type": "
|
808
|
+
"internalType": "UFixed",
|
809
|
+
"name": "rewardRate",
|
810
|
+
"type": "uint160"
|
768
811
|
}
|
769
812
|
],
|
770
|
-
"name": "
|
813
|
+
"name": "setStakingRewardRate",
|
771
814
|
"outputs": [],
|
772
815
|
"stateMutability": "nonpayable",
|
773
816
|
"type": "function"
|
@@ -775,9 +818,9 @@
|
|
775
818
|
{
|
776
819
|
"inputs": [
|
777
820
|
{
|
778
|
-
"internalType": "
|
779
|
-
"name": "
|
780
|
-
"type": "
|
821
|
+
"internalType": "address",
|
822
|
+
"name": "target",
|
823
|
+
"type": "address"
|
781
824
|
},
|
782
825
|
{
|
783
826
|
"internalType": "bool",
|
@@ -809,25 +852,35 @@
|
|
809
852
|
"stateMutability": "view",
|
810
853
|
"type": "function"
|
811
854
|
},
|
855
|
+
{
|
856
|
+
"inputs": [],
|
857
|
+
"name": "upgradeInstanceReader",
|
858
|
+
"outputs": [],
|
859
|
+
"stateMutability": "nonpayable",
|
860
|
+
"type": "function"
|
861
|
+
},
|
812
862
|
{
|
813
863
|
"inputs": [
|
814
864
|
{
|
815
865
|
"internalType": "address",
|
816
|
-
"name": "
|
817
|
-
"type": "address"
|
818
|
-
},
|
819
|
-
{
|
820
|
-
"internalType": "address",
|
821
|
-
"name": "activatedBy",
|
866
|
+
"name": "instanceReaderAddress",
|
822
867
|
"type": "address"
|
823
|
-
}
|
868
|
+
}
|
869
|
+
],
|
870
|
+
"name": "upgradeMasterInstanceReader",
|
871
|
+
"outputs": [],
|
872
|
+
"stateMutability": "nonpayable",
|
873
|
+
"type": "function"
|
874
|
+
},
|
875
|
+
{
|
876
|
+
"inputs": [
|
824
877
|
{
|
825
878
|
"internalType": "bytes",
|
826
879
|
"name": "data",
|
827
880
|
"type": "bytes"
|
828
881
|
}
|
829
882
|
],
|
830
|
-
"name": "
|
883
|
+
"name": "upgradeVersionable",
|
831
884
|
"outputs": [],
|
832
885
|
"stateMutability": "nonpayable",
|
833
886
|
"type": "function"
|
@@ -835,203 +888,165 @@
|
|
835
888
|
{
|
836
889
|
"inputs": [
|
837
890
|
{
|
838
|
-
"internalType": "
|
839
|
-
"name": "
|
891
|
+
"internalType": "Amount",
|
892
|
+
"name": "dipAmount",
|
893
|
+
"type": "uint96"
|
894
|
+
}
|
895
|
+
],
|
896
|
+
"name": "withdrawStakingRewardReserves",
|
897
|
+
"outputs": [
|
898
|
+
{
|
899
|
+
"internalType": "Amount",
|
900
|
+
"name": "newBalance",
|
840
901
|
"type": "uint96"
|
841
902
|
}
|
842
903
|
],
|
843
|
-
"name": "upgradeInstanceReader",
|
844
|
-
"outputs": [],
|
845
904
|
"stateMutability": "nonpayable",
|
846
905
|
"type": "function"
|
847
906
|
}
|
848
907
|
],
|
849
|
-
"bytecode": "0x60806040523480156200001157600080fd5b50620000546301ffc9a760e01b60009081526020527f67be87c3ff9960ca1e9cfac5cab2ff4747269cf9ed20c9b7306235ac35a491c5805460ff19166001179055565b600280546001600160a01b031916331790556200007062000076565b6200012a565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000c75760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620001275780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b615cb4806200013a6000396000f3fe608060405234801561001057600080fd5b50600436106101fb5760003560e01c8063872309c71161011a578063c22f980d116100ad578063eb59c6b11161007c578063eb59c6b114610596578063edabac03146105a7578063eeff428e146105b8578063fb2cb10114610603578063feec11901461061457600080fd5b8063c22f980d14610557578063cde749f41461056a578063cf7a1d7714610572578063e338e27b1461058557600080fd5b8063b2bf3dc4116100e9578063b2bf3dc4146104fc578063b3c650151461050f578063b68d18091461052f578063b88da7591461054457600080fd5b8063872309c7146104b2578063893d20e8146104ba578063946dfcfe146104c2578063a745e3df146104e957600080fd5b806335241c06116101925780635ab1bd53116101615780635ab1bd531461044f57806363709eaf14610460578063644c45e0146104735780636a778e731461049f57600080fd5b806335241c06146102fd578063435bbacc146103105780634d459c90146103235780634f4213331461043c57600080fd5b8063138461e0116101ce578063138461e0146102865780631eff4b22146102905780632ad73641146102c55780632b440bc9146102d857600080fd5b806301ffc9a7146102005780630d8e6e2c146102425780630fec111c1461025e578063103bd5da14610273575b600080fd5b61022d61020e3660046151e3565b6001600160e01b03191660009081526020819052604090205460ff1690565b60405190151581526020015b60405180910390f35b61024a610627565b60405162ffffff9091168152602001610239565b6102666106b1565b6040516102399190615264565b61022d610281366004615319565b61086a565b61028e610950565b005b6102b77f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30081565b604051908152602001610239565b61028e6102d336600461546c565b610b72565b6003546001600160a01b03165b6040516001600160a01b039091168152602001610239565b61028e61030b36600461546c565b610eb8565b61028e61031e36600461546c565b6110ca565b6103df6103313660046154de565b6040805160a081018252600080825260208201819052918101829052606081018290526080810191909152600080516020615c5f83398151915262ffffff92831660009081526020918252604090819020815160a0810183528154958616815263010000009095046001600160a01b03908116938601939093526001015491821690840152600160a01b810464ffffffffff166060840152600160c81b900463ffffffff1660808301525090565b60408051825162ffffff1681526020808401516001600160a01b039081169183019190915283830151169181019190915260608083015164ffffffffff169082015260809182015163ffffffff169181019190915260a001610239565b61022d61044a3660046154de565b6114a4565b6001546001600160a01b03166102e5565b61028e61046e366004615509565b611557565b600154600160a01b90046001600160601b03165b6040516001600160601b039091168152602001610239565b6104876104ad36600461555a565b6117a9565b6102b7600081565b6102e5611fe4565b7f4f61291a8ac3d020d0a7d919a76b8592aa88385744dee3f8b4f3873b969ed901546102b7565b61028e6104f7366004615577565b6120fd565b61028e61050a36600461546c565b612257565b61051761260b565b6040516001600160401b039091168152602001610239565b60465b60405160ff9091168152602001610239565b61024a6105523660046155e2565b61262c565b61028e6105653660046155fb565b61267d565b61053261288b565b61028e610580366004615577565b61290e565b6004546001600160a01b03166102e5565b6006546001600160a01b03166102e5565b6005546001600160a01b03166102e5565b6105c0612a17565b604080516001600160a01b03968716815294861660208601526001600160601b03909316928401929092528316606083015291909116608082015260a001610239565b6002546001600160a01b03166102e5565b61028e61062236600461555a565b612fe1565b604051632efe011360e01b815260036004820152600060248201819052604482018190529073__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__90632efe011390606401602060405180830381865af4158015610688573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106ac9190615618565b905090565b6040805160e08101825260008082526020820181905291810182905260608082018390526080820183905260a0820183905260c0820152907f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa3006040805160808101825282546001600160601b038116825260ff600160601b820481166020840152600160681b9091041615159181019190915260018201805491929160608401919061075c90615635565b80601f016020809104026020016040519081016040528092919081815260200182805461078890615635565b80156107d55780601f106107aa576101008083540402835291602001916107d5565b820191906000526020600020905b8154815290600101906020018083116107b857829003601f168201915b50505050508152505090506040518060e001604052806107f3600090565b6001600160601b0316815260200182600001516001600160601b03168152602001826020015160ff168152602001826040015115158152602001306001600160a01b0316815260200161084e6002546001600160a01b031690565b6001600160a01b03168152602001826060015181525091505090565b6000808290506000816001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108d4919061567a565b6040516368fc2b7760e11b81529091506001600160a01b0382169063d1f856ee906109059088908a90600401615697565b602060405180830381865afa158015610922573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061094691906156c4565b9695505050505050565b6001546040516330b8415f60e01b8152600160a01b9091046001600160601b0316600482015273__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af41580156109b2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109d691906156c4565b15610a1d576001546040516316322c0f60e31b81526001600160a01b0382166004820152600160a01b9091046001600160601b031660248201526044015b60405180910390fd5b6001546001600160a01b0316610a465760405163cf29926160e01b815260040160405180910390fd5b60015460405163c3c5a54760e01b81523060048201819052916001600160a01b03169063c3c5a54790602401602060405180830381865afa158015610a8f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ab391906156c4565b610adb576040516372657a5160e01b81526001600160a01b0382166004820152602401610a14565b600154604051636939560f60e11b81526001600160a01b0383811660048301529091169063d272ac1e90602401602060405180830381865afa158015610b25573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b4991906156ec565b600160146101000a8154816001600160601b0302191690836001600160601b0316021790555050565b33610b856001546001600160a01b031690565b604051632b91e0a960e01b81526001600160a01b0383811660048301529190911690632b91e0a990602401602060405180830381865afa158015610bcd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bf191906156c4565b610c19576040516302613e9f60e51b81526001600160a01b0382166004820152602401610a14565b6000610c2d6001546001600160a01b031690565b6040516308b09a5f60e41b81526001600160a01b038681166004830152919250600091831690638b09a5f090602401600060405180830381865afa158015610c79573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610ca19190810190615768565b9050610cbf8160400151610cb3606e90565b60ff9081169116141590565b15610d025784606e5b60408084015190516304dd29ef60e21b81526001600160a01b03909316600484015260ff9182166024840152166044820152606401610a14565b6040516305247a1760e51b81526001600160601b03871660048201526000906001600160a01b0384169063a48f42e090602401600060405180830381865afa158015610d52573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610d7a9190810190615768565b90506000816080015190506000816001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610dc5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610de9919061567a565b604080516001808252818301909252919250600091906020808301908036833701905050905063b6b412ba60e01b81600081518110610e2a57610e2a61583a565b6001600160e01b0319909216602092830291909101909101526001600160a01b0382166329db8c3d8983610e5c613261565b6040518463ffffffff1660e01b8152600401610e7a93929190615895565b600060405180830381600087803b158015610e9457600080fd5b505af1158015610ea8573d6000803e3d6000fd5b5050505050505050505050505050565b33610ecb6001546001600160a01b031690565b604051632b91e0a960e01b81526001600160a01b0383811660048301529190911690632b91e0a990602401602060405180830381865afa158015610f13573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f3791906156c4565b610f5f576040516302613e9f60e51b81526001600160a01b0382166004820152602401610a14565b6000610f736001546001600160a01b031690565b6040516305247a1760e51b81526001600160601b03871660048201529091506000906001600160a01b0383169063a48f42e090602401600060405180830381865afa158015610fc6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610fee9190810190615768565b90506000816080015190506000816001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611039573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061105d919061567a565b60405163044ec4c360e41b81529091506001600160a01b038216906344ec4c309061108e908a908a906004016158d4565b600060405180830381600087803b1580156110a857600080fd5b505af11580156110bc573d6000803e3d6000fd5b505050505050505050505050565b336110dd6001546001600160a01b031690565b604051632b91e0a960e01b81526001600160a01b0383811660048301529190911690632b91e0a990602401602060405180830381865afa158015611125573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061114991906156c4565b611171576040516302613e9f60e51b81526001600160a01b0382166004820152602401610a14565b60006111856001546001600160a01b031690565b6040516308b09a5f60e41b81526001600160a01b038681166004830152919250600091831690638b09a5f090602401600060405180830381865afa1580156111d1573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526111f99190810190615768565b905061120b8160400151610cb3608c90565b156112185784608c610cc8565b6040516305247a1760e51b81526001600160601b03871660048201526000906001600160a01b0384169063a48f42e090602401600060405180830381865afa158015611268573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526112909190810190615768565b90506000816080015190506000816001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112ff919061567a565b6040805160018082528183019092529192506000919060208083019080368337019050509050638267876660e01b816000815181106113405761134061583a565b6001600160e01b0319909216602092830291909101909101526001600160a01b0382166329db8c3d89836113726132da565b6040518463ffffffff1660e01b815260040161139093929190615895565b600060405180830381600087803b1580156113aa57600080fd5b505af11580156113be573d6000803e3d6000fd5b5060009250600191506113ce9050565b6040519080825280602002602001820160405280156113f7578160200160208202803683370190505b5090506365effc1a60e01b816000815181106114155761141561583a565b6001600160e01b0319909216602092830291909101909101526001600160a01b0383166329db8c3d8a83611447613316565b6040518463ffffffff1660e01b815260040161146593929190615895565b600060405180830381600087803b15801561147f57600080fd5b505af1158015611493573d6000803e3d6000fd5b505050505050505050505050505050565b600080600080516020615c5f83398151915262ffffff84166000908152602091909152604090819020600101549051631bbffab160e21b8152600160c81b90910463ffffffff16600482015273__$5f476116ae21c5294e0c0761c07efa7e1c$__90636effeac490602401602060405180830381865af415801561152c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061155091906158f8565b1192915050565b33600061156c6001546001600160a01b031690565b6040516308b09a5f60e41b81526001600160a01b038481166004830152919250600091831690638b09a5f090602401600060405180830381865afa1580156115b8573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526115e09190810190615768565b8051604051630a4d29dd60e31b81526001600160601b03909116600482015290915073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906352694ee890602401602060405180830381865af415801561163e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061166291906156c4565b1561168b5760405163aef351c360e01b81526001600160a01b0384166004820152602401610a14565b60208101516040516305247a1760e51b81526001600160601b0390911660048201526000906001600160a01b0384169063a48f42e090602401600060405180830381865afa1580156116e1573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526117099190810190615768565b60800151905060008190506000816001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611754573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611778919061567a565b604051634222cc2360e01b81529091506001600160a01b03821690634222cc239061108e908b908b90600401615911565b60006117b3611fe4565b6001600160a01b0316336001600160a01b0316146117e65760405163700dd81160e01b8152336004820152602401610a14565b6004546001600160a01b0316156118515760405162461bcd60e51b815260206004820152602960248201527f4552524f523a4352442d3030323a494e5354414e43455f4d41535445525f414c604482015268149150511657d4d15560ba1b6064820152608401610a14565b6003546001600160a01b0316156118c25760405162461bcd60e51b815260206004820152602f60248201527f4552524f523a4352442d3030313a4143434553535f4d414e414745525f4d415360448201526e15115497d053149150511657d4d155608a1b6064820152608401610a14565b6006546001600160a01b0316156119335760405162461bcd60e51b815260206004820152602f60248201527f4552524f523a4352442d3030343a42554e444c455f4d414e414745525f4d415360448201526e15115497d053149150511657d4d155608a1b6064820152608401610a14565b6001600160a01b0382166119895760405162461bcd60e51b815260206004820152601b60248201527f4552524f523a4352442d3030363a494e5354414e43455f5a45524f00000000006044820152606401610a14565b60008290506000816001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156119ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119f2919061567a565b905060008190506000836001600160a01b03166302cd30716040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a39573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a5d919061567a565b905060008190506000856001600160a01b03166361f5f4206040518163ffffffff1660e01b8152600401602060405180830381865afa158015611aa4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ac8919061567a565b9050806001600160a01b038516611b2b5760405162461bcd60e51b815260206004820152602160248201527f4552524f523a4352442d3030353a4143434553535f4d414e414745525f5a45526044820152604f60f81b6064820152608401610a14565b6001600160a01b038316611b8c5760405162461bcd60e51b815260206004820152602260248201527f4552524f523a4352442d3030373a494e5354414e43455f5245414445525f5a45604482015261524f60f01b6064820152608401610a14565b6001600160a01b038116611bec5760405162461bcd60e51b815260206004820152602160248201527f4552524f523a4352442d3030383a42554e444c455f4d414e414745525f5a45526044820152604f60f81b6064820152608401610a14565b846001600160a01b0316876001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611c34573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c58919061567a565b6001600160a01b031614611cc05760405162461bcd60e51b815260206004820152602960248201527f4552524f523a4352442d3030393a494e5354414e43455f415554484f524954596044820152680be9a92a69a82a886960bb1b6064820152608401610a14565b866001600160a01b0316846001600160a01b031663de7b5d146040518163ffffffff1660e01b8152600401602060405180830381865afa158015611d08573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d2c919061567a565b6001600160a01b031614611d9a5760405162461bcd60e51b815260206004820152602f60248201527f4552524f523a4352442d3031303a494e5354414e43455f5245414445525f494e60448201526e0a6a8829c868abe9a92a69a82a8869608b1b6064820152608401610a14565b866001600160a01b0316826001600160a01b031663de7b5d146040518163ffffffff1660e01b8152600401602060405180830381865afa158015611de2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e06919061567a565b6001600160a01b031614611e735760405162461bcd60e51b815260206004820152602e60248201527f4552524f523a4352442d3031313a42554e444c455f4d414e414745525f494e5360448201526d0a8829c868abe9a92a69a82a886960931b6064820152608401610a14565b600380546001600160a01b03199081166001600160a01b03888116919091179092556004805482168c8416179055600580548216868416179055600680549091168383161790556001546000911663d39e60436028611ed061288b565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865afa158015611f15573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f39919061567a565b6004549091506001600160a01b0390811690600090831663026bc43b83611f5e611fe4565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016000604051808303816000875af1158015611fab573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611fd39190810190615768565b519c9b505050505050505050505050565b6001546040516330b8415f60e01b8152600160a01b9091046001600160601b0316600482015260009073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af4158015612049573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061206d91906156c4565b156120ed57600154604051631c5da14d60e11b8152600160a01b82046001600160601b031660048201526001600160a01b03909116906338bb429a90602401602060405180830381865afa1580156120c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106ac919061567a565b506002546001600160a01b031690565b73__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__63a123b37c61211f610627565b6040516001600160e01b031960e084901b16815262ffffff9091166004820152602401602060405180830381865af415801561215f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121839190615935565b600080516020615c3f8339815191528054600160401b900460ff16806121b6575080546001600160401b03808416911610155b156121d45760405163f92ee8a960e01b815260040160405180910390fd5b805468ffffffffffffffffff19166001600160401b03831617600160401b1781556121ff8585613352565b612208836135f1565b805460ff60401b191681556040516001600160401b03831681527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2906020015b60405180910390a15050505050565b3361226a6001546001600160a01b031690565b604051632b91e0a960e01b81526001600160a01b0383811660048301529190911690632b91e0a990602401602060405180830381865afa1580156122b2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122d691906156c4565b6122fe576040516302613e9f60e51b81526001600160a01b0382166004820152602401610a14565b60006123126001546001600160a01b031690565b6040516308b09a5f60e41b81526001600160a01b038681166004830152919250600091831690638b09a5f090602401600060405180830381865afa15801561235e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526123869190810190615768565b90506123988160400151610cb3607890565b156123a557846078610cc8565b6040516305247a1760e51b81526001600160601b03871660048201526000906001600160a01b0384169063a48f42e090602401600060405180830381865afa1580156123f5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261241d9190810190615768565b90506000816080015190506000816001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612468573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061248c919061567a565b6040805160018082528183019092529192506000919060208083019080368337019050509050633f52c0f660e01b816000815181106124cd576124cd61583a565b6001600160e01b0319909216602092830291909101909101526001600160a01b0382166329db8c3d89836124ff6135f9565b6040518463ffffffff1660e01b815260040161251d93929190615895565b600060405180830381600087803b15801561253757600080fd5b505af115801561254b573d6000803e3d6000fd5b50600092506002915061255b9050565b604051908082528060200260200182016040528015612584578160200160208202803683370190505b509050634cf30a8460e01b816000815181106125a2576125a261583a565b6001600160e01b0319909216602092830291909101909101528051637c07103960e11b90829060019081106125d9576125d961583a565b6001600160e01b0319909216602092830291909101909101526001600160a01b0383166329db8c3d8a83611447613634565b60006106ac600080516020615c3f833981519152546001600160401b031690565b6000600080516020615c5f83398151915260010182815481106126515761265161583a565b90600052602060002090600a91828204019190066003029054906101000a900462ffffff169050919050565b60006126916001546001600160a01b031690565b6040516305247a1760e51b81526001600160601b03841660048201529091506000906001600160a01b0383169063a48f42e090602401600060405180830381865afa1580156126e4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261270c9190810190615768565b90506000816080015190506000816001600160a01b031663893d20e86040518163ffffffff1660e01b8152600401602060405180830381865afa158015612757573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061277b919061567a565b9050336001600160a01b038216146127a8576040516302613e9f60e51b8152336004820152602401610a14565b6005546000906127c0906001600160a01b0316613670565b60405163485cc95560e01b81526001600160a01b03878116600483015285811660248301529192509082169063485cc95590604401600060405180830381600087803b15801561280f57600080fd5b505af1158015612823573d6000803e3d6000fd5b5050604051633def10c760e21b81526001600160a01b0384811660048301528616925063f7bc431c91506024015b600060405180830381600087803b15801561286b57600080fd5b505af115801561287f573d6000803e3d6000fd5b50505050505050505050565b6000612895610627565b60405163c9e66e2960e01b815262ffffff909116600482015273__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__9063c9e66e2990602401602060405180830381865af41580156128ea573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106ac9190615952565b600080516020615c3f8339815191528054600160401b810460ff1615906001600160401b03166000811580156129415750825b90506000826001600160401b0316600114801561295d5750303b155b90508115801561296b575080155b156129895760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff1916600117855583156129b357845460ff60401b1916600160401b1785555b6129bd8888613352565b6129c787876136e2565b8315612a0d57845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050505050565b6000808080803381612a316001546001600160a01b031690565b604051636939560f60e11b81526001600160a01b03821660048201819052919250829160009163d272ac1e90602401602060405180830381865afa158015612a7d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612aa191906156ec565b905060006001600160a01b03841663d39e60436028612abe61288b565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865afa158015612b03573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b27919061567a565b6003549091508190612b41906001600160a01b0316613670565b60405163189acdbd60e31b8152306004820152909b506001600160a01b038c169063c4d66de890602401600060405180830381600087803b158015612b8557600080fd5b505af1158015612b99573d6000803e3d6000fd5b5050600454612bb392506001600160a01b03169050613670565b60405163976b0a7760e01b81526001600160a01b038d8116600483015286811660248301526001600160601b0386166044830152336064830152919b50908b169063976b0a7790608401600060405180830381600087803b158015612c1757600080fd5b505af1158015612c2b573d6000803e3d6000fd5b5050600554612c4592506001600160a01b03169050613670565b60405163485cc95560e01b81526001600160a01b0386811660048301528c811660248301529199509089169063485cc95590604401600060405180830381600087803b158015612c9457600080fd5b505af1158015612ca8573d6000803e3d6000fd5b5050604051633def10c760e21b81526001600160a01b038b811660048301528d16925063f7bc431c9150602401600060405180830381600087803b158015612cef57600080fd5b505af1158015612d03573d6000803e3d6000fd5b5050600654612d1d92506001600160a01b03169050613670565b60405163c0c53b8b60e01b81526001600160a01b038d8116600483015286811660248301528c811660448301529198509088169063c0c53b8b90606401600060405180830381600087803b158015612d7457600080fd5b505af1158015612d88573d6000803e3d6000fd5b505060405162422c9d60e81b81526001600160a01b038a811660048301528d16925063422c9d009150602401600060405180830381600087803b158015612dce57600080fd5b505af1158015612de2573d6000803e3d6000fd5b50505050612df18b8b8961380d565b8a6001600160a01b031663b428b0b0612e08613863565b886040518363ffffffff1660e01b8152600401612e26929190615697565b6020604051808303816000875af1158015612e45573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e6991906156c4565b508a6001600160a01b031663b7d2b162612e81613863565b306040518363ffffffff1660e01b8152600401612e9f929190615697565b6020604051808303816000875af1158015612ebe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ee291906156c4565b5060405163026bc43b60e01b81526001600160a01b038b8116600483015287811660248301526000919083169063026bc43b906044016000604051808303816000875af1158015612f37573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612f5f9190810190615768565b9050806000015199507f89f53d1fc9d655ac6863fb19d55f6cc8a7649a51ec36a0d13ec77d2bd2e970f38c8c8b8d604051612fcb94939291906001600160a01b0394851681529284166020840152921660408201526001600160601b0391909116606082015260800190565b60405180910390a1505050505050509091929394565b612fe9611fe4565b6001600160a01b0316336001600160a01b03161461301c5760405163700dd81160e01b8152336004820152602401610a14565b6005546001600160a01b03166130895760405162461bcd60e51b815260206004820152602c60248201527f4552524f523a4352442d3030333a494e5354414e43455f5245414445525f4d4160448201526b14d5115497d393d517d4d15560a21b6064820152608401610a14565b6001600160a01b0381166130ea5760405162461bcd60e51b815260206004820152602260248201527f4552524f523a4352442d3031323a494e5354414e43455f5245414445525f5a45604482015261524f60f01b6064820152608401610a14565b6005546001600160a01b03908116908216036131615760405162461bcd60e51b815260206004820152603060248201527f4552524f523a4352442d3031343a494e5354414e43455f5245414445525f4d4160448201526f535445525f53414d455f41535f4e455760801b6064820152608401610a14565b600480546040805163379ed74560e21b8152905184936001600160a01b039384169385169263de7b5d1492818301926020928290030181865afa1580156131ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131d0919061567a565b6001600160a01b03161461323e5760405162461bcd60e51b815260206004820152602f60248201527f4552524f523a4352442d3031353a494e5354414e43455f5245414445525f494e60448201526e0a6a8829c868abe9a92a69a82a8869608b1b6064820152608401610a14565b50600580546001600160a01b0319166001600160a01b0392909216919091179055565b6040516368aebf7b60e01b8152610190600482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b906024015b602060405180830381865af41580156132b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106ac9190615935565b6040516368aebf7b60e01b815261012c600482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b90602401613299565b6040516368aebf7b60e01b8152610960600482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b90602401613299565b61335a61389e565b600080516020615c5f833981519152600061338a600080516020615c3f833981519152546001600160401b031690565b90506000613396610627565b9050816001600160401b03166001036133c35760028301805462ffffff191662ffffff8316179055613411565b600283015462ffffff908116908216116134115760405162461bcd60e51b815260206004820152600f60248201526e24a72b20a624a2102b22a929a4a7a760891b6044820152606401610a14565b6001808401805491820181556000908152602090819020600a808404909101805462ffffff808716600394909606939093026101000a858102930219169190911790556040805160a0810182529283526001600160a01b038089168484015287168382015280516356db0c1960e11b81529051606084019273__$d53880c81dc91c20799140d711e5ab8718$__9263adb6183292600480830193928290030181865af41580156134c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134e9919061596f565b64ffffffffff1681526020014363ffffffff90811690915262ffffff8084166000908152602087815260409182902085518154928701516001600160a01b039081166301000000026001600160b81b0319909416919095161791909117815584820151600190910180546060870151608090970151909516600160c81b0263ffffffff60c81b1964ffffffffff909716600160a01b026001600160c81b031990961692909416919091179390931793909316179055517fad0a0fc10465a8dd9da3ad5f43e1a7fff4b4578551c76f0ae8deb844f0d0bf68906122489083908890889062ffffff9390931683526001600160a01b03918216602084015216604082015260600190565b6101fb61389e565b6040516368aebf7b60e01b81526064600482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b90602401613299565b6040516368aebf7b60e01b81526108fc600482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b90602401613299565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008260601b60e81c176000526e5af43d82803e903d91602b57fd5bf38260781b17602052603760096000f090506001600160a01b0381166136dd576040516330be1a3d60e21b815260040160405180910390fd5b919050565b600080516020615c3f8339815191528054600160401b810460ff1615906001600160401b03166000811580156137155750825b90506000826001600160401b031660011480156137315750303b155b90508115801561373f575080155b1561375d5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561378757845460ff60401b1916600160401b1785555b6000808780602001905181019061379e9190615996565b925090506137ac818a6138d7565b6137bc639db409fb60e01b613942565b5050831561380457845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050565b61381683613967565b613821838383613ebe565b61382b8383613fd4565b61383583836141e3565b61383f83836143d6565b6138498383614623565b613854838383614802565b61385e8383614b74565b505050565b6040516368aebf7b60e01b81526000600482018190529073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b90602401613299565b600080516020615c3f83398151915254600160401b900460ff166138d557604051631afcd79f60e31b815260040160405180910390fd5b565b600060466138e361288b565b6040805160ff938416602082015292909116908201526060016040516020818303038152906040529050600061391884614dd4565b9050600061392b8583603c848888614e45565b61393b637b6a51fd60e01b613942565b5050505050565b6001600160e01b0319166000908152602081905260409020805460ff19166001179055565b806001600160a01b0316635d66f90a61397e6135f9565b604080516001600160e01b031960e085901b1681526001600160401b03909216600483015260248201526015604482015274446973747269627574696f6e4f776e6572526f6c6560581b6064820152608401600060405180830381600087803b1580156139ea57600080fd5b505af11580156139fe573d6000803e3d6000fd5b50505050806001600160a01b0316635d66f90a613a196132da565b604080516001600160e01b031960e085901b1681526001600160401b0390921660048301526024820152600d60448201526c506f6f6c4f776e6572526f6c6560981b6064820152608401600060405180830381600087803b158015613a7d57600080fd5b505af1158015613a91573d6000803e3d6000fd5b50505050806001600160a01b0316635d66f90a613aac613261565b604080516001600160e01b031960e085901b1681526001600160401b0390921660048301526024820152601060448201526f50726f647563744f776e6572526f6c6560801b6064820152608401600060405180830381600087803b158015613b1357600080fd5b505af1158015613b27573d6000803e3d6000fd5b50505050806001600160a01b0316635d66f90a613b42614f11565b604080516001600160e01b031960e085901b1681526001600160401b0390921660048301526024820152601760448201527f446973747269627574696f6e53657276696365526f6c650000000000000000006064820152608401600060405180830381600087803b158015613bb657600080fd5b505af1158015613bca573d6000803e3d6000fd5b50505050806001600160a01b0316635d66f90a613be5614f4d565b604080516001600160e01b031960e085901b1681526001600160401b0390921660048301526024820152600f60448201526e506f6f6c53657276696365526f6c6560881b6064820152608401600060405180830381600087803b158015613c4b57600080fd5b505af1158015613c5f573d6000803e3d6000fd5b50505050806001600160a01b0316635d66f90a613c7a613634565b604080516001600160e01b031960e085901b1681526001600160401b0390921660048301526024820152601260448201527150726f6475637453657276696365526f6c6560701b6064820152608401600060405180830381600087803b158015613ce357600080fd5b505af1158015613cf7573d6000803e3d6000fd5b50505050806001600160a01b0316635d66f90a613d12613316565b604080516001600160e01b031960e085901b1681526001600160401b03909216600483015260248201526011604482015270506f6c69637953657276696365526f6c6560781b6064820152608401600060405180830381600087803b158015613d7a57600080fd5b505af1158015613d8e573d6000803e3d6000fd5b50505050806001600160a01b0316635d66f90a613da9614f89565b604080516001600160e01b031960e085901b1681526001600160401b0390921660048301526024820152601160448201527042756e646c6553657276696365526f6c6560781b6064820152608401600060405180830381600087803b158015613e1157600080fd5b505af1158015613e25573d6000803e3d6000fd5b50505050806001600160a01b0316635d66f90a613e40614fc5565b604080516001600160e01b031960e085901b1681526001600160401b03909216600483015260248201526013604482015272496e7374616e636553657276696365526f6c6560681b6064820152608401600060405180830381600087803b158015613eaa57600080fd5b505af115801561393b573d6000803e3d6000fd5b60405163044ec4c360e41b81526001600160a01b038416906344ec4c3090613eea9086906004016159c5565b600060405180830381600087803b158015613f0457600080fd5b505af1158015613f18573d6000803e3d6000fd5b505060405163044ec4c360e41b81526001600160a01b03861692506344ec4c309150613f48908590600401615a09565b600060405180830381600087803b158015613f6257600080fd5b505af1158015613f76573d6000803e3d6000fd5b505060405163044ec4c360e41b81526001600160a01b03861692506344ec4c309150613fa6908490600401615a40565b600060405180830381600087803b158015613fc057600080fd5b505af1158015613804573d6000803e3d6000fd5b6000613fe86001546001600160a01b031690565b905060006001600160a01b03821663d39e6043607861400561288b565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865afa15801561404a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061406e919061567a565b9050836001600160a01b031663b428b0b0614087614f11565b836040518363ffffffff1660e01b81526004016140a5929190615697565b6020604051808303816000875af11580156140c4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906140e891906156c4565b50604080516002808252606082018352600092602083019080368337019050509050630b24cf5f60e01b816000815181106141255761412561583a565b6001600160e01b031990921660209283029190910190910152805163bd5947e360e01b908290600190811061415c5761415c61583a565b6001600160e01b0319909216602092830291909101909101526001600160a01b0385166329db8c3d8261418d614f11565b6040518363ffffffff1660e01b81526004016141aa929190615a7c565b600060405180830381600087803b1580156141c457600080fd5b505af11580156141d8573d6000803e3d6000fd5b505050505050505050565b6001546000906001600160a01b031663d39e6043608c61420161288b565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865afa158015614246573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061426a919061567a565b9050826001600160a01b031663b428b0b0614283614f4d565b836040518363ffffffff1660e01b81526004016142a1929190615697565b6020604051808303816000875af11580156142c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906142e491906156c4565b5060408051600480825260a082019092526000916020820160808036833701905050905063e7cd37d460e01b816000815181106143235761432361583a565b6001600160e01b0319909216602092830291909101909101528051633055195560e11b908290600190811061435a5761435a61583a565b6001600160e01b0319909216602092830291909101909101526001600160a01b0384166329db8c3d8261438b614f4d565b6040518363ffffffff1660e01b81526004016143a8929190615a7c565b600060405180830381600087803b1580156143c257600080fd5b505af1158015612a0d573d6000803e3d6000fd5b6001546000906001600160a01b031663d39e6043606e6143f461288b565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865afa158015614439573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061445d919061567a565b9050826001600160a01b031663b428b0b0614476613634565b836040518363ffffffff1660e01b8152600401614494929190615697565b6020604051808303816000875af11580156144b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906144d791906156c4565b5060408051600580825260c082019092526000916020820160a0803683370190505090506391ff6eaa60e01b816000815181106145165761451661583a565b6001600160e01b03199092166020928302919091019091015280516354e750a160e11b908290600190811061454d5761454d61583a565b6001600160e01b03199092166020928302919091019091015280516317b0844560e11b90829060029081106145845761458461583a565b6001600160e01b03199092166020928302919091019091015280516314eddc0360e31b90829060039081106145bb576145bb61583a565b6001600160e01b0319909216602092830291909101909101528051633e77a42160e11b90829060049081106145f2576145f261583a565b6001600160e01b0319909216602092830291909101909101526001600160a01b0384166329db8c3d8261438b613634565b6001546000906001600160a01b031663d39e604360d261464161288b565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865afa158015614686573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906146aa919061567a565b9050826001600160a01b031663b428b0b06146c3613316565b836040518363ffffffff1660e01b81526004016146e1929190615697565b6020604051808303816000875af1158015614700573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061472491906156c4565b50604080516003808252608082019092526000916020820160608036833701905050905063bc8d400060e01b816000815181106147635761476361583a565b6001600160e01b0319909216602092830291909101909101528051634d4b06a960e11b908290600190811061479a5761479a61583a565b6001600160e01b0319909216602092830291909101909101528051631750d17360e21b90829060029081106147d1576147d161583a565b6001600160e01b0319909216602092830291909101909101526001600160a01b0384166329db8c3d8261438b613316565b6001546000906001600160a01b031663d39e604360dc61482061288b565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865afa158015614865573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614889919061567a565b9050836001600160a01b031663b428b0b06148a2614f89565b836040518363ffffffff1660e01b81526004016148c0929190615697565b6020604051808303816000875af11580156148df573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061490391906156c4565b50604080516002808252606082018352600092602083019080368337019050509050636071a68e60e01b816000815181106149405761494061583a565b6001600160e01b03199092166020928302919091019091015280516307f8b57360e31b90829060019081106149775761497761583a565b6001600160e01b0319909216602092830291909101909101526001600160a01b0385166329db8c3d826149a8614f89565b6040518363ffffffff1660e01b81526004016149c5929190615a7c565b600060405180830381600087803b1580156149df57600080fd5b505af11580156149f3573d6000803e3d6000fd5b506000925060059150614a039050565b604051908082528060200260200182016040528015614a2c578160200160208202803683370190505b509050630cc7e61460e01b81600081518110614a4a57614a4a61583a565b6001600160e01b0319909216602092830291909101909101528051631351fccf60e31b9082906001908110614a8157614a8161583a565b6001600160e01b03199092166020928302919091019091015280516346f0e8a760e11b9082906002908110614ab857614ab861583a565b6001600160e01b031990921660209283029190910190910152805163b5346af560e01b9082906003908110614aef57614aef61583a565b6001600160e01b03199092166020928302919091019091015280516306fa456560e01b9082906004908110614b2657614b2661583a565b6001600160e01b0319909216602092830291909101909101526001600160a01b0386166329db8c3d82614b57614f89565b6040518363ffffffff1660e01b8152600401612851929190615acf565b6001546000906001600160a01b031663d39e60436046614b9261288b565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865afa158015614bd7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614bfb919061567a565b9050826001600160a01b031663b428b0b0614c14614fc5565b836040518363ffffffff1660e01b8152600401614c32929190615697565b6020604051808303816000875af1158015614c51573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614c7591906156c4565b506040805160018082528183019092526000916020808301908036833701905050905063f7bc431c60e01b81600081518110614cb357614cb361583a565b6001600160e01b0319909216602092830291909101909101526001600160a01b0384166329db8c3d82614ce4614fc5565b6040518363ffffffff1660e01b8152600401614d01929190615a7c565b600060405180830381600087803b158015614d1b57600080fd5b505af1158015614d2f573d6000803e3d6000fd5b506000925060019150614d3f9050565b604051908082528060200260200182016040528015614d68578160200160208202803683370190505b5090506344ec4c3060e01b81600081518110614d8657614d8661583a565b6001600160e01b0319909216602092830291909101909101526001600160a01b0385166329db8c3d82614db7614fc5565b6040518363ffffffff1660e01b81526004016141aa929190615afc565b604051636939560f60e11b81526001600160a01b0382166004820181905260009163d272ac1e90602401602060405180830381865afa158015614e1b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614e3f91906156ec565b92915050565b614e866301ffc9a760e01b60009081526020527f67be87c3ff9960ca1e9cfac5cab2ff4747269cf9ed20c9b7306235ac35a491c5805460ff19166001179055565b614e908287615001565b60007f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30080546001600160601b0388166cffffffffffffffffffffffffff1990911617600160601b60ff8816021760ff60681b1916600160681b86151502178155905060018101614f008382615b7f565b506138046303fb044760e21b613942565b6040516368aebf7b60e01b8152610834600482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b90602401613299565b6040516368aebf7b60e01b8152610898600482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b90602401613299565b6040516368aebf7b60e01b81526109c4600482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b90602401613299565b6040516368aebf7b60e01b81526107d0600482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b90602401613299565b6001600160a01b0382166150575760405162461bcd60e51b815260206004820152601e60248201527f4e66744f776e61626c653a20696e697469616c206f776e6572206973203000006044820152606401610a14565b600280546001600160a01b0319166001600160a01b03841617905561507b8161507f565b5050565b6001546001600160a01b0316156150b85760015460405163fcdbf2d960e01b81526001600160a01b039091166004820152602401610a14565b6001600160a01b0381166150df5760405163f5c4d07d60e01b815260040160405180910390fd5b806001600160a01b03163b6000036151155760405163fdeac91f60e01b81526001600160a01b0382166004820152602401610a14565b600180546001600160a01b0319166001600160a01b0383169081179091556040516301ffc9a760e01b81526316c8f9ff60e01b60048201526301ffc9a790602401602060405180830381865afa92505050801561518f575060408051601f3d908101601f1916820190925261518c918101906156c4565b60015b6151b75760405163fdeac91f60e01b81526001600160a01b0382166004820152602401610a14565b8061507b5760405163fdeac91f60e01b81526001600160a01b0383166004820152602401610a14565b50565b6000602082840312156151f557600080fd5b81356001600160e01b03198116811461520d57600080fd5b9392505050565b60005b8381101561522f578181015183820152602001615217565b50506000910152565b60008151808452615250816020860160208601615214565b601f01601f19169290920160200192915050565b6020815260006001600160601b038084511660208401528060208501511660408401525060ff604084015116606083015260608301511515608083015260018060a01b0360808401511660a083015260a08301516152cd60c08401826001600160a01b03169052565b5060c083015160e0808401526152e7610100840182615238565b949350505050565b6001600160a01b03811681146151e057600080fd5b6001600160401b03811681146151e057600080fd5b60008060006060848603121561532e57600080fd5b8335615339816152ef565b9250602084013561534981615304565b91506040840135615359816152ef565b809150509250925092565b6001600160601b03811681146151e057600080fd5b634e487b7160e01b600052604160045260246000fd5b60405160e081016001600160401b03811182821017156153b1576153b1615379565b60405290565b604051601f8201601f191681016001600160401b03811182821017156153df576153df615379565b604052919050565b60006001600160401b0382111561540057615400615379565b50601f01601f191660200190565b600061542161541c846153e7565b6153b7565b905082815283838301111561543557600080fd5b828260208301376000602084830101529392505050565b600082601f83011261545d57600080fd5b61520d8383356020850161540e565b60008060006060848603121561548157600080fd5b833561548c81615364565b9250602084013561549c816152ef565b915060408401356001600160401b038111156154b757600080fd5b6154c38682870161544c565b9150509250925092565b62ffffff811681146151e057600080fd5b6000602082840312156154f057600080fd5b813561520d816154cd565b80151581146151e057600080fd5b6000806040838503121561551c57600080fd5b82356001600160401b0381111561553257600080fd5b61553e8582860161544c565b925050602083013561554f816154fb565b809150509250929050565b60006020828403121561556c57600080fd5b813561520d816152ef565b60008060006060848603121561558c57600080fd5b8335615597816152ef565b925060208401356155a7816152ef565b915060408401356001600160401b038111156155c257600080fd5b8401601f810186136155d357600080fd5b6154c38682356020840161540e565b6000602082840312156155f457600080fd5b5035919050565b60006020828403121561560d57600080fd5b813561520d81615364565b60006020828403121561562a57600080fd5b815161520d816154cd565b600181811c9082168061564957607f821691505b60208210810361566957634e487b7160e01b600052602260045260246000fd5b50919050565b80516136dd816152ef565b60006020828403121561568c57600080fd5b815161520d816152ef565b6001600160401b039290921682526001600160a01b0316602082015260400190565b80516136dd816154fb565b6000602082840312156156d657600080fd5b815161520d816154fb565b80516136dd81615364565b6000602082840312156156fe57600080fd5b815161520d81615364565b60ff811681146151e057600080fd5b80516136dd81615709565b600082601f83011261573457600080fd5b815161574261541c826153e7565b81815284602083860101111561575757600080fd5b6152e7826020830160208701615214565b60006020828403121561577a57600080fd5b81516001600160401b038082111561579157600080fd5b9083019060e082860312156157a557600080fd5b6157ad61538f565b6157b6836156e1565b81526157c4602084016156e1565b60208201526157d560408401615718565b60408201526157e6606084016156b9565b60608201526157f76080840161566f565b608082015261580860a0840161566f565b60a082015260c08301518281111561581f57600080fd5b61582b87828601615723565b60c08301525095945050505050565b634e487b7160e01b600052603260045260246000fd5b600081518084526020808501945080840160005b8381101561588a5781516001600160e01b03191687529582019590820190600101615864565b509495945050505050565b6060815260006158a86060830186615238565b82810360208401526158ba8186615850565b9150506001600160401b0383166040830152949350505050565b6001600160a01b03831681526040602082018190526000906152e790830184615238565b60006020828403121561590a57600080fd5b5051919050565b6040815260006159246040830185615238565b905082151560208301529392505050565b60006020828403121561594757600080fd5b815161520d81615304565b60006020828403121561596457600080fd5b815161520d81615709565b60006020828403121561598157600080fd5b815164ffffffffff8116811461520d57600080fd5b600080604083850312156159a957600080fd5b82516159b4816152ef565b602084015190925061554f816152ef565b6001600160a01b03821681526040602082018190526015908201527424b739ba30b731b2a0b1b1b2b9b9a6b0b730b3b2b960591b606082015260006080820161520d565b6001600160a01b038216815260406020820181905260089082015267496e7374616e636560c01b606082015260006080820161520d565b6001600160a01b0382168152604060208201819052600d908201526c213ab7323632a6b0b730b3b2b960991b606082015260006080820161520d565b606081526000615aa4606083016008815267496e7374616e636560c01b602082015260400190565b8281036020840152615ab68186615850565b9150506001600160401b03831660408301529392505050565b606081526000615aa460608301600d81526c213ab7323632a6b0b730b3b2b960991b602082015260400190565b606081526000615aa460608301601581527424b739ba30b731b2a0b1b1b2b9b9a6b0b730b3b2b960591b602082015260400190565b601f82111561385e57600081815260208120601f850160051c81016020861015615b585750805b601f850160051c820191505b81811015615b7757828155600101615b64565b505050505050565b81516001600160401b03811115615b9857615b98615379565b615bac81615ba68454615635565b84615b31565b602080601f831160018114615be15760008415615bc95750858301515b600019600386901b1c1916600185901b178555615b77565b600085815260208120601f198616915b82811015615c1057888601518255948401946001909101908401615bf1565b5085821015615c2e5787850151600019600388901b60f8161c191681555b5050505050600190811b0190555056fef0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a004f61291a8ac3d020d0a7d919a76b8592aa88385744dee3f8b4f3873b969ed900a26469706673582212204da3a249b907ed2a3a2350fc51ae01467827a6c478ce08f7064267ff0e23381764736f6c63430008140033",
|
850
|
-
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101fb5760003560e01c8063872309c71161011a578063c22f980d116100ad578063eb59c6b11161007c578063eb59c6b114610596578063edabac03146105a7578063eeff428e146105b8578063fb2cb10114610603578063feec11901461061457600080fd5b8063c22f980d14610557578063cde749f41461056a578063cf7a1d7714610572578063e338e27b1461058557600080fd5b8063b2bf3dc4116100e9578063b2bf3dc4146104fc578063b3c650151461050f578063b68d18091461052f578063b88da7591461054457600080fd5b8063872309c7146104b2578063893d20e8146104ba578063946dfcfe146104c2578063a745e3df146104e957600080fd5b806335241c06116101925780635ab1bd53116101615780635ab1bd531461044f57806363709eaf14610460578063644c45e0146104735780636a778e731461049f57600080fd5b806335241c06146102fd578063435bbacc146103105780634d459c90146103235780634f4213331461043c57600080fd5b8063138461e0116101ce578063138461e0146102865780631eff4b22146102905780632ad73641146102c55780632b440bc9146102d857600080fd5b806301ffc9a7146102005780630d8e6e2c146102425780630fec111c1461025e578063103bd5da14610273575b600080fd5b61022d61020e3660046151e3565b6001600160e01b03191660009081526020819052604090205460ff1690565b60405190151581526020015b60405180910390f35b61024a610627565b60405162ffffff9091168152602001610239565b6102666106b1565b6040516102399190615264565b61022d610281366004615319565b61086a565b61028e610950565b005b6102b77f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30081565b604051908152602001610239565b61028e6102d336600461546c565b610b72565b6003546001600160a01b03165b6040516001600160a01b039091168152602001610239565b61028e61030b36600461546c565b610eb8565b61028e61031e36600461546c565b6110ca565b6103df6103313660046154de565b6040805160a081018252600080825260208201819052918101829052606081018290526080810191909152600080516020615c5f83398151915262ffffff92831660009081526020918252604090819020815160a0810183528154958616815263010000009095046001600160a01b03908116938601939093526001015491821690840152600160a01b810464ffffffffff166060840152600160c81b900463ffffffff1660808301525090565b60408051825162ffffff1681526020808401516001600160a01b039081169183019190915283830151169181019190915260608083015164ffffffffff169082015260809182015163ffffffff169181019190915260a001610239565b61022d61044a3660046154de565b6114a4565b6001546001600160a01b03166102e5565b61028e61046e366004615509565b611557565b600154600160a01b90046001600160601b03165b6040516001600160601b039091168152602001610239565b6104876104ad36600461555a565b6117a9565b6102b7600081565b6102e5611fe4565b7f4f61291a8ac3d020d0a7d919a76b8592aa88385744dee3f8b4f3873b969ed901546102b7565b61028e6104f7366004615577565b6120fd565b61028e61050a36600461546c565b612257565b61051761260b565b6040516001600160401b039091168152602001610239565b60465b60405160ff9091168152602001610239565b61024a6105523660046155e2565b61262c565b61028e6105653660046155fb565b61267d565b61053261288b565b61028e610580366004615577565b61290e565b6004546001600160a01b03166102e5565b6006546001600160a01b03166102e5565b6005546001600160a01b03166102e5565b6105c0612a17565b604080516001600160a01b03968716815294861660208601526001600160601b03909316928401929092528316606083015291909116608082015260a001610239565b6002546001600160a01b03166102e5565b61028e61062236600461555a565b612fe1565b604051632efe011360e01b815260036004820152600060248201819052604482018190529073__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__90632efe011390606401602060405180830381865af4158015610688573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106ac9190615618565b905090565b6040805160e08101825260008082526020820181905291810182905260608082018390526080820183905260a0820183905260c0820152907f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa3006040805160808101825282546001600160601b038116825260ff600160601b820481166020840152600160681b9091041615159181019190915260018201805491929160608401919061075c90615635565b80601f016020809104026020016040519081016040528092919081815260200182805461078890615635565b80156107d55780601f106107aa576101008083540402835291602001916107d5565b820191906000526020600020905b8154815290600101906020018083116107b857829003601f168201915b50505050508152505090506040518060e001604052806107f3600090565b6001600160601b0316815260200182600001516001600160601b03168152602001826020015160ff168152602001826040015115158152602001306001600160a01b0316815260200161084e6002546001600160a01b031690565b6001600160a01b03168152602001826060015181525091505090565b6000808290506000816001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108d4919061567a565b6040516368fc2b7760e11b81529091506001600160a01b0382169063d1f856ee906109059088908a90600401615697565b602060405180830381865afa158015610922573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061094691906156c4565b9695505050505050565b6001546040516330b8415f60e01b8152600160a01b9091046001600160601b0316600482015273__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af41580156109b2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109d691906156c4565b15610a1d576001546040516316322c0f60e31b81526001600160a01b0382166004820152600160a01b9091046001600160601b031660248201526044015b60405180910390fd5b6001546001600160a01b0316610a465760405163cf29926160e01b815260040160405180910390fd5b60015460405163c3c5a54760e01b81523060048201819052916001600160a01b03169063c3c5a54790602401602060405180830381865afa158015610a8f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ab391906156c4565b610adb576040516372657a5160e01b81526001600160a01b0382166004820152602401610a14565b600154604051636939560f60e11b81526001600160a01b0383811660048301529091169063d272ac1e90602401602060405180830381865afa158015610b25573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b4991906156ec565b600160146101000a8154816001600160601b0302191690836001600160601b0316021790555050565b33610b856001546001600160a01b031690565b604051632b91e0a960e01b81526001600160a01b0383811660048301529190911690632b91e0a990602401602060405180830381865afa158015610bcd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bf191906156c4565b610c19576040516302613e9f60e51b81526001600160a01b0382166004820152602401610a14565b6000610c2d6001546001600160a01b031690565b6040516308b09a5f60e41b81526001600160a01b038681166004830152919250600091831690638b09a5f090602401600060405180830381865afa158015610c79573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610ca19190810190615768565b9050610cbf8160400151610cb3606e90565b60ff9081169116141590565b15610d025784606e5b60408084015190516304dd29ef60e21b81526001600160a01b03909316600484015260ff9182166024840152166044820152606401610a14565b6040516305247a1760e51b81526001600160601b03871660048201526000906001600160a01b0384169063a48f42e090602401600060405180830381865afa158015610d52573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610d7a9190810190615768565b90506000816080015190506000816001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610dc5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610de9919061567a565b604080516001808252818301909252919250600091906020808301908036833701905050905063b6b412ba60e01b81600081518110610e2a57610e2a61583a565b6001600160e01b0319909216602092830291909101909101526001600160a01b0382166329db8c3d8983610e5c613261565b6040518463ffffffff1660e01b8152600401610e7a93929190615895565b600060405180830381600087803b158015610e9457600080fd5b505af1158015610ea8573d6000803e3d6000fd5b5050505050505050505050505050565b33610ecb6001546001600160a01b031690565b604051632b91e0a960e01b81526001600160a01b0383811660048301529190911690632b91e0a990602401602060405180830381865afa158015610f13573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f3791906156c4565b610f5f576040516302613e9f60e51b81526001600160a01b0382166004820152602401610a14565b6000610f736001546001600160a01b031690565b6040516305247a1760e51b81526001600160601b03871660048201529091506000906001600160a01b0383169063a48f42e090602401600060405180830381865afa158015610fc6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610fee9190810190615768565b90506000816080015190506000816001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611039573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061105d919061567a565b60405163044ec4c360e41b81529091506001600160a01b038216906344ec4c309061108e908a908a906004016158d4565b600060405180830381600087803b1580156110a857600080fd5b505af11580156110bc573d6000803e3d6000fd5b505050505050505050505050565b336110dd6001546001600160a01b031690565b604051632b91e0a960e01b81526001600160a01b0383811660048301529190911690632b91e0a990602401602060405180830381865afa158015611125573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061114991906156c4565b611171576040516302613e9f60e51b81526001600160a01b0382166004820152602401610a14565b60006111856001546001600160a01b031690565b6040516308b09a5f60e41b81526001600160a01b038681166004830152919250600091831690638b09a5f090602401600060405180830381865afa1580156111d1573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526111f99190810190615768565b905061120b8160400151610cb3608c90565b156112185784608c610cc8565b6040516305247a1760e51b81526001600160601b03871660048201526000906001600160a01b0384169063a48f42e090602401600060405180830381865afa158015611268573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526112909190810190615768565b90506000816080015190506000816001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112ff919061567a565b6040805160018082528183019092529192506000919060208083019080368337019050509050638267876660e01b816000815181106113405761134061583a565b6001600160e01b0319909216602092830291909101909101526001600160a01b0382166329db8c3d89836113726132da565b6040518463ffffffff1660e01b815260040161139093929190615895565b600060405180830381600087803b1580156113aa57600080fd5b505af11580156113be573d6000803e3d6000fd5b5060009250600191506113ce9050565b6040519080825280602002602001820160405280156113f7578160200160208202803683370190505b5090506365effc1a60e01b816000815181106114155761141561583a565b6001600160e01b0319909216602092830291909101909101526001600160a01b0383166329db8c3d8a83611447613316565b6040518463ffffffff1660e01b815260040161146593929190615895565b600060405180830381600087803b15801561147f57600080fd5b505af1158015611493573d6000803e3d6000fd5b505050505050505050505050505050565b600080600080516020615c5f83398151915262ffffff84166000908152602091909152604090819020600101549051631bbffab160e21b8152600160c81b90910463ffffffff16600482015273__$5f476116ae21c5294e0c0761c07efa7e1c$__90636effeac490602401602060405180830381865af415801561152c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061155091906158f8565b1192915050565b33600061156c6001546001600160a01b031690565b6040516308b09a5f60e41b81526001600160a01b038481166004830152919250600091831690638b09a5f090602401600060405180830381865afa1580156115b8573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526115e09190810190615768565b8051604051630a4d29dd60e31b81526001600160601b03909116600482015290915073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906352694ee890602401602060405180830381865af415801561163e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061166291906156c4565b1561168b5760405163aef351c360e01b81526001600160a01b0384166004820152602401610a14565b60208101516040516305247a1760e51b81526001600160601b0390911660048201526000906001600160a01b0384169063a48f42e090602401600060405180830381865afa1580156116e1573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526117099190810190615768565b60800151905060008190506000816001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611754573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611778919061567a565b604051634222cc2360e01b81529091506001600160a01b03821690634222cc239061108e908b908b90600401615911565b60006117b3611fe4565b6001600160a01b0316336001600160a01b0316146117e65760405163700dd81160e01b8152336004820152602401610a14565b6004546001600160a01b0316156118515760405162461bcd60e51b815260206004820152602960248201527f4552524f523a4352442d3030323a494e5354414e43455f4d41535445525f414c604482015268149150511657d4d15560ba1b6064820152608401610a14565b6003546001600160a01b0316156118c25760405162461bcd60e51b815260206004820152602f60248201527f4552524f523a4352442d3030313a4143434553535f4d414e414745525f4d415360448201526e15115497d053149150511657d4d155608a1b6064820152608401610a14565b6006546001600160a01b0316156119335760405162461bcd60e51b815260206004820152602f60248201527f4552524f523a4352442d3030343a42554e444c455f4d414e414745525f4d415360448201526e15115497d053149150511657d4d155608a1b6064820152608401610a14565b6001600160a01b0382166119895760405162461bcd60e51b815260206004820152601b60248201527f4552524f523a4352442d3030363a494e5354414e43455f5a45524f00000000006044820152606401610a14565b60008290506000816001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156119ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119f2919061567a565b905060008190506000836001600160a01b03166302cd30716040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a39573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a5d919061567a565b905060008190506000856001600160a01b03166361f5f4206040518163ffffffff1660e01b8152600401602060405180830381865afa158015611aa4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ac8919061567a565b9050806001600160a01b038516611b2b5760405162461bcd60e51b815260206004820152602160248201527f4552524f523a4352442d3030353a4143434553535f4d414e414745525f5a45526044820152604f60f81b6064820152608401610a14565b6001600160a01b038316611b8c5760405162461bcd60e51b815260206004820152602260248201527f4552524f523a4352442d3030373a494e5354414e43455f5245414445525f5a45604482015261524f60f01b6064820152608401610a14565b6001600160a01b038116611bec5760405162461bcd60e51b815260206004820152602160248201527f4552524f523a4352442d3030383a42554e444c455f4d414e414745525f5a45526044820152604f60f81b6064820152608401610a14565b846001600160a01b0316876001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611c34573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c58919061567a565b6001600160a01b031614611cc05760405162461bcd60e51b815260206004820152602960248201527f4552524f523a4352442d3030393a494e5354414e43455f415554484f524954596044820152680be9a92a69a82a886960bb1b6064820152608401610a14565b866001600160a01b0316846001600160a01b031663de7b5d146040518163ffffffff1660e01b8152600401602060405180830381865afa158015611d08573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d2c919061567a565b6001600160a01b031614611d9a5760405162461bcd60e51b815260206004820152602f60248201527f4552524f523a4352442d3031303a494e5354414e43455f5245414445525f494e60448201526e0a6a8829c868abe9a92a69a82a8869608b1b6064820152608401610a14565b866001600160a01b0316826001600160a01b031663de7b5d146040518163ffffffff1660e01b8152600401602060405180830381865afa158015611de2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e06919061567a565b6001600160a01b031614611e735760405162461bcd60e51b815260206004820152602e60248201527f4552524f523a4352442d3031313a42554e444c455f4d414e414745525f494e5360448201526d0a8829c868abe9a92a69a82a886960931b6064820152608401610a14565b600380546001600160a01b03199081166001600160a01b03888116919091179092556004805482168c8416179055600580548216868416179055600680549091168383161790556001546000911663d39e60436028611ed061288b565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865afa158015611f15573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f39919061567a565b6004549091506001600160a01b0390811690600090831663026bc43b83611f5e611fe4565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016000604051808303816000875af1158015611fab573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611fd39190810190615768565b519c9b505050505050505050505050565b6001546040516330b8415f60e01b8152600160a01b9091046001600160601b0316600482015260009073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af4158015612049573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061206d91906156c4565b156120ed57600154604051631c5da14d60e11b8152600160a01b82046001600160601b031660048201526001600160a01b03909116906338bb429a90602401602060405180830381865afa1580156120c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106ac919061567a565b506002546001600160a01b031690565b73__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__63a123b37c61211f610627565b6040516001600160e01b031960e084901b16815262ffffff9091166004820152602401602060405180830381865af415801561215f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121839190615935565b600080516020615c3f8339815191528054600160401b900460ff16806121b6575080546001600160401b03808416911610155b156121d45760405163f92ee8a960e01b815260040160405180910390fd5b805468ffffffffffffffffff19166001600160401b03831617600160401b1781556121ff8585613352565b612208836135f1565b805460ff60401b191681556040516001600160401b03831681527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2906020015b60405180910390a15050505050565b3361226a6001546001600160a01b031690565b604051632b91e0a960e01b81526001600160a01b0383811660048301529190911690632b91e0a990602401602060405180830381865afa1580156122b2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122d691906156c4565b6122fe576040516302613e9f60e51b81526001600160a01b0382166004820152602401610a14565b60006123126001546001600160a01b031690565b6040516308b09a5f60e41b81526001600160a01b038681166004830152919250600091831690638b09a5f090602401600060405180830381865afa15801561235e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526123869190810190615768565b90506123988160400151610cb3607890565b156123a557846078610cc8565b6040516305247a1760e51b81526001600160601b03871660048201526000906001600160a01b0384169063a48f42e090602401600060405180830381865afa1580156123f5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261241d9190810190615768565b90506000816080015190506000816001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612468573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061248c919061567a565b6040805160018082528183019092529192506000919060208083019080368337019050509050633f52c0f660e01b816000815181106124cd576124cd61583a565b6001600160e01b0319909216602092830291909101909101526001600160a01b0382166329db8c3d89836124ff6135f9565b6040518463ffffffff1660e01b815260040161251d93929190615895565b600060405180830381600087803b15801561253757600080fd5b505af115801561254b573d6000803e3d6000fd5b50600092506002915061255b9050565b604051908082528060200260200182016040528015612584578160200160208202803683370190505b509050634cf30a8460e01b816000815181106125a2576125a261583a565b6001600160e01b0319909216602092830291909101909101528051637c07103960e11b90829060019081106125d9576125d961583a565b6001600160e01b0319909216602092830291909101909101526001600160a01b0383166329db8c3d8a83611447613634565b60006106ac600080516020615c3f833981519152546001600160401b031690565b6000600080516020615c5f83398151915260010182815481106126515761265161583a565b90600052602060002090600a91828204019190066003029054906101000a900462ffffff169050919050565b60006126916001546001600160a01b031690565b6040516305247a1760e51b81526001600160601b03841660048201529091506000906001600160a01b0383169063a48f42e090602401600060405180830381865afa1580156126e4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261270c9190810190615768565b90506000816080015190506000816001600160a01b031663893d20e86040518163ffffffff1660e01b8152600401602060405180830381865afa158015612757573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061277b919061567a565b9050336001600160a01b038216146127a8576040516302613e9f60e51b8152336004820152602401610a14565b6005546000906127c0906001600160a01b0316613670565b60405163485cc95560e01b81526001600160a01b03878116600483015285811660248301529192509082169063485cc95590604401600060405180830381600087803b15801561280f57600080fd5b505af1158015612823573d6000803e3d6000fd5b5050604051633def10c760e21b81526001600160a01b0384811660048301528616925063f7bc431c91506024015b600060405180830381600087803b15801561286b57600080fd5b505af115801561287f573d6000803e3d6000fd5b50505050505050505050565b6000612895610627565b60405163c9e66e2960e01b815262ffffff909116600482015273__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__9063c9e66e2990602401602060405180830381865af41580156128ea573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106ac9190615952565b600080516020615c3f8339815191528054600160401b810460ff1615906001600160401b03166000811580156129415750825b90506000826001600160401b0316600114801561295d5750303b155b90508115801561296b575080155b156129895760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff1916600117855583156129b357845460ff60401b1916600160401b1785555b6129bd8888613352565b6129c787876136e2565b8315612a0d57845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050505050565b6000808080803381612a316001546001600160a01b031690565b604051636939560f60e11b81526001600160a01b03821660048201819052919250829160009163d272ac1e90602401602060405180830381865afa158015612a7d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612aa191906156ec565b905060006001600160a01b03841663d39e60436028612abe61288b565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865afa158015612b03573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b27919061567a565b6003549091508190612b41906001600160a01b0316613670565b60405163189acdbd60e31b8152306004820152909b506001600160a01b038c169063c4d66de890602401600060405180830381600087803b158015612b8557600080fd5b505af1158015612b99573d6000803e3d6000fd5b5050600454612bb392506001600160a01b03169050613670565b60405163976b0a7760e01b81526001600160a01b038d8116600483015286811660248301526001600160601b0386166044830152336064830152919b50908b169063976b0a7790608401600060405180830381600087803b158015612c1757600080fd5b505af1158015612c2b573d6000803e3d6000fd5b5050600554612c4592506001600160a01b03169050613670565b60405163485cc95560e01b81526001600160a01b0386811660048301528c811660248301529199509089169063485cc95590604401600060405180830381600087803b158015612c9457600080fd5b505af1158015612ca8573d6000803e3d6000fd5b5050604051633def10c760e21b81526001600160a01b038b811660048301528d16925063f7bc431c9150602401600060405180830381600087803b158015612cef57600080fd5b505af1158015612d03573d6000803e3d6000fd5b5050600654612d1d92506001600160a01b03169050613670565b60405163c0c53b8b60e01b81526001600160a01b038d8116600483015286811660248301528c811660448301529198509088169063c0c53b8b90606401600060405180830381600087803b158015612d7457600080fd5b505af1158015612d88573d6000803e3d6000fd5b505060405162422c9d60e81b81526001600160a01b038a811660048301528d16925063422c9d009150602401600060405180830381600087803b158015612dce57600080fd5b505af1158015612de2573d6000803e3d6000fd5b50505050612df18b8b8961380d565b8a6001600160a01b031663b428b0b0612e08613863565b886040518363ffffffff1660e01b8152600401612e26929190615697565b6020604051808303816000875af1158015612e45573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e6991906156c4565b508a6001600160a01b031663b7d2b162612e81613863565b306040518363ffffffff1660e01b8152600401612e9f929190615697565b6020604051808303816000875af1158015612ebe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ee291906156c4565b5060405163026bc43b60e01b81526001600160a01b038b8116600483015287811660248301526000919083169063026bc43b906044016000604051808303816000875af1158015612f37573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612f5f9190810190615768565b9050806000015199507f89f53d1fc9d655ac6863fb19d55f6cc8a7649a51ec36a0d13ec77d2bd2e970f38c8c8b8d604051612fcb94939291906001600160a01b0394851681529284166020840152921660408201526001600160601b0391909116606082015260800190565b60405180910390a1505050505050509091929394565b612fe9611fe4565b6001600160a01b0316336001600160a01b03161461301c5760405163700dd81160e01b8152336004820152602401610a14565b6005546001600160a01b03166130895760405162461bcd60e51b815260206004820152602c60248201527f4552524f523a4352442d3030333a494e5354414e43455f5245414445525f4d4160448201526b14d5115497d393d517d4d15560a21b6064820152608401610a14565b6001600160a01b0381166130ea5760405162461bcd60e51b815260206004820152602260248201527f4552524f523a4352442d3031323a494e5354414e43455f5245414445525f5a45604482015261524f60f01b6064820152608401610a14565b6005546001600160a01b03908116908216036131615760405162461bcd60e51b815260206004820152603060248201527f4552524f523a4352442d3031343a494e5354414e43455f5245414445525f4d4160448201526f535445525f53414d455f41535f4e455760801b6064820152608401610a14565b600480546040805163379ed74560e21b8152905184936001600160a01b039384169385169263de7b5d1492818301926020928290030181865afa1580156131ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131d0919061567a565b6001600160a01b03161461323e5760405162461bcd60e51b815260206004820152602f60248201527f4552524f523a4352442d3031353a494e5354414e43455f5245414445525f494e60448201526e0a6a8829c868abe9a92a69a82a8869608b1b6064820152608401610a14565b50600580546001600160a01b0319166001600160a01b0392909216919091179055565b6040516368aebf7b60e01b8152610190600482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b906024015b602060405180830381865af41580156132b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106ac9190615935565b6040516368aebf7b60e01b815261012c600482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b90602401613299565b6040516368aebf7b60e01b8152610960600482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b90602401613299565b61335a61389e565b600080516020615c5f833981519152600061338a600080516020615c3f833981519152546001600160401b031690565b90506000613396610627565b9050816001600160401b03166001036133c35760028301805462ffffff191662ffffff8316179055613411565b600283015462ffffff908116908216116134115760405162461bcd60e51b815260206004820152600f60248201526e24a72b20a624a2102b22a929a4a7a760891b6044820152606401610a14565b6001808401805491820181556000908152602090819020600a808404909101805462ffffff808716600394909606939093026101000a858102930219169190911790556040805160a0810182529283526001600160a01b038089168484015287168382015280516356db0c1960e11b81529051606084019273__$d53880c81dc91c20799140d711e5ab8718$__9263adb6183292600480830193928290030181865af41580156134c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134e9919061596f565b64ffffffffff1681526020014363ffffffff90811690915262ffffff8084166000908152602087815260409182902085518154928701516001600160a01b039081166301000000026001600160b81b0319909416919095161791909117815584820151600190910180546060870151608090970151909516600160c81b0263ffffffff60c81b1964ffffffffff909716600160a01b026001600160c81b031990961692909416919091179390931793909316179055517fad0a0fc10465a8dd9da3ad5f43e1a7fff4b4578551c76f0ae8deb844f0d0bf68906122489083908890889062ffffff9390931683526001600160a01b03918216602084015216604082015260600190565b6101fb61389e565b6040516368aebf7b60e01b81526064600482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b90602401613299565b6040516368aebf7b60e01b81526108fc600482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b90602401613299565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008260601b60e81c176000526e5af43d82803e903d91602b57fd5bf38260781b17602052603760096000f090506001600160a01b0381166136dd576040516330be1a3d60e21b815260040160405180910390fd5b919050565b600080516020615c3f8339815191528054600160401b810460ff1615906001600160401b03166000811580156137155750825b90506000826001600160401b031660011480156137315750303b155b90508115801561373f575080155b1561375d5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561378757845460ff60401b1916600160401b1785555b6000808780602001905181019061379e9190615996565b925090506137ac818a6138d7565b6137bc639db409fb60e01b613942565b5050831561380457845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050565b61381683613967565b613821838383613ebe565b61382b8383613fd4565b61383583836141e3565b61383f83836143d6565b6138498383614623565b613854838383614802565b61385e8383614b74565b505050565b6040516368aebf7b60e01b81526000600482018190529073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b90602401613299565b600080516020615c3f83398151915254600160401b900460ff166138d557604051631afcd79f60e31b815260040160405180910390fd5b565b600060466138e361288b565b6040805160ff938416602082015292909116908201526060016040516020818303038152906040529050600061391884614dd4565b9050600061392b8583603c848888614e45565b61393b637b6a51fd60e01b613942565b5050505050565b6001600160e01b0319166000908152602081905260409020805460ff19166001179055565b806001600160a01b0316635d66f90a61397e6135f9565b604080516001600160e01b031960e085901b1681526001600160401b03909216600483015260248201526015604482015274446973747269627574696f6e4f776e6572526f6c6560581b6064820152608401600060405180830381600087803b1580156139ea57600080fd5b505af11580156139fe573d6000803e3d6000fd5b50505050806001600160a01b0316635d66f90a613a196132da565b604080516001600160e01b031960e085901b1681526001600160401b0390921660048301526024820152600d60448201526c506f6f6c4f776e6572526f6c6560981b6064820152608401600060405180830381600087803b158015613a7d57600080fd5b505af1158015613a91573d6000803e3d6000fd5b50505050806001600160a01b0316635d66f90a613aac613261565b604080516001600160e01b031960e085901b1681526001600160401b0390921660048301526024820152601060448201526f50726f647563744f776e6572526f6c6560801b6064820152608401600060405180830381600087803b158015613b1357600080fd5b505af1158015613b27573d6000803e3d6000fd5b50505050806001600160a01b0316635d66f90a613b42614f11565b604080516001600160e01b031960e085901b1681526001600160401b0390921660048301526024820152601760448201527f446973747269627574696f6e53657276696365526f6c650000000000000000006064820152608401600060405180830381600087803b158015613bb657600080fd5b505af1158015613bca573d6000803e3d6000fd5b50505050806001600160a01b0316635d66f90a613be5614f4d565b604080516001600160e01b031960e085901b1681526001600160401b0390921660048301526024820152600f60448201526e506f6f6c53657276696365526f6c6560881b6064820152608401600060405180830381600087803b158015613c4b57600080fd5b505af1158015613c5f573d6000803e3d6000fd5b50505050806001600160a01b0316635d66f90a613c7a613634565b604080516001600160e01b031960e085901b1681526001600160401b0390921660048301526024820152601260448201527150726f6475637453657276696365526f6c6560701b6064820152608401600060405180830381600087803b158015613ce357600080fd5b505af1158015613cf7573d6000803e3d6000fd5b50505050806001600160a01b0316635d66f90a613d12613316565b604080516001600160e01b031960e085901b1681526001600160401b03909216600483015260248201526011604482015270506f6c69637953657276696365526f6c6560781b6064820152608401600060405180830381600087803b158015613d7a57600080fd5b505af1158015613d8e573d6000803e3d6000fd5b50505050806001600160a01b0316635d66f90a613da9614f89565b604080516001600160e01b031960e085901b1681526001600160401b0390921660048301526024820152601160448201527042756e646c6553657276696365526f6c6560781b6064820152608401600060405180830381600087803b158015613e1157600080fd5b505af1158015613e25573d6000803e3d6000fd5b50505050806001600160a01b0316635d66f90a613e40614fc5565b604080516001600160e01b031960e085901b1681526001600160401b03909216600483015260248201526013604482015272496e7374616e636553657276696365526f6c6560681b6064820152608401600060405180830381600087803b158015613eaa57600080fd5b505af115801561393b573d6000803e3d6000fd5b60405163044ec4c360e41b81526001600160a01b038416906344ec4c3090613eea9086906004016159c5565b600060405180830381600087803b158015613f0457600080fd5b505af1158015613f18573d6000803e3d6000fd5b505060405163044ec4c360e41b81526001600160a01b03861692506344ec4c309150613f48908590600401615a09565b600060405180830381600087803b158015613f6257600080fd5b505af1158015613f76573d6000803e3d6000fd5b505060405163044ec4c360e41b81526001600160a01b03861692506344ec4c309150613fa6908490600401615a40565b600060405180830381600087803b158015613fc057600080fd5b505af1158015613804573d6000803e3d6000fd5b6000613fe86001546001600160a01b031690565b905060006001600160a01b03821663d39e6043607861400561288b565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865afa15801561404a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061406e919061567a565b9050836001600160a01b031663b428b0b0614087614f11565b836040518363ffffffff1660e01b81526004016140a5929190615697565b6020604051808303816000875af11580156140c4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906140e891906156c4565b50604080516002808252606082018352600092602083019080368337019050509050630b24cf5f60e01b816000815181106141255761412561583a565b6001600160e01b031990921660209283029190910190910152805163bd5947e360e01b908290600190811061415c5761415c61583a565b6001600160e01b0319909216602092830291909101909101526001600160a01b0385166329db8c3d8261418d614f11565b6040518363ffffffff1660e01b81526004016141aa929190615a7c565b600060405180830381600087803b1580156141c457600080fd5b505af11580156141d8573d6000803e3d6000fd5b505050505050505050565b6001546000906001600160a01b031663d39e6043608c61420161288b565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865afa158015614246573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061426a919061567a565b9050826001600160a01b031663b428b0b0614283614f4d565b836040518363ffffffff1660e01b81526004016142a1929190615697565b6020604051808303816000875af11580156142c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906142e491906156c4565b5060408051600480825260a082019092526000916020820160808036833701905050905063e7cd37d460e01b816000815181106143235761432361583a565b6001600160e01b0319909216602092830291909101909101528051633055195560e11b908290600190811061435a5761435a61583a565b6001600160e01b0319909216602092830291909101909101526001600160a01b0384166329db8c3d8261438b614f4d565b6040518363ffffffff1660e01b81526004016143a8929190615a7c565b600060405180830381600087803b1580156143c257600080fd5b505af1158015612a0d573d6000803e3d6000fd5b6001546000906001600160a01b031663d39e6043606e6143f461288b565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865afa158015614439573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061445d919061567a565b9050826001600160a01b031663b428b0b0614476613634565b836040518363ffffffff1660e01b8152600401614494929190615697565b6020604051808303816000875af11580156144b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906144d791906156c4565b5060408051600580825260c082019092526000916020820160a0803683370190505090506391ff6eaa60e01b816000815181106145165761451661583a565b6001600160e01b03199092166020928302919091019091015280516354e750a160e11b908290600190811061454d5761454d61583a565b6001600160e01b03199092166020928302919091019091015280516317b0844560e11b90829060029081106145845761458461583a565b6001600160e01b03199092166020928302919091019091015280516314eddc0360e31b90829060039081106145bb576145bb61583a565b6001600160e01b0319909216602092830291909101909101528051633e77a42160e11b90829060049081106145f2576145f261583a565b6001600160e01b0319909216602092830291909101909101526001600160a01b0384166329db8c3d8261438b613634565b6001546000906001600160a01b031663d39e604360d261464161288b565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865afa158015614686573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906146aa919061567a565b9050826001600160a01b031663b428b0b06146c3613316565b836040518363ffffffff1660e01b81526004016146e1929190615697565b6020604051808303816000875af1158015614700573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061472491906156c4565b50604080516003808252608082019092526000916020820160608036833701905050905063bc8d400060e01b816000815181106147635761476361583a565b6001600160e01b0319909216602092830291909101909101528051634d4b06a960e11b908290600190811061479a5761479a61583a565b6001600160e01b0319909216602092830291909101909101528051631750d17360e21b90829060029081106147d1576147d161583a565b6001600160e01b0319909216602092830291909101909101526001600160a01b0384166329db8c3d8261438b613316565b6001546000906001600160a01b031663d39e604360dc61482061288b565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865afa158015614865573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614889919061567a565b9050836001600160a01b031663b428b0b06148a2614f89565b836040518363ffffffff1660e01b81526004016148c0929190615697565b6020604051808303816000875af11580156148df573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061490391906156c4565b50604080516002808252606082018352600092602083019080368337019050509050636071a68e60e01b816000815181106149405761494061583a565b6001600160e01b03199092166020928302919091019091015280516307f8b57360e31b90829060019081106149775761497761583a565b6001600160e01b0319909216602092830291909101909101526001600160a01b0385166329db8c3d826149a8614f89565b6040518363ffffffff1660e01b81526004016149c5929190615a7c565b600060405180830381600087803b1580156149df57600080fd5b505af11580156149f3573d6000803e3d6000fd5b506000925060059150614a039050565b604051908082528060200260200182016040528015614a2c578160200160208202803683370190505b509050630cc7e61460e01b81600081518110614a4a57614a4a61583a565b6001600160e01b0319909216602092830291909101909101528051631351fccf60e31b9082906001908110614a8157614a8161583a565b6001600160e01b03199092166020928302919091019091015280516346f0e8a760e11b9082906002908110614ab857614ab861583a565b6001600160e01b031990921660209283029190910190910152805163b5346af560e01b9082906003908110614aef57614aef61583a565b6001600160e01b03199092166020928302919091019091015280516306fa456560e01b9082906004908110614b2657614b2661583a565b6001600160e01b0319909216602092830291909101909101526001600160a01b0386166329db8c3d82614b57614f89565b6040518363ffffffff1660e01b8152600401612851929190615acf565b6001546000906001600160a01b031663d39e60436046614b9261288b565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865afa158015614bd7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614bfb919061567a565b9050826001600160a01b031663b428b0b0614c14614fc5565b836040518363ffffffff1660e01b8152600401614c32929190615697565b6020604051808303816000875af1158015614c51573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614c7591906156c4565b506040805160018082528183019092526000916020808301908036833701905050905063f7bc431c60e01b81600081518110614cb357614cb361583a565b6001600160e01b0319909216602092830291909101909101526001600160a01b0384166329db8c3d82614ce4614fc5565b6040518363ffffffff1660e01b8152600401614d01929190615a7c565b600060405180830381600087803b158015614d1b57600080fd5b505af1158015614d2f573d6000803e3d6000fd5b506000925060019150614d3f9050565b604051908082528060200260200182016040528015614d68578160200160208202803683370190505b5090506344ec4c3060e01b81600081518110614d8657614d8661583a565b6001600160e01b0319909216602092830291909101909101526001600160a01b0385166329db8c3d82614db7614fc5565b6040518363ffffffff1660e01b81526004016141aa929190615afc565b604051636939560f60e11b81526001600160a01b0382166004820181905260009163d272ac1e90602401602060405180830381865afa158015614e1b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614e3f91906156ec565b92915050565b614e866301ffc9a760e01b60009081526020527f67be87c3ff9960ca1e9cfac5cab2ff4747269cf9ed20c9b7306235ac35a491c5805460ff19166001179055565b614e908287615001565b60007f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30080546001600160601b0388166cffffffffffffffffffffffffff1990911617600160601b60ff8816021760ff60681b1916600160681b86151502178155905060018101614f008382615b7f565b506138046303fb044760e21b613942565b6040516368aebf7b60e01b8152610834600482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b90602401613299565b6040516368aebf7b60e01b8152610898600482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b90602401613299565b6040516368aebf7b60e01b81526109c4600482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b90602401613299565b6040516368aebf7b60e01b81526107d0600482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b90602401613299565b6001600160a01b0382166150575760405162461bcd60e51b815260206004820152601e60248201527f4e66744f776e61626c653a20696e697469616c206f776e6572206973203000006044820152606401610a14565b600280546001600160a01b0319166001600160a01b03841617905561507b8161507f565b5050565b6001546001600160a01b0316156150b85760015460405163fcdbf2d960e01b81526001600160a01b039091166004820152602401610a14565b6001600160a01b0381166150df5760405163f5c4d07d60e01b815260040160405180910390fd5b806001600160a01b03163b6000036151155760405163fdeac91f60e01b81526001600160a01b0382166004820152602401610a14565b600180546001600160a01b0319166001600160a01b0383169081179091556040516301ffc9a760e01b81526316c8f9ff60e01b60048201526301ffc9a790602401602060405180830381865afa92505050801561518f575060408051601f3d908101601f1916820190925261518c918101906156c4565b60015b6151b75760405163fdeac91f60e01b81526001600160a01b0382166004820152602401610a14565b8061507b5760405163fdeac91f60e01b81526001600160a01b0383166004820152602401610a14565b50565b6000602082840312156151f557600080fd5b81356001600160e01b03198116811461520d57600080fd5b9392505050565b60005b8381101561522f578181015183820152602001615217565b50506000910152565b60008151808452615250816020860160208601615214565b601f01601f19169290920160200192915050565b6020815260006001600160601b038084511660208401528060208501511660408401525060ff604084015116606083015260608301511515608083015260018060a01b0360808401511660a083015260a08301516152cd60c08401826001600160a01b03169052565b5060c083015160e0808401526152e7610100840182615238565b949350505050565b6001600160a01b03811681146151e057600080fd5b6001600160401b03811681146151e057600080fd5b60008060006060848603121561532e57600080fd5b8335615339816152ef565b9250602084013561534981615304565b91506040840135615359816152ef565b809150509250925092565b6001600160601b03811681146151e057600080fd5b634e487b7160e01b600052604160045260246000fd5b60405160e081016001600160401b03811182821017156153b1576153b1615379565b60405290565b604051601f8201601f191681016001600160401b03811182821017156153df576153df615379565b604052919050565b60006001600160401b0382111561540057615400615379565b50601f01601f191660200190565b600061542161541c846153e7565b6153b7565b905082815283838301111561543557600080fd5b828260208301376000602084830101529392505050565b600082601f83011261545d57600080fd5b61520d8383356020850161540e565b60008060006060848603121561548157600080fd5b833561548c81615364565b9250602084013561549c816152ef565b915060408401356001600160401b038111156154b757600080fd5b6154c38682870161544c565b9150509250925092565b62ffffff811681146151e057600080fd5b6000602082840312156154f057600080fd5b813561520d816154cd565b80151581146151e057600080fd5b6000806040838503121561551c57600080fd5b82356001600160401b0381111561553257600080fd5b61553e8582860161544c565b925050602083013561554f816154fb565b809150509250929050565b60006020828403121561556c57600080fd5b813561520d816152ef565b60008060006060848603121561558c57600080fd5b8335615597816152ef565b925060208401356155a7816152ef565b915060408401356001600160401b038111156155c257600080fd5b8401601f810186136155d357600080fd5b6154c38682356020840161540e565b6000602082840312156155f457600080fd5b5035919050565b60006020828403121561560d57600080fd5b813561520d81615364565b60006020828403121561562a57600080fd5b815161520d816154cd565b600181811c9082168061564957607f821691505b60208210810361566957634e487b7160e01b600052602260045260246000fd5b50919050565b80516136dd816152ef565b60006020828403121561568c57600080fd5b815161520d816152ef565b6001600160401b039290921682526001600160a01b0316602082015260400190565b80516136dd816154fb565b6000602082840312156156d657600080fd5b815161520d816154fb565b80516136dd81615364565b6000602082840312156156fe57600080fd5b815161520d81615364565b60ff811681146151e057600080fd5b80516136dd81615709565b600082601f83011261573457600080fd5b815161574261541c826153e7565b81815284602083860101111561575757600080fd5b6152e7826020830160208701615214565b60006020828403121561577a57600080fd5b81516001600160401b038082111561579157600080fd5b9083019060e082860312156157a557600080fd5b6157ad61538f565b6157b6836156e1565b81526157c4602084016156e1565b60208201526157d560408401615718565b60408201526157e6606084016156b9565b60608201526157f76080840161566f565b608082015261580860a0840161566f565b60a082015260c08301518281111561581f57600080fd5b61582b87828601615723565b60c08301525095945050505050565b634e487b7160e01b600052603260045260246000fd5b600081518084526020808501945080840160005b8381101561588a5781516001600160e01b03191687529582019590820190600101615864565b509495945050505050565b6060815260006158a86060830186615238565b82810360208401526158ba8186615850565b9150506001600160401b0383166040830152949350505050565b6001600160a01b03831681526040602082018190526000906152e790830184615238565b60006020828403121561590a57600080fd5b5051919050565b6040815260006159246040830185615238565b905082151560208301529392505050565b60006020828403121561594757600080fd5b815161520d81615304565b60006020828403121561596457600080fd5b815161520d81615709565b60006020828403121561598157600080fd5b815164ffffffffff8116811461520d57600080fd5b600080604083850312156159a957600080fd5b82516159b4816152ef565b602084015190925061554f816152ef565b6001600160a01b03821681526040602082018190526015908201527424b739ba30b731b2a0b1b1b2b9b9a6b0b730b3b2b960591b606082015260006080820161520d565b6001600160a01b038216815260406020820181905260089082015267496e7374616e636560c01b606082015260006080820161520d565b6001600160a01b0382168152604060208201819052600d908201526c213ab7323632a6b0b730b3b2b960991b606082015260006080820161520d565b606081526000615aa4606083016008815267496e7374616e636560c01b602082015260400190565b8281036020840152615ab68186615850565b9150506001600160401b03831660408301529392505050565b606081526000615aa460608301600d81526c213ab7323632a6b0b730b3b2b960991b602082015260400190565b606081526000615aa460608301601581527424b739ba30b731b2a0b1b1b2b9b9a6b0b730b3b2b960591b602082015260400190565b601f82111561385e57600081815260208120601f850160051c81016020861015615b585750805b601f850160051c820191505b81811015615b7757828155600101615b64565b505050505050565b81516001600160401b03811115615b9857615b98615379565b615bac81615ba68454615635565b84615b31565b602080601f831160018114615be15760008415615bc95750858301515b600019600386901b1c1916600185901b178555615b77565b600085815260208120601f198616915b82811015615c1057888601518255948401946001909101908401615bf1565b5085821015615c2e5787850151600019600388901b60f8161c191681555b5050505050600190811b0190555056fef0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a004f61291a8ac3d020d0a7d919a76b8592aa88385744dee3f8b4f3873b969ed900a26469706673582212204da3a249b907ed2a3a2350fc51ae01467827a6c478ce08f7064267ff0e23381764736f6c63430008140033",
|
908
|
+
"bytecode": "0x6080604052348015600e575f80fd5b5060156019565b60c9565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff161560685760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b039081161460c65780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b613e80806100d65f395ff3fe608060405234801561000f575f80fd5b50600436106101dc575f3560e01c806376b707b711610109578063a2356b3a1161009e578063c26517251161006e578063c265172514610451578063d127388714610459578063e52ba1cb14610493578063edabac03146104a6575f80fd5b8063a2356b3a1461041b578063ada9652e1461042e578063b68d180914610442578063bf7e214f14610449575f80fd5b8063872309c7116100d9578063872309c7146103d8578063893d20e8146103df5780638fb36037146103e757806396cdfa3f14610408575f80fd5b806376b707b7146103855780637a9e5e4b1461039f5780637de45f13146103b257806386892313146103c5575f80fd5b8063254f68661161017f5780635ab1bd531161014f5780635ab1bd5314610310578063644c45e0146103355780636a778e73146103525780636c741e7814610365575f80fd5b8063254f6866146102c45780632d764ef8146102d7578063329d6e74146102ea57806349bb9e4b146102fd575f80fd5b806311f77843116101ba57806311f7784314610252578063138461e0146102675780631eff4b221461028757806322f3e2d4146102bc575f80fd5b806301ffc9a7146101e05780630d8e6e2c146102215780630fec111c1461023d575b5f80fd5b61020c6101ee3660046135f4565b6001600160e01b0319165f9081526020819052604090205460ff1690565b60405190151581526020015b60405180910390f35b6102296104b7565b60405162ffffff9091168152602001610218565b61024561053e565b6040516102189190613650565b6102656102603660046136f8565b6106f8565b005b61026f610800565b6040516001600160601b039091168152602001610218565b6102ae7f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30081565b604051908152602001610218565b61020c61080a565b6102656102d23660046136f8565b610881565b6102656102e5366004613725565b6109fc565b6102656102f8366004613824565b610ad3565b61026561030b366004613855565b610c1d565b6001546001600160a01b03165b6040516001600160a01b039091168152602001610218565b5f80516020613deb833981519152546001600160601b031661026f565b61026f6103603660046136f8565b610d19565b61036d6118c1565b6040516001600160401b039091168152602001610218565b61038d61194d565b60405160ff9091168152602001610218565b6102656103ad3660046136f8565b6119b5565b6102656103c03660046138b5565b611a3b565b6102656103d33660046138dd565b611b0d565b6102ae5f81565b61031d611be3565b6103ef611d14565b6040516001600160e01b03199091168152602001610218565b610265610416366004613914565b611d49565b61026561042936600461392f565b611df2565b6102ae5f80516020613deb83398151915281565b600a61038d565b61031d611f0f565b610265611f2a565b61046c610467366004613914565b611fe2565b604080516001600160a01b0390931683526001600160601b03909116602083015201610218565b61026f6104a13660046138b5565b612461565b6008546001600160a01b031661031d565b604051632efe011360e01b8152600360048201525f60248201819052604482018190529073__$8eede297b65ed5a56eb3f84d8232ae93f5$__90632efe011390606401602060405180830381865af4158015610515573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610539919061395b565b905090565b6040805160e0810182525f8082526020820181905291810182905260608082018390526080820183905260a0820183905260c0820152907f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30090506040518060e0016040528073__$94a2c899be079b00d952d0d84fffaa5c34$__63bc1b392d6040518163ffffffff1660e01b8152600401602060405180830381865af41580156105ea573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061060e9190613988565b6001600160601b0390811682528354908116602083015260ff600160601b820481166040840152600160681b909104161515606082015230608082015260a001610656611be3565b6001600160a01b03168152602001826001018054610673906139a3565b80601f016020809104026020016040519081016040528092919081815260200182805461069f906139a3565b80156106ea5780601f106106c1576101008083540402835291602001916106ea565b820191905f5260205f20905b8154815290600101906020018083116106cd57829003601f168201915b505050505081525091505090565b610704335b5f36612576565b6107153361071061194d565b61266c565b5f6107286001546001600160a01b031690565b604051632f2a35f760e11b81523360048201526001600160a01b039190911690635e546bee90602401602060405180830381865afa15801561076c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107909190613988565b60035460405163c26efb0560e01b81526001600160601b03831660048201526001600160a01b03858116602483015292935091169063c26efb05906044015b5f604051808303815f87803b1580156107e6575f80fd5b505af11580156107f8573d5f803e3d5ffd5b505050505050565b5f61053930612968565b5f610813611f0f565b60405163a166aa8960e01b81523060048201526001600160a01b03919091169063a166aa8990602401602060405180830381865afa158015610857573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061087b91906139e6565b15905090565b610889611be3565b6001600160a01b0316336001600160a01b0316146108c15760405163086391f760e31b81523360048201526024015b60405180910390fd5b6008546001600160a01b03166108ea576040516358e5a4af60e01b815260040160405180910390fd5b6001600160a01b03811661091157604051631aa1808560e31b815260040160405180910390fd5b6008546001600160a01b039081169082160361094057604051630666e2a560e01b815260040160405180910390fd5b6007546040805163379ed74560e21b8152905183926001600160a01b03908116929084169163de7b5d14916004808201926020929091908290030181865afa15801561098e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109b29190613a01565b6001600160a01b0316146109d95760405163f026367160e01b815260040160405180910390fd5b50600880546001600160a01b0319166001600160a01b0392909216919091179055565b610a05336106fd565b610a113361071061194d565b5f610a246001546001600160a01b031690565b604051632f2a35f760e11b81523360048201526001600160a01b039190911690635e546bee90602401602060405180830381865afa158015610a68573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a8c9190613988565b60035460405163db1e36e760e01b81526001600160601b038316600482015264ffffffffff851660248201529192506001600160a01b03169063db1e36e7906044016107cf565b73__$8eede297b65ed5a56eb3f84d8232ae93f5$__63a123b37c610af56104b7565b6040516001600160e01b031960e084901b16815262ffffff9091166004820152602401602060405180830381865af4158015610b33573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b579190613a30565b5f80516020613e2b8339815191528054600160401b900460ff1680610b89575080546001600160401b03808416911610155b15610ba75760405163f92ee8a960e01b815260040160405180910390fd5b805468ffffffffffffffffff19166001600160401b03831617600160401b178155610bd183612b61565b805460ff60401b191681556040516001600160401b03831681527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a1505050565b5f80516020613e2b8339815191528054600160401b810460ff1615906001600160401b03165f81158015610c4e5750825b90505f826001600160401b03166001148015610c695750303b155b905081158015610c77575080155b15610c955760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff191660011785558315610cbf57845460ff60401b1916600160401b1785555b610cc98787612b69565b8315610d1057845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2906020015b60405180910390a15b50505050505050565b5f610d22611be3565b6001600160a01b0316336001600160a01b031614610d555760405163086391f760e31b81523360048201526024016108b8565b6007546001600160a01b031615610d7f57604051632c237de760e11b815260040160405180910390fd5b6006546001600160a01b031615610da95760405163ab0cc43960e01b815260040160405180910390fd5b6009546001600160a01b031615610dd35760405163558f4f7b60e11b815260040160405180910390fd5b600a546001600160a01b031615610dfd5760405163d518f81b60e01b815260040160405180910390fd5b6001600160a01b038216610e24576040516309353e4560e11b815260040160405180910390fd5b5f8290505f816001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e65573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e899190613a01565b90505f826001600160a01b031663311adb686040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ec8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610eec9190613a01565b90505f8190505f846001600160a01b03166302cd30716040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f2f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f539190613a01565b90505f8190505f866001600160a01b0316636dddada46040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f96573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fba9190613a01565b90505f8190505f886001600160a01b0316630e0c586d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ffd573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110219190613a01565b90505f8190505f8a6001600160a01b031663d4cda0d86040518163ffffffff1660e01b8152600401602060405180830381865afa158015611064573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110889190613a01565b9050806001600160a01b038b166110b2576040516327ccc33d60e11b815260040160405180910390fd5b6001600160a01b0389166110d8576040516295661560e31b815260040160405180910390fd5b6001600160a01b0387166110ff5760405163e267254160e01b815260040160405180910390fd5b6001600160a01b0385166111265760405163bfebabd760e01b815260040160405180910390fd5b6001600160a01b03831661114d57604051634e336b1d60e11b815260040160405180910390fd5b6001600160a01b038116611174576040516301fa2a2b60e01b815260040160405180910390fd5b896001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156111b0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111d49190613a01565b6001600160a01b03168c6001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611219573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061123d9190613a01565b6001600160a01b031614611264576040516334ddf1a760e21b815260040160405180910390fd5b896001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112a0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112c49190613a01565b6001600160a01b0316866001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611309573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061132d9190613a01565b6001600160a01b0316146113545760405163e168da3760e01b815260040160405180910390fd5b896001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611390573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113b49190613a01565b6001600160a01b0316846001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113f9573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061141d9190613a01565b6001600160a01b031614611444576040516303bc742960e01b815260040160405180910390fd5b896001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611480573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114a49190613a01565b6001600160a01b0316826001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156114e9573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061150d9190613a01565b6001600160a01b03161461153457604051631129422760e31b815260040160405180910390fd5b8b6001600160a01b0316866001600160a01b031663681e65f06040518163ffffffff1660e01b8152600401602060405180830381865afa15801561157a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061159e9190613a01565b6001600160a01b0316146115c557604051630bbd547960e01b815260040160405180910390fd5b8b6001600160a01b0316846001600160a01b031663681e65f06040518163ffffffff1660e01b8152600401602060405180830381865afa15801561160b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061162f9190613a01565b6001600160a01b03161461165657604051632b34b6d960e01b815260040160405180910390fd5b8b6001600160a01b0316886001600160a01b031663de7b5d146040518163ffffffff1660e01b8152600401602060405180830381865afa15801561169c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116c09190613a01565b6001600160a01b0316146116e7576040516331783c7160e11b815260040160405180910390fd5b8a60055f6101000a8154816001600160a01b0302191690836001600160a01b031602179055508860065f6101000a8154816001600160a01b0302191690836001600160a01b031602179055508d60075f6101000a8154816001600160a01b0302191690836001600160a01b031602179055508660085f6101000a8154816001600160a01b0302191690836001600160a01b031602179055508460095f6101000a8154816001600160a01b0302191690836001600160a01b0316021790555082600a5f6101000a8154816001600160a01b0302191690836001600160a01b0316021790555080600b5f6101000a8154816001600160a01b0302191690836001600160a01b031602179055505f60075f9054906101000a90046001600160a01b031690505f60025f9054906101000a90046001600160a01b03166001600160a01b031663026bc43b83611836611be3565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044015f604051808303815f875af115801561187f573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526118a69190810190613abc565b9050805f01519e505050505050505050505050505050919050565b5f73__$1d92393fa9ccd763988368ce8a1cb90d26$__63dda777d3600a6118e661194d565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865af4158015611929573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105399190613a30565b5f611956611f0f565b6001600160a01b03166376b707b76040518163ffffffff1660e01b8152600401602060405180830381865afa158015611991573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105399190613b8c565b336119be611f0f565b6001600160a01b0316816001600160a01b0316146119f95760405162d1953b60e31b81526001600160a01b03821660048201526024016108b8565b816001600160a01b03163b5f03611a2e576040516361798f2f60e11b81526001600160a01b03831660048201526024016108b8565b611a3782612d02565b5050565b611a44336106fd565b611a503361071061194d565b5f611a636001546001600160a01b031690565b604051632f2a35f760e11b81523360048201526001600160a01b039190911690635e546bee90602401602060405180830381865afa158015611aa7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611acb9190613988565b600354604051634bae314b60e01b81526001600160601b038084166004830152851660248201529192506001600160a01b031690634bae314b906044016107cf565b611b16336106fd565b611b223361071061194d565b5f339050806001600160a01b031663311adb686040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b62573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b869190613a01565b604051638689231360e01b81526001600160a01b038581166004830152841515602483015291909116906386892313906044015b5f604051808303815f87803b158015611bd1575f80fd5b505af1158015610d10573d5f803e3d5ffd5b5f805f80516020613deb83398151915280546040516330b8415f60e01b81526001600160601b03909116600482015290915073__$94a2c899be079b00d952d0d84fffaa5c34$__906330b8415f90602401602060405180830381865af4158015611c4f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c7391906139e6565b15611cfe576001546001600160a01b03168154604051631c5da14d60e11b81526001600160601b0390911660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa158015611cd4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611cf89190613a01565b91505090565b54600160601b90046001600160a01b0316919050565b5f80516020613e0b83398151915280545f9190600160a01b900460ff16611d3b575f611cf8565b638fb3603760e01b91505090565b611d52336106fd565b611d5e3361071061194d565b5f339050806001600160a01b031663311adb686040518163ffffffff1660e01b8152600401602060405180830381865afa158015611d9e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611dc29190613a01565b6040516396cdfa3f60e01b815283151560048201526001600160a01b0391909116906396cdfa3f906024016107cf565b611dfb336106fd565b611e073361071061194d565b5f611e1a6001546001600160a01b031690565b604051632f2a35f760e11b81523360048201526001600160a01b039190911690635e546bee90602401602060405180830381865afa158015611e5e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e829190613988565b600354604051636f61deef60e11b81526001600160601b0380841660048301526001600160a01b038781166024840152908616604483015292935091169063dec3bdde906064016020604051808303815f875af1158015611ee5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f099190613988565b50505050565b5f80516020613e0b833981519152546001600160a01b031690565b611f33336106fd565b611f3f3361071061194d565b600854339081905f90611f5a906001600160a01b0316612d62565b604051636791f7ab60e01b81526001600160a01b03858116600483015291925090821690636791f7ab906024015f604051808303815f87803b158015611f9e575f80fd5b505af1158015611fb0573d5f803e3d5ffd5b5050604051633def10c760e21b81526001600160a01b0384811660048301528516925063f7bc431c9150602401611bba565b5f80611fed336106fd565b335f611ff7612dd1565b9050612004818387612eea565b60025460405163026bc43b60e01b81526001600160a01b038084166004830152858116602483015292965091169063026bc43b906044015f604051808303815f875af1158015612056573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261207d9190810190613abc565b5f015192505f60065f9054906101000a90046001600160a01b03166001600160a01b0316638e5bc2936040518163ffffffff1660e01b8152600401602060405180830381865afa1580156120d3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120f79190613a01565b9050816001600160a01b031663a4fe8bff61211a6001546001600160a01b031690565b878461212461194d565b6040516001600160e01b031960e087901b1681526001600160a01b03948516600482015292841660248401529216604482015260ff90911660648201526084015f604051808303815f87803b15801561217b575f80fd5b505af115801561218d573d5f803e3d5ffd5b505050506121a36001546001600160a01b031690565b6001600160a01b0316856001600160a01b0316635ab1bd536040518163ffffffff1660e01b8152600401602060405180830381865afa1580156121e8573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061220c9190613a01565b6001600160a01b03161461222257612222613ba7565b612298856001600160a01b03166376b707b76040518163ffffffff1660e01b8152600401602060405180830381865afa158015612261573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122859190613b8c565b61228d61194d565b60ff90811691161490565b6122a4576122a4613ba7565b60035f9054906101000a90046001600160a01b03166001600160a01b03166375cd31058573__$fb6c7635e3c1acf7e7d82c7d43e7a24671$__63c6edc3dd6040518163ffffffff1660e01b8152600401602060405180830381865af415801561230f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123339190613bbb565b73__$fb6c7635e3c1acf7e7d82c7d43e7a24671$__63f87bf3736040518163ffffffff1660e01b8152600401602060405180830381865af415801561237a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061239e9190613a01565b6040516001600160e01b031960e086901b1681526001600160601b03909316600484015264ffffffffff90911660248301526001600160a01b031660448201526064015f604051808303815f87803b1580156123f8575f80fd5b505af115801561240a573d5f803e3d5ffd5b5050604080516001600160601b03881681526001600160a01b03891660208201527f5f38ba73d945d51535b3c678f341052a70a580bed77c5db38464d02366c29fa8935001905060405180910390a1505050915091565b5f61246b336106fd565b6124773361071061194d565b5f61248a6001546001600160a01b031690565b604051632f2a35f760e11b81523360048201526001600160a01b039190911690635e546bee90602401602060405180830381865afa1580156124ce573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124f29190613988565b6003546040516321ece65760e01b81526001600160601b038084166004830152861660248201529192506001600160a01b0316906321ece657906044016020604051808303815f875af115801561254b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061256f9190613988565b5050919050565b5f80516020613e0b8339815191525f806125ae612591611f0f565b87306125a060045f8a8c613bd6565b6125a991613bfd565b613017565b91509150816107f85763ffffffff81161561264957825460ff60a01b1916600160a01b1783556125dc611f0f565b6001600160a01b03166394c7d7ee8787876040518463ffffffff1660e01b815260040161260b93929190613c35565b5f604051808303815f87803b158015612622575f80fd5b505af1158015612634573d5f803e3d5ffd5b5050845460ff60a01b19168555506107f89050565b60405162d1953b60e31b81526001600160a01b03871660048201526024016108b8565b5f61267f6001546001600160a01b031690565b604051632f2a35f760e11b81526001600160a01b0385811660048301529192505f91831690635e546bee90602401602060405180830381865afa1580156126c8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906126ec9190613988565b604051630a4d29dd60e31b81526001600160601b038216600482015290915073__$94a2c899be079b00d952d0d84fffaa5c34$__906352694ee890602401602060405180830381865af4158015612745573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061276991906139e6565b15612792576040516308afbeb960e31b81526001600160a01b03851660048201526024016108b8565b6040516305247a1760e51b81526001600160601b03821660048201525f906001600160a01b0384169063a48f42e0906024015f60405180830381865afa1580156127de573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526128059190810190613abc565b60400151905060ff8116600a1461284357604051632e87cd2360e11b81526001600160a01b038616600482015260ff821660248201526044016108b8565b60405163b2466acf60e01b815260ff8516600482015273__$b659da7d8a6d2d32aa6c1e17da23dc2174$__9063b2466acf90602401602060405180830381865af4158015612893573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128b791906139e6565b15612961575f856001600160a01b03166376b707b76040518163ffffffff1660e01b8152600401602060405180830381865afa1580156128f9573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061291d9190613b8c565b905060ff808216908616146107f857604051632f251c8760e21b81526001600160601b038416600482015260ff8087166024830152821660448201526064016108b8565b5050505050565b5f805f80516020613deb83398151915280546040516330b8415f60e01b81526001600160601b03909116600482015290915073__$94a2c899be079b00d952d0d84fffaa5c34$__906330b8415f90602401602060405180830381865af41580156129d4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129f891906139e6565b15612a245780546040516301ab8b6760e21b81526001600160601b0390911660048201526024016108b8565b6001546001600160a01b031660405163c3c5a54760e01b81526001600160a01b038581166004830152919091169063c3c5a54790602401602060405180830381865afa158015612a76573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a9a91906139e6565b612ac25760405163b9304b0d60e01b81526001600160a01b03841660048201526024016108b8565b6001546001600160a01b0316604051632f2a35f760e11b81526001600160a01b0385811660048301529190911690635e546bee90602401602060405180830381865afa158015612b14573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b389190613988565b81546bffffffffffffffffffffffff19166001600160601b039190911690811790915592915050565b6101dc61311f565b5f80516020613e2b8339815191528054600160401b810460ff1615906001600160401b03165f81158015612b9a5750825b90505f826001600160401b03166001148015612bb55750303b155b905081158015612bc3575080155b15612be15760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff191660011785558315612c0b57845460ff60401b1916600160401b1785555b5f8087806020019051810190612c219190613c74565b91509150612c3082828b613157565b612c3a60026131f9565b600280546001600160a01b0319166001600160a01b0392909216919091179055612c6460036131f9565b600380546001600160a01b0319166001600160a01b0392909216919091179055612c8e600b6131f9565b600480546001600160a01b0319166001600160a01b0392909216919091179055612cbe6320323db160e01b613290565b50508315610d1057845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602001610d07565b5f80516020613e0b83398151915280546001600160a01b0383166001600160a01b03199091168117825560408051918252517f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad9181900360200190a15050565b5f763d602d80600a3d3981f3363d3d373d3d3d363d730000008260601b60e81c175f526e5af43d82803e903d91602b57fd5bf38260781b17602052603760095ff090506001600160a01b038116612dcc576040516330be1a3d60e21b815260040160405180910390fd5b919050565b5f80612e4f60065f9054906101000a90046001600160a01b03166001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612e26573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612e4a9190613a01565b612d62565b600654909150612e67906001600160a01b0316612d62565b604080516379ccf11760e11b81526001600160a01b0384811660048301526024820192909252600d60448201526c24b739ba30b731b2a0b236b4b760991b606482015291935083169063f399e22e906084015f604051808303815f87803b158015612ed0575f80fd5b505af1158015612ee2573d5f803e3d5ffd5b505050505090565b6007545f908190612f03906001600160a01b0316612d62565b600b549091506001600160a01b038083169163d6d0a65b918891612f279116612d62565b600954612f3c906001600160a01b0316612d62565b600a54612f51906001600160a01b0316612d62565b600854612f66906001600160a01b0316612d62565b6001546001600160a01b0316612f7a61194d565b6040516001600160e01b031960e08a901b1681526001600160a01b03978816600482015295871660248701529386166044860152918516606485015284166084840152831660a483015260ff1660c482015290871660e4820152851515610104820152610124015f604051808303815f87803b158015612ff8575f80fd5b505af115801561300a573d5f803e3d5ffd5b5092979650505050505050565b6040516001600160a01b03848116602483015283811660448301526001600160e01b0319831660648301525f9182918291829189169060840160408051601f198184030181529181526020820180516001600160e01b031663b700961360e01b179052516130859190613ca1565b5f60405180830381855afa9150503d805f81146130bd576040519150601f19603f3d011682016040523d82523d5f602084013e6130c2565b606091505b509150915081156131145760408151106130f457808060200190518101906130ea9190613cb7565b9094509250613114565b6020815110613114578080602001905181019061311191906139e6565b93505b505094509492505050565b5f80516020613e2b83398151915254600160401b900460ff1661315557604051631afcd79f60e31b815260040160405180910390fd5b565b61315f61311f565b6131676132c3565b6131e48383846001600160a01b031663644c45e06040518163ffffffff1660e01b8152600401602060405180830381865afa1580156131a8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906131cc9190613988565b60085f8660405180602001604052805f8152506132d3565b6131f463daf9067160e01b613290565b505050565b5f61320c6001546001600160a01b031690565b6001600160a01b031663d39e60438361322361194d565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865afa158015613266573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061328a9190613a01565b92915050565b61329861311f565b6132c0816001600160e01b0319165f908152602081905260409020805460ff19166001179055565b50565b6132cb61311f565b61315561341a565b6132db61311f565b604051632330f24760e01b81526001600160a01b038816600482015273__$fb599632d08395912d9d70eb2f0f93b5e2$__90632330f24790602401602060405180830381865af4158015613331573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061335591906139e6565b61337d5760405163cf6935e560e01b81526001600160a01b03881660048201526024016108b8565b61338687613448565b6133908683613459565b5f7f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30080546001600160601b0388166cffffffffffffffffffffffffff1990911617600160601b60ff8816021760ff60681b1916600160681b861515021781559050600181016133ff8382613d30565b50613410634a531f3360e01b613290565b5050505050505050565b61342261311f565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b61345061311f565b6132c0816134cf565b61346161311f565b6134696134e0565b61347282613528565b6001600160a01b0381166134995760405163f17ef42d60e01b815260040160405180910390fd5b5f80516020613deb83398151915280546001600160601b0316600160601b6001600160a01b039093169290920291909117905550565b6134d761311f565b6132c081612d02565b6134e861311f565b6131556301ffc9a760e01b5f9081526020527f67be87c3ff9960ca1e9cfac5cab2ff4747269cf9ed20c9b7306235ac35a491c5805460ff19166001179055565b61353061311f565b604051633334d16b60e01b81526001600160a01b038216600482015273__$fb599632d08395912d9d70eb2f0f93b5e2$__90633334d16b90602401602060405180830381865af4158015613586573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906135aa91906139e6565b6135d25760405163fdeac91f60e01b81526001600160a01b03821660048201526024016108b8565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b5f60208284031215613604575f80fd5b81356001600160e01b03198116811461361b575f80fd5b9392505050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081526001600160601b0382511660208201526001600160601b03602083015116604082015260ff60408301511660608201525f6060830151613698608084018215159052565b5060808301516001600160a01b03811660a08401525060a08301516001600160a01b03811660c08401525060c083015160e0808401526136dc610100840182613622565b949350505050565b6001600160a01b03811681146132c0575f80fd5b5f60208284031215613708575f80fd5b813561361b816136e4565b64ffffffffff811681146132c0575f80fd5b5f60208284031215613735575f80fd5b813561361b81613713565b634e487b7160e01b5f52604160045260245ffd5b60405160e081016001600160401b038111828210171561377657613776613740565b60405290565b604051601f8201601f191681016001600160401b03811182821017156137a4576137a4613740565b604052919050565b5f6001600160401b038211156137c4576137c4613740565b50601f01601f191660200190565b5f82601f8301126137e1575f80fd5b81356137f46137ef826137ac565b61377c565b818152846020838601011115613808575f80fd5b816020850160208301375f918101602001919091529392505050565b5f60208284031215613834575f80fd5b81356001600160401b03811115613849575f80fd5b6136dc848285016137d2565b5f8060408385031215613866575f80fd5b8235613871816136e4565b915060208301356001600160401b0381111561388b575f80fd5b613897858286016137d2565b9150509250929050565b6001600160601b03811681146132c0575f80fd5b5f602082840312156138c5575f80fd5b813561361b816138a1565b80151581146132c0575f80fd5b5f80604083850312156138ee575f80fd5b82356138f9816136e4565b91506020830135613909816138d0565b809150509250929050565b5f60208284031215613924575f80fd5b813561361b816138d0565b5f8060408385031215613940575f80fd5b823561394b816136e4565b91506020830135613909816138a1565b5f6020828403121561396b575f80fd5b815162ffffff8116811461361b575f80fd5b8051612dcc816138a1565b5f60208284031215613998575f80fd5b815161361b816138a1565b600181811c908216806139b757607f821691505b6020821081036139d557634e487b7160e01b5f52602260045260245ffd5b50919050565b8051612dcc816138d0565b5f602082840312156139f6575f80fd5b815161361b816138d0565b5f60208284031215613a11575f80fd5b815161361b816136e4565b6001600160401b03811681146132c0575f80fd5b5f60208284031215613a40575f80fd5b815161361b81613a1c565b8051612dcc816136e4565b60ff811681146132c0575f80fd5b8051612dcc81613a56565b5f82601f830112613a7e575f80fd5b8151613a8c6137ef826137ac565b818152846020838601011115613aa0575f80fd5b8160208501602083015e5f918101602001919091529392505050565b5f60208284031215613acc575f80fd5b81516001600160401b03811115613ae1575f80fd5b820160e08185031215613af2575f80fd5b613afa613754565b613b038261397d565b8152613b116020830161397d565b6020820152613b2260408301613a64565b6040820152613b33606083016139db565b6060820152613b4460808301613a4b565b6080820152613b5560a08301613a4b565b60a082015260c08201516001600160401b03811115613b72575f80fd5b613b7e86828501613a6f565b60c083015250949350505050565b5f60208284031215613b9c575f80fd5b815161361b81613a56565b634e487b7160e01b5f52600160045260245ffd5b5f60208284031215613bcb575f80fd5b815161361b81613713565b5f8085851115613be4575f80fd5b83861115613bf0575f80fd5b5050820193919092039150565b80356001600160e01b03198116906004841015613c2e576001600160e01b0319600485900360031b81901b82161691505b5092915050565b6001600160a01b03841681526040602082018190528101829052818360608301375f818301606090810191909152601f909201601f1916010192915050565b5f8060408385031215613c85575f80fd5b8251613c90816136e4565b6020840151909250613909816136e4565b5f82518060208501845e5f920191825250919050565b5f8060408385031215613cc8575f80fd5b8251613cd3816138d0565b602084015190925063ffffffff81168114613909575f80fd5b601f8211156131f457805f5260205f20601f840160051c81016020851015613d115750805b601f840160051c820191505b81811015612961575f8155600101613d1d565b81516001600160401b03811115613d4957613d49613740565b613d5d81613d5784546139a3565b84613cec565b6020601f821160018114613d8f575f8315613d785750848201515b5f19600385901b1c1916600184901b178455612961565b5f84815260208120601f198516915b82811015613dbe5787850151825560209485019460019092019101613d9e565b5084821015613ddb57868401515f19600387901b60f8161c191681555b50505050600190811b0190555056fe07ebcf49758b6ed3af50fa146bec0abe157c0218fe65dc0874c286e9d5da4f00f3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a00f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a2646970667358221220a7a81fe9f04ad0fb81bd65cae6bb7d6694ed5547cdf7bd0fbfe25ba1d5148d5764736f6c634300081a0033",
|
909
|
+
"deployedBytecode": "0x608060405234801561000f575f80fd5b50600436106101dc575f3560e01c806376b707b711610109578063a2356b3a1161009e578063c26517251161006e578063c265172514610451578063d127388714610459578063e52ba1cb14610493578063edabac03146104a6575f80fd5b8063a2356b3a1461041b578063ada9652e1461042e578063b68d180914610442578063bf7e214f14610449575f80fd5b8063872309c7116100d9578063872309c7146103d8578063893d20e8146103df5780638fb36037146103e757806396cdfa3f14610408575f80fd5b806376b707b7146103855780637a9e5e4b1461039f5780637de45f13146103b257806386892313146103c5575f80fd5b8063254f68661161017f5780635ab1bd531161014f5780635ab1bd5314610310578063644c45e0146103355780636a778e73146103525780636c741e7814610365575f80fd5b8063254f6866146102c45780632d764ef8146102d7578063329d6e74146102ea57806349bb9e4b146102fd575f80fd5b806311f77843116101ba57806311f7784314610252578063138461e0146102675780631eff4b221461028757806322f3e2d4146102bc575f80fd5b806301ffc9a7146101e05780630d8e6e2c146102215780630fec111c1461023d575b5f80fd5b61020c6101ee3660046135f4565b6001600160e01b0319165f9081526020819052604090205460ff1690565b60405190151581526020015b60405180910390f35b6102296104b7565b60405162ffffff9091168152602001610218565b61024561053e565b6040516102189190613650565b6102656102603660046136f8565b6106f8565b005b61026f610800565b6040516001600160601b039091168152602001610218565b6102ae7f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30081565b604051908152602001610218565b61020c61080a565b6102656102d23660046136f8565b610881565b6102656102e5366004613725565b6109fc565b6102656102f8366004613824565b610ad3565b61026561030b366004613855565b610c1d565b6001546001600160a01b03165b6040516001600160a01b039091168152602001610218565b5f80516020613deb833981519152546001600160601b031661026f565b61026f6103603660046136f8565b610d19565b61036d6118c1565b6040516001600160401b039091168152602001610218565b61038d61194d565b60405160ff9091168152602001610218565b6102656103ad3660046136f8565b6119b5565b6102656103c03660046138b5565b611a3b565b6102656103d33660046138dd565b611b0d565b6102ae5f81565b61031d611be3565b6103ef611d14565b6040516001600160e01b03199091168152602001610218565b610265610416366004613914565b611d49565b61026561042936600461392f565b611df2565b6102ae5f80516020613deb83398151915281565b600a61038d565b61031d611f0f565b610265611f2a565b61046c610467366004613914565b611fe2565b604080516001600160a01b0390931683526001600160601b03909116602083015201610218565b61026f6104a13660046138b5565b612461565b6008546001600160a01b031661031d565b604051632efe011360e01b8152600360048201525f60248201819052604482018190529073__$8eede297b65ed5a56eb3f84d8232ae93f5$__90632efe011390606401602060405180830381865af4158015610515573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610539919061395b565b905090565b6040805160e0810182525f8082526020820181905291810182905260608082018390526080820183905260a0820183905260c0820152907f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30090506040518060e0016040528073__$94a2c899be079b00d952d0d84fffaa5c34$__63bc1b392d6040518163ffffffff1660e01b8152600401602060405180830381865af41580156105ea573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061060e9190613988565b6001600160601b0390811682528354908116602083015260ff600160601b820481166040840152600160681b909104161515606082015230608082015260a001610656611be3565b6001600160a01b03168152602001826001018054610673906139a3565b80601f016020809104026020016040519081016040528092919081815260200182805461069f906139a3565b80156106ea5780601f106106c1576101008083540402835291602001916106ea565b820191905f5260205f20905b8154815290600101906020018083116106cd57829003601f168201915b505050505081525091505090565b610704335b5f36612576565b6107153361071061194d565b61266c565b5f6107286001546001600160a01b031690565b604051632f2a35f760e11b81523360048201526001600160a01b039190911690635e546bee90602401602060405180830381865afa15801561076c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107909190613988565b60035460405163c26efb0560e01b81526001600160601b03831660048201526001600160a01b03858116602483015292935091169063c26efb05906044015b5f604051808303815f87803b1580156107e6575f80fd5b505af11580156107f8573d5f803e3d5ffd5b505050505050565b5f61053930612968565b5f610813611f0f565b60405163a166aa8960e01b81523060048201526001600160a01b03919091169063a166aa8990602401602060405180830381865afa158015610857573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061087b91906139e6565b15905090565b610889611be3565b6001600160a01b0316336001600160a01b0316146108c15760405163086391f760e31b81523360048201526024015b60405180910390fd5b6008546001600160a01b03166108ea576040516358e5a4af60e01b815260040160405180910390fd5b6001600160a01b03811661091157604051631aa1808560e31b815260040160405180910390fd5b6008546001600160a01b039081169082160361094057604051630666e2a560e01b815260040160405180910390fd5b6007546040805163379ed74560e21b8152905183926001600160a01b03908116929084169163de7b5d14916004808201926020929091908290030181865afa15801561098e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109b29190613a01565b6001600160a01b0316146109d95760405163f026367160e01b815260040160405180910390fd5b50600880546001600160a01b0319166001600160a01b0392909216919091179055565b610a05336106fd565b610a113361071061194d565b5f610a246001546001600160a01b031690565b604051632f2a35f760e11b81523360048201526001600160a01b039190911690635e546bee90602401602060405180830381865afa158015610a68573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a8c9190613988565b60035460405163db1e36e760e01b81526001600160601b038316600482015264ffffffffff851660248201529192506001600160a01b03169063db1e36e7906044016107cf565b73__$8eede297b65ed5a56eb3f84d8232ae93f5$__63a123b37c610af56104b7565b6040516001600160e01b031960e084901b16815262ffffff9091166004820152602401602060405180830381865af4158015610b33573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b579190613a30565b5f80516020613e2b8339815191528054600160401b900460ff1680610b89575080546001600160401b03808416911610155b15610ba75760405163f92ee8a960e01b815260040160405180910390fd5b805468ffffffffffffffffff19166001600160401b03831617600160401b178155610bd183612b61565b805460ff60401b191681556040516001600160401b03831681527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a1505050565b5f80516020613e2b8339815191528054600160401b810460ff1615906001600160401b03165f81158015610c4e5750825b90505f826001600160401b03166001148015610c695750303b155b905081158015610c77575080155b15610c955760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff191660011785558315610cbf57845460ff60401b1916600160401b1785555b610cc98787612b69565b8315610d1057845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2906020015b60405180910390a15b50505050505050565b5f610d22611be3565b6001600160a01b0316336001600160a01b031614610d555760405163086391f760e31b81523360048201526024016108b8565b6007546001600160a01b031615610d7f57604051632c237de760e11b815260040160405180910390fd5b6006546001600160a01b031615610da95760405163ab0cc43960e01b815260040160405180910390fd5b6009546001600160a01b031615610dd35760405163558f4f7b60e11b815260040160405180910390fd5b600a546001600160a01b031615610dfd5760405163d518f81b60e01b815260040160405180910390fd5b6001600160a01b038216610e24576040516309353e4560e11b815260040160405180910390fd5b5f8290505f816001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e65573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e899190613a01565b90505f826001600160a01b031663311adb686040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ec8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610eec9190613a01565b90505f8190505f846001600160a01b03166302cd30716040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f2f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f539190613a01565b90505f8190505f866001600160a01b0316636dddada46040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f96573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fba9190613a01565b90505f8190505f886001600160a01b0316630e0c586d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ffd573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110219190613a01565b90505f8190505f8a6001600160a01b031663d4cda0d86040518163ffffffff1660e01b8152600401602060405180830381865afa158015611064573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110889190613a01565b9050806001600160a01b038b166110b2576040516327ccc33d60e11b815260040160405180910390fd5b6001600160a01b0389166110d8576040516295661560e31b815260040160405180910390fd5b6001600160a01b0387166110ff5760405163e267254160e01b815260040160405180910390fd5b6001600160a01b0385166111265760405163bfebabd760e01b815260040160405180910390fd5b6001600160a01b03831661114d57604051634e336b1d60e11b815260040160405180910390fd5b6001600160a01b038116611174576040516301fa2a2b60e01b815260040160405180910390fd5b896001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156111b0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111d49190613a01565b6001600160a01b03168c6001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611219573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061123d9190613a01565b6001600160a01b031614611264576040516334ddf1a760e21b815260040160405180910390fd5b896001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112a0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112c49190613a01565b6001600160a01b0316866001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611309573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061132d9190613a01565b6001600160a01b0316146113545760405163e168da3760e01b815260040160405180910390fd5b896001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611390573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113b49190613a01565b6001600160a01b0316846001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113f9573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061141d9190613a01565b6001600160a01b031614611444576040516303bc742960e01b815260040160405180910390fd5b896001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611480573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114a49190613a01565b6001600160a01b0316826001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156114e9573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061150d9190613a01565b6001600160a01b03161461153457604051631129422760e31b815260040160405180910390fd5b8b6001600160a01b0316866001600160a01b031663681e65f06040518163ffffffff1660e01b8152600401602060405180830381865afa15801561157a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061159e9190613a01565b6001600160a01b0316146115c557604051630bbd547960e01b815260040160405180910390fd5b8b6001600160a01b0316846001600160a01b031663681e65f06040518163ffffffff1660e01b8152600401602060405180830381865afa15801561160b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061162f9190613a01565b6001600160a01b03161461165657604051632b34b6d960e01b815260040160405180910390fd5b8b6001600160a01b0316886001600160a01b031663de7b5d146040518163ffffffff1660e01b8152600401602060405180830381865afa15801561169c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116c09190613a01565b6001600160a01b0316146116e7576040516331783c7160e11b815260040160405180910390fd5b8a60055f6101000a8154816001600160a01b0302191690836001600160a01b031602179055508860065f6101000a8154816001600160a01b0302191690836001600160a01b031602179055508d60075f6101000a8154816001600160a01b0302191690836001600160a01b031602179055508660085f6101000a8154816001600160a01b0302191690836001600160a01b031602179055508460095f6101000a8154816001600160a01b0302191690836001600160a01b0316021790555082600a5f6101000a8154816001600160a01b0302191690836001600160a01b0316021790555080600b5f6101000a8154816001600160a01b0302191690836001600160a01b031602179055505f60075f9054906101000a90046001600160a01b031690505f60025f9054906101000a90046001600160a01b03166001600160a01b031663026bc43b83611836611be3565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044015f604051808303815f875af115801561187f573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526118a69190810190613abc565b9050805f01519e505050505050505050505050505050919050565b5f73__$1d92393fa9ccd763988368ce8a1cb90d26$__63dda777d3600a6118e661194d565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865af4158015611929573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105399190613a30565b5f611956611f0f565b6001600160a01b03166376b707b76040518163ffffffff1660e01b8152600401602060405180830381865afa158015611991573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105399190613b8c565b336119be611f0f565b6001600160a01b0316816001600160a01b0316146119f95760405162d1953b60e31b81526001600160a01b03821660048201526024016108b8565b816001600160a01b03163b5f03611a2e576040516361798f2f60e11b81526001600160a01b03831660048201526024016108b8565b611a3782612d02565b5050565b611a44336106fd565b611a503361071061194d565b5f611a636001546001600160a01b031690565b604051632f2a35f760e11b81523360048201526001600160a01b039190911690635e546bee90602401602060405180830381865afa158015611aa7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611acb9190613988565b600354604051634bae314b60e01b81526001600160601b038084166004830152851660248201529192506001600160a01b031690634bae314b906044016107cf565b611b16336106fd565b611b223361071061194d565b5f339050806001600160a01b031663311adb686040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b62573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b869190613a01565b604051638689231360e01b81526001600160a01b038581166004830152841515602483015291909116906386892313906044015b5f604051808303815f87803b158015611bd1575f80fd5b505af1158015610d10573d5f803e3d5ffd5b5f805f80516020613deb83398151915280546040516330b8415f60e01b81526001600160601b03909116600482015290915073__$94a2c899be079b00d952d0d84fffaa5c34$__906330b8415f90602401602060405180830381865af4158015611c4f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c7391906139e6565b15611cfe576001546001600160a01b03168154604051631c5da14d60e11b81526001600160601b0390911660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa158015611cd4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611cf89190613a01565b91505090565b54600160601b90046001600160a01b0316919050565b5f80516020613e0b83398151915280545f9190600160a01b900460ff16611d3b575f611cf8565b638fb3603760e01b91505090565b611d52336106fd565b611d5e3361071061194d565b5f339050806001600160a01b031663311adb686040518163ffffffff1660e01b8152600401602060405180830381865afa158015611d9e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611dc29190613a01565b6040516396cdfa3f60e01b815283151560048201526001600160a01b0391909116906396cdfa3f906024016107cf565b611dfb336106fd565b611e073361071061194d565b5f611e1a6001546001600160a01b031690565b604051632f2a35f760e11b81523360048201526001600160a01b039190911690635e546bee90602401602060405180830381865afa158015611e5e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e829190613988565b600354604051636f61deef60e11b81526001600160601b0380841660048301526001600160a01b038781166024840152908616604483015292935091169063dec3bdde906064016020604051808303815f875af1158015611ee5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f099190613988565b50505050565b5f80516020613e0b833981519152546001600160a01b031690565b611f33336106fd565b611f3f3361071061194d565b600854339081905f90611f5a906001600160a01b0316612d62565b604051636791f7ab60e01b81526001600160a01b03858116600483015291925090821690636791f7ab906024015f604051808303815f87803b158015611f9e575f80fd5b505af1158015611fb0573d5f803e3d5ffd5b5050604051633def10c760e21b81526001600160a01b0384811660048301528516925063f7bc431c9150602401611bba565b5f80611fed336106fd565b335f611ff7612dd1565b9050612004818387612eea565b60025460405163026bc43b60e01b81526001600160a01b038084166004830152858116602483015292965091169063026bc43b906044015f604051808303815f875af1158015612056573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261207d9190810190613abc565b5f015192505f60065f9054906101000a90046001600160a01b03166001600160a01b0316638e5bc2936040518163ffffffff1660e01b8152600401602060405180830381865afa1580156120d3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120f79190613a01565b9050816001600160a01b031663a4fe8bff61211a6001546001600160a01b031690565b878461212461194d565b6040516001600160e01b031960e087901b1681526001600160a01b03948516600482015292841660248401529216604482015260ff90911660648201526084015f604051808303815f87803b15801561217b575f80fd5b505af115801561218d573d5f803e3d5ffd5b505050506121a36001546001600160a01b031690565b6001600160a01b0316856001600160a01b0316635ab1bd536040518163ffffffff1660e01b8152600401602060405180830381865afa1580156121e8573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061220c9190613a01565b6001600160a01b03161461222257612222613ba7565b612298856001600160a01b03166376b707b76040518163ffffffff1660e01b8152600401602060405180830381865afa158015612261573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122859190613b8c565b61228d61194d565b60ff90811691161490565b6122a4576122a4613ba7565b60035f9054906101000a90046001600160a01b03166001600160a01b03166375cd31058573__$fb6c7635e3c1acf7e7d82c7d43e7a24671$__63c6edc3dd6040518163ffffffff1660e01b8152600401602060405180830381865af415801561230f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123339190613bbb565b73__$fb6c7635e3c1acf7e7d82c7d43e7a24671$__63f87bf3736040518163ffffffff1660e01b8152600401602060405180830381865af415801561237a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061239e9190613a01565b6040516001600160e01b031960e086901b1681526001600160601b03909316600484015264ffffffffff90911660248301526001600160a01b031660448201526064015f604051808303815f87803b1580156123f8575f80fd5b505af115801561240a573d5f803e3d5ffd5b5050604080516001600160601b03881681526001600160a01b03891660208201527f5f38ba73d945d51535b3c678f341052a70a580bed77c5db38464d02366c29fa8935001905060405180910390a1505050915091565b5f61246b336106fd565b6124773361071061194d565b5f61248a6001546001600160a01b031690565b604051632f2a35f760e11b81523360048201526001600160a01b039190911690635e546bee90602401602060405180830381865afa1580156124ce573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124f29190613988565b6003546040516321ece65760e01b81526001600160601b038084166004830152861660248201529192506001600160a01b0316906321ece657906044016020604051808303815f875af115801561254b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061256f9190613988565b5050919050565b5f80516020613e0b8339815191525f806125ae612591611f0f565b87306125a060045f8a8c613bd6565b6125a991613bfd565b613017565b91509150816107f85763ffffffff81161561264957825460ff60a01b1916600160a01b1783556125dc611f0f565b6001600160a01b03166394c7d7ee8787876040518463ffffffff1660e01b815260040161260b93929190613c35565b5f604051808303815f87803b158015612622575f80fd5b505af1158015612634573d5f803e3d5ffd5b5050845460ff60a01b19168555506107f89050565b60405162d1953b60e31b81526001600160a01b03871660048201526024016108b8565b5f61267f6001546001600160a01b031690565b604051632f2a35f760e11b81526001600160a01b0385811660048301529192505f91831690635e546bee90602401602060405180830381865afa1580156126c8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906126ec9190613988565b604051630a4d29dd60e31b81526001600160601b038216600482015290915073__$94a2c899be079b00d952d0d84fffaa5c34$__906352694ee890602401602060405180830381865af4158015612745573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061276991906139e6565b15612792576040516308afbeb960e31b81526001600160a01b03851660048201526024016108b8565b6040516305247a1760e51b81526001600160601b03821660048201525f906001600160a01b0384169063a48f42e0906024015f60405180830381865afa1580156127de573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526128059190810190613abc565b60400151905060ff8116600a1461284357604051632e87cd2360e11b81526001600160a01b038616600482015260ff821660248201526044016108b8565b60405163b2466acf60e01b815260ff8516600482015273__$b659da7d8a6d2d32aa6c1e17da23dc2174$__9063b2466acf90602401602060405180830381865af4158015612893573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128b791906139e6565b15612961575f856001600160a01b03166376b707b76040518163ffffffff1660e01b8152600401602060405180830381865afa1580156128f9573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061291d9190613b8c565b905060ff808216908616146107f857604051632f251c8760e21b81526001600160601b038416600482015260ff8087166024830152821660448201526064016108b8565b5050505050565b5f805f80516020613deb83398151915280546040516330b8415f60e01b81526001600160601b03909116600482015290915073__$94a2c899be079b00d952d0d84fffaa5c34$__906330b8415f90602401602060405180830381865af41580156129d4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129f891906139e6565b15612a245780546040516301ab8b6760e21b81526001600160601b0390911660048201526024016108b8565b6001546001600160a01b031660405163c3c5a54760e01b81526001600160a01b038581166004830152919091169063c3c5a54790602401602060405180830381865afa158015612a76573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a9a91906139e6565b612ac25760405163b9304b0d60e01b81526001600160a01b03841660048201526024016108b8565b6001546001600160a01b0316604051632f2a35f760e11b81526001600160a01b0385811660048301529190911690635e546bee90602401602060405180830381865afa158015612b14573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b389190613988565b81546bffffffffffffffffffffffff19166001600160601b039190911690811790915592915050565b6101dc61311f565b5f80516020613e2b8339815191528054600160401b810460ff1615906001600160401b03165f81158015612b9a5750825b90505f826001600160401b03166001148015612bb55750303b155b905081158015612bc3575080155b15612be15760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff191660011785558315612c0b57845460ff60401b1916600160401b1785555b5f8087806020019051810190612c219190613c74565b91509150612c3082828b613157565b612c3a60026131f9565b600280546001600160a01b0319166001600160a01b0392909216919091179055612c6460036131f9565b600380546001600160a01b0319166001600160a01b0392909216919091179055612c8e600b6131f9565b600480546001600160a01b0319166001600160a01b0392909216919091179055612cbe6320323db160e01b613290565b50508315610d1057845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602001610d07565b5f80516020613e0b83398151915280546001600160a01b0383166001600160a01b03199091168117825560408051918252517f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad9181900360200190a15050565b5f763d602d80600a3d3981f3363d3d373d3d3d363d730000008260601b60e81c175f526e5af43d82803e903d91602b57fd5bf38260781b17602052603760095ff090506001600160a01b038116612dcc576040516330be1a3d60e21b815260040160405180910390fd5b919050565b5f80612e4f60065f9054906101000a90046001600160a01b03166001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612e26573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612e4a9190613a01565b612d62565b600654909150612e67906001600160a01b0316612d62565b604080516379ccf11760e11b81526001600160a01b0384811660048301526024820192909252600d60448201526c24b739ba30b731b2a0b236b4b760991b606482015291935083169063f399e22e906084015f604051808303815f87803b158015612ed0575f80fd5b505af1158015612ee2573d5f803e3d5ffd5b505050505090565b6007545f908190612f03906001600160a01b0316612d62565b600b549091506001600160a01b038083169163d6d0a65b918891612f279116612d62565b600954612f3c906001600160a01b0316612d62565b600a54612f51906001600160a01b0316612d62565b600854612f66906001600160a01b0316612d62565b6001546001600160a01b0316612f7a61194d565b6040516001600160e01b031960e08a901b1681526001600160a01b03978816600482015295871660248701529386166044860152918516606485015284166084840152831660a483015260ff1660c482015290871660e4820152851515610104820152610124015f604051808303815f87803b158015612ff8575f80fd5b505af115801561300a573d5f803e3d5ffd5b5092979650505050505050565b6040516001600160a01b03848116602483015283811660448301526001600160e01b0319831660648301525f9182918291829189169060840160408051601f198184030181529181526020820180516001600160e01b031663b700961360e01b179052516130859190613ca1565b5f60405180830381855afa9150503d805f81146130bd576040519150601f19603f3d011682016040523d82523d5f602084013e6130c2565b606091505b509150915081156131145760408151106130f457808060200190518101906130ea9190613cb7565b9094509250613114565b6020815110613114578080602001905181019061311191906139e6565b93505b505094509492505050565b5f80516020613e2b83398151915254600160401b900460ff1661315557604051631afcd79f60e31b815260040160405180910390fd5b565b61315f61311f565b6131676132c3565b6131e48383846001600160a01b031663644c45e06040518163ffffffff1660e01b8152600401602060405180830381865afa1580156131a8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906131cc9190613988565b60085f8660405180602001604052805f8152506132d3565b6131f463daf9067160e01b613290565b505050565b5f61320c6001546001600160a01b031690565b6001600160a01b031663d39e60438361322361194d565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865afa158015613266573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061328a9190613a01565b92915050565b61329861311f565b6132c0816001600160e01b0319165f908152602081905260409020805460ff19166001179055565b50565b6132cb61311f565b61315561341a565b6132db61311f565b604051632330f24760e01b81526001600160a01b038816600482015273__$fb599632d08395912d9d70eb2f0f93b5e2$__90632330f24790602401602060405180830381865af4158015613331573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061335591906139e6565b61337d5760405163cf6935e560e01b81526001600160a01b03881660048201526024016108b8565b61338687613448565b6133908683613459565b5f7f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30080546001600160601b0388166cffffffffffffffffffffffffff1990911617600160601b60ff8816021760ff60681b1916600160681b861515021781559050600181016133ff8382613d30565b50613410634a531f3360e01b613290565b5050505050505050565b61342261311f565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b61345061311f565b6132c0816134cf565b61346161311f565b6134696134e0565b61347282613528565b6001600160a01b0381166134995760405163f17ef42d60e01b815260040160405180910390fd5b5f80516020613deb83398151915280546001600160601b0316600160601b6001600160a01b039093169290920291909117905550565b6134d761311f565b6132c081612d02565b6134e861311f565b6131556301ffc9a760e01b5f9081526020527f67be87c3ff9960ca1e9cfac5cab2ff4747269cf9ed20c9b7306235ac35a491c5805460ff19166001179055565b61353061311f565b604051633334d16b60e01b81526001600160a01b038216600482015273__$fb599632d08395912d9d70eb2f0f93b5e2$__90633334d16b90602401602060405180830381865af4158015613586573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906135aa91906139e6565b6135d25760405163fdeac91f60e01b81526001600160a01b03821660048201526024016108b8565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b5f60208284031215613604575f80fd5b81356001600160e01b03198116811461361b575f80fd5b9392505050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081526001600160601b0382511660208201526001600160601b03602083015116604082015260ff60408301511660608201525f6060830151613698608084018215159052565b5060808301516001600160a01b03811660a08401525060a08301516001600160a01b03811660c08401525060c083015160e0808401526136dc610100840182613622565b949350505050565b6001600160a01b03811681146132c0575f80fd5b5f60208284031215613708575f80fd5b813561361b816136e4565b64ffffffffff811681146132c0575f80fd5b5f60208284031215613735575f80fd5b813561361b81613713565b634e487b7160e01b5f52604160045260245ffd5b60405160e081016001600160401b038111828210171561377657613776613740565b60405290565b604051601f8201601f191681016001600160401b03811182821017156137a4576137a4613740565b604052919050565b5f6001600160401b038211156137c4576137c4613740565b50601f01601f191660200190565b5f82601f8301126137e1575f80fd5b81356137f46137ef826137ac565b61377c565b818152846020838601011115613808575f80fd5b816020850160208301375f918101602001919091529392505050565b5f60208284031215613834575f80fd5b81356001600160401b03811115613849575f80fd5b6136dc848285016137d2565b5f8060408385031215613866575f80fd5b8235613871816136e4565b915060208301356001600160401b0381111561388b575f80fd5b613897858286016137d2565b9150509250929050565b6001600160601b03811681146132c0575f80fd5b5f602082840312156138c5575f80fd5b813561361b816138a1565b80151581146132c0575f80fd5b5f80604083850312156138ee575f80fd5b82356138f9816136e4565b91506020830135613909816138d0565b809150509250929050565b5f60208284031215613924575f80fd5b813561361b816138d0565b5f8060408385031215613940575f80fd5b823561394b816136e4565b91506020830135613909816138a1565b5f6020828403121561396b575f80fd5b815162ffffff8116811461361b575f80fd5b8051612dcc816138a1565b5f60208284031215613998575f80fd5b815161361b816138a1565b600181811c908216806139b757607f821691505b6020821081036139d557634e487b7160e01b5f52602260045260245ffd5b50919050565b8051612dcc816138d0565b5f602082840312156139f6575f80fd5b815161361b816138d0565b5f60208284031215613a11575f80fd5b815161361b816136e4565b6001600160401b03811681146132c0575f80fd5b5f60208284031215613a40575f80fd5b815161361b81613a1c565b8051612dcc816136e4565b60ff811681146132c0575f80fd5b8051612dcc81613a56565b5f82601f830112613a7e575f80fd5b8151613a8c6137ef826137ac565b818152846020838601011115613aa0575f80fd5b8160208501602083015e5f918101602001919091529392505050565b5f60208284031215613acc575f80fd5b81516001600160401b03811115613ae1575f80fd5b820160e08185031215613af2575f80fd5b613afa613754565b613b038261397d565b8152613b116020830161397d565b6020820152613b2260408301613a64565b6040820152613b33606083016139db565b6060820152613b4460808301613a4b565b6080820152613b5560a08301613a4b565b60a082015260c08201516001600160401b03811115613b72575f80fd5b613b7e86828501613a6f565b60c083015250949350505050565b5f60208284031215613b9c575f80fd5b815161361b81613a56565b634e487b7160e01b5f52600160045260245ffd5b5f60208284031215613bcb575f80fd5b815161361b81613713565b5f8085851115613be4575f80fd5b83861115613bf0575f80fd5b5050820193919092039150565b80356001600160e01b03198116906004841015613c2e576001600160e01b0319600485900360031b81901b82161691505b5092915050565b6001600160a01b03841681526040602082018190528101829052818360608301375f818301606090810191909152601f909201601f1916010192915050565b5f8060408385031215613c85575f80fd5b8251613c90816136e4565b6020840151909250613909816136e4565b5f82518060208501845e5f920191825250919050565b5f8060408385031215613cc8575f80fd5b8251613cd3816138d0565b602084015190925063ffffffff81168114613909575f80fd5b601f8211156131f457805f5260205f20601f840160051c81016020851015613d115750805b601f840160051c820191505b81811015612961575f8155600101613d1d565b81516001600160401b03811115613d4957613d49613740565b613d5d81613d5784546139a3565b84613cec565b6020601f821160018114613d8f575f8315613d785750848201515b5f19600385901b1c1916600184901b178455612961565b5f84815260208120601f198516915b82811015613dbe5787850151825560209485019460019092019101613d9e565b5084821015613ddb57868401515f19600387901b60f8161c191681555b50505050600190811b0190555056fe07ebcf49758b6ed3af50fa146bec0abe157c0218fe65dc0874c286e9d5da4f00f3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a00f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a2646970667358221220a7a81fe9f04ad0fb81bd65cae6bb7d6694ed5547cdf7bd0fbfe25ba1d5148d5764736f6c634300081a0033",
|
851
910
|
"linkReferences": {
|
852
|
-
"contracts/
|
853
|
-
"
|
854
|
-
{
|
855
|
-
"length": 20,
|
856
|
-
"start": 5676
|
857
|
-
}
|
858
|
-
]
|
859
|
-
},
|
860
|
-
"contracts/types/NftId.sol": {
|
861
|
-
"NftIdLib": [
|
911
|
+
"contracts/shared/ContractLib.sol": {
|
912
|
+
"ContractLib": [
|
862
913
|
{
|
863
914
|
"length": 20,
|
864
|
-
"start":
|
915
|
+
"start": 13263
|
865
916
|
},
|
866
917
|
{
|
867
918
|
"length": 20,
|
868
|
-
"start":
|
869
|
-
},
|
870
|
-
{
|
871
|
-
"length": 20,
|
872
|
-
"start": 8521
|
919
|
+
"start": 13860
|
873
920
|
}
|
874
921
|
]
|
875
922
|
},
|
876
|
-
"contracts/
|
877
|
-
"
|
878
|
-
{
|
879
|
-
"length": 20,
|
880
|
-
"start": 13237
|
881
|
-
},
|
882
|
-
{
|
883
|
-
"length": 20,
|
884
|
-
"start": 13358
|
885
|
-
},
|
886
|
-
{
|
887
|
-
"length": 20,
|
888
|
-
"start": 13418
|
889
|
-
},
|
890
|
-
{
|
891
|
-
"length": 20,
|
892
|
-
"start": 14156
|
893
|
-
},
|
923
|
+
"contracts/staking/TargetManagerLib.sol": {
|
924
|
+
"TargetManagerLib": [
|
894
925
|
{
|
895
926
|
"length": 20,
|
896
|
-
"start":
|
927
|
+
"start": 9120
|
897
928
|
},
|
898
929
|
{
|
899
930
|
"length": 20,
|
900
|
-
"start":
|
901
|
-
}
|
931
|
+
"start": 9227
|
932
|
+
}
|
933
|
+
]
|
934
|
+
},
|
935
|
+
"contracts/type/NftId.sol": {
|
936
|
+
"NftIdLib": [
|
902
937
|
{
|
903
938
|
"length": 20,
|
904
|
-
"start":
|
939
|
+
"start": 1659
|
905
940
|
},
|
906
941
|
{
|
907
942
|
"length": 20,
|
908
|
-
"start":
|
943
|
+
"start": 7405
|
909
944
|
},
|
910
945
|
{
|
911
946
|
"length": 20,
|
912
|
-
"start":
|
947
|
+
"start": 10211
|
913
948
|
},
|
914
949
|
{
|
915
950
|
"length": 20,
|
916
|
-
"start":
|
951
|
+
"start": 10866
|
917
952
|
}
|
918
953
|
]
|
919
954
|
},
|
920
|
-
"contracts/
|
921
|
-
"
|
955
|
+
"contracts/type/RoleId.sol": {
|
956
|
+
"RoleIdLib": [
|
922
957
|
{
|
923
958
|
"length": 20,
|
924
|
-
"start":
|
959
|
+
"start": 6554
|
925
960
|
}
|
926
961
|
]
|
927
962
|
},
|
928
|
-
"contracts/
|
963
|
+
"contracts/type/Version.sol": {
|
929
964
|
"VersionLib": [
|
930
965
|
{
|
931
966
|
"length": 20,
|
932
|
-
"start":
|
967
|
+
"start": 1459
|
933
968
|
},
|
934
969
|
{
|
935
970
|
"length": 20,
|
936
|
-
"start":
|
937
|
-
}
|
971
|
+
"start": 2987
|
972
|
+
}
|
973
|
+
],
|
974
|
+
"VersionPartLib": [
|
938
975
|
{
|
939
976
|
"length": 20,
|
940
|
-
"start":
|
977
|
+
"start": 10545
|
941
978
|
}
|
942
979
|
]
|
943
980
|
}
|
944
981
|
},
|
945
982
|
"deployedLinkReferences": {
|
946
|
-
"contracts/
|
947
|
-
"
|
948
|
-
{
|
949
|
-
"length": 20,
|
950
|
-
"start": 5362
|
951
|
-
}
|
952
|
-
]
|
953
|
-
},
|
954
|
-
"contracts/types/NftId.sol": {
|
955
|
-
"NftIdLib": [
|
956
|
-
{
|
957
|
-
"length": 20,
|
958
|
-
"start": 2424
|
959
|
-
},
|
983
|
+
"contracts/shared/ContractLib.sol": {
|
984
|
+
"ContractLib": [
|
960
985
|
{
|
961
986
|
"length": 20,
|
962
|
-
"start":
|
987
|
+
"start": 13049
|
963
988
|
},
|
964
989
|
{
|
965
990
|
"length": 20,
|
966
|
-
"start":
|
991
|
+
"start": 13646
|
967
992
|
}
|
968
993
|
]
|
969
994
|
},
|
970
|
-
"contracts/
|
971
|
-
"
|
972
|
-
{
|
973
|
-
"length": 20,
|
974
|
-
"start": 12923
|
975
|
-
},
|
976
|
-
{
|
977
|
-
"length": 20,
|
978
|
-
"start": 13044
|
979
|
-
},
|
980
|
-
{
|
981
|
-
"length": 20,
|
982
|
-
"start": 13104
|
983
|
-
},
|
995
|
+
"contracts/staking/TargetManagerLib.sol": {
|
996
|
+
"TargetManagerLib": [
|
984
997
|
{
|
985
998
|
"length": 20,
|
986
|
-
"start":
|
999
|
+
"start": 8906
|
987
1000
|
},
|
988
1001
|
{
|
989
1002
|
"length": 20,
|
990
|
-
"start":
|
991
|
-
}
|
992
|
-
|
993
|
-
|
994
|
-
|
995
|
-
|
1003
|
+
"start": 9013
|
1004
|
+
}
|
1005
|
+
]
|
1006
|
+
},
|
1007
|
+
"contracts/type/NftId.sol": {
|
1008
|
+
"NftIdLib": [
|
996
1009
|
{
|
997
1010
|
"length": 20,
|
998
|
-
"start":
|
1011
|
+
"start": 1445
|
999
1012
|
},
|
1000
1013
|
{
|
1001
1014
|
"length": 20,
|
1002
|
-
"start":
|
1015
|
+
"start": 7191
|
1003
1016
|
},
|
1004
1017
|
{
|
1005
1018
|
"length": 20,
|
1006
|
-
"start":
|
1019
|
+
"start": 9997
|
1007
1020
|
},
|
1008
1021
|
{
|
1009
1022
|
"length": 20,
|
1010
|
-
"start":
|
1023
|
+
"start": 10652
|
1011
1024
|
}
|
1012
1025
|
]
|
1013
1026
|
},
|
1014
|
-
"contracts/
|
1015
|
-
"
|
1027
|
+
"contracts/type/RoleId.sol": {
|
1028
|
+
"RoleIdLib": [
|
1016
1029
|
{
|
1017
1030
|
"length": 20,
|
1018
|
-
"start":
|
1031
|
+
"start": 6340
|
1019
1032
|
}
|
1020
1033
|
]
|
1021
1034
|
},
|
1022
|
-
"contracts/
|
1035
|
+
"contracts/type/Version.sol": {
|
1023
1036
|
"VersionLib": [
|
1024
1037
|
{
|
1025
1038
|
"length": 20,
|
1026
|
-
"start":
|
1039
|
+
"start": 1245
|
1027
1040
|
},
|
1028
1041
|
{
|
1029
1042
|
"length": 20,
|
1030
|
-
"start":
|
1031
|
-
}
|
1043
|
+
"start": 2773
|
1044
|
+
}
|
1045
|
+
],
|
1046
|
+
"VersionPartLib": [
|
1032
1047
|
{
|
1033
1048
|
"length": 20,
|
1034
|
-
"start":
|
1049
|
+
"start": 10331
|
1035
1050
|
}
|
1036
1051
|
]
|
1037
1052
|
}
|