@across-protocol/contracts 5.0.6-alpha.1 → 5.0.6
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/dist/broadcast/deployed-addresses.json +600 -60
- package/dist/{abi → evm/artifacts}/AccessControl.sol/AccessControl.json +1 -1
- package/dist/{abi → evm/artifacts}/AccessControlEnumerable.sol/AccessControlEnumerable.json +1 -1
- package/dist/{abi → evm/artifacts}/AccessControlUpgradeable.sol/AccessControlUpgradeable.json +1 -1
- package/dist/evm/artifacts/AcrossConfigStore.sol/AcrossConfigStore.json +1 -0
- package/dist/evm/artifacts/AcrossEventEmitter.sol/AcrossEventEmitter.json +1 -0
- package/dist/evm/artifacts/AcrossMerkleDistributor.sol/AcrossMerkleDistributor.json +1 -0
- package/dist/evm/artifacts/AcrossMessageHandlerMock.sol/AcrossMessageHandlerMock.json +1 -0
- package/dist/{abi → evm/artifacts}/AdapterInterface.sol/AdapterInterface.json +1 -1
- package/dist/evm/artifacts/AdapterStore.sol/AdapterStore.json +1 -0
- package/dist/evm/artifacts/AdapterStore.sol/MessengerTypes.json +1 -0
- package/dist/evm/artifacts/Address.sol/Address.json +1 -0
- package/dist/evm/artifacts/AddressConverters.sol/Bytes32ToAddress.json +1 -0
- package/dist/{abi → evm/artifacts}/AddressWhitelistInterface.sol/AddressWhitelistInterface.json +1 -1
- package/dist/evm/artifacts/AdminRelayTokensAdapter.sol/AdminRelayTokensAdapter.json +1 -0
- package/dist/evm/artifacts/AdminWithdrawManager.sol/AdminWithdrawManager.json +1 -0
- package/dist/{abi → evm/artifacts}/ArbitraryEVMFlowExecutor.sol/ArbitraryEVMFlowExecutor.json +1 -1
- package/dist/{abi → evm/artifacts}/ArbitrumBridge.sol/ArbitrumCustomGasTokenInbox.json +1 -1
- package/dist/{abi → evm/artifacts}/ArbitrumBridge.sol/ArbitrumERC20Bridge.json +1 -1
- package/dist/{abi → evm/artifacts}/ArbitrumBridge.sol/ArbitrumInboxLike.json +1 -1
- package/dist/{abi → evm/artifacts}/ArbitrumBridge.sol/ArbitrumL1ERC20GatewayLike.json +1 -1
- package/dist/{abi → evm/artifacts}/ArbitrumBridge.sol/ArbitrumL2ERC20GatewayLike.json +1 -1
- package/dist/evm/artifacts/ArbitrumMocks.sol/ArbitrumMockErc20GatewayRouter.json +1 -0
- package/dist/evm/artifacts/ArbitrumMocks.sol/Inbox.json +1 -0
- package/dist/evm/artifacts/ArbitrumMocks.sol/L2GatewayRouter.json +1 -0
- package/dist/evm/artifacts/Arbitrum_Adapter.sol/Arbitrum_Adapter.json +1 -0
- package/dist/evm/artifacts/Arbitrum_CustomGasToken_Adapter.sol/Arbitrum_CustomGasToken_Adapter.json +1 -0
- package/dist/{abi → evm/artifacts}/Arbitrum_CustomGasToken_Adapter.sol/FunderInterface.json +1 -1
- package/dist/evm/artifacts/Arbitrum_Forwarder.sol/Arbitrum_Forwarder.json +1 -0
- package/dist/evm/artifacts/Arbitrum_RescueAdapter.sol/Arbitrum_RescueAdapter.json +1 -0
- package/dist/evm/artifacts/Arbitrum_SendTokensAdapter.sol/Arbitrum_SendTokensAdapter.json +1 -0
- package/dist/evm/artifacts/Arbitrum_SpokePool.sol/Arbitrum_SpokePool.json +1 -0
- package/dist/evm/artifacts/Arbitrum_WithdrawalHelper.sol/Arbitrum_WithdrawalHelper.json +1 -0
- package/dist/{abi → evm/artifacts}/AuthorizedFundedFlow.sol/AuthorizedFundedFlow.json +1 -1
- package/dist/{abi → evm/artifacts}/BaseModuleHandler.sol/BaseModuleHandler.json +1 -1
- package/dist/{abi → evm/artifacts}/BaseSimulatorTest.sol/BaseSimulatorTest.json +1 -1
- package/dist/evm/artifacts/Base_Adapter.sol/Base_Adapter.json +1 -0
- package/dist/evm/artifacts/BeaconProxy.sol/BeaconProxy.json +1 -0
- package/dist/evm/artifacts/Blast_Adapter.sol/Blast_Adapter.json +1 -0
- package/dist/{abi → evm/artifacts}/Blast_Adapter.sol/IL1ERC20Bridge.json +1 -1
- package/dist/evm/artifacts/Blast_DaiRetriever.sol/Blast_DaiRetriever.json +1 -0
- package/dist/{abi → evm/artifacts}/Blast_DaiRetriever.sol/USDYieldManager.json +1 -1
- package/dist/evm/artifacts/Blast_RescueAdapter.sol/Blast_RescueAdapter.json +1 -0
- package/dist/evm/artifacts/Blast_SpokePool.sol/Blast_SpokePool.json +1 -0
- package/dist/{abi → evm/artifacts}/Blast_SpokePool.sol/IBlast.json +1 -1
- package/dist/{abi → evm/artifacts}/Blast_SpokePool.sol/IERC20Rebasing.json +1 -1
- package/dist/{abi → evm/artifacts}/Blast_SpokePool.sol/IUSDBL2Bridge.json +1 -1
- package/dist/evm/artifacts/Boba_Adapter.sol/Boba_Adapter.json +1 -0
- package/dist/evm/artifacts/Boba_SpokePool.sol/Boba_SpokePool.json +1 -0
- package/dist/evm/artifacts/BondToken.sol/BondToken.json +1 -0
- package/dist/{abi → evm/artifacts}/BondToken.sol/ExtendedHubPoolInterface.json +1 -1
- package/dist/evm/artifacts/BytesLib.sol/BytesLib.json +1 -0
- package/dist/{abi → evm/artifacts}/CCTPInterfaces.sol/IMessageTransmitter.json +1 -1
- package/dist/{abi → evm/artifacts}/CCTPInterfaces.sol/IMessageTransmitterV2.json +1 -1
- package/dist/{abi → evm/artifacts}/CCTPInterfaces.sol/ITokenMessenger.json +1 -1
- package/dist/{abi → evm/artifacts}/CCTPInterfaces.sol/ITokenMessengerV2.json +1 -1
- package/dist/{abi → evm/artifacts}/CCTPInterfaces.sol/ITokenMinter.json +1 -1
- package/dist/evm/artifacts/Cher_SpokePool.sol/Cher_SpokePool.json +1 -0
- package/dist/{abi → evm/artifacts}/CircleCCTPAdapter.sol/CircleCCTPAdapter.json +1 -1
- package/dist/{abi → evm/artifacts}/CircleCCTPAdapter.sol/CircleDomainIds.json +1 -1
- package/dist/evm/artifacts/Clones.sol/Clones.json +1 -0
- package/dist/evm/artifacts/Constants.sol/Constants.json +1 -0
- package/dist/evm/artifacts/Constants.sol/OptimisticOracleConstraints.json +1 -0
- package/dist/evm/artifacts/Constants.sol/OracleInterfaces.json +1 -0
- package/dist/{abi → evm/artifacts}/ContextUpgradeable.sol/ContextUpgradeable.json +1 -1
- package/dist/evm/artifacts/CoreExecution.sol/CoreExecution.json +1 -0
- package/dist/evm/artifacts/CoreSimulatorLib.sol/HypeSystemContract.json +1 -0
- package/dist/evm/artifacts/CoreState.sol/CoreState.json +1 -0
- package/dist/evm/artifacts/CoreView.sol/CoreView.json +1 -0
- package/dist/{abi → evm/artifacts}/CoreWriterLib.sol/CoreWriterLib.json +1 -1
- package/dist/evm/artifacts/CoreWriterSim.sol/CoreWriterSim.json +1 -0
- package/dist/evm/artifacts/CounterfactualConfig.sol/CounterfactualConfig.json +1 -0
- package/dist/evm/artifacts/CounterfactualDeposit.sol/CounterfactualDeposit.json +1 -0
- package/dist/evm/artifacts/CounterfactualDepositCCTP.sol/CounterfactualDepositCCTP.json +1 -0
- package/dist/{abi → evm/artifacts}/CounterfactualDepositCCTP.sol/ISponsoredCCTPSrcPeriphery.json +1 -1
- package/dist/evm/artifacts/CounterfactualDepositFactory.sol/CounterfactualDepositFactory.json +1 -0
- package/dist/evm/artifacts/CounterfactualDepositFactoryTron.sol/CounterfactualDepositFactoryTron.json +1 -0
- package/dist/evm/artifacts/CounterfactualDepositOFT.sol/CounterfactualDepositOFT.json +1 -0
- package/dist/{abi → evm/artifacts}/CounterfactualDepositOFT.sol/ISponsoredOFTSrcPeriphery.json +1 -1
- package/dist/evm/artifacts/CounterfactualDepositSpokePool.sol/CounterfactualDepositSpokePool.json +1 -0
- package/dist/evm/artifacts/Create2.sol/Create2.json +1 -0
- package/dist/evm/artifacts/CrossDomainEnabled.sol/CrossDomainEnabled.json +1 -0
- package/dist/evm/artifacts/DeployedAddresses.sol/DeployedAddresses.json +1 -0
- package/dist/evm/artifacts/DeploymentUtils.sol/DeploymentUtils.json +1 -0
- package/dist/evm/artifacts/DoctorWho_Adapter.sol/DoctorWho_Adapter.json +1 -0
- package/dist/{abi → evm/artifacts}/DonationBox.sol/DonationBox.json +1 -1
- package/dist/evm/artifacts/DstOFTHandler.sol/DstOFTHandler.json +1 -0
- package/dist/{abi → evm/artifacts}/ECDSA.sol/ECDSA.json +1 -1
- package/dist/{abi → evm/artifacts}/EIP712.sol/EIP712.json +1 -1
- package/dist/{abi → evm/artifacts}/EIP712CrossChainUpgradeable.sol/EIP712CrossChainUpgradeable.json +1 -1
- package/dist/evm/artifacts/ERC1155.sol/ERC1155.json +1 -0
- package/dist/{abi → evm/artifacts}/ERC165.sol/ERC165.json +1 -1
- package/dist/{abi → evm/artifacts}/ERC165Upgradeable.sol/ERC165Upgradeable.json +1 -1
- package/dist/evm/artifacts/ERC1967Proxy.sol/ERC1967Proxy.json +1 -0
- package/dist/{abi → evm/artifacts}/ERC1967Upgrade.sol/ERC1967Upgrade.json +1 -1
- package/dist/{abi → evm/artifacts}/ERC1967UpgradeUpgradeable.sol/ERC1967UpgradeUpgradeable.json +1 -1
- package/dist/{abi → evm/artifacts}/ERC1967Utils.sol/ERC1967Utils.json +1 -1
- package/dist/evm/artifacts/ERC20.sol/ERC20.json +1 -0
- package/dist/{abi → evm/artifacts}/ERC20Permit.sol/ERC20Permit.json +1 -1
- package/dist/{abi → evm/artifacts}/ERC7683.sol/IDestinationSettler.json +1 -1
- package/dist/{abi → evm/artifacts}/Errors.sol/Errors.json +1 -1
- package/dist/evm/artifacts/Ethereum_Adapter.sol/Ethereum_Adapter.json +1 -0
- package/dist/evm/artifacts/Ethereum_RescueAdapter.sol/Ethereum_RescueAdapter.json +1 -0
- package/dist/{abi → evm/artifacts}/Ethereum_SpokePool.sol/Ethereum_SpokePool.json +1 -1
- package/dist/evm/artifacts/ExpandedERC20.sol/ExpandedERC20.json +1 -0
- package/dist/evm/artifacts/ExpandedERC20WithBlacklist.sol/ExpandedERC20WithBlacklist.json +1 -0
- package/dist/{abi → evm/artifacts}/ExpandedIERC20.sol/ExpandedIERC20.json +1 -1
- package/dist/{abi → evm/artifacts}/FinderInterface.sol/FinderInterface.json +1 -1
- package/dist/{abi → evm/artifacts}/ForwarderBase.sol/ForwarderBase.json +1 -1
- package/dist/{abi → evm/artifacts}/ForwarderInterface.sol/ForwarderInterface.json +1 -1
- package/dist/{abi → evm/artifacts}/HLConstants.sol/HLConstants.json +1 -1
- package/dist/evm/artifacts/HLConversions.sol/HLConversions.json +1 -0
- package/dist/evm/artifacts/HubPool.sol/HubPool.json +1 -0
- package/dist/{abi → evm/artifacts}/HubPoolInterface.sol/HubPoolInterface.json +1 -1
- package/dist/evm/artifacts/HubPoolStore.sol/HubPoolStore.json +1 -0
- package/dist/{abi → evm/artifacts}/HubPoolStore.sol/IHubPool.json +1 -1
- package/dist/{abi → evm/artifacts}/HubPoolTestBase.sol/HubPoolTestBase.json +1 -1
- package/dist/evm/artifacts/HubPoolTestBase.sol/MockAddressWhitelist.json +1 -0
- package/dist/evm/artifacts/HubPoolTestBase.sol/MockFinder.json +1 -0
- package/dist/{abi → evm/artifacts}/HubPoolTestBase.sol/MockIdentifierWhitelist.json +1 -1
- package/dist/evm/artifacts/HubPoolTestBase.sol/MockLpTokenFactory.json +1 -0
- package/dist/{abi → evm/artifacts}/HubPoolTestBase.sol/MockOptimisticOracle.json +1 -1
- package/dist/{abi → evm/artifacts}/HubPoolTestBase.sol/MockStore.json +1 -1
- package/dist/evm/artifacts/HyperCore.sol/HyperCore.json +1 -0
- package/dist/evm/artifacts/HyperCoreFlowExecutor.sol/HyperCoreFlowExecutor.json +1 -0
- package/dist/{abi → evm/artifacts}/HyperCoreFlowRoles.sol/HyperCoreFlowRoles.json +1 -1
- package/dist/{abi → evm/artifacts}/HyperCoreLib.sol/HyperCoreLib.json +1 -1
- package/dist/{abi → evm/artifacts}/HyperCoreLib.sol/ICoreWriter.json +1 -1
- package/dist/evm/artifacts/HyperCoreMockHelper.sol/HyperCoreMockHelper.json +1 -0
- package/dist/evm/artifacts/HyperliquidDepositHandler.sol/HyperliquidDepositHandler.json +1 -0
- package/dist/{abi → evm/artifacts}/IAccessControl.sol/IAccessControl.json +1 -1
- package/dist/{abi → evm/artifacts}/IAccessControlEnumerable.sol/IAccessControlEnumerable.json +1 -1
- package/dist/{abi → evm/artifacts}/IBeacon.sol/IBeacon.json +1 -1
- package/dist/{abi → evm/artifacts}/IBeaconUpgradeable.sol/IBeaconUpgradeable.json +1 -1
- package/dist/{abi → evm/artifacts}/ICoreDepositWallet.sol/ICoreDepositWallet.json +1 -1
- package/dist/{abi → evm/artifacts}/ICoreDepositWallet.sol/IForwardDepositReceiver.json +1 -1
- package/dist/{abi → evm/artifacts}/ICoreWriter.sol/ICoreWriter.json +1 -1
- package/dist/{abi → evm/artifacts}/ICounterfactualDeposit.sol/ICounterfactualDeposit.json +1 -1
- package/dist/{abi → evm/artifacts}/ICounterfactualDepositFactory.sol/ICounterfactualDepositFactory.json +1 -1
- package/dist/{abi → evm/artifacts}/ICounterfactualImplementation.sol/ICounterfactualImplementation.json +1 -1
- package/dist/{abi → evm/artifacts}/ICrossDomainMessenger.sol/ICrossDomainMessenger.json +1 -1
- package/dist/{abi → evm/artifacts}/ICrossDomainMessengerUpgradeable.sol/ICrossDomainMessengerUpgradeable.json +1 -1
- package/dist/{abi → evm/artifacts}/IERC1155.sol/IERC1155.json +1 -1
- package/dist/{abi → evm/artifacts}/IERC1155MetadataURI.sol/IERC1155MetadataURI.json +1 -1
- package/dist/{abi → evm/artifacts}/IERC1155Receiver.sol/IERC1155Receiver.json +1 -1
- package/dist/{abi → evm/artifacts}/IERC1271.sol/IERC1271.json +1 -1
- package/dist/{abi → evm/artifacts}/IERC1363.sol/IERC1363.json +1 -1
- package/dist/{abi → evm/artifacts}/IERC165.sol/IERC165.json +1 -1
- package/dist/{abi → evm/artifacts}/IERC1967.sol/IERC1967.json +1 -1
- package/dist/{abi → evm/artifacts}/IERC1967Upgradeable.sol/IERC1967Upgradeable.json +1 -1
- package/dist/{abi → evm/artifacts}/IERC20.sol/IERC20.json +1 -1
- package/dist/{abi → evm/artifacts}/IERC20Auth.sol/IERC20Auth.json +1 -1
- package/dist/{abi → evm/artifacts}/IERC20Metadata.sol/IERC20Metadata.json +1 -1
- package/dist/{abi → evm/artifacts}/IERC20Permit.sol/IERC20Permit.json +1 -1
- package/dist/{abi → evm/artifacts}/IERC20PermitUpgradeable.sol/IERC20PermitUpgradeable.json +1 -1
- package/dist/{abi → evm/artifacts}/IERC20Upgradeable.sol/IERC20Upgradeable.json +1 -1
- package/dist/{abi → evm/artifacts}/IERC5267.sol/IERC5267.json +1 -1
- package/dist/{abi → evm/artifacts}/IHelios.sol/IHelios.json +1 -1
- package/dist/{abi → evm/artifacts}/IHypXERC20Router.sol/IHypXERC20Router.json +1 -1
- package/dist/{abi → evm/artifacts}/IHyperCoreFlowExecutor.sol/IHyperCoreFlowExecutor.json +1 -1
- package/dist/{abi → evm/artifacts}/IL1ERC20Bridge.sol/IL1ERC20Bridge.json +1 -1
- package/dist/{abi → evm/artifacts}/IL1ERC20Gateway.sol/IL1ERC20Gateway.json +1 -1
- package/dist/{abi → evm/artifacts}/IL1ETHGateway.sol/IL1ETHGateway.json +1 -1
- package/dist/{abi → evm/artifacts}/IL1GatewayRouter.sol/IL1GatewayRouter.json +1 -1
- package/dist/{abi → evm/artifacts}/IL1ScrollMessenger.sol/IL1ScrollMessenger.json +1 -1
- package/dist/{abi → evm/artifacts}/IL1StandardBridge.sol/IL1StandardBridge.json +1 -1
- package/dist/{abi → evm/artifacts}/IL2ERC20Gateway.sol/IL2ERC20Gateway.json +1 -1
- package/dist/{abi → evm/artifacts}/IL2ETHGateway.sol/IL2ETHGateway.json +1 -1
- package/dist/{abi → evm/artifacts}/IL2GasPriceOracle.sol/IL2GasPriceOracle.json +1 -1
- package/dist/{abi → evm/artifacts}/IL2GatewayRouter.sol/IL2GatewayRouter.json +1 -1
- package/dist/{abi → evm/artifacts}/ILayerZeroComposer.sol/ILayerZeroComposer.json +1 -1
- package/dist/{abi → evm/artifacts}/IMulticall3.sol/IMulticall3.json +1 -1
- package/dist/{abi → evm/artifacts}/IOFT.sol/IEndpoint.json +1 -1
- package/dist/{abi → evm/artifacts}/IOFT.sol/IOAppCore.json +1 -1
- package/dist/{abi → evm/artifacts}/IOFT.sol/IOFT.json +1 -1
- package/dist/{abi → evm/artifacts}/IOpUSDCBridgeAdapter.sol/IOpUSDCBridgeAdapter.json +1 -1
- package/dist/{abi → evm/artifacts}/IPermit2.sol/IPermit2.json +1 -1
- package/dist/{abi → evm/artifacts}/IPolygonZkEVMBridge.sol/IPolygonZkEVMBridge.json +1 -1
- package/dist/{abi → evm/artifacts}/IProxyAdmin.sol/IProxyAdmin.json +1 -1
- package/dist/{abi → evm/artifacts}/ISP1Verifier.sol/ISP1Verifier.json +1 -1
- package/dist/{abi → evm/artifacts}/ISP1Verifier.sol/ISP1VerifierWithHash.json +1 -1
- package/dist/{abi → evm/artifacts}/IScrollMessenger.sol/IScrollMessenger.json +1 -1
- package/dist/{abi → evm/artifacts}/ISpokePool.sol/ISpokePool.json +1 -1
- package/dist/{abi → evm/artifacts}/ITokenRegistry.sol/ITokenRegistry.json +1 -1
- package/dist/{abi → evm/artifacts}/IUpgradeableBeacon.sol/IUpgradeableBeacon.json +1 -1
- package/dist/{abi → evm/artifacts}/IUpgradeableProxy.sol/IUpgradeableProxy.json +1 -1
- package/dist/{abi → evm/artifacts}/IdentifierWhitelistInterface.sol/IdentifierWhitelistInterface.json +1 -1
- package/dist/{abi → evm/artifacts}/Initializable.sol/Initializable.json +1 -1
- package/dist/evm/artifacts/Ink_SpokePool.sol/Ink_SpokePool.json +1 -0
- package/dist/evm/artifacts/Lens_SpokePool.sol/Lens_SpokePool.json +1 -0
- package/dist/evm/artifacts/LibVariable.sol/LibVariable.json +1 -0
- package/dist/{abi → evm/artifacts}/LineaInterfaces.sol/IMessageService.json +1 -1
- package/dist/{abi → evm/artifacts}/LineaInterfaces.sol/ITokenBridge.json +1 -1
- package/dist/{abi → evm/artifacts}/LineaInterfaces.sol/IUSDCBridge.json +1 -1
- package/dist/evm/artifacts/LineaMocks.sol/MockL2MessageService.json +1 -0
- package/dist/evm/artifacts/LineaMocks.sol/MockL2TokenBridge.json +1 -0
- package/dist/evm/artifacts/Linea_Adapter.sol/Linea_Adapter.json +1 -0
- package/dist/evm/artifacts/Linea_SpokePool.sol/Linea_SpokePool.json +1 -0
- package/dist/evm/artifacts/Lisk_Adapter.sol/Lisk_Adapter.json +1 -0
- package/dist/evm/artifacts/Lisk_SpokePool.sol/Lisk_SpokePool.json +1 -0
- package/dist/evm/artifacts/Lockable.sol/Lockable.json +1 -0
- package/dist/evm/artifacts/LpTokenFactory.sol/LpTokenFactory.json +1 -0
- package/dist/{abi → evm/artifacts}/LpTokenFactoryInterface.sol/LpTokenFactoryInterface.json +1 -1
- package/dist/evm/artifacts/Merkle.sol/Merkle.json +1 -0
- package/dist/evm/artifacts/MerkleDistributor.sol/MerkleDistributor.json +1 -0
- package/dist/{abi → evm/artifacts}/MerkleDistributorInterface.sol/MerkleDistributorInterface.json +1 -1
- package/dist/evm/artifacts/MerkleLibTest.sol/MerkleLibTest.json +1 -0
- package/dist/evm/artifacts/MerkleProof.sol/MerkleProof.json +1 -0
- package/dist/{abi → evm/artifacts}/MinimalLZOptions.sol/MinimalLZOptions.json +1 -1
- package/dist/evm/artifacts/MintableERC1155.sol/MintableERC1155.json +1 -0
- package/dist/evm/artifacts/MockBedrockStandardBridge.sol/MockBedrockCrossDomainMessenger.json +1 -0
- package/dist/evm/artifacts/MockBedrockStandardBridge.sol/MockBedrockL1StandardBridge.json +1 -0
- package/dist/evm/artifacts/MockBedrockStandardBridge.sol/MockBedrockL2StandardBridge.json +1 -0
- package/dist/evm/artifacts/MockBlastUsdYieldManager.sol/MockBlastUsdYieldManager.json +1 -0
- package/dist/evm/artifacts/MockCCTP.sol/MockCCTPMessageTransmitter.json +1 -0
- package/dist/evm/artifacts/MockCCTP.sol/MockCCTPMessenger.json +1 -0
- package/dist/evm/artifacts/MockCCTP.sol/MockCCTPMessengerV2.json +1 -0
- package/dist/evm/artifacts/MockCCTP.sol/MockCCTPMinter.json +1 -0
- package/dist/evm/artifacts/MockCaller.sol/MockCaller.json +1 -0
- package/dist/evm/artifacts/MockERC1271.sol/MockERC1271.json +1 -0
- package/dist/evm/artifacts/MockERC20.sol/MintableERC20.json +1 -0
- package/dist/evm/artifacts/MockERC20.sol/MockERC20.json +1 -0
- package/dist/evm/artifacts/MockEndpoint.sol/MockEndpoint.json +1 -0
- package/dist/evm/artifacts/MockHubPool.sol/MockHubPool.json +1 -0
- package/dist/evm/artifacts/MockOFTMessenger.sol/MockOFTMessenger.json +1 -0
- package/dist/evm/artifacts/MockOptimism_SpokePool.sol/MockOptimism_SpokePool.json +1 -0
- package/dist/evm/artifacts/MockPermit2.sol/MockPermit2.json +1 -0
- package/dist/evm/artifacts/MockPermit2.sol/Permit2EIP712.json +1 -0
- package/dist/evm/artifacts/MockPermit2.sol/SignatureVerification.json +1 -0
- package/dist/evm/artifacts/MockSpokePool.sol/MockSpokePool.json +1 -0
- package/dist/evm/artifacts/MockSpokePoolV2.sol/MockSpokePoolV2.json +1 -0
- package/dist/evm/artifacts/MockZkStackBridgeHub.sol/MockBridgeHub.json +1 -0
- package/dist/evm/artifacts/Mock_Adapter.sol/Mock_Adapter.json +1 -0
- package/dist/evm/artifacts/Mock_Adapter.sol/Mock_Bridge.json +1 -0
- package/dist/evm/artifacts/Mode_Adapter.sol/Mode_Adapter.json +1 -0
- package/dist/evm/artifacts/MultiCaller.sol/MultiCaller.json +1 -0
- package/dist/evm/artifacts/MultiCallerUpgradeable.sol/MultiCallerUpgradeable.json +1 -0
- package/dist/{abi → evm/artifacts}/MultiRole.sol/MultiRole.json +1 -1
- package/dist/{abi → evm/artifacts}/Multicall3.sol/Multicall3.json +1 -1
- package/dist/evm/artifacts/MulticallHandler.sol/MulticallHandler.json +1 -0
- package/dist/{abi → evm/artifacts}/MurkyBase.sol/MurkyBase.json +1 -1
- package/dist/{abi → evm/artifacts}/OFTCoreMath.sol/OFTCoreMath.json +1 -1
- package/dist/evm/artifacts/OFTTransportAdapter.sol/OFTTransportAdapter.json +1 -0
- package/dist/evm/artifacts/OFTTransportAdapterWithStore.sol/OFTTransportAdapterWithStore.json +1 -0
- package/dist/evm/artifacts/OP_Adapter.sol/OP_Adapter.json +1 -0
- package/dist/evm/artifacts/OP_SpokePool.sol/OP_SpokePool.json +1 -0
- package/dist/evm/artifacts/Optimism_Adapter.sol/Optimism_Adapter.json +1 -0
- package/dist/{abi → evm/artifacts}/Optimism_Adapter.sol/SynthetixBridgeToOptimism.json +1 -1
- package/dist/evm/artifacts/Optimism_SpokePool.sol/Optimism_SpokePool.json +1 -0
- package/dist/{abi → evm/artifacts}/Optimism_SpokePool.sol/SynthetixBridgeToBase.json +1 -1
- package/dist/{abi → evm/artifacts}/OptimisticOracleInterface.sol/OptimisticOracleInterface.json +1 -1
- package/dist/evm/artifacts/Ovm_Forwarder.sol/Ovm_Forwarder.json +1 -0
- package/dist/{abi → evm/artifacts}/Ovm_SpokePool.sol/IL2ERC20Bridge.json +1 -1
- package/dist/evm/artifacts/Ovm_SpokePool.sol/Ovm_SpokePool.json +1 -0
- package/dist/{abi → evm/artifacts}/Ovm_WithdrawalHelper.sol/IOvm_SpokePool.json +1 -1
- package/dist/evm/artifacts/Ovm_WithdrawalHelper.sol/Ovm_WithdrawalHelper.json +1 -0
- package/dist/{abi → evm/artifacts}/Ownable.sol/Ownable.json +1 -1
- package/dist/{abi → evm/artifacts}/OwnableUpgradeable.sol/OwnableUpgradeable.json +1 -1
- package/dist/evm/artifacts/PeripherySigningLib.sol/PeripherySigningLib.json +1 -0
- package/dist/evm/artifacts/PermissionSplitterProxy.sol/PermissionSplitterProxy.json +1 -0
- package/dist/evm/artifacts/PermissionedMulticallHandler.sol/PermissionedMulticallHandler.json +1 -0
- package/dist/evm/artifacts/PolygonERC20Test.sol/PolygonERC20Test.json +1 -0
- package/dist/evm/artifacts/PolygonMocks.sol/DepositManagerMock.json +1 -0
- package/dist/evm/artifacts/PolygonMocks.sol/FxStateSenderMock.json +1 -0
- package/dist/evm/artifacts/PolygonMocks.sol/PolygonERC20Mock.json +1 -0
- package/dist/evm/artifacts/PolygonMocks.sol/PolygonERC20PredicateMock.json +1 -0
- package/dist/evm/artifacts/PolygonMocks.sol/PolygonRegistryMock.json +1 -0
- package/dist/evm/artifacts/PolygonMocks.sol/RootChainManagerMock.json +1 -0
- package/dist/{abi → evm/artifacts}/PolygonTokenBridger.sol/MaticToken.json +1 -1
- package/dist/{abi → evm/artifacts}/PolygonTokenBridger.sol/PolygonERC20Predicate.json +1 -1
- package/dist/{abi → evm/artifacts}/PolygonTokenBridger.sol/PolygonIERC20Upgradeable.json +1 -1
- package/dist/{abi → evm/artifacts}/PolygonTokenBridger.sol/PolygonRegistry.json +1 -1
- package/dist/evm/artifacts/PolygonTokenBridger.sol/PolygonTokenBridger.json +1 -0
- package/dist/evm/artifacts/PolygonZkEVMMocks.sol/MockPolygonZkEVMBridge.json +1 -0
- package/dist/evm/artifacts/PolygonZkEVM_Adapter.sol/PolygonZkEVM_Adapter.json +1 -0
- package/dist/{abi → evm/artifacts}/PolygonZkEVM_SpokePool.sol/IBridgeMessageReceiver.json +1 -1
- package/dist/{abi → evm/artifacts}/PolygonZkEVM_SpokePool.sol/PolygonZkEVM_SpokePool.json +1 -1
- package/dist/{abi → evm/artifacts}/Polygon_Adapter.sol/DepositManager.json +1 -1
- package/dist/{abi → evm/artifacts}/Polygon_Adapter.sol/IFxStateSender.json +1 -1
- package/dist/{abi → evm/artifacts}/Polygon_Adapter.sol/IRootChainManager.json +1 -1
- package/dist/evm/artifacts/Polygon_Adapter.sol/Polygon_Adapter.json +1 -0
- package/dist/{abi → evm/artifacts}/Polygon_SpokePool.sol/IFxMessageProcessor.json +1 -1
- package/dist/evm/artifacts/Polygon_SpokePool.sol/Polygon_SpokePool.json +1 -0
- package/dist/{abi → evm/artifacts}/PrecompileLib.sol/PrecompileLib.json +1 -1
- package/dist/evm/artifacts/PrecompileSim.sol/PrecompileSim.json +1 -0
- package/dist/evm/artifacts/Proxy.sol/Proxy.json +1 -0
- package/dist/evm/artifacts/ProxyAdmin.sol/ProxyAdmin.json +1 -0
- package/dist/{abi → evm/artifacts}/ReentrancyGuard.sol/ReentrancyGuard.json +1 -1
- package/dist/{abi → evm/artifacts}/ReentrancyGuardUpgradeable.sol/ReentrancyGuardUpgradeable.json +1 -1
- package/dist/evm/artifacts/Router_Adapter.sol/Router_Adapter.json +1 -0
- package/dist/evm/artifacts/SP1AutoVerifier.sol/SP1AutoVerifier.json +1 -0
- package/dist/evm/artifacts/SP1Helios.sol/SP1Helios.json +1 -0
- package/dist/evm/artifacts/SP1MockVerifier.sol/SP1MockVerifier.json +1 -0
- package/dist/{abi → evm/artifacts}/SafeCast.sol/SafeCast.json +1 -1
- package/dist/{abi → evm/artifacts}/SafeERC20.sol/SafeERC20.json +1 -1
- package/dist/evm/artifacts/ScrollMocks.sol/MockScrollL2GatewayRouter.json +1 -0
- package/dist/evm/artifacts/ScrollMocks.sol/MockScrollMessenger.json +1 -0
- package/dist/evm/artifacts/Scroll_Adapter.sol/Scroll_Adapter.json +1 -0
- package/dist/{abi → evm/artifacts}/Scroll_SpokePool.sol/IL2GatewayRouterExtended.json +1 -1
- package/dist/{abi → evm/artifacts}/Scroll_SpokePool.sol/Scroll_SpokePool.json +1 -1
- package/dist/evm/artifacts/ShortStrings.sol/ShortStrings.json +1 -0
- package/dist/{abi → evm/artifacts}/SkinnyOptimisticOracleInterface.sol/SkinnyOptimisticOracleInterface.json +1 -1
- package/dist/evm/artifacts/Solana_Adapter.sol/Solana_Adapter.json +1 -0
- package/dist/{abi → evm/artifacts}/SpokePool.sol/SpokePool.json +1 -1
- package/dist/{abi → evm/artifacts}/SpokePoolInterface.sol/SpokePoolInterface.json +1 -1
- package/dist/{abi → evm/artifacts}/SpokePoolMessageHandler.sol/AcrossMessageHandler.json +1 -1
- package/dist/evm/artifacts/SpokePoolPeriphery.sol/SpokePoolPeriphery.json +1 -0
- package/dist/evm/artifacts/SpokePoolPeriphery.sol/SwapProxy.json +1 -0
- package/dist/{abi → evm/artifacts}/SpokePoolPeripheryInterface.sol/SpokePoolPeripheryInterface.json +1 -1
- package/dist/evm/artifacts/SpokePoolVerifier.sol/SpokePoolVerifier.json +1 -0
- package/dist/evm/artifacts/SponsoredCCTPDstPeriphery.sol/SponsoredCCTPDstPeriphery.json +1 -0
- package/dist/{abi → evm/artifacts}/SponsoredCCTPInterface.sol/SponsoredCCTPInterface.json +1 -1
- package/dist/evm/artifacts/SponsoredCCTPSrcPeriphery.sol/SponsoredCCTPSrcPeriphery.json +1 -0
- package/dist/{abi → evm/artifacts}/SponsoredOFTInterface.sol/SponsoredOFTInterface.json +1 -1
- package/dist/evm/artifacts/SponsoredOFTSrcPeriphery.sol/SponsoredOFTSrcPeriphery.json +1 -0
- package/dist/evm/artifacts/StdConfig.sol/StdConfig.json +1 -0
- package/dist/{abi → evm/artifacts}/StoreInterface.sol/StoreInterface.json +1 -1
- package/dist/{abi → evm/artifacts}/Strings.sol/Strings.json +1 -1
- package/dist/evm/artifacts/SwapHandler.sol/SwapHandler.json +1 -0
- package/dist/{abi → evm/artifacts}/Testable.sol/Testable.json +1 -1
- package/dist/evm/artifacts/Timer.sol/Timer.json +1 -0
- package/dist/evm/artifacts/TransferProxy.sol/TransferProxy.json +1 -0
- package/dist/{abi → evm/artifacts}/TransparentUpgradeableProxy.sol/ITransparentUpgradeableProxy.json +1 -1
- package/dist/evm/artifacts/TransparentUpgradeableProxy.sol/TransparentUpgradeableProxy.json +1 -0
- package/dist/{abi → evm/artifacts}/UUPSUpgradeable.sol/UUPSUpgradeable.json +1 -1
- package/dist/{abi → evm/artifacts}/Universal_Adapter.sol/IOwnable.json +1 -1
- package/dist/evm/artifacts/Universal_Adapter.sol/Universal_Adapter.json +1 -0
- package/dist/evm/artifacts/Universal_SpokePool.sol/Universal_SpokePool.json +1 -0
- package/dist/evm/artifacts/UpgradeableBeacon.sol/UpgradeableBeacon.json +1 -0
- package/dist/{abi → evm/artifacts}/V3SpokePoolInterface.sol/V3SpokePoolInterface.json +1 -1
- package/dist/evm/artifacts/WETH9.sol/WETH9.json +1 -0
- package/dist/{abi → evm/artifacts}/WETH9Interface.sol/WETH9Interface.json +1 -1
- package/dist/evm/artifacts/WithdrawImplementation.sol/WithdrawImplementation.json +1 -0
- package/dist/{abi → evm/artifacts}/WithdrawalHelperBase.sol/WithdrawalHelperBase.json +1 -1
- package/dist/evm/artifacts/WorldChain_SpokePool.sol/WorldChain_SpokePool.json +1 -0
- package/dist/{abi → evm/artifacts}/ZkStackBridgeHub.sol/BridgeHubInterface.json +1 -1
- package/dist/evm/artifacts/ZkStack_Adapter.sol/ZkStack_Adapter.json +1 -0
- package/dist/{abi → evm/artifacts}/ZkStack_CustomGasToken_Adapter.sol/FunderInterface.json +1 -1
- package/dist/evm/artifacts/ZkStack_CustomGasToken_Adapter.sol/ZkStack_CustomGasToken_Adapter.json +1 -0
- package/dist/evm/artifacts/ZkSyncMocks.sol/MockL2Eth.json +1 -0
- package/dist/evm/artifacts/ZkSyncMocks.sol/MockZkBridge.json +1 -0
- package/dist/{abi → evm/artifacts}/ZkSync_SpokePool.sol/IL2AssetRouter.json +1 -1
- package/dist/{abi → evm/artifacts}/ZkSync_SpokePool.sol/IL2ETH.json +1 -1
- package/dist/{abi → evm/artifacts}/ZkSync_SpokePool.sol/ZkBridgeLike.json +1 -1
- package/dist/evm/artifacts/ZkSync_SpokePool.sol/ZkSync_SpokePool.json +1 -0
- package/dist/evm/artifacts/Zora_Adapter.sol/Zora_Adapter.json +1 -0
- package/dist/{abi → evm/artifacts}/draft-IERC1822.sol/IERC1822Proxiable.json +1 -1
- package/dist/{abi → evm/artifacts}/draft-IERC1822Upgradeable.sol/IERC1822ProxiableUpgradeable.json +1 -1
- package/dist/evm/artifacts/eraVM_EIP7702.sol/SimpleContract.json +1 -0
- package/dist/evm/artifacts/eraVM_EIP7702.sol/SpokePoolEIP7702Test.json +1 -0
- package/dist/evm/artifacts/eraVM_EIP7702.sol/TestableMockSpokePool.json +1 -0
- package/package.json +3 -3
- package/dist/abi/AcrossConfigStore.sol/AcrossConfigStore.json +0 -1
- package/dist/abi/AcrossEventEmitter.sol/AcrossEventEmitter.json +0 -1
- package/dist/abi/AcrossMerkleDistributor.sol/AcrossMerkleDistributor.json +0 -1
- package/dist/abi/AdapterStore.sol/AdapterStore.json +0 -1
- package/dist/abi/AdapterStore.sol/MessengerTypes.json +0 -1
- package/dist/abi/Address.sol/Address.json +0 -1
- package/dist/abi/AddressConverters.sol/Bytes32ToAddress.json +0 -1
- package/dist/abi/AdminRelayTokensAdapter.sol/AdminRelayTokensAdapter.json +0 -1
- package/dist/abi/AdminWithdrawManager.sol/AdminWithdrawManager.json +0 -1
- package/dist/abi/Arbitrum_Adapter.sol/Arbitrum_Adapter.json +0 -1
- package/dist/abi/Arbitrum_CustomGasToken_Adapter.sol/Arbitrum_CustomGasToken_Adapter.json +0 -1
- package/dist/abi/Arbitrum_Forwarder.sol/Arbitrum_Forwarder.json +0 -1
- package/dist/abi/Arbitrum_RescueAdapter.sol/Arbitrum_RescueAdapter.json +0 -1
- package/dist/abi/Arbitrum_SendTokensAdapter.sol/Arbitrum_SendTokensAdapter.json +0 -1
- package/dist/abi/Arbitrum_SpokePool.sol/Arbitrum_SpokePool.json +0 -1
- package/dist/abi/Arbitrum_WithdrawalHelper.sol/Arbitrum_WithdrawalHelper.json +0 -1
- package/dist/abi/Base_Adapter.sol/Base_Adapter.json +0 -1
- package/dist/abi/BeaconProxy.sol/BeaconProxy.json +0 -1
- package/dist/abi/Blast_Adapter.sol/Blast_Adapter.json +0 -1
- package/dist/abi/Blast_DaiRetriever.sol/Blast_DaiRetriever.json +0 -1
- package/dist/abi/Blast_RescueAdapter.sol/Blast_RescueAdapter.json +0 -1
- package/dist/abi/Blast_SpokePool.sol/Blast_SpokePool.json +0 -1
- package/dist/abi/Boba_Adapter.sol/Boba_Adapter.json +0 -1
- package/dist/abi/Boba_SpokePool.sol/Boba_SpokePool.json +0 -1
- package/dist/abi/BondToken.sol/BondToken.json +0 -1
- package/dist/abi/BytesLib.sol/BytesLib.json +0 -1
- package/dist/abi/Cher_SpokePool.sol/Cher_SpokePool.json +0 -1
- package/dist/abi/Clones.sol/Clones.json +0 -1
- package/dist/abi/Constants.sol/Constants.json +0 -1
- package/dist/abi/Constants.sol/OptimisticOracleConstraints.json +0 -1
- package/dist/abi/Constants.sol/OracleInterfaces.json +0 -1
- package/dist/abi/CoreExecution.sol/CoreExecution.json +0 -1
- package/dist/abi/CoreSimulatorLib.sol/HypeSystemContract.json +0 -1
- package/dist/abi/CoreState.sol/CoreState.json +0 -1
- package/dist/abi/CoreView.sol/CoreView.json +0 -1
- package/dist/abi/CoreWriterSim.sol/CoreWriterSim.json +0 -1
- package/dist/abi/CounterfactualDeposit.sol/CounterfactualDeposit.json +0 -1
- package/dist/abi/CounterfactualDepositCCTP.sol/CounterfactualDepositCCTP.json +0 -1
- package/dist/abi/CounterfactualDepositFactory.sol/CounterfactualDepositFactory.json +0 -1
- package/dist/abi/CounterfactualDepositFactoryTron.sol/CounterfactualDepositFactoryTron.json +0 -1
- package/dist/abi/CounterfactualDepositOFT.sol/CounterfactualDepositOFT.json +0 -1
- package/dist/abi/CounterfactualDepositSpokePool.sol/CounterfactualDepositSpokePool.json +0 -1
- package/dist/abi/Create2.sol/Create2.json +0 -1
- package/dist/abi/CrossDomainEnabled.sol/CrossDomainEnabled.json +0 -1
- package/dist/abi/DeployedAddresses.sol/DeployedAddresses.json +0 -1
- package/dist/abi/DeploymentUtils.sol/DeploymentUtils.json +0 -1
- package/dist/abi/DoctorWho_Adapter.sol/DoctorWho_Adapter.json +0 -1
- package/dist/abi/DstOFTHandler.sol/DstOFTHandler.json +0 -1
- package/dist/abi/ERC1155.sol/ERC1155.json +0 -1
- package/dist/abi/ERC1967Proxy.sol/ERC1967Proxy.json +0 -1
- package/dist/abi/ERC20.sol/ERC20.json +0 -1
- package/dist/abi/Ethereum_Adapter.sol/Ethereum_Adapter.json +0 -1
- package/dist/abi/Ethereum_RescueAdapter.sol/Ethereum_RescueAdapter.json +0 -1
- package/dist/abi/ExpandedERC20.sol/ExpandedERC20.json +0 -1
- package/dist/abi/ExpandedERC20WithBlacklist.sol/ExpandedERC20WithBlacklist.json +0 -1
- package/dist/abi/HLConversions.sol/HLConversions.json +0 -1
- package/dist/abi/HubPool.sol/HubPool.json +0 -1
- package/dist/abi/HubPoolStore.sol/HubPoolStore.json +0 -1
- package/dist/abi/HubPoolTestBase.sol/MockAddressWhitelist.json +0 -1
- package/dist/abi/HubPoolTestBase.sol/MockFinder.json +0 -1
- package/dist/abi/HubPoolTestBase.sol/MockLpTokenFactory.json +0 -1
- package/dist/abi/HyperCore.sol/HyperCore.json +0 -1
- package/dist/abi/HyperCoreFlowExecutor.sol/HyperCoreFlowExecutor.json +0 -1
- package/dist/abi/HyperliquidDepositHandler.sol/HyperliquidDepositHandler.json +0 -1
- package/dist/abi/Ink_SpokePool.sol/Ink_SpokePool.json +0 -1
- package/dist/abi/Lens_SpokePool.sol/Lens_SpokePool.json +0 -1
- package/dist/abi/LibVariable.sol/LibVariable.json +0 -1
- package/dist/abi/Linea_Adapter.sol/Linea_Adapter.json +0 -1
- package/dist/abi/Linea_SpokePool.sol/Linea_SpokePool.json +0 -1
- package/dist/abi/Lisk_Adapter.sol/Lisk_Adapter.json +0 -1
- package/dist/abi/Lisk_SpokePool.sol/Lisk_SpokePool.json +0 -1
- package/dist/abi/Lockable.sol/Lockable.json +0 -1
- package/dist/abi/LpTokenFactory.sol/LpTokenFactory.json +0 -1
- package/dist/abi/Merkle.sol/Merkle.json +0 -1
- package/dist/abi/MerkleDistributor.sol/MerkleDistributor.json +0 -1
- package/dist/abi/MerkleLibTest.sol/MerkleLibTest.json +0 -1
- package/dist/abi/MerkleProof.sol/MerkleProof.json +0 -1
- package/dist/abi/MintableERC1155.sol/MintableERC1155.json +0 -1
- package/dist/abi/Mode_Adapter.sol/Mode_Adapter.json +0 -1
- package/dist/abi/MultiCaller.sol/MultiCaller.json +0 -1
- package/dist/abi/MultiCallerUpgradeable.sol/MultiCallerUpgradeable.json +0 -1
- package/dist/abi/MulticallHandler.sol/MulticallHandler.json +0 -1
- package/dist/abi/OFTTransportAdapter.sol/OFTTransportAdapter.json +0 -1
- package/dist/abi/OFTTransportAdapterWithStore.sol/OFTTransportAdapterWithStore.json +0 -1
- package/dist/abi/OP_Adapter.sol/OP_Adapter.json +0 -1
- package/dist/abi/OP_SpokePool.sol/OP_SpokePool.json +0 -1
- package/dist/abi/Optimism_Adapter.sol/Optimism_Adapter.json +0 -1
- package/dist/abi/Optimism_SpokePool.sol/Optimism_SpokePool.json +0 -1
- package/dist/abi/Ovm_Forwarder.sol/Ovm_Forwarder.json +0 -1
- package/dist/abi/Ovm_SpokePool.sol/Ovm_SpokePool.json +0 -1
- package/dist/abi/Ovm_WithdrawalHelper.sol/Ovm_WithdrawalHelper.json +0 -1
- package/dist/abi/PeripherySigningLib.sol/PeripherySigningLib.json +0 -1
- package/dist/abi/PermissionSplitterProxy.sol/PermissionSplitterProxy.json +0 -1
- package/dist/abi/PermissionedMulticallHandler.sol/PermissionedMulticallHandler.json +0 -1
- package/dist/abi/PolygonERC20Test.sol/PolygonERC20Test.json +0 -1
- package/dist/abi/PolygonTokenBridger.sol/PolygonTokenBridger.json +0 -1
- package/dist/abi/PolygonZkEVM_Adapter.sol/PolygonZkEVM_Adapter.json +0 -1
- package/dist/abi/Polygon_Adapter.sol/Polygon_Adapter.json +0 -1
- package/dist/abi/Polygon_SpokePool.sol/Polygon_SpokePool.json +0 -1
- package/dist/abi/PrecompileSim.sol/PrecompileSim.json +0 -1
- package/dist/abi/Proxy.sol/Proxy.json +0 -1
- package/dist/abi/ProxyAdmin.sol/ProxyAdmin.json +0 -1
- package/dist/abi/Router_Adapter.sol/Router_Adapter.json +0 -1
- package/dist/abi/SP1AutoVerifier.sol/SP1AutoVerifier.json +0 -1
- package/dist/abi/SP1Helios.sol/SP1Helios.json +0 -1
- package/dist/abi/Scroll_Adapter.sol/Scroll_Adapter.json +0 -1
- package/dist/abi/ShortStrings.sol/ShortStrings.json +0 -1
- package/dist/abi/Solana_Adapter.sol/Solana_Adapter.json +0 -1
- package/dist/abi/SpokePoolPeriphery.sol/SpokePoolPeriphery.json +0 -1
- package/dist/abi/SpokePoolPeriphery.sol/SwapProxy.json +0 -1
- package/dist/abi/SpokePoolVerifier.sol/SpokePoolVerifier.json +0 -1
- package/dist/abi/SponsoredCCTPDstPeriphery.sol/SponsoredCCTPDstPeriphery.json +0 -1
- package/dist/abi/SponsoredCCTPSrcPeriphery.sol/SponsoredCCTPSrcPeriphery.json +0 -1
- package/dist/abi/SponsoredOFTSrcPeriphery.sol/SponsoredOFTSrcPeriphery.json +0 -1
- package/dist/abi/StdConfig.sol/StdConfig.json +0 -1
- package/dist/abi/SwapHandler.sol/SwapHandler.json +0 -1
- package/dist/abi/Timer.sol/Timer.json +0 -1
- package/dist/abi/TransferProxy.sol/TransferProxy.json +0 -1
- package/dist/abi/TransparentUpgradeableProxy.sol/TransparentUpgradeableProxy.json +0 -1
- package/dist/abi/Universal_Adapter.sol/Universal_Adapter.json +0 -1
- package/dist/abi/Universal_SpokePool.sol/Universal_SpokePool.json +0 -1
- package/dist/abi/UpgradeableBeacon.sol/UpgradeableBeacon.json +0 -1
- package/dist/abi/WETH9.sol/WETH9.json +0 -1
- package/dist/abi/WithdrawImplementation.sol/WithdrawImplementation.json +0 -1
- package/dist/abi/WorldChain_SpokePool.sol/WorldChain_SpokePool.json +0 -1
- package/dist/abi/ZkStack_Adapter.sol/ZkStack_Adapter.json +0 -1
- package/dist/abi/ZkStack_CustomGasToken_Adapter.sol/ZkStack_CustomGasToken_Adapter.json +0 -1
- package/dist/abi/ZkSync_SpokePool.sol/ZkSync_SpokePool.json +0 -1
- package/dist/abi/Zora_Adapter.sol/Zora_Adapter.json +0 -1
- package/dist/abi/eraVM_EIP7702.sol/SimpleContract.json +0 -1
- package/dist/abi/eraVM_EIP7702.sol/SpokePoolEIP7702Test.json +0 -1
- package/dist/abi/eraVM_EIP7702.sol/TestableMockSpokePool.json +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"abi":[{"type":"constructor","inputs":[{"name":"_wrappedNativeTokenAddress","type":"address","internalType":"address"},{"name":"_circleUSDC","type":"address","internalType":"contract IERC20"},{"name":"_zkUSDCBridge","type":"address","internalType":"contract ZkBridgeLike"},{"name":"_l1ChainId","type":"uint256","internalType":"uint256"},{"name":"_cctpTokenMessenger","type":"address","internalType":"contract ITokenMessenger"},{"name":"_depositQuoteTimeBuffer","type":"uint32","internalType":"uint32"},{"name":"_fillDeadlineBuffer","type":"uint32","internalType":"uint32"}],"stateMutability":"nonpayable"},{"type":"receive","stateMutability":"payable"},{"type":"function","name":"DEPRECATED_zkErc20Bridge","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"EMPTY_MSG_BYTES","inputs":[],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"EMPTY_RELAYER","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"EMPTY_REPAYMENT_CHAIN_ID","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"INFINITE_FILL_DEADLINE","inputs":[],"outputs":[{"name":"","type":"uint32","internalType":"uint32"}],"stateMutability":"view"},{"type":"function","name":"L2_ASSET_ROUTER_ADDR","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"L2_NATIVE_TOKEN_VAULT_ADDR","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"MAX_EXCLUSIVITY_PERIOD_SECONDS","inputs":[],"outputs":[{"name":"","type":"uint32","internalType":"uint32"}],"stateMutability":"view"},{"type":"function","name":"MAX_TRANSFER_SIZE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"OFT_DST_EID","inputs":[],"outputs":[{"name":"","type":"uint32","internalType":"uint32"}],"stateMutability":"view"},{"type":"function","name":"OFT_FEE_CAP","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"UPDATE_BYTES32_DEPOSIT_DETAILS_HASH","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"__SpokePool_init","inputs":[{"name":"_initialDepositId","type":"uint32","internalType":"uint32"},{"name":"_crossDomainAdmin","type":"address","internalType":"address"},{"name":"_withdrawalRecipient","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"cctpTokenMessenger","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract ITokenMessenger"}],"stateMutability":"view"},{"type":"function","name":"cctpV2","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"chainId","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"claimRelayerRefund","inputs":[{"name":"l2TokenAddress","type":"bytes32","internalType":"bytes32"},{"name":"refundAddress","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"crossDomainAdmin","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"deposit","inputs":[{"name":"depositor","type":"bytes32","internalType":"bytes32"},{"name":"recipient","type":"bytes32","internalType":"bytes32"},{"name":"inputToken","type":"bytes32","internalType":"bytes32"},{"name":"outputToken","type":"bytes32","internalType":"bytes32"},{"name":"inputAmount","type":"uint256","internalType":"uint256"},{"name":"outputAmount","type":"uint256","internalType":"uint256"},{"name":"destinationChainId","type":"uint256","internalType":"uint256"},{"name":"exclusiveRelayer","type":"bytes32","internalType":"bytes32"},{"name":"quoteTimestamp","type":"uint32","internalType":"uint32"},{"name":"fillDeadline","type":"uint32","internalType":"uint32"},{"name":"exclusivityParameter","type":"uint32","internalType":"uint32"},{"name":"message","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"depositDeprecated_5947912356","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"int64","internalType":"int64"},{"name":"","type":"uint32","internalType":"uint32"},{"name":"","type":"bytes","internalType":"bytes"},{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"depositFor","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"address","internalType":"address"},{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"int64","internalType":"int64"},{"name":"","type":"uint32","internalType":"uint32"},{"name":"","type":"bytes","internalType":"bytes"},{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"depositNow","inputs":[{"name":"depositor","type":"bytes32","internalType":"bytes32"},{"name":"recipient","type":"bytes32","internalType":"bytes32"},{"name":"inputToken","type":"bytes32","internalType":"bytes32"},{"name":"outputToken","type":"bytes32","internalType":"bytes32"},{"name":"inputAmount","type":"uint256","internalType":"uint256"},{"name":"outputAmount","type":"uint256","internalType":"uint256"},{"name":"destinationChainId","type":"uint256","internalType":"uint256"},{"name":"exclusiveRelayer","type":"bytes32","internalType":"bytes32"},{"name":"fillDeadlineOffset","type":"uint32","internalType":"uint32"},{"name":"exclusivityParameter","type":"uint32","internalType":"uint32"},{"name":"message","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"depositQuoteTimeBuffer","inputs":[],"outputs":[{"name":"","type":"uint32","internalType":"uint32"}],"stateMutability":"view"},{"type":"function","name":"depositV3","inputs":[{"name":"depositor","type":"address","internalType":"address"},{"name":"recipient","type":"address","internalType":"address"},{"name":"inputToken","type":"address","internalType":"address"},{"name":"outputToken","type":"address","internalType":"address"},{"name":"inputAmount","type":"uint256","internalType":"uint256"},{"name":"outputAmount","type":"uint256","internalType":"uint256"},{"name":"destinationChainId","type":"uint256","internalType":"uint256"},{"name":"exclusiveRelayer","type":"address","internalType":"address"},{"name":"quoteTimestamp","type":"uint32","internalType":"uint32"},{"name":"fillDeadline","type":"uint32","internalType":"uint32"},{"name":"exclusivityParameter","type":"uint32","internalType":"uint32"},{"name":"message","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"depositV3Now","inputs":[{"name":"depositor","type":"address","internalType":"address"},{"name":"recipient","type":"address","internalType":"address"},{"name":"inputToken","type":"address","internalType":"address"},{"name":"outputToken","type":"address","internalType":"address"},{"name":"inputAmount","type":"uint256","internalType":"uint256"},{"name":"outputAmount","type":"uint256","internalType":"uint256"},{"name":"destinationChainId","type":"uint256","internalType":"uint256"},{"name":"exclusiveRelayer","type":"address","internalType":"address"},{"name":"fillDeadlineOffset","type":"uint32","internalType":"uint32"},{"name":"exclusivityParameter","type":"uint32","internalType":"uint32"},{"name":"message","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"emergencyDeleteRootBundle","inputs":[{"name":"rootBundleId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"executeExternalCall","inputs":[{"name":"message","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"returnData","type":"bytes","internalType":"bytes"}],"stateMutability":"nonpayable"},{"type":"function","name":"executeRelayerRefundLeaf","inputs":[{"name":"rootBundleId","type":"uint32","internalType":"uint32"},{"name":"relayerRefundLeaf","type":"tuple","internalType":"struct SpokePoolInterface.RelayerRefundLeaf","components":[{"name":"amountToReturn","type":"uint256","internalType":"uint256"},{"name":"chainId","type":"uint256","internalType":"uint256"},{"name":"refundAmounts","type":"uint256[]","internalType":"uint256[]"},{"name":"leafId","type":"uint32","internalType":"uint32"},{"name":"l2TokenAddress","type":"address","internalType":"address"},{"name":"refundAddresses","type":"address[]","internalType":"address[]"}]},{"name":"proof","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"executeSlowRelayLeaf","inputs":[{"name":"slowFillLeaf","type":"tuple","internalType":"struct V3SpokePoolInterface.V3SlowFill","components":[{"name":"relayData","type":"tuple","internalType":"struct V3SpokePoolInterface.V3RelayData","components":[{"name":"depositor","type":"bytes32","internalType":"bytes32"},{"name":"recipient","type":"bytes32","internalType":"bytes32"},{"name":"exclusiveRelayer","type":"bytes32","internalType":"bytes32"},{"name":"inputToken","type":"bytes32","internalType":"bytes32"},{"name":"outputToken","type":"bytes32","internalType":"bytes32"},{"name":"inputAmount","type":"uint256","internalType":"uint256"},{"name":"outputAmount","type":"uint256","internalType":"uint256"},{"name":"originChainId","type":"uint256","internalType":"uint256"},{"name":"depositId","type":"uint256","internalType":"uint256"},{"name":"fillDeadline","type":"uint32","internalType":"uint32"},{"name":"exclusivityDeadline","type":"uint32","internalType":"uint32"},{"name":"message","type":"bytes","internalType":"bytes"}]},{"name":"chainId","type":"uint256","internalType":"uint256"},{"name":"updatedOutputAmount","type":"uint256","internalType":"uint256"}]},{"name":"rootBundleId","type":"uint32","internalType":"uint32"},{"name":"proof","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"fill","inputs":[{"name":"orderId","type":"bytes32","internalType":"bytes32"},{"name":"originData","type":"bytes","internalType":"bytes"},{"name":"fillerData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"fillDeadlineBuffer","inputs":[],"outputs":[{"name":"","type":"uint32","internalType":"uint32"}],"stateMutability":"view"},{"type":"function","name":"fillRelay","inputs":[{"name":"relayData","type":"tuple","internalType":"struct V3SpokePoolInterface.V3RelayData","components":[{"name":"depositor","type":"bytes32","internalType":"bytes32"},{"name":"recipient","type":"bytes32","internalType":"bytes32"},{"name":"exclusiveRelayer","type":"bytes32","internalType":"bytes32"},{"name":"inputToken","type":"bytes32","internalType":"bytes32"},{"name":"outputToken","type":"bytes32","internalType":"bytes32"},{"name":"inputAmount","type":"uint256","internalType":"uint256"},{"name":"outputAmount","type":"uint256","internalType":"uint256"},{"name":"originChainId","type":"uint256","internalType":"uint256"},{"name":"depositId","type":"uint256","internalType":"uint256"},{"name":"fillDeadline","type":"uint32","internalType":"uint32"},{"name":"exclusivityDeadline","type":"uint32","internalType":"uint32"},{"name":"message","type":"bytes","internalType":"bytes"}]},{"name":"repaymentChainId","type":"uint256","internalType":"uint256"},{"name":"repaymentAddress","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"fillRelayWithUpdatedDeposit","inputs":[{"name":"relayData","type":"tuple","internalType":"struct V3SpokePoolInterface.V3RelayData","components":[{"name":"depositor","type":"bytes32","internalType":"bytes32"},{"name":"recipient","type":"bytes32","internalType":"bytes32"},{"name":"exclusiveRelayer","type":"bytes32","internalType":"bytes32"},{"name":"inputToken","type":"bytes32","internalType":"bytes32"},{"name":"outputToken","type":"bytes32","internalType":"bytes32"},{"name":"inputAmount","type":"uint256","internalType":"uint256"},{"name":"outputAmount","type":"uint256","internalType":"uint256"},{"name":"originChainId","type":"uint256","internalType":"uint256"},{"name":"depositId","type":"uint256","internalType":"uint256"},{"name":"fillDeadline","type":"uint32","internalType":"uint32"},{"name":"exclusivityDeadline","type":"uint32","internalType":"uint32"},{"name":"message","type":"bytes","internalType":"bytes"}]},{"name":"repaymentChainId","type":"uint256","internalType":"uint256"},{"name":"repaymentAddress","type":"bytes32","internalType":"bytes32"},{"name":"updatedOutputAmount","type":"uint256","internalType":"uint256"},{"name":"updatedRecipient","type":"bytes32","internalType":"bytes32"},{"name":"updatedMessage","type":"bytes","internalType":"bytes"},{"name":"depositorSignature","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"fillStatuses","inputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"fillV3Relay","inputs":[{"name":"relayData","type":"tuple","internalType":"struct V3SpokePoolInterface.V3RelayDataLegacy","components":[{"name":"depositor","type":"address","internalType":"address"},{"name":"recipient","type":"address","internalType":"address"},{"name":"exclusiveRelayer","type":"address","internalType":"address"},{"name":"inputToken","type":"address","internalType":"address"},{"name":"outputToken","type":"address","internalType":"address"},{"name":"inputAmount","type":"uint256","internalType":"uint256"},{"name":"outputAmount","type":"uint256","internalType":"uint256"},{"name":"originChainId","type":"uint256","internalType":"uint256"},{"name":"depositId","type":"uint32","internalType":"uint32"},{"name":"fillDeadline","type":"uint32","internalType":"uint32"},{"name":"exclusivityDeadline","type":"uint32","internalType":"uint32"},{"name":"message","type":"bytes","internalType":"bytes"}]},{"name":"repaymentChainId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getCurrentTime","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getRelayerRefund","inputs":[{"name":"l2TokenAddress","type":"address","internalType":"address"},{"name":"refundAddress","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getUnsafeDepositId","inputs":[{"name":"msgSender","type":"address","internalType":"address"},{"name":"depositor","type":"bytes32","internalType":"bytes32"},{"name":"depositNonce","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"getV3RelayHash","inputs":[{"name":"relayData","type":"tuple","internalType":"struct V3SpokePoolInterface.V3RelayData","components":[{"name":"depositor","type":"bytes32","internalType":"bytes32"},{"name":"recipient","type":"bytes32","internalType":"bytes32"},{"name":"exclusiveRelayer","type":"bytes32","internalType":"bytes32"},{"name":"inputToken","type":"bytes32","internalType":"bytes32"},{"name":"outputToken","type":"bytes32","internalType":"bytes32"},{"name":"inputAmount","type":"uint256","internalType":"uint256"},{"name":"outputAmount","type":"uint256","internalType":"uint256"},{"name":"originChainId","type":"uint256","internalType":"uint256"},{"name":"depositId","type":"uint256","internalType":"uint256"},{"name":"fillDeadline","type":"uint32","internalType":"uint32"},{"name":"exclusivityDeadline","type":"uint32","internalType":"uint32"},{"name":"message","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"_initialDepositId","type":"uint32","internalType":"uint32"},{"name":"_crossDomainAdmin","type":"address","internalType":"address"},{"name":"_withdrawalRecipient","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"l1ChainId","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"l2AssetRouter","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IL2AssetRouter"}],"stateMutability":"view"},{"type":"function","name":"l2Eth","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"multicall","inputs":[{"name":"data","type":"bytes[]","internalType":"bytes[]"}],"outputs":[{"name":"results","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"numberOfDeposits","inputs":[],"outputs":[{"name":"","type":"uint32","internalType":"uint32"}],"stateMutability":"view"},{"type":"function","name":"oftMessengers","inputs":[{"name":"l2TokenAddress","type":"address","internalType":"address"}],"outputs":[{"name":"l2OftMessenger","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"pauseDeposits","inputs":[{"name":"pause","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"pauseFills","inputs":[{"name":"pause","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"pausedDeposits","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"pausedFills","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"proxiableUUID","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"recipientCircleDomainId","inputs":[],"outputs":[{"name":"","type":"uint32","internalType":"uint32"}],"stateMutability":"view"},{"type":"function","name":"relayRootBundle","inputs":[{"name":"relayerRefundRoot","type":"bytes32","internalType":"bytes32"},{"name":"slowRelayRoot","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"relayerRefund","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"requestSlowFill","inputs":[{"name":"relayData","type":"tuple","internalType":"struct V3SpokePoolInterface.V3RelayData","components":[{"name":"depositor","type":"bytes32","internalType":"bytes32"},{"name":"recipient","type":"bytes32","internalType":"bytes32"},{"name":"exclusiveRelayer","type":"bytes32","internalType":"bytes32"},{"name":"inputToken","type":"bytes32","internalType":"bytes32"},{"name":"outputToken","type":"bytes32","internalType":"bytes32"},{"name":"inputAmount","type":"uint256","internalType":"uint256"},{"name":"outputAmount","type":"uint256","internalType":"uint256"},{"name":"originChainId","type":"uint256","internalType":"uint256"},{"name":"depositId","type":"uint256","internalType":"uint256"},{"name":"fillDeadline","type":"uint32","internalType":"uint32"},{"name":"exclusivityDeadline","type":"uint32","internalType":"uint32"},{"name":"message","type":"bytes","internalType":"bytes"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"rootBundles","inputs":[{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"slowRelayRoot","type":"bytes32","internalType":"bytes32"},{"name":"relayerRefundRoot","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"setCrossDomainAdmin","inputs":[{"name":"newCrossDomainAdmin","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setOftMessenger","inputs":[{"name":"token","type":"address","internalType":"address"},{"name":"messenger","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setWithdrawalRecipient","inputs":[{"name":"newWithdrawalRecipient","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"speedUpDeposit","inputs":[{"name":"depositor","type":"bytes32","internalType":"bytes32"},{"name":"depositId","type":"uint256","internalType":"uint256"},{"name":"updatedOutputAmount","type":"uint256","internalType":"uint256"},{"name":"updatedRecipient","type":"bytes32","internalType":"bytes32"},{"name":"updatedMessage","type":"bytes","internalType":"bytes"},{"name":"depositorSignature","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"speedUpV3Deposit","inputs":[{"name":"depositor","type":"address","internalType":"address"},{"name":"depositId","type":"uint256","internalType":"uint256"},{"name":"updatedOutputAmount","type":"uint256","internalType":"uint256"},{"name":"updatedRecipient","type":"address","internalType":"address"},{"name":"updatedMessage","type":"bytes","internalType":"bytes"},{"name":"depositorSignature","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"tryMulticall","inputs":[{"name":"data","type":"bytes[]","internalType":"bytes[]"}],"outputs":[{"name":"results","type":"tuple[]","internalType":"struct MultiCallerUpgradeable.Result[]","components":[{"name":"success","type":"bool","internalType":"bool"},{"name":"returnData","type":"bytes","internalType":"bytes"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"unsafeDeposit","inputs":[{"name":"depositor","type":"bytes32","internalType":"bytes32"},{"name":"recipient","type":"bytes32","internalType":"bytes32"},{"name":"inputToken","type":"bytes32","internalType":"bytes32"},{"name":"outputToken","type":"bytes32","internalType":"bytes32"},{"name":"inputAmount","type":"uint256","internalType":"uint256"},{"name":"outputAmount","type":"uint256","internalType":"uint256"},{"name":"destinationChainId","type":"uint256","internalType":"uint256"},{"name":"exclusiveRelayer","type":"bytes32","internalType":"bytes32"},{"name":"depositNonce","type":"uint256","internalType":"uint256"},{"name":"quoteTimestamp","type":"uint32","internalType":"uint32"},{"name":"fillDeadline","type":"uint32","internalType":"uint32"},{"name":"exclusivityParameter","type":"uint32","internalType":"uint32"},{"name":"message","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"upgradeTo","inputs":[{"name":"newImplementation","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeToAndCall","inputs":[{"name":"newImplementation","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"usdcToken","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IERC20"}],"stateMutability":"view"},{"type":"function","name":"withdrawalRecipient","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"wrappedNativeToken","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract WETH9Interface"}],"stateMutability":"view"},{"type":"function","name":"zkUSDCBridge","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract ZkBridgeLike"}],"stateMutability":"view"},{"type":"event","name":"AdminChanged","inputs":[{"name":"previousAdmin","type":"address","indexed":false,"internalType":"address"},{"name":"newAdmin","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"AdminExternalCallExecuted","inputs":[{"name":"target","type":"address","indexed":true,"internalType":"address"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"BeaconUpgraded","inputs":[{"name":"beacon","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ClaimedRelayerRefund","inputs":[{"name":"l2TokenAddress","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"refundAddress","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"caller","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"EmergencyDeletedRootBundle","inputs":[{"name":"rootBundleId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"EnabledDepositRoute","inputs":[{"name":"originToken","type":"address","indexed":true,"internalType":"address"},{"name":"destinationChainId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"enabled","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"ExecutedRelayerRefundRoot","inputs":[{"name":"amountToReturn","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"chainId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"refundAmounts","type":"uint256[]","indexed":false,"internalType":"uint256[]"},{"name":"rootBundleId","type":"uint32","indexed":true,"internalType":"uint32"},{"name":"leafId","type":"uint32","indexed":true,"internalType":"uint32"},{"name":"l2TokenAddress","type":"address","indexed":false,"internalType":"address"},{"name":"refundAddresses","type":"address[]","indexed":false,"internalType":"address[]"},{"name":"deferredRefunds","type":"bool","indexed":false,"internalType":"bool"},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"FilledRelay","inputs":[{"name":"inputToken","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"outputToken","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"inputAmount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"outputAmount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"repaymentChainId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"originChainId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"depositId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"fillDeadline","type":"uint32","indexed":false,"internalType":"uint32"},{"name":"exclusivityDeadline","type":"uint32","indexed":false,"internalType":"uint32"},{"name":"exclusiveRelayer","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"relayer","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"depositor","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"recipient","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"messageHash","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"relayExecutionInfo","type":"tuple","indexed":false,"internalType":"struct V3SpokePoolInterface.V3RelayExecutionEventInfo","components":[{"name":"updatedRecipient","type":"bytes32","internalType":"bytes32"},{"name":"updatedMessageHash","type":"bytes32","internalType":"bytes32"},{"name":"updatedOutputAmount","type":"uint256","internalType":"uint256"},{"name":"fillType","type":"uint8","internalType":"enum V3SpokePoolInterface.FillType"}]}],"anonymous":false},{"type":"event","name":"FilledV3Relay","inputs":[{"name":"inputToken","type":"address","indexed":false,"internalType":"address"},{"name":"outputToken","type":"address","indexed":false,"internalType":"address"},{"name":"inputAmount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"outputAmount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"repaymentChainId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"originChainId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"depositId","type":"uint32","indexed":true,"internalType":"uint32"},{"name":"fillDeadline","type":"uint32","indexed":false,"internalType":"uint32"},{"name":"exclusivityDeadline","type":"uint32","indexed":false,"internalType":"uint32"},{"name":"exclusiveRelayer","type":"address","indexed":false,"internalType":"address"},{"name":"relayer","type":"address","indexed":true,"internalType":"address"},{"name":"depositor","type":"address","indexed":false,"internalType":"address"},{"name":"recipient","type":"address","indexed":false,"internalType":"address"},{"name":"message","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"relayExecutionInfo","type":"tuple","indexed":false,"internalType":"struct V3SpokePoolInterface.LegacyV3RelayExecutionEventInfo","components":[{"name":"updatedRecipient","type":"address","internalType":"address"},{"name":"updatedMessage","type":"bytes","internalType":"bytes"},{"name":"updatedOutputAmount","type":"uint256","internalType":"uint256"},{"name":"fillType","type":"uint8","internalType":"enum V3SpokePoolInterface.FillType"}]}],"anonymous":false},{"type":"event","name":"FundsDeposited","inputs":[{"name":"inputToken","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"outputToken","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"inputAmount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"outputAmount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"destinationChainId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"depositId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"quoteTimestamp","type":"uint32","indexed":false,"internalType":"uint32"},{"name":"fillDeadline","type":"uint32","indexed":false,"internalType":"uint32"},{"name":"exclusivityDeadline","type":"uint32","indexed":false,"internalType":"uint32"},{"name":"depositor","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"recipient","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"exclusiveRelayer","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"message","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"PausedDeposits","inputs":[{"name":"isPaused","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"PausedFills","inputs":[{"name":"isPaused","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"RelayedRootBundle","inputs":[{"name":"rootBundleId","type":"uint32","indexed":true,"internalType":"uint32"},{"name":"relayerRefundRoot","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"slowRelayRoot","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"RequestedSlowFill","inputs":[{"name":"inputToken","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"outputToken","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"inputAmount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"outputAmount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"originChainId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"depositId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"fillDeadline","type":"uint32","indexed":false,"internalType":"uint32"},{"name":"exclusivityDeadline","type":"uint32","indexed":false,"internalType":"uint32"},{"name":"exclusiveRelayer","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"depositor","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"recipient","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"messageHash","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"RequestedSpeedUpDeposit","inputs":[{"name":"updatedOutputAmount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"depositId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"depositor","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"updatedRecipient","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"updatedMessage","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"depositorSignature","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"RequestedSpeedUpV3Deposit","inputs":[{"name":"updatedOutputAmount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"depositId","type":"uint32","indexed":true,"internalType":"uint32"},{"name":"depositor","type":"address","indexed":true,"internalType":"address"},{"name":"updatedRecipient","type":"address","indexed":false,"internalType":"address"},{"name":"updatedMessage","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"depositorSignature","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"RequestedV3SlowFill","inputs":[{"name":"inputToken","type":"address","indexed":false,"internalType":"address"},{"name":"outputToken","type":"address","indexed":false,"internalType":"address"},{"name":"inputAmount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"outputAmount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"originChainId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"depositId","type":"uint32","indexed":true,"internalType":"uint32"},{"name":"fillDeadline","type":"uint32","indexed":false,"internalType":"uint32"},{"name":"exclusivityDeadline","type":"uint32","indexed":false,"internalType":"uint32"},{"name":"exclusiveRelayer","type":"address","indexed":false,"internalType":"address"},{"name":"depositor","type":"address","indexed":false,"internalType":"address"},{"name":"recipient","type":"address","indexed":false,"internalType":"address"},{"name":"message","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"SetOFTMessenger","inputs":[{"name":"token","type":"address","indexed":true,"internalType":"address"},{"name":"messenger","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SetWithdrawalRecipient","inputs":[{"name":"newWithdrawalRecipient","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SetXDomainAdmin","inputs":[{"name":"newAdmin","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SetZkBridge","inputs":[{"name":"erc20Bridge","type":"address","indexed":true,"internalType":"address"},{"name":"oldErc20Bridge","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"TokensBridged","inputs":[{"name":"amountToReturn","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"chainId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"leafId","type":"uint32","indexed":true,"internalType":"uint32"},{"name":"l2TokenAddress","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Upgraded","inputs":[{"name":"implementation","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"V3FundsDeposited","inputs":[{"name":"inputToken","type":"address","indexed":false,"internalType":"address"},{"name":"outputToken","type":"address","indexed":false,"internalType":"address"},{"name":"inputAmount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"outputAmount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"destinationChainId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"depositId","type":"uint32","indexed":true,"internalType":"uint32"},{"name":"quoteTimestamp","type":"uint32","indexed":false,"internalType":"uint32"},{"name":"fillDeadline","type":"uint32","indexed":false,"internalType":"uint32"},{"name":"exclusivityDeadline","type":"uint32","indexed":false,"internalType":"uint32"},{"name":"depositor","type":"address","indexed":true,"internalType":"address"},{"name":"recipient","type":"address","indexed":false,"internalType":"address"},{"name":"exclusiveRelayer","type":"address","indexed":false,"internalType":"address"},{"name":"message","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"error","name":"ClaimedMerkleLeaf","inputs":[]},{"type":"error","name":"DepositsArePaused","inputs":[]},{"type":"error","name":"DisabledRoute","inputs":[]},{"type":"error","name":"ExpiredFillDeadline","inputs":[]},{"type":"error","name":"ExternalCallExecutionFailed","inputs":[]},{"type":"error","name":"FillsArePaused","inputs":[]},{"type":"error","name":"InsufficientSpokePoolBalanceToExecuteLeaf","inputs":[]},{"type":"error","name":"InvalidBridgeConfig","inputs":[]},{"type":"error","name":"InvalidBytes32","inputs":[]},{"type":"error","name":"InvalidChainId","inputs":[]},{"type":"error","name":"InvalidCrossDomainAdmin","inputs":[]},{"type":"error","name":"InvalidDepositorSignature","inputs":[]},{"type":"error","name":"InvalidExclusiveRelayer","inputs":[]},{"type":"error","name":"InvalidFillDeadline","inputs":[]},{"type":"error","name":"InvalidMerkleLeaf","inputs":[]},{"type":"error","name":"InvalidMerkleProof","inputs":[]},{"type":"error","name":"InvalidOutputToken","inputs":[]},{"type":"error","name":"InvalidPayoutAdjustmentPct","inputs":[]},{"type":"error","name":"InvalidQuoteTimestamp","inputs":[]},{"type":"error","name":"InvalidSlowFillRequest","inputs":[]},{"type":"error","name":"InvalidTokenAddress","inputs":[]},{"type":"error","name":"InvalidWithdrawalRecipient","inputs":[]},{"type":"error","name":"LowLevelCallFailed","inputs":[{"name":"data","type":"bytes","internalType":"bytes"}]},{"type":"error","name":"MessageTooShort","inputs":[]},{"type":"error","name":"MsgValueDoesNotMatchInputAmount","inputs":[]},{"type":"error","name":"NoRelayerRefundToClaim","inputs":[]},{"type":"error","name":"NoSlowFillsInExclusivityWindow","inputs":[]},{"type":"error","name":"NotEOA","inputs":[]},{"type":"error","name":"NotExclusiveRelayer","inputs":[]},{"type":"error","name":"OFTFeeUnderpaid","inputs":[]},{"type":"error","name":"OFTTokenMismatch","inputs":[]},{"type":"error","name":"OftFeeCapExceeded","inputs":[]},{"type":"error","name":"OftIncorrectAmountReceivedLD","inputs":[]},{"type":"error","name":"OftIncorrectAmountSentLD","inputs":[]},{"type":"error","name":"OftInsufficientBalanceForFee","inputs":[]},{"type":"error","name":"OftLzFeeNotZero","inputs":[]},{"type":"error","name":"RelayFilled","inputs":[]},{"type":"error","name":"RemovedFunction","inputs":[]},{"type":"error","name":"WrongERC7683OrderId","inputs":[]},{"type":"error","name":"ZeroAddressTarget","inputs":[]}],"bytecode":"0x610200806040523461031e5760e0816153cc80380380916100208285610322565b83398101031261031e5780516001600160a01b038116919082900361031e576020810151916001600160a01b0383169182840361031e576040810151926001600160a01b0384169283850361031e5760608301519560808401519160018060a01b0383169485840361031e576100a460c061009d60a08401610345565b9201610345565b91306080525f60c0525f60a05260e05261010052610120525f5460ff8160081c1661031e5760ff808216036102e4575b5061016052610180525f610140525f80604051602081019063011a412160e61b825260048152610105602482610322565b5190855afa3d156102dd573d6001600160401b0381116102c95760405190610137601f8201601f191660200183610322565b81523d5f602083013e5b816102bd575b81610287575b506101a052610269575b50506101c0526101e052604051615075908161035782396080518181816110790152818161140a01526114cb015260a051816116c3015260c05181611893015260e0518181816107ea0152818161343101528181613c91015281816140b00152818161450c01528181614dcb0152614e4e0152610100518181816116440152613e700152610120518181816104890152613c3d01526101405181818161185301528181614c1f0152614cc7015261016051818181610753015281816141990152614b06015261018051818181611e9a015281816141c90152614b2f01526101a051818181611ad70152614bc501526101c051818181611121015261421d01526101e05181818161078e015261495f0152f35b15901514610278575f80610157565b635110d79160e01b5f5260045ffd5b90506020815191015190602081106102ac575b506001600160a01b031615155f61014d565b5f199060200360031b1b165f61029a565b80516020149150610147565b634e487b7160e01b5f52604160045260245ffd5b6060610141565b60ff90811916175f557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160ff8152a15f6100d4565b5f80fd5b601f909101601f19168101906001600160401b038211908210176102c957604052565b519063ffffffff8216820361031e5756fe6080604052600436101561001a575b3615610018575f80fd5b005b5f3560e01c8063079bd2c71461045a5780630cb84d9a146104555780631186ec331461045057806311eac8551461044b57806312622e5b1461044657806315348e44146103ce57806317fcb39b1461044157806319c1648c1461043c5780631b3d5559146104375780631fab657c1461043257806329cb924d1461042d5780632e378115146104285780632e63e59a146104235780633659cfe61461041e5780633a90dc85146104195780633f00627b14610342578063437b911614610414578063490e49ef1461040f578063493a4f841461040a5780634f1ef286146104055780635285e0581461040057806352d1902d146103fb578063541f4f14146103f6578063577f51f8146103f157806357f6dcb8146103ec57806358f105ed146103e75780636068d6cb146103e257806361a04d30146103dd578063647c576c146103d8578063670fa8ac146103d35780636bbbcd2e146103ce5780636e400983146103c95780636fd5c10e146103c4578063738b62e5146103bf5780637659f9e0146103ba578063775c0d03146103b55780637aef642c146103b05780637b939232146103ab5780637ef413e1146103a657806382e2c43f146103a15780638a7860ce1461039c5780638b15788e146103975780639748cf7c1461039257806397943aa91461038d578063979f2bc21461038857806399cc2968146103835780639a8a05921461037e578063a1244c6714610379578063a18a096e14610374578063ac9650d81461036f578063ad5425c61461036a578063adb5a6a61461031a578063b370b7f514610365578063b4c0d7ab14610360578063babb6aac1461035b578063c35c83fc14610356578063ceb4c98714610351578063d513cb661461034c578063d7e1583a14610347578063da95786914610342578063dda521131461033d578063ddd224f114610338578063de7eba7814610333578063deff4b241461032e578063e322921114610329578063ea86bd4614610324578063ee2a53f81461031f578063f79f29ed1461031a5763fc8a584f0361000e57612922565b61236b565b6128e4565b612840565b612819565b612727565b6126d7565b6126ae565b612688565b611159565b612652565b61254b565b61252d565b612502565b612423565b6123f4565b6123b2565b6122fa565b61225b565b612103565b6120dc565b6120c2565b612013565b611f4c565b611ebe565b611e7b565b611e0a565b611d7a565b611c5c565b611c26565b611b8e565b611afc565b611ac0565b611981565b6118c1565b611877565b611837565b6107b1565b6117fd565b611718565b6116ac565b611686565b611668565b611628565b6115ab565b61151b565b6114b1565b61148a565b6113c8565b611327565b611309565b61123c565b611102565b611052565b610e59565b610d06565b610cdd565b610bd5565b610ab3565b610833565b6107cb565b610777565b610734565b6106cd565b6104d8565b61046d565b5f91031261046957565b5f80fd5b34610469575f36600319011261046957602060405163ffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b6001600160a01b0381160361046957565b60e435906104cb826104ad565b565b35906104cb826104ad565b34610469576020366003190112610469576001600160a01b036004356104fd816104ad565b165f5261087460205260206001600160a01b0360405f205416604051908152f35b608435908160070b820361046957565b60a435908160070b820361046957565b63ffffffff81160361046957565b61010435906104cb8261053e565b61012435906104cb8261053e565b61014435906104cb8261053e565b61016435906104cb8261053e565b35906104cb8261053e565b634e487b7160e01b5f52604160045260245ffd5b6040810190811067ffffffffffffffff8211176105bf57604052565b61058f565b6101a0810190811067ffffffffffffffff8211176105bf57604052565b6060810190811067ffffffffffffffff8211176105bf57604052565b90601f8019910116810190811067ffffffffffffffff8211176105bf57604052565b604051906104cb60c0836105fd565b604051906104cb610180836105fd565b604051906104cb6101a0836105fd565b604051906104cb6080836105fd565b67ffffffffffffffff81116105bf57601f01601f191660200190565b9291926106858261065d565b9161069360405193846105fd565b829481845281830111610469578281602093845f960137010152565b9080601f83011215610469578160206106ca93359101610679565b90565b610100366003190112610469576106e56004356104ad565b6106f06024356104ad565b6106f861051e565b5061070460a43561053e565b60c43567ffffffffffffffff8111610469576107249036906004016106af565b506332ed1ba560e21b5f5260045ffd5b34610469575f3660031901126104695760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b34610469575f3660031901126104695760206040517f00000000000000000000000000000000000000000000000000000000000000008152f35b34610469575f3660031901126104695760206040515f8152f35b34610469575f3660031901126104695760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b604090600319011261046957600435610826816104ad565b906024356106ca816104ad565b34610469576108413661080e565b6001600160a01b0361111161111160901b0181610869541601163303610469576108696133f6565b6001600160a01b0381169182151580610902575b6108f3576108c46001600160a01b03926108a9836001600160a01b03165f5261087460205260405f2090565b906001600160a01b03166001600160a01b0319825416179055565b167f323983f5343e25b2c1396361b1b791be31484841fdfb95b8615cd02d910b1e085f80a36100186001606555565b63a63e8c6b60e01b5f5260045ffd5b50604051637e062a3560e11b8152602081600481875afa90811561096b575f9161093c575b506001600160a01b038083169116141561087d565b61095e915060203d602011610964575b61095681836105fd565b810190613407565b5f610927565b503d61094c565b61341c565b67ffffffffffffffff81116105bf5760051b60200190565b9080601f8301121561046957813561099f81610970565b926109ad60405194856105fd565b81845260208085019260051b82010192831161046957602001905b8282106109d55750505090565b81358152602091820191016109c8565b9080601f830112156104695781356109fc81610970565b92610a0a60405194856105fd565b81845260208085019260051b82010192831161046957602001905b828210610a325750505090565b602080918335610a41816104ad565b815201910190610a25565b929190610a5881610970565b93610a6660405195866105fd565b602085838152019160051b810192831161046957905b828210610a8857505050565b8135815260209182019101610a7c565b9080601f83011215610469578160206106ca93359101610a4c565b606036600319011261046957600435610acb8161053e565b6024359067ffffffffffffffff82116104695760c0600319833603011261046957610af461061f565b918060040135835260248101356020840152604481013567ffffffffffffffff811161046957610b2a9060043691840101610988565b6040840152610b3b60648201610584565b6060840152610b4c608482016104cd565b608084015260a48101359067ffffffffffffffff8211610469576004610b7592369201016109e5565b60a08301526044359167ffffffffffffffff831161046957610b9e610018933690600401610a98565b9161296b565b9181601f840112156104695782359167ffffffffffffffff8311610469576020808501948460051b01011161046957565b346104695760603660031901126104695760043567ffffffffffffffff81116104695780360390606060031983011261046957602435610c148161053e565b60443567ffffffffffffffff811161046957610c34903690600401610ba4565b919093610c3f6133f6565b600484013590610182190181121561046957610cd394610cce93610c6a6004610cc794880101612b59565b95610c80610c7b608089015161377a565b613427565b6044610c8b88613338565b91013560208801519061016089015192610ca361061f565b998a5260208a01526040890152606088015260808701525f60a08701523691610a4c565b9083613790565b613812565b6100186001606555565b34610469575f366003190112610469576020604051428152f35b90816101809103126104695790565b346104695760403660031901126104695760043567ffffffffffffffff811161046957610d37903690600401610cf7565b602435610d4382612b64565b6001600160a01b031691610d5960208201612b64565b6001600160a01b031690610d6f60408201612b64565b6001600160a01b031690610d8560608201612b64565b6001600160a01b0316610d9a60808301612b64565b6001600160a01b031660e083013560c084013560a0850135610dbf6101008701612b6e565b93610dcd6101208801612b6e565b95610ddb6101408901612b6e565b976101608101610dea91612b78565b99909a610df561062e565b9d8e5260208e015260408d015260608c015260808b015260a08a015260c089015260e088015263ffffffff9081166101008801521661012086015263ffffffff166101408501523690610e4792610679565b61016083015261001891339190613369565b346104695760203660031901126104695760043567ffffffffffffffff811161046957610e8a903690600401610cf7565b610e926133f6565b60ff61086b5460e01c166110435763ffffffff421690610140810190610eca83610ebb84612b6e565b63ffffffff9182169116101590565b6110345761012081019263ffffffff610ee285612b6e565b161061102557610efa610ef53683612572565b613338565b90610f0e825f5261087260205260405f2090565b5461101757610f50610f4a7f3cee3e290f36226751cd0b3321b213890fe9c768e922f267fa6111836ce05c32935f5261087260205260405f2090565b60019055565b606081013561100a60808301359260a08101359060c081013560e082013597610f87610f816101008501359b612b6e565b91612b6e565b604084013591843593610fb6610fb1610faa602089013598610160810190612b78565b3691610679565b613914565b966040519a8b9a8b969394610120989563ffffffff9485939d9c9b98946101408b019e8b5260208b015260408a015260608901521660808701521660a085015260c084015260e08301526101008201520152565b0390a36100186001606555565b624be79160e21b5f5260045ffd5b63d642b7d960e01b5f5260045ffd5b630277ae7b60e21b5f5260045ffd5b633d90fc5560e11b5f5260045ffd5b346104695760203660031901126104695760043561106f816104ad565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016803014610469576001600160a01b037f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc541603610469576001600160a01b0361111161111160901b018161086954160116330361046957610018906110fc6123d9565b90613929565b34610469575f3660031901126104695760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b634e487b7160e01b5f52601160045260245ffd5b34610469575f36600319011261046957604051620100038152602090f35b6020600319820112610469576004359067ffffffffffffffff8211610469576111a291600401610ba4565b9091565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b602081016020825282518091526040820191602060408360051b8301019401925f915b8383106111fc57505050505090565b909192939460208061122d600193603f198682030187526040838b51805115158452015191818582015201906111a6565b970193019301919392906111ed565b346104695761124a36611177565b61125381610970565b9161126160405193846105fd565b818352601f1961127083610970565b015f5b8181106112e55750505f5b828110611297576040518061129386826111ca565b0390f35b806112df6112a760019387612bd5565b515f806112b5858989612be9565b906112c560405180938193612c00565b0390305af4906112d3612c0d565b60208201529015159052565b0161127e565b6020906040516112f4816105a3565b5f815260608382015282828801015201611273565b34610469575f3660031901126104695760206040516301e133808152f35b3461046957604036600319011261046957600435602435906001600160a01b0361111161111160901b0181610869541601163303610469576113676133f6565b61086c54680100000000000000008110156105bf5780600163ffffffff920161086c5583611394826128c1565b5084600182015555167fc86ba04c55bc5eb2f2876b91c438849a296dbec7b08751c3074d92e04f0a77af5f80a46001606555005b6040366003190112610469576004356113e0816104ad565b60243567ffffffffffffffff8111610469576114009036906004016106af565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016803014610469576001600160a01b037f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc541603610469576001600160a01b0361111161111160901b018161086954160116330361046957610018916139df565b34610469575f3660031901126104695760206001600160a01b036108695416604051908152f35b34610469575f366003190112610469576001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036104695760206040517f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8152f35b610120366003190112610469576115336004356104ad565b61153e6024356104ad565b6115496044356104ad565b61155161052e565b5061155d60c43561053e565b60e43567ffffffffffffffff8111610469576107249036906004016106af565b9181601f840112156104695782359167ffffffffffffffff8311610469576020838186019501011161046957565b346104695760c0366003190112610469576004356115c8816104ad565b602435604435916064356115db816104ad565b60843567ffffffffffffffff8111610469576115fb90369060040161157d565b9160a4359567ffffffffffffffff87116104695761162061001897369060040161157d565b969095612c8f565b34610469575f36600319011261046957602060405163ffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b34610469575f36600319011261046957604051620100048152602090f35b34610469575f36600319011261046957602060ff61086b5460e81c166040519015158152f35b34610469575f3660031901126104695760206040517f00000000000000000000000000000000000000000000000000000000000000008152f35b6060906003190112610469576004356116fe8161053e565b9060243561170b816104ad565b906044356106ca816104ad565b3461046957611775611729366116e6565b5f54939290919061175b60ff600887901c1615611745565b1590565b809681976117ef575b81156117cf575b50612bce565b8461176c600160ff195f5416175f55565b6117b857612cfe565b61177b57005b61178961ff00195f54165f55565b604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602090a1005b6117ca61010061ff00195f5416175f55565b612cfe565b303b159150816117e1575b505f611755565b60ff1660011490505f6117da565b600160ff821610915061174e565b34610469575f3660031901126104695760206040517f8d1994e2bbbd77564cdca06dd819e7ee2a5efa06c80dcb59a4a7b6e39edc538f8152f35b34610469575f36600319011261046957602060405163ffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b34610469575f36600319011261046957602060405163ffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b8015150361046957565b34610469576020366003190112610469576004356118de816118b7565b6001600160a01b0361111161111160901b01816108695416011633036104695760207fe88463c2f254e2b070013a2dc7ee1e099f9bc00534cbdf03af551dc26ae492199161192a6133f6565b151561086b547fffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60ff60e81b8360e81b1691161761086b55604051908152a16001606555005b9060206106ca9281815201906111a6565b346104695760203660031901126104695760043567ffffffffffffffff8111610469576119b290369060040161157d565b6001600160a01b0361111161111160901b0181610869541601163303610469576119da6133f6565b8101604082820312610469578135916119f2836104ad565b60208101359167ffffffffffffffff8311610469576001600160a01b0392611a1a92016106af565b91168015611ab1576004825110611aa2575f8083516020850182855af190611a40612c0d565b9115611a93577f41a941b8313293eca483f41d8faa2498e005e6d7700e2e93f41d3cb7e70a897d611a7a6112939460405191829182611970565b0390a2611a876001606555565b60405191829182611970565b6348ebf0a960e11b5f5260045ffd5b637f5e6be560e01b5f5260045ffd5b634e93b52160e11b5f5260045ffd5b34610469575f3660031901126104695760206040517f000000000000000000000000000000000000000000000000000000000000000015158152f35b61016036600319011261046957600435611b15816104ad565b602435611b21816104ad565b60443591611b2e836104ad565b606435611b3a816104ad565b60843560e43560c43560a435611b4f836104ad565b611b5761054c565b93611b6061055a565b95610144359967ffffffffffffffff8b1161046957611b866100189b369060040161157d565b9a9099612ddb565b61018036600319011261046957600435611ba7816104ad565b602435611bb3816104ad565b60443591611bc0836104ad565b606435611bcc816104ad565b60843560a43560c435611bdd6104be565b90611be661054c565b92611bef61055a565b94611bf8610568565b96610164359a67ffffffffffffffff8c1161046957611c1e6100189c369060040161157d565b9b909a612dfd565b34610469576060366003190112610469576020611c54600435611c48816104ad565b60243560443591612f23565b604051908152f35b346104695760603660031901126104695760043560243567ffffffffffffffff811161046957611c9090369060040161157d565b9060443567ffffffffffffffff811161046957611cb190369060040161157d565b9190936040516020810190611cda81611ccc46898887612f61565b03601f1981018352826105fd565b51902003611d6b575f93611cf5828695611cfe94019061262c565b92810190612f7e565b51611d35611d13335b6001600160a01b031690565b91611ccc60405193849260208401966337bfd2c960e21b885260248501613049565b5190305af4611d42612c0d565b9015611d4a57005b60405163b8fe37a760e01b8152908190611d679060048301611970565b0390fd5b630f0c8f4760e11b5f5260045ffd5b34610469576020366003190112610469576004356001600160a01b0361111161111160901b018161086954160116330361046957611db66133f6565b611dbf816128c1565b611df7576001815f80935501557f7c1af0646963afc3343245b103731965735a893347bfa0d58a5dc77a77ae691c5f80a26001606555005b634e487b7160e01b5f525f60045260245ffd5b6101a03660031901126104695760443560243560043560643560843560a4356101043560e43560c435611e3b61055a565b93611e44610568565b95611e4d610576565b97610184359b67ffffffffffffffff8d1161046957611e736100189d369060040161157d565b9c909b61306b565b34610469575f3660031901126104695760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b346104695760e03660031901126104695760043567ffffffffffffffff811161046957611eef903690600401610cf7565b602435604435916064356084359060a43567ffffffffffffffff811161046957611f1d90369060040161157d565b92909160c4359667ffffffffffffffff881161046957611f4461001898369060040161157d565b9790966130e3565b3461046957611f5a366116e6565b909160ff5f5460081c161561046957611f909063ffffffff60c01b1963ffffffff60c01b61086b549260c01b1691161761086b55565b6040805192611f9f82856105fd565b600984526020808501926820a1a927a9a996ab1960b91b8452611fc4815191826105fd565b6005815201640312e302e360dc1b815260ff5f5460081c161561046957600561200e936100189651902091209061047f5561048055612001613ea5565b612009613eb4565b613ec8565b613f20565b3461046957602036600319011261046957600435612030816118b7565b6001600160a01b0361111161111160901b01816108695416011633036104695760207f2d5b62420992e5a4afce0e77742636ca2608ef58289fd2e1baa5161ef6e7e41e9161207c6133f6565b151561086b547fffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffff60ff60e01b8360e01b1691161761086b55604051908152a16001606555005b34610469575f366003190112610469576020604051468152f35b34610469575f36600319011261046957602063ffffffff61086b5460c01c16604051908152f35b346104695760403660031901126104695760043560243561212382614321565b6001600160a01b03821691825f5261087360205261215460405f20336001600160a01b03165f5260205260405f2090565b549283156121ed5761219d5f9161216a84614321565b61218733916001600160a01b03165f5261087360205260405f2090565b906001600160a01b03165f5260205260405f2090565b556121bd836121ae611d078461377a565b6121b78561377a565b90613f78565b60405192835233927f6c172ea51018fb2eb2118f3f8a507c4df71eb519b8c0052834dc3c920182fef490602090a4005b6336542bf760e21b5f5260045ffd5b602081016020825282518091526040820191602060408360051b8301019401925f915b83831061222e57505050505090565b909192939460208061224c600193603f1986820301875289516111a6565b9701930193019193929061221f565b346104695761226936611177565b90612273826131d1565b915f5b81811061228b576040518061129386826121fc565b5f80612298838587612be9565b906122a860405180938193612c00565b0390305af46122b5612c0d565b90156122db57906001916122c98287612bd5565b526122d48186612bd5565b5001612276565b604481511061046957806024806004610469940151830101910161321a565b610180366003190112610469576044356024356004356064356084356101043560e43560c43560a43561232c8461053e565b61233461055a565b9461233d610568565b96610164359a67ffffffffffffffff8c11610469576123636100189c369060040161157d565b9b909a61327d565b346104695760206123a96001600160a01b036123863661080e565b91165f52610873835260405f20906001600160a01b03165f5260205260405f2090565b54604051908152f35b34610469575f3660031901126104695760206001600160a01b0361086a5416604051908152f35b604051906123e86020836105fd565b5f808352366020840137565b34610469575f3660031901126104695761129361240f6123d9565b6040519182916020835260208301906111a6565b346104695760c03660031901126104695760043560243560443560643560843567ffffffffffffffff81116104695761246090369060040161157d565b60a4939193359067ffffffffffffffff8211610469577f45e04bc8f121ba11466985789ca2822a91109f31bb8ac85504a37b7eaf873c26946124a96124f893369060040161157d565b9290916124b46133f6565b6124bd8a614321565b6124ec898b89896124cf368888610679565b926124db368b8b610679565b946001600160a01b03469216613a96565b60405196879687612c5c565b0390a36001606555005b34610469576020366003190112610469576004355f52610872602052602060405f2054604051908152f35b34610469575f36600319011261046957602060405163ffffffff8152f35b34610469575f3660031901126104695760206001600160a01b03610c5b5416604051908152f35b919091610180818403126104695761258861062e565b92813584526020820135602085015260408201356040850152606082013560608501526080820135608085015260a082013560a085015260c082013560c085015260e082013560e08501526101008201356101008501526125ec6101208301610584565b6101208501526125ff6101408301610584565b61014085015261016082013567ffffffffffffffff81116104695761262492016106af565b610160830152565b9060208282031261046957813567ffffffffffffffff8111610469576106ca9201612572565b346104695760203660031901126104695760043567ffffffffffffffff811161046957611c54610ef56020923690600401612572565b34610469575f36600319011261046957602060ff61086b5460e01c166040519015158152f35b34610469575f3660031901126104695760206040516ec097ce7bc90715b34b9f10000000008152f35b34610469576020366003190112610469576004356126f4816104ad565b6001600160a01b0361111161111160901b018161086954160116330361046957612720906120096133f6565b6001606555005b346104695760603660031901126104695760043567ffffffffffffffff811161046957612758903690600401612572565b60243590604435906127686133f6565b60ff61086b5460e01c166110435761014081015163ffffffff166127974263ffffffff165b9163ffffffff1690565b1015806127fa575b6127eb57610cd3926127b082613338565b60c0830151602084015190610160850151926127ca61061f565b958652602086015260408501526060840152608083015260a082015261388b565b630c3a9b9d60e41b5f5260045ffd5b50612808604082015161377a565b6001600160a01b031633141561279f565b34610469575f3660031901126104695760206001600160a01b03610c5a5416604051908152f35b610160366003190112610469576044356024356004356064356101043560e43560c43560a4356084356128728561053e565b61012435956128808761053e565b610144359967ffffffffffffffff8b11610469576128a56100189b369060040161157d565b9a90996133d5565b634e487b7160e01b5f52603260045260245ffd5b61086c548110156128df5761086c5f52600360205f20910201905f90565b6128ad565b346104695760203660031901126104695760043561086c548110156104695761290e6040916128c1565b506001815491015482519182526020820152f35b346104695760203660031901126104695760043561293f816104ad565b6001600160a01b0361111161111160901b0181610869541601163303610469576127209061200e6133f6565b91906129756133f6565b6080810161298d610c7b82516001600160a01b031690565b602082019283514603612a8d576117416129b5918460016129ad896128c1565b50015461349b565b612a7e5763ffffffff7ff4ad92585b1bc117fbdd644990adf0827bc4c95baeae8a23322af807b6d0020e91612a7160608501956129ff6129f9885163ffffffff1690565b8961351f565b8051958051612a5b612a4d612a3c604085019a8c612a238d51915163ffffffff1690565b8a516001600160a01b03169160a0890197885194613597565b9351945199519a5163ffffffff1690565b95516001600160a01b031690565b90519086604051978897169b1699339487612b0b565b0390a46104cb6001606555565b63582f497d60e11b5f5260045ffd5b633d23e4d160e11b5f5260045ffd5b90602080835192838152019201905f5b818110612ab95750505090565b8251845260209384019390920191600101612aac565b90602080835192838152019201905f5b818110612aec5750505090565b82516001600160a01b0316845260209384019390920191600101612adf565b949695919260a0946001600160a01b03612b378196612b4b958a5260c060208b015260c08a0190612a9c565b921660408801528682036060880152612acf565b951515608085015216910152565b6106ca903690612572565b356106ca816104ad565b356106ca8161053e565b903590601e1981360301821215610469570180359067ffffffffffffffff82116104695760200191813603831361046957565b634e487b7160e01b5f52602160045260245ffd5b60031115612bc957565b612bab565b1561046957565b80518210156128df5760209160051b010190565b908210156128df576111a29160051b810190612b78565b908092918237015f815290565b3d15612c37573d90612c1e8261065d565b91612c2c60405193846105fd565b82523d5f602084013e565b606090565b908060209392818452848401375f828201840152601f01601f1916010190565b94929093612c81926106ca979587526020870152608060408701526080860191612c3c565b926060818503910152612c3c565b92957f45e04bc8f121ba11466985789ca2822a91109f31bb8ac85504a37b7eaf873c26956001600160a01b039586612cf9959a949916612ceb8a8c83612cd6368888610679565b91612ce2368b8b610679565b9346908d613a96565b604051978897169a87612c5c565b0390a3565b91909161800a6001600160a01b0319610c5a541617610c5a5560ff5f5460081c161561046957612d4b9063ffffffff60c01b1963ffffffff60c01b61086b549260c01b1691161761086b55565b6040805192612d5a82856105fd565b600984526020808501926820a1a927a9a996ab1960b91b8452612d7f815191826105fd565b6005815201640312e302e360dc1b815260ff5f5460081c161561046957600561200e936104cb9651902091209061047f5561048055612001613ea5565b9063ffffffff8091169116019063ffffffff8211612dd657565b611145565b96949290916104cb9b9a9998969492612dfb63ffffffff42169889612dbc565b985b9593919b999897969492909b612e116133f6565b61086b5460ff8160e81c16612f145760c01c63ffffffff1696612e3388613321565b612e5a9063ffffffff60c01b1963ffffffff60c01b61086b549260c01b1691161761086b55565b612e6261063e565b9d6001600160a01b038f921682526001600160a01b031690602001526001600160a01b031660408d01526001600160a01b031660608c015260808b015260a08a015260c08901526001600160a01b031660e088015263ffffffff16610100870152610120860190612ed8919063ffffffff169052565b63ffffffff1661014085015263ffffffff166101608401523690612efb92610679565b610180820152612f0a90613bd8565b6104cb6001606555565b630b4cba3160e31b5f5260045ffd5b916040519160208301936bffffffffffffffffffffffff199060601b1684526034830152605482015260548152612f5b6074826105fd565b51902090565b939291602091612f7991604087526040870191612c3c565b930152565b9081602091031261046957604051906020820182811067ffffffffffffffff8211176105bf5760405235815290565b906101806101606106ca93805184526020810151602085015260408101516040850152606081015160608501526080810151608085015260a081015160a085015260c081015160c085015260e081015160e085015261010081015161010085015261302761012082015161012086019063ffffffff169052565b6101408181015163ffffffff16908501520151918161016082015201906111a6565b61306160409295949395606083526060830190612fad565b9460208201520152565b9c9a99989796959493929190966130806133f6565b60ff61086b5460e81c16612f1457613099908e33612f23565b96604051809e6130a8826105c4565b81526020015260408d015260608c015260808b015260a08a015260c089015260e088015261010087015263ffffffff16610120860152612ed8565b9792909596949391966130f46133f6565b60ff61086b5460e01c166110435761310f6101408a01612b6e565b61311e4263ffffffff1661278d565b1015806131b2575b6127eb57612f0a986131a76131ad97613142610ef53685612572565b9961314b61061f565b9a6131563686612572565b8c5260208c01528560408c01528660608c015261317436868b610679565b60808c015260a08b015261319f61318b843561377a565b9860e0610100860135950135953691610679565b963691610679565b95613a96565b61388b565b506131c060408a013561377a565b6001600160a01b0316331415613126565b906131db82610970565b6131e860405191826105fd565b82815280926131f9601f1991610970565b01905f5b82811061320957505050565b8060606020809385010152016131fd565b6020818303126104695780519067ffffffffffffffff8211610469570181601f820112156104695780519061324e8261065d565b9261325c60405194856105fd565b8284526020838301011161046957815f9260208093018386015e8301015290565b9b999897969492909593916132906133f6565b61086b5460ff8160e81c16612f145760c01c63ffffffff16966132b288613321565b6132d99063ffffffff60c01b1963ffffffff60c01b61086b549260c01b1691161761086b55565b6132e161063e565b9d8e5260208e015260408d015260608c015260808b015260a08a015260c089015260e088015263ffffffff90811661010088015216610120860152612ed8565b63ffffffff1663ffffffff8114612dd65760010190565b604051612f5b816133556020820194604086526060830190612fad565b46604083015203601f1981018352826105fd565b9190916133746133f6565b60ff61086b5460e01c166110435761014081015163ffffffff1661339d4263ffffffff1661278d565b1015806133b6575b6127eb57612f0a926127b082613338565b506133c4604082015161377a565b6001600160a01b03163314156133a5565b9a989795929693909491966133f163ffffffff42169788612dbc565b976132905b600260655414610469576002606555565b9081602091031261046957516106ca816104ad565b6040513d5f823e3d90fd5b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081169116811461345e575b50565b476134665750565b4790803b15610469575f90600460405180948193630d0e30db60e41b83525af1801561096b571561345b575f6104cb916105fd565b6106ca929160405161351681611ccc602082019460208652805160408401526020810151606084015260a06134e0604083015160c06080870152610100860190612a9c565b606083015163ffffffff168583015260808301516001600160a01b031660c0860152910151838203603f190160e0850152612acf565b51902091613fc0565b61352a6002916128c1565b500162ffffff8260081c1691825f5281602052600160ff60405f205492161b808092161461356c57825f528160205260405f205417915f5260205260405f2055565b63954476d960e01b5f5260045ffd5b90816020910312610469575190565b91908201809211612dd657565b91959495939092935f968151908181510361376b5781613616575b505050826135c1575b50505050565b63ffffffff6135f8611d0783611d077ffa7fa7cf6d7dde5f9be65a67e6a1a747e7aa864dcd2d793353c722d80fbbb357958861409a565b6040805195865233602087015290959190911693a45f8080806135bb565b6040516370a0823160e01b81523060048201526020816024816001600160a01b0389165afa90811561096b575f9161373c575b505f5f5b84811061365c575050506135b2565b6136668187612bd5565b51613674575b60010161364d565b9061368a906136838388612bd5565b519061358a565b9082821161372d576136c46117416136b26136a58488612bd5565b516001600160a01b031690565b6136bc848a612bd5565b51908a614011565b1561366c579a506136d58b86612bd5565b5161372361371b8d6137066136a56136ff8c6001600160a01b03165f5261087360205260405f2090565b9289612bd5565b6001600160a01b03165f5260205260405f2090565b91825461358a565b905560019a61366c565b632ddaa83160e11b5f5260045ffd5b61375e915060203d602011613764575b61375681836105fd565b81019061357b565b5f613649565b503d61374c565b6319a5316760e31b5f5260045ffd5b6001600160a01b039061378c81614321565b1690565b916117419161380c936040815191015191604051916137ae836105e1565b82526135166137ca6020840192468452604085019586526128c1565b5054936040519283916137f1602084019660208852516060604086015260a0850190612fad565b9151606084015251608083015203601f1981018352826105fd565b612a7e57565b805163ffffffff6101208201511663ffffffff42911610611025576020820151906002613848835f5261087260205260405f2090565b541461387c576104cb9260026138696001945f5261087260205260405f2090565b5561387760025f84846143ce565b6144d0565b630479306360e51b5f5260045ffd5b90815163ffffffff6101208201511663ffffffff429116106110255760208301519260016138c2855f5261087260205260405f2090565b540361390d576001935b60026138e1825f5261087260205260405f2090565b541461387c576104cb945f946002613905613877945f5261087260205260405f2090565b5584846143ce565b5f936138cc565b805190816139225750505f90565b6020012090565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161561395d576104cb91506146d4565b6040516352d1902d60e01b81526020816004816001600160a01b0386165afa5f91816139be575b5061398d575f80fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc03610469576104cb915f91614603565b6139d891925060203d6020116137645761375681836105fd565b905f613984565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615613a13576104cb91506146d4565b6040516352d1902d60e01b81526020816004816001600160a01b0386165afa5f9181613a75575b50613a43575f80fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc03610469576104cb91600191614603565b613a8f91925060203d6020116137645761375681836105fd565b905f613a3a565b93926042936104cb979660208151910120906040519260208401947f8d1994e2bbbd77564cdca06dd819e7ee2a5efa06c80dcb59a4a7b6e39edc538f86526040850152856060850152608084015260a083015260c082015260c08152613afd60e0826105fd565b5190209061047f549061048054906040519160208301937fc2f8787176b8ac6bf7215b4adcc1e069bf4ab82d9ab1df05a57a91d425935b6e855260408401526060830152608082015260808152613b5560a0826105fd565b519020906040519161190160f01b8352600283015260228201522090614735565b91908203918211612dd657565b9692610140989563ffffffff9586949285936106ca9e9d9a958c5260208c015260408b015260608a01521660808801521660a08601521660c084015260e08301526101008201528161012082015201906111a6565b613be28151614321565b6060810190815115613e9757610120810190613c0e613c05835163ffffffff1690565b63ffffffff1690565b804210908115613e5e575b50613e4f57610140810192613c32845163ffffffff1690565b63ffffffff613c63817f0000000000000000000000000000000000000000000000000000000000000000164261358a565b911611613e405761016082015163ffffffff16918280613dfd575b5060408101918251926001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001680941480613df4575b15613da45760808301513403613d9557833b15610469575f60049460405195868092630d0e30db60e41b825234905af190811561096b577f32ed1a409ef04c7b0227189c3a103dc5ac10e775a15b785dcc510201f7c25ad394613d7692613d7b575b505b5191519260808101519060a081015160c082015197613d55613d4a6101008501519b5163ffffffff1690565b9b5163ffffffff1690565b83519b60208501519361018060e0870151960151966040519a8b9a8b613b83565b0390a4565b80613d895f613d8f936105fd565b8061045f565b5f613d1c565b636452a35d60e01b5f5260045ffd5b925034613d9557613d7683613def613de0611d077f32ed1a409ef04c7b0227189c3a103dc5ac10e775a15b785dcc510201f7c25ad3975161377a565b60808601519030903390614814565b613d1e565b50341515613cba565b6301e133801015613e28575b60e081015115613e19575f613c7e565b63495d907f60e01b5f5260045ffd5b91613e3a9063ffffffff421690612dbc565b91613e09565b63582e388960e01b5f5260045ffd5b63f722177f60e01b5f5260045ffd5b613e69915042613b76565b63ffffffff7f000000000000000000000000000000000000000000000000000000000000000016105f613c19565b6231010160e51b5f5260045ffd5b60ff5f5460081c161561046957565b60ff5f5460081c1615610469576001606555565b6001600160a01b03168015613f1157806001600160a01b0319610869541617610869557fa9e8c42c9e7fca7f62755189a16b2f5314d43d8fb24e91ba54e6d65f9314e8495f80a2565b63ba97b39d60e01b5f5260045ffd5b6001600160a01b03168015613f6957806001600160a01b031961086a54161761086a557fa73e8909f8616742d7fe701153d82666f7b7cd480552e23ebb05d358c22fd04e5f80a2565b635b03092b60e11b5f5260045ffd5b60405163a9059cbb60e01b60208201526001600160a01b03909216602483015260448201929092526104cb91613fbb82606481015b03601f1981018452836105fd565b61486b565b929091905f915b845183101561400957613fda8386612bd5565b519081811015613ff8575f52602052600160405f205b920191613fc7565b905f52602052600160405f20613ff0565b915092501490565b60405163a9059cbb60e01b60208281019182526001600160a01b039094166024830152604482019490945290925f9161404d8160648101611ccc565b519082855af1903d5f519083614064575b50505090565b9192509061407957503b15155b5f808061405e565b6001915014614071565b6040906106ca9392815281602082015201906111a6565b906001600160a01b038116906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001682145f146141955750803b1561046957604051632e1a7d4d60e01b815260048101839052905f908290602490829084905af1801561096b57614181575b50614127611d07611d07610c5a546001600160a01b031690565b61086a546001600160a01b0316813b15610469576040516351cff8d960e01b81526001600160a01b03919091166004820152915f9183916024918391905af1801561096b576141735750565b80613d895f6104cb936105fd565b80613d895f61418f936105fd565b5f61410d565b91907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316810361429e577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161561420e575061086a546104cb92506001600160a01b0316614afa565b90614244816001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168094614a0b565b61086a546001600160a01b031691803b1561046957604051636ce5768960e11b81526001600160a01b03938416600482015293909216602484015260448301525f908290606490829084905af1801561096b576141735750565b506020906142cc836142b26142f8956148f6565b926142c661086a546001600160a01b031690565b906149dc565b906142da611d076201000381565b905f6040518096819582946325171add60e11b845260048401614083565b03925af1801561096b576143095750565b61345b9060203d6020116137645761375681836105fd565b60a01c61432a57565b6379ec0ed760e11b5f5260045ffd5b61434282612bbf565b52565b9a98969492909c9b99979593916101e08c019d8c5260208c015260408b015260608a0152608089015263ffffffff1660a088015263ffffffff1660c087015260e08601526101008501526101208401526101408301528051610160830152602081015161018083015260408101516101a083015260600151906143c782612bbf565b6101c00152565b7f44b559f101f8fbcc8a0ea43fa91a05a729a5ea6e14a7c75aa750374690137208909392936060830151613d7660808501519260a08601519660c08701519660a08301519860e0820151986101008301519a61443261012085015163ffffffff1690565b61014085015163ffffffff169160408601519386519561449661445e61016060208b01519a0151613914565b9960608c01519b60406144746080830151613914565b91015190602061448261064e565b9e8f528e015260408d015260608c01614339565b6040519c8d9c8d614345565b906106ca94936080936001600160a01b038093168452602084015216604082015281606082015201906111a6565b9060806144de91015161377a565b9160806040830151926144f4606082015161377a565b92846001600160a01b03871691856001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001684145f146145e55750156145d1575b61454f91506001600160a01b038516614da6565b01519081511515806145c7575b6145665750505050565b6001600160a01b0316803b156104695761459c935f809460405196879586948593633a5be8cb60e01b85523391600486016144a2565b03925af1801561096b576145b3575b8080806135bb565b80613d895f6145c1936105fd565b5f6145ab565b50803b151561455c565b6145de9130903390614814565b5f8461453b565b906145fa576145f5923390614814565b61454f565b6145f592613f78565b9161460d836146d4565b6001600160a01b0383167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f80a2815115908115916146cc575b50614650575050565b61345b915f80604051936146656060866105fd565b602785527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c60208601527f206661696c6564000000000000000000000000000000000000000000000000006040860152602081519101845af46146c6612c0d565b91614f99565b90505f614647565b803b15610469576001600160a01b03166001600160a01b03197f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5416177f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b9190916147428284614ec2565b9390926005851015612bc95761476b941593846147fe575b508315614780575b50505015151590565b61477157565b63938a182160e01b5f5260045ffd5b5f935090611ccc6147ab8594936040519283916020830195630b135d3f60e11b875260248401614083565b51915afa6147b7612c0d565b816147f0575b816147cc575b505f8080614762565b90506147e9630b135d3f60e11b916020808251830101910161357b565b145f6147c3565b9050602081511015906147bd565b6001600160a01b0384811691161493505f61475a565b6040516323b872dd60e01b60208201526001600160a01b03928316602482015292909116604483015260648201929092526104cb91613fbb8260848101613fad565b9081602091031261046957516106ca816118b7565b906001600160a01b036148c692165f806040519361488a6040866105fd565b602085527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564602086015260208151910182855af16146c6612c0d565b80519081159182156148dc575b50501561046957565b6148ef9250602080918301019101614856565b5f806148d3565b60206149379161490c611d07611d076201000390565b6040518080958194637aa1335160e11b8352600483019190916001600160a01b036020820193169052565b03915afa90811561096b575f916149bd575b506001600160a01b038116156149ae57604080517f00000000000000000000000000000000000000000000000000000000000000006020820190815262010004928201929092526001600160a01b03909216606083015290612f5b8160808101611ccc565b630f58058360e11b5f5260045ffd5b6149d6915060203d6020116109645761095681836105fd565b5f614949565b6040805160208101929092526001600160a01b0392831690820152911660608201526106ca8160808101611ccc565b60405163095ea7b360e01b602082019081526001600160a01b03841660248301526044808301959095529381529192614a7790614a496064856105fd565b5f806001600160a01b0385169286519082855af190614a66612c0d565b82614ac8575b5081614ac157501590565b614a8057505050565b60405163095ea7b360e01b60208201526001600160a01b0390931660248401525f60448401526104cb92613fbb90614abb8160648101611ccc565b8261486b565b3b15919050565b80519192508115918215614ae0575b5050905f614a6c565b614af39250602080918301019101614856565b5f80614ad7565b6001600160a01b0316907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001692614b5b838584614ef3565b6040516332dd704760e21b815291602083600481885afa92831561096b575f93614d7c575b506040516352b7631960e11b81526001600160a01b0391821660048201819052949093909160209185916024918391165afa92831561096b575f93614d5b575b5092837f0000000000000000000000000000000000000000000000000000000000000000945b614bf257505050505050565b83811115614d5557835b8515614cb157863b1561046957604051634701287760e11b8152600481018290527f000000000000000000000000000000000000000000000000000000000000000063ffffffff166024820152604481018590526001600160a01b03841660648201525f6084820181905260a482018190526107d060c48301529092908360e481838c5af192831561096b57614c9793614c9d575b50613b76565b80614be6565b80613d895f614cab936105fd565b5f614c91565b6040516337e9a82760e11b8152600481018290527f000000000000000000000000000000000000000000000000000000000000000063ffffffff166024820152604481018590526001600160a01b0384166064820152916020836084815f8c5af192831561096b57614c9793614d275750613b76565b614d479060203d8111614d4e575b614d3f81836105fd565b810190614e7a565b505f614c91565b503d614d35565b80614bfc565b614d7591935060203d6020116137645761375681836105fd565b915f614bc0565b6001600160a01b03919350614d9f9060203d6020116109645761095681836105fd565b9290614b80565b906001600160a01b038216803b158015614e73575b15614e3f57506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691823b1561046957604051632e1a7d4d60e01b815260048101839052925f908490602490829084905af192831561096b576104cb93614e2b575b50614e9a565b80613d895f614e39936105fd565b5f614e25565b6104cb92506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016613f78565b505f614dbb565b90816020910312610469575167ffffffffffffffff811681036104695790565b814710610469575f8080936001600160a01b038294165af1614eba612c0d565b501561046957565b9060418151145f14614eea576111a291602082015190606060408401519301515f1a90614fc4565b50505f90600290565b604051636eb1769f60e11b81523060048201526001600160a01b0383166024820152602081806044810103816001600160a01b0386165afa90811561096b576104cb94613fbb92614f4b925f91614f7a575b5061358a565b60405163095ea7b360e01b60208201526001600160a01b03909416602485015260448401528260648101613fad565b614f93915060203d6020116137645761375681836105fd565b5f614f45565b91925015614fb557815115614fac575090565b3b156104695790565b50805190811561046957602001fd5b7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411615034576020935f9360ff60809460405194855216868401526040830152606082015282805260015afa1561096b575f516001600160a01b0381161561502c57905f90565b505f90600190565b505050505f9060039056fea264697066735822122004b09986c051dd82f5df9e077cc3fa06b8382ebeed8f79fa8dd1231680a3e8c564736f6c634300081e0033"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"abi":[{"type":"constructor","inputs":[{"name":"_l1Weth","type":"address","internalType":"contract WETH9Interface"},{"name":"_crossDomainMessenger","type":"address","internalType":"address"},{"name":"_l1StandardBridge","type":"address","internalType":"contract IL1StandardBridge"},{"name":"_l1Usdc","type":"address","internalType":"contract IERC20"}],"stateMutability":"nonpayable"},{"type":"function","name":"L1_STANDARD_BRIDGE","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IL1StandardBridge"}],"stateMutability":"view"},{"type":"function","name":"L1_WETH","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract WETH9Interface"}],"stateMutability":"view"},{"type":"function","name":"L2_GAS_LIMIT","inputs":[],"outputs":[{"name":"","type":"uint32","internalType":"uint32"}],"stateMutability":"view"},{"type":"function","name":"MESSENGER","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"cctpTokenMessenger","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract ITokenMessenger"}],"stateMutability":"view"},{"type":"function","name":"cctpV2","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"recipientCircleDomainId","inputs":[],"outputs":[{"name":"","type":"uint32","internalType":"uint32"}],"stateMutability":"view"},{"type":"function","name":"relayMessage","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"message","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"relayTokens","inputs":[{"name":"l1Token","type":"address","internalType":"address"},{"name":"l2Token","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"to","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"usdcToken","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IERC20"}],"stateMutability":"view"},{"type":"event","name":"MessageRelayed","inputs":[{"name":"target","type":"address","indexed":false,"internalType":"address"},{"name":"message","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"TokensRelayed","inputs":[{"name":"l1Token","type":"address","indexed":false,"internalType":"address"},{"name":"l2Token","type":"address","indexed":false,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"to","type":"address","indexed":false,"internalType":"address"}],"anonymous":false}],"bytecode":"0x61016080604052346101f957608081610e49803803809161002082856101fd565b8339810103126101f95780516001600160a01b03811681036101f95760208201516001600160a01b03811681036101f9576040830151926001600160a01b03841684036101f95760600151906001600160a01b03821682036101f95760805260c0525f60e05263ffffffff60a0525f80604051602081019063011a412160e61b8252600481526100b16024826101fd565b5190825afa3d156101f2573d6001600160401b0381116101de57604051906100e3601f8201601f1916602001836101fd565b81523d5f602083013e5b816101d2575b8161019c575b50610100526101205261014052604051610c289081610221823960805181818160ef0152610240015260a0518181816102be015281816105ed015261069b015260c0518181816104d3015281816108e001526109aa015260e0518181816101fc01526104a301526101005181818161027c015261056201526101205181818161034f01526109690152610140518181816103b6015281816107db01526109260152f35b90506020815191015190602081106101c1575b506001600160a01b031615155f6100f9565b5f199060200360031b1b165f6101af565b805160201491506100f3565b634e487b7160e01b5f52604160045260245ffd5b60606100ed565b5f80fd5b601f909101601f19168101906001600160401b038211908210176101de5760405256fe6080806040526004361015610012575f80fd5b5f905f3560e01c90816311eac8551461098d575080631efd482a1461094a57806335a2db6a1461090757806352c8c75c146103005780635e743ef7146102e25780636e400983146102a1578063775c0d0314610264578063927ede2d146102205780639748cf7c146101dc5763e6eb8ade1461008c575f80fd5b60403660031901126101d9576100a06109ce565b6024359067ffffffffffffffff82116101d757366023830112156101d75781600401359067ffffffffffffffff82116101c457602483019260248336920101116101c457836001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691823b156101d357816001600160a01b0391604051928391633dbb202b60e01b8352169485600483015260606024830152818381610151606482018b8d610a1a565b62030d40604483015203925af180156101c8576101af575b50506101a97f9e6c52944e331ba6270e7fe4cea2a4086bae8f7a27e1cdba07f416806f5d0ac4936040519384938452604060208501526040840191610a1a565b0390a180f35b816101b9916109e4565b6101c457835f610169565b8380fd5b6040513d84823e3d90fd5b5080fd5b825b80fd5b50346101d957806003193601126101d95760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b50346101d957806003193601126101d95760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b50346101d957806003193601126101d95760206040517f000000000000000000000000000000000000000000000000000000000000000015158152f35b50346101d957806003193601126101d957602060405163ffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b50346101d957806003193601126101d957602060405162030d408152f35b50608036600319011261076e576103156109ce565b602435906001600160a01b03821680920361076e5760443591606435906001600160a01b03821680920361076e57846001600160a01b03807f0000000000000000000000000000000000000000000000000000000000000000169416938085145f1461049357803b156101d357818091602460405180948193632e1a7d4d60e01b83528b60048401525af180156101c85761047e575b506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016803b156101d357818691608460405180948193639a2ac6d560e01b835289600484015262030d406024840152606060448401528560648401525af180156101c85761045f575b5050907fd7e09655439c3932e55857df3220186e5a7f0980825f20691c2b35d941dee75b93608093925b604051938452602084015260408301526060820152a180f35b8161046d91959493956109e4565b61047a579091845f61041c565b8480fd5b81610488916109e4565b61047a57845f6103ab565b50506001600160a01b03939192937f000000000000000000000000000000000000000000000000000000000000000016801515806108d5575b156107d0577f0000000000000000000000000000000000000000000000000000000000000000906104fe848284610a3a565b6040516332dd704760e21b815291602083600481855afa92831561077a578893610785575b509060206001600160a01b03809316936024604051809581936352b7631960e11b8352886004840152165afa91821561077a578892610742575b5090917f0000000000000000000000000000000000000000000000000000000000000000919085805b6105bb575050505050917fd7e09655439c3932e55857df3220186e5a7f0980825f20691c2b35d941dee75b9391608093610446565b8481111561073c57845b841561068557833b15610681578a604051634701287760e11b815282600482015263ffffffff7f00000000000000000000000000000000000000000000000000000000000000001660248201528a60448201528460648201528160848201528160a48201526107d060c4820152818160e481838a5af180156101c85761066c575b50505b81039081116106585780610586565b634e487b7160e01b8a52601160045260248afd5b81610676916109e4565b610681578a5f610646565b8a80fd5b6040516337e9a82760e11b8152600481018290527f000000000000000000000000000000000000000000000000000000000000000063ffffffff166024820152604481018a9052606481018490526020816084818f895af18015610731576106ee575b50610649565b6020813d8211610729575b81610706602093836109e4565b81010312610725575167ffffffffffffffff811603610681575f6106e8565b8b80fd5b3d91506106f9565b6040513d8e823e3d90fd5b806105c5565b9091506020813d602011610772575b8161075e602093836109e4565b8101031261076e5751905f61055d565b5f80fd5b3d9150610751565b6040513d8a823e3d90fd5b9092506020813d6020116107c8575b816107a1602093836109e4565b810103126107c45751906001600160a01b03821682036107c45790916020610523565b8780fd5b3d9150610794565b506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016610806838287610a3a565b803b1561076e575f809160e46040518094819363041c592960e51b83528a600484015287602484015289604484015288606484015262030d40608484015260c060a48401528160c48401525af180156108ca5761088b575b50917fd7e09655439c3932e55857df3220186e5a7f0980825f20691c2b35d941dee75b9391608093610446565b608093919550916108be5f7fd7e09655439c3932e55857df3220186e5a7f0980825f20691c2b35d941dee75b96946109e4565b5f95919350919361085e565b6040513d5f823e3d90fd5b506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001685146104cc565b3461076e575f36600319011261076e5760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b3461076e575f36600319011261076e5760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b3461076e575f36600319011261076e576020906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b600435906001600160a01b038216820361076e57565b90601f8019910116810190811067ffffffffffffffff821117610a0657604052565b634e487b7160e01b5f52604160045260245ffd5b908060209392818452848401375f828201840152601f01601f1916010190565b6001600160a01b0316916001600160a01b0360405192636eb1769f60e11b84523060048501521690816024840152602083604481875afa9283156108ca575f93610b93575b508201809211610b7f575f809160405193602085019163095ea7b360e01b83526024860152604485015260448452610ab86064856109e4565b60405193610ac76040866109e4565b602085527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65646020860152519082865af13d15610b72573d9067ffffffffffffffff8211610a0657604051610b39949092610b2b601f8201601f1916602001856109e4565b83523d5f602085013e610bc7565b8051908115918215610b4f575b50501561076e57565b819250906020918101031261076e5760200151801515810361076e575f80610b46565b91610b3992606091610bc7565b634e487b7160e01b5f52601160045260245ffd5b9092506020813d602011610bbf575b81610baf602093836109e4565b8101031261076e5751915f610a7f565b3d9150610ba2565b91925015610be357815115610bda575090565b3b1561076e5790565b50805190811561076e57602001fdfea26469706673582212205b4c0adeb83776a47fe6594eee1ba90c6915201c51cfda590a8139905af8df4064736f6c634300081e0033"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"abi":[{"type":"function","name":"proxiableUUID","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"}]}
|
|
1
|
+
{"abi":[{"type":"function","name":"proxiableUUID","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"}],"bytecode":"0x"}
|
package/dist/{abi → evm/artifacts}/draft-IERC1822Upgradeable.sol/IERC1822ProxiableUpgradeable.json
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"abi":[{"type":"function","name":"proxiableUUID","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"}]}
|
|
1
|
+
{"abi":[{"type":"function","name":"proxiableUUID","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"}],"bytecode":"0x"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"abi":[{"type":"function","name":"doNothing","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"}],"bytecode":"0x608080604052346013576074908160188239f35b5f80fdfe60808060405260043610156011575f80fd5b5f3560e01c632f576f20146023575f80fd5b34603a575f366003190112603a5780602a60209252f35b5f80fdfea2646970667358221220da575b7dc2492834a4ee493fd8278438bf19b0ed6ea70f264cf9833d5e9377b164736f6c634300081e0033"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"abi":[{"type":"function","name":"IS_TEST","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"excludeArtifacts","inputs":[],"outputs":[{"name":"excludedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"excludeContracts","inputs":[],"outputs":[{"name":"excludedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"excludeSelectors","inputs":[],"outputs":[{"name":"excludedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"excludeSenders","inputs":[],"outputs":[{"name":"excludedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"failed","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"setUp","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"targetArtifactSelectors","inputs":[],"outputs":[{"name":"targetedArtifactSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzArtifactSelector[]","components":[{"name":"artifact","type":"string","internalType":"string"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetArtifacts","inputs":[],"outputs":[{"name":"targetedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"targetContracts","inputs":[],"outputs":[{"name":"targetedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"targetInterfaces","inputs":[],"outputs":[{"name":"targetedInterfaces_","type":"tuple[]","internalType":"struct StdInvariant.FuzzInterface[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"artifacts","type":"string[]","internalType":"string[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSelectors","inputs":[],"outputs":[{"name":"targetedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSenders","inputs":[],"outputs":[{"name":"targetedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"test_fillRelayWithDelegatedRecipient","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_is7702DelegatedWallet_ReturnsFalseForDelegatedWallet","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_unwrapToEOA","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_unwrapToRegularContract","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"SlotFound","inputs":[{"name":"who","type":"address","indexed":false,"internalType":"address"},{"name":"fsig","type":"bytes4","indexed":false,"internalType":"bytes4"},{"name":"keysHash","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"slot","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"WARNING_UninitedSlot","inputs":[{"name":"who","type":"address","indexed":false,"internalType":"address"},{"name":"slot","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_address","inputs":[{"name":"","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_bytes","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_bytes32","inputs":[{"name":"","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_int","inputs":[{"name":"","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_address","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_named_bytes","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_named_bytes32","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_named_decimal_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_decimal_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_string","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_named_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_string","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_uint","inputs":[{"name":"","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"logs","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false}],"bytecode":"0x60808060405234602f57600160ff19600c541617600c55600160ff19601f541617601f55619e8c90816100348239f35b5f80fdfe6080806040526004361015610012575f80fd5b5f905f3560e01c9081630a9254e414611e735750806314ee2ab814611b165780631ed7831c14611a985780632ade3880146118d85780633e5e3c231461185a5780633f7286f4146117dc5780635974200e14610b1357806366d9a9a0146109ea5780636b0f5f30146106a257806385226c8114610610578063916a17c614610566578063980298bd146102f4578063b0464fdc1461024a578063b5508aa9146101b1578063ba414fa61461018c578063e20c9f71146100fe5763fa7626d4146100d9575f80fd5b346100fb57806003193601126100fb57602060ff601f54166040519015158152f35b80fd5b50346100fb57806003193601126100fb5760405180916020601554928381520191601582527f55f448fdea98c4d29eb340757ef0a66cd03dbb9538908a6a81d96026b71ec475915b81811061016d576101698561015d81870382612864565b604051918291826126cd565b0390f35b82546001600160a01b0316845260209093019260019283019201610146565b50346100fb57806003193601126100fb5760206101a7612c22565b6040519015158152f35b50346100fb57806003193601126100fb576019546101ce8161291d565b916101dc6040519384612864565b818352601981527f944998273e477b495144fb8794c914197f3ccb46be2900f4698fd0ef743c9695602084015b83831061021e57604051806101698782612770565b60016020819260405161023c81610235818961296d565b0382612864565b815201920192019190610209565b50346100fb57806003193601126100fb57601c546102678161291d565b916102756040519384612864565b818352601c81527f0e4562a10381dec21b205ed72637e6b1b523bdd0e4d4d50af5cd23dd4500a211602084015b8383106102b7576040518061016987826127cf565b600260206001926040516102ca81612848565b6001600160a01b0386541681526102e2858701612a1e565b838201528152019201920191906102a2565b50346100fb57806003193601126100fb5761030d612f86565b80316001600160a01b036020541691604051916370a0823160e01b83526020836024816001600160a01b038616978860048301525afa92831561055b578593610527575b50846001600160a01b03601f5460081c16803b1561052357818091604460405180948193637232889760e11b83528b6004840152670de0b6b3a764000060248401525af18015610518576104ff575b505061040c913190604051916103b7606084612864565b602783527f526567756c617220636f6e74726163742073686f756c64206e6f74207265636560208401527f6976652045544800000000000000000000000000000000000000000000000000604084015261302a565b60206001600160a01b03815416926024604051809581936370a0823160e01b835260048301525afa9182156104f45783926104bc575b50670de0b6b3a764000081018091116104a857906104a59160405191610469606084612864565b602483527f526567756c617220636f6e74726163742073686f756c642072656365697665206020840152630ae8aa8960e31b604084015261302a565b80f35b634e487b7160e01b83526011600452602483fd5b9091506020813d6020116104ec575b816104d860209383612864565b810103126104e85751905f610442565b5f80fd5b3d91506104cb565b6040513d85823e3d90fd5b8161050991612864565b61051457845f6103a0565b8480fd5b6040513d84823e3d90fd5b5080fd5b9092506020813d602011610553575b8161054360209383612864565b810103126104e85751915f610351565b3d9150610536565b6040513d87823e3d90fd5b50346100fb57806003193601126100fb57601d546105838161291d565b916105916040519384612864565b818352601d81527f6d4407e7be21f808e6509aa9fa9143369579dd7d760fe20a2c09680fc146134f602084015b8383106105d3576040518061016987826127cf565b600260206001926040516105e681612848565b6001600160a01b0386541681526105fe858701612a1e565b838201528152019201920191906105be565b50346100fb57806003193601126100fb57601a5461062d8161291d565b9161063b6040519384612864565b818352601a81527f057c384a7d1c54f3a1b2e5e67b2617b8224fdfd1ea7234eea573a6ff665ff63e602084015b83831061067d57604051806101698782612770565b60016020819260405161069481610235818961296d565b815201920192019190610668565b50346100fb57806003193601126100fb576106bb6128e4565b9060405160208101906106e8602082865180838901875e810186838201520301601f198101835282612864565b519020916040519263ffa1864960e01b845260048401526020836024815f516020619e375f395f51905f525afa9283156105185782936109b9575b505f516020619e375f395f51905f523b15610523576040516318caf8e360e31b815282818061076d6001600160a01b0388169586600484015260406024840152604483019061270f565b0381835f516020619e375f395f51905f525af180156104f4579083916109a4575b50508231926001600160a01b03601f5460081c16803b156109a057838091604460405180948193637232889760e11b8352886004840152670de0b6b3a764000060248401525af180156109955790849161097c575b50503192670de0b6b3a764000081018091116104a85761083d839460409283519161080e8584612864565b601683527f454f412073686f756c6420726563656976652045544800000000000000000000602084015261302a565b60206001600160a01b038154169260248351809581936370a0823160e01b835260048301525afa91821561097257839261093b575b508051916108808284612864565b601b83527f454f412073686f756c64206e6f742072656365697665205745544800000000006020840152806108b457505050f35b5f516020619e375f395f51905f523b15610936576108fb928491835194859283926388b44c8560e01b8452600484015284602484015260606044840152606483019061270f565b03815f516020619e375f395f51905f525afa90811561092d575061091c5750f35b8161092691612864565b6100fb5780f35b513d84823e3d90fd5b505050fd5b925090506020823d60201161096a575b8161095860209383612864565b810103126104e857829151905f610872565b3d915061094b565b81513d85823e3d90fd5b8161098691612864565b61099157825f6107e3565b8280fd5b6040513d86823e3d90fd5b8380fd5b816109ae91612864565b61052357815f61078e565b6109dc91935060203d6020116109e3575b6109d48183612864565b810190612886565b915f610723565b503d6109ca565b50346100fb57806003193601126100fb57601b54610a078161291d565b610a146040519182612864565b818152601b83526020810191837f3ad8aa4f87544323a9d1e5dd902f40c356527a7955687113db5f9a85ad579dc1845b838310610ad057868587604051928392602084019060208552518091526040840160408260051b8601019392905b828210610a8157505050500390f35b91936001919395506020610ac08192603f198a820301865288519083610ab0835160408452604084019061270f565b9201519084818403910152612733565b9601920192018594939192610a72565b60026020600192604051610ae381612848565b604051610af481610235818a61296d565b8152610b01858701612a1e565b83820152815201920192019190610a44565b50346100fb57806003193601126100fb57610b2c612da4565b90610b3682612d41565b8131916001600160a01b0360225416906001600160a01b036020541693610e1042018042116117c85760405193610180850185811067ffffffffffffffff8211176117b4579063ffffffff929160405285526001600160a01b03841660208601528560408601528660608601528660808601526706f05b59d3b2000060a08601526706f05b59d3b2000060c0860152600160e086015260016101008601521661012084015283610140840152602092604051610bf28582612864565b8581526101608201526040519060c0820182811067ffffffffffffffff8211176117b45760405281527f9c22ff5f21f0b81b113e63f7db6da94fedef11b2119b4088b89664fb9a3cb658848201526706f05b59d3b20000604082015260608101956001600160a01b0384168752604051610c6c8682612864565b8681526080830152600160a08301526001600160a01b03601f5460081c16908680604051888101906370a0823160e01b825285602482015260248152610cb3604482612864565b5190845afa50610cd2610cc461307d565b878082518301019101612a0f565b506001600160a01b031960115416176011556370a0823163ffffffff19600f541617600f55600e54680100000000000000008110156117b4576001810180600e558110156117a057600e875285872001556001600160a01b0360115416600f5460e01b60105490610d416130c3565b90610d5d846001600160a01b03165f52600d60205260405f2090565b9063ffffffff60e01b1690818a5288526040892060405189810190610d9581610d878888866130ac565b03601f198101835282612864565b5190208a52885260ff600360408b2001541615611792575b610dc8846001600160a01b03165f52600d60205260405f2090565b9089528752610d87610de860408a20936040519283918b830195866130ac565b5190208752855260408620906001820154916002810154610e0981856129ee565b6115d0575b8154604051630667f9d760e41b81526001600160a01b0385166004820152602481018290529490919089866044815f516020619e375f395f51905f525afa9586156115c5578b96611596575b506001908201610100031b5f1901811b198516915f516020619e375f395f51905f523b15611592576040516370ca10bb60e01b81526001600160a01b038616600482015260248101919091526706f05b59d3b2000090911b9190911760448201528881606481835f516020619e375f395f51905f525af1801561158757908991611572575b5050878088600f5460e01b610f2e6024610ef9600d61319d565b6040519485918183019563ffffffff60e01b1686528051918291018484015e810186838201520301601f198101845283612864565b6001600160a01b03601154169151915afa610f4761307d565b906010546001600160fb1b038116810361155e578a9280518b81115f1461155857508a905b8c925b8284106114cd5750505050159081156114ba575b50611448575050506001600160a01b03196011541660115563ffffffff19600f5416600f55600e5485600e5580611424575b508460105560ff1960135416601355610fcf601454612935565b95866113ce575b8596506001600160a01b03602254165f516020619e375f395f51905f523b156113ca57604051906303223eab60e11b825260048201528681602481835f516020619e375f395f51905f525af19081156113bf5787916113a6575b50506001600160a01b03601f5460081c16906001600160a01b036022541691803b156113a25786886111539360a09682966040519889978896879563736050a960e01b875260606004880152611124610160875160c060648b015280516101248b0152848101516101448b015260408101516101648b015260608101516101848b015260808101516101a48b0152868101516101c48b015260c08101516101e48b015260e08101516102048b01526101008101516102248b015263ffffffff610120820151166102448b015263ffffffff610140820151166102648b015201516101806102848a01526102a489019061270f565b918601516084880152604086015160a48801525160c487015260808501518682036063190160e488015261270f565b92015161010484015260248301526001604483015203925af190811561055b57859161138d575b50505f516020619e375f395f51905f523b15610936576040516390c5013b60e01b81528481600481835f516020619e375f395f51905f525af190811561055b578591611378575b505060405161122b9183316111d7606084612864565b603483527f44656c65676174656420726563697069656e742073686f756c64206e6f742072868401527f656365697665204554482066726f6d2066696c6c000000000000000000000000604084015261302a565b816001600160a01b036024818354169360405194859384926370a0823160e01b84521660048301525afa9081156104f4578391611347575b507f44656c65676174656420726563697069656e742073686f756c6420726563656960405192611294606085612864565b602784528301527f766520574554480000000000000000000000000000000000000000000000000060408301526706f05b59d3b2000081036112d4575050f35b5f516020619e375f395f51905f523b156113435761132491839160405193849283926388b44c8560e01b845260048401526706f05b59d3b20000602484015260606044840152606483019061270f565b03815f516020619e375f395f51905f525afa80156105185761091c5750f35b5050fd5b809350828092503d8311611371575b6113608183612864565b810103126104e8578291515f611263565b503d611356565b8161138291612864565b61093657835f6111c1565b8161139791612864565b61093657835f61117a565b8780fd5b816113b091612864565b6113bb57855f611030565b8580fd5b6040513d89823e3d90fd5b8680fd5b601f87116001146113e757858097505085601455610fd6565b601486526001601f868820980160051c880197015b878110611419575085965060148652858581208160145555610fd6565b5f81556001016113fc565b600e8652848620908101905b81811061143d5750610fb5565b868155600101611430565b8288928392545f516020619e375f395f51905f523b15610936576040516370ca10bb60e01b81526001600160a01b03929092166004830152602482015260448101919091528181606481835f516020619e375f395f51905f525af18015610518576114b05750fd5b8161052391612864565b6706f05b59d3b20000915014155f610f83565b909192946114de868360051b6129ee565b83518110156115445783018d01517fff0000000000000000000000000000000000000000000000000000000000000016600387901b8715600889830414171561152f571c1794600101929190610f6f565b50634e487b7160e01b8f52601160045260248ffd5b634e487b7160e01b8f52603260045260248ffd5b90610f6c565b634e487b7160e01b8b52601160045260248bfd5b8161157c91612864565b6113a257875f610edf565b6040513d8b823e3d90fd5b8a80fd5b9095508981813d83116115be575b6115ae8183612864565b810103126104e857519481610e5a565b503d6115a4565b6040513d8d823e3d90fd5b6115da81856129ee565b61010003610100811161177e5760ff811161177e5760405163348051d760e11b81526001821b60048201528a816024815f516020619e375f395f51905f525afa9081156115c557908b8b9281926116e3575b5091606a6116cf92600195946040519384927f73746453746f726167652066696e642853746453746f72616765293a20506163828501527f6b656420736c6f742e2057652063616e2774206669742076616c75652067726560408501527f61746572207468616e200000000000000000000000000000000000000000000060608501528051918291018585015e82019083820152030190601f1982018152612864565b1b6706f05b59d3b2000010610e0e575b8880fd5b925050503d808c833e6116f68183612864565b8101908a8183031261177a57805167ffffffffffffffff81116117765782601f82840101121561177657808201519161172e836128a5565b9361173c6040519586612864565b8385528d84848401010111611772578d60019594818f866116cf97828098606a9801018386015e8301015293509193945061162c565b8d80fd5b8c80fd5b8b80fd5b634e487b7160e01b8a52601160045260248afd5b61179a6133de565b50610dad565b634e487b7160e01b87526032600452602487fd5b634e487b7160e01b87526041600452602487fd5b634e487b7160e01b85526011600452602485fd5b50346100fb57806003193601126100fb5760405180916020601754928381520191601782527fc624b66cc0138b8fabc209247f72d758e1cf3343756d543badbf24212bed8c15915b81811061183b576101698561015d81870382612864565b82546001600160a01b0316845260209093019260019283019201611824565b50346100fb57806003193601126100fb5760405180916020601854928381520191601882527fb13d2d76d1f4b7be834882e410b3e3a8afaf69f83600ae24db354391d2378d2e915b8181106118b9576101698561015d81870382612864565b82546001600160a01b03168452602090930192600192830192016118a2565b50346100fb57806003193601126100fb57601e546118f58161291d565b6119026040519182612864565b818152601e83526020810191837f50bb669a95c7b50b7e8a6f09454034b2b14cf2b85c730dca9a539ca82cb6e350845b838310611a075786858760405192839260208401906020855251809152604084019160408260051b8601019392815b83831061196e5786860387f35b919395509193603f19878203018352855190602060408201926001600160a01b0381511683520151916040602083015282518091526060820190602060608260051b850101940192855b8281106119dc57505050505060208060019297019301930190928695949293611961565b90919293946020806119fa600193605f19878203018952895161270f565b97019501939291016119b8565b604051611a1381612848565b6001600160a01b038354168152600183018054611a2f8161291d565b91611a3d6040519384612864565b8183528a526020808b20908b9084015b838210611a73575050505060019282602092836002950152815201920192019190611932565b600160208192604051611a8a81610235818a61296d565b815201930191019091611a4d565b50346100fb57806003193601126100fb5760405180916020601654928381520191601682527fd833147d7dc355ba459fc788f669e58cfaf9dc25ddcd0702e87d69c7b5124289915b818110611af7576101698561015d81870382612864565b82546001600160a01b0316845260209093019260019283019201611ae0565b50346100fb57806003193601126100fb57611b2f612da4565b611b37612f86565b90611b406128e4565b91836040516020810190611b6e602082885180838b01875e810186838201520301601f198101835282612864565b5190206040519063ffa1864960e01b825260048201526020816024815f516020619e375f395f51905f525afa908115610518578291611e54575b505f516020619e375f395f51905f523b1561052357816001600160a01b03611bf59260405193849283926318caf8e360e31b8452169889600484015260406024840152604483019061270f565b0381835f516020619e375f395f51905f525af1801561051857611e3f575b50506001600160a01b03601f5460081c16926001600160a01b036040519363eda355d760e01b8552166004840152602083602481875afa92831561055b578593611e1e575b50611cc260609360405190611c6d8683612864565b602b82527f53686f756c64206e6f7420646574656374204549502d373730322064656c656760208301527f617465642077616c6c65740000000000000000000000000000000000000000006040830152612fbe565b6001600160a01b036040519263eda355d760e01b8452166004830152602082602481875afa91821561055b57602092611d5f918791611e01575b5060405190611d0b8683612864565b602f82527f53686f756c64206e6f742064657465637420726567756c617220636f6e747261858301527f63742061732064656c65676174656400000000000000000000000000000000006040830152612fbe565b60246040518095819363eda355d760e01b835260048301525afa80156104f4576104a5928491611dd2575b50611d986040519283612864565b602282527f53686f756c64206e6f742064657465637420454f412061732064656c65676174602083015261195960f21b6040830152612fbe565b611df4915060203d602011611dfa575b611dec8183612864565b810190612905565b5f611d8a565b503d611de2565b611e189150843d8611611dfa57611dec8183612864565b5f611cfc565b611e3891935060203d602011611dfa57611dec8183612864565b915f611c58565b81611e4991612864565b6109a057835f611c13565b611e6d915060203d6020116109e3576109d48183612864565b5f611ba8565b9050346104e8575f3660031901126104e85761086e80820182811067ffffffffffffffff8211176126b9578291613d7d833903905ff0801561268f576001600160a01b03166001600160a01b0319602054161760205560405163ffa1864960e01b8152600160048201526020816024815f516020619e375f395f51905f525afa801561268f576001600160a01b03915f9161269a575b50166001600160a01b0319602154161760215560405163ffa1864960e01b8152600260048201526020816024815f516020619e375f395f51905f525afa801561268f576001600160a01b03915f91612670575b50166001600160a01b031960225416176022556040908151611f7e8382612864565b60098152602081017f726563697069656e7400000000000000000000000000000000000000000000008152835160096020820192835e5f602982015260098152611fc9602982612864565b51902083519063ffa1864960e01b825260048201526020816024815f516020619e375f395f51905f525afa908115612647575f91612651575b505f516020619e375f395f51905f523b156104e8575f6001600160a01b0361204d92865193849283926318caf8e360e31b84521695866004840152886024840152604483019061270f565b0381835f516020619e375f395f51905f525af1801561264757612632575b506001600160a01b0319602354161760235581516120898382612864565b60128152602081017f6d6f636b496d706c656d656e746174696f6e00000000000000000000000000008152835160126020820192835e836032820152601281526120d4603282612864565b51902083519063ffa1864960e01b825260048201526020816024815f516020619e375f395f51905f525afa908115612609578391612613575b505f516020619e375f395f51905f523b1561099157826001600160a01b0361215892865193849283926318caf8e360e31b84521695866004840152886024840152604483019061270f565b0381835f516020619e375f395f51905f525af18015612609579083916125f4575b50506001600160a01b031960245416176024556001600160a01b03602154165f516020619e375f395f51905f523b15610523578251906303223eab60e11b825260048201528181602481835f516020619e375f395f51905f525af180156125ea579082916125d5575b50506001600160a01b0360205416825190615529908183019183831067ffffffffffffffff8411176125c1579183916020936145eb8439815203019082f09182156125b7576001600160a01b03602154169281516122408382612864565b60078152602081017f687562506f6f6c000000000000000000000000000000000000000000000000008152835160076020820192835e8560278201526007815261228b602782612864565b51902083519063ffa1864960e01b825260048201526020816024815f516020619e375f395f51905f525afa90811561258e578591612598575b505f516020619e375f395f51905f523b1561051457846001600160a01b0361230f92865193849283926318caf8e360e31b84521695866004840152886024840152604483019061270f565b0381835f516020619e375f395f51905f525af1801561258e57908591612579575b505082519463191f15db60e21b60208701528460248701526044860152606485015260648452612361608485612864565b815190610297908183019183831067ffffffffffffffff841117612565579583926001600160a01b0361239c938899619b14873916906128c1565b039083f0801561255a577fffffffffffffffffffffff0000000000000000000000000000000000000000ff74ffffffffffffffffffffffffffffffffffffffff00601f549260081b16911617601f555f516020619e375f395f51905f523b156125365780516390c5013b60e01b81528281600481835f516020619e375f395f51905f525af1801561253957908391612545575b50506124486001600160a01b03601f5460081c16612cd4565b6001600160a01b03601f5460081c165f516020619e375f395f51905f523b156113435781519063ca669fa760e01b825260048201528281602481835f516020619e375f395f51905f525af1801561253957908391612521575b50506001600160a01b036020541690813b156113435782674563918244f40000926004835180958193630d0e30db60e41b83525af190811561092d575061250c575b506124f86001600160a01b0360225416612cd4565b6104a56001600160a01b0360235416612d41565b8161251691612864565b6100fb57805f6124e3565b8161252b91612864565b61253657815f6124a1565b50fd5b505051903d90823e3d90fd5b8161254f91612864565b61253657815f61242f565b5051903d90823e3d90fd5b634e487b7160e01b86526041600452602486fd5b8161258391612864565b6109a057835f612330565b84513d87823e3d90fd5b6125b1915060203d6020116109e3576109d48183612864565b5f6122c4565b51903d90823e3d90fd5b634e487b7160e01b85526041600452602485fd5b816125df91612864565b6100fb57805f6121e2565b83513d84823e3d90fd5b816125fe91612864565b61052357815f612179565b84513d85823e3d90fd5b61262c915060203d6020116109e3576109d48183612864565b5f61210d565b61263f9192505f90612864565b5f905f61206b565b84513d5f823e3d90fd5b61266a915060203d6020116109e3576109d48183612864565b5f612002565b612689915060203d6020116109e3576109d48183612864565b5f611f5c565b6040513d5f823e3d90fd5b6126b3915060203d6020116109e3576109d48183612864565b5f611f09565b634e487b7160e01b5f52604160045260245ffd5b60206040818301928281528451809452019201905f5b8181106126f05750505090565b82516001600160a01b03168452602093840193909201916001016126e3565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b90602080835192838152019201905f5b8181106127505750505090565b82516001600160e01b031916845260209384019390920191600101612743565b602081016020825282518091526040820191602060408360051b8301019401925f915b8383106127a257505050505090565b90919293946020806127c0600193603f19868203018752895161270f565b97019301930191939290612793565b602081016020825282518091526040820191602060408360051b8301019401925f915b83831061280157505050505090565b9091929394602080612839600193603f198682030187526040838b516001600160a01b03815116845201519181858201520190612733565b970193019301919392906127f2565b6040810190811067ffffffffffffffff8211176126b957604052565b90601f8019910116810190811067ffffffffffffffff8211176126b957604052565b908160209103126104e857516001600160a01b03811681036104e85790565b67ffffffffffffffff81116126b957601f01601f191660200190565b6040906001600160a01b036128e19493168152816020820152019061270f565b90565b604051906128f3604083612864565b6003825262656f6160e81b6020830152565b908160209103126104e8575180151581036104e85790565b67ffffffffffffffff81116126b95760051b60200190565b90600182811c92168015612963575b602083101461294f57565b634e487b7160e01b5f52602260045260245ffd5b91607f1691612944565b5f929181549161297c83612935565b80835292600181169081156129d1575060011461299857505050565b5f9081526020812093945091925b8383106129b7575060209250010190565b6001816020929493945483858701015201910191906129a6565b915050602093945060ff929192191683830152151560051b010190565b919082018092116129fb57565b634e487b7160e01b5f52601160045260245ffd5b908160209103126104e8575190565b90604051918281549182825260208201905f5260205f20925f905b806007830110612b7d57612a8f945491818110612b5e575b818110612b3f575b818110612b20575b818110612b01575b818110612ae2575b818110612ac3575b818110612aa6575b10612a91575b500383612864565b565b6001600160e01b03191681526020015f612a87565b602083811b6001600160e01b031916855290930192600101612a81565b604083901b6001600160e01b0319168452602090930192600101612a79565b606083901b6001600160e01b0319168452602090930192600101612a71565b608083901b6001600160e01b0319168452602090930192600101612a69565b60a083901b6001600160e01b0319168452602090930192600101612a61565b60c083901b6001600160e01b0319168452602090930192600101612a59565b60e083901b6001600160e01b0319168452602090930192600101612a51565b916008919350610100600191865463ffffffff60e01b8160e01b16825263ffffffff60e01b8160c01b16602083015263ffffffff60e01b8160a01b16604083015263ffffffff60e01b8160801b16606083015263ffffffff60e01b8160601b16608083015263ffffffff60e01b8160401b1660a083015263ffffffff60e01b8160201b1660c083015263ffffffff60e01b1660e0820152019401920185929391612a39565b60085460ff1615612c3257600190565b604051630667f9d760e41b81525f516020619e375f395f51905f5260048201527f6661696c6564000000000000000000000000000000000000000000000000000060248201526020816044815f516020619e375f395f51905f525afa90811561268f575f91612ca2575b50151590565b90506020813d602011612ccc575b81612cbd60209383612864565b810103126104e857515f612c9c565b3d9150612cb0565b5f516020619e375f395f51905f523b156104e85760405163c88a5e6d60e01b81526001600160a01b03919091166004820152678ac7230489e8000060248201525f81604481835f516020619e375f395f51905f525af1801561268f57612d375750565b5f612a8f91612864565b5f516020619e375f395f51905f523b156104e85760405163c88a5e6d60e01b81526001600160a01b03919091166004820152670de0b6b3a764000060248201525f81604481835f516020619e375f395f51905f525af1801561268f57612d375750565b60245460405161ef0160f01b602082015260609190911b6bffffffffffffffffffffffff19166023820152601781525f612ddf603783612864565b6040805192612dee8285612864565b600f8452602084017f64656c65676174656457616c6c6574000000000000000000000000000000000081528251600f6020820192835e5f602f820152600f8152612e39602f82612864565b5190209382519463ffa1864960e01b865260048601526020856024815f516020619e375f395f51905f525afa948515612f5b575f95612f65575b505f516020619e375f395f51905f523b156104e8575f612ebc918451809381926318caf8e360e31b83526001600160a01b038a166004840152876024840152604483019061270f565b0381835f516020619e375f395f51905f525af18015612f5b57612f46575b505f516020619e375f395f51905f523b15610991579082612f0f92825180948192635a6b63c160e11b835288600484016128c1565b0381835f516020619e375f395f51905f525af190811561092d5750612f3357505090565b612f3e828092612864565b6100fb575090565b612f539193505f90612864565b5f915f612eda565b83513d5f823e3d90fd5b612f7f91955060203d6020116109e3576109d48183612864565b935f612e73565b604051608c80820182811067ffffffffffffffff8211176126b9578291619dab833903905ff0801561268f576001600160a01b031690565b80612fc7575050565b5f516020619e375f395f51905f523b156104e85760408051637ba0480960e01b815291151560048301526024820152905f908290819061300b90604483019061270f565b03815f516020619e375f395f51905f525afa801561268f57612d375750565b9080820361303757505050565b5f516020619e375f395f51905f523b156104e8575f9161300b60405194859384936388b44c8560e01b85526004850152602484015260606044840152606483019061270f565b3d156130a7573d9061308e826128a5565b9161309c6040519384612864565b82523d5f602084013e565b606090565b60209291908391805192839101825e019081520190565b6130ce601454612935565b61318b576040519081826020600e549283815201600e5f5260205f20925f5b81811061317257505061310292500383612864565b81518060051b90808204602014901517156129fb57613120816128a5565b9061312e6040519283612864565b80825261313d601f19916128a5565b013660208301375f5b835181101561316d578061315c6001928661336d565b5160208260051b8501015201613146565b509150565b84548352600194850194879450602090930192016130ed565b6040516128e18161023581601461296d565b60078101906131ac8254612935565b61326857600191500190604051808360208295549384815201905f5260205f20925f5b81811061324f5750506131e492500383612864565b81518060051b90808204602014901517156129fb57613202816128a5565b906132106040519283612864565b80825261321f601f19916128a5565b013660208301375f5b835181101561316d578061323e6001928661336d565b5160208260051b8501015201613228565b84548352600194850194879450602090930192016131cf565b506128e1610235916040519283809261296d565b905f806020600285015460e01b6132976024610ef98861319d565b6001600160a01b036004870154169151915afa60036132b461307d565b9301548060051b906001600160fb1b038116036129fb575f938051602081115f1461336757506020905b5f925b8284106132f057505050509190565b909192956132fe87836129ee565b835181101561335357830160200151600388901b91907fff0000000000000000000000000000000000000000000000000000000000000016881560088a85041417156129fb576001921c1796019291906132e1565b634e487b7160e01b5f52603260045260245ffd5b906132de565b80518210156133535760209160051b010190565b9080601f830112156104e85781516133988161291d565b926133a66040519485612864565b81845260208085019260051b8201019283116104e857602001905b8282106133ce5750505090565b81518152602091820191016133c1565b5f906001600160a01b036011541690600f5460e01b60105490613401600d61319d565b90845f52600d60205260405f209063ffffffff60e01b1690815f5260205260405f20604051602081019061343a81610d878888866130ac565b5190205f5260205260ff600360405f20015416613ba1575f516020619e375f395f51905f523b156104e85760405163266cf10960e01b81525f81600481835f516020619e375f395f51905f525af1801561268f57613b8c575b5061349e600d61327c565b90506040516365bc948160e01b815286600482015287816024815f516020619e375f395f51905f525afa908115613b08578891613b27575b508051806134e2578880fd5b979596975b8015613b135790613533915f1901906020613502838361336d565b51604051630667f9d760e41b81526001600160a01b038d166004820152602481019190915293849081906044820190565b03815f516020619e375f395f51905f525afa928315613b08578893613ad5575b508215613a8a575b613565828261336d565b51601154604051630667f9d760e41b81526001600160a01b03909116600482018190526024820183905291906020816044815f516020619e375f395f51905f525afa9081156115c5578b91613a59575b506135c0600d61327c565b91909382155f14613a52575f19905b5f516020619e375f395f51905f523b15611772576040516370ca10bb60e01b81526001600160a01b039190911660048201526024810185905260448101919091528c81606481835f516020619e375f395f51905f525af180156139be57908d91613a3d575b5050613640600d61327c565b9390506001600160a01b03601154165f516020619e375f395f51905f523b15611772576040516370ca10bb60e01b81526001600160a01b03919091166004820152602481019190915260448101919091528b81606481835f516020619e375f395f51905f525af18015613a3257908c91613a1d575b505082613a12575b505015613a0b578793889360ff6013541661388e575b6001868601610100031b5f1901851b16841c8103613885575090613759917f9c9555b1e3102e3cf48f427d79cb678f5d9bd1ed0ad574389461e255f95170ed60808c89610d8761372e8d6040519283916020830195866130ac565b51902061373b868661336d565b51906040519283528a602084015260408301526060820152a161336d565b5190604051916080830183811067ffffffffffffffff82111761387157906003939291604052825260208201938452604082019081526060820193600185528a8952600d60205260408920868a526020526040892060405160208101906137c581610d878d8d866130ac565b5190208a526020526040892092518355516001830155516002820155019051151560ff80198354169116179055858452600d6020526040842081855260205260408420604051602081019061381f81610d878888866130ac565b519020855260205260ff600360408620015416156109a057604094958452600d602052848420908452602052610d876138658585209386519283916020830195866130ac565b51902082526020522090565b634e487b7160e01b89526041600452602489fd5b935091506134e7565b94506138d9935061389f838361336d565b51601154604051630667f9d760e41b81526001600160a01b0390911660048201526024810182905290959094602090869081906044820190565b03815f516020619e375f395f51905f525afa948515613a00578a956139cd575b5061390586600d613be3565b95909661391381600d613cba565b9290916001600160a01b03601154165f516020619e375f395f51905f523b156139c9576040516370ca10bb60e01b81526001600160a01b03919091166004820152602481019190915260448101919091528c81606481835f516020619e375f395f51905f525af180156139be57908d916139a9575b5050876139a1575b5094956136d35750935091506134e7565b96505f613990565b816139b391612864565b61177a578b5f613988565b6040513d8f823e3d90fd5b8e80fd5b9094506020813d82116139f8575b816139e860209383612864565b810103126104e85751935f6138f9565b3d91506139db565b6040513d8c823e3d90fd5b91506134e7565b141590505f806136bd565b81613a2791612864565b611592578a5f6136b5565b6040513d8e823e3d90fd5b81613a4791612864565b61177a578b5f613634565b8c906135cf565b90506020813d8211613a82575b81613a7360209383612864565b810103126104e857515f6135b5565b3d9150613a66565b7f080fc4a96620c4462e705b23f346413fe3796bb63c6f8d8591baec0e231577a5613ab5838361336d565b51604080516001600160a01b038e168152602081019290925290a161355b565b9092506020813d8211613b00575b81613af060209383612864565b810103126104e85751915f613553565b3d9150613ae3565b6040513d8a823e3d90fd5b634e487b7160e01b87526011600452602487fd5b90503d8089833e613b388183612864565b8101906040818303126116df57805167ffffffffffffffff8111613b885782613b62918301613381565b91602082015167ffffffffffffffff811161159257613b819201613381565b505f6134d6565b8980fd5b613b999196505f90612864565b5f945f613493565b9193909294505f52600d60205260405f20905f52602052610d87613bd460405f20936040519283916020830195866130ac565b5190205f5260205260405f2090565b91905f5b6101008110613bfa57505090505f905f90565b8060ff0360ff81116129fb576001901b6001600160a01b036004860154165f516020619e375f395f51905f523b156104e8576040516370ca10bb60e01b81526001600160a01b039190911660048201526024810184905260448101919091525f81606481835f516020619e375f395f51905f525af1801561268f57613caa575b50613c848461327c565b81613ca0575b50613c9757600101613be7565b92505060019190565b905015155f613c8a565b5f613cb491612864565b5f613c7a565b91905f5b6101008110613cd157505090505f905f90565b6001811b6001600160a01b036004860154165f516020619e375f395f51905f523b156104e8576040516370ca10bb60e01b81526001600160a01b039190911660048201526024810184905260448101919091525f81606481835f516020619e375f395f51905f525af1801561268f57613d6c575b50613d4f8461327c565b81613d62575b50613c9757600101613cbe565b905015155f613d55565b5f613d7691612864565b5f613d4556fe60806040523461010e576100135f54610112565b601f81116100c7575b507f577261707065642045746865720000000000000000000000000000000000001a5f5560015461004c90610112565b601f811161007f575b6008630ae8aa8960e31b016001556002805460ff19166012179055604051610723908161014b8239f35b60015f52601f0160051c7fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6908101905b8181106100bc5750610055565b5f81556001016100af565b5f8052601f0160051c7f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563908101905b818110610103575061001c565b5f81556001016100f6565b5f80fd5b90600182811c92168015610140575b602083101461012c57565b634e487b7160e01b5f52602260045260245ffd5b91607f169161012156fe60806040526004361015610026575b361561001e5761001c6106a6565b005b61001c6106a6565b5f3560e01c806306fdde0314610411578063095ea7b31461039957806318160ddd1461037e57806323b872dd1461034f5780632e1a7d4d146102b6578063313ce5671461029657806370a082311461025e57806395d89b4114610140578063a9059cbb1461010e578063d0e30db0146100fb5763dd62ed3e0361000e57346100f75760403660031901126100f7576100bc61050d565b6001600160a01b036100cc610523565b91165f5260046020526001600160a01b0360405f2091165f52602052602060405f2054604051908152f35b5f80fd5b5f3660031901126100f75761001c6106a6565b346100f75760403660031901126100f757602061013661012c61050d565b6024359033610567565b6040519015158152f35b346100f7575f3660031901126100f7576040515f6001548060011c90600181168015610254575b6020831081146102405782855290811561022457506001146101ce575b50819003601f01601f191681019067ffffffffffffffff8211818310176101ba57604082905281906101b690826104e3565b0390f35b634e487b7160e01b5f52604160045260245ffd5b60015f9081529091507fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf65b82821061020e57506020915082010182610184565b60018160209254838588010152019101906101f9565b90506020925060ff191682840152151560051b82010182610184565b634e487b7160e01b5f52602260045260245ffd5b91607f1691610167565b346100f75760203660031901126100f7576001600160a01b0361027f61050d565b165f526003602052602060405f2054604051908152f35b346100f7575f3660031901126100f757602060ff60025416604051908152f35b346100f75760203660031901126100f757600435335f5260036020528060405f2054106100f757335f52600360205260405f206102f4828254610539565b9055805f8115610346575b5f80809381933390f11561033b576040519081527f7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b6560203392a2005b6040513d5f823e3d90fd5b506108fc6102ff565b346100f75760603660031901126100f757602061013661036d61050d565b610375610523565b60443591610567565b346100f7575f3660031901126100f757602047604051908152f35b346100f75760403660031901126100f7576103b261050d565b6001600160a01b0360243591335f52600460205260405f208282165f526020528260405f205560405192835216907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b346100f7575f3660031901126100f7576040515f5f548060011c906001811680156104d9575b6020831081146102405782855290811561022457506001146104855750819003601f01601f191681019067ffffffffffffffff8211818310176101ba57604082905281906101b690826104e3565b5f8080529091507f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5635b8282106104c357506020915082010182610184565b60018160209254838588010152019101906104ae565b91607f1691610437565b602060409281835280519182918282860152018484015e5f828201840152601f01601f1916010190565b600435906001600160a01b03821682036100f757565b602435906001600160a01b03821682036100f757565b9190820391821161054657565b634e487b7160e01b5f52601160045260245ffd5b9190820180921161054657565b6001600160a01b031690815f5260036020528260405f2054106100f757338214158061067b575b6105fd575b60206001600160a01b037fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92845f526003835260405f206105d5878254610539565b90551693845f526003825260405f206105ef82825461055a565b9055604051908152a3600190565b815f52600460205260405f206001600160a01b0333165f526020528260405f2054106100f75760206001600160a01b037fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92845f526004835260405f208233165f52835260405f20610670878254610539565b905592505050610593565b50815f52600460205260405f206001600160a01b0333165f5260205260405f205f199054141561058e565b335f52600360205260405f206106bd34825461055a565b90556040513481527fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c60203392a256fea2646970667358221220a8f81421a470c75e9f0c793f452bd62c584a36d4653a6db6577767bb9ba8e79c64736f6c634300081e0033610200806040523461029c57602081615529803803809161002082856102a0565b83398101031261029c57516001600160a01b0381169081900361029c57306080525f60c0525f60a05260e052610e1061010052617e90610120525f5460ff8160081c1661029c5760ff80821603610262575b505f610160525f610180525f610140525f80604051602081019063011a412160e61b8252600481526100a56024826102a0565b5190825afa3d1561025b573d6001600160401b03811161024757604051906100d7601f8201601f1916602001836102a0565b81523d5f602083013e5b8161023b575b81610205575b506101a0525f6101c05260016101e05260405161526590816102c482396080518181816110a90152818161143a01526114fb015260a051816116f3015260c051816118c3015260e05181818161081a0152818161358101528181613e81015281816141d5015281816142580152818161437401526147d001526101005181818161167401526140600152610120518181816104b90152613e2d01526101405181818161188301528181614f0b0152614fb30152610160518181816107830152818161445d0152614df20152610180518181816120550152818161448d0152614e1b01526101a051818181611c920152614eb101526101c05181818161115101526144e101526101e0518181816107be0152614c4b0152f35b905060208151910151906020811061022a575b506001600160a01b031615155f6100ed565b5f199060200360031b1b165f610218565b805160201491506100e7565b634e487b7160e01b5f52604160045260245ffd5b60606100e1565b60ff90811916175f557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160ff8152a15f610072565b5f80fd5b601f909101601f19168101906001600160401b038211908210176102475760405256fe6080604052600436101561001a575b3615610018575f80fd5b005b5f3560e01c8063079bd2c71461048a5780630cb84d9a146104855780631186ec331461048057806311eac8551461047b57806312622e5b1461047657806315348e44146103fe57806317fcb39b1461047157806319c1648c1461046c5780631b3d5559146104675780631fab657c1461046257806329cb924d1461045d5780632e378115146104585780632e63e59a146104535780633659cfe61461044e5780633a90dc85146104495780633f00627b1461036d578063437b911614610444578063490e49ef1461043f578063493a4f841461043a5780634f1ef286146104355780635285e0581461043057806352d1902d1461042b578063541f4f1414610426578063577f51f81461042157806357f6dcb81461041c57806358f105ed146104175780636068d6cb1461041257806361a04d301461040d578063647c576c14610408578063670fa8ac146104035780636bbbcd2e146103fe5780636e400983146103f95780636fd5c10e146103f4578063736050a9146103ef578063738b62e5146103ea5780637659f9e0146103e5578063775c0d03146103e05780637aef642c146103db5780637b939232146103d65780637ef413e1146103d157806382e2c43f146103cc5780638a7860ce146103c75780638b15788e146103c25780639748cf7c146103bd57806397943aa9146103b8578063979f2bc2146103b357806399cc2968146103ae5780639a8a0592146103a9578063a1244c67146103a4578063a18a096e1461039f578063ac9650d81461039a578063ad5425c614610395578063adb5a6a61461033b578063b370b7f514610390578063b4c0d7ab1461038b578063babb6aac14610386578063c35c83fc14610381578063ceb4c9871461037c578063d513cb6614610377578063d7e1583a14610372578063da9578691461036d578063dda5211314610368578063ddd224f114610363578063de7eba781461035e578063deff4b2414610359578063e322921114610354578063e465112e1461034f578063ea86bd461461034a578063eda355d714610345578063ee2a53f814610340578063f79f29ed1461033b5763fc8a584f0361000e57612a72565b612526565b612a34565b6129d7565b61296a565b612941565b61291a565b612828565b6127d8565b6127af565b612789565b611189565b612753565b612706565b6126e8565b6126bd565b6125de565b6125af565b61256d565b6124b5565b612416565b6122be565b612297565b61227d565b6121ce565b612107565b612079565b612036565b611fc5565b611f35565b611e17565b611de1565b611d49565b611cb7565b611c7b565b611b3c565b611a7c565b6119b8565b6118a7565b611867565b6107e1565b61182d565b611748565b6116dc565b6116b6565b611698565b611658565b6115db565b61154b565b6114e1565b6114ba565b6113f8565b611357565b611339565b61126c565b611132565b611082565b610e89565b610d36565b610d0d565b610c05565b610ae3565b610863565b6107fb565b6107a7565b610764565b6106fd565b610508565b61049d565b5f91031261049957565b5f80fd5b34610499575f36600319011261049957602060405163ffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b6001600160a01b0381160361049957565b60e435906104fb826104dd565b565b35906104fb826104dd565b34610499576020366003190112610499576001600160a01b0360043561052d816104dd565b165f5261087460205260206001600160a01b0360405f205416604051908152f35b608435908160070b820361049957565b60a435908160070b820361049957565b63ffffffff81160361049957565b61010435906104fb8261056e565b61012435906104fb8261056e565b61014435906104fb8261056e565b61016435906104fb8261056e565b35906104fb8261056e565b634e487b7160e01b5f52604160045260245ffd5b6040810190811067ffffffffffffffff8211176105ef57604052565b6105bf565b6101a0810190811067ffffffffffffffff8211176105ef57604052565b6060810190811067ffffffffffffffff8211176105ef57604052565b90601f8019910116810190811067ffffffffffffffff8211176105ef57604052565b604051906104fb60c08361062d565b604051906104fb6101808361062d565b604051906104fb6101a08361062d565b604051906104fb60808361062d565b67ffffffffffffffff81116105ef57601f01601f191660200190565b9291926106b58261068d565b916106c3604051938461062d565b829481845281830111610499578281602093845f960137010152565b9080601f83011215610499578160206106fa933591016106a9565b90565b610100366003190112610499576107156004356104dd565b6107206024356104dd565b61072861054e565b5061073460a43561056e565b60c43567ffffffffffffffff8111610499576107549036906004016106df565b506332ed1ba560e21b5f5260045ffd5b34610499575f3660031901126104995760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b34610499575f3660031901126104995760206040517f00000000000000000000000000000000000000000000000000000000000000008152f35b34610499575f3660031901126104995760206040515f8152f35b34610499575f3660031901126104995760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b604090600319011261049957600435610856816104dd565b906024356106fa816104dd565b34610499576108713661083e565b6001600160a01b0361111161111160901b018161086954160116330361049957610899613546565b6001600160a01b0381169182151580610932575b610923576108f46001600160a01b03926108d9836001600160a01b03165f5261087460205260405f2090565b906001600160a01b03166001600160a01b0319825416179055565b167f323983f5343e25b2c1396361b1b791be31484841fdfb95b8615cd02d910b1e085f80a36100186001606555565b63a63e8c6b60e01b5f5260045ffd5b50604051637e062a3560e11b8152602081600481875afa90811561099b575f9161096c575b506001600160a01b03808316911614156108ad565b61098e915060203d602011610994575b610986818361062d565b810190613557565b5f610957565b503d61097c565b61356c565b67ffffffffffffffff81116105ef5760051b60200190565b9080601f830112156104995781356109cf816109a0565b926109dd604051948561062d565b81845260208085019260051b82010192831161049957602001905b828210610a055750505090565b81358152602091820191016109f8565b9080601f83011215610499578135610a2c816109a0565b92610a3a604051948561062d565b81845260208085019260051b82010192831161049957602001905b828210610a625750505090565b602080918335610a71816104dd565b815201910190610a55565b929190610a88816109a0565b93610a96604051958661062d565b602085838152019160051b810192831161049957905b828210610ab857505050565b8135815260209182019101610aac565b9080601f83011215610499578160206106fa93359101610a7c565b606036600319011261049957600435610afb8161056e565b6024359067ffffffffffffffff82116104995760c0600319833603011261049957610b2461064f565b918060040135835260248101356020840152604481013567ffffffffffffffff811161049957610b5a90600436918401016109b8565b6040840152610b6b606482016105b4565b6060840152610b7c608482016104fd565b608084015260a48101359067ffffffffffffffff8211610499576004610ba59236920101610a15565b60a08301526044359167ffffffffffffffff831161049957610bce610018933690600401610ac8565b91612abb565b9181601f840112156104995782359167ffffffffffffffff8311610499576020808501948460051b01011161049957565b346104995760603660031901126104995760043567ffffffffffffffff81116104995780360390606060031983011261049957602435610c448161056e565b60443567ffffffffffffffff811161049957610c64903690600401610bd4565b919093610c6f613546565b600484013590610182190181121561049957610d0394610cfe93610c9a6004610cf794880101612ca9565b95610cb0610cab60808901516138ca565b613577565b6044610cbb88613488565b91013560208801519061016089015192610cd361064f565b998a5260208a01526040890152606088015260808701525f60a08701523691610a7c565b90836138e0565b613962565b6100186001606555565b34610499575f366003190112610499576020604051428152f35b90816101809103126104995790565b346104995760403660031901126104995760043567ffffffffffffffff811161049957610d67903690600401610d27565b602435610d7382612cb4565b6001600160a01b031691610d8960208201612cb4565b6001600160a01b031690610d9f60408201612cb4565b6001600160a01b031690610db560608201612cb4565b6001600160a01b0316610dca60808301612cb4565b6001600160a01b031660e083013560c084013560a0850135610def6101008701612cbe565b93610dfd6101208801612cbe565b95610e0b6101408901612cbe565b976101608101610e1a91612cc8565b99909a610e2561065e565b9d8e5260208e015260408d015260608c015260808b015260a08a015260c089015260e088015263ffffffff9081166101008801521661012086015263ffffffff166101408501523690610e77926106a9565b610160830152610018913391906134b9565b346104995760203660031901126104995760043567ffffffffffffffff811161049957610eba903690600401610d27565b610ec2613546565b60ff61086b5460e01c166110735763ffffffff421690610140810190610efa83610eeb84612cbe565b63ffffffff9182169116101590565b6110645761012081019263ffffffff610f1285612cbe565b161061105557610f2a610f2536836118e7565b613488565b90610f3e825f5261087260205260405f2090565b5461104757610f80610f7a7f3cee3e290f36226751cd0b3321b213890fe9c768e922f267fa6111836ce05c32935f5261087260205260405f2090565b60019055565b606081013561103a60808301359260a08101359060c081013560e082013597610fb7610fb16101008501359b612cbe565b91612cbe565b604084013591843593610fe6610fe1610fda602089013598610160810190612cc8565b36916106a9565b613b04565b966040519a8b9a8b969394610120989563ffffffff9485939d9c9b98946101408b019e8b5260208b015260408a015260608901521660808701521660a085015260c084015260e08301526101008201520152565b0390a36100186001606555565b624be79160e21b5f5260045ffd5b63d642b7d960e01b5f5260045ffd5b630277ae7b60e21b5f5260045ffd5b633d90fc5560e11b5f5260045ffd5b346104995760203660031901126104995760043561109f816104dd565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016803014610499576001600160a01b037f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc541603610499576001600160a01b0361111161111160901b0181610869541601163303610499576100189061112c612594565b90613b19565b34610499575f3660031901126104995760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b634e487b7160e01b5f52601160045260245ffd5b34610499575f36600319011261049957604051620100038152602090f35b6020600319820112610499576004359067ffffffffffffffff8211610499576111d291600401610bd4565b9091565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b602081016020825282518091526040820191602060408360051b8301019401925f915b83831061122c57505050505090565b909192939460208061125d600193603f198682030187526040838b51805115158452015191818582015201906111d6565b9701930193019193929061121d565b346104995761127a366111a7565b611283816109a0565b91611291604051938461062d565b818352601f196112a0836109a0565b015f5b8181106113155750505f5b8281106112c757604051806112c386826111fa565b0390f35b8061130f6112d760019387612d25565b515f806112e5858989612d39565b906112f560405180938193612d50565b0390305af490611303612d5d565b60208201529015159052565b016112ae565b602090604051611324816105d3565b5f8152606083820152828288010152016112a3565b34610499575f3660031901126104995760206040516301e133808152f35b3461049957604036600319011261049957600435602435906001600160a01b0361111161111160901b018161086954160116330361049957611397613546565b61086c54680100000000000000008110156105ef5780600163ffffffff920161086c55836113c482612a11565b5084600182015555167fc86ba04c55bc5eb2f2876b91c438849a296dbec7b08751c3074d92e04f0a77af5f80a46001606555005b604036600319011261049957600435611410816104dd565b60243567ffffffffffffffff8111610499576114309036906004016106df565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016803014610499576001600160a01b037f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc541603610499576001600160a01b0361111161111160901b01816108695416011633036104995761001891613bcf565b34610499575f3660031901126104995760206001600160a01b036108695416604051908152f35b34610499575f366003190112610499576001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036104995760206040517f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8152f35b610120366003190112610499576115636004356104dd565b61156e6024356104dd565b6115796044356104dd565b61158161055e565b5061158d60c43561056e565b60e43567ffffffffffffffff8111610499576107549036906004016106df565b9181601f840112156104995782359167ffffffffffffffff8311610499576020838186019501011161049957565b346104995760c0366003190112610499576004356115f8816104dd565b6024356044359160643561160b816104dd565b60843567ffffffffffffffff81116104995761162b9036906004016115ad565b9160a4359567ffffffffffffffff8711610499576116506100189736906004016115ad565b969095612ddf565b34610499575f36600319011261049957602060405163ffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b34610499575f36600319011261049957604051620100048152602090f35b34610499575f36600319011261049957602060ff61086b5460e81c166040519015158152f35b34610499575f3660031901126104995760206040517f00000000000000000000000000000000000000000000000000000000000000008152f35b60609060031901126104995760043561172e8161056e565b9060243561173b816104dd565b906044356106fa816104dd565b34610499576117a561175936611716565b5f54939290919061178b60ff600887901c1615611775565b1590565b8096819761181f575b81156117ff575b50612d1e565b8461179c600160ff195f5416175f55565b6117e857612e4e565b6117ab57005b6117b961ff00195f54165f55565b604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602090a1005b6117fa61010061ff00195f5416175f55565b612e4e565b303b15915081611811575b505f611785565b60ff1660011490505f61180a565b600160ff821610915061177e565b34610499575f3660031901126104995760206040517f8d1994e2bbbd77564cdca06dd819e7ee2a5efa06c80dcb59a4a7b6e39edc538f8152f35b34610499575f36600319011261049957602060405163ffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b34610499575f36600319011261049957602060405163ffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b91909161018081840312610499576118fd61065e565b92813584526020820135602085015260408201356040850152606082013560608501526080820135608085015260a082013560a085015260c082013560c085015260e082013560e085015261010082013561010085015261196161012083016105b4565b61012085015261197461014083016105b4565b61014085015261016082013567ffffffffffffffff81116104995761199992016106df565b610160830152565b8015150361049957565b604435906104fb826119a1565b346104995760603660031901126104995760043567ffffffffffffffff81116104995760c06003198236030112610499576119f161064f565b816004013567ffffffffffffffff811161049957611a1590600436918501016118e7565b8152602482013560208201526044820135604082015260648201356060820152608482013567ffffffffffffffff81116104995761001892611a5f60a492600436918401016106df565b6080840152013560a0820152602435611a766119ab565b91613a64565b3461049957602036600319011261049957600435611a99816119a1565b6001600160a01b0361111161111160901b01816108695416011633036104995760207fe88463c2f254e2b070013a2dc7ee1e099f9bc00534cbdf03af551dc26ae4921991611ae5613546565b151561086b547fffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60ff60e81b8360e81b1691161761086b55604051908152a16001606555005b9060206106fa9281815201906111d6565b346104995760203660031901126104995760043567ffffffffffffffff811161049957611b6d9036906004016115ad565b6001600160a01b0361111161111160901b018161086954160116330361049957611b95613546565b810160408282031261049957813591611bad836104dd565b60208101359167ffffffffffffffff8311610499576001600160a01b0392611bd592016106df565b91168015611c6c576004825110611c5d575f8083516020850182855af190611bfb612d5d565b9115611c4e577f41a941b8313293eca483f41d8faa2498e005e6d7700e2e93f41d3cb7e70a897d611c356112c39460405191829182611b2b565b0390a2611c426001606555565b60405191829182611b2b565b6348ebf0a960e11b5f5260045ffd5b637f5e6be560e01b5f5260045ffd5b634e93b52160e11b5f5260045ffd5b34610499575f3660031901126104995760206040517f000000000000000000000000000000000000000000000000000000000000000015158152f35b61016036600319011261049957600435611cd0816104dd565b602435611cdc816104dd565b60443591611ce9836104dd565b606435611cf5816104dd565b60843560e43560c43560a435611d0a836104dd565b611d1261057c565b93611d1b61058a565b95610144359967ffffffffffffffff8b1161049957611d416100189b36906004016115ad565b9a9099612f2b565b61018036600319011261049957600435611d62816104dd565b602435611d6e816104dd565b60443591611d7b836104dd565b606435611d87816104dd565b60843560a43560c435611d986104ee565b90611da161057c565b92611daa61058a565b94611db3610598565b96610164359a67ffffffffffffffff8c1161049957611dd96100189c36906004016115ad565b9b909a612f4d565b34610499576060366003190112610499576020611e0f600435611e03816104dd565b60243560443591613073565b604051908152f35b346104995760603660031901126104995760043560243567ffffffffffffffff811161049957611e4b9036906004016115ad565b9060443567ffffffffffffffff811161049957611e6c9036906004016115ad565b9190936040516020810190611e9581611e87468988876130b1565b03601f19810183528261062d565b51902003611f26575f93611eb0828695611eb994019061272d565b928101906130ce565b51611ef0611ece335b6001600160a01b031690565b91611e8760405193849260208401966337bfd2c960e21b885260248501613199565b5190305af4611efd612d5d565b9015611f0557005b60405163b8fe37a760e01b8152908190611f229060048301611b2b565b0390fd5b630f0c8f4760e11b5f5260045ffd5b34610499576020366003190112610499576004356001600160a01b0361111161111160901b018161086954160116330361049957611f71613546565b611f7a81612a11565b611fb2576001815f80935501557f7c1af0646963afc3343245b103731965735a893347bfa0d58a5dc77a77ae691c5f80a26001606555005b634e487b7160e01b5f525f60045260245ffd5b6101a03660031901126104995760443560243560043560643560843560a4356101043560e43560c435611ff661058a565b93611fff610598565b956120086105a6565b97610184359b67ffffffffffffffff8d116104995761202e6100189d36906004016115ad565b9c909b6131bb565b34610499575f3660031901126104995760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b346104995760e03660031901126104995760043567ffffffffffffffff8111610499576120aa903690600401610d27565b602435604435916064356084359060a43567ffffffffffffffff8111610499576120d89036906004016115ad565b92909160c4359667ffffffffffffffff8811610499576120ff6100189836906004016115ad565b979096613233565b346104995761211536611716565b909160ff5f5460081c16156104995761214b9063ffffffff60c01b1963ffffffff60c01b61086b549260c01b1691161761086b55565b604080519261215a828561062d565b600984526020808501926820a1a927a9a996ab1960b91b845261217f8151918261062d565b6005815201640312e302e360dc1b815260ff5f5460081c16156104995760056121c9936100189651902091209061047f55610480556121bc614095565b6121c46140a4565b6140b8565b614110565b34610499576020366003190112610499576004356121eb816119a1565b6001600160a01b0361111161111160901b01816108695416011633036104995760207f2d5b62420992e5a4afce0e77742636ca2608ef58289fd2e1baa5161ef6e7e41e91612237613546565b151561086b547fffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffff60ff60e01b8360e01b1691161761086b55604051908152a16001606555005b34610499575f366003190112610499576020604051468152f35b34610499575f36600319011261049957602063ffffffff61086b5460c01c16604051908152f35b34610499576040366003190112610499576004356024356122de826145e5565b6001600160a01b03821691825f5261087360205261230f60405f20336001600160a01b03165f5260205260405f2090565b549283156123a8576123585f91612325846145e5565b61234233916001600160a01b03165f5261087360205260405f2090565b906001600160a01b03165f5260205260405f2090565b5561237883612369611ec2846138ca565b612372856138ca565b90614168565b60405192835233927f6c172ea51018fb2eb2118f3f8a507c4df71eb519b8c0052834dc3c920182fef490602090a4005b6336542bf760e21b5f5260045ffd5b602081016020825282518091526040820191602060408360051b8301019401925f915b8383106123e957505050505090565b9091929394602080612407600193603f1986820301875289516111d6565b970193019301919392906123da565b3461049957612424366111a7565b9061242e82613321565b915f5b81811061244657604051806112c386826123b7565b5f80612453838587612d39565b9061246360405180938193612d50565b0390305af4612470612d5d565b901561249657906001916124848287612d25565b5261248f8186612d25565b5001612431565b604481511061049957806024806004610499940151830101910161336a565b610180366003190112610499576044356024356004356064356084356101043560e43560c43560a4356124e78461056e565b6124ef61058a565b946124f8610598565b96610164359a67ffffffffffffffff8c116104995761251e6100189c36906004016115ad565b9b909a6133cd565b346104995760206125646001600160a01b036125413661083e565b91165f52610873835260405f20906001600160a01b03165f5260205260405f2090565b54604051908152f35b34610499575f3660031901126104995760206001600160a01b0361086a5416604051908152f35b604051906125a360208361062d565b5f808352366020840137565b34610499575f366003190112610499576112c36125ca612594565b6040519182916020835260208301906111d6565b346104995760c03660031901126104995760043560243560443560643560843567ffffffffffffffff81116104995761261b9036906004016115ad565b60a4939193359067ffffffffffffffff8211610499577f45e04bc8f121ba11466985789ca2822a91109f31bb8ac85504a37b7eaf873c26946126646126b39336906004016115ad565b92909161266f613546565b6126788a6145e5565b6126a7898b898961268a3688886106a9565b92612696368b8b6106a9565b946001600160a01b03469216613c86565b60405196879687612dac565b0390a36001606555005b34610499576020366003190112610499576004355f52610872602052602060405f2054604051908152f35b34610499575f36600319011261049957602060405163ffffffff8152f35b34610499575f3660031901126104995760206001600160a01b03610c5b5416604051908152f35b9060208282031261049957813567ffffffffffffffff8111610499576106fa92016118e7565b346104995760203660031901126104995760043567ffffffffffffffff811161049957611e0f610f2560209236906004016118e7565b34610499575f36600319011261049957602060ff61086b5460e01c166040519015158152f35b34610499575f3660031901126104995760206040516ec097ce7bc90715b34b9f10000000008152f35b34610499576020366003190112610499576004356127f5816104dd565b6001600160a01b0361111161111160901b018161086954160116330361049957612821906121c4613546565b6001606555005b346104995760603660031901126104995760043567ffffffffffffffff8111610499576128599036906004016118e7565b6024359060443590612869613546565b60ff61086b5460e01c166110735761014081015163ffffffff166128984263ffffffff165b9163ffffffff1690565b1015806128fb575b6128ec57610d03926128b182613488565b60c0830151602084015190610160850151926128cb61064f565b958652602086015260408501526060840152608083015260a08201526139db565b630c3a9b9d60e41b5f5260045ffd5b5061290960408201516138ca565b6001600160a01b03163314156128a0565b34610499575f3660031901126104995760206001600160a01b03610c5a5416604051908152f35b3461049957604036600319011261049957610018600435612961816104dd565b602435906141b0565b610160366003190112610499576044356024356004356064356101043560e43560c43560a43560843561299c8561056e565b61012435956129aa8761056e565b610144359967ffffffffffffffff8b11610499576129cf6100189b36906004016115ad565b9a9099613525565b34610499576020366003190112610499576129f36004356104dd565b60206040515f8152f35b634e487b7160e01b5f52603260045260245ffd5b61086c54811015612a2f5761086c5f52600360205f20910201905f90565b6129fd565b346104995760203660031901126104995760043561086c5481101561049957612a5e604091612a11565b506001815491015482519182526020820152f35b3461049957602036600319011261049957600435612a8f816104dd565b6001600160a01b0361111161111160901b018161086954160116330361049957612821906121c9613546565b9190612ac5613546565b60808101612add610cab82516001600160a01b031690565b602082019283514603612bdd57611771612b0591846001612afd89612a11565b5001546135eb565b612bce5763ffffffff7ff4ad92585b1bc117fbdd644990adf0827bc4c95baeae8a23322af807b6d0020e91612bc16060850195612b4f612b49885163ffffffff1690565b8961366f565b8051958051612bab612b9d612b8c604085019a8c612b738d51915163ffffffff1690565b8a516001600160a01b03169160a08901978851946136e7565b9351945199519a5163ffffffff1690565b95516001600160a01b031690565b90519086604051978897169b1699339487612c5b565b0390a46104fb6001606555565b63582f497d60e11b5f5260045ffd5b633d23e4d160e11b5f5260045ffd5b90602080835192838152019201905f5b818110612c095750505090565b8251845260209384019390920191600101612bfc565b90602080835192838152019201905f5b818110612c3c5750505090565b82516001600160a01b0316845260209384019390920191600101612c2f565b949695919260a0946001600160a01b03612c878196612c9b958a5260c060208b015260c08a0190612bec565b921660408801528682036060880152612c1f565b951515608085015216910152565b6106fa9036906118e7565b356106fa816104dd565b356106fa8161056e565b903590601e1981360301821215610499570180359067ffffffffffffffff82116104995760200191813603831361049957565b634e487b7160e01b5f52602160045260245ffd5b60031115612d1957565b612cfb565b1561049957565b8051821015612a2f5760209160051b010190565b90821015612a2f576111d29160051b810190612cc8565b908092918237015f815290565b3d15612d87573d90612d6e8261068d565b91612d7c604051938461062d565b82523d5f602084013e565b606090565b908060209392818452848401375f828201840152601f01601f1916010190565b94929093612dd1926106fa979587526020870152608060408701526080860191612d8c565b926060818503910152612d8c565b92957f45e04bc8f121ba11466985789ca2822a91109f31bb8ac85504a37b7eaf873c26956001600160a01b039586612e49959a949916612e3b8a8c83612e263688886106a9565b91612e32368b8b6106a9565b9346908d613c86565b604051978897169a87612dac565b0390a3565b91909161800a6001600160a01b0319610c5a541617610c5a5560ff5f5460081c161561049957612e9b9063ffffffff60c01b1963ffffffff60c01b61086b549260c01b1691161761086b55565b6040805192612eaa828561062d565b600984526020808501926820a1a927a9a996ab1960b91b8452612ecf8151918261062d565b6005815201640312e302e360dc1b815260ff5f5460081c16156104995760056121c9936104fb9651902091209061047f55610480556121bc614095565b9063ffffffff8091169116019063ffffffff8211612f2657565b611175565b96949290916104fb9b9a9998969492612f4b63ffffffff42169889612f0c565b985b9593919b999897969492909b612f61613546565b61086b5460ff8160e81c166130645760c01c63ffffffff1696612f8388613471565b612faa9063ffffffff60c01b1963ffffffff60c01b61086b549260c01b1691161761086b55565b612fb261066e565b9d6001600160a01b038f921682526001600160a01b031690602001526001600160a01b031660408d01526001600160a01b031660608c015260808b015260a08a015260c08901526001600160a01b031660e088015263ffffffff16610100870152610120860190613028919063ffffffff169052565b63ffffffff1661014085015263ffffffff16610160840152369061304b926106a9565b61018082015261305a90613dc8565b6104fb6001606555565b630b4cba3160e31b5f5260045ffd5b916040519160208301936bffffffffffffffffffffffff199060601b16845260348301526054820152605481526130ab60748261062d565b51902090565b9392916020916130c991604087526040870191612d8c565b930152565b9081602091031261049957604051906020820182811067ffffffffffffffff8211176105ef5760405235815290565b906101806101606106fa93805184526020810151602085015260408101516040850152606081015160608501526080810151608085015260a081015160a085015260c081015160c085015260e081015160e085015261010081015161010085015261317761012082015161012086019063ffffffff169052565b6101408181015163ffffffff16908501520151918161016082015201906111d6565b6131b1604092959493956060835260608301906130fd565b9460208201520152565b9c9a99989796959493929190966131d0613546565b60ff61086b5460e81c16613064576131e9908e33613073565b96604051809e6131f8826105f4565b81526020015260408d015260608c015260808b015260a08a015260c089015260e088015261010087015263ffffffff16610120860152613028565b979290959694939196613244613546565b60ff61086b5460e01c166110735761325f6101408a01612cbe565b61326e4263ffffffff1661288e565b101580613302575b6128ec5761305a986132f76132fd97613292610f2536856118e7565b9961329b61064f565b9a6132a636866118e7565b8c5260208c01528560408c01528660608c01526132c436868b6106a9565b60808c015260a08b01526132ef6132db84356138ca565b9860e06101008601359501359536916106a9565b9636916106a9565b95613c86565b6139db565b5061331060408a01356138ca565b6001600160a01b0316331415613276565b9061332b826109a0565b613338604051918261062d565b8281528092613349601f19916109a0565b01905f5b82811061335957505050565b80606060208093850101520161334d565b6020818303126104995780519067ffffffffffffffff8211610499570181601f820112156104995780519061339e8261068d565b926133ac604051948561062d565b8284526020838301011161049957815f9260208093018386015e8301015290565b9b999897969492909593916133e0613546565b61086b5460ff8160e81c166130645760c01c63ffffffff169661340288613471565b6134299063ffffffff60c01b1963ffffffff60c01b61086b549260c01b1691161761086b55565b61343161066e565b9d8e5260208e015260408d015260608c015260808b015260a08a015260c089015260e088015263ffffffff90811661010088015216610120860152613028565b63ffffffff1663ffffffff8114612f265760010190565b6040516130ab816134a560208201946040865260608301906130fd565b46604083015203601f19810183528261062d565b9190916134c4613546565b60ff61086b5460e01c166110735761014081015163ffffffff166134ed4263ffffffff1661288e565b101580613506575b6128ec5761305a926128b182613488565b5061351460408201516138ca565b6001600160a01b03163314156134f5565b9a9897959296939094919661354163ffffffff42169788612f0c565b976133e05b600260655414610499576002606555565b9081602091031261049957516106fa816104dd565b6040513d5f823e3d90fd5b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116911681146135ae575b50565b476135b65750565b4790803b15610499575f90600460405180948193630d0e30db60e41b83525af1801561099b57156135ab575f6104fb9161062d565b6106fa929160405161366681611e87602082019460208652805160408401526020810151606084015260a0613630604083015160c06080870152610100860190612bec565b606083015163ffffffff168583015260808301516001600160a01b031660c0860152910151838203603f190160e0850152612c1f565b51902091614284565b61367a600291612a11565b500162ffffff8260081c1691825f5281602052600160ff60405f205492161b80809216146136bc57825f528160205260405f205417915f5260205260405f2055565b63954476d960e01b5f5260045ffd5b90816020910312610499575190565b91908201809211612f2657565b91959495939092935f96815190818151036138bb5781613766575b50505082613711575b50505050565b63ffffffff613748611ec283611ec27ffa7fa7cf6d7dde5f9be65a67e6a1a747e7aa864dcd2d793353c722d80fbbb357958861435e565b6040805195865233602087015290959190911693a45f80808061370b565b6040516370a0823160e01b81523060048201526020816024816001600160a01b0389165afa90811561099b575f9161388c575b505f5f5b8481106137ac57505050613702565b6137b68187612d25565b516137c4575b60010161379d565b906137da906137d38388612d25565b51906136da565b9082821161387d576138146117716138026137f58488612d25565b516001600160a01b031690565b61380c848a612d25565b51908a6142d5565b156137bc579a506138258b86612d25565b5161387361386b8d6138566137f561384f8c6001600160a01b03165f5261087360205260405f2090565b9289612d25565b6001600160a01b03165f5260205260405f2090565b9182546136da565b905560019a6137bc565b632ddaa83160e11b5f5260045ffd5b6138ae915060203d6020116138b4575b6138a6818361062d565b8101906136cb565b5f613799565b503d61389c565b6319a5316760e31b5f5260045ffd5b6001600160a01b03906138dc816145e5565b1690565b916117719161395c936040815191015191604051916138fe83610611565b825261366661391a602084019246845260408501958652612a11565b505493604051928391613941602084019660208852516060604086015260a08501906130fd565b9151606084015251608083015203601f19810183528261062d565b612bce57565b805163ffffffff6101208201511663ffffffff42911610611055576020820151906002613998835f5261087260205260405f2090565b54146139cc576104fb9260026139b96001945f5261087260205260405f2090565b556139c760025f8484614692565b614794565b630479306360e51b5f5260045ffd5b90815163ffffffff6101208201511663ffffffff42911610611055576020830151926001613a12855f5261087260205260405f2090565b5403613a5d576001935b6002613a31825f5261087260205260405f2090565b54146139cc576104fb945f946002613a556139c7945f5261087260205260405f2090565b558484614692565b5f93613a1c565b919091805190613a7c61012083015163ffffffff1690565b63ffffffff429116106110555760208101518315613adc5760025b6002613aac835f5261087260205260405f2090565b54146139cc576104fb95613ad5613acf6139c7945f5261087260205260405f2090565b60029055565b8484614692565b6001613af1825f5261087260205260405f2090565b5403613afe576001613a97565b5f613a97565b80519081613b125750505f90565b6020012090565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615613b4d576104fb9150614998565b6040516352d1902d60e01b81526020816004816001600160a01b0386165afa5f9181613bae575b50613b7d575f80fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc03610499576104fb915f916148c7565b613bc891925060203d6020116138b4576138a6818361062d565b905f613b74565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615613c03576104fb9150614998565b6040516352d1902d60e01b81526020816004816001600160a01b0386165afa5f9181613c65575b50613c33575f80fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc03610499576104fb916001916148c7565b613c7f91925060203d6020116138b4576138a6818361062d565b905f613c2a565b93926042936104fb979660208151910120906040519260208401947f8d1994e2bbbd77564cdca06dd819e7ee2a5efa06c80dcb59a4a7b6e39edc538f86526040850152856060850152608084015260a083015260c082015260c08152613ced60e08261062d565b5190209061047f549061048054906040519160208301937fc2f8787176b8ac6bf7215b4adcc1e069bf4ab82d9ab1df05a57a91d425935b6e855260408401526060830152608082015260808152613d4560a08261062d565b519020906040519161190160f01b83526002830152602282015220906149f9565b91908203918211612f2657565b9692610140989563ffffffff9586949285936106fa9e9d9a958c5260208c015260408b015260608a01521660808801521660a08601521660c084015260e08301526101008201528161012082015201906111d6565b613dd281516145e5565b606081019081511561408757610120810190613dfe613df5835163ffffffff1690565b63ffffffff1690565b80421090811561404e575b5061403f57610140810192613e22845163ffffffff1690565b63ffffffff613e53817f000000000000000000000000000000000000000000000000000000000000000016426136da565b9116116140305761016082015163ffffffff16918280613fed575b5060408101918251926001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001680941480613fe4575b15613f945760808301513403613f8557833b15610499575f60049460405195868092630d0e30db60e41b825234905af190811561099b577f32ed1a409ef04c7b0227189c3a103dc5ac10e775a15b785dcc510201f7c25ad394613f6692613f6b575b505b5191519260808101519060a081015160c082015197613f45613f3a6101008501519b5163ffffffff1690565b9b5163ffffffff1690565b83519b60208501519361018060e0870151960151966040519a8b9a8b613d73565b0390a4565b80613f795f613f7f9361062d565b8061048f565b5f613f0c565b636452a35d60e01b5f5260045ffd5b925034613f8557613f6683613fdf613fd0611ec27f32ed1a409ef04c7b0227189c3a103dc5ac10e775a15b785dcc510201f7c25ad397516138ca565b60808601519030903390614ad8565b613f0e565b50341515613eaa565b6301e133801015614018575b60e081015115614009575f613e6e565b63495d907f60e01b5f5260045ffd5b9161402a9063ffffffff421690612f0c565b91613ff9565b63582e388960e01b5f5260045ffd5b63f722177f60e01b5f5260045ffd5b614059915042613d66565b63ffffffff7f000000000000000000000000000000000000000000000000000000000000000016105f613e09565b6231010160e51b5f5260045ffd5b60ff5f5460081c161561049957565b60ff5f5460081c1615610499576001606555565b6001600160a01b0316801561410157806001600160a01b0319610869541617610869557fa9e8c42c9e7fca7f62755189a16b2f5314d43d8fb24e91ba54e6d65f9314e8495f80a2565b63ba97b39d60e01b5f5260045ffd5b6001600160a01b0316801561415957806001600160a01b031961086a54161761086a557fa73e8909f8616742d7fe701153d82666f7b7cd480552e23ebb05d358c22fd04e5f80a2565b635b03092b60e11b5f5260045ffd5b60405163a9059cbb60e01b60208201526001600160a01b03909216602483015260448201929092526104fb916141ab82606481015b03601f19810184528361062d565b614b2f565b906001600160a01b038216803b15801561427d575b1561424957506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691823b1561049957604051632e1a7d4d60e01b815260048101839052925f908490602490829084905af192831561099b576104fb93614235575b50614bba565b80613f795f6142439361062d565b5f61422f565b6104fb92506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016614168565b505f6141c5565b929091905f915b84518310156142cd5761429e8386612d25565b5190818110156142bc575f52602052600160405f205b92019161428b565b905f52602052600160405f206142b4565b915092501490565b60405163a9059cbb60e01b60208281019182526001600160a01b039094166024830152604482019490945290925f916143118160648101611e87565b519082855af1903d5f519083614328575b50505090565b9192509061433d57503b15155b5f8080614322565b6001915014614335565b6040906106fa9392815281602082015201906111d6565b906001600160a01b038116906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001682145f146144595750803b1561049957604051632e1a7d4d60e01b815260048101839052905f908290602490829084905af1801561099b57614445575b506143eb611ec2611ec2610c5a546001600160a01b031690565b61086a546001600160a01b0316813b15610499576040516351cff8d960e01b81526001600160a01b03919091166004820152915f9183916024918391905af1801561099b576144375750565b80613f795f6104fb9361062d565b80613f795f6144539361062d565b5f6143d1565b91907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168103614562577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316156144d2575061086a546104fb92506001600160a01b0316614de6565b90614508816001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168094614cf7565b61086a546001600160a01b031691803b1561049957604051636ce5768960e11b81526001600160a01b03938416600482015293909216602484015260448301525f908290606490829084905af1801561099b576144375750565b50602090614590836145766145bc95614be2565b9261458a61086a546001600160a01b031690565b90614cc8565b9061459e611ec26201000381565b905f6040518096819582946325171add60e11b845260048401614347565b03925af1801561099b576145cd5750565b6135ab9060203d6020116138b4576138a6818361062d565b60a01c6145ee57565b6379ec0ed760e11b5f5260045ffd5b61460682612d0f565b52565b9a98969492909c9b99979593916101e08c019d8c5260208c015260408b015260608a0152608089015263ffffffff1660a088015263ffffffff1660c087015260e08601526101008501526101208401526101408301528051610160830152602081015161018083015260408101516101a0830152606001519061468b82612d0f565b6101c00152565b7f44b559f101f8fbcc8a0ea43fa91a05a729a5ea6e14a7c75aa750374690137208909392936060830151613f6660808501519260a08601519660c08701519660a08301519860e0820151986101008301519a6146f661012085015163ffffffff1690565b61014085015163ffffffff169160408601519386519561475a61472261016060208b01519a0151613b04565b9960608c01519b60406147386080830151613b04565b91015190602061474661067e565b9e8f528e015260408d015260608c016145fd565b6040519c8d9c8d614609565b906106fa94936080936001600160a01b038093168452602084015216604082015281606082015201906111d6565b9060806147a29101516138ca565b9160806040830151926147b860608201516138ca565b92846001600160a01b03871691856001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001684145f146148a9575015614895575b61481391506001600160a01b0385166141b0565b015190815115158061488b575b61482a5750505050565b6001600160a01b0316803b1561049957614860935f809460405196879586948593633a5be8cb60e01b8552339160048601614766565b03925af1801561099b57614877575b80808061370b565b80613f795f6148859361062d565b5f61486f565b50803b1515614820565b6148a29130903390614ad8565b5f846147ff565b906148be576148b9923390614ad8565b614813565b6148b992614168565b916148d183614998565b6001600160a01b0383167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f80a281511590811591614990575b50614914575050565b6135ab915f806040519361492960608661062d565b602785527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c60208601527f206661696c6564000000000000000000000000000000000000000000000000006040860152602081519101845af461498a612d5d565b91615189565b90505f61490b565b803b15610499576001600160a01b03166001600160a01b03197f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5416177f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b919091614a0682846150b2565b9390926005851015612d1957614a2f94159384614ac2575b508315614a44575b50505015151590565b614a3557565b63938a182160e01b5f5260045ffd5b5f935090611e87614a6f8594936040519283916020830195630b135d3f60e11b875260248401614347565b51915afa614a7b612d5d565b81614ab4575b81614a90575b505f8080614a26565b9050614aad630b135d3f60e11b91602080825183010191016136cb565b145f614a87565b905060208151101590614a81565b6001600160a01b0384811691161493505f614a1e565b6040516323b872dd60e01b60208201526001600160a01b03928316602482015292909116604483015260648201929092526104fb916141ab826084810161419d565b9081602091031261049957516106fa816119a1565b906001600160a01b03614b8a92165f8060405193614b4e60408661062d565b602085527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564602086015260208151910182855af161498a612d5d565b8051908115918215614ba0575b50501561049957565b614bb39250602080918301019101614b1a565b5f80614b97565b814710610499575f8080936001600160a01b038294165af1614bda612d5d565b501561049957565b6020614c2391614bf8611ec2611ec26201000390565b6040518080958194637aa1335160e11b8352600483019190916001600160a01b036020820193169052565b03915afa90811561099b575f91614ca9575b506001600160a01b03811615614c9a57604080517f00000000000000000000000000000000000000000000000000000000000000006020820190815262010004928201929092526001600160a01b039092166060830152906130ab8160808101611e87565b630f58058360e11b5f5260045ffd5b614cc2915060203d60201161099457610986818361062d565b5f614c35565b6040805160208101929092526001600160a01b0392831690820152911660608201526106fa8160808101611e87565b60405163095ea7b360e01b602082019081526001600160a01b03841660248301526044808301959095529381529192614d6390614d3560648561062d565b5f806001600160a01b0385169286519082855af190614d52612d5d565b82614db4575b5081614dad57501590565b614d6c57505050565b60405163095ea7b360e01b60208201526001600160a01b0390931660248401525f60448401526104fb926141ab90614da78160648101611e87565b82614b2f565b3b15919050565b80519192508115918215614dcc575b5050905f614d58565b614ddf9250602080918301019101614b1a565b5f80614dc3565b6001600160a01b0316907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001692614e478385846150e3565b6040516332dd704760e21b815291602083600481885afa92831561099b575f93615068575b506040516352b7631960e11b81526001600160a01b0391821660048201819052949093909160209185916024918391165afa92831561099b575f93615047575b5092837f0000000000000000000000000000000000000000000000000000000000000000945b614ede57505050505050565b8381111561504157835b8515614f9d57863b1561049957604051634701287760e11b8152600481018290527f000000000000000000000000000000000000000000000000000000000000000063ffffffff166024820152604481018590526001600160a01b03841660648201525f6084820181905260a482018190526107d060c48301529092908360e481838c5af192831561099b57614f8393614f89575b50613d66565b80614ed2565b80613f795f614f979361062d565b5f614f7d565b6040516337e9a82760e11b8152600481018290527f000000000000000000000000000000000000000000000000000000000000000063ffffffff166024820152604481018590526001600160a01b0384166064820152916020836084815f8c5af192831561099b57614f83936150135750613d66565b6150339060203d811161503a575b61502b818361062d565b810190615092565b505f614f7d565b503d615021565b80614ee8565b61506191935060203d6020116138b4576138a6818361062d565b915f614eac565b6001600160a01b0391935061508b9060203d60201161099457610986818361062d565b9290614e6c565b90816020910312610499575167ffffffffffffffff811681036104995790565b9060418151145f146150da576111d291602082015190606060408401519301515f1a906151b4565b50505f90600290565b604051636eb1769f60e11b81523060048201526001600160a01b0383166024820152602081806044810103816001600160a01b0386165afa90811561099b576104fb946141ab9261513b925f9161516a575b506136da565b60405163095ea7b360e01b60208201526001600160a01b0390941660248501526044840152826064810161419d565b615183915060203d6020116138b4576138a6818361062d565b5f615135565b919250156151a55781511561519c575090565b3b156104995790565b50805190811561049957602001fd5b7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411615224576020935f9360ff60809460405194855216868401526040830152606082015282805260015afa1561099b575f516001600160a01b0381161561521c57905f90565b505f90600190565b505050505f9060039056fea264697066735822122004d26c38a2bf199151147f2ca99483a6afed48143769819f26d603c7974f2cb664736f6c634300081e003360806040526102978038038061001481610158565b9283398101604082820312610140578151916001600160a01b03831690818403610140576020810151906001600160401b038211610140570182601f82011215610140578051906001600160401b0382116101445761007c601f8301601f1916602001610158565b938285526020838301011161014057815f9260208093018387015e84010152823b1561012e577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b031916821790557fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f80a2805115610117576101079161017d565b505b604051608d908161020a8239f35b505034156101095763b398979f60e01b5f5260045ffd5b634c9c8ce360e01b5f5260045260245ffd5b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b6040519190601f01601f191682016001600160401b0381118382101761014457604052565b905f8091602081519101845af480806101f6575b156101b15750506040513d81523d5f602083013e60203d82010160405290565b156101d657639996b31560e01b5f9081526001600160a01b0391909116600452602490fd5b3d156101e7576040513d5f823e3d90fd5b63d6bda27560e01b5f5260045ffd5b503d1515806101915750813b151561019156fe60806040525f8073ffffffffffffffffffffffffffffffffffffffff7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5416368280378136915af43d5f803e156053573d5ff35b3d5ffdfea2646970667358221220b4f751551e8c993724d80b75f06a6b733e676ce4a8ce689fc4276947d90a676664736f6c634300081e0033608080604052346013576074908160188239f35b5f80fdfe60808060405260043610156011575f80fd5b5f3560e01c632f576f20146023575f80fd5b34603a575f366003190112603a5780602a60209252f35b5f80fdfea2646970667358221220da575b7dc2492834a4ee493fd8278438bf19b0ed6ea70f264cf9833d5e9377b164736f6c634300081e00330000000000000000000000007109709ecfa91a80626ff3989d68f67f5b1dd12da264697066735822122003ce00860c38700270bc5cacb581693f66c472fb06bce4ed04220ca3f5d739d764736f6c634300081e0033"}
|