@etherisc/gif-next 0.0.2-f7eda15-119 → 0.0.2-f831797-539
Sign up to get free protection for your applications and to get access to all the features.
- package/README.md +73 -1
- package/artifacts/contracts/components/Component.sol/Component.dbg.json +1 -1
- package/artifacts/contracts/components/Component.sol/Component.json +252 -94
- package/artifacts/contracts/components/Distribution.sol/Distribution.dbg.json +1 -1
- package/artifacts/contracts/components/Distribution.sol/Distribution.json +611 -159
- package/artifacts/contracts/components/IComponent.sol/IComponent.dbg.json +1 -1
- package/artifacts/contracts/components/IComponent.sol/IComponent.json +104 -72
- package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
- package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.json +311 -108
- package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
- package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.json +331 -164
- package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +1 -1
- package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.json +108 -144
- package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +1 -1
- package/artifacts/contracts/components/Pool.sol/Pool.json +553 -185
- package/artifacts/contracts/components/Product.sol/Product.dbg.json +1 -1
- package/artifacts/contracts/components/Product.sol/Product.json +356 -166
- package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +1 -1
- package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +30 -11
- package/artifacts/contracts/instance/Cloneable.sol/Cloneable.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.json +722 -422
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +94 -171
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +911 -779
- package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +39 -89
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +119 -216
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +276 -254
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +319 -99
- package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.dbg.json +1 -1
- package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.json +2 -2
- package/artifacts/contracts/instance/base/ComponentService.sol/ComponentService.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ComponentService.sol/ComponentService.json +118 -169
- package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +1 -1
- package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
- package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +40 -10
- package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +1 -1
- package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +36 -11
- package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +13 -13
- package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +4 -0
- package/artifacts/contracts/instance/module/IComponents.sol/IComponents.json +10 -0
- package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
- package/artifacts/contracts/instance/module/ISetup.sol/ISetup.dbg.json +1 -1
- package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.dbg.json +1 -1
- package/artifacts/contracts/instance/service/ApplicationService.sol/ApplicationService.dbg.json +4 -0
- package/artifacts/contracts/instance/service/ApplicationService.sol/ApplicationService.json +968 -0
- package/artifacts/contracts/instance/service/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +4 -0
- package/artifacts/contracts/instance/service/ApplicationServiceManager.sol/ApplicationServiceManager.json +665 -0
- package/artifacts/contracts/instance/service/BundleService.sol/BundleService.dbg.json +1 -1
- package/artifacts/contracts/instance/service/BundleService.sol/BundleService.json +306 -315
- package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.json +305 -93
- package/artifacts/contracts/instance/service/ClaimService.sol/ClaimService.dbg.json +4 -0
- package/artifacts/contracts/instance/service/ClaimService.sol/ClaimService.json +754 -0
- package/artifacts/contracts/instance/service/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +4 -0
- package/artifacts/contracts/instance/service/ClaimServiceManager.sol/ClaimServiceManager.json +637 -0
- package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.dbg.json +1 -1
- package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.json +1207 -255
- package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.json +449 -85
- package/artifacts/contracts/instance/service/IApplicationService.sol/IApplicationService.dbg.json +4 -0
- package/artifacts/contracts/instance/service/IApplicationService.sol/IApplicationService.json +556 -0
- package/artifacts/contracts/instance/service/IBundleService.sol/IBundleService.dbg.json +1 -1
- package/artifacts/contracts/instance/service/IBundleService.sol/IBundleService.json +155 -240
- package/artifacts/contracts/instance/service/IClaimService.sol/IClaimService.dbg.json +4 -0
- package/artifacts/contracts/instance/service/IClaimService.sol/IClaimService.json +409 -0
- package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.dbg.json +1 -1
- package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.json +711 -139
- package/artifacts/contracts/instance/service/IPolicyService.sol/IPolicyService.dbg.json +1 -1
- package/artifacts/contracts/instance/service/IPolicyService.sol/IPolicyService.json +60 -286
- package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +1 -1
- package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.json +81 -147
- package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +1 -1
- package/artifacts/contracts/instance/service/IProductService.sol/IProductService.json +22 -169
- package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.dbg.json +1 -1
- package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.json +185 -391
- package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.json +311 -127
- package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +1 -1
- package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +214 -204
- package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.json +306 -90
- package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +1 -1
- package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +142 -221
- package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.json +302 -90
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +15 -2
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +83 -174
- 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 +28 -15
- package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.json +2 -2
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +193 -216
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +300 -94
- package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +11 -11
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +141 -37
- package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.dbg.json +1 -1
- package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +1 -1
- package/artifacts/contracts/shared/ERC165.sol/ERC165.json +41 -3
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +40 -29
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +4 -0
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +129 -0
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +21 -29
- package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +4 -0
- package/artifacts/contracts/{experiment/inheritance/IB.sol/IB.json → shared/IRegistryLinked.sol/IRegistryLinked.json} +18 -20
- package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
- package/artifacts/contracts/shared/IService.sol/IService.json +22 -169
- package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +1 -1
- package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +2 -152
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +113 -33
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +4 -0
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +248 -0
- package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +294 -74
- package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
- package/artifacts/contracts/shared/Registerable.sol/Registerable.json +125 -55
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +4 -0
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +84 -0
- package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
- package/artifacts/contracts/shared/Service.sol/Service.json +113 -164
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +2 -2
- package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
- package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +2 -2
- package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +1 -1
- package/artifacts/contracts/shared/Versionable.sol/Versionable.json +2 -152
- package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +1 -1
- package/artifacts/contracts/test/TestFee.sol/TestFee.json +2 -2
- package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +1 -1
- package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +125 -55
- package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +1 -1
- package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +2 -2
- package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +1 -1
- package/artifacts/contracts/test/TestService.sol/TestService.json +134 -221
- package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +1 -1
- package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +1 -1
- package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +2 -2
- package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +1 -1
- package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +8 -190
- package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +1 -1
- package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +1 -1
- package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
- package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.json +2 -2
- package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +1 -1
- package/artifacts/contracts/types/ClaimId.sol/ClaimIdLib.dbg.json +4 -0
- package/artifacts/contracts/types/ClaimId.sol/ClaimIdLib.json +100 -0
- package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
- package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.json +2 -2
- package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +1 -1
- package/artifacts/contracts/types/Fee.sol/FeeLib.json +2 -2
- package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +1 -1
- package/artifacts/contracts/types/Key32.sol/Key32Lib.json +2 -2
- package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +1 -1
- package/artifacts/contracts/types/NftId.sol/NftIdLib.json +17 -4
- package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
- package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.json +2 -2
- package/artifacts/contracts/types/NumberId.sol/NumberIdLib.dbg.json +1 -1
- package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
- package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.json +2 -2
- package/artifacts/contracts/types/PayoutId.sol/PayoutIdLib.dbg.json +4 -0
- package/artifacts/contracts/types/PayoutId.sol/PayoutIdLib.json +100 -0
- package/artifacts/contracts/types/Referral.sol/ReferralLib.dbg.json +1 -1
- package/artifacts/contracts/types/Referral.sol/ReferralLib.json +23 -4
- package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +1 -1
- package/artifacts/contracts/types/RiskId.sol/RiskIdLib.json +2 -2
- package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +1 -1
- package/artifacts/contracts/types/RoleId.sol/RoleIdLib.json +2 -2
- package/artifacts/contracts/types/Seconds.sol/SecondsLib.dbg.json +4 -0
- package/artifacts/contracts/types/Seconds.sol/SecondsLib.json +124 -0
- package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +1 -1
- package/artifacts/contracts/types/StateId.sol/StateIdLib.json +2 -2
- package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +1 -1
- package/artifacts/contracts/types/Timestamp.sol/TimestampLib.json +25 -7
- package/artifacts/contracts/types/UFixed.sol/MathLib.dbg.json +1 -1
- package/artifacts/contracts/types/UFixed.sol/MathLib.json +2 -2
- package/artifacts/contracts/types/UFixed.sol/UFixedLib.dbg.json +1 -1
- package/artifacts/contracts/types/UFixed.sol/UFixedLib.json +2 -2
- package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +1 -1
- package/artifacts/contracts/types/Version.sol/VersionLib.json +2 -2
- package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +1 -1
- package/artifacts/contracts/types/Version.sol/VersionPartLib.json +2 -2
- package/contracts/components/Component.sol +103 -78
- package/contracts/components/Distribution.sol +187 -57
- package/contracts/components/IComponent.sol +48 -17
- package/contracts/components/IDistributionComponent.sol +39 -15
- package/contracts/components/IPoolComponent.sol +84 -31
- package/contracts/components/IProductComponent.sol +3 -2
- package/contracts/components/Pool.sol +217 -145
- package/contracts/components/Product.sol +97 -69
- package/contracts/instance/BundleManager.sol +7 -5
- package/contracts/instance/IInstance.sol +24 -3
- package/contracts/instance/IInstanceService.sol +20 -1
- package/contracts/instance/Instance.sol +65 -39
- package/contracts/instance/InstanceAccessManager.sol +12 -13
- package/contracts/instance/InstanceReader.sol +4 -3
- package/contracts/instance/InstanceService.sol +111 -57
- package/contracts/instance/InstanceServiceManager.sol +1 -1
- package/contracts/instance/base/ComponentService.sol +1 -1
- package/contracts/instance/base/KeyValueStore.sol +5 -2
- package/contracts/instance/base/Lifecycle.sol +11 -2
- package/contracts/instance/module/IAccess.sol +3 -4
- package/contracts/instance/module/IBundle.sol +2 -1
- package/contracts/instance/module/IComponents.sol +35 -0
- package/contracts/instance/module/IDistribution.sol +2 -0
- package/contracts/instance/module/IPolicy.sol +30 -3
- package/contracts/instance/module/ISetup.sol +7 -20
- package/contracts/instance/service/ApplicationService.sol +350 -0
- package/contracts/instance/service/ApplicationServiceManager.sol +35 -0
- package/contracts/instance/service/BundleService.sol +82 -39
- package/contracts/instance/service/BundleServiceManager.sol +1 -1
- package/contracts/instance/service/ClaimService.sol +151 -0
- package/contracts/instance/service/ClaimServiceManager.sol +35 -0
- package/contracts/instance/service/DistributionService.sol +360 -16
- package/contracts/instance/service/DistributionServiceManager.sol +1 -1
- package/contracts/instance/service/IApplicationService.sol +82 -0
- package/contracts/instance/service/IBundleService.sol +30 -12
- package/contracts/instance/service/IClaimService.sol +61 -0
- package/contracts/instance/service/IDistributionService.sol +86 -0
- package/contracts/instance/service/IPolicyService.sol +27 -49
- package/contracts/instance/service/IPoolService.sol +17 -2
- package/contracts/instance/service/PolicyService.sol +148 -283
- package/contracts/instance/service/PolicyServiceManager.sol +2 -2
- package/contracts/instance/service/PoolService.sol +75 -22
- package/contracts/instance/service/PoolServiceManager.sol +1 -1
- package/contracts/instance/service/ProductService.sol +10 -11
- package/contracts/instance/service/ProductServiceManager.sol +2 -2
- package/contracts/registry/IRegistry.sol +3 -2
- package/contracts/registry/IRegistryService.sol +10 -8
- package/contracts/registry/Registry.sol +20 -8
- package/contracts/registry/RegistryService.sol +69 -48
- package/contracts/registry/RegistryServiceManager.sol +13 -13
- package/contracts/registry/ReleaseManager.sol +18 -28
- package/contracts/registry/TokenRegistry.sol +16 -12
- package/contracts/shared/ERC165.sol +14 -12
- package/contracts/shared/INftOwnable.sol +11 -10
- package/contracts/shared/IPolicyHolder.sol +26 -0
- package/contracts/shared/IRegisterable.sol +3 -3
- package/contracts/shared/IRegistryLinked.sol +12 -0
- package/contracts/shared/IService.sol +2 -0
- package/contracts/shared/IVersionable.sol +4 -47
- package/contracts/shared/NftOwnable.sol +66 -85
- package/contracts/shared/PolicyHolder.sol +81 -0
- package/contracts/shared/ProxyManager.sol +100 -25
- package/contracts/shared/Registerable.sol +7 -19
- package/contracts/shared/RegistryLinked.sol +48 -0
- package/contracts/shared/Service.sol +15 -17
- package/contracts/shared/TokenHandler.sol +11 -5
- package/contracts/shared/Versionable.sol +4 -92
- package/contracts/test/TestRegisterable.sol +1 -1
- package/contracts/test/TestService.sol +1 -1
- package/contracts/types/Blocknumber.sol +1 -0
- package/contracts/types/ClaimId.sol +52 -0
- package/contracts/types/DistributorType.sol +2 -2
- package/contracts/types/Fee.sol +1 -0
- package/contracts/types/NftId.sol +8 -0
- package/contracts/types/ObjectType.sol +10 -5
- package/contracts/types/PayoutId.sol +54 -0
- package/contracts/types/Referral.sol +4 -0
- package/contracts/types/RoleId.sol +10 -5
- package/contracts/types/Seconds.sol +54 -0
- package/contracts/types/StateId.sol +1 -0
- package/contracts/types/Timestamp.sol +13 -13
- package/contracts/types/UFixed.sol +1 -0
- package/contracts/types/Version.sol +1 -0
- package/package.json +3 -3
- package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.dbg.json +0 -4
- package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.json +0 -66
- package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.dbg.json +0 -4
- package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.json +0 -24
- package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.dbg.json +0 -4
- package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.json +0 -42
- package/artifacts/contracts/experiment/errors/Require.sol/Require.dbg.json +0 -4
- package/artifacts/contracts/experiment/errors/Require.sol/Require.json +0 -105
- package/artifacts/contracts/experiment/errors/Revert.sol/Revert.dbg.json +0 -4
- package/artifacts/contracts/experiment/errors/Revert.sol/Revert.json +0 -105
- package/artifacts/contracts/experiment/inheritance/A.sol/A.dbg.json +0 -4
- package/artifacts/contracts/experiment/inheritance/A.sol/A.json +0 -128
- package/artifacts/contracts/experiment/inheritance/A.sol/AShared.dbg.json +0 -4
- package/artifacts/contracts/experiment/inheritance/A.sol/AShared.json +0 -42
- package/artifacts/contracts/experiment/inheritance/B.sol/B.dbg.json +0 -4
- package/artifacts/contracts/experiment/inheritance/B.sol/B.json +0 -76
- package/artifacts/contracts/experiment/inheritance/C.sol/C.dbg.json +0 -4
- package/artifacts/contracts/experiment/inheritance/C.sol/C.json +0 -89
- package/artifacts/contracts/experiment/inheritance/IA.sol/IA.dbg.json +0 -4
- package/artifacts/contracts/experiment/inheritance/IA.sol/IA.json +0 -128
- package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.dbg.json +0 -4
- package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.json +0 -37
- package/artifacts/contracts/experiment/inheritance/IB.sol/IB.dbg.json +0 -4
- package/artifacts/contracts/experiment/inheritance/IC.sol/IC.dbg.json +0 -4
- package/artifacts/contracts/experiment/inheritance/IC.sol/IC.json +0 -63
- package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.dbg.json +0 -4
- package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.json +0 -59
- package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.dbg.json +0 -4
- package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.json +0 -124
- package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.dbg.json +0 -4
- package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.json +0 -74
- package/artifacts/contracts/experiment/statemachine/SM.sol/SM.dbg.json +0 -4
- package/artifacts/contracts/experiment/statemachine/SM.sol/SM.json +0 -124
- package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.dbg.json +0 -4
- package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.json +0 -207
- package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.dbg.json +0 -4
- package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.json +0 -10
- package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.dbg.json +0 -4
- package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.json +0 -10
- package/contracts/experiment/cloning/Cloner.sol +0 -47
- package/contracts/experiment/errors/Require.sol +0 -38
- package/contracts/experiment/errors/Revert.sol +0 -44
- package/contracts/experiment/inheritance/A.sol +0 -53
- package/contracts/experiment/inheritance/B.sol +0 -28
- package/contracts/experiment/inheritance/C.sol +0 -34
- package/contracts/experiment/inheritance/IA.sol +0 -13
- package/contracts/experiment/inheritance/IB.sol +0 -10
- package/contracts/experiment/inheritance/IC.sol +0 -12
- package/contracts/experiment/statemachine/Dummy.sol +0 -27
- package/contracts/experiment/statemachine/ISM.sol +0 -25
- package/contracts/experiment/statemachine/SM.sol +0 -57
- package/contracts/experiment/statemachine/SimpleStateMachine.sol +0 -31
- package/contracts/experiment/types/TypeA.sol +0 -47
- package/contracts/experiment/types/TypeB.sol +0 -29
@@ -3,22 +3,6 @@
|
|
3
3
|
"contractName": "PolicyService",
|
4
4
|
"sourceName": "contracts/instance/service/PolicyService.sol",
|
5
5
|
"abi": [
|
6
|
-
{
|
7
|
-
"inputs": [
|
8
|
-
{
|
9
|
-
"internalType": "address",
|
10
|
-
"name": "registry",
|
11
|
-
"type": "address"
|
12
|
-
},
|
13
|
-
{
|
14
|
-
"internalType": "NftId",
|
15
|
-
"name": "nftId",
|
16
|
-
"type": "uint96"
|
17
|
-
}
|
18
|
-
],
|
19
|
-
"name": "ErrorAlreadyLinked",
|
20
|
-
"type": "error"
|
21
|
-
},
|
22
6
|
{
|
23
7
|
"inputs": [
|
24
8
|
{
|
@@ -120,17 +104,6 @@
|
|
120
104
|
"name": "ErrorComponentServiceSenderNotOwner",
|
121
105
|
"type": "error"
|
122
106
|
},
|
123
|
-
{
|
124
|
-
"inputs": [
|
125
|
-
{
|
126
|
-
"internalType": "address",
|
127
|
-
"name": "contractAddress",
|
128
|
-
"type": "address"
|
129
|
-
}
|
130
|
-
],
|
131
|
-
"name": "ErrorContractNotRegistered",
|
132
|
-
"type": "error"
|
133
|
-
},
|
134
107
|
{
|
135
108
|
"inputs": [
|
136
109
|
{
|
@@ -249,6 +222,27 @@
|
|
249
222
|
"name": "ErrorIPolicyServicePremiumAlreadyPaid",
|
250
223
|
"type": "error"
|
251
224
|
},
|
225
|
+
{
|
226
|
+
"inputs": [
|
227
|
+
{
|
228
|
+
"internalType": "NftId",
|
229
|
+
"name": "policyNftId",
|
230
|
+
"type": "uint96"
|
231
|
+
},
|
232
|
+
{
|
233
|
+
"internalType": "uint256",
|
234
|
+
"name": "premiumAmount",
|
235
|
+
"type": "uint256"
|
236
|
+
},
|
237
|
+
{
|
238
|
+
"internalType": "uint256",
|
239
|
+
"name": "recalculatedPremiumAmount",
|
240
|
+
"type": "uint256"
|
241
|
+
}
|
242
|
+
],
|
243
|
+
"name": "ErrorIPolicyServicePremiumMismatch",
|
244
|
+
"type": "error"
|
245
|
+
},
|
252
246
|
{
|
253
247
|
"inputs": [
|
254
248
|
{
|
@@ -274,54 +268,60 @@
|
|
274
268
|
"inputs": [
|
275
269
|
{
|
276
270
|
"internalType": "address",
|
277
|
-
"name": "
|
271
|
+
"name": "caller",
|
278
272
|
"type": "address"
|
279
273
|
}
|
280
274
|
],
|
281
|
-
"name": "
|
275
|
+
"name": "ErrorIServiceCallerUnknown",
|
282
276
|
"type": "error"
|
283
277
|
},
|
284
278
|
{
|
285
279
|
"inputs": [
|
286
280
|
{
|
287
|
-
"internalType": "
|
288
|
-
"name": "
|
289
|
-
"type": "
|
281
|
+
"internalType": "NftId",
|
282
|
+
"name": "nftId",
|
283
|
+
"type": "uint96"
|
290
284
|
}
|
291
285
|
],
|
292
|
-
"name": "
|
286
|
+
"name": "ErrorNftOwnableAlreadyLinked",
|
293
287
|
"type": "error"
|
294
288
|
},
|
295
289
|
{
|
296
290
|
"inputs": [
|
297
291
|
{
|
298
292
|
"internalType": "address",
|
299
|
-
"name": "
|
293
|
+
"name": "contractAddress",
|
300
294
|
"type": "address"
|
301
295
|
}
|
302
296
|
],
|
303
|
-
"name": "
|
297
|
+
"name": "ErrorNftOwnableContractNotRegistered",
|
304
298
|
"type": "error"
|
305
299
|
},
|
306
300
|
{
|
307
301
|
"inputs": [],
|
308
|
-
"name": "
|
302
|
+
"name": "ErrorNftOwnableInitialOwnerZero",
|
309
303
|
"type": "error"
|
310
304
|
},
|
311
305
|
{
|
312
306
|
"inputs": [
|
313
307
|
{
|
314
308
|
"internalType": "address",
|
315
|
-
"name": "
|
309
|
+
"name": "account",
|
316
310
|
"type": "address"
|
317
311
|
}
|
318
312
|
],
|
319
|
-
"name": "
|
313
|
+
"name": "ErrorNftOwnableNotOwner",
|
320
314
|
"type": "error"
|
321
315
|
},
|
322
316
|
{
|
323
|
-
"inputs": [
|
324
|
-
|
317
|
+
"inputs": [
|
318
|
+
{
|
319
|
+
"internalType": "address",
|
320
|
+
"name": "registryAddress",
|
321
|
+
"type": "address"
|
322
|
+
}
|
323
|
+
],
|
324
|
+
"name": "ErrorNotRegistry",
|
325
325
|
"type": "error"
|
326
326
|
},
|
327
327
|
{
|
@@ -361,29 +361,17 @@
|
|
361
361
|
"type": "event"
|
362
362
|
},
|
363
363
|
{
|
364
|
-
"
|
365
|
-
"
|
366
|
-
|
367
|
-
"indexed": false,
|
368
|
-
"internalType": "Version",
|
369
|
-
"name": "version",
|
370
|
-
"type": "uint24"
|
371
|
-
},
|
372
|
-
{
|
373
|
-
"indexed": false,
|
374
|
-
"internalType": "address",
|
375
|
-
"name": "implementation",
|
376
|
-
"type": "address"
|
377
|
-
},
|
364
|
+
"inputs": [],
|
365
|
+
"name": "NFT_OWNABLE_STORAGE_LOCATION_V1",
|
366
|
+
"outputs": [
|
378
367
|
{
|
379
|
-
"
|
380
|
-
"
|
381
|
-
"
|
382
|
-
"type": "address"
|
368
|
+
"internalType": "bytes32",
|
369
|
+
"name": "",
|
370
|
+
"type": "bytes32"
|
383
371
|
}
|
384
372
|
],
|
385
|
-
"
|
386
|
-
"type": "
|
373
|
+
"stateMutability": "view",
|
374
|
+
"type": "function"
|
387
375
|
},
|
388
376
|
{
|
389
377
|
"inputs": [],
|
@@ -416,70 +404,6 @@
|
|
416
404
|
"stateMutability": "nonpayable",
|
417
405
|
"type": "function"
|
418
406
|
},
|
419
|
-
{
|
420
|
-
"inputs": [
|
421
|
-
{
|
422
|
-
"internalType": "RiskId",
|
423
|
-
"name": "riskId",
|
424
|
-
"type": "bytes8"
|
425
|
-
},
|
426
|
-
{
|
427
|
-
"internalType": "uint256",
|
428
|
-
"name": "sumInsuredAmount",
|
429
|
-
"type": "uint256"
|
430
|
-
},
|
431
|
-
{
|
432
|
-
"internalType": "uint256",
|
433
|
-
"name": "lifetime",
|
434
|
-
"type": "uint256"
|
435
|
-
},
|
436
|
-
{
|
437
|
-
"internalType": "bytes",
|
438
|
-
"name": "applicationData",
|
439
|
-
"type": "bytes"
|
440
|
-
},
|
441
|
-
{
|
442
|
-
"internalType": "NftId",
|
443
|
-
"name": "bundleNftId",
|
444
|
-
"type": "uint96"
|
445
|
-
},
|
446
|
-
{
|
447
|
-
"internalType": "ReferralId",
|
448
|
-
"name": "referralId",
|
449
|
-
"type": "bytes8"
|
450
|
-
}
|
451
|
-
],
|
452
|
-
"name": "calculatePremium",
|
453
|
-
"outputs": [
|
454
|
-
{
|
455
|
-
"internalType": "uint256",
|
456
|
-
"name": "premiumAmount",
|
457
|
-
"type": "uint256"
|
458
|
-
},
|
459
|
-
{
|
460
|
-
"internalType": "uint256",
|
461
|
-
"name": "productFeeAmount",
|
462
|
-
"type": "uint256"
|
463
|
-
},
|
464
|
-
{
|
465
|
-
"internalType": "uint256",
|
466
|
-
"name": "poolFeeAmount",
|
467
|
-
"type": "uint256"
|
468
|
-
},
|
469
|
-
{
|
470
|
-
"internalType": "uint256",
|
471
|
-
"name": "bundleFeeAmount",
|
472
|
-
"type": "uint256"
|
473
|
-
},
|
474
|
-
{
|
475
|
-
"internalType": "uint256",
|
476
|
-
"name": "distributionFeeAmount",
|
477
|
-
"type": "uint256"
|
478
|
-
}
|
479
|
-
],
|
480
|
-
"stateMutability": "view",
|
481
|
-
"type": "function"
|
482
|
-
},
|
483
407
|
{
|
484
408
|
"inputs": [
|
485
409
|
{
|
@@ -537,50 +461,27 @@
|
|
537
461
|
},
|
538
462
|
{
|
539
463
|
"inputs": [
|
540
|
-
{
|
541
|
-
"internalType": "address",
|
542
|
-
"name": "applicationOwner",
|
543
|
-
"type": "address"
|
544
|
-
},
|
545
|
-
{
|
546
|
-
"internalType": "RiskId",
|
547
|
-
"name": "riskId",
|
548
|
-
"type": "bytes8"
|
549
|
-
},
|
550
|
-
{
|
551
|
-
"internalType": "uint256",
|
552
|
-
"name": "sumInsuredAmount",
|
553
|
-
"type": "uint256"
|
554
|
-
},
|
555
|
-
{
|
556
|
-
"internalType": "uint256",
|
557
|
-
"name": "lifetime",
|
558
|
-
"type": "uint256"
|
559
|
-
},
|
560
|
-
{
|
561
|
-
"internalType": "bytes",
|
562
|
-
"name": "applicationData",
|
563
|
-
"type": "bytes"
|
564
|
-
},
|
565
464
|
{
|
566
465
|
"internalType": "NftId",
|
567
|
-
"name": "
|
466
|
+
"name": "policyNftId",
|
568
467
|
"type": "uint96"
|
569
|
-
},
|
570
|
-
{
|
571
|
-
"internalType": "ReferralId",
|
572
|
-
"name": "referralId",
|
573
|
-
"type": "bytes8"
|
574
468
|
}
|
575
469
|
],
|
576
|
-
"name": "
|
577
|
-
"outputs": [
|
470
|
+
"name": "decline",
|
471
|
+
"outputs": [],
|
472
|
+
"stateMutability": "nonpayable",
|
473
|
+
"type": "function"
|
474
|
+
},
|
475
|
+
{
|
476
|
+
"inputs": [
|
578
477
|
{
|
579
478
|
"internalType": "NftId",
|
580
479
|
"name": "policyNftId",
|
581
480
|
"type": "uint96"
|
582
481
|
}
|
583
482
|
],
|
483
|
+
"name": "expire",
|
484
|
+
"outputs": [],
|
584
485
|
"stateMutability": "nonpayable",
|
585
486
|
"type": "function"
|
586
487
|
},
|
@@ -647,32 +548,6 @@
|
|
647
548
|
"stateMutability": "view",
|
648
549
|
"type": "function"
|
649
550
|
},
|
650
|
-
{
|
651
|
-
"inputs": [],
|
652
|
-
"name": "getInitialOwner",
|
653
|
-
"outputs": [
|
654
|
-
{
|
655
|
-
"internalType": "address",
|
656
|
-
"name": "",
|
657
|
-
"type": "address"
|
658
|
-
}
|
659
|
-
],
|
660
|
-
"stateMutability": "view",
|
661
|
-
"type": "function"
|
662
|
-
},
|
663
|
-
{
|
664
|
-
"inputs": [],
|
665
|
-
"name": "getInitializedVersion",
|
666
|
-
"outputs": [
|
667
|
-
{
|
668
|
-
"internalType": "uint64",
|
669
|
-
"name": "",
|
670
|
-
"type": "uint64"
|
671
|
-
}
|
672
|
-
],
|
673
|
-
"stateMutability": "view",
|
674
|
-
"type": "function"
|
675
|
-
},
|
676
551
|
{
|
677
552
|
"inputs": [],
|
678
553
|
"name": "getInstanceService",
|
@@ -740,10 +615,10 @@
|
|
740
615
|
},
|
741
616
|
{
|
742
617
|
"inputs": [],
|
743
|
-
"name": "
|
618
|
+
"name": "getRegistryAddress",
|
744
619
|
"outputs": [
|
745
620
|
{
|
746
|
-
"internalType": "
|
621
|
+
"internalType": "address",
|
747
622
|
"name": "",
|
748
623
|
"type": "address"
|
749
624
|
}
|
@@ -753,25 +628,19 @@
|
|
753
628
|
},
|
754
629
|
{
|
755
630
|
"inputs": [],
|
756
|
-
"name": "
|
631
|
+
"name": "getRegistryService",
|
757
632
|
"outputs": [
|
758
633
|
{
|
759
|
-
"internalType": "
|
634
|
+
"internalType": "contract IRegistryService",
|
760
635
|
"name": "",
|
761
|
-
"type": "
|
636
|
+
"type": "address"
|
762
637
|
}
|
763
638
|
],
|
764
|
-
"stateMutability": "
|
639
|
+
"stateMutability": "view",
|
765
640
|
"type": "function"
|
766
641
|
},
|
767
642
|
{
|
768
|
-
"inputs": [
|
769
|
-
{
|
770
|
-
"internalType": "uint256",
|
771
|
-
"name": "idx",
|
772
|
-
"type": "uint256"
|
773
|
-
}
|
774
|
-
],
|
643
|
+
"inputs": [],
|
775
644
|
"name": "getVersion",
|
776
645
|
"outputs": [
|
777
646
|
{
|
@@ -780,87 +649,68 @@
|
|
780
649
|
"type": "uint24"
|
781
650
|
}
|
782
651
|
],
|
783
|
-
"stateMutability": "
|
652
|
+
"stateMutability": "pure",
|
784
653
|
"type": "function"
|
785
654
|
},
|
786
655
|
{
|
787
656
|
"inputs": [],
|
788
|
-
"name": "
|
789
|
-
"outputs": [
|
790
|
-
|
791
|
-
"internalType": "uint256",
|
792
|
-
"name": "",
|
793
|
-
"type": "uint256"
|
794
|
-
}
|
795
|
-
],
|
796
|
-
"stateMutability": "view",
|
657
|
+
"name": "initializeERC165",
|
658
|
+
"outputs": [],
|
659
|
+
"stateMutability": "nonpayable",
|
797
660
|
"type": "function"
|
798
661
|
},
|
799
662
|
{
|
800
663
|
"inputs": [
|
801
664
|
{
|
802
|
-
"internalType": "
|
803
|
-
"name": "
|
804
|
-
"type": "
|
805
|
-
}
|
806
|
-
],
|
807
|
-
"name": "getVersionInfo",
|
808
|
-
"outputs": [
|
665
|
+
"internalType": "address",
|
666
|
+
"name": "initialOwner",
|
667
|
+
"type": "address"
|
668
|
+
},
|
809
669
|
{
|
810
|
-
"
|
811
|
-
|
812
|
-
|
813
|
-
"name": "version",
|
814
|
-
"type": "uint24"
|
815
|
-
},
|
816
|
-
{
|
817
|
-
"internalType": "address",
|
818
|
-
"name": "implementation",
|
819
|
-
"type": "address"
|
820
|
-
},
|
821
|
-
{
|
822
|
-
"internalType": "address",
|
823
|
-
"name": "activatedBy",
|
824
|
-
"type": "address"
|
825
|
-
},
|
826
|
-
{
|
827
|
-
"internalType": "Timestamp",
|
828
|
-
"name": "activatedAt",
|
829
|
-
"type": "uint40"
|
830
|
-
},
|
831
|
-
{
|
832
|
-
"internalType": "Blocknumber",
|
833
|
-
"name": "activatedIn",
|
834
|
-
"type": "uint32"
|
835
|
-
}
|
836
|
-
],
|
837
|
-
"internalType": "struct IVersionable.VersionInfo",
|
838
|
-
"name": "",
|
839
|
-
"type": "tuple"
|
670
|
+
"internalType": "address",
|
671
|
+
"name": "registryAddress",
|
672
|
+
"type": "address"
|
840
673
|
}
|
841
674
|
],
|
842
|
-
"
|
675
|
+
"name": "initializeNftOwnable",
|
676
|
+
"outputs": [],
|
677
|
+
"stateMutability": "nonpayable",
|
843
678
|
"type": "function"
|
844
679
|
},
|
845
680
|
{
|
846
681
|
"inputs": [
|
847
682
|
{
|
848
683
|
"internalType": "address",
|
849
|
-
"name": "
|
684
|
+
"name": "registryAddress",
|
850
685
|
"type": "address"
|
851
686
|
},
|
687
|
+
{
|
688
|
+
"internalType": "NftId",
|
689
|
+
"name": "parentNftId",
|
690
|
+
"type": "uint96"
|
691
|
+
},
|
692
|
+
{
|
693
|
+
"internalType": "ObjectType",
|
694
|
+
"name": "objectType",
|
695
|
+
"type": "uint8"
|
696
|
+
},
|
697
|
+
{
|
698
|
+
"internalType": "bool",
|
699
|
+
"name": "isInterceptor",
|
700
|
+
"type": "bool"
|
701
|
+
},
|
852
702
|
{
|
853
703
|
"internalType": "address",
|
854
|
-
"name": "
|
704
|
+
"name": "initialOwner",
|
855
705
|
"type": "address"
|
856
706
|
},
|
857
707
|
{
|
858
708
|
"internalType": "bytes",
|
859
|
-
"name": "
|
709
|
+
"name": "registryData",
|
860
710
|
"type": "bytes"
|
861
711
|
}
|
862
712
|
],
|
863
|
-
"name": "
|
713
|
+
"name": "initializeRegisterable",
|
864
714
|
"outputs": [],
|
865
715
|
"stateMutability": "nonpayable",
|
866
716
|
"type": "function"
|
@@ -868,20 +718,50 @@
|
|
868
718
|
{
|
869
719
|
"inputs": [
|
870
720
|
{
|
871
|
-
"internalType": "
|
872
|
-
"name": "
|
873
|
-
"type": "
|
721
|
+
"internalType": "address",
|
722
|
+
"name": "registryAddress",
|
723
|
+
"type": "address"
|
874
724
|
}
|
875
725
|
],
|
876
|
-
"name": "
|
877
|
-
"outputs": [
|
726
|
+
"name": "initializeRegistryLinked",
|
727
|
+
"outputs": [],
|
728
|
+
"stateMutability": "nonpayable",
|
729
|
+
"type": "function"
|
730
|
+
},
|
731
|
+
{
|
732
|
+
"inputs": [
|
878
733
|
{
|
879
|
-
"internalType": "
|
880
|
-
"name": "",
|
881
|
-
"type": "
|
734
|
+
"internalType": "address",
|
735
|
+
"name": "registry",
|
736
|
+
"type": "address"
|
737
|
+
},
|
738
|
+
{
|
739
|
+
"internalType": "address",
|
740
|
+
"name": "initialOwner",
|
741
|
+
"type": "address"
|
882
742
|
}
|
883
743
|
],
|
884
|
-
"
|
744
|
+
"name": "initializeService",
|
745
|
+
"outputs": [],
|
746
|
+
"stateMutability": "nonpayable",
|
747
|
+
"type": "function"
|
748
|
+
},
|
749
|
+
{
|
750
|
+
"inputs": [
|
751
|
+
{
|
752
|
+
"internalType": "address",
|
753
|
+
"name": "activatedBy",
|
754
|
+
"type": "address"
|
755
|
+
},
|
756
|
+
{
|
757
|
+
"internalType": "bytes",
|
758
|
+
"name": "data",
|
759
|
+
"type": "bytes"
|
760
|
+
}
|
761
|
+
],
|
762
|
+
"name": "initializeVersionable",
|
763
|
+
"outputs": [],
|
764
|
+
"stateMutability": "nonpayable",
|
885
765
|
"type": "function"
|
886
766
|
},
|
887
767
|
{
|
@@ -894,12 +774,12 @@
|
|
894
774
|
{
|
895
775
|
"inputs": [
|
896
776
|
{
|
897
|
-
"internalType": "
|
898
|
-
"name": "
|
899
|
-
"type": "
|
777
|
+
"internalType": "bytes4",
|
778
|
+
"name": "interfaceId",
|
779
|
+
"type": "bytes4"
|
900
780
|
}
|
901
781
|
],
|
902
|
-
"name": "
|
782
|
+
"name": "registerInterface",
|
903
783
|
"outputs": [],
|
904
784
|
"stateMutability": "nonpayable",
|
905
785
|
"type": "function"
|
@@ -927,7 +807,7 @@
|
|
927
807
|
"inputs": [
|
928
808
|
{
|
929
809
|
"internalType": "NftId",
|
930
|
-
"name": "
|
810
|
+
"name": "applicationNftId",
|
931
811
|
"type": "uint96"
|
932
812
|
},
|
933
813
|
{
|
@@ -948,76 +828,30 @@
|
|
948
828
|
},
|
949
829
|
{
|
950
830
|
"inputs": [
|
951
|
-
{
|
952
|
-
"internalType": "address",
|
953
|
-
"name": "implementation",
|
954
|
-
"type": "address"
|
955
|
-
},
|
956
|
-
{
|
957
|
-
"internalType": "address",
|
958
|
-
"name": "activatedBy",
|
959
|
-
"type": "address"
|
960
|
-
},
|
961
831
|
{
|
962
832
|
"internalType": "bytes",
|
963
833
|
"name": "data",
|
964
834
|
"type": "bytes"
|
965
835
|
}
|
966
836
|
],
|
967
|
-
"name": "
|
837
|
+
"name": "upgradeVersionable",
|
968
838
|
"outputs": [],
|
969
839
|
"stateMutability": "nonpayable",
|
970
840
|
"type": "function"
|
971
841
|
}
|
972
842
|
],
|
973
|
-
"bytecode": "0x60806040523480156200001157600080fd5b50620000546301ffc9a760e01b60009081526020527f67be87c3ff9960ca1e9cfac5cab2ff4747269cf9ed20c9b7306235ac35a491c5805460ff19166001179055565b600280546001600160a01b031916331790556200007062000076565b6200012a565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000c75760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620001275780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b6153c4806200013a6000396000f3fe608060405234801561001057600080fd5b50600436106101c45760003560e01c8063893d20e8116100f9578063bbfbbfba11610097578063cc9fc59a11610071578063cc9fc59a1461054a578063cde749f414610552578063cf7a1d771461055a578063fb2cb1011461056d57600080fd5b8063bbfbbfba1461051c578063c2c749871461052f578063caf4e3d41461054257600080fd5b8063a745e3df116100d3578063a745e3df146104c1578063b3c65015146104d4578063b68d1809146104f4578063b88da7591461050957600080fd5b8063893d20e814610457578063946dfcfe1461045f5780639cdaa7f91461048657600080fd5b80634d5e16a9116101665780635fd1a5f5116101405780635fd1a5f5146103f2578063603ccaad14610405578063630361f614610418578063644c45e01461042b57600080fd5b80634d5e16a9146103a75780634f421333146103ba5780635ab1bd53146103cd57600080fd5b80630fec111c116101a25780630fec111c1461023c578063138461e0146102515780631eff4b22146102595780634d459c901461028e57600080fd5b806301ffc9a7146101c95780630aaba8e81461020b5780630d8e6e2c14610220575b600080fd5b6101f66101d7366004614284565b6001600160e01b03191660009081526020819052604090205460ff1690565b60405190151581526020015b60405180910390f35b61021e6102193660046142c3565b61057e565b005b610228610bbc565b60405162ffffff9091168152602001610202565b610244610c46565b6040516102029190614330565b61021e610dec565b6102807f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30081565b604051908152602001610202565b61034a61029c3660046143c4565b6040805160a08101825260008082526020820181905291810182905260608101829052608081019190915260008051602061536f83398151915262ffffff92831660009081526020918252604090819020815160a0810183528154958616815263010000009095046001600160a01b03908116938601939093526001015491821690840152600160a01b810464ffffffffff166060840152600160c81b900463ffffffff1660808301525090565b60408051825162ffffff1681526020808401516001600160a01b039081169183019190915283830151169181019190915260608083015164ffffffffff169082015260809182015163ffffffff169181019190915260a001610202565b61021e6103b53660046143f4565b611009565b6101f66103c83660046143c4565b61127b565b6001546001600160a01b03165b6040516001600160a01b039091168152602001610202565b61028061040036600461442d565b61132e565b61021e6104133660046142c3565b611437565b61021e61042636600461445d565b61148c565b600154600160a01b90046001600160601b03165b6040516001600160601b039091168152602001610202565b6103da6119fe565b7f4f61291a8ac3d020d0a7d919a76b8592aa88385744dee3f8b4f3873b969ed90154610280565b610499610494366004614612565b611b17565b604080519586526020860194909452928401919091526060830152608082015260a001610202565b61021e6104cf3660046146af565b611bf5565b6104dc611d4f565b6040516001600160401b039091168152602001610202565b60d25b60405160ff9091168152602001610202565b610228610517366004614710565b611d70565b61021e61052a3660046143f4565b611dc1565b61043f61053d366004614729565b612135565b6103da6123ed565b6103da612484565b6104f76124ae565b61021e6105683660046146af565b612531565b6002546001600160a01b03166103da565b600061058a606e612639565b9150506000816001600160a01b03166302cd30716040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105f191906147c5565b60405163bd7d9d8560e01b81526001600160601b03851660048201529091506000906001600160a01b0383169063bd7d9d8590602401600060405180830381865afa158015610644573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261066c919081019061485f565b6101a081015160405163790a38ad60e01b815264ffffffffff909116600482015290915073__$d53880c81dc91c20799140d711e5ab8718$__9063790a38ad90602401602060405180830381865af41580156106cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106f091906149de565b1561071e576040516308cbe08b60e21b81526001600160601b03851660048201526024015b60405180910390fd5b604051639096a1f360e01b81526001600160601b03851660048201526000906001600160a01b03841690639096a1f390602401602060405180830381865afa15801561076e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107929190614a15565b905060ff81166064146107cc57604051634de91cf360e11b81526001600160601b038616600482015260ff82166024820152604401610715565b6101e0820151604051638d38cd4b60e01b815264ffffffffff909116600482015273__$d53880c81dc91c20799140d711e5ab8718$__90638d38cd4b90602401602060405180830381865af4158015610829573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061084d91906149de565b1561087657604051634b80547760e11b81526001600160601b0386166004820152602401610715565b8160c001518260a00151146108c05760a082015160c0830151604051632b14368360e11b81526001600160601b038816600482015260248101929092526044820152606401610715565b61016082015161ffff16156109045761016082015160405163a5bb07ed60e01b81526001600160601b038716600482015261ffff9091166024820152604401610715565b73__$d53880c81dc91c20799140d711e5ab8718$__63adb618326040518163ffffffff1660e01b8152600401602060405180830381865af415801561094d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109719190614a32565b6101c0830151604051634a19ad8d60e11b815264ffffffffff92831660048201529116602482015273__$d53880c81dc91c20799140d711e5ab8718$__906394335b1a90604401602060405180830381865af41580156109d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109f991906149de565b8015610a0d57508160800151826101800151105b15610a4a576101c0820151604051630e79f6e160e21b81526001600160601b038716600482015264ffffffffff9091166024820152604401610715565b73__$d53880c81dc91c20799140d711e5ab8718$__63adb618326040518163ffffffff1660e01b8152600401602060405180830381865af4158015610a93573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ab79190614a32565b64ffffffffff166101e083015260048054602084015160808501516040516303c5c06160e41b81526001600160a01b03898116958201959095526001600160601b03808b16602483015290921660448301526064820152911690633c5c061090608401600060405180830381600087803b158015610b3457600080fd5b505af1158015610b48573d6000803e3d6000fd5b50505050836001600160a01b0316639a960d528684610b6560c890565b6040518463ffffffff1660e01b8152600401610b8393929190614b7e565b600060405180830381600087803b158015610b9d57600080fd5b505af1158015610bb1573d6000803e3d6000fd5b505050505050505050565b604051632efe011360e01b815260036004820152600060248201819052604482018190529073__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__90632efe011390606401602060405180830381865af4158015610c1d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c419190614bb3565b905090565b610c4e6141c8565b604080516080810182527f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30080546001600160601b038116835260ff600160601b820481166020850152600160681b909104161515928201929092527f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa3018054600093916060840191610cde90614bd0565b80601f0160208091040260200160405190810160405280929190818152602001828054610d0a90614bd0565b8015610d575780601f10610d2c57610100808354040283529160200191610d57565b820191906000526020600020905b815481529060010190602001808311610d3a57829003601f168201915b50505050508152505090506040518060e00160405280610d75600090565b6001600160601b0316815260200182600001516001600160601b03168152602001826020015160ff168152602001826040015115158152602001306001600160a01b03168152602001610dd06002546001600160a01b031690565b6001600160a01b03168152602001826060015181525091505090565b6001546040516330b8415f60e01b8152600160a01b9091046001600160601b0316600482015273__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af4158015610e4e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e7291906149de565b15610eb4576001546040516316322c0f60e31b81526001600160a01b0382166004820152600160a01b9091046001600160601b03166024820152604401610715565b6001546001600160a01b0316610edd5760405163cf29926160e01b815260040160405180910390fd5b60015460405163c3c5a54760e01b81523060048201819052916001600160a01b03169063c3c5a54790602401602060405180830381865afa158015610f26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f4a91906149de565b610f72576040516372657a5160e01b81526001600160a01b0382166004820152602401610715565b600154604051636939560f60e11b81526001600160a01b0383811660048301529091169063d272ac1e90602401602060405180830381865afa158015610fbc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fe09190614c0a565b600160146101000a8154816001600160601b0302191690836001600160601b0316021790555050565b6000611015606e612639565b9150506000816001600160a01b03166302cd30716040518163ffffffff1660e01b8152600401602060405180830381865afa158015611058573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061107c91906147c5565b60405163bd7d9d8560e01b81526001600160601b03861660048201529091506000906001600160a01b0383169063bd7d9d8590602401600060405180830381865afa1580156110cf573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526110f7919081019061485f565b6101a081015160405163790a38ad60e01b815264ffffffffff909116600482015290915073__$d53880c81dc91c20799140d711e5ab8718$__9063790a38ad90602401602060405180830381865af4158015611157573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061117b91906149de565b6111c75760405162461bcd60e51b815260206004820152601f60248201527f4552524f523a5052532d3032303a414c52454144595f414354495641544544006044820152606401610715565b64ffffffffff84166101a0820181905260e0820151604051631ded81af60e31b81526004810192909252602482015273__$d53880c81dc91c20799140d711e5ab8718$__9063ef6c0d7890604401602060405180830381865af4158015611232573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112569190614a32565b64ffffffffff166101c08201526001600160a01b038316639a960d5286836064610b65565b60008060008051602061536f83398151915262ffffff84166000908152602091909152604090819020600101549051631bbffab160e21b8152600160c81b90910463ffffffff16600482015273__$5f476116ae21c5294e0c0761c07efa7e1c$__90636effeac490602401602060405180830381865af4158015611303573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113279190614c27565b1192915050565b6040516322f5db0f60e11b815260048101829052600090819073__$5ac3274b8cf1e01ea223bf093142af05b0$__906345ebb61e90602401602060405180830381865af4158015611383573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113a79190614c27565b905060006113b585836128b0565b604051632255341b60e11b81526004810182905290915073__$5ac3274b8cf1e01ea223bf093142af05b0$__906344aa683690602401602060405180830381865af4158015611408573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061142c9190614c27565b925050505b92915050565b60405162461bcd60e51b815260206004820152602160248201527f4552524f523a5052532d3233343a4e4f545f5945545f494d504c454d454e54456044820152601160fa1b6064820152608401610715565b50565b600080611499606e612639565b915091506000816001600160a01b03166302cd30716040518163ffffffff1660e01b8152600401602060405180830381865afa1580156114dd573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061150191906147c5565b835160405163bd7d9d8560e01b81526001600160601b0389166004820152919250906000906001600160a01b0384169063bd7d9d8590602401600060405180830381865afa158015611557573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261157f919081019061485f565b80519091506001600160601b038381169116146115de5760405162461bcd60e51b815260206004820152601760248201527f504f4c4943595f50524f445543545f4d49534d415443480000000000000000006044820152606401610715565b604051639096a1f360e01b81526001600160601b038916600482015261165c906001600160a01b03851690639096a1f390602401602060405180830381865afa15801561162f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116539190614a15565b60ff16600a1490565b6116a85760405162461bcd60e51b815260206004820152601f60248201527f4552524f523a5052532d3032313a53544154455f4e4f545f4150504c494544006044820152606401610715565b60006116b2614206565b60405163242bdc1960e21b81526001600160601b0385166004820152600090819081906001600160a01b038916906390af70649060240161024060405180830381865afa158015611707573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061172b9190614c99565b9050611735614206565b6117418a8a89856128cc565b91975090945061175a92508a9150869050858f86612a4f565b9250602864ffffffffff8b161561180d57606464ffffffffff8c166101a0880181905260e0880151604051631ded81af60e31b81526004810192909252602482015290915073__$d53880c81dc91c20799140d711e5ab8718$__9063ef6c0d7890604401602060405180830381865af41580156117db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117ff9190614a32565b64ffffffffff166101c08701525b8b1561184357611827898b600001518f8960a00151612a76565b91508560a001518660c00181815161183f9190614da6565b9052505b600460009054906101000a90046001600160a01b03166001600160a01b03166332e6f9228a8f8887876040518663ffffffff1660e01b81526004016118c19594939291906001600160a01b039590951685526001600160601b0393841660208601529190921660408401526060830191909152608082015260a00190565b600060405180830381600087803b1580156118db57600080fd5b505af11580156118ef573d6000803e3d6000fd5b50505050886001600160a01b0316639a960d528e88846040518463ffffffff1660e01b815260040161192393929190614b7e565b600060405180830381600087803b15801561193d57600080fd5b505af1158015611951573d6000803e3d6000fd5b505085516040516355e343a960e01b81526001600160601b039091166004820152600092506001600160a01b038b1691506355e343a99060240161018060405180830381865afa1580156119a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119cd9190614db9565b90508060e00151156119ee576119ee85600001518f8988604001518861302e565b5050505050505050505050505050565b6001546040516330b8415f60e01b8152600160a01b9091046001600160601b0316600482015260009073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af4158015611a63573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a8791906149de565b15611b0757600154604051631c5da14d60e11b8152600160a01b82046001600160601b031660048201526001600160a01b03909116906338bb429a90602401602060405180830381865afa158015611ae3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c4191906147c5565b506002546001600160a01b031690565b600080600080600080611b28613133565b90506000816001600160a01b0316635e78426b8d8f8e8e6040518563ffffffff1660e01b8152600401611b5e9493929190614e6e565b602060405180830381865afa158015611b7b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b9f9190614c27565b9050611bad81838b8b613152565b92985090965094509250611bc18682614da6565b9650611bcd8486614da6565b611bd79088614da6565b9650611be38388614da6565b96505050965096509650965096915050565b73__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__63a123b37c611c17610bbc565b6040516001600160e01b031960e084901b16815262ffffff9091166004820152602401602060405180830381865af4158015611c57573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c7b9190614ea9565b60008051602061534f8339815191528054600160401b900460ff1680611cae575080546001600160401b03808416911610155b15611ccc5760405163f92ee8a960e01b815260040160405180910390fd5b805468ffffffffffffffffff19166001600160401b03831617600160401b178155611cf785856137eb565b611d0083613a8a565b805460ff60401b191681556040516001600160401b03831681527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2906020015b60405180910390a15050505050565b6000610c4160008051602061534f833981519152546001600160401b031690565b600060008051602061536f8339815191526001018281548110611d9557611d95614ed2565b90600052602060002090600a91828204019190066003029054906101000a900462ffffff169050919050565b600080611dce606e612639565b915091506000816001600160a01b03166302cd30716040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e12573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e3691906147c5565b60405163bd7d9d8560e01b81526001600160601b03871660048201529091506000906001600160a01b0383169063bd7d9d8590602401600060405180830381865afa158015611e89573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611eb1919081019061485f565b90508060a001518160c0015103611ef35760c081015160405163038a855760e51b81526001600160601b03881660048201526024810191909152604401610715565b60008160c001518260a00151611f099190614ee8565b90506000611f1d8587600001518a85612a76565b9050818360c001818151611f319190614da6565b905250600480546020850151604051639babe3bf60e01b81526001600160a01b03898116948201949094526001600160601b03909116602482015260448101849052911690639babe3bf90606401600060405180830381600087803b158015611f9957600080fd5b505af1158015611fad573d6000803e3d6000fd5b50505050846001600160a01b0316639a960d528985611fca60ff90565b6040518463ffffffff1660e01b8152600401611fe893929190614b7e565b600060405180830381600087803b15801561200257600080fd5b505af1158015612016573d6000803e3d6000fd5b5050604051638d38cd4b60e01b815264ffffffffff8a16600482015273__$d53880c81dc91c20799140d711e5ab8718$__9250638d38cd4b9150602401602060405180830381865af4158015612070573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061209491906149de565b801561211c57506101a083015160405163790a38ad60e01b815264ffffffffff909116600482015273__$d53880c81dc91c20799140d711e5ab8718$__9063790a38ad90602401602060405180830381865af41580156120f8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061211c91906149de565b1561212b5761212b8888611009565b5050505050505050565b60008080612143606e612639565b9150915061214f6123ed565b6001600160a01b0316635c992fed6040518060e00160405280612170600090565b6001600160601b039081168252865116602082015260400160d260ff16815260200160001515815260200160006001600160a01b031681526020018d6001600160a01b03168152602001604051806020016040528060008152508152506040518263ffffffff1660e01b81526004016121e99190614330565b6020604051808303816000875af1158015612208573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061222c9190614c0a565b9250600061223e8a8a8a8a8a8a611b17565b505050509050600060405180610200016040528085600001516001600160601b03168152602001886001600160601b03168152602001876001600160c01b03191681526020018c6001600160c01b03191681526020018b8152602001838152602001600081526020018a8152602001898152602001604051806020016040528060008152508152602001600061ffff168152602001600061ffff168152602001600081526020016122ed600090565b64ffffffffff168152600060208201819052604091820152516202f23560ee1b81529091506001600160a01b0384169063bc8d4000906123339088908590600401614efb565b600060405180830381600087803b15801561234d57600080fd5b505af1158015612361573d6000803e3d6000fd5b50505050826001600160a01b0316635d4345cc8661237d600a90565b6040516001600160e01b031960e085901b1681526001600160601b03909216600483015260ff166024820152604401600060405180830381600087803b1580156123c657600080fd5b505af11580156123da573d6000803e3d6000fd5b5050505050505050979650505050505050565b6000806124026001546001600160a01b031690565b6001600160a01b031663d39e604360285b61241b6124ae565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865afa158015612460573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061143191906147c5565b6000806124996001546001600160a01b031690565b6001600160a01b031663d39e60436046612413565b60006124b8610bbc565b60405163c9e66e2960e01b815262ffffff909116600482015273__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__9063c9e66e2990602401602060405180830381865af415801561250d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c419190614a15565b60008051602061534f8339815191528054600160401b810460ff1615906001600160401b03166000811580156125645750825b90506000826001600160401b031660011480156125805750303b155b90508115801561258e575080155b156125ac5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff1916600117855583156125d657845460ff60401b1916600160401b1785555b6125e088886137eb565b6125ea8787613a92565b831561212b57845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15050505050505050565b6126416141c8565b6000806126566001546001600160a01b031690565b6040516308b09a5f60e41b81523360048201529091506001600160a01b03821690638b09a5f090602401600060405180830381865afa15801561269d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526126c59190810190614f1d565b92506126db83604001518560ff90811691161490565b61271d5760405162461bcd60e51b815260206004820152601360248201527213d0929150d517d516541157d2539590531251606a1b6044820152606401610715565b60208301516040516305247a1760e51b81526001600160601b0390911660048201526000906001600160a01b0383169063a48f42e090602401600060405180830381865afa158015612773573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261279b9190810190614f1d565b6080015190508092506000836001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156127e4573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061280891906147c5565b6080860151604051629b7b3560e61b81526001600160a01b0391821660048201529192508216906326decd4090602401602060405180830381865afa158015612855573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061287991906149de565b156128a857608085015160405163d53987e560e01b81526001600160a01b039091166004820152602401610715565b505050915091565b60006128c58383670de0b6b3a7640000613d00565b9392505050565b60006128d6614206565b6020840151604051634793b4ab60e01b81526001600160601b03821660048201529092506000906001600160a01b03871690634793b4ab90602401600060405180830381865afa15801561292e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526129569190810190614fef565b805160608601519193506001600160601b039081169116146129b35760405162461bcd60e51b81526020600482015260166024820152750a09e989286b2be84aa9c88988abe9a92a69a82a886960531b6044820152606401610715565b60608401516040516355e343a960e01b81526001600160601b03821660048201526000906001600160a01b038916906355e343a99060240161018060405180830381865afa158015612a09573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a2d9190614db9565b9050612a418160400151886080015161132e565b925050509450945094915050565b612a57614206565b8184608001818151612a699190614da6565b9052509295945050505050565b60008115613026576000856001600160a01b03166302cd30716040518163ffffffff1660e01b8152600401602060405180830381865afa158015612abe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ae291906147c5565b60405163242bdc1960e21b81526001600160601b03871660048201526001600160a01b0391909116906390af70649060240161024060405180830381865afa158015612b32573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b569190614c99565b60208101519091506000612b726001546001600160a01b031690565b604051631c5da14d60e11b81526001600160601b03881660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa158015612bc1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612be591906147c5565b90506000886001600160a01b03166302cd30716040518163ffffffff1660e01b8152600401602060405180830381865afa158015612c27573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c4b91906147c5565b60608501516040516355e343a960e01b81526001600160601b0390911660048201526001600160a01b0391909116906355e343a99060240161018060405180830381865afa158015612ca1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cc59190614db9565b61010081015160a08601516040516346f0526160e11b8152899850929350909173__$a23651848365a6a5ca15f07b4331037f48$__90638de0a4c290612d0f9084906004016150c0565b602060405180830381865af4158015612d2c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d5091906149de565b15612dbc576040516317d5759960e31b81526001600160a01b0386169063beabacc890612d8590879086908d906004016150d7565b600060405180830381600087803b158015612d9f57600080fd5b505af1158015612db3573d6000803e3d6000fd5b5050505061301f565b60a086015160405163012ebd8360e21b815281516004820152602090910151602482015260448101889052600090819073__$a23651848365a6a5ca15f07b4331037f48$__906304baf60c906064016040805180830381865af4158015612e27573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e4b91906150fb565b91509150600088610160015190508a886001600160a01b03166321df0da76040518163ffffffff1660e01b8152600401602060405180830381865afa158015612e98573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ebc91906147c5565b604051636eb1769f60e11b81526001600160a01b038a811660048301528b81166024830152919091169063dd62ed3e90604401602060405180830381865afa158015612f0c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f309190614c27565b1015612f555786888c604051636d675c4360e01b8152600401610715939291906150d7565b6040516317d5759960e31b81526001600160a01b0389169063beabacc890612f85908a90859088906004016150d7565b600060405180830381600087803b158015612f9f57600080fd5b505af1158015612fb3573d6000803e3d6000fd5b50506040516317d5759960e31b81526001600160a01b038b16925063beabacc89150612fe7908a90899087906004016150d7565b600060405180830381600087803b15801561300157600080fd5b505af1158015613015573d6000803e3d6000fd5b50939b5050505050505b5050505050505b949350505050565b60006130426001546001600160a01b031690565b6040516305247a1760e51b81526001600160601b03881660048201526001600160a01b03919091169063a48f42e090602401600060405180830381865afa158015613091573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526130b99190810190614f1d565b608001516101008501516040516332f7fe0d60e11b815291925082916001600160a01b038316916365effc1a916130f8918a918990899060040161511f565b600060405180830381600087803b15801561311257600080fd5b505af1158015613126573d6000803e3d6000fd5b5050505050505050505050565b600061313d6141c8565b613147606e612639565b506080015192915050565b600080600080600080886001600160a01b031663de7b5d146040518163ffffffff1660e01b8152600401602060405180830381865afa158015613199573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131bd91906147c5565b9050806001600160a01b03166302cd30716040518163ffffffff1660e01b8152600401602060405180830381865afa1580156131fd573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061322191906147c5565b9150506000886001600160a01b0316631bdd6b766040518163ffffffff1660e01b8152600401602060405180830381865afa158015613264573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132889190614c0a565b604051634793b4ab60e01b81526001600160601b038a1660048201529091506000906001600160a01b03841690634793b4ab90602401600060405180830381865afa1580156132db573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526133039190810190614fef565b80519091506001600160601b0383811691161461336d5760405162461bcd60e51b815260206004820152602260248201527f4552524f523a5052532d3033353a42554e444c455f504f4f4c5f4d49534d4154604482015261086960f31b6064820152608401610715565b6000836001600160a01b03166390af70648c6001600160a01b03166251884a6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156133bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133df9190614c0a565b6040516001600160e01b031960e084901b1681526001600160601b03909116600482015260240161024060405180830381865afa158015613424573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134489190614c99565b60a081015160405163012ebd8360e21b8152815160048201526020909101516024820152604481018e905290915073__$a23651848365a6a5ca15f07b4331037f48$__906304baf60c906064016040805180830381865af41580156134b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134d591906150fb565b506040516355e343a960e01b81526001600160601b0385166004820152909850600091506001600160a01b038516906355e343a99060240161018060405180830381865afa15801561352b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061354f9190614db9565b606081015160405163012ebd8360e21b8152815160048201526020909101516024820152604481018e905290915073__$a23651848365a6a5ca15f07b4331037f48$__906304baf60c906064016040805180830381865af41580156135b8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135dc91906150fb565b50809750505060008a6001600160a01b031663db6dcc956040518163ffffffff1660e01b8152600401602060405180830381865afa158015613622573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136469190614c0a565b604051639ad69c6760e01b81526001600160601b03821660048201529091506000906001600160a01b03861690639ad69c679060240160c060405180830381865afa158015613699573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136bd9190615165565b604080820151905163012ebd8360e21b8152815160048201526020909101516024820152604481018f905290915073__$a23651848365a6a5ca15f07b4331037f48$__906304baf60c906064016040805180830381865af4158015613726573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061374a91906150fb565b5060208481015160405163012ebd8360e21b8152815160048201529101516024820152604481018f905290965073__$a23651848365a6a5ca15f07b4331037f48$__92506304baf60c91506064016040805180830381865af41580156137b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906137d891906150fb565b5080955050505050945094509450949050565b6137f3613de9565b60008051602061536f833981519152600061382360008051602061534f833981519152546001600160401b031690565b9050600061382f610bbc565b9050816001600160401b031660010361385c5760028301805462ffffff191662ffffff83161790556138aa565b600283015462ffffff908116908216116138aa5760405162461bcd60e51b815260206004820152600f60248201526e24a72b20a624a2102b22a929a4a7a760891b6044820152606401610715565b6001808401805491820181556000908152602090819020600a808404909101805462ffffff808716600394909606939093026101000a858102930219169190911790556040805160a0810182529283526001600160a01b038089168484015287168382015280516356db0c1960e11b81529051606084019273__$d53880c81dc91c20799140d711e5ab8718$__9263adb6183292600480830193928290030181865af415801561395e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139829190614a32565b64ffffffffff1681526020014363ffffffff90811690915262ffffff8084166000908152602087815260409182902085518154928701516001600160a01b039081166301000000026001600160b81b0319909416919095161791909117815584820151600190910180546060870151608090970151909516600160c81b0263ffffffff60c81b1964ffffffffff909716600160a01b026001600160c81b031990961692909416919091179390931793909316179055517fad0a0fc10465a8dd9da3ad5f43e1a7fff4b4578551c76f0ae8deb844f0d0bf6890611d409083908890889062ffffff9390931683526001600160a01b03918216602084015216604082015260600190565b6101c4613de9565b60008051602061534f8339815191528054600160401b810460ff1615906001600160401b0316600081158015613ac55750825b90506000826001600160401b03166001148015613ae15750303b155b905081158015613aef575080155b15613b0d5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff191660011785558315613b3757845460ff60401b1916600160401b1785555b60008087806020019051810190613b4e91906151fb565b9092509050613b5d828a613e22565b6001546001600160a01b031663d39e6043608c613b786124ae565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865afa158015613bbd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613be191906147c5565b600380546001600160a01b0319166001600160a01b039283161790556001541663d39e6043613c0e60dc90565b613c166124ae565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865afa158015613c5b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613c7f91906147c5565b600480546001600160a01b0319166001600160a01b0392909216919091179055613caf63fefde12b60e01b613e8d565b50508315613cf757845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050565b6000808060001985870985870292508281108382030391505080600003613d3a57838281613d3057613d3061522a565b04925050506128c5565b808411613d815760405162461bcd60e51b81526020600482015260156024820152744d6174683a206d756c446976206f766572666c6f7760581b6044820152606401610715565b600084868809600260036001881981018916988990049182028318808302840302808302840302808302840302808302840302808302840302918202909203026000889003889004909101858311909403939093029303949094049190911702949350505050565b60008051602061534f83398151915254600160401b900460ff16613e2057604051631afcd79f60e31b815260040160405180910390fd5b565b600060d2613e2e6124ae565b6040805160ff9384166020820152929091169082015260600160405160208183030381529060405290506000613e6384613eb2565b90506000613e768583603c848888613f1d565b613e86637b6a51fd60e01b613e8d565b5050505050565b6001600160e01b0319166000908152602081905260409020805460ff19166001179055565b604051636939560f60e11b81526001600160a01b0382166004820181905260009163d272ac1e90602401602060405180830381865afa158015613ef9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114319190614c0a565b613f5e6301ffc9a760e01b60009081526020527f67be87c3ff9960ca1e9cfac5cab2ff4747269cf9ed20c9b7306235ac35a491c5805460ff19166001179055565b613f688287613fe9565b60007f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30080546001600160601b0388166cffffffffffffffffffffffffff1990911617600160601b60ff8816021760ff60681b1916600160681b86151502178155905060018101613fd8838261528f565b50613cf76303fb044760e21b613e8d565b6001600160a01b03821661403f5760405162461bcd60e51b815260206004820152601e60248201527f4e66744f776e61626c653a20696e697469616c206f776e6572206973203000006044820152606401610715565b600280546001600160a01b0319166001600160a01b03841617905561406381614067565b5050565b6001546001600160a01b0316156140a05760015460405163fcdbf2d960e01b81526001600160a01b039091166004820152602401610715565b6001600160a01b0381166140c75760405163f5c4d07d60e01b815260040160405180910390fd5b806001600160a01b03163b6000036140fd5760405163fdeac91f60e01b81526001600160a01b0382166004820152602401610715565b600180546001600160a01b0319166001600160a01b0383169081179091556040516301ffc9a760e01b81526316c8f9ff60e01b60048201526301ffc9a790602401602060405180830381865afa925050508015614177575060408051601f3d908101601f19168201909252614174918101906149de565b60015b61419f5760405163fdeac91f60e01b81526001600160a01b0382166004820152602401610715565b806140635760405163fdeac91f60e01b81526001600160a01b0383166004820152602401610715565b6040805160e08101825260008082526020820181905291810182905260608082018390526080820183905260a082019290925260c081019190915290565b60405180610120016040528060006001600160601b0316815260200161423f604051806040016040528060008152602001600081525090565b81526020016060815260200160008152602001600081526020016000815260200160008152602001600064ffffffffff168152602001600064ffffffffff1681525090565b60006020828403121561429657600080fd5b81356001600160e01b0319811681146128c557600080fd5b6001600160601b038116811461148957600080fd5b6000602082840312156142d557600080fd5b81356128c5816142ae565b60005b838110156142fb5781810151838201526020016142e3565b50506000910152565b6000815180845261431c8160208601602086016142e0565b601f01601f19169290920160200192915050565b6020815260006001600160601b038084511660208401528060208501511660408401525060ff604084015116606083015260608301511515608083015260018060a01b0360808401511660a083015260a083015161439960c08401826001600160a01b03169052565b5060c083015160e080840152613026610100840182614304565b62ffffff8116811461148957600080fd5b6000602082840312156143d657600080fd5b81356128c5816143b3565b64ffffffffff8116811461148957600080fd5b6000806040838503121561440757600080fd5b8235614412816142ae565b91506020830135614422816143e1565b809150509250929050565b6000806040838503121561444057600080fd5b50508035926020909101359150565b801515811461148957600080fd5b60008060006060848603121561447257600080fd5b833561447d816142ae565b9250602084013561448d8161444f565b9150604084013561449d816143e1565b809150509250925092565b6001600160c01b03198116811461148957600080fd5b634e487b7160e01b600052604160045260246000fd5b60405161020081016001600160401b03811182821017156144f7576144f76144be565b60405290565b60405161018081016001600160401b03811182821017156144f7576144f76144be565b60405161012081016001600160401b03811182821017156144f7576144f76144be565b60405160e081016001600160401b03811182821017156144f7576144f76144be565b604051601f8201601f191681016001600160401b038111828210171561458d5761458d6144be565b604052919050565b60006001600160401b038211156145ae576145ae6144be565b50601f01601f191660200190565b600082601f8301126145cd57600080fd5b81356145e06145db82614595565b614565565b8181528460208386010111156145f557600080fd5b816020850160208301376000918101602001919091529392505050565b60008060008060008060c0878903121561462b57600080fd5b8635614636816144a8565b9550602087013594506040870135935060608701356001600160401b0381111561465f57600080fd5b61466b89828a016145bc565b935050608087013561467c816142ae565b915060a087013561468c816144a8565b809150509295509295509295565b6001600160a01b038116811461148957600080fd5b6000806000606084860312156146c457600080fd5b83356146cf8161469a565b925060208401356146df8161469a565b915060408401356001600160401b038111156146fa57600080fd5b614706868287016145bc565b9150509250925092565b60006020828403121561472257600080fd5b5035919050565b600080600080600080600060e0888a03121561474457600080fd5b873561474f8161469a565b9650602088013561475f816144a8565b9550604088013594506060880135935060808801356001600160401b0381111561478857600080fd5b6147948a828b016145bc565b93505060a08801356147a5816142ae565b915060c08801356147b5816144a8565b8091505092959891949750929550565b6000602082840312156147d757600080fd5b81516128c58161469a565b80516147ed816142ae565b919050565b80516147ed816144a8565b600082601f83011261480e57600080fd5b815161481c6145db82614595565b81815284602083860101111561483157600080fd5b6130268260208301602087016142e0565b805161ffff811681146147ed57600080fd5b80516147ed816143e1565b60006020828403121561487157600080fd5b81516001600160401b038082111561488857600080fd5b90830190610200828603121561489d57600080fd5b6148a56144d4565b6148ae836147e2565b81526148bc602084016147e2565b60208201526148cd604084016147f2565b60408201526148de606084016147f2565b60608201526080830151608082015260a083015160a082015260c083015160c082015260e083015160e0820152610100808401518381111561491f57600080fd5b61492b888287016147fd565b828401525050610120808401518381111561494557600080fd5b614951888287016147fd565b8284015250506101409150614967828401614842565b82820152610160915061497b828401614842565b82820152610180915081830151828201526101a0915061499c828401614854565b828201526101c091506149b0828401614854565b828201526101e091506149c4828401614854565b91810191909152949350505050565b80516147ed8161444f565b6000602082840312156149f057600080fd5b81516128c58161444f565b60ff8116811461148957600080fd5b80516147ed816149fb565b600060208284031215614a2757600080fd5b81516128c5816149fb565b600060208284031215614a4457600080fd5b81516128c5816143e1565b80516001600160601b0316825260006102006020830151614a7b60208601826001600160601b03169052565b506040830151614a9760408601826001600160c01b0319169052565b506060830151614ab360608601826001600160c01b0319169052565b506080830151608085015260a083015160a085015260c083015160c085015260e083015160e0850152610100808401518282870152614af483870182614304565b925050506101208084015185830382870152614b108382614304565b9250505061014080840151614b2a8287018261ffff169052565b50506101608381015161ffff169085015261018080840151908501526101a08084015164ffffffffff908116918601919091526101c0808501518216908601526101e0938401511692909301919091525090565b6001600160601b0384168152606060208201526000614ba06060830185614a4f565b905060ff83166040830152949350505050565b600060208284031215614bc557600080fd5b81516128c5816143b3565b600181811c90821680614be457607f821691505b602082108103614c0457634e487b7160e01b600052602260045260246000fd5b50919050565b600060208284031215614c1c57600080fd5b81516128c5816142ae565b600060208284031215614c3957600080fd5b5051919050565b80516147ed8161469a565b600060408284031215614c5d57600080fd5b604051604081018181106001600160401b0382111715614c7f57614c7f6144be565b604052825181526020928301519281019290925250919050565b60006102408284031215614cac57600080fd5b614cb46144fd565b614cbd83614c40565b8152614ccb60208401614c40565b6020820152614cdc604084016147e2565b6040820152614ced606084016147e2565b6060820152614cff8460808501614c4b565b6080820152614d118460c08501614c4b565b60a0820152610100614d2585828601614c4b565b60c0830152610140614d3986828701614c4b565b60e0840152614d4c866101808701614c4b565b82840152614d5e866101c08701614c4b565b610120840152614d7161020086016149d3565b9083015250614d836102208401614c40565b6101608201529392505050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561143157611431614d90565b60006101808284031215614dcc57600080fd5b614dd4614520565b614ddd836147e2565b8152614deb60208401614c40565b602082015260408301516040820152614e078460608501614c4b565b6060820152614e198460a08501614c4b565b6080820152614e2b8460e08501614c4b565b60a0820152614e3d61012084016149d3565b60c0820152614e4f61014084016149d3565b60e0820152614e616101608401614c40565b6101008201529392505050565b8481526001600160401b0360c01b84166020820152826040820152608060608201526000614e9f6080830184614304565b9695505050505050565b600060208284031215614ebb57600080fd5b81516001600160401b03811681146128c557600080fd5b634e487b7160e01b600052603260045260246000fd5b8181038181111561143157611431614d90565b6001600160601b03831681526040602082015260006130266040830184614a4f565b600060208284031215614f2f57600080fd5b81516001600160401b0380821115614f4657600080fd5b9083019060e08286031215614f5a57600080fd5b614f62614543565b614f6b836147e2565b8152614f79602084016147e2565b6020820152614f8a60408401614a0a565b6040820152614f9b606084016149d3565b6060820152614fac60808401614c40565b6080820152614fbd60a08401614c40565b60a082015260c083015182811115614fd457600080fd5b614fe0878286016147fd565b60c08301525095945050505050565b60006020828403121561500157600080fd5b81516001600160401b038082111561501857600080fd5b90830190610140828603121561502d57600080fd5b615035614520565b61503e836147e2565b815261504d8660208501614c4b565b602082015260608301518281111561506457600080fd5b615070878286016147fd565b6040830152506080830151606082015260a0830151608082015260c083015160a082015260e083015160c082015261010091506150ae828401614854565b60e08201526149c46101208401614854565b815181526020808301519082015260408101611431565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6000806040838503121561510e57600080fd5b505080516020909101519092909150565b6001600160601b03851681526080602082015260006151416080830186614304565b82810360408401526151538186614304565b91505082606083015295945050505050565b600060c0828403121561517757600080fd5b60405160a081018181106001600160401b0382111715615199576151996144be565b60405282516151a7816142ae565b815260208301516151b78161469a565b60208201526151c98460408501614c4b565b604082015260808301516151dc8161444f565b606082015260a08301516151ef8161469a565b60808201529392505050565b6000806040838503121561520e57600080fd5b82516152198161469a565b60208401519092506144228161469a565b634e487b7160e01b600052601260045260246000fd5b601f82111561528a57600081815260208120601f850160051c810160208610156152675750805b601f850160051c820191505b8181101561528657828155600101615273565b5050505b505050565b81516001600160401b038111156152a8576152a86144be565b6152bc816152b68454614bd0565b84615240565b602080601f8311600181146152f157600084156152d95750858301515b600019600386901b1c1916600185901b178555615286565b600085815260208120601f198616915b8281101561532057888601518255948401946001909101908401615301565b508582101561533e5787850151600019600388901b60f8161c191681555b5050505050600190811b0190555056fef0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a004f61291a8ac3d020d0a7d919a76b8592aa88385744dee3f8b4f3873b969ed900a2646970667358221220e876f10e3572375f3eeae8a5ec0654b67a6b90eaa6c565933948584beefd16e464736f6c63430008140033",
|
974
|
-
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101c45760003560e01c8063893d20e8116100f9578063bbfbbfba11610097578063cc9fc59a11610071578063cc9fc59a1461054a578063cde749f414610552578063cf7a1d771461055a578063fb2cb1011461056d57600080fd5b8063bbfbbfba1461051c578063c2c749871461052f578063caf4e3d41461054257600080fd5b8063a745e3df116100d3578063a745e3df146104c1578063b3c65015146104d4578063b68d1809146104f4578063b88da7591461050957600080fd5b8063893d20e814610457578063946dfcfe1461045f5780639cdaa7f91461048657600080fd5b80634d5e16a9116101665780635fd1a5f5116101405780635fd1a5f5146103f2578063603ccaad14610405578063630361f614610418578063644c45e01461042b57600080fd5b80634d5e16a9146103a75780634f421333146103ba5780635ab1bd53146103cd57600080fd5b80630fec111c116101a25780630fec111c1461023c578063138461e0146102515780631eff4b22146102595780634d459c901461028e57600080fd5b806301ffc9a7146101c95780630aaba8e81461020b5780630d8e6e2c14610220575b600080fd5b6101f66101d7366004614284565b6001600160e01b03191660009081526020819052604090205460ff1690565b60405190151581526020015b60405180910390f35b61021e6102193660046142c3565b61057e565b005b610228610bbc565b60405162ffffff9091168152602001610202565b610244610c46565b6040516102029190614330565b61021e610dec565b6102807f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30081565b604051908152602001610202565b61034a61029c3660046143c4565b6040805160a08101825260008082526020820181905291810182905260608101829052608081019190915260008051602061536f83398151915262ffffff92831660009081526020918252604090819020815160a0810183528154958616815263010000009095046001600160a01b03908116938601939093526001015491821690840152600160a01b810464ffffffffff166060840152600160c81b900463ffffffff1660808301525090565b60408051825162ffffff1681526020808401516001600160a01b039081169183019190915283830151169181019190915260608083015164ffffffffff169082015260809182015163ffffffff169181019190915260a001610202565b61021e6103b53660046143f4565b611009565b6101f66103c83660046143c4565b61127b565b6001546001600160a01b03165b6040516001600160a01b039091168152602001610202565b61028061040036600461442d565b61132e565b61021e6104133660046142c3565b611437565b61021e61042636600461445d565b61148c565b600154600160a01b90046001600160601b03165b6040516001600160601b039091168152602001610202565b6103da6119fe565b7f4f61291a8ac3d020d0a7d919a76b8592aa88385744dee3f8b4f3873b969ed90154610280565b610499610494366004614612565b611b17565b604080519586526020860194909452928401919091526060830152608082015260a001610202565b61021e6104cf3660046146af565b611bf5565b6104dc611d4f565b6040516001600160401b039091168152602001610202565b60d25b60405160ff9091168152602001610202565b610228610517366004614710565b611d70565b61021e61052a3660046143f4565b611dc1565b61043f61053d366004614729565b612135565b6103da6123ed565b6103da612484565b6104f76124ae565b61021e6105683660046146af565b612531565b6002546001600160a01b03166103da565b600061058a606e612639565b9150506000816001600160a01b03166302cd30716040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105f191906147c5565b60405163bd7d9d8560e01b81526001600160601b03851660048201529091506000906001600160a01b0383169063bd7d9d8590602401600060405180830381865afa158015610644573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261066c919081019061485f565b6101a081015160405163790a38ad60e01b815264ffffffffff909116600482015290915073__$d53880c81dc91c20799140d711e5ab8718$__9063790a38ad90602401602060405180830381865af41580156106cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106f091906149de565b1561071e576040516308cbe08b60e21b81526001600160601b03851660048201526024015b60405180910390fd5b604051639096a1f360e01b81526001600160601b03851660048201526000906001600160a01b03841690639096a1f390602401602060405180830381865afa15801561076e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107929190614a15565b905060ff81166064146107cc57604051634de91cf360e11b81526001600160601b038616600482015260ff82166024820152604401610715565b6101e0820151604051638d38cd4b60e01b815264ffffffffff909116600482015273__$d53880c81dc91c20799140d711e5ab8718$__90638d38cd4b90602401602060405180830381865af4158015610829573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061084d91906149de565b1561087657604051634b80547760e11b81526001600160601b0386166004820152602401610715565b8160c001518260a00151146108c05760a082015160c0830151604051632b14368360e11b81526001600160601b038816600482015260248101929092526044820152606401610715565b61016082015161ffff16156109045761016082015160405163a5bb07ed60e01b81526001600160601b038716600482015261ffff9091166024820152604401610715565b73__$d53880c81dc91c20799140d711e5ab8718$__63adb618326040518163ffffffff1660e01b8152600401602060405180830381865af415801561094d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109719190614a32565b6101c0830151604051634a19ad8d60e11b815264ffffffffff92831660048201529116602482015273__$d53880c81dc91c20799140d711e5ab8718$__906394335b1a90604401602060405180830381865af41580156109d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109f991906149de565b8015610a0d57508160800151826101800151105b15610a4a576101c0820151604051630e79f6e160e21b81526001600160601b038716600482015264ffffffffff9091166024820152604401610715565b73__$d53880c81dc91c20799140d711e5ab8718$__63adb618326040518163ffffffff1660e01b8152600401602060405180830381865af4158015610a93573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ab79190614a32565b64ffffffffff166101e083015260048054602084015160808501516040516303c5c06160e41b81526001600160a01b03898116958201959095526001600160601b03808b16602483015290921660448301526064820152911690633c5c061090608401600060405180830381600087803b158015610b3457600080fd5b505af1158015610b48573d6000803e3d6000fd5b50505050836001600160a01b0316639a960d528684610b6560c890565b6040518463ffffffff1660e01b8152600401610b8393929190614b7e565b600060405180830381600087803b158015610b9d57600080fd5b505af1158015610bb1573d6000803e3d6000fd5b505050505050505050565b604051632efe011360e01b815260036004820152600060248201819052604482018190529073__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__90632efe011390606401602060405180830381865af4158015610c1d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c419190614bb3565b905090565b610c4e6141c8565b604080516080810182527f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30080546001600160601b038116835260ff600160601b820481166020850152600160681b909104161515928201929092527f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa3018054600093916060840191610cde90614bd0565b80601f0160208091040260200160405190810160405280929190818152602001828054610d0a90614bd0565b8015610d575780601f10610d2c57610100808354040283529160200191610d57565b820191906000526020600020905b815481529060010190602001808311610d3a57829003601f168201915b50505050508152505090506040518060e00160405280610d75600090565b6001600160601b0316815260200182600001516001600160601b03168152602001826020015160ff168152602001826040015115158152602001306001600160a01b03168152602001610dd06002546001600160a01b031690565b6001600160a01b03168152602001826060015181525091505090565b6001546040516330b8415f60e01b8152600160a01b9091046001600160601b0316600482015273__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af4158015610e4e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e7291906149de565b15610eb4576001546040516316322c0f60e31b81526001600160a01b0382166004820152600160a01b9091046001600160601b03166024820152604401610715565b6001546001600160a01b0316610edd5760405163cf29926160e01b815260040160405180910390fd5b60015460405163c3c5a54760e01b81523060048201819052916001600160a01b03169063c3c5a54790602401602060405180830381865afa158015610f26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f4a91906149de565b610f72576040516372657a5160e01b81526001600160a01b0382166004820152602401610715565b600154604051636939560f60e11b81526001600160a01b0383811660048301529091169063d272ac1e90602401602060405180830381865afa158015610fbc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fe09190614c0a565b600160146101000a8154816001600160601b0302191690836001600160601b0316021790555050565b6000611015606e612639565b9150506000816001600160a01b03166302cd30716040518163ffffffff1660e01b8152600401602060405180830381865afa158015611058573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061107c91906147c5565b60405163bd7d9d8560e01b81526001600160601b03861660048201529091506000906001600160a01b0383169063bd7d9d8590602401600060405180830381865afa1580156110cf573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526110f7919081019061485f565b6101a081015160405163790a38ad60e01b815264ffffffffff909116600482015290915073__$d53880c81dc91c20799140d711e5ab8718$__9063790a38ad90602401602060405180830381865af4158015611157573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061117b91906149de565b6111c75760405162461bcd60e51b815260206004820152601f60248201527f4552524f523a5052532d3032303a414c52454144595f414354495641544544006044820152606401610715565b64ffffffffff84166101a0820181905260e0820151604051631ded81af60e31b81526004810192909252602482015273__$d53880c81dc91c20799140d711e5ab8718$__9063ef6c0d7890604401602060405180830381865af4158015611232573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112569190614a32565b64ffffffffff166101c08201526001600160a01b038316639a960d5286836064610b65565b60008060008051602061536f83398151915262ffffff84166000908152602091909152604090819020600101549051631bbffab160e21b8152600160c81b90910463ffffffff16600482015273__$5f476116ae21c5294e0c0761c07efa7e1c$__90636effeac490602401602060405180830381865af4158015611303573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113279190614c27565b1192915050565b6040516322f5db0f60e11b815260048101829052600090819073__$5ac3274b8cf1e01ea223bf093142af05b0$__906345ebb61e90602401602060405180830381865af4158015611383573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113a79190614c27565b905060006113b585836128b0565b604051632255341b60e11b81526004810182905290915073__$5ac3274b8cf1e01ea223bf093142af05b0$__906344aa683690602401602060405180830381865af4158015611408573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061142c9190614c27565b925050505b92915050565b60405162461bcd60e51b815260206004820152602160248201527f4552524f523a5052532d3233343a4e4f545f5945545f494d504c454d454e54456044820152601160fa1b6064820152608401610715565b50565b600080611499606e612639565b915091506000816001600160a01b03166302cd30716040518163ffffffff1660e01b8152600401602060405180830381865afa1580156114dd573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061150191906147c5565b835160405163bd7d9d8560e01b81526001600160601b0389166004820152919250906000906001600160a01b0384169063bd7d9d8590602401600060405180830381865afa158015611557573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261157f919081019061485f565b80519091506001600160601b038381169116146115de5760405162461bcd60e51b815260206004820152601760248201527f504f4c4943595f50524f445543545f4d49534d415443480000000000000000006044820152606401610715565b604051639096a1f360e01b81526001600160601b038916600482015261165c906001600160a01b03851690639096a1f390602401602060405180830381865afa15801561162f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116539190614a15565b60ff16600a1490565b6116a85760405162461bcd60e51b815260206004820152601f60248201527f4552524f523a5052532d3032313a53544154455f4e4f545f4150504c494544006044820152606401610715565b60006116b2614206565b60405163242bdc1960e21b81526001600160601b0385166004820152600090819081906001600160a01b038916906390af70649060240161024060405180830381865afa158015611707573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061172b9190614c99565b9050611735614206565b6117418a8a89856128cc565b91975090945061175a92508a9150869050858f86612a4f565b9250602864ffffffffff8b161561180d57606464ffffffffff8c166101a0880181905260e0880151604051631ded81af60e31b81526004810192909252602482015290915073__$d53880c81dc91c20799140d711e5ab8718$__9063ef6c0d7890604401602060405180830381865af41580156117db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117ff9190614a32565b64ffffffffff166101c08701525b8b1561184357611827898b600001518f8960a00151612a76565b91508560a001518660c00181815161183f9190614da6565b9052505b600460009054906101000a90046001600160a01b03166001600160a01b03166332e6f9228a8f8887876040518663ffffffff1660e01b81526004016118c19594939291906001600160a01b039590951685526001600160601b0393841660208601529190921660408401526060830191909152608082015260a00190565b600060405180830381600087803b1580156118db57600080fd5b505af11580156118ef573d6000803e3d6000fd5b50505050886001600160a01b0316639a960d528e88846040518463ffffffff1660e01b815260040161192393929190614b7e565b600060405180830381600087803b15801561193d57600080fd5b505af1158015611951573d6000803e3d6000fd5b505085516040516355e343a960e01b81526001600160601b039091166004820152600092506001600160a01b038b1691506355e343a99060240161018060405180830381865afa1580156119a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119cd9190614db9565b90508060e00151156119ee576119ee85600001518f8988604001518861302e565b5050505050505050505050505050565b6001546040516330b8415f60e01b8152600160a01b9091046001600160601b0316600482015260009073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af4158015611a63573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a8791906149de565b15611b0757600154604051631c5da14d60e11b8152600160a01b82046001600160601b031660048201526001600160a01b03909116906338bb429a90602401602060405180830381865afa158015611ae3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c4191906147c5565b506002546001600160a01b031690565b600080600080600080611b28613133565b90506000816001600160a01b0316635e78426b8d8f8e8e6040518563ffffffff1660e01b8152600401611b5e9493929190614e6e565b602060405180830381865afa158015611b7b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b9f9190614c27565b9050611bad81838b8b613152565b92985090965094509250611bc18682614da6565b9650611bcd8486614da6565b611bd79088614da6565b9650611be38388614da6565b96505050965096509650965096915050565b73__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__63a123b37c611c17610bbc565b6040516001600160e01b031960e084901b16815262ffffff9091166004820152602401602060405180830381865af4158015611c57573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c7b9190614ea9565b60008051602061534f8339815191528054600160401b900460ff1680611cae575080546001600160401b03808416911610155b15611ccc5760405163f92ee8a960e01b815260040160405180910390fd5b805468ffffffffffffffffff19166001600160401b03831617600160401b178155611cf785856137eb565b611d0083613a8a565b805460ff60401b191681556040516001600160401b03831681527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2906020015b60405180910390a15050505050565b6000610c4160008051602061534f833981519152546001600160401b031690565b600060008051602061536f8339815191526001018281548110611d9557611d95614ed2565b90600052602060002090600a91828204019190066003029054906101000a900462ffffff169050919050565b600080611dce606e612639565b915091506000816001600160a01b03166302cd30716040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e12573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e3691906147c5565b60405163bd7d9d8560e01b81526001600160601b03871660048201529091506000906001600160a01b0383169063bd7d9d8590602401600060405180830381865afa158015611e89573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611eb1919081019061485f565b90508060a001518160c0015103611ef35760c081015160405163038a855760e51b81526001600160601b03881660048201526024810191909152604401610715565b60008160c001518260a00151611f099190614ee8565b90506000611f1d8587600001518a85612a76565b9050818360c001818151611f319190614da6565b905250600480546020850151604051639babe3bf60e01b81526001600160a01b03898116948201949094526001600160601b03909116602482015260448101849052911690639babe3bf90606401600060405180830381600087803b158015611f9957600080fd5b505af1158015611fad573d6000803e3d6000fd5b50505050846001600160a01b0316639a960d528985611fca60ff90565b6040518463ffffffff1660e01b8152600401611fe893929190614b7e565b600060405180830381600087803b15801561200257600080fd5b505af1158015612016573d6000803e3d6000fd5b5050604051638d38cd4b60e01b815264ffffffffff8a16600482015273__$d53880c81dc91c20799140d711e5ab8718$__9250638d38cd4b9150602401602060405180830381865af4158015612070573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061209491906149de565b801561211c57506101a083015160405163790a38ad60e01b815264ffffffffff909116600482015273__$d53880c81dc91c20799140d711e5ab8718$__9063790a38ad90602401602060405180830381865af41580156120f8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061211c91906149de565b1561212b5761212b8888611009565b5050505050505050565b60008080612143606e612639565b9150915061214f6123ed565b6001600160a01b0316635c992fed6040518060e00160405280612170600090565b6001600160601b039081168252865116602082015260400160d260ff16815260200160001515815260200160006001600160a01b031681526020018d6001600160a01b03168152602001604051806020016040528060008152508152506040518263ffffffff1660e01b81526004016121e99190614330565b6020604051808303816000875af1158015612208573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061222c9190614c0a565b9250600061223e8a8a8a8a8a8a611b17565b505050509050600060405180610200016040528085600001516001600160601b03168152602001886001600160601b03168152602001876001600160c01b03191681526020018c6001600160c01b03191681526020018b8152602001838152602001600081526020018a8152602001898152602001604051806020016040528060008152508152602001600061ffff168152602001600061ffff168152602001600081526020016122ed600090565b64ffffffffff168152600060208201819052604091820152516202f23560ee1b81529091506001600160a01b0384169063bc8d4000906123339088908590600401614efb565b600060405180830381600087803b15801561234d57600080fd5b505af1158015612361573d6000803e3d6000fd5b50505050826001600160a01b0316635d4345cc8661237d600a90565b6040516001600160e01b031960e085901b1681526001600160601b03909216600483015260ff166024820152604401600060405180830381600087803b1580156123c657600080fd5b505af11580156123da573d6000803e3d6000fd5b5050505050505050979650505050505050565b6000806124026001546001600160a01b031690565b6001600160a01b031663d39e604360285b61241b6124ae565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865afa158015612460573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061143191906147c5565b6000806124996001546001600160a01b031690565b6001600160a01b031663d39e60436046612413565b60006124b8610bbc565b60405163c9e66e2960e01b815262ffffff909116600482015273__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__9063c9e66e2990602401602060405180830381865af415801561250d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c419190614a15565b60008051602061534f8339815191528054600160401b810460ff1615906001600160401b03166000811580156125645750825b90506000826001600160401b031660011480156125805750303b155b90508115801561258e575080155b156125ac5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff1916600117855583156125d657845460ff60401b1916600160401b1785555b6125e088886137eb565b6125ea8787613a92565b831561212b57845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15050505050505050565b6126416141c8565b6000806126566001546001600160a01b031690565b6040516308b09a5f60e41b81523360048201529091506001600160a01b03821690638b09a5f090602401600060405180830381865afa15801561269d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526126c59190810190614f1d565b92506126db83604001518560ff90811691161490565b61271d5760405162461bcd60e51b815260206004820152601360248201527213d0929150d517d516541157d2539590531251606a1b6044820152606401610715565b60208301516040516305247a1760e51b81526001600160601b0390911660048201526000906001600160a01b0383169063a48f42e090602401600060405180830381865afa158015612773573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261279b9190810190614f1d565b6080015190508092506000836001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156127e4573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061280891906147c5565b6080860151604051629b7b3560e61b81526001600160a01b0391821660048201529192508216906326decd4090602401602060405180830381865afa158015612855573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061287991906149de565b156128a857608085015160405163d53987e560e01b81526001600160a01b039091166004820152602401610715565b505050915091565b60006128c58383670de0b6b3a7640000613d00565b9392505050565b60006128d6614206565b6020840151604051634793b4ab60e01b81526001600160601b03821660048201529092506000906001600160a01b03871690634793b4ab90602401600060405180830381865afa15801561292e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526129569190810190614fef565b805160608601519193506001600160601b039081169116146129b35760405162461bcd60e51b81526020600482015260166024820152750a09e989286b2be84aa9c88988abe9a92a69a82a886960531b6044820152606401610715565b60608401516040516355e343a960e01b81526001600160601b03821660048201526000906001600160a01b038916906355e343a99060240161018060405180830381865afa158015612a09573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a2d9190614db9565b9050612a418160400151886080015161132e565b925050509450945094915050565b612a57614206565b8184608001818151612a699190614da6565b9052509295945050505050565b60008115613026576000856001600160a01b03166302cd30716040518163ffffffff1660e01b8152600401602060405180830381865afa158015612abe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ae291906147c5565b60405163242bdc1960e21b81526001600160601b03871660048201526001600160a01b0391909116906390af70649060240161024060405180830381865afa158015612b32573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b569190614c99565b60208101519091506000612b726001546001600160a01b031690565b604051631c5da14d60e11b81526001600160601b03881660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa158015612bc1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612be591906147c5565b90506000886001600160a01b03166302cd30716040518163ffffffff1660e01b8152600401602060405180830381865afa158015612c27573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c4b91906147c5565b60608501516040516355e343a960e01b81526001600160601b0390911660048201526001600160a01b0391909116906355e343a99060240161018060405180830381865afa158015612ca1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cc59190614db9565b61010081015160a08601516040516346f0526160e11b8152899850929350909173__$a23651848365a6a5ca15f07b4331037f48$__90638de0a4c290612d0f9084906004016150c0565b602060405180830381865af4158015612d2c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d5091906149de565b15612dbc576040516317d5759960e31b81526001600160a01b0386169063beabacc890612d8590879086908d906004016150d7565b600060405180830381600087803b158015612d9f57600080fd5b505af1158015612db3573d6000803e3d6000fd5b5050505061301f565b60a086015160405163012ebd8360e21b815281516004820152602090910151602482015260448101889052600090819073__$a23651848365a6a5ca15f07b4331037f48$__906304baf60c906064016040805180830381865af4158015612e27573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e4b91906150fb565b91509150600088610160015190508a886001600160a01b03166321df0da76040518163ffffffff1660e01b8152600401602060405180830381865afa158015612e98573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ebc91906147c5565b604051636eb1769f60e11b81526001600160a01b038a811660048301528b81166024830152919091169063dd62ed3e90604401602060405180830381865afa158015612f0c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f309190614c27565b1015612f555786888c604051636d675c4360e01b8152600401610715939291906150d7565b6040516317d5759960e31b81526001600160a01b0389169063beabacc890612f85908a90859088906004016150d7565b600060405180830381600087803b158015612f9f57600080fd5b505af1158015612fb3573d6000803e3d6000fd5b50506040516317d5759960e31b81526001600160a01b038b16925063beabacc89150612fe7908a90899087906004016150d7565b600060405180830381600087803b15801561300157600080fd5b505af1158015613015573d6000803e3d6000fd5b50939b5050505050505b5050505050505b949350505050565b60006130426001546001600160a01b031690565b6040516305247a1760e51b81526001600160601b03881660048201526001600160a01b03919091169063a48f42e090602401600060405180830381865afa158015613091573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526130b99190810190614f1d565b608001516101008501516040516332f7fe0d60e11b815291925082916001600160a01b038316916365effc1a916130f8918a918990899060040161511f565b600060405180830381600087803b15801561311257600080fd5b505af1158015613126573d6000803e3d6000fd5b5050505050505050505050565b600061313d6141c8565b613147606e612639565b506080015192915050565b600080600080600080886001600160a01b031663de7b5d146040518163ffffffff1660e01b8152600401602060405180830381865afa158015613199573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131bd91906147c5565b9050806001600160a01b03166302cd30716040518163ffffffff1660e01b8152600401602060405180830381865afa1580156131fd573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061322191906147c5565b9150506000886001600160a01b0316631bdd6b766040518163ffffffff1660e01b8152600401602060405180830381865afa158015613264573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132889190614c0a565b604051634793b4ab60e01b81526001600160601b038a1660048201529091506000906001600160a01b03841690634793b4ab90602401600060405180830381865afa1580156132db573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526133039190810190614fef565b80519091506001600160601b0383811691161461336d5760405162461bcd60e51b815260206004820152602260248201527f4552524f523a5052532d3033353a42554e444c455f504f4f4c5f4d49534d4154604482015261086960f31b6064820152608401610715565b6000836001600160a01b03166390af70648c6001600160a01b03166251884a6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156133bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133df9190614c0a565b6040516001600160e01b031960e084901b1681526001600160601b03909116600482015260240161024060405180830381865afa158015613424573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134489190614c99565b60a081015160405163012ebd8360e21b8152815160048201526020909101516024820152604481018e905290915073__$a23651848365a6a5ca15f07b4331037f48$__906304baf60c906064016040805180830381865af41580156134b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134d591906150fb565b506040516355e343a960e01b81526001600160601b0385166004820152909850600091506001600160a01b038516906355e343a99060240161018060405180830381865afa15801561352b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061354f9190614db9565b606081015160405163012ebd8360e21b8152815160048201526020909101516024820152604481018e905290915073__$a23651848365a6a5ca15f07b4331037f48$__906304baf60c906064016040805180830381865af41580156135b8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135dc91906150fb565b50809750505060008a6001600160a01b031663db6dcc956040518163ffffffff1660e01b8152600401602060405180830381865afa158015613622573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136469190614c0a565b604051639ad69c6760e01b81526001600160601b03821660048201529091506000906001600160a01b03861690639ad69c679060240160c060405180830381865afa158015613699573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136bd9190615165565b604080820151905163012ebd8360e21b8152815160048201526020909101516024820152604481018f905290915073__$a23651848365a6a5ca15f07b4331037f48$__906304baf60c906064016040805180830381865af4158015613726573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061374a91906150fb565b5060208481015160405163012ebd8360e21b8152815160048201529101516024820152604481018f905290965073__$a23651848365a6a5ca15f07b4331037f48$__92506304baf60c91506064016040805180830381865af41580156137b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906137d891906150fb565b5080955050505050945094509450949050565b6137f3613de9565b60008051602061536f833981519152600061382360008051602061534f833981519152546001600160401b031690565b9050600061382f610bbc565b9050816001600160401b031660010361385c5760028301805462ffffff191662ffffff83161790556138aa565b600283015462ffffff908116908216116138aa5760405162461bcd60e51b815260206004820152600f60248201526e24a72b20a624a2102b22a929a4a7a760891b6044820152606401610715565b6001808401805491820181556000908152602090819020600a808404909101805462ffffff808716600394909606939093026101000a858102930219169190911790556040805160a0810182529283526001600160a01b038089168484015287168382015280516356db0c1960e11b81529051606084019273__$d53880c81dc91c20799140d711e5ab8718$__9263adb6183292600480830193928290030181865af415801561395e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139829190614a32565b64ffffffffff1681526020014363ffffffff90811690915262ffffff8084166000908152602087815260409182902085518154928701516001600160a01b039081166301000000026001600160b81b0319909416919095161791909117815584820151600190910180546060870151608090970151909516600160c81b0263ffffffff60c81b1964ffffffffff909716600160a01b026001600160c81b031990961692909416919091179390931793909316179055517fad0a0fc10465a8dd9da3ad5f43e1a7fff4b4578551c76f0ae8deb844f0d0bf6890611d409083908890889062ffffff9390931683526001600160a01b03918216602084015216604082015260600190565b6101c4613de9565b60008051602061534f8339815191528054600160401b810460ff1615906001600160401b0316600081158015613ac55750825b90506000826001600160401b03166001148015613ae15750303b155b905081158015613aef575080155b15613b0d5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff191660011785558315613b3757845460ff60401b1916600160401b1785555b60008087806020019051810190613b4e91906151fb565b9092509050613b5d828a613e22565b6001546001600160a01b031663d39e6043608c613b786124ae565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865afa158015613bbd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613be191906147c5565b600380546001600160a01b0319166001600160a01b039283161790556001541663d39e6043613c0e60dc90565b613c166124ae565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865afa158015613c5b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613c7f91906147c5565b600480546001600160a01b0319166001600160a01b0392909216919091179055613caf63fefde12b60e01b613e8d565b50508315613cf757845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050565b6000808060001985870985870292508281108382030391505080600003613d3a57838281613d3057613d3061522a565b04925050506128c5565b808411613d815760405162461bcd60e51b81526020600482015260156024820152744d6174683a206d756c446976206f766572666c6f7760581b6044820152606401610715565b600084868809600260036001881981018916988990049182028318808302840302808302840302808302840302808302840302808302840302918202909203026000889003889004909101858311909403939093029303949094049190911702949350505050565b60008051602061534f83398151915254600160401b900460ff16613e2057604051631afcd79f60e31b815260040160405180910390fd5b565b600060d2613e2e6124ae565b6040805160ff9384166020820152929091169082015260600160405160208183030381529060405290506000613e6384613eb2565b90506000613e768583603c848888613f1d565b613e86637b6a51fd60e01b613e8d565b5050505050565b6001600160e01b0319166000908152602081905260409020805460ff19166001179055565b604051636939560f60e11b81526001600160a01b0382166004820181905260009163d272ac1e90602401602060405180830381865afa158015613ef9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114319190614c0a565b613f5e6301ffc9a760e01b60009081526020527f67be87c3ff9960ca1e9cfac5cab2ff4747269cf9ed20c9b7306235ac35a491c5805460ff19166001179055565b613f688287613fe9565b60007f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30080546001600160601b0388166cffffffffffffffffffffffffff1990911617600160601b60ff8816021760ff60681b1916600160681b86151502178155905060018101613fd8838261528f565b50613cf76303fb044760e21b613e8d565b6001600160a01b03821661403f5760405162461bcd60e51b815260206004820152601e60248201527f4e66744f776e61626c653a20696e697469616c206f776e6572206973203000006044820152606401610715565b600280546001600160a01b0319166001600160a01b03841617905561406381614067565b5050565b6001546001600160a01b0316156140a05760015460405163fcdbf2d960e01b81526001600160a01b039091166004820152602401610715565b6001600160a01b0381166140c75760405163f5c4d07d60e01b815260040160405180910390fd5b806001600160a01b03163b6000036140fd5760405163fdeac91f60e01b81526001600160a01b0382166004820152602401610715565b600180546001600160a01b0319166001600160a01b0383169081179091556040516301ffc9a760e01b81526316c8f9ff60e01b60048201526301ffc9a790602401602060405180830381865afa925050508015614177575060408051601f3d908101601f19168201909252614174918101906149de565b60015b61419f5760405163fdeac91f60e01b81526001600160a01b0382166004820152602401610715565b806140635760405163fdeac91f60e01b81526001600160a01b0383166004820152602401610715565b6040805160e08101825260008082526020820181905291810182905260608082018390526080820183905260a082019290925260c081019190915290565b60405180610120016040528060006001600160601b0316815260200161423f604051806040016040528060008152602001600081525090565b81526020016060815260200160008152602001600081526020016000815260200160008152602001600064ffffffffff168152602001600064ffffffffff1681525090565b60006020828403121561429657600080fd5b81356001600160e01b0319811681146128c557600080fd5b6001600160601b038116811461148957600080fd5b6000602082840312156142d557600080fd5b81356128c5816142ae565b60005b838110156142fb5781810151838201526020016142e3565b50506000910152565b6000815180845261431c8160208601602086016142e0565b601f01601f19169290920160200192915050565b6020815260006001600160601b038084511660208401528060208501511660408401525060ff604084015116606083015260608301511515608083015260018060a01b0360808401511660a083015260a083015161439960c08401826001600160a01b03169052565b5060c083015160e080840152613026610100840182614304565b62ffffff8116811461148957600080fd5b6000602082840312156143d657600080fd5b81356128c5816143b3565b64ffffffffff8116811461148957600080fd5b6000806040838503121561440757600080fd5b8235614412816142ae565b91506020830135614422816143e1565b809150509250929050565b6000806040838503121561444057600080fd5b50508035926020909101359150565b801515811461148957600080fd5b60008060006060848603121561447257600080fd5b833561447d816142ae565b9250602084013561448d8161444f565b9150604084013561449d816143e1565b809150509250925092565b6001600160c01b03198116811461148957600080fd5b634e487b7160e01b600052604160045260246000fd5b60405161020081016001600160401b03811182821017156144f7576144f76144be565b60405290565b60405161018081016001600160401b03811182821017156144f7576144f76144be565b60405161012081016001600160401b03811182821017156144f7576144f76144be565b60405160e081016001600160401b03811182821017156144f7576144f76144be565b604051601f8201601f191681016001600160401b038111828210171561458d5761458d6144be565b604052919050565b60006001600160401b038211156145ae576145ae6144be565b50601f01601f191660200190565b600082601f8301126145cd57600080fd5b81356145e06145db82614595565b614565565b8181528460208386010111156145f557600080fd5b816020850160208301376000918101602001919091529392505050565b60008060008060008060c0878903121561462b57600080fd5b8635614636816144a8565b9550602087013594506040870135935060608701356001600160401b0381111561465f57600080fd5b61466b89828a016145bc565b935050608087013561467c816142ae565b915060a087013561468c816144a8565b809150509295509295509295565b6001600160a01b038116811461148957600080fd5b6000806000606084860312156146c457600080fd5b83356146cf8161469a565b925060208401356146df8161469a565b915060408401356001600160401b038111156146fa57600080fd5b614706868287016145bc565b9150509250925092565b60006020828403121561472257600080fd5b5035919050565b600080600080600080600060e0888a03121561474457600080fd5b873561474f8161469a565b9650602088013561475f816144a8565b9550604088013594506060880135935060808801356001600160401b0381111561478857600080fd5b6147948a828b016145bc565b93505060a08801356147a5816142ae565b915060c08801356147b5816144a8565b8091505092959891949750929550565b6000602082840312156147d757600080fd5b81516128c58161469a565b80516147ed816142ae565b919050565b80516147ed816144a8565b600082601f83011261480e57600080fd5b815161481c6145db82614595565b81815284602083860101111561483157600080fd5b6130268260208301602087016142e0565b805161ffff811681146147ed57600080fd5b80516147ed816143e1565b60006020828403121561487157600080fd5b81516001600160401b038082111561488857600080fd5b90830190610200828603121561489d57600080fd5b6148a56144d4565b6148ae836147e2565b81526148bc602084016147e2565b60208201526148cd604084016147f2565b60408201526148de606084016147f2565b60608201526080830151608082015260a083015160a082015260c083015160c082015260e083015160e0820152610100808401518381111561491f57600080fd5b61492b888287016147fd565b828401525050610120808401518381111561494557600080fd5b614951888287016147fd565b8284015250506101409150614967828401614842565b82820152610160915061497b828401614842565b82820152610180915081830151828201526101a0915061499c828401614854565b828201526101c091506149b0828401614854565b828201526101e091506149c4828401614854565b91810191909152949350505050565b80516147ed8161444f565b6000602082840312156149f057600080fd5b81516128c58161444f565b60ff8116811461148957600080fd5b80516147ed816149fb565b600060208284031215614a2757600080fd5b81516128c5816149fb565b600060208284031215614a4457600080fd5b81516128c5816143e1565b80516001600160601b0316825260006102006020830151614a7b60208601826001600160601b03169052565b506040830151614a9760408601826001600160c01b0319169052565b506060830151614ab360608601826001600160c01b0319169052565b506080830151608085015260a083015160a085015260c083015160c085015260e083015160e0850152610100808401518282870152614af483870182614304565b925050506101208084015185830382870152614b108382614304565b9250505061014080840151614b2a8287018261ffff169052565b50506101608381015161ffff169085015261018080840151908501526101a08084015164ffffffffff908116918601919091526101c0808501518216908601526101e0938401511692909301919091525090565b6001600160601b0384168152606060208201526000614ba06060830185614a4f565b905060ff83166040830152949350505050565b600060208284031215614bc557600080fd5b81516128c5816143b3565b600181811c90821680614be457607f821691505b602082108103614c0457634e487b7160e01b600052602260045260246000fd5b50919050565b600060208284031215614c1c57600080fd5b81516128c5816142ae565b600060208284031215614c3957600080fd5b5051919050565b80516147ed8161469a565b600060408284031215614c5d57600080fd5b604051604081018181106001600160401b0382111715614c7f57614c7f6144be565b604052825181526020928301519281019290925250919050565b60006102408284031215614cac57600080fd5b614cb46144fd565b614cbd83614c40565b8152614ccb60208401614c40565b6020820152614cdc604084016147e2565b6040820152614ced606084016147e2565b6060820152614cff8460808501614c4b565b6080820152614d118460c08501614c4b565b60a0820152610100614d2585828601614c4b565b60c0830152610140614d3986828701614c4b565b60e0840152614d4c866101808701614c4b565b82840152614d5e866101c08701614c4b565b610120840152614d7161020086016149d3565b9083015250614d836102208401614c40565b6101608201529392505050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561143157611431614d90565b60006101808284031215614dcc57600080fd5b614dd4614520565b614ddd836147e2565b8152614deb60208401614c40565b602082015260408301516040820152614e078460608501614c4b565b6060820152614e198460a08501614c4b565b6080820152614e2b8460e08501614c4b565b60a0820152614e3d61012084016149d3565b60c0820152614e4f61014084016149d3565b60e0820152614e616101608401614c40565b6101008201529392505050565b8481526001600160401b0360c01b84166020820152826040820152608060608201526000614e9f6080830184614304565b9695505050505050565b600060208284031215614ebb57600080fd5b81516001600160401b03811681146128c557600080fd5b634e487b7160e01b600052603260045260246000fd5b8181038181111561143157611431614d90565b6001600160601b03831681526040602082015260006130266040830184614a4f565b600060208284031215614f2f57600080fd5b81516001600160401b0380821115614f4657600080fd5b9083019060e08286031215614f5a57600080fd5b614f62614543565b614f6b836147e2565b8152614f79602084016147e2565b6020820152614f8a60408401614a0a565b6040820152614f9b606084016149d3565b6060820152614fac60808401614c40565b6080820152614fbd60a08401614c40565b60a082015260c083015182811115614fd457600080fd5b614fe0878286016147fd565b60c08301525095945050505050565b60006020828403121561500157600080fd5b81516001600160401b038082111561501857600080fd5b90830190610140828603121561502d57600080fd5b615035614520565b61503e836147e2565b815261504d8660208501614c4b565b602082015260608301518281111561506457600080fd5b615070878286016147fd565b6040830152506080830151606082015260a0830151608082015260c083015160a082015260e083015160c082015261010091506150ae828401614854565b60e08201526149c46101208401614854565b815181526020808301519082015260408101611431565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6000806040838503121561510e57600080fd5b505080516020909101519092909150565b6001600160601b03851681526080602082015260006151416080830186614304565b82810360408401526151538186614304565b91505082606083015295945050505050565b600060c0828403121561517757600080fd5b60405160a081018181106001600160401b0382111715615199576151996144be565b60405282516151a7816142ae565b815260208301516151b78161469a565b60208201526151c98460408501614c4b565b604082015260808301516151dc8161444f565b606082015260a08301516151ef8161469a565b60808201529392505050565b6000806040838503121561520e57600080fd5b82516152198161469a565b60208401519092506144228161469a565b634e487b7160e01b600052601260045260246000fd5b601f82111561528a57600081815260208120601f850160051c810160208610156152675750805b601f850160051c820191505b8181101561528657828155600101615273565b5050505b505050565b81516001600160401b038111156152a8576152a86144be565b6152bc816152b68454614bd0565b84615240565b602080601f8311600181146152f157600084156152d95750858301515b600019600386901b1c1916600185901b178555615286565b600085815260208120601f198616915b8281101561532057888601518255948401946001909101908401615301565b508582101561533e5787850151600019600388901b60f8161c191681555b5050505050600190811b0190555056fef0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a004f61291a8ac3d020d0a7d919a76b8592aa88385744dee3f8b4f3873b969ed900a2646970667358221220e876f10e3572375f3eeae8a5ec0654b67a6b90eaa6c565933948584beefd16e464736f6c63430008140033",
|
843
|
+
"bytecode": "0x60806040523480156200001157600080fd5b506200001c62000022565b620000d6565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000735760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620000d35780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b6149c180620000e66000396000f3fe608060405234801561001057600080fd5b50600436106101cf5760003560e01c80635fd1a5f511610104578063b68d1809116100a2578063cde749f411610071578063cde749f4146103ff578063ea86657214610407578063f21de1e814610311578063f7c34ee01461041a57600080fd5b8063b68d1809146103c7578063bbfbbfba146103dc578063caf4e3d4146103ef578063cc9fc59a146103f757600080fd5b8063675393bf116100de578063675393bf14610384578063893d20e8146103975780639ffcede91461039f578063ada9652e146103b257600080fd5b80635fd1a5f514610336578063630361f614610349578063644c45e01461035c57600080fd5b806327bb7a33116101715780633d3cf0231161014b5780633d3cf023146102da57806349bb9e4b146102eb5780634d5e16a9146102fe5780635ab1bd531461031157600080fd5b806327bb7a33146102ac578063329d6e74146102bf57806336fc697e146102d257600080fd5b80630fec111c116101ad5780630fec111c14610247578063138461e01461025c5780631eff4b2214610264578063214cdb801461029957600080fd5b806301ffc9a7146101d45780630aaba8e8146102165780630d8e6e2c1461022b575b600080fd5b6102016101e2366004613717565b6001600160e01b03191660009081526020819052604090205460ff1690565b60405190151581526020015b60405180910390f35b610229610224366004613756565b61042d565b005b610233610a6b565b60405162ffffff909116815260200161020d565b61024f610af5565b60405161020d91906137c3565b610229610c91565b61028b7f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30081565b60405190815260200161020d565b6102296102a7366004613717565b610e93565b6102296102ba366004613a3c565b610ec0565b6102296102cd366004613ad4565b610f4c565b610229611099565b6102296102e8366004613756565b50565b6102296102f9366004613b08565b6110df565b61022961030c366004613b6a565b6111de565b6001546001600160a01b03165b6040516001600160a01b03909116815260200161020d565b61028b610344366004613ba3565b611454565b610229610357366004613bc5565b61155d565b60008051602061494c833981519152546040516001600160601b03909116815260200161020d565b610229610392366004613c10565b611bdd565b61031e611cea565b6102296103ad366004613756565b611e21565b61028b60008051602061494c83398151915281565b60d35b60405160ff909116815260200161020d565b6102296103ea366004613b6a565b611e73565b61031e6121d5565b61031e61226c565b6103ca612296565b610229610415366004613c2d565b61230d565b610229610428366004613c2d565b6123a5565b6000610439606e61241c565b9150506000816001600160a01b03166302cd30716040518163ffffffff1660e01b8152600401602060405180830381865afa15801561047c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104a09190613c5b565b60405163bd7d9d8560e01b81526001600160601b03851660048201529091506000906001600160a01b0383169063bd7d9d8590602401600060405180830381865afa1580156104f3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261051b9190810190613d0d565b6101a081015160405163790a38ad60e01b815264ffffffffff909116600482015290915073__$d53880c81dc91c20799140d711e5ab8718$__9063790a38ad90602401602060405180830381865af415801561057b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061059f9190613e93565b156105cd576040516308cbe08b60e21b81526001600160601b03851660048201526024015b60405180910390fd5b604051639096a1f360e01b81526001600160601b03851660048201526000906001600160a01b03841690639096a1f390602401602060405180830381865afa15801561061d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106419190613ebb565b905060ff811660641461067b57604051634de91cf360e11b81526001600160601b038616600482015260ff821660248201526044016105c4565b6101e0820151604051638d38cd4b60e01b815264ffffffffff909116600482015273__$d53880c81dc91c20799140d711e5ab8718$__90638d38cd4b90602401602060405180830381865af41580156106d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106fc9190613e93565b1561072557604051634b80547760e11b81526001600160601b03861660048201526024016105c4565b8160c001518260a001511461076f5760a082015160c0830151604051632b14368360e11b81526001600160601b0388166004820152602481019290925260448201526064016105c4565b61016082015161ffff16156107b35761016082015160405163a5bb07ed60e01b81526001600160601b038716600482015261ffff90911660248201526044016105c4565b73__$d53880c81dc91c20799140d711e5ab8718$__63adb618326040518163ffffffff1660e01b8152600401602060405180830381865af41580156107fc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108209190613ed8565b6101c0830151604051634a19ad8d60e11b815264ffffffffff92831660048201529116602482015273__$d53880c81dc91c20799140d711e5ab8718$__906394335b1a90604401602060405180830381865af4158015610884573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108a89190613e93565b80156108bc57508160800151826101800151105b156108f9576101c0820151604051630e79f6e160e21b81526001600160601b038716600482015264ffffffffff90911660248201526044016105c4565b73__$d53880c81dc91c20799140d711e5ab8718$__63adb618326040518163ffffffff1660e01b8152600401602060405180830381865af4158015610942573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109669190613ed8565b64ffffffffff166101e0830152600354602083015160808401516040516303c5c06160e41b81526001600160a01b0388811660048301526001600160601b03808b16602484015290931660448201526064810191909152911690633c5c061090608401600060405180830381600087803b1580156109e357600080fd5b505af11580156109f7573d6000803e3d6000fd5b50505050836001600160a01b0316631518afb98684610a1460c890565b6040518463ffffffff1660e01b8152600401610a3293929190613ef5565b600060405180830381600087803b158015610a4c57600080fd5b505af1158015610a60573d6000803e3d6000fd5b505050505050505050565b604051632efe011360e01b815260036004820152600060248201819052604482018190529073__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__90632efe011390606401602060405180830381865af4158015610acc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610af09190614068565b905090565b610afd613654565b604080516080810182527f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30080546001600160601b038116835260ff600160601b820481166020850152600160681b909104161515928201929092527f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa3018054600093916060840191610b8d9061408d565b80601f0160208091040260200160405190810160405280929190818152602001828054610bb99061408d565b8015610c065780601f10610bdb57610100808354040283529160200191610c06565b820191906000526020600020905b815481529060010190602001808311610be957829003601f168201915b50505050508152505090506040518060e00160405280610c24600090565b6001600160601b0316815260200182600001516001600160601b03168152602001826020015160ff168152602001826040015115158152602001306001600160a01b03168152602001610c75611cea565b6001600160a01b03168152602001826060015181525091505090565b600060008051602061494c83398151915280546040516330b8415f60e01b81526001600160601b03909116600482015290915073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af4158015610d00573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d249190613e93565b15610d505780546040516301ab8b6760e21b81526001600160601b0390911660048201526024016105c4565b30610d636001546001600160a01b031690565b60405163c3c5a54760e01b81526001600160a01b038381166004830152919091169063c3c5a54790602401602060405180830381865afa158015610dab573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dcf9190613e93565b610df75760405163b9304b0d60e01b81526001600160a01b03821660048201526024016105c4565b6001546001600160a01b0316604051636939560f60e11b81526001600160a01b038381166004830152919091169063d272ac1e90602401602060405180830381865afa158015610e4b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e6f91906140c7565b82546bffffffffffffffffffffffff19166001600160601b03919091161790915550565b610e9b612693565b6001600160e01b0319166000908152602081905260409020805460ff19166001179055565b610ec8612693565b610ed282876123a5565b60007f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30080546001600160601b0388166cffffffffffffffffffffffffff1990911617600160601b60ff8816021760ff60681b1916600160681b86151502178155905060018101610f428382614133565b5050505050505050565b73__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__63a123b37c610f6e610a6b565b6040516001600160e01b031960e084901b16815262ffffff9091166004820152602401602060405180830381865af4158015610fae573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fd29190614212565b60008051602061496c8339815191528054600160401b900460ff1680611005575080546001600160401b03808416911610155b156110235760405163f92ee8a960e01b815260040160405180910390fd5b805468ffffffffffffffffff19166001600160401b03831617600160401b17815561104d836126cc565b805460ff60401b191681556040516001600160401b03831681527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a1505050565b6110a1612693565b6301ffc9a760e01b60009081526020527f67be87c3ff9960ca1e9cfac5cab2ff4747269cf9ed20c9b7306235ac35a491c5805460ff19166001179055565b60008051602061496c8339815191528054600160401b810460ff1615906001600160401b03166000811580156111125750825b90506000826001600160401b0316600114801561112e5750303b155b90508115801561113c575080155b1561115a5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561118457845460ff60401b1916600160401b1785555b61118e87876126d4565b83156111d557845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2906020015b60405180910390a15b50505050505050565b60006111ea606e61241c565b9150506000816001600160a01b03166302cd30716040518163ffffffff1660e01b8152600401602060405180830381865afa15801561122d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112519190613c5b565b60405163bd7d9d8560e01b81526001600160601b03861660048201529091506000906001600160a01b0383169063bd7d9d8590602401600060405180830381865afa1580156112a4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526112cc9190810190613d0d565b6101a081015160405163790a38ad60e01b815264ffffffffff909116600482015290915073__$d53880c81dc91c20799140d711e5ab8718$__9063790a38ad90602401602060405180830381865af415801561132c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113509190613e93565b61139c5760405162461bcd60e51b815260206004820152601f60248201527f4552524f523a5052532d3032303a414c52454144595f4143544956415445440060448201526064016105c4565b64ffffffffff8481166101a0830181905260e08301516040516352bcc5a760e11b81526004810192909252909116602482015273__$d53880c81dc91c20799140d711e5ab8718$__9063a5798b4e90604401602060405180830381865af415801561140b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061142f9190613ed8565b64ffffffffff166101c08201526001600160a01b038316631518afb986836064610a14565b6040516322f5db0f60e11b815260048101829052600090819073__$5ac3274b8cf1e01ea223bf093142af05b0$__906345ebb61e90602401602060405180830381865af41580156114a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114cd919061422f565b905060006114db8583612a5f565b604051632255341b60e11b81526004810182905290915073__$5ac3274b8cf1e01ea223bf093142af05b0$__906344aa683690602401602060405180830381865af415801561152e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611552919061422f565b925050505b92915050565b600080600061156a613654565b611574606e61241c565b8095508192505050836001600160a01b03166302cd30716040518163ffffffff1660e01b8152600401602060405180830381865afa1580156115ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115de9190613c5b565b905160405163bd7d9d8560e01b81526001600160601b038916600482015291935091506000906001600160a01b0384169063bd7d9d8590602401600060405180830381865afa158015611635573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261165d9190810190613d0d565b80519091506001600160601b038381169116146116bc5760405162461bcd60e51b815260206004820152601760248201527f504f4c4943595f50524f445543545f4d49534d4154434800000000000000000060448201526064016105c4565b604051639096a1f360e01b81526001600160601b038816600482015261173a906001600160a01b03851690639096a1f390602401602060405180830381865afa15801561170d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117319190613ebb565b60ff16600a1490565b6117865760405162461bcd60e51b815260206004820152601f60248201527f4552524f523a5052532d3032313a53544154455f4e4f545f4150504c4945440060448201526064016105c4565b6000806000806118148888878a6001600160a01b03166390af70648b6040518263ffffffff1660e01b81526004016117cd91906001600160601b0391909116815260200190565b61014060405180830381865afa1580156117eb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061180f91906142a1565b612a7b565b93509350935093506000611826602890565b905064ffffffffff8a16156118db57606464ffffffffff8b81166101a0890181905260e08901516040516352bcc5a760e11b81526004810192909252909116602482015290915073__$d53880c81dc91c20799140d711e5ab8718$__9063a5798b4e90604401602060405180830381865af41580156118a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118cd9190613ed8565b64ffffffffff166101c08701525b60008b1561190e576118f28a8e8960a00151612c1c565b90508660a001518760c00181815161190a919061435f565b9052505b600360009054906101000a90046001600160a01b03166001600160a01b031663a7e0dea78b8f8887866040518663ffffffff1660e01b815260040161198c9594939291906001600160a01b039590951685526001600160601b0393841660208601529190921660408401526060830191909152608082015260a00190565b6000604051808303816000875af11580156119ab573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526119d39190810190614372565b9350896001600160a01b0316631518afb98e89856040518463ffffffff1660e01b8152600401611a0593929190613ef5565b600060405180830381600087803b158015611a1f57600080fd5b505af1158015611a33573d6000803e3d6000fd5b505060405163f0ea17c360e01b81526001600160601b03891660048201526001600160a01b038c16925063f0ea17c39150602401600060405180830381865afa158015611a84573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611aac919081019061444a565b60800151806020019051810190611ac39190614521565b60a0015115611bce576000611ae06001546001600160a01b031690565b6040516305247a1760e51b81526001600160601b03891660048201526001600160a01b03919091169063a48f42e090602401600060405180830381865afa158015611b2f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611b5791908101906145ea565b608001519050806001600160a01b031663da65659d8f8a6101000151898960400151896040518663ffffffff1660e01b8152600401611b9a9594939291906146bc565b600060405180830381600087803b158015611bb457600080fd5b505af1158015611bc8573d6000803e3d6000fd5b50505050505b50505050505050505050505050565b611be5612693565b806001600160a01b03163b600003611c1b5760405163fdeac91f60e01b81526001600160a01b03821660048201526024016105c4565b600180546001600160a01b0319166001600160a01b0383169081179091556040516301ffc9a760e01b815263230c0c8160e11b60048201526301ffc9a790602401602060405180830381865afa925050508015611c95575060408051601f3d908101601f19168201909252611c9291810190613e93565b60015b611cbd5760405163fdeac91f60e01b81526001600160a01b03821660048201526024016105c4565b80611ce65760405163fdeac91f60e01b81526001600160a01b03831660048201526024016105c4565b5050565b60008060008051602061494c83398151915280546040516330b8415f60e01b81526001600160601b03909116600482015290915073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af4158015611d5a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d7e9190613e93565b15611e0b576001546001600160a01b03168154604051631c5da14d60e11b81526001600160601b0390911660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa158015611de1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e059190613c5b565b91505090565b54600160601b90046001600160a01b0316919050565b60405162461bcd60e51b815260206004820152602160248201527f4552524f523a5052532d3233353a4e4f545f5945545f494d504c454d454e54456044820152601160fa1b60648201526084016105c4565b600080611e80606e61241c565b915091506000816001600160a01b03166302cd30716040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ec4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ee89190613c5b565b60405163bd7d9d8560e01b81526001600160601b03871660048201529091506000906001600160a01b0383169063bd7d9d8590602401600060405180830381865afa158015611f3b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611f639190810190613d0d565b90508060a001518160c0015103611fa55760c081015160405163038a855760e51b81526001600160601b038816600482015260248101919091526044016105c4565b60008160c001518260a00151611fbb919061470d565b90506000611fca858984612c1c565b9050818360c001818151611fde919061435f565b9052506003546020840151604051639babe3bf60e01b81526001600160a01b0388811660048301526001600160601b03909216602482015260448101849052911690639babe3bf90606401600060405180830381600087803b15801561204357600080fd5b505af1158015612057573d6000803e3d6000fd5b50505050846001600160a01b0316631518afb9898561207460ff90565b6040518463ffffffff1660e01b815260040161209293929190613ef5565b600060405180830381600087803b1580156120ac57600080fd5b505af11580156120c0573d6000803e3d6000fd5b5050604051638d38cd4b60e01b815264ffffffffff8a16600482015273__$d53880c81dc91c20799140d711e5ab8718$__9250638d38cd4b9150602401602060405180830381865af415801561211a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061213e9190613e93565b80156121c657506101a083015160405163790a38ad60e01b815264ffffffffff909116600482015273__$d53880c81dc91c20799140d711e5ab8718$__9063790a38ad90602401602060405180830381865af41580156121a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121c69190613e93565b15610f4257610f4288886111de565b6000806121ea6001546001600160a01b031690565b6001600160a01b031663d39e604360285b612203612296565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865afa158015612248573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115579190613c5b565b6000806122816001546001600160a01b031690565b6001600160a01b031663d39e604360466121fb565b604051632392b61b60e21b81526003600482015260009073__$9dab98ad7ae1a426029e5739f922230a41$__90638e4ad86c90602401602060405180830381865af41580156122e9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610af09190613ebb565b612315612693565b61239582836001600160a01b031663644c45e06040518163ffffffff1660e01b8152600401602060405180830381865afa158015612357573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061237b91906140c7565b603c60008560405180602001604052806000815250610ec0565b611ce6637b6a51fd60e01b610e93565b6123ad612693565b6123b681611bdd565b6123be611099565b6001600160a01b0382166123e55760405163f17ef42d60e01b815260040160405180910390fd5b5060008051602061494c83398151915280546001600160601b0316600160601b6001600160a01b0390931692909202919091179055565b612424613654565b6000806124396001546001600160a01b031690565b6040516308b09a5f60e41b81523360048201529091506001600160a01b03821690638b09a5f090602401600060405180830381865afa158015612480573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526124a891908101906145ea565b92506124be83604001518560ff90811691161490565b6125005760405162461bcd60e51b815260206004820152601360248201527213d0929150d517d516541157d2539590531251606a1b60448201526064016105c4565b60208301516040516305247a1760e51b81526001600160601b0390911660048201526000906001600160a01b0383169063a48f42e090602401600060405180830381865afa158015612556573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261257e91908101906145ea565b6080015190508092506000836001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156125c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125eb9190613c5b565b6080860151604051629b7b3560e61b81526001600160a01b0391821660048201529192508216906326decd4090602401602060405180830381865afa158015612638573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061265c9190613e93565b1561268b57608085015160405163d53987e560e01b81526001600160a01b0390911660048201526024016105c4565b505050915091565b60008051602061496c83398151915254600160401b900460ff166126ca57604051631afcd79f60e31b815260040160405180910390fd5b565b6101cf612693565b60008051602061496c8339815191528054600160401b810460ff1615906001600160401b03166000811580156127075750825b90506000826001600160401b031660011480156127235750303b155b905081158015612731575080155b1561274f5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561277957845460ff60401b1916600160401b1785555b600080878060200190518101906127909190614720565b909250905061279f828a61230d565b6001546001600160a01b031663d39e6043608c6127ba612296565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865afa1580156127ff573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128239190613c5b565b600280546001600160a01b0319166001600160a01b039283161790556001541663d39e604360dc612852612296565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865afa158015612897573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128bb9190613c5b565b600380546001600160a01b0319166001600160a01b039283161790556001541663d39e604360d26128ea612296565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865afa15801561292f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129539190613c5b565b600480546001600160a01b0319166001600160a01b039283161790556001541663d39e60436078612982612296565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865afa1580156129c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129eb9190613c5b565b600580546001600160a01b0319166001600160a01b0392909216919091179055612a1b63310e6c1960e11b610e93565b505083156111d557845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2906020016111cc565b6000612a748383670de0b6b3a764000061356a565b9392505050565b600080612a86613692565b60608401516020860151604051634793b4ab60e01b81526001600160601b038216600482015291945092506000906001600160a01b03881690634793b4ab90602401600060405180830381865afa158015612ae5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612b0d9190810190614372565b80519092506001600160601b03858116911614612b655760405162461bcd60e51b81526020600482015260166024820152750a09e989286b2be84aa9c88988abe9a92a69a82a886960531b60448201526064016105c4565b60405163f0ea17c360e01b81526001600160601b03851660048201526000906001600160a01b0389169063f0ea17c390602401600060405180830381865afa158015612bb5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612bdd919081019061444a565b905060008160800151806020019051810190612bf99190614521565b9050612c0d8160c001518960800151611454565b92505050945094509450949050565b60008115612a74576000612c386001546001600160a01b031690565b6040516305247a1760e51b81526001600160601b03861660048201526001600160a01b03919091169063a48f42e090602401600060405180830381865afa158015612c87573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612caf91908101906145ea565b6020015190506000856001600160a01b03166302cd30716040518163ffffffff1660e01b8152600401602060405180830381865afa158015612cf5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d199190613c5b565b60405163242bdc1960e21b81526001600160601b03841660048201526001600160a01b0391909116906390af70649060240161014060405180830381865afa158015612d69573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d8d91906142a1565b90506000866001600160a01b03166302cd30716040518163ffffffff1660e01b8152600401602060405180830381865afa158015612dcf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612df39190613c5b565b60405163bd7d9d8560e01b81526001600160601b03881660048201526001600160a01b03919091169063bd7d9d8590602401600060405180830381865afa158015612e42573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612e6a9190810190613d0d565b60208301519091506000612e866001546001600160a01b031690565b604051631c5da14d60e11b81526001600160601b038a1660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa158015612ed5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ef99190613c5b565b90506000896001600160a01b03166302cd30716040518163ffffffff1660e01b8152600401602060405180830381865afa158015612f3b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f5f9190613c5b565b606086015160405163f0ea17c360e01b81526001600160601b0390911660048201526001600160a01b03919091169063f0ea17c390602401600060405180830381865afa158015612fb4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612fdc919081019061444a565b6060015190506000600460009054906101000a90046001600160a01b03166001600160a01b03166370e314e888876060015188608001518960e001518a61010001518b602001518c604001516040518863ffffffff1660e01b815260040161304a979695949392919061474f565b6101e060405180830381865afa158015613068573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061308c91906147b5565b9050888160400151146130d15760408082015190516355e9883560e11b81526001600160601b038c166004820152602481018b905260448101919091526064016105c4565b60008660e0015190508160400151856001600160a01b03166321df0da76040518163ffffffff1660e01b8152600401602060405180830381865afa15801561311d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131419190613c5b565b604051636eb1769f60e11b81526001600160a01b0387811660048301528881166024830152919091169063dd62ed3e90604401602060405180830381865afa158015613191573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131b5919061422f565b10156131de5783858360400151604051636d675c4360e01b81526004016105c493929190614870565b846001600160a01b031663beabacc885838560e001518660600151613203919061435f565b6040518463ffffffff1660e01b815260040161322193929190614870565b600060405180830381600087803b15801561323b57600080fd5b505af115801561324f573d6000803e3d6000fd5b5050505060008c6001600160a01b03166302cd30716040518163ffffffff1660e01b8152600401602060405180830381865afa158015613293573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132b79190613c5b565b6040808a01519051639ad69c6760e01b81526001600160601b0390911660048201526001600160a01b039190911690639ad69c679060240161010060405180830381865afa15801561330d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133319190614894565b90506000816080015190506000846101c001518561014001518660c00151613359919061435f565b613363919061470d565b6040516317d5759960e31b81529091506001600160a01b0389169063beabacc890613396908a9086908690600401614870565b600060405180830381600087803b1580156133b057600080fd5b505af11580156133c4573d6000803e3d6000fd5b505060055460408d8101518d820151825163d25f509560e01b81526001600160601b0390921660048301526001600160c01b03191660248201528951604482015260208a01516064820152908901516084820152606089015160a4820152608089015160c482015260a089015160e482015260c089015161010482015260e08901516101248201526101008901516101448201526101208901516101648201526101408901516101848201526101608901516101a48201526101808901516101c48201526101a08901516101e48201526101c089015161020482015261022481018590526001600160a01b03909116925063d25f5095915061024401600060405180830381600087803b1580156134da57600080fd5b505af11580156134ee573d6000803e3d6000fd5b505086516040516317d5759960e31b81526001600160a01b038c16935063beabacc89250613523918b918b9190600401614870565b600060405180830381600087803b15801561353d57600080fd5b505af1158015613551573d6000803e3d6000fd5b505095519c505050505050505050505050509392505050565b60008080600019858709858702925082811083820303915050806000036135a45783828161359a5761359a614935565b0492505050612a74565b8084116135eb5760405162461bcd60e51b81526020600482015260156024820152744d6174683a206d756c446976206f766572666c6f7760581b60448201526064016105c4565b60008486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091026000889003889004909101858311909403939093029303949094049190911702949350505050565b6040805160e08101825260008082526020820181905291810182905260608082018390526080820183905260a082019290925260c081019190915290565b60405180610120016040528060006001600160601b031681526020016136cb604051806040016040528060008152602001600081525090565b815260200160608152602001600081526020016000815260200160008152602001600064ffffffffff168152602001600064ffffffffff168152602001600064ffffffffff1681525090565b60006020828403121561372957600080fd5b81356001600160e01b031981168114612a7457600080fd5b6001600160601b03811681146102e857600080fd5b60006020828403121561376857600080fd5b8135612a7481613741565b60005b8381101561378e578181015183820152602001613776565b50506000910152565b600081518084526137af816020860160208601613773565b601f01601f19169290920160200192915050565b6020815260006001600160601b038084511660208401528060208501511660408401525060ff604084015116606083015260608301511515608083015260018060a01b0360808401511660a083015260a083015161382c60c08401826001600160a01b03169052565b5060c083015160e080840152613846610100840182613797565b949350505050565b6001600160a01b03811681146102e857600080fd5b60ff811681146102e857600080fd5b80151581146102e857600080fd5b634e487b7160e01b600052604160045260246000fd5b60405161020081016001600160401b03811182821017156138b9576138b9613880565b60405290565b60405161010081016001600160401b03811182821017156138b9576138b9613880565b60405161012081016001600160401b03811182821017156138b9576138b9613880565b60405160a081016001600160401b03811182821017156138b9576138b9613880565b60405161016081016001600160401b03811182821017156138b9576138b9613880565b60405160e081016001600160401b03811182821017156138b9576138b9613880565b6040516101e081016001600160401b03811182821017156138b9576138b9613880565b604051601f8201601f191681016001600160401b03811182821017156139b7576139b7613880565b604052919050565b60006001600160401b038211156139d8576139d8613880565b50601f01601f191660200190565b600082601f8301126139f757600080fd5b8135613a0a613a05826139bf565b61398f565b818152846020838601011115613a1f57600080fd5b816020850160208301376000918101602001919091529392505050565b60008060008060008060c08789031215613a5557600080fd5b8635613a608161384e565b95506020870135613a7081613741565b94506040870135613a8081613863565b93506060870135613a9081613872565b92506080870135613aa08161384e565b915060a08701356001600160401b03811115613abb57600080fd5b613ac789828a016139e6565b9150509295509295509295565b600060208284031215613ae657600080fd5b81356001600160401b03811115613afc57600080fd5b613846848285016139e6565b60008060408385031215613b1b57600080fd5b8235613b268161384e565b915060208301356001600160401b03811115613b4157600080fd5b613b4d858286016139e6565b9150509250929050565b64ffffffffff811681146102e857600080fd5b60008060408385031215613b7d57600080fd5b8235613b8881613741565b91506020830135613b9881613b57565b809150509250929050565b60008060408385031215613bb657600080fd5b50508035926020909101359150565b600080600060608486031215613bda57600080fd5b8335613be581613741565b92506020840135613bf581613872565b91506040840135613c0581613b57565b809150509250925092565b600060208284031215613c2257600080fd5b8135612a748161384e565b60008060408385031215613c4057600080fd5b8235613c4b8161384e565b91506020830135613b988161384e565b600060208284031215613c6d57600080fd5b8151612a748161384e565b8051613c8381613741565b919050565b80516001600160c01b031981168114613c8357600080fd5b8051613c8381613b57565b6000613cb9613a05846139bf565b9050828152838383011115613ccd57600080fd5b612a74836020830184613773565b600082601f830112613cec57600080fd5b612a7483835160208501613cab565b805161ffff81168114613c8357600080fd5b600060208284031215613d1f57600080fd5b81516001600160401b0380821115613d3657600080fd5b908301906102008286031215613d4b57600080fd5b613d53613896565b613d5c83613c78565b8152613d6a60208401613c78565b6020820152613d7b60408401613c88565b6040820152613d8c60608401613c88565b60608201526080830151608082015260a083015160a082015260c083015160c0820152613dbb60e08401613ca0565b60e08201526101008084015183811115613dd457600080fd5b613de088828701613cdb565b8284015250506101208084015183811115613dfa57600080fd5b613e0688828701613cdb565b8284015250506101409150613e1c828401613cfb565b828201526101609150613e30828401613cfb565b82820152610180915081830151828201526101a09150613e51828401613ca0565b828201526101c09150613e65828401613ca0565b828201526101e09150613e79828401613ca0565b91810191909152949350505050565b8051613c8381613872565b600060208284031215613ea557600080fd5b8151612a7481613872565b8051613c8381613863565b600060208284031215613ecd57600080fd5b8151612a7481613863565b600060208284031215613eea57600080fd5b8151612a7481613b57565b6001600160601b038416815260606020820152613f1e6060820184516001600160601b03169052565b60006020840151613f3a60808401826001600160601b03169052565b5060408401516001600160c01b0319811660a08401525060608401516001600160c01b0319811660c084015250608084015160e083015260a0840151610100818185015260c08601519150610120828186015260e08701519250610140613fa98187018564ffffffffff169052565b82880151935061020092506101608381880152613fca610260880186613797565b9450828901519250610180605f198887030181890152613fea8685613797565b9550828a015193506101a092506140068389018561ffff169052565b9089015192506101c09061401f8883018561ffff169052565b8901516101e0888101919091529189015164ffffffffff9081169488019490945288015183166102208701528701519091166102408501525060ff841660408401529050613846565b60006020828403121561407a57600080fd5b815162ffffff81168114612a7457600080fd5b600181811c908216806140a157607f821691505b6020821081036140c157634e487b7160e01b600052602260045260246000fd5b50919050565b6000602082840312156140d957600080fd5b8151612a7481613741565b601f82111561412e57600081815260208120601f850160051c8101602086101561410b5750805b601f850160051c820191505b8181101561412a57828155600101614117565b5050505b505050565b81516001600160401b0381111561414c5761414c613880565b6141608161415a845461408d565b846140e4565b602080601f831160018114614195576000841561417d5750858301515b600019600386901b1c1916600185901b17855561412a565b600085815260208120601f198616915b828110156141c4578886015182559484019460019091019084016141a5565b50858210156141e25787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6001600160401b03811681146102e857600080fd5b8051613c83816141f2565b60006020828403121561422457600080fd5b8151612a74816141f2565b60006020828403121561424157600080fd5b5051919050565b8051613c838161384e565b60006040828403121561426557600080fd5b604051604081018181106001600160401b038211171561428757614287613880565b604052825181526020928301519281019290925250919050565b600061014082840312156142b457600080fd5b6142bc6138bf565b6142c583614248565b81526142d360208401614248565b60208201526142e460408401613c78565b60408201526142f560608401613c78565b60608201526143078460808501614253565b60808201526143198460c08501614253565b60a082015261432b6101008401613e88565b60c082015261433d6101208401614248565b60e08201529392505050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561155757611557614349565b60006020828403121561438457600080fd5b81516001600160401b038082111561439b57600080fd5b9083019061014082860312156143b057600080fd5b6143b86138e2565b6143c183613c78565b81526143d08660208501614253565b60208201526060830151828111156143e757600080fd5b6143f387828601613cdb565b6040830152506080830151606082015260a0830151608082015260c083015160a082015261442360e08401613ca0565b60c08201526101009150614438828401613ca0565b60e0820152613e796101208401613ca0565b60006020828403121561445c57600080fd5b81516001600160401b038082111561447357600080fd5b9083019060a0828603121561448757600080fd5b61448f613905565b82518281111561449e57600080fd5b8301601f810187136144af57600080fd5b6144be87825160208401613cab565b8252506144cd60208401614248565b60208201526144de60408401614248565b60408201526144ef60608401614248565b606082015260808301518281111561450657600080fd5b61451287828601613cdb565b60808301525095945050505050565b60006101c0828403121561453457600080fd5b61453c613927565b61454583613c78565b815261455360208401614207565b60208201526040830151604082015261456e60608401613e88565b606082015261457f60808401613e88565b608082015261459060a08401613e88565b60a082015260c083015160c082015260e083015160e08201526101006145b885828601614253565b908201526101406145cb85858301614253565b6101208301526145df856101808601614253565b908201529392505050565b6000602082840312156145fc57600080fd5b81516001600160401b038082111561461357600080fd5b9083019060e0828603121561462757600080fd5b61462f61394a565b61463883613c78565b815261464660208401613c78565b602082015261465760408401613eb0565b604082015261466860608401613e88565b606082015261467960808401614248565b608082015261468a60a08401614248565b60a082015260c0830151828111156146a157600080fd5b6146ad87828601613cdb565b60c08301525095945050505050565b60006001600160601b03808816835260a060208401526146df60a0840188613797565b818716604085015283810360608501526146f98187613797565b925050508260808301529695505050505050565b8181038181111561155757611557614349565b6000806040838503121561473357600080fd5b825161473e8161384e565b6020840151909250613b988161384e565b60006001600160601b03808a1683526001600160401b0360c01b808a16602085015288604085015264ffffffffff8816606085015260e0608085015261479860e0850188613797565b9590911660a08401529290921660c0909101525095945050505050565b60006101e082840312156147c857600080fd5b6147d061396c565b825181526020808401519082015260408084015190820152606080840151908201526080808401519082015260a0808401519082015260c0808401519082015260e08084015190820152610100808401519082015261012080840151908201526101408084015190820152610160808401519082015261018080840151908201526101a080840151908201526101c0928301519281019290925250919050565b6001600160a01b039384168152919092166020820152604081019190915260600190565b600061010082840312156148a757600080fd5b60405160c081018181106001600160401b03821117156148c9576148c9613880565b60405282516148d781613741565b815260208301516148e78161384e565b60208201526148f98460408501614253565b604082015261490b8460808501614253565b606082015260c083015161491e8161384e565b608082015260e0929092015160a083015250919050565b634e487b7160e01b600052601260045260246000fdfe07ebcf49758b6ed3af50fa146bec0abe157c0218fe65dc0874c286e9d5da4f00f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a26469706673582212209f6d9a8f6bb2051f0e9669f043c39d29bafb5c9006a734d3d506674b20f52da464736f6c63430008140033",
|
844
|
+
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101cf5760003560e01c80635fd1a5f511610104578063b68d1809116100a2578063cde749f411610071578063cde749f4146103ff578063ea86657214610407578063f21de1e814610311578063f7c34ee01461041a57600080fd5b8063b68d1809146103c7578063bbfbbfba146103dc578063caf4e3d4146103ef578063cc9fc59a146103f757600080fd5b8063675393bf116100de578063675393bf14610384578063893d20e8146103975780639ffcede91461039f578063ada9652e146103b257600080fd5b80635fd1a5f514610336578063630361f614610349578063644c45e01461035c57600080fd5b806327bb7a33116101715780633d3cf0231161014b5780633d3cf023146102da57806349bb9e4b146102eb5780634d5e16a9146102fe5780635ab1bd531461031157600080fd5b806327bb7a33146102ac578063329d6e74146102bf57806336fc697e146102d257600080fd5b80630fec111c116101ad5780630fec111c14610247578063138461e01461025c5780631eff4b2214610264578063214cdb801461029957600080fd5b806301ffc9a7146101d45780630aaba8e8146102165780630d8e6e2c1461022b575b600080fd5b6102016101e2366004613717565b6001600160e01b03191660009081526020819052604090205460ff1690565b60405190151581526020015b60405180910390f35b610229610224366004613756565b61042d565b005b610233610a6b565b60405162ffffff909116815260200161020d565b61024f610af5565b60405161020d91906137c3565b610229610c91565b61028b7f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30081565b60405190815260200161020d565b6102296102a7366004613717565b610e93565b6102296102ba366004613a3c565b610ec0565b6102296102cd366004613ad4565b610f4c565b610229611099565b6102296102e8366004613756565b50565b6102296102f9366004613b08565b6110df565b61022961030c366004613b6a565b6111de565b6001546001600160a01b03165b6040516001600160a01b03909116815260200161020d565b61028b610344366004613ba3565b611454565b610229610357366004613bc5565b61155d565b60008051602061494c833981519152546040516001600160601b03909116815260200161020d565b610229610392366004613c10565b611bdd565b61031e611cea565b6102296103ad366004613756565b611e21565b61028b60008051602061494c83398151915281565b60d35b60405160ff909116815260200161020d565b6102296103ea366004613b6a565b611e73565b61031e6121d5565b61031e61226c565b6103ca612296565b610229610415366004613c2d565b61230d565b610229610428366004613c2d565b6123a5565b6000610439606e61241c565b9150506000816001600160a01b03166302cd30716040518163ffffffff1660e01b8152600401602060405180830381865afa15801561047c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104a09190613c5b565b60405163bd7d9d8560e01b81526001600160601b03851660048201529091506000906001600160a01b0383169063bd7d9d8590602401600060405180830381865afa1580156104f3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261051b9190810190613d0d565b6101a081015160405163790a38ad60e01b815264ffffffffff909116600482015290915073__$d53880c81dc91c20799140d711e5ab8718$__9063790a38ad90602401602060405180830381865af415801561057b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061059f9190613e93565b156105cd576040516308cbe08b60e21b81526001600160601b03851660048201526024015b60405180910390fd5b604051639096a1f360e01b81526001600160601b03851660048201526000906001600160a01b03841690639096a1f390602401602060405180830381865afa15801561061d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106419190613ebb565b905060ff811660641461067b57604051634de91cf360e11b81526001600160601b038616600482015260ff821660248201526044016105c4565b6101e0820151604051638d38cd4b60e01b815264ffffffffff909116600482015273__$d53880c81dc91c20799140d711e5ab8718$__90638d38cd4b90602401602060405180830381865af41580156106d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106fc9190613e93565b1561072557604051634b80547760e11b81526001600160601b03861660048201526024016105c4565b8160c001518260a001511461076f5760a082015160c0830151604051632b14368360e11b81526001600160601b0388166004820152602481019290925260448201526064016105c4565b61016082015161ffff16156107b35761016082015160405163a5bb07ed60e01b81526001600160601b038716600482015261ffff90911660248201526044016105c4565b73__$d53880c81dc91c20799140d711e5ab8718$__63adb618326040518163ffffffff1660e01b8152600401602060405180830381865af41580156107fc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108209190613ed8565b6101c0830151604051634a19ad8d60e11b815264ffffffffff92831660048201529116602482015273__$d53880c81dc91c20799140d711e5ab8718$__906394335b1a90604401602060405180830381865af4158015610884573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108a89190613e93565b80156108bc57508160800151826101800151105b156108f9576101c0820151604051630e79f6e160e21b81526001600160601b038716600482015264ffffffffff90911660248201526044016105c4565b73__$d53880c81dc91c20799140d711e5ab8718$__63adb618326040518163ffffffff1660e01b8152600401602060405180830381865af4158015610942573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109669190613ed8565b64ffffffffff166101e0830152600354602083015160808401516040516303c5c06160e41b81526001600160a01b0388811660048301526001600160601b03808b16602484015290931660448201526064810191909152911690633c5c061090608401600060405180830381600087803b1580156109e357600080fd5b505af11580156109f7573d6000803e3d6000fd5b50505050836001600160a01b0316631518afb98684610a1460c890565b6040518463ffffffff1660e01b8152600401610a3293929190613ef5565b600060405180830381600087803b158015610a4c57600080fd5b505af1158015610a60573d6000803e3d6000fd5b505050505050505050565b604051632efe011360e01b815260036004820152600060248201819052604482018190529073__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__90632efe011390606401602060405180830381865af4158015610acc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610af09190614068565b905090565b610afd613654565b604080516080810182527f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30080546001600160601b038116835260ff600160601b820481166020850152600160681b909104161515928201929092527f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa3018054600093916060840191610b8d9061408d565b80601f0160208091040260200160405190810160405280929190818152602001828054610bb99061408d565b8015610c065780601f10610bdb57610100808354040283529160200191610c06565b820191906000526020600020905b815481529060010190602001808311610be957829003601f168201915b50505050508152505090506040518060e00160405280610c24600090565b6001600160601b0316815260200182600001516001600160601b03168152602001826020015160ff168152602001826040015115158152602001306001600160a01b03168152602001610c75611cea565b6001600160a01b03168152602001826060015181525091505090565b600060008051602061494c83398151915280546040516330b8415f60e01b81526001600160601b03909116600482015290915073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af4158015610d00573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d249190613e93565b15610d505780546040516301ab8b6760e21b81526001600160601b0390911660048201526024016105c4565b30610d636001546001600160a01b031690565b60405163c3c5a54760e01b81526001600160a01b038381166004830152919091169063c3c5a54790602401602060405180830381865afa158015610dab573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dcf9190613e93565b610df75760405163b9304b0d60e01b81526001600160a01b03821660048201526024016105c4565b6001546001600160a01b0316604051636939560f60e11b81526001600160a01b038381166004830152919091169063d272ac1e90602401602060405180830381865afa158015610e4b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e6f91906140c7565b82546bffffffffffffffffffffffff19166001600160601b03919091161790915550565b610e9b612693565b6001600160e01b0319166000908152602081905260409020805460ff19166001179055565b610ec8612693565b610ed282876123a5565b60007f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30080546001600160601b0388166cffffffffffffffffffffffffff1990911617600160601b60ff8816021760ff60681b1916600160681b86151502178155905060018101610f428382614133565b5050505050505050565b73__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__63a123b37c610f6e610a6b565b6040516001600160e01b031960e084901b16815262ffffff9091166004820152602401602060405180830381865af4158015610fae573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fd29190614212565b60008051602061496c8339815191528054600160401b900460ff1680611005575080546001600160401b03808416911610155b156110235760405163f92ee8a960e01b815260040160405180910390fd5b805468ffffffffffffffffff19166001600160401b03831617600160401b17815561104d836126cc565b805460ff60401b191681556040516001600160401b03831681527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a1505050565b6110a1612693565b6301ffc9a760e01b60009081526020527f67be87c3ff9960ca1e9cfac5cab2ff4747269cf9ed20c9b7306235ac35a491c5805460ff19166001179055565b60008051602061496c8339815191528054600160401b810460ff1615906001600160401b03166000811580156111125750825b90506000826001600160401b0316600114801561112e5750303b155b90508115801561113c575080155b1561115a5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561118457845460ff60401b1916600160401b1785555b61118e87876126d4565b83156111d557845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2906020015b60405180910390a15b50505050505050565b60006111ea606e61241c565b9150506000816001600160a01b03166302cd30716040518163ffffffff1660e01b8152600401602060405180830381865afa15801561122d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112519190613c5b565b60405163bd7d9d8560e01b81526001600160601b03861660048201529091506000906001600160a01b0383169063bd7d9d8590602401600060405180830381865afa1580156112a4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526112cc9190810190613d0d565b6101a081015160405163790a38ad60e01b815264ffffffffff909116600482015290915073__$d53880c81dc91c20799140d711e5ab8718$__9063790a38ad90602401602060405180830381865af415801561132c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113509190613e93565b61139c5760405162461bcd60e51b815260206004820152601f60248201527f4552524f523a5052532d3032303a414c52454144595f4143544956415445440060448201526064016105c4565b64ffffffffff8481166101a0830181905260e08301516040516352bcc5a760e11b81526004810192909252909116602482015273__$d53880c81dc91c20799140d711e5ab8718$__9063a5798b4e90604401602060405180830381865af415801561140b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061142f9190613ed8565b64ffffffffff166101c08201526001600160a01b038316631518afb986836064610a14565b6040516322f5db0f60e11b815260048101829052600090819073__$5ac3274b8cf1e01ea223bf093142af05b0$__906345ebb61e90602401602060405180830381865af41580156114a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114cd919061422f565b905060006114db8583612a5f565b604051632255341b60e11b81526004810182905290915073__$5ac3274b8cf1e01ea223bf093142af05b0$__906344aa683690602401602060405180830381865af415801561152e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611552919061422f565b925050505b92915050565b600080600061156a613654565b611574606e61241c565b8095508192505050836001600160a01b03166302cd30716040518163ffffffff1660e01b8152600401602060405180830381865afa1580156115ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115de9190613c5b565b905160405163bd7d9d8560e01b81526001600160601b038916600482015291935091506000906001600160a01b0384169063bd7d9d8590602401600060405180830381865afa158015611635573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261165d9190810190613d0d565b80519091506001600160601b038381169116146116bc5760405162461bcd60e51b815260206004820152601760248201527f504f4c4943595f50524f445543545f4d49534d4154434800000000000000000060448201526064016105c4565b604051639096a1f360e01b81526001600160601b038816600482015261173a906001600160a01b03851690639096a1f390602401602060405180830381865afa15801561170d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117319190613ebb565b60ff16600a1490565b6117865760405162461bcd60e51b815260206004820152601f60248201527f4552524f523a5052532d3032313a53544154455f4e4f545f4150504c4945440060448201526064016105c4565b6000806000806118148888878a6001600160a01b03166390af70648b6040518263ffffffff1660e01b81526004016117cd91906001600160601b0391909116815260200190565b61014060405180830381865afa1580156117eb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061180f91906142a1565b612a7b565b93509350935093506000611826602890565b905064ffffffffff8a16156118db57606464ffffffffff8b81166101a0890181905260e08901516040516352bcc5a760e11b81526004810192909252909116602482015290915073__$d53880c81dc91c20799140d711e5ab8718$__9063a5798b4e90604401602060405180830381865af41580156118a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118cd9190613ed8565b64ffffffffff166101c08701525b60008b1561190e576118f28a8e8960a00151612c1c565b90508660a001518760c00181815161190a919061435f565b9052505b600360009054906101000a90046001600160a01b03166001600160a01b031663a7e0dea78b8f8887866040518663ffffffff1660e01b815260040161198c9594939291906001600160a01b039590951685526001600160601b0393841660208601529190921660408401526060830191909152608082015260a00190565b6000604051808303816000875af11580156119ab573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526119d39190810190614372565b9350896001600160a01b0316631518afb98e89856040518463ffffffff1660e01b8152600401611a0593929190613ef5565b600060405180830381600087803b158015611a1f57600080fd5b505af1158015611a33573d6000803e3d6000fd5b505060405163f0ea17c360e01b81526001600160601b03891660048201526001600160a01b038c16925063f0ea17c39150602401600060405180830381865afa158015611a84573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611aac919081019061444a565b60800151806020019051810190611ac39190614521565b60a0015115611bce576000611ae06001546001600160a01b031690565b6040516305247a1760e51b81526001600160601b03891660048201526001600160a01b03919091169063a48f42e090602401600060405180830381865afa158015611b2f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611b5791908101906145ea565b608001519050806001600160a01b031663da65659d8f8a6101000151898960400151896040518663ffffffff1660e01b8152600401611b9a9594939291906146bc565b600060405180830381600087803b158015611bb457600080fd5b505af1158015611bc8573d6000803e3d6000fd5b50505050505b50505050505050505050505050565b611be5612693565b806001600160a01b03163b600003611c1b5760405163fdeac91f60e01b81526001600160a01b03821660048201526024016105c4565b600180546001600160a01b0319166001600160a01b0383169081179091556040516301ffc9a760e01b815263230c0c8160e11b60048201526301ffc9a790602401602060405180830381865afa925050508015611c95575060408051601f3d908101601f19168201909252611c9291810190613e93565b60015b611cbd5760405163fdeac91f60e01b81526001600160a01b03821660048201526024016105c4565b80611ce65760405163fdeac91f60e01b81526001600160a01b03831660048201526024016105c4565b5050565b60008060008051602061494c83398151915280546040516330b8415f60e01b81526001600160601b03909116600482015290915073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af4158015611d5a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d7e9190613e93565b15611e0b576001546001600160a01b03168154604051631c5da14d60e11b81526001600160601b0390911660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa158015611de1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e059190613c5b565b91505090565b54600160601b90046001600160a01b0316919050565b60405162461bcd60e51b815260206004820152602160248201527f4552524f523a5052532d3233353a4e4f545f5945545f494d504c454d454e54456044820152601160fa1b60648201526084016105c4565b600080611e80606e61241c565b915091506000816001600160a01b03166302cd30716040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ec4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ee89190613c5b565b60405163bd7d9d8560e01b81526001600160601b03871660048201529091506000906001600160a01b0383169063bd7d9d8590602401600060405180830381865afa158015611f3b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611f639190810190613d0d565b90508060a001518160c0015103611fa55760c081015160405163038a855760e51b81526001600160601b038816600482015260248101919091526044016105c4565b60008160c001518260a00151611fbb919061470d565b90506000611fca858984612c1c565b9050818360c001818151611fde919061435f565b9052506003546020840151604051639babe3bf60e01b81526001600160a01b0388811660048301526001600160601b03909216602482015260448101849052911690639babe3bf90606401600060405180830381600087803b15801561204357600080fd5b505af1158015612057573d6000803e3d6000fd5b50505050846001600160a01b0316631518afb9898561207460ff90565b6040518463ffffffff1660e01b815260040161209293929190613ef5565b600060405180830381600087803b1580156120ac57600080fd5b505af11580156120c0573d6000803e3d6000fd5b5050604051638d38cd4b60e01b815264ffffffffff8a16600482015273__$d53880c81dc91c20799140d711e5ab8718$__9250638d38cd4b9150602401602060405180830381865af415801561211a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061213e9190613e93565b80156121c657506101a083015160405163790a38ad60e01b815264ffffffffff909116600482015273__$d53880c81dc91c20799140d711e5ab8718$__9063790a38ad90602401602060405180830381865af41580156121a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121c69190613e93565b15610f4257610f4288886111de565b6000806121ea6001546001600160a01b031690565b6001600160a01b031663d39e604360285b612203612296565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865afa158015612248573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115579190613c5b565b6000806122816001546001600160a01b031690565b6001600160a01b031663d39e604360466121fb565b604051632392b61b60e21b81526003600482015260009073__$9dab98ad7ae1a426029e5739f922230a41$__90638e4ad86c90602401602060405180830381865af41580156122e9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610af09190613ebb565b612315612693565b61239582836001600160a01b031663644c45e06040518163ffffffff1660e01b8152600401602060405180830381865afa158015612357573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061237b91906140c7565b603c60008560405180602001604052806000815250610ec0565b611ce6637b6a51fd60e01b610e93565b6123ad612693565b6123b681611bdd565b6123be611099565b6001600160a01b0382166123e55760405163f17ef42d60e01b815260040160405180910390fd5b5060008051602061494c83398151915280546001600160601b0316600160601b6001600160a01b0390931692909202919091179055565b612424613654565b6000806124396001546001600160a01b031690565b6040516308b09a5f60e41b81523360048201529091506001600160a01b03821690638b09a5f090602401600060405180830381865afa158015612480573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526124a891908101906145ea565b92506124be83604001518560ff90811691161490565b6125005760405162461bcd60e51b815260206004820152601360248201527213d0929150d517d516541157d2539590531251606a1b60448201526064016105c4565b60208301516040516305247a1760e51b81526001600160601b0390911660048201526000906001600160a01b0383169063a48f42e090602401600060405180830381865afa158015612556573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261257e91908101906145ea565b6080015190508092506000836001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156125c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125eb9190613c5b565b6080860151604051629b7b3560e61b81526001600160a01b0391821660048201529192508216906326decd4090602401602060405180830381865afa158015612638573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061265c9190613e93565b1561268b57608085015160405163d53987e560e01b81526001600160a01b0390911660048201526024016105c4565b505050915091565b60008051602061496c83398151915254600160401b900460ff166126ca57604051631afcd79f60e31b815260040160405180910390fd5b565b6101cf612693565b60008051602061496c8339815191528054600160401b810460ff1615906001600160401b03166000811580156127075750825b90506000826001600160401b031660011480156127235750303b155b905081158015612731575080155b1561274f5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561277957845460ff60401b1916600160401b1785555b600080878060200190518101906127909190614720565b909250905061279f828a61230d565b6001546001600160a01b031663d39e6043608c6127ba612296565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865afa1580156127ff573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128239190613c5b565b600280546001600160a01b0319166001600160a01b039283161790556001541663d39e604360dc612852612296565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865afa158015612897573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128bb9190613c5b565b600380546001600160a01b0319166001600160a01b039283161790556001541663d39e604360d26128ea612296565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865afa15801561292f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129539190613c5b565b600480546001600160a01b0319166001600160a01b039283161790556001541663d39e60436078612982612296565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865afa1580156129c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129eb9190613c5b565b600580546001600160a01b0319166001600160a01b0392909216919091179055612a1b63310e6c1960e11b610e93565b505083156111d557845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2906020016111cc565b6000612a748383670de0b6b3a764000061356a565b9392505050565b600080612a86613692565b60608401516020860151604051634793b4ab60e01b81526001600160601b038216600482015291945092506000906001600160a01b03881690634793b4ab90602401600060405180830381865afa158015612ae5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612b0d9190810190614372565b80519092506001600160601b03858116911614612b655760405162461bcd60e51b81526020600482015260166024820152750a09e989286b2be84aa9c88988abe9a92a69a82a886960531b60448201526064016105c4565b60405163f0ea17c360e01b81526001600160601b03851660048201526000906001600160a01b0389169063f0ea17c390602401600060405180830381865afa158015612bb5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612bdd919081019061444a565b905060008160800151806020019051810190612bf99190614521565b9050612c0d8160c001518960800151611454565b92505050945094509450949050565b60008115612a74576000612c386001546001600160a01b031690565b6040516305247a1760e51b81526001600160601b03861660048201526001600160a01b03919091169063a48f42e090602401600060405180830381865afa158015612c87573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612caf91908101906145ea565b6020015190506000856001600160a01b03166302cd30716040518163ffffffff1660e01b8152600401602060405180830381865afa158015612cf5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d199190613c5b565b60405163242bdc1960e21b81526001600160601b03841660048201526001600160a01b0391909116906390af70649060240161014060405180830381865afa158015612d69573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d8d91906142a1565b90506000866001600160a01b03166302cd30716040518163ffffffff1660e01b8152600401602060405180830381865afa158015612dcf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612df39190613c5b565b60405163bd7d9d8560e01b81526001600160601b03881660048201526001600160a01b03919091169063bd7d9d8590602401600060405180830381865afa158015612e42573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612e6a9190810190613d0d565b60208301519091506000612e866001546001600160a01b031690565b604051631c5da14d60e11b81526001600160601b038a1660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa158015612ed5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ef99190613c5b565b90506000896001600160a01b03166302cd30716040518163ffffffff1660e01b8152600401602060405180830381865afa158015612f3b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f5f9190613c5b565b606086015160405163f0ea17c360e01b81526001600160601b0390911660048201526001600160a01b03919091169063f0ea17c390602401600060405180830381865afa158015612fb4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612fdc919081019061444a565b6060015190506000600460009054906101000a90046001600160a01b03166001600160a01b03166370e314e888876060015188608001518960e001518a61010001518b602001518c604001516040518863ffffffff1660e01b815260040161304a979695949392919061474f565b6101e060405180830381865afa158015613068573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061308c91906147b5565b9050888160400151146130d15760408082015190516355e9883560e11b81526001600160601b038c166004820152602481018b905260448101919091526064016105c4565b60008660e0015190508160400151856001600160a01b03166321df0da76040518163ffffffff1660e01b8152600401602060405180830381865afa15801561311d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131419190613c5b565b604051636eb1769f60e11b81526001600160a01b0387811660048301528881166024830152919091169063dd62ed3e90604401602060405180830381865afa158015613191573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131b5919061422f565b10156131de5783858360400151604051636d675c4360e01b81526004016105c493929190614870565b846001600160a01b031663beabacc885838560e001518660600151613203919061435f565b6040518463ffffffff1660e01b815260040161322193929190614870565b600060405180830381600087803b15801561323b57600080fd5b505af115801561324f573d6000803e3d6000fd5b5050505060008c6001600160a01b03166302cd30716040518163ffffffff1660e01b8152600401602060405180830381865afa158015613293573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132b79190613c5b565b6040808a01519051639ad69c6760e01b81526001600160601b0390911660048201526001600160a01b039190911690639ad69c679060240161010060405180830381865afa15801561330d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133319190614894565b90506000816080015190506000846101c001518561014001518660c00151613359919061435f565b613363919061470d565b6040516317d5759960e31b81529091506001600160a01b0389169063beabacc890613396908a9086908690600401614870565b600060405180830381600087803b1580156133b057600080fd5b505af11580156133c4573d6000803e3d6000fd5b505060055460408d8101518d820151825163d25f509560e01b81526001600160601b0390921660048301526001600160c01b03191660248201528951604482015260208a01516064820152908901516084820152606089015160a4820152608089015160c482015260a089015160e482015260c089015161010482015260e08901516101248201526101008901516101448201526101208901516101648201526101408901516101848201526101608901516101a48201526101808901516101c48201526101a08901516101e48201526101c089015161020482015261022481018590526001600160a01b03909116925063d25f5095915061024401600060405180830381600087803b1580156134da57600080fd5b505af11580156134ee573d6000803e3d6000fd5b505086516040516317d5759960e31b81526001600160a01b038c16935063beabacc89250613523918b918b9190600401614870565b600060405180830381600087803b15801561353d57600080fd5b505af1158015613551573d6000803e3d6000fd5b505095519c505050505050505050505050509392505050565b60008080600019858709858702925082811083820303915050806000036135a45783828161359a5761359a614935565b0492505050612a74565b8084116135eb5760405162461bcd60e51b81526020600482015260156024820152744d6174683a206d756c446976206f766572666c6f7760581b60448201526064016105c4565b60008486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091026000889003889004909101858311909403939093029303949094049190911702949350505050565b6040805160e08101825260008082526020820181905291810182905260608082018390526080820183905260a082019290925260c081019190915290565b60405180610120016040528060006001600160601b031681526020016136cb604051806040016040528060008152602001600081525090565b815260200160608152602001600081526020016000815260200160008152602001600064ffffffffff168152602001600064ffffffffff168152602001600064ffffffffff1681525090565b60006020828403121561372957600080fd5b81356001600160e01b031981168114612a7457600080fd5b6001600160601b03811681146102e857600080fd5b60006020828403121561376857600080fd5b8135612a7481613741565b60005b8381101561378e578181015183820152602001613776565b50506000910152565b600081518084526137af816020860160208601613773565b601f01601f19169290920160200192915050565b6020815260006001600160601b038084511660208401528060208501511660408401525060ff604084015116606083015260608301511515608083015260018060a01b0360808401511660a083015260a083015161382c60c08401826001600160a01b03169052565b5060c083015160e080840152613846610100840182613797565b949350505050565b6001600160a01b03811681146102e857600080fd5b60ff811681146102e857600080fd5b80151581146102e857600080fd5b634e487b7160e01b600052604160045260246000fd5b60405161020081016001600160401b03811182821017156138b9576138b9613880565b60405290565b60405161010081016001600160401b03811182821017156138b9576138b9613880565b60405161012081016001600160401b03811182821017156138b9576138b9613880565b60405160a081016001600160401b03811182821017156138b9576138b9613880565b60405161016081016001600160401b03811182821017156138b9576138b9613880565b60405160e081016001600160401b03811182821017156138b9576138b9613880565b6040516101e081016001600160401b03811182821017156138b9576138b9613880565b604051601f8201601f191681016001600160401b03811182821017156139b7576139b7613880565b604052919050565b60006001600160401b038211156139d8576139d8613880565b50601f01601f191660200190565b600082601f8301126139f757600080fd5b8135613a0a613a05826139bf565b61398f565b818152846020838601011115613a1f57600080fd5b816020850160208301376000918101602001919091529392505050565b60008060008060008060c08789031215613a5557600080fd5b8635613a608161384e565b95506020870135613a7081613741565b94506040870135613a8081613863565b93506060870135613a9081613872565b92506080870135613aa08161384e565b915060a08701356001600160401b03811115613abb57600080fd5b613ac789828a016139e6565b9150509295509295509295565b600060208284031215613ae657600080fd5b81356001600160401b03811115613afc57600080fd5b613846848285016139e6565b60008060408385031215613b1b57600080fd5b8235613b268161384e565b915060208301356001600160401b03811115613b4157600080fd5b613b4d858286016139e6565b9150509250929050565b64ffffffffff811681146102e857600080fd5b60008060408385031215613b7d57600080fd5b8235613b8881613741565b91506020830135613b9881613b57565b809150509250929050565b60008060408385031215613bb657600080fd5b50508035926020909101359150565b600080600060608486031215613bda57600080fd5b8335613be581613741565b92506020840135613bf581613872565b91506040840135613c0581613b57565b809150509250925092565b600060208284031215613c2257600080fd5b8135612a748161384e565b60008060408385031215613c4057600080fd5b8235613c4b8161384e565b91506020830135613b988161384e565b600060208284031215613c6d57600080fd5b8151612a748161384e565b8051613c8381613741565b919050565b80516001600160c01b031981168114613c8357600080fd5b8051613c8381613b57565b6000613cb9613a05846139bf565b9050828152838383011115613ccd57600080fd5b612a74836020830184613773565b600082601f830112613cec57600080fd5b612a7483835160208501613cab565b805161ffff81168114613c8357600080fd5b600060208284031215613d1f57600080fd5b81516001600160401b0380821115613d3657600080fd5b908301906102008286031215613d4b57600080fd5b613d53613896565b613d5c83613c78565b8152613d6a60208401613c78565b6020820152613d7b60408401613c88565b6040820152613d8c60608401613c88565b60608201526080830151608082015260a083015160a082015260c083015160c0820152613dbb60e08401613ca0565b60e08201526101008084015183811115613dd457600080fd5b613de088828701613cdb565b8284015250506101208084015183811115613dfa57600080fd5b613e0688828701613cdb565b8284015250506101409150613e1c828401613cfb565b828201526101609150613e30828401613cfb565b82820152610180915081830151828201526101a09150613e51828401613ca0565b828201526101c09150613e65828401613ca0565b828201526101e09150613e79828401613ca0565b91810191909152949350505050565b8051613c8381613872565b600060208284031215613ea557600080fd5b8151612a7481613872565b8051613c8381613863565b600060208284031215613ecd57600080fd5b8151612a7481613863565b600060208284031215613eea57600080fd5b8151612a7481613b57565b6001600160601b038416815260606020820152613f1e6060820184516001600160601b03169052565b60006020840151613f3a60808401826001600160601b03169052565b5060408401516001600160c01b0319811660a08401525060608401516001600160c01b0319811660c084015250608084015160e083015260a0840151610100818185015260c08601519150610120828186015260e08701519250610140613fa98187018564ffffffffff169052565b82880151935061020092506101608381880152613fca610260880186613797565b9450828901519250610180605f198887030181890152613fea8685613797565b9550828a015193506101a092506140068389018561ffff169052565b9089015192506101c09061401f8883018561ffff169052565b8901516101e0888101919091529189015164ffffffffff9081169488019490945288015183166102208701528701519091166102408501525060ff841660408401529050613846565b60006020828403121561407a57600080fd5b815162ffffff81168114612a7457600080fd5b600181811c908216806140a157607f821691505b6020821081036140c157634e487b7160e01b600052602260045260246000fd5b50919050565b6000602082840312156140d957600080fd5b8151612a7481613741565b601f82111561412e57600081815260208120601f850160051c8101602086101561410b5750805b601f850160051c820191505b8181101561412a57828155600101614117565b5050505b505050565b81516001600160401b0381111561414c5761414c613880565b6141608161415a845461408d565b846140e4565b602080601f831160018114614195576000841561417d5750858301515b600019600386901b1c1916600185901b17855561412a565b600085815260208120601f198616915b828110156141c4578886015182559484019460019091019084016141a5565b50858210156141e25787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6001600160401b03811681146102e857600080fd5b8051613c83816141f2565b60006020828403121561422457600080fd5b8151612a74816141f2565b60006020828403121561424157600080fd5b5051919050565b8051613c838161384e565b60006040828403121561426557600080fd5b604051604081018181106001600160401b038211171561428757614287613880565b604052825181526020928301519281019290925250919050565b600061014082840312156142b457600080fd5b6142bc6138bf565b6142c583614248565b81526142d360208401614248565b60208201526142e460408401613c78565b60408201526142f560608401613c78565b60608201526143078460808501614253565b60808201526143198460c08501614253565b60a082015261432b6101008401613e88565b60c082015261433d6101208401614248565b60e08201529392505050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561155757611557614349565b60006020828403121561438457600080fd5b81516001600160401b038082111561439b57600080fd5b9083019061014082860312156143b057600080fd5b6143b86138e2565b6143c183613c78565b81526143d08660208501614253565b60208201526060830151828111156143e757600080fd5b6143f387828601613cdb565b6040830152506080830151606082015260a0830151608082015260c083015160a082015261442360e08401613ca0565b60c08201526101009150614438828401613ca0565b60e0820152613e796101208401613ca0565b60006020828403121561445c57600080fd5b81516001600160401b038082111561447357600080fd5b9083019060a0828603121561448757600080fd5b61448f613905565b82518281111561449e57600080fd5b8301601f810187136144af57600080fd5b6144be87825160208401613cab565b8252506144cd60208401614248565b60208201526144de60408401614248565b60408201526144ef60608401614248565b606082015260808301518281111561450657600080fd5b61451287828601613cdb565b60808301525095945050505050565b60006101c0828403121561453457600080fd5b61453c613927565b61454583613c78565b815261455360208401614207565b60208201526040830151604082015261456e60608401613e88565b606082015261457f60808401613e88565b608082015261459060a08401613e88565b60a082015260c083015160c082015260e083015160e08201526101006145b885828601614253565b908201526101406145cb85858301614253565b6101208301526145df856101808601614253565b908201529392505050565b6000602082840312156145fc57600080fd5b81516001600160401b038082111561461357600080fd5b9083019060e0828603121561462757600080fd5b61462f61394a565b61463883613c78565b815261464660208401613c78565b602082015261465760408401613eb0565b604082015261466860608401613e88565b606082015261467960808401614248565b608082015261468a60a08401614248565b60a082015260c0830151828111156146a157600080fd5b6146ad87828601613cdb565b60c08301525095945050505050565b60006001600160601b03808816835260a060208401526146df60a0840188613797565b818716604085015283810360608501526146f98187613797565b925050508260808301529695505050505050565b8181038181111561155757611557614349565b6000806040838503121561473357600080fd5b825161473e8161384e565b6020840151909250613b988161384e565b60006001600160601b03808a1683526001600160401b0360c01b808a16602085015288604085015264ffffffffff8816606085015260e0608085015261479860e0850188613797565b9590911660a08401529290921660c0909101525095945050505050565b60006101e082840312156147c857600080fd5b6147d061396c565b825181526020808401519082015260408084015190820152606080840151908201526080808401519082015260a0808401519082015260c0808401519082015260e08084015190820152610100808401519082015261012080840151908201526101408084015190820152610160808401519082015261018080840151908201526101a080840151908201526101c0928301519281019290925250919050565b6001600160a01b039384168152919092166020820152604081019190915260600190565b600061010082840312156148a757600080fd5b60405160c081018181106001600160401b03821117156148c9576148c9613880565b60405282516148d781613741565b815260208301516148e78161384e565b60208201526148f98460408501614253565b604082015261490b8460808501614253565b606082015260c083015161491e8161384e565b608082015260e0929092015160a083015250919050565b634e487b7160e01b600052601260045260246000fdfe07ebcf49758b6ed3af50fa146bec0abe157c0218fe65dc0874c286e9d5da4f00f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a26469706673582212209f6d9a8f6bb2051f0e9669f043c39d29bafb5c9006a734d3d506674b20f52da464736f6c63430008140033",
|
975
845
|
"linkReferences": {
|
976
|
-
"contracts/types/Blocknumber.sol": {
|
977
|
-
"BlocknumberLib": [
|
978
|
-
{
|
979
|
-
"length": 20,
|
980
|
-
"start": 5123
|
981
|
-
}
|
982
|
-
]
|
983
|
-
},
|
984
|
-
"contracts/types/Fee.sol": {
|
985
|
-
"FeeLib": [
|
986
|
-
{
|
987
|
-
"length": 20,
|
988
|
-
"start": 11809
|
989
|
-
},
|
990
|
-
{
|
991
|
-
"length": 20,
|
992
|
-
"start": 12072
|
993
|
-
},
|
994
|
-
{
|
995
|
-
"length": 20,
|
996
|
-
"start": 13746
|
997
|
-
},
|
998
|
-
{
|
999
|
-
"length": 20,
|
1000
|
-
"start": 14009
|
1001
|
-
},
|
1002
|
-
{
|
1003
|
-
"length": 20,
|
1004
|
-
"start": 14375
|
1005
|
-
},
|
1006
|
-
{
|
1007
|
-
"length": 20,
|
1008
|
-
"start": 14515
|
1009
|
-
}
|
1010
|
-
]
|
1011
|
-
},
|
1012
846
|
"contracts/types/NftId.sol": {
|
1013
847
|
"NftIdLib": [
|
1014
848
|
{
|
1015
849
|
"length": 20,
|
1016
|
-
"start":
|
850
|
+
"start": 3500
|
1017
851
|
},
|
1018
852
|
{
|
1019
853
|
"length": 20,
|
1020
|
-
"start":
|
854
|
+
"start": 7686
|
1021
855
|
}
|
1022
856
|
]
|
1023
857
|
},
|
@@ -1025,47 +859,43 @@
|
|
1025
859
|
"TimestampLib": [
|
1026
860
|
{
|
1027
861
|
"length": 20,
|
1028
|
-
"start":
|
862
|
+
"start": 1575
|
1029
863
|
},
|
1030
864
|
{
|
1031
865
|
"length": 20,
|
1032
|
-
"start":
|
866
|
+
"start": 1924
|
1033
867
|
},
|
1034
868
|
{
|
1035
869
|
"length": 20,
|
1036
|
-
"start":
|
870
|
+
"start": 2203
|
1037
871
|
},
|
1038
872
|
{
|
1039
873
|
"length": 20,
|
1040
|
-
"start":
|
874
|
+
"start": 2352
|
1041
875
|
},
|
1042
876
|
{
|
1043
877
|
"length": 20,
|
1044
|
-
"start":
|
878
|
+
"start": 2529
|
1045
879
|
},
|
1046
880
|
{
|
1047
881
|
"length": 20,
|
1048
|
-
"start":
|
882
|
+
"start": 5080
|
1049
883
|
},
|
1050
884
|
{
|
1051
885
|
"length": 20,
|
1052
|
-
"start":
|
886
|
+
"start": 5303
|
1053
887
|
},
|
1054
888
|
{
|
1055
889
|
"length": 20,
|
1056
|
-
"start":
|
890
|
+
"start": 6485
|
1057
891
|
},
|
1058
892
|
{
|
1059
893
|
"length": 20,
|
1060
|
-
"start":
|
894
|
+
"start": 8644
|
1061
895
|
},
|
1062
896
|
{
|
1063
897
|
"length": 20,
|
1064
|
-
"start":
|
1065
|
-
},
|
1066
|
-
{
|
1067
|
-
"length": 20,
|
1068
|
-
"start": 14942
|
898
|
+
"start": 8782
|
1069
899
|
}
|
1070
900
|
]
|
1071
901
|
},
|
@@ -1073,11 +903,11 @@
|
|
1073
903
|
"UFixedLib": [
|
1074
904
|
{
|
1075
905
|
"length": 20,
|
1076
|
-
"start":
|
906
|
+
"start": 5461
|
1077
907
|
},
|
1078
908
|
{
|
1079
909
|
"length": 20,
|
1080
|
-
"start":
|
910
|
+
"start": 5594
|
1081
911
|
}
|
1082
912
|
]
|
1083
913
|
},
|
@@ -1085,65 +915,31 @@
|
|
1085
915
|
"VersionLib": [
|
1086
916
|
{
|
1087
917
|
"length": 20,
|
1088
|
-
"start":
|
918
|
+
"start": 2936
|
1089
919
|
},
|
1090
920
|
{
|
1091
921
|
"length": 20,
|
1092
|
-
"start":
|
1093
|
-
}
|
922
|
+
"start": 4148
|
923
|
+
}
|
924
|
+
],
|
925
|
+
"VersionPartLib": [
|
1094
926
|
{
|
1095
927
|
"length": 20,
|
1096
|
-
"start":
|
928
|
+
"start": 9109
|
1097
929
|
}
|
1098
930
|
]
|
1099
931
|
}
|
1100
932
|
},
|
1101
933
|
"deployedLinkReferences": {
|
1102
|
-
"contracts/types/Blocknumber.sol": {
|
1103
|
-
"BlocknumberLib": [
|
1104
|
-
{
|
1105
|
-
"length": 20,
|
1106
|
-
"start": 4809
|
1107
|
-
}
|
1108
|
-
]
|
1109
|
-
},
|
1110
|
-
"contracts/types/Fee.sol": {
|
1111
|
-
"FeeLib": [
|
1112
|
-
{
|
1113
|
-
"length": 20,
|
1114
|
-
"start": 11495
|
1115
|
-
},
|
1116
|
-
{
|
1117
|
-
"length": 20,
|
1118
|
-
"start": 11758
|
1119
|
-
},
|
1120
|
-
{
|
1121
|
-
"length": 20,
|
1122
|
-
"start": 13432
|
1123
|
-
},
|
1124
|
-
{
|
1125
|
-
"length": 20,
|
1126
|
-
"start": 13695
|
1127
|
-
},
|
1128
|
-
{
|
1129
|
-
"length": 20,
|
1130
|
-
"start": 14061
|
1131
|
-
},
|
1132
|
-
{
|
1133
|
-
"length": 20,
|
1134
|
-
"start": 14201
|
1135
|
-
}
|
1136
|
-
]
|
1137
|
-
},
|
1138
934
|
"contracts/types/NftId.sol": {
|
1139
935
|
"NftIdLib": [
|
1140
936
|
{
|
1141
937
|
"length": 20,
|
1142
|
-
"start":
|
938
|
+
"start": 3270
|
1143
939
|
},
|
1144
940
|
{
|
1145
941
|
"length": 20,
|
1146
|
-
"start":
|
942
|
+
"start": 7456
|
1147
943
|
}
|
1148
944
|
]
|
1149
945
|
},
|
@@ -1151,47 +947,43 @@
|
|
1151
947
|
"TimestampLib": [
|
1152
948
|
{
|
1153
949
|
"length": 20,
|
1154
|
-
"start":
|
1155
|
-
},
|
1156
|
-
{
|
1157
|
-
"length": 20,
|
1158
|
-
"start": 2031
|
950
|
+
"start": 1345
|
1159
951
|
},
|
1160
952
|
{
|
1161
953
|
"length": 20,
|
1162
|
-
"start":
|
954
|
+
"start": 1694
|
1163
955
|
},
|
1164
956
|
{
|
1165
957
|
"length": 20,
|
1166
|
-
"start":
|
958
|
+
"start": 1973
|
1167
959
|
},
|
1168
960
|
{
|
1169
961
|
"length": 20,
|
1170
|
-
"start":
|
962
|
+
"start": 2122
|
1171
963
|
},
|
1172
964
|
{
|
1173
965
|
"length": 20,
|
1174
|
-
"start":
|
966
|
+
"start": 2299
|
1175
967
|
},
|
1176
968
|
{
|
1177
969
|
"length": 20,
|
1178
|
-
"start":
|
970
|
+
"start": 4850
|
1179
971
|
},
|
1180
972
|
{
|
1181
973
|
"length": 20,
|
1182
|
-
"start":
|
974
|
+
"start": 5073
|
1183
975
|
},
|
1184
976
|
{
|
1185
977
|
"length": 20,
|
1186
|
-
"start":
|
978
|
+
"start": 6255
|
1187
979
|
},
|
1188
980
|
{
|
1189
981
|
"length": 20,
|
1190
|
-
"start":
|
982
|
+
"start": 8414
|
1191
983
|
},
|
1192
984
|
{
|
1193
985
|
"length": 20,
|
1194
|
-
"start":
|
986
|
+
"start": 8552
|
1195
987
|
}
|
1196
988
|
]
|
1197
989
|
},
|
@@ -1199,11 +991,11 @@
|
|
1199
991
|
"UFixedLib": [
|
1200
992
|
{
|
1201
993
|
"length": 20,
|
1202
|
-
"start":
|
994
|
+
"start": 5231
|
1203
995
|
},
|
1204
996
|
{
|
1205
997
|
"length": 20,
|
1206
|
-
"start":
|
998
|
+
"start": 5364
|
1207
999
|
}
|
1208
1000
|
]
|
1209
1001
|
},
|
@@ -1211,15 +1003,17 @@
|
|
1211
1003
|
"VersionLib": [
|
1212
1004
|
{
|
1213
1005
|
"length": 20,
|
1214
|
-
"start":
|
1006
|
+
"start": 2706
|
1215
1007
|
},
|
1216
1008
|
{
|
1217
1009
|
"length": 20,
|
1218
|
-
"start":
|
1219
|
-
}
|
1010
|
+
"start": 3918
|
1011
|
+
}
|
1012
|
+
],
|
1013
|
+
"VersionPartLib": [
|
1220
1014
|
{
|
1221
1015
|
"length": 20,
|
1222
|
-
"start":
|
1016
|
+
"start": 8879
|
1223
1017
|
}
|
1224
1018
|
]
|
1225
1019
|
}
|