@etherisc/gif-next 0.0.2-f5a74cc-201 → 0.0.2-f626d92-602
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 +8 -13
- package/artifacts/contracts/components/Component.sol/Component.dbg.json +4 -0
- package/artifacts/contracts/components/Component.sol/Component.json +842 -0
- package/artifacts/contracts/components/Distribution.sol/Distribution.dbg.json +1 -1
- package/artifacts/contracts/components/Distribution.sol/Distribution.json +753 -168
- package/artifacts/contracts/components/IComponent.sol/IComponent.dbg.json +4 -0
- package/artifacts/contracts/components/{BaseComponent.sol/BaseComponent.json → IComponent.sol/IComponent.json} +233 -81
- package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
- package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.json +848 -31
- package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
- package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.json +846 -57
- package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +1 -1
- package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.json +682 -9
- package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +1 -1
- package/artifacts/contracts/components/Pool.sol/Pool.json +695 -258
- package/artifacts/contracts/components/Product.sol/Product.dbg.json +1 -1
- package/artifacts/contracts/components/Product.sol/Product.json +529 -217
- package/artifacts/contracts/instance/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.dbg.json +1 -1
- package/artifacts/contracts/instance/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.json +15 -15
- package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +1 -1
- package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +69 -66
- package/artifacts/contracts/instance/Cloneable.sol/Cloneable.dbg.json +1 -1
- package/artifacts/contracts/instance/Cloneable.sol/Cloneable.json +5 -0
- package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.json +1063 -394
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +315 -167
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +937 -1191
- package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +583 -193
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +137 -270
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +482 -286
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +328 -99
- package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.dbg.json +1 -1
- package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.json +11 -27
- package/artifacts/contracts/instance/base/ComponentService.sol/ComponentService.dbg.json +4 -0
- package/artifacts/contracts/instance/base/{ComponentServiceBase.sol/ComponentServiceBase.json → ComponentService.sol/ComponentService.json} +247 -180
- package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +1 -1
- package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
- package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +40 -10
- package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +1 -1
- package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +36 -11
- package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +71 -45
- package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +4 -0
- package/artifacts/contracts/instance/module/IComponents.sol/IComponents.json +10 -0
- package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
- package/artifacts/contracts/instance/module/ISetup.sol/ISetup.dbg.json +1 -1
- package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.dbg.json +1 -1
- package/artifacts/contracts/instance/service/ApplicationService.sol/ApplicationService.dbg.json +4 -0
- package/artifacts/contracts/instance/service/ApplicationService.sol/ApplicationService.json +1039 -0
- package/artifacts/contracts/instance/service/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +4 -0
- package/artifacts/contracts/instance/service/ApplicationServiceManager.sol/ApplicationServiceManager.json +673 -0
- package/artifacts/contracts/instance/service/BundleService.sol/BundleService.dbg.json +4 -0
- package/artifacts/contracts/instance/service/BundleService.sol/BundleService.json +1231 -0
- package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.dbg.json +4 -0
- package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.json +721 -0
- package/artifacts/contracts/instance/service/ClaimService.sol/ClaimService.dbg.json +4 -0
- package/artifacts/contracts/instance/service/ClaimService.sol/ClaimService.json +817 -0
- package/artifacts/contracts/instance/service/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +4 -0
- package/artifacts/contracts/instance/service/ClaimServiceManager.sol/ClaimServiceManager.json +641 -0
- package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.dbg.json +1 -1
- package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.json +1341 -259
- package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.json +440 -79
- package/artifacts/contracts/instance/service/IApplicationService.sol/IApplicationService.dbg.json +4 -0
- package/artifacts/contracts/instance/service/IApplicationService.sol/IApplicationService.json +622 -0
- package/artifacts/contracts/instance/service/IBundleService.sol/IBundleService.dbg.json +4 -0
- package/artifacts/contracts/instance/service/IBundleService.sol/IBundleService.json +659 -0
- package/artifacts/contracts/instance/service/IClaimService.sol/IClaimService.dbg.json +4 -0
- package/artifacts/contracts/instance/service/{IComponentOwnerService.sol/IComponentOwnerService.json → IClaimService.sol/IClaimService.json} +217 -208
- package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.dbg.json +1 -1
- package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.json +804 -160
- package/artifacts/contracts/instance/service/IPolicyService.sol/IPolicyService.dbg.json +4 -0
- package/artifacts/contracts/{shared/RegisterableUpgradable.sol/RegisterableUpgradable.json → instance/service/IPolicyService.sol/IPolicyService.json} +328 -164
- package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +1 -1
- package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.json +429 -313
- package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +1 -1
- package/artifacts/contracts/instance/service/IProductService.sol/IProductService.json +78 -388
- package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.dbg.json +4 -0
- package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.json +1092 -0
- package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +4 -0
- package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.json +697 -0
- package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +1 -1
- package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +614 -426
- package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.json +302 -105
- package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +1 -1
- package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +257 -564
- package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.json +289 -124
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +15 -2
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +244 -133
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +149 -230
- package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
- package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +18 -0
- package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
- package/artifacts/contracts/registry/Registry.sol/Registry.json +257 -235
- package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.dbg.json +4 -0
- package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.json +285 -0
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +200 -335
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +298 -145
- package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +4 -0
- package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +559 -0
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +141 -53
- package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.dbg.json +1 -1
- package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +1 -1
- package/artifacts/contracts/shared/ERC165.sol/ERC165.json +41 -3
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +40 -29
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +4 -0
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +129 -0
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +21 -34
- package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +4 -0
- package/artifacts/contracts/{experiment/inheritance/IB.sol/IB.json → shared/IRegistryLinked.sol/IRegistryLinked.json} +18 -20
- package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
- package/artifacts/contracts/shared/IService.sol/IService.json +86 -172
- package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +1 -1
- package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +2 -152
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +120 -27
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +4 -0
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +248 -0
- package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +294 -61
- package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
- package/artifacts/contracts/shared/Registerable.sol/Registerable.json +129 -51
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +4 -0
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +84 -0
- package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
- package/artifacts/contracts/shared/Service.sol/Service.json +191 -163
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +2 -2
- package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
- package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +2 -2
- package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +1 -1
- package/artifacts/contracts/shared/Versionable.sol/Versionable.json +2 -152
- package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +1 -1
- package/artifacts/contracts/test/TestFee.sol/TestFee.json +2 -2
- package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +1 -1
- package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +129 -51
- package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +1 -1
- package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +6 -6
- package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +1 -1
- package/artifacts/contracts/test/TestService.sol/TestService.json +210 -214
- package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +1 -1
- package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +1 -1
- package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +2 -2
- package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +1 -1
- package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +8 -190
- package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +1 -1
- package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +1 -1
- package/artifacts/contracts/types/Amount.sol/AmountLib.dbg.json +4 -0
- package/artifacts/contracts/types/Amount.sol/AmountLib.json +161 -0
- 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/ClaimId.sol/ClaimIdLib.dbg.json +4 -0
- package/artifacts/contracts/types/ClaimId.sol/ClaimIdLib.json +100 -0
- package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
- package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.json +2 -2
- package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +1 -1
- package/artifacts/contracts/types/Fee.sol/FeeLib.json +40 -9
- package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +1 -1
- package/artifacts/contracts/types/Key32.sol/Key32Lib.json +2 -2
- package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +1 -1
- package/artifacts/contracts/types/NftId.sol/NftIdLib.json +17 -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 +1 -1
- 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/PayoutId.sol/PayoutIdLib.dbg.json +4 -0
- package/artifacts/contracts/types/PayoutId.sol/PayoutIdLib.json +100 -0
- package/artifacts/contracts/types/Referral.sol/ReferralLib.dbg.json +1 -1
- package/artifacts/contracts/types/Referral.sol/ReferralLib.json +23 -4
- package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +1 -1
- package/artifacts/contracts/types/RiskId.sol/RiskIdLib.json +2 -2
- package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +1 -1
- package/artifacts/contracts/types/RoleId.sol/RoleIdLib.json +2 -2
- package/artifacts/contracts/types/Seconds.sol/SecondsLib.dbg.json +4 -0
- package/artifacts/contracts/types/Seconds.sol/SecondsLib.json +124 -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 +25 -7
- package/artifacts/contracts/types/UFixed.sol/MathLib.dbg.json +1 -1
- package/artifacts/contracts/types/UFixed.sol/MathLib.json +2 -2
- package/artifacts/contracts/types/UFixed.sol/UFixedLib.dbg.json +1 -1
- package/artifacts/contracts/types/UFixed.sol/UFixedLib.json +2 -2
- package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +1 -1
- package/artifacts/contracts/types/Version.sol/VersionLib.json +2 -2
- package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +1 -1
- package/artifacts/contracts/types/Version.sol/VersionPartLib.json +2 -2
- package/contracts/components/Component.sol +253 -0
- package/contracts/components/Distribution.sol +200 -83
- package/contracts/components/IComponent.sol +76 -0
- package/contracts/components/IDistributionComponent.sol +44 -17
- package/contracts/components/IPoolComponent.sol +88 -41
- package/contracts/components/IProductComponent.sol +10 -5
- package/contracts/components/Pool.sol +218 -182
- package/contracts/components/Product.sol +125 -121
- package/contracts/instance/AccessManagerUpgradeableInitializeable.sol +2 -12
- package/contracts/instance/BundleManager.sol +14 -16
- package/contracts/instance/Cloneable.sol +7 -2
- package/contracts/instance/IInstance.sol +56 -14
- package/contracts/instance/IInstanceService.sol +43 -3
- package/contracts/instance/Instance.sol +133 -261
- package/contracts/instance/InstanceAccessManager.sol +414 -175
- package/contracts/instance/InstanceReader.sol +10 -34
- package/contracts/instance/InstanceService.sol +400 -144
- package/contracts/instance/InstanceServiceManager.sol +6 -9
- package/contracts/instance/ObjectManager.sol +11 -24
- package/contracts/instance/base/ComponentService.sol +121 -0
- package/contracts/instance/base/KeyValueStore.sol +13 -5
- package/contracts/instance/base/Lifecycle.sol +11 -2
- package/contracts/instance/module/IAccess.sol +36 -20
- package/contracts/instance/module/IBundle.sol +8 -5
- package/contracts/instance/module/IComponents.sol +41 -0
- package/contracts/instance/module/IDistribution.sol +2 -0
- package/contracts/instance/module/IPolicy.sol +30 -3
- package/contracts/instance/module/ISetup.sol +7 -20
- package/contracts/instance/service/ApplicationService.sol +350 -0
- package/contracts/instance/service/ApplicationServiceManager.sol +35 -0
- package/contracts/instance/service/BundleService.sol +431 -0
- package/contracts/instance/service/BundleServiceManager.sol +51 -0
- package/contracts/instance/service/ClaimService.sol +151 -0
- package/contracts/instance/service/ClaimServiceManager.sol +35 -0
- package/contracts/instance/service/DistributionService.sol +378 -31
- package/contracts/instance/service/DistributionServiceManager.sol +7 -10
- package/contracts/instance/service/IApplicationService.sol +82 -0
- package/contracts/instance/service/IBundleService.sol +93 -0
- package/contracts/instance/service/IClaimService.sol +61 -0
- package/contracts/instance/service/IDistributionService.sol +87 -0
- package/contracts/instance/service/IPolicyService.sol +72 -0
- package/contracts/instance/service/IPoolService.sol +73 -25
- package/contracts/instance/service/IProductService.sol +2 -72
- package/contracts/instance/service/PolicyService.sol +362 -0
- package/contracts/instance/service/PolicyServiceManager.sol +54 -0
- package/contracts/instance/service/PoolService.sol +203 -187
- package/contracts/instance/service/PoolServiceManager.sol +6 -9
- package/contracts/instance/service/ProductService.sol +104 -464
- package/contracts/instance/service/ProductServiceManager.sol +2 -2
- package/contracts/registry/ChainNft.sol +9 -1
- package/contracts/registry/IRegistry.sol +39 -19
- package/contracts/registry/IRegistryService.sol +31 -13
- package/contracts/registry/ITransferInterceptor.sol +1 -0
- package/contracts/registry/Registry.sol +243 -224
- package/contracts/registry/RegistryAccessManager.sol +216 -0
- package/contracts/registry/RegistryService.sol +97 -173
- package/contracts/registry/RegistryServiceManager.sol +21 -39
- package/contracts/registry/ReleaseManager.sol +324 -0
- package/contracts/registry/TokenRegistry.sol +22 -17
- package/contracts/shared/ERC165.sol +14 -12
- package/contracts/shared/INftOwnable.sol +11 -10
- package/contracts/shared/IPolicyHolder.sol +26 -0
- package/contracts/shared/IRegisterable.sol +4 -6
- package/contracts/shared/IRegistryLinked.sol +12 -0
- package/contracts/shared/IService.sol +5 -4
- package/contracts/shared/IVersionable.sol +4 -47
- package/contracts/shared/NftOwnable.sol +66 -80
- package/contracts/shared/PolicyHolder.sol +81 -0
- package/contracts/shared/ProxyManager.sol +100 -25
- package/contracts/shared/Registerable.sol +16 -32
- package/contracts/shared/RegistryLinked.sol +48 -0
- package/contracts/shared/Service.sol +41 -24
- package/contracts/shared/TokenHandler.sol +11 -5
- package/contracts/shared/Versionable.sol +4 -92
- package/contracts/test/TestRegisterable.sol +1 -1
- package/contracts/test/TestService.sol +4 -3
- package/contracts/types/Amount.sol +60 -0
- package/contracts/types/Blocknumber.sol +1 -0
- package/contracts/types/ClaimId.sol +52 -0
- package/contracts/types/DistributorType.sol +2 -2
- package/contracts/types/Fee.sol +13 -5
- package/contracts/types/NftId.sol +8 -0
- package/contracts/types/ObjectType.sol +10 -5
- package/contracts/types/PayoutId.sol +54 -0
- package/contracts/types/Referral.sol +4 -0
- package/contracts/types/RoleId.sol +26 -19
- package/contracts/types/Seconds.sol +54 -0
- package/contracts/types/StateId.sol +1 -0
- package/contracts/types/Timestamp.sol +13 -13
- package/contracts/types/UFixed.sol +1 -0
- package/contracts/types/Version.sol +1 -0
- package/package.json +3 -3
- package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.dbg.json +0 -4
- package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.dbg.json +0 -4
- package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.json +0 -368
- package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.dbg.json +0 -4
- package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.json +0 -66
- package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.dbg.json +0 -4
- package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.json +0 -24
- package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.dbg.json +0 -4
- package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.json +0 -42
- package/artifacts/contracts/experiment/errors/Require.sol/Require.dbg.json +0 -4
- package/artifacts/contracts/experiment/errors/Require.sol/Require.json +0 -105
- package/artifacts/contracts/experiment/errors/Revert.sol/Revert.dbg.json +0 -4
- package/artifacts/contracts/experiment/errors/Revert.sol/Revert.json +0 -105
- package/artifacts/contracts/experiment/inheritance/A.sol/A.dbg.json +0 -4
- package/artifacts/contracts/experiment/inheritance/A.sol/A.json +0 -128
- package/artifacts/contracts/experiment/inheritance/A.sol/AShared.dbg.json +0 -4
- package/artifacts/contracts/experiment/inheritance/A.sol/AShared.json +0 -42
- package/artifacts/contracts/experiment/inheritance/B.sol/B.dbg.json +0 -4
- package/artifacts/contracts/experiment/inheritance/B.sol/B.json +0 -76
- package/artifacts/contracts/experiment/inheritance/C.sol/C.dbg.json +0 -4
- package/artifacts/contracts/experiment/inheritance/C.sol/C.json +0 -89
- package/artifacts/contracts/experiment/inheritance/IA.sol/IA.dbg.json +0 -4
- package/artifacts/contracts/experiment/inheritance/IA.sol/IA.json +0 -128
- package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.dbg.json +0 -4
- package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.json +0 -37
- package/artifacts/contracts/experiment/inheritance/IB.sol/IB.dbg.json +0 -4
- package/artifacts/contracts/experiment/inheritance/IC.sol/IC.dbg.json +0 -4
- package/artifacts/contracts/experiment/inheritance/IC.sol/IC.json +0 -63
- package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.dbg.json +0 -4
- package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.json +0 -59
- package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.dbg.json +0 -4
- package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.json +0 -124
- package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.dbg.json +0 -4
- package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.json +0 -74
- package/artifacts/contracts/experiment/statemachine/SM.sol/SM.dbg.json +0 -4
- package/artifacts/contracts/experiment/statemachine/SM.sol/SM.json +0 -124
- package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.dbg.json +0 -4
- package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.json +0 -207
- package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.dbg.json +0 -4
- package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.json +0 -10
- package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.dbg.json +0 -4
- package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.json +0 -10
- package/artifacts/contracts/instance/IAccessManagerSimple.sol/IAccessManagerSimple.dbg.json +0 -4
- package/artifacts/contracts/instance/IAccessManagerSimple.sol/IAccessManagerSimple.json +0 -1082
- package/artifacts/contracts/instance/IInstanceBase.sol/IInstanceBase.dbg.json +0 -4
- package/artifacts/contracts/instance/IInstanceBase.sol/IInstanceBase.json +0 -448
- package/artifacts/contracts/instance/InstanceBase.sol/InstanceBase.dbg.json +0 -4
- package/artifacts/contracts/instance/InstanceBase.sol/InstanceBase.json +0 -763
- package/artifacts/contracts/instance/base/ComponentServiceBase.sol/ComponentServiceBase.dbg.json +0 -4
- package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.dbg.json +0 -4
- package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.json +0 -113
- package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.json +0 -827
- package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.dbg.json +0 -4
- package/artifacts/contracts/shared/RegisterableUpgradable.sol/RegisterableUpgradable.dbg.json +0 -4
- package/contracts/components/BaseComponent.sol +0 -132
- package/contracts/components/IBaseComponent.sol +0 -31
- package/contracts/experiment/cloning/Cloner.sol +0 -47
- package/contracts/experiment/errors/Require.sol +0 -38
- package/contracts/experiment/errors/Revert.sol +0 -44
- package/contracts/experiment/inheritance/A.sol +0 -53
- package/contracts/experiment/inheritance/B.sol +0 -28
- package/contracts/experiment/inheritance/C.sol +0 -34
- package/contracts/experiment/inheritance/IA.sol +0 -13
- package/contracts/experiment/inheritance/IB.sol +0 -10
- package/contracts/experiment/inheritance/IC.sol +0 -12
- package/contracts/experiment/statemachine/Dummy.sol +0 -27
- package/contracts/experiment/statemachine/ISM.sol +0 -25
- package/contracts/experiment/statemachine/SM.sol +0 -57
- package/contracts/experiment/statemachine/SimpleStateMachine.sol +0 -31
- package/contracts/experiment/types/TypeA.sol +0 -47
- package/contracts/experiment/types/TypeB.sol +0 -29
- package/contracts/instance/IAccessManagerSimple.sol +0 -391
- package/contracts/instance/IInstanceBase.sol +0 -26
- package/contracts/instance/InstanceBase.sol +0 -41
- package/contracts/instance/base/ComponentServiceBase.sol +0 -134
- package/contracts/instance/base/IInstanceBase.sol +0 -23
- package/contracts/instance/service/ComponentOwnerService.sol +0 -317
- package/contracts/instance/service/IComponentOwnerService.sol +0 -20
- package/contracts/shared/RegisterableUpgradable.sol +0 -16
| @@ -28,81 +28,87 @@ | |
| 28 28 | 
             
                  "inputs": [
         | 
| 29 29 | 
             
                    {
         | 
| 30 30 | 
             
                      "internalType": "address",
         | 
| 31 | 
            -
                      "name": " | 
| 31 | 
            +
                      "name": "authority",
         | 
| 32 32 | 
             
                      "type": "address"
         | 
| 33 | 
            -
                    },
         | 
| 34 | 
            -
                    {
         | 
| 35 | 
            -
                      "internalType": "NftId",
         | 
| 36 | 
            -
                      "name": "nftId",
         | 
| 37 | 
            -
                      "type": "uint96"
         | 
| 38 33 | 
             
                    }
         | 
| 39 34 | 
             
                  ],
         | 
| 40 | 
            -
                  "name": " | 
| 35 | 
            +
                  "name": "AccessManagedInvalidAuthority",
         | 
| 41 36 | 
             
                  "type": "error"
         | 
| 42 37 | 
             
                },
         | 
| 43 38 | 
             
                {
         | 
| 44 39 | 
             
                  "inputs": [
         | 
| 45 40 | 
             
                    {
         | 
| 46 41 | 
             
                      "internalType": "address",
         | 
| 47 | 
            -
                      "name": " | 
| 42 | 
            +
                      "name": "caller",
         | 
| 48 43 | 
             
                      "type": "address"
         | 
| 44 | 
            +
                    },
         | 
| 45 | 
            +
                    {
         | 
| 46 | 
            +
                      "internalType": "uint32",
         | 
| 47 | 
            +
                      "name": "delay",
         | 
| 48 | 
            +
                      "type": "uint32"
         | 
| 49 49 | 
             
                    }
         | 
| 50 50 | 
             
                  ],
         | 
| 51 | 
            -
                  "name": " | 
| 51 | 
            +
                  "name": "AccessManagedRequiredDelay",
         | 
| 52 52 | 
             
                  "type": "error"
         | 
| 53 53 | 
             
                },
         | 
| 54 54 | 
             
                {
         | 
| 55 55 | 
             
                  "inputs": [
         | 
| 56 56 | 
             
                    {
         | 
| 57 57 | 
             
                      "internalType": "address",
         | 
| 58 | 
            -
                      "name": " | 
| 58 | 
            +
                      "name": "caller",
         | 
| 59 59 | 
             
                      "type": "address"
         | 
| 60 60 | 
             
                    }
         | 
| 61 61 | 
             
                  ],
         | 
| 62 | 
            -
                  "name": " | 
| 62 | 
            +
                  "name": "AccessManagedUnauthorized",
         | 
| 63 63 | 
             
                  "type": "error"
         | 
| 64 64 | 
             
                },
         | 
| 65 65 | 
             
                {
         | 
| 66 66 | 
             
                  "inputs": [
         | 
| 67 67 | 
             
                    {
         | 
| 68 | 
            -
                      "internalType": " | 
| 69 | 
            -
                      "name": " | 
| 70 | 
            -
                      "type": " | 
| 68 | 
            +
                      "internalType": "NftId",
         | 
| 69 | 
            +
                      "name": "nftId",
         | 
| 70 | 
            +
                      "type": "uint96"
         | 
| 71 71 | 
             
                    }
         | 
| 72 72 | 
             
                  ],
         | 
| 73 | 
            -
                  "name": " | 
| 73 | 
            +
                  "name": "ErrorNftOwnableAlreadyLinked",
         | 
| 74 74 | 
             
                  "type": "error"
         | 
| 75 75 | 
             
                },
         | 
| 76 76 | 
             
                {
         | 
| 77 77 | 
             
                  "inputs": [
         | 
| 78 78 | 
             
                    {
         | 
| 79 79 | 
             
                      "internalType": "address",
         | 
| 80 | 
            -
                      "name": " | 
| 80 | 
            +
                      "name": "contractAddress",
         | 
| 81 81 | 
             
                      "type": "address"
         | 
| 82 82 | 
             
                    }
         | 
| 83 83 | 
             
                  ],
         | 
| 84 | 
            -
                  "name": " | 
| 84 | 
            +
                  "name": "ErrorNftOwnableContractNotRegistered",
         | 
| 85 85 | 
             
                  "type": "error"
         | 
| 86 86 | 
             
                },
         | 
| 87 87 | 
             
                {
         | 
| 88 88 | 
             
                  "inputs": [],
         | 
| 89 | 
            -
                  "name": " | 
| 89 | 
            +
                  "name": "ErrorNftOwnableInitialOwnerZero",
         | 
| 90 90 | 
             
                  "type": "error"
         | 
| 91 91 | 
             
                },
         | 
| 92 92 | 
             
                {
         | 
| 93 93 | 
             
                  "inputs": [
         | 
| 94 94 | 
             
                    {
         | 
| 95 95 | 
             
                      "internalType": "address",
         | 
| 96 | 
            -
                      "name": " | 
| 96 | 
            +
                      "name": "account",
         | 
| 97 97 | 
             
                      "type": "address"
         | 
| 98 98 | 
             
                    }
         | 
| 99 99 | 
             
                  ],
         | 
| 100 | 
            -
                  "name": " | 
| 100 | 
            +
                  "name": "ErrorNftOwnableNotOwner",
         | 
| 101 101 | 
             
                  "type": "error"
         | 
| 102 102 | 
             
                },
         | 
| 103 103 | 
             
                {
         | 
| 104 | 
            -
                  "inputs": [ | 
| 105 | 
            -
             | 
| 104 | 
            +
                  "inputs": [
         | 
| 105 | 
            +
                    {
         | 
| 106 | 
            +
                      "internalType": "address",
         | 
| 107 | 
            +
                      "name": "registryAddress",
         | 
| 108 | 
            +
                      "type": "address"
         | 
| 109 | 
            +
                    }
         | 
| 110 | 
            +
                  ],
         | 
| 111 | 
            +
                  "name": "ErrorNotRegistry",
         | 
| 106 112 | 
             
                  "type": "error"
         | 
| 107 113 | 
             
                },
         | 
| 108 114 | 
             
                {
         | 
| @@ -120,12 +126,12 @@ | |
| 120 126 | 
             
                  "inputs": [
         | 
| 121 127 | 
             
                    {
         | 
| 122 128 | 
             
                      "indexed": false,
         | 
| 123 | 
            -
                      "internalType": " | 
| 124 | 
            -
                      "name": " | 
| 125 | 
            -
                      "type": " | 
| 129 | 
            +
                      "internalType": "address",
         | 
| 130 | 
            +
                      "name": "authority",
         | 
| 131 | 
            +
                      "type": "address"
         | 
| 126 132 | 
             
                    }
         | 
| 127 133 | 
             
                  ],
         | 
| 128 | 
            -
                  "name": " | 
| 134 | 
            +
                  "name": "AuthorityUpdated",
         | 
| 129 135 | 
             
                  "type": "event"
         | 
| 130 136 | 
             
                },
         | 
| 131 137 | 
             
                {
         | 
| @@ -133,24 +139,12 @@ | |
| 133 139 | 
             
                  "inputs": [
         | 
| 134 140 | 
             
                    {
         | 
| 135 141 | 
             
                      "indexed": false,
         | 
| 136 | 
            -
                      "internalType": " | 
| 142 | 
            +
                      "internalType": "uint64",
         | 
| 137 143 | 
             
                      "name": "version",
         | 
| 138 | 
            -
                      "type": " | 
| 139 | 
            -
                    },
         | 
| 140 | 
            -
                    {
         | 
| 141 | 
            -
                      "indexed": false,
         | 
| 142 | 
            -
                      "internalType": "address",
         | 
| 143 | 
            -
                      "name": "implementation",
         | 
| 144 | 
            -
                      "type": "address"
         | 
| 145 | 
            -
                    },
         | 
| 146 | 
            -
                    {
         | 
| 147 | 
            -
                      "indexed": false,
         | 
| 148 | 
            -
                      "internalType": "address",
         | 
| 149 | 
            -
                      "name": "activatedBy",
         | 
| 150 | 
            -
                      "type": "address"
         | 
| 144 | 
            +
                      "type": "uint64"
         | 
| 151 145 | 
             
                    }
         | 
| 152 146 | 
             
                  ],
         | 
| 153 | 
            -
                  "name": " | 
| 147 | 
            +
                  "name": "Initialized",
         | 
| 154 148 | 
             
                  "type": "event"
         | 
| 155 149 | 
             
                },
         | 
| 156 150 | 
             
                {
         | 
| @@ -166,6 +160,19 @@ | |
| 166 160 | 
             
                  "stateMutability": "view",
         | 
| 167 161 | 
             
                  "type": "function"
         | 
| 168 162 | 
             
                },
         | 
| 163 | 
            +
                {
         | 
| 164 | 
            +
                  "inputs": [],
         | 
| 165 | 
            +
                  "name": "NFT_OWNABLE_STORAGE_LOCATION_V1",
         | 
| 166 | 
            +
                  "outputs": [
         | 
| 167 | 
            +
                    {
         | 
| 168 | 
            +
                      "internalType": "bytes32",
         | 
| 169 | 
            +
                      "name": "",
         | 
| 170 | 
            +
                      "type": "bytes32"
         | 
| 171 | 
            +
                    }
         | 
| 172 | 
            +
                  ],
         | 
| 173 | 
            +
                  "stateMutability": "view",
         | 
| 174 | 
            +
                  "type": "function"
         | 
| 175 | 
            +
                },
         | 
| 169 176 | 
             
                {
         | 
| 170 177 | 
             
                  "inputs": [],
         | 
| 171 178 | 
             
                  "name": "REGISTERABLE_LOCATION_V1",
         | 
| @@ -179,6 +186,32 @@ | |
| 179 186 | 
             
                  "stateMutability": "view",
         | 
| 180 187 | 
             
                  "type": "function"
         | 
| 181 188 | 
             
                },
         | 
| 189 | 
            +
                {
         | 
| 190 | 
            +
                  "inputs": [],
         | 
| 191 | 
            +
                  "name": "authority",
         | 
| 192 | 
            +
                  "outputs": [
         | 
| 193 | 
            +
                    {
         | 
| 194 | 
            +
                      "internalType": "address",
         | 
| 195 | 
            +
                      "name": "",
         | 
| 196 | 
            +
                      "type": "address"
         | 
| 197 | 
            +
                    }
         | 
| 198 | 
            +
                  ],
         | 
| 199 | 
            +
                  "stateMutability": "view",
         | 
| 200 | 
            +
                  "type": "function"
         | 
| 201 | 
            +
                },
         | 
| 202 | 
            +
                {
         | 
| 203 | 
            +
                  "inputs": [],
         | 
| 204 | 
            +
                  "name": "getDomain",
         | 
| 205 | 
            +
                  "outputs": [
         | 
| 206 | 
            +
                    {
         | 
| 207 | 
            +
                      "internalType": "ObjectType",
         | 
| 208 | 
            +
                      "name": "",
         | 
| 209 | 
            +
                      "type": "uint8"
         | 
| 210 | 
            +
                    }
         | 
| 211 | 
            +
                  ],
         | 
| 212 | 
            +
                  "stateMutability": "pure",
         | 
| 213 | 
            +
                  "type": "function"
         | 
| 214 | 
            +
                },
         | 
| 182 215 | 
             
                {
         | 
| 183 216 | 
             
                  "inputs": [],
         | 
| 184 217 | 
             
                  "name": "getInitialInfo",
         | 
| @@ -222,57 +255,13 @@ | |
| 222 255 | 
             
                        }
         | 
| 223 256 | 
             
                      ],
         | 
| 224 257 | 
             
                      "internalType": "struct IRegistry.ObjectInfo",
         | 
| 225 | 
            -
                      "name": "",
         | 
| 258 | 
            +
                      "name": "info",
         | 
| 226 259 | 
             
                      "type": "tuple"
         | 
| 227 | 
            -
                    },
         | 
| 228 | 
            -
                    {
         | 
| 229 | 
            -
                      "internalType": "bytes",
         | 
| 230 | 
            -
                      "name": "data",
         | 
| 231 | 
            -
                      "type": "bytes"
         | 
| 232 | 
            -
                    }
         | 
| 233 | 
            -
                  ],
         | 
| 234 | 
            -
                  "stateMutability": "view",
         | 
| 235 | 
            -
                  "type": "function"
         | 
| 236 | 
            -
                },
         | 
| 237 | 
            -
                {
         | 
| 238 | 
            -
                  "inputs": [],
         | 
| 239 | 
            -
                  "name": "getInitializedVersion",
         | 
| 240 | 
            -
                  "outputs": [
         | 
| 241 | 
            -
                    {
         | 
| 242 | 
            -
                      "internalType": "uint64",
         | 
| 243 | 
            -
                      "name": "",
         | 
| 244 | 
            -
                      "type": "uint64"
         | 
| 245 | 
            -
                    }
         | 
| 246 | 
            -
                  ],
         | 
| 247 | 
            -
                  "stateMutability": "view",
         | 
| 248 | 
            -
                  "type": "function"
         | 
| 249 | 
            -
                },
         | 
| 250 | 
            -
                {
         | 
| 251 | 
            -
                  "inputs": [],
         | 
| 252 | 
            -
                  "name": "getMajorVersion",
         | 
| 253 | 
            -
                  "outputs": [
         | 
| 254 | 
            -
                    {
         | 
| 255 | 
            -
                      "internalType": "VersionPart",
         | 
| 256 | 
            -
                      "name": "majorVersion",
         | 
| 257 | 
            -
                      "type": "uint8"
         | 
| 258 260 | 
             
                    }
         | 
| 259 261 | 
             
                  ],
         | 
| 260 262 | 
             
                  "stateMutability": "view",
         | 
| 261 263 | 
             
                  "type": "function"
         | 
| 262 264 | 
             
                },
         | 
| 263 | 
            -
                {
         | 
| 264 | 
            -
                  "inputs": [],
         | 
| 265 | 
            -
                  "name": "getName",
         | 
| 266 | 
            -
                  "outputs": [
         | 
| 267 | 
            -
                    {
         | 
| 268 | 
            -
                      "internalType": "string",
         | 
| 269 | 
            -
                      "name": "name",
         | 
| 270 | 
            -
                      "type": "string"
         | 
| 271 | 
            -
                    }
         | 
| 272 | 
            -
                  ],
         | 
| 273 | 
            -
                  "stateMutability": "pure",
         | 
| 274 | 
            -
                  "type": "function"
         | 
| 275 | 
            -
                },
         | 
| 276 265 | 
             
                {
         | 
| 277 266 | 
             
                  "inputs": [],
         | 
| 278 267 | 
             
                  "name": "getNftId",
         | 
| @@ -314,25 +303,19 @@ | |
| 314 303 | 
             
                },
         | 
| 315 304 | 
             
                {
         | 
| 316 305 | 
             
                  "inputs": [],
         | 
| 317 | 
            -
                  "name": " | 
| 306 | 
            +
                  "name": "getRegistryAddress",
         | 
| 318 307 | 
             
                  "outputs": [
         | 
| 319 308 | 
             
                    {
         | 
| 320 | 
            -
                      "internalType": " | 
| 309 | 
            +
                      "internalType": "address",
         | 
| 321 310 | 
             
                      "name": "",
         | 
| 322 | 
            -
                      "type": " | 
| 311 | 
            +
                      "type": "address"
         | 
| 323 312 | 
             
                    }
         | 
| 324 313 | 
             
                  ],
         | 
| 325 | 
            -
                  "stateMutability": " | 
| 314 | 
            +
                  "stateMutability": "view",
         | 
| 326 315 | 
             
                  "type": "function"
         | 
| 327 316 | 
             
                },
         | 
| 328 317 | 
             
                {
         | 
| 329 | 
            -
                  "inputs": [
         | 
| 330 | 
            -
                    {
         | 
| 331 | 
            -
                      "internalType": "uint256",
         | 
| 332 | 
            -
                      "name": "idx",
         | 
| 333 | 
            -
                      "type": "uint256"
         | 
| 334 | 
            -
                    }
         | 
| 335 | 
            -
                  ],
         | 
| 318 | 
            +
                  "inputs": [],
         | 
| 336 319 | 
             
                  "name": "getVersion",
         | 
| 337 320 | 
             
                  "outputs": [
         | 
| 338 321 | 
             
                    {
         | 
| @@ -341,87 +324,104 @@ | |
| 341 324 | 
             
                      "type": "uint24"
         | 
| 342 325 | 
             
                    }
         | 
| 343 326 | 
             
                  ],
         | 
| 344 | 
            -
                  "stateMutability": " | 
| 327 | 
            +
                  "stateMutability": "pure",
         | 
| 345 328 | 
             
                  "type": "function"
         | 
| 346 329 | 
             
                },
         | 
| 347 330 | 
             
                {
         | 
| 348 331 | 
             
                  "inputs": [],
         | 
| 349 | 
            -
                  "name": " | 
| 350 | 
            -
                  "outputs": [
         | 
| 332 | 
            +
                  "name": "initializeERC165",
         | 
| 333 | 
            +
                  "outputs": [],
         | 
| 334 | 
            +
                  "stateMutability": "nonpayable",
         | 
| 335 | 
            +
                  "type": "function"
         | 
| 336 | 
            +
                },
         | 
| 337 | 
            +
                {
         | 
| 338 | 
            +
                  "inputs": [
         | 
| 351 339 | 
             
                    {
         | 
| 352 | 
            -
                      "internalType": " | 
| 353 | 
            -
                      "name": "",
         | 
| 354 | 
            -
                      "type": " | 
| 340 | 
            +
                      "internalType": "address",
         | 
| 341 | 
            +
                      "name": "initialOwner",
         | 
| 342 | 
            +
                      "type": "address"
         | 
| 343 | 
            +
                    },
         | 
| 344 | 
            +
                    {
         | 
| 345 | 
            +
                      "internalType": "address",
         | 
| 346 | 
            +
                      "name": "registryAddress",
         | 
| 347 | 
            +
                      "type": "address"
         | 
| 355 348 | 
             
                    }
         | 
| 356 349 | 
             
                  ],
         | 
| 357 | 
            -
                  " | 
| 350 | 
            +
                  "name": "initializeNftOwnable",
         | 
| 351 | 
            +
                  "outputs": [],
         | 
| 352 | 
            +
                  "stateMutability": "nonpayable",
         | 
| 358 353 | 
             
                  "type": "function"
         | 
| 359 354 | 
             
                },
         | 
| 360 355 | 
             
                {
         | 
| 361 356 | 
             
                  "inputs": [
         | 
| 362 357 | 
             
                    {
         | 
| 363 | 
            -
                      "internalType": " | 
| 364 | 
            -
                      "name": " | 
| 365 | 
            -
                      "type": " | 
| 358 | 
            +
                      "internalType": "address",
         | 
| 359 | 
            +
                      "name": "registryAddress",
         | 
| 360 | 
            +
                      "type": "address"
         | 
| 361 | 
            +
                    },
         | 
| 362 | 
            +
                    {
         | 
| 363 | 
            +
                      "internalType": "NftId",
         | 
| 364 | 
            +
                      "name": "parentNftId",
         | 
| 365 | 
            +
                      "type": "uint96"
         | 
| 366 | 
            +
                    },
         | 
| 367 | 
            +
                    {
         | 
| 368 | 
            +
                      "internalType": "ObjectType",
         | 
| 369 | 
            +
                      "name": "objectType",
         | 
| 370 | 
            +
                      "type": "uint8"
         | 
| 371 | 
            +
                    },
         | 
| 372 | 
            +
                    {
         | 
| 373 | 
            +
                      "internalType": "bool",
         | 
| 374 | 
            +
                      "name": "isInterceptor",
         | 
| 375 | 
            +
                      "type": "bool"
         | 
| 376 | 
            +
                    },
         | 
| 377 | 
            +
                    {
         | 
| 378 | 
            +
                      "internalType": "address",
         | 
| 379 | 
            +
                      "name": "initialOwner",
         | 
| 380 | 
            +
                      "type": "address"
         | 
| 381 | 
            +
                    },
         | 
| 382 | 
            +
                    {
         | 
| 383 | 
            +
                      "internalType": "bytes",
         | 
| 384 | 
            +
                      "name": "registryData",
         | 
| 385 | 
            +
                      "type": "bytes"
         | 
| 366 386 | 
             
                    }
         | 
| 367 387 | 
             
                  ],
         | 
| 368 | 
            -
                  "name": " | 
| 369 | 
            -
                  "outputs": [
         | 
| 388 | 
            +
                  "name": "initializeRegisterable",
         | 
| 389 | 
            +
                  "outputs": [],
         | 
| 390 | 
            +
                  "stateMutability": "nonpayable",
         | 
| 391 | 
            +
                  "type": "function"
         | 
| 392 | 
            +
                },
         | 
| 393 | 
            +
                {
         | 
| 394 | 
            +
                  "inputs": [
         | 
| 370 395 | 
             
                    {
         | 
| 371 | 
            -
                      " | 
| 372 | 
            -
             | 
| 373 | 
            -
             | 
| 374 | 
            -
                          "name": "version",
         | 
| 375 | 
            -
                          "type": "uint24"
         | 
| 376 | 
            -
                        },
         | 
| 377 | 
            -
                        {
         | 
| 378 | 
            -
                          "internalType": "address",
         | 
| 379 | 
            -
                          "name": "implementation",
         | 
| 380 | 
            -
                          "type": "address"
         | 
| 381 | 
            -
                        },
         | 
| 382 | 
            -
                        {
         | 
| 383 | 
            -
                          "internalType": "address",
         | 
| 384 | 
            -
                          "name": "activatedBy",
         | 
| 385 | 
            -
                          "type": "address"
         | 
| 386 | 
            -
                        },
         | 
| 387 | 
            -
                        {
         | 
| 388 | 
            -
                          "internalType": "Timestamp",
         | 
| 389 | 
            -
                          "name": "activatedAt",
         | 
| 390 | 
            -
                          "type": "uint40"
         | 
| 391 | 
            -
                        },
         | 
| 392 | 
            -
                        {
         | 
| 393 | 
            -
                          "internalType": "Blocknumber",
         | 
| 394 | 
            -
                          "name": "activatedIn",
         | 
| 395 | 
            -
                          "type": "uint32"
         | 
| 396 | 
            -
                        }
         | 
| 397 | 
            -
                      ],
         | 
| 398 | 
            -
                      "internalType": "struct IVersionable.VersionInfo",
         | 
| 399 | 
            -
                      "name": "",
         | 
| 400 | 
            -
                      "type": "tuple"
         | 
| 396 | 
            +
                      "internalType": "address",
         | 
| 397 | 
            +
                      "name": "registryAddress",
         | 
| 398 | 
            +
                      "type": "address"
         | 
| 401 399 | 
             
                    }
         | 
| 402 400 | 
             
                  ],
         | 
| 403 | 
            -
                  " | 
| 401 | 
            +
                  "name": "initializeRegistryLinked",
         | 
| 402 | 
            +
                  "outputs": [],
         | 
| 403 | 
            +
                  "stateMutability": "nonpayable",
         | 
| 404 404 | 
             
                  "type": "function"
         | 
| 405 405 | 
             
                },
         | 
| 406 406 | 
             
                {
         | 
| 407 407 | 
             
                  "inputs": [
         | 
| 408 408 | 
             
                    {
         | 
| 409 409 | 
             
                      "internalType": "address",
         | 
| 410 | 
            -
                      "name": " | 
| 410 | 
            +
                      "name": "registry",
         | 
| 411 411 | 
             
                      "type": "address"
         | 
| 412 412 | 
             
                    },
         | 
| 413 413 | 
             
                    {
         | 
| 414 414 | 
             
                      "internalType": "address",
         | 
| 415 | 
            -
                      "name": " | 
| 415 | 
            +
                      "name": "authority",
         | 
| 416 416 | 
             
                      "type": "address"
         | 
| 417 417 | 
             
                    },
         | 
| 418 418 | 
             
                    {
         | 
| 419 | 
            -
                      "internalType": " | 
| 420 | 
            -
                      "name": " | 
| 421 | 
            -
                      "type": " | 
| 419 | 
            +
                      "internalType": "address",
         | 
| 420 | 
            +
                      "name": "initialOwner",
         | 
| 421 | 
            +
                      "type": "address"
         | 
| 422 422 | 
             
                    }
         | 
| 423 423 | 
             
                  ],
         | 
| 424 | 
            -
                  "name": " | 
| 424 | 
            +
                  "name": "initializeService",
         | 
| 425 425 | 
             
                  "outputs": [],
         | 
| 426 426 | 
             
                  "stateMutability": "nonpayable",
         | 
| 427 427 | 
             
                  "type": "function"
         | 
| @@ -429,17 +429,29 @@ | |
| 429 429 | 
             
                {
         | 
| 430 430 | 
             
                  "inputs": [
         | 
| 431 431 | 
             
                    {
         | 
| 432 | 
            -
                      "internalType": " | 
| 433 | 
            -
                      "name": " | 
| 434 | 
            -
                      "type": " | 
| 432 | 
            +
                      "internalType": "address",
         | 
| 433 | 
            +
                      "name": "activatedBy",
         | 
| 434 | 
            +
                      "type": "address"
         | 
| 435 | 
            +
                    },
         | 
| 436 | 
            +
                    {
         | 
| 437 | 
            +
                      "internalType": "bytes",
         | 
| 438 | 
            +
                      "name": "data",
         | 
| 439 | 
            +
                      "type": "bytes"
         | 
| 435 440 | 
             
                    }
         | 
| 436 441 | 
             
                  ],
         | 
| 437 | 
            -
                  "name": " | 
| 442 | 
            +
                  "name": "initializeVersionable",
         | 
| 443 | 
            +
                  "outputs": [],
         | 
| 444 | 
            +
                  "stateMutability": "nonpayable",
         | 
| 445 | 
            +
                  "type": "function"
         | 
| 446 | 
            +
                },
         | 
| 447 | 
            +
                {
         | 
| 448 | 
            +
                  "inputs": [],
         | 
| 449 | 
            +
                  "name": "isConsumingScheduledOp",
         | 
| 438 450 | 
             
                  "outputs": [
         | 
| 439 451 | 
             
                    {
         | 
| 440 | 
            -
                      "internalType": " | 
| 452 | 
            +
                      "internalType": "bytes4",
         | 
| 441 453 | 
             
                      "name": "",
         | 
| 442 | 
            -
                      "type": " | 
| 454 | 
            +
                      "type": "bytes4"
         | 
| 443 455 | 
             
                    }
         | 
| 444 456 | 
             
                  ],
         | 
| 445 457 | 
             
                  "stateMutability": "view",
         | 
| @@ -452,6 +464,32 @@ | |
| 452 464 | 
             
                  "stateMutability": "nonpayable",
         | 
| 453 465 | 
             
                  "type": "function"
         | 
| 454 466 | 
             
                },
         | 
| 467 | 
            +
                {
         | 
| 468 | 
            +
                  "inputs": [
         | 
| 469 | 
            +
                    {
         | 
| 470 | 
            +
                      "internalType": "bytes4",
         | 
| 471 | 
            +
                      "name": "interfaceId",
         | 
| 472 | 
            +
                      "type": "bytes4"
         | 
| 473 | 
            +
                    }
         | 
| 474 | 
            +
                  ],
         | 
| 475 | 
            +
                  "name": "registerInterface",
         | 
| 476 | 
            +
                  "outputs": [],
         | 
| 477 | 
            +
                  "stateMutability": "nonpayable",
         | 
| 478 | 
            +
                  "type": "function"
         | 
| 479 | 
            +
                },
         | 
| 480 | 
            +
                {
         | 
| 481 | 
            +
                  "inputs": [
         | 
| 482 | 
            +
                    {
         | 
| 483 | 
            +
                      "internalType": "address",
         | 
| 484 | 
            +
                      "name": "newAuthority",
         | 
| 485 | 
            +
                      "type": "address"
         | 
| 486 | 
            +
                    }
         | 
| 487 | 
            +
                  ],
         | 
| 488 | 
            +
                  "name": "setAuthority",
         | 
| 489 | 
            +
                  "outputs": [],
         | 
| 490 | 
            +
                  "stateMutability": "nonpayable",
         | 
| 491 | 
            +
                  "type": "function"
         | 
| 492 | 
            +
                },
         | 
| 455 493 | 
             
                {
         | 
| 456 494 | 
             
                  "inputs": [
         | 
| 457 495 | 
             
                    {
         | 
| @@ -473,56 +511,30 @@ | |
| 473 511 | 
             
                },
         | 
| 474 512 | 
             
                {
         | 
| 475 513 | 
             
                  "inputs": [
         | 
| 476 | 
            -
                    {
         | 
| 477 | 
            -
                      "internalType": "address",
         | 
| 478 | 
            -
                      "name": "implementation",
         | 
| 479 | 
            -
                      "type": "address"
         | 
| 480 | 
            -
                    },
         | 
| 481 | 
            -
                    {
         | 
| 482 | 
            -
                      "internalType": "address",
         | 
| 483 | 
            -
                      "name": "activatedBy",
         | 
| 484 | 
            -
                      "type": "address"
         | 
| 485 | 
            -
                    },
         | 
| 486 514 | 
             
                    {
         | 
| 487 515 | 
             
                      "internalType": "bytes",
         | 
| 488 516 | 
             
                      "name": "data",
         | 
| 489 517 | 
             
                      "type": "bytes"
         | 
| 490 518 | 
             
                    }
         | 
| 491 519 | 
             
                  ],
         | 
| 492 | 
            -
                  "name": " | 
| 520 | 
            +
                  "name": "upgradeVersionable",
         | 
| 493 521 | 
             
                  "outputs": [],
         | 
| 494 522 | 
             
                  "stateMutability": "nonpayable",
         | 
| 495 523 | 
             
                  "type": "function"
         | 
| 496 524 | 
             
                }
         | 
| 497 525 | 
             
              ],
         | 
| 498 | 
            -
              "bytecode": "0x60806040523480156200001157600080fd5b5060405162001e6738038062001e678339810160408190526200003491620006bc565b620000656301ffc9a760e01b600090815260205260008051602062001e47833981519152805460ff19166001179055565b600280546001600160a01b031916331790556200008162000096565b6200008d83826200014a565b50505062000966565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000e75760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620001475780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b60006200017560408051808201909152600b81526a546573745365727669636560a81b602082015290565b6200017f62000209565b6040516020016200019292919062000706565b60408051601f1981840301815291905290506000620001b18462000296565b90506000620001c68583603c8488886200030a565b631b4612f160e31b60009081526020527ffc58a5a01198e68c5a5d0bcd463f9ab550fc4337b1df271aed6dbb33d25fef25805460ff191660011790555050505050565b6000620002156200040c565b60405163c9e66e2960e01b815262ffffff909116600482015273__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__9063c9e66e2990602401602060405180830381865af41580156200026b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000291919062000760565b905090565b604051636939560f60e11b81526001600160a01b0382166004820181905260009163d272ac1e90602401602060405180830381865afa158015620002de573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200030491906200078c565b92915050565b6200033b6301ffc9a760e01b600090815260205260008051602062001e47833981519152805460ff19166001179055565b62000347828762000494565b60007f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30080546001600160601b0388166001600160681b0319909116176c0100000000000000000000000060ff8816021760ff60681b19166d010000000000000000000000000086151502178155905060018101620003c683826200084f565b506303fb044760e21b60009081526020527fb43e4f3791bfcdefa3a0fbe2a5555f8d6490b90e01de0ff40c66f18b49b562c5805460ff1916600117905550505050505050565b604051632efe011360e01b815260036004820152600060248201819052604482018190529073__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__90632efe011390606401602060405180830381865af41580156200046e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200029191906200091b565b6001600160a01b038216620004f05760405162461bcd60e51b815260206004820152601e60248201527f4e66744f776e61626c653a20696e697469616c206f776e65722069732030000060448201526064015b60405180910390fd5b600280546001600160a01b0319166001600160a01b03841617905562000516816200051a565b5050565b6001546001600160a01b031615620005555760015460405163fcdbf2d960e01b81526001600160a01b039091166004820152602401620004e7565b6001600160a01b0381166200057d5760405163f5c4d07d60e01b815260040160405180910390fd5b806001600160a01b03163b600003620005b55760405163fdeac91f60e01b81526001600160a01b0382166004820152602401620004e7565b600180546001600160a01b0319166001600160a01b0383169081179091556040516301ffc9a760e01b8152632eaf856d60e11b60048201526301ffc9a790602401602060405180830381865afa92505050801562000632575060408051601f3d908101601f191682019092526200062f9181019062000942565b60015b6200065c5760405163fdeac91f60e01b81526001600160a01b0382166004820152602401620004e7565b80620005165760405163fdeac91f60e01b81526001600160a01b0383166004820152602401620004e7565b80516001600160a01b03811681146200069f57600080fd5b919050565b80516001600160601b03811681146200069f57600080fd5b600080600060608486031215620006d257600080fd5b620006dd8462000687565b9250620006ed60208501620006a4565b9150620006fd6040850162000687565b90509250925092565b604081526000835180604084015260005b8181101562000736576020818701810151606086840101520162000717565b506000606082850101526060601f19601f83011684010191505060ff831660208301529392505050565b6000602082840312156200077357600080fd5b815160ff811681146200078557600080fd5b9392505050565b6000602082840312156200079f57600080fd5b6200078582620006a4565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620007d557607f821691505b602082108103620007f657634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200084a57600081815260208120601f850160051c81016020861015620008255750805b601f850160051c820191505b81811015620008465782815560010162000831565b5050505b505050565b81516001600160401b038111156200086b576200086b620007aa565b62000883816200087c8454620007c0565b84620007fc565b602080601f831160018114620008bb5760008415620008a25750858301515b600019600386901b1c1916600185901b17855562000846565b600085815260208120601f198616915b82811015620008ec57888601518255948401946001909101908401620008cb565b50858210156200090b5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000602082840312156200092e57600080fd5b815162ffffff811681146200078557600080fd5b6000602082840312156200095557600080fd5b815180151581146200078557600080fd5b6114d180620009766000396000f3fe608060405234801561001057600080fd5b50600436106101165760003560e01c8063644c45e0116100a2578063a745e3df11610071578063a745e3df146103d3578063b3c65015146103e6578063b88da75914610407578063cde749f41461041a578063cf7a1d771461043457600080fd5b8063644c45e01461034f578063893d20e81461037a578063946dfcfe14610382578063a3f4df7e146103a957600080fd5b806317d7de7c116100e957806317d7de7c146101995780631eff4b22146101c95780634d459c90146101fe5780634f421333146103175780635ab1bd531461032a57600080fd5b806301ffc9a71461011b5780630d8e6e2c1461015d5780630fec111c14610179578063138461e01461018f575b600080fd5b61014861012936600461107d565b6001600160e01b03191660009081526020819052604090205460ff1690565b60405190151581526020015b60405180910390f35b610165610447565b60405162ffffff9091168152602001610154565b6101816104d1565b6040516101549291906110f4565b610197610653565b005b60408051808201909152600b81526a546573745365727669636560a81b60208201525b604051610154919061119b565b6101f07f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30081565b604051908152602001610154565b6102ba61020c3660046111c2565b6040805160a08101825260008082526020820181905291810182905260608101829052608081019190915260008051602061147c83398151915262ffffff92831660009081526020918252604090819020815160a0810183528154958616815263010000009095046001600160a01b03908116938601939093526001015491821690840152600160a01b810464ffffffffff166060840152600160c81b900463ffffffff1660808301525090565b60408051825162ffffff1681526020808401516001600160a01b039081169183019190915283830151169181019190915260608083015164ffffffffff169082015260809182015163ffffffff169181019190915260a001610154565b6101486103253660046111c2565b610875565b6001546001600160a01b03165b6040516001600160a01b039091168152602001610154565b600154600160a01b90046001600160601b03166040516001600160601b039091168152602001610154565b610337610928565b7f4f61291a8ac3d020d0a7d919a76b8592aa88385744dee3f8b4f3873b969ed901546101f0565b6101bc6040518060400160405280600b81526020016a546573745365727669636560a81b81525081565b6101976103e136600461120a565b610a41565b6103ee610b9e565b60405167ffffffffffffffff9091168152602001610154565b6101656104153660046112e0565b610bc0565b610422610c11565b60405160ff9091168152602001610154565b61019761044236600461120a565b610c94565b604051632efe011360e01b815260036004820152600060248201819052604482018190529073__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__90632efe011390606401602060405180830381865af41580156104a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104cc91906112f9565b905090565b6040805160e08101825260008082526020820181905291810182905260608082018390526080820183905260a0820183905260c0820181905290917f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30090506040518060e001604052806105546001546001600160601b03600160a01b9091041690565b6001600160601b0390811682528354908116602083015260ff600160601b820481166040840152600160681b909104161515606082015230608082015260a00161059c610928565b6001600160a01b031681526020018260010180546105b990611316565b80601f01602080910402602001604051908101604052809291908181526020018280546105e590611316565b80156106325780601f1061060757610100808354040283529160200191610632565b820191906000526020600020905b81548152906001019060200180831161061557829003601f168201915b50505050508152506040518060200160405280600081525092509250509091565b6001546040516330b8415f60e01b8152600160a01b9091046001600160601b0316600482015273__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af41580156106b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106d99190611350565b15610720576001546040516316322c0f60e31b81526001600160a01b0382166004820152600160a01b9091046001600160601b031660248201526044015b60405180910390fd5b6001546001600160a01b03166107495760405163cf29926160e01b815260040160405180910390fd5b60015460405163c3c5a54760e01b81523060048201819052916001600160a01b03169063c3c5a54790602401602060405180830381865afa158015610792573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107b69190611350565b6107de576040516372657a5160e01b81526001600160a01b0382166004820152602401610717565b600154604051636939560f60e11b81526001600160a01b0383811660048301529091169063d272ac1e90602401602060405180830381865afa158015610828573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061084c9190611372565b600160146101000a8154816001600160601b0302191690836001600160601b0316021790555050565b60008060008051602061147c83398151915262ffffff84166000908152602091909152604090819020600101549051631bbffab160e21b8152600160c81b90910463ffffffff16600482015273__$5f476116ae21c5294e0c0761c07efa7e1c$__90636effeac490602401602060405180830381865af41580156108fd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610921919061139b565b1192915050565b6001546040516330b8415f60e01b8152600160a01b9091046001600160601b0316600482015260009073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af415801561098d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109b19190611350565b15610a3157600154604051631c5da14d60e11b8152600160a01b82046001600160601b031660048201526001600160a01b03909116906338bb429a90602401602060405180830381865afa158015610a0d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104cc91906113b4565b506002546001600160a01b031690565b73__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__63a123b37c610a63610447565b6040516001600160e01b031960e084901b16815262ffffff9091166004820152602401602060405180830381865af4158015610aa3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ac791906113d1565b60008051602061145c8339815191528054600160401b900460ff1680610afb5750805467ffffffffffffffff808416911610155b15610b195760405163f92ee8a960e01b815260040160405180910390fd5b805468ffffffffffffffffff191667ffffffffffffffff831617600160401b178155610b458585610d9f565b610b4e83611040565b805460ff60401b1916815560405167ffffffffffffffff831681527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2906020015b60405180910390a15050505050565b60006104cc60008051602061145c8339815191525467ffffffffffffffff1690565b600060008051602061147c8339815191526001018281548110610be557610be56113fb565b90600052602060002090600a91828204019190066003029054906101000a900462ffffff169050919050565b6000610c1b610447565b60405163c9e66e2960e01b815262ffffff909116600482015273__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__9063c9e66e2990602401602060405180830381865af4158015610c70573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104cc9190611411565b60008051602061145c8339815191528054600160401b810460ff16159067ffffffffffffffff16600081158015610cc85750825b905060008267ffffffffffffffff166001148015610ce55750303b155b905081158015610cf3575080155b15610d115760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff191660011785558315610d3b57845460ff60401b1916600160401b1785555b610d458888610d9f565b610d4f8787611040565b8315610d9557845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050505050565b610da7611044565b60008051602061147c8339815191526000610dd860008051602061145c8339815191525467ffffffffffffffff1690565b90506000610de4610447565b90508167ffffffffffffffff16600103610e125760028301805462ffffff191662ffffff8316179055610e60565b600283015462ffffff90811690821611610e605760405162461bcd60e51b815260206004820152600f60248201526e24a72b20a624a2102b22a929a4a7a760891b6044820152606401610717565b6001808401805491820181556000908152602090819020600a808404909101805462ffffff808716600394909606939093026101000a858102930219169190911790556040805160a0810182529283526001600160a01b038089168484015287168382015280516356db0c1960e11b81529051606084019273__$d53880c81dc91c20799140d711e5ab8718$__9263adb6183292600480830193928290030181865af4158015610f14573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f389190611434565b64ffffffffff1681526020014363ffffffff90811690915262ffffff8084166000908152602087815260409182902085518154928701516001600160a01b039081166301000000026001600160b81b0319909416919095161791909117815584820151600190910180546060870151608090970151909516600160c81b0263ffffffff60c81b1964ffffffffff909716600160a01b026001600160c81b031990961692909416919091179390931793909316179055517fad0a0fc10465a8dd9da3ad5f43e1a7fff4b4578551c76f0ae8deb844f0d0bf6890610b8f9083908890889062ffffff9390931683526001600160a01b03918216602084015216604082015260600190565b6101165b60008051602061145c83398151915254600160401b900460ff1661107b57604051631afcd79f60e31b815260040160405180910390fd5b565b60006020828403121561108f57600080fd5b81356001600160e01b0319811681146110a757600080fd5b9392505050565b6000815180845260005b818110156110d4576020818501810151868301820152016110b8565b506000602082860101526020601f19601f83011685010191505092915050565b6040815260006001600160601b038085511660408401528060208601511660608401525060ff6040850151166080830152606084015161113860a084018215159052565b5060808401516001600160a01b03811660c08401525060a08401516001600160a01b03811660e08401525060c084015160e061010084015261117e6101208401826110ae565b9050828103602084015261119281856110ae565b95945050505050565b6020815260006110a760208301846110ae565b62ffffff811681146111bf57600080fd5b50565b6000602082840312156111d457600080fd5b81356110a7816111ae565b6001600160a01b03811681146111bf57600080fd5b634e487b7160e01b600052604160045260246000fd5b60008060006060848603121561121f57600080fd5b833561122a816111df565b9250602084013561123a816111df565b9150604084013567ffffffffffffffff8082111561125757600080fd5b818601915086601f83011261126b57600080fd5b81358181111561127d5761127d6111f4565b604051601f8201601f19908116603f011681019083821181831017156112a5576112a56111f4565b816040528281528960208487010111156112be57600080fd5b8260208601602083013760006020848301015280955050505050509250925092565b6000602082840312156112f257600080fd5b5035919050565b60006020828403121561130b57600080fd5b81516110a7816111ae565b600181811c9082168061132a57607f821691505b60208210810361134a57634e487b7160e01b600052602260045260246000fd5b50919050565b60006020828403121561136257600080fd5b815180151581146110a757600080fd5b60006020828403121561138457600080fd5b81516001600160601b03811681146110a757600080fd5b6000602082840312156113ad57600080fd5b5051919050565b6000602082840312156113c657600080fd5b81516110a7816111df565b6000602082840312156113e357600080fd5b815167ffffffffffffffff811681146110a757600080fd5b634e487b7160e01b600052603260045260246000fd5b60006020828403121561142357600080fd5b815160ff811681146110a757600080fd5b60006020828403121561144657600080fd5b815164ffffffffff811681146110a757600080fdfef0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a004f61291a8ac3d020d0a7d919a76b8592aa88385744dee3f8b4f3873b969ed900a26469706673582212200e6055615398c647183e09db857d1dc590846b770ed01bd1a465c6029ff8282264736f6c6343000814003367be87c3ff9960ca1e9cfac5cab2ff4747269cf9ed20c9b7306235ac35a491c5",
         | 
| 499 | 
            -
              "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101165760003560e01c8063644c45e0116100a2578063a745e3df11610071578063a745e3df146103d3578063b3c65015146103e6578063b88da75914610407578063cde749f41461041a578063cf7a1d771461043457600080fd5b8063644c45e01461034f578063893d20e81461037a578063946dfcfe14610382578063a3f4df7e146103a957600080fd5b806317d7de7c116100e957806317d7de7c146101995780631eff4b22146101c95780634d459c90146101fe5780634f421333146103175780635ab1bd531461032a57600080fd5b806301ffc9a71461011b5780630d8e6e2c1461015d5780630fec111c14610179578063138461e01461018f575b600080fd5b61014861012936600461107d565b6001600160e01b03191660009081526020819052604090205460ff1690565b60405190151581526020015b60405180910390f35b610165610447565b60405162ffffff9091168152602001610154565b6101816104d1565b6040516101549291906110f4565b610197610653565b005b60408051808201909152600b81526a546573745365727669636560a81b60208201525b604051610154919061119b565b6101f07f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30081565b604051908152602001610154565b6102ba61020c3660046111c2565b6040805160a08101825260008082526020820181905291810182905260608101829052608081019190915260008051602061147c83398151915262ffffff92831660009081526020918252604090819020815160a0810183528154958616815263010000009095046001600160a01b03908116938601939093526001015491821690840152600160a01b810464ffffffffff166060840152600160c81b900463ffffffff1660808301525090565b60408051825162ffffff1681526020808401516001600160a01b039081169183019190915283830151169181019190915260608083015164ffffffffff169082015260809182015163ffffffff169181019190915260a001610154565b6101486103253660046111c2565b610875565b6001546001600160a01b03165b6040516001600160a01b039091168152602001610154565b600154600160a01b90046001600160601b03166040516001600160601b039091168152602001610154565b610337610928565b7f4f61291a8ac3d020d0a7d919a76b8592aa88385744dee3f8b4f3873b969ed901546101f0565b6101bc6040518060400160405280600b81526020016a546573745365727669636560a81b81525081565b6101976103e136600461120a565b610a41565b6103ee610b9e565b60405167ffffffffffffffff9091168152602001610154565b6101656104153660046112e0565b610bc0565b610422610c11565b60405160ff9091168152602001610154565b61019761044236600461120a565b610c94565b604051632efe011360e01b815260036004820152600060248201819052604482018190529073__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__90632efe011390606401602060405180830381865af41580156104a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104cc91906112f9565b905090565b6040805160e08101825260008082526020820181905291810182905260608082018390526080820183905260a0820183905260c0820181905290917f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30090506040518060e001604052806105546001546001600160601b03600160a01b9091041690565b6001600160601b0390811682528354908116602083015260ff600160601b820481166040840152600160681b909104161515606082015230608082015260a00161059c610928565b6001600160a01b031681526020018260010180546105b990611316565b80601f01602080910402602001604051908101604052809291908181526020018280546105e590611316565b80156106325780601f1061060757610100808354040283529160200191610632565b820191906000526020600020905b81548152906001019060200180831161061557829003601f168201915b50505050508152506040518060200160405280600081525092509250509091565b6001546040516330b8415f60e01b8152600160a01b9091046001600160601b0316600482015273__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af41580156106b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106d99190611350565b15610720576001546040516316322c0f60e31b81526001600160a01b0382166004820152600160a01b9091046001600160601b031660248201526044015b60405180910390fd5b6001546001600160a01b03166107495760405163cf29926160e01b815260040160405180910390fd5b60015460405163c3c5a54760e01b81523060048201819052916001600160a01b03169063c3c5a54790602401602060405180830381865afa158015610792573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107b69190611350565b6107de576040516372657a5160e01b81526001600160a01b0382166004820152602401610717565b600154604051636939560f60e11b81526001600160a01b0383811660048301529091169063d272ac1e90602401602060405180830381865afa158015610828573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061084c9190611372565b600160146101000a8154816001600160601b0302191690836001600160601b0316021790555050565b60008060008051602061147c83398151915262ffffff84166000908152602091909152604090819020600101549051631bbffab160e21b8152600160c81b90910463ffffffff16600482015273__$5f476116ae21c5294e0c0761c07efa7e1c$__90636effeac490602401602060405180830381865af41580156108fd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610921919061139b565b1192915050565b6001546040516330b8415f60e01b8152600160a01b9091046001600160601b0316600482015260009073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af415801561098d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109b19190611350565b15610a3157600154604051631c5da14d60e11b8152600160a01b82046001600160601b031660048201526001600160a01b03909116906338bb429a90602401602060405180830381865afa158015610a0d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104cc91906113b4565b506002546001600160a01b031690565b73__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__63a123b37c610a63610447565b6040516001600160e01b031960e084901b16815262ffffff9091166004820152602401602060405180830381865af4158015610aa3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ac791906113d1565b60008051602061145c8339815191528054600160401b900460ff1680610afb5750805467ffffffffffffffff808416911610155b15610b195760405163f92ee8a960e01b815260040160405180910390fd5b805468ffffffffffffffffff191667ffffffffffffffff831617600160401b178155610b458585610d9f565b610b4e83611040565b805460ff60401b1916815560405167ffffffffffffffff831681527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2906020015b60405180910390a15050505050565b60006104cc60008051602061145c8339815191525467ffffffffffffffff1690565b600060008051602061147c8339815191526001018281548110610be557610be56113fb565b90600052602060002090600a91828204019190066003029054906101000a900462ffffff169050919050565b6000610c1b610447565b60405163c9e66e2960e01b815262ffffff909116600482015273__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__9063c9e66e2990602401602060405180830381865af4158015610c70573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104cc9190611411565b60008051602061145c8339815191528054600160401b810460ff16159067ffffffffffffffff16600081158015610cc85750825b905060008267ffffffffffffffff166001148015610ce55750303b155b905081158015610cf3575080155b15610d115760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff191660011785558315610d3b57845460ff60401b1916600160401b1785555b610d458888610d9f565b610d4f8787611040565b8315610d9557845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050505050565b610da7611044565b60008051602061147c8339815191526000610dd860008051602061145c8339815191525467ffffffffffffffff1690565b90506000610de4610447565b90508167ffffffffffffffff16600103610e125760028301805462ffffff191662ffffff8316179055610e60565b600283015462ffffff90811690821611610e605760405162461bcd60e51b815260206004820152600f60248201526e24a72b20a624a2102b22a929a4a7a760891b6044820152606401610717565b6001808401805491820181556000908152602090819020600a808404909101805462ffffff808716600394909606939093026101000a858102930219169190911790556040805160a0810182529283526001600160a01b038089168484015287168382015280516356db0c1960e11b81529051606084019273__$d53880c81dc91c20799140d711e5ab8718$__9263adb6183292600480830193928290030181865af4158015610f14573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f389190611434565b64ffffffffff1681526020014363ffffffff90811690915262ffffff8084166000908152602087815260409182902085518154928701516001600160a01b039081166301000000026001600160b81b0319909416919095161791909117815584820151600190910180546060870151608090970151909516600160c81b0263ffffffff60c81b1964ffffffffff909716600160a01b026001600160c81b031990961692909416919091179390931793909316179055517fad0a0fc10465a8dd9da3ad5f43e1a7fff4b4578551c76f0ae8deb844f0d0bf6890610b8f9083908890889062ffffff9390931683526001600160a01b03918216602084015216604082015260600190565b6101165b60008051602061145c83398151915254600160401b900460ff1661107b57604051631afcd79f60e31b815260040160405180910390fd5b565b60006020828403121561108f57600080fd5b81356001600160e01b0319811681146110a757600080fd5b9392505050565b6000815180845260005b818110156110d4576020818501810151868301820152016110b8565b506000602082860101526020601f19601f83011685010191505092915050565b6040815260006001600160601b038085511660408401528060208601511660608401525060ff6040850151166080830152606084015161113860a084018215159052565b5060808401516001600160a01b03811660c08401525060a08401516001600160a01b03811660e08401525060c084015160e061010084015261117e6101208401826110ae565b9050828103602084015261119281856110ae565b95945050505050565b6020815260006110a760208301846110ae565b62ffffff811681146111bf57600080fd5b50565b6000602082840312156111d457600080fd5b81356110a7816111ae565b6001600160a01b03811681146111bf57600080fd5b634e487b7160e01b600052604160045260246000fd5b60008060006060848603121561121f57600080fd5b833561122a816111df565b9250602084013561123a816111df565b9150604084013567ffffffffffffffff8082111561125757600080fd5b818601915086601f83011261126b57600080fd5b81358181111561127d5761127d6111f4565b604051601f8201601f19908116603f011681019083821181831017156112a5576112a56111f4565b816040528281528960208487010111156112be57600080fd5b8260208601602083013760006020848301015280955050505050509250925092565b6000602082840312156112f257600080fd5b5035919050565b60006020828403121561130b57600080fd5b81516110a7816111ae565b600181811c9082168061132a57607f821691505b60208210810361134a57634e487b7160e01b600052602260045260246000fd5b50919050565b60006020828403121561136257600080fd5b815180151581146110a757600080fd5b60006020828403121561138457600080fd5b81516001600160601b03811681146110a757600080fd5b6000602082840312156113ad57600080fd5b5051919050565b6000602082840312156113c657600080fd5b81516110a7816111df565b6000602082840312156113e357600080fd5b815167ffffffffffffffff811681146110a757600080fd5b634e487b7160e01b600052603260045260246000fd5b60006020828403121561142357600080fd5b815160ff811681146110a757600080fd5b60006020828403121561144657600080fd5b815164ffffffffff811681146110a757600080fdfef0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a004f61291a8ac3d020d0a7d919a76b8592aa88385744dee3f8b4f3873b969ed900a26469706673582212200e6055615398c647183e09db857d1dc590846b770ed01bd1a465c6029ff8282264736f6c63430008140033",
         | 
| 526 | 
            +
              "bytecode": "0x60806040523480156200001157600080fd5b50604051620021c4380380620021c4833981016040819052620000349162000751565b6200003e62000055565b6200004c8360008362000109565b50505062000997565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000a65760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620001065780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b6200011362000363565b6200019e83846001600160a01b031663644c45e06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000157573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200017d91906200079b565b603c60008560405180602001604052806000815250620003b460201b60201c565b6001600160a01b03821615620001bf57620001b98262000453565b6200033a565b6000620001d46001546001600160a01b031690565b6001600160a01b031663d39e60436028604051632392b61b60e21b81526003600482015273__$9dab98ad7ae1a426029e5739f922230a41$__90638e4ad86c90602401602060405180830381865af415801562000235573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200025b9190620007c0565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865afa158015620002a1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002c79190620007e5565b905062000338816001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200030c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003329190620007e5565b62000453565b505b6200034c634a531f3360e01b62000468565b6200035e63b68d180960e01b62000468565b505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005468010000000000000000900460ff16620003b257604051631afcd79f60e31b815260040160405180910390fd5b565b620003be62000363565b620003ca828762000497565b60007f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30080546001600160601b0388166001600160681b0319909116176c0100000000000000000000000060ff8816021760ff60681b19166d010000000000000000000000000086151502178155905060018101620004498382620008a7565b5050505050505050565b6200045d62000363565b620001068162000530565b6200047262000363565b6001600160e01b0319166000908152602081905260409020805460ff19166001179055565b620004a162000363565b620004ac8162000545565b620004b662000661565b6001600160a01b038216620004de5760405163f17ef42d60e01b815260040160405180910390fd5b507f07ebcf49758b6ed3af50fa146bec0abe157c0218fe65dc0874c286e9d5da4f0080546001600160601b03166c010000000000000000000000006001600160a01b0390931692909202919091179055565b6200053a62000363565b6200010681620006a9565b6200054f62000363565b806001600160a01b03163b6000036200058b5760405163fdeac91f60e01b81526001600160a01b03821660048201526024015b60405180910390fd5b600180546001600160a01b0319166001600160a01b0383169081179091556040516301ffc9a760e01b8152630a3888e560e31b60048201526301ffc9a790602401602060405180830381865afa92505050801562000608575060408051601f3d908101601f19168201909252620006059181019062000973565b60015b620006325760405163fdeac91f60e01b81526001600160a01b038216600482015260240162000582565b806200065d5760405163fdeac91f60e01b81526001600160a01b038316600482015260240162000582565b5050565b6200066b62000363565b6301ffc9a760e01b60009081526020527f67be87c3ff9960ca1e9cfac5cab2ff4747269cf9ed20c9b7306235ac35a491c5805460ff19166001179055565b7ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a0080546001600160a01b0383166001600160a01b03199091168117825560408051918252517f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad9181900360200190a15050565b80516001600160a01b03811681146200073457600080fd5b919050565b80516001600160601b03811681146200073457600080fd5b6000806000606084860312156200076757600080fd5b62000772846200071c565b9250620007826020850162000739565b915062000792604085016200071c565b90509250925092565b600060208284031215620007ae57600080fd5b620007b98262000739565b9392505050565b600060208284031215620007d357600080fd5b815160ff81168114620007b957600080fd5b600060208284031215620007f857600080fd5b620007b9826200071c565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200082e57607f821691505b6020821081036200084f57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200035e57600081815260208120601f850160051c810160208610156200087e5750805b601f850160051c820191505b818110156200089f578281556001016200088a565b505050505050565b81516001600160401b03811115620008c357620008c362000803565b620008db81620008d4845462000819565b8462000855565b602080601f831160018114620009135760008415620008fa5750858301515b600019600386901b1c1916600185901b1785556200089f565b600085815260208120601f198616915b82811015620009445788860151825594840194600190910190840162000923565b5085821015620009635787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000602082840312156200098657600080fd5b81518015158114620007b957600080fd5b61181d80620009a76000396000f3fe608060405234801561001057600080fd5b506004361061014d5760003560e01c8063644c45e0116100c3578063a3f4df7e1161007c578063a3f4df7e14610307578063ada9652e1461033e578063b68d180914610353578063bf7e214f14610362578063f21de1e814610258578063f7c34ee01461038057600080fd5b8063644c45e01461027d578063675393bf146102a55780637a9e5e4b146102b8578063893d20e8146102cb5780638e32e979146102d35780638fb36037146102e657600080fd5b8063214cdb8011610115578063214cdb801461020457806327bb7a3314610217578063329d6e741461022a57806336fc697e1461023d57806349bb9e4b146102455780635ab1bd531461025857600080fd5b806301ffc9a7146101525780630d8e6e2c146101945780630fec111c146101b0578063138461e0146101c55780631eff4b22146101cf575b600080fd5b61017f6101603660046111de565b6001600160e01b03191660009081526020819052604090205460ff1690565b60405190151581526020015b60405180910390f35b61019c610393565b60405162ffffff909116815260200161018b565b6101b861041d565b60405161018b9190611255565b6101cd6105cc565b005b6101f67f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30081565b60405190815260200161018b565b6101cd6102123660046111de565b6107d3565b6101cd6102253660046113ca565b610800565b6101cd610238366004611463565b61088c565b6101cd6109ee565b6101cd610253366004611498565b610a34565b6001546001600160a01b03165b6040516001600160a01b03909116815260200161018b565b6000805160206117a8833981519152546040516001600160601b03909116815260200161018b565b6101cd6102b33660046114e8565b610b46565b6101cd6102c63660046114e8565b610c54565b610265610cee565b6101cd6102e1366004611505565b610e25565b6102ee61105e565b6040516001600160e01b0319909116815260200161018b565b6103316040518060400160405280600b81526020016a546573745365727669636560a81b81525081565b60405161018b9190611550565b6101f66000805160206117a883398151915281565b604051606e815260200161018b565b6000805160206117c8833981519152546001600160a01b0316610265565b6101cd61038e366004611563565b611096565b604051632efe011360e01b815260036004820152600060248201819052604482018190529073__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__90632efe011390606401602060405180830381865af41580156103f4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610418919061159c565b905090565b6040805160e08101825260008082526020820181905291810182905260608082018390526080820183905260a0820183905260c0820152907f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa3006040805160808101825282546001600160601b038116825260ff600160601b820481166020840152600160681b909104161515918101919091526001820180549192916060840191906104c8906115c1565b80601f01602080910402602001604051908101604052809291908181526020018280546104f4906115c1565b80156105415780601f1061051657610100808354040283529160200191610541565b820191906000526020600020905b81548152906001019060200180831161052457829003601f168201915b50505050508152505090506040518060e0016040528061055f600090565b6001600160601b0316815260200182600001516001600160601b03168152602001826020015160ff168152602001826040015115158152602001306001600160a01b031681526020016105b0610cee565b6001600160a01b03168152602001826060015181525091505090565b60006000805160206117a883398151915280546040516330b8415f60e01b81526001600160601b03909116600482015290915073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af415801561063b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061065f91906115fb565b156106905780546040516301ab8b6760e21b81526001600160601b0390911660048201526024015b60405180910390fd5b306106a36001546001600160a01b031690565b60405163c3c5a54760e01b81526001600160a01b038381166004830152919091169063c3c5a54790602401602060405180830381865afa1580156106eb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061070f91906115fb565b6107375760405163b9304b0d60e01b81526001600160a01b0382166004820152602401610687565b6001546001600160a01b0316604051636939560f60e11b81526001600160a01b038381166004830152919091169063d272ac1e90602401602060405180830381865afa15801561078b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107af9190611618565b82546bffffffffffffffffffffffff19166001600160601b03919091161790915550565b6107db61110d565b6001600160e01b0319166000908152602081905260409020805460ff19166001179055565b61080861110d565b6108128287611096565b60007f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30080546001600160601b0388166cffffffffffffffffffffffffff1990911617600160601b60ff8816021760ff60681b1916600160681b861515021781559050600181016108828382611683565b5050505050505050565b73__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__63a123b37c6108ae610393565b6040516001600160e01b031960e084901b16815262ffffff9091166004820152602401602060405180830381865af41580156108ee573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109129190611743565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b900460ff16806109585750805467ffffffffffffffff808416911610155b156109765760405163f92ee8a960e01b815260040160405180910390fd5b805468ffffffffffffffffff191667ffffffffffffffff831617600160401b1781556109a183611158565b805460ff60401b1916815560405167ffffffffffffffff831681527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a1505050565b6109f661110d565b6301ffc9a760e01b60009081526020527f67be87c3ff9960ca1e9cfac5cab2ff4747269cf9ed20c9b7306235ac35a491c5805460ff19166001179055565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b810460ff16159067ffffffffffffffff16600081158015610a7a5750825b905060008267ffffffffffffffff166001148015610a975750303b155b905081158015610aa5575080155b15610ac35760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff191660011785558315610aed57845460ff60401b1916600160401b1785555b610af78787611158565b8315610b3d57845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050565b610b4e61110d565b806001600160a01b03163b600003610b845760405163fdeac91f60e01b81526001600160a01b0382166004820152602401610687565b600180546001600160a01b0319166001600160a01b0383169081179091556040516301ffc9a760e01b8152630a3888e560e31b60048201526301ffc9a790602401602060405180830381865afa925050508015610bfe575060408051601f3d908101601f19168201909252610bfb918101906115fb565b60015b610c265760405163fdeac91f60e01b81526001600160a01b0382166004820152602401610687565b80610c4f5760405163fdeac91f60e01b81526001600160a01b0383166004820152602401610687565b505b50565b33610c746000805160206117c8833981519152546001600160a01b031690565b6001600160a01b0316816001600160a01b031614610caf5760405162d1953b60e31b81526001600160a01b0382166004820152602401610687565b816001600160a01b03163b600003610ce5576040516361798f2f60e11b81526001600160a01b0383166004820152602401610687565b610c4f82611160565b6000806000805160206117a883398151915280546040516330b8415f60e01b81526001600160601b03909116600482015290915073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af4158015610d5e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d8291906115fb565b15610e0f576001546001600160a01b03168154604051631c5da14d60e11b81526001600160601b0390911660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa158015610de5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e09919061176d565b91505090565b54600160601b90046001600160a01b0316919050565b610e2d61110d565b610ead83846001600160a01b031663644c45e06040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e6f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e939190611618565b603c60008560405180602001604052806000815250610800565b6001600160a01b03821615610eca57610ec5826111c1565b611039565b6000610ede6001546001600160a01b031690565b6001600160a01b031663d39e60436028604051632392b61b60e21b81526003600482015273__$9dab98ad7ae1a426029e5739f922230a41$__90638e4ad86c90602401602060405180830381865af4158015610f3e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f62919061178a565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865afa158015610fa7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fcb919061176d565b9050611037816001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561100e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611032919061176d565b6111c1565b505b611049634a531f3360e01b6107d3565b61105963b68d180960e01b6107d3565b505050565b6000805160206117c8833981519152805460009190600160a01b900460ff16611088576000610e09565b638fb3603760e01b91505090565b61109e61110d565b6110a781610b46565b6110af6109ee565b6001600160a01b0382166110d65760405163f17ef42d60e01b815260040160405180910390fd5b506000805160206117a883398151915280546001600160601b0316600160601b6001600160a01b0390931692909202919091179055565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054600160401b900460ff1661115657604051631afcd79f60e31b815260040160405180910390fd5b565b61014d61110d565b6000805160206117c883398151915280546001600160a01b0383166001600160a01b03199091168117825560408051918252517f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad9181900360200190a15050565b6111c961110d565b610c51816111d561110d565b610c5181611160565b6000602082840312156111f057600080fd5b81356001600160e01b03198116811461120857600080fd5b9392505050565b6000815180845260005b8181101561123557602081850181015186830182015201611219565b506000602082860101526020601f19601f83011685010191505092915050565b6020815260006001600160601b038084511660208401528060208501511660408401525060ff604084015116606083015260608301511515608083015260018060a01b0360808401511660a083015260a08301516112be60c08401826001600160a01b03169052565b5060c083015160e0808401526112d861010084018261120f565b949350505050565b6001600160a01b0381168114610c5157600080fd5b6001600160601b0381168114610c5157600080fd5b60ff81168114610c5157600080fd5b8015158114610c5157600080fd5b634e487b7160e01b600052604160045260246000fd5b600082601f83011261134e57600080fd5b813567ffffffffffffffff8082111561136957611369611327565b604051601f8301601f19908116603f0116810190828211818310171561139157611391611327565b816040528381528660208588010111156113aa57600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060008060c087890312156113e357600080fd5b86356113ee816112e0565b955060208701356113fe816112f5565b9450604087013561140e8161130a565b9350606087013561141e81611319565b9250608087013561142e816112e0565b915060a087013567ffffffffffffffff81111561144a57600080fd5b61145689828a0161133d565b9150509295509295509295565b60006020828403121561147557600080fd5b813567ffffffffffffffff81111561148c57600080fd5b6112d88482850161133d565b600080604083850312156114ab57600080fd5b82356114b6816112e0565b9150602083013567ffffffffffffffff8111156114d257600080fd5b6114de8582860161133d565b9150509250929050565b6000602082840312156114fa57600080fd5b8135611208816112e0565b60008060006060848603121561151a57600080fd5b8335611525816112e0565b92506020840135611535816112e0565b91506040840135611545816112e0565b809150509250925092565b602081526000611208602083018461120f565b6000806040838503121561157657600080fd5b8235611581816112e0565b91506020830135611591816112e0565b809150509250929050565b6000602082840312156115ae57600080fd5b815162ffffff8116811461120857600080fd5b600181811c908216806115d557607f821691505b6020821081036115f557634e487b7160e01b600052602260045260246000fd5b50919050565b60006020828403121561160d57600080fd5b815161120881611319565b60006020828403121561162a57600080fd5b8151611208816112f5565b601f82111561105957600081815260208120601f850160051c8101602086101561165c5750805b601f850160051c820191505b8181101561167b57828155600101611668565b505050505050565b815167ffffffffffffffff81111561169d5761169d611327565b6116b1816116ab84546115c1565b84611635565b602080601f8311600181146116e657600084156116ce5750858301515b600019600386901b1c1916600185901b17855561167b565b600085815260208120601f198616915b82811015611715578886015182559484019460019091019084016116f6565b50858210156117335787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60006020828403121561175557600080fd5b815167ffffffffffffffff8116811461120857600080fd5b60006020828403121561177f57600080fd5b8151611208816112e0565b60006020828403121561179c57600080fd5b81516112088161130a56fe07ebcf49758b6ed3af50fa146bec0abe157c0218fe65dc0874c286e9d5da4f00f3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a00a2646970667358221220c0144e7af80e833263a8edb556a2586ddd62bc150b3534ffbc0d40e9aaa0201364736f6c63430008140033",
         | 
| 527 | 
            +
              "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061014d5760003560e01c8063644c45e0116100c3578063a3f4df7e1161007c578063a3f4df7e14610307578063ada9652e1461033e578063b68d180914610353578063bf7e214f14610362578063f21de1e814610258578063f7c34ee01461038057600080fd5b8063644c45e01461027d578063675393bf146102a55780637a9e5e4b146102b8578063893d20e8146102cb5780638e32e979146102d35780638fb36037146102e657600080fd5b8063214cdb8011610115578063214cdb801461020457806327bb7a3314610217578063329d6e741461022a57806336fc697e1461023d57806349bb9e4b146102455780635ab1bd531461025857600080fd5b806301ffc9a7146101525780630d8e6e2c146101945780630fec111c146101b0578063138461e0146101c55780631eff4b22146101cf575b600080fd5b61017f6101603660046111de565b6001600160e01b03191660009081526020819052604090205460ff1690565b60405190151581526020015b60405180910390f35b61019c610393565b60405162ffffff909116815260200161018b565b6101b861041d565b60405161018b9190611255565b6101cd6105cc565b005b6101f67f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30081565b60405190815260200161018b565b6101cd6102123660046111de565b6107d3565b6101cd6102253660046113ca565b610800565b6101cd610238366004611463565b61088c565b6101cd6109ee565b6101cd610253366004611498565b610a34565b6001546001600160a01b03165b6040516001600160a01b03909116815260200161018b565b6000805160206117a8833981519152546040516001600160601b03909116815260200161018b565b6101cd6102b33660046114e8565b610b46565b6101cd6102c63660046114e8565b610c54565b610265610cee565b6101cd6102e1366004611505565b610e25565b6102ee61105e565b6040516001600160e01b0319909116815260200161018b565b6103316040518060400160405280600b81526020016a546573745365727669636560a81b81525081565b60405161018b9190611550565b6101f66000805160206117a883398151915281565b604051606e815260200161018b565b6000805160206117c8833981519152546001600160a01b0316610265565b6101cd61038e366004611563565b611096565b604051632efe011360e01b815260036004820152600060248201819052604482018190529073__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__90632efe011390606401602060405180830381865af41580156103f4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610418919061159c565b905090565b6040805160e08101825260008082526020820181905291810182905260608082018390526080820183905260a0820183905260c0820152907f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa3006040805160808101825282546001600160601b038116825260ff600160601b820481166020840152600160681b909104161515918101919091526001820180549192916060840191906104c8906115c1565b80601f01602080910402602001604051908101604052809291908181526020018280546104f4906115c1565b80156105415780601f1061051657610100808354040283529160200191610541565b820191906000526020600020905b81548152906001019060200180831161052457829003601f168201915b50505050508152505090506040518060e0016040528061055f600090565b6001600160601b0316815260200182600001516001600160601b03168152602001826020015160ff168152602001826040015115158152602001306001600160a01b031681526020016105b0610cee565b6001600160a01b03168152602001826060015181525091505090565b60006000805160206117a883398151915280546040516330b8415f60e01b81526001600160601b03909116600482015290915073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af415801561063b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061065f91906115fb565b156106905780546040516301ab8b6760e21b81526001600160601b0390911660048201526024015b60405180910390fd5b306106a36001546001600160a01b031690565b60405163c3c5a54760e01b81526001600160a01b038381166004830152919091169063c3c5a54790602401602060405180830381865afa1580156106eb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061070f91906115fb565b6107375760405163b9304b0d60e01b81526001600160a01b0382166004820152602401610687565b6001546001600160a01b0316604051636939560f60e11b81526001600160a01b038381166004830152919091169063d272ac1e90602401602060405180830381865afa15801561078b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107af9190611618565b82546bffffffffffffffffffffffff19166001600160601b03919091161790915550565b6107db61110d565b6001600160e01b0319166000908152602081905260409020805460ff19166001179055565b61080861110d565b6108128287611096565b60007f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30080546001600160601b0388166cffffffffffffffffffffffffff1990911617600160601b60ff8816021760ff60681b1916600160681b861515021781559050600181016108828382611683565b5050505050505050565b73__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__63a123b37c6108ae610393565b6040516001600160e01b031960e084901b16815262ffffff9091166004820152602401602060405180830381865af41580156108ee573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109129190611743565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b900460ff16806109585750805467ffffffffffffffff808416911610155b156109765760405163f92ee8a960e01b815260040160405180910390fd5b805468ffffffffffffffffff191667ffffffffffffffff831617600160401b1781556109a183611158565b805460ff60401b1916815560405167ffffffffffffffff831681527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a1505050565b6109f661110d565b6301ffc9a760e01b60009081526020527f67be87c3ff9960ca1e9cfac5cab2ff4747269cf9ed20c9b7306235ac35a491c5805460ff19166001179055565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b810460ff16159067ffffffffffffffff16600081158015610a7a5750825b905060008267ffffffffffffffff166001148015610a975750303b155b905081158015610aa5575080155b15610ac35760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff191660011785558315610aed57845460ff60401b1916600160401b1785555b610af78787611158565b8315610b3d57845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050565b610b4e61110d565b806001600160a01b03163b600003610b845760405163fdeac91f60e01b81526001600160a01b0382166004820152602401610687565b600180546001600160a01b0319166001600160a01b0383169081179091556040516301ffc9a760e01b8152630a3888e560e31b60048201526301ffc9a790602401602060405180830381865afa925050508015610bfe575060408051601f3d908101601f19168201909252610bfb918101906115fb565b60015b610c265760405163fdeac91f60e01b81526001600160a01b0382166004820152602401610687565b80610c4f5760405163fdeac91f60e01b81526001600160a01b0383166004820152602401610687565b505b50565b33610c746000805160206117c8833981519152546001600160a01b031690565b6001600160a01b0316816001600160a01b031614610caf5760405162d1953b60e31b81526001600160a01b0382166004820152602401610687565b816001600160a01b03163b600003610ce5576040516361798f2f60e11b81526001600160a01b0383166004820152602401610687565b610c4f82611160565b6000806000805160206117a883398151915280546040516330b8415f60e01b81526001600160601b03909116600482015290915073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af4158015610d5e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d8291906115fb565b15610e0f576001546001600160a01b03168154604051631c5da14d60e11b81526001600160601b0390911660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa158015610de5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e09919061176d565b91505090565b54600160601b90046001600160a01b0316919050565b610e2d61110d565b610ead83846001600160a01b031663644c45e06040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e6f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e939190611618565b603c60008560405180602001604052806000815250610800565b6001600160a01b03821615610eca57610ec5826111c1565b611039565b6000610ede6001546001600160a01b031690565b6001600160a01b031663d39e60436028604051632392b61b60e21b81526003600482015273__$9dab98ad7ae1a426029e5739f922230a41$__90638e4ad86c90602401602060405180830381865af4158015610f3e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f62919061178a565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865afa158015610fa7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fcb919061176d565b9050611037816001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561100e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611032919061176d565b6111c1565b505b611049634a531f3360e01b6107d3565b61105963b68d180960e01b6107d3565b505050565b6000805160206117c8833981519152805460009190600160a01b900460ff16611088576000610e09565b638fb3603760e01b91505090565b61109e61110d565b6110a781610b46565b6110af6109ee565b6001600160a01b0382166110d65760405163f17ef42d60e01b815260040160405180910390fd5b506000805160206117a883398151915280546001600160601b0316600160601b6001600160a01b0390931692909202919091179055565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054600160401b900460ff1661115657604051631afcd79f60e31b815260040160405180910390fd5b565b61014d61110d565b6000805160206117c883398151915280546001600160a01b0383166001600160a01b03199091168117825560408051918252517f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad9181900360200190a15050565b6111c961110d565b610c51816111d561110d565b610c5181611160565b6000602082840312156111f057600080fd5b81356001600160e01b03198116811461120857600080fd5b9392505050565b6000815180845260005b8181101561123557602081850181015186830182015201611219565b506000602082860101526020601f19601f83011685010191505092915050565b6020815260006001600160601b038084511660208401528060208501511660408401525060ff604084015116606083015260608301511515608083015260018060a01b0360808401511660a083015260a08301516112be60c08401826001600160a01b03169052565b5060c083015160e0808401526112d861010084018261120f565b949350505050565b6001600160a01b0381168114610c5157600080fd5b6001600160601b0381168114610c5157600080fd5b60ff81168114610c5157600080fd5b8015158114610c5157600080fd5b634e487b7160e01b600052604160045260246000fd5b600082601f83011261134e57600080fd5b813567ffffffffffffffff8082111561136957611369611327565b604051601f8301601f19908116603f0116810190828211818310171561139157611391611327565b816040528381528660208588010111156113aa57600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060008060c087890312156113e357600080fd5b86356113ee816112e0565b955060208701356113fe816112f5565b9450604087013561140e8161130a565b9350606087013561141e81611319565b9250608087013561142e816112e0565b915060a087013567ffffffffffffffff81111561144a57600080fd5b61145689828a0161133d565b9150509295509295509295565b60006020828403121561147557600080fd5b813567ffffffffffffffff81111561148c57600080fd5b6112d88482850161133d565b600080604083850312156114ab57600080fd5b82356114b6816112e0565b9150602083013567ffffffffffffffff8111156114d257600080fd5b6114de8582860161133d565b9150509250929050565b6000602082840312156114fa57600080fd5b8135611208816112e0565b60008060006060848603121561151a57600080fd5b8335611525816112e0565b92506020840135611535816112e0565b91506040840135611545816112e0565b809150509250925092565b602081526000611208602083018461120f565b6000806040838503121561157657600080fd5b8235611581816112e0565b91506020830135611591816112e0565b809150509250929050565b6000602082840312156115ae57600080fd5b815162ffffff8116811461120857600080fd5b600181811c908216806115d557607f821691505b6020821081036115f557634e487b7160e01b600052602260045260246000fd5b50919050565b60006020828403121561160d57600080fd5b815161120881611319565b60006020828403121561162a57600080fd5b8151611208816112f5565b601f82111561105957600081815260208120601f850160051c8101602086101561165c5750805b601f850160051c820191505b8181101561167b57828155600101611668565b505050505050565b815167ffffffffffffffff81111561169d5761169d611327565b6116b1816116ab84546115c1565b84611635565b602080601f8311600181146116e657600084156116ce5750858301515b600019600386901b1c1916600185901b17855561167b565b600085815260208120601f198616915b82811015611715578886015182559484019460019091019084016116f6565b50858210156117335787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60006020828403121561175557600080fd5b815167ffffffffffffffff8116811461120857600080fd5b60006020828403121561177f57600080fd5b8151611208816112e0565b60006020828403121561179c57600080fd5b81516112088161130a56fe07ebcf49758b6ed3af50fa146bec0abe157c0218fe65dc0874c286e9d5da4f00f3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a00a2646970667358221220c0144e7af80e833263a8edb556a2586ddd62bc150b3534ffbc0d40e9aaa0201364736f6c63430008140033",
         | 
| 500 528 | 
             
              "linkReferences": {
         | 
| 501 | 
            -
                "contracts/types/Blocknumber.sol": {
         | 
| 502 | 
            -
                  "BlocknumberLib": [
         | 
| 503 | 
            -
                    {
         | 
| 504 | 
            -
                      "length": 20,
         | 
| 505 | 
            -
                      "start": 4665
         | 
| 506 | 
            -
                    }
         | 
| 507 | 
            -
                  ]
         | 
| 508 | 
            -
                },
         | 
| 509 529 | 
             
                "contracts/types/NftId.sol": {
         | 
| 510 530 | 
             
                  "NftIdLib": [
         | 
| 511 531 | 
             
                    {
         | 
| 512 532 | 
             
                      "length": 20,
         | 
| 513 | 
            -
                      "start":  | 
| 533 | 
            +
                      "start": 4008
         | 
| 514 534 | 
             
                    },
         | 
| 515 535 | 
             
                    {
         | 
| 516 536 | 
             
                      "length": 20,
         | 
| 517 | 
            -
                      "start":  | 
| 518 | 
            -
                    }
         | 
| 519 | 
            -
                  ]
         | 
| 520 | 
            -
                },
         | 
| 521 | 
            -
                "contracts/types/Timestamp.sol": {
         | 
| 522 | 
            -
                  "TimestampLib": [
         | 
| 523 | 
            -
                    {
         | 
| 524 | 
            -
                      "length": 20,
         | 
| 525 | 
            -
                      "start": 6224
         | 
| 537 | 
            +
                      "start": 5835
         | 
| 526 538 | 
             
                    }
         | 
| 527 539 | 
             
                  ]
         | 
| 528 540 | 
             
                },
         | 
| @@ -530,53 +542,35 @@ | |
| 530 542 | 
             
                  "VersionLib": [
         | 
| 531 543 | 
             
                    {
         | 
| 532 544 | 
             
                      "length": 20,
         | 
| 533 | 
            -
                      "start":  | 
| 545 | 
            +
                      "start": 3425
         | 
| 534 546 | 
             
                    },
         | 
| 535 547 | 
             
                    {
         | 
| 536 548 | 
             
                      "length": 20,
         | 
| 537 | 
            -
                      "start":  | 
| 538 | 
            -
                    } | 
| 539 | 
            -
             | 
| 540 | 
            -
             | 
| 541 | 
            -
                      "start": 3556
         | 
| 542 | 
            -
                    },
         | 
| 549 | 
            +
                      "start": 4661
         | 
| 550 | 
            +
                    }
         | 
| 551 | 
            +
                  ],
         | 
| 552 | 
            +
                  "VersionPartLib": [
         | 
| 543 553 | 
             
                    {
         | 
| 544 554 | 
             
                      "length": 20,
         | 
| 545 | 
            -
                      "start":  | 
| 555 | 
            +
                      "start": 506
         | 
| 546 556 | 
             
                    },
         | 
| 547 557 | 
             
                    {
         | 
| 548 558 | 
             
                      "length": 20,
         | 
| 549 | 
            -
                      "start":  | 
| 559 | 
            +
                      "start": 6315
         | 
| 550 560 | 
             
                    }
         | 
| 551 561 | 
             
                  ]
         | 
| 552 562 | 
             
                }
         | 
| 553 563 | 
             
              },
         | 
| 554 564 | 
             
              "deployedLinkReferences": {
         | 
| 555 | 
            -
                "contracts/types/Blocknumber.sol": {
         | 
| 556 | 
            -
                  "BlocknumberLib": [
         | 
| 557 | 
            -
                    {
         | 
| 558 | 
            -
                      "length": 20,
         | 
| 559 | 
            -
                      "start": 2243
         | 
| 560 | 
            -
                    }
         | 
| 561 | 
            -
                  ]
         | 
| 562 | 
            -
                },
         | 
| 563 565 | 
             
                "contracts/types/NftId.sol": {
         | 
| 564 566 | 
             
                  "NftIdLib": [
         | 
| 565 567 | 
             
                    {
         | 
| 566 568 | 
             
                      "length": 20,
         | 
| 567 | 
            -
                      "start":  | 
| 569 | 
            +
                      "start": 1537
         | 
| 568 570 | 
             
                    },
         | 
| 569 571 | 
             
                    {
         | 
| 570 572 | 
             
                      "length": 20,
         | 
| 571 | 
            -
                      "start":  | 
| 572 | 
            -
                    }
         | 
| 573 | 
            -
                  ]
         | 
| 574 | 
            -
                },
         | 
| 575 | 
            -
                "contracts/types/Timestamp.sol": {
         | 
| 576 | 
            -
                  "TimestampLib": [
         | 
| 577 | 
            -
                    {
         | 
| 578 | 
            -
                      "length": 20,
         | 
| 579 | 
            -
                      "start": 3802
         | 
| 573 | 
            +
                      "start": 3364
         | 
| 580 574 | 
             
                    }
         | 
| 581 575 | 
             
                  ]
         | 
| 582 576 | 
             
                },
         | 
| @@ -584,15 +578,17 @@ | |
| 584 578 | 
             
                  "VersionLib": [
         | 
| 585 579 | 
             
                    {
         | 
| 586 580 | 
             
                      "length": 20,
         | 
| 587 | 
            -
                      "start":  | 
| 581 | 
            +
                      "start": 954
         | 
| 588 582 | 
             
                    },
         | 
| 589 583 | 
             
                    {
         | 
| 590 584 | 
             
                      "length": 20,
         | 
| 591 | 
            -
                      "start":  | 
| 592 | 
            -
                    } | 
| 585 | 
            +
                      "start": 2190
         | 
| 586 | 
            +
                    }
         | 
| 587 | 
            +
                  ],
         | 
| 588 | 
            +
                  "VersionPartLib": [
         | 
| 593 589 | 
             
                    {
         | 
| 594 590 | 
             
                      "length": 20,
         | 
| 595 | 
            -
                      "start":  | 
| 591 | 
            +
                      "start": 3844
         | 
| 596 592 | 
             
                    }
         | 
| 597 593 | 
             
                  ]
         | 
| 598 594 | 
             
                }
         |