@etherisc/gif-next 0.0.2-ba07940-332 → 0.0.2-ba4eef0-232
Sign up to get free protection for your applications and to get access to all the features.
- package/README.md +27 -6
- 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 +1 -1
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +449 -248
- 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 +1 -1
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +202 -5
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +222 -21
- package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +348 -184
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +100 -13
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +2 -2
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +92 -285
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +207 -33
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +44 -162
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +309 -168
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +89 -51
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +31 -131
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +177 -67
- package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +93 -139
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +188 -46
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +247 -287
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +207 -33
- package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +161 -244
- 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 +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +76 -155
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +130 -131
- 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 +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +288 -226
- 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 +1 -1
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +193 -45
- package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.json +184 -22
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +112 -12
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +221 -39
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +700 -317
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +201 -46
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +619 -219
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +138 -85
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +46 -34
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +421 -371
- 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 +1 -1
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +2 -2
- package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +2 -2
- package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +2 -2
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +16 -5
- 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 +1 -1
- 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 +1 -1
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +66 -167
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +189 -35
- package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +36 -71
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +27 -3
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +50 -103
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +112 -81
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +69 -27
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +49 -102
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +188 -46
- package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleService.sol/BundleService.json +127 -331
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +53 -87
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +56 -136
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +36 -95
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +163 -226
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
- package/artifacts/contracts/pool/Pool.sol/Pool.json +49 -126
- 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 +1 -1
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +302 -363
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +93 -51
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +165 -57
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +54 -24
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +155 -193
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +207 -33
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +244 -179
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +74 -64
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +103 -10
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +142 -20
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +112 -56
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +48 -3
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +142 -162
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +1 -1
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.json +58 -7
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +211 -180
- 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 +1 -1
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +76 -50
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +120 -76
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +60 -38
- package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
- package/artifacts/contracts/product/Product.sol/Product.json +155 -193
- package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +1 -1
- package/artifacts/contracts/product/RiskService.sol/RiskService.json +143 -77
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +66 -24
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +2 -2
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +50 -2
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +31 -7
- 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/Registry.sol/Registry.dbg.json +1 -1
- package/artifacts/contracts/registry/Registry.sol/Registry.json +88 -40
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +556 -424
- 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 +69 -46
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +42 -20
- 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 +1 -1
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +2 -2
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +324 -54
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +6 -6
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +4 -4
- package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
- package/artifacts/contracts/shared/Component.sol/Component.json +49 -88
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +228 -440
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +65 -63
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.json +27 -16
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +1 -1
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +509 -4
- 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 +1 -1
- package/artifacts/contracts/shared/IComponent.sol/IComponent.json +36 -57
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +123 -262
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +36 -71
- package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
- package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +120 -1
- package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
- package/artifacts/contracts/shared/IService.sol/IService.json +27 -3
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +1 -1
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +2 -2
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +49 -102
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
- package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +1 -1
- package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +2 -2
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +2 -2
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +2 -2
- package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
- package/artifacts/contracts/shared/Registerable.sol/Registerable.json +118 -62
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -2
- package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
- package/artifacts/contracts/shared/Service.sol/Service.json +27 -16
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +327 -73
- 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 +1 -1
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +88 -24
- package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
- package/artifacts/contracts/staking/IStaking.sol/IStaking.json +116 -90
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +127 -3
- package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
- package/artifacts/contracts/staking/Staking.sol/Staking.json +193 -193
- 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 +1 -1
- package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +2 -2
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +61 -45
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +30 -57
- package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingService.sol/StakingService.json +180 -49
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +50 -24
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +143 -129
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +33 -23
- package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
- package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
- package/artifacts/contracts/type/Amount.sol/AmountLib.json +3 -3
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +2 -2
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +2 -2
- package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
- package/artifacts/contracts/type/Fee.sol/FeeLib.json +3 -3
- package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
- package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
- 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 +1 -1
- package/artifacts/contracts/type/NftId.sol/NftIdLib.json +23 -4
- package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
- package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +33 -31
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +2 -2
- package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
- package/artifacts/contracts/type/Referral.sol/ReferralLib.json +2 -2
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +2 -2
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +69 -7
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +79 -15
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
- package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
- package/artifacts/contracts/type/Selector.sol/SelectorLib.json +21 -2
- package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
- package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +2 -2
- package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +2 -2
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +3 -3
- package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionLib.json +2 -21
- package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionPartLib.json +101 -2
- package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +18 -2
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +1 -1
- 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 +300 -192
- package/contracts/authorization/AccessAdminLib.sol +183 -0
- package/contracts/authorization/AccessManagerCloneable.sol +146 -4
- package/contracts/authorization/Authorization.sol +307 -231
- package/contracts/authorization/IAccessAdmin.sol +69 -36
- package/contracts/authorization/IAuthorization.sol +21 -1
- package/contracts/distribution/BasicDistribution.sol +18 -16
- package/contracts/distribution/BasicDistributionAuthorization.sol +22 -9
- package/contracts/distribution/Distribution.sol +36 -77
- package/contracts/distribution/DistributionService.sol +84 -53
- package/contracts/distribution/DistributionServiceManager.sol +1 -1
- package/contracts/distribution/IDistributionComponent.sol +0 -9
- package/contracts/distribution/IDistributionService.sol +22 -20
- package/contracts/examples/fire/FirePool.sol +10 -11
- package/contracts/examples/fire/FirePoolAuthorization.sol +2 -1
- package/contracts/examples/fire/FireProduct.sol +16 -11
- package/contracts/examples/fire/FireProductAuthorization.sol +2 -1
- package/contracts/examples/unpermissioned/SimpleDistribution.sol +39 -8
- package/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol +28 -0
- package/contracts/examples/unpermissioned/SimpleOracle.sol +4 -8
- package/contracts/examples/unpermissioned/SimplePool.sol +26 -5
- package/contracts/examples/unpermissioned/SimplePoolAuthorization.sol +28 -0
- package/contracts/examples/unpermissioned/SimpleProduct.sol +36 -8
- package/contracts/examples/unpermissioned/SimpleProductAuthorization.sol +28 -0
- package/contracts/instance/BundleSet.sol +42 -38
- package/contracts/instance/IInstance.sol +56 -17
- package/contracts/instance/IInstanceService.sol +22 -10
- package/contracts/instance/Instance.sol +93 -29
- package/contracts/instance/InstanceAdmin.sol +279 -106
- package/contracts/instance/InstanceAuthorizationV3.sol +87 -46
- package/contracts/instance/InstanceReader.sol +187 -32
- package/contracts/instance/InstanceService.sol +167 -115
- package/contracts/instance/InstanceServiceManager.sol +1 -1
- package/contracts/instance/InstanceStore.sol +13 -2
- package/contracts/instance/RiskSet.sol +118 -0
- package/contracts/instance/base/ObjectCounter.sol +1 -2
- package/contracts/instance/base/ObjectLifecycle.sol +4 -2
- package/contracts/instance/base/ObjectSet.sol +31 -33
- package/contracts/instance/base/ObjectSetHelperLib.sol +30 -0
- package/contracts/instance/module/IComponents.sol +3 -4
- package/contracts/instance/module/IDistribution.sol +5 -2
- package/contracts/instance/module/IPolicy.sol +2 -1
- package/contracts/instance/module/IRisk.sol +3 -0
- package/contracts/oracle/BasicOracle.sol +1 -3
- package/contracts/oracle/BasicOracleAuthorization.sol +3 -12
- package/contracts/oracle/Oracle.sol +1 -3
- package/contracts/oracle/OracleService.sol +92 -73
- package/contracts/oracle/OracleServiceManager.sol +1 -1
- package/contracts/pool/BasicPool.sol +19 -2
- package/contracts/pool/BasicPoolAuthorization.sol +22 -14
- package/contracts/pool/BundleService.sol +88 -154
- package/contracts/pool/BundleServiceManager.sol +1 -1
- package/contracts/pool/IBundleService.sol +15 -43
- package/contracts/pool/IPoolComponent.sol +1 -5
- package/contracts/pool/IPoolService.sol +58 -62
- package/contracts/pool/Pool.sol +95 -81
- package/contracts/pool/PoolLib.sol +216 -0
- package/contracts/pool/PoolService.sol +418 -211
- package/contracts/pool/PoolServiceManager.sol +1 -1
- package/contracts/product/ApplicationService.sol +39 -16
- package/contracts/product/ApplicationServiceManager.sol +1 -1
- package/contracts/product/BasicProduct.sol +2 -2
- package/contracts/product/BasicProductAuthorization.sol +24 -10
- package/contracts/product/ClaimService.sol +177 -136
- package/contracts/product/ClaimServiceManager.sol +1 -1
- package/contracts/product/IApplicationService.sol +8 -2
- package/contracts/product/IClaimService.sol +14 -2
- package/contracts/product/IPolicyService.sol +26 -11
- package/contracts/product/IPricingService.sol +1 -0
- package/contracts/product/IProductComponent.sol +4 -1
- package/contracts/product/IRiskService.sol +7 -7
- package/contracts/product/PolicyService.sol +244 -263
- package/contracts/product/PolicyServiceLib.sol +65 -0
- package/contracts/product/PolicyServiceManager.sol +1 -1
- package/contracts/product/PricingService.sol +32 -20
- package/contracts/product/PricingServiceManager.sol +3 -3
- package/contracts/product/Product.sol +59 -23
- package/contracts/product/RiskService.sol +89 -31
- package/contracts/product/RiskServiceManager.sol +1 -1
- package/contracts/registry/ChainNft.sol +4 -2
- package/contracts/registry/IRegistry.sol +10 -15
- package/contracts/registry/IRelease.sol +26 -0
- package/contracts/registry/Registry.sol +16 -3
- package/contracts/registry/RegistryAdmin.sol +145 -335
- package/contracts/registry/RegistryAuthorization.sol +267 -0
- package/contracts/registry/RegistryService.sol +3 -3
- package/contracts/registry/RegistryServiceManager.sol +1 -1
- package/contracts/registry/ReleaseAdmin.sol +253 -0
- package/contracts/registry/ReleaseLifecycle.sol +2 -0
- package/contracts/registry/ReleaseRegistry.sol +150 -134
- package/contracts/registry/ServiceAuthorizationV3.sol +177 -40
- package/contracts/registry/TokenRegistry.sol +6 -8
- package/contracts/shared/Component.sol +52 -107
- package/contracts/shared/ComponentService.sol +264 -291
- package/contracts/shared/ComponentServiceManager.sol +1 -1
- package/contracts/shared/ComponentVerifyingService.sol +16 -14
- package/contracts/shared/ContractLib.sol +246 -3
- package/contracts/shared/IComponent.sol +1 -17
- package/contracts/shared/IComponentService.sol +18 -26
- package/contracts/shared/IInstanceLinkedComponent.sol +0 -11
- package/contracts/shared/IRegisterable.sol +15 -4
- package/contracts/shared/IService.sol +3 -5
- package/contracts/shared/InitializableERC165.sol +9 -1
- package/contracts/shared/InstanceLinkedComponent.sol +4 -22
- package/contracts/shared/NftOwnable.sol +10 -6
- package/contracts/shared/PolicyHolder.sol +1 -1
- package/contracts/shared/Registerable.sol +41 -20
- package/contracts/shared/RegistryLinked.sol +7 -13
- package/contracts/shared/Service.sol +8 -27
- package/contracts/shared/TokenHandler.sol +275 -72
- package/contracts/shared/TokenHandlerDeployerLib.sol +10 -2
- package/contracts/staking/IStaking.sol +17 -10
- package/contracts/staking/IStakingService.sol +16 -1
- package/contracts/staking/Staking.sol +95 -46
- package/contracts/staking/{StakeManagerLib.sol → StakingLib.sol} +80 -23
- package/contracts/staking/StakingReader.sol +6 -16
- package/contracts/staking/StakingService.sol +85 -14
- package/contracts/staking/StakingServiceManager.sol +5 -4
- package/contracts/staking/StakingStore.sol +2 -1
- package/contracts/type/Key32.sol +2 -2
- package/contracts/type/Key32Set.sol +62 -0
- package/contracts/type/NftId.sol +6 -0
- package/contracts/type/ObjectType.sol +53 -35
- package/contracts/type/RiskId.sol +26 -8
- package/contracts/type/RoleId.sol +24 -4
- package/contracts/type/Selector.sol +5 -0
- package/contracts/type/Timestamp.sol +0 -5
- package/contracts/type/UFixed.sol +9 -119
- package/contracts/type/Version.sol +54 -5
- package/contracts/upgradeability/ProxyManager.sol +1 -1
- package/package.json +4 -4
- package/artifacts/contracts/authorization/ReleaseAccessManager.sol/ReleaseAccessManager.dbg.json +0 -4
- package/artifacts/contracts/authorization/ReleaseAccessManager.sol/ReleaseAccessManager.json +0 -1196
- package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +0 -4
- package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +0 -129
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +0 -4
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +0 -440
- package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +0 -4
- package/artifacts/contracts/type/UFixed.sol/MathLib.json +0 -16
- package/contracts/authorization/ReleaseAccessManager.sol +0 -38
- package/contracts/instance/module/IAccess.sol +0 -46
@@ -52,6 +52,11 @@
|
|
52
52
|
"name": "AccessManagedUnauthorized",
|
53
53
|
"type": "error"
|
54
54
|
},
|
55
|
+
{
|
56
|
+
"inputs": [],
|
57
|
+
"name": "ERC1167FailedCreateClone",
|
58
|
+
"type": "error"
|
59
|
+
},
|
55
60
|
{
|
56
61
|
"inputs": [
|
57
62
|
{
|
@@ -200,7 +205,7 @@
|
|
200
205
|
},
|
201
206
|
{
|
202
207
|
"internalType": "VersionPart",
|
203
|
-
"name": "
|
208
|
+
"name": "release",
|
204
209
|
"type": "uint8"
|
205
210
|
}
|
206
211
|
],
|
@@ -411,7 +416,7 @@
|
|
411
416
|
{
|
412
417
|
"indexed": false,
|
413
418
|
"internalType": "VersionPart",
|
414
|
-
"name": "
|
419
|
+
"name": "release",
|
415
420
|
"type": "uint8"
|
416
421
|
}
|
417
422
|
],
|
@@ -421,10 +426,16 @@
|
|
421
426
|
{
|
422
427
|
"anonymous": false,
|
423
428
|
"inputs": [
|
429
|
+
{
|
430
|
+
"indexed": false,
|
431
|
+
"internalType": "contract IAccessAdmin",
|
432
|
+
"name": "admin",
|
433
|
+
"type": "address"
|
434
|
+
},
|
424
435
|
{
|
425
436
|
"indexed": false,
|
426
437
|
"internalType": "VersionPart",
|
427
|
-
"name": "
|
438
|
+
"name": "release",
|
428
439
|
"type": "uint8"
|
429
440
|
},
|
430
441
|
{
|
@@ -443,7 +454,7 @@
|
|
443
454
|
{
|
444
455
|
"indexed": false,
|
445
456
|
"internalType": "VersionPart",
|
446
|
-
"name": "
|
457
|
+
"name": "release",
|
447
458
|
"type": "uint8"
|
448
459
|
}
|
449
460
|
],
|
@@ -456,7 +467,7 @@
|
|
456
467
|
{
|
457
468
|
"indexed": false,
|
458
469
|
"internalType": "VersionPart",
|
459
|
-
"name": "
|
470
|
+
"name": "release",
|
460
471
|
"type": "uint8"
|
461
472
|
}
|
462
473
|
],
|
@@ -478,10 +489,10 @@
|
|
478
489
|
},
|
479
490
|
{
|
480
491
|
"inputs": [],
|
481
|
-
"name": "
|
492
|
+
"name": "_registry",
|
482
493
|
"outputs": [
|
483
494
|
{
|
484
|
-
"internalType": "contract
|
495
|
+
"internalType": "contract Registry",
|
485
496
|
"name": "",
|
486
497
|
"type": "address"
|
487
498
|
}
|
@@ -491,10 +502,10 @@
|
|
491
502
|
},
|
492
503
|
{
|
493
504
|
"inputs": [],
|
494
|
-
"name": "
|
505
|
+
"name": "_registryAdmin",
|
495
506
|
"outputs": [
|
496
507
|
{
|
497
|
-
"internalType": "contract
|
508
|
+
"internalType": "contract RegistryAdmin",
|
498
509
|
"name": "",
|
499
510
|
"type": "address"
|
500
511
|
}
|
@@ -638,7 +649,7 @@
|
|
638
649
|
"inputs": [
|
639
650
|
{
|
640
651
|
"internalType": "VersionPart",
|
641
|
-
"name": "
|
652
|
+
"name": "release",
|
642
653
|
"type": "uint8"
|
643
654
|
}
|
644
655
|
],
|
@@ -666,6 +677,11 @@
|
|
666
677
|
"name": "auth",
|
667
678
|
"type": "address"
|
668
679
|
},
|
680
|
+
{
|
681
|
+
"internalType": "address",
|
682
|
+
"name": "releaseAdmin",
|
683
|
+
"type": "address"
|
684
|
+
},
|
669
685
|
{
|
670
686
|
"internalType": "Timestamp",
|
671
687
|
"name": "activatedAt",
|
@@ -677,7 +693,7 @@
|
|
677
693
|
"type": "uint40"
|
678
694
|
}
|
679
695
|
],
|
680
|
-
"internalType": "struct
|
696
|
+
"internalType": "struct IRelease.ReleaseInfo",
|
681
697
|
"name": "",
|
682
698
|
"type": "tuple"
|
683
699
|
}
|
@@ -702,7 +718,7 @@
|
|
702
718
|
"inputs": [
|
703
719
|
{
|
704
720
|
"internalType": "VersionPart",
|
705
|
-
"name": "
|
721
|
+
"name": "release",
|
706
722
|
"type": "uint8"
|
707
723
|
}
|
708
724
|
],
|
@@ -721,7 +737,7 @@
|
|
721
737
|
"inputs": [
|
722
738
|
{
|
723
739
|
"internalType": "VersionPart",
|
724
|
-
"name": "
|
740
|
+
"name": "release",
|
725
741
|
"type": "uint8"
|
726
742
|
}
|
727
743
|
],
|
@@ -748,7 +764,7 @@
|
|
748
764
|
"outputs": [
|
749
765
|
{
|
750
766
|
"internalType": "VersionPart",
|
751
|
-
"name": "
|
767
|
+
"name": "release",
|
752
768
|
"type": "uint8"
|
753
769
|
}
|
754
770
|
],
|
@@ -778,7 +794,7 @@
|
|
778
794
|
"inputs": [
|
779
795
|
{
|
780
796
|
"internalType": "VersionPart",
|
781
|
-
"name": "
|
797
|
+
"name": "release",
|
782
798
|
"type": "uint8"
|
783
799
|
}
|
784
800
|
],
|
@@ -835,19 +851,6 @@
|
|
835
851
|
"stateMutability": "view",
|
836
852
|
"type": "function"
|
837
853
|
},
|
838
|
-
{
|
839
|
-
"inputs": [
|
840
|
-
{
|
841
|
-
"internalType": "VersionPart",
|
842
|
-
"name": "version",
|
843
|
-
"type": "uint8"
|
844
|
-
}
|
845
|
-
],
|
846
|
-
"name": "pauseRelease",
|
847
|
-
"outputs": [],
|
848
|
-
"stateMutability": "nonpayable",
|
849
|
-
"type": "function"
|
850
|
-
},
|
851
854
|
{
|
852
855
|
"inputs": [
|
853
856
|
{
|
@@ -893,8 +896,8 @@
|
|
893
896
|
"name": "prepareNextRelease",
|
894
897
|
"outputs": [
|
895
898
|
{
|
896
|
-
"internalType": "
|
897
|
-
"name": "
|
899
|
+
"internalType": "contract ReleaseAdmin",
|
900
|
+
"name": "releaseAdmin",
|
898
901
|
"type": "address"
|
899
902
|
},
|
900
903
|
{
|
@@ -946,12 +949,17 @@
|
|
946
949
|
{
|
947
950
|
"inputs": [
|
948
951
|
{
|
949
|
-
"internalType": "
|
950
|
-
"name": "
|
951
|
-
"type": "
|
952
|
+
"internalType": "VersionPart",
|
953
|
+
"name": "release",
|
954
|
+
"type": "uint8"
|
955
|
+
},
|
956
|
+
{
|
957
|
+
"internalType": "bool",
|
958
|
+
"name": "active",
|
959
|
+
"type": "bool"
|
952
960
|
}
|
953
961
|
],
|
954
|
-
"name": "
|
962
|
+
"name": "setActive",
|
955
963
|
"outputs": [],
|
956
964
|
"stateMutability": "nonpayable",
|
957
965
|
"type": "function"
|
@@ -959,25 +967,207 @@
|
|
959
967
|
{
|
960
968
|
"inputs": [
|
961
969
|
{
|
962
|
-
"internalType": "
|
963
|
-
"name": "
|
964
|
-
"type": "
|
970
|
+
"internalType": "address",
|
971
|
+
"name": "newAuthority",
|
972
|
+
"type": "address"
|
965
973
|
}
|
966
974
|
],
|
967
|
-
"name": "
|
975
|
+
"name": "setAuthority",
|
968
976
|
"outputs": [],
|
969
977
|
"stateMutability": "nonpayable",
|
970
978
|
"type": "function"
|
971
979
|
}
|
972
980
|
],
|
973
|
-
"bytecode": "0x60c060405234801561000f575f80fd5b5060405161303f38038061303f83398101604081905261002e9161052c565b33610038816101fa565b5061004161024d565b61004a816102c7565b610077576040516324981a5560e11b81526001600160a01b03821660048201526024015b60405180910390fd5b6100df816001600160a01b031663e2b178a06040518163ffffffff1660e01b8152600401602060405180830381865afa1580156100b6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100da919061052c565b6103d3565b6001600160a01b03811660a08190526040805163016f41bf60e51b81529051632de837e0916004808201926020929091908290030181865afa158015610127573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061014b919061052c565b6001600160a01b031660805273__$b659da7d8a6d2d32aa6c1e17da23dc2174$__638e4ad86c61017d6001600361054e565b6040518263ffffffff1660e01b815260040161019b91815260200190565b602060405180830381865af41580156101b6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101da919061056d565b600560016101000a81548160ff021916908360ff160217905550506105e6565b5f80546001600160a01b0319166001600160a01b0383169081179091556040519081527f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad9060200160405180910390a150565b6102596006600261044b565b610268600660025b6006610496565b610276600660026003610496565b61028260066003610261565b610290600660036004610496565b61029c60066004610261565b6102ab600660045b6005610496565b6102b960066005606e610496565b6102c56006606e6102a4565b565b5f6001600160a01b0382166102dd57505f919050565b604051632f2a35f760e11b81526001600160a01b0383166004820181905290635e546bee90602401602060405180830381865afa158015610320573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610344919061058d565b604051630a4d29dd60e31b81526001600160601b03909116600482015273__$94a2c899be079b00d952d0d84fffaa5c34$__906352694ee890602401602060405180830381865af415801561039b573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103bf91906105b3565b156103cb57505f919050565b506001919050565b5f5433906001600160a01b031681146104095760405162d1953b60e31b81526001600160a01b038216600482015260240161006e565b816001600160a01b03163b5f0361043e576040516361798f2f60e11b81526001600160a01b038316600482015260240161006e565b610447826101fa565b5050565b60ff8281165f90815260016020526040812054610469921690610505565b610475576104756105d2565b60ff9182165f908152600160205260409020805460ff191691909216179055565b60ff8084165f90815260026020908152604080832086851684528252808320858516845290915290205416156104ce576104ce6105d2565b60ff9283165f908152600260209081526040808320948616835293815283822092909416815292529020805460ff19166001179055565b60ff828116908216145b92915050565b6001600160a01b0381168114610529575f80fd5b50565b5f6020828403121561053c575f80fd5b815161054781610515565b9392505050565b8181038181111561050f57634e487b7160e01b5f52601160045260245ffd5b5f6020828403121561057d575f80fd5b815160ff81168114610547575f80fd5b5f6020828403121561059d575f80fd5b81516001600160601b0381168114610547575f80fd5b5f602082840312156105c3575f80fd5b81518015158114610547575f80fd5b634e487b7160e01b5f52600160045260245ffd5b60805160a0516129cf6106705f395f81816102f80152818161034a01528181610eb60152818161100901528181611150015281816115c10152818161187b01526121b301525f81816101ff015281816105a70152818161094b01528181610f83015281816110c1015281816111fa015281816113c201528181611555015261192301526129cf5ff3fe608060405234801561000f575f80fd5b50600436106101ba575f3560e01c80638fb36037116100f3578063bf1db3f911610093578063dde4fd8a1161006e578063dde4fd8a146105a5578063e9e96c70146105cb578063f40d7c3014610608578063fdd9ec7d14610618575f80fd5b8063bf1db3f914610463578063bf7e214f14610476578063d2213b5b14610486575f80fd5b806399a228e5116100ce57806399a228e514610412578063a28448241461041a578063a972d69814610422578063b88da75914610450575f80fd5b80638fb360371461037f578063913e10e9146103a057806393a7e711146103a8575f80fd5b806331d537631161015e5780636428e263116101395780636428e2631461031c57806371ed16e41461032f57806379cbc5fa146103455780637a9e5e4b1461036c575f80fd5b806331d53763146102a957806354f1fa81146102e35780635ab1bd53146102f6575f80fd5b80630d358181116101995780630d358181146102415780630e6d1de91461026657806311edceaa1461027157806330ac5bf214610294575f80fd5b8062d19f30146101be57806301bc45c9146101fa5780630af43fe114610239575b5f80fd5b6101e36101cc36600461225e565b60ff9081165f908152600360205260409020541690565b60405160ff90911681526020015b60405180910390f35b6102217f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016101f1565b6101e3610643565b6101e361024f36600461225e565b60ff9081165f908152600160205260409020541690565b60055460ff166101e3565b61028461027f36600461225e565b610841565b60405190151581526020016101f1565b6102a76102a236600461225e565b610861565b005b6102bc6102b7366004612294565b610901565b604080516001600160a01b03909416845260ff9092166020840152908201526060016101f1565b6102a76102f13660046122be565b610a56565b7f0000000000000000000000000000000000000000000000000000000000000000610221565b6102a761032a36600461225e565b610bb4565b610337610ce4565b6040519081526020016101f1565b6102217f000000000000000000000000000000000000000000000000000000000000000081565b6102a761037a366004612317565b610cfa565b610387610d72565b6040516001600160e01b031990911681526020016101f1565b600454610337565b6102216103b6366004612332565b60405160388101919091526f5af43d82803e903d91602b57fd5bf3ff60248201526014810192909252733d602d80600a3d3981f3363d3d373d3d3d363d73825260588201526037600c8201206078820152605560439091012090565b610337600381565b6102a7610d94565b61022161043036600461225e565b60ff165f908152600360205260409020600201546001600160a01b031690565b6101e361045e366004612371565b6112c3565b61028461047136600461225e565b6112fc565b5f546001600160a01b0316610221565b61053e61049436600461225e565b6040805160c0810182525f80825260208201819052918101829052606081018290526080810182905260a08101919091525060ff9081165f90815260036020908152604091829020825160c08101845281548086168252610100900490941691840191909152600181015491830191909152600201546001600160a01b038116606083015264ffffffffff600160a01b820481166080840152600160c81b9091041660a082015290565b6040516101f191905f60c08201905060ff835116825260ff60208401511660208301526040830151604083015260018060a01b03606084015116606083015264ffffffffff608084015116608083015264ffffffffff60a08401511660a083015292915050565b7f0000000000000000000000000000000000000000000000000000000000000000610221565b6102846105d9366004612388565b60ff9283165f908152600260209081526040808320948616835293815283822092851682529190915220541690565b600554610100900460ff166101e3565b61062b610626366004612317565b611382565b6040516001600160601b0390911681526020016101f1565b5f610650335b5f366116ac565b600554610100900460ff1661067c600660ff8084165f90815260036020526040902054166105d9600690565b1561069e5760ff81165f908152600360205260409020805460ff191660061790555b604051632b10f60d60e21b815260ff8216600482015273__$b659da7d8a6d2d32aa6c1e17da23dc2174$__90638e4ad86c90829063ac43d83490602401602060405180830381865af41580156106f6573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061071a91906123c5565b6107259060016123f0565b6040518263ffffffff1660e01b815260040161074391815260200190565b602060405180830381865af415801561075e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107829190612413565b600480546001810190915560208082047f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b01805460ff808616601f90951661010090810a868102920219909216179091556005805491840261ff001992831681179091555f938452600390925260409092208054909216179055905061080961024f600690565b60ff9182165f908152600360205260408120805460ff1916928416929092179091556007819055600655600554610100900416919050565b60ff8181165f908152600360205260408120549091166005145b92915050565b61086a33610649565b60ff8181165f9081526003602052604090205461088e91166006606e5b6005610a56565b60ff81165f908152600360205260408120805460ff19166005178155600201805464ffffffffff60c81b191690556108c79082906117a2565b60405160ff821681527f8c9377f44d861d9abb7de1a880bb234de50528f98b5e198945cb16818bbbb992906020015b60405180910390a150565b5f808061090d33610649565b60055460ff61010090910481165f8181526003602052604090205490935061093b9116600660026003610a56565b5f61094786848761198f565b90507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109a5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109c99190612439565b600782905560ff84165f81815260036020818152604092839020805460ff19169092178255600182018a9055600290910180546001600160a01b0319166001600160a01b038c161790558151928352820188905280519296508794507f59754c54c6ce6d53c285831436dd3536e7b6dacb922705904d13bbc16cfa550792918290030190a1509250925092565b60ff8381165f908152600160205260409081902054905163037c8cb160e51b81529116600482015273__$2e1fcf62e7a1b3c2a33bdf2228c171b2be$__90636f91962090602401602060405180830381865af4158015610ab8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610adc9190612463565b15610b0a5760405163ea01ac1f60e01b815230600482015260ff841660248201526044015b60405180910390fd5b60ff80851690831614610b4b5760405163bae587e160e01b815230600482015260ff8085166024830152808616604483015283166064820152608401610b01565b60ff8084165f90815260026020908152604080832088851684528252808320858516845290915290205416610bae5760405163f33b49a360e01b815230600482015260ff8085166024830152808616604483015282166064820152608401610b01565b50505050565b610bbd33610649565b60ff8181165f90815260036020526040902054610be0911660066005606e610a56565b60ff81165f90815260036020908152604091829020805460ff1916606e17905581516356db0c1960e11b8152915173__$91d01b1eccbca8d6f94a5eb2a0acb040e9$__9263adb618329260048083019391928290030181865af4158015610c49573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c6d919061247c565b60ff82165f908152600360205260409020600201805464ffffffffff92909216600160c81b0264ffffffffff60c81b19909216919091179055610cb18160016117a2565b60405160ff821681527f332d7fb458421533fc26f5789a63f5b7538fc95dd42452533aff2b353c57e826906020016108f6565b5f600654600754610cf591906124a0565b905090565b5f5433906001600160a01b03168114610d305760405162d1953b60e31b81526001600160a01b0382166004820152602401610b01565b816001600160a01b03163b5f03610d65576040516361798f2f60e11b81526001600160a01b0383166004820152602401610b01565b610d6e82611b56565b5050565b5f8054600160a01b900460ff16610d8857505f90565b50638fb3603760e01b90565b610d9d33610649565b60055460ff61010090910481165f818152600360205260409020549091610dc8911660066004610887565b6005805460ff191660ff8316179055610ddf600590565b60ff8281165f90815260036020908152604091829020805460ff1916949093169390931790915580516356db0c1960e11b8152905173__$91d01b1eccbca8d6f94a5eb2a0acb040e9$__9263adb6183292600480820193918290030181865af4158015610e4e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e72919061247c565b60ff82165f908152600360205260408120600201805464ffffffffff93909316600160a01b0264ffffffffff60a01b19909316929092179091556001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001663d39e6043610ee3600290565b6040516001600160e01b031960e084901b16815260ff91821660048201529085166024820152604401602060405180830381865afa158015610f27573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f4b9190612439565b90506001600160a01b038116610f79576040516381d94faf60e01b815260ff83166004820152602401610b01565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001663420e0b358260026040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260ff1660248201526044015f604051808303815f87803b158015610ff1575f80fd5b505af1158015611003573d5f803e3d5ffd5b505050507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d39e604361103e600390565b6040516001600160e01b031960e084901b16815260ff91821660048201529085166024820152604401602060405180830381865afa158015611082573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110a69190612439565b90506001600160a01b03811615611146576001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001663420e0b358260036040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260ff1660248201526044015f604051808303815f87803b15801561112f575f80fd5b505af1158015611141573d5f803e3d5ffd5b505050505b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001663d39e6043600f6040516001600160e01b031960e084901b16815260ff91821660048201529085166024820152604401602060405180830381865afa1580156111bb573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111df9190612439565b90506001600160a01b0381161561127f576001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001663420e0b3582600f6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260ff1660248201526044015f604051808303815f87803b158015611268575f80fd5b505af115801561127a573d5f803e3d5ffd5b505050505b611289825f6117a2565b60405160ff831681527fb7defc6b4b34e4db6f0265bb8cc2606e513beda1e68095b668932471417561d49060200160405180910390a15050565b5f600482815481106112d7576112d76124b3565b905f5260205f2090602091828204019190069054906101000a900460ff169050919050565b60ff8181165f9081526001602052604080822054905163b2466acf60e01b8152921660048301529073__$2e1fcf62e7a1b3c2a33bdf2228c171b2be$__9063b2466acf90602401602060405180830381865af415801561135e573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061085b9190612463565b5f61138c33610649565b600554610100900460ff9081165f8181526003602052604090205490916113bf911660066113b8600390565b6004610a56565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561141c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114409190612439565b60ff83165f9081526003602052604080822060020154600654915162212fa360ea1b81529394506001600160a01b03169283916384be8c009161148a919060040190815260200190565b602060405180830381865afa1580156114a5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114c99190612413565b90505f805f6114da89878987611ba3565b6006805493965091945092505f6114f0836124c7565b91905055506006546007540361151d5760ff87165f908152600360205260409020805460ff191660041790555b604051637485407160e01b81526001600160a01b0386811660048301528a8116602483015260ff8085166044840152891660648301527f000000000000000000000000000000000000000000000000000000000000000016906374854071906084015f604051808303815f87803b158015611596575f80fd5b505af11580156115a8573d5f803e3d5ffd5b5050604051635382852b60e11b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016925063a7050a5691506115fc9086908590879060040161250d565b6020604051808303815f875af1158015611618573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061163c91906125d5565b9750886001600160a01b031663138461e06040518163ffffffff1660e01b81526004016020604051808303815f875af115801561167b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061169f91906125d5565b5050505050505050919050565b5f806116df6116c25f546001600160a01b031690565b86306116d160045f898b6125ee565b6116da91612615565b611f34565b915091508161179b5763ffffffff811615611778575f805460ff60a01b198116600160a01b17909155604051634a63ebf760e11b81526001600160a01b03909116906394c7d7ee906117399088908890889060040161264d565b5f604051808303815f87803b158015611750575f80fd5b505af1158015611762573d5f803e3d5ffd5b50505f805460ff60a01b191690555061179b9050565b60405162d1953b60e31b81526001600160a01b0386166004820152602401610b01565b5050505050565b60ff82165f908152600360205260408082206002015481516368c55b1360e01b8152915183926001600160a01b0390921691839183916368c55b1391600480830192869291908290030181865afa1580156117ff573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261182691908101906126fa565b90505f5b815181101561198657818181518110611845576118456124b3565b602090810291909101015160405163d39e604360e01b815260ff8083166004830152891660248201529094506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063d39e604390604401602060405180830381865afa1580156118c0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118e49190612439565b94506001600160a01b0385166118fc576118fc6127ae565b6040516333cbe07760e21b81526001600160a01b03868116600483015287151560248301527f0000000000000000000000000000000000000000000000000000000000000000169063cf2f81dc906044015f604051808303815f87803b158015611964575f80fd5b505af1158015611976573d5f803e3d5ffd5b50506001909201915061182a9050565b50505050505050565b6040516301ffc9a760e01b81526332d11fef60e01b60048201525f906001600160a01b038516906301ffc9a790602401602060405180830381865afa1580156119da573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119fe9190612463565b611a2657604051631bead44b60e21b81526001600160a01b0385166004820152602401610b01565b5f846001600160a01b03166376b707b76040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a63573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a879190612413565b905060ff80851690821614611ab557848482604051630c3a335360e41b8152600401610b01939291906127c2565b846001600160a01b03166368c55b136040518163ffffffff1660e01b81526004015f60405180830381865afa158015611af0573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052611b1791908101906126fa565b519150815f03611b4e576040516310c48b6b60e21b81526001600160a01b038616600482015260ff85166024820152604401610b01565b509392505050565b5f80546001600160a01b0319166001600160a01b0383169081179091556040519081527f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad906020016108f6565b6040805160e0810182525f8082526020820181905281830181905260608083018290526080830182905260a0830182905260c083015291516301ffc9a760e01b815263daf9067160e01b600482015290919081906001600160a01b038816906301ffc9a790602401602060405180830381865afa158015611c26573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c4a9190612463565b611c7257604051635f569d0b60e01b81526001600160a01b0388166004820152602401610b01565b5f3390505f886001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611cb3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611cd79190612439565b9050886001600160a01b0316630d8e6e2c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611d15573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d3991906127e6565b60405163c9e66e2960e01b815262ffffff909116600482015273__$8eede297b65ed5a56eb3f84d8232ae93f5$__9063c9e66e2990602401602060405180830381865af4158015611d8c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611db09190612413565b9250886001600160a01b031663b68d18096040518163ffffffff1660e01b8152600401602060405180830381865afa158015611dee573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e129190612413565b9350886001600160a01b0316630fec111c6040518163ffffffff1660e01b81526004015f60405180830381865afa158015611e4f573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052611e769190810190612874565b9450611e8389868461203c565b876001600160a01b0316816001600160a01b031614611ed0576040516349aec65360e01b81526001600160a01b03808b166004830152808316602483015289166044820152606401610b01565b60ff80841690881614611efc57888388604051633d36dbf960e01b8152600401610b01939291906127c2565b60ff80851690871614611f28578886856040516348fe94e360e11b8152600401610b01939291906127c2565b50509450945094915050565b6040516001600160a01b03848116602483015283811660448301526001600160e01b0319831660648301525f9182918291829189169060840160408051601f198184030181529181526020820180516001600160e01b031663b700961360e01b17905251611fa29190612946565b5f60405180830381855afa9150503d805f8114611fda576040519150601f19603f3d011682016040523d82523d5f602084013e611fdf565b606091505b509150915081156120315760408151106120115780806020019051810190612007919061295c565b9094509250612031565b6020815110612031578080602001905181019061202e9190612463565b93505b505094509492505050565b826001600160a01b031682608001516001600160a01b03161461208b576080820151604051633db89c6160e01b81526001600160a01b0380861660048301529091166024820152604401610b01565b6060820151156120c657606082015160405163955d053f60e01b81526001600160a01b03851660048201529015156024820152604401610b01565b6120e282604001516120d6600890565b60ff9081169116141590565b1561210b5782600883604001516040516336b258d560e11b8152600401610b01939291906127c2565b60a08201516001600160a01b03808216908316146121575760405163fb581fd160e01b81526001600160a01b038086166004830152808416602483015282166044820152606401610b01565b836001600160a01b0316816001600160a01b0316036121945760405163076ab37760e31b81526001600160a01b0385166004820152602401610b01565b60405163c3c5a54760e01b81526001600160a01b0382811660048301527f0000000000000000000000000000000000000000000000000000000000000000169063c3c5a54790602401602060405180830381865afa1580156121f8573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061221c9190612463565b15610bae5760405163b1e0f1f560e01b81526001600160a01b03808616600483015282166024820152604401610b01565b60ff8116811461225b575f80fd5b50565b5f6020828403121561226e575f80fd5b81356122798161224d565b9392505050565b6001600160a01b038116811461225b575f80fd5b5f80604083850312156122a5575f80fd5b82356122b081612280565b946020939093013593505050565b5f805f80608085870312156122d1575f80fd5b84356122dc8161224d565b935060208501356122ec8161224d565b925060408501356122fc8161224d565b9150606085013561230c8161224d565b939692955090935050565b5f60208284031215612327575f80fd5b813561227981612280565b5f805f60608486031215612344575f80fd5b833561234f81612280565b925060208401359150604084013561236681612280565b809150509250925092565b5f60208284031215612381575f80fd5b5035919050565b5f805f6060848603121561239a575f80fd5b83356123a58161224d565b925060208401356123b58161224d565b915060408401356123668161224d565b5f602082840312156123d5575f80fd5b5051919050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561085b5761085b6123dc565b805161240e8161224d565b919050565b5f60208284031215612423575f80fd5b81516122798161224d565b805161240e81612280565b5f60208284031215612449575f80fd5b815161227981612280565b8051801515811461240e575f80fd5b5f60208284031215612473575f80fd5b61227982612454565b5f6020828403121561248c575f80fd5b815164ffffffffff81168114612279575f80fd5b8181038181111561085b5761085b6123dc565b634e487b7160e01b5f52603260045260245ffd5b5f600182016124d8576124d86123dc565b5060010190565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b606081526001600160601b0384511660608201526001600160601b03602085015116608082015260ff60408501511660a08201525f606085015161255560c084018215159052565b5060808501516001600160a01b03811660e08401525060a08501516001600160a01b0381166101008401525060c085015160e061012084015261259c6101408401826124df565b9150506125ae602083018560ff169052565b60ff83166040830152949350505050565b80516001600160601b038116811461240e575f80fd5b5f602082840312156125e5575f80fd5b612279826125bf565b5f80858511156125fc575f80fd5b83861115612608575f80fd5b5050820193919092039150565b80356001600160e01b03198116906004841015612646576001600160e01b0319600485900360031b81901b82161691505b5092915050565b6001600160a01b03841681526040602082018190528101829052818360608301375f818301606090810191909152601f909201601f1916010192915050565b634e487b7160e01b5f52604160045260245ffd5b60405160e0810167ffffffffffffffff811182821017156126c3576126c361268c565b60405290565b604051601f8201601f1916810167ffffffffffffffff811182821017156126f2576126f261268c565b604052919050565b5f6020828403121561270a575f80fd5b815167ffffffffffffffff811115612720575f80fd5b8201601f81018413612730575f80fd5b805167ffffffffffffffff81111561274a5761274a61268c565b8060051b61275a602082016126c9565b91825260208184018101929081019087841115612775575f80fd5b6020850194505b838510156127a357845192506127918361224d565b8282526020948501949091019061277c565b979650505050505050565b634e487b7160e01b5f52600160045260245ffd5b6001600160a01b0393909316835260ff918216602084015216604082015260600190565b5f602082840312156127f6575f80fd5b815162ffffff81168114612279575f80fd5b5f82601f830112612817575f80fd5b815167ffffffffffffffff8111156128315761283161268c565b612844601f8201601f19166020016126c9565b818152846020838601011115612858575f80fd5b8160208501602083015e5f918101602001919091529392505050565b5f60208284031215612884575f80fd5b815167ffffffffffffffff81111561289a575f80fd5b820160e081850312156128ab575f80fd5b6128b36126a0565b6128bc826125bf565b81526128ca602083016125bf565b60208201526128db60408301612403565b60408201526128ec60608301612454565b60608201526128fd6080830161242e565b608082015261290e60a0830161242e565b60a082015260c082015167ffffffffffffffff81111561292c575f80fd5b61293886828501612808565b60c083015250949350505050565b5f82518060208501845e5f920191825250919050565b5f806040838503121561296d575f80fd5b61297683612454565b9150602083015163ffffffff8116811461298e575f80fd5b80915050925092905056fea26469706673582212207eec7751aed56ca5efed26f65f819829964029ce665585a8c2c7d3b08ff28af764736f6c634300081a0033",
|
974
|
-
"deployedBytecode": "0x608060405234801561000f575f80fd5b50600436106101ba575f3560e01c80638fb36037116100f3578063bf1db3f911610093578063dde4fd8a1161006e578063dde4fd8a146105a5578063e9e96c70146105cb578063f40d7c3014610608578063fdd9ec7d14610618575f80fd5b8063bf1db3f914610463578063bf7e214f14610476578063d2213b5b14610486575f80fd5b806399a228e5116100ce57806399a228e514610412578063a28448241461041a578063a972d69814610422578063b88da75914610450575f80fd5b80638fb360371461037f578063913e10e9146103a057806393a7e711146103a8575f80fd5b806331d537631161015e5780636428e263116101395780636428e2631461031c57806371ed16e41461032f57806379cbc5fa146103455780637a9e5e4b1461036c575f80fd5b806331d53763146102a957806354f1fa81146102e35780635ab1bd53146102f6575f80fd5b80630d358181116101995780630d358181146102415780630e6d1de91461026657806311edceaa1461027157806330ac5bf214610294575f80fd5b8062d19f30146101be57806301bc45c9146101fa5780630af43fe114610239575b5f80fd5b6101e36101cc36600461225e565b60ff9081165f908152600360205260409020541690565b60405160ff90911681526020015b60405180910390f35b6102217f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016101f1565b6101e3610643565b6101e361024f36600461225e565b60ff9081165f908152600160205260409020541690565b60055460ff166101e3565b61028461027f36600461225e565b610841565b60405190151581526020016101f1565b6102a76102a236600461225e565b610861565b005b6102bc6102b7366004612294565b610901565b604080516001600160a01b03909416845260ff9092166020840152908201526060016101f1565b6102a76102f13660046122be565b610a56565b7f0000000000000000000000000000000000000000000000000000000000000000610221565b6102a761032a36600461225e565b610bb4565b610337610ce4565b6040519081526020016101f1565b6102217f000000000000000000000000000000000000000000000000000000000000000081565b6102a761037a366004612317565b610cfa565b610387610d72565b6040516001600160e01b031990911681526020016101f1565b600454610337565b6102216103b6366004612332565b60405160388101919091526f5af43d82803e903d91602b57fd5bf3ff60248201526014810192909252733d602d80600a3d3981f3363d3d373d3d3d363d73825260588201526037600c8201206078820152605560439091012090565b610337600381565b6102a7610d94565b61022161043036600461225e565b60ff165f908152600360205260409020600201546001600160a01b031690565b6101e361045e366004612371565b6112c3565b61028461047136600461225e565b6112fc565b5f546001600160a01b0316610221565b61053e61049436600461225e565b6040805160c0810182525f80825260208201819052918101829052606081018290526080810182905260a08101919091525060ff9081165f90815260036020908152604091829020825160c08101845281548086168252610100900490941691840191909152600181015491830191909152600201546001600160a01b038116606083015264ffffffffff600160a01b820481166080840152600160c81b9091041660a082015290565b6040516101f191905f60c08201905060ff835116825260ff60208401511660208301526040830151604083015260018060a01b03606084015116606083015264ffffffffff608084015116608083015264ffffffffff60a08401511660a083015292915050565b7f0000000000000000000000000000000000000000000000000000000000000000610221565b6102846105d9366004612388565b60ff9283165f908152600260209081526040808320948616835293815283822092851682529190915220541690565b600554610100900460ff166101e3565b61062b610626366004612317565b611382565b6040516001600160601b0390911681526020016101f1565b5f610650335b5f366116ac565b600554610100900460ff1661067c600660ff8084165f90815260036020526040902054166105d9600690565b1561069e5760ff81165f908152600360205260409020805460ff191660061790555b604051632b10f60d60e21b815260ff8216600482015273__$b659da7d8a6d2d32aa6c1e17da23dc2174$__90638e4ad86c90829063ac43d83490602401602060405180830381865af41580156106f6573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061071a91906123c5565b6107259060016123f0565b6040518263ffffffff1660e01b815260040161074391815260200190565b602060405180830381865af415801561075e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107829190612413565b600480546001810190915560208082047f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b01805460ff808616601f90951661010090810a868102920219909216179091556005805491840261ff001992831681179091555f938452600390925260409092208054909216179055905061080961024f600690565b60ff9182165f908152600360205260408120805460ff1916928416929092179091556007819055600655600554610100900416919050565b60ff8181165f908152600360205260408120549091166005145b92915050565b61086a33610649565b60ff8181165f9081526003602052604090205461088e91166006606e5b6005610a56565b60ff81165f908152600360205260408120805460ff19166005178155600201805464ffffffffff60c81b191690556108c79082906117a2565b60405160ff821681527f8c9377f44d861d9abb7de1a880bb234de50528f98b5e198945cb16818bbbb992906020015b60405180910390a150565b5f808061090d33610649565b60055460ff61010090910481165f8181526003602052604090205490935061093b9116600660026003610a56565b5f61094786848761198f565b90507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109a5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109c99190612439565b600782905560ff84165f81815260036020818152604092839020805460ff19169092178255600182018a9055600290910180546001600160a01b0319166001600160a01b038c161790558151928352820188905280519296508794507f59754c54c6ce6d53c285831436dd3536e7b6dacb922705904d13bbc16cfa550792918290030190a1509250925092565b60ff8381165f908152600160205260409081902054905163037c8cb160e51b81529116600482015273__$2e1fcf62e7a1b3c2a33bdf2228c171b2be$__90636f91962090602401602060405180830381865af4158015610ab8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610adc9190612463565b15610b0a5760405163ea01ac1f60e01b815230600482015260ff841660248201526044015b60405180910390fd5b60ff80851690831614610b4b5760405163bae587e160e01b815230600482015260ff8085166024830152808616604483015283166064820152608401610b01565b60ff8084165f90815260026020908152604080832088851684528252808320858516845290915290205416610bae5760405163f33b49a360e01b815230600482015260ff8085166024830152808616604483015282166064820152608401610b01565b50505050565b610bbd33610649565b60ff8181165f90815260036020526040902054610be0911660066005606e610a56565b60ff81165f90815260036020908152604091829020805460ff1916606e17905581516356db0c1960e11b8152915173__$91d01b1eccbca8d6f94a5eb2a0acb040e9$__9263adb618329260048083019391928290030181865af4158015610c49573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c6d919061247c565b60ff82165f908152600360205260409020600201805464ffffffffff92909216600160c81b0264ffffffffff60c81b19909216919091179055610cb18160016117a2565b60405160ff821681527f332d7fb458421533fc26f5789a63f5b7538fc95dd42452533aff2b353c57e826906020016108f6565b5f600654600754610cf591906124a0565b905090565b5f5433906001600160a01b03168114610d305760405162d1953b60e31b81526001600160a01b0382166004820152602401610b01565b816001600160a01b03163b5f03610d65576040516361798f2f60e11b81526001600160a01b0383166004820152602401610b01565b610d6e82611b56565b5050565b5f8054600160a01b900460ff16610d8857505f90565b50638fb3603760e01b90565b610d9d33610649565b60055460ff61010090910481165f818152600360205260409020549091610dc8911660066004610887565b6005805460ff191660ff8316179055610ddf600590565b60ff8281165f90815260036020908152604091829020805460ff1916949093169390931790915580516356db0c1960e11b8152905173__$91d01b1eccbca8d6f94a5eb2a0acb040e9$__9263adb6183292600480820193918290030181865af4158015610e4e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e72919061247c565b60ff82165f908152600360205260408120600201805464ffffffffff93909316600160a01b0264ffffffffff60a01b19909316929092179091556001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001663d39e6043610ee3600290565b6040516001600160e01b031960e084901b16815260ff91821660048201529085166024820152604401602060405180830381865afa158015610f27573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f4b9190612439565b90506001600160a01b038116610f79576040516381d94faf60e01b815260ff83166004820152602401610b01565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001663420e0b358260026040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260ff1660248201526044015f604051808303815f87803b158015610ff1575f80fd5b505af1158015611003573d5f803e3d5ffd5b505050507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d39e604361103e600390565b6040516001600160e01b031960e084901b16815260ff91821660048201529085166024820152604401602060405180830381865afa158015611082573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110a69190612439565b90506001600160a01b03811615611146576001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001663420e0b358260036040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260ff1660248201526044015f604051808303815f87803b15801561112f575f80fd5b505af1158015611141573d5f803e3d5ffd5b505050505b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001663d39e6043600f6040516001600160e01b031960e084901b16815260ff91821660048201529085166024820152604401602060405180830381865afa1580156111bb573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111df9190612439565b90506001600160a01b0381161561127f576001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001663420e0b3582600f6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260ff1660248201526044015f604051808303815f87803b158015611268575f80fd5b505af115801561127a573d5f803e3d5ffd5b505050505b611289825f6117a2565b60405160ff831681527fb7defc6b4b34e4db6f0265bb8cc2606e513beda1e68095b668932471417561d49060200160405180910390a15050565b5f600482815481106112d7576112d76124b3565b905f5260205f2090602091828204019190069054906101000a900460ff169050919050565b60ff8181165f9081526001602052604080822054905163b2466acf60e01b8152921660048301529073__$2e1fcf62e7a1b3c2a33bdf2228c171b2be$__9063b2466acf90602401602060405180830381865af415801561135e573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061085b9190612463565b5f61138c33610649565b600554610100900460ff9081165f8181526003602052604090205490916113bf911660066113b8600390565b6004610a56565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561141c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114409190612439565b60ff83165f9081526003602052604080822060020154600654915162212fa360ea1b81529394506001600160a01b03169283916384be8c009161148a919060040190815260200190565b602060405180830381865afa1580156114a5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114c99190612413565b90505f805f6114da89878987611ba3565b6006805493965091945092505f6114f0836124c7565b91905055506006546007540361151d5760ff87165f908152600360205260409020805460ff191660041790555b604051637485407160e01b81526001600160a01b0386811660048301528a8116602483015260ff8085166044840152891660648301527f000000000000000000000000000000000000000000000000000000000000000016906374854071906084015f604051808303815f87803b158015611596575f80fd5b505af11580156115a8573d5f803e3d5ffd5b5050604051635382852b60e11b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016925063a7050a5691506115fc9086908590879060040161250d565b6020604051808303815f875af1158015611618573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061163c91906125d5565b9750886001600160a01b031663138461e06040518163ffffffff1660e01b81526004016020604051808303815f875af115801561167b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061169f91906125d5565b5050505050505050919050565b5f806116df6116c25f546001600160a01b031690565b86306116d160045f898b6125ee565b6116da91612615565b611f34565b915091508161179b5763ffffffff811615611778575f805460ff60a01b198116600160a01b17909155604051634a63ebf760e11b81526001600160a01b03909116906394c7d7ee906117399088908890889060040161264d565b5f604051808303815f87803b158015611750575f80fd5b505af1158015611762573d5f803e3d5ffd5b50505f805460ff60a01b191690555061179b9050565b60405162d1953b60e31b81526001600160a01b0386166004820152602401610b01565b5050505050565b60ff82165f908152600360205260408082206002015481516368c55b1360e01b8152915183926001600160a01b0390921691839183916368c55b1391600480830192869291908290030181865afa1580156117ff573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261182691908101906126fa565b90505f5b815181101561198657818181518110611845576118456124b3565b602090810291909101015160405163d39e604360e01b815260ff8083166004830152891660248201529094506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063d39e604390604401602060405180830381865afa1580156118c0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118e49190612439565b94506001600160a01b0385166118fc576118fc6127ae565b6040516333cbe07760e21b81526001600160a01b03868116600483015287151560248301527f0000000000000000000000000000000000000000000000000000000000000000169063cf2f81dc906044015f604051808303815f87803b158015611964575f80fd5b505af1158015611976573d5f803e3d5ffd5b50506001909201915061182a9050565b50505050505050565b6040516301ffc9a760e01b81526332d11fef60e01b60048201525f906001600160a01b038516906301ffc9a790602401602060405180830381865afa1580156119da573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119fe9190612463565b611a2657604051631bead44b60e21b81526001600160a01b0385166004820152602401610b01565b5f846001600160a01b03166376b707b76040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a63573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a879190612413565b905060ff80851690821614611ab557848482604051630c3a335360e41b8152600401610b01939291906127c2565b846001600160a01b03166368c55b136040518163ffffffff1660e01b81526004015f60405180830381865afa158015611af0573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052611b1791908101906126fa565b519150815f03611b4e576040516310c48b6b60e21b81526001600160a01b038616600482015260ff85166024820152604401610b01565b509392505050565b5f80546001600160a01b0319166001600160a01b0383169081179091556040519081527f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad906020016108f6565b6040805160e0810182525f8082526020820181905281830181905260608083018290526080830182905260a0830182905260c083015291516301ffc9a760e01b815263daf9067160e01b600482015290919081906001600160a01b038816906301ffc9a790602401602060405180830381865afa158015611c26573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c4a9190612463565b611c7257604051635f569d0b60e01b81526001600160a01b0388166004820152602401610b01565b5f3390505f886001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611cb3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611cd79190612439565b9050886001600160a01b0316630d8e6e2c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611d15573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d3991906127e6565b60405163c9e66e2960e01b815262ffffff909116600482015273__$8eede297b65ed5a56eb3f84d8232ae93f5$__9063c9e66e2990602401602060405180830381865af4158015611d8c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611db09190612413565b9250886001600160a01b031663b68d18096040518163ffffffff1660e01b8152600401602060405180830381865afa158015611dee573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e129190612413565b9350886001600160a01b0316630fec111c6040518163ffffffff1660e01b81526004015f60405180830381865afa158015611e4f573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052611e769190810190612874565b9450611e8389868461203c565b876001600160a01b0316816001600160a01b031614611ed0576040516349aec65360e01b81526001600160a01b03808b166004830152808316602483015289166044820152606401610b01565b60ff80841690881614611efc57888388604051633d36dbf960e01b8152600401610b01939291906127c2565b60ff80851690871614611f28578886856040516348fe94e360e11b8152600401610b01939291906127c2565b50509450945094915050565b6040516001600160a01b03848116602483015283811660448301526001600160e01b0319831660648301525f9182918291829189169060840160408051601f198184030181529181526020820180516001600160e01b031663b700961360e01b17905251611fa29190612946565b5f60405180830381855afa9150503d805f8114611fda576040519150601f19603f3d011682016040523d82523d5f602084013e611fdf565b606091505b509150915081156120315760408151106120115780806020019051810190612007919061295c565b9094509250612031565b6020815110612031578080602001905181019061202e9190612463565b93505b505094509492505050565b826001600160a01b031682608001516001600160a01b03161461208b576080820151604051633db89c6160e01b81526001600160a01b0380861660048301529091166024820152604401610b01565b6060820151156120c657606082015160405163955d053f60e01b81526001600160a01b03851660048201529015156024820152604401610b01565b6120e282604001516120d6600890565b60ff9081169116141590565b1561210b5782600883604001516040516336b258d560e11b8152600401610b01939291906127c2565b60a08201516001600160a01b03808216908316146121575760405163fb581fd160e01b81526001600160a01b038086166004830152808416602483015282166044820152606401610b01565b836001600160a01b0316816001600160a01b0316036121945760405163076ab37760e31b81526001600160a01b0385166004820152602401610b01565b60405163c3c5a54760e01b81526001600160a01b0382811660048301527f0000000000000000000000000000000000000000000000000000000000000000169063c3c5a54790602401602060405180830381865afa1580156121f8573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061221c9190612463565b15610bae5760405163b1e0f1f560e01b81526001600160a01b03808616600483015282166024820152604401610b01565b60ff8116811461225b575f80fd5b50565b5f6020828403121561226e575f80fd5b81356122798161224d565b9392505050565b6001600160a01b038116811461225b575f80fd5b5f80604083850312156122a5575f80fd5b82356122b081612280565b946020939093013593505050565b5f805f80608085870312156122d1575f80fd5b84356122dc8161224d565b935060208501356122ec8161224d565b925060408501356122fc8161224d565b9150606085013561230c8161224d565b939692955090935050565b5f60208284031215612327575f80fd5b813561227981612280565b5f805f60608486031215612344575f80fd5b833561234f81612280565b925060208401359150604084013561236681612280565b809150509250925092565b5f60208284031215612381575f80fd5b5035919050565b5f805f6060848603121561239a575f80fd5b83356123a58161224d565b925060208401356123b58161224d565b915060408401356123668161224d565b5f602082840312156123d5575f80fd5b5051919050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561085b5761085b6123dc565b805161240e8161224d565b919050565b5f60208284031215612423575f80fd5b81516122798161224d565b805161240e81612280565b5f60208284031215612449575f80fd5b815161227981612280565b8051801515811461240e575f80fd5b5f60208284031215612473575f80fd5b61227982612454565b5f6020828403121561248c575f80fd5b815164ffffffffff81168114612279575f80fd5b8181038181111561085b5761085b6123dc565b634e487b7160e01b5f52603260045260245ffd5b5f600182016124d8576124d86123dc565b5060010190565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b606081526001600160601b0384511660608201526001600160601b03602085015116608082015260ff60408501511660a08201525f606085015161255560c084018215159052565b5060808501516001600160a01b03811660e08401525060a08501516001600160a01b0381166101008401525060c085015160e061012084015261259c6101408401826124df565b9150506125ae602083018560ff169052565b60ff83166040830152949350505050565b80516001600160601b038116811461240e575f80fd5b5f602082840312156125e5575f80fd5b612279826125bf565b5f80858511156125fc575f80fd5b83861115612608575f80fd5b5050820193919092039150565b80356001600160e01b03198116906004841015612646576001600160e01b0319600485900360031b81901b82161691505b5092915050565b6001600160a01b03841681526040602082018190528101829052818360608301375f818301606090810191909152601f909201601f1916010192915050565b634e487b7160e01b5f52604160045260245ffd5b60405160e0810167ffffffffffffffff811182821017156126c3576126c361268c565b60405290565b604051601f8201601f1916810167ffffffffffffffff811182821017156126f2576126f261268c565b604052919050565b5f6020828403121561270a575f80fd5b815167ffffffffffffffff811115612720575f80fd5b8201601f81018413612730575f80fd5b805167ffffffffffffffff81111561274a5761274a61268c565b8060051b61275a602082016126c9565b91825260208184018101929081019087841115612775575f80fd5b6020850194505b838510156127a357845192506127918361224d565b8282526020948501949091019061277c565b979650505050505050565b634e487b7160e01b5f52600160045260245ffd5b6001600160a01b0393909316835260ff918216602084015216604082015260600190565b5f602082840312156127f6575f80fd5b815162ffffff81168114612279575f80fd5b5f82601f830112612817575f80fd5b815167ffffffffffffffff8111156128315761283161268c565b612844601f8201601f19166020016126c9565b818152846020838601011115612858575f80fd5b8160208501602083015e5f918101602001919091529392505050565b5f60208284031215612884575f80fd5b815167ffffffffffffffff81111561289a575f80fd5b820160e081850312156128ab575f80fd5b6128b36126a0565b6128bc826125bf565b81526128ca602083016125bf565b60208201526128db60408301612403565b60408201526128ec60608301612454565b60608201526128fd6080830161242e565b608082015261290e60a0830161242e565b60a082015260c082015167ffffffffffffffff81111561292c575f80fd5b61293886828501612808565b60c083015250949350505050565b5f82518060208501845e5f920191825250919050565b5f806040838503121561296d575f80fd5b61297683612454565b9150602083015163ffffffff8116811461298e575f80fd5b80915050925092905056fea26469706673582212207eec7751aed56ca5efed26f65f819829964029ce665585a8c2c7d3b08ff28af764736f6c634300081a0033",
|
981
|
+
"bytecode": "0x60c06040525f6006555f600755348015610017575f80fd5b50604051618d86380380618d86833981016040819052610036916105e3565b33610040816102d1565b50610049610324565b604051633334d16b60e01b81526001600160a01b038216600482015273__$fb599632d08395912d9d70eb2f0f93b5e2$__90633334d16b90602401602060405180830381865af415801561009f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100c39190610605565b6100f0576040516324981a5560e11b81526001600160a01b03821660048201526024015b60405180910390fd5b610158816001600160a01b031663e2b178a06040518163ffffffff1660e01b8152600401602060405180830381865afa15801561012f573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061015391906105e3565b61039e565b6001600160a01b03811660a08190526040805163016f41bf60e51b81529051632de837e0916004808201926020929091908290030181865afa1580156101a0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101c491906105e3565b6001600160a01b03166080526101d8610416565b6040516101e4906105bf565b6001600160a01b039091168152602001604051809103905ff08015801561020d573d5f803e3d5ffd5b50600580546001600160a01b0319166001600160a01b039290921691909117905573__$b659da7d8a6d2d32aa6c1e17da23dc2174$__638e4ad86c61025460016003610624565b6040518263ffffffff1660e01b815260040161027291815260200190565b602060405180830381865af415801561028d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102b19190610643565b600560156101000a81548160ff021916908360ff16021790555050610677565b5f80546001600160a01b0319166001600160a01b0383169081179091556040519081527f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad9060200160405180910390a150565b61033060066002610486565b61033f600660025b60066104d1565b61034d6006600260036104d1565b61035960066003610338565b6103676006600360046104d1565b61037360066004610338565b610382600660045b60056104d1565b61039060066005606e6104d1565b61039c6006606e61037b565b565b5f5433906001600160a01b031681146103d45760405162d1953b60e31b81526001600160a01b03821660048201526024016100e7565b816001600160a01b03163b5f03610409576040516361798f2f60e11b81526001600160a01b03831660048201526024016100e7565b610412826102d1565b5050565b5f6104816080516001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610458573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061047c91906105e3565b610540565b905090565b60ff8281165f908152600160205260408120546104a49216906105af565b6104b0576104b0610663565b60ff9182165f908152600160205260409020805460ff191691909216179055565b60ff8084165f908152600260209081526040808320868516845282528083208585168452909152902054161561050957610509610663565b60ff9283165f908152600260209081526040808320948616835293815283822092909416815292529020805460ff19166001179055565b5f763d602d80600a3d3981f3363d3d373d3d3d363d730000008260601b60e81c175f526e5af43d82803e903d91602b57fd5bf38260781b17602052603760095ff090506001600160a01b0381166105aa576040516330be1a3d60e21b815260040160405180910390fd5b919050565b60ff828116908216145b92915050565b6158ed8061349983390190565b6001600160a01b03811681146105e0575f80fd5b50565b5f602082840312156105f3575f80fd5b81516105fe816105cc565b9392505050565b5f60208284031215610615575f80fd5b815180151581146105fe575f80fd5b818103818111156105b957634e487b7160e01b5f52601160045260245ffd5b5f60208284031215610653575f80fd5b815160ff811681146105fe575f80fd5b634e487b7160e01b5f52600160045260245ffd5b60805160a051612dad6106ec5f395f81816102a6015281816102f901528181610f3c0152818161108f015281816111d6015281816116e601528181611c2a015261245001525f81816104bc015281816104e001528181611009015281816111470152818161128001526122560152612dad5ff3fe608060405234801561000f575f80fd5b50600436106101a0575f3560e01c8063913e10e9116100f3578063bf7e214f11610093578063dde4fd8a1161006e578063dde4fd8a146104de578063e9e96c7014610504578063f40d7c3014610541578063fdd9ec7d14610553575f80fd5b8063bf7e214f146103ce578063d2213b5b146103de578063d5889525146104b7575f80fd5b8063a2844824116100ce578063a284482414610372578063a972d6981461037a578063b88da759146103a8578063bf1db3f9146103bb575f80fd5b8063913e10e91461034f57806393a7e7111461035757806399a228e51461036a575f80fd5b806331d537631161015e57806371ed16e41161013957806371ed16e4146102de57806379cbc5fa146102f45780637a9e5e4b1461031b5780638fb360371461032e575f80fd5b806331d537631461025757806354f1fa81146102915780635ab1bd53146102a4575f80fd5b8062d19f30146101a45780630af43fe1146101e05780630d358181146101e85780630e6d1de91461020d57806311edceaa1461021f57806318ce8b7f14610242575b5f80fd5b6101c96101b23660046124fb565b60ff9081165f908152600360205260409020541690565b60405160ff90911681526020015b60405180910390f35b6101c961057e565b6101c96101f63660046124fb565b60ff9081165f908152600160205260409020541690565b600554600160a01b900460ff166101c9565b61023261022d3660046124fb565b61078e565b60405190151581526020016101d7565b61025561025036600461252a565b6107ae565b005b61026a610265366004612575565b6109fa565b604080516001600160a01b03909416845260ff9092166020840152908201526060016101d7565b61025561029f36600461259f565b610af8565b7f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b0390911681526020016101d7565b6102e6610c56565b6040519081526020016101d7565b6102c67f000000000000000000000000000000000000000000000000000000000000000081565b6102556103293660046125f8565b610c6c565b610336610ce4565b6040516001600160e01b031990911681526020016101d7565b6004546102e6565b6102c6610365366004612613565b610d06565b6102e6600381565b610255610d6a565b6102c66103883660046124fb565b60ff165f908152600360205260409020600201546001600160a01b031690565b6101c96103b6366004612652565b611349565b6102326103c93660046124fb565b611382565b5f546001600160a01b03166102c6565b6104aa6103ec3660046124fb565b6040805160e0810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c08101919091525060ff9081165f90815260036020818152604092839020835160e0810185528154808716825261010090049095169185019190915260018101549284019290925260028201546001600160a01b039081166060850152910154908116608083015264ffffffffff600160a01b8204811660a0840152600160c81b9091041660c082015290565b6040516101d79190612669565b6102c67f000000000000000000000000000000000000000000000000000000000000000081565b7f00000000000000000000000000000000000000000000000000000000000000006102c6565b6102326105123660046126ea565b60ff9283165f908152600260209081526040808320948616835293815283822092851682529190915220541690565b600554600160a81b900460ff166101c9565b6105666105613660046125f8565b611408565b6040516001600160601b0390911681526020016101d7565b5f61058b335b5f366117d2565b600554600160a81b900460ff166105b9600660ff8084165f9081526003602052604090205416610512600690565b156105db5760ff81165f908152600360205260409020805460ff191660061790555b604051632b10f60d60e21b815260ff8216600482015273__$b659da7d8a6d2d32aa6c1e17da23dc2174$__90638e4ad86c90829063ac43d83490602401602060405180830381865af4158015610633573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106579190612727565b610662906001612752565b6040518263ffffffff1660e01b815260040161068091815260200190565b602060405180830381865af415801561069b573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106bf9190612770565b60048054600181019091557f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b6020808304919091018054601f90931661010090810a60ff81810219909516948616908102949094179091556005805460ff60a81b1916600160a81b85021790555f83815260039092526040909120805461ff00191691909202179055905061075460066101f6565b60ff9182165f908152600360205260408120805460ff1916928416929092179091556007819055600655600554600160a81b900416919050565b60ff8181165f908152600360205260408120549091166005145b92915050565b6107b733610584565b60ff8083165f908152600360205260409020541681156108e0576107e1816006606e5b6005610af8565b60ff83165f90815260036020908152604091829020805460ff191660051790558151636ac5db1960e01b8152915173__$91d01b1eccbca8d6f94a5eb2a0acb040e9$__92636ac5db199260048083019391928290030181865af415801561084a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061086e919061278b565b60ff84165f81815260036020818152604092839020909101805464ffffffffff95909516600160c81b0264ffffffffff60c81b1990951694909417909355519081527f8c9377f44d861d9abb7de1a880bb234de50528f98b5e198945cb16818bbbb992910160405180910390a16109ea565b6108ef8160066005606e610af8565b60ff83165f90815260036020908152604091829020805460ff1916606e17905581516356db0c1960e11b8152915173__$91d01b1eccbca8d6f94a5eb2a0acb040e9$__9263adb618329260048083019391928290030181865af4158015610958573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061097c919061278b565b60ff84165f81815260036020818152604092839020909101805464ffffffffff95909516600160c81b0264ffffffffff60c81b1990951694909417909355519081527f332d7fb458421533fc26f5789a63f5b7538fc95dd42452533aff2b353c57e826910160405180910390a15b6109f58383156118c8565b505050565b5f8080610a0633610584565b60055460ff600160a81b90910481165f81815260036020526040902054909350610a369116600660026003610af8565b5f610a42868487611939565b9050610a4d83611b00565b600782905560ff84165f81815260036020818152604092839020805460ff191683178155600181018b90556002810180546001600160a01b03199081166001600160a01b038f81169190911790925591909301805490911692861692831790558251918252810192909252818101889052519195508693507fe561bebaa103147764db9d642b4350cdef80d7c55d1da6ae50afda64dcd1c2ff919081900360600190a1509250925092565b60ff8381165f908152600160205260409081902054905163037c8cb160e51b81529116600482015273__$2e1fcf62e7a1b3c2a33bdf2228c171b2be$__90636f91962090602401602060405180830381865af4158015610b5a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b7e91906127ba565b15610bac5760405163ea01ac1f60e01b815230600482015260ff841660248201526044015b60405180910390fd5b60ff80851690831614610bed5760405163bae587e160e01b815230600482015260ff8085166024830152808616604483015283166064820152608401610ba3565b60ff8084165f90815260026020908152604080832088851684528252808320858516845290915290205416610c505760405163f33b49a360e01b815230600482015260ff8085166024830152808616604483015282166064820152608401610ba3565b50505050565b5f600654600754610c6791906127d5565b905090565b5f5433906001600160a01b03168114610ca25760405162d1953b60e31b81526001600160a01b0382166004820152602401610ba3565b816001600160a01b03163b5f03610cd7576040516361798f2f60e11b81526001600160a01b0383166004820152602401610ba3565b610ce082611cf5565b5050565b5f8054600160a01b900460ff16610cfa57505f90565b50638fb3603760e01b90565b604051603881018290526f5af43d82803e903d91602b57fd5bf3ff602482015260148101849052733d602d80600a3d3981f3363d3d373d3d3d363d738152605881018390526037600c820120607882015260556043909101205f905b949350505050565b610d7333610584565b60055460ff600160a81b90910481165f818152600360205260409020549091610da09116600660046107da565b6005805460ff60a01b1916600160a01b60ff841602179055610dc0600590565b60ff8281165f90815260036020908152604091829020805460ff1916949093169390931790915580516356db0c1960e11b8152905173__$91d01b1eccbca8d6f94a5eb2a0acb040e9$__9263adb6183292600480820193918290030181865af4158015610e2f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e53919061278b565b60035f8360ff1660ff1681526020019081526020015f2060030160146101000a81548164ffffffffff021916908364ffffffffff16021790555073__$91d01b1eccbca8d6f94a5eb2a0acb040e9$__636ac5db196040518163ffffffff1660e01b8152600401602060405180830381865af4158015610ed4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ef8919061278b565b60ff82165f908152600360208190526040822001805464ffffffffff93909316600160c81b0264ffffffffff60c81b19909316929092179091556001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001663d39e6043610f69600290565b6040516001600160e01b031960e084901b16815260ff91821660048201529085166024820152604401602060405180830381865afa158015610fad573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fd191906127f3565b90506001600160a01b038116610fff576040516381d94faf60e01b815260ff83166004820152602401610ba3565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001663420e0b358260026040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260ff1660248201526044015f604051808303815f87803b158015611077575f80fd5b505af1158015611089573d5f803e3d5ffd5b505050507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d39e60436110c4600390565b6040516001600160e01b031960e084901b16815260ff91821660048201529085166024820152604401602060405180830381865afa158015611108573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061112c91906127f3565b90506001600160a01b038116156111cc576001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001663420e0b358260036040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260ff1660248201526044015f604051808303815f87803b1580156111b5575f80fd5b505af11580156111c7573d5f803e3d5ffd5b505050505b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001663d39e6043600f6040516001600160e01b031960e084901b16815260ff91821660048201529085166024820152604401602060405180830381865afa158015611241573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061126591906127f3565b90506001600160a01b03811615611305576001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001663420e0b3582600f6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260ff1660248201526044015f604051808303815f87803b1580156112ee575f80fd5b505af1158015611300573d5f803e3d5ffd5b505050505b61130f825f6118c8565b60405160ff831681527fb7defc6b4b34e4db6f0265bb8cc2606e513beda1e68095b668932471417561d49060200160405180910390a15050565b5f6004828154811061135d5761135d61280e565b905f5260205f2090602091828204019190069054906101000a900460ff169050919050565b60ff8181165f9081526001602052604080822054905163b2466acf60e01b8152921660048301529073__$2e1fcf62e7a1b3c2a33bdf2228c171b2be$__9063b2466acf90602401602060405180830381865af41580156113e4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107a891906127ba565b5f61141233610584565b600554600160a81b900460ff9081165f81815260036020526040902054909161144791166006611440600390565b6004610af8565b60ff81165f90815260036020818152604080842090920154825163bf7e214f60e01b815292516001600160a01b039091169263bf7e214f9260048083019391928290030181865afa15801561149e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114c291906127f3565b60ff83165f9081526003602052604080822060020154600654915162212fa360ea1b81529394506001600160a01b03169283916384be8c009161150c919060040190815260200190565b602060405180830381865afa158015611527573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061154b9190612770565b90505f805f61155c89878987611d48565b6006805493965091945092505f61157283612822565b91905055506006546007540361159f5760ff87165f908152600360205260409020805460ff191660041790555b60ff87165f908152600360208190526040808320909101549051637236eacd60e11b815260048101929092526001600160a01b031690819063e46dd59a906024015f604051808303815f87803b1580156115f7575f80fd5b505af1158015611609573d5f803e3d5ffd5b5050604051637485407160e01b81526001600160a01b0389811660048301528d8116602483015260ff80881660448401528c16606483015284169250637485407191506084015f604051808303815f87803b158015611666575f80fd5b505af1158015611678573d5f803e3d5ffd5b5050604051637236eacd60e11b8152600160048201526001600160a01b038416925063e46dd59a91506024015f604051808303815f87803b1580156116bb575f80fd5b505af11580156116cd573d5f803e3d5ffd5b5050604051635382852b60e11b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016925063a7050a56915061172190879086908890600401612868565b6020604051808303815f875af115801561173d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117619190612930565b9850896001600160a01b031663138461e06040518163ffffffff1660e01b81526004016020604051808303815f875af11580156117a0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117c49190612930565b505050505050505050919050565b5f806118056117e85f546001600160a01b031690565b86306117f760045f898b612949565b61180091612970565b6120d9565b91509150816118c15763ffffffff81161561189e575f805460ff60a01b198116600160a01b17909155604051634a63ebf760e11b81526001600160a01b03909116906394c7d7ee9061185f908890889088906004016129a6565b5f604051808303815f87803b158015611876575f80fd5b505af1158015611888573d5f803e3d5ffd5b50505f805460ff60a01b19169055506118c19050565b60405162d1953b60e31b81526001600160a01b0386166004820152602401610ba3565b5050505050565b60ff82165f9081526003602081905260409182902001549051637236eacd60e11b815282151560048201526001600160a01b039091169063e46dd59a906024015f604051808303815f87803b15801561191f575f80fd5b505af1158015611931573d5f803e3d5ffd5b505050505050565b6040516301ffc9a760e01b81526332d11fef60e01b60048201525f906001600160a01b038516906301ffc9a790602401602060405180830381865afa158015611984573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119a891906127ba565b6119d057604051631bead44b60e21b81526001600160a01b0385166004820152602401610ba3565b5f846001600160a01b03166376b707b76040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a0d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a319190612770565b905060ff80851690821614611a5f57848482604051630c3a335360e41b8152600401610ba3939291906129e5565b846001600160a01b03166368c55b136040518163ffffffff1660e01b81526004015f60405180830381865afa158015611a9a573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052611ac19190810190612a77565b519150815f03611af8576040516310c48b6b60e21b81526001600160a01b038616600482015260ff85166024820152604401610ba3565b509392505050565b6005545f90611b17906001600160a01b03166121e1565b604051635c2767c560e01b815260ff841660048201529091505f9073__$b659da7d8a6d2d32aa6c1e17da23dc2174$__90635c2767c5906024015f60405180830381865af4158015611b6b573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052611b929190810190612b84565b604051602001611ba29190612be0565b6040516020818303038152906040529050816001600160a01b031663f399e22e611bca612250565b836040518363ffffffff1660e01b8152600401611be8929190612c02565b5f604051808303815f87803b158015611bff575f80fd5b505af1158015611c11573d5f803e3d5ffd5b505060405163ea0a94b160e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116600483015230602483015260ff871660448301528516925063ea0a94b191506064015f604051808303815f87803b158015611c84575f80fd5b505af1158015611c96573d5f803e3d5ffd5b5050604051637236eacd60e11b8152600160048201526001600160a01b038516925063e46dd59a91506024015f604051808303815f87803b158015611cd9575f80fd5b505af1158015611ceb573d5f803e3d5ffd5b5050505050919050565b5f80546001600160a01b0319166001600160a01b0383169081179091556040519081527f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad9060200160405180910390a150565b6040805160e0810182525f8082526020820181905281830181905260608083018290526080830182905260a0830182905260c083015291516301ffc9a760e01b815263daf9067160e01b600482015290919081906001600160a01b038816906301ffc9a790602401602060405180830381865afa158015611dcb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611def91906127ba565b611e1757604051635f569d0b60e01b81526001600160a01b0388166004820152602401610ba3565b5f3390505f886001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e58573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e7c91906127f3565b9050886001600160a01b0316630d8e6e2c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611eba573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ede9190612c25565b60405163c9e66e2960e01b815262ffffff909116600482015273__$8eede297b65ed5a56eb3f84d8232ae93f5$__9063c9e66e2990602401602060405180830381865af4158015611f31573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f559190612770565b9250886001600160a01b031663b68d18096040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f93573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fb79190612770565b9350886001600160a01b0316630fec111c6040518163ffffffff1660e01b81526004015f60405180830381865afa158015611ff4573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261201b9190810190612c65565b94506120288986846122d9565b876001600160a01b0316816001600160a01b031614612075576040516349aec65360e01b81526001600160a01b03808b166004830152808316602483015289166044820152606401610ba3565b60ff808416908816146120a157888388604051633d36dbf960e01b8152600401610ba3939291906129e5565b60ff808516908716146120cd578886856040516348fe94e360e11b8152600401610ba3939291906129e5565b50509450945094915050565b6040516001600160a01b03848116602483015283811660448301526001600160e01b0319831660648301525f9182918291829189169060840160408051601f198184030181529181526020820180516001600160e01b031663b700961360e01b179052516121479190612d37565b5f60405180830381855afa9150503d805f811461217f576040519150601f19603f3d011682016040523d82523d5f602084013e612184565b606091505b509150915081156121d65760408151106121b657808060200190518101906121ac9190612d42565b90945092506121d6565b60208151106121d657808060200190518101906121d391906127ba565b93505b505094509492505050565b5f763d602d80600a3d3981f3363d3d373d3d3d363d730000008260601b60e81c175f526e5af43d82803e903d91602b57fd5bf38260781b17602052603760095ff090506001600160a01b03811661224b576040516330be1a3d60e21b815260040160405180910390fd5b919050565b5f610c677f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156122b0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122d491906127f3565b6121e1565b826001600160a01b031682608001516001600160a01b031614612328576080820151604051633db89c6160e01b81526001600160a01b0380861660048301529091166024820152604401610ba3565b60608201511561236357606082015160405163955d053f60e01b81526001600160a01b03851660048201529015156024820152604401610ba3565b61237f8260400151612373600890565b60ff9081169116141590565b156123a85782600883604001516040516336b258d560e11b8152600401610ba3939291906129e5565b60a08201516001600160a01b03808216908316146123f45760405163fb581fd160e01b81526001600160a01b038086166004830152808416602483015282166044820152606401610ba3565b836001600160a01b0316816001600160a01b0316036124315760405163076ab37760e31b81526001600160a01b0385166004820152602401610ba3565b60405163c3c5a54760e01b81526001600160a01b0382811660048301527f0000000000000000000000000000000000000000000000000000000000000000169063c3c5a54790602401602060405180830381865afa158015612495573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124b991906127ba565b15610c505760405163b1e0f1f560e01b81526001600160a01b03808616600483015282166024820152604401610ba3565b60ff811681146124f8575f80fd5b50565b5f6020828403121561250b575f80fd5b8135612516816124ea565b9392505050565b80151581146124f8575f80fd5b5f806040838503121561253b575f80fd5b8235612546816124ea565b915060208301356125568161251d565b809150509250929050565b6001600160a01b03811681146124f8575f80fd5b5f8060408385031215612586575f80fd5b823561259181612561565b946020939093013593505050565b5f805f80608085870312156125b2575f80fd5b84356125bd816124ea565b935060208501356125cd816124ea565b925060408501356125dd816124ea565b915060608501356125ed816124ea565b939692955090935050565b5f60208284031215612608575f80fd5b813561251681612561565b5f805f60608486031215612625575f80fd5b833561263081612561565b925060208401359150604084013561264781612561565b809150509250925092565b5f60208284031215612662575f80fd5b5035919050565b5f60e08201905060ff835116825260ff60208401511660208301526040830151604083015260018060a01b03606084015116606083015260018060a01b03608084015116608083015260a08301516126ca60a084018264ffffffffff169052565b5060c08301516126e360c084018264ffffffffff169052565b5092915050565b5f805f606084860312156126fc575f80fd5b8335612707816124ea565b92506020840135612717816124ea565b91506040840135612647816124ea565b5f60208284031215612737575f80fd5b5051919050565b634e487b7160e01b5f52601160045260245ffd5b808201808211156107a8576107a861273e565b805161224b816124ea565b5f60208284031215612780575f80fd5b8151612516816124ea565b5f6020828403121561279b575f80fd5b815164ffffffffff81168114612516575f80fd5b805161224b8161251d565b5f602082840312156127ca575f80fd5b81516125168161251d565b818103818111156107a8576107a861273e565b805161224b81612561565b5f60208284031215612803575f80fd5b815161251681612561565b634e487b7160e01b5f52603260045260245ffd5b5f600182016128335761283361273e565b5060010190565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b606081526001600160601b0384511660608201526001600160601b03602085015116608082015260ff60408501511660a08201525f60608501516128b060c084018215159052565b5060808501516001600160a01b03811660e08401525060a08501516001600160a01b0381166101008401525060c085015160e06101208401526128f761014084018261283a565b915050612909602083018560ff169052565b60ff83166040830152949350505050565b80516001600160601b038116811461224b575f80fd5b5f60208284031215612940575f80fd5b6125168261291a565b5f8085851115612957575f80fd5b83861115612963575f80fd5b5050820193919092039150565b80356001600160e01b031981169060048410156126e3576001600160e01b031960049490940360031b84901b1690921692915050565b6001600160a01b03841681526040602082018190528101829052818360608301375f818301606090810191909152601f909201601f1916010192915050565b6001600160a01b0393909316835260ff918216602084015216604082015260600190565b634e487b7160e01b5f52604160045260245ffd5b60405160e0810167ffffffffffffffff81118282101715612a4057612a40612a09565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715612a6f57612a6f612a09565b604052919050565b5f60208284031215612a87575f80fd5b815167ffffffffffffffff811115612a9d575f80fd5b8201601f81018413612aad575f80fd5b805167ffffffffffffffff811115612ac757612ac7612a09565b8060051b612ad760208201612a46565b91825260208184018101929081019087841115612af2575f80fd5b6020850194505b83851015612b205784519250612b0e836124ea565b82825260209485019490910190612af9565b979650505050505050565b5f8067ffffffffffffffff841115612b4557612b45612a09565b50601f8301601f1916602001612b5a81612a46565b915050828152838383011115612b6e575f80fd5b8282602083015e5f602084830101529392505050565b5f60208284031215612b94575f80fd5b815167ffffffffffffffff811115612baa575f80fd5b8201601f81018413612bba575f80fd5b610d6284825160208401612b2b565b5f81518060208401855e5f93019283525090919050565b6d2932b632b0b9b2a0b236b4b72fbb60911b81525f612516600e830184612bc9565b6001600160a01b03831681526040602082018190525f90610d629083018461283a565b5f60208284031215612c35575f80fd5b815162ffffff81168114612516575f80fd5b5f82601f830112612c56575f80fd5b61251683835160208501612b2b565b5f60208284031215612c75575f80fd5b815167ffffffffffffffff811115612c8b575f80fd5b820160e08185031215612c9c575f80fd5b612ca4612a1d565b612cad8261291a565b8152612cbb6020830161291a565b6020820152612ccc60408301612765565b6040820152612cdd606083016127af565b6060820152612cee608083016127e8565b6080820152612cff60a083016127e8565b60a082015260c082015167ffffffffffffffff811115612d1d575f80fd5b612d2986828501612c47565b60c083015250949350505050565b5f6125168284612bc9565b5f8060408385031215612d53575f80fd5b8251612d5e8161251d565b602084015190925063ffffffff81168114612556575f80fdfea26469706673582212200d13baf1d25d0f983c68dd8a72464f6031af2ac16be2615bac900832729d8e7964736f6c634300081a0033608060405234801561000f575f80fd5b506040516158ed3803806158ed83398101604081905261002e91610b72565b610068816040518060400160405280601281526020017126b0b9ba32b92932b632b0b9b2a0b236b4b760711b81525061006e60201b60201c565b5061107a565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff1615906001600160401b03165f811580156100b75750825b90505f826001600160401b031660011480156100d25750303b155b9050811580156100e0575080155b156100fe5760405163f92ee8a960e01b815260040160405180910390fd5b84546001600160401b0319166001178555831561012c57845460ff60401b1916680100000000000000001785555b6101368787610185565b831561017c57845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050565b61018d61045f565b6003546001600160a01b03166101b057600380546001600160a01b031916331790555b6003546001600160a01b031633146101db5760405163410f583d60e11b815260040160405180910390fd5b604051631627905560e01b81526001600160a01b038316600482015273__$fb599632d08395912d9d70eb2f0f93b5e2$__90631627905590602401602060405180830381865af4158015610231573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102559190610b9f565b6102825760405163a91c340960e01b81526001600160a01b03831660048201526024015b60405180910390fd5b80515f036102a35760405163ea69a8ad60e01b815260040160405180910390fd5b600180546001600160a01b0319166001600160a01b03841690811790915560405163189acdbd60e31b815230600482015263c4d66de8906024015f604051808303815f87803b1580156102f4575f80fd5b505af1158015610306573d5f803e3d5ffd5b5050604051632330f24760e01b81526001600160a01b038516600482015273__$fb599632d08395912d9d70eb2f0f93b5e2$__9250632330f2479150602401602060405180830381865af4158015610360573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103849190610b9f565b6103ac57604051637595cb1960e01b81526001600160a01b0383166004820152602401610279565b6103b5826104af565b5f6103c08282610c56565b5073__$94a2c899be079b00d952d0d84fffaa5c34$__63bc1b392d6040518163ffffffff1660e01b8152600401602060405180830381865af4158015610408573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061042c9190610d10565b600380546001600160601b0392909216600160a01b026001600160a01b0390921691909117905561045b6104c3565b5050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005468010000000000000000900460ff166104ad57604051631afcd79f60e31b815260040160405180910390fd5b565b6104b761045f565b6104c08161070f565b50565b6104cb61045f565b5f73__$1d92393fa9ccd763988368ce8a1cb90d26$__637c3940bf60015f9054906101000a90046001600160a01b03166001600160a01b03166375b238fc6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610536573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061055a9190610d4a565b6040516001600160e01b031960e084901b1681526001600160401b039091166004820152602401602060405180830381865af415801561059c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105c09190610d4a565b90506106776105cd610720565b73__$7ca0443fea8aec4ba68c2e8d18c5a8d73e$__635a8196626105ef610720565b6001806040518060400160405280600981526020016841646d696e526f6c6560b81b8152506040518563ffffffff1660e01b81526004016106339493929190610dc7565b60c060405180830381865af415801561064e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106729190610e7c565b61079a565b6001600160401b0381165f9081526007602052604090206106989030610a5d565b506104c06106a4610a7a565b73__$7ca0443fea8aec4ba68c2e8d18c5a8d73e$__635a8196626106c6610720565b600263ffffffff6040518060400160405280600a8152602001695075626c6963526f6c6560b01b8152506040518563ffffffff1660e01b81526004016106339493929190610dc7565b61071761045f565b6104c081610aba565b604051637c3940bf60e01b81525f600482018190529073__$1d92393fa9ccd763988368ce8a1cb90d26$__90637c3940bf906024015b602060405180830381865af4158015610771573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107959190610d4a565b905090565b73__$91d01b1eccbca8d6f94a5eb2a0acb040e9$__63adb618326040518163ffffffff1660e01b8152600401602060405180830381865af41580156107e1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108059190610f07565b64ffffffffff1660808201526001600160401b038083165f9081526004602090815260409091208351815493166001600160401b03198416811782559184015184939192909183916001600160481b0319909116176801000000000000000083600381111561087657610876610d65565b0217905550604082810151825463ffffffff90911669010000000000000000000263ffffffff60481b1990911617825560608084015160018085019190915560808501516002909401805460a09096015164ffffffffff90811665010000000000026001600160501b031990971695169490941794909417909255805180820182526001600160401b03808716808352602080840187815295880180515f90815260058352868120955186549851151568010000000000000000026001600160481b03199099169086161797909717909455600680549788018155865260048088047ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f01805460039099166008026101000a938402939094021990971691909117909155850151855191519251631623433d60e31b81527f089dc3e37715ee5f5f527a09ca053081e6a74ab2cde2b4471c37f8b9b81af45c95889492939273__$9a094f9b231ed0f5f85a69be8408d93180$__9263b11a19e8926109ff92910190815260200190565b5f60405180830381865af4158015610a19573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610a409190810190610f20565b604051610a51959493929190610fb2565b60405180910390a15050565b5f610a71836001600160a01b038416610b26565b90505b92915050565b604051637c3940bf60e01b81526001600160401b0360048201525f9073__$1d92393fa9ccd763988368ce8a1cb90d26$__90637c3940bf90602401610756565b7ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a0080546001600160a01b0319166001600160a01b03831690811782556040519081527f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad90602001610a51565b5f818152600183016020526040812054610b6b57508154600181810184555f848152602080822090930184905584548482528286019093526040902091909155610a74565b505f610a74565b5f60208284031215610b82575f80fd5b81516001600160a01b0381168114610b98575f80fd5b9392505050565b5f60208284031215610baf575f80fd5b81518015158114610b98575f80fd5b634e487b7160e01b5f52604160045260245ffd5b600181811c90821680610be657607f821691505b602082108103610c0457634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115610c5157805f5260205f20601f840160051c81016020851015610c2f5750805b601f840160051c820191505b81811015610c4e575f8155600101610c3b565b50505b505050565b81516001600160401b03811115610c6f57610c6f610bbe565b610c8381610c7d8454610bd2565b84610c0a565b6020601f821160018114610cb5575f8315610c9e5750848201515b5f19600385901b1c1916600184901b178455610c4e565b5f84815260208120601f198516915b82811015610ce45787850151825560209485019460019092019101610cc4565b5084821015610d0157868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b5f60208284031215610d20575f80fd5b81516001600160601b0381168114610b98575f80fd5b6001600160401b03811681146104c0575f80fd5b5f60208284031215610d5a575f80fd5b8151610b9881610d36565b634e487b7160e01b5f52602160045260245ffd5b60048110610d9557634e487b7160e01b5f52602160045260245ffd5b9052565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b6001600160401b0385168152610de06020820185610d79565b63ffffffff83166040820152608060608201525f610e016080830184610d99565b9695505050505050565b60405160c081016001600160401b0381118282101715610e2d57610e2d610bbe565b60405290565b604051601f8201601f191681016001600160401b0381118282101715610e5b57610e5b610bbe565b604052919050565b805164ffffffffff81168114610e77575f80fd5b919050565b5f60c0828403128015610e8d575f80fd5b50610e96610e0b565b8251610ea181610d36565b8152602083015160048110610eb4575f80fd5b6020820152604083015163ffffffff81168114610ecf575f80fd5b604082015260608381015190820152610eea60808401610e63565b6080820152610efb60a08401610e63565b60a08201529392505050565b5f60208284031215610f17575f80fd5b610a7182610e63565b5f60208284031215610f30575f80fd5b81516001600160401b03811115610f45575f80fd5b8201601f81018413610f55575f80fd5b80516001600160401b03811115610f6e57610f6e610bbe565b610f81601f8201601f1916602001610e33565b818152856020838501011115610f95575f80fd5b8160208401602083015e5f91810160200191909152949350505050565b60a081525f808754610fc381610bd2565b8060a0860152600182165f8114610fe15760018114610ffd5761102e565b60ff19831660c087015260c082151560051b870101935061102e565b8a5f5260205f205f5b8381101561102557815488820160c00152600190910190602001611006565b870160c0019450505b5050506001600160401b038716602084015261104d6040840187610d79565b6001600160401b0385166060840152828103608084015261106e8185610d99565b98975050505050505050565b614866806110875f395ff3fe608060405234801561000f575f80fd5b5060043610610229575f3560e01c80638fb360371161012a578063cd55e51b116100b4578063e46dd59a11610079578063e46dd59a146105f0578063ea0a94b114610603578063f09ae31b14610616578063f399e22e14610641578063f60458ba14610654575f80fd5b8063cd55e51b1461059e578063cf2f81dc146105b1578063d5f39488146105c4578063d78a83b1146105d5578063dd22b08a146105e8575f80fd5b8063b3ecf236116100fa578063b3ecf2361461052a578063bc62a0a514610532578063bcfb11b01461055a578063bf7e214f14610583578063c6a001791461058b575f80fd5b80638fb36037146104af5780639279073b146104d05780639cad00521461050f578063a4e2d63414610522575f80fd5b80635ab1bd53116101b6578063728a61a81161017b578063728a61a814610452578063748540711461046557806376b707b71461047a5780637a9e5e4b146104945780638308ceb1146104a7575f80fd5b80635ab1bd53146103f35780635bfa5027146103fb578063605aa10a1461041b57806364fc31421461042e5780636bd1c0eb14610441575f80fd5b806326decd40116101fc57806326decd401461034a5780633406b1521461036d57806335471f80146103ad578063392f5f64146103c05780633fd85561146103c8575f80fd5b8063030149741461022d57806312e1ebc51461025357806324913ce6146102ee57806326d60fb414610342575b5f80fd5b61024061023b366004613ab2565b61067f565b6040519081526020015b60405180910390f35b6102c3610261366004613ae1565b60408051606080820183525f80835260208084018290529284018190526001600160a01b03949094168452600882529282902082519384018352805484526001015460ff8116151591840191909152610100900464ffffffffff169082015290565b60408051825181526020808401511515908201529181015164ffffffffff169082015260600161024a565b6103016102fc366004613afc565b6106a5565b60408051835181526020808501516001600160e01b031916908201529281015164ffffffffff16908301526001600160401b0316606082015260800161024a565b600a54610240565b61035d610358366004613ae1565b610935565b604051901515815260200161024a565b61039561037b366004613b26565b5f908152600960205260409020546001600160a01b031690565b6040516001600160a01b03909116815260200161024a565b6102406103bb366004613ae1565b6109a1565b600654610240565b6103db6103d6366004613b26565b610a2b565b6040516001600160401b03909116815260200161024a565b610395610a6d565b61040e610409366004613ab2565b610add565b60405161024a9190613bd1565b61035d610429366004613ae1565b610bb1565b61035d61043c366004613bdf565b610c26565b6002546001600160a01b0316610395565b610395610460366004613b26565b610cac565b610478610473366004613c24565b610cda565b005b610482610d03565b60405160ff909116815260200161024a565b6104786104a2366004613ae1565b610d6e565b6103db610df9565b6104b7610e64565b6040516001600160e01b0319909116815260200161024a565b6105026040518060400160405280601381526020017252656c656173655265676973747279526f6c6560681b81525081565b60405161024a9190613cab565b6103db61051d366004613da1565b610e9a565b61035d610f33565b6103db610f9e565b6105026040518060400160405280600981526020016841646d696e526f6c6560b81b81525081565b6105026040518060400160405280600a8152602001695075626c6963526f6c6560b01b81525081565b610395610fe5565b61035d610599366004613ab2565b611000565b61035d6105ac366004613bdf565b61105e565b6104786105bf366004613de7565b61108c565b6003546001600160a01b0316610395565b6103956105e3366004613e13565b611185565b6103956111a6565b6104786105fe366004613e2f565b611206565b610478610611366004613e4a565b61145c565b6105026040518060400160405280600c81526020016b2932b632b0b9b2a0b236b4b760a11b81525081565b61047861064f366004613e92565b611627565b600354600160a01b90046001600160601b03166040516001600160601b03909116815260200161024a565b6001600160401b0381165f90815260076020526040812061069f90611735565b92915050565b604080516060810182525f80825260208083018290528284018290526001600160a01b0386168252600b9052828120925163dfe63db960e01b81526004810193909352602483018490529091819073__$8df0087758613aef8a614b5774fdb3323b$__9063dfe63db990604401602060405180830381865af415801561072d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107519190613ee9565b6001600160a01b038681165f908152600c602090815260408083206001600160e01b03198681168086529184529382902082516060810184528154815260019182015460e081901b9096169481019490945264010000000090940464ffffffffff168383015292549051636ea1af2560e11b8152600481019390935290965092935073__$1d92393fa9ccd763988368ce8a1cb90d26$__92637c3940bf921690636d5115bd90899073__$0904195350e4c23ecb1d51df0a32586dcd$__9063dd435e4a90602401602060405180830381865af4158015610833573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108579190613ee9565b6040516001600160e01b031960e085901b811682526001600160a01b03909316600482015291166024820152604401602060405180830381865afa1580156108a1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108c59190613f04565b6040516001600160e01b031960e084901b1681526001600160401b039091166004820152602401602060405180830381865af4158015610907573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061092b9190613f04565b9150509250929050565b60015460405163a166aa8960e01b81526001600160a01b0383811660048301525f92169063a166aa8990602401602060405180830381865afa15801561097d573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061069f9190613f1f565b6001600160a01b0381165f908152600b6020526040808220905163868b3e0760e01b8152600481019190915273__$8df0087758613aef8a614b5774fdb3323b$__9063868b3e0790602401602060405180830381865af4158015610a07573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061069f9190613f3a565b5f60068281548110610a3f57610a3f613f51565b905f5260205f2090600491828204019190066008029054906101000a90046001600160401b03169050919050565b60015460408051635ab1bd5360e01b815290515f926001600160a01b031691635ab1bd539160048083019260209291908290030181865afa158015610ab4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ad89190613f65565b905090565b6040805160c080820183525f8083526020808401829052838501829052606084018290526080840182905260a084018290526001600160401b038681168352600482529185902085519384019095528454918216835292939192830190600160401b900460ff166003811115610b5557610b55613b3d565b6003811115610b6657610b66613b3d565b81528154600160481b900463ffffffff1660208201526001820154604082015260029091015464ffffffffff8082166060840152650100000000009091041660809091015292915050565b6001600160a01b0381165f90815260086020526040808220600101549051638d38cd4b60e01b815261010090910464ffffffffff16600482015273__$91d01b1eccbca8d6f94a5eb2a0acb040e9$__90638d38cd4b906024015b602060405180830381865af415801561097d573d5f803e3d5ffd5b6001546040516368fc2b7760e11b81526001600160401b03831660048201526001600160a01b0384811660248301525f92839291169063d1f856ee906044016040805180830381865afa158015610c7f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ca39190613f98565b50949350505050565b5f600a8281548110610cc057610cc0613f51565b5f918252602090912001546001600160a01b031692915050565b610ce6335b5f3661173e565b610cf183838361183c565b610cfd84848484611add565b50505050565b600154604080516376b707b760e01b815290515f926001600160a01b0316916376b707b79160048083019260209291908290030181865afa158015610d4a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ad89190613fcb565b33610d77610fe5565b6001600160a01b0316816001600160a01b031614610db75760405162d1953b60e31b81526001600160a01b03821660048201526024015b60405180910390fd5b816001600160a01b03163b5f03610dec576040516361798f2f60e11b81526001600160a01b0383166004820152602401610dae565b610df582611d8a565b5050565b60015460408051631e53e01560e11b815290515f926001600160a01b031691633ca7c02a9160048083019260209291908290030181865afa158015610e40573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ad89190613f04565b5f8051602061481183398151915280545f9190600160a01b900460ff16610e8b575f610e94565b638fb3603760e01b5b91505090565b5f60055f73__$9a094f9b231ed0f5f85a69be8408d93180$__63cdc23e69856040518263ffffffff1660e01b8152600401610ed59190613cab565b602060405180830381865af4158015610ef0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f149190613f3a565b815260208101919091526040015f20546001600160401b031692915050565b60015460408051632938b58d60e21b815290515f926001600160a01b03169163a4e2d6349160048083019260209291908290030181865afa158015610f7a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ad89190613f1f565b60015460408051631d6c8e3f60e21b815290515f926001600160a01b0316916375b238fc9160048083019260209291908290030181865afa158015610e40573d5f803e3d5ffd5b5f80516020614811833981519152546001600160a01b031690565b6001600160401b0381165f908152600460208190526040808320600201549051638d38cd4b60e01b815264ffffffffff9091169181019190915273__$91d01b1eccbca8d6f94a5eb2a0acb040e9$__90638d38cd4b90602401610c0b565b6001600160401b038082165f90815260046020526040812054909161108591859116610c26565b9392505050565b61109533610cdf565b306001600160a01b038316036110c95760405163f1e7fc1f60e01b81526001600160a01b0383166004820152602401610dae565b6110d38282611de3565b7f6684f8a06572afb238e3be8cfd16b40f30528ddff5a058ed4af32467818abdac826001600160a01b03166376b707b76040518163ffffffff1660e01b8152600401602060405180830381865afa158015611130573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111549190613fcb565b6040805160ff90921682526001600160a01b0385166020830152831515908201526060015b60405180910390a15050565b6001600160401b0382165f9081526007602052604081206110859083611e4b565b5f6111af610a6d565b600354604051631c5da14d60e11b8152600160a01b9091046001600160601b031660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa158015610ab4573d5f803e3d5ffd5b6001545f906001600160a01b031663d1f856ee611221611e56565b604051631517388760e21b81526001600160401b03909116600482015273__$1d92393fa9ccd763988368ce8a1cb90d26$__9063545ce21c90602401602060405180830381865af4158015611278573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061129c9190613f04565b6040516001600160e01b031960e084901b1681526001600160401b0390911660048201523360248201526044016040805180830381865afa1580156112e3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113079190613f98565b5090508061132a5760405163de0edf8360e01b8152336004820152602401610dae565b5f611333610fe5565b9050821515816001600160a01b031663a4e2d6346040518163ffffffff1660e01b8152600401602060405180830381865afa158015611374573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113989190613f1f565b1515036113bc57604051632727ef3d60e01b81528315156004820152602401610dae565b60405163108f145b60e11b815283151560048201526001600160a01b0382169063211e28b6906024015f604051808303815f87803b1580156113fc575f80fd5b505af115801561140e573d5f803e3d5ffd5b505050507f1da9fc334a60200f44fc264006bff9790c7cb9ec01d31ec3d66ba46e94f298b261143b610d03565b6040805160ff909216825285151560208301520160405180910390a1505050565b604051632b10f60d60e21b815260ff8216600482015273__$b659da7d8a6d2d32aa6c1e17da23dc2174$__9063ac43d83490602401602060405180830381865af41580156114ac573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114d09190613f3a565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b900460ff1680611515575080546001600160401b03808416911610155b156115335760405163f92ee8a960e01b815260040160405180910390fd5b805468ffffffffffffffffff19166001600160401b03831617600160401b17815561155d85611ea6565b611565610fe5565b604051630f6c67a360e11b81526001600160a01b03878116600483015260ff861660248301529190911690631ed8cf46906044015f604051808303815f87803b1580156115b0575f80fd5b505af11580156115c2573d5f803e3d5ffd5b505050506115cf85611f4b565b6115d884612080565b805460ff60401b191681556040516001600160401b03831681527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2906020015b60405180910390a15050505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b810460ff1615906001600160401b03165f8115801561166b5750825b90505f826001600160401b031660011480156116865750303b155b905081158015611694575080155b156116b25760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff1916600117855583156116dc57845460ff60401b1916600160401b1785555b6116e68787612317565b831561172c57845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050565b5f61069f825490565b5f805160206148118339815191525f80611776611759610fe5565b873061176860045f8a8c613fe6565b6117719161400d565b6125e7565b91509150816118345763ffffffff81161561181157825460ff60a01b1916600160a01b1783556117a4610fe5565b6001600160a01b03166394c7d7ee8787876040518463ffffffff1660e01b81526004016117d393929190614045565b5f604051808303815f87803b1580156117ea575f80fd5b505af11580156117fc573d5f803e3d5ffd5b5050845460ff60a01b19168555506118349050565b60405162d1953b60e31b81526001600160a01b0387166004820152602401610dae565b505050505050565b604051632b95d28f60e21b815260ff831660048201525f9073__$0d958e68cba84670b8f4a3f2f2686b1c6b$__9063ae574a3c906024015f60405180830381865af415801561188d573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526118b49190810190614084565b90505f73__$0d958e68cba84670b8f4a3f2f2686b1c6b$__630c3258f983856040518363ffffffff1660e01b81526004016118f09291906140f8565b5f60405180830381865af415801561190a573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526119319190810190614084565b9050611940858260015f6126ef565b60405163dda777d360e01b815260ff8086166004830152841660248201525f9073__$1d92393fa9ccd763988368ce8a1cb90d26$__9063dda777d390604401602060405180830381865af415801561199a573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119be9190613f04565b90506119c981611000565b611ad357611ad38173__$7ca0443fea8aec4ba68c2e8d18c5a8d73e$__635a8196626119f3612763565b60018073__$0d958e68cba84670b8f4a3f2f2686b1c6b$__630c3258f98b8d6040518363ffffffff1660e01b8152600401611a2f92919061413d565b5f60405180830381865af4158015611a49573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052611a709190810190614084565b6040518563ffffffff1660e01b8152600401611a8f9493929190614186565b60c060405180830381865af4158015611aaa573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ace91906141de565b61279d565b611834818761280e565b604051630e949b3560e21b815260ff831660048201525f90819081906001600160a01b03881690633a526cd4906024015f60405180830381865afa158015611b27573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052611b4e9190810190614281565b90505f5b8151811015611d8057818181518110611b6d57611b6d613f51565b60200260200101519350611b8e84611b83606390565b60ff90811691161490565b15611ba257611b9b612a62565b9250611c21565b60405163dda777d360e01b815260ff80861660048301528616602482015273__$1d92393fa9ccd763988368ce8a1cb90d26$__9063dda777d390604401602060405180830381865af4158015611bfa573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c1e9190613f04565b92505b611c2a83611000565b611cf557611cf58373__$7ca0443fea8aec4ba68c2e8d18c5a8d73e$__635a819662611c54612763565b604051632b95d28f60e21b815260ff8a166004820152600190819073__$0d958e68cba84670b8f4a3f2f2686b1c6b$__90630c3258f990829063ae574a3c906024015f60405180830381865af4158015611cb0573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052611cd79190810190614084565b8e6040518363ffffffff1660e01b8152600401611a2f929190614310565b6040516374766d9b60e11b815260ff8088166004830152851660248201525f906001600160a01b038a169063e8ecdb36906044015f60405180830381865afa158015611d43573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052611d6a91908101906143bb565b9050611d77888583612aa2565b50600101611b52565b5050505050505050565b5f8051602061481183398151915280546001600160a01b0319166001600160a01b03831690811782556040519081527f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad90602001611179565b81611ded81612b0e565b60015460405163167bd39560e01b81526001600160a01b03858116600483015284151560248301529091169063167bd395906044015f604051808303815f87803b158015611e39575f80fd5b505af115801561172c573d5f803e3d5ffd5b5f6110858383612b3f565b604051637c3940bf60e01b81526004808201525f9073__$1d92393fa9ccd763988368ce8a1cb90d26$__90637c3940bf906024015b602060405180830381865af4158015610e40573d5f803e3d5ffd5b604051633334d16b60e01b81526001600160a01b038216600482015273__$fb599632d08395912d9d70eb2f0f93b5e2$__90633334d16b90602401602060405180830381865af4158015611efc573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f209190613f1f565b611f485760405163375acd0b60e11b81526001600160a01b0382166004820152602401610dae565b50565b611f53610a6d565b60405163c3c5a54760e01b81526001600160a01b038381166004830152919091169063c3c5a54790602401602060405180830381865afa158015611f99573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fbd9190613f1f565b611fe557604051633b69638960e11b81526001600160a01b0382166004820152602401610dae565b611fed610a6d565b604051632f2a35f760e11b81526001600160a01b0383811660048301529190911690635e546bee90602401602060405180830381865afa158015612033573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612057919061444b565b600360146101000a8154816001600160601b0302191690836001600160601b0316021790555050565b612088612b65565b6120b8306040518060400160405280600c81526020016b2932b632b0b9b2a0b236b4b760a11b8152505f806126ef565b6121336120c3611e56565b73__$7ca0443fea8aec4ba68c2e8d18c5a8d73e$__635a8196626120e5612763565b6001806040518060400160405280601381526020017252656c656173655265676973747279526f6c6560681b8152506040518563ffffffff1660e01b8152600401611a8f9493929190614186565b6040805160028082526060828101909352816020015b604080516060810182525f80825260208083018290529282015282525f1990920191018161214957905050604080516315fb0abb60e01b8152637485407160e01b60048201526024810191909152601060448201526f617574686f72697a655365727669636560801b606482015290915073__$7ca0443fea8aec4ba68c2e8d18c5a8d73e$__906315fb0abb90608401606060405180830381865af41580156121f4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122189190614471565b815f8151811061222a5761222a613f51565b6020908102919091010152604080516315fb0abb60e01b81526333cbe07760e21b60048201526024810191909152601060448201526f1cd95d14d95c9d9a58d9531bd8dad95960821b606482015273__$7ca0443fea8aec4ba68c2e8d18c5a8d73e$__906315fb0abb90608401606060405180830381865af41580156122b2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122d69190614471565b816001815181106122e9576122e9613f51565b602002602001018190525061230630612300611e56565b83612aa2565b610df5612311611e56565b8361280e565b61231f612b65565b6003546001600160a01b031661234257600380546001600160a01b031916331790555b6003546001600160a01b0316331461236d5760405163410f583d60e11b815260040160405180910390fd5b604051631627905560e01b81526001600160a01b038316600482015273__$fb599632d08395912d9d70eb2f0f93b5e2$__90631627905590602401602060405180830381865af41580156123c3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123e79190613f1f565b61240f5760405163a91c340960e01b81526001600160a01b0383166004820152602401610dae565b80515f036124305760405163ea69a8ad60e01b815260040160405180910390fd5b600180546001600160a01b0319166001600160a01b03841690811790915560405163189acdbd60e31b815230600482015263c4d66de8906024015f604051808303815f87803b158015612481575f80fd5b505af1158015612493573d5f803e3d5ffd5b5050604051632330f24760e01b81526001600160a01b038516600482015273__$fb599632d08395912d9d70eb2f0f93b5e2$__9250632330f2479150602401602060405180830381865af41580156124ed573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125119190613f1f565b61253957604051637595cb1960e01b81526001600160a01b0383166004820152602401610dae565b61254282612bb0565b5f61254d8282614507565b5073__$94a2c899be079b00d952d0d84fffaa5c34$__63bc1b392d6040518163ffffffff1660e01b8152600401602060405180830381865af4158015612595573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125b9919061444b565b600360146101000a8154816001600160601b0302191690836001600160601b03160217905550610df5612bc1565b6040516001600160a01b03848116602483015283811660448301526001600160e01b0319831660648301525f9182918291829189169060840160408051601f198184030181529181526020820180516001600160e01b031663b700961360e01b1790525161265591906145d8565b5f60405180830381855afa9150503d805f811461268d576040519150601f19603f3d011682016040523d82523d5f602084013e612692565b606091505b509150915081156126e45760408151106126c457808060200190518101906126ba9190613f98565b90945092506126e4565b60208151106126e457808060200190518101906126e19190613f1f565b93505b505094509492505050565b604051632492398560e11b815273__$7ca0443fea8aec4ba68c2e8d18c5a8d73e$__90634924730a9061272c9030908890889088906004016145e3565b5f6040518083038186803b158015612742575f80fd5b505af4158015612754573d5f803e3d5ffd5b50505050610cfd848483612e0d565b604051637c3940bf60e01b81525f600482018190529073__$1d92393fa9ccd763988368ce8a1cb90d26$__90637c3940bf90602401611e8b565b6040516319bfbe5560e31b815273__$7ca0443fea8aec4ba68c2e8d18c5a8d73e$__9063cdfdf2a8906127d890309086908690600401614621565b5f6040518083038186803b1580156127ee575f80fd5b505af4158015612800573d5f803e3d5ffd5b50505050610df58282613005565b8160015f61281c83836132ba565b6001600160401b0385165f908152600460209081526040808320546007909252909120600160481b90910463ffffffff169061285790611735565b106128a5576001600160401b0385165f8181526004602081905260409182902054915163b6a5795960e01b815290810192909252600160481b900463ffffffff166024820152604401610dae565b60016001600160401b0386165f90815260046020526040902054600160401b900460ff1660038111156128da576128da613b3d565b14801561295e5750604051631627905560e01b81526001600160a01b038516600482015273__$fb599632d08395912d9d70eb2f0f93b5e2$__90631627905590602401602060405180830381865af4158015612938573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061295c9190613f1f565b155b1561299657604051632e0816b360e21b81526001600160401b03861660048201526001600160a01b0385166024820152604401610dae565b6001600160401b0385165f9081526007602052604090206129b7908561347e565b5060015460405163012e238d60e51b81526001600160401b03871660048201526001600160a01b0386811660248301525f6044830152909116906325c471a0906064015f604051808303815f87803b158015612a11575f80fd5b505af1158015612a23573d5f803e3d5ffd5b505050507fe833cea7ff35d8ab3a1c2917328619fb92c0bbdc3792d351b31751e36eb209465f85612a5388613492565b604051611618939291906146cd565b604051637c3940bf60e01b81526001600160401b0360048201525f9073__$1d92393fa9ccd763988368ce8a1cb90d26$__90637c3940bf90602401611e8b565b612abf82612aae610f9e565b6001600160401b0390811691161490565b15612ae857604051636a89b82560e11b81526001600160a01b0384166004820152602401610dae565b5f80612af685846001613562565b91509150612b07858584845f613929565b5050505050565b612b1781610bb1565b611f4857604051630a504d9560e11b81526001600160a01b0382166004820152602401610dae565b5f825f018281548110612b5457612b54613f51565b905f5260205f200154905092915050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054600160401b900460ff16612bae57604051631afcd79f60e31b815260040160405180910390fd5b565b612bb8612b65565b611f4881613a41565b612bc9612b65565b5f73__$1d92393fa9ccd763988368ce8a1cb90d26$__637c3940bf60015f9054906101000a90046001600160a01b03166001600160a01b03166375b238fc6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612c34573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612c589190613f04565b6040516001600160e01b031960e084901b1681526001600160401b039091166004820152602401602060405180830381865af4158015612c9a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612cbe9190613f04565b9050612d75612ccb612763565b73__$7ca0443fea8aec4ba68c2e8d18c5a8d73e$__635a819662612ced612763565b6001806040518060400160405280600981526020016841646d696e526f6c6560b81b8152506040518563ffffffff1660e01b8152600401612d319493929190614186565b60c060405180830381865af4158015612d4c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612d7091906141de565b613005565b6001600160401b0381165f908152600760205260409020612d96903061347e565b50611f48612da2612a62565b73__$7ca0443fea8aec4ba68c2e8d18c5a8d73e$__635a819662612dc4612763565b600263ffffffff6040518060400160405280600a8152602001695075626c6963526f6c6560b01b8152506040518563ffffffff1660e01b8152600401612d319493929190614186565b60405163cdc23e6960e01b81525f9073__$9a094f9b231ed0f5f85a69be8408d93180$__9063cdc23e6990612e46908690600401613cab565b602060405180830381865af4158015612e61573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612e859190613f3a565b90506040518060600160405280828152602001831515815260200173__$91d01b1eccbca8d6f94a5eb2a0acb040e9$__63adb618326040518163ffffffff1660e01b8152600401602060405180830381865af4158015612ee7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612f0b9190614700565b64ffffffffff9081169091526001600160a01b0386165f818152600860209081526040808320865181558683015160019182018054988401519097166101000265ffffffffff00199115159190911665ffffffffffff1990981697909717969096179094558582526009905282812080546001600160a01b03199081168417909155600a8054958601815582527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a89094018054909416909117909255517f8fc0bd3ee17d8e732533ea42ad65951dc55a5dac82fb45dd3e7c71b9fe02a1d691612ff791879087906146cd565b60405180910390a150505050565b73__$91d01b1eccbca8d6f94a5eb2a0acb040e9$__63adb618326040518163ffffffff1660e01b8152600401602060405180830381865af415801561304c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906130709190614700565b64ffffffffff1660808201526001600160401b038083165f90815260046020908152604090912083518154931667ffffffffffffffff1984168117825591840151849391929091839168ffffffffffffffffff1990911617600160401b8360038111156130df576130df613b3d565b0217905550604082810151825463ffffffff909116600160481b026cffffffff0000000000000000001990911617825560608084015160018085019190915560808501516002909401805460a09096015164ffffffffff908116650100000000000269ffffffffffffffffffff1990971695169490941794909417909255805180820182526001600160401b03808716808352602080840187815295880180515f908152600583528681209551865498511515600160401b0268ffffffffffffffffff199099169086161797909717909455600680549788018155865260048088047ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f01805460039099166008026101000a938402939094021990971691909117909155850151855191519251631623433d60e31b81527f089dc3e37715ee5f5f527a09ca053081e6a74ab2cde2b4471c37f8b9b81af45c95889492939273__$9a094f9b231ed0f5f85a69be8408d93180$__9263b11a19e89261326892910190815260200190565b5f60405180830381865af4158015613282573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526132a99190810190614084565b604051611179959493929190614719565b6132c382611000565b6132eb57604051632ed3a17160e11b81526001600160401b0383166004820152602401610dae565b60015460408051631d6c8e3f60e21b8152905184926001600160a01b0316916375b238fc9160048083019260209291908290030181865afa158015613332573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906133569190613f04565b6001600160401b0316816001600160401b0316036133925760405163079fe26f60e01b81526001600160401b0384166004820152602401610dae565b818015613450575061345060045f856001600160401b03166001600160401b031681526020019081526020015f2060020160059054906101000a900464ffffffffff1673__$91d01b1eccbca8d6f94a5eb2a0acb040e9$__63adb618326040518163ffffffff1660e01b8152600401602060405180830381865af415801561341c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906134409190614700565b64ffffffffff9081169116111590565b15613479576040516332d0641160e21b81526001600160401b0384166004820152602401610dae565b505050565b5f611085836001600160a01b038416613a52565b606061349d82611000565b15613538576001600160401b0382165f90815260046020819052604091829020600101549151631623433d60e31b815273__$9a094f9b231ed0f5f85a69be8408d93180$__9263b11a19e8926134f7920190815260200190565b5f60405180830381865af4158015613511573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261069f9190810190614084565b505060408051808201909152600e81526d1e3ab735b737bbb716b937b6329f60911b602082015290565b6060808461356f81612b0e565b8451806001600160401b0381111561358957613589613cbd565b6040519080825280602002602001820160405280156135b2578160200160208202803683370190505b509350806001600160401b038111156135cd576135cd613cbd565b60405190808252806020026020018201604052801561360057816020015b60608152602001906001900390816135eb5790505b509250613625604080516060810182525f808252602082018190529181019190915290565b5f805b8381101561391c5788818151811061364257613642613f51565b602002602001015192508260200151915087156136e6576001600160a01b038a165f908152600b6020526040908190209051631b76c9b760e31b815260048101919091526001600160e01b03198316602482015273__$8df0087758613aef8a614b5774fdb3323b$__9063dbb64db8906044015f6040518083038186803b1580156136cb575f80fd5b505af41580156136dd573d5f803e3d5ffd5b5050505061376f565b6001600160a01b038a165f908152600b60205260409081902090516313edd33560e31b815260048101919091526001600160e01b03198316602482015273__$8df0087758613aef8a614b5774fdb3323b$__90639f6e99a8906044015f6040518083038186803b158015613758575f80fd5b505af415801561376a573d5f803e3d5ffd5b505050505b6001600160a01b038a165f908152600c602090815260408083206001600160e01b03198616808552908352928190208651815591860151600190920180548783015164ffffffffff166401000000000268ffffffffffffffffff1990911660e09490941c939093179290921790915551636ea1af2560e11b8152600481019190915273__$0904195350e4c23ecb1d51df0a32586dcd$__9063dd435e4a90602401602060405180830381865af415801561382b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061384f9190613ee9565b87828151811061386157613861613f51565b6001600160e01b0319909216602092830291909101909101528251604051631623433d60e31b815273__$9a094f9b231ed0f5f85a69be8408d93180$__9163b11a19e8916138b6919060040190815260200190565b5f60405180830381865af41580156138d0573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526138f79190810190614084565b86828151811061390957613909613f51565b6020908102919091010152600101613628565b5050505050935093915050565b8461393381612b0e565b84600183806139465761394683836132ba565b6001546040516308d6122d60e01b81526001600160a01b03909116906308d6122d9061397a908c908b908d90600401614774565b5f604051808303815f87803b158015613991575f80fd5b505af11580156139a3573d5f803e3d5ffd5b505050505f5b8751811015613a35577f71c0dd58adbf4d883856964979f8473116b2857bb3940628b6a7669a24cb0dff5f8b8984815181106139e7576139e7613f51565b60200260200101516139f88d613492565b604051602001613a099291906147e5565b60408051601f1981840301815290829052613a259392916146cd565b60405180910390a16001016139a9565b50505050505050505050565b613a49612b65565b611f4881611d8a565b5f818152600183016020526040812054613a9757508154600181810184555f84815260208082209093018490558454848252828601909352604090209190915561069f565b505f61069f565b6001600160401b0381168114611f48575f80fd5b5f60208284031215613ac2575f80fd5b813561108581613a9e565b6001600160a01b0381168114611f48575f80fd5b5f60208284031215613af1575f80fd5b813561108581613acd565b5f8060408385031215613b0d575f80fd5b8235613b1881613acd565b946020939093013593505050565b5f60208284031215613b36575f80fd5b5035919050565b634e487b7160e01b5f52602160045260245ffd5b60048110613b6d57634e487b7160e01b5f52602160045260245ffd5b9052565b6001600160401b0381511682526020810151613b906020840182613b51565b5063ffffffff60408201511660408301526060810151606083015264ffffffffff608082015116608083015264ffffffffff60a08201511660a08301525050565b60c0810161069f8284613b71565b5f8060408385031215613bf0575f80fd5b8235613bfb81613acd565b91506020830135613c0b81613a9e565b809150509250929050565b60ff81168114611f48575f80fd5b5f805f8060808587031215613c37575f80fd5b8435613c4281613acd565b93506020850135613c5281613acd565b92506040850135613c6281613c16565b91506060850135613c7281613c16565b939692955090935050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f6110856020830184613c7d565b634e487b7160e01b5f52604160045260245ffd5b60405160c081016001600160401b0381118282101715613cf357613cf3613cbd565b60405290565b604051601f8201601f191681016001600160401b0381118282101715613d2157613d21613cbd565b604052919050565b5f6001600160401b03821115613d4157613d41613cbd565b50601f01601f191660200190565b5f82601f830112613d5e575f80fd5b8135613d71613d6c82613d29565b613cf9565b818152846020838601011115613d85575f80fd5b816020850160208301375f918101602001919091529392505050565b5f60208284031215613db1575f80fd5b81356001600160401b03811115613dc6575f80fd5b613dd284828501613d4f565b949350505050565b8015158114611f48575f80fd5b5f8060408385031215613df8575f80fd5b8235613e0381613acd565b91506020830135613c0b81613dda565b5f8060408385031215613e24575f80fd5b8235613b1881613a9e565b5f60208284031215613e3f575f80fd5b813561108581613dda565b5f805f60608486031215613e5c575f80fd5b8335613e6781613acd565b92506020840135613e7781613acd565b91506040840135613e8781613c16565b809150509250925092565b5f8060408385031215613ea3575f80fd5b8235613eae81613acd565b915060208301356001600160401b03811115613ec8575f80fd5b61092b85828601613d4f565b6001600160e01b031981168114611f48575f80fd5b5f60208284031215613ef9575f80fd5b815161108581613ed4565b5f60208284031215613f14575f80fd5b815161108581613a9e565b5f60208284031215613f2f575f80fd5b815161108581613dda565b5f60208284031215613f4a575f80fd5b5051919050565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215613f75575f80fd5b815161108581613acd565b805163ffffffff81168114613f93575f80fd5b919050565b5f8060408385031215613fa9575f80fd5b8251613fb481613dda565b9150613fc260208401613f80565b90509250929050565b5f60208284031215613fdb575f80fd5b815161108581613c16565b5f8085851115613ff4575f80fd5b83861115614000575f80fd5b5050820193919092039150565b80356001600160e01b0319811690600484101561403e576001600160e01b0319600485900360031b81901b82161691505b5092915050565b6001600160a01b03841681526040602082018190528101829052818360608301375f818301606090810191909152601f909201601f1916010192915050565b5f60208284031215614094575f80fd5b81516001600160401b038111156140a9575f80fd5b8201601f810184136140b9575f80fd5b80516140c7613d6c82613d29565b8181528560208385010111156140db575f80fd5b8160208401602083015e5f91810160200191909152949350505050565b606081525f61410a6060830185613c7d565b828103602084015260078152665365727669636560c81b60208201526040810191505060ff831660408301529392505050565b606081525f61414f6060830185613c7d565b8281036020840152600b81526a53657276696365526f6c6560a81b60208201526040810191505060ff831660408301529392505050565b6001600160401b038516815261419f6020820185613b51565b63ffffffff83166040820152608060608201525f6141c06080830184613c7d565b9695505050505050565b805164ffffffffff81168114613f93575f80fd5b5f60c08284031280156141ef575f80fd5b506141f8613cd1565b825161420381613a9e565b8152602083015160048110614216575f80fd5b602082015261422760408401613f80565b604082015260608381015190820152614242608084016141ca565b608082015261425360a084016141ca565b60a08201529392505050565b5f6001600160401b0382111561427757614277613cbd565b5060051b60200190565b5f60208284031215614291575f80fd5b81516001600160401b038111156142a6575f80fd5b8201601f810184136142b6575f80fd5b80516142c4613d6c8261425f565b8082825260208201915060208360051b8501019250868311156142e5575f80fd5b6020840193505b828410156141c05783516142ff81613c16565b8252602093840193909101906142ec565b606081525f6143226060830185613c7d565b82810360208401526004815263526f6c6560e01b60208201526040810191505060ff831660408301529392505050565b5f60608284031215614362575f80fd5b604051606081016001600160401b038111828210171561438457614384613cbd565b604052825181526020830151909150819061439e81613ed4565b60208201526143af604084016141ca565b60408201525092915050565b5f602082840312156143cb575f80fd5b81516001600160401b038111156143e0575f80fd5b8201601f810184136143f0575f80fd5b80516143fe613d6c8261425f565b8082825260208201915060206060840285010192508683111561441f575f80fd5b6020840193505b828410156141c0576144388785614352565b8252602082019150606084019350614426565b5f6020828403121561445b575f80fd5b81516001600160601b0381168114611085575f80fd5b5f60608284031215614481575f80fd5b6110858383614352565b600181811c9082168061449f57607f821691505b6020821081036144bd57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561347957805f5260205f20601f840160051c810160208510156144e85750805b601f840160051c820191505b81811015612b07575f81556001016144f4565b81516001600160401b0381111561452057614520613cbd565b6145348161452e845461448b565b846144c3565b6020601f821160018114614566575f831561454f5750848201515b5f19600385901b1c1916600184901b178455612b07565b5f84815260208120601f198516915b828110156145955787850151825560209485019460019092019101614575565b50848210156145b257868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b5f81518060208401855e5f93019283525090919050565b5f61108582846145c1565b6001600160a01b038581168252841660208201526080604082018190525f9061460e90830185613c7d565b9050821515606083015295945050505050565b6001600160a01b03841681526001600160401b03831660208201526101008101613dd26040830184613b71565b5f815461465a8161448b565b8085526001821680156146745760018114614690576146c4565b60ff1983166020870152602082151560051b87010193506146c4565b845f5260205f205f5b838110156146bb5781546020828a010152600182019150602081019050614699565b87016020019450505b50505092915050565b606081525f6146df606083018661464e565b6001600160a01b038516602084015282810360408401526141c08185613c7d565b5f60208284031215614710575f80fd5b611085826141ca565b60a081525f61472b60a083018861464e565b6001600160401b03871660208401526147476040840187613b51565b6001600160401b038516606084015282810360808401526147688185613c7d565b98975050505050505050565b6001600160a01b03841681526060602080830182905284519183018290525f91908501906080840190835b818110156147c75783516001600160e01b03191683526020938401939092019160010161479f565b505080925050506001600160401b0383166040830152949350505050565b5f6147f082856145c1565b63014149d160e51b815261480760048201856145c1565b9594505050505056fef3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a00a2646970667358221220e3e0252ea227e13e02afb95a61e33a90361a9ab18ec5bb07f2b61502d857134d64736f6c634300081a0033",
|
982
|
+
"deployedBytecode": "0x608060405234801561000f575f80fd5b50600436106101a0575f3560e01c8063913e10e9116100f3578063bf7e214f11610093578063dde4fd8a1161006e578063dde4fd8a146104de578063e9e96c7014610504578063f40d7c3014610541578063fdd9ec7d14610553575f80fd5b8063bf7e214f146103ce578063d2213b5b146103de578063d5889525146104b7575f80fd5b8063a2844824116100ce578063a284482414610372578063a972d6981461037a578063b88da759146103a8578063bf1db3f9146103bb575f80fd5b8063913e10e91461034f57806393a7e7111461035757806399a228e51461036a575f80fd5b806331d537631161015e57806371ed16e41161013957806371ed16e4146102de57806379cbc5fa146102f45780637a9e5e4b1461031b5780638fb360371461032e575f80fd5b806331d537631461025757806354f1fa81146102915780635ab1bd53146102a4575f80fd5b8062d19f30146101a45780630af43fe1146101e05780630d358181146101e85780630e6d1de91461020d57806311edceaa1461021f57806318ce8b7f14610242575b5f80fd5b6101c96101b23660046124fb565b60ff9081165f908152600360205260409020541690565b60405160ff90911681526020015b60405180910390f35b6101c961057e565b6101c96101f63660046124fb565b60ff9081165f908152600160205260409020541690565b600554600160a01b900460ff166101c9565b61023261022d3660046124fb565b61078e565b60405190151581526020016101d7565b61025561025036600461252a565b6107ae565b005b61026a610265366004612575565b6109fa565b604080516001600160a01b03909416845260ff9092166020840152908201526060016101d7565b61025561029f36600461259f565b610af8565b7f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b0390911681526020016101d7565b6102e6610c56565b6040519081526020016101d7565b6102c67f000000000000000000000000000000000000000000000000000000000000000081565b6102556103293660046125f8565b610c6c565b610336610ce4565b6040516001600160e01b031990911681526020016101d7565b6004546102e6565b6102c6610365366004612613565b610d06565b6102e6600381565b610255610d6a565b6102c66103883660046124fb565b60ff165f908152600360205260409020600201546001600160a01b031690565b6101c96103b6366004612652565b611349565b6102326103c93660046124fb565b611382565b5f546001600160a01b03166102c6565b6104aa6103ec3660046124fb565b6040805160e0810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c08101919091525060ff9081165f90815260036020818152604092839020835160e0810185528154808716825261010090049095169185019190915260018101549284019290925260028201546001600160a01b039081166060850152910154908116608083015264ffffffffff600160a01b8204811660a0840152600160c81b9091041660c082015290565b6040516101d79190612669565b6102c67f000000000000000000000000000000000000000000000000000000000000000081565b7f00000000000000000000000000000000000000000000000000000000000000006102c6565b6102326105123660046126ea565b60ff9283165f908152600260209081526040808320948616835293815283822092851682529190915220541690565b600554600160a81b900460ff166101c9565b6105666105613660046125f8565b611408565b6040516001600160601b0390911681526020016101d7565b5f61058b335b5f366117d2565b600554600160a81b900460ff166105b9600660ff8084165f9081526003602052604090205416610512600690565b156105db5760ff81165f908152600360205260409020805460ff191660061790555b604051632b10f60d60e21b815260ff8216600482015273__$b659da7d8a6d2d32aa6c1e17da23dc2174$__90638e4ad86c90829063ac43d83490602401602060405180830381865af4158015610633573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106579190612727565b610662906001612752565b6040518263ffffffff1660e01b815260040161068091815260200190565b602060405180830381865af415801561069b573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106bf9190612770565b60048054600181019091557f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b6020808304919091018054601f90931661010090810a60ff81810219909516948616908102949094179091556005805460ff60a81b1916600160a81b85021790555f83815260039092526040909120805461ff00191691909202179055905061075460066101f6565b60ff9182165f908152600360205260408120805460ff1916928416929092179091556007819055600655600554600160a81b900416919050565b60ff8181165f908152600360205260408120549091166005145b92915050565b6107b733610584565b60ff8083165f908152600360205260409020541681156108e0576107e1816006606e5b6005610af8565b60ff83165f90815260036020908152604091829020805460ff191660051790558151636ac5db1960e01b8152915173__$91d01b1eccbca8d6f94a5eb2a0acb040e9$__92636ac5db199260048083019391928290030181865af415801561084a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061086e919061278b565b60ff84165f81815260036020818152604092839020909101805464ffffffffff95909516600160c81b0264ffffffffff60c81b1990951694909417909355519081527f8c9377f44d861d9abb7de1a880bb234de50528f98b5e198945cb16818bbbb992910160405180910390a16109ea565b6108ef8160066005606e610af8565b60ff83165f90815260036020908152604091829020805460ff1916606e17905581516356db0c1960e11b8152915173__$91d01b1eccbca8d6f94a5eb2a0acb040e9$__9263adb618329260048083019391928290030181865af4158015610958573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061097c919061278b565b60ff84165f81815260036020818152604092839020909101805464ffffffffff95909516600160c81b0264ffffffffff60c81b1990951694909417909355519081527f332d7fb458421533fc26f5789a63f5b7538fc95dd42452533aff2b353c57e826910160405180910390a15b6109f58383156118c8565b505050565b5f8080610a0633610584565b60055460ff600160a81b90910481165f81815260036020526040902054909350610a369116600660026003610af8565b5f610a42868487611939565b9050610a4d83611b00565b600782905560ff84165f81815260036020818152604092839020805460ff191683178155600181018b90556002810180546001600160a01b03199081166001600160a01b038f81169190911790925591909301805490911692861692831790558251918252810192909252818101889052519195508693507fe561bebaa103147764db9d642b4350cdef80d7c55d1da6ae50afda64dcd1c2ff919081900360600190a1509250925092565b60ff8381165f908152600160205260409081902054905163037c8cb160e51b81529116600482015273__$2e1fcf62e7a1b3c2a33bdf2228c171b2be$__90636f91962090602401602060405180830381865af4158015610b5a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b7e91906127ba565b15610bac5760405163ea01ac1f60e01b815230600482015260ff841660248201526044015b60405180910390fd5b60ff80851690831614610bed5760405163bae587e160e01b815230600482015260ff8085166024830152808616604483015283166064820152608401610ba3565b60ff8084165f90815260026020908152604080832088851684528252808320858516845290915290205416610c505760405163f33b49a360e01b815230600482015260ff8085166024830152808616604483015282166064820152608401610ba3565b50505050565b5f600654600754610c6791906127d5565b905090565b5f5433906001600160a01b03168114610ca25760405162d1953b60e31b81526001600160a01b0382166004820152602401610ba3565b816001600160a01b03163b5f03610cd7576040516361798f2f60e11b81526001600160a01b0383166004820152602401610ba3565b610ce082611cf5565b5050565b5f8054600160a01b900460ff16610cfa57505f90565b50638fb3603760e01b90565b604051603881018290526f5af43d82803e903d91602b57fd5bf3ff602482015260148101849052733d602d80600a3d3981f3363d3d373d3d3d363d738152605881018390526037600c820120607882015260556043909101205f905b949350505050565b610d7333610584565b60055460ff600160a81b90910481165f818152600360205260409020549091610da09116600660046107da565b6005805460ff60a01b1916600160a01b60ff841602179055610dc0600590565b60ff8281165f90815260036020908152604091829020805460ff1916949093169390931790915580516356db0c1960e11b8152905173__$91d01b1eccbca8d6f94a5eb2a0acb040e9$__9263adb6183292600480820193918290030181865af4158015610e2f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e53919061278b565b60035f8360ff1660ff1681526020019081526020015f2060030160146101000a81548164ffffffffff021916908364ffffffffff16021790555073__$91d01b1eccbca8d6f94a5eb2a0acb040e9$__636ac5db196040518163ffffffff1660e01b8152600401602060405180830381865af4158015610ed4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ef8919061278b565b60ff82165f908152600360208190526040822001805464ffffffffff93909316600160c81b0264ffffffffff60c81b19909316929092179091556001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001663d39e6043610f69600290565b6040516001600160e01b031960e084901b16815260ff91821660048201529085166024820152604401602060405180830381865afa158015610fad573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fd191906127f3565b90506001600160a01b038116610fff576040516381d94faf60e01b815260ff83166004820152602401610ba3565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001663420e0b358260026040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260ff1660248201526044015f604051808303815f87803b158015611077575f80fd5b505af1158015611089573d5f803e3d5ffd5b505050507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d39e60436110c4600390565b6040516001600160e01b031960e084901b16815260ff91821660048201529085166024820152604401602060405180830381865afa158015611108573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061112c91906127f3565b90506001600160a01b038116156111cc576001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001663420e0b358260036040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260ff1660248201526044015f604051808303815f87803b1580156111b5575f80fd5b505af11580156111c7573d5f803e3d5ffd5b505050505b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001663d39e6043600f6040516001600160e01b031960e084901b16815260ff91821660048201529085166024820152604401602060405180830381865afa158015611241573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061126591906127f3565b90506001600160a01b03811615611305576001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001663420e0b3582600f6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260ff1660248201526044015f604051808303815f87803b1580156112ee575f80fd5b505af1158015611300573d5f803e3d5ffd5b505050505b61130f825f6118c8565b60405160ff831681527fb7defc6b4b34e4db6f0265bb8cc2606e513beda1e68095b668932471417561d49060200160405180910390a15050565b5f6004828154811061135d5761135d61280e565b905f5260205f2090602091828204019190069054906101000a900460ff169050919050565b60ff8181165f9081526001602052604080822054905163b2466acf60e01b8152921660048301529073__$2e1fcf62e7a1b3c2a33bdf2228c171b2be$__9063b2466acf90602401602060405180830381865af41580156113e4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107a891906127ba565b5f61141233610584565b600554600160a81b900460ff9081165f81815260036020526040902054909161144791166006611440600390565b6004610af8565b60ff81165f90815260036020818152604080842090920154825163bf7e214f60e01b815292516001600160a01b039091169263bf7e214f9260048083019391928290030181865afa15801561149e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114c291906127f3565b60ff83165f9081526003602052604080822060020154600654915162212fa360ea1b81529394506001600160a01b03169283916384be8c009161150c919060040190815260200190565b602060405180830381865afa158015611527573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061154b9190612770565b90505f805f61155c89878987611d48565b6006805493965091945092505f61157283612822565b91905055506006546007540361159f5760ff87165f908152600360205260409020805460ff191660041790555b60ff87165f908152600360208190526040808320909101549051637236eacd60e11b815260048101929092526001600160a01b031690819063e46dd59a906024015f604051808303815f87803b1580156115f7575f80fd5b505af1158015611609573d5f803e3d5ffd5b5050604051637485407160e01b81526001600160a01b0389811660048301528d8116602483015260ff80881660448401528c16606483015284169250637485407191506084015f604051808303815f87803b158015611666575f80fd5b505af1158015611678573d5f803e3d5ffd5b5050604051637236eacd60e11b8152600160048201526001600160a01b038416925063e46dd59a91506024015f604051808303815f87803b1580156116bb575f80fd5b505af11580156116cd573d5f803e3d5ffd5b5050604051635382852b60e11b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016925063a7050a56915061172190879086908890600401612868565b6020604051808303815f875af115801561173d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117619190612930565b9850896001600160a01b031663138461e06040518163ffffffff1660e01b81526004016020604051808303815f875af11580156117a0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117c49190612930565b505050505050505050919050565b5f806118056117e85f546001600160a01b031690565b86306117f760045f898b612949565b61180091612970565b6120d9565b91509150816118c15763ffffffff81161561189e575f805460ff60a01b198116600160a01b17909155604051634a63ebf760e11b81526001600160a01b03909116906394c7d7ee9061185f908890889088906004016129a6565b5f604051808303815f87803b158015611876575f80fd5b505af1158015611888573d5f803e3d5ffd5b50505f805460ff60a01b19169055506118c19050565b60405162d1953b60e31b81526001600160a01b0386166004820152602401610ba3565b5050505050565b60ff82165f9081526003602081905260409182902001549051637236eacd60e11b815282151560048201526001600160a01b039091169063e46dd59a906024015f604051808303815f87803b15801561191f575f80fd5b505af1158015611931573d5f803e3d5ffd5b505050505050565b6040516301ffc9a760e01b81526332d11fef60e01b60048201525f906001600160a01b038516906301ffc9a790602401602060405180830381865afa158015611984573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119a891906127ba565b6119d057604051631bead44b60e21b81526001600160a01b0385166004820152602401610ba3565b5f846001600160a01b03166376b707b76040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a0d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a319190612770565b905060ff80851690821614611a5f57848482604051630c3a335360e41b8152600401610ba3939291906129e5565b846001600160a01b03166368c55b136040518163ffffffff1660e01b81526004015f60405180830381865afa158015611a9a573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052611ac19190810190612a77565b519150815f03611af8576040516310c48b6b60e21b81526001600160a01b038616600482015260ff85166024820152604401610ba3565b509392505050565b6005545f90611b17906001600160a01b03166121e1565b604051635c2767c560e01b815260ff841660048201529091505f9073__$b659da7d8a6d2d32aa6c1e17da23dc2174$__90635c2767c5906024015f60405180830381865af4158015611b6b573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052611b929190810190612b84565b604051602001611ba29190612be0565b6040516020818303038152906040529050816001600160a01b031663f399e22e611bca612250565b836040518363ffffffff1660e01b8152600401611be8929190612c02565b5f604051808303815f87803b158015611bff575f80fd5b505af1158015611c11573d5f803e3d5ffd5b505060405163ea0a94b160e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116600483015230602483015260ff871660448301528516925063ea0a94b191506064015f604051808303815f87803b158015611c84575f80fd5b505af1158015611c96573d5f803e3d5ffd5b5050604051637236eacd60e11b8152600160048201526001600160a01b038516925063e46dd59a91506024015f604051808303815f87803b158015611cd9575f80fd5b505af1158015611ceb573d5f803e3d5ffd5b5050505050919050565b5f80546001600160a01b0319166001600160a01b0383169081179091556040519081527f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad9060200160405180910390a150565b6040805160e0810182525f8082526020820181905281830181905260608083018290526080830182905260a0830182905260c083015291516301ffc9a760e01b815263daf9067160e01b600482015290919081906001600160a01b038816906301ffc9a790602401602060405180830381865afa158015611dcb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611def91906127ba565b611e1757604051635f569d0b60e01b81526001600160a01b0388166004820152602401610ba3565b5f3390505f886001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e58573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e7c91906127f3565b9050886001600160a01b0316630d8e6e2c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611eba573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ede9190612c25565b60405163c9e66e2960e01b815262ffffff909116600482015273__$8eede297b65ed5a56eb3f84d8232ae93f5$__9063c9e66e2990602401602060405180830381865af4158015611f31573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f559190612770565b9250886001600160a01b031663b68d18096040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f93573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fb79190612770565b9350886001600160a01b0316630fec111c6040518163ffffffff1660e01b81526004015f60405180830381865afa158015611ff4573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261201b9190810190612c65565b94506120288986846122d9565b876001600160a01b0316816001600160a01b031614612075576040516349aec65360e01b81526001600160a01b03808b166004830152808316602483015289166044820152606401610ba3565b60ff808416908816146120a157888388604051633d36dbf960e01b8152600401610ba3939291906129e5565b60ff808516908716146120cd578886856040516348fe94e360e11b8152600401610ba3939291906129e5565b50509450945094915050565b6040516001600160a01b03848116602483015283811660448301526001600160e01b0319831660648301525f9182918291829189169060840160408051601f198184030181529181526020820180516001600160e01b031663b700961360e01b179052516121479190612d37565b5f60405180830381855afa9150503d805f811461217f576040519150601f19603f3d011682016040523d82523d5f602084013e612184565b606091505b509150915081156121d65760408151106121b657808060200190518101906121ac9190612d42565b90945092506121d6565b60208151106121d657808060200190518101906121d391906127ba565b93505b505094509492505050565b5f763d602d80600a3d3981f3363d3d373d3d3d363d730000008260601b60e81c175f526e5af43d82803e903d91602b57fd5bf38260781b17602052603760095ff090506001600160a01b03811661224b576040516330be1a3d60e21b815260040160405180910390fd5b919050565b5f610c677f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156122b0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122d491906127f3565b6121e1565b826001600160a01b031682608001516001600160a01b031614612328576080820151604051633db89c6160e01b81526001600160a01b0380861660048301529091166024820152604401610ba3565b60608201511561236357606082015160405163955d053f60e01b81526001600160a01b03851660048201529015156024820152604401610ba3565b61237f8260400151612373600890565b60ff9081169116141590565b156123a85782600883604001516040516336b258d560e11b8152600401610ba3939291906129e5565b60a08201516001600160a01b03808216908316146123f45760405163fb581fd160e01b81526001600160a01b038086166004830152808416602483015282166044820152606401610ba3565b836001600160a01b0316816001600160a01b0316036124315760405163076ab37760e31b81526001600160a01b0385166004820152602401610ba3565b60405163c3c5a54760e01b81526001600160a01b0382811660048301527f0000000000000000000000000000000000000000000000000000000000000000169063c3c5a54790602401602060405180830381865afa158015612495573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124b991906127ba565b15610c505760405163b1e0f1f560e01b81526001600160a01b03808616600483015282166024820152604401610ba3565b60ff811681146124f8575f80fd5b50565b5f6020828403121561250b575f80fd5b8135612516816124ea565b9392505050565b80151581146124f8575f80fd5b5f806040838503121561253b575f80fd5b8235612546816124ea565b915060208301356125568161251d565b809150509250929050565b6001600160a01b03811681146124f8575f80fd5b5f8060408385031215612586575f80fd5b823561259181612561565b946020939093013593505050565b5f805f80608085870312156125b2575f80fd5b84356125bd816124ea565b935060208501356125cd816124ea565b925060408501356125dd816124ea565b915060608501356125ed816124ea565b939692955090935050565b5f60208284031215612608575f80fd5b813561251681612561565b5f805f60608486031215612625575f80fd5b833561263081612561565b925060208401359150604084013561264781612561565b809150509250925092565b5f60208284031215612662575f80fd5b5035919050565b5f60e08201905060ff835116825260ff60208401511660208301526040830151604083015260018060a01b03606084015116606083015260018060a01b03608084015116608083015260a08301516126ca60a084018264ffffffffff169052565b5060c08301516126e360c084018264ffffffffff169052565b5092915050565b5f805f606084860312156126fc575f80fd5b8335612707816124ea565b92506020840135612717816124ea565b91506040840135612647816124ea565b5f60208284031215612737575f80fd5b5051919050565b634e487b7160e01b5f52601160045260245ffd5b808201808211156107a8576107a861273e565b805161224b816124ea565b5f60208284031215612780575f80fd5b8151612516816124ea565b5f6020828403121561279b575f80fd5b815164ffffffffff81168114612516575f80fd5b805161224b8161251d565b5f602082840312156127ca575f80fd5b81516125168161251d565b818103818111156107a8576107a861273e565b805161224b81612561565b5f60208284031215612803575f80fd5b815161251681612561565b634e487b7160e01b5f52603260045260245ffd5b5f600182016128335761283361273e565b5060010190565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b606081526001600160601b0384511660608201526001600160601b03602085015116608082015260ff60408501511660a08201525f60608501516128b060c084018215159052565b5060808501516001600160a01b03811660e08401525060a08501516001600160a01b0381166101008401525060c085015160e06101208401526128f761014084018261283a565b915050612909602083018560ff169052565b60ff83166040830152949350505050565b80516001600160601b038116811461224b575f80fd5b5f60208284031215612940575f80fd5b6125168261291a565b5f8085851115612957575f80fd5b83861115612963575f80fd5b5050820193919092039150565b80356001600160e01b031981169060048410156126e3576001600160e01b031960049490940360031b84901b1690921692915050565b6001600160a01b03841681526040602082018190528101829052818360608301375f818301606090810191909152601f909201601f1916010192915050565b6001600160a01b0393909316835260ff918216602084015216604082015260600190565b634e487b7160e01b5f52604160045260245ffd5b60405160e0810167ffffffffffffffff81118282101715612a4057612a40612a09565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715612a6f57612a6f612a09565b604052919050565b5f60208284031215612a87575f80fd5b815167ffffffffffffffff811115612a9d575f80fd5b8201601f81018413612aad575f80fd5b805167ffffffffffffffff811115612ac757612ac7612a09565b8060051b612ad760208201612a46565b91825260208184018101929081019087841115612af2575f80fd5b6020850194505b83851015612b205784519250612b0e836124ea565b82825260209485019490910190612af9565b979650505050505050565b5f8067ffffffffffffffff841115612b4557612b45612a09565b50601f8301601f1916602001612b5a81612a46565b915050828152838383011115612b6e575f80fd5b8282602083015e5f602084830101529392505050565b5f60208284031215612b94575f80fd5b815167ffffffffffffffff811115612baa575f80fd5b8201601f81018413612bba575f80fd5b610d6284825160208401612b2b565b5f81518060208401855e5f93019283525090919050565b6d2932b632b0b9b2a0b236b4b72fbb60911b81525f612516600e830184612bc9565b6001600160a01b03831681526040602082018190525f90610d629083018461283a565b5f60208284031215612c35575f80fd5b815162ffffff81168114612516575f80fd5b5f82601f830112612c56575f80fd5b61251683835160208501612b2b565b5f60208284031215612c75575f80fd5b815167ffffffffffffffff811115612c8b575f80fd5b820160e08185031215612c9c575f80fd5b612ca4612a1d565b612cad8261291a565b8152612cbb6020830161291a565b6020820152612ccc60408301612765565b6040820152612cdd606083016127af565b6060820152612cee608083016127e8565b6080820152612cff60a083016127e8565b60a082015260c082015167ffffffffffffffff811115612d1d575f80fd5b612d2986828501612c47565b60c083015250949350505050565b5f6125168284612bc9565b5f8060408385031215612d53575f80fd5b8251612d5e8161251d565b602084015190925063ffffffff81168114612556575f80fdfea26469706673582212200d13baf1d25d0f983c68dd8a72464f6031af2ac16be2615bac900832729d8e7964736f6c634300081a0033",
|
975
983
|
"linkReferences": {
|
984
|
+
"contracts/authorization/AccessAdminLib.sol": {
|
985
|
+
"AccessAdminLib": [
|
986
|
+
{
|
987
|
+
"length": 20,
|
988
|
+
"start": 14952
|
989
|
+
},
|
990
|
+
{
|
991
|
+
"length": 20,
|
992
|
+
"start": 15167
|
993
|
+
},
|
994
|
+
{
|
995
|
+
"length": 20,
|
996
|
+
"start": 24307
|
997
|
+
},
|
998
|
+
{
|
999
|
+
"length": 20,
|
1000
|
+
"start": 24916
|
1001
|
+
},
|
1002
|
+
{
|
1003
|
+
"length": 20,
|
1004
|
+
"start": 26085
|
1005
|
+
},
|
1006
|
+
{
|
1007
|
+
"length": 20,
|
1008
|
+
"start": 26332
|
1009
|
+
},
|
1010
|
+
{
|
1011
|
+
"length": 20,
|
1012
|
+
"start": 26522
|
1013
|
+
},
|
1014
|
+
{
|
1015
|
+
"length": 20,
|
1016
|
+
"start": 27678
|
1017
|
+
},
|
1018
|
+
{
|
1019
|
+
"length": 20,
|
1020
|
+
"start": 27852
|
1021
|
+
},
|
1022
|
+
{
|
1023
|
+
"length": 20,
|
1024
|
+
"start": 29165
|
1025
|
+
},
|
1026
|
+
{
|
1027
|
+
"length": 20,
|
1028
|
+
"start": 29380
|
1029
|
+
}
|
1030
|
+
]
|
1031
|
+
},
|
1032
|
+
"contracts/shared/ContractLib.sol": {
|
1033
|
+
"ContractLib": [
|
1034
|
+
{
|
1035
|
+
"length": 20,
|
1036
|
+
"start": 103
|
1037
|
+
},
|
1038
|
+
{
|
1039
|
+
"length": 20,
|
1040
|
+
"start": 13970
|
1041
|
+
},
|
1042
|
+
{
|
1043
|
+
"length": 20,
|
1044
|
+
"start": 14271
|
1045
|
+
},
|
1046
|
+
{
|
1047
|
+
"length": 20,
|
1048
|
+
"start": 25572
|
1049
|
+
},
|
1050
|
+
{
|
1051
|
+
"length": 20,
|
1052
|
+
"start": 26795
|
1053
|
+
},
|
1054
|
+
{
|
1055
|
+
"length": 20,
|
1056
|
+
"start": 27091
|
1057
|
+
},
|
1058
|
+
{
|
1059
|
+
"length": 20,
|
1060
|
+
"start": 28192
|
1061
|
+
}
|
1062
|
+
]
|
1063
|
+
},
|
976
1064
|
"contracts/type/NftId.sol": {
|
977
1065
|
"NftIdLib": [
|
978
1066
|
{
|
979
1067
|
"length": 20,
|
980
|
-
"start":
|
1068
|
+
"start": 14428
|
1069
|
+
},
|
1070
|
+
{
|
1071
|
+
"length": 20,
|
1072
|
+
"start": 27248
|
1073
|
+
}
|
1074
|
+
]
|
1075
|
+
},
|
1076
|
+
"contracts/type/ObjectType.sol": {
|
1077
|
+
"ObjectTypeLib": [
|
1078
|
+
{
|
1079
|
+
"length": 20,
|
1080
|
+
"start": 23926
|
1081
|
+
},
|
1082
|
+
{
|
1083
|
+
"length": 20,
|
1084
|
+
"start": 24025
|
1085
|
+
},
|
1086
|
+
{
|
1087
|
+
"length": 20,
|
1088
|
+
"start": 24344
|
1089
|
+
},
|
1090
|
+
{
|
1091
|
+
"length": 20,
|
1092
|
+
"start": 24977
|
1093
|
+
}
|
1094
|
+
]
|
1095
|
+
},
|
1096
|
+
"contracts/type/RoleId.sol": {
|
1097
|
+
"RoleIdLib": [
|
1098
|
+
{
|
1099
|
+
"length": 20,
|
1100
|
+
"start": 14695
|
1101
|
+
},
|
1102
|
+
{
|
1103
|
+
"length": 20,
|
1104
|
+
"start": 15313
|
1105
|
+
},
|
1106
|
+
{
|
1107
|
+
"length": 20,
|
1108
|
+
"start": 16177
|
1109
|
+
},
|
1110
|
+
{
|
1111
|
+
"length": 20,
|
1112
|
+
"start": 19701
|
1113
|
+
},
|
1114
|
+
{
|
1115
|
+
"length": 20,
|
1116
|
+
"start": 22368
|
1117
|
+
},
|
1118
|
+
{
|
1119
|
+
"length": 20,
|
1120
|
+
"start": 24194
|
1121
|
+
},
|
1122
|
+
{
|
1123
|
+
"length": 20,
|
1124
|
+
"start": 24802
|
1125
|
+
},
|
1126
|
+
{
|
1127
|
+
"length": 20,
|
1128
|
+
"start": 25485
|
1129
|
+
},
|
1130
|
+
{
|
1131
|
+
"length": 20,
|
1132
|
+
"start": 27803
|
1133
|
+
},
|
1134
|
+
{
|
1135
|
+
"length": 20,
|
1136
|
+
"start": 28576
|
1137
|
+
},
|
1138
|
+
{
|
1139
|
+
"length": 20,
|
1140
|
+
"start": 28908
|
1141
|
+
}
|
1142
|
+
]
|
1143
|
+
},
|
1144
|
+
"contracts/type/Selector.sol": {
|
1145
|
+
"SelectorLib": [
|
1146
|
+
{
|
1147
|
+
"length": 20,
|
1148
|
+
"start": 19739
|
1149
|
+
},
|
1150
|
+
{
|
1151
|
+
"length": 20,
|
1152
|
+
"start": 32019
|
1153
|
+
}
|
1154
|
+
],
|
1155
|
+
"SelectorSetLib": [
|
1156
|
+
{
|
1157
|
+
"length": 20,
|
1158
|
+
"start": 19477
|
1159
|
+
},
|
1160
|
+
{
|
1161
|
+
"length": 20,
|
1162
|
+
"start": 20207
|
1163
|
+
},
|
1164
|
+
{
|
1165
|
+
"length": 20,
|
1166
|
+
"start": 31672
|
1167
|
+
},
|
1168
|
+
{
|
1169
|
+
"length": 20,
|
1170
|
+
"start": 31813
|
981
1171
|
}
|
982
1172
|
]
|
983
1173
|
},
|
@@ -985,11 +1175,39 @@
|
|
985
1175
|
"StateIdLib": [
|
986
1176
|
{
|
987
1177
|
"length": 20,
|
988
|
-
"start":
|
1178
|
+
"start": 4622
|
989
1179
|
},
|
990
1180
|
{
|
991
1181
|
"length": 20,
|
992
|
-
"start":
|
1182
|
+
"start": 6808
|
1183
|
+
}
|
1184
|
+
]
|
1185
|
+
},
|
1186
|
+
"contracts/type/String.sol": {
|
1187
|
+
"StrLib": [
|
1188
|
+
{
|
1189
|
+
"length": 20,
|
1190
|
+
"start": 15983
|
1191
|
+
},
|
1192
|
+
{
|
1193
|
+
"length": 20,
|
1194
|
+
"start": 21440
|
1195
|
+
},
|
1196
|
+
{
|
1197
|
+
"length": 20,
|
1198
|
+
"start": 29502
|
1199
|
+
},
|
1200
|
+
{
|
1201
|
+
"length": 20,
|
1202
|
+
"start": 30559
|
1203
|
+
},
|
1204
|
+
{
|
1205
|
+
"length": 20,
|
1206
|
+
"start": 31215
|
1207
|
+
},
|
1208
|
+
{
|
1209
|
+
"length": 20,
|
1210
|
+
"start": 32171
|
993
1211
|
}
|
994
1212
|
]
|
995
1213
|
},
|
@@ -997,11 +1215,43 @@
|
|
997
1215
|
"TimestampLib": [
|
998
1216
|
{
|
999
1217
|
"length": 20,
|
1000
|
-
"start":
|
1218
|
+
"start": 3837
|
1219
|
+
},
|
1220
|
+
{
|
1221
|
+
"length": 20,
|
1222
|
+
"start": 4107
|
1001
1223
|
},
|
1002
1224
|
{
|
1003
1225
|
"length": 20,
|
1004
|
-
"start":
|
1226
|
+
"start": 5347
|
1227
|
+
},
|
1228
|
+
{
|
1229
|
+
"length": 20,
|
1230
|
+
"start": 5499
|
1231
|
+
},
|
1232
|
+
{
|
1233
|
+
"length": 20,
|
1234
|
+
"start": 15413
|
1235
|
+
},
|
1236
|
+
{
|
1237
|
+
"length": 20,
|
1238
|
+
"start": 20749
|
1239
|
+
},
|
1240
|
+
{
|
1241
|
+
"length": 20,
|
1242
|
+
"start": 21852
|
1243
|
+
},
|
1244
|
+
{
|
1245
|
+
"length": 20,
|
1246
|
+
"start": 29634
|
1247
|
+
},
|
1248
|
+
{
|
1249
|
+
"length": 20,
|
1250
|
+
"start": 29991
|
1251
|
+
},
|
1252
|
+
{
|
1253
|
+
"length": 20,
|
1254
|
+
"start": 30967
|
1005
1255
|
}
|
1006
1256
|
]
|
1007
1257
|
},
|
@@ -1009,17 +1259,25 @@
|
|
1009
1259
|
"VersionLib": [
|
1010
1260
|
{
|
1011
1261
|
"length": 20,
|
1012
|
-
"start":
|
1262
|
+
"start": 9701
|
1013
1263
|
}
|
1014
1264
|
],
|
1015
1265
|
"VersionPartLib": [
|
1016
1266
|
{
|
1017
1267
|
"length": 20,
|
1018
|
-
"start":
|
1268
|
+
"start": 560
|
1019
1269
|
},
|
1020
1270
|
{
|
1021
1271
|
"length": 20,
|
1022
|
-
"start":
|
1272
|
+
"start": 3295
|
1273
|
+
},
|
1274
|
+
{
|
1275
|
+
"length": 20,
|
1276
|
+
"start": 8736
|
1277
|
+
},
|
1278
|
+
{
|
1279
|
+
"length": 20,
|
1280
|
+
"start": 22932
|
1023
1281
|
}
|
1024
1282
|
]
|
1025
1283
|
}
|
@@ -1029,11 +1287,11 @@
|
|
1029
1287
|
"StateIdLib": [
|
1030
1288
|
{
|
1031
1289
|
"length": 20,
|
1032
|
-
"start":
|
1290
|
+
"start": 2850
|
1033
1291
|
},
|
1034
1292
|
{
|
1035
1293
|
"length": 20,
|
1036
|
-
"start":
|
1294
|
+
"start": 5036
|
1037
1295
|
}
|
1038
1296
|
]
|
1039
1297
|
},
|
@@ -1041,11 +1299,19 @@
|
|
1041
1299
|
"TimestampLib": [
|
1042
1300
|
{
|
1043
1301
|
"length": 20,
|
1044
|
-
"start":
|
1302
|
+
"start": 2065
|
1303
|
+
},
|
1304
|
+
{
|
1305
|
+
"length": 20,
|
1306
|
+
"start": 2335
|
1307
|
+
},
|
1308
|
+
{
|
1309
|
+
"length": 20,
|
1310
|
+
"start": 3575
|
1045
1311
|
},
|
1046
1312
|
{
|
1047
1313
|
"length": 20,
|
1048
|
-
"start":
|
1314
|
+
"start": 3727
|
1049
1315
|
}
|
1050
1316
|
]
|
1051
1317
|
},
|
@@ -1053,13 +1319,17 @@
|
|
1053
1319
|
"VersionLib": [
|
1054
1320
|
{
|
1055
1321
|
"length": 20,
|
1056
|
-
"start":
|
1322
|
+
"start": 7929
|
1057
1323
|
}
|
1058
1324
|
],
|
1059
1325
|
"VersionPartLib": [
|
1060
1326
|
{
|
1061
1327
|
"length": 20,
|
1062
|
-
"start":
|
1328
|
+
"start": 1523
|
1329
|
+
},
|
1330
|
+
{
|
1331
|
+
"length": 20,
|
1332
|
+
"start": 6964
|
1063
1333
|
}
|
1064
1334
|
]
|
1065
1335
|
}
|