@etherisc/gif-next 0.0.2-f2b0fa2-473 → 0.0.2-f4f2d93-430
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +75 -14
- package/artifacts/contracts/components/Component.sol/Component.dbg.json +4 -0
- package/artifacts/contracts/components/Component.sol/Component.json +842 -0
- package/artifacts/contracts/components/Distribution.sol/Distribution.dbg.json +1 -1
- package/artifacts/contracts/components/Distribution.sol/Distribution.json +948 -229
- package/artifacts/contracts/components/IComponent.sol/IComponent.dbg.json +4 -0
- package/artifacts/contracts/{shared/RegisterableUpgradable.sol/RegisterableUpgradable.json → components/IComponent.sol/IComponent.json} +295 -132
- package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
- package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.json +848 -31
- package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
- package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.json +864 -49
- package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +1 -1
- package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.json +682 -9
- package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +1 -1
- package/artifacts/contracts/components/Pool.sol/Pool.json +849 -247
- package/artifacts/contracts/components/Product.sol/Product.dbg.json +1 -1
- package/artifacts/contracts/components/Product.sol/Product.json +637 -224
- package/artifacts/contracts/instance/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.dbg.json +4 -0
- package/artifacts/contracts/instance/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.json +1206 -0
- package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +4 -0
- package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +778 -0
- package/artifacts/contracts/instance/Cloneable.sol/Cloneable.dbg.json +4 -0
- package/artifacts/contracts/instance/{AccessManagedSimple.sol/AccessManagedSimple.json → Cloneable.sol/Cloneable.json} +91 -2
- package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.json +2200 -184
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +368 -156
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +1005 -1175
- package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +593 -180
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +242 -210
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +666 -190
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +392 -75
- package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.dbg.json +4 -0
- package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.json +256 -0
- package/artifacts/contracts/instance/base/ComponentService.sol/ComponentService.dbg.json +4 -0
- package/artifacts/contracts/instance/base/{ComponentServiceBase.sol/ComponentServiceBase.json → ComponentService.sol/ComponentService.json} +276 -150
- package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +1 -1
- package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
- package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +40 -10
- package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +1 -1
- package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +36 -11
- package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +71 -45
- package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +4 -0
- package/artifacts/contracts/instance/module/IComponents.sol/IComponents.json +10 -0
- package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
- package/artifacts/contracts/instance/module/ISetup.sol/ISetup.dbg.json +1 -1
- package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.dbg.json +1 -1
- package/artifacts/contracts/instance/service/ApplicationService.sol/ApplicationService.dbg.json +4 -0
- package/artifacts/contracts/instance/service/ApplicationService.sol/ApplicationService.json +1039 -0
- package/artifacts/contracts/instance/service/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +4 -0
- package/artifacts/contracts/instance/service/ApplicationServiceManager.sol/ApplicationServiceManager.json +673 -0
- package/artifacts/contracts/instance/service/BundleService.sol/BundleService.dbg.json +4 -0
- package/artifacts/contracts/instance/service/BundleService.sol/BundleService.json +1231 -0
- package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.dbg.json +4 -0
- package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.json +721 -0
- package/artifacts/contracts/instance/service/ClaimService.sol/ClaimService.dbg.json +4 -0
- package/artifacts/contracts/instance/service/ClaimService.sol/ClaimService.json +817 -0
- package/artifacts/contracts/instance/service/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +4 -0
- package/artifacts/contracts/instance/service/ClaimServiceManager.sol/ClaimServiceManager.json +641 -0
- package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.dbg.json +4 -0
- package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.json +1798 -0
- package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +4 -0
- package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.json +805 -0
- package/artifacts/contracts/instance/service/IApplicationService.sol/IApplicationService.dbg.json +4 -0
- package/artifacts/contracts/instance/service/IApplicationService.sol/IApplicationService.json +622 -0
- package/artifacts/contracts/instance/service/IBundleService.sol/IBundleService.dbg.json +4 -0
- package/artifacts/contracts/instance/service/IBundleService.sol/IBundleService.json +659 -0
- package/artifacts/contracts/instance/service/IClaimService.sol/IClaimService.dbg.json +4 -0
- package/artifacts/contracts/instance/service/{IComponentOwnerService.sol/IComponentOwnerService.json → IClaimService.sol/IClaimService.json} +217 -208
- package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.dbg.json +1 -1
- package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.json +804 -160
- package/artifacts/contracts/instance/service/IPolicyService.sol/IPolicyService.dbg.json +4 -0
- package/artifacts/contracts/instance/service/IPolicyService.sol/IPolicyService.json +606 -0
- package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +1 -1
- package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.json +437 -154
- package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +1 -1
- package/artifacts/contracts/instance/service/IProductService.sol/IProductService.json +90 -391
- package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.dbg.json +4 -0
- package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.json +1092 -0
- package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +4 -0
- package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.json +697 -0
- package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +4 -0
- package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +1237 -0
- package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.dbg.json +4 -0
- package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.json +661 -0
- package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +4 -0
- package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +840 -0
- package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.dbg.json +4 -0
- package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.json +653 -0
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +15 -2
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +373 -61
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +223 -229
- package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
- package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +18 -0
- package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
- package/artifacts/contracts/registry/Registry.sol/Registry.json +333 -188
- package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.dbg.json +4 -0
- package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.json +285 -0
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +227 -330
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +304 -138
- package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +4 -0
- package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +559 -0
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +4 -0
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +498 -0
- package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.dbg.json +1 -1
- package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +1 -1
- package/artifacts/contracts/shared/ERC165.sol/ERC165.json +41 -3
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +40 -29
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +4 -0
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +129 -0
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +21 -34
- package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +4 -0
- package/artifacts/contracts/{experiment/inheritance/IB.sol/IB.json → shared/IRegistryLinked.sol/IRegistryLinked.json} +18 -20
- package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
- package/artifacts/contracts/shared/IService.sol/IService.json +86 -172
- package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +1 -1
- package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +2 -152
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +120 -27
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +4 -0
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +248 -0
- package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +294 -61
- package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
- package/artifacts/contracts/shared/Registerable.sol/Registerable.json +129 -51
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +4 -0
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +84 -0
- package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
- package/artifacts/contracts/shared/Service.sol/Service.json +191 -163
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +2 -2
- package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
- package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +2 -2
- package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +1 -1
- package/artifacts/contracts/shared/Versionable.sol/Versionable.json +2 -152
- package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +1 -1
- package/artifacts/contracts/test/TestFee.sol/TestFee.json +2 -2
- package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +1 -1
- package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +129 -51
- package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +1 -1
- package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +6 -6
- package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +1 -1
- package/artifacts/contracts/test/TestService.sol/TestService.json +210 -214
- package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +1 -1
- package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +1 -1
- package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +2 -2
- package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +1 -1
- package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +8 -190
- package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +1 -1
- package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +1 -1
- package/artifacts/contracts/types/Amount.sol/AmountLib.dbg.json +4 -0
- package/artifacts/contracts/types/Amount.sol/AmountLib.json +161 -0
- package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
- package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.json +2 -2
- package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +1 -1
- package/artifacts/contracts/types/ClaimId.sol/ClaimIdLib.dbg.json +4 -0
- package/artifacts/contracts/types/ClaimId.sol/ClaimIdLib.json +100 -0
- package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
- package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.json +2 -2
- package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +1 -1
- package/artifacts/contracts/types/Fee.sol/FeeLib.json +40 -9
- package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +1 -1
- package/artifacts/contracts/types/Key32.sol/Key32Lib.json +2 -2
- package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +1 -1
- package/artifacts/contracts/types/NftId.sol/NftIdLib.json +17 -4
- package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
- package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.json +26 -3
- package/artifacts/contracts/types/NumberId.sol/NumberIdLib.dbg.json +1 -1
- package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
- package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.json +2 -2
- package/artifacts/contracts/types/PayoutId.sol/PayoutIdLib.dbg.json +4 -0
- package/artifacts/contracts/types/PayoutId.sol/PayoutIdLib.json +100 -0
- package/artifacts/contracts/types/Referral.sol/ReferralLib.dbg.json +1 -1
- package/artifacts/contracts/types/Referral.sol/ReferralLib.json +23 -4
- package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +1 -1
- package/artifacts/contracts/types/RiskId.sol/RiskIdLib.json +2 -2
- package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +1 -1
- package/artifacts/contracts/types/RoleId.sol/RoleIdLib.json +2 -2
- package/artifacts/contracts/types/Seconds.sol/SecondsLib.dbg.json +4 -0
- package/artifacts/contracts/types/Seconds.sol/SecondsLib.json +124 -0
- package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +1 -1
- package/artifacts/contracts/types/StateId.sol/StateIdLib.json +2 -2
- package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +1 -1
- package/artifacts/contracts/types/Timestamp.sol/TimestampLib.json +25 -7
- package/artifacts/contracts/types/UFixed.sol/MathLib.dbg.json +1 -1
- package/artifacts/contracts/types/UFixed.sol/MathLib.json +2 -2
- package/artifacts/contracts/types/UFixed.sol/UFixedLib.dbg.json +1 -1
- package/artifacts/contracts/types/UFixed.sol/UFixedLib.json +2 -2
- package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +1 -1
- package/artifacts/contracts/types/Version.sol/VersionLib.json +2 -2
- package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +1 -1
- package/artifacts/contracts/types/Version.sol/VersionPartLib.json +22 -3
- package/contracts/components/Component.sol +253 -0
- package/contracts/components/Distribution.sol +200 -86
- package/contracts/components/IComponent.sol +76 -0
- package/contracts/components/IDistributionComponent.sol +44 -16
- package/contracts/components/IPoolComponent.sol +88 -37
- package/contracts/components/IProductComponent.sol +10 -5
- package/contracts/components/Pool.sol +225 -181
- package/contracts/components/Product.sol +130 -134
- package/contracts/instance/AccessManagerUpgradeableInitializeable.sol +13 -0
- package/contracts/instance/BundleManager.sol +127 -0
- package/contracts/instance/Cloneable.sol +51 -0
- package/contracts/instance/IInstance.sol +81 -11
- package/contracts/instance/IInstanceService.sol +56 -1
- package/contracts/instance/Instance.sol +157 -265
- package/contracts/instance/InstanceAccessManager.sol +414 -175
- package/contracts/instance/InstanceReader.sol +40 -29
- package/contracts/instance/InstanceService.sol +447 -54
- package/contracts/instance/InstanceServiceManager.sol +11 -13
- package/contracts/instance/ObjectManager.sol +82 -0
- package/contracts/instance/base/ComponentService.sol +121 -0
- package/contracts/instance/base/KeyValueStore.sol +13 -5
- package/contracts/instance/base/Lifecycle.sol +11 -2
- package/contracts/instance/module/IAccess.sol +36 -20
- package/contracts/instance/module/IBundle.sol +8 -4
- package/contracts/instance/module/IComponents.sol +41 -0
- package/contracts/instance/module/IDistribution.sol +2 -0
- package/contracts/instance/module/IPolicy.sol +30 -3
- package/contracts/instance/module/ISetup.sol +9 -19
- package/contracts/instance/service/ApplicationService.sol +350 -0
- package/contracts/instance/service/ApplicationServiceManager.sol +35 -0
- package/contracts/instance/service/BundleService.sol +431 -0
- package/contracts/instance/service/BundleServiceManager.sol +51 -0
- package/contracts/instance/service/ClaimService.sol +151 -0
- package/contracts/instance/service/ClaimServiceManager.sol +35 -0
- package/contracts/instance/service/DistributionService.sol +435 -0
- package/contracts/instance/service/DistributionServiceManager.sol +51 -0
- package/contracts/instance/service/IApplicationService.sol +82 -0
- package/contracts/instance/service/IBundleService.sol +93 -0
- package/contracts/instance/service/IClaimService.sol +61 -0
- package/contracts/instance/service/IDistributionService.sol +87 -0
- package/contracts/instance/service/IPolicyService.sol +72 -0
- package/contracts/instance/service/IPoolService.sol +79 -17
- package/contracts/instance/service/IProductService.sol +6 -73
- package/contracts/instance/service/PolicyService.sol +362 -0
- package/contracts/instance/service/PolicyServiceManager.sol +54 -0
- package/contracts/instance/service/PoolService.sol +303 -0
- package/contracts/instance/service/PoolServiceManager.sol +51 -0
- package/contracts/instance/service/ProductService.sol +210 -0
- package/contracts/instance/service/ProductServiceManager.sol +54 -0
- package/contracts/registry/ChainNft.sol +9 -1
- package/contracts/registry/IRegistry.sol +52 -8
- package/contracts/registry/IRegistryService.sol +47 -14
- package/contracts/registry/ITransferInterceptor.sol +1 -0
- package/contracts/registry/Registry.sol +270 -226
- package/contracts/registry/RegistryAccessManager.sol +216 -0
- package/contracts/registry/RegistryService.sol +111 -268
- package/contracts/registry/RegistryServiceManager.sol +24 -26
- package/contracts/registry/ReleaseManager.sol +324 -0
- package/contracts/registry/TokenRegistry.sol +116 -0
- package/contracts/shared/ERC165.sol +14 -8
- package/contracts/shared/INftOwnable.sol +11 -10
- package/contracts/shared/IPolicyHolder.sol +26 -0
- package/contracts/shared/IRegisterable.sol +4 -6
- package/contracts/shared/IRegistryLinked.sol +12 -0
- package/contracts/shared/IService.sol +5 -4
- package/contracts/shared/IVersionable.sol +4 -47
- package/contracts/shared/NftOwnable.sol +67 -83
- package/contracts/shared/PolicyHolder.sol +81 -0
- package/contracts/shared/ProxyManager.sol +100 -25
- package/contracts/shared/Registerable.sol +16 -31
- package/contracts/shared/RegistryLinked.sol +48 -0
- package/contracts/shared/Service.sol +42 -24
- package/contracts/shared/TokenHandler.sol +11 -5
- package/contracts/shared/Versionable.sol +4 -92
- package/contracts/test/TestRegisterable.sol +1 -1
- package/contracts/test/TestService.sol +4 -3
- package/contracts/types/Amount.sol +60 -0
- package/contracts/types/Blocknumber.sol +1 -0
- package/contracts/types/ClaimId.sol +52 -0
- package/contracts/types/DistributorType.sol +2 -2
- package/contracts/types/Fee.sol +13 -5
- package/contracts/types/NftId.sol +8 -0
- package/contracts/types/NftIdSet.sol +26 -24
- package/contracts/types/ObjectType.sol +10 -5
- package/contracts/types/PayoutId.sol +54 -0
- package/contracts/types/Referral.sol +4 -0
- package/contracts/types/RoleId.sol +26 -11
- package/contracts/types/Seconds.sol +54 -0
- package/contracts/types/StateId.sol +5 -0
- package/contracts/types/Timestamp.sol +13 -13
- package/contracts/types/UFixed.sol +1 -0
- package/contracts/types/Version.sol +5 -1
- package/package.json +3 -3
- package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.dbg.json +0 -4
- package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.json +0 -314
- package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.dbg.json +0 -4
- package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.json +0 -267
- package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.dbg.json +0 -4
- package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.json +0 -66
- package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.dbg.json +0 -4
- package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.json +0 -24
- package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.dbg.json +0 -4
- package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.json +0 -42
- package/artifacts/contracts/experiment/errors/Require.sol/Require.dbg.json +0 -4
- package/artifacts/contracts/experiment/errors/Require.sol/Require.json +0 -105
- package/artifacts/contracts/experiment/errors/Revert.sol/Revert.dbg.json +0 -4
- package/artifacts/contracts/experiment/errors/Revert.sol/Revert.json +0 -105
- package/artifacts/contracts/experiment/inheritance/A.sol/A.dbg.json +0 -4
- package/artifacts/contracts/experiment/inheritance/A.sol/A.json +0 -128
- package/artifacts/contracts/experiment/inheritance/A.sol/AShared.dbg.json +0 -4
- package/artifacts/contracts/experiment/inheritance/A.sol/AShared.json +0 -42
- package/artifacts/contracts/experiment/inheritance/B.sol/B.dbg.json +0 -4
- package/artifacts/contracts/experiment/inheritance/B.sol/B.json +0 -76
- package/artifacts/contracts/experiment/inheritance/C.sol/C.dbg.json +0 -4
- package/artifacts/contracts/experiment/inheritance/C.sol/C.json +0 -89
- package/artifacts/contracts/experiment/inheritance/IA.sol/IA.dbg.json +0 -4
- package/artifacts/contracts/experiment/inheritance/IA.sol/IA.json +0 -128
- package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.dbg.json +0 -4
- package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.json +0 -37
- package/artifacts/contracts/experiment/inheritance/IB.sol/IB.dbg.json +0 -4
- package/artifacts/contracts/experiment/inheritance/IC.sol/IC.dbg.json +0 -4
- package/artifacts/contracts/experiment/inheritance/IC.sol/IC.json +0 -63
- package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.dbg.json +0 -4
- package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.json +0 -59
- package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.dbg.json +0 -4
- package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.json +0 -124
- package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.dbg.json +0 -4
- package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.json +0 -74
- package/artifacts/contracts/experiment/statemachine/SM.sol/SM.dbg.json +0 -4
- package/artifacts/contracts/experiment/statemachine/SM.sol/SM.json +0 -124
- package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.dbg.json +0 -4
- package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.json +0 -207
- package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.dbg.json +0 -4
- package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.json +0 -10
- package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.dbg.json +0 -4
- package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.json +0 -10
- package/artifacts/contracts/instance/AccessManagedSimple.sol/AccessManagedSimple.dbg.json +0 -4
- package/artifacts/contracts/instance/AccessManagerSimple.sol/AccessManagerSimple.dbg.json +0 -4
- package/artifacts/contracts/instance/AccessManagerSimple.sol/AccessManagerSimple.json +0 -1119
- package/artifacts/contracts/instance/IAccessManagerSimple.sol/IAccessManagerSimple.dbg.json +0 -4
- package/artifacts/contracts/instance/IAccessManagerSimple.sol/IAccessManagerSimple.json +0 -1082
- package/artifacts/contracts/instance/base/ComponentServiceBase.sol/ComponentServiceBase.dbg.json +0 -4
- package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.dbg.json +0 -4
- package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.json +0 -113
- package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.json +0 -827
- package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.dbg.json +0 -4
- package/artifacts/contracts/shared/RegisterableUpgradable.sol/RegisterableUpgradable.dbg.json +0 -4
- package/contracts/components/BaseComponent.sol +0 -86
- package/contracts/components/IBaseComponent.sol +0 -24
- package/contracts/experiment/cloning/Cloner.sol +0 -47
- package/contracts/experiment/errors/Require.sol +0 -38
- package/contracts/experiment/errors/Revert.sol +0 -44
- package/contracts/experiment/inheritance/A.sol +0 -53
- package/contracts/experiment/inheritance/B.sol +0 -28
- package/contracts/experiment/inheritance/C.sol +0 -34
- package/contracts/experiment/inheritance/IA.sol +0 -13
- package/contracts/experiment/inheritance/IB.sol +0 -10
- package/contracts/experiment/inheritance/IC.sol +0 -12
- package/contracts/experiment/statemachine/Dummy.sol +0 -27
- package/contracts/experiment/statemachine/ISM.sol +0 -25
- package/contracts/experiment/statemachine/SM.sol +0 -57
- package/contracts/experiment/statemachine/SimpleStateMachine.sol +0 -31
- package/contracts/experiment/types/TypeA.sol +0 -47
- package/contracts/experiment/types/TypeB.sol +0 -29
- package/contracts/instance/AccessManagedSimple.sol +0 -114
- package/contracts/instance/AccessManagerSimple.sol +0 -682
- package/contracts/instance/IAccessManagerSimple.sol +0 -391
- package/contracts/instance/base/ComponentServiceBase.sol +0 -49
- package/contracts/instance/base/IInstanceBase.sol +0 -23
- package/contracts/instance/service/ComponentOwnerService.sol +0 -317
- package/contracts/instance/service/IComponentOwnerService.sol +0 -20
- package/contracts/shared/RegisterableUpgradable.sol +0 -16
| @@ -3,17 +3,6 @@ | |
| 3 3 | 
             
              "contractName": "InstanceAccessManager",
         | 
| 4 4 | 
             
              "sourceName": "contracts/instance/InstanceAccessManager.sol",
         | 
| 5 5 | 
             
              "abi": [
         | 
| 6 | 
            -
                {
         | 
| 7 | 
            -
                  "inputs": [
         | 
| 8 | 
            -
                    {
         | 
| 9 | 
            -
                      "internalType": "address",
         | 
| 10 | 
            -
                      "name": "accessManager",
         | 
| 11 | 
            -
                      "type": "address"
         | 
| 12 | 
            -
                    }
         | 
| 13 | 
            -
                  ],
         | 
| 14 | 
            -
                  "stateMutability": "nonpayable",
         | 
| 15 | 
            -
                  "type": "constructor"
         | 
| 16 | 
            -
                },
         | 
| 17 6 | 
             
                {
         | 
| 18 7 | 
             
                  "inputs": [
         | 
| 19 8 | 
             
                    {
         | 
| @@ -54,13 +43,18 @@ | |
| 54 43 | 
             
                },
         | 
| 55 44 | 
             
                {
         | 
| 56 45 | 
             
                  "inputs": [
         | 
| 46 | 
            +
                    {
         | 
| 47 | 
            +
                      "internalType": "address",
         | 
| 48 | 
            +
                      "name": "caller",
         | 
| 49 | 
            +
                      "type": "address"
         | 
| 50 | 
            +
                    },
         | 
| 57 51 | 
             
                    {
         | 
| 58 52 | 
             
                      "internalType": "RoleId",
         | 
| 59 53 | 
             
                      "name": "roleId",
         | 
| 60 54 | 
             
                      "type": "uint64"
         | 
| 61 55 | 
             
                    }
         | 
| 62 56 | 
             
                  ],
         | 
| 63 | 
            -
                  "name": " | 
| 57 | 
            +
                  "name": "ErrorIAccessCallerIsNotRoleAdmin",
         | 
| 64 58 | 
             
                  "type": "error"
         | 
| 65 59 | 
             
                },
         | 
| 66 60 | 
             
                {
         | 
| @@ -71,7 +65,7 @@ | |
| 71 65 | 
             
                      "type": "uint64"
         | 
| 72 66 | 
             
                    }
         | 
| 73 67 | 
             
                  ],
         | 
| 74 | 
            -
                  "name": " | 
| 68 | 
            +
                  "name": "ErrorIAccessRoleIdDoesNotExist",
         | 
| 75 69 | 
             
                  "type": "error"
         | 
| 76 70 | 
             
                },
         | 
| 77 71 | 
             
                {
         | 
| @@ -82,7 +76,7 @@ | |
| 82 76 | 
             
                      "type": "uint64"
         | 
| 83 77 | 
             
                    }
         | 
| 84 78 | 
             
                  ],
         | 
| 85 | 
            -
                  "name": " | 
| 79 | 
            +
                  "name": "ErrorIAccessRoleIdExists",
         | 
| 86 80 | 
             
                  "type": "error"
         | 
| 87 81 | 
             
                },
         | 
| 88 82 | 
             
                {
         | 
| @@ -91,14 +85,9 @@ | |
| 91 85 | 
             
                      "internalType": "RoleId",
         | 
| 92 86 | 
             
                      "name": "roleId",
         | 
| 93 87 | 
             
                      "type": "uint64"
         | 
| 94 | 
            -
                    },
         | 
| 95 | 
            -
                    {
         | 
| 96 | 
            -
                      "internalType": "ShortString",
         | 
| 97 | 
            -
                      "name": "name",
         | 
| 98 | 
            -
                      "type": "bytes32"
         | 
| 99 88 | 
             
                    }
         | 
| 100 89 | 
             
                  ],
         | 
| 101 | 
            -
                  "name": " | 
| 90 | 
            +
                  "name": "ErrorIAccessRoleIdTooBig",
         | 
| 102 91 | 
             
                  "type": "error"
         | 
| 103 92 | 
             
                },
         | 
| 104 93 | 
             
                {
         | 
| @@ -109,7 +98,7 @@ | |
| 109 98 | 
             
                      "type": "uint64"
         | 
| 110 99 | 
             
                    }
         | 
| 111 100 | 
             
                  ],
         | 
| 112 | 
            -
                  "name": " | 
| 101 | 
            +
                  "name": "ErrorIAccessRoleIdTooSmall",
         | 
| 113 102 | 
             
                  "type": "error"
         | 
| 114 103 | 
             
                },
         | 
| 115 104 | 
             
                {
         | 
| @@ -120,7 +109,7 @@ | |
| 120 109 | 
             
                      "type": "uint64"
         | 
| 121 110 | 
             
                    }
         | 
| 122 111 | 
             
                  ],
         | 
| 123 | 
            -
                  "name": " | 
| 112 | 
            +
                  "name": "ErrorIAccessRoleNameEmpty",
         | 
| 124 113 | 
             
                  "type": "error"
         | 
| 125 114 | 
             
                },
         | 
| 126 115 | 
             
                {
         | 
| @@ -129,20 +118,19 @@ | |
| 129 118 | 
             
                      "internalType": "RoleId",
         | 
| 130 119 | 
             
                      "name": "roleId",
         | 
| 131 120 | 
             
                      "type": "uint64"
         | 
| 132 | 
            -
                    }
         | 
| 133 | 
            -
                  ],
         | 
| 134 | 
            -
                  "name": "ErrorRoleIdTooBig",
         | 
| 135 | 
            -
                  "type": "error"
         | 
| 136 | 
            -
                },
         | 
| 137 | 
            -
                {
         | 
| 138 | 
            -
                  "inputs": [
         | 
| 121 | 
            +
                    },
         | 
| 139 122 | 
             
                    {
         | 
| 140 123 | 
             
                      "internalType": "RoleId",
         | 
| 141 | 
            -
                      "name": " | 
| 124 | 
            +
                      "name": "existingRoleId",
         | 
| 142 125 | 
             
                      "type": "uint64"
         | 
| 126 | 
            +
                    },
         | 
| 127 | 
            +
                    {
         | 
| 128 | 
            +
                      "internalType": "ShortString",
         | 
| 129 | 
            +
                      "name": "name",
         | 
| 130 | 
            +
                      "type": "bytes32"
         | 
| 143 131 | 
             
                    }
         | 
| 144 132 | 
             
                  ],
         | 
| 145 | 
            -
                  "name": " | 
| 133 | 
            +
                  "name": "ErrorIAccessRoleNameExists",
         | 
| 146 134 | 
             
                  "type": "error"
         | 
| 147 135 | 
             
                },
         | 
| 148 136 | 
             
                {
         | 
| @@ -153,52 +141,47 @@ | |
| 153 141 | 
             
                      "type": "uint64"
         | 
| 154 142 | 
             
                    },
         | 
| 155 143 | 
             
                    {
         | 
| 156 | 
            -
                      "internalType": " | 
| 157 | 
            -
                      "name": " | 
| 158 | 
            -
                      "type": " | 
| 144 | 
            +
                      "internalType": "enum IAccess.Type",
         | 
| 145 | 
            +
                      "name": "rtype",
         | 
| 146 | 
            +
                      "type": "uint8"
         | 
| 159 147 | 
             
                    }
         | 
| 160 148 | 
             
                  ],
         | 
| 161 | 
            -
                  "name": " | 
| 149 | 
            +
                  "name": "ErrorIAccessRoleTypeInvalid",
         | 
| 162 150 | 
             
                  "type": "error"
         | 
| 163 151 | 
             
                },
         | 
| 164 152 | 
             
                {
         | 
| 165 153 | 
             
                  "inputs": [
         | 
| 166 154 | 
             
                    {
         | 
| 167 | 
            -
                      "internalType": " | 
| 168 | 
            -
                      "name": " | 
| 169 | 
            -
                      "type": " | 
| 170 | 
            -
                    },
         | 
| 171 | 
            -
                    {
         | 
| 172 | 
            -
                      "internalType": "bool",
         | 
| 173 | 
            -
                      "name": "isCustom",
         | 
| 174 | 
            -
                      "type": "bool"
         | 
| 155 | 
            +
                      "internalType": "address",
         | 
| 156 | 
            +
                      "name": "target",
         | 
| 157 | 
            +
                      "type": "address"
         | 
| 175 158 | 
             
                    },
         | 
| 176 159 | 
             
                    {
         | 
| 177 | 
            -
                      "internalType": " | 
| 178 | 
            -
                      "name": " | 
| 179 | 
            -
                      "type": " | 
| 160 | 
            +
                      "internalType": "address",
         | 
| 161 | 
            +
                      "name": "targetAuthority",
         | 
| 162 | 
            +
                      "type": "address"
         | 
| 180 163 | 
             
                    }
         | 
| 181 164 | 
             
                  ],
         | 
| 182 | 
            -
                  "name": " | 
| 165 | 
            +
                  "name": "ErrorIAccessTargetAuthorityInvalid",
         | 
| 183 166 | 
             
                  "type": "error"
         | 
| 184 167 | 
             
                },
         | 
| 185 168 | 
             
                {
         | 
| 186 169 | 
             
                  "inputs": [
         | 
| 187 170 | 
             
                    {
         | 
| 188 | 
            -
                      "internalType": " | 
| 189 | 
            -
                      "name": " | 
| 190 | 
            -
                      "type": " | 
| 171 | 
            +
                      "internalType": "address",
         | 
| 172 | 
            +
                      "name": "target",
         | 
| 173 | 
            +
                      "type": "address"
         | 
| 191 174 | 
             
                    }
         | 
| 192 175 | 
             
                  ],
         | 
| 193 | 
            -
                  "name": " | 
| 176 | 
            +
                  "name": "ErrorIAccessTargetDoesNotExist",
         | 
| 194 177 | 
             
                  "type": "error"
         | 
| 195 178 | 
             
                },
         | 
| 196 179 | 
             
                {
         | 
| 197 180 | 
             
                  "inputs": [
         | 
| 198 181 | 
             
                    {
         | 
| 199 | 
            -
                      "internalType": " | 
| 200 | 
            -
                      "name": " | 
| 201 | 
            -
                      "type": " | 
| 182 | 
            +
                      "internalType": "address",
         | 
| 183 | 
            +
                      "name": "target",
         | 
| 184 | 
            +
                      "type": "address"
         | 
| 202 185 | 
             
                    },
         | 
| 203 186 | 
             
                    {
         | 
| 204 187 | 
             
                      "internalType": "ShortString",
         | 
| @@ -206,18 +189,7 @@ | |
| 206 189 | 
             
                      "type": "bytes32"
         | 
| 207 190 | 
             
                    }
         | 
| 208 191 | 
             
                  ],
         | 
| 209 | 
            -
                  "name": " | 
| 210 | 
            -
                  "type": "error"
         | 
| 211 | 
            -
                },
         | 
| 212 | 
            -
                {
         | 
| 213 | 
            -
                  "inputs": [
         | 
| 214 | 
            -
                    {
         | 
| 215 | 
            -
                      "internalType": "RoleId",
         | 
| 216 | 
            -
                      "name": "roleId",
         | 
| 217 | 
            -
                      "type": "uint64"
         | 
| 218 | 
            -
                    }
         | 
| 219 | 
            -
                  ],
         | 
| 220 | 
            -
                  "name": "ErrorSetLockedForNonexstentRole",
         | 
| 192 | 
            +
                  "name": "ErrorIAccessTargetExists",
         | 
| 221 193 | 
             
                  "type": "error"
         | 
| 222 194 | 
             
                },
         | 
| 223 195 | 
             
                {
         | 
| @@ -228,12 +200,7 @@ | |
| 228 200 | 
             
                      "type": "address"
         | 
| 229 201 | 
             
                    }
         | 
| 230 202 | 
             
                  ],
         | 
| 231 | 
            -
                  "name": " | 
| 232 | 
            -
                  "type": "error"
         | 
| 233 | 
            -
                },
         | 
| 234 | 
            -
                {
         | 
| 235 | 
            -
                  "inputs": [],
         | 
| 236 | 
            -
                  "name": "ErrorTargetAddressZero",
         | 
| 203 | 
            +
                  "name": "ErrorIAccessTargetNameEmpty",
         | 
| 237 204 | 
             
                  "type": "error"
         | 
| 238 205 | 
             
                },
         | 
| 239 206 | 
             
                {
         | 
| @@ -243,13 +210,18 @@ | |
| 243 210 | 
             
                      "name": "target",
         | 
| 244 211 | 
             
                      "type": "address"
         | 
| 245 212 | 
             
                    },
         | 
| 213 | 
            +
                    {
         | 
| 214 | 
            +
                      "internalType": "address",
         | 
| 215 | 
            +
                      "name": "existingTarget",
         | 
| 216 | 
            +
                      "type": "address"
         | 
| 217 | 
            +
                    },
         | 
| 246 218 | 
             
                    {
         | 
| 247 219 | 
             
                      "internalType": "ShortString",
         | 
| 248 220 | 
             
                      "name": "name",
         | 
| 249 221 | 
             
                      "type": "bytes32"
         | 
| 250 222 | 
             
                    }
         | 
| 251 223 | 
             
                  ],
         | 
| 252 | 
            -
                  "name": " | 
| 224 | 
            +
                  "name": "ErrorIAccessTargetNameExists",
         | 
| 253 225 | 
             
                  "type": "error"
         | 
| 254 226 | 
             
                },
         | 
| 255 227 | 
             
                {
         | 
| @@ -260,7 +232,7 @@ | |
| 260 232 | 
             
                      "type": "address"
         | 
| 261 233 | 
             
                    }
         | 
| 262 234 | 
             
                  ],
         | 
| 263 | 
            -
                  "name": " | 
| 235 | 
            +
                  "name": "ErrorIAccessTargetNotRegistered",
         | 
| 264 236 | 
             
                  "type": "error"
         | 
| 265 237 | 
             
                },
         | 
| 266 238 | 
             
                {
         | 
| @@ -271,17 +243,17 @@ | |
| 271 243 | 
             
                      "type": "address"
         | 
| 272 244 | 
             
                    },
         | 
| 273 245 | 
             
                    {
         | 
| 274 | 
            -
                      "internalType": " | 
| 275 | 
            -
                      "name": " | 
| 276 | 
            -
                      "type": " | 
| 277 | 
            -
                    },
         | 
| 278 | 
            -
                    {
         | 
| 279 | 
            -
                      "internalType": "ShortString",
         | 
| 280 | 
            -
                      "name": "name",
         | 
| 281 | 
            -
                      "type": "bytes32"
         | 
| 246 | 
            +
                      "internalType": "enum IAccess.Type",
         | 
| 247 | 
            +
                      "name": "ttype",
         | 
| 248 | 
            +
                      "type": "uint8"
         | 
| 282 249 | 
             
                    }
         | 
| 283 250 | 
             
                  ],
         | 
| 284 | 
            -
                  "name": " | 
| 251 | 
            +
                  "name": "ErrorIAccessTargetTypeInvalid",
         | 
| 252 | 
            +
                  "type": "error"
         | 
| 253 | 
            +
                },
         | 
| 254 | 
            +
                {
         | 
| 255 | 
            +
                  "inputs": [],
         | 
| 256 | 
            +
                  "name": "InvalidInitialization",
         | 
| 285 257 | 
             
                  "type": "error"
         | 
| 286 258 | 
             
                },
         | 
| 287 259 | 
             
                {
         | 
| @@ -289,6 +261,11 @@ | |
| 289 261 | 
             
                  "name": "InvalidShortString",
         | 
| 290 262 | 
             
                  "type": "error"
         | 
| 291 263 | 
             
                },
         | 
| 264 | 
            +
                {
         | 
| 265 | 
            +
                  "inputs": [],
         | 
| 266 | 
            +
                  "name": "NotInitializing",
         | 
| 267 | 
            +
                  "type": "error"
         | 
| 268 | 
            +
                },
         | 
| 292 269 | 
             
                {
         | 
| 293 270 | 
             
                  "inputs": [
         | 
| 294 271 | 
             
                    {
         | 
| @@ -313,6 +290,75 @@ | |
| 313 290 | 
             
                  "name": "AuthorityUpdated",
         | 
| 314 291 | 
             
                  "type": "event"
         | 
| 315 292 | 
             
                },
         | 
| 293 | 
            +
                {
         | 
| 294 | 
            +
                  "anonymous": false,
         | 
| 295 | 
            +
                  "inputs": [
         | 
| 296 | 
            +
                    {
         | 
| 297 | 
            +
                      "indexed": false,
         | 
| 298 | 
            +
                      "internalType": "uint64",
         | 
| 299 | 
            +
                      "name": "version",
         | 
| 300 | 
            +
                      "type": "uint64"
         | 
| 301 | 
            +
                    }
         | 
| 302 | 
            +
                  ],
         | 
| 303 | 
            +
                  "name": "Initialized",
         | 
| 304 | 
            +
                  "type": "event"
         | 
| 305 | 
            +
                },
         | 
| 306 | 
            +
                {
         | 
| 307 | 
            +
                  "anonymous": false,
         | 
| 308 | 
            +
                  "inputs": [
         | 
| 309 | 
            +
                    {
         | 
| 310 | 
            +
                      "indexed": false,
         | 
| 311 | 
            +
                      "internalType": "RoleId",
         | 
| 312 | 
            +
                      "name": "roleId",
         | 
| 313 | 
            +
                      "type": "uint64"
         | 
| 314 | 
            +
                    },
         | 
| 315 | 
            +
                    {
         | 
| 316 | 
            +
                      "indexed": false,
         | 
| 317 | 
            +
                      "internalType": "ShortString",
         | 
| 318 | 
            +
                      "name": "name",
         | 
| 319 | 
            +
                      "type": "bytes32"
         | 
| 320 | 
            +
                    },
         | 
| 321 | 
            +
                    {
         | 
| 322 | 
            +
                      "indexed": false,
         | 
| 323 | 
            +
                      "internalType": "enum IAccess.Type",
         | 
| 324 | 
            +
                      "name": "rtype",
         | 
| 325 | 
            +
                      "type": "uint8"
         | 
| 326 | 
            +
                    }
         | 
| 327 | 
            +
                  ],
         | 
| 328 | 
            +
                  "name": "LogRoleCreation",
         | 
| 329 | 
            +
                  "type": "event"
         | 
| 330 | 
            +
                },
         | 
| 331 | 
            +
                {
         | 
| 332 | 
            +
                  "anonymous": false,
         | 
| 333 | 
            +
                  "inputs": [
         | 
| 334 | 
            +
                    {
         | 
| 335 | 
            +
                      "indexed": false,
         | 
| 336 | 
            +
                      "internalType": "address",
         | 
| 337 | 
            +
                      "name": "target",
         | 
| 338 | 
            +
                      "type": "address"
         | 
| 339 | 
            +
                    },
         | 
| 340 | 
            +
                    {
         | 
| 341 | 
            +
                      "indexed": false,
         | 
| 342 | 
            +
                      "internalType": "ShortString",
         | 
| 343 | 
            +
                      "name": "name",
         | 
| 344 | 
            +
                      "type": "bytes32"
         | 
| 345 | 
            +
                    },
         | 
| 346 | 
            +
                    {
         | 
| 347 | 
            +
                      "indexed": false,
         | 
| 348 | 
            +
                      "internalType": "enum IAccess.Type",
         | 
| 349 | 
            +
                      "name": "ttype",
         | 
| 350 | 
            +
                      "type": "uint8"
         | 
| 351 | 
            +
                    },
         | 
| 352 | 
            +
                    {
         | 
| 353 | 
            +
                      "indexed": false,
         | 
| 354 | 
            +
                      "internalType": "bool",
         | 
| 355 | 
            +
                      "name": "isLocked",
         | 
| 356 | 
            +
                      "type": "bool"
         | 
| 357 | 
            +
                    }
         | 
| 358 | 
            +
                  ],
         | 
| 359 | 
            +
                  "name": "LogTargetCreation",
         | 
| 360 | 
            +
                  "type": "event"
         | 
| 361 | 
            +
                },
         | 
| 316 362 | 
             
                {
         | 
| 317 363 | 
             
                  "inputs": [],
         | 
| 318 364 | 
             
                  "name": "ADMIN_ROLE_NAME",
         | 
| @@ -352,6 +398,32 @@ | |
| 352 398 | 
             
                  "stateMutability": "view",
         | 
| 353 399 | 
             
                  "type": "function"
         | 
| 354 400 | 
             
                },
         | 
| 401 | 
            +
                {
         | 
| 402 | 
            +
                  "inputs": [],
         | 
| 403 | 
            +
                  "name": "INSTANCE_OWNER_ROLE_NAME",
         | 
| 404 | 
            +
                  "outputs": [
         | 
| 405 | 
            +
                    {
         | 
| 406 | 
            +
                      "internalType": "string",
         | 
| 407 | 
            +
                      "name": "",
         | 
| 408 | 
            +
                      "type": "string"
         | 
| 409 | 
            +
                    }
         | 
| 410 | 
            +
                  ],
         | 
| 411 | 
            +
                  "stateMutability": "view",
         | 
| 412 | 
            +
                  "type": "function"
         | 
| 413 | 
            +
                },
         | 
| 414 | 
            +
                {
         | 
| 415 | 
            +
                  "inputs": [],
         | 
| 416 | 
            +
                  "name": "INSTANCE_ROLE_NAME",
         | 
| 417 | 
            +
                  "outputs": [
         | 
| 418 | 
            +
                    {
         | 
| 419 | 
            +
                      "internalType": "string",
         | 
| 420 | 
            +
                      "name": "",
         | 
| 421 | 
            +
                      "type": "string"
         | 
| 422 | 
            +
                    }
         | 
| 423 | 
            +
                  ],
         | 
| 424 | 
            +
                  "stateMutability": "view",
         | 
| 425 | 
            +
                  "type": "function"
         | 
| 426 | 
            +
                },
         | 
| 355 427 | 
             
                {
         | 
| 356 428 | 
             
                  "inputs": [],
         | 
| 357 429 | 
             
                  "name": "PUBLIC_ROLE_NAME",
         | 
| @@ -378,6 +450,40 @@ | |
| 378 450 | 
             
                  "stateMutability": "view",
         | 
| 379 451 | 
             
                  "type": "function"
         | 
| 380 452 | 
             
                },
         | 
| 453 | 
            +
                {
         | 
| 454 | 
            +
                  "inputs": [
         | 
| 455 | 
            +
                    {
         | 
| 456 | 
            +
                      "internalType": "address",
         | 
| 457 | 
            +
                      "name": "caller",
         | 
| 458 | 
            +
                      "type": "address"
         | 
| 459 | 
            +
                    },
         | 
| 460 | 
            +
                    {
         | 
| 461 | 
            +
                      "internalType": "address",
         | 
| 462 | 
            +
                      "name": "target",
         | 
| 463 | 
            +
                      "type": "address"
         | 
| 464 | 
            +
                    },
         | 
| 465 | 
            +
                    {
         | 
| 466 | 
            +
                      "internalType": "bytes4",
         | 
| 467 | 
            +
                      "name": "selector",
         | 
| 468 | 
            +
                      "type": "bytes4"
         | 
| 469 | 
            +
                    }
         | 
| 470 | 
            +
                  ],
         | 
| 471 | 
            +
                  "name": "canCall",
         | 
| 472 | 
            +
                  "outputs": [
         | 
| 473 | 
            +
                    {
         | 
| 474 | 
            +
                      "internalType": "bool",
         | 
| 475 | 
            +
                      "name": "immediate",
         | 
| 476 | 
            +
                      "type": "bool"
         | 
| 477 | 
            +
                    },
         | 
| 478 | 
            +
                    {
         | 
| 479 | 
            +
                      "internalType": "uint32",
         | 
| 480 | 
            +
                      "name": "delay",
         | 
| 481 | 
            +
                      "type": "uint32"
         | 
| 482 | 
            +
                    }
         | 
| 483 | 
            +
                  ],
         | 
| 484 | 
            +
                  "stateMutability": "view",
         | 
| 485 | 
            +
                  "type": "function"
         | 
| 486 | 
            +
                },
         | 
| 381 487 | 
             
                {
         | 
| 382 488 | 
             
                  "inputs": [
         | 
| 383 489 | 
             
                    {
         | 
| @@ -391,7 +497,25 @@ | |
| 391 497 | 
             
                      "type": "string"
         | 
| 392 498 | 
             
                    }
         | 
| 393 499 | 
             
                  ],
         | 
| 394 | 
            -
                  "name": " | 
| 500 | 
            +
                  "name": "createCoreRole",
         | 
| 501 | 
            +
                  "outputs": [],
         | 
| 502 | 
            +
                  "stateMutability": "nonpayable",
         | 
| 503 | 
            +
                  "type": "function"
         | 
| 504 | 
            +
                },
         | 
| 505 | 
            +
                {
         | 
| 506 | 
            +
                  "inputs": [
         | 
| 507 | 
            +
                    {
         | 
| 508 | 
            +
                      "internalType": "address",
         | 
| 509 | 
            +
                      "name": "target",
         | 
| 510 | 
            +
                      "type": "address"
         | 
| 511 | 
            +
                    },
         | 
| 512 | 
            +
                    {
         | 
| 513 | 
            +
                      "internalType": "string",
         | 
| 514 | 
            +
                      "name": "name",
         | 
| 515 | 
            +
                      "type": "string"
         | 
| 516 | 
            +
                    }
         | 
| 517 | 
            +
                  ],
         | 
| 518 | 
            +
                  "name": "createCoreTarget",
         | 
| 395 519 | 
             
                  "outputs": [],
         | 
| 396 520 | 
             
                  "stateMutability": "nonpayable",
         | 
| 397 521 | 
             
                  "type": "function"
         | 
| @@ -407,9 +531,14 @@ | |
| 407 531 | 
             
                      "internalType": "string",
         | 
| 408 532 | 
             
                      "name": "name",
         | 
| 409 533 | 
             
                      "type": "string"
         | 
| 534 | 
            +
                    },
         | 
| 535 | 
            +
                    {
         | 
| 536 | 
            +
                      "internalType": "RoleId",
         | 
| 537 | 
            +
                      "name": "admin",
         | 
| 538 | 
            +
                      "type": "uint64"
         | 
| 410 539 | 
             
                    }
         | 
| 411 540 | 
             
                  ],
         | 
| 412 | 
            -
                  "name": " | 
| 541 | 
            +
                  "name": "createGifRole",
         | 
| 413 542 | 
             
                  "outputs": [],
         | 
| 414 543 | 
             
                  "stateMutability": "nonpayable",
         | 
| 415 544 | 
             
                  "type": "function"
         | 
| @@ -427,9 +556,113 @@ | |
| 427 556 | 
             
                      "type": "string"
         | 
| 428 557 | 
             
                    }
         | 
| 429 558 | 
             
                  ],
         | 
| 430 | 
            -
                  "name": " | 
| 431 | 
            -
                  "outputs": [],
         | 
| 432 | 
            -
                  "stateMutability": "nonpayable",
         | 
| 559 | 
            +
                  "name": "createGifTarget",
         | 
| 560 | 
            +
                  "outputs": [],
         | 
| 561 | 
            +
                  "stateMutability": "nonpayable",
         | 
| 562 | 
            +
                  "type": "function"
         | 
| 563 | 
            +
                },
         | 
| 564 | 
            +
                {
         | 
| 565 | 
            +
                  "inputs": [
         | 
| 566 | 
            +
                    {
         | 
| 567 | 
            +
                      "internalType": "string",
         | 
| 568 | 
            +
                      "name": "roleName",
         | 
| 569 | 
            +
                      "type": "string"
         | 
| 570 | 
            +
                    },
         | 
| 571 | 
            +
                    {
         | 
| 572 | 
            +
                      "internalType": "string",
         | 
| 573 | 
            +
                      "name": "adminName",
         | 
| 574 | 
            +
                      "type": "string"
         | 
| 575 | 
            +
                    }
         | 
| 576 | 
            +
                  ],
         | 
| 577 | 
            +
                  "name": "createRole",
         | 
| 578 | 
            +
                  "outputs": [
         | 
| 579 | 
            +
                    {
         | 
| 580 | 
            +
                      "internalType": "RoleId",
         | 
| 581 | 
            +
                      "name": "roleId",
         | 
| 582 | 
            +
                      "type": "uint64"
         | 
| 583 | 
            +
                    },
         | 
| 584 | 
            +
                    {
         | 
| 585 | 
            +
                      "internalType": "RoleId",
         | 
| 586 | 
            +
                      "name": "admin",
         | 
| 587 | 
            +
                      "type": "uint64"
         | 
| 588 | 
            +
                    }
         | 
| 589 | 
            +
                  ],
         | 
| 590 | 
            +
                  "stateMutability": "nonpayable",
         | 
| 591 | 
            +
                  "type": "function"
         | 
| 592 | 
            +
                },
         | 
| 593 | 
            +
                {
         | 
| 594 | 
            +
                  "inputs": [
         | 
| 595 | 
            +
                    {
         | 
| 596 | 
            +
                      "internalType": "address",
         | 
| 597 | 
            +
                      "name": "target",
         | 
| 598 | 
            +
                      "type": "address"
         | 
| 599 | 
            +
                    },
         | 
| 600 | 
            +
                    {
         | 
| 601 | 
            +
                      "internalType": "string",
         | 
| 602 | 
            +
                      "name": "name",
         | 
| 603 | 
            +
                      "type": "string"
         | 
| 604 | 
            +
                    }
         | 
| 605 | 
            +
                  ],
         | 
| 606 | 
            +
                  "name": "createTarget",
         | 
| 607 | 
            +
                  "outputs": [],
         | 
| 608 | 
            +
                  "stateMutability": "nonpayable",
         | 
| 609 | 
            +
                  "type": "function"
         | 
| 610 | 
            +
                },
         | 
| 611 | 
            +
                {
         | 
| 612 | 
            +
                  "inputs": [
         | 
| 613 | 
            +
                    {
         | 
| 614 | 
            +
                      "internalType": "RoleId",
         | 
| 615 | 
            +
                      "name": "roleId",
         | 
| 616 | 
            +
                      "type": "uint64"
         | 
| 617 | 
            +
                    }
         | 
| 618 | 
            +
                  ],
         | 
| 619 | 
            +
                  "name": "getRoleAdmin",
         | 
| 620 | 
            +
                  "outputs": [
         | 
| 621 | 
            +
                    {
         | 
| 622 | 
            +
                      "internalType": "RoleId",
         | 
| 623 | 
            +
                      "name": "admin",
         | 
| 624 | 
            +
                      "type": "uint64"
         | 
| 625 | 
            +
                    }
         | 
| 626 | 
            +
                  ],
         | 
| 627 | 
            +
                  "stateMutability": "view",
         | 
| 628 | 
            +
                  "type": "function"
         | 
| 629 | 
            +
                },
         | 
| 630 | 
            +
                {
         | 
| 631 | 
            +
                  "inputs": [
         | 
| 632 | 
            +
                    {
         | 
| 633 | 
            +
                      "internalType": "uint256",
         | 
| 634 | 
            +
                      "name": "idx",
         | 
| 635 | 
            +
                      "type": "uint256"
         | 
| 636 | 
            +
                    }
         | 
| 637 | 
            +
                  ],
         | 
| 638 | 
            +
                  "name": "getRoleId",
         | 
| 639 | 
            +
                  "outputs": [
         | 
| 640 | 
            +
                    {
         | 
| 641 | 
            +
                      "internalType": "RoleId",
         | 
| 642 | 
            +
                      "name": "roleId",
         | 
| 643 | 
            +
                      "type": "uint64"
         | 
| 644 | 
            +
                    }
         | 
| 645 | 
            +
                  ],
         | 
| 646 | 
            +
                  "stateMutability": "view",
         | 
| 647 | 
            +
                  "type": "function"
         | 
| 648 | 
            +
                },
         | 
| 649 | 
            +
                {
         | 
| 650 | 
            +
                  "inputs": [
         | 
| 651 | 
            +
                    {
         | 
| 652 | 
            +
                      "internalType": "string",
         | 
| 653 | 
            +
                      "name": "name",
         | 
| 654 | 
            +
                      "type": "string"
         | 
| 655 | 
            +
                    }
         | 
| 656 | 
            +
                  ],
         | 
| 657 | 
            +
                  "name": "getRoleIdForName",
         | 
| 658 | 
            +
                  "outputs": [
         | 
| 659 | 
            +
                    {
         | 
| 660 | 
            +
                      "internalType": "RoleId",
         | 
| 661 | 
            +
                      "name": "roleId",
         | 
| 662 | 
            +
                      "type": "uint64"
         | 
| 663 | 
            +
                    }
         | 
| 664 | 
            +
                  ],
         | 
| 665 | 
            +
                  "stateMutability": "view",
         | 
| 433 666 | 
             
                  "type": "function"
         | 
| 434 667 | 
             
                },
         | 
| 435 668 | 
             
                {
         | 
| @@ -440,7 +673,7 @@ | |
| 440 673 | 
             
                      "type": "uint64"
         | 
| 441 674 | 
             
                    }
         | 
| 442 675 | 
             
                  ],
         | 
| 443 | 
            -
                  "name": " | 
| 676 | 
            +
                  "name": "getRoleInfo",
         | 
| 444 677 | 
             
                  "outputs": [
         | 
| 445 678 | 
             
                    {
         | 
| 446 679 | 
             
                      "components": [
         | 
| @@ -450,14 +683,14 @@ | |
| 450 683 | 
             
                          "type": "bytes32"
         | 
| 451 684 | 
             
                        },
         | 
| 452 685 | 
             
                        {
         | 
| 453 | 
            -
                          "internalType": " | 
| 454 | 
            -
                          "name": " | 
| 455 | 
            -
                          "type": " | 
| 686 | 
            +
                          "internalType": "enum IAccess.Type",
         | 
| 687 | 
            +
                          "name": "rtype",
         | 
| 688 | 
            +
                          "type": "uint8"
         | 
| 456 689 | 
             
                        },
         | 
| 457 690 | 
             
                        {
         | 
| 458 | 
            -
                          "internalType": " | 
| 459 | 
            -
                          "name": " | 
| 460 | 
            -
                          "type": " | 
| 691 | 
            +
                          "internalType": "RoleId",
         | 
| 692 | 
            +
                          "name": "admin",
         | 
| 693 | 
            +
                          "type": "uint64"
         | 
| 461 694 | 
             
                        },
         | 
| 462 695 | 
             
                        {
         | 
| 463 696 | 
             
                          "internalType": "Timestamp",
         | 
| @@ -470,47 +703,28 @@ | |
| 470 703 | 
             
                          "type": "uint40"
         | 
| 471 704 | 
             
                        }
         | 
| 472 705 | 
             
                      ],
         | 
| 473 | 
            -
                      "internalType": "struct  | 
| 474 | 
            -
                      "name": " | 
| 706 | 
            +
                      "internalType": "struct IAccess.RoleInfo",
         | 
| 707 | 
            +
                      "name": "info",
         | 
| 475 708 | 
             
                      "type": "tuple"
         | 
| 476 709 | 
             
                    }
         | 
| 477 710 | 
             
                  ],
         | 
| 478 711 | 
             
                  "stateMutability": "view",
         | 
| 479 712 | 
             
                  "type": "function"
         | 
| 480 713 | 
             
                },
         | 
| 481 | 
            -
                {
         | 
| 482 | 
            -
                  "inputs": [
         | 
| 483 | 
            -
                    {
         | 
| 484 | 
            -
                      "internalType": "uint256",
         | 
| 485 | 
            -
                      "name": "idx",
         | 
| 486 | 
            -
                      "type": "uint256"
         | 
| 487 | 
            -
                    }
         | 
| 488 | 
            -
                  ],
         | 
| 489 | 
            -
                  "name": "getRoleId",
         | 
| 490 | 
            -
                  "outputs": [
         | 
| 491 | 
            -
                    {
         | 
| 492 | 
            -
                      "internalType": "RoleId",
         | 
| 493 | 
            -
                      "name": "roleId",
         | 
| 494 | 
            -
                      "type": "uint64"
         | 
| 495 | 
            -
                    }
         | 
| 496 | 
            -
                  ],
         | 
| 497 | 
            -
                  "stateMutability": "view",
         | 
| 498 | 
            -
                  "type": "function"
         | 
| 499 | 
            -
                },
         | 
| 500 714 | 
             
                {
         | 
| 501 715 | 
             
                  "inputs": [
         | 
| 502 716 | 
             
                    {
         | 
| 503 717 | 
             
                      "internalType": "string",
         | 
| 504 | 
            -
                      "name": " | 
| 718 | 
            +
                      "name": "targetName",
         | 
| 505 719 | 
             
                      "type": "string"
         | 
| 506 720 | 
             
                    }
         | 
| 507 721 | 
             
                  ],
         | 
| 508 | 
            -
                  "name": " | 
| 722 | 
            +
                  "name": "getTargetAddress",
         | 
| 509 723 | 
             
                  "outputs": [
         | 
| 510 724 | 
             
                    {
         | 
| 511 | 
            -
                      "internalType": " | 
| 512 | 
            -
                      "name": " | 
| 513 | 
            -
                      "type": " | 
| 725 | 
            +
                      "internalType": "address",
         | 
| 726 | 
            +
                      "name": "targetAddress",
         | 
| 727 | 
            +
                      "type": "address"
         | 
| 514 728 | 
             
                    }
         | 
| 515 729 | 
             
                  ],
         | 
| 516 730 | 
             
                  "stateMutability": "view",
         | 
| @@ -519,22 +733,44 @@ | |
| 519 733 | 
             
                {
         | 
| 520 734 | 
             
                  "inputs": [
         | 
| 521 735 | 
             
                    {
         | 
| 522 | 
            -
                      "internalType": " | 
| 523 | 
            -
                      "name": " | 
| 524 | 
            -
                      "type": " | 
| 525 | 
            -
                    },
         | 
| 526 | 
            -
                    {
         | 
| 527 | 
            -
                      "internalType": "uint256",
         | 
| 528 | 
            -
                      "name": "idx",
         | 
| 529 | 
            -
                      "type": "uint256"
         | 
| 736 | 
            +
                      "internalType": "address",
         | 
| 737 | 
            +
                      "name": "target",
         | 
| 738 | 
            +
                      "type": "address"
         | 
| 530 739 | 
             
                    }
         | 
| 531 740 | 
             
                  ],
         | 
| 532 | 
            -
                  "name": " | 
| 741 | 
            +
                  "name": "getTargetInfo",
         | 
| 533 742 | 
             
                  "outputs": [
         | 
| 534 743 | 
             
                    {
         | 
| 535 | 
            -
                      " | 
| 536 | 
            -
             | 
| 537 | 
            -
             | 
| 744 | 
            +
                      "components": [
         | 
| 745 | 
            +
                        {
         | 
| 746 | 
            +
                          "internalType": "ShortString",
         | 
| 747 | 
            +
                          "name": "name",
         | 
| 748 | 
            +
                          "type": "bytes32"
         | 
| 749 | 
            +
                        },
         | 
| 750 | 
            +
                        {
         | 
| 751 | 
            +
                          "internalType": "enum IAccess.Type",
         | 
| 752 | 
            +
                          "name": "ttype",
         | 
| 753 | 
            +
                          "type": "uint8"
         | 
| 754 | 
            +
                        },
         | 
| 755 | 
            +
                        {
         | 
| 756 | 
            +
                          "internalType": "bool",
         | 
| 757 | 
            +
                          "name": "isLocked",
         | 
| 758 | 
            +
                          "type": "bool"
         | 
| 759 | 
            +
                        },
         | 
| 760 | 
            +
                        {
         | 
| 761 | 
            +
                          "internalType": "Timestamp",
         | 
| 762 | 
            +
                          "name": "createdAt",
         | 
| 763 | 
            +
                          "type": "uint40"
         | 
| 764 | 
            +
                        },
         | 
| 765 | 
            +
                        {
         | 
| 766 | 
            +
                          "internalType": "Timestamp",
         | 
| 767 | 
            +
                          "name": "updatedAt",
         | 
| 768 | 
            +
                          "type": "uint40"
         | 
| 769 | 
            +
                        }
         | 
| 770 | 
            +
                      ],
         | 
| 771 | 
            +
                      "internalType": "struct IAccess.TargetInfo",
         | 
| 772 | 
            +
                      "name": "",
         | 
| 773 | 
            +
                      "type": "tuple"
         | 
| 538 774 | 
             
                    }
         | 
| 539 775 | 
             
                  ],
         | 
| 540 776 | 
             
                  "stateMutability": "view",
         | 
| @@ -588,6 +824,19 @@ | |
| 588 824 | 
             
                  "stateMutability": "view",
         | 
| 589 825 | 
             
                  "type": "function"
         | 
| 590 826 | 
             
                },
         | 
| 827 | 
            +
                {
         | 
| 828 | 
            +
                  "inputs": [
         | 
| 829 | 
            +
                    {
         | 
| 830 | 
            +
                      "internalType": "address",
         | 
| 831 | 
            +
                      "name": "instanceAddress",
         | 
| 832 | 
            +
                      "type": "address"
         | 
| 833 | 
            +
                    }
         | 
| 834 | 
            +
                  ],
         | 
| 835 | 
            +
                  "name": "initialize",
         | 
| 836 | 
            +
                  "outputs": [],
         | 
| 837 | 
            +
                  "stateMutability": "nonpayable",
         | 
| 838 | 
            +
                  "type": "function"
         | 
| 839 | 
            +
                },
         | 
| 591 840 | 
             
                {
         | 
| 592 841 | 
             
                  "inputs": [],
         | 
| 593 842 | 
             
                  "name": "isConsumingScheduledOp",
         | 
| @@ -601,6 +850,25 @@ | |
| 601 850 | 
             
                  "stateMutability": "view",
         | 
| 602 851 | 
             
                  "type": "function"
         | 
| 603 852 | 
             
                },
         | 
| 853 | 
            +
                {
         | 
| 854 | 
            +
                  "inputs": [
         | 
| 855 | 
            +
                    {
         | 
| 856 | 
            +
                      "internalType": "address",
         | 
| 857 | 
            +
                      "name": "target",
         | 
| 858 | 
            +
                      "type": "address"
         | 
| 859 | 
            +
                    }
         | 
| 860 | 
            +
                  ],
         | 
| 861 | 
            +
                  "name": "isTargetLocked",
         | 
| 862 | 
            +
                  "outputs": [
         | 
| 863 | 
            +
                    {
         | 
| 864 | 
            +
                      "internalType": "bool",
         | 
| 865 | 
            +
                      "name": "locked",
         | 
| 866 | 
            +
                      "type": "bool"
         | 
| 867 | 
            +
                    }
         | 
| 868 | 
            +
                  ],
         | 
| 869 | 
            +
                  "stateMutability": "view",
         | 
| 870 | 
            +
                  "type": "function"
         | 
| 871 | 
            +
                },
         | 
| 604 872 | 
             
                {
         | 
| 605 873 | 
             
                  "inputs": [
         | 
| 606 874 | 
             
                    {
         | 
| @@ -613,7 +881,7 @@ | |
| 613 881 | 
             
                  "outputs": [
         | 
| 614 882 | 
             
                    {
         | 
| 615 883 | 
             
                      "internalType": "bool",
         | 
| 616 | 
            -
                      "name": " | 
| 884 | 
            +
                      "name": "",
         | 
| 617 885 | 
             
                      "type": "bool"
         | 
| 618 886 | 
             
                    }
         | 
| 619 887 | 
             
                  ],
         | 
| @@ -634,6 +902,25 @@ | |
| 634 902 | 
             
                    }
         | 
| 635 903 | 
             
                  ],
         | 
| 636 904 | 
             
                  "name": "revokeRole",
         | 
| 905 | 
            +
                  "outputs": [
         | 
| 906 | 
            +
                    {
         | 
| 907 | 
            +
                      "internalType": "bool",
         | 
| 908 | 
            +
                      "name": "",
         | 
| 909 | 
            +
                      "type": "bool"
         | 
| 910 | 
            +
                    }
         | 
| 911 | 
            +
                  ],
         | 
| 912 | 
            +
                  "stateMutability": "nonpayable",
         | 
| 913 | 
            +
                  "type": "function"
         | 
| 914 | 
            +
                },
         | 
| 915 | 
            +
                {
         | 
| 916 | 
            +
                  "inputs": [
         | 
| 917 | 
            +
                    {
         | 
| 918 | 
            +
                      "internalType": "RoleId",
         | 
| 919 | 
            +
                      "name": "roleId",
         | 
| 920 | 
            +
                      "type": "uint64"
         | 
| 921 | 
            +
                    }
         | 
| 922 | 
            +
                  ],
         | 
| 923 | 
            +
                  "name": "revokeRoleAllMembers",
         | 
| 637 924 | 
             
                  "outputs": [
         | 
| 638 925 | 
             
                    {
         | 
| 639 926 | 
             
                      "internalType": "bool",
         | 
| @@ -663,6 +950,30 @@ | |
| 663 950 | 
             
                  "stateMutability": "view",
         | 
| 664 951 | 
             
                  "type": "function"
         | 
| 665 952 | 
             
                },
         | 
| 953 | 
            +
                {
         | 
| 954 | 
            +
                  "inputs": [
         | 
| 955 | 
            +
                    {
         | 
| 956 | 
            +
                      "internalType": "RoleId",
         | 
| 957 | 
            +
                      "name": "roleId",
         | 
| 958 | 
            +
                      "type": "uint64"
         | 
| 959 | 
            +
                    },
         | 
| 960 | 
            +
                    {
         | 
| 961 | 
            +
                      "internalType": "uint256",
         | 
| 962 | 
            +
                      "name": "idx",
         | 
| 963 | 
            +
                      "type": "uint256"
         | 
| 964 | 
            +
                    }
         | 
| 965 | 
            +
                  ],
         | 
| 966 | 
            +
                  "name": "roleMember",
         | 
| 967 | 
            +
                  "outputs": [
         | 
| 968 | 
            +
                    {
         | 
| 969 | 
            +
                      "internalType": "address",
         | 
| 970 | 
            +
                      "name": "member",
         | 
| 971 | 
            +
                      "type": "address"
         | 
| 972 | 
            +
                    }
         | 
| 973 | 
            +
                  ],
         | 
| 974 | 
            +
                  "stateMutability": "view",
         | 
| 975 | 
            +
                  "type": "function"
         | 
| 976 | 
            +
                },
         | 
| 666 977 | 
             
                {
         | 
| 667 978 | 
             
                  "inputs": [
         | 
| 668 979 | 
             
                    {
         | 
| @@ -708,6 +1019,29 @@ | |
| 708 1019 | 
             
                  "stateMutability": "nonpayable",
         | 
| 709 1020 | 
             
                  "type": "function"
         | 
| 710 1021 | 
             
                },
         | 
| 1022 | 
            +
                {
         | 
| 1023 | 
            +
                  "inputs": [
         | 
| 1024 | 
            +
                    {
         | 
| 1025 | 
            +
                      "internalType": "string",
         | 
| 1026 | 
            +
                      "name": "targetName",
         | 
| 1027 | 
            +
                      "type": "string"
         | 
| 1028 | 
            +
                    },
         | 
| 1029 | 
            +
                    {
         | 
| 1030 | 
            +
                      "internalType": "bytes4[]",
         | 
| 1031 | 
            +
                      "name": "selectors",
         | 
| 1032 | 
            +
                      "type": "bytes4[]"
         | 
| 1033 | 
            +
                    },
         | 
| 1034 | 
            +
                    {
         | 
| 1035 | 
            +
                      "internalType": "RoleId",
         | 
| 1036 | 
            +
                      "name": "roleId",
         | 
| 1037 | 
            +
                      "type": "uint64"
         | 
| 1038 | 
            +
                    }
         | 
| 1039 | 
            +
                  ],
         | 
| 1040 | 
            +
                  "name": "setCoreTargetFunctionRole",
         | 
| 1041 | 
            +
                  "outputs": [],
         | 
| 1042 | 
            +
                  "stateMutability": "nonpayable",
         | 
| 1043 | 
            +
                  "type": "function"
         | 
| 1044 | 
            +
                },
         | 
| 711 1045 | 
             
                {
         | 
| 712 1046 | 
             
                  "inputs": [
         | 
| 713 1047 | 
             
                    {
         | 
| @@ -716,12 +1050,35 @@ | |
| 716 1050 | 
             
                      "type": "uint64"
         | 
| 717 1051 | 
             
                    },
         | 
| 718 1052 | 
             
                    {
         | 
| 719 | 
            -
                      "internalType": " | 
| 720 | 
            -
                      "name": " | 
| 721 | 
            -
                      "type": " | 
| 1053 | 
            +
                      "internalType": "RoleId",
         | 
| 1054 | 
            +
                      "name": "admin",
         | 
| 1055 | 
            +
                      "type": "uint64"
         | 
| 1056 | 
            +
                    }
         | 
| 1057 | 
            +
                  ],
         | 
| 1058 | 
            +
                  "name": "setRoleAdmin",
         | 
| 1059 | 
            +
                  "outputs": [],
         | 
| 1060 | 
            +
                  "stateMutability": "nonpayable",
         | 
| 1061 | 
            +
                  "type": "function"
         | 
| 1062 | 
            +
                },
         | 
| 1063 | 
            +
                {
         | 
| 1064 | 
            +
                  "inputs": [
         | 
| 1065 | 
            +
                    {
         | 
| 1066 | 
            +
                      "internalType": "string",
         | 
| 1067 | 
            +
                      "name": "targetName",
         | 
| 1068 | 
            +
                      "type": "string"
         | 
| 1069 | 
            +
                    },
         | 
| 1070 | 
            +
                    {
         | 
| 1071 | 
            +
                      "internalType": "bytes4[]",
         | 
| 1072 | 
            +
                      "name": "selectors",
         | 
| 1073 | 
            +
                      "type": "bytes4[]"
         | 
| 1074 | 
            +
                    },
         | 
| 1075 | 
            +
                    {
         | 
| 1076 | 
            +
                      "internalType": "RoleId",
         | 
| 1077 | 
            +
                      "name": "roleId",
         | 
| 1078 | 
            +
                      "type": "uint64"
         | 
| 722 1079 | 
             
                    }
         | 
| 723 1080 | 
             
                  ],
         | 
| 724 | 
            -
                  "name": " | 
| 1081 | 
            +
                  "name": "setTargetFunctionRole",
         | 
| 725 1082 | 
             
                  "outputs": [],
         | 
| 726 1083 | 
             
                  "stateMutability": "nonpayable",
         | 
| 727 1084 | 
             
                  "type": "function"
         | 
| @@ -764,90 +1121,106 @@ | |
| 764 1121 | 
             
                  "type": "function"
         | 
| 765 1122 | 
             
                }
         | 
| 766 1123 | 
             
              ],
         | 
| 767 | 
            -
              "bytecode": "0x60806040523480156200001157600080fd5b5060405162002db038038062002db0833981016040819052620000349162000a52565b806200004081620002aa565b50600880546001600160a01b0319166001600160a01b03831690811790915560408051631d6c8e3f60e21b81529051620001769273__$cd131c2b3ba46b9dbe046aaf4458b9777d$__926368aebf7b926375b238fc916004808201926020929091908290030181865afa158015620000bc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000e2919062000a9d565b6040516001600160e01b031960e084901b1681526001600160401b039091166004820152602401602060405180830381865af415801562000127573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200014d919062000a9d565b60408051808201909152600981526841646d696e526f6c6560b81b6020820152600080620002fe565b620002a373__$cd131c2b3ba46b9dbe046aaf4458b9777d$__6368aebf7b600860009054906101000a90046001600160a01b03166001600160a01b0316633ca7c02a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001e8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200020e919062000a9d565b6040516001600160e01b031960e084901b1681526001600160401b039091166004820152602401602060405180830381865af415801562000253573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000279919062000a9d565b60408051808201909152600a8152695075626c6963526f6c6560b01b6020820152600080620002fe565b5062000b82565b600080546001600160a01b0319166001600160a01b0383169081179091556040519081527f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad9060200160405180910390a150565b801562000314576200031284848462000548565b505b60006040518060a001604052806200033286620009e060201b60201c565b8152602001841515815260200160001515815260200173__$d53880c81dc91c20799140d711e5ab8718$__63adb618326040518163ffffffff1660e01b8152600401602060405180830381865af415801562000392573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003b8919062000abd565b64ffffffffff16815260200173__$d53880c81dc91c20799140d711e5ab8718$__63adb618326040518163ffffffff1660e01b8152600401602060405180830381865af41580156200040e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000434919062000abd565b64ffffffffff9081169091526001600160401b03968716600081815260016020818152604080842087518082558884015191850180548a85015160608c01516080909c015161ffff1990921694151561ff0019169490941761010094151585021762010000600160601b031916620100009b8b169b909b0264ffffffffff60381b19169a909a176701000000000000009a909916999099029790971790975594835260039081905293822080546001600160401b03191684179055600480549182018155918290527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b9181049190910180549190931660080290930a97880219909216969091029590951790945550505050565b6040805160a08101825260008082526020820181905291810182905260608101829052608081019190915260085460408051631d6c8e3f60e21b8152905186926001600160a01b0316916375b238fc9160048083019260209291908290030181865afa158015620005bd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620005e3919062000a9d565b6001600160401b0316816001600160401b031614806200068d5750600860009054906101000a90046001600160a01b03166001600160a01b0316633ca7c02a6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000652573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000678919062000a9d565b6001600160401b0316816001600160401b0316145b15620006bc5760405163981bf42160e01b81526001600160401b03861660048201526024015b60405180910390fd5b6001600160401b038516600090815260016020818152604092839020835160a0810185528154815292015460ff808216151592840192909252610100810490911615158284015264ffffffffff6201000082048116606084018190526701000000000000009092041660808301529151638d38cd4b60e01b81526004810192909252925073__$d53880c81dc91c20799140d711e5ab8718$__90638d38cd4b90602401602060405180830381865af41580156200077d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620007a3919062000ae6565b8015620007b857508160200151151583151514155b15620007f757602082015160405162d1cd9360e51b81526001600160401b038716600482015284151560248201529015156044820152606401620006b3565b8280156200080f57506127106001600160401b038216105b156200083a57604051633119b9df60e21b81526001600160401b0386166004820152602401620006b3565b821580156200085457506127106001600160401b03821610155b156200087f5760405163094fb39160e01b81526001600160401b0386166004820152602401620006b3565b60006200088c85620009e0565b9050620008998162000a23565b600003620008c6576040516321ab17ab60e01b81526001600160401b0387166004820152602401620006b3565b60008181526003602090815260409182902054825163bc1b392d60e01b815292516200096d936001600160401b039092169273__$cd131c2b3ba46b9dbe046aaf4458b9777d$__9263bc1b392d92600480830193928290030181865af415801562000935573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200095b919062000a9d565b6001600160401b039081169116141590565b80156200099457506000818152600360205260409020546001600160401b03878116911614155b15620009d75760008181526003602052604090819020549051631660fb9360e21b81526001600160401b03909116600482015260248101829052604401620006b3565b50509392505050565b600080829050601f8151111562000a0e578260405163305a27a960e01b8152600401620006b3919062000b0a565b805162000a1b8262000b5a565b179392505050565b600060ff8216601f81111562000a4c57604051632cd44ac360e21b815260040160405180910390fd5b92915050565b60006020828403121562000a6557600080fd5b81516001600160a01b038116811462000a7d57600080fd5b9392505050565b6001600160401b038116811462000a9a57600080fd5b50565b60006020828403121562000ab057600080fd5b815162000a7d8162000a84565b60006020828403121562000ad057600080fd5b815164ffffffffff8116811462000a7d57600080fd5b60006020828403121562000af957600080fd5b8151801515811462000a7d57600080fd5b600060208083528351808285015260005b8181101562000b395785810183015185820160400152820162000b1b565b506000604082860101526040601f19601f8301168501019250505092915050565b8051602080830151919081101562000b7c576000198160200360031b1b821691505b50919050565b61221e8062000b926000396000f3fe608060405234801561001057600080fd5b50600436106101585760003560e01c806386892313116100c3578063bc62a0a51161007c578063bc62a0a5146103dc578063bcfb11b014610411578063bf7e214f1461043a578063c6a001791461045f578063d1f856ee14610472578063d78a83b11461048557600080fd5b8063868923131461027357806386f0c47b146102865780638fb3603714610382578063af8d729e146103a3578063b428b0b0146103b6578063b7d2b162146103c957600080fd5b80635dfa73db116101155780635dfa73db146102095780635fa8aad414610212578063605aa10a146102275780636270b7c31461023a57806368ed5d2e1461024d5780637a9e5e4b1461026057600080fd5b8063030149741461015d57806337f135d714610183578063384c9a57146101a0578063392f5f64146101c35780633fd85561146101cb5780635511a6f3146101f6575b600080fd5b61017061016b366004611d54565b610498565b6040519081526020015b60405180910390f35b61018b600081565b60405163ffffffff909116815260200161017a565b6101b36101ae366004611d54565b6104bf565b604051901515815260200161017a565b600454610170565b6101de6101d9366004611d71565b61064c565b6040516001600160401b03909116815260200161017a565b6101de610204366004611e2c565b610691565b6101de61271081565b610225610220366004611e84565b6106c0565b005b6101b3610235366004611ed1565b6106de565b610225610248366004611eec565b61077b565b61022561025b366004611eec565b610792565b61022561026e366004611ed1565b6107a8565b610225610281366004611f18565b61081e565b61032f610294366004611d54565b6040805160a081018252600080825260208201819052918101829052606081018290526080810191909152506001600160401b0316600090815260016020818152604092839020835160a0810185528154815292015460ff808216151592840192909252610100810490911615159282019290925264ffffffffff62010000830481166060830152600160381b909204909116608082015290565b60405161017a9190600060a08201905082518252602083015115156020830152604083015115156040830152606083015164ffffffffff8082166060850152806080860151166080850152505092915050565b61038a6108ec565b6040516001600160e01b0319909116815260200161017a565b6102256103b1366004611f4f565b610910565b6101b36103c4366004611f6d565b610a2f565b6101b36103d7366004611f6d565b610c0b565b6104046040518060400160405280600981526020016841646d696e526f6c6560b81b81525081565b60405161017a9190611fc6565b6104046040518060400160405280600a8152602001695075626c6963526f6c6560b01b81525081565b6000546001600160a01b03165b6040516001600160a01b03909116815260200161017a565b6101b361046d366004611d54565b610d89565b6101b3610480366004611f6d565b610deb565b610447610493366004611ff9565b610efb565b6001600160401b03811660009081526002602052604081206104b990610f24565b92915050565b6000336104cb83610d89565b6104f757604051627a416f60e01b81526001600160401b03841660048201526024015b60405180910390fd5b6001600160401b03831660009081526002602052604090206105199082610f2e565b1561064357600854604051631517388760e21b81526001600160401b03851660048201526001600160a01b039091169063b7d2b1629073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__9063545ce21c90602401602060405180830381865af415801561058b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105af9190612025565b6040516001600160e01b031960e084901b1681526001600160401b0390911660048201526001600160a01b0384166024820152604401600060405180830381600087803b1580156105ff57600080fd5b505af1158015610613573d6000803e3d6000fd5b5050506001600160401b0384166000908152600260205260409020610639915082610f50565b5060019392505050565b50600092915050565b60006004828154811061066157610661612042565b90600052602060002090600491828204019190066008029054906101000a90046001600160401b03169050919050565b6000600360006106a084610f65565b81526020810191909152604001600020546001600160401b031692915050565b6106cd335b600036610fa3565b6106da82826001806110a3565b5050565b6001600160a01b038116600090815260056020526040808220600101549051638d38cd4b60e01b81526201000090910464ffffffffff16600482015273__$d53880c81dc91c20799140d711e5ab8718$__90638d38cd4b906024015b602060405180830381865af4158015610757573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104b99190612058565b610784336106c5565b6106da828260006001611380565b61079b336106c5565b6106da8282600180611380565b60005433906001600160a01b031681146107df5760405162d1953b60e31b81526001600160a01b03821660048201526024016104ee565b816001600160a01b03163b600003610815576040516361798f2f60e11b81526001600160a01b03831660048201526024016104ee565b6106da826115b9565b610827336106c5565b610830826106de565b6108585760405163ba52b0f160e01b81526001600160a01b03831660048201526024016104ee565b6001600160a01b0382811660008181526005602052604090819020600101805461ff00191661010086151590810291909117909155600854915163167bd39560e01b8152600481019390935260248301529091169063167bd39590604401600060405180830381600087803b1580156108d057600080fd5b505af11580156108e4573d6000803e3d6000fd5b505050505050565b60008054600160a01b900460ff166109045750600090565b50638fb3603760e01b90565b610919336106c5565b61092282610d89565b61094a5760405163135c79b760e21b81526001600160401b03831660048201526024016104ee565b6001600160401b038216600090815260016020818152604092839020909101805461ff0019166101008515150217905581516356db0c1960e11b8152915173__$d53880c81dc91c20799140d711e5ab8718$__9263adb618329260048083019391928290030181865af41580156109c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109e99190612075565b6001600160401b03909216600090815260016020819052604090912001805464ffffffffff93909316600160381b0264ffffffffff60381b199093169290921790915550565b6000610a3a336106c5565b610a4383610d89565b610a6b57604051636777365b60e01b81526001600160401b03841660048201526024016104ee565b6001600160401b03831660009081526001602081905260409091200154610100900460ff1615610ab95760405163fe229d5d60e01b81526001600160401b03841660048201526024016104ee565b6001600160401b0383166000908152600260205260409020610adb9083610f2e565b61064357600854604051631517388760e21b81526001600160401b03851660048201526001600160a01b03909116906325c471a09073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__9063545ce21c90602401602060405180830381865af4158015610b4c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b709190612025565b6040516001600160e01b031960e084901b1681526001600160401b0390911660048201526001600160a01b038516602482015260006044820152606401600060405180830381600087803b158015610bc757600080fd5b505af1158015610bdb573d6000803e3d6000fd5b5050506001600160401b0384166000908152600260205260409020610c0191508361160d565b50600190506104b9565b6000610c16336106c5565b610c1f83610d89565b610c4757604051634cee277360e11b81526001600160401b03841660048201526024016104ee565b6001600160401b0383166000908152600260205260409020610c699083610f2e565b1561064357600854604051631517388760e21b81526001600160401b03851660048201526001600160a01b039091169063b7d2b1629073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__9063545ce21c90602401602060405180830381865af4158015610cdb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cff9190612025565b6040516001600160e01b031960e084901b1681526001600160401b0390911660048201526001600160a01b0385166024820152604401600060405180830381600087803b158015610d4f57600080fd5b505af1158015610d63573d6000803e3d6000fd5b5050506001600160401b0384166000908152600260205260409020610c01915083610f50565b6001600160401b0381166000908152600160208190526040808320909101549051638d38cd4b60e01b81526201000090910464ffffffffff16600482015273__$d53880c81dc91c20799140d711e5ab8718$__90638d38cd4b9060240161073a565b600854604051631517388760e21b81526001600160401b03841660048201526000916001600160a01b03169063d1f856ee9073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__9063545ce21c90602401602060405180830381865af4158015610e59573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e7d9190612025565b6040516001600160e01b031960e084901b1681526001600160401b0390911660048201526001600160a01b03851660248201526044016040805180830381865afa158015610ecf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ef3919061209c565b509392505050565b6001600160401b0382166000908152600260205260408120610f1d9083611622565b9392505050565b60006104b9825490565b6001600160a01b03811660009081526001830160205260408120541515610f1d565b6000610f1d836001600160a01b03841661162e565b600080829050601f81511115610f90578260405163305a27a960e01b81526004016104ee9190611fc6565b8051610f9b826120d4565b179392505050565b600080610fd9610fbb6000546001600160a01b031690565b8630610fcb60046000898b6120fb565b610fd491612125565b611721565b915091508161109c5763ffffffff811615611079576000805460ff60a01b198116600160a01b17909155604051634a63ebf760e11b81526001600160a01b03909116906394c7d7ee9061103490889088908890600401612155565b600060405180830381600087803b15801561104e57600080fd5b505af1158015611062573d6000803e3d6000fd5b50506000805460ff60a01b191690555061109c9050565b60405162d1953b60e31b81526001600160a01b03861660048201526024016104ee565b5050505050565b60006040518060a001604052806110b986610f65565b815284151560208201526008546040805163a166aa8960e01b81526001600160a01b038a81166004830152919093019291169063a166aa8990602401602060405180830381865afa158015611112573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111369190612058565b1515815260200173__$d53880c81dc91c20799140d711e5ab8718$__63adb618326040518163ffffffff1660e01b8152600401602060405180830381865af4158015611186573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111aa9190612075565b64ffffffffff16815260200173__$d53880c81dc91c20799140d711e5ab8718$__63adb618326040518163ffffffff1660e01b8152600401602060405180830381865af41580156111ff573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112239190612075565b64ffffffffff1681525090508060056000876001600160a01b03166001600160a01b031681526020019081526020016000206000820151816000015560208201518160010160006101000a81548160ff02191690831515021790555060408201518160010160016101000a81548160ff02191690831515021790555060608201518160010160026101000a81548164ffffffffff021916908364ffffffffff16021790555060808201518160010160076101000a81548164ffffffffff021916908364ffffffffff16021790555090505084600660008360000151815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b031602179055506007859080600181540180825580915050600190039060005260206000200160009091909190916101000a8154816001600160a01b0302191690836001600160a01b031602179055505050505050565b80156113935761139184848461182d565b505b60006040518060a001604052806113a986610f65565b8152602001841515815260200160001515815260200173__$d53880c81dc91c20799140d711e5ab8718$__63adb618326040518163ffffffff1660e01b8152600401602060405180830381865af4158015611408573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061142c9190612075565b64ffffffffff16815260200173__$d53880c81dc91c20799140d711e5ab8718$__63adb618326040518163ffffffff1660e01b8152600401602060405180830381865af4158015611481573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114a59190612075565b64ffffffffff9081169091526001600160401b03968716600081815260016020818152604080842087518082558884015191850180548a85015160608c01516080909c015161ffff1990921694151561ff001916949094176101009415158502176bffffffffffffffffffff00001916620100009b8b169b909b0264ffffffffff60381b19169a909a17600160381b9a9099169990990297909717909755948352600390819052938220805467ffffffffffffffff191684179055600480549182018155918290527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b9181049190910180549190931660080290930a97880219909216969091029590951790945550505050565b600080546001600160a01b0319166001600160a01b0383169081179091556040519081527f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad9060200160405180910390a150565b6000610f1d836001600160a01b038416611c9b565b6000610f1d8383611cea565b60008181526001830160205260408120548015611717576000611652600183612195565b855490915060009061166690600190612195565b90508082146116cb57600086600001828154811061168657611686612042565b90600052602060002001549050808760000184815481106116a9576116a9612042565b6000918252602080832090910192909255918252600188019052604090208390555b85548690806116dc576116dc6121b6565b6001900381819060005260206000200160009055905585600101600086815260200190815260200160002060009055600193505050506104b9565b60009150506104b9565b6040516001600160a01b03848116602483015283811660448301526001600160e01b03198316606483015260009182918291829189169060840160408051601f198184030181529181526020820180516001600160e01b031663b700961360e01b1790525161179091906121cc565b600060405180830381855afa9150503d80600081146117cb576040519150601f19603f3d011682016040523d82523d6000602084013e6117d0565b606091505b5091509150811561182257604081511061180257808060200190518101906117f8919061209c565b9094509250611822565b6020815110611822578080602001905181019061181f9190612058565b93505b505094509492505050565b6040805160a08101825260008082526020820181905291810182905260608101829052608081019190915260085460408051631d6c8e3f60e21b8152905186926001600160a01b0316916375b238fc9160048083019260209291908290030181865afa1580156118a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118c59190612025565b6001600160401b0316816001600160401b0316148061196b5750600860009054906101000a90046001600160a01b03166001600160a01b0316633ca7c02a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611932573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119569190612025565b6001600160401b0316816001600160401b0316145b156119945760405163981bf42160e01b81526001600160401b03861660048201526024016104ee565b6001600160401b038516600090815260016020818152604092839020835160a0810185528154815292015460ff808216151592840192909252610100810490911615158284015264ffffffffff620100008204811660608401819052600160381b9092041660808301529151638d38cd4b60e01b81526004810192909252925073__$d53880c81dc91c20799140d711e5ab8718$__90638d38cd4b90602401602060405180830381865af4158015611a50573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a749190612058565b8015611a8857508160200151151583151514155b15611ac557602082015160405162d1cd9360e51b81526001600160401b0387166004820152841515602482015290151560448201526064016104ee565b828015611adc57506127106001600160401b038216105b15611b0557604051633119b9df60e21b81526001600160401b03861660048201526024016104ee565b82158015611b1e57506127106001600160401b03821610155b15611b475760405163094fb39160e01b81526001600160401b03861660048201526024016104ee565b6000611b5285610f65565b9050611b5d81611d14565b600003611b88576040516321ab17ab60e01b81526001600160401b03871660048201526024016104ee565b60008181526003602090815260409182902054825163bc1b392d60e01b81529251611c2b936001600160401b039092169273__$cd131c2b3ba46b9dbe046aaf4458b9777d$__9263bc1b392d92600480830193928290030181865af4158015611bf5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c199190612025565b6001600160401b039081169116141590565b8015611c5157506000818152600360205260409020546001600160401b03878116911614155b15611c925760008181526003602052604090819020549051631660fb9360e21b81526001600160401b039091166004820152602481018290526044016104ee565b50509392505050565b6000818152600183016020526040812054611ce2575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556104b9565b5060006104b9565b6000826000018281548110611d0157611d01612042565b9060005260206000200154905092915050565b600060ff8216601f8111156104b957604051632cd44ac360e21b815260040160405180910390fd5b6001600160401b0381168114611d5157600080fd5b50565b600060208284031215611d6657600080fd5b8135610f1d81611d3c565b600060208284031215611d8357600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112611db157600080fd5b81356001600160401b0380821115611dcb57611dcb611d8a565b604051601f8301601f19908116603f01168101908282118183101715611df357611df3611d8a565b81604052838152866020858801011115611e0c57600080fd5b836020870160208301376000602085830101528094505050505092915050565b600060208284031215611e3e57600080fd5b81356001600160401b03811115611e5457600080fd5b611e6084828501611da0565b949350505050565b80356001600160a01b0381168114611e7f57600080fd5b919050565b60008060408385031215611e9757600080fd5b611ea083611e68565b915060208301356001600160401b03811115611ebb57600080fd5b611ec785828601611da0565b9150509250929050565b600060208284031215611ee357600080fd5b610f1d82611e68565b60008060408385031215611eff57600080fd5b8235611ea081611d3c565b8015158114611d5157600080fd5b60008060408385031215611f2b57600080fd5b611f3483611e68565b91506020830135611f4481611f0a565b809150509250929050565b60008060408385031215611f6257600080fd5b8235611f3481611d3c565b60008060408385031215611f8057600080fd5b8235611f8b81611d3c565b9150611f9960208401611e68565b90509250929050565b60005b83811015611fbd578181015183820152602001611fa5565b50506000910152565b6020815260008251806020840152611fe5816040850160208701611fa2565b601f01601f19169190910160400192915050565b6000806040838503121561200c57600080fd5b823561201781611d3c565b946020939093013593505050565b60006020828403121561203757600080fd5b8151610f1d81611d3c565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561206a57600080fd5b8151610f1d81611f0a565b60006020828403121561208757600080fd5b815164ffffffffff81168114610f1d57600080fd5b600080604083850312156120af57600080fd5b82516120ba81611f0a565b602084015190925063ffffffff81168114611f4457600080fd5b805160208083015191908110156120f5576000198160200360031b1b821691505b50919050565b6000808585111561210b57600080fd5b8386111561211857600080fd5b5050820193919092039150565b6001600160e01b0319813581811691600485101561214d5780818660040360031b1b83161692505b505092915050565b6001600160a01b03841681526040602082018190528101829052818360608301376000818301606090810191909152601f909201601f1916010192915050565b818103818111156104b957634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603160045260246000fd5b600082516121de818460208701611fa2565b919091019291505056fea26469706673582212201afec2205a2dbbc56c0c55c3c18432bad4262579d4fbaeb75ef2e308e0298f0d64736f6c63430008140033",
         | 
| 768 | 
            -
              "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101585760003560e01c806386892313116100c3578063bc62a0a51161007c578063bc62a0a5146103dc578063bcfb11b014610411578063bf7e214f1461043a578063c6a001791461045f578063d1f856ee14610472578063d78a83b11461048557600080fd5b8063868923131461027357806386f0c47b146102865780638fb3603714610382578063af8d729e146103a3578063b428b0b0146103b6578063b7d2b162146103c957600080fd5b80635dfa73db116101155780635dfa73db146102095780635fa8aad414610212578063605aa10a146102275780636270b7c31461023a57806368ed5d2e1461024d5780637a9e5e4b1461026057600080fd5b8063030149741461015d57806337f135d714610183578063384c9a57146101a0578063392f5f64146101c35780633fd85561146101cb5780635511a6f3146101f6575b600080fd5b61017061016b366004611d54565b610498565b6040519081526020015b60405180910390f35b61018b600081565b60405163ffffffff909116815260200161017a565b6101b36101ae366004611d54565b6104bf565b604051901515815260200161017a565b600454610170565b6101de6101d9366004611d71565b61064c565b6040516001600160401b03909116815260200161017a565b6101de610204366004611e2c565b610691565b6101de61271081565b610225610220366004611e84565b6106c0565b005b6101b3610235366004611ed1565b6106de565b610225610248366004611eec565b61077b565b61022561025b366004611eec565b610792565b61022561026e366004611ed1565b6107a8565b610225610281366004611f18565b61081e565b61032f610294366004611d54565b6040805160a081018252600080825260208201819052918101829052606081018290526080810191909152506001600160401b0316600090815260016020818152604092839020835160a0810185528154815292015460ff808216151592840192909252610100810490911615159282019290925264ffffffffff62010000830481166060830152600160381b909204909116608082015290565b60405161017a9190600060a08201905082518252602083015115156020830152604083015115156040830152606083015164ffffffffff8082166060850152806080860151166080850152505092915050565b61038a6108ec565b6040516001600160e01b0319909116815260200161017a565b6102256103b1366004611f4f565b610910565b6101b36103c4366004611f6d565b610a2f565b6101b36103d7366004611f6d565b610c0b565b6104046040518060400160405280600981526020016841646d696e526f6c6560b81b81525081565b60405161017a9190611fc6565b6104046040518060400160405280600a8152602001695075626c6963526f6c6560b01b81525081565b6000546001600160a01b03165b6040516001600160a01b03909116815260200161017a565b6101b361046d366004611d54565b610d89565b6101b3610480366004611f6d565b610deb565b610447610493366004611ff9565b610efb565b6001600160401b03811660009081526002602052604081206104b990610f24565b92915050565b6000336104cb83610d89565b6104f757604051627a416f60e01b81526001600160401b03841660048201526024015b60405180910390fd5b6001600160401b03831660009081526002602052604090206105199082610f2e565b1561064357600854604051631517388760e21b81526001600160401b03851660048201526001600160a01b039091169063b7d2b1629073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__9063545ce21c90602401602060405180830381865af415801561058b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105af9190612025565b6040516001600160e01b031960e084901b1681526001600160401b0390911660048201526001600160a01b0384166024820152604401600060405180830381600087803b1580156105ff57600080fd5b505af1158015610613573d6000803e3d6000fd5b5050506001600160401b0384166000908152600260205260409020610639915082610f50565b5060019392505050565b50600092915050565b60006004828154811061066157610661612042565b90600052602060002090600491828204019190066008029054906101000a90046001600160401b03169050919050565b6000600360006106a084610f65565b81526020810191909152604001600020546001600160401b031692915050565b6106cd335b600036610fa3565b6106da82826001806110a3565b5050565b6001600160a01b038116600090815260056020526040808220600101549051638d38cd4b60e01b81526201000090910464ffffffffff16600482015273__$d53880c81dc91c20799140d711e5ab8718$__90638d38cd4b906024015b602060405180830381865af4158015610757573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104b99190612058565b610784336106c5565b6106da828260006001611380565b61079b336106c5565b6106da8282600180611380565b60005433906001600160a01b031681146107df5760405162d1953b60e31b81526001600160a01b03821660048201526024016104ee565b816001600160a01b03163b600003610815576040516361798f2f60e11b81526001600160a01b03831660048201526024016104ee565b6106da826115b9565b610827336106c5565b610830826106de565b6108585760405163ba52b0f160e01b81526001600160a01b03831660048201526024016104ee565b6001600160a01b0382811660008181526005602052604090819020600101805461ff00191661010086151590810291909117909155600854915163167bd39560e01b8152600481019390935260248301529091169063167bd39590604401600060405180830381600087803b1580156108d057600080fd5b505af11580156108e4573d6000803e3d6000fd5b505050505050565b60008054600160a01b900460ff166109045750600090565b50638fb3603760e01b90565b610919336106c5565b61092282610d89565b61094a5760405163135c79b760e21b81526001600160401b03831660048201526024016104ee565b6001600160401b038216600090815260016020818152604092839020909101805461ff0019166101008515150217905581516356db0c1960e11b8152915173__$d53880c81dc91c20799140d711e5ab8718$__9263adb618329260048083019391928290030181865af41580156109c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109e99190612075565b6001600160401b03909216600090815260016020819052604090912001805464ffffffffff93909316600160381b0264ffffffffff60381b199093169290921790915550565b6000610a3a336106c5565b610a4383610d89565b610a6b57604051636777365b60e01b81526001600160401b03841660048201526024016104ee565b6001600160401b03831660009081526001602081905260409091200154610100900460ff1615610ab95760405163fe229d5d60e01b81526001600160401b03841660048201526024016104ee565b6001600160401b0383166000908152600260205260409020610adb9083610f2e565b61064357600854604051631517388760e21b81526001600160401b03851660048201526001600160a01b03909116906325c471a09073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__9063545ce21c90602401602060405180830381865af4158015610b4c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b709190612025565b6040516001600160e01b031960e084901b1681526001600160401b0390911660048201526001600160a01b038516602482015260006044820152606401600060405180830381600087803b158015610bc757600080fd5b505af1158015610bdb573d6000803e3d6000fd5b5050506001600160401b0384166000908152600260205260409020610c0191508361160d565b50600190506104b9565b6000610c16336106c5565b610c1f83610d89565b610c4757604051634cee277360e11b81526001600160401b03841660048201526024016104ee565b6001600160401b0383166000908152600260205260409020610c699083610f2e565b1561064357600854604051631517388760e21b81526001600160401b03851660048201526001600160a01b039091169063b7d2b1629073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__9063545ce21c90602401602060405180830381865af4158015610cdb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cff9190612025565b6040516001600160e01b031960e084901b1681526001600160401b0390911660048201526001600160a01b0385166024820152604401600060405180830381600087803b158015610d4f57600080fd5b505af1158015610d63573d6000803e3d6000fd5b5050506001600160401b0384166000908152600260205260409020610c01915083610f50565b6001600160401b0381166000908152600160208190526040808320909101549051638d38cd4b60e01b81526201000090910464ffffffffff16600482015273__$d53880c81dc91c20799140d711e5ab8718$__90638d38cd4b9060240161073a565b600854604051631517388760e21b81526001600160401b03841660048201526000916001600160a01b03169063d1f856ee9073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__9063545ce21c90602401602060405180830381865af4158015610e59573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e7d9190612025565b6040516001600160e01b031960e084901b1681526001600160401b0390911660048201526001600160a01b03851660248201526044016040805180830381865afa158015610ecf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ef3919061209c565b509392505050565b6001600160401b0382166000908152600260205260408120610f1d9083611622565b9392505050565b60006104b9825490565b6001600160a01b03811660009081526001830160205260408120541515610f1d565b6000610f1d836001600160a01b03841661162e565b600080829050601f81511115610f90578260405163305a27a960e01b81526004016104ee9190611fc6565b8051610f9b826120d4565b179392505050565b600080610fd9610fbb6000546001600160a01b031690565b8630610fcb60046000898b6120fb565b610fd491612125565b611721565b915091508161109c5763ffffffff811615611079576000805460ff60a01b198116600160a01b17909155604051634a63ebf760e11b81526001600160a01b03909116906394c7d7ee9061103490889088908890600401612155565b600060405180830381600087803b15801561104e57600080fd5b505af1158015611062573d6000803e3d6000fd5b50506000805460ff60a01b191690555061109c9050565b60405162d1953b60e31b81526001600160a01b03861660048201526024016104ee565b5050505050565b60006040518060a001604052806110b986610f65565b815284151560208201526008546040805163a166aa8960e01b81526001600160a01b038a81166004830152919093019291169063a166aa8990602401602060405180830381865afa158015611112573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111369190612058565b1515815260200173__$d53880c81dc91c20799140d711e5ab8718$__63adb618326040518163ffffffff1660e01b8152600401602060405180830381865af4158015611186573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111aa9190612075565b64ffffffffff16815260200173__$d53880c81dc91c20799140d711e5ab8718$__63adb618326040518163ffffffff1660e01b8152600401602060405180830381865af41580156111ff573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112239190612075565b64ffffffffff1681525090508060056000876001600160a01b03166001600160a01b031681526020019081526020016000206000820151816000015560208201518160010160006101000a81548160ff02191690831515021790555060408201518160010160016101000a81548160ff02191690831515021790555060608201518160010160026101000a81548164ffffffffff021916908364ffffffffff16021790555060808201518160010160076101000a81548164ffffffffff021916908364ffffffffff16021790555090505084600660008360000151815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b031602179055506007859080600181540180825580915050600190039060005260206000200160009091909190916101000a8154816001600160a01b0302191690836001600160a01b031602179055505050505050565b80156113935761139184848461182d565b505b60006040518060a001604052806113a986610f65565b8152602001841515815260200160001515815260200173__$d53880c81dc91c20799140d711e5ab8718$__63adb618326040518163ffffffff1660e01b8152600401602060405180830381865af4158015611408573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061142c9190612075565b64ffffffffff16815260200173__$d53880c81dc91c20799140d711e5ab8718$__63adb618326040518163ffffffff1660e01b8152600401602060405180830381865af4158015611481573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114a59190612075565b64ffffffffff9081169091526001600160401b03968716600081815260016020818152604080842087518082558884015191850180548a85015160608c01516080909c015161ffff1990921694151561ff001916949094176101009415158502176bffffffffffffffffffff00001916620100009b8b169b909b0264ffffffffff60381b19169a909a17600160381b9a9099169990990297909717909755948352600390819052938220805467ffffffffffffffff191684179055600480549182018155918290527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b9181049190910180549190931660080290930a97880219909216969091029590951790945550505050565b600080546001600160a01b0319166001600160a01b0383169081179091556040519081527f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad9060200160405180910390a150565b6000610f1d836001600160a01b038416611c9b565b6000610f1d8383611cea565b60008181526001830160205260408120548015611717576000611652600183612195565b855490915060009061166690600190612195565b90508082146116cb57600086600001828154811061168657611686612042565b90600052602060002001549050808760000184815481106116a9576116a9612042565b6000918252602080832090910192909255918252600188019052604090208390555b85548690806116dc576116dc6121b6565b6001900381819060005260206000200160009055905585600101600086815260200190815260200160002060009055600193505050506104b9565b60009150506104b9565b6040516001600160a01b03848116602483015283811660448301526001600160e01b03198316606483015260009182918291829189169060840160408051601f198184030181529181526020820180516001600160e01b031663b700961360e01b1790525161179091906121cc565b600060405180830381855afa9150503d80600081146117cb576040519150601f19603f3d011682016040523d82523d6000602084013e6117d0565b606091505b5091509150811561182257604081511061180257808060200190518101906117f8919061209c565b9094509250611822565b6020815110611822578080602001905181019061181f9190612058565b93505b505094509492505050565b6040805160a08101825260008082526020820181905291810182905260608101829052608081019190915260085460408051631d6c8e3f60e21b8152905186926001600160a01b0316916375b238fc9160048083019260209291908290030181865afa1580156118a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118c59190612025565b6001600160401b0316816001600160401b0316148061196b5750600860009054906101000a90046001600160a01b03166001600160a01b0316633ca7c02a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611932573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119569190612025565b6001600160401b0316816001600160401b0316145b156119945760405163981bf42160e01b81526001600160401b03861660048201526024016104ee565b6001600160401b038516600090815260016020818152604092839020835160a0810185528154815292015460ff808216151592840192909252610100810490911615158284015264ffffffffff620100008204811660608401819052600160381b9092041660808301529151638d38cd4b60e01b81526004810192909252925073__$d53880c81dc91c20799140d711e5ab8718$__90638d38cd4b90602401602060405180830381865af4158015611a50573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a749190612058565b8015611a8857508160200151151583151514155b15611ac557602082015160405162d1cd9360e51b81526001600160401b0387166004820152841515602482015290151560448201526064016104ee565b828015611adc57506127106001600160401b038216105b15611b0557604051633119b9df60e21b81526001600160401b03861660048201526024016104ee565b82158015611b1e57506127106001600160401b03821610155b15611b475760405163094fb39160e01b81526001600160401b03861660048201526024016104ee565b6000611b5285610f65565b9050611b5d81611d14565b600003611b88576040516321ab17ab60e01b81526001600160401b03871660048201526024016104ee565b60008181526003602090815260409182902054825163bc1b392d60e01b81529251611c2b936001600160401b039092169273__$cd131c2b3ba46b9dbe046aaf4458b9777d$__9263bc1b392d92600480830193928290030181865af4158015611bf5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c199190612025565b6001600160401b039081169116141590565b8015611c5157506000818152600360205260409020546001600160401b03878116911614155b15611c925760008181526003602052604090819020549051631660fb9360e21b81526001600160401b039091166004820152602481018290526044016104ee565b50509392505050565b6000818152600183016020526040812054611ce2575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556104b9565b5060006104b9565b6000826000018281548110611d0157611d01612042565b9060005260206000200154905092915050565b600060ff8216601f8111156104b957604051632cd44ac360e21b815260040160405180910390fd5b6001600160401b0381168114611d5157600080fd5b50565b600060208284031215611d6657600080fd5b8135610f1d81611d3c565b600060208284031215611d8357600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112611db157600080fd5b81356001600160401b0380821115611dcb57611dcb611d8a565b604051601f8301601f19908116603f01168101908282118183101715611df357611df3611d8a565b81604052838152866020858801011115611e0c57600080fd5b836020870160208301376000602085830101528094505050505092915050565b600060208284031215611e3e57600080fd5b81356001600160401b03811115611e5457600080fd5b611e6084828501611da0565b949350505050565b80356001600160a01b0381168114611e7f57600080fd5b919050565b60008060408385031215611e9757600080fd5b611ea083611e68565b915060208301356001600160401b03811115611ebb57600080fd5b611ec785828601611da0565b9150509250929050565b600060208284031215611ee357600080fd5b610f1d82611e68565b60008060408385031215611eff57600080fd5b8235611ea081611d3c565b8015158114611d5157600080fd5b60008060408385031215611f2b57600080fd5b611f3483611e68565b91506020830135611f4481611f0a565b809150509250929050565b60008060408385031215611f6257600080fd5b8235611f3481611d3c565b60008060408385031215611f8057600080fd5b8235611f8b81611d3c565b9150611f9960208401611e68565b90509250929050565b60005b83811015611fbd578181015183820152602001611fa5565b50506000910152565b6020815260008251806020840152611fe5816040850160208701611fa2565b601f01601f19169190910160400192915050565b6000806040838503121561200c57600080fd5b823561201781611d3c565b946020939093013593505050565b60006020828403121561203757600080fd5b8151610f1d81611d3c565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561206a57600080fd5b8151610f1d81611f0a565b60006020828403121561208757600080fd5b815164ffffffffff81168114610f1d57600080fd5b600080604083850312156120af57600080fd5b82516120ba81611f0a565b602084015190925063ffffffff81168114611f4457600080fd5b805160208083015191908110156120f5576000198160200360031b1b821691505b50919050565b6000808585111561210b57600080fd5b8386111561211857600080fd5b5050820193919092039150565b6001600160e01b0319813581811691600485101561214d5780818660040360031b1b83161692505b505092915050565b6001600160a01b03841681526040602082018190528101829052818360608301376000818301606090810191909152601f909201601f1916010192915050565b818103818111156104b957634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603160045260246000fd5b600082516121de818460208701611fa2565b919091019291505056fea26469706673582212201afec2205a2dbbc56c0c55c3c18432bad4262579d4fbaeb75ef2e308e0298f0d64736f6c63430008140033",
         | 
| 1124 | 
            +
              "bytecode": "0x608060405234801561001057600080fd5b50613a83806100206000396000f3fe608060405234801561001057600080fd5b50600436106102325760003560e01c80635dfa73db11610130578063bc62a0a5116100b8578063d05404431161007c578063d0540443146105a3578063d1f856ee146105ce578063d2192dbf146105e1578063eaf09b3714610614578063f2345aea1461062757600080fd5b8063bc62a0a514610524578063bcfb11b01461054c578063bf7e214f14610575578063c4d66de81461057d578063c6a001791461059057600080fd5b806386892313116100ff578063868923131461049b5780638fb36037146104ae578063b428b0b0146104cf578063b7009613146104e2578063b7d2b1621461051157600080fd5b80635dfa73db146104595780635fa8aad414610462578063605aa10a146104755780637a9e5e4b1461048857600080fd5b80633656481c116101be57806344ec4c301161018257806344ec4c30146103cc5780634a3a1e00146103df578063530dd456146103f25780635511a6f3146104265780635bfa50271461043957600080fd5b80633656481c1461033e57806337f135d714610369578063384c9a5714610386578063392f5f64146103995780633fd85561146103a157600080fd5b8063131021d911610205578063131021d9146102a55780631bdd0cf8146102e257806326decd401461030557806329db8c3d1461031857806330cae1871461032b57600080fd5b806303014974146102375780630c8ae53e1461025d57806312e1ebc51461027257806312f48f1514610292575b600080fd5b61024a61024536600461312e565b61063a565b6040519081526020015b60405180910390f35b61027061026b3660046131ed565b610661565b005b6102856102803660046132ac565b61075c565b6040516102549190613301565b6102706102a0366004613350565b61081a565b6102d560405180604001604052806011815260200170496e7374616e63654f776e6572526f6c6560781b81525081565b60405161025491906133c3565b6102f56102f036600461312e565b610833565b6040519015158152602001610254565b6102f56103133660046132ac565b610b53565b6102706103263660046131ed565b610bc2565b6102706103393660046133f6565b610c9b565b61035161034c36600461342f565b610d97565b6040516001600160a01b039091168152602001610254565b610371600081565b60405163ffffffff9091168152602001610254565b6102f561039436600461312e565b610dc2565b60035461024a565b6103b46103af366004613463565b610e48565b6040516001600160401b039091168152602001610254565b6102706103da366004613350565b610e8d565b6102706103ed36600461347c565b610f38565b6103b461040036600461312e565b6001600160401b0390811660009081526020819052604090206001015461010090041690565b6103b461043436600461342f565b610f4d565b61044c61044736600461312e565b610f7c565b604051610254919061349a565b6103b461271081565b610270610470366004613350565b611042565b6102f56104833660046132ac565b611057565b6102706104963660046132ac565b6110d0565b6102706104a93660046134fe565b611153565b6104b661128d565b6040516001600160e01b03199091168152602001610254565b6102f56104dd36600461352c565b6112c6565b6104f56104f0366004613572565b611575565b60408051921515835263ffffffff909116602083015201610254565b6102f561051f36600461352c565b6115fa565b6102d56040518060400160405280600981526020016841646d696e526f6c6560b81b81525081565b6102d56040518060400160405280600a8152602001695075626c6963526f6c6560b01b81525081565b610351611758565b61027061058b3660046132ac565b611774565b6102f561059e36600461312e565b611ad1565b6102d56040518060400160405280600c81526020016b496e7374616e6365526f6c6560a01b81525081565b6102f56105dc36600461352c565b611b32565b6105f46105ef3660046135b9565b611c2a565b604080516001600160401b03938416815292909116602083015201610254565b610351610622366004613612565b611c78565b61027061063536600461363e565b611ca1565b6001600160401b038116600090815260016020526040812061065b90611cc5565b92915050565b61066e335b600036611ccf565b600061067985611dcd565b6000818152600660205260409020549091506001600160a01b031660036001600160a01b03821660009081526005602052604090206001015460ff1660038111156106c6576106c66132c9565b036106f25780600360405163ecec011f60e01b81526004016106e99291906136a1565b60405180910390fd5b60036001600160401b03841660009081526020819052604090206001015460ff166003811115610724576107246132c9565b0361074757826003604051630bb1a0c760e01b81526004016106e99291906136be565b6107548183878787611e0b565b505050505050565b6040805160a080820183526000808352602080840182905283850182905260608401829052608084018290526001600160a01b038616825260058152908490208451928301909452835482526001840154929391929083019060ff1660038111156107c9576107c96132c9565b60038111156107da576107da6132c9565b81526001919091015460ff6101008204161515602083015264ffffffffff62010000820481166040840152600160381b9091041660609091015292915050565b61082333610666565b61082f82826001611ede565b5050565b6000816000610862826001600160401b0390811660009081526020819052604090206001015461010090041690565b600854604051631517388760e21b81526001600160401b038316600482015291925060009182916001600160a01b03169063d1f856ee9073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__9063545ce21c90602401602060405180830381865af41580156108d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108f991906136db565b336040518363ffffffff1660e01b81526004016109179291906136f8565b6040805180830381865afa158015610933573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610957919061371a565b915091508063ffffffff1660001461097157610971613752565b816109ac57335b6040516366c7cee960e01b81526001600160a01b0390911660048201526001600160401b03851660248201526044016106e9565b6109b586611ad1565b6109dd5760405163f5edec3f60e01b81526001600160401b03871660048201526024016106e9565b6001600160401b03861660009081526001602052604081206109fe90611cc5565b905060005b81811015610b48576001600160401b0388166000908152600160205260408120610a2d9083612322565b6001600160401b038a166000908152600160205260409020909150610a52908261232e565b50600854604051631517388760e21b81526001600160401b038b1660048201526001600160a01b039091169063b7d2b1629073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__9063545ce21c90602401602060405180830381865af4158015610ac0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ae491906136db565b836040518363ffffffff1660e01b8152600401610b029291906136f8565b600060405180830381600087803b158015610b1c57600080fd5b505af1158015610b30573d6000803e3d6000fd5b50505050508080610b409061377e565b915050610a03565b505050505050919050565b60085460405163a166aa8960e01b81526001600160a01b038381166004830152600092169063a166aa8990602401602060405180830381865afa158015610b9e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061065b9190613797565b610bcb33610666565b6000610bd685611dcd565b6000818152600660205260409020549091506001600160a01b031660016001600160a01b03821660009081526005602052604090206001015460ff166003811115610c2357610c236132c9565b03610c465780600160405163ecec011f60e01b81526004016106e99291906136a1565b60016001600160401b03841660009081526020819052604090206001015460ff166003811115610c7857610c786132c9565b0361074757826001604051630bb1a0c760e01b81526004016106e99291906136be565b610ca433610666565b610cad82611ad1565b610cd55760405163f5edec3f60e01b81526001600160401b03831660048201526024016106e9565b60016001600160401b03831660009081526020819052604090206001015460ff166003811115610d0757610d076132c9565b03610d2a57816001604051630bb1a0c760e01b81526004016106e99291906136be565b610d3381611ad1565b610d5b5760405163f5edec3f60e01b81526001600160401b03821660048201526024016106e9565b6001600160401b0391821660009081526020819052604090206001018054929091166101000268ffffffffffffffff0019909216919091179055565b600080610da383611dcd565b6000908152600660205260409020546001600160a01b03169392505050565b6001600160401b038116600090815260208190526040812060019081015460ff1690816003811115610df657610df66132c9565b1480610e1357506002816003811115610e1157610e116132c9565b145b15610e35578281604051630bb1a0c760e01b81526004016106e99291906136be565b33610e408482612343565b949350505050565b600060038281548110610e5d57610e5d6137b4565b90600052602060002090600491828204019190066008029054906101000a90046001600160401b03169050919050565b610e9633610666565b60095460405163c3c5a54760e01b81526001600160a01b0384811660048301529091169063c3c5a54790602401602060405180830381865afa158015610ee0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f049190613797565b610f2c576040516306ad3ea560e51b81526001600160a01b03831660048201526024016106e9565b61082f82826002611ede565b610f4133610666565b61082f8282600161247d565b600060026000610f5c84611dcd565b81526020810191909152604001600020546001600160401b031692915050565b6040805160a0810182526000808252602082018190529181018290526060810182905260808101919091526001600160401b03821660009081526020818152604091829020825160a08101909352805483526001810154909183019060ff166003811115610fec57610fec6132c9565b6003811115610ffd57610ffd6132c9565b8152600191909101546001600160401b03610100820416602083015264ffffffffff600160481b820481166040840152600160701b9091041660609091015292915050565b61104b33610666565b61082f82826003611ede565b6001600160a01b038116600090815260056020526040808220600101549051638d38cd4b60e01b81526201000090910464ffffffffff16600482015273__$d53880c81dc91c20799140d711e5ab8718$__90638d38cd4b906024015b602060405180830381865af4158015610b9e573d6000803e3d6000fd5b336110d9611758565b6001600160a01b0316816001600160a01b0316146111145760405162d1953b60e31b81526001600160a01b03821660048201526024016106e9565b816001600160a01b03163b60000361114a576040516361798f2f60e11b81526001600160a01b03831660048201526024016106e9565b61082f8261283e565b61115c33610666565b6001600160a01b03821660008181526005602052604090206001015460ff1690158061119957506000816003811115611197576111976132c9565b145b156111c25760405163b8c1f4e560e01b81526001600160a01b03841660048201526024016106e9565b60018160038111156111d6576111d66132c9565b036111f857828160405163ecec011f60e01b81526004016106e99291906136a1565b6001600160a01b0383811660008181526005602052604090819020600101805461ff00191661010087151590810291909117909155600854915163167bd39560e01b8152600481019390935260248301529091169063167bd39590604401600060405180830381600087803b15801561127057600080fd5b505af1158015611284573d6000803e3d6000fd5b50505050505050565b600080516020613a2e833981519152805460009190600160a01b900460ff166112b75760006112c0565b638fb3603760e01b5b91505090565b60008260006112f5826001600160401b0390811660009081526020819052604090206001015461010090041690565b600854604051631517388760e21b81526001600160401b038316600482015291925060009182916001600160a01b03169063d1f856ee9073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__9063545ce21c90602401602060405180830381865af4158015611368573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061138c91906136db565b336040518363ffffffff1660e01b81526004016113aa9291906136f8565b6040805180830381865afa1580156113c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113ea919061371a565b915091508063ffffffff1660001461140457611404613752565b8161140f5733610978565b61141887611ad1565b6114405760405163f5edec3f60e01b81526001600160401b03881660048201526024016106e9565b6001600160401b0387166000908152600160205260409020611462908761289f565b9450841561156b57600854604051631517388760e21b81526001600160401b03891660048201526001600160a01b03909116906325c471a09073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__9063545ce21c90602401602060405180830381865af41580156114d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114fb91906136db565b6040516001600160e01b031960e084901b1681526001600160401b0390911660048201526001600160a01b038916602482015260006044820152606401600060405180830381600087803b15801561155257600080fd5b505af1158015611566573d6000803e3d6000fd5b505050505b5050505092915050565b60085460405163b700961360e01b815260009182916001600160a01b039091169063b7009613906115ae908890889088906004016137ca565b6040805180830381865afa1580156115ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115ee919061371a565b91509150935093915050565b6000826000611629826001600160401b0390811660009081526020819052604090206001015461010090041690565b600854604051631517388760e21b81526001600160401b038316600482015291925060009182916001600160a01b03169063d1f856ee9073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__9063545ce21c90602401602060405180830381865af415801561169c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116c091906136db565b336040518363ffffffff1660e01b81526004016116de9291906136f8565b6040805180830381865afa1580156116fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061171e919061371a565b915091508063ffffffff1660001461173857611738613752565b816117435733610978565b61174d8787612343565b979650505050505050565b600080516020613a2e833981519152546001600160a01b031690565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b810460ff1615906001600160401b03166000811580156117b95750825b90506000826001600160401b031660011480156117d55750303b155b9050811580156117e3575080155b156118015760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561182b57845460ff60401b1916600160401b1785555b60008690506000816001600160a01b0316635ab1bd536040518163ffffffff1660e01b8152600401602060405180830381865afa158015611870573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061189491906137f7565b90506000826001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118d6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118fa91906137f7565b9050611905816128b4565b600880546001600160a01b038084166001600160a01b03199283161790925560098054928516929091169190911790556004805467ffffffffffffffff191661271017905561197e6119556128c8565b6040518060400160405280600981526020016841646d696e526f6c6560b81b815250600161247d565b6119b3611989612945565b6040518060400160405280600a8152602001695075626c6963526f6c6560b01b815250600161247d565b6119ea6119be612986565b6040518060400160405280600c81526020016b496e7374616e6365526f6c6560a01b815250600161247d565b611a266119f56129c2565b60405180604001604052806011815260200170496e7374616e63654f776e6572526f6c6560781b815250600261247d565b611a5b60016000611a356128c8565b6001600160401b03166001600160401b031681526020019081526020016000203061289f565b50611a6d611a67612986565b8a6112c6565b50611a81611a796129c2565b610339612986565b505050831561075457845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a1505050505050565b6001600160401b038116600090815260208190526040808220600101549051638d38cd4b60e01b8152600160481b90910464ffffffffff16600482015273__$d53880c81dc91c20799140d711e5ab8718$__90638d38cd4b906024016110b3565b600854604051631517388760e21b81526001600160401b03841660048201526000916001600160a01b03169063d1f856ee9073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__9063545ce21c90602401602060405180830381865af4158015611ba0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bc491906136db565b846040518363ffffffff1660e01b8152600401611be29291906136f8565b6040805180830381865afa158015611bfe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c22919061371a565b509392505050565b600080611c3633610666565b611c3e6129fe565b9092509050611c4f8285600361247d565b611c5b8184600361247d565b611c658282610c9b565b611c71816103396129c2565b9250929050565b6001600160401b0382166000908152600160205260408120611c9a9083612322565b9392505050565b611caa33610666565b611cb68383600261247d565b611cc08382610c9b565b505050565b600061065b825490565b600080516020613a2e833981519152600080611d0a611cec611758565b8730611cfc600460008a8c613814565b611d059161383e565b612b40565b91509150816107545763ffffffff811615611daa57825460ff60a01b1916600160a01b178355611d38611758565b6001600160a01b03166394c7d7ee8787876040518463ffffffff1660e01b8152600401611d679392919061386e565b600060405180830381600087803b158015611d8157600080fd5b505af1158015611d95573d6000803e3d6000fd5b5050845460ff60a01b19168555506107549050565b60405162d1953b60e31b81526001600160a01b03871660048201526024016106e9565b600080829050601f81511115611df8578260405163305a27a960e01b81526004016106e991906133c3565b8051611e03826138ae565b179392505050565b6001600160a01b038516611e3d5760405163b8c1f4e560e01b81526001600160a01b03861660048201526024016106e9565b611e4681611ad1565b611e6e5760405163f5edec3f60e01b81526001600160401b03821660048201526024016106e9565b6008546040516308d6122d60e01b815282916001600160a01b0316906308d6122d90611ea49089908890889087906004016138d5565b600060405180830381600087803b158015611ebe57600080fd5b505af1158015611ed2573d6000803e3d6000fd5b50505050505050505050565b6000611ee983611dcd565b9050611ef6848284612c37565b6001600160a01b03841660009081526005602052604090819020600101549051638d38cd4b60e01b81526201000090910464ffffffffff16600482015273__$d53880c81dc91c20799140d711e5ab8718$__90638d38cd4b90602401602060405180830381865af4158015611f6f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f939190613797565b15611fd4576001600160a01b03841660008181526005602052604090819020549051632969db5760e11b8152600481019290925260248201526044016106e9565b6000818152600660205260409020546001600160a01b03161561203557600081815260066020526040908190205490516361c0558f60e01b81526001600160a01b0380871660048301529091166024820152604481018290526064016106e9565b60085460405163a166aa8960e01b81526001600160a01b038681166004830152600092169063a166aa8990602401602060405180830381865afa158015612080573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120a49190613797565b90506040518060a001604052808381526020018460038111156120c9576120c96132c9565b8152602001821515815260200173__$d53880c81dc91c20799140d711e5ab8718$__63adb618326040518163ffffffff1660e01b8152600401602060405180830381865af415801561211f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121439190613948565b64ffffffffff16815260200173__$d53880c81dc91c20799140d711e5ab8718$__63adb618326040518163ffffffff1660e01b8152600401602060405180830381865af4158015612198573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121bc9190613948565b64ffffffffff1690526001600160a01b0386166000908152600560209081526040909120825181559082015160018083018054909160ff199091169083600381111561220a5761220a6132c9565b021790555060408281015160019283018054606086015160809096015166ffffffffffff00199091166101009315159390930266ffffffffff00001916929092176201000064ffffffffff96871602176bffffffffff000000000000001916600160381b9590921694909402179092556000848152600660205282812080546001600160a01b03199081166001600160a01b038b169081179092556007805494850181559092527fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c68890920180549091169091179055517f1b6c9e4eef57701705db39664c8777cd8c15bb0f52556130a44b55e30cd501e89061231390879085908790869061396f565b60405180910390a15050505050565b6000611c9a8383612d23565b6000611c9a836001600160a01b038416612d4d565b600061234e83611ad1565b6123765760405163f5edec3f60e01b81526001600160401b03841660048201526024016106e9565b6001600160401b0383166000908152600160205260409020612398908361232e565b9050801561065b57600854604051631517388760e21b81526001600160401b03851660048201526001600160a01b039091169063b7d2b1629073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__9063545ce21c90602401602060405180830381865af415801561240d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061243191906136db565b846040518363ffffffff1660e01b815260040161244f9291906136f8565b600060405180830381600087803b15801561246957600080fd5b505af115801561156b573d6000803e3d6000fd5b600061248883611dcd565b9050612495848284612e47565b61249e84611ad1565b156124c7576040516330907ba960e01b81526001600160401b03851660048201526024016106e9565b6000818152600260205260409081902054905163a42e52e960e01b81526001600160401b03909116600482015273__$cd131c2b3ba46b9dbe046aaf4458b9777d$__9063a42e52e990602401602060405180830381865af4158015612530573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125549190613797565b1561259d576000818152600260205260409081902054905163af48012f60e01b81526001600160401b0380871660048301529091166024820152604481018290526064016106e9565b6040518060a001604052808281526020018360038111156125c0576125c06132c9565b81526020016125cd6128c8565b6001600160401b0316815260200173__$d53880c81dc91c20799140d711e5ab8718$__63adb618326040518163ffffffff1660e01b8152600401602060405180830381865af4158015612624573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126489190613948565b64ffffffffff16815260200173__$d53880c81dc91c20799140d711e5ab8718$__63adb618326040518163ffffffff1660e01b8152600401602060405180830381865af415801561269d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126c19190613948565b64ffffffffff1690526001600160401b038516600090815260208181526040909120825181559082015160018083018054909160ff199091169083600381111561270d5761270d6132c9565b02179055506040828101516001928301805460608601516080909601516dffffffffffffffffffffffffff00199091166101006001600160401b0394851681026dffffffffff000000000000000000191691909117600160481b64ffffffffff988916021764ffffffffff60701b1916600160701b979092169690960217905560008581526002602052828120805467ffffffffffffffff19168a8416908117909155600380549586018155918290527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b600486040180549590921660080290950a918202199093169302929092179055517f946b8e9c3ff1c1ed025292a56da516b43a836f1a9f35bc2ee6de53d879d6d6b090612830908690849086906139a4565b60405180910390a150505050565b600080516020613a2e83398151915280546001600160a01b0383166001600160a01b03199091168117825560408051918252517f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad9181900360200190a15050565b6000611c9a836001600160a01b038416613036565b6128bc613085565b6128c5816130d0565b50565b6040516368aebf7b60e01b81526000600482018190529073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b906024015b602060405180830381865af415801561291c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061294091906136db565b905090565b6040516368aebf7b60e01b81526001600160401b03600482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b906024016128ff565b6040516368aebf7b60e01b8152610a28600482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b906024016128ff565b6040516368aebf7b60e01b815261076c600482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b906024016128ff565b60045460009081906001600160401b031681612a1b8260016139c8565b9050612a288260026139c8565b6004805467ffffffffffffffff19166001600160401b039283161781556040516368aebf7b60e01b81529184169082015273__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b90602401602060405180830381865af4158015612a95573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ab991906136db565b6040516368aebf7b60e01b81526001600160401b038316600482015290945073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b90602401602060405180830381865af4158015612b14573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b3891906136db565b925050509091565b600080600080876001600160a01b0316878787604051602401612b65939291906137ca565b60408051601f198184030181529181526020820180516001600160e01b031663b700961360e01b17905251612b9a91906139e8565b600060405180830381855afa9150503d8060008114612bd5576040519150601f19603f3d011682016040523d82523d6000602084013e612bda565b606091505b50915091508115612c2c576040815110612c0c5780806020019051810190612c02919061371a565b9094509250612c2c565b6020815110612c2c5780806020019051810190612c299190613797565b93505b505094509492505050565b6000836001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612c77573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c9b91906137f7565b9050612ca5611758565b6001600160a01b0316816001600160a01b031614612ce957604051631db0625160e01b81526001600160a01b038086166004830152821660248201526044016106e9565b612cf2836130e1565b600003612d1d5760405163a12ddedf60e01b81526001600160a01b03851660048201526024016106e9565b50505050565b6000826000018281548110612d3a57612d3a6137b4565b9060005260206000200154905092915050565b60008181526001830160205260408120548015612e36576000612d71600183613a04565b8554909150600090612d8590600190613a04565b9050808214612dea576000866000018281548110612da557612da56137b4565b9060005260206000200154905080876000018481548110612dc857612dc86137b4565b6000918252602080832090910192909255918252600188019052604090208390555b8554869080612dfb57612dfb613a17565b60019003818190600052602060002001600090559055856001016000868152602001908152602001600020600090556001935050505061065b565b600091505061065b565b5092915050565b604051631517388760e21b81526001600160401b038416600482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__9063545ce21c90602401602060405180830381865af4158015612ea2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ec691906136db565b6001600160401b031690506003826003811115612ee557612ee56132c9565b148015612ef3575061271081105b15612f1c5760405163be511cc160e01b81526001600160401b03851660048201526024016106e9565b6003826003811115612f3057612f306132c9565b14158015612f4057506127108110155b8015612fd95750612f4f612945565b604051631517388760e21b81526001600160401b03909116600482015273__$cd131c2b3ba46b9dbe046aaf4458b9777d$__9063545ce21c90602401602060405180830381865af4158015612fa8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612fcc91906136db565b6001600160401b03168114155b1561300257604051630e08ff2d60e11b81526001600160401b03851660048201526024016106e9565b61300b836130e1565b600003612d1d57604051631367e80d60e31b81526001600160401b03851660048201526024016106e9565b600081815260018301602052604081205461307d5750815460018181018455600084815260208082209093018490558454848252828601909352604090209190915561065b565b50600061065b565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054600160401b900460ff166130ce57604051631afcd79f60e31b815260040160405180910390fd5b565b6130d8613085565b6128c58161283e565b600060ff8216601f81111561065b57604051632cd44ac360e21b815260040160405180910390fd5b6001600160401b03811681146128c557600080fd5b803561312981613109565b919050565b60006020828403121561314057600080fd5b8135611c9a81613109565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261317257600080fd5b81356001600160401b038082111561318c5761318c61314b565b604051601f8301601f19908116603f011681019082821181831017156131b4576131b461314b565b816040528381528660208588010111156131cd57600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806000806060858703121561320357600080fd5b84356001600160401b038082111561321a57600080fd5b61322688838901613161565b9550602087013591508082111561323c57600080fd5b818701915087601f83011261325057600080fd5b81358181111561325f57600080fd5b8860208260051b850101111561327457600080fd5b60208301955080945050505061328c6040860161311e565b905092959194509250565b6001600160a01b03811681146128c557600080fd5b6000602082840312156132be57600080fd5b8135611c9a81613297565b634e487b7160e01b600052602160045260246000fd5b600481106132fd57634e487b7160e01b600052602160045260246000fd5b9052565b8151815260208083015160a083019161331c908401826132df565b50604083015115156040830152606083015164ffffffffff8082166060850152806080860151166080850152505092915050565b6000806040838503121561336357600080fd5b823561336e81613297565b915060208301356001600160401b0381111561338957600080fd5b61339585828601613161565b9150509250929050565b60005b838110156133ba5781810151838201526020016133a2565b50506000910152565b60208152600082518060208401526133e281604085016020870161339f565b601f01601f19169190910160400192915050565b6000806040838503121561340957600080fd5b823561341481613109565b9150602083013561342481613109565b809150509250929050565b60006020828403121561344157600080fd5b81356001600160401b0381111561345757600080fd5b610e4084828501613161565b60006020828403121561347557600080fd5b5035919050565b6000806040838503121561348f57600080fd5b823561336e81613109565b8151815260208083015160a08301916134b5908401826132df565b506001600160401b036040840151166040830152606083015164ffffffffff8082166060850152806080860151166080850152505092915050565b80151581146128c557600080fd5b6000806040838503121561351157600080fd5b823561351c81613297565b91506020830135613424816134f0565b6000806040838503121561353f57600080fd5b823561354a81613109565b9150602083013561342481613297565b80356001600160e01b03198116811461312957600080fd5b60008060006060848603121561358757600080fd5b833561359281613297565b925060208401356135a281613297565b91506135b06040850161355a565b90509250925092565b600080604083850312156135cc57600080fd5b82356001600160401b03808211156135e357600080fd5b6135ef86838701613161565b9350602085013591508082111561360557600080fd5b5061339585828601613161565b6000806040838503121561362557600080fd5b823561363081613109565b946020939093013593505050565b60008060006060848603121561365357600080fd5b833561365e81613109565b925060208401356001600160401b0381111561367957600080fd5b61368586828701613161565b925050604084013561369681613109565b809150509250925092565b6001600160a01b038316815260408101611c9a60208301846132df565b6001600160401b038316815260408101611c9a60208301846132df565b6000602082840312156136ed57600080fd5b8151611c9a81613109565b6001600160401b039290921682526001600160a01b0316602082015260400190565b6000806040838503121561372d57600080fd5b8251613738816134f0565b602084015190925063ffffffff8116811461342457600080fd5b634e487b7160e01b600052600160045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006001820161379057613790613768565b5060010190565b6000602082840312156137a957600080fd5b8151611c9a816134f0565b634e487b7160e01b600052603260045260246000fd5b6001600160a01b0393841681529190921660208201526001600160e01b0319909116604082015260600190565b60006020828403121561380957600080fd5b8151611c9a81613297565b6000808585111561382457600080fd5b8386111561383157600080fd5b5050820193919092039150565b6001600160e01b031981358181169160048510156138665780818660040360031b1b83161692505b505092915050565b6001600160a01b03841681526040602082018190528101829052818360608301376000818301606090810191909152601f909201601f1916010192915050565b805160208083015191908110156138cf576000198160200360031b1b821691505b50919050565b6001600160a01b038516815260606020808301829052908201849052600090859060808401835b87811015613929576001600160e01b03196139168561355a565b16825292820192908201906001016138fc565b508093505050506001600160401b038316604083015295945050505050565b60006020828403121561395a57600080fd5b815164ffffffffff81168114611c9a57600080fd5b6001600160a01b0385168152602081018490526080810161399360408301856132df565b821515606083015295945050505050565b6001600160401b03841681526020810183905260608101610e4060408301846132df565b6001600160401b03818116838216019080821115612e4057612e40613768565b600082516139fa81846020870161339f565b9190910192915050565b8181038181111561065b5761065b613768565b634e487b7160e01b600052603160045260246000fdfef3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a00a2646970667358221220fc37dd1bdcf3065724275b591dc298844a0b88a133fbac174468823932ef4b9364736f6c63430008140033",
         | 
| 1125 | 
            +
              "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106102325760003560e01c80635dfa73db11610130578063bc62a0a5116100b8578063d05404431161007c578063d0540443146105a3578063d1f856ee146105ce578063d2192dbf146105e1578063eaf09b3714610614578063f2345aea1461062757600080fd5b8063bc62a0a514610524578063bcfb11b01461054c578063bf7e214f14610575578063c4d66de81461057d578063c6a001791461059057600080fd5b806386892313116100ff578063868923131461049b5780638fb36037146104ae578063b428b0b0146104cf578063b7009613146104e2578063b7d2b1621461051157600080fd5b80635dfa73db146104595780635fa8aad414610462578063605aa10a146104755780637a9e5e4b1461048857600080fd5b80633656481c116101be57806344ec4c301161018257806344ec4c30146103cc5780634a3a1e00146103df578063530dd456146103f25780635511a6f3146104265780635bfa50271461043957600080fd5b80633656481c1461033e57806337f135d714610369578063384c9a5714610386578063392f5f64146103995780633fd85561146103a157600080fd5b8063131021d911610205578063131021d9146102a55780631bdd0cf8146102e257806326decd401461030557806329db8c3d1461031857806330cae1871461032b57600080fd5b806303014974146102375780630c8ae53e1461025d57806312e1ebc51461027257806312f48f1514610292575b600080fd5b61024a61024536600461312e565b61063a565b6040519081526020015b60405180910390f35b61027061026b3660046131ed565b610661565b005b6102856102803660046132ac565b61075c565b6040516102549190613301565b6102706102a0366004613350565b61081a565b6102d560405180604001604052806011815260200170496e7374616e63654f776e6572526f6c6560781b81525081565b60405161025491906133c3565b6102f56102f036600461312e565b610833565b6040519015158152602001610254565b6102f56103133660046132ac565b610b53565b6102706103263660046131ed565b610bc2565b6102706103393660046133f6565b610c9b565b61035161034c36600461342f565b610d97565b6040516001600160a01b039091168152602001610254565b610371600081565b60405163ffffffff9091168152602001610254565b6102f561039436600461312e565b610dc2565b60035461024a565b6103b46103af366004613463565b610e48565b6040516001600160401b039091168152602001610254565b6102706103da366004613350565b610e8d565b6102706103ed36600461347c565b610f38565b6103b461040036600461312e565b6001600160401b0390811660009081526020819052604090206001015461010090041690565b6103b461043436600461342f565b610f4d565b61044c61044736600461312e565b610f7c565b604051610254919061349a565b6103b461271081565b610270610470366004613350565b611042565b6102f56104833660046132ac565b611057565b6102706104963660046132ac565b6110d0565b6102706104a93660046134fe565b611153565b6104b661128d565b6040516001600160e01b03199091168152602001610254565b6102f56104dd36600461352c565b6112c6565b6104f56104f0366004613572565b611575565b60408051921515835263ffffffff909116602083015201610254565b6102f561051f36600461352c565b6115fa565b6102d56040518060400160405280600981526020016841646d696e526f6c6560b81b81525081565b6102d56040518060400160405280600a8152602001695075626c6963526f6c6560b01b81525081565b610351611758565b61027061058b3660046132ac565b611774565b6102f561059e36600461312e565b611ad1565b6102d56040518060400160405280600c81526020016b496e7374616e6365526f6c6560a01b81525081565b6102f56105dc36600461352c565b611b32565b6105f46105ef3660046135b9565b611c2a565b604080516001600160401b03938416815292909116602083015201610254565b610351610622366004613612565b611c78565b61027061063536600461363e565b611ca1565b6001600160401b038116600090815260016020526040812061065b90611cc5565b92915050565b61066e335b600036611ccf565b600061067985611dcd565b6000818152600660205260409020549091506001600160a01b031660036001600160a01b03821660009081526005602052604090206001015460ff1660038111156106c6576106c66132c9565b036106f25780600360405163ecec011f60e01b81526004016106e99291906136a1565b60405180910390fd5b60036001600160401b03841660009081526020819052604090206001015460ff166003811115610724576107246132c9565b0361074757826003604051630bb1a0c760e01b81526004016106e99291906136be565b6107548183878787611e0b565b505050505050565b6040805160a080820183526000808352602080840182905283850182905260608401829052608084018290526001600160a01b038616825260058152908490208451928301909452835482526001840154929391929083019060ff1660038111156107c9576107c96132c9565b60038111156107da576107da6132c9565b81526001919091015460ff6101008204161515602083015264ffffffffff62010000820481166040840152600160381b9091041660609091015292915050565b61082333610666565b61082f82826001611ede565b5050565b6000816000610862826001600160401b0390811660009081526020819052604090206001015461010090041690565b600854604051631517388760e21b81526001600160401b038316600482015291925060009182916001600160a01b03169063d1f856ee9073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__9063545ce21c90602401602060405180830381865af41580156108d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108f991906136db565b336040518363ffffffff1660e01b81526004016109179291906136f8565b6040805180830381865afa158015610933573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610957919061371a565b915091508063ffffffff1660001461097157610971613752565b816109ac57335b6040516366c7cee960e01b81526001600160a01b0390911660048201526001600160401b03851660248201526044016106e9565b6109b586611ad1565b6109dd5760405163f5edec3f60e01b81526001600160401b03871660048201526024016106e9565b6001600160401b03861660009081526001602052604081206109fe90611cc5565b905060005b81811015610b48576001600160401b0388166000908152600160205260408120610a2d9083612322565b6001600160401b038a166000908152600160205260409020909150610a52908261232e565b50600854604051631517388760e21b81526001600160401b038b1660048201526001600160a01b039091169063b7d2b1629073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__9063545ce21c90602401602060405180830381865af4158015610ac0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ae491906136db565b836040518363ffffffff1660e01b8152600401610b029291906136f8565b600060405180830381600087803b158015610b1c57600080fd5b505af1158015610b30573d6000803e3d6000fd5b50505050508080610b409061377e565b915050610a03565b505050505050919050565b60085460405163a166aa8960e01b81526001600160a01b038381166004830152600092169063a166aa8990602401602060405180830381865afa158015610b9e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061065b9190613797565b610bcb33610666565b6000610bd685611dcd565b6000818152600660205260409020549091506001600160a01b031660016001600160a01b03821660009081526005602052604090206001015460ff166003811115610c2357610c236132c9565b03610c465780600160405163ecec011f60e01b81526004016106e99291906136a1565b60016001600160401b03841660009081526020819052604090206001015460ff166003811115610c7857610c786132c9565b0361074757826001604051630bb1a0c760e01b81526004016106e99291906136be565b610ca433610666565b610cad82611ad1565b610cd55760405163f5edec3f60e01b81526001600160401b03831660048201526024016106e9565b60016001600160401b03831660009081526020819052604090206001015460ff166003811115610d0757610d076132c9565b03610d2a57816001604051630bb1a0c760e01b81526004016106e99291906136be565b610d3381611ad1565b610d5b5760405163f5edec3f60e01b81526001600160401b03821660048201526024016106e9565b6001600160401b0391821660009081526020819052604090206001018054929091166101000268ffffffffffffffff0019909216919091179055565b600080610da383611dcd565b6000908152600660205260409020546001600160a01b03169392505050565b6001600160401b038116600090815260208190526040812060019081015460ff1690816003811115610df657610df66132c9565b1480610e1357506002816003811115610e1157610e116132c9565b145b15610e35578281604051630bb1a0c760e01b81526004016106e99291906136be565b33610e408482612343565b949350505050565b600060038281548110610e5d57610e5d6137b4565b90600052602060002090600491828204019190066008029054906101000a90046001600160401b03169050919050565b610e9633610666565b60095460405163c3c5a54760e01b81526001600160a01b0384811660048301529091169063c3c5a54790602401602060405180830381865afa158015610ee0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f049190613797565b610f2c576040516306ad3ea560e51b81526001600160a01b03831660048201526024016106e9565b61082f82826002611ede565b610f4133610666565b61082f8282600161247d565b600060026000610f5c84611dcd565b81526020810191909152604001600020546001600160401b031692915050565b6040805160a0810182526000808252602082018190529181018290526060810182905260808101919091526001600160401b03821660009081526020818152604091829020825160a08101909352805483526001810154909183019060ff166003811115610fec57610fec6132c9565b6003811115610ffd57610ffd6132c9565b8152600191909101546001600160401b03610100820416602083015264ffffffffff600160481b820481166040840152600160701b9091041660609091015292915050565b61104b33610666565b61082f82826003611ede565b6001600160a01b038116600090815260056020526040808220600101549051638d38cd4b60e01b81526201000090910464ffffffffff16600482015273__$d53880c81dc91c20799140d711e5ab8718$__90638d38cd4b906024015b602060405180830381865af4158015610b9e573d6000803e3d6000fd5b336110d9611758565b6001600160a01b0316816001600160a01b0316146111145760405162d1953b60e31b81526001600160a01b03821660048201526024016106e9565b816001600160a01b03163b60000361114a576040516361798f2f60e11b81526001600160a01b03831660048201526024016106e9565b61082f8261283e565b61115c33610666565b6001600160a01b03821660008181526005602052604090206001015460ff1690158061119957506000816003811115611197576111976132c9565b145b156111c25760405163b8c1f4e560e01b81526001600160a01b03841660048201526024016106e9565b60018160038111156111d6576111d66132c9565b036111f857828160405163ecec011f60e01b81526004016106e99291906136a1565b6001600160a01b0383811660008181526005602052604090819020600101805461ff00191661010087151590810291909117909155600854915163167bd39560e01b8152600481019390935260248301529091169063167bd39590604401600060405180830381600087803b15801561127057600080fd5b505af1158015611284573d6000803e3d6000fd5b50505050505050565b600080516020613a2e833981519152805460009190600160a01b900460ff166112b75760006112c0565b638fb3603760e01b5b91505090565b60008260006112f5826001600160401b0390811660009081526020819052604090206001015461010090041690565b600854604051631517388760e21b81526001600160401b038316600482015291925060009182916001600160a01b03169063d1f856ee9073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__9063545ce21c90602401602060405180830381865af4158015611368573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061138c91906136db565b336040518363ffffffff1660e01b81526004016113aa9291906136f8565b6040805180830381865afa1580156113c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113ea919061371a565b915091508063ffffffff1660001461140457611404613752565b8161140f5733610978565b61141887611ad1565b6114405760405163f5edec3f60e01b81526001600160401b03881660048201526024016106e9565b6001600160401b0387166000908152600160205260409020611462908761289f565b9450841561156b57600854604051631517388760e21b81526001600160401b03891660048201526001600160a01b03909116906325c471a09073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__9063545ce21c90602401602060405180830381865af41580156114d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114fb91906136db565b6040516001600160e01b031960e084901b1681526001600160401b0390911660048201526001600160a01b038916602482015260006044820152606401600060405180830381600087803b15801561155257600080fd5b505af1158015611566573d6000803e3d6000fd5b505050505b5050505092915050565b60085460405163b700961360e01b815260009182916001600160a01b039091169063b7009613906115ae908890889088906004016137ca565b6040805180830381865afa1580156115ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115ee919061371a565b91509150935093915050565b6000826000611629826001600160401b0390811660009081526020819052604090206001015461010090041690565b600854604051631517388760e21b81526001600160401b038316600482015291925060009182916001600160a01b03169063d1f856ee9073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__9063545ce21c90602401602060405180830381865af415801561169c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116c091906136db565b336040518363ffffffff1660e01b81526004016116de9291906136f8565b6040805180830381865afa1580156116fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061171e919061371a565b915091508063ffffffff1660001461173857611738613752565b816117435733610978565b61174d8787612343565b979650505050505050565b600080516020613a2e833981519152546001600160a01b031690565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b810460ff1615906001600160401b03166000811580156117b95750825b90506000826001600160401b031660011480156117d55750303b155b9050811580156117e3575080155b156118015760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561182b57845460ff60401b1916600160401b1785555b60008690506000816001600160a01b0316635ab1bd536040518163ffffffff1660e01b8152600401602060405180830381865afa158015611870573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061189491906137f7565b90506000826001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118d6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118fa91906137f7565b9050611905816128b4565b600880546001600160a01b038084166001600160a01b03199283161790925560098054928516929091169190911790556004805467ffffffffffffffff191661271017905561197e6119556128c8565b6040518060400160405280600981526020016841646d696e526f6c6560b81b815250600161247d565b6119b3611989612945565b6040518060400160405280600a8152602001695075626c6963526f6c6560b01b815250600161247d565b6119ea6119be612986565b6040518060400160405280600c81526020016b496e7374616e6365526f6c6560a01b815250600161247d565b611a266119f56129c2565b60405180604001604052806011815260200170496e7374616e63654f776e6572526f6c6560781b815250600261247d565b611a5b60016000611a356128c8565b6001600160401b03166001600160401b031681526020019081526020016000203061289f565b50611a6d611a67612986565b8a6112c6565b50611a81611a796129c2565b610339612986565b505050831561075457845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a1505050505050565b6001600160401b038116600090815260208190526040808220600101549051638d38cd4b60e01b8152600160481b90910464ffffffffff16600482015273__$d53880c81dc91c20799140d711e5ab8718$__90638d38cd4b906024016110b3565b600854604051631517388760e21b81526001600160401b03841660048201526000916001600160a01b03169063d1f856ee9073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__9063545ce21c90602401602060405180830381865af4158015611ba0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bc491906136db565b846040518363ffffffff1660e01b8152600401611be29291906136f8565b6040805180830381865afa158015611bfe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c22919061371a565b509392505050565b600080611c3633610666565b611c3e6129fe565b9092509050611c4f8285600361247d565b611c5b8184600361247d565b611c658282610c9b565b611c71816103396129c2565b9250929050565b6001600160401b0382166000908152600160205260408120611c9a9083612322565b9392505050565b611caa33610666565b611cb68383600261247d565b611cc08382610c9b565b505050565b600061065b825490565b600080516020613a2e833981519152600080611d0a611cec611758565b8730611cfc600460008a8c613814565b611d059161383e565b612b40565b91509150816107545763ffffffff811615611daa57825460ff60a01b1916600160a01b178355611d38611758565b6001600160a01b03166394c7d7ee8787876040518463ffffffff1660e01b8152600401611d679392919061386e565b600060405180830381600087803b158015611d8157600080fd5b505af1158015611d95573d6000803e3d6000fd5b5050845460ff60a01b19168555506107549050565b60405162d1953b60e31b81526001600160a01b03871660048201526024016106e9565b600080829050601f81511115611df8578260405163305a27a960e01b81526004016106e991906133c3565b8051611e03826138ae565b179392505050565b6001600160a01b038516611e3d5760405163b8c1f4e560e01b81526001600160a01b03861660048201526024016106e9565b611e4681611ad1565b611e6e5760405163f5edec3f60e01b81526001600160401b03821660048201526024016106e9565b6008546040516308d6122d60e01b815282916001600160a01b0316906308d6122d90611ea49089908890889087906004016138d5565b600060405180830381600087803b158015611ebe57600080fd5b505af1158015611ed2573d6000803e3d6000fd5b50505050505050505050565b6000611ee983611dcd565b9050611ef6848284612c37565b6001600160a01b03841660009081526005602052604090819020600101549051638d38cd4b60e01b81526201000090910464ffffffffff16600482015273__$d53880c81dc91c20799140d711e5ab8718$__90638d38cd4b90602401602060405180830381865af4158015611f6f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f939190613797565b15611fd4576001600160a01b03841660008181526005602052604090819020549051632969db5760e11b8152600481019290925260248201526044016106e9565b6000818152600660205260409020546001600160a01b03161561203557600081815260066020526040908190205490516361c0558f60e01b81526001600160a01b0380871660048301529091166024820152604481018290526064016106e9565b60085460405163a166aa8960e01b81526001600160a01b038681166004830152600092169063a166aa8990602401602060405180830381865afa158015612080573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120a49190613797565b90506040518060a001604052808381526020018460038111156120c9576120c96132c9565b8152602001821515815260200173__$d53880c81dc91c20799140d711e5ab8718$__63adb618326040518163ffffffff1660e01b8152600401602060405180830381865af415801561211f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121439190613948565b64ffffffffff16815260200173__$d53880c81dc91c20799140d711e5ab8718$__63adb618326040518163ffffffff1660e01b8152600401602060405180830381865af4158015612198573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121bc9190613948565b64ffffffffff1690526001600160a01b0386166000908152600560209081526040909120825181559082015160018083018054909160ff199091169083600381111561220a5761220a6132c9565b021790555060408281015160019283018054606086015160809096015166ffffffffffff00199091166101009315159390930266ffffffffff00001916929092176201000064ffffffffff96871602176bffffffffff000000000000001916600160381b9590921694909402179092556000848152600660205282812080546001600160a01b03199081166001600160a01b038b169081179092556007805494850181559092527fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c68890920180549091169091179055517f1b6c9e4eef57701705db39664c8777cd8c15bb0f52556130a44b55e30cd501e89061231390879085908790869061396f565b60405180910390a15050505050565b6000611c9a8383612d23565b6000611c9a836001600160a01b038416612d4d565b600061234e83611ad1565b6123765760405163f5edec3f60e01b81526001600160401b03841660048201526024016106e9565b6001600160401b0383166000908152600160205260409020612398908361232e565b9050801561065b57600854604051631517388760e21b81526001600160401b03851660048201526001600160a01b039091169063b7d2b1629073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__9063545ce21c90602401602060405180830381865af415801561240d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061243191906136db565b846040518363ffffffff1660e01b815260040161244f9291906136f8565b600060405180830381600087803b15801561246957600080fd5b505af115801561156b573d6000803e3d6000fd5b600061248883611dcd565b9050612495848284612e47565b61249e84611ad1565b156124c7576040516330907ba960e01b81526001600160401b03851660048201526024016106e9565b6000818152600260205260409081902054905163a42e52e960e01b81526001600160401b03909116600482015273__$cd131c2b3ba46b9dbe046aaf4458b9777d$__9063a42e52e990602401602060405180830381865af4158015612530573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125549190613797565b1561259d576000818152600260205260409081902054905163af48012f60e01b81526001600160401b0380871660048301529091166024820152604481018290526064016106e9565b6040518060a001604052808281526020018360038111156125c0576125c06132c9565b81526020016125cd6128c8565b6001600160401b0316815260200173__$d53880c81dc91c20799140d711e5ab8718$__63adb618326040518163ffffffff1660e01b8152600401602060405180830381865af4158015612624573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126489190613948565b64ffffffffff16815260200173__$d53880c81dc91c20799140d711e5ab8718$__63adb618326040518163ffffffff1660e01b8152600401602060405180830381865af415801561269d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126c19190613948565b64ffffffffff1690526001600160401b038516600090815260208181526040909120825181559082015160018083018054909160ff199091169083600381111561270d5761270d6132c9565b02179055506040828101516001928301805460608601516080909601516dffffffffffffffffffffffffff00199091166101006001600160401b0394851681026dffffffffff000000000000000000191691909117600160481b64ffffffffff988916021764ffffffffff60701b1916600160701b979092169690960217905560008581526002602052828120805467ffffffffffffffff19168a8416908117909155600380549586018155918290527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b600486040180549590921660080290950a918202199093169302929092179055517f946b8e9c3ff1c1ed025292a56da516b43a836f1a9f35bc2ee6de53d879d6d6b090612830908690849086906139a4565b60405180910390a150505050565b600080516020613a2e83398151915280546001600160a01b0383166001600160a01b03199091168117825560408051918252517f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad9181900360200190a15050565b6000611c9a836001600160a01b038416613036565b6128bc613085565b6128c5816130d0565b50565b6040516368aebf7b60e01b81526000600482018190529073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b906024015b602060405180830381865af415801561291c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061294091906136db565b905090565b6040516368aebf7b60e01b81526001600160401b03600482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b906024016128ff565b6040516368aebf7b60e01b8152610a28600482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b906024016128ff565b6040516368aebf7b60e01b815261076c600482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b906024016128ff565b60045460009081906001600160401b031681612a1b8260016139c8565b9050612a288260026139c8565b6004805467ffffffffffffffff19166001600160401b039283161781556040516368aebf7b60e01b81529184169082015273__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b90602401602060405180830381865af4158015612a95573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ab991906136db565b6040516368aebf7b60e01b81526001600160401b038316600482015290945073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b90602401602060405180830381865af4158015612b14573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b3891906136db565b925050509091565b600080600080876001600160a01b0316878787604051602401612b65939291906137ca565b60408051601f198184030181529181526020820180516001600160e01b031663b700961360e01b17905251612b9a91906139e8565b600060405180830381855afa9150503d8060008114612bd5576040519150601f19603f3d011682016040523d82523d6000602084013e612bda565b606091505b50915091508115612c2c576040815110612c0c5780806020019051810190612c02919061371a565b9094509250612c2c565b6020815110612c2c5780806020019051810190612c299190613797565b93505b505094509492505050565b6000836001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612c77573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c9b91906137f7565b9050612ca5611758565b6001600160a01b0316816001600160a01b031614612ce957604051631db0625160e01b81526001600160a01b038086166004830152821660248201526044016106e9565b612cf2836130e1565b600003612d1d5760405163a12ddedf60e01b81526001600160a01b03851660048201526024016106e9565b50505050565b6000826000018281548110612d3a57612d3a6137b4565b9060005260206000200154905092915050565b60008181526001830160205260408120548015612e36576000612d71600183613a04565b8554909150600090612d8590600190613a04565b9050808214612dea576000866000018281548110612da557612da56137b4565b9060005260206000200154905080876000018481548110612dc857612dc86137b4565b6000918252602080832090910192909255918252600188019052604090208390555b8554869080612dfb57612dfb613a17565b60019003818190600052602060002001600090559055856001016000868152602001908152602001600020600090556001935050505061065b565b600091505061065b565b5092915050565b604051631517388760e21b81526001600160401b038416600482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__9063545ce21c90602401602060405180830381865af4158015612ea2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ec691906136db565b6001600160401b031690506003826003811115612ee557612ee56132c9565b148015612ef3575061271081105b15612f1c5760405163be511cc160e01b81526001600160401b03851660048201526024016106e9565b6003826003811115612f3057612f306132c9565b14158015612f4057506127108110155b8015612fd95750612f4f612945565b604051631517388760e21b81526001600160401b03909116600482015273__$cd131c2b3ba46b9dbe046aaf4458b9777d$__9063545ce21c90602401602060405180830381865af4158015612fa8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612fcc91906136db565b6001600160401b03168114155b1561300257604051630e08ff2d60e11b81526001600160401b03851660048201526024016106e9565b61300b836130e1565b600003612d1d57604051631367e80d60e31b81526001600160401b03851660048201526024016106e9565b600081815260018301602052604081205461307d5750815460018181018455600084815260208082209093018490558454848252828601909352604090209190915561065b565b50600061065b565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054600160401b900460ff166130ce57604051631afcd79f60e31b815260040160405180910390fd5b565b6130d8613085565b6128c58161283e565b600060ff8216601f81111561065b57604051632cd44ac360e21b815260040160405180910390fd5b6001600160401b03811681146128c557600080fd5b803561312981613109565b919050565b60006020828403121561314057600080fd5b8135611c9a81613109565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261317257600080fd5b81356001600160401b038082111561318c5761318c61314b565b604051601f8301601f19908116603f011681019082821181831017156131b4576131b461314b565b816040528381528660208588010111156131cd57600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806000806060858703121561320357600080fd5b84356001600160401b038082111561321a57600080fd5b61322688838901613161565b9550602087013591508082111561323c57600080fd5b818701915087601f83011261325057600080fd5b81358181111561325f57600080fd5b8860208260051b850101111561327457600080fd5b60208301955080945050505061328c6040860161311e565b905092959194509250565b6001600160a01b03811681146128c557600080fd5b6000602082840312156132be57600080fd5b8135611c9a81613297565b634e487b7160e01b600052602160045260246000fd5b600481106132fd57634e487b7160e01b600052602160045260246000fd5b9052565b8151815260208083015160a083019161331c908401826132df565b50604083015115156040830152606083015164ffffffffff8082166060850152806080860151166080850152505092915050565b6000806040838503121561336357600080fd5b823561336e81613297565b915060208301356001600160401b0381111561338957600080fd5b61339585828601613161565b9150509250929050565b60005b838110156133ba5781810151838201526020016133a2565b50506000910152565b60208152600082518060208401526133e281604085016020870161339f565b601f01601f19169190910160400192915050565b6000806040838503121561340957600080fd5b823561341481613109565b9150602083013561342481613109565b809150509250929050565b60006020828403121561344157600080fd5b81356001600160401b0381111561345757600080fd5b610e4084828501613161565b60006020828403121561347557600080fd5b5035919050565b6000806040838503121561348f57600080fd5b823561336e81613109565b8151815260208083015160a08301916134b5908401826132df565b506001600160401b036040840151166040830152606083015164ffffffffff8082166060850152806080860151166080850152505092915050565b80151581146128c557600080fd5b6000806040838503121561351157600080fd5b823561351c81613297565b91506020830135613424816134f0565b6000806040838503121561353f57600080fd5b823561354a81613109565b9150602083013561342481613297565b80356001600160e01b03198116811461312957600080fd5b60008060006060848603121561358757600080fd5b833561359281613297565b925060208401356135a281613297565b91506135b06040850161355a565b90509250925092565b600080604083850312156135cc57600080fd5b82356001600160401b03808211156135e357600080fd5b6135ef86838701613161565b9350602085013591508082111561360557600080fd5b5061339585828601613161565b6000806040838503121561362557600080fd5b823561363081613109565b946020939093013593505050565b60008060006060848603121561365357600080fd5b833561365e81613109565b925060208401356001600160401b0381111561367957600080fd5b61368586828701613161565b925050604084013561369681613109565b809150509250925092565b6001600160a01b038316815260408101611c9a60208301846132df565b6001600160401b038316815260408101611c9a60208301846132df565b6000602082840312156136ed57600080fd5b8151611c9a81613109565b6001600160401b039290921682526001600160a01b0316602082015260400190565b6000806040838503121561372d57600080fd5b8251613738816134f0565b602084015190925063ffffffff8116811461342457600080fd5b634e487b7160e01b600052600160045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006001820161379057613790613768565b5060010190565b6000602082840312156137a957600080fd5b8151611c9a816134f0565b634e487b7160e01b600052603260045260246000fd5b6001600160a01b0393841681529190921660208201526001600160e01b0319909116604082015260600190565b60006020828403121561380957600080fd5b8151611c9a81613297565b6000808585111561382457600080fd5b8386111561383157600080fd5b5050820193919092039150565b6001600160e01b031981358181169160048510156138665780818660040360031b1b83161692505b505092915050565b6001600160a01b03841681526040602082018190528101829052818360608301376000818301606090810191909152601f909201601f1916010192915050565b805160208083015191908110156138cf576000198160200360031b1b821691505b50919050565b6001600160a01b038516815260606020808301829052908201849052600090859060808401835b87811015613929576001600160e01b03196139168561355a565b16825292820192908201906001016138fc565b508093505050506001600160401b038316604083015295945050505050565b60006020828403121561395a57600080fd5b815164ffffffffff81168114611c9a57600080fd5b6001600160a01b0385168152602081018490526080810161399360408301856132df565b821515606083015295945050505050565b6001600160401b03841681526020810183905260608101610e4060408301846132df565b6001600160401b03818116838216019080821115612e4057612e40613768565b600082516139fa81846020870161339f565b9190910192915050565b8181038181111561065b5761065b613768565b634e487b7160e01b600052603160045260246000fdfef3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a00a2646970667358221220fc37dd1bdcf3065724275b591dc298844a0b88a133fbac174468823932ef4b9364736f6c63430008140033",
         | 
| 769 1126 | 
             
              "linkReferences": {
         | 
| 770 1127 | 
             
                "contracts/types/RoleId.sol": {
         | 
| 771 1128 | 
             
                  "RoleIdLib": [
         | 
| 772 1129 | 
             
                    {
         | 
| 773 1130 | 
             
                      "length": 20,
         | 
| 774 | 
            -
                      "start":  | 
| 1131 | 
            +
                      "start": 2235
         | 
| 775 1132 | 
             
                    },
         | 
| 776 1133 | 
             
                    {
         | 
| 777 1134 | 
             
                      "length": 20,
         | 
| 778 | 
            -
                      "start":  | 
| 1135 | 
            +
                      "start": 2726
         | 
| 779 1136 | 
             
                    },
         | 
| 780 1137 | 
             
                    {
         | 
| 781 1138 | 
             
                      "length": 20,
         | 
| 782 | 
            -
                      "start":  | 
| 1139 | 
            +
                      "start": 4942
         | 
| 783 1140 | 
             
                    },
         | 
| 784 1141 | 
             
                    {
         | 
| 785 1142 | 
             
                      "length": 20,
         | 
| 786 | 
            -
                      "start":  | 
| 1143 | 
            +
                      "start": 5309
         | 
| 787 1144 | 
             
                    },
         | 
| 788 1145 | 
             
                    {
         | 
| 789 1146 | 
             
                      "length": 20,
         | 
| 790 | 
            -
                      "start":  | 
| 1147 | 
            +
                      "start": 5762
         | 
| 791 1148 | 
             
                    },
         | 
| 792 1149 | 
             
                    {
         | 
| 793 1150 | 
             
                      "length": 20,
         | 
| 794 | 
            -
                      "start":  | 
| 1151 | 
            +
                      "start": 7046
         | 
| 795 1152 | 
             
                    },
         | 
| 796 1153 | 
             
                    {
         | 
| 797 1154 | 
             
                      "length": 20,
         | 
| 798 | 
            -
                      "start":  | 
| 1155 | 
            +
                      "start": 9203
         | 
| 799 1156 | 
             
                    },
         | 
| 800 1157 | 
             
                    {
         | 
| 801 1158 | 
             
                      "length": 20,
         | 
| 802 | 
            -
                      "start":  | 
| 803 | 
            -
                    }
         | 
| 804 | 
            -
             | 
| 805 | 
            -
             | 
| 806 | 
            -
             | 
| 807 | 
            -
             | 
| 1159 | 
            +
                      "start": 9494
         | 
| 1160 | 
            +
                    },
         | 
| 1161 | 
            +
                    {
         | 
| 1162 | 
            +
                      "length": 20,
         | 
| 1163 | 
            +
                      "start": 10497
         | 
| 1164 | 
            +
                    },
         | 
| 1165 | 
            +
                    {
         | 
| 1166 | 
            +
                      "length": 20,
         | 
| 1167 | 
            +
                      "start": 10628
         | 
| 1168 | 
            +
                    },
         | 
| 1169 | 
            +
                    {
         | 
| 1170 | 
            +
                      "length": 20,
         | 
| 1171 | 
            +
                      "start": 10688
         | 
| 1172 | 
            +
                    },
         | 
| 808 1173 | 
             
                    {
         | 
| 809 1174 | 
             
                      "length": 20,
         | 
| 810 | 
            -
                      "start":  | 
| 1175 | 
            +
                      "start": 10748
         | 
| 811 1176 | 
             
                    },
         | 
| 812 1177 | 
             
                    {
         | 
| 813 1178 | 
             
                      "length": 20,
         | 
| 814 | 
            -
                      "start":  | 
| 1179 | 
            +
                      "start": 10875
         | 
| 815 1180 | 
             
                    },
         | 
| 816 1181 | 
             
                    {
         | 
| 817 1182 | 
             
                      "length": 20,
         | 
| 818 | 
            -
                      "start":  | 
| 1183 | 
            +
                      "start": 11002
         | 
| 819 1184 | 
             
                    },
         | 
| 820 1185 | 
             
                    {
         | 
| 821 1186 | 
             
                      "length": 20,
         | 
| 822 | 
            -
                      "start":  | 
| 1187 | 
            +
                      "start": 11912
         | 
| 823 1188 | 
             
                    },
         | 
| 824 1189 | 
             
                    {
         | 
| 825 1190 | 
             
                      "length": 20,
         | 
| 826 | 
            -
                      "start":  | 
| 1191 | 
            +
                      "start": 12174
         | 
| 1192 | 
            +
                    }
         | 
| 1193 | 
            +
                  ]
         | 
| 1194 | 
            +
                },
         | 
| 1195 | 
            +
                "contracts/types/Timestamp.sol": {
         | 
| 1196 | 
            +
                  "TimestampLib": [
         | 
| 1197 | 
            +
                    {
         | 
| 1198 | 
            +
                      "length": 20,
         | 
| 1199 | 
            +
                      "start": 4277
         | 
| 827 1200 | 
             
                    },
         | 
| 828 1201 | 
             
                    {
         | 
| 829 1202 | 
             
                      "length": 20,
         | 
| 830 | 
            -
                      "start":  | 
| 1203 | 
            +
                      "start": 6960
         | 
| 831 1204 | 
             
                    },
         | 
| 832 1205 | 
             
                    {
         | 
| 833 1206 | 
             
                      "length": 20,
         | 
| 834 | 
            -
                      "start":  | 
| 1207 | 
            +
                      "start": 8021
         | 
| 835 1208 | 
             
                    },
         | 
| 836 1209 | 
             
                    {
         | 
| 837 1210 | 
             
                      "length": 20,
         | 
| 838 | 
            -
                      "start":  | 
| 1211 | 
            +
                      "start": 8440
         | 
| 839 1212 | 
             
                    },
         | 
| 840 1213 | 
             
                    {
         | 
| 841 1214 | 
             
                      "length": 20,
         | 
| 842 | 
            -
                      "start":  | 
| 1215 | 
            +
                      "start": 8561
         | 
| 843 1216 | 
             
                    },
         | 
| 844 1217 | 
             
                    {
         | 
| 845 1218 | 
             
                      "length": 20,
         | 
| 846 | 
            -
                      "start":  | 
| 1219 | 
            +
                      "start": 9725
         | 
| 847 1220 | 
             
                    },
         | 
| 848 1221 | 
             
                    {
         | 
| 849 1222 | 
             
                      "length": 20,
         | 
| 850 | 
            -
                      "start":  | 
| 1223 | 
            +
                      "start": 9846
         | 
| 851 1224 | 
             
                    }
         | 
| 852 1225 | 
             
                  ]
         | 
| 853 1226 | 
             
                }
         | 
| @@ -857,23 +1230,67 @@ | |
| 857 1230 | 
             
                  "RoleIdLib": [
         | 
| 858 1231 | 
             
                    {
         | 
| 859 1232 | 
             
                      "length": 20,
         | 
| 860 | 
            -
                      "start":  | 
| 1233 | 
            +
                      "start": 2203
         | 
| 1234 | 
            +
                    },
         | 
| 1235 | 
            +
                    {
         | 
| 1236 | 
            +
                      "length": 20,
         | 
| 1237 | 
            +
                      "start": 2694
         | 
| 1238 | 
            +
                    },
         | 
| 1239 | 
            +
                    {
         | 
| 1240 | 
            +
                      "length": 20,
         | 
| 1241 | 
            +
                      "start": 4910
         | 
| 1242 | 
            +
                    },
         | 
| 1243 | 
            +
                    {
         | 
| 1244 | 
            +
                      "length": 20,
         | 
| 1245 | 
            +
                      "start": 5277
         | 
| 1246 | 
            +
                    },
         | 
| 1247 | 
            +
                    {
         | 
| 1248 | 
            +
                      "length": 20,
         | 
| 1249 | 
            +
                      "start": 5730
         | 
| 1250 | 
            +
                    },
         | 
| 1251 | 
            +
                    {
         | 
| 1252 | 
            +
                      "length": 20,
         | 
| 1253 | 
            +
                      "start": 7014
         | 
| 1254 | 
            +
                    },
         | 
| 1255 | 
            +
                    {
         | 
| 1256 | 
            +
                      "length": 20,
         | 
| 1257 | 
            +
                      "start": 9171
         | 
| 1258 | 
            +
                    },
         | 
| 1259 | 
            +
                    {
         | 
| 1260 | 
            +
                      "length": 20,
         | 
| 1261 | 
            +
                      "start": 9462
         | 
| 1262 | 
            +
                    },
         | 
| 1263 | 
            +
                    {
         | 
| 1264 | 
            +
                      "length": 20,
         | 
| 1265 | 
            +
                      "start": 10465
         | 
| 1266 | 
            +
                    },
         | 
| 1267 | 
            +
                    {
         | 
| 1268 | 
            +
                      "length": 20,
         | 
| 1269 | 
            +
                      "start": 10596
         | 
| 1270 | 
            +
                    },
         | 
| 1271 | 
            +
                    {
         | 
| 1272 | 
            +
                      "length": 20,
         | 
| 1273 | 
            +
                      "start": 10656
         | 
| 1274 | 
            +
                    },
         | 
| 1275 | 
            +
                    {
         | 
| 1276 | 
            +
                      "length": 20,
         | 
| 1277 | 
            +
                      "start": 10716
         | 
| 861 1278 | 
             
                    },
         | 
| 862 1279 | 
             
                    {
         | 
| 863 1280 | 
             
                      "length": 20,
         | 
| 864 | 
            -
                      "start":  | 
| 1281 | 
            +
                      "start": 10843
         | 
| 865 1282 | 
             
                    },
         | 
| 866 1283 | 
             
                    {
         | 
| 867 1284 | 
             
                      "length": 20,
         | 
| 868 | 
            -
                      "start":  | 
| 1285 | 
            +
                      "start": 10970
         | 
| 869 1286 | 
             
                    },
         | 
| 870 1287 | 
             
                    {
         | 
| 871 1288 | 
             
                      "length": 20,
         | 
| 872 | 
            -
                      "start":  | 
| 1289 | 
            +
                      "start": 11880
         | 
| 873 1290 | 
             
                    },
         | 
| 874 1291 | 
             
                    {
         | 
| 875 1292 | 
             
                      "length": 20,
         | 
| 876 | 
            -
                      "start":  | 
| 1293 | 
            +
                      "start": 12142
         | 
| 877 1294 | 
             
                    }
         | 
| 878 1295 | 
             
                  ]
         | 
| 879 1296 | 
             
                },
         | 
| @@ -881,35 +1298,31 @@ | |
| 881 1298 | 
             
                  "TimestampLib": [
         | 
| 882 1299 | 
             
                    {
         | 
| 883 1300 | 
             
                      "length": 20,
         | 
| 884 | 
            -
                      "start":  | 
| 885 | 
            -
                    },
         | 
| 886 | 
            -
                    {
         | 
| 887 | 
            -
                      "length": 20,
         | 
| 888 | 
            -
                      "start": 2442
         | 
| 1301 | 
            +
                      "start": 4245
         | 
| 889 1302 | 
             
                    },
         | 
| 890 1303 | 
             
                    {
         | 
| 891 1304 | 
             
                      "length": 20,
         | 
| 892 | 
            -
                      "start":  | 
| 1305 | 
            +
                      "start": 6928
         | 
| 893 1306 | 
             
                    },
         | 
| 894 1307 | 
             
                    {
         | 
| 895 1308 | 
             
                      "length": 20,
         | 
| 896 | 
            -
                      "start":  | 
| 1309 | 
            +
                      "start": 7989
         | 
| 897 1310 | 
             
                    },
         | 
| 898 1311 | 
             
                    {
         | 
| 899 1312 | 
             
                      "length": 20,
         | 
| 900 | 
            -
                      "start":  | 
| 1313 | 
            +
                      "start": 8408
         | 
| 901 1314 | 
             
                    },
         | 
| 902 1315 | 
             
                    {
         | 
| 903 1316 | 
             
                      "length": 20,
         | 
| 904 | 
            -
                      "start":  | 
| 1317 | 
            +
                      "start": 8529
         | 
| 905 1318 | 
             
                    },
         | 
| 906 1319 | 
             
                    {
         | 
| 907 1320 | 
             
                      "length": 20,
         | 
| 908 | 
            -
                      "start":  | 
| 1321 | 
            +
                      "start": 9693
         | 
| 909 1322 | 
             
                    },
         | 
| 910 1323 | 
             
                    {
         | 
| 911 1324 | 
             
                      "length": 20,
         | 
| 912 | 
            -
                      "start":  | 
| 1325 | 
            +
                      "start": 9814
         | 
| 913 1326 | 
             
                    }
         | 
| 914 1327 | 
             
                  ]
         | 
| 915 1328 | 
             
                }
         |