@etherisc/gif-next 0.0.2-299fe4a-464 → 0.0.2-2b7ffff-531
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +192 -7
- package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.dbg.json +1 -1
- package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.json +176 -23
- package/artifacts/contracts/components/Distribution.sol/Distribution.dbg.json +4 -0
- package/artifacts/contracts/components/Distribution.sol/Distribution.json +618 -0
- package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.dbg.json +1 -1
- package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.json +129 -23
- package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.dbg.json +4 -0
- package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.json +152 -0
- package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
- package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.json +74 -181
- package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +1 -1
- package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.json +55 -177
- package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +1 -1
- package/artifacts/contracts/components/Pool.sol/Pool.json +455 -60
- package/artifacts/contracts/components/Product.sol/Product.dbg.json +1 -1
- package/artifacts/contracts/components/Product.sol/Product.json +540 -70
- package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.dbg.json +4 -0
- package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.json +66 -0
- package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.dbg.json +4 -0
- package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.json +24 -0
- package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.dbg.json +4 -0
- package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.json +42 -0
- package/artifacts/contracts/experiment/errors/Require.sol/Require.dbg.json +1 -1
- package/artifacts/contracts/experiment/errors/Require.sol/Require.json +2 -2
- package/artifacts/contracts/experiment/errors/Revert.sol/Revert.dbg.json +1 -1
- package/artifacts/contracts/experiment/errors/Revert.sol/Revert.json +2 -2
- package/artifacts/contracts/experiment/inheritance/A.sol/A.dbg.json +1 -1
- package/artifacts/contracts/experiment/inheritance/A.sol/A.json +2 -2
- package/artifacts/contracts/experiment/inheritance/A.sol/AShared.dbg.json +1 -1
- package/artifacts/contracts/experiment/inheritance/A.sol/AShared.json +2 -2
- package/artifacts/contracts/experiment/inheritance/B.sol/B.dbg.json +1 -1
- package/artifacts/contracts/experiment/inheritance/C.sol/C.dbg.json +1 -1
- package/artifacts/contracts/experiment/inheritance/IA.sol/IA.dbg.json +1 -1
- package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.dbg.json +1 -1
- package/artifacts/contracts/experiment/inheritance/IB.sol/IB.dbg.json +1 -1
- package/artifacts/contracts/experiment/inheritance/IC.sol/IC.dbg.json +1 -1
- package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.dbg.json +1 -1
- package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.json +2 -2
- package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.dbg.json +1 -1
- package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.dbg.json +1 -1
- package/artifacts/contracts/experiment/statemachine/SM.sol/SM.dbg.json +1 -1
- package/artifacts/contracts/experiment/statemachine/SM.sol/SM.json +2 -2
- package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.dbg.json +1 -1
- package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.json +2 -2
- package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.dbg.json +1 -1
- package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.json +2 -2
- package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.dbg.json +1 -1
- package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.json +2 -2
- package/artifacts/contracts/instance/AccessManagedSimple.sol/AccessManagedSimple.dbg.json +4 -0
- package/artifacts/contracts/instance/AccessManagedSimple.sol/AccessManagedSimple.json +101 -0
- package/artifacts/contracts/instance/AccessManagerSimple.sol/AccessManagerSimple.dbg.json +4 -0
- package/artifacts/contracts/instance/AccessManagerSimple.sol/AccessManagerSimple.json +1132 -0
- package/artifacts/contracts/instance/IAccessManagerSimple.sol/IAccessManagerSimple.dbg.json +4 -0
- package/artifacts/contracts/instance/IAccessManagerSimple.sol/IAccessManagerSimple.json +1082 -0
- package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.json +479 -1748
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +4 -0
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +480 -0
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +2418 -1167
- package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +4 -0
- package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +917 -0
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +4 -0
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +1388 -0
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +4 -0
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +891 -0
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +4 -0
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +492 -0
- package/artifacts/contracts/instance/base/ComponentServiceBase.sol/ComponentServiceBase.dbg.json +4 -0
- package/artifacts/contracts/instance/base/ComponentServiceBase.sol/ComponentServiceBase.json +540 -0
- package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.dbg.json +4 -0
- package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.json +113 -0
- package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +4 -0
- package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.json +429 -0
- package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +4 -0
- package/artifacts/contracts/instance/{module/lifecycle/ILifecycle.sol/ILifecycleModule.json → base/ILifecycle.sol/ILifecycle.json} +10 -77
- package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +4 -0
- package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +502 -0
- package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +4 -0
- package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +169 -0
- package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +4 -0
- package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +211 -0
- package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +4 -0
- package/artifacts/contracts/instance/module/{bundle/IBundle.sol → IBundle.sol}/IBundle.json +1 -1
- package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +4 -0
- package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.json +10 -0
- package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +4 -0
- package/artifacts/contracts/instance/module/{policy/IPolicy.sol → IPolicy.sol}/IPolicy.json +1 -1
- package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +4 -0
- package/artifacts/contracts/instance/module/{access/IAccess.sol/IAccess.json → IRisk.sol/IRisk.json} +2 -2
- package/artifacts/contracts/instance/module/ISetup.sol/ISetup.dbg.json +4 -0
- package/artifacts/contracts/instance/module/{pool/IPoolModule.sol/IPool.json → ISetup.sol/ISetup.json} +2 -2
- package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.dbg.json +4 -0
- package/artifacts/contracts/instance/module/{treasury/ITreasury.sol → ITreasury.sol}/ITreasury.json +1 -1
- package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.dbg.json +1 -1
- package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.json +393 -85
- package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.dbg.json +4 -0
- package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.json +716 -0
- package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +4 -0
- package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.json +448 -0
- package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.dbg.json +1 -1
- package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.json +182 -80
- package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.dbg.json +4 -0
- package/artifacts/contracts/instance/service/{ComponentServiceBase.sol/ComponentServiceBase.json → IDistributionService.sol/IDistributionService.json} +209 -63
- package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +1 -1
- package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.json +240 -55
- package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +1 -1
- package/artifacts/contracts/instance/service/IProductService.sol/IProductService.json +330 -56
- package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +1 -1
- package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +430 -74
- package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.dbg.json +4 -0
- package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.json +460 -0
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +186 -12
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +485 -37
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +4 -0
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +853 -0
- package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +4 -0
- package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +34 -0
- package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
- package/artifacts/contracts/registry/Registry.sol/Registry.json +597 -122
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +4 -0
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +1237 -0
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +4 -0
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +525 -0
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +4 -0
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +410 -0
- package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.dbg.json +4 -0
- package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.json +107 -0
- package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +1 -1
- package/artifacts/contracts/shared/ERC165.sol/ERC165.json +2 -2
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +4 -0
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +127 -0
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +117 -37
- package/artifacts/contracts/shared/IService.sol/IService.dbg.json +4 -0
- package/artifacts/contracts/{instance/service → shared}/IService.sol/IService.json +180 -59
- package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +1 -1
- package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +60 -19
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +4 -0
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +158 -0
- package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +4 -0
- package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +349 -0
- package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
- package/artifacts/contracts/shared/Registerable.sol/Registerable.json +190 -37
- package/artifacts/contracts/shared/RegisterableUpgradable.sol/RegisterableUpgradable.dbg.json +4 -0
- package/artifacts/contracts/{instance/InstanceBase.sol/InstanceBase.json → shared/RegisterableUpgradable.sol/RegisterableUpgradable.json} +209 -80
- package/artifacts/contracts/shared/Service.sol/Service.dbg.json +4 -0
- package/artifacts/contracts/{instance/service/ServiceBase.sol/ServiceBase.json → shared/Service.sol/Service.json} +227 -59
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +4 -0
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +96 -0
- package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +4 -0
- package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +129 -0
- package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +1 -1
- package/artifacts/contracts/shared/Versionable.sol/Versionable.json +83 -19
- package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +1 -1
- package/artifacts/contracts/test/TestFee.sol/TestFee.json +30 -6
- package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +1 -1
- package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +204 -36
- package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +1 -1
- package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +44 -10
- package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +1 -1
- package/artifacts/contracts/test/TestService.sol/TestService.json +277 -84
- package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +1 -1
- package/artifacts/contracts/test/TestToken.sol/TestUsdc.json +91 -53
- package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +1 -1
- package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +14 -18
- package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +1 -1
- package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +106 -50
- package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +4 -0
- package/artifacts/contracts/test/Usdc.sol/USDC.json +376 -0
- package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +1 -1
- package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.json +2 -2
- package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
- package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.json +2 -2
- package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +1 -1
- package/artifacts/contracts/types/ChainId.sol/ChainIdLib.json +2 -2
- package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.dbg.json +4 -0
- package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.json +104 -0
- package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +4 -0
- package/artifacts/contracts/types/Fee.sol/FeeLib.json +257 -0
- package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +4 -0
- package/artifacts/contracts/types/Key32.sol/Key32Lib.json +125 -0
- package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +1 -1
- package/artifacts/contracts/types/NftId.sol/NftIdLib.json +65 -4
- package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
- package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.json +2 -2
- package/artifacts/contracts/types/NumberId.sol/NumberIdLib.dbg.json +4 -0
- package/artifacts/contracts/types/NumberId.sol/NumberIdLib.json +100 -0
- package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
- package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.json +2 -2
- package/artifacts/contracts/types/Referral.sol/ReferralLib.dbg.json +4 -0
- package/artifacts/contracts/types/Referral.sol/ReferralLib.json +123 -0
- package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +4 -0
- package/artifacts/contracts/types/RiskId.sol/RiskIdLib.json +86 -0
- package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +4 -0
- package/artifacts/contracts/types/RoleId.sol/RoleIdLib.json +156 -0
- package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +1 -1
- package/artifacts/contracts/types/StateId.sol/StateIdLib.json +2 -2
- package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +1 -1
- package/artifacts/contracts/types/Timestamp.sol/TimestampLib.json +15 -2
- package/artifacts/contracts/types/UFixed.sol/MathLib.dbg.json +4 -0
- package/artifacts/contracts/types/UFixed.sol/MathLib.json +10 -0
- package/artifacts/contracts/types/UFixed.sol/UFixedLib.dbg.json +4 -0
- package/artifacts/contracts/types/UFixed.sol/UFixedLib.json +479 -0
- package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +1 -1
- package/artifacts/contracts/types/Version.sol/VersionLib.json +101 -2
- package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +1 -1
- package/artifacts/contracts/types/Version.sol/VersionPartLib.json +22 -3
- package/contracts/components/BaseComponent.sol +26 -24
- package/contracts/components/Distribution.sol +160 -0
- package/contracts/components/IBaseComponent.sol +9 -3
- package/contracts/components/IDistributionComponent.sol +44 -0
- package/contracts/components/IPoolComponent.sol +14 -9
- package/contracts/components/IProductComponent.sol +25 -9
- package/contracts/components/Pool.sol +98 -29
- package/contracts/components/Product.sol +212 -32
- package/contracts/experiment/cloning/Cloner.sol +47 -0
- package/contracts/instance/AccessManagedSimple.sol +115 -0
- package/contracts/instance/AccessManagerSimple.sol +692 -0
- package/contracts/instance/IAccessManagerSimple.sol +391 -0
- package/contracts/instance/IInstance.sol +29 -40
- package/contracts/instance/IInstanceService.sol +30 -0
- package/contracts/instance/Instance.sol +426 -45
- package/contracts/instance/InstanceAccessManager.sol +288 -0
- package/contracts/instance/InstanceReader.sol +306 -0
- package/contracts/instance/InstanceService.sol +182 -0
- package/contracts/instance/InstanceServiceManager.sol +56 -0
- package/contracts/instance/base/ComponentServiceBase.sol +124 -0
- package/contracts/instance/base/IInstanceBase.sol +23 -0
- package/contracts/instance/base/IKeyValueStore.sol +49 -0
- package/contracts/instance/base/ILifecycle.sol +30 -0
- package/contracts/instance/base/KeyValueStore.sol +172 -0
- package/contracts/instance/{module/lifecycle/LifecycleModule.sol → base/Lifecycle.sol} +51 -40
- package/contracts/instance/module/IAccess.sol +38 -0
- package/contracts/instance/module/IBundle.sol +20 -0
- package/contracts/instance/module/IDistribution.sol +39 -0
- package/contracts/instance/module/IPolicy.sol +45 -0
- package/contracts/instance/module/IRisk.sol +11 -0
- package/contracts/instance/module/ISetup.sol +44 -0
- package/contracts/instance/module/ITreasury.sol +23 -0
- package/contracts/instance/service/ComponentOwnerService.sol +246 -103
- package/contracts/instance/service/DistributionService.sol +87 -0
- package/contracts/instance/service/DistributionServiceManager.sol +53 -0
- package/contracts/instance/service/IComponentOwnerService.sol +1 -3
- package/contracts/instance/service/IDistributionService.sol +12 -0
- package/contracts/instance/service/IPoolService.sol +8 -1
- package/contracts/instance/service/IProductService.sol +56 -7
- package/contracts/instance/service/PoolService.sol +138 -43
- package/contracts/instance/service/PoolServiceManager.sol +53 -0
- package/contracts/registry/ChainNft.sol +80 -37
- package/contracts/registry/IRegistry.sol +62 -25
- package/contracts/registry/IRegistryService.sol +33 -0
- package/contracts/registry/ITransferInterceptor.sol +6 -0
- package/contracts/registry/Registry.sol +375 -267
- package/contracts/registry/RegistryService.sol +399 -0
- package/contracts/registry/RegistryServiceManager.sol +80 -0
- package/contracts/registry/TokenRegistry.sol +111 -0
- package/contracts/shared/ContractDeployerLib.sol +72 -0
- package/contracts/shared/ERC165.sol +6 -2
- package/contracts/shared/INftOwnable.sol +22 -0
- package/contracts/shared/IRegisterable.sol +8 -15
- package/contracts/{instance/service → shared}/IService.sol +3 -3
- package/contracts/shared/IVersionable.sol +56 -12
- package/contracts/shared/NftOwnable.sol +136 -0
- package/contracts/shared/ProxyManager.sol +94 -0
- package/contracts/shared/Registerable.sol +63 -59
- package/contracts/shared/RegisterableUpgradable.sol +16 -0
- package/contracts/shared/Service.sol +55 -0
- package/contracts/shared/TokenHandler.sol +27 -0
- package/contracts/shared/UpgradableProxyWithAdmin.sol +16 -0
- package/contracts/shared/Versionable.sol +112 -57
- package/contracts/test/TestFee.sol +4 -4
- package/contracts/test/TestRegisterable.sol +5 -6
- package/contracts/test/TestRoleId.sol +2 -2
- package/contracts/test/TestService.sol +6 -17
- package/contracts/test/TestVersion.sol +4 -7
- package/contracts/test/TestVersionable.sol +2 -5
- package/contracts/test/Usdc.sol +26 -0
- package/contracts/types/DistributorType.sol +55 -0
- package/contracts/types/Fee.sol +44 -20
- package/contracts/types/Key32.sol +50 -0
- package/contracts/types/NftId.sol +16 -1
- package/contracts/types/NumberId.sol +52 -0
- package/contracts/types/ObjectType.sol +51 -14
- package/contracts/types/Referral.sol +85 -0
- package/contracts/types/RiskId.sol +43 -0
- package/contracts/types/RoleId.sol +64 -11
- package/contracts/types/StateId.sol +12 -2
- package/contracts/types/Timestamp.sol +7 -3
- package/contracts/types/UFixed.sol +144 -25
- package/contracts/types/Version.sol +42 -26
- package/package.json +7 -3
- package/artifacts/contracts/instance/IInstanceLinked.sol/IInstanceLinked.dbg.json +0 -4
- package/artifacts/contracts/instance/IInstanceLinked.sol/IInstanceLinked.json +0 -24
- package/artifacts/contracts/instance/IServiceLinked.sol/IServiceLinked.dbg.json +0 -4
- package/artifacts/contracts/instance/IServiceLinked.sol/IServiceLinked.json +0 -50
- package/artifacts/contracts/instance/InstanceBase.sol/InstanceBase.dbg.json +0 -4
- package/artifacts/contracts/instance/module/access/Access.sol/AccessModule.dbg.json +0 -4
- package/artifacts/contracts/instance/module/access/Access.sol/AccessModule.json +0 -333
- package/artifacts/contracts/instance/module/access/IAccess.sol/IAccess.dbg.json +0 -4
- package/artifacts/contracts/instance/module/access/IAccess.sol/IAccessModule.dbg.json +0 -4
- package/artifacts/contracts/instance/module/access/IAccess.sol/IAccessModule.json +0 -333
- package/artifacts/contracts/instance/module/bundle/BundleModule.sol/BundleModule.dbg.json +0 -4
- package/artifacts/contracts/instance/module/bundle/BundleModule.sol/BundleModule.json +0 -276
- package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundle.dbg.json +0 -4
- package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundleModule.dbg.json +0 -4
- package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundleModule.json +0 -276
- package/artifacts/contracts/instance/module/component/ComponentModule.sol/ComponentModule.dbg.json +0 -4
- package/artifacts/contracts/instance/module/component/ComponentModule.sol/ComponentModule.json +0 -188
- package/artifacts/contracts/instance/module/component/IComponent.sol/IComponent.dbg.json +0 -4
- package/artifacts/contracts/instance/module/component/IComponent.sol/IComponent.json +0 -10
- package/artifacts/contracts/instance/module/component/IComponent.sol/IComponentModule.dbg.json +0 -4
- package/artifacts/contracts/instance/module/component/IComponent.sol/IComponentModule.json +0 -188
- package/artifacts/contracts/instance/module/lifecycle/ILifecycle.sol/ILifecycle.dbg.json +0 -4
- package/artifacts/contracts/instance/module/lifecycle/ILifecycle.sol/ILifecycle.json +0 -134
- package/artifacts/contracts/instance/module/lifecycle/ILifecycle.sol/ILifecycleModule.dbg.json +0 -4
- package/artifacts/contracts/instance/module/lifecycle/LifecycleModule.sol/LifecycleModule.dbg.json +0 -4
- package/artifacts/contracts/instance/module/lifecycle/LifecycleModule.sol/LifecycleModule.json +0 -221
- package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicy.dbg.json +0 -4
- package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicyModule.dbg.json +0 -4
- package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicyModule.json +0 -261
- package/artifacts/contracts/instance/module/policy/PolicyModule.sol/PolicyModule.dbg.json +0 -4
- package/artifacts/contracts/instance/module/policy/PolicyModule.sol/PolicyModule.json +0 -261
- package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPool.dbg.json +0 -4
- package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPoolModule.dbg.json +0 -4
- package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPoolModule.json +0 -149
- package/artifacts/contracts/instance/module/pool/PoolModule.sol/PoolModule.dbg.json +0 -4
- package/artifacts/contracts/instance/module/pool/PoolModule.sol/PoolModule.json +0 -149
- package/artifacts/contracts/instance/module/product/IProductModule.sol/IProductModule.dbg.json +0 -4
- package/artifacts/contracts/instance/module/product/IProductModule.sol/IProductModule.json +0 -10
- package/artifacts/contracts/instance/module/product/ProductModule.sol/ProductModule.dbg.json +0 -4
- package/artifacts/contracts/instance/module/product/ProductModule.sol/ProductModule.json +0 -10
- package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasury.dbg.json +0 -4
- package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasuryModule.dbg.json +0 -4
- package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasuryModule.json +0 -538
- package/artifacts/contracts/instance/module/treasury/TokenHandler.sol/TokenHandler.dbg.json +0 -4
- package/artifacts/contracts/instance/module/treasury/TokenHandler.sol/TokenHandler.json +0 -76
- package/artifacts/contracts/instance/module/treasury/TreasuryModule.sol/TreasuryModule.dbg.json +0 -4
- package/artifacts/contracts/instance/module/treasury/TreasuryModule.sol/TreasuryModule.json +0 -538
- package/artifacts/contracts/instance/service/ComponentServiceBase.sol/ComponentServiceBase.dbg.json +0 -4
- package/artifacts/contracts/instance/service/IService.sol/IService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +0 -685
- package/artifacts/contracts/instance/service/ServiceBase.sol/ServiceBase.dbg.json +0 -4
- package/artifacts/contracts/registry/IChainNft.sol/IChainNft.dbg.json +0 -4
- package/artifacts/contracts/registry/IChainNft.sol/IChainNft.json +0 -452
- package/artifacts/contracts/registry/IRegistryLinked.sol/IRegistryLinked.dbg.json +0 -4
- package/artifacts/contracts/registry/IRegistryLinked.sol/IRegistryLinked.json +0 -24
- package/artifacts/contracts/shared/IOwnable.sol/IOwnable.dbg.json +0 -4
- package/artifacts/contracts/shared/IOwnable.sol/IOwnable.json +0 -24
- package/artifacts/contracts/test/TestPool.sol/TestPool.dbg.json +0 -4
- package/artifacts/contracts/test/TestPool.sol/TestPool.json +0 -387
- package/artifacts/contracts/test/TestProduct.sol/TestProduct.dbg.json +0 -4
- package/artifacts/contracts/test/TestProduct.sol/TestProduct.json +0 -393
- package/artifacts/contracts/types/UFixed.sol/UFixedMathLib.dbg.json +0 -4
- package/artifacts/contracts/types/UFixed.sol/UFixedMathLib.json +0 -453
- package/contracts/experiment/statemachine/README.md +0 -112
- package/contracts/instance/IInstanceLinked.sol +0 -8
- package/contracts/instance/IServiceLinked.sol +0 -12
- package/contracts/instance/InstanceBase.sol +0 -74
- package/contracts/instance/module/access/Access.sol +0 -149
- package/contracts/instance/module/access/IAccess.sol +0 -53
- package/contracts/instance/module/bundle/BundleModule.sol +0 -228
- package/contracts/instance/module/bundle/IBundle.sol +0 -53
- package/contracts/instance/module/component/ComponentModule.sol +0 -104
- package/contracts/instance/module/component/IComponent.sol +0 -53
- package/contracts/instance/module/lifecycle/ILifecycle.sol +0 -47
- package/contracts/instance/module/policy/IPolicy.sol +0 -60
- package/contracts/instance/module/policy/PolicyModule.sol +0 -84
- package/contracts/instance/module/pool/IPoolModule.sol +0 -41
- package/contracts/instance/module/pool/PoolModule.sol +0 -87
- package/contracts/instance/module/product/IProductModule.sol +0 -6
- package/contracts/instance/module/product/ProductModule.sol +0 -8
- package/contracts/instance/module/treasury/ITreasury.sol +0 -104
- package/contracts/instance/module/treasury/TokenHandler.sol +0 -48
- package/contracts/instance/module/treasury/TreasuryModule.sol +0 -148
- package/contracts/instance/service/ComponentServiceBase.sol +0 -41
- package/contracts/instance/service/ProductService.sol +0 -358
- package/contracts/instance/service/ServiceBase.sol +0 -39
- package/contracts/registry/IChainNft.sol +0 -21
- package/contracts/registry/IRegistryLinked.sol +0 -8
- package/contracts/shared/IOwnable.sol +0 -6
- package/contracts/test/TestPool.sol +0 -22
- package/contracts/test/TestProduct.sol +0 -44
package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.json
CHANGED
|
@@ -14,11 +14,160 @@
|
|
|
14
14
|
"internalType": "NftId",
|
|
15
15
|
"name": "registryNftId",
|
|
16
16
|
"type": "uint96"
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"internalType": "address",
|
|
20
|
+
"name": "initialOwner",
|
|
21
|
+
"type": "address"
|
|
17
22
|
}
|
|
18
23
|
],
|
|
19
24
|
"stateMutability": "nonpayable",
|
|
20
25
|
"type": "constructor"
|
|
21
26
|
},
|
|
27
|
+
{
|
|
28
|
+
"inputs": [],
|
|
29
|
+
"name": "CollateralizationLevelIsZero",
|
|
30
|
+
"type": "error"
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"inputs": [
|
|
34
|
+
{
|
|
35
|
+
"internalType": "address",
|
|
36
|
+
"name": "registry",
|
|
37
|
+
"type": "address"
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"internalType": "NftId",
|
|
41
|
+
"name": "nftId",
|
|
42
|
+
"type": "uint96"
|
|
43
|
+
}
|
|
44
|
+
],
|
|
45
|
+
"name": "ErrorAlreadyLinked",
|
|
46
|
+
"type": "error"
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"inputs": [
|
|
50
|
+
{
|
|
51
|
+
"internalType": "address",
|
|
52
|
+
"name": "contractAddress",
|
|
53
|
+
"type": "address"
|
|
54
|
+
}
|
|
55
|
+
],
|
|
56
|
+
"name": "ErrorContractNotRegistered",
|
|
57
|
+
"type": "error"
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"inputs": [
|
|
61
|
+
{
|
|
62
|
+
"internalType": "address",
|
|
63
|
+
"name": "account",
|
|
64
|
+
"type": "address"
|
|
65
|
+
}
|
|
66
|
+
],
|
|
67
|
+
"name": "ErrorNotOwner",
|
|
68
|
+
"type": "error"
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
"inputs": [
|
|
72
|
+
{
|
|
73
|
+
"internalType": "address",
|
|
74
|
+
"name": "registryAddress",
|
|
75
|
+
"type": "address"
|
|
76
|
+
}
|
|
77
|
+
],
|
|
78
|
+
"name": "ErrorNotRegistry",
|
|
79
|
+
"type": "error"
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
"inputs": [
|
|
83
|
+
{
|
|
84
|
+
"internalType": "address",
|
|
85
|
+
"name": "registryAddress",
|
|
86
|
+
"type": "address"
|
|
87
|
+
}
|
|
88
|
+
],
|
|
89
|
+
"name": "ErrorRegisterableNotRegistry",
|
|
90
|
+
"type": "error"
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
"inputs": [],
|
|
94
|
+
"name": "ErrorRegistryAddressZero",
|
|
95
|
+
"type": "error"
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
"inputs": [
|
|
99
|
+
{
|
|
100
|
+
"internalType": "address",
|
|
101
|
+
"name": "registry",
|
|
102
|
+
"type": "address"
|
|
103
|
+
}
|
|
104
|
+
],
|
|
105
|
+
"name": "ErrorRegistryAlreadyInitialized",
|
|
106
|
+
"type": "error"
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
"inputs": [],
|
|
110
|
+
"name": "ErrorRegistryNotInitialized",
|
|
111
|
+
"type": "error"
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
"inputs": [],
|
|
115
|
+
"name": "InvalidDistribution",
|
|
116
|
+
"type": "error"
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
"inputs": [],
|
|
120
|
+
"name": "InvalidDistributionsInstance",
|
|
121
|
+
"type": "error"
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
"inputs": [],
|
|
125
|
+
"name": "InvalidInitialization",
|
|
126
|
+
"type": "error"
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
"inputs": [],
|
|
130
|
+
"name": "InvalidPool",
|
|
131
|
+
"type": "error"
|
|
132
|
+
},
|
|
133
|
+
{
|
|
134
|
+
"inputs": [],
|
|
135
|
+
"name": "InvalidPoolsInstance",
|
|
136
|
+
"type": "error"
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
"inputs": [],
|
|
140
|
+
"name": "InvalidToken",
|
|
141
|
+
"type": "error"
|
|
142
|
+
},
|
|
143
|
+
{
|
|
144
|
+
"inputs": [],
|
|
145
|
+
"name": "MissingTypeRole",
|
|
146
|
+
"type": "error"
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
"inputs": [],
|
|
150
|
+
"name": "NotInitializing",
|
|
151
|
+
"type": "error"
|
|
152
|
+
},
|
|
153
|
+
{
|
|
154
|
+
"inputs": [],
|
|
155
|
+
"name": "WalletIsZero",
|
|
156
|
+
"type": "error"
|
|
157
|
+
},
|
|
158
|
+
{
|
|
159
|
+
"anonymous": false,
|
|
160
|
+
"inputs": [
|
|
161
|
+
{
|
|
162
|
+
"indexed": false,
|
|
163
|
+
"internalType": "uint64",
|
|
164
|
+
"name": "version",
|
|
165
|
+
"type": "uint64"
|
|
166
|
+
}
|
|
167
|
+
],
|
|
168
|
+
"name": "Initialized",
|
|
169
|
+
"type": "event"
|
|
170
|
+
},
|
|
22
171
|
{
|
|
23
172
|
"anonymous": false,
|
|
24
173
|
"inputs": [
|
|
@@ -41,7 +190,7 @@
|
|
|
41
190
|
"type": "address"
|
|
42
191
|
}
|
|
43
192
|
],
|
|
44
|
-
"name": "
|
|
193
|
+
"name": "LogVersionableInitialized",
|
|
45
194
|
"type": "event"
|
|
46
195
|
},
|
|
47
196
|
{
|
|
@@ -58,27 +207,64 @@
|
|
|
58
207
|
"type": "function"
|
|
59
208
|
},
|
|
60
209
|
{
|
|
61
|
-
"inputs": [
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
"name": "implementation",
|
|
65
|
-
"type": "address"
|
|
66
|
-
},
|
|
210
|
+
"inputs": [],
|
|
211
|
+
"name": "REGISTERABLE_LOCATION_V1",
|
|
212
|
+
"outputs": [
|
|
67
213
|
{
|
|
68
|
-
"internalType": "
|
|
69
|
-
"name": "
|
|
70
|
-
"type": "
|
|
214
|
+
"internalType": "bytes32",
|
|
215
|
+
"name": "",
|
|
216
|
+
"type": "bytes32"
|
|
71
217
|
}
|
|
72
218
|
],
|
|
73
|
-
"
|
|
74
|
-
"outputs": [],
|
|
75
|
-
"stateMutability": "nonpayable",
|
|
219
|
+
"stateMutability": "view",
|
|
76
220
|
"type": "function"
|
|
77
221
|
},
|
|
78
222
|
{
|
|
79
223
|
"inputs": [],
|
|
80
|
-
"name": "
|
|
224
|
+
"name": "getInitialInfo",
|
|
81
225
|
"outputs": [
|
|
226
|
+
{
|
|
227
|
+
"components": [
|
|
228
|
+
{
|
|
229
|
+
"internalType": "NftId",
|
|
230
|
+
"name": "nftId",
|
|
231
|
+
"type": "uint96"
|
|
232
|
+
},
|
|
233
|
+
{
|
|
234
|
+
"internalType": "NftId",
|
|
235
|
+
"name": "parentNftId",
|
|
236
|
+
"type": "uint96"
|
|
237
|
+
},
|
|
238
|
+
{
|
|
239
|
+
"internalType": "ObjectType",
|
|
240
|
+
"name": "objectType",
|
|
241
|
+
"type": "uint8"
|
|
242
|
+
},
|
|
243
|
+
{
|
|
244
|
+
"internalType": "bool",
|
|
245
|
+
"name": "isInterceptor",
|
|
246
|
+
"type": "bool"
|
|
247
|
+
},
|
|
248
|
+
{
|
|
249
|
+
"internalType": "address",
|
|
250
|
+
"name": "objectAddress",
|
|
251
|
+
"type": "address"
|
|
252
|
+
},
|
|
253
|
+
{
|
|
254
|
+
"internalType": "address",
|
|
255
|
+
"name": "initialOwner",
|
|
256
|
+
"type": "address"
|
|
257
|
+
},
|
|
258
|
+
{
|
|
259
|
+
"internalType": "bytes",
|
|
260
|
+
"name": "data",
|
|
261
|
+
"type": "bytes"
|
|
262
|
+
}
|
|
263
|
+
],
|
|
264
|
+
"internalType": "struct IRegistry.ObjectInfo",
|
|
265
|
+
"name": "",
|
|
266
|
+
"type": "tuple"
|
|
267
|
+
},
|
|
82
268
|
{
|
|
83
269
|
"internalType": "bytes",
|
|
84
270
|
"name": "data",
|
|
@@ -88,6 +274,19 @@
|
|
|
88
274
|
"stateMutability": "view",
|
|
89
275
|
"type": "function"
|
|
90
276
|
},
|
|
277
|
+
{
|
|
278
|
+
"inputs": [],
|
|
279
|
+
"name": "getInitializedVersion",
|
|
280
|
+
"outputs": [
|
|
281
|
+
{
|
|
282
|
+
"internalType": "uint64",
|
|
283
|
+
"name": "",
|
|
284
|
+
"type": "uint64"
|
|
285
|
+
}
|
|
286
|
+
],
|
|
287
|
+
"stateMutability": "view",
|
|
288
|
+
"type": "function"
|
|
289
|
+
},
|
|
91
290
|
{
|
|
92
291
|
"inputs": [],
|
|
93
292
|
"name": "getMajorVersion",
|
|
@@ -120,7 +319,7 @@
|
|
|
120
319
|
"outputs": [
|
|
121
320
|
{
|
|
122
321
|
"internalType": "NftId",
|
|
123
|
-
"name": "
|
|
322
|
+
"name": "",
|
|
124
323
|
"type": "uint96"
|
|
125
324
|
}
|
|
126
325
|
],
|
|
@@ -133,7 +332,7 @@
|
|
|
133
332
|
"outputs": [
|
|
134
333
|
{
|
|
135
334
|
"internalType": "address",
|
|
136
|
-
"name": "
|
|
335
|
+
"name": "",
|
|
137
336
|
"type": "address"
|
|
138
337
|
}
|
|
139
338
|
],
|
|
@@ -142,12 +341,12 @@
|
|
|
142
341
|
},
|
|
143
342
|
{
|
|
144
343
|
"inputs": [],
|
|
145
|
-
"name": "
|
|
344
|
+
"name": "getRegistry",
|
|
146
345
|
"outputs": [
|
|
147
346
|
{
|
|
148
|
-
"internalType": "
|
|
149
|
-
"name": "
|
|
150
|
-
"type": "
|
|
347
|
+
"internalType": "contract IRegistry",
|
|
348
|
+
"name": "",
|
|
349
|
+
"type": "address"
|
|
151
350
|
}
|
|
152
351
|
],
|
|
153
352
|
"stateMutability": "view",
|
|
@@ -155,11 +354,11 @@
|
|
|
155
354
|
},
|
|
156
355
|
{
|
|
157
356
|
"inputs": [],
|
|
158
|
-
"name": "
|
|
357
|
+
"name": "getRegistryService",
|
|
159
358
|
"outputs": [
|
|
160
359
|
{
|
|
161
|
-
"internalType": "contract
|
|
162
|
-
"name": "
|
|
360
|
+
"internalType": "contract IRegistryService",
|
|
361
|
+
"name": "",
|
|
163
362
|
"type": "address"
|
|
164
363
|
}
|
|
165
364
|
],
|
|
@@ -179,20 +378,7 @@
|
|
|
179
378
|
{
|
|
180
379
|
"internalType": "RoleId",
|
|
181
380
|
"name": "role",
|
|
182
|
-
"type": "
|
|
183
|
-
}
|
|
184
|
-
],
|
|
185
|
-
"stateMutability": "pure",
|
|
186
|
-
"type": "function"
|
|
187
|
-
},
|
|
188
|
-
{
|
|
189
|
-
"inputs": [],
|
|
190
|
-
"name": "getType",
|
|
191
|
-
"outputs": [
|
|
192
|
-
{
|
|
193
|
-
"internalType": "ObjectType",
|
|
194
|
-
"name": "",
|
|
195
|
-
"type": "uint8"
|
|
381
|
+
"type": "uint64"
|
|
196
382
|
}
|
|
197
383
|
],
|
|
198
384
|
"stateMutability": "pure",
|
|
@@ -270,15 +456,15 @@
|
|
|
270
456
|
"name": "activatedBy",
|
|
271
457
|
"type": "address"
|
|
272
458
|
},
|
|
273
|
-
{
|
|
274
|
-
"internalType": "Blocknumber",
|
|
275
|
-
"name": "activatedIn",
|
|
276
|
-
"type": "uint32"
|
|
277
|
-
},
|
|
278
459
|
{
|
|
279
460
|
"internalType": "Timestamp",
|
|
280
461
|
"name": "activatedAt",
|
|
281
462
|
"type": "uint40"
|
|
463
|
+
},
|
|
464
|
+
{
|
|
465
|
+
"internalType": "Blocknumber",
|
|
466
|
+
"name": "activatedIn",
|
|
467
|
+
"type": "uint32"
|
|
282
468
|
}
|
|
283
469
|
],
|
|
284
470
|
"internalType": "struct IVersionable.VersionInfo",
|
|
@@ -289,6 +475,29 @@
|
|
|
289
475
|
"stateMutability": "view",
|
|
290
476
|
"type": "function"
|
|
291
477
|
},
|
|
478
|
+
{
|
|
479
|
+
"inputs": [
|
|
480
|
+
{
|
|
481
|
+
"internalType": "address",
|
|
482
|
+
"name": "implementation",
|
|
483
|
+
"type": "address"
|
|
484
|
+
},
|
|
485
|
+
{
|
|
486
|
+
"internalType": "address",
|
|
487
|
+
"name": "activatedBy",
|
|
488
|
+
"type": "address"
|
|
489
|
+
},
|
|
490
|
+
{
|
|
491
|
+
"internalType": "bytes",
|
|
492
|
+
"name": "data",
|
|
493
|
+
"type": "bytes"
|
|
494
|
+
}
|
|
495
|
+
],
|
|
496
|
+
"name": "initialize",
|
|
497
|
+
"outputs": [],
|
|
498
|
+
"stateMutability": "nonpayable",
|
|
499
|
+
"type": "function"
|
|
500
|
+
},
|
|
292
501
|
{
|
|
293
502
|
"inputs": [
|
|
294
503
|
{
|
|
@@ -297,7 +506,7 @@
|
|
|
297
506
|
"type": "uint24"
|
|
298
507
|
}
|
|
299
508
|
],
|
|
300
|
-
"name": "
|
|
509
|
+
"name": "isInitialized",
|
|
301
510
|
"outputs": [
|
|
302
511
|
{
|
|
303
512
|
"internalType": "bool",
|
|
@@ -308,6 +517,13 @@
|
|
|
308
517
|
"stateMutability": "view",
|
|
309
518
|
"type": "function"
|
|
310
519
|
},
|
|
520
|
+
{
|
|
521
|
+
"inputs": [],
|
|
522
|
+
"name": "linkToRegisteredNftId",
|
|
523
|
+
"outputs": [],
|
|
524
|
+
"stateMutability": "nonpayable",
|
|
525
|
+
"type": "function"
|
|
526
|
+
},
|
|
311
527
|
{
|
|
312
528
|
"inputs": [
|
|
313
529
|
{
|
|
@@ -322,8 +538,14 @@
|
|
|
322
538
|
"type": "function"
|
|
323
539
|
},
|
|
324
540
|
{
|
|
325
|
-
"inputs": [
|
|
326
|
-
|
|
541
|
+
"inputs": [
|
|
542
|
+
{
|
|
543
|
+
"internalType": "contract IBaseComponent",
|
|
544
|
+
"name": "distribution",
|
|
545
|
+
"type": "address"
|
|
546
|
+
}
|
|
547
|
+
],
|
|
548
|
+
"name": "registerDistribution",
|
|
327
549
|
"outputs": [
|
|
328
550
|
{
|
|
329
551
|
"internalType": "NftId",
|
|
@@ -338,11 +560,30 @@
|
|
|
338
560
|
"inputs": [
|
|
339
561
|
{
|
|
340
562
|
"internalType": "contract IBaseComponent",
|
|
341
|
-
"name": "
|
|
563
|
+
"name": "pool",
|
|
564
|
+
"type": "address"
|
|
565
|
+
}
|
|
566
|
+
],
|
|
567
|
+
"name": "registerPool",
|
|
568
|
+
"outputs": [
|
|
569
|
+
{
|
|
570
|
+
"internalType": "NftId",
|
|
571
|
+
"name": "nftId",
|
|
572
|
+
"type": "uint96"
|
|
573
|
+
}
|
|
574
|
+
],
|
|
575
|
+
"stateMutability": "nonpayable",
|
|
576
|
+
"type": "function"
|
|
577
|
+
},
|
|
578
|
+
{
|
|
579
|
+
"inputs": [
|
|
580
|
+
{
|
|
581
|
+
"internalType": "contract IBaseComponent",
|
|
582
|
+
"name": "product",
|
|
342
583
|
"type": "address"
|
|
343
584
|
}
|
|
344
585
|
],
|
|
345
|
-
"name": "
|
|
586
|
+
"name": "registerProduct",
|
|
346
587
|
"outputs": [
|
|
347
588
|
{
|
|
348
589
|
"internalType": "NftId",
|
|
@@ -384,20 +625,39 @@
|
|
|
384
625
|
"outputs": [],
|
|
385
626
|
"stateMutability": "nonpayable",
|
|
386
627
|
"type": "function"
|
|
628
|
+
},
|
|
629
|
+
{
|
|
630
|
+
"inputs": [
|
|
631
|
+
{
|
|
632
|
+
"internalType": "address",
|
|
633
|
+
"name": "implementation",
|
|
634
|
+
"type": "address"
|
|
635
|
+
},
|
|
636
|
+
{
|
|
637
|
+
"internalType": "address",
|
|
638
|
+
"name": "activatedBy",
|
|
639
|
+
"type": "address"
|
|
640
|
+
},
|
|
641
|
+
{
|
|
642
|
+
"internalType": "bytes",
|
|
643
|
+
"name": "data",
|
|
644
|
+
"type": "bytes"
|
|
645
|
+
}
|
|
646
|
+
],
|
|
647
|
+
"name": "upgrade",
|
|
648
|
+
"outputs": [],
|
|
649
|
+
"stateMutability": "nonpayable",
|
|
650
|
+
"type": "function"
|
|
387
651
|
}
|
|
388
652
|
],
|
|
389
|
-
"bytecode": "0x60e06040523480156200001157600080fd5b5060405162004f9138038062004f91833981810160405281019062000037919062000b34565b818181816200006c7f01ffc9a7000000000000000000000000000000000000000000000000000000006200039360201b60201c565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620000de576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620000d59062000bdc565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff168152505060805173ffffffffffffffffffffffffffffffffffffffff166301ffc9a77f06ecd8ef000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b81526004016200016f919062000c3b565b602060405180830381865afa1580156200018d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001b3919062000c95565b620001f5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620001ec9062000d17565b60405180910390fd5b806bffffffffffffffffffffffff1660a0816bffffffffffffffffffffffff168152505060805173ffffffffffffffffffffffffffffffffffffffff1663e74d052f60a0516040518263ffffffff1660e01b815260040162000258919062000d7c565b602060405180830381865afa15801562000276573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200029c919062000c95565b620002de576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620002d59062000e0f565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff1660c08173ffffffffffffffffffffffffffffffffffffffff1681525050620003437f3bf74c8e000000000000000000000000000000000000000000000000000000006200039360201b60201c565b505062000358600033620003ff60201b60201c565b620003897fda309788000000000000000000000000000000000000000000000000000000006200039360201b60201c565b5050505062001201565b6001600080837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000620004116200074d60201b60201c565b905062000424816200079a60201b60201c565b1562000467576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200045e9062000ea7565b60405180910390fd5b6000600280549050111562000519576000600260016002805490506200048e919062000f02565b81548110620004a257620004a162000f3d565b5b90600052602060002090600a91828204019190066003029054906101000a900462ffffff169050620004d582826200085a565b62000517576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200050e9062000fe2565b60405180910390fd5b505b60028190806001815401808255809150506001900390600052602060002090600a91828204019190066003029091909190916101000a81548162ffffff021916908362ffffff1602179055506040518060a001604052808262ffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff168152602001620005c36200087160201b60201c565b63ffffffff168152602001620005de6200088960201b60201c565b64ffffffffff16815250600160008362ffffff1662ffffff16815260200190815260200160002060008201518160000160006101000a81548162ffffff021916908362ffffff16021790555060208201518160000160036101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060608201518160010160146101000a81548163ffffffff021916908363ffffffff16021790555060808201518160010160186101000a81548164ffffffffff021916908364ffffffffff1602179055509050507f68e7327fca0057a787cde34ababb9ef9844ba8065ee03e8781d8122fc15d441981848460405162000740939291906200105d565b60405180910390a1505050565b600062000795620007656003620008a160201b60201c565b620007776000620008a160201b60201c565b620007896000620008a160201b60201c565b620008ab60201b60201c565b905090565b600080600160008462ffffff1662ffffff16815260200190815260200160002060010160149054906101000a900463ffffffff1663ffffffff1673__$5f476116ae21c5294e0c0761c07efa7e1c$__636effeac490916040518263ffffffff1660e01b81526004016200080e9190620010e3565b602060405180830381865af41580156200082c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000852919062001131565b119050919050565b60008162ffffff168362ffffff1611905092915050565b6000620008844362000a6d60201b60201c565b905090565b60006200089c4262000a7760201b60201c565b905090565b6000819050919050565b6000808460ff1673__$9dab98ad7ae1a426029e5739f922230a41$__63ac43d83490916040518263ffffffff1660e01b8152600401620008ec9190620011a9565b602060405180830381865af41580156200090a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000930919062001131565b905060008460ff1673__$9dab98ad7ae1a426029e5739f922230a41$__63ac43d83490916040518263ffffffff1660e01b8152600401620009729190620011a9565b602060405180830381865af415801562000990573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620009b6919062001131565b905060008460ff1673__$9dab98ad7ae1a426029e5739f922230a41$__63ac43d83490916040518263ffffffff1660e01b8152600401620009f89190620011a9565b602060405180830381865af415801562000a16573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000a3c919062001131565b905080600883901b601085901b62000a559190620011c6565b62000a619190620011c6565b93505050509392505050565b6000819050919050565b6000819050919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000ab38262000a86565b9050919050565b62000ac58162000aa6565b811462000ad157600080fd5b50565b60008151905062000ae58162000aba565b92915050565b60006bffffffffffffffffffffffff82169050919050565b62000b0e8162000aeb565b811462000b1a57600080fd5b50565b60008151905062000b2e8162000b03565b92915050565b6000806040838503121562000b4e5762000b4d62000a81565b5b600062000b5e8582860162000ad4565b925050602062000b718582860162000b1d565b9150509250929050565b600082825260208201905092915050565b7f4552524f523a5247422d3031303a52454749535452595f5a45524f0000000000600082015250565b600062000bc4601b8362000b7b565b915062000bd18262000b8c565b602082019050919050565b6000602082019050818103600083015262000bf78162000bb5565b9050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b62000c358162000bfe565b82525050565b600060208201905062000c52600083018462000c2a565b92915050565b60008115159050919050565b62000c6f8162000c58565b811462000c7b57600080fd5b50565b60008151905062000c8f8162000c64565b92915050565b60006020828403121562000cae5762000cad62000a81565b5b600062000cbe8482850162000c7e565b91505092915050565b7f4552524f523a5247422d3031313a4e4f545f5245474953545259000000000000600082015250565b600062000cff601a8362000b7b565b915062000d0c8262000cc7565b602082019050919050565b6000602082019050818103600083015262000d328162000cf0565b9050919050565b6000819050919050565b600062000d6462000d5e62000d588462000aeb565b62000d39565b62000aeb565b9050919050565b62000d768162000d43565b82525050565b600060208201905062000d93600083018462000d6b565b92915050565b7f4552524f523a5247422d3031323a504152454e545f4e4f545f5245474953544560008201527f5245440000000000000000000000000000000000000000000000000000000000602082015250565b600062000df760238362000b7b565b915062000e048262000d99565b604082019050919050565b6000602082019050818103600083015262000e2a8162000de8565b9050919050565b7f4552524f523a56524e2d3030313a56455253494f4e5f414c52454144595f414360008201527f5449564154454400000000000000000000000000000000000000000000000000602082015250565b600062000e8f60278362000b7b565b915062000e9c8262000e31565b604082019050919050565b6000602082019050818103600083015262000ec28162000e80565b9050919050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600062000f0f8262000ec9565b915062000f1c8362000ec9565b925082820390508181111562000f375762000f3662000ed3565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4552524f523a56524e2d3030323a56455253494f4e5f4e4f545f494e4352454160008201527f53494e4700000000000000000000000000000000000000000000000000000000602082015250565b600062000fca60248362000b7b565b915062000fd78262000f6c565b604082019050919050565b6000602082019050818103600083015262000ffd8162000fbb565b9050919050565b600062ffffff82169050919050565b6000620010346200102e620010288462001004565b62000d39565b62001004565b9050919050565b620010468162001013565b82525050565b620010578162000aa6565b82525050565b60006060820190506200107460008301866200103b565b6200108360208301856200104c565b6200109260408301846200104c565b949350505050565b600063ffffffff82169050919050565b6000620010cb620010c5620010bf846200109a565b62000d39565b6200109a565b9050919050565b620010dd81620010aa565b82525050565b6000602082019050620010fa6000830184620010d2565b92915050565b6200110b8162000ec9565b81146200111757600080fd5b50565b6000815190506200112b8162001100565b92915050565b6000602082840312156200114a576200114962000a81565b5b60006200115a848285016200111a565b91505092915050565b600060ff82169050919050565b6000620011916200118b620011858462001163565b62000d39565b62001163565b9050919050565b620011a38162001170565b82525050565b6000602082019050620011c0600083018462001198565b92915050565b6000620011d38262000ec9565b9150620011e08362000ec9565b9250828201905080821115620011fb57620011fa62000ed3565b5b92915050565b60805160a05160c051613d2f62001262600039600061192c01526000610afc01526000818161062c015281816106d001528181610dc9015281816117b0015281816117d80152818161187a015281816119550152611bca0152613d2f6000f3fe608060405234801561001057600080fd5b50600436106101375760003560e01c80634d459c90116100b85780639555c4db1161007c5780639555c4db14610344578063a3f4df7e14610360578063b88da7591461037e578063cde749f4146103ae578063f435f5a7146103cc578063fc0ae054146103e857610137565b80634d459c901461029c5780635ab1bd53146102cc578063644c45e0146102ea578063893d20e814610308578063946dfcfe1461032657610137565b80631aa3a008116100ff5780631aa3a008146101f65780632f6c493c1461021457806331b62a3b146102305780633bc5de301461024e5780634420e4861461026c57610137565b806301ffc9a71461013c5780630abd84341461016c5780630d8e6e2c1461019c57806315dae03e146101ba57806317d7de7c146101d8575b600080fd5b61015660048036038101906101519190612819565b610418565b6040516101639190612861565b60405180910390f35b610186600480360381019061018191906128b7565b61047f565b6040516101939190612861565b60405180910390f35b6101a461053a565b6040516101b1919061291f565b60405180910390f35b6101c2610567565b6040516101cf9190612978565b60405180910390f35b6101e0610576565b6040516101ed9190612a23565b60405180910390f35b6101fe6105b3565b60405161020b9190612a8e565b60405180910390f35b61022e60048036038101906102299190612b19565b6106cb565b005b610238610af8565b6040516102459190612a8e565b60405180910390f35b610256610b20565b6040516102639190612b9b565b60405180910390f35b61028660048036038101906102819190612b19565b610b37565b6040516102939190612a8e565b60405180910390f35b6102b660048036038101906102b191906128b7565b61160f565b6040516102c39190612cc6565b60405180910390f35b6102d46117ac565b6040516102e19190612d36565b60405180910390f35b6102f26117d4565b6040516102ff9190612a8e565b60405180910390f35b610310611875565b60405161031d9190612d60565b60405180910390f35b61032e6119f4565b60405161033b9190612d94565b60405180910390f35b61035e60048036038101906103599190612ddb565b611a01565b005b610368611a0f565b6040516103759190612a23565b60405180910390f35b61039860048036038101906103939190612e47565b611a48565b6040516103a5919061291f565b60405180910390f35b6103b6611ad1565b6040516103c39190612e83565b60405180910390f35b6103e660048036038101906103e19190612b19565b611bc5565b005b61040260048036038101906103fd9190612eca565b611ff2565b60405161040f9190612f44565b60405180910390f35b6000806000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060009054906101000a900460ff169050919050565b600080600160008462ffffff1662ffffff16815260200190815260200160002060010160149054906101000a900463ffffffff1663ffffffff1673__$5f476116ae21c5294e0c0761c07efa7e1c$__636effeac490916040518263ffffffff1660e01b81526004016104f19190612f6e565b602060405180830381865af415801561050e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105329190612f9e565b119050919050565b60006105626105496003612069565b6105536000612069565b61055d6000612069565b612073565b905090565b6000610571612222565b905090565b60606040518060400160405280601581526020017f436f6d706f6e656e744f776e6572536572766963650000000000000000000000815250905090565b60006105bd611875565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461062a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161062190613017565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16634420e486306040518263ffffffff1660e01b81526004016106839190612d60565b6020604051808303816000875af11580156106a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106c69190613063565b905090565b8060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663d272ac1e836040518263ffffffff1660e01b81526004016107279190612d60565b602060405180830381865afa158015610744573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107689190613063565b9050806bffffffffffffffffffffffff1673__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__6330b8415f90916040518263ffffffff1660e01b81526004016107b1919061309f565b602060405180830381865af41580156107ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107f291906130e6565b610831576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108289061315f565b60405180910390fd5b60008373ffffffffffffffffffffffffffffffffffffffff1663de7b5d146040518163ffffffff1660e01b8152600401602060405180830381865afa15801561087e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108a291906131bd565b905060008173ffffffffffffffffffffffffffffffffffffffff1663f0ea17c38673ffffffffffffffffffffffffffffffffffffffff1663644c45e06040518163ffffffff1660e01b8152600401602060405180830381865afa15801561090d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109319190613063565b6040518263ffffffff1660e01b815260040161094d9190612a8e565b606060405180830381865afa15801561096a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061098e9190613338565b905080600001516bffffffffffffffffffffffff1673__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__6330b8415f90916040518263ffffffff1660e01b81526004016109db919061309f565b602060405180830381865af41580156109f8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a1c91906130e6565b610a5b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a52906133b1565b60405180910390fd5b610a63612233565b816020019060ff16908160ff16815250508173ffffffffffffffffffffffffffffffffffffffff1663bd62faf7826040518263ffffffff1660e01b8152600401610aad9190613452565b6020604051808303816000875af1158015610acc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610af09190613063565b505050505050565b60007f0000000000000000000000000000000000000000000000000000000000000000905090565b606060405180602001604052806000815250905090565b6000808273ffffffffffffffffffffffffffffffffffffffff1663893d20e86040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b85573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ba99190613482565b90508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610c19576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c10906134fb565b60405180910390fd5b60008373ffffffffffffffffffffffffffffffffffffffff1663de7b5d146040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c66573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c8a91906131bd565b905060008473ffffffffffffffffffffffffffffffffffffffff166315dae03e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610cd9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cfd9190613530565b90506000610d0a82611ff2565b90508273ffffffffffffffffffffffffffffffffffffffff166399fd467782866040518363ffffffff1660e01b8152600401610d4792919061355d565b602060405180830381865afa158015610d64573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d8891906130e6565b610dc7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dbe906135d2565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16634420e486876040518263ffffffff1660e01b8152600401610e209190612d60565b6020604051808303816000875af1158015610e3f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e639190613063565b945060008673ffffffffffffffffffffffffffffffffffffffff166321df0da76040518163ffffffff1660e01b8152600401602060405180830381865afa158015610eb2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ed691906135f2565b90508373ffffffffffffffffffffffffffffffffffffffff16638b59fe2a8785846040518463ffffffff1660e01b8152600401610f159392919061362e565b600060405180830381600087803b158015610f2f57600080fd5b505af1158015610f43573d6000803e3d6000fd5b5050505060008773ffffffffffffffffffffffffffffffffffffffff1663132996046040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f94573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fb89190613482565b90506110398873ffffffffffffffffffffffffffffffffffffffff166315dae03e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611008573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061102c9190613530565b611034612244565b612255565b156112e257600088905060008173ffffffffffffffffffffffffffffffffffffffff16631bdd6b766040518163ffffffff1660e01b8152600401602060405180830381865afa158015611090573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110b49190613063565b9050806bffffffffffffffffffffffff1673__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__6330b8415f90916040518263ffffffff1660e01b81526004016110fd919061309f565b602060405180830381865af415801561111a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061113e91906130e6565b61117d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611174906136b1565b60405180910390fd5b6000611187612268565b90508773ffffffffffffffffffffffffffffffffffffffff166331e48e328b838589898973ffffffffffffffffffffffffffffffffffffffff1663bc74aab06040518163ffffffff1660e01b81526004016040805180830381865afa1580156111f4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611218919061374d565b8a73ffffffffffffffffffffffffffffffffffffffff1663daafed406040518163ffffffff1660e01b81526004016040805180830381865afa158015611262573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611286919061374d565b6040518863ffffffff1660e01b81526004016112a897969594939291906137e9565b600060405180830381600087803b1580156112c257600080fd5b505af11580156112d6573d6000803e3d6000fd5b50505050505050611604565b6113618873ffffffffffffffffffffffffffffffffffffffff166315dae03e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611330573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113549190613530565b61135c61226d565b612255565b156116035760008890508573ffffffffffffffffffffffffffffffffffffffff1663e03eeb85898373ffffffffffffffffffffffffffffffffffffffff166387ef9ba06040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113f791906130e6565b8473ffffffffffffffffffffffffffffffffffffffff166354afef636040518163ffffffff1660e01b8152600401602060405180830381865afa158015611442573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114669190613859565b6040518463ffffffff1660e01b815260040161148493929190613895565b600060405180830381600087803b15801561149e57600080fd5b505af11580156114b2573d6000803e3d6000fd5b505050508573ffffffffffffffffffffffffffffffffffffffff1663d0bb064c89848473ffffffffffffffffffffffffffffffffffffffff16634b270a466040518163ffffffff1660e01b81526004016040805180830381865afa15801561151e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611542919061374d565b8573ffffffffffffffffffffffffffffffffffffffff1663235c36036040518163ffffffff1660e01b81526004016040805180830381865afa15801561158c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115b0919061374d565b6040518563ffffffff1660e01b81526004016115cf94939291906138cc565b600060405180830381600087803b1580156115e957600080fd5b505af11580156115fd573d6000803e3d6000fd5b50505050505b5b505050505050919050565b611617612745565b6116208261047f565b61165f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116569061395d565b60405180910390fd5b600160008362ffffff1662ffffff1681526020019081526020016000206040518060a00160405290816000820160009054906101000a900462ffffff1662ffffff1662ffffff1681526020016000820160039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820160149054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016001820160189054906101000a900464ffffffffff1664ffffffffff1664ffffffffff16815250509050919050565b60007f0000000000000000000000000000000000000000000000000000000000000000905090565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663d272ac1e306040518263ffffffff1660e01b815260040161182f9190612d60565b602060405180830381865afa15801561184c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118709190613063565b905090565b6000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663d272ac1e306040518263ffffffff1660e01b81526004016118d19190612d60565b602060405180830381865afa1580156118ee573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119129190613063565b905061192581611920612268565b61227e565b15611953577f00000000000000000000000000000000000000000000000000000000000000009150506119f1565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663df33330b826040518263ffffffff1660e01b81526004016119ac9190612a8e565b602060405180830381865afa1580156119c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119ed9190613482565b9150505b90565b6000600280549050905090565b611a0b82826122a7565b5050565b6040518060400160405280601581526020017f436f6d706f6e656e744f776e657253657276696365000000000000000000000081525081565b60006002805490508210611a91576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a88906139c9565b60405180910390fd5b60028281548110611aa557611aa46139e9565b5b90600052602060002090600a91828204019190066003029054906101000a900462ffffff169050919050565b60003073ffffffffffffffffffffffffffffffffffffffff16630d8e6e2c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b1e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b429190613a2d565b62ffffff1673__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__63c9e66e2990916040518263ffffffff1660e01b8152600401611b7f9190613a69565b602060405180830381865af4158015611b9c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bc09190613ab0565b905090565b8060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663d272ac1e836040518263ffffffff1660e01b8152600401611c219190612d60565b602060405180830381865afa158015611c3e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c629190613063565b9050806bffffffffffffffffffffffff1673__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__6330b8415f90916040518263ffffffff1660e01b8152600401611cab919061309f565b602060405180830381865af4158015611cc8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cec91906130e6565b611d2b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d229061315f565b60405180910390fd5b60008373ffffffffffffffffffffffffffffffffffffffff1663de7b5d146040518163ffffffff1660e01b8152600401602060405180830381865afa158015611d78573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d9c91906131bd565b905060008173ffffffffffffffffffffffffffffffffffffffff1663f0ea17c38673ffffffffffffffffffffffffffffffffffffffff1663644c45e06040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e07573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e2b9190613063565b6040518263ffffffff1660e01b8152600401611e479190612a8e565b606060405180830381865afa158015611e64573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e889190613338565b905080600001516bffffffffffffffffffffffff1673__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__6330b8415f90916040518263ffffffff1660e01b8152600401611ed5919061309f565b602060405180830381865af4158015611ef2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f1691906130e6565b611f55576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f4c906133b1565b60405180910390fd5b611f5d6125c5565b816020019060ff16908160ff16815250508173ffffffffffffffffffffffffffffffffffffffff1663bd62faf7826040518263ffffffff1660e01b8152600401611fa79190613452565b6020604051808303816000875af1158015611fc6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fea9190613063565b505050505050565b600061200582612000612244565b612255565b15612019576120126125d6565b9050612064565b61202a8261202561226d565b612255565b1561203e5761203761261b565b9050612064565b61204f8261204a612660565b612255565b156120635761205c612671565b9050612064565b5b919050565b6000819050919050565b6000808460ff1673__$9dab98ad7ae1a426029e5739f922230a41$__63ac43d83490916040518263ffffffff1660e01b81526004016120b29190613aec565b602060405180830381865af41580156120cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120f39190612f9e565b905060008460ff1673__$9dab98ad7ae1a426029e5739f922230a41$__63ac43d83490916040518263ffffffff1660e01b81526004016121339190613aec565b602060405180830381865af4158015612150573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121749190612f9e565b905060008460ff1673__$9dab98ad7ae1a426029e5739f922230a41$__63ac43d83490916040518263ffffffff1660e01b81526004016121b49190613aec565b602060405180830381865af41580156121d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121f59190612f9e565b905080600883901b601085901b61220c9190613b36565b6122169190613b36565b93505050509392505050565b600061222e60286126b6565b905090565b600061223f60646126c0565b905090565b600061225060646126b6565b905090565b60008160ff168360ff1614905092915050565b600090565b600061227960826126b6565b905090565b6000816bffffffffffffffffffffffff16836bffffffffffffffffffffffff1614905092915050565b60006122b161053a565b90506122bc8161047f565b156122fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122f390613bdc565b60405180910390fd5b600060028054905011156123a3576000600260016002805490506123209190613bfc565b81548110612331576123306139e9565b5b90600052602060002090600a91828204019190066003029054906101000a900462ffffff16905061236282826126ca565b6123a1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161239890613ca2565b60405180910390fd5b505b60028190806001815401808255809150506001900390600052602060002090600a91828204019190066003029091909190916101000a81548162ffffff021916908362ffffff1602179055506040518060a001604052808262ffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1681526020016124456126e1565b63ffffffff1681526020016124586126f1565b64ffffffffff16815250600160008362ffffff1662ffffff16815260200190815260200160002060008201518160000160006101000a81548162ffffff021916908362ffffff16021790555060208201518160000160036101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060608201518160010160146101000a81548163ffffffff021916908363ffffffff16021790555060808201518160010160186101000a81548164ffffffffff021916908364ffffffffff1602179055509050507f68e7327fca0057a787cde34ababb9ef9844ba8065ee03e8781d8122fc15d44198184846040516125b893929190613cc2565b60405180910390a1505050565b60006125d1606e6126c0565b905090565b60006126166040518060400160405280601081526020017f50726f647563744f776e6572526f6c6500000000000000000000000000000000815250612701565b905090565b600061265b6040518060400160405280600d81526020017f506f6f6c4f776e6572526f6c6500000000000000000000000000000000000000815250612701565b905090565b600061266c60786126b6565b905090565b60006126b16040518060400160405280600f81526020017f4f7261636c654f776e6572526f6c650000000000000000000000000000000000815250612701565b905090565b6000819050919050565b6000819050919050565b60008162ffffff168362ffffff1611905092915050565b60006126ec43612731565b905090565b60006126fc4261273b565b905090565b6000816040516020016127149190612a23565b604051602081830303815290604052805190602001209050919050565b6000819050919050565b6000819050919050565b6040518060a00160405280600062ffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600063ffffffff168152602001600064ffffffffff1681525090565b6000604051905090565b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6127f6816127c1565b811461280157600080fd5b50565b600081359050612813816127ed565b92915050565b60006020828403121561282f5761282e6127bc565b5b600061283d84828501612804565b91505092915050565b60008115159050919050565b61285b81612846565b82525050565b60006020820190506128766000830184612852565b92915050565b600062ffffff82169050919050565b6128948161287c565b811461289f57600080fd5b50565b6000813590506128b18161288b565b92915050565b6000602082840312156128cd576128cc6127bc565b5b60006128db848285016128a2565b91505092915050565b6000819050919050565b60006129096129046128ff8461287c565b6128e4565b61287c565b9050919050565b612919816128ee565b82525050565b60006020820190506129346000830184612910565b92915050565b600060ff82169050919050565b600061296261295d6129588461293a565b6128e4565b61293a565b9050919050565b61297281612947565b82525050565b600060208201905061298d6000830184612969565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156129cd5780820151818401526020810190506129b2565b60008484015250505050565b6000601f19601f8301169050919050565b60006129f582612993565b6129ff818561299e565b9350612a0f8185602086016129af565b612a18816129d9565b840191505092915050565b60006020820190508181036000830152612a3d81846129ea565b905092915050565b60006bffffffffffffffffffffffff82169050919050565b6000612a78612a73612a6e84612a45565b6128e4565b612a45565b9050919050565b612a8881612a5d565b82525050565b6000602082019050612aa36000830184612a7f565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612ad482612aa9565b9050919050565b6000612ae682612ac9565b9050919050565b612af681612adb565b8114612b0157600080fd5b50565b600081359050612b1381612aed565b92915050565b600060208284031215612b2f57612b2e6127bc565b5b6000612b3d84828501612b04565b91505092915050565b600081519050919050565b600082825260208201905092915050565b6000612b6d82612b46565b612b778185612b51565b9350612b878185602086016129af565b612b90816129d9565b840191505092915050565b60006020820190508181036000830152612bb58184612b62565b905092915050565b612bc6816128ee565b82525050565b612bd581612ac9565b82525050565b600063ffffffff82169050919050565b6000612c06612c01612bfc84612bdb565b6128e4565b612bdb565b9050919050565b612c1681612beb565b82525050565b600064ffffffffff82169050919050565b6000612c48612c43612c3e84612c1c565b6128e4565b612c1c565b9050919050565b612c5881612c2d565b82525050565b60a082016000820151612c746000850182612bbd565b506020820151612c876020850182612bcc565b506040820151612c9a6040850182612bcc565b506060820151612cad6060850182612c0d565b506080820151612cc06080850182612c4f565b50505050565b600060a082019050612cdb6000830184612c5e565b92915050565b6000612cfc612cf7612cf284612aa9565b6128e4565b612aa9565b9050919050565b6000612d0e82612ce1565b9050919050565b6000612d2082612d03565b9050919050565b612d3081612d15565b82525050565b6000602082019050612d4b6000830184612d27565b92915050565b612d5a81612ac9565b82525050565b6000602082019050612d756000830184612d51565b92915050565b6000819050919050565b612d8e81612d7b565b82525050565b6000602082019050612da96000830184612d85565b92915050565b612db881612ac9565b8114612dc357600080fd5b50565b600081359050612dd581612daf565b92915050565b60008060408385031215612df257612df16127bc565b5b6000612e0085828601612dc6565b9250506020612e1185828601612dc6565b9150509250929050565b612e2481612d7b565b8114612e2f57600080fd5b50565b600081359050612e4181612e1b565b92915050565b600060208284031215612e5d57612e5c6127bc565b5b6000612e6b84828501612e32565b91505092915050565b612e7d81612947565b82525050565b6000602082019050612e986000830184612e74565b92915050565b612ea78161293a565b8114612eb257600080fd5b50565b600081359050612ec481612e9e565b92915050565b600060208284031215612ee057612edf6127bc565b5b6000612eee84828501612eb5565b91505092915050565b60007fffffffffffffffff00000000000000000000000000000000000000000000000082169050919050565b6000612f2e82612ef7565b9050919050565b612f3e81612f23565b82525050565b6000602082019050612f596000830184612f35565b92915050565b612f6881612beb565b82525050565b6000602082019050612f836000830184612f5f565b92915050565b600081519050612f9881612e1b565b92915050565b600060208284031215612fb457612fb36127bc565b5b6000612fc284828501612f89565b91505092915050565b7f4552524f523a5247422d3030313a4e4f545f4f574e4552000000000000000000600082015250565b600061300160178361299e565b915061300c82612fcb565b602082019050919050565b6000602082019050818103600083015261303081612ff4565b9050919050565b61304081612a45565b811461304b57600080fd5b50565b60008151905061305d81613037565b92915050565b600060208284031215613079576130786127bc565b5b60006130878482850161304e565b91505092915050565b61309981612a5d565b82525050565b60006020820190506130b46000830184613090565b92915050565b6130c381612846565b81146130ce57600080fd5b50565b6000815190506130e0816130ba565b92915050565b6000602082840312156130fc576130fb6127bc565b5b600061310a848285016130d1565b91505092915050565b7f4552524f523a434f532d3030313a434f4d504f4e454e545f554e4b4e4f574e00600082015250565b6000613149601f8361299e565b915061315482613113565b602082019050919050565b600060208201905081810360008301526131788161313c565b9050919050565b600061318a82612ac9565b9050919050565b61319a8161317f565b81146131a557600080fd5b50565b6000815190506131b781613191565b92915050565b6000602082840312156131d3576131d26127bc565b5b60006131e1848285016131a8565b91505092915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b613227826129d9565b810181811067ffffffffffffffff82111715613246576132456131ef565b5b80604052505050565b60006132596127b2565b9050613265828261321e565b919050565b6132738161293a565b811461327e57600080fd5b50565b6000815190506132908161326a565b92915050565b60006132a182612ac9565b9050919050565b6132b181613296565b81146132bc57600080fd5b50565b6000815190506132ce816132a8565b92915050565b6000606082840312156132ea576132e96131ea565b5b6132f4606061324f565b905060006133048482850161304e565b600083015250602061331884828501613281565b602083015250604061332c848285016132bf565b60408301525092915050565b60006060828403121561334e5761334d6127bc565b5b600061335c848285016132d4565b91505092915050565b7f4552524f525f434f4d504f4e454e545f554e4b4e4f574e000000000000000000600082015250565b600061339b60178361299e565b91506133a682613365565b602082019050919050565b600060208201905081810360008301526133ca8161338e565b9050919050565b6133da81612a5d565b82525050565b6133e981612947565b82525050565b60006133fa82612d03565b9050919050565b61340a816133ef565b82525050565b60608201600082015161342660008501826133d1565b50602082015161343960208501826133e0565b50604082015161344c6040850182613401565b50505050565b60006060820190506134676000830184613410565b92915050565b60008151905061347c81612daf565b92915050565b600060208284031215613498576134976127bc565b5b60006134a68482850161346d565b91505092915050565b7f4552524f523a434f532d3030333a4e4f545f434f4d504f4e454e540000000000600082015250565b60006134e5601b8361299e565b91506134f0826134af565b602082019050919050565b60006020820190508181036000830152613514816134d8565b9050919050565b60008151905061352a81612e9e565b92915050565b600060208284031215613546576135456127bc565b5b60006135548482850161351b565b91505092915050565b60006040820190506135726000830185612f35565b61357f6020830184612d51565b9392505050565b7f4552524f523a434d502d3030343a545950455f524f4c455f4d495353494e4700600082015250565b60006135bc601f8361299e565b91506135c782613586565b602082019050919050565b600060208201905081810360008301526135eb816135af565b9050919050565b600060208284031215613608576136076127bc565b5b6000613616848285016132bf565b91505092915050565b613628816133ef565b82525050565b60006060820190506136436000830186612a7f565b6136506020830185612969565b61365d604083018461361f565b949350505050565b7f4552524f523a434d502d3030353a504f4f4c5f554e4b4e4f574e000000000000600082015250565b600061369b601a8361299e565b91506136a682613665565b602082019050919050565b600060208201905081810360008301526136ca8161368e565b9050919050565b6136da81612d7b565b81146136e557600080fd5b50565b6000815190506136f7816136d1565b92915050565b600060408284031215613713576137126131ea565b5b61371d604061324f565b9050600061372d848285016136e8565b600083015250602061374184828501612f89565b60208301525092915050565b600060408284031215613763576137626127bc565b5b6000613771848285016136fd565b91505092915050565b600061379561379061378b84612d7b565b6128e4565b612d7b565b9050919050565b6137a58161377a565b82525050565b6137b481612d7b565b82525050565b6040820160008201516137d0600085018261379c565b5060208201516137e360208501826137ab565b50505050565b6000610120820190506137ff600083018a612a7f565b61380c6020830189612a7f565b6138196040830188612a7f565b613826606083018761361f565b6138336080830186612d51565b61384060a08301856137ba565b61384d60e08301846137ba565b98975050505050505050565b60006020828403121561386f5761386e6127bc565b5b600061387d848285016136e8565b91505092915050565b61388f8161377a565b82525050565b60006060820190506138aa6000830186612a7f565b6138b76020830185612852565b6138c46040830184613886565b949350505050565b600060c0820190506138e16000830187612a7f565b6138ee6020830186612d51565b6138fb60408301856137ba565b61390860808301846137ba565b95945050505050565b7f4552524f523a56524e2d3032303a56455253494f4e5f554e4b4e4f574e000000600082015250565b6000613947601d8361299e565b915061395282613911565b602082019050919050565b600060208201905081810360008301526139768161393a565b9050919050565b7f4552524f523a56524e2d3031303a494e4445585f544f4f5f4c41524745000000600082015250565b60006139b3601d8361299e565b91506139be8261397d565b602082019050919050565b600060208201905081810360008301526139e2816139a6565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050613a278161288b565b92915050565b600060208284031215613a4357613a426127bc565b5b6000613a5184828501613a18565b91505092915050565b613a63816128ee565b82525050565b6000602082019050613a7e6000830184613a5a565b92915050565b613a8d8161293a565b8114613a9857600080fd5b50565b600081519050613aaa81613a84565b92915050565b600060208284031215613ac657613ac56127bc565b5b6000613ad484828501613a9b565b91505092915050565b613ae681612947565b82525050565b6000602082019050613b016000830184613add565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000613b4182612d7b565b9150613b4c83612d7b565b9250828201905080821115613b6457613b63613b07565b5b92915050565b7f4552524f523a56524e2d3030313a56455253494f4e5f414c52454144595f414360008201527f5449564154454400000000000000000000000000000000000000000000000000602082015250565b6000613bc660278361299e565b9150613bd182613b6a565b604082019050919050565b60006020820190508181036000830152613bf581613bb9565b9050919050565b6000613c0782612d7b565b9150613c1283612d7b565b9250828203905081811115613c2a57613c29613b07565b5b92915050565b7f4552524f523a56524e2d3030323a56455253494f4e5f4e4f545f494e4352454160008201527f53494e4700000000000000000000000000000000000000000000000000000000602082015250565b6000613c8c60248361299e565b9150613c9782613c30565b604082019050919050565b60006020820190508181036000830152613cbb81613c7f565b9050919050565b6000606082019050613cd76000830186612910565b613ce46020830185612d51565b613cf16040830184612d51565b94935050505056fea2646970667358221220a6d8561edf873533ccc036eb2a6208fdf5ca522e8e4d35882748c24f4e23701764736f6c63430008140033",
|
|
390
|
-
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101375760003560e01c80634d459c90116100b85780639555c4db1161007c5780639555c4db14610344578063a3f4df7e14610360578063b88da7591461037e578063cde749f4146103ae578063f435f5a7146103cc578063fc0ae054146103e857610137565b80634d459c901461029c5780635ab1bd53146102cc578063644c45e0146102ea578063893d20e814610308578063946dfcfe1461032657610137565b80631aa3a008116100ff5780631aa3a008146101f65780632f6c493c1461021457806331b62a3b146102305780633bc5de301461024e5780634420e4861461026c57610137565b806301ffc9a71461013c5780630abd84341461016c5780630d8e6e2c1461019c57806315dae03e146101ba57806317d7de7c146101d8575b600080fd5b61015660048036038101906101519190612819565b610418565b6040516101639190612861565b60405180910390f35b610186600480360381019061018191906128b7565b61047f565b6040516101939190612861565b60405180910390f35b6101a461053a565b6040516101b1919061291f565b60405180910390f35b6101c2610567565b6040516101cf9190612978565b60405180910390f35b6101e0610576565b6040516101ed9190612a23565b60405180910390f35b6101fe6105b3565b60405161020b9190612a8e565b60405180910390f35b61022e60048036038101906102299190612b19565b6106cb565b005b610238610af8565b6040516102459190612a8e565b60405180910390f35b610256610b20565b6040516102639190612b9b565b60405180910390f35b61028660048036038101906102819190612b19565b610b37565b6040516102939190612a8e565b60405180910390f35b6102b660048036038101906102b191906128b7565b61160f565b6040516102c39190612cc6565b60405180910390f35b6102d46117ac565b6040516102e19190612d36565b60405180910390f35b6102f26117d4565b6040516102ff9190612a8e565b60405180910390f35b610310611875565b60405161031d9190612d60565b60405180910390f35b61032e6119f4565b60405161033b9190612d94565b60405180910390f35b61035e60048036038101906103599190612ddb565b611a01565b005b610368611a0f565b6040516103759190612a23565b60405180910390f35b61039860048036038101906103939190612e47565b611a48565b6040516103a5919061291f565b60405180910390f35b6103b6611ad1565b6040516103c39190612e83565b60405180910390f35b6103e660048036038101906103e19190612b19565b611bc5565b005b61040260048036038101906103fd9190612eca565b611ff2565b60405161040f9190612f44565b60405180910390f35b6000806000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060009054906101000a900460ff169050919050565b600080600160008462ffffff1662ffffff16815260200190815260200160002060010160149054906101000a900463ffffffff1663ffffffff1673__$5f476116ae21c5294e0c0761c07efa7e1c$__636effeac490916040518263ffffffff1660e01b81526004016104f19190612f6e565b602060405180830381865af415801561050e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105329190612f9e565b119050919050565b60006105626105496003612069565b6105536000612069565b61055d6000612069565b612073565b905090565b6000610571612222565b905090565b60606040518060400160405280601581526020017f436f6d706f6e656e744f776e6572536572766963650000000000000000000000815250905090565b60006105bd611875565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461062a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161062190613017565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16634420e486306040518263ffffffff1660e01b81526004016106839190612d60565b6020604051808303816000875af11580156106a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106c69190613063565b905090565b8060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663d272ac1e836040518263ffffffff1660e01b81526004016107279190612d60565b602060405180830381865afa158015610744573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107689190613063565b9050806bffffffffffffffffffffffff1673__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__6330b8415f90916040518263ffffffff1660e01b81526004016107b1919061309f565b602060405180830381865af41580156107ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107f291906130e6565b610831576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108289061315f565b60405180910390fd5b60008373ffffffffffffffffffffffffffffffffffffffff1663de7b5d146040518163ffffffff1660e01b8152600401602060405180830381865afa15801561087e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108a291906131bd565b905060008173ffffffffffffffffffffffffffffffffffffffff1663f0ea17c38673ffffffffffffffffffffffffffffffffffffffff1663644c45e06040518163ffffffff1660e01b8152600401602060405180830381865afa15801561090d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109319190613063565b6040518263ffffffff1660e01b815260040161094d9190612a8e565b606060405180830381865afa15801561096a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061098e9190613338565b905080600001516bffffffffffffffffffffffff1673__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__6330b8415f90916040518263ffffffff1660e01b81526004016109db919061309f565b602060405180830381865af41580156109f8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a1c91906130e6565b610a5b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a52906133b1565b60405180910390fd5b610a63612233565b816020019060ff16908160ff16815250508173ffffffffffffffffffffffffffffffffffffffff1663bd62faf7826040518263ffffffff1660e01b8152600401610aad9190613452565b6020604051808303816000875af1158015610acc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610af09190613063565b505050505050565b60007f0000000000000000000000000000000000000000000000000000000000000000905090565b606060405180602001604052806000815250905090565b6000808273ffffffffffffffffffffffffffffffffffffffff1663893d20e86040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b85573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ba99190613482565b90508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610c19576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c10906134fb565b60405180910390fd5b60008373ffffffffffffffffffffffffffffffffffffffff1663de7b5d146040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c66573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c8a91906131bd565b905060008473ffffffffffffffffffffffffffffffffffffffff166315dae03e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610cd9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cfd9190613530565b90506000610d0a82611ff2565b90508273ffffffffffffffffffffffffffffffffffffffff166399fd467782866040518363ffffffff1660e01b8152600401610d4792919061355d565b602060405180830381865afa158015610d64573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d8891906130e6565b610dc7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dbe906135d2565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16634420e486876040518263ffffffff1660e01b8152600401610e209190612d60565b6020604051808303816000875af1158015610e3f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e639190613063565b945060008673ffffffffffffffffffffffffffffffffffffffff166321df0da76040518163ffffffff1660e01b8152600401602060405180830381865afa158015610eb2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ed691906135f2565b90508373ffffffffffffffffffffffffffffffffffffffff16638b59fe2a8785846040518463ffffffff1660e01b8152600401610f159392919061362e565b600060405180830381600087803b158015610f2f57600080fd5b505af1158015610f43573d6000803e3d6000fd5b5050505060008773ffffffffffffffffffffffffffffffffffffffff1663132996046040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f94573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fb89190613482565b90506110398873ffffffffffffffffffffffffffffffffffffffff166315dae03e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611008573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061102c9190613530565b611034612244565b612255565b156112e257600088905060008173ffffffffffffffffffffffffffffffffffffffff16631bdd6b766040518163ffffffff1660e01b8152600401602060405180830381865afa158015611090573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110b49190613063565b9050806bffffffffffffffffffffffff1673__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__6330b8415f90916040518263ffffffff1660e01b81526004016110fd919061309f565b602060405180830381865af415801561111a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061113e91906130e6565b61117d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611174906136b1565b60405180910390fd5b6000611187612268565b90508773ffffffffffffffffffffffffffffffffffffffff166331e48e328b838589898973ffffffffffffffffffffffffffffffffffffffff1663bc74aab06040518163ffffffff1660e01b81526004016040805180830381865afa1580156111f4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611218919061374d565b8a73ffffffffffffffffffffffffffffffffffffffff1663daafed406040518163ffffffff1660e01b81526004016040805180830381865afa158015611262573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611286919061374d565b6040518863ffffffff1660e01b81526004016112a897969594939291906137e9565b600060405180830381600087803b1580156112c257600080fd5b505af11580156112d6573d6000803e3d6000fd5b50505050505050611604565b6113618873ffffffffffffffffffffffffffffffffffffffff166315dae03e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611330573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113549190613530565b61135c61226d565b612255565b156116035760008890508573ffffffffffffffffffffffffffffffffffffffff1663e03eeb85898373ffffffffffffffffffffffffffffffffffffffff166387ef9ba06040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113f791906130e6565b8473ffffffffffffffffffffffffffffffffffffffff166354afef636040518163ffffffff1660e01b8152600401602060405180830381865afa158015611442573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114669190613859565b6040518463ffffffff1660e01b815260040161148493929190613895565b600060405180830381600087803b15801561149e57600080fd5b505af11580156114b2573d6000803e3d6000fd5b505050508573ffffffffffffffffffffffffffffffffffffffff1663d0bb064c89848473ffffffffffffffffffffffffffffffffffffffff16634b270a466040518163ffffffff1660e01b81526004016040805180830381865afa15801561151e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611542919061374d565b8573ffffffffffffffffffffffffffffffffffffffff1663235c36036040518163ffffffff1660e01b81526004016040805180830381865afa15801561158c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115b0919061374d565b6040518563ffffffff1660e01b81526004016115cf94939291906138cc565b600060405180830381600087803b1580156115e957600080fd5b505af11580156115fd573d6000803e3d6000fd5b50505050505b5b505050505050919050565b611617612745565b6116208261047f565b61165f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116569061395d565b60405180910390fd5b600160008362ffffff1662ffffff1681526020019081526020016000206040518060a00160405290816000820160009054906101000a900462ffffff1662ffffff1662ffffff1681526020016000820160039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820160149054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016001820160189054906101000a900464ffffffffff1664ffffffffff1664ffffffffff16815250509050919050565b60007f0000000000000000000000000000000000000000000000000000000000000000905090565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663d272ac1e306040518263ffffffff1660e01b815260040161182f9190612d60565b602060405180830381865afa15801561184c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118709190613063565b905090565b6000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663d272ac1e306040518263ffffffff1660e01b81526004016118d19190612d60565b602060405180830381865afa1580156118ee573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119129190613063565b905061192581611920612268565b61227e565b15611953577f00000000000000000000000000000000000000000000000000000000000000009150506119f1565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663df33330b826040518263ffffffff1660e01b81526004016119ac9190612a8e565b602060405180830381865afa1580156119c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119ed9190613482565b9150505b90565b6000600280549050905090565b611a0b82826122a7565b5050565b6040518060400160405280601581526020017f436f6d706f6e656e744f776e657253657276696365000000000000000000000081525081565b60006002805490508210611a91576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a88906139c9565b60405180910390fd5b60028281548110611aa557611aa46139e9565b5b90600052602060002090600a91828204019190066003029054906101000a900462ffffff169050919050565b60003073ffffffffffffffffffffffffffffffffffffffff16630d8e6e2c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b1e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b429190613a2d565b62ffffff1673__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__63c9e66e2990916040518263ffffffff1660e01b8152600401611b7f9190613a69565b602060405180830381865af4158015611b9c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bc09190613ab0565b905090565b8060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663d272ac1e836040518263ffffffff1660e01b8152600401611c219190612d60565b602060405180830381865afa158015611c3e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c629190613063565b9050806bffffffffffffffffffffffff1673__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__6330b8415f90916040518263ffffffff1660e01b8152600401611cab919061309f565b602060405180830381865af4158015611cc8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cec91906130e6565b611d2b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d229061315f565b60405180910390fd5b60008373ffffffffffffffffffffffffffffffffffffffff1663de7b5d146040518163ffffffff1660e01b8152600401602060405180830381865afa158015611d78573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d9c91906131bd565b905060008173ffffffffffffffffffffffffffffffffffffffff1663f0ea17c38673ffffffffffffffffffffffffffffffffffffffff1663644c45e06040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e07573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e2b9190613063565b6040518263ffffffff1660e01b8152600401611e479190612a8e565b606060405180830381865afa158015611e64573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e889190613338565b905080600001516bffffffffffffffffffffffff1673__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__6330b8415f90916040518263ffffffff1660e01b8152600401611ed5919061309f565b602060405180830381865af4158015611ef2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f1691906130e6565b611f55576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f4c906133b1565b60405180910390fd5b611f5d6125c5565b816020019060ff16908160ff16815250508173ffffffffffffffffffffffffffffffffffffffff1663bd62faf7826040518263ffffffff1660e01b8152600401611fa79190613452565b6020604051808303816000875af1158015611fc6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fea9190613063565b505050505050565b600061200582612000612244565b612255565b15612019576120126125d6565b9050612064565b61202a8261202561226d565b612255565b1561203e5761203761261b565b9050612064565b61204f8261204a612660565b612255565b156120635761205c612671565b9050612064565b5b919050565b6000819050919050565b6000808460ff1673__$9dab98ad7ae1a426029e5739f922230a41$__63ac43d83490916040518263ffffffff1660e01b81526004016120b29190613aec565b602060405180830381865af41580156120cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120f39190612f9e565b905060008460ff1673__$9dab98ad7ae1a426029e5739f922230a41$__63ac43d83490916040518263ffffffff1660e01b81526004016121339190613aec565b602060405180830381865af4158015612150573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121749190612f9e565b905060008460ff1673__$9dab98ad7ae1a426029e5739f922230a41$__63ac43d83490916040518263ffffffff1660e01b81526004016121b49190613aec565b602060405180830381865af41580156121d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121f59190612f9e565b905080600883901b601085901b61220c9190613b36565b6122169190613b36565b93505050509392505050565b600061222e60286126b6565b905090565b600061223f60646126c0565b905090565b600061225060646126b6565b905090565b60008160ff168360ff1614905092915050565b600090565b600061227960826126b6565b905090565b6000816bffffffffffffffffffffffff16836bffffffffffffffffffffffff1614905092915050565b60006122b161053a565b90506122bc8161047f565b156122fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122f390613bdc565b60405180910390fd5b600060028054905011156123a3576000600260016002805490506123209190613bfc565b81548110612331576123306139e9565b5b90600052602060002090600a91828204019190066003029054906101000a900462ffffff16905061236282826126ca565b6123a1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161239890613ca2565b60405180910390fd5b505b60028190806001815401808255809150506001900390600052602060002090600a91828204019190066003029091909190916101000a81548162ffffff021916908362ffffff1602179055506040518060a001604052808262ffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1681526020016124456126e1565b63ffffffff1681526020016124586126f1565b64ffffffffff16815250600160008362ffffff1662ffffff16815260200190815260200160002060008201518160000160006101000a81548162ffffff021916908362ffffff16021790555060208201518160000160036101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060608201518160010160146101000a81548163ffffffff021916908363ffffffff16021790555060808201518160010160186101000a81548164ffffffffff021916908364ffffffffff1602179055509050507f68e7327fca0057a787cde34ababb9ef9844ba8065ee03e8781d8122fc15d44198184846040516125b893929190613cc2565b60405180910390a1505050565b60006125d1606e6126c0565b905090565b60006126166040518060400160405280601081526020017f50726f647563744f776e6572526f6c6500000000000000000000000000000000815250612701565b905090565b600061265b6040518060400160405280600d81526020017f506f6f6c4f776e6572526f6c6500000000000000000000000000000000000000815250612701565b905090565b600061266c60786126b6565b905090565b60006126b16040518060400160405280600f81526020017f4f7261636c654f776e6572526f6c650000000000000000000000000000000000815250612701565b905090565b6000819050919050565b6000819050919050565b60008162ffffff168362ffffff1611905092915050565b60006126ec43612731565b905090565b60006126fc4261273b565b905090565b6000816040516020016127149190612a23565b604051602081830303815290604052805190602001209050919050565b6000819050919050565b6000819050919050565b6040518060a00160405280600062ffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600063ffffffff168152602001600064ffffffffff1681525090565b6000604051905090565b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6127f6816127c1565b811461280157600080fd5b50565b600081359050612813816127ed565b92915050565b60006020828403121561282f5761282e6127bc565b5b600061283d84828501612804565b91505092915050565b60008115159050919050565b61285b81612846565b82525050565b60006020820190506128766000830184612852565b92915050565b600062ffffff82169050919050565b6128948161287c565b811461289f57600080fd5b50565b6000813590506128b18161288b565b92915050565b6000602082840312156128cd576128cc6127bc565b5b60006128db848285016128a2565b91505092915050565b6000819050919050565b60006129096129046128ff8461287c565b6128e4565b61287c565b9050919050565b612919816128ee565b82525050565b60006020820190506129346000830184612910565b92915050565b600060ff82169050919050565b600061296261295d6129588461293a565b6128e4565b61293a565b9050919050565b61297281612947565b82525050565b600060208201905061298d6000830184612969565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156129cd5780820151818401526020810190506129b2565b60008484015250505050565b6000601f19601f8301169050919050565b60006129f582612993565b6129ff818561299e565b9350612a0f8185602086016129af565b612a18816129d9565b840191505092915050565b60006020820190508181036000830152612a3d81846129ea565b905092915050565b60006bffffffffffffffffffffffff82169050919050565b6000612a78612a73612a6e84612a45565b6128e4565b612a45565b9050919050565b612a8881612a5d565b82525050565b6000602082019050612aa36000830184612a7f565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612ad482612aa9565b9050919050565b6000612ae682612ac9565b9050919050565b612af681612adb565b8114612b0157600080fd5b50565b600081359050612b1381612aed565b92915050565b600060208284031215612b2f57612b2e6127bc565b5b6000612b3d84828501612b04565b91505092915050565b600081519050919050565b600082825260208201905092915050565b6000612b6d82612b46565b612b778185612b51565b9350612b878185602086016129af565b612b90816129d9565b840191505092915050565b60006020820190508181036000830152612bb58184612b62565b905092915050565b612bc6816128ee565b82525050565b612bd581612ac9565b82525050565b600063ffffffff82169050919050565b6000612c06612c01612bfc84612bdb565b6128e4565b612bdb565b9050919050565b612c1681612beb565b82525050565b600064ffffffffff82169050919050565b6000612c48612c43612c3e84612c1c565b6128e4565b612c1c565b9050919050565b612c5881612c2d565b82525050565b60a082016000820151612c746000850182612bbd565b506020820151612c876020850182612bcc565b506040820151612c9a6040850182612bcc565b506060820151612cad6060850182612c0d565b506080820151612cc06080850182612c4f565b50505050565b600060a082019050612cdb6000830184612c5e565b92915050565b6000612cfc612cf7612cf284612aa9565b6128e4565b612aa9565b9050919050565b6000612d0e82612ce1565b9050919050565b6000612d2082612d03565b9050919050565b612d3081612d15565b82525050565b6000602082019050612d4b6000830184612d27565b92915050565b612d5a81612ac9565b82525050565b6000602082019050612d756000830184612d51565b92915050565b6000819050919050565b612d8e81612d7b565b82525050565b6000602082019050612da96000830184612d85565b92915050565b612db881612ac9565b8114612dc357600080fd5b50565b600081359050612dd581612daf565b92915050565b60008060408385031215612df257612df16127bc565b5b6000612e0085828601612dc6565b9250506020612e1185828601612dc6565b9150509250929050565b612e2481612d7b565b8114612e2f57600080fd5b50565b600081359050612e4181612e1b565b92915050565b600060208284031215612e5d57612e5c6127bc565b5b6000612e6b84828501612e32565b91505092915050565b612e7d81612947565b82525050565b6000602082019050612e986000830184612e74565b92915050565b612ea78161293a565b8114612eb257600080fd5b50565b600081359050612ec481612e9e565b92915050565b600060208284031215612ee057612edf6127bc565b5b6000612eee84828501612eb5565b91505092915050565b60007fffffffffffffffff00000000000000000000000000000000000000000000000082169050919050565b6000612f2e82612ef7565b9050919050565b612f3e81612f23565b82525050565b6000602082019050612f596000830184612f35565b92915050565b612f6881612beb565b82525050565b6000602082019050612f836000830184612f5f565b92915050565b600081519050612f9881612e1b565b92915050565b600060208284031215612fb457612fb36127bc565b5b6000612fc284828501612f89565b91505092915050565b7f4552524f523a5247422d3030313a4e4f545f4f574e4552000000000000000000600082015250565b600061300160178361299e565b915061300c82612fcb565b602082019050919050565b6000602082019050818103600083015261303081612ff4565b9050919050565b61304081612a45565b811461304b57600080fd5b50565b60008151905061305d81613037565b92915050565b600060208284031215613079576130786127bc565b5b60006130878482850161304e565b91505092915050565b61309981612a5d565b82525050565b60006020820190506130b46000830184613090565b92915050565b6130c381612846565b81146130ce57600080fd5b50565b6000815190506130e0816130ba565b92915050565b6000602082840312156130fc576130fb6127bc565b5b600061310a848285016130d1565b91505092915050565b7f4552524f523a434f532d3030313a434f4d504f4e454e545f554e4b4e4f574e00600082015250565b6000613149601f8361299e565b915061315482613113565b602082019050919050565b600060208201905081810360008301526131788161313c565b9050919050565b600061318a82612ac9565b9050919050565b61319a8161317f565b81146131a557600080fd5b50565b6000815190506131b781613191565b92915050565b6000602082840312156131d3576131d26127bc565b5b60006131e1848285016131a8565b91505092915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b613227826129d9565b810181811067ffffffffffffffff82111715613246576132456131ef565b5b80604052505050565b60006132596127b2565b9050613265828261321e565b919050565b6132738161293a565b811461327e57600080fd5b50565b6000815190506132908161326a565b92915050565b60006132a182612ac9565b9050919050565b6132b181613296565b81146132bc57600080fd5b50565b6000815190506132ce816132a8565b92915050565b6000606082840312156132ea576132e96131ea565b5b6132f4606061324f565b905060006133048482850161304e565b600083015250602061331884828501613281565b602083015250604061332c848285016132bf565b60408301525092915050565b60006060828403121561334e5761334d6127bc565b5b600061335c848285016132d4565b91505092915050565b7f4552524f525f434f4d504f4e454e545f554e4b4e4f574e000000000000000000600082015250565b600061339b60178361299e565b91506133a682613365565b602082019050919050565b600060208201905081810360008301526133ca8161338e565b9050919050565b6133da81612a5d565b82525050565b6133e981612947565b82525050565b60006133fa82612d03565b9050919050565b61340a816133ef565b82525050565b60608201600082015161342660008501826133d1565b50602082015161343960208501826133e0565b50604082015161344c6040850182613401565b50505050565b60006060820190506134676000830184613410565b92915050565b60008151905061347c81612daf565b92915050565b600060208284031215613498576134976127bc565b5b60006134a68482850161346d565b91505092915050565b7f4552524f523a434f532d3030333a4e4f545f434f4d504f4e454e540000000000600082015250565b60006134e5601b8361299e565b91506134f0826134af565b602082019050919050565b60006020820190508181036000830152613514816134d8565b9050919050565b60008151905061352a81612e9e565b92915050565b600060208284031215613546576135456127bc565b5b60006135548482850161351b565b91505092915050565b60006040820190506135726000830185612f35565b61357f6020830184612d51565b9392505050565b7f4552524f523a434d502d3030343a545950455f524f4c455f4d495353494e4700600082015250565b60006135bc601f8361299e565b91506135c782613586565b602082019050919050565b600060208201905081810360008301526135eb816135af565b9050919050565b600060208284031215613608576136076127bc565b5b6000613616848285016132bf565b91505092915050565b613628816133ef565b82525050565b60006060820190506136436000830186612a7f565b6136506020830185612969565b61365d604083018461361f565b949350505050565b7f4552524f523a434d502d3030353a504f4f4c5f554e4b4e4f574e000000000000600082015250565b600061369b601a8361299e565b91506136a682613665565b602082019050919050565b600060208201905081810360008301526136ca8161368e565b9050919050565b6136da81612d7b565b81146136e557600080fd5b50565b6000815190506136f7816136d1565b92915050565b600060408284031215613713576137126131ea565b5b61371d604061324f565b9050600061372d848285016136e8565b600083015250602061374184828501612f89565b60208301525092915050565b600060408284031215613763576137626127bc565b5b6000613771848285016136fd565b91505092915050565b600061379561379061378b84612d7b565b6128e4565b612d7b565b9050919050565b6137a58161377a565b82525050565b6137b481612d7b565b82525050565b6040820160008201516137d0600085018261379c565b5060208201516137e360208501826137ab565b50505050565b6000610120820190506137ff600083018a612a7f565b61380c6020830189612a7f565b6138196040830188612a7f565b613826606083018761361f565b6138336080830186612d51565b61384060a08301856137ba565b61384d60e08301846137ba565b98975050505050505050565b60006020828403121561386f5761386e6127bc565b5b600061387d848285016136e8565b91505092915050565b61388f8161377a565b82525050565b60006060820190506138aa6000830186612a7f565b6138b76020830185612852565b6138c46040830184613886565b949350505050565b600060c0820190506138e16000830187612a7f565b6138ee6020830186612d51565b6138fb60408301856137ba565b61390860808301846137ba565b95945050505050565b7f4552524f523a56524e2d3032303a56455253494f4e5f554e4b4e4f574e000000600082015250565b6000613947601d8361299e565b915061395282613911565b602082019050919050565b600060208201905081810360008301526139768161393a565b9050919050565b7f4552524f523a56524e2d3031303a494e4445585f544f4f5f4c41524745000000600082015250565b60006139b3601d8361299e565b91506139be8261397d565b602082019050919050565b600060208201905081810360008301526139e2816139a6565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050613a278161288b565b92915050565b600060208284031215613a4357613a426127bc565b5b6000613a5184828501613a18565b91505092915050565b613a63816128ee565b82525050565b6000602082019050613a7e6000830184613a5a565b92915050565b613a8d8161293a565b8114613a9857600080fd5b50565b600081519050613aaa81613a84565b92915050565b600060208284031215613ac657613ac56127bc565b5b6000613ad484828501613a9b565b91505092915050565b613ae681612947565b82525050565b6000602082019050613b016000830184613add565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000613b4182612d7b565b9150613b4c83612d7b565b9250828201905080821115613b6457613b63613b07565b5b92915050565b7f4552524f523a56524e2d3030313a56455253494f4e5f414c52454144595f414360008201527f5449564154454400000000000000000000000000000000000000000000000000602082015250565b6000613bc660278361299e565b9150613bd182613b6a565b604082019050919050565b60006020820190508181036000830152613bf581613bb9565b9050919050565b6000613c0782612d7b565b9150613c1283612d7b565b9250828203905081811115613c2a57613c29613b07565b5b92915050565b7f4552524f523a56524e2d3030323a56455253494f4e5f4e4f545f494e4352454160008201527f53494e4700000000000000000000000000000000000000000000000000000000602082015250565b6000613c8c60248361299e565b9150613c9782613c30565b604082019050919050565b60006020820190508181036000830152613cbb81613c7f565b9050919050565b6000606082019050613cd76000830186612910565b613ce46020830185612d51565b613cf16040830184612d51565b94935050505056fea2646970667358221220a6d8561edf873533ccc036eb2a6208fdf5ca522e8e4d35882748c24f4e23701764736f6c63430008140033",
|
|
653
|
+
"bytecode": "0x60806040523480156200001157600080fd5b5060405162003103380380620031038339810160408190526200003491620006b2565b620000656301ffc9a760e01b6000908152602052600080516020620030e3833981519152805460ff19166001179055565b600280546001600160a01b0319163317905562000081620000d2565b6200008d838262000186565b6327535ccf60e01b60009081526020527fdf85129a843b1189784b76e4b72b0cde3e9c7821233b206b7eed6ac5a2fce6f7805460ff191660011790555050506200095c565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620001235760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620001835780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b6000620001c360408051808201909152601581527f436f6d706f6e656e744f776e6572536572766963650000000000000000000000602082015290565b620001cd62000257565b604051602001620001e0929190620006fc565b60408051601f1981840301815291905290506000620001ff84620002e4565b90506000620002148583603c84888862000358565b631b4612f160e31b60009081526020527ffc58a5a01198e68c5a5d0bcd463f9ab550fc4337b1df271aed6dbb33d25fef25805460ff191660011790555050505050565b6000620002636200045a565b60405163c9e66e2960e01b815262ffffff909116600482015273__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__9063c9e66e2990602401602060405180830381865af4158015620002b9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002df919062000756565b905090565b604051636939560f60e11b81526001600160a01b0382166004820181905260009163d272ac1e90602401602060405180830381865afa1580156200032c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000352919062000782565b92915050565b620003896301ffc9a760e01b6000908152602052600080516020620030e3833981519152805460ff19166001179055565b620003958287620004e2565b60007f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30080546001600160601b0388166001600160681b0319909116176c0100000000000000000000000060ff8816021760ff60681b19166d01000000000000000000000000008615150217815590506001810162000414838262000845565b506303fb044760e21b60009081526020527fb43e4f3791bfcdefa3a0fbe2a5555f8d6490b90e01de0ff40c66f18b49b562c5805460ff1916600117905550505050505050565b604051632efe011360e01b815260036004820152600060248201819052604482018190529073__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__90632efe011390606401602060405180830381865af4158015620004bc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002df919062000911565b600280546001600160a01b0319166001600160a01b03841617905562000508816200050c565b5050565b6001546001600160a01b0316156200054b5760015460405163fcdbf2d960e01b81526001600160a01b0390911660048201526024015b60405180910390fd5b6001600160a01b038116620005735760405163f5c4d07d60e01b815260040160405180910390fd5b806001600160a01b03163b600003620005ab5760405163fdeac91f60e01b81526001600160a01b038216600482015260240162000542565b600180546001600160a01b0319166001600160a01b0383169081179091556040516301ffc9a760e01b815263e14a543960e01b60048201526301ffc9a790602401602060405180830381865afa92505050801562000628575060408051601f3d908101601f19168201909252620006259181019062000938565b60015b620006525760405163fdeac91f60e01b81526001600160a01b038216600482015260240162000542565b80620005085760405163fdeac91f60e01b81526001600160a01b038316600482015260240162000542565b80516001600160a01b03811681146200069557600080fd5b919050565b80516001600160601b03811681146200069557600080fd5b600080600060608486031215620006c857600080fd5b620006d3846200067d565b9250620006e3602085016200069a565b9150620006f3604085016200067d565b90509250925092565b604081526000835180604084015260005b818110156200072c57602081870181015160608684010152016200070d565b506000606082850101526060601f19601f83011684010191505060ff831660208301529392505050565b6000602082840312156200076957600080fd5b815160ff811681146200077b57600080fd5b9392505050565b6000602082840312156200079557600080fd5b6200077b826200069a565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620007cb57607f821691505b602082108103620007ec57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200084057600081815260208120601f850160051c810160208610156200081b5750805b601f850160051c820191505b818110156200083c5782815560010162000827565b5050505b505050565b81516001600160401b03811115620008615762000861620007a0565b6200087981620008728454620007b6565b84620007f2565b602080601f831160018114620008b15760008415620008985750858301515b600019600386901b1c1916600185901b1785556200083c565b600085815260208120601f198616915b82811015620008e257888601518255948401946001909101908401620008c1565b5085821015620009015787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000602082840312156200092457600080fd5b815162ffffff811681146200077b57600080fd5b6000602082840312156200094b57600080fd5b815180151581146200077b57600080fd5b612777806200096c6000396000f3fe608060405234801561001057600080fd5b50600436106101735760003560e01c806387dbfec3116100de578063b3c6501511610097578063cde749f411610071578063cde749f4146104e3578063cf7a1d77146104fd578063f435f5a714610290578063fc0ae0541461051057600080fd5b8063b3c65015146104a8578063b88da759146104c8578063caf4e3d4146104db57600080fd5b806387dbfec31461040c578063893d20e81461041f578063946dfcfe14610427578063a3f4df7e1461044e578063a745e3df14610482578063abd908461461049557600080fd5b80632d46f5df116101305780632d46f5df146102655780632f6c493c146102905780634d459c90146102a35780634f421333146103bc5780635ab1bd53146103cf578063644c45e0146103f457600080fd5b806301ffc9a7146101785780630d8e6e2c146101ba5780630fec111c146101d6578063138461e0146101ec57806317d7de7c146101f65780631eff4b2214610230575b600080fd5b6101a5610186366004611ca3565b6001600160e01b03191660009081526020819052604090205460ff1690565b60405190151581526020015b60405180910390f35b6101c2610523565b60405162ffffff90911681526020016101b1565b6101de6105ad565b6040516101b1929190611d24565b6101f461072f565b005b604080518082019091526015815274436f6d706f6e656e744f776e65725365727669636560581b60208201525b6040516101b19190611dcb565b6102577f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30081565b6040519081526020016101b1565b610278610273366004611df6565b610951565b6040516001600160601b0390911681526020016101b1565b6101f461029e366004611df6565b610a9b565b61035f6102b1366004611e24565b6040805160a08101825260008082526020820181905291810182905260608101829052608081019190915260008051602061272283398151915262ffffff92831660009081526020918252604090819020815160a0810183528154958616815263010000009095046001600160a01b03908116938601939093526001015491821690840152600160a01b810464ffffffffff166060840152600160c81b900463ffffffff1660808301525090565b60408051825162ffffff1681526020808401516001600160a01b039081169183019190915283830151169181019190915260608083015164ffffffffff169082015260809182015163ffffffff169181019190915260a0016101b1565b6101a56103ca366004611e24565b610d54565b6001546001600160a01b03165b6040516001600160a01b0390911681526020016101b1565b600154600160a01b90046001600160601b0316610278565b61027861041a366004611df6565b610e07565b6103dc610f41565b7f4f61291a8ac3d020d0a7d919a76b8592aa88385744dee3f8b4f3873b969ed90154610257565b61022360405180604001604052806015815260200174436f6d706f6e656e744f776e65725365727669636560581b81525081565b6101f4610490366004611f1c565b61105a565b6102786104a3366004611df6565b6111b4565b6104b06112f3565b6040516001600160401b0390911681526020016101b1565b6101c26104d6366004611fc0565b611314565b6103dc611365565b6104eb611420565b60405160ff90911681526020016101b1565b6101f461050b366004611f1c565b6114a3565b6104b061051e366004611fe8565b6115ac565b604051632efe011360e01b815260036004820152600060248201819052604482018190529073__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__90632efe011390606401602060405180830381865af4158015610584573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105a89190612005565b905090565b6040805160e08101825260008082526020820181905291810182905260608082018390526080820183905260a0820183905260c0820181905290917f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30090506040518060e001604052806106306001546001600160601b03600160a01b9091041690565b6001600160601b0390811682528354908116602083015260ff600160601b820481166040840152600160681b909104161515606082015230608082015260a001610678610f41565b6001600160a01b0316815260200182600101805461069590612022565b80601f01602080910402602001604051908101604052809291908181526020018280546106c190612022565b801561070e5780601f106106e35761010080835404028352916020019161070e565b820191906000526020600020905b8154815290600101906020018083116106f157829003601f168201915b50505050508152506040518060200160405280600081525092509250509091565b6001546040516330b8415f60e01b8152600160a01b9091046001600160601b0316600482015273__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af4158015610791573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107b5919061206c565b156107fc576001546040516316322c0f60e31b81526001600160a01b0382166004820152600160a01b9091046001600160601b031660248201526044015b60405180910390fd5b6001546001600160a01b03166108255760405163cf29926160e01b815260040160405180910390fd5b60015460405163c3c5a54760e01b81523060048201819052916001600160a01b03169063c3c5a54790602401602060405180830381865afa15801561086e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610892919061206c565b6108ba576040516372657a5160e01b81526001600160a01b03821660048201526024016107f3565b600154604051636939560f60e11b81526001600160a01b0383811660048301529091169063d272ac1e90602401602060405180830381865afa158015610904573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610928919061209e565b600160146101000a8154816001600160601b0302191690836001600160601b0316021790555050565b600080600061095e611365565b604051635d96628960e01b81526001600160a01b0386811660048301523360248301529190911690635d966289906044016000604051808303816000875af11580156109ae573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526109d691908101906121c9565b6020820151919350915060006109f46001546001600160a01b031690565b6040516305247a1760e51b81526001600160601b03841660048201526001600160a01b03919091169063a48f42e090602401600060405180830381865afa158015610a43573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610a6b919081019061222c565b608001519050806000610a7e606e6115ac565b9050610a90866000015185848861161a565b505050505050919050565b806000610ab06001546001600160a01b031690565b604051636939560f60e11b81526001600160a01b038481166004830152919091169063d272ac1e90602401602060405180830381865afa158015610af8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b1c919061209e565b6040516330b8415f60e01b81526001600160601b038216600482015290915073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af4158015610b77573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b9b919061206c565b610be75760405162461bcd60e51b815260206004820152601f60248201527f4552524f523a434f532d3030313a434f4d504f4e454e545f554e4b4e4f574e0060448201526064016107f3565b6000836001600160a01b031663de7b5d146040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c27573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c4b9190612260565b90506000846001600160a01b031663644c45e06040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c8d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cb1919061209e565b9050600073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__633889a4c86001600160601b03841660646040516001600160e01b031960e085901b1681526001600160601b03909216600483015260ff166024820152604401602060405180830381865af4158015610d27573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d4b919061227d565b50505050505050565b60008060008051602061272283398151915262ffffff84166000908152602091909152604090819020600101549051631bbffab160e21b8152600160c81b90910463ffffffff16600482015273__$5f476116ae21c5294e0c0761c07efa7e1c$__90636effeac490602401602060405180830381865af4158015610ddc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e00919061227d565b1192915050565b6000806000610e14611365565b604051638fbc2d8160e01b81526001600160a01b0386811660048301523360248301529190911690638fbc2d81906044016000604051808303816000875af1158015610e64573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610e8c91908101906121c9565b602082015191935091506000610eaa6001546001600160a01b031690565b6040516305247a1760e51b81526001600160601b03841660048201526001600160a01b03919091169063a48f42e090602401600060405180830381865afa158015610ef9573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610f21919081019061222c565b608001519050806000610f3460786115ac565b9050505050505050919050565b6001546040516330b8415f60e01b8152600160a01b9091046001600160601b0316600482015260009073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af4158015610fa6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fca919061206c565b1561104a57600154604051631c5da14d60e11b8152600160a01b82046001600160601b031660048201526001600160a01b03909116906338bb429a90602401602060405180830381865afa158015611026573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105a89190612260565b506002546001600160a01b031690565b73__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__63a123b37c61107c610523565b6040516001600160e01b031960e084901b16815262ffffff9091166004820152602401602060405180830381865af41580156110bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110e091906122ab565b6000805160206127028339815191528054600160401b900460ff1680611113575080546001600160401b03808416911610155b156111315760405163f92ee8a960e01b815260040160405180910390fd5b805468ffffffffffffffffff19166001600160401b03831617600160401b17815561115c858561169a565b61116583611939565b805460ff60401b191681556040516001600160401b03831681527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2906020015b60405180910390a15050505050565b60008060006111c1611365565b604051637286e5e560e01b81526001600160a01b0386811660048301523360248301529190911690637286e5e5906044016000604051808303816000875af1158015611211573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261123991908101906121c9565b6020820151919350915060006112576001546001600160a01b031690565b6040516305247a1760e51b81526001600160601b03841660048201526001600160a01b03919091169063a48f42e090602401600060405180830381865afa1580156112a6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526112ce919081019061222c565b6080015190508060006112e1608c6115ac565b9050610a908660000151858488611941565b60006105a8600080516020612702833981519152546001600160401b031690565b60006000805160206127228339815191526001018281548110611339576113396122c8565b90600052602060002090600a91828204019190066003029054906101000a900462ffffff169050919050565b60008061137a6001546001600160a01b031690565b6001600160a01b031663a3bcd81d611390611420565b604080516001600160e01b031960e085901b1681526004810191909152600f60448201526e52656769737472795365727669636560881b606482015260ff9091166024820152608401602060405180830381865afa1580156113f6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061141a9190612260565b92915050565b600061142a610523565b60405163c9e66e2960e01b815262ffffff909116600482015273__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__9063c9e66e2990602401602060405180830381865af415801561147f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105a891906122de565b6000805160206127028339815191528054600160401b810460ff1615906001600160401b03166000811580156114d65750825b90506000826001600160401b031660011480156114f25750303b155b905081158015611500575080155b1561151e5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561154857845460ff60401b1916600160401b1785555b611552888861169a565b61155c8787611939565b83156115a257845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050505050565b60006115c082606e5b60ff90811691161490565b156115cd5761141a611b3f565b6115d882608c6115b5565b156115e55761141a611bb8565b6115f08260786115b5565b156115fd5761141a611bf4565b6116088260826115b5565b156116155761141a611c2f565b919050565b6000818060200190518101906116309190612349565b604051637353912760e01b81529091506001600160a01b03841690637353912790611661908890859060040161241a565b600060405180830381600087803b15801561167b57600080fd5b505af115801561168f573d6000803e3d6000fd5b505050505050505050565b6116a2611c6a565b60008051602061272283398151915260006116d2600080516020612702833981519152546001600160401b031690565b905060006116de610523565b9050816001600160401b031660010361170b5760028301805462ffffff191662ffffff8316179055611759565b600283015462ffffff908116908216116117595760405162461bcd60e51b815260206004820152600f60248201526e24a72b20a624a2102b22a929a4a7a760891b60448201526064016107f3565b6001808401805491820181556000908152602090819020600a808404909101805462ffffff808716600394909606939093026101000a858102930219169190911790556040805160a0810182529283526001600160a01b038089168484015287168382015280516356db0c1960e11b81529051606084019273__$d53880c81dc91c20799140d711e5ab8718$__9263adb6183292600480830193928290030181865af415801561180d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118319190612518565b64ffffffffff1681526020014363ffffffff90811690915262ffffff8084166000908152602087815260409182902085518154928701516001600160a01b039081166301000000026001600160b81b0319909416919095161791909117815584820151600190910180546060870151608090970151909516600160c81b0263ffffffff60c81b1964ffffffffff909716600160a01b026001600160c81b031990961692909416919091179390931793909316179055517fad0a0fc10465a8dd9da3ad5f43e1a7fff4b4578551c76f0ae8deb844f0d0bf68906111a59083908890889062ffffff9390931683526001600160a01b03918216602084015216604082015260600190565b610173611c6a565b60008060008380602001905181019061195a919061253f565b50505092509250925060006119776001546001600160a01b031690565b90506001600160a01b0383166119a0576040516361a02c4f60e11b815260040160405180910390fd5b6040516308b09a5f60e41b81526001600160a01b03838116600483015260009190831690638b09a5f090602401600060405180830381865afa1580156119ea573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611a12919081019061222c565b60400151905060ff8116603214611a3c5760405163c1ab6dc160e01b815260040160405180910390fd5b604085810151905163753b14a560e01b8152600481019190915273__$5ac3274b8cf1e01ea223bf093142af05b0$__9063753b14a590602401602060405180830381865af4158015611a92573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ab6919061206c565b15611ad4576040516313e89cb760e31b815260040160405180910390fd5b6040516357f9680560e01b81526001600160a01b038816906357f9680590611b02908c90899060040161264f565b600060405180830381600087803b158015611b1c57600080fd5b505af1158015611b30573d6000803e3d6000fd5b50505050505050505050505050565b6040516368aebf7b60e01b8152610190600482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b906024015b602060405180830381865af4158015611b94573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105a891906122ab565b6040516368aebf7b60e01b815261012c600482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b90602401611b77565b6040516368aebf7b60e01b81526064600482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b90602401611b77565b6040516368aebf7b60e01b815260c8600482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b90602401611b77565b60008051602061270283398151915254600160401b900460ff16611ca157604051631afcd79f60e31b815260040160405180910390fd5b565b600060208284031215611cb557600080fd5b81356001600160e01b031981168114611ccd57600080fd5b9392505050565b60005b83811015611cef578181015183820152602001611cd7565b50506000910152565b60008151808452611d10816020860160208601611cd4565b601f01601f19169290920160200192915050565b6040815260006001600160601b038085511660408401528060208601511660608401525060ff60408501511660808301526060840151611d6860a084018215159052565b5060808401516001600160a01b03811660c08401525060a08401516001600160a01b03811660e08401525060c084015160e0610100840152611dae610120840182611cf8565b90508281036020840152611dc28185611cf8565b95945050505050565b602081526000611ccd6020830184611cf8565b6001600160a01b0381168114611df357600080fd5b50565b600060208284031215611e0857600080fd5b8135611ccd81611dde565b62ffffff81168114611df357600080fd5b600060208284031215611e3657600080fd5b8135611ccd81611e13565b634e487b7160e01b600052604160045260246000fd5b60405160e081016001600160401b0381118282101715611e7957611e79611e41565b60405290565b60405161014081016001600160401b0381118282101715611e7957611e79611e41565b60405161010081016001600160401b0381118282101715611e7957611e79611e41565b604051601f8201601f191681016001600160401b0381118282101715611eed57611eed611e41565b604052919050565b60006001600160401b03821115611f0e57611f0e611e41565b50601f01601f191660200190565b600080600060608486031215611f3157600080fd5b8335611f3c81611dde565b92506020840135611f4c81611dde565b915060408401356001600160401b03811115611f6757600080fd5b8401601f81018613611f7857600080fd5b8035611f8b611f8682611ef5565b611ec5565b818152876020838501011115611fa057600080fd5b816020840160208301376000602083830101528093505050509250925092565b600060208284031215611fd257600080fd5b5035919050565b60ff81168114611df357600080fd5b600060208284031215611ffa57600080fd5b8135611ccd81611fd9565b60006020828403121561201757600080fd5b8151611ccd81611e13565b600181811c9082168061203657607f821691505b60208210810361205657634e487b7160e01b600052602260045260246000fd5b50919050565b8051801515811461161557600080fd5b60006020828403121561207e57600080fd5b611ccd8261205c565b80516001600160601b038116811461161557600080fd5b6000602082840312156120b057600080fd5b611ccd82612087565b805161161581611fd9565b805161161581611dde565b600082601f8301126120e057600080fd5b81516120ee611f8682611ef5565b81815284602083860101111561210357600080fd5b612114826020830160208701611cd4565b949350505050565b600060e0828403121561212e57600080fd5b612136611e57565b905061214182612087565b815261214f60208301612087565b6020820152612160604083016120b9565b60408201526121716060830161205c565b6060820152612182608083016120c4565b608082015261219360a083016120c4565b60a082015260c08201516001600160401b038111156121b157600080fd5b6121bd848285016120cf565b60c08301525092915050565b600080604083850312156121dc57600080fd5b82516001600160401b03808211156121f357600080fd5b6121ff8683870161211c565b9350602085015191508082111561221557600080fd5b50612222858286016120cf565b9150509250929050565b60006020828403121561223e57600080fd5b81516001600160401b0381111561225457600080fd5b6121148482850161211c565b60006020828403121561227257600080fd5b8151611ccd81611dde565b60006020828403121561228f57600080fd5b5051919050565b6001600160401b0381168114611df357600080fd5b6000602082840312156122bd57600080fd5b8151611ccd81612296565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156122f057600080fd5b8151611ccd81611fd9565b60006040828403121561230d57600080fd5b604051604081018181106001600160401b038211171561232f5761232f611e41565b604052825181526020928301519281019290925250919050565b6000610200828403121561235c57600080fd5b612364611e7f565b61236d836120c4565b815261237b602084016120c4565b602082015261238c60408401612087565b604082015261239d60608401612087565b60608201526123af84608085016122fb565b60808201526123c18460c085016122fb565b60a08201526101006123d5858286016122fb565b60c08301526123e88561014086016122fb565b60e08301526123fb8561018086016122fb565b9082015261240d846101c085016122fb565b6101208201529392505050565b6001600160601b038316815281516001600160a01b03166020820152610220810160208301516001600160a01b03811660408401525060408301516001600160601b03811660608401525060608301516001600160601b0381166080840152506080830151805160a0840152602081015160c08401525060a0830151805160e084015260208101516101008401525060c08301516101206124c78185018380518252602090810151910152565b60e0850151805161016086015260209081015161018086015261010086015180516101a08701528101516101c08601529085015180516101e08601529081015161020085015290505b509392505050565b60006020828403121561252a57600080fd5b815164ffffffffff81168114611ccd57600080fd5b60008060008060008086880361026081121561255a57600080fd5b6101608082121561256a57600080fd5b612572611ea2565b915061257d89612087565b825261258b60208a016120c4565b6020830152604089015160408301526125a78a60608b016122fb565b60608301526125b98a60a08b016122fb565b60808301526125cb8a60e08b016122fb565b60a08301526125dd6101208a0161205c565b60c08301526125ef6101408a016120c4565b60e0830152819750612602818a016120c4565b9650505061261361018088016120c4565b9350612623886101a089016122fb565b9250612633886101e089016122fb565b91506126438861022089016122fb565b90509295509295509295565b6000610180820190506001600160601b0380851683528084511660208401525060018060a01b0360208401511660408301526040830151606083015260608301516126a7608084018280518252602090810151910152565b506080830151805160c0840152602081015160e08401525060a0830151805161010084015260208101516101208401525060c08301518015156101408401525060e08301516001600160a01b03811661016084015261251056fef0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a004f61291a8ac3d020d0a7d919a76b8592aa88385744dee3f8b4f3873b969ed900a264697066735822122034ef0f5c7a8e1f36dbf3d80bac3e1b37d59b93f8906505d7a2d3de1c8312579064736f6c6343000814003367be87c3ff9960ca1e9cfac5cab2ff4747269cf9ed20c9b7306235ac35a491c5",
|
|
654
|
+
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101735760003560e01c806387dbfec3116100de578063b3c6501511610097578063cde749f411610071578063cde749f4146104e3578063cf7a1d77146104fd578063f435f5a714610290578063fc0ae0541461051057600080fd5b8063b3c65015146104a8578063b88da759146104c8578063caf4e3d4146104db57600080fd5b806387dbfec31461040c578063893d20e81461041f578063946dfcfe14610427578063a3f4df7e1461044e578063a745e3df14610482578063abd908461461049557600080fd5b80632d46f5df116101305780632d46f5df146102655780632f6c493c146102905780634d459c90146102a35780634f421333146103bc5780635ab1bd53146103cf578063644c45e0146103f457600080fd5b806301ffc9a7146101785780630d8e6e2c146101ba5780630fec111c146101d6578063138461e0146101ec57806317d7de7c146101f65780631eff4b2214610230575b600080fd5b6101a5610186366004611ca3565b6001600160e01b03191660009081526020819052604090205460ff1690565b60405190151581526020015b60405180910390f35b6101c2610523565b60405162ffffff90911681526020016101b1565b6101de6105ad565b6040516101b1929190611d24565b6101f461072f565b005b604080518082019091526015815274436f6d706f6e656e744f776e65725365727669636560581b60208201525b6040516101b19190611dcb565b6102577f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30081565b6040519081526020016101b1565b610278610273366004611df6565b610951565b6040516001600160601b0390911681526020016101b1565b6101f461029e366004611df6565b610a9b565b61035f6102b1366004611e24565b6040805160a08101825260008082526020820181905291810182905260608101829052608081019190915260008051602061272283398151915262ffffff92831660009081526020918252604090819020815160a0810183528154958616815263010000009095046001600160a01b03908116938601939093526001015491821690840152600160a01b810464ffffffffff166060840152600160c81b900463ffffffff1660808301525090565b60408051825162ffffff1681526020808401516001600160a01b039081169183019190915283830151169181019190915260608083015164ffffffffff169082015260809182015163ffffffff169181019190915260a0016101b1565b6101a56103ca366004611e24565b610d54565b6001546001600160a01b03165b6040516001600160a01b0390911681526020016101b1565b600154600160a01b90046001600160601b0316610278565b61027861041a366004611df6565b610e07565b6103dc610f41565b7f4f61291a8ac3d020d0a7d919a76b8592aa88385744dee3f8b4f3873b969ed90154610257565b61022360405180604001604052806015815260200174436f6d706f6e656e744f776e65725365727669636560581b81525081565b6101f4610490366004611f1c565b61105a565b6102786104a3366004611df6565b6111b4565b6104b06112f3565b6040516001600160401b0390911681526020016101b1565b6101c26104d6366004611fc0565b611314565b6103dc611365565b6104eb611420565b60405160ff90911681526020016101b1565b6101f461050b366004611f1c565b6114a3565b6104b061051e366004611fe8565b6115ac565b604051632efe011360e01b815260036004820152600060248201819052604482018190529073__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__90632efe011390606401602060405180830381865af4158015610584573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105a89190612005565b905090565b6040805160e08101825260008082526020820181905291810182905260608082018390526080820183905260a0820183905260c0820181905290917f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30090506040518060e001604052806106306001546001600160601b03600160a01b9091041690565b6001600160601b0390811682528354908116602083015260ff600160601b820481166040840152600160681b909104161515606082015230608082015260a001610678610f41565b6001600160a01b0316815260200182600101805461069590612022565b80601f01602080910402602001604051908101604052809291908181526020018280546106c190612022565b801561070e5780601f106106e35761010080835404028352916020019161070e565b820191906000526020600020905b8154815290600101906020018083116106f157829003601f168201915b50505050508152506040518060200160405280600081525092509250509091565b6001546040516330b8415f60e01b8152600160a01b9091046001600160601b0316600482015273__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af4158015610791573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107b5919061206c565b156107fc576001546040516316322c0f60e31b81526001600160a01b0382166004820152600160a01b9091046001600160601b031660248201526044015b60405180910390fd5b6001546001600160a01b03166108255760405163cf29926160e01b815260040160405180910390fd5b60015460405163c3c5a54760e01b81523060048201819052916001600160a01b03169063c3c5a54790602401602060405180830381865afa15801561086e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610892919061206c565b6108ba576040516372657a5160e01b81526001600160a01b03821660048201526024016107f3565b600154604051636939560f60e11b81526001600160a01b0383811660048301529091169063d272ac1e90602401602060405180830381865afa158015610904573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610928919061209e565b600160146101000a8154816001600160601b0302191690836001600160601b0316021790555050565b600080600061095e611365565b604051635d96628960e01b81526001600160a01b0386811660048301523360248301529190911690635d966289906044016000604051808303816000875af11580156109ae573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526109d691908101906121c9565b6020820151919350915060006109f46001546001600160a01b031690565b6040516305247a1760e51b81526001600160601b03841660048201526001600160a01b03919091169063a48f42e090602401600060405180830381865afa158015610a43573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610a6b919081019061222c565b608001519050806000610a7e606e6115ac565b9050610a90866000015185848861161a565b505050505050919050565b806000610ab06001546001600160a01b031690565b604051636939560f60e11b81526001600160a01b038481166004830152919091169063d272ac1e90602401602060405180830381865afa158015610af8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b1c919061209e565b6040516330b8415f60e01b81526001600160601b038216600482015290915073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af4158015610b77573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b9b919061206c565b610be75760405162461bcd60e51b815260206004820152601f60248201527f4552524f523a434f532d3030313a434f4d504f4e454e545f554e4b4e4f574e0060448201526064016107f3565b6000836001600160a01b031663de7b5d146040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c27573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c4b9190612260565b90506000846001600160a01b031663644c45e06040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c8d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cb1919061209e565b9050600073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__633889a4c86001600160601b03841660646040516001600160e01b031960e085901b1681526001600160601b03909216600483015260ff166024820152604401602060405180830381865af4158015610d27573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d4b919061227d565b50505050505050565b60008060008051602061272283398151915262ffffff84166000908152602091909152604090819020600101549051631bbffab160e21b8152600160c81b90910463ffffffff16600482015273__$5f476116ae21c5294e0c0761c07efa7e1c$__90636effeac490602401602060405180830381865af4158015610ddc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e00919061227d565b1192915050565b6000806000610e14611365565b604051638fbc2d8160e01b81526001600160a01b0386811660048301523360248301529190911690638fbc2d81906044016000604051808303816000875af1158015610e64573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610e8c91908101906121c9565b602082015191935091506000610eaa6001546001600160a01b031690565b6040516305247a1760e51b81526001600160601b03841660048201526001600160a01b03919091169063a48f42e090602401600060405180830381865afa158015610ef9573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610f21919081019061222c565b608001519050806000610f3460786115ac565b9050505050505050919050565b6001546040516330b8415f60e01b8152600160a01b9091046001600160601b0316600482015260009073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af4158015610fa6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fca919061206c565b1561104a57600154604051631c5da14d60e11b8152600160a01b82046001600160601b031660048201526001600160a01b03909116906338bb429a90602401602060405180830381865afa158015611026573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105a89190612260565b506002546001600160a01b031690565b73__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__63a123b37c61107c610523565b6040516001600160e01b031960e084901b16815262ffffff9091166004820152602401602060405180830381865af41580156110bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110e091906122ab565b6000805160206127028339815191528054600160401b900460ff1680611113575080546001600160401b03808416911610155b156111315760405163f92ee8a960e01b815260040160405180910390fd5b805468ffffffffffffffffff19166001600160401b03831617600160401b17815561115c858561169a565b61116583611939565b805460ff60401b191681556040516001600160401b03831681527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2906020015b60405180910390a15050505050565b60008060006111c1611365565b604051637286e5e560e01b81526001600160a01b0386811660048301523360248301529190911690637286e5e5906044016000604051808303816000875af1158015611211573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261123991908101906121c9565b6020820151919350915060006112576001546001600160a01b031690565b6040516305247a1760e51b81526001600160601b03841660048201526001600160a01b03919091169063a48f42e090602401600060405180830381865afa1580156112a6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526112ce919081019061222c565b6080015190508060006112e1608c6115ac565b9050610a908660000151858488611941565b60006105a8600080516020612702833981519152546001600160401b031690565b60006000805160206127228339815191526001018281548110611339576113396122c8565b90600052602060002090600a91828204019190066003029054906101000a900462ffffff169050919050565b60008061137a6001546001600160a01b031690565b6001600160a01b031663a3bcd81d611390611420565b604080516001600160e01b031960e085901b1681526004810191909152600f60448201526e52656769737472795365727669636560881b606482015260ff9091166024820152608401602060405180830381865afa1580156113f6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061141a9190612260565b92915050565b600061142a610523565b60405163c9e66e2960e01b815262ffffff909116600482015273__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__9063c9e66e2990602401602060405180830381865af415801561147f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105a891906122de565b6000805160206127028339815191528054600160401b810460ff1615906001600160401b03166000811580156114d65750825b90506000826001600160401b031660011480156114f25750303b155b905081158015611500575080155b1561151e5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561154857845460ff60401b1916600160401b1785555b611552888861169a565b61155c8787611939565b83156115a257845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050505050565b60006115c082606e5b60ff90811691161490565b156115cd5761141a611b3f565b6115d882608c6115b5565b156115e55761141a611bb8565b6115f08260786115b5565b156115fd5761141a611bf4565b6116088260826115b5565b156116155761141a611c2f565b919050565b6000818060200190518101906116309190612349565b604051637353912760e01b81529091506001600160a01b03841690637353912790611661908890859060040161241a565b600060405180830381600087803b15801561167b57600080fd5b505af115801561168f573d6000803e3d6000fd5b505050505050505050565b6116a2611c6a565b60008051602061272283398151915260006116d2600080516020612702833981519152546001600160401b031690565b905060006116de610523565b9050816001600160401b031660010361170b5760028301805462ffffff191662ffffff8316179055611759565b600283015462ffffff908116908216116117595760405162461bcd60e51b815260206004820152600f60248201526e24a72b20a624a2102b22a929a4a7a760891b60448201526064016107f3565b6001808401805491820181556000908152602090819020600a808404909101805462ffffff808716600394909606939093026101000a858102930219169190911790556040805160a0810182529283526001600160a01b038089168484015287168382015280516356db0c1960e11b81529051606084019273__$d53880c81dc91c20799140d711e5ab8718$__9263adb6183292600480830193928290030181865af415801561180d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118319190612518565b64ffffffffff1681526020014363ffffffff90811690915262ffffff8084166000908152602087815260409182902085518154928701516001600160a01b039081166301000000026001600160b81b0319909416919095161791909117815584820151600190910180546060870151608090970151909516600160c81b0263ffffffff60c81b1964ffffffffff909716600160a01b026001600160c81b031990961692909416919091179390931793909316179055517fad0a0fc10465a8dd9da3ad5f43e1a7fff4b4578551c76f0ae8deb844f0d0bf68906111a59083908890889062ffffff9390931683526001600160a01b03918216602084015216604082015260600190565b610173611c6a565b60008060008380602001905181019061195a919061253f565b50505092509250925060006119776001546001600160a01b031690565b90506001600160a01b0383166119a0576040516361a02c4f60e11b815260040160405180910390fd5b6040516308b09a5f60e41b81526001600160a01b03838116600483015260009190831690638b09a5f090602401600060405180830381865afa1580156119ea573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611a12919081019061222c565b60400151905060ff8116603214611a3c5760405163c1ab6dc160e01b815260040160405180910390fd5b604085810151905163753b14a560e01b8152600481019190915273__$5ac3274b8cf1e01ea223bf093142af05b0$__9063753b14a590602401602060405180830381865af4158015611a92573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ab6919061206c565b15611ad4576040516313e89cb760e31b815260040160405180910390fd5b6040516357f9680560e01b81526001600160a01b038816906357f9680590611b02908c90899060040161264f565b600060405180830381600087803b158015611b1c57600080fd5b505af1158015611b30573d6000803e3d6000fd5b50505050505050505050505050565b6040516368aebf7b60e01b8152610190600482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b906024015b602060405180830381865af4158015611b94573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105a891906122ab565b6040516368aebf7b60e01b815261012c600482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b90602401611b77565b6040516368aebf7b60e01b81526064600482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b90602401611b77565b6040516368aebf7b60e01b815260c8600482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b90602401611b77565b60008051602061270283398151915254600160401b900460ff16611ca157604051631afcd79f60e31b815260040160405180910390fd5b565b600060208284031215611cb557600080fd5b81356001600160e01b031981168114611ccd57600080fd5b9392505050565b60005b83811015611cef578181015183820152602001611cd7565b50506000910152565b60008151808452611d10816020860160208601611cd4565b601f01601f19169290920160200192915050565b6040815260006001600160601b038085511660408401528060208601511660608401525060ff60408501511660808301526060840151611d6860a084018215159052565b5060808401516001600160a01b03811660c08401525060a08401516001600160a01b03811660e08401525060c084015160e0610100840152611dae610120840182611cf8565b90508281036020840152611dc28185611cf8565b95945050505050565b602081526000611ccd6020830184611cf8565b6001600160a01b0381168114611df357600080fd5b50565b600060208284031215611e0857600080fd5b8135611ccd81611dde565b62ffffff81168114611df357600080fd5b600060208284031215611e3657600080fd5b8135611ccd81611e13565b634e487b7160e01b600052604160045260246000fd5b60405160e081016001600160401b0381118282101715611e7957611e79611e41565b60405290565b60405161014081016001600160401b0381118282101715611e7957611e79611e41565b60405161010081016001600160401b0381118282101715611e7957611e79611e41565b604051601f8201601f191681016001600160401b0381118282101715611eed57611eed611e41565b604052919050565b60006001600160401b03821115611f0e57611f0e611e41565b50601f01601f191660200190565b600080600060608486031215611f3157600080fd5b8335611f3c81611dde565b92506020840135611f4c81611dde565b915060408401356001600160401b03811115611f6757600080fd5b8401601f81018613611f7857600080fd5b8035611f8b611f8682611ef5565b611ec5565b818152876020838501011115611fa057600080fd5b816020840160208301376000602083830101528093505050509250925092565b600060208284031215611fd257600080fd5b5035919050565b60ff81168114611df357600080fd5b600060208284031215611ffa57600080fd5b8135611ccd81611fd9565b60006020828403121561201757600080fd5b8151611ccd81611e13565b600181811c9082168061203657607f821691505b60208210810361205657634e487b7160e01b600052602260045260246000fd5b50919050565b8051801515811461161557600080fd5b60006020828403121561207e57600080fd5b611ccd8261205c565b80516001600160601b038116811461161557600080fd5b6000602082840312156120b057600080fd5b611ccd82612087565b805161161581611fd9565b805161161581611dde565b600082601f8301126120e057600080fd5b81516120ee611f8682611ef5565b81815284602083860101111561210357600080fd5b612114826020830160208701611cd4565b949350505050565b600060e0828403121561212e57600080fd5b612136611e57565b905061214182612087565b815261214f60208301612087565b6020820152612160604083016120b9565b60408201526121716060830161205c565b6060820152612182608083016120c4565b608082015261219360a083016120c4565b60a082015260c08201516001600160401b038111156121b157600080fd5b6121bd848285016120cf565b60c08301525092915050565b600080604083850312156121dc57600080fd5b82516001600160401b03808211156121f357600080fd5b6121ff8683870161211c565b9350602085015191508082111561221557600080fd5b50612222858286016120cf565b9150509250929050565b60006020828403121561223e57600080fd5b81516001600160401b0381111561225457600080fd5b6121148482850161211c565b60006020828403121561227257600080fd5b8151611ccd81611dde565b60006020828403121561228f57600080fd5b5051919050565b6001600160401b0381168114611df357600080fd5b6000602082840312156122bd57600080fd5b8151611ccd81612296565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156122f057600080fd5b8151611ccd81611fd9565b60006040828403121561230d57600080fd5b604051604081018181106001600160401b038211171561232f5761232f611e41565b604052825181526020928301519281019290925250919050565b6000610200828403121561235c57600080fd5b612364611e7f565b61236d836120c4565b815261237b602084016120c4565b602082015261238c60408401612087565b604082015261239d60608401612087565b60608201526123af84608085016122fb565b60808201526123c18460c085016122fb565b60a08201526101006123d5858286016122fb565b60c08301526123e88561014086016122fb565b60e08301526123fb8561018086016122fb565b9082015261240d846101c085016122fb565b6101208201529392505050565b6001600160601b038316815281516001600160a01b03166020820152610220810160208301516001600160a01b03811660408401525060408301516001600160601b03811660608401525060608301516001600160601b0381166080840152506080830151805160a0840152602081015160c08401525060a0830151805160e084015260208101516101008401525060c08301516101206124c78185018380518252602090810151910152565b60e0850151805161016086015260209081015161018086015261010086015180516101a08701528101516101c08601529085015180516101e08601529081015161020085015290505b509392505050565b60006020828403121561252a57600080fd5b815164ffffffffff81168114611ccd57600080fd5b60008060008060008086880361026081121561255a57600080fd5b6101608082121561256a57600080fd5b612572611ea2565b915061257d89612087565b825261258b60208a016120c4565b6020830152604089015160408301526125a78a60608b016122fb565b60608301526125b98a60a08b016122fb565b60808301526125cb8a60e08b016122fb565b60a08301526125dd6101208a0161205c565b60c08301526125ef6101408a016120c4565b60e0830152819750612602818a016120c4565b9650505061261361018088016120c4565b9350612623886101a089016122fb565b9250612633886101e089016122fb565b91506126438861022089016122fb565b90509295509295509295565b6000610180820190506001600160601b0380851683528084511660208401525060018060a01b0360208401511660408301526040830151606083015260608301516126a7608084018280518252602090810151910152565b506080830151805160c0840152602081015160e08401525060a0830151805161010084015260208101516101208401525060c08301518015156101408401525060e08301516001600160a01b03811661016084015261251056fef0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a004f61291a8ac3d020d0a7d919a76b8592aa88385744dee3f8b4f3873b969ed900a264697066735822122034ef0f5c7a8e1f36dbf3d80bac3e1b37d59b93f8906505d7a2d3de1c8312579064736f6c63430008140033",
|
|
391
655
|
"linkReferences": {
|
|
392
656
|
"contracts/types/Blocknumber.sol": {
|
|
393
657
|
"BlocknumberLib": [
|
|
394
658
|
{
|
|
395
659
|
"length": 20,
|
|
396
|
-
"start":
|
|
397
|
-
},
|
|
398
|
-
{
|
|
399
|
-
"length": 20,
|
|
400
|
-
"start": 5917
|
|
660
|
+
"start": 5902
|
|
401
661
|
}
|
|
402
662
|
]
|
|
403
663
|
},
|
|
@@ -405,57 +665,79 @@
|
|
|
405
665
|
"NftIdLib": [
|
|
406
666
|
{
|
|
407
667
|
"length": 20,
|
|
408
|
-
"start":
|
|
668
|
+
"start": 4291
|
|
669
|
+
},
|
|
670
|
+
{
|
|
671
|
+
"length": 20,
|
|
672
|
+
"start": 5289
|
|
673
|
+
},
|
|
674
|
+
{
|
|
675
|
+
"length": 20,
|
|
676
|
+
"start": 5667
|
|
409
677
|
},
|
|
410
678
|
{
|
|
411
679
|
"length": 20,
|
|
412
|
-
"start":
|
|
680
|
+
"start": 6360
|
|
681
|
+
}
|
|
682
|
+
]
|
|
683
|
+
},
|
|
684
|
+
"contracts/types/RoleId.sol": {
|
|
685
|
+
"RoleIdLib": [
|
|
686
|
+
{
|
|
687
|
+
"length": 20,
|
|
688
|
+
"start": 9413
|
|
413
689
|
},
|
|
414
690
|
{
|
|
415
691
|
"length": 20,
|
|
416
|
-
"start":
|
|
692
|
+
"start": 9534
|
|
417
693
|
},
|
|
418
694
|
{
|
|
419
695
|
"length": 20,
|
|
420
|
-
"start":
|
|
696
|
+
"start": 9593
|
|
421
697
|
},
|
|
422
698
|
{
|
|
423
699
|
"length": 20,
|
|
424
|
-
"start":
|
|
700
|
+
"start": 9652
|
|
425
701
|
}
|
|
426
702
|
]
|
|
427
703
|
},
|
|
428
|
-
"contracts/types/
|
|
429
|
-
"
|
|
704
|
+
"contracts/types/Timestamp.sol": {
|
|
705
|
+
"TimestampLib": [
|
|
430
706
|
{
|
|
431
707
|
"length": 20,
|
|
432
|
-
"start":
|
|
708
|
+
"start": 8511
|
|
433
709
|
}
|
|
434
|
-
]
|
|
435
|
-
|
|
710
|
+
]
|
|
711
|
+
},
|
|
712
|
+
"contracts/types/UFixed.sol": {
|
|
713
|
+
"UFixedLib": [
|
|
436
714
|
{
|
|
437
715
|
"length": 20,
|
|
438
|
-
"start":
|
|
439
|
-
}
|
|
716
|
+
"start": 9156
|
|
717
|
+
}
|
|
718
|
+
]
|
|
719
|
+
},
|
|
720
|
+
"contracts/types/Version.sol": {
|
|
721
|
+
"VersionLib": [
|
|
440
722
|
{
|
|
441
723
|
"length": 20,
|
|
442
|
-
"start":
|
|
724
|
+
"start": 638
|
|
443
725
|
},
|
|
444
726
|
{
|
|
445
727
|
"length": 20,
|
|
446
|
-
"start":
|
|
728
|
+
"start": 1153
|
|
447
729
|
},
|
|
448
730
|
{
|
|
449
731
|
"length": 20,
|
|
450
|
-
"start":
|
|
732
|
+
"start": 3766
|
|
451
733
|
},
|
|
452
734
|
{
|
|
453
735
|
"length": 20,
|
|
454
|
-
"start":
|
|
736
|
+
"start": 6600
|
|
455
737
|
},
|
|
456
738
|
{
|
|
457
739
|
"length": 20,
|
|
458
|
-
"start":
|
|
740
|
+
"start": 7601
|
|
459
741
|
}
|
|
460
742
|
]
|
|
461
743
|
}
|
|
@@ -465,7 +747,7 @@
|
|
|
465
747
|
"BlocknumberLib": [
|
|
466
748
|
{
|
|
467
749
|
"length": 20,
|
|
468
|
-
"start":
|
|
750
|
+
"start": 3490
|
|
469
751
|
}
|
|
470
752
|
]
|
|
471
753
|
},
|
|
@@ -473,45 +755,71 @@
|
|
|
473
755
|
"NftIdLib": [
|
|
474
756
|
{
|
|
475
757
|
"length": 20,
|
|
476
|
-
"start":
|
|
758
|
+
"start": 1879
|
|
477
759
|
},
|
|
478
760
|
{
|
|
479
761
|
"length": 20,
|
|
480
|
-
"start":
|
|
762
|
+
"start": 2877
|
|
481
763
|
},
|
|
482
764
|
{
|
|
483
765
|
"length": 20,
|
|
484
|
-
"start":
|
|
766
|
+
"start": 3255
|
|
485
767
|
},
|
|
486
768
|
{
|
|
487
769
|
"length": 20,
|
|
488
|
-
"start":
|
|
770
|
+
"start": 3948
|
|
771
|
+
}
|
|
772
|
+
]
|
|
773
|
+
},
|
|
774
|
+
"contracts/types/RoleId.sol": {
|
|
775
|
+
"RoleIdLib": [
|
|
776
|
+
{
|
|
777
|
+
"length": 20,
|
|
778
|
+
"start": 7001
|
|
779
|
+
},
|
|
780
|
+
{
|
|
781
|
+
"length": 20,
|
|
782
|
+
"start": 7122
|
|
783
|
+
},
|
|
784
|
+
{
|
|
785
|
+
"length": 20,
|
|
786
|
+
"start": 7181
|
|
489
787
|
},
|
|
490
788
|
{
|
|
491
789
|
"length": 20,
|
|
492
|
-
"start":
|
|
790
|
+
"start": 7240
|
|
493
791
|
}
|
|
494
792
|
]
|
|
495
793
|
},
|
|
496
|
-
"contracts/types/
|
|
497
|
-
"
|
|
794
|
+
"contracts/types/Timestamp.sol": {
|
|
795
|
+
"TimestampLib": [
|
|
498
796
|
{
|
|
499
797
|
"length": 20,
|
|
500
|
-
"start":
|
|
798
|
+
"start": 6099
|
|
501
799
|
}
|
|
502
|
-
]
|
|
503
|
-
|
|
800
|
+
]
|
|
801
|
+
},
|
|
802
|
+
"contracts/types/UFixed.sol": {
|
|
803
|
+
"UFixedLib": [
|
|
804
|
+
{
|
|
805
|
+
"length": 20,
|
|
806
|
+
"start": 6744
|
|
807
|
+
}
|
|
808
|
+
]
|
|
809
|
+
},
|
|
810
|
+
"contracts/types/Version.sol": {
|
|
811
|
+
"VersionLib": [
|
|
504
812
|
{
|
|
505
813
|
"length": 20,
|
|
506
|
-
"start":
|
|
814
|
+
"start": 1354
|
|
507
815
|
},
|
|
508
816
|
{
|
|
509
817
|
"length": 20,
|
|
510
|
-
"start":
|
|
818
|
+
"start": 4188
|
|
511
819
|
},
|
|
512
820
|
{
|
|
513
821
|
"length": 20,
|
|
514
|
-
"start":
|
|
822
|
+
"start": 5189
|
|
515
823
|
}
|
|
516
824
|
]
|
|
517
825
|
}
|