@etherisc/gif-next 3.0.0-c46a89a-335 → 3.0.0-cdd3800-286
Sign up to get free protection for your applications and to get access to all the features.
- package/README.md +1 -0
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +1 -1
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +72 -139
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +116 -110
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +1 -1
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.json +33 -72
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +70 -105
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +150 -126
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +65 -20
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +55 -31
- package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +10 -20
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +1 -1
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +1 -1
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +42 -18
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +75 -126
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +65 -41
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +57 -72
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +139 -198
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +150 -140
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +56 -84
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +32 -71
- package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +104 -166
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +65 -41
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +138 -200
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +65 -41
- package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +1 -1
- package/artifacts/contracts/examples/flight/FlightLib.sol/FlightLib.dbg.json +1 -1
- package/artifacts/contracts/examples/flight/FlightLib.sol/FlightLib.json +251 -56
- package/artifacts/contracts/examples/flight/FlightMessageVerifier.sol/FlightMessageVerifier.dbg.json +1 -1
- package/artifacts/contracts/examples/flight/FlightOracle.sol/FlightOracle.dbg.json +1 -1
- package/artifacts/contracts/examples/flight/FlightOracle.sol/FlightOracle.json +217 -167
- package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.json +112 -41
- package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.dbg.json +1 -1
- package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.json +108 -170
- package/artifacts/contracts/examples/flight/FlightPoolAuthorization.sol/FlightPoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/flight/FlightPoolAuthorization.sol/FlightPoolAuthorization.json +65 -41
- package/artifacts/contracts/examples/flight/FlightProduct.sol/FlightProduct.dbg.json +1 -1
- package/artifacts/contracts/examples/flight/FlightProduct.sol/FlightProduct.json +335 -805
- package/artifacts/contracts/examples/flight/FlightProductAuthorization.sol/FlightProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/flight/FlightProductAuthorization.sol/FlightProductAuthorization.json +113 -42
- package/artifacts/contracts/examples/flight/FlightProductManager.sol/FlightProductManager.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightProductManager.sol/FlightProductManager.json +711 -0
- package/artifacts/contracts/examples/flight/FlightUSD.sol/FlightUSD.dbg.json +1 -1
- package/artifacts/contracts/examples/flight/originalV1.sol/FlightDelayChainlink.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +102 -159
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +65 -41
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +106 -163
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +120 -177
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +65 -41
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +114 -171
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +65 -41
- package/artifacts/contracts/instance/BaseStore.sol/BaseStore.dbg.json +1 -1
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +1 -1
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +54 -49
- package/artifacts/contracts/instance/IBaseStore.sol/IBaseStore.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.json +25 -77
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +44 -83
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +50 -144
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +151 -185
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +67 -43
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +95 -36
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +75 -138
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +112 -104
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +2 -2
- package/artifacts/contracts/instance/ProductStore.sol/ProductStore.dbg.json +1 -1
- package/artifacts/contracts/instance/ProductStore.sol/ProductStore.json +2 -2
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +1 -1
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +58 -53
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +2 -2
- package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
- package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.json +1 -1
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +2 -2
- package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +2 -2
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +8 -3
- package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +2 -2
- package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
- package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +81 -132
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +65 -41
- package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +66 -94
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +83 -80
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +67 -82
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +148 -149
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +129 -111
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +73 -88
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +65 -41
- package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleService.sol/BundleService.json +117 -176
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +139 -129
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +32 -71
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +72 -100
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +86 -94
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
- package/artifacts/contracts/pool/Pool.sol/Pool.json +73 -88
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +247 -24
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +165 -233
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +130 -140
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +63 -138
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +112 -110
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +57 -72
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +65 -41
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +115 -182
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +138 -132
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +32 -71
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +32 -71
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +64 -82
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +43 -82
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +56 -84
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +1 -1
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.json +36 -75
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +127 -173
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +20 -12
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +128 -122
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +94 -161
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +122 -116
- package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
- package/artifacts/contracts/product/Product.sol/Product.json +57 -72
- package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +1 -1
- package/artifacts/contracts/product/RiskService.sol/RiskService.json +63 -146
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +107 -109
- 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 +56 -155
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +216 -202
- package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +1 -1
- package/artifacts/contracts/registry/IRelease.sol/IRelease.json +15 -1
- 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 +96 -314
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +146 -179
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +77 -57
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +244 -285
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +110 -115
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +154 -175
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +2 -2
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +187 -135
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +56 -32
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +29 -13
- package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
- package/artifacts/contracts/shared/Component.sol/Component.json +39 -84
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +320 -164
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +141 -115
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +1 -1
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +169 -421
- package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +4 -0
- package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.json +24 -0
- package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +1 -1
- package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +4 -0
- package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.json +40 -0
- package/artifacts/contracts/shared/IAuthorizedComponent.sol/IAuthorizedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IAuthorizedComponent.sol/IAuthorizedComponent.json +38 -96
- package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponent.sol/IComponent.json +38 -96
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +226 -82
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +56 -84
- package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +28 -1
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +12 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +25 -77
- package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.json +12 -1
- package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
- package/artifacts/contracts/shared/IService.sol/IService.json +32 -71
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +1 -1
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +57 -72
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
- package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +1 -1
- package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +2 -2
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +34 -15
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +14 -3
- package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
- package/artifacts/contracts/shared/Registerable.sol/Registerable.json +24 -76
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +37 -3
- package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
- package/artifacts/contracts/shared/Service.sol/Service.json +31 -70
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +29 -42
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +17 -30
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +34 -34
- package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
- package/artifacts/contracts/staking/IStaking.sol/IStaking.json +56 -101
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +36 -75
- package/artifacts/contracts/staking/ITargetLimitHandler.sol/ITargetLimitHandler.dbg.json +1 -1
- package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
- package/artifacts/contracts/staking/Staking.sol/Staking.json +109 -170
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +31 -26
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +124 -112
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +22 -5
- package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingService.sol/StakingService.json +65 -132
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +111 -105
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +204 -212
- package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.json +19 -27
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +16 -16
- package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
- package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
- package/artifacts/contracts/type/ChainId.sol/ChainIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/ChainId.sol/ChainIdLib.json +2 -2
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +2 -2
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +2 -2
- package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
- package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
- package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
- package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +1 -1
- package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +2 -2
- package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/NftId.sol/NftIdLib.json +2 -2
- package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
- package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +6 -6
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +2 -2
- package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
- package/artifacts/contracts/type/Referral.sol/ReferralLib.json +2 -2
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +2 -2
- package/artifacts/contracts/type/RequestIdSet.sol/LibRequestIdSet.dbg.json +1 -1
- package/artifacts/contracts/type/RequestIdSet.sol/LibRequestIdSet.json +2 -2
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +2 -2
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +4 -4
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
- package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
- package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
- package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionLib.json +10 -10
- package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionPartLib.json +6 -19
- package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +4 -0
- package/artifacts/contracts/upgradeability/{IUpgradeable.sol/IUpgradeable.json → IVersionable.sol/IVersionable.json} +4 -54
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +86 -63
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +4 -0
- package/artifacts/contracts/upgradeability/{Upgradeable.sol/Upgradeable.json → Versionable.sol/Versionable.json} +4 -54
- package/contracts/accounting/AccountingService.sol +6 -5
- package/contracts/accounting/AccountingServiceManager.sol +6 -4
- package/contracts/accounting/IAccountingService.sol +1 -1
- package/contracts/authorization/AccessAdmin.sol +44 -45
- package/contracts/authorization/AccessAdminLib.sol +27 -13
- package/contracts/authorization/AccessManagerCloneable.sol +48 -24
- package/contracts/authorization/Authorization.sol +2 -2
- package/contracts/authorization/IAccessAdmin.sol +3 -3
- package/contracts/authorization/IServiceAuthorization.sol +1 -1
- package/contracts/authorization/ServiceAuthorization.sol +4 -4
- package/contracts/distribution/BasicDistribution.sol +2 -0
- package/contracts/distribution/BasicDistributionAuthorization.sol +4 -5
- package/contracts/distribution/Distribution.sol +2 -0
- package/contracts/distribution/DistributionService.sol +20 -24
- package/contracts/distribution/DistributionServiceManager.sol +6 -4
- package/contracts/examples/fire/FirePool.sol +4 -0
- package/contracts/examples/fire/FireProduct.sol +4 -0
- package/contracts/examples/flight/FlightLib.sol +90 -75
- package/contracts/examples/flight/FlightOracle.sol +36 -2
- package/contracts/examples/flight/FlightOracleAuthorization.sol +24 -5
- package/contracts/examples/flight/FlightPool.sol +4 -0
- package/contracts/examples/flight/FlightProduct.sol +225 -216
- package/contracts/examples/flight/FlightProductAuthorization.sol +35 -10
- package/contracts/examples/flight/FlightProductManager.sol +49 -0
- package/contracts/examples/unpermissioned/SimpleDistribution.sol +4 -0
- package/contracts/examples/unpermissioned/SimpleOracle.sol +4 -0
- package/contracts/examples/unpermissioned/SimplePool.sol +4 -0
- package/contracts/examples/unpermissioned/SimpleProduct.sol +4 -0
- package/contracts/instance/Instance.sol +11 -7
- package/contracts/instance/InstanceAdmin.sol +17 -11
- package/contracts/instance/InstanceAuthorizationV3.sol +2 -4
- package/contracts/instance/InstanceReader.sol +31 -19
- package/contracts/instance/InstanceService.sol +20 -18
- package/contracts/instance/InstanceServiceManager.sol +6 -4
- package/contracts/instance/base/Cloneable.sol +10 -4
- package/contracts/instance/base/ObjectSet.sol +2 -2
- package/contracts/oracle/BasicOracle.sol +3 -0
- package/contracts/oracle/BasicOracleAuthorization.sol +1 -3
- package/contracts/oracle/IOracleService.sol +4 -0
- package/contracts/oracle/Oracle.sol +6 -5
- package/contracts/oracle/OracleService.sol +67 -37
- package/contracts/oracle/OracleServiceManager.sol +6 -4
- package/contracts/pool/BasicPool.sol +4 -2
- package/contracts/pool/BasicPoolAuthorization.sol +4 -5
- package/contracts/pool/BundleService.sol +19 -25
- package/contracts/pool/BundleServiceManager.sol +7 -5
- package/contracts/pool/IPoolService.sol +6 -5
- package/contracts/pool/Pool.sol +3 -1
- package/contracts/pool/PoolLib.sol +102 -5
- package/contracts/pool/PoolService.sol +101 -67
- package/contracts/pool/PoolServiceManager.sol +6 -4
- package/contracts/product/ApplicationService.sol +34 -13
- package/contracts/product/ApplicationServiceManager.sol +6 -4
- package/contracts/product/BasicProduct.sol +2 -0
- package/contracts/product/BasicProductAuthorization.sol +4 -5
- package/contracts/product/ClaimService.sol +34 -10
- package/contracts/product/ClaimServiceManager.sol +7 -5
- package/contracts/product/IPolicyService.sol +1 -0
- package/contracts/product/PolicyService.sol +57 -44
- package/contracts/product/PolicyServiceLib.sol +5 -3
- package/contracts/product/PolicyServiceManager.sol +6 -4
- package/contracts/product/PricingService.sol +8 -7
- package/contracts/product/PricingServiceManager.sol +6 -4
- package/contracts/product/Product.sol +2 -0
- package/contracts/product/RiskService.sol +40 -8
- package/contracts/product/RiskServiceManager.sol +6 -4
- package/contracts/registry/IRegistry.sol +14 -20
- package/contracts/registry/IRegistryService.sol +14 -10
- package/contracts/registry/IRelease.sol +3 -0
- package/contracts/registry/Registry.sol +78 -124
- package/contracts/registry/RegistryAdmin.sol +29 -12
- package/contracts/registry/RegistryAuthorization.sol +3 -4
- package/contracts/registry/RegistryService.sol +82 -99
- package/contracts/registry/RegistryServiceManager.sol +11 -4
- package/contracts/registry/ReleaseAdmin.sol +23 -9
- package/contracts/registry/ReleaseRegistry.sol +74 -64
- package/contracts/registry/ServiceAuthorizationV3.sol +3 -4
- package/contracts/registry/TokenRegistry.sol +15 -6
- package/contracts/shared/Component.sol +22 -27
- package/contracts/shared/ComponentService.sol +130 -45
- package/contracts/shared/ComponentServiceManager.sol +7 -5
- package/contracts/shared/ContractLib.sol +93 -359
- package/contracts/shared/IComponent.sol +3 -5
- package/contracts/shared/IComponentService.sol +14 -0
- package/contracts/shared/IInstanceLinkedComponent.sol +7 -3
- package/contracts/shared/INftOwnable.sol +2 -0
- package/contracts/shared/IRegisterable.sol +3 -14
- package/contracts/shared/IRegistryLinked.sol +3 -1
- package/contracts/shared/IService.sol +2 -2
- package/contracts/shared/InstanceLinkedComponent.sol +64 -29
- package/contracts/shared/NftOwnable.sol +22 -9
- package/contracts/shared/PolicyHolder.sol +4 -2
- package/contracts/shared/Registerable.sol +20 -37
- package/contracts/shared/RegistryLinked.sol +23 -4
- package/contracts/shared/Service.sol +9 -8
- package/contracts/shared/TokenHandler.sol +1 -4
- package/contracts/staking/IStaking.sol +2 -2
- package/contracts/staking/Staking.sol +33 -28
- package/contracts/staking/StakingLib.sol +1 -3
- package/contracts/staking/StakingManager.sol +6 -3
- package/contracts/staking/StakingReader.sol +17 -9
- package/contracts/staking/StakingService.sol +13 -16
- package/contracts/staking/StakingServiceManager.sol +8 -4
- package/contracts/staking/StakingStore.sol +8 -8
- package/contracts/staking/TargetHandler.sol +5 -4
- package/contracts/type/Version.sol +16 -15
- package/contracts/upgradeability/{IUpgradeable.sol → IVersionable.sol} +19 -13
- package/contracts/upgradeability/ProxyManager.sol +54 -46
- package/contracts/upgradeability/{Upgradeable.sol → Versionable.sol} +14 -25
- package/package.json +1 -1
- package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +0 -4
- package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +0 -74
- package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +0 -4
- package/artifacts/contracts/shared/Versionable.sol/Versionable.json +0 -74
- package/artifacts/contracts/upgradeability/IUpgradeable.sol/IUpgradeable.dbg.json +0 -4
- package/artifacts/contracts/upgradeability/Upgradeable.sol/Upgradeable.dbg.json +0 -4
- package/contracts/shared/IVersionable.sol +0 -19
- package/contracts/shared/Versionable.sol +0 -47
@@ -5,6 +5,11 @@
|
|
5
5
|
"abi": [
|
6
6
|
{
|
7
7
|
"inputs": [
|
8
|
+
{
|
9
|
+
"internalType": "address",
|
10
|
+
"name": "registry",
|
11
|
+
"type": "address"
|
12
|
+
},
|
8
13
|
{
|
9
14
|
"internalType": "NftId",
|
10
15
|
"name": "productNftId",
|
@@ -115,24 +120,35 @@
|
|
115
120
|
"type": "error"
|
116
121
|
},
|
117
122
|
{
|
118
|
-
"inputs": [
|
119
|
-
|
123
|
+
"inputs": [
|
124
|
+
{
|
125
|
+
"internalType": "NftId",
|
126
|
+
"name": "nftId",
|
127
|
+
"type": "uint96"
|
128
|
+
},
|
129
|
+
{
|
130
|
+
"internalType": "ObjectType",
|
131
|
+
"name": "objectType",
|
132
|
+
"type": "uint8"
|
133
|
+
}
|
134
|
+
],
|
135
|
+
"name": "ErrorInstanceLinkedComponentNotProduct",
|
120
136
|
"type": "error"
|
121
137
|
},
|
122
138
|
{
|
123
139
|
"inputs": [
|
124
140
|
{
|
125
|
-
"internalType": "
|
126
|
-
"name": "
|
141
|
+
"internalType": "ObjectType",
|
142
|
+
"name": "requiredType",
|
127
143
|
"type": "uint8"
|
128
144
|
},
|
129
145
|
{
|
130
|
-
"internalType": "
|
131
|
-
"name": "
|
146
|
+
"internalType": "ObjectType",
|
147
|
+
"name": "objectType",
|
132
148
|
"type": "uint8"
|
133
149
|
}
|
134
150
|
],
|
135
|
-
"name": "
|
151
|
+
"name": "ErrorInstanceLinkedComponentTypeMismatch",
|
136
152
|
"type": "error"
|
137
153
|
},
|
138
154
|
{
|
@@ -162,116 +178,85 @@
|
|
162
178
|
"name": "ErrorNftOwnableInitialOwnerZero",
|
163
179
|
"type": "error"
|
164
180
|
},
|
165
|
-
{
|
166
|
-
"inputs": [
|
167
|
-
{
|
168
|
-
"internalType": "address",
|
169
|
-
"name": "account",
|
170
|
-
"type": "address"
|
171
|
-
}
|
172
|
-
],
|
173
|
-
"name": "ErrorNftOwnableNotOwner",
|
174
|
-
"type": "error"
|
175
|
-
},
|
176
181
|
{
|
177
182
|
"inputs": [
|
178
183
|
{
|
179
184
|
"internalType": "NftId",
|
180
|
-
"name": "
|
185
|
+
"name": "nftId",
|
181
186
|
"type": "uint96"
|
187
|
+
},
|
188
|
+
{
|
189
|
+
"internalType": "ObjectType",
|
190
|
+
"name": "expectedObjectType",
|
191
|
+
"type": "uint8"
|
182
192
|
}
|
183
193
|
],
|
184
|
-
"name": "
|
194
|
+
"name": "ErrorNftOwnableInvalidType",
|
185
195
|
"type": "error"
|
186
196
|
},
|
187
197
|
{
|
188
198
|
"inputs": [
|
189
|
-
{
|
190
|
-
"internalType": "NftId",
|
191
|
-
"name": "bundleNftId",
|
192
|
-
"type": "uint96"
|
193
|
-
},
|
194
199
|
{
|
195
200
|
"internalType": "address",
|
196
|
-
"name": "
|
201
|
+
"name": "account",
|
197
202
|
"type": "address"
|
198
203
|
}
|
199
204
|
],
|
200
|
-
"name": "
|
205
|
+
"name": "ErrorNftOwnableNotOwner",
|
201
206
|
"type": "error"
|
202
207
|
},
|
203
208
|
{
|
204
209
|
"inputs": [
|
205
210
|
{
|
206
211
|
"internalType": "address",
|
207
|
-
"name": "
|
212
|
+
"name": "registryAddress",
|
208
213
|
"type": "address"
|
209
214
|
}
|
210
215
|
],
|
211
|
-
"name": "
|
216
|
+
"name": "ErrorNotRegistry",
|
212
217
|
"type": "error"
|
213
218
|
},
|
214
219
|
{
|
215
220
|
"inputs": [
|
216
221
|
{
|
217
222
|
"internalType": "NftId",
|
218
|
-
"name": "
|
223
|
+
"name": "applicationNftId",
|
219
224
|
"type": "uint96"
|
220
|
-
},
|
221
|
-
{
|
222
|
-
"internalType": "ObjectType",
|
223
|
-
"name": "expectedType",
|
224
|
-
"type": "uint8"
|
225
|
-
},
|
226
|
-
{
|
227
|
-
"internalType": "VersionPart",
|
228
|
-
"name": "expectedRelease",
|
229
|
-
"type": "uint8"
|
230
225
|
}
|
231
226
|
],
|
232
|
-
"name": "
|
233
|
-
"type": "error"
|
234
|
-
},
|
235
|
-
{
|
236
|
-
"inputs": [],
|
237
|
-
"name": "ErrorRegisterableNotActive",
|
227
|
+
"name": "ErrorPoolApplicationBundleMismatch",
|
238
228
|
"type": "error"
|
239
229
|
},
|
240
230
|
{
|
241
231
|
"inputs": [
|
242
232
|
{
|
243
|
-
"internalType": "
|
244
|
-
"name": "
|
245
|
-
"type": "
|
233
|
+
"internalType": "NftId",
|
234
|
+
"name": "bundleNftId",
|
235
|
+
"type": "uint96"
|
246
236
|
},
|
247
237
|
{
|
248
|
-
"internalType": "
|
249
|
-
"name": "
|
250
|
-
"type": "
|
238
|
+
"internalType": "address",
|
239
|
+
"name": "caller",
|
240
|
+
"type": "address"
|
251
241
|
}
|
252
242
|
],
|
253
|
-
"name": "
|
243
|
+
"name": "ErrorPoolNotBundleOwner",
|
254
244
|
"type": "error"
|
255
245
|
},
|
256
246
|
{
|
257
247
|
"inputs": [
|
258
248
|
{
|
259
249
|
"internalType": "address",
|
260
|
-
"name": "
|
250
|
+
"name": "caller",
|
261
251
|
"type": "address"
|
262
|
-
},
|
263
|
-
{
|
264
|
-
"internalType": "VersionPart",
|
265
|
-
"name": "expected",
|
266
|
-
"type": "uint8"
|
267
|
-
},
|
268
|
-
{
|
269
|
-
"internalType": "VersionPart",
|
270
|
-
"name": "actual",
|
271
|
-
"type": "uint8"
|
272
252
|
}
|
273
253
|
],
|
274
|
-
"name": "
|
254
|
+
"name": "ErrorPoolNotPoolService",
|
255
|
+
"type": "error"
|
256
|
+
},
|
257
|
+
{
|
258
|
+
"inputs": [],
|
259
|
+
"name": "ErrorRegisterableNotActive",
|
275
260
|
"type": "error"
|
276
261
|
},
|
277
262
|
{
|
@@ -702,19 +687,6 @@
|
|
702
687
|
"stateMutability": "view",
|
703
688
|
"type": "function"
|
704
689
|
},
|
705
|
-
{
|
706
|
-
"inputs": [],
|
707
|
-
"name": "getInitialData",
|
708
|
-
"outputs": [
|
709
|
-
{
|
710
|
-
"internalType": "bytes",
|
711
|
-
"name": "data",
|
712
|
-
"type": "bytes"
|
713
|
-
}
|
714
|
-
],
|
715
|
-
"stateMutability": "view",
|
716
|
-
"type": "function"
|
717
|
-
},
|
718
690
|
{
|
719
691
|
"inputs": [],
|
720
692
|
"name": "getInitialInfo",
|
@@ -736,11 +708,6 @@
|
|
736
708
|
"name": "objectType",
|
737
709
|
"type": "uint8"
|
738
710
|
},
|
739
|
-
{
|
740
|
-
"internalType": "VersionPart",
|
741
|
-
"name": "release",
|
742
|
-
"type": "uint8"
|
743
|
-
},
|
744
711
|
{
|
745
712
|
"internalType": "bool",
|
746
713
|
"name": "isInterceptor",
|
@@ -750,6 +717,16 @@
|
|
750
717
|
"internalType": "address",
|
751
718
|
"name": "objectAddress",
|
752
719
|
"type": "address"
|
720
|
+
},
|
721
|
+
{
|
722
|
+
"internalType": "address",
|
723
|
+
"name": "initialOwner",
|
724
|
+
"type": "address"
|
725
|
+
},
|
726
|
+
{
|
727
|
+
"internalType": "bytes",
|
728
|
+
"name": "data",
|
729
|
+
"type": "bytes"
|
753
730
|
}
|
754
731
|
],
|
755
732
|
"internalType": "struct IRegistry.ObjectInfo",
|
@@ -872,7 +849,7 @@
|
|
872
849
|
"type": "address"
|
873
850
|
}
|
874
851
|
],
|
875
|
-
"stateMutability": "
|
852
|
+
"stateMutability": "view",
|
876
853
|
"type": "function"
|
877
854
|
},
|
878
855
|
{
|
@@ -881,11 +858,11 @@
|
|
881
858
|
"outputs": [
|
882
859
|
{
|
883
860
|
"internalType": "VersionPart",
|
884
|
-
"name": "",
|
861
|
+
"name": "release",
|
885
862
|
"type": "uint8"
|
886
863
|
}
|
887
864
|
],
|
888
|
-
"stateMutability": "
|
865
|
+
"stateMutability": "view",
|
889
866
|
"type": "function"
|
890
867
|
},
|
891
868
|
{
|
@@ -920,11 +897,11 @@
|
|
920
897
|
"outputs": [
|
921
898
|
{
|
922
899
|
"internalType": "Version",
|
923
|
-
"name": "",
|
900
|
+
"name": "version",
|
924
901
|
"type": "uint24"
|
925
902
|
}
|
926
903
|
],
|
927
|
-
"stateMutability": "
|
904
|
+
"stateMutability": "view",
|
928
905
|
"type": "function"
|
929
906
|
},
|
930
907
|
{
|
@@ -966,6 +943,19 @@
|
|
966
943
|
"stateMutability": "view",
|
967
944
|
"type": "function"
|
968
945
|
},
|
946
|
+
{
|
947
|
+
"inputs": [],
|
948
|
+
"name": "isNftInterceptor",
|
949
|
+
"outputs": [
|
950
|
+
{
|
951
|
+
"internalType": "bool",
|
952
|
+
"name": "isInterceptor",
|
953
|
+
"type": "bool"
|
954
|
+
}
|
955
|
+
],
|
956
|
+
"stateMutability": "view",
|
957
|
+
"type": "function"
|
958
|
+
},
|
969
959
|
{
|
970
960
|
"inputs": [],
|
971
961
|
"name": "isRegistered",
|
@@ -1311,14 +1301,18 @@
|
|
1311
1301
|
"type": "function"
|
1312
1302
|
}
|
1313
1303
|
],
|
1314
|
-
"bytecode": "0x608060405234801561000f575f80fd5b50604051614cb7380380614cb783398101604081905261002e91611002565b5f3390506101cd84846040518060e0016040528073__$3bac17678db7ae928afa209f2f44deec9c$__636ac5db196040518163ffffffff1660e01b8152600401602060405180830381865af4158015610089573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100ad91906110b7565b6001600160601b0316815260200173__$bf7bc340cbb9229ef1de2c568356e67902$__63901717d16040518163ffffffff1660e01b8152600401602060405180830381865af4158015610102573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061012691906110d9565b6001600160a01b0316815260200173__$bf7bc340cbb9229ef1de2c568356e67902$__63901717d16040518163ffffffff1660e01b8152600401602060405180830381865af415801561017b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061019f91906110d9565b6001600160a01b031681525f60208201819052604082018190526060820181905260809091015285856101d6565b5050505061134a565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff1615906001600160401b03165f8115801561021f5750825b90505f826001600160401b0316600114801561023a5750303b155b905081158015610248575080155b156102665760405163f92ee8a960e01b815260040160405180910390fd5b84546001600160401b0319166001178555831561029457845460ff60401b1916680100000000000000001785555b6102a18a8a8a8a8a6102f3565b83156102e757845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050505050565b6102fb61030f565b610308858585858561035f565b5050505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005468010000000000000000900460ff1661035d57604051631afcd79f60e31b815260040160405180910390fd5b565b61036761030f565b61037b8585600f60608701518690866104f4565b5f7f25e3e51823fbfffb988e0a2744bb93722d9f3e906c07cc0a9e77884c46c58300845160208601516001600160601b039091166c010000000000000000000000006001600160a01b03928316021782556040860151600183018054606089015160808a015160a08b015160c08c0151959096166001600160a81b031990931692909217600160a01b911515919091021761ffff60a81b1916600160a81b9115159190910260ff60b01b191617600160b01b931515939093029290921760ff60b81b1916600160b81b91151591909102179055905061046061045b600f90565b610668565b6003820180546001600160a01b0319166001600160a01b039290921691909117905561048d61045b601690565b6004820180546001600160a01b0319166001600160a01b03929092169190911790556104ba61045b600b90565b6002820180546001600160a01b0319166001600160a01b03929092169190911790556104ec635a48579360e11b6106f9565b505050505050565b6104fc61030f565b5f610507878661072c565b905061058b816001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610548573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061056c91906110d9565b888888878760405180602001604052805f8152506108d960201b60201c565b7fffe3d4462bded26a47154f4b8f6db494d2f772496965791d25bd456e342b7f0080546001600160a01b038381166001600160a01b03199283161783557fffe3d4462bded26a47154f4b8f6db494d2f772496965791d25bd456e342b7f018054918816919092161790556105ff600b610668565b6002820180546001600160a01b0319166001600160a01b039290921691909117905561062c61045b600d90565b6003820180546001600160a01b0319166001600160a01b039290921691909117905561065e63379ed74560e21b6106f9565b5050505050505050565b5f73345ca3e014aaf5dca488057592ee47305d9b3e1063d39e60438361068c6109a7565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865afa1580156106cf573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106f391906110d9565b92915050565b61070161030f565b610729816001600160e01b0319165f908152602081905260409020805460ff19166001179055565b50565b5f8073345ca3e014aaf5dca488057592ee47305d9b3e1060ff8416600c03610756578491506107cb565b60405163677d3feb60e11b81526001600160601b038616600482015285906001600160a01b0383169063cefa7fd690602401602060405180830381865afa1580156107a3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107c791906110b7565b9250505b6040516305247a1760e51b81526001600160601b03831660048201525f906001600160a01b0383169063a48f42e09060240160c060405180830381865afa158015610818573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061083c9190611111565b90506108608160400151610854610a2860201b60201c565b60ff9081169116141590565b1561087e57604051630d94d03f60e21b815260040160405180910390fd5b606081015161088f906108546109a7565b156108cc5760608101516108a16109a7565b60405163b587ea6f60e01b815260ff9283166004820152911660248201526044015b60405180910390fd5b60a0015195945050505050565b6108e161030f565b84515f036109025760405163591eebf360e11b815260040160405180910390fd5b610910878786868686610a2d565b7fffe8d4462baed26a47154f4b8f6db497d2f772496965791d25bd456e342b7f007fffe8d4462baed26a47154f4b8f6db497d2f772496965791d25bd456e342b7f0161095c878261123a565b50610967600b610668565b81546001600160a01b0319166001600160a01b0391909116178155610992634a531f3360e01b6106f9565b61065e637c65eb8160e01b6106f9565b905090565b5f6109b0610beb565b60405163c9e66e2960e01b815262ffffff909116600482015273__$8eede297b65ed5a56eb3f84d8232ae93f5$__9063c9e66e29906024015b602060405180830381865af4158015610a04573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109a291906112f4565b600a90565b610a3561030f565b604051632330f24760e01b81526001600160a01b038716600482015273__$fb599632d08395912d9d70eb2f0f93b5e2$__90632330f24790602401602060405180830381865af4158015610a8b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610aaf919061130f565b610ad75760405163cf6935e560e01b81526001600160a01b03871660048201526024016108c3565b5f866001600160a01b03166376b707b76040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b14573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b3891906112f4565b9050610b4387610cf0565b610b4c83610d01565b610b5581610d89565b5f7f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30080546001600160601b0389166001600160681b0319909116176c0100000000000000000000000060ff8916021760ff60681b19166d010000000000000000000000000087151502178155835190915015610bdb5760018101610bd9848261123a565b505b61065e634a531f3360e01b6106f9565b5f73__$8eede297b65ed5a56eb3f84d8232ae93f5$__6353a54552610c0e610e3e565b604051632b10f60d60e21b815260ff909116600482015273__$b659da7d8a6d2d32aa6c1e17da23dc2174$__9063ac43d83490602401602060405180830381865af4158015610c5f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c8391906112f4565b6040516001600160e01b031960e084901b16815260ff90911660048201525f602482018190526044820152606401602060405180830381865af4158015610ccc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109a29190611328565b610cf861030f565b61072981610e76565b610d0961030f565b610d11610e87565b6001600160a01b038116610d385760405163f17ef42d60e01b815260040160405180910390fd5b7f07ebcf49758b6ed3af50fa146bec0abe157c0218fe65dc0874c286e9d5da4f0080546001600160601b03166c010000000000000000000000006001600160a01b0390931692909202919091179055565b5f610d926109a7565b60405163a52ec52960e01b815260ff8216600482015290915073__$b659da7d8a6d2d32aa6c1e17da23dc2174$__9063a52ec52990602401602060405180830381865af4158015610de5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e09919061130f565b610e3157604051633837223d60e11b815230600482015260ff821660248201526044016108c3565b610e3a82610ecf565b5050565b604051627d985f60e11b8152600360048201525f9073__$b659da7d8a6d2d32aa6c1e17da23dc2174$__9062fb30be906024016109e9565b610e7e61030f565b61072981610f13565b610e8f61030f565b61035d6301ffc9a760e01b5f9081526020527f67be87c3ff9960ca1e9cfac5cab2ff4747269cf9ed20c9b7306235ac35a491c5805460ff19166001179055565b5f610ed86109a7565b905060ff80821690831614610e3a5760405163c6493b7d60e01b815230600482015260ff8084166024830152821660448201526064016108c3565b7ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a0080546001600160a01b0383166001600160a01b03199091168117825560408051918252517f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad9181900360200190a15050565b6001600160601b0381168114610729575f80fd5b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f191681016001600160401b0381118282101715610fd657610fd6610f9a565b604052919050565b6001600160a01b0381168114610729575f80fd5b8051610ffd81610fde565b919050565b5f805f60608486031215611014575f80fd5b835161101f81610f86565b60208501519093506001600160401b0381111561103a575f80fd5b8401601f8101861361104a575f80fd5b80516001600160401b0381111561106357611063610f9a565b611076601f8201601f1916602001610fae565b81815287602083850101111561108a575f80fd5b8160208401602083015e5f602083830101528094505050506110ae60408501610ff2565b90509250925092565b5f602082840312156110c7575f80fd5b81516110d281610f86565b9392505050565b5f602082840312156110e9575f80fd5b81516110d281610fde565b60ff81168114610729575f80fd5b80518015158114610ffd575f80fd5b5f60c0828403128015611122575f80fd5b5060405160c081016001600160401b038111828210171561114557611145610f9a565b604052825161115381610f86565b8152602083015161116381610f86565b60208201526040830151611176816110f4565b60408201526060830151611189816110f4565b606082015261119a60808401611102565b608082015260a08301516111ad81610fde565b60a08201529392505050565b600181811c908216806111cd57607f821691505b6020821081036111eb57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561123557805f5260205f20601f840160051c810160208510156112165750805b601f840160051c820191505b81811015610308575f8155600101611222565b505050565b81516001600160401b0381111561125357611253610f9a565b6112678161126184546111b9565b846111f1565b6020601f821160018114611299575f83156112825750848201515b5f19600385901b1c1916600184901b178455610308565b5f84815260208120601f198516915b828110156112c857878501518255602094850194600190920191016112a8565b50848210156112e557868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b5f60208284031215611304575f80fd5b81516110d2816110f4565b5f6020828403121561131f575f80fd5b6110d282611102565b5f60208284031215611338575f80fd5b815162ffffff811681146110d2575f80fd5b613960806113575f395ff3fe608060405234801561000f575f80fd5b5060043610610280575f3560e01c806368d2b3201161015657806392f37d78116100ca578063d0d63b0911610084578063d0d63b0914610742578063de7b5d1414610755578063deaa59df14610785578063ea15869f14610798578063ee378463146107ac578063f3d0e5d2146107bf575f80fd5b806392f37d78146106e5578063ad12ad60146106f8578063ada9652e1461070b578063b423086c1461071f578063bca99e3914610727578063bf7e214f1461073a575f80fd5b80637a9e5e4b1161011b5780637a9e5e4b1461059057806385ba8344146105a3578063893d20e8146106945780638d9a753f1461069c5780638fb36037146106af57806390edbd35146106d0575f80fd5b806368d2b320146105185780636bd1c0eb1461052b5780636c1e9dff1461055b5780636e8dba911461056e57806376b707b714610576575f80fd5b806322366844116101f857806343d752d3116101b257806343d752d3146104a75780634deed579146104af57806354e50779146104c25780635ab1bd53146104d55780635e1767ea146104e8578063644c45e0146104fb575f80fd5b8063223668441461043557806322f3e2d41461043d57806326889b09146104455780632eb3e6f41461045a57806337dd18a514610481578063419197fe14610494575f80fd5b8063132996041161024957806313299604146103b6578063138461e0146103d657806317d7de7c146103de5780631c6b2190146103f35780631eff4b221461040657806321df0da71461042d575f80fd5b806293f0eb1461028457806301ffc9a7146102b45780630d8e6e2c146102f05780630fec111c1461030c5780630ffeecca14610381575b5f80fd5b610297610292366004612c29565b6107e8565b6040516001600160601b0390911681526020015b60405180910390f35b6102e06102c2366004612c4b565b6001600160e01b0319165f9081526020819052604090205460ff1690565b60405190151581526020016102ab565b6102f861093e565b60405162ffffff90911681526020016102ab565b610314610a48565b6040516102ab91905f60c0820190506001600160601b0383511682526001600160601b03602084015116602083015260ff604084015116604083015260ff606084015116606083015260808301511515608083015260018060a01b0360a08401511660a083015292915050565b6103a87f25e3e51823fbfffb988e0a2744bb93722d9f3e906c07cc0a9e77884c46c5830081565b6040519081526020016102ab565b6103be610b6c565b6040516001600160a01b0390911681526020016102ab565b610297610bd4565b6103e6610bde565b6040516102ab9190612ca0565b610297610401366004612c29565b610bee565b6103a87f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30081565b6103be610c44565b6102e0610c88565b6102e0610d7a565b610458610453366004612cb2565b610df1565b005b6103a87fffe3d4462bded26a47154f4b8f6db494d2f772496965791d25bd456e342b7f0081565b61045861048f366004612dee565b610ece565b6104586104a2366004612e22565b610faa565b6103be610ffd565b6104586104bd366004612e3e565b61100f565b6102976104d0366004612cb2565b6111a3565b5f8051602061390b8339815191526103be565b6103a86104f6366004612efe565b611283565b5f8051602061388b833981519152546001600160601b0316610297565b610458610526366004612f44565b6112cc565b7fffe3d4462bded26a47154f4b8f6db494d2f772496965791d25bd456e342b7f01546001600160a01b03166103be565b610458610569366004612cb2565b6113a1565b6103e6611476565b61057e611528565b60405160ff90911681526020016102ab565b61045861059e366004612f70565b6115a9565b6106876040805160e0810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c08101919091527f25e3e51823fbfffb988e0a2744bb93722d9f3e906c07cc0a9e77884c46c583006040805160e08101825282546001600160601b03811682526001600160a01b03600160601b909104811660208301526001909301549283169181019190915260ff600160a01b8304811615156060830152600160a81b8304811615156080830152600160b01b83048116151560a0830152600160b81b909204909116151560c0820152919050565b6040516102ab9190612f8b565b6103be61162f565b6104586106aa366004613011565b611762565b6106b76117b1565b6040516001600160e01b031990911681526020016102ab565b6106d86117e6565b6040516102ab9190613054565b6102e06106f3366004613090565b611817565b61045861070636600461312b565b611842565b6103a85f8051602061388b83398151915281565b6106d86118e7565b610458610735366004612c29565b611903565b6103be611953565b610458610750366004612c29565b61196e565b7fffe3d4462bded26a47154f4b8f6db494d2f772496965791d25bd456e342b7f00546001600160a01b03166103be565b610458610793366004612f70565b611a42565b6103a85f805160206138ab83398151915281565b6104586107ba36600461318a565b611a8f565b6107d26107cd3660046131c9565b611aa5565b60405164ffffffffff90911681526020016102ab565b5f6107f5335b5f36611b7b565b6107fd61162f565b6001600160a01b0316336001600160a01b0316146108355760405163086391f760e31b81523360048201526024015b60405180910390fd5b5f33905061092b8173__$58e11c6004c5796aaa8c56e718245e69a2$__63bc1b392d6040518163ffffffff1660e01b81526004016040805180830381865af4158015610883573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108a79190613235565b6040516209629960e41b8152605a600482015273__$71e292c09eace9601b3e21e68a1278917a$__906296299090602401602060405180830381865af41580156108f3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610917919061325a565b60405180602001604052805f815250611c71565b91506109378284611d0f565b5050919050565b5f73__$8eede297b65ed5a56eb3f84d8232ae93f5$__6353a54552610961611da1565b604051632b10f60d60e21b815260ff909116600482015273__$b659da7d8a6d2d32aa6c1e17da23dc2174$__9063ac43d83490602401602060405180830381865af41580156109b2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109d69190613283565b6040516001600160e01b031960e084901b16815260ff90911660048201525f602482018190526044820152606401602060405180830381865af4158015610a1f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a43919061329e565b905090565b6040805160c0810182525f80825260208201819052918101829052606081018290526080810182905260a08101829052907f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30090506040518060c0016040528073__$94a2c899be079b00d952d0d84fffaa5c34$__63bc1b392d6040518163ffffffff1660e01b8152600401602060405180830381865af4158015610aee573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b1291906132c0565b6001600160601b03908116825283549081166020830152600160601b900460ff166040820152606001610b43611528565b60ff90811682529254600160681b90049092161515602083015230604090920191909152919050565b5f610b75610ffd565b6001600160a01b031663132996046040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bb0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a4391906132db565b5f610a4330611dd9565b6060610be86117e6565b51919050565b5f610bf8336107ee565b610c0061162f565b6001600160a01b0316336001600160a01b031614610c335760405163086391f760e31b815233600482015260240161082c565b610c3c82612019565b90505b919050565b5f610c4d610ffd565b6001600160a01b03166382bfefc86040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bb0573d5f803e3d5ffd5b5f5f8051602061390b833981519152604051632f2a35f760e11b81523060048201526001600160a01b039190911690635e546bee90602401602060405180830381865afa158015610cdb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cff91906132c0565b6040516330b8415f60e01b81526001600160601b03909116600482015273__$94a2c899be079b00d952d0d84fffaa5c34$__906330b8415f90602401602060405180830381865af4158015610d56573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a4391906132f6565b5f610d83611953565b60405163a166aa8960e01b81523060048201526001600160a01b03919091169063a166aa8990602401602060405180830381865afa158015610dc7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610deb91906132f6565b15905090565b610dfa336107ee565b815f8051602061390b833981519152604051631c5da14d60e11b81526001600160601b03831660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa158015610e56573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e7a91906132db565b6001600160a01b0316336001600160a01b031614610eaf578033604051636efdd32b60e11b815260040161082c929190613311565b826016610ebc828261209a565b610ec685856121ec565b505050505050565b610ed7336107ee565b815f8051602061390b833981519152604051631c5da14d60e11b81526001600160601b03831660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa158015610f33573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f5791906132db565b6001600160a01b0316336001600160a01b031614610f8c578033604051636efdd32b60e11b815260040161082c929190613311565b826016610f99828261209a565b610fa38585612239565b5050505050565b610fb3336107ee565b610fbb61162f565b6001600160a01b0316336001600160a01b031614610fee5760405163086391f760e31b815233600482015260240161082c565b610ff882826122b3565b505050565b5f6110066117e6565b60200151905090565b611018336107ee565b826015611025828261209a565b5f61102e61242b565b60405163bd7d9d8560e01b81526001600160601b038816600482015290915061112a9087906001600160a01b0384169063bd7d9d85906024015f60405180830381865afa158015611081573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526110a891908101906133a9565b6101c00151604051634793b4ab60e01b81526001600160601b038916600482015288906001600160a01b03861690634793b4ab906024015f60405180830381865afa1580156110f9573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052611120919081019061353c565b60a0015188611817565b61115257604051636b468c9b60e01b81526001600160601b038716600482015260240161082c565b604080513081526001600160601b03888116602083015286168183015290517fcca48a0200c526a7c48f1e770c739ef8e82d7b30e26825735858705fbcda4e079181900360600190a1505050505050565b5f6111ad336107ee565b825f8051602061390b833981519152604051631c5da14d60e11b81526001600160601b03831660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa158015611209573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061122d91906132db565b6001600160a01b0316336001600160a01b031614611262578033604051636efdd32b60e11b815260040161082c929190613311565b83601661126f828261209a565b6112798686612491565b9695505050505050565b805160208201205f9060ff199061129c90600190613600565b6040516020016112ae91815260200190565b60405160208183030381529060405280519060200120169050919050565b6112d5336107ee565b815f8051602061390b833981519152604051631c5da14d60e11b81526001600160601b03831660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa158015611331573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061135591906132db565b6001600160a01b0316336001600160a01b03161461138a578033604051636efdd32b60e11b815260040161082c929190613311565b826016611397828261209a565b610fa385856124de565b6113aa336107ee565b815f8051602061390b833981519152604051631c5da14d60e11b81526001600160601b03831660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa158015611406573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061142a91906132db565b6001600160a01b0316336001600160a01b03161461145f578033604051636efdd32b60e11b815260040161082c929190613311565b82601661146c828261209a565b610ec68585611d0f565b60607f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30060010180546114a79061361f565b80601f01602080910402602001604051908101604052809291908181526020018280546114d39061361f565b801561151e5780601f106114f55761010080835404028352916020019161151e565b820191905f5260205f20905b81548152906001019060200180831161150157829003601f168201915b5050505050905090565b5f61153161093e565b60405163c9e66e2960e01b815262ffffff909116600482015273__$8eede297b65ed5a56eb3f84d8232ae93f5$__9063c9e66e29906024015b602060405180830381865af4158015611585573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a439190613283565b336115b2611953565b6001600160a01b0316816001600160a01b0316146115ed5760405162d1953b60e31b81526001600160a01b038216600482015260240161082c565b816001600160a01b03163b5f03611622576040516361798f2f60e11b81526001600160a01b038316600482015260240161082c565b61162b8261253e565b5050565b5f805f8051602061388b83398151915280546040516330b8415f60e01b81526001600160601b03909116600482015290915073__$94a2c899be079b00d952d0d84fffaa5c34$__906330b8415f90602401602060405180830381865af415801561169b573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116bf91906132f6565b1561174c575f8051602061390b8339815191528154604051631c5da14d60e11b81526001600160601b0390911660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa158015611722573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061174691906132db565b91505090565b54600160601b90046001600160a01b0316919050565b61176b336107ee565b61177361162f565b6001600160a01b0316336001600160a01b0316146117a65760405163086391f760e31b815233600482015260240161082c565b610ff883838361259e565b5f805160206138cb83398151915280545f9190600160a01b900460ff166117d8575f611746565b638fb3603760e01b91505090565b60408051808201909152606081525f6020820152611802610c88565b1561180f57610a43612623565b610a436118e7565b5f856015611825828261209a565b856016611832828261209a565b5060019998505050505050505050565b5f8051602061390b8339815191526001600160a01b031663120726c36040518163ffffffff1660e01b8152600401602060405180830381865afa15801561188b573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118af91906132db565b6001600160a01b0316336001600160a01b0316146118e15760405162f0630960e01b815233600482015260240161082c565b50505050565b60408051808201909152606081525f6020820152610a43612623565b61190c336107ee565b61191461162f565b6001600160a01b0316336001600160a01b0316146119475760405163086391f760e31b815233600482015260240161082c565b611950816127f4565b50565b5f805160206138cb833981519152546001600160a01b031690565b611977336107ee565b805f8051602061390b833981519152604051631c5da14d60e11b81526001600160601b03831660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa1580156119d3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119f791906132db565b6001600160a01b0316336001600160a01b031614611a2c578033604051636efdd32b60e11b815260040161082c929190613311565b816016611a39828261209a565b6118e18461285e565b611a4b336107ee565b611a5361162f565b6001600160a01b0316336001600160a01b031614611a865760405163086391f760e31b815233600482015260240161082c565b611950816128a3565b611a98336107ee565b826015610fa3828261209a565b5f611aaf336107ee565b825f8051602061390b833981519152604051631c5da14d60e11b81526001600160601b03831660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa158015611b0b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b2f91906132db565b6001600160a01b0316336001600160a01b031614611b64578033604051636efdd32b60e11b815260040161082c929190613311565b836016611b71828261209a565b6112798686612918565b5f805160206138cb8339815191525f80611bb3611b96611953565b8730611ba560045f8a8c613657565b611bae9161367e565b6129be565b9150915081610ec65763ffffffff811615611c4e57825460ff60a01b1916600160a01b178355611be1611953565b6001600160a01b03166394c7d7ee8787876040518463ffffffff1660e01b8152600401611c10939291906136b4565b5f604051808303815f87803b158015611c27575f80fd5b505af1158015611c39573d5f803e3d5ffd5b5050845460ff60a01b1916855550610ec69050565b60405162d1953b60e31b81526001600160a01b038716600482015260240161082c565b7f25e3e51823fbfffb988e0a2744bb93722d9f3e906c07cc0a9e77884c46c5830454604051637eddc94b60e11b81525f916001600160a01b03169063fdbb929690611cc6908890889088908890600401613714565b6020604051808303815f875af1158015611ce2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d0691906132c0565b95945050505050565b5f805160206138eb83398151915254604051636c1e9dff60e01b81526001600160601b038481166004830152831660248201525f916001600160a01b031690636c1e9dff906044015b6020604051808303815f875af1158015611d74573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d9891906132c0565b90505b92915050565b604051627d985f60e11b8152600360048201525f9073__$b659da7d8a6d2d32aa6c1e17da23dc2174$__9062fb30be9060240161156a565b5f805f8051602061388b83398151915280546040516330b8415f60e01b81526001600160601b03909116600482015290915073__$94a2c899be079b00d952d0d84fffaa5c34$__906330b8415f90602401602060405180830381865af4158015611e45573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e6991906132f6565b15611e955780546040516301ab8b6760e21b81526001600160601b03909116600482015260240161082c565b5f5f8051602061390b833981519152604051632f2a35f760e11b81526001600160a01b0386811660048301529190911690635e546bee90602401602060405180830381865afa158015611eea573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f0e91906132c0565b604051630a4d29dd60e31b81526001600160601b038216600482015290915073__$94a2c899be079b00d952d0d84fffaa5c34$__906352694ee890602401602060405180830381865af4158015611f67573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f8b91906132f6565b15611fb45760405163b9304b0d60e01b81526001600160a01b038516600482015260240161082c565b81546bffffffffffffffffffffffff19166001600160601b0382161782557f88857b75cbef7f257c9d5a473e28aaf6a91cc28f717f60f2cda3bcf5623d7b5481611ffc61162f565b60405161200a929190613311565b60405180910390a19392505050565b5f5f805160206138ab833981519152546040516301c6b21960e41b81526001600160601b03841660048201526001600160a01b0390911690631c6b2190906024016020604051808303815f875af1158015612076573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c3c91906132c0565b5f6120a3611528565b60405163037c8cb160e51b815260ff8416600482015290915073__$0d958e68cba84670b8f4a3f2f2686b1c6b$__90636f91962090602401602060405180830381865af41580156120f6573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061211a91906132f6565b806121b257505f8051602061390b8339815191526040516334a67fa960e21b81526001600160601b038516600482015260ff8085166024830152831660448201526001600160a01b03919091169063d299fea490606401602060405180830381865afa15801561218c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121b091906132f6565b155b15610ff857604051636289956160e11b81526001600160601b038416600482015260ff80841660248301528216604482015260640161082c565b5f805160206138eb833981519152546040516326889b0960e01b81526001600160601b038481166004830152831660248201525f916001600160a01b0316906326889b0990604401611d58565b7f25e3e51823fbfffb988e0a2744bb93722d9f3e906c07cc0a9e77884c46c583045460405163a5fbe47960e01b81526001600160a01b039091169063a5fbe4799061228a908590859060040161374f565b5f604051808303815f87803b1580156122a1575f80fd5b505af1158015610ec6573d5f803e3d5ffd5b5f73__$3bac17678db7ae928afa209f2f44deec9c$__634c41dd96846001600160a01b031663dd62ed3e6122e5610ffd565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152306024820152604401602060405180830381865afa15801561232d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612351919061376c565b6040518263ffffffff1660e01b815260040161236f91815260200190565b602060405180830381865af415801561238a573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123ae91906132c0565b90505f805160206138ab833981519152546040516320c8cbff60e11b81526001600160a01b0385811660048301526001600160601b03851660248301529091169063419197fe906044015f604051808303815f87803b15801561240f575f80fd5b505af1158015612421573d5f803e3d5ffd5b5050505092915050565b7fffe3d4462bded26a47154f4b8f6db494d2f772496965791d25bd456e342b7f0054604080516302cd307160e01b815290515f926001600160a01b0316916302cd30719160048083019260209291908290030181865afa158015610bb0573d5f803e3d5ffd5b5f805160206138eb833981519152546040516354e5077960e01b81526001600160601b038481166004830152831660248201525f916001600160a01b0316906354e5077990604401611d58565b7f25e3e51823fbfffb988e0a2744bb93722d9f3e906c07cc0a9e77884c46c583045460405163d42a24b160e01b81526001600160601b038416600482015282151560248201526001600160a01b039091169063d42a24b19060440161228a565b5f805160206138cb83398151915280546001600160a01b0383166001600160a01b03199091168117825560408051918252517f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad9181900360200190a15050565b7f25e3e51823fbfffb988e0a2744bb93722d9f3e906c07cc0a9e77884c46c583025460405163cf2f336560e01b81526001600160a01b039091169063cf2f3365906125f190869086908690600401613783565b5f604051808303815f87803b158015612608575f80fd5b505af115801561261a573d5f803e3d5ffd5b50505050505050565b60408051808201909152606081525f60208201525f61264c5f8051602061390b83398151915290565b604051632f2a35f760e11b81523060048201526001600160a01b039190911690635e546bee90602401602060405180830381865afa158015612690573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906126b491906132c0565b6040516330b8415f60e01b81526001600160601b038216600482015290915073__$94a2c899be079b00d952d0d84fffaa5c34$__906330b8415f90602401602060405180830381865af415801561270d573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061273191906132f6565b156127ec5761273e61242b565b6001600160a01b031663f0ea17c361276a5f8051602061388b833981519152546001600160601b031690565b6040516001600160e01b031960e084901b1681526001600160601b0390911660048201526024015f60405180830381865afa1580156127ab573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526127d291908101906137ab565b60208101519092506001600160a01b0316156127ec575090565b611746612ac6565b5f805160206138eb8339815191525460405163bca99e3960e01b81526001600160601b03831660048201526001600160a01b039091169063bca99e39906024015b5f604051808303815f87803b15801561284c575f80fd5b505af1158015610fa3573d5f803e3d5ffd5b5f805160206138eb8339815191525460405163d0d63b0960e01b81526001600160601b03831660048201526001600160a01b039091169063d0d63b0990602401612835565b6128ab61162f565b6001600160a01b0316336001600160a01b0316146128de5760405163086391f760e31b815233600482015260240161082c565b6128e8600b612b91565b60405163deaa59df60e01b81526001600160a01b038381166004830152919091169063deaa59df90602401612835565b5f7f25e3e51823fbfffb988e0a2744bb93722d9f3e906c07cc0a9e77884c46c583006004908101546040516379e872e960e11b81526001600160601b0386169281019290925264ffffffffff841660248301526001600160a01b03169063f3d0e5d2906044016020604051808303815f875af115801561299a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d98919061325a565b6040516001600160a01b03848116602483015283811660448301526001600160e01b0319831660648301525f9182918291829189169060840160408051601f198184030181529181526020820180516001600160e01b031663b700961360e01b17905251612a2c919061383f565b5f60405180830381855afa9150503d805f8114612a64576040519150601f19603f3d011682016040523d82523d5f602084013e612a69565b606091505b50915091508115612abb576040815110612a9b5780806020019051810190612a919190613855565b9094509250612abb565b6020815110612abb5780806020019051810190612ab891906132f6565b93505b505094509492505050565b60408051808201909152606081525f60208201525f5f805160206138ab83398151915290506040518060400160405280826001018054612b059061361f565b80601f0160208091040260200160405190810160405280929190818152602001828054612b319061361f565b8015612b7c5780601f10612b5357610100808354040283529160200191612b7c565b820191905f5260205f20905b815481529060010190602001808311612b5f57829003601f168201915b50505091835250505f60209091015292915050565b5f5f8051602061390b83398151915263d39e604383612bae611528565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865afa158015612bf1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c3c91906132db565b6001600160601b0381168114611950575f80fd5b5f60208284031215612c39575f80fd5b8135612c4481612c15565b9392505050565b5f60208284031215612c5b575f80fd5b81356001600160e01b031981168114612c44575f80fd5b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f611d986020830184612c72565b5f8060408385031215612cc3575f80fd5b8235612cce81612c15565b91506020830135612cde81612c15565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b604080519081016001600160401b0381118282101715612d1f57612d1f612ce9565b60405290565b60405161020081016001600160401b0381118282101715612d1f57612d1f612ce9565b60405160c081016001600160401b0381118282101715612d1f57612d1f612ce9565b604051601f8201601f191681016001600160401b0381118282101715612d9257612d92612ce9565b604052919050565b6001600160a01b0381168114611950575f80fd5b5f60408284031215612dbe575f80fd5b612dc6612cfd565b90508135612dd381612d9a565b81526020820135612de381612c15565b602082015292915050565b5f8060608385031215612dff575f80fd5b8235612e0a81612c15565b9150612e198460208501612dae565b90509250929050565b5f8060408385031215612e33575f80fd5b8235612cce81612d9a565b5f805f60608486031215612e50575f80fd5b8335612e5b81612c15565b92506020840135612e6b81612c15565b91506040840135612e7b81612c15565b809150509250925092565b5f6001600160401b03821115612e9e57612e9e612ce9565b50601f01601f191660200190565b5f82601f830112612ebb575f80fd5b8135612ece612ec982612e86565b612d6a565b818152846020838601011115612ee2575f80fd5b816020850160208301375f918101602001919091529392505050565b5f60208284031215612f0e575f80fd5b81356001600160401b03811115612f23575f80fd5b612f2f84828501612eac565b949350505050565b8015158114611950575f80fd5b5f8060408385031215612f55575f80fd5b8235612f6081612c15565b91506020830135612cde81612f37565b5f60208284031215612f80575f80fd5b8135612c4481612d9a565b5f60e0820190506001600160601b03835116825260018060a01b03602084015116602083015260018060a01b0360408401511660408301526060830151151560608301526080830151612fe2608084018215159052565b5060a0830151612ff660a084018215159052565b5060c083015161300a60c084018215159052565b5092915050565b5f805f60c08486031215613023575f80fd5b61302d8585612dae565b925061303c8560408601612dae565b915061304b8560808601612dae565b90509250925092565b602081525f82516040602084015261306f6060840182612c72565b602094909401516001600160a01b0316604093909301929092525090919050565b5f805f805f60a086880312156130a4575f80fd5b85356130af81612c15565b945060208601356001600160401b038111156130c9575f80fd5b6130d588828901612eac565b94505060408601356130e681612c15565b925060608601356001600160401b03811115613100575f80fd5b61310c88828901612eac565b925050608086013561311d81612c15565b809150509295509295909350565b5f805f806080858703121561313e575f80fd5b843561314981612d9a565b9350602085013561315981612d9a565b925060408501359150606085013561317081612d9a565b939692955090935050565b61ffff81168114611950575f80fd5b5f805f6060848603121561319c575f80fd5b83356131a781612c15565b92506020840135612e6b8161317b565b64ffffffffff81168114611950575f80fd5b5f80604083850312156131da575f80fd5b82356131e581612c15565b91506020830135612cde816131b7565b8051610c3f81612c15565b5f60408284031215613210575f80fd5b613218612cfd565b9050815161322581612d9a565b81526020820151612de381612c15565b5f60408284031215613245575f80fd5b611d988383613200565b8051610c3f816131b7565b5f6020828403121561326a575f80fd5b8151612c44816131b7565b60ff81168114611950575f80fd5b5f60208284031215613293575f80fd5b8151612c4481613275565b5f602082840312156132ae575f80fd5b815162ffffff81168114612c44575f80fd5b5f602082840312156132d0575f80fd5b8151612c4481612c15565b5f602082840312156132eb575f80fd5b8151612c4481612d9a565b5f60208284031215613306575f80fd5b8151612c4481612f37565b6001600160601b039290921682526001600160a01b0316602082015260400190565b80516001600160c01b031981168114610c3f575f80fd5b8051610c3f8161317b565b5f613362612ec984612e86565b9050828152838383011115613375575f80fd5b8282602083015e5f602084830101529392505050565b5f82601f83011261339a575f80fd5b611d9883835160208501613355565b5f602082840312156133b9575f80fd5b81516001600160401b038111156133ce575f80fd5b820161020081850312156133e0575f80fd5b6133e8612d25565b6133f1826131f5565b81526133ff602083016131f5565b602082015261341060408301613333565b6040820152613421606083016131f5565b6060820152613432608083016131f5565b608082015261344360a08301613333565b60a082015261345460c0830161334a565b60c082015261346560e0830161334a565b60e082015261347761010083016131f5565b61010082015261348a61012083016131f5565b61012082015261349d610140830161324f565b6101408201526134b0610160830161324f565b6101608201526134c3610180830161324f565b6101808201526134d66101a0830161324f565b6101a08201526101c08201516001600160401b038111156134f5575f80fd5b6135018682850161338b565b6101c0830152506101e08201516001600160401b03811115613521575f80fd5b61352d8682850161338b565b6101e083015250949350505050565b5f6020828403121561354c575f80fd5b81516001600160401b03811115613561575f80fd5b820160e08185031215613572575f80fd5b61357a612d48565b8151613585816131b7565b81526020820151613595816131b7565b60208201526135a66040830161324f565b60408201526135b7606083016131f5565b60608201526135c98560808401613200565b608082015260c08201516001600160401b038111156135e6575f80fd5b6135f28682850161338b565b60a083015250949350505050565b81810381811115611d9b57634e487b7160e01b5f52601160045260245ffd5b600181811c9082168061363357607f821691505b60208210810361365157634e487b7160e01b5f52602260045260245ffd5b50919050565b5f8085851115613665575f80fd5b83861115613671575f80fd5b5050820193919092039150565b80356001600160e01b0319811690600484101561300a576001600160e01b031960049490940360031b84901b1690921692915050565b6001600160a01b03841681526040602082018190528101829052818360608301375f818301606090810191909152601f909201601f1916010192915050565b80516001600160a01b031682526020908101516001600160601b0316910152565b6001600160a01b038516815261372d60208201856136f3565b64ffffffffff8316606082015260a060808201525f61127960a0830184612c72565b6001600160601b038316815260608101612c4460208301846136f3565b5f6020828403121561377c575f80fd5b5051919050565b60c0810161379182866136f3565b61379e60408301856136f3565b612f2f60808301846136f3565b5f602082840312156137bb575f80fd5b81516001600160401b038111156137d0575f80fd5b8201604081850312156137e1575f80fd5b6137e9612cfd565b81516001600160401b038111156137fe575f80fd5b8201601f8101861361380e575f80fd5b61381d86825160208401613355565b8252506020820151915061383082612d9a565b60208101919091529392505050565b5f82518060208501845e5f920191825250919050565b5f8060408385031215613866575f80fd5b825161387181612f37565b602084015190925063ffffffff81168114612cde575f80fdfe07ebcf49758b6ed3af50fa146bec0abe157c0218fe65dc0874c286e9d5da4f00ffe8d4462baed26a47154f4b8f6db497d2f772496965791d25bd456e342b7f00f3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a0025e3e51823fbfffb988e0a2744bb93722d9f3e906c07cc0a9e77884c46c58303000000000000000000000000345ca3e014aaf5dca488057592ee47305d9b3e10a2646970667358221220e361c5dd189901e42a580841fc9a968b886e5e19e0398a596514a1fadbbc405664736f6c634300081a0033",
|
1315
|
-
"deployedBytecode": "0x608060405234801561000f575f80fd5b5060043610610280575f3560e01c806368d2b3201161015657806392f37d78116100ca578063d0d63b0911610084578063d0d63b0914610742578063de7b5d1414610755578063deaa59df14610785578063ea15869f14610798578063ee378463146107ac578063f3d0e5d2146107bf575f80fd5b806392f37d78146106e5578063ad12ad60146106f8578063ada9652e1461070b578063b423086c1461071f578063bca99e3914610727578063bf7e214f1461073a575f80fd5b80637a9e5e4b1161011b5780637a9e5e4b1461059057806385ba8344146105a3578063893d20e8146106945780638d9a753f1461069c5780638fb36037146106af57806390edbd35146106d0575f80fd5b806368d2b320146105185780636bd1c0eb1461052b5780636c1e9dff1461055b5780636e8dba911461056e57806376b707b714610576575f80fd5b806322366844116101f857806343d752d3116101b257806343d752d3146104a75780634deed579146104af57806354e50779146104c25780635ab1bd53146104d55780635e1767ea146104e8578063644c45e0146104fb575f80fd5b8063223668441461043557806322f3e2d41461043d57806326889b09146104455780632eb3e6f41461045a57806337dd18a514610481578063419197fe14610494575f80fd5b8063132996041161024957806313299604146103b6578063138461e0146103d657806317d7de7c146103de5780631c6b2190146103f35780631eff4b221461040657806321df0da71461042d575f80fd5b806293f0eb1461028457806301ffc9a7146102b45780630d8e6e2c146102f05780630fec111c1461030c5780630ffeecca14610381575b5f80fd5b610297610292366004612c29565b6107e8565b6040516001600160601b0390911681526020015b60405180910390f35b6102e06102c2366004612c4b565b6001600160e01b0319165f9081526020819052604090205460ff1690565b60405190151581526020016102ab565b6102f861093e565b60405162ffffff90911681526020016102ab565b610314610a48565b6040516102ab91905f60c0820190506001600160601b0383511682526001600160601b03602084015116602083015260ff604084015116604083015260ff606084015116606083015260808301511515608083015260018060a01b0360a08401511660a083015292915050565b6103a87f25e3e51823fbfffb988e0a2744bb93722d9f3e906c07cc0a9e77884c46c5830081565b6040519081526020016102ab565b6103be610b6c565b6040516001600160a01b0390911681526020016102ab565b610297610bd4565b6103e6610bde565b6040516102ab9190612ca0565b610297610401366004612c29565b610bee565b6103a87f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30081565b6103be610c44565b6102e0610c88565b6102e0610d7a565b610458610453366004612cb2565b610df1565b005b6103a87fffe3d4462bded26a47154f4b8f6db494d2f772496965791d25bd456e342b7f0081565b61045861048f366004612dee565b610ece565b6104586104a2366004612e22565b610faa565b6103be610ffd565b6104586104bd366004612e3e565b61100f565b6102976104d0366004612cb2565b6111a3565b5f8051602061390b8339815191526103be565b6103a86104f6366004612efe565b611283565b5f8051602061388b833981519152546001600160601b0316610297565b610458610526366004612f44565b6112cc565b7fffe3d4462bded26a47154f4b8f6db494d2f772496965791d25bd456e342b7f01546001600160a01b03166103be565b610458610569366004612cb2565b6113a1565b6103e6611476565b61057e611528565b60405160ff90911681526020016102ab565b61045861059e366004612f70565b6115a9565b6106876040805160e0810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c08101919091527f25e3e51823fbfffb988e0a2744bb93722d9f3e906c07cc0a9e77884c46c583006040805160e08101825282546001600160601b03811682526001600160a01b03600160601b909104811660208301526001909301549283169181019190915260ff600160a01b8304811615156060830152600160a81b8304811615156080830152600160b01b83048116151560a0830152600160b81b909204909116151560c0820152919050565b6040516102ab9190612f8b565b6103be61162f565b6104586106aa366004613011565b611762565b6106b76117b1565b6040516001600160e01b031990911681526020016102ab565b6106d86117e6565b6040516102ab9190613054565b6102e06106f3366004613090565b611817565b61045861070636600461312b565b611842565b6103a85f8051602061388b83398151915281565b6106d86118e7565b610458610735366004612c29565b611903565b6103be611953565b610458610750366004612c29565b61196e565b7fffe3d4462bded26a47154f4b8f6db494d2f772496965791d25bd456e342b7f00546001600160a01b03166103be565b610458610793366004612f70565b611a42565b6103a85f805160206138ab83398151915281565b6104586107ba36600461318a565b611a8f565b6107d26107cd3660046131c9565b611aa5565b60405164ffffffffff90911681526020016102ab565b5f6107f5335b5f36611b7b565b6107fd61162f565b6001600160a01b0316336001600160a01b0316146108355760405163086391f760e31b81523360048201526024015b60405180910390fd5b5f33905061092b8173__$58e11c6004c5796aaa8c56e718245e69a2$__63bc1b392d6040518163ffffffff1660e01b81526004016040805180830381865af4158015610883573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108a79190613235565b6040516209629960e41b8152605a600482015273__$71e292c09eace9601b3e21e68a1278917a$__906296299090602401602060405180830381865af41580156108f3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610917919061325a565b60405180602001604052805f815250611c71565b91506109378284611d0f565b5050919050565b5f73__$8eede297b65ed5a56eb3f84d8232ae93f5$__6353a54552610961611da1565b604051632b10f60d60e21b815260ff909116600482015273__$b659da7d8a6d2d32aa6c1e17da23dc2174$__9063ac43d83490602401602060405180830381865af41580156109b2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109d69190613283565b6040516001600160e01b031960e084901b16815260ff90911660048201525f602482018190526044820152606401602060405180830381865af4158015610a1f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a43919061329e565b905090565b6040805160c0810182525f80825260208201819052918101829052606081018290526080810182905260a08101829052907f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30090506040518060c0016040528073__$94a2c899be079b00d952d0d84fffaa5c34$__63bc1b392d6040518163ffffffff1660e01b8152600401602060405180830381865af4158015610aee573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b1291906132c0565b6001600160601b03908116825283549081166020830152600160601b900460ff166040820152606001610b43611528565b60ff90811682529254600160681b90049092161515602083015230604090920191909152919050565b5f610b75610ffd565b6001600160a01b031663132996046040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bb0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a4391906132db565b5f610a4330611dd9565b6060610be86117e6565b51919050565b5f610bf8336107ee565b610c0061162f565b6001600160a01b0316336001600160a01b031614610c335760405163086391f760e31b815233600482015260240161082c565b610c3c82612019565b90505b919050565b5f610c4d610ffd565b6001600160a01b03166382bfefc86040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bb0573d5f803e3d5ffd5b5f5f8051602061390b833981519152604051632f2a35f760e11b81523060048201526001600160a01b039190911690635e546bee90602401602060405180830381865afa158015610cdb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cff91906132c0565b6040516330b8415f60e01b81526001600160601b03909116600482015273__$94a2c899be079b00d952d0d84fffaa5c34$__906330b8415f90602401602060405180830381865af4158015610d56573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a4391906132f6565b5f610d83611953565b60405163a166aa8960e01b81523060048201526001600160a01b03919091169063a166aa8990602401602060405180830381865afa158015610dc7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610deb91906132f6565b15905090565b610dfa336107ee565b815f8051602061390b833981519152604051631c5da14d60e11b81526001600160601b03831660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa158015610e56573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e7a91906132db565b6001600160a01b0316336001600160a01b031614610eaf578033604051636efdd32b60e11b815260040161082c929190613311565b826016610ebc828261209a565b610ec685856121ec565b505050505050565b610ed7336107ee565b815f8051602061390b833981519152604051631c5da14d60e11b81526001600160601b03831660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa158015610f33573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f5791906132db565b6001600160a01b0316336001600160a01b031614610f8c578033604051636efdd32b60e11b815260040161082c929190613311565b826016610f99828261209a565b610fa38585612239565b5050505050565b610fb3336107ee565b610fbb61162f565b6001600160a01b0316336001600160a01b031614610fee5760405163086391f760e31b815233600482015260240161082c565b610ff882826122b3565b505050565b5f6110066117e6565b60200151905090565b611018336107ee565b826015611025828261209a565b5f61102e61242b565b60405163bd7d9d8560e01b81526001600160601b038816600482015290915061112a9087906001600160a01b0384169063bd7d9d85906024015f60405180830381865afa158015611081573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526110a891908101906133a9565b6101c00151604051634793b4ab60e01b81526001600160601b038916600482015288906001600160a01b03861690634793b4ab906024015f60405180830381865afa1580156110f9573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052611120919081019061353c565b60a0015188611817565b61115257604051636b468c9b60e01b81526001600160601b038716600482015260240161082c565b604080513081526001600160601b03888116602083015286168183015290517fcca48a0200c526a7c48f1e770c739ef8e82d7b30e26825735858705fbcda4e079181900360600190a1505050505050565b5f6111ad336107ee565b825f8051602061390b833981519152604051631c5da14d60e11b81526001600160601b03831660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa158015611209573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061122d91906132db565b6001600160a01b0316336001600160a01b031614611262578033604051636efdd32b60e11b815260040161082c929190613311565b83601661126f828261209a565b6112798686612491565b9695505050505050565b805160208201205f9060ff199061129c90600190613600565b6040516020016112ae91815260200190565b60405160208183030381529060405280519060200120169050919050565b6112d5336107ee565b815f8051602061390b833981519152604051631c5da14d60e11b81526001600160601b03831660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa158015611331573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061135591906132db565b6001600160a01b0316336001600160a01b03161461138a578033604051636efdd32b60e11b815260040161082c929190613311565b826016611397828261209a565b610fa385856124de565b6113aa336107ee565b815f8051602061390b833981519152604051631c5da14d60e11b81526001600160601b03831660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa158015611406573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061142a91906132db565b6001600160a01b0316336001600160a01b03161461145f578033604051636efdd32b60e11b815260040161082c929190613311565b82601661146c828261209a565b610ec68585611d0f565b60607f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30060010180546114a79061361f565b80601f01602080910402602001604051908101604052809291908181526020018280546114d39061361f565b801561151e5780601f106114f55761010080835404028352916020019161151e565b820191905f5260205f20905b81548152906001019060200180831161150157829003601f168201915b5050505050905090565b5f61153161093e565b60405163c9e66e2960e01b815262ffffff909116600482015273__$8eede297b65ed5a56eb3f84d8232ae93f5$__9063c9e66e29906024015b602060405180830381865af4158015611585573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a439190613283565b336115b2611953565b6001600160a01b0316816001600160a01b0316146115ed5760405162d1953b60e31b81526001600160a01b038216600482015260240161082c565b816001600160a01b03163b5f03611622576040516361798f2f60e11b81526001600160a01b038316600482015260240161082c565b61162b8261253e565b5050565b5f805f8051602061388b83398151915280546040516330b8415f60e01b81526001600160601b03909116600482015290915073__$94a2c899be079b00d952d0d84fffaa5c34$__906330b8415f90602401602060405180830381865af415801561169b573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116bf91906132f6565b1561174c575f8051602061390b8339815191528154604051631c5da14d60e11b81526001600160601b0390911660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa158015611722573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061174691906132db565b91505090565b54600160601b90046001600160a01b0316919050565b61176b336107ee565b61177361162f565b6001600160a01b0316336001600160a01b0316146117a65760405163086391f760e31b815233600482015260240161082c565b610ff883838361259e565b5f805160206138cb83398151915280545f9190600160a01b900460ff166117d8575f611746565b638fb3603760e01b91505090565b60408051808201909152606081525f6020820152611802610c88565b1561180f57610a43612623565b610a436118e7565b5f856015611825828261209a565b856016611832828261209a565b5060019998505050505050505050565b5f8051602061390b8339815191526001600160a01b031663120726c36040518163ffffffff1660e01b8152600401602060405180830381865afa15801561188b573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118af91906132db565b6001600160a01b0316336001600160a01b0316146118e15760405162f0630960e01b815233600482015260240161082c565b50505050565b60408051808201909152606081525f6020820152610a43612623565b61190c336107ee565b61191461162f565b6001600160a01b0316336001600160a01b0316146119475760405163086391f760e31b815233600482015260240161082c565b611950816127f4565b50565b5f805160206138cb833981519152546001600160a01b031690565b611977336107ee565b805f8051602061390b833981519152604051631c5da14d60e11b81526001600160601b03831660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa1580156119d3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119f791906132db565b6001600160a01b0316336001600160a01b031614611a2c578033604051636efdd32b60e11b815260040161082c929190613311565b816016611a39828261209a565b6118e18461285e565b611a4b336107ee565b611a5361162f565b6001600160a01b0316336001600160a01b031614611a865760405163086391f760e31b815233600482015260240161082c565b611950816128a3565b611a98336107ee565b826015610fa3828261209a565b5f611aaf336107ee565b825f8051602061390b833981519152604051631c5da14d60e11b81526001600160601b03831660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa158015611b0b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b2f91906132db565b6001600160a01b0316336001600160a01b031614611b64578033604051636efdd32b60e11b815260040161082c929190613311565b836016611b71828261209a565b6112798686612918565b5f805160206138cb8339815191525f80611bb3611b96611953565b8730611ba560045f8a8c613657565b611bae9161367e565b6129be565b9150915081610ec65763ffffffff811615611c4e57825460ff60a01b1916600160a01b178355611be1611953565b6001600160a01b03166394c7d7ee8787876040518463ffffffff1660e01b8152600401611c10939291906136b4565b5f604051808303815f87803b158015611c27575f80fd5b505af1158015611c39573d5f803e3d5ffd5b5050845460ff60a01b1916855550610ec69050565b60405162d1953b60e31b81526001600160a01b038716600482015260240161082c565b7f25e3e51823fbfffb988e0a2744bb93722d9f3e906c07cc0a9e77884c46c5830454604051637eddc94b60e11b81525f916001600160a01b03169063fdbb929690611cc6908890889088908890600401613714565b6020604051808303815f875af1158015611ce2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d0691906132c0565b95945050505050565b5f805160206138eb83398151915254604051636c1e9dff60e01b81526001600160601b038481166004830152831660248201525f916001600160a01b031690636c1e9dff906044015b6020604051808303815f875af1158015611d74573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d9891906132c0565b90505b92915050565b604051627d985f60e11b8152600360048201525f9073__$b659da7d8a6d2d32aa6c1e17da23dc2174$__9062fb30be9060240161156a565b5f805f8051602061388b83398151915280546040516330b8415f60e01b81526001600160601b03909116600482015290915073__$94a2c899be079b00d952d0d84fffaa5c34$__906330b8415f90602401602060405180830381865af4158015611e45573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e6991906132f6565b15611e955780546040516301ab8b6760e21b81526001600160601b03909116600482015260240161082c565b5f5f8051602061390b833981519152604051632f2a35f760e11b81526001600160a01b0386811660048301529190911690635e546bee90602401602060405180830381865afa158015611eea573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f0e91906132c0565b604051630a4d29dd60e31b81526001600160601b038216600482015290915073__$94a2c899be079b00d952d0d84fffaa5c34$__906352694ee890602401602060405180830381865af4158015611f67573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f8b91906132f6565b15611fb45760405163b9304b0d60e01b81526001600160a01b038516600482015260240161082c565b81546bffffffffffffffffffffffff19166001600160601b0382161782557f88857b75cbef7f257c9d5a473e28aaf6a91cc28f717f60f2cda3bcf5623d7b5481611ffc61162f565b60405161200a929190613311565b60405180910390a19392505050565b5f5f805160206138ab833981519152546040516301c6b21960e41b81526001600160601b03841660048201526001600160a01b0390911690631c6b2190906024016020604051808303815f875af1158015612076573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c3c91906132c0565b5f6120a3611528565b60405163037c8cb160e51b815260ff8416600482015290915073__$0d958e68cba84670b8f4a3f2f2686b1c6b$__90636f91962090602401602060405180830381865af41580156120f6573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061211a91906132f6565b806121b257505f8051602061390b8339815191526040516334a67fa960e21b81526001600160601b038516600482015260ff8085166024830152831660448201526001600160a01b03919091169063d299fea490606401602060405180830381865afa15801561218c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121b091906132f6565b155b15610ff857604051636289956160e11b81526001600160601b038416600482015260ff80841660248301528216604482015260640161082c565b5f805160206138eb833981519152546040516326889b0960e01b81526001600160601b038481166004830152831660248201525f916001600160a01b0316906326889b0990604401611d58565b7f25e3e51823fbfffb988e0a2744bb93722d9f3e906c07cc0a9e77884c46c583045460405163a5fbe47960e01b81526001600160a01b039091169063a5fbe4799061228a908590859060040161374f565b5f604051808303815f87803b1580156122a1575f80fd5b505af1158015610ec6573d5f803e3d5ffd5b5f73__$3bac17678db7ae928afa209f2f44deec9c$__634c41dd96846001600160a01b031663dd62ed3e6122e5610ffd565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152306024820152604401602060405180830381865afa15801561232d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612351919061376c565b6040518263ffffffff1660e01b815260040161236f91815260200190565b602060405180830381865af415801561238a573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123ae91906132c0565b90505f805160206138ab833981519152546040516320c8cbff60e11b81526001600160a01b0385811660048301526001600160601b03851660248301529091169063419197fe906044015f604051808303815f87803b15801561240f575f80fd5b505af1158015612421573d5f803e3d5ffd5b5050505092915050565b7fffe3d4462bded26a47154f4b8f6db494d2f772496965791d25bd456e342b7f0054604080516302cd307160e01b815290515f926001600160a01b0316916302cd30719160048083019260209291908290030181865afa158015610bb0573d5f803e3d5ffd5b5f805160206138eb833981519152546040516354e5077960e01b81526001600160601b038481166004830152831660248201525f916001600160a01b0316906354e5077990604401611d58565b7f25e3e51823fbfffb988e0a2744bb93722d9f3e906c07cc0a9e77884c46c583045460405163d42a24b160e01b81526001600160601b038416600482015282151560248201526001600160a01b039091169063d42a24b19060440161228a565b5f805160206138cb83398151915280546001600160a01b0383166001600160a01b03199091168117825560408051918252517f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad9181900360200190a15050565b7f25e3e51823fbfffb988e0a2744bb93722d9f3e906c07cc0a9e77884c46c583025460405163cf2f336560e01b81526001600160a01b039091169063cf2f3365906125f190869086908690600401613783565b5f604051808303815f87803b158015612608575f80fd5b505af115801561261a573d5f803e3d5ffd5b50505050505050565b60408051808201909152606081525f60208201525f61264c5f8051602061390b83398151915290565b604051632f2a35f760e11b81523060048201526001600160a01b039190911690635e546bee90602401602060405180830381865afa158015612690573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906126b491906132c0565b6040516330b8415f60e01b81526001600160601b038216600482015290915073__$94a2c899be079b00d952d0d84fffaa5c34$__906330b8415f90602401602060405180830381865af415801561270d573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061273191906132f6565b156127ec5761273e61242b565b6001600160a01b031663f0ea17c361276a5f8051602061388b833981519152546001600160601b031690565b6040516001600160e01b031960e084901b1681526001600160601b0390911660048201526024015f60405180830381865afa1580156127ab573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526127d291908101906137ab565b60208101519092506001600160a01b0316156127ec575090565b611746612ac6565b5f805160206138eb8339815191525460405163bca99e3960e01b81526001600160601b03831660048201526001600160a01b039091169063bca99e39906024015b5f604051808303815f87803b15801561284c575f80fd5b505af1158015610fa3573d5f803e3d5ffd5b5f805160206138eb8339815191525460405163d0d63b0960e01b81526001600160601b03831660048201526001600160a01b039091169063d0d63b0990602401612835565b6128ab61162f565b6001600160a01b0316336001600160a01b0316146128de5760405163086391f760e31b815233600482015260240161082c565b6128e8600b612b91565b60405163deaa59df60e01b81526001600160a01b038381166004830152919091169063deaa59df90602401612835565b5f7f25e3e51823fbfffb988e0a2744bb93722d9f3e906c07cc0a9e77884c46c583006004908101546040516379e872e960e11b81526001600160601b0386169281019290925264ffffffffff841660248301526001600160a01b03169063f3d0e5d2906044016020604051808303815f875af115801561299a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d98919061325a565b6040516001600160a01b03848116602483015283811660448301526001600160e01b0319831660648301525f9182918291829189169060840160408051601f198184030181529181526020820180516001600160e01b031663b700961360e01b17905251612a2c919061383f565b5f60405180830381855afa9150503d805f8114612a64576040519150601f19603f3d011682016040523d82523d5f602084013e612a69565b606091505b50915091508115612abb576040815110612a9b5780806020019051810190612a919190613855565b9094509250612abb565b6020815110612abb5780806020019051810190612ab891906132f6565b93505b505094509492505050565b60408051808201909152606081525f60208201525f5f805160206138ab83398151915290506040518060400160405280826001018054612b059061361f565b80601f0160208091040260200160405190810160405280929190818152602001828054612b319061361f565b8015612b7c5780601f10612b5357610100808354040283529160200191612b7c565b820191905f5260205f20905b815481529060010190602001808311612b5f57829003601f168201915b50505091835250505f60209091015292915050565b5f5f8051602061390b83398151915263d39e604383612bae611528565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865afa158015612bf1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c3c91906132db565b6001600160601b0381168114611950575f80fd5b5f60208284031215612c39575f80fd5b8135612c4481612c15565b9392505050565b5f60208284031215612c5b575f80fd5b81356001600160e01b031981168114612c44575f80fd5b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f611d986020830184612c72565b5f8060408385031215612cc3575f80fd5b8235612cce81612c15565b91506020830135612cde81612c15565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b604080519081016001600160401b0381118282101715612d1f57612d1f612ce9565b60405290565b60405161020081016001600160401b0381118282101715612d1f57612d1f612ce9565b60405160c081016001600160401b0381118282101715612d1f57612d1f612ce9565b604051601f8201601f191681016001600160401b0381118282101715612d9257612d92612ce9565b604052919050565b6001600160a01b0381168114611950575f80fd5b5f60408284031215612dbe575f80fd5b612dc6612cfd565b90508135612dd381612d9a565b81526020820135612de381612c15565b602082015292915050565b5f8060608385031215612dff575f80fd5b8235612e0a81612c15565b9150612e198460208501612dae565b90509250929050565b5f8060408385031215612e33575f80fd5b8235612cce81612d9a565b5f805f60608486031215612e50575f80fd5b8335612e5b81612c15565b92506020840135612e6b81612c15565b91506040840135612e7b81612c15565b809150509250925092565b5f6001600160401b03821115612e9e57612e9e612ce9565b50601f01601f191660200190565b5f82601f830112612ebb575f80fd5b8135612ece612ec982612e86565b612d6a565b818152846020838601011115612ee2575f80fd5b816020850160208301375f918101602001919091529392505050565b5f60208284031215612f0e575f80fd5b81356001600160401b03811115612f23575f80fd5b612f2f84828501612eac565b949350505050565b8015158114611950575f80fd5b5f8060408385031215612f55575f80fd5b8235612f6081612c15565b91506020830135612cde81612f37565b5f60208284031215612f80575f80fd5b8135612c4481612d9a565b5f60e0820190506001600160601b03835116825260018060a01b03602084015116602083015260018060a01b0360408401511660408301526060830151151560608301526080830151612fe2608084018215159052565b5060a0830151612ff660a084018215159052565b5060c083015161300a60c084018215159052565b5092915050565b5f805f60c08486031215613023575f80fd5b61302d8585612dae565b925061303c8560408601612dae565b915061304b8560808601612dae565b90509250925092565b602081525f82516040602084015261306f6060840182612c72565b602094909401516001600160a01b0316604093909301929092525090919050565b5f805f805f60a086880312156130a4575f80fd5b85356130af81612c15565b945060208601356001600160401b038111156130c9575f80fd5b6130d588828901612eac565b94505060408601356130e681612c15565b925060608601356001600160401b03811115613100575f80fd5b61310c88828901612eac565b925050608086013561311d81612c15565b809150509295509295909350565b5f805f806080858703121561313e575f80fd5b843561314981612d9a565b9350602085013561315981612d9a565b925060408501359150606085013561317081612d9a565b939692955090935050565b61ffff81168114611950575f80fd5b5f805f6060848603121561319c575f80fd5b83356131a781612c15565b92506020840135612e6b8161317b565b64ffffffffff81168114611950575f80fd5b5f80604083850312156131da575f80fd5b82356131e581612c15565b91506020830135612cde816131b7565b8051610c3f81612c15565b5f60408284031215613210575f80fd5b613218612cfd565b9050815161322581612d9a565b81526020820151612de381612c15565b5f60408284031215613245575f80fd5b611d988383613200565b8051610c3f816131b7565b5f6020828403121561326a575f80fd5b8151612c44816131b7565b60ff81168114611950575f80fd5b5f60208284031215613293575f80fd5b8151612c4481613275565b5f602082840312156132ae575f80fd5b815162ffffff81168114612c44575f80fd5b5f602082840312156132d0575f80fd5b8151612c4481612c15565b5f602082840312156132eb575f80fd5b8151612c4481612d9a565b5f60208284031215613306575f80fd5b8151612c4481612f37565b6001600160601b039290921682526001600160a01b0316602082015260400190565b80516001600160c01b031981168114610c3f575f80fd5b8051610c3f8161317b565b5f613362612ec984612e86565b9050828152838383011115613375575f80fd5b8282602083015e5f602084830101529392505050565b5f82601f83011261339a575f80fd5b611d9883835160208501613355565b5f602082840312156133b9575f80fd5b81516001600160401b038111156133ce575f80fd5b820161020081850312156133e0575f80fd5b6133e8612d25565b6133f1826131f5565b81526133ff602083016131f5565b602082015261341060408301613333565b6040820152613421606083016131f5565b6060820152613432608083016131f5565b608082015261344360a08301613333565b60a082015261345460c0830161334a565b60c082015261346560e0830161334a565b60e082015261347761010083016131f5565b61010082015261348a61012083016131f5565b61012082015261349d610140830161324f565b6101408201526134b0610160830161324f565b6101608201526134c3610180830161324f565b6101808201526134d66101a0830161324f565b6101a08201526101c08201516001600160401b038111156134f5575f80fd5b6135018682850161338b565b6101c0830152506101e08201516001600160401b03811115613521575f80fd5b61352d8682850161338b565b6101e083015250949350505050565b5f6020828403121561354c575f80fd5b81516001600160401b03811115613561575f80fd5b820160e08185031215613572575f80fd5b61357a612d48565b8151613585816131b7565b81526020820151613595816131b7565b60208201526135a66040830161324f565b60408201526135b7606083016131f5565b60608201526135c98560808401613200565b608082015260c08201516001600160401b038111156135e6575f80fd5b6135f28682850161338b565b60a083015250949350505050565b81810381811115611d9b57634e487b7160e01b5f52601160045260245ffd5b600181811c9082168061363357607f821691505b60208210810361365157634e487b7160e01b5f52602260045260245ffd5b50919050565b5f8085851115613665575f80fd5b83861115613671575f80fd5b5050820193919092039150565b80356001600160e01b0319811690600484101561300a576001600160e01b031960049490940360031b84901b1690921692915050565b6001600160a01b03841681526040602082018190528101829052818360608301375f818301606090810191909152601f909201601f1916010192915050565b80516001600160a01b031682526020908101516001600160601b0316910152565b6001600160a01b038516815261372d60208201856136f3565b64ffffffffff8316606082015260a060808201525f61127960a0830184612c72565b6001600160601b038316815260608101612c4460208301846136f3565b5f6020828403121561377c575f80fd5b5051919050565b60c0810161379182866136f3565b61379e60408301856136f3565b612f2f60808301846136f3565b5f602082840312156137bb575f80fd5b81516001600160401b038111156137d0575f80fd5b8201604081850312156137e1575f80fd5b6137e9612cfd565b81516001600160401b038111156137fe575f80fd5b8201601f8101861361380e575f80fd5b61381d86825160208401613355565b8252506020820151915061383082612d9a565b60208101919091529392505050565b5f82518060208501845e5f920191825250919050565b5f8060408385031215613866575f80fd5b825161387181612f37565b602084015190925063ffffffff81168114612cde575f80fdfe07ebcf49758b6ed3af50fa146bec0abe157c0218fe65dc0874c286e9d5da4f00ffe8d4462baed26a47154f4b8f6db497d2f772496965791d25bd456e342b7f00f3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a0025e3e51823fbfffb988e0a2744bb93722d9f3e906c07cc0a9e77884c46c58303000000000000000000000000345ca3e014aaf5dca488057592ee47305d9b3e10a2646970667358221220e361c5dd189901e42a580841fc9a968b886e5e19e0398a596514a1fadbbc405664736f6c634300081a0033",
|
1304
|
+
"bytecode": "0x608060405234801561000f575f80fd5b50604051614d33380380614d3383398101604081905261002e91610f78565b5f3390506101ce8585856040518060e0016040528073__$3bac17678db7ae928afa209f2f44deec9c$__636ac5db196040518163ffffffff1660e01b8152600401602060405180830381865af415801561008a573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100ae9190610ffd565b6001600160601b0316815260200173__$bf7bc340cbb9229ef1de2c568356e67902$__63901717d16040518163ffffffff1660e01b8152600401602060405180830381865af4158015610103573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101279190611018565b6001600160a01b0316815260200173__$bf7bc340cbb9229ef1de2c568356e67902$__63901717d16040518163ffffffff1660e01b8152600401602060405180830381865af415801561017c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101a09190611018565b6001600160a01b031681525f60208201819052604082018190526060820181905260809091015286866101d8565b50505050506112bb565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff1615906001600160401b03165f811580156102215750825b90505f826001600160401b0316600114801561023c5750303b155b90508115801561024a575080155b156102685760405163f92ee8a960e01b815260040160405180910390fd5b84546001600160401b0319166001178555831561029657845460ff60401b1916680100000000000000001785555b6102a48b8b8b8b8b8b6102f7565b83156102ea57845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050505050505050565b6102ff610315565b61030d868686868686610365565b505050505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005468010000000000000000900460ff1661036357604051631afcd79f60e31b815260040160405180910390fd5b565b61036d610315565b610382868686600f60608801518790876104fc565b5f7f25e3e51823fbfffb988e0a2744bb93722d9f3e906c07cc0a9e77884c46c58300845160208601516001600160601b039091166c010000000000000000000000006001600160a01b03928316021782556040860151600183018054606089015160808a015160a08b015160c08c0151959096166001600160a81b031990931692909217600160a01b911515919091021761ffff60a81b1916600160a81b9115159190910260ff60b01b191617600160b01b931515939093029290921760ff60b81b1916600160b81b911515919091021790559050610467610462600f90565b610757565b6003820180546001600160a01b0319166001600160a01b0392909216919091179055610494610462601690565b6004820180546001600160a01b0319166001600160a01b03929092169190911790556104c1610462600b90565b6002820180546001600160a01b0319166001600160a01b03929092169190911790556104f3635a48579360e11b6107ee565b50505050505050565b610504610315565b5f610510888887610821565b90505f7fffe3d4462bded26a47154f4b8f6db494d2f772496965791d25bd456e342b7f0060405163bf8e179760e01b81526001600160601b03841660048201529091506001600160a01b038a169063bf8e179790602401602060405180830381865afa158015610582573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105a69190611018565b81546001600160a01b0319166001600160a01b039190911690811782556040805163bf7e214f60e01b81529051610644929163bf7e214f9160048083019260209291908290030181865afa158015610600573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106249190611018565b8a8a8a8a898960405180602001604052805f8152506108cc60201b60201c565b8054604080516302cd307160e01b815290516001600160a01b03909216916302cd3071916004808201926020929091908290030181865afa15801561068b573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106af9190611018565b6001820180546001600160a01b03199081166001600160a01b03938416179091556002830180549091169187169190911790556106ed610462600b90565b6003820180546001600160a01b0319166001600160a01b039290921691909117905561071a610462600d90565b6004820180546001600160a01b0319166001600160a01b039290921691909117905561074c6330841f2160e21b6107ee565b505050505050505050565b5f61076a6001546001600160a01b031690565b6001600160a01b031663d39e604383610781610995565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865afa1580156107c4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107e89190611018565b92915050565b6107f6610315565b61081e816001600160e01b0319165f908152602081905260409020805460ff19166001179055565b50565b5f60ff8216600c03610842576108398484600a610a2b565b508290506108c5565b5f61084f8585600c610a2b565b60405163677d3feb60e11b81526001600160601b03861660048201529091506001600160a01b0382169063cefa7fd690602401602060405180830381865afa15801561089d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108c19190610ffd565b9150505b9392505050565b6108d4610315565b84515f036108f55760405163591eebf360e11b815260040160405180910390fd5b61090488888887878787610af5565b7fffe8d4462baed26a47154f4b8f6db497d2f772496965791d25bd456e342b7f008061093087826110b7565b5060018101805460ff191685151517905561094c610462600b90565b6001820180546001600160a01b039290921661010002610100600160a81b0319909216919091179055610985634a531f3360e01b6107ee565b61074c6306e9e5ff60e31b6107ee565b5f6109c77ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a00546001600160a01b031690565b6001600160a01b03166376b707b76040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a02573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a26919061118a565b905090565b6040516305247a1760e51b81526001600160601b038316600482015283905f906001600160a01b0383169063a48f42e0906024015f60405180830381865afa158015610a79573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610aa091908101906111d2565b9050610ab781604001518460ff9081169116141590565b15610aed57604080820151905163b0c1f6eb60e01b815260ff808616600483015290911660248201526044015b60405180910390fd5b509392505050565b610afd610315565b604051632330f24760e01b81526001600160a01b038816600482015273__$fb599632d08395912d9d70eb2f0f93b5e2$__90632330f24790602401602060405180830381865af4158015610b53573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b7791906112a2565b610b9f5760405163cf6935e560e01b81526001600160a01b0388166004820152602401610ae4565b610ba887610c49565b610bb28683610c5a565b5f7f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30080546001600160601b0388166001600160681b0319909116176c0100000000000000000000000060ff8816021760ff60681b19166d010000000000000000000000000086151502178155905060018101610c2e83826110b7565b50610c3f634a531f3360e01b6107ee565b5050505050505050565b610c51610315565b61081e81610cec565b610c62610315565b610c6a610cfd565b610c7382610d45565b6001600160a01b038116610c9a5760405163f17ef42d60e01b815260040160405180910390fd5b7f07ebcf49758b6ed3af50fa146bec0abe157c0218fe65dc0874c286e9d5da4f0080546001600160601b03166c010000000000000000000000006001600160a01b039093169290920291909117905550565b610cf4610315565b61081e81610e11565b610d05610315565b6103636301ffc9a760e01b5f9081526020527f67be87c3ff9960ca1e9cfac5cab2ff4747269cf9ed20c9b7306235ac35a491c5805460ff19166001179055565b610d4d610315565b604051633334d16b60e01b81526001600160a01b038216600482015273__$fb599632d08395912d9d70eb2f0f93b5e2$__90633334d16b90602401602060405180830381865af4158015610da3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610dc791906112a2565b610def5760405163fdeac91f60e01b81526001600160a01b0382166004820152602401610ae4565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b7ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a0080546001600160a01b0383166001600160a01b03199091168117825560408051918252517f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad9181900360200190a15050565b6001600160a01b038116811461081e575f80fd5b8051610ea381610e84565b919050565b6001600160601b038116811461081e575f80fd5b8051610ea381610ea8565b634e487b7160e01b5f52604160045260245ffd5b60405160e081016001600160401b0381118282101715610efd57610efd610ec7565b60405290565b5f806001600160401b03841115610f1c57610f1c610ec7565b50604051601f19601f85018116603f011681018181106001600160401b0382111715610f4a57610f4a610ec7565b604052838152905080828401851015610f61575f80fd5b8383602083015e5f60208583010152509392505050565b5f805f8060808587031215610f8b575f80fd5b8451610f9681610e84565b6020860151909450610fa781610ea8565b60408601519093506001600160401b03811115610fc2575f80fd5b8501601f81018713610fd2575f80fd5b610fe187825160208401610f03565b9250506060850151610ff281610e84565b939692955090935050565b5f6020828403121561100d575f80fd5b81516108c581610ea8565b5f60208284031215611028575f80fd5b81516108c581610e84565b600181811c9082168061104757607f821691505b60208210810361106557634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156110b257805f5260205f20601f840160051c810160208510156110905750805b601f840160051c820191505b818110156110af575f815560010161109c565b50505b505050565b81516001600160401b038111156110d0576110d0610ec7565b6110e4816110de8454611033565b8461106b565b6020601f821160018114611116575f83156110ff5750848201515b5f19600385901b1c1916600184901b1784556110af565b5f84815260208120601f198516915b828110156111455787850151825560209485019460019092019101611125565b508482101561116257868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b60ff8116811461081e575f80fd5b8051610ea381611171565b5f6020828403121561119a575f80fd5b81516108c581611171565b80518015158114610ea3575f80fd5b5f82601f8301126111c3575f80fd5b6108c583835160208501610f03565b5f602082840312156111e2575f80fd5b81516001600160401b038111156111f7575f80fd5b820160e08185031215611208575f80fd5b611210610edb565b61121982610ebc565b815261122760208301610ebc565b60208201526112386040830161117f565b6040820152611249606083016111a5565b606082015261125a60808301610e98565b608082015261126b60a08301610e98565b60a082015260c08201516001600160401b03811115611288575f80fd5b611294868285016111b4565b60c083015250949350505050565b5f602082840312156112b2575f80fd5b6108c5826111a5565b613a6b806112c85f395ff3fe608060405234801561000f575f80fd5b5060043610610280575f3560e01c8063644c45e01161015657806392f37d78116100ca578063d0d63b0911610084578063d0d63b09146106e0578063de7b5d14146106f3578063deaa59df14610723578063ea15869f14610736578063ee3784631461075d578063f3d0e5d214610770575f80fd5b806392f37d7814610683578063ad12ad6014610696578063ada9652e146106a9578063b423086c146106bd578063bca99e39146106c5578063bf7e214f146106d8575f80fd5b80637a9e5e4b1161011b5780637a9e5e4b1461052e57806385ba834414610541578063893d20e8146106325780638d9a753f1461063a5780638fb360371461064d57806390edbd351461066e575f80fd5b8063644c45e0146104a157806368d2b320146104be5780636bd1c0eb146104d15780636c1e9dff1461050157806376b707b714610514575f80fd5b806322366844116101f857806343d752d3116101b257806343d752d3146104475780634deed5791461044f57806354e50779146104625780635741e5e9146104755780635ab1bd531461047d5780635e1767ea1461048e575f80fd5b806322366844146103d557806322f3e2d4146103dd57806326889b09146103e55780632eb3e6f4146103fa57806337dd18a514610421578063419197fe14610434575f80fd5b806313299604116102495780631329960414610356578063138461e01461037657806317d7de7c1461037e5780631c6b2190146103935780631eff4b22146103a657806321df0da7146103cd575f80fd5b806293f0eb1461028457806301ffc9a7146102b45780630d8e6e2c146102f05780630fec111c1461030c5780630ffeecca14610321575b5f80fd5b610297610292366004612bd5565b610799565b6040516001600160601b0390911681526020015b60405180910390f35b6102e06102c2366004612bf7565b6001600160e01b0319165f9081526020819052604090205460ff1690565b60405190151581526020016102ab565b6102f86108ef565b60405162ffffff90911681526020016102ab565b610314610976565b6040516102ab9190612c4c565b6103487f25e3e51823fbfffb988e0a2744bb93722d9f3e906c07cc0a9e77884c46c5830081565b6040519081526020016102ab565b61035e610b30565b6040516001600160a01b0390911681526020016102ab565b610297610b98565b610386610ba2565b6040516102ab9190612ce0565b6102976103a1366004612bd5565b610bb2565b6103487f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30081565b61035e610c08565b6102e0610c4c565b6102e0610d42565b6103f86103f3366004612cf2565b610db9565b005b6103487fffe3d4462bded26a47154f4b8f6db494d2f772496965791d25bd456e342b7f0081565b6103f861042f366004612e50565b610e9a565b6103f8610442366004612e84565b610f7a565b61035e610fcd565b6103f861045d366004612ea0565b610fdf565b610297610470366004612cf2565b61119c565b6102e0611280565b6001546001600160a01b031661035e565b61034861049c366004612f60565b611336565b5f805160206139d6833981519152546001600160601b0316610297565b6103f86104cc366004612f9e565b61137f565b7fffe3d4462bded26a47154f4b8f6db494d2f772496965791d25bd456e342b7f02546001600160a01b031661035e565b6103f861050f366004612cf2565b611458565b61051c611531565b60405160ff90911681526020016102ab565b6103f861053c366004612fca565b611599565b6106256040805160e0810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c08101919091527f25e3e51823fbfffb988e0a2744bb93722d9f3e906c07cc0a9e77884c46c583006040805160e08101825282546001600160601b03811682526001600160a01b03600160601b909104811660208301526001909301549283169181019190915260ff600160a01b8304811615156060830152600160a81b8304811615156080830152600160b01b83048116151560a0830152600160b81b909204909116151560c0820152919050565b6040516102ab9190612fe5565b61035e61161f565b6103f861064836600461306b565b611750565b61065561179f565b6040516001600160e01b031990911681526020016102ab565b6106766117d4565b6040516102ab91906130ae565b6102e06106913660046130ea565b611805565b6103f86106a4366004613185565b611830565b6103485f805160206139d683398151915281565b6106766118d3565b6103f86106d3366004612bd5565b6118ef565b61035e61193f565b6103f86106ee366004612bd5565b61195a565b7fffe3d4462bded26a47154f4b8f6db494d2f772496965791d25bd456e342b7f00546001600160a01b031661035e565b6103f8610731366004612fca565b611a32565b6103487fffe8d4462baed26a47154f4b8f6db497d2f772496965791d25bd456e342b7f0081565b6103f861076b3660046131e4565b611a7f565b61078361077e366004613223565b611a95565b60405164ffffffffff90911681526020016102ab565b5f6107a6335b5f36611b6f565b6107ae61161f565b6001600160a01b0316336001600160a01b0316146107e65760405163086391f760e31b81523360048201526024015b60405180910390fd5b5f3390506108dc8173__$58e11c6004c5796aaa8c56e718245e69a2$__63bc1b392d6040518163ffffffff1660e01b81526004016040805180830381865af4158015610834573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610858919061328f565b6040516209629960e41b8152605a600482015273__$71e292c09eace9601b3e21e68a1278917a$__906296299090602401602060405180830381865af41580156108a4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108c891906132b4565b60405180602001604052805f815250611c65565b91506108e88284611d03565b5050919050565b604051632efe011360e01b8152600160048201525f60248201819052604482018190529073__$8eede297b65ed5a56eb3f84d8232ae93f5$__90632efe011390606401602060405180830381865af415801561094d573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061097191906132cf565b905090565b6040805160e0810182525f8082526020820181905291810182905260608082018390526080820183905260a0820183905260c0820152907f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30090506040518060e0016040528073__$94a2c899be079b00d952d0d84fffaa5c34$__63bc1b392d6040518163ffffffff1660e01b8152600401602060405180830381865af4158015610a22573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a4691906132f1565b6001600160601b0390811682528354908116602083015260ff600160601b820481166040840152600160681b909104161515606082015230608082015260a001610a8e61161f565b6001600160a01b03168152602001826001018054610aab9061330c565b80601f0160208091040260200160405190810160405280929190818152602001828054610ad79061330c565b8015610b225780601f10610af957610100808354040283529160200191610b22565b820191905f5260205f20905b815481529060010190602001808311610b0557829003601f168201915b505050505081525091505090565b5f610b39610fcd565b6001600160a01b031663132996046040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b74573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610971919061334f565b5f61097130611d95565b6060610bac6117d4565b51919050565b5f610bbc3361079f565b610bc461161f565b6001600160a01b0316336001600160a01b031614610bf75760405163086391f760e31b81523360048201526024016107dd565b610c0082611fd7565b90505b919050565b5f610c11610fcd565b6001600160a01b03166382bfefc86040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b74573d5f803e3d5ffd5b5f610c5f6001546001600160a01b031690565b604051632f2a35f760e11b81523060048201526001600160a01b039190911690635e546bee90602401602060405180830381865afa158015610ca3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cc791906132f1565b6040516330b8415f60e01b81526001600160601b03909116600482015273__$94a2c899be079b00d952d0d84fffaa5c34$__906330b8415f90602401602060405180830381865af4158015610d1e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109719190613375565b5f610d4b61193f565b60405163a166aa8960e01b81523060048201526001600160a01b03919091169063a166aa8990602401602060405180830381865afa158015610d8f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610db39190613375565b15905090565b610dc23361079f565b81610dd56001546001600160a01b031690565b604051631c5da14d60e11b81526001600160601b03831660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa158015610e22573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e46919061334f565b6001600160a01b0316336001600160a01b031614610e7b578033604051636efdd32b60e11b81526004016107dd929190613390565b826016610e88828261206e565b610e9285856121a2565b505050505050565b610ea33361079f565b81610eb66001546001600160a01b031690565b604051631c5da14d60e11b81526001600160601b03831660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa158015610f03573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f27919061334f565b6001600160a01b0316336001600160a01b031614610f5c578033604051636efdd32b60e11b81526004016107dd929190613390565b826016610f69828261206e565b610f7385856121ef565b5050505050565b610f833361079f565b610f8b61161f565b6001600160a01b0316336001600160a01b031614610fbe5760405163086391f760e31b81523360048201526024016107dd565b610fc88282612269565b505050565b5f610fd66117d4565b60200151905090565b610fe83361079f565b826015610ff5828261206e565b5f6110277fffe3d4462bded26a47154f4b8f6db494d2f772496965791d25bd456e342b7f01546001600160a01b031690565b60405163bd7d9d8560e01b81526001600160601b03881660048201529091506111239087906001600160a01b0384169063bd7d9d85906024015f60405180830381865afa15801561107a573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526110a19190810190613428565b6101c00151604051634793b4ab60e01b81526001600160601b038916600482015288906001600160a01b03861690634793b4ab906024015f60405180830381865afa1580156110f2573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261111991908101906135bb565b60a0015188611805565b61114b57604051636b468c9b60e01b81526001600160601b03871660048201526024016107dd565b604080513081526001600160601b03888116602083015286168183015290517fcca48a0200c526a7c48f1e770c739ef8e82d7b30e26825735858705fbcda4e079181900360600190a1505050505050565b5f6111a63361079f565b826111b96001546001600160a01b031690565b604051631c5da14d60e11b81526001600160601b03831660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa158015611206573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061122a919061334f565b6001600160a01b0316336001600160a01b03161461125f578033604051636efdd32b60e11b81526004016107dd929190613390565b83601661126c828261206e565b61127686866123fd565b9695505050505050565b5f611289610c4c565b1561130d576001546001600160a01b03166040516308b09a5f60e41b81523060048201526001600160a01b039190911690638b09a5f0906024015f60405180830381865afa1580156112dd573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526113049190810190613698565b60600151905090565b507fffe8d4462baed26a47154f4b8f6db497d2f772496965791d25bd456e342b7f015460ff1690565b805160208201205f9060ff199061134f90600190613768565b60405160200161136191815260200190565b60405160208183030381529060405280519060200120169050919050565b6113883361079f565b8161139b6001546001600160a01b031690565b604051631c5da14d60e11b81526001600160601b03831660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa1580156113e8573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061140c919061334f565b6001600160a01b0316336001600160a01b031614611441578033604051636efdd32b60e11b81526004016107dd929190613390565b82601661144e828261206e565b610f73858561244a565b6114613361079f565b816114746001546001600160a01b031690565b604051631c5da14d60e11b81526001600160601b03831660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa1580156114c1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114e5919061334f565b6001600160a01b0316336001600160a01b03161461151a578033604051636efdd32b60e11b81526004016107dd929190613390565b826016611527828261206e565b610e928585611d03565b5f61153a61193f565b6001600160a01b03166376b707b76040518163ffffffff1660e01b8152600401602060405180830381865afa158015611575573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109719190613787565b336115a261193f565b6001600160a01b0316816001600160a01b0316146115dd5760405162d1953b60e31b81526001600160a01b03821660048201526024016107dd565b816001600160a01b03163b5f03611612576040516361798f2f60e11b81526001600160a01b03831660048201526024016107dd565b61161b826124aa565b5050565b5f805f805160206139d683398151915280546040516330b8415f60e01b81526001600160601b03909116600482015290915073__$94a2c899be079b00d952d0d84fffaa5c34$__906330b8415f90602401602060405180830381865af415801561168b573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116af9190613375565b1561173a576001546001600160a01b03168154604051631c5da14d60e11b81526001600160601b0390911660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa158015611710573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611734919061334f565b91505090565b54600160601b90046001600160a01b0316919050565b6117593361079f565b61176161161f565b6001600160a01b0316336001600160a01b0316146117945760405163086391f760e31b81523360048201526024016107dd565b610fc883838361250a565b5f805160206139f683398151915280545f9190600160a01b900460ff166117c6575f611734565b638fb3603760e01b91505090565b60408051808201909152606081525f60208201526117f0610c4c565b156117fd5761097161258f565b6109716118d3565b5f856015611813828261206e565b856016611820828261206e565b5060019998505050505050505050565b6001546001600160a01b03166001600160a01b031663120726c36040518163ffffffff1660e01b8152600401602060405180830381865afa158015611877573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061189b919061334f565b6001600160a01b0316336001600160a01b0316146118cd5760405162f0630960e01b81523360048201526024016107dd565b50505050565b60408051808201909152606081525f602082015261097161258f565b6118f83361079f565b61190061161f565b6001600160a01b0316336001600160a01b0316146119335760405163086391f760e31b81523360048201526024016107dd565b61193c81612781565b50565b5f805160206139f6833981519152546001600160a01b031690565b6119633361079f565b806119766001546001600160a01b031690565b604051631c5da14d60e11b81526001600160601b03831660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa1580156119c3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119e7919061334f565b6001600160a01b0316336001600160a01b031614611a1c578033604051636efdd32b60e11b81526004016107dd929190613390565b816016611a29828261206e565b6118cd846127eb565b611a3b3361079f565b611a4361161f565b6001600160a01b0316336001600160a01b031614611a765760405163086391f760e31b81523360048201526024016107dd565b61193c81612830565b611a883361079f565b826015610f73828261206e565b5f611a9f3361079f565b82611ab26001546001600160a01b031690565b604051631c5da14d60e11b81526001600160601b03831660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa158015611aff573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b23919061334f565b6001600160a01b0316336001600160a01b031614611b58578033604051636efdd32b60e11b81526004016107dd929190613390565b836016611b65828261206e565b61127686866128a5565b5f805160206139f68339815191525f80611ba7611b8a61193f565b8730611b9960045f8a8c6137a2565b611ba2916137c9565b61294b565b9150915081610e925763ffffffff811615611c4257825460ff60a01b1916600160a01b178355611bd561193f565b6001600160a01b03166394c7d7ee8787876040518463ffffffff1660e01b8152600401611c04939291906137ff565b5f604051808303815f87803b158015611c1b575f80fd5b505af1158015611c2d573d5f803e3d5ffd5b5050845460ff60a01b1916855550610e929050565b60405162d1953b60e31b81526001600160a01b03871660048201526024016107dd565b7f25e3e51823fbfffb988e0a2744bb93722d9f3e906c07cc0a9e77884c46c5830454604051637eddc94b60e11b81525f916001600160a01b03169063fdbb929690611cba90889088908890889060040161385f565b6020604051808303815f875af1158015611cd6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611cfa91906132f1565b95945050505050565b5f80516020613a1683398151915254604051636c1e9dff60e01b81526001600160601b038481166004830152831660248201525f916001600160a01b031690636c1e9dff906044015b6020604051808303815f875af1158015611d68573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d8c91906132f1565b90505b92915050565b5f805f805160206139d683398151915280546040516330b8415f60e01b81526001600160601b03909116600482015290915073__$94a2c899be079b00d952d0d84fffaa5c34$__906330b8415f90602401602060405180830381865af4158015611e01573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e259190613375565b15611e515780546040516301ab8b6760e21b81526001600160601b0390911660048201526024016107dd565b6001546001600160a01b031660405163c3c5a54760e01b81526001600160a01b038581166004830152919091169063c3c5a54790602401602060405180830381865afa158015611ea3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ec79190613375565b611eef5760405163b9304b0d60e01b81526001600160a01b03841660048201526024016107dd565b6001546001600160a01b0316604051632f2a35f760e11b81526001600160a01b0385811660048301529190911690635e546bee90602401602060405180830381865afa158015611f41573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f6591906132f1565b81546bffffffffffffffffffffffff19166001600160601b039190911690811782557f88857b75cbef7f257c9d5a473e28aaf6a91cc28f717f60f2cda3bcf5623d7b5490611fb161161f565b604051611fbf929190613390565b60405180910390a1546001600160601b031692915050565b5f7fffe3d4462bded26a47154f4b8f6db494d2f772496965791d25bd456e342b7f00600301546040516301c6b21960e41b81526001600160601b03841660048201526001600160a01b0390911690631c6b2190906024016020604051808303815f875af115801561204a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c0091906132f1565b60405163037c8cb160e51b815260ff8216600482015273__$0d958e68cba84670b8f4a3f2f2686b1c6b$__90636f91962090602401602060405180830381865af41580156120be573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120e29190613375565b8061217057506001546001600160a01b0316604051635b12715d60e11b81526001600160601b038416600482015260ff831660248201526001600160a01b03919091169063b624e2ba90604401602060405180830381865afa15801561214a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061216e9190613375565b155b1561161b5760405163d711af7560e01b81526001600160601b038316600482015260ff821660248201526044016107dd565b5f80516020613a16833981519152546040516326889b0960e01b81526001600160601b038481166004830152831660248201525f916001600160a01b0316906326889b0990604401611d4c565b7f25e3e51823fbfffb988e0a2744bb93722d9f3e906c07cc0a9e77884c46c583045460405163a5fbe47960e01b81526001600160a01b039091169063a5fbe47990612240908590859060040161389a565b5f604051808303815f87803b158015612257575f80fd5b505af1158015610e92573d5f803e3d5ffd5b5f73__$3bac17678db7ae928afa209f2f44deec9c$__634c41dd96846001600160a01b031663dd62ed3e61229b610fcd565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152306024820152604401602060405180830381865afa1580156122e3573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061230791906138b7565b6040518263ffffffff1660e01b815260040161232591815260200190565b602060405180830381865af4158015612340573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061236491906132f1565b90507fffe8d4462baed26a47154f4b8f6db497d2f772496965791d25bd456e342b7f00600101546040516320c8cbff60e11b81526001600160a01b0385811660048301526001600160601b03851660248301526101009092049091169063419197fe906044015f604051808303815f87803b1580156123e1575f80fd5b505af11580156123f3573d5f803e3d5ffd5b5050505092915050565b5f80516020613a16833981519152546040516354e5077960e01b81526001600160601b038481166004830152831660248201525f916001600160a01b0316906354e5077990604401611d4c565b7f25e3e51823fbfffb988e0a2744bb93722d9f3e906c07cc0a9e77884c46c583045460405163d42a24b160e01b81526001600160601b038416600482015282151560248201526001600160a01b039091169063d42a24b190604401612240565b5f805160206139f683398151915280546001600160a01b0383166001600160a01b03199091168117825560408051918252517f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad9181900360200190a15050565b7f25e3e51823fbfffb988e0a2744bb93722d9f3e906c07cc0a9e77884c46c583025460405163cf2f336560e01b81526001600160a01b039091169063cf2f33659061255d908690869086906004016138ce565b5f604051808303815f87803b158015612574575f80fd5b505af1158015612586573d5f803e3d5ffd5b50505050505050565b60408051808201909152606081525f60208201525f6125b66001546001600160a01b031690565b604051632f2a35f760e11b81523060048201526001600160a01b039190911690635e546bee90602401602060405180830381865afa1580156125fa573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061261e91906132f1565b6040516330b8415f60e01b81526001600160601b038216600482015290915073__$94a2c899be079b00d952d0d84fffaa5c34$__906330b8415f90602401602060405180830381865af4158015612677573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061269b9190613375565b15612779577fffe3d4462bded26a47154f4b8f6db494d2f772496965791d25bd456e342b7f01546001600160a01b03166001600160a01b031663f0ea17c36126f75f805160206139d6833981519152546001600160601b031690565b6040516001600160e01b031960e084901b1681526001600160601b0390911660048201526024015f60405180830381865afa158015612738573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261275f91908101906138f6565b60208101519092506001600160a01b031615612779575090565b611734612a53565b5f80516020613a168339815191525460405163bca99e3960e01b81526001600160601b03831660048201526001600160a01b039091169063bca99e39906024015b5f604051808303815f87803b1580156127d9575f80fd5b505af1158015610f73573d5f803e3d5ffd5b5f80516020613a168339815191525460405163d0d63b0960e01b81526001600160601b03831660048201526001600160a01b039091169063d0d63b09906024016127c2565b61283861161f565b6001600160a01b0316336001600160a01b03161461286b5760405163086391f760e31b81523360048201526024016107dd565b612875600b612b30565b60405163deaa59df60e01b81526001600160a01b038381166004830152919091169063deaa59df906024016127c2565b5f7f25e3e51823fbfffb988e0a2744bb93722d9f3e906c07cc0a9e77884c46c583006004908101546040516379e872e960e11b81526001600160601b0386169281019290925264ffffffffff841660248301526001600160a01b03169063f3d0e5d2906044016020604051808303815f875af1158015612927573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d8c91906132b4565b6040516001600160a01b03848116602483015283811660448301526001600160e01b0319831660648301525f9182918291829189169060840160408051601f198184030181529181526020820180516001600160e01b031663b700961360e01b179052516129b9919061398a565b5f60405180830381855afa9150503d805f81146129f1576040519150601f19603f3d011682016040523d82523d5f602084013e6129f6565b606091505b50915091508115612a48576040815110612a285780806020019051810190612a1e91906139a0565b9094509250612a48565b6020815110612a485780806020019051810190612a459190613375565b93505b505094509492505050565b60408051808201909152606081525f60208201525f7fffe8d4462baed26a47154f4b8f6db497d2f772496965791d25bd456e342b7f0090506040518060400160405280825f018054612aa49061330c565b80601f0160208091040260200160405190810160405280929190818152602001828054612ad09061330c565b8015612b1b5780601f10612af257610100808354040283529160200191612b1b565b820191905f5260205f20905b815481529060010190602001808311612afe57829003601f168201915b50505091835250505f60209091015292915050565b5f612b436001546001600160a01b031690565b6001600160a01b031663d39e604383612b5a611531565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865afa158015612b9d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c00919061334f565b6001600160601b038116811461193c575f80fd5b5f60208284031215612be5575f80fd5b8135612bf081612bc1565b9392505050565b5f60208284031215612c07575f80fd5b81356001600160e01b031981168114612bf0575f80fd5b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081526001600160601b0382511660208201526001600160601b03602083015116604082015260ff60408301511660608201525f6060830151612c94608084018215159052565b5060808301516001600160a01b03811660a08401525060a08301516001600160a01b03811660c08401525060c083015160e080840152612cd8610100840182612c1e565b949350505050565b602081525f611d8c6020830184612c1e565b5f8060408385031215612d03575f80fd5b8235612d0e81612bc1565b91506020830135612d1e81612bc1565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b604080519081016001600160401b0381118282101715612d5f57612d5f612d29565b60405290565b60405161020081016001600160401b0381118282101715612d5f57612d5f612d29565b60405160c081016001600160401b0381118282101715612d5f57612d5f612d29565b60405160e081016001600160401b0381118282101715612d5f57612d5f612d29565b604051601f8201601f191681016001600160401b0381118282101715612df457612df4612d29565b604052919050565b6001600160a01b038116811461193c575f80fd5b5f60408284031215612e20575f80fd5b612e28612d3d565b90508135612e3581612dfc565b81526020820135612e4581612bc1565b602082015292915050565b5f8060608385031215612e61575f80fd5b8235612e6c81612bc1565b9150612e7b8460208501612e10565b90509250929050565b5f8060408385031215612e95575f80fd5b8235612d0e81612dfc565b5f805f60608486031215612eb2575f80fd5b8335612ebd81612bc1565b92506020840135612ecd81612bc1565b91506040840135612edd81612bc1565b809150509250925092565b5f6001600160401b03821115612f0057612f00612d29565b50601f01601f191660200190565b5f82601f830112612f1d575f80fd5b8135612f30612f2b82612ee8565b612dcc565b818152846020838601011115612f44575f80fd5b816020850160208301375f918101602001919091529392505050565b5f60208284031215612f70575f80fd5b81356001600160401b03811115612f85575f80fd5b612cd884828501612f0e565b801515811461193c575f80fd5b5f8060408385031215612faf575f80fd5b8235612fba81612bc1565b91506020830135612d1e81612f91565b5f60208284031215612fda575f80fd5b8135612bf081612dfc565b5f60e0820190506001600160601b03835116825260018060a01b03602084015116602083015260018060a01b036040840151166040830152606083015115156060830152608083015161303c608084018215159052565b5060a083015161305060a084018215159052565b5060c083015161306460c084018215159052565b5092915050565b5f805f60c0848603121561307d575f80fd5b6130878585612e10565b92506130968560408601612e10565b91506130a58560808601612e10565b90509250925092565b602081525f8251604060208401526130c96060840182612c1e565b602094909401516001600160a01b0316604093909301929092525090919050565b5f805f805f60a086880312156130fe575f80fd5b853561310981612bc1565b945060208601356001600160401b03811115613123575f80fd5b61312f88828901612f0e565b945050604086013561314081612bc1565b925060608601356001600160401b0381111561315a575f80fd5b61316688828901612f0e565b925050608086013561317781612bc1565b809150509295509295909350565b5f805f8060808587031215613198575f80fd5b84356131a381612dfc565b935060208501356131b381612dfc565b92506040850135915060608501356131ca81612dfc565b939692955090935050565b61ffff8116811461193c575f80fd5b5f805f606084860312156131f6575f80fd5b833561320181612bc1565b92506020840135612ecd816131d5565b64ffffffffff8116811461193c575f80fd5b5f8060408385031215613234575f80fd5b823561323f81612bc1565b91506020830135612d1e81613211565b8051610c0381612bc1565b5f6040828403121561326a575f80fd5b613272612d3d565b9050815161327f81612dfc565b81526020820151612e4581612bc1565b5f6040828403121561329f575f80fd5b611d8c838361325a565b8051610c0381613211565b5f602082840312156132c4575f80fd5b8151612bf081613211565b5f602082840312156132df575f80fd5b815162ffffff81168114612bf0575f80fd5b5f60208284031215613301575f80fd5b8151612bf081612bc1565b600181811c9082168061332057607f821691505b60208210810361333e57634e487b7160e01b5f52602260045260245ffd5b50919050565b8051610c0381612dfc565b5f6020828403121561335f575f80fd5b8151612bf081612dfc565b8051610c0381612f91565b5f60208284031215613385575f80fd5b8151612bf081612f91565b6001600160601b039290921682526001600160a01b0316602082015260400190565b80516001600160c01b031981168114610c03575f80fd5b8051610c03816131d5565b5f6133e1612f2b84612ee8565b90508281528383830111156133f4575f80fd5b8282602083015e5f602084830101529392505050565b5f82601f830112613419575f80fd5b611d8c838351602085016133d4565b5f60208284031215613438575f80fd5b81516001600160401b0381111561344d575f80fd5b8201610200818503121561345f575f80fd5b613467612d65565b6134708261324f565b815261347e6020830161324f565b602082015261348f604083016133b2565b60408201526134a06060830161324f565b60608201526134b16080830161324f565b60808201526134c260a083016133b2565b60a08201526134d360c083016133c9565b60c08201526134e460e083016133c9565b60e08201526134f6610100830161324f565b610100820152613509610120830161324f565b61012082015261351c61014083016132a9565b61014082015261352f61016083016132a9565b61016082015261354261018083016132a9565b6101808201526135556101a083016132a9565b6101a08201526101c08201516001600160401b03811115613574575f80fd5b6135808682850161340a565b6101c0830152506101e08201516001600160401b038111156135a0575f80fd5b6135ac8682850161340a565b6101e083015250949350505050565b5f602082840312156135cb575f80fd5b81516001600160401b038111156135e0575f80fd5b820160e081850312156135f1575f80fd5b6135f9612d88565b815161360481613211565b8152602082015161361481613211565b6020820152613625604083016132a9565b60408201526136366060830161324f565b6060820152613648856080840161325a565b608082015260c08201516001600160401b03811115613665575f80fd5b6136718682850161340a565b60a083015250949350505050565b60ff8116811461193c575f80fd5b8051610c038161367f565b5f602082840312156136a8575f80fd5b81516001600160401b038111156136bd575f80fd5b820160e081850312156136ce575f80fd5b6136d6612daa565b6136df8261324f565b81526136ed6020830161324f565b60208201526136fe6040830161368d565b604082015261370f6060830161336a565b606082015261372060808301613344565b608082015261373160a08301613344565b60a082015260c08201516001600160401b0381111561374e575f80fd5b61375a8682850161340a565b60c083015250949350505050565b81810381811115611d8f57634e487b7160e01b5f52601160045260245ffd5b5f60208284031215613797575f80fd5b8151612bf08161367f565b5f80858511156137b0575f80fd5b838611156137bc575f80fd5b5050820193919092039150565b80356001600160e01b03198116906004841015613064576001600160e01b031960049490940360031b84901b1690921692915050565b6001600160a01b03841681526040602082018190528101829052818360608301375f818301606090810191909152601f909201601f1916010192915050565b80516001600160a01b031682526020908101516001600160601b0316910152565b6001600160a01b0385168152613878602082018561383e565b64ffffffffff8316606082015260a060808201525f61127660a0830184612c1e565b6001600160601b038316815260608101612bf0602083018461383e565b5f602082840312156138c7575f80fd5b5051919050565b60c081016138dc828661383e565b6138e9604083018561383e565b612cd8608083018461383e565b5f60208284031215613906575f80fd5b81516001600160401b0381111561391b575f80fd5b82016040818503121561392c575f80fd5b613934612d3d565b81516001600160401b03811115613949575f80fd5b8201601f81018613613959575f80fd5b613968868251602084016133d4565b8252506020820151915061397b82612dfc565b60208101919091529392505050565b5f82518060208501845e5f920191825250919050565b5f80604083850312156139b1575f80fd5b82516139bc81612f91565b602084015190925063ffffffff81168114612d1e575f80fdfe07ebcf49758b6ed3af50fa146bec0abe157c0218fe65dc0874c286e9d5da4f00f3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a0025e3e51823fbfffb988e0a2744bb93722d9f3e906c07cc0a9e77884c46c58303a26469706673582212208d8fec5a8457d571651deb0dd68ad12b26378a4d14bd1d2af1f6059d9694319464736f6c634300081a0033",
|
1305
|
+
"deployedBytecode": "0x608060405234801561000f575f80fd5b5060043610610280575f3560e01c8063644c45e01161015657806392f37d78116100ca578063d0d63b0911610084578063d0d63b09146106e0578063de7b5d14146106f3578063deaa59df14610723578063ea15869f14610736578063ee3784631461075d578063f3d0e5d214610770575f80fd5b806392f37d7814610683578063ad12ad6014610696578063ada9652e146106a9578063b423086c146106bd578063bca99e39146106c5578063bf7e214f146106d8575f80fd5b80637a9e5e4b1161011b5780637a9e5e4b1461052e57806385ba834414610541578063893d20e8146106325780638d9a753f1461063a5780638fb360371461064d57806390edbd351461066e575f80fd5b8063644c45e0146104a157806368d2b320146104be5780636bd1c0eb146104d15780636c1e9dff1461050157806376b707b714610514575f80fd5b806322366844116101f857806343d752d3116101b257806343d752d3146104475780634deed5791461044f57806354e50779146104625780635741e5e9146104755780635ab1bd531461047d5780635e1767ea1461048e575f80fd5b806322366844146103d557806322f3e2d4146103dd57806326889b09146103e55780632eb3e6f4146103fa57806337dd18a514610421578063419197fe14610434575f80fd5b806313299604116102495780631329960414610356578063138461e01461037657806317d7de7c1461037e5780631c6b2190146103935780631eff4b22146103a657806321df0da7146103cd575f80fd5b806293f0eb1461028457806301ffc9a7146102b45780630d8e6e2c146102f05780630fec111c1461030c5780630ffeecca14610321575b5f80fd5b610297610292366004612bd5565b610799565b6040516001600160601b0390911681526020015b60405180910390f35b6102e06102c2366004612bf7565b6001600160e01b0319165f9081526020819052604090205460ff1690565b60405190151581526020016102ab565b6102f86108ef565b60405162ffffff90911681526020016102ab565b610314610976565b6040516102ab9190612c4c565b6103487f25e3e51823fbfffb988e0a2744bb93722d9f3e906c07cc0a9e77884c46c5830081565b6040519081526020016102ab565b61035e610b30565b6040516001600160a01b0390911681526020016102ab565b610297610b98565b610386610ba2565b6040516102ab9190612ce0565b6102976103a1366004612bd5565b610bb2565b6103487f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30081565b61035e610c08565b6102e0610c4c565b6102e0610d42565b6103f86103f3366004612cf2565b610db9565b005b6103487fffe3d4462bded26a47154f4b8f6db494d2f772496965791d25bd456e342b7f0081565b6103f861042f366004612e50565b610e9a565b6103f8610442366004612e84565b610f7a565b61035e610fcd565b6103f861045d366004612ea0565b610fdf565b610297610470366004612cf2565b61119c565b6102e0611280565b6001546001600160a01b031661035e565b61034861049c366004612f60565b611336565b5f805160206139d6833981519152546001600160601b0316610297565b6103f86104cc366004612f9e565b61137f565b7fffe3d4462bded26a47154f4b8f6db494d2f772496965791d25bd456e342b7f02546001600160a01b031661035e565b6103f861050f366004612cf2565b611458565b61051c611531565b60405160ff90911681526020016102ab565b6103f861053c366004612fca565b611599565b6106256040805160e0810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c08101919091527f25e3e51823fbfffb988e0a2744bb93722d9f3e906c07cc0a9e77884c46c583006040805160e08101825282546001600160601b03811682526001600160a01b03600160601b909104811660208301526001909301549283169181019190915260ff600160a01b8304811615156060830152600160a81b8304811615156080830152600160b01b83048116151560a0830152600160b81b909204909116151560c0820152919050565b6040516102ab9190612fe5565b61035e61161f565b6103f861064836600461306b565b611750565b61065561179f565b6040516001600160e01b031990911681526020016102ab565b6106766117d4565b6040516102ab91906130ae565b6102e06106913660046130ea565b611805565b6103f86106a4366004613185565b611830565b6103485f805160206139d683398151915281565b6106766118d3565b6103f86106d3366004612bd5565b6118ef565b61035e61193f565b6103f86106ee366004612bd5565b61195a565b7fffe3d4462bded26a47154f4b8f6db494d2f772496965791d25bd456e342b7f00546001600160a01b031661035e565b6103f8610731366004612fca565b611a32565b6103487fffe8d4462baed26a47154f4b8f6db497d2f772496965791d25bd456e342b7f0081565b6103f861076b3660046131e4565b611a7f565b61078361077e366004613223565b611a95565b60405164ffffffffff90911681526020016102ab565b5f6107a6335b5f36611b6f565b6107ae61161f565b6001600160a01b0316336001600160a01b0316146107e65760405163086391f760e31b81523360048201526024015b60405180910390fd5b5f3390506108dc8173__$58e11c6004c5796aaa8c56e718245e69a2$__63bc1b392d6040518163ffffffff1660e01b81526004016040805180830381865af4158015610834573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610858919061328f565b6040516209629960e41b8152605a600482015273__$71e292c09eace9601b3e21e68a1278917a$__906296299090602401602060405180830381865af41580156108a4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108c891906132b4565b60405180602001604052805f815250611c65565b91506108e88284611d03565b5050919050565b604051632efe011360e01b8152600160048201525f60248201819052604482018190529073__$8eede297b65ed5a56eb3f84d8232ae93f5$__90632efe011390606401602060405180830381865af415801561094d573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061097191906132cf565b905090565b6040805160e0810182525f8082526020820181905291810182905260608082018390526080820183905260a0820183905260c0820152907f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30090506040518060e0016040528073__$94a2c899be079b00d952d0d84fffaa5c34$__63bc1b392d6040518163ffffffff1660e01b8152600401602060405180830381865af4158015610a22573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a4691906132f1565b6001600160601b0390811682528354908116602083015260ff600160601b820481166040840152600160681b909104161515606082015230608082015260a001610a8e61161f565b6001600160a01b03168152602001826001018054610aab9061330c565b80601f0160208091040260200160405190810160405280929190818152602001828054610ad79061330c565b8015610b225780601f10610af957610100808354040283529160200191610b22565b820191905f5260205f20905b815481529060010190602001808311610b0557829003601f168201915b505050505081525091505090565b5f610b39610fcd565b6001600160a01b031663132996046040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b74573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610971919061334f565b5f61097130611d95565b6060610bac6117d4565b51919050565b5f610bbc3361079f565b610bc461161f565b6001600160a01b0316336001600160a01b031614610bf75760405163086391f760e31b81523360048201526024016107dd565b610c0082611fd7565b90505b919050565b5f610c11610fcd565b6001600160a01b03166382bfefc86040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b74573d5f803e3d5ffd5b5f610c5f6001546001600160a01b031690565b604051632f2a35f760e11b81523060048201526001600160a01b039190911690635e546bee90602401602060405180830381865afa158015610ca3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cc791906132f1565b6040516330b8415f60e01b81526001600160601b03909116600482015273__$94a2c899be079b00d952d0d84fffaa5c34$__906330b8415f90602401602060405180830381865af4158015610d1e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109719190613375565b5f610d4b61193f565b60405163a166aa8960e01b81523060048201526001600160a01b03919091169063a166aa8990602401602060405180830381865afa158015610d8f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610db39190613375565b15905090565b610dc23361079f565b81610dd56001546001600160a01b031690565b604051631c5da14d60e11b81526001600160601b03831660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa158015610e22573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e46919061334f565b6001600160a01b0316336001600160a01b031614610e7b578033604051636efdd32b60e11b81526004016107dd929190613390565b826016610e88828261206e565b610e9285856121a2565b505050505050565b610ea33361079f565b81610eb66001546001600160a01b031690565b604051631c5da14d60e11b81526001600160601b03831660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa158015610f03573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f27919061334f565b6001600160a01b0316336001600160a01b031614610f5c578033604051636efdd32b60e11b81526004016107dd929190613390565b826016610f69828261206e565b610f7385856121ef565b5050505050565b610f833361079f565b610f8b61161f565b6001600160a01b0316336001600160a01b031614610fbe5760405163086391f760e31b81523360048201526024016107dd565b610fc88282612269565b505050565b5f610fd66117d4565b60200151905090565b610fe83361079f565b826015610ff5828261206e565b5f6110277fffe3d4462bded26a47154f4b8f6db494d2f772496965791d25bd456e342b7f01546001600160a01b031690565b60405163bd7d9d8560e01b81526001600160601b03881660048201529091506111239087906001600160a01b0384169063bd7d9d85906024015f60405180830381865afa15801561107a573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526110a19190810190613428565b6101c00151604051634793b4ab60e01b81526001600160601b038916600482015288906001600160a01b03861690634793b4ab906024015f60405180830381865afa1580156110f2573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261111991908101906135bb565b60a0015188611805565b61114b57604051636b468c9b60e01b81526001600160601b03871660048201526024016107dd565b604080513081526001600160601b03888116602083015286168183015290517fcca48a0200c526a7c48f1e770c739ef8e82d7b30e26825735858705fbcda4e079181900360600190a1505050505050565b5f6111a63361079f565b826111b96001546001600160a01b031690565b604051631c5da14d60e11b81526001600160601b03831660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa158015611206573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061122a919061334f565b6001600160a01b0316336001600160a01b03161461125f578033604051636efdd32b60e11b81526004016107dd929190613390565b83601661126c828261206e565b61127686866123fd565b9695505050505050565b5f611289610c4c565b1561130d576001546001600160a01b03166040516308b09a5f60e41b81523060048201526001600160a01b039190911690638b09a5f0906024015f60405180830381865afa1580156112dd573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526113049190810190613698565b60600151905090565b507fffe8d4462baed26a47154f4b8f6db497d2f772496965791d25bd456e342b7f015460ff1690565b805160208201205f9060ff199061134f90600190613768565b60405160200161136191815260200190565b60405160208183030381529060405280519060200120169050919050565b6113883361079f565b8161139b6001546001600160a01b031690565b604051631c5da14d60e11b81526001600160601b03831660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa1580156113e8573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061140c919061334f565b6001600160a01b0316336001600160a01b031614611441578033604051636efdd32b60e11b81526004016107dd929190613390565b82601661144e828261206e565b610f73858561244a565b6114613361079f565b816114746001546001600160a01b031690565b604051631c5da14d60e11b81526001600160601b03831660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa1580156114c1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114e5919061334f565b6001600160a01b0316336001600160a01b03161461151a578033604051636efdd32b60e11b81526004016107dd929190613390565b826016611527828261206e565b610e928585611d03565b5f61153a61193f565b6001600160a01b03166376b707b76040518163ffffffff1660e01b8152600401602060405180830381865afa158015611575573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109719190613787565b336115a261193f565b6001600160a01b0316816001600160a01b0316146115dd5760405162d1953b60e31b81526001600160a01b03821660048201526024016107dd565b816001600160a01b03163b5f03611612576040516361798f2f60e11b81526001600160a01b03831660048201526024016107dd565b61161b826124aa565b5050565b5f805f805160206139d683398151915280546040516330b8415f60e01b81526001600160601b03909116600482015290915073__$94a2c899be079b00d952d0d84fffaa5c34$__906330b8415f90602401602060405180830381865af415801561168b573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116af9190613375565b1561173a576001546001600160a01b03168154604051631c5da14d60e11b81526001600160601b0390911660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa158015611710573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611734919061334f565b91505090565b54600160601b90046001600160a01b0316919050565b6117593361079f565b61176161161f565b6001600160a01b0316336001600160a01b0316146117945760405163086391f760e31b81523360048201526024016107dd565b610fc883838361250a565b5f805160206139f683398151915280545f9190600160a01b900460ff166117c6575f611734565b638fb3603760e01b91505090565b60408051808201909152606081525f60208201526117f0610c4c565b156117fd5761097161258f565b6109716118d3565b5f856015611813828261206e565b856016611820828261206e565b5060019998505050505050505050565b6001546001600160a01b03166001600160a01b031663120726c36040518163ffffffff1660e01b8152600401602060405180830381865afa158015611877573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061189b919061334f565b6001600160a01b0316336001600160a01b0316146118cd5760405162f0630960e01b81523360048201526024016107dd565b50505050565b60408051808201909152606081525f602082015261097161258f565b6118f83361079f565b61190061161f565b6001600160a01b0316336001600160a01b0316146119335760405163086391f760e31b81523360048201526024016107dd565b61193c81612781565b50565b5f805160206139f6833981519152546001600160a01b031690565b6119633361079f565b806119766001546001600160a01b031690565b604051631c5da14d60e11b81526001600160601b03831660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa1580156119c3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119e7919061334f565b6001600160a01b0316336001600160a01b031614611a1c578033604051636efdd32b60e11b81526004016107dd929190613390565b816016611a29828261206e565b6118cd846127eb565b611a3b3361079f565b611a4361161f565b6001600160a01b0316336001600160a01b031614611a765760405163086391f760e31b81523360048201526024016107dd565b61193c81612830565b611a883361079f565b826015610f73828261206e565b5f611a9f3361079f565b82611ab26001546001600160a01b031690565b604051631c5da14d60e11b81526001600160601b03831660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa158015611aff573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b23919061334f565b6001600160a01b0316336001600160a01b031614611b58578033604051636efdd32b60e11b81526004016107dd929190613390565b836016611b65828261206e565b61127686866128a5565b5f805160206139f68339815191525f80611ba7611b8a61193f565b8730611b9960045f8a8c6137a2565b611ba2916137c9565b61294b565b9150915081610e925763ffffffff811615611c4257825460ff60a01b1916600160a01b178355611bd561193f565b6001600160a01b03166394c7d7ee8787876040518463ffffffff1660e01b8152600401611c04939291906137ff565b5f604051808303815f87803b158015611c1b575f80fd5b505af1158015611c2d573d5f803e3d5ffd5b5050845460ff60a01b1916855550610e929050565b60405162d1953b60e31b81526001600160a01b03871660048201526024016107dd565b7f25e3e51823fbfffb988e0a2744bb93722d9f3e906c07cc0a9e77884c46c5830454604051637eddc94b60e11b81525f916001600160a01b03169063fdbb929690611cba90889088908890889060040161385f565b6020604051808303815f875af1158015611cd6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611cfa91906132f1565b95945050505050565b5f80516020613a1683398151915254604051636c1e9dff60e01b81526001600160601b038481166004830152831660248201525f916001600160a01b031690636c1e9dff906044015b6020604051808303815f875af1158015611d68573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d8c91906132f1565b90505b92915050565b5f805f805160206139d683398151915280546040516330b8415f60e01b81526001600160601b03909116600482015290915073__$94a2c899be079b00d952d0d84fffaa5c34$__906330b8415f90602401602060405180830381865af4158015611e01573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e259190613375565b15611e515780546040516301ab8b6760e21b81526001600160601b0390911660048201526024016107dd565b6001546001600160a01b031660405163c3c5a54760e01b81526001600160a01b038581166004830152919091169063c3c5a54790602401602060405180830381865afa158015611ea3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ec79190613375565b611eef5760405163b9304b0d60e01b81526001600160a01b03841660048201526024016107dd565b6001546001600160a01b0316604051632f2a35f760e11b81526001600160a01b0385811660048301529190911690635e546bee90602401602060405180830381865afa158015611f41573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f6591906132f1565b81546bffffffffffffffffffffffff19166001600160601b039190911690811782557f88857b75cbef7f257c9d5a473e28aaf6a91cc28f717f60f2cda3bcf5623d7b5490611fb161161f565b604051611fbf929190613390565b60405180910390a1546001600160601b031692915050565b5f7fffe3d4462bded26a47154f4b8f6db494d2f772496965791d25bd456e342b7f00600301546040516301c6b21960e41b81526001600160601b03841660048201526001600160a01b0390911690631c6b2190906024016020604051808303815f875af115801561204a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c0091906132f1565b60405163037c8cb160e51b815260ff8216600482015273__$0d958e68cba84670b8f4a3f2f2686b1c6b$__90636f91962090602401602060405180830381865af41580156120be573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120e29190613375565b8061217057506001546001600160a01b0316604051635b12715d60e11b81526001600160601b038416600482015260ff831660248201526001600160a01b03919091169063b624e2ba90604401602060405180830381865afa15801561214a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061216e9190613375565b155b1561161b5760405163d711af7560e01b81526001600160601b038316600482015260ff821660248201526044016107dd565b5f80516020613a16833981519152546040516326889b0960e01b81526001600160601b038481166004830152831660248201525f916001600160a01b0316906326889b0990604401611d4c565b7f25e3e51823fbfffb988e0a2744bb93722d9f3e906c07cc0a9e77884c46c583045460405163a5fbe47960e01b81526001600160a01b039091169063a5fbe47990612240908590859060040161389a565b5f604051808303815f87803b158015612257575f80fd5b505af1158015610e92573d5f803e3d5ffd5b5f73__$3bac17678db7ae928afa209f2f44deec9c$__634c41dd96846001600160a01b031663dd62ed3e61229b610fcd565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152306024820152604401602060405180830381865afa1580156122e3573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061230791906138b7565b6040518263ffffffff1660e01b815260040161232591815260200190565b602060405180830381865af4158015612340573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061236491906132f1565b90507fffe8d4462baed26a47154f4b8f6db497d2f772496965791d25bd456e342b7f00600101546040516320c8cbff60e11b81526001600160a01b0385811660048301526001600160601b03851660248301526101009092049091169063419197fe906044015f604051808303815f87803b1580156123e1575f80fd5b505af11580156123f3573d5f803e3d5ffd5b5050505092915050565b5f80516020613a16833981519152546040516354e5077960e01b81526001600160601b038481166004830152831660248201525f916001600160a01b0316906354e5077990604401611d4c565b7f25e3e51823fbfffb988e0a2744bb93722d9f3e906c07cc0a9e77884c46c583045460405163d42a24b160e01b81526001600160601b038416600482015282151560248201526001600160a01b039091169063d42a24b190604401612240565b5f805160206139f683398151915280546001600160a01b0383166001600160a01b03199091168117825560408051918252517f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad9181900360200190a15050565b7f25e3e51823fbfffb988e0a2744bb93722d9f3e906c07cc0a9e77884c46c583025460405163cf2f336560e01b81526001600160a01b039091169063cf2f33659061255d908690869086906004016138ce565b5f604051808303815f87803b158015612574575f80fd5b505af1158015612586573d5f803e3d5ffd5b50505050505050565b60408051808201909152606081525f60208201525f6125b66001546001600160a01b031690565b604051632f2a35f760e11b81523060048201526001600160a01b039190911690635e546bee90602401602060405180830381865afa1580156125fa573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061261e91906132f1565b6040516330b8415f60e01b81526001600160601b038216600482015290915073__$94a2c899be079b00d952d0d84fffaa5c34$__906330b8415f90602401602060405180830381865af4158015612677573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061269b9190613375565b15612779577fffe3d4462bded26a47154f4b8f6db494d2f772496965791d25bd456e342b7f01546001600160a01b03166001600160a01b031663f0ea17c36126f75f805160206139d6833981519152546001600160601b031690565b6040516001600160e01b031960e084901b1681526001600160601b0390911660048201526024015f60405180830381865afa158015612738573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261275f91908101906138f6565b60208101519092506001600160a01b031615612779575090565b611734612a53565b5f80516020613a168339815191525460405163bca99e3960e01b81526001600160601b03831660048201526001600160a01b039091169063bca99e39906024015b5f604051808303815f87803b1580156127d9575f80fd5b505af1158015610f73573d5f803e3d5ffd5b5f80516020613a168339815191525460405163d0d63b0960e01b81526001600160601b03831660048201526001600160a01b039091169063d0d63b09906024016127c2565b61283861161f565b6001600160a01b0316336001600160a01b03161461286b5760405163086391f760e31b81523360048201526024016107dd565b612875600b612b30565b60405163deaa59df60e01b81526001600160a01b038381166004830152919091169063deaa59df906024016127c2565b5f7f25e3e51823fbfffb988e0a2744bb93722d9f3e906c07cc0a9e77884c46c583006004908101546040516379e872e960e11b81526001600160601b0386169281019290925264ffffffffff841660248301526001600160a01b03169063f3d0e5d2906044016020604051808303815f875af1158015612927573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d8c91906132b4565b6040516001600160a01b03848116602483015283811660448301526001600160e01b0319831660648301525f9182918291829189169060840160408051601f198184030181529181526020820180516001600160e01b031663b700961360e01b179052516129b9919061398a565b5f60405180830381855afa9150503d805f81146129f1576040519150601f19603f3d011682016040523d82523d5f602084013e6129f6565b606091505b50915091508115612a48576040815110612a285780806020019051810190612a1e91906139a0565b9094509250612a48565b6020815110612a485780806020019051810190612a459190613375565b93505b505094509492505050565b60408051808201909152606081525f60208201525f7fffe8d4462baed26a47154f4b8f6db497d2f772496965791d25bd456e342b7f0090506040518060400160405280825f018054612aa49061330c565b80601f0160208091040260200160405190810160405280929190818152602001828054612ad09061330c565b8015612b1b5780601f10612af257610100808354040283529160200191612b1b565b820191905f5260205f20905b815481529060010190602001808311612afe57829003601f168201915b50505091835250505f60209091015292915050565b5f612b436001546001600160a01b031690565b6001600160a01b031663d39e604383612b5a611531565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865afa158015612b9d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c00919061334f565b6001600160601b038116811461193c575f80fd5b5f60208284031215612be5575f80fd5b8135612bf081612bc1565b9392505050565b5f60208284031215612c07575f80fd5b81356001600160e01b031981168114612bf0575f80fd5b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081526001600160601b0382511660208201526001600160601b03602083015116604082015260ff60408301511660608201525f6060830151612c94608084018215159052565b5060808301516001600160a01b03811660a08401525060a08301516001600160a01b03811660c08401525060c083015160e080840152612cd8610100840182612c1e565b949350505050565b602081525f611d8c6020830184612c1e565b5f8060408385031215612d03575f80fd5b8235612d0e81612bc1565b91506020830135612d1e81612bc1565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b604080519081016001600160401b0381118282101715612d5f57612d5f612d29565b60405290565b60405161020081016001600160401b0381118282101715612d5f57612d5f612d29565b60405160c081016001600160401b0381118282101715612d5f57612d5f612d29565b60405160e081016001600160401b0381118282101715612d5f57612d5f612d29565b604051601f8201601f191681016001600160401b0381118282101715612df457612df4612d29565b604052919050565b6001600160a01b038116811461193c575f80fd5b5f60408284031215612e20575f80fd5b612e28612d3d565b90508135612e3581612dfc565b81526020820135612e4581612bc1565b602082015292915050565b5f8060608385031215612e61575f80fd5b8235612e6c81612bc1565b9150612e7b8460208501612e10565b90509250929050565b5f8060408385031215612e95575f80fd5b8235612d0e81612dfc565b5f805f60608486031215612eb2575f80fd5b8335612ebd81612bc1565b92506020840135612ecd81612bc1565b91506040840135612edd81612bc1565b809150509250925092565b5f6001600160401b03821115612f0057612f00612d29565b50601f01601f191660200190565b5f82601f830112612f1d575f80fd5b8135612f30612f2b82612ee8565b612dcc565b818152846020838601011115612f44575f80fd5b816020850160208301375f918101602001919091529392505050565b5f60208284031215612f70575f80fd5b81356001600160401b03811115612f85575f80fd5b612cd884828501612f0e565b801515811461193c575f80fd5b5f8060408385031215612faf575f80fd5b8235612fba81612bc1565b91506020830135612d1e81612f91565b5f60208284031215612fda575f80fd5b8135612bf081612dfc565b5f60e0820190506001600160601b03835116825260018060a01b03602084015116602083015260018060a01b036040840151166040830152606083015115156060830152608083015161303c608084018215159052565b5060a083015161305060a084018215159052565b5060c083015161306460c084018215159052565b5092915050565b5f805f60c0848603121561307d575f80fd5b6130878585612e10565b92506130968560408601612e10565b91506130a58560808601612e10565b90509250925092565b602081525f8251604060208401526130c96060840182612c1e565b602094909401516001600160a01b0316604093909301929092525090919050565b5f805f805f60a086880312156130fe575f80fd5b853561310981612bc1565b945060208601356001600160401b03811115613123575f80fd5b61312f88828901612f0e565b945050604086013561314081612bc1565b925060608601356001600160401b0381111561315a575f80fd5b61316688828901612f0e565b925050608086013561317781612bc1565b809150509295509295909350565b5f805f8060808587031215613198575f80fd5b84356131a381612dfc565b935060208501356131b381612dfc565b92506040850135915060608501356131ca81612dfc565b939692955090935050565b61ffff8116811461193c575f80fd5b5f805f606084860312156131f6575f80fd5b833561320181612bc1565b92506020840135612ecd816131d5565b64ffffffffff8116811461193c575f80fd5b5f8060408385031215613234575f80fd5b823561323f81612bc1565b91506020830135612d1e81613211565b8051610c0381612bc1565b5f6040828403121561326a575f80fd5b613272612d3d565b9050815161327f81612dfc565b81526020820151612e4581612bc1565b5f6040828403121561329f575f80fd5b611d8c838361325a565b8051610c0381613211565b5f602082840312156132c4575f80fd5b8151612bf081613211565b5f602082840312156132df575f80fd5b815162ffffff81168114612bf0575f80fd5b5f60208284031215613301575f80fd5b8151612bf081612bc1565b600181811c9082168061332057607f821691505b60208210810361333e57634e487b7160e01b5f52602260045260245ffd5b50919050565b8051610c0381612dfc565b5f6020828403121561335f575f80fd5b8151612bf081612dfc565b8051610c0381612f91565b5f60208284031215613385575f80fd5b8151612bf081612f91565b6001600160601b039290921682526001600160a01b0316602082015260400190565b80516001600160c01b031981168114610c03575f80fd5b8051610c03816131d5565b5f6133e1612f2b84612ee8565b90508281528383830111156133f4575f80fd5b8282602083015e5f602084830101529392505050565b5f82601f830112613419575f80fd5b611d8c838351602085016133d4565b5f60208284031215613438575f80fd5b81516001600160401b0381111561344d575f80fd5b8201610200818503121561345f575f80fd5b613467612d65565b6134708261324f565b815261347e6020830161324f565b602082015261348f604083016133b2565b60408201526134a06060830161324f565b60608201526134b16080830161324f565b60808201526134c260a083016133b2565b60a08201526134d360c083016133c9565b60c08201526134e460e083016133c9565b60e08201526134f6610100830161324f565b610100820152613509610120830161324f565b61012082015261351c61014083016132a9565b61014082015261352f61016083016132a9565b61016082015261354261018083016132a9565b6101808201526135556101a083016132a9565b6101a08201526101c08201516001600160401b03811115613574575f80fd5b6135808682850161340a565b6101c0830152506101e08201516001600160401b038111156135a0575f80fd5b6135ac8682850161340a565b6101e083015250949350505050565b5f602082840312156135cb575f80fd5b81516001600160401b038111156135e0575f80fd5b820160e081850312156135f1575f80fd5b6135f9612d88565b815161360481613211565b8152602082015161361481613211565b6020820152613625604083016132a9565b60408201526136366060830161324f565b6060820152613648856080840161325a565b608082015260c08201516001600160401b03811115613665575f80fd5b6136718682850161340a565b60a083015250949350505050565b60ff8116811461193c575f80fd5b8051610c038161367f565b5f602082840312156136a8575f80fd5b81516001600160401b038111156136bd575f80fd5b820160e081850312156136ce575f80fd5b6136d6612daa565b6136df8261324f565b81526136ed6020830161324f565b60208201526136fe6040830161368d565b604082015261370f6060830161336a565b606082015261372060808301613344565b608082015261373160a08301613344565b60a082015260c08201516001600160401b0381111561374e575f80fd5b61375a8682850161340a565b60c083015250949350505050565b81810381811115611d8f57634e487b7160e01b5f52601160045260245ffd5b5f60208284031215613797575f80fd5b8151612bf08161367f565b5f80858511156137b0575f80fd5b838611156137bc575f80fd5b5050820193919092039150565b80356001600160e01b03198116906004841015613064576001600160e01b031960049490940360031b84901b1690921692915050565b6001600160a01b03841681526040602082018190528101829052818360608301375f818301606090810191909152601f909201601f1916010192915050565b80516001600160a01b031682526020908101516001600160601b0316910152565b6001600160a01b0385168152613878602082018561383e565b64ffffffffff8316606082015260a060808201525f61127660a0830184612c1e565b6001600160601b038316815260608101612bf0602083018461383e565b5f602082840312156138c7575f80fd5b5051919050565b60c081016138dc828661383e565b6138e9604083018561383e565b612cd8608083018461383e565b5f60208284031215613906575f80fd5b81516001600160401b0381111561391b575f80fd5b82016040818503121561392c575f80fd5b613934612d3d565b81516001600160401b03811115613949575f80fd5b8201601f81018613613959575f80fd5b613968868251602084016133d4565b8252506020820151915061397b82612dfc565b60208101919091529392505050565b5f82518060208501845e5f920191825250919050565b5f80604083850312156139b1575f80fd5b82516139bc81612f91565b602084015190925063ffffffff81168114612d1e575f80fdfe07ebcf49758b6ed3af50fa146bec0abe157c0218fe65dc0874c286e9d5da4f00f3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a0025e3e51823fbfffb988e0a2744bb93722d9f3e906c07cc0a9e77884c46c58303a26469706673582212208d8fec5a8457d571651deb0dd68ad12b26378a4d14bd1d2af1f6059d9694319464736f6c634300081a0033",
|
1316
1306
|
"linkReferences": {
|
1317
1307
|
"contracts/shared/ContractLib.sol": {
|
1318
1308
|
"ContractLib": [
|
1319
1309
|
{
|
1320
1310
|
"length": 20,
|
1321
|
-
"start":
|
1311
|
+
"start": 2843
|
1312
|
+
},
|
1313
|
+
{
|
1314
|
+
"length": 20,
|
1315
|
+
"start": 3435
|
1322
1316
|
}
|
1323
1317
|
]
|
1324
1318
|
},
|
@@ -1326,11 +1320,11 @@
|
|
1326
1320
|
"AmountLib": [
|
1327
1321
|
{
|
1328
1322
|
"length": 20,
|
1329
|
-
"start":
|
1323
|
+
"start": 69
|
1330
1324
|
},
|
1331
1325
|
{
|
1332
1326
|
"length": 20,
|
1333
|
-
"start":
|
1327
|
+
"start": 13620
|
1334
1328
|
}
|
1335
1329
|
]
|
1336
1330
|
},
|
@@ -1338,7 +1332,7 @@
|
|
1338
1332
|
"FeeLib": [
|
1339
1333
|
{
|
1340
1334
|
"length": 20,
|
1341
|
-
"start":
|
1335
|
+
"start": 6840
|
1342
1336
|
}
|
1343
1337
|
]
|
1344
1338
|
},
|
@@ -1346,27 +1340,23 @@
|
|
1346
1340
|
"NftIdLib": [
|
1347
1341
|
{
|
1348
1342
|
"length": 20,
|
1349
|
-
"start":
|
1350
|
-
},
|
1351
|
-
{
|
1352
|
-
"length": 20,
|
1353
|
-
"start": 8309
|
1343
|
+
"start": 7333
|
1354
1344
|
},
|
1355
1345
|
{
|
1356
1346
|
"length": 20,
|
1357
|
-
"start":
|
1347
|
+
"start": 8110
|
1358
1348
|
},
|
1359
1349
|
{
|
1360
1350
|
"length": 20,
|
1361
|
-
"start":
|
1351
|
+
"start": 10523
|
1362
1352
|
},
|
1363
1353
|
{
|
1364
1354
|
"length": 20,
|
1365
|
-
"start":
|
1355
|
+
"start": 12433
|
1366
1356
|
},
|
1367
1357
|
{
|
1368
1358
|
"length": 20,
|
1369
|
-
"start":
|
1359
|
+
"start": 14599
|
1370
1360
|
}
|
1371
1361
|
]
|
1372
1362
|
},
|
@@ -1374,7 +1364,7 @@
|
|
1374
1364
|
"ObjectTypeLib": [
|
1375
1365
|
{
|
1376
1366
|
"length": 20,
|
1377
|
-
"start":
|
1367
|
+
"start": 13134
|
1378
1368
|
}
|
1379
1369
|
]
|
1380
1370
|
},
|
@@ -1382,7 +1372,7 @@
|
|
1382
1372
|
"SecondsLib": [
|
1383
1373
|
{
|
1384
1374
|
"length": 20,
|
1385
|
-
"start":
|
1375
|
+
"start": 6965
|
1386
1376
|
}
|
1387
1377
|
]
|
1388
1378
|
},
|
@@ -1390,11 +1380,11 @@
|
|
1390
1380
|
"UFixedLib": [
|
1391
1381
|
{
|
1392
1382
|
"length": 20,
|
1393
|
-
"start":
|
1383
|
+
"start": 190
|
1394
1384
|
},
|
1395
1385
|
{
|
1396
1386
|
"length": 20,
|
1397
|
-
"start":
|
1387
|
+
"start": 311
|
1398
1388
|
}
|
1399
1389
|
]
|
1400
1390
|
},
|
@@ -1402,41 +1392,7 @@
|
|
1402
1392
|
"VersionLib": [
|
1403
1393
|
{
|
1404
1394
|
"length": 20,
|
1405
|
-
"start":
|
1406
|
-
},
|
1407
|
-
{
|
1408
|
-
"length": 20,
|
1409
|
-
"start": 3054
|
1410
|
-
},
|
1411
|
-
{
|
1412
|
-
"length": 20,
|
1413
|
-
"start": 7320
|
1414
|
-
},
|
1415
|
-
{
|
1416
|
-
"length": 20,
|
1417
|
-
"start": 10403
|
1418
|
-
}
|
1419
|
-
],
|
1420
|
-
"VersionPartLib": [
|
1421
|
-
{
|
1422
|
-
"length": 20,
|
1423
|
-
"start": 3111
|
1424
|
-
},
|
1425
|
-
{
|
1426
|
-
"length": 20,
|
1427
|
-
"start": 3501
|
1428
|
-
},
|
1429
|
-
{
|
1430
|
-
"length": 20,
|
1431
|
-
"start": 3669
|
1432
|
-
},
|
1433
|
-
{
|
1434
|
-
"length": 20,
|
1435
|
-
"start": 7377
|
1436
|
-
},
|
1437
|
-
{
|
1438
|
-
"length": 20,
|
1439
|
-
"start": 12559
|
1395
|
+
"start": 7133
|
1440
1396
|
}
|
1441
1397
|
]
|
1442
1398
|
}
|
@@ -1446,7 +1402,7 @@
|
|
1446
1402
|
"AmountLib": [
|
1447
1403
|
{
|
1448
1404
|
"length": 20,
|
1449
|
-
"start":
|
1405
|
+
"start": 8812
|
1450
1406
|
}
|
1451
1407
|
]
|
1452
1408
|
},
|
@@ -1454,7 +1410,7 @@
|
|
1454
1410
|
"FeeLib": [
|
1455
1411
|
{
|
1456
1412
|
"length": 20,
|
1457
|
-
"start":
|
1413
|
+
"start": 2032
|
1458
1414
|
}
|
1459
1415
|
]
|
1460
1416
|
},
|
@@ -1462,27 +1418,23 @@
|
|
1462
1418
|
"NftIdLib": [
|
1463
1419
|
{
|
1464
1420
|
"length": 20,
|
1465
|
-
"start":
|
1466
|
-
},
|
1467
|
-
{
|
1468
|
-
"length": 20,
|
1469
|
-
"start": 3358
|
1421
|
+
"start": 2525
|
1470
1422
|
},
|
1471
1423
|
{
|
1472
1424
|
"length": 20,
|
1473
|
-
"start":
|
1425
|
+
"start": 3302
|
1474
1426
|
},
|
1475
1427
|
{
|
1476
1428
|
"length": 20,
|
1477
|
-
"start":
|
1429
|
+
"start": 5715
|
1478
1430
|
},
|
1479
1431
|
{
|
1480
1432
|
"length": 20,
|
1481
|
-
"start":
|
1433
|
+
"start": 7625
|
1482
1434
|
},
|
1483
1435
|
{
|
1484
1436
|
"length": 20,
|
1485
|
-
"start":
|
1437
|
+
"start": 9791
|
1486
1438
|
}
|
1487
1439
|
]
|
1488
1440
|
},
|
@@ -1490,7 +1442,7 @@
|
|
1490
1442
|
"ObjectTypeLib": [
|
1491
1443
|
{
|
1492
1444
|
"length": 20,
|
1493
|
-
"start":
|
1445
|
+
"start": 8326
|
1494
1446
|
}
|
1495
1447
|
]
|
1496
1448
|
},
|
@@ -1498,7 +1450,7 @@
|
|
1498
1450
|
"SecondsLib": [
|
1499
1451
|
{
|
1500
1452
|
"length": 20,
|
1501
|
-
"start":
|
1453
|
+
"start": 2157
|
1502
1454
|
}
|
1503
1455
|
]
|
1504
1456
|
},
|
@@ -1506,21 +1458,7 @@
|
|
1506
1458
|
"VersionLib": [
|
1507
1459
|
{
|
1508
1460
|
"length": 20,
|
1509
|
-
"start":
|
1510
|
-
},
|
1511
|
-
{
|
1512
|
-
"length": 20,
|
1513
|
-
"start": 5452
|
1514
|
-
}
|
1515
|
-
],
|
1516
|
-
"VersionPartLib": [
|
1517
|
-
{
|
1518
|
-
"length": 20,
|
1519
|
-
"start": 2426
|
1520
|
-
},
|
1521
|
-
{
|
1522
|
-
"length": 20,
|
1523
|
-
"start": 7608
|
1461
|
+
"start": 2325
|
1524
1462
|
}
|
1525
1463
|
]
|
1526
1464
|
}
|