@etherisc/gif-next 0.0.2-fd4931b-974 → 0.0.2-fd9539f-062
Sign up to get free protection for your applications and to get access to all the features.
- package/README.md +20 -3
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +19 -13
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +115 -80
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +86 -59
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +11 -5
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +20 -1
- package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +1 -1
- package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +32 -101
- package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.json +83 -71
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +121 -12
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +105 -85
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +4 -0
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +708 -0
- package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.json +125 -29
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +195 -64
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +206 -49
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +79 -36
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +248 -118
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +2 -2
- package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
- package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.json +0 -53
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +4 -0
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +10 -0
- package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.json +2 -71
- package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +8 -116
- package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
- package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
- package/artifacts/contracts/mock/Dip.sol/Dip.json +2 -2
- package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +4 -0
- package/artifacts/contracts/oracle/IOracle.sol/IOracle.json +10 -0
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +4 -0
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +759 -0
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +4 -0
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +675 -0
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +4 -0
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +1146 -0
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +4 -0
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +1034 -0
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +4 -0
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +730 -0
- package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleService.sol/BundleService.json +91 -48
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +74 -43
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +20 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +11 -5
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +35 -1
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
- package/artifacts/contracts/pool/Pool.sol/Pool.json +18 -12
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +84 -42
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +63 -40
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +79 -36
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +68 -37
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +119 -68
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +88 -53
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +20 -1
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +20 -1
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +20 -1
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +20 -1
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +11 -5
- package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +1 -1
- package/artifacts/contracts/product/IProductService.sol/IProductService.json +20 -1
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +97 -46
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +77 -42
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +105 -62
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +81 -50
- package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
- package/artifacts/contracts/product/Product.sol/Product.json +18 -12
- package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +1 -1
- package/artifacts/contracts/product/ProductService.sol/ProductService.json +61 -26
- package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +59 -32
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +2 -2
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +82 -45
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +31 -1
- package/artifacts/contracts/registry/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +4 -0
- package/artifacts/contracts/registry/IServiceAuthorization.sol/IServiceAuthorization.json +129 -0
- package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
- package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
- package/artifacts/contracts/registry/Registry.sol/Registry.json +254 -97
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +4 -0
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +1901 -0
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +69 -15
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +51 -35
- package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +288 -182
- package/artifacts/contracts/registry/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +4 -0
- package/artifacts/contracts/registry/ServiceAuthorization.sol/ServiceAuthorization.json +171 -0
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +4 -0
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +187 -0
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +46 -177
- package/artifacts/contracts/shared/AccessAdmin.sol/AccessAdmin.dbg.json +4 -0
- package/artifacts/contracts/shared/AccessAdmin.sol/AccessAdmin.json +1559 -0
- package/artifacts/contracts/shared/AccessManagerCustom.sol/AccessManagerCustom.dbg.json +4 -0
- package/artifacts/contracts/shared/AccessManagerCustom.sol/AccessManagerCustom.json +1193 -0
- package/artifacts/contracts/shared/AccessManagerExtended.sol/AccessManagerExtended.dbg.json +4 -0
- package/artifacts/contracts/shared/AccessManagerExtended.sol/AccessManagerExtended.json +1747 -0
- package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.dbg.json +4 -0
- package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.json +1760 -0
- package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.dbg.json +4 -0
- package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.json +1838 -0
- package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.dbg.json +4 -0
- package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.json +1856 -0
- package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
- package/artifacts/contracts/shared/Component.sol/Component.json +18 -12
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +119 -69
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +85 -54
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.json +20 -1
- package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +1 -1
- package/artifacts/contracts/shared/ERC165.sol/ERC165.json +2 -2
- package/artifacts/contracts/shared/IAccessAdmin.sol/IAccessAdmin.dbg.json +4 -0
- package/artifacts/contracts/shared/IAccessAdmin.sol/IAccessAdmin.json +1189 -0
- package/artifacts/contracts/shared/IAccessManagerExtended.sol/IAccessManagerExtended.dbg.json +4 -0
- package/artifacts/contracts/shared/IAccessManagerExtended.sol/IAccessManagerExtended.json +1562 -0
- package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.dbg.json +4 -0
- package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.json +1600 -0
- package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponent.sol/IComponent.json +11 -5
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +27 -1
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +11 -5
- package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
- package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.json +0 -10
- package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +7 -1
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +7 -1
- package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
- package/artifacts/contracts/shared/IService.sol/IService.json +20 -1
- package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +1 -1
- package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +4 -0
- package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.json +39 -0
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +18 -12
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +10 -20
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +6 -6
- package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.dbg.json +1 -1
- package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.json +27 -35
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +13 -7
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +6 -6
- package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +35 -16
- package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
- package/artifacts/contracts/shared/Registerable.sol/Registerable.json +15 -9
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -2
- package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
- package/artifacts/contracts/shared/Service.sol/Service.json +20 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +6 -6
- 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/staking/IStaking.sol/IStaking.dbg.json +1 -1
- package/artifacts/contracts/staking/IStaking.sol/IStaking.json +247 -579
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +471 -62
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +4 -0
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +460 -0
- package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
- package/artifacts/contracts/staking/Staking.sol/Staking.json +303 -798
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +81 -164
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +368 -39
- package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingService.sol/StakingService.json +503 -120
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +67 -43
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +2261 -0
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +281 -18
- package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
- package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.json +2 -2
- package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
- package/artifacts/contracts/type/Amount.sol/AmountLib.json +68 -4
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +40 -2
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +4 -4
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +4 -4
- package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
- package/artifacts/contracts/type/Fee.sol/FeeLib.json +12 -12
- package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
- package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
- package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/NftId.sol/NftIdLib.json +28 -4
- package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
- package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +96 -2
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +4 -4
- package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
- package/artifacts/contracts/type/Referral.sol/ReferralLib.json +4 -4
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +4 -0
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +204 -0
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +4 -4
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +114 -4
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +52 -2
- package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +4 -0
- package/artifacts/contracts/type/Selector.sol/SelectorLib.json +129 -0
- package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +4 -0
- package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +10 -0
- package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/StateId.sol/StateIdLib.json +2 -2
- package/artifacts/contracts/type/String.sol/StrLib.dbg.json +4 -0
- package/artifacts/contracts/type/String.sol/StrLib.json +132 -0
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +17 -4
- package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +1 -1
- package/artifacts/contracts/type/UFixed.sol/MathLib.json +2 -2
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +2 -2
- package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionLib.json +2 -2
- package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionPartLib.json +2 -2
- package/contracts/distribution/Distribution.sol +2 -4
- package/contracts/distribution/DistributionService.sol +5 -6
- package/contracts/distribution/DistributionServiceManager.sol +1 -13
- package/contracts/distribution/IDistributionComponent.sol +1 -1
- package/contracts/distribution/IDistributionService.sol +1 -1
- package/contracts/instance/BundleManager.sol +1 -1
- package/contracts/instance/IInstance.sol +22 -12
- package/contracts/instance/IInstanceService.sol +27 -13
- package/contracts/instance/Instance.sol +85 -50
- package/contracts/instance/InstanceAdmin.sol +331 -0
- package/contracts/instance/InstanceAuthorizationsLib.sol +193 -152
- package/contracts/instance/InstanceReader.sol +33 -7
- package/contracts/instance/InstanceService.sol +120 -48
- package/contracts/instance/InstanceServiceManager.sol +1 -1
- package/contracts/instance/InstanceStore.sol +30 -21
- package/contracts/instance/base/BalanceStore.sol +12 -7
- package/contracts/instance/base/Cloneable.sol +3 -26
- package/contracts/instance/base/ObjectCounter.sol +21 -0
- package/contracts/instance/base/ObjectManager.sol +2 -4
- package/contracts/instance/module/IAccess.sol +3 -11
- package/contracts/instance/module/IBundle.sol +1 -1
- package/contracts/instance/module/IComponents.sol +1 -1
- package/contracts/instance/module/IDistribution.sol +1 -1
- package/contracts/instance/module/IPolicy.sol +1 -1
- package/contracts/instance/module/IRisk.sol +1 -1
- package/contracts/mock/Dip.sol +1 -1
- package/contracts/oracle/IOracle.sol +20 -0
- package/contracts/oracle/IOracleComponent.sol +32 -0
- package/contracts/oracle/IOracleService.sol +65 -0
- package/contracts/oracle/Oracle.sol +145 -0
- package/contracts/oracle/OracleService.sol +278 -0
- package/contracts/oracle/OracleServiceManager.sol +42 -0
- package/contracts/pool/BundleService.sol +20 -20
- package/contracts/pool/BundleServiceManager.sol +1 -1
- package/contracts/pool/IBundleService.sol +1 -1
- package/contracts/pool/IPoolComponent.sol +1 -1
- package/contracts/pool/IPoolService.sol +4 -1
- package/contracts/pool/Pool.sol +1 -1
- package/contracts/pool/PoolService.sol +38 -10
- package/contracts/pool/PoolServiceManager.sol +1 -1
- package/contracts/product/ApplicationService.sol +6 -6
- package/contracts/product/ApplicationServiceManager.sol +1 -1
- package/contracts/product/ClaimService.sol +12 -7
- package/contracts/product/ClaimServiceManager.sol +1 -1
- package/contracts/product/IApplicationService.sol +1 -1
- package/contracts/product/IClaimService.sol +7 -1
- package/contracts/product/IPolicyService.sol +1 -1
- package/contracts/product/IPricingService.sol +1 -1
- package/contracts/product/IProductComponent.sol +1 -1
- package/contracts/product/IProductService.sol +1 -1
- package/contracts/product/PolicyService.sol +9 -7
- package/contracts/product/PolicyServiceManager.sol +1 -1
- package/contracts/product/PricingService.sol +8 -9
- package/contracts/product/PricingServiceManager.sol +1 -1
- package/contracts/product/Product.sol +1 -1
- package/contracts/product/ProductService.sol +6 -6
- package/contracts/product/ProductServiceManager.sol +1 -1
- package/contracts/registry/ChainNft.sol +2 -1
- package/contracts/registry/IRegistry.sol +21 -15
- package/contracts/registry/IRegistryService.sol +2 -1
- package/contracts/registry/IServiceAuthorization.sol +35 -0
- package/contracts/registry/ITransferInterceptor.sol +1 -1
- package/contracts/registry/Registry.sol +86 -67
- package/contracts/registry/RegistryAdmin.sol +333 -0
- package/contracts/registry/RegistryService.sol +9 -71
- package/contracts/registry/RegistryServiceManager.sol +2 -21
- package/contracts/registry/ReleaseManager.sol +219 -222
- package/contracts/registry/ServiceAuthorization.sol +86 -0
- package/contracts/registry/ServiceAuthorizationV3.sol +200 -0
- package/contracts/registry/TokenRegistry.sol +57 -61
- package/contracts/shared/AccessAdmin.sol +759 -0
- package/contracts/shared/AccessManagerCustom.sol +741 -0
- package/contracts/shared/AccessManagerExtended.sol +481 -0
- package/contracts/shared/AccessManagerExtendedInitializeable.sol +13 -0
- package/contracts/shared/AccessManagerExtendedWithDisable.sol +137 -0
- package/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol +14 -0
- package/contracts/shared/Component.sol +9 -14
- package/contracts/shared/ComponentService.sol +40 -18
- package/contracts/shared/ComponentServiceManager.sol +1 -1
- package/contracts/shared/ComponentVerifyingService.sol +14 -8
- package/contracts/shared/ERC165.sol +1 -1
- package/contracts/shared/IAccessAdmin.sol +168 -0
- package/contracts/shared/IAccessManagerExtended.sol +74 -0
- package/contracts/shared/IAccessManagerExtendedWithDisable.sol +18 -0
- package/contracts/shared/IComponent.sol +4 -8
- package/contracts/shared/IComponentService.sol +12 -1
- package/contracts/shared/IInstanceLinkedComponent.sol +1 -1
- package/contracts/shared/IKeyValueStore.sol +2 -2
- package/contracts/shared/ILifecycle.sol +1 -1
- package/contracts/shared/INftOwnable.sol +2 -2
- package/contracts/shared/IPolicyHolder.sol +1 -1
- package/contracts/shared/IRegisterable.sol +1 -1
- package/contracts/shared/IRegistryLinked.sol +1 -1
- package/contracts/shared/IService.sol +8 -1
- package/contracts/shared/IVersionable.sol +1 -1
- package/contracts/shared/InitializableCustom.sol +177 -0
- package/contracts/shared/InstanceLinkedComponent.sol +2 -3
- package/contracts/shared/KeyValueStore.sol +2 -5
- package/contracts/shared/Lifecycle.sol +12 -3
- package/contracts/shared/NftIdSetManager.sol +3 -7
- package/contracts/shared/NftOwnable.sol +3 -14
- package/contracts/shared/PolicyHolder.sol +3 -2
- package/contracts/shared/ProxyManager.sol +7 -3
- package/contracts/shared/Registerable.sol +1 -1
- package/contracts/shared/RegistryLinked.sol +1 -1
- package/contracts/shared/Service.sol +28 -22
- package/contracts/shared/TokenHandler.sol +1 -1
- package/contracts/shared/UpgradableProxyWithAdmin.sol +1 -1
- package/contracts/shared/Versionable.sol +1 -1
- package/contracts/staking/IStaking.sol +94 -39
- package/contracts/staking/IStakingService.sol +71 -40
- package/contracts/staking/StakeManagerLib.sol +231 -0
- package/contracts/staking/Staking.sol +303 -138
- package/contracts/staking/StakingManager.sol +23 -21
- package/contracts/staking/StakingReader.sol +120 -25
- package/contracts/staking/StakingService.sol +194 -77
- package/contracts/staking/StakingServiceManager.sol +3 -3
- package/contracts/staking/StakingStore.sol +613 -0
- package/contracts/staking/TargetManagerLib.sol +77 -11
- package/contracts/type/AddressSet.sol +1 -1
- package/contracts/type/Amount.sol +16 -2
- package/contracts/type/Blocknumber.sol +14 -2
- package/contracts/type/ClaimId.sol +1 -1
- package/contracts/type/DistributorType.sol +1 -1
- package/contracts/type/Fee.sol +1 -1
- package/contracts/type/Key32.sol +1 -1
- package/contracts/type/NftId.sol +9 -9
- package/contracts/type/NftIdSet.sol +1 -1
- package/contracts/type/ObjectType.sol +140 -68
- package/contracts/type/PayoutId.sol +1 -1
- package/contracts/type/Referral.sol +1 -1
- package/contracts/type/RequestId.sol +75 -0
- package/contracts/type/RiskId.sol +1 -1
- package/contracts/type/RoleId.sol +79 -21
- package/contracts/type/Seconds.sol +19 -1
- package/contracts/type/Selector.sol +102 -0
- package/contracts/type/StateId.sol +13 -1
- package/contracts/type/String.sol +53 -0
- package/contracts/type/Timestamp.sol +7 -3
- package/contracts/type/UFixed.sol +1 -1
- package/contracts/type/Version.sol +1 -1
- package/package.json +6 -3
- package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +0 -4
- package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +0 -1348
- package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.dbg.json +0 -4
- package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.json +0 -298
- package/artifacts/contracts/registry/ServiceAuthorizationsLib.sol/ServiceAuthorizationsLib.dbg.json +0 -4
- package/artifacts/contracts/registry/ServiceAuthorizationsLib.sol/ServiceAuthorizationsLib.json +0 -137
- package/artifacts/contracts/shared/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.dbg.json +0 -4
- package/artifacts/contracts/shared/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.json +0 -1206
- package/contracts/instance/InstanceAccessManager.sol +0 -543
- package/contracts/registry/RegistryAccessManager.sol +0 -167
- package/contracts/registry/ServiceAuthorizationsLib.sol +0 -173
- package/contracts/shared/AccessManagerUpgradeableInitializeable.sol +0 -13
@@ -0,0 +1,730 @@
|
|
1
|
+
{
|
2
|
+
"_format": "hh-sol-artifact-1",
|
3
|
+
"contractName": "OracleServiceManager",
|
4
|
+
"sourceName": "contracts/oracle/OracleServiceManager.sol",
|
5
|
+
"abi": [
|
6
|
+
{
|
7
|
+
"inputs": [
|
8
|
+
{
|
9
|
+
"internalType": "address",
|
10
|
+
"name": "authority",
|
11
|
+
"type": "address"
|
12
|
+
},
|
13
|
+
{
|
14
|
+
"internalType": "address",
|
15
|
+
"name": "registryAddress",
|
16
|
+
"type": "address"
|
17
|
+
},
|
18
|
+
{
|
19
|
+
"internalType": "bytes32",
|
20
|
+
"name": "salt",
|
21
|
+
"type": "bytes32"
|
22
|
+
}
|
23
|
+
],
|
24
|
+
"stateMutability": "nonpayable",
|
25
|
+
"type": "constructor"
|
26
|
+
},
|
27
|
+
{
|
28
|
+
"inputs": [
|
29
|
+
{
|
30
|
+
"internalType": "NftId",
|
31
|
+
"name": "nftId",
|
32
|
+
"type": "uint96"
|
33
|
+
}
|
34
|
+
],
|
35
|
+
"name": "ErrorNftOwnableAlreadyLinked",
|
36
|
+
"type": "error"
|
37
|
+
},
|
38
|
+
{
|
39
|
+
"inputs": [
|
40
|
+
{
|
41
|
+
"internalType": "address",
|
42
|
+
"name": "contractAddress",
|
43
|
+
"type": "address"
|
44
|
+
}
|
45
|
+
],
|
46
|
+
"name": "ErrorNftOwnableContractNotRegistered",
|
47
|
+
"type": "error"
|
48
|
+
},
|
49
|
+
{
|
50
|
+
"inputs": [],
|
51
|
+
"name": "ErrorNftOwnableInitialOwnerZero",
|
52
|
+
"type": "error"
|
53
|
+
},
|
54
|
+
{
|
55
|
+
"inputs": [
|
56
|
+
{
|
57
|
+
"internalType": "address",
|
58
|
+
"name": "account",
|
59
|
+
"type": "address"
|
60
|
+
}
|
61
|
+
],
|
62
|
+
"name": "ErrorNftOwnableNotOwner",
|
63
|
+
"type": "error"
|
64
|
+
},
|
65
|
+
{
|
66
|
+
"inputs": [
|
67
|
+
{
|
68
|
+
"internalType": "address",
|
69
|
+
"name": "registryAddress",
|
70
|
+
"type": "address"
|
71
|
+
}
|
72
|
+
],
|
73
|
+
"name": "ErrorNotRegistry",
|
74
|
+
"type": "error"
|
75
|
+
},
|
76
|
+
{
|
77
|
+
"inputs": [],
|
78
|
+
"name": "ErrorProxyManagerAlreadyDeployed",
|
79
|
+
"type": "error"
|
80
|
+
},
|
81
|
+
{
|
82
|
+
"inputs": [
|
83
|
+
{
|
84
|
+
"internalType": "Version",
|
85
|
+
"name": "nextVersion",
|
86
|
+
"type": "uint24"
|
87
|
+
}
|
88
|
+
],
|
89
|
+
"name": "ErrorProxyManagerNextVersionNotIncreasing",
|
90
|
+
"type": "error"
|
91
|
+
},
|
92
|
+
{
|
93
|
+
"inputs": [],
|
94
|
+
"name": "ErrorProxyManagerNotYetDeployed",
|
95
|
+
"type": "error"
|
96
|
+
},
|
97
|
+
{
|
98
|
+
"inputs": [],
|
99
|
+
"name": "ErrorProxyManagerZeroVersion",
|
100
|
+
"type": "error"
|
101
|
+
},
|
102
|
+
{
|
103
|
+
"inputs": [],
|
104
|
+
"name": "InvalidInitialization",
|
105
|
+
"type": "error"
|
106
|
+
},
|
107
|
+
{
|
108
|
+
"inputs": [],
|
109
|
+
"name": "NotInitializing",
|
110
|
+
"type": "error"
|
111
|
+
},
|
112
|
+
{
|
113
|
+
"anonymous": false,
|
114
|
+
"inputs": [
|
115
|
+
{
|
116
|
+
"indexed": false,
|
117
|
+
"internalType": "uint64",
|
118
|
+
"name": "version",
|
119
|
+
"type": "uint64"
|
120
|
+
}
|
121
|
+
],
|
122
|
+
"name": "Initialized",
|
123
|
+
"type": "event"
|
124
|
+
},
|
125
|
+
{
|
126
|
+
"anonymous": false,
|
127
|
+
"inputs": [
|
128
|
+
{
|
129
|
+
"indexed": true,
|
130
|
+
"internalType": "address",
|
131
|
+
"name": "proxy",
|
132
|
+
"type": "address"
|
133
|
+
},
|
134
|
+
{
|
135
|
+
"indexed": false,
|
136
|
+
"internalType": "address",
|
137
|
+
"name": "initialImplementation",
|
138
|
+
"type": "address"
|
139
|
+
}
|
140
|
+
],
|
141
|
+
"name": "LogProxyManagerVersionableDeployed",
|
142
|
+
"type": "event"
|
143
|
+
},
|
144
|
+
{
|
145
|
+
"anonymous": false,
|
146
|
+
"inputs": [
|
147
|
+
{
|
148
|
+
"indexed": true,
|
149
|
+
"internalType": "address",
|
150
|
+
"name": "proxy",
|
151
|
+
"type": "address"
|
152
|
+
},
|
153
|
+
{
|
154
|
+
"indexed": false,
|
155
|
+
"internalType": "address",
|
156
|
+
"name": "upgradedImplementation",
|
157
|
+
"type": "address"
|
158
|
+
}
|
159
|
+
],
|
160
|
+
"name": "LogProxyManagerVersionableUpgraded",
|
161
|
+
"type": "event"
|
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
|
+
},
|
176
|
+
{
|
177
|
+
"inputs": [
|
178
|
+
{
|
179
|
+
"internalType": "address",
|
180
|
+
"name": "initialImplementation",
|
181
|
+
"type": "address"
|
182
|
+
},
|
183
|
+
{
|
184
|
+
"internalType": "bytes",
|
185
|
+
"name": "initializationData",
|
186
|
+
"type": "bytes"
|
187
|
+
}
|
188
|
+
],
|
189
|
+
"name": "deploy",
|
190
|
+
"outputs": [
|
191
|
+
{
|
192
|
+
"internalType": "contract IVersionable",
|
193
|
+
"name": "versionable",
|
194
|
+
"type": "address"
|
195
|
+
}
|
196
|
+
],
|
197
|
+
"stateMutability": "nonpayable",
|
198
|
+
"type": "function"
|
199
|
+
},
|
200
|
+
{
|
201
|
+
"inputs": [
|
202
|
+
{
|
203
|
+
"internalType": "address",
|
204
|
+
"name": "initialImplementation",
|
205
|
+
"type": "address"
|
206
|
+
},
|
207
|
+
{
|
208
|
+
"internalType": "bytes",
|
209
|
+
"name": "initializationData",
|
210
|
+
"type": "bytes"
|
211
|
+
},
|
212
|
+
{
|
213
|
+
"internalType": "bytes32",
|
214
|
+
"name": "salt",
|
215
|
+
"type": "bytes32"
|
216
|
+
}
|
217
|
+
],
|
218
|
+
"name": "deployDetermenistic",
|
219
|
+
"outputs": [
|
220
|
+
{
|
221
|
+
"internalType": "contract IVersionable",
|
222
|
+
"name": "versionable",
|
223
|
+
"type": "address"
|
224
|
+
}
|
225
|
+
],
|
226
|
+
"stateMutability": "nonpayable",
|
227
|
+
"type": "function"
|
228
|
+
},
|
229
|
+
{
|
230
|
+
"inputs": [
|
231
|
+
{
|
232
|
+
"internalType": "address",
|
233
|
+
"name": "proxyOwner",
|
234
|
+
"type": "address"
|
235
|
+
},
|
236
|
+
{
|
237
|
+
"internalType": "bytes",
|
238
|
+
"name": "deployData",
|
239
|
+
"type": "bytes"
|
240
|
+
}
|
241
|
+
],
|
242
|
+
"name": "getDeployData",
|
243
|
+
"outputs": [
|
244
|
+
{
|
245
|
+
"internalType": "bytes",
|
246
|
+
"name": "data",
|
247
|
+
"type": "bytes"
|
248
|
+
}
|
249
|
+
],
|
250
|
+
"stateMutability": "pure",
|
251
|
+
"type": "function"
|
252
|
+
},
|
253
|
+
{
|
254
|
+
"inputs": [],
|
255
|
+
"name": "getNftId",
|
256
|
+
"outputs": [
|
257
|
+
{
|
258
|
+
"internalType": "NftId",
|
259
|
+
"name": "",
|
260
|
+
"type": "uint96"
|
261
|
+
}
|
262
|
+
],
|
263
|
+
"stateMutability": "view",
|
264
|
+
"type": "function"
|
265
|
+
},
|
266
|
+
{
|
267
|
+
"inputs": [],
|
268
|
+
"name": "getOracleService",
|
269
|
+
"outputs": [
|
270
|
+
{
|
271
|
+
"internalType": "contract OracleService",
|
272
|
+
"name": "oracleService",
|
273
|
+
"type": "address"
|
274
|
+
}
|
275
|
+
],
|
276
|
+
"stateMutability": "view",
|
277
|
+
"type": "function"
|
278
|
+
},
|
279
|
+
{
|
280
|
+
"inputs": [],
|
281
|
+
"name": "getOwner",
|
282
|
+
"outputs": [
|
283
|
+
{
|
284
|
+
"internalType": "address",
|
285
|
+
"name": "",
|
286
|
+
"type": "address"
|
287
|
+
}
|
288
|
+
],
|
289
|
+
"stateMutability": "view",
|
290
|
+
"type": "function"
|
291
|
+
},
|
292
|
+
{
|
293
|
+
"inputs": [],
|
294
|
+
"name": "getProxy",
|
295
|
+
"outputs": [
|
296
|
+
{
|
297
|
+
"internalType": "contract UpgradableProxyWithAdmin",
|
298
|
+
"name": "",
|
299
|
+
"type": "address"
|
300
|
+
}
|
301
|
+
],
|
302
|
+
"stateMutability": "view",
|
303
|
+
"type": "function"
|
304
|
+
},
|
305
|
+
{
|
306
|
+
"inputs": [],
|
307
|
+
"name": "getRegistry",
|
308
|
+
"outputs": [
|
309
|
+
{
|
310
|
+
"internalType": "contract IRegistry",
|
311
|
+
"name": "",
|
312
|
+
"type": "address"
|
313
|
+
}
|
314
|
+
],
|
315
|
+
"stateMutability": "view",
|
316
|
+
"type": "function"
|
317
|
+
},
|
318
|
+
{
|
319
|
+
"inputs": [
|
320
|
+
{
|
321
|
+
"internalType": "bytes",
|
322
|
+
"name": "upgradeData",
|
323
|
+
"type": "bytes"
|
324
|
+
}
|
325
|
+
],
|
326
|
+
"name": "getUpgradeData",
|
327
|
+
"outputs": [
|
328
|
+
{
|
329
|
+
"internalType": "bytes",
|
330
|
+
"name": "data",
|
331
|
+
"type": "bytes"
|
332
|
+
}
|
333
|
+
],
|
334
|
+
"stateMutability": "pure",
|
335
|
+
"type": "function"
|
336
|
+
},
|
337
|
+
{
|
338
|
+
"inputs": [],
|
339
|
+
"name": "getVersion",
|
340
|
+
"outputs": [
|
341
|
+
{
|
342
|
+
"internalType": "Version",
|
343
|
+
"name": "",
|
344
|
+
"type": "uint24"
|
345
|
+
}
|
346
|
+
],
|
347
|
+
"stateMutability": "view",
|
348
|
+
"type": "function"
|
349
|
+
},
|
350
|
+
{
|
351
|
+
"inputs": [
|
352
|
+
{
|
353
|
+
"internalType": "uint256",
|
354
|
+
"name": "idx",
|
355
|
+
"type": "uint256"
|
356
|
+
}
|
357
|
+
],
|
358
|
+
"name": "getVersion",
|
359
|
+
"outputs": [
|
360
|
+
{
|
361
|
+
"internalType": "Version",
|
362
|
+
"name": "",
|
363
|
+
"type": "uint24"
|
364
|
+
}
|
365
|
+
],
|
366
|
+
"stateMutability": "view",
|
367
|
+
"type": "function"
|
368
|
+
},
|
369
|
+
{
|
370
|
+
"inputs": [],
|
371
|
+
"name": "getVersionCount",
|
372
|
+
"outputs": [
|
373
|
+
{
|
374
|
+
"internalType": "uint256",
|
375
|
+
"name": "",
|
376
|
+
"type": "uint256"
|
377
|
+
}
|
378
|
+
],
|
379
|
+
"stateMutability": "view",
|
380
|
+
"type": "function"
|
381
|
+
},
|
382
|
+
{
|
383
|
+
"inputs": [
|
384
|
+
{
|
385
|
+
"internalType": "Version",
|
386
|
+
"name": "_version",
|
387
|
+
"type": "uint24"
|
388
|
+
}
|
389
|
+
],
|
390
|
+
"name": "getVersionInfo",
|
391
|
+
"outputs": [
|
392
|
+
{
|
393
|
+
"components": [
|
394
|
+
{
|
395
|
+
"internalType": "Version",
|
396
|
+
"name": "version",
|
397
|
+
"type": "uint24"
|
398
|
+
},
|
399
|
+
{
|
400
|
+
"internalType": "address",
|
401
|
+
"name": "implementation",
|
402
|
+
"type": "address"
|
403
|
+
},
|
404
|
+
{
|
405
|
+
"internalType": "address",
|
406
|
+
"name": "activatedBy",
|
407
|
+
"type": "address"
|
408
|
+
},
|
409
|
+
{
|
410
|
+
"internalType": "Timestamp",
|
411
|
+
"name": "activatedAt",
|
412
|
+
"type": "uint40"
|
413
|
+
},
|
414
|
+
{
|
415
|
+
"internalType": "Blocknumber",
|
416
|
+
"name": "activatedIn",
|
417
|
+
"type": "uint32"
|
418
|
+
}
|
419
|
+
],
|
420
|
+
"internalType": "struct ProxyManager.VersionInfo",
|
421
|
+
"name": "",
|
422
|
+
"type": "tuple"
|
423
|
+
}
|
424
|
+
],
|
425
|
+
"stateMutability": "view",
|
426
|
+
"type": "function"
|
427
|
+
},
|
428
|
+
{
|
429
|
+
"inputs": [],
|
430
|
+
"name": "initializeERC165",
|
431
|
+
"outputs": [],
|
432
|
+
"stateMutability": "nonpayable",
|
433
|
+
"type": "function"
|
434
|
+
},
|
435
|
+
{
|
436
|
+
"inputs": [
|
437
|
+
{
|
438
|
+
"internalType": "address",
|
439
|
+
"name": "initialOwner",
|
440
|
+
"type": "address"
|
441
|
+
},
|
442
|
+
{
|
443
|
+
"internalType": "address",
|
444
|
+
"name": "registryAddress",
|
445
|
+
"type": "address"
|
446
|
+
}
|
447
|
+
],
|
448
|
+
"name": "initializeNftOwnable",
|
449
|
+
"outputs": [],
|
450
|
+
"stateMutability": "nonpayable",
|
451
|
+
"type": "function"
|
452
|
+
},
|
453
|
+
{
|
454
|
+
"inputs": [
|
455
|
+
{
|
456
|
+
"internalType": "address",
|
457
|
+
"name": "registry",
|
458
|
+
"type": "address"
|
459
|
+
}
|
460
|
+
],
|
461
|
+
"name": "initializeProxyManager",
|
462
|
+
"outputs": [],
|
463
|
+
"stateMutability": "nonpayable",
|
464
|
+
"type": "function"
|
465
|
+
},
|
466
|
+
{
|
467
|
+
"inputs": [
|
468
|
+
{
|
469
|
+
"internalType": "address",
|
470
|
+
"name": "registryAddress",
|
471
|
+
"type": "address"
|
472
|
+
}
|
473
|
+
],
|
474
|
+
"name": "initializeRegistryLinked",
|
475
|
+
"outputs": [],
|
476
|
+
"stateMutability": "nonpayable",
|
477
|
+
"type": "function"
|
478
|
+
},
|
479
|
+
{
|
480
|
+
"inputs": [],
|
481
|
+
"name": "linkToProxy",
|
482
|
+
"outputs": [
|
483
|
+
{
|
484
|
+
"internalType": "NftId",
|
485
|
+
"name": "",
|
486
|
+
"type": "uint96"
|
487
|
+
}
|
488
|
+
],
|
489
|
+
"stateMutability": "nonpayable",
|
490
|
+
"type": "function"
|
491
|
+
},
|
492
|
+
{
|
493
|
+
"inputs": [],
|
494
|
+
"name": "linkToRegisteredNftId",
|
495
|
+
"outputs": [
|
496
|
+
{
|
497
|
+
"internalType": "NftId",
|
498
|
+
"name": "nftId",
|
499
|
+
"type": "uint96"
|
500
|
+
}
|
501
|
+
],
|
502
|
+
"stateMutability": "nonpayable",
|
503
|
+
"type": "function"
|
504
|
+
},
|
505
|
+
{
|
506
|
+
"inputs": [
|
507
|
+
{
|
508
|
+
"internalType": "bytes4",
|
509
|
+
"name": "interfaceId",
|
510
|
+
"type": "bytes4"
|
511
|
+
}
|
512
|
+
],
|
513
|
+
"name": "registerInterface",
|
514
|
+
"outputs": [],
|
515
|
+
"stateMutability": "nonpayable",
|
516
|
+
"type": "function"
|
517
|
+
},
|
518
|
+
{
|
519
|
+
"inputs": [
|
520
|
+
{
|
521
|
+
"internalType": "bytes4",
|
522
|
+
"name": "interfaceId",
|
523
|
+
"type": "bytes4"
|
524
|
+
}
|
525
|
+
],
|
526
|
+
"name": "supportsInterface",
|
527
|
+
"outputs": [
|
528
|
+
{
|
529
|
+
"internalType": "bool",
|
530
|
+
"name": "",
|
531
|
+
"type": "bool"
|
532
|
+
}
|
533
|
+
],
|
534
|
+
"stateMutability": "view",
|
535
|
+
"type": "function"
|
536
|
+
},
|
537
|
+
{
|
538
|
+
"inputs": [
|
539
|
+
{
|
540
|
+
"internalType": "address",
|
541
|
+
"name": "newImplementation",
|
542
|
+
"type": "address"
|
543
|
+
},
|
544
|
+
{
|
545
|
+
"internalType": "bytes",
|
546
|
+
"name": "upgradeData",
|
547
|
+
"type": "bytes"
|
548
|
+
}
|
549
|
+
],
|
550
|
+
"name": "upgrade",
|
551
|
+
"outputs": [
|
552
|
+
{
|
553
|
+
"internalType": "contract IVersionable",
|
554
|
+
"name": "versionable",
|
555
|
+
"type": "address"
|
556
|
+
}
|
557
|
+
],
|
558
|
+
"stateMutability": "nonpayable",
|
559
|
+
"type": "function"
|
560
|
+
}
|
561
|
+
],
|
562
|
+
"bytecode": "0x608060405234801562000010575f80fd5b5060405162007e0f38038062007e0f833981016040819052620000339162000b76565b816200003f81620000e3565b505f81604051620000509062000b3e565b8190604051809103905ff59050801580156200006e573d5f803e3d5ffd5b50604080516001600160a01b038681166020830152308284015287166060808301919091528251808303909101815260809091019091529091505f620000b683838662000201565b600580546001600160a01b0319166001600160a01b03929092169190911790555062000d36945050505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff1615906001600160401b03165f811580156200012d5750825b90505f826001600160401b03166001148015620001495750303b155b90508115801562000158575080155b15620001775760405163f92ee8a960e01b815260040160405180910390fd5b84546001600160401b03191660011785558315620001a657845460ff60401b1916680100000000000000001785555b620001b233876200039c565b8315620001f957845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505050565b5f6200020c62000435565b6001600160a01b0316336001600160a01b031614620002455760405163086391f760e31b81523360048201526024015b60405180910390fd5b60045415620002675760405163402b135f60e11b815260040160405180910390fd5b5f6200027262000435565b90503083868262000284858962000589565b604051620002929062000b4c565b620002a09392919062000bf9565b8190604051809103905ff5905080158015620002be573d5f803e3d5ffd5b50600280546001600160a01b0319166001600160a01b03929092169182179055604080516303639b8b60e21b815290519194506200034f918591630d8e6e2c9160048083019260209291908290030181865afa15801562000321573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000347919062000c2f565b8784620005e3565b6002546040516001600160a01b038881168252909116907f78922e3fa1abc96399973cb25528ba892214b57da9d1a573937c460d9f5eb4759060200160405180910390a250509392505050565b620003a66200098f565b620003b181620009e0565b620003bb62000af7565b6001600160a01b038216620003e35760405163f17ef42d60e01b815260040160405180910390fd5b507f07ebcf49758b6ed3af50fa146bec0abe157c0218fe65dc0874c286e9d5da4f0080546001600160601b03166c010000000000000000000000006001600160a01b0390931692909202919091179055565b5f807f07ebcf49758b6ed3af50fa146bec0abe157c0218fe65dc0874c286e9d5da4f0080546040516330b8415f60e01b81526001600160601b03909116600482015290915073__$94a2c899be079b00d952d0d84fffaa5c34$__906330b8415f90602401602060405180830381865af4158015620004b5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620004db919062000c5a565b156200056a576001546001600160a01b03168154604051631c5da14d60e11b81526001600160601b0390911660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa1580156200053e573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000564919062000c7b565b91505090565b546c0100000000000000000000000090046001600160a01b0316919050565b60606349bb9e4b60e01b8383604051602401620005a892919062000c97565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915290505b92915050565b620006638373__$8eede297b65ed5a56eb3f84d8232ae93f5$__6304b8f6c56040518163ffffffff1660e01b8152600401602060405180830381865af415801562000630573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000656919062000c2f565b62ffffff90811691161490565b1562000682576040516348c618db60e01b815260040160405180910390fd5b60045415620007e857600480546200069d9060019062000cc4565b81548110620006b057620006b062000ce4565b5f9182526020909120600a80830490910154604051635560100760e01b8152919092066003026101000a90910462ffffff16600482015273__$8eede297b65ed5a56eb3f84d8232ae93f5$__90635560100790602401602060405180830381865af415801562000722573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000748919062000cf8565b604051635560100760e01b815262ffffff8516600482015273__$8eede297b65ed5a56eb3f84d8232ae93f5$__90635560100790602401602060405180830381865af41580156200079b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620007c1919062000cf8565b11620007e857604051633e614b6d60e11b815262ffffff841660048201526024016200023c565b600480546001810182555f829052600a8082047f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b01805462ffffff808916600394909506939093026101000a848102930219169190911790556040805160a0810182529182526001600160a01b038086166020848101919091529085168383015281516356db0c1960e11b815291519293606085019373__$91d01b1eccbca8d6f94a5eb2a0acb040e9$__9363adb6183293818401939092918290030181865af4158015620008b9573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620008df919062000d10565b64ffffffffff90811682524363ffffffff90811660209384015262ffffff9687165f90815260038452604090819020855181549587015199166001600160b81b03199095169490941763010000006001600160a01b03998a1602178455840151600190930180546060860151608090960151949098166001600160c81b031990981697909717600160a01b94909216939093021763ffffffff60c81b1916600160c81b9190921602179092555050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005468010000000000000000900460ff16620009de57604051631afcd79f60e31b815260040160405180910390fd5b565b620009ea6200098f565b806001600160a01b03163b5f0362000a215760405163fdeac91f60e01b81526001600160a01b03821660048201526024016200023c565b600180546001600160a01b0319166001600160a01b0383169081179091556040516301ffc9a760e01b815263e607072160e01b60048201526301ffc9a790602401602060405180830381865afa92505050801562000a9e575060408051601f3d908101601f1916820190925262000a9b9181019062000c5a565b60015b62000ac85760405163fdeac91f60e01b81526001600160a01b03821660048201526024016200023c565b8062000af35760405163fdeac91f60e01b81526001600160a01b03831660048201526024016200023c565b5050565b62000b016200098f565b6301ffc9a760e01b5f9081526020527f67be87c3ff9960ca1e9cfac5cab2ff4747269cf9ed20c9b7306235ac35a491c5805460ff19166001179055565b6138c7806200367d83390190565b610ecb8062006f4483390190565b80516001600160a01b038116811462000b71575f80fd5b919050565b5f805f6060848603121562000b89575f80fd5b62000b948462000b5a565b925062000ba46020850162000b5a565b9150604084015190509250925092565b5f81518084525f5b8181101562000bda5760208185018101518683018201520162000bbc565b505f602082860101526020601f19601f83011685010191505092915050565b6001600160a01b038481168252831660208201526060604082018190525f9062000c269083018462000bb4565b95945050505050565b5f6020828403121562000c40575f80fd5b815162ffffff8116811462000c53575f80fd5b9392505050565b5f6020828403121562000c6b575f80fd5b8151801515811462000c53575f80fd5b5f6020828403121562000c8c575f80fd5b62000c538262000b5a565b6001600160a01b03831681526040602082018190525f9062000cbc9083018462000bb4565b949350505050565b81810381811115620005dd57634e487b7160e01b5f52601160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b5f6020828403121562000d09575f80fd5b5051919050565b5f6020828403121562000d21575f80fd5b815164ffffffffff8116811462000c53575f80fd5b6129398062000d445f395ff3fe608060405234801562000010575f80fd5b506004361062000164575f3560e01c8063675393bf11620000cf578063ada9652e1162000083578063ada9652e146200042f578063b88da7591462000445578063c987336c146200045c578063e97fac051462000473578063f7c34ee0146200048a578063fd0c63d914620004a1575f80fd5b8063675393bf14620003c0578063893d20e814620003d75780638e9afce614620003e1578063933a9ce814620003f8578063946dfcfe146200040a578063a7ecda36146200041d575f80fd5b80631775564d11620001275780631775564d1462000237578063214cdb80146200025d57806336fc697e14620002745780634d459c90146200027e5780635ab1bd53146200038f578063644c45e014620003a1575f80fd5b806301ffc9a71462000168578063058f7a9714620001ac57806307484e8014620001c55780630d8e6e2c14620001f5578063138461e01462000214575b5f80fd5b6200019762000179366004620015f6565b6001600160e01b0319165f9081526020819052604090205460ff1690565b60405190151581526020015b60405180910390f35b620001c3620001bd3660046200163b565b620004ab565b005b620001dc620001d6366004620016fe565b620005c2565b6040516001600160a01b039091168152602001620001a3565b620001ff6200075d565b60405162ffffff9091168152602001620001a3565b6200021e620007d0565b6040516001600160601b039091168152602001620001a3565b6200024e6200024836600462001759565b620007dc565b604051620001a39190620017f1565b620001c36200026e366004620015f6565b62000836565b620001c362000864565b620003316200028f36600462001816565b6040805160a0810182525f808252602082018190529181018290526060810182905260808101919091525062ffffff9081165f90815260036020908152604091829020825160a0810184528154948516815263010000009094046001600160a01b03908116928501929092526001015490811691830191909152600160a01b810464ffffffffff166060830152600160c81b900463ffffffff16608082015290565b60408051825162ffffff1681526020808401516001600160a01b039081169183019190915283830151169181019190915260608083015164ffffffffff169082015260809182015163ffffffff169181019190915260a001620001a3565b6001546001600160a01b0316620001dc565b5f80516020620028e4833981519152546001600160601b03166200021e565b620001c3620003d13660046200163b565b620008ab565b620001dc620009c3565b6200024e620003f236600462001834565b62000afc565b6002546001600160a01b0316620001dc565b6004545b604051908152602001620001a3565b6005546001600160a01b0316620001dc565b6200040e5f80516020620028e483398151915281565b620001ff6200045636600462001872565b62000b51565b620001dc6200046d36600462001759565b62000b92565b620001dc6200048436600462001759565b62000dc1565b620001c36200049b3660046200188a565b62000f52565b6200021e62000fd0565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b810460ff16159067ffffffffffffffff165f81158015620004f15750825b90505f8267ffffffffffffffff1660011480156200050e5750303b155b9050811580156200051d575080155b156200053c5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff1916600117855583156200056757845460ff60401b1916600160401b1785555b62000573338762000f52565b8315620005ba57845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505050565b5f620005cd620009c3565b6001600160a01b0316336001600160a01b031614620006065760405163086391f760e31b81523360048201526024015b60405180910390fd5b60045415620006285760405163402b135f60e11b815260040160405180910390fd5b5f62000633620009c3565b905030838682620006458589620007dc565b6040516200065390620015e8565b6200066193929190620018c6565b8190604051809103905ff59050801580156200067f573d5f803e3d5ffd5b50600280546001600160a01b0319166001600160a01b03929092169182179055604080516303639b8b60e21b8152905191945062000710918591630d8e6e2c9160048083019260209291908290030181865afa158015620006e2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620007089190620018fc565b878462000fe9565b6002546040516001600160a01b038881168252909116907f78922e3fa1abc96399973cb25528ba892214b57da9d1a573937c460d9f5eb4759060200160405180910390a250509392505050565b600254604080516303639b8b60e21b815290515f926001600160a01b031691630d8e6e2c9160048083019260209291908290030181865afa158015620007a5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620007cb9190620018fc565b905090565b5f620007cb3062001395565b60606349bb9e4b60e01b8383604051602401620007fb9291906200191a565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915290505b92915050565b620008406200159c565b6001600160e01b0319165f908152602081905260409020805460ff19166001179055565b6200086e6200159c565b6301ffc9a760e01b5f9081526020527f67be87c3ff9960ca1e9cfac5cab2ff4747269cf9ed20c9b7306235ac35a491c5805460ff19166001179055565b620008b56200159c565b806001600160a01b03163b5f03620008ec5760405163fdeac91f60e01b81526001600160a01b0382166004820152602401620005fd565b600180546001600160a01b0319166001600160a01b0383169081179091556040516301ffc9a760e01b815263e607072160e01b60048201526301ffc9a790602401602060405180830381865afa92505050801562000969575060408051601f3d908101601f1916820190925262000966918101906200193f565b60015b620009935760405163fdeac91f60e01b81526001600160a01b0382166004820152602401620005fd565b80620009be5760405163fdeac91f60e01b81526001600160a01b0383166004820152602401620005fd565b505b50565b5f805f80516020620028e483398151915280546040516330b8415f60e01b81526001600160601b03909116600482015290915073__$94a2c899be079b00d952d0d84fffaa5c34$__906330b8415f90602401602060405180830381865af415801562000a31573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000a5791906200193f565b1562000ae6576001546001600160a01b03168154604051631c5da14d60e11b81526001600160601b0390911660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa15801562000aba573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000ae0919062001960565b91505090565b54600160601b90046001600160a01b0316919050565b606063329d6e7460e01b8260405160240162000b199190620017f1565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915292915050565b5f6004828154811062000b685762000b686200197e565b905f5260205f2090600a91828204019190066003029054906101000a900462ffffff169050919050565b5f62000b9d620009c3565b6001600160a01b0316336001600160a01b03161462000bd25760405163086391f760e31b8152336004820152602401620005fd565b6004545f0362000bf55760405163366dfd2160e21b815260040160405180910390fd5b5f62000c00620009c3565b90505f62000c166002546001600160a01b031690565b6001600160a01b0316638b3240a06040518163ffffffff1660e01b81526004016020604051808303815f875af115801562000c53573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000c79919062001960565b6002549091506001600160a01b03908116908216639623609d828862000c9f8962000afc565b6040518463ffffffff1660e01b815260040162000cbf93929190620018c6565b5f604051808303815f87803b15801562000cd7575f80fd5b505af115801562000cea573d5f803e3d5ffd5b5050505060025f9054906101000a90046001600160a01b0316935062000d74846001600160a01b0316630d8e6e2c6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000d46573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000d6c9190620018fc565b878562000fe9565b6002546040516001600160a01b038881168252909116907f1356a2c922be684528fa1759d1808395e5c5010181dd333cdb6f03e2d8545b659060200160405180910390a250505092915050565b5f62000dcc620009c3565b6001600160a01b0316336001600160a01b03161462000e015760405163086391f760e31b8152336004820152602401620005fd565b6004541562000e235760405163402b135f60e11b815260040160405180910390fd5b5f62000e2e620009c3565b905030848162000e3f8487620007dc565b60405162000e4d90620015e8565b62000e5b93929190620018c6565b604051809103905ff08015801562000e75573d5f803e3d5ffd5b50600280546001600160a01b0319166001600160a01b03929092169182179055604080516303639b8b60e21b8152905191945062000f06918591630d8e6e2c9160048083019260209291908290030181865afa15801562000ed8573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000efe9190620018fc565b868462000fe9565b6002546040516001600160a01b038781168252909116907f78922e3fa1abc96399973cb25528ba892214b57da9d1a573937c460d9f5eb4759060200160405180910390a2505092915050565b62000f5c6200159c565b62000f6781620008ab565b62000f7162000864565b6001600160a01b03821662000f995760405163f17ef42d60e01b815260040160405180910390fd5b505f80516020620028e483398151915280546001600160601b0316600160601b6001600160a01b0390931692909202919091179055565b6002545f90620007cb906001600160a01b031662001395565b620010698373__$8eede297b65ed5a56eb3f84d8232ae93f5$__6304b8f6c56040518163ffffffff1660e01b8152600401602060405180830381865af415801562001036573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200105c9190620018fc565b62ffffff90811691161490565b1562001088576040516348c618db60e01b815260040160405180910390fd5b60045415620011ee5760048054620010a39060019062001992565b81548110620010b657620010b66200197e565b5f9182526020909120600a80830490910154604051635560100760e01b8152919092066003026101000a90910462ffffff16600482015273__$8eede297b65ed5a56eb3f84d8232ae93f5$__90635560100790602401602060405180830381865af415801562001128573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200114e9190620019b2565b604051635560100760e01b815262ffffff8516600482015273__$8eede297b65ed5a56eb3f84d8232ae93f5$__90635560100790602401602060405180830381865af4158015620011a1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620011c79190620019b2565b11620011ee57604051633e614b6d60e11b815262ffffff84166004820152602401620005fd565b600480546001810182555f829052600a8082047f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b01805462ffffff808916600394909506939093026101000a848102930219169190911790556040805160a0810182529182526001600160a01b038086166020848101919091529085168383015281516356db0c1960e11b815291519293606085019373__$91d01b1eccbca8d6f94a5eb2a0acb040e9$__9363adb6183293818401939092918290030181865af4158015620012bf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620012e59190620019ca565b64ffffffffff90811682524363ffffffff90811660209384015262ffffff9687165f90815260038452604090819020855181549587015199166001600160b81b03199095169490941763010000006001600160a01b03998a1602178455840151600190930180546060860151608090960151949098166001600160c81b031990981697909717600160a01b94909216939093021763ffffffff60c81b1916600160c81b9190921602179092555050565b5f805f80516020620028e483398151915280546040516330b8415f60e01b81526001600160601b03909116600482015290915073__$94a2c899be079b00d952d0d84fffaa5c34$__906330b8415f90602401602060405180830381865af415801562001403573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200142991906200193f565b15620014575780546040516301ab8b6760e21b81526001600160601b039091166004820152602401620005fd565b6001546001600160a01b031660405163c3c5a54760e01b81526001600160a01b038581166004830152919091169063c3c5a54790602401602060405180830381865afa158015620014aa573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620014d091906200193f565b620014fa5760405163b9304b0d60e01b81526001600160a01b0384166004820152602401620005fd565b6001546001600160a01b0316604051636939560f60e11b81526001600160a01b038581166004830152919091169063d272ac1e90602401602060405180830381865afa1580156200154d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620015739190620019f0565b81546bffffffffffffffffffffffff19166001600160601b039190911690811790915592915050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054600160401b900460ff16620015e657604051631afcd79f60e31b815260040160405180910390fd5b565b610ecb8062001a1983390190565b5f6020828403121562001607575f80fd5b81356001600160e01b0319811681146200161f575f80fd5b9392505050565b6001600160a01b0381168114620009c0575f80fd5b5f602082840312156200164c575f80fd5b81356200161f8162001626565b634e487b7160e01b5f52604160045260245ffd5b5f82601f8301126200167d575f80fd5b813567ffffffffffffffff808211156200169b576200169b62001659565b604051601f8301601f19908116603f01168101908282118183101715620016c657620016c662001659565b81604052838152866020858801011115620016df575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f6060848603121562001711575f80fd5b83356200171e8162001626565b9250602084013567ffffffffffffffff8111156200173a575f80fd5b62001748868287016200166d565b925050604084013590509250925092565b5f80604083850312156200176b575f80fd5b8235620017788162001626565b9150602083013567ffffffffffffffff81111562001794575f80fd5b620017a2858286016200166d565b9150509250929050565b5f81518084525f5b81811015620017d257602081850181015186830182015201620017b4565b505f602082860101526020601f19601f83011685010191505092915050565b602081525f6200161f6020830184620017ac565b62ffffff81168114620009c0575f80fd5b5f6020828403121562001827575f80fd5b81356200161f8162001805565b5f6020828403121562001845575f80fd5b813567ffffffffffffffff8111156200185c575f80fd5b6200186a848285016200166d565b949350505050565b5f6020828403121562001883575f80fd5b5035919050565b5f80604083850312156200189c575f80fd5b8235620018a98162001626565b91506020830135620018bb8162001626565b809150509250929050565b6001600160a01b038481168252831660208201526060604082018190525f90620018f390830184620017ac565b95945050505050565b5f602082840312156200190d575f80fd5b81516200161f8162001805565b6001600160a01b03831681526040602082018190525f906200186a90830184620017ac565b5f6020828403121562001950575f80fd5b815180151581146200161f575f80fd5b5f6020828403121562001971575f80fd5b81516200161f8162001626565b634e487b7160e01b5f52603260045260245ffd5b818103818111156200083057634e487b7160e01b5f52601160045260245ffd5b5f60208284031215620019c3575f80fd5b5051919050565b5f60208284031215620019db575f80fd5b815164ffffffffff811681146200161f575f80fd5b5f6020828403121562001a01575f80fd5b81516001600160601b03811681146200161f575f80fdfe60a060405234801562000010575f80fd5b5060405162000ecb38038062000ecb8339810160408190526200003391620003cf565b8282828281620000448282620000ac565b50508160405162000055906200036d565b6001600160a01b039091168152602001604051809103905ff0801580156200007f573d5f803e3d5ffd5b506001600160a01b0316608052620000a06200009a60805190565b62000111565b505050505050620004c6565b620000b78262000182565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a28051156200010357620000fe828262000201565b505050565b6200010d6200027a565b5050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f620001525f8051602062000eab833981519152546001600160a01b031690565b604080516001600160a01b03928316815291841660208301520160405180910390a16200017f816200029c565b50565b806001600160a01b03163b5f03620001bd57604051634c9c8ce360e01b81526001600160a01b03821660048201526024015b60405180910390fd5b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5b80546001600160a01b0319166001600160a01b039290921691909117905550565b60605f80846001600160a01b0316846040516200021f9190620004a9565b5f60405180830381855af49150503d805f811462000259576040519150601f19603f3d011682016040523d82523d5f602084013e6200025e565b606091505b50909250905062000271858383620002dd565b95945050505050565b34156200029a5760405163b398979f60e01b815260040160405180910390fd5b565b6001600160a01b038116620002c757604051633173bdd160e11b81525f6004820152602401620001b4565b805f8051602062000eab833981519152620001e0565b606082620002f657620002f08262000343565b6200033c565b81511580156200030e57506001600160a01b0384163b155b156200033957604051639996b31560e01b81526001600160a01b0385166004820152602401620001b4565b50805b9392505050565b805115620003545780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6104fc80620009af83390190565b80516001600160a01b038116811462000392575f80fd5b919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015620003c7578181015183820152602001620003ad565b50505f910152565b5f805f60608486031215620003e2575f80fd5b620003ed846200037b565b9250620003fd602085016200037b565b60408501519092506001600160401b03808211156200041a575f80fd5b818601915086601f8301126200042e575f80fd5b81518181111562000443576200044362000397565b604051601f8201601f19908116603f011681019083821181831017156200046e576200046e62000397565b8160405282815289602084870101111562000487575f80fd5b6200049a836020830160208801620003ab565b80955050505050509250925092565b5f8251620004bc818460208701620003ab565b9190910192915050565b6080516104cb620004e45f395f818160350152607201526104cb5ff3fe60806040526004361061001d575f3560e01c80638b3240a014610027575b610025610070565b005b348015610032575f80fd5b507f00000000000000000000000000000000000000000000000000000000000000006040516001600160a01b03909116815260200160405180910390f35b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633036100dc575f356001600160e01b03191663278f794360e11b146100d2576040516334ad5dbb60e21b815260040160405180910390fd5b6100da6100e9565b565b6100da610117565b905090565b5f806100f83660048184610365565b81019061010591906103a0565b915091506101138282610127565b5050565b6100da610122610181565b6101b3565b610130826101d1565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a280511561017957610174828261024c565b505050565b6101136102be565b5f6100e47f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b365f80375f80365f845af43d5f803e8080156101cd573d5ff35b3d5ffd5b806001600160a01b03163b5f0361020b57604051634c9c8ce360e01b81526001600160a01b03821660048201526024015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b60605f80846001600160a01b0316846040516102689190610469565b5f60405180830381855af49150503d805f81146102a0576040519150601f19603f3d011682016040523d82523d5f602084013e6102a5565b606091505b50915091506102b58583836102dd565b95945050505050565b34156100da5760405163b398979f60e01b815260040160405180910390fd5b6060826102f2576102ed8261033c565b610335565b815115801561030957506001600160a01b0384163b155b1561033257604051639996b31560e01b81526001600160a01b0385166004820152602401610202565b50805b9392505050565b80511561034c5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b5f8085851115610373575f80fd5b8386111561037f575f80fd5b5050820193919092039150565b634e487b7160e01b5f52604160045260245ffd5b5f80604083850312156103b1575f80fd5b82356001600160a01b03811681146103c7575f80fd5b9150602083013567ffffffffffffffff808211156103e3575f80fd5b818501915085601f8301126103f6575f80fd5b8135818111156104085761040861038c565b604051601f8201601f19908116603f011681019083821181831017156104305761043061038c565b81604052828152886020848701011115610448575f80fd5b826020860160208301375f6020848301015280955050505050509250929050565b5f82515f5b81811015610488576020818601810151858301520161046e565b505f92019182525091905056fea2646970667358221220527a71db7c7f80ff8047d381944bc9092b1b7f7b9362aa3e1b2feea37172dc8364736f6c63430008180033608060405234801561000f575f80fd5b506040516104fc3803806104fc83398101604081905261002e916100bb565b806001600160a01b03811661005c57604051631e4fbdf760e01b81525f600482015260240160405180910390fd5b6100658161006c565b50506100e8565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f602082840312156100cb575f80fd5b81516001600160a01b03811681146100e1575f80fd5b9392505050565b610407806100f55f395ff3fe608060405260043610610049575f3560e01c8063715018a61461004d5780638da5cb5b146100635780639623609d1461008e578063ad3cb1cc146100a1578063f2fde38b146100de575b5f80fd5b348015610058575f80fd5b506100616100fd565b005b34801561006e575f80fd5b505f546040516001600160a01b0390911681526020015b60405180910390f35b61006161009c366004610260565b610110565b3480156100ac575f80fd5b506100d1604051806040016040528060058152602001640352e302e360dc1b81525081565b6040516100859190610372565b3480156100e9575f80fd5b506100616100f836600461038b565b61017b565b6101056101bd565b61010e5f6101e9565b565b6101186101bd565b60405163278f794360e11b81526001600160a01b03841690634f1ef28690349061014890869086906004016103a6565b5f604051808303818588803b15801561015f575f80fd5b505af1158015610171573d5f803e3d5ffd5b5050505050505050565b6101836101bd565b6001600160a01b0381166101b157604051631e4fbdf760e01b81525f60048201526024015b60405180910390fd5b6101ba816101e9565b50565b5f546001600160a01b0316331461010e5760405163118cdaa760e01b81523360048201526024016101a8565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b03811681146101ba575f80fd5b634e487b7160e01b5f52604160045260245ffd5b5f805f60608486031215610272575f80fd5b833561027d81610238565b9250602084013561028d81610238565b9150604084013567ffffffffffffffff808211156102a9575f80fd5b818601915086601f8301126102bc575f80fd5b8135818111156102ce576102ce61024c565b604051601f8201601f19908116603f011681019083821181831017156102f6576102f661024c565b8160405282815289602084870101111561030e575f80fd5b826020860160208301375f6020848301015280955050505050509250925092565b5f81518084525f5b8181101561035357602081850181015186830182015201610337565b505f602082860101526020601f19601f83011685010191505092915050565b602081525f610384602083018461032f565b9392505050565b5f6020828403121561039b575f80fd5b813561038481610238565b6001600160a01b03831681526040602082018190525f906103c99083018461032f565b94935050505056fea26469706673582212202f15eba034bcc300a29923959e683919a6addc10f54c2a76acbb777668b35cd064736f6c63430008180033b53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610307ebcf49758b6ed3af50fa146bec0abe157c0218fe65dc0874c286e9d5da4f00a2646970667358221220cbc81e2113934e4bdd3ee9c6a69291ad36f8cfbd973e13b27f493dc423e6c28464736f6c63430008180033608060405234801562000010575f80fd5b506200001b62000021565b620000d5565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000725760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620000d25780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b6137e480620000e35f395ff3fe608060405234801561000f575f80fd5b5060043610610187575f3560e01c8063644c45e0116100d95780638fb3603711610093578063bf7e214f1161006e578063bf7e214f146103b5578063cf4ee77a146103d2578063f6845663146103e5578063f7c34ee0146103f8575f80fd5b80638fb3603714610371578063ada9652e14610392578063b68d1809146103a6575f80fd5b8063644c45e0146102f3578063675393bf146103105780636c741e78146103235780637a9e5e4b14610343578063893d20e8146103565780638e32e9791461035e575f80fd5b806327bb7a331161014457806336fc697e1161011f57806336fc697e146102a057806349bb9e4b146102a85780634c125e79146102bb5780635ab1bd53146102ce575f80fd5b806327bb7a33146102675780632ccc7da41461027a578063329d6e741461028d575f80fd5b806301ffc9a71461018b5780630d8e6e2c146101cc5780630fec111c146101e8578063138461e0146101fd5780631eff4b221461021d578063214cdb8014610252575b5f80fd5b6101b7610199366004612b16565b6001600160e01b0319165f9081526020819052604090205460ff1690565b60405190151581526020015b60405180910390f35b6101d461040b565b60405162ffffff90911681526020016101c3565b6101f0610492565b6040516101c39190612b8a565b61020561061e565b6040516001600160601b0390911681526020016101c3565b6102447f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30081565b6040519081526020016101c3565b610265610260366004612b16565b610628565b005b610265610275366004612d5e565b610654565b610265610288366004612e05565b6106f9565b61026561029b366004612e20565b61096e565b610265610ab8565b6102656102b6366004612e51565b610afd565b6102656102c9366004612e05565b610bf9565b6001546001600160a01b03165b6040516001600160a01b0390911681526020016101c3565b5f8051602061374f833981519152546001600160601b0316610205565b61026561031e366004612e9d565b610e21565b61032b610f33565b6040516001600160401b0390911681526020016101c3565b610265610351366004612e9d565b611029565b6102db6110c1565b61026561036c366004612eb8565b6111f2565b61037961132f565b6040516001600160e01b031990911681526020016101c3565b6102445f8051602061374f83398151915281565b604051600d81526020016101c3565b5f8051602061376f833981519152546001600160a01b03166102db565b6101b76103e0366004612f44565b611364565b61032b6103f3366004612fa6565b6118ae565b610265610406366004613036565b611d51565b604051632efe011360e01b8152600360048201525f60248201819052604482018190529073__$8eede297b65ed5a56eb3f84d8232ae93f5$__90632efe011390606401602060405180830381865af4158015610469573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061048d919061306d565b905090565b61049a612ad9565b5f7f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30090506040518060e0016040528073__$94a2c899be079b00d952d0d84fffaa5c34$__63bc1b392d6040518163ffffffff1660e01b8152600401602060405180830381865af4158015610510573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610534919061309f565b6001600160601b0390811682528354908116602083015260ff600160601b820481166040840152600160681b909104161515606082015230608082015260a00161057c6110c1565b6001600160a01b03168152602001826001018054610599906130ba565b80601f01602080910402602001604051908101604052809291908181526020018280546105c5906130ba565b80156106105780601f106105e757610100808354040283529160200191610610565b820191905f5260205f20905b8154815290600101906020018083116105f357829003601f168201915b505050505081525091505090565b5f61048d30611dc7565b610630611fc0565b6001600160e01b0319165f908152602081905260409020805460ff19166001179055565b61065c611fc0565b6106668287611d51565b7f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30080546001600160601b0387166cffffffffffffffffffffffffff1990911617600160601b60ff8716021760ff60681b1916600160681b851515021781557f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa3016106ef838261313d565b5050505050505050565b5f8080610706600b611ff8565b9250925092505f8061071a83878785612094565b90505f816020015160405160200161073291906131fc565b60405160208183030381529060405290505f8086608001516001600160a01b0316838a866080015160405160240161076b92919061322d565b60408051601f1981840301815290829052916107869161324e565b60408051918290039091206020830180516001600160e01b03166001600160e01b0319909216919091179052516107bd919061324e565b5f604051808303815f865af19150503d805f81146107f6576040519150601f19603f3d011682016040523d82523d5f602084013e6107fb565b606091505b5091509150811561092357856001600160a01b031663d4cda0d86040518163ffffffff1660e01b8152600401602060405180830381865afa158015610842573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108669190613269565b6001600160a01b031663b4d7efe28a60466040516001600160e01b031960e085901b1681526001600160401b03909216600483015260ff1660248201526044015f604051808303815f87803b1580156108bd575f80fd5b505af11580156108cf573d5f803e3d5ffd5b5050604080516001600160401b038d1681526001600160601b038c1660208201527f2c23904167d9f4f57cfdca8bf6477be9524cf29f29b99a80602b03de6f659394935001905060405180910390a1610963565b7f0e99bf2fced4687994860bd26166ddec8dd469353290573454b3f8982641b2018988608001518560405161095a93929190613284565b60405180910390a15b505050505050505050565b73__$8eede297b65ed5a56eb3f84d8232ae93f5$__63a123b37c61099061040b565b6040516001600160e01b031960e084901b16815262ffffff9091166004820152602401602060405180830381865af41580156109ce573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109f291906132bf565b5f8051602061378f8339815191528054600160401b900460ff1680610a24575080546001600160401b03808416911610155b15610a425760405163f92ee8a960e01b815260040160405180910390fd5b805468ffffffffffffffffff19166001600160401b03831617600160401b178155610a6c8361246f565b805460ff60401b191681556040516001600160401b03831681527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a1505050565b610ac0611fc0565b6301ffc9a760e01b5f9081526020527f67be87c3ff9960ca1e9cfac5cab2ff4747269cf9ed20c9b7306235ac35a491c5805460ff19166001179055565b5f8051602061378f8339815191528054600160401b810460ff1615906001600160401b03165f81158015610b2e5750825b90505f826001600160401b03166001148015610b495750303b155b905081158015610b57575080155b15610b755760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff191660011785558315610b9f57845460ff60401b1916600160401b1785555b610ba98787612477565b8315610bf057845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2906020015b60405180910390a15b50505050505050565b5f8080610c06600b611ff8565b9250925092505f80610c1a83878785612094565b600160e082015260408051631a99b41b60e31b815290519192506001600160a01b0385169163d4cda0d8916004808201926020929091908290030181865afa158015610c68573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c8c9190613269565b6001600160a01b031663275c0595878360486040518463ffffffff1660e01b8152600401610cbc939291906133a1565b5f604051808303815f87803b158015610cd3575f80fd5b505af1158015610ce5573d5f803e3d5ffd5b505050505f610cfc6001546001600160a01b031690565b60408084015190516305247a1760e51b81526001600160601b0390911660048201526001600160a01b03919091169063a48f42e0906024015f60405180830381865afa158015610d4e573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610d759190810190613438565b60800151604051634c125e7960e01b81526001600160401b03891660048201529091506001600160a01b03821690634c125e79906024015f604051808303815f87803b158015610dc3575f80fd5b505af1158015610dd5573d5f803e3d5ffd5b5050604080516001600160401b038b1681526001600160601b038a1660208201527f6cf5ab27927644e6e54b097674488bb6f8fc275103e26dec517bd24333cfabfd9350019050610be7565b610e29611fc0565b806001600160a01b03163b5f03610e635760405163fdeac91f60e01b81526001600160a01b03821660048201526024015b60405180910390fd5b600180546001600160a01b0319166001600160a01b0383169081179091556040516301ffc9a760e01b815263e607072160e01b60048201526301ffc9a790602401602060405180830381865afa925050508015610edd575060408051601f3d908101601f19168201909252610eda91810190613505565b60015b610f055760405163fdeac91f60e01b81526001600160a01b0382166004820152602401610e5a565b80610f2e5760405163fdeac91f60e01b81526001600160a01b0383166004820152602401610e5a565b505b50565b5f73__$1d92393fa9ccd763988368ce8a1cb90d26$__63dda777d3600d604051632392b61b60e21b81526003600482015273__$b659da7d8a6d2d32aa6c1e17da23dc2174$__90638e4ad86c90602401602060405180830381865af4158015610f9e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc29190613520565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865af4158015611005573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061048d91906132bf565b336110485f8051602061376f833981519152546001600160a01b031690565b6001600160a01b0316816001600160a01b0316146110835760405162d1953b60e31b81526001600160a01b0382166004820152602401610e5a565b816001600160a01b03163b5f036110b8576040516361798f2f60e11b81526001600160a01b0383166004820152602401610e5a565b610f2e82612592565b5f805f8051602061374f83398151915280546040516330b8415f60e01b81526001600160601b03909116600482015290915073__$94a2c899be079b00d952d0d84fffaa5c34$__906330b8415f90602401602060405180830381865af415801561112d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111519190613505565b156111dc576001546001600160a01b03168154604051631c5da14d60e11b81526001600160601b0390911660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa1580156111b2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111d69190613269565b91505090565b54600160601b90046001600160a01b0316919050565b6111fa611fc0565b61127683846001600160a01b031663644c45e06040518163ffffffff1660e01b8152600401602060405180830381865afa15801561123a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061125e919061309f565b60095f8560405180602001604052805f815250610654565b6001600160a01b038216156112935761128e826125f2565b61130a565b5f61129e6002612603565b9050611308816001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112df573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113039190613269565b6125f2565b505b61131a634a531f3360e01b610628565b61132a63daf9067160e01b610628565b505050565b5f8051602061376f83398151915280545f9190600160a01b900460ff16611356575f6111d6565b638fb3603760e01b91505090565b5f808080611372600d611ff8565b9194509250905060015f611388838a8785612094565b905087878080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152505050506080820152604080516356db0c1960e11b8152905173__$91d01b1eccbca8d6f94a5eb2a0acb040e9$__9163adb618329160048083019260209291908290030181865af4158015611412573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114369190613546565b64ffffffffff1660a082015260408051631a99b41b60e31b815290516001600160a01b0385169163d4cda0d89160048083019260209291908290030181865afa158015611485573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114a99190613269565b6001600160a01b031663275c05958a8360ff6040518463ffffffff1660e01b81526004016114d9939291906133a1565b5f604051808303815f87803b1580156114f0575f80fd5b505af1158015611502573d5f803e3d5ffd5b505050505f6115196001546001600160a01b031690565b82516040516305247a1760e51b81526001600160601b0390911660048201526001600160a01b03919091169063a48f42e0906024015f60405180830381865afa158015611568573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261158f9190810190613438565b90505f82602001516040516020016115a791906131fc565b604051602081830303815290604052905081608001516001600160a01b0316818c8c8c6040516024016115dc93929190613589565b60408051601f1981840301815290829052916115f79161324e565b60408051918290039091206020830180516001600160e01b03166001600160e01b03199092169190911790525161162e919061324e565b5f604051808303815f865af19150503d805f8114611667576040519150601f19603f3d011682016040523d82523d5f602084013e61166c565b606091505b5090985050871561174957846001600160a01b031663d4cda0d86040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116b3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116d79190613269565b6001600160a01b031663b4d7efe28c60466040516001600160e01b031960e085901b1681526001600160401b03909216600483015260ff1660248201526044015f604051808303815f87803b15801561172e575f80fd5b505af1158015611740573d5f803e3d5ffd5b50505050611856565b846001600160a01b031663d4cda0d86040518163ffffffff1660e01b8152600401602060405180830381865afa158015611785573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117a99190613269565b6001600160a01b031663b4d7efe28c60076040516001600160e01b031960e085901b1681526001600160401b03909216600483015260ff1660248201526044015f604051808303815f87803b158015611800575f80fd5b505af1158015611812573d5f803e3d5ffd5b505050507f0e99bf2fced4687994860bd26166ddec8dd469353290573454b3f8982641b2018b83608001518360405161184d93929190613284565b60405180910390a15b604080516001600160401b038d1681526001600160601b03891660208201527f3eb305364732735f57295079d0cd01ae1441759a3dd5c83c9747050860058382910160405180910390a1505050505050509392505050565b5f8080806118bc600b611ff8565b9250925092505f6118d68b6118cf600d90565b600161270a565b5090506118eb836020015182602001516129ad565b156119265760208084015190820151604051631c1a30b160e01b81526001600160601b03928316600482015291166024820152604401610e5a565b6119a48873__$91d01b1eccbca8d6f94a5eb2a0acb040e9$__63adb618326040518163ffffffff1660e01b8152600401602060405180830381865af4158015611971573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119959190613546565b64ffffffffff90811691161090565b15611a3f5773__$91d01b1eccbca8d6f94a5eb2a0acb040e9$__63adb618326040518163ffffffff1660e01b8152600401602060405180830381865af41580156119f0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a149190613546565b604051639ca7f30b60e01b815264ffffffffff91821660048201529089166024820152604401610e5a565b5f869003611a605760405163f3b7771f60e01b815260040160405180910390fd5b5f604051806101000160405280866001600160601b0316815260200189898080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152505050908252506001600160601b038e1660208083019190915260408051601f8f0183900483028101830182528e8152920191908e908e90819084018382808284375f9201829052509385525050604080516020818101835293815283850152805163bc1b392d60e01b81528151919094019373__$91d01b1eccbca8d6f94a5eb2a0acb040e9$__9363bc1b392d935060048083019391928290030181865af4158015611b5c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b809190613546565b64ffffffffff1681526020018a64ffffffffff1681526020015f15158152509050826001600160a01b031663d4cda0d86040518163ffffffff1660e01b8152600401602060405180830381865afa158015611bdd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c019190613269565b6001600160a01b0316630632b17d826040518263ffffffff1660e01b8152600401611c2c91906135ab565b6020604051808303815f875af1158015611c48573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c6c91906132bf565b955081608001516001600160a01b0316630b29e28e87878e8e8e6040518663ffffffff1660e01b8152600401611ca69594939291906135bd565b5f604051808303815f87803b158015611cbd575f80fd5b505af1158015611ccf573d5f803e3d5ffd5b505050507fadcf1680abc7d8506282ff140917b70eb64eaddd2d293b71b674fd91cc7fc50886868e8c604051611d3a94939291906001600160401b039490941684526001600160601b0392831660208501529116604083015264ffffffffff16606082015260800190565b60405180910390a150505050509695505050505050565b611d59611fc0565b611d6281610e21565b611d6a610ab8565b6001600160a01b038216611d915760405163f17ef42d60e01b815260040160405180910390fd5b505f8051602061374f83398151915280546001600160601b0316600160601b6001600160a01b0390931692909202919091179055565b5f805f8051602061374f83398151915280546040516330b8415f60e01b81526001600160601b03909116600482015290915073__$94a2c899be079b00d952d0d84fffaa5c34$__906330b8415f90602401602060405180830381865af4158015611e33573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e579190613505565b15611e835780546040516301ab8b6760e21b81526001600160601b039091166004820152602401610e5a565b6001546001600160a01b031660405163c3c5a54760e01b81526001600160a01b038581166004830152919091169063c3c5a54790602401602060405180830381865afa158015611ed5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ef99190613505565b611f215760405163b9304b0d60e01b81526001600160a01b0384166004820152602401610e5a565b6001546001600160a01b0316604051636939560f60e11b81526001600160a01b038581166004830152919091169063d272ac1e90602401602060405180830381865afa158015611f73573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f97919061309f565b81546bffffffffffffffffffffffff19166001600160601b039190911690811790915592915050565b5f8051602061378f83398151915254600160401b900460ff16611ff657604051631afcd79f60e31b815260040160405180910390fd5b565b5f612001612ad9565b5f6120146001546001600160a01b031690565b604051636939560f60e11b81523360048201526001600160a01b03919091169063d272ac1e90602401602060405180830381865afa158015612058573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061207c919061309f565b925061208a8385600161270a565b9395909450915050565b60408051610100810182525f808252606060208301819052928201819052828201839052608082019290925260a0810182905260c0810182905260e08101919091525f856001600160a01b03166302cd30716040518163ffffffff1660e01b8152600401602060405180830381865afa158015612113573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121379190613269565b604051630f37f38f60e41b81526001600160401b03871660048201529091505f906001600160a01b038316906309648a9d9073__$b4c16f233b92c2c4124fb22a521f86c95b$__9063f37f38f090602401602060405180830381865af41580156121a3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121c79190613607565b6040518263ffffffff1660e01b81526004016121e591815260200190565b602060405180830381865afa158015612200573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122249190613520565b60405163febe92af60e01b81526001600160401b03881660048201529091506001600160a01b0383169063febe92af906024015f60405180830381865afa158015612271573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612298919081019061361e565b9250831561233d576122b38160045b60ff9081169116141590565b156122e4576040516242d7c160e51b81526001600160401b038716600482015260ff82166024820152604401610e5a565b6122f28584604001516129ad565b1561233857604080840151905163469a3cb160e11b81526001600160401b03881660048201526001600160601b0391821660248201529086166044820152606401610e5a565b6123db565b6123488160046122a7565b801561235a575061235a8160076122a7565b1561238b576040516242d7c160e51b81526001600160401b038716600482015260ff82166024820152604401610e5a565b61239885845f01516129ad565b156123db578251604051630346e74560e01b81526001600160401b03881660048201526001600160601b0391821660248201529086166044820152606401610e5a565b61242a8360c0015173__$91d01b1eccbca8d6f94a5eb2a0acb040e9$__63adb618326040518163ffffffff1660e01b8152600401602060405180830381865af4158015611971573d5f803e3d5ffd5b156124655760c0830151604051628d011f60e71b81526001600160401b038816600482015264ffffffffff9091166024820152604401610e5a565b5050949350505050565b610187611fc0565b5f8051602061378f8339815191528054600160401b810460ff1615906001600160401b03165f811580156124a85750825b90505f826001600160401b031660011480156124c35750303b155b9050811580156124d1575080155b156124ef5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561251957845460ff60401b1916600160401b1785555b5f808780602001905181019061252f9190613721565b9250905061253e815f8b6111f2565b61254e63164524b160e21b610628565b50508315610bf057845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602001610be7565b5f8051602061376f83398151915280546001600160a01b0383166001600160a01b03199091168117825560408051918252517f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad9181900360200190a15050565b6125fa611fc0565b610f3081612a38565b5f6126166001546001600160a01b031690565b604051632392b61b60e21b8152600360048201526001600160a01b03919091169063d39e604390849073__$b659da7d8a6d2d32aa6c1e17da23dc2174$__90638e4ad86c90602401602060405180830381865af4158015612679573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061269d9190613520565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865afa1580156126e0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906127049190613269565b92915050565b612712612ad9565b5f806127266001546001600160a01b031690565b6040516305247a1760e51b81526001600160601b03881660048201529091506001600160a01b0382169063a48f42e0906024015f60405180830381865afa158015612773573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261279a9190810190613438565b92506127a785600b6122a7565b156127fd57604083015160ff8681169116146127f857604080840151905163b83d92cb60e01b81526001600160601b038816600482015260ff80881660248301529091166044820152606401610e5a565b612899565b612818836040015161280d600c90565b60ff90811691161490565b8061282e575061282e836040015161280d600f90565b806128445750612844836040015161280d600e90565b8061285a575061285a836040015161280d600d90565b61289957604080840151905163b83d92cb60e01b81526001600160601b038816600482015260ff80881660248301529091166044820152606401610e5a565b6128a68360200151612a49565b915083156129a457816001600160a01b031663e5f6cd276040518163ffffffff1660e01b8152600401602060405180830381865afa1580156128ea573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061290e9190613269565b608084015160405163a166aa8960e01b81526001600160a01b03918216600482015291169063a166aa8990602401602060405180830381865afa158015612957573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061297b9190613505565b156129a457604051637d71120960e11b81526001600160601b0387166004820152602401610e5a565b50935093915050565b6040516399009c5160e01b81526001600160601b038084166004830152821660248201525f9073__$94a2c899be079b00d952d0d84fffaa5c34$__906399009c5190604401602060405180830381865af4158015612a0d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a319190613505565b9392505050565b612a40611fc0565b610f3081612592565b5f612a5c6001546001600160a01b031690565b6040516305247a1760e51b81526001600160601b03841660048201526001600160a01b03919091169063a48f42e0906024015f60405180830381865afa158015612aa8573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612acf9190810190613438565b6080015192915050565b6040805160e0810182525f8082526020820181905291810182905260608082018390526080820183905260a082019290925260c081019190915290565b5f60208284031215612b26575f80fd5b81356001600160e01b031981168114612a31575f80fd5b5f5b83811015612b57578181015183820152602001612b3f565b50505f910152565b5f8151808452612b76816020860160208601612b3d565b601f01601f19169290920160200192915050565b602081525f6001600160601b038084511660208401528060208501511660408401525060ff604084015116606083015260608301511515608083015260018060a01b0360808401511660a083015260a0830151612bf260c08401826001600160a01b03169052565b5060c083015160e080840152612c0c610100840182612b5f565b949350505050565b6001600160a01b0381168114610f30575f80fd5b6001600160601b0381168114610f30575f80fd5b60ff81168114610f30575f80fd5b8015158114610f30575f80fd5b634e487b7160e01b5f52604160045260245ffd5b60405160e081016001600160401b0381118282101715612c8d57612c8d612c57565b60405290565b60405161010081016001600160401b0381118282101715612c8d57612c8d612c57565b604051601f8201601f191681016001600160401b0381118282101715612cde57612cde612c57565b604052919050565b5f6001600160401b03821115612cfe57612cfe612c57565b50601f01601f191660200190565b5f82601f830112612d1b575f80fd5b8135612d2e612d2982612ce6565b612cb6565b818152846020838601011115612d42575f80fd5b816020850160208301375f918101602001919091529392505050565b5f805f805f8060c08789031215612d73575f80fd5b8635612d7e81612c14565b95506020870135612d8e81612c28565b94506040870135612d9e81612c3c565b93506060870135612dae81612c4a565b92506080870135612dbe81612c14565b915060a08701356001600160401b03811115612dd8575f80fd5b612de489828a01612d0c565b9150509295509295509295565b6001600160401b0381168114610f30575f80fd5b5f60208284031215612e15575f80fd5b8135612a3181612df1565b5f60208284031215612e30575f80fd5b81356001600160401b03811115612e45575f80fd5b612c0c84828501612d0c565b5f8060408385031215612e62575f80fd5b8235612e6d81612c14565b915060208301356001600160401b03811115612e87575f80fd5b612e9385828601612d0c565b9150509250929050565b5f60208284031215612ead575f80fd5b8135612a3181612c14565b5f805f60608486031215612eca575f80fd5b8335612ed581612c14565b92506020840135612ee581612c14565b91506040840135612ef581612c14565b809150509250925092565b5f8083601f840112612f10575f80fd5b5081356001600160401b03811115612f26575f80fd5b602083019150836020828501011115612f3d575f80fd5b9250929050565b5f805f60408486031215612f56575f80fd5b8335612f6181612df1565b925060208401356001600160401b03811115612f7b575f80fd5b612f8786828701612f00565b9497909650939450505050565b64ffffffffff81168114610f30575f80fd5b5f805f805f8060808789031215612fbb575f80fd5b8635612fc681612c28565b955060208701356001600160401b0380821115612fe1575f80fd5b612fed8a838b01612f00565b90975095506040890135915061300282612f94565b90935060608801359080821115613017575f80fd5b5061302489828a01612f00565b979a9699509497509295939492505050565b5f8060408385031215613047575f80fd5b823561305281612c14565b9150602083013561306281612c14565b809150509250929050565b5f6020828403121561307d575f80fd5b815162ffffff81168114612a31575f80fd5b805161309a81612c28565b919050565b5f602082840312156130af575f80fd5b8151612a3181612c28565b600181811c908216806130ce57607f821691505b6020821081036130ec57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561132a57805f5260205f20601f840160051c810160208510156131175750805b601f840160051c820191505b81811015613136575f8155600101613123565b5050505050565b81516001600160401b0381111561315657613156612c57565b61316a8161316484546130ba565b846130f2565b602080601f83116001811461319d575f84156131865750858301515b5f19600386901b1c1916600185901b1785556131f4565b5f85815260208120601f198616915b828110156131cb578886015182559484019460019091019084016131ac565b50858210156131e857878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f825161320d818460208701612b3d565b6d2875696e7436342c62797465732960901b920191825250600e01919050565b6001600160401b0383168152604060208201525f612c0c6040830184612b5f565b5f825161325f818460208701612b3d565b9190910192915050565b5f60208284031215613279575f80fd5b8151612a3181612c14565b6001600160401b03841681526001600160a01b03831660208201526060604082018190525f906132b690830184612b5f565b95945050505050565b5f602082840312156132cf575f80fd5b8151612a3181612df1565b5f6101006001600160601b038351168452602083015181602086015261330282860182612b5f565b915050604083015161331f60408601826001600160601b03169052565b50606083015184820360608601526133378282612b5f565b915050608083015184820360808601526133518282612b5f565b91505060a083015161336c60a086018264ffffffffff169052565b5060c083015161338560c086018264ffffffffff169052565b5060e083015161339960e086018215159052565b509392505050565b6001600160401b0384168152606060208201525f6133c260608301856132da565b905060ff83166040830152949350505050565b805161309a81612c3c565b805161309a81612c4a565b805161309a81612c14565b5f82601f830112613405575f80fd5b8151613413612d2982612ce6565b818152846020838601011115613427575f80fd5b612c0c826020830160208701612b3d565b5f60208284031215613448575f80fd5b81516001600160401b038082111561345e575f80fd5b9083019060e08286031215613471575f80fd5b613479612c6b565b6134828361308f565b81526134906020840161308f565b60208201526134a1604084016133d5565b60408201526134b2606084016133e0565b60608201526134c3608084016133eb565b60808201526134d460a084016133eb565b60a082015260c0830151828111156134ea575f80fd5b6134f6878286016133f6565b60c08301525095945050505050565b5f60208284031215613515575f80fd5b8151612a3181612c4a565b5f60208284031215613530575f80fd5b8151612a3181612c3c565b805161309a81612f94565b5f60208284031215613556575f80fd5b8151612a3181612f94565b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b6001600160401b0384168152604060208201525f6132b6604083018486613561565b602081525f612a3160208301846132da565b6001600160401b03861681526001600160601b0385166020820152608060408201525f6135ee608083018587613561565b905064ffffffffff831660608301529695505050505050565b5f60208284031215613617575f80fd5b5051919050565b5f6020828403121561362e575f80fd5b81516001600160401b0380821115613644575f80fd5b908301906101008286031215613658575f80fd5b613660612c93565b6136698361308f565b815260208301518281111561367c575f80fd5b613688878286016133f6565b60208301525061369a6040840161308f565b60408201526060830151828111156136b0575f80fd5b6136bc878286016133f6565b6060830152506080830151828111156136d3575f80fd5b6136df878286016133f6565b6080830152506136f160a0840161353b565b60a082015261370260c0840161353b565b60c082015261371360e084016133e0565b60e082015295945050505050565b5f8060408385031215613732575f80fd5b825161373d81612c14565b602084015190925061306281612c1456fe07ebcf49758b6ed3af50fa146bec0abe157c0218fe65dc0874c286e9d5da4f00f3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a00f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a2646970667358221220fbcd708e4452d7a8fed72ac155aa4fc089f1e26c6f3f5bd2de44a0a8c55f1ee764736f6c6343000818003360a060405234801562000010575f80fd5b5060405162000ecb38038062000ecb8339810160408190526200003391620003cf565b8282828281620000448282620000ac565b50508160405162000055906200036d565b6001600160a01b039091168152602001604051809103905ff0801580156200007f573d5f803e3d5ffd5b506001600160a01b0316608052620000a06200009a60805190565b62000111565b505050505050620004c6565b620000b78262000182565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a28051156200010357620000fe828262000201565b505050565b6200010d6200027a565b5050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f620001525f8051602062000eab833981519152546001600160a01b031690565b604080516001600160a01b03928316815291841660208301520160405180910390a16200017f816200029c565b50565b806001600160a01b03163b5f03620001bd57604051634c9c8ce360e01b81526001600160a01b03821660048201526024015b60405180910390fd5b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5b80546001600160a01b0319166001600160a01b039290921691909117905550565b60605f80846001600160a01b0316846040516200021f9190620004a9565b5f60405180830381855af49150503d805f811462000259576040519150601f19603f3d011682016040523d82523d5f602084013e6200025e565b606091505b50909250905062000271858383620002dd565b95945050505050565b34156200029a5760405163b398979f60e01b815260040160405180910390fd5b565b6001600160a01b038116620002c757604051633173bdd160e11b81525f6004820152602401620001b4565b805f8051602062000eab833981519152620001e0565b606082620002f657620002f08262000343565b6200033c565b81511580156200030e57506001600160a01b0384163b155b156200033957604051639996b31560e01b81526001600160a01b0385166004820152602401620001b4565b50805b9392505050565b805115620003545780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6104fc80620009af83390190565b80516001600160a01b038116811462000392575f80fd5b919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015620003c7578181015183820152602001620003ad565b50505f910152565b5f805f60608486031215620003e2575f80fd5b620003ed846200037b565b9250620003fd602085016200037b565b60408501519092506001600160401b03808211156200041a575f80fd5b818601915086601f8301126200042e575f80fd5b81518181111562000443576200044362000397565b604051601f8201601f19908116603f011681019083821181831017156200046e576200046e62000397565b8160405282815289602084870101111562000487575f80fd5b6200049a836020830160208801620003ab565b80955050505050509250925092565b5f8251620004bc818460208701620003ab565b9190910192915050565b6080516104cb620004e45f395f818160350152607201526104cb5ff3fe60806040526004361061001d575f3560e01c80638b3240a014610027575b610025610070565b005b348015610032575f80fd5b507f00000000000000000000000000000000000000000000000000000000000000006040516001600160a01b03909116815260200160405180910390f35b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633036100dc575f356001600160e01b03191663278f794360e11b146100d2576040516334ad5dbb60e21b815260040160405180910390fd5b6100da6100e9565b565b6100da610117565b905090565b5f806100f83660048184610365565b81019061010591906103a0565b915091506101138282610127565b5050565b6100da610122610181565b6101b3565b610130826101d1565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a280511561017957610174828261024c565b505050565b6101136102be565b5f6100e47f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b365f80375f80365f845af43d5f803e8080156101cd573d5ff35b3d5ffd5b806001600160a01b03163b5f0361020b57604051634c9c8ce360e01b81526001600160a01b03821660048201526024015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b60605f80846001600160a01b0316846040516102689190610469565b5f60405180830381855af49150503d805f81146102a0576040519150601f19603f3d011682016040523d82523d5f602084013e6102a5565b606091505b50915091506102b58583836102dd565b95945050505050565b34156100da5760405163b398979f60e01b815260040160405180910390fd5b6060826102f2576102ed8261033c565b610335565b815115801561030957506001600160a01b0384163b155b1561033257604051639996b31560e01b81526001600160a01b0385166004820152602401610202565b50805b9392505050565b80511561034c5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b5f8085851115610373575f80fd5b8386111561037f575f80fd5b5050820193919092039150565b634e487b7160e01b5f52604160045260245ffd5b5f80604083850312156103b1575f80fd5b82356001600160a01b03811681146103c7575f80fd5b9150602083013567ffffffffffffffff808211156103e3575f80fd5b818501915085601f8301126103f6575f80fd5b8135818111156104085761040861038c565b604051601f8201601f19908116603f011681019083821181831017156104305761043061038c565b81604052828152886020848701011115610448575f80fd5b826020860160208301375f6020848301015280955050505050509250929050565b5f82515f5b81811015610488576020818601810151858301520161046e565b505f92019182525091905056fea2646970667358221220527a71db7c7f80ff8047d381944bc9092b1b7f7b9362aa3e1b2feea37172dc8364736f6c63430008180033608060405234801561000f575f80fd5b506040516104fc3803806104fc83398101604081905261002e916100bb565b806001600160a01b03811661005c57604051631e4fbdf760e01b81525f600482015260240160405180910390fd5b6100658161006c565b50506100e8565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f602082840312156100cb575f80fd5b81516001600160a01b03811681146100e1575f80fd5b9392505050565b610407806100f55f395ff3fe608060405260043610610049575f3560e01c8063715018a61461004d5780638da5cb5b146100635780639623609d1461008e578063ad3cb1cc146100a1578063f2fde38b146100de575b5f80fd5b348015610058575f80fd5b506100616100fd565b005b34801561006e575f80fd5b505f546040516001600160a01b0390911681526020015b60405180910390f35b61006161009c366004610260565b610110565b3480156100ac575f80fd5b506100d1604051806040016040528060058152602001640352e302e360dc1b81525081565b6040516100859190610372565b3480156100e9575f80fd5b506100616100f836600461038b565b61017b565b6101056101bd565b61010e5f6101e9565b565b6101186101bd565b60405163278f794360e11b81526001600160a01b03841690634f1ef28690349061014890869086906004016103a6565b5f604051808303818588803b15801561015f575f80fd5b505af1158015610171573d5f803e3d5ffd5b5050505050505050565b6101836101bd565b6001600160a01b0381166101b157604051631e4fbdf760e01b81525f60048201526024015b60405180910390fd5b6101ba816101e9565b50565b5f546001600160a01b0316331461010e5760405163118cdaa760e01b81523360048201526024016101a8565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b03811681146101ba575f80fd5b634e487b7160e01b5f52604160045260245ffd5b5f805f60608486031215610272575f80fd5b833561027d81610238565b9250602084013561028d81610238565b9150604084013567ffffffffffffffff808211156102a9575f80fd5b818601915086601f8301126102bc575f80fd5b8135818111156102ce576102ce61024c565b604051601f8201601f19908116603f011681019083821181831017156102f6576102f661024c565b8160405282815289602084870101111561030e575f80fd5b826020860160208301375f6020848301015280955050505050509250925092565b5f81518084525f5b8181101561035357602081850181015186830182015201610337565b505f602082860101526020601f19601f83011685010191505092915050565b602081525f610384602083018461032f565b9392505050565b5f6020828403121561039b575f80fd5b813561038481610238565b6001600160a01b03831681526040602082018190525f906103c99083018461032f565b94935050505056fea26469706673582212202f15eba034bcc300a29923959e683919a6addc10f54c2a76acbb777668b35cd064736f6c63430008180033b53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103",
|
563
|
+
"deployedBytecode": "0x608060405234801562000010575f80fd5b506004361062000164575f3560e01c8063675393bf11620000cf578063ada9652e1162000083578063ada9652e146200042f578063b88da7591462000445578063c987336c146200045c578063e97fac051462000473578063f7c34ee0146200048a578063fd0c63d914620004a1575f80fd5b8063675393bf14620003c0578063893d20e814620003d75780638e9afce614620003e1578063933a9ce814620003f8578063946dfcfe146200040a578063a7ecda36146200041d575f80fd5b80631775564d11620001275780631775564d1462000237578063214cdb80146200025d57806336fc697e14620002745780634d459c90146200027e5780635ab1bd53146200038f578063644c45e014620003a1575f80fd5b806301ffc9a71462000168578063058f7a9714620001ac57806307484e8014620001c55780630d8e6e2c14620001f5578063138461e01462000214575b5f80fd5b6200019762000179366004620015f6565b6001600160e01b0319165f9081526020819052604090205460ff1690565b60405190151581526020015b60405180910390f35b620001c3620001bd3660046200163b565b620004ab565b005b620001dc620001d6366004620016fe565b620005c2565b6040516001600160a01b039091168152602001620001a3565b620001ff6200075d565b60405162ffffff9091168152602001620001a3565b6200021e620007d0565b6040516001600160601b039091168152602001620001a3565b6200024e6200024836600462001759565b620007dc565b604051620001a39190620017f1565b620001c36200026e366004620015f6565b62000836565b620001c362000864565b620003316200028f36600462001816565b6040805160a0810182525f808252602082018190529181018290526060810182905260808101919091525062ffffff9081165f90815260036020908152604091829020825160a0810184528154948516815263010000009094046001600160a01b03908116928501929092526001015490811691830191909152600160a01b810464ffffffffff166060830152600160c81b900463ffffffff16608082015290565b60408051825162ffffff1681526020808401516001600160a01b039081169183019190915283830151169181019190915260608083015164ffffffffff169082015260809182015163ffffffff169181019190915260a001620001a3565b6001546001600160a01b0316620001dc565b5f80516020620028e4833981519152546001600160601b03166200021e565b620001c3620003d13660046200163b565b620008ab565b620001dc620009c3565b6200024e620003f236600462001834565b62000afc565b6002546001600160a01b0316620001dc565b6004545b604051908152602001620001a3565b6005546001600160a01b0316620001dc565b6200040e5f80516020620028e483398151915281565b620001ff6200045636600462001872565b62000b51565b620001dc6200046d36600462001759565b62000b92565b620001dc6200048436600462001759565b62000dc1565b620001c36200049b3660046200188a565b62000f52565b6200021e62000fd0565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b810460ff16159067ffffffffffffffff165f81158015620004f15750825b90505f8267ffffffffffffffff1660011480156200050e5750303b155b9050811580156200051d575080155b156200053c5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff1916600117855583156200056757845460ff60401b1916600160401b1785555b62000573338762000f52565b8315620005ba57845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505050565b5f620005cd620009c3565b6001600160a01b0316336001600160a01b031614620006065760405163086391f760e31b81523360048201526024015b60405180910390fd5b60045415620006285760405163402b135f60e11b815260040160405180910390fd5b5f62000633620009c3565b905030838682620006458589620007dc565b6040516200065390620015e8565b6200066193929190620018c6565b8190604051809103905ff59050801580156200067f573d5f803e3d5ffd5b50600280546001600160a01b0319166001600160a01b03929092169182179055604080516303639b8b60e21b8152905191945062000710918591630d8e6e2c9160048083019260209291908290030181865afa158015620006e2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620007089190620018fc565b878462000fe9565b6002546040516001600160a01b038881168252909116907f78922e3fa1abc96399973cb25528ba892214b57da9d1a573937c460d9f5eb4759060200160405180910390a250509392505050565b600254604080516303639b8b60e21b815290515f926001600160a01b031691630d8e6e2c9160048083019260209291908290030181865afa158015620007a5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620007cb9190620018fc565b905090565b5f620007cb3062001395565b60606349bb9e4b60e01b8383604051602401620007fb9291906200191a565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915290505b92915050565b620008406200159c565b6001600160e01b0319165f908152602081905260409020805460ff19166001179055565b6200086e6200159c565b6301ffc9a760e01b5f9081526020527f67be87c3ff9960ca1e9cfac5cab2ff4747269cf9ed20c9b7306235ac35a491c5805460ff19166001179055565b620008b56200159c565b806001600160a01b03163b5f03620008ec5760405163fdeac91f60e01b81526001600160a01b0382166004820152602401620005fd565b600180546001600160a01b0319166001600160a01b0383169081179091556040516301ffc9a760e01b815263e607072160e01b60048201526301ffc9a790602401602060405180830381865afa92505050801562000969575060408051601f3d908101601f1916820190925262000966918101906200193f565b60015b620009935760405163fdeac91f60e01b81526001600160a01b0382166004820152602401620005fd565b80620009be5760405163fdeac91f60e01b81526001600160a01b0383166004820152602401620005fd565b505b50565b5f805f80516020620028e483398151915280546040516330b8415f60e01b81526001600160601b03909116600482015290915073__$94a2c899be079b00d952d0d84fffaa5c34$__906330b8415f90602401602060405180830381865af415801562000a31573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000a5791906200193f565b1562000ae6576001546001600160a01b03168154604051631c5da14d60e11b81526001600160601b0390911660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa15801562000aba573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000ae0919062001960565b91505090565b54600160601b90046001600160a01b0316919050565b606063329d6e7460e01b8260405160240162000b199190620017f1565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915292915050565b5f6004828154811062000b685762000b686200197e565b905f5260205f2090600a91828204019190066003029054906101000a900462ffffff169050919050565b5f62000b9d620009c3565b6001600160a01b0316336001600160a01b03161462000bd25760405163086391f760e31b8152336004820152602401620005fd565b6004545f0362000bf55760405163366dfd2160e21b815260040160405180910390fd5b5f62000c00620009c3565b90505f62000c166002546001600160a01b031690565b6001600160a01b0316638b3240a06040518163ffffffff1660e01b81526004016020604051808303815f875af115801562000c53573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000c79919062001960565b6002549091506001600160a01b03908116908216639623609d828862000c9f8962000afc565b6040518463ffffffff1660e01b815260040162000cbf93929190620018c6565b5f604051808303815f87803b15801562000cd7575f80fd5b505af115801562000cea573d5f803e3d5ffd5b5050505060025f9054906101000a90046001600160a01b0316935062000d74846001600160a01b0316630d8e6e2c6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000d46573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000d6c9190620018fc565b878562000fe9565b6002546040516001600160a01b038881168252909116907f1356a2c922be684528fa1759d1808395e5c5010181dd333cdb6f03e2d8545b659060200160405180910390a250505092915050565b5f62000dcc620009c3565b6001600160a01b0316336001600160a01b03161462000e015760405163086391f760e31b8152336004820152602401620005fd565b6004541562000e235760405163402b135f60e11b815260040160405180910390fd5b5f62000e2e620009c3565b905030848162000e3f8487620007dc565b60405162000e4d90620015e8565b62000e5b93929190620018c6565b604051809103905ff08015801562000e75573d5f803e3d5ffd5b50600280546001600160a01b0319166001600160a01b03929092169182179055604080516303639b8b60e21b8152905191945062000f06918591630d8e6e2c9160048083019260209291908290030181865afa15801562000ed8573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000efe9190620018fc565b868462000fe9565b6002546040516001600160a01b038781168252909116907f78922e3fa1abc96399973cb25528ba892214b57da9d1a573937c460d9f5eb4759060200160405180910390a2505092915050565b62000f5c6200159c565b62000f6781620008ab565b62000f7162000864565b6001600160a01b03821662000f995760405163f17ef42d60e01b815260040160405180910390fd5b505f80516020620028e483398151915280546001600160601b0316600160601b6001600160a01b0390931692909202919091179055565b6002545f90620007cb906001600160a01b031662001395565b620010698373__$8eede297b65ed5a56eb3f84d8232ae93f5$__6304b8f6c56040518163ffffffff1660e01b8152600401602060405180830381865af415801562001036573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200105c9190620018fc565b62ffffff90811691161490565b1562001088576040516348c618db60e01b815260040160405180910390fd5b60045415620011ee5760048054620010a39060019062001992565b81548110620010b657620010b66200197e565b5f9182526020909120600a80830490910154604051635560100760e01b8152919092066003026101000a90910462ffffff16600482015273__$8eede297b65ed5a56eb3f84d8232ae93f5$__90635560100790602401602060405180830381865af415801562001128573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200114e9190620019b2565b604051635560100760e01b815262ffffff8516600482015273__$8eede297b65ed5a56eb3f84d8232ae93f5$__90635560100790602401602060405180830381865af4158015620011a1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620011c79190620019b2565b11620011ee57604051633e614b6d60e11b815262ffffff84166004820152602401620005fd565b600480546001810182555f829052600a8082047f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b01805462ffffff808916600394909506939093026101000a848102930219169190911790556040805160a0810182529182526001600160a01b038086166020848101919091529085168383015281516356db0c1960e11b815291519293606085019373__$91d01b1eccbca8d6f94a5eb2a0acb040e9$__9363adb6183293818401939092918290030181865af4158015620012bf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620012e59190620019ca565b64ffffffffff90811682524363ffffffff90811660209384015262ffffff9687165f90815260038452604090819020855181549587015199166001600160b81b03199095169490941763010000006001600160a01b03998a1602178455840151600190930180546060860151608090960151949098166001600160c81b031990981697909717600160a01b94909216939093021763ffffffff60c81b1916600160c81b9190921602179092555050565b5f805f80516020620028e483398151915280546040516330b8415f60e01b81526001600160601b03909116600482015290915073__$94a2c899be079b00d952d0d84fffaa5c34$__906330b8415f90602401602060405180830381865af415801562001403573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200142991906200193f565b15620014575780546040516301ab8b6760e21b81526001600160601b039091166004820152602401620005fd565b6001546001600160a01b031660405163c3c5a54760e01b81526001600160a01b038581166004830152919091169063c3c5a54790602401602060405180830381865afa158015620014aa573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620014d091906200193f565b620014fa5760405163b9304b0d60e01b81526001600160a01b0384166004820152602401620005fd565b6001546001600160a01b0316604051636939560f60e11b81526001600160a01b038581166004830152919091169063d272ac1e90602401602060405180830381865afa1580156200154d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620015739190620019f0565b81546bffffffffffffffffffffffff19166001600160601b039190911690811790915592915050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054600160401b900460ff16620015e657604051631afcd79f60e31b815260040160405180910390fd5b565b610ecb8062001a1983390190565b5f6020828403121562001607575f80fd5b81356001600160e01b0319811681146200161f575f80fd5b9392505050565b6001600160a01b0381168114620009c0575f80fd5b5f602082840312156200164c575f80fd5b81356200161f8162001626565b634e487b7160e01b5f52604160045260245ffd5b5f82601f8301126200167d575f80fd5b813567ffffffffffffffff808211156200169b576200169b62001659565b604051601f8301601f19908116603f01168101908282118183101715620016c657620016c662001659565b81604052838152866020858801011115620016df575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f6060848603121562001711575f80fd5b83356200171e8162001626565b9250602084013567ffffffffffffffff8111156200173a575f80fd5b62001748868287016200166d565b925050604084013590509250925092565b5f80604083850312156200176b575f80fd5b8235620017788162001626565b9150602083013567ffffffffffffffff81111562001794575f80fd5b620017a2858286016200166d565b9150509250929050565b5f81518084525f5b81811015620017d257602081850181015186830182015201620017b4565b505f602082860101526020601f19601f83011685010191505092915050565b602081525f6200161f6020830184620017ac565b62ffffff81168114620009c0575f80fd5b5f6020828403121562001827575f80fd5b81356200161f8162001805565b5f6020828403121562001845575f80fd5b813567ffffffffffffffff8111156200185c575f80fd5b6200186a848285016200166d565b949350505050565b5f6020828403121562001883575f80fd5b5035919050565b5f80604083850312156200189c575f80fd5b8235620018a98162001626565b91506020830135620018bb8162001626565b809150509250929050565b6001600160a01b038481168252831660208201526060604082018190525f90620018f390830184620017ac565b95945050505050565b5f602082840312156200190d575f80fd5b81516200161f8162001805565b6001600160a01b03831681526040602082018190525f906200186a90830184620017ac565b5f6020828403121562001950575f80fd5b815180151581146200161f575f80fd5b5f6020828403121562001971575f80fd5b81516200161f8162001626565b634e487b7160e01b5f52603260045260245ffd5b818103818111156200083057634e487b7160e01b5f52601160045260245ffd5b5f60208284031215620019c3575f80fd5b5051919050565b5f60208284031215620019db575f80fd5b815164ffffffffff811681146200161f575f80fd5b5f6020828403121562001a01575f80fd5b81516001600160601b03811681146200161f575f80fdfe60a060405234801562000010575f80fd5b5060405162000ecb38038062000ecb8339810160408190526200003391620003cf565b8282828281620000448282620000ac565b50508160405162000055906200036d565b6001600160a01b039091168152602001604051809103905ff0801580156200007f573d5f803e3d5ffd5b506001600160a01b0316608052620000a06200009a60805190565b62000111565b505050505050620004c6565b620000b78262000182565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a28051156200010357620000fe828262000201565b505050565b6200010d6200027a565b5050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f620001525f8051602062000eab833981519152546001600160a01b031690565b604080516001600160a01b03928316815291841660208301520160405180910390a16200017f816200029c565b50565b806001600160a01b03163b5f03620001bd57604051634c9c8ce360e01b81526001600160a01b03821660048201526024015b60405180910390fd5b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5b80546001600160a01b0319166001600160a01b039290921691909117905550565b60605f80846001600160a01b0316846040516200021f9190620004a9565b5f60405180830381855af49150503d805f811462000259576040519150601f19603f3d011682016040523d82523d5f602084013e6200025e565b606091505b50909250905062000271858383620002dd565b95945050505050565b34156200029a5760405163b398979f60e01b815260040160405180910390fd5b565b6001600160a01b038116620002c757604051633173bdd160e11b81525f6004820152602401620001b4565b805f8051602062000eab833981519152620001e0565b606082620002f657620002f08262000343565b6200033c565b81511580156200030e57506001600160a01b0384163b155b156200033957604051639996b31560e01b81526001600160a01b0385166004820152602401620001b4565b50805b9392505050565b805115620003545780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6104fc80620009af83390190565b80516001600160a01b038116811462000392575f80fd5b919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015620003c7578181015183820152602001620003ad565b50505f910152565b5f805f60608486031215620003e2575f80fd5b620003ed846200037b565b9250620003fd602085016200037b565b60408501519092506001600160401b03808211156200041a575f80fd5b818601915086601f8301126200042e575f80fd5b81518181111562000443576200044362000397565b604051601f8201601f19908116603f011681019083821181831017156200046e576200046e62000397565b8160405282815289602084870101111562000487575f80fd5b6200049a836020830160208801620003ab565b80955050505050509250925092565b5f8251620004bc818460208701620003ab565b9190910192915050565b6080516104cb620004e45f395f818160350152607201526104cb5ff3fe60806040526004361061001d575f3560e01c80638b3240a014610027575b610025610070565b005b348015610032575f80fd5b507f00000000000000000000000000000000000000000000000000000000000000006040516001600160a01b03909116815260200160405180910390f35b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633036100dc575f356001600160e01b03191663278f794360e11b146100d2576040516334ad5dbb60e21b815260040160405180910390fd5b6100da6100e9565b565b6100da610117565b905090565b5f806100f83660048184610365565b81019061010591906103a0565b915091506101138282610127565b5050565b6100da610122610181565b6101b3565b610130826101d1565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a280511561017957610174828261024c565b505050565b6101136102be565b5f6100e47f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b365f80375f80365f845af43d5f803e8080156101cd573d5ff35b3d5ffd5b806001600160a01b03163b5f0361020b57604051634c9c8ce360e01b81526001600160a01b03821660048201526024015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b60605f80846001600160a01b0316846040516102689190610469565b5f60405180830381855af49150503d805f81146102a0576040519150601f19603f3d011682016040523d82523d5f602084013e6102a5565b606091505b50915091506102b58583836102dd565b95945050505050565b34156100da5760405163b398979f60e01b815260040160405180910390fd5b6060826102f2576102ed8261033c565b610335565b815115801561030957506001600160a01b0384163b155b1561033257604051639996b31560e01b81526001600160a01b0385166004820152602401610202565b50805b9392505050565b80511561034c5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b5f8085851115610373575f80fd5b8386111561037f575f80fd5b5050820193919092039150565b634e487b7160e01b5f52604160045260245ffd5b5f80604083850312156103b1575f80fd5b82356001600160a01b03811681146103c7575f80fd5b9150602083013567ffffffffffffffff808211156103e3575f80fd5b818501915085601f8301126103f6575f80fd5b8135818111156104085761040861038c565b604051601f8201601f19908116603f011681019083821181831017156104305761043061038c565b81604052828152886020848701011115610448575f80fd5b826020860160208301375f6020848301015280955050505050509250929050565b5f82515f5b81811015610488576020818601810151858301520161046e565b505f92019182525091905056fea2646970667358221220527a71db7c7f80ff8047d381944bc9092b1b7f7b9362aa3e1b2feea37172dc8364736f6c63430008180033608060405234801561000f575f80fd5b506040516104fc3803806104fc83398101604081905261002e916100bb565b806001600160a01b03811661005c57604051631e4fbdf760e01b81525f600482015260240160405180910390fd5b6100658161006c565b50506100e8565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f602082840312156100cb575f80fd5b81516001600160a01b03811681146100e1575f80fd5b9392505050565b610407806100f55f395ff3fe608060405260043610610049575f3560e01c8063715018a61461004d5780638da5cb5b146100635780639623609d1461008e578063ad3cb1cc146100a1578063f2fde38b146100de575b5f80fd5b348015610058575f80fd5b506100616100fd565b005b34801561006e575f80fd5b505f546040516001600160a01b0390911681526020015b60405180910390f35b61006161009c366004610260565b610110565b3480156100ac575f80fd5b506100d1604051806040016040528060058152602001640352e302e360dc1b81525081565b6040516100859190610372565b3480156100e9575f80fd5b506100616100f836600461038b565b61017b565b6101056101bd565b61010e5f6101e9565b565b6101186101bd565b60405163278f794360e11b81526001600160a01b03841690634f1ef28690349061014890869086906004016103a6565b5f604051808303818588803b15801561015f575f80fd5b505af1158015610171573d5f803e3d5ffd5b5050505050505050565b6101836101bd565b6001600160a01b0381166101b157604051631e4fbdf760e01b81525f60048201526024015b60405180910390fd5b6101ba816101e9565b50565b5f546001600160a01b0316331461010e5760405163118cdaa760e01b81523360048201526024016101a8565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b03811681146101ba575f80fd5b634e487b7160e01b5f52604160045260245ffd5b5f805f60608486031215610272575f80fd5b833561027d81610238565b9250602084013561028d81610238565b9150604084013567ffffffffffffffff808211156102a9575f80fd5b818601915086601f8301126102bc575f80fd5b8135818111156102ce576102ce61024c565b604051601f8201601f19908116603f011681019083821181831017156102f6576102f661024c565b8160405282815289602084870101111561030e575f80fd5b826020860160208301375f6020848301015280955050505050509250925092565b5f81518084525f5b8181101561035357602081850181015186830182015201610337565b505f602082860101526020601f19601f83011685010191505092915050565b602081525f610384602083018461032f565b9392505050565b5f6020828403121561039b575f80fd5b813561038481610238565b6001600160a01b03831681526040602082018190525f906103c99083018461032f565b94935050505056fea26469706673582212202f15eba034bcc300a29923959e683919a6addc10f54c2a76acbb777668b35cd064736f6c63430008180033b53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610307ebcf49758b6ed3af50fa146bec0abe157c0218fe65dc0874c286e9d5da4f00a2646970667358221220cbc81e2113934e4bdd3ee9c6a69291ad36f8cfbd973e13b27f493dc423e6c28464736f6c63430008180033",
|
564
|
+
"linkReferences": {
|
565
|
+
"contracts/type/NftId.sol": {
|
566
|
+
"NftIdLib": [
|
567
|
+
{
|
568
|
+
"length": 20,
|
569
|
+
"start": 1148
|
570
|
+
},
|
571
|
+
{
|
572
|
+
"length": 20,
|
573
|
+
"start": 5948
|
574
|
+
},
|
575
|
+
{
|
576
|
+
"length": 20,
|
577
|
+
"start": 8462
|
578
|
+
},
|
579
|
+
{
|
580
|
+
"length": 20,
|
581
|
+
"start": 15403
|
582
|
+
},
|
583
|
+
{
|
584
|
+
"length": 20,
|
585
|
+
"start": 18517
|
586
|
+
},
|
587
|
+
{
|
588
|
+
"length": 20,
|
589
|
+
"start": 21851
|
590
|
+
},
|
591
|
+
{
|
592
|
+
"length": 20,
|
593
|
+
"start": 24885
|
594
|
+
}
|
595
|
+
]
|
596
|
+
},
|
597
|
+
"contracts/type/RequestId.sol": {
|
598
|
+
"RequestIdLib": [
|
599
|
+
{
|
600
|
+
"length": 20,
|
601
|
+
"start": 22731
|
602
|
+
}
|
603
|
+
]
|
604
|
+
},
|
605
|
+
"contracts/type/RoleId.sol": {
|
606
|
+
"RoleIdLib": [
|
607
|
+
{
|
608
|
+
"length": 20,
|
609
|
+
"start": 18070
|
610
|
+
}
|
611
|
+
]
|
612
|
+
},
|
613
|
+
"contracts/type/Timestamp.sol": {
|
614
|
+
"TimestampLib": [
|
615
|
+
{
|
616
|
+
"length": 20,
|
617
|
+
"start": 2176
|
618
|
+
},
|
619
|
+
{
|
620
|
+
"length": 20,
|
621
|
+
"start": 8138
|
622
|
+
},
|
623
|
+
{
|
624
|
+
"length": 20,
|
625
|
+
"start": 19254
|
626
|
+
},
|
627
|
+
{
|
628
|
+
"length": 20,
|
629
|
+
"start": 20620
|
630
|
+
},
|
631
|
+
{
|
632
|
+
"length": 20,
|
633
|
+
"start": 20747
|
634
|
+
},
|
635
|
+
{
|
636
|
+
"length": 20,
|
637
|
+
"start": 21122
|
638
|
+
},
|
639
|
+
{
|
640
|
+
"length": 20,
|
641
|
+
"start": 23365
|
642
|
+
}
|
643
|
+
]
|
644
|
+
},
|
645
|
+
"contracts/type/Version.sol": {
|
646
|
+
"VersionLib": [
|
647
|
+
{
|
648
|
+
"length": 20,
|
649
|
+
"start": 1514
|
650
|
+
},
|
651
|
+
{
|
652
|
+
"length": 20,
|
653
|
+
"start": 1769
|
654
|
+
},
|
655
|
+
{
|
656
|
+
"length": 20,
|
657
|
+
"start": 1890
|
658
|
+
},
|
659
|
+
{
|
660
|
+
"length": 20,
|
661
|
+
"start": 7476
|
662
|
+
},
|
663
|
+
{
|
664
|
+
"length": 20,
|
665
|
+
"start": 7731
|
666
|
+
},
|
667
|
+
{
|
668
|
+
"length": 20,
|
669
|
+
"start": 7852
|
670
|
+
},
|
671
|
+
{
|
672
|
+
"length": 20,
|
673
|
+
"start": 15249
|
674
|
+
},
|
675
|
+
{
|
676
|
+
"length": 20,
|
677
|
+
"start": 16592
|
678
|
+
}
|
679
|
+
],
|
680
|
+
"VersionPartLib": [
|
681
|
+
{
|
682
|
+
"length": 20,
|
683
|
+
"start": 18118
|
684
|
+
},
|
685
|
+
{
|
686
|
+
"length": 20,
|
687
|
+
"start": 23969
|
688
|
+
}
|
689
|
+
]
|
690
|
+
}
|
691
|
+
},
|
692
|
+
"deployedLinkReferences": {
|
693
|
+
"contracts/type/NftId.sol": {
|
694
|
+
"NftIdLib": [
|
695
|
+
{
|
696
|
+
"length": 20,
|
697
|
+
"start": 2552
|
698
|
+
},
|
699
|
+
{
|
700
|
+
"length": 20,
|
701
|
+
"start": 5066
|
702
|
+
}
|
703
|
+
]
|
704
|
+
},
|
705
|
+
"contracts/type/Timestamp.sol": {
|
706
|
+
"TimestampLib": [
|
707
|
+
{
|
708
|
+
"length": 20,
|
709
|
+
"start": 4742
|
710
|
+
}
|
711
|
+
]
|
712
|
+
},
|
713
|
+
"contracts/type/Version.sol": {
|
714
|
+
"VersionLib": [
|
715
|
+
{
|
716
|
+
"length": 20,
|
717
|
+
"start": 4080
|
718
|
+
},
|
719
|
+
{
|
720
|
+
"length": 20,
|
721
|
+
"start": 4335
|
722
|
+
},
|
723
|
+
{
|
724
|
+
"length": 20,
|
725
|
+
"start": 4456
|
726
|
+
}
|
727
|
+
]
|
728
|
+
}
|
729
|
+
}
|
730
|
+
}
|