diff --git a/README.md b/README.md index 0cd4e6d..2f0fd3b 100644 --- a/README.md +++ b/README.md @@ -7,8 +7,8 @@ Use this package to install the Tellor user contracts and test helper functions, ## Contents - `contracts/interfaces/ITellorDataBridge.sol` - The TellorDataBridge interface -- `contracts/testing/DataBankPlayground.sol` - A testing contract for rapid prototyping with Tellor oracle data -- `contracts/interfaces/IDataBankPlayground.sol` - The DataBankPlayground interface +- `contracts/testing/TellorLab.sol` - A testing contract for rapid prototyping with Tellor oracle data +- `contracts/interfaces/ITellorDataBank.sol` - The TellorDataBank interface, a standard interface for reading tellor data - `contracts/bridge/TellorDataBridge.sol` - The TellorDataBridge contract - `src/helpers/evmHelpers.js` - Helper functions for testing diff --git a/artifacts/build-info/9e5f0fa02ff1591bf38affe1137bbc7e.json b/artifacts/build-info/9e5f0fa02ff1591bf38affe1137bbc7e.json new file mode 100644 index 0000000..b71bd65 --- /dev/null +++ b/artifacts/build-info/9e5f0fa02ff1591bf38affe1137bbc7e.json @@ -0,0 +1 @@ +{"id":"9e5f0fa02ff1591bf38affe1137bbc7e","_format":"hh-sol-build-info-1","solcVersion":"0.8.19","solcLongVersion":"0.8.19+commit.7dd6d404","input":{"language":"Solidity","sources":{"contracts/bridge/ECDSA.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.0.0) (utils/cryptography/ECDSA.sol)\npragma solidity 0.8.19;\n\n/**\n * @dev Elliptic Curve Digital Signature Algorithm (ECDSA) operations.\n *\n * These functions can be used to verify that a message was signed by the holder\n * of the private keys of a given address.\n */\ncontract ECDSA {\n enum RecoverError {\n NoError,\n InvalidSignature,\n InvalidSignatureLength,\n InvalidSignatureS\n }\n\n /**\n * @dev The signature derives the `address(0)`.\n */\n error ECDSAInvalidSignature();\n\n /**\n * @dev The signature has an invalid length.\n */\n error ECDSAInvalidSignatureLength(uint256 length);\n\n /**\n * @dev The signature has an S value that is in the upper half order.\n */\n error ECDSAInvalidSignatureS(bytes32 s);\n\n /**\n * @dev Returns the address that signed a hashed message (`hash`) with `signature` or an error. This will not\n * return address(0) without also returning an error description. Errors are documented using an enum (error type)\n * and a bytes32 providing additional information about the error.\n *\n * If no error is returned, then the address can be used for verification purposes.\n *\n * The `ecrecover` EVM precompile allows for malleable (non-unique) signatures:\n * this function rejects them by requiring the `s` value to be in the lower\n * half order, and the `v` value to be either 27 or 28.\n *\n * IMPORTANT: `hash` _must_ be the result of a hash operation for the\n * verification to be secure: it is possible to craft signatures that\n * recover to arbitrary addresses for non-hashed data. A safe way to ensure\n * this is by receiving a hash of the original message (which may otherwise\n * be too long), and then calling {MessageHashUtils-toEthSignedMessageHash} on it.\n *\n * Documentation for signature generation:\n * - with https://web3js.readthedocs.io/en/v1.3.4/web3-eth-accounts.html#sign[Web3.js]\n * - with https://docs.ethers.io/v5/api/signer/#Signer-signMessage[ethers]\n */\n function tryRecover(\n bytes32 hash,\n bytes memory signature\n ) internal pure returns (address, RecoverError, bytes32) {\n if (signature.length == 65) {\n bytes32 r;\n bytes32 s;\n uint8 v;\n // ecrecover takes the signature parameters, and the only way to get them\n // currently is to use assembly.\n /// @solidity memory-safe-assembly\n assembly {\n r := mload(add(signature, 0x20))\n s := mload(add(signature, 0x40))\n v := byte(0, mload(add(signature, 0x60)))\n }\n return tryRecover(hash, v, r, s);\n } else {\n return (\n address(0),\n RecoverError.InvalidSignatureLength,\n bytes32(signature.length)\n );\n }\n }\n\n /**\n * @dev Returns the address that signed a hashed message (`hash`) with\n * `signature`. This address can then be used for verification purposes.\n *\n * The `ecrecover` EVM precompile allows for malleable (non-unique) signatures:\n * this function rejects them by requiring the `s` value to be in the lower\n * half order, and the `v` value to be either 27 or 28.\n *\n * IMPORTANT: `hash` _must_ be the result of a hash operation for the\n * verification to be secure: it is possible to craft signatures that\n * recover to arbitrary addresses for non-hashed data. A safe way to ensure\n * this is by receiving a hash of the original message (which may otherwise\n * be too long), and then calling {MessageHashUtils-toEthSignedMessageHash} on it.\n */\n function recover(\n bytes32 hash,\n bytes memory signature\n ) internal pure returns (address) {\n (address recovered, RecoverError error, bytes32 errorArg) = tryRecover(\n hash,\n signature\n );\n _throwError(error, errorArg);\n return recovered;\n }\n\n /**\n * @dev Overload of {ECDSA-tryRecover} that receives the `r` and `vs` short-signature fields separately.\n *\n * See https://eips.ethereum.org/EIPS/eip-2098[ERC-2098 short signatures]\n */\n function tryRecover(\n bytes32 hash,\n bytes32 r,\n bytes32 vs\n ) internal pure returns (address, RecoverError, bytes32) {\n unchecked {\n bytes32 s = vs &\n bytes32(\n 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\n );\n // We do not check for an overflow here since the shift operation results in 0 or 1.\n uint8 v = uint8((uint256(vs) >> 255) + 27);\n return tryRecover(hash, v, r, s);\n }\n }\n\n /**\n * @dev Overload of {ECDSA-recover} that receives the `r and `vs` short-signature fields separately.\n */\n function recover(\n bytes32 hash,\n bytes32 r,\n bytes32 vs\n ) internal pure returns (address) {\n (address recovered, RecoverError error, bytes32 errorArg) = tryRecover(\n hash,\n r,\n vs\n );\n _throwError(error, errorArg);\n return recovered;\n }\n\n /**\n * @dev Overload of {ECDSA-tryRecover} that receives the `v`,\n * `r` and `s` signature fields separately.\n */\n function tryRecover(\n bytes32 hash,\n uint8 v,\n bytes32 r,\n bytes32 s\n ) internal pure returns (address, RecoverError, bytes32) {\n // EIP-2 still allows signature malleability for ecrecover(). Remove this possibility and make the signature\n // unique. Appendix F in the Ethereum Yellow paper (https://ethereum.github.io/yellowpaper/paper.pdf), defines\n // the valid range for s in (301): 0 < s < secp256k1n ÷ 2 + 1, and for v in (302): v ∈ {27, 28}. Most\n // signatures from current libraries generate a unique signature with an s-value in the lower half order.\n //\n // If your library generates malleable signatures, such as s-values in the upper range, calculate a new s-value\n // with 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141 - s1 and flip v from 27 to 28 or\n // vice versa. If your library also generates signatures with 0/1 for v instead 27/28, add 27 to v to accept\n // these malleable signatures as well.\n if (\n uint256(s) >\n 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D576E7357A4501DDFE92F46681B20A0\n ) {\n return (address(0), RecoverError.InvalidSignatureS, s);\n }\n\n // If the signature is valid (and not malleable), return the signer address\n address signer = ecrecover(hash, v, r, s);\n if (signer == address(0)) {\n return (address(0), RecoverError.InvalidSignature, bytes32(0));\n }\n\n return (signer, RecoverError.NoError, bytes32(0));\n }\n\n /**\n * @dev Overload of {ECDSA-recover} that receives the `v`,\n * `r` and `s` signature fields separately.\n */\n function recover(\n bytes32 hash,\n uint8 v,\n bytes32 r,\n bytes32 s\n ) internal pure returns (address) {\n (address recovered, RecoverError error, bytes32 errorArg) = tryRecover(\n hash,\n v,\n r,\n s\n );\n _throwError(error, errorArg);\n return recovered;\n }\n\n /**\n * @dev Optionally reverts with the corresponding custom error according to the `error` argument provided.\n */\n function _throwError(RecoverError error, bytes32 errorArg) private pure {\n if (error == RecoverError.NoError) {\n return; // no error: do nothing\n } else if (error == RecoverError.InvalidSignature) {\n revert ECDSAInvalidSignature();\n } else if (error == RecoverError.InvalidSignatureLength) {\n revert ECDSAInvalidSignatureLength(uint256(errorArg));\n } else if (error == RecoverError.InvalidSignatureS) {\n revert ECDSAInvalidSignatureS(errorArg);\n }\n }\n\n /**\n * @dev Returns the keccak256 digest of an ERC-191 signed data with version\n * `0x45` (`personal_sign` messages).\n *\n * The digest is calculated by prefixing a bytes32 `messageHash` with\n * `\"\\x19Ethereum Signed Message:\\n32\"` and hashing the result. It corresponds with the\n * hash signed when using the https://eth.wiki/json-rpc/API#eth_sign[`eth_sign`] JSON-RPC method.\n *\n * NOTE: The `messageHash` parameter is intended to be the result of hashing a raw message with\n * keccak256, although any bytes32 value can be safely used because the final digest will\n * be re-hashed.\n *\n * See {ECDSA-recover}.\n */\n function toEthSignedMessageHash(\n bytes32 messageHash\n ) internal pure returns (bytes32 digest) {\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, \"\\x19Ethereum Signed Message:\\n32\") // 32 is the bytes-length of messageHash\n mstore(0x1c, messageHash) // 0x1c (28) is the length of the prefix\n digest := keccak256(0x00, 0x3c) // 0x3c is the length of the prefix (0x1c) + messageHash (0x20)\n }\n }\n}\n"},"contracts/bridge/TellorDataBridge.sol":{"content":"// SPDX-License-Identifier: Apache-2.0\npragma solidity 0.8.19;\n\nimport {ECDSA} from \"./ECDSA.sol\";\n\nstruct OracleAttestationData {\n bytes32 queryId;\n ReportData report;\n uint256 attestationTimestamp;//timestamp of validatorSignatures on report\n}\n\nstruct ReportData {\n bytes value;\n uint256 timestamp;//timestamp of reporter signature aggregation\n uint256 aggregatePower;\n uint256 previousTimestamp;\n uint256 nextTimestamp;\n uint256 lastConsensusTimestamp;\n}\n\nstruct Signature {\n uint8 v;\n bytes32 r;\n bytes32 s;\n}\n\nstruct Validator {\n address addr;\n uint256 power;\n}\n\n\n/// @title TellorDataBridge: Tellor Layer -> EVM, Oracle relay.\n/// @dev The relay relies on a set of signers to attest to some event on\n/// Tellor Layer. These signers are the validator set, who sign over every\n/// block. At least 2/3 of the voting power of the current\n/// view of the validator set must sign off on new relayed events.\ncontract TellorDataBridge is ECDSA {\n\n /*Storage*/\n address public guardian; /// Able to reset the validator set only if the validator set becomes stale.\n bytes32 public lastValidatorSetCheckpoint; ///Domain-separated commitment to the latest validator set.\n uint256 public powerThreshold; /// Voting power required to submit a new update.\n uint256 public unbondingPeriod; /// Time period after which a validator can withdraw their stake.\n uint256 public validatorTimestamp; /// Timestamp of the block where validator set is updated.\n address public deployer; /// Address that deployed the contract.\n bool public initialized; /// True if the contract is initialized.\n uint256 public constant MS_PER_SECOND = 1000; // factor to convert milliseconds to seconds\n bytes32 public constant NEW_REPORT_ATTESTATION_DOMAIN_SEPARATOR = // \"tellorCurrentAttestation\"\n 0x74656c6c6f7243757272656e744174746573746174696f6e0000000000000000;\n // For tellor mainnet, this is \"0x636865636b706f696e7400000000000000000000000000000000000000000000\". \n // Otherwise, we take the tellor chain id as a string, and the validator set domain separator is \n // keccak256(abi.encode(\"checkpoint\", TELLOR_CHAIN_ID)). This differentiates between different networks.\n bytes32 public immutable VALIDATOR_SET_HASH_DOMAIN_SEPARATOR;\n\n /*Events*/\n event GuardianResetValidatorSet(uint256 _powerThreshold, uint256 _validatorTimestamp, bytes32 _validatorSetHash);\n event ValidatorSetUpdated(uint256 _powerThreshold, uint256 _validatorTimestamp, bytes32 _validatorSetHash);\n\n /*Errors*/\n error AlreadyInitialized();\n error InsufficientVotingPower();\n error InvalidPowerThreshold();\n error InvalidSignature();\n error MalformedCurrentValidatorSet();\n error NotDeployer();\n error NotGuardian();\n error StaleValidatorSet();\n error SuppliedValidatorSetInvalid();\n error ValidatorSetNotStale();\n error ValidatorTimestampMustIncrease();\n\n /*Functions*/\n /// @notice Constructor for the TellorDataBridge contract.\n /// @param _guardian Guardian address.\n constructor(\n address _guardian,\n bytes32 _validatorSetHashDomainSeparator\n ) {\n guardian = _guardian;\n deployer = msg.sender;\n VALIDATOR_SET_HASH_DOMAIN_SEPARATOR = _validatorSetHashDomainSeparator;\n }\n\n /// @notice This function is called only once by the deployer to initialize the contract\n /// @param _powerThreshold Initial voting power that is needed to approve operations\n /// @param _validatorTimestamp Timestamp of the block where validator set is updated.\n /// @param _unbondingPeriod Time period after which a validator can withdraw their stake.\n /// @param _validatorSetCheckpoint Initial checkpoint of the validator set.\n function init(\n uint256 _powerThreshold,\n uint256 _validatorTimestamp,\n uint256 _unbondingPeriod,\n bytes32 _validatorSetCheckpoint\n ) external {\n if (msg.sender != deployer) {\n revert NotDeployer();\n }\n if (initialized) {\n revert AlreadyInitialized();\n }\n initialized = true;\n powerThreshold = _powerThreshold;\n validatorTimestamp = _validatorTimestamp;\n unbondingPeriod = _unbondingPeriod;\n lastValidatorSetCheckpoint = _validatorSetCheckpoint;\n }\n\n /// @notice This function is called by the guardian to reset the validator set\n /// only if it becomes stale.\n /// @param _powerThreshold Amount of voting power needed to approve operations.\n /// @param _validatorTimestamp The timestamp of the block where validator set is updated.\n /// @param _validatorSetCheckpoint The hash of the validator set.\n function guardianResetValidatorSet(\n uint256 _powerThreshold,\n uint256 _validatorTimestamp,\n bytes32 _validatorSetCheckpoint\n ) external {\n if (msg.sender != guardian) {\n revert NotGuardian();\n }\n if (block.timestamp - (validatorTimestamp / MS_PER_SECOND) < unbondingPeriod) {\n revert ValidatorSetNotStale();\n }\n if (_validatorTimestamp <= validatorTimestamp) {\n revert ValidatorTimestampMustIncrease();\n }\n powerThreshold = _powerThreshold;\n validatorTimestamp = _validatorTimestamp;\n lastValidatorSetCheckpoint = _validatorSetCheckpoint;\n emit GuardianResetValidatorSet(_powerThreshold, _validatorTimestamp, _validatorSetCheckpoint);\n }\n\n /// @notice This updates the validator set by checking that the validators\n /// in the current validator set have signed off on the new validator set.\n /// @param _newValidatorSetHash The hash of the new validator set.\n /// @param _newPowerThreshold At least this much power must have signed.\n /// @param _newValidatorTimestamp The timestamp of the block where validator set is updated.\n /// @param _currentValidatorSet The current validator set.\n /// @param _sigs Signatures.\n function updateValidatorSet(\n bytes32 _newValidatorSetHash,\n uint64 _newPowerThreshold,\n uint256 _newValidatorTimestamp,\n Validator[] calldata _currentValidatorSet,\n Signature[] calldata _sigs\n ) external {\n if (_currentValidatorSet.length != _sigs.length) {\n revert MalformedCurrentValidatorSet();\n }\n if (_newValidatorTimestamp < validatorTimestamp) {\n revert ValidatorTimestampMustIncrease();\n }\n if (_newPowerThreshold == 0) {\n revert InvalidPowerThreshold();\n }\n // Check that the supplied current validator set matches the saved checkpoint.\n bytes32 _currentValidatorSetHash = keccak256(abi.encode(_currentValidatorSet));\n if (\n _domainSeparateValidatorSetHash(\n powerThreshold,\n validatorTimestamp,\n _currentValidatorSetHash\n ) != lastValidatorSetCheckpoint\n ) {\n revert SuppliedValidatorSetInvalid();\n }\n\n bytes32 _newCheckpoint = _domainSeparateValidatorSetHash(\n _newPowerThreshold,\n _newValidatorTimestamp,\n _newValidatorSetHash\n );\n _checkValidatorSignatures(\n _currentValidatorSet,\n _sigs,\n _newCheckpoint,\n powerThreshold\n );\n lastValidatorSetCheckpoint = _newCheckpoint;\n powerThreshold = _newPowerThreshold;\n validatorTimestamp = _newValidatorTimestamp;\n emit ValidatorSetUpdated(\n _newPowerThreshold,\n _newValidatorTimestamp,\n _newValidatorSetHash\n );\n }\n \n /*Getter functions*/\n /// @notice This getter verifies a given piece of data vs Validator signatures\n /// @param _attestData The data being verified\n /// @param _currentValidatorSet array of current validator set\n /// @param _sigs Signatures.\n function verifyOracleData(\n OracleAttestationData calldata _attestData,\n Validator[] calldata _currentValidatorSet,\n Signature[] calldata _sigs\n ) external view{\n if (_currentValidatorSet.length != _sigs.length) {\n revert MalformedCurrentValidatorSet();\n }\n // Check that the supplied current validator set matches the saved checkpoint.\n if (\n _domainSeparateValidatorSetHash(\n powerThreshold,\n validatorTimestamp,\n keccak256(abi.encode(_currentValidatorSet))\n ) != lastValidatorSetCheckpoint\n ) {\n revert SuppliedValidatorSetInvalid();\n }\n bytes32 _dataDigest = keccak256(\n abi.encode(\n NEW_REPORT_ATTESTATION_DOMAIN_SEPARATOR,\n _attestData.queryId,\n _attestData.report.value,\n _attestData.report.timestamp,\n _attestData.report.aggregatePower,\n _attestData.report.previousTimestamp,\n _attestData.report.nextTimestamp,\n lastValidatorSetCheckpoint,\n _attestData.attestationTimestamp,\n _attestData.report.lastConsensusTimestamp\n )\n );\n _checkValidatorSignatures(\n _currentValidatorSet,\n _sigs,\n _dataDigest,\n powerThreshold\n );\n }\n\n /*Internal functions*/\n /// @dev Checks that enough voting power signed over a digest.\n /// It expects the signatures to be in the same order as the _currentValidators.\n /// @param _currentValidators The current validators.\n /// @param _sigs The current validators' signatures.\n /// @param _digest This is what we are checking they have signed.\n /// @param _powerThreshold At least this much power must have signed.\n function _checkValidatorSignatures(\n // The current validator set and their powers\n Validator[] calldata _currentValidators,\n Signature[] calldata _sigs,\n bytes32 _digest,\n uint256 _powerThreshold\n ) internal view {\n if (block.timestamp - (validatorTimestamp / MS_PER_SECOND) > unbondingPeriod) {\n revert StaleValidatorSet();\n }\n uint256 _cumulativePower = 0;\n for (uint256 _i = 0; _i < _currentValidators.length; _i++) {\n // If the signature is nil, then it's not present so continue.\n if (_sigs[_i].r == 0 && _sigs[_i].s == 0 && _sigs[_i].v == 0) {\n continue;\n }\n // Check that the current validator has signed off on the hash.\n if (!_verifySig(_currentValidators[_i].addr, _digest, _sigs[_i])) {\n revert InvalidSignature();\n }\n _cumulativePower += _currentValidators[_i].power;\n // Break early to avoid wasting gas.\n if (_cumulativePower >= _powerThreshold) {\n break;\n }\n }\n if (_cumulativePower < _powerThreshold) {\n revert InsufficientVotingPower();\n }\n }\n\n /// @dev A hash of all relevant information about the validator set.\n /// @param _powerThreshold Amount of voting power needed to approve operations. (2/3 of total)\n /// @param _validatorTimestamp The timestamp of the block where validator set is updated.\n /// @param _validatorSetHash Validator set hash.\n /// @return The domain separated hash of the validator set.\n function _domainSeparateValidatorSetHash(\n uint256 _powerThreshold,\n uint256 _validatorTimestamp,\n bytes32 _validatorSetHash\n ) internal view returns (bytes32) {\n return\n keccak256(\n abi.encode(\n VALIDATOR_SET_HASH_DOMAIN_SEPARATOR,\n _powerThreshold,\n _validatorTimestamp,\n _validatorSetHash\n )\n );\n }\n\n /// @notice Utility function to verify Tellor Layer signatures\n /// @param _signer The address that signed the message.\n /// @param _digest The digest that was signed.\n /// @param _sig The signature.\n /// @return bool True if the signature is valid.\n function _verifySig(\n address _signer,\n bytes32 _digest,\n Signature calldata _sig\n ) internal pure returns (bool) {\n _digest = sha256(abi.encodePacked(_digest));\n (address _recovered, RecoverError error, ) = tryRecover(_digest, _sig.v, _sig.r, _sig.s);\n if (error != RecoverError.NoError) {\n revert InvalidSignature();\n }\n return _signer == _recovered;\n }\n}\n"},"contracts/examples/YoloTellorUser.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity 0.8.19;\n\nimport \"../interfaces/ITellorDataBridge.sol\";\n\n// This contract shows a baseline oracle user that just verifies the data is valid tellor data\n// and stores the data for retrieval. It should never be used in production.\n\ncontract YoloTellorUser {\n ITellorDataBridge public dataBridge;\n bytes32 public queryId;\n OracleData[] public oracleData;\n\n struct OracleData {\n uint256 value;\n uint256 timestamp;\n }\n\n // sets the tellor data bridge address and the queryId\n constructor(address _dataBridge, bytes32 _queryId) {\n dataBridge = ITellorDataBridge(_dataBridge);\n queryId = _queryId;\n }\n\n // updates this contract with new oracle data using the data bridge\n // production users should add security checks\n function updateOracleData(\n OracleAttestationData calldata _attestData,\n Validator[] calldata _currentValidatorSet,\n Signature[] calldata _sigs\n ) external {\n // make sure the data is valid tellor data\n dataBridge.verifyOracleData(_attestData, _currentValidatorSet, _sigs);\n // make sure the data being relayed is the data we want\n require(queryId == _attestData.queryId, \"Invalid queryId\");\n\n // decode the data and store it\n uint256 _value = abi.decode(_attestData.report.value, (uint256));\n oracleData.push(OracleData(_value, _attestData.report.timestamp));\n }\n\n // returns the most recent data\n function getCurrentData() external view returns (OracleData memory) {\n return oracleData[oracleData.length - 1];\n }\n\n // returns the number of data points stored\n function getValueCount() external view returns (uint256) {\n return oracleData.length;\n }\n}"},"contracts/interfaces/ITellorDataBank.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity 0.8.19;\n\n/**\n * @title ITellorDataBank\n * @notice Interface for TellorDataBank contract\n */\ninterface ITellorDataBank {\n struct AggregateData {\n bytes value;\n uint256 power;\n uint256 aggregateTimestamp;\n uint256 attestationTimestamp;\n uint256 relayTimestamp;\n }\n\n /**\n * @dev returns the current aggregate data for a given query ID\n * @param _queryId the query ID to get the current aggregate data for\n * @return _aggregateData the current aggregate data\n */\n function getCurrentAggregateData(bytes32 _queryId) external view returns (AggregateData memory _aggregateData);\n\n /**\n * @dev returns the aggregate data for a given query ID and index\n * @param _queryId the query ID to get the aggregate data for\n * @param _index the index of the aggregate data to get\n * @return _aggregateData the aggregate data\n */\n function getAggregateByIndex(bytes32 _queryId, uint256 _index) external view returns (AggregateData memory _aggregateData);\n\n /**\n * @dev returns the total number of aggregate values\n * @param _queryId the query ID to get the aggregate value count for\n * @return number of aggregate values stored\n */\n function getAggregateValueCount(bytes32 _queryId) external view returns (uint256);\n}\n\n"},"contracts/interfaces/ITellorDataBridge.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\n\nstruct OracleAttestationData {\n bytes32 queryId;\n ReportData report;\n uint256 attestationTimestamp; //timestamp of validatorSignatures on report\n}\n\nstruct ReportData {\n bytes value;\n uint256 timestamp; //timestamp of reporter signature aggregation\n uint256 aggregatePower;\n uint256 previousTimestamp;\n uint256 nextTimestamp;\n uint256 lastConsensusTimestamp;\n}\n\nstruct Signature {\n uint8 v;\n bytes32 r;\n bytes32 s;\n}\n\nstruct Validator {\n address addr;\n uint256 power;\n}\n\ninterface ITellorDataBridge {\n function guardian() external view returns (address);\n function powerThreshold() external view returns (uint256);\n function unbondingPeriod() external view returns (uint256);\n function validatorTimestamp() external view returns (uint256);\n function verifyOracleData(\n OracleAttestationData calldata _attestData,\n Validator[] calldata _currentValidatorSet,\n Signature[] calldata _sigs\n ) external view;\n}"},"contracts/testing/TellorLab.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity 0.8.19;\n\nimport \"../interfaces/ITellorDataBridge.sol\";\n\n/**\n * @author Tellor Inc.\n * @title TellorLab\n * @notice Testing contract for rapid prototyping with Tellor oracle data\n * @dev This contract is used to store data for multiple data feeds for testing tellor \n * data integrations. It has no data bridge validation, zero security checks, and is \n * NOT for production use. For production contracts, use TellorDataBridge verification. \n * See SampleLayerUser repo for usage examples: https://github.com/tellor-io/SampleLayerUser\n * This contract conforms to the ITellorDataBank interface.\n */\ncontract TellorLab {\n // Storage\n mapping(bytes32 => AggregateData[]) public data; // queryId -> array of aggregate data\n\n struct AggregateData {\n bytes value; // the oracle data value\n uint256 power; // the combined stake power of the data reporters (0 decimals, 100 == 100 TRB tokens)\n uint256 aggregateTimestamp; // the time when the oracle data was aggregated (milliseconds)\n uint256 attestationTimestamp; // the time when the oracle data was signed by validators (milliseconds)\n uint256 relayTimestamp; // the time when the oracle data was stored in this contract (seconds)\n }\n\n // Events\n event OracleUpdated(\n bytes32 indexed queryId,\n OracleAttestationData attestData\n );\n\n // Functions\n /**\n * @dev updates oracle data with new attestation data after verification\n * @param _attestData the oracle attestation data to be stored\n * note: _currentValidatorSet array of current validators (unused for testing)\n * note: _sigs array of validator signatures (unused for testing)\n */\n function updateOracleData(\n OracleAttestationData calldata _attestData,\n Validator[] calldata /* _currentValidatorSet */,\n Signature[] calldata /* _sigs */\n ) public {\n // Skips verification for simplified integration testing\n // dataBridge.verifyOracleData(_attestData, _currentValidatorSet, _sigs);\n\n data[_attestData.queryId].push(\n AggregateData(\n _attestData.report.value,\n _attestData.report.aggregatePower,\n _attestData.report.timestamp,\n _attestData.attestationTimestamp,\n block.timestamp\n )\n );\n emit OracleUpdated(_attestData.queryId, _attestData);\n }\n\n /**\n * @dev updates lab contract with new oracle data\n * without needing to format data structs\n * @param _queryId the unique identifier for the oracle data\n * @param _value the oracle data value to be stored\n */\n function updateOracleDataLab(\n bytes32 _queryId,\n bytes memory _value\n ) external {\n // aggregate timestamp from tellor is in milliseconds\n uint256 _aggregateTimestamp = (block.timestamp - 1) * 1000;\n data[_queryId].push(\n AggregateData(\n _value,\n 0,\n _aggregateTimestamp,\n _aggregateTimestamp,\n block.timestamp\n )\n );\n emit OracleUpdated(\n _queryId,\n OracleAttestationData(\n _queryId,\n ReportData(_value, _aggregateTimestamp, 0, 0, 0, 0),\n _aggregateTimestamp\n )\n );\n }\n\n // Getter functions\n /**\n * @dev returns the oracle data for a given query ID and index\n * @param _queryId the unique identifier for the oracle data\n * @param _index the index of the oracle data to get\n * @return _aggregateData the oracle data and metadata\n */\n function getAggregateByIndex(\n bytes32 _queryId,\n uint256 _index\n ) external view returns (AggregateData memory _aggregateData) {\n return data[_queryId][_index];\n }\n\n /**\n * @dev returns the total number of oracle data values for a given query ID\n * @param _queryId the unique identifier for the oracle data\n * @return number the total number of oracle data values stored\n */\n function getAggregateValueCount(\n bytes32 _queryId\n ) external view returns (uint256) {\n return data[_queryId].length;\n }\n\n /**\n * @dev returns the last submitted oracle data for a given query ID\n * @param _queryId the unique identifier for the oracle data\n * @return _aggregateData the last submitted oracle data and metadata\n */\n function getCurrentAggregateData(\n bytes32 _queryId\n ) external view returns (AggregateData memory _aggregateData) {\n return _getCurrentAggregateData(_queryId);\n }\n\n // Internal functions\n /**\n * @dev internal function to get the last submitted oracle data for a query ID\n * @param _queryId the unique identifier for the oracle data\n * @return _aggregateData the last submitted oracle data and metadata\n */\n function _getCurrentAggregateData(\n bytes32 _queryId\n ) internal view returns (AggregateData memory _aggregateData) {\n if (data[_queryId].length == 0) {\n return (AggregateData(bytes(\"\"), 0, 0, 0, 0));\n }\n _aggregateData = data[_queryId][data[_queryId].length - 1];\n return _aggregateData;\n }\n}\n"}},"settings":{"optimizer":{"enabled":false,"runs":200},"outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode","evm.methodIdentifiers","metadata"],"":["ast"]}}}},"output":{"sources":{"contracts/bridge/ECDSA.sol":{"ast":{"absolutePath":"contracts/bridge/ECDSA.sol","exportedSymbols":{"ECDSA":[357]},"id":358,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":1,"literals":["solidity","0.8",".19"],"nodeType":"PragmaDirective","src":"111:23:0"},{"abstract":false,"baseContracts":[],"canonicalName":"ECDSA","contractDependencies":[],"contractKind":"contract","documentation":{"id":2,"nodeType":"StructuredDocumentation","src":"136:205:0","text":" @dev Elliptic Curve Digital Signature Algorithm (ECDSA) operations.\n These functions can be used to verify that a message was signed by the holder\n of the private keys of a given address."},"fullyImplemented":true,"id":357,"linearizedBaseContracts":[357],"name":"ECDSA","nameLocation":"351:5:0","nodeType":"ContractDefinition","nodes":[{"canonicalName":"ECDSA.RecoverError","id":7,"members":[{"id":3,"name":"NoError","nameLocation":"391:7:0","nodeType":"EnumValue","src":"391:7:0"},{"id":4,"name":"InvalidSignature","nameLocation":"408:16:0","nodeType":"EnumValue","src":"408:16:0"},{"id":5,"name":"InvalidSignatureLength","nameLocation":"434:22:0","nodeType":"EnumValue","src":"434:22:0"},{"id":6,"name":"InvalidSignatureS","nameLocation":"466:17:0","nodeType":"EnumValue","src":"466:17:0"}],"name":"RecoverError","nameLocation":"368:12:0","nodeType":"EnumDefinition","src":"363:126:0"},{"documentation":{"id":8,"nodeType":"StructuredDocumentation","src":"495:63:0","text":" @dev The signature derives the `address(0)`."},"errorSelector":"f645eedf","id":10,"name":"ECDSAInvalidSignature","nameLocation":"569:21:0","nodeType":"ErrorDefinition","parameters":{"id":9,"nodeType":"ParameterList","parameters":[],"src":"590:2:0"},"src":"563:30:0"},{"documentation":{"id":11,"nodeType":"StructuredDocumentation","src":"599:60:0","text":" @dev The signature has an invalid length."},"errorSelector":"fce698f7","id":15,"name":"ECDSAInvalidSignatureLength","nameLocation":"670:27:0","nodeType":"ErrorDefinition","parameters":{"id":14,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13,"mutability":"mutable","name":"length","nameLocation":"706:6:0","nodeType":"VariableDeclaration","scope":15,"src":"698:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12,"name":"uint256","nodeType":"ElementaryTypeName","src":"698:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"697:16:0"},"src":"664:50:0"},{"documentation":{"id":16,"nodeType":"StructuredDocumentation","src":"720:85:0","text":" @dev The signature has an S value that is in the upper half order."},"errorSelector":"d78bce0c","id":20,"name":"ECDSAInvalidSignatureS","nameLocation":"816:22:0","nodeType":"ErrorDefinition","parameters":{"id":19,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18,"mutability":"mutable","name":"s","nameLocation":"847:1:0","nodeType":"VariableDeclaration","scope":20,"src":"839:9:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":17,"name":"bytes32","nodeType":"ElementaryTypeName","src":"839:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"838:11:0"},"src":"810:40:0"},{"body":{"id":72,"nodeType":"Block","src":"2263:715:0","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":38,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":35,"name":"signature","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25,"src":"2277:9:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":36,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2287:6:0","memberName":"length","nodeType":"MemberAccess","src":"2277:16:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"3635","id":37,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2297:2:0","typeDescriptions":{"typeIdentifier":"t_rational_65_by_1","typeString":"int_const 65"},"value":"65"},"src":"2277:22:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":70,"nodeType":"Block","src":"2802:170:0","statements":[{"expression":{"components":[{"arguments":[{"hexValue":"30","id":59,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2849:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":58,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2841:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57,"name":"address","nodeType":"ElementaryTypeName","src":"2841:7:0","typeDescriptions":{}}},"id":60,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2841:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":61,"name":"RecoverError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7,"src":"2869:12:0","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RecoverError_$7_$","typeString":"type(enum ECDSA.RecoverError)"}},"id":62,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2882:22:0","memberName":"InvalidSignatureLength","nodeType":"MemberAccess","referencedDeclaration":5,"src":"2869:35:0","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$7","typeString":"enum ECDSA.RecoverError"}},{"arguments":[{"expression":{"id":65,"name":"signature","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25,"src":"2930:9:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":66,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2940:6:0","memberName":"length","nodeType":"MemberAccess","src":"2930:16:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":64,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2922:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":63,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2922:7:0","typeDescriptions":{}}},"id":67,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2922:25:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":68,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"2823:138:0","typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_enum$_RecoverError_$7_$_t_bytes32_$","typeString":"tuple(address,enum ECDSA.RecoverError,bytes32)"}},"functionReturnParameters":34,"id":69,"nodeType":"Return","src":"2816:145:0"}]},"id":71,"nodeType":"IfStatement","src":"2273:699:0","trueBody":{"id":56,"nodeType":"Block","src":"2301:495:0","statements":[{"assignments":[40],"declarations":[{"constant":false,"id":40,"mutability":"mutable","name":"r","nameLocation":"2323:1:0","nodeType":"VariableDeclaration","scope":56,"src":"2315:9:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2315:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41,"nodeType":"VariableDeclarationStatement","src":"2315:9:0"},{"assignments":[43],"declarations":[{"constant":false,"id":43,"mutability":"mutable","name":"s","nameLocation":"2346:1:0","nodeType":"VariableDeclaration","scope":56,"src":"2338:9:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2338:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":44,"nodeType":"VariableDeclarationStatement","src":"2338:9:0"},{"assignments":[46],"declarations":[{"constant":false,"id":46,"mutability":"mutable","name":"v","nameLocation":"2367:1:0","nodeType":"VariableDeclaration","scope":56,"src":"2361:7:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":45,"name":"uint8","nodeType":"ElementaryTypeName","src":"2361:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"id":47,"nodeType":"VariableDeclarationStatement","src":"2361:7:0"},{"AST":{"nodeType":"YulBlock","src":"2569:171:0","statements":[{"nodeType":"YulAssignment","src":"2587:32:0","value":{"arguments":[{"arguments":[{"name":"signature","nodeType":"YulIdentifier","src":"2602:9:0"},{"kind":"number","nodeType":"YulLiteral","src":"2613:4:0","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2598:3:0"},"nodeType":"YulFunctionCall","src":"2598:20:0"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2592:5:0"},"nodeType":"YulFunctionCall","src":"2592:27:0"},"variableNames":[{"name":"r","nodeType":"YulIdentifier","src":"2587:1:0"}]},{"nodeType":"YulAssignment","src":"2636:32:0","value":{"arguments":[{"arguments":[{"name":"signature","nodeType":"YulIdentifier","src":"2651:9:0"},{"kind":"number","nodeType":"YulLiteral","src":"2662:4:0","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2647:3:0"},"nodeType":"YulFunctionCall","src":"2647:20:0"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2641:5:0"},"nodeType":"YulFunctionCall","src":"2641:27:0"},"variableNames":[{"name":"s","nodeType":"YulIdentifier","src":"2636:1:0"}]},{"nodeType":"YulAssignment","src":"2685:41:0","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2695:1:0","type":"","value":"0"},{"arguments":[{"arguments":[{"name":"signature","nodeType":"YulIdentifier","src":"2708:9:0"},{"kind":"number","nodeType":"YulLiteral","src":"2719:4:0","type":"","value":"0x60"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2704:3:0"},"nodeType":"YulFunctionCall","src":"2704:20:0"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2698:5:0"},"nodeType":"YulFunctionCall","src":"2698:27:0"}],"functionName":{"name":"byte","nodeType":"YulIdentifier","src":"2690:4:0"},"nodeType":"YulFunctionCall","src":"2690:36:0"},"variableNames":[{"name":"v","nodeType":"YulIdentifier","src":"2685:1:0"}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"paris","externalReferences":[{"declaration":40,"isOffset":false,"isSlot":false,"src":"2587:1:0","valueSize":1},{"declaration":43,"isOffset":false,"isSlot":false,"src":"2636:1:0","valueSize":1},{"declaration":25,"isOffset":false,"isSlot":false,"src":"2602:9:0","valueSize":1},{"declaration":25,"isOffset":false,"isSlot":false,"src":"2651:9:0","valueSize":1},{"declaration":25,"isOffset":false,"isSlot":false,"src":"2708:9:0","valueSize":1},{"declaration":46,"isOffset":false,"isSlot":false,"src":"2685:1:0","valueSize":1}],"id":48,"nodeType":"InlineAssembly","src":"2560:180:0"},{"expression":{"arguments":[{"id":50,"name":"hash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23,"src":"2771:4:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":51,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46,"src":"2777:1:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":52,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40,"src":"2780:1:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":53,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"2783:1:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":49,"name":"tryRecover","nodeType":"Identifier","overloadedDeclarations":[73,153,261],"referencedDeclaration":261,"src":"2760:10:0","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$_t_enum$_RecoverError_$7_$_t_bytes32_$","typeString":"function (bytes32,uint8,bytes32,bytes32) pure returns (address,enum ECDSA.RecoverError,bytes32)"}},"id":54,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2760:25:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_enum$_RecoverError_$7_$_t_bytes32_$","typeString":"tuple(address,enum ECDSA.RecoverError,bytes32)"}},"functionReturnParameters":34,"id":55,"nodeType":"Return","src":"2753:32:0"}]}}]},"documentation":{"id":21,"nodeType":"StructuredDocumentation","src":"856:1267:0","text":" @dev Returns the address that signed a hashed message (`hash`) with `signature` or an error. This will not\n return address(0) without also returning an error description. Errors are documented using an enum (error type)\n and a bytes32 providing additional information about the error.\n If no error is returned, then the address can be used for verification purposes.\n The `ecrecover` EVM precompile allows for malleable (non-unique) signatures:\n this function rejects them by requiring the `s` value to be in the lower\n half order, and the `v` value to be either 27 or 28.\n IMPORTANT: `hash` _must_ be the result of a hash operation for the\n verification to be secure: it is possible to craft signatures that\n recover to arbitrary addresses for non-hashed data. A safe way to ensure\n this is by receiving a hash of the original message (which may otherwise\n be too long), and then calling {MessageHashUtils-toEthSignedMessageHash} on it.\n Documentation for signature generation:\n - with https://web3js.readthedocs.io/en/v1.3.4/web3-eth-accounts.html#sign[Web3.js]\n - with https://docs.ethers.io/v5/api/signer/#Signer-signMessage[ethers]"},"id":73,"implemented":true,"kind":"function","modifiers":[],"name":"tryRecover","nameLocation":"2137:10:0","nodeType":"FunctionDefinition","parameters":{"id":26,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23,"mutability":"mutable","name":"hash","nameLocation":"2165:4:0","nodeType":"VariableDeclaration","scope":73,"src":"2157:12:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":22,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2157:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":25,"mutability":"mutable","name":"signature","nameLocation":"2192:9:0","nodeType":"VariableDeclaration","scope":73,"src":"2179:22:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":24,"name":"bytes","nodeType":"ElementaryTypeName","src":"2179:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"2147:60:0"},"returnParameters":{"id":34,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73,"src":"2231:7:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27,"name":"address","nodeType":"ElementaryTypeName","src":"2231:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73,"src":"2240:12:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$7","typeString":"enum ECDSA.RecoverError"},"typeName":{"id":30,"nodeType":"UserDefinedTypeName","pathNode":{"id":29,"name":"RecoverError","nameLocations":["2240:12:0"],"nodeType":"IdentifierPath","referencedDeclaration":7,"src":"2240:12:0"},"referencedDeclaration":7,"src":"2240:12:0","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$7","typeString":"enum ECDSA.RecoverError"}},"visibility":"internal"},{"constant":false,"id":33,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73,"src":"2254:7:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2254:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2230:32:0"},"scope":357,"src":"2128:850:0","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":102,"nodeType":"Block","src":"3894:202:0","statements":[{"assignments":[84,87,89],"declarations":[{"constant":false,"id":84,"mutability":"mutable","name":"recovered","nameLocation":"3913:9:0","nodeType":"VariableDeclaration","scope":102,"src":"3905:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":83,"name":"address","nodeType":"ElementaryTypeName","src":"3905:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":87,"mutability":"mutable","name":"error","nameLocation":"3937:5:0","nodeType":"VariableDeclaration","scope":102,"src":"3924:18:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$7","typeString":"enum ECDSA.RecoverError"},"typeName":{"id":86,"nodeType":"UserDefinedTypeName","pathNode":{"id":85,"name":"RecoverError","nameLocations":["3924:12:0"],"nodeType":"IdentifierPath","referencedDeclaration":7,"src":"3924:12:0"},"referencedDeclaration":7,"src":"3924:12:0","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$7","typeString":"enum ECDSA.RecoverError"}},"visibility":"internal"},{"constant":false,"id":89,"mutability":"mutable","name":"errorArg","nameLocation":"3952:8:0","nodeType":"VariableDeclaration","scope":102,"src":"3944:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":88,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3944:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":94,"initialValue":{"arguments":[{"id":91,"name":"hash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76,"src":"3988:4:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":92,"name":"signature","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78,"src":"4006:9:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":90,"name":"tryRecover","nodeType":"Identifier","overloadedDeclarations":[73,153,261],"referencedDeclaration":73,"src":"3964:10:0","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_address_$_t_enum$_RecoverError_$7_$_t_bytes32_$","typeString":"function (bytes32,bytes memory) pure returns (address,enum ECDSA.RecoverError,bytes32)"}},"id":93,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3964:61:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_enum$_RecoverError_$7_$_t_bytes32_$","typeString":"tuple(address,enum ECDSA.RecoverError,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"3904:121:0"},{"expression":{"arguments":[{"id":96,"name":"error","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87,"src":"4047:5:0","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$7","typeString":"enum ECDSA.RecoverError"}},{"id":97,"name":"errorArg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89,"src":"4054:8:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_RecoverError_$7","typeString":"enum ECDSA.RecoverError"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":95,"name":"_throwError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":346,"src":"4035:11:0","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_RecoverError_$7_$_t_bytes32_$returns$__$","typeString":"function (enum ECDSA.RecoverError,bytes32) pure"}},"id":98,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4035:28:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":99,"nodeType":"ExpressionStatement","src":"4035:28:0"},{"expression":{"id":100,"name":"recovered","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84,"src":"4080:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":82,"id":101,"nodeType":"Return","src":"4073:16:0"}]},"documentation":{"id":74,"nodeType":"StructuredDocumentation","src":"2984:796:0","text":" @dev Returns the address that signed a hashed message (`hash`) with\n `signature`. This address can then be used for verification purposes.\n The `ecrecover` EVM precompile allows for malleable (non-unique) signatures:\n this function rejects them by requiring the `s` value to be in the lower\n half order, and the `v` value to be either 27 or 28.\n IMPORTANT: `hash` _must_ be the result of a hash operation for the\n verification to be secure: it is possible to craft signatures that\n recover to arbitrary addresses for non-hashed data. A safe way to ensure\n this is by receiving a hash of the original message (which may otherwise\n be too long), and then calling {MessageHashUtils-toEthSignedMessageHash} on it."},"id":103,"implemented":true,"kind":"function","modifiers":[],"name":"recover","nameLocation":"3794:7:0","nodeType":"FunctionDefinition","parameters":{"id":79,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76,"mutability":"mutable","name":"hash","nameLocation":"3819:4:0","nodeType":"VariableDeclaration","scope":103,"src":"3811:12:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":75,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3811:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":78,"mutability":"mutable","name":"signature","nameLocation":"3846:9:0","nodeType":"VariableDeclaration","scope":103,"src":"3833:22:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":77,"name":"bytes","nodeType":"ElementaryTypeName","src":"3833:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3801:60:0"},"returnParameters":{"id":82,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":103,"src":"3885:7:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":80,"name":"address","nodeType":"ElementaryTypeName","src":"3885:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3884:9:0"},"scope":357,"src":"3785:311:0","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":152,"nodeType":"Block","src":"4454:396:0","statements":[{"id":151,"nodeType":"UncheckedBlock","src":"4464:380:0","statements":[{"assignments":[121],"declarations":[{"constant":false,"id":121,"mutability":"mutable","name":"s","nameLocation":"4496:1:0","nodeType":"VariableDeclaration","scope":151,"src":"4488:9:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":120,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4488:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":128,"initialValue":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":127,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":122,"name":"vs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":110,"src":"4500:2:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"arguments":[{"hexValue":"307837666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666","id":125,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4550:66:0","typeDescriptions":{"typeIdentifier":"t_rational_57896044618658097711785492504343953926634992332820282019728792003956564819967_by_1","typeString":"int_const 5789...(69 digits omitted)...9967"},"value":"0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_57896044618658097711785492504343953926634992332820282019728792003956564819967_by_1","typeString":"int_const 5789...(69 digits omitted)...9967"}],"id":124,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4521:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":123,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4521:7:0","typeDescriptions":{}}},"id":126,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4521:113:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"4500:134:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"4488:146:0"},{"assignments":[130],"declarations":[{"constant":false,"id":130,"mutability":"mutable","name":"v","nameLocation":"4751:1:0","nodeType":"VariableDeclaration","scope":151,"src":"4745:7:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":129,"name":"uint8","nodeType":"ElementaryTypeName","src":"4745:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"id":143,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":141,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":138,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":135,"name":"vs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":110,"src":"4770:2:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":134,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4762:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":133,"name":"uint256","nodeType":"ElementaryTypeName","src":"4762:7:0","typeDescriptions":{}}},"id":136,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4762:11:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"323535","id":137,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4777:3:0","typeDescriptions":{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"},"value":"255"},"src":"4762:18:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":139,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"4761:20:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"3237","id":140,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4784:2:0","typeDescriptions":{"typeIdentifier":"t_rational_27_by_1","typeString":"int_const 27"},"value":"27"},"src":"4761:25:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":132,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4755:5:0","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":131,"name":"uint8","nodeType":"ElementaryTypeName","src":"4755:5:0","typeDescriptions":{}}},"id":142,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4755:32:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"VariableDeclarationStatement","src":"4745:42:0"},{"expression":{"arguments":[{"id":145,"name":"hash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":106,"src":"4819:4:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":146,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":130,"src":"4825:1:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":147,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":108,"src":"4828:1:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":148,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":121,"src":"4831:1:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":144,"name":"tryRecover","nodeType":"Identifier","overloadedDeclarations":[73,153,261],"referencedDeclaration":261,"src":"4808:10:0","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$_t_enum$_RecoverError_$7_$_t_bytes32_$","typeString":"function (bytes32,uint8,bytes32,bytes32) pure returns (address,enum ECDSA.RecoverError,bytes32)"}},"id":149,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4808:25:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_enum$_RecoverError_$7_$_t_bytes32_$","typeString":"tuple(address,enum ECDSA.RecoverError,bytes32)"}},"functionReturnParameters":119,"id":150,"nodeType":"Return","src":"4801:32:0"}]}]},"documentation":{"id":104,"nodeType":"StructuredDocumentation","src":"4102:205:0","text":" @dev Overload of {ECDSA-tryRecover} that receives the `r` and `vs` short-signature fields separately.\n See https://eips.ethereum.org/EIPS/eip-2098[ERC-2098 short signatures]"},"id":153,"implemented":true,"kind":"function","modifiers":[],"name":"tryRecover","nameLocation":"4321:10:0","nodeType":"FunctionDefinition","parameters":{"id":111,"nodeType":"ParameterList","parameters":[{"constant":false,"id":106,"mutability":"mutable","name":"hash","nameLocation":"4349:4:0","nodeType":"VariableDeclaration","scope":153,"src":"4341:12:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":105,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4341:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":108,"mutability":"mutable","name":"r","nameLocation":"4371:1:0","nodeType":"VariableDeclaration","scope":153,"src":"4363:9:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":107,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4363:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":110,"mutability":"mutable","name":"vs","nameLocation":"4390:2:0","nodeType":"VariableDeclaration","scope":153,"src":"4382:10:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":109,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4382:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4331:67:0"},"returnParameters":{"id":119,"nodeType":"ParameterList","parameters":[{"constant":false,"id":113,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":153,"src":"4422:7:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":112,"name":"address","nodeType":"ElementaryTypeName","src":"4422:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":116,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":153,"src":"4431:12:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$7","typeString":"enum ECDSA.RecoverError"},"typeName":{"id":115,"nodeType":"UserDefinedTypeName","pathNode":{"id":114,"name":"RecoverError","nameLocations":["4431:12:0"],"nodeType":"IdentifierPath","referencedDeclaration":7,"src":"4431:12:0"},"referencedDeclaration":7,"src":"4431:12:0","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$7","typeString":"enum ECDSA.RecoverError"}},"visibility":"internal"},{"constant":false,"id":118,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":153,"src":"4445:7:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":117,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4445:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4421:32:0"},"scope":357,"src":"4312:538:0","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":185,"nodeType":"Block","src":"5093:210:0","statements":[{"assignments":[166,169,171],"declarations":[{"constant":false,"id":166,"mutability":"mutable","name":"recovered","nameLocation":"5112:9:0","nodeType":"VariableDeclaration","scope":185,"src":"5104:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":165,"name":"address","nodeType":"ElementaryTypeName","src":"5104:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":169,"mutability":"mutable","name":"error","nameLocation":"5136:5:0","nodeType":"VariableDeclaration","scope":185,"src":"5123:18:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$7","typeString":"enum ECDSA.RecoverError"},"typeName":{"id":168,"nodeType":"UserDefinedTypeName","pathNode":{"id":167,"name":"RecoverError","nameLocations":["5123:12:0"],"nodeType":"IdentifierPath","referencedDeclaration":7,"src":"5123:12:0"},"referencedDeclaration":7,"src":"5123:12:0","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$7","typeString":"enum ECDSA.RecoverError"}},"visibility":"internal"},{"constant":false,"id":171,"mutability":"mutable","name":"errorArg","nameLocation":"5151:8:0","nodeType":"VariableDeclaration","scope":185,"src":"5143:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":170,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5143:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":177,"initialValue":{"arguments":[{"id":173,"name":"hash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":156,"src":"5187:4:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":174,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":158,"src":"5205:1:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":175,"name":"vs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":160,"src":"5220:2:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":172,"name":"tryRecover","nodeType":"Identifier","overloadedDeclarations":[73,153,261],"referencedDeclaration":153,"src":"5163:10:0","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_bytes32_$_t_bytes32_$returns$_t_address_$_t_enum$_RecoverError_$7_$_t_bytes32_$","typeString":"function (bytes32,bytes32,bytes32) pure returns (address,enum ECDSA.RecoverError,bytes32)"}},"id":176,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5163:69:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_enum$_RecoverError_$7_$_t_bytes32_$","typeString":"tuple(address,enum ECDSA.RecoverError,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"5103:129:0"},{"expression":{"arguments":[{"id":179,"name":"error","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":169,"src":"5254:5:0","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$7","typeString":"enum ECDSA.RecoverError"}},{"id":180,"name":"errorArg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":171,"src":"5261:8:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_RecoverError_$7","typeString":"enum ECDSA.RecoverError"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":178,"name":"_throwError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":346,"src":"5242:11:0","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_RecoverError_$7_$_t_bytes32_$returns$__$","typeString":"function (enum ECDSA.RecoverError,bytes32) pure"}},"id":181,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5242:28:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":182,"nodeType":"ExpressionStatement","src":"5242:28:0"},{"expression":{"id":183,"name":"recovered","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":166,"src":"5287:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":164,"id":184,"nodeType":"Return","src":"5280:16:0"}]},"documentation":{"id":154,"nodeType":"StructuredDocumentation","src":"4856:116:0","text":" @dev Overload of {ECDSA-recover} that receives the `r and `vs` short-signature fields separately."},"id":186,"implemented":true,"kind":"function","modifiers":[],"name":"recover","nameLocation":"4986:7:0","nodeType":"FunctionDefinition","parameters":{"id":161,"nodeType":"ParameterList","parameters":[{"constant":false,"id":156,"mutability":"mutable","name":"hash","nameLocation":"5011:4:0","nodeType":"VariableDeclaration","scope":186,"src":"5003:12:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":155,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5003:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":158,"mutability":"mutable","name":"r","nameLocation":"5033:1:0","nodeType":"VariableDeclaration","scope":186,"src":"5025:9:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":157,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5025:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":160,"mutability":"mutable","name":"vs","nameLocation":"5052:2:0","nodeType":"VariableDeclaration","scope":186,"src":"5044:10:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":159,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5044:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4993:67:0"},"returnParameters":{"id":164,"nodeType":"ParameterList","parameters":[{"constant":false,"id":163,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":186,"src":"5084:7:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":162,"name":"address","nodeType":"ElementaryTypeName","src":"5084:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5083:9:0"},"scope":357,"src":"4977:326:0","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":260,"nodeType":"Block","src":"5597:1406:0","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":210,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":207,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":195,"src":"6506:1:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":206,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6498:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":205,"name":"uint256","nodeType":"ElementaryTypeName","src":"6498:7:0","typeDescriptions":{}}},"id":208,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6498:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"307837464646464646464646464646464646464646464646464646464646464646463544353736453733353741343530314444464539324634363638314232304130","id":209,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6523:66:0","typeDescriptions":{"typeIdentifier":"t_rational_57896044618658097711785492504343953926418782139537452191302581570759080747168_by_1","typeString":"int_const 5789...(69 digits omitted)...7168"},"value":"0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D576E7357A4501DDFE92F46681B20A0"},"src":"6498:91:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":221,"nodeType":"IfStatement","src":"6481:198:0","trueBody":{"id":220,"nodeType":"Block","src":"6600:79:0","statements":[{"expression":{"components":[{"arguments":[{"hexValue":"30","id":213,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6630:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":212,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6622:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":211,"name":"address","nodeType":"ElementaryTypeName","src":"6622:7:0","typeDescriptions":{}}},"id":214,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6622:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":215,"name":"RecoverError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7,"src":"6634:12:0","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RecoverError_$7_$","typeString":"type(enum ECDSA.RecoverError)"}},"id":216,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6647:17:0","memberName":"InvalidSignatureS","nodeType":"MemberAccess","referencedDeclaration":6,"src":"6634:30:0","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$7","typeString":"enum ECDSA.RecoverError"}},{"id":217,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":195,"src":"6666:1:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":218,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"6621:47:0","typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_enum$_RecoverError_$7_$_t_bytes32_$","typeString":"tuple(address,enum ECDSA.RecoverError,bytes32)"}},"functionReturnParameters":204,"id":219,"nodeType":"Return","src":"6614:54:0"}]}},{"assignments":[223],"declarations":[{"constant":false,"id":223,"mutability":"mutable","name":"signer","nameLocation":"6781:6:0","nodeType":"VariableDeclaration","scope":260,"src":"6773:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":222,"name":"address","nodeType":"ElementaryTypeName","src":"6773:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":230,"initialValue":{"arguments":[{"id":225,"name":"hash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":189,"src":"6800:4:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":226,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":191,"src":"6806:1:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":227,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":193,"src":"6809:1:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":228,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":195,"src":"6812:1:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":224,"name":"ecrecover","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-6,"src":"6790:9:0","typeDescriptions":{"typeIdentifier":"t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$","typeString":"function (bytes32,uint8,bytes32,bytes32) pure returns (address)"}},"id":229,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6790:24:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"6773:41:0"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":236,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":231,"name":"signer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":223,"src":"6828:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":234,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6846:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":233,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6838:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":232,"name":"address","nodeType":"ElementaryTypeName","src":"6838:7:0","typeDescriptions":{}}},"id":235,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6838:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"6828:20:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":250,"nodeType":"IfStatement","src":"6824:113:0","trueBody":{"id":249,"nodeType":"Block","src":"6850:87:0","statements":[{"expression":{"components":[{"arguments":[{"hexValue":"30","id":239,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6880:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":238,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6872:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":237,"name":"address","nodeType":"ElementaryTypeName","src":"6872:7:0","typeDescriptions":{}}},"id":240,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6872:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":241,"name":"RecoverError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7,"src":"6884:12:0","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RecoverError_$7_$","typeString":"type(enum ECDSA.RecoverError)"}},"id":242,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6897:16:0","memberName":"InvalidSignature","nodeType":"MemberAccess","referencedDeclaration":4,"src":"6884:29:0","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$7","typeString":"enum ECDSA.RecoverError"}},{"arguments":[{"hexValue":"30","id":245,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6923:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":244,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6915:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":243,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6915:7:0","typeDescriptions":{}}},"id":246,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6915:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":247,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"6871:55:0","typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_enum$_RecoverError_$7_$_t_bytes32_$","typeString":"tuple(address,enum ECDSA.RecoverError,bytes32)"}},"functionReturnParameters":204,"id":248,"nodeType":"Return","src":"6864:62:0"}]}},{"expression":{"components":[{"id":251,"name":"signer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":223,"src":"6955:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":252,"name":"RecoverError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7,"src":"6963:12:0","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RecoverError_$7_$","typeString":"type(enum ECDSA.RecoverError)"}},"id":253,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6976:7:0","memberName":"NoError","nodeType":"MemberAccess","referencedDeclaration":3,"src":"6963:20:0","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$7","typeString":"enum ECDSA.RecoverError"}},{"arguments":[{"hexValue":"30","id":256,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6993:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":255,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6985:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":254,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6985:7:0","typeDescriptions":{}}},"id":257,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6985:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":258,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"6954:42:0","typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_enum$_RecoverError_$7_$_t_bytes32_$","typeString":"tuple(address,enum ECDSA.RecoverError,bytes32)"}},"functionReturnParameters":204,"id":259,"nodeType":"Return","src":"6947:49:0"}]},"documentation":{"id":187,"nodeType":"StructuredDocumentation","src":"5309:125:0","text":" @dev Overload of {ECDSA-tryRecover} that receives the `v`,\n `r` and `s` signature fields separately."},"id":261,"implemented":true,"kind":"function","modifiers":[],"name":"tryRecover","nameLocation":"5448:10:0","nodeType":"FunctionDefinition","parameters":{"id":196,"nodeType":"ParameterList","parameters":[{"constant":false,"id":189,"mutability":"mutable","name":"hash","nameLocation":"5476:4:0","nodeType":"VariableDeclaration","scope":261,"src":"5468:12:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":188,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5468:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":191,"mutability":"mutable","name":"v","nameLocation":"5496:1:0","nodeType":"VariableDeclaration","scope":261,"src":"5490:7:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":190,"name":"uint8","nodeType":"ElementaryTypeName","src":"5490:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":193,"mutability":"mutable","name":"r","nameLocation":"5515:1:0","nodeType":"VariableDeclaration","scope":261,"src":"5507:9:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":192,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5507:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":195,"mutability":"mutable","name":"s","nameLocation":"5534:1:0","nodeType":"VariableDeclaration","scope":261,"src":"5526:9:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":194,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5526:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"5458:83:0"},"returnParameters":{"id":204,"nodeType":"ParameterList","parameters":[{"constant":false,"id":198,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":261,"src":"5565:7:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":197,"name":"address","nodeType":"ElementaryTypeName","src":"5565:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":201,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":261,"src":"5574:12:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$7","typeString":"enum ECDSA.RecoverError"},"typeName":{"id":200,"nodeType":"UserDefinedTypeName","pathNode":{"id":199,"name":"RecoverError","nameLocations":["5574:12:0"],"nodeType":"IdentifierPath","referencedDeclaration":7,"src":"5574:12:0"},"referencedDeclaration":7,"src":"5574:12:0","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$7","typeString":"enum ECDSA.RecoverError"}},"visibility":"internal"},{"constant":false,"id":203,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":261,"src":"5588:7:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":202,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5588:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"5564:32:0"},"scope":357,"src":"5439:1564:0","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":296,"nodeType":"Block","src":"7268:224:0","statements":[{"assignments":[276,279,281],"declarations":[{"constant":false,"id":276,"mutability":"mutable","name":"recovered","nameLocation":"7287:9:0","nodeType":"VariableDeclaration","scope":296,"src":"7279:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":275,"name":"address","nodeType":"ElementaryTypeName","src":"7279:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":279,"mutability":"mutable","name":"error","nameLocation":"7311:5:0","nodeType":"VariableDeclaration","scope":296,"src":"7298:18:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$7","typeString":"enum ECDSA.RecoverError"},"typeName":{"id":278,"nodeType":"UserDefinedTypeName","pathNode":{"id":277,"name":"RecoverError","nameLocations":["7298:12:0"],"nodeType":"IdentifierPath","referencedDeclaration":7,"src":"7298:12:0"},"referencedDeclaration":7,"src":"7298:12:0","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$7","typeString":"enum ECDSA.RecoverError"}},"visibility":"internal"},{"constant":false,"id":281,"mutability":"mutable","name":"errorArg","nameLocation":"7326:8:0","nodeType":"VariableDeclaration","scope":296,"src":"7318:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":280,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7318:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":288,"initialValue":{"arguments":[{"id":283,"name":"hash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":264,"src":"7362:4:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":284,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":266,"src":"7380:1:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":285,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":268,"src":"7395:1:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":286,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":270,"src":"7410:1:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":282,"name":"tryRecover","nodeType":"Identifier","overloadedDeclarations":[73,153,261],"referencedDeclaration":261,"src":"7338:10:0","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$_t_enum$_RecoverError_$7_$_t_bytes32_$","typeString":"function (bytes32,uint8,bytes32,bytes32) pure returns (address,enum ECDSA.RecoverError,bytes32)"}},"id":287,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7338:83:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_enum$_RecoverError_$7_$_t_bytes32_$","typeString":"tuple(address,enum ECDSA.RecoverError,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"7278:143:0"},{"expression":{"arguments":[{"id":290,"name":"error","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":279,"src":"7443:5:0","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$7","typeString":"enum ECDSA.RecoverError"}},{"id":291,"name":"errorArg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":281,"src":"7450:8:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_RecoverError_$7","typeString":"enum ECDSA.RecoverError"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":289,"name":"_throwError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":346,"src":"7431:11:0","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_RecoverError_$7_$_t_bytes32_$returns$__$","typeString":"function (enum ECDSA.RecoverError,bytes32) pure"}},"id":292,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7431:28:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":293,"nodeType":"ExpressionStatement","src":"7431:28:0"},{"expression":{"id":294,"name":"recovered","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":276,"src":"7476:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":274,"id":295,"nodeType":"Return","src":"7469:16:0"}]},"documentation":{"id":262,"nodeType":"StructuredDocumentation","src":"7009:122:0","text":" @dev Overload of {ECDSA-recover} that receives the `v`,\n `r` and `s` signature fields separately."},"id":297,"implemented":true,"kind":"function","modifiers":[],"name":"recover","nameLocation":"7145:7:0","nodeType":"FunctionDefinition","parameters":{"id":271,"nodeType":"ParameterList","parameters":[{"constant":false,"id":264,"mutability":"mutable","name":"hash","nameLocation":"7170:4:0","nodeType":"VariableDeclaration","scope":297,"src":"7162:12:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":263,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7162:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":266,"mutability":"mutable","name":"v","nameLocation":"7190:1:0","nodeType":"VariableDeclaration","scope":297,"src":"7184:7:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":265,"name":"uint8","nodeType":"ElementaryTypeName","src":"7184:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":268,"mutability":"mutable","name":"r","nameLocation":"7209:1:0","nodeType":"VariableDeclaration","scope":297,"src":"7201:9:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":267,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7201:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":270,"mutability":"mutable","name":"s","nameLocation":"7228:1:0","nodeType":"VariableDeclaration","scope":297,"src":"7220:9:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":269,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7220:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"7152:83:0"},"returnParameters":{"id":274,"nodeType":"ParameterList","parameters":[{"constant":false,"id":273,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":297,"src":"7259:7:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":272,"name":"address","nodeType":"ElementaryTypeName","src":"7259:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7258:9:0"},"scope":357,"src":"7136:356:0","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":345,"nodeType":"Block","src":"7697:460:0","statements":[{"condition":{"commonType":{"typeIdentifier":"t_enum$_RecoverError_$7","typeString":"enum ECDSA.RecoverError"},"id":309,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":306,"name":"error","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":301,"src":"7711:5:0","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$7","typeString":"enum ECDSA.RecoverError"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":307,"name":"RecoverError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7,"src":"7720:12:0","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RecoverError_$7_$","typeString":"type(enum ECDSA.RecoverError)"}},"id":308,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7733:7:0","memberName":"NoError","nodeType":"MemberAccess","referencedDeclaration":3,"src":"7720:20:0","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$7","typeString":"enum ECDSA.RecoverError"}},"src":"7711:29:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_RecoverError_$7","typeString":"enum ECDSA.RecoverError"},"id":315,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":312,"name":"error","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":301,"src":"7807:5:0","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$7","typeString":"enum ECDSA.RecoverError"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":313,"name":"RecoverError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7,"src":"7816:12:0","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RecoverError_$7_$","typeString":"type(enum ECDSA.RecoverError)"}},"id":314,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7829:16:0","memberName":"InvalidSignature","nodeType":"MemberAccess","referencedDeclaration":4,"src":"7816:29:0","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$7","typeString":"enum ECDSA.RecoverError"}},"src":"7807:38:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_RecoverError_$7","typeString":"enum ECDSA.RecoverError"},"id":323,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":320,"name":"error","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":301,"src":"7912:5:0","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$7","typeString":"enum ECDSA.RecoverError"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":321,"name":"RecoverError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7,"src":"7921:12:0","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RecoverError_$7_$","typeString":"type(enum ECDSA.RecoverError)"}},"id":322,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7934:22:0","memberName":"InvalidSignatureLength","nodeType":"MemberAccess","referencedDeclaration":5,"src":"7921:35:0","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$7","typeString":"enum ECDSA.RecoverError"}},"src":"7912:44:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_RecoverError_$7","typeString":"enum ECDSA.RecoverError"},"id":335,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":332,"name":"error","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":301,"src":"8046:5:0","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$7","typeString":"enum ECDSA.RecoverError"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":333,"name":"RecoverError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7,"src":"8055:12:0","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RecoverError_$7_$","typeString":"type(enum ECDSA.RecoverError)"}},"id":334,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8068:17:0","memberName":"InvalidSignatureS","nodeType":"MemberAccess","referencedDeclaration":6,"src":"8055:30:0","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$7","typeString":"enum ECDSA.RecoverError"}},"src":"8046:39:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":341,"nodeType":"IfStatement","src":"8042:109:0","trueBody":{"id":340,"nodeType":"Block","src":"8087:64:0","statements":[{"errorCall":{"arguments":[{"id":337,"name":"errorArg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":303,"src":"8131:8:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":336,"name":"ECDSAInvalidSignatureS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20,"src":"8108:22:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_bytes32_$returns$__$","typeString":"function (bytes32) pure"}},"id":338,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8108:32:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":339,"nodeType":"RevertStatement","src":"8101:39:0"}]}},"id":342,"nodeType":"IfStatement","src":"7908:243:0","trueBody":{"id":331,"nodeType":"Block","src":"7958:78:0","statements":[{"errorCall":{"arguments":[{"arguments":[{"id":327,"name":"errorArg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":303,"src":"8015:8:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":326,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8007:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":325,"name":"uint256","nodeType":"ElementaryTypeName","src":"8007:7:0","typeDescriptions":{}}},"id":328,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8007:17:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":324,"name":"ECDSAInvalidSignatureLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15,"src":"7979:27:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":329,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7979:46:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":330,"nodeType":"RevertStatement","src":"7972:53:0"}]}},"id":343,"nodeType":"IfStatement","src":"7803:348:0","trueBody":{"id":319,"nodeType":"Block","src":"7847:55:0","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":316,"name":"ECDSAInvalidSignature","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10,"src":"7868:21:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":317,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7868:23:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":318,"nodeType":"RevertStatement","src":"7861:30:0"}]}},"id":344,"nodeType":"IfStatement","src":"7707:444:0","trueBody":{"id":311,"nodeType":"Block","src":"7742:55:0","statements":[{"functionReturnParameters":305,"id":310,"nodeType":"Return","src":"7756:7:0"}]}}]},"documentation":{"id":298,"nodeType":"StructuredDocumentation","src":"7498:122:0","text":" @dev Optionally reverts with the corresponding custom error according to the `error` argument provided."},"id":346,"implemented":true,"kind":"function","modifiers":[],"name":"_throwError","nameLocation":"7634:11:0","nodeType":"FunctionDefinition","parameters":{"id":304,"nodeType":"ParameterList","parameters":[{"constant":false,"id":301,"mutability":"mutable","name":"error","nameLocation":"7659:5:0","nodeType":"VariableDeclaration","scope":346,"src":"7646:18:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$7","typeString":"enum ECDSA.RecoverError"},"typeName":{"id":300,"nodeType":"UserDefinedTypeName","pathNode":{"id":299,"name":"RecoverError","nameLocations":["7646:12:0"],"nodeType":"IdentifierPath","referencedDeclaration":7,"src":"7646:12:0"},"referencedDeclaration":7,"src":"7646:12:0","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$7","typeString":"enum ECDSA.RecoverError"}},"visibility":"internal"},{"constant":false,"id":303,"mutability":"mutable","name":"errorArg","nameLocation":"7674:8:0","nodeType":"VariableDeclaration","scope":346,"src":"7666:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":302,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7666:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"7645:38:0"},"returnParameters":{"id":305,"nodeType":"ParameterList","parameters":[],"src":"7697:0:0"},"scope":357,"src":"7625:532:0","stateMutability":"pure","virtual":false,"visibility":"private"},{"body":{"id":355,"nodeType":"Block","src":"8939:368:0","statements":[{"AST":{"nodeType":"YulBlock","src":"9001:300:0","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9022:4:0","type":"","value":"0x00"},{"hexValue":"19457468657265756d205369676e6564204d6573736167653a0a3332","kind":"string","nodeType":"YulLiteral","src":"9028:34:0","type":"","value":"\u0019Ethereum Signed Message:\n32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9015:6:0"},"nodeType":"YulFunctionCall","src":"9015:48:0"},"nodeType":"YulExpressionStatement","src":"9015:48:0"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9124:4:0","type":"","value":"0x1c"},{"name":"messageHash","nodeType":"YulIdentifier","src":"9130:11:0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9117:6:0"},"nodeType":"YulFunctionCall","src":"9117:25:0"},"nodeType":"YulExpressionStatement","src":"9117:25:0"},{"nodeType":"YulAssignment","src":"9196:31:0","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9216:4:0","type":"","value":"0x00"},{"kind":"number","nodeType":"YulLiteral","src":"9222:4:0","type":"","value":"0x3c"}],"functionName":{"name":"keccak256","nodeType":"YulIdentifier","src":"9206:9:0"},"nodeType":"YulFunctionCall","src":"9206:21:0"},"variableNames":[{"name":"digest","nodeType":"YulIdentifier","src":"9196:6:0"}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"paris","externalReferences":[{"declaration":352,"isOffset":false,"isSlot":false,"src":"9196:6:0","valueSize":1},{"declaration":349,"isOffset":false,"isSlot":false,"src":"9130:11:0","valueSize":1}],"id":354,"nodeType":"InlineAssembly","src":"8992:309:0"}]},"documentation":{"id":347,"nodeType":"StructuredDocumentation","src":"8163:665:0","text":" @dev Returns the keccak256 digest of an ERC-191 signed data with version\n `0x45` (`personal_sign` messages).\n The digest is calculated by prefixing a bytes32 `messageHash` with\n `\"\\x19Ethereum Signed Message:\\n32\"` and hashing the result. It corresponds with the\n hash signed when using the https://eth.wiki/json-rpc/API#eth_sign[`eth_sign`] JSON-RPC method.\n NOTE: The `messageHash` parameter is intended to be the result of hashing a raw message with\n keccak256, although any bytes32 value can be safely used because the final digest will\n be re-hashed.\n See {ECDSA-recover}."},"id":356,"implemented":true,"kind":"function","modifiers":[],"name":"toEthSignedMessageHash","nameLocation":"8842:22:0","nodeType":"FunctionDefinition","parameters":{"id":350,"nodeType":"ParameterList","parameters":[{"constant":false,"id":349,"mutability":"mutable","name":"messageHash","nameLocation":"8882:11:0","nodeType":"VariableDeclaration","scope":356,"src":"8874:19:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":348,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8874:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"8864:35:0"},"returnParameters":{"id":353,"nodeType":"ParameterList","parameters":[{"constant":false,"id":352,"mutability":"mutable","name":"digest","nameLocation":"8931:6:0","nodeType":"VariableDeclaration","scope":356,"src":"8923:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":351,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8923:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"8922:16:0"},"scope":357,"src":"8833:474:0","stateMutability":"pure","virtual":false,"visibility":"internal"}],"scope":358,"src":"342:8967:0","usedErrors":[10,15,20]}],"src":"111:9199:0"},"id":0},"contracts/bridge/TellorDataBridge.sol":{"ast":{"absolutePath":"contracts/bridge/TellorDataBridge.sol","exportedSymbols":{"ECDSA":[357],"OracleAttestationData":[369],"ReportData":[382],"Signature":[389],"TellorDataBridge":[958],"Validator":[394]},"id":959,"license":"Apache-2.0","nodeType":"SourceUnit","nodes":[{"id":359,"literals":["solidity","0.8",".19"],"nodeType":"PragmaDirective","src":"39:23:1"},{"absolutePath":"contracts/bridge/ECDSA.sol","file":"./ECDSA.sol","id":361,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":959,"sourceUnit":358,"src":"64:34:1","symbolAliases":[{"foreign":{"id":360,"name":"ECDSA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"72:5:1","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"canonicalName":"OracleAttestationData","id":369,"members":[{"constant":false,"id":363,"mutability":"mutable","name":"queryId","nameLocation":"143:7:1","nodeType":"VariableDeclaration","scope":369,"src":"135:15:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":362,"name":"bytes32","nodeType":"ElementaryTypeName","src":"135:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":366,"mutability":"mutable","name":"report","nameLocation":"167:6:1","nodeType":"VariableDeclaration","scope":369,"src":"156:17:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_ReportData_$382_storage_ptr","typeString":"struct ReportData"},"typeName":{"id":365,"nodeType":"UserDefinedTypeName","pathNode":{"id":364,"name":"ReportData","nameLocations":["156:10:1"],"nodeType":"IdentifierPath","referencedDeclaration":382,"src":"156:10:1"},"referencedDeclaration":382,"src":"156:10:1","typeDescriptions":{"typeIdentifier":"t_struct$_ReportData_$382_storage_ptr","typeString":"struct ReportData"}},"visibility":"internal"},{"constant":false,"id":368,"mutability":"mutable","name":"attestationTimestamp","nameLocation":"187:20:1","nodeType":"VariableDeclaration","scope":369,"src":"179:28:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":367,"name":"uint256","nodeType":"ElementaryTypeName","src":"179:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"OracleAttestationData","nameLocation":"107:21:1","nodeType":"StructDefinition","scope":959,"src":"100:154:1","visibility":"public"},{"canonicalName":"ReportData","id":382,"members":[{"constant":false,"id":371,"mutability":"mutable","name":"value","nameLocation":"286:5:1","nodeType":"VariableDeclaration","scope":382,"src":"280:11:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":370,"name":"bytes","nodeType":"ElementaryTypeName","src":"280:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":373,"mutability":"mutable","name":"timestamp","nameLocation":"305:9:1","nodeType":"VariableDeclaration","scope":382,"src":"297:17:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":372,"name":"uint256","nodeType":"ElementaryTypeName","src":"297:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":375,"mutability":"mutable","name":"aggregatePower","nameLocation":"373:14:1","nodeType":"VariableDeclaration","scope":382,"src":"365:22:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":374,"name":"uint256","nodeType":"ElementaryTypeName","src":"365:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":377,"mutability":"mutable","name":"previousTimestamp","nameLocation":"401:17:1","nodeType":"VariableDeclaration","scope":382,"src":"393:25:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":376,"name":"uint256","nodeType":"ElementaryTypeName","src":"393:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":379,"mutability":"mutable","name":"nextTimestamp","nameLocation":"432:13:1","nodeType":"VariableDeclaration","scope":382,"src":"424:21:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":378,"name":"uint256","nodeType":"ElementaryTypeName","src":"424:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":381,"mutability":"mutable","name":"lastConsensusTimestamp","nameLocation":"459:22:1","nodeType":"VariableDeclaration","scope":382,"src":"451:30:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":380,"name":"uint256","nodeType":"ElementaryTypeName","src":"451:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"ReportData","nameLocation":"263:10:1","nodeType":"StructDefinition","scope":959,"src":"256:228:1","visibility":"public"},{"canonicalName":"Signature","id":389,"members":[{"constant":false,"id":384,"mutability":"mutable","name":"v","nameLocation":"515:1:1","nodeType":"VariableDeclaration","scope":389,"src":"509:7:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":383,"name":"uint8","nodeType":"ElementaryTypeName","src":"509:5:1","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":386,"mutability":"mutable","name":"r","nameLocation":"530:1:1","nodeType":"VariableDeclaration","scope":389,"src":"522:9:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":385,"name":"bytes32","nodeType":"ElementaryTypeName","src":"522:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":388,"mutability":"mutable","name":"s","nameLocation":"545:1:1","nodeType":"VariableDeclaration","scope":389,"src":"537:9:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":387,"name":"bytes32","nodeType":"ElementaryTypeName","src":"537:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"name":"Signature","nameLocation":"493:9:1","nodeType":"StructDefinition","scope":959,"src":"486:63:1","visibility":"public"},{"canonicalName":"Validator","id":394,"members":[{"constant":false,"id":391,"mutability":"mutable","name":"addr","nameLocation":"582:4:1","nodeType":"VariableDeclaration","scope":394,"src":"574:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":390,"name":"address","nodeType":"ElementaryTypeName","src":"574:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":393,"mutability":"mutable","name":"power","nameLocation":"600:5:1","nodeType":"VariableDeclaration","scope":394,"src":"592:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":392,"name":"uint256","nodeType":"ElementaryTypeName","src":"592:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"Validator","nameLocation":"558:9:1","nodeType":"StructDefinition","scope":959,"src":"551:57:1","visibility":"public"},{"abstract":false,"baseContracts":[{"baseName":{"id":396,"name":"ECDSA","nameLocations":["978:5:1"],"nodeType":"IdentifierPath","referencedDeclaration":357,"src":"978:5:1"},"id":397,"nodeType":"InheritanceSpecifier","src":"978:5:1"}],"canonicalName":"TellorDataBridge","contractDependencies":[],"contractKind":"contract","documentation":{"id":395,"nodeType":"StructuredDocumentation","src":"611:338:1","text":"@title TellorDataBridge: Tellor Layer -> EVM, Oracle relay.\n @dev The relay relies on a set of signers to attest to some event on\n Tellor Layer. These signers are the validator set, who sign over every\n block. At least 2/3 of the voting power of the current\n view of the validator set must sign off on new relayed events."},"fullyImplemented":true,"id":958,"linearizedBaseContracts":[958,357],"name":"TellorDataBridge","nameLocation":"958:16:1","nodeType":"ContractDefinition","nodes":[{"constant":false,"functionSelector":"452a9320","id":399,"mutability":"mutable","name":"guardian","nameLocation":"1022:8:1","nodeType":"VariableDeclaration","scope":958,"src":"1007:23:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":398,"name":"address","nodeType":"ElementaryTypeName","src":"1007:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"constant":false,"documentation":{"id":400,"nodeType":"StructuredDocumentation","src":"1032:76:1","text":"Able to reset the validator set only if the validator set becomes stale."},"functionSelector":"af082a7d","id":402,"mutability":"mutable","name":"lastValidatorSetCheckpoint","nameLocation":"1128:26:1","nodeType":"VariableDeclaration","scope":958,"src":"1113:41:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":401,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1113:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"constant":false,"documentation":{"id":403,"nodeType":"StructuredDocumentation","src":"1156:59:1","text":"Domain-separated commitment to the latest validator set."},"functionSelector":"ba95ec27","id":405,"mutability":"mutable","name":"powerThreshold","nameLocation":"1235:14:1","nodeType":"VariableDeclaration","scope":958,"src":"1220:29:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":404,"name":"uint256","nodeType":"ElementaryTypeName","src":"1220:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"constant":false,"documentation":{"id":406,"nodeType":"StructuredDocumentation","src":"1251:49:1","text":"Voting power required to submit a new update."},"functionSelector":"6cf6d675","id":408,"mutability":"mutable","name":"unbondingPeriod","nameLocation":"1320:15:1","nodeType":"VariableDeclaration","scope":958,"src":"1305:30:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":407,"name":"uint256","nodeType":"ElementaryTypeName","src":"1305:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"constant":false,"documentation":{"id":409,"nodeType":"StructuredDocumentation","src":"1337:65:1","text":"Time period after which a validator can withdraw their stake."},"functionSelector":"4f76f1ee","id":411,"mutability":"mutable","name":"validatorTimestamp","nameLocation":"1422:18:1","nodeType":"VariableDeclaration","scope":958,"src":"1407:33:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":410,"name":"uint256","nodeType":"ElementaryTypeName","src":"1407:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"constant":false,"documentation":{"id":412,"nodeType":"StructuredDocumentation","src":"1442:58:1","text":"Timestamp of the block where validator set is updated."},"functionSelector":"d5f39488","id":414,"mutability":"mutable","name":"deployer","nameLocation":"1520:8:1","nodeType":"VariableDeclaration","scope":958,"src":"1505:23:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":413,"name":"address","nodeType":"ElementaryTypeName","src":"1505:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"constant":false,"documentation":{"id":415,"nodeType":"StructuredDocumentation","src":"1530:39:1","text":"Address that deployed the contract."},"functionSelector":"158ef93e","id":417,"mutability":"mutable","name":"initialized","nameLocation":"1586:11:1","nodeType":"VariableDeclaration","scope":958,"src":"1574:23:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":416,"name":"bool","nodeType":"ElementaryTypeName","src":"1574:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"public"},{"constant":true,"documentation":{"id":418,"nodeType":"StructuredDocumentation","src":"1599:40:1","text":"True if the contract is initialized."},"functionSelector":"1a8bcd34","id":421,"mutability":"constant","name":"MS_PER_SECOND","nameLocation":"1668:13:1","nodeType":"VariableDeclaration","scope":958,"src":"1644:44:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":419,"name":"uint256","nodeType":"ElementaryTypeName","src":"1644:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"31303030","id":420,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1684:4:1","typeDescriptions":{"typeIdentifier":"t_rational_1000_by_1","typeString":"int_const 1000"},"value":"1000"},"visibility":"public"},{"constant":true,"functionSelector":"bd7c3153","id":424,"mutability":"constant","name":"NEW_REPORT_ATTESTATION_DOMAIN_SEPARATOR","nameLocation":"1763:39:1","nodeType":"VariableDeclaration","scope":958,"src":"1739:170:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":422,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1739:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"hexValue":"307837343635366336633666373234333735373237323635366537343431373437343635373337343631373436393666366530303030303030303030303030303030","id":423,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1843:66:1","typeDescriptions":{"typeIdentifier":"t_rational_52647490301217880958921255742851195000291213299261488381361933475469663928320_by_1","typeString":"int_const 5264...(69 digits omitted)...8320"},"value":"0x74656c6c6f7243757272656e744174746573746174696f6e0000000000000000"},"visibility":"public"},{"constant":false,"functionSelector":"9e45a913","id":426,"mutability":"immutable","name":"VALIDATOR_SET_HASH_DOMAIN_SEPARATOR","nameLocation":"2257:35:1","nodeType":"VariableDeclaration","scope":958,"src":"2232:60:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":425,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2232:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"anonymous":false,"eventSelector":"d7067f3840022e90166b8566f9982288b89ec7479b8eb30fad06290f18c8cb09","id":434,"name":"GuardianResetValidatorSet","nameLocation":"2320:25:1","nodeType":"EventDefinition","parameters":{"id":433,"nodeType":"ParameterList","parameters":[{"constant":false,"id":428,"indexed":false,"mutability":"mutable","name":"_powerThreshold","nameLocation":"2354:15:1","nodeType":"VariableDeclaration","scope":434,"src":"2346:23:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":427,"name":"uint256","nodeType":"ElementaryTypeName","src":"2346:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":430,"indexed":false,"mutability":"mutable","name":"_validatorTimestamp","nameLocation":"2379:19:1","nodeType":"VariableDeclaration","scope":434,"src":"2371:27:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":429,"name":"uint256","nodeType":"ElementaryTypeName","src":"2371:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":432,"indexed":false,"mutability":"mutable","name":"_validatorSetHash","nameLocation":"2408:17:1","nodeType":"VariableDeclaration","scope":434,"src":"2400:25:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":431,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2400:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2345:81:1"},"src":"2314:113:1"},{"anonymous":false,"eventSelector":"e304b71f81a1aaf6d714401de28ba1ebdbb5ff9c5fee59ef2a6eb984f9e8da7e","id":442,"name":"ValidatorSetUpdated","nameLocation":"2438:19:1","nodeType":"EventDefinition","parameters":{"id":441,"nodeType":"ParameterList","parameters":[{"constant":false,"id":436,"indexed":false,"mutability":"mutable","name":"_powerThreshold","nameLocation":"2466:15:1","nodeType":"VariableDeclaration","scope":442,"src":"2458:23:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":435,"name":"uint256","nodeType":"ElementaryTypeName","src":"2458:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":438,"indexed":false,"mutability":"mutable","name":"_validatorTimestamp","nameLocation":"2491:19:1","nodeType":"VariableDeclaration","scope":442,"src":"2483:27:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":437,"name":"uint256","nodeType":"ElementaryTypeName","src":"2483:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":440,"indexed":false,"mutability":"mutable","name":"_validatorSetHash","nameLocation":"2520:17:1","nodeType":"VariableDeclaration","scope":442,"src":"2512:25:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":439,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2512:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2457:81:1"},"src":"2432:107:1"},{"errorSelector":"0dc149f0","id":444,"name":"AlreadyInitialized","nameLocation":"2566:18:1","nodeType":"ErrorDefinition","parameters":{"id":443,"nodeType":"ParameterList","parameters":[],"src":"2584:2:1"},"src":"2560:27:1"},{"errorSelector":"cabeb655","id":446,"name":"InsufficientVotingPower","nameLocation":"2598:23:1","nodeType":"ErrorDefinition","parameters":{"id":445,"nodeType":"ParameterList","parameters":[],"src":"2621:2:1"},"src":"2592:32:1"},{"errorSelector":"c3b70c88","id":448,"name":"InvalidPowerThreshold","nameLocation":"2635:21:1","nodeType":"ErrorDefinition","parameters":{"id":447,"nodeType":"ParameterList","parameters":[],"src":"2656:2:1"},"src":"2629:30:1"},{"errorSelector":"8baa579f","id":450,"name":"InvalidSignature","nameLocation":"2670:16:1","nodeType":"ErrorDefinition","parameters":{"id":449,"nodeType":"ParameterList","parameters":[],"src":"2686:2:1"},"src":"2664:25:1"},{"errorSelector":"c6617b7b","id":452,"name":"MalformedCurrentValidatorSet","nameLocation":"2700:28:1","nodeType":"ErrorDefinition","parameters":{"id":451,"nodeType":"ParameterList","parameters":[],"src":"2728:2:1"},"src":"2694:37:1"},{"errorSelector":"8b906c97","id":454,"name":"NotDeployer","nameLocation":"2742:11:1","nodeType":"ErrorDefinition","parameters":{"id":453,"nodeType":"ParameterList","parameters":[],"src":"2753:2:1"},"src":"2736:20:1"},{"errorSelector":"ef6d0f02","id":456,"name":"NotGuardian","nameLocation":"2767:11:1","nodeType":"ErrorDefinition","parameters":{"id":455,"nodeType":"ParameterList","parameters":[],"src":"2778:2:1"},"src":"2761:20:1"},{"errorSelector":"e5e5e464","id":458,"name":"StaleValidatorSet","nameLocation":"2792:17:1","nodeType":"ErrorDefinition","parameters":{"id":457,"nodeType":"ParameterList","parameters":[],"src":"2809:2:1"},"src":"2786:26:1"},{"errorSelector":"177b5d92","id":460,"name":"SuppliedValidatorSetInvalid","nameLocation":"2823:27:1","nodeType":"ErrorDefinition","parameters":{"id":459,"nodeType":"ParameterList","parameters":[],"src":"2850:2:1"},"src":"2817:36:1"},{"errorSelector":"1c36ced2","id":462,"name":"ValidatorSetNotStale","nameLocation":"2864:20:1","nodeType":"ErrorDefinition","parameters":{"id":461,"nodeType":"ParameterList","parameters":[],"src":"2884:2:1"},"src":"2858:29:1"},{"errorSelector":"780635d0","id":464,"name":"ValidatorTimestampMustIncrease","nameLocation":"2898:30:1","nodeType":"ErrorDefinition","parameters":{"id":463,"nodeType":"ParameterList","parameters":[],"src":"2928:2:1"},"src":"2892:39:1"},{"body":{"id":485,"nodeType":"Block","src":"3156:148:1","statements":[{"expression":{"id":474,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":472,"name":"guardian","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":399,"src":"3166:8:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":473,"name":"_guardian","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":467,"src":"3177:9:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3166:20:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":475,"nodeType":"ExpressionStatement","src":"3166:20:1"},{"expression":{"id":479,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":476,"name":"deployer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":414,"src":"3196:8:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":477,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3207:3:1","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":478,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3211:6:1","memberName":"sender","nodeType":"MemberAccess","src":"3207:10:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3196:21:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":480,"nodeType":"ExpressionStatement","src":"3196:21:1"},{"expression":{"id":483,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":481,"name":"VALIDATOR_SET_HASH_DOMAIN_SEPARATOR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":426,"src":"3227:35:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":482,"name":"_validatorSetHashDomainSeparator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":469,"src":"3265:32:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"3227:70:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":484,"nodeType":"ExpressionStatement","src":"3227:70:1"}]},"documentation":{"id":465,"nodeType":"StructuredDocumentation","src":"2955:101:1","text":"@notice Constructor for the TellorDataBridge contract.\n @param _guardian Guardian address."},"id":486,"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":470,"nodeType":"ParameterList","parameters":[{"constant":false,"id":467,"mutability":"mutable","name":"_guardian","nameLocation":"3090:9:1","nodeType":"VariableDeclaration","scope":486,"src":"3082:17:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":466,"name":"address","nodeType":"ElementaryTypeName","src":"3082:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":469,"mutability":"mutable","name":"_validatorSetHashDomainSeparator","nameLocation":"3117:32:1","nodeType":"VariableDeclaration","scope":486,"src":"3109:40:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":468,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3109:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3072:83:1"},"returnParameters":{"id":471,"nodeType":"ParameterList","parameters":[],"src":"3156:0:1"},"scope":958,"src":"3061:243:1","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":533,"nodeType":"Block","src":"3930:393:1","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":501,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":498,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3944:3:1","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":499,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3948:6:1","memberName":"sender","nodeType":"MemberAccess","src":"3944:10:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":500,"name":"deployer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":414,"src":"3958:8:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3944:22:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":506,"nodeType":"IfStatement","src":"3940:73:1","trueBody":{"id":505,"nodeType":"Block","src":"3968:45:1","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":502,"name":"NotDeployer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":454,"src":"3989:11:1","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":503,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3989:13:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":504,"nodeType":"RevertStatement","src":"3982:20:1"}]}},{"condition":{"id":507,"name":"initialized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":417,"src":"4026:11:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":512,"nodeType":"IfStatement","src":"4022:69:1","trueBody":{"id":511,"nodeType":"Block","src":"4039:52:1","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":508,"name":"AlreadyInitialized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":444,"src":"4060:18:1","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":509,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4060:20:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":510,"nodeType":"RevertStatement","src":"4053:27:1"}]}},{"expression":{"id":515,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":513,"name":"initialized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":417,"src":"4100:11:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":514,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4114:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"4100:18:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":516,"nodeType":"ExpressionStatement","src":"4100:18:1"},{"expression":{"id":519,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":517,"name":"powerThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":405,"src":"4128:14:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":518,"name":"_powerThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":489,"src":"4145:15:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4128:32:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":520,"nodeType":"ExpressionStatement","src":"4128:32:1"},{"expression":{"id":523,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":521,"name":"validatorTimestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":411,"src":"4170:18:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":522,"name":"_validatorTimestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":491,"src":"4191:19:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4170:40:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":524,"nodeType":"ExpressionStatement","src":"4170:40:1"},{"expression":{"id":527,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":525,"name":"unbondingPeriod","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":408,"src":"4220:15:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":526,"name":"_unbondingPeriod","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":493,"src":"4238:16:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4220:34:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":528,"nodeType":"ExpressionStatement","src":"4220:34:1"},{"expression":{"id":531,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":529,"name":"lastValidatorSetCheckpoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":402,"src":"4264:26:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":530,"name":"_validatorSetCheckpoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":495,"src":"4293:23:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"4264:52:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":532,"nodeType":"ExpressionStatement","src":"4264:52:1"}]},"documentation":{"id":487,"nodeType":"StructuredDocumentation","src":"3310:441:1","text":"@notice This function is called only once by the deployer to initialize the contract\n @param _powerThreshold Initial voting power that is needed to approve operations\n @param _validatorTimestamp Timestamp of the block where validator set is updated.\n @param _unbondingPeriod Time period after which a validator can withdraw their stake.\n @param _validatorSetCheckpoint Initial checkpoint of the validator set."},"functionSelector":"4394f6f3","id":534,"implemented":true,"kind":"function","modifiers":[],"name":"init","nameLocation":"3765:4:1","nodeType":"FunctionDefinition","parameters":{"id":496,"nodeType":"ParameterList","parameters":[{"constant":false,"id":489,"mutability":"mutable","name":"_powerThreshold","nameLocation":"3787:15:1","nodeType":"VariableDeclaration","scope":534,"src":"3779:23:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":488,"name":"uint256","nodeType":"ElementaryTypeName","src":"3779:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":491,"mutability":"mutable","name":"_validatorTimestamp","nameLocation":"3820:19:1","nodeType":"VariableDeclaration","scope":534,"src":"3812:27:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":490,"name":"uint256","nodeType":"ElementaryTypeName","src":"3812:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":493,"mutability":"mutable","name":"_unbondingPeriod","nameLocation":"3857:16:1","nodeType":"VariableDeclaration","scope":534,"src":"3849:24:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":492,"name":"uint256","nodeType":"ElementaryTypeName","src":"3849:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":495,"mutability":"mutable","name":"_validatorSetCheckpoint","nameLocation":"3891:23:1","nodeType":"VariableDeclaration","scope":534,"src":"3883:31:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":494,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3883:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3769:151:1"},"returnParameters":{"id":497,"nodeType":"ParameterList","parameters":[],"src":"3930:0:1"},"scope":958,"src":"3756:567:1","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":593,"nodeType":"Block","src":"4855:607:1","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":547,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":544,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"4869:3:1","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":545,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4873:6:1","memberName":"sender","nodeType":"MemberAccess","src":"4869:10:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":546,"name":"guardian","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":399,"src":"4883:8:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"4869:22:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":552,"nodeType":"IfStatement","src":"4865:73:1","trueBody":{"id":551,"nodeType":"Block","src":"4893:45:1","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":548,"name":"NotGuardian","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":456,"src":"4914:11:1","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":549,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4914:13:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":550,"nodeType":"RevertStatement","src":"4907:20:1"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":561,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":559,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":553,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"4951:5:1","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":554,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4957:9:1","memberName":"timestamp","nodeType":"MemberAccess","src":"4951:15:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":557,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":555,"name":"validatorTimestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":411,"src":"4970:18:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":556,"name":"MS_PER_SECOND","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":421,"src":"4991:13:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4970:34:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":558,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"4969:36:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4951:54:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":560,"name":"unbondingPeriod","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":408,"src":"5008:15:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4951:72:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":566,"nodeType":"IfStatement","src":"4947:132:1","trueBody":{"id":565,"nodeType":"Block","src":"5025:54:1","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":562,"name":"ValidatorSetNotStale","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":462,"src":"5046:20:1","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":563,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5046:22:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":564,"nodeType":"RevertStatement","src":"5039:29:1"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":569,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":567,"name":"_validatorTimestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":539,"src":"5092:19:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":568,"name":"validatorTimestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":411,"src":"5115:18:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5092:41:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":574,"nodeType":"IfStatement","src":"5088:111:1","trueBody":{"id":573,"nodeType":"Block","src":"5135:64:1","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":570,"name":"ValidatorTimestampMustIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":464,"src":"5156:30:1","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":571,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5156:32:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":572,"nodeType":"RevertStatement","src":"5149:39:1"}]}},{"expression":{"id":577,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":575,"name":"powerThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":405,"src":"5208:14:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":576,"name":"_powerThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":537,"src":"5225:15:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5208:32:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":578,"nodeType":"ExpressionStatement","src":"5208:32:1"},{"expression":{"id":581,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":579,"name":"validatorTimestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":411,"src":"5250:18:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":580,"name":"_validatorTimestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":539,"src":"5271:19:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5250:40:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":582,"nodeType":"ExpressionStatement","src":"5250:40:1"},{"expression":{"id":585,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":583,"name":"lastValidatorSetCheckpoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":402,"src":"5300:26:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":584,"name":"_validatorSetCheckpoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":541,"src":"5329:23:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"5300:52:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":586,"nodeType":"ExpressionStatement","src":"5300:52:1"},{"eventCall":{"arguments":[{"id":588,"name":"_powerThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":537,"src":"5393:15:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":589,"name":"_validatorTimestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":539,"src":"5410:19:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":590,"name":"_validatorSetCheckpoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":541,"src":"5431:23:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":587,"name":"GuardianResetValidatorSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":434,"src":"5367:25:1","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_bytes32_$returns$__$","typeString":"function (uint256,uint256,bytes32)"}},"id":591,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5367:88:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":592,"nodeType":"EmitStatement","src":"5362:93:1"}]},"documentation":{"id":535,"nodeType":"StructuredDocumentation","src":"4329:360:1","text":"@notice This function is called by the guardian to reset the validator set\n only if it becomes stale.\n @param _powerThreshold Amount of voting power needed to approve operations.\n @param _validatorTimestamp The timestamp of the block where validator set is updated.\n @param _validatorSetCheckpoint The hash of the validator set."},"functionSelector":"185bf52b","id":594,"implemented":true,"kind":"function","modifiers":[],"name":"guardianResetValidatorSet","nameLocation":"4703:25:1","nodeType":"FunctionDefinition","parameters":{"id":542,"nodeType":"ParameterList","parameters":[{"constant":false,"id":537,"mutability":"mutable","name":"_powerThreshold","nameLocation":"4746:15:1","nodeType":"VariableDeclaration","scope":594,"src":"4738:23:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":536,"name":"uint256","nodeType":"ElementaryTypeName","src":"4738:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":539,"mutability":"mutable","name":"_validatorTimestamp","nameLocation":"4779:19:1","nodeType":"VariableDeclaration","scope":594,"src":"4771:27:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":538,"name":"uint256","nodeType":"ElementaryTypeName","src":"4771:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":541,"mutability":"mutable","name":"_validatorSetCheckpoint","nameLocation":"4816:23:1","nodeType":"VariableDeclaration","scope":594,"src":"4808:31:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":540,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4808:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4728:117:1"},"returnParameters":{"id":543,"nodeType":"ParameterList","parameters":[],"src":"4855:0:1"},"scope":958,"src":"4694:768:1","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":692,"nodeType":"Block","src":"6210:1430:1","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":616,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":612,"name":"_currentValidatorSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":605,"src":"6224:20:1","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Validator_$394_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Validator calldata[] calldata"}},"id":613,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6245:6:1","memberName":"length","nodeType":"MemberAccess","src":"6224:27:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":614,"name":"_sigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":609,"src":"6255:5:1","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Signature_$389_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Signature calldata[] calldata"}},"id":615,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6261:6:1","memberName":"length","nodeType":"MemberAccess","src":"6255:12:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6224:43:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":621,"nodeType":"IfStatement","src":"6220:111:1","trueBody":{"id":620,"nodeType":"Block","src":"6269:62:1","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":617,"name":"MalformedCurrentValidatorSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":452,"src":"6290:28:1","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":618,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6290:30:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":619,"nodeType":"RevertStatement","src":"6283:37:1"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":624,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":622,"name":"_newValidatorTimestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":601,"src":"6344:22:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":623,"name":"validatorTimestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":411,"src":"6369:18:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6344:43:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":629,"nodeType":"IfStatement","src":"6340:113:1","trueBody":{"id":628,"nodeType":"Block","src":"6389:64:1","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":625,"name":"ValidatorTimestampMustIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":464,"src":"6410:30:1","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":626,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6410:32:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":627,"nodeType":"RevertStatement","src":"6403:39:1"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint64","typeString":"uint64"},"id":632,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":630,"name":"_newPowerThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":599,"src":"6466:18:1","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":631,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6488:1:1","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"6466:23:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":637,"nodeType":"IfStatement","src":"6462:84:1","trueBody":{"id":636,"nodeType":"Block","src":"6491:55:1","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":633,"name":"InvalidPowerThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":448,"src":"6512:21:1","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":634,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6512:23:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":635,"nodeType":"RevertStatement","src":"6505:30:1"}]}},{"assignments":[639],"declarations":[{"constant":false,"id":639,"mutability":"mutable","name":"_currentValidatorSetHash","nameLocation":"6650:24:1","nodeType":"VariableDeclaration","scope":692,"src":"6642:32:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":638,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6642:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":646,"initialValue":{"arguments":[{"arguments":[{"id":643,"name":"_currentValidatorSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":605,"src":"6698:20:1","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Validator_$394_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Validator calldata[] calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Validator_$394_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Validator calldata[] calldata"}],"expression":{"id":641,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6687:3:1","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":642,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6691:6:1","memberName":"encode","nodeType":"MemberAccess","src":"6687:10:1","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":644,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6687:32:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":640,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"6677:9:1","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":645,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6677:43:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"6642:78:1"},{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":653,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":648,"name":"powerThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":405,"src":"6796:14:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":649,"name":"validatorTimestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":411,"src":"6828:18:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":650,"name":"_currentValidatorSetHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":639,"src":"6864:24:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":647,"name":"_domainSeparateValidatorSetHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":906,"src":"6747:31:1","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (uint256,uint256,bytes32) view returns (bytes32)"}},"id":651,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6747:155:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":652,"name":"lastValidatorSetCheckpoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":402,"src":"6906:26:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"6747:185:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":658,"nodeType":"IfStatement","src":"6730:274:1","trueBody":{"id":657,"nodeType":"Block","src":"6943:61:1","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":654,"name":"SuppliedValidatorSetInvalid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":460,"src":"6964:27:1","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":655,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6964:29:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":656,"nodeType":"RevertStatement","src":"6957:36:1"}]}},{"assignments":[660],"declarations":[{"constant":false,"id":660,"mutability":"mutable","name":"_newCheckpoint","nameLocation":"7022:14:1","nodeType":"VariableDeclaration","scope":692,"src":"7014:22:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":659,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7014:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":666,"initialValue":{"arguments":[{"id":662,"name":"_newPowerThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":599,"src":"7084:18:1","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},{"id":663,"name":"_newValidatorTimestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":601,"src":"7116:22:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":664,"name":"_newValidatorSetHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":597,"src":"7152:20:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint64","typeString":"uint64"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":661,"name":"_domainSeparateValidatorSetHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":906,"src":"7039:31:1","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (uint256,uint256,bytes32) view returns (bytes32)"}},"id":665,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7039:143:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"7014:168:1"},{"expression":{"arguments":[{"id":668,"name":"_currentValidatorSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":605,"src":"7231:20:1","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Validator_$394_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Validator calldata[] calldata"}},{"id":669,"name":"_sigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":609,"src":"7265:5:1","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Signature_$389_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Signature calldata[] calldata"}},{"id":670,"name":"_newCheckpoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":660,"src":"7284:14:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":671,"name":"powerThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":405,"src":"7312:14:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Validator_$394_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Validator calldata[] calldata"},{"typeIdentifier":"t_array$_t_struct$_Signature_$389_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Signature calldata[] calldata"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":667,"name":"_checkValidatorSignatures","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":883,"src":"7192:25:1","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_array$_t_struct$_Validator_$394_calldata_ptr_$dyn_calldata_ptr_$_t_array$_t_struct$_Signature_$389_calldata_ptr_$dyn_calldata_ptr_$_t_bytes32_$_t_uint256_$returns$__$","typeString":"function (struct Validator calldata[] calldata,struct Signature calldata[] calldata,bytes32,uint256) view"}},"id":672,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7192:144:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":673,"nodeType":"ExpressionStatement","src":"7192:144:1"},{"expression":{"id":676,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":674,"name":"lastValidatorSetCheckpoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":402,"src":"7346:26:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":675,"name":"_newCheckpoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":660,"src":"7375:14:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"7346:43:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":677,"nodeType":"ExpressionStatement","src":"7346:43:1"},{"expression":{"id":680,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":678,"name":"powerThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":405,"src":"7399:14:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":679,"name":"_newPowerThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":599,"src":"7416:18:1","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"src":"7399:35:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":681,"nodeType":"ExpressionStatement","src":"7399:35:1"},{"expression":{"id":684,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":682,"name":"validatorTimestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":411,"src":"7444:18:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":683,"name":"_newValidatorTimestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":601,"src":"7465:22:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7444:43:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":685,"nodeType":"ExpressionStatement","src":"7444:43:1"},{"eventCall":{"arguments":[{"id":687,"name":"_newPowerThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":599,"src":"7535:18:1","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},{"id":688,"name":"_newValidatorTimestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":601,"src":"7567:22:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":689,"name":"_newValidatorSetHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":597,"src":"7603:20:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint64","typeString":"uint64"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":686,"name":"ValidatorSetUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":442,"src":"7502:19:1","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_bytes32_$returns$__$","typeString":"function (uint256,uint256,bytes32)"}},"id":690,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7502:131:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":691,"nodeType":"EmitStatement","src":"7497:136:1"}]},"documentation":{"id":595,"nodeType":"StructuredDocumentation","src":"5468:494:1","text":"@notice This updates the validator set by checking that the validators\n in the current validator set have signed off on the new validator set.\n @param _newValidatorSetHash The hash of the new validator set.\n @param _newPowerThreshold At least this much power must have signed.\n @param _newValidatorTimestamp The timestamp of the block where validator set is updated.\n @param _currentValidatorSet The current validator set.\n @param _sigs Signatures."},"functionSelector":"84330d4c","id":693,"implemented":true,"kind":"function","modifiers":[],"name":"updateValidatorSet","nameLocation":"5976:18:1","nodeType":"FunctionDefinition","parameters":{"id":610,"nodeType":"ParameterList","parameters":[{"constant":false,"id":597,"mutability":"mutable","name":"_newValidatorSetHash","nameLocation":"6012:20:1","nodeType":"VariableDeclaration","scope":693,"src":"6004:28:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":596,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6004:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":599,"mutability":"mutable","name":"_newPowerThreshold","nameLocation":"6049:18:1","nodeType":"VariableDeclaration","scope":693,"src":"6042:25:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":598,"name":"uint64","nodeType":"ElementaryTypeName","src":"6042:6:1","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":601,"mutability":"mutable","name":"_newValidatorTimestamp","nameLocation":"6085:22:1","nodeType":"VariableDeclaration","scope":693,"src":"6077:30:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":600,"name":"uint256","nodeType":"ElementaryTypeName","src":"6077:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":605,"mutability":"mutable","name":"_currentValidatorSet","nameLocation":"6138:20:1","nodeType":"VariableDeclaration","scope":693,"src":"6117:41:1","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Validator_$394_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Validator[]"},"typeName":{"baseType":{"id":603,"nodeType":"UserDefinedTypeName","pathNode":{"id":602,"name":"Validator","nameLocations":["6117:9:1"],"nodeType":"IdentifierPath","referencedDeclaration":394,"src":"6117:9:1"},"referencedDeclaration":394,"src":"6117:9:1","typeDescriptions":{"typeIdentifier":"t_struct$_Validator_$394_storage_ptr","typeString":"struct Validator"}},"id":604,"nodeType":"ArrayTypeName","src":"6117:11:1","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Validator_$394_storage_$dyn_storage_ptr","typeString":"struct Validator[]"}},"visibility":"internal"},{"constant":false,"id":609,"mutability":"mutable","name":"_sigs","nameLocation":"6189:5:1","nodeType":"VariableDeclaration","scope":693,"src":"6168:26:1","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Signature_$389_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Signature[]"},"typeName":{"baseType":{"id":607,"nodeType":"UserDefinedTypeName","pathNode":{"id":606,"name":"Signature","nameLocations":["6168:9:1"],"nodeType":"IdentifierPath","referencedDeclaration":389,"src":"6168:9:1"},"referencedDeclaration":389,"src":"6168:9:1","typeDescriptions":{"typeIdentifier":"t_struct$_Signature_$389_storage_ptr","typeString":"struct Signature"}},"id":608,"nodeType":"ArrayTypeName","src":"6168:11:1","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Signature_$389_storage_$dyn_storage_ptr","typeString":"struct Signature[]"}},"visibility":"internal"}],"src":"5994:206:1"},"returnParameters":{"id":611,"nodeType":"ParameterList","parameters":[],"src":"6210:0:1"},"scope":958,"src":"5967:1673:1","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":774,"nodeType":"Block","src":"8093:1298:1","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":712,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":708,"name":"_currentValidatorSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":701,"src":"8107:20:1","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Validator_$394_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Validator calldata[] calldata"}},"id":709,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8128:6:1","memberName":"length","nodeType":"MemberAccess","src":"8107:27:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":710,"name":"_sigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":705,"src":"8138:5:1","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Signature_$389_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Signature calldata[] calldata"}},"id":711,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8144:6:1","memberName":"length","nodeType":"MemberAccess","src":"8138:12:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8107:43:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":717,"nodeType":"IfStatement","src":"8103:111:1","trueBody":{"id":716,"nodeType":"Block","src":"8152:62:1","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":713,"name":"MalformedCurrentValidatorSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":452,"src":"8173:28:1","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":714,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8173:30:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":715,"nodeType":"RevertStatement","src":"8166:37:1"}]}},{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":729,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":719,"name":"powerThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":405,"src":"8376:14:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":720,"name":"validatorTimestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":411,"src":"8408:18:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"arguments":[{"id":724,"name":"_currentValidatorSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":701,"src":"8465:20:1","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Validator_$394_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Validator calldata[] calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Validator_$394_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Validator calldata[] calldata"}],"expression":{"id":722,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8454:3:1","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":723,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8458:6:1","memberName":"encode","nodeType":"MemberAccess","src":"8454:10:1","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":725,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8454:32:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":721,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"8444:9:1","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":726,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8444:43:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":718,"name":"_domainSeparateValidatorSetHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":906,"src":"8327:31:1","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (uint256,uint256,bytes32) view returns (bytes32)"}},"id":727,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8327:174:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":728,"name":"lastValidatorSetCheckpoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":402,"src":"8505:26:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"8327:204:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":734,"nodeType":"IfStatement","src":"8310:293:1","trueBody":{"id":733,"nodeType":"Block","src":"8542:61:1","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":730,"name":"SuppliedValidatorSetInvalid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":460,"src":"8563:27:1","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":731,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8563:29:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":732,"nodeType":"RevertStatement","src":"8556:36:1"}]}},{"assignments":[736],"declarations":[{"constant":false,"id":736,"mutability":"mutable","name":"_dataDigest","nameLocation":"8620:11:1","nodeType":"VariableDeclaration","scope":774,"src":"8612:19:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":735,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8612:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":766,"initialValue":{"arguments":[{"arguments":[{"id":740,"name":"NEW_REPORT_ATTESTATION_DOMAIN_SEPARATOR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":424,"src":"8693:39:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":741,"name":"_attestData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":697,"src":"8754:11:1","typeDescriptions":{"typeIdentifier":"t_struct$_OracleAttestationData_$369_calldata_ptr","typeString":"struct OracleAttestationData calldata"}},"id":742,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8766:7:1","memberName":"queryId","nodeType":"MemberAccess","referencedDeclaration":363,"src":"8754:19:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"expression":{"id":743,"name":"_attestData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":697,"src":"8795:11:1","typeDescriptions":{"typeIdentifier":"t_struct$_OracleAttestationData_$369_calldata_ptr","typeString":"struct OracleAttestationData calldata"}},"id":744,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8807:6:1","memberName":"report","nodeType":"MemberAccess","referencedDeclaration":366,"src":"8795:18:1","typeDescriptions":{"typeIdentifier":"t_struct$_ReportData_$382_calldata_ptr","typeString":"struct ReportData calldata"}},"id":745,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8814:5:1","memberName":"value","nodeType":"MemberAccess","referencedDeclaration":371,"src":"8795:24:1","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},{"expression":{"expression":{"id":746,"name":"_attestData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":697,"src":"8841:11:1","typeDescriptions":{"typeIdentifier":"t_struct$_OracleAttestationData_$369_calldata_ptr","typeString":"struct OracleAttestationData calldata"}},"id":747,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8853:6:1","memberName":"report","nodeType":"MemberAccess","referencedDeclaration":366,"src":"8841:18:1","typeDescriptions":{"typeIdentifier":"t_struct$_ReportData_$382_calldata_ptr","typeString":"struct ReportData calldata"}},"id":748,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8860:9:1","memberName":"timestamp","nodeType":"MemberAccess","referencedDeclaration":373,"src":"8841:28:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"expression":{"id":749,"name":"_attestData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":697,"src":"8891:11:1","typeDescriptions":{"typeIdentifier":"t_struct$_OracleAttestationData_$369_calldata_ptr","typeString":"struct OracleAttestationData calldata"}},"id":750,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8903:6:1","memberName":"report","nodeType":"MemberAccess","referencedDeclaration":366,"src":"8891:18:1","typeDescriptions":{"typeIdentifier":"t_struct$_ReportData_$382_calldata_ptr","typeString":"struct ReportData calldata"}},"id":751,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8910:14:1","memberName":"aggregatePower","nodeType":"MemberAccess","referencedDeclaration":375,"src":"8891:33:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"expression":{"id":752,"name":"_attestData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":697,"src":"8946:11:1","typeDescriptions":{"typeIdentifier":"t_struct$_OracleAttestationData_$369_calldata_ptr","typeString":"struct OracleAttestationData calldata"}},"id":753,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8958:6:1","memberName":"report","nodeType":"MemberAccess","referencedDeclaration":366,"src":"8946:18:1","typeDescriptions":{"typeIdentifier":"t_struct$_ReportData_$382_calldata_ptr","typeString":"struct ReportData calldata"}},"id":754,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8965:17:1","memberName":"previousTimestamp","nodeType":"MemberAccess","referencedDeclaration":377,"src":"8946:36:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"expression":{"id":755,"name":"_attestData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":697,"src":"9004:11:1","typeDescriptions":{"typeIdentifier":"t_struct$_OracleAttestationData_$369_calldata_ptr","typeString":"struct OracleAttestationData calldata"}},"id":756,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9016:6:1","memberName":"report","nodeType":"MemberAccess","referencedDeclaration":366,"src":"9004:18:1","typeDescriptions":{"typeIdentifier":"t_struct$_ReportData_$382_calldata_ptr","typeString":"struct ReportData calldata"}},"id":757,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9023:13:1","memberName":"nextTimestamp","nodeType":"MemberAccess","referencedDeclaration":379,"src":"9004:32:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":758,"name":"lastValidatorSetCheckpoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":402,"src":"9058:26:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":759,"name":"_attestData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":697,"src":"9106:11:1","typeDescriptions":{"typeIdentifier":"t_struct$_OracleAttestationData_$369_calldata_ptr","typeString":"struct OracleAttestationData calldata"}},"id":760,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9118:20:1","memberName":"attestationTimestamp","nodeType":"MemberAccess","referencedDeclaration":368,"src":"9106:32:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"expression":{"id":761,"name":"_attestData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":697,"src":"9160:11:1","typeDescriptions":{"typeIdentifier":"t_struct$_OracleAttestationData_$369_calldata_ptr","typeString":"struct OracleAttestationData calldata"}},"id":762,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9172:6:1","memberName":"report","nodeType":"MemberAccess","referencedDeclaration":366,"src":"9160:18:1","typeDescriptions":{"typeIdentifier":"t_struct$_ReportData_$382_calldata_ptr","typeString":"struct ReportData calldata"}},"id":763,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9179:22:1","memberName":"lastConsensusTimestamp","nodeType":"MemberAccess","referencedDeclaration":381,"src":"9160:41:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":738,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8661:3:1","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":739,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8665:6:1","memberName":"encode","nodeType":"MemberAccess","src":"8661:10:1","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":764,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8661:558:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":737,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"8634:9:1","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":765,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8634:599:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"8612:621:1"},{"expression":{"arguments":[{"id":768,"name":"_currentValidatorSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":701,"src":"9282:20:1","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Validator_$394_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Validator calldata[] calldata"}},{"id":769,"name":"_sigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":705,"src":"9316:5:1","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Signature_$389_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Signature calldata[] calldata"}},{"id":770,"name":"_dataDigest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":736,"src":"9335:11:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":771,"name":"powerThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":405,"src":"9360:14:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Validator_$394_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Validator calldata[] calldata"},{"typeIdentifier":"t_array$_t_struct$_Signature_$389_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Signature calldata[] calldata"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":767,"name":"_checkValidatorSignatures","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":883,"src":"9243:25:1","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_array$_t_struct$_Validator_$394_calldata_ptr_$dyn_calldata_ptr_$_t_array$_t_struct$_Signature_$389_calldata_ptr_$dyn_calldata_ptr_$_t_bytes32_$_t_uint256_$returns$__$","typeString":"function (struct Validator calldata[] calldata,struct Signature calldata[] calldata,bytes32,uint256) view"}},"id":772,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9243:141:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":773,"nodeType":"ExpressionStatement","src":"9243:141:1"}]},"documentation":{"id":694,"nodeType":"StructuredDocumentation","src":"7675:229:1","text":"@notice This getter verifies a given piece of data vs Validator signatures\n @param _attestData The data being verified\n @param _currentValidatorSet array of current validator set\n @param _sigs Signatures."},"functionSelector":"5e0d3b0f","id":775,"implemented":true,"kind":"function","modifiers":[],"name":"verifyOracleData","nameLocation":"7918:16:1","nodeType":"FunctionDefinition","parameters":{"id":706,"nodeType":"ParameterList","parameters":[{"constant":false,"id":697,"mutability":"mutable","name":"_attestData","nameLocation":"7975:11:1","nodeType":"VariableDeclaration","scope":775,"src":"7944:42:1","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_struct$_OracleAttestationData_$369_calldata_ptr","typeString":"struct OracleAttestationData"},"typeName":{"id":696,"nodeType":"UserDefinedTypeName","pathNode":{"id":695,"name":"OracleAttestationData","nameLocations":["7944:21:1"],"nodeType":"IdentifierPath","referencedDeclaration":369,"src":"7944:21:1"},"referencedDeclaration":369,"src":"7944:21:1","typeDescriptions":{"typeIdentifier":"t_struct$_OracleAttestationData_$369_storage_ptr","typeString":"struct OracleAttestationData"}},"visibility":"internal"},{"constant":false,"id":701,"mutability":"mutable","name":"_currentValidatorSet","nameLocation":"8017:20:1","nodeType":"VariableDeclaration","scope":775,"src":"7996:41:1","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Validator_$394_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Validator[]"},"typeName":{"baseType":{"id":699,"nodeType":"UserDefinedTypeName","pathNode":{"id":698,"name":"Validator","nameLocations":["7996:9:1"],"nodeType":"IdentifierPath","referencedDeclaration":394,"src":"7996:9:1"},"referencedDeclaration":394,"src":"7996:9:1","typeDescriptions":{"typeIdentifier":"t_struct$_Validator_$394_storage_ptr","typeString":"struct Validator"}},"id":700,"nodeType":"ArrayTypeName","src":"7996:11:1","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Validator_$394_storage_$dyn_storage_ptr","typeString":"struct Validator[]"}},"visibility":"internal"},{"constant":false,"id":705,"mutability":"mutable","name":"_sigs","nameLocation":"8068:5:1","nodeType":"VariableDeclaration","scope":775,"src":"8047:26:1","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Signature_$389_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Signature[]"},"typeName":{"baseType":{"id":703,"nodeType":"UserDefinedTypeName","pathNode":{"id":702,"name":"Signature","nameLocations":["8047:9:1"],"nodeType":"IdentifierPath","referencedDeclaration":389,"src":"8047:9:1"},"referencedDeclaration":389,"src":"8047:9:1","typeDescriptions":{"typeIdentifier":"t_struct$_Signature_$389_storage_ptr","typeString":"struct Signature"}},"id":704,"nodeType":"ArrayTypeName","src":"8047:11:1","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Signature_$389_storage_$dyn_storage_ptr","typeString":"struct Signature[]"}},"visibility":"internal"}],"src":"7934:145:1"},"returnParameters":{"id":707,"nodeType":"ParameterList","parameters":[],"src":"8093:0:1"},"scope":958,"src":"7909:1482:1","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":882,"nodeType":"Block","src":"10087:975:1","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":799,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":797,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":791,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"10101:5:1","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":792,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10107:9:1","memberName":"timestamp","nodeType":"MemberAccess","src":"10101:15:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":795,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":793,"name":"validatorTimestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":411,"src":"10120:18:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":794,"name":"MS_PER_SECOND","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":421,"src":"10141:13:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10120:34:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":796,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"10119:36:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10101:54:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":798,"name":"unbondingPeriod","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":408,"src":"10158:15:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10101:72:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":804,"nodeType":"IfStatement","src":"10097:129:1","trueBody":{"id":803,"nodeType":"Block","src":"10175:51:1","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":800,"name":"StaleValidatorSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":458,"src":"10196:17:1","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":801,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10196:19:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":802,"nodeType":"RevertStatement","src":"10189:26:1"}]}},{"assignments":[806],"declarations":[{"constant":false,"id":806,"mutability":"mutable","name":"_cumulativePower","nameLocation":"10243:16:1","nodeType":"VariableDeclaration","scope":882,"src":"10235:24:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":805,"name":"uint256","nodeType":"ElementaryTypeName","src":"10235:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":808,"initialValue":{"hexValue":"30","id":807,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10262:1:1","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"10235:28:1"},{"body":{"id":872,"nodeType":"Block","src":"10332:618:1","statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":839,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":832,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":825,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":820,"name":"_sigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":784,"src":"10425:5:1","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Signature_$389_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Signature calldata[] calldata"}},"id":822,"indexExpression":{"id":821,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":810,"src":"10431:2:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10425:9:1","typeDescriptions":{"typeIdentifier":"t_struct$_Signature_$389_calldata_ptr","typeString":"struct Signature calldata"}},"id":823,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10435:1:1","memberName":"r","nodeType":"MemberAccess","referencedDeclaration":386,"src":"10425:11:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":824,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10440:1:1","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"10425:16:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":831,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":826,"name":"_sigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":784,"src":"10445:5:1","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Signature_$389_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Signature calldata[] calldata"}},"id":828,"indexExpression":{"id":827,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":810,"src":"10451:2:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10445:9:1","typeDescriptions":{"typeIdentifier":"t_struct$_Signature_$389_calldata_ptr","typeString":"struct Signature calldata"}},"id":829,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10455:1:1","memberName":"s","nodeType":"MemberAccess","referencedDeclaration":388,"src":"10445:11:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":830,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10460:1:1","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"10445:16:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"10425:36:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":838,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":833,"name":"_sigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":784,"src":"10465:5:1","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Signature_$389_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Signature calldata[] calldata"}},"id":835,"indexExpression":{"id":834,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":810,"src":"10471:2:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10465:9:1","typeDescriptions":{"typeIdentifier":"t_struct$_Signature_$389_calldata_ptr","typeString":"struct Signature calldata"}},"id":836,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10475:1:1","memberName":"v","nodeType":"MemberAccess","referencedDeclaration":384,"src":"10465:11:1","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":837,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10480:1:1","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"10465:16:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"10425:56:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":842,"nodeType":"IfStatement","src":"10421:103:1","trueBody":{"id":841,"nodeType":"Block","src":"10483:41:1","statements":[{"id":840,"nodeType":"Continue","src":"10501:8:1"}]}},{"condition":{"id":853,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"10617:60:1","subExpression":{"arguments":[{"expression":{"baseExpression":{"id":844,"name":"_currentValidators","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":780,"src":"10629:18:1","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Validator_$394_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Validator calldata[] calldata"}},"id":846,"indexExpression":{"id":845,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":810,"src":"10648:2:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10629:22:1","typeDescriptions":{"typeIdentifier":"t_struct$_Validator_$394_calldata_ptr","typeString":"struct Validator calldata"}},"id":847,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10652:4:1","memberName":"addr","nodeType":"MemberAccess","referencedDeclaration":391,"src":"10629:27:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":848,"name":"_digest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":786,"src":"10658:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"baseExpression":{"id":849,"name":"_sigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":784,"src":"10667:5:1","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Signature_$389_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Signature calldata[] calldata"}},"id":851,"indexExpression":{"id":850,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":810,"src":"10673:2:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10667:9:1","typeDescriptions":{"typeIdentifier":"t_struct$_Signature_$389_calldata_ptr","typeString":"struct Signature calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_struct$_Signature_$389_calldata_ptr","typeString":"struct Signature calldata"}],"id":843,"name":"_verifySig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":957,"src":"10618:10:1","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$_t_bytes32_$_t_struct$_Signature_$389_calldata_ptr_$returns$_t_bool_$","typeString":"function (address,bytes32,struct Signature calldata) pure returns (bool)"}},"id":852,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10618:59:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":858,"nodeType":"IfStatement","src":"10613:124:1","trueBody":{"id":857,"nodeType":"Block","src":"10679:58:1","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":854,"name":"InvalidSignature","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":450,"src":"10704:16:1","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":855,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10704:18:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":856,"nodeType":"RevertStatement","src":"10697:25:1"}]}},{"expression":{"id":864,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":859,"name":"_cumulativePower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":806,"src":"10750:16:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"expression":{"baseExpression":{"id":860,"name":"_currentValidators","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":780,"src":"10770:18:1","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Validator_$394_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Validator calldata[] calldata"}},"id":862,"indexExpression":{"id":861,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":810,"src":"10789:2:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10770:22:1","typeDescriptions":{"typeIdentifier":"t_struct$_Validator_$394_calldata_ptr","typeString":"struct Validator calldata"}},"id":863,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10793:5:1","memberName":"power","nodeType":"MemberAccess","referencedDeclaration":393,"src":"10770:28:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10750:48:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":865,"nodeType":"ExpressionStatement","src":"10750:48:1"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":868,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":866,"name":"_cumulativePower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":806,"src":"10865:16:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":867,"name":"_powerThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":788,"src":"10885:15:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10865:35:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":871,"nodeType":"IfStatement","src":"10861:79:1","trueBody":{"id":870,"nodeType":"Block","src":"10902:38:1","statements":[{"id":869,"nodeType":"Break","src":"10920:5:1"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":816,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":813,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":810,"src":"10294:2:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":814,"name":"_currentValidators","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":780,"src":"10299:18:1","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Validator_$394_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Validator calldata[] calldata"}},"id":815,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10318:6:1","memberName":"length","nodeType":"MemberAccess","src":"10299:25:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10294:30:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":873,"initializationExpression":{"assignments":[810],"declarations":[{"constant":false,"id":810,"mutability":"mutable","name":"_i","nameLocation":"10286:2:1","nodeType":"VariableDeclaration","scope":873,"src":"10278:10:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":809,"name":"uint256","nodeType":"ElementaryTypeName","src":"10278:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":812,"initialValue":{"hexValue":"30","id":811,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10291:1:1","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"10278:14:1"},"loopExpression":{"expression":{"id":818,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"10326:4:1","subExpression":{"id":817,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":810,"src":"10326:2:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":819,"nodeType":"ExpressionStatement","src":"10326:4:1"},"nodeType":"ForStatement","src":"10273:677:1"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":876,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":874,"name":"_cumulativePower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":806,"src":"10963:16:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":875,"name":"_powerThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":788,"src":"10982:15:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10963:34:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":881,"nodeType":"IfStatement","src":"10959:97:1","trueBody":{"id":880,"nodeType":"Block","src":"10999:57:1","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":877,"name":"InsufficientVotingPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":446,"src":"11020:23:1","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":878,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11020:25:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":879,"nodeType":"RevertStatement","src":"11013:32:1"}]}}]},"documentation":{"id":776,"nodeType":"StructuredDocumentation","src":"9424:406:1","text":"@dev Checks that enough voting power signed over a digest.\n It expects the signatures to be in the same order as the _currentValidators.\n @param _currentValidators The current validators.\n @param _sigs The current validators' signatures.\n @param _digest This is what we are checking they have signed.\n @param _powerThreshold At least this much power must have signed."},"id":883,"implemented":true,"kind":"function","modifiers":[],"name":"_checkValidatorSignatures","nameLocation":"9844:25:1","nodeType":"FunctionDefinition","parameters":{"id":789,"nodeType":"ParameterList","parameters":[{"constant":false,"id":780,"mutability":"mutable","name":"_currentValidators","nameLocation":"9954:18:1","nodeType":"VariableDeclaration","scope":883,"src":"9933:39:1","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Validator_$394_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Validator[]"},"typeName":{"baseType":{"id":778,"nodeType":"UserDefinedTypeName","pathNode":{"id":777,"name":"Validator","nameLocations":["9933:9:1"],"nodeType":"IdentifierPath","referencedDeclaration":394,"src":"9933:9:1"},"referencedDeclaration":394,"src":"9933:9:1","typeDescriptions":{"typeIdentifier":"t_struct$_Validator_$394_storage_ptr","typeString":"struct Validator"}},"id":779,"nodeType":"ArrayTypeName","src":"9933:11:1","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Validator_$394_storage_$dyn_storage_ptr","typeString":"struct Validator[]"}},"visibility":"internal"},{"constant":false,"id":784,"mutability":"mutable","name":"_sigs","nameLocation":"10003:5:1","nodeType":"VariableDeclaration","scope":883,"src":"9982:26:1","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Signature_$389_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Signature[]"},"typeName":{"baseType":{"id":782,"nodeType":"UserDefinedTypeName","pathNode":{"id":781,"name":"Signature","nameLocations":["9982:9:1"],"nodeType":"IdentifierPath","referencedDeclaration":389,"src":"9982:9:1"},"referencedDeclaration":389,"src":"9982:9:1","typeDescriptions":{"typeIdentifier":"t_struct$_Signature_$389_storage_ptr","typeString":"struct Signature"}},"id":783,"nodeType":"ArrayTypeName","src":"9982:11:1","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Signature_$389_storage_$dyn_storage_ptr","typeString":"struct Signature[]"}},"visibility":"internal"},{"constant":false,"id":786,"mutability":"mutable","name":"_digest","nameLocation":"10026:7:1","nodeType":"VariableDeclaration","scope":883,"src":"10018:15:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":785,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10018:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":788,"mutability":"mutable","name":"_powerThreshold","nameLocation":"10051:15:1","nodeType":"VariableDeclaration","scope":883,"src":"10043:23:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":787,"name":"uint256","nodeType":"ElementaryTypeName","src":"10043:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9869:203:1"},"returnParameters":{"id":790,"nodeType":"ParameterList","parameters":[],"src":"10087:0:1"},"scope":958,"src":"9835:1227:1","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":905,"nodeType":"Block","src":"11635:279:1","statements":[{"expression":{"arguments":[{"arguments":[{"id":898,"name":"VALIDATOR_SET_HASH_DOMAIN_SEPARATOR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":426,"src":"11723:35:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":899,"name":"_powerThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":886,"src":"11780:15:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":900,"name":"_validatorTimestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":888,"src":"11817:19:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":901,"name":"_validatorSetHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":890,"src":"11858:17:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":896,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"11691:3:1","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":897,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11695:6:1","memberName":"encode","nodeType":"MemberAccess","src":"11691:10:1","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":902,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11691:202:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":895,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"11664:9:1","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":903,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11664:243:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":894,"id":904,"nodeType":"Return","src":"11645:262:1"}]},"documentation":{"id":884,"nodeType":"StructuredDocumentation","src":"11068:378:1","text":"@dev A hash of all relevant information about the validator set.\n @param _powerThreshold Amount of voting power needed to approve operations. (2/3 of total)\n @param _validatorTimestamp The timestamp of the block where validator set is updated.\n @param _validatorSetHash Validator set hash.\n @return The domain separated hash of the validator set."},"id":906,"implemented":true,"kind":"function","modifiers":[],"name":"_domainSeparateValidatorSetHash","nameLocation":"11460:31:1","nodeType":"FunctionDefinition","parameters":{"id":891,"nodeType":"ParameterList","parameters":[{"constant":false,"id":886,"mutability":"mutable","name":"_powerThreshold","nameLocation":"11509:15:1","nodeType":"VariableDeclaration","scope":906,"src":"11501:23:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":885,"name":"uint256","nodeType":"ElementaryTypeName","src":"11501:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":888,"mutability":"mutable","name":"_validatorTimestamp","nameLocation":"11542:19:1","nodeType":"VariableDeclaration","scope":906,"src":"11534:27:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":887,"name":"uint256","nodeType":"ElementaryTypeName","src":"11534:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":890,"mutability":"mutable","name":"_validatorSetHash","nameLocation":"11579:17:1","nodeType":"VariableDeclaration","scope":906,"src":"11571:25:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":889,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11571:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"11491:111:1"},"returnParameters":{"id":894,"nodeType":"ParameterList","parameters":[{"constant":false,"id":893,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":906,"src":"11626:7:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":892,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11626:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"11625:9:1"},"scope":958,"src":"11451:463:1","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":956,"nodeType":"Block","src":"12324:290:1","statements":[{"expression":{"id":926,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":919,"name":"_digest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":911,"src":"12334:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":923,"name":"_digest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":911,"src":"12368:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":921,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"12351:3:1","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":922,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12355:12:1","memberName":"encodePacked","nodeType":"MemberAccess","src":"12351:16:1","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":924,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12351:25:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":920,"name":"sha256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-22,"src":"12344:6:1","typeDescriptions":{"typeIdentifier":"t_function_sha256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":925,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12344:33:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"12334:43:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":927,"nodeType":"ExpressionStatement","src":"12334:43:1"},{"assignments":[929,932,null],"declarations":[{"constant":false,"id":929,"mutability":"mutable","name":"_recovered","nameLocation":"12396:10:1","nodeType":"VariableDeclaration","scope":956,"src":"12388:18:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":928,"name":"address","nodeType":"ElementaryTypeName","src":"12388:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":932,"mutability":"mutable","name":"error","nameLocation":"12421:5:1","nodeType":"VariableDeclaration","scope":956,"src":"12408:18:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$7","typeString":"enum ECDSA.RecoverError"},"typeName":{"id":931,"nodeType":"UserDefinedTypeName","pathNode":{"id":930,"name":"RecoverError","nameLocations":["12408:12:1"],"nodeType":"IdentifierPath","referencedDeclaration":7,"src":"12408:12:1"},"referencedDeclaration":7,"src":"12408:12:1","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$7","typeString":"enum ECDSA.RecoverError"}},"visibility":"internal"},null],"id":942,"initialValue":{"arguments":[{"id":934,"name":"_digest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":911,"src":"12443:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":935,"name":"_sig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":914,"src":"12452:4:1","typeDescriptions":{"typeIdentifier":"t_struct$_Signature_$389_calldata_ptr","typeString":"struct Signature calldata"}},"id":936,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12457:1:1","memberName":"v","nodeType":"MemberAccess","referencedDeclaration":384,"src":"12452:6:1","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"expression":{"id":937,"name":"_sig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":914,"src":"12460:4:1","typeDescriptions":{"typeIdentifier":"t_struct$_Signature_$389_calldata_ptr","typeString":"struct Signature calldata"}},"id":938,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12465:1:1","memberName":"r","nodeType":"MemberAccess","referencedDeclaration":386,"src":"12460:6:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":939,"name":"_sig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":914,"src":"12468:4:1","typeDescriptions":{"typeIdentifier":"t_struct$_Signature_$389_calldata_ptr","typeString":"struct Signature calldata"}},"id":940,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12473:1:1","memberName":"s","nodeType":"MemberAccess","referencedDeclaration":388,"src":"12468:6:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":933,"name":"tryRecover","nodeType":"Identifier","overloadedDeclarations":[73,153,261],"referencedDeclaration":261,"src":"12432:10:1","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$_t_enum$_RecoverError_$7_$_t_bytes32_$","typeString":"function (bytes32,uint8,bytes32,bytes32) pure returns (address,enum ECDSA.RecoverError,bytes32)"}},"id":941,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12432:43:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_enum$_RecoverError_$7_$_t_bytes32_$","typeString":"tuple(address,enum ECDSA.RecoverError,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"12387:88:1"},{"condition":{"commonType":{"typeIdentifier":"t_enum$_RecoverError_$7","typeString":"enum ECDSA.RecoverError"},"id":946,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":943,"name":"error","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":932,"src":"12489:5:1","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$7","typeString":"enum ECDSA.RecoverError"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":944,"name":"RecoverError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7,"src":"12498:12:1","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RecoverError_$7_$","typeString":"type(enum ECDSA.RecoverError)"}},"id":945,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12511:7:1","memberName":"NoError","nodeType":"MemberAccess","referencedDeclaration":3,"src":"12498:20:1","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$7","typeString":"enum ECDSA.RecoverError"}},"src":"12489:29:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":951,"nodeType":"IfStatement","src":"12485:85:1","trueBody":{"id":950,"nodeType":"Block","src":"12520:50:1","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":947,"name":"InvalidSignature","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":450,"src":"12541:16:1","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":948,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12541:18:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":949,"nodeType":"RevertStatement","src":"12534:25:1"}]}},{"expression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":954,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":952,"name":"_signer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":909,"src":"12586:7:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":953,"name":"_recovered","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":929,"src":"12597:10:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12586:21:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":918,"id":955,"nodeType":"Return","src":"12579:28:1"}]},"documentation":{"id":907,"nodeType":"StructuredDocumentation","src":"11920:261:1","text":"@notice Utility function to verify Tellor Layer signatures\n @param _signer The address that signed the message.\n @param _digest The digest that was signed.\n @param _sig The signature.\n @return bool True if the signature is valid."},"id":957,"implemented":true,"kind":"function","modifiers":[],"name":"_verifySig","nameLocation":"12195:10:1","nodeType":"FunctionDefinition","parameters":{"id":915,"nodeType":"ParameterList","parameters":[{"constant":false,"id":909,"mutability":"mutable","name":"_signer","nameLocation":"12223:7:1","nodeType":"VariableDeclaration","scope":957,"src":"12215:15:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":908,"name":"address","nodeType":"ElementaryTypeName","src":"12215:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":911,"mutability":"mutable","name":"_digest","nameLocation":"12248:7:1","nodeType":"VariableDeclaration","scope":957,"src":"12240:15:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":910,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12240:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":914,"mutability":"mutable","name":"_sig","nameLocation":"12284:4:1","nodeType":"VariableDeclaration","scope":957,"src":"12265:23:1","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_struct$_Signature_$389_calldata_ptr","typeString":"struct Signature"},"typeName":{"id":913,"nodeType":"UserDefinedTypeName","pathNode":{"id":912,"name":"Signature","nameLocations":["12265:9:1"],"nodeType":"IdentifierPath","referencedDeclaration":389,"src":"12265:9:1"},"referencedDeclaration":389,"src":"12265:9:1","typeDescriptions":{"typeIdentifier":"t_struct$_Signature_$389_storage_ptr","typeString":"struct Signature"}},"visibility":"internal"}],"src":"12205:89:1"},"returnParameters":{"id":918,"nodeType":"ParameterList","parameters":[{"constant":false,"id":917,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":957,"src":"12318:4:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":916,"name":"bool","nodeType":"ElementaryTypeName","src":"12318:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"12317:6:1"},"scope":958,"src":"12186:428:1","stateMutability":"pure","virtual":false,"visibility":"internal"}],"scope":959,"src":"949:11667:1","usedErrors":[10,15,20,444,446,448,450,452,454,456,458,460,462,464]}],"src":"39:12578:1"},"id":1},"contracts/examples/YoloTellorUser.sol":{"ast":{"absolutePath":"contracts/examples/YoloTellorUser.sol","exportedSymbols":{"ITellorDataBridge":[1184],"OracleAttestationData":[1124],"ReportData":[1137],"Signature":[1144],"Validator":[1149],"YoloTellorUser":[1071]},"id":1072,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":960,"literals":["solidity","0.8",".19"],"nodeType":"PragmaDirective","src":"32:23:2"},{"absolutePath":"contracts/interfaces/ITellorDataBridge.sol","file":"../interfaces/ITellorDataBridge.sol","id":961,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1072,"sourceUnit":1185,"src":"57:45:2","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[],"canonicalName":"YoloTellorUser","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"id":1071,"linearizedBaseContracts":[1071],"name":"YoloTellorUser","nameLocation":"286:14:2","nodeType":"ContractDefinition","nodes":[{"constant":false,"functionSelector":"578855b2","id":964,"mutability":"mutable","name":"dataBridge","nameLocation":"332:10:2","nodeType":"VariableDeclaration","scope":1071,"src":"307:35:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_ITellorDataBridge_$1184","typeString":"contract ITellorDataBridge"},"typeName":{"id":963,"nodeType":"UserDefinedTypeName","pathNode":{"id":962,"name":"ITellorDataBridge","nameLocations":["307:17:2"],"nodeType":"IdentifierPath","referencedDeclaration":1184,"src":"307:17:2"},"referencedDeclaration":1184,"src":"307:17:2","typeDescriptions":{"typeIdentifier":"t_contract$_ITellorDataBridge_$1184","typeString":"contract ITellorDataBridge"}},"visibility":"public"},{"constant":false,"functionSelector":"3f1be4d4","id":966,"mutability":"mutable","name":"queryId","nameLocation":"363:7:2","nodeType":"VariableDeclaration","scope":1071,"src":"348:22:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":965,"name":"bytes32","nodeType":"ElementaryTypeName","src":"348:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"constant":false,"functionSelector":"aa4dea00","id":970,"mutability":"mutable","name":"oracleData","nameLocation":"396:10:2","nodeType":"VariableDeclaration","scope":1071,"src":"376:30:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_OracleData_$975_storage_$dyn_storage","typeString":"struct YoloTellorUser.OracleData[]"},"typeName":{"baseType":{"id":968,"nodeType":"UserDefinedTypeName","pathNode":{"id":967,"name":"OracleData","nameLocations":["376:10:2"],"nodeType":"IdentifierPath","referencedDeclaration":975,"src":"376:10:2"},"referencedDeclaration":975,"src":"376:10:2","typeDescriptions":{"typeIdentifier":"t_struct$_OracleData_$975_storage_ptr","typeString":"struct YoloTellorUser.OracleData"}},"id":969,"nodeType":"ArrayTypeName","src":"376:12:2","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_OracleData_$975_storage_$dyn_storage_ptr","typeString":"struct YoloTellorUser.OracleData[]"}},"visibility":"public"},{"canonicalName":"YoloTellorUser.OracleData","id":975,"members":[{"constant":false,"id":972,"mutability":"mutable","name":"value","nameLocation":"449:5:2","nodeType":"VariableDeclaration","scope":975,"src":"441:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":971,"name":"uint256","nodeType":"ElementaryTypeName","src":"441:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":974,"mutability":"mutable","name":"timestamp","nameLocation":"472:9:2","nodeType":"VariableDeclaration","scope":975,"src":"464:17:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":973,"name":"uint256","nodeType":"ElementaryTypeName","src":"464:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"OracleData","nameLocation":"420:10:2","nodeType":"StructDefinition","scope":1071,"src":"413:75:2","visibility":"public"},{"body":{"id":992,"nodeType":"Block","src":"604:88:2","statements":[{"expression":{"id":986,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":982,"name":"dataBridge","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":964,"src":"614:10:2","typeDescriptions":{"typeIdentifier":"t_contract$_ITellorDataBridge_$1184","typeString":"contract ITellorDataBridge"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":984,"name":"_dataBridge","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":977,"src":"645:11:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":983,"name":"ITellorDataBridge","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1184,"src":"627:17:2","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ITellorDataBridge_$1184_$","typeString":"type(contract ITellorDataBridge)"}},"id":985,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"627:30:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ITellorDataBridge_$1184","typeString":"contract ITellorDataBridge"}},"src":"614:43:2","typeDescriptions":{"typeIdentifier":"t_contract$_ITellorDataBridge_$1184","typeString":"contract ITellorDataBridge"}},"id":987,"nodeType":"ExpressionStatement","src":"614:43:2"},{"expression":{"id":990,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":988,"name":"queryId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":966,"src":"667:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":989,"name":"_queryId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":979,"src":"677:8:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"667:18:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":991,"nodeType":"ExpressionStatement","src":"667:18:2"}]},"id":993,"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":980,"nodeType":"ParameterList","parameters":[{"constant":false,"id":977,"mutability":"mutable","name":"_dataBridge","nameLocation":"573:11:2","nodeType":"VariableDeclaration","scope":993,"src":"565:19:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":976,"name":"address","nodeType":"ElementaryTypeName","src":"565:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":979,"mutability":"mutable","name":"_queryId","nameLocation":"594:8:2","nodeType":"VariableDeclaration","scope":993,"src":"586:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":978,"name":"bytes32","nodeType":"ElementaryTypeName","src":"586:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"564:39:2"},"returnParameters":{"id":981,"nodeType":"ParameterList","parameters":[],"src":"604:0:2"},"scope":1071,"src":"553:139:2","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":1046,"nodeType":"Block","src":"1001:459:2","statements":[{"expression":{"arguments":[{"id":1010,"name":"_attestData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":996,"src":"1090:11:2","typeDescriptions":{"typeIdentifier":"t_struct$_OracleAttestationData_$1124_calldata_ptr","typeString":"struct OracleAttestationData calldata"}},{"id":1011,"name":"_currentValidatorSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1000,"src":"1103:20:2","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Validator_$1149_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Validator calldata[] calldata"}},{"id":1012,"name":"_sigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1004,"src":"1125:5:2","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Signature_$1144_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Signature calldata[] calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_OracleAttestationData_$1124_calldata_ptr","typeString":"struct OracleAttestationData calldata"},{"typeIdentifier":"t_array$_t_struct$_Validator_$1149_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Validator calldata[] calldata"},{"typeIdentifier":"t_array$_t_struct$_Signature_$1144_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Signature calldata[] calldata"}],"expression":{"id":1007,"name":"dataBridge","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":964,"src":"1062:10:2","typeDescriptions":{"typeIdentifier":"t_contract$_ITellorDataBridge_$1184","typeString":"contract ITellorDataBridge"}},"id":1009,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1073:16:2","memberName":"verifyOracleData","nodeType":"MemberAccess","referencedDeclaration":1183,"src":"1062:27:2","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_struct$_OracleAttestationData_$1124_memory_ptr_$_t_array$_t_struct$_Validator_$1149_memory_ptr_$dyn_memory_ptr_$_t_array$_t_struct$_Signature_$1144_memory_ptr_$dyn_memory_ptr_$returns$__$","typeString":"function (struct OracleAttestationData memory,struct Validator memory[] memory,struct Signature memory[] memory) view external"}},"id":1013,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1062:69:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1014,"nodeType":"ExpressionStatement","src":"1062:69:2"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":1019,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1016,"name":"queryId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":966,"src":"1213:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":1017,"name":"_attestData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":996,"src":"1224:11:2","typeDescriptions":{"typeIdentifier":"t_struct$_OracleAttestationData_$1124_calldata_ptr","typeString":"struct OracleAttestationData calldata"}},"id":1018,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1236:7:2","memberName":"queryId","nodeType":"MemberAccess","referencedDeclaration":1118,"src":"1224:19:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"1213:30:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"496e76616c69642071756572794964","id":1020,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1245:17:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_5c98120c2d1113299b49cf447f38c466f541f9e65cb821e4e86f03bd25cc78a8","typeString":"literal_string \"Invalid queryId\""},"value":"Invalid queryId"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_5c98120c2d1113299b49cf447f38c466f541f9e65cb821e4e86f03bd25cc78a8","typeString":"literal_string \"Invalid queryId\""}],"id":1015,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"1205:7:2","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":1021,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1205:58:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1022,"nodeType":"ExpressionStatement","src":"1205:58:2"},{"assignments":[1024],"declarations":[{"constant":false,"id":1024,"mutability":"mutable","name":"_value","nameLocation":"1322:6:2","nodeType":"VariableDeclaration","scope":1046,"src":"1314:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1023,"name":"uint256","nodeType":"ElementaryTypeName","src":"1314:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":1034,"initialValue":{"arguments":[{"expression":{"expression":{"id":1027,"name":"_attestData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":996,"src":"1342:11:2","typeDescriptions":{"typeIdentifier":"t_struct$_OracleAttestationData_$1124_calldata_ptr","typeString":"struct OracleAttestationData calldata"}},"id":1028,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1354:6:2","memberName":"report","nodeType":"MemberAccess","referencedDeclaration":1121,"src":"1342:18:2","typeDescriptions":{"typeIdentifier":"t_struct$_ReportData_$1137_calldata_ptr","typeString":"struct ReportData calldata"}},"id":1029,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1361:5:2","memberName":"value","nodeType":"MemberAccess","referencedDeclaration":1126,"src":"1342:24:2","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},{"components":[{"id":1031,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1369:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":1030,"name":"uint256","nodeType":"ElementaryTypeName","src":"1369:7:2","typeDescriptions":{}}}],"id":1032,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"1368:9:2","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"},{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"expression":{"id":1025,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1331:3:2","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":1026,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1335:6:2","memberName":"decode","nodeType":"MemberAccess","src":"1331:10:2","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":1033,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1331:47:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"1314:64:2"},{"expression":{"arguments":[{"arguments":[{"id":1039,"name":"_value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1024,"src":"1415:6:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"expression":{"id":1040,"name":"_attestData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":996,"src":"1423:11:2","typeDescriptions":{"typeIdentifier":"t_struct$_OracleAttestationData_$1124_calldata_ptr","typeString":"struct OracleAttestationData calldata"}},"id":1041,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1435:6:2","memberName":"report","nodeType":"MemberAccess","referencedDeclaration":1121,"src":"1423:18:2","typeDescriptions":{"typeIdentifier":"t_struct$_ReportData_$1137_calldata_ptr","typeString":"struct ReportData calldata"}},"id":1042,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1442:9:2","memberName":"timestamp","nodeType":"MemberAccess","referencedDeclaration":1128,"src":"1423:28:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1038,"name":"OracleData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":975,"src":"1404:10:2","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_OracleData_$975_storage_ptr_$","typeString":"type(struct YoloTellorUser.OracleData storage pointer)"}},"id":1043,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1404:48:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_OracleData_$975_memory_ptr","typeString":"struct YoloTellorUser.OracleData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_OracleData_$975_memory_ptr","typeString":"struct YoloTellorUser.OracleData memory"}],"expression":{"id":1035,"name":"oracleData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":970,"src":"1388:10:2","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_OracleData_$975_storage_$dyn_storage","typeString":"struct YoloTellorUser.OracleData storage ref[] storage ref"}},"id":1037,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1399:4:2","memberName":"push","nodeType":"MemberAccess","src":"1388:15:2","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_struct$_OracleData_$975_storage_$dyn_storage_ptr_$_t_struct$_OracleData_$975_storage_$returns$__$attached_to$_t_array$_t_struct$_OracleData_$975_storage_$dyn_storage_ptr_$","typeString":"function (struct YoloTellorUser.OracleData storage ref[] storage pointer,struct YoloTellorUser.OracleData storage ref)"}},"id":1044,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1388:65:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1045,"nodeType":"ExpressionStatement","src":"1388:65:2"}]},"functionSelector":"61808010","id":1047,"implemented":true,"kind":"function","modifiers":[],"name":"updateOracleData","nameLocation":"830:16:2","nodeType":"FunctionDefinition","parameters":{"id":1005,"nodeType":"ParameterList","parameters":[{"constant":false,"id":996,"mutability":"mutable","name":"_attestData","nameLocation":"887:11:2","nodeType":"VariableDeclaration","scope":1047,"src":"856:42:2","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_struct$_OracleAttestationData_$1124_calldata_ptr","typeString":"struct OracleAttestationData"},"typeName":{"id":995,"nodeType":"UserDefinedTypeName","pathNode":{"id":994,"name":"OracleAttestationData","nameLocations":["856:21:2"],"nodeType":"IdentifierPath","referencedDeclaration":1124,"src":"856:21:2"},"referencedDeclaration":1124,"src":"856:21:2","typeDescriptions":{"typeIdentifier":"t_struct$_OracleAttestationData_$1124_storage_ptr","typeString":"struct OracleAttestationData"}},"visibility":"internal"},{"constant":false,"id":1000,"mutability":"mutable","name":"_currentValidatorSet","nameLocation":"929:20:2","nodeType":"VariableDeclaration","scope":1047,"src":"908:41:2","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Validator_$1149_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Validator[]"},"typeName":{"baseType":{"id":998,"nodeType":"UserDefinedTypeName","pathNode":{"id":997,"name":"Validator","nameLocations":["908:9:2"],"nodeType":"IdentifierPath","referencedDeclaration":1149,"src":"908:9:2"},"referencedDeclaration":1149,"src":"908:9:2","typeDescriptions":{"typeIdentifier":"t_struct$_Validator_$1149_storage_ptr","typeString":"struct Validator"}},"id":999,"nodeType":"ArrayTypeName","src":"908:11:2","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Validator_$1149_storage_$dyn_storage_ptr","typeString":"struct Validator[]"}},"visibility":"internal"},{"constant":false,"id":1004,"mutability":"mutable","name":"_sigs","nameLocation":"980:5:2","nodeType":"VariableDeclaration","scope":1047,"src":"959:26:2","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Signature_$1144_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Signature[]"},"typeName":{"baseType":{"id":1002,"nodeType":"UserDefinedTypeName","pathNode":{"id":1001,"name":"Signature","nameLocations":["959:9:2"],"nodeType":"IdentifierPath","referencedDeclaration":1144,"src":"959:9:2"},"referencedDeclaration":1144,"src":"959:9:2","typeDescriptions":{"typeIdentifier":"t_struct$_Signature_$1144_storage_ptr","typeString":"struct Signature"}},"id":1003,"nodeType":"ArrayTypeName","src":"959:11:2","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Signature_$1144_storage_$dyn_storage_ptr","typeString":"struct Signature[]"}},"visibility":"internal"}],"src":"846:145:2"},"returnParameters":{"id":1006,"nodeType":"ParameterList","parameters":[],"src":"1001:0:2"},"scope":1071,"src":"821:639:2","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":1060,"nodeType":"Block","src":"1570:57:2","statements":[{"expression":{"baseExpression":{"id":1053,"name":"oracleData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":970,"src":"1587:10:2","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_OracleData_$975_storage_$dyn_storage","typeString":"struct YoloTellorUser.OracleData storage ref[] storage ref"}},"id":1058,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1057,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":1054,"name":"oracleData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":970,"src":"1598:10:2","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_OracleData_$975_storage_$dyn_storage","typeString":"struct YoloTellorUser.OracleData storage ref[] storage ref"}},"id":1055,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1609:6:2","memberName":"length","nodeType":"MemberAccess","src":"1598:17:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":1056,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1618:1:2","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"1598:21:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1587:33:2","typeDescriptions":{"typeIdentifier":"t_struct$_OracleData_$975_storage","typeString":"struct YoloTellorUser.OracleData storage ref"}},"functionReturnParameters":1052,"id":1059,"nodeType":"Return","src":"1580:40:2"}]},"functionSelector":"770b5414","id":1061,"implemented":true,"kind":"function","modifiers":[],"name":"getCurrentData","nameLocation":"1511:14:2","nodeType":"FunctionDefinition","parameters":{"id":1048,"nodeType":"ParameterList","parameters":[],"src":"1525:2:2"},"returnParameters":{"id":1052,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1051,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1061,"src":"1551:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_OracleData_$975_memory_ptr","typeString":"struct YoloTellorUser.OracleData"},"typeName":{"id":1050,"nodeType":"UserDefinedTypeName","pathNode":{"id":1049,"name":"OracleData","nameLocations":["1551:10:2"],"nodeType":"IdentifierPath","referencedDeclaration":975,"src":"1551:10:2"},"referencedDeclaration":975,"src":"1551:10:2","typeDescriptions":{"typeIdentifier":"t_struct$_OracleData_$975_storage_ptr","typeString":"struct YoloTellorUser.OracleData"}},"visibility":"internal"}],"src":"1550:19:2"},"scope":1071,"src":"1502:125:2","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":1069,"nodeType":"Block","src":"1738:41:2","statements":[{"expression":{"expression":{"id":1066,"name":"oracleData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":970,"src":"1755:10:2","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_OracleData_$975_storage_$dyn_storage","typeString":"struct YoloTellorUser.OracleData storage ref[] storage ref"}},"id":1067,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1766:6:2","memberName":"length","nodeType":"MemberAccess","src":"1755:17:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":1065,"id":1068,"nodeType":"Return","src":"1748:24:2"}]},"functionSelector":"413a89b4","id":1070,"implemented":true,"kind":"function","modifiers":[],"name":"getValueCount","nameLocation":"1690:13:2","nodeType":"FunctionDefinition","parameters":{"id":1062,"nodeType":"ParameterList","parameters":[],"src":"1703:2:2"},"returnParameters":{"id":1065,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1064,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1070,"src":"1729:7:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1063,"name":"uint256","nodeType":"ElementaryTypeName","src":"1729:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1728:9:2"},"scope":1071,"src":"1681:98:2","stateMutability":"view","virtual":false,"visibility":"external"}],"scope":1072,"src":"277:1504:2","usedErrors":[]}],"src":"32:1749:2"},"id":2},"contracts/interfaces/ITellorDataBank.sol":{"ast":{"absolutePath":"contracts/interfaces/ITellorDataBank.sol","exportedSymbols":{"ITellorDataBank":[1114]},"id":1115,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":1073,"literals":["solidity","0.8",".19"],"nodeType":"PragmaDirective","src":"32:23:3"},{"abstract":false,"baseContracts":[],"canonicalName":"ITellorDataBank","contractDependencies":[],"contractKind":"interface","documentation":{"id":1074,"nodeType":"StructuredDocumentation","src":"57:82:3","text":" @title ITellorDataBank\n @notice Interface for TellorDataBank contract"},"fullyImplemented":false,"id":1114,"linearizedBaseContracts":[1114],"name":"ITellorDataBank","nameLocation":"150:15:3","nodeType":"ContractDefinition","nodes":[{"canonicalName":"ITellorDataBank.AggregateData","id":1085,"members":[{"constant":false,"id":1076,"mutability":"mutable","name":"value","nameLocation":"209:5:3","nodeType":"VariableDeclaration","scope":1085,"src":"203:11:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":1075,"name":"bytes","nodeType":"ElementaryTypeName","src":"203:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":1078,"mutability":"mutable","name":"power","nameLocation":"232:5:3","nodeType":"VariableDeclaration","scope":1085,"src":"224:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1077,"name":"uint256","nodeType":"ElementaryTypeName","src":"224:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1080,"mutability":"mutable","name":"aggregateTimestamp","nameLocation":"255:18:3","nodeType":"VariableDeclaration","scope":1085,"src":"247:26:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1079,"name":"uint256","nodeType":"ElementaryTypeName","src":"247:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1082,"mutability":"mutable","name":"attestationTimestamp","nameLocation":"291:20:3","nodeType":"VariableDeclaration","scope":1085,"src":"283:28:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1081,"name":"uint256","nodeType":"ElementaryTypeName","src":"283:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1084,"mutability":"mutable","name":"relayTimestamp","nameLocation":"329:14:3","nodeType":"VariableDeclaration","scope":1085,"src":"321:22:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1083,"name":"uint256","nodeType":"ElementaryTypeName","src":"321:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"AggregateData","nameLocation":"179:13:3","nodeType":"StructDefinition","scope":1114,"src":"172:178:3","visibility":"public"},{"documentation":{"id":1086,"nodeType":"StructuredDocumentation","src":"356:210:3","text":" @dev returns the current aggregate data for a given query ID\n @param _queryId the query ID to get the current aggregate data for\n @return _aggregateData the current aggregate data"},"functionSelector":"cb956711","id":1094,"implemented":false,"kind":"function","modifiers":[],"name":"getCurrentAggregateData","nameLocation":"580:23:3","nodeType":"FunctionDefinition","parameters":{"id":1089,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1088,"mutability":"mutable","name":"_queryId","nameLocation":"612:8:3","nodeType":"VariableDeclaration","scope":1094,"src":"604:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1087,"name":"bytes32","nodeType":"ElementaryTypeName","src":"604:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"603:18:3"},"returnParameters":{"id":1093,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1092,"mutability":"mutable","name":"_aggregateData","nameLocation":"666:14:3","nodeType":"VariableDeclaration","scope":1094,"src":"645:35:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_AggregateData_$1085_memory_ptr","typeString":"struct ITellorDataBank.AggregateData"},"typeName":{"id":1091,"nodeType":"UserDefinedTypeName","pathNode":{"id":1090,"name":"AggregateData","nameLocations":["645:13:3"],"nodeType":"IdentifierPath","referencedDeclaration":1085,"src":"645:13:3"},"referencedDeclaration":1085,"src":"645:13:3","typeDescriptions":{"typeIdentifier":"t_struct$_AggregateData_$1085_storage_ptr","typeString":"struct ITellorDataBank.AggregateData"}},"visibility":"internal"}],"src":"644:37:3"},"scope":1114,"src":"571:111:3","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":1095,"nodeType":"StructuredDocumentation","src":"688:256:3","text":" @dev returns the aggregate data for a given query ID and index\n @param _queryId the query ID to get the aggregate data for\n @param _index the index of the aggregate data to get\n @return _aggregateData the aggregate data"},"functionSelector":"717681c6","id":1105,"implemented":false,"kind":"function","modifiers":[],"name":"getAggregateByIndex","nameLocation":"958:19:3","nodeType":"FunctionDefinition","parameters":{"id":1100,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1097,"mutability":"mutable","name":"_queryId","nameLocation":"986:8:3","nodeType":"VariableDeclaration","scope":1105,"src":"978:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1096,"name":"bytes32","nodeType":"ElementaryTypeName","src":"978:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1099,"mutability":"mutable","name":"_index","nameLocation":"1004:6:3","nodeType":"VariableDeclaration","scope":1105,"src":"996:14:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1098,"name":"uint256","nodeType":"ElementaryTypeName","src":"996:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"977:34:3"},"returnParameters":{"id":1104,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1103,"mutability":"mutable","name":"_aggregateData","nameLocation":"1056:14:3","nodeType":"VariableDeclaration","scope":1105,"src":"1035:35:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_AggregateData_$1085_memory_ptr","typeString":"struct ITellorDataBank.AggregateData"},"typeName":{"id":1102,"nodeType":"UserDefinedTypeName","pathNode":{"id":1101,"name":"AggregateData","nameLocations":["1035:13:3"],"nodeType":"IdentifierPath","referencedDeclaration":1085,"src":"1035:13:3"},"referencedDeclaration":1085,"src":"1035:13:3","typeDescriptions":{"typeIdentifier":"t_struct$_AggregateData_$1085_storage_ptr","typeString":"struct ITellorDataBank.AggregateData"}},"visibility":"internal"}],"src":"1034:37:3"},"scope":1114,"src":"949:123:3","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":1106,"nodeType":"StructuredDocumentation","src":"1078:190:3","text":" @dev returns the total number of aggregate values\n @param _queryId the query ID to get the aggregate value count for\n @return number of aggregate values stored"},"functionSelector":"e3ac7e11","id":1113,"implemented":false,"kind":"function","modifiers":[],"name":"getAggregateValueCount","nameLocation":"1282:22:3","nodeType":"FunctionDefinition","parameters":{"id":1109,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1108,"mutability":"mutable","name":"_queryId","nameLocation":"1313:8:3","nodeType":"VariableDeclaration","scope":1113,"src":"1305:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1107,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1305:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1304:18:3"},"returnParameters":{"id":1112,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1111,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1113,"src":"1346:7:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1110,"name":"uint256","nodeType":"ElementaryTypeName","src":"1346:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1345:9:3"},"scope":1114,"src":"1273:82:3","stateMutability":"view","virtual":false,"visibility":"external"}],"scope":1115,"src":"140:1217:3","usedErrors":[]}],"src":"32:1327:3"},"id":3},"contracts/interfaces/ITellorDataBridge.sol":{"ast":{"absolutePath":"contracts/interfaces/ITellorDataBridge.sol","exportedSymbols":{"ITellorDataBridge":[1184],"OracleAttestationData":[1124],"ReportData":[1137],"Signature":[1144],"Validator":[1149]},"id":1185,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":1116,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"32:23:4"},{"canonicalName":"OracleAttestationData","id":1124,"members":[{"constant":false,"id":1118,"mutability":"mutable","name":"queryId","nameLocation":"100:7:4","nodeType":"VariableDeclaration","scope":1124,"src":"92:15:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1117,"name":"bytes32","nodeType":"ElementaryTypeName","src":"92:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1121,"mutability":"mutable","name":"report","nameLocation":"124:6:4","nodeType":"VariableDeclaration","scope":1124,"src":"113:17:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_ReportData_$1137_storage_ptr","typeString":"struct ReportData"},"typeName":{"id":1120,"nodeType":"UserDefinedTypeName","pathNode":{"id":1119,"name":"ReportData","nameLocations":["113:10:4"],"nodeType":"IdentifierPath","referencedDeclaration":1137,"src":"113:10:4"},"referencedDeclaration":1137,"src":"113:10:4","typeDescriptions":{"typeIdentifier":"t_struct$_ReportData_$1137_storage_ptr","typeString":"struct ReportData"}},"visibility":"internal"},{"constant":false,"id":1123,"mutability":"mutable","name":"attestationTimestamp","nameLocation":"144:20:4","nodeType":"VariableDeclaration","scope":1124,"src":"136:28:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1122,"name":"uint256","nodeType":"ElementaryTypeName","src":"136:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"OracleAttestationData","nameLocation":"64:21:4","nodeType":"StructDefinition","scope":1185,"src":"57:155:4","visibility":"public"},{"canonicalName":"ReportData","id":1137,"members":[{"constant":false,"id":1126,"mutability":"mutable","name":"value","nameLocation":"244:5:4","nodeType":"VariableDeclaration","scope":1137,"src":"238:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":1125,"name":"bytes","nodeType":"ElementaryTypeName","src":"238:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":1128,"mutability":"mutable","name":"timestamp","nameLocation":"263:9:4","nodeType":"VariableDeclaration","scope":1137,"src":"255:17:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1127,"name":"uint256","nodeType":"ElementaryTypeName","src":"255:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1130,"mutability":"mutable","name":"aggregatePower","nameLocation":"332:14:4","nodeType":"VariableDeclaration","scope":1137,"src":"324:22:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1129,"name":"uint256","nodeType":"ElementaryTypeName","src":"324:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1132,"mutability":"mutable","name":"previousTimestamp","nameLocation":"360:17:4","nodeType":"VariableDeclaration","scope":1137,"src":"352:25:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1131,"name":"uint256","nodeType":"ElementaryTypeName","src":"352:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1134,"mutability":"mutable","name":"nextTimestamp","nameLocation":"391:13:4","nodeType":"VariableDeclaration","scope":1137,"src":"383:21:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1133,"name":"uint256","nodeType":"ElementaryTypeName","src":"383:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1136,"mutability":"mutable","name":"lastConsensusTimestamp","nameLocation":"418:22:4","nodeType":"VariableDeclaration","scope":1137,"src":"410:30:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1135,"name":"uint256","nodeType":"ElementaryTypeName","src":"410:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"ReportData","nameLocation":"221:10:4","nodeType":"StructDefinition","scope":1185,"src":"214:229:4","visibility":"public"},{"canonicalName":"Signature","id":1144,"members":[{"constant":false,"id":1139,"mutability":"mutable","name":"v","nameLocation":"474:1:4","nodeType":"VariableDeclaration","scope":1144,"src":"468:7:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":1138,"name":"uint8","nodeType":"ElementaryTypeName","src":"468:5:4","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":1141,"mutability":"mutable","name":"r","nameLocation":"489:1:4","nodeType":"VariableDeclaration","scope":1144,"src":"481:9:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1140,"name":"bytes32","nodeType":"ElementaryTypeName","src":"481:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1143,"mutability":"mutable","name":"s","nameLocation":"504:1:4","nodeType":"VariableDeclaration","scope":1144,"src":"496:9:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1142,"name":"bytes32","nodeType":"ElementaryTypeName","src":"496:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"name":"Signature","nameLocation":"452:9:4","nodeType":"StructDefinition","scope":1185,"src":"445:63:4","visibility":"public"},{"canonicalName":"Validator","id":1149,"members":[{"constant":false,"id":1146,"mutability":"mutable","name":"addr","nameLocation":"541:4:4","nodeType":"VariableDeclaration","scope":1149,"src":"533:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1145,"name":"address","nodeType":"ElementaryTypeName","src":"533:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1148,"mutability":"mutable","name":"power","nameLocation":"559:5:4","nodeType":"VariableDeclaration","scope":1149,"src":"551:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1147,"name":"uint256","nodeType":"ElementaryTypeName","src":"551:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"Validator","nameLocation":"517:9:4","nodeType":"StructDefinition","scope":1185,"src":"510:57:4","visibility":"public"},{"abstract":false,"baseContracts":[],"canonicalName":"ITellorDataBridge","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"id":1184,"linearizedBaseContracts":[1184],"name":"ITellorDataBridge","nameLocation":"579:17:4","nodeType":"ContractDefinition","nodes":[{"functionSelector":"452a9320","id":1154,"implemented":false,"kind":"function","modifiers":[],"name":"guardian","nameLocation":"612:8:4","nodeType":"FunctionDefinition","parameters":{"id":1150,"nodeType":"ParameterList","parameters":[],"src":"620:2:4"},"returnParameters":{"id":1153,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1152,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1154,"src":"646:7:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1151,"name":"address","nodeType":"ElementaryTypeName","src":"646:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"645:9:4"},"scope":1184,"src":"603:52:4","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"ba95ec27","id":1159,"implemented":false,"kind":"function","modifiers":[],"name":"powerThreshold","nameLocation":"669:14:4","nodeType":"FunctionDefinition","parameters":{"id":1155,"nodeType":"ParameterList","parameters":[],"src":"683:2:4"},"returnParameters":{"id":1158,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1157,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1159,"src":"709:7:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1156,"name":"uint256","nodeType":"ElementaryTypeName","src":"709:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"708:9:4"},"scope":1184,"src":"660:58:4","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"6cf6d675","id":1164,"implemented":false,"kind":"function","modifiers":[],"name":"unbondingPeriod","nameLocation":"732:15:4","nodeType":"FunctionDefinition","parameters":{"id":1160,"nodeType":"ParameterList","parameters":[],"src":"747:2:4"},"returnParameters":{"id":1163,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1162,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1164,"src":"773:7:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1161,"name":"uint256","nodeType":"ElementaryTypeName","src":"773:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"772:9:4"},"scope":1184,"src":"723:59:4","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"4f76f1ee","id":1169,"implemented":false,"kind":"function","modifiers":[],"name":"validatorTimestamp","nameLocation":"796:18:4","nodeType":"FunctionDefinition","parameters":{"id":1165,"nodeType":"ParameterList","parameters":[],"src":"814:2:4"},"returnParameters":{"id":1168,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1167,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1169,"src":"840:7:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1166,"name":"uint256","nodeType":"ElementaryTypeName","src":"840:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"839:9:4"},"scope":1184,"src":"787:62:4","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"5e0d3b0f","id":1183,"implemented":false,"kind":"function","modifiers":[],"name":"verifyOracleData","nameLocation":"863:16:4","nodeType":"FunctionDefinition","parameters":{"id":1181,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1172,"mutability":"mutable","name":"_attestData","nameLocation":"920:11:4","nodeType":"VariableDeclaration","scope":1183,"src":"889:42:4","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_struct$_OracleAttestationData_$1124_calldata_ptr","typeString":"struct OracleAttestationData"},"typeName":{"id":1171,"nodeType":"UserDefinedTypeName","pathNode":{"id":1170,"name":"OracleAttestationData","nameLocations":["889:21:4"],"nodeType":"IdentifierPath","referencedDeclaration":1124,"src":"889:21:4"},"referencedDeclaration":1124,"src":"889:21:4","typeDescriptions":{"typeIdentifier":"t_struct$_OracleAttestationData_$1124_storage_ptr","typeString":"struct OracleAttestationData"}},"visibility":"internal"},{"constant":false,"id":1176,"mutability":"mutable","name":"_currentValidatorSet","nameLocation":"962:20:4","nodeType":"VariableDeclaration","scope":1183,"src":"941:41:4","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Validator_$1149_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Validator[]"},"typeName":{"baseType":{"id":1174,"nodeType":"UserDefinedTypeName","pathNode":{"id":1173,"name":"Validator","nameLocations":["941:9:4"],"nodeType":"IdentifierPath","referencedDeclaration":1149,"src":"941:9:4"},"referencedDeclaration":1149,"src":"941:9:4","typeDescriptions":{"typeIdentifier":"t_struct$_Validator_$1149_storage_ptr","typeString":"struct Validator"}},"id":1175,"nodeType":"ArrayTypeName","src":"941:11:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Validator_$1149_storage_$dyn_storage_ptr","typeString":"struct Validator[]"}},"visibility":"internal"},{"constant":false,"id":1180,"mutability":"mutable","name":"_sigs","nameLocation":"1013:5:4","nodeType":"VariableDeclaration","scope":1183,"src":"992:26:4","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Signature_$1144_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Signature[]"},"typeName":{"baseType":{"id":1178,"nodeType":"UserDefinedTypeName","pathNode":{"id":1177,"name":"Signature","nameLocations":["992:9:4"],"nodeType":"IdentifierPath","referencedDeclaration":1144,"src":"992:9:4"},"referencedDeclaration":1144,"src":"992:9:4","typeDescriptions":{"typeIdentifier":"t_struct$_Signature_$1144_storage_ptr","typeString":"struct Signature"}},"id":1179,"nodeType":"ArrayTypeName","src":"992:11:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Signature_$1144_storage_$dyn_storage_ptr","typeString":"struct Signature[]"}},"visibility":"internal"}],"src":"879:145:4"},"returnParameters":{"id":1182,"nodeType":"ParameterList","parameters":[],"src":"1038:0:4"},"scope":1184,"src":"854:185:4","stateMutability":"view","virtual":false,"visibility":"external"}],"scope":1185,"src":"569:472:4","usedErrors":[]}],"src":"32:1009:4"},"id":4},"contracts/testing/TellorLab.sol":{"ast":{"absolutePath":"contracts/testing/TellorLab.sol","exportedSymbols":{"ITellorDataBridge":[1184],"OracleAttestationData":[1124],"ReportData":[1137],"Signature":[1144],"TellorLab":[1397],"Validator":[1149]},"id":1398,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":1186,"literals":["solidity","0.8",".19"],"nodeType":"PragmaDirective","src":"32:23:5"},{"absolutePath":"contracts/interfaces/ITellorDataBridge.sol","file":"../interfaces/ITellorDataBridge.sol","id":1187,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1398,"sourceUnit":1185,"src":"57:45:5","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[],"canonicalName":"TellorLab","contractDependencies":[],"contractKind":"contract","documentation":{"id":1188,"nodeType":"StructuredDocumentation","src":"104:540:5","text":" @author Tellor Inc.\n @title TellorLab\n @notice Testing contract for rapid prototyping with Tellor oracle data\n @dev This contract is used to store data for multiple data feeds for testing tellor \n data integrations. It has no data bridge validation, zero security checks, and is \n NOT for production use. For production contracts, use TellorDataBridge verification. \n See SampleLayerUser repo for usage examples: https://github.com/tellor-io/SampleLayerUser\n This contract conforms to the ITellorDataBank interface."},"fullyImplemented":true,"id":1397,"linearizedBaseContracts":[1397],"name":"TellorLab","nameLocation":"654:9:5","nodeType":"ContractDefinition","nodes":[{"constant":false,"functionSelector":"8d12c426","id":1194,"mutability":"mutable","name":"data","nameLocation":"728:4:5","nodeType":"VariableDeclaration","scope":1397,"src":"685:47:5","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_array$_t_struct$_AggregateData_$1205_storage_$dyn_storage_$","typeString":"mapping(bytes32 => struct TellorLab.AggregateData[])"},"typeName":{"id":1193,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":1189,"name":"bytes32","nodeType":"ElementaryTypeName","src":"693:7:5","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Mapping","src":"685:35:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_array$_t_struct$_AggregateData_$1205_storage_$dyn_storage_$","typeString":"mapping(bytes32 => struct TellorLab.AggregateData[])"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"baseType":{"id":1191,"nodeType":"UserDefinedTypeName","pathNode":{"id":1190,"name":"AggregateData","nameLocations":["704:13:5"],"nodeType":"IdentifierPath","referencedDeclaration":1205,"src":"704:13:5"},"referencedDeclaration":1205,"src":"704:13:5","typeDescriptions":{"typeIdentifier":"t_struct$_AggregateData_$1205_storage_ptr","typeString":"struct TellorLab.AggregateData"}},"id":1192,"nodeType":"ArrayTypeName","src":"704:15:5","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AggregateData_$1205_storage_$dyn_storage_ptr","typeString":"struct TellorLab.AggregateData[]"}}},"visibility":"public"},{"canonicalName":"TellorLab.AggregateData","id":1205,"members":[{"constant":false,"id":1196,"mutability":"mutable","name":"value","nameLocation":"814:5:5","nodeType":"VariableDeclaration","scope":1205,"src":"808:11:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":1195,"name":"bytes","nodeType":"ElementaryTypeName","src":"808:5:5","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":1198,"mutability":"mutable","name":"power","nameLocation":"862:5:5","nodeType":"VariableDeclaration","scope":1205,"src":"854:13:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1197,"name":"uint256","nodeType":"ElementaryTypeName","src":"854:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1200,"mutability":"mutable","name":"aggregateTimestamp","nameLocation":"971:18:5","nodeType":"VariableDeclaration","scope":1205,"src":"963:26:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1199,"name":"uint256","nodeType":"ElementaryTypeName","src":"963:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1202,"mutability":"mutable","name":"attestationTimestamp","nameLocation":"1070:20:5","nodeType":"VariableDeclaration","scope":1205,"src":"1062:28:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1201,"name":"uint256","nodeType":"ElementaryTypeName","src":"1062:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1204,"mutability":"mutable","name":"relayTimestamp","nameLocation":"1181:14:5","nodeType":"VariableDeclaration","scope":1205,"src":"1173:22:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1203,"name":"uint256","nodeType":"ElementaryTypeName","src":"1173:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"AggregateData","nameLocation":"784:13:5","nodeType":"StructDefinition","scope":1397,"src":"777:496:5","visibility":"public"},{"anonymous":false,"eventSelector":"32569c122e0d7a43079203df1373675696c8ccd8ca67de60dc2238b6bb226214","id":1212,"name":"OracleUpdated","nameLocation":"1299:13:5","nodeType":"EventDefinition","parameters":{"id":1211,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1207,"indexed":true,"mutability":"mutable","name":"queryId","nameLocation":"1338:7:5","nodeType":"VariableDeclaration","scope":1212,"src":"1322:23:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1206,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1322:7:5","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1210,"indexed":false,"mutability":"mutable","name":"attestData","nameLocation":"1377:10:5","nodeType":"VariableDeclaration","scope":1212,"src":"1355:32:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_OracleAttestationData_$1124_memory_ptr","typeString":"struct OracleAttestationData"},"typeName":{"id":1209,"nodeType":"UserDefinedTypeName","pathNode":{"id":1208,"name":"OracleAttestationData","nameLocations":["1355:21:5"],"nodeType":"IdentifierPath","referencedDeclaration":1124,"src":"1355:21:5"},"referencedDeclaration":1124,"src":"1355:21:5","typeDescriptions":{"typeIdentifier":"t_struct$_OracleAttestationData_$1124_storage_ptr","typeString":"struct OracleAttestationData"}},"visibility":"internal"}],"src":"1312:81:5"},"src":"1293:101:5"},{"body":{"id":1255,"nodeType":"Block","src":"1920:530:5","statements":[{"expression":{"arguments":[{"arguments":[{"expression":{"expression":{"id":1233,"name":"_attestData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1216,"src":"2153:11:5","typeDescriptions":{"typeIdentifier":"t_struct$_OracleAttestationData_$1124_calldata_ptr","typeString":"struct OracleAttestationData calldata"}},"id":1234,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2165:6:5","memberName":"report","nodeType":"MemberAccess","referencedDeclaration":1121,"src":"2153:18:5","typeDescriptions":{"typeIdentifier":"t_struct$_ReportData_$1137_calldata_ptr","typeString":"struct ReportData calldata"}},"id":1235,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2172:5:5","memberName":"value","nodeType":"MemberAccess","referencedDeclaration":1126,"src":"2153:24:5","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},{"expression":{"expression":{"id":1236,"name":"_attestData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1216,"src":"2195:11:5","typeDescriptions":{"typeIdentifier":"t_struct$_OracleAttestationData_$1124_calldata_ptr","typeString":"struct OracleAttestationData calldata"}},"id":1237,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2207:6:5","memberName":"report","nodeType":"MemberAccess","referencedDeclaration":1121,"src":"2195:18:5","typeDescriptions":{"typeIdentifier":"t_struct$_ReportData_$1137_calldata_ptr","typeString":"struct ReportData calldata"}},"id":1238,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2214:14:5","memberName":"aggregatePower","nodeType":"MemberAccess","referencedDeclaration":1130,"src":"2195:33:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"expression":{"id":1239,"name":"_attestData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1216,"src":"2246:11:5","typeDescriptions":{"typeIdentifier":"t_struct$_OracleAttestationData_$1124_calldata_ptr","typeString":"struct OracleAttestationData calldata"}},"id":1240,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2258:6:5","memberName":"report","nodeType":"MemberAccess","referencedDeclaration":1121,"src":"2246:18:5","typeDescriptions":{"typeIdentifier":"t_struct$_ReportData_$1137_calldata_ptr","typeString":"struct ReportData calldata"}},"id":1241,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2265:9:5","memberName":"timestamp","nodeType":"MemberAccess","referencedDeclaration":1128,"src":"2246:28:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":1242,"name":"_attestData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1216,"src":"2292:11:5","typeDescriptions":{"typeIdentifier":"t_struct$_OracleAttestationData_$1124_calldata_ptr","typeString":"struct OracleAttestationData calldata"}},"id":1243,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2304:20:5","memberName":"attestationTimestamp","nodeType":"MemberAccess","referencedDeclaration":1123,"src":"2292:32:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":1244,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"2342:5:5","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":1245,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2348:9:5","memberName":"timestamp","nodeType":"MemberAccess","src":"2342:15:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1232,"name":"AggregateData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1205,"src":"2122:13:5","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_AggregateData_$1205_storage_ptr_$","typeString":"type(struct TellorLab.AggregateData storage pointer)"}},"id":1246,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2122:249:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_AggregateData_$1205_memory_ptr","typeString":"struct TellorLab.AggregateData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_AggregateData_$1205_memory_ptr","typeString":"struct TellorLab.AggregateData memory"}],"expression":{"baseExpression":{"id":1227,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1194,"src":"2078:4:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_array$_t_struct$_AggregateData_$1205_storage_$dyn_storage_$","typeString":"mapping(bytes32 => struct TellorLab.AggregateData storage ref[] storage ref)"}},"id":1230,"indexExpression":{"expression":{"id":1228,"name":"_attestData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1216,"src":"2083:11:5","typeDescriptions":{"typeIdentifier":"t_struct$_OracleAttestationData_$1124_calldata_ptr","typeString":"struct OracleAttestationData calldata"}},"id":1229,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2095:7:5","memberName":"queryId","nodeType":"MemberAccess","referencedDeclaration":1118,"src":"2083:19:5","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2078:25:5","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AggregateData_$1205_storage_$dyn_storage","typeString":"struct TellorLab.AggregateData storage ref[] storage ref"}},"id":1231,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2104:4:5","memberName":"push","nodeType":"MemberAccess","src":"2078:30:5","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_struct$_AggregateData_$1205_storage_$dyn_storage_ptr_$_t_struct$_AggregateData_$1205_storage_$returns$__$attached_to$_t_array$_t_struct$_AggregateData_$1205_storage_$dyn_storage_ptr_$","typeString":"function (struct TellorLab.AggregateData storage ref[] storage pointer,struct TellorLab.AggregateData storage ref)"}},"id":1247,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2078:303:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1248,"nodeType":"ExpressionStatement","src":"2078:303:5"},{"eventCall":{"arguments":[{"expression":{"id":1250,"name":"_attestData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1216,"src":"2410:11:5","typeDescriptions":{"typeIdentifier":"t_struct$_OracleAttestationData_$1124_calldata_ptr","typeString":"struct OracleAttestationData calldata"}},"id":1251,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2422:7:5","memberName":"queryId","nodeType":"MemberAccess","referencedDeclaration":1118,"src":"2410:19:5","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1252,"name":"_attestData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1216,"src":"2431:11:5","typeDescriptions":{"typeIdentifier":"t_struct$_OracleAttestationData_$1124_calldata_ptr","typeString":"struct OracleAttestationData calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_struct$_OracleAttestationData_$1124_calldata_ptr","typeString":"struct OracleAttestationData calldata"}],"id":1249,"name":"OracleUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1212,"src":"2396:13:5","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_struct$_OracleAttestationData_$1124_memory_ptr_$returns$__$","typeString":"function (bytes32,struct OracleAttestationData memory)"}},"id":1253,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2396:47:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1254,"nodeType":"EmitStatement","src":"2391:52:5"}]},"documentation":{"id":1213,"nodeType":"StructuredDocumentation","src":"1417:308:5","text":" @dev updates oracle data with new attestation data after verification\n @param _attestData the oracle attestation data to be stored\n note: _currentValidatorSet array of current validators (unused for testing)\n note: _sigs array of validator signatures (unused for testing)"},"functionSelector":"61808010","id":1256,"implemented":true,"kind":"function","modifiers":[],"name":"updateOracleData","nameLocation":"1739:16:5","nodeType":"FunctionDefinition","parameters":{"id":1225,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1216,"mutability":"mutable","name":"_attestData","nameLocation":"1796:11:5","nodeType":"VariableDeclaration","scope":1256,"src":"1765:42:5","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_struct$_OracleAttestationData_$1124_calldata_ptr","typeString":"struct OracleAttestationData"},"typeName":{"id":1215,"nodeType":"UserDefinedTypeName","pathNode":{"id":1214,"name":"OracleAttestationData","nameLocations":["1765:21:5"],"nodeType":"IdentifierPath","referencedDeclaration":1124,"src":"1765:21:5"},"referencedDeclaration":1124,"src":"1765:21:5","typeDescriptions":{"typeIdentifier":"t_struct$_OracleAttestationData_$1124_storage_ptr","typeString":"struct OracleAttestationData"}},"visibility":"internal"},{"constant":false,"id":1220,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1256,"src":"1817:20:5","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Validator_$1149_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Validator[]"},"typeName":{"baseType":{"id":1218,"nodeType":"UserDefinedTypeName","pathNode":{"id":1217,"name":"Validator","nameLocations":["1817:9:5"],"nodeType":"IdentifierPath","referencedDeclaration":1149,"src":"1817:9:5"},"referencedDeclaration":1149,"src":"1817:9:5","typeDescriptions":{"typeIdentifier":"t_struct$_Validator_$1149_storage_ptr","typeString":"struct Validator"}},"id":1219,"nodeType":"ArrayTypeName","src":"1817:11:5","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Validator_$1149_storage_$dyn_storage_ptr","typeString":"struct Validator[]"}},"visibility":"internal"},{"constant":false,"id":1224,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1256,"src":"1874:20:5","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Signature_$1144_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Signature[]"},"typeName":{"baseType":{"id":1222,"nodeType":"UserDefinedTypeName","pathNode":{"id":1221,"name":"Signature","nameLocations":["1874:9:5"],"nodeType":"IdentifierPath","referencedDeclaration":1144,"src":"1874:9:5"},"referencedDeclaration":1144,"src":"1874:9:5","typeDescriptions":{"typeIdentifier":"t_struct$_Signature_$1144_storage_ptr","typeString":"struct Signature"}},"id":1223,"nodeType":"ArrayTypeName","src":"1874:11:5","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Signature_$1144_storage_$dyn_storage_ptr","typeString":"struct Signature[]"}},"visibility":"internal"}],"src":"1755:157:5"},"returnParameters":{"id":1226,"nodeType":"ParameterList","parameters":[],"src":"1920:0:5"},"scope":1397,"src":"1730:720:5","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":1304,"nodeType":"Block","src":"2792:608:5","statements":[{"assignments":[1265],"declarations":[{"constant":false,"id":1265,"mutability":"mutable","name":"_aggregateTimestamp","nameLocation":"2872:19:5","nodeType":"VariableDeclaration","scope":1304,"src":"2864:27:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1264,"name":"uint256","nodeType":"ElementaryTypeName","src":"2864:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":1273,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1272,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1269,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":1266,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"2895:5:5","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":1267,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2901:9:5","memberName":"timestamp","nodeType":"MemberAccess","src":"2895:15:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":1268,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2913:1:5","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"2895:19:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":1270,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"2894:21:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"31303030","id":1271,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2918:4:5","typeDescriptions":{"typeIdentifier":"t_rational_1000_by_1","typeString":"int_const 1000"},"value":"1000"},"src":"2894:28:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2864:58:5"},{"expression":{"arguments":[{"arguments":[{"id":1279,"name":"_value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1261,"src":"2996:6:5","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"30","id":1280,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3020:1:5","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":1281,"name":"_aggregateTimestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1265,"src":"3039:19:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1282,"name":"_aggregateTimestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1265,"src":"3076:19:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":1283,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"3113:5:5","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":1284,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3119:9:5","memberName":"timestamp","nodeType":"MemberAccess","src":"3113:15:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1278,"name":"AggregateData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1205,"src":"2965:13:5","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_AggregateData_$1205_storage_ptr_$","typeString":"type(struct TellorLab.AggregateData storage pointer)"}},"id":1285,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2965:177:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_AggregateData_$1205_memory_ptr","typeString":"struct TellorLab.AggregateData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_AggregateData_$1205_memory_ptr","typeString":"struct TellorLab.AggregateData memory"}],"expression":{"baseExpression":{"id":1274,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1194,"src":"2932:4:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_array$_t_struct$_AggregateData_$1205_storage_$dyn_storage_$","typeString":"mapping(bytes32 => struct TellorLab.AggregateData storage ref[] storage ref)"}},"id":1276,"indexExpression":{"id":1275,"name":"_queryId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1259,"src":"2937:8:5","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2932:14:5","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AggregateData_$1205_storage_$dyn_storage","typeString":"struct TellorLab.AggregateData storage ref[] storage ref"}},"id":1277,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2947:4:5","memberName":"push","nodeType":"MemberAccess","src":"2932:19:5","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_struct$_AggregateData_$1205_storage_$dyn_storage_ptr_$_t_struct$_AggregateData_$1205_storage_$returns$__$attached_to$_t_array$_t_struct$_AggregateData_$1205_storage_$dyn_storage_ptr_$","typeString":"function (struct TellorLab.AggregateData storage ref[] storage pointer,struct TellorLab.AggregateData storage ref)"}},"id":1286,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2932:220:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1287,"nodeType":"ExpressionStatement","src":"2932:220:5"},{"eventCall":{"arguments":[{"id":1289,"name":"_queryId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1259,"src":"3194:8:5","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"id":1291,"name":"_queryId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1259,"src":"3255:8:5","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"id":1293,"name":"_value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1261,"src":"3292:6:5","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":1294,"name":"_aggregateTimestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1265,"src":"3300:19:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":1295,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3321:1:5","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":1296,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3324:1:5","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":1297,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3327:1:5","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":1298,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3330:1:5","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":1292,"name":"ReportData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1137,"src":"3281:10:5","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ReportData_$1137_storage_ptr_$","typeString":"type(struct ReportData storage pointer)"}},"id":1299,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3281:51:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ReportData_$1137_memory_ptr","typeString":"struct ReportData memory"}},{"id":1300,"name":"_aggregateTimestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1265,"src":"3350:19:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_struct$_ReportData_$1137_memory_ptr","typeString":"struct ReportData memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1290,"name":"OracleAttestationData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1124,"src":"3216:21:5","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_OracleAttestationData_$1124_storage_ptr_$","typeString":"type(struct OracleAttestationData storage pointer)"}},"id":1301,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3216:167:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_OracleAttestationData_$1124_memory_ptr","typeString":"struct OracleAttestationData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_struct$_OracleAttestationData_$1124_memory_ptr","typeString":"struct OracleAttestationData memory"}],"id":1288,"name":"OracleUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1212,"src":"3167:13:5","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_struct$_OracleAttestationData_$1124_memory_ptr_$returns$__$","typeString":"function (bytes32,struct OracleAttestationData memory)"}},"id":1302,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3167:226:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1303,"nodeType":"EmitStatement","src":"3162:231:5"}]},"documentation":{"id":1257,"nodeType":"StructuredDocumentation","src":"2456:232:5","text":" @dev updates lab contract with new oracle data\n without needing to format data structs\n @param _queryId the unique identifier for the oracle data\n @param _value the oracle data value to be stored"},"functionSelector":"1c23cf39","id":1305,"implemented":true,"kind":"function","modifiers":[],"name":"updateOracleDataLab","nameLocation":"2702:19:5","nodeType":"FunctionDefinition","parameters":{"id":1262,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1259,"mutability":"mutable","name":"_queryId","nameLocation":"2739:8:5","nodeType":"VariableDeclaration","scope":1305,"src":"2731:16:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1258,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2731:7:5","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1261,"mutability":"mutable","name":"_value","nameLocation":"2770:6:5","nodeType":"VariableDeclaration","scope":1305,"src":"2757:19:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1260,"name":"bytes","nodeType":"ElementaryTypeName","src":"2757:5:5","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"2721:61:5"},"returnParameters":{"id":1263,"nodeType":"ParameterList","parameters":[],"src":"2792:0:5"},"scope":1397,"src":"2693:707:5","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":1322,"nodeType":"Block","src":"3839:46:5","statements":[{"expression":{"baseExpression":{"baseExpression":{"id":1316,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1194,"src":"3856:4:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_array$_t_struct$_AggregateData_$1205_storage_$dyn_storage_$","typeString":"mapping(bytes32 => struct TellorLab.AggregateData storage ref[] storage ref)"}},"id":1318,"indexExpression":{"id":1317,"name":"_queryId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1308,"src":"3861:8:5","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3856:14:5","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AggregateData_$1205_storage_$dyn_storage","typeString":"struct TellorLab.AggregateData storage ref[] storage ref"}},"id":1320,"indexExpression":{"id":1319,"name":"_index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1310,"src":"3871:6:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3856:22:5","typeDescriptions":{"typeIdentifier":"t_struct$_AggregateData_$1205_storage","typeString":"struct TellorLab.AggregateData storage ref"}},"functionReturnParameters":1315,"id":1321,"nodeType":"Return","src":"3849:29:5"}]},"documentation":{"id":1306,"nodeType":"StructuredDocumentation","src":"3430:259:5","text":" @dev returns the oracle data for a given query ID and index\n @param _queryId the unique identifier for the oracle data\n @param _index the index of the oracle data to get\n @return _aggregateData the oracle data and metadata"},"functionSelector":"717681c6","id":1323,"implemented":true,"kind":"function","modifiers":[],"name":"getAggregateByIndex","nameLocation":"3703:19:5","nodeType":"FunctionDefinition","parameters":{"id":1311,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1308,"mutability":"mutable","name":"_queryId","nameLocation":"3740:8:5","nodeType":"VariableDeclaration","scope":1323,"src":"3732:16:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1307,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3732:7:5","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1310,"mutability":"mutable","name":"_index","nameLocation":"3766:6:5","nodeType":"VariableDeclaration","scope":1323,"src":"3758:14:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1309,"name":"uint256","nodeType":"ElementaryTypeName","src":"3758:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3722:56:5"},"returnParameters":{"id":1315,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1314,"mutability":"mutable","name":"_aggregateData","nameLocation":"3823:14:5","nodeType":"VariableDeclaration","scope":1323,"src":"3802:35:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_AggregateData_$1205_memory_ptr","typeString":"struct TellorLab.AggregateData"},"typeName":{"id":1313,"nodeType":"UserDefinedTypeName","pathNode":{"id":1312,"name":"AggregateData","nameLocations":["3802:13:5"],"nodeType":"IdentifierPath","referencedDeclaration":1205,"src":"3802:13:5"},"referencedDeclaration":1205,"src":"3802:13:5","typeDescriptions":{"typeIdentifier":"t_struct$_AggregateData_$1205_storage_ptr","typeString":"struct TellorLab.AggregateData"}},"visibility":"internal"}],"src":"3801:37:5"},"scope":1397,"src":"3694:191:5","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":1336,"nodeType":"Block","src":"4216:45:5","statements":[{"expression":{"expression":{"baseExpression":{"id":1331,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1194,"src":"4233:4:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_array$_t_struct$_AggregateData_$1205_storage_$dyn_storage_$","typeString":"mapping(bytes32 => struct TellorLab.AggregateData storage ref[] storage ref)"}},"id":1333,"indexExpression":{"id":1332,"name":"_queryId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1326,"src":"4238:8:5","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4233:14:5","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AggregateData_$1205_storage_$dyn_storage","typeString":"struct TellorLab.AggregateData storage ref[] storage ref"}},"id":1334,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4248:6:5","memberName":"length","nodeType":"MemberAccess","src":"4233:21:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":1330,"id":1335,"nodeType":"Return","src":"4226:28:5"}]},"documentation":{"id":1324,"nodeType":"StructuredDocumentation","src":"3891:224:5","text":" @dev returns the total number of oracle data values for a given query ID\n @param _queryId the unique identifier for the oracle data\n @return number the total number of oracle data values stored"},"functionSelector":"e3ac7e11","id":1337,"implemented":true,"kind":"function","modifiers":[],"name":"getAggregateValueCount","nameLocation":"4129:22:5","nodeType":"FunctionDefinition","parameters":{"id":1327,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1326,"mutability":"mutable","name":"_queryId","nameLocation":"4169:8:5","nodeType":"VariableDeclaration","scope":1337,"src":"4161:16:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1325,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4161:7:5","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4151:32:5"},"returnParameters":{"id":1330,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1329,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1337,"src":"4207:7:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1328,"name":"uint256","nodeType":"ElementaryTypeName","src":"4207:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4206:9:5"},"scope":1397,"src":"4120:141:5","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":1350,"nodeType":"Block","src":"4619:58:5","statements":[{"expression":{"arguments":[{"id":1347,"name":"_queryId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1340,"src":"4661:8:5","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":1346,"name":"_getCurrentAggregateData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1396,"src":"4636:24:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$returns$_t_struct$_AggregateData_$1205_memory_ptr_$","typeString":"function (bytes32) view returns (struct TellorLab.AggregateData memory)"}},"id":1348,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4636:34:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_AggregateData_$1205_memory_ptr","typeString":"struct TellorLab.AggregateData memory"}},"functionReturnParameters":1345,"id":1349,"nodeType":"Return","src":"4629:41:5"}]},"documentation":{"id":1338,"nodeType":"StructuredDocumentation","src":"4267:222:5","text":" @dev returns the last submitted oracle data for a given query ID\n @param _queryId the unique identifier for the oracle data\n @return _aggregateData the last submitted oracle data and metadata"},"functionSelector":"cb956711","id":1351,"implemented":true,"kind":"function","modifiers":[],"name":"getCurrentAggregateData","nameLocation":"4503:23:5","nodeType":"FunctionDefinition","parameters":{"id":1341,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1340,"mutability":"mutable","name":"_queryId","nameLocation":"4544:8:5","nodeType":"VariableDeclaration","scope":1351,"src":"4536:16:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1339,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4536:7:5","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4526:32:5"},"returnParameters":{"id":1345,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1344,"mutability":"mutable","name":"_aggregateData","nameLocation":"4603:14:5","nodeType":"VariableDeclaration","scope":1351,"src":"4582:35:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_AggregateData_$1205_memory_ptr","typeString":"struct TellorLab.AggregateData"},"typeName":{"id":1343,"nodeType":"UserDefinedTypeName","pathNode":{"id":1342,"name":"AggregateData","nameLocations":["4582:13:5"],"nodeType":"IdentifierPath","referencedDeclaration":1205,"src":"4582:13:5"},"referencedDeclaration":1205,"src":"4582:13:5","typeDescriptions":{"typeIdentifier":"t_struct$_AggregateData_$1205_storage_ptr","typeString":"struct TellorLab.AggregateData"}},"visibility":"internal"}],"src":"4581:37:5"},"scope":1397,"src":"4494:183:5","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":1395,"nodeType":"Block","src":"5073:217:5","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1365,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":1360,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1194,"src":"5087:4:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_array$_t_struct$_AggregateData_$1205_storage_$dyn_storage_$","typeString":"mapping(bytes32 => struct TellorLab.AggregateData storage ref[] storage ref)"}},"id":1362,"indexExpression":{"id":1361,"name":"_queryId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1354,"src":"5092:8:5","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5087:14:5","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AggregateData_$1205_storage_$dyn_storage","typeString":"struct TellorLab.AggregateData storage ref[] storage ref"}},"id":1363,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5102:6:5","memberName":"length","nodeType":"MemberAccess","src":"5087:21:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":1364,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5112:1:5","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5087:26:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1379,"nodeType":"IfStatement","src":"5083:102:5","trueBody":{"id":1378,"nodeType":"Block","src":"5115:70:5","statements":[{"expression":{"components":[{"arguments":[{"arguments":[{"hexValue":"","id":1369,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5157:2:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"id":1368,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5151:5:5","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":1367,"name":"bytes","nodeType":"ElementaryTypeName","src":"5151:5:5","typeDescriptions":{}}},"id":1370,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5151:9:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"30","id":1371,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5162:1:5","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":1372,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5165:1:5","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":1373,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5168:1:5","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":1374,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5171:1:5","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":1366,"name":"AggregateData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1205,"src":"5137:13:5","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_AggregateData_$1205_storage_ptr_$","typeString":"type(struct TellorLab.AggregateData storage pointer)"}},"id":1375,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5137:36:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_AggregateData_$1205_memory_ptr","typeString":"struct TellorLab.AggregateData memory"}}],"id":1376,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"5136:38:5","typeDescriptions":{"typeIdentifier":"t_struct$_AggregateData_$1205_memory_ptr","typeString":"struct TellorLab.AggregateData memory"}},"functionReturnParameters":1359,"id":1377,"nodeType":"Return","src":"5129:45:5"}]}},{"expression":{"id":1391,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1380,"name":"_aggregateData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1358,"src":"5194:14:5","typeDescriptions":{"typeIdentifier":"t_struct$_AggregateData_$1205_memory_ptr","typeString":"struct TellorLab.AggregateData memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"baseExpression":{"id":1381,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1194,"src":"5211:4:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_array$_t_struct$_AggregateData_$1205_storage_$dyn_storage_$","typeString":"mapping(bytes32 => struct TellorLab.AggregateData storage ref[] storage ref)"}},"id":1383,"indexExpression":{"id":1382,"name":"_queryId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1354,"src":"5216:8:5","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5211:14:5","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AggregateData_$1205_storage_$dyn_storage","typeString":"struct TellorLab.AggregateData storage ref[] storage ref"}},"id":1390,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1389,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":1384,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1194,"src":"5226:4:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_array$_t_struct$_AggregateData_$1205_storage_$dyn_storage_$","typeString":"mapping(bytes32 => struct TellorLab.AggregateData storage ref[] storage ref)"}},"id":1386,"indexExpression":{"id":1385,"name":"_queryId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1354,"src":"5231:8:5","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5226:14:5","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AggregateData_$1205_storage_$dyn_storage","typeString":"struct TellorLab.AggregateData storage ref[] storage ref"}},"id":1387,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5241:6:5","memberName":"length","nodeType":"MemberAccess","src":"5226:21:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":1388,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5250:1:5","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"5226:25:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5211:41:5","typeDescriptions":{"typeIdentifier":"t_struct$_AggregateData_$1205_storage","typeString":"struct TellorLab.AggregateData storage ref"}},"src":"5194:58:5","typeDescriptions":{"typeIdentifier":"t_struct$_AggregateData_$1205_memory_ptr","typeString":"struct TellorLab.AggregateData memory"}},"id":1392,"nodeType":"ExpressionStatement","src":"5194:58:5"},{"expression":{"id":1393,"name":"_aggregateData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1358,"src":"5269:14:5","typeDescriptions":{"typeIdentifier":"t_struct$_AggregateData_$1205_memory_ptr","typeString":"struct TellorLab.AggregateData memory"}},"functionReturnParameters":1359,"id":1394,"nodeType":"Return","src":"5262:21:5"}]},"documentation":{"id":1352,"nodeType":"StructuredDocumentation","src":"4709:233:5","text":" @dev internal function to get the last submitted oracle data for a query ID\n @param _queryId the unique identifier for the oracle data\n @return _aggregateData the last submitted oracle data and metadata"},"id":1396,"implemented":true,"kind":"function","modifiers":[],"name":"_getCurrentAggregateData","nameLocation":"4956:24:5","nodeType":"FunctionDefinition","parameters":{"id":1355,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1354,"mutability":"mutable","name":"_queryId","nameLocation":"4998:8:5","nodeType":"VariableDeclaration","scope":1396,"src":"4990:16:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1353,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4990:7:5","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4980:32:5"},"returnParameters":{"id":1359,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1358,"mutability":"mutable","name":"_aggregateData","nameLocation":"5057:14:5","nodeType":"VariableDeclaration","scope":1396,"src":"5036:35:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_AggregateData_$1205_memory_ptr","typeString":"struct TellorLab.AggregateData"},"typeName":{"id":1357,"nodeType":"UserDefinedTypeName","pathNode":{"id":1356,"name":"AggregateData","nameLocations":["5036:13:5"],"nodeType":"IdentifierPath","referencedDeclaration":1205,"src":"5036:13:5"},"referencedDeclaration":1205,"src":"5036:13:5","typeDescriptions":{"typeIdentifier":"t_struct$_AggregateData_$1205_storage_ptr","typeString":"struct TellorLab.AggregateData"}},"visibility":"internal"}],"src":"5035:37:5"},"scope":1397,"src":"4947:343:5","stateMutability":"view","virtual":false,"visibility":"internal"}],"scope":1398,"src":"645:4647:5","usedErrors":[]}],"src":"32:5261:5"},"id":5}},"contracts":{"contracts/bridge/ECDSA.sol":{"ECDSA":{"abi":[{"inputs":[],"name":"ECDSAInvalidSignature","type":"error"},{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"name":"ECDSAInvalidSignatureLength","type":"error"},{"inputs":[{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"ECDSAInvalidSignatureS","type":"error"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"6080604052348015600f57600080fd5b50603f80601d6000396000f3fe6080604052600080fdfea26469706673582212203dec2788d440925c985174c1404cfb0db8f55d003f4be6111c476eea2aa844cb64736f6c63430008130033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH1 0xF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x3F DUP1 PUSH1 0x1D PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 RETURNDATASIZE 0xEC 0x27 DUP9 0xD4 BLOCKHASH SWAP3 0x5C SWAP9 MLOAD PUSH21 0xC1404CFB0DB8F55D003F4BE6111C476EEA2AA844CB PUSH5 0x736F6C6343 STOP ADDMOD SGT STOP CALLER ","sourceMap":"342:8967:0:-:0;;;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"6080604052600080fdfea26469706673582212203dec2788d440925c985174c1404cfb0db8f55d003f4be6111c476eea2aa844cb64736f6c63430008130033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 RETURNDATASIZE 0xEC 0x27 DUP9 0xD4 BLOCKHASH SWAP3 0x5C SWAP9 MLOAD PUSH21 0xC1404CFB0DB8F55D003F4BE6111C476EEA2AA844CB PUSH5 0x736F6C6343 STOP ADDMOD SGT STOP CALLER ","sourceMap":"342:8967:0:-:0;;;;;"},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"ECDSAInvalidSignature\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"ECDSAInvalidSignatureLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"ECDSAInvalidSignatureS\",\"type\":\"error\"}],\"devdoc\":{\"details\":\"Elliptic Curve Digital Signature Algorithm (ECDSA) operations. These functions can be used to verify that a message was signed by the holder of the private keys of a given address.\",\"errors\":{\"ECDSAInvalidSignature()\":[{\"details\":\"The signature derives the `address(0)`.\"}],\"ECDSAInvalidSignatureLength(uint256)\":[{\"details\":\"The signature has an invalid length.\"}],\"ECDSAInvalidSignatureS(bytes32)\":[{\"details\":\"The signature has an S value that is in the upper half order.\"}]},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/bridge/ECDSA.sol\":\"ECDSA\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/bridge/ECDSA.sol\":{\"keccak256\":\"0xd3cf86f8b73deb230943786cb7c5036b2b602fc3f7dc43f6cd1c06511831b8eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3cc6bb20c5239f6073c18604af3fc04c764984615a37d74b9cb24896465cb3c3\",\"dweb:/ipfs/QmPEMsTWcdXp6uAiPHiQGTCPCUsv161UvYZFGECJudFFoA\"]}},\"version\":1}"}},"contracts/bridge/TellorDataBridge.sol":{"TellorDataBridge":{"abi":[{"inputs":[{"internalType":"address","name":"_guardian","type":"address"},{"internalType":"bytes32","name":"_validatorSetHashDomainSeparator","type":"bytes32"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"AlreadyInitialized","type":"error"},{"inputs":[],"name":"ECDSAInvalidSignature","type":"error"},{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"name":"ECDSAInvalidSignatureLength","type":"error"},{"inputs":[{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"ECDSAInvalidSignatureS","type":"error"},{"inputs":[],"name":"InsufficientVotingPower","type":"error"},{"inputs":[],"name":"InvalidPowerThreshold","type":"error"},{"inputs":[],"name":"InvalidSignature","type":"error"},{"inputs":[],"name":"MalformedCurrentValidatorSet","type":"error"},{"inputs":[],"name":"NotDeployer","type":"error"},{"inputs":[],"name":"NotGuardian","type":"error"},{"inputs":[],"name":"StaleValidatorSet","type":"error"},{"inputs":[],"name":"SuppliedValidatorSetInvalid","type":"error"},{"inputs":[],"name":"ValidatorSetNotStale","type":"error"},{"inputs":[],"name":"ValidatorTimestampMustIncrease","type":"error"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_powerThreshold","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_validatorTimestamp","type":"uint256"},{"indexed":false,"internalType":"bytes32","name":"_validatorSetHash","type":"bytes32"}],"name":"GuardianResetValidatorSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_powerThreshold","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_validatorTimestamp","type":"uint256"},{"indexed":false,"internalType":"bytes32","name":"_validatorSetHash","type":"bytes32"}],"name":"ValidatorSetUpdated","type":"event"},{"inputs":[],"name":"MS_PER_SECOND","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"NEW_REPORT_ATTESTATION_DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"VALIDATOR_SET_HASH_DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"deployer","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"guardian","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_powerThreshold","type":"uint256"},{"internalType":"uint256","name":"_validatorTimestamp","type":"uint256"},{"internalType":"bytes32","name":"_validatorSetCheckpoint","type":"bytes32"}],"name":"guardianResetValidatorSet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_powerThreshold","type":"uint256"},{"internalType":"uint256","name":"_validatorTimestamp","type":"uint256"},{"internalType":"uint256","name":"_unbondingPeriod","type":"uint256"},{"internalType":"bytes32","name":"_validatorSetCheckpoint","type":"bytes32"}],"name":"init","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"initialized","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lastValidatorSetCheckpoint","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"powerThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"unbondingPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_newValidatorSetHash","type":"bytes32"},{"internalType":"uint64","name":"_newPowerThreshold","type":"uint64"},{"internalType":"uint256","name":"_newValidatorTimestamp","type":"uint256"},{"components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"uint256","name":"power","type":"uint256"}],"internalType":"struct Validator[]","name":"_currentValidatorSet","type":"tuple[]"},{"components":[{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"internalType":"struct Signature[]","name":"_sigs","type":"tuple[]"}],"name":"updateValidatorSet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"validatorTimestamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"bytes32","name":"queryId","type":"bytes32"},{"components":[{"internalType":"bytes","name":"value","type":"bytes"},{"internalType":"uint256","name":"timestamp","type":"uint256"},{"internalType":"uint256","name":"aggregatePower","type":"uint256"},{"internalType":"uint256","name":"previousTimestamp","type":"uint256"},{"internalType":"uint256","name":"nextTimestamp","type":"uint256"},{"internalType":"uint256","name":"lastConsensusTimestamp","type":"uint256"}],"internalType":"struct ReportData","name":"report","type":"tuple"},{"internalType":"uint256","name":"attestationTimestamp","type":"uint256"}],"internalType":"struct OracleAttestationData","name":"_attestData","type":"tuple"},{"components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"uint256","name":"power","type":"uint256"}],"internalType":"struct Validator[]","name":"_currentValidatorSet","type":"tuple[]"},{"components":[{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"internalType":"struct Signature[]","name":"_sigs","type":"tuple[]"}],"name":"verifyOracleData","outputs":[],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{"@_486":{"entryPoint":null,"id":486,"parameterSlots":2,"returnSlots":0},"abi_decode_t_address_fromMemory":{"entryPoint":283,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_bytes32_fromMemory":{"entryPoint":342,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_addresst_bytes32_fromMemory":{"entryPoint":365,"id":null,"parameterSlots":2,"returnSlots":2},"allocate_unbounded":{"entryPoint":null,"id":null,"parameterSlots":0,"returnSlots":1},"cleanup_t_address":{"entryPoint":237,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_bytes32":{"entryPoint":306,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_uint160":{"entryPoint":205,"id":null,"parameterSlots":1,"returnSlots":1},"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db":{"entryPoint":null,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b":{"entryPoint":200,"id":null,"parameterSlots":0,"returnSlots":0},"validator_revert_t_address":{"entryPoint":257,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_t_bytes32":{"entryPoint":316,"id":null,"parameterSlots":1,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:1715:6","statements":[{"body":{"nodeType":"YulBlock","src":"47:35:6","statements":[{"nodeType":"YulAssignment","src":"57:19:6","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"73:2:6","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"67:5:6"},"nodeType":"YulFunctionCall","src":"67:9:6"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"57:6:6"}]}]},"name":"allocate_unbounded","nodeType":"YulFunctionDefinition","returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"40:6:6","type":""}],"src":"7:75:6"},{"body":{"nodeType":"YulBlock","src":"177:28:6","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"194:1:6","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"197:1:6","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"187:6:6"},"nodeType":"YulFunctionCall","src":"187:12:6"},"nodeType":"YulExpressionStatement","src":"187:12:6"}]},"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulFunctionDefinition","src":"88:117:6"},{"body":{"nodeType":"YulBlock","src":"300:28:6","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"317:1:6","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"320:1:6","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"310:6:6"},"nodeType":"YulFunctionCall","src":"310:12:6"},"nodeType":"YulExpressionStatement","src":"310:12:6"}]},"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulFunctionDefinition","src":"211:117:6"},{"body":{"nodeType":"YulBlock","src":"379:81:6","statements":[{"nodeType":"YulAssignment","src":"389:65:6","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"404:5:6"},{"kind":"number","nodeType":"YulLiteral","src":"411:42:6","type":"","value":"0xffffffffffffffffffffffffffffffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"400:3:6"},"nodeType":"YulFunctionCall","src":"400:54:6"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"389:7:6"}]}]},"name":"cleanup_t_uint160","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"361:5:6","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"371:7:6","type":""}],"src":"334:126:6"},{"body":{"nodeType":"YulBlock","src":"511:51:6","statements":[{"nodeType":"YulAssignment","src":"521:35:6","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"550:5:6"}],"functionName":{"name":"cleanup_t_uint160","nodeType":"YulIdentifier","src":"532:17:6"},"nodeType":"YulFunctionCall","src":"532:24:6"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"521:7:6"}]}]},"name":"cleanup_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"493:5:6","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"503:7:6","type":""}],"src":"466:96:6"},{"body":{"nodeType":"YulBlock","src":"611:79:6","statements":[{"body":{"nodeType":"YulBlock","src":"668:16:6","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"677:1:6","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"680:1:6","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"670:6:6"},"nodeType":"YulFunctionCall","src":"670:12:6"},"nodeType":"YulExpressionStatement","src":"670:12:6"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"634:5:6"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"659:5:6"}],"functionName":{"name":"cleanup_t_address","nodeType":"YulIdentifier","src":"641:17:6"},"nodeType":"YulFunctionCall","src":"641:24:6"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"631:2:6"},"nodeType":"YulFunctionCall","src":"631:35:6"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"624:6:6"},"nodeType":"YulFunctionCall","src":"624:43:6"},"nodeType":"YulIf","src":"621:63:6"}]},"name":"validator_revert_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"604:5:6","type":""}],"src":"568:122:6"},{"body":{"nodeType":"YulBlock","src":"759:80:6","statements":[{"nodeType":"YulAssignment","src":"769:22:6","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"784:6:6"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"778:5:6"},"nodeType":"YulFunctionCall","src":"778:13:6"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"769:5:6"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"827:5:6"}],"functionName":{"name":"validator_revert_t_address","nodeType":"YulIdentifier","src":"800:26:6"},"nodeType":"YulFunctionCall","src":"800:33:6"},"nodeType":"YulExpressionStatement","src":"800:33:6"}]},"name":"abi_decode_t_address_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"737:6:6","type":""},{"name":"end","nodeType":"YulTypedName","src":"745:3:6","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"753:5:6","type":""}],"src":"696:143:6"},{"body":{"nodeType":"YulBlock","src":"890:32:6","statements":[{"nodeType":"YulAssignment","src":"900:16:6","value":{"name":"value","nodeType":"YulIdentifier","src":"911:5:6"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"900:7:6"}]}]},"name":"cleanup_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"872:5:6","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"882:7:6","type":""}],"src":"845:77:6"},{"body":{"nodeType":"YulBlock","src":"971:79:6","statements":[{"body":{"nodeType":"YulBlock","src":"1028:16:6","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1037:1:6","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1040:1:6","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1030:6:6"},"nodeType":"YulFunctionCall","src":"1030:12:6"},"nodeType":"YulExpressionStatement","src":"1030:12:6"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"994:5:6"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1019:5:6"}],"functionName":{"name":"cleanup_t_bytes32","nodeType":"YulIdentifier","src":"1001:17:6"},"nodeType":"YulFunctionCall","src":"1001:24:6"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"991:2:6"},"nodeType":"YulFunctionCall","src":"991:35:6"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"984:6:6"},"nodeType":"YulFunctionCall","src":"984:43:6"},"nodeType":"YulIf","src":"981:63:6"}]},"name":"validator_revert_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"964:5:6","type":""}],"src":"928:122:6"},{"body":{"nodeType":"YulBlock","src":"1119:80:6","statements":[{"nodeType":"YulAssignment","src":"1129:22:6","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1144:6:6"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1138:5:6"},"nodeType":"YulFunctionCall","src":"1138:13:6"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"1129:5:6"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1187:5:6"}],"functionName":{"name":"validator_revert_t_bytes32","nodeType":"YulIdentifier","src":"1160:26:6"},"nodeType":"YulFunctionCall","src":"1160:33:6"},"nodeType":"YulExpressionStatement","src":"1160:33:6"}]},"name":"abi_decode_t_bytes32_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"1097:6:6","type":""},{"name":"end","nodeType":"YulTypedName","src":"1105:3:6","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"1113:5:6","type":""}],"src":"1056:143:6"},{"body":{"nodeType":"YulBlock","src":"1299:413:6","statements":[{"body":{"nodeType":"YulBlock","src":"1345:83:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"1347:77:6"},"nodeType":"YulFunctionCall","src":"1347:79:6"},"nodeType":"YulExpressionStatement","src":"1347:79:6"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1320:7:6"},{"name":"headStart","nodeType":"YulIdentifier","src":"1329:9:6"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1316:3:6"},"nodeType":"YulFunctionCall","src":"1316:23:6"},{"kind":"number","nodeType":"YulLiteral","src":"1341:2:6","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1312:3:6"},"nodeType":"YulFunctionCall","src":"1312:32:6"},"nodeType":"YulIf","src":"1309:119:6"},{"nodeType":"YulBlock","src":"1438:128:6","statements":[{"nodeType":"YulVariableDeclaration","src":"1453:15:6","value":{"kind":"number","nodeType":"YulLiteral","src":"1467:1:6","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"1457:6:6","type":""}]},{"nodeType":"YulAssignment","src":"1482:74:6","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1528:9:6"},{"name":"offset","nodeType":"YulIdentifier","src":"1539:6:6"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1524:3:6"},"nodeType":"YulFunctionCall","src":"1524:22:6"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1548:7:6"}],"functionName":{"name":"abi_decode_t_address_fromMemory","nodeType":"YulIdentifier","src":"1492:31:6"},"nodeType":"YulFunctionCall","src":"1492:64:6"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1482:6:6"}]}]},{"nodeType":"YulBlock","src":"1576:129:6","statements":[{"nodeType":"YulVariableDeclaration","src":"1591:16:6","value":{"kind":"number","nodeType":"YulLiteral","src":"1605:2:6","type":"","value":"32"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"1595:6:6","type":""}]},{"nodeType":"YulAssignment","src":"1621:74:6","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1667:9:6"},{"name":"offset","nodeType":"YulIdentifier","src":"1678:6:6"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1663:3:6"},"nodeType":"YulFunctionCall","src":"1663:22:6"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1687:7:6"}],"functionName":{"name":"abi_decode_t_bytes32_fromMemory","nodeType":"YulIdentifier","src":"1631:31:6"},"nodeType":"YulFunctionCall","src":"1631:64:6"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"1621:6:6"}]}]}]},"name":"abi_decode_tuple_t_addresst_bytes32_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1261:9:6","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1272:7:6","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1284:6:6","type":""},{"name":"value1","nodeType":"YulTypedName","src":"1292:6:6","type":""}],"src":"1205:507:6"}]},"contents":"{\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_address_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_address(value)\n }\n\n function cleanup_t_bytes32(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_bytes32(value) {\n if iszero(eq(value, cleanup_t_bytes32(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_bytes32_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_bytes32(value)\n }\n\n function abi_decode_tuple_t_addresst_bytes32_fromMemory(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_bytes32_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n}\n","id":6,"language":"Yul","name":"#utility.yul"}],"linkReferences":{},"object":"60a06040523480156200001157600080fd5b5060405162001c0138038062001c0183398181016040528101906200003791906200016d565b816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555033600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080608081815250505050620001b4565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620000fa82620000cd565b9050919050565b6200010c81620000ed565b81146200011857600080fd5b50565b6000815190506200012c8162000101565b92915050565b6000819050919050565b620001478162000132565b81146200015357600080fd5b50565b60008151905062000167816200013c565b92915050565b60008060408385031215620001875762000186620000c8565b5b600062000197858286016200011b565b9250506020620001aa8582860162000156565b9150509250929050565b608051611a2a620001d7600039600081816108bf015261093e0152611a2a6000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c80636cf6d6751161008c578063af082a7d11610066578063af082a7d14610213578063ba95ec2714610231578063bd7c31531461024f578063d5f394881461026d576100ea565b80636cf6d675146101bb57806384330d4c146101d95780639e45a913146101f5576100ea565b80634394f6f3116100c85780634394f6f314610147578063452a9320146101635780634f76f1ee146101815780635e0d3b0f1461019f576100ea565b8063158ef93e146100ef578063185bf52b1461010d5780631a8bcd3414610129575b600080fd5b6100f761028b565b6040516101049190610dd5565b60405180910390f35b61012760048036038101906101229190610e66565b61029e565b005b610131610409565b60405161013e9190610ec8565b60405180910390f35b610161600480360381019061015c9190610ee3565b61040f565b005b61016b61051a565b6040516101789190610f8b565b60405180910390f35b61018961053e565b6040516101969190610ec8565b60405180910390f35b6101b960048036038101906101b49190611085565b610544565b005b6101c36106f4565b6040516101d09190610ec8565b60405180910390f35b6101f360048036038101906101ee9190611176565b6106fa565b005b6101fd6108bd565b60405161020a9190611241565b60405180910390f35b61021b6108e1565b6040516102289190611241565b60405180910390f35b6102396108e7565b6040516102469190610ec8565b60405180910390f35b6102576108ed565b6040516102649190611241565b60405180910390f35b610275610914565b6040516102829190610f8b565b60405180910390f35b600560149054906101000a900460ff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610323576040517fef6d0f0200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6003546103e860045461033691906112ba565b4261034191906112eb565b1015610379576040517f1c36ced200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60045482116103b4576040517f780635d000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8260028190555081600481905550806001819055507fd7067f3840022e90166b8566f9982288b89ec7479b8eb30fad06290f18c8cb098383836040516103fc9392919061131f565b60405180910390a1505050565b6103e881565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610496576040517f8b906c9700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600560149054906101000a900460ff16156104dd576040517f0dc149f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600560146101000a81548160ff0219169083151502179055508360028190555082600481905550816003819055508060018190555050505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60045481565b818190508484905014610583576040517fc6617b7b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001546105bd60025460045487876040516020016105a29291906114b5565b6040516020818303038152906040528051906020012061093a565b146105f4576040517f177b5d9200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60007f74656c6c6f7243757272656e744174746573746174696f6e000000000000000060001b866000013587806020019061062f91906114e8565b806000019061063e9190611510565b89806020019061064e91906114e8565b602001358a806020019061066291906114e8565b604001358b806020019061067691906114e8565b606001358c806020019061068a91906114e8565b608001356001548e604001358f80602001906106a691906114e8565b60a001356040516020016106c49b9a999897969594939291906115d1565b6040516020818303038152906040528051906020012090506106ec8585858585600254610992565b505050505050565b60035481565b818190508484905014610739576040517fc6617b7b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600454851015610775576040517f780635d000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008667ffffffffffffffff16036107b9576040517fc3b70c8800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084846040516020016107ce9291906114b5565b6040516020818303038152906040528051906020012090506001546107f86002546004548461093a565b1461082f576040517f177b5d9200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006108468867ffffffffffffffff16888b61093a565b90506108588686868685600254610992565b806001819055508767ffffffffffffffff16600281905550866004819055507fe304b71f81a1aaf6d714401de28ba1ebdbb5ff9c5fee59ef2a6eb984f9e8da7e88888b6040516108aa939291906116b1565b60405180910390a1505050505050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60015481565b60025481565b7f74656c6c6f7243757272656e744174746573746174696f6e000000000000000060001b81565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60007f000000000000000000000000000000000000000000000000000000000000000084848460405160200161097394939291906116e8565b6040516020818303038152906040528051906020012090509392505050565b6003546103e86004546109a591906112ba565b426109b091906112eb565b11156109e8576040517fe5e5e46400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000805b87879050811015610b49576000801b868683818110610a0e57610a0d61172d565b5b90506060020160200135148015610a4357506000801b868683818110610a3757610a3661172d565b5b90506060020160400135145b8015610a7c57506000868683818110610a5f57610a5e61172d565b5b9050606002016000016020810190610a779190611795565b60ff16145b610b3657610acd888883818110610a9657610a9561172d565b5b9050604002016000016020810190610aae91906117c2565b85888885818110610ac257610ac161172d565b5b905060600201610b8d565b610b03576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b878782818110610b1657610b1561172d565b5b9050604002016020013582610b2b91906117ef565b915082821015610b49575b8080610b4190611823565b9150506109ec565b5081811015610b84576040517fcabeb65500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50505050505050565b6000600283604051602001610ba2919061188c565b604051602081830303815290604052604051610bbe9190611918565b602060405180830381855afa158015610bdb573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610bfe9190611944565b9250600080610c2985856000016020810190610c1a9190611795565b86602001358760400135610cc6565b509150915060006003811115610c4257610c41611971565b5b816003811115610c5557610c54611971565b5b14610c8c576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614925050509392505050565b60008060007f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08460001c1115610d06576000600385925092509250610db0565b600060018888888860405160008152602001604052604051610d2b94939291906119af565b6020604051602081039080840390855afa158015610d4d573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610da157600060016000801b93509350935050610db0565b8060008060001b935093509350505b9450945094915050565b60008115159050919050565b610dcf81610dba565b82525050565b6000602082019050610dea6000830184610dc6565b92915050565b600080fd5b600080fd5b6000819050919050565b610e0d81610dfa565b8114610e1857600080fd5b50565b600081359050610e2a81610e04565b92915050565b6000819050919050565b610e4381610e30565b8114610e4e57600080fd5b50565b600081359050610e6081610e3a565b92915050565b600080600060608486031215610e7f57610e7e610df0565b5b6000610e8d86828701610e1b565b9350506020610e9e86828701610e1b565b9250506040610eaf86828701610e51565b9150509250925092565b610ec281610dfa565b82525050565b6000602082019050610edd6000830184610eb9565b92915050565b60008060008060808587031215610efd57610efc610df0565b5b6000610f0b87828801610e1b565b9450506020610f1c87828801610e1b565b9350506040610f2d87828801610e1b565b9250506060610f3e87828801610e51565b91505092959194509250565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610f7582610f4a565b9050919050565b610f8581610f6a565b82525050565b6000602082019050610fa06000830184610f7c565b92915050565b600080fd5b600060608284031215610fc157610fc0610fa6565b5b81905092915050565b600080fd5b600080fd5b600080fd5b60008083601f840112610fef57610fee610fca565b5b8235905067ffffffffffffffff81111561100c5761100b610fcf565b5b60208301915083604082028301111561102857611027610fd4565b5b9250929050565b60008083601f84011261104557611044610fca565b5b8235905067ffffffffffffffff81111561106257611061610fcf565b5b60208301915083606082028301111561107e5761107d610fd4565b5b9250929050565b6000806000806000606086880312156110a1576110a0610df0565b5b600086013567ffffffffffffffff8111156110bf576110be610df5565b5b6110cb88828901610fab565b955050602086013567ffffffffffffffff8111156110ec576110eb610df5565b5b6110f888828901610fd9565b9450945050604086013567ffffffffffffffff81111561111b5761111a610df5565b5b6111278882890161102f565b92509250509295509295909350565b600067ffffffffffffffff82169050919050565b61115381611136565b811461115e57600080fd5b50565b6000813590506111708161114a565b92915050565b600080600080600080600060a0888a03121561119557611194610df0565b5b60006111a38a828b01610e51565b97505060206111b48a828b01611161565b96505060406111c58a828b01610e1b565b955050606088013567ffffffffffffffff8111156111e6576111e5610df5565b5b6111f28a828b01610fd9565b9450945050608088013567ffffffffffffffff81111561121557611214610df5565b5b6112218a828b0161102f565b925092505092959891949750929550565b61123b81610e30565b82525050565b60006020820190506112566000830184611232565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006112c582610dfa565b91506112d083610dfa565b9250826112e0576112df61125c565b5b828204905092915050565b60006112f682610dfa565b915061130183610dfa565b92508282039050818111156113195761131861128b565b5b92915050565b60006060820190506113346000830186610eb9565b6113416020830185610eb9565b61134e6040830184611232565b949350505050565b600082825260208201905092915050565b6000819050919050565b61137a81610f6a565b811461138557600080fd5b50565b60008135905061139781611371565b92915050565b60006113ac6020840184611388565b905092915050565b6113bd81610f6a565b82525050565b60006113d26020840184610e1b565b905092915050565b6113e381610dfa565b82525050565b604082016113fa600083018361139d565b61140760008501826113b4565b5061141560208301836113c3565b61142260208501826113da565b50505050565b600061143483836113e9565b60408301905092915050565b600082905092915050565b6000604082019050919050565b60006114648385611356565b935061146f82611367565b8060005b858110156114a8576114858284611440565b61148f8882611428565b975061149a8361144b565b925050600181019050611473565b5085925050509392505050565b600060208201905081810360008301526114d0818486611458565b90509392505050565b600080fd5b600080fd5b600080fd5b60008235600160c003833603038112611504576115036114d9565b5b80830191505092915050565b6000808335600160200384360303811261152d5761152c6114d9565b5b80840192508235915067ffffffffffffffff82111561154f5761154e6114de565b5b60208301925060018202360383131561156b5761156a6114e3565b5b509250929050565b600082825260208201905092915050565b82818337600083830152505050565b6000601f19601f8301169050919050565b60006115b08385611573565b93506115bd838584611584565b6115c683611593565b840190509392505050565b6000610140820190506115e7600083018e611232565b6115f4602083018d611232565b8181036040830152611607818b8d6115a4565b9050611616606083018a610eb9565b6116236080830189610eb9565b61163060a0830188610eb9565b61163d60c0830187610eb9565b61164a60e0830186611232565b611658610100830185610eb9565b611666610120830184610eb9565b9c9b505050505050505050505050565b6000819050919050565b600061169b61169661169184611136565b611676565b610dfa565b9050919050565b6116ab81611680565b82525050565b60006060820190506116c660008301866116a2565b6116d36020830185610eb9565b6116e06040830184611232565b949350505050565b60006080820190506116fd6000830187611232565b61170a6020830186610eb9565b6117176040830185610eb9565b6117246060830184611232565b95945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600060ff82169050919050565b6117728161175c565b811461177d57600080fd5b50565b60008135905061178f81611769565b92915050565b6000602082840312156117ab576117aa610df0565b5b60006117b984828501611780565b91505092915050565b6000602082840312156117d8576117d7610df0565b5b60006117e684828501611388565b91505092915050565b60006117fa82610dfa565b915061180583610dfa565b925082820190508082111561181d5761181c61128b565b5b92915050565b600061182e82610dfa565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036118605761185f61128b565b5b600182019050919050565b6000819050919050565b61188661188182610e30565b61186b565b82525050565b60006118988284611875565b60208201915081905092915050565b600081519050919050565b600081905092915050565b60005b838110156118db5780820151818401526020810190506118c0565b60008484015250505050565b60006118f2826118a7565b6118fc81856118b2565b935061190c8185602086016118bd565b80840191505092915050565b600061192482846118e7565b915081905092915050565b60008151905061193e81610e3a565b92915050565b60006020828403121561195a57611959610df0565b5b60006119688482850161192f565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6119a98161175c565b82525050565b60006080820190506119c46000830187611232565b6119d160208301866119a0565b6119de6040830185611232565b6119eb6060830184611232565b9594505050505056fea26469706673582212208a4e27db43c974b180ddea3c0f3e4138731ac4b9bd11334386ecbaa94043947564736f6c63430008130033","opcodes":"PUSH1 0xA0 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH3 0x1C01 CODESIZE SUB DUP1 PUSH3 0x1C01 DUP4 CODECOPY DUP2 DUP2 ADD PUSH1 0x40 MSTORE DUP2 ADD SWAP1 PUSH3 0x37 SWAP2 SWAP1 PUSH3 0x16D JUMP JUMPDEST DUP2 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP CALLER PUSH1 0x5 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP1 PUSH1 0x80 DUP2 DUP2 MSTORE POP POP POP POP PUSH3 0x1B4 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0xFA DUP3 PUSH3 0xCD JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x10C DUP2 PUSH3 0xED JUMP JUMPDEST DUP2 EQ PUSH3 0x118 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH3 0x12C DUP2 PUSH3 0x101 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x147 DUP2 PUSH3 0x132 JUMP JUMPDEST DUP2 EQ PUSH3 0x153 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH3 0x167 DUP2 PUSH3 0x13C JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH3 0x187 JUMPI PUSH3 0x186 PUSH3 0xC8 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH3 0x197 DUP6 DUP3 DUP7 ADD PUSH3 0x11B JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH3 0x1AA DUP6 DUP3 DUP7 ADD PUSH3 0x156 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x80 MLOAD PUSH2 0x1A2A PUSH3 0x1D7 PUSH1 0x0 CODECOPY PUSH1 0x0 DUP2 DUP2 PUSH2 0x8BF ADD MSTORE PUSH2 0x93E ADD MSTORE PUSH2 0x1A2A PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0xEA JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x6CF6D675 GT PUSH2 0x8C JUMPI DUP1 PUSH4 0xAF082A7D GT PUSH2 0x66 JUMPI DUP1 PUSH4 0xAF082A7D EQ PUSH2 0x213 JUMPI DUP1 PUSH4 0xBA95EC27 EQ PUSH2 0x231 JUMPI DUP1 PUSH4 0xBD7C3153 EQ PUSH2 0x24F JUMPI DUP1 PUSH4 0xD5F39488 EQ PUSH2 0x26D JUMPI PUSH2 0xEA JUMP JUMPDEST DUP1 PUSH4 0x6CF6D675 EQ PUSH2 0x1BB JUMPI DUP1 PUSH4 0x84330D4C EQ PUSH2 0x1D9 JUMPI DUP1 PUSH4 0x9E45A913 EQ PUSH2 0x1F5 JUMPI PUSH2 0xEA JUMP JUMPDEST DUP1 PUSH4 0x4394F6F3 GT PUSH2 0xC8 JUMPI DUP1 PUSH4 0x4394F6F3 EQ PUSH2 0x147 JUMPI DUP1 PUSH4 0x452A9320 EQ PUSH2 0x163 JUMPI DUP1 PUSH4 0x4F76F1EE EQ PUSH2 0x181 JUMPI DUP1 PUSH4 0x5E0D3B0F EQ PUSH2 0x19F JUMPI PUSH2 0xEA JUMP JUMPDEST DUP1 PUSH4 0x158EF93E EQ PUSH2 0xEF JUMPI DUP1 PUSH4 0x185BF52B EQ PUSH2 0x10D JUMPI DUP1 PUSH4 0x1A8BCD34 EQ PUSH2 0x129 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xF7 PUSH2 0x28B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x104 SWAP2 SWAP1 PUSH2 0xDD5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x127 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x122 SWAP2 SWAP1 PUSH2 0xE66 JUMP JUMPDEST PUSH2 0x29E JUMP JUMPDEST STOP JUMPDEST PUSH2 0x131 PUSH2 0x409 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x13E SWAP2 SWAP1 PUSH2 0xEC8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x161 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x15C SWAP2 SWAP1 PUSH2 0xEE3 JUMP JUMPDEST PUSH2 0x40F JUMP JUMPDEST STOP JUMPDEST PUSH2 0x16B PUSH2 0x51A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x178 SWAP2 SWAP1 PUSH2 0xF8B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x189 PUSH2 0x53E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x196 SWAP2 SWAP1 PUSH2 0xEC8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1B9 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1B4 SWAP2 SWAP1 PUSH2 0x1085 JUMP JUMPDEST PUSH2 0x544 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1C3 PUSH2 0x6F4 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1D0 SWAP2 SWAP1 PUSH2 0xEC8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1F3 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1EE SWAP2 SWAP1 PUSH2 0x1176 JUMP JUMPDEST PUSH2 0x6FA JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1FD PUSH2 0x8BD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x20A SWAP2 SWAP1 PUSH2 0x1241 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x21B PUSH2 0x8E1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x228 SWAP2 SWAP1 PUSH2 0x1241 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x239 PUSH2 0x8E7 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x246 SWAP2 SWAP1 PUSH2 0xEC8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x257 PUSH2 0x8ED JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x264 SWAP2 SWAP1 PUSH2 0x1241 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x275 PUSH2 0x914 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x282 SWAP2 SWAP1 PUSH2 0xF8B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x5 PUSH1 0x14 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x323 JUMPI PUSH1 0x40 MLOAD PUSH32 0xEF6D0F0200000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x3 SLOAD PUSH2 0x3E8 PUSH1 0x4 SLOAD PUSH2 0x336 SWAP2 SWAP1 PUSH2 0x12BA JUMP JUMPDEST TIMESTAMP PUSH2 0x341 SWAP2 SWAP1 PUSH2 0x12EB JUMP JUMPDEST LT ISZERO PUSH2 0x379 JUMPI PUSH1 0x40 MLOAD PUSH32 0x1C36CED200000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x4 SLOAD DUP3 GT PUSH2 0x3B4 JUMPI PUSH1 0x40 MLOAD PUSH32 0x780635D000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP3 PUSH1 0x2 DUP2 SWAP1 SSTORE POP DUP2 PUSH1 0x4 DUP2 SWAP1 SSTORE POP DUP1 PUSH1 0x1 DUP2 SWAP1 SSTORE POP PUSH32 0xD7067F3840022E90166B8566F9982288B89EC7479B8EB30FAD06290F18C8CB09 DUP4 DUP4 DUP4 PUSH1 0x40 MLOAD PUSH2 0x3FC SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x131F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP JUMP JUMPDEST PUSH2 0x3E8 DUP2 JUMP JUMPDEST PUSH1 0x5 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x496 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8B906C9700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x5 PUSH1 0x14 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x4DD JUMPI PUSH1 0x40 MLOAD PUSH32 0xDC149F000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x5 PUSH1 0x14 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP DUP4 PUSH1 0x2 DUP2 SWAP1 SSTORE POP DUP3 PUSH1 0x4 DUP2 SWAP1 SSTORE POP DUP2 PUSH1 0x3 DUP2 SWAP1 SSTORE POP DUP1 PUSH1 0x1 DUP2 SWAP1 SSTORE POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x4 SLOAD DUP2 JUMP JUMPDEST DUP2 DUP2 SWAP1 POP DUP5 DUP5 SWAP1 POP EQ PUSH2 0x583 JUMPI PUSH1 0x40 MLOAD PUSH32 0xC6617B7B00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 SLOAD PUSH2 0x5BD PUSH1 0x2 SLOAD PUSH1 0x4 SLOAD DUP8 DUP8 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x5A2 SWAP3 SWAP2 SWAP1 PUSH2 0x14B5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 PUSH2 0x93A JUMP JUMPDEST EQ PUSH2 0x5F4 JUMPI PUSH1 0x40 MLOAD PUSH32 0x177B5D9200000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH32 0x74656C6C6F7243757272656E744174746573746174696F6E0000000000000000 PUSH1 0x0 SHL DUP7 PUSH1 0x0 ADD CALLDATALOAD DUP8 DUP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x62F SWAP2 SWAP1 PUSH2 0x14E8 JUMP JUMPDEST DUP1 PUSH1 0x0 ADD SWAP1 PUSH2 0x63E SWAP2 SWAP1 PUSH2 0x1510 JUMP JUMPDEST DUP10 DUP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x64E SWAP2 SWAP1 PUSH2 0x14E8 JUMP JUMPDEST PUSH1 0x20 ADD CALLDATALOAD DUP11 DUP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x662 SWAP2 SWAP1 PUSH2 0x14E8 JUMP JUMPDEST PUSH1 0x40 ADD CALLDATALOAD DUP12 DUP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x676 SWAP2 SWAP1 PUSH2 0x14E8 JUMP JUMPDEST PUSH1 0x60 ADD CALLDATALOAD DUP13 DUP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x68A SWAP2 SWAP1 PUSH2 0x14E8 JUMP JUMPDEST PUSH1 0x80 ADD CALLDATALOAD PUSH1 0x1 SLOAD DUP15 PUSH1 0x40 ADD CALLDATALOAD DUP16 DUP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x6A6 SWAP2 SWAP1 PUSH2 0x14E8 JUMP JUMPDEST PUSH1 0xA0 ADD CALLDATALOAD PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x6C4 SWAP12 SWAP11 SWAP10 SWAP9 SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x15D1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 SWAP1 POP PUSH2 0x6EC DUP6 DUP6 DUP6 DUP6 DUP6 PUSH1 0x2 SLOAD PUSH2 0x992 JUMP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x3 SLOAD DUP2 JUMP JUMPDEST DUP2 DUP2 SWAP1 POP DUP5 DUP5 SWAP1 POP EQ PUSH2 0x739 JUMPI PUSH1 0x40 MLOAD PUSH32 0xC6617B7B00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x4 SLOAD DUP6 LT ISZERO PUSH2 0x775 JUMPI PUSH1 0x40 MLOAD PUSH32 0x780635D000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP7 PUSH8 0xFFFFFFFFFFFFFFFF AND SUB PUSH2 0x7B9 JUMPI PUSH1 0x40 MLOAD PUSH32 0xC3B70C8800000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP5 DUP5 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x7CE SWAP3 SWAP2 SWAP1 PUSH2 0x14B5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 SWAP1 POP PUSH1 0x1 SLOAD PUSH2 0x7F8 PUSH1 0x2 SLOAD PUSH1 0x4 SLOAD DUP5 PUSH2 0x93A JUMP JUMPDEST EQ PUSH2 0x82F JUMPI PUSH1 0x40 MLOAD PUSH32 0x177B5D9200000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x846 DUP9 PUSH8 0xFFFFFFFFFFFFFFFF AND DUP9 DUP12 PUSH2 0x93A JUMP JUMPDEST SWAP1 POP PUSH2 0x858 DUP7 DUP7 DUP7 DUP7 DUP6 PUSH1 0x2 SLOAD PUSH2 0x992 JUMP JUMPDEST DUP1 PUSH1 0x1 DUP2 SWAP1 SSTORE POP DUP8 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH1 0x2 DUP2 SWAP1 SSTORE POP DUP7 PUSH1 0x4 DUP2 SWAP1 SSTORE POP PUSH32 0xE304B71F81A1AAF6D714401DE28BA1EBDBB5FF9C5FEE59EF2A6EB984F9E8DA7E DUP9 DUP9 DUP12 PUSH1 0x40 MLOAD PUSH2 0x8AA SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x16B1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH32 0x0 DUP2 JUMP JUMPDEST PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x2 SLOAD DUP2 JUMP JUMPDEST PUSH32 0x74656C6C6F7243757272656E744174746573746174696F6E0000000000000000 PUSH1 0x0 SHL DUP2 JUMP JUMPDEST PUSH1 0x5 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH32 0x0 DUP5 DUP5 DUP5 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x973 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x16E8 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x3 SLOAD PUSH2 0x3E8 PUSH1 0x4 SLOAD PUSH2 0x9A5 SWAP2 SWAP1 PUSH2 0x12BA JUMP JUMPDEST TIMESTAMP PUSH2 0x9B0 SWAP2 SWAP1 PUSH2 0x12EB JUMP JUMPDEST GT ISZERO PUSH2 0x9E8 JUMPI PUSH1 0x40 MLOAD PUSH32 0xE5E5E46400000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 JUMPDEST DUP8 DUP8 SWAP1 POP DUP2 LT ISZERO PUSH2 0xB49 JUMPI PUSH1 0x0 DUP1 SHL DUP7 DUP7 DUP4 DUP2 DUP2 LT PUSH2 0xA0E JUMPI PUSH2 0xA0D PUSH2 0x172D JUMP JUMPDEST JUMPDEST SWAP1 POP PUSH1 0x60 MUL ADD PUSH1 0x20 ADD CALLDATALOAD EQ DUP1 ISZERO PUSH2 0xA43 JUMPI POP PUSH1 0x0 DUP1 SHL DUP7 DUP7 DUP4 DUP2 DUP2 LT PUSH2 0xA37 JUMPI PUSH2 0xA36 PUSH2 0x172D JUMP JUMPDEST JUMPDEST SWAP1 POP PUSH1 0x60 MUL ADD PUSH1 0x40 ADD CALLDATALOAD EQ JUMPDEST DUP1 ISZERO PUSH2 0xA7C JUMPI POP PUSH1 0x0 DUP7 DUP7 DUP4 DUP2 DUP2 LT PUSH2 0xA5F JUMPI PUSH2 0xA5E PUSH2 0x172D JUMP JUMPDEST JUMPDEST SWAP1 POP PUSH1 0x60 MUL ADD PUSH1 0x0 ADD PUSH1 0x20 DUP2 ADD SWAP1 PUSH2 0xA77 SWAP2 SWAP1 PUSH2 0x1795 JUMP JUMPDEST PUSH1 0xFF AND EQ JUMPDEST PUSH2 0xB36 JUMPI PUSH2 0xACD DUP9 DUP9 DUP4 DUP2 DUP2 LT PUSH2 0xA96 JUMPI PUSH2 0xA95 PUSH2 0x172D JUMP JUMPDEST JUMPDEST SWAP1 POP PUSH1 0x40 MUL ADD PUSH1 0x0 ADD PUSH1 0x20 DUP2 ADD SWAP1 PUSH2 0xAAE SWAP2 SWAP1 PUSH2 0x17C2 JUMP JUMPDEST DUP6 DUP9 DUP9 DUP6 DUP2 DUP2 LT PUSH2 0xAC2 JUMPI PUSH2 0xAC1 PUSH2 0x172D JUMP JUMPDEST JUMPDEST SWAP1 POP PUSH1 0x60 MUL ADD PUSH2 0xB8D JUMP JUMPDEST PUSH2 0xB03 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8BAA579F00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP8 DUP8 DUP3 DUP2 DUP2 LT PUSH2 0xB16 JUMPI PUSH2 0xB15 PUSH2 0x172D JUMP JUMPDEST JUMPDEST SWAP1 POP PUSH1 0x40 MUL ADD PUSH1 0x20 ADD CALLDATALOAD DUP3 PUSH2 0xB2B SWAP2 SWAP1 PUSH2 0x17EF JUMP JUMPDEST SWAP2 POP DUP3 DUP3 LT ISZERO PUSH2 0xB49 JUMPI JUMPDEST DUP1 DUP1 PUSH2 0xB41 SWAP1 PUSH2 0x1823 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x9EC JUMP JUMPDEST POP DUP2 DUP2 LT ISZERO PUSH2 0xB84 JUMPI PUSH1 0x40 MLOAD PUSH32 0xCABEB65500000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP4 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xBA2 SWAP2 SWAP1 PUSH2 0x188C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE PUSH1 0x40 MLOAD PUSH2 0xBBE SWAP2 SWAP1 PUSH2 0x1918 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xBDB JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xBFE SWAP2 SWAP1 PUSH2 0x1944 JUMP JUMPDEST SWAP3 POP PUSH1 0x0 DUP1 PUSH2 0xC29 DUP6 DUP6 PUSH1 0x0 ADD PUSH1 0x20 DUP2 ADD SWAP1 PUSH2 0xC1A SWAP2 SWAP1 PUSH2 0x1795 JUMP JUMPDEST DUP7 PUSH1 0x20 ADD CALLDATALOAD DUP8 PUSH1 0x40 ADD CALLDATALOAD PUSH2 0xCC6 JUMP JUMPDEST POP SWAP2 POP SWAP2 POP PUSH1 0x0 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0xC42 JUMPI PUSH2 0xC41 PUSH2 0x1971 JUMP JUMPDEST JUMPDEST DUP2 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0xC55 JUMPI PUSH2 0xC54 PUSH2 0x1971 JUMP JUMPDEST JUMPDEST EQ PUSH2 0xC8C JUMPI PUSH1 0x40 MLOAD PUSH32 0x8BAA579F00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ SWAP3 POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH32 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D576E7357A4501DDFE92F46681B20A0 DUP5 PUSH1 0x0 SHR GT ISZERO PUSH2 0xD06 JUMPI PUSH1 0x0 PUSH1 0x3 DUP6 SWAP3 POP SWAP3 POP SWAP3 POP PUSH2 0xDB0 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP9 DUP9 DUP9 DUP9 PUSH1 0x40 MLOAD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MSTORE PUSH1 0x40 MLOAD PUSH2 0xD2B SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x19AF JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 SUB SWAP1 DUP1 DUP5 SUB SWAP1 DUP6 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xD4D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP PUSH1 0x20 PUSH1 0x40 MLOAD SUB MLOAD SWAP1 POP PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0xDA1 JUMPI PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 DUP1 SHL SWAP4 POP SWAP4 POP SWAP4 POP POP PUSH2 0xDB0 JUMP JUMPDEST DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 SHL SWAP4 POP SWAP4 POP SWAP4 POP POP JUMPDEST SWAP5 POP SWAP5 POP SWAP5 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xDCF DUP2 PUSH2 0xDBA JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xDEA PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xDC6 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xE0D DUP2 PUSH2 0xDFA JUMP JUMPDEST DUP2 EQ PUSH2 0xE18 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xE2A DUP2 PUSH2 0xE04 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xE43 DUP2 PUSH2 0xE30 JUMP JUMPDEST DUP2 EQ PUSH2 0xE4E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xE60 DUP2 PUSH2 0xE3A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0xE7F JUMPI PUSH2 0xE7E PUSH2 0xDF0 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xE8D DUP7 DUP3 DUP8 ADD PUSH2 0xE1B JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 PUSH2 0xE9E DUP7 DUP3 DUP8 ADD PUSH2 0xE1B JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 PUSH2 0xEAF DUP7 DUP3 DUP8 ADD PUSH2 0xE51 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH2 0xEC2 DUP2 PUSH2 0xDFA JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xEDD PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xEB9 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0xEFD JUMPI PUSH2 0xEFC PUSH2 0xDF0 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xF0B DUP8 DUP3 DUP9 ADD PUSH2 0xE1B JUMP JUMPDEST SWAP5 POP POP PUSH1 0x20 PUSH2 0xF1C DUP8 DUP3 DUP9 ADD PUSH2 0xE1B JUMP JUMPDEST SWAP4 POP POP PUSH1 0x40 PUSH2 0xF2D DUP8 DUP3 DUP9 ADD PUSH2 0xE1B JUMP JUMPDEST SWAP3 POP POP PUSH1 0x60 PUSH2 0xF3E DUP8 DUP3 DUP9 ADD PUSH2 0xE51 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xF75 DUP3 PUSH2 0xF4A JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xF85 DUP2 PUSH2 0xF6A JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xFA0 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xF7C JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xFC1 JUMPI PUSH2 0xFC0 PUSH2 0xFA6 JUMP JUMPDEST JUMPDEST DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0xFEF JUMPI PUSH2 0xFEE PUSH2 0xFCA JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x100C JUMPI PUSH2 0x100B PUSH2 0xFCF JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x40 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0x1028 JUMPI PUSH2 0x1027 PUSH2 0xFD4 JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0x1045 JUMPI PUSH2 0x1044 PUSH2 0xFCA JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1062 JUMPI PUSH2 0x1061 PUSH2 0xFCF JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x60 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0x107E JUMPI PUSH2 0x107D PUSH2 0xFD4 JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x10A1 JUMPI PUSH2 0x10A0 PUSH2 0xDF0 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x10BF JUMPI PUSH2 0x10BE PUSH2 0xDF5 JUMP JUMPDEST JUMPDEST PUSH2 0x10CB DUP9 DUP3 DUP10 ADD PUSH2 0xFAB JUMP JUMPDEST SWAP6 POP POP PUSH1 0x20 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x10EC JUMPI PUSH2 0x10EB PUSH2 0xDF5 JUMP JUMPDEST JUMPDEST PUSH2 0x10F8 DUP9 DUP3 DUP10 ADD PUSH2 0xFD9 JUMP JUMPDEST SWAP5 POP SWAP5 POP POP PUSH1 0x40 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x111B JUMPI PUSH2 0x111A PUSH2 0xDF5 JUMP JUMPDEST JUMPDEST PUSH2 0x1127 DUP9 DUP3 DUP10 ADD PUSH2 0x102F JUMP JUMPDEST SWAP3 POP SWAP3 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1153 DUP2 PUSH2 0x1136 JUMP JUMPDEST DUP2 EQ PUSH2 0x115E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1170 DUP2 PUSH2 0x114A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP9 DUP11 SUB SLT ISZERO PUSH2 0x1195 JUMPI PUSH2 0x1194 PUSH2 0xDF0 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x11A3 DUP11 DUP3 DUP12 ADD PUSH2 0xE51 JUMP JUMPDEST SWAP8 POP POP PUSH1 0x20 PUSH2 0x11B4 DUP11 DUP3 DUP12 ADD PUSH2 0x1161 JUMP JUMPDEST SWAP7 POP POP PUSH1 0x40 PUSH2 0x11C5 DUP11 DUP3 DUP12 ADD PUSH2 0xE1B JUMP JUMPDEST SWAP6 POP POP PUSH1 0x60 DUP9 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x11E6 JUMPI PUSH2 0x11E5 PUSH2 0xDF5 JUMP JUMPDEST JUMPDEST PUSH2 0x11F2 DUP11 DUP3 DUP12 ADD PUSH2 0xFD9 JUMP JUMPDEST SWAP5 POP SWAP5 POP POP PUSH1 0x80 DUP9 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1215 JUMPI PUSH2 0x1214 PUSH2 0xDF5 JUMP JUMPDEST JUMPDEST PUSH2 0x1221 DUP11 DUP3 DUP12 ADD PUSH2 0x102F JUMP JUMPDEST SWAP3 POP SWAP3 POP POP SWAP3 SWAP6 SWAP9 SWAP2 SWAP5 SWAP8 POP SWAP3 SWAP6 POP JUMP JUMPDEST PUSH2 0x123B DUP2 PUSH2 0xE30 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1256 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1232 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x12C5 DUP3 PUSH2 0xDFA JUMP JUMPDEST SWAP2 POP PUSH2 0x12D0 DUP4 PUSH2 0xDFA JUMP JUMPDEST SWAP3 POP DUP3 PUSH2 0x12E0 JUMPI PUSH2 0x12DF PUSH2 0x125C JUMP JUMPDEST JUMPDEST DUP3 DUP3 DIV SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x12F6 DUP3 PUSH2 0xDFA JUMP JUMPDEST SWAP2 POP PUSH2 0x1301 DUP4 PUSH2 0xDFA JUMP JUMPDEST SWAP3 POP DUP3 DUP3 SUB SWAP1 POP DUP2 DUP2 GT ISZERO PUSH2 0x1319 JUMPI PUSH2 0x1318 PUSH2 0x128B JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH2 0x1334 PUSH1 0x0 DUP4 ADD DUP7 PUSH2 0xEB9 JUMP JUMPDEST PUSH2 0x1341 PUSH1 0x20 DUP4 ADD DUP6 PUSH2 0xEB9 JUMP JUMPDEST PUSH2 0x134E PUSH1 0x40 DUP4 ADD DUP5 PUSH2 0x1232 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x137A DUP2 PUSH2 0xF6A JUMP JUMPDEST DUP2 EQ PUSH2 0x1385 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1397 DUP2 PUSH2 0x1371 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x13AC PUSH1 0x20 DUP5 ADD DUP5 PUSH2 0x1388 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x13BD DUP2 PUSH2 0xF6A JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x13D2 PUSH1 0x20 DUP5 ADD DUP5 PUSH2 0xE1B JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x13E3 DUP2 PUSH2 0xDFA JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x40 DUP3 ADD PUSH2 0x13FA PUSH1 0x0 DUP4 ADD DUP4 PUSH2 0x139D JUMP JUMPDEST PUSH2 0x1407 PUSH1 0x0 DUP6 ADD DUP3 PUSH2 0x13B4 JUMP JUMPDEST POP PUSH2 0x1415 PUSH1 0x20 DUP4 ADD DUP4 PUSH2 0x13C3 JUMP JUMPDEST PUSH2 0x1422 PUSH1 0x20 DUP6 ADD DUP3 PUSH2 0x13DA JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1434 DUP4 DUP4 PUSH2 0x13E9 JUMP JUMPDEST PUSH1 0x40 DUP4 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1464 DUP4 DUP6 PUSH2 0x1356 JUMP JUMPDEST SWAP4 POP PUSH2 0x146F DUP3 PUSH2 0x1367 JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0x14A8 JUMPI PUSH2 0x1485 DUP3 DUP5 PUSH2 0x1440 JUMP JUMPDEST PUSH2 0x148F DUP9 DUP3 PUSH2 0x1428 JUMP JUMPDEST SWAP8 POP PUSH2 0x149A DUP4 PUSH2 0x144B JUMP JUMPDEST SWAP3 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x1473 JUMP JUMPDEST POP DUP6 SWAP3 POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x14D0 DUP2 DUP5 DUP7 PUSH2 0x1458 JUMP JUMPDEST SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP3 CALLDATALOAD PUSH1 0x1 PUSH1 0xC0 SUB DUP4 CALLDATASIZE SUB SUB DUP2 SLT PUSH2 0x1504 JUMPI PUSH2 0x1503 PUSH2 0x14D9 JUMP JUMPDEST JUMPDEST DUP1 DUP4 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 CALLDATALOAD PUSH1 0x1 PUSH1 0x20 SUB DUP5 CALLDATASIZE SUB SUB DUP2 SLT PUSH2 0x152D JUMPI PUSH2 0x152C PUSH2 0x14D9 JUMP JUMPDEST JUMPDEST DUP1 DUP5 ADD SWAP3 POP DUP3 CALLDATALOAD SWAP2 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x154F JUMPI PUSH2 0x154E PUSH2 0x14DE JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP3 POP PUSH1 0x1 DUP3 MUL CALLDATASIZE SUB DUP4 SGT ISZERO PUSH2 0x156B JUMPI PUSH2 0x156A PUSH2 0x14E3 JUMP JUMPDEST JUMPDEST POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x15B0 DUP4 DUP6 PUSH2 0x1573 JUMP JUMPDEST SWAP4 POP PUSH2 0x15BD DUP4 DUP6 DUP5 PUSH2 0x1584 JUMP JUMPDEST PUSH2 0x15C6 DUP4 PUSH2 0x1593 JUMP JUMPDEST DUP5 ADD SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x140 DUP3 ADD SWAP1 POP PUSH2 0x15E7 PUSH1 0x0 DUP4 ADD DUP15 PUSH2 0x1232 JUMP JUMPDEST PUSH2 0x15F4 PUSH1 0x20 DUP4 ADD DUP14 PUSH2 0x1232 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x1607 DUP2 DUP12 DUP14 PUSH2 0x15A4 JUMP JUMPDEST SWAP1 POP PUSH2 0x1616 PUSH1 0x60 DUP4 ADD DUP11 PUSH2 0xEB9 JUMP JUMPDEST PUSH2 0x1623 PUSH1 0x80 DUP4 ADD DUP10 PUSH2 0xEB9 JUMP JUMPDEST PUSH2 0x1630 PUSH1 0xA0 DUP4 ADD DUP9 PUSH2 0xEB9 JUMP JUMPDEST PUSH2 0x163D PUSH1 0xC0 DUP4 ADD DUP8 PUSH2 0xEB9 JUMP JUMPDEST PUSH2 0x164A PUSH1 0xE0 DUP4 ADD DUP7 PUSH2 0x1232 JUMP JUMPDEST PUSH2 0x1658 PUSH2 0x100 DUP4 ADD DUP6 PUSH2 0xEB9 JUMP JUMPDEST PUSH2 0x1666 PUSH2 0x120 DUP4 ADD DUP5 PUSH2 0xEB9 JUMP JUMPDEST SWAP13 SWAP12 POP POP POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x169B PUSH2 0x1696 PUSH2 0x1691 DUP5 PUSH2 0x1136 JUMP JUMPDEST PUSH2 0x1676 JUMP JUMPDEST PUSH2 0xDFA JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x16AB DUP2 PUSH2 0x1680 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH2 0x16C6 PUSH1 0x0 DUP4 ADD DUP7 PUSH2 0x16A2 JUMP JUMPDEST PUSH2 0x16D3 PUSH1 0x20 DUP4 ADD DUP6 PUSH2 0xEB9 JUMP JUMPDEST PUSH2 0x16E0 PUSH1 0x40 DUP4 ADD DUP5 PUSH2 0x1232 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x80 DUP3 ADD SWAP1 POP PUSH2 0x16FD PUSH1 0x0 DUP4 ADD DUP8 PUSH2 0x1232 JUMP JUMPDEST PUSH2 0x170A PUSH1 0x20 DUP4 ADD DUP7 PUSH2 0xEB9 JUMP JUMPDEST PUSH2 0x1717 PUSH1 0x40 DUP4 ADD DUP6 PUSH2 0xEB9 JUMP JUMPDEST PUSH2 0x1724 PUSH1 0x60 DUP4 ADD DUP5 PUSH2 0x1232 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0xFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1772 DUP2 PUSH2 0x175C JUMP JUMPDEST DUP2 EQ PUSH2 0x177D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x178F DUP2 PUSH2 0x1769 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x17AB JUMPI PUSH2 0x17AA PUSH2 0xDF0 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x17B9 DUP5 DUP3 DUP6 ADD PUSH2 0x1780 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x17D8 JUMPI PUSH2 0x17D7 PUSH2 0xDF0 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x17E6 DUP5 DUP3 DUP6 ADD PUSH2 0x1388 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x17FA DUP3 PUSH2 0xDFA JUMP JUMPDEST SWAP2 POP PUSH2 0x1805 DUP4 PUSH2 0xDFA JUMP JUMPDEST SWAP3 POP DUP3 DUP3 ADD SWAP1 POP DUP1 DUP3 GT ISZERO PUSH2 0x181D JUMPI PUSH2 0x181C PUSH2 0x128B JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x182E DUP3 PUSH2 0xDFA JUMP JUMPDEST SWAP2 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 SUB PUSH2 0x1860 JUMPI PUSH2 0x185F PUSH2 0x128B JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1886 PUSH2 0x1881 DUP3 PUSH2 0xE30 JUMP JUMPDEST PUSH2 0x186B JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1898 DUP3 DUP5 PUSH2 0x1875 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP2 POP DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x18DB JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x18C0 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x18F2 DUP3 PUSH2 0x18A7 JUMP JUMPDEST PUSH2 0x18FC DUP2 DUP6 PUSH2 0x18B2 JUMP JUMPDEST SWAP4 POP PUSH2 0x190C DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x18BD JUMP JUMPDEST DUP1 DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1924 DUP3 DUP5 PUSH2 0x18E7 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x193E DUP2 PUSH2 0xE3A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x195A JUMPI PUSH2 0x1959 PUSH2 0xDF0 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1968 DUP5 DUP3 DUP6 ADD PUSH2 0x192F JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x19A9 DUP2 PUSH2 0x175C JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x80 DUP3 ADD SWAP1 POP PUSH2 0x19C4 PUSH1 0x0 DUP4 ADD DUP8 PUSH2 0x1232 JUMP JUMPDEST PUSH2 0x19D1 PUSH1 0x20 DUP4 ADD DUP7 PUSH2 0x19A0 JUMP JUMPDEST PUSH2 0x19DE PUSH1 0x40 DUP4 ADD DUP6 PUSH2 0x1232 JUMP JUMPDEST PUSH2 0x19EB PUSH1 0x60 DUP4 ADD DUP5 PUSH2 0x1232 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 DUP11 0x4E 0x27 0xDB NUMBER 0xC9 PUSH21 0xB180DDEA3C0F3E4138731AC4B9BD11334386ECBAA9 BLOCKHASH NUMBER SWAP5 PUSH22 0x64736F6C634300081300330000000000000000000000 ","sourceMap":"949:11667:1:-:0;;;3061:243;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3177:9;3166:8;;:20;;;;;;;;;;;;;;;;;;3207:10;3196:8;;:21;;;;;;;;;;;;;;;;;;3265:32;3227:70;;;;;;3061:243;;949:11667;;88:117:6;197:1;194;187:12;334:126;371:7;411:42;404:5;400:54;389:65;;334:126;;;:::o;466:96::-;503:7;532:24;550:5;532:24;:::i;:::-;521:35;;466:96;;;:::o;568:122::-;641:24;659:5;641:24;:::i;:::-;634:5;631:35;621:63;;680:1;677;670:12;621:63;568:122;:::o;696:143::-;753:5;784:6;778:13;769:22;;800:33;827:5;800:33;:::i;:::-;696:143;;;;:::o;845:77::-;882:7;911:5;900:16;;845:77;;;:::o;928:122::-;1001:24;1019:5;1001:24;:::i;:::-;994:5;991:35;981:63;;1040:1;1037;1030:12;981:63;928:122;:::o;1056:143::-;1113:5;1144:6;1138:13;1129:22;;1160:33;1187:5;1160:33;:::i;:::-;1056:143;;;;:::o;1205:507::-;1284:6;1292;1341:2;1329:9;1320:7;1316:23;1312:32;1309:119;;;1347:79;;:::i;:::-;1309:119;1467:1;1492:64;1548:7;1539:6;1528:9;1524:22;1492:64;:::i;:::-;1482:74;;1438:128;1605:2;1631:64;1687:7;1678:6;1667:9;1663:22;1631:64;:::i;:::-;1621:74;;1576:129;1205:507;;;;;:::o;949:11667:1:-;;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{"@MS_PER_SECOND_421":{"entryPoint":1033,"id":421,"parameterSlots":0,"returnSlots":0},"@NEW_REPORT_ATTESTATION_DOMAIN_SEPARATOR_424":{"entryPoint":2285,"id":424,"parameterSlots":0,"returnSlots":0},"@VALIDATOR_SET_HASH_DOMAIN_SEPARATOR_426":{"entryPoint":2237,"id":426,"parameterSlots":0,"returnSlots":0},"@_checkValidatorSignatures_883":{"entryPoint":2450,"id":883,"parameterSlots":6,"returnSlots":0},"@_domainSeparateValidatorSetHash_906":{"entryPoint":2362,"id":906,"parameterSlots":3,"returnSlots":1},"@_verifySig_957":{"entryPoint":2957,"id":957,"parameterSlots":3,"returnSlots":1},"@deployer_414":{"entryPoint":2324,"id":414,"parameterSlots":0,"returnSlots":0},"@guardianResetValidatorSet_594":{"entryPoint":670,"id":594,"parameterSlots":3,"returnSlots":0},"@guardian_399":{"entryPoint":1306,"id":399,"parameterSlots":0,"returnSlots":0},"@init_534":{"entryPoint":1039,"id":534,"parameterSlots":4,"returnSlots":0},"@initialized_417":{"entryPoint":651,"id":417,"parameterSlots":0,"returnSlots":0},"@lastValidatorSetCheckpoint_402":{"entryPoint":2273,"id":402,"parameterSlots":0,"returnSlots":0},"@powerThreshold_405":{"entryPoint":2279,"id":405,"parameterSlots":0,"returnSlots":0},"@tryRecover_261":{"entryPoint":3270,"id":261,"parameterSlots":4,"returnSlots":3},"@unbondingPeriod_408":{"entryPoint":1780,"id":408,"parameterSlots":0,"returnSlots":0},"@updateValidatorSet_693":{"entryPoint":1786,"id":693,"parameterSlots":7,"returnSlots":0},"@validatorTimestamp_411":{"entryPoint":1342,"id":411,"parameterSlots":0,"returnSlots":0},"@verifyOracleData_775":{"entryPoint":1348,"id":775,"parameterSlots":5,"returnSlots":0},"abi_decode_t_address":{"entryPoint":5000,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_array$_t_struct$_Signature_$389_calldata_ptr_$dyn_calldata_ptr":{"entryPoint":4143,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_t_array$_t_struct$_Validator_$394_calldata_ptr_$dyn_calldata_ptr":{"entryPoint":4057,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_t_bytes32":{"entryPoint":3665,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_bytes32_fromMemory":{"entryPoint":6447,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_struct$_OracleAttestationData_$369_calldata_ptr":{"entryPoint":4011,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_uint256":{"entryPoint":3611,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_uint64":{"entryPoint":4449,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_uint8":{"entryPoint":6016,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_address":{"entryPoint":6082,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes32_fromMemory":{"entryPoint":6468,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes32t_uint64t_uint256t_array$_t_struct$_Validator_$394_calldata_ptr_$dyn_calldata_ptrt_array$_t_struct$_Signature_$389_calldata_ptr_$dyn_calldata_ptr":{"entryPoint":4470,"id":null,"parameterSlots":2,"returnSlots":7},"abi_decode_tuple_t_struct$_OracleAttestationData_$369_calldata_ptrt_array$_t_struct$_Validator_$394_calldata_ptr_$dyn_calldata_ptrt_array$_t_struct$_Signature_$389_calldata_ptr_$dyn_calldata_ptr":{"entryPoint":4229,"id":null,"parameterSlots":2,"returnSlots":5},"abi_decode_tuple_t_uint256t_uint256t_bytes32":{"entryPoint":3686,"id":null,"parameterSlots":2,"returnSlots":3},"abi_decode_tuple_t_uint256t_uint256t_uint256t_bytes32":{"entryPoint":3811,"id":null,"parameterSlots":2,"returnSlots":4},"abi_decode_tuple_t_uint8":{"entryPoint":6037,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encodeUpdatedPos_t_struct$_Validator_$394_calldata_ptr_to_t_struct$_Validator_$394_memory_ptr":{"entryPoint":5160,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_address_to_t_address":{"entryPoint":5044,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_address_to_t_address_fromStack":{"entryPoint":3964,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_array$_t_struct$_Validator_$394_calldata_ptr_$dyn_calldata_ptr_to_t_array$_t_struct$_Validator_$394_memory_ptr_$dyn_memory_ptr_fromStack":{"entryPoint":5208,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_t_bool_to_t_bool_fromStack":{"entryPoint":3526,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_bytes32_to_t_bytes32_fromStack":{"entryPoint":4658,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_bytes32_to_t_bytes32_nonPadded_inplace_fromStack":{"entryPoint":6261,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_bytes_calldata_ptr_to_t_bytes_memory_ptr_fromStack":{"entryPoint":5540,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack":{"entryPoint":6375,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_struct$_Validator_$394_calldata_ptr_to_t_struct$_Validator_$394_memory_ptr":{"entryPoint":5097,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_uint256_to_t_uint256":{"entryPoint":5082,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_uint256_to_t_uint256_fromStack":{"entryPoint":3769,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_uint64_to_t_uint256_fromStack":{"entryPoint":5794,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_uint8_to_t_uint8_fromStack":{"entryPoint":6560,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_tuple_packed_t_bytes32__to_t_bytes32__nonPadded_inplace_fromStack_reversed":{"entryPoint":6284,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed":{"entryPoint":6424,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_address__to_t_address__fromStack_reversed":{"entryPoint":3979,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_array$_t_struct$_Validator_$394_calldata_ptr_$dyn_calldata_ptr__to_t_array$_t_struct$_Validator_$394_memory_ptr_$dyn_memory_ptr__fromStack_reversed":{"entryPoint":5301,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed":{"entryPoint":3541,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed":{"entryPoint":4673,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bytes32_t_bytes32_t_bytes_calldata_ptr_t_uint256_t_uint256_t_uint256_t_uint256_t_bytes32_t_uint256_t_uint256__to_t_bytes32_t_bytes32_t_bytes_memory_ptr_t_uint256_t_uint256_t_uint256_t_uint256_t_bytes32_t_uint256_t_uint256__fromStack_reversed":{"entryPoint":5585,"id":null,"parameterSlots":12,"returnSlots":1},"abi_encode_tuple_t_bytes32_t_uint256_t_uint256_t_bytes32__to_t_bytes32_t_uint256_t_uint256_t_bytes32__fromStack_reversed":{"entryPoint":5864,"id":null,"parameterSlots":5,"returnSlots":1},"abi_encode_tuple_t_bytes32_t_uint8_t_bytes32_t_bytes32__to_t_bytes32_t_uint8_t_bytes32_t_bytes32__fromStack_reversed":{"entryPoint":6575,"id":null,"parameterSlots":5,"returnSlots":1},"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed":{"entryPoint":3784,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint256_t_uint256_t_bytes32__to_t_uint256_t_uint256_t_bytes32__fromStack_reversed":{"entryPoint":4895,"id":null,"parameterSlots":4,"returnSlots":1},"abi_encode_tuple_t_uint64_t_uint256_t_bytes32__to_t_uint256_t_uint256_t_bytes32__fromStack_reversed":{"entryPoint":5809,"id":null,"parameterSlots":4,"returnSlots":1},"access_calldata_tail_t_bytes_calldata_ptr":{"entryPoint":5392,"id":null,"parameterSlots":2,"returnSlots":2},"access_calldata_tail_t_struct$_ReportData_$382_calldata_ptr":{"entryPoint":5352,"id":null,"parameterSlots":2,"returnSlots":1},"allocate_unbounded":{"entryPoint":null,"id":null,"parameterSlots":0,"returnSlots":1},"array_dataslot_t_array$_t_struct$_Validator_$394_calldata_ptr_$dyn_calldata_ptr":{"entryPoint":4967,"id":null,"parameterSlots":1,"returnSlots":1},"array_length_t_bytes_memory_ptr":{"entryPoint":6311,"id":null,"parameterSlots":1,"returnSlots":1},"array_nextElement_t_array$_t_struct$_Validator_$394_calldata_ptr_$dyn_calldata_ptr":{"entryPoint":5195,"id":null,"parameterSlots":1,"returnSlots":1},"array_storeLengthForEncoding_t_array$_t_struct$_Validator_$394_memory_ptr_$dyn_memory_ptr_fromStack":{"entryPoint":4950,"id":null,"parameterSlots":2,"returnSlots":1},"array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack":{"entryPoint":5491,"id":null,"parameterSlots":2,"returnSlots":1},"array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack":{"entryPoint":6322,"id":null,"parameterSlots":2,"returnSlots":1},"calldata_access_t_address":{"entryPoint":5021,"id":null,"parameterSlots":2,"returnSlots":1},"calldata_access_t_struct$_Validator_$394_calldata_ptr":{"entryPoint":5184,"id":null,"parameterSlots":2,"returnSlots":1},"calldata_access_t_uint256":{"entryPoint":5059,"id":null,"parameterSlots":2,"returnSlots":1},"checked_add_t_uint256":{"entryPoint":6127,"id":null,"parameterSlots":2,"returnSlots":1},"checked_div_t_uint256":{"entryPoint":4794,"id":null,"parameterSlots":2,"returnSlots":1},"checked_sub_t_uint256":{"entryPoint":4843,"id":null,"parameterSlots":2,"returnSlots":1},"cleanup_t_address":{"entryPoint":3946,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_bool":{"entryPoint":3514,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_bytes32":{"entryPoint":3632,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_uint160":{"entryPoint":3914,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_uint256":{"entryPoint":3578,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_uint64":{"entryPoint":4406,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_uint8":{"entryPoint":5980,"id":null,"parameterSlots":1,"returnSlots":1},"convert_t_uint64_to_t_uint256":{"entryPoint":5760,"id":null,"parameterSlots":1,"returnSlots":1},"copy_calldata_to_memory_with_cleanup":{"entryPoint":5508,"id":null,"parameterSlots":3,"returnSlots":0},"copy_memory_to_memory_with_cleanup":{"entryPoint":6333,"id":null,"parameterSlots":3,"returnSlots":0},"identity":{"entryPoint":5750,"id":null,"parameterSlots":1,"returnSlots":1},"increment_t_uint256":{"entryPoint":6179,"id":null,"parameterSlots":1,"returnSlots":1},"leftAlign_t_bytes32":{"entryPoint":6251,"id":null,"parameterSlots":1,"returnSlots":1},"panic_error_0x11":{"entryPoint":4747,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x12":{"entryPoint":4700,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x21":{"entryPoint":6513,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x32":{"entryPoint":5933,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490":{"entryPoint":4047,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d":{"entryPoint":4042,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_1e55d03107e9c4f1b5e21c76a16fba166a461117ab153bcce65e6a4ea8e5fc8a":{"entryPoint":5342,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_21fe6b43b4db61d76a176e95bf1a6b9ede4c301f93a4246f41fecb96e160861d":{"entryPoint":4006,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_356d538aaf70fba12156cc466564b792649f8f3befb07b071c91142253e175ad":{"entryPoint":5337,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef":{"entryPoint":4052,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_977805620ff29572292dee35f70b0f3f3f73d3fdd0e9f4d7a901c2e43ab18a2e":{"entryPoint":5347,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db":{"entryPoint":3573,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b":{"entryPoint":3568,"id":null,"parameterSlots":0,"returnSlots":0},"round_up_to_mul_of_32":{"entryPoint":5523,"id":null,"parameterSlots":1,"returnSlots":1},"validator_revert_t_address":{"entryPoint":4977,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_t_bytes32":{"entryPoint":3642,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_t_uint256":{"entryPoint":3588,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_t_uint64":{"entryPoint":4426,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_t_uint8":{"entryPoint":5993,"id":null,"parameterSlots":1,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:24112:6","statements":[{"body":{"nodeType":"YulBlock","src":"49:48:6","statements":[{"nodeType":"YulAssignment","src":"59:32:6","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"84:5:6"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"77:6:6"},"nodeType":"YulFunctionCall","src":"77:13:6"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"70:6:6"},"nodeType":"YulFunctionCall","src":"70:21:6"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"59:7:6"}]}]},"name":"cleanup_t_bool","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"31:5:6","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"41:7:6","type":""}],"src":"7:90:6"},{"body":{"nodeType":"YulBlock","src":"162:50:6","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"179:3:6"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"199:5:6"}],"functionName":{"name":"cleanup_t_bool","nodeType":"YulIdentifier","src":"184:14:6"},"nodeType":"YulFunctionCall","src":"184:21:6"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"172:6:6"},"nodeType":"YulFunctionCall","src":"172:34:6"},"nodeType":"YulExpressionStatement","src":"172:34:6"}]},"name":"abi_encode_t_bool_to_t_bool_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"150:5:6","type":""},{"name":"pos","nodeType":"YulTypedName","src":"157:3:6","type":""}],"src":"103:109:6"},{"body":{"nodeType":"YulBlock","src":"310:118:6","statements":[{"nodeType":"YulAssignment","src":"320:26:6","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"332:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"343:2:6","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"328:3:6"},"nodeType":"YulFunctionCall","src":"328:18:6"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"320:4:6"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"394:6:6"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"407:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"418:1:6","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"403:3:6"},"nodeType":"YulFunctionCall","src":"403:17:6"}],"functionName":{"name":"abi_encode_t_bool_to_t_bool_fromStack","nodeType":"YulIdentifier","src":"356:37:6"},"nodeType":"YulFunctionCall","src":"356:65:6"},"nodeType":"YulExpressionStatement","src":"356:65:6"}]},"name":"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"282:9:6","type":""},{"name":"value0","nodeType":"YulTypedName","src":"294:6:6","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"305:4:6","type":""}],"src":"218:210:6"},{"body":{"nodeType":"YulBlock","src":"474:35:6","statements":[{"nodeType":"YulAssignment","src":"484:19:6","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"500:2:6","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"494:5:6"},"nodeType":"YulFunctionCall","src":"494:9:6"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"484:6:6"}]}]},"name":"allocate_unbounded","nodeType":"YulFunctionDefinition","returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"467:6:6","type":""}],"src":"434:75:6"},{"body":{"nodeType":"YulBlock","src":"604:28:6","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"621:1:6","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"624:1:6","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"614:6:6"},"nodeType":"YulFunctionCall","src":"614:12:6"},"nodeType":"YulExpressionStatement","src":"614:12:6"}]},"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulFunctionDefinition","src":"515:117:6"},{"body":{"nodeType":"YulBlock","src":"727:28:6","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"744:1:6","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"747:1:6","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"737:6:6"},"nodeType":"YulFunctionCall","src":"737:12:6"},"nodeType":"YulExpressionStatement","src":"737:12:6"}]},"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulFunctionDefinition","src":"638:117:6"},{"body":{"nodeType":"YulBlock","src":"806:32:6","statements":[{"nodeType":"YulAssignment","src":"816:16:6","value":{"name":"value","nodeType":"YulIdentifier","src":"827:5:6"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"816:7:6"}]}]},"name":"cleanup_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"788:5:6","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"798:7:6","type":""}],"src":"761:77:6"},{"body":{"nodeType":"YulBlock","src":"887:79:6","statements":[{"body":{"nodeType":"YulBlock","src":"944:16:6","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"953:1:6","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"956:1:6","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"946:6:6"},"nodeType":"YulFunctionCall","src":"946:12:6"},"nodeType":"YulExpressionStatement","src":"946:12:6"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"910:5:6"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"935:5:6"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"917:17:6"},"nodeType":"YulFunctionCall","src":"917:24:6"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"907:2:6"},"nodeType":"YulFunctionCall","src":"907:35:6"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"900:6:6"},"nodeType":"YulFunctionCall","src":"900:43:6"},"nodeType":"YulIf","src":"897:63:6"}]},"name":"validator_revert_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"880:5:6","type":""}],"src":"844:122:6"},{"body":{"nodeType":"YulBlock","src":"1024:87:6","statements":[{"nodeType":"YulAssignment","src":"1034:29:6","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1056:6:6"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1043:12:6"},"nodeType":"YulFunctionCall","src":"1043:20:6"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"1034:5:6"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1099:5:6"}],"functionName":{"name":"validator_revert_t_uint256","nodeType":"YulIdentifier","src":"1072:26:6"},"nodeType":"YulFunctionCall","src":"1072:33:6"},"nodeType":"YulExpressionStatement","src":"1072:33:6"}]},"name":"abi_decode_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"1002:6:6","type":""},{"name":"end","nodeType":"YulTypedName","src":"1010:3:6","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"1018:5:6","type":""}],"src":"972:139:6"},{"body":{"nodeType":"YulBlock","src":"1162:32:6","statements":[{"nodeType":"YulAssignment","src":"1172:16:6","value":{"name":"value","nodeType":"YulIdentifier","src":"1183:5:6"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"1172:7:6"}]}]},"name":"cleanup_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"1144:5:6","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"1154:7:6","type":""}],"src":"1117:77:6"},{"body":{"nodeType":"YulBlock","src":"1243:79:6","statements":[{"body":{"nodeType":"YulBlock","src":"1300:16:6","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1309:1:6","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1312:1:6","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1302:6:6"},"nodeType":"YulFunctionCall","src":"1302:12:6"},"nodeType":"YulExpressionStatement","src":"1302:12:6"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1266:5:6"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1291:5:6"}],"functionName":{"name":"cleanup_t_bytes32","nodeType":"YulIdentifier","src":"1273:17:6"},"nodeType":"YulFunctionCall","src":"1273:24:6"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"1263:2:6"},"nodeType":"YulFunctionCall","src":"1263:35:6"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1256:6:6"},"nodeType":"YulFunctionCall","src":"1256:43:6"},"nodeType":"YulIf","src":"1253:63:6"}]},"name":"validator_revert_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"1236:5:6","type":""}],"src":"1200:122:6"},{"body":{"nodeType":"YulBlock","src":"1380:87:6","statements":[{"nodeType":"YulAssignment","src":"1390:29:6","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1412:6:6"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1399:12:6"},"nodeType":"YulFunctionCall","src":"1399:20:6"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"1390:5:6"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1455:5:6"}],"functionName":{"name":"validator_revert_t_bytes32","nodeType":"YulIdentifier","src":"1428:26:6"},"nodeType":"YulFunctionCall","src":"1428:33:6"},"nodeType":"YulExpressionStatement","src":"1428:33:6"}]},"name":"abi_decode_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"1358:6:6","type":""},{"name":"end","nodeType":"YulTypedName","src":"1366:3:6","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"1374:5:6","type":""}],"src":"1328:139:6"},{"body":{"nodeType":"YulBlock","src":"1573:519:6","statements":[{"body":{"nodeType":"YulBlock","src":"1619:83:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"1621:77:6"},"nodeType":"YulFunctionCall","src":"1621:79:6"},"nodeType":"YulExpressionStatement","src":"1621:79:6"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1594:7:6"},{"name":"headStart","nodeType":"YulIdentifier","src":"1603:9:6"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1590:3:6"},"nodeType":"YulFunctionCall","src":"1590:23:6"},{"kind":"number","nodeType":"YulLiteral","src":"1615:2:6","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1586:3:6"},"nodeType":"YulFunctionCall","src":"1586:32:6"},"nodeType":"YulIf","src":"1583:119:6"},{"nodeType":"YulBlock","src":"1712:117:6","statements":[{"nodeType":"YulVariableDeclaration","src":"1727:15:6","value":{"kind":"number","nodeType":"YulLiteral","src":"1741:1:6","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"1731:6:6","type":""}]},{"nodeType":"YulAssignment","src":"1756:63:6","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1791:9:6"},{"name":"offset","nodeType":"YulIdentifier","src":"1802:6:6"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1787:3:6"},"nodeType":"YulFunctionCall","src":"1787:22:6"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1811:7:6"}],"functionName":{"name":"abi_decode_t_uint256","nodeType":"YulIdentifier","src":"1766:20:6"},"nodeType":"YulFunctionCall","src":"1766:53:6"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1756:6:6"}]}]},{"nodeType":"YulBlock","src":"1839:118:6","statements":[{"nodeType":"YulVariableDeclaration","src":"1854:16:6","value":{"kind":"number","nodeType":"YulLiteral","src":"1868:2:6","type":"","value":"32"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"1858:6:6","type":""}]},{"nodeType":"YulAssignment","src":"1884:63:6","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1919:9:6"},{"name":"offset","nodeType":"YulIdentifier","src":"1930:6:6"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1915:3:6"},"nodeType":"YulFunctionCall","src":"1915:22:6"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1939:7:6"}],"functionName":{"name":"abi_decode_t_uint256","nodeType":"YulIdentifier","src":"1894:20:6"},"nodeType":"YulFunctionCall","src":"1894:53:6"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"1884:6:6"}]}]},{"nodeType":"YulBlock","src":"1967:118:6","statements":[{"nodeType":"YulVariableDeclaration","src":"1982:16:6","value":{"kind":"number","nodeType":"YulLiteral","src":"1996:2:6","type":"","value":"64"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"1986:6:6","type":""}]},{"nodeType":"YulAssignment","src":"2012:63:6","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2047:9:6"},{"name":"offset","nodeType":"YulIdentifier","src":"2058:6:6"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2043:3:6"},"nodeType":"YulFunctionCall","src":"2043:22:6"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"2067:7:6"}],"functionName":{"name":"abi_decode_t_bytes32","nodeType":"YulIdentifier","src":"2022:20:6"},"nodeType":"YulFunctionCall","src":"2022:53:6"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"2012:6:6"}]}]}]},"name":"abi_decode_tuple_t_uint256t_uint256t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1527:9:6","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1538:7:6","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1550:6:6","type":""},{"name":"value1","nodeType":"YulTypedName","src":"1558:6:6","type":""},{"name":"value2","nodeType":"YulTypedName","src":"1566:6:6","type":""}],"src":"1473:619:6"},{"body":{"nodeType":"YulBlock","src":"2163:53:6","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2180:3:6"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2203:5:6"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"2185:17:6"},"nodeType":"YulFunctionCall","src":"2185:24:6"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2173:6:6"},"nodeType":"YulFunctionCall","src":"2173:37:6"},"nodeType":"YulExpressionStatement","src":"2173:37:6"}]},"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"2151:5:6","type":""},{"name":"pos","nodeType":"YulTypedName","src":"2158:3:6","type":""}],"src":"2098:118:6"},{"body":{"nodeType":"YulBlock","src":"2320:124:6","statements":[{"nodeType":"YulAssignment","src":"2330:26:6","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2342:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"2353:2:6","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2338:3:6"},"nodeType":"YulFunctionCall","src":"2338:18:6"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"2330:4:6"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"2410:6:6"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2423:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"2434:1:6","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2419:3:6"},"nodeType":"YulFunctionCall","src":"2419:17:6"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"2366:43:6"},"nodeType":"YulFunctionCall","src":"2366:71:6"},"nodeType":"YulExpressionStatement","src":"2366:71:6"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2292:9:6","type":""},{"name":"value0","nodeType":"YulTypedName","src":"2304:6:6","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"2315:4:6","type":""}],"src":"2222:222:6"},{"body":{"nodeType":"YulBlock","src":"2567:648:6","statements":[{"body":{"nodeType":"YulBlock","src":"2614:83:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"2616:77:6"},"nodeType":"YulFunctionCall","src":"2616:79:6"},"nodeType":"YulExpressionStatement","src":"2616:79:6"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"2588:7:6"},{"name":"headStart","nodeType":"YulIdentifier","src":"2597:9:6"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2584:3:6"},"nodeType":"YulFunctionCall","src":"2584:23:6"},{"kind":"number","nodeType":"YulLiteral","src":"2609:3:6","type":"","value":"128"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2580:3:6"},"nodeType":"YulFunctionCall","src":"2580:33:6"},"nodeType":"YulIf","src":"2577:120:6"},{"nodeType":"YulBlock","src":"2707:117:6","statements":[{"nodeType":"YulVariableDeclaration","src":"2722:15:6","value":{"kind":"number","nodeType":"YulLiteral","src":"2736:1:6","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"2726:6:6","type":""}]},{"nodeType":"YulAssignment","src":"2751:63:6","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2786:9:6"},{"name":"offset","nodeType":"YulIdentifier","src":"2797:6:6"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2782:3:6"},"nodeType":"YulFunctionCall","src":"2782:22:6"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"2806:7:6"}],"functionName":{"name":"abi_decode_t_uint256","nodeType":"YulIdentifier","src":"2761:20:6"},"nodeType":"YulFunctionCall","src":"2761:53:6"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"2751:6:6"}]}]},{"nodeType":"YulBlock","src":"2834:118:6","statements":[{"nodeType":"YulVariableDeclaration","src":"2849:16:6","value":{"kind":"number","nodeType":"YulLiteral","src":"2863:2:6","type":"","value":"32"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"2853:6:6","type":""}]},{"nodeType":"YulAssignment","src":"2879:63:6","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2914:9:6"},{"name":"offset","nodeType":"YulIdentifier","src":"2925:6:6"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2910:3:6"},"nodeType":"YulFunctionCall","src":"2910:22:6"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"2934:7:6"}],"functionName":{"name":"abi_decode_t_uint256","nodeType":"YulIdentifier","src":"2889:20:6"},"nodeType":"YulFunctionCall","src":"2889:53:6"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"2879:6:6"}]}]},{"nodeType":"YulBlock","src":"2962:118:6","statements":[{"nodeType":"YulVariableDeclaration","src":"2977:16:6","value":{"kind":"number","nodeType":"YulLiteral","src":"2991:2:6","type":"","value":"64"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"2981:6:6","type":""}]},{"nodeType":"YulAssignment","src":"3007:63:6","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3042:9:6"},{"name":"offset","nodeType":"YulIdentifier","src":"3053:6:6"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3038:3:6"},"nodeType":"YulFunctionCall","src":"3038:22:6"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"3062:7:6"}],"functionName":{"name":"abi_decode_t_uint256","nodeType":"YulIdentifier","src":"3017:20:6"},"nodeType":"YulFunctionCall","src":"3017:53:6"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"3007:6:6"}]}]},{"nodeType":"YulBlock","src":"3090:118:6","statements":[{"nodeType":"YulVariableDeclaration","src":"3105:16:6","value":{"kind":"number","nodeType":"YulLiteral","src":"3119:2:6","type":"","value":"96"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"3109:6:6","type":""}]},{"nodeType":"YulAssignment","src":"3135:63:6","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3170:9:6"},{"name":"offset","nodeType":"YulIdentifier","src":"3181:6:6"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3166:3:6"},"nodeType":"YulFunctionCall","src":"3166:22:6"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"3190:7:6"}],"functionName":{"name":"abi_decode_t_bytes32","nodeType":"YulIdentifier","src":"3145:20:6"},"nodeType":"YulFunctionCall","src":"3145:53:6"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"3135:6:6"}]}]}]},"name":"abi_decode_tuple_t_uint256t_uint256t_uint256t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2513:9:6","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"2524:7:6","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"2536:6:6","type":""},{"name":"value1","nodeType":"YulTypedName","src":"2544:6:6","type":""},{"name":"value2","nodeType":"YulTypedName","src":"2552:6:6","type":""},{"name":"value3","nodeType":"YulTypedName","src":"2560:6:6","type":""}],"src":"2450:765:6"},{"body":{"nodeType":"YulBlock","src":"3266:81:6","statements":[{"nodeType":"YulAssignment","src":"3276:65:6","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3291:5:6"},{"kind":"number","nodeType":"YulLiteral","src":"3298:42:6","type":"","value":"0xffffffffffffffffffffffffffffffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"3287:3:6"},"nodeType":"YulFunctionCall","src":"3287:54:6"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"3276:7:6"}]}]},"name":"cleanup_t_uint160","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"3248:5:6","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"3258:7:6","type":""}],"src":"3221:126:6"},{"body":{"nodeType":"YulBlock","src":"3398:51:6","statements":[{"nodeType":"YulAssignment","src":"3408:35:6","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3437:5:6"}],"functionName":{"name":"cleanup_t_uint160","nodeType":"YulIdentifier","src":"3419:17:6"},"nodeType":"YulFunctionCall","src":"3419:24:6"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"3408:7:6"}]}]},"name":"cleanup_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"3380:5:6","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"3390:7:6","type":""}],"src":"3353:96:6"},{"body":{"nodeType":"YulBlock","src":"3520:53:6","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"3537:3:6"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3560:5:6"}],"functionName":{"name":"cleanup_t_address","nodeType":"YulIdentifier","src":"3542:17:6"},"nodeType":"YulFunctionCall","src":"3542:24:6"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3530:6:6"},"nodeType":"YulFunctionCall","src":"3530:37:6"},"nodeType":"YulExpressionStatement","src":"3530:37:6"}]},"name":"abi_encode_t_address_to_t_address_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"3508:5:6","type":""},{"name":"pos","nodeType":"YulTypedName","src":"3515:3:6","type":""}],"src":"3455:118:6"},{"body":{"nodeType":"YulBlock","src":"3677:124:6","statements":[{"nodeType":"YulAssignment","src":"3687:26:6","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3699:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"3710:2:6","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3695:3:6"},"nodeType":"YulFunctionCall","src":"3695:18:6"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3687:4:6"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"3767:6:6"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3780:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"3791:1:6","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3776:3:6"},"nodeType":"YulFunctionCall","src":"3776:17:6"}],"functionName":{"name":"abi_encode_t_address_to_t_address_fromStack","nodeType":"YulIdentifier","src":"3723:43:6"},"nodeType":"YulFunctionCall","src":"3723:71:6"},"nodeType":"YulExpressionStatement","src":"3723:71:6"}]},"name":"abi_encode_tuple_t_address__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3649:9:6","type":""},{"name":"value0","nodeType":"YulTypedName","src":"3661:6:6","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"3672:4:6","type":""}],"src":"3579:222:6"},{"body":{"nodeType":"YulBlock","src":"3896:28:6","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3913:1:6","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3916:1:6","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3906:6:6"},"nodeType":"YulFunctionCall","src":"3906:12:6"},"nodeType":"YulExpressionStatement","src":"3906:12:6"}]},"name":"revert_error_21fe6b43b4db61d76a176e95bf1a6b9ede4c301f93a4246f41fecb96e160861d","nodeType":"YulFunctionDefinition","src":"3807:117:6"},{"body":{"nodeType":"YulBlock","src":"4058:152:6","statements":[{"body":{"nodeType":"YulBlock","src":"4097:83:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_21fe6b43b4db61d76a176e95bf1a6b9ede4c301f93a4246f41fecb96e160861d","nodeType":"YulIdentifier","src":"4099:77:6"},"nodeType":"YulFunctionCall","src":"4099:79:6"},"nodeType":"YulExpressionStatement","src":"4099:79:6"}]},"condition":{"arguments":[{"arguments":[{"name":"end","nodeType":"YulIdentifier","src":"4079:3:6"},{"name":"offset","nodeType":"YulIdentifier","src":"4084:6:6"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4075:3:6"},"nodeType":"YulFunctionCall","src":"4075:16:6"},{"kind":"number","nodeType":"YulLiteral","src":"4093:2:6","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"4071:3:6"},"nodeType":"YulFunctionCall","src":"4071:25:6"},"nodeType":"YulIf","src":"4068:112:6"},{"nodeType":"YulAssignment","src":"4189:15:6","value":{"name":"offset","nodeType":"YulIdentifier","src":"4198:6:6"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"4189:5:6"}]}]},"name":"abi_decode_t_struct$_OracleAttestationData_$369_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"4036:6:6","type":""},{"name":"end","nodeType":"YulTypedName","src":"4044:3:6","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"4052:5:6","type":""}],"src":"3966:244:6"},{"body":{"nodeType":"YulBlock","src":"4305:28:6","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4322:1:6","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4325:1:6","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4315:6:6"},"nodeType":"YulFunctionCall","src":"4315:12:6"},"nodeType":"YulExpressionStatement","src":"4315:12:6"}]},"name":"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d","nodeType":"YulFunctionDefinition","src":"4216:117:6"},{"body":{"nodeType":"YulBlock","src":"4428:28:6","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4445:1:6","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4448:1:6","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4438:6:6"},"nodeType":"YulFunctionCall","src":"4438:12:6"},"nodeType":"YulExpressionStatement","src":"4438:12:6"}]},"name":"revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490","nodeType":"YulFunctionDefinition","src":"4339:117:6"},{"body":{"nodeType":"YulBlock","src":"4551:28:6","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4568:1:6","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4571:1:6","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4561:6:6"},"nodeType":"YulFunctionCall","src":"4561:12:6"},"nodeType":"YulExpressionStatement","src":"4561:12:6"}]},"name":"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef","nodeType":"YulFunctionDefinition","src":"4462:117:6"},{"body":{"nodeType":"YulBlock","src":"4729:478:6","statements":[{"body":{"nodeType":"YulBlock","src":"4778:83:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d","nodeType":"YulIdentifier","src":"4780:77:6"},"nodeType":"YulFunctionCall","src":"4780:79:6"},"nodeType":"YulExpressionStatement","src":"4780:79:6"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"4757:6:6"},{"kind":"number","nodeType":"YulLiteral","src":"4765:4:6","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4753:3:6"},"nodeType":"YulFunctionCall","src":"4753:17:6"},{"name":"end","nodeType":"YulIdentifier","src":"4772:3:6"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"4749:3:6"},"nodeType":"YulFunctionCall","src":"4749:27:6"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"4742:6:6"},"nodeType":"YulFunctionCall","src":"4742:35:6"},"nodeType":"YulIf","src":"4739:122:6"},{"nodeType":"YulAssignment","src":"4870:30:6","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"4893:6:6"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4880:12:6"},"nodeType":"YulFunctionCall","src":"4880:20:6"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"4870:6:6"}]},{"body":{"nodeType":"YulBlock","src":"4943:83:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490","nodeType":"YulIdentifier","src":"4945:77:6"},"nodeType":"YulFunctionCall","src":"4945:79:6"},"nodeType":"YulExpressionStatement","src":"4945:79:6"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"4915:6:6"},{"kind":"number","nodeType":"YulLiteral","src":"4923:18:6","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"4912:2:6"},"nodeType":"YulFunctionCall","src":"4912:30:6"},"nodeType":"YulIf","src":"4909:117:6"},{"nodeType":"YulAssignment","src":"5035:29:6","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"5051:6:6"},{"kind":"number","nodeType":"YulLiteral","src":"5059:4:6","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5047:3:6"},"nodeType":"YulFunctionCall","src":"5047:17:6"},"variableNames":[{"name":"arrayPos","nodeType":"YulIdentifier","src":"5035:8:6"}]},{"body":{"nodeType":"YulBlock","src":"5118:83:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef","nodeType":"YulIdentifier","src":"5120:77:6"},"nodeType":"YulFunctionCall","src":"5120:79:6"},"nodeType":"YulExpressionStatement","src":"5120:79:6"}]},"condition":{"arguments":[{"arguments":[{"name":"arrayPos","nodeType":"YulIdentifier","src":"5083:8:6"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"5097:6:6"},{"kind":"number","nodeType":"YulLiteral","src":"5105:4:6","type":"","value":"0x40"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"5093:3:6"},"nodeType":"YulFunctionCall","src":"5093:17:6"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5079:3:6"},"nodeType":"YulFunctionCall","src":"5079:32:6"},{"name":"end","nodeType":"YulIdentifier","src":"5113:3:6"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5076:2:6"},"nodeType":"YulFunctionCall","src":"5076:41:6"},"nodeType":"YulIf","src":"5073:128:6"}]},"name":"abi_decode_t_array$_t_struct$_Validator_$394_calldata_ptr_$dyn_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"4696:6:6","type":""},{"name":"end","nodeType":"YulTypedName","src":"4704:3:6","type":""}],"returnVariables":[{"name":"arrayPos","nodeType":"YulTypedName","src":"4712:8:6","type":""},{"name":"length","nodeType":"YulTypedName","src":"4722:6:6","type":""}],"src":"4611:596:6"},{"body":{"nodeType":"YulBlock","src":"5357:478:6","statements":[{"body":{"nodeType":"YulBlock","src":"5406:83:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d","nodeType":"YulIdentifier","src":"5408:77:6"},"nodeType":"YulFunctionCall","src":"5408:79:6"},"nodeType":"YulExpressionStatement","src":"5408:79:6"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"5385:6:6"},{"kind":"number","nodeType":"YulLiteral","src":"5393:4:6","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5381:3:6"},"nodeType":"YulFunctionCall","src":"5381:17:6"},{"name":"end","nodeType":"YulIdentifier","src":"5400:3:6"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"5377:3:6"},"nodeType":"YulFunctionCall","src":"5377:27:6"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"5370:6:6"},"nodeType":"YulFunctionCall","src":"5370:35:6"},"nodeType":"YulIf","src":"5367:122:6"},{"nodeType":"YulAssignment","src":"5498:30:6","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"5521:6:6"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"5508:12:6"},"nodeType":"YulFunctionCall","src":"5508:20:6"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"5498:6:6"}]},{"body":{"nodeType":"YulBlock","src":"5571:83:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490","nodeType":"YulIdentifier","src":"5573:77:6"},"nodeType":"YulFunctionCall","src":"5573:79:6"},"nodeType":"YulExpressionStatement","src":"5573:79:6"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"5543:6:6"},{"kind":"number","nodeType":"YulLiteral","src":"5551:18:6","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5540:2:6"},"nodeType":"YulFunctionCall","src":"5540:30:6"},"nodeType":"YulIf","src":"5537:117:6"},{"nodeType":"YulAssignment","src":"5663:29:6","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"5679:6:6"},{"kind":"number","nodeType":"YulLiteral","src":"5687:4:6","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5675:3:6"},"nodeType":"YulFunctionCall","src":"5675:17:6"},"variableNames":[{"name":"arrayPos","nodeType":"YulIdentifier","src":"5663:8:6"}]},{"body":{"nodeType":"YulBlock","src":"5746:83:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef","nodeType":"YulIdentifier","src":"5748:77:6"},"nodeType":"YulFunctionCall","src":"5748:79:6"},"nodeType":"YulExpressionStatement","src":"5748:79:6"}]},"condition":{"arguments":[{"arguments":[{"name":"arrayPos","nodeType":"YulIdentifier","src":"5711:8:6"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"5725:6:6"},{"kind":"number","nodeType":"YulLiteral","src":"5733:4:6","type":"","value":"0x60"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"5721:3:6"},"nodeType":"YulFunctionCall","src":"5721:17:6"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5707:3:6"},"nodeType":"YulFunctionCall","src":"5707:32:6"},{"name":"end","nodeType":"YulIdentifier","src":"5741:3:6"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5704:2:6"},"nodeType":"YulFunctionCall","src":"5704:41:6"},"nodeType":"YulIf","src":"5701:128:6"}]},"name":"abi_decode_t_array$_t_struct$_Signature_$389_calldata_ptr_$dyn_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"5324:6:6","type":""},{"name":"end","nodeType":"YulTypedName","src":"5332:3:6","type":""}],"returnVariables":[{"name":"arrayPos","nodeType":"YulTypedName","src":"5340:8:6","type":""},{"name":"length","nodeType":"YulTypedName","src":"5350:6:6","type":""}],"src":"5239:596:6"},{"body":{"nodeType":"YulBlock","src":"6107:1165:6","statements":[{"body":{"nodeType":"YulBlock","src":"6153:83:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"6155:77:6"},"nodeType":"YulFunctionCall","src":"6155:79:6"},"nodeType":"YulExpressionStatement","src":"6155:79:6"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"6128:7:6"},{"name":"headStart","nodeType":"YulIdentifier","src":"6137:9:6"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"6124:3:6"},"nodeType":"YulFunctionCall","src":"6124:23:6"},{"kind":"number","nodeType":"YulLiteral","src":"6149:2:6","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"6120:3:6"},"nodeType":"YulFunctionCall","src":"6120:32:6"},"nodeType":"YulIf","src":"6117:119:6"},{"nodeType":"YulBlock","src":"6246:317:6","statements":[{"nodeType":"YulVariableDeclaration","src":"6261:45:6","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6292:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"6303:1:6","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6288:3:6"},"nodeType":"YulFunctionCall","src":"6288:17:6"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"6275:12:6"},"nodeType":"YulFunctionCall","src":"6275:31:6"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"6265:6:6","type":""}]},{"body":{"nodeType":"YulBlock","src":"6353:83:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulIdentifier","src":"6355:77:6"},"nodeType":"YulFunctionCall","src":"6355:79:6"},"nodeType":"YulExpressionStatement","src":"6355:79:6"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"6325:6:6"},{"kind":"number","nodeType":"YulLiteral","src":"6333:18:6","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"6322:2:6"},"nodeType":"YulFunctionCall","src":"6322:30:6"},"nodeType":"YulIf","src":"6319:117:6"},{"nodeType":"YulAssignment","src":"6450:103:6","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6525:9:6"},{"name":"offset","nodeType":"YulIdentifier","src":"6536:6:6"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6521:3:6"},"nodeType":"YulFunctionCall","src":"6521:22:6"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"6545:7:6"}],"functionName":{"name":"abi_decode_t_struct$_OracleAttestationData_$369_calldata_ptr","nodeType":"YulIdentifier","src":"6460:60:6"},"nodeType":"YulFunctionCall","src":"6460:93:6"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"6450:6:6"}]}]},{"nodeType":"YulBlock","src":"6573:341:6","statements":[{"nodeType":"YulVariableDeclaration","src":"6588:46:6","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6619:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"6630:2:6","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6615:3:6"},"nodeType":"YulFunctionCall","src":"6615:18:6"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"6602:12:6"},"nodeType":"YulFunctionCall","src":"6602:32:6"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"6592:6:6","type":""}]},{"body":{"nodeType":"YulBlock","src":"6681:83:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulIdentifier","src":"6683:77:6"},"nodeType":"YulFunctionCall","src":"6683:79:6"},"nodeType":"YulExpressionStatement","src":"6683:79:6"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"6653:6:6"},{"kind":"number","nodeType":"YulLiteral","src":"6661:18:6","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"6650:2:6"},"nodeType":"YulFunctionCall","src":"6650:30:6"},"nodeType":"YulIf","src":"6647:117:6"},{"nodeType":"YulAssignment","src":"6778:126:6","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6876:9:6"},{"name":"offset","nodeType":"YulIdentifier","src":"6887:6:6"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6872:3:6"},"nodeType":"YulFunctionCall","src":"6872:22:6"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"6896:7:6"}],"functionName":{"name":"abi_decode_t_array$_t_struct$_Validator_$394_calldata_ptr_$dyn_calldata_ptr","nodeType":"YulIdentifier","src":"6796:75:6"},"nodeType":"YulFunctionCall","src":"6796:108:6"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"6778:6:6"},{"name":"value2","nodeType":"YulIdentifier","src":"6786:6:6"}]}]},{"nodeType":"YulBlock","src":"6924:341:6","statements":[{"nodeType":"YulVariableDeclaration","src":"6939:46:6","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6970:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"6981:2:6","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6966:3:6"},"nodeType":"YulFunctionCall","src":"6966:18:6"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"6953:12:6"},"nodeType":"YulFunctionCall","src":"6953:32:6"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"6943:6:6","type":""}]},{"body":{"nodeType":"YulBlock","src":"7032:83:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulIdentifier","src":"7034:77:6"},"nodeType":"YulFunctionCall","src":"7034:79:6"},"nodeType":"YulExpressionStatement","src":"7034:79:6"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"7004:6:6"},{"kind":"number","nodeType":"YulLiteral","src":"7012:18:6","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"7001:2:6"},"nodeType":"YulFunctionCall","src":"7001:30:6"},"nodeType":"YulIf","src":"6998:117:6"},{"nodeType":"YulAssignment","src":"7129:126:6","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7227:9:6"},{"name":"offset","nodeType":"YulIdentifier","src":"7238:6:6"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7223:3:6"},"nodeType":"YulFunctionCall","src":"7223:22:6"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"7247:7:6"}],"functionName":{"name":"abi_decode_t_array$_t_struct$_Signature_$389_calldata_ptr_$dyn_calldata_ptr","nodeType":"YulIdentifier","src":"7147:75:6"},"nodeType":"YulFunctionCall","src":"7147:108:6"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"7129:6:6"},{"name":"value4","nodeType":"YulIdentifier","src":"7137:6:6"}]}]}]},"name":"abi_decode_tuple_t_struct$_OracleAttestationData_$369_calldata_ptrt_array$_t_struct$_Validator_$394_calldata_ptr_$dyn_calldata_ptrt_array$_t_struct$_Signature_$389_calldata_ptr_$dyn_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6045:9:6","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"6056:7:6","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"6068:6:6","type":""},{"name":"value1","nodeType":"YulTypedName","src":"6076:6:6","type":""},{"name":"value2","nodeType":"YulTypedName","src":"6084:6:6","type":""},{"name":"value3","nodeType":"YulTypedName","src":"6092:6:6","type":""},{"name":"value4","nodeType":"YulTypedName","src":"6100:6:6","type":""}],"src":"5841:1431:6"},{"body":{"nodeType":"YulBlock","src":"7322:57:6","statements":[{"nodeType":"YulAssignment","src":"7332:41:6","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7347:5:6"},{"kind":"number","nodeType":"YulLiteral","src":"7354:18:6","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"7343:3:6"},"nodeType":"YulFunctionCall","src":"7343:30:6"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"7332:7:6"}]}]},"name":"cleanup_t_uint64","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"7304:5:6","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"7314:7:6","type":""}],"src":"7278:101:6"},{"body":{"nodeType":"YulBlock","src":"7427:78:6","statements":[{"body":{"nodeType":"YulBlock","src":"7483:16:6","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7492:1:6","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7495:1:6","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7485:6:6"},"nodeType":"YulFunctionCall","src":"7485:12:6"},"nodeType":"YulExpressionStatement","src":"7485:12:6"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7450:5:6"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7474:5:6"}],"functionName":{"name":"cleanup_t_uint64","nodeType":"YulIdentifier","src":"7457:16:6"},"nodeType":"YulFunctionCall","src":"7457:23:6"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"7447:2:6"},"nodeType":"YulFunctionCall","src":"7447:34:6"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"7440:6:6"},"nodeType":"YulFunctionCall","src":"7440:42:6"},"nodeType":"YulIf","src":"7437:62:6"}]},"name":"validator_revert_t_uint64","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"7420:5:6","type":""}],"src":"7385:120:6"},{"body":{"nodeType":"YulBlock","src":"7562:86:6","statements":[{"nodeType":"YulAssignment","src":"7572:29:6","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"7594:6:6"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"7581:12:6"},"nodeType":"YulFunctionCall","src":"7581:20:6"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"7572:5:6"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7636:5:6"}],"functionName":{"name":"validator_revert_t_uint64","nodeType":"YulIdentifier","src":"7610:25:6"},"nodeType":"YulFunctionCall","src":"7610:32:6"},"nodeType":"YulExpressionStatement","src":"7610:32:6"}]},"name":"abi_decode_t_uint64","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"7540:6:6","type":""},{"name":"end","nodeType":"YulTypedName","src":"7548:3:6","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"7556:5:6","type":""}],"src":"7511:137:6"},{"body":{"nodeType":"YulBlock","src":"7913:1222:6","statements":[{"body":{"nodeType":"YulBlock","src":"7960:83:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"7962:77:6"},"nodeType":"YulFunctionCall","src":"7962:79:6"},"nodeType":"YulExpressionStatement","src":"7962:79:6"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"7934:7:6"},{"name":"headStart","nodeType":"YulIdentifier","src":"7943:9:6"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"7930:3:6"},"nodeType":"YulFunctionCall","src":"7930:23:6"},{"kind":"number","nodeType":"YulLiteral","src":"7955:3:6","type":"","value":"160"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"7926:3:6"},"nodeType":"YulFunctionCall","src":"7926:33:6"},"nodeType":"YulIf","src":"7923:120:6"},{"nodeType":"YulBlock","src":"8053:117:6","statements":[{"nodeType":"YulVariableDeclaration","src":"8068:15:6","value":{"kind":"number","nodeType":"YulLiteral","src":"8082:1:6","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"8072:6:6","type":""}]},{"nodeType":"YulAssignment","src":"8097:63:6","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8132:9:6"},{"name":"offset","nodeType":"YulIdentifier","src":"8143:6:6"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8128:3:6"},"nodeType":"YulFunctionCall","src":"8128:22:6"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"8152:7:6"}],"functionName":{"name":"abi_decode_t_bytes32","nodeType":"YulIdentifier","src":"8107:20:6"},"nodeType":"YulFunctionCall","src":"8107:53:6"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"8097:6:6"}]}]},{"nodeType":"YulBlock","src":"8180:117:6","statements":[{"nodeType":"YulVariableDeclaration","src":"8195:16:6","value":{"kind":"number","nodeType":"YulLiteral","src":"8209:2:6","type":"","value":"32"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"8199:6:6","type":""}]},{"nodeType":"YulAssignment","src":"8225:62:6","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8259:9:6"},{"name":"offset","nodeType":"YulIdentifier","src":"8270:6:6"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8255:3:6"},"nodeType":"YulFunctionCall","src":"8255:22:6"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"8279:7:6"}],"functionName":{"name":"abi_decode_t_uint64","nodeType":"YulIdentifier","src":"8235:19:6"},"nodeType":"YulFunctionCall","src":"8235:52:6"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"8225:6:6"}]}]},{"nodeType":"YulBlock","src":"8307:118:6","statements":[{"nodeType":"YulVariableDeclaration","src":"8322:16:6","value":{"kind":"number","nodeType":"YulLiteral","src":"8336:2:6","type":"","value":"64"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"8326:6:6","type":""}]},{"nodeType":"YulAssignment","src":"8352:63:6","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8387:9:6"},{"name":"offset","nodeType":"YulIdentifier","src":"8398:6:6"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8383:3:6"},"nodeType":"YulFunctionCall","src":"8383:22:6"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"8407:7:6"}],"functionName":{"name":"abi_decode_t_uint256","nodeType":"YulIdentifier","src":"8362:20:6"},"nodeType":"YulFunctionCall","src":"8362:53:6"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"8352:6:6"}]}]},{"nodeType":"YulBlock","src":"8435:341:6","statements":[{"nodeType":"YulVariableDeclaration","src":"8450:46:6","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8481:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"8492:2:6","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8477:3:6"},"nodeType":"YulFunctionCall","src":"8477:18:6"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"8464:12:6"},"nodeType":"YulFunctionCall","src":"8464:32:6"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"8454:6:6","type":""}]},{"body":{"nodeType":"YulBlock","src":"8543:83:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulIdentifier","src":"8545:77:6"},"nodeType":"YulFunctionCall","src":"8545:79:6"},"nodeType":"YulExpressionStatement","src":"8545:79:6"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"8515:6:6"},{"kind":"number","nodeType":"YulLiteral","src":"8523:18:6","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"8512:2:6"},"nodeType":"YulFunctionCall","src":"8512:30:6"},"nodeType":"YulIf","src":"8509:117:6"},{"nodeType":"YulAssignment","src":"8640:126:6","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8738:9:6"},{"name":"offset","nodeType":"YulIdentifier","src":"8749:6:6"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8734:3:6"},"nodeType":"YulFunctionCall","src":"8734:22:6"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"8758:7:6"}],"functionName":{"name":"abi_decode_t_array$_t_struct$_Validator_$394_calldata_ptr_$dyn_calldata_ptr","nodeType":"YulIdentifier","src":"8658:75:6"},"nodeType":"YulFunctionCall","src":"8658:108:6"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"8640:6:6"},{"name":"value4","nodeType":"YulIdentifier","src":"8648:6:6"}]}]},{"nodeType":"YulBlock","src":"8786:342:6","statements":[{"nodeType":"YulVariableDeclaration","src":"8801:47:6","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8832:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"8843:3:6","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8828:3:6"},"nodeType":"YulFunctionCall","src":"8828:19:6"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"8815:12:6"},"nodeType":"YulFunctionCall","src":"8815:33:6"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"8805:6:6","type":""}]},{"body":{"nodeType":"YulBlock","src":"8895:83:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulIdentifier","src":"8897:77:6"},"nodeType":"YulFunctionCall","src":"8897:79:6"},"nodeType":"YulExpressionStatement","src":"8897:79:6"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"8867:6:6"},{"kind":"number","nodeType":"YulLiteral","src":"8875:18:6","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"8864:2:6"},"nodeType":"YulFunctionCall","src":"8864:30:6"},"nodeType":"YulIf","src":"8861:117:6"},{"nodeType":"YulAssignment","src":"8992:126:6","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9090:9:6"},{"name":"offset","nodeType":"YulIdentifier","src":"9101:6:6"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9086:3:6"},"nodeType":"YulFunctionCall","src":"9086:22:6"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"9110:7:6"}],"functionName":{"name":"abi_decode_t_array$_t_struct$_Signature_$389_calldata_ptr_$dyn_calldata_ptr","nodeType":"YulIdentifier","src":"9010:75:6"},"nodeType":"YulFunctionCall","src":"9010:108:6"},"variableNames":[{"name":"value5","nodeType":"YulIdentifier","src":"8992:6:6"},{"name":"value6","nodeType":"YulIdentifier","src":"9000:6:6"}]}]}]},"name":"abi_decode_tuple_t_bytes32t_uint64t_uint256t_array$_t_struct$_Validator_$394_calldata_ptr_$dyn_calldata_ptrt_array$_t_struct$_Signature_$389_calldata_ptr_$dyn_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7835:9:6","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"7846:7:6","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"7858:6:6","type":""},{"name":"value1","nodeType":"YulTypedName","src":"7866:6:6","type":""},{"name":"value2","nodeType":"YulTypedName","src":"7874:6:6","type":""},{"name":"value3","nodeType":"YulTypedName","src":"7882:6:6","type":""},{"name":"value4","nodeType":"YulTypedName","src":"7890:6:6","type":""},{"name":"value5","nodeType":"YulTypedName","src":"7898:6:6","type":""},{"name":"value6","nodeType":"YulTypedName","src":"7906:6:6","type":""}],"src":"7654:1481:6"},{"body":{"nodeType":"YulBlock","src":"9206:53:6","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"9223:3:6"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"9246:5:6"}],"functionName":{"name":"cleanup_t_bytes32","nodeType":"YulIdentifier","src":"9228:17:6"},"nodeType":"YulFunctionCall","src":"9228:24:6"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9216:6:6"},"nodeType":"YulFunctionCall","src":"9216:37:6"},"nodeType":"YulExpressionStatement","src":"9216:37:6"}]},"name":"abi_encode_t_bytes32_to_t_bytes32_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"9194:5:6","type":""},{"name":"pos","nodeType":"YulTypedName","src":"9201:3:6","type":""}],"src":"9141:118:6"},{"body":{"nodeType":"YulBlock","src":"9363:124:6","statements":[{"nodeType":"YulAssignment","src":"9373:26:6","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9385:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"9396:2:6","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9381:3:6"},"nodeType":"YulFunctionCall","src":"9381:18:6"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"9373:4:6"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"9453:6:6"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9466:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"9477:1:6","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9462:3:6"},"nodeType":"YulFunctionCall","src":"9462:17:6"}],"functionName":{"name":"abi_encode_t_bytes32_to_t_bytes32_fromStack","nodeType":"YulIdentifier","src":"9409:43:6"},"nodeType":"YulFunctionCall","src":"9409:71:6"},"nodeType":"YulExpressionStatement","src":"9409:71:6"}]},"name":"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"9335:9:6","type":""},{"name":"value0","nodeType":"YulTypedName","src":"9347:6:6","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"9358:4:6","type":""}],"src":"9265:222:6"},{"body":{"nodeType":"YulBlock","src":"9521:152:6","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9538:1:6","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"9541:77:6","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9531:6:6"},"nodeType":"YulFunctionCall","src":"9531:88:6"},"nodeType":"YulExpressionStatement","src":"9531:88:6"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9635:1:6","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"9638:4:6","type":"","value":"0x12"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9628:6:6"},"nodeType":"YulFunctionCall","src":"9628:15:6"},"nodeType":"YulExpressionStatement","src":"9628:15:6"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9659:1:6","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"9662:4:6","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"9652:6:6"},"nodeType":"YulFunctionCall","src":"9652:15:6"},"nodeType":"YulExpressionStatement","src":"9652:15:6"}]},"name":"panic_error_0x12","nodeType":"YulFunctionDefinition","src":"9493:180:6"},{"body":{"nodeType":"YulBlock","src":"9707:152:6","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9724:1:6","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"9727:77:6","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9717:6:6"},"nodeType":"YulFunctionCall","src":"9717:88:6"},"nodeType":"YulExpressionStatement","src":"9717:88:6"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9821:1:6","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"9824:4:6","type":"","value":"0x11"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9814:6:6"},"nodeType":"YulFunctionCall","src":"9814:15:6"},"nodeType":"YulExpressionStatement","src":"9814:15:6"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9845:1:6","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"9848:4:6","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"9838:6:6"},"nodeType":"YulFunctionCall","src":"9838:15:6"},"nodeType":"YulExpressionStatement","src":"9838:15:6"}]},"name":"panic_error_0x11","nodeType":"YulFunctionDefinition","src":"9679:180:6"},{"body":{"nodeType":"YulBlock","src":"9907:143:6","statements":[{"nodeType":"YulAssignment","src":"9917:25:6","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"9940:1:6"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"9922:17:6"},"nodeType":"YulFunctionCall","src":"9922:20:6"},"variableNames":[{"name":"x","nodeType":"YulIdentifier","src":"9917:1:6"}]},{"nodeType":"YulAssignment","src":"9951:25:6","value":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"9974:1:6"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"9956:17:6"},"nodeType":"YulFunctionCall","src":"9956:20:6"},"variableNames":[{"name":"y","nodeType":"YulIdentifier","src":"9951:1:6"}]},{"body":{"nodeType":"YulBlock","src":"9998:22:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x12","nodeType":"YulIdentifier","src":"10000:16:6"},"nodeType":"YulFunctionCall","src":"10000:18:6"},"nodeType":"YulExpressionStatement","src":"10000:18:6"}]},"condition":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"9995:1:6"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"9988:6:6"},"nodeType":"YulFunctionCall","src":"9988:9:6"},"nodeType":"YulIf","src":"9985:35:6"},{"nodeType":"YulAssignment","src":"10030:14:6","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"10039:1:6"},{"name":"y","nodeType":"YulIdentifier","src":"10042:1:6"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"10035:3:6"},"nodeType":"YulFunctionCall","src":"10035:9:6"},"variableNames":[{"name":"r","nodeType":"YulIdentifier","src":"10030:1:6"}]}]},"name":"checked_div_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"9896:1:6","type":""},{"name":"y","nodeType":"YulTypedName","src":"9899:1:6","type":""}],"returnVariables":[{"name":"r","nodeType":"YulTypedName","src":"9905:1:6","type":""}],"src":"9865:185:6"},{"body":{"nodeType":"YulBlock","src":"10101:149:6","statements":[{"nodeType":"YulAssignment","src":"10111:25:6","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"10134:1:6"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"10116:17:6"},"nodeType":"YulFunctionCall","src":"10116:20:6"},"variableNames":[{"name":"x","nodeType":"YulIdentifier","src":"10111:1:6"}]},{"nodeType":"YulAssignment","src":"10145:25:6","value":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"10168:1:6"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"10150:17:6"},"nodeType":"YulFunctionCall","src":"10150:20:6"},"variableNames":[{"name":"y","nodeType":"YulIdentifier","src":"10145:1:6"}]},{"nodeType":"YulAssignment","src":"10179:17:6","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"10191:1:6"},{"name":"y","nodeType":"YulIdentifier","src":"10194:1:6"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"10187:3:6"},"nodeType":"YulFunctionCall","src":"10187:9:6"},"variableNames":[{"name":"diff","nodeType":"YulIdentifier","src":"10179:4:6"}]},{"body":{"nodeType":"YulBlock","src":"10221:22:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"10223:16:6"},"nodeType":"YulFunctionCall","src":"10223:18:6"},"nodeType":"YulExpressionStatement","src":"10223:18:6"}]},"condition":{"arguments":[{"name":"diff","nodeType":"YulIdentifier","src":"10212:4:6"},{"name":"x","nodeType":"YulIdentifier","src":"10218:1:6"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"10209:2:6"},"nodeType":"YulFunctionCall","src":"10209:11:6"},"nodeType":"YulIf","src":"10206:37:6"}]},"name":"checked_sub_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"10087:1:6","type":""},{"name":"y","nodeType":"YulTypedName","src":"10090:1:6","type":""}],"returnVariables":[{"name":"diff","nodeType":"YulTypedName","src":"10096:4:6","type":""}],"src":"10056:194:6"},{"body":{"nodeType":"YulBlock","src":"10410:288:6","statements":[{"nodeType":"YulAssignment","src":"10420:26:6","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10432:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"10443:2:6","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10428:3:6"},"nodeType":"YulFunctionCall","src":"10428:18:6"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"10420:4:6"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"10500:6:6"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10513:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"10524:1:6","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10509:3:6"},"nodeType":"YulFunctionCall","src":"10509:17:6"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"10456:43:6"},"nodeType":"YulFunctionCall","src":"10456:71:6"},"nodeType":"YulExpressionStatement","src":"10456:71:6"},{"expression":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"10581:6:6"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10594:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"10605:2:6","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10590:3:6"},"nodeType":"YulFunctionCall","src":"10590:18:6"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"10537:43:6"},"nodeType":"YulFunctionCall","src":"10537:72:6"},"nodeType":"YulExpressionStatement","src":"10537:72:6"},{"expression":{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"10663:6:6"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10676:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"10687:2:6","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10672:3:6"},"nodeType":"YulFunctionCall","src":"10672:18:6"}],"functionName":{"name":"abi_encode_t_bytes32_to_t_bytes32_fromStack","nodeType":"YulIdentifier","src":"10619:43:6"},"nodeType":"YulFunctionCall","src":"10619:72:6"},"nodeType":"YulExpressionStatement","src":"10619:72:6"}]},"name":"abi_encode_tuple_t_uint256_t_uint256_t_bytes32__to_t_uint256_t_uint256_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"10366:9:6","type":""},{"name":"value2","nodeType":"YulTypedName","src":"10378:6:6","type":""},{"name":"value1","nodeType":"YulTypedName","src":"10386:6:6","type":""},{"name":"value0","nodeType":"YulTypedName","src":"10394:6:6","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"10405:4:6","type":""}],"src":"10256:442:6"},{"body":{"nodeType":"YulBlock","src":"10841:73:6","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"10858:3:6"},{"name":"length","nodeType":"YulIdentifier","src":"10863:6:6"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10851:6:6"},"nodeType":"YulFunctionCall","src":"10851:19:6"},"nodeType":"YulExpressionStatement","src":"10851:19:6"},{"nodeType":"YulAssignment","src":"10879:29:6","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"10898:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"10903:4:6","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10894:3:6"},"nodeType":"YulFunctionCall","src":"10894:14:6"},"variableNames":[{"name":"updated_pos","nodeType":"YulIdentifier","src":"10879:11:6"}]}]},"name":"array_storeLengthForEncoding_t_array$_t_struct$_Validator_$394_memory_ptr_$dyn_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"10813:3:6","type":""},{"name":"length","nodeType":"YulTypedName","src":"10818:6:6","type":""}],"returnVariables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"10829:11:6","type":""}],"src":"10704:210:6"},{"body":{"nodeType":"YulBlock","src":"11022:28:6","statements":[{"nodeType":"YulAssignment","src":"11032:11:6","value":{"name":"ptr","nodeType":"YulIdentifier","src":"11040:3:6"},"variableNames":[{"name":"data","nodeType":"YulIdentifier","src":"11032:4:6"}]}]},"name":"array_dataslot_t_array$_t_struct$_Validator_$394_calldata_ptr_$dyn_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"ptr","nodeType":"YulTypedName","src":"11009:3:6","type":""}],"returnVariables":[{"name":"data","nodeType":"YulTypedName","src":"11017:4:6","type":""}],"src":"10920:130:6"},{"body":{"nodeType":"YulBlock","src":"11099:79:6","statements":[{"body":{"nodeType":"YulBlock","src":"11156:16:6","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11165:1:6","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"11168:1:6","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"11158:6:6"},"nodeType":"YulFunctionCall","src":"11158:12:6"},"nodeType":"YulExpressionStatement","src":"11158:12:6"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"11122:5:6"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"11147:5:6"}],"functionName":{"name":"cleanup_t_address","nodeType":"YulIdentifier","src":"11129:17:6"},"nodeType":"YulFunctionCall","src":"11129:24:6"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"11119:2:6"},"nodeType":"YulFunctionCall","src":"11119:35:6"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"11112:6:6"},"nodeType":"YulFunctionCall","src":"11112:43:6"},"nodeType":"YulIf","src":"11109:63:6"}]},"name":"validator_revert_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"11092:5:6","type":""}],"src":"11056:122:6"},{"body":{"nodeType":"YulBlock","src":"11236:87:6","statements":[{"nodeType":"YulAssignment","src":"11246:29:6","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"11268:6:6"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"11255:12:6"},"nodeType":"YulFunctionCall","src":"11255:20:6"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"11246:5:6"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"11311:5:6"}],"functionName":{"name":"validator_revert_t_address","nodeType":"YulIdentifier","src":"11284:26:6"},"nodeType":"YulFunctionCall","src":"11284:33:6"},"nodeType":"YulExpressionStatement","src":"11284:33:6"}]},"name":"abi_decode_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"11214:6:6","type":""},{"name":"end","nodeType":"YulTypedName","src":"11222:3:6","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"11230:5:6","type":""}],"src":"11184:139:6"},{"body":{"nodeType":"YulBlock","src":"11387:64:6","statements":[{"nodeType":"YulAssignment","src":"11397:48:6","value":{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"11427:3:6"},{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"11436:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"11441:2:6","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11432:3:6"},"nodeType":"YulFunctionCall","src":"11432:12:6"}],"functionName":{"name":"abi_decode_t_address","nodeType":"YulIdentifier","src":"11406:20:6"},"nodeType":"YulFunctionCall","src":"11406:39:6"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"11397:5:6"}]}]},"name":"calldata_access_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"baseRef","nodeType":"YulTypedName","src":"11364:7:6","type":""},{"name":"ptr","nodeType":"YulTypedName","src":"11373:3:6","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"11381:5:6","type":""}],"src":"11329:122:6"},{"body":{"nodeType":"YulBlock","src":"11512:53:6","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"11529:3:6"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"11552:5:6"}],"functionName":{"name":"cleanup_t_address","nodeType":"YulIdentifier","src":"11534:17:6"},"nodeType":"YulFunctionCall","src":"11534:24:6"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11522:6:6"},"nodeType":"YulFunctionCall","src":"11522:37:6"},"nodeType":"YulExpressionStatement","src":"11522:37:6"}]},"name":"abi_encode_t_address_to_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"11500:5:6","type":""},{"name":"pos","nodeType":"YulTypedName","src":"11507:3:6","type":""}],"src":"11457:108:6"},{"body":{"nodeType":"YulBlock","src":"11629:64:6","statements":[{"nodeType":"YulAssignment","src":"11639:48:6","value":{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"11669:3:6"},{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"11678:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"11683:2:6","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11674:3:6"},"nodeType":"YulFunctionCall","src":"11674:12:6"}],"functionName":{"name":"abi_decode_t_uint256","nodeType":"YulIdentifier","src":"11648:20:6"},"nodeType":"YulFunctionCall","src":"11648:39:6"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"11639:5:6"}]}]},"name":"calldata_access_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"baseRef","nodeType":"YulTypedName","src":"11606:7:6","type":""},{"name":"ptr","nodeType":"YulTypedName","src":"11615:3:6","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"11623:5:6","type":""}],"src":"11571:122:6"},{"body":{"nodeType":"YulBlock","src":"11754:53:6","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"11771:3:6"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"11794:5:6"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"11776:17:6"},"nodeType":"YulFunctionCall","src":"11776:24:6"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11764:6:6"},"nodeType":"YulFunctionCall","src":"11764:37:6"},"nodeType":"YulExpressionStatement","src":"11764:37:6"}]},"name":"abi_encode_t_uint256_to_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"11742:5:6","type":""},{"name":"pos","nodeType":"YulTypedName","src":"11749:3:6","type":""}],"src":"11699:108:6"},{"body":{"nodeType":"YulBlock","src":"11967:446:6","statements":[{"nodeType":"YulVariableDeclaration","src":"11977:26:6","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"11993:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"11998:4:6","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11989:3:6"},"nodeType":"YulFunctionCall","src":"11989:14:6"},"variables":[{"name":"tail","nodeType":"YulTypedName","src":"11981:4:6","type":""}]},{"nodeType":"YulBlock","src":"12013:191:6","statements":[{"nodeType":"YulVariableDeclaration","src":"12048:70:6","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"12094:5:6"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"12105:5:6"},{"kind":"number","nodeType":"YulLiteral","src":"12112:4:6","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12101:3:6"},"nodeType":"YulFunctionCall","src":"12101:16:6"}],"functionName":{"name":"calldata_access_t_address","nodeType":"YulIdentifier","src":"12068:25:6"},"nodeType":"YulFunctionCall","src":"12068:50:6"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"12052:12:6","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"12165:12:6"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"12183:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"12188:4:6","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12179:3:6"},"nodeType":"YulFunctionCall","src":"12179:14:6"}],"functionName":{"name":"abi_encode_t_address_to_t_address","nodeType":"YulIdentifier","src":"12131:33:6"},"nodeType":"YulFunctionCall","src":"12131:63:6"},"nodeType":"YulExpressionStatement","src":"12131:63:6"}]},{"nodeType":"YulBlock","src":"12214:192:6","statements":[{"nodeType":"YulVariableDeclaration","src":"12250:70:6","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"12296:5:6"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"12307:5:6"},{"kind":"number","nodeType":"YulLiteral","src":"12314:4:6","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12303:3:6"},"nodeType":"YulFunctionCall","src":"12303:16:6"}],"functionName":{"name":"calldata_access_t_uint256","nodeType":"YulIdentifier","src":"12270:25:6"},"nodeType":"YulFunctionCall","src":"12270:50:6"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"12254:12:6","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"12367:12:6"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"12385:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"12390:4:6","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12381:3:6"},"nodeType":"YulFunctionCall","src":"12381:14:6"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256","nodeType":"YulIdentifier","src":"12333:33:6"},"nodeType":"YulFunctionCall","src":"12333:63:6"},"nodeType":"YulExpressionStatement","src":"12333:63:6"}]}]},"name":"abi_encode_t_struct$_Validator_$394_calldata_ptr_to_t_struct$_Validator_$394_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"11954:5:6","type":""},{"name":"pos","nodeType":"YulTypedName","src":"11961:3:6","type":""}],"src":"11857:556:6"},{"body":{"nodeType":"YulBlock","src":"12553:153:6","statements":[{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"12651:6:6"},{"name":"pos","nodeType":"YulIdentifier","src":"12659:3:6"}],"functionName":{"name":"abi_encode_t_struct$_Validator_$394_calldata_ptr_to_t_struct$_Validator_$394_memory_ptr","nodeType":"YulIdentifier","src":"12563:87:6"},"nodeType":"YulFunctionCall","src":"12563:100:6"},"nodeType":"YulExpressionStatement","src":"12563:100:6"},{"nodeType":"YulAssignment","src":"12672:28:6","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"12690:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"12695:4:6","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12686:3:6"},"nodeType":"YulFunctionCall","src":"12686:14:6"},"variableNames":[{"name":"updatedPos","nodeType":"YulIdentifier","src":"12672:10:6"}]}]},"name":"abi_encodeUpdatedPos_t_struct$_Validator_$394_calldata_ptr_to_t_struct$_Validator_$394_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"value0","nodeType":"YulTypedName","src":"12526:6:6","type":""},{"name":"pos","nodeType":"YulTypedName","src":"12534:3:6","type":""}],"returnVariables":[{"name":"updatedPos","nodeType":"YulTypedName","src":"12542:10:6","type":""}],"src":"12419:287:6"},{"body":{"nodeType":"YulBlock","src":"12798:28:6","statements":[{"nodeType":"YulAssignment","src":"12808:12:6","value":{"name":"ptr","nodeType":"YulIdentifier","src":"12817:3:6"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"12808:5:6"}]}]},"name":"calldata_access_t_struct$_Validator_$394_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"baseRef","nodeType":"YulTypedName","src":"12775:7:6","type":""},{"name":"ptr","nodeType":"YulTypedName","src":"12784:3:6","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"12792:5:6","type":""}],"src":"12712:114:6"},{"body":{"nodeType":"YulBlock","src":"12937:38:6","statements":[{"nodeType":"YulAssignment","src":"12947:22:6","value":{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"12959:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"12964:4:6","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12955:3:6"},"nodeType":"YulFunctionCall","src":"12955:14:6"},"variableNames":[{"name":"next","nodeType":"YulIdentifier","src":"12947:4:6"}]}]},"name":"array_nextElement_t_array$_t_struct$_Validator_$394_calldata_ptr_$dyn_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"ptr","nodeType":"YulTypedName","src":"12924:3:6","type":""}],"returnVariables":[{"name":"next","nodeType":"YulTypedName","src":"12932:4:6","type":""}],"src":"12832:143:6"},{"body":{"nodeType":"YulBlock","src":"13217:729:6","statements":[{"nodeType":"YulAssignment","src":"13228:119:6","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"13335:3:6"},{"name":"length","nodeType":"YulIdentifier","src":"13340:6:6"}],"functionName":{"name":"array_storeLengthForEncoding_t_array$_t_struct$_Validator_$394_memory_ptr_$dyn_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"13235:99:6"},"nodeType":"YulFunctionCall","src":"13235:112:6"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"13228:3:6"}]},{"nodeType":"YulVariableDeclaration","src":"13356:101:6","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"13451:5:6"}],"functionName":{"name":"array_dataslot_t_array$_t_struct$_Validator_$394_calldata_ptr_$dyn_calldata_ptr","nodeType":"YulIdentifier","src":"13371:79:6"},"nodeType":"YulFunctionCall","src":"13371:86:6"},"variables":[{"name":"baseRef","nodeType":"YulTypedName","src":"13360:7:6","type":""}]},{"nodeType":"YulVariableDeclaration","src":"13466:21:6","value":{"name":"baseRef","nodeType":"YulIdentifier","src":"13480:7:6"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"13470:6:6","type":""}]},{"body":{"nodeType":"YulBlock","src":"13556:365:6","statements":[{"nodeType":"YulVariableDeclaration","src":"13570:91:6","value":{"arguments":[{"name":"baseRef","nodeType":"YulIdentifier","src":"13645:7:6"},{"name":"srcPtr","nodeType":"YulIdentifier","src":"13654:6:6"}],"functionName":{"name":"calldata_access_t_struct$_Validator_$394_calldata_ptr","nodeType":"YulIdentifier","src":"13591:53:6"},"nodeType":"YulFunctionCall","src":"13591:70:6"},"variables":[{"name":"elementValue0","nodeType":"YulTypedName","src":"13574:13:6","type":""}]},{"nodeType":"YulAssignment","src":"13674:124:6","value":{"arguments":[{"name":"elementValue0","nodeType":"YulIdentifier","src":"13779:13:6"},{"name":"pos","nodeType":"YulIdentifier","src":"13794:3:6"}],"functionName":{"name":"abi_encodeUpdatedPos_t_struct$_Validator_$394_calldata_ptr_to_t_struct$_Validator_$394_memory_ptr","nodeType":"YulIdentifier","src":"13681:97:6"},"nodeType":"YulFunctionCall","src":"13681:117:6"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"13674:3:6"}]},{"nodeType":"YulAssignment","src":"13811:100:6","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"13904:6:6"}],"functionName":{"name":"array_nextElement_t_array$_t_struct$_Validator_$394_calldata_ptr_$dyn_calldata_ptr","nodeType":"YulIdentifier","src":"13821:82:6"},"nodeType":"YulFunctionCall","src":"13821:90:6"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"13811:6:6"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"13518:1:6"},{"name":"length","nodeType":"YulIdentifier","src":"13521:6:6"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"13515:2:6"},"nodeType":"YulFunctionCall","src":"13515:13:6"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"13529:18:6","statements":[{"nodeType":"YulAssignment","src":"13531:14:6","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"13540:1:6"},{"kind":"number","nodeType":"YulLiteral","src":"13543:1:6","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13536:3:6"},"nodeType":"YulFunctionCall","src":"13536:9:6"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"13531:1:6"}]}]},"pre":{"nodeType":"YulBlock","src":"13500:14:6","statements":[{"nodeType":"YulVariableDeclaration","src":"13502:10:6","value":{"kind":"number","nodeType":"YulLiteral","src":"13511:1:6","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"13506:1:6","type":""}]}]},"src":"13496:425:6"},{"nodeType":"YulAssignment","src":"13930:10:6","value":{"name":"pos","nodeType":"YulIdentifier","src":"13937:3:6"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"13930:3:6"}]}]},"name":"abi_encode_t_array$_t_struct$_Validator_$394_calldata_ptr_$dyn_calldata_ptr_to_t_array$_t_struct$_Validator_$394_memory_ptr_$dyn_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"13188:5:6","type":""},{"name":"length","nodeType":"YulTypedName","src":"13195:6:6","type":""},{"name":"pos","nodeType":"YulTypedName","src":"13203:3:6","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"13212:3:6","type":""}],"src":"13029:917:6"},{"body":{"nodeType":"YulBlock","src":"14164:289:6","statements":[{"nodeType":"YulAssignment","src":"14174:26:6","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14186:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"14197:2:6","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14182:3:6"},"nodeType":"YulFunctionCall","src":"14182:18:6"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"14174:4:6"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14221:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"14232:1:6","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14217:3:6"},"nodeType":"YulFunctionCall","src":"14217:17:6"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"14240:4:6"},{"name":"headStart","nodeType":"YulIdentifier","src":"14246:9:6"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"14236:3:6"},"nodeType":"YulFunctionCall","src":"14236:20:6"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14210:6:6"},"nodeType":"YulFunctionCall","src":"14210:47:6"},"nodeType":"YulExpressionStatement","src":"14210:47:6"},{"nodeType":"YulAssignment","src":"14266:180:6","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"14424:6:6"},{"name":"value1","nodeType":"YulIdentifier","src":"14432:6:6"},{"name":"tail","nodeType":"YulIdentifier","src":"14441:4:6"}],"functionName":{"name":"abi_encode_t_array$_t_struct$_Validator_$394_calldata_ptr_$dyn_calldata_ptr_to_t_array$_t_struct$_Validator_$394_memory_ptr_$dyn_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"14274:149:6"},"nodeType":"YulFunctionCall","src":"14274:172:6"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"14266:4:6"}]}]},"name":"abi_encode_tuple_t_array$_t_struct$_Validator_$394_calldata_ptr_$dyn_calldata_ptr__to_t_array$_t_struct$_Validator_$394_memory_ptr_$dyn_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"14128:9:6","type":""},{"name":"value1","nodeType":"YulTypedName","src":"14140:6:6","type":""},{"name":"value0","nodeType":"YulTypedName","src":"14148:6:6","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"14159:4:6","type":""}],"src":"13952:501:6"},{"body":{"nodeType":"YulBlock","src":"14548:28:6","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14565:1:6","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"14568:1:6","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"14558:6:6"},"nodeType":"YulFunctionCall","src":"14558:12:6"},"nodeType":"YulExpressionStatement","src":"14558:12:6"}]},"name":"revert_error_356d538aaf70fba12156cc466564b792649f8f3befb07b071c91142253e175ad","nodeType":"YulFunctionDefinition","src":"14459:117:6"},{"body":{"nodeType":"YulBlock","src":"14671:28:6","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14688:1:6","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"14691:1:6","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"14681:6:6"},"nodeType":"YulFunctionCall","src":"14681:12:6"},"nodeType":"YulExpressionStatement","src":"14681:12:6"}]},"name":"revert_error_1e55d03107e9c4f1b5e21c76a16fba166a461117ab153bcce65e6a4ea8e5fc8a","nodeType":"YulFunctionDefinition","src":"14582:117:6"},{"body":{"nodeType":"YulBlock","src":"14794:28:6","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14811:1:6","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"14814:1:6","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"14804:6:6"},"nodeType":"YulFunctionCall","src":"14804:12:6"},"nodeType":"YulExpressionStatement","src":"14804:12:6"}]},"name":"revert_error_977805620ff29572292dee35f70b0f3f3f73d3fdd0e9f4d7a901c2e43ab18a2e","nodeType":"YulFunctionDefinition","src":"14705:117:6"},{"body":{"nodeType":"YulBlock","src":"14928:295:6","statements":[{"nodeType":"YulVariableDeclaration","src":"14938:51:6","value":{"arguments":[{"name":"ptr_to_tail","nodeType":"YulIdentifier","src":"14977:11:6"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"14964:12:6"},"nodeType":"YulFunctionCall","src":"14964:25:6"},"variables":[{"name":"rel_offset_of_tail","nodeType":"YulTypedName","src":"14942:18:6","type":""}]},{"body":{"nodeType":"YulBlock","src":"15083:83:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_356d538aaf70fba12156cc466564b792649f8f3befb07b071c91142253e175ad","nodeType":"YulIdentifier","src":"15085:77:6"},"nodeType":"YulFunctionCall","src":"15085:79:6"},"nodeType":"YulExpressionStatement","src":"15085:79:6"}]},"condition":{"arguments":[{"arguments":[{"name":"rel_offset_of_tail","nodeType":"YulIdentifier","src":"15012:18:6"},{"arguments":[{"arguments":[{"arguments":[],"functionName":{"name":"calldatasize","nodeType":"YulIdentifier","src":"15040:12:6"},"nodeType":"YulFunctionCall","src":"15040:14:6"},{"name":"base_ref","nodeType":"YulIdentifier","src":"15056:8:6"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"15036:3:6"},"nodeType":"YulFunctionCall","src":"15036:29:6"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"15071:4:6","type":"","value":"0xc0"},{"kind":"number","nodeType":"YulLiteral","src":"15077:1:6","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"15067:3:6"},"nodeType":"YulFunctionCall","src":"15067:12:6"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"15032:3:6"},"nodeType":"YulFunctionCall","src":"15032:48:6"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"15008:3:6"},"nodeType":"YulFunctionCall","src":"15008:73:6"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"15001:6:6"},"nodeType":"YulFunctionCall","src":"15001:81:6"},"nodeType":"YulIf","src":"14998:168:6"},{"nodeType":"YulAssignment","src":"15175:41:6","value":{"arguments":[{"name":"base_ref","nodeType":"YulIdentifier","src":"15187:8:6"},{"name":"rel_offset_of_tail","nodeType":"YulIdentifier","src":"15197:18:6"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15183:3:6"},"nodeType":"YulFunctionCall","src":"15183:33:6"},"variableNames":[{"name":"addr","nodeType":"YulIdentifier","src":"15175:4:6"}]}]},"name":"access_calldata_tail_t_struct$_ReportData_$382_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"base_ref","nodeType":"YulTypedName","src":"14897:8:6","type":""},{"name":"ptr_to_tail","nodeType":"YulTypedName","src":"14907:11:6","type":""}],"returnVariables":[{"name":"addr","nodeType":"YulTypedName","src":"14923:4:6","type":""}],"src":"14828:395:6"},{"body":{"nodeType":"YulBlock","src":"15319:634:6","statements":[{"nodeType":"YulVariableDeclaration","src":"15329:51:6","value":{"arguments":[{"name":"ptr_to_tail","nodeType":"YulIdentifier","src":"15368:11:6"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"15355:12:6"},"nodeType":"YulFunctionCall","src":"15355:25:6"},"variables":[{"name":"rel_offset_of_tail","nodeType":"YulTypedName","src":"15333:18:6","type":""}]},{"body":{"nodeType":"YulBlock","src":"15474:83:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_356d538aaf70fba12156cc466564b792649f8f3befb07b071c91142253e175ad","nodeType":"YulIdentifier","src":"15476:77:6"},"nodeType":"YulFunctionCall","src":"15476:79:6"},"nodeType":"YulExpressionStatement","src":"15476:79:6"}]},"condition":{"arguments":[{"arguments":[{"name":"rel_offset_of_tail","nodeType":"YulIdentifier","src":"15403:18:6"},{"arguments":[{"arguments":[{"arguments":[],"functionName":{"name":"calldatasize","nodeType":"YulIdentifier","src":"15431:12:6"},"nodeType":"YulFunctionCall","src":"15431:14:6"},{"name":"base_ref","nodeType":"YulIdentifier","src":"15447:8:6"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"15427:3:6"},"nodeType":"YulFunctionCall","src":"15427:29:6"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"15462:4:6","type":"","value":"0x20"},{"kind":"number","nodeType":"YulLiteral","src":"15468:1:6","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"15458:3:6"},"nodeType":"YulFunctionCall","src":"15458:12:6"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"15423:3:6"},"nodeType":"YulFunctionCall","src":"15423:48:6"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"15399:3:6"},"nodeType":"YulFunctionCall","src":"15399:73:6"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"15392:6:6"},"nodeType":"YulFunctionCall","src":"15392:81:6"},"nodeType":"YulIf","src":"15389:168:6"},{"nodeType":"YulAssignment","src":"15566:41:6","value":{"arguments":[{"name":"base_ref","nodeType":"YulIdentifier","src":"15578:8:6"},{"name":"rel_offset_of_tail","nodeType":"YulIdentifier","src":"15588:18:6"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15574:3:6"},"nodeType":"YulFunctionCall","src":"15574:33:6"},"variableNames":[{"name":"addr","nodeType":"YulIdentifier","src":"15566:4:6"}]},{"nodeType":"YulAssignment","src":"15617:28:6","value":{"arguments":[{"name":"addr","nodeType":"YulIdentifier","src":"15640:4:6"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"15627:12:6"},"nodeType":"YulFunctionCall","src":"15627:18:6"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"15617:6:6"}]},{"body":{"nodeType":"YulBlock","src":"15688:83:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_1e55d03107e9c4f1b5e21c76a16fba166a461117ab153bcce65e6a4ea8e5fc8a","nodeType":"YulIdentifier","src":"15690:77:6"},"nodeType":"YulFunctionCall","src":"15690:79:6"},"nodeType":"YulExpressionStatement","src":"15690:79:6"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"15660:6:6"},{"kind":"number","nodeType":"YulLiteral","src":"15668:18:6","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"15657:2:6"},"nodeType":"YulFunctionCall","src":"15657:30:6"},"nodeType":"YulIf","src":"15654:117:6"},{"nodeType":"YulAssignment","src":"15780:21:6","value":{"arguments":[{"name":"addr","nodeType":"YulIdentifier","src":"15792:4:6"},{"kind":"number","nodeType":"YulLiteral","src":"15798:2:6","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15788:3:6"},"nodeType":"YulFunctionCall","src":"15788:13:6"},"variableNames":[{"name":"addr","nodeType":"YulIdentifier","src":"15780:4:6"}]},{"body":{"nodeType":"YulBlock","src":"15863:83:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_977805620ff29572292dee35f70b0f3f3f73d3fdd0e9f4d7a901c2e43ab18a2e","nodeType":"YulIdentifier","src":"15865:77:6"},"nodeType":"YulFunctionCall","src":"15865:79:6"},"nodeType":"YulExpressionStatement","src":"15865:79:6"}]},"condition":{"arguments":[{"name":"addr","nodeType":"YulIdentifier","src":"15817:4:6"},{"arguments":[{"arguments":[],"functionName":{"name":"calldatasize","nodeType":"YulIdentifier","src":"15827:12:6"},"nodeType":"YulFunctionCall","src":"15827:14:6"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"15847:6:6"},{"kind":"number","nodeType":"YulLiteral","src":"15855:4:6","type":"","value":"0x01"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"15843:3:6"},"nodeType":"YulFunctionCall","src":"15843:17:6"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"15823:3:6"},"nodeType":"YulFunctionCall","src":"15823:38:6"}],"functionName":{"name":"sgt","nodeType":"YulIdentifier","src":"15813:3:6"},"nodeType":"YulFunctionCall","src":"15813:49:6"},"nodeType":"YulIf","src":"15810:136:6"}]},"name":"access_calldata_tail_t_bytes_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"base_ref","nodeType":"YulTypedName","src":"15280:8:6","type":""},{"name":"ptr_to_tail","nodeType":"YulTypedName","src":"15290:11:6","type":""}],"returnVariables":[{"name":"addr","nodeType":"YulTypedName","src":"15306:4:6","type":""},{"name":"length","nodeType":"YulTypedName","src":"15312:6:6","type":""}],"src":"15229:724:6"},{"body":{"nodeType":"YulBlock","src":"16054:73:6","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"16071:3:6"},{"name":"length","nodeType":"YulIdentifier","src":"16076:6:6"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16064:6:6"},"nodeType":"YulFunctionCall","src":"16064:19:6"},"nodeType":"YulExpressionStatement","src":"16064:19:6"},{"nodeType":"YulAssignment","src":"16092:29:6","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"16111:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"16116:4:6","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16107:3:6"},"nodeType":"YulFunctionCall","src":"16107:14:6"},"variableNames":[{"name":"updated_pos","nodeType":"YulIdentifier","src":"16092:11:6"}]}]},"name":"array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"16026:3:6","type":""},{"name":"length","nodeType":"YulTypedName","src":"16031:6:6","type":""}],"returnVariables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"16042:11:6","type":""}],"src":"15959:168:6"},{"body":{"nodeType":"YulBlock","src":"16197:82:6","statements":[{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"16220:3:6"},{"name":"src","nodeType":"YulIdentifier","src":"16225:3:6"},{"name":"length","nodeType":"YulIdentifier","src":"16230:6:6"}],"functionName":{"name":"calldatacopy","nodeType":"YulIdentifier","src":"16207:12:6"},"nodeType":"YulFunctionCall","src":"16207:30:6"},"nodeType":"YulExpressionStatement","src":"16207:30:6"},{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"16257:3:6"},{"name":"length","nodeType":"YulIdentifier","src":"16262:6:6"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16253:3:6"},"nodeType":"YulFunctionCall","src":"16253:16:6"},{"kind":"number","nodeType":"YulLiteral","src":"16271:1:6","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16246:6:6"},"nodeType":"YulFunctionCall","src":"16246:27:6"},"nodeType":"YulExpressionStatement","src":"16246:27:6"}]},"name":"copy_calldata_to_memory_with_cleanup","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"16179:3:6","type":""},{"name":"dst","nodeType":"YulTypedName","src":"16184:3:6","type":""},{"name":"length","nodeType":"YulTypedName","src":"16189:6:6","type":""}],"src":"16133:146:6"},{"body":{"nodeType":"YulBlock","src":"16333:54:6","statements":[{"nodeType":"YulAssignment","src":"16343:38:6","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"16361:5:6"},{"kind":"number","nodeType":"YulLiteral","src":"16368:2:6","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16357:3:6"},"nodeType":"YulFunctionCall","src":"16357:14:6"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"16377:2:6","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"16373:3:6"},"nodeType":"YulFunctionCall","src":"16373:7:6"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"16353:3:6"},"nodeType":"YulFunctionCall","src":"16353:28:6"},"variableNames":[{"name":"result","nodeType":"YulIdentifier","src":"16343:6:6"}]}]},"name":"round_up_to_mul_of_32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"16316:5:6","type":""}],"returnVariables":[{"name":"result","nodeType":"YulTypedName","src":"16326:6:6","type":""}],"src":"16285:102:6"},{"body":{"nodeType":"YulBlock","src":"16515:214:6","statements":[{"nodeType":"YulAssignment","src":"16525:77:6","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"16590:3:6"},{"name":"length","nodeType":"YulIdentifier","src":"16595:6:6"}],"functionName":{"name":"array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"16532:57:6"},"nodeType":"YulFunctionCall","src":"16532:70:6"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"16525:3:6"}]},{"expression":{"arguments":[{"name":"start","nodeType":"YulIdentifier","src":"16649:5:6"},{"name":"pos","nodeType":"YulIdentifier","src":"16656:3:6"},{"name":"length","nodeType":"YulIdentifier","src":"16661:6:6"}],"functionName":{"name":"copy_calldata_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"16612:36:6"},"nodeType":"YulFunctionCall","src":"16612:56:6"},"nodeType":"YulExpressionStatement","src":"16612:56:6"},{"nodeType":"YulAssignment","src":"16677:46:6","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"16688:3:6"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"16715:6:6"}],"functionName":{"name":"round_up_to_mul_of_32","nodeType":"YulIdentifier","src":"16693:21:6"},"nodeType":"YulFunctionCall","src":"16693:29:6"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16684:3:6"},"nodeType":"YulFunctionCall","src":"16684:39:6"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"16677:3:6"}]}]},"name":"abi_encode_t_bytes_calldata_ptr_to_t_bytes_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"start","nodeType":"YulTypedName","src":"16488:5:6","type":""},{"name":"length","nodeType":"YulTypedName","src":"16495:6:6","type":""},{"name":"pos","nodeType":"YulTypedName","src":"16503:3:6","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"16511:3:6","type":""}],"src":"16415:314:6"},{"body":{"nodeType":"YulBlock","src":"17114:949:6","statements":[{"nodeType":"YulAssignment","src":"17124:27:6","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17136:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"17147:3:6","type":"","value":"320"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17132:3:6"},"nodeType":"YulFunctionCall","src":"17132:19:6"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"17124:4:6"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"17205:6:6"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17218:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"17229:1:6","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17214:3:6"},"nodeType":"YulFunctionCall","src":"17214:17:6"}],"functionName":{"name":"abi_encode_t_bytes32_to_t_bytes32_fromStack","nodeType":"YulIdentifier","src":"17161:43:6"},"nodeType":"YulFunctionCall","src":"17161:71:6"},"nodeType":"YulExpressionStatement","src":"17161:71:6"},{"expression":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"17286:6:6"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17299:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"17310:2:6","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17295:3:6"},"nodeType":"YulFunctionCall","src":"17295:18:6"}],"functionName":{"name":"abi_encode_t_bytes32_to_t_bytes32_fromStack","nodeType":"YulIdentifier","src":"17242:43:6"},"nodeType":"YulFunctionCall","src":"17242:72:6"},"nodeType":"YulExpressionStatement","src":"17242:72:6"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17335:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"17346:2:6","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17331:3:6"},"nodeType":"YulFunctionCall","src":"17331:18:6"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"17355:4:6"},{"name":"headStart","nodeType":"YulIdentifier","src":"17361:9:6"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"17351:3:6"},"nodeType":"YulFunctionCall","src":"17351:20:6"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17324:6:6"},"nodeType":"YulFunctionCall","src":"17324:48:6"},"nodeType":"YulExpressionStatement","src":"17324:48:6"},{"nodeType":"YulAssignment","src":"17381:94:6","value":{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"17453:6:6"},{"name":"value3","nodeType":"YulIdentifier","src":"17461:6:6"},{"name":"tail","nodeType":"YulIdentifier","src":"17470:4:6"}],"functionName":{"name":"abi_encode_t_bytes_calldata_ptr_to_t_bytes_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"17389:63:6"},"nodeType":"YulFunctionCall","src":"17389:86:6"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"17381:4:6"}]},{"expression":{"arguments":[{"name":"value4","nodeType":"YulIdentifier","src":"17529:6:6"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17542:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"17553:2:6","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17538:3:6"},"nodeType":"YulFunctionCall","src":"17538:18:6"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"17485:43:6"},"nodeType":"YulFunctionCall","src":"17485:72:6"},"nodeType":"YulExpressionStatement","src":"17485:72:6"},{"expression":{"arguments":[{"name":"value5","nodeType":"YulIdentifier","src":"17611:6:6"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17624:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"17635:3:6","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17620:3:6"},"nodeType":"YulFunctionCall","src":"17620:19:6"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"17567:43:6"},"nodeType":"YulFunctionCall","src":"17567:73:6"},"nodeType":"YulExpressionStatement","src":"17567:73:6"},{"expression":{"arguments":[{"name":"value6","nodeType":"YulIdentifier","src":"17694:6:6"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17707:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"17718:3:6","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17703:3:6"},"nodeType":"YulFunctionCall","src":"17703:19:6"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"17650:43:6"},"nodeType":"YulFunctionCall","src":"17650:73:6"},"nodeType":"YulExpressionStatement","src":"17650:73:6"},{"expression":{"arguments":[{"name":"value7","nodeType":"YulIdentifier","src":"17777:6:6"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17790:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"17801:3:6","type":"","value":"192"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17786:3:6"},"nodeType":"YulFunctionCall","src":"17786:19:6"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"17733:43:6"},"nodeType":"YulFunctionCall","src":"17733:73:6"},"nodeType":"YulExpressionStatement","src":"17733:73:6"},{"expression":{"arguments":[{"name":"value8","nodeType":"YulIdentifier","src":"17860:6:6"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17873:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"17884:3:6","type":"","value":"224"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17869:3:6"},"nodeType":"YulFunctionCall","src":"17869:19:6"}],"functionName":{"name":"abi_encode_t_bytes32_to_t_bytes32_fromStack","nodeType":"YulIdentifier","src":"17816:43:6"},"nodeType":"YulFunctionCall","src":"17816:73:6"},"nodeType":"YulExpressionStatement","src":"17816:73:6"},{"expression":{"arguments":[{"name":"value9","nodeType":"YulIdentifier","src":"17943:6:6"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17956:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"17967:3:6","type":"","value":"256"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17952:3:6"},"nodeType":"YulFunctionCall","src":"17952:19:6"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"17899:43:6"},"nodeType":"YulFunctionCall","src":"17899:73:6"},"nodeType":"YulExpressionStatement","src":"17899:73:6"},{"expression":{"arguments":[{"name":"value10","nodeType":"YulIdentifier","src":"18026:7:6"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18040:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"18051:3:6","type":"","value":"288"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18036:3:6"},"nodeType":"YulFunctionCall","src":"18036:19:6"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"17982:43:6"},"nodeType":"YulFunctionCall","src":"17982:74:6"},"nodeType":"YulExpressionStatement","src":"17982:74:6"}]},"name":"abi_encode_tuple_t_bytes32_t_bytes32_t_bytes_calldata_ptr_t_uint256_t_uint256_t_uint256_t_uint256_t_bytes32_t_uint256_t_uint256__to_t_bytes32_t_bytes32_t_bytes_memory_ptr_t_uint256_t_uint256_t_uint256_t_uint256_t_bytes32_t_uint256_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"17005:9:6","type":""},{"name":"value10","nodeType":"YulTypedName","src":"17017:7:6","type":""},{"name":"value9","nodeType":"YulTypedName","src":"17026:6:6","type":""},{"name":"value8","nodeType":"YulTypedName","src":"17034:6:6","type":""},{"name":"value7","nodeType":"YulTypedName","src":"17042:6:6","type":""},{"name":"value6","nodeType":"YulTypedName","src":"17050:6:6","type":""},{"name":"value5","nodeType":"YulTypedName","src":"17058:6:6","type":""},{"name":"value4","nodeType":"YulTypedName","src":"17066:6:6","type":""},{"name":"value3","nodeType":"YulTypedName","src":"17074:6:6","type":""},{"name":"value2","nodeType":"YulTypedName","src":"17082:6:6","type":""},{"name":"value1","nodeType":"YulTypedName","src":"17090:6:6","type":""},{"name":"value0","nodeType":"YulTypedName","src":"17098:6:6","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"17109:4:6","type":""}],"src":"16735:1328:6"},{"body":{"nodeType":"YulBlock","src":"18101:28:6","statements":[{"nodeType":"YulAssignment","src":"18111:12:6","value":{"name":"value","nodeType":"YulIdentifier","src":"18118:5:6"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"18111:3:6"}]}]},"name":"identity","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"18087:5:6","type":""}],"returnVariables":[{"name":"ret","nodeType":"YulTypedName","src":"18097:3:6","type":""}],"src":"18069:60:6"},{"body":{"nodeType":"YulBlock","src":"18194:81:6","statements":[{"nodeType":"YulAssignment","src":"18204:65:6","value":{"arguments":[{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"18261:5:6"}],"functionName":{"name":"cleanup_t_uint64","nodeType":"YulIdentifier","src":"18244:16:6"},"nodeType":"YulFunctionCall","src":"18244:23:6"}],"functionName":{"name":"identity","nodeType":"YulIdentifier","src":"18235:8:6"},"nodeType":"YulFunctionCall","src":"18235:33:6"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"18217:17:6"},"nodeType":"YulFunctionCall","src":"18217:52:6"},"variableNames":[{"name":"converted","nodeType":"YulIdentifier","src":"18204:9:6"}]}]},"name":"convert_t_uint64_to_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"18174:5:6","type":""}],"returnVariables":[{"name":"converted","nodeType":"YulTypedName","src":"18184:9:6","type":""}],"src":"18135:140:6"},{"body":{"nodeType":"YulBlock","src":"18345:65:6","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"18362:3:6"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"18397:5:6"}],"functionName":{"name":"convert_t_uint64_to_t_uint256","nodeType":"YulIdentifier","src":"18367:29:6"},"nodeType":"YulFunctionCall","src":"18367:36:6"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18355:6:6"},"nodeType":"YulFunctionCall","src":"18355:49:6"},"nodeType":"YulExpressionStatement","src":"18355:49:6"}]},"name":"abi_encode_t_uint64_to_t_uint256_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"18333:5:6","type":""},{"name":"pos","nodeType":"YulTypedName","src":"18340:3:6","type":""}],"src":"18281:129:6"},{"body":{"nodeType":"YulBlock","src":"18569:287:6","statements":[{"nodeType":"YulAssignment","src":"18579:26:6","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18591:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"18602:2:6","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18587:3:6"},"nodeType":"YulFunctionCall","src":"18587:18:6"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"18579:4:6"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"18658:6:6"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18671:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"18682:1:6","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18667:3:6"},"nodeType":"YulFunctionCall","src":"18667:17:6"}],"functionName":{"name":"abi_encode_t_uint64_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"18615:42:6"},"nodeType":"YulFunctionCall","src":"18615:70:6"},"nodeType":"YulExpressionStatement","src":"18615:70:6"},{"expression":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"18739:6:6"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18752:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"18763:2:6","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18748:3:6"},"nodeType":"YulFunctionCall","src":"18748:18:6"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"18695:43:6"},"nodeType":"YulFunctionCall","src":"18695:72:6"},"nodeType":"YulExpressionStatement","src":"18695:72:6"},{"expression":{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"18821:6:6"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18834:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"18845:2:6","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18830:3:6"},"nodeType":"YulFunctionCall","src":"18830:18:6"}],"functionName":{"name":"abi_encode_t_bytes32_to_t_bytes32_fromStack","nodeType":"YulIdentifier","src":"18777:43:6"},"nodeType":"YulFunctionCall","src":"18777:72:6"},"nodeType":"YulExpressionStatement","src":"18777:72:6"}]},"name":"abi_encode_tuple_t_uint64_t_uint256_t_bytes32__to_t_uint256_t_uint256_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"18525:9:6","type":""},{"name":"value2","nodeType":"YulTypedName","src":"18537:6:6","type":""},{"name":"value1","nodeType":"YulTypedName","src":"18545:6:6","type":""},{"name":"value0","nodeType":"YulTypedName","src":"18553:6:6","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"18564:4:6","type":""}],"src":"18416:440:6"},{"body":{"nodeType":"YulBlock","src":"19044:371:6","statements":[{"nodeType":"YulAssignment","src":"19054:27:6","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19066:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"19077:3:6","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19062:3:6"},"nodeType":"YulFunctionCall","src":"19062:19:6"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"19054:4:6"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"19135:6:6"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19148:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"19159:1:6","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19144:3:6"},"nodeType":"YulFunctionCall","src":"19144:17:6"}],"functionName":{"name":"abi_encode_t_bytes32_to_t_bytes32_fromStack","nodeType":"YulIdentifier","src":"19091:43:6"},"nodeType":"YulFunctionCall","src":"19091:71:6"},"nodeType":"YulExpressionStatement","src":"19091:71:6"},{"expression":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"19216:6:6"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19229:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"19240:2:6","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19225:3:6"},"nodeType":"YulFunctionCall","src":"19225:18:6"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"19172:43:6"},"nodeType":"YulFunctionCall","src":"19172:72:6"},"nodeType":"YulExpressionStatement","src":"19172:72:6"},{"expression":{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"19298:6:6"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19311:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"19322:2:6","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19307:3:6"},"nodeType":"YulFunctionCall","src":"19307:18:6"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"19254:43:6"},"nodeType":"YulFunctionCall","src":"19254:72:6"},"nodeType":"YulExpressionStatement","src":"19254:72:6"},{"expression":{"arguments":[{"name":"value3","nodeType":"YulIdentifier","src":"19380:6:6"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19393:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"19404:2:6","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19389:3:6"},"nodeType":"YulFunctionCall","src":"19389:18:6"}],"functionName":{"name":"abi_encode_t_bytes32_to_t_bytes32_fromStack","nodeType":"YulIdentifier","src":"19336:43:6"},"nodeType":"YulFunctionCall","src":"19336:72:6"},"nodeType":"YulExpressionStatement","src":"19336:72:6"}]},"name":"abi_encode_tuple_t_bytes32_t_uint256_t_uint256_t_bytes32__to_t_bytes32_t_uint256_t_uint256_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"18992:9:6","type":""},{"name":"value3","nodeType":"YulTypedName","src":"19004:6:6","type":""},{"name":"value2","nodeType":"YulTypedName","src":"19012:6:6","type":""},{"name":"value1","nodeType":"YulTypedName","src":"19020:6:6","type":""},{"name":"value0","nodeType":"YulTypedName","src":"19028:6:6","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"19039:4:6","type":""}],"src":"18862:553:6"},{"body":{"nodeType":"YulBlock","src":"19449:152:6","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"19466:1:6","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"19469:77:6","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19459:6:6"},"nodeType":"YulFunctionCall","src":"19459:88:6"},"nodeType":"YulExpressionStatement","src":"19459:88:6"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"19563:1:6","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"19566:4:6","type":"","value":"0x32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19556:6:6"},"nodeType":"YulFunctionCall","src":"19556:15:6"},"nodeType":"YulExpressionStatement","src":"19556:15:6"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"19587:1:6","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"19590:4:6","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"19580:6:6"},"nodeType":"YulFunctionCall","src":"19580:15:6"},"nodeType":"YulExpressionStatement","src":"19580:15:6"}]},"name":"panic_error_0x32","nodeType":"YulFunctionDefinition","src":"19421:180:6"},{"body":{"nodeType":"YulBlock","src":"19650:43:6","statements":[{"nodeType":"YulAssignment","src":"19660:27:6","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"19675:5:6"},{"kind":"number","nodeType":"YulLiteral","src":"19682:4:6","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"19671:3:6"},"nodeType":"YulFunctionCall","src":"19671:16:6"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"19660:7:6"}]}]},"name":"cleanup_t_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"19632:5:6","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"19642:7:6","type":""}],"src":"19607:86:6"},{"body":{"nodeType":"YulBlock","src":"19740:77:6","statements":[{"body":{"nodeType":"YulBlock","src":"19795:16:6","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"19804:1:6","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"19807:1:6","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"19797:6:6"},"nodeType":"YulFunctionCall","src":"19797:12:6"},"nodeType":"YulExpressionStatement","src":"19797:12:6"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"19763:5:6"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"19786:5:6"}],"functionName":{"name":"cleanup_t_uint8","nodeType":"YulIdentifier","src":"19770:15:6"},"nodeType":"YulFunctionCall","src":"19770:22:6"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"19760:2:6"},"nodeType":"YulFunctionCall","src":"19760:33:6"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"19753:6:6"},"nodeType":"YulFunctionCall","src":"19753:41:6"},"nodeType":"YulIf","src":"19750:61:6"}]},"name":"validator_revert_t_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"19733:5:6","type":""}],"src":"19699:118:6"},{"body":{"nodeType":"YulBlock","src":"19873:85:6","statements":[{"nodeType":"YulAssignment","src":"19883:29:6","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"19905:6:6"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"19892:12:6"},"nodeType":"YulFunctionCall","src":"19892:20:6"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"19883:5:6"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"19946:5:6"}],"functionName":{"name":"validator_revert_t_uint8","nodeType":"YulIdentifier","src":"19921:24:6"},"nodeType":"YulFunctionCall","src":"19921:31:6"},"nodeType":"YulExpressionStatement","src":"19921:31:6"}]},"name":"abi_decode_t_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"19851:6:6","type":""},{"name":"end","nodeType":"YulTypedName","src":"19859:3:6","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"19867:5:6","type":""}],"src":"19823:135:6"},{"body":{"nodeType":"YulBlock","src":"20028:261:6","statements":[{"body":{"nodeType":"YulBlock","src":"20074:83:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"20076:77:6"},"nodeType":"YulFunctionCall","src":"20076:79:6"},"nodeType":"YulExpressionStatement","src":"20076:79:6"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"20049:7:6"},{"name":"headStart","nodeType":"YulIdentifier","src":"20058:9:6"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"20045:3:6"},"nodeType":"YulFunctionCall","src":"20045:23:6"},{"kind":"number","nodeType":"YulLiteral","src":"20070:2:6","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"20041:3:6"},"nodeType":"YulFunctionCall","src":"20041:32:6"},"nodeType":"YulIf","src":"20038:119:6"},{"nodeType":"YulBlock","src":"20167:115:6","statements":[{"nodeType":"YulVariableDeclaration","src":"20182:15:6","value":{"kind":"number","nodeType":"YulLiteral","src":"20196:1:6","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"20186:6:6","type":""}]},{"nodeType":"YulAssignment","src":"20211:61:6","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20244:9:6"},{"name":"offset","nodeType":"YulIdentifier","src":"20255:6:6"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20240:3:6"},"nodeType":"YulFunctionCall","src":"20240:22:6"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"20264:7:6"}],"functionName":{"name":"abi_decode_t_uint8","nodeType":"YulIdentifier","src":"20221:18:6"},"nodeType":"YulFunctionCall","src":"20221:51:6"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"20211:6:6"}]}]}]},"name":"abi_decode_tuple_t_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"19998:9:6","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"20009:7:6","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"20021:6:6","type":""}],"src":"19964:325:6"},{"body":{"nodeType":"YulBlock","src":"20361:263:6","statements":[{"body":{"nodeType":"YulBlock","src":"20407:83:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"20409:77:6"},"nodeType":"YulFunctionCall","src":"20409:79:6"},"nodeType":"YulExpressionStatement","src":"20409:79:6"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"20382:7:6"},{"name":"headStart","nodeType":"YulIdentifier","src":"20391:9:6"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"20378:3:6"},"nodeType":"YulFunctionCall","src":"20378:23:6"},{"kind":"number","nodeType":"YulLiteral","src":"20403:2:6","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"20374:3:6"},"nodeType":"YulFunctionCall","src":"20374:32:6"},"nodeType":"YulIf","src":"20371:119:6"},{"nodeType":"YulBlock","src":"20500:117:6","statements":[{"nodeType":"YulVariableDeclaration","src":"20515:15:6","value":{"kind":"number","nodeType":"YulLiteral","src":"20529:1:6","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"20519:6:6","type":""}]},{"nodeType":"YulAssignment","src":"20544:63:6","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20579:9:6"},{"name":"offset","nodeType":"YulIdentifier","src":"20590:6:6"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20575:3:6"},"nodeType":"YulFunctionCall","src":"20575:22:6"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"20599:7:6"}],"functionName":{"name":"abi_decode_t_address","nodeType":"YulIdentifier","src":"20554:20:6"},"nodeType":"YulFunctionCall","src":"20554:53:6"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"20544:6:6"}]}]}]},"name":"abi_decode_tuple_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"20331:9:6","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"20342:7:6","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"20354:6:6","type":""}],"src":"20295:329:6"},{"body":{"nodeType":"YulBlock","src":"20674:147:6","statements":[{"nodeType":"YulAssignment","src":"20684:25:6","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"20707:1:6"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"20689:17:6"},"nodeType":"YulFunctionCall","src":"20689:20:6"},"variableNames":[{"name":"x","nodeType":"YulIdentifier","src":"20684:1:6"}]},{"nodeType":"YulAssignment","src":"20718:25:6","value":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"20741:1:6"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"20723:17:6"},"nodeType":"YulFunctionCall","src":"20723:20:6"},"variableNames":[{"name":"y","nodeType":"YulIdentifier","src":"20718:1:6"}]},{"nodeType":"YulAssignment","src":"20752:16:6","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"20763:1:6"},{"name":"y","nodeType":"YulIdentifier","src":"20766:1:6"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20759:3:6"},"nodeType":"YulFunctionCall","src":"20759:9:6"},"variableNames":[{"name":"sum","nodeType":"YulIdentifier","src":"20752:3:6"}]},{"body":{"nodeType":"YulBlock","src":"20792:22:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"20794:16:6"},"nodeType":"YulFunctionCall","src":"20794:18:6"},"nodeType":"YulExpressionStatement","src":"20794:18:6"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"20784:1:6"},{"name":"sum","nodeType":"YulIdentifier","src":"20787:3:6"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"20781:2:6"},"nodeType":"YulFunctionCall","src":"20781:10:6"},"nodeType":"YulIf","src":"20778:36:6"}]},"name":"checked_add_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"20661:1:6","type":""},{"name":"y","nodeType":"YulTypedName","src":"20664:1:6","type":""}],"returnVariables":[{"name":"sum","nodeType":"YulTypedName","src":"20670:3:6","type":""}],"src":"20630:191:6"},{"body":{"nodeType":"YulBlock","src":"20870:190:6","statements":[{"nodeType":"YulAssignment","src":"20880:33:6","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"20907:5:6"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"20889:17:6"},"nodeType":"YulFunctionCall","src":"20889:24:6"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"20880:5:6"}]},{"body":{"nodeType":"YulBlock","src":"21003:22:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"21005:16:6"},"nodeType":"YulFunctionCall","src":"21005:18:6"},"nodeType":"YulExpressionStatement","src":"21005:18:6"}]},"condition":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"20928:5:6"},{"kind":"number","nodeType":"YulLiteral","src":"20935:66:6","type":"","value":"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"20925:2:6"},"nodeType":"YulFunctionCall","src":"20925:77:6"},"nodeType":"YulIf","src":"20922:103:6"},{"nodeType":"YulAssignment","src":"21034:20:6","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"21045:5:6"},{"kind":"number","nodeType":"YulLiteral","src":"21052:1:6","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21041:3:6"},"nodeType":"YulFunctionCall","src":"21041:13:6"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"21034:3:6"}]}]},"name":"increment_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"20856:5:6","type":""}],"returnVariables":[{"name":"ret","nodeType":"YulTypedName","src":"20866:3:6","type":""}],"src":"20827:233:6"},{"body":{"nodeType":"YulBlock","src":"21113:32:6","statements":[{"nodeType":"YulAssignment","src":"21123:16:6","value":{"name":"value","nodeType":"YulIdentifier","src":"21134:5:6"},"variableNames":[{"name":"aligned","nodeType":"YulIdentifier","src":"21123:7:6"}]}]},"name":"leftAlign_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"21095:5:6","type":""}],"returnVariables":[{"name":"aligned","nodeType":"YulTypedName","src":"21105:7:6","type":""}],"src":"21066:79:6"},{"body":{"nodeType":"YulBlock","src":"21234:74:6","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"21251:3:6"},{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"21294:5:6"}],"functionName":{"name":"cleanup_t_bytes32","nodeType":"YulIdentifier","src":"21276:17:6"},"nodeType":"YulFunctionCall","src":"21276:24:6"}],"functionName":{"name":"leftAlign_t_bytes32","nodeType":"YulIdentifier","src":"21256:19:6"},"nodeType":"YulFunctionCall","src":"21256:45:6"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21244:6:6"},"nodeType":"YulFunctionCall","src":"21244:58:6"},"nodeType":"YulExpressionStatement","src":"21244:58:6"}]},"name":"abi_encode_t_bytes32_to_t_bytes32_nonPadded_inplace_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"21222:5:6","type":""},{"name":"pos","nodeType":"YulTypedName","src":"21229:3:6","type":""}],"src":"21151:157:6"},{"body":{"nodeType":"YulBlock","src":"21430:140:6","statements":[{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"21503:6:6"},{"name":"pos","nodeType":"YulIdentifier","src":"21512:3:6"}],"functionName":{"name":"abi_encode_t_bytes32_to_t_bytes32_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"21441:61:6"},"nodeType":"YulFunctionCall","src":"21441:75:6"},"nodeType":"YulExpressionStatement","src":"21441:75:6"},{"nodeType":"YulAssignment","src":"21525:19:6","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"21536:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"21541:2:6","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21532:3:6"},"nodeType":"YulFunctionCall","src":"21532:12:6"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"21525:3:6"}]},{"nodeType":"YulAssignment","src":"21554:10:6","value":{"name":"pos","nodeType":"YulIdentifier","src":"21561:3:6"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"21554:3:6"}]}]},"name":"abi_encode_tuple_packed_t_bytes32__to_t_bytes32__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"21409:3:6","type":""},{"name":"value0","nodeType":"YulTypedName","src":"21415:6:6","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"21426:3:6","type":""}],"src":"21314:256:6"},{"body":{"nodeType":"YulBlock","src":"21634:40:6","statements":[{"nodeType":"YulAssignment","src":"21645:22:6","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"21661:5:6"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"21655:5:6"},"nodeType":"YulFunctionCall","src":"21655:12:6"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"21645:6:6"}]}]},"name":"array_length_t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"21617:5:6","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"21627:6:6","type":""}],"src":"21576:98:6"},{"body":{"nodeType":"YulBlock","src":"21793:34:6","statements":[{"nodeType":"YulAssignment","src":"21803:18:6","value":{"name":"pos","nodeType":"YulIdentifier","src":"21818:3:6"},"variableNames":[{"name":"updated_pos","nodeType":"YulIdentifier","src":"21803:11:6"}]}]},"name":"array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"21765:3:6","type":""},{"name":"length","nodeType":"YulTypedName","src":"21770:6:6","type":""}],"returnVariables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"21781:11:6","type":""}],"src":"21680:147:6"},{"body":{"nodeType":"YulBlock","src":"21895:184:6","statements":[{"nodeType":"YulVariableDeclaration","src":"21905:10:6","value":{"kind":"number","nodeType":"YulLiteral","src":"21914:1:6","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"21909:1:6","type":""}]},{"body":{"nodeType":"YulBlock","src":"21974:63:6","statements":[{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"21999:3:6"},{"name":"i","nodeType":"YulIdentifier","src":"22004:1:6"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21995:3:6"},"nodeType":"YulFunctionCall","src":"21995:11:6"},{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"22018:3:6"},{"name":"i","nodeType":"YulIdentifier","src":"22023:1:6"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22014:3:6"},"nodeType":"YulFunctionCall","src":"22014:11:6"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"22008:5:6"},"nodeType":"YulFunctionCall","src":"22008:18:6"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21988:6:6"},"nodeType":"YulFunctionCall","src":"21988:39:6"},"nodeType":"YulExpressionStatement","src":"21988:39:6"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"21935:1:6"},{"name":"length","nodeType":"YulIdentifier","src":"21938:6:6"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"21932:2:6"},"nodeType":"YulFunctionCall","src":"21932:13:6"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"21946:19:6","statements":[{"nodeType":"YulAssignment","src":"21948:15:6","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"21957:1:6"},{"kind":"number","nodeType":"YulLiteral","src":"21960:2:6","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21953:3:6"},"nodeType":"YulFunctionCall","src":"21953:10:6"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"21948:1:6"}]}]},"pre":{"nodeType":"YulBlock","src":"21928:3:6","statements":[]},"src":"21924:113:6"},{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"22057:3:6"},{"name":"length","nodeType":"YulIdentifier","src":"22062:6:6"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22053:3:6"},"nodeType":"YulFunctionCall","src":"22053:16:6"},{"kind":"number","nodeType":"YulLiteral","src":"22071:1:6","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"22046:6:6"},"nodeType":"YulFunctionCall","src":"22046:27:6"},"nodeType":"YulExpressionStatement","src":"22046:27:6"}]},"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"21877:3:6","type":""},{"name":"dst","nodeType":"YulTypedName","src":"21882:3:6","type":""},{"name":"length","nodeType":"YulTypedName","src":"21887:6:6","type":""}],"src":"21833:246:6"},{"body":{"nodeType":"YulBlock","src":"22193:278:6","statements":[{"nodeType":"YulVariableDeclaration","src":"22203:52:6","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"22249:5:6"}],"functionName":{"name":"array_length_t_bytes_memory_ptr","nodeType":"YulIdentifier","src":"22217:31:6"},"nodeType":"YulFunctionCall","src":"22217:38:6"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"22207:6:6","type":""}]},{"nodeType":"YulAssignment","src":"22264:95:6","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"22347:3:6"},{"name":"length","nodeType":"YulIdentifier","src":"22352:6:6"}],"functionName":{"name":"array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"22271:75:6"},"nodeType":"YulFunctionCall","src":"22271:88:6"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"22264:3:6"}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"22407:5:6"},{"kind":"number","nodeType":"YulLiteral","src":"22414:4:6","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22403:3:6"},"nodeType":"YulFunctionCall","src":"22403:16:6"},{"name":"pos","nodeType":"YulIdentifier","src":"22421:3:6"},{"name":"length","nodeType":"YulIdentifier","src":"22426:6:6"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"22368:34:6"},"nodeType":"YulFunctionCall","src":"22368:65:6"},"nodeType":"YulExpressionStatement","src":"22368:65:6"},{"nodeType":"YulAssignment","src":"22442:23:6","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"22453:3:6"},{"name":"length","nodeType":"YulIdentifier","src":"22458:6:6"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22449:3:6"},"nodeType":"YulFunctionCall","src":"22449:16:6"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"22442:3:6"}]}]},"name":"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"22174:5:6","type":""},{"name":"pos","nodeType":"YulTypedName","src":"22181:3:6","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"22189:3:6","type":""}],"src":"22085:386:6"},{"body":{"nodeType":"YulBlock","src":"22611:137:6","statements":[{"nodeType":"YulAssignment","src":"22622:100:6","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"22709:6:6"},{"name":"pos","nodeType":"YulIdentifier","src":"22718:3:6"}],"functionName":{"name":"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"22629:79:6"},"nodeType":"YulFunctionCall","src":"22629:93:6"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"22622:3:6"}]},{"nodeType":"YulAssignment","src":"22732:10:6","value":{"name":"pos","nodeType":"YulIdentifier","src":"22739:3:6"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"22732:3:6"}]}]},"name":"abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"22590:3:6","type":""},{"name":"value0","nodeType":"YulTypedName","src":"22596:6:6","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"22607:3:6","type":""}],"src":"22477:271:6"},{"body":{"nodeType":"YulBlock","src":"22817:80:6","statements":[{"nodeType":"YulAssignment","src":"22827:22:6","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"22842:6:6"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"22836:5:6"},"nodeType":"YulFunctionCall","src":"22836:13:6"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"22827:5:6"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"22885:5:6"}],"functionName":{"name":"validator_revert_t_bytes32","nodeType":"YulIdentifier","src":"22858:26:6"},"nodeType":"YulFunctionCall","src":"22858:33:6"},"nodeType":"YulExpressionStatement","src":"22858:33:6"}]},"name":"abi_decode_t_bytes32_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"22795:6:6","type":""},{"name":"end","nodeType":"YulTypedName","src":"22803:3:6","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"22811:5:6","type":""}],"src":"22754:143:6"},{"body":{"nodeType":"YulBlock","src":"22980:274:6","statements":[{"body":{"nodeType":"YulBlock","src":"23026:83:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"23028:77:6"},"nodeType":"YulFunctionCall","src":"23028:79:6"},"nodeType":"YulExpressionStatement","src":"23028:79:6"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"23001:7:6"},{"name":"headStart","nodeType":"YulIdentifier","src":"23010:9:6"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"22997:3:6"},"nodeType":"YulFunctionCall","src":"22997:23:6"},{"kind":"number","nodeType":"YulLiteral","src":"23022:2:6","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"22993:3:6"},"nodeType":"YulFunctionCall","src":"22993:32:6"},"nodeType":"YulIf","src":"22990:119:6"},{"nodeType":"YulBlock","src":"23119:128:6","statements":[{"nodeType":"YulVariableDeclaration","src":"23134:15:6","value":{"kind":"number","nodeType":"YulLiteral","src":"23148:1:6","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"23138:6:6","type":""}]},{"nodeType":"YulAssignment","src":"23163:74:6","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23209:9:6"},{"name":"offset","nodeType":"YulIdentifier","src":"23220:6:6"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23205:3:6"},"nodeType":"YulFunctionCall","src":"23205:22:6"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"23229:7:6"}],"functionName":{"name":"abi_decode_t_bytes32_fromMemory","nodeType":"YulIdentifier","src":"23173:31:6"},"nodeType":"YulFunctionCall","src":"23173:64:6"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"23163:6:6"}]}]}]},"name":"abi_decode_tuple_t_bytes32_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"22950:9:6","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"22961:7:6","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"22973:6:6","type":""}],"src":"22903:351:6"},{"body":{"nodeType":"YulBlock","src":"23288:152:6","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"23305:1:6","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"23308:77:6","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23298:6:6"},"nodeType":"YulFunctionCall","src":"23298:88:6"},"nodeType":"YulExpressionStatement","src":"23298:88:6"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"23402:1:6","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"23405:4:6","type":"","value":"0x21"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23395:6:6"},"nodeType":"YulFunctionCall","src":"23395:15:6"},"nodeType":"YulExpressionStatement","src":"23395:15:6"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"23426:1:6","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"23429:4:6","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"23419:6:6"},"nodeType":"YulFunctionCall","src":"23419:15:6"},"nodeType":"YulExpressionStatement","src":"23419:15:6"}]},"name":"panic_error_0x21","nodeType":"YulFunctionDefinition","src":"23260:180:6"},{"body":{"nodeType":"YulBlock","src":"23507:51:6","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"23524:3:6"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"23545:5:6"}],"functionName":{"name":"cleanup_t_uint8","nodeType":"YulIdentifier","src":"23529:15:6"},"nodeType":"YulFunctionCall","src":"23529:22:6"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23517:6:6"},"nodeType":"YulFunctionCall","src":"23517:35:6"},"nodeType":"YulExpressionStatement","src":"23517:35:6"}]},"name":"abi_encode_t_uint8_to_t_uint8_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"23495:5:6","type":""},{"name":"pos","nodeType":"YulTypedName","src":"23502:3:6","type":""}],"src":"23446:112:6"},{"body":{"nodeType":"YulBlock","src":"23742:367:6","statements":[{"nodeType":"YulAssignment","src":"23752:27:6","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23764:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"23775:3:6","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23760:3:6"},"nodeType":"YulFunctionCall","src":"23760:19:6"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"23752:4:6"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"23833:6:6"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23846:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"23857:1:6","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23842:3:6"},"nodeType":"YulFunctionCall","src":"23842:17:6"}],"functionName":{"name":"abi_encode_t_bytes32_to_t_bytes32_fromStack","nodeType":"YulIdentifier","src":"23789:43:6"},"nodeType":"YulFunctionCall","src":"23789:71:6"},"nodeType":"YulExpressionStatement","src":"23789:71:6"},{"expression":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"23910:6:6"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23923:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"23934:2:6","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23919:3:6"},"nodeType":"YulFunctionCall","src":"23919:18:6"}],"functionName":{"name":"abi_encode_t_uint8_to_t_uint8_fromStack","nodeType":"YulIdentifier","src":"23870:39:6"},"nodeType":"YulFunctionCall","src":"23870:68:6"},"nodeType":"YulExpressionStatement","src":"23870:68:6"},{"expression":{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"23992:6:6"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24005:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"24016:2:6","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24001:3:6"},"nodeType":"YulFunctionCall","src":"24001:18:6"}],"functionName":{"name":"abi_encode_t_bytes32_to_t_bytes32_fromStack","nodeType":"YulIdentifier","src":"23948:43:6"},"nodeType":"YulFunctionCall","src":"23948:72:6"},"nodeType":"YulExpressionStatement","src":"23948:72:6"},{"expression":{"arguments":[{"name":"value3","nodeType":"YulIdentifier","src":"24074:6:6"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24087:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"24098:2:6","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24083:3:6"},"nodeType":"YulFunctionCall","src":"24083:18:6"}],"functionName":{"name":"abi_encode_t_bytes32_to_t_bytes32_fromStack","nodeType":"YulIdentifier","src":"24030:43:6"},"nodeType":"YulFunctionCall","src":"24030:72:6"},"nodeType":"YulExpressionStatement","src":"24030:72:6"}]},"name":"abi_encode_tuple_t_bytes32_t_uint8_t_bytes32_t_bytes32__to_t_bytes32_t_uint8_t_bytes32_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"23690:9:6","type":""},{"name":"value3","nodeType":"YulTypedName","src":"23702:6:6","type":""},{"name":"value2","nodeType":"YulTypedName","src":"23710:6:6","type":""},{"name":"value1","nodeType":"YulTypedName","src":"23718:6:6","type":""},{"name":"value0","nodeType":"YulTypedName","src":"23726:6:6","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"23737:4:6","type":""}],"src":"23564:545:6"}]},"contents":"{\n\n function cleanup_t_bool(value) -> cleaned {\n cleaned := iszero(iszero(value))\n }\n\n function abi_encode_t_bool_to_t_bool_fromStack(value, pos) {\n mstore(pos, cleanup_t_bool(value))\n }\n\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bool_to_t_bool_fromStack(value0, add(headStart, 0))\n\n }\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function cleanup_t_bytes32(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_bytes32(value) {\n if iszero(eq(value, cleanup_t_bytes32(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_bytes32(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_bytes32(value)\n }\n\n function abi_decode_tuple_t_uint256t_uint256t_bytes32(headStart, dataEnd) -> value0, value1, value2 {\n if slt(sub(dataEnd, headStart), 96) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value2 := abi_decode_t_bytes32(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_decode_tuple_t_uint256t_uint256t_uint256t_bytes32(headStart, dataEnd) -> value0, value1, value2, value3 {\n if slt(sub(dataEnd, headStart), 128) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value2 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 96\n\n value3 := abi_decode_t_bytes32(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function revert_error_21fe6b43b4db61d76a176e95bf1a6b9ede4c301f93a4246f41fecb96e160861d() {\n revert(0, 0)\n }\n\n // struct OracleAttestationData\n function abi_decode_t_struct$_OracleAttestationData_$369_calldata_ptr(offset, end) -> value {\n if slt(sub(end, offset), 96) { revert_error_21fe6b43b4db61d76a176e95bf1a6b9ede4c301f93a4246f41fecb96e160861d() }\n value := offset\n }\n\n function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490() {\n revert(0, 0)\n }\n\n function revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() {\n revert(0, 0)\n }\n\n // struct Validator[]\n function abi_decode_t_array$_t_struct$_Validator_$394_calldata_ptr_$dyn_calldata_ptr(offset, end) -> arrayPos, length {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n length := calldataload(offset)\n if gt(length, 0xffffffffffffffff) { revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490() }\n arrayPos := add(offset, 0x20)\n if gt(add(arrayPos, mul(length, 0x40)), end) { revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() }\n }\n\n // struct Signature[]\n function abi_decode_t_array$_t_struct$_Signature_$389_calldata_ptr_$dyn_calldata_ptr(offset, end) -> arrayPos, length {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n length := calldataload(offset)\n if gt(length, 0xffffffffffffffff) { revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490() }\n arrayPos := add(offset, 0x20)\n if gt(add(arrayPos, mul(length, 0x60)), end) { revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() }\n }\n\n function abi_decode_tuple_t_struct$_OracleAttestationData_$369_calldata_ptrt_array$_t_struct$_Validator_$394_calldata_ptr_$dyn_calldata_ptrt_array$_t_struct$_Signature_$389_calldata_ptr_$dyn_calldata_ptr(headStart, dataEnd) -> value0, value1, value2, value3, value4 {\n if slt(sub(dataEnd, headStart), 96) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := calldataload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0 := abi_decode_t_struct$_OracleAttestationData_$369_calldata_ptr(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 32))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value1, value2 := abi_decode_t_array$_t_struct$_Validator_$394_calldata_ptr_$dyn_calldata_ptr(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 64))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value3, value4 := abi_decode_t_array$_t_struct$_Signature_$389_calldata_ptr_$dyn_calldata_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_uint64(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffff)\n }\n\n function validator_revert_t_uint64(value) {\n if iszero(eq(value, cleanup_t_uint64(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint64(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint64(value)\n }\n\n function abi_decode_tuple_t_bytes32t_uint64t_uint256t_array$_t_struct$_Validator_$394_calldata_ptr_$dyn_calldata_ptrt_array$_t_struct$_Signature_$389_calldata_ptr_$dyn_calldata_ptr(headStart, dataEnd) -> value0, value1, value2, value3, value4, value5, value6 {\n if slt(sub(dataEnd, headStart), 160) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_bytes32(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint64(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value2 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 96))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value3, value4 := abi_decode_t_array$_t_struct$_Validator_$394_calldata_ptr_$dyn_calldata_ptr(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 128))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value5, value6 := abi_decode_t_array$_t_struct$_Signature_$389_calldata_ptr_$dyn_calldata_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_bytes32_to_t_bytes32_fromStack(value, pos) {\n mstore(pos, cleanup_t_bytes32(value))\n }\n\n function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value0, add(headStart, 0))\n\n }\n\n function panic_error_0x12() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x12)\n revert(0, 0x24)\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function checked_div_t_uint256(x, y) -> r {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n if iszero(y) { panic_error_0x12() }\n\n r := div(x, y)\n }\n\n function checked_sub_t_uint256(x, y) -> diff {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n diff := sub(x, y)\n\n if gt(diff, x) { panic_error_0x11() }\n\n }\n\n function abi_encode_tuple_t_uint256_t_uint256_t_bytes32__to_t_uint256_t_uint256_t_bytes32__fromStack_reversed(headStart , value2, value1, value0) -> tail {\n tail := add(headStart, 96)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value2, add(headStart, 64))\n\n }\n\n function array_storeLengthForEncoding_t_array$_t_struct$_Validator_$394_memory_ptr_$dyn_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function array_dataslot_t_array$_t_struct$_Validator_$394_calldata_ptr_$dyn_calldata_ptr(ptr) -> data {\n data := ptr\n\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_address(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address(value)\n }\n\n function calldata_access_t_address(baseRef, ptr) -> value {\n value := abi_decode_t_address(ptr, add(ptr, 32))\n }\n\n function abi_encode_t_address_to_t_address(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function calldata_access_t_uint256(baseRef, ptr) -> value {\n value := abi_decode_t_uint256(ptr, add(ptr, 32))\n }\n\n function abi_encode_t_uint256_to_t_uint256(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n // struct Validator -> struct Validator\n function abi_encode_t_struct$_Validator_$394_calldata_ptr_to_t_struct$_Validator_$394_memory_ptr(value, pos) {\n let tail := add(pos, 0x40)\n\n {\n // addr\n\n let memberValue0 := calldata_access_t_address(value, add(value, 0x00))\n abi_encode_t_address_to_t_address(memberValue0, add(pos, 0x00))\n }\n\n {\n // power\n\n let memberValue0 := calldata_access_t_uint256(value, add(value, 0x20))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0x20))\n }\n\n }\n\n function abi_encodeUpdatedPos_t_struct$_Validator_$394_calldata_ptr_to_t_struct$_Validator_$394_memory_ptr(value0, pos) -> updatedPos {\n abi_encode_t_struct$_Validator_$394_calldata_ptr_to_t_struct$_Validator_$394_memory_ptr(value0, pos)\n updatedPos := add(pos, 0x40)\n }\n\n function calldata_access_t_struct$_Validator_$394_calldata_ptr(baseRef, ptr) -> value {\n value := ptr\n }\n\n function array_nextElement_t_array$_t_struct$_Validator_$394_calldata_ptr_$dyn_calldata_ptr(ptr) -> next {\n next := add(ptr, 0x40)\n }\n\n // struct Validator[] -> struct Validator[]\n function abi_encode_t_array$_t_struct$_Validator_$394_calldata_ptr_$dyn_calldata_ptr_to_t_array$_t_struct$_Validator_$394_memory_ptr_$dyn_memory_ptr_fromStack(value, length, pos) -> end {\n\n pos := array_storeLengthForEncoding_t_array$_t_struct$_Validator_$394_memory_ptr_$dyn_memory_ptr_fromStack(pos, length)\n let baseRef := array_dataslot_t_array$_t_struct$_Validator_$394_calldata_ptr_$dyn_calldata_ptr(value)\n let srcPtr := baseRef\n for { let i := 0 } lt(i, length) { i := add(i, 1) }\n {\n let elementValue0 := calldata_access_t_struct$_Validator_$394_calldata_ptr(baseRef, srcPtr)\n pos := abi_encodeUpdatedPos_t_struct$_Validator_$394_calldata_ptr_to_t_struct$_Validator_$394_memory_ptr(elementValue0, pos)\n srcPtr := array_nextElement_t_array$_t_struct$_Validator_$394_calldata_ptr_$dyn_calldata_ptr(srcPtr)\n }\n end := pos\n }\n\n function abi_encode_tuple_t_array$_t_struct$_Validator_$394_calldata_ptr_$dyn_calldata_ptr__to_t_array$_t_struct$_Validator_$394_memory_ptr_$dyn_memory_ptr__fromStack_reversed(headStart , value1, value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_array$_t_struct$_Validator_$394_calldata_ptr_$dyn_calldata_ptr_to_t_array$_t_struct$_Validator_$394_memory_ptr_$dyn_memory_ptr_fromStack(value0, value1, tail)\n\n }\n\n function revert_error_356d538aaf70fba12156cc466564b792649f8f3befb07b071c91142253e175ad() {\n revert(0, 0)\n }\n\n function revert_error_1e55d03107e9c4f1b5e21c76a16fba166a461117ab153bcce65e6a4ea8e5fc8a() {\n revert(0, 0)\n }\n\n function revert_error_977805620ff29572292dee35f70b0f3f3f73d3fdd0e9f4d7a901c2e43ab18a2e() {\n revert(0, 0)\n }\n\n function access_calldata_tail_t_struct$_ReportData_$382_calldata_ptr(base_ref, ptr_to_tail) -> addr {\n let rel_offset_of_tail := calldataload(ptr_to_tail)\n if iszero(slt(rel_offset_of_tail, sub(sub(calldatasize(), base_ref), sub(0xc0, 1)))) { revert_error_356d538aaf70fba12156cc466564b792649f8f3befb07b071c91142253e175ad() }\n addr := add(base_ref, rel_offset_of_tail)\n\n }\n\n function access_calldata_tail_t_bytes_calldata_ptr(base_ref, ptr_to_tail) -> addr, length {\n let rel_offset_of_tail := calldataload(ptr_to_tail)\n if iszero(slt(rel_offset_of_tail, sub(sub(calldatasize(), base_ref), sub(0x20, 1)))) { revert_error_356d538aaf70fba12156cc466564b792649f8f3befb07b071c91142253e175ad() }\n addr := add(base_ref, rel_offset_of_tail)\n\n length := calldataload(addr)\n if gt(length, 0xffffffffffffffff) { revert_error_1e55d03107e9c4f1b5e21c76a16fba166a461117ab153bcce65e6a4ea8e5fc8a() }\n addr := add(addr, 32)\n if sgt(addr, sub(calldatasize(), mul(length, 0x01))) { revert_error_977805620ff29572292dee35f70b0f3f3f73d3fdd0e9f4d7a901c2e43ab18a2e() }\n\n }\n\n function array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function copy_calldata_to_memory_with_cleanup(src, dst, length) {\n calldatacopy(dst, src, length)\n mstore(add(dst, length), 0)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n // bytes -> bytes\n function abi_encode_t_bytes_calldata_ptr_to_t_bytes_memory_ptr_fromStack(start, length, pos) -> end {\n pos := array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack(pos, length)\n\n copy_calldata_to_memory_with_cleanup(start, pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_tuple_t_bytes32_t_bytes32_t_bytes_calldata_ptr_t_uint256_t_uint256_t_uint256_t_uint256_t_bytes32_t_uint256_t_uint256__to_t_bytes32_t_bytes32_t_bytes_memory_ptr_t_uint256_t_uint256_t_uint256_t_uint256_t_bytes32_t_uint256_t_uint256__fromStack_reversed(headStart , value10, value9, value8, value7, value6, value5, value4, value3, value2, value1, value0) -> tail {\n tail := add(headStart, 320)\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value1, add(headStart, 32))\n\n mstore(add(headStart, 64), sub(tail, headStart))\n tail := abi_encode_t_bytes_calldata_ptr_to_t_bytes_memory_ptr_fromStack(value2, value3, tail)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value4, add(headStart, 96))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value5, add(headStart, 128))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value6, add(headStart, 160))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value7, add(headStart, 192))\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value8, add(headStart, 224))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value9, add(headStart, 256))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value10, add(headStart, 288))\n\n }\n\n function identity(value) -> ret {\n ret := value\n }\n\n function convert_t_uint64_to_t_uint256(value) -> converted {\n converted := cleanup_t_uint256(identity(cleanup_t_uint64(value)))\n }\n\n function abi_encode_t_uint64_to_t_uint256_fromStack(value, pos) {\n mstore(pos, convert_t_uint64_to_t_uint256(value))\n }\n\n function abi_encode_tuple_t_uint64_t_uint256_t_bytes32__to_t_uint256_t_uint256_t_bytes32__fromStack_reversed(headStart , value2, value1, value0) -> tail {\n tail := add(headStart, 96)\n\n abi_encode_t_uint64_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value2, add(headStart, 64))\n\n }\n\n function abi_encode_tuple_t_bytes32_t_uint256_t_uint256_t_bytes32__to_t_bytes32_t_uint256_t_uint256_t_bytes32__fromStack_reversed(headStart , value3, value2, value1, value0) -> tail {\n tail := add(headStart, 128)\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value2, add(headStart, 64))\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value3, add(headStart, 96))\n\n }\n\n function panic_error_0x32() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x32)\n revert(0, 0x24)\n }\n\n function cleanup_t_uint8(value) -> cleaned {\n cleaned := and(value, 0xff)\n }\n\n function validator_revert_t_uint8(value) {\n if iszero(eq(value, cleanup_t_uint8(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint8(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint8(value)\n }\n\n function abi_decode_tuple_t_uint8(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint8(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function checked_add_t_uint256(x, y) -> sum {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n sum := add(x, y)\n\n if gt(x, sum) { panic_error_0x11() }\n\n }\n\n function increment_t_uint256(value) -> ret {\n value := cleanup_t_uint256(value)\n if eq(value, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) { panic_error_0x11() }\n ret := add(value, 1)\n }\n\n function leftAlign_t_bytes32(value) -> aligned {\n aligned := value\n }\n\n function abi_encode_t_bytes32_to_t_bytes32_nonPadded_inplace_fromStack(value, pos) {\n mstore(pos, leftAlign_t_bytes32(cleanup_t_bytes32(value)))\n }\n\n function abi_encode_tuple_packed_t_bytes32__to_t_bytes32__nonPadded_inplace_fromStack_reversed(pos , value0) -> end {\n\n abi_encode_t_bytes32_to_t_bytes32_nonPadded_inplace_fromStack(value0, pos)\n pos := add(pos, 32)\n\n end := pos\n }\n\n function array_length_t_bytes_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack(pos, length) -> updated_pos {\n updated_pos := pos\n }\n\n function copy_memory_to_memory_with_cleanup(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n mstore(add(dst, length), 0)\n }\n\n function abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack(value, pos) -> end {\n let length := array_length_t_bytes_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack(pos, length)\n copy_memory_to_memory_with_cleanup(add(value, 0x20), pos, length)\n end := add(pos, length)\n }\n\n function abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos , value0) -> end {\n\n pos := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack(value0, pos)\n\n end := pos\n }\n\n function abi_decode_t_bytes32_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_bytes32(value)\n }\n\n function abi_decode_tuple_t_bytes32_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_bytes32_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function panic_error_0x21() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x21)\n revert(0, 0x24)\n }\n\n function abi_encode_t_uint8_to_t_uint8_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint8(value))\n }\n\n function abi_encode_tuple_t_bytes32_t_uint8_t_bytes32_t_bytes32__to_t_bytes32_t_uint8_t_bytes32_t_bytes32__fromStack_reversed(headStart , value3, value2, value1, value0) -> tail {\n tail := add(headStart, 128)\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_uint8_to_t_uint8_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value2, add(headStart, 64))\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value3, add(headStart, 96))\n\n }\n\n}\n","id":6,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{"426":[{"length":32,"start":2239},{"length":32,"start":2366}]},"linkReferences":{},"object":"608060405234801561001057600080fd5b50600436106100ea5760003560e01c80636cf6d6751161008c578063af082a7d11610066578063af082a7d14610213578063ba95ec2714610231578063bd7c31531461024f578063d5f394881461026d576100ea565b80636cf6d675146101bb57806384330d4c146101d95780639e45a913146101f5576100ea565b80634394f6f3116100c85780634394f6f314610147578063452a9320146101635780634f76f1ee146101815780635e0d3b0f1461019f576100ea565b8063158ef93e146100ef578063185bf52b1461010d5780631a8bcd3414610129575b600080fd5b6100f761028b565b6040516101049190610dd5565b60405180910390f35b61012760048036038101906101229190610e66565b61029e565b005b610131610409565b60405161013e9190610ec8565b60405180910390f35b610161600480360381019061015c9190610ee3565b61040f565b005b61016b61051a565b6040516101789190610f8b565b60405180910390f35b61018961053e565b6040516101969190610ec8565b60405180910390f35b6101b960048036038101906101b49190611085565b610544565b005b6101c36106f4565b6040516101d09190610ec8565b60405180910390f35b6101f360048036038101906101ee9190611176565b6106fa565b005b6101fd6108bd565b60405161020a9190611241565b60405180910390f35b61021b6108e1565b6040516102289190611241565b60405180910390f35b6102396108e7565b6040516102469190610ec8565b60405180910390f35b6102576108ed565b6040516102649190611241565b60405180910390f35b610275610914565b6040516102829190610f8b565b60405180910390f35b600560149054906101000a900460ff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610323576040517fef6d0f0200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6003546103e860045461033691906112ba565b4261034191906112eb565b1015610379576040517f1c36ced200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60045482116103b4576040517f780635d000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8260028190555081600481905550806001819055507fd7067f3840022e90166b8566f9982288b89ec7479b8eb30fad06290f18c8cb098383836040516103fc9392919061131f565b60405180910390a1505050565b6103e881565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610496576040517f8b906c9700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600560149054906101000a900460ff16156104dd576040517f0dc149f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600560146101000a81548160ff0219169083151502179055508360028190555082600481905550816003819055508060018190555050505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60045481565b818190508484905014610583576040517fc6617b7b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001546105bd60025460045487876040516020016105a29291906114b5565b6040516020818303038152906040528051906020012061093a565b146105f4576040517f177b5d9200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60007f74656c6c6f7243757272656e744174746573746174696f6e000000000000000060001b866000013587806020019061062f91906114e8565b806000019061063e9190611510565b89806020019061064e91906114e8565b602001358a806020019061066291906114e8565b604001358b806020019061067691906114e8565b606001358c806020019061068a91906114e8565b608001356001548e604001358f80602001906106a691906114e8565b60a001356040516020016106c49b9a999897969594939291906115d1565b6040516020818303038152906040528051906020012090506106ec8585858585600254610992565b505050505050565b60035481565b818190508484905014610739576040517fc6617b7b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600454851015610775576040517f780635d000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008667ffffffffffffffff16036107b9576040517fc3b70c8800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084846040516020016107ce9291906114b5565b6040516020818303038152906040528051906020012090506001546107f86002546004548461093a565b1461082f576040517f177b5d9200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006108468867ffffffffffffffff16888b61093a565b90506108588686868685600254610992565b806001819055508767ffffffffffffffff16600281905550866004819055507fe304b71f81a1aaf6d714401de28ba1ebdbb5ff9c5fee59ef2a6eb984f9e8da7e88888b6040516108aa939291906116b1565b60405180910390a1505050505050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60015481565b60025481565b7f74656c6c6f7243757272656e744174746573746174696f6e000000000000000060001b81565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60007f000000000000000000000000000000000000000000000000000000000000000084848460405160200161097394939291906116e8565b6040516020818303038152906040528051906020012090509392505050565b6003546103e86004546109a591906112ba565b426109b091906112eb565b11156109e8576040517fe5e5e46400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000805b87879050811015610b49576000801b868683818110610a0e57610a0d61172d565b5b90506060020160200135148015610a4357506000801b868683818110610a3757610a3661172d565b5b90506060020160400135145b8015610a7c57506000868683818110610a5f57610a5e61172d565b5b9050606002016000016020810190610a779190611795565b60ff16145b610b3657610acd888883818110610a9657610a9561172d565b5b9050604002016000016020810190610aae91906117c2565b85888885818110610ac257610ac161172d565b5b905060600201610b8d565b610b03576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b878782818110610b1657610b1561172d565b5b9050604002016020013582610b2b91906117ef565b915082821015610b49575b8080610b4190611823565b9150506109ec565b5081811015610b84576040517fcabeb65500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50505050505050565b6000600283604051602001610ba2919061188c565b604051602081830303815290604052604051610bbe9190611918565b602060405180830381855afa158015610bdb573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610bfe9190611944565b9250600080610c2985856000016020810190610c1a9190611795565b86602001358760400135610cc6565b509150915060006003811115610c4257610c41611971565b5b816003811115610c5557610c54611971565b5b14610c8c576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614925050509392505050565b60008060007f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08460001c1115610d06576000600385925092509250610db0565b600060018888888860405160008152602001604052604051610d2b94939291906119af565b6020604051602081039080840390855afa158015610d4d573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610da157600060016000801b93509350935050610db0565b8060008060001b935093509350505b9450945094915050565b60008115159050919050565b610dcf81610dba565b82525050565b6000602082019050610dea6000830184610dc6565b92915050565b600080fd5b600080fd5b6000819050919050565b610e0d81610dfa565b8114610e1857600080fd5b50565b600081359050610e2a81610e04565b92915050565b6000819050919050565b610e4381610e30565b8114610e4e57600080fd5b50565b600081359050610e6081610e3a565b92915050565b600080600060608486031215610e7f57610e7e610df0565b5b6000610e8d86828701610e1b565b9350506020610e9e86828701610e1b565b9250506040610eaf86828701610e51565b9150509250925092565b610ec281610dfa565b82525050565b6000602082019050610edd6000830184610eb9565b92915050565b60008060008060808587031215610efd57610efc610df0565b5b6000610f0b87828801610e1b565b9450506020610f1c87828801610e1b565b9350506040610f2d87828801610e1b565b9250506060610f3e87828801610e51565b91505092959194509250565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610f7582610f4a565b9050919050565b610f8581610f6a565b82525050565b6000602082019050610fa06000830184610f7c565b92915050565b600080fd5b600060608284031215610fc157610fc0610fa6565b5b81905092915050565b600080fd5b600080fd5b600080fd5b60008083601f840112610fef57610fee610fca565b5b8235905067ffffffffffffffff81111561100c5761100b610fcf565b5b60208301915083604082028301111561102857611027610fd4565b5b9250929050565b60008083601f84011261104557611044610fca565b5b8235905067ffffffffffffffff81111561106257611061610fcf565b5b60208301915083606082028301111561107e5761107d610fd4565b5b9250929050565b6000806000806000606086880312156110a1576110a0610df0565b5b600086013567ffffffffffffffff8111156110bf576110be610df5565b5b6110cb88828901610fab565b955050602086013567ffffffffffffffff8111156110ec576110eb610df5565b5b6110f888828901610fd9565b9450945050604086013567ffffffffffffffff81111561111b5761111a610df5565b5b6111278882890161102f565b92509250509295509295909350565b600067ffffffffffffffff82169050919050565b61115381611136565b811461115e57600080fd5b50565b6000813590506111708161114a565b92915050565b600080600080600080600060a0888a03121561119557611194610df0565b5b60006111a38a828b01610e51565b97505060206111b48a828b01611161565b96505060406111c58a828b01610e1b565b955050606088013567ffffffffffffffff8111156111e6576111e5610df5565b5b6111f28a828b01610fd9565b9450945050608088013567ffffffffffffffff81111561121557611214610df5565b5b6112218a828b0161102f565b925092505092959891949750929550565b61123b81610e30565b82525050565b60006020820190506112566000830184611232565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006112c582610dfa565b91506112d083610dfa565b9250826112e0576112df61125c565b5b828204905092915050565b60006112f682610dfa565b915061130183610dfa565b92508282039050818111156113195761131861128b565b5b92915050565b60006060820190506113346000830186610eb9565b6113416020830185610eb9565b61134e6040830184611232565b949350505050565b600082825260208201905092915050565b6000819050919050565b61137a81610f6a565b811461138557600080fd5b50565b60008135905061139781611371565b92915050565b60006113ac6020840184611388565b905092915050565b6113bd81610f6a565b82525050565b60006113d26020840184610e1b565b905092915050565b6113e381610dfa565b82525050565b604082016113fa600083018361139d565b61140760008501826113b4565b5061141560208301836113c3565b61142260208501826113da565b50505050565b600061143483836113e9565b60408301905092915050565b600082905092915050565b6000604082019050919050565b60006114648385611356565b935061146f82611367565b8060005b858110156114a8576114858284611440565b61148f8882611428565b975061149a8361144b565b925050600181019050611473565b5085925050509392505050565b600060208201905081810360008301526114d0818486611458565b90509392505050565b600080fd5b600080fd5b600080fd5b60008235600160c003833603038112611504576115036114d9565b5b80830191505092915050565b6000808335600160200384360303811261152d5761152c6114d9565b5b80840192508235915067ffffffffffffffff82111561154f5761154e6114de565b5b60208301925060018202360383131561156b5761156a6114e3565b5b509250929050565b600082825260208201905092915050565b82818337600083830152505050565b6000601f19601f8301169050919050565b60006115b08385611573565b93506115bd838584611584565b6115c683611593565b840190509392505050565b6000610140820190506115e7600083018e611232565b6115f4602083018d611232565b8181036040830152611607818b8d6115a4565b9050611616606083018a610eb9565b6116236080830189610eb9565b61163060a0830188610eb9565b61163d60c0830187610eb9565b61164a60e0830186611232565b611658610100830185610eb9565b611666610120830184610eb9565b9c9b505050505050505050505050565b6000819050919050565b600061169b61169661169184611136565b611676565b610dfa565b9050919050565b6116ab81611680565b82525050565b60006060820190506116c660008301866116a2565b6116d36020830185610eb9565b6116e06040830184611232565b949350505050565b60006080820190506116fd6000830187611232565b61170a6020830186610eb9565b6117176040830185610eb9565b6117246060830184611232565b95945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600060ff82169050919050565b6117728161175c565b811461177d57600080fd5b50565b60008135905061178f81611769565b92915050565b6000602082840312156117ab576117aa610df0565b5b60006117b984828501611780565b91505092915050565b6000602082840312156117d8576117d7610df0565b5b60006117e684828501611388565b91505092915050565b60006117fa82610dfa565b915061180583610dfa565b925082820190508082111561181d5761181c61128b565b5b92915050565b600061182e82610dfa565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036118605761185f61128b565b5b600182019050919050565b6000819050919050565b61188661188182610e30565b61186b565b82525050565b60006118988284611875565b60208201915081905092915050565b600081519050919050565b600081905092915050565b60005b838110156118db5780820151818401526020810190506118c0565b60008484015250505050565b60006118f2826118a7565b6118fc81856118b2565b935061190c8185602086016118bd565b80840191505092915050565b600061192482846118e7565b915081905092915050565b60008151905061193e81610e3a565b92915050565b60006020828403121561195a57611959610df0565b5b60006119688482850161192f565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6119a98161175c565b82525050565b60006080820190506119c46000830187611232565b6119d160208301866119a0565b6119de6040830185611232565b6119eb6060830184611232565b9594505050505056fea26469706673582212208a4e27db43c974b180ddea3c0f3e4138731ac4b9bd11334386ecbaa94043947564736f6c63430008130033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0xEA JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x6CF6D675 GT PUSH2 0x8C JUMPI DUP1 PUSH4 0xAF082A7D GT PUSH2 0x66 JUMPI DUP1 PUSH4 0xAF082A7D EQ PUSH2 0x213 JUMPI DUP1 PUSH4 0xBA95EC27 EQ PUSH2 0x231 JUMPI DUP1 PUSH4 0xBD7C3153 EQ PUSH2 0x24F JUMPI DUP1 PUSH4 0xD5F39488 EQ PUSH2 0x26D JUMPI PUSH2 0xEA JUMP JUMPDEST DUP1 PUSH4 0x6CF6D675 EQ PUSH2 0x1BB JUMPI DUP1 PUSH4 0x84330D4C EQ PUSH2 0x1D9 JUMPI DUP1 PUSH4 0x9E45A913 EQ PUSH2 0x1F5 JUMPI PUSH2 0xEA JUMP JUMPDEST DUP1 PUSH4 0x4394F6F3 GT PUSH2 0xC8 JUMPI DUP1 PUSH4 0x4394F6F3 EQ PUSH2 0x147 JUMPI DUP1 PUSH4 0x452A9320 EQ PUSH2 0x163 JUMPI DUP1 PUSH4 0x4F76F1EE EQ PUSH2 0x181 JUMPI DUP1 PUSH4 0x5E0D3B0F EQ PUSH2 0x19F JUMPI PUSH2 0xEA JUMP JUMPDEST DUP1 PUSH4 0x158EF93E EQ PUSH2 0xEF JUMPI DUP1 PUSH4 0x185BF52B EQ PUSH2 0x10D JUMPI DUP1 PUSH4 0x1A8BCD34 EQ PUSH2 0x129 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xF7 PUSH2 0x28B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x104 SWAP2 SWAP1 PUSH2 0xDD5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x127 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x122 SWAP2 SWAP1 PUSH2 0xE66 JUMP JUMPDEST PUSH2 0x29E JUMP JUMPDEST STOP JUMPDEST PUSH2 0x131 PUSH2 0x409 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x13E SWAP2 SWAP1 PUSH2 0xEC8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x161 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x15C SWAP2 SWAP1 PUSH2 0xEE3 JUMP JUMPDEST PUSH2 0x40F JUMP JUMPDEST STOP JUMPDEST PUSH2 0x16B PUSH2 0x51A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x178 SWAP2 SWAP1 PUSH2 0xF8B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x189 PUSH2 0x53E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x196 SWAP2 SWAP1 PUSH2 0xEC8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1B9 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1B4 SWAP2 SWAP1 PUSH2 0x1085 JUMP JUMPDEST PUSH2 0x544 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1C3 PUSH2 0x6F4 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1D0 SWAP2 SWAP1 PUSH2 0xEC8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1F3 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1EE SWAP2 SWAP1 PUSH2 0x1176 JUMP JUMPDEST PUSH2 0x6FA JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1FD PUSH2 0x8BD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x20A SWAP2 SWAP1 PUSH2 0x1241 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x21B PUSH2 0x8E1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x228 SWAP2 SWAP1 PUSH2 0x1241 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x239 PUSH2 0x8E7 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x246 SWAP2 SWAP1 PUSH2 0xEC8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x257 PUSH2 0x8ED JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x264 SWAP2 SWAP1 PUSH2 0x1241 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x275 PUSH2 0x914 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x282 SWAP2 SWAP1 PUSH2 0xF8B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x5 PUSH1 0x14 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x323 JUMPI PUSH1 0x40 MLOAD PUSH32 0xEF6D0F0200000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x3 SLOAD PUSH2 0x3E8 PUSH1 0x4 SLOAD PUSH2 0x336 SWAP2 SWAP1 PUSH2 0x12BA JUMP JUMPDEST TIMESTAMP PUSH2 0x341 SWAP2 SWAP1 PUSH2 0x12EB JUMP JUMPDEST LT ISZERO PUSH2 0x379 JUMPI PUSH1 0x40 MLOAD PUSH32 0x1C36CED200000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x4 SLOAD DUP3 GT PUSH2 0x3B4 JUMPI PUSH1 0x40 MLOAD PUSH32 0x780635D000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP3 PUSH1 0x2 DUP2 SWAP1 SSTORE POP DUP2 PUSH1 0x4 DUP2 SWAP1 SSTORE POP DUP1 PUSH1 0x1 DUP2 SWAP1 SSTORE POP PUSH32 0xD7067F3840022E90166B8566F9982288B89EC7479B8EB30FAD06290F18C8CB09 DUP4 DUP4 DUP4 PUSH1 0x40 MLOAD PUSH2 0x3FC SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x131F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP JUMP JUMPDEST PUSH2 0x3E8 DUP2 JUMP JUMPDEST PUSH1 0x5 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x496 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8B906C9700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x5 PUSH1 0x14 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x4DD JUMPI PUSH1 0x40 MLOAD PUSH32 0xDC149F000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x5 PUSH1 0x14 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP DUP4 PUSH1 0x2 DUP2 SWAP1 SSTORE POP DUP3 PUSH1 0x4 DUP2 SWAP1 SSTORE POP DUP2 PUSH1 0x3 DUP2 SWAP1 SSTORE POP DUP1 PUSH1 0x1 DUP2 SWAP1 SSTORE POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x4 SLOAD DUP2 JUMP JUMPDEST DUP2 DUP2 SWAP1 POP DUP5 DUP5 SWAP1 POP EQ PUSH2 0x583 JUMPI PUSH1 0x40 MLOAD PUSH32 0xC6617B7B00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 SLOAD PUSH2 0x5BD PUSH1 0x2 SLOAD PUSH1 0x4 SLOAD DUP8 DUP8 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x5A2 SWAP3 SWAP2 SWAP1 PUSH2 0x14B5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 PUSH2 0x93A JUMP JUMPDEST EQ PUSH2 0x5F4 JUMPI PUSH1 0x40 MLOAD PUSH32 0x177B5D9200000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH32 0x74656C6C6F7243757272656E744174746573746174696F6E0000000000000000 PUSH1 0x0 SHL DUP7 PUSH1 0x0 ADD CALLDATALOAD DUP8 DUP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x62F SWAP2 SWAP1 PUSH2 0x14E8 JUMP JUMPDEST DUP1 PUSH1 0x0 ADD SWAP1 PUSH2 0x63E SWAP2 SWAP1 PUSH2 0x1510 JUMP JUMPDEST DUP10 DUP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x64E SWAP2 SWAP1 PUSH2 0x14E8 JUMP JUMPDEST PUSH1 0x20 ADD CALLDATALOAD DUP11 DUP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x662 SWAP2 SWAP1 PUSH2 0x14E8 JUMP JUMPDEST PUSH1 0x40 ADD CALLDATALOAD DUP12 DUP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x676 SWAP2 SWAP1 PUSH2 0x14E8 JUMP JUMPDEST PUSH1 0x60 ADD CALLDATALOAD DUP13 DUP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x68A SWAP2 SWAP1 PUSH2 0x14E8 JUMP JUMPDEST PUSH1 0x80 ADD CALLDATALOAD PUSH1 0x1 SLOAD DUP15 PUSH1 0x40 ADD CALLDATALOAD DUP16 DUP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x6A6 SWAP2 SWAP1 PUSH2 0x14E8 JUMP JUMPDEST PUSH1 0xA0 ADD CALLDATALOAD PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x6C4 SWAP12 SWAP11 SWAP10 SWAP9 SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x15D1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 SWAP1 POP PUSH2 0x6EC DUP6 DUP6 DUP6 DUP6 DUP6 PUSH1 0x2 SLOAD PUSH2 0x992 JUMP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x3 SLOAD DUP2 JUMP JUMPDEST DUP2 DUP2 SWAP1 POP DUP5 DUP5 SWAP1 POP EQ PUSH2 0x739 JUMPI PUSH1 0x40 MLOAD PUSH32 0xC6617B7B00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x4 SLOAD DUP6 LT ISZERO PUSH2 0x775 JUMPI PUSH1 0x40 MLOAD PUSH32 0x780635D000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP7 PUSH8 0xFFFFFFFFFFFFFFFF AND SUB PUSH2 0x7B9 JUMPI PUSH1 0x40 MLOAD PUSH32 0xC3B70C8800000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP5 DUP5 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x7CE SWAP3 SWAP2 SWAP1 PUSH2 0x14B5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 SWAP1 POP PUSH1 0x1 SLOAD PUSH2 0x7F8 PUSH1 0x2 SLOAD PUSH1 0x4 SLOAD DUP5 PUSH2 0x93A JUMP JUMPDEST EQ PUSH2 0x82F JUMPI PUSH1 0x40 MLOAD PUSH32 0x177B5D9200000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x846 DUP9 PUSH8 0xFFFFFFFFFFFFFFFF AND DUP9 DUP12 PUSH2 0x93A JUMP JUMPDEST SWAP1 POP PUSH2 0x858 DUP7 DUP7 DUP7 DUP7 DUP6 PUSH1 0x2 SLOAD PUSH2 0x992 JUMP JUMPDEST DUP1 PUSH1 0x1 DUP2 SWAP1 SSTORE POP DUP8 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH1 0x2 DUP2 SWAP1 SSTORE POP DUP7 PUSH1 0x4 DUP2 SWAP1 SSTORE POP PUSH32 0xE304B71F81A1AAF6D714401DE28BA1EBDBB5FF9C5FEE59EF2A6EB984F9E8DA7E DUP9 DUP9 DUP12 PUSH1 0x40 MLOAD PUSH2 0x8AA SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x16B1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH32 0x0 DUP2 JUMP JUMPDEST PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x2 SLOAD DUP2 JUMP JUMPDEST PUSH32 0x74656C6C6F7243757272656E744174746573746174696F6E0000000000000000 PUSH1 0x0 SHL DUP2 JUMP JUMPDEST PUSH1 0x5 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH32 0x0 DUP5 DUP5 DUP5 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x973 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x16E8 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x3 SLOAD PUSH2 0x3E8 PUSH1 0x4 SLOAD PUSH2 0x9A5 SWAP2 SWAP1 PUSH2 0x12BA JUMP JUMPDEST TIMESTAMP PUSH2 0x9B0 SWAP2 SWAP1 PUSH2 0x12EB JUMP JUMPDEST GT ISZERO PUSH2 0x9E8 JUMPI PUSH1 0x40 MLOAD PUSH32 0xE5E5E46400000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 JUMPDEST DUP8 DUP8 SWAP1 POP DUP2 LT ISZERO PUSH2 0xB49 JUMPI PUSH1 0x0 DUP1 SHL DUP7 DUP7 DUP4 DUP2 DUP2 LT PUSH2 0xA0E JUMPI PUSH2 0xA0D PUSH2 0x172D JUMP JUMPDEST JUMPDEST SWAP1 POP PUSH1 0x60 MUL ADD PUSH1 0x20 ADD CALLDATALOAD EQ DUP1 ISZERO PUSH2 0xA43 JUMPI POP PUSH1 0x0 DUP1 SHL DUP7 DUP7 DUP4 DUP2 DUP2 LT PUSH2 0xA37 JUMPI PUSH2 0xA36 PUSH2 0x172D JUMP JUMPDEST JUMPDEST SWAP1 POP PUSH1 0x60 MUL ADD PUSH1 0x40 ADD CALLDATALOAD EQ JUMPDEST DUP1 ISZERO PUSH2 0xA7C JUMPI POP PUSH1 0x0 DUP7 DUP7 DUP4 DUP2 DUP2 LT PUSH2 0xA5F JUMPI PUSH2 0xA5E PUSH2 0x172D JUMP JUMPDEST JUMPDEST SWAP1 POP PUSH1 0x60 MUL ADD PUSH1 0x0 ADD PUSH1 0x20 DUP2 ADD SWAP1 PUSH2 0xA77 SWAP2 SWAP1 PUSH2 0x1795 JUMP JUMPDEST PUSH1 0xFF AND EQ JUMPDEST PUSH2 0xB36 JUMPI PUSH2 0xACD DUP9 DUP9 DUP4 DUP2 DUP2 LT PUSH2 0xA96 JUMPI PUSH2 0xA95 PUSH2 0x172D JUMP JUMPDEST JUMPDEST SWAP1 POP PUSH1 0x40 MUL ADD PUSH1 0x0 ADD PUSH1 0x20 DUP2 ADD SWAP1 PUSH2 0xAAE SWAP2 SWAP1 PUSH2 0x17C2 JUMP JUMPDEST DUP6 DUP9 DUP9 DUP6 DUP2 DUP2 LT PUSH2 0xAC2 JUMPI PUSH2 0xAC1 PUSH2 0x172D JUMP JUMPDEST JUMPDEST SWAP1 POP PUSH1 0x60 MUL ADD PUSH2 0xB8D JUMP JUMPDEST PUSH2 0xB03 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8BAA579F00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP8 DUP8 DUP3 DUP2 DUP2 LT PUSH2 0xB16 JUMPI PUSH2 0xB15 PUSH2 0x172D JUMP JUMPDEST JUMPDEST SWAP1 POP PUSH1 0x40 MUL ADD PUSH1 0x20 ADD CALLDATALOAD DUP3 PUSH2 0xB2B SWAP2 SWAP1 PUSH2 0x17EF JUMP JUMPDEST SWAP2 POP DUP3 DUP3 LT ISZERO PUSH2 0xB49 JUMPI JUMPDEST DUP1 DUP1 PUSH2 0xB41 SWAP1 PUSH2 0x1823 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x9EC JUMP JUMPDEST POP DUP2 DUP2 LT ISZERO PUSH2 0xB84 JUMPI PUSH1 0x40 MLOAD PUSH32 0xCABEB65500000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP4 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xBA2 SWAP2 SWAP1 PUSH2 0x188C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE PUSH1 0x40 MLOAD PUSH2 0xBBE SWAP2 SWAP1 PUSH2 0x1918 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xBDB JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xBFE SWAP2 SWAP1 PUSH2 0x1944 JUMP JUMPDEST SWAP3 POP PUSH1 0x0 DUP1 PUSH2 0xC29 DUP6 DUP6 PUSH1 0x0 ADD PUSH1 0x20 DUP2 ADD SWAP1 PUSH2 0xC1A SWAP2 SWAP1 PUSH2 0x1795 JUMP JUMPDEST DUP7 PUSH1 0x20 ADD CALLDATALOAD DUP8 PUSH1 0x40 ADD CALLDATALOAD PUSH2 0xCC6 JUMP JUMPDEST POP SWAP2 POP SWAP2 POP PUSH1 0x0 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0xC42 JUMPI PUSH2 0xC41 PUSH2 0x1971 JUMP JUMPDEST JUMPDEST DUP2 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0xC55 JUMPI PUSH2 0xC54 PUSH2 0x1971 JUMP JUMPDEST JUMPDEST EQ PUSH2 0xC8C JUMPI PUSH1 0x40 MLOAD PUSH32 0x8BAA579F00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ SWAP3 POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH32 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D576E7357A4501DDFE92F46681B20A0 DUP5 PUSH1 0x0 SHR GT ISZERO PUSH2 0xD06 JUMPI PUSH1 0x0 PUSH1 0x3 DUP6 SWAP3 POP SWAP3 POP SWAP3 POP PUSH2 0xDB0 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP9 DUP9 DUP9 DUP9 PUSH1 0x40 MLOAD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MSTORE PUSH1 0x40 MLOAD PUSH2 0xD2B SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x19AF JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 SUB SWAP1 DUP1 DUP5 SUB SWAP1 DUP6 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xD4D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP PUSH1 0x20 PUSH1 0x40 MLOAD SUB MLOAD SWAP1 POP PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0xDA1 JUMPI PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 DUP1 SHL SWAP4 POP SWAP4 POP SWAP4 POP POP PUSH2 0xDB0 JUMP JUMPDEST DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 SHL SWAP4 POP SWAP4 POP SWAP4 POP POP JUMPDEST SWAP5 POP SWAP5 POP SWAP5 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xDCF DUP2 PUSH2 0xDBA JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xDEA PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xDC6 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xE0D DUP2 PUSH2 0xDFA JUMP JUMPDEST DUP2 EQ PUSH2 0xE18 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xE2A DUP2 PUSH2 0xE04 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xE43 DUP2 PUSH2 0xE30 JUMP JUMPDEST DUP2 EQ PUSH2 0xE4E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xE60 DUP2 PUSH2 0xE3A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0xE7F JUMPI PUSH2 0xE7E PUSH2 0xDF0 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xE8D DUP7 DUP3 DUP8 ADD PUSH2 0xE1B JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 PUSH2 0xE9E DUP7 DUP3 DUP8 ADD PUSH2 0xE1B JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 PUSH2 0xEAF DUP7 DUP3 DUP8 ADD PUSH2 0xE51 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH2 0xEC2 DUP2 PUSH2 0xDFA JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xEDD PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xEB9 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0xEFD JUMPI PUSH2 0xEFC PUSH2 0xDF0 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xF0B DUP8 DUP3 DUP9 ADD PUSH2 0xE1B JUMP JUMPDEST SWAP5 POP POP PUSH1 0x20 PUSH2 0xF1C DUP8 DUP3 DUP9 ADD PUSH2 0xE1B JUMP JUMPDEST SWAP4 POP POP PUSH1 0x40 PUSH2 0xF2D DUP8 DUP3 DUP9 ADD PUSH2 0xE1B JUMP JUMPDEST SWAP3 POP POP PUSH1 0x60 PUSH2 0xF3E DUP8 DUP3 DUP9 ADD PUSH2 0xE51 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xF75 DUP3 PUSH2 0xF4A JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xF85 DUP2 PUSH2 0xF6A JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xFA0 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xF7C JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xFC1 JUMPI PUSH2 0xFC0 PUSH2 0xFA6 JUMP JUMPDEST JUMPDEST DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0xFEF JUMPI PUSH2 0xFEE PUSH2 0xFCA JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x100C JUMPI PUSH2 0x100B PUSH2 0xFCF JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x40 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0x1028 JUMPI PUSH2 0x1027 PUSH2 0xFD4 JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0x1045 JUMPI PUSH2 0x1044 PUSH2 0xFCA JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1062 JUMPI PUSH2 0x1061 PUSH2 0xFCF JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x60 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0x107E JUMPI PUSH2 0x107D PUSH2 0xFD4 JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x10A1 JUMPI PUSH2 0x10A0 PUSH2 0xDF0 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x10BF JUMPI PUSH2 0x10BE PUSH2 0xDF5 JUMP JUMPDEST JUMPDEST PUSH2 0x10CB DUP9 DUP3 DUP10 ADD PUSH2 0xFAB JUMP JUMPDEST SWAP6 POP POP PUSH1 0x20 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x10EC JUMPI PUSH2 0x10EB PUSH2 0xDF5 JUMP JUMPDEST JUMPDEST PUSH2 0x10F8 DUP9 DUP3 DUP10 ADD PUSH2 0xFD9 JUMP JUMPDEST SWAP5 POP SWAP5 POP POP PUSH1 0x40 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x111B JUMPI PUSH2 0x111A PUSH2 0xDF5 JUMP JUMPDEST JUMPDEST PUSH2 0x1127 DUP9 DUP3 DUP10 ADD PUSH2 0x102F JUMP JUMPDEST SWAP3 POP SWAP3 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1153 DUP2 PUSH2 0x1136 JUMP JUMPDEST DUP2 EQ PUSH2 0x115E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1170 DUP2 PUSH2 0x114A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP9 DUP11 SUB SLT ISZERO PUSH2 0x1195 JUMPI PUSH2 0x1194 PUSH2 0xDF0 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x11A3 DUP11 DUP3 DUP12 ADD PUSH2 0xE51 JUMP JUMPDEST SWAP8 POP POP PUSH1 0x20 PUSH2 0x11B4 DUP11 DUP3 DUP12 ADD PUSH2 0x1161 JUMP JUMPDEST SWAP7 POP POP PUSH1 0x40 PUSH2 0x11C5 DUP11 DUP3 DUP12 ADD PUSH2 0xE1B JUMP JUMPDEST SWAP6 POP POP PUSH1 0x60 DUP9 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x11E6 JUMPI PUSH2 0x11E5 PUSH2 0xDF5 JUMP JUMPDEST JUMPDEST PUSH2 0x11F2 DUP11 DUP3 DUP12 ADD PUSH2 0xFD9 JUMP JUMPDEST SWAP5 POP SWAP5 POP POP PUSH1 0x80 DUP9 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1215 JUMPI PUSH2 0x1214 PUSH2 0xDF5 JUMP JUMPDEST JUMPDEST PUSH2 0x1221 DUP11 DUP3 DUP12 ADD PUSH2 0x102F JUMP JUMPDEST SWAP3 POP SWAP3 POP POP SWAP3 SWAP6 SWAP9 SWAP2 SWAP5 SWAP8 POP SWAP3 SWAP6 POP JUMP JUMPDEST PUSH2 0x123B DUP2 PUSH2 0xE30 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1256 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1232 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x12C5 DUP3 PUSH2 0xDFA JUMP JUMPDEST SWAP2 POP PUSH2 0x12D0 DUP4 PUSH2 0xDFA JUMP JUMPDEST SWAP3 POP DUP3 PUSH2 0x12E0 JUMPI PUSH2 0x12DF PUSH2 0x125C JUMP JUMPDEST JUMPDEST DUP3 DUP3 DIV SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x12F6 DUP3 PUSH2 0xDFA JUMP JUMPDEST SWAP2 POP PUSH2 0x1301 DUP4 PUSH2 0xDFA JUMP JUMPDEST SWAP3 POP DUP3 DUP3 SUB SWAP1 POP DUP2 DUP2 GT ISZERO PUSH2 0x1319 JUMPI PUSH2 0x1318 PUSH2 0x128B JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH2 0x1334 PUSH1 0x0 DUP4 ADD DUP7 PUSH2 0xEB9 JUMP JUMPDEST PUSH2 0x1341 PUSH1 0x20 DUP4 ADD DUP6 PUSH2 0xEB9 JUMP JUMPDEST PUSH2 0x134E PUSH1 0x40 DUP4 ADD DUP5 PUSH2 0x1232 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x137A DUP2 PUSH2 0xF6A JUMP JUMPDEST DUP2 EQ PUSH2 0x1385 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1397 DUP2 PUSH2 0x1371 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x13AC PUSH1 0x20 DUP5 ADD DUP5 PUSH2 0x1388 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x13BD DUP2 PUSH2 0xF6A JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x13D2 PUSH1 0x20 DUP5 ADD DUP5 PUSH2 0xE1B JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x13E3 DUP2 PUSH2 0xDFA JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x40 DUP3 ADD PUSH2 0x13FA PUSH1 0x0 DUP4 ADD DUP4 PUSH2 0x139D JUMP JUMPDEST PUSH2 0x1407 PUSH1 0x0 DUP6 ADD DUP3 PUSH2 0x13B4 JUMP JUMPDEST POP PUSH2 0x1415 PUSH1 0x20 DUP4 ADD DUP4 PUSH2 0x13C3 JUMP JUMPDEST PUSH2 0x1422 PUSH1 0x20 DUP6 ADD DUP3 PUSH2 0x13DA JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1434 DUP4 DUP4 PUSH2 0x13E9 JUMP JUMPDEST PUSH1 0x40 DUP4 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1464 DUP4 DUP6 PUSH2 0x1356 JUMP JUMPDEST SWAP4 POP PUSH2 0x146F DUP3 PUSH2 0x1367 JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0x14A8 JUMPI PUSH2 0x1485 DUP3 DUP5 PUSH2 0x1440 JUMP JUMPDEST PUSH2 0x148F DUP9 DUP3 PUSH2 0x1428 JUMP JUMPDEST SWAP8 POP PUSH2 0x149A DUP4 PUSH2 0x144B JUMP JUMPDEST SWAP3 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x1473 JUMP JUMPDEST POP DUP6 SWAP3 POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x14D0 DUP2 DUP5 DUP7 PUSH2 0x1458 JUMP JUMPDEST SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP3 CALLDATALOAD PUSH1 0x1 PUSH1 0xC0 SUB DUP4 CALLDATASIZE SUB SUB DUP2 SLT PUSH2 0x1504 JUMPI PUSH2 0x1503 PUSH2 0x14D9 JUMP JUMPDEST JUMPDEST DUP1 DUP4 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 CALLDATALOAD PUSH1 0x1 PUSH1 0x20 SUB DUP5 CALLDATASIZE SUB SUB DUP2 SLT PUSH2 0x152D JUMPI PUSH2 0x152C PUSH2 0x14D9 JUMP JUMPDEST JUMPDEST DUP1 DUP5 ADD SWAP3 POP DUP3 CALLDATALOAD SWAP2 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x154F JUMPI PUSH2 0x154E PUSH2 0x14DE JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP3 POP PUSH1 0x1 DUP3 MUL CALLDATASIZE SUB DUP4 SGT ISZERO PUSH2 0x156B JUMPI PUSH2 0x156A PUSH2 0x14E3 JUMP JUMPDEST JUMPDEST POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x15B0 DUP4 DUP6 PUSH2 0x1573 JUMP JUMPDEST SWAP4 POP PUSH2 0x15BD DUP4 DUP6 DUP5 PUSH2 0x1584 JUMP JUMPDEST PUSH2 0x15C6 DUP4 PUSH2 0x1593 JUMP JUMPDEST DUP5 ADD SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x140 DUP3 ADD SWAP1 POP PUSH2 0x15E7 PUSH1 0x0 DUP4 ADD DUP15 PUSH2 0x1232 JUMP JUMPDEST PUSH2 0x15F4 PUSH1 0x20 DUP4 ADD DUP14 PUSH2 0x1232 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x1607 DUP2 DUP12 DUP14 PUSH2 0x15A4 JUMP JUMPDEST SWAP1 POP PUSH2 0x1616 PUSH1 0x60 DUP4 ADD DUP11 PUSH2 0xEB9 JUMP JUMPDEST PUSH2 0x1623 PUSH1 0x80 DUP4 ADD DUP10 PUSH2 0xEB9 JUMP JUMPDEST PUSH2 0x1630 PUSH1 0xA0 DUP4 ADD DUP9 PUSH2 0xEB9 JUMP JUMPDEST PUSH2 0x163D PUSH1 0xC0 DUP4 ADD DUP8 PUSH2 0xEB9 JUMP JUMPDEST PUSH2 0x164A PUSH1 0xE0 DUP4 ADD DUP7 PUSH2 0x1232 JUMP JUMPDEST PUSH2 0x1658 PUSH2 0x100 DUP4 ADD DUP6 PUSH2 0xEB9 JUMP JUMPDEST PUSH2 0x1666 PUSH2 0x120 DUP4 ADD DUP5 PUSH2 0xEB9 JUMP JUMPDEST SWAP13 SWAP12 POP POP POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x169B PUSH2 0x1696 PUSH2 0x1691 DUP5 PUSH2 0x1136 JUMP JUMPDEST PUSH2 0x1676 JUMP JUMPDEST PUSH2 0xDFA JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x16AB DUP2 PUSH2 0x1680 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH2 0x16C6 PUSH1 0x0 DUP4 ADD DUP7 PUSH2 0x16A2 JUMP JUMPDEST PUSH2 0x16D3 PUSH1 0x20 DUP4 ADD DUP6 PUSH2 0xEB9 JUMP JUMPDEST PUSH2 0x16E0 PUSH1 0x40 DUP4 ADD DUP5 PUSH2 0x1232 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x80 DUP3 ADD SWAP1 POP PUSH2 0x16FD PUSH1 0x0 DUP4 ADD DUP8 PUSH2 0x1232 JUMP JUMPDEST PUSH2 0x170A PUSH1 0x20 DUP4 ADD DUP7 PUSH2 0xEB9 JUMP JUMPDEST PUSH2 0x1717 PUSH1 0x40 DUP4 ADD DUP6 PUSH2 0xEB9 JUMP JUMPDEST PUSH2 0x1724 PUSH1 0x60 DUP4 ADD DUP5 PUSH2 0x1232 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0xFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1772 DUP2 PUSH2 0x175C JUMP JUMPDEST DUP2 EQ PUSH2 0x177D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x178F DUP2 PUSH2 0x1769 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x17AB JUMPI PUSH2 0x17AA PUSH2 0xDF0 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x17B9 DUP5 DUP3 DUP6 ADD PUSH2 0x1780 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x17D8 JUMPI PUSH2 0x17D7 PUSH2 0xDF0 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x17E6 DUP5 DUP3 DUP6 ADD PUSH2 0x1388 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x17FA DUP3 PUSH2 0xDFA JUMP JUMPDEST SWAP2 POP PUSH2 0x1805 DUP4 PUSH2 0xDFA JUMP JUMPDEST SWAP3 POP DUP3 DUP3 ADD SWAP1 POP DUP1 DUP3 GT ISZERO PUSH2 0x181D JUMPI PUSH2 0x181C PUSH2 0x128B JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x182E DUP3 PUSH2 0xDFA JUMP JUMPDEST SWAP2 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 SUB PUSH2 0x1860 JUMPI PUSH2 0x185F PUSH2 0x128B JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1886 PUSH2 0x1881 DUP3 PUSH2 0xE30 JUMP JUMPDEST PUSH2 0x186B JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1898 DUP3 DUP5 PUSH2 0x1875 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP2 POP DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x18DB JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x18C0 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x18F2 DUP3 PUSH2 0x18A7 JUMP JUMPDEST PUSH2 0x18FC DUP2 DUP6 PUSH2 0x18B2 JUMP JUMPDEST SWAP4 POP PUSH2 0x190C DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x18BD JUMP JUMPDEST DUP1 DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1924 DUP3 DUP5 PUSH2 0x18E7 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x193E DUP2 PUSH2 0xE3A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x195A JUMPI PUSH2 0x1959 PUSH2 0xDF0 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1968 DUP5 DUP3 DUP6 ADD PUSH2 0x192F JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x19A9 DUP2 PUSH2 0x175C JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x80 DUP3 ADD SWAP1 POP PUSH2 0x19C4 PUSH1 0x0 DUP4 ADD DUP8 PUSH2 0x1232 JUMP JUMPDEST PUSH2 0x19D1 PUSH1 0x20 DUP4 ADD DUP7 PUSH2 0x19A0 JUMP JUMPDEST PUSH2 0x19DE PUSH1 0x40 DUP4 ADD DUP6 PUSH2 0x1232 JUMP JUMPDEST PUSH2 0x19EB PUSH1 0x60 DUP4 ADD DUP5 PUSH2 0x1232 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 DUP11 0x4E 0x27 0xDB NUMBER 0xC9 PUSH21 0xB180DDEA3C0F3E4138731AC4B9BD11334386ECBAA9 BLOCKHASH NUMBER SWAP5 PUSH22 0x64736F6C634300081300330000000000000000000000 ","sourceMap":"949:11667:1:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1574:23;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4694:768;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1644:44;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3756:567;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1007:23;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1407:33;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7909:1482;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1305:30;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5967:1673;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2232:60;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1113:41;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1220:29;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1739:170;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1505:23;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1574;;;;;;;;;;;;;:::o;4694:768::-;4883:8;;;;;;;;;;4869:22;;:10;:22;;;4865:73;;4914:13;;;;;;;;;;;;;;4865:73;5008:15;;1684:4;4970:18;;:34;;;;:::i;:::-;4951:15;:54;;;;:::i;:::-;:72;4947:132;;;5046:22;;;;;;;;;;;;;;4947:132;5115:18;;5092:19;:41;5088:111;;5156:32;;;;;;;;;;;;;;5088:111;5225:15;5208:14;:32;;;;5271:19;5250:18;:40;;;;5329:23;5300:26;:52;;;;5367:88;5393:15;5410:19;5431:23;5367:88;;;;;;;;:::i;:::-;;;;;;;;4694:768;;;:::o;1644:44::-;1684:4;1644:44;:::o;3756:567::-;3958:8;;;;;;;;;;;3944:22;;:10;:22;;;3940:73;;3989:13;;;;;;;;;;;;;;3940:73;4026:11;;;;;;;;;;;4022:69;;;4060:20;;;;;;;;;;;;;;4022:69;4114:4;4100:11;;:18;;;;;;;;;;;;;;;;;;4145:15;4128:14;:32;;;;4191:19;4170:18;:40;;;;4238:16;4220:15;:34;;;;4293:23;4264:26;:52;;;;3756:567;;;;:::o;1007:23::-;;;;;;;;;;;;:::o;1407:33::-;;;;:::o;7909:1482::-;8138:5;;:12;;8107:20;;:27;;:43;8103:111;;8173:30;;;;;;;;;;;;;;8103:111;8505:26;;8327:174;8376:14;;8408:18;;8465:20;;8454:32;;;;;;;;;:::i;:::-;;;;;;;;;;;;;8444:43;;;;;;8327:31;:174::i;:::-;:204;8310:293;;8563:29;;;;;;;;;;;;;;8310:293;8612:19;1843:66;8693:39;;8754:11;:19;;;8795:11;:18;;;;;;;;:::i;:::-;:24;;;;;;;;:::i;:::-;8841:11;:18;;;;;;;;:::i;:::-;:28;;;8891:11;:18;;;;;;;;:::i;:::-;:33;;;8946:11;:18;;;;;;;;:::i;:::-;:36;;;9004:11;:18;;;;;;;;:::i;:::-;:32;;;9058:26;;9106:11;:32;;;9160:11;:18;;;;;;;;:::i;:::-;:41;;;8661:558;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;8634:599;;;;;;8612:621;;9243:141;9282:20;;9316:5;;9335:11;9360:14;;9243:25;:141::i;:::-;8093:1298;7909:1482;;;;;:::o;1305:30::-;;;;:::o;5967:1673::-;6255:5;;:12;;6224:20;;:27;;:43;6220:111;;6290:30;;;;;;;;;;;;;;6220:111;6369:18;;6344:22;:43;6340:113;;;6410:32;;;;;;;;;;;;;;6340:113;6488:1;6466:18;:23;;;6462:84;;6512:23;;;;;;;;;;;;;;6462:84;6642:32;6698:20;;6687:32;;;;;;;;;:::i;:::-;;;;;;;;;;;;;6677:43;;;;;;6642:78;;6906:26;;6747:155;6796:14;;6828:18;;6864:24;6747:31;:155::i;:::-;:185;6730:274;;6964:29;;;;;;;;;;;;;;6730:274;7014:22;7039:143;7084:18;7039:143;;7116:22;7152:20;7039:31;:143::i;:::-;7014:168;;7192:144;7231:20;;7265:5;;7284:14;7312;;7192:25;:144::i;:::-;7375:14;7346:26;:43;;;;7416:18;7399:35;;:14;:35;;;;7465:22;7444:18;:43;;;;7502:131;7535:18;7567:22;7603:20;7502:131;;;;;;;;:::i;:::-;;;;;;;;6210:1430;;5967:1673;;;;;;;:::o;2232:60::-;;;:::o;1113:41::-;;;;:::o;1220:29::-;;;;:::o;1739:170::-;1843:66;1739:170;;;:::o;1505:23::-;;;;;;;;;;;;;:::o;11451:463::-;11626:7;11723:35;11780:15;11817:19;11858:17;11691:202;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;11664:243;;;;;;11645:262;;11451:463;;;;;:::o;9835:1227::-;10158:15;;1684:4;10120:18;;:34;;;;:::i;:::-;10101:15;:54;;;;:::i;:::-;:72;10097:129;;;10196:19;;;;;;;;;;;;;;10097:129;10235:24;10278:10;10273:677;10299:18;;:25;;10294:2;:30;10273:677;;;10440:1;10425:16;;:5;;10431:2;10425:9;;;;;;;:::i;:::-;;;;;;;:11;;;:16;:36;;;;;10460:1;10445:16;;:5;;10451:2;10445:9;;;;;;;:::i;:::-;;;;;;;:11;;;:16;10425:36;:56;;;;;10480:1;10465:5;;10471:2;10465:9;;;;;;;:::i;:::-;;;;;;;:11;;;;;;;;;;:::i;:::-;:16;;;10425:56;10501:8;10421:103;10618:59;10629:18;;10648:2;10629:22;;;;;;;:::i;:::-;;;;;;;:27;;;;;;;;;;:::i;:::-;10658:7;10667:5;;10673:2;10667:9;;;;;;;:::i;:::-;;;;;;;10618:10;:59::i;:::-;10613:124;;10704:18;;;;;;;;;;;;;;10613:124;10770:18;;10789:2;10770:22;;;;;;;:::i;:::-;;;;;;;:28;;;10750:48;;;;;:::i;:::-;;;10885:15;10865:16;:35;10861:79;10920:5;10861:79;10273:677;10326:4;;;;;:::i;:::-;;;;10273:677;;;;10982:15;10963:16;:34;10959:97;;;11020:25;;;;;;;;;;;;;;10959:97;10087:975;9835:1227;;;;;;:::o;12186:428::-;12318:4;12344:33;12368:7;12351:25;;;;;;;;:::i;:::-;;;;;;;;;;;;;12344:33;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12334:43;;12388:18;12408;12432:43;12443:7;12452:4;:6;;;;;;;;;;:::i;:::-;12460:4;:6;;;12468:4;:6;;;12432:10;:43::i;:::-;12387:88;;;;;12498:20;12489:29;;;;;;;;:::i;:::-;;:5;:29;;;;;;;;:::i;:::-;;;12485:85;;12541:18;;;;;;;;;;;;;;12485:85;12597:10;12586:21;;:7;:21;;;12579:28;;;;12186:428;;;;;:::o;5439:1564:0:-;5565:7;5574:12;5588:7;6523:66;6506:1;6498:10;;:91;6481:198;;;6630:1;6634:30;6666:1;6614:54;;;;;;;;6481:198;6773:14;6790:24;6800:4;6806:1;6809;6812;6790:24;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6773:41;;6846:1;6828:20;;:6;:20;;;6824:113;;6880:1;6884:29;6923:1;6915:10;;6864:62;;;;;;;;;6824:113;6955:6;6963:20;6993:1;6985:10;;6947:49;;;;;;;5439:1564;;;;;;;;;:::o;7:90:6:-;41:7;84:5;77:13;70:21;59:32;;7:90;;;:::o;103:109::-;184:21;199:5;184:21;:::i;:::-;179:3;172:34;103:109;;:::o;218:210::-;305:4;343:2;332:9;328:18;320:26;;356:65;418:1;407:9;403:17;394:6;356:65;:::i;:::-;218:210;;;;:::o;515:117::-;624:1;621;614:12;638:117;747:1;744;737:12;761:77;798:7;827:5;816:16;;761:77;;;:::o;844:122::-;917:24;935:5;917:24;:::i;:::-;910:5;907:35;897:63;;956:1;953;946:12;897:63;844:122;:::o;972:139::-;1018:5;1056:6;1043:20;1034:29;;1072:33;1099:5;1072:33;:::i;:::-;972:139;;;;:::o;1117:77::-;1154:7;1183:5;1172:16;;1117:77;;;:::o;1200:122::-;1273:24;1291:5;1273:24;:::i;:::-;1266:5;1263:35;1253:63;;1312:1;1309;1302:12;1253:63;1200:122;:::o;1328:139::-;1374:5;1412:6;1399:20;1390:29;;1428:33;1455:5;1428:33;:::i;:::-;1328:139;;;;:::o;1473:619::-;1550:6;1558;1566;1615:2;1603:9;1594:7;1590:23;1586:32;1583:119;;;1621:79;;:::i;:::-;1583:119;1741:1;1766:53;1811:7;1802:6;1791:9;1787:22;1766:53;:::i;:::-;1756:63;;1712:117;1868:2;1894:53;1939:7;1930:6;1919:9;1915:22;1894:53;:::i;:::-;1884:63;;1839:118;1996:2;2022:53;2067:7;2058:6;2047:9;2043:22;2022:53;:::i;:::-;2012:63;;1967:118;1473:619;;;;;:::o;2098:118::-;2185:24;2203:5;2185:24;:::i;:::-;2180:3;2173:37;2098:118;;:::o;2222:222::-;2315:4;2353:2;2342:9;2338:18;2330:26;;2366:71;2434:1;2423:9;2419:17;2410:6;2366:71;:::i;:::-;2222:222;;;;:::o;2450:765::-;2536:6;2544;2552;2560;2609:3;2597:9;2588:7;2584:23;2580:33;2577:120;;;2616:79;;:::i;:::-;2577:120;2736:1;2761:53;2806:7;2797:6;2786:9;2782:22;2761:53;:::i;:::-;2751:63;;2707:117;2863:2;2889:53;2934:7;2925:6;2914:9;2910:22;2889:53;:::i;:::-;2879:63;;2834:118;2991:2;3017:53;3062:7;3053:6;3042:9;3038:22;3017:53;:::i;:::-;3007:63;;2962:118;3119:2;3145:53;3190:7;3181:6;3170:9;3166:22;3145:53;:::i;:::-;3135:63;;3090:118;2450:765;;;;;;;:::o;3221:126::-;3258:7;3298:42;3291:5;3287:54;3276:65;;3221:126;;;:::o;3353:96::-;3390:7;3419:24;3437:5;3419:24;:::i;:::-;3408:35;;3353:96;;;:::o;3455:118::-;3542:24;3560:5;3542:24;:::i;:::-;3537:3;3530:37;3455:118;;:::o;3579:222::-;3672:4;3710:2;3699:9;3695:18;3687:26;;3723:71;3791:1;3780:9;3776:17;3767:6;3723:71;:::i;:::-;3579:222;;;;:::o;3807:117::-;3916:1;3913;3906:12;3966:244;4052:5;4093:2;4084:6;4079:3;4075:16;4071:25;4068:112;;;4099:79;;:::i;:::-;4068:112;4198:6;4189:15;;3966:244;;;;:::o;4216:117::-;4325:1;4322;4315:12;4339:117;4448:1;4445;4438:12;4462:117;4571:1;4568;4561:12;4611:596;4712:8;4722:6;4772:3;4765:4;4757:6;4753:17;4749:27;4739:122;;4780:79;;:::i;:::-;4739:122;4893:6;4880:20;4870:30;;4923:18;4915:6;4912:30;4909:117;;;4945:79;;:::i;:::-;4909:117;5059:4;5051:6;5047:17;5035:29;;5113:3;5105:4;5097:6;5093:17;5083:8;5079:32;5076:41;5073:128;;;5120:79;;:::i;:::-;5073:128;4611:596;;;;;:::o;5239:::-;5340:8;5350:6;5400:3;5393:4;5385:6;5381:17;5377:27;5367:122;;5408:79;;:::i;:::-;5367:122;5521:6;5508:20;5498:30;;5551:18;5543:6;5540:30;5537:117;;;5573:79;;:::i;:::-;5537:117;5687:4;5679:6;5675:17;5663:29;;5741:3;5733:4;5725:6;5721:17;5711:8;5707:32;5704:41;5701:128;;;5748:79;;:::i;:::-;5701:128;5239:596;;;;;:::o;5841:1431::-;6068:6;6076;6084;6092;6100;6149:2;6137:9;6128:7;6124:23;6120:32;6117:119;;;6155:79;;:::i;:::-;6117:119;6303:1;6292:9;6288:17;6275:31;6333:18;6325:6;6322:30;6319:117;;;6355:79;;:::i;:::-;6319:117;6460:93;6545:7;6536:6;6525:9;6521:22;6460:93;:::i;:::-;6450:103;;6246:317;6630:2;6619:9;6615:18;6602:32;6661:18;6653:6;6650:30;6647:117;;;6683:79;;:::i;:::-;6647:117;6796:108;6896:7;6887:6;6876:9;6872:22;6796:108;:::i;:::-;6778:126;;;;6573:341;6981:2;6970:9;6966:18;6953:32;7012:18;7004:6;7001:30;6998:117;;;7034:79;;:::i;:::-;6998:117;7147:108;7247:7;7238:6;7227:9;7223:22;7147:108;:::i;:::-;7129:126;;;;6924:341;5841:1431;;;;;;;;:::o;7278:101::-;7314:7;7354:18;7347:5;7343:30;7332:41;;7278:101;;;:::o;7385:120::-;7457:23;7474:5;7457:23;:::i;:::-;7450:5;7447:34;7437:62;;7495:1;7492;7485:12;7437:62;7385:120;:::o;7511:137::-;7556:5;7594:6;7581:20;7572:29;;7610:32;7636:5;7610:32;:::i;:::-;7511:137;;;;:::o;7654:1481::-;7858:6;7866;7874;7882;7890;7898;7906;7955:3;7943:9;7934:7;7930:23;7926:33;7923:120;;;7962:79;;:::i;:::-;7923:120;8082:1;8107:53;8152:7;8143:6;8132:9;8128:22;8107:53;:::i;:::-;8097:63;;8053:117;8209:2;8235:52;8279:7;8270:6;8259:9;8255:22;8235:52;:::i;:::-;8225:62;;8180:117;8336:2;8362:53;8407:7;8398:6;8387:9;8383:22;8362:53;:::i;:::-;8352:63;;8307:118;8492:2;8481:9;8477:18;8464:32;8523:18;8515:6;8512:30;8509:117;;;8545:79;;:::i;:::-;8509:117;8658:108;8758:7;8749:6;8738:9;8734:22;8658:108;:::i;:::-;8640:126;;;;8435:341;8843:3;8832:9;8828:19;8815:33;8875:18;8867:6;8864:30;8861:117;;;8897:79;;:::i;:::-;8861:117;9010:108;9110:7;9101:6;9090:9;9086:22;9010:108;:::i;:::-;8992:126;;;;8786:342;7654:1481;;;;;;;;;;:::o;9141:118::-;9228:24;9246:5;9228:24;:::i;:::-;9223:3;9216:37;9141:118;;:::o;9265:222::-;9358:4;9396:2;9385:9;9381:18;9373:26;;9409:71;9477:1;9466:9;9462:17;9453:6;9409:71;:::i;:::-;9265:222;;;;:::o;9493:180::-;9541:77;9538:1;9531:88;9638:4;9635:1;9628:15;9662:4;9659:1;9652:15;9679:180;9727:77;9724:1;9717:88;9824:4;9821:1;9814:15;9848:4;9845:1;9838:15;9865:185;9905:1;9922:20;9940:1;9922:20;:::i;:::-;9917:25;;9956:20;9974:1;9956:20;:::i;:::-;9951:25;;9995:1;9985:35;;10000:18;;:::i;:::-;9985:35;10042:1;10039;10035:9;10030:14;;9865:185;;;;:::o;10056:194::-;10096:4;10116:20;10134:1;10116:20;:::i;:::-;10111:25;;10150:20;10168:1;10150:20;:::i;:::-;10145:25;;10194:1;10191;10187:9;10179:17;;10218:1;10212:4;10209:11;10206:37;;;10223:18;;:::i;:::-;10206:37;10056:194;;;;:::o;10256:442::-;10405:4;10443:2;10432:9;10428:18;10420:26;;10456:71;10524:1;10513:9;10509:17;10500:6;10456:71;:::i;:::-;10537:72;10605:2;10594:9;10590:18;10581:6;10537:72;:::i;:::-;10619;10687:2;10676:9;10672:18;10663:6;10619:72;:::i;:::-;10256:442;;;;;;:::o;10704:210::-;10829:11;10863:6;10858:3;10851:19;10903:4;10898:3;10894:14;10879:29;;10704:210;;;;:::o;10920:130::-;11017:4;11040:3;11032:11;;10920:130;;;:::o;11056:122::-;11129:24;11147:5;11129:24;:::i;:::-;11122:5;11119:35;11109:63;;11168:1;11165;11158:12;11109:63;11056:122;:::o;11184:139::-;11230:5;11268:6;11255:20;11246:29;;11284:33;11311:5;11284:33;:::i;:::-;11184:139;;;;:::o;11329:122::-;11381:5;11406:39;11441:2;11436:3;11432:12;11427:3;11406:39;:::i;:::-;11397:48;;11329:122;;;;:::o;11457:108::-;11534:24;11552:5;11534:24;:::i;:::-;11529:3;11522:37;11457:108;;:::o;11571:122::-;11623:5;11648:39;11683:2;11678:3;11674:12;11669:3;11648:39;:::i;:::-;11639:48;;11571:122;;;;:::o;11699:108::-;11776:24;11794:5;11776:24;:::i;:::-;11771:3;11764:37;11699:108;;:::o;11857:556::-;11998:4;11993:3;11989:14;12068:50;12112:4;12105:5;12101:16;12094:5;12068:50;:::i;:::-;12131:63;12188:4;12183:3;12179:14;12165:12;12131:63;:::i;:::-;12013:191;12270:50;12314:4;12307:5;12303:16;12296:5;12270:50;:::i;:::-;12333:63;12390:4;12385:3;12381:14;12367:12;12333:63;:::i;:::-;12214:192;11967:446;11857:556;;:::o;12419:287::-;12542:10;12563:100;12659:3;12651:6;12563:100;:::i;:::-;12695:4;12690:3;12686:14;12672:28;;12419:287;;;;:::o;12712:114::-;12792:5;12817:3;12808:12;;12712:114;;;;:::o;12832:143::-;12932:4;12964;12959:3;12955:14;12947:22;;12832:143;;;:::o;13029:917::-;13212:3;13235:112;13340:6;13335:3;13235:112;:::i;:::-;13228:119;;13371:86;13451:5;13371:86;:::i;:::-;13480:7;13511:1;13496:425;13521:6;13518:1;13515:13;13496:425;;;13591:70;13654:6;13645:7;13591:70;:::i;:::-;13681:117;13794:3;13779:13;13681:117;:::i;:::-;13674:124;;13821:90;13904:6;13821:90;:::i;:::-;13811:100;;13556:365;13543:1;13540;13536:9;13531:14;;13496:425;;;13500:14;13937:3;13930:10;;13217:729;;13029:917;;;;;:::o;13952:501::-;14159:4;14197:2;14186:9;14182:18;14174:26;;14246:9;14240:4;14236:20;14232:1;14221:9;14217:17;14210:47;14274:172;14441:4;14432:6;14424;14274:172;:::i;:::-;14266:180;;13952:501;;;;;:::o;14459:117::-;14568:1;14565;14558:12;14582:117;14691:1;14688;14681:12;14705:117;14814:1;14811;14804:12;14828:395;14923:4;14977:11;14964:25;15077:1;15071:4;15067:12;15056:8;15040:14;15036:29;15032:48;15012:18;15008:73;14998:168;;15085:79;;:::i;:::-;14998:168;15197:18;15187:8;15183:33;15175:41;;14928:295;14828:395;;;;:::o;15229:724::-;15306:4;15312:6;15368:11;15355:25;15468:1;15462:4;15458:12;15447:8;15431:14;15427:29;15423:48;15403:18;15399:73;15389:168;;15476:79;;:::i;:::-;15389:168;15588:18;15578:8;15574:33;15566:41;;15640:4;15627:18;15617:28;;15668:18;15660:6;15657:30;15654:117;;;15690:79;;:::i;:::-;15654:117;15798:2;15792:4;15788:13;15780:21;;15855:4;15847:6;15843:17;15827:14;15823:38;15817:4;15813:49;15810:136;;;15865:79;;:::i;:::-;15810:136;15319:634;15229:724;;;;;:::o;15959:168::-;16042:11;16076:6;16071:3;16064:19;16116:4;16111:3;16107:14;16092:29;;15959:168;;;;:::o;16133:146::-;16230:6;16225:3;16220;16207:30;16271:1;16262:6;16257:3;16253:16;16246:27;16133:146;;;:::o;16285:102::-;16326:6;16377:2;16373:7;16368:2;16361:5;16357:14;16353:28;16343:38;;16285:102;;;:::o;16415:314::-;16511:3;16532:70;16595:6;16590:3;16532:70;:::i;:::-;16525:77;;16612:56;16661:6;16656:3;16649:5;16612:56;:::i;:::-;16693:29;16715:6;16693:29;:::i;:::-;16688:3;16684:39;16677:46;;16415:314;;;;;:::o;16735:1328::-;17109:4;17147:3;17136:9;17132:19;17124:27;;17161:71;17229:1;17218:9;17214:17;17205:6;17161:71;:::i;:::-;17242:72;17310:2;17299:9;17295:18;17286:6;17242:72;:::i;:::-;17361:9;17355:4;17351:20;17346:2;17335:9;17331:18;17324:48;17389:86;17470:4;17461:6;17453;17389:86;:::i;:::-;17381:94;;17485:72;17553:2;17542:9;17538:18;17529:6;17485:72;:::i;:::-;17567:73;17635:3;17624:9;17620:19;17611:6;17567:73;:::i;:::-;17650;17718:3;17707:9;17703:19;17694:6;17650:73;:::i;:::-;17733;17801:3;17790:9;17786:19;17777:6;17733:73;:::i;:::-;17816;17884:3;17873:9;17869:19;17860:6;17816:73;:::i;:::-;17899;17967:3;17956:9;17952:19;17943:6;17899:73;:::i;:::-;17982:74;18051:3;18040:9;18036:19;18026:7;17982:74;:::i;:::-;16735:1328;;;;;;;;;;;;;;:::o;18069:60::-;18097:3;18118:5;18111:12;;18069:60;;;:::o;18135:140::-;18184:9;18217:52;18235:33;18244:23;18261:5;18244:23;:::i;:::-;18235:33;:::i;:::-;18217:52;:::i;:::-;18204:65;;18135:140;;;:::o;18281:129::-;18367:36;18397:5;18367:36;:::i;:::-;18362:3;18355:49;18281:129;;:::o;18416:440::-;18564:4;18602:2;18591:9;18587:18;18579:26;;18615:70;18682:1;18671:9;18667:17;18658:6;18615:70;:::i;:::-;18695:72;18763:2;18752:9;18748:18;18739:6;18695:72;:::i;:::-;18777;18845:2;18834:9;18830:18;18821:6;18777:72;:::i;:::-;18416:440;;;;;;:::o;18862:553::-;19039:4;19077:3;19066:9;19062:19;19054:27;;19091:71;19159:1;19148:9;19144:17;19135:6;19091:71;:::i;:::-;19172:72;19240:2;19229:9;19225:18;19216:6;19172:72;:::i;:::-;19254;19322:2;19311:9;19307:18;19298:6;19254:72;:::i;:::-;19336;19404:2;19393:9;19389:18;19380:6;19336:72;:::i;:::-;18862:553;;;;;;;:::o;19421:180::-;19469:77;19466:1;19459:88;19566:4;19563:1;19556:15;19590:4;19587:1;19580:15;19607:86;19642:7;19682:4;19675:5;19671:16;19660:27;;19607:86;;;:::o;19699:118::-;19770:22;19786:5;19770:22;:::i;:::-;19763:5;19760:33;19750:61;;19807:1;19804;19797:12;19750:61;19699:118;:::o;19823:135::-;19867:5;19905:6;19892:20;19883:29;;19921:31;19946:5;19921:31;:::i;:::-;19823:135;;;;:::o;19964:325::-;20021:6;20070:2;20058:9;20049:7;20045:23;20041:32;20038:119;;;20076:79;;:::i;:::-;20038:119;20196:1;20221:51;20264:7;20255:6;20244:9;20240:22;20221:51;:::i;:::-;20211:61;;20167:115;19964:325;;;;:::o;20295:329::-;20354:6;20403:2;20391:9;20382:7;20378:23;20374:32;20371:119;;;20409:79;;:::i;:::-;20371:119;20529:1;20554:53;20599:7;20590:6;20579:9;20575:22;20554:53;:::i;:::-;20544:63;;20500:117;20295:329;;;;:::o;20630:191::-;20670:3;20689:20;20707:1;20689:20;:::i;:::-;20684:25;;20723:20;20741:1;20723:20;:::i;:::-;20718:25;;20766:1;20763;20759:9;20752:16;;20787:3;20784:1;20781:10;20778:36;;;20794:18;;:::i;:::-;20778:36;20630:191;;;;:::o;20827:233::-;20866:3;20889:24;20907:5;20889:24;:::i;:::-;20880:33;;20935:66;20928:5;20925:77;20922:103;;21005:18;;:::i;:::-;20922:103;21052:1;21045:5;21041:13;21034:20;;20827:233;;;:::o;21066:79::-;21105:7;21134:5;21123:16;;21066:79;;;:::o;21151:157::-;21256:45;21276:24;21294:5;21276:24;:::i;:::-;21256:45;:::i;:::-;21251:3;21244:58;21151:157;;:::o;21314:256::-;21426:3;21441:75;21512:3;21503:6;21441:75;:::i;:::-;21541:2;21536:3;21532:12;21525:19;;21561:3;21554:10;;21314:256;;;;:::o;21576:98::-;21627:6;21661:5;21655:12;21645:22;;21576:98;;;:::o;21680:147::-;21781:11;21818:3;21803:18;;21680:147;;;;:::o;21833:246::-;21914:1;21924:113;21938:6;21935:1;21932:13;21924:113;;;22023:1;22018:3;22014:11;22008:18;22004:1;21999:3;21995:11;21988:39;21960:2;21957:1;21953:10;21948:15;;21924:113;;;22071:1;22062:6;22057:3;22053:16;22046:27;21895:184;21833:246;;;:::o;22085:386::-;22189:3;22217:38;22249:5;22217:38;:::i;:::-;22271:88;22352:6;22347:3;22271:88;:::i;:::-;22264:95;;22368:65;22426:6;22421:3;22414:4;22407:5;22403:16;22368:65;:::i;:::-;22458:6;22453:3;22449:16;22442:23;;22193:278;22085:386;;;;:::o;22477:271::-;22607:3;22629:93;22718:3;22709:6;22629:93;:::i;:::-;22622:100;;22739:3;22732:10;;22477:271;;;;:::o;22754:143::-;22811:5;22842:6;22836:13;22827:22;;22858:33;22885:5;22858:33;:::i;:::-;22754:143;;;;:::o;22903:351::-;22973:6;23022:2;23010:9;23001:7;22997:23;22993:32;22990:119;;;23028:79;;:::i;:::-;22990:119;23148:1;23173:64;23229:7;23220:6;23209:9;23205:22;23173:64;:::i;:::-;23163:74;;23119:128;22903:351;;;;:::o;23260:180::-;23308:77;23305:1;23298:88;23405:4;23402:1;23395:15;23429:4;23426:1;23419:15;23446:112;23529:22;23545:5;23529:22;:::i;:::-;23524:3;23517:35;23446:112;;:::o;23564:545::-;23737:4;23775:3;23764:9;23760:19;23752:27;;23789:71;23857:1;23846:9;23842:17;23833:6;23789:71;:::i;:::-;23870:68;23934:2;23923:9;23919:18;23910:6;23870:68;:::i;:::-;23948:72;24016:2;24005:9;24001:18;23992:6;23948:72;:::i;:::-;24030;24098:2;24087:9;24083:18;24074:6;24030:72;:::i;:::-;23564:545;;;;;;;:::o"},"methodIdentifiers":{"MS_PER_SECOND()":"1a8bcd34","NEW_REPORT_ATTESTATION_DOMAIN_SEPARATOR()":"bd7c3153","VALIDATOR_SET_HASH_DOMAIN_SEPARATOR()":"9e45a913","deployer()":"d5f39488","guardian()":"452a9320","guardianResetValidatorSet(uint256,uint256,bytes32)":"185bf52b","init(uint256,uint256,uint256,bytes32)":"4394f6f3","initialized()":"158ef93e","lastValidatorSetCheckpoint()":"af082a7d","powerThreshold()":"ba95ec27","unbondingPeriod()":"6cf6d675","updateValidatorSet(bytes32,uint64,uint256,(address,uint256)[],(uint8,bytes32,bytes32)[])":"84330d4c","validatorTimestamp()":"4f76f1ee","verifyOracleData((bytes32,(bytes,uint256,uint256,uint256,uint256,uint256),uint256),(address,uint256)[],(uint8,bytes32,bytes32)[])":"5e0d3b0f"}},"metadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_guardian\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"_validatorSetHashDomainSeparator\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"AlreadyInitialized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ECDSAInvalidSignature\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"ECDSAInvalidSignatureLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"ECDSAInvalidSignatureS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientVotingPower\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidPowerThreshold\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidSignature\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MalformedCurrentValidatorSet\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotDeployer\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotGuardian\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"StaleValidatorSet\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SuppliedValidatorSetInvalid\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ValidatorSetNotStale\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ValidatorTimestampMustIncrease\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_powerThreshold\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_validatorTimestamp\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"_validatorSetHash\",\"type\":\"bytes32\"}],\"name\":\"GuardianResetValidatorSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_powerThreshold\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_validatorTimestamp\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"_validatorSetHash\",\"type\":\"bytes32\"}],\"name\":\"ValidatorSetUpdated\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"MS_PER_SECOND\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NEW_REPORT_ATTESTATION_DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"VALIDATOR_SET_HASH_DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"deployer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"guardian\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_powerThreshold\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_validatorTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"_validatorSetCheckpoint\",\"type\":\"bytes32\"}],\"name\":\"guardianResetValidatorSet\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_powerThreshold\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_validatorTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_unbondingPeriod\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"_validatorSetCheckpoint\",\"type\":\"bytes32\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"initialized\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"lastValidatorSetCheckpoint\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"powerThreshold\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"unbondingPeriod\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_newValidatorSetHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"_newPowerThreshold\",\"type\":\"uint64\"},{\"internalType\":\"uint256\",\"name\":\"_newValidatorTimestamp\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"power\",\"type\":\"uint256\"}],\"internalType\":\"struct Validator[]\",\"name\":\"_currentValidatorSet\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"internalType\":\"struct Signature[]\",\"name\":\"_sigs\",\"type\":\"tuple[]\"}],\"name\":\"updateValidatorSet\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"validatorTimestamp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"queryId\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"aggregatePower\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"previousTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"nextTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"lastConsensusTimestamp\",\"type\":\"uint256\"}],\"internalType\":\"struct ReportData\",\"name\":\"report\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"attestationTimestamp\",\"type\":\"uint256\"}],\"internalType\":\"struct OracleAttestationData\",\"name\":\"_attestData\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"power\",\"type\":\"uint256\"}],\"internalType\":\"struct Validator[]\",\"name\":\"_currentValidatorSet\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"internalType\":\"struct Signature[]\",\"name\":\"_sigs\",\"type\":\"tuple[]\"}],\"name\":\"verifyOracleData\",\"outputs\":[],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"The relay relies on a set of signers to attest to some event on Tellor Layer. These signers are the validator set, who sign over every block. At least 2/3 of the voting power of the current view of the validator set must sign off on new relayed events.\",\"errors\":{\"ECDSAInvalidSignature()\":[{\"details\":\"The signature derives the `address(0)`.\"}],\"ECDSAInvalidSignatureLength(uint256)\":[{\"details\":\"The signature has an invalid length.\"}],\"ECDSAInvalidSignatureS(bytes32)\":[{\"details\":\"The signature has an S value that is in the upper half order.\"}]},\"kind\":\"dev\",\"methods\":{\"constructor\":{\"params\":{\"_guardian\":\"Guardian address.\"}},\"guardianResetValidatorSet(uint256,uint256,bytes32)\":{\"params\":{\"_powerThreshold\":\"Amount of voting power needed to approve operations.\",\"_validatorSetCheckpoint\":\"The hash of the validator set.\",\"_validatorTimestamp\":\"The timestamp of the block where validator set is updated.\"}},\"init(uint256,uint256,uint256,bytes32)\":{\"params\":{\"_powerThreshold\":\"Initial voting power that is needed to approve operations\",\"_unbondingPeriod\":\"Time period after which a validator can withdraw their stake.\",\"_validatorSetCheckpoint\":\"Initial checkpoint of the validator set.\",\"_validatorTimestamp\":\"Timestamp of the block where validator set is updated.\"}},\"updateValidatorSet(bytes32,uint64,uint256,(address,uint256)[],(uint8,bytes32,bytes32)[])\":{\"params\":{\"_currentValidatorSet\":\"The current validator set.\",\"_newPowerThreshold\":\"At least this much power must have signed.\",\"_newValidatorSetHash\":\"The hash of the new validator set.\",\"_newValidatorTimestamp\":\"The timestamp of the block where validator set is updated.\",\"_sigs\":\"Signatures.\"}},\"verifyOracleData((bytes32,(bytes,uint256,uint256,uint256,uint256,uint256),uint256),(address,uint256)[],(uint8,bytes32,bytes32)[])\":{\"params\":{\"_attestData\":\"The data being verified\",\"_currentValidatorSet\":\"array of current validator set\",\"_sigs\":\"Signatures.\"}}},\"title\":\"TellorDataBridge: Tellor Layer -> EVM, Oracle relay.\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"MS_PER_SECOND()\":{\"notice\":\"True if the contract is initialized.\"},\"constructor\":{\"notice\":\"Constructor for the TellorDataBridge contract.\"},\"deployer()\":{\"notice\":\"Timestamp of the block where validator set is updated.\"},\"guardianResetValidatorSet(uint256,uint256,bytes32)\":{\"notice\":\"This function is called by the guardian to reset the validator set only if it becomes stale.\"},\"init(uint256,uint256,uint256,bytes32)\":{\"notice\":\"This function is called only once by the deployer to initialize the contract\"},\"initialized()\":{\"notice\":\"Address that deployed the contract.\"},\"lastValidatorSetCheckpoint()\":{\"notice\":\"Able to reset the validator set only if the validator set becomes stale.\"},\"powerThreshold()\":{\"notice\":\"Domain-separated commitment to the latest validator set.\"},\"unbondingPeriod()\":{\"notice\":\"Voting power required to submit a new update.\"},\"updateValidatorSet(bytes32,uint64,uint256,(address,uint256)[],(uint8,bytes32,bytes32)[])\":{\"notice\":\"This updates the validator set by checking that the validators in the current validator set have signed off on the new validator set.\"},\"validatorTimestamp()\":{\"notice\":\"Time period after which a validator can withdraw their stake.\"},\"verifyOracleData((bytes32,(bytes,uint256,uint256,uint256,uint256,uint256),uint256),(address,uint256)[],(uint8,bytes32,bytes32)[])\":{\"notice\":\"This getter verifies a given piece of data vs Validator signatures\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/bridge/TellorDataBridge.sol\":\"TellorDataBridge\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/bridge/ECDSA.sol\":{\"keccak256\":\"0xd3cf86f8b73deb230943786cb7c5036b2b602fc3f7dc43f6cd1c06511831b8eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3cc6bb20c5239f6073c18604af3fc04c764984615a37d74b9cb24896465cb3c3\",\"dweb:/ipfs/QmPEMsTWcdXp6uAiPHiQGTCPCUsv161UvYZFGECJudFFoA\"]},\"contracts/bridge/TellorDataBridge.sol\":{\"keccak256\":\"0x21c5eae966078b8a9a354c9e2e5ad78a02a984f2f445084eaa8ba8e3cdf29b6f\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://ec6eb48821d89e81215f53d4bd6a20a4a512f859622ba5a220ee0ab6555ef9a4\",\"dweb:/ipfs/QmTcbTAmSsVccD1BGycmTkggo7QZZCMQTDn6xde297GbTn\"]}},\"version\":1}"}},"contracts/examples/YoloTellorUser.sol":{"YoloTellorUser":{"abi":[{"inputs":[{"internalType":"address","name":"_dataBridge","type":"address"},{"internalType":"bytes32","name":"_queryId","type":"bytes32"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"dataBridge","outputs":[{"internalType":"contract ITellorDataBridge","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCurrentData","outputs":[{"components":[{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"timestamp","type":"uint256"}],"internalType":"struct YoloTellorUser.OracleData","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getValueCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"oracleData","outputs":[{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"timestamp","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"queryId","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"bytes32","name":"queryId","type":"bytes32"},{"components":[{"internalType":"bytes","name":"value","type":"bytes"},{"internalType":"uint256","name":"timestamp","type":"uint256"},{"internalType":"uint256","name":"aggregatePower","type":"uint256"},{"internalType":"uint256","name":"previousTimestamp","type":"uint256"},{"internalType":"uint256","name":"nextTimestamp","type":"uint256"},{"internalType":"uint256","name":"lastConsensusTimestamp","type":"uint256"}],"internalType":"struct ReportData","name":"report","type":"tuple"},{"internalType":"uint256","name":"attestationTimestamp","type":"uint256"}],"internalType":"struct OracleAttestationData","name":"_attestData","type":"tuple"},{"components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"uint256","name":"power","type":"uint256"}],"internalType":"struct Validator[]","name":"_currentValidatorSet","type":"tuple[]"},{"components":[{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"internalType":"struct Signature[]","name":"_sigs","type":"tuple[]"}],"name":"updateOracleData","outputs":[],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{"@_993":{"entryPoint":null,"id":993,"parameterSlots":2,"returnSlots":0},"abi_decode_t_address_fromMemory":{"entryPoint":217,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_bytes32_fromMemory":{"entryPoint":276,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_addresst_bytes32_fromMemory":{"entryPoint":299,"id":null,"parameterSlots":2,"returnSlots":2},"allocate_unbounded":{"entryPoint":null,"id":null,"parameterSlots":0,"returnSlots":1},"cleanup_t_address":{"entryPoint":171,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_bytes32":{"entryPoint":240,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_uint160":{"entryPoint":139,"id":null,"parameterSlots":1,"returnSlots":1},"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db":{"entryPoint":null,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b":{"entryPoint":134,"id":null,"parameterSlots":0,"returnSlots":0},"validator_revert_t_address":{"entryPoint":191,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_t_bytes32":{"entryPoint":250,"id":null,"parameterSlots":1,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:1715:6","statements":[{"body":{"nodeType":"YulBlock","src":"47:35:6","statements":[{"nodeType":"YulAssignment","src":"57:19:6","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"73:2:6","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"67:5:6"},"nodeType":"YulFunctionCall","src":"67:9:6"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"57:6:6"}]}]},"name":"allocate_unbounded","nodeType":"YulFunctionDefinition","returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"40:6:6","type":""}],"src":"7:75:6"},{"body":{"nodeType":"YulBlock","src":"177:28:6","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"194:1:6","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"197:1:6","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"187:6:6"},"nodeType":"YulFunctionCall","src":"187:12:6"},"nodeType":"YulExpressionStatement","src":"187:12:6"}]},"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulFunctionDefinition","src":"88:117:6"},{"body":{"nodeType":"YulBlock","src":"300:28:6","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"317:1:6","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"320:1:6","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"310:6:6"},"nodeType":"YulFunctionCall","src":"310:12:6"},"nodeType":"YulExpressionStatement","src":"310:12:6"}]},"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulFunctionDefinition","src":"211:117:6"},{"body":{"nodeType":"YulBlock","src":"379:81:6","statements":[{"nodeType":"YulAssignment","src":"389:65:6","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"404:5:6"},{"kind":"number","nodeType":"YulLiteral","src":"411:42:6","type":"","value":"0xffffffffffffffffffffffffffffffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"400:3:6"},"nodeType":"YulFunctionCall","src":"400:54:6"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"389:7:6"}]}]},"name":"cleanup_t_uint160","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"361:5:6","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"371:7:6","type":""}],"src":"334:126:6"},{"body":{"nodeType":"YulBlock","src":"511:51:6","statements":[{"nodeType":"YulAssignment","src":"521:35:6","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"550:5:6"}],"functionName":{"name":"cleanup_t_uint160","nodeType":"YulIdentifier","src":"532:17:6"},"nodeType":"YulFunctionCall","src":"532:24:6"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"521:7:6"}]}]},"name":"cleanup_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"493:5:6","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"503:7:6","type":""}],"src":"466:96:6"},{"body":{"nodeType":"YulBlock","src":"611:79:6","statements":[{"body":{"nodeType":"YulBlock","src":"668:16:6","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"677:1:6","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"680:1:6","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"670:6:6"},"nodeType":"YulFunctionCall","src":"670:12:6"},"nodeType":"YulExpressionStatement","src":"670:12:6"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"634:5:6"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"659:5:6"}],"functionName":{"name":"cleanup_t_address","nodeType":"YulIdentifier","src":"641:17:6"},"nodeType":"YulFunctionCall","src":"641:24:6"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"631:2:6"},"nodeType":"YulFunctionCall","src":"631:35:6"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"624:6:6"},"nodeType":"YulFunctionCall","src":"624:43:6"},"nodeType":"YulIf","src":"621:63:6"}]},"name":"validator_revert_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"604:5:6","type":""}],"src":"568:122:6"},{"body":{"nodeType":"YulBlock","src":"759:80:6","statements":[{"nodeType":"YulAssignment","src":"769:22:6","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"784:6:6"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"778:5:6"},"nodeType":"YulFunctionCall","src":"778:13:6"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"769:5:6"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"827:5:6"}],"functionName":{"name":"validator_revert_t_address","nodeType":"YulIdentifier","src":"800:26:6"},"nodeType":"YulFunctionCall","src":"800:33:6"},"nodeType":"YulExpressionStatement","src":"800:33:6"}]},"name":"abi_decode_t_address_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"737:6:6","type":""},{"name":"end","nodeType":"YulTypedName","src":"745:3:6","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"753:5:6","type":""}],"src":"696:143:6"},{"body":{"nodeType":"YulBlock","src":"890:32:6","statements":[{"nodeType":"YulAssignment","src":"900:16:6","value":{"name":"value","nodeType":"YulIdentifier","src":"911:5:6"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"900:7:6"}]}]},"name":"cleanup_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"872:5:6","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"882:7:6","type":""}],"src":"845:77:6"},{"body":{"nodeType":"YulBlock","src":"971:79:6","statements":[{"body":{"nodeType":"YulBlock","src":"1028:16:6","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1037:1:6","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1040:1:6","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1030:6:6"},"nodeType":"YulFunctionCall","src":"1030:12:6"},"nodeType":"YulExpressionStatement","src":"1030:12:6"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"994:5:6"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1019:5:6"}],"functionName":{"name":"cleanup_t_bytes32","nodeType":"YulIdentifier","src":"1001:17:6"},"nodeType":"YulFunctionCall","src":"1001:24:6"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"991:2:6"},"nodeType":"YulFunctionCall","src":"991:35:6"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"984:6:6"},"nodeType":"YulFunctionCall","src":"984:43:6"},"nodeType":"YulIf","src":"981:63:6"}]},"name":"validator_revert_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"964:5:6","type":""}],"src":"928:122:6"},{"body":{"nodeType":"YulBlock","src":"1119:80:6","statements":[{"nodeType":"YulAssignment","src":"1129:22:6","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1144:6:6"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1138:5:6"},"nodeType":"YulFunctionCall","src":"1138:13:6"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"1129:5:6"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1187:5:6"}],"functionName":{"name":"validator_revert_t_bytes32","nodeType":"YulIdentifier","src":"1160:26:6"},"nodeType":"YulFunctionCall","src":"1160:33:6"},"nodeType":"YulExpressionStatement","src":"1160:33:6"}]},"name":"abi_decode_t_bytes32_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"1097:6:6","type":""},{"name":"end","nodeType":"YulTypedName","src":"1105:3:6","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"1113:5:6","type":""}],"src":"1056:143:6"},{"body":{"nodeType":"YulBlock","src":"1299:413:6","statements":[{"body":{"nodeType":"YulBlock","src":"1345:83:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"1347:77:6"},"nodeType":"YulFunctionCall","src":"1347:79:6"},"nodeType":"YulExpressionStatement","src":"1347:79:6"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1320:7:6"},{"name":"headStart","nodeType":"YulIdentifier","src":"1329:9:6"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1316:3:6"},"nodeType":"YulFunctionCall","src":"1316:23:6"},{"kind":"number","nodeType":"YulLiteral","src":"1341:2:6","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1312:3:6"},"nodeType":"YulFunctionCall","src":"1312:32:6"},"nodeType":"YulIf","src":"1309:119:6"},{"nodeType":"YulBlock","src":"1438:128:6","statements":[{"nodeType":"YulVariableDeclaration","src":"1453:15:6","value":{"kind":"number","nodeType":"YulLiteral","src":"1467:1:6","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"1457:6:6","type":""}]},{"nodeType":"YulAssignment","src":"1482:74:6","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1528:9:6"},{"name":"offset","nodeType":"YulIdentifier","src":"1539:6:6"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1524:3:6"},"nodeType":"YulFunctionCall","src":"1524:22:6"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1548:7:6"}],"functionName":{"name":"abi_decode_t_address_fromMemory","nodeType":"YulIdentifier","src":"1492:31:6"},"nodeType":"YulFunctionCall","src":"1492:64:6"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1482:6:6"}]}]},{"nodeType":"YulBlock","src":"1576:129:6","statements":[{"nodeType":"YulVariableDeclaration","src":"1591:16:6","value":{"kind":"number","nodeType":"YulLiteral","src":"1605:2:6","type":"","value":"32"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"1595:6:6","type":""}]},{"nodeType":"YulAssignment","src":"1621:74:6","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1667:9:6"},{"name":"offset","nodeType":"YulIdentifier","src":"1678:6:6"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1663:3:6"},"nodeType":"YulFunctionCall","src":"1663:22:6"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1687:7:6"}],"functionName":{"name":"abi_decode_t_bytes32_fromMemory","nodeType":"YulIdentifier","src":"1631:31:6"},"nodeType":"YulFunctionCall","src":"1631:64:6"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"1621:6:6"}]}]}]},"name":"abi_decode_tuple_t_addresst_bytes32_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1261:9:6","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1272:7:6","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1284:6:6","type":""},{"name":"value1","nodeType":"YulTypedName","src":"1292:6:6","type":""}],"src":"1205:507:6"}]},"contents":"{\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_address_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_address(value)\n }\n\n function cleanup_t_bytes32(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_bytes32(value) {\n if iszero(eq(value, cleanup_t_bytes32(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_bytes32_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_bytes32(value)\n }\n\n function abi_decode_tuple_t_addresst_bytes32_fromMemory(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_bytes32_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n}\n","id":6,"language":"Yul","name":"#utility.yul"}],"linkReferences":{},"object":"60806040523480156200001157600080fd5b5060405162000fe238038062000fe283398181016040528101906200003791906200012b565b816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600181905550505062000172565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620000b8826200008b565b9050919050565b620000ca81620000ab565b8114620000d657600080fd5b50565b600081519050620000ea81620000bf565b92915050565b6000819050919050565b6200010581620000f0565b81146200011157600080fd5b50565b6000815190506200012581620000fa565b92915050565b6000806040838503121562000145576200014462000086565b5b60006200015585828601620000d9565b9250506020620001688582860162000114565b9150509250929050565b610e6080620001826000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c80633f1be4d414610067578063413a89b414610085578063578855b2146100a357806361808010146100c1578063770b5414146100dd578063aa4dea00146100fb575b600080fd5b61006f61012c565b60405161007c91906103a3565b60405180910390f35b61008d610132565b60405161009a91906103d7565b60405180910390f35b6100ab61013f565b6040516100b89190610471565b60405180910390f35b6100db60048036038101906100d69190610575565b610163565b005b6100e56102dd565b6040516100f29190610664565b60405180910390f35b610115600480360381019061011091906106ab565b61033c565b6040516101239291906106d8565b60405180910390f35b60015481565b6000600280549050905090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635e0d3b0f86868686866040518663ffffffff1660e01b81526004016101c4959493929190610c31565b60006040518083038186803b1580156101dc57600080fd5b505afa1580156101f0573d6000803e3d6000fd5b5050505084600001356001541461023c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161023390610cde565b60405180910390fd5b600085806020019061024e9190610d0d565b806000019061025d9190610d35565b81019061026a91906106ab565b90506002604051806040016040528083815260200188806020019061028f9190610d0d565b60200135815250908060018154018082558091505060019003906000526020600020906002020160009091909190915060008201518160000155602082015181600101555050505050505050565b6102e5610370565b600260016002805490506102f99190610dc7565b8154811061030a57610309610dfb565b5b906000526020600020906002020160405180604001604052908160008201548152602001600182015481525050905090565b6002818154811061034c57600080fd5b90600052602060002090600202016000915090508060000154908060010154905082565b604051806040016040528060008152602001600081525090565b6000819050919050565b61039d8161038a565b82525050565b60006020820190506103b86000830184610394565b92915050565b6000819050919050565b6103d1816103be565b82525050565b60006020820190506103ec60008301846103c8565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600061043761043261042d846103f2565b610412565b6103f2565b9050919050565b60006104498261041c565b9050919050565b600061045b8261043e565b9050919050565b61046b81610450565b82525050565b60006020820190506104866000830184610462565b92915050565b600080fd5b600080fd5b600080fd5b6000606082840312156104b1576104b0610496565b5b81905092915050565b600080fd5b600080fd5b600080fd5b60008083601f8401126104df576104de6104ba565b5b8235905067ffffffffffffffff8111156104fc576104fb6104bf565b5b602083019150836040820283011115610518576105176104c4565b5b9250929050565b60008083601f840112610535576105346104ba565b5b8235905067ffffffffffffffff811115610552576105516104bf565b5b60208301915083606082028301111561056e5761056d6104c4565b5b9250929050565b6000806000806000606086880312156105915761059061048c565b5b600086013567ffffffffffffffff8111156105af576105ae610491565b5b6105bb8882890161049b565b955050602086013567ffffffffffffffff8111156105dc576105db610491565b5b6105e8888289016104c9565b9450945050604086013567ffffffffffffffff81111561060b5761060a610491565b5b6106178882890161051f565b92509250509295509295909350565b61062f816103be565b82525050565b60408201600082015161064b6000850182610626565b50602082015161065e6020850182610626565b50505050565b60006040820190506106796000830184610635565b92915050565b610688816103be565b811461069357600080fd5b50565b6000813590506106a58161067f565b92915050565b6000602082840312156106c1576106c061048c565b5b60006106cf84828501610696565b91505092915050565b60006040820190506106ed60008301856103c8565b6106fa60208301846103c8565b9392505050565b61070a8161038a565b811461071557600080fd5b50565b60008135905061072781610701565b92915050565b600061073c6020840184610718565b905092915050565b61074d8161038a565b82525050565b600080fd5b60008235600160c00383360303811261077457610773610753565b5b82810191505092915050565b600080fd5b600080fd5b600080833560016020038436030381126107a7576107a6610753565b5b83810192508235915060208301925067ffffffffffffffff8211156107cf576107ce610780565b5b6001820236038313156107e5576107e4610785565b5b509250929050565b600082825260208201905092915050565b82818337600083830152505050565b6000601f19601f8301169050919050565b600061082a83856107ed565b93506108378385846107fe565b6108408361080d565b840190509392505050565b600061085a6020840184610696565b905092915050565b600060c08301610875600084018461078a565b858303600087015261088883828461081e565b92505050610899602084018461084b565b6108a66020860182610626565b506108b4604084018461084b565b6108c16040860182610626565b506108cf606084018461084b565b6108dc6060860182610626565b506108ea608084018461084b565b6108f76080860182610626565b5061090560a084018461084b565b61091260a0860182610626565b508091505092915050565b600060608301610930600084018461072d565b61093d6000860182610744565b5061094b6020840184610758565b848203602086015261095d8282610862565b91505061096d604084018461084b565b61097a6040860182610626565b508091505092915050565b600082825260208201905092915050565b6000819050919050565b60006109ab826103f2565b9050919050565b6109bb816109a0565b81146109c657600080fd5b50565b6000813590506109d8816109b2565b92915050565b60006109ed60208401846109c9565b905092915050565b6109fe816109a0565b82525050565b60408201610a1560008301836109de565b610a2260008501826109f5565b50610a30602083018361084b565b610a3d6020850182610626565b50505050565b6000610a4f8383610a04565b60408301905092915050565b600082905092915050565b6000604082019050919050565b6000610a7f8385610985565b9350610a8a82610996565b8060005b85811015610ac357610aa08284610a5b565b610aaa8882610a43565b9750610ab583610a66565b925050600181019050610a8e565b5085925050509392505050565b600082825260208201905092915050565b6000819050919050565b600060ff82169050919050565b610b0181610aeb565b8114610b0c57600080fd5b50565b600081359050610b1e81610af8565b92915050565b6000610b336020840184610b0f565b905092915050565b610b4481610aeb565b82525050565b60608201610b5b6000830183610b24565b610b686000850182610b3b565b50610b76602083018361072d565b610b836020850182610744565b50610b91604083018361072d565b610b9e6040850182610744565b50505050565b6000610bb08383610b4a565b60608301905092915050565b600082905092915050565b6000606082019050919050565b6000610be08385610ad0565b9350610beb82610ae1565b8060005b85811015610c2457610c018284610bbc565b610c0b8882610ba4565b9750610c1683610bc7565b925050600181019050610bef565b5085925050509392505050565b60006060820190508181036000830152610c4b818861091d565b90508181036020830152610c60818688610a73565b90508181036040830152610c75818486610bd4565b90509695505050505050565b600082825260208201905092915050565b7f496e76616c696420717565727949640000000000000000000000000000000000600082015250565b6000610cc8600f83610c81565b9150610cd382610c92565b602082019050919050565b60006020820190508181036000830152610cf781610cbb565b9050919050565b600080fd5b600080fd5b600080fd5b60008235600160c003833603038112610d2957610d28610cfe565b5b80830191505092915050565b60008083356001602003843603038112610d5257610d51610cfe565b5b80840192508235915067ffffffffffffffff821115610d7457610d73610d03565b5b602083019250600182023603831315610d9057610d8f610d08565b5b509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610dd2826103be565b9150610ddd836103be565b9250828203905081811115610df557610df4610d98565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fdfea26469706673582212206730b1a15e2a445e71bcab434786396948d6bbd4a1f58f8c658833ed2c988e7264736f6c63430008130033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH3 0xFE2 CODESIZE SUB DUP1 PUSH3 0xFE2 DUP4 CODECOPY DUP2 DUP2 ADD PUSH1 0x40 MSTORE DUP2 ADD SWAP1 PUSH3 0x37 SWAP2 SWAP1 PUSH3 0x12B JUMP JUMPDEST DUP2 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP1 PUSH1 0x1 DUP2 SWAP1 SSTORE POP POP POP PUSH3 0x172 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0xB8 DUP3 PUSH3 0x8B JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0xCA DUP2 PUSH3 0xAB JUMP JUMPDEST DUP2 EQ PUSH3 0xD6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH3 0xEA DUP2 PUSH3 0xBF JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x105 DUP2 PUSH3 0xF0 JUMP JUMPDEST DUP2 EQ PUSH3 0x111 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH3 0x125 DUP2 PUSH3 0xFA JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH3 0x145 JUMPI PUSH3 0x144 PUSH3 0x86 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH3 0x155 DUP6 DUP3 DUP7 ADD PUSH3 0xD9 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH3 0x168 DUP6 DUP3 DUP7 ADD PUSH3 0x114 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH2 0xE60 DUP1 PUSH3 0x182 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x62 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x3F1BE4D4 EQ PUSH2 0x67 JUMPI DUP1 PUSH4 0x413A89B4 EQ PUSH2 0x85 JUMPI DUP1 PUSH4 0x578855B2 EQ PUSH2 0xA3 JUMPI DUP1 PUSH4 0x61808010 EQ PUSH2 0xC1 JUMPI DUP1 PUSH4 0x770B5414 EQ PUSH2 0xDD JUMPI DUP1 PUSH4 0xAA4DEA00 EQ PUSH2 0xFB JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x6F PUSH2 0x12C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x7C SWAP2 SWAP1 PUSH2 0x3A3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x8D PUSH2 0x132 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x9A SWAP2 SWAP1 PUSH2 0x3D7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xAB PUSH2 0x13F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xB8 SWAP2 SWAP1 PUSH2 0x471 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xDB PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xD6 SWAP2 SWAP1 PUSH2 0x575 JUMP JUMPDEST PUSH2 0x163 JUMP JUMPDEST STOP JUMPDEST PUSH2 0xE5 PUSH2 0x2DD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xF2 SWAP2 SWAP1 PUSH2 0x664 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x115 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x110 SWAP2 SWAP1 PUSH2 0x6AB JUMP JUMPDEST PUSH2 0x33C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x123 SWAP3 SWAP2 SWAP1 PUSH2 0x6D8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP1 SLOAD SWAP1 POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x5E0D3B0F DUP7 DUP7 DUP7 DUP7 DUP7 PUSH1 0x40 MLOAD DUP7 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1C4 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0xC31 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1DC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1F0 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP DUP5 PUSH1 0x0 ADD CALLDATALOAD PUSH1 0x1 SLOAD EQ PUSH2 0x23C JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x233 SWAP1 PUSH2 0xCDE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP6 DUP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x24E SWAP2 SWAP1 PUSH2 0xD0D JUMP JUMPDEST DUP1 PUSH1 0x0 ADD SWAP1 PUSH2 0x25D SWAP2 SWAP1 PUSH2 0xD35 JUMP JUMPDEST DUP2 ADD SWAP1 PUSH2 0x26A SWAP2 SWAP1 PUSH2 0x6AB JUMP JUMPDEST SWAP1 POP PUSH1 0x2 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 DUP4 DUP2 MSTORE PUSH1 0x20 ADD DUP9 DUP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x28F SWAP2 SWAP1 PUSH2 0xD0D JUMP JUMPDEST PUSH1 0x20 ADD CALLDATALOAD DUP2 MSTORE POP SWAP1 DUP1 PUSH1 0x1 DUP2 SLOAD ADD DUP1 DUP3 SSTORE DUP1 SWAP2 POP POP PUSH1 0x1 SWAP1 SUB SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x2 MUL ADD PUSH1 0x0 SWAP1 SWAP2 SWAP1 SWAP2 SWAP1 SWAP2 POP PUSH1 0x0 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD SSTORE PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD SSTORE POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x2E5 PUSH2 0x370 JUMP JUMPDEST PUSH1 0x2 PUSH1 0x1 PUSH1 0x2 DUP1 SLOAD SWAP1 POP PUSH2 0x2F9 SWAP2 SWAP1 PUSH2 0xDC7 JUMP JUMPDEST DUP2 SLOAD DUP2 LT PUSH2 0x30A JUMPI PUSH2 0x309 PUSH2 0xDFB JUMP JUMPDEST JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x2 MUL ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE SWAP1 DUP2 PUSH1 0x0 DUP3 ADD SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD SLOAD DUP2 MSTORE POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x2 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x34C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x2 MUL ADD PUSH1 0x0 SWAP2 POP SWAP1 POP DUP1 PUSH1 0x0 ADD SLOAD SWAP1 DUP1 PUSH1 0x1 ADD SLOAD SWAP1 POP DUP3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x39D DUP2 PUSH2 0x38A JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x3B8 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x394 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x3D1 DUP2 PUSH2 0x3BE JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x3EC PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x3C8 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x437 PUSH2 0x432 PUSH2 0x42D DUP5 PUSH2 0x3F2 JUMP JUMPDEST PUSH2 0x412 JUMP JUMPDEST PUSH2 0x3F2 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x449 DUP3 PUSH2 0x41C JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x45B DUP3 PUSH2 0x43E JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x46B DUP2 PUSH2 0x450 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x486 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x462 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4B1 JUMPI PUSH2 0x4B0 PUSH2 0x496 JUMP JUMPDEST JUMPDEST DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0x4DF JUMPI PUSH2 0x4DE PUSH2 0x4BA JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x4FC JUMPI PUSH2 0x4FB PUSH2 0x4BF JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x40 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0x518 JUMPI PUSH2 0x517 PUSH2 0x4C4 JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0x535 JUMPI PUSH2 0x534 PUSH2 0x4BA JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x552 JUMPI PUSH2 0x551 PUSH2 0x4BF JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x60 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0x56E JUMPI PUSH2 0x56D PUSH2 0x4C4 JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x591 JUMPI PUSH2 0x590 PUSH2 0x48C JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x5AF JUMPI PUSH2 0x5AE PUSH2 0x491 JUMP JUMPDEST JUMPDEST PUSH2 0x5BB DUP9 DUP3 DUP10 ADD PUSH2 0x49B JUMP JUMPDEST SWAP6 POP POP PUSH1 0x20 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x5DC JUMPI PUSH2 0x5DB PUSH2 0x491 JUMP JUMPDEST JUMPDEST PUSH2 0x5E8 DUP9 DUP3 DUP10 ADD PUSH2 0x4C9 JUMP JUMPDEST SWAP5 POP SWAP5 POP POP PUSH1 0x40 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x60B JUMPI PUSH2 0x60A PUSH2 0x491 JUMP JUMPDEST JUMPDEST PUSH2 0x617 DUP9 DUP3 DUP10 ADD PUSH2 0x51F JUMP JUMPDEST SWAP3 POP SWAP3 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH2 0x62F DUP2 PUSH2 0x3BE JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x40 DUP3 ADD PUSH1 0x0 DUP3 ADD MLOAD PUSH2 0x64B PUSH1 0x0 DUP6 ADD DUP3 PUSH2 0x626 JUMP JUMPDEST POP PUSH1 0x20 DUP3 ADD MLOAD PUSH2 0x65E PUSH1 0x20 DUP6 ADD DUP3 PUSH2 0x626 JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x679 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x635 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x688 DUP2 PUSH2 0x3BE JUMP JUMPDEST DUP2 EQ PUSH2 0x693 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x6A5 DUP2 PUSH2 0x67F JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x6C1 JUMPI PUSH2 0x6C0 PUSH2 0x48C JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x6CF DUP5 DUP3 DUP6 ADD PUSH2 0x696 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x6ED PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x3C8 JUMP JUMPDEST PUSH2 0x6FA PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x3C8 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0x70A DUP2 PUSH2 0x38A JUMP JUMPDEST DUP2 EQ PUSH2 0x715 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x727 DUP2 PUSH2 0x701 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x73C PUSH1 0x20 DUP5 ADD DUP5 PUSH2 0x718 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x74D DUP2 PUSH2 0x38A JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP3 CALLDATALOAD PUSH1 0x1 PUSH1 0xC0 SUB DUP4 CALLDATASIZE SUB SUB DUP2 SLT PUSH2 0x774 JUMPI PUSH2 0x773 PUSH2 0x753 JUMP JUMPDEST JUMPDEST DUP3 DUP2 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP4 CALLDATALOAD PUSH1 0x1 PUSH1 0x20 SUB DUP5 CALLDATASIZE SUB SUB DUP2 SLT PUSH2 0x7A7 JUMPI PUSH2 0x7A6 PUSH2 0x753 JUMP JUMPDEST JUMPDEST DUP4 DUP2 ADD SWAP3 POP DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD SWAP3 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x7CF JUMPI PUSH2 0x7CE PUSH2 0x780 JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 MUL CALLDATASIZE SUB DUP4 SGT ISZERO PUSH2 0x7E5 JUMPI PUSH2 0x7E4 PUSH2 0x785 JUMP JUMPDEST JUMPDEST POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x82A DUP4 DUP6 PUSH2 0x7ED JUMP JUMPDEST SWAP4 POP PUSH2 0x837 DUP4 DUP6 DUP5 PUSH2 0x7FE JUMP JUMPDEST PUSH2 0x840 DUP4 PUSH2 0x80D JUMP JUMPDEST DUP5 ADD SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x85A PUSH1 0x20 DUP5 ADD DUP5 PUSH2 0x696 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xC0 DUP4 ADD PUSH2 0x875 PUSH1 0x0 DUP5 ADD DUP5 PUSH2 0x78A JUMP JUMPDEST DUP6 DUP4 SUB PUSH1 0x0 DUP8 ADD MSTORE PUSH2 0x888 DUP4 DUP3 DUP5 PUSH2 0x81E JUMP JUMPDEST SWAP3 POP POP POP PUSH2 0x899 PUSH1 0x20 DUP5 ADD DUP5 PUSH2 0x84B JUMP JUMPDEST PUSH2 0x8A6 PUSH1 0x20 DUP7 ADD DUP3 PUSH2 0x626 JUMP JUMPDEST POP PUSH2 0x8B4 PUSH1 0x40 DUP5 ADD DUP5 PUSH2 0x84B JUMP JUMPDEST PUSH2 0x8C1 PUSH1 0x40 DUP7 ADD DUP3 PUSH2 0x626 JUMP JUMPDEST POP PUSH2 0x8CF PUSH1 0x60 DUP5 ADD DUP5 PUSH2 0x84B JUMP JUMPDEST PUSH2 0x8DC PUSH1 0x60 DUP7 ADD DUP3 PUSH2 0x626 JUMP JUMPDEST POP PUSH2 0x8EA PUSH1 0x80 DUP5 ADD DUP5 PUSH2 0x84B JUMP JUMPDEST PUSH2 0x8F7 PUSH1 0x80 DUP7 ADD DUP3 PUSH2 0x626 JUMP JUMPDEST POP PUSH2 0x905 PUSH1 0xA0 DUP5 ADD DUP5 PUSH2 0x84B JUMP JUMPDEST PUSH2 0x912 PUSH1 0xA0 DUP7 ADD DUP3 PUSH2 0x626 JUMP JUMPDEST POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP4 ADD PUSH2 0x930 PUSH1 0x0 DUP5 ADD DUP5 PUSH2 0x72D JUMP JUMPDEST PUSH2 0x93D PUSH1 0x0 DUP7 ADD DUP3 PUSH2 0x744 JUMP JUMPDEST POP PUSH2 0x94B PUSH1 0x20 DUP5 ADD DUP5 PUSH2 0x758 JUMP JUMPDEST DUP5 DUP3 SUB PUSH1 0x20 DUP7 ADD MSTORE PUSH2 0x95D DUP3 DUP3 PUSH2 0x862 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x96D PUSH1 0x40 DUP5 ADD DUP5 PUSH2 0x84B JUMP JUMPDEST PUSH2 0x97A PUSH1 0x40 DUP7 ADD DUP3 PUSH2 0x626 JUMP JUMPDEST POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x9AB DUP3 PUSH2 0x3F2 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x9BB DUP2 PUSH2 0x9A0 JUMP JUMPDEST DUP2 EQ PUSH2 0x9C6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x9D8 DUP2 PUSH2 0x9B2 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x9ED PUSH1 0x20 DUP5 ADD DUP5 PUSH2 0x9C9 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x9FE DUP2 PUSH2 0x9A0 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x40 DUP3 ADD PUSH2 0xA15 PUSH1 0x0 DUP4 ADD DUP4 PUSH2 0x9DE JUMP JUMPDEST PUSH2 0xA22 PUSH1 0x0 DUP6 ADD DUP3 PUSH2 0x9F5 JUMP JUMPDEST POP PUSH2 0xA30 PUSH1 0x20 DUP4 ADD DUP4 PUSH2 0x84B JUMP JUMPDEST PUSH2 0xA3D PUSH1 0x20 DUP6 ADD DUP3 PUSH2 0x626 JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xA4F DUP4 DUP4 PUSH2 0xA04 JUMP JUMPDEST PUSH1 0x40 DUP4 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xA7F DUP4 DUP6 PUSH2 0x985 JUMP JUMPDEST SWAP4 POP PUSH2 0xA8A DUP3 PUSH2 0x996 JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0xAC3 JUMPI PUSH2 0xAA0 DUP3 DUP5 PUSH2 0xA5B JUMP JUMPDEST PUSH2 0xAAA DUP9 DUP3 PUSH2 0xA43 JUMP JUMPDEST SWAP8 POP PUSH2 0xAB5 DUP4 PUSH2 0xA66 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0xA8E JUMP JUMPDEST POP DUP6 SWAP3 POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xB01 DUP2 PUSH2 0xAEB JUMP JUMPDEST DUP2 EQ PUSH2 0xB0C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xB1E DUP2 PUSH2 0xAF8 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xB33 PUSH1 0x20 DUP5 ADD DUP5 PUSH2 0xB0F JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xB44 DUP2 PUSH2 0xAEB JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x60 DUP3 ADD PUSH2 0xB5B PUSH1 0x0 DUP4 ADD DUP4 PUSH2 0xB24 JUMP JUMPDEST PUSH2 0xB68 PUSH1 0x0 DUP6 ADD DUP3 PUSH2 0xB3B JUMP JUMPDEST POP PUSH2 0xB76 PUSH1 0x20 DUP4 ADD DUP4 PUSH2 0x72D JUMP JUMPDEST PUSH2 0xB83 PUSH1 0x20 DUP6 ADD DUP3 PUSH2 0x744 JUMP JUMPDEST POP PUSH2 0xB91 PUSH1 0x40 DUP4 ADD DUP4 PUSH2 0x72D JUMP JUMPDEST PUSH2 0xB9E PUSH1 0x40 DUP6 ADD DUP3 PUSH2 0x744 JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xBB0 DUP4 DUP4 PUSH2 0xB4A JUMP JUMPDEST PUSH1 0x60 DUP4 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xBE0 DUP4 DUP6 PUSH2 0xAD0 JUMP JUMPDEST SWAP4 POP PUSH2 0xBEB DUP3 PUSH2 0xAE1 JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0xC24 JUMPI PUSH2 0xC01 DUP3 DUP5 PUSH2 0xBBC JUMP JUMPDEST PUSH2 0xC0B DUP9 DUP3 PUSH2 0xBA4 JUMP JUMPDEST SWAP8 POP PUSH2 0xC16 DUP4 PUSH2 0xBC7 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0xBEF JUMP JUMPDEST POP DUP6 SWAP3 POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xC4B DUP2 DUP9 PUSH2 0x91D JUMP JUMPDEST SWAP1 POP DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0xC60 DUP2 DUP7 DUP9 PUSH2 0xA73 JUMP JUMPDEST SWAP1 POP DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0xC75 DUP2 DUP5 DUP7 PUSH2 0xBD4 JUMP JUMPDEST SWAP1 POP SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x496E76616C696420717565727949640000000000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xCC8 PUSH1 0xF DUP4 PUSH2 0xC81 JUMP JUMPDEST SWAP2 POP PUSH2 0xCD3 DUP3 PUSH2 0xC92 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xCF7 DUP2 PUSH2 0xCBB JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP3 CALLDATALOAD PUSH1 0x1 PUSH1 0xC0 SUB DUP4 CALLDATASIZE SUB SUB DUP2 SLT PUSH2 0xD29 JUMPI PUSH2 0xD28 PUSH2 0xCFE JUMP JUMPDEST JUMPDEST DUP1 DUP4 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 CALLDATALOAD PUSH1 0x1 PUSH1 0x20 SUB DUP5 CALLDATASIZE SUB SUB DUP2 SLT PUSH2 0xD52 JUMPI PUSH2 0xD51 PUSH2 0xCFE JUMP JUMPDEST JUMPDEST DUP1 DUP5 ADD SWAP3 POP DUP3 CALLDATALOAD SWAP2 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0xD74 JUMPI PUSH2 0xD73 PUSH2 0xD03 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP3 POP PUSH1 0x1 DUP3 MUL CALLDATASIZE SUB DUP4 SGT ISZERO PUSH2 0xD90 JUMPI PUSH2 0xD8F PUSH2 0xD08 JUMP JUMPDEST JUMPDEST POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0xDD2 DUP3 PUSH2 0x3BE JUMP JUMPDEST SWAP2 POP PUSH2 0xDDD DUP4 PUSH2 0x3BE JUMP JUMPDEST SWAP3 POP DUP3 DUP3 SUB SWAP1 POP DUP2 DUP2 GT ISZERO PUSH2 0xDF5 JUMPI PUSH2 0xDF4 PUSH2 0xD98 JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH8 0x30B1A15E2A445E71 0xBC 0xAB NUMBER SELFBALANCE DUP7 CODECOPY PUSH10 0x48D6BBD4A1F58F8C6588 CALLER 0xED 0x2C SWAP9 DUP15 PUSH19 0x64736F6C634300081300330000000000000000 ","sourceMap":"277:1504:2:-:0;;;553:139;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;645:11;614:10;;:43;;;;;;;;;;;;;;;;;;677:8;667:7;:18;;;;553:139;;277:1504;;88:117:6;197:1;194;187:12;334:126;371:7;411:42;404:5;400:54;389:65;;334:126;;;:::o;466:96::-;503:7;532:24;550:5;532:24;:::i;:::-;521:35;;466:96;;;:::o;568:122::-;641:24;659:5;641:24;:::i;:::-;634:5;631:35;621:63;;680:1;677;670:12;621:63;568:122;:::o;696:143::-;753:5;784:6;778:13;769:22;;800:33;827:5;800:33;:::i;:::-;696:143;;;;:::o;845:77::-;882:7;911:5;900:16;;845:77;;;:::o;928:122::-;1001:24;1019:5;1001:24;:::i;:::-;994:5;991:35;981:63;;1040:1;1037;1030:12;981:63;928:122;:::o;1056:143::-;1113:5;1144:6;1138:13;1129:22;;1160:33;1187:5;1160:33;:::i;:::-;1056:143;;;;:::o;1205:507::-;1284:6;1292;1341:2;1329:9;1320:7;1316:23;1312:32;1309:119;;;1347:79;;:::i;:::-;1309:119;1467:1;1492:64;1548:7;1539:6;1528:9;1524:22;1492:64;:::i;:::-;1482:74;;1438:128;1605:2;1631:64;1687:7;1678:6;1667:9;1663:22;1631:64;:::i;:::-;1621:74;;1576:129;1205:507;;;;;:::o;277:1504:2:-;;;;;;;"},"deployedBytecode":{"functionDebugData":{"@dataBridge_964":{"entryPoint":319,"id":964,"parameterSlots":0,"returnSlots":0},"@getCurrentData_1061":{"entryPoint":733,"id":1061,"parameterSlots":0,"returnSlots":1},"@getValueCount_1070":{"entryPoint":306,"id":1070,"parameterSlots":0,"returnSlots":1},"@oracleData_970":{"entryPoint":828,"id":970,"parameterSlots":0,"returnSlots":0},"@queryId_966":{"entryPoint":300,"id":966,"parameterSlots":0,"returnSlots":0},"@updateOracleData_1047":{"entryPoint":355,"id":1047,"parameterSlots":5,"returnSlots":0},"abi_decode_t_address":{"entryPoint":2505,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_array$_t_struct$_Signature_$1144_calldata_ptr_$dyn_calldata_ptr":{"entryPoint":1311,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_t_array$_t_struct$_Validator_$1149_calldata_ptr_$dyn_calldata_ptr":{"entryPoint":1225,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_t_bytes32":{"entryPoint":1816,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_struct$_OracleAttestationData_$1124_calldata_ptr":{"entryPoint":1179,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_uint256":{"entryPoint":1686,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_uint8":{"entryPoint":2831,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_struct$_OracleAttestationData_$1124_calldata_ptrt_array$_t_struct$_Validator_$1149_calldata_ptr_$dyn_calldata_ptrt_array$_t_struct$_Signature_$1144_calldata_ptr_$dyn_calldata_ptr":{"entryPoint":1397,"id":null,"parameterSlots":2,"returnSlots":5},"abi_decode_tuple_t_uint256":{"entryPoint":1707,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encodeUpdatedPos_t_struct$_Signature_$1144_calldata_ptr_to_t_struct$_Signature_$1144_memory_ptr":{"entryPoint":2980,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encodeUpdatedPos_t_struct$_Validator_$1149_calldata_ptr_to_t_struct$_Validator_$1149_memory_ptr":{"entryPoint":2627,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_address_to_t_address":{"entryPoint":2549,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_array$_t_struct$_Signature_$1144_calldata_ptr_$dyn_calldata_ptr_to_t_array$_t_struct$_Signature_$1144_memory_ptr_$dyn_memory_ptr_fromStack":{"entryPoint":3028,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_t_array$_t_struct$_Validator_$1149_calldata_ptr_$dyn_calldata_ptr_to_t_array$_t_struct$_Validator_$1149_memory_ptr_$dyn_memory_ptr_fromStack":{"entryPoint":2675,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_t_bytes32_to_t_bytes32":{"entryPoint":1860,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_bytes32_to_t_bytes32_fromStack":{"entryPoint":916,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_bytes_calldata_ptr_to_t_bytes_memory_ptr":{"entryPoint":2078,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_t_contract$_ITellorDataBridge_$1184_to_t_address_fromStack":{"entryPoint":1122,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_stringliteral_5c98120c2d1113299b49cf447f38c466f541f9e65cb821e4e86f03bd25cc78a8_to_t_string_memory_ptr_fromStack":{"entryPoint":3259,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_struct$_OracleAttestationData_$1124_calldata_ptr_to_t_struct$_OracleAttestationData_$1124_memory_ptr_fromStack":{"entryPoint":2333,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_struct$_OracleData_$975_memory_ptr_to_t_struct$_OracleData_$975_memory_ptr_fromStack":{"entryPoint":1589,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_struct$_ReportData_$1137_calldata_ptr_to_t_struct$_ReportData_$1137_memory_ptr":{"entryPoint":2146,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_struct$_Signature_$1144_calldata_ptr_to_t_struct$_Signature_$1144_memory_ptr":{"entryPoint":2890,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_struct$_Validator_$1149_calldata_ptr_to_t_struct$_Validator_$1149_memory_ptr":{"entryPoint":2564,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_uint256_to_t_uint256":{"entryPoint":1574,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_uint256_to_t_uint256_fromStack":{"entryPoint":968,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_uint8_to_t_uint8":{"entryPoint":2875,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed":{"entryPoint":931,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_contract$_ITellorDataBridge_$1184__to_t_address__fromStack_reversed":{"entryPoint":1137,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_stringliteral_5c98120c2d1113299b49cf447f38c466f541f9e65cb821e4e86f03bd25cc78a8__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":3294,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_struct$_OracleAttestationData_$1124_calldata_ptr_t_array$_t_struct$_Validator_$1149_calldata_ptr_$dyn_calldata_ptr_t_array$_t_struct$_Signature_$1144_calldata_ptr_$dyn_calldata_ptr__to_t_struct$_OracleAttestationData_$1124_memory_ptr_t_array$_t_struct$_Validator_$1149_memory_ptr_$dyn_memory_ptr_t_array$_t_struct$_Signature_$1144_memory_ptr_$dyn_memory_ptr__fromStack_reversed":{"entryPoint":3121,"id":null,"parameterSlots":6,"returnSlots":1},"abi_encode_tuple_t_struct$_OracleData_$975_memory_ptr__to_t_struct$_OracleData_$975_memory_ptr__fromStack_reversed":{"entryPoint":1636,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed":{"entryPoint":983,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed":{"entryPoint":1752,"id":null,"parameterSlots":3,"returnSlots":1},"access_calldata_tail_t_bytes_calldata_ptr":{"entryPoint":3381,"id":null,"parameterSlots":2,"returnSlots":2},"access_calldata_tail_t_struct$_ReportData_$1137_calldata_ptr":{"entryPoint":3341,"id":null,"parameterSlots":2,"returnSlots":1},"allocate_unbounded":{"entryPoint":null,"id":null,"parameterSlots":0,"returnSlots":1},"array_dataslot_t_array$_t_struct$_Signature_$1144_calldata_ptr_$dyn_calldata_ptr":{"entryPoint":2785,"id":null,"parameterSlots":1,"returnSlots":1},"array_dataslot_t_array$_t_struct$_Validator_$1149_calldata_ptr_$dyn_calldata_ptr":{"entryPoint":2454,"id":null,"parameterSlots":1,"returnSlots":1},"array_nextElement_t_array$_t_struct$_Signature_$1144_calldata_ptr_$dyn_calldata_ptr":{"entryPoint":3015,"id":null,"parameterSlots":1,"returnSlots":1},"array_nextElement_t_array$_t_struct$_Validator_$1149_calldata_ptr_$dyn_calldata_ptr":{"entryPoint":2662,"id":null,"parameterSlots":1,"returnSlots":1},"array_storeLengthForEncoding_t_array$_t_struct$_Signature_$1144_memory_ptr_$dyn_memory_ptr_fromStack":{"entryPoint":2768,"id":null,"parameterSlots":2,"returnSlots":1},"array_storeLengthForEncoding_t_array$_t_struct$_Validator_$1149_memory_ptr_$dyn_memory_ptr_fromStack":{"entryPoint":2437,"id":null,"parameterSlots":2,"returnSlots":1},"array_storeLengthForEncoding_t_bytes_memory_ptr":{"entryPoint":2029,"id":null,"parameterSlots":2,"returnSlots":1},"array_storeLengthForEncoding_t_string_memory_ptr_fromStack":{"entryPoint":3201,"id":null,"parameterSlots":2,"returnSlots":1},"calldata_access_t_address":{"entryPoint":2526,"id":null,"parameterSlots":2,"returnSlots":1},"calldata_access_t_bytes32":{"entryPoint":1837,"id":null,"parameterSlots":2,"returnSlots":1},"calldata_access_t_bytes_calldata_ptr":{"entryPoint":1930,"id":null,"parameterSlots":2,"returnSlots":2},"calldata_access_t_struct$_ReportData_$1137_calldata_ptr":{"entryPoint":1880,"id":null,"parameterSlots":2,"returnSlots":1},"calldata_access_t_struct$_Signature_$1144_calldata_ptr":{"entryPoint":3004,"id":null,"parameterSlots":2,"returnSlots":1},"calldata_access_t_struct$_Validator_$1149_calldata_ptr":{"entryPoint":2651,"id":null,"parameterSlots":2,"returnSlots":1},"calldata_access_t_uint256":{"entryPoint":2123,"id":null,"parameterSlots":2,"returnSlots":1},"calldata_access_t_uint8":{"entryPoint":2852,"id":null,"parameterSlots":2,"returnSlots":1},"checked_sub_t_uint256":{"entryPoint":3527,"id":null,"parameterSlots":2,"returnSlots":1},"cleanup_t_address":{"entryPoint":2464,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_bytes32":{"entryPoint":906,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_uint160":{"entryPoint":1010,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_uint256":{"entryPoint":958,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_uint8":{"entryPoint":2795,"id":null,"parameterSlots":1,"returnSlots":1},"convert_t_contract$_ITellorDataBridge_$1184_to_t_address":{"entryPoint":1104,"id":null,"parameterSlots":1,"returnSlots":1},"convert_t_uint160_to_t_address":{"entryPoint":1086,"id":null,"parameterSlots":1,"returnSlots":1},"convert_t_uint160_to_t_uint160":{"entryPoint":1052,"id":null,"parameterSlots":1,"returnSlots":1},"copy_calldata_to_memory_with_cleanup":{"entryPoint":2046,"id":null,"parameterSlots":3,"returnSlots":0},"identity":{"entryPoint":1042,"id":null,"parameterSlots":1,"returnSlots":1},"panic_error_0x11":{"entryPoint":3480,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x32":{"entryPoint":3579,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_0803104b3ab68501accf02de57372b8e5e6e1582158b771d3f89279dc6822fe2":{"entryPoint":1920,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490":{"entryPoint":1215,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d":{"entryPoint":1210,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_1e55d03107e9c4f1b5e21c76a16fba166a461117ab153bcce65e6a4ea8e5fc8a":{"entryPoint":3331,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_21fe6b43b4db61d76a176e95bf1a6b9ede4c301f93a4246f41fecb96e160861d":{"entryPoint":1174,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_356d538aaf70fba12156cc466564b792649f8f3befb07b071c91142253e175ad":{"entryPoint":3326,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_3894daff73bdbb8963c284e167b207f7abade3c031c50828ea230a16bdbc0f20":{"entryPoint":1925,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef":{"entryPoint":1220,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_977805620ff29572292dee35f70b0f3f3f73d3fdd0e9f4d7a901c2e43ab18a2e":{"entryPoint":3336,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db":{"entryPoint":1169,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_db64ea6d4a12deece376118739de8d9f517a2db5b58ea2ca332ea908c04c71d4":{"entryPoint":1875,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b":{"entryPoint":1164,"id":null,"parameterSlots":0,"returnSlots":0},"round_up_to_mul_of_32":{"entryPoint":2061,"id":null,"parameterSlots":1,"returnSlots":1},"store_literal_in_memory_5c98120c2d1113299b49cf447f38c466f541f9e65cb821e4e86f03bd25cc78a8":{"entryPoint":3218,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_t_address":{"entryPoint":2482,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_t_bytes32":{"entryPoint":1793,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_t_uint256":{"entryPoint":1663,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_t_uint8":{"entryPoint":2808,"id":null,"parameterSlots":1,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:24152:6","statements":[{"body":{"nodeType":"YulBlock","src":"52:32:6","statements":[{"nodeType":"YulAssignment","src":"62:16:6","value":{"name":"value","nodeType":"YulIdentifier","src":"73:5:6"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"62:7:6"}]}]},"name":"cleanup_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"34:5:6","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"44:7:6","type":""}],"src":"7:77:6"},{"body":{"nodeType":"YulBlock","src":"155:53:6","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"172:3:6"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"195:5:6"}],"functionName":{"name":"cleanup_t_bytes32","nodeType":"YulIdentifier","src":"177:17:6"},"nodeType":"YulFunctionCall","src":"177:24:6"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"165:6:6"},"nodeType":"YulFunctionCall","src":"165:37:6"},"nodeType":"YulExpressionStatement","src":"165:37:6"}]},"name":"abi_encode_t_bytes32_to_t_bytes32_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"143:5:6","type":""},{"name":"pos","nodeType":"YulTypedName","src":"150:3:6","type":""}],"src":"90:118:6"},{"body":{"nodeType":"YulBlock","src":"312:124:6","statements":[{"nodeType":"YulAssignment","src":"322:26:6","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"334:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"345:2:6","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"330:3:6"},"nodeType":"YulFunctionCall","src":"330:18:6"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"322:4:6"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"402:6:6"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"415:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"426:1:6","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"411:3:6"},"nodeType":"YulFunctionCall","src":"411:17:6"}],"functionName":{"name":"abi_encode_t_bytes32_to_t_bytes32_fromStack","nodeType":"YulIdentifier","src":"358:43:6"},"nodeType":"YulFunctionCall","src":"358:71:6"},"nodeType":"YulExpressionStatement","src":"358:71:6"}]},"name":"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"284:9:6","type":""},{"name":"value0","nodeType":"YulTypedName","src":"296:6:6","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"307:4:6","type":""}],"src":"214:222:6"},{"body":{"nodeType":"YulBlock","src":"487:32:6","statements":[{"nodeType":"YulAssignment","src":"497:16:6","value":{"name":"value","nodeType":"YulIdentifier","src":"508:5:6"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"497:7:6"}]}]},"name":"cleanup_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"469:5:6","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"479:7:6","type":""}],"src":"442:77:6"},{"body":{"nodeType":"YulBlock","src":"590:53:6","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"607:3:6"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"630:5:6"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"612:17:6"},"nodeType":"YulFunctionCall","src":"612:24:6"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"600:6:6"},"nodeType":"YulFunctionCall","src":"600:37:6"},"nodeType":"YulExpressionStatement","src":"600:37:6"}]},"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"578:5:6","type":""},{"name":"pos","nodeType":"YulTypedName","src":"585:3:6","type":""}],"src":"525:118:6"},{"body":{"nodeType":"YulBlock","src":"747:124:6","statements":[{"nodeType":"YulAssignment","src":"757:26:6","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"769:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"780:2:6","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"765:3:6"},"nodeType":"YulFunctionCall","src":"765:18:6"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"757:4:6"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"837:6:6"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"850:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"861:1:6","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"846:3:6"},"nodeType":"YulFunctionCall","src":"846:17:6"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"793:43:6"},"nodeType":"YulFunctionCall","src":"793:71:6"},"nodeType":"YulExpressionStatement","src":"793:71:6"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"719:9:6","type":""},{"name":"value0","nodeType":"YulTypedName","src":"731:6:6","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"742:4:6","type":""}],"src":"649:222:6"},{"body":{"nodeType":"YulBlock","src":"922:81:6","statements":[{"nodeType":"YulAssignment","src":"932:65:6","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"947:5:6"},{"kind":"number","nodeType":"YulLiteral","src":"954:42:6","type":"","value":"0xffffffffffffffffffffffffffffffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"943:3:6"},"nodeType":"YulFunctionCall","src":"943:54:6"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"932:7:6"}]}]},"name":"cleanup_t_uint160","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"904:5:6","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"914:7:6","type":""}],"src":"877:126:6"},{"body":{"nodeType":"YulBlock","src":"1041:28:6","statements":[{"nodeType":"YulAssignment","src":"1051:12:6","value":{"name":"value","nodeType":"YulIdentifier","src":"1058:5:6"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"1051:3:6"}]}]},"name":"identity","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"1027:5:6","type":""}],"returnVariables":[{"name":"ret","nodeType":"YulTypedName","src":"1037:3:6","type":""}],"src":"1009:60:6"},{"body":{"nodeType":"YulBlock","src":"1135:82:6","statements":[{"nodeType":"YulAssignment","src":"1145:66:6","value":{"arguments":[{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1203:5:6"}],"functionName":{"name":"cleanup_t_uint160","nodeType":"YulIdentifier","src":"1185:17:6"},"nodeType":"YulFunctionCall","src":"1185:24:6"}],"functionName":{"name":"identity","nodeType":"YulIdentifier","src":"1176:8:6"},"nodeType":"YulFunctionCall","src":"1176:34:6"}],"functionName":{"name":"cleanup_t_uint160","nodeType":"YulIdentifier","src":"1158:17:6"},"nodeType":"YulFunctionCall","src":"1158:53:6"},"variableNames":[{"name":"converted","nodeType":"YulIdentifier","src":"1145:9:6"}]}]},"name":"convert_t_uint160_to_t_uint160","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"1115:5:6","type":""}],"returnVariables":[{"name":"converted","nodeType":"YulTypedName","src":"1125:9:6","type":""}],"src":"1075:142:6"},{"body":{"nodeType":"YulBlock","src":"1283:66:6","statements":[{"nodeType":"YulAssignment","src":"1293:50:6","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1337:5:6"}],"functionName":{"name":"convert_t_uint160_to_t_uint160","nodeType":"YulIdentifier","src":"1306:30:6"},"nodeType":"YulFunctionCall","src":"1306:37:6"},"variableNames":[{"name":"converted","nodeType":"YulIdentifier","src":"1293:9:6"}]}]},"name":"convert_t_uint160_to_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"1263:5:6","type":""}],"returnVariables":[{"name":"converted","nodeType":"YulTypedName","src":"1273:9:6","type":""}],"src":"1223:126:6"},{"body":{"nodeType":"YulBlock","src":"1441:66:6","statements":[{"nodeType":"YulAssignment","src":"1451:50:6","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1495:5:6"}],"functionName":{"name":"convert_t_uint160_to_t_address","nodeType":"YulIdentifier","src":"1464:30:6"},"nodeType":"YulFunctionCall","src":"1464:37:6"},"variableNames":[{"name":"converted","nodeType":"YulIdentifier","src":"1451:9:6"}]}]},"name":"convert_t_contract$_ITellorDataBridge_$1184_to_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"1421:5:6","type":""}],"returnVariables":[{"name":"converted","nodeType":"YulTypedName","src":"1431:9:6","type":""}],"src":"1355:152:6"},{"body":{"nodeType":"YulBlock","src":"1604:92:6","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"1621:3:6"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1683:5:6"}],"functionName":{"name":"convert_t_contract$_ITellorDataBridge_$1184_to_t_address","nodeType":"YulIdentifier","src":"1626:56:6"},"nodeType":"YulFunctionCall","src":"1626:63:6"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1614:6:6"},"nodeType":"YulFunctionCall","src":"1614:76:6"},"nodeType":"YulExpressionStatement","src":"1614:76:6"}]},"name":"abi_encode_t_contract$_ITellorDataBridge_$1184_to_t_address_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"1592:5:6","type":""},{"name":"pos","nodeType":"YulTypedName","src":"1599:3:6","type":""}],"src":"1513:183:6"},{"body":{"nodeType":"YulBlock","src":"1826:150:6","statements":[{"nodeType":"YulAssignment","src":"1836:26:6","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1848:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"1859:2:6","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1844:3:6"},"nodeType":"YulFunctionCall","src":"1844:18:6"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1836:4:6"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"1942:6:6"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1955:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"1966:1:6","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1951:3:6"},"nodeType":"YulFunctionCall","src":"1951:17:6"}],"functionName":{"name":"abi_encode_t_contract$_ITellorDataBridge_$1184_to_t_address_fromStack","nodeType":"YulIdentifier","src":"1872:69:6"},"nodeType":"YulFunctionCall","src":"1872:97:6"},"nodeType":"YulExpressionStatement","src":"1872:97:6"}]},"name":"abi_encode_tuple_t_contract$_ITellorDataBridge_$1184__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1798:9:6","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1810:6:6","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1821:4:6","type":""}],"src":"1702:274:6"},{"body":{"nodeType":"YulBlock","src":"2022:35:6","statements":[{"nodeType":"YulAssignment","src":"2032:19:6","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2048:2:6","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2042:5:6"},"nodeType":"YulFunctionCall","src":"2042:9:6"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"2032:6:6"}]}]},"name":"allocate_unbounded","nodeType":"YulFunctionDefinition","returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"2015:6:6","type":""}],"src":"1982:75:6"},{"body":{"nodeType":"YulBlock","src":"2152:28:6","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2169:1:6","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2172:1:6","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2162:6:6"},"nodeType":"YulFunctionCall","src":"2162:12:6"},"nodeType":"YulExpressionStatement","src":"2162:12:6"}]},"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulFunctionDefinition","src":"2063:117:6"},{"body":{"nodeType":"YulBlock","src":"2275:28:6","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2292:1:6","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2295:1:6","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2285:6:6"},"nodeType":"YulFunctionCall","src":"2285:12:6"},"nodeType":"YulExpressionStatement","src":"2285:12:6"}]},"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulFunctionDefinition","src":"2186:117:6"},{"body":{"nodeType":"YulBlock","src":"2398:28:6","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2415:1:6","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2418:1:6","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2408:6:6"},"nodeType":"YulFunctionCall","src":"2408:12:6"},"nodeType":"YulExpressionStatement","src":"2408:12:6"}]},"name":"revert_error_21fe6b43b4db61d76a176e95bf1a6b9ede4c301f93a4246f41fecb96e160861d","nodeType":"YulFunctionDefinition","src":"2309:117:6"},{"body":{"nodeType":"YulBlock","src":"2561:152:6","statements":[{"body":{"nodeType":"YulBlock","src":"2600:83:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_21fe6b43b4db61d76a176e95bf1a6b9ede4c301f93a4246f41fecb96e160861d","nodeType":"YulIdentifier","src":"2602:77:6"},"nodeType":"YulFunctionCall","src":"2602:79:6"},"nodeType":"YulExpressionStatement","src":"2602:79:6"}]},"condition":{"arguments":[{"arguments":[{"name":"end","nodeType":"YulIdentifier","src":"2582:3:6"},{"name":"offset","nodeType":"YulIdentifier","src":"2587:6:6"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2578:3:6"},"nodeType":"YulFunctionCall","src":"2578:16:6"},{"kind":"number","nodeType":"YulLiteral","src":"2596:2:6","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2574:3:6"},"nodeType":"YulFunctionCall","src":"2574:25:6"},"nodeType":"YulIf","src":"2571:112:6"},{"nodeType":"YulAssignment","src":"2692:15:6","value":{"name":"offset","nodeType":"YulIdentifier","src":"2701:6:6"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"2692:5:6"}]}]},"name":"abi_decode_t_struct$_OracleAttestationData_$1124_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"2539:6:6","type":""},{"name":"end","nodeType":"YulTypedName","src":"2547:3:6","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"2555:5:6","type":""}],"src":"2468:245:6"},{"body":{"nodeType":"YulBlock","src":"2808:28:6","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2825:1:6","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2828:1:6","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2818:6:6"},"nodeType":"YulFunctionCall","src":"2818:12:6"},"nodeType":"YulExpressionStatement","src":"2818:12:6"}]},"name":"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d","nodeType":"YulFunctionDefinition","src":"2719:117:6"},{"body":{"nodeType":"YulBlock","src":"2931:28:6","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2948:1:6","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2951:1:6","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2941:6:6"},"nodeType":"YulFunctionCall","src":"2941:12:6"},"nodeType":"YulExpressionStatement","src":"2941:12:6"}]},"name":"revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490","nodeType":"YulFunctionDefinition","src":"2842:117:6"},{"body":{"nodeType":"YulBlock","src":"3054:28:6","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3071:1:6","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3074:1:6","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3064:6:6"},"nodeType":"YulFunctionCall","src":"3064:12:6"},"nodeType":"YulExpressionStatement","src":"3064:12:6"}]},"name":"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef","nodeType":"YulFunctionDefinition","src":"2965:117:6"},{"body":{"nodeType":"YulBlock","src":"3233:478:6","statements":[{"body":{"nodeType":"YulBlock","src":"3282:83:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d","nodeType":"YulIdentifier","src":"3284:77:6"},"nodeType":"YulFunctionCall","src":"3284:79:6"},"nodeType":"YulExpressionStatement","src":"3284:79:6"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"3261:6:6"},{"kind":"number","nodeType":"YulLiteral","src":"3269:4:6","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3257:3:6"},"nodeType":"YulFunctionCall","src":"3257:17:6"},{"name":"end","nodeType":"YulIdentifier","src":"3276:3:6"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"3253:3:6"},"nodeType":"YulFunctionCall","src":"3253:27:6"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"3246:6:6"},"nodeType":"YulFunctionCall","src":"3246:35:6"},"nodeType":"YulIf","src":"3243:122:6"},{"nodeType":"YulAssignment","src":"3374:30:6","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"3397:6:6"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3384:12:6"},"nodeType":"YulFunctionCall","src":"3384:20:6"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"3374:6:6"}]},{"body":{"nodeType":"YulBlock","src":"3447:83:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490","nodeType":"YulIdentifier","src":"3449:77:6"},"nodeType":"YulFunctionCall","src":"3449:79:6"},"nodeType":"YulExpressionStatement","src":"3449:79:6"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"3419:6:6"},{"kind":"number","nodeType":"YulLiteral","src":"3427:18:6","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"3416:2:6"},"nodeType":"YulFunctionCall","src":"3416:30:6"},"nodeType":"YulIf","src":"3413:117:6"},{"nodeType":"YulAssignment","src":"3539:29:6","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"3555:6:6"},{"kind":"number","nodeType":"YulLiteral","src":"3563:4:6","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3551:3:6"},"nodeType":"YulFunctionCall","src":"3551:17:6"},"variableNames":[{"name":"arrayPos","nodeType":"YulIdentifier","src":"3539:8:6"}]},{"body":{"nodeType":"YulBlock","src":"3622:83:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef","nodeType":"YulIdentifier","src":"3624:77:6"},"nodeType":"YulFunctionCall","src":"3624:79:6"},"nodeType":"YulExpressionStatement","src":"3624:79:6"}]},"condition":{"arguments":[{"arguments":[{"name":"arrayPos","nodeType":"YulIdentifier","src":"3587:8:6"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"3601:6:6"},{"kind":"number","nodeType":"YulLiteral","src":"3609:4:6","type":"","value":"0x40"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"3597:3:6"},"nodeType":"YulFunctionCall","src":"3597:17:6"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3583:3:6"},"nodeType":"YulFunctionCall","src":"3583:32:6"},{"name":"end","nodeType":"YulIdentifier","src":"3617:3:6"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"3580:2:6"},"nodeType":"YulFunctionCall","src":"3580:41:6"},"nodeType":"YulIf","src":"3577:128:6"}]},"name":"abi_decode_t_array$_t_struct$_Validator_$1149_calldata_ptr_$dyn_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"3200:6:6","type":""},{"name":"end","nodeType":"YulTypedName","src":"3208:3:6","type":""}],"returnVariables":[{"name":"arrayPos","nodeType":"YulTypedName","src":"3216:8:6","type":""},{"name":"length","nodeType":"YulTypedName","src":"3226:6:6","type":""}],"src":"3114:597:6"},{"body":{"nodeType":"YulBlock","src":"3862:478:6","statements":[{"body":{"nodeType":"YulBlock","src":"3911:83:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d","nodeType":"YulIdentifier","src":"3913:77:6"},"nodeType":"YulFunctionCall","src":"3913:79:6"},"nodeType":"YulExpressionStatement","src":"3913:79:6"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"3890:6:6"},{"kind":"number","nodeType":"YulLiteral","src":"3898:4:6","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3886:3:6"},"nodeType":"YulFunctionCall","src":"3886:17:6"},{"name":"end","nodeType":"YulIdentifier","src":"3905:3:6"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"3882:3:6"},"nodeType":"YulFunctionCall","src":"3882:27:6"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"3875:6:6"},"nodeType":"YulFunctionCall","src":"3875:35:6"},"nodeType":"YulIf","src":"3872:122:6"},{"nodeType":"YulAssignment","src":"4003:30:6","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"4026:6:6"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4013:12:6"},"nodeType":"YulFunctionCall","src":"4013:20:6"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"4003:6:6"}]},{"body":{"nodeType":"YulBlock","src":"4076:83:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490","nodeType":"YulIdentifier","src":"4078:77:6"},"nodeType":"YulFunctionCall","src":"4078:79:6"},"nodeType":"YulExpressionStatement","src":"4078:79:6"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"4048:6:6"},{"kind":"number","nodeType":"YulLiteral","src":"4056:18:6","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"4045:2:6"},"nodeType":"YulFunctionCall","src":"4045:30:6"},"nodeType":"YulIf","src":"4042:117:6"},{"nodeType":"YulAssignment","src":"4168:29:6","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"4184:6:6"},{"kind":"number","nodeType":"YulLiteral","src":"4192:4:6","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4180:3:6"},"nodeType":"YulFunctionCall","src":"4180:17:6"},"variableNames":[{"name":"arrayPos","nodeType":"YulIdentifier","src":"4168:8:6"}]},{"body":{"nodeType":"YulBlock","src":"4251:83:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef","nodeType":"YulIdentifier","src":"4253:77:6"},"nodeType":"YulFunctionCall","src":"4253:79:6"},"nodeType":"YulExpressionStatement","src":"4253:79:6"}]},"condition":{"arguments":[{"arguments":[{"name":"arrayPos","nodeType":"YulIdentifier","src":"4216:8:6"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"4230:6:6"},{"kind":"number","nodeType":"YulLiteral","src":"4238:4:6","type":"","value":"0x60"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"4226:3:6"},"nodeType":"YulFunctionCall","src":"4226:17:6"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4212:3:6"},"nodeType":"YulFunctionCall","src":"4212:32:6"},{"name":"end","nodeType":"YulIdentifier","src":"4246:3:6"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"4209:2:6"},"nodeType":"YulFunctionCall","src":"4209:41:6"},"nodeType":"YulIf","src":"4206:128:6"}]},"name":"abi_decode_t_array$_t_struct$_Signature_$1144_calldata_ptr_$dyn_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"3829:6:6","type":""},{"name":"end","nodeType":"YulTypedName","src":"3837:3:6","type":""}],"returnVariables":[{"name":"arrayPos","nodeType":"YulTypedName","src":"3845:8:6","type":""},{"name":"length","nodeType":"YulTypedName","src":"3855:6:6","type":""}],"src":"3743:597:6"},{"body":{"nodeType":"YulBlock","src":"4615:1168:6","statements":[{"body":{"nodeType":"YulBlock","src":"4661:83:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"4663:77:6"},"nodeType":"YulFunctionCall","src":"4663:79:6"},"nodeType":"YulExpressionStatement","src":"4663:79:6"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"4636:7:6"},{"name":"headStart","nodeType":"YulIdentifier","src":"4645:9:6"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4632:3:6"},"nodeType":"YulFunctionCall","src":"4632:23:6"},{"kind":"number","nodeType":"YulLiteral","src":"4657:2:6","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"4628:3:6"},"nodeType":"YulFunctionCall","src":"4628:32:6"},"nodeType":"YulIf","src":"4625:119:6"},{"nodeType":"YulBlock","src":"4754:318:6","statements":[{"nodeType":"YulVariableDeclaration","src":"4769:45:6","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4800:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"4811:1:6","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4796:3:6"},"nodeType":"YulFunctionCall","src":"4796:17:6"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4783:12:6"},"nodeType":"YulFunctionCall","src":"4783:31:6"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"4773:6:6","type":""}]},{"body":{"nodeType":"YulBlock","src":"4861:83:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulIdentifier","src":"4863:77:6"},"nodeType":"YulFunctionCall","src":"4863:79:6"},"nodeType":"YulExpressionStatement","src":"4863:79:6"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"4833:6:6"},{"kind":"number","nodeType":"YulLiteral","src":"4841:18:6","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"4830:2:6"},"nodeType":"YulFunctionCall","src":"4830:30:6"},"nodeType":"YulIf","src":"4827:117:6"},{"nodeType":"YulAssignment","src":"4958:104:6","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5034:9:6"},{"name":"offset","nodeType":"YulIdentifier","src":"5045:6:6"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5030:3:6"},"nodeType":"YulFunctionCall","src":"5030:22:6"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"5054:7:6"}],"functionName":{"name":"abi_decode_t_struct$_OracleAttestationData_$1124_calldata_ptr","nodeType":"YulIdentifier","src":"4968:61:6"},"nodeType":"YulFunctionCall","src":"4968:94:6"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"4958:6:6"}]}]},{"nodeType":"YulBlock","src":"5082:342:6","statements":[{"nodeType":"YulVariableDeclaration","src":"5097:46:6","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5128:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"5139:2:6","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5124:3:6"},"nodeType":"YulFunctionCall","src":"5124:18:6"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"5111:12:6"},"nodeType":"YulFunctionCall","src":"5111:32:6"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"5101:6:6","type":""}]},{"body":{"nodeType":"YulBlock","src":"5190:83:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulIdentifier","src":"5192:77:6"},"nodeType":"YulFunctionCall","src":"5192:79:6"},"nodeType":"YulExpressionStatement","src":"5192:79:6"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"5162:6:6"},{"kind":"number","nodeType":"YulLiteral","src":"5170:18:6","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5159:2:6"},"nodeType":"YulFunctionCall","src":"5159:30:6"},"nodeType":"YulIf","src":"5156:117:6"},{"nodeType":"YulAssignment","src":"5287:127:6","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5386:9:6"},{"name":"offset","nodeType":"YulIdentifier","src":"5397:6:6"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5382:3:6"},"nodeType":"YulFunctionCall","src":"5382:22:6"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"5406:7:6"}],"functionName":{"name":"abi_decode_t_array$_t_struct$_Validator_$1149_calldata_ptr_$dyn_calldata_ptr","nodeType":"YulIdentifier","src":"5305:76:6"},"nodeType":"YulFunctionCall","src":"5305:109:6"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"5287:6:6"},{"name":"value2","nodeType":"YulIdentifier","src":"5295:6:6"}]}]},{"nodeType":"YulBlock","src":"5434:342:6","statements":[{"nodeType":"YulVariableDeclaration","src":"5449:46:6","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5480:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"5491:2:6","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5476:3:6"},"nodeType":"YulFunctionCall","src":"5476:18:6"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"5463:12:6"},"nodeType":"YulFunctionCall","src":"5463:32:6"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"5453:6:6","type":""}]},{"body":{"nodeType":"YulBlock","src":"5542:83:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulIdentifier","src":"5544:77:6"},"nodeType":"YulFunctionCall","src":"5544:79:6"},"nodeType":"YulExpressionStatement","src":"5544:79:6"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"5514:6:6"},{"kind":"number","nodeType":"YulLiteral","src":"5522:18:6","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5511:2:6"},"nodeType":"YulFunctionCall","src":"5511:30:6"},"nodeType":"YulIf","src":"5508:117:6"},{"nodeType":"YulAssignment","src":"5639:127:6","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5738:9:6"},{"name":"offset","nodeType":"YulIdentifier","src":"5749:6:6"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5734:3:6"},"nodeType":"YulFunctionCall","src":"5734:22:6"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"5758:7:6"}],"functionName":{"name":"abi_decode_t_array$_t_struct$_Signature_$1144_calldata_ptr_$dyn_calldata_ptr","nodeType":"YulIdentifier","src":"5657:76:6"},"nodeType":"YulFunctionCall","src":"5657:109:6"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"5639:6:6"},{"name":"value4","nodeType":"YulIdentifier","src":"5647:6:6"}]}]}]},"name":"abi_decode_tuple_t_struct$_OracleAttestationData_$1124_calldata_ptrt_array$_t_struct$_Validator_$1149_calldata_ptr_$dyn_calldata_ptrt_array$_t_struct$_Signature_$1144_calldata_ptr_$dyn_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4553:9:6","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"4564:7:6","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"4576:6:6","type":""},{"name":"value1","nodeType":"YulTypedName","src":"4584:6:6","type":""},{"name":"value2","nodeType":"YulTypedName","src":"4592:6:6","type":""},{"name":"value3","nodeType":"YulTypedName","src":"4600:6:6","type":""},{"name":"value4","nodeType":"YulTypedName","src":"4608:6:6","type":""}],"src":"4346:1437:6"},{"body":{"nodeType":"YulBlock","src":"5844:53:6","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"5861:3:6"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"5884:5:6"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"5866:17:6"},"nodeType":"YulFunctionCall","src":"5866:24:6"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5854:6:6"},"nodeType":"YulFunctionCall","src":"5854:37:6"},"nodeType":"YulExpressionStatement","src":"5854:37:6"}]},"name":"abi_encode_t_uint256_to_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"5832:5:6","type":""},{"name":"pos","nodeType":"YulTypedName","src":"5839:3:6","type":""}],"src":"5789:108:6"},{"body":{"nodeType":"YulBlock","src":"6099:397:6","statements":[{"nodeType":"YulVariableDeclaration","src":"6109:26:6","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"6125:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"6130:4:6","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6121:3:6"},"nodeType":"YulFunctionCall","src":"6121:14:6"},"variables":[{"name":"tail","nodeType":"YulTypedName","src":"6113:4:6","type":""}]},{"nodeType":"YulBlock","src":"6145:165:6","statements":[{"nodeType":"YulVariableDeclaration","src":"6181:43:6","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"6211:5:6"},{"kind":"number","nodeType":"YulLiteral","src":"6218:4:6","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6207:3:6"},"nodeType":"YulFunctionCall","src":"6207:16:6"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"6201:5:6"},"nodeType":"YulFunctionCall","src":"6201:23:6"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"6185:12:6","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"6271:12:6"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"6289:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"6294:4:6","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6285:3:6"},"nodeType":"YulFunctionCall","src":"6285:14:6"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256","nodeType":"YulIdentifier","src":"6237:33:6"},"nodeType":"YulFunctionCall","src":"6237:63:6"},"nodeType":"YulExpressionStatement","src":"6237:63:6"}]},{"nodeType":"YulBlock","src":"6320:169:6","statements":[{"nodeType":"YulVariableDeclaration","src":"6360:43:6","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"6390:5:6"},{"kind":"number","nodeType":"YulLiteral","src":"6397:4:6","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6386:3:6"},"nodeType":"YulFunctionCall","src":"6386:16:6"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"6380:5:6"},"nodeType":"YulFunctionCall","src":"6380:23:6"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"6364:12:6","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"6450:12:6"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"6468:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"6473:4:6","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6464:3:6"},"nodeType":"YulFunctionCall","src":"6464:14:6"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256","nodeType":"YulIdentifier","src":"6416:33:6"},"nodeType":"YulFunctionCall","src":"6416:63:6"},"nodeType":"YulExpressionStatement","src":"6416:63:6"}]}]},"name":"abi_encode_t_struct$_OracleData_$975_memory_ptr_to_t_struct$_OracleData_$975_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"6086:5:6","type":""},{"name":"pos","nodeType":"YulTypedName","src":"6093:3:6","type":""}],"src":"5979:517:6"},{"body":{"nodeType":"YulBlock","src":"6654:178:6","statements":[{"nodeType":"YulAssignment","src":"6664:26:6","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6676:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"6687:2:6","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6672:3:6"},"nodeType":"YulFunctionCall","src":"6672:18:6"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"6664:4:6"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"6798:6:6"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6811:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"6822:1:6","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6807:3:6"},"nodeType":"YulFunctionCall","src":"6807:17:6"}],"functionName":{"name":"abi_encode_t_struct$_OracleData_$975_memory_ptr_to_t_struct$_OracleData_$975_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"6700:97:6"},"nodeType":"YulFunctionCall","src":"6700:125:6"},"nodeType":"YulExpressionStatement","src":"6700:125:6"}]},"name":"abi_encode_tuple_t_struct$_OracleData_$975_memory_ptr__to_t_struct$_OracleData_$975_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6626:9:6","type":""},{"name":"value0","nodeType":"YulTypedName","src":"6638:6:6","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"6649:4:6","type":""}],"src":"6502:330:6"},{"body":{"nodeType":"YulBlock","src":"6881:79:6","statements":[{"body":{"nodeType":"YulBlock","src":"6938:16:6","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6947:1:6","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6950:1:6","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6940:6:6"},"nodeType":"YulFunctionCall","src":"6940:12:6"},"nodeType":"YulExpressionStatement","src":"6940:12:6"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"6904:5:6"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"6929:5:6"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"6911:17:6"},"nodeType":"YulFunctionCall","src":"6911:24:6"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"6901:2:6"},"nodeType":"YulFunctionCall","src":"6901:35:6"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"6894:6:6"},"nodeType":"YulFunctionCall","src":"6894:43:6"},"nodeType":"YulIf","src":"6891:63:6"}]},"name":"validator_revert_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"6874:5:6","type":""}],"src":"6838:122:6"},{"body":{"nodeType":"YulBlock","src":"7018:87:6","statements":[{"nodeType":"YulAssignment","src":"7028:29:6","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"7050:6:6"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"7037:12:6"},"nodeType":"YulFunctionCall","src":"7037:20:6"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"7028:5:6"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7093:5:6"}],"functionName":{"name":"validator_revert_t_uint256","nodeType":"YulIdentifier","src":"7066:26:6"},"nodeType":"YulFunctionCall","src":"7066:33:6"},"nodeType":"YulExpressionStatement","src":"7066:33:6"}]},"name":"abi_decode_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"6996:6:6","type":""},{"name":"end","nodeType":"YulTypedName","src":"7004:3:6","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"7012:5:6","type":""}],"src":"6966:139:6"},{"body":{"nodeType":"YulBlock","src":"7177:263:6","statements":[{"body":{"nodeType":"YulBlock","src":"7223:83:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"7225:77:6"},"nodeType":"YulFunctionCall","src":"7225:79:6"},"nodeType":"YulExpressionStatement","src":"7225:79:6"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"7198:7:6"},{"name":"headStart","nodeType":"YulIdentifier","src":"7207:9:6"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"7194:3:6"},"nodeType":"YulFunctionCall","src":"7194:23:6"},{"kind":"number","nodeType":"YulLiteral","src":"7219:2:6","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"7190:3:6"},"nodeType":"YulFunctionCall","src":"7190:32:6"},"nodeType":"YulIf","src":"7187:119:6"},{"nodeType":"YulBlock","src":"7316:117:6","statements":[{"nodeType":"YulVariableDeclaration","src":"7331:15:6","value":{"kind":"number","nodeType":"YulLiteral","src":"7345:1:6","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"7335:6:6","type":""}]},{"nodeType":"YulAssignment","src":"7360:63:6","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7395:9:6"},{"name":"offset","nodeType":"YulIdentifier","src":"7406:6:6"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7391:3:6"},"nodeType":"YulFunctionCall","src":"7391:22:6"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"7415:7:6"}],"functionName":{"name":"abi_decode_t_uint256","nodeType":"YulIdentifier","src":"7370:20:6"},"nodeType":"YulFunctionCall","src":"7370:53:6"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"7360:6:6"}]}]}]},"name":"abi_decode_tuple_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7147:9:6","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"7158:7:6","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"7170:6:6","type":""}],"src":"7111:329:6"},{"body":{"nodeType":"YulBlock","src":"7572:206:6","statements":[{"nodeType":"YulAssignment","src":"7582:26:6","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7594:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"7605:2:6","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7590:3:6"},"nodeType":"YulFunctionCall","src":"7590:18:6"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"7582:4:6"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"7662:6:6"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7675:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"7686:1:6","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7671:3:6"},"nodeType":"YulFunctionCall","src":"7671:17:6"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"7618:43:6"},"nodeType":"YulFunctionCall","src":"7618:71:6"},"nodeType":"YulExpressionStatement","src":"7618:71:6"},{"expression":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"7743:6:6"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7756:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"7767:2:6","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7752:3:6"},"nodeType":"YulFunctionCall","src":"7752:18:6"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"7699:43:6"},"nodeType":"YulFunctionCall","src":"7699:72:6"},"nodeType":"YulExpressionStatement","src":"7699:72:6"}]},"name":"abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7536:9:6","type":""},{"name":"value1","nodeType":"YulTypedName","src":"7548:6:6","type":""},{"name":"value0","nodeType":"YulTypedName","src":"7556:6:6","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"7567:4:6","type":""}],"src":"7446:332:6"},{"body":{"nodeType":"YulBlock","src":"7827:79:6","statements":[{"body":{"nodeType":"YulBlock","src":"7884:16:6","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7893:1:6","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7896:1:6","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7886:6:6"},"nodeType":"YulFunctionCall","src":"7886:12:6"},"nodeType":"YulExpressionStatement","src":"7886:12:6"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7850:5:6"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7875:5:6"}],"functionName":{"name":"cleanup_t_bytes32","nodeType":"YulIdentifier","src":"7857:17:6"},"nodeType":"YulFunctionCall","src":"7857:24:6"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"7847:2:6"},"nodeType":"YulFunctionCall","src":"7847:35:6"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"7840:6:6"},"nodeType":"YulFunctionCall","src":"7840:43:6"},"nodeType":"YulIf","src":"7837:63:6"}]},"name":"validator_revert_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"7820:5:6","type":""}],"src":"7784:122:6"},{"body":{"nodeType":"YulBlock","src":"7964:87:6","statements":[{"nodeType":"YulAssignment","src":"7974:29:6","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"7996:6:6"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"7983:12:6"},"nodeType":"YulFunctionCall","src":"7983:20:6"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"7974:5:6"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"8039:5:6"}],"functionName":{"name":"validator_revert_t_bytes32","nodeType":"YulIdentifier","src":"8012:26:6"},"nodeType":"YulFunctionCall","src":"8012:33:6"},"nodeType":"YulExpressionStatement","src":"8012:33:6"}]},"name":"abi_decode_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"7942:6:6","type":""},{"name":"end","nodeType":"YulTypedName","src":"7950:3:6","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"7958:5:6","type":""}],"src":"7912:139:6"},{"body":{"nodeType":"YulBlock","src":"8115:64:6","statements":[{"nodeType":"YulAssignment","src":"8125:48:6","value":{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"8155:3:6"},{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"8164:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"8169:2:6","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8160:3:6"},"nodeType":"YulFunctionCall","src":"8160:12:6"}],"functionName":{"name":"abi_decode_t_bytes32","nodeType":"YulIdentifier","src":"8134:20:6"},"nodeType":"YulFunctionCall","src":"8134:39:6"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"8125:5:6"}]}]},"name":"calldata_access_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"baseRef","nodeType":"YulTypedName","src":"8092:7:6","type":""},{"name":"ptr","nodeType":"YulTypedName","src":"8101:3:6","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"8109:5:6","type":""}],"src":"8057:122:6"},{"body":{"nodeType":"YulBlock","src":"8240:53:6","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"8257:3:6"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"8280:5:6"}],"functionName":{"name":"cleanup_t_bytes32","nodeType":"YulIdentifier","src":"8262:17:6"},"nodeType":"YulFunctionCall","src":"8262:24:6"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8250:6:6"},"nodeType":"YulFunctionCall","src":"8250:37:6"},"nodeType":"YulExpressionStatement","src":"8250:37:6"}]},"name":"abi_encode_t_bytes32_to_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"8228:5:6","type":""},{"name":"pos","nodeType":"YulTypedName","src":"8235:3:6","type":""}],"src":"8185:108:6"},{"body":{"nodeType":"YulBlock","src":"8388:28:6","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8405:1:6","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"8408:1:6","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"8398:6:6"},"nodeType":"YulFunctionCall","src":"8398:12:6"},"nodeType":"YulExpressionStatement","src":"8398:12:6"}]},"name":"revert_error_db64ea6d4a12deece376118739de8d9f517a2db5b58ea2ca332ea908c04c71d4","nodeType":"YulFunctionDefinition","src":"8299:117:6"},{"body":{"nodeType":"YulBlock","src":"8511:288:6","statements":[{"nodeType":"YulVariableDeclaration","src":"8521:43:6","value":{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"8560:3:6"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"8547:12:6"},"nodeType":"YulFunctionCall","src":"8547:17:6"},"variables":[{"name":"rel_offset_of_tail","nodeType":"YulTypedName","src":"8525:18:6","type":""}]},{"body":{"nodeType":"YulBlock","src":"8658:83:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_db64ea6d4a12deece376118739de8d9f517a2db5b58ea2ca332ea908c04c71d4","nodeType":"YulIdentifier","src":"8660:77:6"},"nodeType":"YulFunctionCall","src":"8660:79:6"},"nodeType":"YulExpressionStatement","src":"8660:79:6"}]},"condition":{"arguments":[{"arguments":[{"name":"rel_offset_of_tail","nodeType":"YulIdentifier","src":"8587:18:6"},{"arguments":[{"arguments":[{"arguments":[],"functionName":{"name":"calldatasize","nodeType":"YulIdentifier","src":"8615:12:6"},"nodeType":"YulFunctionCall","src":"8615:14:6"},{"name":"base_ref","nodeType":"YulIdentifier","src":"8631:8:6"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"8611:3:6"},"nodeType":"YulFunctionCall","src":"8611:29:6"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8646:4:6","type":"","value":"0xc0"},{"kind":"number","nodeType":"YulLiteral","src":"8652:1:6","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"8642:3:6"},"nodeType":"YulFunctionCall","src":"8642:12:6"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"8607:3:6"},"nodeType":"YulFunctionCall","src":"8607:48:6"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"8583:3:6"},"nodeType":"YulFunctionCall","src":"8583:73:6"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"8576:6:6"},"nodeType":"YulFunctionCall","src":"8576:81:6"},"nodeType":"YulIf","src":"8573:168:6"},{"nodeType":"YulAssignment","src":"8750:42:6","value":{"arguments":[{"name":"rel_offset_of_tail","nodeType":"YulIdentifier","src":"8763:18:6"},{"name":"base_ref","nodeType":"YulIdentifier","src":"8783:8:6"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8759:3:6"},"nodeType":"YulFunctionCall","src":"8759:33:6"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"8750:5:6"}]}]},"name":"calldata_access_t_struct$_ReportData_$1137_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"base_ref","nodeType":"YulTypedName","src":"8487:8:6","type":""},{"name":"ptr","nodeType":"YulTypedName","src":"8497:3:6","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"8505:5:6","type":""}],"src":"8422:377:6"},{"body":{"nodeType":"YulBlock","src":"8894:28:6","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8911:1:6","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"8914:1:6","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"8904:6:6"},"nodeType":"YulFunctionCall","src":"8904:12:6"},"nodeType":"YulExpressionStatement","src":"8904:12:6"}]},"name":"revert_error_0803104b3ab68501accf02de57372b8e5e6e1582158b771d3f89279dc6822fe2","nodeType":"YulFunctionDefinition","src":"8805:117:6"},{"body":{"nodeType":"YulBlock","src":"9017:28:6","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9034:1:6","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"9037:1:6","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"9027:6:6"},"nodeType":"YulFunctionCall","src":"9027:12:6"},"nodeType":"YulExpressionStatement","src":"9027:12:6"}]},"name":"revert_error_3894daff73bdbb8963c284e167b207f7abade3c031c50828ea230a16bdbc0f20","nodeType":"YulFunctionDefinition","src":"8928:117:6"},{"body":{"nodeType":"YulBlock","src":"9129:633:6","statements":[{"nodeType":"YulVariableDeclaration","src":"9139:43:6","value":{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"9178:3:6"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"9165:12:6"},"nodeType":"YulFunctionCall","src":"9165:17:6"},"variables":[{"name":"rel_offset_of_tail","nodeType":"YulTypedName","src":"9143:18:6","type":""}]},{"body":{"nodeType":"YulBlock","src":"9276:83:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_db64ea6d4a12deece376118739de8d9f517a2db5b58ea2ca332ea908c04c71d4","nodeType":"YulIdentifier","src":"9278:77:6"},"nodeType":"YulFunctionCall","src":"9278:79:6"},"nodeType":"YulExpressionStatement","src":"9278:79:6"}]},"condition":{"arguments":[{"arguments":[{"name":"rel_offset_of_tail","nodeType":"YulIdentifier","src":"9205:18:6"},{"arguments":[{"arguments":[{"arguments":[],"functionName":{"name":"calldatasize","nodeType":"YulIdentifier","src":"9233:12:6"},"nodeType":"YulFunctionCall","src":"9233:14:6"},{"name":"base_ref","nodeType":"YulIdentifier","src":"9249:8:6"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"9229:3:6"},"nodeType":"YulFunctionCall","src":"9229:29:6"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9264:4:6","type":"","value":"0x20"},{"kind":"number","nodeType":"YulLiteral","src":"9270:1:6","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"9260:3:6"},"nodeType":"YulFunctionCall","src":"9260:12:6"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"9225:3:6"},"nodeType":"YulFunctionCall","src":"9225:48:6"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"9201:3:6"},"nodeType":"YulFunctionCall","src":"9201:73:6"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"9194:6:6"},"nodeType":"YulFunctionCall","src":"9194:81:6"},"nodeType":"YulIf","src":"9191:168:6"},{"nodeType":"YulAssignment","src":"9368:42:6","value":{"arguments":[{"name":"rel_offset_of_tail","nodeType":"YulIdentifier","src":"9381:18:6"},{"name":"base_ref","nodeType":"YulIdentifier","src":"9401:8:6"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9377:3:6"},"nodeType":"YulFunctionCall","src":"9377:33:6"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"9368:5:6"}]},{"nodeType":"YulAssignment","src":"9420:29:6","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"9443:5:6"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"9430:12:6"},"nodeType":"YulFunctionCall","src":"9430:19:6"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"9420:6:6"}]},{"nodeType":"YulAssignment","src":"9458:25:6","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"9471:5:6"},{"kind":"number","nodeType":"YulLiteral","src":"9478:4:6","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9467:3:6"},"nodeType":"YulFunctionCall","src":"9467:16:6"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"9458:5:6"}]},{"body":{"nodeType":"YulBlock","src":"9526:83:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_0803104b3ab68501accf02de57372b8e5e6e1582158b771d3f89279dc6822fe2","nodeType":"YulIdentifier","src":"9528:77:6"},"nodeType":"YulFunctionCall","src":"9528:79:6"},"nodeType":"YulExpressionStatement","src":"9528:79:6"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"9498:6:6"},{"kind":"number","nodeType":"YulLiteral","src":"9506:18:6","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"9495:2:6"},"nodeType":"YulFunctionCall","src":"9495:30:6"},"nodeType":"YulIf","src":"9492:117:6"},{"body":{"nodeType":"YulBlock","src":"9672:83:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_3894daff73bdbb8963c284e167b207f7abade3c031c50828ea230a16bdbc0f20","nodeType":"YulIdentifier","src":"9674:77:6"},"nodeType":"YulFunctionCall","src":"9674:79:6"},"nodeType":"YulExpressionStatement","src":"9674:79:6"}]},"condition":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"9625:5:6"},{"arguments":[{"arguments":[],"functionName":{"name":"calldatasize","nodeType":"YulIdentifier","src":"9636:12:6"},"nodeType":"YulFunctionCall","src":"9636:14:6"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"9656:6:6"},{"kind":"number","nodeType":"YulLiteral","src":"9664:4:6","type":"","value":"0x01"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"9652:3:6"},"nodeType":"YulFunctionCall","src":"9652:17:6"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"9632:3:6"},"nodeType":"YulFunctionCall","src":"9632:38:6"}],"functionName":{"name":"sgt","nodeType":"YulIdentifier","src":"9621:3:6"},"nodeType":"YulFunctionCall","src":"9621:50:6"},"nodeType":"YulIf","src":"9618:137:6"}]},"name":"calldata_access_t_bytes_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"base_ref","nodeType":"YulTypedName","src":"9097:8:6","type":""},{"name":"ptr","nodeType":"YulTypedName","src":"9107:3:6","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"9115:5:6","type":""},{"name":"length","nodeType":"YulTypedName","src":"9122:6:6","type":""}],"src":"9051:711:6"},{"body":{"nodeType":"YulBlock","src":"9853:73:6","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"9870:3:6"},{"name":"length","nodeType":"YulIdentifier","src":"9875:6:6"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9863:6:6"},"nodeType":"YulFunctionCall","src":"9863:19:6"},"nodeType":"YulExpressionStatement","src":"9863:19:6"},{"nodeType":"YulAssignment","src":"9891:29:6","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"9910:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"9915:4:6","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9906:3:6"},"nodeType":"YulFunctionCall","src":"9906:14:6"},"variableNames":[{"name":"updated_pos","nodeType":"YulIdentifier","src":"9891:11:6"}]}]},"name":"array_storeLengthForEncoding_t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"9825:3:6","type":""},{"name":"length","nodeType":"YulTypedName","src":"9830:6:6","type":""}],"returnVariables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"9841:11:6","type":""}],"src":"9768:158:6"},{"body":{"nodeType":"YulBlock","src":"9996:82:6","statements":[{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"10019:3:6"},{"name":"src","nodeType":"YulIdentifier","src":"10024:3:6"},{"name":"length","nodeType":"YulIdentifier","src":"10029:6:6"}],"functionName":{"name":"calldatacopy","nodeType":"YulIdentifier","src":"10006:12:6"},"nodeType":"YulFunctionCall","src":"10006:30:6"},"nodeType":"YulExpressionStatement","src":"10006:30:6"},{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"10056:3:6"},{"name":"length","nodeType":"YulIdentifier","src":"10061:6:6"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10052:3:6"},"nodeType":"YulFunctionCall","src":"10052:16:6"},{"kind":"number","nodeType":"YulLiteral","src":"10070:1:6","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10045:6:6"},"nodeType":"YulFunctionCall","src":"10045:27:6"},"nodeType":"YulExpressionStatement","src":"10045:27:6"}]},"name":"copy_calldata_to_memory_with_cleanup","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"9978:3:6","type":""},{"name":"dst","nodeType":"YulTypedName","src":"9983:3:6","type":""},{"name":"length","nodeType":"YulTypedName","src":"9988:6:6","type":""}],"src":"9932:146:6"},{"body":{"nodeType":"YulBlock","src":"10132:54:6","statements":[{"nodeType":"YulAssignment","src":"10142:38:6","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"10160:5:6"},{"kind":"number","nodeType":"YulLiteral","src":"10167:2:6","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10156:3:6"},"nodeType":"YulFunctionCall","src":"10156:14:6"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10176:2:6","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"10172:3:6"},"nodeType":"YulFunctionCall","src":"10172:7:6"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"10152:3:6"},"nodeType":"YulFunctionCall","src":"10152:28:6"},"variableNames":[{"name":"result","nodeType":"YulIdentifier","src":"10142:6:6"}]}]},"name":"round_up_to_mul_of_32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"10115:5:6","type":""}],"returnVariables":[{"name":"result","nodeType":"YulTypedName","src":"10125:6:6","type":""}],"src":"10084:102:6"},{"body":{"nodeType":"YulBlock","src":"10304:204:6","statements":[{"nodeType":"YulAssignment","src":"10314:67:6","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"10369:3:6"},{"name":"length","nodeType":"YulIdentifier","src":"10374:6:6"}],"functionName":{"name":"array_storeLengthForEncoding_t_bytes_memory_ptr","nodeType":"YulIdentifier","src":"10321:47:6"},"nodeType":"YulFunctionCall","src":"10321:60:6"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"10314:3:6"}]},{"expression":{"arguments":[{"name":"start","nodeType":"YulIdentifier","src":"10428:5:6"},{"name":"pos","nodeType":"YulIdentifier","src":"10435:3:6"},{"name":"length","nodeType":"YulIdentifier","src":"10440:6:6"}],"functionName":{"name":"copy_calldata_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"10391:36:6"},"nodeType":"YulFunctionCall","src":"10391:56:6"},"nodeType":"YulExpressionStatement","src":"10391:56:6"},{"nodeType":"YulAssignment","src":"10456:46:6","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"10467:3:6"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"10494:6:6"}],"functionName":{"name":"round_up_to_mul_of_32","nodeType":"YulIdentifier","src":"10472:21:6"},"nodeType":"YulFunctionCall","src":"10472:29:6"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10463:3:6"},"nodeType":"YulFunctionCall","src":"10463:39:6"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"10456:3:6"}]}]},"name":"abi_encode_t_bytes_calldata_ptr_to_t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"start","nodeType":"YulTypedName","src":"10277:5:6","type":""},{"name":"length","nodeType":"YulTypedName","src":"10284:6:6","type":""},{"name":"pos","nodeType":"YulTypedName","src":"10292:3:6","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"10300:3:6","type":""}],"src":"10214:294:6"},{"body":{"nodeType":"YulBlock","src":"10572:64:6","statements":[{"nodeType":"YulAssignment","src":"10582:48:6","value":{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"10612:3:6"},{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"10621:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"10626:2:6","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10617:3:6"},"nodeType":"YulFunctionCall","src":"10617:12:6"}],"functionName":{"name":"abi_decode_t_uint256","nodeType":"YulIdentifier","src":"10591:20:6"},"nodeType":"YulFunctionCall","src":"10591:39:6"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"10582:5:6"}]}]},"name":"calldata_access_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"baseRef","nodeType":"YulTypedName","src":"10549:7:6","type":""},{"name":"ptr","nodeType":"YulTypedName","src":"10558:3:6","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"10566:5:6","type":""}],"src":"10514:122:6"},{"body":{"nodeType":"YulBlock","src":"10810:1435:6","statements":[{"nodeType":"YulVariableDeclaration","src":"10820:26:6","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"10836:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"10841:4:6","type":"","value":"0xc0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10832:3:6"},"nodeType":"YulFunctionCall","src":"10832:14:6"},"variables":[{"name":"tail","nodeType":"YulTypedName","src":"10824:4:6","type":""}]},{"nodeType":"YulBlock","src":"10856:302:6","statements":[{"nodeType":"YulVariableDeclaration","src":"10892:95:6","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"10963:5:6"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"10974:5:6"},{"kind":"number","nodeType":"YulLiteral","src":"10981:4:6","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10970:3:6"},"nodeType":"YulFunctionCall","src":"10970:16:6"}],"functionName":{"name":"calldata_access_t_bytes_calldata_ptr","nodeType":"YulIdentifier","src":"10926:36:6"},"nodeType":"YulFunctionCall","src":"10926:61:6"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"10896:12:6","type":""},{"name":"memberValue1","nodeType":"YulTypedName","src":"10910:12:6","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"11012:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"11017:4:6","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11008:3:6"},"nodeType":"YulFunctionCall","src":"11008:14:6"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"11028:4:6"},{"name":"pos","nodeType":"YulIdentifier","src":"11034:3:6"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"11024:3:6"},"nodeType":"YulFunctionCall","src":"11024:14:6"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11001:6:6"},"nodeType":"YulFunctionCall","src":"11001:38:6"},"nodeType":"YulExpressionStatement","src":"11001:38:6"},{"nodeType":"YulAssignment","src":"11052:95:6","value":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"11114:12:6"},{"name":"memberValue1","nodeType":"YulIdentifier","src":"11128:12:6"},{"name":"tail","nodeType":"YulIdentifier","src":"11142:4:6"}],"functionName":{"name":"abi_encode_t_bytes_calldata_ptr_to_t_bytes_memory_ptr","nodeType":"YulIdentifier","src":"11060:53:6"},"nodeType":"YulFunctionCall","src":"11060:87:6"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"11052:4:6"}]}]},{"nodeType":"YulBlock","src":"11168:196:6","statements":[{"nodeType":"YulVariableDeclaration","src":"11208:70:6","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"11254:5:6"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"11265:5:6"},{"kind":"number","nodeType":"YulLiteral","src":"11272:4:6","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11261:3:6"},"nodeType":"YulFunctionCall","src":"11261:16:6"}],"functionName":{"name":"calldata_access_t_uint256","nodeType":"YulIdentifier","src":"11228:25:6"},"nodeType":"YulFunctionCall","src":"11228:50:6"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"11212:12:6","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"11325:12:6"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"11343:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"11348:4:6","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11339:3:6"},"nodeType":"YulFunctionCall","src":"11339:14:6"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256","nodeType":"YulIdentifier","src":"11291:33:6"},"nodeType":"YulFunctionCall","src":"11291:63:6"},"nodeType":"YulExpressionStatement","src":"11291:63:6"}]},{"nodeType":"YulBlock","src":"11374:201:6","statements":[{"nodeType":"YulVariableDeclaration","src":"11419:70:6","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"11465:5:6"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"11476:5:6"},{"kind":"number","nodeType":"YulLiteral","src":"11483:4:6","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11472:3:6"},"nodeType":"YulFunctionCall","src":"11472:16:6"}],"functionName":{"name":"calldata_access_t_uint256","nodeType":"YulIdentifier","src":"11439:25:6"},"nodeType":"YulFunctionCall","src":"11439:50:6"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"11423:12:6","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"11536:12:6"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"11554:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"11559:4:6","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11550:3:6"},"nodeType":"YulFunctionCall","src":"11550:14:6"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256","nodeType":"YulIdentifier","src":"11502:33:6"},"nodeType":"YulFunctionCall","src":"11502:63:6"},"nodeType":"YulExpressionStatement","src":"11502:63:6"}]},{"nodeType":"YulBlock","src":"11585:204:6","statements":[{"nodeType":"YulVariableDeclaration","src":"11633:70:6","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"11679:5:6"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"11690:5:6"},{"kind":"number","nodeType":"YulLiteral","src":"11697:4:6","type":"","value":"0x60"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11686:3:6"},"nodeType":"YulFunctionCall","src":"11686:16:6"}],"functionName":{"name":"calldata_access_t_uint256","nodeType":"YulIdentifier","src":"11653:25:6"},"nodeType":"YulFunctionCall","src":"11653:50:6"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"11637:12:6","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"11750:12:6"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"11768:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"11773:4:6","type":"","value":"0x60"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11764:3:6"},"nodeType":"YulFunctionCall","src":"11764:14:6"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256","nodeType":"YulIdentifier","src":"11716:33:6"},"nodeType":"YulFunctionCall","src":"11716:63:6"},"nodeType":"YulExpressionStatement","src":"11716:63:6"}]},{"nodeType":"YulBlock","src":"11799:200:6","statements":[{"nodeType":"YulVariableDeclaration","src":"11843:70:6","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"11889:5:6"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"11900:5:6"},{"kind":"number","nodeType":"YulLiteral","src":"11907:4:6","type":"","value":"0x80"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11896:3:6"},"nodeType":"YulFunctionCall","src":"11896:16:6"}],"functionName":{"name":"calldata_access_t_uint256","nodeType":"YulIdentifier","src":"11863:25:6"},"nodeType":"YulFunctionCall","src":"11863:50:6"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"11847:12:6","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"11960:12:6"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"11978:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"11983:4:6","type":"","value":"0x80"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11974:3:6"},"nodeType":"YulFunctionCall","src":"11974:14:6"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256","nodeType":"YulIdentifier","src":"11926:33:6"},"nodeType":"YulFunctionCall","src":"11926:63:6"},"nodeType":"YulExpressionStatement","src":"11926:63:6"}]},{"nodeType":"YulBlock","src":"12009:209:6","statements":[{"nodeType":"YulVariableDeclaration","src":"12062:70:6","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"12108:5:6"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"12119:5:6"},{"kind":"number","nodeType":"YulLiteral","src":"12126:4:6","type":"","value":"0xa0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12115:3:6"},"nodeType":"YulFunctionCall","src":"12115:16:6"}],"functionName":{"name":"calldata_access_t_uint256","nodeType":"YulIdentifier","src":"12082:25:6"},"nodeType":"YulFunctionCall","src":"12082:50:6"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"12066:12:6","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"12179:12:6"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"12197:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"12202:4:6","type":"","value":"0xa0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12193:3:6"},"nodeType":"YulFunctionCall","src":"12193:14:6"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256","nodeType":"YulIdentifier","src":"12145:33:6"},"nodeType":"YulFunctionCall","src":"12145:63:6"},"nodeType":"YulExpressionStatement","src":"12145:63:6"}]},{"nodeType":"YulAssignment","src":"12228:11:6","value":{"name":"tail","nodeType":"YulIdentifier","src":"12235:4:6"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"12228:3:6"}]}]},"name":"abi_encode_t_struct$_ReportData_$1137_calldata_ptr_to_t_struct$_ReportData_$1137_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"10789:5:6","type":""},{"name":"pos","nodeType":"YulTypedName","src":"10796:3:6","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"10805:3:6","type":""}],"src":"10688:1557:6"},{"body":{"nodeType":"YulBlock","src":"12473:826:6","statements":[{"nodeType":"YulVariableDeclaration","src":"12483:26:6","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"12499:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"12504:4:6","type":"","value":"0x60"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12495:3:6"},"nodeType":"YulFunctionCall","src":"12495:14:6"},"variables":[{"name":"tail","nodeType":"YulTypedName","src":"12487:4:6","type":""}]},{"nodeType":"YulBlock","src":"12519:194:6","statements":[{"nodeType":"YulVariableDeclaration","src":"12557:70:6","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"12603:5:6"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"12614:5:6"},{"kind":"number","nodeType":"YulLiteral","src":"12621:4:6","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12610:3:6"},"nodeType":"YulFunctionCall","src":"12610:16:6"}],"functionName":{"name":"calldata_access_t_bytes32","nodeType":"YulIdentifier","src":"12577:25:6"},"nodeType":"YulFunctionCall","src":"12577:50:6"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"12561:12:6","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"12674:12:6"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"12692:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"12697:4:6","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12688:3:6"},"nodeType":"YulFunctionCall","src":"12688:14:6"}],"functionName":{"name":"abi_encode_t_bytes32_to_t_bytes32","nodeType":"YulIdentifier","src":"12640:33:6"},"nodeType":"YulFunctionCall","src":"12640:63:6"},"nodeType":"YulExpressionStatement","src":"12640:63:6"}]},{"nodeType":"YulBlock","src":"12723:332:6","statements":[{"nodeType":"YulVariableDeclaration","src":"12760:100:6","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"12836:5:6"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"12847:5:6"},{"kind":"number","nodeType":"YulLiteral","src":"12854:4:6","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12843:3:6"},"nodeType":"YulFunctionCall","src":"12843:16:6"}],"functionName":{"name":"calldata_access_t_struct$_ReportData_$1137_calldata_ptr","nodeType":"YulIdentifier","src":"12780:55:6"},"nodeType":"YulFunctionCall","src":"12780:80:6"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"12764:12:6","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"12885:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"12890:4:6","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12881:3:6"},"nodeType":"YulFunctionCall","src":"12881:14:6"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"12901:4:6"},{"name":"pos","nodeType":"YulIdentifier","src":"12907:3:6"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"12897:3:6"},"nodeType":"YulFunctionCall","src":"12897:14:6"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12874:6:6"},"nodeType":"YulFunctionCall","src":"12874:38:6"},"nodeType":"YulExpressionStatement","src":"12874:38:6"},{"nodeType":"YulAssignment","src":"12925:119:6","value":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"13025:12:6"},{"name":"tail","nodeType":"YulIdentifier","src":"13039:4:6"}],"functionName":{"name":"abi_encode_t_struct$_ReportData_$1137_calldata_ptr_to_t_struct$_ReportData_$1137_memory_ptr","nodeType":"YulIdentifier","src":"12933:91:6"},"nodeType":"YulFunctionCall","src":"12933:111:6"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"12925:4:6"}]}]},{"nodeType":"YulBlock","src":"13065:207:6","statements":[{"nodeType":"YulVariableDeclaration","src":"13116:70:6","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"13162:5:6"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"13173:5:6"},{"kind":"number","nodeType":"YulLiteral","src":"13180:4:6","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13169:3:6"},"nodeType":"YulFunctionCall","src":"13169:16:6"}],"functionName":{"name":"calldata_access_t_uint256","nodeType":"YulIdentifier","src":"13136:25:6"},"nodeType":"YulFunctionCall","src":"13136:50:6"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"13120:12:6","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"13233:12:6"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"13251:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"13256:4:6","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13247:3:6"},"nodeType":"YulFunctionCall","src":"13247:14:6"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256","nodeType":"YulIdentifier","src":"13199:33:6"},"nodeType":"YulFunctionCall","src":"13199:63:6"},"nodeType":"YulExpressionStatement","src":"13199:63:6"}]},{"nodeType":"YulAssignment","src":"13282:11:6","value":{"name":"tail","nodeType":"YulIdentifier","src":"13289:4:6"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"13282:3:6"}]}]},"name":"abi_encode_t_struct$_OracleAttestationData_$1124_calldata_ptr_to_t_struct$_OracleAttestationData_$1124_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"12452:5:6","type":""},{"name":"pos","nodeType":"YulTypedName","src":"12459:3:6","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"12468:3:6","type":""}],"src":"12319:980:6"},{"body":{"nodeType":"YulBlock","src":"13443:73:6","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"13460:3:6"},{"name":"length","nodeType":"YulIdentifier","src":"13465:6:6"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13453:6:6"},"nodeType":"YulFunctionCall","src":"13453:19:6"},"nodeType":"YulExpressionStatement","src":"13453:19:6"},{"nodeType":"YulAssignment","src":"13481:29:6","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"13500:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"13505:4:6","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13496:3:6"},"nodeType":"YulFunctionCall","src":"13496:14:6"},"variableNames":[{"name":"updated_pos","nodeType":"YulIdentifier","src":"13481:11:6"}]}]},"name":"array_storeLengthForEncoding_t_array$_t_struct$_Validator_$1149_memory_ptr_$dyn_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"13415:3:6","type":""},{"name":"length","nodeType":"YulTypedName","src":"13420:6:6","type":""}],"returnVariables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"13431:11:6","type":""}],"src":"13305:211:6"},{"body":{"nodeType":"YulBlock","src":"13625:28:6","statements":[{"nodeType":"YulAssignment","src":"13635:11:6","value":{"name":"ptr","nodeType":"YulIdentifier","src":"13643:3:6"},"variableNames":[{"name":"data","nodeType":"YulIdentifier","src":"13635:4:6"}]}]},"name":"array_dataslot_t_array$_t_struct$_Validator_$1149_calldata_ptr_$dyn_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"ptr","nodeType":"YulTypedName","src":"13612:3:6","type":""}],"returnVariables":[{"name":"data","nodeType":"YulTypedName","src":"13620:4:6","type":""}],"src":"13522:131:6"},{"body":{"nodeType":"YulBlock","src":"13704:51:6","statements":[{"nodeType":"YulAssignment","src":"13714:35:6","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"13743:5:6"}],"functionName":{"name":"cleanup_t_uint160","nodeType":"YulIdentifier","src":"13725:17:6"},"nodeType":"YulFunctionCall","src":"13725:24:6"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"13714:7:6"}]}]},"name":"cleanup_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"13686:5:6","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"13696:7:6","type":""}],"src":"13659:96:6"},{"body":{"nodeType":"YulBlock","src":"13804:79:6","statements":[{"body":{"nodeType":"YulBlock","src":"13861:16:6","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13870:1:6","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"13873:1:6","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"13863:6:6"},"nodeType":"YulFunctionCall","src":"13863:12:6"},"nodeType":"YulExpressionStatement","src":"13863:12:6"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"13827:5:6"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"13852:5:6"}],"functionName":{"name":"cleanup_t_address","nodeType":"YulIdentifier","src":"13834:17:6"},"nodeType":"YulFunctionCall","src":"13834:24:6"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"13824:2:6"},"nodeType":"YulFunctionCall","src":"13824:35:6"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"13817:6:6"},"nodeType":"YulFunctionCall","src":"13817:43:6"},"nodeType":"YulIf","src":"13814:63:6"}]},"name":"validator_revert_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"13797:5:6","type":""}],"src":"13761:122:6"},{"body":{"nodeType":"YulBlock","src":"13941:87:6","statements":[{"nodeType":"YulAssignment","src":"13951:29:6","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"13973:6:6"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"13960:12:6"},"nodeType":"YulFunctionCall","src":"13960:20:6"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"13951:5:6"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"14016:5:6"}],"functionName":{"name":"validator_revert_t_address","nodeType":"YulIdentifier","src":"13989:26:6"},"nodeType":"YulFunctionCall","src":"13989:33:6"},"nodeType":"YulExpressionStatement","src":"13989:33:6"}]},"name":"abi_decode_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"13919:6:6","type":""},{"name":"end","nodeType":"YulTypedName","src":"13927:3:6","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"13935:5:6","type":""}],"src":"13889:139:6"},{"body":{"nodeType":"YulBlock","src":"14092:64:6","statements":[{"nodeType":"YulAssignment","src":"14102:48:6","value":{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"14132:3:6"},{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"14141:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"14146:2:6","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14137:3:6"},"nodeType":"YulFunctionCall","src":"14137:12:6"}],"functionName":{"name":"abi_decode_t_address","nodeType":"YulIdentifier","src":"14111:20:6"},"nodeType":"YulFunctionCall","src":"14111:39:6"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"14102:5:6"}]}]},"name":"calldata_access_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"baseRef","nodeType":"YulTypedName","src":"14069:7:6","type":""},{"name":"ptr","nodeType":"YulTypedName","src":"14078:3:6","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"14086:5:6","type":""}],"src":"14034:122:6"},{"body":{"nodeType":"YulBlock","src":"14217:53:6","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"14234:3:6"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"14257:5:6"}],"functionName":{"name":"cleanup_t_address","nodeType":"YulIdentifier","src":"14239:17:6"},"nodeType":"YulFunctionCall","src":"14239:24:6"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14227:6:6"},"nodeType":"YulFunctionCall","src":"14227:37:6"},"nodeType":"YulExpressionStatement","src":"14227:37:6"}]},"name":"abi_encode_t_address_to_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"14205:5:6","type":""},{"name":"pos","nodeType":"YulTypedName","src":"14212:3:6","type":""}],"src":"14162:108:6"},{"body":{"nodeType":"YulBlock","src":"14432:446:6","statements":[{"nodeType":"YulVariableDeclaration","src":"14442:26:6","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"14458:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"14463:4:6","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14454:3:6"},"nodeType":"YulFunctionCall","src":"14454:14:6"},"variables":[{"name":"tail","nodeType":"YulTypedName","src":"14446:4:6","type":""}]},{"nodeType":"YulBlock","src":"14478:191:6","statements":[{"nodeType":"YulVariableDeclaration","src":"14513:70:6","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"14559:5:6"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"14570:5:6"},{"kind":"number","nodeType":"YulLiteral","src":"14577:4:6","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14566:3:6"},"nodeType":"YulFunctionCall","src":"14566:16:6"}],"functionName":{"name":"calldata_access_t_address","nodeType":"YulIdentifier","src":"14533:25:6"},"nodeType":"YulFunctionCall","src":"14533:50:6"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"14517:12:6","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"14630:12:6"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"14648:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"14653:4:6","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14644:3:6"},"nodeType":"YulFunctionCall","src":"14644:14:6"}],"functionName":{"name":"abi_encode_t_address_to_t_address","nodeType":"YulIdentifier","src":"14596:33:6"},"nodeType":"YulFunctionCall","src":"14596:63:6"},"nodeType":"YulExpressionStatement","src":"14596:63:6"}]},{"nodeType":"YulBlock","src":"14679:192:6","statements":[{"nodeType":"YulVariableDeclaration","src":"14715:70:6","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"14761:5:6"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"14772:5:6"},{"kind":"number","nodeType":"YulLiteral","src":"14779:4:6","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14768:3:6"},"nodeType":"YulFunctionCall","src":"14768:16:6"}],"functionName":{"name":"calldata_access_t_uint256","nodeType":"YulIdentifier","src":"14735:25:6"},"nodeType":"YulFunctionCall","src":"14735:50:6"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"14719:12:6","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"14832:12:6"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"14850:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"14855:4:6","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14846:3:6"},"nodeType":"YulFunctionCall","src":"14846:14:6"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256","nodeType":"YulIdentifier","src":"14798:33:6"},"nodeType":"YulFunctionCall","src":"14798:63:6"},"nodeType":"YulExpressionStatement","src":"14798:63:6"}]}]},"name":"abi_encode_t_struct$_Validator_$1149_calldata_ptr_to_t_struct$_Validator_$1149_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"14419:5:6","type":""},{"name":"pos","nodeType":"YulTypedName","src":"14426:3:6","type":""}],"src":"14320:558:6"},{"body":{"nodeType":"YulBlock","src":"15020:155:6","statements":[{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"15120:6:6"},{"name":"pos","nodeType":"YulIdentifier","src":"15128:3:6"}],"functionName":{"name":"abi_encode_t_struct$_Validator_$1149_calldata_ptr_to_t_struct$_Validator_$1149_memory_ptr","nodeType":"YulIdentifier","src":"15030:89:6"},"nodeType":"YulFunctionCall","src":"15030:102:6"},"nodeType":"YulExpressionStatement","src":"15030:102:6"},{"nodeType":"YulAssignment","src":"15141:28:6","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"15159:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"15164:4:6","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15155:3:6"},"nodeType":"YulFunctionCall","src":"15155:14:6"},"variableNames":[{"name":"updatedPos","nodeType":"YulIdentifier","src":"15141:10:6"}]}]},"name":"abi_encodeUpdatedPos_t_struct$_Validator_$1149_calldata_ptr_to_t_struct$_Validator_$1149_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"value0","nodeType":"YulTypedName","src":"14993:6:6","type":""},{"name":"pos","nodeType":"YulTypedName","src":"15001:3:6","type":""}],"returnVariables":[{"name":"updatedPos","nodeType":"YulTypedName","src":"15009:10:6","type":""}],"src":"14884:291:6"},{"body":{"nodeType":"YulBlock","src":"15268:28:6","statements":[{"nodeType":"YulAssignment","src":"15278:12:6","value":{"name":"ptr","nodeType":"YulIdentifier","src":"15287:3:6"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"15278:5:6"}]}]},"name":"calldata_access_t_struct$_Validator_$1149_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"baseRef","nodeType":"YulTypedName","src":"15245:7:6","type":""},{"name":"ptr","nodeType":"YulTypedName","src":"15254:3:6","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"15262:5:6","type":""}],"src":"15181:115:6"},{"body":{"nodeType":"YulBlock","src":"15408:38:6","statements":[{"nodeType":"YulAssignment","src":"15418:22:6","value":{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"15430:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"15435:4:6","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15426:3:6"},"nodeType":"YulFunctionCall","src":"15426:14:6"},"variableNames":[{"name":"next","nodeType":"YulIdentifier","src":"15418:4:6"}]}]},"name":"array_nextElement_t_array$_t_struct$_Validator_$1149_calldata_ptr_$dyn_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"ptr","nodeType":"YulTypedName","src":"15395:3:6","type":""}],"returnVariables":[{"name":"next","nodeType":"YulTypedName","src":"15403:4:6","type":""}],"src":"15302:144:6"},{"body":{"nodeType":"YulBlock","src":"15690:735:6","statements":[{"nodeType":"YulAssignment","src":"15701:120:6","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"15809:3:6"},{"name":"length","nodeType":"YulIdentifier","src":"15814:6:6"}],"functionName":{"name":"array_storeLengthForEncoding_t_array$_t_struct$_Validator_$1149_memory_ptr_$dyn_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"15708:100:6"},"nodeType":"YulFunctionCall","src":"15708:113:6"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"15701:3:6"}]},{"nodeType":"YulVariableDeclaration","src":"15830:102:6","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"15926:5:6"}],"functionName":{"name":"array_dataslot_t_array$_t_struct$_Validator_$1149_calldata_ptr_$dyn_calldata_ptr","nodeType":"YulIdentifier","src":"15845:80:6"},"nodeType":"YulFunctionCall","src":"15845:87:6"},"variables":[{"name":"baseRef","nodeType":"YulTypedName","src":"15834:7:6","type":""}]},{"nodeType":"YulVariableDeclaration","src":"15941:21:6","value":{"name":"baseRef","nodeType":"YulIdentifier","src":"15955:7:6"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"15945:6:6","type":""}]},{"body":{"nodeType":"YulBlock","src":"16031:369:6","statements":[{"nodeType":"YulVariableDeclaration","src":"16045:92:6","value":{"arguments":[{"name":"baseRef","nodeType":"YulIdentifier","src":"16121:7:6"},{"name":"srcPtr","nodeType":"YulIdentifier","src":"16130:6:6"}],"functionName":{"name":"calldata_access_t_struct$_Validator_$1149_calldata_ptr","nodeType":"YulIdentifier","src":"16066:54:6"},"nodeType":"YulFunctionCall","src":"16066:71:6"},"variables":[{"name":"elementValue0","nodeType":"YulTypedName","src":"16049:13:6","type":""}]},{"nodeType":"YulAssignment","src":"16150:126:6","value":{"arguments":[{"name":"elementValue0","nodeType":"YulIdentifier","src":"16257:13:6"},{"name":"pos","nodeType":"YulIdentifier","src":"16272:3:6"}],"functionName":{"name":"abi_encodeUpdatedPos_t_struct$_Validator_$1149_calldata_ptr_to_t_struct$_Validator_$1149_memory_ptr","nodeType":"YulIdentifier","src":"16157:99:6"},"nodeType":"YulFunctionCall","src":"16157:119:6"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"16150:3:6"}]},{"nodeType":"YulAssignment","src":"16289:101:6","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"16383:6:6"}],"functionName":{"name":"array_nextElement_t_array$_t_struct$_Validator_$1149_calldata_ptr_$dyn_calldata_ptr","nodeType":"YulIdentifier","src":"16299:83:6"},"nodeType":"YulFunctionCall","src":"16299:91:6"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"16289:6:6"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"15993:1:6"},{"name":"length","nodeType":"YulIdentifier","src":"15996:6:6"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"15990:2:6"},"nodeType":"YulFunctionCall","src":"15990:13:6"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"16004:18:6","statements":[{"nodeType":"YulAssignment","src":"16006:14:6","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"16015:1:6"},{"kind":"number","nodeType":"YulLiteral","src":"16018:1:6","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16011:3:6"},"nodeType":"YulFunctionCall","src":"16011:9:6"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"16006:1:6"}]}]},"pre":{"nodeType":"YulBlock","src":"15975:14:6","statements":[{"nodeType":"YulVariableDeclaration","src":"15977:10:6","value":{"kind":"number","nodeType":"YulLiteral","src":"15986:1:6","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"15981:1:6","type":""}]}]},"src":"15971:429:6"},{"nodeType":"YulAssignment","src":"16409:10:6","value":{"name":"pos","nodeType":"YulIdentifier","src":"16416:3:6"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"16409:3:6"}]}]},"name":"abi_encode_t_array$_t_struct$_Validator_$1149_calldata_ptr_$dyn_calldata_ptr_to_t_array$_t_struct$_Validator_$1149_memory_ptr_$dyn_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"15661:5:6","type":""},{"name":"length","nodeType":"YulTypedName","src":"15668:6:6","type":""},{"name":"pos","nodeType":"YulTypedName","src":"15676:3:6","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"15685:3:6","type":""}],"src":"15500:925:6"},{"body":{"nodeType":"YulBlock","src":"16569:73:6","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"16586:3:6"},{"name":"length","nodeType":"YulIdentifier","src":"16591:6:6"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16579:6:6"},"nodeType":"YulFunctionCall","src":"16579:19:6"},"nodeType":"YulExpressionStatement","src":"16579:19:6"},{"nodeType":"YulAssignment","src":"16607:29:6","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"16626:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"16631:4:6","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16622:3:6"},"nodeType":"YulFunctionCall","src":"16622:14:6"},"variableNames":[{"name":"updated_pos","nodeType":"YulIdentifier","src":"16607:11:6"}]}]},"name":"array_storeLengthForEncoding_t_array$_t_struct$_Signature_$1144_memory_ptr_$dyn_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"16541:3:6","type":""},{"name":"length","nodeType":"YulTypedName","src":"16546:6:6","type":""}],"returnVariables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"16557:11:6","type":""}],"src":"16431:211:6"},{"body":{"nodeType":"YulBlock","src":"16751:28:6","statements":[{"nodeType":"YulAssignment","src":"16761:11:6","value":{"name":"ptr","nodeType":"YulIdentifier","src":"16769:3:6"},"variableNames":[{"name":"data","nodeType":"YulIdentifier","src":"16761:4:6"}]}]},"name":"array_dataslot_t_array$_t_struct$_Signature_$1144_calldata_ptr_$dyn_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"ptr","nodeType":"YulTypedName","src":"16738:3:6","type":""}],"returnVariables":[{"name":"data","nodeType":"YulTypedName","src":"16746:4:6","type":""}],"src":"16648:131:6"},{"body":{"nodeType":"YulBlock","src":"16828:43:6","statements":[{"nodeType":"YulAssignment","src":"16838:27:6","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"16853:5:6"},{"kind":"number","nodeType":"YulLiteral","src":"16860:4:6","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"16849:3:6"},"nodeType":"YulFunctionCall","src":"16849:16:6"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"16838:7:6"}]}]},"name":"cleanup_t_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"16810:5:6","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"16820:7:6","type":""}],"src":"16785:86:6"},{"body":{"nodeType":"YulBlock","src":"16918:77:6","statements":[{"body":{"nodeType":"YulBlock","src":"16973:16:6","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"16982:1:6","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"16985:1:6","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"16975:6:6"},"nodeType":"YulFunctionCall","src":"16975:12:6"},"nodeType":"YulExpressionStatement","src":"16975:12:6"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"16941:5:6"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"16964:5:6"}],"functionName":{"name":"cleanup_t_uint8","nodeType":"YulIdentifier","src":"16948:15:6"},"nodeType":"YulFunctionCall","src":"16948:22:6"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"16938:2:6"},"nodeType":"YulFunctionCall","src":"16938:33:6"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"16931:6:6"},"nodeType":"YulFunctionCall","src":"16931:41:6"},"nodeType":"YulIf","src":"16928:61:6"}]},"name":"validator_revert_t_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"16911:5:6","type":""}],"src":"16877:118:6"},{"body":{"nodeType":"YulBlock","src":"17051:85:6","statements":[{"nodeType":"YulAssignment","src":"17061:29:6","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"17083:6:6"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"17070:12:6"},"nodeType":"YulFunctionCall","src":"17070:20:6"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"17061:5:6"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"17124:5:6"}],"functionName":{"name":"validator_revert_t_uint8","nodeType":"YulIdentifier","src":"17099:24:6"},"nodeType":"YulFunctionCall","src":"17099:31:6"},"nodeType":"YulExpressionStatement","src":"17099:31:6"}]},"name":"abi_decode_t_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"17029:6:6","type":""},{"name":"end","nodeType":"YulTypedName","src":"17037:3:6","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"17045:5:6","type":""}],"src":"17001:135:6"},{"body":{"nodeType":"YulBlock","src":"17198:62:6","statements":[{"nodeType":"YulAssignment","src":"17208:46:6","value":{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"17236:3:6"},{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"17245:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"17250:2:6","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17241:3:6"},"nodeType":"YulFunctionCall","src":"17241:12:6"}],"functionName":{"name":"abi_decode_t_uint8","nodeType":"YulIdentifier","src":"17217:18:6"},"nodeType":"YulFunctionCall","src":"17217:37:6"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"17208:5:6"}]}]},"name":"calldata_access_t_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"baseRef","nodeType":"YulTypedName","src":"17175:7:6","type":""},{"name":"ptr","nodeType":"YulTypedName","src":"17184:3:6","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"17192:5:6","type":""}],"src":"17142:118:6"},{"body":{"nodeType":"YulBlock","src":"17317:51:6","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"17334:3:6"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"17355:5:6"}],"functionName":{"name":"cleanup_t_uint8","nodeType":"YulIdentifier","src":"17339:15:6"},"nodeType":"YulFunctionCall","src":"17339:22:6"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17327:6:6"},"nodeType":"YulFunctionCall","src":"17327:35:6"},"nodeType":"YulExpressionStatement","src":"17327:35:6"}]},"name":"abi_encode_t_uint8_to_t_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"17305:5:6","type":""},{"name":"pos","nodeType":"YulTypedName","src":"17312:3:6","type":""}],"src":"17266:102:6"},{"body":{"nodeType":"YulBlock","src":"17530:631:6","statements":[{"nodeType":"YulVariableDeclaration","src":"17540:26:6","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"17556:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"17561:4:6","type":"","value":"0x60"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17552:3:6"},"nodeType":"YulFunctionCall","src":"17552:14:6"},"variables":[{"name":"tail","nodeType":"YulTypedName","src":"17544:4:6","type":""}]},{"nodeType":"YulBlock","src":"17576:182:6","statements":[{"nodeType":"YulVariableDeclaration","src":"17608:68:6","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"17652:5:6"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"17663:5:6"},{"kind":"number","nodeType":"YulLiteral","src":"17670:4:6","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17659:3:6"},"nodeType":"YulFunctionCall","src":"17659:16:6"}],"functionName":{"name":"calldata_access_t_uint8","nodeType":"YulIdentifier","src":"17628:23:6"},"nodeType":"YulFunctionCall","src":"17628:48:6"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"17612:12:6","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"17719:12:6"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"17737:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"17742:4:6","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17733:3:6"},"nodeType":"YulFunctionCall","src":"17733:14:6"}],"functionName":{"name":"abi_encode_t_uint8_to_t_uint8","nodeType":"YulIdentifier","src":"17689:29:6"},"nodeType":"YulFunctionCall","src":"17689:59:6"},"nodeType":"YulExpressionStatement","src":"17689:59:6"}]},{"nodeType":"YulBlock","src":"17768:188:6","statements":[{"nodeType":"YulVariableDeclaration","src":"17800:70:6","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"17846:5:6"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"17857:5:6"},{"kind":"number","nodeType":"YulLiteral","src":"17864:4:6","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17853:3:6"},"nodeType":"YulFunctionCall","src":"17853:16:6"}],"functionName":{"name":"calldata_access_t_bytes32","nodeType":"YulIdentifier","src":"17820:25:6"},"nodeType":"YulFunctionCall","src":"17820:50:6"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"17804:12:6","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"17917:12:6"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"17935:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"17940:4:6","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17931:3:6"},"nodeType":"YulFunctionCall","src":"17931:14:6"}],"functionName":{"name":"abi_encode_t_bytes32_to_t_bytes32","nodeType":"YulIdentifier","src":"17883:33:6"},"nodeType":"YulFunctionCall","src":"17883:63:6"},"nodeType":"YulExpressionStatement","src":"17883:63:6"}]},{"nodeType":"YulBlock","src":"17966:188:6","statements":[{"nodeType":"YulVariableDeclaration","src":"17998:70:6","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"18044:5:6"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"18055:5:6"},{"kind":"number","nodeType":"YulLiteral","src":"18062:4:6","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18051:3:6"},"nodeType":"YulFunctionCall","src":"18051:16:6"}],"functionName":{"name":"calldata_access_t_bytes32","nodeType":"YulIdentifier","src":"18018:25:6"},"nodeType":"YulFunctionCall","src":"18018:50:6"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"18002:12:6","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"18115:12:6"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"18133:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"18138:4:6","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18129:3:6"},"nodeType":"YulFunctionCall","src":"18129:14:6"}],"functionName":{"name":"abi_encode_t_bytes32_to_t_bytes32","nodeType":"YulIdentifier","src":"18081:33:6"},"nodeType":"YulFunctionCall","src":"18081:63:6"},"nodeType":"YulExpressionStatement","src":"18081:63:6"}]}]},"name":"abi_encode_t_struct$_Signature_$1144_calldata_ptr_to_t_struct$_Signature_$1144_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"17517:5:6","type":""},{"name":"pos","nodeType":"YulTypedName","src":"17524:3:6","type":""}],"src":"17418:743:6"},{"body":{"nodeType":"YulBlock","src":"18303:155:6","statements":[{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"18403:6:6"},{"name":"pos","nodeType":"YulIdentifier","src":"18411:3:6"}],"functionName":{"name":"abi_encode_t_struct$_Signature_$1144_calldata_ptr_to_t_struct$_Signature_$1144_memory_ptr","nodeType":"YulIdentifier","src":"18313:89:6"},"nodeType":"YulFunctionCall","src":"18313:102:6"},"nodeType":"YulExpressionStatement","src":"18313:102:6"},{"nodeType":"YulAssignment","src":"18424:28:6","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"18442:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"18447:4:6","type":"","value":"0x60"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18438:3:6"},"nodeType":"YulFunctionCall","src":"18438:14:6"},"variableNames":[{"name":"updatedPos","nodeType":"YulIdentifier","src":"18424:10:6"}]}]},"name":"abi_encodeUpdatedPos_t_struct$_Signature_$1144_calldata_ptr_to_t_struct$_Signature_$1144_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"value0","nodeType":"YulTypedName","src":"18276:6:6","type":""},{"name":"pos","nodeType":"YulTypedName","src":"18284:3:6","type":""}],"returnVariables":[{"name":"updatedPos","nodeType":"YulTypedName","src":"18292:10:6","type":""}],"src":"18167:291:6"},{"body":{"nodeType":"YulBlock","src":"18551:28:6","statements":[{"nodeType":"YulAssignment","src":"18561:12:6","value":{"name":"ptr","nodeType":"YulIdentifier","src":"18570:3:6"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"18561:5:6"}]}]},"name":"calldata_access_t_struct$_Signature_$1144_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"baseRef","nodeType":"YulTypedName","src":"18528:7:6","type":""},{"name":"ptr","nodeType":"YulTypedName","src":"18537:3:6","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"18545:5:6","type":""}],"src":"18464:115:6"},{"body":{"nodeType":"YulBlock","src":"18691:38:6","statements":[{"nodeType":"YulAssignment","src":"18701:22:6","value":{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"18713:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"18718:4:6","type":"","value":"0x60"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18709:3:6"},"nodeType":"YulFunctionCall","src":"18709:14:6"},"variableNames":[{"name":"next","nodeType":"YulIdentifier","src":"18701:4:6"}]}]},"name":"array_nextElement_t_array$_t_struct$_Signature_$1144_calldata_ptr_$dyn_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"ptr","nodeType":"YulTypedName","src":"18678:3:6","type":""}],"returnVariables":[{"name":"next","nodeType":"YulTypedName","src":"18686:4:6","type":""}],"src":"18585:144:6"},{"body":{"nodeType":"YulBlock","src":"18973:735:6","statements":[{"nodeType":"YulAssignment","src":"18984:120:6","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"19092:3:6"},{"name":"length","nodeType":"YulIdentifier","src":"19097:6:6"}],"functionName":{"name":"array_storeLengthForEncoding_t_array$_t_struct$_Signature_$1144_memory_ptr_$dyn_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"18991:100:6"},"nodeType":"YulFunctionCall","src":"18991:113:6"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"18984:3:6"}]},{"nodeType":"YulVariableDeclaration","src":"19113:102:6","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"19209:5:6"}],"functionName":{"name":"array_dataslot_t_array$_t_struct$_Signature_$1144_calldata_ptr_$dyn_calldata_ptr","nodeType":"YulIdentifier","src":"19128:80:6"},"nodeType":"YulFunctionCall","src":"19128:87:6"},"variables":[{"name":"baseRef","nodeType":"YulTypedName","src":"19117:7:6","type":""}]},{"nodeType":"YulVariableDeclaration","src":"19224:21:6","value":{"name":"baseRef","nodeType":"YulIdentifier","src":"19238:7:6"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"19228:6:6","type":""}]},{"body":{"nodeType":"YulBlock","src":"19314:369:6","statements":[{"nodeType":"YulVariableDeclaration","src":"19328:92:6","value":{"arguments":[{"name":"baseRef","nodeType":"YulIdentifier","src":"19404:7:6"},{"name":"srcPtr","nodeType":"YulIdentifier","src":"19413:6:6"}],"functionName":{"name":"calldata_access_t_struct$_Signature_$1144_calldata_ptr","nodeType":"YulIdentifier","src":"19349:54:6"},"nodeType":"YulFunctionCall","src":"19349:71:6"},"variables":[{"name":"elementValue0","nodeType":"YulTypedName","src":"19332:13:6","type":""}]},{"nodeType":"YulAssignment","src":"19433:126:6","value":{"arguments":[{"name":"elementValue0","nodeType":"YulIdentifier","src":"19540:13:6"},{"name":"pos","nodeType":"YulIdentifier","src":"19555:3:6"}],"functionName":{"name":"abi_encodeUpdatedPos_t_struct$_Signature_$1144_calldata_ptr_to_t_struct$_Signature_$1144_memory_ptr","nodeType":"YulIdentifier","src":"19440:99:6"},"nodeType":"YulFunctionCall","src":"19440:119:6"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"19433:3:6"}]},{"nodeType":"YulAssignment","src":"19572:101:6","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"19666:6:6"}],"functionName":{"name":"array_nextElement_t_array$_t_struct$_Signature_$1144_calldata_ptr_$dyn_calldata_ptr","nodeType":"YulIdentifier","src":"19582:83:6"},"nodeType":"YulFunctionCall","src":"19582:91:6"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"19572:6:6"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"19276:1:6"},{"name":"length","nodeType":"YulIdentifier","src":"19279:6:6"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"19273:2:6"},"nodeType":"YulFunctionCall","src":"19273:13:6"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"19287:18:6","statements":[{"nodeType":"YulAssignment","src":"19289:14:6","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"19298:1:6"},{"kind":"number","nodeType":"YulLiteral","src":"19301:1:6","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19294:3:6"},"nodeType":"YulFunctionCall","src":"19294:9:6"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"19289:1:6"}]}]},"pre":{"nodeType":"YulBlock","src":"19258:14:6","statements":[{"nodeType":"YulVariableDeclaration","src":"19260:10:6","value":{"kind":"number","nodeType":"YulLiteral","src":"19269:1:6","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"19264:1:6","type":""}]}]},"src":"19254:429:6"},{"nodeType":"YulAssignment","src":"19692:10:6","value":{"name":"pos","nodeType":"YulIdentifier","src":"19699:3:6"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"19692:3:6"}]}]},"name":"abi_encode_t_array$_t_struct$_Signature_$1144_calldata_ptr_$dyn_calldata_ptr_to_t_array$_t_struct$_Signature_$1144_memory_ptr_$dyn_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"18944:5:6","type":""},{"name":"length","nodeType":"YulTypedName","src":"18951:6:6","type":""},{"name":"pos","nodeType":"YulTypedName","src":"18959:3:6","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"18968:3:6","type":""}],"src":"18783:925:6"},{"body":{"nodeType":"YulBlock","src":"20180:753:6","statements":[{"nodeType":"YulAssignment","src":"20190:26:6","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20202:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"20213:2:6","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20198:3:6"},"nodeType":"YulFunctionCall","src":"20198:18:6"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"20190:4:6"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20237:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"20248:1:6","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20233:3:6"},"nodeType":"YulFunctionCall","src":"20233:17:6"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"20256:4:6"},{"name":"headStart","nodeType":"YulIdentifier","src":"20262:9:6"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"20252:3:6"},"nodeType":"YulFunctionCall","src":"20252:20:6"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20226:6:6"},"nodeType":"YulFunctionCall","src":"20226:47:6"},"nodeType":"YulExpressionStatement","src":"20226:47:6"},{"nodeType":"YulAssignment","src":"20282:146:6","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"20414:6:6"},{"name":"tail","nodeType":"YulIdentifier","src":"20423:4:6"}],"functionName":{"name":"abi_encode_t_struct$_OracleAttestationData_$1124_calldata_ptr_to_t_struct$_OracleAttestationData_$1124_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"20290:123:6"},"nodeType":"YulFunctionCall","src":"20290:138:6"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"20282:4:6"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20449:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"20460:2:6","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20445:3:6"},"nodeType":"YulFunctionCall","src":"20445:18:6"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"20469:4:6"},{"name":"headStart","nodeType":"YulIdentifier","src":"20475:9:6"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"20465:3:6"},"nodeType":"YulFunctionCall","src":"20465:20:6"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20438:6:6"},"nodeType":"YulFunctionCall","src":"20438:48:6"},"nodeType":"YulExpressionStatement","src":"20438:48:6"},{"nodeType":"YulAssignment","src":"20495:182:6","value":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"20655:6:6"},{"name":"value2","nodeType":"YulIdentifier","src":"20663:6:6"},{"name":"tail","nodeType":"YulIdentifier","src":"20672:4:6"}],"functionName":{"name":"abi_encode_t_array$_t_struct$_Validator_$1149_calldata_ptr_$dyn_calldata_ptr_to_t_array$_t_struct$_Validator_$1149_memory_ptr_$dyn_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"20503:151:6"},"nodeType":"YulFunctionCall","src":"20503:174:6"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"20495:4:6"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20698:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"20709:2:6","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20694:3:6"},"nodeType":"YulFunctionCall","src":"20694:18:6"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"20718:4:6"},{"name":"headStart","nodeType":"YulIdentifier","src":"20724:9:6"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"20714:3:6"},"nodeType":"YulFunctionCall","src":"20714:20:6"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20687:6:6"},"nodeType":"YulFunctionCall","src":"20687:48:6"},"nodeType":"YulExpressionStatement","src":"20687:48:6"},{"nodeType":"YulAssignment","src":"20744:182:6","value":{"arguments":[{"name":"value3","nodeType":"YulIdentifier","src":"20904:6:6"},{"name":"value4","nodeType":"YulIdentifier","src":"20912:6:6"},{"name":"tail","nodeType":"YulIdentifier","src":"20921:4:6"}],"functionName":{"name":"abi_encode_t_array$_t_struct$_Signature_$1144_calldata_ptr_$dyn_calldata_ptr_to_t_array$_t_struct$_Signature_$1144_memory_ptr_$dyn_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"20752:151:6"},"nodeType":"YulFunctionCall","src":"20752:174:6"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"20744:4:6"}]}]},"name":"abi_encode_tuple_t_struct$_OracleAttestationData_$1124_calldata_ptr_t_array$_t_struct$_Validator_$1149_calldata_ptr_$dyn_calldata_ptr_t_array$_t_struct$_Signature_$1144_calldata_ptr_$dyn_calldata_ptr__to_t_struct$_OracleAttestationData_$1124_memory_ptr_t_array$_t_struct$_Validator_$1149_memory_ptr_$dyn_memory_ptr_t_array$_t_struct$_Signature_$1144_memory_ptr_$dyn_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"20120:9:6","type":""},{"name":"value4","nodeType":"YulTypedName","src":"20132:6:6","type":""},{"name":"value3","nodeType":"YulTypedName","src":"20140:6:6","type":""},{"name":"value2","nodeType":"YulTypedName","src":"20148:6:6","type":""},{"name":"value1","nodeType":"YulTypedName","src":"20156:6:6","type":""},{"name":"value0","nodeType":"YulTypedName","src":"20164:6:6","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"20175:4:6","type":""}],"src":"19714:1219:6"},{"body":{"nodeType":"YulBlock","src":"21035:73:6","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"21052:3:6"},{"name":"length","nodeType":"YulIdentifier","src":"21057:6:6"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21045:6:6"},"nodeType":"YulFunctionCall","src":"21045:19:6"},"nodeType":"YulExpressionStatement","src":"21045:19:6"},{"nodeType":"YulAssignment","src":"21073:29:6","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"21092:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"21097:4:6","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21088:3:6"},"nodeType":"YulFunctionCall","src":"21088:14:6"},"variableNames":[{"name":"updated_pos","nodeType":"YulIdentifier","src":"21073:11:6"}]}]},"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"21007:3:6","type":""},{"name":"length","nodeType":"YulTypedName","src":"21012:6:6","type":""}],"returnVariables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"21023:11:6","type":""}],"src":"20939:169:6"},{"body":{"nodeType":"YulBlock","src":"21220:59:6","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"21242:6:6"},{"kind":"number","nodeType":"YulLiteral","src":"21250:1:6","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21238:3:6"},"nodeType":"YulFunctionCall","src":"21238:14:6"},{"hexValue":"496e76616c69642071756572794964","kind":"string","nodeType":"YulLiteral","src":"21254:17:6","type":"","value":"Invalid queryId"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21231:6:6"},"nodeType":"YulFunctionCall","src":"21231:41:6"},"nodeType":"YulExpressionStatement","src":"21231:41:6"}]},"name":"store_literal_in_memory_5c98120c2d1113299b49cf447f38c466f541f9e65cb821e4e86f03bd25cc78a8","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"21212:6:6","type":""}],"src":"21114:165:6"},{"body":{"nodeType":"YulBlock","src":"21431:220:6","statements":[{"nodeType":"YulAssignment","src":"21441:74:6","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"21507:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"21512:2:6","type":"","value":"15"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"21448:58:6"},"nodeType":"YulFunctionCall","src":"21448:67:6"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"21441:3:6"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"21613:3:6"}],"functionName":{"name":"store_literal_in_memory_5c98120c2d1113299b49cf447f38c466f541f9e65cb821e4e86f03bd25cc78a8","nodeType":"YulIdentifier","src":"21524:88:6"},"nodeType":"YulFunctionCall","src":"21524:93:6"},"nodeType":"YulExpressionStatement","src":"21524:93:6"},{"nodeType":"YulAssignment","src":"21626:19:6","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"21637:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"21642:2:6","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21633:3:6"},"nodeType":"YulFunctionCall","src":"21633:12:6"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"21626:3:6"}]}]},"name":"abi_encode_t_stringliteral_5c98120c2d1113299b49cf447f38c466f541f9e65cb821e4e86f03bd25cc78a8_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"21419:3:6","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"21427:3:6","type":""}],"src":"21285:366:6"},{"body":{"nodeType":"YulBlock","src":"21828:248:6","statements":[{"nodeType":"YulAssignment","src":"21838:26:6","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21850:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"21861:2:6","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21846:3:6"},"nodeType":"YulFunctionCall","src":"21846:18:6"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"21838:4:6"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21885:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"21896:1:6","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21881:3:6"},"nodeType":"YulFunctionCall","src":"21881:17:6"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"21904:4:6"},{"name":"headStart","nodeType":"YulIdentifier","src":"21910:9:6"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"21900:3:6"},"nodeType":"YulFunctionCall","src":"21900:20:6"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21874:6:6"},"nodeType":"YulFunctionCall","src":"21874:47:6"},"nodeType":"YulExpressionStatement","src":"21874:47:6"},{"nodeType":"YulAssignment","src":"21930:139:6","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"22064:4:6"}],"functionName":{"name":"abi_encode_t_stringliteral_5c98120c2d1113299b49cf447f38c466f541f9e65cb821e4e86f03bd25cc78a8_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"21938:124:6"},"nodeType":"YulFunctionCall","src":"21938:131:6"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"21930:4:6"}]}]},"name":"abi_encode_tuple_t_stringliteral_5c98120c2d1113299b49cf447f38c466f541f9e65cb821e4e86f03bd25cc78a8__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"21808:9:6","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"21823:4:6","type":""}],"src":"21657:419:6"},{"body":{"nodeType":"YulBlock","src":"22171:28:6","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"22188:1:6","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"22191:1:6","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"22181:6:6"},"nodeType":"YulFunctionCall","src":"22181:12:6"},"nodeType":"YulExpressionStatement","src":"22181:12:6"}]},"name":"revert_error_356d538aaf70fba12156cc466564b792649f8f3befb07b071c91142253e175ad","nodeType":"YulFunctionDefinition","src":"22082:117:6"},{"body":{"nodeType":"YulBlock","src":"22294:28:6","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"22311:1:6","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"22314:1:6","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"22304:6:6"},"nodeType":"YulFunctionCall","src":"22304:12:6"},"nodeType":"YulExpressionStatement","src":"22304:12:6"}]},"name":"revert_error_1e55d03107e9c4f1b5e21c76a16fba166a461117ab153bcce65e6a4ea8e5fc8a","nodeType":"YulFunctionDefinition","src":"22205:117:6"},{"body":{"nodeType":"YulBlock","src":"22417:28:6","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"22434:1:6","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"22437:1:6","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"22427:6:6"},"nodeType":"YulFunctionCall","src":"22427:12:6"},"nodeType":"YulExpressionStatement","src":"22427:12:6"}]},"name":"revert_error_977805620ff29572292dee35f70b0f3f3f73d3fdd0e9f4d7a901c2e43ab18a2e","nodeType":"YulFunctionDefinition","src":"22328:117:6"},{"body":{"nodeType":"YulBlock","src":"22552:295:6","statements":[{"nodeType":"YulVariableDeclaration","src":"22562:51:6","value":{"arguments":[{"name":"ptr_to_tail","nodeType":"YulIdentifier","src":"22601:11:6"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"22588:12:6"},"nodeType":"YulFunctionCall","src":"22588:25:6"},"variables":[{"name":"rel_offset_of_tail","nodeType":"YulTypedName","src":"22566:18:6","type":""}]},{"body":{"nodeType":"YulBlock","src":"22707:83:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_356d538aaf70fba12156cc466564b792649f8f3befb07b071c91142253e175ad","nodeType":"YulIdentifier","src":"22709:77:6"},"nodeType":"YulFunctionCall","src":"22709:79:6"},"nodeType":"YulExpressionStatement","src":"22709:79:6"}]},"condition":{"arguments":[{"arguments":[{"name":"rel_offset_of_tail","nodeType":"YulIdentifier","src":"22636:18:6"},{"arguments":[{"arguments":[{"arguments":[],"functionName":{"name":"calldatasize","nodeType":"YulIdentifier","src":"22664:12:6"},"nodeType":"YulFunctionCall","src":"22664:14:6"},{"name":"base_ref","nodeType":"YulIdentifier","src":"22680:8:6"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"22660:3:6"},"nodeType":"YulFunctionCall","src":"22660:29:6"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"22695:4:6","type":"","value":"0xc0"},{"kind":"number","nodeType":"YulLiteral","src":"22701:1:6","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"22691:3:6"},"nodeType":"YulFunctionCall","src":"22691:12:6"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"22656:3:6"},"nodeType":"YulFunctionCall","src":"22656:48:6"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"22632:3:6"},"nodeType":"YulFunctionCall","src":"22632:73:6"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"22625:6:6"},"nodeType":"YulFunctionCall","src":"22625:81:6"},"nodeType":"YulIf","src":"22622:168:6"},{"nodeType":"YulAssignment","src":"22799:41:6","value":{"arguments":[{"name":"base_ref","nodeType":"YulIdentifier","src":"22811:8:6"},{"name":"rel_offset_of_tail","nodeType":"YulIdentifier","src":"22821:18:6"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22807:3:6"},"nodeType":"YulFunctionCall","src":"22807:33:6"},"variableNames":[{"name":"addr","nodeType":"YulIdentifier","src":"22799:4:6"}]}]},"name":"access_calldata_tail_t_struct$_ReportData_$1137_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"base_ref","nodeType":"YulTypedName","src":"22521:8:6","type":""},{"name":"ptr_to_tail","nodeType":"YulTypedName","src":"22531:11:6","type":""}],"returnVariables":[{"name":"addr","nodeType":"YulTypedName","src":"22547:4:6","type":""}],"src":"22451:396:6"},{"body":{"nodeType":"YulBlock","src":"22943:634:6","statements":[{"nodeType":"YulVariableDeclaration","src":"22953:51:6","value":{"arguments":[{"name":"ptr_to_tail","nodeType":"YulIdentifier","src":"22992:11:6"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"22979:12:6"},"nodeType":"YulFunctionCall","src":"22979:25:6"},"variables":[{"name":"rel_offset_of_tail","nodeType":"YulTypedName","src":"22957:18:6","type":""}]},{"body":{"nodeType":"YulBlock","src":"23098:83:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_356d538aaf70fba12156cc466564b792649f8f3befb07b071c91142253e175ad","nodeType":"YulIdentifier","src":"23100:77:6"},"nodeType":"YulFunctionCall","src":"23100:79:6"},"nodeType":"YulExpressionStatement","src":"23100:79:6"}]},"condition":{"arguments":[{"arguments":[{"name":"rel_offset_of_tail","nodeType":"YulIdentifier","src":"23027:18:6"},{"arguments":[{"arguments":[{"arguments":[],"functionName":{"name":"calldatasize","nodeType":"YulIdentifier","src":"23055:12:6"},"nodeType":"YulFunctionCall","src":"23055:14:6"},{"name":"base_ref","nodeType":"YulIdentifier","src":"23071:8:6"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"23051:3:6"},"nodeType":"YulFunctionCall","src":"23051:29:6"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"23086:4:6","type":"","value":"0x20"},{"kind":"number","nodeType":"YulLiteral","src":"23092:1:6","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"23082:3:6"},"nodeType":"YulFunctionCall","src":"23082:12:6"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"23047:3:6"},"nodeType":"YulFunctionCall","src":"23047:48:6"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"23023:3:6"},"nodeType":"YulFunctionCall","src":"23023:73:6"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"23016:6:6"},"nodeType":"YulFunctionCall","src":"23016:81:6"},"nodeType":"YulIf","src":"23013:168:6"},{"nodeType":"YulAssignment","src":"23190:41:6","value":{"arguments":[{"name":"base_ref","nodeType":"YulIdentifier","src":"23202:8:6"},{"name":"rel_offset_of_tail","nodeType":"YulIdentifier","src":"23212:18:6"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23198:3:6"},"nodeType":"YulFunctionCall","src":"23198:33:6"},"variableNames":[{"name":"addr","nodeType":"YulIdentifier","src":"23190:4:6"}]},{"nodeType":"YulAssignment","src":"23241:28:6","value":{"arguments":[{"name":"addr","nodeType":"YulIdentifier","src":"23264:4:6"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"23251:12:6"},"nodeType":"YulFunctionCall","src":"23251:18:6"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"23241:6:6"}]},{"body":{"nodeType":"YulBlock","src":"23312:83:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_1e55d03107e9c4f1b5e21c76a16fba166a461117ab153bcce65e6a4ea8e5fc8a","nodeType":"YulIdentifier","src":"23314:77:6"},"nodeType":"YulFunctionCall","src":"23314:79:6"},"nodeType":"YulExpressionStatement","src":"23314:79:6"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"23284:6:6"},{"kind":"number","nodeType":"YulLiteral","src":"23292:18:6","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"23281:2:6"},"nodeType":"YulFunctionCall","src":"23281:30:6"},"nodeType":"YulIf","src":"23278:117:6"},{"nodeType":"YulAssignment","src":"23404:21:6","value":{"arguments":[{"name":"addr","nodeType":"YulIdentifier","src":"23416:4:6"},{"kind":"number","nodeType":"YulLiteral","src":"23422:2:6","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23412:3:6"},"nodeType":"YulFunctionCall","src":"23412:13:6"},"variableNames":[{"name":"addr","nodeType":"YulIdentifier","src":"23404:4:6"}]},{"body":{"nodeType":"YulBlock","src":"23487:83:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_977805620ff29572292dee35f70b0f3f3f73d3fdd0e9f4d7a901c2e43ab18a2e","nodeType":"YulIdentifier","src":"23489:77:6"},"nodeType":"YulFunctionCall","src":"23489:79:6"},"nodeType":"YulExpressionStatement","src":"23489:79:6"}]},"condition":{"arguments":[{"name":"addr","nodeType":"YulIdentifier","src":"23441:4:6"},{"arguments":[{"arguments":[],"functionName":{"name":"calldatasize","nodeType":"YulIdentifier","src":"23451:12:6"},"nodeType":"YulFunctionCall","src":"23451:14:6"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"23471:6:6"},{"kind":"number","nodeType":"YulLiteral","src":"23479:4:6","type":"","value":"0x01"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"23467:3:6"},"nodeType":"YulFunctionCall","src":"23467:17:6"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"23447:3:6"},"nodeType":"YulFunctionCall","src":"23447:38:6"}],"functionName":{"name":"sgt","nodeType":"YulIdentifier","src":"23437:3:6"},"nodeType":"YulFunctionCall","src":"23437:49:6"},"nodeType":"YulIf","src":"23434:136:6"}]},"name":"access_calldata_tail_t_bytes_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"base_ref","nodeType":"YulTypedName","src":"22904:8:6","type":""},{"name":"ptr_to_tail","nodeType":"YulTypedName","src":"22914:11:6","type":""}],"returnVariables":[{"name":"addr","nodeType":"YulTypedName","src":"22930:4:6","type":""},{"name":"length","nodeType":"YulTypedName","src":"22936:6:6","type":""}],"src":"22853:724:6"},{"body":{"nodeType":"YulBlock","src":"23611:152:6","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"23628:1:6","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"23631:77:6","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23621:6:6"},"nodeType":"YulFunctionCall","src":"23621:88:6"},"nodeType":"YulExpressionStatement","src":"23621:88:6"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"23725:1:6","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"23728:4:6","type":"","value":"0x11"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23718:6:6"},"nodeType":"YulFunctionCall","src":"23718:15:6"},"nodeType":"YulExpressionStatement","src":"23718:15:6"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"23749:1:6","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"23752:4:6","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"23742:6:6"},"nodeType":"YulFunctionCall","src":"23742:15:6"},"nodeType":"YulExpressionStatement","src":"23742:15:6"}]},"name":"panic_error_0x11","nodeType":"YulFunctionDefinition","src":"23583:180:6"},{"body":{"nodeType":"YulBlock","src":"23814:149:6","statements":[{"nodeType":"YulAssignment","src":"23824:25:6","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"23847:1:6"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"23829:17:6"},"nodeType":"YulFunctionCall","src":"23829:20:6"},"variableNames":[{"name":"x","nodeType":"YulIdentifier","src":"23824:1:6"}]},{"nodeType":"YulAssignment","src":"23858:25:6","value":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"23881:1:6"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"23863:17:6"},"nodeType":"YulFunctionCall","src":"23863:20:6"},"variableNames":[{"name":"y","nodeType":"YulIdentifier","src":"23858:1:6"}]},{"nodeType":"YulAssignment","src":"23892:17:6","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"23904:1:6"},{"name":"y","nodeType":"YulIdentifier","src":"23907:1:6"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"23900:3:6"},"nodeType":"YulFunctionCall","src":"23900:9:6"},"variableNames":[{"name":"diff","nodeType":"YulIdentifier","src":"23892:4:6"}]},{"body":{"nodeType":"YulBlock","src":"23934:22:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"23936:16:6"},"nodeType":"YulFunctionCall","src":"23936:18:6"},"nodeType":"YulExpressionStatement","src":"23936:18:6"}]},"condition":{"arguments":[{"name":"diff","nodeType":"YulIdentifier","src":"23925:4:6"},{"name":"x","nodeType":"YulIdentifier","src":"23931:1:6"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"23922:2:6"},"nodeType":"YulFunctionCall","src":"23922:11:6"},"nodeType":"YulIf","src":"23919:37:6"}]},"name":"checked_sub_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"23800:1:6","type":""},{"name":"y","nodeType":"YulTypedName","src":"23803:1:6","type":""}],"returnVariables":[{"name":"diff","nodeType":"YulTypedName","src":"23809:4:6","type":""}],"src":"23769:194:6"},{"body":{"nodeType":"YulBlock","src":"23997:152:6","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"24014:1:6","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"24017:77:6","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24007:6:6"},"nodeType":"YulFunctionCall","src":"24007:88:6"},"nodeType":"YulExpressionStatement","src":"24007:88:6"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"24111:1:6","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"24114:4:6","type":"","value":"0x32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24104:6:6"},"nodeType":"YulFunctionCall","src":"24104:15:6"},"nodeType":"YulExpressionStatement","src":"24104:15:6"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"24135:1:6","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"24138:4:6","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"24128:6:6"},"nodeType":"YulFunctionCall","src":"24128:15:6"},"nodeType":"YulExpressionStatement","src":"24128:15:6"}]},"name":"panic_error_0x32","nodeType":"YulFunctionDefinition","src":"23969:180:6"}]},"contents":"{\n\n function cleanup_t_bytes32(value) -> cleaned {\n cleaned := value\n }\n\n function abi_encode_t_bytes32_to_t_bytes32_fromStack(value, pos) {\n mstore(pos, cleanup_t_bytes32(value))\n }\n\n function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value0, add(headStart, 0))\n\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function identity(value) -> ret {\n ret := value\n }\n\n function convert_t_uint160_to_t_uint160(value) -> converted {\n converted := cleanup_t_uint160(identity(cleanup_t_uint160(value)))\n }\n\n function convert_t_uint160_to_t_address(value) -> converted {\n converted := convert_t_uint160_to_t_uint160(value)\n }\n\n function convert_t_contract$_ITellorDataBridge_$1184_to_t_address(value) -> converted {\n converted := convert_t_uint160_to_t_address(value)\n }\n\n function abi_encode_t_contract$_ITellorDataBridge_$1184_to_t_address_fromStack(value, pos) {\n mstore(pos, convert_t_contract$_ITellorDataBridge_$1184_to_t_address(value))\n }\n\n function abi_encode_tuple_t_contract$_ITellorDataBridge_$1184__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_contract$_ITellorDataBridge_$1184_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function revert_error_21fe6b43b4db61d76a176e95bf1a6b9ede4c301f93a4246f41fecb96e160861d() {\n revert(0, 0)\n }\n\n // struct OracleAttestationData\n function abi_decode_t_struct$_OracleAttestationData_$1124_calldata_ptr(offset, end) -> value {\n if slt(sub(end, offset), 96) { revert_error_21fe6b43b4db61d76a176e95bf1a6b9ede4c301f93a4246f41fecb96e160861d() }\n value := offset\n }\n\n function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490() {\n revert(0, 0)\n }\n\n function revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() {\n revert(0, 0)\n }\n\n // struct Validator[]\n function abi_decode_t_array$_t_struct$_Validator_$1149_calldata_ptr_$dyn_calldata_ptr(offset, end) -> arrayPos, length {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n length := calldataload(offset)\n if gt(length, 0xffffffffffffffff) { revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490() }\n arrayPos := add(offset, 0x20)\n if gt(add(arrayPos, mul(length, 0x40)), end) { revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() }\n }\n\n // struct Signature[]\n function abi_decode_t_array$_t_struct$_Signature_$1144_calldata_ptr_$dyn_calldata_ptr(offset, end) -> arrayPos, length {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n length := calldataload(offset)\n if gt(length, 0xffffffffffffffff) { revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490() }\n arrayPos := add(offset, 0x20)\n if gt(add(arrayPos, mul(length, 0x60)), end) { revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() }\n }\n\n function abi_decode_tuple_t_struct$_OracleAttestationData_$1124_calldata_ptrt_array$_t_struct$_Validator_$1149_calldata_ptr_$dyn_calldata_ptrt_array$_t_struct$_Signature_$1144_calldata_ptr_$dyn_calldata_ptr(headStart, dataEnd) -> value0, value1, value2, value3, value4 {\n if slt(sub(dataEnd, headStart), 96) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := calldataload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0 := abi_decode_t_struct$_OracleAttestationData_$1124_calldata_ptr(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 32))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value1, value2 := abi_decode_t_array$_t_struct$_Validator_$1149_calldata_ptr_$dyn_calldata_ptr(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 64))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value3, value4 := abi_decode_t_array$_t_struct$_Signature_$1144_calldata_ptr_$dyn_calldata_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_uint256_to_t_uint256(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n // struct YoloTellorUser.OracleData -> struct YoloTellorUser.OracleData\n function abi_encode_t_struct$_OracleData_$975_memory_ptr_to_t_struct$_OracleData_$975_memory_ptr_fromStack(value, pos) {\n let tail := add(pos, 0x40)\n\n {\n // value\n\n let memberValue0 := mload(add(value, 0x00))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0x00))\n }\n\n {\n // timestamp\n\n let memberValue0 := mload(add(value, 0x20))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0x20))\n }\n\n }\n\n function abi_encode_tuple_t_struct$_OracleData_$975_memory_ptr__to_t_struct$_OracleData_$975_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 64)\n\n abi_encode_t_struct$_OracleData_$975_memory_ptr_to_t_struct$_OracleData_$975_memory_ptr_fromStack(value0, add(headStart, 0))\n\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed(headStart , value1, value0) -> tail {\n tail := add(headStart, 64)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value1, add(headStart, 32))\n\n }\n\n function validator_revert_t_bytes32(value) {\n if iszero(eq(value, cleanup_t_bytes32(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_bytes32(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_bytes32(value)\n }\n\n function calldata_access_t_bytes32(baseRef, ptr) -> value {\n value := abi_decode_t_bytes32(ptr, add(ptr, 32))\n }\n\n function abi_encode_t_bytes32_to_t_bytes32(value, pos) {\n mstore(pos, cleanup_t_bytes32(value))\n }\n\n function revert_error_db64ea6d4a12deece376118739de8d9f517a2db5b58ea2ca332ea908c04c71d4() {\n revert(0, 0)\n }\n\n function calldata_access_t_struct$_ReportData_$1137_calldata_ptr(base_ref, ptr) -> value {\n let rel_offset_of_tail := calldataload(ptr)\n if iszero(slt(rel_offset_of_tail, sub(sub(calldatasize(), base_ref), sub(0xc0, 1)))) { revert_error_db64ea6d4a12deece376118739de8d9f517a2db5b58ea2ca332ea908c04c71d4() }\n value := add(rel_offset_of_tail, base_ref)\n\n }\n\n function revert_error_0803104b3ab68501accf02de57372b8e5e6e1582158b771d3f89279dc6822fe2() {\n revert(0, 0)\n }\n\n function revert_error_3894daff73bdbb8963c284e167b207f7abade3c031c50828ea230a16bdbc0f20() {\n revert(0, 0)\n }\n\n function calldata_access_t_bytes_calldata_ptr(base_ref, ptr) -> value, length {\n let rel_offset_of_tail := calldataload(ptr)\n if iszero(slt(rel_offset_of_tail, sub(sub(calldatasize(), base_ref), sub(0x20, 1)))) { revert_error_db64ea6d4a12deece376118739de8d9f517a2db5b58ea2ca332ea908c04c71d4() }\n value := add(rel_offset_of_tail, base_ref)\n\n length := calldataload(value)\n value := add(value, 0x20)\n if gt(length, 0xffffffffffffffff) { revert_error_0803104b3ab68501accf02de57372b8e5e6e1582158b771d3f89279dc6822fe2() }\n if sgt(value, sub(calldatasize(), mul(length, 0x01))) { revert_error_3894daff73bdbb8963c284e167b207f7abade3c031c50828ea230a16bdbc0f20() }\n\n }\n\n function array_storeLengthForEncoding_t_bytes_memory_ptr(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function copy_calldata_to_memory_with_cleanup(src, dst, length) {\n calldatacopy(dst, src, length)\n mstore(add(dst, length), 0)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n // bytes -> bytes\n function abi_encode_t_bytes_calldata_ptr_to_t_bytes_memory_ptr(start, length, pos) -> end {\n pos := array_storeLengthForEncoding_t_bytes_memory_ptr(pos, length)\n\n copy_calldata_to_memory_with_cleanup(start, pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function calldata_access_t_uint256(baseRef, ptr) -> value {\n value := abi_decode_t_uint256(ptr, add(ptr, 32))\n }\n\n // struct ReportData -> struct ReportData\n function abi_encode_t_struct$_ReportData_$1137_calldata_ptr_to_t_struct$_ReportData_$1137_memory_ptr(value, pos) -> end {\n let tail := add(pos, 0xc0)\n\n {\n // value\n\n let memberValue0, memberValue1 := calldata_access_t_bytes_calldata_ptr(value, add(value, 0x00))\n\n mstore(add(pos, 0x00), sub(tail, pos))\n tail := abi_encode_t_bytes_calldata_ptr_to_t_bytes_memory_ptr(memberValue0, memberValue1, tail)\n\n }\n\n {\n // timestamp\n\n let memberValue0 := calldata_access_t_uint256(value, add(value, 0x20))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0x20))\n }\n\n {\n // aggregatePower\n\n let memberValue0 := calldata_access_t_uint256(value, add(value, 0x40))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0x40))\n }\n\n {\n // previousTimestamp\n\n let memberValue0 := calldata_access_t_uint256(value, add(value, 0x60))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0x60))\n }\n\n {\n // nextTimestamp\n\n let memberValue0 := calldata_access_t_uint256(value, add(value, 0x80))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0x80))\n }\n\n {\n // lastConsensusTimestamp\n\n let memberValue0 := calldata_access_t_uint256(value, add(value, 0xa0))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0xa0))\n }\n\n end := tail\n }\n\n // struct OracleAttestationData -> struct OracleAttestationData\n function abi_encode_t_struct$_OracleAttestationData_$1124_calldata_ptr_to_t_struct$_OracleAttestationData_$1124_memory_ptr_fromStack(value, pos) -> end {\n let tail := add(pos, 0x60)\n\n {\n // queryId\n\n let memberValue0 := calldata_access_t_bytes32(value, add(value, 0x00))\n abi_encode_t_bytes32_to_t_bytes32(memberValue0, add(pos, 0x00))\n }\n\n {\n // report\n\n let memberValue0 := calldata_access_t_struct$_ReportData_$1137_calldata_ptr(value, add(value, 0x20))\n\n mstore(add(pos, 0x20), sub(tail, pos))\n tail := abi_encode_t_struct$_ReportData_$1137_calldata_ptr_to_t_struct$_ReportData_$1137_memory_ptr(memberValue0, tail)\n\n }\n\n {\n // attestationTimestamp\n\n let memberValue0 := calldata_access_t_uint256(value, add(value, 0x40))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0x40))\n }\n\n end := tail\n }\n\n function array_storeLengthForEncoding_t_array$_t_struct$_Validator_$1149_memory_ptr_$dyn_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function array_dataslot_t_array$_t_struct$_Validator_$1149_calldata_ptr_$dyn_calldata_ptr(ptr) -> data {\n data := ptr\n\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_address(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address(value)\n }\n\n function calldata_access_t_address(baseRef, ptr) -> value {\n value := abi_decode_t_address(ptr, add(ptr, 32))\n }\n\n function abi_encode_t_address_to_t_address(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n // struct Validator -> struct Validator\n function abi_encode_t_struct$_Validator_$1149_calldata_ptr_to_t_struct$_Validator_$1149_memory_ptr(value, pos) {\n let tail := add(pos, 0x40)\n\n {\n // addr\n\n let memberValue0 := calldata_access_t_address(value, add(value, 0x00))\n abi_encode_t_address_to_t_address(memberValue0, add(pos, 0x00))\n }\n\n {\n // power\n\n let memberValue0 := calldata_access_t_uint256(value, add(value, 0x20))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0x20))\n }\n\n }\n\n function abi_encodeUpdatedPos_t_struct$_Validator_$1149_calldata_ptr_to_t_struct$_Validator_$1149_memory_ptr(value0, pos) -> updatedPos {\n abi_encode_t_struct$_Validator_$1149_calldata_ptr_to_t_struct$_Validator_$1149_memory_ptr(value0, pos)\n updatedPos := add(pos, 0x40)\n }\n\n function calldata_access_t_struct$_Validator_$1149_calldata_ptr(baseRef, ptr) -> value {\n value := ptr\n }\n\n function array_nextElement_t_array$_t_struct$_Validator_$1149_calldata_ptr_$dyn_calldata_ptr(ptr) -> next {\n next := add(ptr, 0x40)\n }\n\n // struct Validator[] -> struct Validator[]\n function abi_encode_t_array$_t_struct$_Validator_$1149_calldata_ptr_$dyn_calldata_ptr_to_t_array$_t_struct$_Validator_$1149_memory_ptr_$dyn_memory_ptr_fromStack(value, length, pos) -> end {\n\n pos := array_storeLengthForEncoding_t_array$_t_struct$_Validator_$1149_memory_ptr_$dyn_memory_ptr_fromStack(pos, length)\n let baseRef := array_dataslot_t_array$_t_struct$_Validator_$1149_calldata_ptr_$dyn_calldata_ptr(value)\n let srcPtr := baseRef\n for { let i := 0 } lt(i, length) { i := add(i, 1) }\n {\n let elementValue0 := calldata_access_t_struct$_Validator_$1149_calldata_ptr(baseRef, srcPtr)\n pos := abi_encodeUpdatedPos_t_struct$_Validator_$1149_calldata_ptr_to_t_struct$_Validator_$1149_memory_ptr(elementValue0, pos)\n srcPtr := array_nextElement_t_array$_t_struct$_Validator_$1149_calldata_ptr_$dyn_calldata_ptr(srcPtr)\n }\n end := pos\n }\n\n function array_storeLengthForEncoding_t_array$_t_struct$_Signature_$1144_memory_ptr_$dyn_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function array_dataslot_t_array$_t_struct$_Signature_$1144_calldata_ptr_$dyn_calldata_ptr(ptr) -> data {\n data := ptr\n\n }\n\n function cleanup_t_uint8(value) -> cleaned {\n cleaned := and(value, 0xff)\n }\n\n function validator_revert_t_uint8(value) {\n if iszero(eq(value, cleanup_t_uint8(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint8(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint8(value)\n }\n\n function calldata_access_t_uint8(baseRef, ptr) -> value {\n value := abi_decode_t_uint8(ptr, add(ptr, 32))\n }\n\n function abi_encode_t_uint8_to_t_uint8(value, pos) {\n mstore(pos, cleanup_t_uint8(value))\n }\n\n // struct Signature -> struct Signature\n function abi_encode_t_struct$_Signature_$1144_calldata_ptr_to_t_struct$_Signature_$1144_memory_ptr(value, pos) {\n let tail := add(pos, 0x60)\n\n {\n // v\n\n let memberValue0 := calldata_access_t_uint8(value, add(value, 0x00))\n abi_encode_t_uint8_to_t_uint8(memberValue0, add(pos, 0x00))\n }\n\n {\n // r\n\n let memberValue0 := calldata_access_t_bytes32(value, add(value, 0x20))\n abi_encode_t_bytes32_to_t_bytes32(memberValue0, add(pos, 0x20))\n }\n\n {\n // s\n\n let memberValue0 := calldata_access_t_bytes32(value, add(value, 0x40))\n abi_encode_t_bytes32_to_t_bytes32(memberValue0, add(pos, 0x40))\n }\n\n }\n\n function abi_encodeUpdatedPos_t_struct$_Signature_$1144_calldata_ptr_to_t_struct$_Signature_$1144_memory_ptr(value0, pos) -> updatedPos {\n abi_encode_t_struct$_Signature_$1144_calldata_ptr_to_t_struct$_Signature_$1144_memory_ptr(value0, pos)\n updatedPos := add(pos, 0x60)\n }\n\n function calldata_access_t_struct$_Signature_$1144_calldata_ptr(baseRef, ptr) -> value {\n value := ptr\n }\n\n function array_nextElement_t_array$_t_struct$_Signature_$1144_calldata_ptr_$dyn_calldata_ptr(ptr) -> next {\n next := add(ptr, 0x60)\n }\n\n // struct Signature[] -> struct Signature[]\n function abi_encode_t_array$_t_struct$_Signature_$1144_calldata_ptr_$dyn_calldata_ptr_to_t_array$_t_struct$_Signature_$1144_memory_ptr_$dyn_memory_ptr_fromStack(value, length, pos) -> end {\n\n pos := array_storeLengthForEncoding_t_array$_t_struct$_Signature_$1144_memory_ptr_$dyn_memory_ptr_fromStack(pos, length)\n let baseRef := array_dataslot_t_array$_t_struct$_Signature_$1144_calldata_ptr_$dyn_calldata_ptr(value)\n let srcPtr := baseRef\n for { let i := 0 } lt(i, length) { i := add(i, 1) }\n {\n let elementValue0 := calldata_access_t_struct$_Signature_$1144_calldata_ptr(baseRef, srcPtr)\n pos := abi_encodeUpdatedPos_t_struct$_Signature_$1144_calldata_ptr_to_t_struct$_Signature_$1144_memory_ptr(elementValue0, pos)\n srcPtr := array_nextElement_t_array$_t_struct$_Signature_$1144_calldata_ptr_$dyn_calldata_ptr(srcPtr)\n }\n end := pos\n }\n\n function abi_encode_tuple_t_struct$_OracleAttestationData_$1124_calldata_ptr_t_array$_t_struct$_Validator_$1149_calldata_ptr_$dyn_calldata_ptr_t_array$_t_struct$_Signature_$1144_calldata_ptr_$dyn_calldata_ptr__to_t_struct$_OracleAttestationData_$1124_memory_ptr_t_array$_t_struct$_Validator_$1149_memory_ptr_$dyn_memory_ptr_t_array$_t_struct$_Signature_$1144_memory_ptr_$dyn_memory_ptr__fromStack_reversed(headStart , value4, value3, value2, value1, value0) -> tail {\n tail := add(headStart, 96)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_struct$_OracleAttestationData_$1124_calldata_ptr_to_t_struct$_OracleAttestationData_$1124_memory_ptr_fromStack(value0, tail)\n\n mstore(add(headStart, 32), sub(tail, headStart))\n tail := abi_encode_t_array$_t_struct$_Validator_$1149_calldata_ptr_$dyn_calldata_ptr_to_t_array$_t_struct$_Validator_$1149_memory_ptr_$dyn_memory_ptr_fromStack(value1, value2, tail)\n\n mstore(add(headStart, 64), sub(tail, headStart))\n tail := abi_encode_t_array$_t_struct$_Signature_$1144_calldata_ptr_$dyn_calldata_ptr_to_t_array$_t_struct$_Signature_$1144_memory_ptr_$dyn_memory_ptr_fromStack(value3, value4, tail)\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function store_literal_in_memory_5c98120c2d1113299b49cf447f38c466f541f9e65cb821e4e86f03bd25cc78a8(memPtr) {\n\n mstore(add(memPtr, 0), \"Invalid queryId\")\n\n }\n\n function abi_encode_t_stringliteral_5c98120c2d1113299b49cf447f38c466f541f9e65cb821e4e86f03bd25cc78a8_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 15)\n store_literal_in_memory_5c98120c2d1113299b49cf447f38c466f541f9e65cb821e4e86f03bd25cc78a8(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_5c98120c2d1113299b49cf447f38c466f541f9e65cb821e4e86f03bd25cc78a8__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_5c98120c2d1113299b49cf447f38c466f541f9e65cb821e4e86f03bd25cc78a8_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function revert_error_356d538aaf70fba12156cc466564b792649f8f3befb07b071c91142253e175ad() {\n revert(0, 0)\n }\n\n function revert_error_1e55d03107e9c4f1b5e21c76a16fba166a461117ab153bcce65e6a4ea8e5fc8a() {\n revert(0, 0)\n }\n\n function revert_error_977805620ff29572292dee35f70b0f3f3f73d3fdd0e9f4d7a901c2e43ab18a2e() {\n revert(0, 0)\n }\n\n function access_calldata_tail_t_struct$_ReportData_$1137_calldata_ptr(base_ref, ptr_to_tail) -> addr {\n let rel_offset_of_tail := calldataload(ptr_to_tail)\n if iszero(slt(rel_offset_of_tail, sub(sub(calldatasize(), base_ref), sub(0xc0, 1)))) { revert_error_356d538aaf70fba12156cc466564b792649f8f3befb07b071c91142253e175ad() }\n addr := add(base_ref, rel_offset_of_tail)\n\n }\n\n function access_calldata_tail_t_bytes_calldata_ptr(base_ref, ptr_to_tail) -> addr, length {\n let rel_offset_of_tail := calldataload(ptr_to_tail)\n if iszero(slt(rel_offset_of_tail, sub(sub(calldatasize(), base_ref), sub(0x20, 1)))) { revert_error_356d538aaf70fba12156cc466564b792649f8f3befb07b071c91142253e175ad() }\n addr := add(base_ref, rel_offset_of_tail)\n\n length := calldataload(addr)\n if gt(length, 0xffffffffffffffff) { revert_error_1e55d03107e9c4f1b5e21c76a16fba166a461117ab153bcce65e6a4ea8e5fc8a() }\n addr := add(addr, 32)\n if sgt(addr, sub(calldatasize(), mul(length, 0x01))) { revert_error_977805620ff29572292dee35f70b0f3f3f73d3fdd0e9f4d7a901c2e43ab18a2e() }\n\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function checked_sub_t_uint256(x, y) -> diff {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n diff := sub(x, y)\n\n if gt(diff, x) { panic_error_0x11() }\n\n }\n\n function panic_error_0x32() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x32)\n revert(0, 0x24)\n }\n\n}\n","id":6,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{},"object":"608060405234801561001057600080fd5b50600436106100625760003560e01c80633f1be4d414610067578063413a89b414610085578063578855b2146100a357806361808010146100c1578063770b5414146100dd578063aa4dea00146100fb575b600080fd5b61006f61012c565b60405161007c91906103a3565b60405180910390f35b61008d610132565b60405161009a91906103d7565b60405180910390f35b6100ab61013f565b6040516100b89190610471565b60405180910390f35b6100db60048036038101906100d69190610575565b610163565b005b6100e56102dd565b6040516100f29190610664565b60405180910390f35b610115600480360381019061011091906106ab565b61033c565b6040516101239291906106d8565b60405180910390f35b60015481565b6000600280549050905090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635e0d3b0f86868686866040518663ffffffff1660e01b81526004016101c4959493929190610c31565b60006040518083038186803b1580156101dc57600080fd5b505afa1580156101f0573d6000803e3d6000fd5b5050505084600001356001541461023c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161023390610cde565b60405180910390fd5b600085806020019061024e9190610d0d565b806000019061025d9190610d35565b81019061026a91906106ab565b90506002604051806040016040528083815260200188806020019061028f9190610d0d565b60200135815250908060018154018082558091505060019003906000526020600020906002020160009091909190915060008201518160000155602082015181600101555050505050505050565b6102e5610370565b600260016002805490506102f99190610dc7565b8154811061030a57610309610dfb565b5b906000526020600020906002020160405180604001604052908160008201548152602001600182015481525050905090565b6002818154811061034c57600080fd5b90600052602060002090600202016000915090508060000154908060010154905082565b604051806040016040528060008152602001600081525090565b6000819050919050565b61039d8161038a565b82525050565b60006020820190506103b86000830184610394565b92915050565b6000819050919050565b6103d1816103be565b82525050565b60006020820190506103ec60008301846103c8565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600061043761043261042d846103f2565b610412565b6103f2565b9050919050565b60006104498261041c565b9050919050565b600061045b8261043e565b9050919050565b61046b81610450565b82525050565b60006020820190506104866000830184610462565b92915050565b600080fd5b600080fd5b600080fd5b6000606082840312156104b1576104b0610496565b5b81905092915050565b600080fd5b600080fd5b600080fd5b60008083601f8401126104df576104de6104ba565b5b8235905067ffffffffffffffff8111156104fc576104fb6104bf565b5b602083019150836040820283011115610518576105176104c4565b5b9250929050565b60008083601f840112610535576105346104ba565b5b8235905067ffffffffffffffff811115610552576105516104bf565b5b60208301915083606082028301111561056e5761056d6104c4565b5b9250929050565b6000806000806000606086880312156105915761059061048c565b5b600086013567ffffffffffffffff8111156105af576105ae610491565b5b6105bb8882890161049b565b955050602086013567ffffffffffffffff8111156105dc576105db610491565b5b6105e8888289016104c9565b9450945050604086013567ffffffffffffffff81111561060b5761060a610491565b5b6106178882890161051f565b92509250509295509295909350565b61062f816103be565b82525050565b60408201600082015161064b6000850182610626565b50602082015161065e6020850182610626565b50505050565b60006040820190506106796000830184610635565b92915050565b610688816103be565b811461069357600080fd5b50565b6000813590506106a58161067f565b92915050565b6000602082840312156106c1576106c061048c565b5b60006106cf84828501610696565b91505092915050565b60006040820190506106ed60008301856103c8565b6106fa60208301846103c8565b9392505050565b61070a8161038a565b811461071557600080fd5b50565b60008135905061072781610701565b92915050565b600061073c6020840184610718565b905092915050565b61074d8161038a565b82525050565b600080fd5b60008235600160c00383360303811261077457610773610753565b5b82810191505092915050565b600080fd5b600080fd5b600080833560016020038436030381126107a7576107a6610753565b5b83810192508235915060208301925067ffffffffffffffff8211156107cf576107ce610780565b5b6001820236038313156107e5576107e4610785565b5b509250929050565b600082825260208201905092915050565b82818337600083830152505050565b6000601f19601f8301169050919050565b600061082a83856107ed565b93506108378385846107fe565b6108408361080d565b840190509392505050565b600061085a6020840184610696565b905092915050565b600060c08301610875600084018461078a565b858303600087015261088883828461081e565b92505050610899602084018461084b565b6108a66020860182610626565b506108b4604084018461084b565b6108c16040860182610626565b506108cf606084018461084b565b6108dc6060860182610626565b506108ea608084018461084b565b6108f76080860182610626565b5061090560a084018461084b565b61091260a0860182610626565b508091505092915050565b600060608301610930600084018461072d565b61093d6000860182610744565b5061094b6020840184610758565b848203602086015261095d8282610862565b91505061096d604084018461084b565b61097a6040860182610626565b508091505092915050565b600082825260208201905092915050565b6000819050919050565b60006109ab826103f2565b9050919050565b6109bb816109a0565b81146109c657600080fd5b50565b6000813590506109d8816109b2565b92915050565b60006109ed60208401846109c9565b905092915050565b6109fe816109a0565b82525050565b60408201610a1560008301836109de565b610a2260008501826109f5565b50610a30602083018361084b565b610a3d6020850182610626565b50505050565b6000610a4f8383610a04565b60408301905092915050565b600082905092915050565b6000604082019050919050565b6000610a7f8385610985565b9350610a8a82610996565b8060005b85811015610ac357610aa08284610a5b565b610aaa8882610a43565b9750610ab583610a66565b925050600181019050610a8e565b5085925050509392505050565b600082825260208201905092915050565b6000819050919050565b600060ff82169050919050565b610b0181610aeb565b8114610b0c57600080fd5b50565b600081359050610b1e81610af8565b92915050565b6000610b336020840184610b0f565b905092915050565b610b4481610aeb565b82525050565b60608201610b5b6000830183610b24565b610b686000850182610b3b565b50610b76602083018361072d565b610b836020850182610744565b50610b91604083018361072d565b610b9e6040850182610744565b50505050565b6000610bb08383610b4a565b60608301905092915050565b600082905092915050565b6000606082019050919050565b6000610be08385610ad0565b9350610beb82610ae1565b8060005b85811015610c2457610c018284610bbc565b610c0b8882610ba4565b9750610c1683610bc7565b925050600181019050610bef565b5085925050509392505050565b60006060820190508181036000830152610c4b818861091d565b90508181036020830152610c60818688610a73565b90508181036040830152610c75818486610bd4565b90509695505050505050565b600082825260208201905092915050565b7f496e76616c696420717565727949640000000000000000000000000000000000600082015250565b6000610cc8600f83610c81565b9150610cd382610c92565b602082019050919050565b60006020820190508181036000830152610cf781610cbb565b9050919050565b600080fd5b600080fd5b600080fd5b60008235600160c003833603038112610d2957610d28610cfe565b5b80830191505092915050565b60008083356001602003843603038112610d5257610d51610cfe565b5b80840192508235915067ffffffffffffffff821115610d7457610d73610d03565b5b602083019250600182023603831315610d9057610d8f610d08565b5b509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610dd2826103be565b9150610ddd836103be565b9250828203905081811115610df557610df4610d98565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fdfea26469706673582212206730b1a15e2a445e71bcab434786396948d6bbd4a1f58f8c658833ed2c988e7264736f6c63430008130033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x62 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x3F1BE4D4 EQ PUSH2 0x67 JUMPI DUP1 PUSH4 0x413A89B4 EQ PUSH2 0x85 JUMPI DUP1 PUSH4 0x578855B2 EQ PUSH2 0xA3 JUMPI DUP1 PUSH4 0x61808010 EQ PUSH2 0xC1 JUMPI DUP1 PUSH4 0x770B5414 EQ PUSH2 0xDD JUMPI DUP1 PUSH4 0xAA4DEA00 EQ PUSH2 0xFB JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x6F PUSH2 0x12C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x7C SWAP2 SWAP1 PUSH2 0x3A3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x8D PUSH2 0x132 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x9A SWAP2 SWAP1 PUSH2 0x3D7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xAB PUSH2 0x13F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xB8 SWAP2 SWAP1 PUSH2 0x471 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xDB PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xD6 SWAP2 SWAP1 PUSH2 0x575 JUMP JUMPDEST PUSH2 0x163 JUMP JUMPDEST STOP JUMPDEST PUSH2 0xE5 PUSH2 0x2DD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xF2 SWAP2 SWAP1 PUSH2 0x664 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x115 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x110 SWAP2 SWAP1 PUSH2 0x6AB JUMP JUMPDEST PUSH2 0x33C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x123 SWAP3 SWAP2 SWAP1 PUSH2 0x6D8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP1 SLOAD SWAP1 POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x5E0D3B0F DUP7 DUP7 DUP7 DUP7 DUP7 PUSH1 0x40 MLOAD DUP7 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1C4 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0xC31 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1DC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1F0 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP DUP5 PUSH1 0x0 ADD CALLDATALOAD PUSH1 0x1 SLOAD EQ PUSH2 0x23C JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x233 SWAP1 PUSH2 0xCDE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP6 DUP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x24E SWAP2 SWAP1 PUSH2 0xD0D JUMP JUMPDEST DUP1 PUSH1 0x0 ADD SWAP1 PUSH2 0x25D SWAP2 SWAP1 PUSH2 0xD35 JUMP JUMPDEST DUP2 ADD SWAP1 PUSH2 0x26A SWAP2 SWAP1 PUSH2 0x6AB JUMP JUMPDEST SWAP1 POP PUSH1 0x2 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 DUP4 DUP2 MSTORE PUSH1 0x20 ADD DUP9 DUP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x28F SWAP2 SWAP1 PUSH2 0xD0D JUMP JUMPDEST PUSH1 0x20 ADD CALLDATALOAD DUP2 MSTORE POP SWAP1 DUP1 PUSH1 0x1 DUP2 SLOAD ADD DUP1 DUP3 SSTORE DUP1 SWAP2 POP POP PUSH1 0x1 SWAP1 SUB SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x2 MUL ADD PUSH1 0x0 SWAP1 SWAP2 SWAP1 SWAP2 SWAP1 SWAP2 POP PUSH1 0x0 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD SSTORE PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD SSTORE POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x2E5 PUSH2 0x370 JUMP JUMPDEST PUSH1 0x2 PUSH1 0x1 PUSH1 0x2 DUP1 SLOAD SWAP1 POP PUSH2 0x2F9 SWAP2 SWAP1 PUSH2 0xDC7 JUMP JUMPDEST DUP2 SLOAD DUP2 LT PUSH2 0x30A JUMPI PUSH2 0x309 PUSH2 0xDFB JUMP JUMPDEST JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x2 MUL ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE SWAP1 DUP2 PUSH1 0x0 DUP3 ADD SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD SLOAD DUP2 MSTORE POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x2 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x34C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x2 MUL ADD PUSH1 0x0 SWAP2 POP SWAP1 POP DUP1 PUSH1 0x0 ADD SLOAD SWAP1 DUP1 PUSH1 0x1 ADD SLOAD SWAP1 POP DUP3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x39D DUP2 PUSH2 0x38A JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x3B8 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x394 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x3D1 DUP2 PUSH2 0x3BE JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x3EC PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x3C8 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x437 PUSH2 0x432 PUSH2 0x42D DUP5 PUSH2 0x3F2 JUMP JUMPDEST PUSH2 0x412 JUMP JUMPDEST PUSH2 0x3F2 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x449 DUP3 PUSH2 0x41C JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x45B DUP3 PUSH2 0x43E JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x46B DUP2 PUSH2 0x450 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x486 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x462 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4B1 JUMPI PUSH2 0x4B0 PUSH2 0x496 JUMP JUMPDEST JUMPDEST DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0x4DF JUMPI PUSH2 0x4DE PUSH2 0x4BA JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x4FC JUMPI PUSH2 0x4FB PUSH2 0x4BF JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x40 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0x518 JUMPI PUSH2 0x517 PUSH2 0x4C4 JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0x535 JUMPI PUSH2 0x534 PUSH2 0x4BA JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x552 JUMPI PUSH2 0x551 PUSH2 0x4BF JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x60 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0x56E JUMPI PUSH2 0x56D PUSH2 0x4C4 JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x591 JUMPI PUSH2 0x590 PUSH2 0x48C JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x5AF JUMPI PUSH2 0x5AE PUSH2 0x491 JUMP JUMPDEST JUMPDEST PUSH2 0x5BB DUP9 DUP3 DUP10 ADD PUSH2 0x49B JUMP JUMPDEST SWAP6 POP POP PUSH1 0x20 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x5DC JUMPI PUSH2 0x5DB PUSH2 0x491 JUMP JUMPDEST JUMPDEST PUSH2 0x5E8 DUP9 DUP3 DUP10 ADD PUSH2 0x4C9 JUMP JUMPDEST SWAP5 POP SWAP5 POP POP PUSH1 0x40 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x60B JUMPI PUSH2 0x60A PUSH2 0x491 JUMP JUMPDEST JUMPDEST PUSH2 0x617 DUP9 DUP3 DUP10 ADD PUSH2 0x51F JUMP JUMPDEST SWAP3 POP SWAP3 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH2 0x62F DUP2 PUSH2 0x3BE JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x40 DUP3 ADD PUSH1 0x0 DUP3 ADD MLOAD PUSH2 0x64B PUSH1 0x0 DUP6 ADD DUP3 PUSH2 0x626 JUMP JUMPDEST POP PUSH1 0x20 DUP3 ADD MLOAD PUSH2 0x65E PUSH1 0x20 DUP6 ADD DUP3 PUSH2 0x626 JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x679 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x635 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x688 DUP2 PUSH2 0x3BE JUMP JUMPDEST DUP2 EQ PUSH2 0x693 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x6A5 DUP2 PUSH2 0x67F JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x6C1 JUMPI PUSH2 0x6C0 PUSH2 0x48C JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x6CF DUP5 DUP3 DUP6 ADD PUSH2 0x696 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x6ED PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x3C8 JUMP JUMPDEST PUSH2 0x6FA PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x3C8 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0x70A DUP2 PUSH2 0x38A JUMP JUMPDEST DUP2 EQ PUSH2 0x715 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x727 DUP2 PUSH2 0x701 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x73C PUSH1 0x20 DUP5 ADD DUP5 PUSH2 0x718 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x74D DUP2 PUSH2 0x38A JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP3 CALLDATALOAD PUSH1 0x1 PUSH1 0xC0 SUB DUP4 CALLDATASIZE SUB SUB DUP2 SLT PUSH2 0x774 JUMPI PUSH2 0x773 PUSH2 0x753 JUMP JUMPDEST JUMPDEST DUP3 DUP2 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP4 CALLDATALOAD PUSH1 0x1 PUSH1 0x20 SUB DUP5 CALLDATASIZE SUB SUB DUP2 SLT PUSH2 0x7A7 JUMPI PUSH2 0x7A6 PUSH2 0x753 JUMP JUMPDEST JUMPDEST DUP4 DUP2 ADD SWAP3 POP DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD SWAP3 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x7CF JUMPI PUSH2 0x7CE PUSH2 0x780 JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 MUL CALLDATASIZE SUB DUP4 SGT ISZERO PUSH2 0x7E5 JUMPI PUSH2 0x7E4 PUSH2 0x785 JUMP JUMPDEST JUMPDEST POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x82A DUP4 DUP6 PUSH2 0x7ED JUMP JUMPDEST SWAP4 POP PUSH2 0x837 DUP4 DUP6 DUP5 PUSH2 0x7FE JUMP JUMPDEST PUSH2 0x840 DUP4 PUSH2 0x80D JUMP JUMPDEST DUP5 ADD SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x85A PUSH1 0x20 DUP5 ADD DUP5 PUSH2 0x696 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xC0 DUP4 ADD PUSH2 0x875 PUSH1 0x0 DUP5 ADD DUP5 PUSH2 0x78A JUMP JUMPDEST DUP6 DUP4 SUB PUSH1 0x0 DUP8 ADD MSTORE PUSH2 0x888 DUP4 DUP3 DUP5 PUSH2 0x81E JUMP JUMPDEST SWAP3 POP POP POP PUSH2 0x899 PUSH1 0x20 DUP5 ADD DUP5 PUSH2 0x84B JUMP JUMPDEST PUSH2 0x8A6 PUSH1 0x20 DUP7 ADD DUP3 PUSH2 0x626 JUMP JUMPDEST POP PUSH2 0x8B4 PUSH1 0x40 DUP5 ADD DUP5 PUSH2 0x84B JUMP JUMPDEST PUSH2 0x8C1 PUSH1 0x40 DUP7 ADD DUP3 PUSH2 0x626 JUMP JUMPDEST POP PUSH2 0x8CF PUSH1 0x60 DUP5 ADD DUP5 PUSH2 0x84B JUMP JUMPDEST PUSH2 0x8DC PUSH1 0x60 DUP7 ADD DUP3 PUSH2 0x626 JUMP JUMPDEST POP PUSH2 0x8EA PUSH1 0x80 DUP5 ADD DUP5 PUSH2 0x84B JUMP JUMPDEST PUSH2 0x8F7 PUSH1 0x80 DUP7 ADD DUP3 PUSH2 0x626 JUMP JUMPDEST POP PUSH2 0x905 PUSH1 0xA0 DUP5 ADD DUP5 PUSH2 0x84B JUMP JUMPDEST PUSH2 0x912 PUSH1 0xA0 DUP7 ADD DUP3 PUSH2 0x626 JUMP JUMPDEST POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP4 ADD PUSH2 0x930 PUSH1 0x0 DUP5 ADD DUP5 PUSH2 0x72D JUMP JUMPDEST PUSH2 0x93D PUSH1 0x0 DUP7 ADD DUP3 PUSH2 0x744 JUMP JUMPDEST POP PUSH2 0x94B PUSH1 0x20 DUP5 ADD DUP5 PUSH2 0x758 JUMP JUMPDEST DUP5 DUP3 SUB PUSH1 0x20 DUP7 ADD MSTORE PUSH2 0x95D DUP3 DUP3 PUSH2 0x862 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x96D PUSH1 0x40 DUP5 ADD DUP5 PUSH2 0x84B JUMP JUMPDEST PUSH2 0x97A PUSH1 0x40 DUP7 ADD DUP3 PUSH2 0x626 JUMP JUMPDEST POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x9AB DUP3 PUSH2 0x3F2 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x9BB DUP2 PUSH2 0x9A0 JUMP JUMPDEST DUP2 EQ PUSH2 0x9C6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x9D8 DUP2 PUSH2 0x9B2 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x9ED PUSH1 0x20 DUP5 ADD DUP5 PUSH2 0x9C9 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x9FE DUP2 PUSH2 0x9A0 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x40 DUP3 ADD PUSH2 0xA15 PUSH1 0x0 DUP4 ADD DUP4 PUSH2 0x9DE JUMP JUMPDEST PUSH2 0xA22 PUSH1 0x0 DUP6 ADD DUP3 PUSH2 0x9F5 JUMP JUMPDEST POP PUSH2 0xA30 PUSH1 0x20 DUP4 ADD DUP4 PUSH2 0x84B JUMP JUMPDEST PUSH2 0xA3D PUSH1 0x20 DUP6 ADD DUP3 PUSH2 0x626 JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xA4F DUP4 DUP4 PUSH2 0xA04 JUMP JUMPDEST PUSH1 0x40 DUP4 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xA7F DUP4 DUP6 PUSH2 0x985 JUMP JUMPDEST SWAP4 POP PUSH2 0xA8A DUP3 PUSH2 0x996 JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0xAC3 JUMPI PUSH2 0xAA0 DUP3 DUP5 PUSH2 0xA5B JUMP JUMPDEST PUSH2 0xAAA DUP9 DUP3 PUSH2 0xA43 JUMP JUMPDEST SWAP8 POP PUSH2 0xAB5 DUP4 PUSH2 0xA66 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0xA8E JUMP JUMPDEST POP DUP6 SWAP3 POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xB01 DUP2 PUSH2 0xAEB JUMP JUMPDEST DUP2 EQ PUSH2 0xB0C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xB1E DUP2 PUSH2 0xAF8 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xB33 PUSH1 0x20 DUP5 ADD DUP5 PUSH2 0xB0F JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xB44 DUP2 PUSH2 0xAEB JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x60 DUP3 ADD PUSH2 0xB5B PUSH1 0x0 DUP4 ADD DUP4 PUSH2 0xB24 JUMP JUMPDEST PUSH2 0xB68 PUSH1 0x0 DUP6 ADD DUP3 PUSH2 0xB3B JUMP JUMPDEST POP PUSH2 0xB76 PUSH1 0x20 DUP4 ADD DUP4 PUSH2 0x72D JUMP JUMPDEST PUSH2 0xB83 PUSH1 0x20 DUP6 ADD DUP3 PUSH2 0x744 JUMP JUMPDEST POP PUSH2 0xB91 PUSH1 0x40 DUP4 ADD DUP4 PUSH2 0x72D JUMP JUMPDEST PUSH2 0xB9E PUSH1 0x40 DUP6 ADD DUP3 PUSH2 0x744 JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xBB0 DUP4 DUP4 PUSH2 0xB4A JUMP JUMPDEST PUSH1 0x60 DUP4 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xBE0 DUP4 DUP6 PUSH2 0xAD0 JUMP JUMPDEST SWAP4 POP PUSH2 0xBEB DUP3 PUSH2 0xAE1 JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0xC24 JUMPI PUSH2 0xC01 DUP3 DUP5 PUSH2 0xBBC JUMP JUMPDEST PUSH2 0xC0B DUP9 DUP3 PUSH2 0xBA4 JUMP JUMPDEST SWAP8 POP PUSH2 0xC16 DUP4 PUSH2 0xBC7 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0xBEF JUMP JUMPDEST POP DUP6 SWAP3 POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xC4B DUP2 DUP9 PUSH2 0x91D JUMP JUMPDEST SWAP1 POP DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0xC60 DUP2 DUP7 DUP9 PUSH2 0xA73 JUMP JUMPDEST SWAP1 POP DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0xC75 DUP2 DUP5 DUP7 PUSH2 0xBD4 JUMP JUMPDEST SWAP1 POP SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x496E76616C696420717565727949640000000000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xCC8 PUSH1 0xF DUP4 PUSH2 0xC81 JUMP JUMPDEST SWAP2 POP PUSH2 0xCD3 DUP3 PUSH2 0xC92 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xCF7 DUP2 PUSH2 0xCBB JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP3 CALLDATALOAD PUSH1 0x1 PUSH1 0xC0 SUB DUP4 CALLDATASIZE SUB SUB DUP2 SLT PUSH2 0xD29 JUMPI PUSH2 0xD28 PUSH2 0xCFE JUMP JUMPDEST JUMPDEST DUP1 DUP4 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 CALLDATALOAD PUSH1 0x1 PUSH1 0x20 SUB DUP5 CALLDATASIZE SUB SUB DUP2 SLT PUSH2 0xD52 JUMPI PUSH2 0xD51 PUSH2 0xCFE JUMP JUMPDEST JUMPDEST DUP1 DUP5 ADD SWAP3 POP DUP3 CALLDATALOAD SWAP2 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0xD74 JUMPI PUSH2 0xD73 PUSH2 0xD03 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP3 POP PUSH1 0x1 DUP3 MUL CALLDATASIZE SUB DUP4 SGT ISZERO PUSH2 0xD90 JUMPI PUSH2 0xD8F PUSH2 0xD08 JUMP JUMPDEST JUMPDEST POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0xDD2 DUP3 PUSH2 0x3BE JUMP JUMPDEST SWAP2 POP PUSH2 0xDDD DUP4 PUSH2 0x3BE JUMP JUMPDEST SWAP3 POP DUP3 DUP3 SUB SWAP1 POP DUP2 DUP2 GT ISZERO PUSH2 0xDF5 JUMPI PUSH2 0xDF4 PUSH2 0xD98 JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH8 0x30B1A15E2A445E71 0xBC 0xAB NUMBER SELFBALANCE DUP7 CODECOPY PUSH10 0x48D6BBD4A1F58F8C6588 CALLER 0xED 0x2C SWAP9 DUP15 PUSH19 0x64736F6C634300081300330000000000000000 ","sourceMap":"277:1504:2:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;348:22;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1681:98;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;307:35;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;821:639;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1502:125;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;376:30;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;348:22;;;;:::o;1681:98::-;1729:7;1755:10;:17;;;;1748:24;;1681:98;:::o;307:35::-;;;;;;;;;;;;:::o;821:639::-;1062:10;;;;;;;;;;:27;;;1090:11;1103:20;;1125:5;;1062:69;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1224:11;:19;;;1213:7;;:30;1205:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;1314:14;1342:11;:18;;;;;;;;:::i;:::-;:24;;;;;;;;:::i;:::-;1331:47;;;;;;;:::i;:::-;1314:64;;1388:10;1404:48;;;;;;;;1415:6;1404:48;;;;1423:11;:18;;;;;;;;:::i;:::-;:28;;;1404:48;;;1388:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1001:459;821:639;;;;;:::o;1502:125::-;1551:17;;:::i;:::-;1587:10;1618:1;1598:10;:17;;;;:21;;;;:::i;:::-;1587:33;;;;;;;;:::i;:::-;;;;;;;;;;;;1580:40;;;;;;;;;;;;;;;;;;;;;;;;;;;1502:125;:::o;376:30::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;:::o;7:77:6:-;44:7;73:5;62:16;;7:77;;;:::o;90:118::-;177:24;195:5;177:24;:::i;:::-;172:3;165:37;90:118;;:::o;214:222::-;307:4;345:2;334:9;330:18;322:26;;358:71;426:1;415:9;411:17;402:6;358:71;:::i;:::-;214:222;;;;:::o;442:77::-;479:7;508:5;497:16;;442:77;;;:::o;525:118::-;612:24;630:5;612:24;:::i;:::-;607:3;600:37;525:118;;:::o;649:222::-;742:4;780:2;769:9;765:18;757:26;;793:71;861:1;850:9;846:17;837:6;793:71;:::i;:::-;649:222;;;;:::o;877:126::-;914:7;954:42;947:5;943:54;932:65;;877:126;;;:::o;1009:60::-;1037:3;1058:5;1051:12;;1009:60;;;:::o;1075:142::-;1125:9;1158:53;1176:34;1185:24;1203:5;1185:24;:::i;:::-;1176:34;:::i;:::-;1158:53;:::i;:::-;1145:66;;1075:142;;;:::o;1223:126::-;1273:9;1306:37;1337:5;1306:37;:::i;:::-;1293:50;;1223:126;;;:::o;1355:152::-;1431:9;1464:37;1495:5;1464:37;:::i;:::-;1451:50;;1355:152;;;:::o;1513:183::-;1626:63;1683:5;1626:63;:::i;:::-;1621:3;1614:76;1513:183;;:::o;1702:274::-;1821:4;1859:2;1848:9;1844:18;1836:26;;1872:97;1966:1;1955:9;1951:17;1942:6;1872:97;:::i;:::-;1702:274;;;;:::o;2063:117::-;2172:1;2169;2162:12;2186:117;2295:1;2292;2285:12;2309:117;2418:1;2415;2408:12;2468:245;2555:5;2596:2;2587:6;2582:3;2578:16;2574:25;2571:112;;;2602:79;;:::i;:::-;2571:112;2701:6;2692:15;;2468:245;;;;:::o;2719:117::-;2828:1;2825;2818:12;2842:117;2951:1;2948;2941:12;2965:117;3074:1;3071;3064:12;3114:597;3216:8;3226:6;3276:3;3269:4;3261:6;3257:17;3253:27;3243:122;;3284:79;;:::i;:::-;3243:122;3397:6;3384:20;3374:30;;3427:18;3419:6;3416:30;3413:117;;;3449:79;;:::i;:::-;3413:117;3563:4;3555:6;3551:17;3539:29;;3617:3;3609:4;3601:6;3597:17;3587:8;3583:32;3580:41;3577:128;;;3624:79;;:::i;:::-;3577:128;3114:597;;;;;:::o;3743:::-;3845:8;3855:6;3905:3;3898:4;3890:6;3886:17;3882:27;3872:122;;3913:79;;:::i;:::-;3872:122;4026:6;4013:20;4003:30;;4056:18;4048:6;4045:30;4042:117;;;4078:79;;:::i;:::-;4042:117;4192:4;4184:6;4180:17;4168:29;;4246:3;4238:4;4230:6;4226:17;4216:8;4212:32;4209:41;4206:128;;;4253:79;;:::i;:::-;4206:128;3743:597;;;;;:::o;4346:1437::-;4576:6;4584;4592;4600;4608;4657:2;4645:9;4636:7;4632:23;4628:32;4625:119;;;4663:79;;:::i;:::-;4625:119;4811:1;4800:9;4796:17;4783:31;4841:18;4833:6;4830:30;4827:117;;;4863:79;;:::i;:::-;4827:117;4968:94;5054:7;5045:6;5034:9;5030:22;4968:94;:::i;:::-;4958:104;;4754:318;5139:2;5128:9;5124:18;5111:32;5170:18;5162:6;5159:30;5156:117;;;5192:79;;:::i;:::-;5156:117;5305:109;5406:7;5397:6;5386:9;5382:22;5305:109;:::i;:::-;5287:127;;;;5082:342;5491:2;5480:9;5476:18;5463:32;5522:18;5514:6;5511:30;5508:117;;;5544:79;;:::i;:::-;5508:117;5657:109;5758:7;5749:6;5738:9;5734:22;5657:109;:::i;:::-;5639:127;;;;5434:342;4346:1437;;;;;;;;:::o;5789:108::-;5866:24;5884:5;5866:24;:::i;:::-;5861:3;5854:37;5789:108;;:::o;5979:517::-;6130:4;6125:3;6121:14;6218:4;6211:5;6207:16;6201:23;6237:63;6294:4;6289:3;6285:14;6271:12;6237:63;:::i;:::-;6145:165;6397:4;6390:5;6386:16;6380:23;6416:63;6473:4;6468:3;6464:14;6450:12;6416:63;:::i;:::-;6320:169;6099:397;5979:517;;:::o;6502:330::-;6649:4;6687:2;6676:9;6672:18;6664:26;;6700:125;6822:1;6811:9;6807:17;6798:6;6700:125;:::i;:::-;6502:330;;;;:::o;6838:122::-;6911:24;6929:5;6911:24;:::i;:::-;6904:5;6901:35;6891:63;;6950:1;6947;6940:12;6891:63;6838:122;:::o;6966:139::-;7012:5;7050:6;7037:20;7028:29;;7066:33;7093:5;7066:33;:::i;:::-;6966:139;;;;:::o;7111:329::-;7170:6;7219:2;7207:9;7198:7;7194:23;7190:32;7187:119;;;7225:79;;:::i;:::-;7187:119;7345:1;7370:53;7415:7;7406:6;7395:9;7391:22;7370:53;:::i;:::-;7360:63;;7316:117;7111:329;;;;:::o;7446:332::-;7567:4;7605:2;7594:9;7590:18;7582:26;;7618:71;7686:1;7675:9;7671:17;7662:6;7618:71;:::i;:::-;7699:72;7767:2;7756:9;7752:18;7743:6;7699:72;:::i;:::-;7446:332;;;;;:::o;7784:122::-;7857:24;7875:5;7857:24;:::i;:::-;7850:5;7847:35;7837:63;;7896:1;7893;7886:12;7837:63;7784:122;:::o;7912:139::-;7958:5;7996:6;7983:20;7974:29;;8012:33;8039:5;8012:33;:::i;:::-;7912:139;;;;:::o;8057:122::-;8109:5;8134:39;8169:2;8164:3;8160:12;8155:3;8134:39;:::i;:::-;8125:48;;8057:122;;;;:::o;8185:108::-;8262:24;8280:5;8262:24;:::i;:::-;8257:3;8250:37;8185:108;;:::o;8299:117::-;8408:1;8405;8398:12;8422:377;8505:5;8560:3;8547:17;8652:1;8646:4;8642:12;8631:8;8615:14;8611:29;8607:48;8587:18;8583:73;8573:168;;8660:79;;:::i;:::-;8573:168;8783:8;8763:18;8759:33;8750:42;;8511:288;8422:377;;;;:::o;8805:117::-;8914:1;8911;8904:12;8928:117;9037:1;9034;9027:12;9051:711;9115:5;9122:6;9178:3;9165:17;9270:1;9264:4;9260:12;9249:8;9233:14;9229:29;9225:48;9205:18;9201:73;9191:168;;9278:79;;:::i;:::-;9191:168;9401:8;9381:18;9377:33;9368:42;;9443:5;9430:19;9420:29;;9478:4;9471:5;9467:16;9458:25;;9506:18;9498:6;9495:30;9492:117;;;9528:79;;:::i;:::-;9492:117;9664:4;9656:6;9652:17;9636:14;9632:38;9625:5;9621:50;9618:137;;;9674:79;;:::i;:::-;9618:137;9129:633;9051:711;;;;;:::o;9768:158::-;9841:11;9875:6;9870:3;9863:19;9915:4;9910:3;9906:14;9891:29;;9768:158;;;;:::o;9932:146::-;10029:6;10024:3;10019;10006:30;10070:1;10061:6;10056:3;10052:16;10045:27;9932:146;;;:::o;10084:102::-;10125:6;10176:2;10172:7;10167:2;10160:5;10156:14;10152:28;10142:38;;10084:102;;;:::o;10214:294::-;10300:3;10321:60;10374:6;10369:3;10321:60;:::i;:::-;10314:67;;10391:56;10440:6;10435:3;10428:5;10391:56;:::i;:::-;10472:29;10494:6;10472:29;:::i;:::-;10467:3;10463:39;10456:46;;10214:294;;;;;:::o;10514:122::-;10566:5;10591:39;10626:2;10621:3;10617:12;10612:3;10591:39;:::i;:::-;10582:48;;10514:122;;;;:::o;10688:1557::-;10805:3;10841:4;10836:3;10832:14;10926:61;10981:4;10974:5;10970:16;10963:5;10926:61;:::i;:::-;11034:3;11028:4;11024:14;11017:4;11012:3;11008:14;11001:38;11060:87;11142:4;11128:12;11114;11060:87;:::i;:::-;11052:95;;10856:302;;11228:50;11272:4;11265:5;11261:16;11254:5;11228:50;:::i;:::-;11291:63;11348:4;11343:3;11339:14;11325:12;11291:63;:::i;:::-;11168:196;11439:50;11483:4;11476:5;11472:16;11465:5;11439:50;:::i;:::-;11502:63;11559:4;11554:3;11550:14;11536:12;11502:63;:::i;:::-;11374:201;11653:50;11697:4;11690:5;11686:16;11679:5;11653:50;:::i;:::-;11716:63;11773:4;11768:3;11764:14;11750:12;11716:63;:::i;:::-;11585:204;11863:50;11907:4;11900:5;11896:16;11889:5;11863:50;:::i;:::-;11926:63;11983:4;11978:3;11974:14;11960:12;11926:63;:::i;:::-;11799:200;12082:50;12126:4;12119:5;12115:16;12108:5;12082:50;:::i;:::-;12145:63;12202:4;12197:3;12193:14;12179:12;12145:63;:::i;:::-;12009:209;12235:4;12228:11;;10810:1435;10688:1557;;;;:::o;12319:980::-;12468:3;12504:4;12499:3;12495:14;12577:50;12621:4;12614:5;12610:16;12603:5;12577:50;:::i;:::-;12640:63;12697:4;12692:3;12688:14;12674:12;12640:63;:::i;:::-;12519:194;12780:80;12854:4;12847:5;12843:16;12836:5;12780:80;:::i;:::-;12907:3;12901:4;12897:14;12890:4;12885:3;12881:14;12874:38;12933:111;13039:4;13025:12;12933:111;:::i;:::-;12925:119;;12723:332;13136:50;13180:4;13173:5;13169:16;13162:5;13136:50;:::i;:::-;13199:63;13256:4;13251:3;13247:14;13233:12;13199:63;:::i;:::-;13065:207;13289:4;13282:11;;12473:826;12319:980;;;;:::o;13305:211::-;13431:11;13465:6;13460:3;13453:19;13505:4;13500:3;13496:14;13481:29;;13305:211;;;;:::o;13522:131::-;13620:4;13643:3;13635:11;;13522:131;;;:::o;13659:96::-;13696:7;13725:24;13743:5;13725:24;:::i;:::-;13714:35;;13659:96;;;:::o;13761:122::-;13834:24;13852:5;13834:24;:::i;:::-;13827:5;13824:35;13814:63;;13873:1;13870;13863:12;13814:63;13761:122;:::o;13889:139::-;13935:5;13973:6;13960:20;13951:29;;13989:33;14016:5;13989:33;:::i;:::-;13889:139;;;;:::o;14034:122::-;14086:5;14111:39;14146:2;14141:3;14137:12;14132:3;14111:39;:::i;:::-;14102:48;;14034:122;;;;:::o;14162:108::-;14239:24;14257:5;14239:24;:::i;:::-;14234:3;14227:37;14162:108;;:::o;14320:558::-;14463:4;14458:3;14454:14;14533:50;14577:4;14570:5;14566:16;14559:5;14533:50;:::i;:::-;14596:63;14653:4;14648:3;14644:14;14630:12;14596:63;:::i;:::-;14478:191;14735:50;14779:4;14772:5;14768:16;14761:5;14735:50;:::i;:::-;14798:63;14855:4;14850:3;14846:14;14832:12;14798:63;:::i;:::-;14679:192;14432:446;14320:558;;:::o;14884:291::-;15009:10;15030:102;15128:3;15120:6;15030:102;:::i;:::-;15164:4;15159:3;15155:14;15141:28;;14884:291;;;;:::o;15181:115::-;15262:5;15287:3;15278:12;;15181:115;;;;:::o;15302:144::-;15403:4;15435;15430:3;15426:14;15418:22;;15302:144;;;:::o;15500:925::-;15685:3;15708:113;15814:6;15809:3;15708:113;:::i;:::-;15701:120;;15845:87;15926:5;15845:87;:::i;:::-;15955:7;15986:1;15971:429;15996:6;15993:1;15990:13;15971:429;;;16066:71;16130:6;16121:7;16066:71;:::i;:::-;16157:119;16272:3;16257:13;16157:119;:::i;:::-;16150:126;;16299:91;16383:6;16299:91;:::i;:::-;16289:101;;16031:369;16018:1;16015;16011:9;16006:14;;15971:429;;;15975:14;16416:3;16409:10;;15690:735;;15500:925;;;;;:::o;16431:211::-;16557:11;16591:6;16586:3;16579:19;16631:4;16626:3;16622:14;16607:29;;16431:211;;;;:::o;16648:131::-;16746:4;16769:3;16761:11;;16648:131;;;:::o;16785:86::-;16820:7;16860:4;16853:5;16849:16;16838:27;;16785:86;;;:::o;16877:118::-;16948:22;16964:5;16948:22;:::i;:::-;16941:5;16938:33;16928:61;;16985:1;16982;16975:12;16928:61;16877:118;:::o;17001:135::-;17045:5;17083:6;17070:20;17061:29;;17099:31;17124:5;17099:31;:::i;:::-;17001:135;;;;:::o;17142:118::-;17192:5;17217:37;17250:2;17245:3;17241:12;17236:3;17217:37;:::i;:::-;17208:46;;17142:118;;;;:::o;17266:102::-;17339:22;17355:5;17339:22;:::i;:::-;17334:3;17327:35;17266:102;;:::o;17418:743::-;17561:4;17556:3;17552:14;17628:48;17670:4;17663:5;17659:16;17652:5;17628:48;:::i;:::-;17689:59;17742:4;17737:3;17733:14;17719:12;17689:59;:::i;:::-;17576:182;17820:50;17864:4;17857:5;17853:16;17846:5;17820:50;:::i;:::-;17883:63;17940:4;17935:3;17931:14;17917:12;17883:63;:::i;:::-;17768:188;18018:50;18062:4;18055:5;18051:16;18044:5;18018:50;:::i;:::-;18081:63;18138:4;18133:3;18129:14;18115:12;18081:63;:::i;:::-;17966:188;17530:631;17418:743;;:::o;18167:291::-;18292:10;18313:102;18411:3;18403:6;18313:102;:::i;:::-;18447:4;18442:3;18438:14;18424:28;;18167:291;;;;:::o;18464:115::-;18545:5;18570:3;18561:12;;18464:115;;;;:::o;18585:144::-;18686:4;18718;18713:3;18709:14;18701:22;;18585:144;;;:::o;18783:925::-;18968:3;18991:113;19097:6;19092:3;18991:113;:::i;:::-;18984:120;;19128:87;19209:5;19128:87;:::i;:::-;19238:7;19269:1;19254:429;19279:6;19276:1;19273:13;19254:429;;;19349:71;19413:6;19404:7;19349:71;:::i;:::-;19440:119;19555:3;19540:13;19440:119;:::i;:::-;19433:126;;19582:91;19666:6;19582:91;:::i;:::-;19572:101;;19314:369;19301:1;19298;19294:9;19289:14;;19254:429;;;19258:14;19699:3;19692:10;;18973:735;;18783:925;;;;;:::o;19714:1219::-;20175:4;20213:2;20202:9;20198:18;20190:26;;20262:9;20256:4;20252:20;20248:1;20237:9;20233:17;20226:47;20290:138;20423:4;20414:6;20290:138;:::i;:::-;20282:146;;20475:9;20469:4;20465:20;20460:2;20449:9;20445:18;20438:48;20503:174;20672:4;20663:6;20655;20503:174;:::i;:::-;20495:182;;20724:9;20718:4;20714:20;20709:2;20698:9;20694:18;20687:48;20752:174;20921:4;20912:6;20904;20752:174;:::i;:::-;20744:182;;19714:1219;;;;;;;;:::o;20939:169::-;21023:11;21057:6;21052:3;21045:19;21097:4;21092:3;21088:14;21073:29;;20939:169;;;;:::o;21114:165::-;21254:17;21250:1;21242:6;21238:14;21231:41;21114:165;:::o;21285:366::-;21427:3;21448:67;21512:2;21507:3;21448:67;:::i;:::-;21441:74;;21524:93;21613:3;21524:93;:::i;:::-;21642:2;21637:3;21633:12;21626:19;;21285:366;;;:::o;21657:419::-;21823:4;21861:2;21850:9;21846:18;21838:26;;21910:9;21904:4;21900:20;21896:1;21885:9;21881:17;21874:47;21938:131;22064:4;21938:131;:::i;:::-;21930:139;;21657:419;;;:::o;22082:117::-;22191:1;22188;22181:12;22205:117;22314:1;22311;22304:12;22328:117;22437:1;22434;22427:12;22451:396;22547:4;22601:11;22588:25;22701:1;22695:4;22691:12;22680:8;22664:14;22660:29;22656:48;22636:18;22632:73;22622:168;;22709:79;;:::i;:::-;22622:168;22821:18;22811:8;22807:33;22799:41;;22552:295;22451:396;;;;:::o;22853:724::-;22930:4;22936:6;22992:11;22979:25;23092:1;23086:4;23082:12;23071:8;23055:14;23051:29;23047:48;23027:18;23023:73;23013:168;;23100:79;;:::i;:::-;23013:168;23212:18;23202:8;23198:33;23190:41;;23264:4;23251:18;23241:28;;23292:18;23284:6;23281:30;23278:117;;;23314:79;;:::i;:::-;23278:117;23422:2;23416:4;23412:13;23404:21;;23479:4;23471:6;23467:17;23451:14;23447:38;23441:4;23437:49;23434:136;;;23489:79;;:::i;:::-;23434:136;22943:634;22853:724;;;;;:::o;23583:180::-;23631:77;23628:1;23621:88;23728:4;23725:1;23718:15;23752:4;23749:1;23742:15;23769:194;23809:4;23829:20;23847:1;23829:20;:::i;:::-;23824:25;;23863:20;23881:1;23863:20;:::i;:::-;23858:25;;23907:1;23904;23900:9;23892:17;;23931:1;23925:4;23922:11;23919:37;;;23936:18;;:::i;:::-;23919:37;23769:194;;;;:::o;23969:180::-;24017:77;24014:1;24007:88;24114:4;24111:1;24104:15;24138:4;24135:1;24128:15"},"methodIdentifiers":{"dataBridge()":"578855b2","getCurrentData()":"770b5414","getValueCount()":"413a89b4","oracleData(uint256)":"aa4dea00","queryId()":"3f1be4d4","updateOracleData((bytes32,(bytes,uint256,uint256,uint256,uint256,uint256),uint256),(address,uint256)[],(uint8,bytes32,bytes32)[])":"61808010"}},"metadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_dataBridge\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"_queryId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"dataBridge\",\"outputs\":[{\"internalType\":\"contract ITellorDataBridge\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentData\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"internalType\":\"struct YoloTellorUser.OracleData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getValueCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"oracleData\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"queryId\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"queryId\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"aggregatePower\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"previousTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"nextTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"lastConsensusTimestamp\",\"type\":\"uint256\"}],\"internalType\":\"struct ReportData\",\"name\":\"report\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"attestationTimestamp\",\"type\":\"uint256\"}],\"internalType\":\"struct OracleAttestationData\",\"name\":\"_attestData\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"power\",\"type\":\"uint256\"}],\"internalType\":\"struct Validator[]\",\"name\":\"_currentValidatorSet\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"internalType\":\"struct Signature[]\",\"name\":\"_sigs\",\"type\":\"tuple[]\"}],\"name\":\"updateOracleData\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/examples/YoloTellorUser.sol\":\"YoloTellorUser\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/examples/YoloTellorUser.sol\":{\"keccak256\":\"0x81254a574b2cefa09f2b4418557d4060135d42c3b2e741d31d1af065c31348dc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc7b2fb820399dc87c05e0b94a47c35c195509b7a1824099244830ec14505697\",\"dweb:/ipfs/QmcZ2EFrYjdqr3PSgUPxjLY5h28LuBvaTbnP5S6Mie27XM\"]},\"contracts/interfaces/ITellorDataBridge.sol\":{\"keccak256\":\"0xe63280ed178d0751b9eba8be5c98a7c1587fcf728c8c2cb2f9d261fc4a650d0f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2a16c3e825c0ad4eb206765656249fb21f3fbe23eb6ad64dac036eb084f215d9\",\"dweb:/ipfs/QmV3de6xCgd864FEhjbiPyTUNhYgB4hPAvwEu8koYoZHwG\"]}},\"version\":1}"}},"contracts/interfaces/ITellorDataBank.sol":{"ITellorDataBank":{"abi":[{"inputs":[{"internalType":"bytes32","name":"_queryId","type":"bytes32"},{"internalType":"uint256","name":"_index","type":"uint256"}],"name":"getAggregateByIndex","outputs":[{"components":[{"internalType":"bytes","name":"value","type":"bytes"},{"internalType":"uint256","name":"power","type":"uint256"},{"internalType":"uint256","name":"aggregateTimestamp","type":"uint256"},{"internalType":"uint256","name":"attestationTimestamp","type":"uint256"},{"internalType":"uint256","name":"relayTimestamp","type":"uint256"}],"internalType":"struct ITellorDataBank.AggregateData","name":"_aggregateData","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_queryId","type":"bytes32"}],"name":"getAggregateValueCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_queryId","type":"bytes32"}],"name":"getCurrentAggregateData","outputs":[{"components":[{"internalType":"bytes","name":"value","type":"bytes"},{"internalType":"uint256","name":"power","type":"uint256"},{"internalType":"uint256","name":"aggregateTimestamp","type":"uint256"},{"internalType":"uint256","name":"attestationTimestamp","type":"uint256"},{"internalType":"uint256","name":"relayTimestamp","type":"uint256"}],"internalType":"struct ITellorDataBank.AggregateData","name":"_aggregateData","type":"tuple"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"getAggregateByIndex(bytes32,uint256)":"717681c6","getAggregateValueCount(bytes32)":"e3ac7e11","getCurrentAggregateData(bytes32)":"cb956711"}},"metadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_queryId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"_index\",\"type\":\"uint256\"}],\"name\":\"getAggregateByIndex\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"power\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"aggregateTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"attestationTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"relayTimestamp\",\"type\":\"uint256\"}],\"internalType\":\"struct ITellorDataBank.AggregateData\",\"name\":\"_aggregateData\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_queryId\",\"type\":\"bytes32\"}],\"name\":\"getAggregateValueCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_queryId\",\"type\":\"bytes32\"}],\"name\":\"getCurrentAggregateData\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"power\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"aggregateTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"attestationTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"relayTimestamp\",\"type\":\"uint256\"}],\"internalType\":\"struct ITellorDataBank.AggregateData\",\"name\":\"_aggregateData\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"getAggregateByIndex(bytes32,uint256)\":{\"details\":\"returns the aggregate data for a given query ID and index\",\"params\":{\"_index\":\"the index of the aggregate data to get\",\"_queryId\":\"the query ID to get the aggregate data for\"},\"returns\":{\"_aggregateData\":\"the aggregate data\"}},\"getAggregateValueCount(bytes32)\":{\"details\":\"returns the total number of aggregate values\",\"params\":{\"_queryId\":\"the query ID to get the aggregate value count for\"},\"returns\":{\"_0\":\"number of aggregate values stored\"}},\"getCurrentAggregateData(bytes32)\":{\"details\":\"returns the current aggregate data for a given query ID\",\"params\":{\"_queryId\":\"the query ID to get the current aggregate data for\"},\"returns\":{\"_aggregateData\":\"the current aggregate data\"}}},\"title\":\"ITellorDataBank\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Interface for TellorDataBank contract\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/interfaces/ITellorDataBank.sol\":\"ITellorDataBank\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/interfaces/ITellorDataBank.sol\":{\"keccak256\":\"0x37f70bf07f2c309a012a5dfc648820714493f72abaa6ceaec360b62cd7ac98ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fe596fd81e659a8b503abf6150d037c59f10dbd5a5df4bb8e2aa3117f03387c\",\"dweb:/ipfs/QmZY7rbwZ1VVrp5AiN3sFgHHHcuwQXhsd1cCzqhgBHvsYp\"]}},\"version\":1}"}},"contracts/interfaces/ITellorDataBridge.sol":{"ITellorDataBridge":{"abi":[{"inputs":[],"name":"guardian","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"powerThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"unbondingPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"validatorTimestamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"bytes32","name":"queryId","type":"bytes32"},{"components":[{"internalType":"bytes","name":"value","type":"bytes"},{"internalType":"uint256","name":"timestamp","type":"uint256"},{"internalType":"uint256","name":"aggregatePower","type":"uint256"},{"internalType":"uint256","name":"previousTimestamp","type":"uint256"},{"internalType":"uint256","name":"nextTimestamp","type":"uint256"},{"internalType":"uint256","name":"lastConsensusTimestamp","type":"uint256"}],"internalType":"struct ReportData","name":"report","type":"tuple"},{"internalType":"uint256","name":"attestationTimestamp","type":"uint256"}],"internalType":"struct OracleAttestationData","name":"_attestData","type":"tuple"},{"components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"uint256","name":"power","type":"uint256"}],"internalType":"struct Validator[]","name":"_currentValidatorSet","type":"tuple[]"},{"components":[{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"internalType":"struct Signature[]","name":"_sigs","type":"tuple[]"}],"name":"verifyOracleData","outputs":[],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"guardian()":"452a9320","powerThreshold()":"ba95ec27","unbondingPeriod()":"6cf6d675","validatorTimestamp()":"4f76f1ee","verifyOracleData((bytes32,(bytes,uint256,uint256,uint256,uint256,uint256),uint256),(address,uint256)[],(uint8,bytes32,bytes32)[])":"5e0d3b0f"}},"metadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"guardian\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"powerThreshold\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"unbondingPeriod\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"validatorTimestamp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"queryId\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"aggregatePower\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"previousTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"nextTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"lastConsensusTimestamp\",\"type\":\"uint256\"}],\"internalType\":\"struct ReportData\",\"name\":\"report\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"attestationTimestamp\",\"type\":\"uint256\"}],\"internalType\":\"struct OracleAttestationData\",\"name\":\"_attestData\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"power\",\"type\":\"uint256\"}],\"internalType\":\"struct Validator[]\",\"name\":\"_currentValidatorSet\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"internalType\":\"struct Signature[]\",\"name\":\"_sigs\",\"type\":\"tuple[]\"}],\"name\":\"verifyOracleData\",\"outputs\":[],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/interfaces/ITellorDataBridge.sol\":\"ITellorDataBridge\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/interfaces/ITellorDataBridge.sol\":{\"keccak256\":\"0xe63280ed178d0751b9eba8be5c98a7c1587fcf728c8c2cb2f9d261fc4a650d0f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2a16c3e825c0ad4eb206765656249fb21f3fbe23eb6ad64dac036eb084f215d9\",\"dweb:/ipfs/QmV3de6xCgd864FEhjbiPyTUNhYgB4hPAvwEu8koYoZHwG\"]}},\"version\":1}"}},"contracts/testing/TellorLab.sol":{"TellorLab":{"abi":[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"queryId","type":"bytes32"},{"components":[{"internalType":"bytes32","name":"queryId","type":"bytes32"},{"components":[{"internalType":"bytes","name":"value","type":"bytes"},{"internalType":"uint256","name":"timestamp","type":"uint256"},{"internalType":"uint256","name":"aggregatePower","type":"uint256"},{"internalType":"uint256","name":"previousTimestamp","type":"uint256"},{"internalType":"uint256","name":"nextTimestamp","type":"uint256"},{"internalType":"uint256","name":"lastConsensusTimestamp","type":"uint256"}],"internalType":"struct ReportData","name":"report","type":"tuple"},{"internalType":"uint256","name":"attestationTimestamp","type":"uint256"}],"indexed":false,"internalType":"struct OracleAttestationData","name":"attestData","type":"tuple"}],"name":"OracleUpdated","type":"event"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"data","outputs":[{"internalType":"bytes","name":"value","type":"bytes"},{"internalType":"uint256","name":"power","type":"uint256"},{"internalType":"uint256","name":"aggregateTimestamp","type":"uint256"},{"internalType":"uint256","name":"attestationTimestamp","type":"uint256"},{"internalType":"uint256","name":"relayTimestamp","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_queryId","type":"bytes32"},{"internalType":"uint256","name":"_index","type":"uint256"}],"name":"getAggregateByIndex","outputs":[{"components":[{"internalType":"bytes","name":"value","type":"bytes"},{"internalType":"uint256","name":"power","type":"uint256"},{"internalType":"uint256","name":"aggregateTimestamp","type":"uint256"},{"internalType":"uint256","name":"attestationTimestamp","type":"uint256"},{"internalType":"uint256","name":"relayTimestamp","type":"uint256"}],"internalType":"struct TellorLab.AggregateData","name":"_aggregateData","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_queryId","type":"bytes32"}],"name":"getAggregateValueCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_queryId","type":"bytes32"}],"name":"getCurrentAggregateData","outputs":[{"components":[{"internalType":"bytes","name":"value","type":"bytes"},{"internalType":"uint256","name":"power","type":"uint256"},{"internalType":"uint256","name":"aggregateTimestamp","type":"uint256"},{"internalType":"uint256","name":"attestationTimestamp","type":"uint256"},{"internalType":"uint256","name":"relayTimestamp","type":"uint256"}],"internalType":"struct TellorLab.AggregateData","name":"_aggregateData","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"bytes32","name":"queryId","type":"bytes32"},{"components":[{"internalType":"bytes","name":"value","type":"bytes"},{"internalType":"uint256","name":"timestamp","type":"uint256"},{"internalType":"uint256","name":"aggregatePower","type":"uint256"},{"internalType":"uint256","name":"previousTimestamp","type":"uint256"},{"internalType":"uint256","name":"nextTimestamp","type":"uint256"},{"internalType":"uint256","name":"lastConsensusTimestamp","type":"uint256"}],"internalType":"struct ReportData","name":"report","type":"tuple"},{"internalType":"uint256","name":"attestationTimestamp","type":"uint256"}],"internalType":"struct OracleAttestationData","name":"_attestData","type":"tuple"},{"components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"uint256","name":"power","type":"uint256"}],"internalType":"struct Validator[]","name":"","type":"tuple[]"},{"components":[{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"internalType":"struct Signature[]","name":"","type":"tuple[]"}],"name":"updateOracleData","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_queryId","type":"bytes32"},{"internalType":"bytes","name":"_value","type":"bytes"}],"name":"updateOracleDataLab","outputs":[],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"608060405234801561001057600080fd5b506115c1806100206000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c80631c23cf39146100675780636180801014610083578063717681c61461009f5780638d12c426146100cf578063cb95671114610103578063e3ac7e1114610133575b600080fd5b610081600480360381019061007c919061097d565b610163565b005b61009d60048036038101906100989190610ab3565b6102ab565b005b6100b960048036038101906100b49190610b9a565b61041f565b6040516100c69190610cde565b60405180910390f35b6100e960048036038101906100e49190610b9a565b610526565b6040516100fa959493929190610d59565b60405180910390f35b61011d60048036038101906101189190610db3565b610601565b60405161012a9190610cde565b60405180910390f35b61014d60048036038101906101489190610db3565b610619565b60405161015a9190610de0565b60405180910390f35b60006103e86001426101759190610e2a565b61017f9190610e5e565b90506000808481526020019081526020016000206040518060a001604052808481526020016000815260200183815260200183815260200142815250908060018154018082558091505060019003906000526020600020906005020160009091909190915060008201518160000190816101f991906110ac565b50602082015181600101556040820151816002015560608201518160030155608082015181600401555050827f32569c122e0d7a43079203df1373675696c8ccd8ca67de60dc2238b6bb22621460405180606001604052808681526020016040518060c00160405280878152602001868152602001600081526020016000815260200160008152602001600081525081526020018481525060405161029e9190611266565b60405180910390a2505050565b600080866000013581526020019081526020016000206040518060a001604052808780602001906102dc9190611297565b80600001906102eb91906112bf565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505081526020018780602001906103439190611297565b60400135815260200187806020019061035c9190611297565b6020013581526020018760400135815260200142815250908060018154018082558091505060019003906000526020600020906005020160009091909190915060008201518160000190816103b191906110ac565b5060208201518160010155604082015181600201556060820151816003015560808201518160040155505084600001357f32569c122e0d7a43079203df1373675696c8ccd8ca67de60dc2238b6bb22621486604051610410919061153a565b60405180910390a25050505050565b6104276107be565b600080848152602001908152602001600020828154811061044b5761044a61155c565b5b90600052602060002090600502016040518060a001604052908160008201805461047490610ecf565b80601f01602080910402602001604051908101604052809291908181526020018280546104a090610ecf565b80156104ed5780601f106104c2576101008083540402835291602001916104ed565b820191906000526020600020905b8154815290600101906020018083116104d057829003601f168201915b50505050508152602001600182015481526020016002820154815260200160038201548152602001600482015481525050905092915050565b6000602052816000526040600020818154811061054257600080fd5b90600052602060002090600502016000915091505080600001805461056690610ecf565b80601f016020809104026020016040519081016040528092919081815260200182805461059290610ecf565b80156105df5780601f106105b4576101008083540402835291602001916105df565b820191906000526020600020905b8154815290600101906020018083116105c257829003601f168201915b5050505050908060010154908060020154908060030154908060040154905085565b6106096107be565b61061282610638565b9050919050565b6000806000838152602001908152602001600020805490509050919050565b6106406107be565b6000806000848152602001908152602001600020805490500361069e576040518060a00160405280604051806020016040528060008152508152602001600081526020016000815260200160008152602001600081525090506107b9565b6000808381526020019081526020016000206001600080858152602001908152602001600020805490506106d29190610e2a565b815481106106e3576106e261155c565b5b90600052602060002090600502016040518060a001604052908160008201805461070c90610ecf565b80601f016020809104026020016040519081016040528092919081815260200182805461073890610ecf565b80156107855780601f1061075a57610100808354040283529160200191610785565b820191906000526020600020905b81548152906001019060200180831161076857829003601f168201915b5050505050815260200160018201548152602001600282015481526020016003820154815260200160048201548152505090505b919050565b6040518060a0016040528060608152602001600081526020016000815260200160008152602001600081525090565b6000604051905090565b600080fd5b600080fd5b6000819050919050565b61081481610801565b811461081f57600080fd5b50565b6000813590506108318161080b565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61088a82610841565b810181811067ffffffffffffffff821117156108a9576108a8610852565b5b80604052505050565b60006108bc6107ed565b90506108c88282610881565b919050565b600067ffffffffffffffff8211156108e8576108e7610852565b5b6108f182610841565b9050602081019050919050565b82818337600083830152505050565b600061092061091b846108cd565b6108b2565b90508281526020810184848401111561093c5761093b61083c565b5b6109478482856108fe565b509392505050565b600082601f83011261096457610963610837565b5b813561097484826020860161090d565b91505092915050565b60008060408385031215610994576109936107f7565b5b60006109a285828601610822565b925050602083013567ffffffffffffffff8111156109c3576109c26107fc565b5b6109cf8582860161094f565b9150509250929050565b600080fd5b6000606082840312156109f4576109f36109d9565b5b81905092915050565b600080fd5b600080fd5b60008083601f840112610a1d57610a1c610837565b5b8235905067ffffffffffffffff811115610a3a57610a396109fd565b5b602083019150836040820283011115610a5657610a55610a02565b5b9250929050565b60008083601f840112610a7357610a72610837565b5b8235905067ffffffffffffffff811115610a9057610a8f6109fd565b5b602083019150836060820283011115610aac57610aab610a02565b5b9250929050565b600080600080600060608688031215610acf57610ace6107f7565b5b600086013567ffffffffffffffff811115610aed57610aec6107fc565b5b610af9888289016109de565b955050602086013567ffffffffffffffff811115610b1a57610b196107fc565b5b610b2688828901610a07565b9450945050604086013567ffffffffffffffff811115610b4957610b486107fc565b5b610b5588828901610a5d565b92509250509295509295909350565b6000819050919050565b610b7781610b64565b8114610b8257600080fd5b50565b600081359050610b9481610b6e565b92915050565b60008060408385031215610bb157610bb06107f7565b5b6000610bbf85828601610822565b9250506020610bd085828601610b85565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610c14578082015181840152602081019050610bf9565b60008484015250505050565b6000610c2b82610bda565b610c358185610be5565b9350610c45818560208601610bf6565b610c4e81610841565b840191505092915050565b610c6281610b64565b82525050565b600060a0830160008301518482036000860152610c858282610c20565b9150506020830151610c9a6020860182610c59565b506040830151610cad6040860182610c59565b506060830151610cc06060860182610c59565b506080830151610cd36080860182610c59565b508091505092915050565b60006020820190508181036000830152610cf88184610c68565b905092915050565b600082825260208201905092915050565b6000610d1c82610bda565b610d268185610d00565b9350610d36818560208601610bf6565b610d3f81610841565b840191505092915050565b610d5381610b64565b82525050565b600060a0820190508181036000830152610d738188610d11565b9050610d826020830187610d4a565b610d8f6040830186610d4a565b610d9c6060830185610d4a565b610da96080830184610d4a565b9695505050505050565b600060208284031215610dc957610dc86107f7565b5b6000610dd784828501610822565b91505092915050565b6000602082019050610df56000830184610d4a565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610e3582610b64565b9150610e4083610b64565b9250828203905081811115610e5857610e57610dfb565b5b92915050565b6000610e6982610b64565b9150610e7483610b64565b9250828202610e8281610b64565b91508282048414831517610e9957610e98610dfb565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680610ee757607f821691505b602082108103610efa57610ef9610ea0565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302610f627fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610f25565b610f6c8683610f25565b95508019841693508086168417925050509392505050565b6000819050919050565b6000610fa9610fa4610f9f84610b64565b610f84565b610b64565b9050919050565b6000819050919050565b610fc383610f8e565b610fd7610fcf82610fb0565b848454610f32565b825550505050565b600090565b610fec610fdf565b610ff7818484610fba565b505050565b5b8181101561101b57611010600082610fe4565b600181019050610ffd565b5050565b601f8211156110605761103181610f00565b61103a84610f15565b81016020851015611049578190505b61105d61105585610f15565b830182610ffc565b50505b505050565b600082821c905092915050565b600061108360001984600802611065565b1980831691505092915050565b600061109c8383611072565b9150826002028217905092915050565b6110b582610bda565b67ffffffffffffffff8111156110ce576110cd610852565b5b6110d88254610ecf565b6110e382828561101f565b600060209050601f8311600181146111165760008415611104578287015190505b61110e8582611090565b865550611176565b601f19841661112486610f00565b60005b8281101561114c57848901518255600182019150602085019450602081019050611127565b868310156111695784890151611165601f891682611072565b8355505b6001600288020188555050505b505050505050565b61118781610801565b82525050565b600060c08301600083015184820360008601526111aa8282610c20565b91505060208301516111bf6020860182610c59565b5060408301516111d26040860182610c59565b5060608301516111e56060860182610c59565b5060808301516111f86080860182610c59565b5060a083015161120b60a0860182610c59565b508091505092915050565b600060608301600083015161122e600086018261117e565b5060208301518482036020860152611246828261118d565b915050604083015161125b6040860182610c59565b508091505092915050565b600060208201905081810360008301526112808184611216565b905092915050565b600080fd5b600080fd5b600080fd5b60008235600160c0038336030381126112b3576112b2611288565b5b80830191505092915050565b600080833560016020038436030381126112dc576112db611288565b5b80840192508235915067ffffffffffffffff8211156112fe576112fd61128d565b5b60208301925060018202360383131561131a57611319611292565b5b509250929050565b60006113316020840184610822565b905092915050565b600080fd5b60008235600160c00383360303811261135a57611359611339565b5b82810191505092915050565b600080fd5b600080fd5b6000808335600160200384360303811261138d5761138c611339565b5b83810192508235915060208301925067ffffffffffffffff8211156113b5576113b4611366565b5b6001820236038313156113cb576113ca61136b565b5b509250929050565b60006113df8385610be5565b93506113ec8385846108fe565b6113f583610841565b840190509392505050565b600061140f6020840184610b85565b905092915050565b600060c0830161142a6000840184611370565b858303600087015261143d8382846113d3565b9250505061144e6020840184611400565b61145b6020860182610c59565b506114696040840184611400565b6114766040860182610c59565b506114846060840184611400565b6114916060860182610c59565b5061149f6080840184611400565b6114ac6080860182610c59565b506114ba60a0840184611400565b6114c760a0860182610c59565b508091505092915050565b6000606083016114e56000840184611322565b6114f2600086018261117e565b50611500602084018461133e565b84820360208601526115128282611417565b9150506115226040840184611400565b61152f6040860182610c59565b508091505092915050565b6000602082019050818103600083015261155481846114d2565b905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fdfea26469706673582212204132f59951cfd996a8cb88a81e3308d97bcdfa24fca5292bc6d8239a2d2018eb64736f6c63430008130033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x15C1 DUP1 PUSH2 0x20 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x62 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x1C23CF39 EQ PUSH2 0x67 JUMPI DUP1 PUSH4 0x61808010 EQ PUSH2 0x83 JUMPI DUP1 PUSH4 0x717681C6 EQ PUSH2 0x9F JUMPI DUP1 PUSH4 0x8D12C426 EQ PUSH2 0xCF JUMPI DUP1 PUSH4 0xCB956711 EQ PUSH2 0x103 JUMPI DUP1 PUSH4 0xE3AC7E11 EQ PUSH2 0x133 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x81 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x7C SWAP2 SWAP1 PUSH2 0x97D JUMP JUMPDEST PUSH2 0x163 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x9D PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x98 SWAP2 SWAP1 PUSH2 0xAB3 JUMP JUMPDEST PUSH2 0x2AB JUMP JUMPDEST STOP JUMPDEST PUSH2 0xB9 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xB4 SWAP2 SWAP1 PUSH2 0xB9A JUMP JUMPDEST PUSH2 0x41F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xC6 SWAP2 SWAP1 PUSH2 0xCDE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xE9 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xE4 SWAP2 SWAP1 PUSH2 0xB9A JUMP JUMPDEST PUSH2 0x526 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xFA SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0xD59 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x11D PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x118 SWAP2 SWAP1 PUSH2 0xDB3 JUMP JUMPDEST PUSH2 0x601 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x12A SWAP2 SWAP1 PUSH2 0xCDE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x14D PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x148 SWAP2 SWAP1 PUSH2 0xDB3 JUMP JUMPDEST PUSH2 0x619 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x15A SWAP2 SWAP1 PUSH2 0xDE0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 PUSH2 0x3E8 PUSH1 0x1 TIMESTAMP PUSH2 0x175 SWAP2 SWAP1 PUSH2 0xE2A JUMP JUMPDEST PUSH2 0x17F SWAP2 SWAP1 PUSH2 0xE5E JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP1 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x40 MLOAD DUP1 PUSH1 0xA0 ADD PUSH1 0x40 MSTORE DUP1 DUP5 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP2 MSTORE PUSH1 0x20 ADD TIMESTAMP DUP2 MSTORE POP SWAP1 DUP1 PUSH1 0x1 DUP2 SLOAD ADD DUP1 DUP3 SSTORE DUP1 SWAP2 POP POP PUSH1 0x1 SWAP1 SUB SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x5 MUL ADD PUSH1 0x0 SWAP1 SWAP2 SWAP1 SWAP2 SWAP1 SWAP2 POP PUSH1 0x0 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD SWAP1 DUP2 PUSH2 0x1F9 SWAP2 SWAP1 PUSH2 0x10AC JUMP JUMPDEST POP PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD SSTORE PUSH1 0x40 DUP3 ADD MLOAD DUP2 PUSH1 0x2 ADD SSTORE PUSH1 0x60 DUP3 ADD MLOAD DUP2 PUSH1 0x3 ADD SSTORE PUSH1 0x80 DUP3 ADD MLOAD DUP2 PUSH1 0x4 ADD SSTORE POP POP DUP3 PUSH32 0x32569C122E0D7A43079203DF1373675696C8CCD8CA67DE60DC2238B6BB226214 PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 DUP7 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0xC0 ADD PUSH1 0x40 MSTORE DUP1 DUP8 DUP2 MSTORE PUSH1 0x20 ADD DUP7 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE POP DUP2 MSTORE PUSH1 0x20 ADD DUP5 DUP2 MSTORE POP PUSH1 0x40 MLOAD PUSH2 0x29E SWAP2 SWAP1 PUSH2 0x1266 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP7 PUSH1 0x0 ADD CALLDATALOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x40 MLOAD DUP1 PUSH1 0xA0 ADD PUSH1 0x40 MSTORE DUP1 DUP8 DUP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x2DC SWAP2 SWAP1 PUSH2 0x1297 JUMP JUMPDEST DUP1 PUSH1 0x0 ADD SWAP1 PUSH2 0x2EB SWAP2 SWAP1 PUSH2 0x12BF JUMP JUMPDEST DUP1 DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 DUP2 DUP5 ADD MSTORE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND SWAP1 POP DUP1 DUP4 ADD SWAP3 POP POP POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD DUP8 DUP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x343 SWAP2 SWAP1 PUSH2 0x1297 JUMP JUMPDEST PUSH1 0x40 ADD CALLDATALOAD DUP2 MSTORE PUSH1 0x20 ADD DUP8 DUP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x35C SWAP2 SWAP1 PUSH2 0x1297 JUMP JUMPDEST PUSH1 0x20 ADD CALLDATALOAD DUP2 MSTORE PUSH1 0x20 ADD DUP8 PUSH1 0x40 ADD CALLDATALOAD DUP2 MSTORE PUSH1 0x20 ADD TIMESTAMP DUP2 MSTORE POP SWAP1 DUP1 PUSH1 0x1 DUP2 SLOAD ADD DUP1 DUP3 SSTORE DUP1 SWAP2 POP POP PUSH1 0x1 SWAP1 SUB SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x5 MUL ADD PUSH1 0x0 SWAP1 SWAP2 SWAP1 SWAP2 SWAP1 SWAP2 POP PUSH1 0x0 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD SWAP1 DUP2 PUSH2 0x3B1 SWAP2 SWAP1 PUSH2 0x10AC JUMP JUMPDEST POP PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD SSTORE PUSH1 0x40 DUP3 ADD MLOAD DUP2 PUSH1 0x2 ADD SSTORE PUSH1 0x60 DUP3 ADD MLOAD DUP2 PUSH1 0x3 ADD SSTORE PUSH1 0x80 DUP3 ADD MLOAD DUP2 PUSH1 0x4 ADD SSTORE POP POP DUP5 PUSH1 0x0 ADD CALLDATALOAD PUSH32 0x32569C122E0D7A43079203DF1373675696C8CCD8CA67DE60DC2238B6BB226214 DUP7 PUSH1 0x40 MLOAD PUSH2 0x410 SWAP2 SWAP1 PUSH2 0x153A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP POP POP JUMP JUMPDEST PUSH2 0x427 PUSH2 0x7BE JUMP JUMPDEST PUSH1 0x0 DUP1 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x44B JUMPI PUSH2 0x44A PUSH2 0x155C JUMP JUMPDEST JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x5 MUL ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0xA0 ADD PUSH1 0x40 MSTORE SWAP1 DUP2 PUSH1 0x0 DUP3 ADD DUP1 SLOAD PUSH2 0x474 SWAP1 PUSH2 0xECF JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x4A0 SWAP1 PUSH2 0xECF JUMP JUMPDEST DUP1 ISZERO PUSH2 0x4ED JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x4C2 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x4ED JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x4D0 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2 DUP3 ADD SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x3 DUP3 ADD SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x4 DUP3 ADD SLOAD DUP2 MSTORE POP POP SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 MSTORE DUP2 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x542 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x5 MUL ADD PUSH1 0x0 SWAP2 POP SWAP2 POP POP DUP1 PUSH1 0x0 ADD DUP1 SLOAD PUSH2 0x566 SWAP1 PUSH2 0xECF JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x592 SWAP1 PUSH2 0xECF JUMP JUMPDEST DUP1 ISZERO PUSH2 0x5DF JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x5B4 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x5DF JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x5C2 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 DUP1 PUSH1 0x1 ADD SLOAD SWAP1 DUP1 PUSH1 0x2 ADD SLOAD SWAP1 DUP1 PUSH1 0x3 ADD SLOAD SWAP1 DUP1 PUSH1 0x4 ADD SLOAD SWAP1 POP DUP6 JUMP JUMPDEST PUSH2 0x609 PUSH2 0x7BE JUMP JUMPDEST PUSH2 0x612 DUP3 PUSH2 0x638 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP1 SLOAD SWAP1 POP SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x640 PUSH2 0x7BE JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP1 SLOAD SWAP1 POP SUB PUSH2 0x69E JUMPI PUSH1 0x40 MLOAD DUP1 PUSH1 0xA0 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE POP SWAP1 POP PUSH2 0x7B9 JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 PUSH1 0x0 DUP1 DUP6 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP1 SLOAD SWAP1 POP PUSH2 0x6D2 SWAP2 SWAP1 PUSH2 0xE2A JUMP JUMPDEST DUP2 SLOAD DUP2 LT PUSH2 0x6E3 JUMPI PUSH2 0x6E2 PUSH2 0x155C JUMP JUMPDEST JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x5 MUL ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0xA0 ADD PUSH1 0x40 MSTORE SWAP1 DUP2 PUSH1 0x0 DUP3 ADD DUP1 SLOAD PUSH2 0x70C SWAP1 PUSH2 0xECF JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x738 SWAP1 PUSH2 0xECF JUMP JUMPDEST DUP1 ISZERO PUSH2 0x785 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x75A JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x785 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x768 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2 DUP3 ADD SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x3 DUP3 ADD SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x4 DUP3 ADD SLOAD DUP2 MSTORE POP POP SWAP1 POP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0xA0 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x814 DUP2 PUSH2 0x801 JUMP JUMPDEST DUP2 EQ PUSH2 0x81F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x831 DUP2 PUSH2 0x80B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x88A DUP3 PUSH2 0x841 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x8A9 JUMPI PUSH2 0x8A8 PUSH2 0x852 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x8BC PUSH2 0x7ED JUMP JUMPDEST SWAP1 POP PUSH2 0x8C8 DUP3 DUP3 PUSH2 0x881 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x8E8 JUMPI PUSH2 0x8E7 PUSH2 0x852 JUMP JUMPDEST JUMPDEST PUSH2 0x8F1 DUP3 PUSH2 0x841 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x920 PUSH2 0x91B DUP5 PUSH2 0x8CD JUMP JUMPDEST PUSH2 0x8B2 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x93C JUMPI PUSH2 0x93B PUSH2 0x83C JUMP JUMPDEST JUMPDEST PUSH2 0x947 DUP5 DUP3 DUP6 PUSH2 0x8FE JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x964 JUMPI PUSH2 0x963 PUSH2 0x837 JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x974 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x90D JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x994 JUMPI PUSH2 0x993 PUSH2 0x7F7 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x9A2 DUP6 DUP3 DUP7 ADD PUSH2 0x822 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x9C3 JUMPI PUSH2 0x9C2 PUSH2 0x7FC JUMP JUMPDEST JUMPDEST PUSH2 0x9CF DUP6 DUP3 DUP7 ADD PUSH2 0x94F JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x9F4 JUMPI PUSH2 0x9F3 PUSH2 0x9D9 JUMP JUMPDEST JUMPDEST DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0xA1D JUMPI PUSH2 0xA1C PUSH2 0x837 JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xA3A JUMPI PUSH2 0xA39 PUSH2 0x9FD JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x40 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0xA56 JUMPI PUSH2 0xA55 PUSH2 0xA02 JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0xA73 JUMPI PUSH2 0xA72 PUSH2 0x837 JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xA90 JUMPI PUSH2 0xA8F PUSH2 0x9FD JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x60 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0xAAC JUMPI PUSH2 0xAAB PUSH2 0xA02 JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP7 DUP9 SUB SLT ISZERO PUSH2 0xACF JUMPI PUSH2 0xACE PUSH2 0x7F7 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xAED JUMPI PUSH2 0xAEC PUSH2 0x7FC JUMP JUMPDEST JUMPDEST PUSH2 0xAF9 DUP9 DUP3 DUP10 ADD PUSH2 0x9DE JUMP JUMPDEST SWAP6 POP POP PUSH1 0x20 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xB1A JUMPI PUSH2 0xB19 PUSH2 0x7FC JUMP JUMPDEST JUMPDEST PUSH2 0xB26 DUP9 DUP3 DUP10 ADD PUSH2 0xA07 JUMP JUMPDEST SWAP5 POP SWAP5 POP POP PUSH1 0x40 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xB49 JUMPI PUSH2 0xB48 PUSH2 0x7FC JUMP JUMPDEST JUMPDEST PUSH2 0xB55 DUP9 DUP3 DUP10 ADD PUSH2 0xA5D JUMP JUMPDEST SWAP3 POP SWAP3 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xB77 DUP2 PUSH2 0xB64 JUMP JUMPDEST DUP2 EQ PUSH2 0xB82 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xB94 DUP2 PUSH2 0xB6E JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xBB1 JUMPI PUSH2 0xBB0 PUSH2 0x7F7 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xBBF DUP6 DUP3 DUP7 ADD PUSH2 0x822 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0xBD0 DUP6 DUP3 DUP7 ADD PUSH2 0xB85 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xC14 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0xBF9 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xC2B DUP3 PUSH2 0xBDA JUMP JUMPDEST PUSH2 0xC35 DUP2 DUP6 PUSH2 0xBE5 JUMP JUMPDEST SWAP4 POP PUSH2 0xC45 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0xBF6 JUMP JUMPDEST PUSH2 0xC4E DUP2 PUSH2 0x841 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xC62 DUP2 PUSH2 0xB64 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP4 ADD PUSH1 0x0 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x0 DUP7 ADD MSTORE PUSH2 0xC85 DUP3 DUP3 PUSH2 0xC20 JUMP JUMPDEST SWAP2 POP POP PUSH1 0x20 DUP4 ADD MLOAD PUSH2 0xC9A PUSH1 0x20 DUP7 ADD DUP3 PUSH2 0xC59 JUMP JUMPDEST POP PUSH1 0x40 DUP4 ADD MLOAD PUSH2 0xCAD PUSH1 0x40 DUP7 ADD DUP3 PUSH2 0xC59 JUMP JUMPDEST POP PUSH1 0x60 DUP4 ADD MLOAD PUSH2 0xCC0 PUSH1 0x60 DUP7 ADD DUP3 PUSH2 0xC59 JUMP JUMPDEST POP PUSH1 0x80 DUP4 ADD MLOAD PUSH2 0xCD3 PUSH1 0x80 DUP7 ADD DUP3 PUSH2 0xC59 JUMP JUMPDEST POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xCF8 DUP2 DUP5 PUSH2 0xC68 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xD1C DUP3 PUSH2 0xBDA JUMP JUMPDEST PUSH2 0xD26 DUP2 DUP6 PUSH2 0xD00 JUMP JUMPDEST SWAP4 POP PUSH2 0xD36 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0xBF6 JUMP JUMPDEST PUSH2 0xD3F DUP2 PUSH2 0x841 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xD53 DUP2 PUSH2 0xB64 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xD73 DUP2 DUP9 PUSH2 0xD11 JUMP JUMPDEST SWAP1 POP PUSH2 0xD82 PUSH1 0x20 DUP4 ADD DUP8 PUSH2 0xD4A JUMP JUMPDEST PUSH2 0xD8F PUSH1 0x40 DUP4 ADD DUP7 PUSH2 0xD4A JUMP JUMPDEST PUSH2 0xD9C PUSH1 0x60 DUP4 ADD DUP6 PUSH2 0xD4A JUMP JUMPDEST PUSH2 0xDA9 PUSH1 0x80 DUP4 ADD DUP5 PUSH2 0xD4A JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xDC9 JUMPI PUSH2 0xDC8 PUSH2 0x7F7 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xDD7 DUP5 DUP3 DUP6 ADD PUSH2 0x822 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xDF5 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xD4A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0xE35 DUP3 PUSH2 0xB64 JUMP JUMPDEST SWAP2 POP PUSH2 0xE40 DUP4 PUSH2 0xB64 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 SUB SWAP1 POP DUP2 DUP2 GT ISZERO PUSH2 0xE58 JUMPI PUSH2 0xE57 PUSH2 0xDFB JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xE69 DUP3 PUSH2 0xB64 JUMP JUMPDEST SWAP2 POP PUSH2 0xE74 DUP4 PUSH2 0xB64 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 MUL PUSH2 0xE82 DUP2 PUSH2 0xB64 JUMP JUMPDEST SWAP2 POP DUP3 DUP3 DIV DUP5 EQ DUP4 ISZERO OR PUSH2 0xE99 JUMPI PUSH2 0xE98 PUSH2 0xDFB JUMP JUMPDEST JUMPDEST POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0xEE7 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0xEFA JUMPI PUSH2 0xEF9 PUSH2 0xEA0 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP DUP2 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 PUSH1 0x1F DUP4 ADD DIV SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 SHL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x8 DUP4 MUL PUSH2 0xF62 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 PUSH2 0xF25 JUMP JUMPDEST PUSH2 0xF6C DUP7 DUP4 PUSH2 0xF25 JUMP JUMPDEST SWAP6 POP DUP1 NOT DUP5 AND SWAP4 POP DUP1 DUP7 AND DUP5 OR SWAP3 POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xFA9 PUSH2 0xFA4 PUSH2 0xF9F DUP5 PUSH2 0xB64 JUMP JUMPDEST PUSH2 0xF84 JUMP JUMPDEST PUSH2 0xB64 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xFC3 DUP4 PUSH2 0xF8E JUMP JUMPDEST PUSH2 0xFD7 PUSH2 0xFCF DUP3 PUSH2 0xFB0 JUMP JUMPDEST DUP5 DUP5 SLOAD PUSH2 0xF32 JUMP JUMPDEST DUP3 SSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 SWAP1 JUMP JUMPDEST PUSH2 0xFEC PUSH2 0xFDF JUMP JUMPDEST PUSH2 0xFF7 DUP2 DUP5 DUP5 PUSH2 0xFBA JUMP JUMPDEST POP POP POP JUMP JUMPDEST JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x101B JUMPI PUSH2 0x1010 PUSH1 0x0 DUP3 PUSH2 0xFE4 JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0xFFD JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0x1060 JUMPI PUSH2 0x1031 DUP2 PUSH2 0xF00 JUMP JUMPDEST PUSH2 0x103A DUP5 PUSH2 0xF15 JUMP JUMPDEST DUP2 ADD PUSH1 0x20 DUP6 LT ISZERO PUSH2 0x1049 JUMPI DUP2 SWAP1 POP JUMPDEST PUSH2 0x105D PUSH2 0x1055 DUP6 PUSH2 0xF15 JUMP JUMPDEST DUP4 ADD DUP3 PUSH2 0xFFC JUMP JUMPDEST POP POP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 SHR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1083 PUSH1 0x0 NOT DUP5 PUSH1 0x8 MUL PUSH2 0x1065 JUMP JUMPDEST NOT DUP1 DUP4 AND SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x109C DUP4 DUP4 PUSH2 0x1072 JUMP JUMPDEST SWAP2 POP DUP3 PUSH1 0x2 MUL DUP3 OR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x10B5 DUP3 PUSH2 0xBDA JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x10CE JUMPI PUSH2 0x10CD PUSH2 0x852 JUMP JUMPDEST JUMPDEST PUSH2 0x10D8 DUP3 SLOAD PUSH2 0xECF JUMP JUMPDEST PUSH2 0x10E3 DUP3 DUP3 DUP6 PUSH2 0x101F JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 SWAP1 POP PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x1116 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH2 0x1104 JUMPI DUP3 DUP8 ADD MLOAD SWAP1 POP JUMPDEST PUSH2 0x110E DUP6 DUP3 PUSH2 0x1090 JUMP JUMPDEST DUP7 SSTORE POP PUSH2 0x1176 JUMP JUMPDEST PUSH1 0x1F NOT DUP5 AND PUSH2 0x1124 DUP7 PUSH2 0xF00 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x114C JUMPI DUP5 DUP10 ADD MLOAD DUP3 SSTORE PUSH1 0x1 DUP3 ADD SWAP2 POP PUSH1 0x20 DUP6 ADD SWAP5 POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x1127 JUMP JUMPDEST DUP7 DUP4 LT ISZERO PUSH2 0x1169 JUMPI DUP5 DUP10 ADD MLOAD PUSH2 0x1165 PUSH1 0x1F DUP10 AND DUP3 PUSH2 0x1072 JUMP JUMPDEST DUP4 SSTORE POP JUMPDEST PUSH1 0x1 PUSH1 0x2 DUP9 MUL ADD DUP9 SSTORE POP POP POP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x1187 DUP2 PUSH2 0x801 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xC0 DUP4 ADD PUSH1 0x0 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x0 DUP7 ADD MSTORE PUSH2 0x11AA DUP3 DUP3 PUSH2 0xC20 JUMP JUMPDEST SWAP2 POP POP PUSH1 0x20 DUP4 ADD MLOAD PUSH2 0x11BF PUSH1 0x20 DUP7 ADD DUP3 PUSH2 0xC59 JUMP JUMPDEST POP PUSH1 0x40 DUP4 ADD MLOAD PUSH2 0x11D2 PUSH1 0x40 DUP7 ADD DUP3 PUSH2 0xC59 JUMP JUMPDEST POP PUSH1 0x60 DUP4 ADD MLOAD PUSH2 0x11E5 PUSH1 0x60 DUP7 ADD DUP3 PUSH2 0xC59 JUMP JUMPDEST POP PUSH1 0x80 DUP4 ADD MLOAD PUSH2 0x11F8 PUSH1 0x80 DUP7 ADD DUP3 PUSH2 0xC59 JUMP JUMPDEST POP PUSH1 0xA0 DUP4 ADD MLOAD PUSH2 0x120B PUSH1 0xA0 DUP7 ADD DUP3 PUSH2 0xC59 JUMP JUMPDEST POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP4 ADD PUSH1 0x0 DUP4 ADD MLOAD PUSH2 0x122E PUSH1 0x0 DUP7 ADD DUP3 PUSH2 0x117E JUMP JUMPDEST POP PUSH1 0x20 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x20 DUP7 ADD MSTORE PUSH2 0x1246 DUP3 DUP3 PUSH2 0x118D JUMP JUMPDEST SWAP2 POP POP PUSH1 0x40 DUP4 ADD MLOAD PUSH2 0x125B PUSH1 0x40 DUP7 ADD DUP3 PUSH2 0xC59 JUMP JUMPDEST POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1280 DUP2 DUP5 PUSH2 0x1216 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP3 CALLDATALOAD PUSH1 0x1 PUSH1 0xC0 SUB DUP4 CALLDATASIZE SUB SUB DUP2 SLT PUSH2 0x12B3 JUMPI PUSH2 0x12B2 PUSH2 0x1288 JUMP JUMPDEST JUMPDEST DUP1 DUP4 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 CALLDATALOAD PUSH1 0x1 PUSH1 0x20 SUB DUP5 CALLDATASIZE SUB SUB DUP2 SLT PUSH2 0x12DC JUMPI PUSH2 0x12DB PUSH2 0x1288 JUMP JUMPDEST JUMPDEST DUP1 DUP5 ADD SWAP3 POP DUP3 CALLDATALOAD SWAP2 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x12FE JUMPI PUSH2 0x12FD PUSH2 0x128D JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP3 POP PUSH1 0x1 DUP3 MUL CALLDATASIZE SUB DUP4 SGT ISZERO PUSH2 0x131A JUMPI PUSH2 0x1319 PUSH2 0x1292 JUMP JUMPDEST JUMPDEST POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1331 PUSH1 0x20 DUP5 ADD DUP5 PUSH2 0x822 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP3 CALLDATALOAD PUSH1 0x1 PUSH1 0xC0 SUB DUP4 CALLDATASIZE SUB SUB DUP2 SLT PUSH2 0x135A JUMPI PUSH2 0x1359 PUSH2 0x1339 JUMP JUMPDEST JUMPDEST DUP3 DUP2 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP4 CALLDATALOAD PUSH1 0x1 PUSH1 0x20 SUB DUP5 CALLDATASIZE SUB SUB DUP2 SLT PUSH2 0x138D JUMPI PUSH2 0x138C PUSH2 0x1339 JUMP JUMPDEST JUMPDEST DUP4 DUP2 ADD SWAP3 POP DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD SWAP3 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x13B5 JUMPI PUSH2 0x13B4 PUSH2 0x1366 JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 MUL CALLDATASIZE SUB DUP4 SGT ISZERO PUSH2 0x13CB JUMPI PUSH2 0x13CA PUSH2 0x136B JUMP JUMPDEST JUMPDEST POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x13DF DUP4 DUP6 PUSH2 0xBE5 JUMP JUMPDEST SWAP4 POP PUSH2 0x13EC DUP4 DUP6 DUP5 PUSH2 0x8FE JUMP JUMPDEST PUSH2 0x13F5 DUP4 PUSH2 0x841 JUMP JUMPDEST DUP5 ADD SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x140F PUSH1 0x20 DUP5 ADD DUP5 PUSH2 0xB85 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xC0 DUP4 ADD PUSH2 0x142A PUSH1 0x0 DUP5 ADD DUP5 PUSH2 0x1370 JUMP JUMPDEST DUP6 DUP4 SUB PUSH1 0x0 DUP8 ADD MSTORE PUSH2 0x143D DUP4 DUP3 DUP5 PUSH2 0x13D3 JUMP JUMPDEST SWAP3 POP POP POP PUSH2 0x144E PUSH1 0x20 DUP5 ADD DUP5 PUSH2 0x1400 JUMP JUMPDEST PUSH2 0x145B PUSH1 0x20 DUP7 ADD DUP3 PUSH2 0xC59 JUMP JUMPDEST POP PUSH2 0x1469 PUSH1 0x40 DUP5 ADD DUP5 PUSH2 0x1400 JUMP JUMPDEST PUSH2 0x1476 PUSH1 0x40 DUP7 ADD DUP3 PUSH2 0xC59 JUMP JUMPDEST POP PUSH2 0x1484 PUSH1 0x60 DUP5 ADD DUP5 PUSH2 0x1400 JUMP JUMPDEST PUSH2 0x1491 PUSH1 0x60 DUP7 ADD DUP3 PUSH2 0xC59 JUMP JUMPDEST POP PUSH2 0x149F PUSH1 0x80 DUP5 ADD DUP5 PUSH2 0x1400 JUMP JUMPDEST PUSH2 0x14AC PUSH1 0x80 DUP7 ADD DUP3 PUSH2 0xC59 JUMP JUMPDEST POP PUSH2 0x14BA PUSH1 0xA0 DUP5 ADD DUP5 PUSH2 0x1400 JUMP JUMPDEST PUSH2 0x14C7 PUSH1 0xA0 DUP7 ADD DUP3 PUSH2 0xC59 JUMP JUMPDEST POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP4 ADD PUSH2 0x14E5 PUSH1 0x0 DUP5 ADD DUP5 PUSH2 0x1322 JUMP JUMPDEST PUSH2 0x14F2 PUSH1 0x0 DUP7 ADD DUP3 PUSH2 0x117E JUMP JUMPDEST POP PUSH2 0x1500 PUSH1 0x20 DUP5 ADD DUP5 PUSH2 0x133E JUMP JUMPDEST DUP5 DUP3 SUB PUSH1 0x20 DUP7 ADD MSTORE PUSH2 0x1512 DUP3 DUP3 PUSH2 0x1417 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x1522 PUSH1 0x40 DUP5 ADD DUP5 PUSH2 0x1400 JUMP JUMPDEST PUSH2 0x152F PUSH1 0x40 DUP7 ADD DUP3 PUSH2 0xC59 JUMP JUMPDEST POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1554 DUP2 DUP5 PUSH2 0x14D2 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 COINBASE ORIGIN CREATE2 SWAP10 MLOAD 0xCF 0xD9 SWAP7 0xA8 0xCB DUP9 0xA8 0x1E CALLER ADDMOD 0xD9 PUSH28 0xCDFA24FCA5292BC6D8239A2D2018EB64736F6C634300081300330000 ","sourceMap":"645:4647:5:-:0;;;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{"@_getCurrentAggregateData_1396":{"entryPoint":1592,"id":1396,"parameterSlots":1,"returnSlots":1},"@data_1194":{"entryPoint":1318,"id":1194,"parameterSlots":0,"returnSlots":0},"@getAggregateByIndex_1323":{"entryPoint":1055,"id":1323,"parameterSlots":2,"returnSlots":1},"@getAggregateValueCount_1337":{"entryPoint":1561,"id":1337,"parameterSlots":1,"returnSlots":1},"@getCurrentAggregateData_1351":{"entryPoint":1537,"id":1351,"parameterSlots":1,"returnSlots":1},"@updateOracleDataLab_1305":{"entryPoint":355,"id":1305,"parameterSlots":2,"returnSlots":0},"@updateOracleData_1256":{"entryPoint":683,"id":1256,"parameterSlots":5,"returnSlots":0},"abi_decode_available_length_t_bytes_memory_ptr":{"entryPoint":2317,"id":null,"parameterSlots":3,"returnSlots":1},"abi_decode_t_array$_t_struct$_Signature_$1144_calldata_ptr_$dyn_calldata_ptr":{"entryPoint":2653,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_t_array$_t_struct$_Validator_$1149_calldata_ptr_$dyn_calldata_ptr":{"entryPoint":2567,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_t_bytes32":{"entryPoint":2082,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_bytes_memory_ptr":{"entryPoint":2383,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_struct$_OracleAttestationData_$1124_calldata_ptr":{"entryPoint":2526,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_uint256":{"entryPoint":2949,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes32":{"entryPoint":3507,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes32t_bytes_memory_ptr":{"entryPoint":2429,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_bytes32t_uint256":{"entryPoint":2970,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_struct$_OracleAttestationData_$1124_calldata_ptrt_array$_t_struct$_Validator_$1149_calldata_ptr_$dyn_calldata_ptrt_array$_t_struct$_Signature_$1144_calldata_ptr_$dyn_calldata_ptr":{"entryPoint":2739,"id":null,"parameterSlots":2,"returnSlots":5},"abi_encode_t_bytes32_to_t_bytes32":{"entryPoint":4478,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_bytes_calldata_ptr_to_t_bytes_memory_ptr":{"entryPoint":5075,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr":{"entryPoint":3104,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack":{"entryPoint":3345,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_struct$_AggregateData_$1205_memory_ptr_to_t_struct$_AggregateData_$1205_memory_ptr_fromStack":{"entryPoint":3176,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_struct$_OracleAttestationData_$1124_calldata_ptr_to_t_struct$_OracleAttestationData_$1124_memory_ptr_fromStack":{"entryPoint":5330,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_struct$_OracleAttestationData_$1124_memory_ptr_to_t_struct$_OracleAttestationData_$1124_memory_ptr_fromStack":{"entryPoint":4630,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_struct$_ReportData_$1137_calldata_ptr_to_t_struct$_ReportData_$1137_memory_ptr":{"entryPoint":5143,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_struct$_ReportData_$1137_memory_ptr_to_t_struct$_ReportData_$1137_memory_ptr":{"entryPoint":4493,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_uint256_to_t_uint256":{"entryPoint":3161,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_uint256_to_t_uint256_fromStack":{"entryPoint":3402,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_tuple_t_bytes_memory_ptr_t_uint256_t_uint256_t_uint256_t_uint256__to_t_bytes_memory_ptr_t_uint256_t_uint256_t_uint256_t_uint256__fromStack_reversed":{"entryPoint":3417,"id":null,"parameterSlots":6,"returnSlots":1},"abi_encode_tuple_t_struct$_AggregateData_$1205_memory_ptr__to_t_struct$_AggregateData_$1205_memory_ptr__fromStack_reversed":{"entryPoint":3294,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_struct$_OracleAttestationData_$1124_calldata_ptr__to_t_struct$_OracleAttestationData_$1124_memory_ptr__fromStack_reversed":{"entryPoint":5434,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_struct$_OracleAttestationData_$1124_memory_ptr__to_t_struct$_OracleAttestationData_$1124_memory_ptr__fromStack_reversed":{"entryPoint":4710,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed":{"entryPoint":3552,"id":null,"parameterSlots":2,"returnSlots":1},"access_calldata_tail_t_bytes_calldata_ptr":{"entryPoint":4799,"id":null,"parameterSlots":2,"returnSlots":2},"access_calldata_tail_t_struct$_ReportData_$1137_calldata_ptr":{"entryPoint":4759,"id":null,"parameterSlots":2,"returnSlots":1},"allocate_memory":{"entryPoint":2226,"id":null,"parameterSlots":1,"returnSlots":1},"allocate_unbounded":{"entryPoint":2029,"id":null,"parameterSlots":0,"returnSlots":1},"array_allocation_size_t_bytes_memory_ptr":{"entryPoint":2253,"id":null,"parameterSlots":1,"returnSlots":1},"array_dataslot_t_bytes_storage":{"entryPoint":3840,"id":null,"parameterSlots":1,"returnSlots":1},"array_length_t_bytes_memory_ptr":{"entryPoint":3034,"id":null,"parameterSlots":1,"returnSlots":1},"array_storeLengthForEncoding_t_bytes_memory_ptr":{"entryPoint":3045,"id":null,"parameterSlots":2,"returnSlots":1},"array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack":{"entryPoint":3328,"id":null,"parameterSlots":2,"returnSlots":1},"calldata_access_t_bytes32":{"entryPoint":4898,"id":null,"parameterSlots":2,"returnSlots":1},"calldata_access_t_bytes_calldata_ptr":{"entryPoint":4976,"id":null,"parameterSlots":2,"returnSlots":2},"calldata_access_t_struct$_ReportData_$1137_calldata_ptr":{"entryPoint":4926,"id":null,"parameterSlots":2,"returnSlots":1},"calldata_access_t_uint256":{"entryPoint":5120,"id":null,"parameterSlots":2,"returnSlots":1},"checked_mul_t_uint256":{"entryPoint":3678,"id":null,"parameterSlots":2,"returnSlots":1},"checked_sub_t_uint256":{"entryPoint":3626,"id":null,"parameterSlots":2,"returnSlots":1},"clean_up_bytearray_end_slots_t_bytes_storage":{"entryPoint":4127,"id":null,"parameterSlots":3,"returnSlots":0},"cleanup_t_bytes32":{"entryPoint":2049,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_uint256":{"entryPoint":2916,"id":null,"parameterSlots":1,"returnSlots":1},"clear_storage_range_t_bytes1":{"entryPoint":4092,"id":null,"parameterSlots":2,"returnSlots":0},"convert_t_uint256_to_t_uint256":{"entryPoint":3982,"id":null,"parameterSlots":1,"returnSlots":1},"copy_byte_array_to_storage_from_t_bytes_memory_ptr_to_t_bytes_storage":{"entryPoint":4268,"id":null,"parameterSlots":2,"returnSlots":0},"copy_calldata_to_memory_with_cleanup":{"entryPoint":2302,"id":null,"parameterSlots":3,"returnSlots":0},"copy_memory_to_memory_with_cleanup":{"entryPoint":3062,"id":null,"parameterSlots":3,"returnSlots":0},"divide_by_32_ceil":{"entryPoint":3861,"id":null,"parameterSlots":1,"returnSlots":1},"extract_byte_array_length":{"entryPoint":3791,"id":null,"parameterSlots":1,"returnSlots":1},"extract_used_part_and_set_length_of_short_byte_array":{"entryPoint":4240,"id":null,"parameterSlots":2,"returnSlots":1},"finalize_allocation":{"entryPoint":2177,"id":null,"parameterSlots":2,"returnSlots":0},"identity":{"entryPoint":3972,"id":null,"parameterSlots":1,"returnSlots":1},"mask_bytes_dynamic":{"entryPoint":4210,"id":null,"parameterSlots":2,"returnSlots":1},"panic_error_0x11":{"entryPoint":3579,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x22":{"entryPoint":3744,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x32":{"entryPoint":5468,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x41":{"entryPoint":2130,"id":null,"parameterSlots":0,"returnSlots":0},"prepare_store_t_uint256":{"entryPoint":4016,"id":null,"parameterSlots":1,"returnSlots":1},"revert_error_0803104b3ab68501accf02de57372b8e5e6e1582158b771d3f89279dc6822fe2":{"entryPoint":4966,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490":{"entryPoint":2557,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d":{"entryPoint":2103,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_1e55d03107e9c4f1b5e21c76a16fba166a461117ab153bcce65e6a4ea8e5fc8a":{"entryPoint":4749,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_21fe6b43b4db61d76a176e95bf1a6b9ede4c301f93a4246f41fecb96e160861d":{"entryPoint":2521,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_356d538aaf70fba12156cc466564b792649f8f3befb07b071c91142253e175ad":{"entryPoint":4744,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_3894daff73bdbb8963c284e167b207f7abade3c031c50828ea230a16bdbc0f20":{"entryPoint":4971,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef":{"entryPoint":2562,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_977805620ff29572292dee35f70b0f3f3f73d3fdd0e9f4d7a901c2e43ab18a2e":{"entryPoint":4754,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae":{"entryPoint":2108,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db":{"entryPoint":2044,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_db64ea6d4a12deece376118739de8d9f517a2db5b58ea2ca332ea908c04c71d4":{"entryPoint":4921,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b":{"entryPoint":2039,"id":null,"parameterSlots":0,"returnSlots":0},"round_up_to_mul_of_32":{"entryPoint":2113,"id":null,"parameterSlots":1,"returnSlots":1},"shift_left_dynamic":{"entryPoint":3877,"id":null,"parameterSlots":2,"returnSlots":1},"shift_right_unsigned_dynamic":{"entryPoint":4197,"id":null,"parameterSlots":2,"returnSlots":1},"storage_set_to_zero_t_uint256":{"entryPoint":4068,"id":null,"parameterSlots":2,"returnSlots":0},"update_byte_slice_dynamic32":{"entryPoint":3890,"id":null,"parameterSlots":3,"returnSlots":1},"update_storage_value_t_uint256_to_t_uint256":{"entryPoint":4026,"id":null,"parameterSlots":3,"returnSlots":0},"validator_revert_t_bytes32":{"entryPoint":2059,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_t_uint256":{"entryPoint":2926,"id":null,"parameterSlots":1,"returnSlots":0},"zero_value_for_split_t_uint256":{"entryPoint":4063,"id":null,"parameterSlots":0,"returnSlots":1}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:27777:6","statements":[{"body":{"nodeType":"YulBlock","src":"47:35:6","statements":[{"nodeType":"YulAssignment","src":"57:19:6","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"73:2:6","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"67:5:6"},"nodeType":"YulFunctionCall","src":"67:9:6"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"57:6:6"}]}]},"name":"allocate_unbounded","nodeType":"YulFunctionDefinition","returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"40:6:6","type":""}],"src":"7:75:6"},{"body":{"nodeType":"YulBlock","src":"177:28:6","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"194:1:6","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"197:1:6","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"187:6:6"},"nodeType":"YulFunctionCall","src":"187:12:6"},"nodeType":"YulExpressionStatement","src":"187:12:6"}]},"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulFunctionDefinition","src":"88:117:6"},{"body":{"nodeType":"YulBlock","src":"300:28:6","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"317:1:6","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"320:1:6","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"310:6:6"},"nodeType":"YulFunctionCall","src":"310:12:6"},"nodeType":"YulExpressionStatement","src":"310:12:6"}]},"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulFunctionDefinition","src":"211:117:6"},{"body":{"nodeType":"YulBlock","src":"379:32:6","statements":[{"nodeType":"YulAssignment","src":"389:16:6","value":{"name":"value","nodeType":"YulIdentifier","src":"400:5:6"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"389:7:6"}]}]},"name":"cleanup_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"361:5:6","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"371:7:6","type":""}],"src":"334:77:6"},{"body":{"nodeType":"YulBlock","src":"460:79:6","statements":[{"body":{"nodeType":"YulBlock","src":"517:16:6","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"526:1:6","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"529:1:6","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"519:6:6"},"nodeType":"YulFunctionCall","src":"519:12:6"},"nodeType":"YulExpressionStatement","src":"519:12:6"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"483:5:6"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"508:5:6"}],"functionName":{"name":"cleanup_t_bytes32","nodeType":"YulIdentifier","src":"490:17:6"},"nodeType":"YulFunctionCall","src":"490:24:6"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"480:2:6"},"nodeType":"YulFunctionCall","src":"480:35:6"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"473:6:6"},"nodeType":"YulFunctionCall","src":"473:43:6"},"nodeType":"YulIf","src":"470:63:6"}]},"name":"validator_revert_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"453:5:6","type":""}],"src":"417:122:6"},{"body":{"nodeType":"YulBlock","src":"597:87:6","statements":[{"nodeType":"YulAssignment","src":"607:29:6","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"629:6:6"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"616:12:6"},"nodeType":"YulFunctionCall","src":"616:20:6"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"607:5:6"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"672:5:6"}],"functionName":{"name":"validator_revert_t_bytes32","nodeType":"YulIdentifier","src":"645:26:6"},"nodeType":"YulFunctionCall","src":"645:33:6"},"nodeType":"YulExpressionStatement","src":"645:33:6"}]},"name":"abi_decode_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"575:6:6","type":""},{"name":"end","nodeType":"YulTypedName","src":"583:3:6","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"591:5:6","type":""}],"src":"545:139:6"},{"body":{"nodeType":"YulBlock","src":"779:28:6","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"796:1:6","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"799:1:6","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"789:6:6"},"nodeType":"YulFunctionCall","src":"789:12:6"},"nodeType":"YulExpressionStatement","src":"789:12:6"}]},"name":"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d","nodeType":"YulFunctionDefinition","src":"690:117:6"},{"body":{"nodeType":"YulBlock","src":"902:28:6","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"919:1:6","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"922:1:6","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"912:6:6"},"nodeType":"YulFunctionCall","src":"912:12:6"},"nodeType":"YulExpressionStatement","src":"912:12:6"}]},"name":"revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae","nodeType":"YulFunctionDefinition","src":"813:117:6"},{"body":{"nodeType":"YulBlock","src":"984:54:6","statements":[{"nodeType":"YulAssignment","src":"994:38:6","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1012:5:6"},{"kind":"number","nodeType":"YulLiteral","src":"1019:2:6","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1008:3:6"},"nodeType":"YulFunctionCall","src":"1008:14:6"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1028:2:6","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"1024:3:6"},"nodeType":"YulFunctionCall","src":"1024:7:6"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1004:3:6"},"nodeType":"YulFunctionCall","src":"1004:28:6"},"variableNames":[{"name":"result","nodeType":"YulIdentifier","src":"994:6:6"}]}]},"name":"round_up_to_mul_of_32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"967:5:6","type":""}],"returnVariables":[{"name":"result","nodeType":"YulTypedName","src":"977:6:6","type":""}],"src":"936:102:6"},{"body":{"nodeType":"YulBlock","src":"1072:152:6","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1089:1:6","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1092:77:6","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1082:6:6"},"nodeType":"YulFunctionCall","src":"1082:88:6"},"nodeType":"YulExpressionStatement","src":"1082:88:6"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1186:1:6","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"1189:4:6","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1179:6:6"},"nodeType":"YulFunctionCall","src":"1179:15:6"},"nodeType":"YulExpressionStatement","src":"1179:15:6"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1210:1:6","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1213:4:6","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1203:6:6"},"nodeType":"YulFunctionCall","src":"1203:15:6"},"nodeType":"YulExpressionStatement","src":"1203:15:6"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"1044:180:6"},{"body":{"nodeType":"YulBlock","src":"1273:238:6","statements":[{"nodeType":"YulVariableDeclaration","src":"1283:58:6","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"1305:6:6"},{"arguments":[{"name":"size","nodeType":"YulIdentifier","src":"1335:4:6"}],"functionName":{"name":"round_up_to_mul_of_32","nodeType":"YulIdentifier","src":"1313:21:6"},"nodeType":"YulFunctionCall","src":"1313:27:6"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1301:3:6"},"nodeType":"YulFunctionCall","src":"1301:40:6"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"1287:10:6","type":""}]},{"body":{"nodeType":"YulBlock","src":"1452:22:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"1454:16:6"},"nodeType":"YulFunctionCall","src":"1454:18:6"},"nodeType":"YulExpressionStatement","src":"1454:18:6"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"1395:10:6"},{"kind":"number","nodeType":"YulLiteral","src":"1407:18:6","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1392:2:6"},"nodeType":"YulFunctionCall","src":"1392:34:6"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"1431:10:6"},{"name":"memPtr","nodeType":"YulIdentifier","src":"1443:6:6"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"1428:2:6"},"nodeType":"YulFunctionCall","src":"1428:22:6"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"1389:2:6"},"nodeType":"YulFunctionCall","src":"1389:62:6"},"nodeType":"YulIf","src":"1386:88:6"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1490:2:6","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"1494:10:6"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1483:6:6"},"nodeType":"YulFunctionCall","src":"1483:22:6"},"nodeType":"YulExpressionStatement","src":"1483:22:6"}]},"name":"finalize_allocation","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"1259:6:6","type":""},{"name":"size","nodeType":"YulTypedName","src":"1267:4:6","type":""}],"src":"1230:281:6"},{"body":{"nodeType":"YulBlock","src":"1558:88:6","statements":[{"nodeType":"YulAssignment","src":"1568:30:6","value":{"arguments":[],"functionName":{"name":"allocate_unbounded","nodeType":"YulIdentifier","src":"1578:18:6"},"nodeType":"YulFunctionCall","src":"1578:20:6"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"1568:6:6"}]},{"expression":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"1627:6:6"},{"name":"size","nodeType":"YulIdentifier","src":"1635:4:6"}],"functionName":{"name":"finalize_allocation","nodeType":"YulIdentifier","src":"1607:19:6"},"nodeType":"YulFunctionCall","src":"1607:33:6"},"nodeType":"YulExpressionStatement","src":"1607:33:6"}]},"name":"allocate_memory","nodeType":"YulFunctionDefinition","parameters":[{"name":"size","nodeType":"YulTypedName","src":"1542:4:6","type":""}],"returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"1551:6:6","type":""}],"src":"1517:129:6"},{"body":{"nodeType":"YulBlock","src":"1718:241:6","statements":[{"body":{"nodeType":"YulBlock","src":"1823:22:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"1825:16:6"},"nodeType":"YulFunctionCall","src":"1825:18:6"},"nodeType":"YulExpressionStatement","src":"1825:18:6"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"1795:6:6"},{"kind":"number","nodeType":"YulLiteral","src":"1803:18:6","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1792:2:6"},"nodeType":"YulFunctionCall","src":"1792:30:6"},"nodeType":"YulIf","src":"1789:56:6"},{"nodeType":"YulAssignment","src":"1855:37:6","value":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"1885:6:6"}],"functionName":{"name":"round_up_to_mul_of_32","nodeType":"YulIdentifier","src":"1863:21:6"},"nodeType":"YulFunctionCall","src":"1863:29:6"},"variableNames":[{"name":"size","nodeType":"YulIdentifier","src":"1855:4:6"}]},{"nodeType":"YulAssignment","src":"1929:23:6","value":{"arguments":[{"name":"size","nodeType":"YulIdentifier","src":"1941:4:6"},{"kind":"number","nodeType":"YulLiteral","src":"1947:4:6","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1937:3:6"},"nodeType":"YulFunctionCall","src":"1937:15:6"},"variableNames":[{"name":"size","nodeType":"YulIdentifier","src":"1929:4:6"}]}]},"name":"array_allocation_size_t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"length","nodeType":"YulTypedName","src":"1702:6:6","type":""}],"returnVariables":[{"name":"size","nodeType":"YulTypedName","src":"1713:4:6","type":""}],"src":"1652:307:6"},{"body":{"nodeType":"YulBlock","src":"2029:82:6","statements":[{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"2052:3:6"},{"name":"src","nodeType":"YulIdentifier","src":"2057:3:6"},{"name":"length","nodeType":"YulIdentifier","src":"2062:6:6"}],"functionName":{"name":"calldatacopy","nodeType":"YulIdentifier","src":"2039:12:6"},"nodeType":"YulFunctionCall","src":"2039:30:6"},"nodeType":"YulExpressionStatement","src":"2039:30:6"},{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"2089:3:6"},{"name":"length","nodeType":"YulIdentifier","src":"2094:6:6"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2085:3:6"},"nodeType":"YulFunctionCall","src":"2085:16:6"},{"kind":"number","nodeType":"YulLiteral","src":"2103:1:6","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2078:6:6"},"nodeType":"YulFunctionCall","src":"2078:27:6"},"nodeType":"YulExpressionStatement","src":"2078:27:6"}]},"name":"copy_calldata_to_memory_with_cleanup","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"2011:3:6","type":""},{"name":"dst","nodeType":"YulTypedName","src":"2016:3:6","type":""},{"name":"length","nodeType":"YulTypedName","src":"2021:6:6","type":""}],"src":"1965:146:6"},{"body":{"nodeType":"YulBlock","src":"2200:340:6","statements":[{"nodeType":"YulAssignment","src":"2210:74:6","value":{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"2276:6:6"}],"functionName":{"name":"array_allocation_size_t_bytes_memory_ptr","nodeType":"YulIdentifier","src":"2235:40:6"},"nodeType":"YulFunctionCall","src":"2235:48:6"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"2219:15:6"},"nodeType":"YulFunctionCall","src":"2219:65:6"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"2210:5:6"}]},{"expression":{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"2300:5:6"},{"name":"length","nodeType":"YulIdentifier","src":"2307:6:6"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2293:6:6"},"nodeType":"YulFunctionCall","src":"2293:21:6"},"nodeType":"YulExpressionStatement","src":"2293:21:6"},{"nodeType":"YulVariableDeclaration","src":"2323:27:6","value":{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"2338:5:6"},{"kind":"number","nodeType":"YulLiteral","src":"2345:4:6","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2334:3:6"},"nodeType":"YulFunctionCall","src":"2334:16:6"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"2327:3:6","type":""}]},{"body":{"nodeType":"YulBlock","src":"2388:83:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae","nodeType":"YulIdentifier","src":"2390:77:6"},"nodeType":"YulFunctionCall","src":"2390:79:6"},"nodeType":"YulExpressionStatement","src":"2390:79:6"}]},"condition":{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"2369:3:6"},{"name":"length","nodeType":"YulIdentifier","src":"2374:6:6"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2365:3:6"},"nodeType":"YulFunctionCall","src":"2365:16:6"},{"name":"end","nodeType":"YulIdentifier","src":"2383:3:6"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"2362:2:6"},"nodeType":"YulFunctionCall","src":"2362:25:6"},"nodeType":"YulIf","src":"2359:112:6"},{"expression":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"2517:3:6"},{"name":"dst","nodeType":"YulIdentifier","src":"2522:3:6"},{"name":"length","nodeType":"YulIdentifier","src":"2527:6:6"}],"functionName":{"name":"copy_calldata_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"2480:36:6"},"nodeType":"YulFunctionCall","src":"2480:54:6"},"nodeType":"YulExpressionStatement","src":"2480:54:6"}]},"name":"abi_decode_available_length_t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"2173:3:6","type":""},{"name":"length","nodeType":"YulTypedName","src":"2178:6:6","type":""},{"name":"end","nodeType":"YulTypedName","src":"2186:3:6","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"2194:5:6","type":""}],"src":"2117:423:6"},{"body":{"nodeType":"YulBlock","src":"2620:277:6","statements":[{"body":{"nodeType":"YulBlock","src":"2669:83:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d","nodeType":"YulIdentifier","src":"2671:77:6"},"nodeType":"YulFunctionCall","src":"2671:79:6"},"nodeType":"YulExpressionStatement","src":"2671:79:6"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"2648:6:6"},{"kind":"number","nodeType":"YulLiteral","src":"2656:4:6","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2644:3:6"},"nodeType":"YulFunctionCall","src":"2644:17:6"},{"name":"end","nodeType":"YulIdentifier","src":"2663:3:6"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2640:3:6"},"nodeType":"YulFunctionCall","src":"2640:27:6"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"2633:6:6"},"nodeType":"YulFunctionCall","src":"2633:35:6"},"nodeType":"YulIf","src":"2630:122:6"},{"nodeType":"YulVariableDeclaration","src":"2761:34:6","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"2788:6:6"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2775:12:6"},"nodeType":"YulFunctionCall","src":"2775:20:6"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"2765:6:6","type":""}]},{"nodeType":"YulAssignment","src":"2804:87:6","value":{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"2864:6:6"},{"kind":"number","nodeType":"YulLiteral","src":"2872:4:6","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2860:3:6"},"nodeType":"YulFunctionCall","src":"2860:17:6"},{"name":"length","nodeType":"YulIdentifier","src":"2879:6:6"},{"name":"end","nodeType":"YulIdentifier","src":"2887:3:6"}],"functionName":{"name":"abi_decode_available_length_t_bytes_memory_ptr","nodeType":"YulIdentifier","src":"2813:46:6"},"nodeType":"YulFunctionCall","src":"2813:78:6"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"2804:5:6"}]}]},"name":"abi_decode_t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"2598:6:6","type":""},{"name":"end","nodeType":"YulTypedName","src":"2606:3:6","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"2614:5:6","type":""}],"src":"2559:338:6"},{"body":{"nodeType":"YulBlock","src":"2995:560:6","statements":[{"body":{"nodeType":"YulBlock","src":"3041:83:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"3043:77:6"},"nodeType":"YulFunctionCall","src":"3043:79:6"},"nodeType":"YulExpressionStatement","src":"3043:79:6"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"3016:7:6"},{"name":"headStart","nodeType":"YulIdentifier","src":"3025:9:6"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3012:3:6"},"nodeType":"YulFunctionCall","src":"3012:23:6"},{"kind":"number","nodeType":"YulLiteral","src":"3037:2:6","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"3008:3:6"},"nodeType":"YulFunctionCall","src":"3008:32:6"},"nodeType":"YulIf","src":"3005:119:6"},{"nodeType":"YulBlock","src":"3134:117:6","statements":[{"nodeType":"YulVariableDeclaration","src":"3149:15:6","value":{"kind":"number","nodeType":"YulLiteral","src":"3163:1:6","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"3153:6:6","type":""}]},{"nodeType":"YulAssignment","src":"3178:63:6","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3213:9:6"},{"name":"offset","nodeType":"YulIdentifier","src":"3224:6:6"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3209:3:6"},"nodeType":"YulFunctionCall","src":"3209:22:6"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"3233:7:6"}],"functionName":{"name":"abi_decode_t_bytes32","nodeType":"YulIdentifier","src":"3188:20:6"},"nodeType":"YulFunctionCall","src":"3188:53:6"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"3178:6:6"}]}]},{"nodeType":"YulBlock","src":"3261:287:6","statements":[{"nodeType":"YulVariableDeclaration","src":"3276:46:6","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3307:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"3318:2:6","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3303:3:6"},"nodeType":"YulFunctionCall","src":"3303:18:6"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3290:12:6"},"nodeType":"YulFunctionCall","src":"3290:32:6"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"3280:6:6","type":""}]},{"body":{"nodeType":"YulBlock","src":"3369:83:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulIdentifier","src":"3371:77:6"},"nodeType":"YulFunctionCall","src":"3371:79:6"},"nodeType":"YulExpressionStatement","src":"3371:79:6"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"3341:6:6"},{"kind":"number","nodeType":"YulLiteral","src":"3349:18:6","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"3338:2:6"},"nodeType":"YulFunctionCall","src":"3338:30:6"},"nodeType":"YulIf","src":"3335:117:6"},{"nodeType":"YulAssignment","src":"3466:72:6","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3510:9:6"},{"name":"offset","nodeType":"YulIdentifier","src":"3521:6:6"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3506:3:6"},"nodeType":"YulFunctionCall","src":"3506:22:6"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"3530:7:6"}],"functionName":{"name":"abi_decode_t_bytes_memory_ptr","nodeType":"YulIdentifier","src":"3476:29:6"},"nodeType":"YulFunctionCall","src":"3476:62:6"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"3466:6:6"}]}]}]},"name":"abi_decode_tuple_t_bytes32t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2957:9:6","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"2968:7:6","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"2980:6:6","type":""},{"name":"value1","nodeType":"YulTypedName","src":"2988:6:6","type":""}],"src":"2903:652:6"},{"body":{"nodeType":"YulBlock","src":"3650:28:6","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3667:1:6","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3670:1:6","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3660:6:6"},"nodeType":"YulFunctionCall","src":"3660:12:6"},"nodeType":"YulExpressionStatement","src":"3660:12:6"}]},"name":"revert_error_21fe6b43b4db61d76a176e95bf1a6b9ede4c301f93a4246f41fecb96e160861d","nodeType":"YulFunctionDefinition","src":"3561:117:6"},{"body":{"nodeType":"YulBlock","src":"3813:152:6","statements":[{"body":{"nodeType":"YulBlock","src":"3852:83:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_21fe6b43b4db61d76a176e95bf1a6b9ede4c301f93a4246f41fecb96e160861d","nodeType":"YulIdentifier","src":"3854:77:6"},"nodeType":"YulFunctionCall","src":"3854:79:6"},"nodeType":"YulExpressionStatement","src":"3854:79:6"}]},"condition":{"arguments":[{"arguments":[{"name":"end","nodeType":"YulIdentifier","src":"3834:3:6"},{"name":"offset","nodeType":"YulIdentifier","src":"3839:6:6"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3830:3:6"},"nodeType":"YulFunctionCall","src":"3830:16:6"},{"kind":"number","nodeType":"YulLiteral","src":"3848:2:6","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"3826:3:6"},"nodeType":"YulFunctionCall","src":"3826:25:6"},"nodeType":"YulIf","src":"3823:112:6"},{"nodeType":"YulAssignment","src":"3944:15:6","value":{"name":"offset","nodeType":"YulIdentifier","src":"3953:6:6"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"3944:5:6"}]}]},"name":"abi_decode_t_struct$_OracleAttestationData_$1124_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"3791:6:6","type":""},{"name":"end","nodeType":"YulTypedName","src":"3799:3:6","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"3807:5:6","type":""}],"src":"3720:245:6"},{"body":{"nodeType":"YulBlock","src":"4060:28:6","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4077:1:6","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4080:1:6","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4070:6:6"},"nodeType":"YulFunctionCall","src":"4070:12:6"},"nodeType":"YulExpressionStatement","src":"4070:12:6"}]},"name":"revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490","nodeType":"YulFunctionDefinition","src":"3971:117:6"},{"body":{"nodeType":"YulBlock","src":"4183:28:6","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4200:1:6","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4203:1:6","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4193:6:6"},"nodeType":"YulFunctionCall","src":"4193:12:6"},"nodeType":"YulExpressionStatement","src":"4193:12:6"}]},"name":"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef","nodeType":"YulFunctionDefinition","src":"4094:117:6"},{"body":{"nodeType":"YulBlock","src":"4362:478:6","statements":[{"body":{"nodeType":"YulBlock","src":"4411:83:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d","nodeType":"YulIdentifier","src":"4413:77:6"},"nodeType":"YulFunctionCall","src":"4413:79:6"},"nodeType":"YulExpressionStatement","src":"4413:79:6"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"4390:6:6"},{"kind":"number","nodeType":"YulLiteral","src":"4398:4:6","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4386:3:6"},"nodeType":"YulFunctionCall","src":"4386:17:6"},{"name":"end","nodeType":"YulIdentifier","src":"4405:3:6"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"4382:3:6"},"nodeType":"YulFunctionCall","src":"4382:27:6"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"4375:6:6"},"nodeType":"YulFunctionCall","src":"4375:35:6"},"nodeType":"YulIf","src":"4372:122:6"},{"nodeType":"YulAssignment","src":"4503:30:6","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"4526:6:6"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4513:12:6"},"nodeType":"YulFunctionCall","src":"4513:20:6"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"4503:6:6"}]},{"body":{"nodeType":"YulBlock","src":"4576:83:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490","nodeType":"YulIdentifier","src":"4578:77:6"},"nodeType":"YulFunctionCall","src":"4578:79:6"},"nodeType":"YulExpressionStatement","src":"4578:79:6"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"4548:6:6"},{"kind":"number","nodeType":"YulLiteral","src":"4556:18:6","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"4545:2:6"},"nodeType":"YulFunctionCall","src":"4545:30:6"},"nodeType":"YulIf","src":"4542:117:6"},{"nodeType":"YulAssignment","src":"4668:29:6","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"4684:6:6"},{"kind":"number","nodeType":"YulLiteral","src":"4692:4:6","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4680:3:6"},"nodeType":"YulFunctionCall","src":"4680:17:6"},"variableNames":[{"name":"arrayPos","nodeType":"YulIdentifier","src":"4668:8:6"}]},{"body":{"nodeType":"YulBlock","src":"4751:83:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef","nodeType":"YulIdentifier","src":"4753:77:6"},"nodeType":"YulFunctionCall","src":"4753:79:6"},"nodeType":"YulExpressionStatement","src":"4753:79:6"}]},"condition":{"arguments":[{"arguments":[{"name":"arrayPos","nodeType":"YulIdentifier","src":"4716:8:6"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"4730:6:6"},{"kind":"number","nodeType":"YulLiteral","src":"4738:4:6","type":"","value":"0x40"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"4726:3:6"},"nodeType":"YulFunctionCall","src":"4726:17:6"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4712:3:6"},"nodeType":"YulFunctionCall","src":"4712:32:6"},{"name":"end","nodeType":"YulIdentifier","src":"4746:3:6"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"4709:2:6"},"nodeType":"YulFunctionCall","src":"4709:41:6"},"nodeType":"YulIf","src":"4706:128:6"}]},"name":"abi_decode_t_array$_t_struct$_Validator_$1149_calldata_ptr_$dyn_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"4329:6:6","type":""},{"name":"end","nodeType":"YulTypedName","src":"4337:3:6","type":""}],"returnVariables":[{"name":"arrayPos","nodeType":"YulTypedName","src":"4345:8:6","type":""},{"name":"length","nodeType":"YulTypedName","src":"4355:6:6","type":""}],"src":"4243:597:6"},{"body":{"nodeType":"YulBlock","src":"4991:478:6","statements":[{"body":{"nodeType":"YulBlock","src":"5040:83:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d","nodeType":"YulIdentifier","src":"5042:77:6"},"nodeType":"YulFunctionCall","src":"5042:79:6"},"nodeType":"YulExpressionStatement","src":"5042:79:6"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"5019:6:6"},{"kind":"number","nodeType":"YulLiteral","src":"5027:4:6","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5015:3:6"},"nodeType":"YulFunctionCall","src":"5015:17:6"},{"name":"end","nodeType":"YulIdentifier","src":"5034:3:6"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"5011:3:6"},"nodeType":"YulFunctionCall","src":"5011:27:6"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"5004:6:6"},"nodeType":"YulFunctionCall","src":"5004:35:6"},"nodeType":"YulIf","src":"5001:122:6"},{"nodeType":"YulAssignment","src":"5132:30:6","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"5155:6:6"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"5142:12:6"},"nodeType":"YulFunctionCall","src":"5142:20:6"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"5132:6:6"}]},{"body":{"nodeType":"YulBlock","src":"5205:83:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490","nodeType":"YulIdentifier","src":"5207:77:6"},"nodeType":"YulFunctionCall","src":"5207:79:6"},"nodeType":"YulExpressionStatement","src":"5207:79:6"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"5177:6:6"},{"kind":"number","nodeType":"YulLiteral","src":"5185:18:6","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5174:2:6"},"nodeType":"YulFunctionCall","src":"5174:30:6"},"nodeType":"YulIf","src":"5171:117:6"},{"nodeType":"YulAssignment","src":"5297:29:6","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"5313:6:6"},{"kind":"number","nodeType":"YulLiteral","src":"5321:4:6","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5309:3:6"},"nodeType":"YulFunctionCall","src":"5309:17:6"},"variableNames":[{"name":"arrayPos","nodeType":"YulIdentifier","src":"5297:8:6"}]},{"body":{"nodeType":"YulBlock","src":"5380:83:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef","nodeType":"YulIdentifier","src":"5382:77:6"},"nodeType":"YulFunctionCall","src":"5382:79:6"},"nodeType":"YulExpressionStatement","src":"5382:79:6"}]},"condition":{"arguments":[{"arguments":[{"name":"arrayPos","nodeType":"YulIdentifier","src":"5345:8:6"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"5359:6:6"},{"kind":"number","nodeType":"YulLiteral","src":"5367:4:6","type":"","value":"0x60"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"5355:3:6"},"nodeType":"YulFunctionCall","src":"5355:17:6"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5341:3:6"},"nodeType":"YulFunctionCall","src":"5341:32:6"},{"name":"end","nodeType":"YulIdentifier","src":"5375:3:6"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5338:2:6"},"nodeType":"YulFunctionCall","src":"5338:41:6"},"nodeType":"YulIf","src":"5335:128:6"}]},"name":"abi_decode_t_array$_t_struct$_Signature_$1144_calldata_ptr_$dyn_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"4958:6:6","type":""},{"name":"end","nodeType":"YulTypedName","src":"4966:3:6","type":""}],"returnVariables":[{"name":"arrayPos","nodeType":"YulTypedName","src":"4974:8:6","type":""},{"name":"length","nodeType":"YulTypedName","src":"4984:6:6","type":""}],"src":"4872:597:6"},{"body":{"nodeType":"YulBlock","src":"5744:1168:6","statements":[{"body":{"nodeType":"YulBlock","src":"5790:83:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"5792:77:6"},"nodeType":"YulFunctionCall","src":"5792:79:6"},"nodeType":"YulExpressionStatement","src":"5792:79:6"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"5765:7:6"},{"name":"headStart","nodeType":"YulIdentifier","src":"5774:9:6"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"5761:3:6"},"nodeType":"YulFunctionCall","src":"5761:23:6"},{"kind":"number","nodeType":"YulLiteral","src":"5786:2:6","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"5757:3:6"},"nodeType":"YulFunctionCall","src":"5757:32:6"},"nodeType":"YulIf","src":"5754:119:6"},{"nodeType":"YulBlock","src":"5883:318:6","statements":[{"nodeType":"YulVariableDeclaration","src":"5898:45:6","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5929:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"5940:1:6","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5925:3:6"},"nodeType":"YulFunctionCall","src":"5925:17:6"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"5912:12:6"},"nodeType":"YulFunctionCall","src":"5912:31:6"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"5902:6:6","type":""}]},{"body":{"nodeType":"YulBlock","src":"5990:83:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulIdentifier","src":"5992:77:6"},"nodeType":"YulFunctionCall","src":"5992:79:6"},"nodeType":"YulExpressionStatement","src":"5992:79:6"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"5962:6:6"},{"kind":"number","nodeType":"YulLiteral","src":"5970:18:6","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5959:2:6"},"nodeType":"YulFunctionCall","src":"5959:30:6"},"nodeType":"YulIf","src":"5956:117:6"},{"nodeType":"YulAssignment","src":"6087:104:6","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6163:9:6"},{"name":"offset","nodeType":"YulIdentifier","src":"6174:6:6"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6159:3:6"},"nodeType":"YulFunctionCall","src":"6159:22:6"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"6183:7:6"}],"functionName":{"name":"abi_decode_t_struct$_OracleAttestationData_$1124_calldata_ptr","nodeType":"YulIdentifier","src":"6097:61:6"},"nodeType":"YulFunctionCall","src":"6097:94:6"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"6087:6:6"}]}]},{"nodeType":"YulBlock","src":"6211:342:6","statements":[{"nodeType":"YulVariableDeclaration","src":"6226:46:6","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6257:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"6268:2:6","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6253:3:6"},"nodeType":"YulFunctionCall","src":"6253:18:6"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"6240:12:6"},"nodeType":"YulFunctionCall","src":"6240:32:6"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"6230:6:6","type":""}]},{"body":{"nodeType":"YulBlock","src":"6319:83:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulIdentifier","src":"6321:77:6"},"nodeType":"YulFunctionCall","src":"6321:79:6"},"nodeType":"YulExpressionStatement","src":"6321:79:6"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"6291:6:6"},{"kind":"number","nodeType":"YulLiteral","src":"6299:18:6","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"6288:2:6"},"nodeType":"YulFunctionCall","src":"6288:30:6"},"nodeType":"YulIf","src":"6285:117:6"},{"nodeType":"YulAssignment","src":"6416:127:6","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6515:9:6"},{"name":"offset","nodeType":"YulIdentifier","src":"6526:6:6"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6511:3:6"},"nodeType":"YulFunctionCall","src":"6511:22:6"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"6535:7:6"}],"functionName":{"name":"abi_decode_t_array$_t_struct$_Validator_$1149_calldata_ptr_$dyn_calldata_ptr","nodeType":"YulIdentifier","src":"6434:76:6"},"nodeType":"YulFunctionCall","src":"6434:109:6"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"6416:6:6"},{"name":"value2","nodeType":"YulIdentifier","src":"6424:6:6"}]}]},{"nodeType":"YulBlock","src":"6563:342:6","statements":[{"nodeType":"YulVariableDeclaration","src":"6578:46:6","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6609:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"6620:2:6","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6605:3:6"},"nodeType":"YulFunctionCall","src":"6605:18:6"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"6592:12:6"},"nodeType":"YulFunctionCall","src":"6592:32:6"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"6582:6:6","type":""}]},{"body":{"nodeType":"YulBlock","src":"6671:83:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulIdentifier","src":"6673:77:6"},"nodeType":"YulFunctionCall","src":"6673:79:6"},"nodeType":"YulExpressionStatement","src":"6673:79:6"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"6643:6:6"},{"kind":"number","nodeType":"YulLiteral","src":"6651:18:6","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"6640:2:6"},"nodeType":"YulFunctionCall","src":"6640:30:6"},"nodeType":"YulIf","src":"6637:117:6"},{"nodeType":"YulAssignment","src":"6768:127:6","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6867:9:6"},{"name":"offset","nodeType":"YulIdentifier","src":"6878:6:6"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6863:3:6"},"nodeType":"YulFunctionCall","src":"6863:22:6"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"6887:7:6"}],"functionName":{"name":"abi_decode_t_array$_t_struct$_Signature_$1144_calldata_ptr_$dyn_calldata_ptr","nodeType":"YulIdentifier","src":"6786:76:6"},"nodeType":"YulFunctionCall","src":"6786:109:6"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"6768:6:6"},{"name":"value4","nodeType":"YulIdentifier","src":"6776:6:6"}]}]}]},"name":"abi_decode_tuple_t_struct$_OracleAttestationData_$1124_calldata_ptrt_array$_t_struct$_Validator_$1149_calldata_ptr_$dyn_calldata_ptrt_array$_t_struct$_Signature_$1144_calldata_ptr_$dyn_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5682:9:6","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"5693:7:6","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"5705:6:6","type":""},{"name":"value1","nodeType":"YulTypedName","src":"5713:6:6","type":""},{"name":"value2","nodeType":"YulTypedName","src":"5721:6:6","type":""},{"name":"value3","nodeType":"YulTypedName","src":"5729:6:6","type":""},{"name":"value4","nodeType":"YulTypedName","src":"5737:6:6","type":""}],"src":"5475:1437:6"},{"body":{"nodeType":"YulBlock","src":"6963:32:6","statements":[{"nodeType":"YulAssignment","src":"6973:16:6","value":{"name":"value","nodeType":"YulIdentifier","src":"6984:5:6"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"6973:7:6"}]}]},"name":"cleanup_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"6945:5:6","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"6955:7:6","type":""}],"src":"6918:77:6"},{"body":{"nodeType":"YulBlock","src":"7044:79:6","statements":[{"body":{"nodeType":"YulBlock","src":"7101:16:6","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7110:1:6","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7113:1:6","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7103:6:6"},"nodeType":"YulFunctionCall","src":"7103:12:6"},"nodeType":"YulExpressionStatement","src":"7103:12:6"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7067:5:6"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7092:5:6"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"7074:17:6"},"nodeType":"YulFunctionCall","src":"7074:24:6"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"7064:2:6"},"nodeType":"YulFunctionCall","src":"7064:35:6"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"7057:6:6"},"nodeType":"YulFunctionCall","src":"7057:43:6"},"nodeType":"YulIf","src":"7054:63:6"}]},"name":"validator_revert_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"7037:5:6","type":""}],"src":"7001:122:6"},{"body":{"nodeType":"YulBlock","src":"7181:87:6","statements":[{"nodeType":"YulAssignment","src":"7191:29:6","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"7213:6:6"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"7200:12:6"},"nodeType":"YulFunctionCall","src":"7200:20:6"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"7191:5:6"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7256:5:6"}],"functionName":{"name":"validator_revert_t_uint256","nodeType":"YulIdentifier","src":"7229:26:6"},"nodeType":"YulFunctionCall","src":"7229:33:6"},"nodeType":"YulExpressionStatement","src":"7229:33:6"}]},"name":"abi_decode_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"7159:6:6","type":""},{"name":"end","nodeType":"YulTypedName","src":"7167:3:6","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"7175:5:6","type":""}],"src":"7129:139:6"},{"body":{"nodeType":"YulBlock","src":"7357:391:6","statements":[{"body":{"nodeType":"YulBlock","src":"7403:83:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"7405:77:6"},"nodeType":"YulFunctionCall","src":"7405:79:6"},"nodeType":"YulExpressionStatement","src":"7405:79:6"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"7378:7:6"},{"name":"headStart","nodeType":"YulIdentifier","src":"7387:9:6"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"7374:3:6"},"nodeType":"YulFunctionCall","src":"7374:23:6"},{"kind":"number","nodeType":"YulLiteral","src":"7399:2:6","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"7370:3:6"},"nodeType":"YulFunctionCall","src":"7370:32:6"},"nodeType":"YulIf","src":"7367:119:6"},{"nodeType":"YulBlock","src":"7496:117:6","statements":[{"nodeType":"YulVariableDeclaration","src":"7511:15:6","value":{"kind":"number","nodeType":"YulLiteral","src":"7525:1:6","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"7515:6:6","type":""}]},{"nodeType":"YulAssignment","src":"7540:63:6","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7575:9:6"},{"name":"offset","nodeType":"YulIdentifier","src":"7586:6:6"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7571:3:6"},"nodeType":"YulFunctionCall","src":"7571:22:6"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"7595:7:6"}],"functionName":{"name":"abi_decode_t_bytes32","nodeType":"YulIdentifier","src":"7550:20:6"},"nodeType":"YulFunctionCall","src":"7550:53:6"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"7540:6:6"}]}]},{"nodeType":"YulBlock","src":"7623:118:6","statements":[{"nodeType":"YulVariableDeclaration","src":"7638:16:6","value":{"kind":"number","nodeType":"YulLiteral","src":"7652:2:6","type":"","value":"32"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"7642:6:6","type":""}]},{"nodeType":"YulAssignment","src":"7668:63:6","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7703:9:6"},{"name":"offset","nodeType":"YulIdentifier","src":"7714:6:6"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7699:3:6"},"nodeType":"YulFunctionCall","src":"7699:22:6"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"7723:7:6"}],"functionName":{"name":"abi_decode_t_uint256","nodeType":"YulIdentifier","src":"7678:20:6"},"nodeType":"YulFunctionCall","src":"7678:53:6"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"7668:6:6"}]}]}]},"name":"abi_decode_tuple_t_bytes32t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7319:9:6","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"7330:7:6","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"7342:6:6","type":""},{"name":"value1","nodeType":"YulTypedName","src":"7350:6:6","type":""}],"src":"7274:474:6"},{"body":{"nodeType":"YulBlock","src":"7812:40:6","statements":[{"nodeType":"YulAssignment","src":"7823:22:6","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7839:5:6"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"7833:5:6"},"nodeType":"YulFunctionCall","src":"7833:12:6"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"7823:6:6"}]}]},"name":"array_length_t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"7795:5:6","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"7805:6:6","type":""}],"src":"7754:98:6"},{"body":{"nodeType":"YulBlock","src":"7943:73:6","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"7960:3:6"},{"name":"length","nodeType":"YulIdentifier","src":"7965:6:6"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7953:6:6"},"nodeType":"YulFunctionCall","src":"7953:19:6"},"nodeType":"YulExpressionStatement","src":"7953:19:6"},{"nodeType":"YulAssignment","src":"7981:29:6","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"8000:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"8005:4:6","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7996:3:6"},"nodeType":"YulFunctionCall","src":"7996:14:6"},"variableNames":[{"name":"updated_pos","nodeType":"YulIdentifier","src":"7981:11:6"}]}]},"name":"array_storeLengthForEncoding_t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"7915:3:6","type":""},{"name":"length","nodeType":"YulTypedName","src":"7920:6:6","type":""}],"returnVariables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"7931:11:6","type":""}],"src":"7858:158:6"},{"body":{"nodeType":"YulBlock","src":"8084:184:6","statements":[{"nodeType":"YulVariableDeclaration","src":"8094:10:6","value":{"kind":"number","nodeType":"YulLiteral","src":"8103:1:6","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"8098:1:6","type":""}]},{"body":{"nodeType":"YulBlock","src":"8163:63:6","statements":[{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"8188:3:6"},{"name":"i","nodeType":"YulIdentifier","src":"8193:1:6"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8184:3:6"},"nodeType":"YulFunctionCall","src":"8184:11:6"},{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"8207:3:6"},{"name":"i","nodeType":"YulIdentifier","src":"8212:1:6"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8203:3:6"},"nodeType":"YulFunctionCall","src":"8203:11:6"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"8197:5:6"},"nodeType":"YulFunctionCall","src":"8197:18:6"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8177:6:6"},"nodeType":"YulFunctionCall","src":"8177:39:6"},"nodeType":"YulExpressionStatement","src":"8177:39:6"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"8124:1:6"},{"name":"length","nodeType":"YulIdentifier","src":"8127:6:6"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"8121:2:6"},"nodeType":"YulFunctionCall","src":"8121:13:6"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"8135:19:6","statements":[{"nodeType":"YulAssignment","src":"8137:15:6","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"8146:1:6"},{"kind":"number","nodeType":"YulLiteral","src":"8149:2:6","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8142:3:6"},"nodeType":"YulFunctionCall","src":"8142:10:6"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"8137:1:6"}]}]},"pre":{"nodeType":"YulBlock","src":"8117:3:6","statements":[]},"src":"8113:113:6"},{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"8246:3:6"},{"name":"length","nodeType":"YulIdentifier","src":"8251:6:6"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8242:3:6"},"nodeType":"YulFunctionCall","src":"8242:16:6"},{"kind":"number","nodeType":"YulLiteral","src":"8260:1:6","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8235:6:6"},"nodeType":"YulFunctionCall","src":"8235:27:6"},"nodeType":"YulExpressionStatement","src":"8235:27:6"}]},"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"8066:3:6","type":""},{"name":"dst","nodeType":"YulTypedName","src":"8071:3:6","type":""},{"name":"length","nodeType":"YulTypedName","src":"8076:6:6","type":""}],"src":"8022:246:6"},{"body":{"nodeType":"YulBlock","src":"8354:273:6","statements":[{"nodeType":"YulVariableDeclaration","src":"8364:52:6","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"8410:5:6"}],"functionName":{"name":"array_length_t_bytes_memory_ptr","nodeType":"YulIdentifier","src":"8378:31:6"},"nodeType":"YulFunctionCall","src":"8378:38:6"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"8368:6:6","type":""}]},{"nodeType":"YulAssignment","src":"8425:67:6","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"8480:3:6"},{"name":"length","nodeType":"YulIdentifier","src":"8485:6:6"}],"functionName":{"name":"array_storeLengthForEncoding_t_bytes_memory_ptr","nodeType":"YulIdentifier","src":"8432:47:6"},"nodeType":"YulFunctionCall","src":"8432:60:6"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"8425:3:6"}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"8540:5:6"},{"kind":"number","nodeType":"YulLiteral","src":"8547:4:6","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8536:3:6"},"nodeType":"YulFunctionCall","src":"8536:16:6"},{"name":"pos","nodeType":"YulIdentifier","src":"8554:3:6"},{"name":"length","nodeType":"YulIdentifier","src":"8559:6:6"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"8501:34:6"},"nodeType":"YulFunctionCall","src":"8501:65:6"},"nodeType":"YulExpressionStatement","src":"8501:65:6"},{"nodeType":"YulAssignment","src":"8575:46:6","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"8586:3:6"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"8613:6:6"}],"functionName":{"name":"round_up_to_mul_of_32","nodeType":"YulIdentifier","src":"8591:21:6"},"nodeType":"YulFunctionCall","src":"8591:29:6"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8582:3:6"},"nodeType":"YulFunctionCall","src":"8582:39:6"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"8575:3:6"}]}]},"name":"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"8335:5:6","type":""},{"name":"pos","nodeType":"YulTypedName","src":"8342:3:6","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"8350:3:6","type":""}],"src":"8274:353:6"},{"body":{"nodeType":"YulBlock","src":"8688:53:6","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"8705:3:6"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"8728:5:6"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"8710:17:6"},"nodeType":"YulFunctionCall","src":"8710:24:6"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8698:6:6"},"nodeType":"YulFunctionCall","src":"8698:37:6"},"nodeType":"YulExpressionStatement","src":"8698:37:6"}]},"name":"abi_encode_t_uint256_to_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"8676:5:6","type":""},{"name":"pos","nodeType":"YulTypedName","src":"8683:3:6","type":""}],"src":"8633:108:6"},{"body":{"nodeType":"YulBlock","src":"8955:1044:6","statements":[{"nodeType":"YulVariableDeclaration","src":"8965:26:6","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"8981:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"8986:4:6","type":"","value":"0xa0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8977:3:6"},"nodeType":"YulFunctionCall","src":"8977:14:6"},"variables":[{"name":"tail","nodeType":"YulTypedName","src":"8969:4:6","type":""}]},{"nodeType":"YulBlock","src":"9001:234:6","statements":[{"nodeType":"YulVariableDeclaration","src":"9037:43:6","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"9067:5:6"},{"kind":"number","nodeType":"YulLiteral","src":"9074:4:6","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9063:3:6"},"nodeType":"YulFunctionCall","src":"9063:16:6"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"9057:5:6"},"nodeType":"YulFunctionCall","src":"9057:23:6"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"9041:12:6","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"9105:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"9110:4:6","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9101:3:6"},"nodeType":"YulFunctionCall","src":"9101:14:6"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"9121:4:6"},{"name":"pos","nodeType":"YulIdentifier","src":"9127:3:6"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"9117:3:6"},"nodeType":"YulFunctionCall","src":"9117:14:6"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9094:6:6"},"nodeType":"YulFunctionCall","src":"9094:38:6"},"nodeType":"YulExpressionStatement","src":"9094:38:6"},{"nodeType":"YulAssignment","src":"9145:79:6","value":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"9205:12:6"},{"name":"tail","nodeType":"YulIdentifier","src":"9219:4:6"}],"functionName":{"name":"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr","nodeType":"YulIdentifier","src":"9153:51:6"},"nodeType":"YulFunctionCall","src":"9153:71:6"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"9145:4:6"}]}]},{"nodeType":"YulBlock","src":"9245:165:6","statements":[{"nodeType":"YulVariableDeclaration","src":"9281:43:6","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"9311:5:6"},{"kind":"number","nodeType":"YulLiteral","src":"9318:4:6","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9307:3:6"},"nodeType":"YulFunctionCall","src":"9307:16:6"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"9301:5:6"},"nodeType":"YulFunctionCall","src":"9301:23:6"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"9285:12:6","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"9371:12:6"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"9389:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"9394:4:6","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9385:3:6"},"nodeType":"YulFunctionCall","src":"9385:14:6"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256","nodeType":"YulIdentifier","src":"9337:33:6"},"nodeType":"YulFunctionCall","src":"9337:63:6"},"nodeType":"YulExpressionStatement","src":"9337:63:6"}]},{"nodeType":"YulBlock","src":"9420:178:6","statements":[{"nodeType":"YulVariableDeclaration","src":"9469:43:6","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"9499:5:6"},{"kind":"number","nodeType":"YulLiteral","src":"9506:4:6","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9495:3:6"},"nodeType":"YulFunctionCall","src":"9495:16:6"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"9489:5:6"},"nodeType":"YulFunctionCall","src":"9489:23:6"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"9473:12:6","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"9559:12:6"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"9577:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"9582:4:6","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9573:3:6"},"nodeType":"YulFunctionCall","src":"9573:14:6"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256","nodeType":"YulIdentifier","src":"9525:33:6"},"nodeType":"YulFunctionCall","src":"9525:63:6"},"nodeType":"YulExpressionStatement","src":"9525:63:6"}]},{"nodeType":"YulBlock","src":"9608:180:6","statements":[{"nodeType":"YulVariableDeclaration","src":"9659:43:6","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"9689:5:6"},{"kind":"number","nodeType":"YulLiteral","src":"9696:4:6","type":"","value":"0x60"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9685:3:6"},"nodeType":"YulFunctionCall","src":"9685:16:6"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"9679:5:6"},"nodeType":"YulFunctionCall","src":"9679:23:6"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"9663:12:6","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"9749:12:6"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"9767:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"9772:4:6","type":"","value":"0x60"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9763:3:6"},"nodeType":"YulFunctionCall","src":"9763:14:6"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256","nodeType":"YulIdentifier","src":"9715:33:6"},"nodeType":"YulFunctionCall","src":"9715:63:6"},"nodeType":"YulExpressionStatement","src":"9715:63:6"}]},{"nodeType":"YulBlock","src":"9798:174:6","statements":[{"nodeType":"YulVariableDeclaration","src":"9843:43:6","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"9873:5:6"},{"kind":"number","nodeType":"YulLiteral","src":"9880:4:6","type":"","value":"0x80"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9869:3:6"},"nodeType":"YulFunctionCall","src":"9869:16:6"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"9863:5:6"},"nodeType":"YulFunctionCall","src":"9863:23:6"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"9847:12:6","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"9933:12:6"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"9951:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"9956:4:6","type":"","value":"0x80"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9947:3:6"},"nodeType":"YulFunctionCall","src":"9947:14:6"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256","nodeType":"YulIdentifier","src":"9899:33:6"},"nodeType":"YulFunctionCall","src":"9899:63:6"},"nodeType":"YulExpressionStatement","src":"9899:63:6"}]},{"nodeType":"YulAssignment","src":"9982:11:6","value":{"name":"tail","nodeType":"YulIdentifier","src":"9989:4:6"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"9982:3:6"}]}]},"name":"abi_encode_t_struct$_AggregateData_$1205_memory_ptr_to_t_struct$_AggregateData_$1205_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"8934:5:6","type":""},{"name":"pos","nodeType":"YulTypedName","src":"8941:3:6","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"8950:3:6","type":""}],"src":"8819:1180:6"},{"body":{"nodeType":"YulBlock","src":"10165:237:6","statements":[{"nodeType":"YulAssignment","src":"10175:26:6","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10187:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"10198:2:6","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10183:3:6"},"nodeType":"YulFunctionCall","src":"10183:18:6"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"10175:4:6"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10222:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"10233:1:6","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10218:3:6"},"nodeType":"YulFunctionCall","src":"10218:17:6"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"10241:4:6"},{"name":"headStart","nodeType":"YulIdentifier","src":"10247:9:6"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"10237:3:6"},"nodeType":"YulFunctionCall","src":"10237:20:6"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10211:6:6"},"nodeType":"YulFunctionCall","src":"10211:47:6"},"nodeType":"YulExpressionStatement","src":"10211:47:6"},{"nodeType":"YulAssignment","src":"10267:128:6","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"10381:6:6"},{"name":"tail","nodeType":"YulIdentifier","src":"10390:4:6"}],"functionName":{"name":"abi_encode_t_struct$_AggregateData_$1205_memory_ptr_to_t_struct$_AggregateData_$1205_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"10275:105:6"},"nodeType":"YulFunctionCall","src":"10275:120:6"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"10267:4:6"}]}]},"name":"abi_encode_tuple_t_struct$_AggregateData_$1205_memory_ptr__to_t_struct$_AggregateData_$1205_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"10137:9:6","type":""},{"name":"value0","nodeType":"YulTypedName","src":"10149:6:6","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"10160:4:6","type":""}],"src":"10005:397:6"},{"body":{"nodeType":"YulBlock","src":"10503:73:6","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"10520:3:6"},{"name":"length","nodeType":"YulIdentifier","src":"10525:6:6"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10513:6:6"},"nodeType":"YulFunctionCall","src":"10513:19:6"},"nodeType":"YulExpressionStatement","src":"10513:19:6"},{"nodeType":"YulAssignment","src":"10541:29:6","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"10560:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"10565:4:6","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10556:3:6"},"nodeType":"YulFunctionCall","src":"10556:14:6"},"variableNames":[{"name":"updated_pos","nodeType":"YulIdentifier","src":"10541:11:6"}]}]},"name":"array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"10475:3:6","type":""},{"name":"length","nodeType":"YulTypedName","src":"10480:6:6","type":""}],"returnVariables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"10491:11:6","type":""}],"src":"10408:168:6"},{"body":{"nodeType":"YulBlock","src":"10672:283:6","statements":[{"nodeType":"YulVariableDeclaration","src":"10682:52:6","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"10728:5:6"}],"functionName":{"name":"array_length_t_bytes_memory_ptr","nodeType":"YulIdentifier","src":"10696:31:6"},"nodeType":"YulFunctionCall","src":"10696:38:6"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"10686:6:6","type":""}]},{"nodeType":"YulAssignment","src":"10743:77:6","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"10808:3:6"},{"name":"length","nodeType":"YulIdentifier","src":"10813:6:6"}],"functionName":{"name":"array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"10750:57:6"},"nodeType":"YulFunctionCall","src":"10750:70:6"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"10743:3:6"}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"10868:5:6"},{"kind":"number","nodeType":"YulLiteral","src":"10875:4:6","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10864:3:6"},"nodeType":"YulFunctionCall","src":"10864:16:6"},{"name":"pos","nodeType":"YulIdentifier","src":"10882:3:6"},{"name":"length","nodeType":"YulIdentifier","src":"10887:6:6"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"10829:34:6"},"nodeType":"YulFunctionCall","src":"10829:65:6"},"nodeType":"YulExpressionStatement","src":"10829:65:6"},{"nodeType":"YulAssignment","src":"10903:46:6","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"10914:3:6"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"10941:6:6"}],"functionName":{"name":"round_up_to_mul_of_32","nodeType":"YulIdentifier","src":"10919:21:6"},"nodeType":"YulFunctionCall","src":"10919:29:6"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10910:3:6"},"nodeType":"YulFunctionCall","src":"10910:39:6"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"10903:3:6"}]}]},"name":"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"10653:5:6","type":""},{"name":"pos","nodeType":"YulTypedName","src":"10660:3:6","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"10668:3:6","type":""}],"src":"10582:373:6"},{"body":{"nodeType":"YulBlock","src":"11026:53:6","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"11043:3:6"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"11066:5:6"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"11048:17:6"},"nodeType":"YulFunctionCall","src":"11048:24:6"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11036:6:6"},"nodeType":"YulFunctionCall","src":"11036:37:6"},"nodeType":"YulExpressionStatement","src":"11036:37:6"}]},"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"11014:5:6","type":""},{"name":"pos","nodeType":"YulTypedName","src":"11021:3:6","type":""}],"src":"10961:118:6"},{"body":{"nodeType":"YulBlock","src":"11313:523:6","statements":[{"nodeType":"YulAssignment","src":"11323:27:6","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11335:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"11346:3:6","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11331:3:6"},"nodeType":"YulFunctionCall","src":"11331:19:6"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"11323:4:6"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11371:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"11382:1:6","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11367:3:6"},"nodeType":"YulFunctionCall","src":"11367:17:6"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"11390:4:6"},{"name":"headStart","nodeType":"YulIdentifier","src":"11396:9:6"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"11386:3:6"},"nodeType":"YulFunctionCall","src":"11386:20:6"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11360:6:6"},"nodeType":"YulFunctionCall","src":"11360:47:6"},"nodeType":"YulExpressionStatement","src":"11360:47:6"},{"nodeType":"YulAssignment","src":"11416:84:6","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"11486:6:6"},{"name":"tail","nodeType":"YulIdentifier","src":"11495:4:6"}],"functionName":{"name":"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"11424:61:6"},"nodeType":"YulFunctionCall","src":"11424:76:6"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"11416:4:6"}]},{"expression":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"11554:6:6"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11567:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"11578:2:6","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11563:3:6"},"nodeType":"YulFunctionCall","src":"11563:18:6"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"11510:43:6"},"nodeType":"YulFunctionCall","src":"11510:72:6"},"nodeType":"YulExpressionStatement","src":"11510:72:6"},{"expression":{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"11636:6:6"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11649:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"11660:2:6","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11645:3:6"},"nodeType":"YulFunctionCall","src":"11645:18:6"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"11592:43:6"},"nodeType":"YulFunctionCall","src":"11592:72:6"},"nodeType":"YulExpressionStatement","src":"11592:72:6"},{"expression":{"arguments":[{"name":"value3","nodeType":"YulIdentifier","src":"11718:6:6"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11731:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"11742:2:6","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11727:3:6"},"nodeType":"YulFunctionCall","src":"11727:18:6"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"11674:43:6"},"nodeType":"YulFunctionCall","src":"11674:72:6"},"nodeType":"YulExpressionStatement","src":"11674:72:6"},{"expression":{"arguments":[{"name":"value4","nodeType":"YulIdentifier","src":"11800:6:6"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11813:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"11824:3:6","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11809:3:6"},"nodeType":"YulFunctionCall","src":"11809:19:6"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"11756:43:6"},"nodeType":"YulFunctionCall","src":"11756:73:6"},"nodeType":"YulExpressionStatement","src":"11756:73:6"}]},"name":"abi_encode_tuple_t_bytes_memory_ptr_t_uint256_t_uint256_t_uint256_t_uint256__to_t_bytes_memory_ptr_t_uint256_t_uint256_t_uint256_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"11253:9:6","type":""},{"name":"value4","nodeType":"YulTypedName","src":"11265:6:6","type":""},{"name":"value3","nodeType":"YulTypedName","src":"11273:6:6","type":""},{"name":"value2","nodeType":"YulTypedName","src":"11281:6:6","type":""},{"name":"value1","nodeType":"YulTypedName","src":"11289:6:6","type":""},{"name":"value0","nodeType":"YulTypedName","src":"11297:6:6","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"11308:4:6","type":""}],"src":"11085:751:6"},{"body":{"nodeType":"YulBlock","src":"11908:263:6","statements":[{"body":{"nodeType":"YulBlock","src":"11954:83:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"11956:77:6"},"nodeType":"YulFunctionCall","src":"11956:79:6"},"nodeType":"YulExpressionStatement","src":"11956:79:6"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"11929:7:6"},{"name":"headStart","nodeType":"YulIdentifier","src":"11938:9:6"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"11925:3:6"},"nodeType":"YulFunctionCall","src":"11925:23:6"},{"kind":"number","nodeType":"YulLiteral","src":"11950:2:6","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"11921:3:6"},"nodeType":"YulFunctionCall","src":"11921:32:6"},"nodeType":"YulIf","src":"11918:119:6"},{"nodeType":"YulBlock","src":"12047:117:6","statements":[{"nodeType":"YulVariableDeclaration","src":"12062:15:6","value":{"kind":"number","nodeType":"YulLiteral","src":"12076:1:6","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"12066:6:6","type":""}]},{"nodeType":"YulAssignment","src":"12091:63:6","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12126:9:6"},{"name":"offset","nodeType":"YulIdentifier","src":"12137:6:6"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12122:3:6"},"nodeType":"YulFunctionCall","src":"12122:22:6"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"12146:7:6"}],"functionName":{"name":"abi_decode_t_bytes32","nodeType":"YulIdentifier","src":"12101:20:6"},"nodeType":"YulFunctionCall","src":"12101:53:6"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"12091:6:6"}]}]}]},"name":"abi_decode_tuple_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"11878:9:6","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"11889:7:6","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"11901:6:6","type":""}],"src":"11842:329:6"},{"body":{"nodeType":"YulBlock","src":"12275:124:6","statements":[{"nodeType":"YulAssignment","src":"12285:26:6","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12297:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"12308:2:6","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12293:3:6"},"nodeType":"YulFunctionCall","src":"12293:18:6"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"12285:4:6"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"12365:6:6"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12378:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"12389:1:6","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12374:3:6"},"nodeType":"YulFunctionCall","src":"12374:17:6"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"12321:43:6"},"nodeType":"YulFunctionCall","src":"12321:71:6"},"nodeType":"YulExpressionStatement","src":"12321:71:6"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"12247:9:6","type":""},{"name":"value0","nodeType":"YulTypedName","src":"12259:6:6","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"12270:4:6","type":""}],"src":"12177:222:6"},{"body":{"nodeType":"YulBlock","src":"12433:152:6","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12450:1:6","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"12453:77:6","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12443:6:6"},"nodeType":"YulFunctionCall","src":"12443:88:6"},"nodeType":"YulExpressionStatement","src":"12443:88:6"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12547:1:6","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"12550:4:6","type":"","value":"0x11"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12540:6:6"},"nodeType":"YulFunctionCall","src":"12540:15:6"},"nodeType":"YulExpressionStatement","src":"12540:15:6"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12571:1:6","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"12574:4:6","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"12564:6:6"},"nodeType":"YulFunctionCall","src":"12564:15:6"},"nodeType":"YulExpressionStatement","src":"12564:15:6"}]},"name":"panic_error_0x11","nodeType":"YulFunctionDefinition","src":"12405:180:6"},{"body":{"nodeType":"YulBlock","src":"12636:149:6","statements":[{"nodeType":"YulAssignment","src":"12646:25:6","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"12669:1:6"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"12651:17:6"},"nodeType":"YulFunctionCall","src":"12651:20:6"},"variableNames":[{"name":"x","nodeType":"YulIdentifier","src":"12646:1:6"}]},{"nodeType":"YulAssignment","src":"12680:25:6","value":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"12703:1:6"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"12685:17:6"},"nodeType":"YulFunctionCall","src":"12685:20:6"},"variableNames":[{"name":"y","nodeType":"YulIdentifier","src":"12680:1:6"}]},{"nodeType":"YulAssignment","src":"12714:17:6","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"12726:1:6"},{"name":"y","nodeType":"YulIdentifier","src":"12729:1:6"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"12722:3:6"},"nodeType":"YulFunctionCall","src":"12722:9:6"},"variableNames":[{"name":"diff","nodeType":"YulIdentifier","src":"12714:4:6"}]},{"body":{"nodeType":"YulBlock","src":"12756:22:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"12758:16:6"},"nodeType":"YulFunctionCall","src":"12758:18:6"},"nodeType":"YulExpressionStatement","src":"12758:18:6"}]},"condition":{"arguments":[{"name":"diff","nodeType":"YulIdentifier","src":"12747:4:6"},{"name":"x","nodeType":"YulIdentifier","src":"12753:1:6"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"12744:2:6"},"nodeType":"YulFunctionCall","src":"12744:11:6"},"nodeType":"YulIf","src":"12741:37:6"}]},"name":"checked_sub_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"12622:1:6","type":""},{"name":"y","nodeType":"YulTypedName","src":"12625:1:6","type":""}],"returnVariables":[{"name":"diff","nodeType":"YulTypedName","src":"12631:4:6","type":""}],"src":"12591:194:6"},{"body":{"nodeType":"YulBlock","src":"12839:362:6","statements":[{"nodeType":"YulAssignment","src":"12849:25:6","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"12872:1:6"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"12854:17:6"},"nodeType":"YulFunctionCall","src":"12854:20:6"},"variableNames":[{"name":"x","nodeType":"YulIdentifier","src":"12849:1:6"}]},{"nodeType":"YulAssignment","src":"12883:25:6","value":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"12906:1:6"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"12888:17:6"},"nodeType":"YulFunctionCall","src":"12888:20:6"},"variableNames":[{"name":"y","nodeType":"YulIdentifier","src":"12883:1:6"}]},{"nodeType":"YulVariableDeclaration","src":"12917:28:6","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"12940:1:6"},{"name":"y","nodeType":"YulIdentifier","src":"12943:1:6"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"12936:3:6"},"nodeType":"YulFunctionCall","src":"12936:9:6"},"variables":[{"name":"product_raw","nodeType":"YulTypedName","src":"12921:11:6","type":""}]},{"nodeType":"YulAssignment","src":"12954:41:6","value":{"arguments":[{"name":"product_raw","nodeType":"YulIdentifier","src":"12983:11:6"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"12965:17:6"},"nodeType":"YulFunctionCall","src":"12965:30:6"},"variableNames":[{"name":"product","nodeType":"YulIdentifier","src":"12954:7:6"}]},{"body":{"nodeType":"YulBlock","src":"13172:22:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"13174:16:6"},"nodeType":"YulFunctionCall","src":"13174:18:6"},"nodeType":"YulExpressionStatement","src":"13174:18:6"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"13105:1:6"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"13098:6:6"},"nodeType":"YulFunctionCall","src":"13098:9:6"},{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"13128:1:6"},{"arguments":[{"name":"product","nodeType":"YulIdentifier","src":"13135:7:6"},{"name":"x","nodeType":"YulIdentifier","src":"13144:1:6"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"13131:3:6"},"nodeType":"YulFunctionCall","src":"13131:15:6"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"13125:2:6"},"nodeType":"YulFunctionCall","src":"13125:22:6"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"13078:2:6"},"nodeType":"YulFunctionCall","src":"13078:83:6"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"13058:6:6"},"nodeType":"YulFunctionCall","src":"13058:113:6"},"nodeType":"YulIf","src":"13055:139:6"}]},"name":"checked_mul_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"12822:1:6","type":""},{"name":"y","nodeType":"YulTypedName","src":"12825:1:6","type":""}],"returnVariables":[{"name":"product","nodeType":"YulTypedName","src":"12831:7:6","type":""}],"src":"12791:410:6"},{"body":{"nodeType":"YulBlock","src":"13235:152:6","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13252:1:6","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"13255:77:6","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13245:6:6"},"nodeType":"YulFunctionCall","src":"13245:88:6"},"nodeType":"YulExpressionStatement","src":"13245:88:6"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13349:1:6","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"13352:4:6","type":"","value":"0x22"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13342:6:6"},"nodeType":"YulFunctionCall","src":"13342:15:6"},"nodeType":"YulExpressionStatement","src":"13342:15:6"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13373:1:6","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"13376:4:6","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"13366:6:6"},"nodeType":"YulFunctionCall","src":"13366:15:6"},"nodeType":"YulExpressionStatement","src":"13366:15:6"}]},"name":"panic_error_0x22","nodeType":"YulFunctionDefinition","src":"13207:180:6"},{"body":{"nodeType":"YulBlock","src":"13444:269:6","statements":[{"nodeType":"YulAssignment","src":"13454:22:6","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"13468:4:6"},{"kind":"number","nodeType":"YulLiteral","src":"13474:1:6","type":"","value":"2"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"13464:3:6"},"nodeType":"YulFunctionCall","src":"13464:12:6"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"13454:6:6"}]},{"nodeType":"YulVariableDeclaration","src":"13485:38:6","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"13515:4:6"},{"kind":"number","nodeType":"YulLiteral","src":"13521:1:6","type":"","value":"1"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"13511:3:6"},"nodeType":"YulFunctionCall","src":"13511:12:6"},"variables":[{"name":"outOfPlaceEncoding","nodeType":"YulTypedName","src":"13489:18:6","type":""}]},{"body":{"nodeType":"YulBlock","src":"13562:51:6","statements":[{"nodeType":"YulAssignment","src":"13576:27:6","value":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"13590:6:6"},{"kind":"number","nodeType":"YulLiteral","src":"13598:4:6","type":"","value":"0x7f"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"13586:3:6"},"nodeType":"YulFunctionCall","src":"13586:17:6"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"13576:6:6"}]}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"13542:18:6"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"13535:6:6"},"nodeType":"YulFunctionCall","src":"13535:26:6"},"nodeType":"YulIf","src":"13532:81:6"},{"body":{"nodeType":"YulBlock","src":"13665:42:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x22","nodeType":"YulIdentifier","src":"13679:16:6"},"nodeType":"YulFunctionCall","src":"13679:18:6"},"nodeType":"YulExpressionStatement","src":"13679:18:6"}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"13629:18:6"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"13652:6:6"},{"kind":"number","nodeType":"YulLiteral","src":"13660:2:6","type":"","value":"32"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"13649:2:6"},"nodeType":"YulFunctionCall","src":"13649:14:6"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"13626:2:6"},"nodeType":"YulFunctionCall","src":"13626:38:6"},"nodeType":"YulIf","src":"13623:84:6"}]},"name":"extract_byte_array_length","nodeType":"YulFunctionDefinition","parameters":[{"name":"data","nodeType":"YulTypedName","src":"13428:4:6","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"13437:6:6","type":""}],"src":"13393:320:6"},{"body":{"nodeType":"YulBlock","src":"13772:87:6","statements":[{"nodeType":"YulAssignment","src":"13782:11:6","value":{"name":"ptr","nodeType":"YulIdentifier","src":"13790:3:6"},"variableNames":[{"name":"data","nodeType":"YulIdentifier","src":"13782:4:6"}]},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13810:1:6","type":"","value":"0"},{"name":"ptr","nodeType":"YulIdentifier","src":"13813:3:6"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13803:6:6"},"nodeType":"YulFunctionCall","src":"13803:14:6"},"nodeType":"YulExpressionStatement","src":"13803:14:6"},{"nodeType":"YulAssignment","src":"13826:26:6","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13844:1:6","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"13847:4:6","type":"","value":"0x20"}],"functionName":{"name":"keccak256","nodeType":"YulIdentifier","src":"13834:9:6"},"nodeType":"YulFunctionCall","src":"13834:18:6"},"variableNames":[{"name":"data","nodeType":"YulIdentifier","src":"13826:4:6"}]}]},"name":"array_dataslot_t_bytes_storage","nodeType":"YulFunctionDefinition","parameters":[{"name":"ptr","nodeType":"YulTypedName","src":"13759:3:6","type":""}],"returnVariables":[{"name":"data","nodeType":"YulTypedName","src":"13767:4:6","type":""}],"src":"13719:140:6"},{"body":{"nodeType":"YulBlock","src":"13909:49:6","statements":[{"nodeType":"YulAssignment","src":"13919:33:6","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"13937:5:6"},{"kind":"number","nodeType":"YulLiteral","src":"13944:2:6","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13933:3:6"},"nodeType":"YulFunctionCall","src":"13933:14:6"},{"kind":"number","nodeType":"YulLiteral","src":"13949:2:6","type":"","value":"32"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"13929:3:6"},"nodeType":"YulFunctionCall","src":"13929:23:6"},"variableNames":[{"name":"result","nodeType":"YulIdentifier","src":"13919:6:6"}]}]},"name":"divide_by_32_ceil","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"13892:5:6","type":""}],"returnVariables":[{"name":"result","nodeType":"YulTypedName","src":"13902:6:6","type":""}],"src":"13865:93:6"},{"body":{"nodeType":"YulBlock","src":"14017:54:6","statements":[{"nodeType":"YulAssignment","src":"14027:37:6","value":{"arguments":[{"name":"bits","nodeType":"YulIdentifier","src":"14052:4:6"},{"name":"value","nodeType":"YulIdentifier","src":"14058:5:6"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"14048:3:6"},"nodeType":"YulFunctionCall","src":"14048:16:6"},"variableNames":[{"name":"newValue","nodeType":"YulIdentifier","src":"14027:8:6"}]}]},"name":"shift_left_dynamic","nodeType":"YulFunctionDefinition","parameters":[{"name":"bits","nodeType":"YulTypedName","src":"13992:4:6","type":""},{"name":"value","nodeType":"YulTypedName","src":"13998:5:6","type":""}],"returnVariables":[{"name":"newValue","nodeType":"YulTypedName","src":"14008:8:6","type":""}],"src":"13964:107:6"},{"body":{"nodeType":"YulBlock","src":"14153:317:6","statements":[{"nodeType":"YulVariableDeclaration","src":"14163:35:6","value":{"arguments":[{"name":"shiftBytes","nodeType":"YulIdentifier","src":"14184:10:6"},{"kind":"number","nodeType":"YulLiteral","src":"14196:1:6","type":"","value":"8"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"14180:3:6"},"nodeType":"YulFunctionCall","src":"14180:18:6"},"variables":[{"name":"shiftBits","nodeType":"YulTypedName","src":"14167:9:6","type":""}]},{"nodeType":"YulVariableDeclaration","src":"14207:109:6","value":{"arguments":[{"name":"shiftBits","nodeType":"YulIdentifier","src":"14238:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"14249:66:6","type":"","value":"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"}],"functionName":{"name":"shift_left_dynamic","nodeType":"YulIdentifier","src":"14219:18:6"},"nodeType":"YulFunctionCall","src":"14219:97:6"},"variables":[{"name":"mask","nodeType":"YulTypedName","src":"14211:4:6","type":""}]},{"nodeType":"YulAssignment","src":"14325:51:6","value":{"arguments":[{"name":"shiftBits","nodeType":"YulIdentifier","src":"14356:9:6"},{"name":"toInsert","nodeType":"YulIdentifier","src":"14367:8:6"}],"functionName":{"name":"shift_left_dynamic","nodeType":"YulIdentifier","src":"14337:18:6"},"nodeType":"YulFunctionCall","src":"14337:39:6"},"variableNames":[{"name":"toInsert","nodeType":"YulIdentifier","src":"14325:8:6"}]},{"nodeType":"YulAssignment","src":"14385:30:6","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"14398:5:6"},{"arguments":[{"name":"mask","nodeType":"YulIdentifier","src":"14409:4:6"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"14405:3:6"},"nodeType":"YulFunctionCall","src":"14405:9:6"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"14394:3:6"},"nodeType":"YulFunctionCall","src":"14394:21:6"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"14385:5:6"}]},{"nodeType":"YulAssignment","src":"14424:40:6","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"14437:5:6"},{"arguments":[{"name":"toInsert","nodeType":"YulIdentifier","src":"14448:8:6"},{"name":"mask","nodeType":"YulIdentifier","src":"14458:4:6"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"14444:3:6"},"nodeType":"YulFunctionCall","src":"14444:19:6"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"14434:2:6"},"nodeType":"YulFunctionCall","src":"14434:30:6"},"variableNames":[{"name":"result","nodeType":"YulIdentifier","src":"14424:6:6"}]}]},"name":"update_byte_slice_dynamic32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"14114:5:6","type":""},{"name":"shiftBytes","nodeType":"YulTypedName","src":"14121:10:6","type":""},{"name":"toInsert","nodeType":"YulTypedName","src":"14133:8:6","type":""}],"returnVariables":[{"name":"result","nodeType":"YulTypedName","src":"14146:6:6","type":""}],"src":"14077:393:6"},{"body":{"nodeType":"YulBlock","src":"14508:28:6","statements":[{"nodeType":"YulAssignment","src":"14518:12:6","value":{"name":"value","nodeType":"YulIdentifier","src":"14525:5:6"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"14518:3:6"}]}]},"name":"identity","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"14494:5:6","type":""}],"returnVariables":[{"name":"ret","nodeType":"YulTypedName","src":"14504:3:6","type":""}],"src":"14476:60:6"},{"body":{"nodeType":"YulBlock","src":"14602:82:6","statements":[{"nodeType":"YulAssignment","src":"14612:66:6","value":{"arguments":[{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"14670:5:6"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"14652:17:6"},"nodeType":"YulFunctionCall","src":"14652:24:6"}],"functionName":{"name":"identity","nodeType":"YulIdentifier","src":"14643:8:6"},"nodeType":"YulFunctionCall","src":"14643:34:6"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"14625:17:6"},"nodeType":"YulFunctionCall","src":"14625:53:6"},"variableNames":[{"name":"converted","nodeType":"YulIdentifier","src":"14612:9:6"}]}]},"name":"convert_t_uint256_to_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"14582:5:6","type":""}],"returnVariables":[{"name":"converted","nodeType":"YulTypedName","src":"14592:9:6","type":""}],"src":"14542:142:6"},{"body":{"nodeType":"YulBlock","src":"14737:28:6","statements":[{"nodeType":"YulAssignment","src":"14747:12:6","value":{"name":"value","nodeType":"YulIdentifier","src":"14754:5:6"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"14747:3:6"}]}]},"name":"prepare_store_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"14723:5:6","type":""}],"returnVariables":[{"name":"ret","nodeType":"YulTypedName","src":"14733:3:6","type":""}],"src":"14690:75:6"},{"body":{"nodeType":"YulBlock","src":"14847:193:6","statements":[{"nodeType":"YulVariableDeclaration","src":"14857:63:6","value":{"arguments":[{"name":"value_0","nodeType":"YulIdentifier","src":"14912:7:6"}],"functionName":{"name":"convert_t_uint256_to_t_uint256","nodeType":"YulIdentifier","src":"14881:30:6"},"nodeType":"YulFunctionCall","src":"14881:39:6"},"variables":[{"name":"convertedValue_0","nodeType":"YulTypedName","src":"14861:16:6","type":""}]},{"expression":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"14936:4:6"},{"arguments":[{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"14976:4:6"}],"functionName":{"name":"sload","nodeType":"YulIdentifier","src":"14970:5:6"},"nodeType":"YulFunctionCall","src":"14970:11:6"},{"name":"offset","nodeType":"YulIdentifier","src":"14983:6:6"},{"arguments":[{"name":"convertedValue_0","nodeType":"YulIdentifier","src":"15015:16:6"}],"functionName":{"name":"prepare_store_t_uint256","nodeType":"YulIdentifier","src":"14991:23:6"},"nodeType":"YulFunctionCall","src":"14991:41:6"}],"functionName":{"name":"update_byte_slice_dynamic32","nodeType":"YulIdentifier","src":"14942:27:6"},"nodeType":"YulFunctionCall","src":"14942:91:6"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"14929:6:6"},"nodeType":"YulFunctionCall","src":"14929:105:6"},"nodeType":"YulExpressionStatement","src":"14929:105:6"}]},"name":"update_storage_value_t_uint256_to_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"slot","nodeType":"YulTypedName","src":"14824:4:6","type":""},{"name":"offset","nodeType":"YulTypedName","src":"14830:6:6","type":""},{"name":"value_0","nodeType":"YulTypedName","src":"14838:7:6","type":""}],"src":"14771:269:6"},{"body":{"nodeType":"YulBlock","src":"15095:24:6","statements":[{"nodeType":"YulAssignment","src":"15105:8:6","value":{"kind":"number","nodeType":"YulLiteral","src":"15112:1:6","type":"","value":"0"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"15105:3:6"}]}]},"name":"zero_value_for_split_t_uint256","nodeType":"YulFunctionDefinition","returnVariables":[{"name":"ret","nodeType":"YulTypedName","src":"15091:3:6","type":""}],"src":"15046:73:6"},{"body":{"nodeType":"YulBlock","src":"15178:136:6","statements":[{"nodeType":"YulVariableDeclaration","src":"15188:46:6","value":{"arguments":[],"functionName":{"name":"zero_value_for_split_t_uint256","nodeType":"YulIdentifier","src":"15202:30:6"},"nodeType":"YulFunctionCall","src":"15202:32:6"},"variables":[{"name":"zero_0","nodeType":"YulTypedName","src":"15192:6:6","type":""}]},{"expression":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"15287:4:6"},{"name":"offset","nodeType":"YulIdentifier","src":"15293:6:6"},{"name":"zero_0","nodeType":"YulIdentifier","src":"15301:6:6"}],"functionName":{"name":"update_storage_value_t_uint256_to_t_uint256","nodeType":"YulIdentifier","src":"15243:43:6"},"nodeType":"YulFunctionCall","src":"15243:65:6"},"nodeType":"YulExpressionStatement","src":"15243:65:6"}]},"name":"storage_set_to_zero_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"slot","nodeType":"YulTypedName","src":"15164:4:6","type":""},{"name":"offset","nodeType":"YulTypedName","src":"15170:6:6","type":""}],"src":"15125:189:6"},{"body":{"nodeType":"YulBlock","src":"15370:136:6","statements":[{"body":{"nodeType":"YulBlock","src":"15437:63:6","statements":[{"expression":{"arguments":[{"name":"start","nodeType":"YulIdentifier","src":"15481:5:6"},{"kind":"number","nodeType":"YulLiteral","src":"15488:1:6","type":"","value":"0"}],"functionName":{"name":"storage_set_to_zero_t_uint256","nodeType":"YulIdentifier","src":"15451:29:6"},"nodeType":"YulFunctionCall","src":"15451:39:6"},"nodeType":"YulExpressionStatement","src":"15451:39:6"}]},"condition":{"arguments":[{"name":"start","nodeType":"YulIdentifier","src":"15390:5:6"},{"name":"end","nodeType":"YulIdentifier","src":"15397:3:6"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"15387:2:6"},"nodeType":"YulFunctionCall","src":"15387:14:6"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"15402:26:6","statements":[{"nodeType":"YulAssignment","src":"15404:22:6","value":{"arguments":[{"name":"start","nodeType":"YulIdentifier","src":"15417:5:6"},{"kind":"number","nodeType":"YulLiteral","src":"15424:1:6","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15413:3:6"},"nodeType":"YulFunctionCall","src":"15413:13:6"},"variableNames":[{"name":"start","nodeType":"YulIdentifier","src":"15404:5:6"}]}]},"pre":{"nodeType":"YulBlock","src":"15384:2:6","statements":[]},"src":"15380:120:6"}]},"name":"clear_storage_range_t_bytes1","nodeType":"YulFunctionDefinition","parameters":[{"name":"start","nodeType":"YulTypedName","src":"15358:5:6","type":""},{"name":"end","nodeType":"YulTypedName","src":"15365:3:6","type":""}],"src":"15320:186:6"},{"body":{"nodeType":"YulBlock","src":"15590:463:6","statements":[{"body":{"nodeType":"YulBlock","src":"15616:430:6","statements":[{"nodeType":"YulVariableDeclaration","src":"15630:53:6","value":{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"15677:5:6"}],"functionName":{"name":"array_dataslot_t_bytes_storage","nodeType":"YulIdentifier","src":"15646:30:6"},"nodeType":"YulFunctionCall","src":"15646:37:6"},"variables":[{"name":"dataArea","nodeType":"YulTypedName","src":"15634:8:6","type":""}]},{"nodeType":"YulVariableDeclaration","src":"15696:63:6","value":{"arguments":[{"name":"dataArea","nodeType":"YulIdentifier","src":"15719:8:6"},{"arguments":[{"name":"startIndex","nodeType":"YulIdentifier","src":"15747:10:6"}],"functionName":{"name":"divide_by_32_ceil","nodeType":"YulIdentifier","src":"15729:17:6"},"nodeType":"YulFunctionCall","src":"15729:29:6"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15715:3:6"},"nodeType":"YulFunctionCall","src":"15715:44:6"},"variables":[{"name":"deleteStart","nodeType":"YulTypedName","src":"15700:11:6","type":""}]},{"body":{"nodeType":"YulBlock","src":"15916:27:6","statements":[{"nodeType":"YulAssignment","src":"15918:23:6","value":{"name":"dataArea","nodeType":"YulIdentifier","src":"15933:8:6"},"variableNames":[{"name":"deleteStart","nodeType":"YulIdentifier","src":"15918:11:6"}]}]},"condition":{"arguments":[{"name":"startIndex","nodeType":"YulIdentifier","src":"15900:10:6"},{"kind":"number","nodeType":"YulLiteral","src":"15912:2:6","type":"","value":"32"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"15897:2:6"},"nodeType":"YulFunctionCall","src":"15897:18:6"},"nodeType":"YulIf","src":"15894:49:6"},{"expression":{"arguments":[{"name":"deleteStart","nodeType":"YulIdentifier","src":"15985:11:6"},{"arguments":[{"name":"dataArea","nodeType":"YulIdentifier","src":"16002:8:6"},{"arguments":[{"name":"len","nodeType":"YulIdentifier","src":"16030:3:6"}],"functionName":{"name":"divide_by_32_ceil","nodeType":"YulIdentifier","src":"16012:17:6"},"nodeType":"YulFunctionCall","src":"16012:22:6"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15998:3:6"},"nodeType":"YulFunctionCall","src":"15998:37:6"}],"functionName":{"name":"clear_storage_range_t_bytes1","nodeType":"YulIdentifier","src":"15956:28:6"},"nodeType":"YulFunctionCall","src":"15956:80:6"},"nodeType":"YulExpressionStatement","src":"15956:80:6"}]},"condition":{"arguments":[{"name":"len","nodeType":"YulIdentifier","src":"15607:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"15612:2:6","type":"","value":"31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"15604:2:6"},"nodeType":"YulFunctionCall","src":"15604:11:6"},"nodeType":"YulIf","src":"15601:445:6"}]},"name":"clean_up_bytearray_end_slots_t_bytes_storage","nodeType":"YulFunctionDefinition","parameters":[{"name":"array","nodeType":"YulTypedName","src":"15566:5:6","type":""},{"name":"len","nodeType":"YulTypedName","src":"15573:3:6","type":""},{"name":"startIndex","nodeType":"YulTypedName","src":"15578:10:6","type":""}],"src":"15512:541:6"},{"body":{"nodeType":"YulBlock","src":"16122:54:6","statements":[{"nodeType":"YulAssignment","src":"16132:37:6","value":{"arguments":[{"name":"bits","nodeType":"YulIdentifier","src":"16157:4:6"},{"name":"value","nodeType":"YulIdentifier","src":"16163:5:6"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"16153:3:6"},"nodeType":"YulFunctionCall","src":"16153:16:6"},"variableNames":[{"name":"newValue","nodeType":"YulIdentifier","src":"16132:8:6"}]}]},"name":"shift_right_unsigned_dynamic","nodeType":"YulFunctionDefinition","parameters":[{"name":"bits","nodeType":"YulTypedName","src":"16097:4:6","type":""},{"name":"value","nodeType":"YulTypedName","src":"16103:5:6","type":""}],"returnVariables":[{"name":"newValue","nodeType":"YulTypedName","src":"16113:8:6","type":""}],"src":"16059:117:6"},{"body":{"nodeType":"YulBlock","src":"16233:118:6","statements":[{"nodeType":"YulVariableDeclaration","src":"16243:68:6","value":{"arguments":[{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"16292:1:6","type":"","value":"8"},{"name":"bytes","nodeType":"YulIdentifier","src":"16295:5:6"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"16288:3:6"},"nodeType":"YulFunctionCall","src":"16288:13:6"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"16307:1:6","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"16303:3:6"},"nodeType":"YulFunctionCall","src":"16303:6:6"}],"functionName":{"name":"shift_right_unsigned_dynamic","nodeType":"YulIdentifier","src":"16259:28:6"},"nodeType":"YulFunctionCall","src":"16259:51:6"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"16255:3:6"},"nodeType":"YulFunctionCall","src":"16255:56:6"},"variables":[{"name":"mask","nodeType":"YulTypedName","src":"16247:4:6","type":""}]},{"nodeType":"YulAssignment","src":"16320:25:6","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"16334:4:6"},{"name":"mask","nodeType":"YulIdentifier","src":"16340:4:6"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"16330:3:6"},"nodeType":"YulFunctionCall","src":"16330:15:6"},"variableNames":[{"name":"result","nodeType":"YulIdentifier","src":"16320:6:6"}]}]},"name":"mask_bytes_dynamic","nodeType":"YulFunctionDefinition","parameters":[{"name":"data","nodeType":"YulTypedName","src":"16210:4:6","type":""},{"name":"bytes","nodeType":"YulTypedName","src":"16216:5:6","type":""}],"returnVariables":[{"name":"result","nodeType":"YulTypedName","src":"16226:6:6","type":""}],"src":"16182:169:6"},{"body":{"nodeType":"YulBlock","src":"16437:214:6","statements":[{"nodeType":"YulAssignment","src":"16570:37:6","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"16597:4:6"},{"name":"len","nodeType":"YulIdentifier","src":"16603:3:6"}],"functionName":{"name":"mask_bytes_dynamic","nodeType":"YulIdentifier","src":"16578:18:6"},"nodeType":"YulFunctionCall","src":"16578:29:6"},"variableNames":[{"name":"data","nodeType":"YulIdentifier","src":"16570:4:6"}]},{"nodeType":"YulAssignment","src":"16616:29:6","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"16627:4:6"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"16637:1:6","type":"","value":"2"},{"name":"len","nodeType":"YulIdentifier","src":"16640:3:6"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"16633:3:6"},"nodeType":"YulFunctionCall","src":"16633:11:6"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"16624:2:6"},"nodeType":"YulFunctionCall","src":"16624:21:6"},"variableNames":[{"name":"used","nodeType":"YulIdentifier","src":"16616:4:6"}]}]},"name":"extract_used_part_and_set_length_of_short_byte_array","nodeType":"YulFunctionDefinition","parameters":[{"name":"data","nodeType":"YulTypedName","src":"16418:4:6","type":""},{"name":"len","nodeType":"YulTypedName","src":"16424:3:6","type":""}],"returnVariables":[{"name":"used","nodeType":"YulTypedName","src":"16432:4:6","type":""}],"src":"16356:295:6"},{"body":{"nodeType":"YulBlock","src":"16746:1300:6","statements":[{"nodeType":"YulVariableDeclaration","src":"16757:50:6","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"16803:3:6"}],"functionName":{"name":"array_length_t_bytes_memory_ptr","nodeType":"YulIdentifier","src":"16771:31:6"},"nodeType":"YulFunctionCall","src":"16771:36:6"},"variables":[{"name":"newLen","nodeType":"YulTypedName","src":"16761:6:6","type":""}]},{"body":{"nodeType":"YulBlock","src":"16892:22:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"16894:16:6"},"nodeType":"YulFunctionCall","src":"16894:18:6"},"nodeType":"YulExpressionStatement","src":"16894:18:6"}]},"condition":{"arguments":[{"name":"newLen","nodeType":"YulIdentifier","src":"16864:6:6"},{"kind":"number","nodeType":"YulLiteral","src":"16872:18:6","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"16861:2:6"},"nodeType":"YulFunctionCall","src":"16861:30:6"},"nodeType":"YulIf","src":"16858:56:6"},{"nodeType":"YulVariableDeclaration","src":"16924:52:6","value":{"arguments":[{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"16970:4:6"}],"functionName":{"name":"sload","nodeType":"YulIdentifier","src":"16964:5:6"},"nodeType":"YulFunctionCall","src":"16964:11:6"}],"functionName":{"name":"extract_byte_array_length","nodeType":"YulIdentifier","src":"16938:25:6"},"nodeType":"YulFunctionCall","src":"16938:38:6"},"variables":[{"name":"oldLen","nodeType":"YulTypedName","src":"16928:6:6","type":""}]},{"expression":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"17068:4:6"},{"name":"oldLen","nodeType":"YulIdentifier","src":"17074:6:6"},{"name":"newLen","nodeType":"YulIdentifier","src":"17082:6:6"}],"functionName":{"name":"clean_up_bytearray_end_slots_t_bytes_storage","nodeType":"YulIdentifier","src":"17023:44:6"},"nodeType":"YulFunctionCall","src":"17023:66:6"},"nodeType":"YulExpressionStatement","src":"17023:66:6"},{"nodeType":"YulVariableDeclaration","src":"17099:18:6","value":{"kind":"number","nodeType":"YulLiteral","src":"17116:1:6","type":"","value":"0"},"variables":[{"name":"srcOffset","nodeType":"YulTypedName","src":"17103:9:6","type":""}]},{"nodeType":"YulAssignment","src":"17127:17:6","value":{"kind":"number","nodeType":"YulLiteral","src":"17140:4:6","type":"","value":"0x20"},"variableNames":[{"name":"srcOffset","nodeType":"YulIdentifier","src":"17127:9:6"}]},{"cases":[{"body":{"nodeType":"YulBlock","src":"17191:610:6","statements":[{"nodeType":"YulVariableDeclaration","src":"17205:37:6","value":{"arguments":[{"name":"newLen","nodeType":"YulIdentifier","src":"17224:6:6"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17236:4:6","type":"","value":"0x1f"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"17232:3:6"},"nodeType":"YulFunctionCall","src":"17232:9:6"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"17220:3:6"},"nodeType":"YulFunctionCall","src":"17220:22:6"},"variables":[{"name":"loopEnd","nodeType":"YulTypedName","src":"17209:7:6","type":""}]},{"nodeType":"YulVariableDeclaration","src":"17256:50:6","value":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"17301:4:6"}],"functionName":{"name":"array_dataslot_t_bytes_storage","nodeType":"YulIdentifier","src":"17270:30:6"},"nodeType":"YulFunctionCall","src":"17270:36:6"},"variables":[{"name":"dstPtr","nodeType":"YulTypedName","src":"17260:6:6","type":""}]},{"nodeType":"YulVariableDeclaration","src":"17319:10:6","value":{"kind":"number","nodeType":"YulLiteral","src":"17328:1:6","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"17323:1:6","type":""}]},{"body":{"nodeType":"YulBlock","src":"17387:163:6","statements":[{"expression":{"arguments":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"17412:6:6"},{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"17430:3:6"},{"name":"srcOffset","nodeType":"YulIdentifier","src":"17435:9:6"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17426:3:6"},"nodeType":"YulFunctionCall","src":"17426:19:6"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"17420:5:6"},"nodeType":"YulFunctionCall","src":"17420:26:6"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"17405:6:6"},"nodeType":"YulFunctionCall","src":"17405:42:6"},"nodeType":"YulExpressionStatement","src":"17405:42:6"},{"nodeType":"YulAssignment","src":"17464:24:6","value":{"arguments":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"17478:6:6"},{"kind":"number","nodeType":"YulLiteral","src":"17486:1:6","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17474:3:6"},"nodeType":"YulFunctionCall","src":"17474:14:6"},"variableNames":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"17464:6:6"}]},{"nodeType":"YulAssignment","src":"17505:31:6","value":{"arguments":[{"name":"srcOffset","nodeType":"YulIdentifier","src":"17522:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"17533:2:6","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17518:3:6"},"nodeType":"YulFunctionCall","src":"17518:18:6"},"variableNames":[{"name":"srcOffset","nodeType":"YulIdentifier","src":"17505:9:6"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"17353:1:6"},{"name":"loopEnd","nodeType":"YulIdentifier","src":"17356:7:6"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"17350:2:6"},"nodeType":"YulFunctionCall","src":"17350:14:6"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"17365:21:6","statements":[{"nodeType":"YulAssignment","src":"17367:17:6","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"17376:1:6"},{"kind":"number","nodeType":"YulLiteral","src":"17379:4:6","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17372:3:6"},"nodeType":"YulFunctionCall","src":"17372:12:6"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"17367:1:6"}]}]},"pre":{"nodeType":"YulBlock","src":"17346:3:6","statements":[]},"src":"17342:208:6"},{"body":{"nodeType":"YulBlock","src":"17586:156:6","statements":[{"nodeType":"YulVariableDeclaration","src":"17604:43:6","value":{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"17631:3:6"},{"name":"srcOffset","nodeType":"YulIdentifier","src":"17636:9:6"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17627:3:6"},"nodeType":"YulFunctionCall","src":"17627:19:6"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"17621:5:6"},"nodeType":"YulFunctionCall","src":"17621:26:6"},"variables":[{"name":"lastValue","nodeType":"YulTypedName","src":"17608:9:6","type":""}]},{"expression":{"arguments":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"17671:6:6"},{"arguments":[{"name":"lastValue","nodeType":"YulIdentifier","src":"17698:9:6"},{"arguments":[{"name":"newLen","nodeType":"YulIdentifier","src":"17713:6:6"},{"kind":"number","nodeType":"YulLiteral","src":"17721:4:6","type":"","value":"0x1f"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"17709:3:6"},"nodeType":"YulFunctionCall","src":"17709:17:6"}],"functionName":{"name":"mask_bytes_dynamic","nodeType":"YulIdentifier","src":"17679:18:6"},"nodeType":"YulFunctionCall","src":"17679:48:6"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"17664:6:6"},"nodeType":"YulFunctionCall","src":"17664:64:6"},"nodeType":"YulExpressionStatement","src":"17664:64:6"}]},"condition":{"arguments":[{"name":"loopEnd","nodeType":"YulIdentifier","src":"17569:7:6"},{"name":"newLen","nodeType":"YulIdentifier","src":"17578:6:6"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"17566:2:6"},"nodeType":"YulFunctionCall","src":"17566:19:6"},"nodeType":"YulIf","src":"17563:179:6"},{"expression":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"17762:4:6"},{"arguments":[{"arguments":[{"name":"newLen","nodeType":"YulIdentifier","src":"17776:6:6"},{"kind":"number","nodeType":"YulLiteral","src":"17784:1:6","type":"","value":"2"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"17772:3:6"},"nodeType":"YulFunctionCall","src":"17772:14:6"},{"kind":"number","nodeType":"YulLiteral","src":"17788:1:6","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17768:3:6"},"nodeType":"YulFunctionCall","src":"17768:22:6"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"17755:6:6"},"nodeType":"YulFunctionCall","src":"17755:36:6"},"nodeType":"YulExpressionStatement","src":"17755:36:6"}]},"nodeType":"YulCase","src":"17184:617:6","value":{"kind":"number","nodeType":"YulLiteral","src":"17189:1:6","type":"","value":"1"}},{"body":{"nodeType":"YulBlock","src":"17818:222:6","statements":[{"nodeType":"YulVariableDeclaration","src":"17832:14:6","value":{"kind":"number","nodeType":"YulLiteral","src":"17845:1:6","type":"","value":"0"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"17836:5:6","type":""}]},{"body":{"nodeType":"YulBlock","src":"17869:67:6","statements":[{"nodeType":"YulAssignment","src":"17887:35:6","value":{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"17906:3:6"},{"name":"srcOffset","nodeType":"YulIdentifier","src":"17911:9:6"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17902:3:6"},"nodeType":"YulFunctionCall","src":"17902:19:6"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"17896:5:6"},"nodeType":"YulFunctionCall","src":"17896:26:6"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"17887:5:6"}]}]},"condition":{"name":"newLen","nodeType":"YulIdentifier","src":"17862:6:6"},"nodeType":"YulIf","src":"17859:77:6"},{"expression":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"17956:4:6"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"18015:5:6"},{"name":"newLen","nodeType":"YulIdentifier","src":"18022:6:6"}],"functionName":{"name":"extract_used_part_and_set_length_of_short_byte_array","nodeType":"YulIdentifier","src":"17962:52:6"},"nodeType":"YulFunctionCall","src":"17962:67:6"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"17949:6:6"},"nodeType":"YulFunctionCall","src":"17949:81:6"},"nodeType":"YulExpressionStatement","src":"17949:81:6"}]},"nodeType":"YulCase","src":"17810:230:6","value":"default"}],"expression":{"arguments":[{"name":"newLen","nodeType":"YulIdentifier","src":"17164:6:6"},{"kind":"number","nodeType":"YulLiteral","src":"17172:2:6","type":"","value":"31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"17161:2:6"},"nodeType":"YulFunctionCall","src":"17161:14:6"},"nodeType":"YulSwitch","src":"17154:886:6"}]},"name":"copy_byte_array_to_storage_from_t_bytes_memory_ptr_to_t_bytes_storage","nodeType":"YulFunctionDefinition","parameters":[{"name":"slot","nodeType":"YulTypedName","src":"16735:4:6","type":""},{"name":"src","nodeType":"YulTypedName","src":"16741:3:6","type":""}],"src":"16656:1390:6"},{"body":{"nodeType":"YulBlock","src":"18107:53:6","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"18124:3:6"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"18147:5:6"}],"functionName":{"name":"cleanup_t_bytes32","nodeType":"YulIdentifier","src":"18129:17:6"},"nodeType":"YulFunctionCall","src":"18129:24:6"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18117:6:6"},"nodeType":"YulFunctionCall","src":"18117:37:6"},"nodeType":"YulExpressionStatement","src":"18117:37:6"}]},"name":"abi_encode_t_bytes32_to_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"18095:5:6","type":""},{"name":"pos","nodeType":"YulTypedName","src":"18102:3:6","type":""}],"src":"18052:108:6"},{"body":{"nodeType":"YulBlock","src":"18332:1232:6","statements":[{"nodeType":"YulVariableDeclaration","src":"18342:26:6","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"18358:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"18363:4:6","type":"","value":"0xc0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18354:3:6"},"nodeType":"YulFunctionCall","src":"18354:14:6"},"variables":[{"name":"tail","nodeType":"YulTypedName","src":"18346:4:6","type":""}]},{"nodeType":"YulBlock","src":"18378:234:6","statements":[{"nodeType":"YulVariableDeclaration","src":"18414:43:6","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"18444:5:6"},{"kind":"number","nodeType":"YulLiteral","src":"18451:4:6","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18440:3:6"},"nodeType":"YulFunctionCall","src":"18440:16:6"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"18434:5:6"},"nodeType":"YulFunctionCall","src":"18434:23:6"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"18418:12:6","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"18482:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"18487:4:6","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18478:3:6"},"nodeType":"YulFunctionCall","src":"18478:14:6"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"18498:4:6"},{"name":"pos","nodeType":"YulIdentifier","src":"18504:3:6"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"18494:3:6"},"nodeType":"YulFunctionCall","src":"18494:14:6"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18471:6:6"},"nodeType":"YulFunctionCall","src":"18471:38:6"},"nodeType":"YulExpressionStatement","src":"18471:38:6"},{"nodeType":"YulAssignment","src":"18522:79:6","value":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"18582:12:6"},{"name":"tail","nodeType":"YulIdentifier","src":"18596:4:6"}],"functionName":{"name":"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr","nodeType":"YulIdentifier","src":"18530:51:6"},"nodeType":"YulFunctionCall","src":"18530:71:6"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"18522:4:6"}]}]},{"nodeType":"YulBlock","src":"18622:169:6","statements":[{"nodeType":"YulVariableDeclaration","src":"18662:43:6","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"18692:5:6"},{"kind":"number","nodeType":"YulLiteral","src":"18699:4:6","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18688:3:6"},"nodeType":"YulFunctionCall","src":"18688:16:6"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"18682:5:6"},"nodeType":"YulFunctionCall","src":"18682:23:6"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"18666:12:6","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"18752:12:6"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"18770:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"18775:4:6","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18766:3:6"},"nodeType":"YulFunctionCall","src":"18766:14:6"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256","nodeType":"YulIdentifier","src":"18718:33:6"},"nodeType":"YulFunctionCall","src":"18718:63:6"},"nodeType":"YulExpressionStatement","src":"18718:63:6"}]},{"nodeType":"YulBlock","src":"18801:174:6","statements":[{"nodeType":"YulVariableDeclaration","src":"18846:43:6","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"18876:5:6"},{"kind":"number","nodeType":"YulLiteral","src":"18883:4:6","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18872:3:6"},"nodeType":"YulFunctionCall","src":"18872:16:6"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"18866:5:6"},"nodeType":"YulFunctionCall","src":"18866:23:6"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"18850:12:6","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"18936:12:6"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"18954:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"18959:4:6","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18950:3:6"},"nodeType":"YulFunctionCall","src":"18950:14:6"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256","nodeType":"YulIdentifier","src":"18902:33:6"},"nodeType":"YulFunctionCall","src":"18902:63:6"},"nodeType":"YulExpressionStatement","src":"18902:63:6"}]},{"nodeType":"YulBlock","src":"18985:177:6","statements":[{"nodeType":"YulVariableDeclaration","src":"19033:43:6","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"19063:5:6"},{"kind":"number","nodeType":"YulLiteral","src":"19070:4:6","type":"","value":"0x60"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19059:3:6"},"nodeType":"YulFunctionCall","src":"19059:16:6"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"19053:5:6"},"nodeType":"YulFunctionCall","src":"19053:23:6"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"19037:12:6","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"19123:12:6"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"19141:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"19146:4:6","type":"","value":"0x60"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19137:3:6"},"nodeType":"YulFunctionCall","src":"19137:14:6"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256","nodeType":"YulIdentifier","src":"19089:33:6"},"nodeType":"YulFunctionCall","src":"19089:63:6"},"nodeType":"YulExpressionStatement","src":"19089:63:6"}]},{"nodeType":"YulBlock","src":"19172:173:6","statements":[{"nodeType":"YulVariableDeclaration","src":"19216:43:6","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"19246:5:6"},{"kind":"number","nodeType":"YulLiteral","src":"19253:4:6","type":"","value":"0x80"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19242:3:6"},"nodeType":"YulFunctionCall","src":"19242:16:6"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"19236:5:6"},"nodeType":"YulFunctionCall","src":"19236:23:6"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"19220:12:6","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"19306:12:6"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"19324:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"19329:4:6","type":"","value":"0x80"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19320:3:6"},"nodeType":"YulFunctionCall","src":"19320:14:6"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256","nodeType":"YulIdentifier","src":"19272:33:6"},"nodeType":"YulFunctionCall","src":"19272:63:6"},"nodeType":"YulExpressionStatement","src":"19272:63:6"}]},{"nodeType":"YulBlock","src":"19355:182:6","statements":[{"nodeType":"YulVariableDeclaration","src":"19408:43:6","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"19438:5:6"},{"kind":"number","nodeType":"YulLiteral","src":"19445:4:6","type":"","value":"0xa0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19434:3:6"},"nodeType":"YulFunctionCall","src":"19434:16:6"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"19428:5:6"},"nodeType":"YulFunctionCall","src":"19428:23:6"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"19412:12:6","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"19498:12:6"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"19516:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"19521:4:6","type":"","value":"0xa0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19512:3:6"},"nodeType":"YulFunctionCall","src":"19512:14:6"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256","nodeType":"YulIdentifier","src":"19464:33:6"},"nodeType":"YulFunctionCall","src":"19464:63:6"},"nodeType":"YulExpressionStatement","src":"19464:63:6"}]},{"nodeType":"YulAssignment","src":"19547:11:6","value":{"name":"tail","nodeType":"YulIdentifier","src":"19554:4:6"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"19547:3:6"}]}]},"name":"abi_encode_t_struct$_ReportData_$1137_memory_ptr_to_t_struct$_ReportData_$1137_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"18311:5:6","type":""},{"name":"pos","nodeType":"YulTypedName","src":"18318:3:6","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"18327:3:6","type":""}],"src":"18212:1352:6"},{"body":{"nodeType":"YulBlock","src":"19790:713:6","statements":[{"nodeType":"YulVariableDeclaration","src":"19800:26:6","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"19816:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"19821:4:6","type":"","value":"0x60"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19812:3:6"},"nodeType":"YulFunctionCall","src":"19812:14:6"},"variables":[{"name":"tail","nodeType":"YulTypedName","src":"19804:4:6","type":""}]},{"nodeType":"YulBlock","src":"19836:167:6","statements":[{"nodeType":"YulVariableDeclaration","src":"19874:43:6","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"19904:5:6"},{"kind":"number","nodeType":"YulLiteral","src":"19911:4:6","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19900:3:6"},"nodeType":"YulFunctionCall","src":"19900:16:6"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"19894:5:6"},"nodeType":"YulFunctionCall","src":"19894:23:6"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"19878:12:6","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"19964:12:6"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"19982:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"19987:4:6","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19978:3:6"},"nodeType":"YulFunctionCall","src":"19978:14:6"}],"functionName":{"name":"abi_encode_t_bytes32_to_t_bytes32","nodeType":"YulIdentifier","src":"19930:33:6"},"nodeType":"YulFunctionCall","src":"19930:63:6"},"nodeType":"YulExpressionStatement","src":"19930:63:6"}]},{"nodeType":"YulBlock","src":"20013:273:6","statements":[{"nodeType":"YulVariableDeclaration","src":"20050:43:6","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"20080:5:6"},{"kind":"number","nodeType":"YulLiteral","src":"20087:4:6","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20076:3:6"},"nodeType":"YulFunctionCall","src":"20076:16:6"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"20070:5:6"},"nodeType":"YulFunctionCall","src":"20070:23:6"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"20054:12:6","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"20118:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"20123:4:6","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20114:3:6"},"nodeType":"YulFunctionCall","src":"20114:14:6"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"20134:4:6"},{"name":"pos","nodeType":"YulIdentifier","src":"20140:3:6"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"20130:3:6"},"nodeType":"YulFunctionCall","src":"20130:14:6"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20107:6:6"},"nodeType":"YulFunctionCall","src":"20107:38:6"},"nodeType":"YulExpressionStatement","src":"20107:38:6"},{"nodeType":"YulAssignment","src":"20158:117:6","value":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"20256:12:6"},{"name":"tail","nodeType":"YulIdentifier","src":"20270:4:6"}],"functionName":{"name":"abi_encode_t_struct$_ReportData_$1137_memory_ptr_to_t_struct$_ReportData_$1137_memory_ptr","nodeType":"YulIdentifier","src":"20166:89:6"},"nodeType":"YulFunctionCall","src":"20166:109:6"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"20158:4:6"}]}]},{"nodeType":"YulBlock","src":"20296:180:6","statements":[{"nodeType":"YulVariableDeclaration","src":"20347:43:6","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"20377:5:6"},{"kind":"number","nodeType":"YulLiteral","src":"20384:4:6","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20373:3:6"},"nodeType":"YulFunctionCall","src":"20373:16:6"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"20367:5:6"},"nodeType":"YulFunctionCall","src":"20367:23:6"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"20351:12:6","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"20437:12:6"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"20455:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"20460:4:6","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20451:3:6"},"nodeType":"YulFunctionCall","src":"20451:14:6"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256","nodeType":"YulIdentifier","src":"20403:33:6"},"nodeType":"YulFunctionCall","src":"20403:63:6"},"nodeType":"YulExpressionStatement","src":"20403:63:6"}]},{"nodeType":"YulAssignment","src":"20486:11:6","value":{"name":"tail","nodeType":"YulIdentifier","src":"20493:4:6"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"20486:3:6"}]}]},"name":"abi_encode_t_struct$_OracleAttestationData_$1124_memory_ptr_to_t_struct$_OracleAttestationData_$1124_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"19769:5:6","type":""},{"name":"pos","nodeType":"YulTypedName","src":"19776:3:6","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"19785:3:6","type":""}],"src":"19638:865:6"},{"body":{"nodeType":"YulBlock","src":"20685:253:6","statements":[{"nodeType":"YulAssignment","src":"20695:26:6","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20707:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"20718:2:6","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20703:3:6"},"nodeType":"YulFunctionCall","src":"20703:18:6"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"20695:4:6"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20742:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"20753:1:6","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20738:3:6"},"nodeType":"YulFunctionCall","src":"20738:17:6"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"20761:4:6"},{"name":"headStart","nodeType":"YulIdentifier","src":"20767:9:6"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"20757:3:6"},"nodeType":"YulFunctionCall","src":"20757:20:6"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20731:6:6"},"nodeType":"YulFunctionCall","src":"20731:47:6"},"nodeType":"YulExpressionStatement","src":"20731:47:6"},{"nodeType":"YulAssignment","src":"20787:144:6","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"20917:6:6"},{"name":"tail","nodeType":"YulIdentifier","src":"20926:4:6"}],"functionName":{"name":"abi_encode_t_struct$_OracleAttestationData_$1124_memory_ptr_to_t_struct$_OracleAttestationData_$1124_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"20795:121:6"},"nodeType":"YulFunctionCall","src":"20795:136:6"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"20787:4:6"}]}]},"name":"abi_encode_tuple_t_struct$_OracleAttestationData_$1124_memory_ptr__to_t_struct$_OracleAttestationData_$1124_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"20657:9:6","type":""},{"name":"value0","nodeType":"YulTypedName","src":"20669:6:6","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"20680:4:6","type":""}],"src":"20509:429:6"},{"body":{"nodeType":"YulBlock","src":"21033:28:6","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"21050:1:6","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"21053:1:6","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"21043:6:6"},"nodeType":"YulFunctionCall","src":"21043:12:6"},"nodeType":"YulExpressionStatement","src":"21043:12:6"}]},"name":"revert_error_356d538aaf70fba12156cc466564b792649f8f3befb07b071c91142253e175ad","nodeType":"YulFunctionDefinition","src":"20944:117:6"},{"body":{"nodeType":"YulBlock","src":"21156:28:6","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"21173:1:6","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"21176:1:6","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"21166:6:6"},"nodeType":"YulFunctionCall","src":"21166:12:6"},"nodeType":"YulExpressionStatement","src":"21166:12:6"}]},"name":"revert_error_1e55d03107e9c4f1b5e21c76a16fba166a461117ab153bcce65e6a4ea8e5fc8a","nodeType":"YulFunctionDefinition","src":"21067:117:6"},{"body":{"nodeType":"YulBlock","src":"21279:28:6","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"21296:1:6","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"21299:1:6","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"21289:6:6"},"nodeType":"YulFunctionCall","src":"21289:12:6"},"nodeType":"YulExpressionStatement","src":"21289:12:6"}]},"name":"revert_error_977805620ff29572292dee35f70b0f3f3f73d3fdd0e9f4d7a901c2e43ab18a2e","nodeType":"YulFunctionDefinition","src":"21190:117:6"},{"body":{"nodeType":"YulBlock","src":"21414:295:6","statements":[{"nodeType":"YulVariableDeclaration","src":"21424:51:6","value":{"arguments":[{"name":"ptr_to_tail","nodeType":"YulIdentifier","src":"21463:11:6"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"21450:12:6"},"nodeType":"YulFunctionCall","src":"21450:25:6"},"variables":[{"name":"rel_offset_of_tail","nodeType":"YulTypedName","src":"21428:18:6","type":""}]},{"body":{"nodeType":"YulBlock","src":"21569:83:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_356d538aaf70fba12156cc466564b792649f8f3befb07b071c91142253e175ad","nodeType":"YulIdentifier","src":"21571:77:6"},"nodeType":"YulFunctionCall","src":"21571:79:6"},"nodeType":"YulExpressionStatement","src":"21571:79:6"}]},"condition":{"arguments":[{"arguments":[{"name":"rel_offset_of_tail","nodeType":"YulIdentifier","src":"21498:18:6"},{"arguments":[{"arguments":[{"arguments":[],"functionName":{"name":"calldatasize","nodeType":"YulIdentifier","src":"21526:12:6"},"nodeType":"YulFunctionCall","src":"21526:14:6"},{"name":"base_ref","nodeType":"YulIdentifier","src":"21542:8:6"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"21522:3:6"},"nodeType":"YulFunctionCall","src":"21522:29:6"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"21557:4:6","type":"","value":"0xc0"},{"kind":"number","nodeType":"YulLiteral","src":"21563:1:6","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"21553:3:6"},"nodeType":"YulFunctionCall","src":"21553:12:6"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"21518:3:6"},"nodeType":"YulFunctionCall","src":"21518:48:6"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"21494:3:6"},"nodeType":"YulFunctionCall","src":"21494:73:6"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"21487:6:6"},"nodeType":"YulFunctionCall","src":"21487:81:6"},"nodeType":"YulIf","src":"21484:168:6"},{"nodeType":"YulAssignment","src":"21661:41:6","value":{"arguments":[{"name":"base_ref","nodeType":"YulIdentifier","src":"21673:8:6"},{"name":"rel_offset_of_tail","nodeType":"YulIdentifier","src":"21683:18:6"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21669:3:6"},"nodeType":"YulFunctionCall","src":"21669:33:6"},"variableNames":[{"name":"addr","nodeType":"YulIdentifier","src":"21661:4:6"}]}]},"name":"access_calldata_tail_t_struct$_ReportData_$1137_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"base_ref","nodeType":"YulTypedName","src":"21383:8:6","type":""},{"name":"ptr_to_tail","nodeType":"YulTypedName","src":"21393:11:6","type":""}],"returnVariables":[{"name":"addr","nodeType":"YulTypedName","src":"21409:4:6","type":""}],"src":"21313:396:6"},{"body":{"nodeType":"YulBlock","src":"21805:634:6","statements":[{"nodeType":"YulVariableDeclaration","src":"21815:51:6","value":{"arguments":[{"name":"ptr_to_tail","nodeType":"YulIdentifier","src":"21854:11:6"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"21841:12:6"},"nodeType":"YulFunctionCall","src":"21841:25:6"},"variables":[{"name":"rel_offset_of_tail","nodeType":"YulTypedName","src":"21819:18:6","type":""}]},{"body":{"nodeType":"YulBlock","src":"21960:83:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_356d538aaf70fba12156cc466564b792649f8f3befb07b071c91142253e175ad","nodeType":"YulIdentifier","src":"21962:77:6"},"nodeType":"YulFunctionCall","src":"21962:79:6"},"nodeType":"YulExpressionStatement","src":"21962:79:6"}]},"condition":{"arguments":[{"arguments":[{"name":"rel_offset_of_tail","nodeType":"YulIdentifier","src":"21889:18:6"},{"arguments":[{"arguments":[{"arguments":[],"functionName":{"name":"calldatasize","nodeType":"YulIdentifier","src":"21917:12:6"},"nodeType":"YulFunctionCall","src":"21917:14:6"},{"name":"base_ref","nodeType":"YulIdentifier","src":"21933:8:6"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"21913:3:6"},"nodeType":"YulFunctionCall","src":"21913:29:6"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"21948:4:6","type":"","value":"0x20"},{"kind":"number","nodeType":"YulLiteral","src":"21954:1:6","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"21944:3:6"},"nodeType":"YulFunctionCall","src":"21944:12:6"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"21909:3:6"},"nodeType":"YulFunctionCall","src":"21909:48:6"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"21885:3:6"},"nodeType":"YulFunctionCall","src":"21885:73:6"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"21878:6:6"},"nodeType":"YulFunctionCall","src":"21878:81:6"},"nodeType":"YulIf","src":"21875:168:6"},{"nodeType":"YulAssignment","src":"22052:41:6","value":{"arguments":[{"name":"base_ref","nodeType":"YulIdentifier","src":"22064:8:6"},{"name":"rel_offset_of_tail","nodeType":"YulIdentifier","src":"22074:18:6"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22060:3:6"},"nodeType":"YulFunctionCall","src":"22060:33:6"},"variableNames":[{"name":"addr","nodeType":"YulIdentifier","src":"22052:4:6"}]},{"nodeType":"YulAssignment","src":"22103:28:6","value":{"arguments":[{"name":"addr","nodeType":"YulIdentifier","src":"22126:4:6"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"22113:12:6"},"nodeType":"YulFunctionCall","src":"22113:18:6"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"22103:6:6"}]},{"body":{"nodeType":"YulBlock","src":"22174:83:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_1e55d03107e9c4f1b5e21c76a16fba166a461117ab153bcce65e6a4ea8e5fc8a","nodeType":"YulIdentifier","src":"22176:77:6"},"nodeType":"YulFunctionCall","src":"22176:79:6"},"nodeType":"YulExpressionStatement","src":"22176:79:6"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"22146:6:6"},{"kind":"number","nodeType":"YulLiteral","src":"22154:18:6","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"22143:2:6"},"nodeType":"YulFunctionCall","src":"22143:30:6"},"nodeType":"YulIf","src":"22140:117:6"},{"nodeType":"YulAssignment","src":"22266:21:6","value":{"arguments":[{"name":"addr","nodeType":"YulIdentifier","src":"22278:4:6"},{"kind":"number","nodeType":"YulLiteral","src":"22284:2:6","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22274:3:6"},"nodeType":"YulFunctionCall","src":"22274:13:6"},"variableNames":[{"name":"addr","nodeType":"YulIdentifier","src":"22266:4:6"}]},{"body":{"nodeType":"YulBlock","src":"22349:83:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_977805620ff29572292dee35f70b0f3f3f73d3fdd0e9f4d7a901c2e43ab18a2e","nodeType":"YulIdentifier","src":"22351:77:6"},"nodeType":"YulFunctionCall","src":"22351:79:6"},"nodeType":"YulExpressionStatement","src":"22351:79:6"}]},"condition":{"arguments":[{"name":"addr","nodeType":"YulIdentifier","src":"22303:4:6"},{"arguments":[{"arguments":[],"functionName":{"name":"calldatasize","nodeType":"YulIdentifier","src":"22313:12:6"},"nodeType":"YulFunctionCall","src":"22313:14:6"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"22333:6:6"},{"kind":"number","nodeType":"YulLiteral","src":"22341:4:6","type":"","value":"0x01"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"22329:3:6"},"nodeType":"YulFunctionCall","src":"22329:17:6"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"22309:3:6"},"nodeType":"YulFunctionCall","src":"22309:38:6"}],"functionName":{"name":"sgt","nodeType":"YulIdentifier","src":"22299:3:6"},"nodeType":"YulFunctionCall","src":"22299:49:6"},"nodeType":"YulIf","src":"22296:136:6"}]},"name":"access_calldata_tail_t_bytes_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"base_ref","nodeType":"YulTypedName","src":"21766:8:6","type":""},{"name":"ptr_to_tail","nodeType":"YulTypedName","src":"21776:11:6","type":""}],"returnVariables":[{"name":"addr","nodeType":"YulTypedName","src":"21792:4:6","type":""},{"name":"length","nodeType":"YulTypedName","src":"21798:6:6","type":""}],"src":"21715:724:6"},{"body":{"nodeType":"YulBlock","src":"22503:64:6","statements":[{"nodeType":"YulAssignment","src":"22513:48:6","value":{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"22543:3:6"},{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"22552:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"22557:2:6","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22548:3:6"},"nodeType":"YulFunctionCall","src":"22548:12:6"}],"functionName":{"name":"abi_decode_t_bytes32","nodeType":"YulIdentifier","src":"22522:20:6"},"nodeType":"YulFunctionCall","src":"22522:39:6"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"22513:5:6"}]}]},"name":"calldata_access_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"baseRef","nodeType":"YulTypedName","src":"22480:7:6","type":""},{"name":"ptr","nodeType":"YulTypedName","src":"22489:3:6","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"22497:5:6","type":""}],"src":"22445:122:6"},{"body":{"nodeType":"YulBlock","src":"22662:28:6","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"22679:1:6","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"22682:1:6","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"22672:6:6"},"nodeType":"YulFunctionCall","src":"22672:12:6"},"nodeType":"YulExpressionStatement","src":"22672:12:6"}]},"name":"revert_error_db64ea6d4a12deece376118739de8d9f517a2db5b58ea2ca332ea908c04c71d4","nodeType":"YulFunctionDefinition","src":"22573:117:6"},{"body":{"nodeType":"YulBlock","src":"22785:288:6","statements":[{"nodeType":"YulVariableDeclaration","src":"22795:43:6","value":{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"22834:3:6"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"22821:12:6"},"nodeType":"YulFunctionCall","src":"22821:17:6"},"variables":[{"name":"rel_offset_of_tail","nodeType":"YulTypedName","src":"22799:18:6","type":""}]},{"body":{"nodeType":"YulBlock","src":"22932:83:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_db64ea6d4a12deece376118739de8d9f517a2db5b58ea2ca332ea908c04c71d4","nodeType":"YulIdentifier","src":"22934:77:6"},"nodeType":"YulFunctionCall","src":"22934:79:6"},"nodeType":"YulExpressionStatement","src":"22934:79:6"}]},"condition":{"arguments":[{"arguments":[{"name":"rel_offset_of_tail","nodeType":"YulIdentifier","src":"22861:18:6"},{"arguments":[{"arguments":[{"arguments":[],"functionName":{"name":"calldatasize","nodeType":"YulIdentifier","src":"22889:12:6"},"nodeType":"YulFunctionCall","src":"22889:14:6"},{"name":"base_ref","nodeType":"YulIdentifier","src":"22905:8:6"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"22885:3:6"},"nodeType":"YulFunctionCall","src":"22885:29:6"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"22920:4:6","type":"","value":"0xc0"},{"kind":"number","nodeType":"YulLiteral","src":"22926:1:6","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"22916:3:6"},"nodeType":"YulFunctionCall","src":"22916:12:6"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"22881:3:6"},"nodeType":"YulFunctionCall","src":"22881:48:6"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"22857:3:6"},"nodeType":"YulFunctionCall","src":"22857:73:6"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"22850:6:6"},"nodeType":"YulFunctionCall","src":"22850:81:6"},"nodeType":"YulIf","src":"22847:168:6"},{"nodeType":"YulAssignment","src":"23024:42:6","value":{"arguments":[{"name":"rel_offset_of_tail","nodeType":"YulIdentifier","src":"23037:18:6"},{"name":"base_ref","nodeType":"YulIdentifier","src":"23057:8:6"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23033:3:6"},"nodeType":"YulFunctionCall","src":"23033:33:6"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"23024:5:6"}]}]},"name":"calldata_access_t_struct$_ReportData_$1137_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"base_ref","nodeType":"YulTypedName","src":"22761:8:6","type":""},{"name":"ptr","nodeType":"YulTypedName","src":"22771:3:6","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"22779:5:6","type":""}],"src":"22696:377:6"},{"body":{"nodeType":"YulBlock","src":"23168:28:6","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"23185:1:6","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"23188:1:6","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"23178:6:6"},"nodeType":"YulFunctionCall","src":"23178:12:6"},"nodeType":"YulExpressionStatement","src":"23178:12:6"}]},"name":"revert_error_0803104b3ab68501accf02de57372b8e5e6e1582158b771d3f89279dc6822fe2","nodeType":"YulFunctionDefinition","src":"23079:117:6"},{"body":{"nodeType":"YulBlock","src":"23291:28:6","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"23308:1:6","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"23311:1:6","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"23301:6:6"},"nodeType":"YulFunctionCall","src":"23301:12:6"},"nodeType":"YulExpressionStatement","src":"23301:12:6"}]},"name":"revert_error_3894daff73bdbb8963c284e167b207f7abade3c031c50828ea230a16bdbc0f20","nodeType":"YulFunctionDefinition","src":"23202:117:6"},{"body":{"nodeType":"YulBlock","src":"23403:633:6","statements":[{"nodeType":"YulVariableDeclaration","src":"23413:43:6","value":{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"23452:3:6"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"23439:12:6"},"nodeType":"YulFunctionCall","src":"23439:17:6"},"variables":[{"name":"rel_offset_of_tail","nodeType":"YulTypedName","src":"23417:18:6","type":""}]},{"body":{"nodeType":"YulBlock","src":"23550:83:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_db64ea6d4a12deece376118739de8d9f517a2db5b58ea2ca332ea908c04c71d4","nodeType":"YulIdentifier","src":"23552:77:6"},"nodeType":"YulFunctionCall","src":"23552:79:6"},"nodeType":"YulExpressionStatement","src":"23552:79:6"}]},"condition":{"arguments":[{"arguments":[{"name":"rel_offset_of_tail","nodeType":"YulIdentifier","src":"23479:18:6"},{"arguments":[{"arguments":[{"arguments":[],"functionName":{"name":"calldatasize","nodeType":"YulIdentifier","src":"23507:12:6"},"nodeType":"YulFunctionCall","src":"23507:14:6"},{"name":"base_ref","nodeType":"YulIdentifier","src":"23523:8:6"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"23503:3:6"},"nodeType":"YulFunctionCall","src":"23503:29:6"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"23538:4:6","type":"","value":"0x20"},{"kind":"number","nodeType":"YulLiteral","src":"23544:1:6","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"23534:3:6"},"nodeType":"YulFunctionCall","src":"23534:12:6"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"23499:3:6"},"nodeType":"YulFunctionCall","src":"23499:48:6"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"23475:3:6"},"nodeType":"YulFunctionCall","src":"23475:73:6"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"23468:6:6"},"nodeType":"YulFunctionCall","src":"23468:81:6"},"nodeType":"YulIf","src":"23465:168:6"},{"nodeType":"YulAssignment","src":"23642:42:6","value":{"arguments":[{"name":"rel_offset_of_tail","nodeType":"YulIdentifier","src":"23655:18:6"},{"name":"base_ref","nodeType":"YulIdentifier","src":"23675:8:6"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23651:3:6"},"nodeType":"YulFunctionCall","src":"23651:33:6"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"23642:5:6"}]},{"nodeType":"YulAssignment","src":"23694:29:6","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"23717:5:6"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"23704:12:6"},"nodeType":"YulFunctionCall","src":"23704:19:6"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"23694:6:6"}]},{"nodeType":"YulAssignment","src":"23732:25:6","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"23745:5:6"},{"kind":"number","nodeType":"YulLiteral","src":"23752:4:6","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23741:3:6"},"nodeType":"YulFunctionCall","src":"23741:16:6"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"23732:5:6"}]},{"body":{"nodeType":"YulBlock","src":"23800:83:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_0803104b3ab68501accf02de57372b8e5e6e1582158b771d3f89279dc6822fe2","nodeType":"YulIdentifier","src":"23802:77:6"},"nodeType":"YulFunctionCall","src":"23802:79:6"},"nodeType":"YulExpressionStatement","src":"23802:79:6"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"23772:6:6"},{"kind":"number","nodeType":"YulLiteral","src":"23780:18:6","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"23769:2:6"},"nodeType":"YulFunctionCall","src":"23769:30:6"},"nodeType":"YulIf","src":"23766:117:6"},{"body":{"nodeType":"YulBlock","src":"23946:83:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_3894daff73bdbb8963c284e167b207f7abade3c031c50828ea230a16bdbc0f20","nodeType":"YulIdentifier","src":"23948:77:6"},"nodeType":"YulFunctionCall","src":"23948:79:6"},"nodeType":"YulExpressionStatement","src":"23948:79:6"}]},"condition":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"23899:5:6"},{"arguments":[{"arguments":[],"functionName":{"name":"calldatasize","nodeType":"YulIdentifier","src":"23910:12:6"},"nodeType":"YulFunctionCall","src":"23910:14:6"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"23930:6:6"},{"kind":"number","nodeType":"YulLiteral","src":"23938:4:6","type":"","value":"0x01"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"23926:3:6"},"nodeType":"YulFunctionCall","src":"23926:17:6"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"23906:3:6"},"nodeType":"YulFunctionCall","src":"23906:38:6"}],"functionName":{"name":"sgt","nodeType":"YulIdentifier","src":"23895:3:6"},"nodeType":"YulFunctionCall","src":"23895:50:6"},"nodeType":"YulIf","src":"23892:137:6"}]},"name":"calldata_access_t_bytes_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"base_ref","nodeType":"YulTypedName","src":"23371:8:6","type":""},{"name":"ptr","nodeType":"YulTypedName","src":"23381:3:6","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"23389:5:6","type":""},{"name":"length","nodeType":"YulTypedName","src":"23396:6:6","type":""}],"src":"23325:711:6"},{"body":{"nodeType":"YulBlock","src":"24154:204:6","statements":[{"nodeType":"YulAssignment","src":"24164:67:6","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"24219:3:6"},{"name":"length","nodeType":"YulIdentifier","src":"24224:6:6"}],"functionName":{"name":"array_storeLengthForEncoding_t_bytes_memory_ptr","nodeType":"YulIdentifier","src":"24171:47:6"},"nodeType":"YulFunctionCall","src":"24171:60:6"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"24164:3:6"}]},{"expression":{"arguments":[{"name":"start","nodeType":"YulIdentifier","src":"24278:5:6"},{"name":"pos","nodeType":"YulIdentifier","src":"24285:3:6"},{"name":"length","nodeType":"YulIdentifier","src":"24290:6:6"}],"functionName":{"name":"copy_calldata_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"24241:36:6"},"nodeType":"YulFunctionCall","src":"24241:56:6"},"nodeType":"YulExpressionStatement","src":"24241:56:6"},{"nodeType":"YulAssignment","src":"24306:46:6","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"24317:3:6"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"24344:6:6"}],"functionName":{"name":"round_up_to_mul_of_32","nodeType":"YulIdentifier","src":"24322:21:6"},"nodeType":"YulFunctionCall","src":"24322:29:6"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24313:3:6"},"nodeType":"YulFunctionCall","src":"24313:39:6"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"24306:3:6"}]}]},"name":"abi_encode_t_bytes_calldata_ptr_to_t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"start","nodeType":"YulTypedName","src":"24127:5:6","type":""},{"name":"length","nodeType":"YulTypedName","src":"24134:6:6","type":""},{"name":"pos","nodeType":"YulTypedName","src":"24142:3:6","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"24150:3:6","type":""}],"src":"24064:294:6"},{"body":{"nodeType":"YulBlock","src":"24422:64:6","statements":[{"nodeType":"YulAssignment","src":"24432:48:6","value":{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"24462:3:6"},{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"24471:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"24476:2:6","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24467:3:6"},"nodeType":"YulFunctionCall","src":"24467:12:6"}],"functionName":{"name":"abi_decode_t_uint256","nodeType":"YulIdentifier","src":"24441:20:6"},"nodeType":"YulFunctionCall","src":"24441:39:6"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"24432:5:6"}]}]},"name":"calldata_access_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"baseRef","nodeType":"YulTypedName","src":"24399:7:6","type":""},{"name":"ptr","nodeType":"YulTypedName","src":"24408:3:6","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"24416:5:6","type":""}],"src":"24364:122:6"},{"body":{"nodeType":"YulBlock","src":"24660:1435:6","statements":[{"nodeType":"YulVariableDeclaration","src":"24670:26:6","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"24686:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"24691:4:6","type":"","value":"0xc0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24682:3:6"},"nodeType":"YulFunctionCall","src":"24682:14:6"},"variables":[{"name":"tail","nodeType":"YulTypedName","src":"24674:4:6","type":""}]},{"nodeType":"YulBlock","src":"24706:302:6","statements":[{"nodeType":"YulVariableDeclaration","src":"24742:95:6","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"24813:5:6"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"24824:5:6"},{"kind":"number","nodeType":"YulLiteral","src":"24831:4:6","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24820:3:6"},"nodeType":"YulFunctionCall","src":"24820:16:6"}],"functionName":{"name":"calldata_access_t_bytes_calldata_ptr","nodeType":"YulIdentifier","src":"24776:36:6"},"nodeType":"YulFunctionCall","src":"24776:61:6"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"24746:12:6","type":""},{"name":"memberValue1","nodeType":"YulTypedName","src":"24760:12:6","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"24862:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"24867:4:6","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24858:3:6"},"nodeType":"YulFunctionCall","src":"24858:14:6"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"24878:4:6"},{"name":"pos","nodeType":"YulIdentifier","src":"24884:3:6"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"24874:3:6"},"nodeType":"YulFunctionCall","src":"24874:14:6"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24851:6:6"},"nodeType":"YulFunctionCall","src":"24851:38:6"},"nodeType":"YulExpressionStatement","src":"24851:38:6"},{"nodeType":"YulAssignment","src":"24902:95:6","value":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"24964:12:6"},{"name":"memberValue1","nodeType":"YulIdentifier","src":"24978:12:6"},{"name":"tail","nodeType":"YulIdentifier","src":"24992:4:6"}],"functionName":{"name":"abi_encode_t_bytes_calldata_ptr_to_t_bytes_memory_ptr","nodeType":"YulIdentifier","src":"24910:53:6"},"nodeType":"YulFunctionCall","src":"24910:87:6"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"24902:4:6"}]}]},{"nodeType":"YulBlock","src":"25018:196:6","statements":[{"nodeType":"YulVariableDeclaration","src":"25058:70:6","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"25104:5:6"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"25115:5:6"},{"kind":"number","nodeType":"YulLiteral","src":"25122:4:6","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25111:3:6"},"nodeType":"YulFunctionCall","src":"25111:16:6"}],"functionName":{"name":"calldata_access_t_uint256","nodeType":"YulIdentifier","src":"25078:25:6"},"nodeType":"YulFunctionCall","src":"25078:50:6"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"25062:12:6","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"25175:12:6"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"25193:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"25198:4:6","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25189:3:6"},"nodeType":"YulFunctionCall","src":"25189:14:6"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256","nodeType":"YulIdentifier","src":"25141:33:6"},"nodeType":"YulFunctionCall","src":"25141:63:6"},"nodeType":"YulExpressionStatement","src":"25141:63:6"}]},{"nodeType":"YulBlock","src":"25224:201:6","statements":[{"nodeType":"YulVariableDeclaration","src":"25269:70:6","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"25315:5:6"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"25326:5:6"},{"kind":"number","nodeType":"YulLiteral","src":"25333:4:6","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25322:3:6"},"nodeType":"YulFunctionCall","src":"25322:16:6"}],"functionName":{"name":"calldata_access_t_uint256","nodeType":"YulIdentifier","src":"25289:25:6"},"nodeType":"YulFunctionCall","src":"25289:50:6"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"25273:12:6","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"25386:12:6"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"25404:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"25409:4:6","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25400:3:6"},"nodeType":"YulFunctionCall","src":"25400:14:6"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256","nodeType":"YulIdentifier","src":"25352:33:6"},"nodeType":"YulFunctionCall","src":"25352:63:6"},"nodeType":"YulExpressionStatement","src":"25352:63:6"}]},{"nodeType":"YulBlock","src":"25435:204:6","statements":[{"nodeType":"YulVariableDeclaration","src":"25483:70:6","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"25529:5:6"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"25540:5:6"},{"kind":"number","nodeType":"YulLiteral","src":"25547:4:6","type":"","value":"0x60"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25536:3:6"},"nodeType":"YulFunctionCall","src":"25536:16:6"}],"functionName":{"name":"calldata_access_t_uint256","nodeType":"YulIdentifier","src":"25503:25:6"},"nodeType":"YulFunctionCall","src":"25503:50:6"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"25487:12:6","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"25600:12:6"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"25618:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"25623:4:6","type":"","value":"0x60"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25614:3:6"},"nodeType":"YulFunctionCall","src":"25614:14:6"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256","nodeType":"YulIdentifier","src":"25566:33:6"},"nodeType":"YulFunctionCall","src":"25566:63:6"},"nodeType":"YulExpressionStatement","src":"25566:63:6"}]},{"nodeType":"YulBlock","src":"25649:200:6","statements":[{"nodeType":"YulVariableDeclaration","src":"25693:70:6","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"25739:5:6"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"25750:5:6"},{"kind":"number","nodeType":"YulLiteral","src":"25757:4:6","type":"","value":"0x80"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25746:3:6"},"nodeType":"YulFunctionCall","src":"25746:16:6"}],"functionName":{"name":"calldata_access_t_uint256","nodeType":"YulIdentifier","src":"25713:25:6"},"nodeType":"YulFunctionCall","src":"25713:50:6"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"25697:12:6","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"25810:12:6"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"25828:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"25833:4:6","type":"","value":"0x80"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25824:3:6"},"nodeType":"YulFunctionCall","src":"25824:14:6"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256","nodeType":"YulIdentifier","src":"25776:33:6"},"nodeType":"YulFunctionCall","src":"25776:63:6"},"nodeType":"YulExpressionStatement","src":"25776:63:6"}]},{"nodeType":"YulBlock","src":"25859:209:6","statements":[{"nodeType":"YulVariableDeclaration","src":"25912:70:6","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"25958:5:6"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"25969:5:6"},{"kind":"number","nodeType":"YulLiteral","src":"25976:4:6","type":"","value":"0xa0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25965:3:6"},"nodeType":"YulFunctionCall","src":"25965:16:6"}],"functionName":{"name":"calldata_access_t_uint256","nodeType":"YulIdentifier","src":"25932:25:6"},"nodeType":"YulFunctionCall","src":"25932:50:6"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"25916:12:6","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"26029:12:6"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"26047:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"26052:4:6","type":"","value":"0xa0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26043:3:6"},"nodeType":"YulFunctionCall","src":"26043:14:6"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256","nodeType":"YulIdentifier","src":"25995:33:6"},"nodeType":"YulFunctionCall","src":"25995:63:6"},"nodeType":"YulExpressionStatement","src":"25995:63:6"}]},{"nodeType":"YulAssignment","src":"26078:11:6","value":{"name":"tail","nodeType":"YulIdentifier","src":"26085:4:6"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"26078:3:6"}]}]},"name":"abi_encode_t_struct$_ReportData_$1137_calldata_ptr_to_t_struct$_ReportData_$1137_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"24639:5:6","type":""},{"name":"pos","nodeType":"YulTypedName","src":"24646:3:6","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"24655:3:6","type":""}],"src":"24538:1557:6"},{"body":{"nodeType":"YulBlock","src":"26323:826:6","statements":[{"nodeType":"YulVariableDeclaration","src":"26333:26:6","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"26349:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"26354:4:6","type":"","value":"0x60"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26345:3:6"},"nodeType":"YulFunctionCall","src":"26345:14:6"},"variables":[{"name":"tail","nodeType":"YulTypedName","src":"26337:4:6","type":""}]},{"nodeType":"YulBlock","src":"26369:194:6","statements":[{"nodeType":"YulVariableDeclaration","src":"26407:70:6","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"26453:5:6"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"26464:5:6"},{"kind":"number","nodeType":"YulLiteral","src":"26471:4:6","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26460:3:6"},"nodeType":"YulFunctionCall","src":"26460:16:6"}],"functionName":{"name":"calldata_access_t_bytes32","nodeType":"YulIdentifier","src":"26427:25:6"},"nodeType":"YulFunctionCall","src":"26427:50:6"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"26411:12:6","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"26524:12:6"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"26542:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"26547:4:6","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26538:3:6"},"nodeType":"YulFunctionCall","src":"26538:14:6"}],"functionName":{"name":"abi_encode_t_bytes32_to_t_bytes32","nodeType":"YulIdentifier","src":"26490:33:6"},"nodeType":"YulFunctionCall","src":"26490:63:6"},"nodeType":"YulExpressionStatement","src":"26490:63:6"}]},{"nodeType":"YulBlock","src":"26573:332:6","statements":[{"nodeType":"YulVariableDeclaration","src":"26610:100:6","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"26686:5:6"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"26697:5:6"},{"kind":"number","nodeType":"YulLiteral","src":"26704:4:6","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26693:3:6"},"nodeType":"YulFunctionCall","src":"26693:16:6"}],"functionName":{"name":"calldata_access_t_struct$_ReportData_$1137_calldata_ptr","nodeType":"YulIdentifier","src":"26630:55:6"},"nodeType":"YulFunctionCall","src":"26630:80:6"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"26614:12:6","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"26735:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"26740:4:6","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26731:3:6"},"nodeType":"YulFunctionCall","src":"26731:14:6"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"26751:4:6"},{"name":"pos","nodeType":"YulIdentifier","src":"26757:3:6"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"26747:3:6"},"nodeType":"YulFunctionCall","src":"26747:14:6"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"26724:6:6"},"nodeType":"YulFunctionCall","src":"26724:38:6"},"nodeType":"YulExpressionStatement","src":"26724:38:6"},{"nodeType":"YulAssignment","src":"26775:119:6","value":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"26875:12:6"},{"name":"tail","nodeType":"YulIdentifier","src":"26889:4:6"}],"functionName":{"name":"abi_encode_t_struct$_ReportData_$1137_calldata_ptr_to_t_struct$_ReportData_$1137_memory_ptr","nodeType":"YulIdentifier","src":"26783:91:6"},"nodeType":"YulFunctionCall","src":"26783:111:6"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"26775:4:6"}]}]},{"nodeType":"YulBlock","src":"26915:207:6","statements":[{"nodeType":"YulVariableDeclaration","src":"26966:70:6","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"27012:5:6"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"27023:5:6"},{"kind":"number","nodeType":"YulLiteral","src":"27030:4:6","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27019:3:6"},"nodeType":"YulFunctionCall","src":"27019:16:6"}],"functionName":{"name":"calldata_access_t_uint256","nodeType":"YulIdentifier","src":"26986:25:6"},"nodeType":"YulFunctionCall","src":"26986:50:6"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"26970:12:6","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"27083:12:6"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"27101:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"27106:4:6","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27097:3:6"},"nodeType":"YulFunctionCall","src":"27097:14:6"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256","nodeType":"YulIdentifier","src":"27049:33:6"},"nodeType":"YulFunctionCall","src":"27049:63:6"},"nodeType":"YulExpressionStatement","src":"27049:63:6"}]},{"nodeType":"YulAssignment","src":"27132:11:6","value":{"name":"tail","nodeType":"YulIdentifier","src":"27139:4:6"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"27132:3:6"}]}]},"name":"abi_encode_t_struct$_OracleAttestationData_$1124_calldata_ptr_to_t_struct$_OracleAttestationData_$1124_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"26302:5:6","type":""},{"name":"pos","nodeType":"YulTypedName","src":"26309:3:6","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"26318:3:6","type":""}],"src":"26169:980:6"},{"body":{"nodeType":"YulBlock","src":"27333:255:6","statements":[{"nodeType":"YulAssignment","src":"27343:26:6","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"27355:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"27366:2:6","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27351:3:6"},"nodeType":"YulFunctionCall","src":"27351:18:6"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"27343:4:6"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"27390:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"27401:1:6","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27386:3:6"},"nodeType":"YulFunctionCall","src":"27386:17:6"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"27409:4:6"},{"name":"headStart","nodeType":"YulIdentifier","src":"27415:9:6"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"27405:3:6"},"nodeType":"YulFunctionCall","src":"27405:20:6"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"27379:6:6"},"nodeType":"YulFunctionCall","src":"27379:47:6"},"nodeType":"YulExpressionStatement","src":"27379:47:6"},{"nodeType":"YulAssignment","src":"27435:146:6","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"27567:6:6"},{"name":"tail","nodeType":"YulIdentifier","src":"27576:4:6"}],"functionName":{"name":"abi_encode_t_struct$_OracleAttestationData_$1124_calldata_ptr_to_t_struct$_OracleAttestationData_$1124_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"27443:123:6"},"nodeType":"YulFunctionCall","src":"27443:138:6"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"27435:4:6"}]}]},"name":"abi_encode_tuple_t_struct$_OracleAttestationData_$1124_calldata_ptr__to_t_struct$_OracleAttestationData_$1124_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"27305:9:6","type":""},{"name":"value0","nodeType":"YulTypedName","src":"27317:6:6","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"27328:4:6","type":""}],"src":"27155:433:6"},{"body":{"nodeType":"YulBlock","src":"27622:152:6","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"27639:1:6","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"27642:77:6","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"27632:6:6"},"nodeType":"YulFunctionCall","src":"27632:88:6"},"nodeType":"YulExpressionStatement","src":"27632:88:6"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"27736:1:6","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"27739:4:6","type":"","value":"0x32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"27729:6:6"},"nodeType":"YulFunctionCall","src":"27729:15:6"},"nodeType":"YulExpressionStatement","src":"27729:15:6"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"27760:1:6","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"27763:4:6","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"27753:6:6"},"nodeType":"YulFunctionCall","src":"27753:15:6"},"nodeType":"YulExpressionStatement","src":"27753:15:6"}]},"name":"panic_error_0x32","nodeType":"YulFunctionDefinition","src":"27594:180:6"}]},"contents":"{\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function cleanup_t_bytes32(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_bytes32(value) {\n if iszero(eq(value, cleanup_t_bytes32(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_bytes32(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_bytes32(value)\n }\n\n function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() {\n revert(0, 0)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function finalize_allocation(memPtr, size) {\n let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n // protect against overflow\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n\n function allocate_memory(size) -> memPtr {\n memPtr := allocate_unbounded()\n finalize_allocation(memPtr, size)\n }\n\n function array_allocation_size_t_bytes_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := round_up_to_mul_of_32(length)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function copy_calldata_to_memory_with_cleanup(src, dst, length) {\n calldatacopy(dst, src, length)\n mstore(add(dst, length), 0)\n }\n\n function abi_decode_available_length_t_bytes_memory_ptr(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_bytes_memory_ptr(length))\n mstore(array, length)\n let dst := add(array, 0x20)\n if gt(add(src, length), end) { revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() }\n copy_calldata_to_memory_with_cleanup(src, dst, length)\n }\n\n // bytes\n function abi_decode_t_bytes_memory_ptr(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := calldataload(offset)\n array := abi_decode_available_length_t_bytes_memory_ptr(add(offset, 0x20), length, end)\n }\n\n function abi_decode_tuple_t_bytes32t_bytes_memory_ptr(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_bytes32(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 32))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value1 := abi_decode_t_bytes_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function revert_error_21fe6b43b4db61d76a176e95bf1a6b9ede4c301f93a4246f41fecb96e160861d() {\n revert(0, 0)\n }\n\n // struct OracleAttestationData\n function abi_decode_t_struct$_OracleAttestationData_$1124_calldata_ptr(offset, end) -> value {\n if slt(sub(end, offset), 96) { revert_error_21fe6b43b4db61d76a176e95bf1a6b9ede4c301f93a4246f41fecb96e160861d() }\n value := offset\n }\n\n function revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490() {\n revert(0, 0)\n }\n\n function revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() {\n revert(0, 0)\n }\n\n // struct Validator[]\n function abi_decode_t_array$_t_struct$_Validator_$1149_calldata_ptr_$dyn_calldata_ptr(offset, end) -> arrayPos, length {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n length := calldataload(offset)\n if gt(length, 0xffffffffffffffff) { revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490() }\n arrayPos := add(offset, 0x20)\n if gt(add(arrayPos, mul(length, 0x40)), end) { revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() }\n }\n\n // struct Signature[]\n function abi_decode_t_array$_t_struct$_Signature_$1144_calldata_ptr_$dyn_calldata_ptr(offset, end) -> arrayPos, length {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n length := calldataload(offset)\n if gt(length, 0xffffffffffffffff) { revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490() }\n arrayPos := add(offset, 0x20)\n if gt(add(arrayPos, mul(length, 0x60)), end) { revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() }\n }\n\n function abi_decode_tuple_t_struct$_OracleAttestationData_$1124_calldata_ptrt_array$_t_struct$_Validator_$1149_calldata_ptr_$dyn_calldata_ptrt_array$_t_struct$_Signature_$1144_calldata_ptr_$dyn_calldata_ptr(headStart, dataEnd) -> value0, value1, value2, value3, value4 {\n if slt(sub(dataEnd, headStart), 96) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := calldataload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0 := abi_decode_t_struct$_OracleAttestationData_$1124_calldata_ptr(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 32))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value1, value2 := abi_decode_t_array$_t_struct$_Validator_$1149_calldata_ptr_$dyn_calldata_ptr(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 64))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value3, value4 := abi_decode_t_array$_t_struct$_Signature_$1144_calldata_ptr_$dyn_calldata_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_bytes32t_uint256(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_bytes32(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function array_length_t_bytes_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_bytes_memory_ptr(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function copy_memory_to_memory_with_cleanup(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n mstore(add(dst, length), 0)\n }\n\n function abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr(value, pos) -> end {\n let length := array_length_t_bytes_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_bytes_memory_ptr(pos, length)\n copy_memory_to_memory_with_cleanup(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_t_uint256_to_t_uint256(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n // struct TellorLab.AggregateData -> struct TellorLab.AggregateData\n function abi_encode_t_struct$_AggregateData_$1205_memory_ptr_to_t_struct$_AggregateData_$1205_memory_ptr_fromStack(value, pos) -> end {\n let tail := add(pos, 0xa0)\n\n {\n // value\n\n let memberValue0 := mload(add(value, 0x00))\n\n mstore(add(pos, 0x00), sub(tail, pos))\n tail := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr(memberValue0, tail)\n\n }\n\n {\n // power\n\n let memberValue0 := mload(add(value, 0x20))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0x20))\n }\n\n {\n // aggregateTimestamp\n\n let memberValue0 := mload(add(value, 0x40))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0x40))\n }\n\n {\n // attestationTimestamp\n\n let memberValue0 := mload(add(value, 0x60))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0x60))\n }\n\n {\n // relayTimestamp\n\n let memberValue0 := mload(add(value, 0x80))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0x80))\n }\n\n end := tail\n }\n\n function abi_encode_tuple_t_struct$_AggregateData_$1205_memory_ptr__to_t_struct$_AggregateData_$1205_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_struct$_AggregateData_$1205_memory_ptr_to_t_struct$_AggregateData_$1205_memory_ptr_fromStack(value0, tail)\n\n }\n\n function array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_bytes_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory_with_cleanup(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_bytes_memory_ptr_t_uint256_t_uint256_t_uint256_t_uint256__to_t_bytes_memory_ptr_t_uint256_t_uint256_t_uint256_t_uint256__fromStack_reversed(headStart , value4, value3, value2, value1, value0) -> tail {\n tail := add(headStart, 160)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack(value0, tail)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value2, add(headStart, 64))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value3, add(headStart, 96))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value4, add(headStart, 128))\n\n }\n\n function abi_decode_tuple_t_bytes32(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_bytes32(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function checked_sub_t_uint256(x, y) -> diff {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n diff := sub(x, y)\n\n if gt(diff, x) { panic_error_0x11() }\n\n }\n\n function checked_mul_t_uint256(x, y) -> product {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n let product_raw := mul(x, y)\n product := cleanup_t_uint256(product_raw)\n\n // overflow, if x != 0 and y != product/x\n if iszero(\n or(\n iszero(x),\n eq(y, div(product, x))\n )\n ) { panic_error_0x11() }\n\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\n }\n\n function array_dataslot_t_bytes_storage(ptr) -> data {\n data := ptr\n\n mstore(0, ptr)\n data := keccak256(0, 0x20)\n\n }\n\n function divide_by_32_ceil(value) -> result {\n result := div(add(value, 31), 32)\n }\n\n function shift_left_dynamic(bits, value) -> newValue {\n newValue :=\n\n shl(bits, value)\n\n }\n\n function update_byte_slice_dynamic32(value, shiftBytes, toInsert) -> result {\n let shiftBits := mul(shiftBytes, 8)\n let mask := shift_left_dynamic(shiftBits, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)\n toInsert := shift_left_dynamic(shiftBits, toInsert)\n value := and(value, not(mask))\n result := or(value, and(toInsert, mask))\n }\n\n function identity(value) -> ret {\n ret := value\n }\n\n function convert_t_uint256_to_t_uint256(value) -> converted {\n converted := cleanup_t_uint256(identity(cleanup_t_uint256(value)))\n }\n\n function prepare_store_t_uint256(value) -> ret {\n ret := value\n }\n\n function update_storage_value_t_uint256_to_t_uint256(slot, offset, value_0) {\n let convertedValue_0 := convert_t_uint256_to_t_uint256(value_0)\n sstore(slot, update_byte_slice_dynamic32(sload(slot), offset, prepare_store_t_uint256(convertedValue_0)))\n }\n\n function zero_value_for_split_t_uint256() -> ret {\n ret := 0\n }\n\n function storage_set_to_zero_t_uint256(slot, offset) {\n let zero_0 := zero_value_for_split_t_uint256()\n update_storage_value_t_uint256_to_t_uint256(slot, offset, zero_0)\n }\n\n function clear_storage_range_t_bytes1(start, end) {\n for {} lt(start, end) { start := add(start, 1) }\n {\n storage_set_to_zero_t_uint256(start, 0)\n }\n }\n\n function clean_up_bytearray_end_slots_t_bytes_storage(array, len, startIndex) {\n\n if gt(len, 31) {\n let dataArea := array_dataslot_t_bytes_storage(array)\n let deleteStart := add(dataArea, divide_by_32_ceil(startIndex))\n // If we are clearing array to be short byte array, we want to clear only data starting from array data area.\n if lt(startIndex, 32) { deleteStart := dataArea }\n clear_storage_range_t_bytes1(deleteStart, add(dataArea, divide_by_32_ceil(len)))\n }\n\n }\n\n function shift_right_unsigned_dynamic(bits, value) -> newValue {\n newValue :=\n\n shr(bits, value)\n\n }\n\n function mask_bytes_dynamic(data, bytes) -> result {\n let mask := not(shift_right_unsigned_dynamic(mul(8, bytes), not(0)))\n result := and(data, mask)\n }\n function extract_used_part_and_set_length_of_short_byte_array(data, len) -> used {\n // we want to save only elements that are part of the array after resizing\n // others should be set to zero\n data := mask_bytes_dynamic(data, len)\n used := or(data, mul(2, len))\n }\n function copy_byte_array_to_storage_from_t_bytes_memory_ptr_to_t_bytes_storage(slot, src) {\n\n let newLen := array_length_t_bytes_memory_ptr(src)\n // Make sure array length is sane\n if gt(newLen, 0xffffffffffffffff) { panic_error_0x41() }\n\n let oldLen := extract_byte_array_length(sload(slot))\n\n // potentially truncate data\n clean_up_bytearray_end_slots_t_bytes_storage(slot, oldLen, newLen)\n\n let srcOffset := 0\n\n srcOffset := 0x20\n\n switch gt(newLen, 31)\n case 1 {\n let loopEnd := and(newLen, not(0x1f))\n\n let dstPtr := array_dataslot_t_bytes_storage(slot)\n let i := 0\n for { } lt(i, loopEnd) { i := add(i, 0x20) } {\n sstore(dstPtr, mload(add(src, srcOffset)))\n dstPtr := add(dstPtr, 1)\n srcOffset := add(srcOffset, 32)\n }\n if lt(loopEnd, newLen) {\n let lastValue := mload(add(src, srcOffset))\n sstore(dstPtr, mask_bytes_dynamic(lastValue, and(newLen, 0x1f)))\n }\n sstore(slot, add(mul(newLen, 2), 1))\n }\n default {\n let value := 0\n if newLen {\n value := mload(add(src, srcOffset))\n }\n sstore(slot, extract_used_part_and_set_length_of_short_byte_array(value, newLen))\n }\n }\n\n function abi_encode_t_bytes32_to_t_bytes32(value, pos) {\n mstore(pos, cleanup_t_bytes32(value))\n }\n\n // struct ReportData -> struct ReportData\n function abi_encode_t_struct$_ReportData_$1137_memory_ptr_to_t_struct$_ReportData_$1137_memory_ptr(value, pos) -> end {\n let tail := add(pos, 0xc0)\n\n {\n // value\n\n let memberValue0 := mload(add(value, 0x00))\n\n mstore(add(pos, 0x00), sub(tail, pos))\n tail := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr(memberValue0, tail)\n\n }\n\n {\n // timestamp\n\n let memberValue0 := mload(add(value, 0x20))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0x20))\n }\n\n {\n // aggregatePower\n\n let memberValue0 := mload(add(value, 0x40))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0x40))\n }\n\n {\n // previousTimestamp\n\n let memberValue0 := mload(add(value, 0x60))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0x60))\n }\n\n {\n // nextTimestamp\n\n let memberValue0 := mload(add(value, 0x80))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0x80))\n }\n\n {\n // lastConsensusTimestamp\n\n let memberValue0 := mload(add(value, 0xa0))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0xa0))\n }\n\n end := tail\n }\n\n // struct OracleAttestationData -> struct OracleAttestationData\n function abi_encode_t_struct$_OracleAttestationData_$1124_memory_ptr_to_t_struct$_OracleAttestationData_$1124_memory_ptr_fromStack(value, pos) -> end {\n let tail := add(pos, 0x60)\n\n {\n // queryId\n\n let memberValue0 := mload(add(value, 0x00))\n abi_encode_t_bytes32_to_t_bytes32(memberValue0, add(pos, 0x00))\n }\n\n {\n // report\n\n let memberValue0 := mload(add(value, 0x20))\n\n mstore(add(pos, 0x20), sub(tail, pos))\n tail := abi_encode_t_struct$_ReportData_$1137_memory_ptr_to_t_struct$_ReportData_$1137_memory_ptr(memberValue0, tail)\n\n }\n\n {\n // attestationTimestamp\n\n let memberValue0 := mload(add(value, 0x40))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0x40))\n }\n\n end := tail\n }\n\n function abi_encode_tuple_t_struct$_OracleAttestationData_$1124_memory_ptr__to_t_struct$_OracleAttestationData_$1124_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_struct$_OracleAttestationData_$1124_memory_ptr_to_t_struct$_OracleAttestationData_$1124_memory_ptr_fromStack(value0, tail)\n\n }\n\n function revert_error_356d538aaf70fba12156cc466564b792649f8f3befb07b071c91142253e175ad() {\n revert(0, 0)\n }\n\n function revert_error_1e55d03107e9c4f1b5e21c76a16fba166a461117ab153bcce65e6a4ea8e5fc8a() {\n revert(0, 0)\n }\n\n function revert_error_977805620ff29572292dee35f70b0f3f3f73d3fdd0e9f4d7a901c2e43ab18a2e() {\n revert(0, 0)\n }\n\n function access_calldata_tail_t_struct$_ReportData_$1137_calldata_ptr(base_ref, ptr_to_tail) -> addr {\n let rel_offset_of_tail := calldataload(ptr_to_tail)\n if iszero(slt(rel_offset_of_tail, sub(sub(calldatasize(), base_ref), sub(0xc0, 1)))) { revert_error_356d538aaf70fba12156cc466564b792649f8f3befb07b071c91142253e175ad() }\n addr := add(base_ref, rel_offset_of_tail)\n\n }\n\n function access_calldata_tail_t_bytes_calldata_ptr(base_ref, ptr_to_tail) -> addr, length {\n let rel_offset_of_tail := calldataload(ptr_to_tail)\n if iszero(slt(rel_offset_of_tail, sub(sub(calldatasize(), base_ref), sub(0x20, 1)))) { revert_error_356d538aaf70fba12156cc466564b792649f8f3befb07b071c91142253e175ad() }\n addr := add(base_ref, rel_offset_of_tail)\n\n length := calldataload(addr)\n if gt(length, 0xffffffffffffffff) { revert_error_1e55d03107e9c4f1b5e21c76a16fba166a461117ab153bcce65e6a4ea8e5fc8a() }\n addr := add(addr, 32)\n if sgt(addr, sub(calldatasize(), mul(length, 0x01))) { revert_error_977805620ff29572292dee35f70b0f3f3f73d3fdd0e9f4d7a901c2e43ab18a2e() }\n\n }\n\n function calldata_access_t_bytes32(baseRef, ptr) -> value {\n value := abi_decode_t_bytes32(ptr, add(ptr, 32))\n }\n\n function revert_error_db64ea6d4a12deece376118739de8d9f517a2db5b58ea2ca332ea908c04c71d4() {\n revert(0, 0)\n }\n\n function calldata_access_t_struct$_ReportData_$1137_calldata_ptr(base_ref, ptr) -> value {\n let rel_offset_of_tail := calldataload(ptr)\n if iszero(slt(rel_offset_of_tail, sub(sub(calldatasize(), base_ref), sub(0xc0, 1)))) { revert_error_db64ea6d4a12deece376118739de8d9f517a2db5b58ea2ca332ea908c04c71d4() }\n value := add(rel_offset_of_tail, base_ref)\n\n }\n\n function revert_error_0803104b3ab68501accf02de57372b8e5e6e1582158b771d3f89279dc6822fe2() {\n revert(0, 0)\n }\n\n function revert_error_3894daff73bdbb8963c284e167b207f7abade3c031c50828ea230a16bdbc0f20() {\n revert(0, 0)\n }\n\n function calldata_access_t_bytes_calldata_ptr(base_ref, ptr) -> value, length {\n let rel_offset_of_tail := calldataload(ptr)\n if iszero(slt(rel_offset_of_tail, sub(sub(calldatasize(), base_ref), sub(0x20, 1)))) { revert_error_db64ea6d4a12deece376118739de8d9f517a2db5b58ea2ca332ea908c04c71d4() }\n value := add(rel_offset_of_tail, base_ref)\n\n length := calldataload(value)\n value := add(value, 0x20)\n if gt(length, 0xffffffffffffffff) { revert_error_0803104b3ab68501accf02de57372b8e5e6e1582158b771d3f89279dc6822fe2() }\n if sgt(value, sub(calldatasize(), mul(length, 0x01))) { revert_error_3894daff73bdbb8963c284e167b207f7abade3c031c50828ea230a16bdbc0f20() }\n\n }\n\n // bytes -> bytes\n function abi_encode_t_bytes_calldata_ptr_to_t_bytes_memory_ptr(start, length, pos) -> end {\n pos := array_storeLengthForEncoding_t_bytes_memory_ptr(pos, length)\n\n copy_calldata_to_memory_with_cleanup(start, pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function calldata_access_t_uint256(baseRef, ptr) -> value {\n value := abi_decode_t_uint256(ptr, add(ptr, 32))\n }\n\n // struct ReportData -> struct ReportData\n function abi_encode_t_struct$_ReportData_$1137_calldata_ptr_to_t_struct$_ReportData_$1137_memory_ptr(value, pos) -> end {\n let tail := add(pos, 0xc0)\n\n {\n // value\n\n let memberValue0, memberValue1 := calldata_access_t_bytes_calldata_ptr(value, add(value, 0x00))\n\n mstore(add(pos, 0x00), sub(tail, pos))\n tail := abi_encode_t_bytes_calldata_ptr_to_t_bytes_memory_ptr(memberValue0, memberValue1, tail)\n\n }\n\n {\n // timestamp\n\n let memberValue0 := calldata_access_t_uint256(value, add(value, 0x20))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0x20))\n }\n\n {\n // aggregatePower\n\n let memberValue0 := calldata_access_t_uint256(value, add(value, 0x40))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0x40))\n }\n\n {\n // previousTimestamp\n\n let memberValue0 := calldata_access_t_uint256(value, add(value, 0x60))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0x60))\n }\n\n {\n // nextTimestamp\n\n let memberValue0 := calldata_access_t_uint256(value, add(value, 0x80))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0x80))\n }\n\n {\n // lastConsensusTimestamp\n\n let memberValue0 := calldata_access_t_uint256(value, add(value, 0xa0))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0xa0))\n }\n\n end := tail\n }\n\n // struct OracleAttestationData -> struct OracleAttestationData\n function abi_encode_t_struct$_OracleAttestationData_$1124_calldata_ptr_to_t_struct$_OracleAttestationData_$1124_memory_ptr_fromStack(value, pos) -> end {\n let tail := add(pos, 0x60)\n\n {\n // queryId\n\n let memberValue0 := calldata_access_t_bytes32(value, add(value, 0x00))\n abi_encode_t_bytes32_to_t_bytes32(memberValue0, add(pos, 0x00))\n }\n\n {\n // report\n\n let memberValue0 := calldata_access_t_struct$_ReportData_$1137_calldata_ptr(value, add(value, 0x20))\n\n mstore(add(pos, 0x20), sub(tail, pos))\n tail := abi_encode_t_struct$_ReportData_$1137_calldata_ptr_to_t_struct$_ReportData_$1137_memory_ptr(memberValue0, tail)\n\n }\n\n {\n // attestationTimestamp\n\n let memberValue0 := calldata_access_t_uint256(value, add(value, 0x40))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0x40))\n }\n\n end := tail\n }\n\n function abi_encode_tuple_t_struct$_OracleAttestationData_$1124_calldata_ptr__to_t_struct$_OracleAttestationData_$1124_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_struct$_OracleAttestationData_$1124_calldata_ptr_to_t_struct$_OracleAttestationData_$1124_memory_ptr_fromStack(value0, tail)\n\n }\n\n function panic_error_0x32() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x32)\n revert(0, 0x24)\n }\n\n}\n","id":6,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{},"object":"608060405234801561001057600080fd5b50600436106100625760003560e01c80631c23cf39146100675780636180801014610083578063717681c61461009f5780638d12c426146100cf578063cb95671114610103578063e3ac7e1114610133575b600080fd5b610081600480360381019061007c919061097d565b610163565b005b61009d60048036038101906100989190610ab3565b6102ab565b005b6100b960048036038101906100b49190610b9a565b61041f565b6040516100c69190610cde565b60405180910390f35b6100e960048036038101906100e49190610b9a565b610526565b6040516100fa959493929190610d59565b60405180910390f35b61011d60048036038101906101189190610db3565b610601565b60405161012a9190610cde565b60405180910390f35b61014d60048036038101906101489190610db3565b610619565b60405161015a9190610de0565b60405180910390f35b60006103e86001426101759190610e2a565b61017f9190610e5e565b90506000808481526020019081526020016000206040518060a001604052808481526020016000815260200183815260200183815260200142815250908060018154018082558091505060019003906000526020600020906005020160009091909190915060008201518160000190816101f991906110ac565b50602082015181600101556040820151816002015560608201518160030155608082015181600401555050827f32569c122e0d7a43079203df1373675696c8ccd8ca67de60dc2238b6bb22621460405180606001604052808681526020016040518060c00160405280878152602001868152602001600081526020016000815260200160008152602001600081525081526020018481525060405161029e9190611266565b60405180910390a2505050565b600080866000013581526020019081526020016000206040518060a001604052808780602001906102dc9190611297565b80600001906102eb91906112bf565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505081526020018780602001906103439190611297565b60400135815260200187806020019061035c9190611297565b6020013581526020018760400135815260200142815250908060018154018082558091505060019003906000526020600020906005020160009091909190915060008201518160000190816103b191906110ac565b5060208201518160010155604082015181600201556060820151816003015560808201518160040155505084600001357f32569c122e0d7a43079203df1373675696c8ccd8ca67de60dc2238b6bb22621486604051610410919061153a565b60405180910390a25050505050565b6104276107be565b600080848152602001908152602001600020828154811061044b5761044a61155c565b5b90600052602060002090600502016040518060a001604052908160008201805461047490610ecf565b80601f01602080910402602001604051908101604052809291908181526020018280546104a090610ecf565b80156104ed5780601f106104c2576101008083540402835291602001916104ed565b820191906000526020600020905b8154815290600101906020018083116104d057829003601f168201915b50505050508152602001600182015481526020016002820154815260200160038201548152602001600482015481525050905092915050565b6000602052816000526040600020818154811061054257600080fd5b90600052602060002090600502016000915091505080600001805461056690610ecf565b80601f016020809104026020016040519081016040528092919081815260200182805461059290610ecf565b80156105df5780601f106105b4576101008083540402835291602001916105df565b820191906000526020600020905b8154815290600101906020018083116105c257829003601f168201915b5050505050908060010154908060020154908060030154908060040154905085565b6106096107be565b61061282610638565b9050919050565b6000806000838152602001908152602001600020805490509050919050565b6106406107be565b6000806000848152602001908152602001600020805490500361069e576040518060a00160405280604051806020016040528060008152508152602001600081526020016000815260200160008152602001600081525090506107b9565b6000808381526020019081526020016000206001600080858152602001908152602001600020805490506106d29190610e2a565b815481106106e3576106e261155c565b5b90600052602060002090600502016040518060a001604052908160008201805461070c90610ecf565b80601f016020809104026020016040519081016040528092919081815260200182805461073890610ecf565b80156107855780601f1061075a57610100808354040283529160200191610785565b820191906000526020600020905b81548152906001019060200180831161076857829003601f168201915b5050505050815260200160018201548152602001600282015481526020016003820154815260200160048201548152505090505b919050565b6040518060a0016040528060608152602001600081526020016000815260200160008152602001600081525090565b6000604051905090565b600080fd5b600080fd5b6000819050919050565b61081481610801565b811461081f57600080fd5b50565b6000813590506108318161080b565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61088a82610841565b810181811067ffffffffffffffff821117156108a9576108a8610852565b5b80604052505050565b60006108bc6107ed565b90506108c88282610881565b919050565b600067ffffffffffffffff8211156108e8576108e7610852565b5b6108f182610841565b9050602081019050919050565b82818337600083830152505050565b600061092061091b846108cd565b6108b2565b90508281526020810184848401111561093c5761093b61083c565b5b6109478482856108fe565b509392505050565b600082601f83011261096457610963610837565b5b813561097484826020860161090d565b91505092915050565b60008060408385031215610994576109936107f7565b5b60006109a285828601610822565b925050602083013567ffffffffffffffff8111156109c3576109c26107fc565b5b6109cf8582860161094f565b9150509250929050565b600080fd5b6000606082840312156109f4576109f36109d9565b5b81905092915050565b600080fd5b600080fd5b60008083601f840112610a1d57610a1c610837565b5b8235905067ffffffffffffffff811115610a3a57610a396109fd565b5b602083019150836040820283011115610a5657610a55610a02565b5b9250929050565b60008083601f840112610a7357610a72610837565b5b8235905067ffffffffffffffff811115610a9057610a8f6109fd565b5b602083019150836060820283011115610aac57610aab610a02565b5b9250929050565b600080600080600060608688031215610acf57610ace6107f7565b5b600086013567ffffffffffffffff811115610aed57610aec6107fc565b5b610af9888289016109de565b955050602086013567ffffffffffffffff811115610b1a57610b196107fc565b5b610b2688828901610a07565b9450945050604086013567ffffffffffffffff811115610b4957610b486107fc565b5b610b5588828901610a5d565b92509250509295509295909350565b6000819050919050565b610b7781610b64565b8114610b8257600080fd5b50565b600081359050610b9481610b6e565b92915050565b60008060408385031215610bb157610bb06107f7565b5b6000610bbf85828601610822565b9250506020610bd085828601610b85565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610c14578082015181840152602081019050610bf9565b60008484015250505050565b6000610c2b82610bda565b610c358185610be5565b9350610c45818560208601610bf6565b610c4e81610841565b840191505092915050565b610c6281610b64565b82525050565b600060a0830160008301518482036000860152610c858282610c20565b9150506020830151610c9a6020860182610c59565b506040830151610cad6040860182610c59565b506060830151610cc06060860182610c59565b506080830151610cd36080860182610c59565b508091505092915050565b60006020820190508181036000830152610cf88184610c68565b905092915050565b600082825260208201905092915050565b6000610d1c82610bda565b610d268185610d00565b9350610d36818560208601610bf6565b610d3f81610841565b840191505092915050565b610d5381610b64565b82525050565b600060a0820190508181036000830152610d738188610d11565b9050610d826020830187610d4a565b610d8f6040830186610d4a565b610d9c6060830185610d4a565b610da96080830184610d4a565b9695505050505050565b600060208284031215610dc957610dc86107f7565b5b6000610dd784828501610822565b91505092915050565b6000602082019050610df56000830184610d4a565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610e3582610b64565b9150610e4083610b64565b9250828203905081811115610e5857610e57610dfb565b5b92915050565b6000610e6982610b64565b9150610e7483610b64565b9250828202610e8281610b64565b91508282048414831517610e9957610e98610dfb565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680610ee757607f821691505b602082108103610efa57610ef9610ea0565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302610f627fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610f25565b610f6c8683610f25565b95508019841693508086168417925050509392505050565b6000819050919050565b6000610fa9610fa4610f9f84610b64565b610f84565b610b64565b9050919050565b6000819050919050565b610fc383610f8e565b610fd7610fcf82610fb0565b848454610f32565b825550505050565b600090565b610fec610fdf565b610ff7818484610fba565b505050565b5b8181101561101b57611010600082610fe4565b600181019050610ffd565b5050565b601f8211156110605761103181610f00565b61103a84610f15565b81016020851015611049578190505b61105d61105585610f15565b830182610ffc565b50505b505050565b600082821c905092915050565b600061108360001984600802611065565b1980831691505092915050565b600061109c8383611072565b9150826002028217905092915050565b6110b582610bda565b67ffffffffffffffff8111156110ce576110cd610852565b5b6110d88254610ecf565b6110e382828561101f565b600060209050601f8311600181146111165760008415611104578287015190505b61110e8582611090565b865550611176565b601f19841661112486610f00565b60005b8281101561114c57848901518255600182019150602085019450602081019050611127565b868310156111695784890151611165601f891682611072565b8355505b6001600288020188555050505b505050505050565b61118781610801565b82525050565b600060c08301600083015184820360008601526111aa8282610c20565b91505060208301516111bf6020860182610c59565b5060408301516111d26040860182610c59565b5060608301516111e56060860182610c59565b5060808301516111f86080860182610c59565b5060a083015161120b60a0860182610c59565b508091505092915050565b600060608301600083015161122e600086018261117e565b5060208301518482036020860152611246828261118d565b915050604083015161125b6040860182610c59565b508091505092915050565b600060208201905081810360008301526112808184611216565b905092915050565b600080fd5b600080fd5b600080fd5b60008235600160c0038336030381126112b3576112b2611288565b5b80830191505092915050565b600080833560016020038436030381126112dc576112db611288565b5b80840192508235915067ffffffffffffffff8211156112fe576112fd61128d565b5b60208301925060018202360383131561131a57611319611292565b5b509250929050565b60006113316020840184610822565b905092915050565b600080fd5b60008235600160c00383360303811261135a57611359611339565b5b82810191505092915050565b600080fd5b600080fd5b6000808335600160200384360303811261138d5761138c611339565b5b83810192508235915060208301925067ffffffffffffffff8211156113b5576113b4611366565b5b6001820236038313156113cb576113ca61136b565b5b509250929050565b60006113df8385610be5565b93506113ec8385846108fe565b6113f583610841565b840190509392505050565b600061140f6020840184610b85565b905092915050565b600060c0830161142a6000840184611370565b858303600087015261143d8382846113d3565b9250505061144e6020840184611400565b61145b6020860182610c59565b506114696040840184611400565b6114766040860182610c59565b506114846060840184611400565b6114916060860182610c59565b5061149f6080840184611400565b6114ac6080860182610c59565b506114ba60a0840184611400565b6114c760a0860182610c59565b508091505092915050565b6000606083016114e56000840184611322565b6114f2600086018261117e565b50611500602084018461133e565b84820360208601526115128282611417565b9150506115226040840184611400565b61152f6040860182610c59565b508091505092915050565b6000602082019050818103600083015261155481846114d2565b905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fdfea26469706673582212204132f59951cfd996a8cb88a81e3308d97bcdfa24fca5292bc6d8239a2d2018eb64736f6c63430008130033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x62 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x1C23CF39 EQ PUSH2 0x67 JUMPI DUP1 PUSH4 0x61808010 EQ PUSH2 0x83 JUMPI DUP1 PUSH4 0x717681C6 EQ PUSH2 0x9F JUMPI DUP1 PUSH4 0x8D12C426 EQ PUSH2 0xCF JUMPI DUP1 PUSH4 0xCB956711 EQ PUSH2 0x103 JUMPI DUP1 PUSH4 0xE3AC7E11 EQ PUSH2 0x133 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x81 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x7C SWAP2 SWAP1 PUSH2 0x97D JUMP JUMPDEST PUSH2 0x163 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x9D PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x98 SWAP2 SWAP1 PUSH2 0xAB3 JUMP JUMPDEST PUSH2 0x2AB JUMP JUMPDEST STOP JUMPDEST PUSH2 0xB9 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xB4 SWAP2 SWAP1 PUSH2 0xB9A JUMP JUMPDEST PUSH2 0x41F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xC6 SWAP2 SWAP1 PUSH2 0xCDE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xE9 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xE4 SWAP2 SWAP1 PUSH2 0xB9A JUMP JUMPDEST PUSH2 0x526 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xFA SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0xD59 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x11D PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x118 SWAP2 SWAP1 PUSH2 0xDB3 JUMP JUMPDEST PUSH2 0x601 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x12A SWAP2 SWAP1 PUSH2 0xCDE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x14D PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x148 SWAP2 SWAP1 PUSH2 0xDB3 JUMP JUMPDEST PUSH2 0x619 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x15A SWAP2 SWAP1 PUSH2 0xDE0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 PUSH2 0x3E8 PUSH1 0x1 TIMESTAMP PUSH2 0x175 SWAP2 SWAP1 PUSH2 0xE2A JUMP JUMPDEST PUSH2 0x17F SWAP2 SWAP1 PUSH2 0xE5E JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP1 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x40 MLOAD DUP1 PUSH1 0xA0 ADD PUSH1 0x40 MSTORE DUP1 DUP5 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP2 MSTORE PUSH1 0x20 ADD TIMESTAMP DUP2 MSTORE POP SWAP1 DUP1 PUSH1 0x1 DUP2 SLOAD ADD DUP1 DUP3 SSTORE DUP1 SWAP2 POP POP PUSH1 0x1 SWAP1 SUB SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x5 MUL ADD PUSH1 0x0 SWAP1 SWAP2 SWAP1 SWAP2 SWAP1 SWAP2 POP PUSH1 0x0 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD SWAP1 DUP2 PUSH2 0x1F9 SWAP2 SWAP1 PUSH2 0x10AC JUMP JUMPDEST POP PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD SSTORE PUSH1 0x40 DUP3 ADD MLOAD DUP2 PUSH1 0x2 ADD SSTORE PUSH1 0x60 DUP3 ADD MLOAD DUP2 PUSH1 0x3 ADD SSTORE PUSH1 0x80 DUP3 ADD MLOAD DUP2 PUSH1 0x4 ADD SSTORE POP POP DUP3 PUSH32 0x32569C122E0D7A43079203DF1373675696C8CCD8CA67DE60DC2238B6BB226214 PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 DUP7 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0xC0 ADD PUSH1 0x40 MSTORE DUP1 DUP8 DUP2 MSTORE PUSH1 0x20 ADD DUP7 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE POP DUP2 MSTORE PUSH1 0x20 ADD DUP5 DUP2 MSTORE POP PUSH1 0x40 MLOAD PUSH2 0x29E SWAP2 SWAP1 PUSH2 0x1266 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP7 PUSH1 0x0 ADD CALLDATALOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x40 MLOAD DUP1 PUSH1 0xA0 ADD PUSH1 0x40 MSTORE DUP1 DUP8 DUP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x2DC SWAP2 SWAP1 PUSH2 0x1297 JUMP JUMPDEST DUP1 PUSH1 0x0 ADD SWAP1 PUSH2 0x2EB SWAP2 SWAP1 PUSH2 0x12BF JUMP JUMPDEST DUP1 DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 DUP2 DUP5 ADD MSTORE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND SWAP1 POP DUP1 DUP4 ADD SWAP3 POP POP POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD DUP8 DUP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x343 SWAP2 SWAP1 PUSH2 0x1297 JUMP JUMPDEST PUSH1 0x40 ADD CALLDATALOAD DUP2 MSTORE PUSH1 0x20 ADD DUP8 DUP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x35C SWAP2 SWAP1 PUSH2 0x1297 JUMP JUMPDEST PUSH1 0x20 ADD CALLDATALOAD DUP2 MSTORE PUSH1 0x20 ADD DUP8 PUSH1 0x40 ADD CALLDATALOAD DUP2 MSTORE PUSH1 0x20 ADD TIMESTAMP DUP2 MSTORE POP SWAP1 DUP1 PUSH1 0x1 DUP2 SLOAD ADD DUP1 DUP3 SSTORE DUP1 SWAP2 POP POP PUSH1 0x1 SWAP1 SUB SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x5 MUL ADD PUSH1 0x0 SWAP1 SWAP2 SWAP1 SWAP2 SWAP1 SWAP2 POP PUSH1 0x0 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD SWAP1 DUP2 PUSH2 0x3B1 SWAP2 SWAP1 PUSH2 0x10AC JUMP JUMPDEST POP PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD SSTORE PUSH1 0x40 DUP3 ADD MLOAD DUP2 PUSH1 0x2 ADD SSTORE PUSH1 0x60 DUP3 ADD MLOAD DUP2 PUSH1 0x3 ADD SSTORE PUSH1 0x80 DUP3 ADD MLOAD DUP2 PUSH1 0x4 ADD SSTORE POP POP DUP5 PUSH1 0x0 ADD CALLDATALOAD PUSH32 0x32569C122E0D7A43079203DF1373675696C8CCD8CA67DE60DC2238B6BB226214 DUP7 PUSH1 0x40 MLOAD PUSH2 0x410 SWAP2 SWAP1 PUSH2 0x153A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP POP POP JUMP JUMPDEST PUSH2 0x427 PUSH2 0x7BE JUMP JUMPDEST PUSH1 0x0 DUP1 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x44B JUMPI PUSH2 0x44A PUSH2 0x155C JUMP JUMPDEST JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x5 MUL ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0xA0 ADD PUSH1 0x40 MSTORE SWAP1 DUP2 PUSH1 0x0 DUP3 ADD DUP1 SLOAD PUSH2 0x474 SWAP1 PUSH2 0xECF JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x4A0 SWAP1 PUSH2 0xECF JUMP JUMPDEST DUP1 ISZERO PUSH2 0x4ED JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x4C2 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x4ED JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x4D0 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2 DUP3 ADD SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x3 DUP3 ADD SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x4 DUP3 ADD SLOAD DUP2 MSTORE POP POP SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 MSTORE DUP2 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x542 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x5 MUL ADD PUSH1 0x0 SWAP2 POP SWAP2 POP POP DUP1 PUSH1 0x0 ADD DUP1 SLOAD PUSH2 0x566 SWAP1 PUSH2 0xECF JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x592 SWAP1 PUSH2 0xECF JUMP JUMPDEST DUP1 ISZERO PUSH2 0x5DF JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x5B4 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x5DF JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x5C2 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 DUP1 PUSH1 0x1 ADD SLOAD SWAP1 DUP1 PUSH1 0x2 ADD SLOAD SWAP1 DUP1 PUSH1 0x3 ADD SLOAD SWAP1 DUP1 PUSH1 0x4 ADD SLOAD SWAP1 POP DUP6 JUMP JUMPDEST PUSH2 0x609 PUSH2 0x7BE JUMP JUMPDEST PUSH2 0x612 DUP3 PUSH2 0x638 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP1 SLOAD SWAP1 POP SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x640 PUSH2 0x7BE JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP1 SLOAD SWAP1 POP SUB PUSH2 0x69E JUMPI PUSH1 0x40 MLOAD DUP1 PUSH1 0xA0 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE POP SWAP1 POP PUSH2 0x7B9 JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 PUSH1 0x0 DUP1 DUP6 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP1 SLOAD SWAP1 POP PUSH2 0x6D2 SWAP2 SWAP1 PUSH2 0xE2A JUMP JUMPDEST DUP2 SLOAD DUP2 LT PUSH2 0x6E3 JUMPI PUSH2 0x6E2 PUSH2 0x155C JUMP JUMPDEST JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x5 MUL ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0xA0 ADD PUSH1 0x40 MSTORE SWAP1 DUP2 PUSH1 0x0 DUP3 ADD DUP1 SLOAD PUSH2 0x70C SWAP1 PUSH2 0xECF JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x738 SWAP1 PUSH2 0xECF JUMP JUMPDEST DUP1 ISZERO PUSH2 0x785 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x75A JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x785 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x768 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2 DUP3 ADD SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x3 DUP3 ADD SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x4 DUP3 ADD SLOAD DUP2 MSTORE POP POP SWAP1 POP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0xA0 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x814 DUP2 PUSH2 0x801 JUMP JUMPDEST DUP2 EQ PUSH2 0x81F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x831 DUP2 PUSH2 0x80B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x88A DUP3 PUSH2 0x841 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x8A9 JUMPI PUSH2 0x8A8 PUSH2 0x852 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x8BC PUSH2 0x7ED JUMP JUMPDEST SWAP1 POP PUSH2 0x8C8 DUP3 DUP3 PUSH2 0x881 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x8E8 JUMPI PUSH2 0x8E7 PUSH2 0x852 JUMP JUMPDEST JUMPDEST PUSH2 0x8F1 DUP3 PUSH2 0x841 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x920 PUSH2 0x91B DUP5 PUSH2 0x8CD JUMP JUMPDEST PUSH2 0x8B2 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x93C JUMPI PUSH2 0x93B PUSH2 0x83C JUMP JUMPDEST JUMPDEST PUSH2 0x947 DUP5 DUP3 DUP6 PUSH2 0x8FE JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x964 JUMPI PUSH2 0x963 PUSH2 0x837 JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x974 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x90D JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x994 JUMPI PUSH2 0x993 PUSH2 0x7F7 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x9A2 DUP6 DUP3 DUP7 ADD PUSH2 0x822 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x9C3 JUMPI PUSH2 0x9C2 PUSH2 0x7FC JUMP JUMPDEST JUMPDEST PUSH2 0x9CF DUP6 DUP3 DUP7 ADD PUSH2 0x94F JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x9F4 JUMPI PUSH2 0x9F3 PUSH2 0x9D9 JUMP JUMPDEST JUMPDEST DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0xA1D JUMPI PUSH2 0xA1C PUSH2 0x837 JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xA3A JUMPI PUSH2 0xA39 PUSH2 0x9FD JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x40 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0xA56 JUMPI PUSH2 0xA55 PUSH2 0xA02 JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0xA73 JUMPI PUSH2 0xA72 PUSH2 0x837 JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xA90 JUMPI PUSH2 0xA8F PUSH2 0x9FD JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x60 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0xAAC JUMPI PUSH2 0xAAB PUSH2 0xA02 JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP7 DUP9 SUB SLT ISZERO PUSH2 0xACF JUMPI PUSH2 0xACE PUSH2 0x7F7 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xAED JUMPI PUSH2 0xAEC PUSH2 0x7FC JUMP JUMPDEST JUMPDEST PUSH2 0xAF9 DUP9 DUP3 DUP10 ADD PUSH2 0x9DE JUMP JUMPDEST SWAP6 POP POP PUSH1 0x20 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xB1A JUMPI PUSH2 0xB19 PUSH2 0x7FC JUMP JUMPDEST JUMPDEST PUSH2 0xB26 DUP9 DUP3 DUP10 ADD PUSH2 0xA07 JUMP JUMPDEST SWAP5 POP SWAP5 POP POP PUSH1 0x40 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xB49 JUMPI PUSH2 0xB48 PUSH2 0x7FC JUMP JUMPDEST JUMPDEST PUSH2 0xB55 DUP9 DUP3 DUP10 ADD PUSH2 0xA5D JUMP JUMPDEST SWAP3 POP SWAP3 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xB77 DUP2 PUSH2 0xB64 JUMP JUMPDEST DUP2 EQ PUSH2 0xB82 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xB94 DUP2 PUSH2 0xB6E JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xBB1 JUMPI PUSH2 0xBB0 PUSH2 0x7F7 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xBBF DUP6 DUP3 DUP7 ADD PUSH2 0x822 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0xBD0 DUP6 DUP3 DUP7 ADD PUSH2 0xB85 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xC14 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0xBF9 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xC2B DUP3 PUSH2 0xBDA JUMP JUMPDEST PUSH2 0xC35 DUP2 DUP6 PUSH2 0xBE5 JUMP JUMPDEST SWAP4 POP PUSH2 0xC45 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0xBF6 JUMP JUMPDEST PUSH2 0xC4E DUP2 PUSH2 0x841 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xC62 DUP2 PUSH2 0xB64 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP4 ADD PUSH1 0x0 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x0 DUP7 ADD MSTORE PUSH2 0xC85 DUP3 DUP3 PUSH2 0xC20 JUMP JUMPDEST SWAP2 POP POP PUSH1 0x20 DUP4 ADD MLOAD PUSH2 0xC9A PUSH1 0x20 DUP7 ADD DUP3 PUSH2 0xC59 JUMP JUMPDEST POP PUSH1 0x40 DUP4 ADD MLOAD PUSH2 0xCAD PUSH1 0x40 DUP7 ADD DUP3 PUSH2 0xC59 JUMP JUMPDEST POP PUSH1 0x60 DUP4 ADD MLOAD PUSH2 0xCC0 PUSH1 0x60 DUP7 ADD DUP3 PUSH2 0xC59 JUMP JUMPDEST POP PUSH1 0x80 DUP4 ADD MLOAD PUSH2 0xCD3 PUSH1 0x80 DUP7 ADD DUP3 PUSH2 0xC59 JUMP JUMPDEST POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xCF8 DUP2 DUP5 PUSH2 0xC68 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xD1C DUP3 PUSH2 0xBDA JUMP JUMPDEST PUSH2 0xD26 DUP2 DUP6 PUSH2 0xD00 JUMP JUMPDEST SWAP4 POP PUSH2 0xD36 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0xBF6 JUMP JUMPDEST PUSH2 0xD3F DUP2 PUSH2 0x841 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xD53 DUP2 PUSH2 0xB64 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xD73 DUP2 DUP9 PUSH2 0xD11 JUMP JUMPDEST SWAP1 POP PUSH2 0xD82 PUSH1 0x20 DUP4 ADD DUP8 PUSH2 0xD4A JUMP JUMPDEST PUSH2 0xD8F PUSH1 0x40 DUP4 ADD DUP7 PUSH2 0xD4A JUMP JUMPDEST PUSH2 0xD9C PUSH1 0x60 DUP4 ADD DUP6 PUSH2 0xD4A JUMP JUMPDEST PUSH2 0xDA9 PUSH1 0x80 DUP4 ADD DUP5 PUSH2 0xD4A JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xDC9 JUMPI PUSH2 0xDC8 PUSH2 0x7F7 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xDD7 DUP5 DUP3 DUP6 ADD PUSH2 0x822 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xDF5 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xD4A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0xE35 DUP3 PUSH2 0xB64 JUMP JUMPDEST SWAP2 POP PUSH2 0xE40 DUP4 PUSH2 0xB64 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 SUB SWAP1 POP DUP2 DUP2 GT ISZERO PUSH2 0xE58 JUMPI PUSH2 0xE57 PUSH2 0xDFB JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xE69 DUP3 PUSH2 0xB64 JUMP JUMPDEST SWAP2 POP PUSH2 0xE74 DUP4 PUSH2 0xB64 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 MUL PUSH2 0xE82 DUP2 PUSH2 0xB64 JUMP JUMPDEST SWAP2 POP DUP3 DUP3 DIV DUP5 EQ DUP4 ISZERO OR PUSH2 0xE99 JUMPI PUSH2 0xE98 PUSH2 0xDFB JUMP JUMPDEST JUMPDEST POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0xEE7 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0xEFA JUMPI PUSH2 0xEF9 PUSH2 0xEA0 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP DUP2 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 PUSH1 0x1F DUP4 ADD DIV SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 SHL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x8 DUP4 MUL PUSH2 0xF62 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 PUSH2 0xF25 JUMP JUMPDEST PUSH2 0xF6C DUP7 DUP4 PUSH2 0xF25 JUMP JUMPDEST SWAP6 POP DUP1 NOT DUP5 AND SWAP4 POP DUP1 DUP7 AND DUP5 OR SWAP3 POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xFA9 PUSH2 0xFA4 PUSH2 0xF9F DUP5 PUSH2 0xB64 JUMP JUMPDEST PUSH2 0xF84 JUMP JUMPDEST PUSH2 0xB64 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xFC3 DUP4 PUSH2 0xF8E JUMP JUMPDEST PUSH2 0xFD7 PUSH2 0xFCF DUP3 PUSH2 0xFB0 JUMP JUMPDEST DUP5 DUP5 SLOAD PUSH2 0xF32 JUMP JUMPDEST DUP3 SSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 SWAP1 JUMP JUMPDEST PUSH2 0xFEC PUSH2 0xFDF JUMP JUMPDEST PUSH2 0xFF7 DUP2 DUP5 DUP5 PUSH2 0xFBA JUMP JUMPDEST POP POP POP JUMP JUMPDEST JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x101B JUMPI PUSH2 0x1010 PUSH1 0x0 DUP3 PUSH2 0xFE4 JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0xFFD JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0x1060 JUMPI PUSH2 0x1031 DUP2 PUSH2 0xF00 JUMP JUMPDEST PUSH2 0x103A DUP5 PUSH2 0xF15 JUMP JUMPDEST DUP2 ADD PUSH1 0x20 DUP6 LT ISZERO PUSH2 0x1049 JUMPI DUP2 SWAP1 POP JUMPDEST PUSH2 0x105D PUSH2 0x1055 DUP6 PUSH2 0xF15 JUMP JUMPDEST DUP4 ADD DUP3 PUSH2 0xFFC JUMP JUMPDEST POP POP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 SHR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1083 PUSH1 0x0 NOT DUP5 PUSH1 0x8 MUL PUSH2 0x1065 JUMP JUMPDEST NOT DUP1 DUP4 AND SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x109C DUP4 DUP4 PUSH2 0x1072 JUMP JUMPDEST SWAP2 POP DUP3 PUSH1 0x2 MUL DUP3 OR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x10B5 DUP3 PUSH2 0xBDA JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x10CE JUMPI PUSH2 0x10CD PUSH2 0x852 JUMP JUMPDEST JUMPDEST PUSH2 0x10D8 DUP3 SLOAD PUSH2 0xECF JUMP JUMPDEST PUSH2 0x10E3 DUP3 DUP3 DUP6 PUSH2 0x101F JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 SWAP1 POP PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x1116 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH2 0x1104 JUMPI DUP3 DUP8 ADD MLOAD SWAP1 POP JUMPDEST PUSH2 0x110E DUP6 DUP3 PUSH2 0x1090 JUMP JUMPDEST DUP7 SSTORE POP PUSH2 0x1176 JUMP JUMPDEST PUSH1 0x1F NOT DUP5 AND PUSH2 0x1124 DUP7 PUSH2 0xF00 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x114C JUMPI DUP5 DUP10 ADD MLOAD DUP3 SSTORE PUSH1 0x1 DUP3 ADD SWAP2 POP PUSH1 0x20 DUP6 ADD SWAP5 POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x1127 JUMP JUMPDEST DUP7 DUP4 LT ISZERO PUSH2 0x1169 JUMPI DUP5 DUP10 ADD MLOAD PUSH2 0x1165 PUSH1 0x1F DUP10 AND DUP3 PUSH2 0x1072 JUMP JUMPDEST DUP4 SSTORE POP JUMPDEST PUSH1 0x1 PUSH1 0x2 DUP9 MUL ADD DUP9 SSTORE POP POP POP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x1187 DUP2 PUSH2 0x801 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xC0 DUP4 ADD PUSH1 0x0 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x0 DUP7 ADD MSTORE PUSH2 0x11AA DUP3 DUP3 PUSH2 0xC20 JUMP JUMPDEST SWAP2 POP POP PUSH1 0x20 DUP4 ADD MLOAD PUSH2 0x11BF PUSH1 0x20 DUP7 ADD DUP3 PUSH2 0xC59 JUMP JUMPDEST POP PUSH1 0x40 DUP4 ADD MLOAD PUSH2 0x11D2 PUSH1 0x40 DUP7 ADD DUP3 PUSH2 0xC59 JUMP JUMPDEST POP PUSH1 0x60 DUP4 ADD MLOAD PUSH2 0x11E5 PUSH1 0x60 DUP7 ADD DUP3 PUSH2 0xC59 JUMP JUMPDEST POP PUSH1 0x80 DUP4 ADD MLOAD PUSH2 0x11F8 PUSH1 0x80 DUP7 ADD DUP3 PUSH2 0xC59 JUMP JUMPDEST POP PUSH1 0xA0 DUP4 ADD MLOAD PUSH2 0x120B PUSH1 0xA0 DUP7 ADD DUP3 PUSH2 0xC59 JUMP JUMPDEST POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP4 ADD PUSH1 0x0 DUP4 ADD MLOAD PUSH2 0x122E PUSH1 0x0 DUP7 ADD DUP3 PUSH2 0x117E JUMP JUMPDEST POP PUSH1 0x20 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x20 DUP7 ADD MSTORE PUSH2 0x1246 DUP3 DUP3 PUSH2 0x118D JUMP JUMPDEST SWAP2 POP POP PUSH1 0x40 DUP4 ADD MLOAD PUSH2 0x125B PUSH1 0x40 DUP7 ADD DUP3 PUSH2 0xC59 JUMP JUMPDEST POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1280 DUP2 DUP5 PUSH2 0x1216 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP3 CALLDATALOAD PUSH1 0x1 PUSH1 0xC0 SUB DUP4 CALLDATASIZE SUB SUB DUP2 SLT PUSH2 0x12B3 JUMPI PUSH2 0x12B2 PUSH2 0x1288 JUMP JUMPDEST JUMPDEST DUP1 DUP4 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 CALLDATALOAD PUSH1 0x1 PUSH1 0x20 SUB DUP5 CALLDATASIZE SUB SUB DUP2 SLT PUSH2 0x12DC JUMPI PUSH2 0x12DB PUSH2 0x1288 JUMP JUMPDEST JUMPDEST DUP1 DUP5 ADD SWAP3 POP DUP3 CALLDATALOAD SWAP2 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x12FE JUMPI PUSH2 0x12FD PUSH2 0x128D JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP3 POP PUSH1 0x1 DUP3 MUL CALLDATASIZE SUB DUP4 SGT ISZERO PUSH2 0x131A JUMPI PUSH2 0x1319 PUSH2 0x1292 JUMP JUMPDEST JUMPDEST POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1331 PUSH1 0x20 DUP5 ADD DUP5 PUSH2 0x822 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP3 CALLDATALOAD PUSH1 0x1 PUSH1 0xC0 SUB DUP4 CALLDATASIZE SUB SUB DUP2 SLT PUSH2 0x135A JUMPI PUSH2 0x1359 PUSH2 0x1339 JUMP JUMPDEST JUMPDEST DUP3 DUP2 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP4 CALLDATALOAD PUSH1 0x1 PUSH1 0x20 SUB DUP5 CALLDATASIZE SUB SUB DUP2 SLT PUSH2 0x138D JUMPI PUSH2 0x138C PUSH2 0x1339 JUMP JUMPDEST JUMPDEST DUP4 DUP2 ADD SWAP3 POP DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD SWAP3 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x13B5 JUMPI PUSH2 0x13B4 PUSH2 0x1366 JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 MUL CALLDATASIZE SUB DUP4 SGT ISZERO PUSH2 0x13CB JUMPI PUSH2 0x13CA PUSH2 0x136B JUMP JUMPDEST JUMPDEST POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x13DF DUP4 DUP6 PUSH2 0xBE5 JUMP JUMPDEST SWAP4 POP PUSH2 0x13EC DUP4 DUP6 DUP5 PUSH2 0x8FE JUMP JUMPDEST PUSH2 0x13F5 DUP4 PUSH2 0x841 JUMP JUMPDEST DUP5 ADD SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x140F PUSH1 0x20 DUP5 ADD DUP5 PUSH2 0xB85 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xC0 DUP4 ADD PUSH2 0x142A PUSH1 0x0 DUP5 ADD DUP5 PUSH2 0x1370 JUMP JUMPDEST DUP6 DUP4 SUB PUSH1 0x0 DUP8 ADD MSTORE PUSH2 0x143D DUP4 DUP3 DUP5 PUSH2 0x13D3 JUMP JUMPDEST SWAP3 POP POP POP PUSH2 0x144E PUSH1 0x20 DUP5 ADD DUP5 PUSH2 0x1400 JUMP JUMPDEST PUSH2 0x145B PUSH1 0x20 DUP7 ADD DUP3 PUSH2 0xC59 JUMP JUMPDEST POP PUSH2 0x1469 PUSH1 0x40 DUP5 ADD DUP5 PUSH2 0x1400 JUMP JUMPDEST PUSH2 0x1476 PUSH1 0x40 DUP7 ADD DUP3 PUSH2 0xC59 JUMP JUMPDEST POP PUSH2 0x1484 PUSH1 0x60 DUP5 ADD DUP5 PUSH2 0x1400 JUMP JUMPDEST PUSH2 0x1491 PUSH1 0x60 DUP7 ADD DUP3 PUSH2 0xC59 JUMP JUMPDEST POP PUSH2 0x149F PUSH1 0x80 DUP5 ADD DUP5 PUSH2 0x1400 JUMP JUMPDEST PUSH2 0x14AC PUSH1 0x80 DUP7 ADD DUP3 PUSH2 0xC59 JUMP JUMPDEST POP PUSH2 0x14BA PUSH1 0xA0 DUP5 ADD DUP5 PUSH2 0x1400 JUMP JUMPDEST PUSH2 0x14C7 PUSH1 0xA0 DUP7 ADD DUP3 PUSH2 0xC59 JUMP JUMPDEST POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP4 ADD PUSH2 0x14E5 PUSH1 0x0 DUP5 ADD DUP5 PUSH2 0x1322 JUMP JUMPDEST PUSH2 0x14F2 PUSH1 0x0 DUP7 ADD DUP3 PUSH2 0x117E JUMP JUMPDEST POP PUSH2 0x1500 PUSH1 0x20 DUP5 ADD DUP5 PUSH2 0x133E JUMP JUMPDEST DUP5 DUP3 SUB PUSH1 0x20 DUP7 ADD MSTORE PUSH2 0x1512 DUP3 DUP3 PUSH2 0x1417 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x1522 PUSH1 0x40 DUP5 ADD DUP5 PUSH2 0x1400 JUMP JUMPDEST PUSH2 0x152F PUSH1 0x40 DUP7 ADD DUP3 PUSH2 0xC59 JUMP JUMPDEST POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1554 DUP2 DUP5 PUSH2 0x14D2 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 COINBASE ORIGIN CREATE2 SWAP10 MLOAD 0xCF 0xD9 SWAP7 0xA8 0xCB DUP9 0xA8 0x1E CALLER ADDMOD 0xD9 PUSH28 0xCDFA24FCA5292BC6D8239A2D2018EB64736F6C634300081300330000 ","sourceMap":"645:4647:5:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2693:707;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1730:720;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3694:191;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;685:47;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;4494:183;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4120:141;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2693:707;2864:27;2918:4;2913:1;2895:15;:19;;;;:::i;:::-;2894:28;;;;:::i;:::-;2864:58;;2932:4;:14;2937:8;2932:14;;;;;;;;;;;2965:177;;;;;;;;2996:6;2965:177;;;;3020:1;2965:177;;;;3039:19;2965:177;;;;3076:19;2965:177;;;;3113:15;2965:177;;;2932:220;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3194:8;3167:226;3216:167;;;;;;;;3255:8;3216:167;;;;3281:51;;;;;;;;3292:6;3281:51;;;;3300:19;3281:51;;;;3321:1;3281:51;;;;3324:1;3281:51;;;;3327:1;3281:51;;;;3330:1;3281:51;;;3216:167;;;;3350:19;3216:167;;;3167:226;;;;;;:::i;:::-;;;;;;;;2792:608;2693:707;;:::o;1730:720::-;2078:4;:25;2083:11;:19;;;2078:25;;;;;;;;;;;2122:249;;;;;;;;2153:11;:18;;;;;;;;:::i;:::-;:24;;;;;;;;:::i;:::-;2122:249;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2195:11;:18;;;;;;;;:::i;:::-;:33;;;2122:249;;;;2246:11;:18;;;;;;;;:::i;:::-;:28;;;2122:249;;;;2292:11;:32;;;2122:249;;;;2342:15;2122:249;;;2078:303;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2410:11;:19;;;2396:47;2431:11;2396:47;;;;;;:::i;:::-;;;;;;;;1730:720;;;;;:::o;3694:191::-;3802:35;;:::i;:::-;3856:4;:14;3861:8;3856:14;;;;;;;;;;;3871:6;3856:22;;;;;;;;:::i;:::-;;;;;;;;;;;;3849:29;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3694:191;;;;:::o;685:47::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;4494:183::-;4582:35;;:::i;:::-;4636:34;4661:8;4636:24;:34::i;:::-;4629:41;;4494:183;;;:::o;4120:141::-;4207:7;4233:4;:14;4238:8;4233:14;;;;;;;;;;;:21;;;;4226:28;;4120:141;;;:::o;4947:343::-;5036:35;;:::i;:::-;5112:1;5087:4;:14;5092:8;5087:14;;;;;;;;;;;:21;;;;:26;5083:102;;5137:36;;;;;;;;5151:9;;;;;;;;;;;;5137:36;;;;5162:1;5137:36;;;;5165:1;5137:36;;;;5168:1;5137:36;;;;5171:1;5137:36;;;5129:45;;;;5083:102;5211:4;:14;5216:8;5211:14;;;;;;;;;;;5250:1;5226:4;:14;5231:8;5226:14;;;;;;;;;;;:21;;;;:25;;;;:::i;:::-;5211:41;;;;;;;;:::i;:::-;;;;;;;;;;;;5194:58;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4947:343;;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;7:75:6:-;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310:12;334:77;371:7;400:5;389:16;;334:77;;;:::o;417:122::-;490:24;508:5;490:24;:::i;:::-;483:5;480:35;470:63;;529:1;526;519:12;470:63;417:122;:::o;545:139::-;591:5;629:6;616:20;607:29;;645:33;672:5;645:33;:::i;:::-;545:139;;;;:::o;690:117::-;799:1;796;789:12;813:117;922:1;919;912:12;936:102;977:6;1028:2;1024:7;1019:2;1012:5;1008:14;1004:28;994:38;;936:102;;;:::o;1044:180::-;1092:77;1089:1;1082:88;1189:4;1186:1;1179:15;1213:4;1210:1;1203:15;1230:281;1313:27;1335:4;1313:27;:::i;:::-;1305:6;1301:40;1443:6;1431:10;1428:22;1407:18;1395:10;1392:34;1389:62;1386:88;;;1454:18;;:::i;:::-;1386:88;1494:10;1490:2;1483:22;1273:238;1230:281;;:::o;1517:129::-;1551:6;1578:20;;:::i;:::-;1568:30;;1607:33;1635:4;1627:6;1607:33;:::i;:::-;1517:129;;;:::o;1652:307::-;1713:4;1803:18;1795:6;1792:30;1789:56;;;1825:18;;:::i;:::-;1789:56;1863:29;1885:6;1863:29;:::i;:::-;1855:37;;1947:4;1941;1937:15;1929:23;;1652:307;;;:::o;1965:146::-;2062:6;2057:3;2052;2039:30;2103:1;2094:6;2089:3;2085:16;2078:27;1965:146;;;:::o;2117:423::-;2194:5;2219:65;2235:48;2276:6;2235:48;:::i;:::-;2219:65;:::i;:::-;2210:74;;2307:6;2300:5;2293:21;2345:4;2338:5;2334:16;2383:3;2374:6;2369:3;2365:16;2362:25;2359:112;;;2390:79;;:::i;:::-;2359:112;2480:54;2527:6;2522:3;2517;2480:54;:::i;:::-;2200:340;2117:423;;;;;:::o;2559:338::-;2614:5;2663:3;2656:4;2648:6;2644:17;2640:27;2630:122;;2671:79;;:::i;:::-;2630:122;2788:6;2775:20;2813:78;2887:3;2879:6;2872:4;2864:6;2860:17;2813:78;:::i;:::-;2804:87;;2620:277;2559:338;;;;:::o;2903:652::-;2980:6;2988;3037:2;3025:9;3016:7;3012:23;3008:32;3005:119;;;3043:79;;:::i;:::-;3005:119;3163:1;3188:53;3233:7;3224:6;3213:9;3209:22;3188:53;:::i;:::-;3178:63;;3134:117;3318:2;3307:9;3303:18;3290:32;3349:18;3341:6;3338:30;3335:117;;;3371:79;;:::i;:::-;3335:117;3476:62;3530:7;3521:6;3510:9;3506:22;3476:62;:::i;:::-;3466:72;;3261:287;2903:652;;;;;:::o;3561:117::-;3670:1;3667;3660:12;3720:245;3807:5;3848:2;3839:6;3834:3;3830:16;3826:25;3823:112;;;3854:79;;:::i;:::-;3823:112;3953:6;3944:15;;3720:245;;;;:::o;3971:117::-;4080:1;4077;4070:12;4094:117;4203:1;4200;4193:12;4243:597;4345:8;4355:6;4405:3;4398:4;4390:6;4386:17;4382:27;4372:122;;4413:79;;:::i;:::-;4372:122;4526:6;4513:20;4503:30;;4556:18;4548:6;4545:30;4542:117;;;4578:79;;:::i;:::-;4542:117;4692:4;4684:6;4680:17;4668:29;;4746:3;4738:4;4730:6;4726:17;4716:8;4712:32;4709:41;4706:128;;;4753:79;;:::i;:::-;4706:128;4243:597;;;;;:::o;4872:::-;4974:8;4984:6;5034:3;5027:4;5019:6;5015:17;5011:27;5001:122;;5042:79;;:::i;:::-;5001:122;5155:6;5142:20;5132:30;;5185:18;5177:6;5174:30;5171:117;;;5207:79;;:::i;:::-;5171:117;5321:4;5313:6;5309:17;5297:29;;5375:3;5367:4;5359:6;5355:17;5345:8;5341:32;5338:41;5335:128;;;5382:79;;:::i;:::-;5335:128;4872:597;;;;;:::o;5475:1437::-;5705:6;5713;5721;5729;5737;5786:2;5774:9;5765:7;5761:23;5757:32;5754:119;;;5792:79;;:::i;:::-;5754:119;5940:1;5929:9;5925:17;5912:31;5970:18;5962:6;5959:30;5956:117;;;5992:79;;:::i;:::-;5956:117;6097:94;6183:7;6174:6;6163:9;6159:22;6097:94;:::i;:::-;6087:104;;5883:318;6268:2;6257:9;6253:18;6240:32;6299:18;6291:6;6288:30;6285:117;;;6321:79;;:::i;:::-;6285:117;6434:109;6535:7;6526:6;6515:9;6511:22;6434:109;:::i;:::-;6416:127;;;;6211:342;6620:2;6609:9;6605:18;6592:32;6651:18;6643:6;6640:30;6637:117;;;6673:79;;:::i;:::-;6637:117;6786:109;6887:7;6878:6;6867:9;6863:22;6786:109;:::i;:::-;6768:127;;;;6563:342;5475:1437;;;;;;;;:::o;6918:77::-;6955:7;6984:5;6973:16;;6918:77;;;:::o;7001:122::-;7074:24;7092:5;7074:24;:::i;:::-;7067:5;7064:35;7054:63;;7113:1;7110;7103:12;7054:63;7001:122;:::o;7129:139::-;7175:5;7213:6;7200:20;7191:29;;7229:33;7256:5;7229:33;:::i;:::-;7129:139;;;;:::o;7274:474::-;7342:6;7350;7399:2;7387:9;7378:7;7374:23;7370:32;7367:119;;;7405:79;;:::i;:::-;7367:119;7525:1;7550:53;7595:7;7586:6;7575:9;7571:22;7550:53;:::i;:::-;7540:63;;7496:117;7652:2;7678:53;7723:7;7714:6;7703:9;7699:22;7678:53;:::i;:::-;7668:63;;7623:118;7274:474;;;;;:::o;7754:98::-;7805:6;7839:5;7833:12;7823:22;;7754:98;;;:::o;7858:158::-;7931:11;7965:6;7960:3;7953:19;8005:4;8000:3;7996:14;7981:29;;7858:158;;;;:::o;8022:246::-;8103:1;8113:113;8127:6;8124:1;8121:13;8113:113;;;8212:1;8207:3;8203:11;8197:18;8193:1;8188:3;8184:11;8177:39;8149:2;8146:1;8142:10;8137:15;;8113:113;;;8260:1;8251:6;8246:3;8242:16;8235:27;8084:184;8022:246;;;:::o;8274:353::-;8350:3;8378:38;8410:5;8378:38;:::i;:::-;8432:60;8485:6;8480:3;8432:60;:::i;:::-;8425:67;;8501:65;8559:6;8554:3;8547:4;8540:5;8536:16;8501:65;:::i;:::-;8591:29;8613:6;8591:29;:::i;:::-;8586:3;8582:39;8575:46;;8354:273;8274:353;;;;:::o;8633:108::-;8710:24;8728:5;8710:24;:::i;:::-;8705:3;8698:37;8633:108;;:::o;8819:1180::-;8950:3;8986:4;8981:3;8977:14;9074:4;9067:5;9063:16;9057:23;9127:3;9121:4;9117:14;9110:4;9105:3;9101:14;9094:38;9153:71;9219:4;9205:12;9153:71;:::i;:::-;9145:79;;9001:234;9318:4;9311:5;9307:16;9301:23;9337:63;9394:4;9389:3;9385:14;9371:12;9337:63;:::i;:::-;9245:165;9506:4;9499:5;9495:16;9489:23;9525:63;9582:4;9577:3;9573:14;9559:12;9525:63;:::i;:::-;9420:178;9696:4;9689:5;9685:16;9679:23;9715:63;9772:4;9767:3;9763:14;9749:12;9715:63;:::i;:::-;9608:180;9880:4;9873:5;9869:16;9863:23;9899:63;9956:4;9951:3;9947:14;9933:12;9899:63;:::i;:::-;9798:174;9989:4;9982:11;;8955:1044;8819:1180;;;;:::o;10005:397::-;10160:4;10198:2;10187:9;10183:18;10175:26;;10247:9;10241:4;10237:20;10233:1;10222:9;10218:17;10211:47;10275:120;10390:4;10381:6;10275:120;:::i;:::-;10267:128;;10005:397;;;;:::o;10408:168::-;10491:11;10525:6;10520:3;10513:19;10565:4;10560:3;10556:14;10541:29;;10408:168;;;;:::o;10582:373::-;10668:3;10696:38;10728:5;10696:38;:::i;:::-;10750:70;10813:6;10808:3;10750:70;:::i;:::-;10743:77;;10829:65;10887:6;10882:3;10875:4;10868:5;10864:16;10829:65;:::i;:::-;10919:29;10941:6;10919:29;:::i;:::-;10914:3;10910:39;10903:46;;10672:283;10582:373;;;;:::o;10961:118::-;11048:24;11066:5;11048:24;:::i;:::-;11043:3;11036:37;10961:118;;:::o;11085:751::-;11308:4;11346:3;11335:9;11331:19;11323:27;;11396:9;11390:4;11386:20;11382:1;11371:9;11367:17;11360:47;11424:76;11495:4;11486:6;11424:76;:::i;:::-;11416:84;;11510:72;11578:2;11567:9;11563:18;11554:6;11510:72;:::i;:::-;11592;11660:2;11649:9;11645:18;11636:6;11592:72;:::i;:::-;11674;11742:2;11731:9;11727:18;11718:6;11674:72;:::i;:::-;11756:73;11824:3;11813:9;11809:19;11800:6;11756:73;:::i;:::-;11085:751;;;;;;;;:::o;11842:329::-;11901:6;11950:2;11938:9;11929:7;11925:23;11921:32;11918:119;;;11956:79;;:::i;:::-;11918:119;12076:1;12101:53;12146:7;12137:6;12126:9;12122:22;12101:53;:::i;:::-;12091:63;;12047:117;11842:329;;;;:::o;12177:222::-;12270:4;12308:2;12297:9;12293:18;12285:26;;12321:71;12389:1;12378:9;12374:17;12365:6;12321:71;:::i;:::-;12177:222;;;;:::o;12405:180::-;12453:77;12450:1;12443:88;12550:4;12547:1;12540:15;12574:4;12571:1;12564:15;12591:194;12631:4;12651:20;12669:1;12651:20;:::i;:::-;12646:25;;12685:20;12703:1;12685:20;:::i;:::-;12680:25;;12729:1;12726;12722:9;12714:17;;12753:1;12747:4;12744:11;12741:37;;;12758:18;;:::i;:::-;12741:37;12591:194;;;;:::o;12791:410::-;12831:7;12854:20;12872:1;12854:20;:::i;:::-;12849:25;;12888:20;12906:1;12888:20;:::i;:::-;12883:25;;12943:1;12940;12936:9;12965:30;12983:11;12965:30;:::i;:::-;12954:41;;13144:1;13135:7;13131:15;13128:1;13125:22;13105:1;13098:9;13078:83;13055:139;;13174:18;;:::i;:::-;13055:139;12839:362;12791:410;;;;:::o;13207:180::-;13255:77;13252:1;13245:88;13352:4;13349:1;13342:15;13376:4;13373:1;13366:15;13393:320;13437:6;13474:1;13468:4;13464:12;13454:22;;13521:1;13515:4;13511:12;13542:18;13532:81;;13598:4;13590:6;13586:17;13576:27;;13532:81;13660:2;13652:6;13649:14;13629:18;13626:38;13623:84;;13679:18;;:::i;:::-;13623:84;13444:269;13393:320;;;:::o;13719:140::-;13767:4;13790:3;13782:11;;13813:3;13810:1;13803:14;13847:4;13844:1;13834:18;13826:26;;13719:140;;;:::o;13865:93::-;13902:6;13949:2;13944;13937:5;13933:14;13929:23;13919:33;;13865:93;;;:::o;13964:107::-;14008:8;14058:5;14052:4;14048:16;14027:37;;13964:107;;;;:::o;14077:393::-;14146:6;14196:1;14184:10;14180:18;14219:97;14249:66;14238:9;14219:97;:::i;:::-;14337:39;14367:8;14356:9;14337:39;:::i;:::-;14325:51;;14409:4;14405:9;14398:5;14394:21;14385:30;;14458:4;14448:8;14444:19;14437:5;14434:30;14424:40;;14153:317;;14077:393;;;;;:::o;14476:60::-;14504:3;14525:5;14518:12;;14476:60;;;:::o;14542:142::-;14592:9;14625:53;14643:34;14652:24;14670:5;14652:24;:::i;:::-;14643:34;:::i;:::-;14625:53;:::i;:::-;14612:66;;14542:142;;;:::o;14690:75::-;14733:3;14754:5;14747:12;;14690:75;;;:::o;14771:269::-;14881:39;14912:7;14881:39;:::i;:::-;14942:91;14991:41;15015:16;14991:41;:::i;:::-;14983:6;14976:4;14970:11;14942:91;:::i;:::-;14936:4;14929:105;14847:193;14771:269;;;:::o;15046:73::-;15091:3;15046:73;:::o;15125:189::-;15202:32;;:::i;:::-;15243:65;15301:6;15293;15287:4;15243:65;:::i;:::-;15178:136;15125:189;;:::o;15320:186::-;15380:120;15397:3;15390:5;15387:14;15380:120;;;15451:39;15488:1;15481:5;15451:39;:::i;:::-;15424:1;15417:5;15413:13;15404:22;;15380:120;;;15320:186;;:::o;15512:541::-;15612:2;15607:3;15604:11;15601:445;;;15646:37;15677:5;15646:37;:::i;:::-;15729:29;15747:10;15729:29;:::i;:::-;15719:8;15715:44;15912:2;15900:10;15897:18;15894:49;;;15933:8;15918:23;;15894:49;15956:80;16012:22;16030:3;16012:22;:::i;:::-;16002:8;15998:37;15985:11;15956:80;:::i;:::-;15616:430;;15601:445;15512:541;;;:::o;16059:117::-;16113:8;16163:5;16157:4;16153:16;16132:37;;16059:117;;;;:::o;16182:169::-;16226:6;16259:51;16307:1;16303:6;16295:5;16292:1;16288:13;16259:51;:::i;:::-;16255:56;16340:4;16334;16330:15;16320:25;;16233:118;16182:169;;;;:::o;16356:295::-;16432:4;16578:29;16603:3;16597:4;16578:29;:::i;:::-;16570:37;;16640:3;16637:1;16633:11;16627:4;16624:21;16616:29;;16356:295;;;;:::o;16656:1390::-;16771:36;16803:3;16771:36;:::i;:::-;16872:18;16864:6;16861:30;16858:56;;;16894:18;;:::i;:::-;16858:56;16938:38;16970:4;16964:11;16938:38;:::i;:::-;17023:66;17082:6;17074;17068:4;17023:66;:::i;:::-;17116:1;17140:4;17127:17;;17172:2;17164:6;17161:14;17189:1;17184:617;;;;17845:1;17862:6;17859:77;;;17911:9;17906:3;17902:19;17896:26;17887:35;;17859:77;17962:67;18022:6;18015:5;17962:67;:::i;:::-;17956:4;17949:81;17818:222;17154:886;;17184:617;17236:4;17232:9;17224:6;17220:22;17270:36;17301:4;17270:36;:::i;:::-;17328:1;17342:208;17356:7;17353:1;17350:14;17342:208;;;17435:9;17430:3;17426:19;17420:26;17412:6;17405:42;17486:1;17478:6;17474:14;17464:24;;17533:2;17522:9;17518:18;17505:31;;17379:4;17376:1;17372:12;17367:17;;17342:208;;;17578:6;17569:7;17566:19;17563:179;;;17636:9;17631:3;17627:19;17621:26;17679:48;17721:4;17713:6;17709:17;17698:9;17679:48;:::i;:::-;17671:6;17664:64;17586:156;17563:179;17788:1;17784;17776:6;17772:14;17768:22;17762:4;17755:36;17191:610;;;17154:886;;16746:1300;;;16656:1390;;:::o;18052:108::-;18129:24;18147:5;18129:24;:::i;:::-;18124:3;18117:37;18052:108;;:::o;18212:1352::-;18327:3;18363:4;18358:3;18354:14;18451:4;18444:5;18440:16;18434:23;18504:3;18498:4;18494:14;18487:4;18482:3;18478:14;18471:38;18530:71;18596:4;18582:12;18530:71;:::i;:::-;18522:79;;18378:234;18699:4;18692:5;18688:16;18682:23;18718:63;18775:4;18770:3;18766:14;18752:12;18718:63;:::i;:::-;18622:169;18883:4;18876:5;18872:16;18866:23;18902:63;18959:4;18954:3;18950:14;18936:12;18902:63;:::i;:::-;18801:174;19070:4;19063:5;19059:16;19053:23;19089:63;19146:4;19141:3;19137:14;19123:12;19089:63;:::i;:::-;18985:177;19253:4;19246:5;19242:16;19236:23;19272:63;19329:4;19324:3;19320:14;19306:12;19272:63;:::i;:::-;19172:173;19445:4;19438:5;19434:16;19428:23;19464:63;19521:4;19516:3;19512:14;19498:12;19464:63;:::i;:::-;19355:182;19554:4;19547:11;;18332:1232;18212:1352;;;;:::o;19638:865::-;19785:3;19821:4;19816:3;19812:14;19911:4;19904:5;19900:16;19894:23;19930:63;19987:4;19982:3;19978:14;19964:12;19930:63;:::i;:::-;19836:167;20087:4;20080:5;20076:16;20070:23;20140:3;20134:4;20130:14;20123:4;20118:3;20114:14;20107:38;20166:109;20270:4;20256:12;20166:109;:::i;:::-;20158:117;;20013:273;20384:4;20377:5;20373:16;20367:23;20403:63;20460:4;20455:3;20451:14;20437:12;20403:63;:::i;:::-;20296:180;20493:4;20486:11;;19790:713;19638:865;;;;:::o;20509:429::-;20680:4;20718:2;20707:9;20703:18;20695:26;;20767:9;20761:4;20757:20;20753:1;20742:9;20738:17;20731:47;20795:136;20926:4;20917:6;20795:136;:::i;:::-;20787:144;;20509:429;;;;:::o;20944:117::-;21053:1;21050;21043:12;21067:117;21176:1;21173;21166:12;21190:117;21299:1;21296;21289:12;21313:396;21409:4;21463:11;21450:25;21563:1;21557:4;21553:12;21542:8;21526:14;21522:29;21518:48;21498:18;21494:73;21484:168;;21571:79;;:::i;:::-;21484:168;21683:18;21673:8;21669:33;21661:41;;21414:295;21313:396;;;;:::o;21715:724::-;21792:4;21798:6;21854:11;21841:25;21954:1;21948:4;21944:12;21933:8;21917:14;21913:29;21909:48;21889:18;21885:73;21875:168;;21962:79;;:::i;:::-;21875:168;22074:18;22064:8;22060:33;22052:41;;22126:4;22113:18;22103:28;;22154:18;22146:6;22143:30;22140:117;;;22176:79;;:::i;:::-;22140:117;22284:2;22278:4;22274:13;22266:21;;22341:4;22333:6;22329:17;22313:14;22309:38;22303:4;22299:49;22296:136;;;22351:79;;:::i;:::-;22296:136;21805:634;21715:724;;;;;:::o;22445:122::-;22497:5;22522:39;22557:2;22552:3;22548:12;22543:3;22522:39;:::i;:::-;22513:48;;22445:122;;;;:::o;22573:117::-;22682:1;22679;22672:12;22696:377;22779:5;22834:3;22821:17;22926:1;22920:4;22916:12;22905:8;22889:14;22885:29;22881:48;22861:18;22857:73;22847:168;;22934:79;;:::i;:::-;22847:168;23057:8;23037:18;23033:33;23024:42;;22785:288;22696:377;;;;:::o;23079:117::-;23188:1;23185;23178:12;23202:117;23311:1;23308;23301:12;23325:711;23389:5;23396:6;23452:3;23439:17;23544:1;23538:4;23534:12;23523:8;23507:14;23503:29;23499:48;23479:18;23475:73;23465:168;;23552:79;;:::i;:::-;23465:168;23675:8;23655:18;23651:33;23642:42;;23717:5;23704:19;23694:29;;23752:4;23745:5;23741:16;23732:25;;23780:18;23772:6;23769:30;23766:117;;;23802:79;;:::i;:::-;23766:117;23938:4;23930:6;23926:17;23910:14;23906:38;23899:5;23895:50;23892:137;;;23948:79;;:::i;:::-;23892:137;23403:633;23325:711;;;;;:::o;24064:294::-;24150:3;24171:60;24224:6;24219:3;24171:60;:::i;:::-;24164:67;;24241:56;24290:6;24285:3;24278:5;24241:56;:::i;:::-;24322:29;24344:6;24322:29;:::i;:::-;24317:3;24313:39;24306:46;;24064:294;;;;;:::o;24364:122::-;24416:5;24441:39;24476:2;24471:3;24467:12;24462:3;24441:39;:::i;:::-;24432:48;;24364:122;;;;:::o;24538:1557::-;24655:3;24691:4;24686:3;24682:14;24776:61;24831:4;24824:5;24820:16;24813:5;24776:61;:::i;:::-;24884:3;24878:4;24874:14;24867:4;24862:3;24858:14;24851:38;24910:87;24992:4;24978:12;24964;24910:87;:::i;:::-;24902:95;;24706:302;;25078:50;25122:4;25115:5;25111:16;25104:5;25078:50;:::i;:::-;25141:63;25198:4;25193:3;25189:14;25175:12;25141:63;:::i;:::-;25018:196;25289:50;25333:4;25326:5;25322:16;25315:5;25289:50;:::i;:::-;25352:63;25409:4;25404:3;25400:14;25386:12;25352:63;:::i;:::-;25224:201;25503:50;25547:4;25540:5;25536:16;25529:5;25503:50;:::i;:::-;25566:63;25623:4;25618:3;25614:14;25600:12;25566:63;:::i;:::-;25435:204;25713:50;25757:4;25750:5;25746:16;25739:5;25713:50;:::i;:::-;25776:63;25833:4;25828:3;25824:14;25810:12;25776:63;:::i;:::-;25649:200;25932:50;25976:4;25969:5;25965:16;25958:5;25932:50;:::i;:::-;25995:63;26052:4;26047:3;26043:14;26029:12;25995:63;:::i;:::-;25859:209;26085:4;26078:11;;24660:1435;24538:1557;;;;:::o;26169:980::-;26318:3;26354:4;26349:3;26345:14;26427:50;26471:4;26464:5;26460:16;26453:5;26427:50;:::i;:::-;26490:63;26547:4;26542:3;26538:14;26524:12;26490:63;:::i;:::-;26369:194;26630:80;26704:4;26697:5;26693:16;26686:5;26630:80;:::i;:::-;26757:3;26751:4;26747:14;26740:4;26735:3;26731:14;26724:38;26783:111;26889:4;26875:12;26783:111;:::i;:::-;26775:119;;26573:332;26986:50;27030:4;27023:5;27019:16;27012:5;26986:50;:::i;:::-;27049:63;27106:4;27101:3;27097:14;27083:12;27049:63;:::i;:::-;26915:207;27139:4;27132:11;;26323:826;26169:980;;;;:::o;27155:433::-;27328:4;27366:2;27355:9;27351:18;27343:26;;27415:9;27409:4;27405:20;27401:1;27390:9;27386:17;27379:47;27443:138;27576:4;27567:6;27443:138;:::i;:::-;27435:146;;27155:433;;;;:::o;27594:180::-;27642:77;27639:1;27632:88;27739:4;27736:1;27729:15;27763:4;27760:1;27753:15"},"methodIdentifiers":{"data(bytes32,uint256)":"8d12c426","getAggregateByIndex(bytes32,uint256)":"717681c6","getAggregateValueCount(bytes32)":"e3ac7e11","getCurrentAggregateData(bytes32)":"cb956711","updateOracleData((bytes32,(bytes,uint256,uint256,uint256,uint256,uint256),uint256),(address,uint256)[],(uint8,bytes32,bytes32)[])":"61808010","updateOracleDataLab(bytes32,bytes)":"1c23cf39"}},"metadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"queryId\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"queryId\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"aggregatePower\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"previousTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"nextTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"lastConsensusTimestamp\",\"type\":\"uint256\"}],\"internalType\":\"struct ReportData\",\"name\":\"report\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"attestationTimestamp\",\"type\":\"uint256\"}],\"indexed\":false,\"internalType\":\"struct OracleAttestationData\",\"name\":\"attestData\",\"type\":\"tuple\"}],\"name\":\"OracleUpdated\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"data\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"power\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"aggregateTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"attestationTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"relayTimestamp\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_queryId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"_index\",\"type\":\"uint256\"}],\"name\":\"getAggregateByIndex\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"power\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"aggregateTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"attestationTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"relayTimestamp\",\"type\":\"uint256\"}],\"internalType\":\"struct TellorLab.AggregateData\",\"name\":\"_aggregateData\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_queryId\",\"type\":\"bytes32\"}],\"name\":\"getAggregateValueCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_queryId\",\"type\":\"bytes32\"}],\"name\":\"getCurrentAggregateData\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"power\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"aggregateTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"attestationTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"relayTimestamp\",\"type\":\"uint256\"}],\"internalType\":\"struct TellorLab.AggregateData\",\"name\":\"_aggregateData\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"queryId\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"aggregatePower\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"previousTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"nextTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"lastConsensusTimestamp\",\"type\":\"uint256\"}],\"internalType\":\"struct ReportData\",\"name\":\"report\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"attestationTimestamp\",\"type\":\"uint256\"}],\"internalType\":\"struct OracleAttestationData\",\"name\":\"_attestData\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"power\",\"type\":\"uint256\"}],\"internalType\":\"struct Validator[]\",\"name\":\"\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"internalType\":\"struct Signature[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"name\":\"updateOracleData\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_queryId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"_value\",\"type\":\"bytes\"}],\"name\":\"updateOracleDataLab\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Tellor Inc.\",\"details\":\"This contract is used to store data for multiple data feeds for testing tellor data integrations. It has no data bridge validation, zero security checks, and is NOT for production use. For production contracts, use TellorDataBridge verification. See SampleLayerUser repo for usage examples: https://github.com/tellor-io/SampleLayerUser This contract conforms to the ITellorDataBank interface.\",\"kind\":\"dev\",\"methods\":{\"getAggregateByIndex(bytes32,uint256)\":{\"details\":\"returns the oracle data for a given query ID and index\",\"params\":{\"_index\":\"the index of the oracle data to get\",\"_queryId\":\"the unique identifier for the oracle data\"},\"returns\":{\"_aggregateData\":\"the oracle data and metadata\"}},\"getAggregateValueCount(bytes32)\":{\"details\":\"returns the total number of oracle data values for a given query ID\",\"params\":{\"_queryId\":\"the unique identifier for the oracle data\"},\"returns\":{\"_0\":\"number the total number of oracle data values stored\"}},\"getCurrentAggregateData(bytes32)\":{\"details\":\"returns the last submitted oracle data for a given query ID\",\"params\":{\"_queryId\":\"the unique identifier for the oracle data\"},\"returns\":{\"_aggregateData\":\"the last submitted oracle data and metadata\"}},\"updateOracleData((bytes32,(bytes,uint256,uint256,uint256,uint256,uint256),uint256),(address,uint256)[],(uint8,bytes32,bytes32)[])\":{\"details\":\"updates oracle data with new attestation data after verification\",\"params\":{\"_attestData\":\"the oracle attestation data to be stored note: _currentValidatorSet array of current validators (unused for testing) note: _sigs array of validator signatures (unused for testing)\"}},\"updateOracleDataLab(bytes32,bytes)\":{\"details\":\"updates lab contract with new oracle data without needing to format data structs\",\"params\":{\"_queryId\":\"the unique identifier for the oracle data\",\"_value\":\"the oracle data value to be stored\"}}},\"title\":\"TellorLab\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Testing contract for rapid prototyping with Tellor oracle data\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/testing/TellorLab.sol\":\"TellorLab\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/interfaces/ITellorDataBridge.sol\":{\"keccak256\":\"0xe63280ed178d0751b9eba8be5c98a7c1587fcf728c8c2cb2f9d261fc4a650d0f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2a16c3e825c0ad4eb206765656249fb21f3fbe23eb6ad64dac036eb084f215d9\",\"dweb:/ipfs/QmV3de6xCgd864FEhjbiPyTUNhYgB4hPAvwEu8koYoZHwG\"]},\"contracts/testing/TellorLab.sol\":{\"keccak256\":\"0x9a3a30427f82807f66a0b283a74ce6d7982cfc280802f7d63a841d203e61e445\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b6b8480144733b9429598e40433b403874fe2ad4c4a76036b60c1f0f677a3d32\",\"dweb:/ipfs/QmdthNz1YkGxSFLCuKo1xMtoWpbpkkWvpLAhELTMn8WGG2\"]}},\"version\":1}"}}}}} \ No newline at end of file diff --git a/artifacts/build-info/d05a179e09b13bc0470a724f18837726.json b/artifacts/build-info/d05a179e09b13bc0470a724f18837726.json deleted file mode 100644 index d2ea851..0000000 --- a/artifacts/build-info/d05a179e09b13bc0470a724f18837726.json +++ /dev/null @@ -1 +0,0 @@ -{"id":"d05a179e09b13bc0470a724f18837726","_format":"hh-sol-build-info-1","solcVersion":"0.8.19","solcLongVersion":"0.8.19+commit.7dd6d404","input":{"language":"Solidity","sources":{"contracts/bridge/ECDSA.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.0.0) (utils/cryptography/ECDSA.sol)\npragma solidity 0.8.19;\n\n/**\n * @dev Elliptic Curve Digital Signature Algorithm (ECDSA) operations.\n *\n * These functions can be used to verify that a message was signed by the holder\n * of the private keys of a given address.\n */\ncontract ECDSA {\n enum RecoverError {\n NoError,\n InvalidSignature,\n InvalidSignatureLength,\n InvalidSignatureS\n }\n\n /**\n * @dev The signature derives the `address(0)`.\n */\n error ECDSAInvalidSignature();\n\n /**\n * @dev The signature has an invalid length.\n */\n error ECDSAInvalidSignatureLength(uint256 length);\n\n /**\n * @dev The signature has an S value that is in the upper half order.\n */\n error ECDSAInvalidSignatureS(bytes32 s);\n\n /**\n * @dev Returns the address that signed a hashed message (`hash`) with `signature` or an error. This will not\n * return address(0) without also returning an error description. Errors are documented using an enum (error type)\n * and a bytes32 providing additional information about the error.\n *\n * If no error is returned, then the address can be used for verification purposes.\n *\n * The `ecrecover` EVM precompile allows for malleable (non-unique) signatures:\n * this function rejects them by requiring the `s` value to be in the lower\n * half order, and the `v` value to be either 27 or 28.\n *\n * IMPORTANT: `hash` _must_ be the result of a hash operation for the\n * verification to be secure: it is possible to craft signatures that\n * recover to arbitrary addresses for non-hashed data. A safe way to ensure\n * this is by receiving a hash of the original message (which may otherwise\n * be too long), and then calling {MessageHashUtils-toEthSignedMessageHash} on it.\n *\n * Documentation for signature generation:\n * - with https://web3js.readthedocs.io/en/v1.3.4/web3-eth-accounts.html#sign[Web3.js]\n * - with https://docs.ethers.io/v5/api/signer/#Signer-signMessage[ethers]\n */\n function tryRecover(\n bytes32 hash,\n bytes memory signature\n ) internal pure returns (address, RecoverError, bytes32) {\n if (signature.length == 65) {\n bytes32 r;\n bytes32 s;\n uint8 v;\n // ecrecover takes the signature parameters, and the only way to get them\n // currently is to use assembly.\n /// @solidity memory-safe-assembly\n assembly {\n r := mload(add(signature, 0x20))\n s := mload(add(signature, 0x40))\n v := byte(0, mload(add(signature, 0x60)))\n }\n return tryRecover(hash, v, r, s);\n } else {\n return (\n address(0),\n RecoverError.InvalidSignatureLength,\n bytes32(signature.length)\n );\n }\n }\n\n /**\n * @dev Returns the address that signed a hashed message (`hash`) with\n * `signature`. This address can then be used for verification purposes.\n *\n * The `ecrecover` EVM precompile allows for malleable (non-unique) signatures:\n * this function rejects them by requiring the `s` value to be in the lower\n * half order, and the `v` value to be either 27 or 28.\n *\n * IMPORTANT: `hash` _must_ be the result of a hash operation for the\n * verification to be secure: it is possible to craft signatures that\n * recover to arbitrary addresses for non-hashed data. A safe way to ensure\n * this is by receiving a hash of the original message (which may otherwise\n * be too long), and then calling {MessageHashUtils-toEthSignedMessageHash} on it.\n */\n function recover(\n bytes32 hash,\n bytes memory signature\n ) internal pure returns (address) {\n (address recovered, RecoverError error, bytes32 errorArg) = tryRecover(\n hash,\n signature\n );\n _throwError(error, errorArg);\n return recovered;\n }\n\n /**\n * @dev Overload of {ECDSA-tryRecover} that receives the `r` and `vs` short-signature fields separately.\n *\n * See https://eips.ethereum.org/EIPS/eip-2098[ERC-2098 short signatures]\n */\n function tryRecover(\n bytes32 hash,\n bytes32 r,\n bytes32 vs\n ) internal pure returns (address, RecoverError, bytes32) {\n unchecked {\n bytes32 s = vs &\n bytes32(\n 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\n );\n // We do not check for an overflow here since the shift operation results in 0 or 1.\n uint8 v = uint8((uint256(vs) >> 255) + 27);\n return tryRecover(hash, v, r, s);\n }\n }\n\n /**\n * @dev Overload of {ECDSA-recover} that receives the `r and `vs` short-signature fields separately.\n */\n function recover(\n bytes32 hash,\n bytes32 r,\n bytes32 vs\n ) internal pure returns (address) {\n (address recovered, RecoverError error, bytes32 errorArg) = tryRecover(\n hash,\n r,\n vs\n );\n _throwError(error, errorArg);\n return recovered;\n }\n\n /**\n * @dev Overload of {ECDSA-tryRecover} that receives the `v`,\n * `r` and `s` signature fields separately.\n */\n function tryRecover(\n bytes32 hash,\n uint8 v,\n bytes32 r,\n bytes32 s\n ) internal pure returns (address, RecoverError, bytes32) {\n // EIP-2 still allows signature malleability for ecrecover(). Remove this possibility and make the signature\n // unique. Appendix F in the Ethereum Yellow paper (https://ethereum.github.io/yellowpaper/paper.pdf), defines\n // the valid range for s in (301): 0 < s < secp256k1n ÷ 2 + 1, and for v in (302): v ∈ {27, 28}. Most\n // signatures from current libraries generate a unique signature with an s-value in the lower half order.\n //\n // If your library generates malleable signatures, such as s-values in the upper range, calculate a new s-value\n // with 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141 - s1 and flip v from 27 to 28 or\n // vice versa. If your library also generates signatures with 0/1 for v instead 27/28, add 27 to v to accept\n // these malleable signatures as well.\n if (\n uint256(s) >\n 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D576E7357A4501DDFE92F46681B20A0\n ) {\n return (address(0), RecoverError.InvalidSignatureS, s);\n }\n\n // If the signature is valid (and not malleable), return the signer address\n address signer = ecrecover(hash, v, r, s);\n if (signer == address(0)) {\n return (address(0), RecoverError.InvalidSignature, bytes32(0));\n }\n\n return (signer, RecoverError.NoError, bytes32(0));\n }\n\n /**\n * @dev Overload of {ECDSA-recover} that receives the `v`,\n * `r` and `s` signature fields separately.\n */\n function recover(\n bytes32 hash,\n uint8 v,\n bytes32 r,\n bytes32 s\n ) internal pure returns (address) {\n (address recovered, RecoverError error, bytes32 errorArg) = tryRecover(\n hash,\n v,\n r,\n s\n );\n _throwError(error, errorArg);\n return recovered;\n }\n\n /**\n * @dev Optionally reverts with the corresponding custom error according to the `error` argument provided.\n */\n function _throwError(RecoverError error, bytes32 errorArg) private pure {\n if (error == RecoverError.NoError) {\n return; // no error: do nothing\n } else if (error == RecoverError.InvalidSignature) {\n revert ECDSAInvalidSignature();\n } else if (error == RecoverError.InvalidSignatureLength) {\n revert ECDSAInvalidSignatureLength(uint256(errorArg));\n } else if (error == RecoverError.InvalidSignatureS) {\n revert ECDSAInvalidSignatureS(errorArg);\n }\n }\n\n /**\n * @dev Returns the keccak256 digest of an ERC-191 signed data with version\n * `0x45` (`personal_sign` messages).\n *\n * The digest is calculated by prefixing a bytes32 `messageHash` with\n * `\"\\x19Ethereum Signed Message:\\n32\"` and hashing the result. It corresponds with the\n * hash signed when using the https://eth.wiki/json-rpc/API#eth_sign[`eth_sign`] JSON-RPC method.\n *\n * NOTE: The `messageHash` parameter is intended to be the result of hashing a raw message with\n * keccak256, although any bytes32 value can be safely used because the final digest will\n * be re-hashed.\n *\n * See {ECDSA-recover}.\n */\n function toEthSignedMessageHash(\n bytes32 messageHash\n ) internal pure returns (bytes32 digest) {\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, \"\\x19Ethereum Signed Message:\\n32\") // 32 is the bytes-length of messageHash\n mstore(0x1c, messageHash) // 0x1c (28) is the length of the prefix\n digest := keccak256(0x00, 0x3c) // 0x3c is the length of the prefix (0x1c) + messageHash (0x20)\n }\n }\n}\n"},"contracts/bridge/TellorDataBridge.sol":{"content":"// SPDX-License-Identifier: Apache-2.0\npragma solidity 0.8.19;\n\nimport {ECDSA} from \"./ECDSA.sol\";\n\nstruct OracleAttestationData {\n bytes32 queryId;\n ReportData report;\n uint256 attestationTimestamp;//timestamp of validatorSignatures on report\n}\n\nstruct ReportData {\n bytes value;\n uint256 timestamp;//timestamp of reporter signature aggregation\n uint256 aggregatePower;\n uint256 previousTimestamp;\n uint256 nextTimestamp;\n uint256 lastConsensusTimestamp;\n}\n\nstruct Signature {\n uint8 v;\n bytes32 r;\n bytes32 s;\n}\n\nstruct Validator {\n address addr;\n uint256 power;\n}\n\n\n/// @title TellorDataBridge: Tellor Layer -> EVM, Oracle relay.\n/// @dev The relay relies on a set of signers to attest to some event on\n/// Tellor Layer. These signers are the validator set, who sign over every\n/// block. At least 2/3 of the voting power of the current\n/// view of the validator set must sign off on new relayed events.\ncontract TellorDataBridge is ECDSA {\n\n /*Storage*/\n address public guardian; /// Able to reset the validator set only if the validator set becomes stale.\n bytes32 public lastValidatorSetCheckpoint; ///Domain-separated commitment to the latest validator set.\n uint256 public powerThreshold; /// Voting power required to submit a new update.\n uint256 public unbondingPeriod; /// Time period after which a validator can withdraw their stake.\n uint256 public validatorTimestamp; /// Timestamp of the block where validator set is updated.\n address public deployer; /// Address that deployed the contract.\n bool public initialized; /// True if the contract is initialized.\n uint256 public constant MS_PER_SECOND = 1000; // factor to convert milliseconds to seconds\n bytes32 public constant NEW_REPORT_ATTESTATION_DOMAIN_SEPARATOR = // \"tellorCurrentAttestation\"\n 0x74656c6c6f7243757272656e744174746573746174696f6e0000000000000000;\n // For tellor mainnet, this is \"0x636865636b706f696e7400000000000000000000000000000000000000000000\". \n // Otherwise, we take the tellor chain id as a string, and the validator set domain separator is \n // keccak256(abi.encode(\"checkpoint\", TELLOR_CHAIN_ID)). This differentiates between different networks.\n bytes32 public immutable VALIDATOR_SET_HASH_DOMAIN_SEPARATOR;\n\n /*Events*/\n event GuardianResetValidatorSet(uint256 _powerThreshold, uint256 _validatorTimestamp, bytes32 _validatorSetHash);\n event ValidatorSetUpdated(uint256 _powerThreshold, uint256 _validatorTimestamp, bytes32 _validatorSetHash);\n\n /*Errors*/\n error AlreadyInitialized();\n error InsufficientVotingPower();\n error InvalidPowerThreshold();\n error InvalidSignature();\n error MalformedCurrentValidatorSet();\n error NotDeployer();\n error NotGuardian();\n error StaleValidatorSet();\n error SuppliedValidatorSetInvalid();\n error ValidatorSetNotStale();\n error ValidatorTimestampMustIncrease();\n\n /*Functions*/\n /// @notice Constructor for the TellorDataBridge contract.\n /// @param _guardian Guardian address.\n constructor(\n address _guardian,\n bytes32 _validatorSetHashDomainSeparator\n ) {\n guardian = _guardian;\n deployer = msg.sender;\n VALIDATOR_SET_HASH_DOMAIN_SEPARATOR = _validatorSetHashDomainSeparator;\n }\n\n /// @notice This function is called only once by the deployer to initialize the contract\n /// @param _powerThreshold Initial voting power that is needed to approve operations\n /// @param _validatorTimestamp Timestamp of the block where validator set is updated.\n /// @param _unbondingPeriod Time period after which a validator can withdraw their stake.\n /// @param _validatorSetCheckpoint Initial checkpoint of the validator set.\n function init(\n uint256 _powerThreshold,\n uint256 _validatorTimestamp,\n uint256 _unbondingPeriod,\n bytes32 _validatorSetCheckpoint\n ) external {\n if (msg.sender != deployer) {\n revert NotDeployer();\n }\n if (initialized) {\n revert AlreadyInitialized();\n }\n initialized = true;\n powerThreshold = _powerThreshold;\n validatorTimestamp = _validatorTimestamp;\n unbondingPeriod = _unbondingPeriod;\n lastValidatorSetCheckpoint = _validatorSetCheckpoint;\n }\n\n /// @notice This function is called by the guardian to reset the validator set\n /// only if it becomes stale.\n /// @param _powerThreshold Amount of voting power needed to approve operations.\n /// @param _validatorTimestamp The timestamp of the block where validator set is updated.\n /// @param _validatorSetCheckpoint The hash of the validator set.\n function guardianResetValidatorSet(\n uint256 _powerThreshold,\n uint256 _validatorTimestamp,\n bytes32 _validatorSetCheckpoint\n ) external {\n if (msg.sender != guardian) {\n revert NotGuardian();\n }\n if (block.timestamp - (validatorTimestamp / MS_PER_SECOND) < unbondingPeriod) {\n revert ValidatorSetNotStale();\n }\n if (_validatorTimestamp <= validatorTimestamp) {\n revert ValidatorTimestampMustIncrease();\n }\n powerThreshold = _powerThreshold;\n validatorTimestamp = _validatorTimestamp;\n lastValidatorSetCheckpoint = _validatorSetCheckpoint;\n emit GuardianResetValidatorSet(_powerThreshold, _validatorTimestamp, _validatorSetCheckpoint);\n }\n\n /// @notice This updates the validator set by checking that the validators\n /// in the current validator set have signed off on the new validator set.\n /// @param _newValidatorSetHash The hash of the new validator set.\n /// @param _newPowerThreshold At least this much power must have signed.\n /// @param _newValidatorTimestamp The timestamp of the block where validator set is updated.\n /// @param _currentValidatorSet The current validator set.\n /// @param _sigs Signatures.\n function updateValidatorSet(\n bytes32 _newValidatorSetHash,\n uint64 _newPowerThreshold,\n uint256 _newValidatorTimestamp,\n Validator[] calldata _currentValidatorSet,\n Signature[] calldata _sigs\n ) external {\n if (_currentValidatorSet.length != _sigs.length) {\n revert MalformedCurrentValidatorSet();\n }\n if (_newValidatorTimestamp < validatorTimestamp) {\n revert ValidatorTimestampMustIncrease();\n }\n if (_newPowerThreshold == 0) {\n revert InvalidPowerThreshold();\n }\n // Check that the supplied current validator set matches the saved checkpoint.\n bytes32 _currentValidatorSetHash = keccak256(abi.encode(_currentValidatorSet));\n if (\n _domainSeparateValidatorSetHash(\n powerThreshold,\n validatorTimestamp,\n _currentValidatorSetHash\n ) != lastValidatorSetCheckpoint\n ) {\n revert SuppliedValidatorSetInvalid();\n }\n\n bytes32 _newCheckpoint = _domainSeparateValidatorSetHash(\n _newPowerThreshold,\n _newValidatorTimestamp,\n _newValidatorSetHash\n );\n _checkValidatorSignatures(\n _currentValidatorSet,\n _sigs,\n _newCheckpoint,\n powerThreshold\n );\n lastValidatorSetCheckpoint = _newCheckpoint;\n powerThreshold = _newPowerThreshold;\n validatorTimestamp = _newValidatorTimestamp;\n emit ValidatorSetUpdated(\n _newPowerThreshold,\n _newValidatorTimestamp,\n _newValidatorSetHash\n );\n }\n \n /*Getter functions*/\n /// @notice This getter verifies a given piece of data vs Validator signatures\n /// @param _attestData The data being verified\n /// @param _currentValidatorSet array of current validator set\n /// @param _sigs Signatures.\n function verifyOracleData(\n OracleAttestationData calldata _attestData,\n Validator[] calldata _currentValidatorSet,\n Signature[] calldata _sigs\n ) external view{\n if (_currentValidatorSet.length != _sigs.length) {\n revert MalformedCurrentValidatorSet();\n }\n // Check that the supplied current validator set matches the saved checkpoint.\n if (\n _domainSeparateValidatorSetHash(\n powerThreshold,\n validatorTimestamp,\n keccak256(abi.encode(_currentValidatorSet))\n ) != lastValidatorSetCheckpoint\n ) {\n revert SuppliedValidatorSetInvalid();\n }\n bytes32 _dataDigest = keccak256(\n abi.encode(\n NEW_REPORT_ATTESTATION_DOMAIN_SEPARATOR,\n _attestData.queryId,\n _attestData.report.value,\n _attestData.report.timestamp,\n _attestData.report.aggregatePower,\n _attestData.report.previousTimestamp,\n _attestData.report.nextTimestamp,\n lastValidatorSetCheckpoint,\n _attestData.attestationTimestamp,\n _attestData.report.lastConsensusTimestamp\n )\n );\n _checkValidatorSignatures(\n _currentValidatorSet,\n _sigs,\n _dataDigest,\n powerThreshold\n );\n }\n\n /*Internal functions*/\n /// @dev Checks that enough voting power signed over a digest.\n /// It expects the signatures to be in the same order as the _currentValidators.\n /// @param _currentValidators The current validators.\n /// @param _sigs The current validators' signatures.\n /// @param _digest This is what we are checking they have signed.\n /// @param _powerThreshold At least this much power must have signed.\n function _checkValidatorSignatures(\n // The current validator set and their powers\n Validator[] calldata _currentValidators,\n Signature[] calldata _sigs,\n bytes32 _digest,\n uint256 _powerThreshold\n ) internal view {\n if (block.timestamp - (validatorTimestamp / MS_PER_SECOND) > unbondingPeriod) {\n revert StaleValidatorSet();\n }\n uint256 _cumulativePower = 0;\n for (uint256 _i = 0; _i < _currentValidators.length; _i++) {\n // If the signature is nil, then it's not present so continue.\n if (_sigs[_i].r == 0 && _sigs[_i].s == 0 && _sigs[_i].v == 0) {\n continue;\n }\n // Check that the current validator has signed off on the hash.\n if (!_verifySig(_currentValidators[_i].addr, _digest, _sigs[_i])) {\n revert InvalidSignature();\n }\n _cumulativePower += _currentValidators[_i].power;\n // Break early to avoid wasting gas.\n if (_cumulativePower >= _powerThreshold) {\n break;\n }\n }\n if (_cumulativePower < _powerThreshold) {\n revert InsufficientVotingPower();\n }\n }\n\n /// @dev A hash of all relevant information about the validator set.\n /// @param _powerThreshold Amount of voting power needed to approve operations. (2/3 of total)\n /// @param _validatorTimestamp The timestamp of the block where validator set is updated.\n /// @param _validatorSetHash Validator set hash.\n /// @return The domain separated hash of the validator set.\n function _domainSeparateValidatorSetHash(\n uint256 _powerThreshold,\n uint256 _validatorTimestamp,\n bytes32 _validatorSetHash\n ) internal view returns (bytes32) {\n return\n keccak256(\n abi.encode(\n VALIDATOR_SET_HASH_DOMAIN_SEPARATOR,\n _powerThreshold,\n _validatorTimestamp,\n _validatorSetHash\n )\n );\n }\n\n /// @notice Utility function to verify Tellor Layer signatures\n /// @param _signer The address that signed the message.\n /// @param _digest The digest that was signed.\n /// @param _sig The signature.\n /// @return bool True if the signature is valid.\n function _verifySig(\n address _signer,\n bytes32 _digest,\n Signature calldata _sig\n ) internal pure returns (bool) {\n _digest = sha256(abi.encodePacked(_digest));\n (address _recovered, RecoverError error, ) = tryRecover(_digest, _sig.v, _sig.r, _sig.s);\n if (error != RecoverError.NoError) {\n revert InvalidSignature();\n }\n return _signer == _recovered;\n }\n}\n"},"contracts/examples/YoloTellorUser.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity 0.8.19;\n\nimport \"../interfaces/ITellorDataBridge.sol\";\n\n// This contract shows a baseline oracle user that just verifies the data is valid tellor data\n// and stores the data for retrieval. It should never be used in production.\n\ncontract YoloTellorUser {\n ITellorDataBridge public dataBridge;\n bytes32 public queryId;\n OracleData[] public oracleData;\n\n struct OracleData {\n uint256 value;\n uint256 timestamp;\n }\n\n // sets the tellor data bridge address and the queryId\n constructor(address _dataBridge, bytes32 _queryId) {\n dataBridge = ITellorDataBridge(_dataBridge);\n queryId = _queryId;\n }\n\n // updates this contract with new oracle data using the data bridge\n // production users should add security checks\n function updateOracleData(\n OracleAttestationData calldata _attestData,\n Validator[] calldata _currentValidatorSet,\n Signature[] calldata _sigs\n ) external {\n // make sure the data is valid tellor data\n dataBridge.verifyOracleData(_attestData, _currentValidatorSet, _sigs);\n // make sure the data being relayed is the data we want\n require(queryId == _attestData.queryId, \"Invalid queryId\");\n\n // decode the data and store it\n uint256 _value = abi.decode(_attestData.report.value, (uint256));\n oracleData.push(OracleData(_value, _attestData.report.timestamp));\n }\n\n // returns the most recent data\n function getCurrentData() external view returns (OracleData memory) {\n return oracleData[oracleData.length - 1];\n }\n\n // returns the number of data points stored\n function getValueCount() external view returns (uint256) {\n return oracleData.length;\n }\n}"},"contracts/interfaces/ITellorDataBridge.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\n\nstruct OracleAttestationData {\n bytes32 queryId;\n ReportData report;\n uint256 attestationTimestamp; //timestamp of validatorSignatures on report\n}\n\nstruct ReportData {\n bytes value;\n uint256 timestamp; //timestamp of reporter signature aggregation\n uint256 aggregatePower;\n uint256 previousTimestamp;\n uint256 nextTimestamp;\n uint256 lastConsensusTimestamp;\n}\n\nstruct Signature {\n uint8 v;\n bytes32 r;\n bytes32 s;\n}\n\nstruct Validator {\n address addr;\n uint256 power;\n}\n\ninterface ITellorDataBridge {\n function guardian() external view returns (address);\n function powerThreshold() external view returns (uint256);\n function unbondingPeriod() external view returns (uint256);\n function validatorTimestamp() external view returns (uint256);\n function verifyOracleData(\n OracleAttestationData calldata _attestData,\n Validator[] calldata _currentValidatorSet,\n Signature[] calldata _sigs\n ) external view;\n}"}},"settings":{"optimizer":{"enabled":false,"runs":200},"outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode","evm.methodIdentifiers","metadata"],"":["ast"]}}}},"output":{"sources":{"contracts/bridge/ECDSA.sol":{"ast":{"absolutePath":"contracts/bridge/ECDSA.sol","exportedSymbols":{"ECDSA":[357]},"id":358,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":1,"literals":["solidity","0.8",".19"],"nodeType":"PragmaDirective","src":"111:23:0"},{"abstract":false,"baseContracts":[],"canonicalName":"ECDSA","contractDependencies":[],"contractKind":"contract","documentation":{"id":2,"nodeType":"StructuredDocumentation","src":"136:205:0","text":" @dev Elliptic Curve Digital Signature Algorithm (ECDSA) operations.\n These functions can be used to verify that a message was signed by the holder\n of the private keys of a given address."},"fullyImplemented":true,"id":357,"linearizedBaseContracts":[357],"name":"ECDSA","nameLocation":"351:5:0","nodeType":"ContractDefinition","nodes":[{"canonicalName":"ECDSA.RecoverError","id":7,"members":[{"id":3,"name":"NoError","nameLocation":"391:7:0","nodeType":"EnumValue","src":"391:7:0"},{"id":4,"name":"InvalidSignature","nameLocation":"408:16:0","nodeType":"EnumValue","src":"408:16:0"},{"id":5,"name":"InvalidSignatureLength","nameLocation":"434:22:0","nodeType":"EnumValue","src":"434:22:0"},{"id":6,"name":"InvalidSignatureS","nameLocation":"466:17:0","nodeType":"EnumValue","src":"466:17:0"}],"name":"RecoverError","nameLocation":"368:12:0","nodeType":"EnumDefinition","src":"363:126:0"},{"documentation":{"id":8,"nodeType":"StructuredDocumentation","src":"495:63:0","text":" @dev The signature derives the `address(0)`."},"errorSelector":"f645eedf","id":10,"name":"ECDSAInvalidSignature","nameLocation":"569:21:0","nodeType":"ErrorDefinition","parameters":{"id":9,"nodeType":"ParameterList","parameters":[],"src":"590:2:0"},"src":"563:30:0"},{"documentation":{"id":11,"nodeType":"StructuredDocumentation","src":"599:60:0","text":" @dev The signature has an invalid length."},"errorSelector":"fce698f7","id":15,"name":"ECDSAInvalidSignatureLength","nameLocation":"670:27:0","nodeType":"ErrorDefinition","parameters":{"id":14,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13,"mutability":"mutable","name":"length","nameLocation":"706:6:0","nodeType":"VariableDeclaration","scope":15,"src":"698:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12,"name":"uint256","nodeType":"ElementaryTypeName","src":"698:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"697:16:0"},"src":"664:50:0"},{"documentation":{"id":16,"nodeType":"StructuredDocumentation","src":"720:85:0","text":" @dev The signature has an S value that is in the upper half order."},"errorSelector":"d78bce0c","id":20,"name":"ECDSAInvalidSignatureS","nameLocation":"816:22:0","nodeType":"ErrorDefinition","parameters":{"id":19,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18,"mutability":"mutable","name":"s","nameLocation":"847:1:0","nodeType":"VariableDeclaration","scope":20,"src":"839:9:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":17,"name":"bytes32","nodeType":"ElementaryTypeName","src":"839:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"838:11:0"},"src":"810:40:0"},{"body":{"id":72,"nodeType":"Block","src":"2263:715:0","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":38,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":35,"name":"signature","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25,"src":"2277:9:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":36,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2287:6:0","memberName":"length","nodeType":"MemberAccess","src":"2277:16:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"3635","id":37,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2297:2:0","typeDescriptions":{"typeIdentifier":"t_rational_65_by_1","typeString":"int_const 65"},"value":"65"},"src":"2277:22:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":70,"nodeType":"Block","src":"2802:170:0","statements":[{"expression":{"components":[{"arguments":[{"hexValue":"30","id":59,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2849:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":58,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2841:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57,"name":"address","nodeType":"ElementaryTypeName","src":"2841:7:0","typeDescriptions":{}}},"id":60,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2841:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":61,"name":"RecoverError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7,"src":"2869:12:0","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RecoverError_$7_$","typeString":"type(enum ECDSA.RecoverError)"}},"id":62,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2882:22:0","memberName":"InvalidSignatureLength","nodeType":"MemberAccess","referencedDeclaration":5,"src":"2869:35:0","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$7","typeString":"enum ECDSA.RecoverError"}},{"arguments":[{"expression":{"id":65,"name":"signature","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25,"src":"2930:9:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":66,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2940:6:0","memberName":"length","nodeType":"MemberAccess","src":"2930:16:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":64,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2922:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":63,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2922:7:0","typeDescriptions":{}}},"id":67,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2922:25:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":68,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"2823:138:0","typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_enum$_RecoverError_$7_$_t_bytes32_$","typeString":"tuple(address,enum ECDSA.RecoverError,bytes32)"}},"functionReturnParameters":34,"id":69,"nodeType":"Return","src":"2816:145:0"}]},"id":71,"nodeType":"IfStatement","src":"2273:699:0","trueBody":{"id":56,"nodeType":"Block","src":"2301:495:0","statements":[{"assignments":[40],"declarations":[{"constant":false,"id":40,"mutability":"mutable","name":"r","nameLocation":"2323:1:0","nodeType":"VariableDeclaration","scope":56,"src":"2315:9:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2315:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41,"nodeType":"VariableDeclarationStatement","src":"2315:9:0"},{"assignments":[43],"declarations":[{"constant":false,"id":43,"mutability":"mutable","name":"s","nameLocation":"2346:1:0","nodeType":"VariableDeclaration","scope":56,"src":"2338:9:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2338:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":44,"nodeType":"VariableDeclarationStatement","src":"2338:9:0"},{"assignments":[46],"declarations":[{"constant":false,"id":46,"mutability":"mutable","name":"v","nameLocation":"2367:1:0","nodeType":"VariableDeclaration","scope":56,"src":"2361:7:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":45,"name":"uint8","nodeType":"ElementaryTypeName","src":"2361:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"id":47,"nodeType":"VariableDeclarationStatement","src":"2361:7:0"},{"AST":{"nodeType":"YulBlock","src":"2569:171:0","statements":[{"nodeType":"YulAssignment","src":"2587:32:0","value":{"arguments":[{"arguments":[{"name":"signature","nodeType":"YulIdentifier","src":"2602:9:0"},{"kind":"number","nodeType":"YulLiteral","src":"2613:4:0","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2598:3:0"},"nodeType":"YulFunctionCall","src":"2598:20:0"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2592:5:0"},"nodeType":"YulFunctionCall","src":"2592:27:0"},"variableNames":[{"name":"r","nodeType":"YulIdentifier","src":"2587:1:0"}]},{"nodeType":"YulAssignment","src":"2636:32:0","value":{"arguments":[{"arguments":[{"name":"signature","nodeType":"YulIdentifier","src":"2651:9:0"},{"kind":"number","nodeType":"YulLiteral","src":"2662:4:0","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2647:3:0"},"nodeType":"YulFunctionCall","src":"2647:20:0"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2641:5:0"},"nodeType":"YulFunctionCall","src":"2641:27:0"},"variableNames":[{"name":"s","nodeType":"YulIdentifier","src":"2636:1:0"}]},{"nodeType":"YulAssignment","src":"2685:41:0","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2695:1:0","type":"","value":"0"},{"arguments":[{"arguments":[{"name":"signature","nodeType":"YulIdentifier","src":"2708:9:0"},{"kind":"number","nodeType":"YulLiteral","src":"2719:4:0","type":"","value":"0x60"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2704:3:0"},"nodeType":"YulFunctionCall","src":"2704:20:0"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2698:5:0"},"nodeType":"YulFunctionCall","src":"2698:27:0"}],"functionName":{"name":"byte","nodeType":"YulIdentifier","src":"2690:4:0"},"nodeType":"YulFunctionCall","src":"2690:36:0"},"variableNames":[{"name":"v","nodeType":"YulIdentifier","src":"2685:1:0"}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"paris","externalReferences":[{"declaration":40,"isOffset":false,"isSlot":false,"src":"2587:1:0","valueSize":1},{"declaration":43,"isOffset":false,"isSlot":false,"src":"2636:1:0","valueSize":1},{"declaration":25,"isOffset":false,"isSlot":false,"src":"2602:9:0","valueSize":1},{"declaration":25,"isOffset":false,"isSlot":false,"src":"2651:9:0","valueSize":1},{"declaration":25,"isOffset":false,"isSlot":false,"src":"2708:9:0","valueSize":1},{"declaration":46,"isOffset":false,"isSlot":false,"src":"2685:1:0","valueSize":1}],"id":48,"nodeType":"InlineAssembly","src":"2560:180:0"},{"expression":{"arguments":[{"id":50,"name":"hash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23,"src":"2771:4:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":51,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46,"src":"2777:1:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":52,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40,"src":"2780:1:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":53,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"2783:1:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":49,"name":"tryRecover","nodeType":"Identifier","overloadedDeclarations":[73,153,261],"referencedDeclaration":261,"src":"2760:10:0","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$_t_enum$_RecoverError_$7_$_t_bytes32_$","typeString":"function (bytes32,uint8,bytes32,bytes32) pure returns (address,enum ECDSA.RecoverError,bytes32)"}},"id":54,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2760:25:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_enum$_RecoverError_$7_$_t_bytes32_$","typeString":"tuple(address,enum ECDSA.RecoverError,bytes32)"}},"functionReturnParameters":34,"id":55,"nodeType":"Return","src":"2753:32:0"}]}}]},"documentation":{"id":21,"nodeType":"StructuredDocumentation","src":"856:1267:0","text":" @dev Returns the address that signed a hashed message (`hash`) with `signature` or an error. This will not\n return address(0) without also returning an error description. Errors are documented using an enum (error type)\n and a bytes32 providing additional information about the error.\n If no error is returned, then the address can be used for verification purposes.\n The `ecrecover` EVM precompile allows for malleable (non-unique) signatures:\n this function rejects them by requiring the `s` value to be in the lower\n half order, and the `v` value to be either 27 or 28.\n IMPORTANT: `hash` _must_ be the result of a hash operation for the\n verification to be secure: it is possible to craft signatures that\n recover to arbitrary addresses for non-hashed data. A safe way to ensure\n this is by receiving a hash of the original message (which may otherwise\n be too long), and then calling {MessageHashUtils-toEthSignedMessageHash} on it.\n Documentation for signature generation:\n - with https://web3js.readthedocs.io/en/v1.3.4/web3-eth-accounts.html#sign[Web3.js]\n - with https://docs.ethers.io/v5/api/signer/#Signer-signMessage[ethers]"},"id":73,"implemented":true,"kind":"function","modifiers":[],"name":"tryRecover","nameLocation":"2137:10:0","nodeType":"FunctionDefinition","parameters":{"id":26,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23,"mutability":"mutable","name":"hash","nameLocation":"2165:4:0","nodeType":"VariableDeclaration","scope":73,"src":"2157:12:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":22,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2157:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":25,"mutability":"mutable","name":"signature","nameLocation":"2192:9:0","nodeType":"VariableDeclaration","scope":73,"src":"2179:22:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":24,"name":"bytes","nodeType":"ElementaryTypeName","src":"2179:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"2147:60:0"},"returnParameters":{"id":34,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73,"src":"2231:7:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27,"name":"address","nodeType":"ElementaryTypeName","src":"2231:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73,"src":"2240:12:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$7","typeString":"enum ECDSA.RecoverError"},"typeName":{"id":30,"nodeType":"UserDefinedTypeName","pathNode":{"id":29,"name":"RecoverError","nameLocations":["2240:12:0"],"nodeType":"IdentifierPath","referencedDeclaration":7,"src":"2240:12:0"},"referencedDeclaration":7,"src":"2240:12:0","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$7","typeString":"enum ECDSA.RecoverError"}},"visibility":"internal"},{"constant":false,"id":33,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73,"src":"2254:7:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2254:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2230:32:0"},"scope":357,"src":"2128:850:0","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":102,"nodeType":"Block","src":"3894:202:0","statements":[{"assignments":[84,87,89],"declarations":[{"constant":false,"id":84,"mutability":"mutable","name":"recovered","nameLocation":"3913:9:0","nodeType":"VariableDeclaration","scope":102,"src":"3905:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":83,"name":"address","nodeType":"ElementaryTypeName","src":"3905:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":87,"mutability":"mutable","name":"error","nameLocation":"3937:5:0","nodeType":"VariableDeclaration","scope":102,"src":"3924:18:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$7","typeString":"enum ECDSA.RecoverError"},"typeName":{"id":86,"nodeType":"UserDefinedTypeName","pathNode":{"id":85,"name":"RecoverError","nameLocations":["3924:12:0"],"nodeType":"IdentifierPath","referencedDeclaration":7,"src":"3924:12:0"},"referencedDeclaration":7,"src":"3924:12:0","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$7","typeString":"enum ECDSA.RecoverError"}},"visibility":"internal"},{"constant":false,"id":89,"mutability":"mutable","name":"errorArg","nameLocation":"3952:8:0","nodeType":"VariableDeclaration","scope":102,"src":"3944:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":88,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3944:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":94,"initialValue":{"arguments":[{"id":91,"name":"hash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76,"src":"3988:4:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":92,"name":"signature","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78,"src":"4006:9:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":90,"name":"tryRecover","nodeType":"Identifier","overloadedDeclarations":[73,153,261],"referencedDeclaration":73,"src":"3964:10:0","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_address_$_t_enum$_RecoverError_$7_$_t_bytes32_$","typeString":"function (bytes32,bytes memory) pure returns (address,enum ECDSA.RecoverError,bytes32)"}},"id":93,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3964:61:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_enum$_RecoverError_$7_$_t_bytes32_$","typeString":"tuple(address,enum ECDSA.RecoverError,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"3904:121:0"},{"expression":{"arguments":[{"id":96,"name":"error","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87,"src":"4047:5:0","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$7","typeString":"enum ECDSA.RecoverError"}},{"id":97,"name":"errorArg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89,"src":"4054:8:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_RecoverError_$7","typeString":"enum ECDSA.RecoverError"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":95,"name":"_throwError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":346,"src":"4035:11:0","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_RecoverError_$7_$_t_bytes32_$returns$__$","typeString":"function (enum ECDSA.RecoverError,bytes32) pure"}},"id":98,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4035:28:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":99,"nodeType":"ExpressionStatement","src":"4035:28:0"},{"expression":{"id":100,"name":"recovered","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84,"src":"4080:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":82,"id":101,"nodeType":"Return","src":"4073:16:0"}]},"documentation":{"id":74,"nodeType":"StructuredDocumentation","src":"2984:796:0","text":" @dev Returns the address that signed a hashed message (`hash`) with\n `signature`. This address can then be used for verification purposes.\n The `ecrecover` EVM precompile allows for malleable (non-unique) signatures:\n this function rejects them by requiring the `s` value to be in the lower\n half order, and the `v` value to be either 27 or 28.\n IMPORTANT: `hash` _must_ be the result of a hash operation for the\n verification to be secure: it is possible to craft signatures that\n recover to arbitrary addresses for non-hashed data. A safe way to ensure\n this is by receiving a hash of the original message (which may otherwise\n be too long), and then calling {MessageHashUtils-toEthSignedMessageHash} on it."},"id":103,"implemented":true,"kind":"function","modifiers":[],"name":"recover","nameLocation":"3794:7:0","nodeType":"FunctionDefinition","parameters":{"id":79,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76,"mutability":"mutable","name":"hash","nameLocation":"3819:4:0","nodeType":"VariableDeclaration","scope":103,"src":"3811:12:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":75,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3811:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":78,"mutability":"mutable","name":"signature","nameLocation":"3846:9:0","nodeType":"VariableDeclaration","scope":103,"src":"3833:22:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":77,"name":"bytes","nodeType":"ElementaryTypeName","src":"3833:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3801:60:0"},"returnParameters":{"id":82,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":103,"src":"3885:7:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":80,"name":"address","nodeType":"ElementaryTypeName","src":"3885:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3884:9:0"},"scope":357,"src":"3785:311:0","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":152,"nodeType":"Block","src":"4454:396:0","statements":[{"id":151,"nodeType":"UncheckedBlock","src":"4464:380:0","statements":[{"assignments":[121],"declarations":[{"constant":false,"id":121,"mutability":"mutable","name":"s","nameLocation":"4496:1:0","nodeType":"VariableDeclaration","scope":151,"src":"4488:9:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":120,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4488:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":128,"initialValue":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":127,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":122,"name":"vs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":110,"src":"4500:2:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"arguments":[{"hexValue":"307837666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666","id":125,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4550:66:0","typeDescriptions":{"typeIdentifier":"t_rational_57896044618658097711785492504343953926634992332820282019728792003956564819967_by_1","typeString":"int_const 5789...(69 digits omitted)...9967"},"value":"0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_57896044618658097711785492504343953926634992332820282019728792003956564819967_by_1","typeString":"int_const 5789...(69 digits omitted)...9967"}],"id":124,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4521:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":123,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4521:7:0","typeDescriptions":{}}},"id":126,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4521:113:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"4500:134:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"4488:146:0"},{"assignments":[130],"declarations":[{"constant":false,"id":130,"mutability":"mutable","name":"v","nameLocation":"4751:1:0","nodeType":"VariableDeclaration","scope":151,"src":"4745:7:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":129,"name":"uint8","nodeType":"ElementaryTypeName","src":"4745:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"id":143,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":141,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":138,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":135,"name":"vs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":110,"src":"4770:2:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":134,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4762:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":133,"name":"uint256","nodeType":"ElementaryTypeName","src":"4762:7:0","typeDescriptions":{}}},"id":136,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4762:11:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"323535","id":137,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4777:3:0","typeDescriptions":{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"},"value":"255"},"src":"4762:18:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":139,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"4761:20:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"3237","id":140,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4784:2:0","typeDescriptions":{"typeIdentifier":"t_rational_27_by_1","typeString":"int_const 27"},"value":"27"},"src":"4761:25:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":132,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4755:5:0","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":131,"name":"uint8","nodeType":"ElementaryTypeName","src":"4755:5:0","typeDescriptions":{}}},"id":142,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4755:32:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"VariableDeclarationStatement","src":"4745:42:0"},{"expression":{"arguments":[{"id":145,"name":"hash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":106,"src":"4819:4:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":146,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":130,"src":"4825:1:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":147,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":108,"src":"4828:1:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":148,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":121,"src":"4831:1:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":144,"name":"tryRecover","nodeType":"Identifier","overloadedDeclarations":[73,153,261],"referencedDeclaration":261,"src":"4808:10:0","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$_t_enum$_RecoverError_$7_$_t_bytes32_$","typeString":"function (bytes32,uint8,bytes32,bytes32) pure returns (address,enum ECDSA.RecoverError,bytes32)"}},"id":149,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4808:25:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_enum$_RecoverError_$7_$_t_bytes32_$","typeString":"tuple(address,enum ECDSA.RecoverError,bytes32)"}},"functionReturnParameters":119,"id":150,"nodeType":"Return","src":"4801:32:0"}]}]},"documentation":{"id":104,"nodeType":"StructuredDocumentation","src":"4102:205:0","text":" @dev Overload of {ECDSA-tryRecover} that receives the `r` and `vs` short-signature fields separately.\n See https://eips.ethereum.org/EIPS/eip-2098[ERC-2098 short signatures]"},"id":153,"implemented":true,"kind":"function","modifiers":[],"name":"tryRecover","nameLocation":"4321:10:0","nodeType":"FunctionDefinition","parameters":{"id":111,"nodeType":"ParameterList","parameters":[{"constant":false,"id":106,"mutability":"mutable","name":"hash","nameLocation":"4349:4:0","nodeType":"VariableDeclaration","scope":153,"src":"4341:12:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":105,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4341:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":108,"mutability":"mutable","name":"r","nameLocation":"4371:1:0","nodeType":"VariableDeclaration","scope":153,"src":"4363:9:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":107,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4363:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":110,"mutability":"mutable","name":"vs","nameLocation":"4390:2:0","nodeType":"VariableDeclaration","scope":153,"src":"4382:10:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":109,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4382:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4331:67:0"},"returnParameters":{"id":119,"nodeType":"ParameterList","parameters":[{"constant":false,"id":113,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":153,"src":"4422:7:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":112,"name":"address","nodeType":"ElementaryTypeName","src":"4422:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":116,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":153,"src":"4431:12:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$7","typeString":"enum ECDSA.RecoverError"},"typeName":{"id":115,"nodeType":"UserDefinedTypeName","pathNode":{"id":114,"name":"RecoverError","nameLocations":["4431:12:0"],"nodeType":"IdentifierPath","referencedDeclaration":7,"src":"4431:12:0"},"referencedDeclaration":7,"src":"4431:12:0","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$7","typeString":"enum ECDSA.RecoverError"}},"visibility":"internal"},{"constant":false,"id":118,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":153,"src":"4445:7:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":117,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4445:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4421:32:0"},"scope":357,"src":"4312:538:0","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":185,"nodeType":"Block","src":"5093:210:0","statements":[{"assignments":[166,169,171],"declarations":[{"constant":false,"id":166,"mutability":"mutable","name":"recovered","nameLocation":"5112:9:0","nodeType":"VariableDeclaration","scope":185,"src":"5104:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":165,"name":"address","nodeType":"ElementaryTypeName","src":"5104:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":169,"mutability":"mutable","name":"error","nameLocation":"5136:5:0","nodeType":"VariableDeclaration","scope":185,"src":"5123:18:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$7","typeString":"enum ECDSA.RecoverError"},"typeName":{"id":168,"nodeType":"UserDefinedTypeName","pathNode":{"id":167,"name":"RecoverError","nameLocations":["5123:12:0"],"nodeType":"IdentifierPath","referencedDeclaration":7,"src":"5123:12:0"},"referencedDeclaration":7,"src":"5123:12:0","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$7","typeString":"enum ECDSA.RecoverError"}},"visibility":"internal"},{"constant":false,"id":171,"mutability":"mutable","name":"errorArg","nameLocation":"5151:8:0","nodeType":"VariableDeclaration","scope":185,"src":"5143:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":170,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5143:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":177,"initialValue":{"arguments":[{"id":173,"name":"hash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":156,"src":"5187:4:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":174,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":158,"src":"5205:1:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":175,"name":"vs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":160,"src":"5220:2:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":172,"name":"tryRecover","nodeType":"Identifier","overloadedDeclarations":[73,153,261],"referencedDeclaration":153,"src":"5163:10:0","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_bytes32_$_t_bytes32_$returns$_t_address_$_t_enum$_RecoverError_$7_$_t_bytes32_$","typeString":"function (bytes32,bytes32,bytes32) pure returns (address,enum ECDSA.RecoverError,bytes32)"}},"id":176,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5163:69:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_enum$_RecoverError_$7_$_t_bytes32_$","typeString":"tuple(address,enum ECDSA.RecoverError,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"5103:129:0"},{"expression":{"arguments":[{"id":179,"name":"error","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":169,"src":"5254:5:0","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$7","typeString":"enum ECDSA.RecoverError"}},{"id":180,"name":"errorArg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":171,"src":"5261:8:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_RecoverError_$7","typeString":"enum ECDSA.RecoverError"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":178,"name":"_throwError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":346,"src":"5242:11:0","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_RecoverError_$7_$_t_bytes32_$returns$__$","typeString":"function (enum ECDSA.RecoverError,bytes32) pure"}},"id":181,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5242:28:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":182,"nodeType":"ExpressionStatement","src":"5242:28:0"},{"expression":{"id":183,"name":"recovered","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":166,"src":"5287:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":164,"id":184,"nodeType":"Return","src":"5280:16:0"}]},"documentation":{"id":154,"nodeType":"StructuredDocumentation","src":"4856:116:0","text":" @dev Overload of {ECDSA-recover} that receives the `r and `vs` short-signature fields separately."},"id":186,"implemented":true,"kind":"function","modifiers":[],"name":"recover","nameLocation":"4986:7:0","nodeType":"FunctionDefinition","parameters":{"id":161,"nodeType":"ParameterList","parameters":[{"constant":false,"id":156,"mutability":"mutable","name":"hash","nameLocation":"5011:4:0","nodeType":"VariableDeclaration","scope":186,"src":"5003:12:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":155,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5003:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":158,"mutability":"mutable","name":"r","nameLocation":"5033:1:0","nodeType":"VariableDeclaration","scope":186,"src":"5025:9:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":157,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5025:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":160,"mutability":"mutable","name":"vs","nameLocation":"5052:2:0","nodeType":"VariableDeclaration","scope":186,"src":"5044:10:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":159,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5044:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4993:67:0"},"returnParameters":{"id":164,"nodeType":"ParameterList","parameters":[{"constant":false,"id":163,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":186,"src":"5084:7:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":162,"name":"address","nodeType":"ElementaryTypeName","src":"5084:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5083:9:0"},"scope":357,"src":"4977:326:0","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":260,"nodeType":"Block","src":"5597:1406:0","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":210,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":207,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":195,"src":"6506:1:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":206,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6498:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":205,"name":"uint256","nodeType":"ElementaryTypeName","src":"6498:7:0","typeDescriptions":{}}},"id":208,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6498:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"307837464646464646464646464646464646464646464646464646464646464646463544353736453733353741343530314444464539324634363638314232304130","id":209,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6523:66:0","typeDescriptions":{"typeIdentifier":"t_rational_57896044618658097711785492504343953926418782139537452191302581570759080747168_by_1","typeString":"int_const 5789...(69 digits omitted)...7168"},"value":"0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D576E7357A4501DDFE92F46681B20A0"},"src":"6498:91:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":221,"nodeType":"IfStatement","src":"6481:198:0","trueBody":{"id":220,"nodeType":"Block","src":"6600:79:0","statements":[{"expression":{"components":[{"arguments":[{"hexValue":"30","id":213,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6630:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":212,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6622:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":211,"name":"address","nodeType":"ElementaryTypeName","src":"6622:7:0","typeDescriptions":{}}},"id":214,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6622:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":215,"name":"RecoverError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7,"src":"6634:12:0","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RecoverError_$7_$","typeString":"type(enum ECDSA.RecoverError)"}},"id":216,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6647:17:0","memberName":"InvalidSignatureS","nodeType":"MemberAccess","referencedDeclaration":6,"src":"6634:30:0","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$7","typeString":"enum ECDSA.RecoverError"}},{"id":217,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":195,"src":"6666:1:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":218,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"6621:47:0","typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_enum$_RecoverError_$7_$_t_bytes32_$","typeString":"tuple(address,enum ECDSA.RecoverError,bytes32)"}},"functionReturnParameters":204,"id":219,"nodeType":"Return","src":"6614:54:0"}]}},{"assignments":[223],"declarations":[{"constant":false,"id":223,"mutability":"mutable","name":"signer","nameLocation":"6781:6:0","nodeType":"VariableDeclaration","scope":260,"src":"6773:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":222,"name":"address","nodeType":"ElementaryTypeName","src":"6773:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":230,"initialValue":{"arguments":[{"id":225,"name":"hash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":189,"src":"6800:4:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":226,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":191,"src":"6806:1:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":227,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":193,"src":"6809:1:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":228,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":195,"src":"6812:1:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":224,"name":"ecrecover","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-6,"src":"6790:9:0","typeDescriptions":{"typeIdentifier":"t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$","typeString":"function (bytes32,uint8,bytes32,bytes32) pure returns (address)"}},"id":229,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6790:24:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"6773:41:0"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":236,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":231,"name":"signer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":223,"src":"6828:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":234,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6846:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":233,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6838:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":232,"name":"address","nodeType":"ElementaryTypeName","src":"6838:7:0","typeDescriptions":{}}},"id":235,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6838:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"6828:20:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":250,"nodeType":"IfStatement","src":"6824:113:0","trueBody":{"id":249,"nodeType":"Block","src":"6850:87:0","statements":[{"expression":{"components":[{"arguments":[{"hexValue":"30","id":239,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6880:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":238,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6872:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":237,"name":"address","nodeType":"ElementaryTypeName","src":"6872:7:0","typeDescriptions":{}}},"id":240,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6872:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":241,"name":"RecoverError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7,"src":"6884:12:0","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RecoverError_$7_$","typeString":"type(enum ECDSA.RecoverError)"}},"id":242,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6897:16:0","memberName":"InvalidSignature","nodeType":"MemberAccess","referencedDeclaration":4,"src":"6884:29:0","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$7","typeString":"enum ECDSA.RecoverError"}},{"arguments":[{"hexValue":"30","id":245,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6923:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":244,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6915:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":243,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6915:7:0","typeDescriptions":{}}},"id":246,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6915:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":247,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"6871:55:0","typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_enum$_RecoverError_$7_$_t_bytes32_$","typeString":"tuple(address,enum ECDSA.RecoverError,bytes32)"}},"functionReturnParameters":204,"id":248,"nodeType":"Return","src":"6864:62:0"}]}},{"expression":{"components":[{"id":251,"name":"signer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":223,"src":"6955:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":252,"name":"RecoverError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7,"src":"6963:12:0","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RecoverError_$7_$","typeString":"type(enum ECDSA.RecoverError)"}},"id":253,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6976:7:0","memberName":"NoError","nodeType":"MemberAccess","referencedDeclaration":3,"src":"6963:20:0","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$7","typeString":"enum ECDSA.RecoverError"}},{"arguments":[{"hexValue":"30","id":256,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6993:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":255,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6985:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":254,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6985:7:0","typeDescriptions":{}}},"id":257,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6985:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":258,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"6954:42:0","typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_enum$_RecoverError_$7_$_t_bytes32_$","typeString":"tuple(address,enum ECDSA.RecoverError,bytes32)"}},"functionReturnParameters":204,"id":259,"nodeType":"Return","src":"6947:49:0"}]},"documentation":{"id":187,"nodeType":"StructuredDocumentation","src":"5309:125:0","text":" @dev Overload of {ECDSA-tryRecover} that receives the `v`,\n `r` and `s` signature fields separately."},"id":261,"implemented":true,"kind":"function","modifiers":[],"name":"tryRecover","nameLocation":"5448:10:0","nodeType":"FunctionDefinition","parameters":{"id":196,"nodeType":"ParameterList","parameters":[{"constant":false,"id":189,"mutability":"mutable","name":"hash","nameLocation":"5476:4:0","nodeType":"VariableDeclaration","scope":261,"src":"5468:12:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":188,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5468:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":191,"mutability":"mutable","name":"v","nameLocation":"5496:1:0","nodeType":"VariableDeclaration","scope":261,"src":"5490:7:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":190,"name":"uint8","nodeType":"ElementaryTypeName","src":"5490:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":193,"mutability":"mutable","name":"r","nameLocation":"5515:1:0","nodeType":"VariableDeclaration","scope":261,"src":"5507:9:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":192,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5507:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":195,"mutability":"mutable","name":"s","nameLocation":"5534:1:0","nodeType":"VariableDeclaration","scope":261,"src":"5526:9:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":194,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5526:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"5458:83:0"},"returnParameters":{"id":204,"nodeType":"ParameterList","parameters":[{"constant":false,"id":198,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":261,"src":"5565:7:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":197,"name":"address","nodeType":"ElementaryTypeName","src":"5565:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":201,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":261,"src":"5574:12:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$7","typeString":"enum ECDSA.RecoverError"},"typeName":{"id":200,"nodeType":"UserDefinedTypeName","pathNode":{"id":199,"name":"RecoverError","nameLocations":["5574:12:0"],"nodeType":"IdentifierPath","referencedDeclaration":7,"src":"5574:12:0"},"referencedDeclaration":7,"src":"5574:12:0","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$7","typeString":"enum ECDSA.RecoverError"}},"visibility":"internal"},{"constant":false,"id":203,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":261,"src":"5588:7:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":202,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5588:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"5564:32:0"},"scope":357,"src":"5439:1564:0","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":296,"nodeType":"Block","src":"7268:224:0","statements":[{"assignments":[276,279,281],"declarations":[{"constant":false,"id":276,"mutability":"mutable","name":"recovered","nameLocation":"7287:9:0","nodeType":"VariableDeclaration","scope":296,"src":"7279:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":275,"name":"address","nodeType":"ElementaryTypeName","src":"7279:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":279,"mutability":"mutable","name":"error","nameLocation":"7311:5:0","nodeType":"VariableDeclaration","scope":296,"src":"7298:18:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$7","typeString":"enum ECDSA.RecoverError"},"typeName":{"id":278,"nodeType":"UserDefinedTypeName","pathNode":{"id":277,"name":"RecoverError","nameLocations":["7298:12:0"],"nodeType":"IdentifierPath","referencedDeclaration":7,"src":"7298:12:0"},"referencedDeclaration":7,"src":"7298:12:0","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$7","typeString":"enum ECDSA.RecoverError"}},"visibility":"internal"},{"constant":false,"id":281,"mutability":"mutable","name":"errorArg","nameLocation":"7326:8:0","nodeType":"VariableDeclaration","scope":296,"src":"7318:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":280,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7318:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":288,"initialValue":{"arguments":[{"id":283,"name":"hash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":264,"src":"7362:4:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":284,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":266,"src":"7380:1:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":285,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":268,"src":"7395:1:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":286,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":270,"src":"7410:1:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":282,"name":"tryRecover","nodeType":"Identifier","overloadedDeclarations":[73,153,261],"referencedDeclaration":261,"src":"7338:10:0","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$_t_enum$_RecoverError_$7_$_t_bytes32_$","typeString":"function (bytes32,uint8,bytes32,bytes32) pure returns (address,enum ECDSA.RecoverError,bytes32)"}},"id":287,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7338:83:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_enum$_RecoverError_$7_$_t_bytes32_$","typeString":"tuple(address,enum ECDSA.RecoverError,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"7278:143:0"},{"expression":{"arguments":[{"id":290,"name":"error","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":279,"src":"7443:5:0","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$7","typeString":"enum ECDSA.RecoverError"}},{"id":291,"name":"errorArg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":281,"src":"7450:8:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_RecoverError_$7","typeString":"enum ECDSA.RecoverError"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":289,"name":"_throwError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":346,"src":"7431:11:0","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_RecoverError_$7_$_t_bytes32_$returns$__$","typeString":"function (enum ECDSA.RecoverError,bytes32) pure"}},"id":292,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7431:28:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":293,"nodeType":"ExpressionStatement","src":"7431:28:0"},{"expression":{"id":294,"name":"recovered","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":276,"src":"7476:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":274,"id":295,"nodeType":"Return","src":"7469:16:0"}]},"documentation":{"id":262,"nodeType":"StructuredDocumentation","src":"7009:122:0","text":" @dev Overload of {ECDSA-recover} that receives the `v`,\n `r` and `s` signature fields separately."},"id":297,"implemented":true,"kind":"function","modifiers":[],"name":"recover","nameLocation":"7145:7:0","nodeType":"FunctionDefinition","parameters":{"id":271,"nodeType":"ParameterList","parameters":[{"constant":false,"id":264,"mutability":"mutable","name":"hash","nameLocation":"7170:4:0","nodeType":"VariableDeclaration","scope":297,"src":"7162:12:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":263,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7162:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":266,"mutability":"mutable","name":"v","nameLocation":"7190:1:0","nodeType":"VariableDeclaration","scope":297,"src":"7184:7:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":265,"name":"uint8","nodeType":"ElementaryTypeName","src":"7184:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":268,"mutability":"mutable","name":"r","nameLocation":"7209:1:0","nodeType":"VariableDeclaration","scope":297,"src":"7201:9:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":267,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7201:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":270,"mutability":"mutable","name":"s","nameLocation":"7228:1:0","nodeType":"VariableDeclaration","scope":297,"src":"7220:9:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":269,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7220:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"7152:83:0"},"returnParameters":{"id":274,"nodeType":"ParameterList","parameters":[{"constant":false,"id":273,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":297,"src":"7259:7:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":272,"name":"address","nodeType":"ElementaryTypeName","src":"7259:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7258:9:0"},"scope":357,"src":"7136:356:0","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":345,"nodeType":"Block","src":"7697:460:0","statements":[{"condition":{"commonType":{"typeIdentifier":"t_enum$_RecoverError_$7","typeString":"enum ECDSA.RecoverError"},"id":309,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":306,"name":"error","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":301,"src":"7711:5:0","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$7","typeString":"enum ECDSA.RecoverError"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":307,"name":"RecoverError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7,"src":"7720:12:0","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RecoverError_$7_$","typeString":"type(enum ECDSA.RecoverError)"}},"id":308,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7733:7:0","memberName":"NoError","nodeType":"MemberAccess","referencedDeclaration":3,"src":"7720:20:0","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$7","typeString":"enum ECDSA.RecoverError"}},"src":"7711:29:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_RecoverError_$7","typeString":"enum ECDSA.RecoverError"},"id":315,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":312,"name":"error","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":301,"src":"7807:5:0","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$7","typeString":"enum ECDSA.RecoverError"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":313,"name":"RecoverError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7,"src":"7816:12:0","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RecoverError_$7_$","typeString":"type(enum ECDSA.RecoverError)"}},"id":314,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7829:16:0","memberName":"InvalidSignature","nodeType":"MemberAccess","referencedDeclaration":4,"src":"7816:29:0","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$7","typeString":"enum ECDSA.RecoverError"}},"src":"7807:38:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_RecoverError_$7","typeString":"enum ECDSA.RecoverError"},"id":323,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":320,"name":"error","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":301,"src":"7912:5:0","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$7","typeString":"enum ECDSA.RecoverError"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":321,"name":"RecoverError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7,"src":"7921:12:0","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RecoverError_$7_$","typeString":"type(enum ECDSA.RecoverError)"}},"id":322,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7934:22:0","memberName":"InvalidSignatureLength","nodeType":"MemberAccess","referencedDeclaration":5,"src":"7921:35:0","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$7","typeString":"enum ECDSA.RecoverError"}},"src":"7912:44:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_RecoverError_$7","typeString":"enum ECDSA.RecoverError"},"id":335,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":332,"name":"error","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":301,"src":"8046:5:0","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$7","typeString":"enum ECDSA.RecoverError"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":333,"name":"RecoverError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7,"src":"8055:12:0","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RecoverError_$7_$","typeString":"type(enum ECDSA.RecoverError)"}},"id":334,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8068:17:0","memberName":"InvalidSignatureS","nodeType":"MemberAccess","referencedDeclaration":6,"src":"8055:30:0","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$7","typeString":"enum ECDSA.RecoverError"}},"src":"8046:39:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":341,"nodeType":"IfStatement","src":"8042:109:0","trueBody":{"id":340,"nodeType":"Block","src":"8087:64:0","statements":[{"errorCall":{"arguments":[{"id":337,"name":"errorArg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":303,"src":"8131:8:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":336,"name":"ECDSAInvalidSignatureS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20,"src":"8108:22:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_bytes32_$returns$__$","typeString":"function (bytes32) pure"}},"id":338,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8108:32:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":339,"nodeType":"RevertStatement","src":"8101:39:0"}]}},"id":342,"nodeType":"IfStatement","src":"7908:243:0","trueBody":{"id":331,"nodeType":"Block","src":"7958:78:0","statements":[{"errorCall":{"arguments":[{"arguments":[{"id":327,"name":"errorArg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":303,"src":"8015:8:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":326,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8007:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":325,"name":"uint256","nodeType":"ElementaryTypeName","src":"8007:7:0","typeDescriptions":{}}},"id":328,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8007:17:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":324,"name":"ECDSAInvalidSignatureLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15,"src":"7979:27:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":329,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7979:46:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":330,"nodeType":"RevertStatement","src":"7972:53:0"}]}},"id":343,"nodeType":"IfStatement","src":"7803:348:0","trueBody":{"id":319,"nodeType":"Block","src":"7847:55:0","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":316,"name":"ECDSAInvalidSignature","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10,"src":"7868:21:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":317,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7868:23:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":318,"nodeType":"RevertStatement","src":"7861:30:0"}]}},"id":344,"nodeType":"IfStatement","src":"7707:444:0","trueBody":{"id":311,"nodeType":"Block","src":"7742:55:0","statements":[{"functionReturnParameters":305,"id":310,"nodeType":"Return","src":"7756:7:0"}]}}]},"documentation":{"id":298,"nodeType":"StructuredDocumentation","src":"7498:122:0","text":" @dev Optionally reverts with the corresponding custom error according to the `error` argument provided."},"id":346,"implemented":true,"kind":"function","modifiers":[],"name":"_throwError","nameLocation":"7634:11:0","nodeType":"FunctionDefinition","parameters":{"id":304,"nodeType":"ParameterList","parameters":[{"constant":false,"id":301,"mutability":"mutable","name":"error","nameLocation":"7659:5:0","nodeType":"VariableDeclaration","scope":346,"src":"7646:18:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$7","typeString":"enum ECDSA.RecoverError"},"typeName":{"id":300,"nodeType":"UserDefinedTypeName","pathNode":{"id":299,"name":"RecoverError","nameLocations":["7646:12:0"],"nodeType":"IdentifierPath","referencedDeclaration":7,"src":"7646:12:0"},"referencedDeclaration":7,"src":"7646:12:0","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$7","typeString":"enum ECDSA.RecoverError"}},"visibility":"internal"},{"constant":false,"id":303,"mutability":"mutable","name":"errorArg","nameLocation":"7674:8:0","nodeType":"VariableDeclaration","scope":346,"src":"7666:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":302,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7666:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"7645:38:0"},"returnParameters":{"id":305,"nodeType":"ParameterList","parameters":[],"src":"7697:0:0"},"scope":357,"src":"7625:532:0","stateMutability":"pure","virtual":false,"visibility":"private"},{"body":{"id":355,"nodeType":"Block","src":"8939:368:0","statements":[{"AST":{"nodeType":"YulBlock","src":"9001:300:0","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9022:4:0","type":"","value":"0x00"},{"hexValue":"19457468657265756d205369676e6564204d6573736167653a0a3332","kind":"string","nodeType":"YulLiteral","src":"9028:34:0","type":"","value":"\u0019Ethereum Signed Message:\n32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9015:6:0"},"nodeType":"YulFunctionCall","src":"9015:48:0"},"nodeType":"YulExpressionStatement","src":"9015:48:0"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9124:4:0","type":"","value":"0x1c"},{"name":"messageHash","nodeType":"YulIdentifier","src":"9130:11:0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9117:6:0"},"nodeType":"YulFunctionCall","src":"9117:25:0"},"nodeType":"YulExpressionStatement","src":"9117:25:0"},{"nodeType":"YulAssignment","src":"9196:31:0","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9216:4:0","type":"","value":"0x00"},{"kind":"number","nodeType":"YulLiteral","src":"9222:4:0","type":"","value":"0x3c"}],"functionName":{"name":"keccak256","nodeType":"YulIdentifier","src":"9206:9:0"},"nodeType":"YulFunctionCall","src":"9206:21:0"},"variableNames":[{"name":"digest","nodeType":"YulIdentifier","src":"9196:6:0"}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"paris","externalReferences":[{"declaration":352,"isOffset":false,"isSlot":false,"src":"9196:6:0","valueSize":1},{"declaration":349,"isOffset":false,"isSlot":false,"src":"9130:11:0","valueSize":1}],"id":354,"nodeType":"InlineAssembly","src":"8992:309:0"}]},"documentation":{"id":347,"nodeType":"StructuredDocumentation","src":"8163:665:0","text":" @dev Returns the keccak256 digest of an ERC-191 signed data with version\n `0x45` (`personal_sign` messages).\n The digest is calculated by prefixing a bytes32 `messageHash` with\n `\"\\x19Ethereum Signed Message:\\n32\"` and hashing the result. It corresponds with the\n hash signed when using the https://eth.wiki/json-rpc/API#eth_sign[`eth_sign`] JSON-RPC method.\n NOTE: The `messageHash` parameter is intended to be the result of hashing a raw message with\n keccak256, although any bytes32 value can be safely used because the final digest will\n be re-hashed.\n See {ECDSA-recover}."},"id":356,"implemented":true,"kind":"function","modifiers":[],"name":"toEthSignedMessageHash","nameLocation":"8842:22:0","nodeType":"FunctionDefinition","parameters":{"id":350,"nodeType":"ParameterList","parameters":[{"constant":false,"id":349,"mutability":"mutable","name":"messageHash","nameLocation":"8882:11:0","nodeType":"VariableDeclaration","scope":356,"src":"8874:19:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":348,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8874:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"8864:35:0"},"returnParameters":{"id":353,"nodeType":"ParameterList","parameters":[{"constant":false,"id":352,"mutability":"mutable","name":"digest","nameLocation":"8931:6:0","nodeType":"VariableDeclaration","scope":356,"src":"8923:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":351,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8923:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"8922:16:0"},"scope":357,"src":"8833:474:0","stateMutability":"pure","virtual":false,"visibility":"internal"}],"scope":358,"src":"342:8967:0","usedErrors":[10,15,20]}],"src":"111:9199:0"},"id":0},"contracts/bridge/TellorDataBridge.sol":{"ast":{"absolutePath":"contracts/bridge/TellorDataBridge.sol","exportedSymbols":{"ECDSA":[357],"OracleAttestationData":[369],"ReportData":[382],"Signature":[389],"TellorDataBridge":[958],"Validator":[394]},"id":959,"license":"Apache-2.0","nodeType":"SourceUnit","nodes":[{"id":359,"literals":["solidity","0.8",".19"],"nodeType":"PragmaDirective","src":"39:23:1"},{"absolutePath":"contracts/bridge/ECDSA.sol","file":"./ECDSA.sol","id":361,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":959,"sourceUnit":358,"src":"64:34:1","symbolAliases":[{"foreign":{"id":360,"name":"ECDSA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"72:5:1","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"canonicalName":"OracleAttestationData","id":369,"members":[{"constant":false,"id":363,"mutability":"mutable","name":"queryId","nameLocation":"143:7:1","nodeType":"VariableDeclaration","scope":369,"src":"135:15:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":362,"name":"bytes32","nodeType":"ElementaryTypeName","src":"135:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":366,"mutability":"mutable","name":"report","nameLocation":"167:6:1","nodeType":"VariableDeclaration","scope":369,"src":"156:17:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_ReportData_$382_storage_ptr","typeString":"struct ReportData"},"typeName":{"id":365,"nodeType":"UserDefinedTypeName","pathNode":{"id":364,"name":"ReportData","nameLocations":["156:10:1"],"nodeType":"IdentifierPath","referencedDeclaration":382,"src":"156:10:1"},"referencedDeclaration":382,"src":"156:10:1","typeDescriptions":{"typeIdentifier":"t_struct$_ReportData_$382_storage_ptr","typeString":"struct ReportData"}},"visibility":"internal"},{"constant":false,"id":368,"mutability":"mutable","name":"attestationTimestamp","nameLocation":"187:20:1","nodeType":"VariableDeclaration","scope":369,"src":"179:28:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":367,"name":"uint256","nodeType":"ElementaryTypeName","src":"179:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"OracleAttestationData","nameLocation":"107:21:1","nodeType":"StructDefinition","scope":959,"src":"100:154:1","visibility":"public"},{"canonicalName":"ReportData","id":382,"members":[{"constant":false,"id":371,"mutability":"mutable","name":"value","nameLocation":"286:5:1","nodeType":"VariableDeclaration","scope":382,"src":"280:11:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":370,"name":"bytes","nodeType":"ElementaryTypeName","src":"280:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":373,"mutability":"mutable","name":"timestamp","nameLocation":"305:9:1","nodeType":"VariableDeclaration","scope":382,"src":"297:17:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":372,"name":"uint256","nodeType":"ElementaryTypeName","src":"297:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":375,"mutability":"mutable","name":"aggregatePower","nameLocation":"373:14:1","nodeType":"VariableDeclaration","scope":382,"src":"365:22:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":374,"name":"uint256","nodeType":"ElementaryTypeName","src":"365:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":377,"mutability":"mutable","name":"previousTimestamp","nameLocation":"401:17:1","nodeType":"VariableDeclaration","scope":382,"src":"393:25:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":376,"name":"uint256","nodeType":"ElementaryTypeName","src":"393:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":379,"mutability":"mutable","name":"nextTimestamp","nameLocation":"432:13:1","nodeType":"VariableDeclaration","scope":382,"src":"424:21:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":378,"name":"uint256","nodeType":"ElementaryTypeName","src":"424:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":381,"mutability":"mutable","name":"lastConsensusTimestamp","nameLocation":"459:22:1","nodeType":"VariableDeclaration","scope":382,"src":"451:30:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":380,"name":"uint256","nodeType":"ElementaryTypeName","src":"451:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"ReportData","nameLocation":"263:10:1","nodeType":"StructDefinition","scope":959,"src":"256:228:1","visibility":"public"},{"canonicalName":"Signature","id":389,"members":[{"constant":false,"id":384,"mutability":"mutable","name":"v","nameLocation":"515:1:1","nodeType":"VariableDeclaration","scope":389,"src":"509:7:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":383,"name":"uint8","nodeType":"ElementaryTypeName","src":"509:5:1","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":386,"mutability":"mutable","name":"r","nameLocation":"530:1:1","nodeType":"VariableDeclaration","scope":389,"src":"522:9:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":385,"name":"bytes32","nodeType":"ElementaryTypeName","src":"522:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":388,"mutability":"mutable","name":"s","nameLocation":"545:1:1","nodeType":"VariableDeclaration","scope":389,"src":"537:9:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":387,"name":"bytes32","nodeType":"ElementaryTypeName","src":"537:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"name":"Signature","nameLocation":"493:9:1","nodeType":"StructDefinition","scope":959,"src":"486:63:1","visibility":"public"},{"canonicalName":"Validator","id":394,"members":[{"constant":false,"id":391,"mutability":"mutable","name":"addr","nameLocation":"582:4:1","nodeType":"VariableDeclaration","scope":394,"src":"574:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":390,"name":"address","nodeType":"ElementaryTypeName","src":"574:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":393,"mutability":"mutable","name":"power","nameLocation":"600:5:1","nodeType":"VariableDeclaration","scope":394,"src":"592:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":392,"name":"uint256","nodeType":"ElementaryTypeName","src":"592:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"Validator","nameLocation":"558:9:1","nodeType":"StructDefinition","scope":959,"src":"551:57:1","visibility":"public"},{"abstract":false,"baseContracts":[{"baseName":{"id":396,"name":"ECDSA","nameLocations":["978:5:1"],"nodeType":"IdentifierPath","referencedDeclaration":357,"src":"978:5:1"},"id":397,"nodeType":"InheritanceSpecifier","src":"978:5:1"}],"canonicalName":"TellorDataBridge","contractDependencies":[],"contractKind":"contract","documentation":{"id":395,"nodeType":"StructuredDocumentation","src":"611:338:1","text":"@title TellorDataBridge: Tellor Layer -> EVM, Oracle relay.\n @dev The relay relies on a set of signers to attest to some event on\n Tellor Layer. These signers are the validator set, who sign over every\n block. At least 2/3 of the voting power of the current\n view of the validator set must sign off on new relayed events."},"fullyImplemented":true,"id":958,"linearizedBaseContracts":[958,357],"name":"TellorDataBridge","nameLocation":"958:16:1","nodeType":"ContractDefinition","nodes":[{"constant":false,"functionSelector":"452a9320","id":399,"mutability":"mutable","name":"guardian","nameLocation":"1022:8:1","nodeType":"VariableDeclaration","scope":958,"src":"1007:23:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":398,"name":"address","nodeType":"ElementaryTypeName","src":"1007:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"constant":false,"documentation":{"id":400,"nodeType":"StructuredDocumentation","src":"1032:76:1","text":"Able to reset the validator set only if the validator set becomes stale."},"functionSelector":"af082a7d","id":402,"mutability":"mutable","name":"lastValidatorSetCheckpoint","nameLocation":"1128:26:1","nodeType":"VariableDeclaration","scope":958,"src":"1113:41:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":401,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1113:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"constant":false,"documentation":{"id":403,"nodeType":"StructuredDocumentation","src":"1156:59:1","text":"Domain-separated commitment to the latest validator set."},"functionSelector":"ba95ec27","id":405,"mutability":"mutable","name":"powerThreshold","nameLocation":"1235:14:1","nodeType":"VariableDeclaration","scope":958,"src":"1220:29:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":404,"name":"uint256","nodeType":"ElementaryTypeName","src":"1220:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"constant":false,"documentation":{"id":406,"nodeType":"StructuredDocumentation","src":"1251:49:1","text":"Voting power required to submit a new update."},"functionSelector":"6cf6d675","id":408,"mutability":"mutable","name":"unbondingPeriod","nameLocation":"1320:15:1","nodeType":"VariableDeclaration","scope":958,"src":"1305:30:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":407,"name":"uint256","nodeType":"ElementaryTypeName","src":"1305:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"constant":false,"documentation":{"id":409,"nodeType":"StructuredDocumentation","src":"1337:65:1","text":"Time period after which a validator can withdraw their stake."},"functionSelector":"4f76f1ee","id":411,"mutability":"mutable","name":"validatorTimestamp","nameLocation":"1422:18:1","nodeType":"VariableDeclaration","scope":958,"src":"1407:33:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":410,"name":"uint256","nodeType":"ElementaryTypeName","src":"1407:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"constant":false,"documentation":{"id":412,"nodeType":"StructuredDocumentation","src":"1442:58:1","text":"Timestamp of the block where validator set is updated."},"functionSelector":"d5f39488","id":414,"mutability":"mutable","name":"deployer","nameLocation":"1520:8:1","nodeType":"VariableDeclaration","scope":958,"src":"1505:23:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":413,"name":"address","nodeType":"ElementaryTypeName","src":"1505:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"constant":false,"documentation":{"id":415,"nodeType":"StructuredDocumentation","src":"1530:39:1","text":"Address that deployed the contract."},"functionSelector":"158ef93e","id":417,"mutability":"mutable","name":"initialized","nameLocation":"1586:11:1","nodeType":"VariableDeclaration","scope":958,"src":"1574:23:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":416,"name":"bool","nodeType":"ElementaryTypeName","src":"1574:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"public"},{"constant":true,"documentation":{"id":418,"nodeType":"StructuredDocumentation","src":"1599:40:1","text":"True if the contract is initialized."},"functionSelector":"1a8bcd34","id":421,"mutability":"constant","name":"MS_PER_SECOND","nameLocation":"1668:13:1","nodeType":"VariableDeclaration","scope":958,"src":"1644:44:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":419,"name":"uint256","nodeType":"ElementaryTypeName","src":"1644:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"31303030","id":420,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1684:4:1","typeDescriptions":{"typeIdentifier":"t_rational_1000_by_1","typeString":"int_const 1000"},"value":"1000"},"visibility":"public"},{"constant":true,"functionSelector":"bd7c3153","id":424,"mutability":"constant","name":"NEW_REPORT_ATTESTATION_DOMAIN_SEPARATOR","nameLocation":"1763:39:1","nodeType":"VariableDeclaration","scope":958,"src":"1739:170:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":422,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1739:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"hexValue":"307837343635366336633666373234333735373237323635366537343431373437343635373337343631373436393666366530303030303030303030303030303030","id":423,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1843:66:1","typeDescriptions":{"typeIdentifier":"t_rational_52647490301217880958921255742851195000291213299261488381361933475469663928320_by_1","typeString":"int_const 5264...(69 digits omitted)...8320"},"value":"0x74656c6c6f7243757272656e744174746573746174696f6e0000000000000000"},"visibility":"public"},{"constant":false,"functionSelector":"9e45a913","id":426,"mutability":"immutable","name":"VALIDATOR_SET_HASH_DOMAIN_SEPARATOR","nameLocation":"2257:35:1","nodeType":"VariableDeclaration","scope":958,"src":"2232:60:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":425,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2232:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"anonymous":false,"eventSelector":"d7067f3840022e90166b8566f9982288b89ec7479b8eb30fad06290f18c8cb09","id":434,"name":"GuardianResetValidatorSet","nameLocation":"2320:25:1","nodeType":"EventDefinition","parameters":{"id":433,"nodeType":"ParameterList","parameters":[{"constant":false,"id":428,"indexed":false,"mutability":"mutable","name":"_powerThreshold","nameLocation":"2354:15:1","nodeType":"VariableDeclaration","scope":434,"src":"2346:23:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":427,"name":"uint256","nodeType":"ElementaryTypeName","src":"2346:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":430,"indexed":false,"mutability":"mutable","name":"_validatorTimestamp","nameLocation":"2379:19:1","nodeType":"VariableDeclaration","scope":434,"src":"2371:27:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":429,"name":"uint256","nodeType":"ElementaryTypeName","src":"2371:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":432,"indexed":false,"mutability":"mutable","name":"_validatorSetHash","nameLocation":"2408:17:1","nodeType":"VariableDeclaration","scope":434,"src":"2400:25:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":431,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2400:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2345:81:1"},"src":"2314:113:1"},{"anonymous":false,"eventSelector":"e304b71f81a1aaf6d714401de28ba1ebdbb5ff9c5fee59ef2a6eb984f9e8da7e","id":442,"name":"ValidatorSetUpdated","nameLocation":"2438:19:1","nodeType":"EventDefinition","parameters":{"id":441,"nodeType":"ParameterList","parameters":[{"constant":false,"id":436,"indexed":false,"mutability":"mutable","name":"_powerThreshold","nameLocation":"2466:15:1","nodeType":"VariableDeclaration","scope":442,"src":"2458:23:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":435,"name":"uint256","nodeType":"ElementaryTypeName","src":"2458:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":438,"indexed":false,"mutability":"mutable","name":"_validatorTimestamp","nameLocation":"2491:19:1","nodeType":"VariableDeclaration","scope":442,"src":"2483:27:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":437,"name":"uint256","nodeType":"ElementaryTypeName","src":"2483:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":440,"indexed":false,"mutability":"mutable","name":"_validatorSetHash","nameLocation":"2520:17:1","nodeType":"VariableDeclaration","scope":442,"src":"2512:25:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":439,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2512:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2457:81:1"},"src":"2432:107:1"},{"errorSelector":"0dc149f0","id":444,"name":"AlreadyInitialized","nameLocation":"2566:18:1","nodeType":"ErrorDefinition","parameters":{"id":443,"nodeType":"ParameterList","parameters":[],"src":"2584:2:1"},"src":"2560:27:1"},{"errorSelector":"cabeb655","id":446,"name":"InsufficientVotingPower","nameLocation":"2598:23:1","nodeType":"ErrorDefinition","parameters":{"id":445,"nodeType":"ParameterList","parameters":[],"src":"2621:2:1"},"src":"2592:32:1"},{"errorSelector":"c3b70c88","id":448,"name":"InvalidPowerThreshold","nameLocation":"2635:21:1","nodeType":"ErrorDefinition","parameters":{"id":447,"nodeType":"ParameterList","parameters":[],"src":"2656:2:1"},"src":"2629:30:1"},{"errorSelector":"8baa579f","id":450,"name":"InvalidSignature","nameLocation":"2670:16:1","nodeType":"ErrorDefinition","parameters":{"id":449,"nodeType":"ParameterList","parameters":[],"src":"2686:2:1"},"src":"2664:25:1"},{"errorSelector":"c6617b7b","id":452,"name":"MalformedCurrentValidatorSet","nameLocation":"2700:28:1","nodeType":"ErrorDefinition","parameters":{"id":451,"nodeType":"ParameterList","parameters":[],"src":"2728:2:1"},"src":"2694:37:1"},{"errorSelector":"8b906c97","id":454,"name":"NotDeployer","nameLocation":"2742:11:1","nodeType":"ErrorDefinition","parameters":{"id":453,"nodeType":"ParameterList","parameters":[],"src":"2753:2:1"},"src":"2736:20:1"},{"errorSelector":"ef6d0f02","id":456,"name":"NotGuardian","nameLocation":"2767:11:1","nodeType":"ErrorDefinition","parameters":{"id":455,"nodeType":"ParameterList","parameters":[],"src":"2778:2:1"},"src":"2761:20:1"},{"errorSelector":"e5e5e464","id":458,"name":"StaleValidatorSet","nameLocation":"2792:17:1","nodeType":"ErrorDefinition","parameters":{"id":457,"nodeType":"ParameterList","parameters":[],"src":"2809:2:1"},"src":"2786:26:1"},{"errorSelector":"177b5d92","id":460,"name":"SuppliedValidatorSetInvalid","nameLocation":"2823:27:1","nodeType":"ErrorDefinition","parameters":{"id":459,"nodeType":"ParameterList","parameters":[],"src":"2850:2:1"},"src":"2817:36:1"},{"errorSelector":"1c36ced2","id":462,"name":"ValidatorSetNotStale","nameLocation":"2864:20:1","nodeType":"ErrorDefinition","parameters":{"id":461,"nodeType":"ParameterList","parameters":[],"src":"2884:2:1"},"src":"2858:29:1"},{"errorSelector":"780635d0","id":464,"name":"ValidatorTimestampMustIncrease","nameLocation":"2898:30:1","nodeType":"ErrorDefinition","parameters":{"id":463,"nodeType":"ParameterList","parameters":[],"src":"2928:2:1"},"src":"2892:39:1"},{"body":{"id":485,"nodeType":"Block","src":"3156:148:1","statements":[{"expression":{"id":474,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":472,"name":"guardian","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":399,"src":"3166:8:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":473,"name":"_guardian","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":467,"src":"3177:9:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3166:20:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":475,"nodeType":"ExpressionStatement","src":"3166:20:1"},{"expression":{"id":479,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":476,"name":"deployer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":414,"src":"3196:8:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":477,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3207:3:1","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":478,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3211:6:1","memberName":"sender","nodeType":"MemberAccess","src":"3207:10:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3196:21:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":480,"nodeType":"ExpressionStatement","src":"3196:21:1"},{"expression":{"id":483,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":481,"name":"VALIDATOR_SET_HASH_DOMAIN_SEPARATOR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":426,"src":"3227:35:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":482,"name":"_validatorSetHashDomainSeparator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":469,"src":"3265:32:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"3227:70:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":484,"nodeType":"ExpressionStatement","src":"3227:70:1"}]},"documentation":{"id":465,"nodeType":"StructuredDocumentation","src":"2955:101:1","text":"@notice Constructor for the TellorDataBridge contract.\n @param _guardian Guardian address."},"id":486,"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":470,"nodeType":"ParameterList","parameters":[{"constant":false,"id":467,"mutability":"mutable","name":"_guardian","nameLocation":"3090:9:1","nodeType":"VariableDeclaration","scope":486,"src":"3082:17:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":466,"name":"address","nodeType":"ElementaryTypeName","src":"3082:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":469,"mutability":"mutable","name":"_validatorSetHashDomainSeparator","nameLocation":"3117:32:1","nodeType":"VariableDeclaration","scope":486,"src":"3109:40:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":468,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3109:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3072:83:1"},"returnParameters":{"id":471,"nodeType":"ParameterList","parameters":[],"src":"3156:0:1"},"scope":958,"src":"3061:243:1","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":533,"nodeType":"Block","src":"3930:393:1","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":501,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":498,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3944:3:1","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":499,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3948:6:1","memberName":"sender","nodeType":"MemberAccess","src":"3944:10:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":500,"name":"deployer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":414,"src":"3958:8:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3944:22:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":506,"nodeType":"IfStatement","src":"3940:73:1","trueBody":{"id":505,"nodeType":"Block","src":"3968:45:1","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":502,"name":"NotDeployer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":454,"src":"3989:11:1","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":503,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3989:13:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":504,"nodeType":"RevertStatement","src":"3982:20:1"}]}},{"condition":{"id":507,"name":"initialized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":417,"src":"4026:11:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":512,"nodeType":"IfStatement","src":"4022:69:1","trueBody":{"id":511,"nodeType":"Block","src":"4039:52:1","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":508,"name":"AlreadyInitialized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":444,"src":"4060:18:1","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":509,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4060:20:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":510,"nodeType":"RevertStatement","src":"4053:27:1"}]}},{"expression":{"id":515,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":513,"name":"initialized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":417,"src":"4100:11:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":514,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4114:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"4100:18:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":516,"nodeType":"ExpressionStatement","src":"4100:18:1"},{"expression":{"id":519,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":517,"name":"powerThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":405,"src":"4128:14:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":518,"name":"_powerThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":489,"src":"4145:15:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4128:32:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":520,"nodeType":"ExpressionStatement","src":"4128:32:1"},{"expression":{"id":523,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":521,"name":"validatorTimestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":411,"src":"4170:18:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":522,"name":"_validatorTimestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":491,"src":"4191:19:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4170:40:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":524,"nodeType":"ExpressionStatement","src":"4170:40:1"},{"expression":{"id":527,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":525,"name":"unbondingPeriod","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":408,"src":"4220:15:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":526,"name":"_unbondingPeriod","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":493,"src":"4238:16:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4220:34:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":528,"nodeType":"ExpressionStatement","src":"4220:34:1"},{"expression":{"id":531,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":529,"name":"lastValidatorSetCheckpoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":402,"src":"4264:26:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":530,"name":"_validatorSetCheckpoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":495,"src":"4293:23:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"4264:52:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":532,"nodeType":"ExpressionStatement","src":"4264:52:1"}]},"documentation":{"id":487,"nodeType":"StructuredDocumentation","src":"3310:441:1","text":"@notice This function is called only once by the deployer to initialize the contract\n @param _powerThreshold Initial voting power that is needed to approve operations\n @param _validatorTimestamp Timestamp of the block where validator set is updated.\n @param _unbondingPeriod Time period after which a validator can withdraw their stake.\n @param _validatorSetCheckpoint Initial checkpoint of the validator set."},"functionSelector":"4394f6f3","id":534,"implemented":true,"kind":"function","modifiers":[],"name":"init","nameLocation":"3765:4:1","nodeType":"FunctionDefinition","parameters":{"id":496,"nodeType":"ParameterList","parameters":[{"constant":false,"id":489,"mutability":"mutable","name":"_powerThreshold","nameLocation":"3787:15:1","nodeType":"VariableDeclaration","scope":534,"src":"3779:23:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":488,"name":"uint256","nodeType":"ElementaryTypeName","src":"3779:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":491,"mutability":"mutable","name":"_validatorTimestamp","nameLocation":"3820:19:1","nodeType":"VariableDeclaration","scope":534,"src":"3812:27:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":490,"name":"uint256","nodeType":"ElementaryTypeName","src":"3812:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":493,"mutability":"mutable","name":"_unbondingPeriod","nameLocation":"3857:16:1","nodeType":"VariableDeclaration","scope":534,"src":"3849:24:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":492,"name":"uint256","nodeType":"ElementaryTypeName","src":"3849:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":495,"mutability":"mutable","name":"_validatorSetCheckpoint","nameLocation":"3891:23:1","nodeType":"VariableDeclaration","scope":534,"src":"3883:31:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":494,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3883:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3769:151:1"},"returnParameters":{"id":497,"nodeType":"ParameterList","parameters":[],"src":"3930:0:1"},"scope":958,"src":"3756:567:1","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":593,"nodeType":"Block","src":"4855:607:1","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":547,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":544,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"4869:3:1","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":545,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4873:6:1","memberName":"sender","nodeType":"MemberAccess","src":"4869:10:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":546,"name":"guardian","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":399,"src":"4883:8:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"4869:22:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":552,"nodeType":"IfStatement","src":"4865:73:1","trueBody":{"id":551,"nodeType":"Block","src":"4893:45:1","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":548,"name":"NotGuardian","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":456,"src":"4914:11:1","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":549,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4914:13:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":550,"nodeType":"RevertStatement","src":"4907:20:1"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":561,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":559,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":553,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"4951:5:1","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":554,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4957:9:1","memberName":"timestamp","nodeType":"MemberAccess","src":"4951:15:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":557,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":555,"name":"validatorTimestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":411,"src":"4970:18:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":556,"name":"MS_PER_SECOND","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":421,"src":"4991:13:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4970:34:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":558,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"4969:36:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4951:54:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":560,"name":"unbondingPeriod","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":408,"src":"5008:15:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4951:72:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":566,"nodeType":"IfStatement","src":"4947:132:1","trueBody":{"id":565,"nodeType":"Block","src":"5025:54:1","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":562,"name":"ValidatorSetNotStale","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":462,"src":"5046:20:1","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":563,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5046:22:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":564,"nodeType":"RevertStatement","src":"5039:29:1"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":569,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":567,"name":"_validatorTimestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":539,"src":"5092:19:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":568,"name":"validatorTimestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":411,"src":"5115:18:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5092:41:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":574,"nodeType":"IfStatement","src":"5088:111:1","trueBody":{"id":573,"nodeType":"Block","src":"5135:64:1","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":570,"name":"ValidatorTimestampMustIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":464,"src":"5156:30:1","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":571,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5156:32:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":572,"nodeType":"RevertStatement","src":"5149:39:1"}]}},{"expression":{"id":577,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":575,"name":"powerThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":405,"src":"5208:14:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":576,"name":"_powerThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":537,"src":"5225:15:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5208:32:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":578,"nodeType":"ExpressionStatement","src":"5208:32:1"},{"expression":{"id":581,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":579,"name":"validatorTimestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":411,"src":"5250:18:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":580,"name":"_validatorTimestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":539,"src":"5271:19:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5250:40:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":582,"nodeType":"ExpressionStatement","src":"5250:40:1"},{"expression":{"id":585,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":583,"name":"lastValidatorSetCheckpoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":402,"src":"5300:26:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":584,"name":"_validatorSetCheckpoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":541,"src":"5329:23:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"5300:52:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":586,"nodeType":"ExpressionStatement","src":"5300:52:1"},{"eventCall":{"arguments":[{"id":588,"name":"_powerThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":537,"src":"5393:15:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":589,"name":"_validatorTimestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":539,"src":"5410:19:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":590,"name":"_validatorSetCheckpoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":541,"src":"5431:23:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":587,"name":"GuardianResetValidatorSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":434,"src":"5367:25:1","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_bytes32_$returns$__$","typeString":"function (uint256,uint256,bytes32)"}},"id":591,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5367:88:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":592,"nodeType":"EmitStatement","src":"5362:93:1"}]},"documentation":{"id":535,"nodeType":"StructuredDocumentation","src":"4329:360:1","text":"@notice This function is called by the guardian to reset the validator set\n only if it becomes stale.\n @param _powerThreshold Amount of voting power needed to approve operations.\n @param _validatorTimestamp The timestamp of the block where validator set is updated.\n @param _validatorSetCheckpoint The hash of the validator set."},"functionSelector":"185bf52b","id":594,"implemented":true,"kind":"function","modifiers":[],"name":"guardianResetValidatorSet","nameLocation":"4703:25:1","nodeType":"FunctionDefinition","parameters":{"id":542,"nodeType":"ParameterList","parameters":[{"constant":false,"id":537,"mutability":"mutable","name":"_powerThreshold","nameLocation":"4746:15:1","nodeType":"VariableDeclaration","scope":594,"src":"4738:23:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":536,"name":"uint256","nodeType":"ElementaryTypeName","src":"4738:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":539,"mutability":"mutable","name":"_validatorTimestamp","nameLocation":"4779:19:1","nodeType":"VariableDeclaration","scope":594,"src":"4771:27:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":538,"name":"uint256","nodeType":"ElementaryTypeName","src":"4771:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":541,"mutability":"mutable","name":"_validatorSetCheckpoint","nameLocation":"4816:23:1","nodeType":"VariableDeclaration","scope":594,"src":"4808:31:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":540,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4808:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4728:117:1"},"returnParameters":{"id":543,"nodeType":"ParameterList","parameters":[],"src":"4855:0:1"},"scope":958,"src":"4694:768:1","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":692,"nodeType":"Block","src":"6210:1430:1","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":616,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":612,"name":"_currentValidatorSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":605,"src":"6224:20:1","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Validator_$394_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Validator calldata[] calldata"}},"id":613,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6245:6:1","memberName":"length","nodeType":"MemberAccess","src":"6224:27:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":614,"name":"_sigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":609,"src":"6255:5:1","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Signature_$389_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Signature calldata[] calldata"}},"id":615,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6261:6:1","memberName":"length","nodeType":"MemberAccess","src":"6255:12:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6224:43:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":621,"nodeType":"IfStatement","src":"6220:111:1","trueBody":{"id":620,"nodeType":"Block","src":"6269:62:1","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":617,"name":"MalformedCurrentValidatorSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":452,"src":"6290:28:1","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":618,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6290:30:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":619,"nodeType":"RevertStatement","src":"6283:37:1"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":624,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":622,"name":"_newValidatorTimestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":601,"src":"6344:22:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":623,"name":"validatorTimestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":411,"src":"6369:18:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6344:43:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":629,"nodeType":"IfStatement","src":"6340:113:1","trueBody":{"id":628,"nodeType":"Block","src":"6389:64:1","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":625,"name":"ValidatorTimestampMustIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":464,"src":"6410:30:1","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":626,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6410:32:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":627,"nodeType":"RevertStatement","src":"6403:39:1"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint64","typeString":"uint64"},"id":632,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":630,"name":"_newPowerThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":599,"src":"6466:18:1","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":631,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6488:1:1","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"6466:23:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":637,"nodeType":"IfStatement","src":"6462:84:1","trueBody":{"id":636,"nodeType":"Block","src":"6491:55:1","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":633,"name":"InvalidPowerThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":448,"src":"6512:21:1","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":634,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6512:23:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":635,"nodeType":"RevertStatement","src":"6505:30:1"}]}},{"assignments":[639],"declarations":[{"constant":false,"id":639,"mutability":"mutable","name":"_currentValidatorSetHash","nameLocation":"6650:24:1","nodeType":"VariableDeclaration","scope":692,"src":"6642:32:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":638,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6642:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":646,"initialValue":{"arguments":[{"arguments":[{"id":643,"name":"_currentValidatorSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":605,"src":"6698:20:1","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Validator_$394_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Validator calldata[] calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Validator_$394_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Validator calldata[] calldata"}],"expression":{"id":641,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6687:3:1","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":642,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6691:6:1","memberName":"encode","nodeType":"MemberAccess","src":"6687:10:1","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":644,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6687:32:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":640,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"6677:9:1","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":645,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6677:43:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"6642:78:1"},{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":653,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":648,"name":"powerThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":405,"src":"6796:14:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":649,"name":"validatorTimestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":411,"src":"6828:18:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":650,"name":"_currentValidatorSetHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":639,"src":"6864:24:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":647,"name":"_domainSeparateValidatorSetHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":906,"src":"6747:31:1","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (uint256,uint256,bytes32) view returns (bytes32)"}},"id":651,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6747:155:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":652,"name":"lastValidatorSetCheckpoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":402,"src":"6906:26:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"6747:185:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":658,"nodeType":"IfStatement","src":"6730:274:1","trueBody":{"id":657,"nodeType":"Block","src":"6943:61:1","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":654,"name":"SuppliedValidatorSetInvalid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":460,"src":"6964:27:1","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":655,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6964:29:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":656,"nodeType":"RevertStatement","src":"6957:36:1"}]}},{"assignments":[660],"declarations":[{"constant":false,"id":660,"mutability":"mutable","name":"_newCheckpoint","nameLocation":"7022:14:1","nodeType":"VariableDeclaration","scope":692,"src":"7014:22:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":659,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7014:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":666,"initialValue":{"arguments":[{"id":662,"name":"_newPowerThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":599,"src":"7084:18:1","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},{"id":663,"name":"_newValidatorTimestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":601,"src":"7116:22:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":664,"name":"_newValidatorSetHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":597,"src":"7152:20:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint64","typeString":"uint64"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":661,"name":"_domainSeparateValidatorSetHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":906,"src":"7039:31:1","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (uint256,uint256,bytes32) view returns (bytes32)"}},"id":665,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7039:143:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"7014:168:1"},{"expression":{"arguments":[{"id":668,"name":"_currentValidatorSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":605,"src":"7231:20:1","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Validator_$394_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Validator calldata[] calldata"}},{"id":669,"name":"_sigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":609,"src":"7265:5:1","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Signature_$389_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Signature calldata[] calldata"}},{"id":670,"name":"_newCheckpoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":660,"src":"7284:14:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":671,"name":"powerThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":405,"src":"7312:14:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Validator_$394_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Validator calldata[] calldata"},{"typeIdentifier":"t_array$_t_struct$_Signature_$389_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Signature calldata[] calldata"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":667,"name":"_checkValidatorSignatures","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":883,"src":"7192:25:1","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_array$_t_struct$_Validator_$394_calldata_ptr_$dyn_calldata_ptr_$_t_array$_t_struct$_Signature_$389_calldata_ptr_$dyn_calldata_ptr_$_t_bytes32_$_t_uint256_$returns$__$","typeString":"function (struct Validator calldata[] calldata,struct Signature calldata[] calldata,bytes32,uint256) view"}},"id":672,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7192:144:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":673,"nodeType":"ExpressionStatement","src":"7192:144:1"},{"expression":{"id":676,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":674,"name":"lastValidatorSetCheckpoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":402,"src":"7346:26:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":675,"name":"_newCheckpoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":660,"src":"7375:14:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"7346:43:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":677,"nodeType":"ExpressionStatement","src":"7346:43:1"},{"expression":{"id":680,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":678,"name":"powerThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":405,"src":"7399:14:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":679,"name":"_newPowerThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":599,"src":"7416:18:1","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"src":"7399:35:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":681,"nodeType":"ExpressionStatement","src":"7399:35:1"},{"expression":{"id":684,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":682,"name":"validatorTimestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":411,"src":"7444:18:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":683,"name":"_newValidatorTimestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":601,"src":"7465:22:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7444:43:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":685,"nodeType":"ExpressionStatement","src":"7444:43:1"},{"eventCall":{"arguments":[{"id":687,"name":"_newPowerThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":599,"src":"7535:18:1","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},{"id":688,"name":"_newValidatorTimestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":601,"src":"7567:22:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":689,"name":"_newValidatorSetHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":597,"src":"7603:20:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint64","typeString":"uint64"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":686,"name":"ValidatorSetUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":442,"src":"7502:19:1","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_bytes32_$returns$__$","typeString":"function (uint256,uint256,bytes32)"}},"id":690,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7502:131:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":691,"nodeType":"EmitStatement","src":"7497:136:1"}]},"documentation":{"id":595,"nodeType":"StructuredDocumentation","src":"5468:494:1","text":"@notice This updates the validator set by checking that the validators\n in the current validator set have signed off on the new validator set.\n @param _newValidatorSetHash The hash of the new validator set.\n @param _newPowerThreshold At least this much power must have signed.\n @param _newValidatorTimestamp The timestamp of the block where validator set is updated.\n @param _currentValidatorSet The current validator set.\n @param _sigs Signatures."},"functionSelector":"84330d4c","id":693,"implemented":true,"kind":"function","modifiers":[],"name":"updateValidatorSet","nameLocation":"5976:18:1","nodeType":"FunctionDefinition","parameters":{"id":610,"nodeType":"ParameterList","parameters":[{"constant":false,"id":597,"mutability":"mutable","name":"_newValidatorSetHash","nameLocation":"6012:20:1","nodeType":"VariableDeclaration","scope":693,"src":"6004:28:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":596,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6004:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":599,"mutability":"mutable","name":"_newPowerThreshold","nameLocation":"6049:18:1","nodeType":"VariableDeclaration","scope":693,"src":"6042:25:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":598,"name":"uint64","nodeType":"ElementaryTypeName","src":"6042:6:1","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":601,"mutability":"mutable","name":"_newValidatorTimestamp","nameLocation":"6085:22:1","nodeType":"VariableDeclaration","scope":693,"src":"6077:30:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":600,"name":"uint256","nodeType":"ElementaryTypeName","src":"6077:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":605,"mutability":"mutable","name":"_currentValidatorSet","nameLocation":"6138:20:1","nodeType":"VariableDeclaration","scope":693,"src":"6117:41:1","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Validator_$394_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Validator[]"},"typeName":{"baseType":{"id":603,"nodeType":"UserDefinedTypeName","pathNode":{"id":602,"name":"Validator","nameLocations":["6117:9:1"],"nodeType":"IdentifierPath","referencedDeclaration":394,"src":"6117:9:1"},"referencedDeclaration":394,"src":"6117:9:1","typeDescriptions":{"typeIdentifier":"t_struct$_Validator_$394_storage_ptr","typeString":"struct Validator"}},"id":604,"nodeType":"ArrayTypeName","src":"6117:11:1","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Validator_$394_storage_$dyn_storage_ptr","typeString":"struct Validator[]"}},"visibility":"internal"},{"constant":false,"id":609,"mutability":"mutable","name":"_sigs","nameLocation":"6189:5:1","nodeType":"VariableDeclaration","scope":693,"src":"6168:26:1","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Signature_$389_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Signature[]"},"typeName":{"baseType":{"id":607,"nodeType":"UserDefinedTypeName","pathNode":{"id":606,"name":"Signature","nameLocations":["6168:9:1"],"nodeType":"IdentifierPath","referencedDeclaration":389,"src":"6168:9:1"},"referencedDeclaration":389,"src":"6168:9:1","typeDescriptions":{"typeIdentifier":"t_struct$_Signature_$389_storage_ptr","typeString":"struct Signature"}},"id":608,"nodeType":"ArrayTypeName","src":"6168:11:1","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Signature_$389_storage_$dyn_storage_ptr","typeString":"struct Signature[]"}},"visibility":"internal"}],"src":"5994:206:1"},"returnParameters":{"id":611,"nodeType":"ParameterList","parameters":[],"src":"6210:0:1"},"scope":958,"src":"5967:1673:1","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":774,"nodeType":"Block","src":"8093:1298:1","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":712,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":708,"name":"_currentValidatorSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":701,"src":"8107:20:1","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Validator_$394_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Validator calldata[] calldata"}},"id":709,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8128:6:1","memberName":"length","nodeType":"MemberAccess","src":"8107:27:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":710,"name":"_sigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":705,"src":"8138:5:1","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Signature_$389_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Signature calldata[] calldata"}},"id":711,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8144:6:1","memberName":"length","nodeType":"MemberAccess","src":"8138:12:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8107:43:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":717,"nodeType":"IfStatement","src":"8103:111:1","trueBody":{"id":716,"nodeType":"Block","src":"8152:62:1","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":713,"name":"MalformedCurrentValidatorSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":452,"src":"8173:28:1","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":714,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8173:30:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":715,"nodeType":"RevertStatement","src":"8166:37:1"}]}},{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":729,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":719,"name":"powerThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":405,"src":"8376:14:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":720,"name":"validatorTimestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":411,"src":"8408:18:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"arguments":[{"id":724,"name":"_currentValidatorSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":701,"src":"8465:20:1","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Validator_$394_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Validator calldata[] calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Validator_$394_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Validator calldata[] calldata"}],"expression":{"id":722,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8454:3:1","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":723,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8458:6:1","memberName":"encode","nodeType":"MemberAccess","src":"8454:10:1","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":725,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8454:32:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":721,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"8444:9:1","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":726,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8444:43:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":718,"name":"_domainSeparateValidatorSetHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":906,"src":"8327:31:1","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (uint256,uint256,bytes32) view returns (bytes32)"}},"id":727,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8327:174:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":728,"name":"lastValidatorSetCheckpoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":402,"src":"8505:26:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"8327:204:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":734,"nodeType":"IfStatement","src":"8310:293:1","trueBody":{"id":733,"nodeType":"Block","src":"8542:61:1","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":730,"name":"SuppliedValidatorSetInvalid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":460,"src":"8563:27:1","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":731,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8563:29:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":732,"nodeType":"RevertStatement","src":"8556:36:1"}]}},{"assignments":[736],"declarations":[{"constant":false,"id":736,"mutability":"mutable","name":"_dataDigest","nameLocation":"8620:11:1","nodeType":"VariableDeclaration","scope":774,"src":"8612:19:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":735,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8612:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":766,"initialValue":{"arguments":[{"arguments":[{"id":740,"name":"NEW_REPORT_ATTESTATION_DOMAIN_SEPARATOR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":424,"src":"8693:39:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":741,"name":"_attestData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":697,"src":"8754:11:1","typeDescriptions":{"typeIdentifier":"t_struct$_OracleAttestationData_$369_calldata_ptr","typeString":"struct OracleAttestationData calldata"}},"id":742,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8766:7:1","memberName":"queryId","nodeType":"MemberAccess","referencedDeclaration":363,"src":"8754:19:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"expression":{"id":743,"name":"_attestData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":697,"src":"8795:11:1","typeDescriptions":{"typeIdentifier":"t_struct$_OracleAttestationData_$369_calldata_ptr","typeString":"struct OracleAttestationData calldata"}},"id":744,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8807:6:1","memberName":"report","nodeType":"MemberAccess","referencedDeclaration":366,"src":"8795:18:1","typeDescriptions":{"typeIdentifier":"t_struct$_ReportData_$382_calldata_ptr","typeString":"struct ReportData calldata"}},"id":745,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8814:5:1","memberName":"value","nodeType":"MemberAccess","referencedDeclaration":371,"src":"8795:24:1","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},{"expression":{"expression":{"id":746,"name":"_attestData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":697,"src":"8841:11:1","typeDescriptions":{"typeIdentifier":"t_struct$_OracleAttestationData_$369_calldata_ptr","typeString":"struct OracleAttestationData calldata"}},"id":747,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8853:6:1","memberName":"report","nodeType":"MemberAccess","referencedDeclaration":366,"src":"8841:18:1","typeDescriptions":{"typeIdentifier":"t_struct$_ReportData_$382_calldata_ptr","typeString":"struct ReportData calldata"}},"id":748,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8860:9:1","memberName":"timestamp","nodeType":"MemberAccess","referencedDeclaration":373,"src":"8841:28:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"expression":{"id":749,"name":"_attestData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":697,"src":"8891:11:1","typeDescriptions":{"typeIdentifier":"t_struct$_OracleAttestationData_$369_calldata_ptr","typeString":"struct OracleAttestationData calldata"}},"id":750,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8903:6:1","memberName":"report","nodeType":"MemberAccess","referencedDeclaration":366,"src":"8891:18:1","typeDescriptions":{"typeIdentifier":"t_struct$_ReportData_$382_calldata_ptr","typeString":"struct ReportData calldata"}},"id":751,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8910:14:1","memberName":"aggregatePower","nodeType":"MemberAccess","referencedDeclaration":375,"src":"8891:33:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"expression":{"id":752,"name":"_attestData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":697,"src":"8946:11:1","typeDescriptions":{"typeIdentifier":"t_struct$_OracleAttestationData_$369_calldata_ptr","typeString":"struct OracleAttestationData calldata"}},"id":753,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8958:6:1","memberName":"report","nodeType":"MemberAccess","referencedDeclaration":366,"src":"8946:18:1","typeDescriptions":{"typeIdentifier":"t_struct$_ReportData_$382_calldata_ptr","typeString":"struct ReportData calldata"}},"id":754,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8965:17:1","memberName":"previousTimestamp","nodeType":"MemberAccess","referencedDeclaration":377,"src":"8946:36:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"expression":{"id":755,"name":"_attestData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":697,"src":"9004:11:1","typeDescriptions":{"typeIdentifier":"t_struct$_OracleAttestationData_$369_calldata_ptr","typeString":"struct OracleAttestationData calldata"}},"id":756,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9016:6:1","memberName":"report","nodeType":"MemberAccess","referencedDeclaration":366,"src":"9004:18:1","typeDescriptions":{"typeIdentifier":"t_struct$_ReportData_$382_calldata_ptr","typeString":"struct ReportData calldata"}},"id":757,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9023:13:1","memberName":"nextTimestamp","nodeType":"MemberAccess","referencedDeclaration":379,"src":"9004:32:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":758,"name":"lastValidatorSetCheckpoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":402,"src":"9058:26:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":759,"name":"_attestData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":697,"src":"9106:11:1","typeDescriptions":{"typeIdentifier":"t_struct$_OracleAttestationData_$369_calldata_ptr","typeString":"struct OracleAttestationData calldata"}},"id":760,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9118:20:1","memberName":"attestationTimestamp","nodeType":"MemberAccess","referencedDeclaration":368,"src":"9106:32:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"expression":{"id":761,"name":"_attestData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":697,"src":"9160:11:1","typeDescriptions":{"typeIdentifier":"t_struct$_OracleAttestationData_$369_calldata_ptr","typeString":"struct OracleAttestationData calldata"}},"id":762,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9172:6:1","memberName":"report","nodeType":"MemberAccess","referencedDeclaration":366,"src":"9160:18:1","typeDescriptions":{"typeIdentifier":"t_struct$_ReportData_$382_calldata_ptr","typeString":"struct ReportData calldata"}},"id":763,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9179:22:1","memberName":"lastConsensusTimestamp","nodeType":"MemberAccess","referencedDeclaration":381,"src":"9160:41:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":738,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8661:3:1","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":739,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8665:6:1","memberName":"encode","nodeType":"MemberAccess","src":"8661:10:1","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":764,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8661:558:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":737,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"8634:9:1","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":765,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8634:599:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"8612:621:1"},{"expression":{"arguments":[{"id":768,"name":"_currentValidatorSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":701,"src":"9282:20:1","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Validator_$394_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Validator calldata[] calldata"}},{"id":769,"name":"_sigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":705,"src":"9316:5:1","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Signature_$389_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Signature calldata[] calldata"}},{"id":770,"name":"_dataDigest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":736,"src":"9335:11:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":771,"name":"powerThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":405,"src":"9360:14:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Validator_$394_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Validator calldata[] calldata"},{"typeIdentifier":"t_array$_t_struct$_Signature_$389_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Signature calldata[] calldata"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":767,"name":"_checkValidatorSignatures","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":883,"src":"9243:25:1","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_array$_t_struct$_Validator_$394_calldata_ptr_$dyn_calldata_ptr_$_t_array$_t_struct$_Signature_$389_calldata_ptr_$dyn_calldata_ptr_$_t_bytes32_$_t_uint256_$returns$__$","typeString":"function (struct Validator calldata[] calldata,struct Signature calldata[] calldata,bytes32,uint256) view"}},"id":772,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9243:141:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":773,"nodeType":"ExpressionStatement","src":"9243:141:1"}]},"documentation":{"id":694,"nodeType":"StructuredDocumentation","src":"7675:229:1","text":"@notice This getter verifies a given piece of data vs Validator signatures\n @param _attestData The data being verified\n @param _currentValidatorSet array of current validator set\n @param _sigs Signatures."},"functionSelector":"5e0d3b0f","id":775,"implemented":true,"kind":"function","modifiers":[],"name":"verifyOracleData","nameLocation":"7918:16:1","nodeType":"FunctionDefinition","parameters":{"id":706,"nodeType":"ParameterList","parameters":[{"constant":false,"id":697,"mutability":"mutable","name":"_attestData","nameLocation":"7975:11:1","nodeType":"VariableDeclaration","scope":775,"src":"7944:42:1","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_struct$_OracleAttestationData_$369_calldata_ptr","typeString":"struct OracleAttestationData"},"typeName":{"id":696,"nodeType":"UserDefinedTypeName","pathNode":{"id":695,"name":"OracleAttestationData","nameLocations":["7944:21:1"],"nodeType":"IdentifierPath","referencedDeclaration":369,"src":"7944:21:1"},"referencedDeclaration":369,"src":"7944:21:1","typeDescriptions":{"typeIdentifier":"t_struct$_OracleAttestationData_$369_storage_ptr","typeString":"struct OracleAttestationData"}},"visibility":"internal"},{"constant":false,"id":701,"mutability":"mutable","name":"_currentValidatorSet","nameLocation":"8017:20:1","nodeType":"VariableDeclaration","scope":775,"src":"7996:41:1","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Validator_$394_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Validator[]"},"typeName":{"baseType":{"id":699,"nodeType":"UserDefinedTypeName","pathNode":{"id":698,"name":"Validator","nameLocations":["7996:9:1"],"nodeType":"IdentifierPath","referencedDeclaration":394,"src":"7996:9:1"},"referencedDeclaration":394,"src":"7996:9:1","typeDescriptions":{"typeIdentifier":"t_struct$_Validator_$394_storage_ptr","typeString":"struct Validator"}},"id":700,"nodeType":"ArrayTypeName","src":"7996:11:1","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Validator_$394_storage_$dyn_storage_ptr","typeString":"struct Validator[]"}},"visibility":"internal"},{"constant":false,"id":705,"mutability":"mutable","name":"_sigs","nameLocation":"8068:5:1","nodeType":"VariableDeclaration","scope":775,"src":"8047:26:1","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Signature_$389_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Signature[]"},"typeName":{"baseType":{"id":703,"nodeType":"UserDefinedTypeName","pathNode":{"id":702,"name":"Signature","nameLocations":["8047:9:1"],"nodeType":"IdentifierPath","referencedDeclaration":389,"src":"8047:9:1"},"referencedDeclaration":389,"src":"8047:9:1","typeDescriptions":{"typeIdentifier":"t_struct$_Signature_$389_storage_ptr","typeString":"struct Signature"}},"id":704,"nodeType":"ArrayTypeName","src":"8047:11:1","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Signature_$389_storage_$dyn_storage_ptr","typeString":"struct Signature[]"}},"visibility":"internal"}],"src":"7934:145:1"},"returnParameters":{"id":707,"nodeType":"ParameterList","parameters":[],"src":"8093:0:1"},"scope":958,"src":"7909:1482:1","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":882,"nodeType":"Block","src":"10087:975:1","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":799,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":797,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":791,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"10101:5:1","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":792,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10107:9:1","memberName":"timestamp","nodeType":"MemberAccess","src":"10101:15:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":795,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":793,"name":"validatorTimestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":411,"src":"10120:18:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":794,"name":"MS_PER_SECOND","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":421,"src":"10141:13:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10120:34:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":796,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"10119:36:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10101:54:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":798,"name":"unbondingPeriod","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":408,"src":"10158:15:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10101:72:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":804,"nodeType":"IfStatement","src":"10097:129:1","trueBody":{"id":803,"nodeType":"Block","src":"10175:51:1","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":800,"name":"StaleValidatorSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":458,"src":"10196:17:1","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":801,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10196:19:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":802,"nodeType":"RevertStatement","src":"10189:26:1"}]}},{"assignments":[806],"declarations":[{"constant":false,"id":806,"mutability":"mutable","name":"_cumulativePower","nameLocation":"10243:16:1","nodeType":"VariableDeclaration","scope":882,"src":"10235:24:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":805,"name":"uint256","nodeType":"ElementaryTypeName","src":"10235:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":808,"initialValue":{"hexValue":"30","id":807,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10262:1:1","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"10235:28:1"},{"body":{"id":872,"nodeType":"Block","src":"10332:618:1","statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":839,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":832,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":825,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":820,"name":"_sigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":784,"src":"10425:5:1","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Signature_$389_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Signature calldata[] calldata"}},"id":822,"indexExpression":{"id":821,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":810,"src":"10431:2:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10425:9:1","typeDescriptions":{"typeIdentifier":"t_struct$_Signature_$389_calldata_ptr","typeString":"struct Signature calldata"}},"id":823,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10435:1:1","memberName":"r","nodeType":"MemberAccess","referencedDeclaration":386,"src":"10425:11:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":824,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10440:1:1","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"10425:16:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":831,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":826,"name":"_sigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":784,"src":"10445:5:1","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Signature_$389_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Signature calldata[] calldata"}},"id":828,"indexExpression":{"id":827,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":810,"src":"10451:2:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10445:9:1","typeDescriptions":{"typeIdentifier":"t_struct$_Signature_$389_calldata_ptr","typeString":"struct Signature calldata"}},"id":829,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10455:1:1","memberName":"s","nodeType":"MemberAccess","referencedDeclaration":388,"src":"10445:11:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":830,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10460:1:1","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"10445:16:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"10425:36:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":838,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":833,"name":"_sigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":784,"src":"10465:5:1","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Signature_$389_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Signature calldata[] calldata"}},"id":835,"indexExpression":{"id":834,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":810,"src":"10471:2:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10465:9:1","typeDescriptions":{"typeIdentifier":"t_struct$_Signature_$389_calldata_ptr","typeString":"struct Signature calldata"}},"id":836,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10475:1:1","memberName":"v","nodeType":"MemberAccess","referencedDeclaration":384,"src":"10465:11:1","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":837,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10480:1:1","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"10465:16:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"10425:56:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":842,"nodeType":"IfStatement","src":"10421:103:1","trueBody":{"id":841,"nodeType":"Block","src":"10483:41:1","statements":[{"id":840,"nodeType":"Continue","src":"10501:8:1"}]}},{"condition":{"id":853,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"10617:60:1","subExpression":{"arguments":[{"expression":{"baseExpression":{"id":844,"name":"_currentValidators","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":780,"src":"10629:18:1","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Validator_$394_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Validator calldata[] calldata"}},"id":846,"indexExpression":{"id":845,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":810,"src":"10648:2:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10629:22:1","typeDescriptions":{"typeIdentifier":"t_struct$_Validator_$394_calldata_ptr","typeString":"struct Validator calldata"}},"id":847,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10652:4:1","memberName":"addr","nodeType":"MemberAccess","referencedDeclaration":391,"src":"10629:27:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":848,"name":"_digest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":786,"src":"10658:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"baseExpression":{"id":849,"name":"_sigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":784,"src":"10667:5:1","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Signature_$389_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Signature calldata[] calldata"}},"id":851,"indexExpression":{"id":850,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":810,"src":"10673:2:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10667:9:1","typeDescriptions":{"typeIdentifier":"t_struct$_Signature_$389_calldata_ptr","typeString":"struct Signature calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_struct$_Signature_$389_calldata_ptr","typeString":"struct Signature calldata"}],"id":843,"name":"_verifySig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":957,"src":"10618:10:1","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$_t_bytes32_$_t_struct$_Signature_$389_calldata_ptr_$returns$_t_bool_$","typeString":"function (address,bytes32,struct Signature calldata) pure returns (bool)"}},"id":852,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10618:59:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":858,"nodeType":"IfStatement","src":"10613:124:1","trueBody":{"id":857,"nodeType":"Block","src":"10679:58:1","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":854,"name":"InvalidSignature","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":450,"src":"10704:16:1","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":855,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10704:18:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":856,"nodeType":"RevertStatement","src":"10697:25:1"}]}},{"expression":{"id":864,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":859,"name":"_cumulativePower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":806,"src":"10750:16:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"expression":{"baseExpression":{"id":860,"name":"_currentValidators","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":780,"src":"10770:18:1","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Validator_$394_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Validator calldata[] calldata"}},"id":862,"indexExpression":{"id":861,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":810,"src":"10789:2:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10770:22:1","typeDescriptions":{"typeIdentifier":"t_struct$_Validator_$394_calldata_ptr","typeString":"struct Validator calldata"}},"id":863,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10793:5:1","memberName":"power","nodeType":"MemberAccess","referencedDeclaration":393,"src":"10770:28:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10750:48:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":865,"nodeType":"ExpressionStatement","src":"10750:48:1"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":868,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":866,"name":"_cumulativePower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":806,"src":"10865:16:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":867,"name":"_powerThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":788,"src":"10885:15:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10865:35:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":871,"nodeType":"IfStatement","src":"10861:79:1","trueBody":{"id":870,"nodeType":"Block","src":"10902:38:1","statements":[{"id":869,"nodeType":"Break","src":"10920:5:1"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":816,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":813,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":810,"src":"10294:2:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":814,"name":"_currentValidators","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":780,"src":"10299:18:1","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Validator_$394_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Validator calldata[] calldata"}},"id":815,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10318:6:1","memberName":"length","nodeType":"MemberAccess","src":"10299:25:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10294:30:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":873,"initializationExpression":{"assignments":[810],"declarations":[{"constant":false,"id":810,"mutability":"mutable","name":"_i","nameLocation":"10286:2:1","nodeType":"VariableDeclaration","scope":873,"src":"10278:10:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":809,"name":"uint256","nodeType":"ElementaryTypeName","src":"10278:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":812,"initialValue":{"hexValue":"30","id":811,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10291:1:1","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"10278:14:1"},"loopExpression":{"expression":{"id":818,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"10326:4:1","subExpression":{"id":817,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":810,"src":"10326:2:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":819,"nodeType":"ExpressionStatement","src":"10326:4:1"},"nodeType":"ForStatement","src":"10273:677:1"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":876,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":874,"name":"_cumulativePower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":806,"src":"10963:16:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":875,"name":"_powerThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":788,"src":"10982:15:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10963:34:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":881,"nodeType":"IfStatement","src":"10959:97:1","trueBody":{"id":880,"nodeType":"Block","src":"10999:57:1","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":877,"name":"InsufficientVotingPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":446,"src":"11020:23:1","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":878,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11020:25:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":879,"nodeType":"RevertStatement","src":"11013:32:1"}]}}]},"documentation":{"id":776,"nodeType":"StructuredDocumentation","src":"9424:406:1","text":"@dev Checks that enough voting power signed over a digest.\n It expects the signatures to be in the same order as the _currentValidators.\n @param _currentValidators The current validators.\n @param _sigs The current validators' signatures.\n @param _digest This is what we are checking they have signed.\n @param _powerThreshold At least this much power must have signed."},"id":883,"implemented":true,"kind":"function","modifiers":[],"name":"_checkValidatorSignatures","nameLocation":"9844:25:1","nodeType":"FunctionDefinition","parameters":{"id":789,"nodeType":"ParameterList","parameters":[{"constant":false,"id":780,"mutability":"mutable","name":"_currentValidators","nameLocation":"9954:18:1","nodeType":"VariableDeclaration","scope":883,"src":"9933:39:1","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Validator_$394_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Validator[]"},"typeName":{"baseType":{"id":778,"nodeType":"UserDefinedTypeName","pathNode":{"id":777,"name":"Validator","nameLocations":["9933:9:1"],"nodeType":"IdentifierPath","referencedDeclaration":394,"src":"9933:9:1"},"referencedDeclaration":394,"src":"9933:9:1","typeDescriptions":{"typeIdentifier":"t_struct$_Validator_$394_storage_ptr","typeString":"struct Validator"}},"id":779,"nodeType":"ArrayTypeName","src":"9933:11:1","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Validator_$394_storage_$dyn_storage_ptr","typeString":"struct Validator[]"}},"visibility":"internal"},{"constant":false,"id":784,"mutability":"mutable","name":"_sigs","nameLocation":"10003:5:1","nodeType":"VariableDeclaration","scope":883,"src":"9982:26:1","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Signature_$389_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Signature[]"},"typeName":{"baseType":{"id":782,"nodeType":"UserDefinedTypeName","pathNode":{"id":781,"name":"Signature","nameLocations":["9982:9:1"],"nodeType":"IdentifierPath","referencedDeclaration":389,"src":"9982:9:1"},"referencedDeclaration":389,"src":"9982:9:1","typeDescriptions":{"typeIdentifier":"t_struct$_Signature_$389_storage_ptr","typeString":"struct Signature"}},"id":783,"nodeType":"ArrayTypeName","src":"9982:11:1","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Signature_$389_storage_$dyn_storage_ptr","typeString":"struct Signature[]"}},"visibility":"internal"},{"constant":false,"id":786,"mutability":"mutable","name":"_digest","nameLocation":"10026:7:1","nodeType":"VariableDeclaration","scope":883,"src":"10018:15:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":785,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10018:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":788,"mutability":"mutable","name":"_powerThreshold","nameLocation":"10051:15:1","nodeType":"VariableDeclaration","scope":883,"src":"10043:23:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":787,"name":"uint256","nodeType":"ElementaryTypeName","src":"10043:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9869:203:1"},"returnParameters":{"id":790,"nodeType":"ParameterList","parameters":[],"src":"10087:0:1"},"scope":958,"src":"9835:1227:1","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":905,"nodeType":"Block","src":"11635:279:1","statements":[{"expression":{"arguments":[{"arguments":[{"id":898,"name":"VALIDATOR_SET_HASH_DOMAIN_SEPARATOR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":426,"src":"11723:35:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":899,"name":"_powerThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":886,"src":"11780:15:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":900,"name":"_validatorTimestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":888,"src":"11817:19:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":901,"name":"_validatorSetHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":890,"src":"11858:17:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":896,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"11691:3:1","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":897,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11695:6:1","memberName":"encode","nodeType":"MemberAccess","src":"11691:10:1","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":902,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11691:202:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":895,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"11664:9:1","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":903,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11664:243:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":894,"id":904,"nodeType":"Return","src":"11645:262:1"}]},"documentation":{"id":884,"nodeType":"StructuredDocumentation","src":"11068:378:1","text":"@dev A hash of all relevant information about the validator set.\n @param _powerThreshold Amount of voting power needed to approve operations. (2/3 of total)\n @param _validatorTimestamp The timestamp of the block where validator set is updated.\n @param _validatorSetHash Validator set hash.\n @return The domain separated hash of the validator set."},"id":906,"implemented":true,"kind":"function","modifiers":[],"name":"_domainSeparateValidatorSetHash","nameLocation":"11460:31:1","nodeType":"FunctionDefinition","parameters":{"id":891,"nodeType":"ParameterList","parameters":[{"constant":false,"id":886,"mutability":"mutable","name":"_powerThreshold","nameLocation":"11509:15:1","nodeType":"VariableDeclaration","scope":906,"src":"11501:23:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":885,"name":"uint256","nodeType":"ElementaryTypeName","src":"11501:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":888,"mutability":"mutable","name":"_validatorTimestamp","nameLocation":"11542:19:1","nodeType":"VariableDeclaration","scope":906,"src":"11534:27:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":887,"name":"uint256","nodeType":"ElementaryTypeName","src":"11534:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":890,"mutability":"mutable","name":"_validatorSetHash","nameLocation":"11579:17:1","nodeType":"VariableDeclaration","scope":906,"src":"11571:25:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":889,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11571:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"11491:111:1"},"returnParameters":{"id":894,"nodeType":"ParameterList","parameters":[{"constant":false,"id":893,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":906,"src":"11626:7:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":892,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11626:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"11625:9:1"},"scope":958,"src":"11451:463:1","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":956,"nodeType":"Block","src":"12324:290:1","statements":[{"expression":{"id":926,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":919,"name":"_digest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":911,"src":"12334:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":923,"name":"_digest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":911,"src":"12368:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":921,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"12351:3:1","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":922,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12355:12:1","memberName":"encodePacked","nodeType":"MemberAccess","src":"12351:16:1","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":924,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12351:25:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":920,"name":"sha256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-22,"src":"12344:6:1","typeDescriptions":{"typeIdentifier":"t_function_sha256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":925,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12344:33:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"12334:43:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":927,"nodeType":"ExpressionStatement","src":"12334:43:1"},{"assignments":[929,932,null],"declarations":[{"constant":false,"id":929,"mutability":"mutable","name":"_recovered","nameLocation":"12396:10:1","nodeType":"VariableDeclaration","scope":956,"src":"12388:18:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":928,"name":"address","nodeType":"ElementaryTypeName","src":"12388:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":932,"mutability":"mutable","name":"error","nameLocation":"12421:5:1","nodeType":"VariableDeclaration","scope":956,"src":"12408:18:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$7","typeString":"enum ECDSA.RecoverError"},"typeName":{"id":931,"nodeType":"UserDefinedTypeName","pathNode":{"id":930,"name":"RecoverError","nameLocations":["12408:12:1"],"nodeType":"IdentifierPath","referencedDeclaration":7,"src":"12408:12:1"},"referencedDeclaration":7,"src":"12408:12:1","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$7","typeString":"enum ECDSA.RecoverError"}},"visibility":"internal"},null],"id":942,"initialValue":{"arguments":[{"id":934,"name":"_digest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":911,"src":"12443:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":935,"name":"_sig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":914,"src":"12452:4:1","typeDescriptions":{"typeIdentifier":"t_struct$_Signature_$389_calldata_ptr","typeString":"struct Signature calldata"}},"id":936,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12457:1:1","memberName":"v","nodeType":"MemberAccess","referencedDeclaration":384,"src":"12452:6:1","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"expression":{"id":937,"name":"_sig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":914,"src":"12460:4:1","typeDescriptions":{"typeIdentifier":"t_struct$_Signature_$389_calldata_ptr","typeString":"struct Signature calldata"}},"id":938,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12465:1:1","memberName":"r","nodeType":"MemberAccess","referencedDeclaration":386,"src":"12460:6:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":939,"name":"_sig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":914,"src":"12468:4:1","typeDescriptions":{"typeIdentifier":"t_struct$_Signature_$389_calldata_ptr","typeString":"struct Signature calldata"}},"id":940,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12473:1:1","memberName":"s","nodeType":"MemberAccess","referencedDeclaration":388,"src":"12468:6:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":933,"name":"tryRecover","nodeType":"Identifier","overloadedDeclarations":[73,153,261],"referencedDeclaration":261,"src":"12432:10:1","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$_t_enum$_RecoverError_$7_$_t_bytes32_$","typeString":"function (bytes32,uint8,bytes32,bytes32) pure returns (address,enum ECDSA.RecoverError,bytes32)"}},"id":941,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12432:43:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_enum$_RecoverError_$7_$_t_bytes32_$","typeString":"tuple(address,enum ECDSA.RecoverError,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"12387:88:1"},{"condition":{"commonType":{"typeIdentifier":"t_enum$_RecoverError_$7","typeString":"enum ECDSA.RecoverError"},"id":946,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":943,"name":"error","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":932,"src":"12489:5:1","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$7","typeString":"enum ECDSA.RecoverError"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":944,"name":"RecoverError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7,"src":"12498:12:1","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RecoverError_$7_$","typeString":"type(enum ECDSA.RecoverError)"}},"id":945,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12511:7:1","memberName":"NoError","nodeType":"MemberAccess","referencedDeclaration":3,"src":"12498:20:1","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$7","typeString":"enum ECDSA.RecoverError"}},"src":"12489:29:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":951,"nodeType":"IfStatement","src":"12485:85:1","trueBody":{"id":950,"nodeType":"Block","src":"12520:50:1","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":947,"name":"InvalidSignature","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":450,"src":"12541:16:1","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":948,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12541:18:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":949,"nodeType":"RevertStatement","src":"12534:25:1"}]}},{"expression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":954,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":952,"name":"_signer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":909,"src":"12586:7:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":953,"name":"_recovered","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":929,"src":"12597:10:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12586:21:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":918,"id":955,"nodeType":"Return","src":"12579:28:1"}]},"documentation":{"id":907,"nodeType":"StructuredDocumentation","src":"11920:261:1","text":"@notice Utility function to verify Tellor Layer signatures\n @param _signer The address that signed the message.\n @param _digest The digest that was signed.\n @param _sig The signature.\n @return bool True if the signature is valid."},"id":957,"implemented":true,"kind":"function","modifiers":[],"name":"_verifySig","nameLocation":"12195:10:1","nodeType":"FunctionDefinition","parameters":{"id":915,"nodeType":"ParameterList","parameters":[{"constant":false,"id":909,"mutability":"mutable","name":"_signer","nameLocation":"12223:7:1","nodeType":"VariableDeclaration","scope":957,"src":"12215:15:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":908,"name":"address","nodeType":"ElementaryTypeName","src":"12215:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":911,"mutability":"mutable","name":"_digest","nameLocation":"12248:7:1","nodeType":"VariableDeclaration","scope":957,"src":"12240:15:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":910,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12240:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":914,"mutability":"mutable","name":"_sig","nameLocation":"12284:4:1","nodeType":"VariableDeclaration","scope":957,"src":"12265:23:1","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_struct$_Signature_$389_calldata_ptr","typeString":"struct Signature"},"typeName":{"id":913,"nodeType":"UserDefinedTypeName","pathNode":{"id":912,"name":"Signature","nameLocations":["12265:9:1"],"nodeType":"IdentifierPath","referencedDeclaration":389,"src":"12265:9:1"},"referencedDeclaration":389,"src":"12265:9:1","typeDescriptions":{"typeIdentifier":"t_struct$_Signature_$389_storage_ptr","typeString":"struct Signature"}},"visibility":"internal"}],"src":"12205:89:1"},"returnParameters":{"id":918,"nodeType":"ParameterList","parameters":[{"constant":false,"id":917,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":957,"src":"12318:4:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":916,"name":"bool","nodeType":"ElementaryTypeName","src":"12318:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"12317:6:1"},"scope":958,"src":"12186:428:1","stateMutability":"pure","virtual":false,"visibility":"internal"}],"scope":959,"src":"949:11667:1","usedErrors":[10,15,20,444,446,448,450,452,454,456,458,460,462,464]}],"src":"39:12578:1"},"id":1},"contracts/examples/YoloTellorUser.sol":{"ast":{"absolutePath":"contracts/examples/YoloTellorUser.sol","exportedSymbols":{"ITellorDataBridge":[1141],"OracleAttestationData":[1081],"ReportData":[1094],"Signature":[1101],"Validator":[1106],"YoloTellorUser":[1071]},"id":1072,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":960,"literals":["solidity","0.8",".19"],"nodeType":"PragmaDirective","src":"32:23:2"},{"absolutePath":"contracts/interfaces/ITellorDataBridge.sol","file":"../interfaces/ITellorDataBridge.sol","id":961,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1072,"sourceUnit":1142,"src":"57:45:2","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[],"canonicalName":"YoloTellorUser","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"id":1071,"linearizedBaseContracts":[1071],"name":"YoloTellorUser","nameLocation":"286:14:2","nodeType":"ContractDefinition","nodes":[{"constant":false,"functionSelector":"578855b2","id":964,"mutability":"mutable","name":"dataBridge","nameLocation":"332:10:2","nodeType":"VariableDeclaration","scope":1071,"src":"307:35:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_ITellorDataBridge_$1141","typeString":"contract ITellorDataBridge"},"typeName":{"id":963,"nodeType":"UserDefinedTypeName","pathNode":{"id":962,"name":"ITellorDataBridge","nameLocations":["307:17:2"],"nodeType":"IdentifierPath","referencedDeclaration":1141,"src":"307:17:2"},"referencedDeclaration":1141,"src":"307:17:2","typeDescriptions":{"typeIdentifier":"t_contract$_ITellorDataBridge_$1141","typeString":"contract ITellorDataBridge"}},"visibility":"public"},{"constant":false,"functionSelector":"3f1be4d4","id":966,"mutability":"mutable","name":"queryId","nameLocation":"363:7:2","nodeType":"VariableDeclaration","scope":1071,"src":"348:22:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":965,"name":"bytes32","nodeType":"ElementaryTypeName","src":"348:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"constant":false,"functionSelector":"aa4dea00","id":970,"mutability":"mutable","name":"oracleData","nameLocation":"396:10:2","nodeType":"VariableDeclaration","scope":1071,"src":"376:30:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_OracleData_$975_storage_$dyn_storage","typeString":"struct YoloTellorUser.OracleData[]"},"typeName":{"baseType":{"id":968,"nodeType":"UserDefinedTypeName","pathNode":{"id":967,"name":"OracleData","nameLocations":["376:10:2"],"nodeType":"IdentifierPath","referencedDeclaration":975,"src":"376:10:2"},"referencedDeclaration":975,"src":"376:10:2","typeDescriptions":{"typeIdentifier":"t_struct$_OracleData_$975_storage_ptr","typeString":"struct YoloTellorUser.OracleData"}},"id":969,"nodeType":"ArrayTypeName","src":"376:12:2","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_OracleData_$975_storage_$dyn_storage_ptr","typeString":"struct YoloTellorUser.OracleData[]"}},"visibility":"public"},{"canonicalName":"YoloTellorUser.OracleData","id":975,"members":[{"constant":false,"id":972,"mutability":"mutable","name":"value","nameLocation":"449:5:2","nodeType":"VariableDeclaration","scope":975,"src":"441:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":971,"name":"uint256","nodeType":"ElementaryTypeName","src":"441:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":974,"mutability":"mutable","name":"timestamp","nameLocation":"472:9:2","nodeType":"VariableDeclaration","scope":975,"src":"464:17:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":973,"name":"uint256","nodeType":"ElementaryTypeName","src":"464:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"OracleData","nameLocation":"420:10:2","nodeType":"StructDefinition","scope":1071,"src":"413:75:2","visibility":"public"},{"body":{"id":992,"nodeType":"Block","src":"604:88:2","statements":[{"expression":{"id":986,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":982,"name":"dataBridge","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":964,"src":"614:10:2","typeDescriptions":{"typeIdentifier":"t_contract$_ITellorDataBridge_$1141","typeString":"contract ITellorDataBridge"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":984,"name":"_dataBridge","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":977,"src":"645:11:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":983,"name":"ITellorDataBridge","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1141,"src":"627:17:2","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ITellorDataBridge_$1141_$","typeString":"type(contract ITellorDataBridge)"}},"id":985,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"627:30:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ITellorDataBridge_$1141","typeString":"contract ITellorDataBridge"}},"src":"614:43:2","typeDescriptions":{"typeIdentifier":"t_contract$_ITellorDataBridge_$1141","typeString":"contract ITellorDataBridge"}},"id":987,"nodeType":"ExpressionStatement","src":"614:43:2"},{"expression":{"id":990,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":988,"name":"queryId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":966,"src":"667:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":989,"name":"_queryId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":979,"src":"677:8:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"667:18:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":991,"nodeType":"ExpressionStatement","src":"667:18:2"}]},"id":993,"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":980,"nodeType":"ParameterList","parameters":[{"constant":false,"id":977,"mutability":"mutable","name":"_dataBridge","nameLocation":"573:11:2","nodeType":"VariableDeclaration","scope":993,"src":"565:19:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":976,"name":"address","nodeType":"ElementaryTypeName","src":"565:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":979,"mutability":"mutable","name":"_queryId","nameLocation":"594:8:2","nodeType":"VariableDeclaration","scope":993,"src":"586:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":978,"name":"bytes32","nodeType":"ElementaryTypeName","src":"586:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"564:39:2"},"returnParameters":{"id":981,"nodeType":"ParameterList","parameters":[],"src":"604:0:2"},"scope":1071,"src":"553:139:2","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":1046,"nodeType":"Block","src":"1001:459:2","statements":[{"expression":{"arguments":[{"id":1010,"name":"_attestData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":996,"src":"1090:11:2","typeDescriptions":{"typeIdentifier":"t_struct$_OracleAttestationData_$1081_calldata_ptr","typeString":"struct OracleAttestationData calldata"}},{"id":1011,"name":"_currentValidatorSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1000,"src":"1103:20:2","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Validator_$1106_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Validator calldata[] calldata"}},{"id":1012,"name":"_sigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1004,"src":"1125:5:2","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Signature_$1101_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Signature calldata[] calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_OracleAttestationData_$1081_calldata_ptr","typeString":"struct OracleAttestationData calldata"},{"typeIdentifier":"t_array$_t_struct$_Validator_$1106_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Validator calldata[] calldata"},{"typeIdentifier":"t_array$_t_struct$_Signature_$1101_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Signature calldata[] calldata"}],"expression":{"id":1007,"name":"dataBridge","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":964,"src":"1062:10:2","typeDescriptions":{"typeIdentifier":"t_contract$_ITellorDataBridge_$1141","typeString":"contract ITellorDataBridge"}},"id":1009,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1073:16:2","memberName":"verifyOracleData","nodeType":"MemberAccess","referencedDeclaration":1140,"src":"1062:27:2","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_struct$_OracleAttestationData_$1081_memory_ptr_$_t_array$_t_struct$_Validator_$1106_memory_ptr_$dyn_memory_ptr_$_t_array$_t_struct$_Signature_$1101_memory_ptr_$dyn_memory_ptr_$returns$__$","typeString":"function (struct OracleAttestationData memory,struct Validator memory[] memory,struct Signature memory[] memory) view external"}},"id":1013,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1062:69:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1014,"nodeType":"ExpressionStatement","src":"1062:69:2"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":1019,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1016,"name":"queryId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":966,"src":"1213:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":1017,"name":"_attestData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":996,"src":"1224:11:2","typeDescriptions":{"typeIdentifier":"t_struct$_OracleAttestationData_$1081_calldata_ptr","typeString":"struct OracleAttestationData calldata"}},"id":1018,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1236:7:2","memberName":"queryId","nodeType":"MemberAccess","referencedDeclaration":1075,"src":"1224:19:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"1213:30:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"496e76616c69642071756572794964","id":1020,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1245:17:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_5c98120c2d1113299b49cf447f38c466f541f9e65cb821e4e86f03bd25cc78a8","typeString":"literal_string \"Invalid queryId\""},"value":"Invalid queryId"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_5c98120c2d1113299b49cf447f38c466f541f9e65cb821e4e86f03bd25cc78a8","typeString":"literal_string \"Invalid queryId\""}],"id":1015,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"1205:7:2","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":1021,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1205:58:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1022,"nodeType":"ExpressionStatement","src":"1205:58:2"},{"assignments":[1024],"declarations":[{"constant":false,"id":1024,"mutability":"mutable","name":"_value","nameLocation":"1322:6:2","nodeType":"VariableDeclaration","scope":1046,"src":"1314:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1023,"name":"uint256","nodeType":"ElementaryTypeName","src":"1314:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":1034,"initialValue":{"arguments":[{"expression":{"expression":{"id":1027,"name":"_attestData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":996,"src":"1342:11:2","typeDescriptions":{"typeIdentifier":"t_struct$_OracleAttestationData_$1081_calldata_ptr","typeString":"struct OracleAttestationData calldata"}},"id":1028,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1354:6:2","memberName":"report","nodeType":"MemberAccess","referencedDeclaration":1078,"src":"1342:18:2","typeDescriptions":{"typeIdentifier":"t_struct$_ReportData_$1094_calldata_ptr","typeString":"struct ReportData calldata"}},"id":1029,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1361:5:2","memberName":"value","nodeType":"MemberAccess","referencedDeclaration":1083,"src":"1342:24:2","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},{"components":[{"id":1031,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1369:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":1030,"name":"uint256","nodeType":"ElementaryTypeName","src":"1369:7:2","typeDescriptions":{}}}],"id":1032,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"1368:9:2","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"},{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"expression":{"id":1025,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1331:3:2","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":1026,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1335:6:2","memberName":"decode","nodeType":"MemberAccess","src":"1331:10:2","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":1033,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1331:47:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"1314:64:2"},{"expression":{"arguments":[{"arguments":[{"id":1039,"name":"_value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1024,"src":"1415:6:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"expression":{"id":1040,"name":"_attestData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":996,"src":"1423:11:2","typeDescriptions":{"typeIdentifier":"t_struct$_OracleAttestationData_$1081_calldata_ptr","typeString":"struct OracleAttestationData calldata"}},"id":1041,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1435:6:2","memberName":"report","nodeType":"MemberAccess","referencedDeclaration":1078,"src":"1423:18:2","typeDescriptions":{"typeIdentifier":"t_struct$_ReportData_$1094_calldata_ptr","typeString":"struct ReportData calldata"}},"id":1042,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1442:9:2","memberName":"timestamp","nodeType":"MemberAccess","referencedDeclaration":1085,"src":"1423:28:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1038,"name":"OracleData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":975,"src":"1404:10:2","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_OracleData_$975_storage_ptr_$","typeString":"type(struct YoloTellorUser.OracleData storage pointer)"}},"id":1043,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1404:48:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_OracleData_$975_memory_ptr","typeString":"struct YoloTellorUser.OracleData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_OracleData_$975_memory_ptr","typeString":"struct YoloTellorUser.OracleData memory"}],"expression":{"id":1035,"name":"oracleData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":970,"src":"1388:10:2","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_OracleData_$975_storage_$dyn_storage","typeString":"struct YoloTellorUser.OracleData storage ref[] storage ref"}},"id":1037,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1399:4:2","memberName":"push","nodeType":"MemberAccess","src":"1388:15:2","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_struct$_OracleData_$975_storage_$dyn_storage_ptr_$_t_struct$_OracleData_$975_storage_$returns$__$attached_to$_t_array$_t_struct$_OracleData_$975_storage_$dyn_storage_ptr_$","typeString":"function (struct YoloTellorUser.OracleData storage ref[] storage pointer,struct YoloTellorUser.OracleData storage ref)"}},"id":1044,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1388:65:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1045,"nodeType":"ExpressionStatement","src":"1388:65:2"}]},"functionSelector":"61808010","id":1047,"implemented":true,"kind":"function","modifiers":[],"name":"updateOracleData","nameLocation":"830:16:2","nodeType":"FunctionDefinition","parameters":{"id":1005,"nodeType":"ParameterList","parameters":[{"constant":false,"id":996,"mutability":"mutable","name":"_attestData","nameLocation":"887:11:2","nodeType":"VariableDeclaration","scope":1047,"src":"856:42:2","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_struct$_OracleAttestationData_$1081_calldata_ptr","typeString":"struct OracleAttestationData"},"typeName":{"id":995,"nodeType":"UserDefinedTypeName","pathNode":{"id":994,"name":"OracleAttestationData","nameLocations":["856:21:2"],"nodeType":"IdentifierPath","referencedDeclaration":1081,"src":"856:21:2"},"referencedDeclaration":1081,"src":"856:21:2","typeDescriptions":{"typeIdentifier":"t_struct$_OracleAttestationData_$1081_storage_ptr","typeString":"struct OracleAttestationData"}},"visibility":"internal"},{"constant":false,"id":1000,"mutability":"mutable","name":"_currentValidatorSet","nameLocation":"929:20:2","nodeType":"VariableDeclaration","scope":1047,"src":"908:41:2","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Validator_$1106_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Validator[]"},"typeName":{"baseType":{"id":998,"nodeType":"UserDefinedTypeName","pathNode":{"id":997,"name":"Validator","nameLocations":["908:9:2"],"nodeType":"IdentifierPath","referencedDeclaration":1106,"src":"908:9:2"},"referencedDeclaration":1106,"src":"908:9:2","typeDescriptions":{"typeIdentifier":"t_struct$_Validator_$1106_storage_ptr","typeString":"struct Validator"}},"id":999,"nodeType":"ArrayTypeName","src":"908:11:2","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Validator_$1106_storage_$dyn_storage_ptr","typeString":"struct Validator[]"}},"visibility":"internal"},{"constant":false,"id":1004,"mutability":"mutable","name":"_sigs","nameLocation":"980:5:2","nodeType":"VariableDeclaration","scope":1047,"src":"959:26:2","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Signature_$1101_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Signature[]"},"typeName":{"baseType":{"id":1002,"nodeType":"UserDefinedTypeName","pathNode":{"id":1001,"name":"Signature","nameLocations":["959:9:2"],"nodeType":"IdentifierPath","referencedDeclaration":1101,"src":"959:9:2"},"referencedDeclaration":1101,"src":"959:9:2","typeDescriptions":{"typeIdentifier":"t_struct$_Signature_$1101_storage_ptr","typeString":"struct Signature"}},"id":1003,"nodeType":"ArrayTypeName","src":"959:11:2","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Signature_$1101_storage_$dyn_storage_ptr","typeString":"struct Signature[]"}},"visibility":"internal"}],"src":"846:145:2"},"returnParameters":{"id":1006,"nodeType":"ParameterList","parameters":[],"src":"1001:0:2"},"scope":1071,"src":"821:639:2","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":1060,"nodeType":"Block","src":"1570:57:2","statements":[{"expression":{"baseExpression":{"id":1053,"name":"oracleData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":970,"src":"1587:10:2","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_OracleData_$975_storage_$dyn_storage","typeString":"struct YoloTellorUser.OracleData storage ref[] storage ref"}},"id":1058,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1057,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":1054,"name":"oracleData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":970,"src":"1598:10:2","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_OracleData_$975_storage_$dyn_storage","typeString":"struct YoloTellorUser.OracleData storage ref[] storage ref"}},"id":1055,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1609:6:2","memberName":"length","nodeType":"MemberAccess","src":"1598:17:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":1056,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1618:1:2","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"1598:21:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1587:33:2","typeDescriptions":{"typeIdentifier":"t_struct$_OracleData_$975_storage","typeString":"struct YoloTellorUser.OracleData storage ref"}},"functionReturnParameters":1052,"id":1059,"nodeType":"Return","src":"1580:40:2"}]},"functionSelector":"770b5414","id":1061,"implemented":true,"kind":"function","modifiers":[],"name":"getCurrentData","nameLocation":"1511:14:2","nodeType":"FunctionDefinition","parameters":{"id":1048,"nodeType":"ParameterList","parameters":[],"src":"1525:2:2"},"returnParameters":{"id":1052,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1051,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1061,"src":"1551:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_OracleData_$975_memory_ptr","typeString":"struct YoloTellorUser.OracleData"},"typeName":{"id":1050,"nodeType":"UserDefinedTypeName","pathNode":{"id":1049,"name":"OracleData","nameLocations":["1551:10:2"],"nodeType":"IdentifierPath","referencedDeclaration":975,"src":"1551:10:2"},"referencedDeclaration":975,"src":"1551:10:2","typeDescriptions":{"typeIdentifier":"t_struct$_OracleData_$975_storage_ptr","typeString":"struct YoloTellorUser.OracleData"}},"visibility":"internal"}],"src":"1550:19:2"},"scope":1071,"src":"1502:125:2","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":1069,"nodeType":"Block","src":"1738:41:2","statements":[{"expression":{"expression":{"id":1066,"name":"oracleData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":970,"src":"1755:10:2","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_OracleData_$975_storage_$dyn_storage","typeString":"struct YoloTellorUser.OracleData storage ref[] storage ref"}},"id":1067,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1766:6:2","memberName":"length","nodeType":"MemberAccess","src":"1755:17:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":1065,"id":1068,"nodeType":"Return","src":"1748:24:2"}]},"functionSelector":"413a89b4","id":1070,"implemented":true,"kind":"function","modifiers":[],"name":"getValueCount","nameLocation":"1690:13:2","nodeType":"FunctionDefinition","parameters":{"id":1062,"nodeType":"ParameterList","parameters":[],"src":"1703:2:2"},"returnParameters":{"id":1065,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1064,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1070,"src":"1729:7:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1063,"name":"uint256","nodeType":"ElementaryTypeName","src":"1729:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1728:9:2"},"scope":1071,"src":"1681:98:2","stateMutability":"view","virtual":false,"visibility":"external"}],"scope":1072,"src":"277:1504:2","usedErrors":[]}],"src":"32:1749:2"},"id":2},"contracts/interfaces/ITellorDataBridge.sol":{"ast":{"absolutePath":"contracts/interfaces/ITellorDataBridge.sol","exportedSymbols":{"ITellorDataBridge":[1141],"OracleAttestationData":[1081],"ReportData":[1094],"Signature":[1101],"Validator":[1106]},"id":1142,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":1073,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"32:23:3"},{"canonicalName":"OracleAttestationData","id":1081,"members":[{"constant":false,"id":1075,"mutability":"mutable","name":"queryId","nameLocation":"100:7:3","nodeType":"VariableDeclaration","scope":1081,"src":"92:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1074,"name":"bytes32","nodeType":"ElementaryTypeName","src":"92:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1078,"mutability":"mutable","name":"report","nameLocation":"124:6:3","nodeType":"VariableDeclaration","scope":1081,"src":"113:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_ReportData_$1094_storage_ptr","typeString":"struct ReportData"},"typeName":{"id":1077,"nodeType":"UserDefinedTypeName","pathNode":{"id":1076,"name":"ReportData","nameLocations":["113:10:3"],"nodeType":"IdentifierPath","referencedDeclaration":1094,"src":"113:10:3"},"referencedDeclaration":1094,"src":"113:10:3","typeDescriptions":{"typeIdentifier":"t_struct$_ReportData_$1094_storage_ptr","typeString":"struct ReportData"}},"visibility":"internal"},{"constant":false,"id":1080,"mutability":"mutable","name":"attestationTimestamp","nameLocation":"144:20:3","nodeType":"VariableDeclaration","scope":1081,"src":"136:28:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1079,"name":"uint256","nodeType":"ElementaryTypeName","src":"136:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"OracleAttestationData","nameLocation":"64:21:3","nodeType":"StructDefinition","scope":1142,"src":"57:155:3","visibility":"public"},{"canonicalName":"ReportData","id":1094,"members":[{"constant":false,"id":1083,"mutability":"mutable","name":"value","nameLocation":"244:5:3","nodeType":"VariableDeclaration","scope":1094,"src":"238:11:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":1082,"name":"bytes","nodeType":"ElementaryTypeName","src":"238:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":1085,"mutability":"mutable","name":"timestamp","nameLocation":"263:9:3","nodeType":"VariableDeclaration","scope":1094,"src":"255:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1084,"name":"uint256","nodeType":"ElementaryTypeName","src":"255:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1087,"mutability":"mutable","name":"aggregatePower","nameLocation":"332:14:3","nodeType":"VariableDeclaration","scope":1094,"src":"324:22:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1086,"name":"uint256","nodeType":"ElementaryTypeName","src":"324:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1089,"mutability":"mutable","name":"previousTimestamp","nameLocation":"360:17:3","nodeType":"VariableDeclaration","scope":1094,"src":"352:25:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1088,"name":"uint256","nodeType":"ElementaryTypeName","src":"352:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1091,"mutability":"mutable","name":"nextTimestamp","nameLocation":"391:13:3","nodeType":"VariableDeclaration","scope":1094,"src":"383:21:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1090,"name":"uint256","nodeType":"ElementaryTypeName","src":"383:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1093,"mutability":"mutable","name":"lastConsensusTimestamp","nameLocation":"418:22:3","nodeType":"VariableDeclaration","scope":1094,"src":"410:30:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1092,"name":"uint256","nodeType":"ElementaryTypeName","src":"410:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"ReportData","nameLocation":"221:10:3","nodeType":"StructDefinition","scope":1142,"src":"214:229:3","visibility":"public"},{"canonicalName":"Signature","id":1101,"members":[{"constant":false,"id":1096,"mutability":"mutable","name":"v","nameLocation":"474:1:3","nodeType":"VariableDeclaration","scope":1101,"src":"468:7:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":1095,"name":"uint8","nodeType":"ElementaryTypeName","src":"468:5:3","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":1098,"mutability":"mutable","name":"r","nameLocation":"489:1:3","nodeType":"VariableDeclaration","scope":1101,"src":"481:9:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1097,"name":"bytes32","nodeType":"ElementaryTypeName","src":"481:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1100,"mutability":"mutable","name":"s","nameLocation":"504:1:3","nodeType":"VariableDeclaration","scope":1101,"src":"496:9:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1099,"name":"bytes32","nodeType":"ElementaryTypeName","src":"496:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"name":"Signature","nameLocation":"452:9:3","nodeType":"StructDefinition","scope":1142,"src":"445:63:3","visibility":"public"},{"canonicalName":"Validator","id":1106,"members":[{"constant":false,"id":1103,"mutability":"mutable","name":"addr","nameLocation":"541:4:3","nodeType":"VariableDeclaration","scope":1106,"src":"533:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1102,"name":"address","nodeType":"ElementaryTypeName","src":"533:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1105,"mutability":"mutable","name":"power","nameLocation":"559:5:3","nodeType":"VariableDeclaration","scope":1106,"src":"551:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1104,"name":"uint256","nodeType":"ElementaryTypeName","src":"551:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"Validator","nameLocation":"517:9:3","nodeType":"StructDefinition","scope":1142,"src":"510:57:3","visibility":"public"},{"abstract":false,"baseContracts":[],"canonicalName":"ITellorDataBridge","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"id":1141,"linearizedBaseContracts":[1141],"name":"ITellorDataBridge","nameLocation":"579:17:3","nodeType":"ContractDefinition","nodes":[{"functionSelector":"452a9320","id":1111,"implemented":false,"kind":"function","modifiers":[],"name":"guardian","nameLocation":"612:8:3","nodeType":"FunctionDefinition","parameters":{"id":1107,"nodeType":"ParameterList","parameters":[],"src":"620:2:3"},"returnParameters":{"id":1110,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1109,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1111,"src":"646:7:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1108,"name":"address","nodeType":"ElementaryTypeName","src":"646:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"645:9:3"},"scope":1141,"src":"603:52:3","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"ba95ec27","id":1116,"implemented":false,"kind":"function","modifiers":[],"name":"powerThreshold","nameLocation":"669:14:3","nodeType":"FunctionDefinition","parameters":{"id":1112,"nodeType":"ParameterList","parameters":[],"src":"683:2:3"},"returnParameters":{"id":1115,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1114,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1116,"src":"709:7:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1113,"name":"uint256","nodeType":"ElementaryTypeName","src":"709:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"708:9:3"},"scope":1141,"src":"660:58:3","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"6cf6d675","id":1121,"implemented":false,"kind":"function","modifiers":[],"name":"unbondingPeriod","nameLocation":"732:15:3","nodeType":"FunctionDefinition","parameters":{"id":1117,"nodeType":"ParameterList","parameters":[],"src":"747:2:3"},"returnParameters":{"id":1120,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1119,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1121,"src":"773:7:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1118,"name":"uint256","nodeType":"ElementaryTypeName","src":"773:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"772:9:3"},"scope":1141,"src":"723:59:3","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"4f76f1ee","id":1126,"implemented":false,"kind":"function","modifiers":[],"name":"validatorTimestamp","nameLocation":"796:18:3","nodeType":"FunctionDefinition","parameters":{"id":1122,"nodeType":"ParameterList","parameters":[],"src":"814:2:3"},"returnParameters":{"id":1125,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1124,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1126,"src":"840:7:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1123,"name":"uint256","nodeType":"ElementaryTypeName","src":"840:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"839:9:3"},"scope":1141,"src":"787:62:3","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"5e0d3b0f","id":1140,"implemented":false,"kind":"function","modifiers":[],"name":"verifyOracleData","nameLocation":"863:16:3","nodeType":"FunctionDefinition","parameters":{"id":1138,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1129,"mutability":"mutable","name":"_attestData","nameLocation":"920:11:3","nodeType":"VariableDeclaration","scope":1140,"src":"889:42:3","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_struct$_OracleAttestationData_$1081_calldata_ptr","typeString":"struct OracleAttestationData"},"typeName":{"id":1128,"nodeType":"UserDefinedTypeName","pathNode":{"id":1127,"name":"OracleAttestationData","nameLocations":["889:21:3"],"nodeType":"IdentifierPath","referencedDeclaration":1081,"src":"889:21:3"},"referencedDeclaration":1081,"src":"889:21:3","typeDescriptions":{"typeIdentifier":"t_struct$_OracleAttestationData_$1081_storage_ptr","typeString":"struct OracleAttestationData"}},"visibility":"internal"},{"constant":false,"id":1133,"mutability":"mutable","name":"_currentValidatorSet","nameLocation":"962:20:3","nodeType":"VariableDeclaration","scope":1140,"src":"941:41:3","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Validator_$1106_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Validator[]"},"typeName":{"baseType":{"id":1131,"nodeType":"UserDefinedTypeName","pathNode":{"id":1130,"name":"Validator","nameLocations":["941:9:3"],"nodeType":"IdentifierPath","referencedDeclaration":1106,"src":"941:9:3"},"referencedDeclaration":1106,"src":"941:9:3","typeDescriptions":{"typeIdentifier":"t_struct$_Validator_$1106_storage_ptr","typeString":"struct Validator"}},"id":1132,"nodeType":"ArrayTypeName","src":"941:11:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Validator_$1106_storage_$dyn_storage_ptr","typeString":"struct Validator[]"}},"visibility":"internal"},{"constant":false,"id":1137,"mutability":"mutable","name":"_sigs","nameLocation":"1013:5:3","nodeType":"VariableDeclaration","scope":1140,"src":"992:26:3","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Signature_$1101_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Signature[]"},"typeName":{"baseType":{"id":1135,"nodeType":"UserDefinedTypeName","pathNode":{"id":1134,"name":"Signature","nameLocations":["992:9:3"],"nodeType":"IdentifierPath","referencedDeclaration":1101,"src":"992:9:3"},"referencedDeclaration":1101,"src":"992:9:3","typeDescriptions":{"typeIdentifier":"t_struct$_Signature_$1101_storage_ptr","typeString":"struct Signature"}},"id":1136,"nodeType":"ArrayTypeName","src":"992:11:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Signature_$1101_storage_$dyn_storage_ptr","typeString":"struct Signature[]"}},"visibility":"internal"}],"src":"879:145:3"},"returnParameters":{"id":1139,"nodeType":"ParameterList","parameters":[],"src":"1038:0:3"},"scope":1141,"src":"854:185:3","stateMutability":"view","virtual":false,"visibility":"external"}],"scope":1142,"src":"569:472:3","usedErrors":[]}],"src":"32:1009:3"},"id":3}},"contracts":{"contracts/bridge/ECDSA.sol":{"ECDSA":{"abi":[{"inputs":[],"name":"ECDSAInvalidSignature","type":"error"},{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"name":"ECDSAInvalidSignatureLength","type":"error"},{"inputs":[{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"ECDSAInvalidSignatureS","type":"error"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"6080604052348015600f57600080fd5b50603f80601d6000396000f3fe6080604052600080fdfea26469706673582212203dec2788d440925c985174c1404cfb0db8f55d003f4be6111c476eea2aa844cb64736f6c63430008130033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH1 0xF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x3F DUP1 PUSH1 0x1D PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 RETURNDATASIZE 0xEC 0x27 DUP9 0xD4 BLOCKHASH SWAP3 0x5C SWAP9 MLOAD PUSH21 0xC1404CFB0DB8F55D003F4BE6111C476EEA2AA844CB PUSH5 0x736F6C6343 STOP ADDMOD SGT STOP CALLER ","sourceMap":"342:8967:0:-:0;;;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"6080604052600080fdfea26469706673582212203dec2788d440925c985174c1404cfb0db8f55d003f4be6111c476eea2aa844cb64736f6c63430008130033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 RETURNDATASIZE 0xEC 0x27 DUP9 0xD4 BLOCKHASH SWAP3 0x5C SWAP9 MLOAD PUSH21 0xC1404CFB0DB8F55D003F4BE6111C476EEA2AA844CB PUSH5 0x736F6C6343 STOP ADDMOD SGT STOP CALLER ","sourceMap":"342:8967:0:-:0;;;;;"},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"ECDSAInvalidSignature\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"ECDSAInvalidSignatureLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"ECDSAInvalidSignatureS\",\"type\":\"error\"}],\"devdoc\":{\"details\":\"Elliptic Curve Digital Signature Algorithm (ECDSA) operations. These functions can be used to verify that a message was signed by the holder of the private keys of a given address.\",\"errors\":{\"ECDSAInvalidSignature()\":[{\"details\":\"The signature derives the `address(0)`.\"}],\"ECDSAInvalidSignatureLength(uint256)\":[{\"details\":\"The signature has an invalid length.\"}],\"ECDSAInvalidSignatureS(bytes32)\":[{\"details\":\"The signature has an S value that is in the upper half order.\"}]},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/bridge/ECDSA.sol\":\"ECDSA\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/bridge/ECDSA.sol\":{\"keccak256\":\"0xd3cf86f8b73deb230943786cb7c5036b2b602fc3f7dc43f6cd1c06511831b8eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3cc6bb20c5239f6073c18604af3fc04c764984615a37d74b9cb24896465cb3c3\",\"dweb:/ipfs/QmPEMsTWcdXp6uAiPHiQGTCPCUsv161UvYZFGECJudFFoA\"]}},\"version\":1}"}},"contracts/bridge/TellorDataBridge.sol":{"TellorDataBridge":{"abi":[{"inputs":[{"internalType":"address","name":"_guardian","type":"address"},{"internalType":"bytes32","name":"_validatorSetHashDomainSeparator","type":"bytes32"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"AlreadyInitialized","type":"error"},{"inputs":[],"name":"ECDSAInvalidSignature","type":"error"},{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"name":"ECDSAInvalidSignatureLength","type":"error"},{"inputs":[{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"ECDSAInvalidSignatureS","type":"error"},{"inputs":[],"name":"InsufficientVotingPower","type":"error"},{"inputs":[],"name":"InvalidPowerThreshold","type":"error"},{"inputs":[],"name":"InvalidSignature","type":"error"},{"inputs":[],"name":"MalformedCurrentValidatorSet","type":"error"},{"inputs":[],"name":"NotDeployer","type":"error"},{"inputs":[],"name":"NotGuardian","type":"error"},{"inputs":[],"name":"StaleValidatorSet","type":"error"},{"inputs":[],"name":"SuppliedValidatorSetInvalid","type":"error"},{"inputs":[],"name":"ValidatorSetNotStale","type":"error"},{"inputs":[],"name":"ValidatorTimestampMustIncrease","type":"error"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_powerThreshold","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_validatorTimestamp","type":"uint256"},{"indexed":false,"internalType":"bytes32","name":"_validatorSetHash","type":"bytes32"}],"name":"GuardianResetValidatorSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_powerThreshold","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_validatorTimestamp","type":"uint256"},{"indexed":false,"internalType":"bytes32","name":"_validatorSetHash","type":"bytes32"}],"name":"ValidatorSetUpdated","type":"event"},{"inputs":[],"name":"MS_PER_SECOND","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"NEW_REPORT_ATTESTATION_DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"VALIDATOR_SET_HASH_DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"deployer","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"guardian","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_powerThreshold","type":"uint256"},{"internalType":"uint256","name":"_validatorTimestamp","type":"uint256"},{"internalType":"bytes32","name":"_validatorSetCheckpoint","type":"bytes32"}],"name":"guardianResetValidatorSet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_powerThreshold","type":"uint256"},{"internalType":"uint256","name":"_validatorTimestamp","type":"uint256"},{"internalType":"uint256","name":"_unbondingPeriod","type":"uint256"},{"internalType":"bytes32","name":"_validatorSetCheckpoint","type":"bytes32"}],"name":"init","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"initialized","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lastValidatorSetCheckpoint","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"powerThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"unbondingPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_newValidatorSetHash","type":"bytes32"},{"internalType":"uint64","name":"_newPowerThreshold","type":"uint64"},{"internalType":"uint256","name":"_newValidatorTimestamp","type":"uint256"},{"components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"uint256","name":"power","type":"uint256"}],"internalType":"struct Validator[]","name":"_currentValidatorSet","type":"tuple[]"},{"components":[{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"internalType":"struct Signature[]","name":"_sigs","type":"tuple[]"}],"name":"updateValidatorSet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"validatorTimestamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"bytes32","name":"queryId","type":"bytes32"},{"components":[{"internalType":"bytes","name":"value","type":"bytes"},{"internalType":"uint256","name":"timestamp","type":"uint256"},{"internalType":"uint256","name":"aggregatePower","type":"uint256"},{"internalType":"uint256","name":"previousTimestamp","type":"uint256"},{"internalType":"uint256","name":"nextTimestamp","type":"uint256"},{"internalType":"uint256","name":"lastConsensusTimestamp","type":"uint256"}],"internalType":"struct ReportData","name":"report","type":"tuple"},{"internalType":"uint256","name":"attestationTimestamp","type":"uint256"}],"internalType":"struct OracleAttestationData","name":"_attestData","type":"tuple"},{"components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"uint256","name":"power","type":"uint256"}],"internalType":"struct Validator[]","name":"_currentValidatorSet","type":"tuple[]"},{"components":[{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"internalType":"struct Signature[]","name":"_sigs","type":"tuple[]"}],"name":"verifyOracleData","outputs":[],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{"@_486":{"entryPoint":null,"id":486,"parameterSlots":2,"returnSlots":0},"abi_decode_t_address_fromMemory":{"entryPoint":283,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_bytes32_fromMemory":{"entryPoint":342,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_addresst_bytes32_fromMemory":{"entryPoint":365,"id":null,"parameterSlots":2,"returnSlots":2},"allocate_unbounded":{"entryPoint":null,"id":null,"parameterSlots":0,"returnSlots":1},"cleanup_t_address":{"entryPoint":237,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_bytes32":{"entryPoint":306,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_uint160":{"entryPoint":205,"id":null,"parameterSlots":1,"returnSlots":1},"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db":{"entryPoint":null,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b":{"entryPoint":200,"id":null,"parameterSlots":0,"returnSlots":0},"validator_revert_t_address":{"entryPoint":257,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_t_bytes32":{"entryPoint":316,"id":null,"parameterSlots":1,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:1715:4","statements":[{"body":{"nodeType":"YulBlock","src":"47:35:4","statements":[{"nodeType":"YulAssignment","src":"57:19:4","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"73:2:4","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"67:5:4"},"nodeType":"YulFunctionCall","src":"67:9:4"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"57:6:4"}]}]},"name":"allocate_unbounded","nodeType":"YulFunctionDefinition","returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"40:6:4","type":""}],"src":"7:75:4"},{"body":{"nodeType":"YulBlock","src":"177:28:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"194:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"197:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"187:6:4"},"nodeType":"YulFunctionCall","src":"187:12:4"},"nodeType":"YulExpressionStatement","src":"187:12:4"}]},"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulFunctionDefinition","src":"88:117:4"},{"body":{"nodeType":"YulBlock","src":"300:28:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"317:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"320:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"310:6:4"},"nodeType":"YulFunctionCall","src":"310:12:4"},"nodeType":"YulExpressionStatement","src":"310:12:4"}]},"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulFunctionDefinition","src":"211:117:4"},{"body":{"nodeType":"YulBlock","src":"379:81:4","statements":[{"nodeType":"YulAssignment","src":"389:65:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"404:5:4"},{"kind":"number","nodeType":"YulLiteral","src":"411:42:4","type":"","value":"0xffffffffffffffffffffffffffffffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"400:3:4"},"nodeType":"YulFunctionCall","src":"400:54:4"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"389:7:4"}]}]},"name":"cleanup_t_uint160","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"361:5:4","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"371:7:4","type":""}],"src":"334:126:4"},{"body":{"nodeType":"YulBlock","src":"511:51:4","statements":[{"nodeType":"YulAssignment","src":"521:35:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"550:5:4"}],"functionName":{"name":"cleanup_t_uint160","nodeType":"YulIdentifier","src":"532:17:4"},"nodeType":"YulFunctionCall","src":"532:24:4"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"521:7:4"}]}]},"name":"cleanup_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"493:5:4","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"503:7:4","type":""}],"src":"466:96:4"},{"body":{"nodeType":"YulBlock","src":"611:79:4","statements":[{"body":{"nodeType":"YulBlock","src":"668:16:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"677:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"680:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"670:6:4"},"nodeType":"YulFunctionCall","src":"670:12:4"},"nodeType":"YulExpressionStatement","src":"670:12:4"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"634:5:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"659:5:4"}],"functionName":{"name":"cleanup_t_address","nodeType":"YulIdentifier","src":"641:17:4"},"nodeType":"YulFunctionCall","src":"641:24:4"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"631:2:4"},"nodeType":"YulFunctionCall","src":"631:35:4"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"624:6:4"},"nodeType":"YulFunctionCall","src":"624:43:4"},"nodeType":"YulIf","src":"621:63:4"}]},"name":"validator_revert_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"604:5:4","type":""}],"src":"568:122:4"},{"body":{"nodeType":"YulBlock","src":"759:80:4","statements":[{"nodeType":"YulAssignment","src":"769:22:4","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"784:6:4"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"778:5:4"},"nodeType":"YulFunctionCall","src":"778:13:4"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"769:5:4"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"827:5:4"}],"functionName":{"name":"validator_revert_t_address","nodeType":"YulIdentifier","src":"800:26:4"},"nodeType":"YulFunctionCall","src":"800:33:4"},"nodeType":"YulExpressionStatement","src":"800:33:4"}]},"name":"abi_decode_t_address_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"737:6:4","type":""},{"name":"end","nodeType":"YulTypedName","src":"745:3:4","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"753:5:4","type":""}],"src":"696:143:4"},{"body":{"nodeType":"YulBlock","src":"890:32:4","statements":[{"nodeType":"YulAssignment","src":"900:16:4","value":{"name":"value","nodeType":"YulIdentifier","src":"911:5:4"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"900:7:4"}]}]},"name":"cleanup_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"872:5:4","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"882:7:4","type":""}],"src":"845:77:4"},{"body":{"nodeType":"YulBlock","src":"971:79:4","statements":[{"body":{"nodeType":"YulBlock","src":"1028:16:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1037:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1040:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1030:6:4"},"nodeType":"YulFunctionCall","src":"1030:12:4"},"nodeType":"YulExpressionStatement","src":"1030:12:4"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"994:5:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1019:5:4"}],"functionName":{"name":"cleanup_t_bytes32","nodeType":"YulIdentifier","src":"1001:17:4"},"nodeType":"YulFunctionCall","src":"1001:24:4"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"991:2:4"},"nodeType":"YulFunctionCall","src":"991:35:4"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"984:6:4"},"nodeType":"YulFunctionCall","src":"984:43:4"},"nodeType":"YulIf","src":"981:63:4"}]},"name":"validator_revert_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"964:5:4","type":""}],"src":"928:122:4"},{"body":{"nodeType":"YulBlock","src":"1119:80:4","statements":[{"nodeType":"YulAssignment","src":"1129:22:4","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1144:6:4"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1138:5:4"},"nodeType":"YulFunctionCall","src":"1138:13:4"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"1129:5:4"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1187:5:4"}],"functionName":{"name":"validator_revert_t_bytes32","nodeType":"YulIdentifier","src":"1160:26:4"},"nodeType":"YulFunctionCall","src":"1160:33:4"},"nodeType":"YulExpressionStatement","src":"1160:33:4"}]},"name":"abi_decode_t_bytes32_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"1097:6:4","type":""},{"name":"end","nodeType":"YulTypedName","src":"1105:3:4","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"1113:5:4","type":""}],"src":"1056:143:4"},{"body":{"nodeType":"YulBlock","src":"1299:413:4","statements":[{"body":{"nodeType":"YulBlock","src":"1345:83:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"1347:77:4"},"nodeType":"YulFunctionCall","src":"1347:79:4"},"nodeType":"YulExpressionStatement","src":"1347:79:4"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1320:7:4"},{"name":"headStart","nodeType":"YulIdentifier","src":"1329:9:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1316:3:4"},"nodeType":"YulFunctionCall","src":"1316:23:4"},{"kind":"number","nodeType":"YulLiteral","src":"1341:2:4","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1312:3:4"},"nodeType":"YulFunctionCall","src":"1312:32:4"},"nodeType":"YulIf","src":"1309:119:4"},{"nodeType":"YulBlock","src":"1438:128:4","statements":[{"nodeType":"YulVariableDeclaration","src":"1453:15:4","value":{"kind":"number","nodeType":"YulLiteral","src":"1467:1:4","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"1457:6:4","type":""}]},{"nodeType":"YulAssignment","src":"1482:74:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1528:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"1539:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1524:3:4"},"nodeType":"YulFunctionCall","src":"1524:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1548:7:4"}],"functionName":{"name":"abi_decode_t_address_fromMemory","nodeType":"YulIdentifier","src":"1492:31:4"},"nodeType":"YulFunctionCall","src":"1492:64:4"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1482:6:4"}]}]},{"nodeType":"YulBlock","src":"1576:129:4","statements":[{"nodeType":"YulVariableDeclaration","src":"1591:16:4","value":{"kind":"number","nodeType":"YulLiteral","src":"1605:2:4","type":"","value":"32"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"1595:6:4","type":""}]},{"nodeType":"YulAssignment","src":"1621:74:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1667:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"1678:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1663:3:4"},"nodeType":"YulFunctionCall","src":"1663:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1687:7:4"}],"functionName":{"name":"abi_decode_t_bytes32_fromMemory","nodeType":"YulIdentifier","src":"1631:31:4"},"nodeType":"YulFunctionCall","src":"1631:64:4"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"1621:6:4"}]}]}]},"name":"abi_decode_tuple_t_addresst_bytes32_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1261:9:4","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1272:7:4","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1284:6:4","type":""},{"name":"value1","nodeType":"YulTypedName","src":"1292:6:4","type":""}],"src":"1205:507:4"}]},"contents":"{\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_address_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_address(value)\n }\n\n function cleanup_t_bytes32(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_bytes32(value) {\n if iszero(eq(value, cleanup_t_bytes32(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_bytes32_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_bytes32(value)\n }\n\n function abi_decode_tuple_t_addresst_bytes32_fromMemory(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_bytes32_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n}\n","id":4,"language":"Yul","name":"#utility.yul"}],"linkReferences":{},"object":"60a06040523480156200001157600080fd5b5060405162001c0138038062001c0183398181016040528101906200003791906200016d565b816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555033600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080608081815250505050620001b4565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620000fa82620000cd565b9050919050565b6200010c81620000ed565b81146200011857600080fd5b50565b6000815190506200012c8162000101565b92915050565b6000819050919050565b620001478162000132565b81146200015357600080fd5b50565b60008151905062000167816200013c565b92915050565b60008060408385031215620001875762000186620000c8565b5b600062000197858286016200011b565b9250506020620001aa8582860162000156565b9150509250929050565b608051611a2a620001d7600039600081816108bf015261093e0152611a2a6000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c80636cf6d6751161008c578063af082a7d11610066578063af082a7d14610213578063ba95ec2714610231578063bd7c31531461024f578063d5f394881461026d576100ea565b80636cf6d675146101bb57806384330d4c146101d95780639e45a913146101f5576100ea565b80634394f6f3116100c85780634394f6f314610147578063452a9320146101635780634f76f1ee146101815780635e0d3b0f1461019f576100ea565b8063158ef93e146100ef578063185bf52b1461010d5780631a8bcd3414610129575b600080fd5b6100f761028b565b6040516101049190610dd5565b60405180910390f35b61012760048036038101906101229190610e66565b61029e565b005b610131610409565b60405161013e9190610ec8565b60405180910390f35b610161600480360381019061015c9190610ee3565b61040f565b005b61016b61051a565b6040516101789190610f8b565b60405180910390f35b61018961053e565b6040516101969190610ec8565b60405180910390f35b6101b960048036038101906101b49190611085565b610544565b005b6101c36106f4565b6040516101d09190610ec8565b60405180910390f35b6101f360048036038101906101ee9190611176565b6106fa565b005b6101fd6108bd565b60405161020a9190611241565b60405180910390f35b61021b6108e1565b6040516102289190611241565b60405180910390f35b6102396108e7565b6040516102469190610ec8565b60405180910390f35b6102576108ed565b6040516102649190611241565b60405180910390f35b610275610914565b6040516102829190610f8b565b60405180910390f35b600560149054906101000a900460ff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610323576040517fef6d0f0200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6003546103e860045461033691906112ba565b4261034191906112eb565b1015610379576040517f1c36ced200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60045482116103b4576040517f780635d000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8260028190555081600481905550806001819055507fd7067f3840022e90166b8566f9982288b89ec7479b8eb30fad06290f18c8cb098383836040516103fc9392919061131f565b60405180910390a1505050565b6103e881565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610496576040517f8b906c9700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600560149054906101000a900460ff16156104dd576040517f0dc149f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600560146101000a81548160ff0219169083151502179055508360028190555082600481905550816003819055508060018190555050505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60045481565b818190508484905014610583576040517fc6617b7b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001546105bd60025460045487876040516020016105a29291906114b5565b6040516020818303038152906040528051906020012061093a565b146105f4576040517f177b5d9200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60007f74656c6c6f7243757272656e744174746573746174696f6e000000000000000060001b866000013587806020019061062f91906114e8565b806000019061063e9190611510565b89806020019061064e91906114e8565b602001358a806020019061066291906114e8565b604001358b806020019061067691906114e8565b606001358c806020019061068a91906114e8565b608001356001548e604001358f80602001906106a691906114e8565b60a001356040516020016106c49b9a999897969594939291906115d1565b6040516020818303038152906040528051906020012090506106ec8585858585600254610992565b505050505050565b60035481565b818190508484905014610739576040517fc6617b7b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600454851015610775576040517f780635d000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008667ffffffffffffffff16036107b9576040517fc3b70c8800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084846040516020016107ce9291906114b5565b6040516020818303038152906040528051906020012090506001546107f86002546004548461093a565b1461082f576040517f177b5d9200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006108468867ffffffffffffffff16888b61093a565b90506108588686868685600254610992565b806001819055508767ffffffffffffffff16600281905550866004819055507fe304b71f81a1aaf6d714401de28ba1ebdbb5ff9c5fee59ef2a6eb984f9e8da7e88888b6040516108aa939291906116b1565b60405180910390a1505050505050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60015481565b60025481565b7f74656c6c6f7243757272656e744174746573746174696f6e000000000000000060001b81565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60007f000000000000000000000000000000000000000000000000000000000000000084848460405160200161097394939291906116e8565b6040516020818303038152906040528051906020012090509392505050565b6003546103e86004546109a591906112ba565b426109b091906112eb565b11156109e8576040517fe5e5e46400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000805b87879050811015610b49576000801b868683818110610a0e57610a0d61172d565b5b90506060020160200135148015610a4357506000801b868683818110610a3757610a3661172d565b5b90506060020160400135145b8015610a7c57506000868683818110610a5f57610a5e61172d565b5b9050606002016000016020810190610a779190611795565b60ff16145b610b3657610acd888883818110610a9657610a9561172d565b5b9050604002016000016020810190610aae91906117c2565b85888885818110610ac257610ac161172d565b5b905060600201610b8d565b610b03576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b878782818110610b1657610b1561172d565b5b9050604002016020013582610b2b91906117ef565b915082821015610b49575b8080610b4190611823565b9150506109ec565b5081811015610b84576040517fcabeb65500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50505050505050565b6000600283604051602001610ba2919061188c565b604051602081830303815290604052604051610bbe9190611918565b602060405180830381855afa158015610bdb573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610bfe9190611944565b9250600080610c2985856000016020810190610c1a9190611795565b86602001358760400135610cc6565b509150915060006003811115610c4257610c41611971565b5b816003811115610c5557610c54611971565b5b14610c8c576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614925050509392505050565b60008060007f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08460001c1115610d06576000600385925092509250610db0565b600060018888888860405160008152602001604052604051610d2b94939291906119af565b6020604051602081039080840390855afa158015610d4d573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610da157600060016000801b93509350935050610db0565b8060008060001b935093509350505b9450945094915050565b60008115159050919050565b610dcf81610dba565b82525050565b6000602082019050610dea6000830184610dc6565b92915050565b600080fd5b600080fd5b6000819050919050565b610e0d81610dfa565b8114610e1857600080fd5b50565b600081359050610e2a81610e04565b92915050565b6000819050919050565b610e4381610e30565b8114610e4e57600080fd5b50565b600081359050610e6081610e3a565b92915050565b600080600060608486031215610e7f57610e7e610df0565b5b6000610e8d86828701610e1b565b9350506020610e9e86828701610e1b565b9250506040610eaf86828701610e51565b9150509250925092565b610ec281610dfa565b82525050565b6000602082019050610edd6000830184610eb9565b92915050565b60008060008060808587031215610efd57610efc610df0565b5b6000610f0b87828801610e1b565b9450506020610f1c87828801610e1b565b9350506040610f2d87828801610e1b565b9250506060610f3e87828801610e51565b91505092959194509250565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610f7582610f4a565b9050919050565b610f8581610f6a565b82525050565b6000602082019050610fa06000830184610f7c565b92915050565b600080fd5b600060608284031215610fc157610fc0610fa6565b5b81905092915050565b600080fd5b600080fd5b600080fd5b60008083601f840112610fef57610fee610fca565b5b8235905067ffffffffffffffff81111561100c5761100b610fcf565b5b60208301915083604082028301111561102857611027610fd4565b5b9250929050565b60008083601f84011261104557611044610fca565b5b8235905067ffffffffffffffff81111561106257611061610fcf565b5b60208301915083606082028301111561107e5761107d610fd4565b5b9250929050565b6000806000806000606086880312156110a1576110a0610df0565b5b600086013567ffffffffffffffff8111156110bf576110be610df5565b5b6110cb88828901610fab565b955050602086013567ffffffffffffffff8111156110ec576110eb610df5565b5b6110f888828901610fd9565b9450945050604086013567ffffffffffffffff81111561111b5761111a610df5565b5b6111278882890161102f565b92509250509295509295909350565b600067ffffffffffffffff82169050919050565b61115381611136565b811461115e57600080fd5b50565b6000813590506111708161114a565b92915050565b600080600080600080600060a0888a03121561119557611194610df0565b5b60006111a38a828b01610e51565b97505060206111b48a828b01611161565b96505060406111c58a828b01610e1b565b955050606088013567ffffffffffffffff8111156111e6576111e5610df5565b5b6111f28a828b01610fd9565b9450945050608088013567ffffffffffffffff81111561121557611214610df5565b5b6112218a828b0161102f565b925092505092959891949750929550565b61123b81610e30565b82525050565b60006020820190506112566000830184611232565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006112c582610dfa565b91506112d083610dfa565b9250826112e0576112df61125c565b5b828204905092915050565b60006112f682610dfa565b915061130183610dfa565b92508282039050818111156113195761131861128b565b5b92915050565b60006060820190506113346000830186610eb9565b6113416020830185610eb9565b61134e6040830184611232565b949350505050565b600082825260208201905092915050565b6000819050919050565b61137a81610f6a565b811461138557600080fd5b50565b60008135905061139781611371565b92915050565b60006113ac6020840184611388565b905092915050565b6113bd81610f6a565b82525050565b60006113d26020840184610e1b565b905092915050565b6113e381610dfa565b82525050565b604082016113fa600083018361139d565b61140760008501826113b4565b5061141560208301836113c3565b61142260208501826113da565b50505050565b600061143483836113e9565b60408301905092915050565b600082905092915050565b6000604082019050919050565b60006114648385611356565b935061146f82611367565b8060005b858110156114a8576114858284611440565b61148f8882611428565b975061149a8361144b565b925050600181019050611473565b5085925050509392505050565b600060208201905081810360008301526114d0818486611458565b90509392505050565b600080fd5b600080fd5b600080fd5b60008235600160c003833603038112611504576115036114d9565b5b80830191505092915050565b6000808335600160200384360303811261152d5761152c6114d9565b5b80840192508235915067ffffffffffffffff82111561154f5761154e6114de565b5b60208301925060018202360383131561156b5761156a6114e3565b5b509250929050565b600082825260208201905092915050565b82818337600083830152505050565b6000601f19601f8301169050919050565b60006115b08385611573565b93506115bd838584611584565b6115c683611593565b840190509392505050565b6000610140820190506115e7600083018e611232565b6115f4602083018d611232565b8181036040830152611607818b8d6115a4565b9050611616606083018a610eb9565b6116236080830189610eb9565b61163060a0830188610eb9565b61163d60c0830187610eb9565b61164a60e0830186611232565b611658610100830185610eb9565b611666610120830184610eb9565b9c9b505050505050505050505050565b6000819050919050565b600061169b61169661169184611136565b611676565b610dfa565b9050919050565b6116ab81611680565b82525050565b60006060820190506116c660008301866116a2565b6116d36020830185610eb9565b6116e06040830184611232565b949350505050565b60006080820190506116fd6000830187611232565b61170a6020830186610eb9565b6117176040830185610eb9565b6117246060830184611232565b95945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600060ff82169050919050565b6117728161175c565b811461177d57600080fd5b50565b60008135905061178f81611769565b92915050565b6000602082840312156117ab576117aa610df0565b5b60006117b984828501611780565b91505092915050565b6000602082840312156117d8576117d7610df0565b5b60006117e684828501611388565b91505092915050565b60006117fa82610dfa565b915061180583610dfa565b925082820190508082111561181d5761181c61128b565b5b92915050565b600061182e82610dfa565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036118605761185f61128b565b5b600182019050919050565b6000819050919050565b61188661188182610e30565b61186b565b82525050565b60006118988284611875565b60208201915081905092915050565b600081519050919050565b600081905092915050565b60005b838110156118db5780820151818401526020810190506118c0565b60008484015250505050565b60006118f2826118a7565b6118fc81856118b2565b935061190c8185602086016118bd565b80840191505092915050565b600061192482846118e7565b915081905092915050565b60008151905061193e81610e3a565b92915050565b60006020828403121561195a57611959610df0565b5b60006119688482850161192f565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6119a98161175c565b82525050565b60006080820190506119c46000830187611232565b6119d160208301866119a0565b6119de6040830185611232565b6119eb6060830184611232565b9594505050505056fea26469706673582212208a4e27db43c974b180ddea3c0f3e4138731ac4b9bd11334386ecbaa94043947564736f6c63430008130033","opcodes":"PUSH1 0xA0 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH3 0x1C01 CODESIZE SUB DUP1 PUSH3 0x1C01 DUP4 CODECOPY DUP2 DUP2 ADD PUSH1 0x40 MSTORE DUP2 ADD SWAP1 PUSH3 0x37 SWAP2 SWAP1 PUSH3 0x16D JUMP JUMPDEST DUP2 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP CALLER PUSH1 0x5 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP1 PUSH1 0x80 DUP2 DUP2 MSTORE POP POP POP POP PUSH3 0x1B4 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0xFA DUP3 PUSH3 0xCD JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x10C DUP2 PUSH3 0xED JUMP JUMPDEST DUP2 EQ PUSH3 0x118 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH3 0x12C DUP2 PUSH3 0x101 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x147 DUP2 PUSH3 0x132 JUMP JUMPDEST DUP2 EQ PUSH3 0x153 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH3 0x167 DUP2 PUSH3 0x13C JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH3 0x187 JUMPI PUSH3 0x186 PUSH3 0xC8 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH3 0x197 DUP6 DUP3 DUP7 ADD PUSH3 0x11B JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH3 0x1AA DUP6 DUP3 DUP7 ADD PUSH3 0x156 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x80 MLOAD PUSH2 0x1A2A PUSH3 0x1D7 PUSH1 0x0 CODECOPY PUSH1 0x0 DUP2 DUP2 PUSH2 0x8BF ADD MSTORE PUSH2 0x93E ADD MSTORE PUSH2 0x1A2A PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0xEA JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x6CF6D675 GT PUSH2 0x8C JUMPI DUP1 PUSH4 0xAF082A7D GT PUSH2 0x66 JUMPI DUP1 PUSH4 0xAF082A7D EQ PUSH2 0x213 JUMPI DUP1 PUSH4 0xBA95EC27 EQ PUSH2 0x231 JUMPI DUP1 PUSH4 0xBD7C3153 EQ PUSH2 0x24F JUMPI DUP1 PUSH4 0xD5F39488 EQ PUSH2 0x26D JUMPI PUSH2 0xEA JUMP JUMPDEST DUP1 PUSH4 0x6CF6D675 EQ PUSH2 0x1BB JUMPI DUP1 PUSH4 0x84330D4C EQ PUSH2 0x1D9 JUMPI DUP1 PUSH4 0x9E45A913 EQ PUSH2 0x1F5 JUMPI PUSH2 0xEA JUMP JUMPDEST DUP1 PUSH4 0x4394F6F3 GT PUSH2 0xC8 JUMPI DUP1 PUSH4 0x4394F6F3 EQ PUSH2 0x147 JUMPI DUP1 PUSH4 0x452A9320 EQ PUSH2 0x163 JUMPI DUP1 PUSH4 0x4F76F1EE EQ PUSH2 0x181 JUMPI DUP1 PUSH4 0x5E0D3B0F EQ PUSH2 0x19F JUMPI PUSH2 0xEA JUMP JUMPDEST DUP1 PUSH4 0x158EF93E EQ PUSH2 0xEF JUMPI DUP1 PUSH4 0x185BF52B EQ PUSH2 0x10D JUMPI DUP1 PUSH4 0x1A8BCD34 EQ PUSH2 0x129 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xF7 PUSH2 0x28B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x104 SWAP2 SWAP1 PUSH2 0xDD5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x127 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x122 SWAP2 SWAP1 PUSH2 0xE66 JUMP JUMPDEST PUSH2 0x29E JUMP JUMPDEST STOP JUMPDEST PUSH2 0x131 PUSH2 0x409 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x13E SWAP2 SWAP1 PUSH2 0xEC8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x161 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x15C SWAP2 SWAP1 PUSH2 0xEE3 JUMP JUMPDEST PUSH2 0x40F JUMP JUMPDEST STOP JUMPDEST PUSH2 0x16B PUSH2 0x51A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x178 SWAP2 SWAP1 PUSH2 0xF8B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x189 PUSH2 0x53E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x196 SWAP2 SWAP1 PUSH2 0xEC8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1B9 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1B4 SWAP2 SWAP1 PUSH2 0x1085 JUMP JUMPDEST PUSH2 0x544 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1C3 PUSH2 0x6F4 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1D0 SWAP2 SWAP1 PUSH2 0xEC8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1F3 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1EE SWAP2 SWAP1 PUSH2 0x1176 JUMP JUMPDEST PUSH2 0x6FA JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1FD PUSH2 0x8BD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x20A SWAP2 SWAP1 PUSH2 0x1241 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x21B PUSH2 0x8E1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x228 SWAP2 SWAP1 PUSH2 0x1241 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x239 PUSH2 0x8E7 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x246 SWAP2 SWAP1 PUSH2 0xEC8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x257 PUSH2 0x8ED JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x264 SWAP2 SWAP1 PUSH2 0x1241 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x275 PUSH2 0x914 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x282 SWAP2 SWAP1 PUSH2 0xF8B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x5 PUSH1 0x14 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x323 JUMPI PUSH1 0x40 MLOAD PUSH32 0xEF6D0F0200000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x3 SLOAD PUSH2 0x3E8 PUSH1 0x4 SLOAD PUSH2 0x336 SWAP2 SWAP1 PUSH2 0x12BA JUMP JUMPDEST TIMESTAMP PUSH2 0x341 SWAP2 SWAP1 PUSH2 0x12EB JUMP JUMPDEST LT ISZERO PUSH2 0x379 JUMPI PUSH1 0x40 MLOAD PUSH32 0x1C36CED200000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x4 SLOAD DUP3 GT PUSH2 0x3B4 JUMPI PUSH1 0x40 MLOAD PUSH32 0x780635D000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP3 PUSH1 0x2 DUP2 SWAP1 SSTORE POP DUP2 PUSH1 0x4 DUP2 SWAP1 SSTORE POP DUP1 PUSH1 0x1 DUP2 SWAP1 SSTORE POP PUSH32 0xD7067F3840022E90166B8566F9982288B89EC7479B8EB30FAD06290F18C8CB09 DUP4 DUP4 DUP4 PUSH1 0x40 MLOAD PUSH2 0x3FC SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x131F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP JUMP JUMPDEST PUSH2 0x3E8 DUP2 JUMP JUMPDEST PUSH1 0x5 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x496 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8B906C9700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x5 PUSH1 0x14 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x4DD JUMPI PUSH1 0x40 MLOAD PUSH32 0xDC149F000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x5 PUSH1 0x14 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP DUP4 PUSH1 0x2 DUP2 SWAP1 SSTORE POP DUP3 PUSH1 0x4 DUP2 SWAP1 SSTORE POP DUP2 PUSH1 0x3 DUP2 SWAP1 SSTORE POP DUP1 PUSH1 0x1 DUP2 SWAP1 SSTORE POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x4 SLOAD DUP2 JUMP JUMPDEST DUP2 DUP2 SWAP1 POP DUP5 DUP5 SWAP1 POP EQ PUSH2 0x583 JUMPI PUSH1 0x40 MLOAD PUSH32 0xC6617B7B00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 SLOAD PUSH2 0x5BD PUSH1 0x2 SLOAD PUSH1 0x4 SLOAD DUP8 DUP8 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x5A2 SWAP3 SWAP2 SWAP1 PUSH2 0x14B5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 PUSH2 0x93A JUMP JUMPDEST EQ PUSH2 0x5F4 JUMPI PUSH1 0x40 MLOAD PUSH32 0x177B5D9200000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH32 0x74656C6C6F7243757272656E744174746573746174696F6E0000000000000000 PUSH1 0x0 SHL DUP7 PUSH1 0x0 ADD CALLDATALOAD DUP8 DUP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x62F SWAP2 SWAP1 PUSH2 0x14E8 JUMP JUMPDEST DUP1 PUSH1 0x0 ADD SWAP1 PUSH2 0x63E SWAP2 SWAP1 PUSH2 0x1510 JUMP JUMPDEST DUP10 DUP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x64E SWAP2 SWAP1 PUSH2 0x14E8 JUMP JUMPDEST PUSH1 0x20 ADD CALLDATALOAD DUP11 DUP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x662 SWAP2 SWAP1 PUSH2 0x14E8 JUMP JUMPDEST PUSH1 0x40 ADD CALLDATALOAD DUP12 DUP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x676 SWAP2 SWAP1 PUSH2 0x14E8 JUMP JUMPDEST PUSH1 0x60 ADD CALLDATALOAD DUP13 DUP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x68A SWAP2 SWAP1 PUSH2 0x14E8 JUMP JUMPDEST PUSH1 0x80 ADD CALLDATALOAD PUSH1 0x1 SLOAD DUP15 PUSH1 0x40 ADD CALLDATALOAD DUP16 DUP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x6A6 SWAP2 SWAP1 PUSH2 0x14E8 JUMP JUMPDEST PUSH1 0xA0 ADD CALLDATALOAD PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x6C4 SWAP12 SWAP11 SWAP10 SWAP9 SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x15D1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 SWAP1 POP PUSH2 0x6EC DUP6 DUP6 DUP6 DUP6 DUP6 PUSH1 0x2 SLOAD PUSH2 0x992 JUMP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x3 SLOAD DUP2 JUMP JUMPDEST DUP2 DUP2 SWAP1 POP DUP5 DUP5 SWAP1 POP EQ PUSH2 0x739 JUMPI PUSH1 0x40 MLOAD PUSH32 0xC6617B7B00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x4 SLOAD DUP6 LT ISZERO PUSH2 0x775 JUMPI PUSH1 0x40 MLOAD PUSH32 0x780635D000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP7 PUSH8 0xFFFFFFFFFFFFFFFF AND SUB PUSH2 0x7B9 JUMPI PUSH1 0x40 MLOAD PUSH32 0xC3B70C8800000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP5 DUP5 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x7CE SWAP3 SWAP2 SWAP1 PUSH2 0x14B5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 SWAP1 POP PUSH1 0x1 SLOAD PUSH2 0x7F8 PUSH1 0x2 SLOAD PUSH1 0x4 SLOAD DUP5 PUSH2 0x93A JUMP JUMPDEST EQ PUSH2 0x82F JUMPI PUSH1 0x40 MLOAD PUSH32 0x177B5D9200000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x846 DUP9 PUSH8 0xFFFFFFFFFFFFFFFF AND DUP9 DUP12 PUSH2 0x93A JUMP JUMPDEST SWAP1 POP PUSH2 0x858 DUP7 DUP7 DUP7 DUP7 DUP6 PUSH1 0x2 SLOAD PUSH2 0x992 JUMP JUMPDEST DUP1 PUSH1 0x1 DUP2 SWAP1 SSTORE POP DUP8 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH1 0x2 DUP2 SWAP1 SSTORE POP DUP7 PUSH1 0x4 DUP2 SWAP1 SSTORE POP PUSH32 0xE304B71F81A1AAF6D714401DE28BA1EBDBB5FF9C5FEE59EF2A6EB984F9E8DA7E DUP9 DUP9 DUP12 PUSH1 0x40 MLOAD PUSH2 0x8AA SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x16B1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH32 0x0 DUP2 JUMP JUMPDEST PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x2 SLOAD DUP2 JUMP JUMPDEST PUSH32 0x74656C6C6F7243757272656E744174746573746174696F6E0000000000000000 PUSH1 0x0 SHL DUP2 JUMP JUMPDEST PUSH1 0x5 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH32 0x0 DUP5 DUP5 DUP5 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x973 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x16E8 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x3 SLOAD PUSH2 0x3E8 PUSH1 0x4 SLOAD PUSH2 0x9A5 SWAP2 SWAP1 PUSH2 0x12BA JUMP JUMPDEST TIMESTAMP PUSH2 0x9B0 SWAP2 SWAP1 PUSH2 0x12EB JUMP JUMPDEST GT ISZERO PUSH2 0x9E8 JUMPI PUSH1 0x40 MLOAD PUSH32 0xE5E5E46400000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 JUMPDEST DUP8 DUP8 SWAP1 POP DUP2 LT ISZERO PUSH2 0xB49 JUMPI PUSH1 0x0 DUP1 SHL DUP7 DUP7 DUP4 DUP2 DUP2 LT PUSH2 0xA0E JUMPI PUSH2 0xA0D PUSH2 0x172D JUMP JUMPDEST JUMPDEST SWAP1 POP PUSH1 0x60 MUL ADD PUSH1 0x20 ADD CALLDATALOAD EQ DUP1 ISZERO PUSH2 0xA43 JUMPI POP PUSH1 0x0 DUP1 SHL DUP7 DUP7 DUP4 DUP2 DUP2 LT PUSH2 0xA37 JUMPI PUSH2 0xA36 PUSH2 0x172D JUMP JUMPDEST JUMPDEST SWAP1 POP PUSH1 0x60 MUL ADD PUSH1 0x40 ADD CALLDATALOAD EQ JUMPDEST DUP1 ISZERO PUSH2 0xA7C JUMPI POP PUSH1 0x0 DUP7 DUP7 DUP4 DUP2 DUP2 LT PUSH2 0xA5F JUMPI PUSH2 0xA5E PUSH2 0x172D JUMP JUMPDEST JUMPDEST SWAP1 POP PUSH1 0x60 MUL ADD PUSH1 0x0 ADD PUSH1 0x20 DUP2 ADD SWAP1 PUSH2 0xA77 SWAP2 SWAP1 PUSH2 0x1795 JUMP JUMPDEST PUSH1 0xFF AND EQ JUMPDEST PUSH2 0xB36 JUMPI PUSH2 0xACD DUP9 DUP9 DUP4 DUP2 DUP2 LT PUSH2 0xA96 JUMPI PUSH2 0xA95 PUSH2 0x172D JUMP JUMPDEST JUMPDEST SWAP1 POP PUSH1 0x40 MUL ADD PUSH1 0x0 ADD PUSH1 0x20 DUP2 ADD SWAP1 PUSH2 0xAAE SWAP2 SWAP1 PUSH2 0x17C2 JUMP JUMPDEST DUP6 DUP9 DUP9 DUP6 DUP2 DUP2 LT PUSH2 0xAC2 JUMPI PUSH2 0xAC1 PUSH2 0x172D JUMP JUMPDEST JUMPDEST SWAP1 POP PUSH1 0x60 MUL ADD PUSH2 0xB8D JUMP JUMPDEST PUSH2 0xB03 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8BAA579F00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP8 DUP8 DUP3 DUP2 DUP2 LT PUSH2 0xB16 JUMPI PUSH2 0xB15 PUSH2 0x172D JUMP JUMPDEST JUMPDEST SWAP1 POP PUSH1 0x40 MUL ADD PUSH1 0x20 ADD CALLDATALOAD DUP3 PUSH2 0xB2B SWAP2 SWAP1 PUSH2 0x17EF JUMP JUMPDEST SWAP2 POP DUP3 DUP3 LT ISZERO PUSH2 0xB49 JUMPI JUMPDEST DUP1 DUP1 PUSH2 0xB41 SWAP1 PUSH2 0x1823 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x9EC JUMP JUMPDEST POP DUP2 DUP2 LT ISZERO PUSH2 0xB84 JUMPI PUSH1 0x40 MLOAD PUSH32 0xCABEB65500000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP4 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xBA2 SWAP2 SWAP1 PUSH2 0x188C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE PUSH1 0x40 MLOAD PUSH2 0xBBE SWAP2 SWAP1 PUSH2 0x1918 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xBDB JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xBFE SWAP2 SWAP1 PUSH2 0x1944 JUMP JUMPDEST SWAP3 POP PUSH1 0x0 DUP1 PUSH2 0xC29 DUP6 DUP6 PUSH1 0x0 ADD PUSH1 0x20 DUP2 ADD SWAP1 PUSH2 0xC1A SWAP2 SWAP1 PUSH2 0x1795 JUMP JUMPDEST DUP7 PUSH1 0x20 ADD CALLDATALOAD DUP8 PUSH1 0x40 ADD CALLDATALOAD PUSH2 0xCC6 JUMP JUMPDEST POP SWAP2 POP SWAP2 POP PUSH1 0x0 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0xC42 JUMPI PUSH2 0xC41 PUSH2 0x1971 JUMP JUMPDEST JUMPDEST DUP2 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0xC55 JUMPI PUSH2 0xC54 PUSH2 0x1971 JUMP JUMPDEST JUMPDEST EQ PUSH2 0xC8C JUMPI PUSH1 0x40 MLOAD PUSH32 0x8BAA579F00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ SWAP3 POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH32 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D576E7357A4501DDFE92F46681B20A0 DUP5 PUSH1 0x0 SHR GT ISZERO PUSH2 0xD06 JUMPI PUSH1 0x0 PUSH1 0x3 DUP6 SWAP3 POP SWAP3 POP SWAP3 POP PUSH2 0xDB0 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP9 DUP9 DUP9 DUP9 PUSH1 0x40 MLOAD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MSTORE PUSH1 0x40 MLOAD PUSH2 0xD2B SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x19AF JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 SUB SWAP1 DUP1 DUP5 SUB SWAP1 DUP6 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xD4D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP PUSH1 0x20 PUSH1 0x40 MLOAD SUB MLOAD SWAP1 POP PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0xDA1 JUMPI PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 DUP1 SHL SWAP4 POP SWAP4 POP SWAP4 POP POP PUSH2 0xDB0 JUMP JUMPDEST DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 SHL SWAP4 POP SWAP4 POP SWAP4 POP POP JUMPDEST SWAP5 POP SWAP5 POP SWAP5 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xDCF DUP2 PUSH2 0xDBA JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xDEA PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xDC6 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xE0D DUP2 PUSH2 0xDFA JUMP JUMPDEST DUP2 EQ PUSH2 0xE18 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xE2A DUP2 PUSH2 0xE04 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xE43 DUP2 PUSH2 0xE30 JUMP JUMPDEST DUP2 EQ PUSH2 0xE4E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xE60 DUP2 PUSH2 0xE3A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0xE7F JUMPI PUSH2 0xE7E PUSH2 0xDF0 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xE8D DUP7 DUP3 DUP8 ADD PUSH2 0xE1B JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 PUSH2 0xE9E DUP7 DUP3 DUP8 ADD PUSH2 0xE1B JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 PUSH2 0xEAF DUP7 DUP3 DUP8 ADD PUSH2 0xE51 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH2 0xEC2 DUP2 PUSH2 0xDFA JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xEDD PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xEB9 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0xEFD JUMPI PUSH2 0xEFC PUSH2 0xDF0 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xF0B DUP8 DUP3 DUP9 ADD PUSH2 0xE1B JUMP JUMPDEST SWAP5 POP POP PUSH1 0x20 PUSH2 0xF1C DUP8 DUP3 DUP9 ADD PUSH2 0xE1B JUMP JUMPDEST SWAP4 POP POP PUSH1 0x40 PUSH2 0xF2D DUP8 DUP3 DUP9 ADD PUSH2 0xE1B JUMP JUMPDEST SWAP3 POP POP PUSH1 0x60 PUSH2 0xF3E DUP8 DUP3 DUP9 ADD PUSH2 0xE51 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xF75 DUP3 PUSH2 0xF4A JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xF85 DUP2 PUSH2 0xF6A JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xFA0 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xF7C JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xFC1 JUMPI PUSH2 0xFC0 PUSH2 0xFA6 JUMP JUMPDEST JUMPDEST DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0xFEF JUMPI PUSH2 0xFEE PUSH2 0xFCA JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x100C JUMPI PUSH2 0x100B PUSH2 0xFCF JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x40 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0x1028 JUMPI PUSH2 0x1027 PUSH2 0xFD4 JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0x1045 JUMPI PUSH2 0x1044 PUSH2 0xFCA JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1062 JUMPI PUSH2 0x1061 PUSH2 0xFCF JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x60 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0x107E JUMPI PUSH2 0x107D PUSH2 0xFD4 JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x10A1 JUMPI PUSH2 0x10A0 PUSH2 0xDF0 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x10BF JUMPI PUSH2 0x10BE PUSH2 0xDF5 JUMP JUMPDEST JUMPDEST PUSH2 0x10CB DUP9 DUP3 DUP10 ADD PUSH2 0xFAB JUMP JUMPDEST SWAP6 POP POP PUSH1 0x20 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x10EC JUMPI PUSH2 0x10EB PUSH2 0xDF5 JUMP JUMPDEST JUMPDEST PUSH2 0x10F8 DUP9 DUP3 DUP10 ADD PUSH2 0xFD9 JUMP JUMPDEST SWAP5 POP SWAP5 POP POP PUSH1 0x40 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x111B JUMPI PUSH2 0x111A PUSH2 0xDF5 JUMP JUMPDEST JUMPDEST PUSH2 0x1127 DUP9 DUP3 DUP10 ADD PUSH2 0x102F JUMP JUMPDEST SWAP3 POP SWAP3 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1153 DUP2 PUSH2 0x1136 JUMP JUMPDEST DUP2 EQ PUSH2 0x115E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1170 DUP2 PUSH2 0x114A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP9 DUP11 SUB SLT ISZERO PUSH2 0x1195 JUMPI PUSH2 0x1194 PUSH2 0xDF0 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x11A3 DUP11 DUP3 DUP12 ADD PUSH2 0xE51 JUMP JUMPDEST SWAP8 POP POP PUSH1 0x20 PUSH2 0x11B4 DUP11 DUP3 DUP12 ADD PUSH2 0x1161 JUMP JUMPDEST SWAP7 POP POP PUSH1 0x40 PUSH2 0x11C5 DUP11 DUP3 DUP12 ADD PUSH2 0xE1B JUMP JUMPDEST SWAP6 POP POP PUSH1 0x60 DUP9 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x11E6 JUMPI PUSH2 0x11E5 PUSH2 0xDF5 JUMP JUMPDEST JUMPDEST PUSH2 0x11F2 DUP11 DUP3 DUP12 ADD PUSH2 0xFD9 JUMP JUMPDEST SWAP5 POP SWAP5 POP POP PUSH1 0x80 DUP9 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1215 JUMPI PUSH2 0x1214 PUSH2 0xDF5 JUMP JUMPDEST JUMPDEST PUSH2 0x1221 DUP11 DUP3 DUP12 ADD PUSH2 0x102F JUMP JUMPDEST SWAP3 POP SWAP3 POP POP SWAP3 SWAP6 SWAP9 SWAP2 SWAP5 SWAP8 POP SWAP3 SWAP6 POP JUMP JUMPDEST PUSH2 0x123B DUP2 PUSH2 0xE30 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1256 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1232 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x12C5 DUP3 PUSH2 0xDFA JUMP JUMPDEST SWAP2 POP PUSH2 0x12D0 DUP4 PUSH2 0xDFA JUMP JUMPDEST SWAP3 POP DUP3 PUSH2 0x12E0 JUMPI PUSH2 0x12DF PUSH2 0x125C JUMP JUMPDEST JUMPDEST DUP3 DUP3 DIV SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x12F6 DUP3 PUSH2 0xDFA JUMP JUMPDEST SWAP2 POP PUSH2 0x1301 DUP4 PUSH2 0xDFA JUMP JUMPDEST SWAP3 POP DUP3 DUP3 SUB SWAP1 POP DUP2 DUP2 GT ISZERO PUSH2 0x1319 JUMPI PUSH2 0x1318 PUSH2 0x128B JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH2 0x1334 PUSH1 0x0 DUP4 ADD DUP7 PUSH2 0xEB9 JUMP JUMPDEST PUSH2 0x1341 PUSH1 0x20 DUP4 ADD DUP6 PUSH2 0xEB9 JUMP JUMPDEST PUSH2 0x134E PUSH1 0x40 DUP4 ADD DUP5 PUSH2 0x1232 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x137A DUP2 PUSH2 0xF6A JUMP JUMPDEST DUP2 EQ PUSH2 0x1385 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1397 DUP2 PUSH2 0x1371 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x13AC PUSH1 0x20 DUP5 ADD DUP5 PUSH2 0x1388 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x13BD DUP2 PUSH2 0xF6A JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x13D2 PUSH1 0x20 DUP5 ADD DUP5 PUSH2 0xE1B JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x13E3 DUP2 PUSH2 0xDFA JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x40 DUP3 ADD PUSH2 0x13FA PUSH1 0x0 DUP4 ADD DUP4 PUSH2 0x139D JUMP JUMPDEST PUSH2 0x1407 PUSH1 0x0 DUP6 ADD DUP3 PUSH2 0x13B4 JUMP JUMPDEST POP PUSH2 0x1415 PUSH1 0x20 DUP4 ADD DUP4 PUSH2 0x13C3 JUMP JUMPDEST PUSH2 0x1422 PUSH1 0x20 DUP6 ADD DUP3 PUSH2 0x13DA JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1434 DUP4 DUP4 PUSH2 0x13E9 JUMP JUMPDEST PUSH1 0x40 DUP4 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1464 DUP4 DUP6 PUSH2 0x1356 JUMP JUMPDEST SWAP4 POP PUSH2 0x146F DUP3 PUSH2 0x1367 JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0x14A8 JUMPI PUSH2 0x1485 DUP3 DUP5 PUSH2 0x1440 JUMP JUMPDEST PUSH2 0x148F DUP9 DUP3 PUSH2 0x1428 JUMP JUMPDEST SWAP8 POP PUSH2 0x149A DUP4 PUSH2 0x144B JUMP JUMPDEST SWAP3 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x1473 JUMP JUMPDEST POP DUP6 SWAP3 POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x14D0 DUP2 DUP5 DUP7 PUSH2 0x1458 JUMP JUMPDEST SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP3 CALLDATALOAD PUSH1 0x1 PUSH1 0xC0 SUB DUP4 CALLDATASIZE SUB SUB DUP2 SLT PUSH2 0x1504 JUMPI PUSH2 0x1503 PUSH2 0x14D9 JUMP JUMPDEST JUMPDEST DUP1 DUP4 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 CALLDATALOAD PUSH1 0x1 PUSH1 0x20 SUB DUP5 CALLDATASIZE SUB SUB DUP2 SLT PUSH2 0x152D JUMPI PUSH2 0x152C PUSH2 0x14D9 JUMP JUMPDEST JUMPDEST DUP1 DUP5 ADD SWAP3 POP DUP3 CALLDATALOAD SWAP2 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x154F JUMPI PUSH2 0x154E PUSH2 0x14DE JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP3 POP PUSH1 0x1 DUP3 MUL CALLDATASIZE SUB DUP4 SGT ISZERO PUSH2 0x156B JUMPI PUSH2 0x156A PUSH2 0x14E3 JUMP JUMPDEST JUMPDEST POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x15B0 DUP4 DUP6 PUSH2 0x1573 JUMP JUMPDEST SWAP4 POP PUSH2 0x15BD DUP4 DUP6 DUP5 PUSH2 0x1584 JUMP JUMPDEST PUSH2 0x15C6 DUP4 PUSH2 0x1593 JUMP JUMPDEST DUP5 ADD SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x140 DUP3 ADD SWAP1 POP PUSH2 0x15E7 PUSH1 0x0 DUP4 ADD DUP15 PUSH2 0x1232 JUMP JUMPDEST PUSH2 0x15F4 PUSH1 0x20 DUP4 ADD DUP14 PUSH2 0x1232 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x1607 DUP2 DUP12 DUP14 PUSH2 0x15A4 JUMP JUMPDEST SWAP1 POP PUSH2 0x1616 PUSH1 0x60 DUP4 ADD DUP11 PUSH2 0xEB9 JUMP JUMPDEST PUSH2 0x1623 PUSH1 0x80 DUP4 ADD DUP10 PUSH2 0xEB9 JUMP JUMPDEST PUSH2 0x1630 PUSH1 0xA0 DUP4 ADD DUP9 PUSH2 0xEB9 JUMP JUMPDEST PUSH2 0x163D PUSH1 0xC0 DUP4 ADD DUP8 PUSH2 0xEB9 JUMP JUMPDEST PUSH2 0x164A PUSH1 0xE0 DUP4 ADD DUP7 PUSH2 0x1232 JUMP JUMPDEST PUSH2 0x1658 PUSH2 0x100 DUP4 ADD DUP6 PUSH2 0xEB9 JUMP JUMPDEST PUSH2 0x1666 PUSH2 0x120 DUP4 ADD DUP5 PUSH2 0xEB9 JUMP JUMPDEST SWAP13 SWAP12 POP POP POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x169B PUSH2 0x1696 PUSH2 0x1691 DUP5 PUSH2 0x1136 JUMP JUMPDEST PUSH2 0x1676 JUMP JUMPDEST PUSH2 0xDFA JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x16AB DUP2 PUSH2 0x1680 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH2 0x16C6 PUSH1 0x0 DUP4 ADD DUP7 PUSH2 0x16A2 JUMP JUMPDEST PUSH2 0x16D3 PUSH1 0x20 DUP4 ADD DUP6 PUSH2 0xEB9 JUMP JUMPDEST PUSH2 0x16E0 PUSH1 0x40 DUP4 ADD DUP5 PUSH2 0x1232 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x80 DUP3 ADD SWAP1 POP PUSH2 0x16FD PUSH1 0x0 DUP4 ADD DUP8 PUSH2 0x1232 JUMP JUMPDEST PUSH2 0x170A PUSH1 0x20 DUP4 ADD DUP7 PUSH2 0xEB9 JUMP JUMPDEST PUSH2 0x1717 PUSH1 0x40 DUP4 ADD DUP6 PUSH2 0xEB9 JUMP JUMPDEST PUSH2 0x1724 PUSH1 0x60 DUP4 ADD DUP5 PUSH2 0x1232 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0xFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1772 DUP2 PUSH2 0x175C JUMP JUMPDEST DUP2 EQ PUSH2 0x177D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x178F DUP2 PUSH2 0x1769 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x17AB JUMPI PUSH2 0x17AA PUSH2 0xDF0 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x17B9 DUP5 DUP3 DUP6 ADD PUSH2 0x1780 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x17D8 JUMPI PUSH2 0x17D7 PUSH2 0xDF0 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x17E6 DUP5 DUP3 DUP6 ADD PUSH2 0x1388 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x17FA DUP3 PUSH2 0xDFA JUMP JUMPDEST SWAP2 POP PUSH2 0x1805 DUP4 PUSH2 0xDFA JUMP JUMPDEST SWAP3 POP DUP3 DUP3 ADD SWAP1 POP DUP1 DUP3 GT ISZERO PUSH2 0x181D JUMPI PUSH2 0x181C PUSH2 0x128B JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x182E DUP3 PUSH2 0xDFA JUMP JUMPDEST SWAP2 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 SUB PUSH2 0x1860 JUMPI PUSH2 0x185F PUSH2 0x128B JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1886 PUSH2 0x1881 DUP3 PUSH2 0xE30 JUMP JUMPDEST PUSH2 0x186B JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1898 DUP3 DUP5 PUSH2 0x1875 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP2 POP DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x18DB JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x18C0 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x18F2 DUP3 PUSH2 0x18A7 JUMP JUMPDEST PUSH2 0x18FC DUP2 DUP6 PUSH2 0x18B2 JUMP JUMPDEST SWAP4 POP PUSH2 0x190C DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x18BD JUMP JUMPDEST DUP1 DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1924 DUP3 DUP5 PUSH2 0x18E7 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x193E DUP2 PUSH2 0xE3A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x195A JUMPI PUSH2 0x1959 PUSH2 0xDF0 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1968 DUP5 DUP3 DUP6 ADD PUSH2 0x192F JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x19A9 DUP2 PUSH2 0x175C JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x80 DUP3 ADD SWAP1 POP PUSH2 0x19C4 PUSH1 0x0 DUP4 ADD DUP8 PUSH2 0x1232 JUMP JUMPDEST PUSH2 0x19D1 PUSH1 0x20 DUP4 ADD DUP7 PUSH2 0x19A0 JUMP JUMPDEST PUSH2 0x19DE PUSH1 0x40 DUP4 ADD DUP6 PUSH2 0x1232 JUMP JUMPDEST PUSH2 0x19EB PUSH1 0x60 DUP4 ADD DUP5 PUSH2 0x1232 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 DUP11 0x4E 0x27 0xDB NUMBER 0xC9 PUSH21 0xB180DDEA3C0F3E4138731AC4B9BD11334386ECBAA9 BLOCKHASH NUMBER SWAP5 PUSH22 0x64736F6C634300081300330000000000000000000000 ","sourceMap":"949:11667:1:-:0;;;3061:243;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3177:9;3166:8;;:20;;;;;;;;;;;;;;;;;;3207:10;3196:8;;:21;;;;;;;;;;;;;;;;;;3265:32;3227:70;;;;;;3061:243;;949:11667;;88:117:4;197:1;194;187:12;334:126;371:7;411:42;404:5;400:54;389:65;;334:126;;;:::o;466:96::-;503:7;532:24;550:5;532:24;:::i;:::-;521:35;;466:96;;;:::o;568:122::-;641:24;659:5;641:24;:::i;:::-;634:5;631:35;621:63;;680:1;677;670:12;621:63;568:122;:::o;696:143::-;753:5;784:6;778:13;769:22;;800:33;827:5;800:33;:::i;:::-;696:143;;;;:::o;845:77::-;882:7;911:5;900:16;;845:77;;;:::o;928:122::-;1001:24;1019:5;1001:24;:::i;:::-;994:5;991:35;981:63;;1040:1;1037;1030:12;981:63;928:122;:::o;1056:143::-;1113:5;1144:6;1138:13;1129:22;;1160:33;1187:5;1160:33;:::i;:::-;1056:143;;;;:::o;1205:507::-;1284:6;1292;1341:2;1329:9;1320:7;1316:23;1312:32;1309:119;;;1347:79;;:::i;:::-;1309:119;1467:1;1492:64;1548:7;1539:6;1528:9;1524:22;1492:64;:::i;:::-;1482:74;;1438:128;1605:2;1631:64;1687:7;1678:6;1667:9;1663:22;1631:64;:::i;:::-;1621:74;;1576:129;1205:507;;;;;:::o;949:11667:1:-;;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{"@MS_PER_SECOND_421":{"entryPoint":1033,"id":421,"parameterSlots":0,"returnSlots":0},"@NEW_REPORT_ATTESTATION_DOMAIN_SEPARATOR_424":{"entryPoint":2285,"id":424,"parameterSlots":0,"returnSlots":0},"@VALIDATOR_SET_HASH_DOMAIN_SEPARATOR_426":{"entryPoint":2237,"id":426,"parameterSlots":0,"returnSlots":0},"@_checkValidatorSignatures_883":{"entryPoint":2450,"id":883,"parameterSlots":6,"returnSlots":0},"@_domainSeparateValidatorSetHash_906":{"entryPoint":2362,"id":906,"parameterSlots":3,"returnSlots":1},"@_verifySig_957":{"entryPoint":2957,"id":957,"parameterSlots":3,"returnSlots":1},"@deployer_414":{"entryPoint":2324,"id":414,"parameterSlots":0,"returnSlots":0},"@guardianResetValidatorSet_594":{"entryPoint":670,"id":594,"parameterSlots":3,"returnSlots":0},"@guardian_399":{"entryPoint":1306,"id":399,"parameterSlots":0,"returnSlots":0},"@init_534":{"entryPoint":1039,"id":534,"parameterSlots":4,"returnSlots":0},"@initialized_417":{"entryPoint":651,"id":417,"parameterSlots":0,"returnSlots":0},"@lastValidatorSetCheckpoint_402":{"entryPoint":2273,"id":402,"parameterSlots":0,"returnSlots":0},"@powerThreshold_405":{"entryPoint":2279,"id":405,"parameterSlots":0,"returnSlots":0},"@tryRecover_261":{"entryPoint":3270,"id":261,"parameterSlots":4,"returnSlots":3},"@unbondingPeriod_408":{"entryPoint":1780,"id":408,"parameterSlots":0,"returnSlots":0},"@updateValidatorSet_693":{"entryPoint":1786,"id":693,"parameterSlots":7,"returnSlots":0},"@validatorTimestamp_411":{"entryPoint":1342,"id":411,"parameterSlots":0,"returnSlots":0},"@verifyOracleData_775":{"entryPoint":1348,"id":775,"parameterSlots":5,"returnSlots":0},"abi_decode_t_address":{"entryPoint":5000,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_array$_t_struct$_Signature_$389_calldata_ptr_$dyn_calldata_ptr":{"entryPoint":4143,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_t_array$_t_struct$_Validator_$394_calldata_ptr_$dyn_calldata_ptr":{"entryPoint":4057,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_t_bytes32":{"entryPoint":3665,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_bytes32_fromMemory":{"entryPoint":6447,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_struct$_OracleAttestationData_$369_calldata_ptr":{"entryPoint":4011,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_uint256":{"entryPoint":3611,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_uint64":{"entryPoint":4449,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_uint8":{"entryPoint":6016,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_address":{"entryPoint":6082,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes32_fromMemory":{"entryPoint":6468,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes32t_uint64t_uint256t_array$_t_struct$_Validator_$394_calldata_ptr_$dyn_calldata_ptrt_array$_t_struct$_Signature_$389_calldata_ptr_$dyn_calldata_ptr":{"entryPoint":4470,"id":null,"parameterSlots":2,"returnSlots":7},"abi_decode_tuple_t_struct$_OracleAttestationData_$369_calldata_ptrt_array$_t_struct$_Validator_$394_calldata_ptr_$dyn_calldata_ptrt_array$_t_struct$_Signature_$389_calldata_ptr_$dyn_calldata_ptr":{"entryPoint":4229,"id":null,"parameterSlots":2,"returnSlots":5},"abi_decode_tuple_t_uint256t_uint256t_bytes32":{"entryPoint":3686,"id":null,"parameterSlots":2,"returnSlots":3},"abi_decode_tuple_t_uint256t_uint256t_uint256t_bytes32":{"entryPoint":3811,"id":null,"parameterSlots":2,"returnSlots":4},"abi_decode_tuple_t_uint8":{"entryPoint":6037,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encodeUpdatedPos_t_struct$_Validator_$394_calldata_ptr_to_t_struct$_Validator_$394_memory_ptr":{"entryPoint":5160,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_address_to_t_address":{"entryPoint":5044,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_address_to_t_address_fromStack":{"entryPoint":3964,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_array$_t_struct$_Validator_$394_calldata_ptr_$dyn_calldata_ptr_to_t_array$_t_struct$_Validator_$394_memory_ptr_$dyn_memory_ptr_fromStack":{"entryPoint":5208,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_t_bool_to_t_bool_fromStack":{"entryPoint":3526,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_bytes32_to_t_bytes32_fromStack":{"entryPoint":4658,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_bytes32_to_t_bytes32_nonPadded_inplace_fromStack":{"entryPoint":6261,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_bytes_calldata_ptr_to_t_bytes_memory_ptr_fromStack":{"entryPoint":5540,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack":{"entryPoint":6375,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_struct$_Validator_$394_calldata_ptr_to_t_struct$_Validator_$394_memory_ptr":{"entryPoint":5097,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_uint256_to_t_uint256":{"entryPoint":5082,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_uint256_to_t_uint256_fromStack":{"entryPoint":3769,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_uint64_to_t_uint256_fromStack":{"entryPoint":5794,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_uint8_to_t_uint8_fromStack":{"entryPoint":6560,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_tuple_packed_t_bytes32__to_t_bytes32__nonPadded_inplace_fromStack_reversed":{"entryPoint":6284,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed":{"entryPoint":6424,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_address__to_t_address__fromStack_reversed":{"entryPoint":3979,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_array$_t_struct$_Validator_$394_calldata_ptr_$dyn_calldata_ptr__to_t_array$_t_struct$_Validator_$394_memory_ptr_$dyn_memory_ptr__fromStack_reversed":{"entryPoint":5301,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed":{"entryPoint":3541,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed":{"entryPoint":4673,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bytes32_t_bytes32_t_bytes_calldata_ptr_t_uint256_t_uint256_t_uint256_t_uint256_t_bytes32_t_uint256_t_uint256__to_t_bytes32_t_bytes32_t_bytes_memory_ptr_t_uint256_t_uint256_t_uint256_t_uint256_t_bytes32_t_uint256_t_uint256__fromStack_reversed":{"entryPoint":5585,"id":null,"parameterSlots":12,"returnSlots":1},"abi_encode_tuple_t_bytes32_t_uint256_t_uint256_t_bytes32__to_t_bytes32_t_uint256_t_uint256_t_bytes32__fromStack_reversed":{"entryPoint":5864,"id":null,"parameterSlots":5,"returnSlots":1},"abi_encode_tuple_t_bytes32_t_uint8_t_bytes32_t_bytes32__to_t_bytes32_t_uint8_t_bytes32_t_bytes32__fromStack_reversed":{"entryPoint":6575,"id":null,"parameterSlots":5,"returnSlots":1},"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed":{"entryPoint":3784,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint256_t_uint256_t_bytes32__to_t_uint256_t_uint256_t_bytes32__fromStack_reversed":{"entryPoint":4895,"id":null,"parameterSlots":4,"returnSlots":1},"abi_encode_tuple_t_uint64_t_uint256_t_bytes32__to_t_uint256_t_uint256_t_bytes32__fromStack_reversed":{"entryPoint":5809,"id":null,"parameterSlots":4,"returnSlots":1},"access_calldata_tail_t_bytes_calldata_ptr":{"entryPoint":5392,"id":null,"parameterSlots":2,"returnSlots":2},"access_calldata_tail_t_struct$_ReportData_$382_calldata_ptr":{"entryPoint":5352,"id":null,"parameterSlots":2,"returnSlots":1},"allocate_unbounded":{"entryPoint":null,"id":null,"parameterSlots":0,"returnSlots":1},"array_dataslot_t_array$_t_struct$_Validator_$394_calldata_ptr_$dyn_calldata_ptr":{"entryPoint":4967,"id":null,"parameterSlots":1,"returnSlots":1},"array_length_t_bytes_memory_ptr":{"entryPoint":6311,"id":null,"parameterSlots":1,"returnSlots":1},"array_nextElement_t_array$_t_struct$_Validator_$394_calldata_ptr_$dyn_calldata_ptr":{"entryPoint":5195,"id":null,"parameterSlots":1,"returnSlots":1},"array_storeLengthForEncoding_t_array$_t_struct$_Validator_$394_memory_ptr_$dyn_memory_ptr_fromStack":{"entryPoint":4950,"id":null,"parameterSlots":2,"returnSlots":1},"array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack":{"entryPoint":5491,"id":null,"parameterSlots":2,"returnSlots":1},"array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack":{"entryPoint":6322,"id":null,"parameterSlots":2,"returnSlots":1},"calldata_access_t_address":{"entryPoint":5021,"id":null,"parameterSlots":2,"returnSlots":1},"calldata_access_t_struct$_Validator_$394_calldata_ptr":{"entryPoint":5184,"id":null,"parameterSlots":2,"returnSlots":1},"calldata_access_t_uint256":{"entryPoint":5059,"id":null,"parameterSlots":2,"returnSlots":1},"checked_add_t_uint256":{"entryPoint":6127,"id":null,"parameterSlots":2,"returnSlots":1},"checked_div_t_uint256":{"entryPoint":4794,"id":null,"parameterSlots":2,"returnSlots":1},"checked_sub_t_uint256":{"entryPoint":4843,"id":null,"parameterSlots":2,"returnSlots":1},"cleanup_t_address":{"entryPoint":3946,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_bool":{"entryPoint":3514,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_bytes32":{"entryPoint":3632,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_uint160":{"entryPoint":3914,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_uint256":{"entryPoint":3578,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_uint64":{"entryPoint":4406,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_uint8":{"entryPoint":5980,"id":null,"parameterSlots":1,"returnSlots":1},"convert_t_uint64_to_t_uint256":{"entryPoint":5760,"id":null,"parameterSlots":1,"returnSlots":1},"copy_calldata_to_memory_with_cleanup":{"entryPoint":5508,"id":null,"parameterSlots":3,"returnSlots":0},"copy_memory_to_memory_with_cleanup":{"entryPoint":6333,"id":null,"parameterSlots":3,"returnSlots":0},"identity":{"entryPoint":5750,"id":null,"parameterSlots":1,"returnSlots":1},"increment_t_uint256":{"entryPoint":6179,"id":null,"parameterSlots":1,"returnSlots":1},"leftAlign_t_bytes32":{"entryPoint":6251,"id":null,"parameterSlots":1,"returnSlots":1},"panic_error_0x11":{"entryPoint":4747,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x12":{"entryPoint":4700,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x21":{"entryPoint":6513,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x32":{"entryPoint":5933,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490":{"entryPoint":4047,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d":{"entryPoint":4042,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_1e55d03107e9c4f1b5e21c76a16fba166a461117ab153bcce65e6a4ea8e5fc8a":{"entryPoint":5342,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_21fe6b43b4db61d76a176e95bf1a6b9ede4c301f93a4246f41fecb96e160861d":{"entryPoint":4006,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_356d538aaf70fba12156cc466564b792649f8f3befb07b071c91142253e175ad":{"entryPoint":5337,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef":{"entryPoint":4052,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_977805620ff29572292dee35f70b0f3f3f73d3fdd0e9f4d7a901c2e43ab18a2e":{"entryPoint":5347,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db":{"entryPoint":3573,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b":{"entryPoint":3568,"id":null,"parameterSlots":0,"returnSlots":0},"round_up_to_mul_of_32":{"entryPoint":5523,"id":null,"parameterSlots":1,"returnSlots":1},"validator_revert_t_address":{"entryPoint":4977,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_t_bytes32":{"entryPoint":3642,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_t_uint256":{"entryPoint":3588,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_t_uint64":{"entryPoint":4426,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_t_uint8":{"entryPoint":5993,"id":null,"parameterSlots":1,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:24112:4","statements":[{"body":{"nodeType":"YulBlock","src":"49:48:4","statements":[{"nodeType":"YulAssignment","src":"59:32:4","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"84:5:4"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"77:6:4"},"nodeType":"YulFunctionCall","src":"77:13:4"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"70:6:4"},"nodeType":"YulFunctionCall","src":"70:21:4"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"59:7:4"}]}]},"name":"cleanup_t_bool","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"31:5:4","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"41:7:4","type":""}],"src":"7:90:4"},{"body":{"nodeType":"YulBlock","src":"162:50:4","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"179:3:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"199:5:4"}],"functionName":{"name":"cleanup_t_bool","nodeType":"YulIdentifier","src":"184:14:4"},"nodeType":"YulFunctionCall","src":"184:21:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"172:6:4"},"nodeType":"YulFunctionCall","src":"172:34:4"},"nodeType":"YulExpressionStatement","src":"172:34:4"}]},"name":"abi_encode_t_bool_to_t_bool_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"150:5:4","type":""},{"name":"pos","nodeType":"YulTypedName","src":"157:3:4","type":""}],"src":"103:109:4"},{"body":{"nodeType":"YulBlock","src":"310:118:4","statements":[{"nodeType":"YulAssignment","src":"320:26:4","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"332:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"343:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"328:3:4"},"nodeType":"YulFunctionCall","src":"328:18:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"320:4:4"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"394:6:4"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"407:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"418:1:4","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"403:3:4"},"nodeType":"YulFunctionCall","src":"403:17:4"}],"functionName":{"name":"abi_encode_t_bool_to_t_bool_fromStack","nodeType":"YulIdentifier","src":"356:37:4"},"nodeType":"YulFunctionCall","src":"356:65:4"},"nodeType":"YulExpressionStatement","src":"356:65:4"}]},"name":"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"282:9:4","type":""},{"name":"value0","nodeType":"YulTypedName","src":"294:6:4","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"305:4:4","type":""}],"src":"218:210:4"},{"body":{"nodeType":"YulBlock","src":"474:35:4","statements":[{"nodeType":"YulAssignment","src":"484:19:4","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"500:2:4","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"494:5:4"},"nodeType":"YulFunctionCall","src":"494:9:4"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"484:6:4"}]}]},"name":"allocate_unbounded","nodeType":"YulFunctionDefinition","returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"467:6:4","type":""}],"src":"434:75:4"},{"body":{"nodeType":"YulBlock","src":"604:28:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"621:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"624:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"614:6:4"},"nodeType":"YulFunctionCall","src":"614:12:4"},"nodeType":"YulExpressionStatement","src":"614:12:4"}]},"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulFunctionDefinition","src":"515:117:4"},{"body":{"nodeType":"YulBlock","src":"727:28:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"744:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"747:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"737:6:4"},"nodeType":"YulFunctionCall","src":"737:12:4"},"nodeType":"YulExpressionStatement","src":"737:12:4"}]},"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulFunctionDefinition","src":"638:117:4"},{"body":{"nodeType":"YulBlock","src":"806:32:4","statements":[{"nodeType":"YulAssignment","src":"816:16:4","value":{"name":"value","nodeType":"YulIdentifier","src":"827:5:4"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"816:7:4"}]}]},"name":"cleanup_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"788:5:4","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"798:7:4","type":""}],"src":"761:77:4"},{"body":{"nodeType":"YulBlock","src":"887:79:4","statements":[{"body":{"nodeType":"YulBlock","src":"944:16:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"953:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"956:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"946:6:4"},"nodeType":"YulFunctionCall","src":"946:12:4"},"nodeType":"YulExpressionStatement","src":"946:12:4"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"910:5:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"935:5:4"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"917:17:4"},"nodeType":"YulFunctionCall","src":"917:24:4"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"907:2:4"},"nodeType":"YulFunctionCall","src":"907:35:4"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"900:6:4"},"nodeType":"YulFunctionCall","src":"900:43:4"},"nodeType":"YulIf","src":"897:63:4"}]},"name":"validator_revert_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"880:5:4","type":""}],"src":"844:122:4"},{"body":{"nodeType":"YulBlock","src":"1024:87:4","statements":[{"nodeType":"YulAssignment","src":"1034:29:4","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1056:6:4"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1043:12:4"},"nodeType":"YulFunctionCall","src":"1043:20:4"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"1034:5:4"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1099:5:4"}],"functionName":{"name":"validator_revert_t_uint256","nodeType":"YulIdentifier","src":"1072:26:4"},"nodeType":"YulFunctionCall","src":"1072:33:4"},"nodeType":"YulExpressionStatement","src":"1072:33:4"}]},"name":"abi_decode_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"1002:6:4","type":""},{"name":"end","nodeType":"YulTypedName","src":"1010:3:4","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"1018:5:4","type":""}],"src":"972:139:4"},{"body":{"nodeType":"YulBlock","src":"1162:32:4","statements":[{"nodeType":"YulAssignment","src":"1172:16:4","value":{"name":"value","nodeType":"YulIdentifier","src":"1183:5:4"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"1172:7:4"}]}]},"name":"cleanup_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"1144:5:4","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"1154:7:4","type":""}],"src":"1117:77:4"},{"body":{"nodeType":"YulBlock","src":"1243:79:4","statements":[{"body":{"nodeType":"YulBlock","src":"1300:16:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1309:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1312:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1302:6:4"},"nodeType":"YulFunctionCall","src":"1302:12:4"},"nodeType":"YulExpressionStatement","src":"1302:12:4"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1266:5:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1291:5:4"}],"functionName":{"name":"cleanup_t_bytes32","nodeType":"YulIdentifier","src":"1273:17:4"},"nodeType":"YulFunctionCall","src":"1273:24:4"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"1263:2:4"},"nodeType":"YulFunctionCall","src":"1263:35:4"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1256:6:4"},"nodeType":"YulFunctionCall","src":"1256:43:4"},"nodeType":"YulIf","src":"1253:63:4"}]},"name":"validator_revert_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"1236:5:4","type":""}],"src":"1200:122:4"},{"body":{"nodeType":"YulBlock","src":"1380:87:4","statements":[{"nodeType":"YulAssignment","src":"1390:29:4","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1412:6:4"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1399:12:4"},"nodeType":"YulFunctionCall","src":"1399:20:4"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"1390:5:4"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1455:5:4"}],"functionName":{"name":"validator_revert_t_bytes32","nodeType":"YulIdentifier","src":"1428:26:4"},"nodeType":"YulFunctionCall","src":"1428:33:4"},"nodeType":"YulExpressionStatement","src":"1428:33:4"}]},"name":"abi_decode_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"1358:6:4","type":""},{"name":"end","nodeType":"YulTypedName","src":"1366:3:4","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"1374:5:4","type":""}],"src":"1328:139:4"},{"body":{"nodeType":"YulBlock","src":"1573:519:4","statements":[{"body":{"nodeType":"YulBlock","src":"1619:83:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"1621:77:4"},"nodeType":"YulFunctionCall","src":"1621:79:4"},"nodeType":"YulExpressionStatement","src":"1621:79:4"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1594:7:4"},{"name":"headStart","nodeType":"YulIdentifier","src":"1603:9:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1590:3:4"},"nodeType":"YulFunctionCall","src":"1590:23:4"},{"kind":"number","nodeType":"YulLiteral","src":"1615:2:4","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1586:3:4"},"nodeType":"YulFunctionCall","src":"1586:32:4"},"nodeType":"YulIf","src":"1583:119:4"},{"nodeType":"YulBlock","src":"1712:117:4","statements":[{"nodeType":"YulVariableDeclaration","src":"1727:15:4","value":{"kind":"number","nodeType":"YulLiteral","src":"1741:1:4","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"1731:6:4","type":""}]},{"nodeType":"YulAssignment","src":"1756:63:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1791:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"1802:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1787:3:4"},"nodeType":"YulFunctionCall","src":"1787:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1811:7:4"}],"functionName":{"name":"abi_decode_t_uint256","nodeType":"YulIdentifier","src":"1766:20:4"},"nodeType":"YulFunctionCall","src":"1766:53:4"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1756:6:4"}]}]},{"nodeType":"YulBlock","src":"1839:118:4","statements":[{"nodeType":"YulVariableDeclaration","src":"1854:16:4","value":{"kind":"number","nodeType":"YulLiteral","src":"1868:2:4","type":"","value":"32"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"1858:6:4","type":""}]},{"nodeType":"YulAssignment","src":"1884:63:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1919:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"1930:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1915:3:4"},"nodeType":"YulFunctionCall","src":"1915:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1939:7:4"}],"functionName":{"name":"abi_decode_t_uint256","nodeType":"YulIdentifier","src":"1894:20:4"},"nodeType":"YulFunctionCall","src":"1894:53:4"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"1884:6:4"}]}]},{"nodeType":"YulBlock","src":"1967:118:4","statements":[{"nodeType":"YulVariableDeclaration","src":"1982:16:4","value":{"kind":"number","nodeType":"YulLiteral","src":"1996:2:4","type":"","value":"64"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"1986:6:4","type":""}]},{"nodeType":"YulAssignment","src":"2012:63:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2047:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"2058:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2043:3:4"},"nodeType":"YulFunctionCall","src":"2043:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"2067:7:4"}],"functionName":{"name":"abi_decode_t_bytes32","nodeType":"YulIdentifier","src":"2022:20:4"},"nodeType":"YulFunctionCall","src":"2022:53:4"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"2012:6:4"}]}]}]},"name":"abi_decode_tuple_t_uint256t_uint256t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1527:9:4","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1538:7:4","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1550:6:4","type":""},{"name":"value1","nodeType":"YulTypedName","src":"1558:6:4","type":""},{"name":"value2","nodeType":"YulTypedName","src":"1566:6:4","type":""}],"src":"1473:619:4"},{"body":{"nodeType":"YulBlock","src":"2163:53:4","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2180:3:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2203:5:4"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"2185:17:4"},"nodeType":"YulFunctionCall","src":"2185:24:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2173:6:4"},"nodeType":"YulFunctionCall","src":"2173:37:4"},"nodeType":"YulExpressionStatement","src":"2173:37:4"}]},"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"2151:5:4","type":""},{"name":"pos","nodeType":"YulTypedName","src":"2158:3:4","type":""}],"src":"2098:118:4"},{"body":{"nodeType":"YulBlock","src":"2320:124:4","statements":[{"nodeType":"YulAssignment","src":"2330:26:4","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2342:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"2353:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2338:3:4"},"nodeType":"YulFunctionCall","src":"2338:18:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"2330:4:4"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"2410:6:4"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2423:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"2434:1:4","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2419:3:4"},"nodeType":"YulFunctionCall","src":"2419:17:4"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"2366:43:4"},"nodeType":"YulFunctionCall","src":"2366:71:4"},"nodeType":"YulExpressionStatement","src":"2366:71:4"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2292:9:4","type":""},{"name":"value0","nodeType":"YulTypedName","src":"2304:6:4","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"2315:4:4","type":""}],"src":"2222:222:4"},{"body":{"nodeType":"YulBlock","src":"2567:648:4","statements":[{"body":{"nodeType":"YulBlock","src":"2614:83:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"2616:77:4"},"nodeType":"YulFunctionCall","src":"2616:79:4"},"nodeType":"YulExpressionStatement","src":"2616:79:4"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"2588:7:4"},{"name":"headStart","nodeType":"YulIdentifier","src":"2597:9:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2584:3:4"},"nodeType":"YulFunctionCall","src":"2584:23:4"},{"kind":"number","nodeType":"YulLiteral","src":"2609:3:4","type":"","value":"128"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2580:3:4"},"nodeType":"YulFunctionCall","src":"2580:33:4"},"nodeType":"YulIf","src":"2577:120:4"},{"nodeType":"YulBlock","src":"2707:117:4","statements":[{"nodeType":"YulVariableDeclaration","src":"2722:15:4","value":{"kind":"number","nodeType":"YulLiteral","src":"2736:1:4","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"2726:6:4","type":""}]},{"nodeType":"YulAssignment","src":"2751:63:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2786:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"2797:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2782:3:4"},"nodeType":"YulFunctionCall","src":"2782:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"2806:7:4"}],"functionName":{"name":"abi_decode_t_uint256","nodeType":"YulIdentifier","src":"2761:20:4"},"nodeType":"YulFunctionCall","src":"2761:53:4"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"2751:6:4"}]}]},{"nodeType":"YulBlock","src":"2834:118:4","statements":[{"nodeType":"YulVariableDeclaration","src":"2849:16:4","value":{"kind":"number","nodeType":"YulLiteral","src":"2863:2:4","type":"","value":"32"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"2853:6:4","type":""}]},{"nodeType":"YulAssignment","src":"2879:63:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2914:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"2925:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2910:3:4"},"nodeType":"YulFunctionCall","src":"2910:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"2934:7:4"}],"functionName":{"name":"abi_decode_t_uint256","nodeType":"YulIdentifier","src":"2889:20:4"},"nodeType":"YulFunctionCall","src":"2889:53:4"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"2879:6:4"}]}]},{"nodeType":"YulBlock","src":"2962:118:4","statements":[{"nodeType":"YulVariableDeclaration","src":"2977:16:4","value":{"kind":"number","nodeType":"YulLiteral","src":"2991:2:4","type":"","value":"64"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"2981:6:4","type":""}]},{"nodeType":"YulAssignment","src":"3007:63:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3042:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"3053:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3038:3:4"},"nodeType":"YulFunctionCall","src":"3038:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"3062:7:4"}],"functionName":{"name":"abi_decode_t_uint256","nodeType":"YulIdentifier","src":"3017:20:4"},"nodeType":"YulFunctionCall","src":"3017:53:4"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"3007:6:4"}]}]},{"nodeType":"YulBlock","src":"3090:118:4","statements":[{"nodeType":"YulVariableDeclaration","src":"3105:16:4","value":{"kind":"number","nodeType":"YulLiteral","src":"3119:2:4","type":"","value":"96"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"3109:6:4","type":""}]},{"nodeType":"YulAssignment","src":"3135:63:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3170:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"3181:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3166:3:4"},"nodeType":"YulFunctionCall","src":"3166:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"3190:7:4"}],"functionName":{"name":"abi_decode_t_bytes32","nodeType":"YulIdentifier","src":"3145:20:4"},"nodeType":"YulFunctionCall","src":"3145:53:4"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"3135:6:4"}]}]}]},"name":"abi_decode_tuple_t_uint256t_uint256t_uint256t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2513:9:4","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"2524:7:4","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"2536:6:4","type":""},{"name":"value1","nodeType":"YulTypedName","src":"2544:6:4","type":""},{"name":"value2","nodeType":"YulTypedName","src":"2552:6:4","type":""},{"name":"value3","nodeType":"YulTypedName","src":"2560:6:4","type":""}],"src":"2450:765:4"},{"body":{"nodeType":"YulBlock","src":"3266:81:4","statements":[{"nodeType":"YulAssignment","src":"3276:65:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3291:5:4"},{"kind":"number","nodeType":"YulLiteral","src":"3298:42:4","type":"","value":"0xffffffffffffffffffffffffffffffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"3287:3:4"},"nodeType":"YulFunctionCall","src":"3287:54:4"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"3276:7:4"}]}]},"name":"cleanup_t_uint160","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"3248:5:4","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"3258:7:4","type":""}],"src":"3221:126:4"},{"body":{"nodeType":"YulBlock","src":"3398:51:4","statements":[{"nodeType":"YulAssignment","src":"3408:35:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3437:5:4"}],"functionName":{"name":"cleanup_t_uint160","nodeType":"YulIdentifier","src":"3419:17:4"},"nodeType":"YulFunctionCall","src":"3419:24:4"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"3408:7:4"}]}]},"name":"cleanup_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"3380:5:4","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"3390:7:4","type":""}],"src":"3353:96:4"},{"body":{"nodeType":"YulBlock","src":"3520:53:4","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"3537:3:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3560:5:4"}],"functionName":{"name":"cleanup_t_address","nodeType":"YulIdentifier","src":"3542:17:4"},"nodeType":"YulFunctionCall","src":"3542:24:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3530:6:4"},"nodeType":"YulFunctionCall","src":"3530:37:4"},"nodeType":"YulExpressionStatement","src":"3530:37:4"}]},"name":"abi_encode_t_address_to_t_address_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"3508:5:4","type":""},{"name":"pos","nodeType":"YulTypedName","src":"3515:3:4","type":""}],"src":"3455:118:4"},{"body":{"nodeType":"YulBlock","src":"3677:124:4","statements":[{"nodeType":"YulAssignment","src":"3687:26:4","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3699:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"3710:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3695:3:4"},"nodeType":"YulFunctionCall","src":"3695:18:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3687:4:4"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"3767:6:4"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3780:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"3791:1:4","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3776:3:4"},"nodeType":"YulFunctionCall","src":"3776:17:4"}],"functionName":{"name":"abi_encode_t_address_to_t_address_fromStack","nodeType":"YulIdentifier","src":"3723:43:4"},"nodeType":"YulFunctionCall","src":"3723:71:4"},"nodeType":"YulExpressionStatement","src":"3723:71:4"}]},"name":"abi_encode_tuple_t_address__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3649:9:4","type":""},{"name":"value0","nodeType":"YulTypedName","src":"3661:6:4","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"3672:4:4","type":""}],"src":"3579:222:4"},{"body":{"nodeType":"YulBlock","src":"3896:28:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3913:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3916:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3906:6:4"},"nodeType":"YulFunctionCall","src":"3906:12:4"},"nodeType":"YulExpressionStatement","src":"3906:12:4"}]},"name":"revert_error_21fe6b43b4db61d76a176e95bf1a6b9ede4c301f93a4246f41fecb96e160861d","nodeType":"YulFunctionDefinition","src":"3807:117:4"},{"body":{"nodeType":"YulBlock","src":"4058:152:4","statements":[{"body":{"nodeType":"YulBlock","src":"4097:83:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_21fe6b43b4db61d76a176e95bf1a6b9ede4c301f93a4246f41fecb96e160861d","nodeType":"YulIdentifier","src":"4099:77:4"},"nodeType":"YulFunctionCall","src":"4099:79:4"},"nodeType":"YulExpressionStatement","src":"4099:79:4"}]},"condition":{"arguments":[{"arguments":[{"name":"end","nodeType":"YulIdentifier","src":"4079:3:4"},{"name":"offset","nodeType":"YulIdentifier","src":"4084:6:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4075:3:4"},"nodeType":"YulFunctionCall","src":"4075:16:4"},{"kind":"number","nodeType":"YulLiteral","src":"4093:2:4","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"4071:3:4"},"nodeType":"YulFunctionCall","src":"4071:25:4"},"nodeType":"YulIf","src":"4068:112:4"},{"nodeType":"YulAssignment","src":"4189:15:4","value":{"name":"offset","nodeType":"YulIdentifier","src":"4198:6:4"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"4189:5:4"}]}]},"name":"abi_decode_t_struct$_OracleAttestationData_$369_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"4036:6:4","type":""},{"name":"end","nodeType":"YulTypedName","src":"4044:3:4","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"4052:5:4","type":""}],"src":"3966:244:4"},{"body":{"nodeType":"YulBlock","src":"4305:28:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4322:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4325:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4315:6:4"},"nodeType":"YulFunctionCall","src":"4315:12:4"},"nodeType":"YulExpressionStatement","src":"4315:12:4"}]},"name":"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d","nodeType":"YulFunctionDefinition","src":"4216:117:4"},{"body":{"nodeType":"YulBlock","src":"4428:28:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4445:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4448:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4438:6:4"},"nodeType":"YulFunctionCall","src":"4438:12:4"},"nodeType":"YulExpressionStatement","src":"4438:12:4"}]},"name":"revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490","nodeType":"YulFunctionDefinition","src":"4339:117:4"},{"body":{"nodeType":"YulBlock","src":"4551:28:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4568:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4571:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4561:6:4"},"nodeType":"YulFunctionCall","src":"4561:12:4"},"nodeType":"YulExpressionStatement","src":"4561:12:4"}]},"name":"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef","nodeType":"YulFunctionDefinition","src":"4462:117:4"},{"body":{"nodeType":"YulBlock","src":"4729:478:4","statements":[{"body":{"nodeType":"YulBlock","src":"4778:83:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d","nodeType":"YulIdentifier","src":"4780:77:4"},"nodeType":"YulFunctionCall","src":"4780:79:4"},"nodeType":"YulExpressionStatement","src":"4780:79:4"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"4757:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"4765:4:4","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4753:3:4"},"nodeType":"YulFunctionCall","src":"4753:17:4"},{"name":"end","nodeType":"YulIdentifier","src":"4772:3:4"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"4749:3:4"},"nodeType":"YulFunctionCall","src":"4749:27:4"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"4742:6:4"},"nodeType":"YulFunctionCall","src":"4742:35:4"},"nodeType":"YulIf","src":"4739:122:4"},{"nodeType":"YulAssignment","src":"4870:30:4","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"4893:6:4"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4880:12:4"},"nodeType":"YulFunctionCall","src":"4880:20:4"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"4870:6:4"}]},{"body":{"nodeType":"YulBlock","src":"4943:83:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490","nodeType":"YulIdentifier","src":"4945:77:4"},"nodeType":"YulFunctionCall","src":"4945:79:4"},"nodeType":"YulExpressionStatement","src":"4945:79:4"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"4915:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"4923:18:4","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"4912:2:4"},"nodeType":"YulFunctionCall","src":"4912:30:4"},"nodeType":"YulIf","src":"4909:117:4"},{"nodeType":"YulAssignment","src":"5035:29:4","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"5051:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"5059:4:4","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5047:3:4"},"nodeType":"YulFunctionCall","src":"5047:17:4"},"variableNames":[{"name":"arrayPos","nodeType":"YulIdentifier","src":"5035:8:4"}]},{"body":{"nodeType":"YulBlock","src":"5118:83:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef","nodeType":"YulIdentifier","src":"5120:77:4"},"nodeType":"YulFunctionCall","src":"5120:79:4"},"nodeType":"YulExpressionStatement","src":"5120:79:4"}]},"condition":{"arguments":[{"arguments":[{"name":"arrayPos","nodeType":"YulIdentifier","src":"5083:8:4"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"5097:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"5105:4:4","type":"","value":"0x40"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"5093:3:4"},"nodeType":"YulFunctionCall","src":"5093:17:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5079:3:4"},"nodeType":"YulFunctionCall","src":"5079:32:4"},{"name":"end","nodeType":"YulIdentifier","src":"5113:3:4"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5076:2:4"},"nodeType":"YulFunctionCall","src":"5076:41:4"},"nodeType":"YulIf","src":"5073:128:4"}]},"name":"abi_decode_t_array$_t_struct$_Validator_$394_calldata_ptr_$dyn_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"4696:6:4","type":""},{"name":"end","nodeType":"YulTypedName","src":"4704:3:4","type":""}],"returnVariables":[{"name":"arrayPos","nodeType":"YulTypedName","src":"4712:8:4","type":""},{"name":"length","nodeType":"YulTypedName","src":"4722:6:4","type":""}],"src":"4611:596:4"},{"body":{"nodeType":"YulBlock","src":"5357:478:4","statements":[{"body":{"nodeType":"YulBlock","src":"5406:83:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d","nodeType":"YulIdentifier","src":"5408:77:4"},"nodeType":"YulFunctionCall","src":"5408:79:4"},"nodeType":"YulExpressionStatement","src":"5408:79:4"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"5385:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"5393:4:4","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5381:3:4"},"nodeType":"YulFunctionCall","src":"5381:17:4"},{"name":"end","nodeType":"YulIdentifier","src":"5400:3:4"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"5377:3:4"},"nodeType":"YulFunctionCall","src":"5377:27:4"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"5370:6:4"},"nodeType":"YulFunctionCall","src":"5370:35:4"},"nodeType":"YulIf","src":"5367:122:4"},{"nodeType":"YulAssignment","src":"5498:30:4","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"5521:6:4"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"5508:12:4"},"nodeType":"YulFunctionCall","src":"5508:20:4"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"5498:6:4"}]},{"body":{"nodeType":"YulBlock","src":"5571:83:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490","nodeType":"YulIdentifier","src":"5573:77:4"},"nodeType":"YulFunctionCall","src":"5573:79:4"},"nodeType":"YulExpressionStatement","src":"5573:79:4"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"5543:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"5551:18:4","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5540:2:4"},"nodeType":"YulFunctionCall","src":"5540:30:4"},"nodeType":"YulIf","src":"5537:117:4"},{"nodeType":"YulAssignment","src":"5663:29:4","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"5679:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"5687:4:4","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5675:3:4"},"nodeType":"YulFunctionCall","src":"5675:17:4"},"variableNames":[{"name":"arrayPos","nodeType":"YulIdentifier","src":"5663:8:4"}]},{"body":{"nodeType":"YulBlock","src":"5746:83:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef","nodeType":"YulIdentifier","src":"5748:77:4"},"nodeType":"YulFunctionCall","src":"5748:79:4"},"nodeType":"YulExpressionStatement","src":"5748:79:4"}]},"condition":{"arguments":[{"arguments":[{"name":"arrayPos","nodeType":"YulIdentifier","src":"5711:8:4"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"5725:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"5733:4:4","type":"","value":"0x60"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"5721:3:4"},"nodeType":"YulFunctionCall","src":"5721:17:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5707:3:4"},"nodeType":"YulFunctionCall","src":"5707:32:4"},{"name":"end","nodeType":"YulIdentifier","src":"5741:3:4"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5704:2:4"},"nodeType":"YulFunctionCall","src":"5704:41:4"},"nodeType":"YulIf","src":"5701:128:4"}]},"name":"abi_decode_t_array$_t_struct$_Signature_$389_calldata_ptr_$dyn_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"5324:6:4","type":""},{"name":"end","nodeType":"YulTypedName","src":"5332:3:4","type":""}],"returnVariables":[{"name":"arrayPos","nodeType":"YulTypedName","src":"5340:8:4","type":""},{"name":"length","nodeType":"YulTypedName","src":"5350:6:4","type":""}],"src":"5239:596:4"},{"body":{"nodeType":"YulBlock","src":"6107:1165:4","statements":[{"body":{"nodeType":"YulBlock","src":"6153:83:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"6155:77:4"},"nodeType":"YulFunctionCall","src":"6155:79:4"},"nodeType":"YulExpressionStatement","src":"6155:79:4"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"6128:7:4"},{"name":"headStart","nodeType":"YulIdentifier","src":"6137:9:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"6124:3:4"},"nodeType":"YulFunctionCall","src":"6124:23:4"},{"kind":"number","nodeType":"YulLiteral","src":"6149:2:4","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"6120:3:4"},"nodeType":"YulFunctionCall","src":"6120:32:4"},"nodeType":"YulIf","src":"6117:119:4"},{"nodeType":"YulBlock","src":"6246:317:4","statements":[{"nodeType":"YulVariableDeclaration","src":"6261:45:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6292:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"6303:1:4","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6288:3:4"},"nodeType":"YulFunctionCall","src":"6288:17:4"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"6275:12:4"},"nodeType":"YulFunctionCall","src":"6275:31:4"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"6265:6:4","type":""}]},{"body":{"nodeType":"YulBlock","src":"6353:83:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulIdentifier","src":"6355:77:4"},"nodeType":"YulFunctionCall","src":"6355:79:4"},"nodeType":"YulExpressionStatement","src":"6355:79:4"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"6325:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"6333:18:4","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"6322:2:4"},"nodeType":"YulFunctionCall","src":"6322:30:4"},"nodeType":"YulIf","src":"6319:117:4"},{"nodeType":"YulAssignment","src":"6450:103:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6525:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"6536:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6521:3:4"},"nodeType":"YulFunctionCall","src":"6521:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"6545:7:4"}],"functionName":{"name":"abi_decode_t_struct$_OracleAttestationData_$369_calldata_ptr","nodeType":"YulIdentifier","src":"6460:60:4"},"nodeType":"YulFunctionCall","src":"6460:93:4"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"6450:6:4"}]}]},{"nodeType":"YulBlock","src":"6573:341:4","statements":[{"nodeType":"YulVariableDeclaration","src":"6588:46:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6619:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"6630:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6615:3:4"},"nodeType":"YulFunctionCall","src":"6615:18:4"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"6602:12:4"},"nodeType":"YulFunctionCall","src":"6602:32:4"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"6592:6:4","type":""}]},{"body":{"nodeType":"YulBlock","src":"6681:83:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulIdentifier","src":"6683:77:4"},"nodeType":"YulFunctionCall","src":"6683:79:4"},"nodeType":"YulExpressionStatement","src":"6683:79:4"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"6653:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"6661:18:4","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"6650:2:4"},"nodeType":"YulFunctionCall","src":"6650:30:4"},"nodeType":"YulIf","src":"6647:117:4"},{"nodeType":"YulAssignment","src":"6778:126:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6876:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"6887:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6872:3:4"},"nodeType":"YulFunctionCall","src":"6872:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"6896:7:4"}],"functionName":{"name":"abi_decode_t_array$_t_struct$_Validator_$394_calldata_ptr_$dyn_calldata_ptr","nodeType":"YulIdentifier","src":"6796:75:4"},"nodeType":"YulFunctionCall","src":"6796:108:4"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"6778:6:4"},{"name":"value2","nodeType":"YulIdentifier","src":"6786:6:4"}]}]},{"nodeType":"YulBlock","src":"6924:341:4","statements":[{"nodeType":"YulVariableDeclaration","src":"6939:46:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6970:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"6981:2:4","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6966:3:4"},"nodeType":"YulFunctionCall","src":"6966:18:4"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"6953:12:4"},"nodeType":"YulFunctionCall","src":"6953:32:4"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"6943:6:4","type":""}]},{"body":{"nodeType":"YulBlock","src":"7032:83:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulIdentifier","src":"7034:77:4"},"nodeType":"YulFunctionCall","src":"7034:79:4"},"nodeType":"YulExpressionStatement","src":"7034:79:4"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"7004:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"7012:18:4","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"7001:2:4"},"nodeType":"YulFunctionCall","src":"7001:30:4"},"nodeType":"YulIf","src":"6998:117:4"},{"nodeType":"YulAssignment","src":"7129:126:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7227:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"7238:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7223:3:4"},"nodeType":"YulFunctionCall","src":"7223:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"7247:7:4"}],"functionName":{"name":"abi_decode_t_array$_t_struct$_Signature_$389_calldata_ptr_$dyn_calldata_ptr","nodeType":"YulIdentifier","src":"7147:75:4"},"nodeType":"YulFunctionCall","src":"7147:108:4"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"7129:6:4"},{"name":"value4","nodeType":"YulIdentifier","src":"7137:6:4"}]}]}]},"name":"abi_decode_tuple_t_struct$_OracleAttestationData_$369_calldata_ptrt_array$_t_struct$_Validator_$394_calldata_ptr_$dyn_calldata_ptrt_array$_t_struct$_Signature_$389_calldata_ptr_$dyn_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6045:9:4","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"6056:7:4","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"6068:6:4","type":""},{"name":"value1","nodeType":"YulTypedName","src":"6076:6:4","type":""},{"name":"value2","nodeType":"YulTypedName","src":"6084:6:4","type":""},{"name":"value3","nodeType":"YulTypedName","src":"6092:6:4","type":""},{"name":"value4","nodeType":"YulTypedName","src":"6100:6:4","type":""}],"src":"5841:1431:4"},{"body":{"nodeType":"YulBlock","src":"7322:57:4","statements":[{"nodeType":"YulAssignment","src":"7332:41:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7347:5:4"},{"kind":"number","nodeType":"YulLiteral","src":"7354:18:4","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"7343:3:4"},"nodeType":"YulFunctionCall","src":"7343:30:4"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"7332:7:4"}]}]},"name":"cleanup_t_uint64","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"7304:5:4","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"7314:7:4","type":""}],"src":"7278:101:4"},{"body":{"nodeType":"YulBlock","src":"7427:78:4","statements":[{"body":{"nodeType":"YulBlock","src":"7483:16:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7492:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7495:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7485:6:4"},"nodeType":"YulFunctionCall","src":"7485:12:4"},"nodeType":"YulExpressionStatement","src":"7485:12:4"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7450:5:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7474:5:4"}],"functionName":{"name":"cleanup_t_uint64","nodeType":"YulIdentifier","src":"7457:16:4"},"nodeType":"YulFunctionCall","src":"7457:23:4"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"7447:2:4"},"nodeType":"YulFunctionCall","src":"7447:34:4"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"7440:6:4"},"nodeType":"YulFunctionCall","src":"7440:42:4"},"nodeType":"YulIf","src":"7437:62:4"}]},"name":"validator_revert_t_uint64","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"7420:5:4","type":""}],"src":"7385:120:4"},{"body":{"nodeType":"YulBlock","src":"7562:86:4","statements":[{"nodeType":"YulAssignment","src":"7572:29:4","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"7594:6:4"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"7581:12:4"},"nodeType":"YulFunctionCall","src":"7581:20:4"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"7572:5:4"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7636:5:4"}],"functionName":{"name":"validator_revert_t_uint64","nodeType":"YulIdentifier","src":"7610:25:4"},"nodeType":"YulFunctionCall","src":"7610:32:4"},"nodeType":"YulExpressionStatement","src":"7610:32:4"}]},"name":"abi_decode_t_uint64","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"7540:6:4","type":""},{"name":"end","nodeType":"YulTypedName","src":"7548:3:4","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"7556:5:4","type":""}],"src":"7511:137:4"},{"body":{"nodeType":"YulBlock","src":"7913:1222:4","statements":[{"body":{"nodeType":"YulBlock","src":"7960:83:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"7962:77:4"},"nodeType":"YulFunctionCall","src":"7962:79:4"},"nodeType":"YulExpressionStatement","src":"7962:79:4"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"7934:7:4"},{"name":"headStart","nodeType":"YulIdentifier","src":"7943:9:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"7930:3:4"},"nodeType":"YulFunctionCall","src":"7930:23:4"},{"kind":"number","nodeType":"YulLiteral","src":"7955:3:4","type":"","value":"160"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"7926:3:4"},"nodeType":"YulFunctionCall","src":"7926:33:4"},"nodeType":"YulIf","src":"7923:120:4"},{"nodeType":"YulBlock","src":"8053:117:4","statements":[{"nodeType":"YulVariableDeclaration","src":"8068:15:4","value":{"kind":"number","nodeType":"YulLiteral","src":"8082:1:4","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"8072:6:4","type":""}]},{"nodeType":"YulAssignment","src":"8097:63:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8132:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"8143:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8128:3:4"},"nodeType":"YulFunctionCall","src":"8128:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"8152:7:4"}],"functionName":{"name":"abi_decode_t_bytes32","nodeType":"YulIdentifier","src":"8107:20:4"},"nodeType":"YulFunctionCall","src":"8107:53:4"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"8097:6:4"}]}]},{"nodeType":"YulBlock","src":"8180:117:4","statements":[{"nodeType":"YulVariableDeclaration","src":"8195:16:4","value":{"kind":"number","nodeType":"YulLiteral","src":"8209:2:4","type":"","value":"32"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"8199:6:4","type":""}]},{"nodeType":"YulAssignment","src":"8225:62:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8259:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"8270:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8255:3:4"},"nodeType":"YulFunctionCall","src":"8255:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"8279:7:4"}],"functionName":{"name":"abi_decode_t_uint64","nodeType":"YulIdentifier","src":"8235:19:4"},"nodeType":"YulFunctionCall","src":"8235:52:4"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"8225:6:4"}]}]},{"nodeType":"YulBlock","src":"8307:118:4","statements":[{"nodeType":"YulVariableDeclaration","src":"8322:16:4","value":{"kind":"number","nodeType":"YulLiteral","src":"8336:2:4","type":"","value":"64"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"8326:6:4","type":""}]},{"nodeType":"YulAssignment","src":"8352:63:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8387:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"8398:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8383:3:4"},"nodeType":"YulFunctionCall","src":"8383:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"8407:7:4"}],"functionName":{"name":"abi_decode_t_uint256","nodeType":"YulIdentifier","src":"8362:20:4"},"nodeType":"YulFunctionCall","src":"8362:53:4"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"8352:6:4"}]}]},{"nodeType":"YulBlock","src":"8435:341:4","statements":[{"nodeType":"YulVariableDeclaration","src":"8450:46:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8481:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"8492:2:4","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8477:3:4"},"nodeType":"YulFunctionCall","src":"8477:18:4"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"8464:12:4"},"nodeType":"YulFunctionCall","src":"8464:32:4"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"8454:6:4","type":""}]},{"body":{"nodeType":"YulBlock","src":"8543:83:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulIdentifier","src":"8545:77:4"},"nodeType":"YulFunctionCall","src":"8545:79:4"},"nodeType":"YulExpressionStatement","src":"8545:79:4"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"8515:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"8523:18:4","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"8512:2:4"},"nodeType":"YulFunctionCall","src":"8512:30:4"},"nodeType":"YulIf","src":"8509:117:4"},{"nodeType":"YulAssignment","src":"8640:126:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8738:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"8749:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8734:3:4"},"nodeType":"YulFunctionCall","src":"8734:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"8758:7:4"}],"functionName":{"name":"abi_decode_t_array$_t_struct$_Validator_$394_calldata_ptr_$dyn_calldata_ptr","nodeType":"YulIdentifier","src":"8658:75:4"},"nodeType":"YulFunctionCall","src":"8658:108:4"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"8640:6:4"},{"name":"value4","nodeType":"YulIdentifier","src":"8648:6:4"}]}]},{"nodeType":"YulBlock","src":"8786:342:4","statements":[{"nodeType":"YulVariableDeclaration","src":"8801:47:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8832:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"8843:3:4","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8828:3:4"},"nodeType":"YulFunctionCall","src":"8828:19:4"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"8815:12:4"},"nodeType":"YulFunctionCall","src":"8815:33:4"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"8805:6:4","type":""}]},{"body":{"nodeType":"YulBlock","src":"8895:83:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulIdentifier","src":"8897:77:4"},"nodeType":"YulFunctionCall","src":"8897:79:4"},"nodeType":"YulExpressionStatement","src":"8897:79:4"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"8867:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"8875:18:4","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"8864:2:4"},"nodeType":"YulFunctionCall","src":"8864:30:4"},"nodeType":"YulIf","src":"8861:117:4"},{"nodeType":"YulAssignment","src":"8992:126:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9090:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"9101:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9086:3:4"},"nodeType":"YulFunctionCall","src":"9086:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"9110:7:4"}],"functionName":{"name":"abi_decode_t_array$_t_struct$_Signature_$389_calldata_ptr_$dyn_calldata_ptr","nodeType":"YulIdentifier","src":"9010:75:4"},"nodeType":"YulFunctionCall","src":"9010:108:4"},"variableNames":[{"name":"value5","nodeType":"YulIdentifier","src":"8992:6:4"},{"name":"value6","nodeType":"YulIdentifier","src":"9000:6:4"}]}]}]},"name":"abi_decode_tuple_t_bytes32t_uint64t_uint256t_array$_t_struct$_Validator_$394_calldata_ptr_$dyn_calldata_ptrt_array$_t_struct$_Signature_$389_calldata_ptr_$dyn_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7835:9:4","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"7846:7:4","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"7858:6:4","type":""},{"name":"value1","nodeType":"YulTypedName","src":"7866:6:4","type":""},{"name":"value2","nodeType":"YulTypedName","src":"7874:6:4","type":""},{"name":"value3","nodeType":"YulTypedName","src":"7882:6:4","type":""},{"name":"value4","nodeType":"YulTypedName","src":"7890:6:4","type":""},{"name":"value5","nodeType":"YulTypedName","src":"7898:6:4","type":""},{"name":"value6","nodeType":"YulTypedName","src":"7906:6:4","type":""}],"src":"7654:1481:4"},{"body":{"nodeType":"YulBlock","src":"9206:53:4","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"9223:3:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"9246:5:4"}],"functionName":{"name":"cleanup_t_bytes32","nodeType":"YulIdentifier","src":"9228:17:4"},"nodeType":"YulFunctionCall","src":"9228:24:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9216:6:4"},"nodeType":"YulFunctionCall","src":"9216:37:4"},"nodeType":"YulExpressionStatement","src":"9216:37:4"}]},"name":"abi_encode_t_bytes32_to_t_bytes32_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"9194:5:4","type":""},{"name":"pos","nodeType":"YulTypedName","src":"9201:3:4","type":""}],"src":"9141:118:4"},{"body":{"nodeType":"YulBlock","src":"9363:124:4","statements":[{"nodeType":"YulAssignment","src":"9373:26:4","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9385:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"9396:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9381:3:4"},"nodeType":"YulFunctionCall","src":"9381:18:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"9373:4:4"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"9453:6:4"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9466:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"9477:1:4","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9462:3:4"},"nodeType":"YulFunctionCall","src":"9462:17:4"}],"functionName":{"name":"abi_encode_t_bytes32_to_t_bytes32_fromStack","nodeType":"YulIdentifier","src":"9409:43:4"},"nodeType":"YulFunctionCall","src":"9409:71:4"},"nodeType":"YulExpressionStatement","src":"9409:71:4"}]},"name":"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"9335:9:4","type":""},{"name":"value0","nodeType":"YulTypedName","src":"9347:6:4","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"9358:4:4","type":""}],"src":"9265:222:4"},{"body":{"nodeType":"YulBlock","src":"9521:152:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9538:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"9541:77:4","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9531:6:4"},"nodeType":"YulFunctionCall","src":"9531:88:4"},"nodeType":"YulExpressionStatement","src":"9531:88:4"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9635:1:4","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"9638:4:4","type":"","value":"0x12"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9628:6:4"},"nodeType":"YulFunctionCall","src":"9628:15:4"},"nodeType":"YulExpressionStatement","src":"9628:15:4"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9659:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"9662:4:4","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"9652:6:4"},"nodeType":"YulFunctionCall","src":"9652:15:4"},"nodeType":"YulExpressionStatement","src":"9652:15:4"}]},"name":"panic_error_0x12","nodeType":"YulFunctionDefinition","src":"9493:180:4"},{"body":{"nodeType":"YulBlock","src":"9707:152:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9724:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"9727:77:4","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9717:6:4"},"nodeType":"YulFunctionCall","src":"9717:88:4"},"nodeType":"YulExpressionStatement","src":"9717:88:4"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9821:1:4","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"9824:4:4","type":"","value":"0x11"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9814:6:4"},"nodeType":"YulFunctionCall","src":"9814:15:4"},"nodeType":"YulExpressionStatement","src":"9814:15:4"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9845:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"9848:4:4","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"9838:6:4"},"nodeType":"YulFunctionCall","src":"9838:15:4"},"nodeType":"YulExpressionStatement","src":"9838:15:4"}]},"name":"panic_error_0x11","nodeType":"YulFunctionDefinition","src":"9679:180:4"},{"body":{"nodeType":"YulBlock","src":"9907:143:4","statements":[{"nodeType":"YulAssignment","src":"9917:25:4","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"9940:1:4"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"9922:17:4"},"nodeType":"YulFunctionCall","src":"9922:20:4"},"variableNames":[{"name":"x","nodeType":"YulIdentifier","src":"9917:1:4"}]},{"nodeType":"YulAssignment","src":"9951:25:4","value":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"9974:1:4"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"9956:17:4"},"nodeType":"YulFunctionCall","src":"9956:20:4"},"variableNames":[{"name":"y","nodeType":"YulIdentifier","src":"9951:1:4"}]},{"body":{"nodeType":"YulBlock","src":"9998:22:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x12","nodeType":"YulIdentifier","src":"10000:16:4"},"nodeType":"YulFunctionCall","src":"10000:18:4"},"nodeType":"YulExpressionStatement","src":"10000:18:4"}]},"condition":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"9995:1:4"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"9988:6:4"},"nodeType":"YulFunctionCall","src":"9988:9:4"},"nodeType":"YulIf","src":"9985:35:4"},{"nodeType":"YulAssignment","src":"10030:14:4","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"10039:1:4"},{"name":"y","nodeType":"YulIdentifier","src":"10042:1:4"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"10035:3:4"},"nodeType":"YulFunctionCall","src":"10035:9:4"},"variableNames":[{"name":"r","nodeType":"YulIdentifier","src":"10030:1:4"}]}]},"name":"checked_div_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"9896:1:4","type":""},{"name":"y","nodeType":"YulTypedName","src":"9899:1:4","type":""}],"returnVariables":[{"name":"r","nodeType":"YulTypedName","src":"9905:1:4","type":""}],"src":"9865:185:4"},{"body":{"nodeType":"YulBlock","src":"10101:149:4","statements":[{"nodeType":"YulAssignment","src":"10111:25:4","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"10134:1:4"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"10116:17:4"},"nodeType":"YulFunctionCall","src":"10116:20:4"},"variableNames":[{"name":"x","nodeType":"YulIdentifier","src":"10111:1:4"}]},{"nodeType":"YulAssignment","src":"10145:25:4","value":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"10168:1:4"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"10150:17:4"},"nodeType":"YulFunctionCall","src":"10150:20:4"},"variableNames":[{"name":"y","nodeType":"YulIdentifier","src":"10145:1:4"}]},{"nodeType":"YulAssignment","src":"10179:17:4","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"10191:1:4"},{"name":"y","nodeType":"YulIdentifier","src":"10194:1:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"10187:3:4"},"nodeType":"YulFunctionCall","src":"10187:9:4"},"variableNames":[{"name":"diff","nodeType":"YulIdentifier","src":"10179:4:4"}]},{"body":{"nodeType":"YulBlock","src":"10221:22:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"10223:16:4"},"nodeType":"YulFunctionCall","src":"10223:18:4"},"nodeType":"YulExpressionStatement","src":"10223:18:4"}]},"condition":{"arguments":[{"name":"diff","nodeType":"YulIdentifier","src":"10212:4:4"},{"name":"x","nodeType":"YulIdentifier","src":"10218:1:4"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"10209:2:4"},"nodeType":"YulFunctionCall","src":"10209:11:4"},"nodeType":"YulIf","src":"10206:37:4"}]},"name":"checked_sub_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"10087:1:4","type":""},{"name":"y","nodeType":"YulTypedName","src":"10090:1:4","type":""}],"returnVariables":[{"name":"diff","nodeType":"YulTypedName","src":"10096:4:4","type":""}],"src":"10056:194:4"},{"body":{"nodeType":"YulBlock","src":"10410:288:4","statements":[{"nodeType":"YulAssignment","src":"10420:26:4","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10432:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"10443:2:4","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10428:3:4"},"nodeType":"YulFunctionCall","src":"10428:18:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"10420:4:4"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"10500:6:4"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10513:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"10524:1:4","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10509:3:4"},"nodeType":"YulFunctionCall","src":"10509:17:4"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"10456:43:4"},"nodeType":"YulFunctionCall","src":"10456:71:4"},"nodeType":"YulExpressionStatement","src":"10456:71:4"},{"expression":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"10581:6:4"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10594:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"10605:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10590:3:4"},"nodeType":"YulFunctionCall","src":"10590:18:4"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"10537:43:4"},"nodeType":"YulFunctionCall","src":"10537:72:4"},"nodeType":"YulExpressionStatement","src":"10537:72:4"},{"expression":{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"10663:6:4"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10676:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"10687:2:4","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10672:3:4"},"nodeType":"YulFunctionCall","src":"10672:18:4"}],"functionName":{"name":"abi_encode_t_bytes32_to_t_bytes32_fromStack","nodeType":"YulIdentifier","src":"10619:43:4"},"nodeType":"YulFunctionCall","src":"10619:72:4"},"nodeType":"YulExpressionStatement","src":"10619:72:4"}]},"name":"abi_encode_tuple_t_uint256_t_uint256_t_bytes32__to_t_uint256_t_uint256_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"10366:9:4","type":""},{"name":"value2","nodeType":"YulTypedName","src":"10378:6:4","type":""},{"name":"value1","nodeType":"YulTypedName","src":"10386:6:4","type":""},{"name":"value0","nodeType":"YulTypedName","src":"10394:6:4","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"10405:4:4","type":""}],"src":"10256:442:4"},{"body":{"nodeType":"YulBlock","src":"10841:73:4","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"10858:3:4"},{"name":"length","nodeType":"YulIdentifier","src":"10863:6:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10851:6:4"},"nodeType":"YulFunctionCall","src":"10851:19:4"},"nodeType":"YulExpressionStatement","src":"10851:19:4"},{"nodeType":"YulAssignment","src":"10879:29:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"10898:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"10903:4:4","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10894:3:4"},"nodeType":"YulFunctionCall","src":"10894:14:4"},"variableNames":[{"name":"updated_pos","nodeType":"YulIdentifier","src":"10879:11:4"}]}]},"name":"array_storeLengthForEncoding_t_array$_t_struct$_Validator_$394_memory_ptr_$dyn_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"10813:3:4","type":""},{"name":"length","nodeType":"YulTypedName","src":"10818:6:4","type":""}],"returnVariables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"10829:11:4","type":""}],"src":"10704:210:4"},{"body":{"nodeType":"YulBlock","src":"11022:28:4","statements":[{"nodeType":"YulAssignment","src":"11032:11:4","value":{"name":"ptr","nodeType":"YulIdentifier","src":"11040:3:4"},"variableNames":[{"name":"data","nodeType":"YulIdentifier","src":"11032:4:4"}]}]},"name":"array_dataslot_t_array$_t_struct$_Validator_$394_calldata_ptr_$dyn_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"ptr","nodeType":"YulTypedName","src":"11009:3:4","type":""}],"returnVariables":[{"name":"data","nodeType":"YulTypedName","src":"11017:4:4","type":""}],"src":"10920:130:4"},{"body":{"nodeType":"YulBlock","src":"11099:79:4","statements":[{"body":{"nodeType":"YulBlock","src":"11156:16:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11165:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"11168:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"11158:6:4"},"nodeType":"YulFunctionCall","src":"11158:12:4"},"nodeType":"YulExpressionStatement","src":"11158:12:4"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"11122:5:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"11147:5:4"}],"functionName":{"name":"cleanup_t_address","nodeType":"YulIdentifier","src":"11129:17:4"},"nodeType":"YulFunctionCall","src":"11129:24:4"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"11119:2:4"},"nodeType":"YulFunctionCall","src":"11119:35:4"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"11112:6:4"},"nodeType":"YulFunctionCall","src":"11112:43:4"},"nodeType":"YulIf","src":"11109:63:4"}]},"name":"validator_revert_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"11092:5:4","type":""}],"src":"11056:122:4"},{"body":{"nodeType":"YulBlock","src":"11236:87:4","statements":[{"nodeType":"YulAssignment","src":"11246:29:4","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"11268:6:4"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"11255:12:4"},"nodeType":"YulFunctionCall","src":"11255:20:4"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"11246:5:4"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"11311:5:4"}],"functionName":{"name":"validator_revert_t_address","nodeType":"YulIdentifier","src":"11284:26:4"},"nodeType":"YulFunctionCall","src":"11284:33:4"},"nodeType":"YulExpressionStatement","src":"11284:33:4"}]},"name":"abi_decode_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"11214:6:4","type":""},{"name":"end","nodeType":"YulTypedName","src":"11222:3:4","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"11230:5:4","type":""}],"src":"11184:139:4"},{"body":{"nodeType":"YulBlock","src":"11387:64:4","statements":[{"nodeType":"YulAssignment","src":"11397:48:4","value":{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"11427:3:4"},{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"11436:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"11441:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11432:3:4"},"nodeType":"YulFunctionCall","src":"11432:12:4"}],"functionName":{"name":"abi_decode_t_address","nodeType":"YulIdentifier","src":"11406:20:4"},"nodeType":"YulFunctionCall","src":"11406:39:4"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"11397:5:4"}]}]},"name":"calldata_access_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"baseRef","nodeType":"YulTypedName","src":"11364:7:4","type":""},{"name":"ptr","nodeType":"YulTypedName","src":"11373:3:4","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"11381:5:4","type":""}],"src":"11329:122:4"},{"body":{"nodeType":"YulBlock","src":"11512:53:4","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"11529:3:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"11552:5:4"}],"functionName":{"name":"cleanup_t_address","nodeType":"YulIdentifier","src":"11534:17:4"},"nodeType":"YulFunctionCall","src":"11534:24:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11522:6:4"},"nodeType":"YulFunctionCall","src":"11522:37:4"},"nodeType":"YulExpressionStatement","src":"11522:37:4"}]},"name":"abi_encode_t_address_to_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"11500:5:4","type":""},{"name":"pos","nodeType":"YulTypedName","src":"11507:3:4","type":""}],"src":"11457:108:4"},{"body":{"nodeType":"YulBlock","src":"11629:64:4","statements":[{"nodeType":"YulAssignment","src":"11639:48:4","value":{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"11669:3:4"},{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"11678:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"11683:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11674:3:4"},"nodeType":"YulFunctionCall","src":"11674:12:4"}],"functionName":{"name":"abi_decode_t_uint256","nodeType":"YulIdentifier","src":"11648:20:4"},"nodeType":"YulFunctionCall","src":"11648:39:4"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"11639:5:4"}]}]},"name":"calldata_access_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"baseRef","nodeType":"YulTypedName","src":"11606:7:4","type":""},{"name":"ptr","nodeType":"YulTypedName","src":"11615:3:4","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"11623:5:4","type":""}],"src":"11571:122:4"},{"body":{"nodeType":"YulBlock","src":"11754:53:4","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"11771:3:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"11794:5:4"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"11776:17:4"},"nodeType":"YulFunctionCall","src":"11776:24:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11764:6:4"},"nodeType":"YulFunctionCall","src":"11764:37:4"},"nodeType":"YulExpressionStatement","src":"11764:37:4"}]},"name":"abi_encode_t_uint256_to_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"11742:5:4","type":""},{"name":"pos","nodeType":"YulTypedName","src":"11749:3:4","type":""}],"src":"11699:108:4"},{"body":{"nodeType":"YulBlock","src":"11967:446:4","statements":[{"nodeType":"YulVariableDeclaration","src":"11977:26:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"11993:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"11998:4:4","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11989:3:4"},"nodeType":"YulFunctionCall","src":"11989:14:4"},"variables":[{"name":"tail","nodeType":"YulTypedName","src":"11981:4:4","type":""}]},{"nodeType":"YulBlock","src":"12013:191:4","statements":[{"nodeType":"YulVariableDeclaration","src":"12048:70:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"12094:5:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"12105:5:4"},{"kind":"number","nodeType":"YulLiteral","src":"12112:4:4","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12101:3:4"},"nodeType":"YulFunctionCall","src":"12101:16:4"}],"functionName":{"name":"calldata_access_t_address","nodeType":"YulIdentifier","src":"12068:25:4"},"nodeType":"YulFunctionCall","src":"12068:50:4"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"12052:12:4","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"12165:12:4"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"12183:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"12188:4:4","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12179:3:4"},"nodeType":"YulFunctionCall","src":"12179:14:4"}],"functionName":{"name":"abi_encode_t_address_to_t_address","nodeType":"YulIdentifier","src":"12131:33:4"},"nodeType":"YulFunctionCall","src":"12131:63:4"},"nodeType":"YulExpressionStatement","src":"12131:63:4"}]},{"nodeType":"YulBlock","src":"12214:192:4","statements":[{"nodeType":"YulVariableDeclaration","src":"12250:70:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"12296:5:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"12307:5:4"},{"kind":"number","nodeType":"YulLiteral","src":"12314:4:4","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12303:3:4"},"nodeType":"YulFunctionCall","src":"12303:16:4"}],"functionName":{"name":"calldata_access_t_uint256","nodeType":"YulIdentifier","src":"12270:25:4"},"nodeType":"YulFunctionCall","src":"12270:50:4"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"12254:12:4","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"12367:12:4"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"12385:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"12390:4:4","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12381:3:4"},"nodeType":"YulFunctionCall","src":"12381:14:4"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256","nodeType":"YulIdentifier","src":"12333:33:4"},"nodeType":"YulFunctionCall","src":"12333:63:4"},"nodeType":"YulExpressionStatement","src":"12333:63:4"}]}]},"name":"abi_encode_t_struct$_Validator_$394_calldata_ptr_to_t_struct$_Validator_$394_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"11954:5:4","type":""},{"name":"pos","nodeType":"YulTypedName","src":"11961:3:4","type":""}],"src":"11857:556:4"},{"body":{"nodeType":"YulBlock","src":"12553:153:4","statements":[{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"12651:6:4"},{"name":"pos","nodeType":"YulIdentifier","src":"12659:3:4"}],"functionName":{"name":"abi_encode_t_struct$_Validator_$394_calldata_ptr_to_t_struct$_Validator_$394_memory_ptr","nodeType":"YulIdentifier","src":"12563:87:4"},"nodeType":"YulFunctionCall","src":"12563:100:4"},"nodeType":"YulExpressionStatement","src":"12563:100:4"},{"nodeType":"YulAssignment","src":"12672:28:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"12690:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"12695:4:4","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12686:3:4"},"nodeType":"YulFunctionCall","src":"12686:14:4"},"variableNames":[{"name":"updatedPos","nodeType":"YulIdentifier","src":"12672:10:4"}]}]},"name":"abi_encodeUpdatedPos_t_struct$_Validator_$394_calldata_ptr_to_t_struct$_Validator_$394_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"value0","nodeType":"YulTypedName","src":"12526:6:4","type":""},{"name":"pos","nodeType":"YulTypedName","src":"12534:3:4","type":""}],"returnVariables":[{"name":"updatedPos","nodeType":"YulTypedName","src":"12542:10:4","type":""}],"src":"12419:287:4"},{"body":{"nodeType":"YulBlock","src":"12798:28:4","statements":[{"nodeType":"YulAssignment","src":"12808:12:4","value":{"name":"ptr","nodeType":"YulIdentifier","src":"12817:3:4"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"12808:5:4"}]}]},"name":"calldata_access_t_struct$_Validator_$394_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"baseRef","nodeType":"YulTypedName","src":"12775:7:4","type":""},{"name":"ptr","nodeType":"YulTypedName","src":"12784:3:4","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"12792:5:4","type":""}],"src":"12712:114:4"},{"body":{"nodeType":"YulBlock","src":"12937:38:4","statements":[{"nodeType":"YulAssignment","src":"12947:22:4","value":{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"12959:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"12964:4:4","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12955:3:4"},"nodeType":"YulFunctionCall","src":"12955:14:4"},"variableNames":[{"name":"next","nodeType":"YulIdentifier","src":"12947:4:4"}]}]},"name":"array_nextElement_t_array$_t_struct$_Validator_$394_calldata_ptr_$dyn_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"ptr","nodeType":"YulTypedName","src":"12924:3:4","type":""}],"returnVariables":[{"name":"next","nodeType":"YulTypedName","src":"12932:4:4","type":""}],"src":"12832:143:4"},{"body":{"nodeType":"YulBlock","src":"13217:729:4","statements":[{"nodeType":"YulAssignment","src":"13228:119:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"13335:3:4"},{"name":"length","nodeType":"YulIdentifier","src":"13340:6:4"}],"functionName":{"name":"array_storeLengthForEncoding_t_array$_t_struct$_Validator_$394_memory_ptr_$dyn_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"13235:99:4"},"nodeType":"YulFunctionCall","src":"13235:112:4"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"13228:3:4"}]},{"nodeType":"YulVariableDeclaration","src":"13356:101:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"13451:5:4"}],"functionName":{"name":"array_dataslot_t_array$_t_struct$_Validator_$394_calldata_ptr_$dyn_calldata_ptr","nodeType":"YulIdentifier","src":"13371:79:4"},"nodeType":"YulFunctionCall","src":"13371:86:4"},"variables":[{"name":"baseRef","nodeType":"YulTypedName","src":"13360:7:4","type":""}]},{"nodeType":"YulVariableDeclaration","src":"13466:21:4","value":{"name":"baseRef","nodeType":"YulIdentifier","src":"13480:7:4"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"13470:6:4","type":""}]},{"body":{"nodeType":"YulBlock","src":"13556:365:4","statements":[{"nodeType":"YulVariableDeclaration","src":"13570:91:4","value":{"arguments":[{"name":"baseRef","nodeType":"YulIdentifier","src":"13645:7:4"},{"name":"srcPtr","nodeType":"YulIdentifier","src":"13654:6:4"}],"functionName":{"name":"calldata_access_t_struct$_Validator_$394_calldata_ptr","nodeType":"YulIdentifier","src":"13591:53:4"},"nodeType":"YulFunctionCall","src":"13591:70:4"},"variables":[{"name":"elementValue0","nodeType":"YulTypedName","src":"13574:13:4","type":""}]},{"nodeType":"YulAssignment","src":"13674:124:4","value":{"arguments":[{"name":"elementValue0","nodeType":"YulIdentifier","src":"13779:13:4"},{"name":"pos","nodeType":"YulIdentifier","src":"13794:3:4"}],"functionName":{"name":"abi_encodeUpdatedPos_t_struct$_Validator_$394_calldata_ptr_to_t_struct$_Validator_$394_memory_ptr","nodeType":"YulIdentifier","src":"13681:97:4"},"nodeType":"YulFunctionCall","src":"13681:117:4"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"13674:3:4"}]},{"nodeType":"YulAssignment","src":"13811:100:4","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"13904:6:4"}],"functionName":{"name":"array_nextElement_t_array$_t_struct$_Validator_$394_calldata_ptr_$dyn_calldata_ptr","nodeType":"YulIdentifier","src":"13821:82:4"},"nodeType":"YulFunctionCall","src":"13821:90:4"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"13811:6:4"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"13518:1:4"},{"name":"length","nodeType":"YulIdentifier","src":"13521:6:4"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"13515:2:4"},"nodeType":"YulFunctionCall","src":"13515:13:4"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"13529:18:4","statements":[{"nodeType":"YulAssignment","src":"13531:14:4","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"13540:1:4"},{"kind":"number","nodeType":"YulLiteral","src":"13543:1:4","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13536:3:4"},"nodeType":"YulFunctionCall","src":"13536:9:4"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"13531:1:4"}]}]},"pre":{"nodeType":"YulBlock","src":"13500:14:4","statements":[{"nodeType":"YulVariableDeclaration","src":"13502:10:4","value":{"kind":"number","nodeType":"YulLiteral","src":"13511:1:4","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"13506:1:4","type":""}]}]},"src":"13496:425:4"},{"nodeType":"YulAssignment","src":"13930:10:4","value":{"name":"pos","nodeType":"YulIdentifier","src":"13937:3:4"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"13930:3:4"}]}]},"name":"abi_encode_t_array$_t_struct$_Validator_$394_calldata_ptr_$dyn_calldata_ptr_to_t_array$_t_struct$_Validator_$394_memory_ptr_$dyn_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"13188:5:4","type":""},{"name":"length","nodeType":"YulTypedName","src":"13195:6:4","type":""},{"name":"pos","nodeType":"YulTypedName","src":"13203:3:4","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"13212:3:4","type":""}],"src":"13029:917:4"},{"body":{"nodeType":"YulBlock","src":"14164:289:4","statements":[{"nodeType":"YulAssignment","src":"14174:26:4","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14186:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"14197:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14182:3:4"},"nodeType":"YulFunctionCall","src":"14182:18:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"14174:4:4"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14221:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"14232:1:4","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14217:3:4"},"nodeType":"YulFunctionCall","src":"14217:17:4"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"14240:4:4"},{"name":"headStart","nodeType":"YulIdentifier","src":"14246:9:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"14236:3:4"},"nodeType":"YulFunctionCall","src":"14236:20:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14210:6:4"},"nodeType":"YulFunctionCall","src":"14210:47:4"},"nodeType":"YulExpressionStatement","src":"14210:47:4"},{"nodeType":"YulAssignment","src":"14266:180:4","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"14424:6:4"},{"name":"value1","nodeType":"YulIdentifier","src":"14432:6:4"},{"name":"tail","nodeType":"YulIdentifier","src":"14441:4:4"}],"functionName":{"name":"abi_encode_t_array$_t_struct$_Validator_$394_calldata_ptr_$dyn_calldata_ptr_to_t_array$_t_struct$_Validator_$394_memory_ptr_$dyn_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"14274:149:4"},"nodeType":"YulFunctionCall","src":"14274:172:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"14266:4:4"}]}]},"name":"abi_encode_tuple_t_array$_t_struct$_Validator_$394_calldata_ptr_$dyn_calldata_ptr__to_t_array$_t_struct$_Validator_$394_memory_ptr_$dyn_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"14128:9:4","type":""},{"name":"value1","nodeType":"YulTypedName","src":"14140:6:4","type":""},{"name":"value0","nodeType":"YulTypedName","src":"14148:6:4","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"14159:4:4","type":""}],"src":"13952:501:4"},{"body":{"nodeType":"YulBlock","src":"14548:28:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14565:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"14568:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"14558:6:4"},"nodeType":"YulFunctionCall","src":"14558:12:4"},"nodeType":"YulExpressionStatement","src":"14558:12:4"}]},"name":"revert_error_356d538aaf70fba12156cc466564b792649f8f3befb07b071c91142253e175ad","nodeType":"YulFunctionDefinition","src":"14459:117:4"},{"body":{"nodeType":"YulBlock","src":"14671:28:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14688:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"14691:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"14681:6:4"},"nodeType":"YulFunctionCall","src":"14681:12:4"},"nodeType":"YulExpressionStatement","src":"14681:12:4"}]},"name":"revert_error_1e55d03107e9c4f1b5e21c76a16fba166a461117ab153bcce65e6a4ea8e5fc8a","nodeType":"YulFunctionDefinition","src":"14582:117:4"},{"body":{"nodeType":"YulBlock","src":"14794:28:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14811:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"14814:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"14804:6:4"},"nodeType":"YulFunctionCall","src":"14804:12:4"},"nodeType":"YulExpressionStatement","src":"14804:12:4"}]},"name":"revert_error_977805620ff29572292dee35f70b0f3f3f73d3fdd0e9f4d7a901c2e43ab18a2e","nodeType":"YulFunctionDefinition","src":"14705:117:4"},{"body":{"nodeType":"YulBlock","src":"14928:295:4","statements":[{"nodeType":"YulVariableDeclaration","src":"14938:51:4","value":{"arguments":[{"name":"ptr_to_tail","nodeType":"YulIdentifier","src":"14977:11:4"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"14964:12:4"},"nodeType":"YulFunctionCall","src":"14964:25:4"},"variables":[{"name":"rel_offset_of_tail","nodeType":"YulTypedName","src":"14942:18:4","type":""}]},{"body":{"nodeType":"YulBlock","src":"15083:83:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_356d538aaf70fba12156cc466564b792649f8f3befb07b071c91142253e175ad","nodeType":"YulIdentifier","src":"15085:77:4"},"nodeType":"YulFunctionCall","src":"15085:79:4"},"nodeType":"YulExpressionStatement","src":"15085:79:4"}]},"condition":{"arguments":[{"arguments":[{"name":"rel_offset_of_tail","nodeType":"YulIdentifier","src":"15012:18:4"},{"arguments":[{"arguments":[{"arguments":[],"functionName":{"name":"calldatasize","nodeType":"YulIdentifier","src":"15040:12:4"},"nodeType":"YulFunctionCall","src":"15040:14:4"},{"name":"base_ref","nodeType":"YulIdentifier","src":"15056:8:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"15036:3:4"},"nodeType":"YulFunctionCall","src":"15036:29:4"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"15071:4:4","type":"","value":"0xc0"},{"kind":"number","nodeType":"YulLiteral","src":"15077:1:4","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"15067:3:4"},"nodeType":"YulFunctionCall","src":"15067:12:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"15032:3:4"},"nodeType":"YulFunctionCall","src":"15032:48:4"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"15008:3:4"},"nodeType":"YulFunctionCall","src":"15008:73:4"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"15001:6:4"},"nodeType":"YulFunctionCall","src":"15001:81:4"},"nodeType":"YulIf","src":"14998:168:4"},{"nodeType":"YulAssignment","src":"15175:41:4","value":{"arguments":[{"name":"base_ref","nodeType":"YulIdentifier","src":"15187:8:4"},{"name":"rel_offset_of_tail","nodeType":"YulIdentifier","src":"15197:18:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15183:3:4"},"nodeType":"YulFunctionCall","src":"15183:33:4"},"variableNames":[{"name":"addr","nodeType":"YulIdentifier","src":"15175:4:4"}]}]},"name":"access_calldata_tail_t_struct$_ReportData_$382_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"base_ref","nodeType":"YulTypedName","src":"14897:8:4","type":""},{"name":"ptr_to_tail","nodeType":"YulTypedName","src":"14907:11:4","type":""}],"returnVariables":[{"name":"addr","nodeType":"YulTypedName","src":"14923:4:4","type":""}],"src":"14828:395:4"},{"body":{"nodeType":"YulBlock","src":"15319:634:4","statements":[{"nodeType":"YulVariableDeclaration","src":"15329:51:4","value":{"arguments":[{"name":"ptr_to_tail","nodeType":"YulIdentifier","src":"15368:11:4"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"15355:12:4"},"nodeType":"YulFunctionCall","src":"15355:25:4"},"variables":[{"name":"rel_offset_of_tail","nodeType":"YulTypedName","src":"15333:18:4","type":""}]},{"body":{"nodeType":"YulBlock","src":"15474:83:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_356d538aaf70fba12156cc466564b792649f8f3befb07b071c91142253e175ad","nodeType":"YulIdentifier","src":"15476:77:4"},"nodeType":"YulFunctionCall","src":"15476:79:4"},"nodeType":"YulExpressionStatement","src":"15476:79:4"}]},"condition":{"arguments":[{"arguments":[{"name":"rel_offset_of_tail","nodeType":"YulIdentifier","src":"15403:18:4"},{"arguments":[{"arguments":[{"arguments":[],"functionName":{"name":"calldatasize","nodeType":"YulIdentifier","src":"15431:12:4"},"nodeType":"YulFunctionCall","src":"15431:14:4"},{"name":"base_ref","nodeType":"YulIdentifier","src":"15447:8:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"15427:3:4"},"nodeType":"YulFunctionCall","src":"15427:29:4"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"15462:4:4","type":"","value":"0x20"},{"kind":"number","nodeType":"YulLiteral","src":"15468:1:4","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"15458:3:4"},"nodeType":"YulFunctionCall","src":"15458:12:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"15423:3:4"},"nodeType":"YulFunctionCall","src":"15423:48:4"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"15399:3:4"},"nodeType":"YulFunctionCall","src":"15399:73:4"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"15392:6:4"},"nodeType":"YulFunctionCall","src":"15392:81:4"},"nodeType":"YulIf","src":"15389:168:4"},{"nodeType":"YulAssignment","src":"15566:41:4","value":{"arguments":[{"name":"base_ref","nodeType":"YulIdentifier","src":"15578:8:4"},{"name":"rel_offset_of_tail","nodeType":"YulIdentifier","src":"15588:18:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15574:3:4"},"nodeType":"YulFunctionCall","src":"15574:33:4"},"variableNames":[{"name":"addr","nodeType":"YulIdentifier","src":"15566:4:4"}]},{"nodeType":"YulAssignment","src":"15617:28:4","value":{"arguments":[{"name":"addr","nodeType":"YulIdentifier","src":"15640:4:4"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"15627:12:4"},"nodeType":"YulFunctionCall","src":"15627:18:4"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"15617:6:4"}]},{"body":{"nodeType":"YulBlock","src":"15688:83:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_1e55d03107e9c4f1b5e21c76a16fba166a461117ab153bcce65e6a4ea8e5fc8a","nodeType":"YulIdentifier","src":"15690:77:4"},"nodeType":"YulFunctionCall","src":"15690:79:4"},"nodeType":"YulExpressionStatement","src":"15690:79:4"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"15660:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"15668:18:4","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"15657:2:4"},"nodeType":"YulFunctionCall","src":"15657:30:4"},"nodeType":"YulIf","src":"15654:117:4"},{"nodeType":"YulAssignment","src":"15780:21:4","value":{"arguments":[{"name":"addr","nodeType":"YulIdentifier","src":"15792:4:4"},{"kind":"number","nodeType":"YulLiteral","src":"15798:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15788:3:4"},"nodeType":"YulFunctionCall","src":"15788:13:4"},"variableNames":[{"name":"addr","nodeType":"YulIdentifier","src":"15780:4:4"}]},{"body":{"nodeType":"YulBlock","src":"15863:83:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_977805620ff29572292dee35f70b0f3f3f73d3fdd0e9f4d7a901c2e43ab18a2e","nodeType":"YulIdentifier","src":"15865:77:4"},"nodeType":"YulFunctionCall","src":"15865:79:4"},"nodeType":"YulExpressionStatement","src":"15865:79:4"}]},"condition":{"arguments":[{"name":"addr","nodeType":"YulIdentifier","src":"15817:4:4"},{"arguments":[{"arguments":[],"functionName":{"name":"calldatasize","nodeType":"YulIdentifier","src":"15827:12:4"},"nodeType":"YulFunctionCall","src":"15827:14:4"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"15847:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"15855:4:4","type":"","value":"0x01"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"15843:3:4"},"nodeType":"YulFunctionCall","src":"15843:17:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"15823:3:4"},"nodeType":"YulFunctionCall","src":"15823:38:4"}],"functionName":{"name":"sgt","nodeType":"YulIdentifier","src":"15813:3:4"},"nodeType":"YulFunctionCall","src":"15813:49:4"},"nodeType":"YulIf","src":"15810:136:4"}]},"name":"access_calldata_tail_t_bytes_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"base_ref","nodeType":"YulTypedName","src":"15280:8:4","type":""},{"name":"ptr_to_tail","nodeType":"YulTypedName","src":"15290:11:4","type":""}],"returnVariables":[{"name":"addr","nodeType":"YulTypedName","src":"15306:4:4","type":""},{"name":"length","nodeType":"YulTypedName","src":"15312:6:4","type":""}],"src":"15229:724:4"},{"body":{"nodeType":"YulBlock","src":"16054:73:4","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"16071:3:4"},{"name":"length","nodeType":"YulIdentifier","src":"16076:6:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16064:6:4"},"nodeType":"YulFunctionCall","src":"16064:19:4"},"nodeType":"YulExpressionStatement","src":"16064:19:4"},{"nodeType":"YulAssignment","src":"16092:29:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"16111:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"16116:4:4","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16107:3:4"},"nodeType":"YulFunctionCall","src":"16107:14:4"},"variableNames":[{"name":"updated_pos","nodeType":"YulIdentifier","src":"16092:11:4"}]}]},"name":"array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"16026:3:4","type":""},{"name":"length","nodeType":"YulTypedName","src":"16031:6:4","type":""}],"returnVariables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"16042:11:4","type":""}],"src":"15959:168:4"},{"body":{"nodeType":"YulBlock","src":"16197:82:4","statements":[{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"16220:3:4"},{"name":"src","nodeType":"YulIdentifier","src":"16225:3:4"},{"name":"length","nodeType":"YulIdentifier","src":"16230:6:4"}],"functionName":{"name":"calldatacopy","nodeType":"YulIdentifier","src":"16207:12:4"},"nodeType":"YulFunctionCall","src":"16207:30:4"},"nodeType":"YulExpressionStatement","src":"16207:30:4"},{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"16257:3:4"},{"name":"length","nodeType":"YulIdentifier","src":"16262:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16253:3:4"},"nodeType":"YulFunctionCall","src":"16253:16:4"},{"kind":"number","nodeType":"YulLiteral","src":"16271:1:4","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16246:6:4"},"nodeType":"YulFunctionCall","src":"16246:27:4"},"nodeType":"YulExpressionStatement","src":"16246:27:4"}]},"name":"copy_calldata_to_memory_with_cleanup","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"16179:3:4","type":""},{"name":"dst","nodeType":"YulTypedName","src":"16184:3:4","type":""},{"name":"length","nodeType":"YulTypedName","src":"16189:6:4","type":""}],"src":"16133:146:4"},{"body":{"nodeType":"YulBlock","src":"16333:54:4","statements":[{"nodeType":"YulAssignment","src":"16343:38:4","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"16361:5:4"},{"kind":"number","nodeType":"YulLiteral","src":"16368:2:4","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16357:3:4"},"nodeType":"YulFunctionCall","src":"16357:14:4"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"16377:2:4","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"16373:3:4"},"nodeType":"YulFunctionCall","src":"16373:7:4"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"16353:3:4"},"nodeType":"YulFunctionCall","src":"16353:28:4"},"variableNames":[{"name":"result","nodeType":"YulIdentifier","src":"16343:6:4"}]}]},"name":"round_up_to_mul_of_32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"16316:5:4","type":""}],"returnVariables":[{"name":"result","nodeType":"YulTypedName","src":"16326:6:4","type":""}],"src":"16285:102:4"},{"body":{"nodeType":"YulBlock","src":"16515:214:4","statements":[{"nodeType":"YulAssignment","src":"16525:77:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"16590:3:4"},{"name":"length","nodeType":"YulIdentifier","src":"16595:6:4"}],"functionName":{"name":"array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"16532:57:4"},"nodeType":"YulFunctionCall","src":"16532:70:4"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"16525:3:4"}]},{"expression":{"arguments":[{"name":"start","nodeType":"YulIdentifier","src":"16649:5:4"},{"name":"pos","nodeType":"YulIdentifier","src":"16656:3:4"},{"name":"length","nodeType":"YulIdentifier","src":"16661:6:4"}],"functionName":{"name":"copy_calldata_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"16612:36:4"},"nodeType":"YulFunctionCall","src":"16612:56:4"},"nodeType":"YulExpressionStatement","src":"16612:56:4"},{"nodeType":"YulAssignment","src":"16677:46:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"16688:3:4"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"16715:6:4"}],"functionName":{"name":"round_up_to_mul_of_32","nodeType":"YulIdentifier","src":"16693:21:4"},"nodeType":"YulFunctionCall","src":"16693:29:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16684:3:4"},"nodeType":"YulFunctionCall","src":"16684:39:4"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"16677:3:4"}]}]},"name":"abi_encode_t_bytes_calldata_ptr_to_t_bytes_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"start","nodeType":"YulTypedName","src":"16488:5:4","type":""},{"name":"length","nodeType":"YulTypedName","src":"16495:6:4","type":""},{"name":"pos","nodeType":"YulTypedName","src":"16503:3:4","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"16511:3:4","type":""}],"src":"16415:314:4"},{"body":{"nodeType":"YulBlock","src":"17114:949:4","statements":[{"nodeType":"YulAssignment","src":"17124:27:4","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17136:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"17147:3:4","type":"","value":"320"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17132:3:4"},"nodeType":"YulFunctionCall","src":"17132:19:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"17124:4:4"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"17205:6:4"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17218:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"17229:1:4","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17214:3:4"},"nodeType":"YulFunctionCall","src":"17214:17:4"}],"functionName":{"name":"abi_encode_t_bytes32_to_t_bytes32_fromStack","nodeType":"YulIdentifier","src":"17161:43:4"},"nodeType":"YulFunctionCall","src":"17161:71:4"},"nodeType":"YulExpressionStatement","src":"17161:71:4"},{"expression":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"17286:6:4"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17299:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"17310:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17295:3:4"},"nodeType":"YulFunctionCall","src":"17295:18:4"}],"functionName":{"name":"abi_encode_t_bytes32_to_t_bytes32_fromStack","nodeType":"YulIdentifier","src":"17242:43:4"},"nodeType":"YulFunctionCall","src":"17242:72:4"},"nodeType":"YulExpressionStatement","src":"17242:72:4"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17335:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"17346:2:4","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17331:3:4"},"nodeType":"YulFunctionCall","src":"17331:18:4"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"17355:4:4"},{"name":"headStart","nodeType":"YulIdentifier","src":"17361:9:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"17351:3:4"},"nodeType":"YulFunctionCall","src":"17351:20:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17324:6:4"},"nodeType":"YulFunctionCall","src":"17324:48:4"},"nodeType":"YulExpressionStatement","src":"17324:48:4"},{"nodeType":"YulAssignment","src":"17381:94:4","value":{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"17453:6:4"},{"name":"value3","nodeType":"YulIdentifier","src":"17461:6:4"},{"name":"tail","nodeType":"YulIdentifier","src":"17470:4:4"}],"functionName":{"name":"abi_encode_t_bytes_calldata_ptr_to_t_bytes_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"17389:63:4"},"nodeType":"YulFunctionCall","src":"17389:86:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"17381:4:4"}]},{"expression":{"arguments":[{"name":"value4","nodeType":"YulIdentifier","src":"17529:6:4"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17542:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"17553:2:4","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17538:3:4"},"nodeType":"YulFunctionCall","src":"17538:18:4"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"17485:43:4"},"nodeType":"YulFunctionCall","src":"17485:72:4"},"nodeType":"YulExpressionStatement","src":"17485:72:4"},{"expression":{"arguments":[{"name":"value5","nodeType":"YulIdentifier","src":"17611:6:4"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17624:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"17635:3:4","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17620:3:4"},"nodeType":"YulFunctionCall","src":"17620:19:4"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"17567:43:4"},"nodeType":"YulFunctionCall","src":"17567:73:4"},"nodeType":"YulExpressionStatement","src":"17567:73:4"},{"expression":{"arguments":[{"name":"value6","nodeType":"YulIdentifier","src":"17694:6:4"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17707:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"17718:3:4","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17703:3:4"},"nodeType":"YulFunctionCall","src":"17703:19:4"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"17650:43:4"},"nodeType":"YulFunctionCall","src":"17650:73:4"},"nodeType":"YulExpressionStatement","src":"17650:73:4"},{"expression":{"arguments":[{"name":"value7","nodeType":"YulIdentifier","src":"17777:6:4"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17790:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"17801:3:4","type":"","value":"192"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17786:3:4"},"nodeType":"YulFunctionCall","src":"17786:19:4"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"17733:43:4"},"nodeType":"YulFunctionCall","src":"17733:73:4"},"nodeType":"YulExpressionStatement","src":"17733:73:4"},{"expression":{"arguments":[{"name":"value8","nodeType":"YulIdentifier","src":"17860:6:4"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17873:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"17884:3:4","type":"","value":"224"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17869:3:4"},"nodeType":"YulFunctionCall","src":"17869:19:4"}],"functionName":{"name":"abi_encode_t_bytes32_to_t_bytes32_fromStack","nodeType":"YulIdentifier","src":"17816:43:4"},"nodeType":"YulFunctionCall","src":"17816:73:4"},"nodeType":"YulExpressionStatement","src":"17816:73:4"},{"expression":{"arguments":[{"name":"value9","nodeType":"YulIdentifier","src":"17943:6:4"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17956:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"17967:3:4","type":"","value":"256"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17952:3:4"},"nodeType":"YulFunctionCall","src":"17952:19:4"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"17899:43:4"},"nodeType":"YulFunctionCall","src":"17899:73:4"},"nodeType":"YulExpressionStatement","src":"17899:73:4"},{"expression":{"arguments":[{"name":"value10","nodeType":"YulIdentifier","src":"18026:7:4"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18040:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"18051:3:4","type":"","value":"288"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18036:3:4"},"nodeType":"YulFunctionCall","src":"18036:19:4"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"17982:43:4"},"nodeType":"YulFunctionCall","src":"17982:74:4"},"nodeType":"YulExpressionStatement","src":"17982:74:4"}]},"name":"abi_encode_tuple_t_bytes32_t_bytes32_t_bytes_calldata_ptr_t_uint256_t_uint256_t_uint256_t_uint256_t_bytes32_t_uint256_t_uint256__to_t_bytes32_t_bytes32_t_bytes_memory_ptr_t_uint256_t_uint256_t_uint256_t_uint256_t_bytes32_t_uint256_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"17005:9:4","type":""},{"name":"value10","nodeType":"YulTypedName","src":"17017:7:4","type":""},{"name":"value9","nodeType":"YulTypedName","src":"17026:6:4","type":""},{"name":"value8","nodeType":"YulTypedName","src":"17034:6:4","type":""},{"name":"value7","nodeType":"YulTypedName","src":"17042:6:4","type":""},{"name":"value6","nodeType":"YulTypedName","src":"17050:6:4","type":""},{"name":"value5","nodeType":"YulTypedName","src":"17058:6:4","type":""},{"name":"value4","nodeType":"YulTypedName","src":"17066:6:4","type":""},{"name":"value3","nodeType":"YulTypedName","src":"17074:6:4","type":""},{"name":"value2","nodeType":"YulTypedName","src":"17082:6:4","type":""},{"name":"value1","nodeType":"YulTypedName","src":"17090:6:4","type":""},{"name":"value0","nodeType":"YulTypedName","src":"17098:6:4","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"17109:4:4","type":""}],"src":"16735:1328:4"},{"body":{"nodeType":"YulBlock","src":"18101:28:4","statements":[{"nodeType":"YulAssignment","src":"18111:12:4","value":{"name":"value","nodeType":"YulIdentifier","src":"18118:5:4"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"18111:3:4"}]}]},"name":"identity","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"18087:5:4","type":""}],"returnVariables":[{"name":"ret","nodeType":"YulTypedName","src":"18097:3:4","type":""}],"src":"18069:60:4"},{"body":{"nodeType":"YulBlock","src":"18194:81:4","statements":[{"nodeType":"YulAssignment","src":"18204:65:4","value":{"arguments":[{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"18261:5:4"}],"functionName":{"name":"cleanup_t_uint64","nodeType":"YulIdentifier","src":"18244:16:4"},"nodeType":"YulFunctionCall","src":"18244:23:4"}],"functionName":{"name":"identity","nodeType":"YulIdentifier","src":"18235:8:4"},"nodeType":"YulFunctionCall","src":"18235:33:4"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"18217:17:4"},"nodeType":"YulFunctionCall","src":"18217:52:4"},"variableNames":[{"name":"converted","nodeType":"YulIdentifier","src":"18204:9:4"}]}]},"name":"convert_t_uint64_to_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"18174:5:4","type":""}],"returnVariables":[{"name":"converted","nodeType":"YulTypedName","src":"18184:9:4","type":""}],"src":"18135:140:4"},{"body":{"nodeType":"YulBlock","src":"18345:65:4","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"18362:3:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"18397:5:4"}],"functionName":{"name":"convert_t_uint64_to_t_uint256","nodeType":"YulIdentifier","src":"18367:29:4"},"nodeType":"YulFunctionCall","src":"18367:36:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18355:6:4"},"nodeType":"YulFunctionCall","src":"18355:49:4"},"nodeType":"YulExpressionStatement","src":"18355:49:4"}]},"name":"abi_encode_t_uint64_to_t_uint256_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"18333:5:4","type":""},{"name":"pos","nodeType":"YulTypedName","src":"18340:3:4","type":""}],"src":"18281:129:4"},{"body":{"nodeType":"YulBlock","src":"18569:287:4","statements":[{"nodeType":"YulAssignment","src":"18579:26:4","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18591:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"18602:2:4","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18587:3:4"},"nodeType":"YulFunctionCall","src":"18587:18:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"18579:4:4"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"18658:6:4"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18671:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"18682:1:4","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18667:3:4"},"nodeType":"YulFunctionCall","src":"18667:17:4"}],"functionName":{"name":"abi_encode_t_uint64_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"18615:42:4"},"nodeType":"YulFunctionCall","src":"18615:70:4"},"nodeType":"YulExpressionStatement","src":"18615:70:4"},{"expression":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"18739:6:4"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18752:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"18763:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18748:3:4"},"nodeType":"YulFunctionCall","src":"18748:18:4"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"18695:43:4"},"nodeType":"YulFunctionCall","src":"18695:72:4"},"nodeType":"YulExpressionStatement","src":"18695:72:4"},{"expression":{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"18821:6:4"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18834:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"18845:2:4","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18830:3:4"},"nodeType":"YulFunctionCall","src":"18830:18:4"}],"functionName":{"name":"abi_encode_t_bytes32_to_t_bytes32_fromStack","nodeType":"YulIdentifier","src":"18777:43:4"},"nodeType":"YulFunctionCall","src":"18777:72:4"},"nodeType":"YulExpressionStatement","src":"18777:72:4"}]},"name":"abi_encode_tuple_t_uint64_t_uint256_t_bytes32__to_t_uint256_t_uint256_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"18525:9:4","type":""},{"name":"value2","nodeType":"YulTypedName","src":"18537:6:4","type":""},{"name":"value1","nodeType":"YulTypedName","src":"18545:6:4","type":""},{"name":"value0","nodeType":"YulTypedName","src":"18553:6:4","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"18564:4:4","type":""}],"src":"18416:440:4"},{"body":{"nodeType":"YulBlock","src":"19044:371:4","statements":[{"nodeType":"YulAssignment","src":"19054:27:4","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19066:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"19077:3:4","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19062:3:4"},"nodeType":"YulFunctionCall","src":"19062:19:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"19054:4:4"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"19135:6:4"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19148:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"19159:1:4","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19144:3:4"},"nodeType":"YulFunctionCall","src":"19144:17:4"}],"functionName":{"name":"abi_encode_t_bytes32_to_t_bytes32_fromStack","nodeType":"YulIdentifier","src":"19091:43:4"},"nodeType":"YulFunctionCall","src":"19091:71:4"},"nodeType":"YulExpressionStatement","src":"19091:71:4"},{"expression":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"19216:6:4"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19229:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"19240:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19225:3:4"},"nodeType":"YulFunctionCall","src":"19225:18:4"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"19172:43:4"},"nodeType":"YulFunctionCall","src":"19172:72:4"},"nodeType":"YulExpressionStatement","src":"19172:72:4"},{"expression":{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"19298:6:4"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19311:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"19322:2:4","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19307:3:4"},"nodeType":"YulFunctionCall","src":"19307:18:4"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"19254:43:4"},"nodeType":"YulFunctionCall","src":"19254:72:4"},"nodeType":"YulExpressionStatement","src":"19254:72:4"},{"expression":{"arguments":[{"name":"value3","nodeType":"YulIdentifier","src":"19380:6:4"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19393:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"19404:2:4","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19389:3:4"},"nodeType":"YulFunctionCall","src":"19389:18:4"}],"functionName":{"name":"abi_encode_t_bytes32_to_t_bytes32_fromStack","nodeType":"YulIdentifier","src":"19336:43:4"},"nodeType":"YulFunctionCall","src":"19336:72:4"},"nodeType":"YulExpressionStatement","src":"19336:72:4"}]},"name":"abi_encode_tuple_t_bytes32_t_uint256_t_uint256_t_bytes32__to_t_bytes32_t_uint256_t_uint256_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"18992:9:4","type":""},{"name":"value3","nodeType":"YulTypedName","src":"19004:6:4","type":""},{"name":"value2","nodeType":"YulTypedName","src":"19012:6:4","type":""},{"name":"value1","nodeType":"YulTypedName","src":"19020:6:4","type":""},{"name":"value0","nodeType":"YulTypedName","src":"19028:6:4","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"19039:4:4","type":""}],"src":"18862:553:4"},{"body":{"nodeType":"YulBlock","src":"19449:152:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"19466:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"19469:77:4","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19459:6:4"},"nodeType":"YulFunctionCall","src":"19459:88:4"},"nodeType":"YulExpressionStatement","src":"19459:88:4"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"19563:1:4","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"19566:4:4","type":"","value":"0x32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19556:6:4"},"nodeType":"YulFunctionCall","src":"19556:15:4"},"nodeType":"YulExpressionStatement","src":"19556:15:4"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"19587:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"19590:4:4","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"19580:6:4"},"nodeType":"YulFunctionCall","src":"19580:15:4"},"nodeType":"YulExpressionStatement","src":"19580:15:4"}]},"name":"panic_error_0x32","nodeType":"YulFunctionDefinition","src":"19421:180:4"},{"body":{"nodeType":"YulBlock","src":"19650:43:4","statements":[{"nodeType":"YulAssignment","src":"19660:27:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"19675:5:4"},{"kind":"number","nodeType":"YulLiteral","src":"19682:4:4","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"19671:3:4"},"nodeType":"YulFunctionCall","src":"19671:16:4"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"19660:7:4"}]}]},"name":"cleanup_t_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"19632:5:4","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"19642:7:4","type":""}],"src":"19607:86:4"},{"body":{"nodeType":"YulBlock","src":"19740:77:4","statements":[{"body":{"nodeType":"YulBlock","src":"19795:16:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"19804:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"19807:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"19797:6:4"},"nodeType":"YulFunctionCall","src":"19797:12:4"},"nodeType":"YulExpressionStatement","src":"19797:12:4"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"19763:5:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"19786:5:4"}],"functionName":{"name":"cleanup_t_uint8","nodeType":"YulIdentifier","src":"19770:15:4"},"nodeType":"YulFunctionCall","src":"19770:22:4"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"19760:2:4"},"nodeType":"YulFunctionCall","src":"19760:33:4"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"19753:6:4"},"nodeType":"YulFunctionCall","src":"19753:41:4"},"nodeType":"YulIf","src":"19750:61:4"}]},"name":"validator_revert_t_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"19733:5:4","type":""}],"src":"19699:118:4"},{"body":{"nodeType":"YulBlock","src":"19873:85:4","statements":[{"nodeType":"YulAssignment","src":"19883:29:4","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"19905:6:4"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"19892:12:4"},"nodeType":"YulFunctionCall","src":"19892:20:4"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"19883:5:4"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"19946:5:4"}],"functionName":{"name":"validator_revert_t_uint8","nodeType":"YulIdentifier","src":"19921:24:4"},"nodeType":"YulFunctionCall","src":"19921:31:4"},"nodeType":"YulExpressionStatement","src":"19921:31:4"}]},"name":"abi_decode_t_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"19851:6:4","type":""},{"name":"end","nodeType":"YulTypedName","src":"19859:3:4","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"19867:5:4","type":""}],"src":"19823:135:4"},{"body":{"nodeType":"YulBlock","src":"20028:261:4","statements":[{"body":{"nodeType":"YulBlock","src":"20074:83:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"20076:77:4"},"nodeType":"YulFunctionCall","src":"20076:79:4"},"nodeType":"YulExpressionStatement","src":"20076:79:4"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"20049:7:4"},{"name":"headStart","nodeType":"YulIdentifier","src":"20058:9:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"20045:3:4"},"nodeType":"YulFunctionCall","src":"20045:23:4"},{"kind":"number","nodeType":"YulLiteral","src":"20070:2:4","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"20041:3:4"},"nodeType":"YulFunctionCall","src":"20041:32:4"},"nodeType":"YulIf","src":"20038:119:4"},{"nodeType":"YulBlock","src":"20167:115:4","statements":[{"nodeType":"YulVariableDeclaration","src":"20182:15:4","value":{"kind":"number","nodeType":"YulLiteral","src":"20196:1:4","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"20186:6:4","type":""}]},{"nodeType":"YulAssignment","src":"20211:61:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20244:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"20255:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20240:3:4"},"nodeType":"YulFunctionCall","src":"20240:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"20264:7:4"}],"functionName":{"name":"abi_decode_t_uint8","nodeType":"YulIdentifier","src":"20221:18:4"},"nodeType":"YulFunctionCall","src":"20221:51:4"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"20211:6:4"}]}]}]},"name":"abi_decode_tuple_t_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"19998:9:4","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"20009:7:4","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"20021:6:4","type":""}],"src":"19964:325:4"},{"body":{"nodeType":"YulBlock","src":"20361:263:4","statements":[{"body":{"nodeType":"YulBlock","src":"20407:83:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"20409:77:4"},"nodeType":"YulFunctionCall","src":"20409:79:4"},"nodeType":"YulExpressionStatement","src":"20409:79:4"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"20382:7:4"},{"name":"headStart","nodeType":"YulIdentifier","src":"20391:9:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"20378:3:4"},"nodeType":"YulFunctionCall","src":"20378:23:4"},{"kind":"number","nodeType":"YulLiteral","src":"20403:2:4","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"20374:3:4"},"nodeType":"YulFunctionCall","src":"20374:32:4"},"nodeType":"YulIf","src":"20371:119:4"},{"nodeType":"YulBlock","src":"20500:117:4","statements":[{"nodeType":"YulVariableDeclaration","src":"20515:15:4","value":{"kind":"number","nodeType":"YulLiteral","src":"20529:1:4","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"20519:6:4","type":""}]},{"nodeType":"YulAssignment","src":"20544:63:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20579:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"20590:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20575:3:4"},"nodeType":"YulFunctionCall","src":"20575:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"20599:7:4"}],"functionName":{"name":"abi_decode_t_address","nodeType":"YulIdentifier","src":"20554:20:4"},"nodeType":"YulFunctionCall","src":"20554:53:4"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"20544:6:4"}]}]}]},"name":"abi_decode_tuple_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"20331:9:4","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"20342:7:4","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"20354:6:4","type":""}],"src":"20295:329:4"},{"body":{"nodeType":"YulBlock","src":"20674:147:4","statements":[{"nodeType":"YulAssignment","src":"20684:25:4","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"20707:1:4"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"20689:17:4"},"nodeType":"YulFunctionCall","src":"20689:20:4"},"variableNames":[{"name":"x","nodeType":"YulIdentifier","src":"20684:1:4"}]},{"nodeType":"YulAssignment","src":"20718:25:4","value":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"20741:1:4"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"20723:17:4"},"nodeType":"YulFunctionCall","src":"20723:20:4"},"variableNames":[{"name":"y","nodeType":"YulIdentifier","src":"20718:1:4"}]},{"nodeType":"YulAssignment","src":"20752:16:4","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"20763:1:4"},{"name":"y","nodeType":"YulIdentifier","src":"20766:1:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20759:3:4"},"nodeType":"YulFunctionCall","src":"20759:9:4"},"variableNames":[{"name":"sum","nodeType":"YulIdentifier","src":"20752:3:4"}]},{"body":{"nodeType":"YulBlock","src":"20792:22:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"20794:16:4"},"nodeType":"YulFunctionCall","src":"20794:18:4"},"nodeType":"YulExpressionStatement","src":"20794:18:4"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"20784:1:4"},{"name":"sum","nodeType":"YulIdentifier","src":"20787:3:4"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"20781:2:4"},"nodeType":"YulFunctionCall","src":"20781:10:4"},"nodeType":"YulIf","src":"20778:36:4"}]},"name":"checked_add_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"20661:1:4","type":""},{"name":"y","nodeType":"YulTypedName","src":"20664:1:4","type":""}],"returnVariables":[{"name":"sum","nodeType":"YulTypedName","src":"20670:3:4","type":""}],"src":"20630:191:4"},{"body":{"nodeType":"YulBlock","src":"20870:190:4","statements":[{"nodeType":"YulAssignment","src":"20880:33:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"20907:5:4"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"20889:17:4"},"nodeType":"YulFunctionCall","src":"20889:24:4"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"20880:5:4"}]},{"body":{"nodeType":"YulBlock","src":"21003:22:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"21005:16:4"},"nodeType":"YulFunctionCall","src":"21005:18:4"},"nodeType":"YulExpressionStatement","src":"21005:18:4"}]},"condition":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"20928:5:4"},{"kind":"number","nodeType":"YulLiteral","src":"20935:66:4","type":"","value":"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"20925:2:4"},"nodeType":"YulFunctionCall","src":"20925:77:4"},"nodeType":"YulIf","src":"20922:103:4"},{"nodeType":"YulAssignment","src":"21034:20:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"21045:5:4"},{"kind":"number","nodeType":"YulLiteral","src":"21052:1:4","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21041:3:4"},"nodeType":"YulFunctionCall","src":"21041:13:4"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"21034:3:4"}]}]},"name":"increment_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"20856:5:4","type":""}],"returnVariables":[{"name":"ret","nodeType":"YulTypedName","src":"20866:3:4","type":""}],"src":"20827:233:4"},{"body":{"nodeType":"YulBlock","src":"21113:32:4","statements":[{"nodeType":"YulAssignment","src":"21123:16:4","value":{"name":"value","nodeType":"YulIdentifier","src":"21134:5:4"},"variableNames":[{"name":"aligned","nodeType":"YulIdentifier","src":"21123:7:4"}]}]},"name":"leftAlign_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"21095:5:4","type":""}],"returnVariables":[{"name":"aligned","nodeType":"YulTypedName","src":"21105:7:4","type":""}],"src":"21066:79:4"},{"body":{"nodeType":"YulBlock","src":"21234:74:4","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"21251:3:4"},{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"21294:5:4"}],"functionName":{"name":"cleanup_t_bytes32","nodeType":"YulIdentifier","src":"21276:17:4"},"nodeType":"YulFunctionCall","src":"21276:24:4"}],"functionName":{"name":"leftAlign_t_bytes32","nodeType":"YulIdentifier","src":"21256:19:4"},"nodeType":"YulFunctionCall","src":"21256:45:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21244:6:4"},"nodeType":"YulFunctionCall","src":"21244:58:4"},"nodeType":"YulExpressionStatement","src":"21244:58:4"}]},"name":"abi_encode_t_bytes32_to_t_bytes32_nonPadded_inplace_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"21222:5:4","type":""},{"name":"pos","nodeType":"YulTypedName","src":"21229:3:4","type":""}],"src":"21151:157:4"},{"body":{"nodeType":"YulBlock","src":"21430:140:4","statements":[{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"21503:6:4"},{"name":"pos","nodeType":"YulIdentifier","src":"21512:3:4"}],"functionName":{"name":"abi_encode_t_bytes32_to_t_bytes32_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"21441:61:4"},"nodeType":"YulFunctionCall","src":"21441:75:4"},"nodeType":"YulExpressionStatement","src":"21441:75:4"},{"nodeType":"YulAssignment","src":"21525:19:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"21536:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"21541:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21532:3:4"},"nodeType":"YulFunctionCall","src":"21532:12:4"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"21525:3:4"}]},{"nodeType":"YulAssignment","src":"21554:10:4","value":{"name":"pos","nodeType":"YulIdentifier","src":"21561:3:4"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"21554:3:4"}]}]},"name":"abi_encode_tuple_packed_t_bytes32__to_t_bytes32__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"21409:3:4","type":""},{"name":"value0","nodeType":"YulTypedName","src":"21415:6:4","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"21426:3:4","type":""}],"src":"21314:256:4"},{"body":{"nodeType":"YulBlock","src":"21634:40:4","statements":[{"nodeType":"YulAssignment","src":"21645:22:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"21661:5:4"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"21655:5:4"},"nodeType":"YulFunctionCall","src":"21655:12:4"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"21645:6:4"}]}]},"name":"array_length_t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"21617:5:4","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"21627:6:4","type":""}],"src":"21576:98:4"},{"body":{"nodeType":"YulBlock","src":"21793:34:4","statements":[{"nodeType":"YulAssignment","src":"21803:18:4","value":{"name":"pos","nodeType":"YulIdentifier","src":"21818:3:4"},"variableNames":[{"name":"updated_pos","nodeType":"YulIdentifier","src":"21803:11:4"}]}]},"name":"array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"21765:3:4","type":""},{"name":"length","nodeType":"YulTypedName","src":"21770:6:4","type":""}],"returnVariables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"21781:11:4","type":""}],"src":"21680:147:4"},{"body":{"nodeType":"YulBlock","src":"21895:184:4","statements":[{"nodeType":"YulVariableDeclaration","src":"21905:10:4","value":{"kind":"number","nodeType":"YulLiteral","src":"21914:1:4","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"21909:1:4","type":""}]},{"body":{"nodeType":"YulBlock","src":"21974:63:4","statements":[{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"21999:3:4"},{"name":"i","nodeType":"YulIdentifier","src":"22004:1:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21995:3:4"},"nodeType":"YulFunctionCall","src":"21995:11:4"},{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"22018:3:4"},{"name":"i","nodeType":"YulIdentifier","src":"22023:1:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22014:3:4"},"nodeType":"YulFunctionCall","src":"22014:11:4"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"22008:5:4"},"nodeType":"YulFunctionCall","src":"22008:18:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21988:6:4"},"nodeType":"YulFunctionCall","src":"21988:39:4"},"nodeType":"YulExpressionStatement","src":"21988:39:4"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"21935:1:4"},{"name":"length","nodeType":"YulIdentifier","src":"21938:6:4"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"21932:2:4"},"nodeType":"YulFunctionCall","src":"21932:13:4"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"21946:19:4","statements":[{"nodeType":"YulAssignment","src":"21948:15:4","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"21957:1:4"},{"kind":"number","nodeType":"YulLiteral","src":"21960:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21953:3:4"},"nodeType":"YulFunctionCall","src":"21953:10:4"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"21948:1:4"}]}]},"pre":{"nodeType":"YulBlock","src":"21928:3:4","statements":[]},"src":"21924:113:4"},{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"22057:3:4"},{"name":"length","nodeType":"YulIdentifier","src":"22062:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22053:3:4"},"nodeType":"YulFunctionCall","src":"22053:16:4"},{"kind":"number","nodeType":"YulLiteral","src":"22071:1:4","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"22046:6:4"},"nodeType":"YulFunctionCall","src":"22046:27:4"},"nodeType":"YulExpressionStatement","src":"22046:27:4"}]},"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"21877:3:4","type":""},{"name":"dst","nodeType":"YulTypedName","src":"21882:3:4","type":""},{"name":"length","nodeType":"YulTypedName","src":"21887:6:4","type":""}],"src":"21833:246:4"},{"body":{"nodeType":"YulBlock","src":"22193:278:4","statements":[{"nodeType":"YulVariableDeclaration","src":"22203:52:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"22249:5:4"}],"functionName":{"name":"array_length_t_bytes_memory_ptr","nodeType":"YulIdentifier","src":"22217:31:4"},"nodeType":"YulFunctionCall","src":"22217:38:4"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"22207:6:4","type":""}]},{"nodeType":"YulAssignment","src":"22264:95:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"22347:3:4"},{"name":"length","nodeType":"YulIdentifier","src":"22352:6:4"}],"functionName":{"name":"array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"22271:75:4"},"nodeType":"YulFunctionCall","src":"22271:88:4"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"22264:3:4"}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"22407:5:4"},{"kind":"number","nodeType":"YulLiteral","src":"22414:4:4","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22403:3:4"},"nodeType":"YulFunctionCall","src":"22403:16:4"},{"name":"pos","nodeType":"YulIdentifier","src":"22421:3:4"},{"name":"length","nodeType":"YulIdentifier","src":"22426:6:4"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"22368:34:4"},"nodeType":"YulFunctionCall","src":"22368:65:4"},"nodeType":"YulExpressionStatement","src":"22368:65:4"},{"nodeType":"YulAssignment","src":"22442:23:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"22453:3:4"},{"name":"length","nodeType":"YulIdentifier","src":"22458:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22449:3:4"},"nodeType":"YulFunctionCall","src":"22449:16:4"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"22442:3:4"}]}]},"name":"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"22174:5:4","type":""},{"name":"pos","nodeType":"YulTypedName","src":"22181:3:4","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"22189:3:4","type":""}],"src":"22085:386:4"},{"body":{"nodeType":"YulBlock","src":"22611:137:4","statements":[{"nodeType":"YulAssignment","src":"22622:100:4","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"22709:6:4"},{"name":"pos","nodeType":"YulIdentifier","src":"22718:3:4"}],"functionName":{"name":"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"22629:79:4"},"nodeType":"YulFunctionCall","src":"22629:93:4"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"22622:3:4"}]},{"nodeType":"YulAssignment","src":"22732:10:4","value":{"name":"pos","nodeType":"YulIdentifier","src":"22739:3:4"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"22732:3:4"}]}]},"name":"abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"22590:3:4","type":""},{"name":"value0","nodeType":"YulTypedName","src":"22596:6:4","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"22607:3:4","type":""}],"src":"22477:271:4"},{"body":{"nodeType":"YulBlock","src":"22817:80:4","statements":[{"nodeType":"YulAssignment","src":"22827:22:4","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"22842:6:4"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"22836:5:4"},"nodeType":"YulFunctionCall","src":"22836:13:4"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"22827:5:4"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"22885:5:4"}],"functionName":{"name":"validator_revert_t_bytes32","nodeType":"YulIdentifier","src":"22858:26:4"},"nodeType":"YulFunctionCall","src":"22858:33:4"},"nodeType":"YulExpressionStatement","src":"22858:33:4"}]},"name":"abi_decode_t_bytes32_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"22795:6:4","type":""},{"name":"end","nodeType":"YulTypedName","src":"22803:3:4","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"22811:5:4","type":""}],"src":"22754:143:4"},{"body":{"nodeType":"YulBlock","src":"22980:274:4","statements":[{"body":{"nodeType":"YulBlock","src":"23026:83:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"23028:77:4"},"nodeType":"YulFunctionCall","src":"23028:79:4"},"nodeType":"YulExpressionStatement","src":"23028:79:4"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"23001:7:4"},{"name":"headStart","nodeType":"YulIdentifier","src":"23010:9:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"22997:3:4"},"nodeType":"YulFunctionCall","src":"22997:23:4"},{"kind":"number","nodeType":"YulLiteral","src":"23022:2:4","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"22993:3:4"},"nodeType":"YulFunctionCall","src":"22993:32:4"},"nodeType":"YulIf","src":"22990:119:4"},{"nodeType":"YulBlock","src":"23119:128:4","statements":[{"nodeType":"YulVariableDeclaration","src":"23134:15:4","value":{"kind":"number","nodeType":"YulLiteral","src":"23148:1:4","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"23138:6:4","type":""}]},{"nodeType":"YulAssignment","src":"23163:74:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23209:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"23220:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23205:3:4"},"nodeType":"YulFunctionCall","src":"23205:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"23229:7:4"}],"functionName":{"name":"abi_decode_t_bytes32_fromMemory","nodeType":"YulIdentifier","src":"23173:31:4"},"nodeType":"YulFunctionCall","src":"23173:64:4"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"23163:6:4"}]}]}]},"name":"abi_decode_tuple_t_bytes32_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"22950:9:4","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"22961:7:4","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"22973:6:4","type":""}],"src":"22903:351:4"},{"body":{"nodeType":"YulBlock","src":"23288:152:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"23305:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"23308:77:4","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23298:6:4"},"nodeType":"YulFunctionCall","src":"23298:88:4"},"nodeType":"YulExpressionStatement","src":"23298:88:4"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"23402:1:4","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"23405:4:4","type":"","value":"0x21"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23395:6:4"},"nodeType":"YulFunctionCall","src":"23395:15:4"},"nodeType":"YulExpressionStatement","src":"23395:15:4"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"23426:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"23429:4:4","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"23419:6:4"},"nodeType":"YulFunctionCall","src":"23419:15:4"},"nodeType":"YulExpressionStatement","src":"23419:15:4"}]},"name":"panic_error_0x21","nodeType":"YulFunctionDefinition","src":"23260:180:4"},{"body":{"nodeType":"YulBlock","src":"23507:51:4","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"23524:3:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"23545:5:4"}],"functionName":{"name":"cleanup_t_uint8","nodeType":"YulIdentifier","src":"23529:15:4"},"nodeType":"YulFunctionCall","src":"23529:22:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23517:6:4"},"nodeType":"YulFunctionCall","src":"23517:35:4"},"nodeType":"YulExpressionStatement","src":"23517:35:4"}]},"name":"abi_encode_t_uint8_to_t_uint8_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"23495:5:4","type":""},{"name":"pos","nodeType":"YulTypedName","src":"23502:3:4","type":""}],"src":"23446:112:4"},{"body":{"nodeType":"YulBlock","src":"23742:367:4","statements":[{"nodeType":"YulAssignment","src":"23752:27:4","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23764:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"23775:3:4","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23760:3:4"},"nodeType":"YulFunctionCall","src":"23760:19:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"23752:4:4"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"23833:6:4"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23846:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"23857:1:4","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23842:3:4"},"nodeType":"YulFunctionCall","src":"23842:17:4"}],"functionName":{"name":"abi_encode_t_bytes32_to_t_bytes32_fromStack","nodeType":"YulIdentifier","src":"23789:43:4"},"nodeType":"YulFunctionCall","src":"23789:71:4"},"nodeType":"YulExpressionStatement","src":"23789:71:4"},{"expression":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"23910:6:4"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23923:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"23934:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23919:3:4"},"nodeType":"YulFunctionCall","src":"23919:18:4"}],"functionName":{"name":"abi_encode_t_uint8_to_t_uint8_fromStack","nodeType":"YulIdentifier","src":"23870:39:4"},"nodeType":"YulFunctionCall","src":"23870:68:4"},"nodeType":"YulExpressionStatement","src":"23870:68:4"},{"expression":{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"23992:6:4"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24005:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"24016:2:4","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24001:3:4"},"nodeType":"YulFunctionCall","src":"24001:18:4"}],"functionName":{"name":"abi_encode_t_bytes32_to_t_bytes32_fromStack","nodeType":"YulIdentifier","src":"23948:43:4"},"nodeType":"YulFunctionCall","src":"23948:72:4"},"nodeType":"YulExpressionStatement","src":"23948:72:4"},{"expression":{"arguments":[{"name":"value3","nodeType":"YulIdentifier","src":"24074:6:4"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24087:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"24098:2:4","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24083:3:4"},"nodeType":"YulFunctionCall","src":"24083:18:4"}],"functionName":{"name":"abi_encode_t_bytes32_to_t_bytes32_fromStack","nodeType":"YulIdentifier","src":"24030:43:4"},"nodeType":"YulFunctionCall","src":"24030:72:4"},"nodeType":"YulExpressionStatement","src":"24030:72:4"}]},"name":"abi_encode_tuple_t_bytes32_t_uint8_t_bytes32_t_bytes32__to_t_bytes32_t_uint8_t_bytes32_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"23690:9:4","type":""},{"name":"value3","nodeType":"YulTypedName","src":"23702:6:4","type":""},{"name":"value2","nodeType":"YulTypedName","src":"23710:6:4","type":""},{"name":"value1","nodeType":"YulTypedName","src":"23718:6:4","type":""},{"name":"value0","nodeType":"YulTypedName","src":"23726:6:4","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"23737:4:4","type":""}],"src":"23564:545:4"}]},"contents":"{\n\n function cleanup_t_bool(value) -> cleaned {\n cleaned := iszero(iszero(value))\n }\n\n function abi_encode_t_bool_to_t_bool_fromStack(value, pos) {\n mstore(pos, cleanup_t_bool(value))\n }\n\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bool_to_t_bool_fromStack(value0, add(headStart, 0))\n\n }\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function cleanup_t_bytes32(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_bytes32(value) {\n if iszero(eq(value, cleanup_t_bytes32(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_bytes32(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_bytes32(value)\n }\n\n function abi_decode_tuple_t_uint256t_uint256t_bytes32(headStart, dataEnd) -> value0, value1, value2 {\n if slt(sub(dataEnd, headStart), 96) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value2 := abi_decode_t_bytes32(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_decode_tuple_t_uint256t_uint256t_uint256t_bytes32(headStart, dataEnd) -> value0, value1, value2, value3 {\n if slt(sub(dataEnd, headStart), 128) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value2 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 96\n\n value3 := abi_decode_t_bytes32(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function revert_error_21fe6b43b4db61d76a176e95bf1a6b9ede4c301f93a4246f41fecb96e160861d() {\n revert(0, 0)\n }\n\n // struct OracleAttestationData\n function abi_decode_t_struct$_OracleAttestationData_$369_calldata_ptr(offset, end) -> value {\n if slt(sub(end, offset), 96) { revert_error_21fe6b43b4db61d76a176e95bf1a6b9ede4c301f93a4246f41fecb96e160861d() }\n value := offset\n }\n\n function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490() {\n revert(0, 0)\n }\n\n function revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() {\n revert(0, 0)\n }\n\n // struct Validator[]\n function abi_decode_t_array$_t_struct$_Validator_$394_calldata_ptr_$dyn_calldata_ptr(offset, end) -> arrayPos, length {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n length := calldataload(offset)\n if gt(length, 0xffffffffffffffff) { revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490() }\n arrayPos := add(offset, 0x20)\n if gt(add(arrayPos, mul(length, 0x40)), end) { revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() }\n }\n\n // struct Signature[]\n function abi_decode_t_array$_t_struct$_Signature_$389_calldata_ptr_$dyn_calldata_ptr(offset, end) -> arrayPos, length {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n length := calldataload(offset)\n if gt(length, 0xffffffffffffffff) { revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490() }\n arrayPos := add(offset, 0x20)\n if gt(add(arrayPos, mul(length, 0x60)), end) { revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() }\n }\n\n function abi_decode_tuple_t_struct$_OracleAttestationData_$369_calldata_ptrt_array$_t_struct$_Validator_$394_calldata_ptr_$dyn_calldata_ptrt_array$_t_struct$_Signature_$389_calldata_ptr_$dyn_calldata_ptr(headStart, dataEnd) -> value0, value1, value2, value3, value4 {\n if slt(sub(dataEnd, headStart), 96) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := calldataload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0 := abi_decode_t_struct$_OracleAttestationData_$369_calldata_ptr(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 32))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value1, value2 := abi_decode_t_array$_t_struct$_Validator_$394_calldata_ptr_$dyn_calldata_ptr(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 64))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value3, value4 := abi_decode_t_array$_t_struct$_Signature_$389_calldata_ptr_$dyn_calldata_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_uint64(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffff)\n }\n\n function validator_revert_t_uint64(value) {\n if iszero(eq(value, cleanup_t_uint64(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint64(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint64(value)\n }\n\n function abi_decode_tuple_t_bytes32t_uint64t_uint256t_array$_t_struct$_Validator_$394_calldata_ptr_$dyn_calldata_ptrt_array$_t_struct$_Signature_$389_calldata_ptr_$dyn_calldata_ptr(headStart, dataEnd) -> value0, value1, value2, value3, value4, value5, value6 {\n if slt(sub(dataEnd, headStart), 160) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_bytes32(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint64(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value2 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 96))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value3, value4 := abi_decode_t_array$_t_struct$_Validator_$394_calldata_ptr_$dyn_calldata_ptr(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 128))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value5, value6 := abi_decode_t_array$_t_struct$_Signature_$389_calldata_ptr_$dyn_calldata_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_bytes32_to_t_bytes32_fromStack(value, pos) {\n mstore(pos, cleanup_t_bytes32(value))\n }\n\n function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value0, add(headStart, 0))\n\n }\n\n function panic_error_0x12() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x12)\n revert(0, 0x24)\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function checked_div_t_uint256(x, y) -> r {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n if iszero(y) { panic_error_0x12() }\n\n r := div(x, y)\n }\n\n function checked_sub_t_uint256(x, y) -> diff {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n diff := sub(x, y)\n\n if gt(diff, x) { panic_error_0x11() }\n\n }\n\n function abi_encode_tuple_t_uint256_t_uint256_t_bytes32__to_t_uint256_t_uint256_t_bytes32__fromStack_reversed(headStart , value2, value1, value0) -> tail {\n tail := add(headStart, 96)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value2, add(headStart, 64))\n\n }\n\n function array_storeLengthForEncoding_t_array$_t_struct$_Validator_$394_memory_ptr_$dyn_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function array_dataslot_t_array$_t_struct$_Validator_$394_calldata_ptr_$dyn_calldata_ptr(ptr) -> data {\n data := ptr\n\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_address(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address(value)\n }\n\n function calldata_access_t_address(baseRef, ptr) -> value {\n value := abi_decode_t_address(ptr, add(ptr, 32))\n }\n\n function abi_encode_t_address_to_t_address(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function calldata_access_t_uint256(baseRef, ptr) -> value {\n value := abi_decode_t_uint256(ptr, add(ptr, 32))\n }\n\n function abi_encode_t_uint256_to_t_uint256(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n // struct Validator -> struct Validator\n function abi_encode_t_struct$_Validator_$394_calldata_ptr_to_t_struct$_Validator_$394_memory_ptr(value, pos) {\n let tail := add(pos, 0x40)\n\n {\n // addr\n\n let memberValue0 := calldata_access_t_address(value, add(value, 0x00))\n abi_encode_t_address_to_t_address(memberValue0, add(pos, 0x00))\n }\n\n {\n // power\n\n let memberValue0 := calldata_access_t_uint256(value, add(value, 0x20))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0x20))\n }\n\n }\n\n function abi_encodeUpdatedPos_t_struct$_Validator_$394_calldata_ptr_to_t_struct$_Validator_$394_memory_ptr(value0, pos) -> updatedPos {\n abi_encode_t_struct$_Validator_$394_calldata_ptr_to_t_struct$_Validator_$394_memory_ptr(value0, pos)\n updatedPos := add(pos, 0x40)\n }\n\n function calldata_access_t_struct$_Validator_$394_calldata_ptr(baseRef, ptr) -> value {\n value := ptr\n }\n\n function array_nextElement_t_array$_t_struct$_Validator_$394_calldata_ptr_$dyn_calldata_ptr(ptr) -> next {\n next := add(ptr, 0x40)\n }\n\n // struct Validator[] -> struct Validator[]\n function abi_encode_t_array$_t_struct$_Validator_$394_calldata_ptr_$dyn_calldata_ptr_to_t_array$_t_struct$_Validator_$394_memory_ptr_$dyn_memory_ptr_fromStack(value, length, pos) -> end {\n\n pos := array_storeLengthForEncoding_t_array$_t_struct$_Validator_$394_memory_ptr_$dyn_memory_ptr_fromStack(pos, length)\n let baseRef := array_dataslot_t_array$_t_struct$_Validator_$394_calldata_ptr_$dyn_calldata_ptr(value)\n let srcPtr := baseRef\n for { let i := 0 } lt(i, length) { i := add(i, 1) }\n {\n let elementValue0 := calldata_access_t_struct$_Validator_$394_calldata_ptr(baseRef, srcPtr)\n pos := abi_encodeUpdatedPos_t_struct$_Validator_$394_calldata_ptr_to_t_struct$_Validator_$394_memory_ptr(elementValue0, pos)\n srcPtr := array_nextElement_t_array$_t_struct$_Validator_$394_calldata_ptr_$dyn_calldata_ptr(srcPtr)\n }\n end := pos\n }\n\n function abi_encode_tuple_t_array$_t_struct$_Validator_$394_calldata_ptr_$dyn_calldata_ptr__to_t_array$_t_struct$_Validator_$394_memory_ptr_$dyn_memory_ptr__fromStack_reversed(headStart , value1, value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_array$_t_struct$_Validator_$394_calldata_ptr_$dyn_calldata_ptr_to_t_array$_t_struct$_Validator_$394_memory_ptr_$dyn_memory_ptr_fromStack(value0, value1, tail)\n\n }\n\n function revert_error_356d538aaf70fba12156cc466564b792649f8f3befb07b071c91142253e175ad() {\n revert(0, 0)\n }\n\n function revert_error_1e55d03107e9c4f1b5e21c76a16fba166a461117ab153bcce65e6a4ea8e5fc8a() {\n revert(0, 0)\n }\n\n function revert_error_977805620ff29572292dee35f70b0f3f3f73d3fdd0e9f4d7a901c2e43ab18a2e() {\n revert(0, 0)\n }\n\n function access_calldata_tail_t_struct$_ReportData_$382_calldata_ptr(base_ref, ptr_to_tail) -> addr {\n let rel_offset_of_tail := calldataload(ptr_to_tail)\n if iszero(slt(rel_offset_of_tail, sub(sub(calldatasize(), base_ref), sub(0xc0, 1)))) { revert_error_356d538aaf70fba12156cc466564b792649f8f3befb07b071c91142253e175ad() }\n addr := add(base_ref, rel_offset_of_tail)\n\n }\n\n function access_calldata_tail_t_bytes_calldata_ptr(base_ref, ptr_to_tail) -> addr, length {\n let rel_offset_of_tail := calldataload(ptr_to_tail)\n if iszero(slt(rel_offset_of_tail, sub(sub(calldatasize(), base_ref), sub(0x20, 1)))) { revert_error_356d538aaf70fba12156cc466564b792649f8f3befb07b071c91142253e175ad() }\n addr := add(base_ref, rel_offset_of_tail)\n\n length := calldataload(addr)\n if gt(length, 0xffffffffffffffff) { revert_error_1e55d03107e9c4f1b5e21c76a16fba166a461117ab153bcce65e6a4ea8e5fc8a() }\n addr := add(addr, 32)\n if sgt(addr, sub(calldatasize(), mul(length, 0x01))) { revert_error_977805620ff29572292dee35f70b0f3f3f73d3fdd0e9f4d7a901c2e43ab18a2e() }\n\n }\n\n function array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function copy_calldata_to_memory_with_cleanup(src, dst, length) {\n calldatacopy(dst, src, length)\n mstore(add(dst, length), 0)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n // bytes -> bytes\n function abi_encode_t_bytes_calldata_ptr_to_t_bytes_memory_ptr_fromStack(start, length, pos) -> end {\n pos := array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack(pos, length)\n\n copy_calldata_to_memory_with_cleanup(start, pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_tuple_t_bytes32_t_bytes32_t_bytes_calldata_ptr_t_uint256_t_uint256_t_uint256_t_uint256_t_bytes32_t_uint256_t_uint256__to_t_bytes32_t_bytes32_t_bytes_memory_ptr_t_uint256_t_uint256_t_uint256_t_uint256_t_bytes32_t_uint256_t_uint256__fromStack_reversed(headStart , value10, value9, value8, value7, value6, value5, value4, value3, value2, value1, value0) -> tail {\n tail := add(headStart, 320)\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value1, add(headStart, 32))\n\n mstore(add(headStart, 64), sub(tail, headStart))\n tail := abi_encode_t_bytes_calldata_ptr_to_t_bytes_memory_ptr_fromStack(value2, value3, tail)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value4, add(headStart, 96))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value5, add(headStart, 128))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value6, add(headStart, 160))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value7, add(headStart, 192))\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value8, add(headStart, 224))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value9, add(headStart, 256))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value10, add(headStart, 288))\n\n }\n\n function identity(value) -> ret {\n ret := value\n }\n\n function convert_t_uint64_to_t_uint256(value) -> converted {\n converted := cleanup_t_uint256(identity(cleanup_t_uint64(value)))\n }\n\n function abi_encode_t_uint64_to_t_uint256_fromStack(value, pos) {\n mstore(pos, convert_t_uint64_to_t_uint256(value))\n }\n\n function abi_encode_tuple_t_uint64_t_uint256_t_bytes32__to_t_uint256_t_uint256_t_bytes32__fromStack_reversed(headStart , value2, value1, value0) -> tail {\n tail := add(headStart, 96)\n\n abi_encode_t_uint64_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value2, add(headStart, 64))\n\n }\n\n function abi_encode_tuple_t_bytes32_t_uint256_t_uint256_t_bytes32__to_t_bytes32_t_uint256_t_uint256_t_bytes32__fromStack_reversed(headStart , value3, value2, value1, value0) -> tail {\n tail := add(headStart, 128)\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value2, add(headStart, 64))\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value3, add(headStart, 96))\n\n }\n\n function panic_error_0x32() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x32)\n revert(0, 0x24)\n }\n\n function cleanup_t_uint8(value) -> cleaned {\n cleaned := and(value, 0xff)\n }\n\n function validator_revert_t_uint8(value) {\n if iszero(eq(value, cleanup_t_uint8(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint8(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint8(value)\n }\n\n function abi_decode_tuple_t_uint8(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint8(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function checked_add_t_uint256(x, y) -> sum {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n sum := add(x, y)\n\n if gt(x, sum) { panic_error_0x11() }\n\n }\n\n function increment_t_uint256(value) -> ret {\n value := cleanup_t_uint256(value)\n if eq(value, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) { panic_error_0x11() }\n ret := add(value, 1)\n }\n\n function leftAlign_t_bytes32(value) -> aligned {\n aligned := value\n }\n\n function abi_encode_t_bytes32_to_t_bytes32_nonPadded_inplace_fromStack(value, pos) {\n mstore(pos, leftAlign_t_bytes32(cleanup_t_bytes32(value)))\n }\n\n function abi_encode_tuple_packed_t_bytes32__to_t_bytes32__nonPadded_inplace_fromStack_reversed(pos , value0) -> end {\n\n abi_encode_t_bytes32_to_t_bytes32_nonPadded_inplace_fromStack(value0, pos)\n pos := add(pos, 32)\n\n end := pos\n }\n\n function array_length_t_bytes_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack(pos, length) -> updated_pos {\n updated_pos := pos\n }\n\n function copy_memory_to_memory_with_cleanup(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n mstore(add(dst, length), 0)\n }\n\n function abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack(value, pos) -> end {\n let length := array_length_t_bytes_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack(pos, length)\n copy_memory_to_memory_with_cleanup(add(value, 0x20), pos, length)\n end := add(pos, length)\n }\n\n function abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos , value0) -> end {\n\n pos := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack(value0, pos)\n\n end := pos\n }\n\n function abi_decode_t_bytes32_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_bytes32(value)\n }\n\n function abi_decode_tuple_t_bytes32_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_bytes32_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function panic_error_0x21() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x21)\n revert(0, 0x24)\n }\n\n function abi_encode_t_uint8_to_t_uint8_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint8(value))\n }\n\n function abi_encode_tuple_t_bytes32_t_uint8_t_bytes32_t_bytes32__to_t_bytes32_t_uint8_t_bytes32_t_bytes32__fromStack_reversed(headStart , value3, value2, value1, value0) -> tail {\n tail := add(headStart, 128)\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_uint8_to_t_uint8_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value2, add(headStart, 64))\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value3, add(headStart, 96))\n\n }\n\n}\n","id":4,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{"426":[{"length":32,"start":2239},{"length":32,"start":2366}]},"linkReferences":{},"object":"608060405234801561001057600080fd5b50600436106100ea5760003560e01c80636cf6d6751161008c578063af082a7d11610066578063af082a7d14610213578063ba95ec2714610231578063bd7c31531461024f578063d5f394881461026d576100ea565b80636cf6d675146101bb57806384330d4c146101d95780639e45a913146101f5576100ea565b80634394f6f3116100c85780634394f6f314610147578063452a9320146101635780634f76f1ee146101815780635e0d3b0f1461019f576100ea565b8063158ef93e146100ef578063185bf52b1461010d5780631a8bcd3414610129575b600080fd5b6100f761028b565b6040516101049190610dd5565b60405180910390f35b61012760048036038101906101229190610e66565b61029e565b005b610131610409565b60405161013e9190610ec8565b60405180910390f35b610161600480360381019061015c9190610ee3565b61040f565b005b61016b61051a565b6040516101789190610f8b565b60405180910390f35b61018961053e565b6040516101969190610ec8565b60405180910390f35b6101b960048036038101906101b49190611085565b610544565b005b6101c36106f4565b6040516101d09190610ec8565b60405180910390f35b6101f360048036038101906101ee9190611176565b6106fa565b005b6101fd6108bd565b60405161020a9190611241565b60405180910390f35b61021b6108e1565b6040516102289190611241565b60405180910390f35b6102396108e7565b6040516102469190610ec8565b60405180910390f35b6102576108ed565b6040516102649190611241565b60405180910390f35b610275610914565b6040516102829190610f8b565b60405180910390f35b600560149054906101000a900460ff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610323576040517fef6d0f0200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6003546103e860045461033691906112ba565b4261034191906112eb565b1015610379576040517f1c36ced200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60045482116103b4576040517f780635d000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8260028190555081600481905550806001819055507fd7067f3840022e90166b8566f9982288b89ec7479b8eb30fad06290f18c8cb098383836040516103fc9392919061131f565b60405180910390a1505050565b6103e881565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610496576040517f8b906c9700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600560149054906101000a900460ff16156104dd576040517f0dc149f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600560146101000a81548160ff0219169083151502179055508360028190555082600481905550816003819055508060018190555050505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60045481565b818190508484905014610583576040517fc6617b7b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001546105bd60025460045487876040516020016105a29291906114b5565b6040516020818303038152906040528051906020012061093a565b146105f4576040517f177b5d9200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60007f74656c6c6f7243757272656e744174746573746174696f6e000000000000000060001b866000013587806020019061062f91906114e8565b806000019061063e9190611510565b89806020019061064e91906114e8565b602001358a806020019061066291906114e8565b604001358b806020019061067691906114e8565b606001358c806020019061068a91906114e8565b608001356001548e604001358f80602001906106a691906114e8565b60a001356040516020016106c49b9a999897969594939291906115d1565b6040516020818303038152906040528051906020012090506106ec8585858585600254610992565b505050505050565b60035481565b818190508484905014610739576040517fc6617b7b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600454851015610775576040517f780635d000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008667ffffffffffffffff16036107b9576040517fc3b70c8800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084846040516020016107ce9291906114b5565b6040516020818303038152906040528051906020012090506001546107f86002546004548461093a565b1461082f576040517f177b5d9200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006108468867ffffffffffffffff16888b61093a565b90506108588686868685600254610992565b806001819055508767ffffffffffffffff16600281905550866004819055507fe304b71f81a1aaf6d714401de28ba1ebdbb5ff9c5fee59ef2a6eb984f9e8da7e88888b6040516108aa939291906116b1565b60405180910390a1505050505050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60015481565b60025481565b7f74656c6c6f7243757272656e744174746573746174696f6e000000000000000060001b81565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60007f000000000000000000000000000000000000000000000000000000000000000084848460405160200161097394939291906116e8565b6040516020818303038152906040528051906020012090509392505050565b6003546103e86004546109a591906112ba565b426109b091906112eb565b11156109e8576040517fe5e5e46400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000805b87879050811015610b49576000801b868683818110610a0e57610a0d61172d565b5b90506060020160200135148015610a4357506000801b868683818110610a3757610a3661172d565b5b90506060020160400135145b8015610a7c57506000868683818110610a5f57610a5e61172d565b5b9050606002016000016020810190610a779190611795565b60ff16145b610b3657610acd888883818110610a9657610a9561172d565b5b9050604002016000016020810190610aae91906117c2565b85888885818110610ac257610ac161172d565b5b905060600201610b8d565b610b03576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b878782818110610b1657610b1561172d565b5b9050604002016020013582610b2b91906117ef565b915082821015610b49575b8080610b4190611823565b9150506109ec565b5081811015610b84576040517fcabeb65500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50505050505050565b6000600283604051602001610ba2919061188c565b604051602081830303815290604052604051610bbe9190611918565b602060405180830381855afa158015610bdb573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610bfe9190611944565b9250600080610c2985856000016020810190610c1a9190611795565b86602001358760400135610cc6565b509150915060006003811115610c4257610c41611971565b5b816003811115610c5557610c54611971565b5b14610c8c576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614925050509392505050565b60008060007f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08460001c1115610d06576000600385925092509250610db0565b600060018888888860405160008152602001604052604051610d2b94939291906119af565b6020604051602081039080840390855afa158015610d4d573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610da157600060016000801b93509350935050610db0565b8060008060001b935093509350505b9450945094915050565b60008115159050919050565b610dcf81610dba565b82525050565b6000602082019050610dea6000830184610dc6565b92915050565b600080fd5b600080fd5b6000819050919050565b610e0d81610dfa565b8114610e1857600080fd5b50565b600081359050610e2a81610e04565b92915050565b6000819050919050565b610e4381610e30565b8114610e4e57600080fd5b50565b600081359050610e6081610e3a565b92915050565b600080600060608486031215610e7f57610e7e610df0565b5b6000610e8d86828701610e1b565b9350506020610e9e86828701610e1b565b9250506040610eaf86828701610e51565b9150509250925092565b610ec281610dfa565b82525050565b6000602082019050610edd6000830184610eb9565b92915050565b60008060008060808587031215610efd57610efc610df0565b5b6000610f0b87828801610e1b565b9450506020610f1c87828801610e1b565b9350506040610f2d87828801610e1b565b9250506060610f3e87828801610e51565b91505092959194509250565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610f7582610f4a565b9050919050565b610f8581610f6a565b82525050565b6000602082019050610fa06000830184610f7c565b92915050565b600080fd5b600060608284031215610fc157610fc0610fa6565b5b81905092915050565b600080fd5b600080fd5b600080fd5b60008083601f840112610fef57610fee610fca565b5b8235905067ffffffffffffffff81111561100c5761100b610fcf565b5b60208301915083604082028301111561102857611027610fd4565b5b9250929050565b60008083601f84011261104557611044610fca565b5b8235905067ffffffffffffffff81111561106257611061610fcf565b5b60208301915083606082028301111561107e5761107d610fd4565b5b9250929050565b6000806000806000606086880312156110a1576110a0610df0565b5b600086013567ffffffffffffffff8111156110bf576110be610df5565b5b6110cb88828901610fab565b955050602086013567ffffffffffffffff8111156110ec576110eb610df5565b5b6110f888828901610fd9565b9450945050604086013567ffffffffffffffff81111561111b5761111a610df5565b5b6111278882890161102f565b92509250509295509295909350565b600067ffffffffffffffff82169050919050565b61115381611136565b811461115e57600080fd5b50565b6000813590506111708161114a565b92915050565b600080600080600080600060a0888a03121561119557611194610df0565b5b60006111a38a828b01610e51565b97505060206111b48a828b01611161565b96505060406111c58a828b01610e1b565b955050606088013567ffffffffffffffff8111156111e6576111e5610df5565b5b6111f28a828b01610fd9565b9450945050608088013567ffffffffffffffff81111561121557611214610df5565b5b6112218a828b0161102f565b925092505092959891949750929550565b61123b81610e30565b82525050565b60006020820190506112566000830184611232565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006112c582610dfa565b91506112d083610dfa565b9250826112e0576112df61125c565b5b828204905092915050565b60006112f682610dfa565b915061130183610dfa565b92508282039050818111156113195761131861128b565b5b92915050565b60006060820190506113346000830186610eb9565b6113416020830185610eb9565b61134e6040830184611232565b949350505050565b600082825260208201905092915050565b6000819050919050565b61137a81610f6a565b811461138557600080fd5b50565b60008135905061139781611371565b92915050565b60006113ac6020840184611388565b905092915050565b6113bd81610f6a565b82525050565b60006113d26020840184610e1b565b905092915050565b6113e381610dfa565b82525050565b604082016113fa600083018361139d565b61140760008501826113b4565b5061141560208301836113c3565b61142260208501826113da565b50505050565b600061143483836113e9565b60408301905092915050565b600082905092915050565b6000604082019050919050565b60006114648385611356565b935061146f82611367565b8060005b858110156114a8576114858284611440565b61148f8882611428565b975061149a8361144b565b925050600181019050611473565b5085925050509392505050565b600060208201905081810360008301526114d0818486611458565b90509392505050565b600080fd5b600080fd5b600080fd5b60008235600160c003833603038112611504576115036114d9565b5b80830191505092915050565b6000808335600160200384360303811261152d5761152c6114d9565b5b80840192508235915067ffffffffffffffff82111561154f5761154e6114de565b5b60208301925060018202360383131561156b5761156a6114e3565b5b509250929050565b600082825260208201905092915050565b82818337600083830152505050565b6000601f19601f8301169050919050565b60006115b08385611573565b93506115bd838584611584565b6115c683611593565b840190509392505050565b6000610140820190506115e7600083018e611232565b6115f4602083018d611232565b8181036040830152611607818b8d6115a4565b9050611616606083018a610eb9565b6116236080830189610eb9565b61163060a0830188610eb9565b61163d60c0830187610eb9565b61164a60e0830186611232565b611658610100830185610eb9565b611666610120830184610eb9565b9c9b505050505050505050505050565b6000819050919050565b600061169b61169661169184611136565b611676565b610dfa565b9050919050565b6116ab81611680565b82525050565b60006060820190506116c660008301866116a2565b6116d36020830185610eb9565b6116e06040830184611232565b949350505050565b60006080820190506116fd6000830187611232565b61170a6020830186610eb9565b6117176040830185610eb9565b6117246060830184611232565b95945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600060ff82169050919050565b6117728161175c565b811461177d57600080fd5b50565b60008135905061178f81611769565b92915050565b6000602082840312156117ab576117aa610df0565b5b60006117b984828501611780565b91505092915050565b6000602082840312156117d8576117d7610df0565b5b60006117e684828501611388565b91505092915050565b60006117fa82610dfa565b915061180583610dfa565b925082820190508082111561181d5761181c61128b565b5b92915050565b600061182e82610dfa565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036118605761185f61128b565b5b600182019050919050565b6000819050919050565b61188661188182610e30565b61186b565b82525050565b60006118988284611875565b60208201915081905092915050565b600081519050919050565b600081905092915050565b60005b838110156118db5780820151818401526020810190506118c0565b60008484015250505050565b60006118f2826118a7565b6118fc81856118b2565b935061190c8185602086016118bd565b80840191505092915050565b600061192482846118e7565b915081905092915050565b60008151905061193e81610e3a565b92915050565b60006020828403121561195a57611959610df0565b5b60006119688482850161192f565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6119a98161175c565b82525050565b60006080820190506119c46000830187611232565b6119d160208301866119a0565b6119de6040830185611232565b6119eb6060830184611232565b9594505050505056fea26469706673582212208a4e27db43c974b180ddea3c0f3e4138731ac4b9bd11334386ecbaa94043947564736f6c63430008130033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0xEA JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x6CF6D675 GT PUSH2 0x8C JUMPI DUP1 PUSH4 0xAF082A7D GT PUSH2 0x66 JUMPI DUP1 PUSH4 0xAF082A7D EQ PUSH2 0x213 JUMPI DUP1 PUSH4 0xBA95EC27 EQ PUSH2 0x231 JUMPI DUP1 PUSH4 0xBD7C3153 EQ PUSH2 0x24F JUMPI DUP1 PUSH4 0xD5F39488 EQ PUSH2 0x26D JUMPI PUSH2 0xEA JUMP JUMPDEST DUP1 PUSH4 0x6CF6D675 EQ PUSH2 0x1BB JUMPI DUP1 PUSH4 0x84330D4C EQ PUSH2 0x1D9 JUMPI DUP1 PUSH4 0x9E45A913 EQ PUSH2 0x1F5 JUMPI PUSH2 0xEA JUMP JUMPDEST DUP1 PUSH4 0x4394F6F3 GT PUSH2 0xC8 JUMPI DUP1 PUSH4 0x4394F6F3 EQ PUSH2 0x147 JUMPI DUP1 PUSH4 0x452A9320 EQ PUSH2 0x163 JUMPI DUP1 PUSH4 0x4F76F1EE EQ PUSH2 0x181 JUMPI DUP1 PUSH4 0x5E0D3B0F EQ PUSH2 0x19F JUMPI PUSH2 0xEA JUMP JUMPDEST DUP1 PUSH4 0x158EF93E EQ PUSH2 0xEF JUMPI DUP1 PUSH4 0x185BF52B EQ PUSH2 0x10D JUMPI DUP1 PUSH4 0x1A8BCD34 EQ PUSH2 0x129 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xF7 PUSH2 0x28B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x104 SWAP2 SWAP1 PUSH2 0xDD5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x127 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x122 SWAP2 SWAP1 PUSH2 0xE66 JUMP JUMPDEST PUSH2 0x29E JUMP JUMPDEST STOP JUMPDEST PUSH2 0x131 PUSH2 0x409 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x13E SWAP2 SWAP1 PUSH2 0xEC8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x161 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x15C SWAP2 SWAP1 PUSH2 0xEE3 JUMP JUMPDEST PUSH2 0x40F JUMP JUMPDEST STOP JUMPDEST PUSH2 0x16B PUSH2 0x51A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x178 SWAP2 SWAP1 PUSH2 0xF8B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x189 PUSH2 0x53E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x196 SWAP2 SWAP1 PUSH2 0xEC8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1B9 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1B4 SWAP2 SWAP1 PUSH2 0x1085 JUMP JUMPDEST PUSH2 0x544 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1C3 PUSH2 0x6F4 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1D0 SWAP2 SWAP1 PUSH2 0xEC8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1F3 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1EE SWAP2 SWAP1 PUSH2 0x1176 JUMP JUMPDEST PUSH2 0x6FA JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1FD PUSH2 0x8BD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x20A SWAP2 SWAP1 PUSH2 0x1241 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x21B PUSH2 0x8E1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x228 SWAP2 SWAP1 PUSH2 0x1241 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x239 PUSH2 0x8E7 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x246 SWAP2 SWAP1 PUSH2 0xEC8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x257 PUSH2 0x8ED JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x264 SWAP2 SWAP1 PUSH2 0x1241 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x275 PUSH2 0x914 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x282 SWAP2 SWAP1 PUSH2 0xF8B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x5 PUSH1 0x14 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x323 JUMPI PUSH1 0x40 MLOAD PUSH32 0xEF6D0F0200000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x3 SLOAD PUSH2 0x3E8 PUSH1 0x4 SLOAD PUSH2 0x336 SWAP2 SWAP1 PUSH2 0x12BA JUMP JUMPDEST TIMESTAMP PUSH2 0x341 SWAP2 SWAP1 PUSH2 0x12EB JUMP JUMPDEST LT ISZERO PUSH2 0x379 JUMPI PUSH1 0x40 MLOAD PUSH32 0x1C36CED200000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x4 SLOAD DUP3 GT PUSH2 0x3B4 JUMPI PUSH1 0x40 MLOAD PUSH32 0x780635D000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP3 PUSH1 0x2 DUP2 SWAP1 SSTORE POP DUP2 PUSH1 0x4 DUP2 SWAP1 SSTORE POP DUP1 PUSH1 0x1 DUP2 SWAP1 SSTORE POP PUSH32 0xD7067F3840022E90166B8566F9982288B89EC7479B8EB30FAD06290F18C8CB09 DUP4 DUP4 DUP4 PUSH1 0x40 MLOAD PUSH2 0x3FC SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x131F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP JUMP JUMPDEST PUSH2 0x3E8 DUP2 JUMP JUMPDEST PUSH1 0x5 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x496 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8B906C9700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x5 PUSH1 0x14 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x4DD JUMPI PUSH1 0x40 MLOAD PUSH32 0xDC149F000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x5 PUSH1 0x14 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP DUP4 PUSH1 0x2 DUP2 SWAP1 SSTORE POP DUP3 PUSH1 0x4 DUP2 SWAP1 SSTORE POP DUP2 PUSH1 0x3 DUP2 SWAP1 SSTORE POP DUP1 PUSH1 0x1 DUP2 SWAP1 SSTORE POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x4 SLOAD DUP2 JUMP JUMPDEST DUP2 DUP2 SWAP1 POP DUP5 DUP5 SWAP1 POP EQ PUSH2 0x583 JUMPI PUSH1 0x40 MLOAD PUSH32 0xC6617B7B00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 SLOAD PUSH2 0x5BD PUSH1 0x2 SLOAD PUSH1 0x4 SLOAD DUP8 DUP8 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x5A2 SWAP3 SWAP2 SWAP1 PUSH2 0x14B5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 PUSH2 0x93A JUMP JUMPDEST EQ PUSH2 0x5F4 JUMPI PUSH1 0x40 MLOAD PUSH32 0x177B5D9200000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH32 0x74656C6C6F7243757272656E744174746573746174696F6E0000000000000000 PUSH1 0x0 SHL DUP7 PUSH1 0x0 ADD CALLDATALOAD DUP8 DUP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x62F SWAP2 SWAP1 PUSH2 0x14E8 JUMP JUMPDEST DUP1 PUSH1 0x0 ADD SWAP1 PUSH2 0x63E SWAP2 SWAP1 PUSH2 0x1510 JUMP JUMPDEST DUP10 DUP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x64E SWAP2 SWAP1 PUSH2 0x14E8 JUMP JUMPDEST PUSH1 0x20 ADD CALLDATALOAD DUP11 DUP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x662 SWAP2 SWAP1 PUSH2 0x14E8 JUMP JUMPDEST PUSH1 0x40 ADD CALLDATALOAD DUP12 DUP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x676 SWAP2 SWAP1 PUSH2 0x14E8 JUMP JUMPDEST PUSH1 0x60 ADD CALLDATALOAD DUP13 DUP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x68A SWAP2 SWAP1 PUSH2 0x14E8 JUMP JUMPDEST PUSH1 0x80 ADD CALLDATALOAD PUSH1 0x1 SLOAD DUP15 PUSH1 0x40 ADD CALLDATALOAD DUP16 DUP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x6A6 SWAP2 SWAP1 PUSH2 0x14E8 JUMP JUMPDEST PUSH1 0xA0 ADD CALLDATALOAD PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x6C4 SWAP12 SWAP11 SWAP10 SWAP9 SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x15D1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 SWAP1 POP PUSH2 0x6EC DUP6 DUP6 DUP6 DUP6 DUP6 PUSH1 0x2 SLOAD PUSH2 0x992 JUMP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x3 SLOAD DUP2 JUMP JUMPDEST DUP2 DUP2 SWAP1 POP DUP5 DUP5 SWAP1 POP EQ PUSH2 0x739 JUMPI PUSH1 0x40 MLOAD PUSH32 0xC6617B7B00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x4 SLOAD DUP6 LT ISZERO PUSH2 0x775 JUMPI PUSH1 0x40 MLOAD PUSH32 0x780635D000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP7 PUSH8 0xFFFFFFFFFFFFFFFF AND SUB PUSH2 0x7B9 JUMPI PUSH1 0x40 MLOAD PUSH32 0xC3B70C8800000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP5 DUP5 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x7CE SWAP3 SWAP2 SWAP1 PUSH2 0x14B5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 SWAP1 POP PUSH1 0x1 SLOAD PUSH2 0x7F8 PUSH1 0x2 SLOAD PUSH1 0x4 SLOAD DUP5 PUSH2 0x93A JUMP JUMPDEST EQ PUSH2 0x82F JUMPI PUSH1 0x40 MLOAD PUSH32 0x177B5D9200000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x846 DUP9 PUSH8 0xFFFFFFFFFFFFFFFF AND DUP9 DUP12 PUSH2 0x93A JUMP JUMPDEST SWAP1 POP PUSH2 0x858 DUP7 DUP7 DUP7 DUP7 DUP6 PUSH1 0x2 SLOAD PUSH2 0x992 JUMP JUMPDEST DUP1 PUSH1 0x1 DUP2 SWAP1 SSTORE POP DUP8 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH1 0x2 DUP2 SWAP1 SSTORE POP DUP7 PUSH1 0x4 DUP2 SWAP1 SSTORE POP PUSH32 0xE304B71F81A1AAF6D714401DE28BA1EBDBB5FF9C5FEE59EF2A6EB984F9E8DA7E DUP9 DUP9 DUP12 PUSH1 0x40 MLOAD PUSH2 0x8AA SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x16B1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH32 0x0 DUP2 JUMP JUMPDEST PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x2 SLOAD DUP2 JUMP JUMPDEST PUSH32 0x74656C6C6F7243757272656E744174746573746174696F6E0000000000000000 PUSH1 0x0 SHL DUP2 JUMP JUMPDEST PUSH1 0x5 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH32 0x0 DUP5 DUP5 DUP5 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x973 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x16E8 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x3 SLOAD PUSH2 0x3E8 PUSH1 0x4 SLOAD PUSH2 0x9A5 SWAP2 SWAP1 PUSH2 0x12BA JUMP JUMPDEST TIMESTAMP PUSH2 0x9B0 SWAP2 SWAP1 PUSH2 0x12EB JUMP JUMPDEST GT ISZERO PUSH2 0x9E8 JUMPI PUSH1 0x40 MLOAD PUSH32 0xE5E5E46400000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 JUMPDEST DUP8 DUP8 SWAP1 POP DUP2 LT ISZERO PUSH2 0xB49 JUMPI PUSH1 0x0 DUP1 SHL DUP7 DUP7 DUP4 DUP2 DUP2 LT PUSH2 0xA0E JUMPI PUSH2 0xA0D PUSH2 0x172D JUMP JUMPDEST JUMPDEST SWAP1 POP PUSH1 0x60 MUL ADD PUSH1 0x20 ADD CALLDATALOAD EQ DUP1 ISZERO PUSH2 0xA43 JUMPI POP PUSH1 0x0 DUP1 SHL DUP7 DUP7 DUP4 DUP2 DUP2 LT PUSH2 0xA37 JUMPI PUSH2 0xA36 PUSH2 0x172D JUMP JUMPDEST JUMPDEST SWAP1 POP PUSH1 0x60 MUL ADD PUSH1 0x40 ADD CALLDATALOAD EQ JUMPDEST DUP1 ISZERO PUSH2 0xA7C JUMPI POP PUSH1 0x0 DUP7 DUP7 DUP4 DUP2 DUP2 LT PUSH2 0xA5F JUMPI PUSH2 0xA5E PUSH2 0x172D JUMP JUMPDEST JUMPDEST SWAP1 POP PUSH1 0x60 MUL ADD PUSH1 0x0 ADD PUSH1 0x20 DUP2 ADD SWAP1 PUSH2 0xA77 SWAP2 SWAP1 PUSH2 0x1795 JUMP JUMPDEST PUSH1 0xFF AND EQ JUMPDEST PUSH2 0xB36 JUMPI PUSH2 0xACD DUP9 DUP9 DUP4 DUP2 DUP2 LT PUSH2 0xA96 JUMPI PUSH2 0xA95 PUSH2 0x172D JUMP JUMPDEST JUMPDEST SWAP1 POP PUSH1 0x40 MUL ADD PUSH1 0x0 ADD PUSH1 0x20 DUP2 ADD SWAP1 PUSH2 0xAAE SWAP2 SWAP1 PUSH2 0x17C2 JUMP JUMPDEST DUP6 DUP9 DUP9 DUP6 DUP2 DUP2 LT PUSH2 0xAC2 JUMPI PUSH2 0xAC1 PUSH2 0x172D JUMP JUMPDEST JUMPDEST SWAP1 POP PUSH1 0x60 MUL ADD PUSH2 0xB8D JUMP JUMPDEST PUSH2 0xB03 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8BAA579F00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP8 DUP8 DUP3 DUP2 DUP2 LT PUSH2 0xB16 JUMPI PUSH2 0xB15 PUSH2 0x172D JUMP JUMPDEST JUMPDEST SWAP1 POP PUSH1 0x40 MUL ADD PUSH1 0x20 ADD CALLDATALOAD DUP3 PUSH2 0xB2B SWAP2 SWAP1 PUSH2 0x17EF JUMP JUMPDEST SWAP2 POP DUP3 DUP3 LT ISZERO PUSH2 0xB49 JUMPI JUMPDEST DUP1 DUP1 PUSH2 0xB41 SWAP1 PUSH2 0x1823 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x9EC JUMP JUMPDEST POP DUP2 DUP2 LT ISZERO PUSH2 0xB84 JUMPI PUSH1 0x40 MLOAD PUSH32 0xCABEB65500000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP4 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xBA2 SWAP2 SWAP1 PUSH2 0x188C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE PUSH1 0x40 MLOAD PUSH2 0xBBE SWAP2 SWAP1 PUSH2 0x1918 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xBDB JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xBFE SWAP2 SWAP1 PUSH2 0x1944 JUMP JUMPDEST SWAP3 POP PUSH1 0x0 DUP1 PUSH2 0xC29 DUP6 DUP6 PUSH1 0x0 ADD PUSH1 0x20 DUP2 ADD SWAP1 PUSH2 0xC1A SWAP2 SWAP1 PUSH2 0x1795 JUMP JUMPDEST DUP7 PUSH1 0x20 ADD CALLDATALOAD DUP8 PUSH1 0x40 ADD CALLDATALOAD PUSH2 0xCC6 JUMP JUMPDEST POP SWAP2 POP SWAP2 POP PUSH1 0x0 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0xC42 JUMPI PUSH2 0xC41 PUSH2 0x1971 JUMP JUMPDEST JUMPDEST DUP2 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0xC55 JUMPI PUSH2 0xC54 PUSH2 0x1971 JUMP JUMPDEST JUMPDEST EQ PUSH2 0xC8C JUMPI PUSH1 0x40 MLOAD PUSH32 0x8BAA579F00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ SWAP3 POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH32 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D576E7357A4501DDFE92F46681B20A0 DUP5 PUSH1 0x0 SHR GT ISZERO PUSH2 0xD06 JUMPI PUSH1 0x0 PUSH1 0x3 DUP6 SWAP3 POP SWAP3 POP SWAP3 POP PUSH2 0xDB0 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP9 DUP9 DUP9 DUP9 PUSH1 0x40 MLOAD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MSTORE PUSH1 0x40 MLOAD PUSH2 0xD2B SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x19AF JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 SUB SWAP1 DUP1 DUP5 SUB SWAP1 DUP6 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xD4D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP PUSH1 0x20 PUSH1 0x40 MLOAD SUB MLOAD SWAP1 POP PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0xDA1 JUMPI PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 DUP1 SHL SWAP4 POP SWAP4 POP SWAP4 POP POP PUSH2 0xDB0 JUMP JUMPDEST DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 SHL SWAP4 POP SWAP4 POP SWAP4 POP POP JUMPDEST SWAP5 POP SWAP5 POP SWAP5 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xDCF DUP2 PUSH2 0xDBA JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xDEA PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xDC6 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xE0D DUP2 PUSH2 0xDFA JUMP JUMPDEST DUP2 EQ PUSH2 0xE18 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xE2A DUP2 PUSH2 0xE04 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xE43 DUP2 PUSH2 0xE30 JUMP JUMPDEST DUP2 EQ PUSH2 0xE4E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xE60 DUP2 PUSH2 0xE3A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0xE7F JUMPI PUSH2 0xE7E PUSH2 0xDF0 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xE8D DUP7 DUP3 DUP8 ADD PUSH2 0xE1B JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 PUSH2 0xE9E DUP7 DUP3 DUP8 ADD PUSH2 0xE1B JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 PUSH2 0xEAF DUP7 DUP3 DUP8 ADD PUSH2 0xE51 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH2 0xEC2 DUP2 PUSH2 0xDFA JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xEDD PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xEB9 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0xEFD JUMPI PUSH2 0xEFC PUSH2 0xDF0 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xF0B DUP8 DUP3 DUP9 ADD PUSH2 0xE1B JUMP JUMPDEST SWAP5 POP POP PUSH1 0x20 PUSH2 0xF1C DUP8 DUP3 DUP9 ADD PUSH2 0xE1B JUMP JUMPDEST SWAP4 POP POP PUSH1 0x40 PUSH2 0xF2D DUP8 DUP3 DUP9 ADD PUSH2 0xE1B JUMP JUMPDEST SWAP3 POP POP PUSH1 0x60 PUSH2 0xF3E DUP8 DUP3 DUP9 ADD PUSH2 0xE51 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xF75 DUP3 PUSH2 0xF4A JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xF85 DUP2 PUSH2 0xF6A JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xFA0 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xF7C JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xFC1 JUMPI PUSH2 0xFC0 PUSH2 0xFA6 JUMP JUMPDEST JUMPDEST DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0xFEF JUMPI PUSH2 0xFEE PUSH2 0xFCA JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x100C JUMPI PUSH2 0x100B PUSH2 0xFCF JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x40 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0x1028 JUMPI PUSH2 0x1027 PUSH2 0xFD4 JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0x1045 JUMPI PUSH2 0x1044 PUSH2 0xFCA JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1062 JUMPI PUSH2 0x1061 PUSH2 0xFCF JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x60 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0x107E JUMPI PUSH2 0x107D PUSH2 0xFD4 JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x10A1 JUMPI PUSH2 0x10A0 PUSH2 0xDF0 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x10BF JUMPI PUSH2 0x10BE PUSH2 0xDF5 JUMP JUMPDEST JUMPDEST PUSH2 0x10CB DUP9 DUP3 DUP10 ADD PUSH2 0xFAB JUMP JUMPDEST SWAP6 POP POP PUSH1 0x20 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x10EC JUMPI PUSH2 0x10EB PUSH2 0xDF5 JUMP JUMPDEST JUMPDEST PUSH2 0x10F8 DUP9 DUP3 DUP10 ADD PUSH2 0xFD9 JUMP JUMPDEST SWAP5 POP SWAP5 POP POP PUSH1 0x40 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x111B JUMPI PUSH2 0x111A PUSH2 0xDF5 JUMP JUMPDEST JUMPDEST PUSH2 0x1127 DUP9 DUP3 DUP10 ADD PUSH2 0x102F JUMP JUMPDEST SWAP3 POP SWAP3 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1153 DUP2 PUSH2 0x1136 JUMP JUMPDEST DUP2 EQ PUSH2 0x115E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1170 DUP2 PUSH2 0x114A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP9 DUP11 SUB SLT ISZERO PUSH2 0x1195 JUMPI PUSH2 0x1194 PUSH2 0xDF0 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x11A3 DUP11 DUP3 DUP12 ADD PUSH2 0xE51 JUMP JUMPDEST SWAP8 POP POP PUSH1 0x20 PUSH2 0x11B4 DUP11 DUP3 DUP12 ADD PUSH2 0x1161 JUMP JUMPDEST SWAP7 POP POP PUSH1 0x40 PUSH2 0x11C5 DUP11 DUP3 DUP12 ADD PUSH2 0xE1B JUMP JUMPDEST SWAP6 POP POP PUSH1 0x60 DUP9 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x11E6 JUMPI PUSH2 0x11E5 PUSH2 0xDF5 JUMP JUMPDEST JUMPDEST PUSH2 0x11F2 DUP11 DUP3 DUP12 ADD PUSH2 0xFD9 JUMP JUMPDEST SWAP5 POP SWAP5 POP POP PUSH1 0x80 DUP9 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1215 JUMPI PUSH2 0x1214 PUSH2 0xDF5 JUMP JUMPDEST JUMPDEST PUSH2 0x1221 DUP11 DUP3 DUP12 ADD PUSH2 0x102F JUMP JUMPDEST SWAP3 POP SWAP3 POP POP SWAP3 SWAP6 SWAP9 SWAP2 SWAP5 SWAP8 POP SWAP3 SWAP6 POP JUMP JUMPDEST PUSH2 0x123B DUP2 PUSH2 0xE30 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1256 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1232 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x12C5 DUP3 PUSH2 0xDFA JUMP JUMPDEST SWAP2 POP PUSH2 0x12D0 DUP4 PUSH2 0xDFA JUMP JUMPDEST SWAP3 POP DUP3 PUSH2 0x12E0 JUMPI PUSH2 0x12DF PUSH2 0x125C JUMP JUMPDEST JUMPDEST DUP3 DUP3 DIV SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x12F6 DUP3 PUSH2 0xDFA JUMP JUMPDEST SWAP2 POP PUSH2 0x1301 DUP4 PUSH2 0xDFA JUMP JUMPDEST SWAP3 POP DUP3 DUP3 SUB SWAP1 POP DUP2 DUP2 GT ISZERO PUSH2 0x1319 JUMPI PUSH2 0x1318 PUSH2 0x128B JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH2 0x1334 PUSH1 0x0 DUP4 ADD DUP7 PUSH2 0xEB9 JUMP JUMPDEST PUSH2 0x1341 PUSH1 0x20 DUP4 ADD DUP6 PUSH2 0xEB9 JUMP JUMPDEST PUSH2 0x134E PUSH1 0x40 DUP4 ADD DUP5 PUSH2 0x1232 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x137A DUP2 PUSH2 0xF6A JUMP JUMPDEST DUP2 EQ PUSH2 0x1385 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1397 DUP2 PUSH2 0x1371 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x13AC PUSH1 0x20 DUP5 ADD DUP5 PUSH2 0x1388 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x13BD DUP2 PUSH2 0xF6A JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x13D2 PUSH1 0x20 DUP5 ADD DUP5 PUSH2 0xE1B JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x13E3 DUP2 PUSH2 0xDFA JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x40 DUP3 ADD PUSH2 0x13FA PUSH1 0x0 DUP4 ADD DUP4 PUSH2 0x139D JUMP JUMPDEST PUSH2 0x1407 PUSH1 0x0 DUP6 ADD DUP3 PUSH2 0x13B4 JUMP JUMPDEST POP PUSH2 0x1415 PUSH1 0x20 DUP4 ADD DUP4 PUSH2 0x13C3 JUMP JUMPDEST PUSH2 0x1422 PUSH1 0x20 DUP6 ADD DUP3 PUSH2 0x13DA JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1434 DUP4 DUP4 PUSH2 0x13E9 JUMP JUMPDEST PUSH1 0x40 DUP4 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1464 DUP4 DUP6 PUSH2 0x1356 JUMP JUMPDEST SWAP4 POP PUSH2 0x146F DUP3 PUSH2 0x1367 JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0x14A8 JUMPI PUSH2 0x1485 DUP3 DUP5 PUSH2 0x1440 JUMP JUMPDEST PUSH2 0x148F DUP9 DUP3 PUSH2 0x1428 JUMP JUMPDEST SWAP8 POP PUSH2 0x149A DUP4 PUSH2 0x144B JUMP JUMPDEST SWAP3 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x1473 JUMP JUMPDEST POP DUP6 SWAP3 POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x14D0 DUP2 DUP5 DUP7 PUSH2 0x1458 JUMP JUMPDEST SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP3 CALLDATALOAD PUSH1 0x1 PUSH1 0xC0 SUB DUP4 CALLDATASIZE SUB SUB DUP2 SLT PUSH2 0x1504 JUMPI PUSH2 0x1503 PUSH2 0x14D9 JUMP JUMPDEST JUMPDEST DUP1 DUP4 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 CALLDATALOAD PUSH1 0x1 PUSH1 0x20 SUB DUP5 CALLDATASIZE SUB SUB DUP2 SLT PUSH2 0x152D JUMPI PUSH2 0x152C PUSH2 0x14D9 JUMP JUMPDEST JUMPDEST DUP1 DUP5 ADD SWAP3 POP DUP3 CALLDATALOAD SWAP2 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x154F JUMPI PUSH2 0x154E PUSH2 0x14DE JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP3 POP PUSH1 0x1 DUP3 MUL CALLDATASIZE SUB DUP4 SGT ISZERO PUSH2 0x156B JUMPI PUSH2 0x156A PUSH2 0x14E3 JUMP JUMPDEST JUMPDEST POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x15B0 DUP4 DUP6 PUSH2 0x1573 JUMP JUMPDEST SWAP4 POP PUSH2 0x15BD DUP4 DUP6 DUP5 PUSH2 0x1584 JUMP JUMPDEST PUSH2 0x15C6 DUP4 PUSH2 0x1593 JUMP JUMPDEST DUP5 ADD SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x140 DUP3 ADD SWAP1 POP PUSH2 0x15E7 PUSH1 0x0 DUP4 ADD DUP15 PUSH2 0x1232 JUMP JUMPDEST PUSH2 0x15F4 PUSH1 0x20 DUP4 ADD DUP14 PUSH2 0x1232 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x1607 DUP2 DUP12 DUP14 PUSH2 0x15A4 JUMP JUMPDEST SWAP1 POP PUSH2 0x1616 PUSH1 0x60 DUP4 ADD DUP11 PUSH2 0xEB9 JUMP JUMPDEST PUSH2 0x1623 PUSH1 0x80 DUP4 ADD DUP10 PUSH2 0xEB9 JUMP JUMPDEST PUSH2 0x1630 PUSH1 0xA0 DUP4 ADD DUP9 PUSH2 0xEB9 JUMP JUMPDEST PUSH2 0x163D PUSH1 0xC0 DUP4 ADD DUP8 PUSH2 0xEB9 JUMP JUMPDEST PUSH2 0x164A PUSH1 0xE0 DUP4 ADD DUP7 PUSH2 0x1232 JUMP JUMPDEST PUSH2 0x1658 PUSH2 0x100 DUP4 ADD DUP6 PUSH2 0xEB9 JUMP JUMPDEST PUSH2 0x1666 PUSH2 0x120 DUP4 ADD DUP5 PUSH2 0xEB9 JUMP JUMPDEST SWAP13 SWAP12 POP POP POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x169B PUSH2 0x1696 PUSH2 0x1691 DUP5 PUSH2 0x1136 JUMP JUMPDEST PUSH2 0x1676 JUMP JUMPDEST PUSH2 0xDFA JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x16AB DUP2 PUSH2 0x1680 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH2 0x16C6 PUSH1 0x0 DUP4 ADD DUP7 PUSH2 0x16A2 JUMP JUMPDEST PUSH2 0x16D3 PUSH1 0x20 DUP4 ADD DUP6 PUSH2 0xEB9 JUMP JUMPDEST PUSH2 0x16E0 PUSH1 0x40 DUP4 ADD DUP5 PUSH2 0x1232 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x80 DUP3 ADD SWAP1 POP PUSH2 0x16FD PUSH1 0x0 DUP4 ADD DUP8 PUSH2 0x1232 JUMP JUMPDEST PUSH2 0x170A PUSH1 0x20 DUP4 ADD DUP7 PUSH2 0xEB9 JUMP JUMPDEST PUSH2 0x1717 PUSH1 0x40 DUP4 ADD DUP6 PUSH2 0xEB9 JUMP JUMPDEST PUSH2 0x1724 PUSH1 0x60 DUP4 ADD DUP5 PUSH2 0x1232 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0xFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1772 DUP2 PUSH2 0x175C JUMP JUMPDEST DUP2 EQ PUSH2 0x177D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x178F DUP2 PUSH2 0x1769 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x17AB JUMPI PUSH2 0x17AA PUSH2 0xDF0 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x17B9 DUP5 DUP3 DUP6 ADD PUSH2 0x1780 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x17D8 JUMPI PUSH2 0x17D7 PUSH2 0xDF0 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x17E6 DUP5 DUP3 DUP6 ADD PUSH2 0x1388 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x17FA DUP3 PUSH2 0xDFA JUMP JUMPDEST SWAP2 POP PUSH2 0x1805 DUP4 PUSH2 0xDFA JUMP JUMPDEST SWAP3 POP DUP3 DUP3 ADD SWAP1 POP DUP1 DUP3 GT ISZERO PUSH2 0x181D JUMPI PUSH2 0x181C PUSH2 0x128B JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x182E DUP3 PUSH2 0xDFA JUMP JUMPDEST SWAP2 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 SUB PUSH2 0x1860 JUMPI PUSH2 0x185F PUSH2 0x128B JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1886 PUSH2 0x1881 DUP3 PUSH2 0xE30 JUMP JUMPDEST PUSH2 0x186B JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1898 DUP3 DUP5 PUSH2 0x1875 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP2 POP DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x18DB JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x18C0 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x18F2 DUP3 PUSH2 0x18A7 JUMP JUMPDEST PUSH2 0x18FC DUP2 DUP6 PUSH2 0x18B2 JUMP JUMPDEST SWAP4 POP PUSH2 0x190C DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x18BD JUMP JUMPDEST DUP1 DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1924 DUP3 DUP5 PUSH2 0x18E7 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x193E DUP2 PUSH2 0xE3A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x195A JUMPI PUSH2 0x1959 PUSH2 0xDF0 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1968 DUP5 DUP3 DUP6 ADD PUSH2 0x192F JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x19A9 DUP2 PUSH2 0x175C JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x80 DUP3 ADD SWAP1 POP PUSH2 0x19C4 PUSH1 0x0 DUP4 ADD DUP8 PUSH2 0x1232 JUMP JUMPDEST PUSH2 0x19D1 PUSH1 0x20 DUP4 ADD DUP7 PUSH2 0x19A0 JUMP JUMPDEST PUSH2 0x19DE PUSH1 0x40 DUP4 ADD DUP6 PUSH2 0x1232 JUMP JUMPDEST PUSH2 0x19EB PUSH1 0x60 DUP4 ADD DUP5 PUSH2 0x1232 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 DUP11 0x4E 0x27 0xDB NUMBER 0xC9 PUSH21 0xB180DDEA3C0F3E4138731AC4B9BD11334386ECBAA9 BLOCKHASH NUMBER SWAP5 PUSH22 0x64736F6C634300081300330000000000000000000000 ","sourceMap":"949:11667:1:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1574:23;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4694:768;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1644:44;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3756:567;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1007:23;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1407:33;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7909:1482;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1305:30;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5967:1673;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2232:60;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1113:41;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1220:29;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1739:170;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1505:23;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1574;;;;;;;;;;;;;:::o;4694:768::-;4883:8;;;;;;;;;;4869:22;;:10;:22;;;4865:73;;4914:13;;;;;;;;;;;;;;4865:73;5008:15;;1684:4;4970:18;;:34;;;;:::i;:::-;4951:15;:54;;;;:::i;:::-;:72;4947:132;;;5046:22;;;;;;;;;;;;;;4947:132;5115:18;;5092:19;:41;5088:111;;5156:32;;;;;;;;;;;;;;5088:111;5225:15;5208:14;:32;;;;5271:19;5250:18;:40;;;;5329:23;5300:26;:52;;;;5367:88;5393:15;5410:19;5431:23;5367:88;;;;;;;;:::i;:::-;;;;;;;;4694:768;;;:::o;1644:44::-;1684:4;1644:44;:::o;3756:567::-;3958:8;;;;;;;;;;;3944:22;;:10;:22;;;3940:73;;3989:13;;;;;;;;;;;;;;3940:73;4026:11;;;;;;;;;;;4022:69;;;4060:20;;;;;;;;;;;;;;4022:69;4114:4;4100:11;;:18;;;;;;;;;;;;;;;;;;4145:15;4128:14;:32;;;;4191:19;4170:18;:40;;;;4238:16;4220:15;:34;;;;4293:23;4264:26;:52;;;;3756:567;;;;:::o;1007:23::-;;;;;;;;;;;;:::o;1407:33::-;;;;:::o;7909:1482::-;8138:5;;:12;;8107:20;;:27;;:43;8103:111;;8173:30;;;;;;;;;;;;;;8103:111;8505:26;;8327:174;8376:14;;8408:18;;8465:20;;8454:32;;;;;;;;;:::i;:::-;;;;;;;;;;;;;8444:43;;;;;;8327:31;:174::i;:::-;:204;8310:293;;8563:29;;;;;;;;;;;;;;8310:293;8612:19;1843:66;8693:39;;8754:11;:19;;;8795:11;:18;;;;;;;;:::i;:::-;:24;;;;;;;;:::i;:::-;8841:11;:18;;;;;;;;:::i;:::-;:28;;;8891:11;:18;;;;;;;;:::i;:::-;:33;;;8946:11;:18;;;;;;;;:::i;:::-;:36;;;9004:11;:18;;;;;;;;:::i;:::-;:32;;;9058:26;;9106:11;:32;;;9160:11;:18;;;;;;;;:::i;:::-;:41;;;8661:558;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;8634:599;;;;;;8612:621;;9243:141;9282:20;;9316:5;;9335:11;9360:14;;9243:25;:141::i;:::-;8093:1298;7909:1482;;;;;:::o;1305:30::-;;;;:::o;5967:1673::-;6255:5;;:12;;6224:20;;:27;;:43;6220:111;;6290:30;;;;;;;;;;;;;;6220:111;6369:18;;6344:22;:43;6340:113;;;6410:32;;;;;;;;;;;;;;6340:113;6488:1;6466:18;:23;;;6462:84;;6512:23;;;;;;;;;;;;;;6462:84;6642:32;6698:20;;6687:32;;;;;;;;;:::i;:::-;;;;;;;;;;;;;6677:43;;;;;;6642:78;;6906:26;;6747:155;6796:14;;6828:18;;6864:24;6747:31;:155::i;:::-;:185;6730:274;;6964:29;;;;;;;;;;;;;;6730:274;7014:22;7039:143;7084:18;7039:143;;7116:22;7152:20;7039:31;:143::i;:::-;7014:168;;7192:144;7231:20;;7265:5;;7284:14;7312;;7192:25;:144::i;:::-;7375:14;7346:26;:43;;;;7416:18;7399:35;;:14;:35;;;;7465:22;7444:18;:43;;;;7502:131;7535:18;7567:22;7603:20;7502:131;;;;;;;;:::i;:::-;;;;;;;;6210:1430;;5967:1673;;;;;;;:::o;2232:60::-;;;:::o;1113:41::-;;;;:::o;1220:29::-;;;;:::o;1739:170::-;1843:66;1739:170;;;:::o;1505:23::-;;;;;;;;;;;;;:::o;11451:463::-;11626:7;11723:35;11780:15;11817:19;11858:17;11691:202;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;11664:243;;;;;;11645:262;;11451:463;;;;;:::o;9835:1227::-;10158:15;;1684:4;10120:18;;:34;;;;:::i;:::-;10101:15;:54;;;;:::i;:::-;:72;10097:129;;;10196:19;;;;;;;;;;;;;;10097:129;10235:24;10278:10;10273:677;10299:18;;:25;;10294:2;:30;10273:677;;;10440:1;10425:16;;:5;;10431:2;10425:9;;;;;;;:::i;:::-;;;;;;;:11;;;:16;:36;;;;;10460:1;10445:16;;:5;;10451:2;10445:9;;;;;;;:::i;:::-;;;;;;;:11;;;:16;10425:36;:56;;;;;10480:1;10465:5;;10471:2;10465:9;;;;;;;:::i;:::-;;;;;;;:11;;;;;;;;;;:::i;:::-;:16;;;10425:56;10501:8;10421:103;10618:59;10629:18;;10648:2;10629:22;;;;;;;:::i;:::-;;;;;;;:27;;;;;;;;;;:::i;:::-;10658:7;10667:5;;10673:2;10667:9;;;;;;;:::i;:::-;;;;;;;10618:10;:59::i;:::-;10613:124;;10704:18;;;;;;;;;;;;;;10613:124;10770:18;;10789:2;10770:22;;;;;;;:::i;:::-;;;;;;;:28;;;10750:48;;;;;:::i;:::-;;;10885:15;10865:16;:35;10861:79;10920:5;10861:79;10273:677;10326:4;;;;;:::i;:::-;;;;10273:677;;;;10982:15;10963:16;:34;10959:97;;;11020:25;;;;;;;;;;;;;;10959:97;10087:975;9835:1227;;;;;;:::o;12186:428::-;12318:4;12344:33;12368:7;12351:25;;;;;;;;:::i;:::-;;;;;;;;;;;;;12344:33;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12334:43;;12388:18;12408;12432:43;12443:7;12452:4;:6;;;;;;;;;;:::i;:::-;12460:4;:6;;;12468:4;:6;;;12432:10;:43::i;:::-;12387:88;;;;;12498:20;12489:29;;;;;;;;:::i;:::-;;:5;:29;;;;;;;;:::i;:::-;;;12485:85;;12541:18;;;;;;;;;;;;;;12485:85;12597:10;12586:21;;:7;:21;;;12579:28;;;;12186:428;;;;;:::o;5439:1564:0:-;5565:7;5574:12;5588:7;6523:66;6506:1;6498:10;;:91;6481:198;;;6630:1;6634:30;6666:1;6614:54;;;;;;;;6481:198;6773:14;6790:24;6800:4;6806:1;6809;6812;6790:24;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6773:41;;6846:1;6828:20;;:6;:20;;;6824:113;;6880:1;6884:29;6923:1;6915:10;;6864:62;;;;;;;;;6824:113;6955:6;6963:20;6993:1;6985:10;;6947:49;;;;;;;5439:1564;;;;;;;;;:::o;7:90:4:-;41:7;84:5;77:13;70:21;59:32;;7:90;;;:::o;103:109::-;184:21;199:5;184:21;:::i;:::-;179:3;172:34;103:109;;:::o;218:210::-;305:4;343:2;332:9;328:18;320:26;;356:65;418:1;407:9;403:17;394:6;356:65;:::i;:::-;218:210;;;;:::o;515:117::-;624:1;621;614:12;638:117;747:1;744;737:12;761:77;798:7;827:5;816:16;;761:77;;;:::o;844:122::-;917:24;935:5;917:24;:::i;:::-;910:5;907:35;897:63;;956:1;953;946:12;897:63;844:122;:::o;972:139::-;1018:5;1056:6;1043:20;1034:29;;1072:33;1099:5;1072:33;:::i;:::-;972:139;;;;:::o;1117:77::-;1154:7;1183:5;1172:16;;1117:77;;;:::o;1200:122::-;1273:24;1291:5;1273:24;:::i;:::-;1266:5;1263:35;1253:63;;1312:1;1309;1302:12;1253:63;1200:122;:::o;1328:139::-;1374:5;1412:6;1399:20;1390:29;;1428:33;1455:5;1428:33;:::i;:::-;1328:139;;;;:::o;1473:619::-;1550:6;1558;1566;1615:2;1603:9;1594:7;1590:23;1586:32;1583:119;;;1621:79;;:::i;:::-;1583:119;1741:1;1766:53;1811:7;1802:6;1791:9;1787:22;1766:53;:::i;:::-;1756:63;;1712:117;1868:2;1894:53;1939:7;1930:6;1919:9;1915:22;1894:53;:::i;:::-;1884:63;;1839:118;1996:2;2022:53;2067:7;2058:6;2047:9;2043:22;2022:53;:::i;:::-;2012:63;;1967:118;1473:619;;;;;:::o;2098:118::-;2185:24;2203:5;2185:24;:::i;:::-;2180:3;2173:37;2098:118;;:::o;2222:222::-;2315:4;2353:2;2342:9;2338:18;2330:26;;2366:71;2434:1;2423:9;2419:17;2410:6;2366:71;:::i;:::-;2222:222;;;;:::o;2450:765::-;2536:6;2544;2552;2560;2609:3;2597:9;2588:7;2584:23;2580:33;2577:120;;;2616:79;;:::i;:::-;2577:120;2736:1;2761:53;2806:7;2797:6;2786:9;2782:22;2761:53;:::i;:::-;2751:63;;2707:117;2863:2;2889:53;2934:7;2925:6;2914:9;2910:22;2889:53;:::i;:::-;2879:63;;2834:118;2991:2;3017:53;3062:7;3053:6;3042:9;3038:22;3017:53;:::i;:::-;3007:63;;2962:118;3119:2;3145:53;3190:7;3181:6;3170:9;3166:22;3145:53;:::i;:::-;3135:63;;3090:118;2450:765;;;;;;;:::o;3221:126::-;3258:7;3298:42;3291:5;3287:54;3276:65;;3221:126;;;:::o;3353:96::-;3390:7;3419:24;3437:5;3419:24;:::i;:::-;3408:35;;3353:96;;;:::o;3455:118::-;3542:24;3560:5;3542:24;:::i;:::-;3537:3;3530:37;3455:118;;:::o;3579:222::-;3672:4;3710:2;3699:9;3695:18;3687:26;;3723:71;3791:1;3780:9;3776:17;3767:6;3723:71;:::i;:::-;3579:222;;;;:::o;3807:117::-;3916:1;3913;3906:12;3966:244;4052:5;4093:2;4084:6;4079:3;4075:16;4071:25;4068:112;;;4099:79;;:::i;:::-;4068:112;4198:6;4189:15;;3966:244;;;;:::o;4216:117::-;4325:1;4322;4315:12;4339:117;4448:1;4445;4438:12;4462:117;4571:1;4568;4561:12;4611:596;4712:8;4722:6;4772:3;4765:4;4757:6;4753:17;4749:27;4739:122;;4780:79;;:::i;:::-;4739:122;4893:6;4880:20;4870:30;;4923:18;4915:6;4912:30;4909:117;;;4945:79;;:::i;:::-;4909:117;5059:4;5051:6;5047:17;5035:29;;5113:3;5105:4;5097:6;5093:17;5083:8;5079:32;5076:41;5073:128;;;5120:79;;:::i;:::-;5073:128;4611:596;;;;;:::o;5239:::-;5340:8;5350:6;5400:3;5393:4;5385:6;5381:17;5377:27;5367:122;;5408:79;;:::i;:::-;5367:122;5521:6;5508:20;5498:30;;5551:18;5543:6;5540:30;5537:117;;;5573:79;;:::i;:::-;5537:117;5687:4;5679:6;5675:17;5663:29;;5741:3;5733:4;5725:6;5721:17;5711:8;5707:32;5704:41;5701:128;;;5748:79;;:::i;:::-;5701:128;5239:596;;;;;:::o;5841:1431::-;6068:6;6076;6084;6092;6100;6149:2;6137:9;6128:7;6124:23;6120:32;6117:119;;;6155:79;;:::i;:::-;6117:119;6303:1;6292:9;6288:17;6275:31;6333:18;6325:6;6322:30;6319:117;;;6355:79;;:::i;:::-;6319:117;6460:93;6545:7;6536:6;6525:9;6521:22;6460:93;:::i;:::-;6450:103;;6246:317;6630:2;6619:9;6615:18;6602:32;6661:18;6653:6;6650:30;6647:117;;;6683:79;;:::i;:::-;6647:117;6796:108;6896:7;6887:6;6876:9;6872:22;6796:108;:::i;:::-;6778:126;;;;6573:341;6981:2;6970:9;6966:18;6953:32;7012:18;7004:6;7001:30;6998:117;;;7034:79;;:::i;:::-;6998:117;7147:108;7247:7;7238:6;7227:9;7223:22;7147:108;:::i;:::-;7129:126;;;;6924:341;5841:1431;;;;;;;;:::o;7278:101::-;7314:7;7354:18;7347:5;7343:30;7332:41;;7278:101;;;:::o;7385:120::-;7457:23;7474:5;7457:23;:::i;:::-;7450:5;7447:34;7437:62;;7495:1;7492;7485:12;7437:62;7385:120;:::o;7511:137::-;7556:5;7594:6;7581:20;7572:29;;7610:32;7636:5;7610:32;:::i;:::-;7511:137;;;;:::o;7654:1481::-;7858:6;7866;7874;7882;7890;7898;7906;7955:3;7943:9;7934:7;7930:23;7926:33;7923:120;;;7962:79;;:::i;:::-;7923:120;8082:1;8107:53;8152:7;8143:6;8132:9;8128:22;8107:53;:::i;:::-;8097:63;;8053:117;8209:2;8235:52;8279:7;8270:6;8259:9;8255:22;8235:52;:::i;:::-;8225:62;;8180:117;8336:2;8362:53;8407:7;8398:6;8387:9;8383:22;8362:53;:::i;:::-;8352:63;;8307:118;8492:2;8481:9;8477:18;8464:32;8523:18;8515:6;8512:30;8509:117;;;8545:79;;:::i;:::-;8509:117;8658:108;8758:7;8749:6;8738:9;8734:22;8658:108;:::i;:::-;8640:126;;;;8435:341;8843:3;8832:9;8828:19;8815:33;8875:18;8867:6;8864:30;8861:117;;;8897:79;;:::i;:::-;8861:117;9010:108;9110:7;9101:6;9090:9;9086:22;9010:108;:::i;:::-;8992:126;;;;8786:342;7654:1481;;;;;;;;;;:::o;9141:118::-;9228:24;9246:5;9228:24;:::i;:::-;9223:3;9216:37;9141:118;;:::o;9265:222::-;9358:4;9396:2;9385:9;9381:18;9373:26;;9409:71;9477:1;9466:9;9462:17;9453:6;9409:71;:::i;:::-;9265:222;;;;:::o;9493:180::-;9541:77;9538:1;9531:88;9638:4;9635:1;9628:15;9662:4;9659:1;9652:15;9679:180;9727:77;9724:1;9717:88;9824:4;9821:1;9814:15;9848:4;9845:1;9838:15;9865:185;9905:1;9922:20;9940:1;9922:20;:::i;:::-;9917:25;;9956:20;9974:1;9956:20;:::i;:::-;9951:25;;9995:1;9985:35;;10000:18;;:::i;:::-;9985:35;10042:1;10039;10035:9;10030:14;;9865:185;;;;:::o;10056:194::-;10096:4;10116:20;10134:1;10116:20;:::i;:::-;10111:25;;10150:20;10168:1;10150:20;:::i;:::-;10145:25;;10194:1;10191;10187:9;10179:17;;10218:1;10212:4;10209:11;10206:37;;;10223:18;;:::i;:::-;10206:37;10056:194;;;;:::o;10256:442::-;10405:4;10443:2;10432:9;10428:18;10420:26;;10456:71;10524:1;10513:9;10509:17;10500:6;10456:71;:::i;:::-;10537:72;10605:2;10594:9;10590:18;10581:6;10537:72;:::i;:::-;10619;10687:2;10676:9;10672:18;10663:6;10619:72;:::i;:::-;10256:442;;;;;;:::o;10704:210::-;10829:11;10863:6;10858:3;10851:19;10903:4;10898:3;10894:14;10879:29;;10704:210;;;;:::o;10920:130::-;11017:4;11040:3;11032:11;;10920:130;;;:::o;11056:122::-;11129:24;11147:5;11129:24;:::i;:::-;11122:5;11119:35;11109:63;;11168:1;11165;11158:12;11109:63;11056:122;:::o;11184:139::-;11230:5;11268:6;11255:20;11246:29;;11284:33;11311:5;11284:33;:::i;:::-;11184:139;;;;:::o;11329:122::-;11381:5;11406:39;11441:2;11436:3;11432:12;11427:3;11406:39;:::i;:::-;11397:48;;11329:122;;;;:::o;11457:108::-;11534:24;11552:5;11534:24;:::i;:::-;11529:3;11522:37;11457:108;;:::o;11571:122::-;11623:5;11648:39;11683:2;11678:3;11674:12;11669:3;11648:39;:::i;:::-;11639:48;;11571:122;;;;:::o;11699:108::-;11776:24;11794:5;11776:24;:::i;:::-;11771:3;11764:37;11699:108;;:::o;11857:556::-;11998:4;11993:3;11989:14;12068:50;12112:4;12105:5;12101:16;12094:5;12068:50;:::i;:::-;12131:63;12188:4;12183:3;12179:14;12165:12;12131:63;:::i;:::-;12013:191;12270:50;12314:4;12307:5;12303:16;12296:5;12270:50;:::i;:::-;12333:63;12390:4;12385:3;12381:14;12367:12;12333:63;:::i;:::-;12214:192;11967:446;11857:556;;:::o;12419:287::-;12542:10;12563:100;12659:3;12651:6;12563:100;:::i;:::-;12695:4;12690:3;12686:14;12672:28;;12419:287;;;;:::o;12712:114::-;12792:5;12817:3;12808:12;;12712:114;;;;:::o;12832:143::-;12932:4;12964;12959:3;12955:14;12947:22;;12832:143;;;:::o;13029:917::-;13212:3;13235:112;13340:6;13335:3;13235:112;:::i;:::-;13228:119;;13371:86;13451:5;13371:86;:::i;:::-;13480:7;13511:1;13496:425;13521:6;13518:1;13515:13;13496:425;;;13591:70;13654:6;13645:7;13591:70;:::i;:::-;13681:117;13794:3;13779:13;13681:117;:::i;:::-;13674:124;;13821:90;13904:6;13821:90;:::i;:::-;13811:100;;13556:365;13543:1;13540;13536:9;13531:14;;13496:425;;;13500:14;13937:3;13930:10;;13217:729;;13029:917;;;;;:::o;13952:501::-;14159:4;14197:2;14186:9;14182:18;14174:26;;14246:9;14240:4;14236:20;14232:1;14221:9;14217:17;14210:47;14274:172;14441:4;14432:6;14424;14274:172;:::i;:::-;14266:180;;13952:501;;;;;:::o;14459:117::-;14568:1;14565;14558:12;14582:117;14691:1;14688;14681:12;14705:117;14814:1;14811;14804:12;14828:395;14923:4;14977:11;14964:25;15077:1;15071:4;15067:12;15056:8;15040:14;15036:29;15032:48;15012:18;15008:73;14998:168;;15085:79;;:::i;:::-;14998:168;15197:18;15187:8;15183:33;15175:41;;14928:295;14828:395;;;;:::o;15229:724::-;15306:4;15312:6;15368:11;15355:25;15468:1;15462:4;15458:12;15447:8;15431:14;15427:29;15423:48;15403:18;15399:73;15389:168;;15476:79;;:::i;:::-;15389:168;15588:18;15578:8;15574:33;15566:41;;15640:4;15627:18;15617:28;;15668:18;15660:6;15657:30;15654:117;;;15690:79;;:::i;:::-;15654:117;15798:2;15792:4;15788:13;15780:21;;15855:4;15847:6;15843:17;15827:14;15823:38;15817:4;15813:49;15810:136;;;15865:79;;:::i;:::-;15810:136;15319:634;15229:724;;;;;:::o;15959:168::-;16042:11;16076:6;16071:3;16064:19;16116:4;16111:3;16107:14;16092:29;;15959:168;;;;:::o;16133:146::-;16230:6;16225:3;16220;16207:30;16271:1;16262:6;16257:3;16253:16;16246:27;16133:146;;;:::o;16285:102::-;16326:6;16377:2;16373:7;16368:2;16361:5;16357:14;16353:28;16343:38;;16285:102;;;:::o;16415:314::-;16511:3;16532:70;16595:6;16590:3;16532:70;:::i;:::-;16525:77;;16612:56;16661:6;16656:3;16649:5;16612:56;:::i;:::-;16693:29;16715:6;16693:29;:::i;:::-;16688:3;16684:39;16677:46;;16415:314;;;;;:::o;16735:1328::-;17109:4;17147:3;17136:9;17132:19;17124:27;;17161:71;17229:1;17218:9;17214:17;17205:6;17161:71;:::i;:::-;17242:72;17310:2;17299:9;17295:18;17286:6;17242:72;:::i;:::-;17361:9;17355:4;17351:20;17346:2;17335:9;17331:18;17324:48;17389:86;17470:4;17461:6;17453;17389:86;:::i;:::-;17381:94;;17485:72;17553:2;17542:9;17538:18;17529:6;17485:72;:::i;:::-;17567:73;17635:3;17624:9;17620:19;17611:6;17567:73;:::i;:::-;17650;17718:3;17707:9;17703:19;17694:6;17650:73;:::i;:::-;17733;17801:3;17790:9;17786:19;17777:6;17733:73;:::i;:::-;17816;17884:3;17873:9;17869:19;17860:6;17816:73;:::i;:::-;17899;17967:3;17956:9;17952:19;17943:6;17899:73;:::i;:::-;17982:74;18051:3;18040:9;18036:19;18026:7;17982:74;:::i;:::-;16735:1328;;;;;;;;;;;;;;:::o;18069:60::-;18097:3;18118:5;18111:12;;18069:60;;;:::o;18135:140::-;18184:9;18217:52;18235:33;18244:23;18261:5;18244:23;:::i;:::-;18235:33;:::i;:::-;18217:52;:::i;:::-;18204:65;;18135:140;;;:::o;18281:129::-;18367:36;18397:5;18367:36;:::i;:::-;18362:3;18355:49;18281:129;;:::o;18416:440::-;18564:4;18602:2;18591:9;18587:18;18579:26;;18615:70;18682:1;18671:9;18667:17;18658:6;18615:70;:::i;:::-;18695:72;18763:2;18752:9;18748:18;18739:6;18695:72;:::i;:::-;18777;18845:2;18834:9;18830:18;18821:6;18777:72;:::i;:::-;18416:440;;;;;;:::o;18862:553::-;19039:4;19077:3;19066:9;19062:19;19054:27;;19091:71;19159:1;19148:9;19144:17;19135:6;19091:71;:::i;:::-;19172:72;19240:2;19229:9;19225:18;19216:6;19172:72;:::i;:::-;19254;19322:2;19311:9;19307:18;19298:6;19254:72;:::i;:::-;19336;19404:2;19393:9;19389:18;19380:6;19336:72;:::i;:::-;18862:553;;;;;;;:::o;19421:180::-;19469:77;19466:1;19459:88;19566:4;19563:1;19556:15;19590:4;19587:1;19580:15;19607:86;19642:7;19682:4;19675:5;19671:16;19660:27;;19607:86;;;:::o;19699:118::-;19770:22;19786:5;19770:22;:::i;:::-;19763:5;19760:33;19750:61;;19807:1;19804;19797:12;19750:61;19699:118;:::o;19823:135::-;19867:5;19905:6;19892:20;19883:29;;19921:31;19946:5;19921:31;:::i;:::-;19823:135;;;;:::o;19964:325::-;20021:6;20070:2;20058:9;20049:7;20045:23;20041:32;20038:119;;;20076:79;;:::i;:::-;20038:119;20196:1;20221:51;20264:7;20255:6;20244:9;20240:22;20221:51;:::i;:::-;20211:61;;20167:115;19964:325;;;;:::o;20295:329::-;20354:6;20403:2;20391:9;20382:7;20378:23;20374:32;20371:119;;;20409:79;;:::i;:::-;20371:119;20529:1;20554:53;20599:7;20590:6;20579:9;20575:22;20554:53;:::i;:::-;20544:63;;20500:117;20295:329;;;;:::o;20630:191::-;20670:3;20689:20;20707:1;20689:20;:::i;:::-;20684:25;;20723:20;20741:1;20723:20;:::i;:::-;20718:25;;20766:1;20763;20759:9;20752:16;;20787:3;20784:1;20781:10;20778:36;;;20794:18;;:::i;:::-;20778:36;20630:191;;;;:::o;20827:233::-;20866:3;20889:24;20907:5;20889:24;:::i;:::-;20880:33;;20935:66;20928:5;20925:77;20922:103;;21005:18;;:::i;:::-;20922:103;21052:1;21045:5;21041:13;21034:20;;20827:233;;;:::o;21066:79::-;21105:7;21134:5;21123:16;;21066:79;;;:::o;21151:157::-;21256:45;21276:24;21294:5;21276:24;:::i;:::-;21256:45;:::i;:::-;21251:3;21244:58;21151:157;;:::o;21314:256::-;21426:3;21441:75;21512:3;21503:6;21441:75;:::i;:::-;21541:2;21536:3;21532:12;21525:19;;21561:3;21554:10;;21314:256;;;;:::o;21576:98::-;21627:6;21661:5;21655:12;21645:22;;21576:98;;;:::o;21680:147::-;21781:11;21818:3;21803:18;;21680:147;;;;:::o;21833:246::-;21914:1;21924:113;21938:6;21935:1;21932:13;21924:113;;;22023:1;22018:3;22014:11;22008:18;22004:1;21999:3;21995:11;21988:39;21960:2;21957:1;21953:10;21948:15;;21924:113;;;22071:1;22062:6;22057:3;22053:16;22046:27;21895:184;21833:246;;;:::o;22085:386::-;22189:3;22217:38;22249:5;22217:38;:::i;:::-;22271:88;22352:6;22347:3;22271:88;:::i;:::-;22264:95;;22368:65;22426:6;22421:3;22414:4;22407:5;22403:16;22368:65;:::i;:::-;22458:6;22453:3;22449:16;22442:23;;22193:278;22085:386;;;;:::o;22477:271::-;22607:3;22629:93;22718:3;22709:6;22629:93;:::i;:::-;22622:100;;22739:3;22732:10;;22477:271;;;;:::o;22754:143::-;22811:5;22842:6;22836:13;22827:22;;22858:33;22885:5;22858:33;:::i;:::-;22754:143;;;;:::o;22903:351::-;22973:6;23022:2;23010:9;23001:7;22997:23;22993:32;22990:119;;;23028:79;;:::i;:::-;22990:119;23148:1;23173:64;23229:7;23220:6;23209:9;23205:22;23173:64;:::i;:::-;23163:74;;23119:128;22903:351;;;;:::o;23260:180::-;23308:77;23305:1;23298:88;23405:4;23402:1;23395:15;23429:4;23426:1;23419:15;23446:112;23529:22;23545:5;23529:22;:::i;:::-;23524:3;23517:35;23446:112;;:::o;23564:545::-;23737:4;23775:3;23764:9;23760:19;23752:27;;23789:71;23857:1;23846:9;23842:17;23833:6;23789:71;:::i;:::-;23870:68;23934:2;23923:9;23919:18;23910:6;23870:68;:::i;:::-;23948:72;24016:2;24005:9;24001:18;23992:6;23948:72;:::i;:::-;24030;24098:2;24087:9;24083:18;24074:6;24030:72;:::i;:::-;23564:545;;;;;;;:::o"},"methodIdentifiers":{"MS_PER_SECOND()":"1a8bcd34","NEW_REPORT_ATTESTATION_DOMAIN_SEPARATOR()":"bd7c3153","VALIDATOR_SET_HASH_DOMAIN_SEPARATOR()":"9e45a913","deployer()":"d5f39488","guardian()":"452a9320","guardianResetValidatorSet(uint256,uint256,bytes32)":"185bf52b","init(uint256,uint256,uint256,bytes32)":"4394f6f3","initialized()":"158ef93e","lastValidatorSetCheckpoint()":"af082a7d","powerThreshold()":"ba95ec27","unbondingPeriod()":"6cf6d675","updateValidatorSet(bytes32,uint64,uint256,(address,uint256)[],(uint8,bytes32,bytes32)[])":"84330d4c","validatorTimestamp()":"4f76f1ee","verifyOracleData((bytes32,(bytes,uint256,uint256,uint256,uint256,uint256),uint256),(address,uint256)[],(uint8,bytes32,bytes32)[])":"5e0d3b0f"}},"metadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_guardian\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"_validatorSetHashDomainSeparator\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"AlreadyInitialized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ECDSAInvalidSignature\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"ECDSAInvalidSignatureLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"ECDSAInvalidSignatureS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientVotingPower\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidPowerThreshold\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidSignature\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MalformedCurrentValidatorSet\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotDeployer\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotGuardian\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"StaleValidatorSet\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SuppliedValidatorSetInvalid\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ValidatorSetNotStale\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ValidatorTimestampMustIncrease\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_powerThreshold\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_validatorTimestamp\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"_validatorSetHash\",\"type\":\"bytes32\"}],\"name\":\"GuardianResetValidatorSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_powerThreshold\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_validatorTimestamp\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"_validatorSetHash\",\"type\":\"bytes32\"}],\"name\":\"ValidatorSetUpdated\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"MS_PER_SECOND\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NEW_REPORT_ATTESTATION_DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"VALIDATOR_SET_HASH_DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"deployer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"guardian\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_powerThreshold\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_validatorTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"_validatorSetCheckpoint\",\"type\":\"bytes32\"}],\"name\":\"guardianResetValidatorSet\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_powerThreshold\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_validatorTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_unbondingPeriod\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"_validatorSetCheckpoint\",\"type\":\"bytes32\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"initialized\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"lastValidatorSetCheckpoint\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"powerThreshold\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"unbondingPeriod\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_newValidatorSetHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"_newPowerThreshold\",\"type\":\"uint64\"},{\"internalType\":\"uint256\",\"name\":\"_newValidatorTimestamp\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"power\",\"type\":\"uint256\"}],\"internalType\":\"struct Validator[]\",\"name\":\"_currentValidatorSet\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"internalType\":\"struct Signature[]\",\"name\":\"_sigs\",\"type\":\"tuple[]\"}],\"name\":\"updateValidatorSet\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"validatorTimestamp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"queryId\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"aggregatePower\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"previousTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"nextTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"lastConsensusTimestamp\",\"type\":\"uint256\"}],\"internalType\":\"struct ReportData\",\"name\":\"report\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"attestationTimestamp\",\"type\":\"uint256\"}],\"internalType\":\"struct OracleAttestationData\",\"name\":\"_attestData\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"power\",\"type\":\"uint256\"}],\"internalType\":\"struct Validator[]\",\"name\":\"_currentValidatorSet\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"internalType\":\"struct Signature[]\",\"name\":\"_sigs\",\"type\":\"tuple[]\"}],\"name\":\"verifyOracleData\",\"outputs\":[],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"The relay relies on a set of signers to attest to some event on Tellor Layer. These signers are the validator set, who sign over every block. At least 2/3 of the voting power of the current view of the validator set must sign off on new relayed events.\",\"errors\":{\"ECDSAInvalidSignature()\":[{\"details\":\"The signature derives the `address(0)`.\"}],\"ECDSAInvalidSignatureLength(uint256)\":[{\"details\":\"The signature has an invalid length.\"}],\"ECDSAInvalidSignatureS(bytes32)\":[{\"details\":\"The signature has an S value that is in the upper half order.\"}]},\"kind\":\"dev\",\"methods\":{\"constructor\":{\"params\":{\"_guardian\":\"Guardian address.\"}},\"guardianResetValidatorSet(uint256,uint256,bytes32)\":{\"params\":{\"_powerThreshold\":\"Amount of voting power needed to approve operations.\",\"_validatorSetCheckpoint\":\"The hash of the validator set.\",\"_validatorTimestamp\":\"The timestamp of the block where validator set is updated.\"}},\"init(uint256,uint256,uint256,bytes32)\":{\"params\":{\"_powerThreshold\":\"Initial voting power that is needed to approve operations\",\"_unbondingPeriod\":\"Time period after which a validator can withdraw their stake.\",\"_validatorSetCheckpoint\":\"Initial checkpoint of the validator set.\",\"_validatorTimestamp\":\"Timestamp of the block where validator set is updated.\"}},\"updateValidatorSet(bytes32,uint64,uint256,(address,uint256)[],(uint8,bytes32,bytes32)[])\":{\"params\":{\"_currentValidatorSet\":\"The current validator set.\",\"_newPowerThreshold\":\"At least this much power must have signed.\",\"_newValidatorSetHash\":\"The hash of the new validator set.\",\"_newValidatorTimestamp\":\"The timestamp of the block where validator set is updated.\",\"_sigs\":\"Signatures.\"}},\"verifyOracleData((bytes32,(bytes,uint256,uint256,uint256,uint256,uint256),uint256),(address,uint256)[],(uint8,bytes32,bytes32)[])\":{\"params\":{\"_attestData\":\"The data being verified\",\"_currentValidatorSet\":\"array of current validator set\",\"_sigs\":\"Signatures.\"}}},\"title\":\"TellorDataBridge: Tellor Layer -> EVM, Oracle relay.\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"MS_PER_SECOND()\":{\"notice\":\"True if the contract is initialized.\"},\"constructor\":{\"notice\":\"Constructor for the TellorDataBridge contract.\"},\"deployer()\":{\"notice\":\"Timestamp of the block where validator set is updated.\"},\"guardianResetValidatorSet(uint256,uint256,bytes32)\":{\"notice\":\"This function is called by the guardian to reset the validator set only if it becomes stale.\"},\"init(uint256,uint256,uint256,bytes32)\":{\"notice\":\"This function is called only once by the deployer to initialize the contract\"},\"initialized()\":{\"notice\":\"Address that deployed the contract.\"},\"lastValidatorSetCheckpoint()\":{\"notice\":\"Able to reset the validator set only if the validator set becomes stale.\"},\"powerThreshold()\":{\"notice\":\"Domain-separated commitment to the latest validator set.\"},\"unbondingPeriod()\":{\"notice\":\"Voting power required to submit a new update.\"},\"updateValidatorSet(bytes32,uint64,uint256,(address,uint256)[],(uint8,bytes32,bytes32)[])\":{\"notice\":\"This updates the validator set by checking that the validators in the current validator set have signed off on the new validator set.\"},\"validatorTimestamp()\":{\"notice\":\"Time period after which a validator can withdraw their stake.\"},\"verifyOracleData((bytes32,(bytes,uint256,uint256,uint256,uint256,uint256),uint256),(address,uint256)[],(uint8,bytes32,bytes32)[])\":{\"notice\":\"This getter verifies a given piece of data vs Validator signatures\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/bridge/TellorDataBridge.sol\":\"TellorDataBridge\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/bridge/ECDSA.sol\":{\"keccak256\":\"0xd3cf86f8b73deb230943786cb7c5036b2b602fc3f7dc43f6cd1c06511831b8eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3cc6bb20c5239f6073c18604af3fc04c764984615a37d74b9cb24896465cb3c3\",\"dweb:/ipfs/QmPEMsTWcdXp6uAiPHiQGTCPCUsv161UvYZFGECJudFFoA\"]},\"contracts/bridge/TellorDataBridge.sol\":{\"keccak256\":\"0x21c5eae966078b8a9a354c9e2e5ad78a02a984f2f445084eaa8ba8e3cdf29b6f\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://ec6eb48821d89e81215f53d4bd6a20a4a512f859622ba5a220ee0ab6555ef9a4\",\"dweb:/ipfs/QmTcbTAmSsVccD1BGycmTkggo7QZZCMQTDn6xde297GbTn\"]}},\"version\":1}"}},"contracts/examples/YoloTellorUser.sol":{"YoloTellorUser":{"abi":[{"inputs":[{"internalType":"address","name":"_dataBridge","type":"address"},{"internalType":"bytes32","name":"_queryId","type":"bytes32"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"dataBridge","outputs":[{"internalType":"contract ITellorDataBridge","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCurrentData","outputs":[{"components":[{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"timestamp","type":"uint256"}],"internalType":"struct YoloTellorUser.OracleData","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getValueCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"oracleData","outputs":[{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"timestamp","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"queryId","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"bytes32","name":"queryId","type":"bytes32"},{"components":[{"internalType":"bytes","name":"value","type":"bytes"},{"internalType":"uint256","name":"timestamp","type":"uint256"},{"internalType":"uint256","name":"aggregatePower","type":"uint256"},{"internalType":"uint256","name":"previousTimestamp","type":"uint256"},{"internalType":"uint256","name":"nextTimestamp","type":"uint256"},{"internalType":"uint256","name":"lastConsensusTimestamp","type":"uint256"}],"internalType":"struct ReportData","name":"report","type":"tuple"},{"internalType":"uint256","name":"attestationTimestamp","type":"uint256"}],"internalType":"struct OracleAttestationData","name":"_attestData","type":"tuple"},{"components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"uint256","name":"power","type":"uint256"}],"internalType":"struct Validator[]","name":"_currentValidatorSet","type":"tuple[]"},{"components":[{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"internalType":"struct Signature[]","name":"_sigs","type":"tuple[]"}],"name":"updateOracleData","outputs":[],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{"@_993":{"entryPoint":null,"id":993,"parameterSlots":2,"returnSlots":0},"abi_decode_t_address_fromMemory":{"entryPoint":217,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_bytes32_fromMemory":{"entryPoint":276,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_addresst_bytes32_fromMemory":{"entryPoint":299,"id":null,"parameterSlots":2,"returnSlots":2},"allocate_unbounded":{"entryPoint":null,"id":null,"parameterSlots":0,"returnSlots":1},"cleanup_t_address":{"entryPoint":171,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_bytes32":{"entryPoint":240,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_uint160":{"entryPoint":139,"id":null,"parameterSlots":1,"returnSlots":1},"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db":{"entryPoint":null,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b":{"entryPoint":134,"id":null,"parameterSlots":0,"returnSlots":0},"validator_revert_t_address":{"entryPoint":191,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_t_bytes32":{"entryPoint":250,"id":null,"parameterSlots":1,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:1715:4","statements":[{"body":{"nodeType":"YulBlock","src":"47:35:4","statements":[{"nodeType":"YulAssignment","src":"57:19:4","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"73:2:4","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"67:5:4"},"nodeType":"YulFunctionCall","src":"67:9:4"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"57:6:4"}]}]},"name":"allocate_unbounded","nodeType":"YulFunctionDefinition","returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"40:6:4","type":""}],"src":"7:75:4"},{"body":{"nodeType":"YulBlock","src":"177:28:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"194:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"197:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"187:6:4"},"nodeType":"YulFunctionCall","src":"187:12:4"},"nodeType":"YulExpressionStatement","src":"187:12:4"}]},"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulFunctionDefinition","src":"88:117:4"},{"body":{"nodeType":"YulBlock","src":"300:28:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"317:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"320:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"310:6:4"},"nodeType":"YulFunctionCall","src":"310:12:4"},"nodeType":"YulExpressionStatement","src":"310:12:4"}]},"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulFunctionDefinition","src":"211:117:4"},{"body":{"nodeType":"YulBlock","src":"379:81:4","statements":[{"nodeType":"YulAssignment","src":"389:65:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"404:5:4"},{"kind":"number","nodeType":"YulLiteral","src":"411:42:4","type":"","value":"0xffffffffffffffffffffffffffffffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"400:3:4"},"nodeType":"YulFunctionCall","src":"400:54:4"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"389:7:4"}]}]},"name":"cleanup_t_uint160","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"361:5:4","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"371:7:4","type":""}],"src":"334:126:4"},{"body":{"nodeType":"YulBlock","src":"511:51:4","statements":[{"nodeType":"YulAssignment","src":"521:35:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"550:5:4"}],"functionName":{"name":"cleanup_t_uint160","nodeType":"YulIdentifier","src":"532:17:4"},"nodeType":"YulFunctionCall","src":"532:24:4"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"521:7:4"}]}]},"name":"cleanup_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"493:5:4","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"503:7:4","type":""}],"src":"466:96:4"},{"body":{"nodeType":"YulBlock","src":"611:79:4","statements":[{"body":{"nodeType":"YulBlock","src":"668:16:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"677:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"680:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"670:6:4"},"nodeType":"YulFunctionCall","src":"670:12:4"},"nodeType":"YulExpressionStatement","src":"670:12:4"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"634:5:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"659:5:4"}],"functionName":{"name":"cleanup_t_address","nodeType":"YulIdentifier","src":"641:17:4"},"nodeType":"YulFunctionCall","src":"641:24:4"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"631:2:4"},"nodeType":"YulFunctionCall","src":"631:35:4"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"624:6:4"},"nodeType":"YulFunctionCall","src":"624:43:4"},"nodeType":"YulIf","src":"621:63:4"}]},"name":"validator_revert_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"604:5:4","type":""}],"src":"568:122:4"},{"body":{"nodeType":"YulBlock","src":"759:80:4","statements":[{"nodeType":"YulAssignment","src":"769:22:4","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"784:6:4"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"778:5:4"},"nodeType":"YulFunctionCall","src":"778:13:4"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"769:5:4"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"827:5:4"}],"functionName":{"name":"validator_revert_t_address","nodeType":"YulIdentifier","src":"800:26:4"},"nodeType":"YulFunctionCall","src":"800:33:4"},"nodeType":"YulExpressionStatement","src":"800:33:4"}]},"name":"abi_decode_t_address_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"737:6:4","type":""},{"name":"end","nodeType":"YulTypedName","src":"745:3:4","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"753:5:4","type":""}],"src":"696:143:4"},{"body":{"nodeType":"YulBlock","src":"890:32:4","statements":[{"nodeType":"YulAssignment","src":"900:16:4","value":{"name":"value","nodeType":"YulIdentifier","src":"911:5:4"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"900:7:4"}]}]},"name":"cleanup_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"872:5:4","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"882:7:4","type":""}],"src":"845:77:4"},{"body":{"nodeType":"YulBlock","src":"971:79:4","statements":[{"body":{"nodeType":"YulBlock","src":"1028:16:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1037:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1040:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1030:6:4"},"nodeType":"YulFunctionCall","src":"1030:12:4"},"nodeType":"YulExpressionStatement","src":"1030:12:4"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"994:5:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1019:5:4"}],"functionName":{"name":"cleanup_t_bytes32","nodeType":"YulIdentifier","src":"1001:17:4"},"nodeType":"YulFunctionCall","src":"1001:24:4"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"991:2:4"},"nodeType":"YulFunctionCall","src":"991:35:4"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"984:6:4"},"nodeType":"YulFunctionCall","src":"984:43:4"},"nodeType":"YulIf","src":"981:63:4"}]},"name":"validator_revert_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"964:5:4","type":""}],"src":"928:122:4"},{"body":{"nodeType":"YulBlock","src":"1119:80:4","statements":[{"nodeType":"YulAssignment","src":"1129:22:4","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1144:6:4"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1138:5:4"},"nodeType":"YulFunctionCall","src":"1138:13:4"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"1129:5:4"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1187:5:4"}],"functionName":{"name":"validator_revert_t_bytes32","nodeType":"YulIdentifier","src":"1160:26:4"},"nodeType":"YulFunctionCall","src":"1160:33:4"},"nodeType":"YulExpressionStatement","src":"1160:33:4"}]},"name":"abi_decode_t_bytes32_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"1097:6:4","type":""},{"name":"end","nodeType":"YulTypedName","src":"1105:3:4","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"1113:5:4","type":""}],"src":"1056:143:4"},{"body":{"nodeType":"YulBlock","src":"1299:413:4","statements":[{"body":{"nodeType":"YulBlock","src":"1345:83:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"1347:77:4"},"nodeType":"YulFunctionCall","src":"1347:79:4"},"nodeType":"YulExpressionStatement","src":"1347:79:4"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1320:7:4"},{"name":"headStart","nodeType":"YulIdentifier","src":"1329:9:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1316:3:4"},"nodeType":"YulFunctionCall","src":"1316:23:4"},{"kind":"number","nodeType":"YulLiteral","src":"1341:2:4","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1312:3:4"},"nodeType":"YulFunctionCall","src":"1312:32:4"},"nodeType":"YulIf","src":"1309:119:4"},{"nodeType":"YulBlock","src":"1438:128:4","statements":[{"nodeType":"YulVariableDeclaration","src":"1453:15:4","value":{"kind":"number","nodeType":"YulLiteral","src":"1467:1:4","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"1457:6:4","type":""}]},{"nodeType":"YulAssignment","src":"1482:74:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1528:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"1539:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1524:3:4"},"nodeType":"YulFunctionCall","src":"1524:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1548:7:4"}],"functionName":{"name":"abi_decode_t_address_fromMemory","nodeType":"YulIdentifier","src":"1492:31:4"},"nodeType":"YulFunctionCall","src":"1492:64:4"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1482:6:4"}]}]},{"nodeType":"YulBlock","src":"1576:129:4","statements":[{"nodeType":"YulVariableDeclaration","src":"1591:16:4","value":{"kind":"number","nodeType":"YulLiteral","src":"1605:2:4","type":"","value":"32"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"1595:6:4","type":""}]},{"nodeType":"YulAssignment","src":"1621:74:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1667:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"1678:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1663:3:4"},"nodeType":"YulFunctionCall","src":"1663:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1687:7:4"}],"functionName":{"name":"abi_decode_t_bytes32_fromMemory","nodeType":"YulIdentifier","src":"1631:31:4"},"nodeType":"YulFunctionCall","src":"1631:64:4"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"1621:6:4"}]}]}]},"name":"abi_decode_tuple_t_addresst_bytes32_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1261:9:4","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1272:7:4","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1284:6:4","type":""},{"name":"value1","nodeType":"YulTypedName","src":"1292:6:4","type":""}],"src":"1205:507:4"}]},"contents":"{\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_address_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_address(value)\n }\n\n function cleanup_t_bytes32(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_bytes32(value) {\n if iszero(eq(value, cleanup_t_bytes32(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_bytes32_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_bytes32(value)\n }\n\n function abi_decode_tuple_t_addresst_bytes32_fromMemory(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_bytes32_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n}\n","id":4,"language":"Yul","name":"#utility.yul"}],"linkReferences":{},"object":"60806040523480156200001157600080fd5b5060405162000fe238038062000fe283398181016040528101906200003791906200012b565b816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600181905550505062000172565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620000b8826200008b565b9050919050565b620000ca81620000ab565b8114620000d657600080fd5b50565b600081519050620000ea81620000bf565b92915050565b6000819050919050565b6200010581620000f0565b81146200011157600080fd5b50565b6000815190506200012581620000fa565b92915050565b6000806040838503121562000145576200014462000086565b5b60006200015585828601620000d9565b9250506020620001688582860162000114565b9150509250929050565b610e6080620001826000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c80633f1be4d414610067578063413a89b414610085578063578855b2146100a357806361808010146100c1578063770b5414146100dd578063aa4dea00146100fb575b600080fd5b61006f61012c565b60405161007c91906103a3565b60405180910390f35b61008d610132565b60405161009a91906103d7565b60405180910390f35b6100ab61013f565b6040516100b89190610471565b60405180910390f35b6100db60048036038101906100d69190610575565b610163565b005b6100e56102dd565b6040516100f29190610664565b60405180910390f35b610115600480360381019061011091906106ab565b61033c565b6040516101239291906106d8565b60405180910390f35b60015481565b6000600280549050905090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635e0d3b0f86868686866040518663ffffffff1660e01b81526004016101c4959493929190610c31565b60006040518083038186803b1580156101dc57600080fd5b505afa1580156101f0573d6000803e3d6000fd5b5050505084600001356001541461023c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161023390610cde565b60405180910390fd5b600085806020019061024e9190610d0d565b806000019061025d9190610d35565b81019061026a91906106ab565b90506002604051806040016040528083815260200188806020019061028f9190610d0d565b60200135815250908060018154018082558091505060019003906000526020600020906002020160009091909190915060008201518160000155602082015181600101555050505050505050565b6102e5610370565b600260016002805490506102f99190610dc7565b8154811061030a57610309610dfb565b5b906000526020600020906002020160405180604001604052908160008201548152602001600182015481525050905090565b6002818154811061034c57600080fd5b90600052602060002090600202016000915090508060000154908060010154905082565b604051806040016040528060008152602001600081525090565b6000819050919050565b61039d8161038a565b82525050565b60006020820190506103b86000830184610394565b92915050565b6000819050919050565b6103d1816103be565b82525050565b60006020820190506103ec60008301846103c8565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600061043761043261042d846103f2565b610412565b6103f2565b9050919050565b60006104498261041c565b9050919050565b600061045b8261043e565b9050919050565b61046b81610450565b82525050565b60006020820190506104866000830184610462565b92915050565b600080fd5b600080fd5b600080fd5b6000606082840312156104b1576104b0610496565b5b81905092915050565b600080fd5b600080fd5b600080fd5b60008083601f8401126104df576104de6104ba565b5b8235905067ffffffffffffffff8111156104fc576104fb6104bf565b5b602083019150836040820283011115610518576105176104c4565b5b9250929050565b60008083601f840112610535576105346104ba565b5b8235905067ffffffffffffffff811115610552576105516104bf565b5b60208301915083606082028301111561056e5761056d6104c4565b5b9250929050565b6000806000806000606086880312156105915761059061048c565b5b600086013567ffffffffffffffff8111156105af576105ae610491565b5b6105bb8882890161049b565b955050602086013567ffffffffffffffff8111156105dc576105db610491565b5b6105e8888289016104c9565b9450945050604086013567ffffffffffffffff81111561060b5761060a610491565b5b6106178882890161051f565b92509250509295509295909350565b61062f816103be565b82525050565b60408201600082015161064b6000850182610626565b50602082015161065e6020850182610626565b50505050565b60006040820190506106796000830184610635565b92915050565b610688816103be565b811461069357600080fd5b50565b6000813590506106a58161067f565b92915050565b6000602082840312156106c1576106c061048c565b5b60006106cf84828501610696565b91505092915050565b60006040820190506106ed60008301856103c8565b6106fa60208301846103c8565b9392505050565b61070a8161038a565b811461071557600080fd5b50565b60008135905061072781610701565b92915050565b600061073c6020840184610718565b905092915050565b61074d8161038a565b82525050565b600080fd5b60008235600160c00383360303811261077457610773610753565b5b82810191505092915050565b600080fd5b600080fd5b600080833560016020038436030381126107a7576107a6610753565b5b83810192508235915060208301925067ffffffffffffffff8211156107cf576107ce610780565b5b6001820236038313156107e5576107e4610785565b5b509250929050565b600082825260208201905092915050565b82818337600083830152505050565b6000601f19601f8301169050919050565b600061082a83856107ed565b93506108378385846107fe565b6108408361080d565b840190509392505050565b600061085a6020840184610696565b905092915050565b600060c08301610875600084018461078a565b858303600087015261088883828461081e565b92505050610899602084018461084b565b6108a66020860182610626565b506108b4604084018461084b565b6108c16040860182610626565b506108cf606084018461084b565b6108dc6060860182610626565b506108ea608084018461084b565b6108f76080860182610626565b5061090560a084018461084b565b61091260a0860182610626565b508091505092915050565b600060608301610930600084018461072d565b61093d6000860182610744565b5061094b6020840184610758565b848203602086015261095d8282610862565b91505061096d604084018461084b565b61097a6040860182610626565b508091505092915050565b600082825260208201905092915050565b6000819050919050565b60006109ab826103f2565b9050919050565b6109bb816109a0565b81146109c657600080fd5b50565b6000813590506109d8816109b2565b92915050565b60006109ed60208401846109c9565b905092915050565b6109fe816109a0565b82525050565b60408201610a1560008301836109de565b610a2260008501826109f5565b50610a30602083018361084b565b610a3d6020850182610626565b50505050565b6000610a4f8383610a04565b60408301905092915050565b600082905092915050565b6000604082019050919050565b6000610a7f8385610985565b9350610a8a82610996565b8060005b85811015610ac357610aa08284610a5b565b610aaa8882610a43565b9750610ab583610a66565b925050600181019050610a8e565b5085925050509392505050565b600082825260208201905092915050565b6000819050919050565b600060ff82169050919050565b610b0181610aeb565b8114610b0c57600080fd5b50565b600081359050610b1e81610af8565b92915050565b6000610b336020840184610b0f565b905092915050565b610b4481610aeb565b82525050565b60608201610b5b6000830183610b24565b610b686000850182610b3b565b50610b76602083018361072d565b610b836020850182610744565b50610b91604083018361072d565b610b9e6040850182610744565b50505050565b6000610bb08383610b4a565b60608301905092915050565b600082905092915050565b6000606082019050919050565b6000610be08385610ad0565b9350610beb82610ae1565b8060005b85811015610c2457610c018284610bbc565b610c0b8882610ba4565b9750610c1683610bc7565b925050600181019050610bef565b5085925050509392505050565b60006060820190508181036000830152610c4b818861091d565b90508181036020830152610c60818688610a73565b90508181036040830152610c75818486610bd4565b90509695505050505050565b600082825260208201905092915050565b7f496e76616c696420717565727949640000000000000000000000000000000000600082015250565b6000610cc8600f83610c81565b9150610cd382610c92565b602082019050919050565b60006020820190508181036000830152610cf781610cbb565b9050919050565b600080fd5b600080fd5b600080fd5b60008235600160c003833603038112610d2957610d28610cfe565b5b80830191505092915050565b60008083356001602003843603038112610d5257610d51610cfe565b5b80840192508235915067ffffffffffffffff821115610d7457610d73610d03565b5b602083019250600182023603831315610d9057610d8f610d08565b5b509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610dd2826103be565b9150610ddd836103be565b9250828203905081811115610df557610df4610d98565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fdfea26469706673582212206730b1a15e2a445e71bcab434786396948d6bbd4a1f58f8c658833ed2c988e7264736f6c63430008130033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH3 0xFE2 CODESIZE SUB DUP1 PUSH3 0xFE2 DUP4 CODECOPY DUP2 DUP2 ADD PUSH1 0x40 MSTORE DUP2 ADD SWAP1 PUSH3 0x37 SWAP2 SWAP1 PUSH3 0x12B JUMP JUMPDEST DUP2 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP1 PUSH1 0x1 DUP2 SWAP1 SSTORE POP POP POP PUSH3 0x172 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0xB8 DUP3 PUSH3 0x8B JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0xCA DUP2 PUSH3 0xAB JUMP JUMPDEST DUP2 EQ PUSH3 0xD6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH3 0xEA DUP2 PUSH3 0xBF JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x105 DUP2 PUSH3 0xF0 JUMP JUMPDEST DUP2 EQ PUSH3 0x111 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH3 0x125 DUP2 PUSH3 0xFA JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH3 0x145 JUMPI PUSH3 0x144 PUSH3 0x86 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH3 0x155 DUP6 DUP3 DUP7 ADD PUSH3 0xD9 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH3 0x168 DUP6 DUP3 DUP7 ADD PUSH3 0x114 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH2 0xE60 DUP1 PUSH3 0x182 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x62 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x3F1BE4D4 EQ PUSH2 0x67 JUMPI DUP1 PUSH4 0x413A89B4 EQ PUSH2 0x85 JUMPI DUP1 PUSH4 0x578855B2 EQ PUSH2 0xA3 JUMPI DUP1 PUSH4 0x61808010 EQ PUSH2 0xC1 JUMPI DUP1 PUSH4 0x770B5414 EQ PUSH2 0xDD JUMPI DUP1 PUSH4 0xAA4DEA00 EQ PUSH2 0xFB JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x6F PUSH2 0x12C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x7C SWAP2 SWAP1 PUSH2 0x3A3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x8D PUSH2 0x132 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x9A SWAP2 SWAP1 PUSH2 0x3D7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xAB PUSH2 0x13F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xB8 SWAP2 SWAP1 PUSH2 0x471 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xDB PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xD6 SWAP2 SWAP1 PUSH2 0x575 JUMP JUMPDEST PUSH2 0x163 JUMP JUMPDEST STOP JUMPDEST PUSH2 0xE5 PUSH2 0x2DD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xF2 SWAP2 SWAP1 PUSH2 0x664 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x115 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x110 SWAP2 SWAP1 PUSH2 0x6AB JUMP JUMPDEST PUSH2 0x33C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x123 SWAP3 SWAP2 SWAP1 PUSH2 0x6D8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP1 SLOAD SWAP1 POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x5E0D3B0F DUP7 DUP7 DUP7 DUP7 DUP7 PUSH1 0x40 MLOAD DUP7 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1C4 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0xC31 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1DC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1F0 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP DUP5 PUSH1 0x0 ADD CALLDATALOAD PUSH1 0x1 SLOAD EQ PUSH2 0x23C JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x233 SWAP1 PUSH2 0xCDE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP6 DUP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x24E SWAP2 SWAP1 PUSH2 0xD0D JUMP JUMPDEST DUP1 PUSH1 0x0 ADD SWAP1 PUSH2 0x25D SWAP2 SWAP1 PUSH2 0xD35 JUMP JUMPDEST DUP2 ADD SWAP1 PUSH2 0x26A SWAP2 SWAP1 PUSH2 0x6AB JUMP JUMPDEST SWAP1 POP PUSH1 0x2 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 DUP4 DUP2 MSTORE PUSH1 0x20 ADD DUP9 DUP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x28F SWAP2 SWAP1 PUSH2 0xD0D JUMP JUMPDEST PUSH1 0x20 ADD CALLDATALOAD DUP2 MSTORE POP SWAP1 DUP1 PUSH1 0x1 DUP2 SLOAD ADD DUP1 DUP3 SSTORE DUP1 SWAP2 POP POP PUSH1 0x1 SWAP1 SUB SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x2 MUL ADD PUSH1 0x0 SWAP1 SWAP2 SWAP1 SWAP2 SWAP1 SWAP2 POP PUSH1 0x0 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD SSTORE PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD SSTORE POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x2E5 PUSH2 0x370 JUMP JUMPDEST PUSH1 0x2 PUSH1 0x1 PUSH1 0x2 DUP1 SLOAD SWAP1 POP PUSH2 0x2F9 SWAP2 SWAP1 PUSH2 0xDC7 JUMP JUMPDEST DUP2 SLOAD DUP2 LT PUSH2 0x30A JUMPI PUSH2 0x309 PUSH2 0xDFB JUMP JUMPDEST JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x2 MUL ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE SWAP1 DUP2 PUSH1 0x0 DUP3 ADD SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD SLOAD DUP2 MSTORE POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x2 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x34C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x2 MUL ADD PUSH1 0x0 SWAP2 POP SWAP1 POP DUP1 PUSH1 0x0 ADD SLOAD SWAP1 DUP1 PUSH1 0x1 ADD SLOAD SWAP1 POP DUP3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x39D DUP2 PUSH2 0x38A JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x3B8 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x394 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x3D1 DUP2 PUSH2 0x3BE JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x3EC PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x3C8 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x437 PUSH2 0x432 PUSH2 0x42D DUP5 PUSH2 0x3F2 JUMP JUMPDEST PUSH2 0x412 JUMP JUMPDEST PUSH2 0x3F2 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x449 DUP3 PUSH2 0x41C JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x45B DUP3 PUSH2 0x43E JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x46B DUP2 PUSH2 0x450 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x486 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x462 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4B1 JUMPI PUSH2 0x4B0 PUSH2 0x496 JUMP JUMPDEST JUMPDEST DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0x4DF JUMPI PUSH2 0x4DE PUSH2 0x4BA JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x4FC JUMPI PUSH2 0x4FB PUSH2 0x4BF JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x40 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0x518 JUMPI PUSH2 0x517 PUSH2 0x4C4 JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0x535 JUMPI PUSH2 0x534 PUSH2 0x4BA JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x552 JUMPI PUSH2 0x551 PUSH2 0x4BF JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x60 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0x56E JUMPI PUSH2 0x56D PUSH2 0x4C4 JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x591 JUMPI PUSH2 0x590 PUSH2 0x48C JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x5AF JUMPI PUSH2 0x5AE PUSH2 0x491 JUMP JUMPDEST JUMPDEST PUSH2 0x5BB DUP9 DUP3 DUP10 ADD PUSH2 0x49B JUMP JUMPDEST SWAP6 POP POP PUSH1 0x20 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x5DC JUMPI PUSH2 0x5DB PUSH2 0x491 JUMP JUMPDEST JUMPDEST PUSH2 0x5E8 DUP9 DUP3 DUP10 ADD PUSH2 0x4C9 JUMP JUMPDEST SWAP5 POP SWAP5 POP POP PUSH1 0x40 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x60B JUMPI PUSH2 0x60A PUSH2 0x491 JUMP JUMPDEST JUMPDEST PUSH2 0x617 DUP9 DUP3 DUP10 ADD PUSH2 0x51F JUMP JUMPDEST SWAP3 POP SWAP3 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH2 0x62F DUP2 PUSH2 0x3BE JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x40 DUP3 ADD PUSH1 0x0 DUP3 ADD MLOAD PUSH2 0x64B PUSH1 0x0 DUP6 ADD DUP3 PUSH2 0x626 JUMP JUMPDEST POP PUSH1 0x20 DUP3 ADD MLOAD PUSH2 0x65E PUSH1 0x20 DUP6 ADD DUP3 PUSH2 0x626 JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x679 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x635 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x688 DUP2 PUSH2 0x3BE JUMP JUMPDEST DUP2 EQ PUSH2 0x693 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x6A5 DUP2 PUSH2 0x67F JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x6C1 JUMPI PUSH2 0x6C0 PUSH2 0x48C JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x6CF DUP5 DUP3 DUP6 ADD PUSH2 0x696 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x6ED PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x3C8 JUMP JUMPDEST PUSH2 0x6FA PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x3C8 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0x70A DUP2 PUSH2 0x38A JUMP JUMPDEST DUP2 EQ PUSH2 0x715 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x727 DUP2 PUSH2 0x701 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x73C PUSH1 0x20 DUP5 ADD DUP5 PUSH2 0x718 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x74D DUP2 PUSH2 0x38A JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP3 CALLDATALOAD PUSH1 0x1 PUSH1 0xC0 SUB DUP4 CALLDATASIZE SUB SUB DUP2 SLT PUSH2 0x774 JUMPI PUSH2 0x773 PUSH2 0x753 JUMP JUMPDEST JUMPDEST DUP3 DUP2 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP4 CALLDATALOAD PUSH1 0x1 PUSH1 0x20 SUB DUP5 CALLDATASIZE SUB SUB DUP2 SLT PUSH2 0x7A7 JUMPI PUSH2 0x7A6 PUSH2 0x753 JUMP JUMPDEST JUMPDEST DUP4 DUP2 ADD SWAP3 POP DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD SWAP3 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x7CF JUMPI PUSH2 0x7CE PUSH2 0x780 JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 MUL CALLDATASIZE SUB DUP4 SGT ISZERO PUSH2 0x7E5 JUMPI PUSH2 0x7E4 PUSH2 0x785 JUMP JUMPDEST JUMPDEST POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x82A DUP4 DUP6 PUSH2 0x7ED JUMP JUMPDEST SWAP4 POP PUSH2 0x837 DUP4 DUP6 DUP5 PUSH2 0x7FE JUMP JUMPDEST PUSH2 0x840 DUP4 PUSH2 0x80D JUMP JUMPDEST DUP5 ADD SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x85A PUSH1 0x20 DUP5 ADD DUP5 PUSH2 0x696 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xC0 DUP4 ADD PUSH2 0x875 PUSH1 0x0 DUP5 ADD DUP5 PUSH2 0x78A JUMP JUMPDEST DUP6 DUP4 SUB PUSH1 0x0 DUP8 ADD MSTORE PUSH2 0x888 DUP4 DUP3 DUP5 PUSH2 0x81E JUMP JUMPDEST SWAP3 POP POP POP PUSH2 0x899 PUSH1 0x20 DUP5 ADD DUP5 PUSH2 0x84B JUMP JUMPDEST PUSH2 0x8A6 PUSH1 0x20 DUP7 ADD DUP3 PUSH2 0x626 JUMP JUMPDEST POP PUSH2 0x8B4 PUSH1 0x40 DUP5 ADD DUP5 PUSH2 0x84B JUMP JUMPDEST PUSH2 0x8C1 PUSH1 0x40 DUP7 ADD DUP3 PUSH2 0x626 JUMP JUMPDEST POP PUSH2 0x8CF PUSH1 0x60 DUP5 ADD DUP5 PUSH2 0x84B JUMP JUMPDEST PUSH2 0x8DC PUSH1 0x60 DUP7 ADD DUP3 PUSH2 0x626 JUMP JUMPDEST POP PUSH2 0x8EA PUSH1 0x80 DUP5 ADD DUP5 PUSH2 0x84B JUMP JUMPDEST PUSH2 0x8F7 PUSH1 0x80 DUP7 ADD DUP3 PUSH2 0x626 JUMP JUMPDEST POP PUSH2 0x905 PUSH1 0xA0 DUP5 ADD DUP5 PUSH2 0x84B JUMP JUMPDEST PUSH2 0x912 PUSH1 0xA0 DUP7 ADD DUP3 PUSH2 0x626 JUMP JUMPDEST POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP4 ADD PUSH2 0x930 PUSH1 0x0 DUP5 ADD DUP5 PUSH2 0x72D JUMP JUMPDEST PUSH2 0x93D PUSH1 0x0 DUP7 ADD DUP3 PUSH2 0x744 JUMP JUMPDEST POP PUSH2 0x94B PUSH1 0x20 DUP5 ADD DUP5 PUSH2 0x758 JUMP JUMPDEST DUP5 DUP3 SUB PUSH1 0x20 DUP7 ADD MSTORE PUSH2 0x95D DUP3 DUP3 PUSH2 0x862 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x96D PUSH1 0x40 DUP5 ADD DUP5 PUSH2 0x84B JUMP JUMPDEST PUSH2 0x97A PUSH1 0x40 DUP7 ADD DUP3 PUSH2 0x626 JUMP JUMPDEST POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x9AB DUP3 PUSH2 0x3F2 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x9BB DUP2 PUSH2 0x9A0 JUMP JUMPDEST DUP2 EQ PUSH2 0x9C6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x9D8 DUP2 PUSH2 0x9B2 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x9ED PUSH1 0x20 DUP5 ADD DUP5 PUSH2 0x9C9 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x9FE DUP2 PUSH2 0x9A0 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x40 DUP3 ADD PUSH2 0xA15 PUSH1 0x0 DUP4 ADD DUP4 PUSH2 0x9DE JUMP JUMPDEST PUSH2 0xA22 PUSH1 0x0 DUP6 ADD DUP3 PUSH2 0x9F5 JUMP JUMPDEST POP PUSH2 0xA30 PUSH1 0x20 DUP4 ADD DUP4 PUSH2 0x84B JUMP JUMPDEST PUSH2 0xA3D PUSH1 0x20 DUP6 ADD DUP3 PUSH2 0x626 JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xA4F DUP4 DUP4 PUSH2 0xA04 JUMP JUMPDEST PUSH1 0x40 DUP4 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xA7F DUP4 DUP6 PUSH2 0x985 JUMP JUMPDEST SWAP4 POP PUSH2 0xA8A DUP3 PUSH2 0x996 JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0xAC3 JUMPI PUSH2 0xAA0 DUP3 DUP5 PUSH2 0xA5B JUMP JUMPDEST PUSH2 0xAAA DUP9 DUP3 PUSH2 0xA43 JUMP JUMPDEST SWAP8 POP PUSH2 0xAB5 DUP4 PUSH2 0xA66 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0xA8E JUMP JUMPDEST POP DUP6 SWAP3 POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xB01 DUP2 PUSH2 0xAEB JUMP JUMPDEST DUP2 EQ PUSH2 0xB0C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xB1E DUP2 PUSH2 0xAF8 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xB33 PUSH1 0x20 DUP5 ADD DUP5 PUSH2 0xB0F JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xB44 DUP2 PUSH2 0xAEB JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x60 DUP3 ADD PUSH2 0xB5B PUSH1 0x0 DUP4 ADD DUP4 PUSH2 0xB24 JUMP JUMPDEST PUSH2 0xB68 PUSH1 0x0 DUP6 ADD DUP3 PUSH2 0xB3B JUMP JUMPDEST POP PUSH2 0xB76 PUSH1 0x20 DUP4 ADD DUP4 PUSH2 0x72D JUMP JUMPDEST PUSH2 0xB83 PUSH1 0x20 DUP6 ADD DUP3 PUSH2 0x744 JUMP JUMPDEST POP PUSH2 0xB91 PUSH1 0x40 DUP4 ADD DUP4 PUSH2 0x72D JUMP JUMPDEST PUSH2 0xB9E PUSH1 0x40 DUP6 ADD DUP3 PUSH2 0x744 JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xBB0 DUP4 DUP4 PUSH2 0xB4A JUMP JUMPDEST PUSH1 0x60 DUP4 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xBE0 DUP4 DUP6 PUSH2 0xAD0 JUMP JUMPDEST SWAP4 POP PUSH2 0xBEB DUP3 PUSH2 0xAE1 JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0xC24 JUMPI PUSH2 0xC01 DUP3 DUP5 PUSH2 0xBBC JUMP JUMPDEST PUSH2 0xC0B DUP9 DUP3 PUSH2 0xBA4 JUMP JUMPDEST SWAP8 POP PUSH2 0xC16 DUP4 PUSH2 0xBC7 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0xBEF JUMP JUMPDEST POP DUP6 SWAP3 POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xC4B DUP2 DUP9 PUSH2 0x91D JUMP JUMPDEST SWAP1 POP DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0xC60 DUP2 DUP7 DUP9 PUSH2 0xA73 JUMP JUMPDEST SWAP1 POP DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0xC75 DUP2 DUP5 DUP7 PUSH2 0xBD4 JUMP JUMPDEST SWAP1 POP SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x496E76616C696420717565727949640000000000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xCC8 PUSH1 0xF DUP4 PUSH2 0xC81 JUMP JUMPDEST SWAP2 POP PUSH2 0xCD3 DUP3 PUSH2 0xC92 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xCF7 DUP2 PUSH2 0xCBB JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP3 CALLDATALOAD PUSH1 0x1 PUSH1 0xC0 SUB DUP4 CALLDATASIZE SUB SUB DUP2 SLT PUSH2 0xD29 JUMPI PUSH2 0xD28 PUSH2 0xCFE JUMP JUMPDEST JUMPDEST DUP1 DUP4 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 CALLDATALOAD PUSH1 0x1 PUSH1 0x20 SUB DUP5 CALLDATASIZE SUB SUB DUP2 SLT PUSH2 0xD52 JUMPI PUSH2 0xD51 PUSH2 0xCFE JUMP JUMPDEST JUMPDEST DUP1 DUP5 ADD SWAP3 POP DUP3 CALLDATALOAD SWAP2 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0xD74 JUMPI PUSH2 0xD73 PUSH2 0xD03 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP3 POP PUSH1 0x1 DUP3 MUL CALLDATASIZE SUB DUP4 SGT ISZERO PUSH2 0xD90 JUMPI PUSH2 0xD8F PUSH2 0xD08 JUMP JUMPDEST JUMPDEST POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0xDD2 DUP3 PUSH2 0x3BE JUMP JUMPDEST SWAP2 POP PUSH2 0xDDD DUP4 PUSH2 0x3BE JUMP JUMPDEST SWAP3 POP DUP3 DUP3 SUB SWAP1 POP DUP2 DUP2 GT ISZERO PUSH2 0xDF5 JUMPI PUSH2 0xDF4 PUSH2 0xD98 JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH8 0x30B1A15E2A445E71 0xBC 0xAB NUMBER SELFBALANCE DUP7 CODECOPY PUSH10 0x48D6BBD4A1F58F8C6588 CALLER 0xED 0x2C SWAP9 DUP15 PUSH19 0x64736F6C634300081300330000000000000000 ","sourceMap":"277:1504:2:-:0;;;553:139;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;645:11;614:10;;:43;;;;;;;;;;;;;;;;;;677:8;667:7;:18;;;;553:139;;277:1504;;88:117:4;197:1;194;187:12;334:126;371:7;411:42;404:5;400:54;389:65;;334:126;;;:::o;466:96::-;503:7;532:24;550:5;532:24;:::i;:::-;521:35;;466:96;;;:::o;568:122::-;641:24;659:5;641:24;:::i;:::-;634:5;631:35;621:63;;680:1;677;670:12;621:63;568:122;:::o;696:143::-;753:5;784:6;778:13;769:22;;800:33;827:5;800:33;:::i;:::-;696:143;;;;:::o;845:77::-;882:7;911:5;900:16;;845:77;;;:::o;928:122::-;1001:24;1019:5;1001:24;:::i;:::-;994:5;991:35;981:63;;1040:1;1037;1030:12;981:63;928:122;:::o;1056:143::-;1113:5;1144:6;1138:13;1129:22;;1160:33;1187:5;1160:33;:::i;:::-;1056:143;;;;:::o;1205:507::-;1284:6;1292;1341:2;1329:9;1320:7;1316:23;1312:32;1309:119;;;1347:79;;:::i;:::-;1309:119;1467:1;1492:64;1548:7;1539:6;1528:9;1524:22;1492:64;:::i;:::-;1482:74;;1438:128;1605:2;1631:64;1687:7;1678:6;1667:9;1663:22;1631:64;:::i;:::-;1621:74;;1576:129;1205:507;;;;;:::o;277:1504:2:-;;;;;;;"},"deployedBytecode":{"functionDebugData":{"@dataBridge_964":{"entryPoint":319,"id":964,"parameterSlots":0,"returnSlots":0},"@getCurrentData_1061":{"entryPoint":733,"id":1061,"parameterSlots":0,"returnSlots":1},"@getValueCount_1070":{"entryPoint":306,"id":1070,"parameterSlots":0,"returnSlots":1},"@oracleData_970":{"entryPoint":828,"id":970,"parameterSlots":0,"returnSlots":0},"@queryId_966":{"entryPoint":300,"id":966,"parameterSlots":0,"returnSlots":0},"@updateOracleData_1047":{"entryPoint":355,"id":1047,"parameterSlots":5,"returnSlots":0},"abi_decode_t_address":{"entryPoint":2505,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_array$_t_struct$_Signature_$1101_calldata_ptr_$dyn_calldata_ptr":{"entryPoint":1311,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_t_array$_t_struct$_Validator_$1106_calldata_ptr_$dyn_calldata_ptr":{"entryPoint":1225,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_t_bytes32":{"entryPoint":1816,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_struct$_OracleAttestationData_$1081_calldata_ptr":{"entryPoint":1179,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_uint256":{"entryPoint":1686,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_uint8":{"entryPoint":2831,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_struct$_OracleAttestationData_$1081_calldata_ptrt_array$_t_struct$_Validator_$1106_calldata_ptr_$dyn_calldata_ptrt_array$_t_struct$_Signature_$1101_calldata_ptr_$dyn_calldata_ptr":{"entryPoint":1397,"id":null,"parameterSlots":2,"returnSlots":5},"abi_decode_tuple_t_uint256":{"entryPoint":1707,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encodeUpdatedPos_t_struct$_Signature_$1101_calldata_ptr_to_t_struct$_Signature_$1101_memory_ptr":{"entryPoint":2980,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encodeUpdatedPos_t_struct$_Validator_$1106_calldata_ptr_to_t_struct$_Validator_$1106_memory_ptr":{"entryPoint":2627,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_address_to_t_address":{"entryPoint":2549,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_array$_t_struct$_Signature_$1101_calldata_ptr_$dyn_calldata_ptr_to_t_array$_t_struct$_Signature_$1101_memory_ptr_$dyn_memory_ptr_fromStack":{"entryPoint":3028,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_t_array$_t_struct$_Validator_$1106_calldata_ptr_$dyn_calldata_ptr_to_t_array$_t_struct$_Validator_$1106_memory_ptr_$dyn_memory_ptr_fromStack":{"entryPoint":2675,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_t_bytes32_to_t_bytes32":{"entryPoint":1860,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_bytes32_to_t_bytes32_fromStack":{"entryPoint":916,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_bytes_calldata_ptr_to_t_bytes_memory_ptr":{"entryPoint":2078,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_t_contract$_ITellorDataBridge_$1141_to_t_address_fromStack":{"entryPoint":1122,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_stringliteral_5c98120c2d1113299b49cf447f38c466f541f9e65cb821e4e86f03bd25cc78a8_to_t_string_memory_ptr_fromStack":{"entryPoint":3259,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_struct$_OracleAttestationData_$1081_calldata_ptr_to_t_struct$_OracleAttestationData_$1081_memory_ptr_fromStack":{"entryPoint":2333,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_struct$_OracleData_$975_memory_ptr_to_t_struct$_OracleData_$975_memory_ptr_fromStack":{"entryPoint":1589,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_struct$_ReportData_$1094_calldata_ptr_to_t_struct$_ReportData_$1094_memory_ptr":{"entryPoint":2146,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_struct$_Signature_$1101_calldata_ptr_to_t_struct$_Signature_$1101_memory_ptr":{"entryPoint":2890,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_struct$_Validator_$1106_calldata_ptr_to_t_struct$_Validator_$1106_memory_ptr":{"entryPoint":2564,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_uint256_to_t_uint256":{"entryPoint":1574,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_uint256_to_t_uint256_fromStack":{"entryPoint":968,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_uint8_to_t_uint8":{"entryPoint":2875,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed":{"entryPoint":931,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_contract$_ITellorDataBridge_$1141__to_t_address__fromStack_reversed":{"entryPoint":1137,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_stringliteral_5c98120c2d1113299b49cf447f38c466f541f9e65cb821e4e86f03bd25cc78a8__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":3294,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_struct$_OracleAttestationData_$1081_calldata_ptr_t_array$_t_struct$_Validator_$1106_calldata_ptr_$dyn_calldata_ptr_t_array$_t_struct$_Signature_$1101_calldata_ptr_$dyn_calldata_ptr__to_t_struct$_OracleAttestationData_$1081_memory_ptr_t_array$_t_struct$_Validator_$1106_memory_ptr_$dyn_memory_ptr_t_array$_t_struct$_Signature_$1101_memory_ptr_$dyn_memory_ptr__fromStack_reversed":{"entryPoint":3121,"id":null,"parameterSlots":6,"returnSlots":1},"abi_encode_tuple_t_struct$_OracleData_$975_memory_ptr__to_t_struct$_OracleData_$975_memory_ptr__fromStack_reversed":{"entryPoint":1636,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed":{"entryPoint":983,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed":{"entryPoint":1752,"id":null,"parameterSlots":3,"returnSlots":1},"access_calldata_tail_t_bytes_calldata_ptr":{"entryPoint":3381,"id":null,"parameterSlots":2,"returnSlots":2},"access_calldata_tail_t_struct$_ReportData_$1094_calldata_ptr":{"entryPoint":3341,"id":null,"parameterSlots":2,"returnSlots":1},"allocate_unbounded":{"entryPoint":null,"id":null,"parameterSlots":0,"returnSlots":1},"array_dataslot_t_array$_t_struct$_Signature_$1101_calldata_ptr_$dyn_calldata_ptr":{"entryPoint":2785,"id":null,"parameterSlots":1,"returnSlots":1},"array_dataslot_t_array$_t_struct$_Validator_$1106_calldata_ptr_$dyn_calldata_ptr":{"entryPoint":2454,"id":null,"parameterSlots":1,"returnSlots":1},"array_nextElement_t_array$_t_struct$_Signature_$1101_calldata_ptr_$dyn_calldata_ptr":{"entryPoint":3015,"id":null,"parameterSlots":1,"returnSlots":1},"array_nextElement_t_array$_t_struct$_Validator_$1106_calldata_ptr_$dyn_calldata_ptr":{"entryPoint":2662,"id":null,"parameterSlots":1,"returnSlots":1},"array_storeLengthForEncoding_t_array$_t_struct$_Signature_$1101_memory_ptr_$dyn_memory_ptr_fromStack":{"entryPoint":2768,"id":null,"parameterSlots":2,"returnSlots":1},"array_storeLengthForEncoding_t_array$_t_struct$_Validator_$1106_memory_ptr_$dyn_memory_ptr_fromStack":{"entryPoint":2437,"id":null,"parameterSlots":2,"returnSlots":1},"array_storeLengthForEncoding_t_bytes_memory_ptr":{"entryPoint":2029,"id":null,"parameterSlots":2,"returnSlots":1},"array_storeLengthForEncoding_t_string_memory_ptr_fromStack":{"entryPoint":3201,"id":null,"parameterSlots":2,"returnSlots":1},"calldata_access_t_address":{"entryPoint":2526,"id":null,"parameterSlots":2,"returnSlots":1},"calldata_access_t_bytes32":{"entryPoint":1837,"id":null,"parameterSlots":2,"returnSlots":1},"calldata_access_t_bytes_calldata_ptr":{"entryPoint":1930,"id":null,"parameterSlots":2,"returnSlots":2},"calldata_access_t_struct$_ReportData_$1094_calldata_ptr":{"entryPoint":1880,"id":null,"parameterSlots":2,"returnSlots":1},"calldata_access_t_struct$_Signature_$1101_calldata_ptr":{"entryPoint":3004,"id":null,"parameterSlots":2,"returnSlots":1},"calldata_access_t_struct$_Validator_$1106_calldata_ptr":{"entryPoint":2651,"id":null,"parameterSlots":2,"returnSlots":1},"calldata_access_t_uint256":{"entryPoint":2123,"id":null,"parameterSlots":2,"returnSlots":1},"calldata_access_t_uint8":{"entryPoint":2852,"id":null,"parameterSlots":2,"returnSlots":1},"checked_sub_t_uint256":{"entryPoint":3527,"id":null,"parameterSlots":2,"returnSlots":1},"cleanup_t_address":{"entryPoint":2464,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_bytes32":{"entryPoint":906,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_uint160":{"entryPoint":1010,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_uint256":{"entryPoint":958,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_uint8":{"entryPoint":2795,"id":null,"parameterSlots":1,"returnSlots":1},"convert_t_contract$_ITellorDataBridge_$1141_to_t_address":{"entryPoint":1104,"id":null,"parameterSlots":1,"returnSlots":1},"convert_t_uint160_to_t_address":{"entryPoint":1086,"id":null,"parameterSlots":1,"returnSlots":1},"convert_t_uint160_to_t_uint160":{"entryPoint":1052,"id":null,"parameterSlots":1,"returnSlots":1},"copy_calldata_to_memory_with_cleanup":{"entryPoint":2046,"id":null,"parameterSlots":3,"returnSlots":0},"identity":{"entryPoint":1042,"id":null,"parameterSlots":1,"returnSlots":1},"panic_error_0x11":{"entryPoint":3480,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x32":{"entryPoint":3579,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_0803104b3ab68501accf02de57372b8e5e6e1582158b771d3f89279dc6822fe2":{"entryPoint":1920,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490":{"entryPoint":1215,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d":{"entryPoint":1210,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_1e55d03107e9c4f1b5e21c76a16fba166a461117ab153bcce65e6a4ea8e5fc8a":{"entryPoint":3331,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_21fe6b43b4db61d76a176e95bf1a6b9ede4c301f93a4246f41fecb96e160861d":{"entryPoint":1174,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_356d538aaf70fba12156cc466564b792649f8f3befb07b071c91142253e175ad":{"entryPoint":3326,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_3894daff73bdbb8963c284e167b207f7abade3c031c50828ea230a16bdbc0f20":{"entryPoint":1925,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef":{"entryPoint":1220,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_977805620ff29572292dee35f70b0f3f3f73d3fdd0e9f4d7a901c2e43ab18a2e":{"entryPoint":3336,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db":{"entryPoint":1169,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_db64ea6d4a12deece376118739de8d9f517a2db5b58ea2ca332ea908c04c71d4":{"entryPoint":1875,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b":{"entryPoint":1164,"id":null,"parameterSlots":0,"returnSlots":0},"round_up_to_mul_of_32":{"entryPoint":2061,"id":null,"parameterSlots":1,"returnSlots":1},"store_literal_in_memory_5c98120c2d1113299b49cf447f38c466f541f9e65cb821e4e86f03bd25cc78a8":{"entryPoint":3218,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_t_address":{"entryPoint":2482,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_t_bytes32":{"entryPoint":1793,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_t_uint256":{"entryPoint":1663,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_t_uint8":{"entryPoint":2808,"id":null,"parameterSlots":1,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:24152:4","statements":[{"body":{"nodeType":"YulBlock","src":"52:32:4","statements":[{"nodeType":"YulAssignment","src":"62:16:4","value":{"name":"value","nodeType":"YulIdentifier","src":"73:5:4"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"62:7:4"}]}]},"name":"cleanup_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"34:5:4","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"44:7:4","type":""}],"src":"7:77:4"},{"body":{"nodeType":"YulBlock","src":"155:53:4","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"172:3:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"195:5:4"}],"functionName":{"name":"cleanup_t_bytes32","nodeType":"YulIdentifier","src":"177:17:4"},"nodeType":"YulFunctionCall","src":"177:24:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"165:6:4"},"nodeType":"YulFunctionCall","src":"165:37:4"},"nodeType":"YulExpressionStatement","src":"165:37:4"}]},"name":"abi_encode_t_bytes32_to_t_bytes32_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"143:5:4","type":""},{"name":"pos","nodeType":"YulTypedName","src":"150:3:4","type":""}],"src":"90:118:4"},{"body":{"nodeType":"YulBlock","src":"312:124:4","statements":[{"nodeType":"YulAssignment","src":"322:26:4","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"334:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"345:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"330:3:4"},"nodeType":"YulFunctionCall","src":"330:18:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"322:4:4"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"402:6:4"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"415:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"426:1:4","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"411:3:4"},"nodeType":"YulFunctionCall","src":"411:17:4"}],"functionName":{"name":"abi_encode_t_bytes32_to_t_bytes32_fromStack","nodeType":"YulIdentifier","src":"358:43:4"},"nodeType":"YulFunctionCall","src":"358:71:4"},"nodeType":"YulExpressionStatement","src":"358:71:4"}]},"name":"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"284:9:4","type":""},{"name":"value0","nodeType":"YulTypedName","src":"296:6:4","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"307:4:4","type":""}],"src":"214:222:4"},{"body":{"nodeType":"YulBlock","src":"487:32:4","statements":[{"nodeType":"YulAssignment","src":"497:16:4","value":{"name":"value","nodeType":"YulIdentifier","src":"508:5:4"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"497:7:4"}]}]},"name":"cleanup_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"469:5:4","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"479:7:4","type":""}],"src":"442:77:4"},{"body":{"nodeType":"YulBlock","src":"590:53:4","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"607:3:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"630:5:4"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"612:17:4"},"nodeType":"YulFunctionCall","src":"612:24:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"600:6:4"},"nodeType":"YulFunctionCall","src":"600:37:4"},"nodeType":"YulExpressionStatement","src":"600:37:4"}]},"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"578:5:4","type":""},{"name":"pos","nodeType":"YulTypedName","src":"585:3:4","type":""}],"src":"525:118:4"},{"body":{"nodeType":"YulBlock","src":"747:124:4","statements":[{"nodeType":"YulAssignment","src":"757:26:4","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"769:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"780:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"765:3:4"},"nodeType":"YulFunctionCall","src":"765:18:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"757:4:4"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"837:6:4"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"850:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"861:1:4","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"846:3:4"},"nodeType":"YulFunctionCall","src":"846:17:4"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"793:43:4"},"nodeType":"YulFunctionCall","src":"793:71:4"},"nodeType":"YulExpressionStatement","src":"793:71:4"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"719:9:4","type":""},{"name":"value0","nodeType":"YulTypedName","src":"731:6:4","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"742:4:4","type":""}],"src":"649:222:4"},{"body":{"nodeType":"YulBlock","src":"922:81:4","statements":[{"nodeType":"YulAssignment","src":"932:65:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"947:5:4"},{"kind":"number","nodeType":"YulLiteral","src":"954:42:4","type":"","value":"0xffffffffffffffffffffffffffffffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"943:3:4"},"nodeType":"YulFunctionCall","src":"943:54:4"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"932:7:4"}]}]},"name":"cleanup_t_uint160","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"904:5:4","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"914:7:4","type":""}],"src":"877:126:4"},{"body":{"nodeType":"YulBlock","src":"1041:28:4","statements":[{"nodeType":"YulAssignment","src":"1051:12:4","value":{"name":"value","nodeType":"YulIdentifier","src":"1058:5:4"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"1051:3:4"}]}]},"name":"identity","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"1027:5:4","type":""}],"returnVariables":[{"name":"ret","nodeType":"YulTypedName","src":"1037:3:4","type":""}],"src":"1009:60:4"},{"body":{"nodeType":"YulBlock","src":"1135:82:4","statements":[{"nodeType":"YulAssignment","src":"1145:66:4","value":{"arguments":[{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1203:5:4"}],"functionName":{"name":"cleanup_t_uint160","nodeType":"YulIdentifier","src":"1185:17:4"},"nodeType":"YulFunctionCall","src":"1185:24:4"}],"functionName":{"name":"identity","nodeType":"YulIdentifier","src":"1176:8:4"},"nodeType":"YulFunctionCall","src":"1176:34:4"}],"functionName":{"name":"cleanup_t_uint160","nodeType":"YulIdentifier","src":"1158:17:4"},"nodeType":"YulFunctionCall","src":"1158:53:4"},"variableNames":[{"name":"converted","nodeType":"YulIdentifier","src":"1145:9:4"}]}]},"name":"convert_t_uint160_to_t_uint160","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"1115:5:4","type":""}],"returnVariables":[{"name":"converted","nodeType":"YulTypedName","src":"1125:9:4","type":""}],"src":"1075:142:4"},{"body":{"nodeType":"YulBlock","src":"1283:66:4","statements":[{"nodeType":"YulAssignment","src":"1293:50:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1337:5:4"}],"functionName":{"name":"convert_t_uint160_to_t_uint160","nodeType":"YulIdentifier","src":"1306:30:4"},"nodeType":"YulFunctionCall","src":"1306:37:4"},"variableNames":[{"name":"converted","nodeType":"YulIdentifier","src":"1293:9:4"}]}]},"name":"convert_t_uint160_to_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"1263:5:4","type":""}],"returnVariables":[{"name":"converted","nodeType":"YulTypedName","src":"1273:9:4","type":""}],"src":"1223:126:4"},{"body":{"nodeType":"YulBlock","src":"1441:66:4","statements":[{"nodeType":"YulAssignment","src":"1451:50:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1495:5:4"}],"functionName":{"name":"convert_t_uint160_to_t_address","nodeType":"YulIdentifier","src":"1464:30:4"},"nodeType":"YulFunctionCall","src":"1464:37:4"},"variableNames":[{"name":"converted","nodeType":"YulIdentifier","src":"1451:9:4"}]}]},"name":"convert_t_contract$_ITellorDataBridge_$1141_to_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"1421:5:4","type":""}],"returnVariables":[{"name":"converted","nodeType":"YulTypedName","src":"1431:9:4","type":""}],"src":"1355:152:4"},{"body":{"nodeType":"YulBlock","src":"1604:92:4","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"1621:3:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1683:5:4"}],"functionName":{"name":"convert_t_contract$_ITellorDataBridge_$1141_to_t_address","nodeType":"YulIdentifier","src":"1626:56:4"},"nodeType":"YulFunctionCall","src":"1626:63:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1614:6:4"},"nodeType":"YulFunctionCall","src":"1614:76:4"},"nodeType":"YulExpressionStatement","src":"1614:76:4"}]},"name":"abi_encode_t_contract$_ITellorDataBridge_$1141_to_t_address_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"1592:5:4","type":""},{"name":"pos","nodeType":"YulTypedName","src":"1599:3:4","type":""}],"src":"1513:183:4"},{"body":{"nodeType":"YulBlock","src":"1826:150:4","statements":[{"nodeType":"YulAssignment","src":"1836:26:4","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1848:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"1859:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1844:3:4"},"nodeType":"YulFunctionCall","src":"1844:18:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1836:4:4"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"1942:6:4"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1955:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"1966:1:4","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1951:3:4"},"nodeType":"YulFunctionCall","src":"1951:17:4"}],"functionName":{"name":"abi_encode_t_contract$_ITellorDataBridge_$1141_to_t_address_fromStack","nodeType":"YulIdentifier","src":"1872:69:4"},"nodeType":"YulFunctionCall","src":"1872:97:4"},"nodeType":"YulExpressionStatement","src":"1872:97:4"}]},"name":"abi_encode_tuple_t_contract$_ITellorDataBridge_$1141__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1798:9:4","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1810:6:4","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1821:4:4","type":""}],"src":"1702:274:4"},{"body":{"nodeType":"YulBlock","src":"2022:35:4","statements":[{"nodeType":"YulAssignment","src":"2032:19:4","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2048:2:4","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2042:5:4"},"nodeType":"YulFunctionCall","src":"2042:9:4"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"2032:6:4"}]}]},"name":"allocate_unbounded","nodeType":"YulFunctionDefinition","returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"2015:6:4","type":""}],"src":"1982:75:4"},{"body":{"nodeType":"YulBlock","src":"2152:28:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2169:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2172:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2162:6:4"},"nodeType":"YulFunctionCall","src":"2162:12:4"},"nodeType":"YulExpressionStatement","src":"2162:12:4"}]},"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulFunctionDefinition","src":"2063:117:4"},{"body":{"nodeType":"YulBlock","src":"2275:28:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2292:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2295:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2285:6:4"},"nodeType":"YulFunctionCall","src":"2285:12:4"},"nodeType":"YulExpressionStatement","src":"2285:12:4"}]},"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulFunctionDefinition","src":"2186:117:4"},{"body":{"nodeType":"YulBlock","src":"2398:28:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2415:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2418:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2408:6:4"},"nodeType":"YulFunctionCall","src":"2408:12:4"},"nodeType":"YulExpressionStatement","src":"2408:12:4"}]},"name":"revert_error_21fe6b43b4db61d76a176e95bf1a6b9ede4c301f93a4246f41fecb96e160861d","nodeType":"YulFunctionDefinition","src":"2309:117:4"},{"body":{"nodeType":"YulBlock","src":"2561:152:4","statements":[{"body":{"nodeType":"YulBlock","src":"2600:83:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_21fe6b43b4db61d76a176e95bf1a6b9ede4c301f93a4246f41fecb96e160861d","nodeType":"YulIdentifier","src":"2602:77:4"},"nodeType":"YulFunctionCall","src":"2602:79:4"},"nodeType":"YulExpressionStatement","src":"2602:79:4"}]},"condition":{"arguments":[{"arguments":[{"name":"end","nodeType":"YulIdentifier","src":"2582:3:4"},{"name":"offset","nodeType":"YulIdentifier","src":"2587:6:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2578:3:4"},"nodeType":"YulFunctionCall","src":"2578:16:4"},{"kind":"number","nodeType":"YulLiteral","src":"2596:2:4","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2574:3:4"},"nodeType":"YulFunctionCall","src":"2574:25:4"},"nodeType":"YulIf","src":"2571:112:4"},{"nodeType":"YulAssignment","src":"2692:15:4","value":{"name":"offset","nodeType":"YulIdentifier","src":"2701:6:4"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"2692:5:4"}]}]},"name":"abi_decode_t_struct$_OracleAttestationData_$1081_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"2539:6:4","type":""},{"name":"end","nodeType":"YulTypedName","src":"2547:3:4","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"2555:5:4","type":""}],"src":"2468:245:4"},{"body":{"nodeType":"YulBlock","src":"2808:28:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2825:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2828:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2818:6:4"},"nodeType":"YulFunctionCall","src":"2818:12:4"},"nodeType":"YulExpressionStatement","src":"2818:12:4"}]},"name":"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d","nodeType":"YulFunctionDefinition","src":"2719:117:4"},{"body":{"nodeType":"YulBlock","src":"2931:28:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2948:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2951:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2941:6:4"},"nodeType":"YulFunctionCall","src":"2941:12:4"},"nodeType":"YulExpressionStatement","src":"2941:12:4"}]},"name":"revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490","nodeType":"YulFunctionDefinition","src":"2842:117:4"},{"body":{"nodeType":"YulBlock","src":"3054:28:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3071:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3074:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3064:6:4"},"nodeType":"YulFunctionCall","src":"3064:12:4"},"nodeType":"YulExpressionStatement","src":"3064:12:4"}]},"name":"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef","nodeType":"YulFunctionDefinition","src":"2965:117:4"},{"body":{"nodeType":"YulBlock","src":"3233:478:4","statements":[{"body":{"nodeType":"YulBlock","src":"3282:83:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d","nodeType":"YulIdentifier","src":"3284:77:4"},"nodeType":"YulFunctionCall","src":"3284:79:4"},"nodeType":"YulExpressionStatement","src":"3284:79:4"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"3261:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"3269:4:4","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3257:3:4"},"nodeType":"YulFunctionCall","src":"3257:17:4"},{"name":"end","nodeType":"YulIdentifier","src":"3276:3:4"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"3253:3:4"},"nodeType":"YulFunctionCall","src":"3253:27:4"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"3246:6:4"},"nodeType":"YulFunctionCall","src":"3246:35:4"},"nodeType":"YulIf","src":"3243:122:4"},{"nodeType":"YulAssignment","src":"3374:30:4","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"3397:6:4"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3384:12:4"},"nodeType":"YulFunctionCall","src":"3384:20:4"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"3374:6:4"}]},{"body":{"nodeType":"YulBlock","src":"3447:83:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490","nodeType":"YulIdentifier","src":"3449:77:4"},"nodeType":"YulFunctionCall","src":"3449:79:4"},"nodeType":"YulExpressionStatement","src":"3449:79:4"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"3419:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"3427:18:4","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"3416:2:4"},"nodeType":"YulFunctionCall","src":"3416:30:4"},"nodeType":"YulIf","src":"3413:117:4"},{"nodeType":"YulAssignment","src":"3539:29:4","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"3555:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"3563:4:4","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3551:3:4"},"nodeType":"YulFunctionCall","src":"3551:17:4"},"variableNames":[{"name":"arrayPos","nodeType":"YulIdentifier","src":"3539:8:4"}]},{"body":{"nodeType":"YulBlock","src":"3622:83:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef","nodeType":"YulIdentifier","src":"3624:77:4"},"nodeType":"YulFunctionCall","src":"3624:79:4"},"nodeType":"YulExpressionStatement","src":"3624:79:4"}]},"condition":{"arguments":[{"arguments":[{"name":"arrayPos","nodeType":"YulIdentifier","src":"3587:8:4"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"3601:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"3609:4:4","type":"","value":"0x40"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"3597:3:4"},"nodeType":"YulFunctionCall","src":"3597:17:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3583:3:4"},"nodeType":"YulFunctionCall","src":"3583:32:4"},{"name":"end","nodeType":"YulIdentifier","src":"3617:3:4"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"3580:2:4"},"nodeType":"YulFunctionCall","src":"3580:41:4"},"nodeType":"YulIf","src":"3577:128:4"}]},"name":"abi_decode_t_array$_t_struct$_Validator_$1106_calldata_ptr_$dyn_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"3200:6:4","type":""},{"name":"end","nodeType":"YulTypedName","src":"3208:3:4","type":""}],"returnVariables":[{"name":"arrayPos","nodeType":"YulTypedName","src":"3216:8:4","type":""},{"name":"length","nodeType":"YulTypedName","src":"3226:6:4","type":""}],"src":"3114:597:4"},{"body":{"nodeType":"YulBlock","src":"3862:478:4","statements":[{"body":{"nodeType":"YulBlock","src":"3911:83:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d","nodeType":"YulIdentifier","src":"3913:77:4"},"nodeType":"YulFunctionCall","src":"3913:79:4"},"nodeType":"YulExpressionStatement","src":"3913:79:4"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"3890:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"3898:4:4","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3886:3:4"},"nodeType":"YulFunctionCall","src":"3886:17:4"},{"name":"end","nodeType":"YulIdentifier","src":"3905:3:4"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"3882:3:4"},"nodeType":"YulFunctionCall","src":"3882:27:4"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"3875:6:4"},"nodeType":"YulFunctionCall","src":"3875:35:4"},"nodeType":"YulIf","src":"3872:122:4"},{"nodeType":"YulAssignment","src":"4003:30:4","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"4026:6:4"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4013:12:4"},"nodeType":"YulFunctionCall","src":"4013:20:4"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"4003:6:4"}]},{"body":{"nodeType":"YulBlock","src":"4076:83:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490","nodeType":"YulIdentifier","src":"4078:77:4"},"nodeType":"YulFunctionCall","src":"4078:79:4"},"nodeType":"YulExpressionStatement","src":"4078:79:4"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"4048:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"4056:18:4","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"4045:2:4"},"nodeType":"YulFunctionCall","src":"4045:30:4"},"nodeType":"YulIf","src":"4042:117:4"},{"nodeType":"YulAssignment","src":"4168:29:4","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"4184:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"4192:4:4","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4180:3:4"},"nodeType":"YulFunctionCall","src":"4180:17:4"},"variableNames":[{"name":"arrayPos","nodeType":"YulIdentifier","src":"4168:8:4"}]},{"body":{"nodeType":"YulBlock","src":"4251:83:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef","nodeType":"YulIdentifier","src":"4253:77:4"},"nodeType":"YulFunctionCall","src":"4253:79:4"},"nodeType":"YulExpressionStatement","src":"4253:79:4"}]},"condition":{"arguments":[{"arguments":[{"name":"arrayPos","nodeType":"YulIdentifier","src":"4216:8:4"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"4230:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"4238:4:4","type":"","value":"0x60"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"4226:3:4"},"nodeType":"YulFunctionCall","src":"4226:17:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4212:3:4"},"nodeType":"YulFunctionCall","src":"4212:32:4"},{"name":"end","nodeType":"YulIdentifier","src":"4246:3:4"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"4209:2:4"},"nodeType":"YulFunctionCall","src":"4209:41:4"},"nodeType":"YulIf","src":"4206:128:4"}]},"name":"abi_decode_t_array$_t_struct$_Signature_$1101_calldata_ptr_$dyn_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"3829:6:4","type":""},{"name":"end","nodeType":"YulTypedName","src":"3837:3:4","type":""}],"returnVariables":[{"name":"arrayPos","nodeType":"YulTypedName","src":"3845:8:4","type":""},{"name":"length","nodeType":"YulTypedName","src":"3855:6:4","type":""}],"src":"3743:597:4"},{"body":{"nodeType":"YulBlock","src":"4615:1168:4","statements":[{"body":{"nodeType":"YulBlock","src":"4661:83:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"4663:77:4"},"nodeType":"YulFunctionCall","src":"4663:79:4"},"nodeType":"YulExpressionStatement","src":"4663:79:4"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"4636:7:4"},{"name":"headStart","nodeType":"YulIdentifier","src":"4645:9:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4632:3:4"},"nodeType":"YulFunctionCall","src":"4632:23:4"},{"kind":"number","nodeType":"YulLiteral","src":"4657:2:4","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"4628:3:4"},"nodeType":"YulFunctionCall","src":"4628:32:4"},"nodeType":"YulIf","src":"4625:119:4"},{"nodeType":"YulBlock","src":"4754:318:4","statements":[{"nodeType":"YulVariableDeclaration","src":"4769:45:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4800:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"4811:1:4","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4796:3:4"},"nodeType":"YulFunctionCall","src":"4796:17:4"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4783:12:4"},"nodeType":"YulFunctionCall","src":"4783:31:4"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"4773:6:4","type":""}]},{"body":{"nodeType":"YulBlock","src":"4861:83:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulIdentifier","src":"4863:77:4"},"nodeType":"YulFunctionCall","src":"4863:79:4"},"nodeType":"YulExpressionStatement","src":"4863:79:4"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"4833:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"4841:18:4","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"4830:2:4"},"nodeType":"YulFunctionCall","src":"4830:30:4"},"nodeType":"YulIf","src":"4827:117:4"},{"nodeType":"YulAssignment","src":"4958:104:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5034:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"5045:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5030:3:4"},"nodeType":"YulFunctionCall","src":"5030:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"5054:7:4"}],"functionName":{"name":"abi_decode_t_struct$_OracleAttestationData_$1081_calldata_ptr","nodeType":"YulIdentifier","src":"4968:61:4"},"nodeType":"YulFunctionCall","src":"4968:94:4"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"4958:6:4"}]}]},{"nodeType":"YulBlock","src":"5082:342:4","statements":[{"nodeType":"YulVariableDeclaration","src":"5097:46:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5128:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"5139:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5124:3:4"},"nodeType":"YulFunctionCall","src":"5124:18:4"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"5111:12:4"},"nodeType":"YulFunctionCall","src":"5111:32:4"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"5101:6:4","type":""}]},{"body":{"nodeType":"YulBlock","src":"5190:83:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulIdentifier","src":"5192:77:4"},"nodeType":"YulFunctionCall","src":"5192:79:4"},"nodeType":"YulExpressionStatement","src":"5192:79:4"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"5162:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"5170:18:4","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5159:2:4"},"nodeType":"YulFunctionCall","src":"5159:30:4"},"nodeType":"YulIf","src":"5156:117:4"},{"nodeType":"YulAssignment","src":"5287:127:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5386:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"5397:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5382:3:4"},"nodeType":"YulFunctionCall","src":"5382:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"5406:7:4"}],"functionName":{"name":"abi_decode_t_array$_t_struct$_Validator_$1106_calldata_ptr_$dyn_calldata_ptr","nodeType":"YulIdentifier","src":"5305:76:4"},"nodeType":"YulFunctionCall","src":"5305:109:4"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"5287:6:4"},{"name":"value2","nodeType":"YulIdentifier","src":"5295:6:4"}]}]},{"nodeType":"YulBlock","src":"5434:342:4","statements":[{"nodeType":"YulVariableDeclaration","src":"5449:46:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5480:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"5491:2:4","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5476:3:4"},"nodeType":"YulFunctionCall","src":"5476:18:4"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"5463:12:4"},"nodeType":"YulFunctionCall","src":"5463:32:4"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"5453:6:4","type":""}]},{"body":{"nodeType":"YulBlock","src":"5542:83:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulIdentifier","src":"5544:77:4"},"nodeType":"YulFunctionCall","src":"5544:79:4"},"nodeType":"YulExpressionStatement","src":"5544:79:4"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"5514:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"5522:18:4","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5511:2:4"},"nodeType":"YulFunctionCall","src":"5511:30:4"},"nodeType":"YulIf","src":"5508:117:4"},{"nodeType":"YulAssignment","src":"5639:127:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5738:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"5749:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5734:3:4"},"nodeType":"YulFunctionCall","src":"5734:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"5758:7:4"}],"functionName":{"name":"abi_decode_t_array$_t_struct$_Signature_$1101_calldata_ptr_$dyn_calldata_ptr","nodeType":"YulIdentifier","src":"5657:76:4"},"nodeType":"YulFunctionCall","src":"5657:109:4"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"5639:6:4"},{"name":"value4","nodeType":"YulIdentifier","src":"5647:6:4"}]}]}]},"name":"abi_decode_tuple_t_struct$_OracleAttestationData_$1081_calldata_ptrt_array$_t_struct$_Validator_$1106_calldata_ptr_$dyn_calldata_ptrt_array$_t_struct$_Signature_$1101_calldata_ptr_$dyn_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4553:9:4","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"4564:7:4","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"4576:6:4","type":""},{"name":"value1","nodeType":"YulTypedName","src":"4584:6:4","type":""},{"name":"value2","nodeType":"YulTypedName","src":"4592:6:4","type":""},{"name":"value3","nodeType":"YulTypedName","src":"4600:6:4","type":""},{"name":"value4","nodeType":"YulTypedName","src":"4608:6:4","type":""}],"src":"4346:1437:4"},{"body":{"nodeType":"YulBlock","src":"5844:53:4","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"5861:3:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"5884:5:4"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"5866:17:4"},"nodeType":"YulFunctionCall","src":"5866:24:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5854:6:4"},"nodeType":"YulFunctionCall","src":"5854:37:4"},"nodeType":"YulExpressionStatement","src":"5854:37:4"}]},"name":"abi_encode_t_uint256_to_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"5832:5:4","type":""},{"name":"pos","nodeType":"YulTypedName","src":"5839:3:4","type":""}],"src":"5789:108:4"},{"body":{"nodeType":"YulBlock","src":"6099:397:4","statements":[{"nodeType":"YulVariableDeclaration","src":"6109:26:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"6125:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"6130:4:4","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6121:3:4"},"nodeType":"YulFunctionCall","src":"6121:14:4"},"variables":[{"name":"tail","nodeType":"YulTypedName","src":"6113:4:4","type":""}]},{"nodeType":"YulBlock","src":"6145:165:4","statements":[{"nodeType":"YulVariableDeclaration","src":"6181:43:4","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"6211:5:4"},{"kind":"number","nodeType":"YulLiteral","src":"6218:4:4","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6207:3:4"},"nodeType":"YulFunctionCall","src":"6207:16:4"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"6201:5:4"},"nodeType":"YulFunctionCall","src":"6201:23:4"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"6185:12:4","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"6271:12:4"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"6289:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"6294:4:4","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6285:3:4"},"nodeType":"YulFunctionCall","src":"6285:14:4"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256","nodeType":"YulIdentifier","src":"6237:33:4"},"nodeType":"YulFunctionCall","src":"6237:63:4"},"nodeType":"YulExpressionStatement","src":"6237:63:4"}]},{"nodeType":"YulBlock","src":"6320:169:4","statements":[{"nodeType":"YulVariableDeclaration","src":"6360:43:4","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"6390:5:4"},{"kind":"number","nodeType":"YulLiteral","src":"6397:4:4","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6386:3:4"},"nodeType":"YulFunctionCall","src":"6386:16:4"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"6380:5:4"},"nodeType":"YulFunctionCall","src":"6380:23:4"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"6364:12:4","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"6450:12:4"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"6468:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"6473:4:4","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6464:3:4"},"nodeType":"YulFunctionCall","src":"6464:14:4"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256","nodeType":"YulIdentifier","src":"6416:33:4"},"nodeType":"YulFunctionCall","src":"6416:63:4"},"nodeType":"YulExpressionStatement","src":"6416:63:4"}]}]},"name":"abi_encode_t_struct$_OracleData_$975_memory_ptr_to_t_struct$_OracleData_$975_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"6086:5:4","type":""},{"name":"pos","nodeType":"YulTypedName","src":"6093:3:4","type":""}],"src":"5979:517:4"},{"body":{"nodeType":"YulBlock","src":"6654:178:4","statements":[{"nodeType":"YulAssignment","src":"6664:26:4","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6676:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"6687:2:4","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6672:3:4"},"nodeType":"YulFunctionCall","src":"6672:18:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"6664:4:4"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"6798:6:4"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6811:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"6822:1:4","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6807:3:4"},"nodeType":"YulFunctionCall","src":"6807:17:4"}],"functionName":{"name":"abi_encode_t_struct$_OracleData_$975_memory_ptr_to_t_struct$_OracleData_$975_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"6700:97:4"},"nodeType":"YulFunctionCall","src":"6700:125:4"},"nodeType":"YulExpressionStatement","src":"6700:125:4"}]},"name":"abi_encode_tuple_t_struct$_OracleData_$975_memory_ptr__to_t_struct$_OracleData_$975_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6626:9:4","type":""},{"name":"value0","nodeType":"YulTypedName","src":"6638:6:4","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"6649:4:4","type":""}],"src":"6502:330:4"},{"body":{"nodeType":"YulBlock","src":"6881:79:4","statements":[{"body":{"nodeType":"YulBlock","src":"6938:16:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6947:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6950:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6940:6:4"},"nodeType":"YulFunctionCall","src":"6940:12:4"},"nodeType":"YulExpressionStatement","src":"6940:12:4"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"6904:5:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"6929:5:4"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"6911:17:4"},"nodeType":"YulFunctionCall","src":"6911:24:4"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"6901:2:4"},"nodeType":"YulFunctionCall","src":"6901:35:4"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"6894:6:4"},"nodeType":"YulFunctionCall","src":"6894:43:4"},"nodeType":"YulIf","src":"6891:63:4"}]},"name":"validator_revert_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"6874:5:4","type":""}],"src":"6838:122:4"},{"body":{"nodeType":"YulBlock","src":"7018:87:4","statements":[{"nodeType":"YulAssignment","src":"7028:29:4","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"7050:6:4"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"7037:12:4"},"nodeType":"YulFunctionCall","src":"7037:20:4"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"7028:5:4"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7093:5:4"}],"functionName":{"name":"validator_revert_t_uint256","nodeType":"YulIdentifier","src":"7066:26:4"},"nodeType":"YulFunctionCall","src":"7066:33:4"},"nodeType":"YulExpressionStatement","src":"7066:33:4"}]},"name":"abi_decode_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"6996:6:4","type":""},{"name":"end","nodeType":"YulTypedName","src":"7004:3:4","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"7012:5:4","type":""}],"src":"6966:139:4"},{"body":{"nodeType":"YulBlock","src":"7177:263:4","statements":[{"body":{"nodeType":"YulBlock","src":"7223:83:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"7225:77:4"},"nodeType":"YulFunctionCall","src":"7225:79:4"},"nodeType":"YulExpressionStatement","src":"7225:79:4"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"7198:7:4"},{"name":"headStart","nodeType":"YulIdentifier","src":"7207:9:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"7194:3:4"},"nodeType":"YulFunctionCall","src":"7194:23:4"},{"kind":"number","nodeType":"YulLiteral","src":"7219:2:4","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"7190:3:4"},"nodeType":"YulFunctionCall","src":"7190:32:4"},"nodeType":"YulIf","src":"7187:119:4"},{"nodeType":"YulBlock","src":"7316:117:4","statements":[{"nodeType":"YulVariableDeclaration","src":"7331:15:4","value":{"kind":"number","nodeType":"YulLiteral","src":"7345:1:4","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"7335:6:4","type":""}]},{"nodeType":"YulAssignment","src":"7360:63:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7395:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"7406:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7391:3:4"},"nodeType":"YulFunctionCall","src":"7391:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"7415:7:4"}],"functionName":{"name":"abi_decode_t_uint256","nodeType":"YulIdentifier","src":"7370:20:4"},"nodeType":"YulFunctionCall","src":"7370:53:4"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"7360:6:4"}]}]}]},"name":"abi_decode_tuple_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7147:9:4","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"7158:7:4","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"7170:6:4","type":""}],"src":"7111:329:4"},{"body":{"nodeType":"YulBlock","src":"7572:206:4","statements":[{"nodeType":"YulAssignment","src":"7582:26:4","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7594:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"7605:2:4","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7590:3:4"},"nodeType":"YulFunctionCall","src":"7590:18:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"7582:4:4"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"7662:6:4"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7675:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"7686:1:4","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7671:3:4"},"nodeType":"YulFunctionCall","src":"7671:17:4"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"7618:43:4"},"nodeType":"YulFunctionCall","src":"7618:71:4"},"nodeType":"YulExpressionStatement","src":"7618:71:4"},{"expression":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"7743:6:4"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7756:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"7767:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7752:3:4"},"nodeType":"YulFunctionCall","src":"7752:18:4"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"7699:43:4"},"nodeType":"YulFunctionCall","src":"7699:72:4"},"nodeType":"YulExpressionStatement","src":"7699:72:4"}]},"name":"abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7536:9:4","type":""},{"name":"value1","nodeType":"YulTypedName","src":"7548:6:4","type":""},{"name":"value0","nodeType":"YulTypedName","src":"7556:6:4","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"7567:4:4","type":""}],"src":"7446:332:4"},{"body":{"nodeType":"YulBlock","src":"7827:79:4","statements":[{"body":{"nodeType":"YulBlock","src":"7884:16:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7893:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7896:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7886:6:4"},"nodeType":"YulFunctionCall","src":"7886:12:4"},"nodeType":"YulExpressionStatement","src":"7886:12:4"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7850:5:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7875:5:4"}],"functionName":{"name":"cleanup_t_bytes32","nodeType":"YulIdentifier","src":"7857:17:4"},"nodeType":"YulFunctionCall","src":"7857:24:4"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"7847:2:4"},"nodeType":"YulFunctionCall","src":"7847:35:4"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"7840:6:4"},"nodeType":"YulFunctionCall","src":"7840:43:4"},"nodeType":"YulIf","src":"7837:63:4"}]},"name":"validator_revert_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"7820:5:4","type":""}],"src":"7784:122:4"},{"body":{"nodeType":"YulBlock","src":"7964:87:4","statements":[{"nodeType":"YulAssignment","src":"7974:29:4","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"7996:6:4"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"7983:12:4"},"nodeType":"YulFunctionCall","src":"7983:20:4"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"7974:5:4"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"8039:5:4"}],"functionName":{"name":"validator_revert_t_bytes32","nodeType":"YulIdentifier","src":"8012:26:4"},"nodeType":"YulFunctionCall","src":"8012:33:4"},"nodeType":"YulExpressionStatement","src":"8012:33:4"}]},"name":"abi_decode_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"7942:6:4","type":""},{"name":"end","nodeType":"YulTypedName","src":"7950:3:4","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"7958:5:4","type":""}],"src":"7912:139:4"},{"body":{"nodeType":"YulBlock","src":"8115:64:4","statements":[{"nodeType":"YulAssignment","src":"8125:48:4","value":{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"8155:3:4"},{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"8164:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"8169:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8160:3:4"},"nodeType":"YulFunctionCall","src":"8160:12:4"}],"functionName":{"name":"abi_decode_t_bytes32","nodeType":"YulIdentifier","src":"8134:20:4"},"nodeType":"YulFunctionCall","src":"8134:39:4"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"8125:5:4"}]}]},"name":"calldata_access_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"baseRef","nodeType":"YulTypedName","src":"8092:7:4","type":""},{"name":"ptr","nodeType":"YulTypedName","src":"8101:3:4","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"8109:5:4","type":""}],"src":"8057:122:4"},{"body":{"nodeType":"YulBlock","src":"8240:53:4","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"8257:3:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"8280:5:4"}],"functionName":{"name":"cleanup_t_bytes32","nodeType":"YulIdentifier","src":"8262:17:4"},"nodeType":"YulFunctionCall","src":"8262:24:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8250:6:4"},"nodeType":"YulFunctionCall","src":"8250:37:4"},"nodeType":"YulExpressionStatement","src":"8250:37:4"}]},"name":"abi_encode_t_bytes32_to_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"8228:5:4","type":""},{"name":"pos","nodeType":"YulTypedName","src":"8235:3:4","type":""}],"src":"8185:108:4"},{"body":{"nodeType":"YulBlock","src":"8388:28:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8405:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"8408:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"8398:6:4"},"nodeType":"YulFunctionCall","src":"8398:12:4"},"nodeType":"YulExpressionStatement","src":"8398:12:4"}]},"name":"revert_error_db64ea6d4a12deece376118739de8d9f517a2db5b58ea2ca332ea908c04c71d4","nodeType":"YulFunctionDefinition","src":"8299:117:4"},{"body":{"nodeType":"YulBlock","src":"8511:288:4","statements":[{"nodeType":"YulVariableDeclaration","src":"8521:43:4","value":{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"8560:3:4"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"8547:12:4"},"nodeType":"YulFunctionCall","src":"8547:17:4"},"variables":[{"name":"rel_offset_of_tail","nodeType":"YulTypedName","src":"8525:18:4","type":""}]},{"body":{"nodeType":"YulBlock","src":"8658:83:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_db64ea6d4a12deece376118739de8d9f517a2db5b58ea2ca332ea908c04c71d4","nodeType":"YulIdentifier","src":"8660:77:4"},"nodeType":"YulFunctionCall","src":"8660:79:4"},"nodeType":"YulExpressionStatement","src":"8660:79:4"}]},"condition":{"arguments":[{"arguments":[{"name":"rel_offset_of_tail","nodeType":"YulIdentifier","src":"8587:18:4"},{"arguments":[{"arguments":[{"arguments":[],"functionName":{"name":"calldatasize","nodeType":"YulIdentifier","src":"8615:12:4"},"nodeType":"YulFunctionCall","src":"8615:14:4"},{"name":"base_ref","nodeType":"YulIdentifier","src":"8631:8:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"8611:3:4"},"nodeType":"YulFunctionCall","src":"8611:29:4"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8646:4:4","type":"","value":"0xc0"},{"kind":"number","nodeType":"YulLiteral","src":"8652:1:4","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"8642:3:4"},"nodeType":"YulFunctionCall","src":"8642:12:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"8607:3:4"},"nodeType":"YulFunctionCall","src":"8607:48:4"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"8583:3:4"},"nodeType":"YulFunctionCall","src":"8583:73:4"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"8576:6:4"},"nodeType":"YulFunctionCall","src":"8576:81:4"},"nodeType":"YulIf","src":"8573:168:4"},{"nodeType":"YulAssignment","src":"8750:42:4","value":{"arguments":[{"name":"rel_offset_of_tail","nodeType":"YulIdentifier","src":"8763:18:4"},{"name":"base_ref","nodeType":"YulIdentifier","src":"8783:8:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8759:3:4"},"nodeType":"YulFunctionCall","src":"8759:33:4"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"8750:5:4"}]}]},"name":"calldata_access_t_struct$_ReportData_$1094_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"base_ref","nodeType":"YulTypedName","src":"8487:8:4","type":""},{"name":"ptr","nodeType":"YulTypedName","src":"8497:3:4","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"8505:5:4","type":""}],"src":"8422:377:4"},{"body":{"nodeType":"YulBlock","src":"8894:28:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8911:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"8914:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"8904:6:4"},"nodeType":"YulFunctionCall","src":"8904:12:4"},"nodeType":"YulExpressionStatement","src":"8904:12:4"}]},"name":"revert_error_0803104b3ab68501accf02de57372b8e5e6e1582158b771d3f89279dc6822fe2","nodeType":"YulFunctionDefinition","src":"8805:117:4"},{"body":{"nodeType":"YulBlock","src":"9017:28:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9034:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"9037:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"9027:6:4"},"nodeType":"YulFunctionCall","src":"9027:12:4"},"nodeType":"YulExpressionStatement","src":"9027:12:4"}]},"name":"revert_error_3894daff73bdbb8963c284e167b207f7abade3c031c50828ea230a16bdbc0f20","nodeType":"YulFunctionDefinition","src":"8928:117:4"},{"body":{"nodeType":"YulBlock","src":"9129:633:4","statements":[{"nodeType":"YulVariableDeclaration","src":"9139:43:4","value":{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"9178:3:4"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"9165:12:4"},"nodeType":"YulFunctionCall","src":"9165:17:4"},"variables":[{"name":"rel_offset_of_tail","nodeType":"YulTypedName","src":"9143:18:4","type":""}]},{"body":{"nodeType":"YulBlock","src":"9276:83:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_db64ea6d4a12deece376118739de8d9f517a2db5b58ea2ca332ea908c04c71d4","nodeType":"YulIdentifier","src":"9278:77:4"},"nodeType":"YulFunctionCall","src":"9278:79:4"},"nodeType":"YulExpressionStatement","src":"9278:79:4"}]},"condition":{"arguments":[{"arguments":[{"name":"rel_offset_of_tail","nodeType":"YulIdentifier","src":"9205:18:4"},{"arguments":[{"arguments":[{"arguments":[],"functionName":{"name":"calldatasize","nodeType":"YulIdentifier","src":"9233:12:4"},"nodeType":"YulFunctionCall","src":"9233:14:4"},{"name":"base_ref","nodeType":"YulIdentifier","src":"9249:8:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"9229:3:4"},"nodeType":"YulFunctionCall","src":"9229:29:4"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9264:4:4","type":"","value":"0x20"},{"kind":"number","nodeType":"YulLiteral","src":"9270:1:4","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"9260:3:4"},"nodeType":"YulFunctionCall","src":"9260:12:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"9225:3:4"},"nodeType":"YulFunctionCall","src":"9225:48:4"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"9201:3:4"},"nodeType":"YulFunctionCall","src":"9201:73:4"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"9194:6:4"},"nodeType":"YulFunctionCall","src":"9194:81:4"},"nodeType":"YulIf","src":"9191:168:4"},{"nodeType":"YulAssignment","src":"9368:42:4","value":{"arguments":[{"name":"rel_offset_of_tail","nodeType":"YulIdentifier","src":"9381:18:4"},{"name":"base_ref","nodeType":"YulIdentifier","src":"9401:8:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9377:3:4"},"nodeType":"YulFunctionCall","src":"9377:33:4"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"9368:5:4"}]},{"nodeType":"YulAssignment","src":"9420:29:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"9443:5:4"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"9430:12:4"},"nodeType":"YulFunctionCall","src":"9430:19:4"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"9420:6:4"}]},{"nodeType":"YulAssignment","src":"9458:25:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"9471:5:4"},{"kind":"number","nodeType":"YulLiteral","src":"9478:4:4","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9467:3:4"},"nodeType":"YulFunctionCall","src":"9467:16:4"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"9458:5:4"}]},{"body":{"nodeType":"YulBlock","src":"9526:83:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_0803104b3ab68501accf02de57372b8e5e6e1582158b771d3f89279dc6822fe2","nodeType":"YulIdentifier","src":"9528:77:4"},"nodeType":"YulFunctionCall","src":"9528:79:4"},"nodeType":"YulExpressionStatement","src":"9528:79:4"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"9498:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"9506:18:4","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"9495:2:4"},"nodeType":"YulFunctionCall","src":"9495:30:4"},"nodeType":"YulIf","src":"9492:117:4"},{"body":{"nodeType":"YulBlock","src":"9672:83:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_3894daff73bdbb8963c284e167b207f7abade3c031c50828ea230a16bdbc0f20","nodeType":"YulIdentifier","src":"9674:77:4"},"nodeType":"YulFunctionCall","src":"9674:79:4"},"nodeType":"YulExpressionStatement","src":"9674:79:4"}]},"condition":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"9625:5:4"},{"arguments":[{"arguments":[],"functionName":{"name":"calldatasize","nodeType":"YulIdentifier","src":"9636:12:4"},"nodeType":"YulFunctionCall","src":"9636:14:4"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"9656:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"9664:4:4","type":"","value":"0x01"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"9652:3:4"},"nodeType":"YulFunctionCall","src":"9652:17:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"9632:3:4"},"nodeType":"YulFunctionCall","src":"9632:38:4"}],"functionName":{"name":"sgt","nodeType":"YulIdentifier","src":"9621:3:4"},"nodeType":"YulFunctionCall","src":"9621:50:4"},"nodeType":"YulIf","src":"9618:137:4"}]},"name":"calldata_access_t_bytes_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"base_ref","nodeType":"YulTypedName","src":"9097:8:4","type":""},{"name":"ptr","nodeType":"YulTypedName","src":"9107:3:4","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"9115:5:4","type":""},{"name":"length","nodeType":"YulTypedName","src":"9122:6:4","type":""}],"src":"9051:711:4"},{"body":{"nodeType":"YulBlock","src":"9853:73:4","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"9870:3:4"},{"name":"length","nodeType":"YulIdentifier","src":"9875:6:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9863:6:4"},"nodeType":"YulFunctionCall","src":"9863:19:4"},"nodeType":"YulExpressionStatement","src":"9863:19:4"},{"nodeType":"YulAssignment","src":"9891:29:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"9910:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"9915:4:4","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9906:3:4"},"nodeType":"YulFunctionCall","src":"9906:14:4"},"variableNames":[{"name":"updated_pos","nodeType":"YulIdentifier","src":"9891:11:4"}]}]},"name":"array_storeLengthForEncoding_t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"9825:3:4","type":""},{"name":"length","nodeType":"YulTypedName","src":"9830:6:4","type":""}],"returnVariables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"9841:11:4","type":""}],"src":"9768:158:4"},{"body":{"nodeType":"YulBlock","src":"9996:82:4","statements":[{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"10019:3:4"},{"name":"src","nodeType":"YulIdentifier","src":"10024:3:4"},{"name":"length","nodeType":"YulIdentifier","src":"10029:6:4"}],"functionName":{"name":"calldatacopy","nodeType":"YulIdentifier","src":"10006:12:4"},"nodeType":"YulFunctionCall","src":"10006:30:4"},"nodeType":"YulExpressionStatement","src":"10006:30:4"},{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"10056:3:4"},{"name":"length","nodeType":"YulIdentifier","src":"10061:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10052:3:4"},"nodeType":"YulFunctionCall","src":"10052:16:4"},{"kind":"number","nodeType":"YulLiteral","src":"10070:1:4","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10045:6:4"},"nodeType":"YulFunctionCall","src":"10045:27:4"},"nodeType":"YulExpressionStatement","src":"10045:27:4"}]},"name":"copy_calldata_to_memory_with_cleanup","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"9978:3:4","type":""},{"name":"dst","nodeType":"YulTypedName","src":"9983:3:4","type":""},{"name":"length","nodeType":"YulTypedName","src":"9988:6:4","type":""}],"src":"9932:146:4"},{"body":{"nodeType":"YulBlock","src":"10132:54:4","statements":[{"nodeType":"YulAssignment","src":"10142:38:4","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"10160:5:4"},{"kind":"number","nodeType":"YulLiteral","src":"10167:2:4","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10156:3:4"},"nodeType":"YulFunctionCall","src":"10156:14:4"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10176:2:4","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"10172:3:4"},"nodeType":"YulFunctionCall","src":"10172:7:4"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"10152:3:4"},"nodeType":"YulFunctionCall","src":"10152:28:4"},"variableNames":[{"name":"result","nodeType":"YulIdentifier","src":"10142:6:4"}]}]},"name":"round_up_to_mul_of_32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"10115:5:4","type":""}],"returnVariables":[{"name":"result","nodeType":"YulTypedName","src":"10125:6:4","type":""}],"src":"10084:102:4"},{"body":{"nodeType":"YulBlock","src":"10304:204:4","statements":[{"nodeType":"YulAssignment","src":"10314:67:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"10369:3:4"},{"name":"length","nodeType":"YulIdentifier","src":"10374:6:4"}],"functionName":{"name":"array_storeLengthForEncoding_t_bytes_memory_ptr","nodeType":"YulIdentifier","src":"10321:47:4"},"nodeType":"YulFunctionCall","src":"10321:60:4"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"10314:3:4"}]},{"expression":{"arguments":[{"name":"start","nodeType":"YulIdentifier","src":"10428:5:4"},{"name":"pos","nodeType":"YulIdentifier","src":"10435:3:4"},{"name":"length","nodeType":"YulIdentifier","src":"10440:6:4"}],"functionName":{"name":"copy_calldata_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"10391:36:4"},"nodeType":"YulFunctionCall","src":"10391:56:4"},"nodeType":"YulExpressionStatement","src":"10391:56:4"},{"nodeType":"YulAssignment","src":"10456:46:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"10467:3:4"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"10494:6:4"}],"functionName":{"name":"round_up_to_mul_of_32","nodeType":"YulIdentifier","src":"10472:21:4"},"nodeType":"YulFunctionCall","src":"10472:29:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10463:3:4"},"nodeType":"YulFunctionCall","src":"10463:39:4"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"10456:3:4"}]}]},"name":"abi_encode_t_bytes_calldata_ptr_to_t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"start","nodeType":"YulTypedName","src":"10277:5:4","type":""},{"name":"length","nodeType":"YulTypedName","src":"10284:6:4","type":""},{"name":"pos","nodeType":"YulTypedName","src":"10292:3:4","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"10300:3:4","type":""}],"src":"10214:294:4"},{"body":{"nodeType":"YulBlock","src":"10572:64:4","statements":[{"nodeType":"YulAssignment","src":"10582:48:4","value":{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"10612:3:4"},{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"10621:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"10626:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10617:3:4"},"nodeType":"YulFunctionCall","src":"10617:12:4"}],"functionName":{"name":"abi_decode_t_uint256","nodeType":"YulIdentifier","src":"10591:20:4"},"nodeType":"YulFunctionCall","src":"10591:39:4"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"10582:5:4"}]}]},"name":"calldata_access_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"baseRef","nodeType":"YulTypedName","src":"10549:7:4","type":""},{"name":"ptr","nodeType":"YulTypedName","src":"10558:3:4","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"10566:5:4","type":""}],"src":"10514:122:4"},{"body":{"nodeType":"YulBlock","src":"10810:1435:4","statements":[{"nodeType":"YulVariableDeclaration","src":"10820:26:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"10836:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"10841:4:4","type":"","value":"0xc0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10832:3:4"},"nodeType":"YulFunctionCall","src":"10832:14:4"},"variables":[{"name":"tail","nodeType":"YulTypedName","src":"10824:4:4","type":""}]},{"nodeType":"YulBlock","src":"10856:302:4","statements":[{"nodeType":"YulVariableDeclaration","src":"10892:95:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"10963:5:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"10974:5:4"},{"kind":"number","nodeType":"YulLiteral","src":"10981:4:4","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10970:3:4"},"nodeType":"YulFunctionCall","src":"10970:16:4"}],"functionName":{"name":"calldata_access_t_bytes_calldata_ptr","nodeType":"YulIdentifier","src":"10926:36:4"},"nodeType":"YulFunctionCall","src":"10926:61:4"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"10896:12:4","type":""},{"name":"memberValue1","nodeType":"YulTypedName","src":"10910:12:4","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"11012:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"11017:4:4","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11008:3:4"},"nodeType":"YulFunctionCall","src":"11008:14:4"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"11028:4:4"},{"name":"pos","nodeType":"YulIdentifier","src":"11034:3:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"11024:3:4"},"nodeType":"YulFunctionCall","src":"11024:14:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11001:6:4"},"nodeType":"YulFunctionCall","src":"11001:38:4"},"nodeType":"YulExpressionStatement","src":"11001:38:4"},{"nodeType":"YulAssignment","src":"11052:95:4","value":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"11114:12:4"},{"name":"memberValue1","nodeType":"YulIdentifier","src":"11128:12:4"},{"name":"tail","nodeType":"YulIdentifier","src":"11142:4:4"}],"functionName":{"name":"abi_encode_t_bytes_calldata_ptr_to_t_bytes_memory_ptr","nodeType":"YulIdentifier","src":"11060:53:4"},"nodeType":"YulFunctionCall","src":"11060:87:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"11052:4:4"}]}]},{"nodeType":"YulBlock","src":"11168:196:4","statements":[{"nodeType":"YulVariableDeclaration","src":"11208:70:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"11254:5:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"11265:5:4"},{"kind":"number","nodeType":"YulLiteral","src":"11272:4:4","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11261:3:4"},"nodeType":"YulFunctionCall","src":"11261:16:4"}],"functionName":{"name":"calldata_access_t_uint256","nodeType":"YulIdentifier","src":"11228:25:4"},"nodeType":"YulFunctionCall","src":"11228:50:4"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"11212:12:4","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"11325:12:4"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"11343:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"11348:4:4","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11339:3:4"},"nodeType":"YulFunctionCall","src":"11339:14:4"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256","nodeType":"YulIdentifier","src":"11291:33:4"},"nodeType":"YulFunctionCall","src":"11291:63:4"},"nodeType":"YulExpressionStatement","src":"11291:63:4"}]},{"nodeType":"YulBlock","src":"11374:201:4","statements":[{"nodeType":"YulVariableDeclaration","src":"11419:70:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"11465:5:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"11476:5:4"},{"kind":"number","nodeType":"YulLiteral","src":"11483:4:4","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11472:3:4"},"nodeType":"YulFunctionCall","src":"11472:16:4"}],"functionName":{"name":"calldata_access_t_uint256","nodeType":"YulIdentifier","src":"11439:25:4"},"nodeType":"YulFunctionCall","src":"11439:50:4"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"11423:12:4","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"11536:12:4"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"11554:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"11559:4:4","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11550:3:4"},"nodeType":"YulFunctionCall","src":"11550:14:4"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256","nodeType":"YulIdentifier","src":"11502:33:4"},"nodeType":"YulFunctionCall","src":"11502:63:4"},"nodeType":"YulExpressionStatement","src":"11502:63:4"}]},{"nodeType":"YulBlock","src":"11585:204:4","statements":[{"nodeType":"YulVariableDeclaration","src":"11633:70:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"11679:5:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"11690:5:4"},{"kind":"number","nodeType":"YulLiteral","src":"11697:4:4","type":"","value":"0x60"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11686:3:4"},"nodeType":"YulFunctionCall","src":"11686:16:4"}],"functionName":{"name":"calldata_access_t_uint256","nodeType":"YulIdentifier","src":"11653:25:4"},"nodeType":"YulFunctionCall","src":"11653:50:4"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"11637:12:4","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"11750:12:4"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"11768:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"11773:4:4","type":"","value":"0x60"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11764:3:4"},"nodeType":"YulFunctionCall","src":"11764:14:4"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256","nodeType":"YulIdentifier","src":"11716:33:4"},"nodeType":"YulFunctionCall","src":"11716:63:4"},"nodeType":"YulExpressionStatement","src":"11716:63:4"}]},{"nodeType":"YulBlock","src":"11799:200:4","statements":[{"nodeType":"YulVariableDeclaration","src":"11843:70:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"11889:5:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"11900:5:4"},{"kind":"number","nodeType":"YulLiteral","src":"11907:4:4","type":"","value":"0x80"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11896:3:4"},"nodeType":"YulFunctionCall","src":"11896:16:4"}],"functionName":{"name":"calldata_access_t_uint256","nodeType":"YulIdentifier","src":"11863:25:4"},"nodeType":"YulFunctionCall","src":"11863:50:4"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"11847:12:4","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"11960:12:4"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"11978:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"11983:4:4","type":"","value":"0x80"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11974:3:4"},"nodeType":"YulFunctionCall","src":"11974:14:4"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256","nodeType":"YulIdentifier","src":"11926:33:4"},"nodeType":"YulFunctionCall","src":"11926:63:4"},"nodeType":"YulExpressionStatement","src":"11926:63:4"}]},{"nodeType":"YulBlock","src":"12009:209:4","statements":[{"nodeType":"YulVariableDeclaration","src":"12062:70:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"12108:5:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"12119:5:4"},{"kind":"number","nodeType":"YulLiteral","src":"12126:4:4","type":"","value":"0xa0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12115:3:4"},"nodeType":"YulFunctionCall","src":"12115:16:4"}],"functionName":{"name":"calldata_access_t_uint256","nodeType":"YulIdentifier","src":"12082:25:4"},"nodeType":"YulFunctionCall","src":"12082:50:4"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"12066:12:4","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"12179:12:4"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"12197:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"12202:4:4","type":"","value":"0xa0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12193:3:4"},"nodeType":"YulFunctionCall","src":"12193:14:4"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256","nodeType":"YulIdentifier","src":"12145:33:4"},"nodeType":"YulFunctionCall","src":"12145:63:4"},"nodeType":"YulExpressionStatement","src":"12145:63:4"}]},{"nodeType":"YulAssignment","src":"12228:11:4","value":{"name":"tail","nodeType":"YulIdentifier","src":"12235:4:4"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"12228:3:4"}]}]},"name":"abi_encode_t_struct$_ReportData_$1094_calldata_ptr_to_t_struct$_ReportData_$1094_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"10789:5:4","type":""},{"name":"pos","nodeType":"YulTypedName","src":"10796:3:4","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"10805:3:4","type":""}],"src":"10688:1557:4"},{"body":{"nodeType":"YulBlock","src":"12473:826:4","statements":[{"nodeType":"YulVariableDeclaration","src":"12483:26:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"12499:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"12504:4:4","type":"","value":"0x60"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12495:3:4"},"nodeType":"YulFunctionCall","src":"12495:14:4"},"variables":[{"name":"tail","nodeType":"YulTypedName","src":"12487:4:4","type":""}]},{"nodeType":"YulBlock","src":"12519:194:4","statements":[{"nodeType":"YulVariableDeclaration","src":"12557:70:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"12603:5:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"12614:5:4"},{"kind":"number","nodeType":"YulLiteral","src":"12621:4:4","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12610:3:4"},"nodeType":"YulFunctionCall","src":"12610:16:4"}],"functionName":{"name":"calldata_access_t_bytes32","nodeType":"YulIdentifier","src":"12577:25:4"},"nodeType":"YulFunctionCall","src":"12577:50:4"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"12561:12:4","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"12674:12:4"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"12692:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"12697:4:4","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12688:3:4"},"nodeType":"YulFunctionCall","src":"12688:14:4"}],"functionName":{"name":"abi_encode_t_bytes32_to_t_bytes32","nodeType":"YulIdentifier","src":"12640:33:4"},"nodeType":"YulFunctionCall","src":"12640:63:4"},"nodeType":"YulExpressionStatement","src":"12640:63:4"}]},{"nodeType":"YulBlock","src":"12723:332:4","statements":[{"nodeType":"YulVariableDeclaration","src":"12760:100:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"12836:5:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"12847:5:4"},{"kind":"number","nodeType":"YulLiteral","src":"12854:4:4","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12843:3:4"},"nodeType":"YulFunctionCall","src":"12843:16:4"}],"functionName":{"name":"calldata_access_t_struct$_ReportData_$1094_calldata_ptr","nodeType":"YulIdentifier","src":"12780:55:4"},"nodeType":"YulFunctionCall","src":"12780:80:4"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"12764:12:4","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"12885:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"12890:4:4","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12881:3:4"},"nodeType":"YulFunctionCall","src":"12881:14:4"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"12901:4:4"},{"name":"pos","nodeType":"YulIdentifier","src":"12907:3:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"12897:3:4"},"nodeType":"YulFunctionCall","src":"12897:14:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12874:6:4"},"nodeType":"YulFunctionCall","src":"12874:38:4"},"nodeType":"YulExpressionStatement","src":"12874:38:4"},{"nodeType":"YulAssignment","src":"12925:119:4","value":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"13025:12:4"},{"name":"tail","nodeType":"YulIdentifier","src":"13039:4:4"}],"functionName":{"name":"abi_encode_t_struct$_ReportData_$1094_calldata_ptr_to_t_struct$_ReportData_$1094_memory_ptr","nodeType":"YulIdentifier","src":"12933:91:4"},"nodeType":"YulFunctionCall","src":"12933:111:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"12925:4:4"}]}]},{"nodeType":"YulBlock","src":"13065:207:4","statements":[{"nodeType":"YulVariableDeclaration","src":"13116:70:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"13162:5:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"13173:5:4"},{"kind":"number","nodeType":"YulLiteral","src":"13180:4:4","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13169:3:4"},"nodeType":"YulFunctionCall","src":"13169:16:4"}],"functionName":{"name":"calldata_access_t_uint256","nodeType":"YulIdentifier","src":"13136:25:4"},"nodeType":"YulFunctionCall","src":"13136:50:4"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"13120:12:4","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"13233:12:4"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"13251:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"13256:4:4","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13247:3:4"},"nodeType":"YulFunctionCall","src":"13247:14:4"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256","nodeType":"YulIdentifier","src":"13199:33:4"},"nodeType":"YulFunctionCall","src":"13199:63:4"},"nodeType":"YulExpressionStatement","src":"13199:63:4"}]},{"nodeType":"YulAssignment","src":"13282:11:4","value":{"name":"tail","nodeType":"YulIdentifier","src":"13289:4:4"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"13282:3:4"}]}]},"name":"abi_encode_t_struct$_OracleAttestationData_$1081_calldata_ptr_to_t_struct$_OracleAttestationData_$1081_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"12452:5:4","type":""},{"name":"pos","nodeType":"YulTypedName","src":"12459:3:4","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"12468:3:4","type":""}],"src":"12319:980:4"},{"body":{"nodeType":"YulBlock","src":"13443:73:4","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"13460:3:4"},{"name":"length","nodeType":"YulIdentifier","src":"13465:6:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13453:6:4"},"nodeType":"YulFunctionCall","src":"13453:19:4"},"nodeType":"YulExpressionStatement","src":"13453:19:4"},{"nodeType":"YulAssignment","src":"13481:29:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"13500:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"13505:4:4","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13496:3:4"},"nodeType":"YulFunctionCall","src":"13496:14:4"},"variableNames":[{"name":"updated_pos","nodeType":"YulIdentifier","src":"13481:11:4"}]}]},"name":"array_storeLengthForEncoding_t_array$_t_struct$_Validator_$1106_memory_ptr_$dyn_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"13415:3:4","type":""},{"name":"length","nodeType":"YulTypedName","src":"13420:6:4","type":""}],"returnVariables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"13431:11:4","type":""}],"src":"13305:211:4"},{"body":{"nodeType":"YulBlock","src":"13625:28:4","statements":[{"nodeType":"YulAssignment","src":"13635:11:4","value":{"name":"ptr","nodeType":"YulIdentifier","src":"13643:3:4"},"variableNames":[{"name":"data","nodeType":"YulIdentifier","src":"13635:4:4"}]}]},"name":"array_dataslot_t_array$_t_struct$_Validator_$1106_calldata_ptr_$dyn_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"ptr","nodeType":"YulTypedName","src":"13612:3:4","type":""}],"returnVariables":[{"name":"data","nodeType":"YulTypedName","src":"13620:4:4","type":""}],"src":"13522:131:4"},{"body":{"nodeType":"YulBlock","src":"13704:51:4","statements":[{"nodeType":"YulAssignment","src":"13714:35:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"13743:5:4"}],"functionName":{"name":"cleanup_t_uint160","nodeType":"YulIdentifier","src":"13725:17:4"},"nodeType":"YulFunctionCall","src":"13725:24:4"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"13714:7:4"}]}]},"name":"cleanup_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"13686:5:4","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"13696:7:4","type":""}],"src":"13659:96:4"},{"body":{"nodeType":"YulBlock","src":"13804:79:4","statements":[{"body":{"nodeType":"YulBlock","src":"13861:16:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13870:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"13873:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"13863:6:4"},"nodeType":"YulFunctionCall","src":"13863:12:4"},"nodeType":"YulExpressionStatement","src":"13863:12:4"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"13827:5:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"13852:5:4"}],"functionName":{"name":"cleanup_t_address","nodeType":"YulIdentifier","src":"13834:17:4"},"nodeType":"YulFunctionCall","src":"13834:24:4"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"13824:2:4"},"nodeType":"YulFunctionCall","src":"13824:35:4"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"13817:6:4"},"nodeType":"YulFunctionCall","src":"13817:43:4"},"nodeType":"YulIf","src":"13814:63:4"}]},"name":"validator_revert_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"13797:5:4","type":""}],"src":"13761:122:4"},{"body":{"nodeType":"YulBlock","src":"13941:87:4","statements":[{"nodeType":"YulAssignment","src":"13951:29:4","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"13973:6:4"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"13960:12:4"},"nodeType":"YulFunctionCall","src":"13960:20:4"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"13951:5:4"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"14016:5:4"}],"functionName":{"name":"validator_revert_t_address","nodeType":"YulIdentifier","src":"13989:26:4"},"nodeType":"YulFunctionCall","src":"13989:33:4"},"nodeType":"YulExpressionStatement","src":"13989:33:4"}]},"name":"abi_decode_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"13919:6:4","type":""},{"name":"end","nodeType":"YulTypedName","src":"13927:3:4","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"13935:5:4","type":""}],"src":"13889:139:4"},{"body":{"nodeType":"YulBlock","src":"14092:64:4","statements":[{"nodeType":"YulAssignment","src":"14102:48:4","value":{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"14132:3:4"},{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"14141:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"14146:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14137:3:4"},"nodeType":"YulFunctionCall","src":"14137:12:4"}],"functionName":{"name":"abi_decode_t_address","nodeType":"YulIdentifier","src":"14111:20:4"},"nodeType":"YulFunctionCall","src":"14111:39:4"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"14102:5:4"}]}]},"name":"calldata_access_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"baseRef","nodeType":"YulTypedName","src":"14069:7:4","type":""},{"name":"ptr","nodeType":"YulTypedName","src":"14078:3:4","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"14086:5:4","type":""}],"src":"14034:122:4"},{"body":{"nodeType":"YulBlock","src":"14217:53:4","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"14234:3:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"14257:5:4"}],"functionName":{"name":"cleanup_t_address","nodeType":"YulIdentifier","src":"14239:17:4"},"nodeType":"YulFunctionCall","src":"14239:24:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14227:6:4"},"nodeType":"YulFunctionCall","src":"14227:37:4"},"nodeType":"YulExpressionStatement","src":"14227:37:4"}]},"name":"abi_encode_t_address_to_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"14205:5:4","type":""},{"name":"pos","nodeType":"YulTypedName","src":"14212:3:4","type":""}],"src":"14162:108:4"},{"body":{"nodeType":"YulBlock","src":"14432:446:4","statements":[{"nodeType":"YulVariableDeclaration","src":"14442:26:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"14458:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"14463:4:4","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14454:3:4"},"nodeType":"YulFunctionCall","src":"14454:14:4"},"variables":[{"name":"tail","nodeType":"YulTypedName","src":"14446:4:4","type":""}]},{"nodeType":"YulBlock","src":"14478:191:4","statements":[{"nodeType":"YulVariableDeclaration","src":"14513:70:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"14559:5:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"14570:5:4"},{"kind":"number","nodeType":"YulLiteral","src":"14577:4:4","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14566:3:4"},"nodeType":"YulFunctionCall","src":"14566:16:4"}],"functionName":{"name":"calldata_access_t_address","nodeType":"YulIdentifier","src":"14533:25:4"},"nodeType":"YulFunctionCall","src":"14533:50:4"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"14517:12:4","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"14630:12:4"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"14648:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"14653:4:4","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14644:3:4"},"nodeType":"YulFunctionCall","src":"14644:14:4"}],"functionName":{"name":"abi_encode_t_address_to_t_address","nodeType":"YulIdentifier","src":"14596:33:4"},"nodeType":"YulFunctionCall","src":"14596:63:4"},"nodeType":"YulExpressionStatement","src":"14596:63:4"}]},{"nodeType":"YulBlock","src":"14679:192:4","statements":[{"nodeType":"YulVariableDeclaration","src":"14715:70:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"14761:5:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"14772:5:4"},{"kind":"number","nodeType":"YulLiteral","src":"14779:4:4","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14768:3:4"},"nodeType":"YulFunctionCall","src":"14768:16:4"}],"functionName":{"name":"calldata_access_t_uint256","nodeType":"YulIdentifier","src":"14735:25:4"},"nodeType":"YulFunctionCall","src":"14735:50:4"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"14719:12:4","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"14832:12:4"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"14850:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"14855:4:4","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14846:3:4"},"nodeType":"YulFunctionCall","src":"14846:14:4"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256","nodeType":"YulIdentifier","src":"14798:33:4"},"nodeType":"YulFunctionCall","src":"14798:63:4"},"nodeType":"YulExpressionStatement","src":"14798:63:4"}]}]},"name":"abi_encode_t_struct$_Validator_$1106_calldata_ptr_to_t_struct$_Validator_$1106_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"14419:5:4","type":""},{"name":"pos","nodeType":"YulTypedName","src":"14426:3:4","type":""}],"src":"14320:558:4"},{"body":{"nodeType":"YulBlock","src":"15020:155:4","statements":[{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"15120:6:4"},{"name":"pos","nodeType":"YulIdentifier","src":"15128:3:4"}],"functionName":{"name":"abi_encode_t_struct$_Validator_$1106_calldata_ptr_to_t_struct$_Validator_$1106_memory_ptr","nodeType":"YulIdentifier","src":"15030:89:4"},"nodeType":"YulFunctionCall","src":"15030:102:4"},"nodeType":"YulExpressionStatement","src":"15030:102:4"},{"nodeType":"YulAssignment","src":"15141:28:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"15159:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"15164:4:4","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15155:3:4"},"nodeType":"YulFunctionCall","src":"15155:14:4"},"variableNames":[{"name":"updatedPos","nodeType":"YulIdentifier","src":"15141:10:4"}]}]},"name":"abi_encodeUpdatedPos_t_struct$_Validator_$1106_calldata_ptr_to_t_struct$_Validator_$1106_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"value0","nodeType":"YulTypedName","src":"14993:6:4","type":""},{"name":"pos","nodeType":"YulTypedName","src":"15001:3:4","type":""}],"returnVariables":[{"name":"updatedPos","nodeType":"YulTypedName","src":"15009:10:4","type":""}],"src":"14884:291:4"},{"body":{"nodeType":"YulBlock","src":"15268:28:4","statements":[{"nodeType":"YulAssignment","src":"15278:12:4","value":{"name":"ptr","nodeType":"YulIdentifier","src":"15287:3:4"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"15278:5:4"}]}]},"name":"calldata_access_t_struct$_Validator_$1106_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"baseRef","nodeType":"YulTypedName","src":"15245:7:4","type":""},{"name":"ptr","nodeType":"YulTypedName","src":"15254:3:4","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"15262:5:4","type":""}],"src":"15181:115:4"},{"body":{"nodeType":"YulBlock","src":"15408:38:4","statements":[{"nodeType":"YulAssignment","src":"15418:22:4","value":{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"15430:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"15435:4:4","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15426:3:4"},"nodeType":"YulFunctionCall","src":"15426:14:4"},"variableNames":[{"name":"next","nodeType":"YulIdentifier","src":"15418:4:4"}]}]},"name":"array_nextElement_t_array$_t_struct$_Validator_$1106_calldata_ptr_$dyn_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"ptr","nodeType":"YulTypedName","src":"15395:3:4","type":""}],"returnVariables":[{"name":"next","nodeType":"YulTypedName","src":"15403:4:4","type":""}],"src":"15302:144:4"},{"body":{"nodeType":"YulBlock","src":"15690:735:4","statements":[{"nodeType":"YulAssignment","src":"15701:120:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"15809:3:4"},{"name":"length","nodeType":"YulIdentifier","src":"15814:6:4"}],"functionName":{"name":"array_storeLengthForEncoding_t_array$_t_struct$_Validator_$1106_memory_ptr_$dyn_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"15708:100:4"},"nodeType":"YulFunctionCall","src":"15708:113:4"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"15701:3:4"}]},{"nodeType":"YulVariableDeclaration","src":"15830:102:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"15926:5:4"}],"functionName":{"name":"array_dataslot_t_array$_t_struct$_Validator_$1106_calldata_ptr_$dyn_calldata_ptr","nodeType":"YulIdentifier","src":"15845:80:4"},"nodeType":"YulFunctionCall","src":"15845:87:4"},"variables":[{"name":"baseRef","nodeType":"YulTypedName","src":"15834:7:4","type":""}]},{"nodeType":"YulVariableDeclaration","src":"15941:21:4","value":{"name":"baseRef","nodeType":"YulIdentifier","src":"15955:7:4"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"15945:6:4","type":""}]},{"body":{"nodeType":"YulBlock","src":"16031:369:4","statements":[{"nodeType":"YulVariableDeclaration","src":"16045:92:4","value":{"arguments":[{"name":"baseRef","nodeType":"YulIdentifier","src":"16121:7:4"},{"name":"srcPtr","nodeType":"YulIdentifier","src":"16130:6:4"}],"functionName":{"name":"calldata_access_t_struct$_Validator_$1106_calldata_ptr","nodeType":"YulIdentifier","src":"16066:54:4"},"nodeType":"YulFunctionCall","src":"16066:71:4"},"variables":[{"name":"elementValue0","nodeType":"YulTypedName","src":"16049:13:4","type":""}]},{"nodeType":"YulAssignment","src":"16150:126:4","value":{"arguments":[{"name":"elementValue0","nodeType":"YulIdentifier","src":"16257:13:4"},{"name":"pos","nodeType":"YulIdentifier","src":"16272:3:4"}],"functionName":{"name":"abi_encodeUpdatedPos_t_struct$_Validator_$1106_calldata_ptr_to_t_struct$_Validator_$1106_memory_ptr","nodeType":"YulIdentifier","src":"16157:99:4"},"nodeType":"YulFunctionCall","src":"16157:119:4"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"16150:3:4"}]},{"nodeType":"YulAssignment","src":"16289:101:4","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"16383:6:4"}],"functionName":{"name":"array_nextElement_t_array$_t_struct$_Validator_$1106_calldata_ptr_$dyn_calldata_ptr","nodeType":"YulIdentifier","src":"16299:83:4"},"nodeType":"YulFunctionCall","src":"16299:91:4"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"16289:6:4"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"15993:1:4"},{"name":"length","nodeType":"YulIdentifier","src":"15996:6:4"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"15990:2:4"},"nodeType":"YulFunctionCall","src":"15990:13:4"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"16004:18:4","statements":[{"nodeType":"YulAssignment","src":"16006:14:4","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"16015:1:4"},{"kind":"number","nodeType":"YulLiteral","src":"16018:1:4","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16011:3:4"},"nodeType":"YulFunctionCall","src":"16011:9:4"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"16006:1:4"}]}]},"pre":{"nodeType":"YulBlock","src":"15975:14:4","statements":[{"nodeType":"YulVariableDeclaration","src":"15977:10:4","value":{"kind":"number","nodeType":"YulLiteral","src":"15986:1:4","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"15981:1:4","type":""}]}]},"src":"15971:429:4"},{"nodeType":"YulAssignment","src":"16409:10:4","value":{"name":"pos","nodeType":"YulIdentifier","src":"16416:3:4"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"16409:3:4"}]}]},"name":"abi_encode_t_array$_t_struct$_Validator_$1106_calldata_ptr_$dyn_calldata_ptr_to_t_array$_t_struct$_Validator_$1106_memory_ptr_$dyn_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"15661:5:4","type":""},{"name":"length","nodeType":"YulTypedName","src":"15668:6:4","type":""},{"name":"pos","nodeType":"YulTypedName","src":"15676:3:4","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"15685:3:4","type":""}],"src":"15500:925:4"},{"body":{"nodeType":"YulBlock","src":"16569:73:4","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"16586:3:4"},{"name":"length","nodeType":"YulIdentifier","src":"16591:6:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16579:6:4"},"nodeType":"YulFunctionCall","src":"16579:19:4"},"nodeType":"YulExpressionStatement","src":"16579:19:4"},{"nodeType":"YulAssignment","src":"16607:29:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"16626:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"16631:4:4","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16622:3:4"},"nodeType":"YulFunctionCall","src":"16622:14:4"},"variableNames":[{"name":"updated_pos","nodeType":"YulIdentifier","src":"16607:11:4"}]}]},"name":"array_storeLengthForEncoding_t_array$_t_struct$_Signature_$1101_memory_ptr_$dyn_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"16541:3:4","type":""},{"name":"length","nodeType":"YulTypedName","src":"16546:6:4","type":""}],"returnVariables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"16557:11:4","type":""}],"src":"16431:211:4"},{"body":{"nodeType":"YulBlock","src":"16751:28:4","statements":[{"nodeType":"YulAssignment","src":"16761:11:4","value":{"name":"ptr","nodeType":"YulIdentifier","src":"16769:3:4"},"variableNames":[{"name":"data","nodeType":"YulIdentifier","src":"16761:4:4"}]}]},"name":"array_dataslot_t_array$_t_struct$_Signature_$1101_calldata_ptr_$dyn_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"ptr","nodeType":"YulTypedName","src":"16738:3:4","type":""}],"returnVariables":[{"name":"data","nodeType":"YulTypedName","src":"16746:4:4","type":""}],"src":"16648:131:4"},{"body":{"nodeType":"YulBlock","src":"16828:43:4","statements":[{"nodeType":"YulAssignment","src":"16838:27:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"16853:5:4"},{"kind":"number","nodeType":"YulLiteral","src":"16860:4:4","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"16849:3:4"},"nodeType":"YulFunctionCall","src":"16849:16:4"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"16838:7:4"}]}]},"name":"cleanup_t_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"16810:5:4","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"16820:7:4","type":""}],"src":"16785:86:4"},{"body":{"nodeType":"YulBlock","src":"16918:77:4","statements":[{"body":{"nodeType":"YulBlock","src":"16973:16:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"16982:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"16985:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"16975:6:4"},"nodeType":"YulFunctionCall","src":"16975:12:4"},"nodeType":"YulExpressionStatement","src":"16975:12:4"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"16941:5:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"16964:5:4"}],"functionName":{"name":"cleanup_t_uint8","nodeType":"YulIdentifier","src":"16948:15:4"},"nodeType":"YulFunctionCall","src":"16948:22:4"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"16938:2:4"},"nodeType":"YulFunctionCall","src":"16938:33:4"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"16931:6:4"},"nodeType":"YulFunctionCall","src":"16931:41:4"},"nodeType":"YulIf","src":"16928:61:4"}]},"name":"validator_revert_t_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"16911:5:4","type":""}],"src":"16877:118:4"},{"body":{"nodeType":"YulBlock","src":"17051:85:4","statements":[{"nodeType":"YulAssignment","src":"17061:29:4","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"17083:6:4"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"17070:12:4"},"nodeType":"YulFunctionCall","src":"17070:20:4"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"17061:5:4"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"17124:5:4"}],"functionName":{"name":"validator_revert_t_uint8","nodeType":"YulIdentifier","src":"17099:24:4"},"nodeType":"YulFunctionCall","src":"17099:31:4"},"nodeType":"YulExpressionStatement","src":"17099:31:4"}]},"name":"abi_decode_t_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"17029:6:4","type":""},{"name":"end","nodeType":"YulTypedName","src":"17037:3:4","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"17045:5:4","type":""}],"src":"17001:135:4"},{"body":{"nodeType":"YulBlock","src":"17198:62:4","statements":[{"nodeType":"YulAssignment","src":"17208:46:4","value":{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"17236:3:4"},{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"17245:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"17250:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17241:3:4"},"nodeType":"YulFunctionCall","src":"17241:12:4"}],"functionName":{"name":"abi_decode_t_uint8","nodeType":"YulIdentifier","src":"17217:18:4"},"nodeType":"YulFunctionCall","src":"17217:37:4"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"17208:5:4"}]}]},"name":"calldata_access_t_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"baseRef","nodeType":"YulTypedName","src":"17175:7:4","type":""},{"name":"ptr","nodeType":"YulTypedName","src":"17184:3:4","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"17192:5:4","type":""}],"src":"17142:118:4"},{"body":{"nodeType":"YulBlock","src":"17317:51:4","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"17334:3:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"17355:5:4"}],"functionName":{"name":"cleanup_t_uint8","nodeType":"YulIdentifier","src":"17339:15:4"},"nodeType":"YulFunctionCall","src":"17339:22:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17327:6:4"},"nodeType":"YulFunctionCall","src":"17327:35:4"},"nodeType":"YulExpressionStatement","src":"17327:35:4"}]},"name":"abi_encode_t_uint8_to_t_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"17305:5:4","type":""},{"name":"pos","nodeType":"YulTypedName","src":"17312:3:4","type":""}],"src":"17266:102:4"},{"body":{"nodeType":"YulBlock","src":"17530:631:4","statements":[{"nodeType":"YulVariableDeclaration","src":"17540:26:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"17556:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"17561:4:4","type":"","value":"0x60"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17552:3:4"},"nodeType":"YulFunctionCall","src":"17552:14:4"},"variables":[{"name":"tail","nodeType":"YulTypedName","src":"17544:4:4","type":""}]},{"nodeType":"YulBlock","src":"17576:182:4","statements":[{"nodeType":"YulVariableDeclaration","src":"17608:68:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"17652:5:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"17663:5:4"},{"kind":"number","nodeType":"YulLiteral","src":"17670:4:4","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17659:3:4"},"nodeType":"YulFunctionCall","src":"17659:16:4"}],"functionName":{"name":"calldata_access_t_uint8","nodeType":"YulIdentifier","src":"17628:23:4"},"nodeType":"YulFunctionCall","src":"17628:48:4"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"17612:12:4","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"17719:12:4"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"17737:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"17742:4:4","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17733:3:4"},"nodeType":"YulFunctionCall","src":"17733:14:4"}],"functionName":{"name":"abi_encode_t_uint8_to_t_uint8","nodeType":"YulIdentifier","src":"17689:29:4"},"nodeType":"YulFunctionCall","src":"17689:59:4"},"nodeType":"YulExpressionStatement","src":"17689:59:4"}]},{"nodeType":"YulBlock","src":"17768:188:4","statements":[{"nodeType":"YulVariableDeclaration","src":"17800:70:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"17846:5:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"17857:5:4"},{"kind":"number","nodeType":"YulLiteral","src":"17864:4:4","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17853:3:4"},"nodeType":"YulFunctionCall","src":"17853:16:4"}],"functionName":{"name":"calldata_access_t_bytes32","nodeType":"YulIdentifier","src":"17820:25:4"},"nodeType":"YulFunctionCall","src":"17820:50:4"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"17804:12:4","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"17917:12:4"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"17935:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"17940:4:4","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17931:3:4"},"nodeType":"YulFunctionCall","src":"17931:14:4"}],"functionName":{"name":"abi_encode_t_bytes32_to_t_bytes32","nodeType":"YulIdentifier","src":"17883:33:4"},"nodeType":"YulFunctionCall","src":"17883:63:4"},"nodeType":"YulExpressionStatement","src":"17883:63:4"}]},{"nodeType":"YulBlock","src":"17966:188:4","statements":[{"nodeType":"YulVariableDeclaration","src":"17998:70:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"18044:5:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"18055:5:4"},{"kind":"number","nodeType":"YulLiteral","src":"18062:4:4","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18051:3:4"},"nodeType":"YulFunctionCall","src":"18051:16:4"}],"functionName":{"name":"calldata_access_t_bytes32","nodeType":"YulIdentifier","src":"18018:25:4"},"nodeType":"YulFunctionCall","src":"18018:50:4"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"18002:12:4","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"18115:12:4"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"18133:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"18138:4:4","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18129:3:4"},"nodeType":"YulFunctionCall","src":"18129:14:4"}],"functionName":{"name":"abi_encode_t_bytes32_to_t_bytes32","nodeType":"YulIdentifier","src":"18081:33:4"},"nodeType":"YulFunctionCall","src":"18081:63:4"},"nodeType":"YulExpressionStatement","src":"18081:63:4"}]}]},"name":"abi_encode_t_struct$_Signature_$1101_calldata_ptr_to_t_struct$_Signature_$1101_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"17517:5:4","type":""},{"name":"pos","nodeType":"YulTypedName","src":"17524:3:4","type":""}],"src":"17418:743:4"},{"body":{"nodeType":"YulBlock","src":"18303:155:4","statements":[{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"18403:6:4"},{"name":"pos","nodeType":"YulIdentifier","src":"18411:3:4"}],"functionName":{"name":"abi_encode_t_struct$_Signature_$1101_calldata_ptr_to_t_struct$_Signature_$1101_memory_ptr","nodeType":"YulIdentifier","src":"18313:89:4"},"nodeType":"YulFunctionCall","src":"18313:102:4"},"nodeType":"YulExpressionStatement","src":"18313:102:4"},{"nodeType":"YulAssignment","src":"18424:28:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"18442:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"18447:4:4","type":"","value":"0x60"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18438:3:4"},"nodeType":"YulFunctionCall","src":"18438:14:4"},"variableNames":[{"name":"updatedPos","nodeType":"YulIdentifier","src":"18424:10:4"}]}]},"name":"abi_encodeUpdatedPos_t_struct$_Signature_$1101_calldata_ptr_to_t_struct$_Signature_$1101_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"value0","nodeType":"YulTypedName","src":"18276:6:4","type":""},{"name":"pos","nodeType":"YulTypedName","src":"18284:3:4","type":""}],"returnVariables":[{"name":"updatedPos","nodeType":"YulTypedName","src":"18292:10:4","type":""}],"src":"18167:291:4"},{"body":{"nodeType":"YulBlock","src":"18551:28:4","statements":[{"nodeType":"YulAssignment","src":"18561:12:4","value":{"name":"ptr","nodeType":"YulIdentifier","src":"18570:3:4"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"18561:5:4"}]}]},"name":"calldata_access_t_struct$_Signature_$1101_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"baseRef","nodeType":"YulTypedName","src":"18528:7:4","type":""},{"name":"ptr","nodeType":"YulTypedName","src":"18537:3:4","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"18545:5:4","type":""}],"src":"18464:115:4"},{"body":{"nodeType":"YulBlock","src":"18691:38:4","statements":[{"nodeType":"YulAssignment","src":"18701:22:4","value":{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"18713:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"18718:4:4","type":"","value":"0x60"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18709:3:4"},"nodeType":"YulFunctionCall","src":"18709:14:4"},"variableNames":[{"name":"next","nodeType":"YulIdentifier","src":"18701:4:4"}]}]},"name":"array_nextElement_t_array$_t_struct$_Signature_$1101_calldata_ptr_$dyn_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"ptr","nodeType":"YulTypedName","src":"18678:3:4","type":""}],"returnVariables":[{"name":"next","nodeType":"YulTypedName","src":"18686:4:4","type":""}],"src":"18585:144:4"},{"body":{"nodeType":"YulBlock","src":"18973:735:4","statements":[{"nodeType":"YulAssignment","src":"18984:120:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"19092:3:4"},{"name":"length","nodeType":"YulIdentifier","src":"19097:6:4"}],"functionName":{"name":"array_storeLengthForEncoding_t_array$_t_struct$_Signature_$1101_memory_ptr_$dyn_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"18991:100:4"},"nodeType":"YulFunctionCall","src":"18991:113:4"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"18984:3:4"}]},{"nodeType":"YulVariableDeclaration","src":"19113:102:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"19209:5:4"}],"functionName":{"name":"array_dataslot_t_array$_t_struct$_Signature_$1101_calldata_ptr_$dyn_calldata_ptr","nodeType":"YulIdentifier","src":"19128:80:4"},"nodeType":"YulFunctionCall","src":"19128:87:4"},"variables":[{"name":"baseRef","nodeType":"YulTypedName","src":"19117:7:4","type":""}]},{"nodeType":"YulVariableDeclaration","src":"19224:21:4","value":{"name":"baseRef","nodeType":"YulIdentifier","src":"19238:7:4"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"19228:6:4","type":""}]},{"body":{"nodeType":"YulBlock","src":"19314:369:4","statements":[{"nodeType":"YulVariableDeclaration","src":"19328:92:4","value":{"arguments":[{"name":"baseRef","nodeType":"YulIdentifier","src":"19404:7:4"},{"name":"srcPtr","nodeType":"YulIdentifier","src":"19413:6:4"}],"functionName":{"name":"calldata_access_t_struct$_Signature_$1101_calldata_ptr","nodeType":"YulIdentifier","src":"19349:54:4"},"nodeType":"YulFunctionCall","src":"19349:71:4"},"variables":[{"name":"elementValue0","nodeType":"YulTypedName","src":"19332:13:4","type":""}]},{"nodeType":"YulAssignment","src":"19433:126:4","value":{"arguments":[{"name":"elementValue0","nodeType":"YulIdentifier","src":"19540:13:4"},{"name":"pos","nodeType":"YulIdentifier","src":"19555:3:4"}],"functionName":{"name":"abi_encodeUpdatedPos_t_struct$_Signature_$1101_calldata_ptr_to_t_struct$_Signature_$1101_memory_ptr","nodeType":"YulIdentifier","src":"19440:99:4"},"nodeType":"YulFunctionCall","src":"19440:119:4"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"19433:3:4"}]},{"nodeType":"YulAssignment","src":"19572:101:4","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"19666:6:4"}],"functionName":{"name":"array_nextElement_t_array$_t_struct$_Signature_$1101_calldata_ptr_$dyn_calldata_ptr","nodeType":"YulIdentifier","src":"19582:83:4"},"nodeType":"YulFunctionCall","src":"19582:91:4"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"19572:6:4"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"19276:1:4"},{"name":"length","nodeType":"YulIdentifier","src":"19279:6:4"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"19273:2:4"},"nodeType":"YulFunctionCall","src":"19273:13:4"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"19287:18:4","statements":[{"nodeType":"YulAssignment","src":"19289:14:4","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"19298:1:4"},{"kind":"number","nodeType":"YulLiteral","src":"19301:1:4","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19294:3:4"},"nodeType":"YulFunctionCall","src":"19294:9:4"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"19289:1:4"}]}]},"pre":{"nodeType":"YulBlock","src":"19258:14:4","statements":[{"nodeType":"YulVariableDeclaration","src":"19260:10:4","value":{"kind":"number","nodeType":"YulLiteral","src":"19269:1:4","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"19264:1:4","type":""}]}]},"src":"19254:429:4"},{"nodeType":"YulAssignment","src":"19692:10:4","value":{"name":"pos","nodeType":"YulIdentifier","src":"19699:3:4"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"19692:3:4"}]}]},"name":"abi_encode_t_array$_t_struct$_Signature_$1101_calldata_ptr_$dyn_calldata_ptr_to_t_array$_t_struct$_Signature_$1101_memory_ptr_$dyn_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"18944:5:4","type":""},{"name":"length","nodeType":"YulTypedName","src":"18951:6:4","type":""},{"name":"pos","nodeType":"YulTypedName","src":"18959:3:4","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"18968:3:4","type":""}],"src":"18783:925:4"},{"body":{"nodeType":"YulBlock","src":"20180:753:4","statements":[{"nodeType":"YulAssignment","src":"20190:26:4","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20202:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"20213:2:4","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20198:3:4"},"nodeType":"YulFunctionCall","src":"20198:18:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"20190:4:4"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20237:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"20248:1:4","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20233:3:4"},"nodeType":"YulFunctionCall","src":"20233:17:4"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"20256:4:4"},{"name":"headStart","nodeType":"YulIdentifier","src":"20262:9:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"20252:3:4"},"nodeType":"YulFunctionCall","src":"20252:20:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20226:6:4"},"nodeType":"YulFunctionCall","src":"20226:47:4"},"nodeType":"YulExpressionStatement","src":"20226:47:4"},{"nodeType":"YulAssignment","src":"20282:146:4","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"20414:6:4"},{"name":"tail","nodeType":"YulIdentifier","src":"20423:4:4"}],"functionName":{"name":"abi_encode_t_struct$_OracleAttestationData_$1081_calldata_ptr_to_t_struct$_OracleAttestationData_$1081_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"20290:123:4"},"nodeType":"YulFunctionCall","src":"20290:138:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"20282:4:4"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20449:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"20460:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20445:3:4"},"nodeType":"YulFunctionCall","src":"20445:18:4"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"20469:4:4"},{"name":"headStart","nodeType":"YulIdentifier","src":"20475:9:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"20465:3:4"},"nodeType":"YulFunctionCall","src":"20465:20:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20438:6:4"},"nodeType":"YulFunctionCall","src":"20438:48:4"},"nodeType":"YulExpressionStatement","src":"20438:48:4"},{"nodeType":"YulAssignment","src":"20495:182:4","value":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"20655:6:4"},{"name":"value2","nodeType":"YulIdentifier","src":"20663:6:4"},{"name":"tail","nodeType":"YulIdentifier","src":"20672:4:4"}],"functionName":{"name":"abi_encode_t_array$_t_struct$_Validator_$1106_calldata_ptr_$dyn_calldata_ptr_to_t_array$_t_struct$_Validator_$1106_memory_ptr_$dyn_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"20503:151:4"},"nodeType":"YulFunctionCall","src":"20503:174:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"20495:4:4"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20698:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"20709:2:4","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20694:3:4"},"nodeType":"YulFunctionCall","src":"20694:18:4"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"20718:4:4"},{"name":"headStart","nodeType":"YulIdentifier","src":"20724:9:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"20714:3:4"},"nodeType":"YulFunctionCall","src":"20714:20:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20687:6:4"},"nodeType":"YulFunctionCall","src":"20687:48:4"},"nodeType":"YulExpressionStatement","src":"20687:48:4"},{"nodeType":"YulAssignment","src":"20744:182:4","value":{"arguments":[{"name":"value3","nodeType":"YulIdentifier","src":"20904:6:4"},{"name":"value4","nodeType":"YulIdentifier","src":"20912:6:4"},{"name":"tail","nodeType":"YulIdentifier","src":"20921:4:4"}],"functionName":{"name":"abi_encode_t_array$_t_struct$_Signature_$1101_calldata_ptr_$dyn_calldata_ptr_to_t_array$_t_struct$_Signature_$1101_memory_ptr_$dyn_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"20752:151:4"},"nodeType":"YulFunctionCall","src":"20752:174:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"20744:4:4"}]}]},"name":"abi_encode_tuple_t_struct$_OracleAttestationData_$1081_calldata_ptr_t_array$_t_struct$_Validator_$1106_calldata_ptr_$dyn_calldata_ptr_t_array$_t_struct$_Signature_$1101_calldata_ptr_$dyn_calldata_ptr__to_t_struct$_OracleAttestationData_$1081_memory_ptr_t_array$_t_struct$_Validator_$1106_memory_ptr_$dyn_memory_ptr_t_array$_t_struct$_Signature_$1101_memory_ptr_$dyn_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"20120:9:4","type":""},{"name":"value4","nodeType":"YulTypedName","src":"20132:6:4","type":""},{"name":"value3","nodeType":"YulTypedName","src":"20140:6:4","type":""},{"name":"value2","nodeType":"YulTypedName","src":"20148:6:4","type":""},{"name":"value1","nodeType":"YulTypedName","src":"20156:6:4","type":""},{"name":"value0","nodeType":"YulTypedName","src":"20164:6:4","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"20175:4:4","type":""}],"src":"19714:1219:4"},{"body":{"nodeType":"YulBlock","src":"21035:73:4","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"21052:3:4"},{"name":"length","nodeType":"YulIdentifier","src":"21057:6:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21045:6:4"},"nodeType":"YulFunctionCall","src":"21045:19:4"},"nodeType":"YulExpressionStatement","src":"21045:19:4"},{"nodeType":"YulAssignment","src":"21073:29:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"21092:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"21097:4:4","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21088:3:4"},"nodeType":"YulFunctionCall","src":"21088:14:4"},"variableNames":[{"name":"updated_pos","nodeType":"YulIdentifier","src":"21073:11:4"}]}]},"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"21007:3:4","type":""},{"name":"length","nodeType":"YulTypedName","src":"21012:6:4","type":""}],"returnVariables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"21023:11:4","type":""}],"src":"20939:169:4"},{"body":{"nodeType":"YulBlock","src":"21220:59:4","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"21242:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"21250:1:4","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21238:3:4"},"nodeType":"YulFunctionCall","src":"21238:14:4"},{"hexValue":"496e76616c69642071756572794964","kind":"string","nodeType":"YulLiteral","src":"21254:17:4","type":"","value":"Invalid queryId"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21231:6:4"},"nodeType":"YulFunctionCall","src":"21231:41:4"},"nodeType":"YulExpressionStatement","src":"21231:41:4"}]},"name":"store_literal_in_memory_5c98120c2d1113299b49cf447f38c466f541f9e65cb821e4e86f03bd25cc78a8","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"21212:6:4","type":""}],"src":"21114:165:4"},{"body":{"nodeType":"YulBlock","src":"21431:220:4","statements":[{"nodeType":"YulAssignment","src":"21441:74:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"21507:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"21512:2:4","type":"","value":"15"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"21448:58:4"},"nodeType":"YulFunctionCall","src":"21448:67:4"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"21441:3:4"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"21613:3:4"}],"functionName":{"name":"store_literal_in_memory_5c98120c2d1113299b49cf447f38c466f541f9e65cb821e4e86f03bd25cc78a8","nodeType":"YulIdentifier","src":"21524:88:4"},"nodeType":"YulFunctionCall","src":"21524:93:4"},"nodeType":"YulExpressionStatement","src":"21524:93:4"},{"nodeType":"YulAssignment","src":"21626:19:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"21637:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"21642:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21633:3:4"},"nodeType":"YulFunctionCall","src":"21633:12:4"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"21626:3:4"}]}]},"name":"abi_encode_t_stringliteral_5c98120c2d1113299b49cf447f38c466f541f9e65cb821e4e86f03bd25cc78a8_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"21419:3:4","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"21427:3:4","type":""}],"src":"21285:366:4"},{"body":{"nodeType":"YulBlock","src":"21828:248:4","statements":[{"nodeType":"YulAssignment","src":"21838:26:4","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21850:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"21861:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21846:3:4"},"nodeType":"YulFunctionCall","src":"21846:18:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"21838:4:4"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21885:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"21896:1:4","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21881:3:4"},"nodeType":"YulFunctionCall","src":"21881:17:4"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"21904:4:4"},{"name":"headStart","nodeType":"YulIdentifier","src":"21910:9:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"21900:3:4"},"nodeType":"YulFunctionCall","src":"21900:20:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21874:6:4"},"nodeType":"YulFunctionCall","src":"21874:47:4"},"nodeType":"YulExpressionStatement","src":"21874:47:4"},{"nodeType":"YulAssignment","src":"21930:139:4","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"22064:4:4"}],"functionName":{"name":"abi_encode_t_stringliteral_5c98120c2d1113299b49cf447f38c466f541f9e65cb821e4e86f03bd25cc78a8_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"21938:124:4"},"nodeType":"YulFunctionCall","src":"21938:131:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"21930:4:4"}]}]},"name":"abi_encode_tuple_t_stringliteral_5c98120c2d1113299b49cf447f38c466f541f9e65cb821e4e86f03bd25cc78a8__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"21808:9:4","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"21823:4:4","type":""}],"src":"21657:419:4"},{"body":{"nodeType":"YulBlock","src":"22171:28:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"22188:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"22191:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"22181:6:4"},"nodeType":"YulFunctionCall","src":"22181:12:4"},"nodeType":"YulExpressionStatement","src":"22181:12:4"}]},"name":"revert_error_356d538aaf70fba12156cc466564b792649f8f3befb07b071c91142253e175ad","nodeType":"YulFunctionDefinition","src":"22082:117:4"},{"body":{"nodeType":"YulBlock","src":"22294:28:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"22311:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"22314:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"22304:6:4"},"nodeType":"YulFunctionCall","src":"22304:12:4"},"nodeType":"YulExpressionStatement","src":"22304:12:4"}]},"name":"revert_error_1e55d03107e9c4f1b5e21c76a16fba166a461117ab153bcce65e6a4ea8e5fc8a","nodeType":"YulFunctionDefinition","src":"22205:117:4"},{"body":{"nodeType":"YulBlock","src":"22417:28:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"22434:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"22437:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"22427:6:4"},"nodeType":"YulFunctionCall","src":"22427:12:4"},"nodeType":"YulExpressionStatement","src":"22427:12:4"}]},"name":"revert_error_977805620ff29572292dee35f70b0f3f3f73d3fdd0e9f4d7a901c2e43ab18a2e","nodeType":"YulFunctionDefinition","src":"22328:117:4"},{"body":{"nodeType":"YulBlock","src":"22552:295:4","statements":[{"nodeType":"YulVariableDeclaration","src":"22562:51:4","value":{"arguments":[{"name":"ptr_to_tail","nodeType":"YulIdentifier","src":"22601:11:4"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"22588:12:4"},"nodeType":"YulFunctionCall","src":"22588:25:4"},"variables":[{"name":"rel_offset_of_tail","nodeType":"YulTypedName","src":"22566:18:4","type":""}]},{"body":{"nodeType":"YulBlock","src":"22707:83:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_356d538aaf70fba12156cc466564b792649f8f3befb07b071c91142253e175ad","nodeType":"YulIdentifier","src":"22709:77:4"},"nodeType":"YulFunctionCall","src":"22709:79:4"},"nodeType":"YulExpressionStatement","src":"22709:79:4"}]},"condition":{"arguments":[{"arguments":[{"name":"rel_offset_of_tail","nodeType":"YulIdentifier","src":"22636:18:4"},{"arguments":[{"arguments":[{"arguments":[],"functionName":{"name":"calldatasize","nodeType":"YulIdentifier","src":"22664:12:4"},"nodeType":"YulFunctionCall","src":"22664:14:4"},{"name":"base_ref","nodeType":"YulIdentifier","src":"22680:8:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"22660:3:4"},"nodeType":"YulFunctionCall","src":"22660:29:4"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"22695:4:4","type":"","value":"0xc0"},{"kind":"number","nodeType":"YulLiteral","src":"22701:1:4","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"22691:3:4"},"nodeType":"YulFunctionCall","src":"22691:12:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"22656:3:4"},"nodeType":"YulFunctionCall","src":"22656:48:4"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"22632:3:4"},"nodeType":"YulFunctionCall","src":"22632:73:4"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"22625:6:4"},"nodeType":"YulFunctionCall","src":"22625:81:4"},"nodeType":"YulIf","src":"22622:168:4"},{"nodeType":"YulAssignment","src":"22799:41:4","value":{"arguments":[{"name":"base_ref","nodeType":"YulIdentifier","src":"22811:8:4"},{"name":"rel_offset_of_tail","nodeType":"YulIdentifier","src":"22821:18:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22807:3:4"},"nodeType":"YulFunctionCall","src":"22807:33:4"},"variableNames":[{"name":"addr","nodeType":"YulIdentifier","src":"22799:4:4"}]}]},"name":"access_calldata_tail_t_struct$_ReportData_$1094_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"base_ref","nodeType":"YulTypedName","src":"22521:8:4","type":""},{"name":"ptr_to_tail","nodeType":"YulTypedName","src":"22531:11:4","type":""}],"returnVariables":[{"name":"addr","nodeType":"YulTypedName","src":"22547:4:4","type":""}],"src":"22451:396:4"},{"body":{"nodeType":"YulBlock","src":"22943:634:4","statements":[{"nodeType":"YulVariableDeclaration","src":"22953:51:4","value":{"arguments":[{"name":"ptr_to_tail","nodeType":"YulIdentifier","src":"22992:11:4"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"22979:12:4"},"nodeType":"YulFunctionCall","src":"22979:25:4"},"variables":[{"name":"rel_offset_of_tail","nodeType":"YulTypedName","src":"22957:18:4","type":""}]},{"body":{"nodeType":"YulBlock","src":"23098:83:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_356d538aaf70fba12156cc466564b792649f8f3befb07b071c91142253e175ad","nodeType":"YulIdentifier","src":"23100:77:4"},"nodeType":"YulFunctionCall","src":"23100:79:4"},"nodeType":"YulExpressionStatement","src":"23100:79:4"}]},"condition":{"arguments":[{"arguments":[{"name":"rel_offset_of_tail","nodeType":"YulIdentifier","src":"23027:18:4"},{"arguments":[{"arguments":[{"arguments":[],"functionName":{"name":"calldatasize","nodeType":"YulIdentifier","src":"23055:12:4"},"nodeType":"YulFunctionCall","src":"23055:14:4"},{"name":"base_ref","nodeType":"YulIdentifier","src":"23071:8:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"23051:3:4"},"nodeType":"YulFunctionCall","src":"23051:29:4"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"23086:4:4","type":"","value":"0x20"},{"kind":"number","nodeType":"YulLiteral","src":"23092:1:4","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"23082:3:4"},"nodeType":"YulFunctionCall","src":"23082:12:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"23047:3:4"},"nodeType":"YulFunctionCall","src":"23047:48:4"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"23023:3:4"},"nodeType":"YulFunctionCall","src":"23023:73:4"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"23016:6:4"},"nodeType":"YulFunctionCall","src":"23016:81:4"},"nodeType":"YulIf","src":"23013:168:4"},{"nodeType":"YulAssignment","src":"23190:41:4","value":{"arguments":[{"name":"base_ref","nodeType":"YulIdentifier","src":"23202:8:4"},{"name":"rel_offset_of_tail","nodeType":"YulIdentifier","src":"23212:18:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23198:3:4"},"nodeType":"YulFunctionCall","src":"23198:33:4"},"variableNames":[{"name":"addr","nodeType":"YulIdentifier","src":"23190:4:4"}]},{"nodeType":"YulAssignment","src":"23241:28:4","value":{"arguments":[{"name":"addr","nodeType":"YulIdentifier","src":"23264:4:4"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"23251:12:4"},"nodeType":"YulFunctionCall","src":"23251:18:4"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"23241:6:4"}]},{"body":{"nodeType":"YulBlock","src":"23312:83:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_1e55d03107e9c4f1b5e21c76a16fba166a461117ab153bcce65e6a4ea8e5fc8a","nodeType":"YulIdentifier","src":"23314:77:4"},"nodeType":"YulFunctionCall","src":"23314:79:4"},"nodeType":"YulExpressionStatement","src":"23314:79:4"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"23284:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"23292:18:4","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"23281:2:4"},"nodeType":"YulFunctionCall","src":"23281:30:4"},"nodeType":"YulIf","src":"23278:117:4"},{"nodeType":"YulAssignment","src":"23404:21:4","value":{"arguments":[{"name":"addr","nodeType":"YulIdentifier","src":"23416:4:4"},{"kind":"number","nodeType":"YulLiteral","src":"23422:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23412:3:4"},"nodeType":"YulFunctionCall","src":"23412:13:4"},"variableNames":[{"name":"addr","nodeType":"YulIdentifier","src":"23404:4:4"}]},{"body":{"nodeType":"YulBlock","src":"23487:83:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_977805620ff29572292dee35f70b0f3f3f73d3fdd0e9f4d7a901c2e43ab18a2e","nodeType":"YulIdentifier","src":"23489:77:4"},"nodeType":"YulFunctionCall","src":"23489:79:4"},"nodeType":"YulExpressionStatement","src":"23489:79:4"}]},"condition":{"arguments":[{"name":"addr","nodeType":"YulIdentifier","src":"23441:4:4"},{"arguments":[{"arguments":[],"functionName":{"name":"calldatasize","nodeType":"YulIdentifier","src":"23451:12:4"},"nodeType":"YulFunctionCall","src":"23451:14:4"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"23471:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"23479:4:4","type":"","value":"0x01"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"23467:3:4"},"nodeType":"YulFunctionCall","src":"23467:17:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"23447:3:4"},"nodeType":"YulFunctionCall","src":"23447:38:4"}],"functionName":{"name":"sgt","nodeType":"YulIdentifier","src":"23437:3:4"},"nodeType":"YulFunctionCall","src":"23437:49:4"},"nodeType":"YulIf","src":"23434:136:4"}]},"name":"access_calldata_tail_t_bytes_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"base_ref","nodeType":"YulTypedName","src":"22904:8:4","type":""},{"name":"ptr_to_tail","nodeType":"YulTypedName","src":"22914:11:4","type":""}],"returnVariables":[{"name":"addr","nodeType":"YulTypedName","src":"22930:4:4","type":""},{"name":"length","nodeType":"YulTypedName","src":"22936:6:4","type":""}],"src":"22853:724:4"},{"body":{"nodeType":"YulBlock","src":"23611:152:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"23628:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"23631:77:4","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23621:6:4"},"nodeType":"YulFunctionCall","src":"23621:88:4"},"nodeType":"YulExpressionStatement","src":"23621:88:4"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"23725:1:4","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"23728:4:4","type":"","value":"0x11"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23718:6:4"},"nodeType":"YulFunctionCall","src":"23718:15:4"},"nodeType":"YulExpressionStatement","src":"23718:15:4"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"23749:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"23752:4:4","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"23742:6:4"},"nodeType":"YulFunctionCall","src":"23742:15:4"},"nodeType":"YulExpressionStatement","src":"23742:15:4"}]},"name":"panic_error_0x11","nodeType":"YulFunctionDefinition","src":"23583:180:4"},{"body":{"nodeType":"YulBlock","src":"23814:149:4","statements":[{"nodeType":"YulAssignment","src":"23824:25:4","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"23847:1:4"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"23829:17:4"},"nodeType":"YulFunctionCall","src":"23829:20:4"},"variableNames":[{"name":"x","nodeType":"YulIdentifier","src":"23824:1:4"}]},{"nodeType":"YulAssignment","src":"23858:25:4","value":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"23881:1:4"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"23863:17:4"},"nodeType":"YulFunctionCall","src":"23863:20:4"},"variableNames":[{"name":"y","nodeType":"YulIdentifier","src":"23858:1:4"}]},{"nodeType":"YulAssignment","src":"23892:17:4","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"23904:1:4"},{"name":"y","nodeType":"YulIdentifier","src":"23907:1:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"23900:3:4"},"nodeType":"YulFunctionCall","src":"23900:9:4"},"variableNames":[{"name":"diff","nodeType":"YulIdentifier","src":"23892:4:4"}]},{"body":{"nodeType":"YulBlock","src":"23934:22:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"23936:16:4"},"nodeType":"YulFunctionCall","src":"23936:18:4"},"nodeType":"YulExpressionStatement","src":"23936:18:4"}]},"condition":{"arguments":[{"name":"diff","nodeType":"YulIdentifier","src":"23925:4:4"},{"name":"x","nodeType":"YulIdentifier","src":"23931:1:4"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"23922:2:4"},"nodeType":"YulFunctionCall","src":"23922:11:4"},"nodeType":"YulIf","src":"23919:37:4"}]},"name":"checked_sub_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"23800:1:4","type":""},{"name":"y","nodeType":"YulTypedName","src":"23803:1:4","type":""}],"returnVariables":[{"name":"diff","nodeType":"YulTypedName","src":"23809:4:4","type":""}],"src":"23769:194:4"},{"body":{"nodeType":"YulBlock","src":"23997:152:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"24014:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"24017:77:4","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24007:6:4"},"nodeType":"YulFunctionCall","src":"24007:88:4"},"nodeType":"YulExpressionStatement","src":"24007:88:4"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"24111:1:4","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"24114:4:4","type":"","value":"0x32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24104:6:4"},"nodeType":"YulFunctionCall","src":"24104:15:4"},"nodeType":"YulExpressionStatement","src":"24104:15:4"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"24135:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"24138:4:4","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"24128:6:4"},"nodeType":"YulFunctionCall","src":"24128:15:4"},"nodeType":"YulExpressionStatement","src":"24128:15:4"}]},"name":"panic_error_0x32","nodeType":"YulFunctionDefinition","src":"23969:180:4"}]},"contents":"{\n\n function cleanup_t_bytes32(value) -> cleaned {\n cleaned := value\n }\n\n function abi_encode_t_bytes32_to_t_bytes32_fromStack(value, pos) {\n mstore(pos, cleanup_t_bytes32(value))\n }\n\n function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value0, add(headStart, 0))\n\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function identity(value) -> ret {\n ret := value\n }\n\n function convert_t_uint160_to_t_uint160(value) -> converted {\n converted := cleanup_t_uint160(identity(cleanup_t_uint160(value)))\n }\n\n function convert_t_uint160_to_t_address(value) -> converted {\n converted := convert_t_uint160_to_t_uint160(value)\n }\n\n function convert_t_contract$_ITellorDataBridge_$1141_to_t_address(value) -> converted {\n converted := convert_t_uint160_to_t_address(value)\n }\n\n function abi_encode_t_contract$_ITellorDataBridge_$1141_to_t_address_fromStack(value, pos) {\n mstore(pos, convert_t_contract$_ITellorDataBridge_$1141_to_t_address(value))\n }\n\n function abi_encode_tuple_t_contract$_ITellorDataBridge_$1141__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_contract$_ITellorDataBridge_$1141_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function revert_error_21fe6b43b4db61d76a176e95bf1a6b9ede4c301f93a4246f41fecb96e160861d() {\n revert(0, 0)\n }\n\n // struct OracleAttestationData\n function abi_decode_t_struct$_OracleAttestationData_$1081_calldata_ptr(offset, end) -> value {\n if slt(sub(end, offset), 96) { revert_error_21fe6b43b4db61d76a176e95bf1a6b9ede4c301f93a4246f41fecb96e160861d() }\n value := offset\n }\n\n function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490() {\n revert(0, 0)\n }\n\n function revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() {\n revert(0, 0)\n }\n\n // struct Validator[]\n function abi_decode_t_array$_t_struct$_Validator_$1106_calldata_ptr_$dyn_calldata_ptr(offset, end) -> arrayPos, length {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n length := calldataload(offset)\n if gt(length, 0xffffffffffffffff) { revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490() }\n arrayPos := add(offset, 0x20)\n if gt(add(arrayPos, mul(length, 0x40)), end) { revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() }\n }\n\n // struct Signature[]\n function abi_decode_t_array$_t_struct$_Signature_$1101_calldata_ptr_$dyn_calldata_ptr(offset, end) -> arrayPos, length {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n length := calldataload(offset)\n if gt(length, 0xffffffffffffffff) { revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490() }\n arrayPos := add(offset, 0x20)\n if gt(add(arrayPos, mul(length, 0x60)), end) { revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() }\n }\n\n function abi_decode_tuple_t_struct$_OracleAttestationData_$1081_calldata_ptrt_array$_t_struct$_Validator_$1106_calldata_ptr_$dyn_calldata_ptrt_array$_t_struct$_Signature_$1101_calldata_ptr_$dyn_calldata_ptr(headStart, dataEnd) -> value0, value1, value2, value3, value4 {\n if slt(sub(dataEnd, headStart), 96) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := calldataload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0 := abi_decode_t_struct$_OracleAttestationData_$1081_calldata_ptr(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 32))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value1, value2 := abi_decode_t_array$_t_struct$_Validator_$1106_calldata_ptr_$dyn_calldata_ptr(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 64))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value3, value4 := abi_decode_t_array$_t_struct$_Signature_$1101_calldata_ptr_$dyn_calldata_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_uint256_to_t_uint256(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n // struct YoloTellorUser.OracleData -> struct YoloTellorUser.OracleData\n function abi_encode_t_struct$_OracleData_$975_memory_ptr_to_t_struct$_OracleData_$975_memory_ptr_fromStack(value, pos) {\n let tail := add(pos, 0x40)\n\n {\n // value\n\n let memberValue0 := mload(add(value, 0x00))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0x00))\n }\n\n {\n // timestamp\n\n let memberValue0 := mload(add(value, 0x20))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0x20))\n }\n\n }\n\n function abi_encode_tuple_t_struct$_OracleData_$975_memory_ptr__to_t_struct$_OracleData_$975_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 64)\n\n abi_encode_t_struct$_OracleData_$975_memory_ptr_to_t_struct$_OracleData_$975_memory_ptr_fromStack(value0, add(headStart, 0))\n\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed(headStart , value1, value0) -> tail {\n tail := add(headStart, 64)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value1, add(headStart, 32))\n\n }\n\n function validator_revert_t_bytes32(value) {\n if iszero(eq(value, cleanup_t_bytes32(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_bytes32(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_bytes32(value)\n }\n\n function calldata_access_t_bytes32(baseRef, ptr) -> value {\n value := abi_decode_t_bytes32(ptr, add(ptr, 32))\n }\n\n function abi_encode_t_bytes32_to_t_bytes32(value, pos) {\n mstore(pos, cleanup_t_bytes32(value))\n }\n\n function revert_error_db64ea6d4a12deece376118739de8d9f517a2db5b58ea2ca332ea908c04c71d4() {\n revert(0, 0)\n }\n\n function calldata_access_t_struct$_ReportData_$1094_calldata_ptr(base_ref, ptr) -> value {\n let rel_offset_of_tail := calldataload(ptr)\n if iszero(slt(rel_offset_of_tail, sub(sub(calldatasize(), base_ref), sub(0xc0, 1)))) { revert_error_db64ea6d4a12deece376118739de8d9f517a2db5b58ea2ca332ea908c04c71d4() }\n value := add(rel_offset_of_tail, base_ref)\n\n }\n\n function revert_error_0803104b3ab68501accf02de57372b8e5e6e1582158b771d3f89279dc6822fe2() {\n revert(0, 0)\n }\n\n function revert_error_3894daff73bdbb8963c284e167b207f7abade3c031c50828ea230a16bdbc0f20() {\n revert(0, 0)\n }\n\n function calldata_access_t_bytes_calldata_ptr(base_ref, ptr) -> value, length {\n let rel_offset_of_tail := calldataload(ptr)\n if iszero(slt(rel_offset_of_tail, sub(sub(calldatasize(), base_ref), sub(0x20, 1)))) { revert_error_db64ea6d4a12deece376118739de8d9f517a2db5b58ea2ca332ea908c04c71d4() }\n value := add(rel_offset_of_tail, base_ref)\n\n length := calldataload(value)\n value := add(value, 0x20)\n if gt(length, 0xffffffffffffffff) { revert_error_0803104b3ab68501accf02de57372b8e5e6e1582158b771d3f89279dc6822fe2() }\n if sgt(value, sub(calldatasize(), mul(length, 0x01))) { revert_error_3894daff73bdbb8963c284e167b207f7abade3c031c50828ea230a16bdbc0f20() }\n\n }\n\n function array_storeLengthForEncoding_t_bytes_memory_ptr(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function copy_calldata_to_memory_with_cleanup(src, dst, length) {\n calldatacopy(dst, src, length)\n mstore(add(dst, length), 0)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n // bytes -> bytes\n function abi_encode_t_bytes_calldata_ptr_to_t_bytes_memory_ptr(start, length, pos) -> end {\n pos := array_storeLengthForEncoding_t_bytes_memory_ptr(pos, length)\n\n copy_calldata_to_memory_with_cleanup(start, pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function calldata_access_t_uint256(baseRef, ptr) -> value {\n value := abi_decode_t_uint256(ptr, add(ptr, 32))\n }\n\n // struct ReportData -> struct ReportData\n function abi_encode_t_struct$_ReportData_$1094_calldata_ptr_to_t_struct$_ReportData_$1094_memory_ptr(value, pos) -> end {\n let tail := add(pos, 0xc0)\n\n {\n // value\n\n let memberValue0, memberValue1 := calldata_access_t_bytes_calldata_ptr(value, add(value, 0x00))\n\n mstore(add(pos, 0x00), sub(tail, pos))\n tail := abi_encode_t_bytes_calldata_ptr_to_t_bytes_memory_ptr(memberValue0, memberValue1, tail)\n\n }\n\n {\n // timestamp\n\n let memberValue0 := calldata_access_t_uint256(value, add(value, 0x20))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0x20))\n }\n\n {\n // aggregatePower\n\n let memberValue0 := calldata_access_t_uint256(value, add(value, 0x40))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0x40))\n }\n\n {\n // previousTimestamp\n\n let memberValue0 := calldata_access_t_uint256(value, add(value, 0x60))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0x60))\n }\n\n {\n // nextTimestamp\n\n let memberValue0 := calldata_access_t_uint256(value, add(value, 0x80))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0x80))\n }\n\n {\n // lastConsensusTimestamp\n\n let memberValue0 := calldata_access_t_uint256(value, add(value, 0xa0))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0xa0))\n }\n\n end := tail\n }\n\n // struct OracleAttestationData -> struct OracleAttestationData\n function abi_encode_t_struct$_OracleAttestationData_$1081_calldata_ptr_to_t_struct$_OracleAttestationData_$1081_memory_ptr_fromStack(value, pos) -> end {\n let tail := add(pos, 0x60)\n\n {\n // queryId\n\n let memberValue0 := calldata_access_t_bytes32(value, add(value, 0x00))\n abi_encode_t_bytes32_to_t_bytes32(memberValue0, add(pos, 0x00))\n }\n\n {\n // report\n\n let memberValue0 := calldata_access_t_struct$_ReportData_$1094_calldata_ptr(value, add(value, 0x20))\n\n mstore(add(pos, 0x20), sub(tail, pos))\n tail := abi_encode_t_struct$_ReportData_$1094_calldata_ptr_to_t_struct$_ReportData_$1094_memory_ptr(memberValue0, tail)\n\n }\n\n {\n // attestationTimestamp\n\n let memberValue0 := calldata_access_t_uint256(value, add(value, 0x40))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0x40))\n }\n\n end := tail\n }\n\n function array_storeLengthForEncoding_t_array$_t_struct$_Validator_$1106_memory_ptr_$dyn_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function array_dataslot_t_array$_t_struct$_Validator_$1106_calldata_ptr_$dyn_calldata_ptr(ptr) -> data {\n data := ptr\n\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_address(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address(value)\n }\n\n function calldata_access_t_address(baseRef, ptr) -> value {\n value := abi_decode_t_address(ptr, add(ptr, 32))\n }\n\n function abi_encode_t_address_to_t_address(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n // struct Validator -> struct Validator\n function abi_encode_t_struct$_Validator_$1106_calldata_ptr_to_t_struct$_Validator_$1106_memory_ptr(value, pos) {\n let tail := add(pos, 0x40)\n\n {\n // addr\n\n let memberValue0 := calldata_access_t_address(value, add(value, 0x00))\n abi_encode_t_address_to_t_address(memberValue0, add(pos, 0x00))\n }\n\n {\n // power\n\n let memberValue0 := calldata_access_t_uint256(value, add(value, 0x20))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0x20))\n }\n\n }\n\n function abi_encodeUpdatedPos_t_struct$_Validator_$1106_calldata_ptr_to_t_struct$_Validator_$1106_memory_ptr(value0, pos) -> updatedPos {\n abi_encode_t_struct$_Validator_$1106_calldata_ptr_to_t_struct$_Validator_$1106_memory_ptr(value0, pos)\n updatedPos := add(pos, 0x40)\n }\n\n function calldata_access_t_struct$_Validator_$1106_calldata_ptr(baseRef, ptr) -> value {\n value := ptr\n }\n\n function array_nextElement_t_array$_t_struct$_Validator_$1106_calldata_ptr_$dyn_calldata_ptr(ptr) -> next {\n next := add(ptr, 0x40)\n }\n\n // struct Validator[] -> struct Validator[]\n function abi_encode_t_array$_t_struct$_Validator_$1106_calldata_ptr_$dyn_calldata_ptr_to_t_array$_t_struct$_Validator_$1106_memory_ptr_$dyn_memory_ptr_fromStack(value, length, pos) -> end {\n\n pos := array_storeLengthForEncoding_t_array$_t_struct$_Validator_$1106_memory_ptr_$dyn_memory_ptr_fromStack(pos, length)\n let baseRef := array_dataslot_t_array$_t_struct$_Validator_$1106_calldata_ptr_$dyn_calldata_ptr(value)\n let srcPtr := baseRef\n for { let i := 0 } lt(i, length) { i := add(i, 1) }\n {\n let elementValue0 := calldata_access_t_struct$_Validator_$1106_calldata_ptr(baseRef, srcPtr)\n pos := abi_encodeUpdatedPos_t_struct$_Validator_$1106_calldata_ptr_to_t_struct$_Validator_$1106_memory_ptr(elementValue0, pos)\n srcPtr := array_nextElement_t_array$_t_struct$_Validator_$1106_calldata_ptr_$dyn_calldata_ptr(srcPtr)\n }\n end := pos\n }\n\n function array_storeLengthForEncoding_t_array$_t_struct$_Signature_$1101_memory_ptr_$dyn_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function array_dataslot_t_array$_t_struct$_Signature_$1101_calldata_ptr_$dyn_calldata_ptr(ptr) -> data {\n data := ptr\n\n }\n\n function cleanup_t_uint8(value) -> cleaned {\n cleaned := and(value, 0xff)\n }\n\n function validator_revert_t_uint8(value) {\n if iszero(eq(value, cleanup_t_uint8(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint8(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint8(value)\n }\n\n function calldata_access_t_uint8(baseRef, ptr) -> value {\n value := abi_decode_t_uint8(ptr, add(ptr, 32))\n }\n\n function abi_encode_t_uint8_to_t_uint8(value, pos) {\n mstore(pos, cleanup_t_uint8(value))\n }\n\n // struct Signature -> struct Signature\n function abi_encode_t_struct$_Signature_$1101_calldata_ptr_to_t_struct$_Signature_$1101_memory_ptr(value, pos) {\n let tail := add(pos, 0x60)\n\n {\n // v\n\n let memberValue0 := calldata_access_t_uint8(value, add(value, 0x00))\n abi_encode_t_uint8_to_t_uint8(memberValue0, add(pos, 0x00))\n }\n\n {\n // r\n\n let memberValue0 := calldata_access_t_bytes32(value, add(value, 0x20))\n abi_encode_t_bytes32_to_t_bytes32(memberValue0, add(pos, 0x20))\n }\n\n {\n // s\n\n let memberValue0 := calldata_access_t_bytes32(value, add(value, 0x40))\n abi_encode_t_bytes32_to_t_bytes32(memberValue0, add(pos, 0x40))\n }\n\n }\n\n function abi_encodeUpdatedPos_t_struct$_Signature_$1101_calldata_ptr_to_t_struct$_Signature_$1101_memory_ptr(value0, pos) -> updatedPos {\n abi_encode_t_struct$_Signature_$1101_calldata_ptr_to_t_struct$_Signature_$1101_memory_ptr(value0, pos)\n updatedPos := add(pos, 0x60)\n }\n\n function calldata_access_t_struct$_Signature_$1101_calldata_ptr(baseRef, ptr) -> value {\n value := ptr\n }\n\n function array_nextElement_t_array$_t_struct$_Signature_$1101_calldata_ptr_$dyn_calldata_ptr(ptr) -> next {\n next := add(ptr, 0x60)\n }\n\n // struct Signature[] -> struct Signature[]\n function abi_encode_t_array$_t_struct$_Signature_$1101_calldata_ptr_$dyn_calldata_ptr_to_t_array$_t_struct$_Signature_$1101_memory_ptr_$dyn_memory_ptr_fromStack(value, length, pos) -> end {\n\n pos := array_storeLengthForEncoding_t_array$_t_struct$_Signature_$1101_memory_ptr_$dyn_memory_ptr_fromStack(pos, length)\n let baseRef := array_dataslot_t_array$_t_struct$_Signature_$1101_calldata_ptr_$dyn_calldata_ptr(value)\n let srcPtr := baseRef\n for { let i := 0 } lt(i, length) { i := add(i, 1) }\n {\n let elementValue0 := calldata_access_t_struct$_Signature_$1101_calldata_ptr(baseRef, srcPtr)\n pos := abi_encodeUpdatedPos_t_struct$_Signature_$1101_calldata_ptr_to_t_struct$_Signature_$1101_memory_ptr(elementValue0, pos)\n srcPtr := array_nextElement_t_array$_t_struct$_Signature_$1101_calldata_ptr_$dyn_calldata_ptr(srcPtr)\n }\n end := pos\n }\n\n function abi_encode_tuple_t_struct$_OracleAttestationData_$1081_calldata_ptr_t_array$_t_struct$_Validator_$1106_calldata_ptr_$dyn_calldata_ptr_t_array$_t_struct$_Signature_$1101_calldata_ptr_$dyn_calldata_ptr__to_t_struct$_OracleAttestationData_$1081_memory_ptr_t_array$_t_struct$_Validator_$1106_memory_ptr_$dyn_memory_ptr_t_array$_t_struct$_Signature_$1101_memory_ptr_$dyn_memory_ptr__fromStack_reversed(headStart , value4, value3, value2, value1, value0) -> tail {\n tail := add(headStart, 96)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_struct$_OracleAttestationData_$1081_calldata_ptr_to_t_struct$_OracleAttestationData_$1081_memory_ptr_fromStack(value0, tail)\n\n mstore(add(headStart, 32), sub(tail, headStart))\n tail := abi_encode_t_array$_t_struct$_Validator_$1106_calldata_ptr_$dyn_calldata_ptr_to_t_array$_t_struct$_Validator_$1106_memory_ptr_$dyn_memory_ptr_fromStack(value1, value2, tail)\n\n mstore(add(headStart, 64), sub(tail, headStart))\n tail := abi_encode_t_array$_t_struct$_Signature_$1101_calldata_ptr_$dyn_calldata_ptr_to_t_array$_t_struct$_Signature_$1101_memory_ptr_$dyn_memory_ptr_fromStack(value3, value4, tail)\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function store_literal_in_memory_5c98120c2d1113299b49cf447f38c466f541f9e65cb821e4e86f03bd25cc78a8(memPtr) {\n\n mstore(add(memPtr, 0), \"Invalid queryId\")\n\n }\n\n function abi_encode_t_stringliteral_5c98120c2d1113299b49cf447f38c466f541f9e65cb821e4e86f03bd25cc78a8_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 15)\n store_literal_in_memory_5c98120c2d1113299b49cf447f38c466f541f9e65cb821e4e86f03bd25cc78a8(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_5c98120c2d1113299b49cf447f38c466f541f9e65cb821e4e86f03bd25cc78a8__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_5c98120c2d1113299b49cf447f38c466f541f9e65cb821e4e86f03bd25cc78a8_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function revert_error_356d538aaf70fba12156cc466564b792649f8f3befb07b071c91142253e175ad() {\n revert(0, 0)\n }\n\n function revert_error_1e55d03107e9c4f1b5e21c76a16fba166a461117ab153bcce65e6a4ea8e5fc8a() {\n revert(0, 0)\n }\n\n function revert_error_977805620ff29572292dee35f70b0f3f3f73d3fdd0e9f4d7a901c2e43ab18a2e() {\n revert(0, 0)\n }\n\n function access_calldata_tail_t_struct$_ReportData_$1094_calldata_ptr(base_ref, ptr_to_tail) -> addr {\n let rel_offset_of_tail := calldataload(ptr_to_tail)\n if iszero(slt(rel_offset_of_tail, sub(sub(calldatasize(), base_ref), sub(0xc0, 1)))) { revert_error_356d538aaf70fba12156cc466564b792649f8f3befb07b071c91142253e175ad() }\n addr := add(base_ref, rel_offset_of_tail)\n\n }\n\n function access_calldata_tail_t_bytes_calldata_ptr(base_ref, ptr_to_tail) -> addr, length {\n let rel_offset_of_tail := calldataload(ptr_to_tail)\n if iszero(slt(rel_offset_of_tail, sub(sub(calldatasize(), base_ref), sub(0x20, 1)))) { revert_error_356d538aaf70fba12156cc466564b792649f8f3befb07b071c91142253e175ad() }\n addr := add(base_ref, rel_offset_of_tail)\n\n length := calldataload(addr)\n if gt(length, 0xffffffffffffffff) { revert_error_1e55d03107e9c4f1b5e21c76a16fba166a461117ab153bcce65e6a4ea8e5fc8a() }\n addr := add(addr, 32)\n if sgt(addr, sub(calldatasize(), mul(length, 0x01))) { revert_error_977805620ff29572292dee35f70b0f3f3f73d3fdd0e9f4d7a901c2e43ab18a2e() }\n\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function checked_sub_t_uint256(x, y) -> diff {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n diff := sub(x, y)\n\n if gt(diff, x) { panic_error_0x11() }\n\n }\n\n function panic_error_0x32() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x32)\n revert(0, 0x24)\n }\n\n}\n","id":4,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{},"object":"608060405234801561001057600080fd5b50600436106100625760003560e01c80633f1be4d414610067578063413a89b414610085578063578855b2146100a357806361808010146100c1578063770b5414146100dd578063aa4dea00146100fb575b600080fd5b61006f61012c565b60405161007c91906103a3565b60405180910390f35b61008d610132565b60405161009a91906103d7565b60405180910390f35b6100ab61013f565b6040516100b89190610471565b60405180910390f35b6100db60048036038101906100d69190610575565b610163565b005b6100e56102dd565b6040516100f29190610664565b60405180910390f35b610115600480360381019061011091906106ab565b61033c565b6040516101239291906106d8565b60405180910390f35b60015481565b6000600280549050905090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635e0d3b0f86868686866040518663ffffffff1660e01b81526004016101c4959493929190610c31565b60006040518083038186803b1580156101dc57600080fd5b505afa1580156101f0573d6000803e3d6000fd5b5050505084600001356001541461023c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161023390610cde565b60405180910390fd5b600085806020019061024e9190610d0d565b806000019061025d9190610d35565b81019061026a91906106ab565b90506002604051806040016040528083815260200188806020019061028f9190610d0d565b60200135815250908060018154018082558091505060019003906000526020600020906002020160009091909190915060008201518160000155602082015181600101555050505050505050565b6102e5610370565b600260016002805490506102f99190610dc7565b8154811061030a57610309610dfb565b5b906000526020600020906002020160405180604001604052908160008201548152602001600182015481525050905090565b6002818154811061034c57600080fd5b90600052602060002090600202016000915090508060000154908060010154905082565b604051806040016040528060008152602001600081525090565b6000819050919050565b61039d8161038a565b82525050565b60006020820190506103b86000830184610394565b92915050565b6000819050919050565b6103d1816103be565b82525050565b60006020820190506103ec60008301846103c8565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600061043761043261042d846103f2565b610412565b6103f2565b9050919050565b60006104498261041c565b9050919050565b600061045b8261043e565b9050919050565b61046b81610450565b82525050565b60006020820190506104866000830184610462565b92915050565b600080fd5b600080fd5b600080fd5b6000606082840312156104b1576104b0610496565b5b81905092915050565b600080fd5b600080fd5b600080fd5b60008083601f8401126104df576104de6104ba565b5b8235905067ffffffffffffffff8111156104fc576104fb6104bf565b5b602083019150836040820283011115610518576105176104c4565b5b9250929050565b60008083601f840112610535576105346104ba565b5b8235905067ffffffffffffffff811115610552576105516104bf565b5b60208301915083606082028301111561056e5761056d6104c4565b5b9250929050565b6000806000806000606086880312156105915761059061048c565b5b600086013567ffffffffffffffff8111156105af576105ae610491565b5b6105bb8882890161049b565b955050602086013567ffffffffffffffff8111156105dc576105db610491565b5b6105e8888289016104c9565b9450945050604086013567ffffffffffffffff81111561060b5761060a610491565b5b6106178882890161051f565b92509250509295509295909350565b61062f816103be565b82525050565b60408201600082015161064b6000850182610626565b50602082015161065e6020850182610626565b50505050565b60006040820190506106796000830184610635565b92915050565b610688816103be565b811461069357600080fd5b50565b6000813590506106a58161067f565b92915050565b6000602082840312156106c1576106c061048c565b5b60006106cf84828501610696565b91505092915050565b60006040820190506106ed60008301856103c8565b6106fa60208301846103c8565b9392505050565b61070a8161038a565b811461071557600080fd5b50565b60008135905061072781610701565b92915050565b600061073c6020840184610718565b905092915050565b61074d8161038a565b82525050565b600080fd5b60008235600160c00383360303811261077457610773610753565b5b82810191505092915050565b600080fd5b600080fd5b600080833560016020038436030381126107a7576107a6610753565b5b83810192508235915060208301925067ffffffffffffffff8211156107cf576107ce610780565b5b6001820236038313156107e5576107e4610785565b5b509250929050565b600082825260208201905092915050565b82818337600083830152505050565b6000601f19601f8301169050919050565b600061082a83856107ed565b93506108378385846107fe565b6108408361080d565b840190509392505050565b600061085a6020840184610696565b905092915050565b600060c08301610875600084018461078a565b858303600087015261088883828461081e565b92505050610899602084018461084b565b6108a66020860182610626565b506108b4604084018461084b565b6108c16040860182610626565b506108cf606084018461084b565b6108dc6060860182610626565b506108ea608084018461084b565b6108f76080860182610626565b5061090560a084018461084b565b61091260a0860182610626565b508091505092915050565b600060608301610930600084018461072d565b61093d6000860182610744565b5061094b6020840184610758565b848203602086015261095d8282610862565b91505061096d604084018461084b565b61097a6040860182610626565b508091505092915050565b600082825260208201905092915050565b6000819050919050565b60006109ab826103f2565b9050919050565b6109bb816109a0565b81146109c657600080fd5b50565b6000813590506109d8816109b2565b92915050565b60006109ed60208401846109c9565b905092915050565b6109fe816109a0565b82525050565b60408201610a1560008301836109de565b610a2260008501826109f5565b50610a30602083018361084b565b610a3d6020850182610626565b50505050565b6000610a4f8383610a04565b60408301905092915050565b600082905092915050565b6000604082019050919050565b6000610a7f8385610985565b9350610a8a82610996565b8060005b85811015610ac357610aa08284610a5b565b610aaa8882610a43565b9750610ab583610a66565b925050600181019050610a8e565b5085925050509392505050565b600082825260208201905092915050565b6000819050919050565b600060ff82169050919050565b610b0181610aeb565b8114610b0c57600080fd5b50565b600081359050610b1e81610af8565b92915050565b6000610b336020840184610b0f565b905092915050565b610b4481610aeb565b82525050565b60608201610b5b6000830183610b24565b610b686000850182610b3b565b50610b76602083018361072d565b610b836020850182610744565b50610b91604083018361072d565b610b9e6040850182610744565b50505050565b6000610bb08383610b4a565b60608301905092915050565b600082905092915050565b6000606082019050919050565b6000610be08385610ad0565b9350610beb82610ae1565b8060005b85811015610c2457610c018284610bbc565b610c0b8882610ba4565b9750610c1683610bc7565b925050600181019050610bef565b5085925050509392505050565b60006060820190508181036000830152610c4b818861091d565b90508181036020830152610c60818688610a73565b90508181036040830152610c75818486610bd4565b90509695505050505050565b600082825260208201905092915050565b7f496e76616c696420717565727949640000000000000000000000000000000000600082015250565b6000610cc8600f83610c81565b9150610cd382610c92565b602082019050919050565b60006020820190508181036000830152610cf781610cbb565b9050919050565b600080fd5b600080fd5b600080fd5b60008235600160c003833603038112610d2957610d28610cfe565b5b80830191505092915050565b60008083356001602003843603038112610d5257610d51610cfe565b5b80840192508235915067ffffffffffffffff821115610d7457610d73610d03565b5b602083019250600182023603831315610d9057610d8f610d08565b5b509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610dd2826103be565b9150610ddd836103be565b9250828203905081811115610df557610df4610d98565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fdfea26469706673582212206730b1a15e2a445e71bcab434786396948d6bbd4a1f58f8c658833ed2c988e7264736f6c63430008130033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x62 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x3F1BE4D4 EQ PUSH2 0x67 JUMPI DUP1 PUSH4 0x413A89B4 EQ PUSH2 0x85 JUMPI DUP1 PUSH4 0x578855B2 EQ PUSH2 0xA3 JUMPI DUP1 PUSH4 0x61808010 EQ PUSH2 0xC1 JUMPI DUP1 PUSH4 0x770B5414 EQ PUSH2 0xDD JUMPI DUP1 PUSH4 0xAA4DEA00 EQ PUSH2 0xFB JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x6F PUSH2 0x12C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x7C SWAP2 SWAP1 PUSH2 0x3A3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x8D PUSH2 0x132 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x9A SWAP2 SWAP1 PUSH2 0x3D7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xAB PUSH2 0x13F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xB8 SWAP2 SWAP1 PUSH2 0x471 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xDB PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xD6 SWAP2 SWAP1 PUSH2 0x575 JUMP JUMPDEST PUSH2 0x163 JUMP JUMPDEST STOP JUMPDEST PUSH2 0xE5 PUSH2 0x2DD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xF2 SWAP2 SWAP1 PUSH2 0x664 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x115 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x110 SWAP2 SWAP1 PUSH2 0x6AB JUMP JUMPDEST PUSH2 0x33C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x123 SWAP3 SWAP2 SWAP1 PUSH2 0x6D8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP1 SLOAD SWAP1 POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x5E0D3B0F DUP7 DUP7 DUP7 DUP7 DUP7 PUSH1 0x40 MLOAD DUP7 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1C4 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0xC31 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1DC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1F0 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP DUP5 PUSH1 0x0 ADD CALLDATALOAD PUSH1 0x1 SLOAD EQ PUSH2 0x23C JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x233 SWAP1 PUSH2 0xCDE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP6 DUP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x24E SWAP2 SWAP1 PUSH2 0xD0D JUMP JUMPDEST DUP1 PUSH1 0x0 ADD SWAP1 PUSH2 0x25D SWAP2 SWAP1 PUSH2 0xD35 JUMP JUMPDEST DUP2 ADD SWAP1 PUSH2 0x26A SWAP2 SWAP1 PUSH2 0x6AB JUMP JUMPDEST SWAP1 POP PUSH1 0x2 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 DUP4 DUP2 MSTORE PUSH1 0x20 ADD DUP9 DUP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x28F SWAP2 SWAP1 PUSH2 0xD0D JUMP JUMPDEST PUSH1 0x20 ADD CALLDATALOAD DUP2 MSTORE POP SWAP1 DUP1 PUSH1 0x1 DUP2 SLOAD ADD DUP1 DUP3 SSTORE DUP1 SWAP2 POP POP PUSH1 0x1 SWAP1 SUB SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x2 MUL ADD PUSH1 0x0 SWAP1 SWAP2 SWAP1 SWAP2 SWAP1 SWAP2 POP PUSH1 0x0 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD SSTORE PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD SSTORE POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x2E5 PUSH2 0x370 JUMP JUMPDEST PUSH1 0x2 PUSH1 0x1 PUSH1 0x2 DUP1 SLOAD SWAP1 POP PUSH2 0x2F9 SWAP2 SWAP1 PUSH2 0xDC7 JUMP JUMPDEST DUP2 SLOAD DUP2 LT PUSH2 0x30A JUMPI PUSH2 0x309 PUSH2 0xDFB JUMP JUMPDEST JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x2 MUL ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE SWAP1 DUP2 PUSH1 0x0 DUP3 ADD SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD SLOAD DUP2 MSTORE POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x2 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x34C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x2 MUL ADD PUSH1 0x0 SWAP2 POP SWAP1 POP DUP1 PUSH1 0x0 ADD SLOAD SWAP1 DUP1 PUSH1 0x1 ADD SLOAD SWAP1 POP DUP3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x39D DUP2 PUSH2 0x38A JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x3B8 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x394 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x3D1 DUP2 PUSH2 0x3BE JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x3EC PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x3C8 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x437 PUSH2 0x432 PUSH2 0x42D DUP5 PUSH2 0x3F2 JUMP JUMPDEST PUSH2 0x412 JUMP JUMPDEST PUSH2 0x3F2 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x449 DUP3 PUSH2 0x41C JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x45B DUP3 PUSH2 0x43E JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x46B DUP2 PUSH2 0x450 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x486 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x462 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4B1 JUMPI PUSH2 0x4B0 PUSH2 0x496 JUMP JUMPDEST JUMPDEST DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0x4DF JUMPI PUSH2 0x4DE PUSH2 0x4BA JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x4FC JUMPI PUSH2 0x4FB PUSH2 0x4BF JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x40 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0x518 JUMPI PUSH2 0x517 PUSH2 0x4C4 JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0x535 JUMPI PUSH2 0x534 PUSH2 0x4BA JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x552 JUMPI PUSH2 0x551 PUSH2 0x4BF JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x60 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0x56E JUMPI PUSH2 0x56D PUSH2 0x4C4 JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x591 JUMPI PUSH2 0x590 PUSH2 0x48C JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x5AF JUMPI PUSH2 0x5AE PUSH2 0x491 JUMP JUMPDEST JUMPDEST PUSH2 0x5BB DUP9 DUP3 DUP10 ADD PUSH2 0x49B JUMP JUMPDEST SWAP6 POP POP PUSH1 0x20 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x5DC JUMPI PUSH2 0x5DB PUSH2 0x491 JUMP JUMPDEST JUMPDEST PUSH2 0x5E8 DUP9 DUP3 DUP10 ADD PUSH2 0x4C9 JUMP JUMPDEST SWAP5 POP SWAP5 POP POP PUSH1 0x40 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x60B JUMPI PUSH2 0x60A PUSH2 0x491 JUMP JUMPDEST JUMPDEST PUSH2 0x617 DUP9 DUP3 DUP10 ADD PUSH2 0x51F JUMP JUMPDEST SWAP3 POP SWAP3 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH2 0x62F DUP2 PUSH2 0x3BE JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x40 DUP3 ADD PUSH1 0x0 DUP3 ADD MLOAD PUSH2 0x64B PUSH1 0x0 DUP6 ADD DUP3 PUSH2 0x626 JUMP JUMPDEST POP PUSH1 0x20 DUP3 ADD MLOAD PUSH2 0x65E PUSH1 0x20 DUP6 ADD DUP3 PUSH2 0x626 JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x679 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x635 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x688 DUP2 PUSH2 0x3BE JUMP JUMPDEST DUP2 EQ PUSH2 0x693 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x6A5 DUP2 PUSH2 0x67F JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x6C1 JUMPI PUSH2 0x6C0 PUSH2 0x48C JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x6CF DUP5 DUP3 DUP6 ADD PUSH2 0x696 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x6ED PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x3C8 JUMP JUMPDEST PUSH2 0x6FA PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x3C8 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0x70A DUP2 PUSH2 0x38A JUMP JUMPDEST DUP2 EQ PUSH2 0x715 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x727 DUP2 PUSH2 0x701 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x73C PUSH1 0x20 DUP5 ADD DUP5 PUSH2 0x718 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x74D DUP2 PUSH2 0x38A JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP3 CALLDATALOAD PUSH1 0x1 PUSH1 0xC0 SUB DUP4 CALLDATASIZE SUB SUB DUP2 SLT PUSH2 0x774 JUMPI PUSH2 0x773 PUSH2 0x753 JUMP JUMPDEST JUMPDEST DUP3 DUP2 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP4 CALLDATALOAD PUSH1 0x1 PUSH1 0x20 SUB DUP5 CALLDATASIZE SUB SUB DUP2 SLT PUSH2 0x7A7 JUMPI PUSH2 0x7A6 PUSH2 0x753 JUMP JUMPDEST JUMPDEST DUP4 DUP2 ADD SWAP3 POP DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD SWAP3 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x7CF JUMPI PUSH2 0x7CE PUSH2 0x780 JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 MUL CALLDATASIZE SUB DUP4 SGT ISZERO PUSH2 0x7E5 JUMPI PUSH2 0x7E4 PUSH2 0x785 JUMP JUMPDEST JUMPDEST POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x82A DUP4 DUP6 PUSH2 0x7ED JUMP JUMPDEST SWAP4 POP PUSH2 0x837 DUP4 DUP6 DUP5 PUSH2 0x7FE JUMP JUMPDEST PUSH2 0x840 DUP4 PUSH2 0x80D JUMP JUMPDEST DUP5 ADD SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x85A PUSH1 0x20 DUP5 ADD DUP5 PUSH2 0x696 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xC0 DUP4 ADD PUSH2 0x875 PUSH1 0x0 DUP5 ADD DUP5 PUSH2 0x78A JUMP JUMPDEST DUP6 DUP4 SUB PUSH1 0x0 DUP8 ADD MSTORE PUSH2 0x888 DUP4 DUP3 DUP5 PUSH2 0x81E JUMP JUMPDEST SWAP3 POP POP POP PUSH2 0x899 PUSH1 0x20 DUP5 ADD DUP5 PUSH2 0x84B JUMP JUMPDEST PUSH2 0x8A6 PUSH1 0x20 DUP7 ADD DUP3 PUSH2 0x626 JUMP JUMPDEST POP PUSH2 0x8B4 PUSH1 0x40 DUP5 ADD DUP5 PUSH2 0x84B JUMP JUMPDEST PUSH2 0x8C1 PUSH1 0x40 DUP7 ADD DUP3 PUSH2 0x626 JUMP JUMPDEST POP PUSH2 0x8CF PUSH1 0x60 DUP5 ADD DUP5 PUSH2 0x84B JUMP JUMPDEST PUSH2 0x8DC PUSH1 0x60 DUP7 ADD DUP3 PUSH2 0x626 JUMP JUMPDEST POP PUSH2 0x8EA PUSH1 0x80 DUP5 ADD DUP5 PUSH2 0x84B JUMP JUMPDEST PUSH2 0x8F7 PUSH1 0x80 DUP7 ADD DUP3 PUSH2 0x626 JUMP JUMPDEST POP PUSH2 0x905 PUSH1 0xA0 DUP5 ADD DUP5 PUSH2 0x84B JUMP JUMPDEST PUSH2 0x912 PUSH1 0xA0 DUP7 ADD DUP3 PUSH2 0x626 JUMP JUMPDEST POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP4 ADD PUSH2 0x930 PUSH1 0x0 DUP5 ADD DUP5 PUSH2 0x72D JUMP JUMPDEST PUSH2 0x93D PUSH1 0x0 DUP7 ADD DUP3 PUSH2 0x744 JUMP JUMPDEST POP PUSH2 0x94B PUSH1 0x20 DUP5 ADD DUP5 PUSH2 0x758 JUMP JUMPDEST DUP5 DUP3 SUB PUSH1 0x20 DUP7 ADD MSTORE PUSH2 0x95D DUP3 DUP3 PUSH2 0x862 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x96D PUSH1 0x40 DUP5 ADD DUP5 PUSH2 0x84B JUMP JUMPDEST PUSH2 0x97A PUSH1 0x40 DUP7 ADD DUP3 PUSH2 0x626 JUMP JUMPDEST POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x9AB DUP3 PUSH2 0x3F2 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x9BB DUP2 PUSH2 0x9A0 JUMP JUMPDEST DUP2 EQ PUSH2 0x9C6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x9D8 DUP2 PUSH2 0x9B2 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x9ED PUSH1 0x20 DUP5 ADD DUP5 PUSH2 0x9C9 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x9FE DUP2 PUSH2 0x9A0 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x40 DUP3 ADD PUSH2 0xA15 PUSH1 0x0 DUP4 ADD DUP4 PUSH2 0x9DE JUMP JUMPDEST PUSH2 0xA22 PUSH1 0x0 DUP6 ADD DUP3 PUSH2 0x9F5 JUMP JUMPDEST POP PUSH2 0xA30 PUSH1 0x20 DUP4 ADD DUP4 PUSH2 0x84B JUMP JUMPDEST PUSH2 0xA3D PUSH1 0x20 DUP6 ADD DUP3 PUSH2 0x626 JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xA4F DUP4 DUP4 PUSH2 0xA04 JUMP JUMPDEST PUSH1 0x40 DUP4 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xA7F DUP4 DUP6 PUSH2 0x985 JUMP JUMPDEST SWAP4 POP PUSH2 0xA8A DUP3 PUSH2 0x996 JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0xAC3 JUMPI PUSH2 0xAA0 DUP3 DUP5 PUSH2 0xA5B JUMP JUMPDEST PUSH2 0xAAA DUP9 DUP3 PUSH2 0xA43 JUMP JUMPDEST SWAP8 POP PUSH2 0xAB5 DUP4 PUSH2 0xA66 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0xA8E JUMP JUMPDEST POP DUP6 SWAP3 POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xB01 DUP2 PUSH2 0xAEB JUMP JUMPDEST DUP2 EQ PUSH2 0xB0C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xB1E DUP2 PUSH2 0xAF8 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xB33 PUSH1 0x20 DUP5 ADD DUP5 PUSH2 0xB0F JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xB44 DUP2 PUSH2 0xAEB JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x60 DUP3 ADD PUSH2 0xB5B PUSH1 0x0 DUP4 ADD DUP4 PUSH2 0xB24 JUMP JUMPDEST PUSH2 0xB68 PUSH1 0x0 DUP6 ADD DUP3 PUSH2 0xB3B JUMP JUMPDEST POP PUSH2 0xB76 PUSH1 0x20 DUP4 ADD DUP4 PUSH2 0x72D JUMP JUMPDEST PUSH2 0xB83 PUSH1 0x20 DUP6 ADD DUP3 PUSH2 0x744 JUMP JUMPDEST POP PUSH2 0xB91 PUSH1 0x40 DUP4 ADD DUP4 PUSH2 0x72D JUMP JUMPDEST PUSH2 0xB9E PUSH1 0x40 DUP6 ADD DUP3 PUSH2 0x744 JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xBB0 DUP4 DUP4 PUSH2 0xB4A JUMP JUMPDEST PUSH1 0x60 DUP4 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xBE0 DUP4 DUP6 PUSH2 0xAD0 JUMP JUMPDEST SWAP4 POP PUSH2 0xBEB DUP3 PUSH2 0xAE1 JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0xC24 JUMPI PUSH2 0xC01 DUP3 DUP5 PUSH2 0xBBC JUMP JUMPDEST PUSH2 0xC0B DUP9 DUP3 PUSH2 0xBA4 JUMP JUMPDEST SWAP8 POP PUSH2 0xC16 DUP4 PUSH2 0xBC7 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0xBEF JUMP JUMPDEST POP DUP6 SWAP3 POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xC4B DUP2 DUP9 PUSH2 0x91D JUMP JUMPDEST SWAP1 POP DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0xC60 DUP2 DUP7 DUP9 PUSH2 0xA73 JUMP JUMPDEST SWAP1 POP DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0xC75 DUP2 DUP5 DUP7 PUSH2 0xBD4 JUMP JUMPDEST SWAP1 POP SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x496E76616C696420717565727949640000000000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xCC8 PUSH1 0xF DUP4 PUSH2 0xC81 JUMP JUMPDEST SWAP2 POP PUSH2 0xCD3 DUP3 PUSH2 0xC92 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xCF7 DUP2 PUSH2 0xCBB JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP3 CALLDATALOAD PUSH1 0x1 PUSH1 0xC0 SUB DUP4 CALLDATASIZE SUB SUB DUP2 SLT PUSH2 0xD29 JUMPI PUSH2 0xD28 PUSH2 0xCFE JUMP JUMPDEST JUMPDEST DUP1 DUP4 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 CALLDATALOAD PUSH1 0x1 PUSH1 0x20 SUB DUP5 CALLDATASIZE SUB SUB DUP2 SLT PUSH2 0xD52 JUMPI PUSH2 0xD51 PUSH2 0xCFE JUMP JUMPDEST JUMPDEST DUP1 DUP5 ADD SWAP3 POP DUP3 CALLDATALOAD SWAP2 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0xD74 JUMPI PUSH2 0xD73 PUSH2 0xD03 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP3 POP PUSH1 0x1 DUP3 MUL CALLDATASIZE SUB DUP4 SGT ISZERO PUSH2 0xD90 JUMPI PUSH2 0xD8F PUSH2 0xD08 JUMP JUMPDEST JUMPDEST POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0xDD2 DUP3 PUSH2 0x3BE JUMP JUMPDEST SWAP2 POP PUSH2 0xDDD DUP4 PUSH2 0x3BE JUMP JUMPDEST SWAP3 POP DUP3 DUP3 SUB SWAP1 POP DUP2 DUP2 GT ISZERO PUSH2 0xDF5 JUMPI PUSH2 0xDF4 PUSH2 0xD98 JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH8 0x30B1A15E2A445E71 0xBC 0xAB NUMBER SELFBALANCE DUP7 CODECOPY PUSH10 0x48D6BBD4A1F58F8C6588 CALLER 0xED 0x2C SWAP9 DUP15 PUSH19 0x64736F6C634300081300330000000000000000 ","sourceMap":"277:1504:2:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;348:22;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1681:98;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;307:35;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;821:639;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1502:125;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;376:30;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;348:22;;;;:::o;1681:98::-;1729:7;1755:10;:17;;;;1748:24;;1681:98;:::o;307:35::-;;;;;;;;;;;;:::o;821:639::-;1062:10;;;;;;;;;;:27;;;1090:11;1103:20;;1125:5;;1062:69;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1224:11;:19;;;1213:7;;:30;1205:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;1314:14;1342:11;:18;;;;;;;;:::i;:::-;:24;;;;;;;;:::i;:::-;1331:47;;;;;;;:::i;:::-;1314:64;;1388:10;1404:48;;;;;;;;1415:6;1404:48;;;;1423:11;:18;;;;;;;;:::i;:::-;:28;;;1404:48;;;1388:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1001:459;821:639;;;;;:::o;1502:125::-;1551:17;;:::i;:::-;1587:10;1618:1;1598:10;:17;;;;:21;;;;:::i;:::-;1587:33;;;;;;;;:::i;:::-;;;;;;;;;;;;1580:40;;;;;;;;;;;;;;;;;;;;;;;;;;;1502:125;:::o;376:30::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;:::o;7:77:4:-;44:7;73:5;62:16;;7:77;;;:::o;90:118::-;177:24;195:5;177:24;:::i;:::-;172:3;165:37;90:118;;:::o;214:222::-;307:4;345:2;334:9;330:18;322:26;;358:71;426:1;415:9;411:17;402:6;358:71;:::i;:::-;214:222;;;;:::o;442:77::-;479:7;508:5;497:16;;442:77;;;:::o;525:118::-;612:24;630:5;612:24;:::i;:::-;607:3;600:37;525:118;;:::o;649:222::-;742:4;780:2;769:9;765:18;757:26;;793:71;861:1;850:9;846:17;837:6;793:71;:::i;:::-;649:222;;;;:::o;877:126::-;914:7;954:42;947:5;943:54;932:65;;877:126;;;:::o;1009:60::-;1037:3;1058:5;1051:12;;1009:60;;;:::o;1075:142::-;1125:9;1158:53;1176:34;1185:24;1203:5;1185:24;:::i;:::-;1176:34;:::i;:::-;1158:53;:::i;:::-;1145:66;;1075:142;;;:::o;1223:126::-;1273:9;1306:37;1337:5;1306:37;:::i;:::-;1293:50;;1223:126;;;:::o;1355:152::-;1431:9;1464:37;1495:5;1464:37;:::i;:::-;1451:50;;1355:152;;;:::o;1513:183::-;1626:63;1683:5;1626:63;:::i;:::-;1621:3;1614:76;1513:183;;:::o;1702:274::-;1821:4;1859:2;1848:9;1844:18;1836:26;;1872:97;1966:1;1955:9;1951:17;1942:6;1872:97;:::i;:::-;1702:274;;;;:::o;2063:117::-;2172:1;2169;2162:12;2186:117;2295:1;2292;2285:12;2309:117;2418:1;2415;2408:12;2468:245;2555:5;2596:2;2587:6;2582:3;2578:16;2574:25;2571:112;;;2602:79;;:::i;:::-;2571:112;2701:6;2692:15;;2468:245;;;;:::o;2719:117::-;2828:1;2825;2818:12;2842:117;2951:1;2948;2941:12;2965:117;3074:1;3071;3064:12;3114:597;3216:8;3226:6;3276:3;3269:4;3261:6;3257:17;3253:27;3243:122;;3284:79;;:::i;:::-;3243:122;3397:6;3384:20;3374:30;;3427:18;3419:6;3416:30;3413:117;;;3449:79;;:::i;:::-;3413:117;3563:4;3555:6;3551:17;3539:29;;3617:3;3609:4;3601:6;3597:17;3587:8;3583:32;3580:41;3577:128;;;3624:79;;:::i;:::-;3577:128;3114:597;;;;;:::o;3743:::-;3845:8;3855:6;3905:3;3898:4;3890:6;3886:17;3882:27;3872:122;;3913:79;;:::i;:::-;3872:122;4026:6;4013:20;4003:30;;4056:18;4048:6;4045:30;4042:117;;;4078:79;;:::i;:::-;4042:117;4192:4;4184:6;4180:17;4168:29;;4246:3;4238:4;4230:6;4226:17;4216:8;4212:32;4209:41;4206:128;;;4253:79;;:::i;:::-;4206:128;3743:597;;;;;:::o;4346:1437::-;4576:6;4584;4592;4600;4608;4657:2;4645:9;4636:7;4632:23;4628:32;4625:119;;;4663:79;;:::i;:::-;4625:119;4811:1;4800:9;4796:17;4783:31;4841:18;4833:6;4830:30;4827:117;;;4863:79;;:::i;:::-;4827:117;4968:94;5054:7;5045:6;5034:9;5030:22;4968:94;:::i;:::-;4958:104;;4754:318;5139:2;5128:9;5124:18;5111:32;5170:18;5162:6;5159:30;5156:117;;;5192:79;;:::i;:::-;5156:117;5305:109;5406:7;5397:6;5386:9;5382:22;5305:109;:::i;:::-;5287:127;;;;5082:342;5491:2;5480:9;5476:18;5463:32;5522:18;5514:6;5511:30;5508:117;;;5544:79;;:::i;:::-;5508:117;5657:109;5758:7;5749:6;5738:9;5734:22;5657:109;:::i;:::-;5639:127;;;;5434:342;4346:1437;;;;;;;;:::o;5789:108::-;5866:24;5884:5;5866:24;:::i;:::-;5861:3;5854:37;5789:108;;:::o;5979:517::-;6130:4;6125:3;6121:14;6218:4;6211:5;6207:16;6201:23;6237:63;6294:4;6289:3;6285:14;6271:12;6237:63;:::i;:::-;6145:165;6397:4;6390:5;6386:16;6380:23;6416:63;6473:4;6468:3;6464:14;6450:12;6416:63;:::i;:::-;6320:169;6099:397;5979:517;;:::o;6502:330::-;6649:4;6687:2;6676:9;6672:18;6664:26;;6700:125;6822:1;6811:9;6807:17;6798:6;6700:125;:::i;:::-;6502:330;;;;:::o;6838:122::-;6911:24;6929:5;6911:24;:::i;:::-;6904:5;6901:35;6891:63;;6950:1;6947;6940:12;6891:63;6838:122;:::o;6966:139::-;7012:5;7050:6;7037:20;7028:29;;7066:33;7093:5;7066:33;:::i;:::-;6966:139;;;;:::o;7111:329::-;7170:6;7219:2;7207:9;7198:7;7194:23;7190:32;7187:119;;;7225:79;;:::i;:::-;7187:119;7345:1;7370:53;7415:7;7406:6;7395:9;7391:22;7370:53;:::i;:::-;7360:63;;7316:117;7111:329;;;;:::o;7446:332::-;7567:4;7605:2;7594:9;7590:18;7582:26;;7618:71;7686:1;7675:9;7671:17;7662:6;7618:71;:::i;:::-;7699:72;7767:2;7756:9;7752:18;7743:6;7699:72;:::i;:::-;7446:332;;;;;:::o;7784:122::-;7857:24;7875:5;7857:24;:::i;:::-;7850:5;7847:35;7837:63;;7896:1;7893;7886:12;7837:63;7784:122;:::o;7912:139::-;7958:5;7996:6;7983:20;7974:29;;8012:33;8039:5;8012:33;:::i;:::-;7912:139;;;;:::o;8057:122::-;8109:5;8134:39;8169:2;8164:3;8160:12;8155:3;8134:39;:::i;:::-;8125:48;;8057:122;;;;:::o;8185:108::-;8262:24;8280:5;8262:24;:::i;:::-;8257:3;8250:37;8185:108;;:::o;8299:117::-;8408:1;8405;8398:12;8422:377;8505:5;8560:3;8547:17;8652:1;8646:4;8642:12;8631:8;8615:14;8611:29;8607:48;8587:18;8583:73;8573:168;;8660:79;;:::i;:::-;8573:168;8783:8;8763:18;8759:33;8750:42;;8511:288;8422:377;;;;:::o;8805:117::-;8914:1;8911;8904:12;8928:117;9037:1;9034;9027:12;9051:711;9115:5;9122:6;9178:3;9165:17;9270:1;9264:4;9260:12;9249:8;9233:14;9229:29;9225:48;9205:18;9201:73;9191:168;;9278:79;;:::i;:::-;9191:168;9401:8;9381:18;9377:33;9368:42;;9443:5;9430:19;9420:29;;9478:4;9471:5;9467:16;9458:25;;9506:18;9498:6;9495:30;9492:117;;;9528:79;;:::i;:::-;9492:117;9664:4;9656:6;9652:17;9636:14;9632:38;9625:5;9621:50;9618:137;;;9674:79;;:::i;:::-;9618:137;9129:633;9051:711;;;;;:::o;9768:158::-;9841:11;9875:6;9870:3;9863:19;9915:4;9910:3;9906:14;9891:29;;9768:158;;;;:::o;9932:146::-;10029:6;10024:3;10019;10006:30;10070:1;10061:6;10056:3;10052:16;10045:27;9932:146;;;:::o;10084:102::-;10125:6;10176:2;10172:7;10167:2;10160:5;10156:14;10152:28;10142:38;;10084:102;;;:::o;10214:294::-;10300:3;10321:60;10374:6;10369:3;10321:60;:::i;:::-;10314:67;;10391:56;10440:6;10435:3;10428:5;10391:56;:::i;:::-;10472:29;10494:6;10472:29;:::i;:::-;10467:3;10463:39;10456:46;;10214:294;;;;;:::o;10514:122::-;10566:5;10591:39;10626:2;10621:3;10617:12;10612:3;10591:39;:::i;:::-;10582:48;;10514:122;;;;:::o;10688:1557::-;10805:3;10841:4;10836:3;10832:14;10926:61;10981:4;10974:5;10970:16;10963:5;10926:61;:::i;:::-;11034:3;11028:4;11024:14;11017:4;11012:3;11008:14;11001:38;11060:87;11142:4;11128:12;11114;11060:87;:::i;:::-;11052:95;;10856:302;;11228:50;11272:4;11265:5;11261:16;11254:5;11228:50;:::i;:::-;11291:63;11348:4;11343:3;11339:14;11325:12;11291:63;:::i;:::-;11168:196;11439:50;11483:4;11476:5;11472:16;11465:5;11439:50;:::i;:::-;11502:63;11559:4;11554:3;11550:14;11536:12;11502:63;:::i;:::-;11374:201;11653:50;11697:4;11690:5;11686:16;11679:5;11653:50;:::i;:::-;11716:63;11773:4;11768:3;11764:14;11750:12;11716:63;:::i;:::-;11585:204;11863:50;11907:4;11900:5;11896:16;11889:5;11863:50;:::i;:::-;11926:63;11983:4;11978:3;11974:14;11960:12;11926:63;:::i;:::-;11799:200;12082:50;12126:4;12119:5;12115:16;12108:5;12082:50;:::i;:::-;12145:63;12202:4;12197:3;12193:14;12179:12;12145:63;:::i;:::-;12009:209;12235:4;12228:11;;10810:1435;10688:1557;;;;:::o;12319:980::-;12468:3;12504:4;12499:3;12495:14;12577:50;12621:4;12614:5;12610:16;12603:5;12577:50;:::i;:::-;12640:63;12697:4;12692:3;12688:14;12674:12;12640:63;:::i;:::-;12519:194;12780:80;12854:4;12847:5;12843:16;12836:5;12780:80;:::i;:::-;12907:3;12901:4;12897:14;12890:4;12885:3;12881:14;12874:38;12933:111;13039:4;13025:12;12933:111;:::i;:::-;12925:119;;12723:332;13136:50;13180:4;13173:5;13169:16;13162:5;13136:50;:::i;:::-;13199:63;13256:4;13251:3;13247:14;13233:12;13199:63;:::i;:::-;13065:207;13289:4;13282:11;;12473:826;12319:980;;;;:::o;13305:211::-;13431:11;13465:6;13460:3;13453:19;13505:4;13500:3;13496:14;13481:29;;13305:211;;;;:::o;13522:131::-;13620:4;13643:3;13635:11;;13522:131;;;:::o;13659:96::-;13696:7;13725:24;13743:5;13725:24;:::i;:::-;13714:35;;13659:96;;;:::o;13761:122::-;13834:24;13852:5;13834:24;:::i;:::-;13827:5;13824:35;13814:63;;13873:1;13870;13863:12;13814:63;13761:122;:::o;13889:139::-;13935:5;13973:6;13960:20;13951:29;;13989:33;14016:5;13989:33;:::i;:::-;13889:139;;;;:::o;14034:122::-;14086:5;14111:39;14146:2;14141:3;14137:12;14132:3;14111:39;:::i;:::-;14102:48;;14034:122;;;;:::o;14162:108::-;14239:24;14257:5;14239:24;:::i;:::-;14234:3;14227:37;14162:108;;:::o;14320:558::-;14463:4;14458:3;14454:14;14533:50;14577:4;14570:5;14566:16;14559:5;14533:50;:::i;:::-;14596:63;14653:4;14648:3;14644:14;14630:12;14596:63;:::i;:::-;14478:191;14735:50;14779:4;14772:5;14768:16;14761:5;14735:50;:::i;:::-;14798:63;14855:4;14850:3;14846:14;14832:12;14798:63;:::i;:::-;14679:192;14432:446;14320:558;;:::o;14884:291::-;15009:10;15030:102;15128:3;15120:6;15030:102;:::i;:::-;15164:4;15159:3;15155:14;15141:28;;14884:291;;;;:::o;15181:115::-;15262:5;15287:3;15278:12;;15181:115;;;;:::o;15302:144::-;15403:4;15435;15430:3;15426:14;15418:22;;15302:144;;;:::o;15500:925::-;15685:3;15708:113;15814:6;15809:3;15708:113;:::i;:::-;15701:120;;15845:87;15926:5;15845:87;:::i;:::-;15955:7;15986:1;15971:429;15996:6;15993:1;15990:13;15971:429;;;16066:71;16130:6;16121:7;16066:71;:::i;:::-;16157:119;16272:3;16257:13;16157:119;:::i;:::-;16150:126;;16299:91;16383:6;16299:91;:::i;:::-;16289:101;;16031:369;16018:1;16015;16011:9;16006:14;;15971:429;;;15975:14;16416:3;16409:10;;15690:735;;15500:925;;;;;:::o;16431:211::-;16557:11;16591:6;16586:3;16579:19;16631:4;16626:3;16622:14;16607:29;;16431:211;;;;:::o;16648:131::-;16746:4;16769:3;16761:11;;16648:131;;;:::o;16785:86::-;16820:7;16860:4;16853:5;16849:16;16838:27;;16785:86;;;:::o;16877:118::-;16948:22;16964:5;16948:22;:::i;:::-;16941:5;16938:33;16928:61;;16985:1;16982;16975:12;16928:61;16877:118;:::o;17001:135::-;17045:5;17083:6;17070:20;17061:29;;17099:31;17124:5;17099:31;:::i;:::-;17001:135;;;;:::o;17142:118::-;17192:5;17217:37;17250:2;17245:3;17241:12;17236:3;17217:37;:::i;:::-;17208:46;;17142:118;;;;:::o;17266:102::-;17339:22;17355:5;17339:22;:::i;:::-;17334:3;17327:35;17266:102;;:::o;17418:743::-;17561:4;17556:3;17552:14;17628:48;17670:4;17663:5;17659:16;17652:5;17628:48;:::i;:::-;17689:59;17742:4;17737:3;17733:14;17719:12;17689:59;:::i;:::-;17576:182;17820:50;17864:4;17857:5;17853:16;17846:5;17820:50;:::i;:::-;17883:63;17940:4;17935:3;17931:14;17917:12;17883:63;:::i;:::-;17768:188;18018:50;18062:4;18055:5;18051:16;18044:5;18018:50;:::i;:::-;18081:63;18138:4;18133:3;18129:14;18115:12;18081:63;:::i;:::-;17966:188;17530:631;17418:743;;:::o;18167:291::-;18292:10;18313:102;18411:3;18403:6;18313:102;:::i;:::-;18447:4;18442:3;18438:14;18424:28;;18167:291;;;;:::o;18464:115::-;18545:5;18570:3;18561:12;;18464:115;;;;:::o;18585:144::-;18686:4;18718;18713:3;18709:14;18701:22;;18585:144;;;:::o;18783:925::-;18968:3;18991:113;19097:6;19092:3;18991:113;:::i;:::-;18984:120;;19128:87;19209:5;19128:87;:::i;:::-;19238:7;19269:1;19254:429;19279:6;19276:1;19273:13;19254:429;;;19349:71;19413:6;19404:7;19349:71;:::i;:::-;19440:119;19555:3;19540:13;19440:119;:::i;:::-;19433:126;;19582:91;19666:6;19582:91;:::i;:::-;19572:101;;19314:369;19301:1;19298;19294:9;19289:14;;19254:429;;;19258:14;19699:3;19692:10;;18973:735;;18783:925;;;;;:::o;19714:1219::-;20175:4;20213:2;20202:9;20198:18;20190:26;;20262:9;20256:4;20252:20;20248:1;20237:9;20233:17;20226:47;20290:138;20423:4;20414:6;20290:138;:::i;:::-;20282:146;;20475:9;20469:4;20465:20;20460:2;20449:9;20445:18;20438:48;20503:174;20672:4;20663:6;20655;20503:174;:::i;:::-;20495:182;;20724:9;20718:4;20714:20;20709:2;20698:9;20694:18;20687:48;20752:174;20921:4;20912:6;20904;20752:174;:::i;:::-;20744:182;;19714:1219;;;;;;;;:::o;20939:169::-;21023:11;21057:6;21052:3;21045:19;21097:4;21092:3;21088:14;21073:29;;20939:169;;;;:::o;21114:165::-;21254:17;21250:1;21242:6;21238:14;21231:41;21114:165;:::o;21285:366::-;21427:3;21448:67;21512:2;21507:3;21448:67;:::i;:::-;21441:74;;21524:93;21613:3;21524:93;:::i;:::-;21642:2;21637:3;21633:12;21626:19;;21285:366;;;:::o;21657:419::-;21823:4;21861:2;21850:9;21846:18;21838:26;;21910:9;21904:4;21900:20;21896:1;21885:9;21881:17;21874:47;21938:131;22064:4;21938:131;:::i;:::-;21930:139;;21657:419;;;:::o;22082:117::-;22191:1;22188;22181:12;22205:117;22314:1;22311;22304:12;22328:117;22437:1;22434;22427:12;22451:396;22547:4;22601:11;22588:25;22701:1;22695:4;22691:12;22680:8;22664:14;22660:29;22656:48;22636:18;22632:73;22622:168;;22709:79;;:::i;:::-;22622:168;22821:18;22811:8;22807:33;22799:41;;22552:295;22451:396;;;;:::o;22853:724::-;22930:4;22936:6;22992:11;22979:25;23092:1;23086:4;23082:12;23071:8;23055:14;23051:29;23047:48;23027:18;23023:73;23013:168;;23100:79;;:::i;:::-;23013:168;23212:18;23202:8;23198:33;23190:41;;23264:4;23251:18;23241:28;;23292:18;23284:6;23281:30;23278:117;;;23314:79;;:::i;:::-;23278:117;23422:2;23416:4;23412:13;23404:21;;23479:4;23471:6;23467:17;23451:14;23447:38;23441:4;23437:49;23434:136;;;23489:79;;:::i;:::-;23434:136;22943:634;22853:724;;;;;:::o;23583:180::-;23631:77;23628:1;23621:88;23728:4;23725:1;23718:15;23752:4;23749:1;23742:15;23769:194;23809:4;23829:20;23847:1;23829:20;:::i;:::-;23824:25;;23863:20;23881:1;23863:20;:::i;:::-;23858:25;;23907:1;23904;23900:9;23892:17;;23931:1;23925:4;23922:11;23919:37;;;23936:18;;:::i;:::-;23919:37;23769:194;;;;:::o;23969:180::-;24017:77;24014:1;24007:88;24114:4;24111:1;24104:15;24138:4;24135:1;24128:15"},"methodIdentifiers":{"dataBridge()":"578855b2","getCurrentData()":"770b5414","getValueCount()":"413a89b4","oracleData(uint256)":"aa4dea00","queryId()":"3f1be4d4","updateOracleData((bytes32,(bytes,uint256,uint256,uint256,uint256,uint256),uint256),(address,uint256)[],(uint8,bytes32,bytes32)[])":"61808010"}},"metadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_dataBridge\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"_queryId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"dataBridge\",\"outputs\":[{\"internalType\":\"contract ITellorDataBridge\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentData\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"internalType\":\"struct YoloTellorUser.OracleData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getValueCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"oracleData\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"queryId\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"queryId\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"aggregatePower\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"previousTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"nextTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"lastConsensusTimestamp\",\"type\":\"uint256\"}],\"internalType\":\"struct ReportData\",\"name\":\"report\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"attestationTimestamp\",\"type\":\"uint256\"}],\"internalType\":\"struct OracleAttestationData\",\"name\":\"_attestData\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"power\",\"type\":\"uint256\"}],\"internalType\":\"struct Validator[]\",\"name\":\"_currentValidatorSet\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"internalType\":\"struct Signature[]\",\"name\":\"_sigs\",\"type\":\"tuple[]\"}],\"name\":\"updateOracleData\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/examples/YoloTellorUser.sol\":\"YoloTellorUser\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/examples/YoloTellorUser.sol\":{\"keccak256\":\"0x81254a574b2cefa09f2b4418557d4060135d42c3b2e741d31d1af065c31348dc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc7b2fb820399dc87c05e0b94a47c35c195509b7a1824099244830ec14505697\",\"dweb:/ipfs/QmcZ2EFrYjdqr3PSgUPxjLY5h28LuBvaTbnP5S6Mie27XM\"]},\"contracts/interfaces/ITellorDataBridge.sol\":{\"keccak256\":\"0xe63280ed178d0751b9eba8be5c98a7c1587fcf728c8c2cb2f9d261fc4a650d0f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2a16c3e825c0ad4eb206765656249fb21f3fbe23eb6ad64dac036eb084f215d9\",\"dweb:/ipfs/QmV3de6xCgd864FEhjbiPyTUNhYgB4hPAvwEu8koYoZHwG\"]}},\"version\":1}"}},"contracts/interfaces/ITellorDataBridge.sol":{"ITellorDataBridge":{"abi":[{"inputs":[],"name":"guardian","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"powerThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"unbondingPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"validatorTimestamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"bytes32","name":"queryId","type":"bytes32"},{"components":[{"internalType":"bytes","name":"value","type":"bytes"},{"internalType":"uint256","name":"timestamp","type":"uint256"},{"internalType":"uint256","name":"aggregatePower","type":"uint256"},{"internalType":"uint256","name":"previousTimestamp","type":"uint256"},{"internalType":"uint256","name":"nextTimestamp","type":"uint256"},{"internalType":"uint256","name":"lastConsensusTimestamp","type":"uint256"}],"internalType":"struct ReportData","name":"report","type":"tuple"},{"internalType":"uint256","name":"attestationTimestamp","type":"uint256"}],"internalType":"struct OracleAttestationData","name":"_attestData","type":"tuple"},{"components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"uint256","name":"power","type":"uint256"}],"internalType":"struct Validator[]","name":"_currentValidatorSet","type":"tuple[]"},{"components":[{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"internalType":"struct Signature[]","name":"_sigs","type":"tuple[]"}],"name":"verifyOracleData","outputs":[],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"guardian()":"452a9320","powerThreshold()":"ba95ec27","unbondingPeriod()":"6cf6d675","validatorTimestamp()":"4f76f1ee","verifyOracleData((bytes32,(bytes,uint256,uint256,uint256,uint256,uint256),uint256),(address,uint256)[],(uint8,bytes32,bytes32)[])":"5e0d3b0f"}},"metadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"guardian\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"powerThreshold\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"unbondingPeriod\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"validatorTimestamp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"queryId\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"aggregatePower\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"previousTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"nextTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"lastConsensusTimestamp\",\"type\":\"uint256\"}],\"internalType\":\"struct ReportData\",\"name\":\"report\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"attestationTimestamp\",\"type\":\"uint256\"}],\"internalType\":\"struct OracleAttestationData\",\"name\":\"_attestData\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"power\",\"type\":\"uint256\"}],\"internalType\":\"struct Validator[]\",\"name\":\"_currentValidatorSet\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"internalType\":\"struct Signature[]\",\"name\":\"_sigs\",\"type\":\"tuple[]\"}],\"name\":\"verifyOracleData\",\"outputs\":[],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/interfaces/ITellorDataBridge.sol\":\"ITellorDataBridge\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/interfaces/ITellorDataBridge.sol\":{\"keccak256\":\"0xe63280ed178d0751b9eba8be5c98a7c1587fcf728c8c2cb2f9d261fc4a650d0f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2a16c3e825c0ad4eb206765656249fb21f3fbe23eb6ad64dac036eb084f215d9\",\"dweb:/ipfs/QmV3de6xCgd864FEhjbiPyTUNhYgB4hPAvwEu8koYoZHwG\"]}},\"version\":1}"}}}}} \ No newline at end of file diff --git a/artifacts/build-info/ebdb99267cd32cea6219218999245ca2.json b/artifacts/build-info/ebdb99267cd32cea6219218999245ca2.json deleted file mode 100644 index 8c65395..0000000 --- a/artifacts/build-info/ebdb99267cd32cea6219218999245ca2.json +++ /dev/null @@ -1 +0,0 @@ -{"id":"ebdb99267cd32cea6219218999245ca2","_format":"hh-sol-build-info-1","solcVersion":"0.8.19","solcLongVersion":"0.8.19+commit.7dd6d404","input":{"language":"Solidity","sources":{"contracts/interfaces/IDataBankPlayground.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity 0.8.19;\n\n/**\n * @title IDataBankPlayground\n * @notice Interface for DataBankPlayground testing contract\n * @dev This interface is for testing purposes only. Not for production use.\n */\ninterface IDataBankPlayground {\n struct AggregateData {\n bytes value;\n uint256 power;\n uint256 aggregateTimestamp;\n uint256 attestationTimestamp;\n uint256 relayTimestamp;\n }\n\n /**\n * @dev updates oracle data with new value for playground testing\n * @param _queryId the query ID to update the oracle data for\n * @param _value the value to update the oracle data with\n */\n function updateOracleDataPlayground(bytes32 _queryId, bytes memory _value) external;\n\n /**\n * @dev returns the current aggregate data for a given query ID\n * @param _queryId the query ID to get the current aggregate data for\n * @return _aggregateData the current aggregate data\n */\n function getCurrentAggregateData(bytes32 _queryId) external view returns (AggregateData memory _aggregateData);\n\n /**\n * @dev returns the aggregate data for a given query ID and index\n * @param _queryId the query ID to get the aggregate data for\n * @param _index the index of the aggregate data to get\n * @return _aggregateData the aggregate data\n */\n function getAggregateByIndex(bytes32 _queryId, uint256 _index) external view returns (AggregateData memory _aggregateData);\n\n /**\n * @dev returns the total number of aggregate values\n * @param _queryId the query ID to get the aggregate value count for\n * @return number of aggregate values stored\n */\n function getAggregateValueCount(bytes32 _queryId) external view returns (uint256);\n}\n\n"},"contracts/interfaces/ITellorDataBridge.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\n\nstruct OracleAttestationData {\n bytes32 queryId;\n ReportData report;\n uint256 attestationTimestamp; //timestamp of validatorSignatures on report\n}\n\nstruct ReportData {\n bytes value;\n uint256 timestamp; //timestamp of reporter signature aggregation\n uint256 aggregatePower;\n uint256 previousTimestamp;\n uint256 nextTimestamp;\n uint256 lastConsensusTimestamp;\n}\n\nstruct Signature {\n uint8 v;\n bytes32 r;\n bytes32 s;\n}\n\nstruct Validator {\n address addr;\n uint256 power;\n}\n\ninterface ITellorDataBridge {\n function guardian() external view returns (address);\n function powerThreshold() external view returns (uint256);\n function unbondingPeriod() external view returns (uint256);\n function validatorTimestamp() external view returns (uint256);\n function verifyOracleData(\n OracleAttestationData calldata _attestData,\n Validator[] calldata _currentValidatorSet,\n Signature[] calldata _sigs\n ) external view;\n}"},"contracts/testing/DataBankPlayground.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity 0.8.19;\n\nimport \"../interfaces/ITellorDataBridge.sol\";\n\n/**\n * @author Tellor Inc.\n * @title DataBankPlayground\n * @notice Testing contract for rapid prototyping with Tellor oracle data\n * @dev This contract is used to store data for multiple data feeds. It has no data bridge validation,\n * and is used for testing simple tellor integrations. This contract skips data verification and is \n * NOT for production use. For production contracts, use TellorDataBridge verification.\n * See SampleLayerUser repo for usage examples: https://github.com/tellor-io/SampleLayerUser\n */\ncontract DataBankPlayground {\n // Storage\n mapping(bytes32 => AggregateData[]) public data; // queryId -> aggregate data array\n\n struct AggregateData {\n bytes value; // the value of the asset\n uint256 power; // the aggregate power of the reporters\n uint256 aggregateTimestamp; // the timestamp of the aggregate\n uint256 attestationTimestamp; // the timestamp of the attestation\n uint256 relayTimestamp; // the timestamp of the relay\n }\n\n // Events\n event OracleUpdated(bytes32 indexed queryId, OracleAttestationData attestData);\n\n // Functions\n /**\n * @dev updates oracle data with new attestation data after verification\n * @param _attestData the oracle attestation data to be stored\n * note: _currentValidatorSet array of current validators (unused for testing)\n * note: _sigs array of validator signatures (unused for testing)\n */\n function updateOracleData(\n OracleAttestationData calldata _attestData,\n Validator[] calldata /* _currentValidatorSet */,\n Signature[] calldata /* _sigs */\n ) public {\n // Skips verification for testing purposes\n // dataBridge.verifyOracleData(_attestData, _currentValidatorSet, _sigs);\n\n data[_attestData.queryId].push(AggregateData(\n _attestData.report.value, \n _attestData.report.aggregatePower, \n _attestData.report.timestamp,\n _attestData.attestationTimestamp, \n block.timestamp\n ));\n emit OracleUpdated(_attestData.queryId, _attestData);\n }\n\n /**\n * @dev updates oracle data with new attestation data for playground\n * without needing to format data structs\n * @param _queryId the query ID to update the oracle data for\n * @param _value the value to update the oracle data with\n */\n function updateOracleDataPlayground(bytes32 _queryId, bytes memory _value) external {\n // aggregate timestamp from tellor is in milliseconds\n uint256 _aggregateTimestamp = (block.timestamp - 1) * 1000;\n data[_queryId].push(AggregateData(_value, 0, _aggregateTimestamp, _aggregateTimestamp, block.timestamp));\n }\n\n // Getter functions\n /**\n * @dev returns the aggregate data for a given query ID and index\n * @param _queryId the query ID to get the aggregate data for\n * @param _index the index of the aggregate data to get\n * @return _aggregateData the aggregate data\n */\n function getAggregateByIndex(bytes32 _queryId, uint256 _index) external view returns (AggregateData memory _aggregateData) {\n return data[_queryId][_index];\n }\n\n /**\n * @dev returns the total number of aggregate values\n * @param _queryId the query ID to get the aggregate value count for\n * @return number of aggregate values stored\n */\n function getAggregateValueCount(bytes32 _queryId) external view returns (uint256) {\n return data[_queryId].length;\n }\n\n /**\n * @dev returns the current aggregate data for a given query ID\n * @param _queryId the query ID to get the current aggregate data for\n * @return _aggregateData the current aggregate data\n */\n function getCurrentAggregateData(bytes32 _queryId) external view returns (AggregateData memory _aggregateData) {\n return _getCurrentAggregateData(_queryId);\n }\n\n // Internal functions\n /**\n * @dev internal function to get the current aggregate data for a query ID\n * @param _queryId the query ID to get the current aggregate data for\n * @return _aggregateData the current aggregate data\n */\n function _getCurrentAggregateData(bytes32 _queryId) internal view returns (AggregateData memory _aggregateData) {\n if (data[_queryId].length == 0) {\n return (AggregateData(bytes(\"\"), 0, 0, 0, 0));\n }\n _aggregateData = data[_queryId][data[_queryId].length - 1];\n return _aggregateData;\n }\n}\n\n"}},"settings":{"optimizer":{"enabled":false,"runs":200},"outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode","evm.methodIdentifiers","metadata"],"":["ast"]}}}},"output":{"sources":{"contracts/interfaces/IDataBankPlayground.sol":{"ast":{"absolutePath":"contracts/interfaces/IDataBankPlayground.sol","exportedSymbols":{"IDataBankPlayground":[50]},"id":51,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":1,"literals":["solidity","0.8",".19"],"nodeType":"PragmaDirective","src":"32:23:0"},{"abstract":false,"baseContracts":[],"canonicalName":"IDataBankPlayground","contractDependencies":[],"contractKind":"interface","documentation":{"id":2,"nodeType":"StructuredDocumentation","src":"57:175:0","text":" @title IDataBankPlayground\n @notice Interface for DataBankPlayground testing contract\n @dev This interface is for testing purposes only. Not for production use."},"fullyImplemented":false,"id":50,"linearizedBaseContracts":[50],"name":"IDataBankPlayground","nameLocation":"243:19:0","nodeType":"ContractDefinition","nodes":[{"canonicalName":"IDataBankPlayground.AggregateData","id":13,"members":[{"constant":false,"id":4,"mutability":"mutable","name":"value","nameLocation":"306:5:0","nodeType":"VariableDeclaration","scope":13,"src":"300:11:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":3,"name":"bytes","nodeType":"ElementaryTypeName","src":"300:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":6,"mutability":"mutable","name":"power","nameLocation":"329:5:0","nodeType":"VariableDeclaration","scope":13,"src":"321:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5,"name":"uint256","nodeType":"ElementaryTypeName","src":"321:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8,"mutability":"mutable","name":"aggregateTimestamp","nameLocation":"352:18:0","nodeType":"VariableDeclaration","scope":13,"src":"344:26:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7,"name":"uint256","nodeType":"ElementaryTypeName","src":"344:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":10,"mutability":"mutable","name":"attestationTimestamp","nameLocation":"388:20:0","nodeType":"VariableDeclaration","scope":13,"src":"380:28:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9,"name":"uint256","nodeType":"ElementaryTypeName","src":"380:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":12,"mutability":"mutable","name":"relayTimestamp","nameLocation":"426:14:0","nodeType":"VariableDeclaration","scope":13,"src":"418:22:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11,"name":"uint256","nodeType":"ElementaryTypeName","src":"418:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"AggregateData","nameLocation":"276:13:0","nodeType":"StructDefinition","scope":50,"src":"269:178:0","visibility":"public"},{"documentation":{"id":14,"nodeType":"StructuredDocumentation","src":"453:209:0","text":" @dev updates oracle data with new value for playground testing\n @param _queryId the query ID to update the oracle data for\n @param _value the value to update the oracle data with"},"functionSelector":"f237640a","id":21,"implemented":false,"kind":"function","modifiers":[],"name":"updateOracleDataPlayground","nameLocation":"676:26:0","nodeType":"FunctionDefinition","parameters":{"id":19,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16,"mutability":"mutable","name":"_queryId","nameLocation":"711:8:0","nodeType":"VariableDeclaration","scope":21,"src":"703:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":15,"name":"bytes32","nodeType":"ElementaryTypeName","src":"703:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":18,"mutability":"mutable","name":"_value","nameLocation":"734:6:0","nodeType":"VariableDeclaration","scope":21,"src":"721:19:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":17,"name":"bytes","nodeType":"ElementaryTypeName","src":"721:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"702:39:0"},"returnParameters":{"id":20,"nodeType":"ParameterList","parameters":[],"src":"750:0:0"},"scope":50,"src":"667:84:0","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":22,"nodeType":"StructuredDocumentation","src":"757:210:0","text":" @dev returns the current aggregate data for a given query ID\n @param _queryId the query ID to get the current aggregate data for\n @return _aggregateData the current aggregate data"},"functionSelector":"cb956711","id":30,"implemented":false,"kind":"function","modifiers":[],"name":"getCurrentAggregateData","nameLocation":"981:23:0","nodeType":"FunctionDefinition","parameters":{"id":25,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24,"mutability":"mutable","name":"_queryId","nameLocation":"1013:8:0","nodeType":"VariableDeclaration","scope":30,"src":"1005:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":23,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1005:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1004:18:0"},"returnParameters":{"id":29,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28,"mutability":"mutable","name":"_aggregateData","nameLocation":"1067:14:0","nodeType":"VariableDeclaration","scope":30,"src":"1046:35:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_AggregateData_$13_memory_ptr","typeString":"struct IDataBankPlayground.AggregateData"},"typeName":{"id":27,"nodeType":"UserDefinedTypeName","pathNode":{"id":26,"name":"AggregateData","nameLocations":["1046:13:0"],"nodeType":"IdentifierPath","referencedDeclaration":13,"src":"1046:13:0"},"referencedDeclaration":13,"src":"1046:13:0","typeDescriptions":{"typeIdentifier":"t_struct$_AggregateData_$13_storage_ptr","typeString":"struct IDataBankPlayground.AggregateData"}},"visibility":"internal"}],"src":"1045:37:0"},"scope":50,"src":"972:111:0","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":31,"nodeType":"StructuredDocumentation","src":"1089:256:0","text":" @dev returns the aggregate data for a given query ID and index\n @param _queryId the query ID to get the aggregate data for\n @param _index the index of the aggregate data to get\n @return _aggregateData the aggregate data"},"functionSelector":"717681c6","id":41,"implemented":false,"kind":"function","modifiers":[],"name":"getAggregateByIndex","nameLocation":"1359:19:0","nodeType":"FunctionDefinition","parameters":{"id":36,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33,"mutability":"mutable","name":"_queryId","nameLocation":"1387:8:0","nodeType":"VariableDeclaration","scope":41,"src":"1379:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1379:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":35,"mutability":"mutable","name":"_index","nameLocation":"1405:6:0","nodeType":"VariableDeclaration","scope":41,"src":"1397:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34,"name":"uint256","nodeType":"ElementaryTypeName","src":"1397:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1378:34:0"},"returnParameters":{"id":40,"nodeType":"ParameterList","parameters":[{"constant":false,"id":39,"mutability":"mutable","name":"_aggregateData","nameLocation":"1457:14:0","nodeType":"VariableDeclaration","scope":41,"src":"1436:35:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_AggregateData_$13_memory_ptr","typeString":"struct IDataBankPlayground.AggregateData"},"typeName":{"id":38,"nodeType":"UserDefinedTypeName","pathNode":{"id":37,"name":"AggregateData","nameLocations":["1436:13:0"],"nodeType":"IdentifierPath","referencedDeclaration":13,"src":"1436:13:0"},"referencedDeclaration":13,"src":"1436:13:0","typeDescriptions":{"typeIdentifier":"t_struct$_AggregateData_$13_storage_ptr","typeString":"struct IDataBankPlayground.AggregateData"}},"visibility":"internal"}],"src":"1435:37:0"},"scope":50,"src":"1350:123:0","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":42,"nodeType":"StructuredDocumentation","src":"1479:190:0","text":" @dev returns the total number of aggregate values\n @param _queryId the query ID to get the aggregate value count for\n @return number of aggregate values stored"},"functionSelector":"e3ac7e11","id":49,"implemented":false,"kind":"function","modifiers":[],"name":"getAggregateValueCount","nameLocation":"1683:22:0","nodeType":"FunctionDefinition","parameters":{"id":45,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44,"mutability":"mutable","name":"_queryId","nameLocation":"1714:8:0","nodeType":"VariableDeclaration","scope":49,"src":"1706:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1706:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1705:18:0"},"returnParameters":{"id":48,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":49,"src":"1747:7:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46,"name":"uint256","nodeType":"ElementaryTypeName","src":"1747:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1746:9:0"},"scope":50,"src":"1674:82:0","stateMutability":"view","virtual":false,"visibility":"external"}],"scope":51,"src":"233:1525:0","usedErrors":[]}],"src":"32:1728:0"},"id":0},"contracts/interfaces/ITellorDataBridge.sol":{"ast":{"absolutePath":"contracts/interfaces/ITellorDataBridge.sol","exportedSymbols":{"ITellorDataBridge":[120],"OracleAttestationData":[60],"ReportData":[73],"Signature":[80],"Validator":[85]},"id":121,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":52,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"32:23:1"},{"canonicalName":"OracleAttestationData","id":60,"members":[{"constant":false,"id":54,"mutability":"mutable","name":"queryId","nameLocation":"100:7:1","nodeType":"VariableDeclaration","scope":60,"src":"92:15:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":53,"name":"bytes32","nodeType":"ElementaryTypeName","src":"92:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":57,"mutability":"mutable","name":"report","nameLocation":"124:6:1","nodeType":"VariableDeclaration","scope":60,"src":"113:17:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_ReportData_$73_storage_ptr","typeString":"struct ReportData"},"typeName":{"id":56,"nodeType":"UserDefinedTypeName","pathNode":{"id":55,"name":"ReportData","nameLocations":["113:10:1"],"nodeType":"IdentifierPath","referencedDeclaration":73,"src":"113:10:1"},"referencedDeclaration":73,"src":"113:10:1","typeDescriptions":{"typeIdentifier":"t_struct$_ReportData_$73_storage_ptr","typeString":"struct ReportData"}},"visibility":"internal"},{"constant":false,"id":59,"mutability":"mutable","name":"attestationTimestamp","nameLocation":"144:20:1","nodeType":"VariableDeclaration","scope":60,"src":"136:28:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58,"name":"uint256","nodeType":"ElementaryTypeName","src":"136:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"OracleAttestationData","nameLocation":"64:21:1","nodeType":"StructDefinition","scope":121,"src":"57:155:1","visibility":"public"},{"canonicalName":"ReportData","id":73,"members":[{"constant":false,"id":62,"mutability":"mutable","name":"value","nameLocation":"244:5:1","nodeType":"VariableDeclaration","scope":73,"src":"238:11:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":61,"name":"bytes","nodeType":"ElementaryTypeName","src":"238:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":64,"mutability":"mutable","name":"timestamp","nameLocation":"263:9:1","nodeType":"VariableDeclaration","scope":73,"src":"255:17:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63,"name":"uint256","nodeType":"ElementaryTypeName","src":"255:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66,"mutability":"mutable","name":"aggregatePower","nameLocation":"332:14:1","nodeType":"VariableDeclaration","scope":73,"src":"324:22:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65,"name":"uint256","nodeType":"ElementaryTypeName","src":"324:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68,"mutability":"mutable","name":"previousTimestamp","nameLocation":"360:17:1","nodeType":"VariableDeclaration","scope":73,"src":"352:25:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67,"name":"uint256","nodeType":"ElementaryTypeName","src":"352:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":70,"mutability":"mutable","name":"nextTimestamp","nameLocation":"391:13:1","nodeType":"VariableDeclaration","scope":73,"src":"383:21:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69,"name":"uint256","nodeType":"ElementaryTypeName","src":"383:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72,"mutability":"mutable","name":"lastConsensusTimestamp","nameLocation":"418:22:1","nodeType":"VariableDeclaration","scope":73,"src":"410:30:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71,"name":"uint256","nodeType":"ElementaryTypeName","src":"410:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"ReportData","nameLocation":"221:10:1","nodeType":"StructDefinition","scope":121,"src":"214:229:1","visibility":"public"},{"canonicalName":"Signature","id":80,"members":[{"constant":false,"id":75,"mutability":"mutable","name":"v","nameLocation":"474:1:1","nodeType":"VariableDeclaration","scope":80,"src":"468:7:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":74,"name":"uint8","nodeType":"ElementaryTypeName","src":"468:5:1","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":77,"mutability":"mutable","name":"r","nameLocation":"489:1:1","nodeType":"VariableDeclaration","scope":80,"src":"481:9:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":76,"name":"bytes32","nodeType":"ElementaryTypeName","src":"481:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":79,"mutability":"mutable","name":"s","nameLocation":"504:1:1","nodeType":"VariableDeclaration","scope":80,"src":"496:9:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":78,"name":"bytes32","nodeType":"ElementaryTypeName","src":"496:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"name":"Signature","nameLocation":"452:9:1","nodeType":"StructDefinition","scope":121,"src":"445:63:1","visibility":"public"},{"canonicalName":"Validator","id":85,"members":[{"constant":false,"id":82,"mutability":"mutable","name":"addr","nameLocation":"541:4:1","nodeType":"VariableDeclaration","scope":85,"src":"533:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":81,"name":"address","nodeType":"ElementaryTypeName","src":"533:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":84,"mutability":"mutable","name":"power","nameLocation":"559:5:1","nodeType":"VariableDeclaration","scope":85,"src":"551:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":83,"name":"uint256","nodeType":"ElementaryTypeName","src":"551:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"Validator","nameLocation":"517:9:1","nodeType":"StructDefinition","scope":121,"src":"510:57:1","visibility":"public"},{"abstract":false,"baseContracts":[],"canonicalName":"ITellorDataBridge","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"id":120,"linearizedBaseContracts":[120],"name":"ITellorDataBridge","nameLocation":"579:17:1","nodeType":"ContractDefinition","nodes":[{"functionSelector":"452a9320","id":90,"implemented":false,"kind":"function","modifiers":[],"name":"guardian","nameLocation":"612:8:1","nodeType":"FunctionDefinition","parameters":{"id":86,"nodeType":"ParameterList","parameters":[],"src":"620:2:1"},"returnParameters":{"id":89,"nodeType":"ParameterList","parameters":[{"constant":false,"id":88,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":90,"src":"646:7:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":87,"name":"address","nodeType":"ElementaryTypeName","src":"646:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"645:9:1"},"scope":120,"src":"603:52:1","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"ba95ec27","id":95,"implemented":false,"kind":"function","modifiers":[],"name":"powerThreshold","nameLocation":"669:14:1","nodeType":"FunctionDefinition","parameters":{"id":91,"nodeType":"ParameterList","parameters":[],"src":"683:2:1"},"returnParameters":{"id":94,"nodeType":"ParameterList","parameters":[{"constant":false,"id":93,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":95,"src":"709:7:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":92,"name":"uint256","nodeType":"ElementaryTypeName","src":"709:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"708:9:1"},"scope":120,"src":"660:58:1","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"6cf6d675","id":100,"implemented":false,"kind":"function","modifiers":[],"name":"unbondingPeriod","nameLocation":"732:15:1","nodeType":"FunctionDefinition","parameters":{"id":96,"nodeType":"ParameterList","parameters":[],"src":"747:2:1"},"returnParameters":{"id":99,"nodeType":"ParameterList","parameters":[{"constant":false,"id":98,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":100,"src":"773:7:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":97,"name":"uint256","nodeType":"ElementaryTypeName","src":"773:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"772:9:1"},"scope":120,"src":"723:59:1","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"4f76f1ee","id":105,"implemented":false,"kind":"function","modifiers":[],"name":"validatorTimestamp","nameLocation":"796:18:1","nodeType":"FunctionDefinition","parameters":{"id":101,"nodeType":"ParameterList","parameters":[],"src":"814:2:1"},"returnParameters":{"id":104,"nodeType":"ParameterList","parameters":[{"constant":false,"id":103,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":105,"src":"840:7:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":102,"name":"uint256","nodeType":"ElementaryTypeName","src":"840:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"839:9:1"},"scope":120,"src":"787:62:1","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"5e0d3b0f","id":119,"implemented":false,"kind":"function","modifiers":[],"name":"verifyOracleData","nameLocation":"863:16:1","nodeType":"FunctionDefinition","parameters":{"id":117,"nodeType":"ParameterList","parameters":[{"constant":false,"id":108,"mutability":"mutable","name":"_attestData","nameLocation":"920:11:1","nodeType":"VariableDeclaration","scope":119,"src":"889:42:1","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_struct$_OracleAttestationData_$60_calldata_ptr","typeString":"struct OracleAttestationData"},"typeName":{"id":107,"nodeType":"UserDefinedTypeName","pathNode":{"id":106,"name":"OracleAttestationData","nameLocations":["889:21:1"],"nodeType":"IdentifierPath","referencedDeclaration":60,"src":"889:21:1"},"referencedDeclaration":60,"src":"889:21:1","typeDescriptions":{"typeIdentifier":"t_struct$_OracleAttestationData_$60_storage_ptr","typeString":"struct OracleAttestationData"}},"visibility":"internal"},{"constant":false,"id":112,"mutability":"mutable","name":"_currentValidatorSet","nameLocation":"962:20:1","nodeType":"VariableDeclaration","scope":119,"src":"941:41:1","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Validator_$85_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Validator[]"},"typeName":{"baseType":{"id":110,"nodeType":"UserDefinedTypeName","pathNode":{"id":109,"name":"Validator","nameLocations":["941:9:1"],"nodeType":"IdentifierPath","referencedDeclaration":85,"src":"941:9:1"},"referencedDeclaration":85,"src":"941:9:1","typeDescriptions":{"typeIdentifier":"t_struct$_Validator_$85_storage_ptr","typeString":"struct Validator"}},"id":111,"nodeType":"ArrayTypeName","src":"941:11:1","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Validator_$85_storage_$dyn_storage_ptr","typeString":"struct Validator[]"}},"visibility":"internal"},{"constant":false,"id":116,"mutability":"mutable","name":"_sigs","nameLocation":"1013:5:1","nodeType":"VariableDeclaration","scope":119,"src":"992:26:1","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Signature_$80_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Signature[]"},"typeName":{"baseType":{"id":114,"nodeType":"UserDefinedTypeName","pathNode":{"id":113,"name":"Signature","nameLocations":["992:9:1"],"nodeType":"IdentifierPath","referencedDeclaration":80,"src":"992:9:1"},"referencedDeclaration":80,"src":"992:9:1","typeDescriptions":{"typeIdentifier":"t_struct$_Signature_$80_storage_ptr","typeString":"struct Signature"}},"id":115,"nodeType":"ArrayTypeName","src":"992:11:1","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Signature_$80_storage_$dyn_storage_ptr","typeString":"struct Signature[]"}},"visibility":"internal"}],"src":"879:145:1"},"returnParameters":{"id":118,"nodeType":"ParameterList","parameters":[],"src":"1038:0:1"},"scope":120,"src":"854:185:1","stateMutability":"view","virtual":false,"visibility":"external"}],"scope":121,"src":"569:472:1","usedErrors":[]}],"src":"32:1009:1"},"id":1},"contracts/testing/DataBankPlayground.sol":{"ast":{"absolutePath":"contracts/testing/DataBankPlayground.sol","exportedSymbols":{"DataBankPlayground":[317],"ITellorDataBridge":[120],"OracleAttestationData":[60],"ReportData":[73],"Signature":[80],"Validator":[85]},"id":318,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":122,"literals":["solidity","0.8",".19"],"nodeType":"PragmaDirective","src":"32:23:2"},{"absolutePath":"contracts/interfaces/ITellorDataBridge.sol","file":"../interfaces/ITellorDataBridge.sol","id":123,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":318,"sourceUnit":121,"src":"57:45:2","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[],"canonicalName":"DataBankPlayground","contractDependencies":[],"contractKind":"contract","documentation":{"id":124,"nodeType":"StructuredDocumentation","src":"104:533:2","text":" @author Tellor Inc.\n @title DataBankPlayground\n @notice Testing contract for rapid prototyping with Tellor oracle data\n @dev This contract is used to store data for multiple data feeds. It has no data bridge validation,\n and is used for testing simple tellor integrations. This contract skips data verification and is \n NOT for production use. For production contracts, use TellorDataBridge verification.\n See SampleLayerUser repo for usage examples: https://github.com/tellor-io/SampleLayerUser"},"fullyImplemented":true,"id":317,"linearizedBaseContracts":[317],"name":"DataBankPlayground","nameLocation":"647:18:2","nodeType":"ContractDefinition","nodes":[{"constant":false,"functionSelector":"8d12c426","id":130,"mutability":"mutable","name":"data","nameLocation":"730:4:2","nodeType":"VariableDeclaration","scope":317,"src":"687:47:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_array$_t_struct$_AggregateData_$141_storage_$dyn_storage_$","typeString":"mapping(bytes32 => struct DataBankPlayground.AggregateData[])"},"typeName":{"id":129,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":125,"name":"bytes32","nodeType":"ElementaryTypeName","src":"695:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Mapping","src":"687:35:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_array$_t_struct$_AggregateData_$141_storage_$dyn_storage_$","typeString":"mapping(bytes32 => struct DataBankPlayground.AggregateData[])"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"baseType":{"id":127,"nodeType":"UserDefinedTypeName","pathNode":{"id":126,"name":"AggregateData","nameLocations":["706:13:2"],"nodeType":"IdentifierPath","referencedDeclaration":141,"src":"706:13:2"},"referencedDeclaration":141,"src":"706:13:2","typeDescriptions":{"typeIdentifier":"t_struct$_AggregateData_$141_storage_ptr","typeString":"struct DataBankPlayground.AggregateData"}},"id":128,"nodeType":"ArrayTypeName","src":"706:15:2","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AggregateData_$141_storage_$dyn_storage_ptr","typeString":"struct DataBankPlayground.AggregateData[]"}}},"visibility":"public"},{"canonicalName":"DataBankPlayground.AggregateData","id":141,"members":[{"constant":false,"id":132,"mutability":"mutable","name":"value","nameLocation":"813:5:2","nodeType":"VariableDeclaration","scope":141,"src":"807:11:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":131,"name":"bytes","nodeType":"ElementaryTypeName","src":"807:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":134,"mutability":"mutable","name":"power","nameLocation":"862:5:2","nodeType":"VariableDeclaration","scope":141,"src":"854:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":133,"name":"uint256","nodeType":"ElementaryTypeName","src":"854:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":136,"mutability":"mutable","name":"aggregateTimestamp","nameLocation":"925:18:2","nodeType":"VariableDeclaration","scope":141,"src":"917:26:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":135,"name":"uint256","nodeType":"ElementaryTypeName","src":"917:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":138,"mutability":"mutable","name":"attestationTimestamp","nameLocation":"995:20:2","nodeType":"VariableDeclaration","scope":141,"src":"987:28:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":137,"name":"uint256","nodeType":"ElementaryTypeName","src":"987:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":140,"mutability":"mutable","name":"relayTimestamp","nameLocation":"1069:14:2","nodeType":"VariableDeclaration","scope":141,"src":"1061:22:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":139,"name":"uint256","nodeType":"ElementaryTypeName","src":"1061:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"AggregateData","nameLocation":"783:13:2","nodeType":"StructDefinition","scope":317,"src":"776:344:2","visibility":"public"},{"anonymous":false,"eventSelector":"32569c122e0d7a43079203df1373675696c8ccd8ca67de60dc2238b6bb226214","id":148,"name":"OracleUpdated","nameLocation":"1146:13:2","nodeType":"EventDefinition","parameters":{"id":147,"nodeType":"ParameterList","parameters":[{"constant":false,"id":143,"indexed":true,"mutability":"mutable","name":"queryId","nameLocation":"1176:7:2","nodeType":"VariableDeclaration","scope":148,"src":"1160:23:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":142,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1160:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":146,"indexed":false,"mutability":"mutable","name":"attestData","nameLocation":"1207:10:2","nodeType":"VariableDeclaration","scope":148,"src":"1185:32:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_OracleAttestationData_$60_memory_ptr","typeString":"struct OracleAttestationData"},"typeName":{"id":145,"nodeType":"UserDefinedTypeName","pathNode":{"id":144,"name":"OracleAttestationData","nameLocations":["1185:21:2"],"nodeType":"IdentifierPath","referencedDeclaration":60,"src":"1185:21:2"},"referencedDeclaration":60,"src":"1185:21:2","typeDescriptions":{"typeIdentifier":"t_struct$_OracleAttestationData_$60_storage_ptr","typeString":"struct OracleAttestationData"}},"visibility":"internal"}],"src":"1159:59:2"},"src":"1140:79:2"},{"body":{"id":191,"nodeType":"Block","src":"1745:473:2","statements":[{"expression":{"arguments":[{"arguments":[{"expression":{"expression":{"id":169,"name":"_attestData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":152,"src":"1947:11:2","typeDescriptions":{"typeIdentifier":"t_struct$_OracleAttestationData_$60_calldata_ptr","typeString":"struct OracleAttestationData calldata"}},"id":170,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1959:6:2","memberName":"report","nodeType":"MemberAccess","referencedDeclaration":57,"src":"1947:18:2","typeDescriptions":{"typeIdentifier":"t_struct$_ReportData_$73_calldata_ptr","typeString":"struct ReportData calldata"}},"id":171,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1966:5:2","memberName":"value","nodeType":"MemberAccess","referencedDeclaration":62,"src":"1947:24:2","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},{"expression":{"expression":{"id":172,"name":"_attestData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":152,"src":"1986:11:2","typeDescriptions":{"typeIdentifier":"t_struct$_OracleAttestationData_$60_calldata_ptr","typeString":"struct OracleAttestationData calldata"}},"id":173,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1998:6:2","memberName":"report","nodeType":"MemberAccess","referencedDeclaration":57,"src":"1986:18:2","typeDescriptions":{"typeIdentifier":"t_struct$_ReportData_$73_calldata_ptr","typeString":"struct ReportData calldata"}},"id":174,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2005:14:2","memberName":"aggregatePower","nodeType":"MemberAccess","referencedDeclaration":66,"src":"1986:33:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"expression":{"id":175,"name":"_attestData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":152,"src":"2034:11:2","typeDescriptions":{"typeIdentifier":"t_struct$_OracleAttestationData_$60_calldata_ptr","typeString":"struct OracleAttestationData calldata"}},"id":176,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2046:6:2","memberName":"report","nodeType":"MemberAccess","referencedDeclaration":57,"src":"2034:18:2","typeDescriptions":{"typeIdentifier":"t_struct$_ReportData_$73_calldata_ptr","typeString":"struct ReportData calldata"}},"id":177,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2053:9:2","memberName":"timestamp","nodeType":"MemberAccess","referencedDeclaration":64,"src":"2034:28:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":178,"name":"_attestData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":152,"src":"2076:11:2","typeDescriptions":{"typeIdentifier":"t_struct$_OracleAttestationData_$60_calldata_ptr","typeString":"struct OracleAttestationData calldata"}},"id":179,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2088:20:2","memberName":"attestationTimestamp","nodeType":"MemberAccess","referencedDeclaration":59,"src":"2076:32:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":180,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"2123:5:2","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":181,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2129:9:2","memberName":"timestamp","nodeType":"MemberAccess","src":"2123:15:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":168,"name":"AggregateData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":141,"src":"1920:13:2","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_AggregateData_$141_storage_ptr_$","typeString":"type(struct DataBankPlayground.AggregateData storage pointer)"}},"id":182,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1920:228:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_AggregateData_$141_memory_ptr","typeString":"struct DataBankPlayground.AggregateData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_AggregateData_$141_memory_ptr","typeString":"struct DataBankPlayground.AggregateData memory"}],"expression":{"baseExpression":{"id":163,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":130,"src":"1889:4:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_array$_t_struct$_AggregateData_$141_storage_$dyn_storage_$","typeString":"mapping(bytes32 => struct DataBankPlayground.AggregateData storage ref[] storage ref)"}},"id":166,"indexExpression":{"expression":{"id":164,"name":"_attestData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":152,"src":"1894:11:2","typeDescriptions":{"typeIdentifier":"t_struct$_OracleAttestationData_$60_calldata_ptr","typeString":"struct OracleAttestationData calldata"}},"id":165,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1906:7:2","memberName":"queryId","nodeType":"MemberAccess","referencedDeclaration":54,"src":"1894:19:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1889:25:2","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AggregateData_$141_storage_$dyn_storage","typeString":"struct DataBankPlayground.AggregateData storage ref[] storage ref"}},"id":167,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1915:4:2","memberName":"push","nodeType":"MemberAccess","src":"1889:30:2","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_struct$_AggregateData_$141_storage_$dyn_storage_ptr_$_t_struct$_AggregateData_$141_storage_$returns$__$attached_to$_t_array$_t_struct$_AggregateData_$141_storage_$dyn_storage_ptr_$","typeString":"function (struct DataBankPlayground.AggregateData storage ref[] storage pointer,struct DataBankPlayground.AggregateData storage ref)"}},"id":183,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1889:260:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":184,"nodeType":"ExpressionStatement","src":"1889:260:2"},{"eventCall":{"arguments":[{"expression":{"id":186,"name":"_attestData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":152,"src":"2178:11:2","typeDescriptions":{"typeIdentifier":"t_struct$_OracleAttestationData_$60_calldata_ptr","typeString":"struct OracleAttestationData calldata"}},"id":187,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2190:7:2","memberName":"queryId","nodeType":"MemberAccess","referencedDeclaration":54,"src":"2178:19:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":188,"name":"_attestData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":152,"src":"2199:11:2","typeDescriptions":{"typeIdentifier":"t_struct$_OracleAttestationData_$60_calldata_ptr","typeString":"struct OracleAttestationData calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_struct$_OracleAttestationData_$60_calldata_ptr","typeString":"struct OracleAttestationData calldata"}],"id":185,"name":"OracleUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":148,"src":"2164:13:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_struct$_OracleAttestationData_$60_memory_ptr_$returns$__$","typeString":"function (bytes32,struct OracleAttestationData memory)"}},"id":189,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2164:47:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":190,"nodeType":"EmitStatement","src":"2159:52:2"}]},"documentation":{"id":149,"nodeType":"StructuredDocumentation","src":"1242:308:2","text":" @dev updates oracle data with new attestation data after verification\n @param _attestData the oracle attestation data to be stored\n note: _currentValidatorSet array of current validators (unused for testing)\n note: _sigs array of validator signatures (unused for testing)"},"functionSelector":"61808010","id":192,"implemented":true,"kind":"function","modifiers":[],"name":"updateOracleData","nameLocation":"1564:16:2","nodeType":"FunctionDefinition","parameters":{"id":161,"nodeType":"ParameterList","parameters":[{"constant":false,"id":152,"mutability":"mutable","name":"_attestData","nameLocation":"1621:11:2","nodeType":"VariableDeclaration","scope":192,"src":"1590:42:2","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_struct$_OracleAttestationData_$60_calldata_ptr","typeString":"struct OracleAttestationData"},"typeName":{"id":151,"nodeType":"UserDefinedTypeName","pathNode":{"id":150,"name":"OracleAttestationData","nameLocations":["1590:21:2"],"nodeType":"IdentifierPath","referencedDeclaration":60,"src":"1590:21:2"},"referencedDeclaration":60,"src":"1590:21:2","typeDescriptions":{"typeIdentifier":"t_struct$_OracleAttestationData_$60_storage_ptr","typeString":"struct OracleAttestationData"}},"visibility":"internal"},{"constant":false,"id":156,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":192,"src":"1642:20:2","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Validator_$85_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Validator[]"},"typeName":{"baseType":{"id":154,"nodeType":"UserDefinedTypeName","pathNode":{"id":153,"name":"Validator","nameLocations":["1642:9:2"],"nodeType":"IdentifierPath","referencedDeclaration":85,"src":"1642:9:2"},"referencedDeclaration":85,"src":"1642:9:2","typeDescriptions":{"typeIdentifier":"t_struct$_Validator_$85_storage_ptr","typeString":"struct Validator"}},"id":155,"nodeType":"ArrayTypeName","src":"1642:11:2","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Validator_$85_storage_$dyn_storage_ptr","typeString":"struct Validator[]"}},"visibility":"internal"},{"constant":false,"id":160,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":192,"src":"1699:20:2","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Signature_$80_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Signature[]"},"typeName":{"baseType":{"id":158,"nodeType":"UserDefinedTypeName","pathNode":{"id":157,"name":"Signature","nameLocations":["1699:9:2"],"nodeType":"IdentifierPath","referencedDeclaration":80,"src":"1699:9:2"},"referencedDeclaration":80,"src":"1699:9:2","typeDescriptions":{"typeIdentifier":"t_struct$_Signature_$80_storage_ptr","typeString":"struct Signature"}},"id":159,"nodeType":"ArrayTypeName","src":"1699:11:2","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Signature_$80_storage_$dyn_storage_ptr","typeString":"struct Signature[]"}},"visibility":"internal"}],"src":"1580:157:2"},"returnParameters":{"id":162,"nodeType":"ParameterList","parameters":[],"src":"1745:0:2"},"scope":317,"src":"1555:663:2","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":224,"nodeType":"Block","src":"2571:251:2","statements":[{"assignments":[201],"declarations":[{"constant":false,"id":201,"mutability":"mutable","name":"_aggregateTimestamp","nameLocation":"2651:19:2","nodeType":"VariableDeclaration","scope":224,"src":"2643:27:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":200,"name":"uint256","nodeType":"ElementaryTypeName","src":"2643:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":209,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":208,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":205,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":202,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"2674:5:2","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":203,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2680:9:2","memberName":"timestamp","nodeType":"MemberAccess","src":"2674:15:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":204,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2692:1:2","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"2674:19:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":206,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"2673:21:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"31303030","id":207,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2697:4:2","typeDescriptions":{"typeIdentifier":"t_rational_1000_by_1","typeString":"int_const 1000"},"value":"1000"},"src":"2673:28:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2643:58:2"},{"expression":{"arguments":[{"arguments":[{"id":215,"name":"_value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":197,"src":"2745:6:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"30","id":216,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2753:1:2","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":217,"name":"_aggregateTimestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":201,"src":"2756:19:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":218,"name":"_aggregateTimestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":201,"src":"2777:19:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":219,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"2798:5:2","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":220,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2804:9:2","memberName":"timestamp","nodeType":"MemberAccess","src":"2798:15:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":214,"name":"AggregateData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":141,"src":"2731:13:2","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_AggregateData_$141_storage_ptr_$","typeString":"type(struct DataBankPlayground.AggregateData storage pointer)"}},"id":221,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2731:83:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_AggregateData_$141_memory_ptr","typeString":"struct DataBankPlayground.AggregateData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_AggregateData_$141_memory_ptr","typeString":"struct DataBankPlayground.AggregateData memory"}],"expression":{"baseExpression":{"id":210,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":130,"src":"2711:4:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_array$_t_struct$_AggregateData_$141_storage_$dyn_storage_$","typeString":"mapping(bytes32 => struct DataBankPlayground.AggregateData storage ref[] storage ref)"}},"id":212,"indexExpression":{"id":211,"name":"_queryId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":195,"src":"2716:8:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2711:14:2","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AggregateData_$141_storage_$dyn_storage","typeString":"struct DataBankPlayground.AggregateData storage ref[] storage ref"}},"id":213,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2726:4:2","memberName":"push","nodeType":"MemberAccess","src":"2711:19:2","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_struct$_AggregateData_$141_storage_$dyn_storage_ptr_$_t_struct$_AggregateData_$141_storage_$returns$__$attached_to$_t_array$_t_struct$_AggregateData_$141_storage_$dyn_storage_ptr_$","typeString":"function (struct DataBankPlayground.AggregateData storage ref[] storage pointer,struct DataBankPlayground.AggregateData storage ref)"}},"id":222,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2711:104:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":223,"nodeType":"ExpressionStatement","src":"2711:104:2"}]},"documentation":{"id":193,"nodeType":"StructuredDocumentation","src":"2224:258:2","text":" @dev updates oracle data with new attestation data for playground\n without needing to format data structs\n @param _queryId the query ID to update the oracle data for\n @param _value the value to update the oracle data with"},"functionSelector":"f237640a","id":225,"implemented":true,"kind":"function","modifiers":[],"name":"updateOracleDataPlayground","nameLocation":"2496:26:2","nodeType":"FunctionDefinition","parameters":{"id":198,"nodeType":"ParameterList","parameters":[{"constant":false,"id":195,"mutability":"mutable","name":"_queryId","nameLocation":"2531:8:2","nodeType":"VariableDeclaration","scope":225,"src":"2523:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":194,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2523:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":197,"mutability":"mutable","name":"_value","nameLocation":"2554:6:2","nodeType":"VariableDeclaration","scope":225,"src":"2541:19:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":196,"name":"bytes","nodeType":"ElementaryTypeName","src":"2541:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"2522:39:2"},"returnParameters":{"id":199,"nodeType":"ParameterList","parameters":[],"src":"2571:0:2"},"scope":317,"src":"2487:335:2","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":242,"nodeType":"Block","src":"3236:46:2","statements":[{"expression":{"baseExpression":{"baseExpression":{"id":236,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":130,"src":"3253:4:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_array$_t_struct$_AggregateData_$141_storage_$dyn_storage_$","typeString":"mapping(bytes32 => struct DataBankPlayground.AggregateData storage ref[] storage ref)"}},"id":238,"indexExpression":{"id":237,"name":"_queryId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":228,"src":"3258:8:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3253:14:2","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AggregateData_$141_storage_$dyn_storage","typeString":"struct DataBankPlayground.AggregateData storage ref[] storage ref"}},"id":240,"indexExpression":{"id":239,"name":"_index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":230,"src":"3268:6:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3253:22:2","typeDescriptions":{"typeIdentifier":"t_struct$_AggregateData_$141_storage","typeString":"struct DataBankPlayground.AggregateData storage ref"}},"functionReturnParameters":235,"id":241,"nodeType":"Return","src":"3246:29:2"}]},"documentation":{"id":226,"nodeType":"StructuredDocumentation","src":"2852:256:2","text":" @dev returns the aggregate data for a given query ID and index\n @param _queryId the query ID to get the aggregate data for\n @param _index the index of the aggregate data to get\n @return _aggregateData the aggregate data"},"functionSelector":"717681c6","id":243,"implemented":true,"kind":"function","modifiers":[],"name":"getAggregateByIndex","nameLocation":"3122:19:2","nodeType":"FunctionDefinition","parameters":{"id":231,"nodeType":"ParameterList","parameters":[{"constant":false,"id":228,"mutability":"mutable","name":"_queryId","nameLocation":"3150:8:2","nodeType":"VariableDeclaration","scope":243,"src":"3142:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":227,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3142:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":230,"mutability":"mutable","name":"_index","nameLocation":"3168:6:2","nodeType":"VariableDeclaration","scope":243,"src":"3160:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":229,"name":"uint256","nodeType":"ElementaryTypeName","src":"3160:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3141:34:2"},"returnParameters":{"id":235,"nodeType":"ParameterList","parameters":[{"constant":false,"id":234,"mutability":"mutable","name":"_aggregateData","nameLocation":"3220:14:2","nodeType":"VariableDeclaration","scope":243,"src":"3199:35:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_AggregateData_$141_memory_ptr","typeString":"struct DataBankPlayground.AggregateData"},"typeName":{"id":233,"nodeType":"UserDefinedTypeName","pathNode":{"id":232,"name":"AggregateData","nameLocations":["3199:13:2"],"nodeType":"IdentifierPath","referencedDeclaration":141,"src":"3199:13:2"},"referencedDeclaration":141,"src":"3199:13:2","typeDescriptions":{"typeIdentifier":"t_struct$_AggregateData_$141_storage_ptr","typeString":"struct DataBankPlayground.AggregateData"}},"visibility":"internal"}],"src":"3198:37:2"},"scope":317,"src":"3113:169:2","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":256,"nodeType":"Block","src":"3565:45:2","statements":[{"expression":{"expression":{"baseExpression":{"id":251,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":130,"src":"3582:4:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_array$_t_struct$_AggregateData_$141_storage_$dyn_storage_$","typeString":"mapping(bytes32 => struct DataBankPlayground.AggregateData storage ref[] storage ref)"}},"id":253,"indexExpression":{"id":252,"name":"_queryId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":246,"src":"3587:8:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3582:14:2","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AggregateData_$141_storage_$dyn_storage","typeString":"struct DataBankPlayground.AggregateData storage ref[] storage ref"}},"id":254,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3597:6:2","memberName":"length","nodeType":"MemberAccess","src":"3582:21:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":250,"id":255,"nodeType":"Return","src":"3575:28:2"}]},"documentation":{"id":244,"nodeType":"StructuredDocumentation","src":"3288:190:2","text":" @dev returns the total number of aggregate values\n @param _queryId the query ID to get the aggregate value count for\n @return number of aggregate values stored"},"functionSelector":"e3ac7e11","id":257,"implemented":true,"kind":"function","modifiers":[],"name":"getAggregateValueCount","nameLocation":"3492:22:2","nodeType":"FunctionDefinition","parameters":{"id":247,"nodeType":"ParameterList","parameters":[{"constant":false,"id":246,"mutability":"mutable","name":"_queryId","nameLocation":"3523:8:2","nodeType":"VariableDeclaration","scope":257,"src":"3515:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":245,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3515:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3514:18:2"},"returnParameters":{"id":250,"nodeType":"ParameterList","parameters":[{"constant":false,"id":249,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":257,"src":"3556:7:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":248,"name":"uint256","nodeType":"ElementaryTypeName","src":"3556:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3555:9:2"},"scope":317,"src":"3483:127:2","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":270,"nodeType":"Block","src":"3942:58:2","statements":[{"expression":{"arguments":[{"id":267,"name":"_queryId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":260,"src":"3984:8:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":266,"name":"_getCurrentAggregateData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":316,"src":"3959:24:2","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$returns$_t_struct$_AggregateData_$141_memory_ptr_$","typeString":"function (bytes32) view returns (struct DataBankPlayground.AggregateData memory)"}},"id":268,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3959:34:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_AggregateData_$141_memory_ptr","typeString":"struct DataBankPlayground.AggregateData memory"}},"functionReturnParameters":265,"id":269,"nodeType":"Return","src":"3952:41:2"}]},"documentation":{"id":258,"nodeType":"StructuredDocumentation","src":"3616:210:2","text":" @dev returns the current aggregate data for a given query ID\n @param _queryId the query ID to get the current aggregate data for\n @return _aggregateData the current aggregate data"},"functionSelector":"cb956711","id":271,"implemented":true,"kind":"function","modifiers":[],"name":"getCurrentAggregateData","nameLocation":"3840:23:2","nodeType":"FunctionDefinition","parameters":{"id":261,"nodeType":"ParameterList","parameters":[{"constant":false,"id":260,"mutability":"mutable","name":"_queryId","nameLocation":"3872:8:2","nodeType":"VariableDeclaration","scope":271,"src":"3864:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":259,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3864:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3863:18:2"},"returnParameters":{"id":265,"nodeType":"ParameterList","parameters":[{"constant":false,"id":264,"mutability":"mutable","name":"_aggregateData","nameLocation":"3926:14:2","nodeType":"VariableDeclaration","scope":271,"src":"3905:35:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_AggregateData_$141_memory_ptr","typeString":"struct DataBankPlayground.AggregateData"},"typeName":{"id":263,"nodeType":"UserDefinedTypeName","pathNode":{"id":262,"name":"AggregateData","nameLocations":["3905:13:2"],"nodeType":"IdentifierPath","referencedDeclaration":141,"src":"3905:13:2"},"referencedDeclaration":141,"src":"3905:13:2","typeDescriptions":{"typeIdentifier":"t_struct$_AggregateData_$141_storage_ptr","typeString":"struct DataBankPlayground.AggregateData"}},"visibility":"internal"}],"src":"3904:37:2"},"scope":317,"src":"3831:169:2","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":315,"nodeType":"Block","src":"4370:217:2","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":285,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":280,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":130,"src":"4384:4:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_array$_t_struct$_AggregateData_$141_storage_$dyn_storage_$","typeString":"mapping(bytes32 => struct DataBankPlayground.AggregateData storage ref[] storage ref)"}},"id":282,"indexExpression":{"id":281,"name":"_queryId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":274,"src":"4389:8:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4384:14:2","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AggregateData_$141_storage_$dyn_storage","typeString":"struct DataBankPlayground.AggregateData storage ref[] storage ref"}},"id":283,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4399:6:2","memberName":"length","nodeType":"MemberAccess","src":"4384:21:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":284,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4409:1:2","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"4384:26:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":299,"nodeType":"IfStatement","src":"4380:102:2","trueBody":{"id":298,"nodeType":"Block","src":"4412:70:2","statements":[{"expression":{"components":[{"arguments":[{"arguments":[{"hexValue":"","id":289,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4454:2:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"id":288,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4448:5:2","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":287,"name":"bytes","nodeType":"ElementaryTypeName","src":"4448:5:2","typeDescriptions":{}}},"id":290,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4448:9:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"30","id":291,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4459:1:2","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":292,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4462:1:2","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":293,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4465:1:2","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":294,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4468:1:2","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":286,"name":"AggregateData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":141,"src":"4434:13:2","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_AggregateData_$141_storage_ptr_$","typeString":"type(struct DataBankPlayground.AggregateData storage pointer)"}},"id":295,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4434:36:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_AggregateData_$141_memory_ptr","typeString":"struct DataBankPlayground.AggregateData memory"}}],"id":296,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"4433:38:2","typeDescriptions":{"typeIdentifier":"t_struct$_AggregateData_$141_memory_ptr","typeString":"struct DataBankPlayground.AggregateData memory"}},"functionReturnParameters":279,"id":297,"nodeType":"Return","src":"4426:45:2"}]}},{"expression":{"id":311,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":300,"name":"_aggregateData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"4491:14:2","typeDescriptions":{"typeIdentifier":"t_struct$_AggregateData_$141_memory_ptr","typeString":"struct DataBankPlayground.AggregateData memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"baseExpression":{"id":301,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":130,"src":"4508:4:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_array$_t_struct$_AggregateData_$141_storage_$dyn_storage_$","typeString":"mapping(bytes32 => struct DataBankPlayground.AggregateData storage ref[] storage ref)"}},"id":303,"indexExpression":{"id":302,"name":"_queryId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":274,"src":"4513:8:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4508:14:2","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AggregateData_$141_storage_$dyn_storage","typeString":"struct DataBankPlayground.AggregateData storage ref[] storage ref"}},"id":310,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":309,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":304,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":130,"src":"4523:4:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_array$_t_struct$_AggregateData_$141_storage_$dyn_storage_$","typeString":"mapping(bytes32 => struct DataBankPlayground.AggregateData storage ref[] storage ref)"}},"id":306,"indexExpression":{"id":305,"name":"_queryId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":274,"src":"4528:8:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4523:14:2","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AggregateData_$141_storage_$dyn_storage","typeString":"struct DataBankPlayground.AggregateData storage ref[] storage ref"}},"id":307,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4538:6:2","memberName":"length","nodeType":"MemberAccess","src":"4523:21:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":308,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4547:1:2","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"4523:25:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4508:41:2","typeDescriptions":{"typeIdentifier":"t_struct$_AggregateData_$141_storage","typeString":"struct DataBankPlayground.AggregateData storage ref"}},"src":"4491:58:2","typeDescriptions":{"typeIdentifier":"t_struct$_AggregateData_$141_memory_ptr","typeString":"struct DataBankPlayground.AggregateData memory"}},"id":312,"nodeType":"ExpressionStatement","src":"4491:58:2"},{"expression":{"id":313,"name":"_aggregateData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"4566:14:2","typeDescriptions":{"typeIdentifier":"t_struct$_AggregateData_$141_memory_ptr","typeString":"struct DataBankPlayground.AggregateData memory"}},"functionReturnParameters":279,"id":314,"nodeType":"Return","src":"4559:21:2"}]},"documentation":{"id":272,"nodeType":"StructuredDocumentation","src":"4032:221:2","text":" @dev internal function to get the current aggregate data for a query ID\n @param _queryId the query ID to get the current aggregate data for\n @return _aggregateData the current aggregate data"},"id":316,"implemented":true,"kind":"function","modifiers":[],"name":"_getCurrentAggregateData","nameLocation":"4267:24:2","nodeType":"FunctionDefinition","parameters":{"id":275,"nodeType":"ParameterList","parameters":[{"constant":false,"id":274,"mutability":"mutable","name":"_queryId","nameLocation":"4300:8:2","nodeType":"VariableDeclaration","scope":316,"src":"4292:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":273,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4292:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4291:18:2"},"returnParameters":{"id":279,"nodeType":"ParameterList","parameters":[{"constant":false,"id":278,"mutability":"mutable","name":"_aggregateData","nameLocation":"4354:14:2","nodeType":"VariableDeclaration","scope":316,"src":"4333:35:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_AggregateData_$141_memory_ptr","typeString":"struct DataBankPlayground.AggregateData"},"typeName":{"id":277,"nodeType":"UserDefinedTypeName","pathNode":{"id":276,"name":"AggregateData","nameLocations":["4333:13:2"],"nodeType":"IdentifierPath","referencedDeclaration":141,"src":"4333:13:2"},"referencedDeclaration":141,"src":"4333:13:2","typeDescriptions":{"typeIdentifier":"t_struct$_AggregateData_$141_storage_ptr","typeString":"struct DataBankPlayground.AggregateData"}},"visibility":"internal"}],"src":"4332:37:2"},"scope":317,"src":"4258:329:2","stateMutability":"view","virtual":false,"visibility":"internal"}],"scope":318,"src":"638:3951:2","usedErrors":[]}],"src":"32:4559:2"},"id":2}},"contracts":{"contracts/interfaces/IDataBankPlayground.sol":{"IDataBankPlayground":{"abi":[{"inputs":[{"internalType":"bytes32","name":"_queryId","type":"bytes32"},{"internalType":"uint256","name":"_index","type":"uint256"}],"name":"getAggregateByIndex","outputs":[{"components":[{"internalType":"bytes","name":"value","type":"bytes"},{"internalType":"uint256","name":"power","type":"uint256"},{"internalType":"uint256","name":"aggregateTimestamp","type":"uint256"},{"internalType":"uint256","name":"attestationTimestamp","type":"uint256"},{"internalType":"uint256","name":"relayTimestamp","type":"uint256"}],"internalType":"struct IDataBankPlayground.AggregateData","name":"_aggregateData","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_queryId","type":"bytes32"}],"name":"getAggregateValueCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_queryId","type":"bytes32"}],"name":"getCurrentAggregateData","outputs":[{"components":[{"internalType":"bytes","name":"value","type":"bytes"},{"internalType":"uint256","name":"power","type":"uint256"},{"internalType":"uint256","name":"aggregateTimestamp","type":"uint256"},{"internalType":"uint256","name":"attestationTimestamp","type":"uint256"},{"internalType":"uint256","name":"relayTimestamp","type":"uint256"}],"internalType":"struct IDataBankPlayground.AggregateData","name":"_aggregateData","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_queryId","type":"bytes32"},{"internalType":"bytes","name":"_value","type":"bytes"}],"name":"updateOracleDataPlayground","outputs":[],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"getAggregateByIndex(bytes32,uint256)":"717681c6","getAggregateValueCount(bytes32)":"e3ac7e11","getCurrentAggregateData(bytes32)":"cb956711","updateOracleDataPlayground(bytes32,bytes)":"f237640a"}},"metadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_queryId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"_index\",\"type\":\"uint256\"}],\"name\":\"getAggregateByIndex\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"power\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"aggregateTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"attestationTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"relayTimestamp\",\"type\":\"uint256\"}],\"internalType\":\"struct IDataBankPlayground.AggregateData\",\"name\":\"_aggregateData\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_queryId\",\"type\":\"bytes32\"}],\"name\":\"getAggregateValueCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_queryId\",\"type\":\"bytes32\"}],\"name\":\"getCurrentAggregateData\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"power\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"aggregateTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"attestationTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"relayTimestamp\",\"type\":\"uint256\"}],\"internalType\":\"struct IDataBankPlayground.AggregateData\",\"name\":\"_aggregateData\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_queryId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"_value\",\"type\":\"bytes\"}],\"name\":\"updateOracleDataPlayground\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"This interface is for testing purposes only. Not for production use.\",\"kind\":\"dev\",\"methods\":{\"getAggregateByIndex(bytes32,uint256)\":{\"details\":\"returns the aggregate data for a given query ID and index\",\"params\":{\"_index\":\"the index of the aggregate data to get\",\"_queryId\":\"the query ID to get the aggregate data for\"},\"returns\":{\"_aggregateData\":\"the aggregate data\"}},\"getAggregateValueCount(bytes32)\":{\"details\":\"returns the total number of aggregate values\",\"params\":{\"_queryId\":\"the query ID to get the aggregate value count for\"},\"returns\":{\"_0\":\"number of aggregate values stored\"}},\"getCurrentAggregateData(bytes32)\":{\"details\":\"returns the current aggregate data for a given query ID\",\"params\":{\"_queryId\":\"the query ID to get the current aggregate data for\"},\"returns\":{\"_aggregateData\":\"the current aggregate data\"}},\"updateOracleDataPlayground(bytes32,bytes)\":{\"details\":\"updates oracle data with new value for playground testing\",\"params\":{\"_queryId\":\"the query ID to update the oracle data for\",\"_value\":\"the value to update the oracle data with\"}}},\"title\":\"IDataBankPlayground\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Interface for DataBankPlayground testing contract\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/interfaces/IDataBankPlayground.sol\":\"IDataBankPlayground\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/interfaces/IDataBankPlayground.sol\":{\"keccak256\":\"0x5611c8a1c6a50caa40671297f5dc16856528e50745f0bb0d1b78576ed7eb1ca1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f96de673cc24f4ac5517931bc0d51afa2358d3a764dd75eec2e3476ae962103\",\"dweb:/ipfs/Qmf1EdusGdfxxkkiJCaskH53Q7WwKn1dN7Mj19BFeAPsCv\"]}},\"version\":1}"}},"contracts/interfaces/ITellorDataBridge.sol":{"ITellorDataBridge":{"abi":[{"inputs":[],"name":"guardian","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"powerThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"unbondingPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"validatorTimestamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"bytes32","name":"queryId","type":"bytes32"},{"components":[{"internalType":"bytes","name":"value","type":"bytes"},{"internalType":"uint256","name":"timestamp","type":"uint256"},{"internalType":"uint256","name":"aggregatePower","type":"uint256"},{"internalType":"uint256","name":"previousTimestamp","type":"uint256"},{"internalType":"uint256","name":"nextTimestamp","type":"uint256"},{"internalType":"uint256","name":"lastConsensusTimestamp","type":"uint256"}],"internalType":"struct ReportData","name":"report","type":"tuple"},{"internalType":"uint256","name":"attestationTimestamp","type":"uint256"}],"internalType":"struct OracleAttestationData","name":"_attestData","type":"tuple"},{"components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"uint256","name":"power","type":"uint256"}],"internalType":"struct Validator[]","name":"_currentValidatorSet","type":"tuple[]"},{"components":[{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"internalType":"struct Signature[]","name":"_sigs","type":"tuple[]"}],"name":"verifyOracleData","outputs":[],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"guardian()":"452a9320","powerThreshold()":"ba95ec27","unbondingPeriod()":"6cf6d675","validatorTimestamp()":"4f76f1ee","verifyOracleData((bytes32,(bytes,uint256,uint256,uint256,uint256,uint256),uint256),(address,uint256)[],(uint8,bytes32,bytes32)[])":"5e0d3b0f"}},"metadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"guardian\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"powerThreshold\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"unbondingPeriod\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"validatorTimestamp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"queryId\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"aggregatePower\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"previousTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"nextTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"lastConsensusTimestamp\",\"type\":\"uint256\"}],\"internalType\":\"struct ReportData\",\"name\":\"report\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"attestationTimestamp\",\"type\":\"uint256\"}],\"internalType\":\"struct OracleAttestationData\",\"name\":\"_attestData\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"power\",\"type\":\"uint256\"}],\"internalType\":\"struct Validator[]\",\"name\":\"_currentValidatorSet\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"internalType\":\"struct Signature[]\",\"name\":\"_sigs\",\"type\":\"tuple[]\"}],\"name\":\"verifyOracleData\",\"outputs\":[],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/interfaces/ITellorDataBridge.sol\":\"ITellorDataBridge\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/interfaces/ITellorDataBridge.sol\":{\"keccak256\":\"0xe63280ed178d0751b9eba8be5c98a7c1587fcf728c8c2cb2f9d261fc4a650d0f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2a16c3e825c0ad4eb206765656249fb21f3fbe23eb6ad64dac036eb084f215d9\",\"dweb:/ipfs/QmV3de6xCgd864FEhjbiPyTUNhYgB4hPAvwEu8koYoZHwG\"]}},\"version\":1}"}},"contracts/testing/DataBankPlayground.sol":{"DataBankPlayground":{"abi":[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"queryId","type":"bytes32"},{"components":[{"internalType":"bytes32","name":"queryId","type":"bytes32"},{"components":[{"internalType":"bytes","name":"value","type":"bytes"},{"internalType":"uint256","name":"timestamp","type":"uint256"},{"internalType":"uint256","name":"aggregatePower","type":"uint256"},{"internalType":"uint256","name":"previousTimestamp","type":"uint256"},{"internalType":"uint256","name":"nextTimestamp","type":"uint256"},{"internalType":"uint256","name":"lastConsensusTimestamp","type":"uint256"}],"internalType":"struct ReportData","name":"report","type":"tuple"},{"internalType":"uint256","name":"attestationTimestamp","type":"uint256"}],"indexed":false,"internalType":"struct OracleAttestationData","name":"attestData","type":"tuple"}],"name":"OracleUpdated","type":"event"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"data","outputs":[{"internalType":"bytes","name":"value","type":"bytes"},{"internalType":"uint256","name":"power","type":"uint256"},{"internalType":"uint256","name":"aggregateTimestamp","type":"uint256"},{"internalType":"uint256","name":"attestationTimestamp","type":"uint256"},{"internalType":"uint256","name":"relayTimestamp","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_queryId","type":"bytes32"},{"internalType":"uint256","name":"_index","type":"uint256"}],"name":"getAggregateByIndex","outputs":[{"components":[{"internalType":"bytes","name":"value","type":"bytes"},{"internalType":"uint256","name":"power","type":"uint256"},{"internalType":"uint256","name":"aggregateTimestamp","type":"uint256"},{"internalType":"uint256","name":"attestationTimestamp","type":"uint256"},{"internalType":"uint256","name":"relayTimestamp","type":"uint256"}],"internalType":"struct DataBankPlayground.AggregateData","name":"_aggregateData","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_queryId","type":"bytes32"}],"name":"getAggregateValueCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_queryId","type":"bytes32"}],"name":"getCurrentAggregateData","outputs":[{"components":[{"internalType":"bytes","name":"value","type":"bytes"},{"internalType":"uint256","name":"power","type":"uint256"},{"internalType":"uint256","name":"aggregateTimestamp","type":"uint256"},{"internalType":"uint256","name":"attestationTimestamp","type":"uint256"},{"internalType":"uint256","name":"relayTimestamp","type":"uint256"}],"internalType":"struct DataBankPlayground.AggregateData","name":"_aggregateData","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"bytes32","name":"queryId","type":"bytes32"},{"components":[{"internalType":"bytes","name":"value","type":"bytes"},{"internalType":"uint256","name":"timestamp","type":"uint256"},{"internalType":"uint256","name":"aggregatePower","type":"uint256"},{"internalType":"uint256","name":"previousTimestamp","type":"uint256"},{"internalType":"uint256","name":"nextTimestamp","type":"uint256"},{"internalType":"uint256","name":"lastConsensusTimestamp","type":"uint256"}],"internalType":"struct ReportData","name":"report","type":"tuple"},{"internalType":"uint256","name":"attestationTimestamp","type":"uint256"}],"internalType":"struct OracleAttestationData","name":"_attestData","type":"tuple"},{"components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"uint256","name":"power","type":"uint256"}],"internalType":"struct Validator[]","name":"","type":"tuple[]"},{"components":[{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"internalType":"struct Signature[]","name":"","type":"tuple[]"}],"name":"updateOracleData","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_queryId","type":"bytes32"},{"internalType":"bytes","name":"_value","type":"bytes"}],"name":"updateOracleDataPlayground","outputs":[],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"608060405234801561001057600080fd5b50611444806100206000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c80636180801014610067578063717681c6146100835780638d12c426146100b3578063cb956711146100e7578063e3ac7e1114610117578063f237640a14610147575b600080fd5b610081600480360381019061007c919061085e565b610163565b005b61009d6004803603810190610098919061097b565b6102d7565b6040516100aa9190610ad0565b60405180910390f35b6100cd60048036038101906100c8919061097b565b6103de565b6040516100de959493929190610b4b565b60405180910390f35b61010160048036038101906100fc9190610ba5565b6104b9565b60405161010e9190610ad0565b60405180910390f35b610131600480360381019061012c9190610ba5565b6104d1565b60405161013e9190610bd2565b60405180910390f35b610161600480360381019061015c9190610d1d565b6104f0565b005b600080866000013581526020019081526020016000206040518060a001604052808780602001906101949190610d88565b80600001906101a39190610db0565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505081526020018780602001906101fb9190610d88565b6040013581526020018780602001906102149190610d88565b602001358152602001876040013581526020014281525090806001815401808255809150506001900390600052602060002090600502016000909190919091506000820151816000019081610269919061101f565b5060208201518160010155604082015181600201556060820151816003015560808201518160040155505084600001357f32569c122e0d7a43079203df1373675696c8ccd8ca67de60dc2238b6bb226214866040516102c89190611318565b60405180910390a25050505050565b6102df61073c565b60008084815260200190815260200160002082815481106103035761030261133a565b5b90600052602060002090600502016040518060a001604052908160008201805461032c90610e42565b80601f016020809104026020016040519081016040528092919081815260200182805461035890610e42565b80156103a55780601f1061037a576101008083540402835291602001916103a5565b820191906000526020600020905b81548152906001019060200180831161038857829003601f168201915b50505050508152602001600182015481526020016002820154815260200160038201548152602001600482015481525050905092915050565b600060205281600052604060002081815481106103fa57600080fd5b90600052602060002090600502016000915091505080600001805461041e90610e42565b80601f016020809104026020016040519081016040528092919081815260200182805461044a90610e42565b80156104975780601f1061046c57610100808354040283529160200191610497565b820191906000526020600020905b81548152906001019060200180831161047a57829003601f168201915b5050505050908060010154908060020154908060030154908060040154905085565b6104c161073c565b6104ca826105b6565b9050919050565b6000806000838152602001908152602001600020805490509050919050565b60006103e86001426105029190611398565b61050c91906113cc565b90506000808481526020019081526020016000206040518060a00160405280848152602001600081526020018381526020018381526020014281525090806001815401808255809150506001900390600052602060002090600502016000909190919091506000820151816000019081610586919061101f565b50602082015181600101556040820151816002015560608201518160030155608082015181600401555050505050565b6105be61073c565b6000806000848152602001908152602001600020805490500361061c576040518060a0016040528060405180602001604052806000815250815260200160008152602001600081526020016000815260200160008152509050610737565b6000808381526020019081526020016000206001600080858152602001908152602001600020805490506106509190611398565b815481106106615761066061133a565b5b90600052602060002090600502016040518060a001604052908160008201805461068a90610e42565b80601f01602080910402602001604051908101604052809291908181526020018280546106b690610e42565b80156107035780601f106106d857610100808354040283529160200191610703565b820191906000526020600020905b8154815290600101906020018083116106e657829003601f168201915b5050505050815260200160018201548152602001600282015481526020016003820154815260200160048201548152505090505b919050565b6040518060a0016040528060608152602001600081526020016000815260200160008152602001600081525090565b6000604051905090565b600080fd5b600080fd5b600080fd5b60006060828403121561079a5761079961077f565b5b81905092915050565b600080fd5b600080fd5b600080fd5b60008083601f8401126107c8576107c76107a3565b5b8235905067ffffffffffffffff8111156107e5576107e46107a8565b5b602083019150836040820283011115610801576108006107ad565b5b9250929050565b60008083601f84011261081e5761081d6107a3565b5b8235905067ffffffffffffffff81111561083b5761083a6107a8565b5b602083019150836060820283011115610857576108566107ad565b5b9250929050565b60008060008060006060868803121561087a57610879610775565b5b600086013567ffffffffffffffff8111156108985761089761077a565b5b6108a488828901610784565b955050602086013567ffffffffffffffff8111156108c5576108c461077a565b5b6108d1888289016107b2565b9450945050604086013567ffffffffffffffff8111156108f4576108f361077a565b5b61090088828901610808565b92509250509295509295909350565b6000819050919050565b6109228161090f565b811461092d57600080fd5b50565b60008135905061093f81610919565b92915050565b6000819050919050565b61095881610945565b811461096357600080fd5b50565b6000813590506109758161094f565b92915050565b6000806040838503121561099257610991610775565b5b60006109a085828601610930565b92505060206109b185828601610966565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b60005b838110156109f55780820151818401526020810190506109da565b60008484015250505050565b6000601f19601f8301169050919050565b6000610a1d826109bb565b610a2781856109c6565b9350610a378185602086016109d7565b610a4081610a01565b840191505092915050565b610a5481610945565b82525050565b600060a0830160008301518482036000860152610a778282610a12565b9150506020830151610a8c6020860182610a4b565b506040830151610a9f6040860182610a4b565b506060830151610ab26060860182610a4b565b506080830151610ac56080860182610a4b565b508091505092915050565b60006020820190508181036000830152610aea8184610a5a565b905092915050565b600082825260208201905092915050565b6000610b0e826109bb565b610b188185610af2565b9350610b288185602086016109d7565b610b3181610a01565b840191505092915050565b610b4581610945565b82525050565b600060a0820190508181036000830152610b658188610b03565b9050610b746020830187610b3c565b610b816040830186610b3c565b610b8e6060830185610b3c565b610b9b6080830184610b3c565b9695505050505050565b600060208284031215610bbb57610bba610775565b5b6000610bc984828501610930565b91505092915050565b6000602082019050610be76000830184610b3c565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b610c2a82610a01565b810181811067ffffffffffffffff82111715610c4957610c48610bf2565b5b80604052505050565b6000610c5c61076b565b9050610c688282610c21565b919050565b600067ffffffffffffffff821115610c8857610c87610bf2565b5b610c9182610a01565b9050602081019050919050565b82818337600083830152505050565b6000610cc0610cbb84610c6d565b610c52565b905082815260208101848484011115610cdc57610cdb610bed565b5b610ce7848285610c9e565b509392505050565b600082601f830112610d0457610d036107a3565b5b8135610d14848260208601610cad565b91505092915050565b60008060408385031215610d3457610d33610775565b5b6000610d4285828601610930565b925050602083013567ffffffffffffffff811115610d6357610d6261077a565b5b610d6f85828601610cef565b9150509250929050565b600080fd5b600080fd5b600080fd5b60008235600160c003833603038112610da457610da3610d79565b5b80830191505092915050565b60008083356001602003843603038112610dcd57610dcc610d79565b5b80840192508235915067ffffffffffffffff821115610def57610dee610d7e565b5b602083019250600182023603831315610e0b57610e0a610d83565b5b509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680610e5a57607f821691505b602082108103610e6d57610e6c610e13565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302610ed57fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610e98565b610edf8683610e98565b95508019841693508086168417925050509392505050565b6000819050919050565b6000610f1c610f17610f1284610945565b610ef7565b610945565b9050919050565b6000819050919050565b610f3683610f01565b610f4a610f4282610f23565b848454610ea5565b825550505050565b600090565b610f5f610f52565b610f6a818484610f2d565b505050565b5b81811015610f8e57610f83600082610f57565b600181019050610f70565b5050565b601f821115610fd357610fa481610e73565b610fad84610e88565b81016020851015610fbc578190505b610fd0610fc885610e88565b830182610f6f565b50505b505050565b600082821c905092915050565b6000610ff660001984600802610fd8565b1980831691505092915050565b600061100f8383610fe5565b9150826002028217905092915050565b611028826109bb565b67ffffffffffffffff81111561104157611040610bf2565b5b61104b8254610e42565b611056828285610f92565b600060209050601f8311600181146110895760008415611077578287015190505b6110818582611003565b8655506110e9565b601f19841661109786610e73565b60005b828110156110bf5784890151825560018201915060208501945060208101905061109a565b868310156110dc57848901516110d8601f891682610fe5565b8355505b6001600288020188555050505b505050505050565b60006111006020840184610930565b905092915050565b6111118161090f565b82525050565b600080fd5b60008235600160c00383360303811261113857611137611117565b5b82810191505092915050565b600080fd5b600080fd5b6000808335600160200384360303811261116b5761116a611117565b5b83810192508235915060208301925067ffffffffffffffff82111561119357611192611144565b5b6001820236038313156111a9576111a8611149565b5b509250929050565b60006111bd83856109c6565b93506111ca838584610c9e565b6111d383610a01565b840190509392505050565b60006111ed6020840184610966565b905092915050565b600060c08301611208600084018461114e565b858303600087015261121b8382846111b1565b9250505061122c60208401846111de565b6112396020860182610a4b565b5061124760408401846111de565b6112546040860182610a4b565b5061126260608401846111de565b61126f6060860182610a4b565b5061127d60808401846111de565b61128a6080860182610a4b565b5061129860a08401846111de565b6112a560a0860182610a4b565b508091505092915050565b6000606083016112c360008401846110f1565b6112d06000860182611108565b506112de602084018461111c565b84820360208601526112f082826111f5565b91505061130060408401846111de565b61130d6040860182610a4b565b508091505092915050565b6000602082019050818103600083015261133281846112b0565b905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006113a382610945565b91506113ae83610945565b92508282039050818111156113c6576113c5611369565b5b92915050565b60006113d782610945565b91506113e283610945565b92508282026113f081610945565b9150828204841483151761140757611406611369565b5b509291505056fea2646970667358221220d922adb488834a0545ba3634eb410528a1c1d80682300de3fde8b06bb8179ea064736f6c63430008130033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1444 DUP1 PUSH2 0x20 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x62 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x61808010 EQ PUSH2 0x67 JUMPI DUP1 PUSH4 0x717681C6 EQ PUSH2 0x83 JUMPI DUP1 PUSH4 0x8D12C426 EQ PUSH2 0xB3 JUMPI DUP1 PUSH4 0xCB956711 EQ PUSH2 0xE7 JUMPI DUP1 PUSH4 0xE3AC7E11 EQ PUSH2 0x117 JUMPI DUP1 PUSH4 0xF237640A EQ PUSH2 0x147 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x81 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x7C SWAP2 SWAP1 PUSH2 0x85E JUMP JUMPDEST PUSH2 0x163 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x9D PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x98 SWAP2 SWAP1 PUSH2 0x97B JUMP JUMPDEST PUSH2 0x2D7 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xAA SWAP2 SWAP1 PUSH2 0xAD0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xCD PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xC8 SWAP2 SWAP1 PUSH2 0x97B JUMP JUMPDEST PUSH2 0x3DE JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xDE SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0xB4B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x101 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xFC SWAP2 SWAP1 PUSH2 0xBA5 JUMP JUMPDEST PUSH2 0x4B9 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x10E SWAP2 SWAP1 PUSH2 0xAD0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x131 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x12C SWAP2 SWAP1 PUSH2 0xBA5 JUMP JUMPDEST PUSH2 0x4D1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x13E SWAP2 SWAP1 PUSH2 0xBD2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x161 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x15C SWAP2 SWAP1 PUSH2 0xD1D JUMP JUMPDEST PUSH2 0x4F0 JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 DUP1 DUP7 PUSH1 0x0 ADD CALLDATALOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x40 MLOAD DUP1 PUSH1 0xA0 ADD PUSH1 0x40 MSTORE DUP1 DUP8 DUP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x194 SWAP2 SWAP1 PUSH2 0xD88 JUMP JUMPDEST DUP1 PUSH1 0x0 ADD SWAP1 PUSH2 0x1A3 SWAP2 SWAP1 PUSH2 0xDB0 JUMP JUMPDEST DUP1 DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 DUP2 DUP5 ADD MSTORE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND SWAP1 POP DUP1 DUP4 ADD SWAP3 POP POP POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD DUP8 DUP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x1FB SWAP2 SWAP1 PUSH2 0xD88 JUMP JUMPDEST PUSH1 0x40 ADD CALLDATALOAD DUP2 MSTORE PUSH1 0x20 ADD DUP8 DUP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x214 SWAP2 SWAP1 PUSH2 0xD88 JUMP JUMPDEST PUSH1 0x20 ADD CALLDATALOAD DUP2 MSTORE PUSH1 0x20 ADD DUP8 PUSH1 0x40 ADD CALLDATALOAD DUP2 MSTORE PUSH1 0x20 ADD TIMESTAMP DUP2 MSTORE POP SWAP1 DUP1 PUSH1 0x1 DUP2 SLOAD ADD DUP1 DUP3 SSTORE DUP1 SWAP2 POP POP PUSH1 0x1 SWAP1 SUB SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x5 MUL ADD PUSH1 0x0 SWAP1 SWAP2 SWAP1 SWAP2 SWAP1 SWAP2 POP PUSH1 0x0 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD SWAP1 DUP2 PUSH2 0x269 SWAP2 SWAP1 PUSH2 0x101F JUMP JUMPDEST POP PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD SSTORE PUSH1 0x40 DUP3 ADD MLOAD DUP2 PUSH1 0x2 ADD SSTORE PUSH1 0x60 DUP3 ADD MLOAD DUP2 PUSH1 0x3 ADD SSTORE PUSH1 0x80 DUP3 ADD MLOAD DUP2 PUSH1 0x4 ADD SSTORE POP POP DUP5 PUSH1 0x0 ADD CALLDATALOAD PUSH32 0x32569C122E0D7A43079203DF1373675696C8CCD8CA67DE60DC2238B6BB226214 DUP7 PUSH1 0x40 MLOAD PUSH2 0x2C8 SWAP2 SWAP1 PUSH2 0x1318 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP POP POP JUMP JUMPDEST PUSH2 0x2DF PUSH2 0x73C JUMP JUMPDEST PUSH1 0x0 DUP1 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x303 JUMPI PUSH2 0x302 PUSH2 0x133A JUMP JUMPDEST JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x5 MUL ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0xA0 ADD PUSH1 0x40 MSTORE SWAP1 DUP2 PUSH1 0x0 DUP3 ADD DUP1 SLOAD PUSH2 0x32C SWAP1 PUSH2 0xE42 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x358 SWAP1 PUSH2 0xE42 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x3A5 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x37A JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x3A5 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x388 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2 DUP3 ADD SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x3 DUP3 ADD SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x4 DUP3 ADD SLOAD DUP2 MSTORE POP POP SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 MSTORE DUP2 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x3FA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x5 MUL ADD PUSH1 0x0 SWAP2 POP SWAP2 POP POP DUP1 PUSH1 0x0 ADD DUP1 SLOAD PUSH2 0x41E SWAP1 PUSH2 0xE42 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x44A SWAP1 PUSH2 0xE42 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x497 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x46C JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x497 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x47A JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 DUP1 PUSH1 0x1 ADD SLOAD SWAP1 DUP1 PUSH1 0x2 ADD SLOAD SWAP1 DUP1 PUSH1 0x3 ADD SLOAD SWAP1 DUP1 PUSH1 0x4 ADD SLOAD SWAP1 POP DUP6 JUMP JUMPDEST PUSH2 0x4C1 PUSH2 0x73C JUMP JUMPDEST PUSH2 0x4CA DUP3 PUSH2 0x5B6 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP1 SLOAD SWAP1 POP SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3E8 PUSH1 0x1 TIMESTAMP PUSH2 0x502 SWAP2 SWAP1 PUSH2 0x1398 JUMP JUMPDEST PUSH2 0x50C SWAP2 SWAP1 PUSH2 0x13CC JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP1 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x40 MLOAD DUP1 PUSH1 0xA0 ADD PUSH1 0x40 MSTORE DUP1 DUP5 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP2 MSTORE PUSH1 0x20 ADD TIMESTAMP DUP2 MSTORE POP SWAP1 DUP1 PUSH1 0x1 DUP2 SLOAD ADD DUP1 DUP3 SSTORE DUP1 SWAP2 POP POP PUSH1 0x1 SWAP1 SUB SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x5 MUL ADD PUSH1 0x0 SWAP1 SWAP2 SWAP1 SWAP2 SWAP1 SWAP2 POP PUSH1 0x0 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD SWAP1 DUP2 PUSH2 0x586 SWAP2 SWAP1 PUSH2 0x101F JUMP JUMPDEST POP PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD SSTORE PUSH1 0x40 DUP3 ADD MLOAD DUP2 PUSH1 0x2 ADD SSTORE PUSH1 0x60 DUP3 ADD MLOAD DUP2 PUSH1 0x3 ADD SSTORE PUSH1 0x80 DUP3 ADD MLOAD DUP2 PUSH1 0x4 ADD SSTORE POP POP POP POP POP JUMP JUMPDEST PUSH2 0x5BE PUSH2 0x73C JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP1 SLOAD SWAP1 POP SUB PUSH2 0x61C JUMPI PUSH1 0x40 MLOAD DUP1 PUSH1 0xA0 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE POP SWAP1 POP PUSH2 0x737 JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 PUSH1 0x0 DUP1 DUP6 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP1 SLOAD SWAP1 POP PUSH2 0x650 SWAP2 SWAP1 PUSH2 0x1398 JUMP JUMPDEST DUP2 SLOAD DUP2 LT PUSH2 0x661 JUMPI PUSH2 0x660 PUSH2 0x133A JUMP JUMPDEST JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x5 MUL ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0xA0 ADD PUSH1 0x40 MSTORE SWAP1 DUP2 PUSH1 0x0 DUP3 ADD DUP1 SLOAD PUSH2 0x68A SWAP1 PUSH2 0xE42 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x6B6 SWAP1 PUSH2 0xE42 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x703 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x6D8 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x703 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x6E6 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2 DUP3 ADD SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x3 DUP3 ADD SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x4 DUP3 ADD SLOAD DUP2 MSTORE POP POP SWAP1 POP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0xA0 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x79A JUMPI PUSH2 0x799 PUSH2 0x77F JUMP JUMPDEST JUMPDEST DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0x7C8 JUMPI PUSH2 0x7C7 PUSH2 0x7A3 JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x7E5 JUMPI PUSH2 0x7E4 PUSH2 0x7A8 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x40 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0x801 JUMPI PUSH2 0x800 PUSH2 0x7AD JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0x81E JUMPI PUSH2 0x81D PUSH2 0x7A3 JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x83B JUMPI PUSH2 0x83A PUSH2 0x7A8 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x60 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0x857 JUMPI PUSH2 0x856 PUSH2 0x7AD JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x87A JUMPI PUSH2 0x879 PUSH2 0x775 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x898 JUMPI PUSH2 0x897 PUSH2 0x77A JUMP JUMPDEST JUMPDEST PUSH2 0x8A4 DUP9 DUP3 DUP10 ADD PUSH2 0x784 JUMP JUMPDEST SWAP6 POP POP PUSH1 0x20 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x8C5 JUMPI PUSH2 0x8C4 PUSH2 0x77A JUMP JUMPDEST JUMPDEST PUSH2 0x8D1 DUP9 DUP3 DUP10 ADD PUSH2 0x7B2 JUMP JUMPDEST SWAP5 POP SWAP5 POP POP PUSH1 0x40 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x8F4 JUMPI PUSH2 0x8F3 PUSH2 0x77A JUMP JUMPDEST JUMPDEST PUSH2 0x900 DUP9 DUP3 DUP10 ADD PUSH2 0x808 JUMP JUMPDEST SWAP3 POP SWAP3 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x922 DUP2 PUSH2 0x90F JUMP JUMPDEST DUP2 EQ PUSH2 0x92D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x93F DUP2 PUSH2 0x919 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x958 DUP2 PUSH2 0x945 JUMP JUMPDEST DUP2 EQ PUSH2 0x963 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x975 DUP2 PUSH2 0x94F JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x992 JUMPI PUSH2 0x991 PUSH2 0x775 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x9A0 DUP6 DUP3 DUP7 ADD PUSH2 0x930 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x9B1 DUP6 DUP3 DUP7 ADD PUSH2 0x966 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x9F5 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x9DA JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xA1D DUP3 PUSH2 0x9BB JUMP JUMPDEST PUSH2 0xA27 DUP2 DUP6 PUSH2 0x9C6 JUMP JUMPDEST SWAP4 POP PUSH2 0xA37 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x9D7 JUMP JUMPDEST PUSH2 0xA40 DUP2 PUSH2 0xA01 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xA54 DUP2 PUSH2 0x945 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP4 ADD PUSH1 0x0 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x0 DUP7 ADD MSTORE PUSH2 0xA77 DUP3 DUP3 PUSH2 0xA12 JUMP JUMPDEST SWAP2 POP POP PUSH1 0x20 DUP4 ADD MLOAD PUSH2 0xA8C PUSH1 0x20 DUP7 ADD DUP3 PUSH2 0xA4B JUMP JUMPDEST POP PUSH1 0x40 DUP4 ADD MLOAD PUSH2 0xA9F PUSH1 0x40 DUP7 ADD DUP3 PUSH2 0xA4B JUMP JUMPDEST POP PUSH1 0x60 DUP4 ADD MLOAD PUSH2 0xAB2 PUSH1 0x60 DUP7 ADD DUP3 PUSH2 0xA4B JUMP JUMPDEST POP PUSH1 0x80 DUP4 ADD MLOAD PUSH2 0xAC5 PUSH1 0x80 DUP7 ADD DUP3 PUSH2 0xA4B JUMP JUMPDEST POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xAEA DUP2 DUP5 PUSH2 0xA5A JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xB0E DUP3 PUSH2 0x9BB JUMP JUMPDEST PUSH2 0xB18 DUP2 DUP6 PUSH2 0xAF2 JUMP JUMPDEST SWAP4 POP PUSH2 0xB28 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x9D7 JUMP JUMPDEST PUSH2 0xB31 DUP2 PUSH2 0xA01 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xB45 DUP2 PUSH2 0x945 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xB65 DUP2 DUP9 PUSH2 0xB03 JUMP JUMPDEST SWAP1 POP PUSH2 0xB74 PUSH1 0x20 DUP4 ADD DUP8 PUSH2 0xB3C JUMP JUMPDEST PUSH2 0xB81 PUSH1 0x40 DUP4 ADD DUP7 PUSH2 0xB3C JUMP JUMPDEST PUSH2 0xB8E PUSH1 0x60 DUP4 ADD DUP6 PUSH2 0xB3C JUMP JUMPDEST PUSH2 0xB9B PUSH1 0x80 DUP4 ADD DUP5 PUSH2 0xB3C JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xBBB JUMPI PUSH2 0xBBA PUSH2 0x775 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xBC9 DUP5 DUP3 DUP6 ADD PUSH2 0x930 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xBE7 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xB3C JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0xC2A DUP3 PUSH2 0xA01 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0xC49 JUMPI PUSH2 0xC48 PUSH2 0xBF2 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xC5C PUSH2 0x76B JUMP JUMPDEST SWAP1 POP PUSH2 0xC68 DUP3 DUP3 PUSH2 0xC21 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0xC88 JUMPI PUSH2 0xC87 PUSH2 0xBF2 JUMP JUMPDEST JUMPDEST PUSH2 0xC91 DUP3 PUSH2 0xA01 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xCC0 PUSH2 0xCBB DUP5 PUSH2 0xC6D JUMP JUMPDEST PUSH2 0xC52 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0xCDC JUMPI PUSH2 0xCDB PUSH2 0xBED JUMP JUMPDEST JUMPDEST PUSH2 0xCE7 DUP5 DUP3 DUP6 PUSH2 0xC9E JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0xD04 JUMPI PUSH2 0xD03 PUSH2 0x7A3 JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0xD14 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0xCAD JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xD34 JUMPI PUSH2 0xD33 PUSH2 0x775 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xD42 DUP6 DUP3 DUP7 ADD PUSH2 0x930 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xD63 JUMPI PUSH2 0xD62 PUSH2 0x77A JUMP JUMPDEST JUMPDEST PUSH2 0xD6F DUP6 DUP3 DUP7 ADD PUSH2 0xCEF JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP3 CALLDATALOAD PUSH1 0x1 PUSH1 0xC0 SUB DUP4 CALLDATASIZE SUB SUB DUP2 SLT PUSH2 0xDA4 JUMPI PUSH2 0xDA3 PUSH2 0xD79 JUMP JUMPDEST JUMPDEST DUP1 DUP4 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 CALLDATALOAD PUSH1 0x1 PUSH1 0x20 SUB DUP5 CALLDATASIZE SUB SUB DUP2 SLT PUSH2 0xDCD JUMPI PUSH2 0xDCC PUSH2 0xD79 JUMP JUMPDEST JUMPDEST DUP1 DUP5 ADD SWAP3 POP DUP3 CALLDATALOAD SWAP2 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0xDEF JUMPI PUSH2 0xDEE PUSH2 0xD7E JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP3 POP PUSH1 0x1 DUP3 MUL CALLDATASIZE SUB DUP4 SGT ISZERO PUSH2 0xE0B JUMPI PUSH2 0xE0A PUSH2 0xD83 JUMP JUMPDEST JUMPDEST POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0xE5A JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0xE6D JUMPI PUSH2 0xE6C PUSH2 0xE13 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP DUP2 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 PUSH1 0x1F DUP4 ADD DIV SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 SHL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x8 DUP4 MUL PUSH2 0xED5 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 PUSH2 0xE98 JUMP JUMPDEST PUSH2 0xEDF DUP7 DUP4 PUSH2 0xE98 JUMP JUMPDEST SWAP6 POP DUP1 NOT DUP5 AND SWAP4 POP DUP1 DUP7 AND DUP5 OR SWAP3 POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xF1C PUSH2 0xF17 PUSH2 0xF12 DUP5 PUSH2 0x945 JUMP JUMPDEST PUSH2 0xEF7 JUMP JUMPDEST PUSH2 0x945 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xF36 DUP4 PUSH2 0xF01 JUMP JUMPDEST PUSH2 0xF4A PUSH2 0xF42 DUP3 PUSH2 0xF23 JUMP JUMPDEST DUP5 DUP5 SLOAD PUSH2 0xEA5 JUMP JUMPDEST DUP3 SSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 SWAP1 JUMP JUMPDEST PUSH2 0xF5F PUSH2 0xF52 JUMP JUMPDEST PUSH2 0xF6A DUP2 DUP5 DUP5 PUSH2 0xF2D JUMP JUMPDEST POP POP POP JUMP JUMPDEST JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0xF8E JUMPI PUSH2 0xF83 PUSH1 0x0 DUP3 PUSH2 0xF57 JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0xF70 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0xFD3 JUMPI PUSH2 0xFA4 DUP2 PUSH2 0xE73 JUMP JUMPDEST PUSH2 0xFAD DUP5 PUSH2 0xE88 JUMP JUMPDEST DUP2 ADD PUSH1 0x20 DUP6 LT ISZERO PUSH2 0xFBC JUMPI DUP2 SWAP1 POP JUMPDEST PUSH2 0xFD0 PUSH2 0xFC8 DUP6 PUSH2 0xE88 JUMP JUMPDEST DUP4 ADD DUP3 PUSH2 0xF6F JUMP JUMPDEST POP POP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 SHR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xFF6 PUSH1 0x0 NOT DUP5 PUSH1 0x8 MUL PUSH2 0xFD8 JUMP JUMPDEST NOT DUP1 DUP4 AND SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x100F DUP4 DUP4 PUSH2 0xFE5 JUMP JUMPDEST SWAP2 POP DUP3 PUSH1 0x2 MUL DUP3 OR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x1028 DUP3 PUSH2 0x9BB JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1041 JUMPI PUSH2 0x1040 PUSH2 0xBF2 JUMP JUMPDEST JUMPDEST PUSH2 0x104B DUP3 SLOAD PUSH2 0xE42 JUMP JUMPDEST PUSH2 0x1056 DUP3 DUP3 DUP6 PUSH2 0xF92 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 SWAP1 POP PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x1089 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH2 0x1077 JUMPI DUP3 DUP8 ADD MLOAD SWAP1 POP JUMPDEST PUSH2 0x1081 DUP6 DUP3 PUSH2 0x1003 JUMP JUMPDEST DUP7 SSTORE POP PUSH2 0x10E9 JUMP JUMPDEST PUSH1 0x1F NOT DUP5 AND PUSH2 0x1097 DUP7 PUSH2 0xE73 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x10BF JUMPI DUP5 DUP10 ADD MLOAD DUP3 SSTORE PUSH1 0x1 DUP3 ADD SWAP2 POP PUSH1 0x20 DUP6 ADD SWAP5 POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x109A JUMP JUMPDEST DUP7 DUP4 LT ISZERO PUSH2 0x10DC JUMPI DUP5 DUP10 ADD MLOAD PUSH2 0x10D8 PUSH1 0x1F DUP10 AND DUP3 PUSH2 0xFE5 JUMP JUMPDEST DUP4 SSTORE POP JUMPDEST PUSH1 0x1 PUSH1 0x2 DUP9 MUL ADD DUP9 SSTORE POP POP POP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1100 PUSH1 0x20 DUP5 ADD DUP5 PUSH2 0x930 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x1111 DUP2 PUSH2 0x90F JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP3 CALLDATALOAD PUSH1 0x1 PUSH1 0xC0 SUB DUP4 CALLDATASIZE SUB SUB DUP2 SLT PUSH2 0x1138 JUMPI PUSH2 0x1137 PUSH2 0x1117 JUMP JUMPDEST JUMPDEST DUP3 DUP2 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP4 CALLDATALOAD PUSH1 0x1 PUSH1 0x20 SUB DUP5 CALLDATASIZE SUB SUB DUP2 SLT PUSH2 0x116B JUMPI PUSH2 0x116A PUSH2 0x1117 JUMP JUMPDEST JUMPDEST DUP4 DUP2 ADD SWAP3 POP DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD SWAP3 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x1193 JUMPI PUSH2 0x1192 PUSH2 0x1144 JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 MUL CALLDATASIZE SUB DUP4 SGT ISZERO PUSH2 0x11A9 JUMPI PUSH2 0x11A8 PUSH2 0x1149 JUMP JUMPDEST JUMPDEST POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x11BD DUP4 DUP6 PUSH2 0x9C6 JUMP JUMPDEST SWAP4 POP PUSH2 0x11CA DUP4 DUP6 DUP5 PUSH2 0xC9E JUMP JUMPDEST PUSH2 0x11D3 DUP4 PUSH2 0xA01 JUMP JUMPDEST DUP5 ADD SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x11ED PUSH1 0x20 DUP5 ADD DUP5 PUSH2 0x966 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xC0 DUP4 ADD PUSH2 0x1208 PUSH1 0x0 DUP5 ADD DUP5 PUSH2 0x114E JUMP JUMPDEST DUP6 DUP4 SUB PUSH1 0x0 DUP8 ADD MSTORE PUSH2 0x121B DUP4 DUP3 DUP5 PUSH2 0x11B1 JUMP JUMPDEST SWAP3 POP POP POP PUSH2 0x122C PUSH1 0x20 DUP5 ADD DUP5 PUSH2 0x11DE JUMP JUMPDEST PUSH2 0x1239 PUSH1 0x20 DUP7 ADD DUP3 PUSH2 0xA4B JUMP JUMPDEST POP PUSH2 0x1247 PUSH1 0x40 DUP5 ADD DUP5 PUSH2 0x11DE JUMP JUMPDEST PUSH2 0x1254 PUSH1 0x40 DUP7 ADD DUP3 PUSH2 0xA4B JUMP JUMPDEST POP PUSH2 0x1262 PUSH1 0x60 DUP5 ADD DUP5 PUSH2 0x11DE JUMP JUMPDEST PUSH2 0x126F PUSH1 0x60 DUP7 ADD DUP3 PUSH2 0xA4B JUMP JUMPDEST POP PUSH2 0x127D PUSH1 0x80 DUP5 ADD DUP5 PUSH2 0x11DE JUMP JUMPDEST PUSH2 0x128A PUSH1 0x80 DUP7 ADD DUP3 PUSH2 0xA4B JUMP JUMPDEST POP PUSH2 0x1298 PUSH1 0xA0 DUP5 ADD DUP5 PUSH2 0x11DE JUMP JUMPDEST PUSH2 0x12A5 PUSH1 0xA0 DUP7 ADD DUP3 PUSH2 0xA4B JUMP JUMPDEST POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP4 ADD PUSH2 0x12C3 PUSH1 0x0 DUP5 ADD DUP5 PUSH2 0x10F1 JUMP JUMPDEST PUSH2 0x12D0 PUSH1 0x0 DUP7 ADD DUP3 PUSH2 0x1108 JUMP JUMPDEST POP PUSH2 0x12DE PUSH1 0x20 DUP5 ADD DUP5 PUSH2 0x111C JUMP JUMPDEST DUP5 DUP3 SUB PUSH1 0x20 DUP7 ADD MSTORE PUSH2 0x12F0 DUP3 DUP3 PUSH2 0x11F5 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x1300 PUSH1 0x40 DUP5 ADD DUP5 PUSH2 0x11DE JUMP JUMPDEST PUSH2 0x130D PUSH1 0x40 DUP7 ADD DUP3 PUSH2 0xA4B JUMP JUMPDEST POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1332 DUP2 DUP5 PUSH2 0x12B0 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x13A3 DUP3 PUSH2 0x945 JUMP JUMPDEST SWAP2 POP PUSH2 0x13AE DUP4 PUSH2 0x945 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 SUB SWAP1 POP DUP2 DUP2 GT ISZERO PUSH2 0x13C6 JUMPI PUSH2 0x13C5 PUSH2 0x1369 JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x13D7 DUP3 PUSH2 0x945 JUMP JUMPDEST SWAP2 POP PUSH2 0x13E2 DUP4 PUSH2 0x945 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 MUL PUSH2 0x13F0 DUP2 PUSH2 0x945 JUMP JUMPDEST SWAP2 POP DUP3 DUP3 DIV DUP5 EQ DUP4 ISZERO OR PUSH2 0x1407 JUMPI PUSH2 0x1406 PUSH2 0x1369 JUMP JUMPDEST JUMPDEST POP SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xD9 0x22 0xAD 0xB4 DUP9 DUP4 0x4A SDIV GASLIMIT 0xBA CALLDATASIZE CALLVALUE 0xEB COINBASE SDIV 0x28 LOG1 0xC1 0xD8 MOD DUP3 ADDRESS 0xD 0xE3 REVERT 0xE8 0xB0 PUSH12 0xB8179EA064736F6C63430008 SGT STOP CALLER ","sourceMap":"638:3951:2:-:0;;;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{"@_getCurrentAggregateData_316":{"entryPoint":1462,"id":316,"parameterSlots":1,"returnSlots":1},"@data_130":{"entryPoint":990,"id":130,"parameterSlots":0,"returnSlots":0},"@getAggregateByIndex_243":{"entryPoint":727,"id":243,"parameterSlots":2,"returnSlots":1},"@getAggregateValueCount_257":{"entryPoint":1233,"id":257,"parameterSlots":1,"returnSlots":1},"@getCurrentAggregateData_271":{"entryPoint":1209,"id":271,"parameterSlots":1,"returnSlots":1},"@updateOracleDataPlayground_225":{"entryPoint":1264,"id":225,"parameterSlots":2,"returnSlots":0},"@updateOracleData_192":{"entryPoint":355,"id":192,"parameterSlots":5,"returnSlots":0},"abi_decode_available_length_t_bytes_memory_ptr":{"entryPoint":3245,"id":null,"parameterSlots":3,"returnSlots":1},"abi_decode_t_array$_t_struct$_Signature_$80_calldata_ptr_$dyn_calldata_ptr":{"entryPoint":2056,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_t_array$_t_struct$_Validator_$85_calldata_ptr_$dyn_calldata_ptr":{"entryPoint":1970,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_t_bytes32":{"entryPoint":2352,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_bytes_memory_ptr":{"entryPoint":3311,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_struct$_OracleAttestationData_$60_calldata_ptr":{"entryPoint":1924,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_uint256":{"entryPoint":2406,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes32":{"entryPoint":2981,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes32t_bytes_memory_ptr":{"entryPoint":3357,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_bytes32t_uint256":{"entryPoint":2427,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_struct$_OracleAttestationData_$60_calldata_ptrt_array$_t_struct$_Validator_$85_calldata_ptr_$dyn_calldata_ptrt_array$_t_struct$_Signature_$80_calldata_ptr_$dyn_calldata_ptr":{"entryPoint":2142,"id":null,"parameterSlots":2,"returnSlots":5},"abi_encode_t_bytes32_to_t_bytes32":{"entryPoint":4360,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_bytes_calldata_ptr_to_t_bytes_memory_ptr":{"entryPoint":4529,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr":{"entryPoint":2578,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack":{"entryPoint":2819,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_struct$_AggregateData_$141_memory_ptr_to_t_struct$_AggregateData_$141_memory_ptr_fromStack":{"entryPoint":2650,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_struct$_OracleAttestationData_$60_calldata_ptr_to_t_struct$_OracleAttestationData_$60_memory_ptr_fromStack":{"entryPoint":4784,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_struct$_ReportData_$73_calldata_ptr_to_t_struct$_ReportData_$73_memory_ptr":{"entryPoint":4597,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_uint256_to_t_uint256":{"entryPoint":2635,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_uint256_to_t_uint256_fromStack":{"entryPoint":2876,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_tuple_t_bytes_memory_ptr_t_uint256_t_uint256_t_uint256_t_uint256__to_t_bytes_memory_ptr_t_uint256_t_uint256_t_uint256_t_uint256__fromStack_reversed":{"entryPoint":2891,"id":null,"parameterSlots":6,"returnSlots":1},"abi_encode_tuple_t_struct$_AggregateData_$141_memory_ptr__to_t_struct$_AggregateData_$141_memory_ptr__fromStack_reversed":{"entryPoint":2768,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_struct$_OracleAttestationData_$60_calldata_ptr__to_t_struct$_OracleAttestationData_$60_memory_ptr__fromStack_reversed":{"entryPoint":4888,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed":{"entryPoint":3026,"id":null,"parameterSlots":2,"returnSlots":1},"access_calldata_tail_t_bytes_calldata_ptr":{"entryPoint":3504,"id":null,"parameterSlots":2,"returnSlots":2},"access_calldata_tail_t_struct$_ReportData_$73_calldata_ptr":{"entryPoint":3464,"id":null,"parameterSlots":2,"returnSlots":1},"allocate_memory":{"entryPoint":3154,"id":null,"parameterSlots":1,"returnSlots":1},"allocate_unbounded":{"entryPoint":1899,"id":null,"parameterSlots":0,"returnSlots":1},"array_allocation_size_t_bytes_memory_ptr":{"entryPoint":3181,"id":null,"parameterSlots":1,"returnSlots":1},"array_dataslot_t_bytes_storage":{"entryPoint":3699,"id":null,"parameterSlots":1,"returnSlots":1},"array_length_t_bytes_memory_ptr":{"entryPoint":2491,"id":null,"parameterSlots":1,"returnSlots":1},"array_storeLengthForEncoding_t_bytes_memory_ptr":{"entryPoint":2502,"id":null,"parameterSlots":2,"returnSlots":1},"array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack":{"entryPoint":2802,"id":null,"parameterSlots":2,"returnSlots":1},"calldata_access_t_bytes32":{"entryPoint":4337,"id":null,"parameterSlots":2,"returnSlots":1},"calldata_access_t_bytes_calldata_ptr":{"entryPoint":4430,"id":null,"parameterSlots":2,"returnSlots":2},"calldata_access_t_struct$_ReportData_$73_calldata_ptr":{"entryPoint":4380,"id":null,"parameterSlots":2,"returnSlots":1},"calldata_access_t_uint256":{"entryPoint":4574,"id":null,"parameterSlots":2,"returnSlots":1},"checked_mul_t_uint256":{"entryPoint":5068,"id":null,"parameterSlots":2,"returnSlots":1},"checked_sub_t_uint256":{"entryPoint":5016,"id":null,"parameterSlots":2,"returnSlots":1},"clean_up_bytearray_end_slots_t_bytes_storage":{"entryPoint":3986,"id":null,"parameterSlots":3,"returnSlots":0},"cleanup_t_bytes32":{"entryPoint":2319,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_uint256":{"entryPoint":2373,"id":null,"parameterSlots":1,"returnSlots":1},"clear_storage_range_t_bytes1":{"entryPoint":3951,"id":null,"parameterSlots":2,"returnSlots":0},"convert_t_uint256_to_t_uint256":{"entryPoint":3841,"id":null,"parameterSlots":1,"returnSlots":1},"copy_byte_array_to_storage_from_t_bytes_memory_ptr_to_t_bytes_storage":{"entryPoint":4127,"id":null,"parameterSlots":2,"returnSlots":0},"copy_calldata_to_memory_with_cleanup":{"entryPoint":3230,"id":null,"parameterSlots":3,"returnSlots":0},"copy_memory_to_memory_with_cleanup":{"entryPoint":2519,"id":null,"parameterSlots":3,"returnSlots":0},"divide_by_32_ceil":{"entryPoint":3720,"id":null,"parameterSlots":1,"returnSlots":1},"extract_byte_array_length":{"entryPoint":3650,"id":null,"parameterSlots":1,"returnSlots":1},"extract_used_part_and_set_length_of_short_byte_array":{"entryPoint":4099,"id":null,"parameterSlots":2,"returnSlots":1},"finalize_allocation":{"entryPoint":3105,"id":null,"parameterSlots":2,"returnSlots":0},"identity":{"entryPoint":3831,"id":null,"parameterSlots":1,"returnSlots":1},"mask_bytes_dynamic":{"entryPoint":4069,"id":null,"parameterSlots":2,"returnSlots":1},"panic_error_0x11":{"entryPoint":4969,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x22":{"entryPoint":3603,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x32":{"entryPoint":4922,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x41":{"entryPoint":3058,"id":null,"parameterSlots":0,"returnSlots":0},"prepare_store_t_uint256":{"entryPoint":3875,"id":null,"parameterSlots":1,"returnSlots":1},"revert_error_0803104b3ab68501accf02de57372b8e5e6e1582158b771d3f89279dc6822fe2":{"entryPoint":4420,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490":{"entryPoint":1960,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d":{"entryPoint":1955,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_1e55d03107e9c4f1b5e21c76a16fba166a461117ab153bcce65e6a4ea8e5fc8a":{"entryPoint":3454,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_21fe6b43b4db61d76a176e95bf1a6b9ede4c301f93a4246f41fecb96e160861d":{"entryPoint":1919,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_356d538aaf70fba12156cc466564b792649f8f3befb07b071c91142253e175ad":{"entryPoint":3449,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_3894daff73bdbb8963c284e167b207f7abade3c031c50828ea230a16bdbc0f20":{"entryPoint":4425,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef":{"entryPoint":1965,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_977805620ff29572292dee35f70b0f3f3f73d3fdd0e9f4d7a901c2e43ab18a2e":{"entryPoint":3459,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae":{"entryPoint":3053,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db":{"entryPoint":1914,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_db64ea6d4a12deece376118739de8d9f517a2db5b58ea2ca332ea908c04c71d4":{"entryPoint":4375,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b":{"entryPoint":1909,"id":null,"parameterSlots":0,"returnSlots":0},"round_up_to_mul_of_32":{"entryPoint":2561,"id":null,"parameterSlots":1,"returnSlots":1},"shift_left_dynamic":{"entryPoint":3736,"id":null,"parameterSlots":2,"returnSlots":1},"shift_right_unsigned_dynamic":{"entryPoint":4056,"id":null,"parameterSlots":2,"returnSlots":1},"storage_set_to_zero_t_uint256":{"entryPoint":3927,"id":null,"parameterSlots":2,"returnSlots":0},"update_byte_slice_dynamic32":{"entryPoint":3749,"id":null,"parameterSlots":3,"returnSlots":1},"update_storage_value_t_uint256_to_t_uint256":{"entryPoint":3885,"id":null,"parameterSlots":3,"returnSlots":0},"validator_revert_t_bytes32":{"entryPoint":2329,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_t_uint256":{"entryPoint":2383,"id":null,"parameterSlots":1,"returnSlots":0},"zero_value_for_split_t_uint256":{"entryPoint":3922,"id":null,"parameterSlots":0,"returnSlots":1}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:24967:3","statements":[{"body":{"nodeType":"YulBlock","src":"47:35:3","statements":[{"nodeType":"YulAssignment","src":"57:19:3","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"73:2:3","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"67:5:3"},"nodeType":"YulFunctionCall","src":"67:9:3"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"57:6:3"}]}]},"name":"allocate_unbounded","nodeType":"YulFunctionDefinition","returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"40:6:3","type":""}],"src":"7:75:3"},{"body":{"nodeType":"YulBlock","src":"177:28:3","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"194:1:3","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"197:1:3","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"187:6:3"},"nodeType":"YulFunctionCall","src":"187:12:3"},"nodeType":"YulExpressionStatement","src":"187:12:3"}]},"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulFunctionDefinition","src":"88:117:3"},{"body":{"nodeType":"YulBlock","src":"300:28:3","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"317:1:3","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"320:1:3","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"310:6:3"},"nodeType":"YulFunctionCall","src":"310:12:3"},"nodeType":"YulExpressionStatement","src":"310:12:3"}]},"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulFunctionDefinition","src":"211:117:3"},{"body":{"nodeType":"YulBlock","src":"423:28:3","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"440:1:3","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"443:1:3","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"433:6:3"},"nodeType":"YulFunctionCall","src":"433:12:3"},"nodeType":"YulExpressionStatement","src":"433:12:3"}]},"name":"revert_error_21fe6b43b4db61d76a176e95bf1a6b9ede4c301f93a4246f41fecb96e160861d","nodeType":"YulFunctionDefinition","src":"334:117:3"},{"body":{"nodeType":"YulBlock","src":"584:152:3","statements":[{"body":{"nodeType":"YulBlock","src":"623:83:3","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_21fe6b43b4db61d76a176e95bf1a6b9ede4c301f93a4246f41fecb96e160861d","nodeType":"YulIdentifier","src":"625:77:3"},"nodeType":"YulFunctionCall","src":"625:79:3"},"nodeType":"YulExpressionStatement","src":"625:79:3"}]},"condition":{"arguments":[{"arguments":[{"name":"end","nodeType":"YulIdentifier","src":"605:3:3"},{"name":"offset","nodeType":"YulIdentifier","src":"610:6:3"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"601:3:3"},"nodeType":"YulFunctionCall","src":"601:16:3"},{"kind":"number","nodeType":"YulLiteral","src":"619:2:3","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"597:3:3"},"nodeType":"YulFunctionCall","src":"597:25:3"},"nodeType":"YulIf","src":"594:112:3"},{"nodeType":"YulAssignment","src":"715:15:3","value":{"name":"offset","nodeType":"YulIdentifier","src":"724:6:3"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"715:5:3"}]}]},"name":"abi_decode_t_struct$_OracleAttestationData_$60_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"562:6:3","type":""},{"name":"end","nodeType":"YulTypedName","src":"570:3:3","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"578:5:3","type":""}],"src":"493:243:3"},{"body":{"nodeType":"YulBlock","src":"831:28:3","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"848:1:3","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"851:1:3","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"841:6:3"},"nodeType":"YulFunctionCall","src":"841:12:3"},"nodeType":"YulExpressionStatement","src":"841:12:3"}]},"name":"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d","nodeType":"YulFunctionDefinition","src":"742:117:3"},{"body":{"nodeType":"YulBlock","src":"954:28:3","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"971:1:3","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"974:1:3","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"964:6:3"},"nodeType":"YulFunctionCall","src":"964:12:3"},"nodeType":"YulExpressionStatement","src":"964:12:3"}]},"name":"revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490","nodeType":"YulFunctionDefinition","src":"865:117:3"},{"body":{"nodeType":"YulBlock","src":"1077:28:3","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1094:1:3","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1097:1:3","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1087:6:3"},"nodeType":"YulFunctionCall","src":"1087:12:3"},"nodeType":"YulExpressionStatement","src":"1087:12:3"}]},"name":"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef","nodeType":"YulFunctionDefinition","src":"988:117:3"},{"body":{"nodeType":"YulBlock","src":"1254:478:3","statements":[{"body":{"nodeType":"YulBlock","src":"1303:83:3","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d","nodeType":"YulIdentifier","src":"1305:77:3"},"nodeType":"YulFunctionCall","src":"1305:79:3"},"nodeType":"YulExpressionStatement","src":"1305:79:3"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1282:6:3"},{"kind":"number","nodeType":"YulLiteral","src":"1290:4:3","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1278:3:3"},"nodeType":"YulFunctionCall","src":"1278:17:3"},{"name":"end","nodeType":"YulIdentifier","src":"1297:3:3"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1274:3:3"},"nodeType":"YulFunctionCall","src":"1274:27:3"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1267:6:3"},"nodeType":"YulFunctionCall","src":"1267:35:3"},"nodeType":"YulIf","src":"1264:122:3"},{"nodeType":"YulAssignment","src":"1395:30:3","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1418:6:3"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1405:12:3"},"nodeType":"YulFunctionCall","src":"1405:20:3"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"1395:6:3"}]},{"body":{"nodeType":"YulBlock","src":"1468:83:3","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490","nodeType":"YulIdentifier","src":"1470:77:3"},"nodeType":"YulFunctionCall","src":"1470:79:3"},"nodeType":"YulExpressionStatement","src":"1470:79:3"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"1440:6:3"},{"kind":"number","nodeType":"YulLiteral","src":"1448:18:3","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1437:2:3"},"nodeType":"YulFunctionCall","src":"1437:30:3"},"nodeType":"YulIf","src":"1434:117:3"},{"nodeType":"YulAssignment","src":"1560:29:3","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1576:6:3"},{"kind":"number","nodeType":"YulLiteral","src":"1584:4:3","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1572:3:3"},"nodeType":"YulFunctionCall","src":"1572:17:3"},"variableNames":[{"name":"arrayPos","nodeType":"YulIdentifier","src":"1560:8:3"}]},{"body":{"nodeType":"YulBlock","src":"1643:83:3","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef","nodeType":"YulIdentifier","src":"1645:77:3"},"nodeType":"YulFunctionCall","src":"1645:79:3"},"nodeType":"YulExpressionStatement","src":"1645:79:3"}]},"condition":{"arguments":[{"arguments":[{"name":"arrayPos","nodeType":"YulIdentifier","src":"1608:8:3"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"1622:6:3"},{"kind":"number","nodeType":"YulLiteral","src":"1630:4:3","type":"","value":"0x40"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"1618:3:3"},"nodeType":"YulFunctionCall","src":"1618:17:3"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1604:3:3"},"nodeType":"YulFunctionCall","src":"1604:32:3"},{"name":"end","nodeType":"YulIdentifier","src":"1638:3:3"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1601:2:3"},"nodeType":"YulFunctionCall","src":"1601:41:3"},"nodeType":"YulIf","src":"1598:128:3"}]},"name":"abi_decode_t_array$_t_struct$_Validator_$85_calldata_ptr_$dyn_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"1221:6:3","type":""},{"name":"end","nodeType":"YulTypedName","src":"1229:3:3","type":""}],"returnVariables":[{"name":"arrayPos","nodeType":"YulTypedName","src":"1237:8:3","type":""},{"name":"length","nodeType":"YulTypedName","src":"1247:6:3","type":""}],"src":"1137:595:3"},{"body":{"nodeType":"YulBlock","src":"1881:478:3","statements":[{"body":{"nodeType":"YulBlock","src":"1930:83:3","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d","nodeType":"YulIdentifier","src":"1932:77:3"},"nodeType":"YulFunctionCall","src":"1932:79:3"},"nodeType":"YulExpressionStatement","src":"1932:79:3"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1909:6:3"},{"kind":"number","nodeType":"YulLiteral","src":"1917:4:3","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1905:3:3"},"nodeType":"YulFunctionCall","src":"1905:17:3"},{"name":"end","nodeType":"YulIdentifier","src":"1924:3:3"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1901:3:3"},"nodeType":"YulFunctionCall","src":"1901:27:3"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1894:6:3"},"nodeType":"YulFunctionCall","src":"1894:35:3"},"nodeType":"YulIf","src":"1891:122:3"},{"nodeType":"YulAssignment","src":"2022:30:3","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"2045:6:3"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2032:12:3"},"nodeType":"YulFunctionCall","src":"2032:20:3"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"2022:6:3"}]},{"body":{"nodeType":"YulBlock","src":"2095:83:3","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490","nodeType":"YulIdentifier","src":"2097:77:3"},"nodeType":"YulFunctionCall","src":"2097:79:3"},"nodeType":"YulExpressionStatement","src":"2097:79:3"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"2067:6:3"},{"kind":"number","nodeType":"YulLiteral","src":"2075:18:3","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"2064:2:3"},"nodeType":"YulFunctionCall","src":"2064:30:3"},"nodeType":"YulIf","src":"2061:117:3"},{"nodeType":"YulAssignment","src":"2187:29:3","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"2203:6:3"},{"kind":"number","nodeType":"YulLiteral","src":"2211:4:3","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2199:3:3"},"nodeType":"YulFunctionCall","src":"2199:17:3"},"variableNames":[{"name":"arrayPos","nodeType":"YulIdentifier","src":"2187:8:3"}]},{"body":{"nodeType":"YulBlock","src":"2270:83:3","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef","nodeType":"YulIdentifier","src":"2272:77:3"},"nodeType":"YulFunctionCall","src":"2272:79:3"},"nodeType":"YulExpressionStatement","src":"2272:79:3"}]},"condition":{"arguments":[{"arguments":[{"name":"arrayPos","nodeType":"YulIdentifier","src":"2235:8:3"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"2249:6:3"},{"kind":"number","nodeType":"YulLiteral","src":"2257:4:3","type":"","value":"0x60"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"2245:3:3"},"nodeType":"YulFunctionCall","src":"2245:17:3"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2231:3:3"},"nodeType":"YulFunctionCall","src":"2231:32:3"},{"name":"end","nodeType":"YulIdentifier","src":"2265:3:3"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"2228:2:3"},"nodeType":"YulFunctionCall","src":"2228:41:3"},"nodeType":"YulIf","src":"2225:128:3"}]},"name":"abi_decode_t_array$_t_struct$_Signature_$80_calldata_ptr_$dyn_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"1848:6:3","type":""},{"name":"end","nodeType":"YulTypedName","src":"1856:3:3","type":""}],"returnVariables":[{"name":"arrayPos","nodeType":"YulTypedName","src":"1864:8:3","type":""},{"name":"length","nodeType":"YulTypedName","src":"1874:6:3","type":""}],"src":"1764:595:3"},{"body":{"nodeType":"YulBlock","src":"2628:1162:3","statements":[{"body":{"nodeType":"YulBlock","src":"2674:83:3","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"2676:77:3"},"nodeType":"YulFunctionCall","src":"2676:79:3"},"nodeType":"YulExpressionStatement","src":"2676:79:3"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"2649:7:3"},{"name":"headStart","nodeType":"YulIdentifier","src":"2658:9:3"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2645:3:3"},"nodeType":"YulFunctionCall","src":"2645:23:3"},{"kind":"number","nodeType":"YulLiteral","src":"2670:2:3","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2641:3:3"},"nodeType":"YulFunctionCall","src":"2641:32:3"},"nodeType":"YulIf","src":"2638:119:3"},{"nodeType":"YulBlock","src":"2767:316:3","statements":[{"nodeType":"YulVariableDeclaration","src":"2782:45:3","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2813:9:3"},{"kind":"number","nodeType":"YulLiteral","src":"2824:1:3","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2809:3:3"},"nodeType":"YulFunctionCall","src":"2809:17:3"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2796:12:3"},"nodeType":"YulFunctionCall","src":"2796:31:3"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"2786:6:3","type":""}]},{"body":{"nodeType":"YulBlock","src":"2874:83:3","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulIdentifier","src":"2876:77:3"},"nodeType":"YulFunctionCall","src":"2876:79:3"},"nodeType":"YulExpressionStatement","src":"2876:79:3"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"2846:6:3"},{"kind":"number","nodeType":"YulLiteral","src":"2854:18:3","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"2843:2:3"},"nodeType":"YulFunctionCall","src":"2843:30:3"},"nodeType":"YulIf","src":"2840:117:3"},{"nodeType":"YulAssignment","src":"2971:102:3","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3045:9:3"},{"name":"offset","nodeType":"YulIdentifier","src":"3056:6:3"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3041:3:3"},"nodeType":"YulFunctionCall","src":"3041:22:3"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"3065:7:3"}],"functionName":{"name":"abi_decode_t_struct$_OracleAttestationData_$60_calldata_ptr","nodeType":"YulIdentifier","src":"2981:59:3"},"nodeType":"YulFunctionCall","src":"2981:92:3"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"2971:6:3"}]}]},{"nodeType":"YulBlock","src":"3093:340:3","statements":[{"nodeType":"YulVariableDeclaration","src":"3108:46:3","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3139:9:3"},{"kind":"number","nodeType":"YulLiteral","src":"3150:2:3","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3135:3:3"},"nodeType":"YulFunctionCall","src":"3135:18:3"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3122:12:3"},"nodeType":"YulFunctionCall","src":"3122:32:3"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"3112:6:3","type":""}]},{"body":{"nodeType":"YulBlock","src":"3201:83:3","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulIdentifier","src":"3203:77:3"},"nodeType":"YulFunctionCall","src":"3203:79:3"},"nodeType":"YulExpressionStatement","src":"3203:79:3"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"3173:6:3"},{"kind":"number","nodeType":"YulLiteral","src":"3181:18:3","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"3170:2:3"},"nodeType":"YulFunctionCall","src":"3170:30:3"},"nodeType":"YulIf","src":"3167:117:3"},{"nodeType":"YulAssignment","src":"3298:125:3","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3395:9:3"},{"name":"offset","nodeType":"YulIdentifier","src":"3406:6:3"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3391:3:3"},"nodeType":"YulFunctionCall","src":"3391:22:3"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"3415:7:3"}],"functionName":{"name":"abi_decode_t_array$_t_struct$_Validator_$85_calldata_ptr_$dyn_calldata_ptr","nodeType":"YulIdentifier","src":"3316:74:3"},"nodeType":"YulFunctionCall","src":"3316:107:3"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"3298:6:3"},{"name":"value2","nodeType":"YulIdentifier","src":"3306:6:3"}]}]},{"nodeType":"YulBlock","src":"3443:340:3","statements":[{"nodeType":"YulVariableDeclaration","src":"3458:46:3","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3489:9:3"},{"kind":"number","nodeType":"YulLiteral","src":"3500:2:3","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3485:3:3"},"nodeType":"YulFunctionCall","src":"3485:18:3"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3472:12:3"},"nodeType":"YulFunctionCall","src":"3472:32:3"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"3462:6:3","type":""}]},{"body":{"nodeType":"YulBlock","src":"3551:83:3","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulIdentifier","src":"3553:77:3"},"nodeType":"YulFunctionCall","src":"3553:79:3"},"nodeType":"YulExpressionStatement","src":"3553:79:3"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"3523:6:3"},{"kind":"number","nodeType":"YulLiteral","src":"3531:18:3","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"3520:2:3"},"nodeType":"YulFunctionCall","src":"3520:30:3"},"nodeType":"YulIf","src":"3517:117:3"},{"nodeType":"YulAssignment","src":"3648:125:3","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3745:9:3"},{"name":"offset","nodeType":"YulIdentifier","src":"3756:6:3"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3741:3:3"},"nodeType":"YulFunctionCall","src":"3741:22:3"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"3765:7:3"}],"functionName":{"name":"abi_decode_t_array$_t_struct$_Signature_$80_calldata_ptr_$dyn_calldata_ptr","nodeType":"YulIdentifier","src":"3666:74:3"},"nodeType":"YulFunctionCall","src":"3666:107:3"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"3648:6:3"},{"name":"value4","nodeType":"YulIdentifier","src":"3656:6:3"}]}]}]},"name":"abi_decode_tuple_t_struct$_OracleAttestationData_$60_calldata_ptrt_array$_t_struct$_Validator_$85_calldata_ptr_$dyn_calldata_ptrt_array$_t_struct$_Signature_$80_calldata_ptr_$dyn_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2566:9:3","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"2577:7:3","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"2589:6:3","type":""},{"name":"value1","nodeType":"YulTypedName","src":"2597:6:3","type":""},{"name":"value2","nodeType":"YulTypedName","src":"2605:6:3","type":""},{"name":"value3","nodeType":"YulTypedName","src":"2613:6:3","type":""},{"name":"value4","nodeType":"YulTypedName","src":"2621:6:3","type":""}],"src":"2365:1425:3"},{"body":{"nodeType":"YulBlock","src":"3841:32:3","statements":[{"nodeType":"YulAssignment","src":"3851:16:3","value":{"name":"value","nodeType":"YulIdentifier","src":"3862:5:3"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"3851:7:3"}]}]},"name":"cleanup_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"3823:5:3","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"3833:7:3","type":""}],"src":"3796:77:3"},{"body":{"nodeType":"YulBlock","src":"3922:79:3","statements":[{"body":{"nodeType":"YulBlock","src":"3979:16:3","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3988:1:3","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3991:1:3","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3981:6:3"},"nodeType":"YulFunctionCall","src":"3981:12:3"},"nodeType":"YulExpressionStatement","src":"3981:12:3"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3945:5:3"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3970:5:3"}],"functionName":{"name":"cleanup_t_bytes32","nodeType":"YulIdentifier","src":"3952:17:3"},"nodeType":"YulFunctionCall","src":"3952:24:3"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"3942:2:3"},"nodeType":"YulFunctionCall","src":"3942:35:3"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"3935:6:3"},"nodeType":"YulFunctionCall","src":"3935:43:3"},"nodeType":"YulIf","src":"3932:63:3"}]},"name":"validator_revert_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"3915:5:3","type":""}],"src":"3879:122:3"},{"body":{"nodeType":"YulBlock","src":"4059:87:3","statements":[{"nodeType":"YulAssignment","src":"4069:29:3","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"4091:6:3"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4078:12:3"},"nodeType":"YulFunctionCall","src":"4078:20:3"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"4069:5:3"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"4134:5:3"}],"functionName":{"name":"validator_revert_t_bytes32","nodeType":"YulIdentifier","src":"4107:26:3"},"nodeType":"YulFunctionCall","src":"4107:33:3"},"nodeType":"YulExpressionStatement","src":"4107:33:3"}]},"name":"abi_decode_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"4037:6:3","type":""},{"name":"end","nodeType":"YulTypedName","src":"4045:3:3","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"4053:5:3","type":""}],"src":"4007:139:3"},{"body":{"nodeType":"YulBlock","src":"4197:32:3","statements":[{"nodeType":"YulAssignment","src":"4207:16:3","value":{"name":"value","nodeType":"YulIdentifier","src":"4218:5:3"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"4207:7:3"}]}]},"name":"cleanup_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"4179:5:3","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"4189:7:3","type":""}],"src":"4152:77:3"},{"body":{"nodeType":"YulBlock","src":"4278:79:3","statements":[{"body":{"nodeType":"YulBlock","src":"4335:16:3","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4344:1:3","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4347:1:3","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4337:6:3"},"nodeType":"YulFunctionCall","src":"4337:12:3"},"nodeType":"YulExpressionStatement","src":"4337:12:3"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"4301:5:3"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"4326:5:3"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"4308:17:3"},"nodeType":"YulFunctionCall","src":"4308:24:3"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"4298:2:3"},"nodeType":"YulFunctionCall","src":"4298:35:3"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"4291:6:3"},"nodeType":"YulFunctionCall","src":"4291:43:3"},"nodeType":"YulIf","src":"4288:63:3"}]},"name":"validator_revert_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"4271:5:3","type":""}],"src":"4235:122:3"},{"body":{"nodeType":"YulBlock","src":"4415:87:3","statements":[{"nodeType":"YulAssignment","src":"4425:29:3","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"4447:6:3"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4434:12:3"},"nodeType":"YulFunctionCall","src":"4434:20:3"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"4425:5:3"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"4490:5:3"}],"functionName":{"name":"validator_revert_t_uint256","nodeType":"YulIdentifier","src":"4463:26:3"},"nodeType":"YulFunctionCall","src":"4463:33:3"},"nodeType":"YulExpressionStatement","src":"4463:33:3"}]},"name":"abi_decode_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"4393:6:3","type":""},{"name":"end","nodeType":"YulTypedName","src":"4401:3:3","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"4409:5:3","type":""}],"src":"4363:139:3"},{"body":{"nodeType":"YulBlock","src":"4591:391:3","statements":[{"body":{"nodeType":"YulBlock","src":"4637:83:3","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"4639:77:3"},"nodeType":"YulFunctionCall","src":"4639:79:3"},"nodeType":"YulExpressionStatement","src":"4639:79:3"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"4612:7:3"},{"name":"headStart","nodeType":"YulIdentifier","src":"4621:9:3"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4608:3:3"},"nodeType":"YulFunctionCall","src":"4608:23:3"},{"kind":"number","nodeType":"YulLiteral","src":"4633:2:3","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"4604:3:3"},"nodeType":"YulFunctionCall","src":"4604:32:3"},"nodeType":"YulIf","src":"4601:119:3"},{"nodeType":"YulBlock","src":"4730:117:3","statements":[{"nodeType":"YulVariableDeclaration","src":"4745:15:3","value":{"kind":"number","nodeType":"YulLiteral","src":"4759:1:3","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"4749:6:3","type":""}]},{"nodeType":"YulAssignment","src":"4774:63:3","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4809:9:3"},{"name":"offset","nodeType":"YulIdentifier","src":"4820:6:3"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4805:3:3"},"nodeType":"YulFunctionCall","src":"4805:22:3"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"4829:7:3"}],"functionName":{"name":"abi_decode_t_bytes32","nodeType":"YulIdentifier","src":"4784:20:3"},"nodeType":"YulFunctionCall","src":"4784:53:3"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"4774:6:3"}]}]},{"nodeType":"YulBlock","src":"4857:118:3","statements":[{"nodeType":"YulVariableDeclaration","src":"4872:16:3","value":{"kind":"number","nodeType":"YulLiteral","src":"4886:2:3","type":"","value":"32"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"4876:6:3","type":""}]},{"nodeType":"YulAssignment","src":"4902:63:3","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4937:9:3"},{"name":"offset","nodeType":"YulIdentifier","src":"4948:6:3"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4933:3:3"},"nodeType":"YulFunctionCall","src":"4933:22:3"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"4957:7:3"}],"functionName":{"name":"abi_decode_t_uint256","nodeType":"YulIdentifier","src":"4912:20:3"},"nodeType":"YulFunctionCall","src":"4912:53:3"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"4902:6:3"}]}]}]},"name":"abi_decode_tuple_t_bytes32t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4553:9:3","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"4564:7:3","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"4576:6:3","type":""},{"name":"value1","nodeType":"YulTypedName","src":"4584:6:3","type":""}],"src":"4508:474:3"},{"body":{"nodeType":"YulBlock","src":"5046:40:3","statements":[{"nodeType":"YulAssignment","src":"5057:22:3","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"5073:5:3"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"5067:5:3"},"nodeType":"YulFunctionCall","src":"5067:12:3"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"5057:6:3"}]}]},"name":"array_length_t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"5029:5:3","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"5039:6:3","type":""}],"src":"4988:98:3"},{"body":{"nodeType":"YulBlock","src":"5177:73:3","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"5194:3:3"},{"name":"length","nodeType":"YulIdentifier","src":"5199:6:3"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5187:6:3"},"nodeType":"YulFunctionCall","src":"5187:19:3"},"nodeType":"YulExpressionStatement","src":"5187:19:3"},{"nodeType":"YulAssignment","src":"5215:29:3","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"5234:3:3"},{"kind":"number","nodeType":"YulLiteral","src":"5239:4:3","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5230:3:3"},"nodeType":"YulFunctionCall","src":"5230:14:3"},"variableNames":[{"name":"updated_pos","nodeType":"YulIdentifier","src":"5215:11:3"}]}]},"name":"array_storeLengthForEncoding_t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"5149:3:3","type":""},{"name":"length","nodeType":"YulTypedName","src":"5154:6:3","type":""}],"returnVariables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"5165:11:3","type":""}],"src":"5092:158:3"},{"body":{"nodeType":"YulBlock","src":"5318:184:3","statements":[{"nodeType":"YulVariableDeclaration","src":"5328:10:3","value":{"kind":"number","nodeType":"YulLiteral","src":"5337:1:3","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"5332:1:3","type":""}]},{"body":{"nodeType":"YulBlock","src":"5397:63:3","statements":[{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"5422:3:3"},{"name":"i","nodeType":"YulIdentifier","src":"5427:1:3"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5418:3:3"},"nodeType":"YulFunctionCall","src":"5418:11:3"},{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"5441:3:3"},{"name":"i","nodeType":"YulIdentifier","src":"5446:1:3"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5437:3:3"},"nodeType":"YulFunctionCall","src":"5437:11:3"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"5431:5:3"},"nodeType":"YulFunctionCall","src":"5431:18:3"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5411:6:3"},"nodeType":"YulFunctionCall","src":"5411:39:3"},"nodeType":"YulExpressionStatement","src":"5411:39:3"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"5358:1:3"},{"name":"length","nodeType":"YulIdentifier","src":"5361:6:3"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"5355:2:3"},"nodeType":"YulFunctionCall","src":"5355:13:3"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"5369:19:3","statements":[{"nodeType":"YulAssignment","src":"5371:15:3","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"5380:1:3"},{"kind":"number","nodeType":"YulLiteral","src":"5383:2:3","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5376:3:3"},"nodeType":"YulFunctionCall","src":"5376:10:3"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"5371:1:3"}]}]},"pre":{"nodeType":"YulBlock","src":"5351:3:3","statements":[]},"src":"5347:113:3"},{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"5480:3:3"},{"name":"length","nodeType":"YulIdentifier","src":"5485:6:3"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5476:3:3"},"nodeType":"YulFunctionCall","src":"5476:16:3"},{"kind":"number","nodeType":"YulLiteral","src":"5494:1:3","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5469:6:3"},"nodeType":"YulFunctionCall","src":"5469:27:3"},"nodeType":"YulExpressionStatement","src":"5469:27:3"}]},"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"5300:3:3","type":""},{"name":"dst","nodeType":"YulTypedName","src":"5305:3:3","type":""},{"name":"length","nodeType":"YulTypedName","src":"5310:6:3","type":""}],"src":"5256:246:3"},{"body":{"nodeType":"YulBlock","src":"5556:54:3","statements":[{"nodeType":"YulAssignment","src":"5566:38:3","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"5584:5:3"},{"kind":"number","nodeType":"YulLiteral","src":"5591:2:3","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5580:3:3"},"nodeType":"YulFunctionCall","src":"5580:14:3"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5600:2:3","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"5596:3:3"},"nodeType":"YulFunctionCall","src":"5596:7:3"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"5576:3:3"},"nodeType":"YulFunctionCall","src":"5576:28:3"},"variableNames":[{"name":"result","nodeType":"YulIdentifier","src":"5566:6:3"}]}]},"name":"round_up_to_mul_of_32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"5539:5:3","type":""}],"returnVariables":[{"name":"result","nodeType":"YulTypedName","src":"5549:6:3","type":""}],"src":"5508:102:3"},{"body":{"nodeType":"YulBlock","src":"5696:273:3","statements":[{"nodeType":"YulVariableDeclaration","src":"5706:52:3","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"5752:5:3"}],"functionName":{"name":"array_length_t_bytes_memory_ptr","nodeType":"YulIdentifier","src":"5720:31:3"},"nodeType":"YulFunctionCall","src":"5720:38:3"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"5710:6:3","type":""}]},{"nodeType":"YulAssignment","src":"5767:67:3","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"5822:3:3"},{"name":"length","nodeType":"YulIdentifier","src":"5827:6:3"}],"functionName":{"name":"array_storeLengthForEncoding_t_bytes_memory_ptr","nodeType":"YulIdentifier","src":"5774:47:3"},"nodeType":"YulFunctionCall","src":"5774:60:3"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"5767:3:3"}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"5882:5:3"},{"kind":"number","nodeType":"YulLiteral","src":"5889:4:3","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5878:3:3"},"nodeType":"YulFunctionCall","src":"5878:16:3"},{"name":"pos","nodeType":"YulIdentifier","src":"5896:3:3"},{"name":"length","nodeType":"YulIdentifier","src":"5901:6:3"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"5843:34:3"},"nodeType":"YulFunctionCall","src":"5843:65:3"},"nodeType":"YulExpressionStatement","src":"5843:65:3"},{"nodeType":"YulAssignment","src":"5917:46:3","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"5928:3:3"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"5955:6:3"}],"functionName":{"name":"round_up_to_mul_of_32","nodeType":"YulIdentifier","src":"5933:21:3"},"nodeType":"YulFunctionCall","src":"5933:29:3"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5924:3:3"},"nodeType":"YulFunctionCall","src":"5924:39:3"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"5917:3:3"}]}]},"name":"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"5677:5:3","type":""},{"name":"pos","nodeType":"YulTypedName","src":"5684:3:3","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"5692:3:3","type":""}],"src":"5616:353:3"},{"body":{"nodeType":"YulBlock","src":"6030:53:3","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"6047:3:3"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"6070:5:3"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"6052:17:3"},"nodeType":"YulFunctionCall","src":"6052:24:3"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6040:6:3"},"nodeType":"YulFunctionCall","src":"6040:37:3"},"nodeType":"YulExpressionStatement","src":"6040:37:3"}]},"name":"abi_encode_t_uint256_to_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"6018:5:3","type":""},{"name":"pos","nodeType":"YulTypedName","src":"6025:3:3","type":""}],"src":"5975:108:3"},{"body":{"nodeType":"YulBlock","src":"6313:1044:3","statements":[{"nodeType":"YulVariableDeclaration","src":"6323:26:3","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"6339:3:3"},{"kind":"number","nodeType":"YulLiteral","src":"6344:4:3","type":"","value":"0xa0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6335:3:3"},"nodeType":"YulFunctionCall","src":"6335:14:3"},"variables":[{"name":"tail","nodeType":"YulTypedName","src":"6327:4:3","type":""}]},{"nodeType":"YulBlock","src":"6359:234:3","statements":[{"nodeType":"YulVariableDeclaration","src":"6395:43:3","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"6425:5:3"},{"kind":"number","nodeType":"YulLiteral","src":"6432:4:3","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6421:3:3"},"nodeType":"YulFunctionCall","src":"6421:16:3"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"6415:5:3"},"nodeType":"YulFunctionCall","src":"6415:23:3"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"6399:12:3","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"6463:3:3"},{"kind":"number","nodeType":"YulLiteral","src":"6468:4:3","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6459:3:3"},"nodeType":"YulFunctionCall","src":"6459:14:3"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"6479:4:3"},{"name":"pos","nodeType":"YulIdentifier","src":"6485:3:3"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"6475:3:3"},"nodeType":"YulFunctionCall","src":"6475:14:3"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6452:6:3"},"nodeType":"YulFunctionCall","src":"6452:38:3"},"nodeType":"YulExpressionStatement","src":"6452:38:3"},{"nodeType":"YulAssignment","src":"6503:79:3","value":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"6563:12:3"},{"name":"tail","nodeType":"YulIdentifier","src":"6577:4:3"}],"functionName":{"name":"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr","nodeType":"YulIdentifier","src":"6511:51:3"},"nodeType":"YulFunctionCall","src":"6511:71:3"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"6503:4:3"}]}]},{"nodeType":"YulBlock","src":"6603:165:3","statements":[{"nodeType":"YulVariableDeclaration","src":"6639:43:3","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"6669:5:3"},{"kind":"number","nodeType":"YulLiteral","src":"6676:4:3","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6665:3:3"},"nodeType":"YulFunctionCall","src":"6665:16:3"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"6659:5:3"},"nodeType":"YulFunctionCall","src":"6659:23:3"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"6643:12:3","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"6729:12:3"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"6747:3:3"},{"kind":"number","nodeType":"YulLiteral","src":"6752:4:3","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6743:3:3"},"nodeType":"YulFunctionCall","src":"6743:14:3"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256","nodeType":"YulIdentifier","src":"6695:33:3"},"nodeType":"YulFunctionCall","src":"6695:63:3"},"nodeType":"YulExpressionStatement","src":"6695:63:3"}]},{"nodeType":"YulBlock","src":"6778:178:3","statements":[{"nodeType":"YulVariableDeclaration","src":"6827:43:3","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"6857:5:3"},{"kind":"number","nodeType":"YulLiteral","src":"6864:4:3","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6853:3:3"},"nodeType":"YulFunctionCall","src":"6853:16:3"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"6847:5:3"},"nodeType":"YulFunctionCall","src":"6847:23:3"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"6831:12:3","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"6917:12:3"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"6935:3:3"},{"kind":"number","nodeType":"YulLiteral","src":"6940:4:3","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6931:3:3"},"nodeType":"YulFunctionCall","src":"6931:14:3"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256","nodeType":"YulIdentifier","src":"6883:33:3"},"nodeType":"YulFunctionCall","src":"6883:63:3"},"nodeType":"YulExpressionStatement","src":"6883:63:3"}]},{"nodeType":"YulBlock","src":"6966:180:3","statements":[{"nodeType":"YulVariableDeclaration","src":"7017:43:3","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7047:5:3"},{"kind":"number","nodeType":"YulLiteral","src":"7054:4:3","type":"","value":"0x60"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7043:3:3"},"nodeType":"YulFunctionCall","src":"7043:16:3"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"7037:5:3"},"nodeType":"YulFunctionCall","src":"7037:23:3"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"7021:12:3","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"7107:12:3"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"7125:3:3"},{"kind":"number","nodeType":"YulLiteral","src":"7130:4:3","type":"","value":"0x60"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7121:3:3"},"nodeType":"YulFunctionCall","src":"7121:14:3"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256","nodeType":"YulIdentifier","src":"7073:33:3"},"nodeType":"YulFunctionCall","src":"7073:63:3"},"nodeType":"YulExpressionStatement","src":"7073:63:3"}]},{"nodeType":"YulBlock","src":"7156:174:3","statements":[{"nodeType":"YulVariableDeclaration","src":"7201:43:3","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7231:5:3"},{"kind":"number","nodeType":"YulLiteral","src":"7238:4:3","type":"","value":"0x80"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7227:3:3"},"nodeType":"YulFunctionCall","src":"7227:16:3"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"7221:5:3"},"nodeType":"YulFunctionCall","src":"7221:23:3"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"7205:12:3","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"7291:12:3"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"7309:3:3"},{"kind":"number","nodeType":"YulLiteral","src":"7314:4:3","type":"","value":"0x80"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7305:3:3"},"nodeType":"YulFunctionCall","src":"7305:14:3"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256","nodeType":"YulIdentifier","src":"7257:33:3"},"nodeType":"YulFunctionCall","src":"7257:63:3"},"nodeType":"YulExpressionStatement","src":"7257:63:3"}]},{"nodeType":"YulAssignment","src":"7340:11:3","value":{"name":"tail","nodeType":"YulIdentifier","src":"7347:4:3"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"7340:3:3"}]}]},"name":"abi_encode_t_struct$_AggregateData_$141_memory_ptr_to_t_struct$_AggregateData_$141_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"6292:5:3","type":""},{"name":"pos","nodeType":"YulTypedName","src":"6299:3:3","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"6308:3:3","type":""}],"src":"6179:1178:3"},{"body":{"nodeType":"YulBlock","src":"7521:235:3","statements":[{"nodeType":"YulAssignment","src":"7531:26:3","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7543:9:3"},{"kind":"number","nodeType":"YulLiteral","src":"7554:2:3","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7539:3:3"},"nodeType":"YulFunctionCall","src":"7539:18:3"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"7531:4:3"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7578:9:3"},{"kind":"number","nodeType":"YulLiteral","src":"7589:1:3","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7574:3:3"},"nodeType":"YulFunctionCall","src":"7574:17:3"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"7597:4:3"},{"name":"headStart","nodeType":"YulIdentifier","src":"7603:9:3"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"7593:3:3"},"nodeType":"YulFunctionCall","src":"7593:20:3"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7567:6:3"},"nodeType":"YulFunctionCall","src":"7567:47:3"},"nodeType":"YulExpressionStatement","src":"7567:47:3"},{"nodeType":"YulAssignment","src":"7623:126:3","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"7735:6:3"},{"name":"tail","nodeType":"YulIdentifier","src":"7744:4:3"}],"functionName":{"name":"abi_encode_t_struct$_AggregateData_$141_memory_ptr_to_t_struct$_AggregateData_$141_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"7631:103:3"},"nodeType":"YulFunctionCall","src":"7631:118:3"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"7623:4:3"}]}]},"name":"abi_encode_tuple_t_struct$_AggregateData_$141_memory_ptr__to_t_struct$_AggregateData_$141_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7493:9:3","type":""},{"name":"value0","nodeType":"YulTypedName","src":"7505:6:3","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"7516:4:3","type":""}],"src":"7363:393:3"},{"body":{"nodeType":"YulBlock","src":"7857:73:3","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"7874:3:3"},{"name":"length","nodeType":"YulIdentifier","src":"7879:6:3"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7867:6:3"},"nodeType":"YulFunctionCall","src":"7867:19:3"},"nodeType":"YulExpressionStatement","src":"7867:19:3"},{"nodeType":"YulAssignment","src":"7895:29:3","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"7914:3:3"},{"kind":"number","nodeType":"YulLiteral","src":"7919:4:3","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7910:3:3"},"nodeType":"YulFunctionCall","src":"7910:14:3"},"variableNames":[{"name":"updated_pos","nodeType":"YulIdentifier","src":"7895:11:3"}]}]},"name":"array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"7829:3:3","type":""},{"name":"length","nodeType":"YulTypedName","src":"7834:6:3","type":""}],"returnVariables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"7845:11:3","type":""}],"src":"7762:168:3"},{"body":{"nodeType":"YulBlock","src":"8026:283:3","statements":[{"nodeType":"YulVariableDeclaration","src":"8036:52:3","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"8082:5:3"}],"functionName":{"name":"array_length_t_bytes_memory_ptr","nodeType":"YulIdentifier","src":"8050:31:3"},"nodeType":"YulFunctionCall","src":"8050:38:3"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"8040:6:3","type":""}]},{"nodeType":"YulAssignment","src":"8097:77:3","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"8162:3:3"},{"name":"length","nodeType":"YulIdentifier","src":"8167:6:3"}],"functionName":{"name":"array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"8104:57:3"},"nodeType":"YulFunctionCall","src":"8104:70:3"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"8097:3:3"}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"8222:5:3"},{"kind":"number","nodeType":"YulLiteral","src":"8229:4:3","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8218:3:3"},"nodeType":"YulFunctionCall","src":"8218:16:3"},{"name":"pos","nodeType":"YulIdentifier","src":"8236:3:3"},{"name":"length","nodeType":"YulIdentifier","src":"8241:6:3"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"8183:34:3"},"nodeType":"YulFunctionCall","src":"8183:65:3"},"nodeType":"YulExpressionStatement","src":"8183:65:3"},{"nodeType":"YulAssignment","src":"8257:46:3","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"8268:3:3"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"8295:6:3"}],"functionName":{"name":"round_up_to_mul_of_32","nodeType":"YulIdentifier","src":"8273:21:3"},"nodeType":"YulFunctionCall","src":"8273:29:3"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8264:3:3"},"nodeType":"YulFunctionCall","src":"8264:39:3"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"8257:3:3"}]}]},"name":"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"8007:5:3","type":""},{"name":"pos","nodeType":"YulTypedName","src":"8014:3:3","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"8022:3:3","type":""}],"src":"7936:373:3"},{"body":{"nodeType":"YulBlock","src":"8380:53:3","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"8397:3:3"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"8420:5:3"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"8402:17:3"},"nodeType":"YulFunctionCall","src":"8402:24:3"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8390:6:3"},"nodeType":"YulFunctionCall","src":"8390:37:3"},"nodeType":"YulExpressionStatement","src":"8390:37:3"}]},"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"8368:5:3","type":""},{"name":"pos","nodeType":"YulTypedName","src":"8375:3:3","type":""}],"src":"8315:118:3"},{"body":{"nodeType":"YulBlock","src":"8667:523:3","statements":[{"nodeType":"YulAssignment","src":"8677:27:3","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8689:9:3"},{"kind":"number","nodeType":"YulLiteral","src":"8700:3:3","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8685:3:3"},"nodeType":"YulFunctionCall","src":"8685:19:3"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"8677:4:3"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8725:9:3"},{"kind":"number","nodeType":"YulLiteral","src":"8736:1:3","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8721:3:3"},"nodeType":"YulFunctionCall","src":"8721:17:3"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"8744:4:3"},{"name":"headStart","nodeType":"YulIdentifier","src":"8750:9:3"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"8740:3:3"},"nodeType":"YulFunctionCall","src":"8740:20:3"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8714:6:3"},"nodeType":"YulFunctionCall","src":"8714:47:3"},"nodeType":"YulExpressionStatement","src":"8714:47:3"},{"nodeType":"YulAssignment","src":"8770:84:3","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"8840:6:3"},{"name":"tail","nodeType":"YulIdentifier","src":"8849:4:3"}],"functionName":{"name":"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"8778:61:3"},"nodeType":"YulFunctionCall","src":"8778:76:3"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"8770:4:3"}]},{"expression":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"8908:6:3"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8921:9:3"},{"kind":"number","nodeType":"YulLiteral","src":"8932:2:3","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8917:3:3"},"nodeType":"YulFunctionCall","src":"8917:18:3"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"8864:43:3"},"nodeType":"YulFunctionCall","src":"8864:72:3"},"nodeType":"YulExpressionStatement","src":"8864:72:3"},{"expression":{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"8990:6:3"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9003:9:3"},{"kind":"number","nodeType":"YulLiteral","src":"9014:2:3","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8999:3:3"},"nodeType":"YulFunctionCall","src":"8999:18:3"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"8946:43:3"},"nodeType":"YulFunctionCall","src":"8946:72:3"},"nodeType":"YulExpressionStatement","src":"8946:72:3"},{"expression":{"arguments":[{"name":"value3","nodeType":"YulIdentifier","src":"9072:6:3"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9085:9:3"},{"kind":"number","nodeType":"YulLiteral","src":"9096:2:3","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9081:3:3"},"nodeType":"YulFunctionCall","src":"9081:18:3"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"9028:43:3"},"nodeType":"YulFunctionCall","src":"9028:72:3"},"nodeType":"YulExpressionStatement","src":"9028:72:3"},{"expression":{"arguments":[{"name":"value4","nodeType":"YulIdentifier","src":"9154:6:3"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9167:9:3"},{"kind":"number","nodeType":"YulLiteral","src":"9178:3:3","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9163:3:3"},"nodeType":"YulFunctionCall","src":"9163:19:3"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"9110:43:3"},"nodeType":"YulFunctionCall","src":"9110:73:3"},"nodeType":"YulExpressionStatement","src":"9110:73:3"}]},"name":"abi_encode_tuple_t_bytes_memory_ptr_t_uint256_t_uint256_t_uint256_t_uint256__to_t_bytes_memory_ptr_t_uint256_t_uint256_t_uint256_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"8607:9:3","type":""},{"name":"value4","nodeType":"YulTypedName","src":"8619:6:3","type":""},{"name":"value3","nodeType":"YulTypedName","src":"8627:6:3","type":""},{"name":"value2","nodeType":"YulTypedName","src":"8635:6:3","type":""},{"name":"value1","nodeType":"YulTypedName","src":"8643:6:3","type":""},{"name":"value0","nodeType":"YulTypedName","src":"8651:6:3","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"8662:4:3","type":""}],"src":"8439:751:3"},{"body":{"nodeType":"YulBlock","src":"9262:263:3","statements":[{"body":{"nodeType":"YulBlock","src":"9308:83:3","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"9310:77:3"},"nodeType":"YulFunctionCall","src":"9310:79:3"},"nodeType":"YulExpressionStatement","src":"9310:79:3"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"9283:7:3"},{"name":"headStart","nodeType":"YulIdentifier","src":"9292:9:3"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"9279:3:3"},"nodeType":"YulFunctionCall","src":"9279:23:3"},{"kind":"number","nodeType":"YulLiteral","src":"9304:2:3","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"9275:3:3"},"nodeType":"YulFunctionCall","src":"9275:32:3"},"nodeType":"YulIf","src":"9272:119:3"},{"nodeType":"YulBlock","src":"9401:117:3","statements":[{"nodeType":"YulVariableDeclaration","src":"9416:15:3","value":{"kind":"number","nodeType":"YulLiteral","src":"9430:1:3","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"9420:6:3","type":""}]},{"nodeType":"YulAssignment","src":"9445:63:3","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9480:9:3"},{"name":"offset","nodeType":"YulIdentifier","src":"9491:6:3"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9476:3:3"},"nodeType":"YulFunctionCall","src":"9476:22:3"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"9500:7:3"}],"functionName":{"name":"abi_decode_t_bytes32","nodeType":"YulIdentifier","src":"9455:20:3"},"nodeType":"YulFunctionCall","src":"9455:53:3"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"9445:6:3"}]}]}]},"name":"abi_decode_tuple_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"9232:9:3","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"9243:7:3","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"9255:6:3","type":""}],"src":"9196:329:3"},{"body":{"nodeType":"YulBlock","src":"9629:124:3","statements":[{"nodeType":"YulAssignment","src":"9639:26:3","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9651:9:3"},{"kind":"number","nodeType":"YulLiteral","src":"9662:2:3","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9647:3:3"},"nodeType":"YulFunctionCall","src":"9647:18:3"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"9639:4:3"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"9719:6:3"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9732:9:3"},{"kind":"number","nodeType":"YulLiteral","src":"9743:1:3","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9728:3:3"},"nodeType":"YulFunctionCall","src":"9728:17:3"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"9675:43:3"},"nodeType":"YulFunctionCall","src":"9675:71:3"},"nodeType":"YulExpressionStatement","src":"9675:71:3"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"9601:9:3","type":""},{"name":"value0","nodeType":"YulTypedName","src":"9613:6:3","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"9624:4:3","type":""}],"src":"9531:222:3"},{"body":{"nodeType":"YulBlock","src":"9848:28:3","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9865:1:3","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"9868:1:3","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"9858:6:3"},"nodeType":"YulFunctionCall","src":"9858:12:3"},"nodeType":"YulExpressionStatement","src":"9858:12:3"}]},"name":"revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae","nodeType":"YulFunctionDefinition","src":"9759:117:3"},{"body":{"nodeType":"YulBlock","src":"9910:152:3","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9927:1:3","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"9930:77:3","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9920:6:3"},"nodeType":"YulFunctionCall","src":"9920:88:3"},"nodeType":"YulExpressionStatement","src":"9920:88:3"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10024:1:3","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"10027:4:3","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10017:6:3"},"nodeType":"YulFunctionCall","src":"10017:15:3"},"nodeType":"YulExpressionStatement","src":"10017:15:3"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10048:1:3","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"10051:4:3","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"10041:6:3"},"nodeType":"YulFunctionCall","src":"10041:15:3"},"nodeType":"YulExpressionStatement","src":"10041:15:3"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"9882:180:3"},{"body":{"nodeType":"YulBlock","src":"10111:238:3","statements":[{"nodeType":"YulVariableDeclaration","src":"10121:58:3","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"10143:6:3"},{"arguments":[{"name":"size","nodeType":"YulIdentifier","src":"10173:4:3"}],"functionName":{"name":"round_up_to_mul_of_32","nodeType":"YulIdentifier","src":"10151:21:3"},"nodeType":"YulFunctionCall","src":"10151:27:3"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10139:3:3"},"nodeType":"YulFunctionCall","src":"10139:40:3"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"10125:10:3","type":""}]},{"body":{"nodeType":"YulBlock","src":"10290:22:3","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"10292:16:3"},"nodeType":"YulFunctionCall","src":"10292:18:3"},"nodeType":"YulExpressionStatement","src":"10292:18:3"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"10233:10:3"},{"kind":"number","nodeType":"YulLiteral","src":"10245:18:3","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"10230:2:3"},"nodeType":"YulFunctionCall","src":"10230:34:3"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"10269:10:3"},{"name":"memPtr","nodeType":"YulIdentifier","src":"10281:6:3"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"10266:2:3"},"nodeType":"YulFunctionCall","src":"10266:22:3"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"10227:2:3"},"nodeType":"YulFunctionCall","src":"10227:62:3"},"nodeType":"YulIf","src":"10224:88:3"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10328:2:3","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"10332:10:3"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10321:6:3"},"nodeType":"YulFunctionCall","src":"10321:22:3"},"nodeType":"YulExpressionStatement","src":"10321:22:3"}]},"name":"finalize_allocation","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"10097:6:3","type":""},{"name":"size","nodeType":"YulTypedName","src":"10105:4:3","type":""}],"src":"10068:281:3"},{"body":{"nodeType":"YulBlock","src":"10396:88:3","statements":[{"nodeType":"YulAssignment","src":"10406:30:3","value":{"arguments":[],"functionName":{"name":"allocate_unbounded","nodeType":"YulIdentifier","src":"10416:18:3"},"nodeType":"YulFunctionCall","src":"10416:20:3"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"10406:6:3"}]},{"expression":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"10465:6:3"},{"name":"size","nodeType":"YulIdentifier","src":"10473:4:3"}],"functionName":{"name":"finalize_allocation","nodeType":"YulIdentifier","src":"10445:19:3"},"nodeType":"YulFunctionCall","src":"10445:33:3"},"nodeType":"YulExpressionStatement","src":"10445:33:3"}]},"name":"allocate_memory","nodeType":"YulFunctionDefinition","parameters":[{"name":"size","nodeType":"YulTypedName","src":"10380:4:3","type":""}],"returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"10389:6:3","type":""}],"src":"10355:129:3"},{"body":{"nodeType":"YulBlock","src":"10556:241:3","statements":[{"body":{"nodeType":"YulBlock","src":"10661:22:3","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"10663:16:3"},"nodeType":"YulFunctionCall","src":"10663:18:3"},"nodeType":"YulExpressionStatement","src":"10663:18:3"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"10633:6:3"},{"kind":"number","nodeType":"YulLiteral","src":"10641:18:3","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"10630:2:3"},"nodeType":"YulFunctionCall","src":"10630:30:3"},"nodeType":"YulIf","src":"10627:56:3"},{"nodeType":"YulAssignment","src":"10693:37:3","value":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"10723:6:3"}],"functionName":{"name":"round_up_to_mul_of_32","nodeType":"YulIdentifier","src":"10701:21:3"},"nodeType":"YulFunctionCall","src":"10701:29:3"},"variableNames":[{"name":"size","nodeType":"YulIdentifier","src":"10693:4:3"}]},{"nodeType":"YulAssignment","src":"10767:23:3","value":{"arguments":[{"name":"size","nodeType":"YulIdentifier","src":"10779:4:3"},{"kind":"number","nodeType":"YulLiteral","src":"10785:4:3","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10775:3:3"},"nodeType":"YulFunctionCall","src":"10775:15:3"},"variableNames":[{"name":"size","nodeType":"YulIdentifier","src":"10767:4:3"}]}]},"name":"array_allocation_size_t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"length","nodeType":"YulTypedName","src":"10540:6:3","type":""}],"returnVariables":[{"name":"size","nodeType":"YulTypedName","src":"10551:4:3","type":""}],"src":"10490:307:3"},{"body":{"nodeType":"YulBlock","src":"10867:82:3","statements":[{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"10890:3:3"},{"name":"src","nodeType":"YulIdentifier","src":"10895:3:3"},{"name":"length","nodeType":"YulIdentifier","src":"10900:6:3"}],"functionName":{"name":"calldatacopy","nodeType":"YulIdentifier","src":"10877:12:3"},"nodeType":"YulFunctionCall","src":"10877:30:3"},"nodeType":"YulExpressionStatement","src":"10877:30:3"},{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"10927:3:3"},{"name":"length","nodeType":"YulIdentifier","src":"10932:6:3"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10923:3:3"},"nodeType":"YulFunctionCall","src":"10923:16:3"},{"kind":"number","nodeType":"YulLiteral","src":"10941:1:3","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10916:6:3"},"nodeType":"YulFunctionCall","src":"10916:27:3"},"nodeType":"YulExpressionStatement","src":"10916:27:3"}]},"name":"copy_calldata_to_memory_with_cleanup","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"10849:3:3","type":""},{"name":"dst","nodeType":"YulTypedName","src":"10854:3:3","type":""},{"name":"length","nodeType":"YulTypedName","src":"10859:6:3","type":""}],"src":"10803:146:3"},{"body":{"nodeType":"YulBlock","src":"11038:340:3","statements":[{"nodeType":"YulAssignment","src":"11048:74:3","value":{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"11114:6:3"}],"functionName":{"name":"array_allocation_size_t_bytes_memory_ptr","nodeType":"YulIdentifier","src":"11073:40:3"},"nodeType":"YulFunctionCall","src":"11073:48:3"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"11057:15:3"},"nodeType":"YulFunctionCall","src":"11057:65:3"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"11048:5:3"}]},{"expression":{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"11138:5:3"},{"name":"length","nodeType":"YulIdentifier","src":"11145:6:3"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11131:6:3"},"nodeType":"YulFunctionCall","src":"11131:21:3"},"nodeType":"YulExpressionStatement","src":"11131:21:3"},{"nodeType":"YulVariableDeclaration","src":"11161:27:3","value":{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"11176:5:3"},{"kind":"number","nodeType":"YulLiteral","src":"11183:4:3","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11172:3:3"},"nodeType":"YulFunctionCall","src":"11172:16:3"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"11165:3:3","type":""}]},{"body":{"nodeType":"YulBlock","src":"11226:83:3","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae","nodeType":"YulIdentifier","src":"11228:77:3"},"nodeType":"YulFunctionCall","src":"11228:79:3"},"nodeType":"YulExpressionStatement","src":"11228:79:3"}]},"condition":{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"11207:3:3"},{"name":"length","nodeType":"YulIdentifier","src":"11212:6:3"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11203:3:3"},"nodeType":"YulFunctionCall","src":"11203:16:3"},{"name":"end","nodeType":"YulIdentifier","src":"11221:3:3"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"11200:2:3"},"nodeType":"YulFunctionCall","src":"11200:25:3"},"nodeType":"YulIf","src":"11197:112:3"},{"expression":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"11355:3:3"},{"name":"dst","nodeType":"YulIdentifier","src":"11360:3:3"},{"name":"length","nodeType":"YulIdentifier","src":"11365:6:3"}],"functionName":{"name":"copy_calldata_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"11318:36:3"},"nodeType":"YulFunctionCall","src":"11318:54:3"},"nodeType":"YulExpressionStatement","src":"11318:54:3"}]},"name":"abi_decode_available_length_t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"11011:3:3","type":""},{"name":"length","nodeType":"YulTypedName","src":"11016:6:3","type":""},{"name":"end","nodeType":"YulTypedName","src":"11024:3:3","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"11032:5:3","type":""}],"src":"10955:423:3"},{"body":{"nodeType":"YulBlock","src":"11458:277:3","statements":[{"body":{"nodeType":"YulBlock","src":"11507:83:3","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d","nodeType":"YulIdentifier","src":"11509:77:3"},"nodeType":"YulFunctionCall","src":"11509:79:3"},"nodeType":"YulExpressionStatement","src":"11509:79:3"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"11486:6:3"},{"kind":"number","nodeType":"YulLiteral","src":"11494:4:3","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11482:3:3"},"nodeType":"YulFunctionCall","src":"11482:17:3"},{"name":"end","nodeType":"YulIdentifier","src":"11501:3:3"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"11478:3:3"},"nodeType":"YulFunctionCall","src":"11478:27:3"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"11471:6:3"},"nodeType":"YulFunctionCall","src":"11471:35:3"},"nodeType":"YulIf","src":"11468:122:3"},{"nodeType":"YulVariableDeclaration","src":"11599:34:3","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"11626:6:3"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"11613:12:3"},"nodeType":"YulFunctionCall","src":"11613:20:3"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"11603:6:3","type":""}]},{"nodeType":"YulAssignment","src":"11642:87:3","value":{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"11702:6:3"},{"kind":"number","nodeType":"YulLiteral","src":"11710:4:3","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11698:3:3"},"nodeType":"YulFunctionCall","src":"11698:17:3"},{"name":"length","nodeType":"YulIdentifier","src":"11717:6:3"},{"name":"end","nodeType":"YulIdentifier","src":"11725:3:3"}],"functionName":{"name":"abi_decode_available_length_t_bytes_memory_ptr","nodeType":"YulIdentifier","src":"11651:46:3"},"nodeType":"YulFunctionCall","src":"11651:78:3"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"11642:5:3"}]}]},"name":"abi_decode_t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"11436:6:3","type":""},{"name":"end","nodeType":"YulTypedName","src":"11444:3:3","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"11452:5:3","type":""}],"src":"11397:338:3"},{"body":{"nodeType":"YulBlock","src":"11833:560:3","statements":[{"body":{"nodeType":"YulBlock","src":"11879:83:3","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"11881:77:3"},"nodeType":"YulFunctionCall","src":"11881:79:3"},"nodeType":"YulExpressionStatement","src":"11881:79:3"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"11854:7:3"},{"name":"headStart","nodeType":"YulIdentifier","src":"11863:9:3"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"11850:3:3"},"nodeType":"YulFunctionCall","src":"11850:23:3"},{"kind":"number","nodeType":"YulLiteral","src":"11875:2:3","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"11846:3:3"},"nodeType":"YulFunctionCall","src":"11846:32:3"},"nodeType":"YulIf","src":"11843:119:3"},{"nodeType":"YulBlock","src":"11972:117:3","statements":[{"nodeType":"YulVariableDeclaration","src":"11987:15:3","value":{"kind":"number","nodeType":"YulLiteral","src":"12001:1:3","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"11991:6:3","type":""}]},{"nodeType":"YulAssignment","src":"12016:63:3","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12051:9:3"},{"name":"offset","nodeType":"YulIdentifier","src":"12062:6:3"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12047:3:3"},"nodeType":"YulFunctionCall","src":"12047:22:3"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"12071:7:3"}],"functionName":{"name":"abi_decode_t_bytes32","nodeType":"YulIdentifier","src":"12026:20:3"},"nodeType":"YulFunctionCall","src":"12026:53:3"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"12016:6:3"}]}]},{"nodeType":"YulBlock","src":"12099:287:3","statements":[{"nodeType":"YulVariableDeclaration","src":"12114:46:3","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12145:9:3"},{"kind":"number","nodeType":"YulLiteral","src":"12156:2:3","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12141:3:3"},"nodeType":"YulFunctionCall","src":"12141:18:3"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"12128:12:3"},"nodeType":"YulFunctionCall","src":"12128:32:3"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"12118:6:3","type":""}]},{"body":{"nodeType":"YulBlock","src":"12207:83:3","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulIdentifier","src":"12209:77:3"},"nodeType":"YulFunctionCall","src":"12209:79:3"},"nodeType":"YulExpressionStatement","src":"12209:79:3"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"12179:6:3"},{"kind":"number","nodeType":"YulLiteral","src":"12187:18:3","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"12176:2:3"},"nodeType":"YulFunctionCall","src":"12176:30:3"},"nodeType":"YulIf","src":"12173:117:3"},{"nodeType":"YulAssignment","src":"12304:72:3","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12348:9:3"},{"name":"offset","nodeType":"YulIdentifier","src":"12359:6:3"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12344:3:3"},"nodeType":"YulFunctionCall","src":"12344:22:3"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"12368:7:3"}],"functionName":{"name":"abi_decode_t_bytes_memory_ptr","nodeType":"YulIdentifier","src":"12314:29:3"},"nodeType":"YulFunctionCall","src":"12314:62:3"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"12304:6:3"}]}]}]},"name":"abi_decode_tuple_t_bytes32t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"11795:9:3","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"11806:7:3","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"11818:6:3","type":""},{"name":"value1","nodeType":"YulTypedName","src":"11826:6:3","type":""}],"src":"11741:652:3"},{"body":{"nodeType":"YulBlock","src":"12488:28:3","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12505:1:3","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"12508:1:3","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"12498:6:3"},"nodeType":"YulFunctionCall","src":"12498:12:3"},"nodeType":"YulExpressionStatement","src":"12498:12:3"}]},"name":"revert_error_356d538aaf70fba12156cc466564b792649f8f3befb07b071c91142253e175ad","nodeType":"YulFunctionDefinition","src":"12399:117:3"},{"body":{"nodeType":"YulBlock","src":"12611:28:3","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12628:1:3","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"12631:1:3","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"12621:6:3"},"nodeType":"YulFunctionCall","src":"12621:12:3"},"nodeType":"YulExpressionStatement","src":"12621:12:3"}]},"name":"revert_error_1e55d03107e9c4f1b5e21c76a16fba166a461117ab153bcce65e6a4ea8e5fc8a","nodeType":"YulFunctionDefinition","src":"12522:117:3"},{"body":{"nodeType":"YulBlock","src":"12734:28:3","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12751:1:3","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"12754:1:3","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"12744:6:3"},"nodeType":"YulFunctionCall","src":"12744:12:3"},"nodeType":"YulExpressionStatement","src":"12744:12:3"}]},"name":"revert_error_977805620ff29572292dee35f70b0f3f3f73d3fdd0e9f4d7a901c2e43ab18a2e","nodeType":"YulFunctionDefinition","src":"12645:117:3"},{"body":{"nodeType":"YulBlock","src":"12867:295:3","statements":[{"nodeType":"YulVariableDeclaration","src":"12877:51:3","value":{"arguments":[{"name":"ptr_to_tail","nodeType":"YulIdentifier","src":"12916:11:3"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"12903:12:3"},"nodeType":"YulFunctionCall","src":"12903:25:3"},"variables":[{"name":"rel_offset_of_tail","nodeType":"YulTypedName","src":"12881:18:3","type":""}]},{"body":{"nodeType":"YulBlock","src":"13022:83:3","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_356d538aaf70fba12156cc466564b792649f8f3befb07b071c91142253e175ad","nodeType":"YulIdentifier","src":"13024:77:3"},"nodeType":"YulFunctionCall","src":"13024:79:3"},"nodeType":"YulExpressionStatement","src":"13024:79:3"}]},"condition":{"arguments":[{"arguments":[{"name":"rel_offset_of_tail","nodeType":"YulIdentifier","src":"12951:18:3"},{"arguments":[{"arguments":[{"arguments":[],"functionName":{"name":"calldatasize","nodeType":"YulIdentifier","src":"12979:12:3"},"nodeType":"YulFunctionCall","src":"12979:14:3"},{"name":"base_ref","nodeType":"YulIdentifier","src":"12995:8:3"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"12975:3:3"},"nodeType":"YulFunctionCall","src":"12975:29:3"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13010:4:3","type":"","value":"0xc0"},{"kind":"number","nodeType":"YulLiteral","src":"13016:1:3","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"13006:3:3"},"nodeType":"YulFunctionCall","src":"13006:12:3"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"12971:3:3"},"nodeType":"YulFunctionCall","src":"12971:48:3"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"12947:3:3"},"nodeType":"YulFunctionCall","src":"12947:73:3"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"12940:6:3"},"nodeType":"YulFunctionCall","src":"12940:81:3"},"nodeType":"YulIf","src":"12937:168:3"},{"nodeType":"YulAssignment","src":"13114:41:3","value":{"arguments":[{"name":"base_ref","nodeType":"YulIdentifier","src":"13126:8:3"},{"name":"rel_offset_of_tail","nodeType":"YulIdentifier","src":"13136:18:3"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13122:3:3"},"nodeType":"YulFunctionCall","src":"13122:33:3"},"variableNames":[{"name":"addr","nodeType":"YulIdentifier","src":"13114:4:3"}]}]},"name":"access_calldata_tail_t_struct$_ReportData_$73_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"base_ref","nodeType":"YulTypedName","src":"12836:8:3","type":""},{"name":"ptr_to_tail","nodeType":"YulTypedName","src":"12846:11:3","type":""}],"returnVariables":[{"name":"addr","nodeType":"YulTypedName","src":"12862:4:3","type":""}],"src":"12768:394:3"},{"body":{"nodeType":"YulBlock","src":"13258:634:3","statements":[{"nodeType":"YulVariableDeclaration","src":"13268:51:3","value":{"arguments":[{"name":"ptr_to_tail","nodeType":"YulIdentifier","src":"13307:11:3"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"13294:12:3"},"nodeType":"YulFunctionCall","src":"13294:25:3"},"variables":[{"name":"rel_offset_of_tail","nodeType":"YulTypedName","src":"13272:18:3","type":""}]},{"body":{"nodeType":"YulBlock","src":"13413:83:3","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_356d538aaf70fba12156cc466564b792649f8f3befb07b071c91142253e175ad","nodeType":"YulIdentifier","src":"13415:77:3"},"nodeType":"YulFunctionCall","src":"13415:79:3"},"nodeType":"YulExpressionStatement","src":"13415:79:3"}]},"condition":{"arguments":[{"arguments":[{"name":"rel_offset_of_tail","nodeType":"YulIdentifier","src":"13342:18:3"},{"arguments":[{"arguments":[{"arguments":[],"functionName":{"name":"calldatasize","nodeType":"YulIdentifier","src":"13370:12:3"},"nodeType":"YulFunctionCall","src":"13370:14:3"},{"name":"base_ref","nodeType":"YulIdentifier","src":"13386:8:3"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"13366:3:3"},"nodeType":"YulFunctionCall","src":"13366:29:3"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13401:4:3","type":"","value":"0x20"},{"kind":"number","nodeType":"YulLiteral","src":"13407:1:3","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"13397:3:3"},"nodeType":"YulFunctionCall","src":"13397:12:3"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"13362:3:3"},"nodeType":"YulFunctionCall","src":"13362:48:3"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"13338:3:3"},"nodeType":"YulFunctionCall","src":"13338:73:3"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"13331:6:3"},"nodeType":"YulFunctionCall","src":"13331:81:3"},"nodeType":"YulIf","src":"13328:168:3"},{"nodeType":"YulAssignment","src":"13505:41:3","value":{"arguments":[{"name":"base_ref","nodeType":"YulIdentifier","src":"13517:8:3"},{"name":"rel_offset_of_tail","nodeType":"YulIdentifier","src":"13527:18:3"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13513:3:3"},"nodeType":"YulFunctionCall","src":"13513:33:3"},"variableNames":[{"name":"addr","nodeType":"YulIdentifier","src":"13505:4:3"}]},{"nodeType":"YulAssignment","src":"13556:28:3","value":{"arguments":[{"name":"addr","nodeType":"YulIdentifier","src":"13579:4:3"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"13566:12:3"},"nodeType":"YulFunctionCall","src":"13566:18:3"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"13556:6:3"}]},{"body":{"nodeType":"YulBlock","src":"13627:83:3","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_1e55d03107e9c4f1b5e21c76a16fba166a461117ab153bcce65e6a4ea8e5fc8a","nodeType":"YulIdentifier","src":"13629:77:3"},"nodeType":"YulFunctionCall","src":"13629:79:3"},"nodeType":"YulExpressionStatement","src":"13629:79:3"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"13599:6:3"},{"kind":"number","nodeType":"YulLiteral","src":"13607:18:3","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"13596:2:3"},"nodeType":"YulFunctionCall","src":"13596:30:3"},"nodeType":"YulIf","src":"13593:117:3"},{"nodeType":"YulAssignment","src":"13719:21:3","value":{"arguments":[{"name":"addr","nodeType":"YulIdentifier","src":"13731:4:3"},{"kind":"number","nodeType":"YulLiteral","src":"13737:2:3","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13727:3:3"},"nodeType":"YulFunctionCall","src":"13727:13:3"},"variableNames":[{"name":"addr","nodeType":"YulIdentifier","src":"13719:4:3"}]},{"body":{"nodeType":"YulBlock","src":"13802:83:3","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_977805620ff29572292dee35f70b0f3f3f73d3fdd0e9f4d7a901c2e43ab18a2e","nodeType":"YulIdentifier","src":"13804:77:3"},"nodeType":"YulFunctionCall","src":"13804:79:3"},"nodeType":"YulExpressionStatement","src":"13804:79:3"}]},"condition":{"arguments":[{"name":"addr","nodeType":"YulIdentifier","src":"13756:4:3"},{"arguments":[{"arguments":[],"functionName":{"name":"calldatasize","nodeType":"YulIdentifier","src":"13766:12:3"},"nodeType":"YulFunctionCall","src":"13766:14:3"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"13786:6:3"},{"kind":"number","nodeType":"YulLiteral","src":"13794:4:3","type":"","value":"0x01"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"13782:3:3"},"nodeType":"YulFunctionCall","src":"13782:17:3"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"13762:3:3"},"nodeType":"YulFunctionCall","src":"13762:38:3"}],"functionName":{"name":"sgt","nodeType":"YulIdentifier","src":"13752:3:3"},"nodeType":"YulFunctionCall","src":"13752:49:3"},"nodeType":"YulIf","src":"13749:136:3"}]},"name":"access_calldata_tail_t_bytes_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"base_ref","nodeType":"YulTypedName","src":"13219:8:3","type":""},{"name":"ptr_to_tail","nodeType":"YulTypedName","src":"13229:11:3","type":""}],"returnVariables":[{"name":"addr","nodeType":"YulTypedName","src":"13245:4:3","type":""},{"name":"length","nodeType":"YulTypedName","src":"13251:6:3","type":""}],"src":"13168:724:3"},{"body":{"nodeType":"YulBlock","src":"13926:152:3","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13943:1:3","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"13946:77:3","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13936:6:3"},"nodeType":"YulFunctionCall","src":"13936:88:3"},"nodeType":"YulExpressionStatement","src":"13936:88:3"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14040:1:3","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"14043:4:3","type":"","value":"0x22"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14033:6:3"},"nodeType":"YulFunctionCall","src":"14033:15:3"},"nodeType":"YulExpressionStatement","src":"14033:15:3"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14064:1:3","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"14067:4:3","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"14057:6:3"},"nodeType":"YulFunctionCall","src":"14057:15:3"},"nodeType":"YulExpressionStatement","src":"14057:15:3"}]},"name":"panic_error_0x22","nodeType":"YulFunctionDefinition","src":"13898:180:3"},{"body":{"nodeType":"YulBlock","src":"14135:269:3","statements":[{"nodeType":"YulAssignment","src":"14145:22:3","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"14159:4:3"},{"kind":"number","nodeType":"YulLiteral","src":"14165:1:3","type":"","value":"2"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"14155:3:3"},"nodeType":"YulFunctionCall","src":"14155:12:3"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"14145:6:3"}]},{"nodeType":"YulVariableDeclaration","src":"14176:38:3","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"14206:4:3"},{"kind":"number","nodeType":"YulLiteral","src":"14212:1:3","type":"","value":"1"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"14202:3:3"},"nodeType":"YulFunctionCall","src":"14202:12:3"},"variables":[{"name":"outOfPlaceEncoding","nodeType":"YulTypedName","src":"14180:18:3","type":""}]},{"body":{"nodeType":"YulBlock","src":"14253:51:3","statements":[{"nodeType":"YulAssignment","src":"14267:27:3","value":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"14281:6:3"},{"kind":"number","nodeType":"YulLiteral","src":"14289:4:3","type":"","value":"0x7f"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"14277:3:3"},"nodeType":"YulFunctionCall","src":"14277:17:3"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"14267:6:3"}]}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"14233:18:3"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"14226:6:3"},"nodeType":"YulFunctionCall","src":"14226:26:3"},"nodeType":"YulIf","src":"14223:81:3"},{"body":{"nodeType":"YulBlock","src":"14356:42:3","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x22","nodeType":"YulIdentifier","src":"14370:16:3"},"nodeType":"YulFunctionCall","src":"14370:18:3"},"nodeType":"YulExpressionStatement","src":"14370:18:3"}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"14320:18:3"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"14343:6:3"},{"kind":"number","nodeType":"YulLiteral","src":"14351:2:3","type":"","value":"32"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"14340:2:3"},"nodeType":"YulFunctionCall","src":"14340:14:3"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"14317:2:3"},"nodeType":"YulFunctionCall","src":"14317:38:3"},"nodeType":"YulIf","src":"14314:84:3"}]},"name":"extract_byte_array_length","nodeType":"YulFunctionDefinition","parameters":[{"name":"data","nodeType":"YulTypedName","src":"14119:4:3","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"14128:6:3","type":""}],"src":"14084:320:3"},{"body":{"nodeType":"YulBlock","src":"14463:87:3","statements":[{"nodeType":"YulAssignment","src":"14473:11:3","value":{"name":"ptr","nodeType":"YulIdentifier","src":"14481:3:3"},"variableNames":[{"name":"data","nodeType":"YulIdentifier","src":"14473:4:3"}]},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14501:1:3","type":"","value":"0"},{"name":"ptr","nodeType":"YulIdentifier","src":"14504:3:3"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14494:6:3"},"nodeType":"YulFunctionCall","src":"14494:14:3"},"nodeType":"YulExpressionStatement","src":"14494:14:3"},{"nodeType":"YulAssignment","src":"14517:26:3","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14535:1:3","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"14538:4:3","type":"","value":"0x20"}],"functionName":{"name":"keccak256","nodeType":"YulIdentifier","src":"14525:9:3"},"nodeType":"YulFunctionCall","src":"14525:18:3"},"variableNames":[{"name":"data","nodeType":"YulIdentifier","src":"14517:4:3"}]}]},"name":"array_dataslot_t_bytes_storage","nodeType":"YulFunctionDefinition","parameters":[{"name":"ptr","nodeType":"YulTypedName","src":"14450:3:3","type":""}],"returnVariables":[{"name":"data","nodeType":"YulTypedName","src":"14458:4:3","type":""}],"src":"14410:140:3"},{"body":{"nodeType":"YulBlock","src":"14600:49:3","statements":[{"nodeType":"YulAssignment","src":"14610:33:3","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"14628:5:3"},{"kind":"number","nodeType":"YulLiteral","src":"14635:2:3","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14624:3:3"},"nodeType":"YulFunctionCall","src":"14624:14:3"},{"kind":"number","nodeType":"YulLiteral","src":"14640:2:3","type":"","value":"32"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"14620:3:3"},"nodeType":"YulFunctionCall","src":"14620:23:3"},"variableNames":[{"name":"result","nodeType":"YulIdentifier","src":"14610:6:3"}]}]},"name":"divide_by_32_ceil","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"14583:5:3","type":""}],"returnVariables":[{"name":"result","nodeType":"YulTypedName","src":"14593:6:3","type":""}],"src":"14556:93:3"},{"body":{"nodeType":"YulBlock","src":"14708:54:3","statements":[{"nodeType":"YulAssignment","src":"14718:37:3","value":{"arguments":[{"name":"bits","nodeType":"YulIdentifier","src":"14743:4:3"},{"name":"value","nodeType":"YulIdentifier","src":"14749:5:3"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"14739:3:3"},"nodeType":"YulFunctionCall","src":"14739:16:3"},"variableNames":[{"name":"newValue","nodeType":"YulIdentifier","src":"14718:8:3"}]}]},"name":"shift_left_dynamic","nodeType":"YulFunctionDefinition","parameters":[{"name":"bits","nodeType":"YulTypedName","src":"14683:4:3","type":""},{"name":"value","nodeType":"YulTypedName","src":"14689:5:3","type":""}],"returnVariables":[{"name":"newValue","nodeType":"YulTypedName","src":"14699:8:3","type":""}],"src":"14655:107:3"},{"body":{"nodeType":"YulBlock","src":"14844:317:3","statements":[{"nodeType":"YulVariableDeclaration","src":"14854:35:3","value":{"arguments":[{"name":"shiftBytes","nodeType":"YulIdentifier","src":"14875:10:3"},{"kind":"number","nodeType":"YulLiteral","src":"14887:1:3","type":"","value":"8"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"14871:3:3"},"nodeType":"YulFunctionCall","src":"14871:18:3"},"variables":[{"name":"shiftBits","nodeType":"YulTypedName","src":"14858:9:3","type":""}]},{"nodeType":"YulVariableDeclaration","src":"14898:109:3","value":{"arguments":[{"name":"shiftBits","nodeType":"YulIdentifier","src":"14929:9:3"},{"kind":"number","nodeType":"YulLiteral","src":"14940:66:3","type":"","value":"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"}],"functionName":{"name":"shift_left_dynamic","nodeType":"YulIdentifier","src":"14910:18:3"},"nodeType":"YulFunctionCall","src":"14910:97:3"},"variables":[{"name":"mask","nodeType":"YulTypedName","src":"14902:4:3","type":""}]},{"nodeType":"YulAssignment","src":"15016:51:3","value":{"arguments":[{"name":"shiftBits","nodeType":"YulIdentifier","src":"15047:9:3"},{"name":"toInsert","nodeType":"YulIdentifier","src":"15058:8:3"}],"functionName":{"name":"shift_left_dynamic","nodeType":"YulIdentifier","src":"15028:18:3"},"nodeType":"YulFunctionCall","src":"15028:39:3"},"variableNames":[{"name":"toInsert","nodeType":"YulIdentifier","src":"15016:8:3"}]},{"nodeType":"YulAssignment","src":"15076:30:3","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"15089:5:3"},{"arguments":[{"name":"mask","nodeType":"YulIdentifier","src":"15100:4:3"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"15096:3:3"},"nodeType":"YulFunctionCall","src":"15096:9:3"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"15085:3:3"},"nodeType":"YulFunctionCall","src":"15085:21:3"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"15076:5:3"}]},{"nodeType":"YulAssignment","src":"15115:40:3","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"15128:5:3"},{"arguments":[{"name":"toInsert","nodeType":"YulIdentifier","src":"15139:8:3"},{"name":"mask","nodeType":"YulIdentifier","src":"15149:4:3"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"15135:3:3"},"nodeType":"YulFunctionCall","src":"15135:19:3"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"15125:2:3"},"nodeType":"YulFunctionCall","src":"15125:30:3"},"variableNames":[{"name":"result","nodeType":"YulIdentifier","src":"15115:6:3"}]}]},"name":"update_byte_slice_dynamic32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"14805:5:3","type":""},{"name":"shiftBytes","nodeType":"YulTypedName","src":"14812:10:3","type":""},{"name":"toInsert","nodeType":"YulTypedName","src":"14824:8:3","type":""}],"returnVariables":[{"name":"result","nodeType":"YulTypedName","src":"14837:6:3","type":""}],"src":"14768:393:3"},{"body":{"nodeType":"YulBlock","src":"15199:28:3","statements":[{"nodeType":"YulAssignment","src":"15209:12:3","value":{"name":"value","nodeType":"YulIdentifier","src":"15216:5:3"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"15209:3:3"}]}]},"name":"identity","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"15185:5:3","type":""}],"returnVariables":[{"name":"ret","nodeType":"YulTypedName","src":"15195:3:3","type":""}],"src":"15167:60:3"},{"body":{"nodeType":"YulBlock","src":"15293:82:3","statements":[{"nodeType":"YulAssignment","src":"15303:66:3","value":{"arguments":[{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"15361:5:3"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"15343:17:3"},"nodeType":"YulFunctionCall","src":"15343:24:3"}],"functionName":{"name":"identity","nodeType":"YulIdentifier","src":"15334:8:3"},"nodeType":"YulFunctionCall","src":"15334:34:3"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"15316:17:3"},"nodeType":"YulFunctionCall","src":"15316:53:3"},"variableNames":[{"name":"converted","nodeType":"YulIdentifier","src":"15303:9:3"}]}]},"name":"convert_t_uint256_to_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"15273:5:3","type":""}],"returnVariables":[{"name":"converted","nodeType":"YulTypedName","src":"15283:9:3","type":""}],"src":"15233:142:3"},{"body":{"nodeType":"YulBlock","src":"15428:28:3","statements":[{"nodeType":"YulAssignment","src":"15438:12:3","value":{"name":"value","nodeType":"YulIdentifier","src":"15445:5:3"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"15438:3:3"}]}]},"name":"prepare_store_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"15414:5:3","type":""}],"returnVariables":[{"name":"ret","nodeType":"YulTypedName","src":"15424:3:3","type":""}],"src":"15381:75:3"},{"body":{"nodeType":"YulBlock","src":"15538:193:3","statements":[{"nodeType":"YulVariableDeclaration","src":"15548:63:3","value":{"arguments":[{"name":"value_0","nodeType":"YulIdentifier","src":"15603:7:3"}],"functionName":{"name":"convert_t_uint256_to_t_uint256","nodeType":"YulIdentifier","src":"15572:30:3"},"nodeType":"YulFunctionCall","src":"15572:39:3"},"variables":[{"name":"convertedValue_0","nodeType":"YulTypedName","src":"15552:16:3","type":""}]},{"expression":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"15627:4:3"},{"arguments":[{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"15667:4:3"}],"functionName":{"name":"sload","nodeType":"YulIdentifier","src":"15661:5:3"},"nodeType":"YulFunctionCall","src":"15661:11:3"},{"name":"offset","nodeType":"YulIdentifier","src":"15674:6:3"},{"arguments":[{"name":"convertedValue_0","nodeType":"YulIdentifier","src":"15706:16:3"}],"functionName":{"name":"prepare_store_t_uint256","nodeType":"YulIdentifier","src":"15682:23:3"},"nodeType":"YulFunctionCall","src":"15682:41:3"}],"functionName":{"name":"update_byte_slice_dynamic32","nodeType":"YulIdentifier","src":"15633:27:3"},"nodeType":"YulFunctionCall","src":"15633:91:3"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"15620:6:3"},"nodeType":"YulFunctionCall","src":"15620:105:3"},"nodeType":"YulExpressionStatement","src":"15620:105:3"}]},"name":"update_storage_value_t_uint256_to_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"slot","nodeType":"YulTypedName","src":"15515:4:3","type":""},{"name":"offset","nodeType":"YulTypedName","src":"15521:6:3","type":""},{"name":"value_0","nodeType":"YulTypedName","src":"15529:7:3","type":""}],"src":"15462:269:3"},{"body":{"nodeType":"YulBlock","src":"15786:24:3","statements":[{"nodeType":"YulAssignment","src":"15796:8:3","value":{"kind":"number","nodeType":"YulLiteral","src":"15803:1:3","type":"","value":"0"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"15796:3:3"}]}]},"name":"zero_value_for_split_t_uint256","nodeType":"YulFunctionDefinition","returnVariables":[{"name":"ret","nodeType":"YulTypedName","src":"15782:3:3","type":""}],"src":"15737:73:3"},{"body":{"nodeType":"YulBlock","src":"15869:136:3","statements":[{"nodeType":"YulVariableDeclaration","src":"15879:46:3","value":{"arguments":[],"functionName":{"name":"zero_value_for_split_t_uint256","nodeType":"YulIdentifier","src":"15893:30:3"},"nodeType":"YulFunctionCall","src":"15893:32:3"},"variables":[{"name":"zero_0","nodeType":"YulTypedName","src":"15883:6:3","type":""}]},{"expression":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"15978:4:3"},{"name":"offset","nodeType":"YulIdentifier","src":"15984:6:3"},{"name":"zero_0","nodeType":"YulIdentifier","src":"15992:6:3"}],"functionName":{"name":"update_storage_value_t_uint256_to_t_uint256","nodeType":"YulIdentifier","src":"15934:43:3"},"nodeType":"YulFunctionCall","src":"15934:65:3"},"nodeType":"YulExpressionStatement","src":"15934:65:3"}]},"name":"storage_set_to_zero_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"slot","nodeType":"YulTypedName","src":"15855:4:3","type":""},{"name":"offset","nodeType":"YulTypedName","src":"15861:6:3","type":""}],"src":"15816:189:3"},{"body":{"nodeType":"YulBlock","src":"16061:136:3","statements":[{"body":{"nodeType":"YulBlock","src":"16128:63:3","statements":[{"expression":{"arguments":[{"name":"start","nodeType":"YulIdentifier","src":"16172:5:3"},{"kind":"number","nodeType":"YulLiteral","src":"16179:1:3","type":"","value":"0"}],"functionName":{"name":"storage_set_to_zero_t_uint256","nodeType":"YulIdentifier","src":"16142:29:3"},"nodeType":"YulFunctionCall","src":"16142:39:3"},"nodeType":"YulExpressionStatement","src":"16142:39:3"}]},"condition":{"arguments":[{"name":"start","nodeType":"YulIdentifier","src":"16081:5:3"},{"name":"end","nodeType":"YulIdentifier","src":"16088:3:3"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"16078:2:3"},"nodeType":"YulFunctionCall","src":"16078:14:3"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"16093:26:3","statements":[{"nodeType":"YulAssignment","src":"16095:22:3","value":{"arguments":[{"name":"start","nodeType":"YulIdentifier","src":"16108:5:3"},{"kind":"number","nodeType":"YulLiteral","src":"16115:1:3","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16104:3:3"},"nodeType":"YulFunctionCall","src":"16104:13:3"},"variableNames":[{"name":"start","nodeType":"YulIdentifier","src":"16095:5:3"}]}]},"pre":{"nodeType":"YulBlock","src":"16075:2:3","statements":[]},"src":"16071:120:3"}]},"name":"clear_storage_range_t_bytes1","nodeType":"YulFunctionDefinition","parameters":[{"name":"start","nodeType":"YulTypedName","src":"16049:5:3","type":""},{"name":"end","nodeType":"YulTypedName","src":"16056:3:3","type":""}],"src":"16011:186:3"},{"body":{"nodeType":"YulBlock","src":"16281:463:3","statements":[{"body":{"nodeType":"YulBlock","src":"16307:430:3","statements":[{"nodeType":"YulVariableDeclaration","src":"16321:53:3","value":{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"16368:5:3"}],"functionName":{"name":"array_dataslot_t_bytes_storage","nodeType":"YulIdentifier","src":"16337:30:3"},"nodeType":"YulFunctionCall","src":"16337:37:3"},"variables":[{"name":"dataArea","nodeType":"YulTypedName","src":"16325:8:3","type":""}]},{"nodeType":"YulVariableDeclaration","src":"16387:63:3","value":{"arguments":[{"name":"dataArea","nodeType":"YulIdentifier","src":"16410:8:3"},{"arguments":[{"name":"startIndex","nodeType":"YulIdentifier","src":"16438:10:3"}],"functionName":{"name":"divide_by_32_ceil","nodeType":"YulIdentifier","src":"16420:17:3"},"nodeType":"YulFunctionCall","src":"16420:29:3"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16406:3:3"},"nodeType":"YulFunctionCall","src":"16406:44:3"},"variables":[{"name":"deleteStart","nodeType":"YulTypedName","src":"16391:11:3","type":""}]},{"body":{"nodeType":"YulBlock","src":"16607:27:3","statements":[{"nodeType":"YulAssignment","src":"16609:23:3","value":{"name":"dataArea","nodeType":"YulIdentifier","src":"16624:8:3"},"variableNames":[{"name":"deleteStart","nodeType":"YulIdentifier","src":"16609:11:3"}]}]},"condition":{"arguments":[{"name":"startIndex","nodeType":"YulIdentifier","src":"16591:10:3"},{"kind":"number","nodeType":"YulLiteral","src":"16603:2:3","type":"","value":"32"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"16588:2:3"},"nodeType":"YulFunctionCall","src":"16588:18:3"},"nodeType":"YulIf","src":"16585:49:3"},{"expression":{"arguments":[{"name":"deleteStart","nodeType":"YulIdentifier","src":"16676:11:3"},{"arguments":[{"name":"dataArea","nodeType":"YulIdentifier","src":"16693:8:3"},{"arguments":[{"name":"len","nodeType":"YulIdentifier","src":"16721:3:3"}],"functionName":{"name":"divide_by_32_ceil","nodeType":"YulIdentifier","src":"16703:17:3"},"nodeType":"YulFunctionCall","src":"16703:22:3"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16689:3:3"},"nodeType":"YulFunctionCall","src":"16689:37:3"}],"functionName":{"name":"clear_storage_range_t_bytes1","nodeType":"YulIdentifier","src":"16647:28:3"},"nodeType":"YulFunctionCall","src":"16647:80:3"},"nodeType":"YulExpressionStatement","src":"16647:80:3"}]},"condition":{"arguments":[{"name":"len","nodeType":"YulIdentifier","src":"16298:3:3"},{"kind":"number","nodeType":"YulLiteral","src":"16303:2:3","type":"","value":"31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"16295:2:3"},"nodeType":"YulFunctionCall","src":"16295:11:3"},"nodeType":"YulIf","src":"16292:445:3"}]},"name":"clean_up_bytearray_end_slots_t_bytes_storage","nodeType":"YulFunctionDefinition","parameters":[{"name":"array","nodeType":"YulTypedName","src":"16257:5:3","type":""},{"name":"len","nodeType":"YulTypedName","src":"16264:3:3","type":""},{"name":"startIndex","nodeType":"YulTypedName","src":"16269:10:3","type":""}],"src":"16203:541:3"},{"body":{"nodeType":"YulBlock","src":"16813:54:3","statements":[{"nodeType":"YulAssignment","src":"16823:37:3","value":{"arguments":[{"name":"bits","nodeType":"YulIdentifier","src":"16848:4:3"},{"name":"value","nodeType":"YulIdentifier","src":"16854:5:3"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"16844:3:3"},"nodeType":"YulFunctionCall","src":"16844:16:3"},"variableNames":[{"name":"newValue","nodeType":"YulIdentifier","src":"16823:8:3"}]}]},"name":"shift_right_unsigned_dynamic","nodeType":"YulFunctionDefinition","parameters":[{"name":"bits","nodeType":"YulTypedName","src":"16788:4:3","type":""},{"name":"value","nodeType":"YulTypedName","src":"16794:5:3","type":""}],"returnVariables":[{"name":"newValue","nodeType":"YulTypedName","src":"16804:8:3","type":""}],"src":"16750:117:3"},{"body":{"nodeType":"YulBlock","src":"16924:118:3","statements":[{"nodeType":"YulVariableDeclaration","src":"16934:68:3","value":{"arguments":[{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"16983:1:3","type":"","value":"8"},{"name":"bytes","nodeType":"YulIdentifier","src":"16986:5:3"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"16979:3:3"},"nodeType":"YulFunctionCall","src":"16979:13:3"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"16998:1:3","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"16994:3:3"},"nodeType":"YulFunctionCall","src":"16994:6:3"}],"functionName":{"name":"shift_right_unsigned_dynamic","nodeType":"YulIdentifier","src":"16950:28:3"},"nodeType":"YulFunctionCall","src":"16950:51:3"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"16946:3:3"},"nodeType":"YulFunctionCall","src":"16946:56:3"},"variables":[{"name":"mask","nodeType":"YulTypedName","src":"16938:4:3","type":""}]},{"nodeType":"YulAssignment","src":"17011:25:3","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"17025:4:3"},{"name":"mask","nodeType":"YulIdentifier","src":"17031:4:3"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"17021:3:3"},"nodeType":"YulFunctionCall","src":"17021:15:3"},"variableNames":[{"name":"result","nodeType":"YulIdentifier","src":"17011:6:3"}]}]},"name":"mask_bytes_dynamic","nodeType":"YulFunctionDefinition","parameters":[{"name":"data","nodeType":"YulTypedName","src":"16901:4:3","type":""},{"name":"bytes","nodeType":"YulTypedName","src":"16907:5:3","type":""}],"returnVariables":[{"name":"result","nodeType":"YulTypedName","src":"16917:6:3","type":""}],"src":"16873:169:3"},{"body":{"nodeType":"YulBlock","src":"17128:214:3","statements":[{"nodeType":"YulAssignment","src":"17261:37:3","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"17288:4:3"},{"name":"len","nodeType":"YulIdentifier","src":"17294:3:3"}],"functionName":{"name":"mask_bytes_dynamic","nodeType":"YulIdentifier","src":"17269:18:3"},"nodeType":"YulFunctionCall","src":"17269:29:3"},"variableNames":[{"name":"data","nodeType":"YulIdentifier","src":"17261:4:3"}]},{"nodeType":"YulAssignment","src":"17307:29:3","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"17318:4:3"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17328:1:3","type":"","value":"2"},{"name":"len","nodeType":"YulIdentifier","src":"17331:3:3"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"17324:3:3"},"nodeType":"YulFunctionCall","src":"17324:11:3"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"17315:2:3"},"nodeType":"YulFunctionCall","src":"17315:21:3"},"variableNames":[{"name":"used","nodeType":"YulIdentifier","src":"17307:4:3"}]}]},"name":"extract_used_part_and_set_length_of_short_byte_array","nodeType":"YulFunctionDefinition","parameters":[{"name":"data","nodeType":"YulTypedName","src":"17109:4:3","type":""},{"name":"len","nodeType":"YulTypedName","src":"17115:3:3","type":""}],"returnVariables":[{"name":"used","nodeType":"YulTypedName","src":"17123:4:3","type":""}],"src":"17047:295:3"},{"body":{"nodeType":"YulBlock","src":"17437:1300:3","statements":[{"nodeType":"YulVariableDeclaration","src":"17448:50:3","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"17494:3:3"}],"functionName":{"name":"array_length_t_bytes_memory_ptr","nodeType":"YulIdentifier","src":"17462:31:3"},"nodeType":"YulFunctionCall","src":"17462:36:3"},"variables":[{"name":"newLen","nodeType":"YulTypedName","src":"17452:6:3","type":""}]},{"body":{"nodeType":"YulBlock","src":"17583:22:3","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"17585:16:3"},"nodeType":"YulFunctionCall","src":"17585:18:3"},"nodeType":"YulExpressionStatement","src":"17585:18:3"}]},"condition":{"arguments":[{"name":"newLen","nodeType":"YulIdentifier","src":"17555:6:3"},{"kind":"number","nodeType":"YulLiteral","src":"17563:18:3","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"17552:2:3"},"nodeType":"YulFunctionCall","src":"17552:30:3"},"nodeType":"YulIf","src":"17549:56:3"},{"nodeType":"YulVariableDeclaration","src":"17615:52:3","value":{"arguments":[{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"17661:4:3"}],"functionName":{"name":"sload","nodeType":"YulIdentifier","src":"17655:5:3"},"nodeType":"YulFunctionCall","src":"17655:11:3"}],"functionName":{"name":"extract_byte_array_length","nodeType":"YulIdentifier","src":"17629:25:3"},"nodeType":"YulFunctionCall","src":"17629:38:3"},"variables":[{"name":"oldLen","nodeType":"YulTypedName","src":"17619:6:3","type":""}]},{"expression":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"17759:4:3"},{"name":"oldLen","nodeType":"YulIdentifier","src":"17765:6:3"},{"name":"newLen","nodeType":"YulIdentifier","src":"17773:6:3"}],"functionName":{"name":"clean_up_bytearray_end_slots_t_bytes_storage","nodeType":"YulIdentifier","src":"17714:44:3"},"nodeType":"YulFunctionCall","src":"17714:66:3"},"nodeType":"YulExpressionStatement","src":"17714:66:3"},{"nodeType":"YulVariableDeclaration","src":"17790:18:3","value":{"kind":"number","nodeType":"YulLiteral","src":"17807:1:3","type":"","value":"0"},"variables":[{"name":"srcOffset","nodeType":"YulTypedName","src":"17794:9:3","type":""}]},{"nodeType":"YulAssignment","src":"17818:17:3","value":{"kind":"number","nodeType":"YulLiteral","src":"17831:4:3","type":"","value":"0x20"},"variableNames":[{"name":"srcOffset","nodeType":"YulIdentifier","src":"17818:9:3"}]},{"cases":[{"body":{"nodeType":"YulBlock","src":"17882:610:3","statements":[{"nodeType":"YulVariableDeclaration","src":"17896:37:3","value":{"arguments":[{"name":"newLen","nodeType":"YulIdentifier","src":"17915:6:3"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17927:4:3","type":"","value":"0x1f"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"17923:3:3"},"nodeType":"YulFunctionCall","src":"17923:9:3"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"17911:3:3"},"nodeType":"YulFunctionCall","src":"17911:22:3"},"variables":[{"name":"loopEnd","nodeType":"YulTypedName","src":"17900:7:3","type":""}]},{"nodeType":"YulVariableDeclaration","src":"17947:50:3","value":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"17992:4:3"}],"functionName":{"name":"array_dataslot_t_bytes_storage","nodeType":"YulIdentifier","src":"17961:30:3"},"nodeType":"YulFunctionCall","src":"17961:36:3"},"variables":[{"name":"dstPtr","nodeType":"YulTypedName","src":"17951:6:3","type":""}]},{"nodeType":"YulVariableDeclaration","src":"18010:10:3","value":{"kind":"number","nodeType":"YulLiteral","src":"18019:1:3","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"18014:1:3","type":""}]},{"body":{"nodeType":"YulBlock","src":"18078:163:3","statements":[{"expression":{"arguments":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"18103:6:3"},{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"18121:3:3"},{"name":"srcOffset","nodeType":"YulIdentifier","src":"18126:9:3"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18117:3:3"},"nodeType":"YulFunctionCall","src":"18117:19:3"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"18111:5:3"},"nodeType":"YulFunctionCall","src":"18111:26:3"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"18096:6:3"},"nodeType":"YulFunctionCall","src":"18096:42:3"},"nodeType":"YulExpressionStatement","src":"18096:42:3"},{"nodeType":"YulAssignment","src":"18155:24:3","value":{"arguments":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"18169:6:3"},{"kind":"number","nodeType":"YulLiteral","src":"18177:1:3","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18165:3:3"},"nodeType":"YulFunctionCall","src":"18165:14:3"},"variableNames":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"18155:6:3"}]},{"nodeType":"YulAssignment","src":"18196:31:3","value":{"arguments":[{"name":"srcOffset","nodeType":"YulIdentifier","src":"18213:9:3"},{"kind":"number","nodeType":"YulLiteral","src":"18224:2:3","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18209:3:3"},"nodeType":"YulFunctionCall","src":"18209:18:3"},"variableNames":[{"name":"srcOffset","nodeType":"YulIdentifier","src":"18196:9:3"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"18044:1:3"},{"name":"loopEnd","nodeType":"YulIdentifier","src":"18047:7:3"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"18041:2:3"},"nodeType":"YulFunctionCall","src":"18041:14:3"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"18056:21:3","statements":[{"nodeType":"YulAssignment","src":"18058:17:3","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"18067:1:3"},{"kind":"number","nodeType":"YulLiteral","src":"18070:4:3","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18063:3:3"},"nodeType":"YulFunctionCall","src":"18063:12:3"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"18058:1:3"}]}]},"pre":{"nodeType":"YulBlock","src":"18037:3:3","statements":[]},"src":"18033:208:3"},{"body":{"nodeType":"YulBlock","src":"18277:156:3","statements":[{"nodeType":"YulVariableDeclaration","src":"18295:43:3","value":{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"18322:3:3"},{"name":"srcOffset","nodeType":"YulIdentifier","src":"18327:9:3"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18318:3:3"},"nodeType":"YulFunctionCall","src":"18318:19:3"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"18312:5:3"},"nodeType":"YulFunctionCall","src":"18312:26:3"},"variables":[{"name":"lastValue","nodeType":"YulTypedName","src":"18299:9:3","type":""}]},{"expression":{"arguments":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"18362:6:3"},{"arguments":[{"name":"lastValue","nodeType":"YulIdentifier","src":"18389:9:3"},{"arguments":[{"name":"newLen","nodeType":"YulIdentifier","src":"18404:6:3"},{"kind":"number","nodeType":"YulLiteral","src":"18412:4:3","type":"","value":"0x1f"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"18400:3:3"},"nodeType":"YulFunctionCall","src":"18400:17:3"}],"functionName":{"name":"mask_bytes_dynamic","nodeType":"YulIdentifier","src":"18370:18:3"},"nodeType":"YulFunctionCall","src":"18370:48:3"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"18355:6:3"},"nodeType":"YulFunctionCall","src":"18355:64:3"},"nodeType":"YulExpressionStatement","src":"18355:64:3"}]},"condition":{"arguments":[{"name":"loopEnd","nodeType":"YulIdentifier","src":"18260:7:3"},{"name":"newLen","nodeType":"YulIdentifier","src":"18269:6:3"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"18257:2:3"},"nodeType":"YulFunctionCall","src":"18257:19:3"},"nodeType":"YulIf","src":"18254:179:3"},{"expression":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"18453:4:3"},{"arguments":[{"arguments":[{"name":"newLen","nodeType":"YulIdentifier","src":"18467:6:3"},{"kind":"number","nodeType":"YulLiteral","src":"18475:1:3","type":"","value":"2"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"18463:3:3"},"nodeType":"YulFunctionCall","src":"18463:14:3"},{"kind":"number","nodeType":"YulLiteral","src":"18479:1:3","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18459:3:3"},"nodeType":"YulFunctionCall","src":"18459:22:3"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"18446:6:3"},"nodeType":"YulFunctionCall","src":"18446:36:3"},"nodeType":"YulExpressionStatement","src":"18446:36:3"}]},"nodeType":"YulCase","src":"17875:617:3","value":{"kind":"number","nodeType":"YulLiteral","src":"17880:1:3","type":"","value":"1"}},{"body":{"nodeType":"YulBlock","src":"18509:222:3","statements":[{"nodeType":"YulVariableDeclaration","src":"18523:14:3","value":{"kind":"number","nodeType":"YulLiteral","src":"18536:1:3","type":"","value":"0"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"18527:5:3","type":""}]},{"body":{"nodeType":"YulBlock","src":"18560:67:3","statements":[{"nodeType":"YulAssignment","src":"18578:35:3","value":{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"18597:3:3"},{"name":"srcOffset","nodeType":"YulIdentifier","src":"18602:9:3"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18593:3:3"},"nodeType":"YulFunctionCall","src":"18593:19:3"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"18587:5:3"},"nodeType":"YulFunctionCall","src":"18587:26:3"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"18578:5:3"}]}]},"condition":{"name":"newLen","nodeType":"YulIdentifier","src":"18553:6:3"},"nodeType":"YulIf","src":"18550:77:3"},{"expression":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"18647:4:3"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"18706:5:3"},{"name":"newLen","nodeType":"YulIdentifier","src":"18713:6:3"}],"functionName":{"name":"extract_used_part_and_set_length_of_short_byte_array","nodeType":"YulIdentifier","src":"18653:52:3"},"nodeType":"YulFunctionCall","src":"18653:67:3"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"18640:6:3"},"nodeType":"YulFunctionCall","src":"18640:81:3"},"nodeType":"YulExpressionStatement","src":"18640:81:3"}]},"nodeType":"YulCase","src":"18501:230:3","value":"default"}],"expression":{"arguments":[{"name":"newLen","nodeType":"YulIdentifier","src":"17855:6:3"},{"kind":"number","nodeType":"YulLiteral","src":"17863:2:3","type":"","value":"31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"17852:2:3"},"nodeType":"YulFunctionCall","src":"17852:14:3"},"nodeType":"YulSwitch","src":"17845:886:3"}]},"name":"copy_byte_array_to_storage_from_t_bytes_memory_ptr_to_t_bytes_storage","nodeType":"YulFunctionDefinition","parameters":[{"name":"slot","nodeType":"YulTypedName","src":"17426:4:3","type":""},{"name":"src","nodeType":"YulTypedName","src":"17432:3:3","type":""}],"src":"17347:1390:3"},{"body":{"nodeType":"YulBlock","src":"18801:64:3","statements":[{"nodeType":"YulAssignment","src":"18811:48:3","value":{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"18841:3:3"},{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"18850:3:3"},{"kind":"number","nodeType":"YulLiteral","src":"18855:2:3","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18846:3:3"},"nodeType":"YulFunctionCall","src":"18846:12:3"}],"functionName":{"name":"abi_decode_t_bytes32","nodeType":"YulIdentifier","src":"18820:20:3"},"nodeType":"YulFunctionCall","src":"18820:39:3"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"18811:5:3"}]}]},"name":"calldata_access_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"baseRef","nodeType":"YulTypedName","src":"18778:7:3","type":""},{"name":"ptr","nodeType":"YulTypedName","src":"18787:3:3","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"18795:5:3","type":""}],"src":"18743:122:3"},{"body":{"nodeType":"YulBlock","src":"18926:53:3","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"18943:3:3"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"18966:5:3"}],"functionName":{"name":"cleanup_t_bytes32","nodeType":"YulIdentifier","src":"18948:17:3"},"nodeType":"YulFunctionCall","src":"18948:24:3"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18936:6:3"},"nodeType":"YulFunctionCall","src":"18936:37:3"},"nodeType":"YulExpressionStatement","src":"18936:37:3"}]},"name":"abi_encode_t_bytes32_to_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"18914:5:3","type":""},{"name":"pos","nodeType":"YulTypedName","src":"18921:3:3","type":""}],"src":"18871:108:3"},{"body":{"nodeType":"YulBlock","src":"19074:28:3","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"19091:1:3","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"19094:1:3","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"19084:6:3"},"nodeType":"YulFunctionCall","src":"19084:12:3"},"nodeType":"YulExpressionStatement","src":"19084:12:3"}]},"name":"revert_error_db64ea6d4a12deece376118739de8d9f517a2db5b58ea2ca332ea908c04c71d4","nodeType":"YulFunctionDefinition","src":"18985:117:3"},{"body":{"nodeType":"YulBlock","src":"19195:288:3","statements":[{"nodeType":"YulVariableDeclaration","src":"19205:43:3","value":{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"19244:3:3"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"19231:12:3"},"nodeType":"YulFunctionCall","src":"19231:17:3"},"variables":[{"name":"rel_offset_of_tail","nodeType":"YulTypedName","src":"19209:18:3","type":""}]},{"body":{"nodeType":"YulBlock","src":"19342:83:3","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_db64ea6d4a12deece376118739de8d9f517a2db5b58ea2ca332ea908c04c71d4","nodeType":"YulIdentifier","src":"19344:77:3"},"nodeType":"YulFunctionCall","src":"19344:79:3"},"nodeType":"YulExpressionStatement","src":"19344:79:3"}]},"condition":{"arguments":[{"arguments":[{"name":"rel_offset_of_tail","nodeType":"YulIdentifier","src":"19271:18:3"},{"arguments":[{"arguments":[{"arguments":[],"functionName":{"name":"calldatasize","nodeType":"YulIdentifier","src":"19299:12:3"},"nodeType":"YulFunctionCall","src":"19299:14:3"},{"name":"base_ref","nodeType":"YulIdentifier","src":"19315:8:3"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"19295:3:3"},"nodeType":"YulFunctionCall","src":"19295:29:3"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"19330:4:3","type":"","value":"0xc0"},{"kind":"number","nodeType":"YulLiteral","src":"19336:1:3","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"19326:3:3"},"nodeType":"YulFunctionCall","src":"19326:12:3"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"19291:3:3"},"nodeType":"YulFunctionCall","src":"19291:48:3"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"19267:3:3"},"nodeType":"YulFunctionCall","src":"19267:73:3"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"19260:6:3"},"nodeType":"YulFunctionCall","src":"19260:81:3"},"nodeType":"YulIf","src":"19257:168:3"},{"nodeType":"YulAssignment","src":"19434:42:3","value":{"arguments":[{"name":"rel_offset_of_tail","nodeType":"YulIdentifier","src":"19447:18:3"},{"name":"base_ref","nodeType":"YulIdentifier","src":"19467:8:3"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19443:3:3"},"nodeType":"YulFunctionCall","src":"19443:33:3"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"19434:5:3"}]}]},"name":"calldata_access_t_struct$_ReportData_$73_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"base_ref","nodeType":"YulTypedName","src":"19171:8:3","type":""},{"name":"ptr","nodeType":"YulTypedName","src":"19181:3:3","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"19189:5:3","type":""}],"src":"19108:375:3"},{"body":{"nodeType":"YulBlock","src":"19578:28:3","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"19595:1:3","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"19598:1:3","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"19588:6:3"},"nodeType":"YulFunctionCall","src":"19588:12:3"},"nodeType":"YulExpressionStatement","src":"19588:12:3"}]},"name":"revert_error_0803104b3ab68501accf02de57372b8e5e6e1582158b771d3f89279dc6822fe2","nodeType":"YulFunctionDefinition","src":"19489:117:3"},{"body":{"nodeType":"YulBlock","src":"19701:28:3","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"19718:1:3","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"19721:1:3","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"19711:6:3"},"nodeType":"YulFunctionCall","src":"19711:12:3"},"nodeType":"YulExpressionStatement","src":"19711:12:3"}]},"name":"revert_error_3894daff73bdbb8963c284e167b207f7abade3c031c50828ea230a16bdbc0f20","nodeType":"YulFunctionDefinition","src":"19612:117:3"},{"body":{"nodeType":"YulBlock","src":"19813:633:3","statements":[{"nodeType":"YulVariableDeclaration","src":"19823:43:3","value":{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"19862:3:3"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"19849:12:3"},"nodeType":"YulFunctionCall","src":"19849:17:3"},"variables":[{"name":"rel_offset_of_tail","nodeType":"YulTypedName","src":"19827:18:3","type":""}]},{"body":{"nodeType":"YulBlock","src":"19960:83:3","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_db64ea6d4a12deece376118739de8d9f517a2db5b58ea2ca332ea908c04c71d4","nodeType":"YulIdentifier","src":"19962:77:3"},"nodeType":"YulFunctionCall","src":"19962:79:3"},"nodeType":"YulExpressionStatement","src":"19962:79:3"}]},"condition":{"arguments":[{"arguments":[{"name":"rel_offset_of_tail","nodeType":"YulIdentifier","src":"19889:18:3"},{"arguments":[{"arguments":[{"arguments":[],"functionName":{"name":"calldatasize","nodeType":"YulIdentifier","src":"19917:12:3"},"nodeType":"YulFunctionCall","src":"19917:14:3"},{"name":"base_ref","nodeType":"YulIdentifier","src":"19933:8:3"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"19913:3:3"},"nodeType":"YulFunctionCall","src":"19913:29:3"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"19948:4:3","type":"","value":"0x20"},{"kind":"number","nodeType":"YulLiteral","src":"19954:1:3","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"19944:3:3"},"nodeType":"YulFunctionCall","src":"19944:12:3"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"19909:3:3"},"nodeType":"YulFunctionCall","src":"19909:48:3"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"19885:3:3"},"nodeType":"YulFunctionCall","src":"19885:73:3"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"19878:6:3"},"nodeType":"YulFunctionCall","src":"19878:81:3"},"nodeType":"YulIf","src":"19875:168:3"},{"nodeType":"YulAssignment","src":"20052:42:3","value":{"arguments":[{"name":"rel_offset_of_tail","nodeType":"YulIdentifier","src":"20065:18:3"},{"name":"base_ref","nodeType":"YulIdentifier","src":"20085:8:3"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20061:3:3"},"nodeType":"YulFunctionCall","src":"20061:33:3"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"20052:5:3"}]},{"nodeType":"YulAssignment","src":"20104:29:3","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"20127:5:3"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"20114:12:3"},"nodeType":"YulFunctionCall","src":"20114:19:3"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"20104:6:3"}]},{"nodeType":"YulAssignment","src":"20142:25:3","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"20155:5:3"},{"kind":"number","nodeType":"YulLiteral","src":"20162:4:3","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20151:3:3"},"nodeType":"YulFunctionCall","src":"20151:16:3"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"20142:5:3"}]},{"body":{"nodeType":"YulBlock","src":"20210:83:3","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_0803104b3ab68501accf02de57372b8e5e6e1582158b771d3f89279dc6822fe2","nodeType":"YulIdentifier","src":"20212:77:3"},"nodeType":"YulFunctionCall","src":"20212:79:3"},"nodeType":"YulExpressionStatement","src":"20212:79:3"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"20182:6:3"},{"kind":"number","nodeType":"YulLiteral","src":"20190:18:3","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"20179:2:3"},"nodeType":"YulFunctionCall","src":"20179:30:3"},"nodeType":"YulIf","src":"20176:117:3"},{"body":{"nodeType":"YulBlock","src":"20356:83:3","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_3894daff73bdbb8963c284e167b207f7abade3c031c50828ea230a16bdbc0f20","nodeType":"YulIdentifier","src":"20358:77:3"},"nodeType":"YulFunctionCall","src":"20358:79:3"},"nodeType":"YulExpressionStatement","src":"20358:79:3"}]},"condition":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"20309:5:3"},{"arguments":[{"arguments":[],"functionName":{"name":"calldatasize","nodeType":"YulIdentifier","src":"20320:12:3"},"nodeType":"YulFunctionCall","src":"20320:14:3"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"20340:6:3"},{"kind":"number","nodeType":"YulLiteral","src":"20348:4:3","type":"","value":"0x01"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"20336:3:3"},"nodeType":"YulFunctionCall","src":"20336:17:3"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"20316:3:3"},"nodeType":"YulFunctionCall","src":"20316:38:3"}],"functionName":{"name":"sgt","nodeType":"YulIdentifier","src":"20305:3:3"},"nodeType":"YulFunctionCall","src":"20305:50:3"},"nodeType":"YulIf","src":"20302:137:3"}]},"name":"calldata_access_t_bytes_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"base_ref","nodeType":"YulTypedName","src":"19781:8:3","type":""},{"name":"ptr","nodeType":"YulTypedName","src":"19791:3:3","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"19799:5:3","type":""},{"name":"length","nodeType":"YulTypedName","src":"19806:6:3","type":""}],"src":"19735:711:3"},{"body":{"nodeType":"YulBlock","src":"20564:204:3","statements":[{"nodeType":"YulAssignment","src":"20574:67:3","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"20629:3:3"},{"name":"length","nodeType":"YulIdentifier","src":"20634:6:3"}],"functionName":{"name":"array_storeLengthForEncoding_t_bytes_memory_ptr","nodeType":"YulIdentifier","src":"20581:47:3"},"nodeType":"YulFunctionCall","src":"20581:60:3"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"20574:3:3"}]},{"expression":{"arguments":[{"name":"start","nodeType":"YulIdentifier","src":"20688:5:3"},{"name":"pos","nodeType":"YulIdentifier","src":"20695:3:3"},{"name":"length","nodeType":"YulIdentifier","src":"20700:6:3"}],"functionName":{"name":"copy_calldata_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"20651:36:3"},"nodeType":"YulFunctionCall","src":"20651:56:3"},"nodeType":"YulExpressionStatement","src":"20651:56:3"},{"nodeType":"YulAssignment","src":"20716:46:3","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"20727:3:3"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"20754:6:3"}],"functionName":{"name":"round_up_to_mul_of_32","nodeType":"YulIdentifier","src":"20732:21:3"},"nodeType":"YulFunctionCall","src":"20732:29:3"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20723:3:3"},"nodeType":"YulFunctionCall","src":"20723:39:3"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"20716:3:3"}]}]},"name":"abi_encode_t_bytes_calldata_ptr_to_t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"start","nodeType":"YulTypedName","src":"20537:5:3","type":""},{"name":"length","nodeType":"YulTypedName","src":"20544:6:3","type":""},{"name":"pos","nodeType":"YulTypedName","src":"20552:3:3","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"20560:3:3","type":""}],"src":"20474:294:3"},{"body":{"nodeType":"YulBlock","src":"20832:64:3","statements":[{"nodeType":"YulAssignment","src":"20842:48:3","value":{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"20872:3:3"},{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"20881:3:3"},{"kind":"number","nodeType":"YulLiteral","src":"20886:2:3","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20877:3:3"},"nodeType":"YulFunctionCall","src":"20877:12:3"}],"functionName":{"name":"abi_decode_t_uint256","nodeType":"YulIdentifier","src":"20851:20:3"},"nodeType":"YulFunctionCall","src":"20851:39:3"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"20842:5:3"}]}]},"name":"calldata_access_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"baseRef","nodeType":"YulTypedName","src":"20809:7:3","type":""},{"name":"ptr","nodeType":"YulTypedName","src":"20818:3:3","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"20826:5:3","type":""}],"src":"20774:122:3"},{"body":{"nodeType":"YulBlock","src":"21066:1435:3","statements":[{"nodeType":"YulVariableDeclaration","src":"21076:26:3","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"21092:3:3"},{"kind":"number","nodeType":"YulLiteral","src":"21097:4:3","type":"","value":"0xc0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21088:3:3"},"nodeType":"YulFunctionCall","src":"21088:14:3"},"variables":[{"name":"tail","nodeType":"YulTypedName","src":"21080:4:3","type":""}]},{"nodeType":"YulBlock","src":"21112:302:3","statements":[{"nodeType":"YulVariableDeclaration","src":"21148:95:3","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"21219:5:3"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"21230:5:3"},{"kind":"number","nodeType":"YulLiteral","src":"21237:4:3","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21226:3:3"},"nodeType":"YulFunctionCall","src":"21226:16:3"}],"functionName":{"name":"calldata_access_t_bytes_calldata_ptr","nodeType":"YulIdentifier","src":"21182:36:3"},"nodeType":"YulFunctionCall","src":"21182:61:3"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"21152:12:3","type":""},{"name":"memberValue1","nodeType":"YulTypedName","src":"21166:12:3","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"21268:3:3"},{"kind":"number","nodeType":"YulLiteral","src":"21273:4:3","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21264:3:3"},"nodeType":"YulFunctionCall","src":"21264:14:3"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"21284:4:3"},{"name":"pos","nodeType":"YulIdentifier","src":"21290:3:3"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"21280:3:3"},"nodeType":"YulFunctionCall","src":"21280:14:3"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21257:6:3"},"nodeType":"YulFunctionCall","src":"21257:38:3"},"nodeType":"YulExpressionStatement","src":"21257:38:3"},{"nodeType":"YulAssignment","src":"21308:95:3","value":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"21370:12:3"},{"name":"memberValue1","nodeType":"YulIdentifier","src":"21384:12:3"},{"name":"tail","nodeType":"YulIdentifier","src":"21398:4:3"}],"functionName":{"name":"abi_encode_t_bytes_calldata_ptr_to_t_bytes_memory_ptr","nodeType":"YulIdentifier","src":"21316:53:3"},"nodeType":"YulFunctionCall","src":"21316:87:3"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"21308:4:3"}]}]},{"nodeType":"YulBlock","src":"21424:196:3","statements":[{"nodeType":"YulVariableDeclaration","src":"21464:70:3","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"21510:5:3"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"21521:5:3"},{"kind":"number","nodeType":"YulLiteral","src":"21528:4:3","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21517:3:3"},"nodeType":"YulFunctionCall","src":"21517:16:3"}],"functionName":{"name":"calldata_access_t_uint256","nodeType":"YulIdentifier","src":"21484:25:3"},"nodeType":"YulFunctionCall","src":"21484:50:3"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"21468:12:3","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"21581:12:3"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"21599:3:3"},{"kind":"number","nodeType":"YulLiteral","src":"21604:4:3","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21595:3:3"},"nodeType":"YulFunctionCall","src":"21595:14:3"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256","nodeType":"YulIdentifier","src":"21547:33:3"},"nodeType":"YulFunctionCall","src":"21547:63:3"},"nodeType":"YulExpressionStatement","src":"21547:63:3"}]},{"nodeType":"YulBlock","src":"21630:201:3","statements":[{"nodeType":"YulVariableDeclaration","src":"21675:70:3","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"21721:5:3"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"21732:5:3"},{"kind":"number","nodeType":"YulLiteral","src":"21739:4:3","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21728:3:3"},"nodeType":"YulFunctionCall","src":"21728:16:3"}],"functionName":{"name":"calldata_access_t_uint256","nodeType":"YulIdentifier","src":"21695:25:3"},"nodeType":"YulFunctionCall","src":"21695:50:3"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"21679:12:3","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"21792:12:3"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"21810:3:3"},{"kind":"number","nodeType":"YulLiteral","src":"21815:4:3","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21806:3:3"},"nodeType":"YulFunctionCall","src":"21806:14:3"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256","nodeType":"YulIdentifier","src":"21758:33:3"},"nodeType":"YulFunctionCall","src":"21758:63:3"},"nodeType":"YulExpressionStatement","src":"21758:63:3"}]},{"nodeType":"YulBlock","src":"21841:204:3","statements":[{"nodeType":"YulVariableDeclaration","src":"21889:70:3","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"21935:5:3"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"21946:5:3"},{"kind":"number","nodeType":"YulLiteral","src":"21953:4:3","type":"","value":"0x60"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21942:3:3"},"nodeType":"YulFunctionCall","src":"21942:16:3"}],"functionName":{"name":"calldata_access_t_uint256","nodeType":"YulIdentifier","src":"21909:25:3"},"nodeType":"YulFunctionCall","src":"21909:50:3"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"21893:12:3","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"22006:12:3"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"22024:3:3"},{"kind":"number","nodeType":"YulLiteral","src":"22029:4:3","type":"","value":"0x60"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22020:3:3"},"nodeType":"YulFunctionCall","src":"22020:14:3"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256","nodeType":"YulIdentifier","src":"21972:33:3"},"nodeType":"YulFunctionCall","src":"21972:63:3"},"nodeType":"YulExpressionStatement","src":"21972:63:3"}]},{"nodeType":"YulBlock","src":"22055:200:3","statements":[{"nodeType":"YulVariableDeclaration","src":"22099:70:3","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"22145:5:3"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"22156:5:3"},{"kind":"number","nodeType":"YulLiteral","src":"22163:4:3","type":"","value":"0x80"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22152:3:3"},"nodeType":"YulFunctionCall","src":"22152:16:3"}],"functionName":{"name":"calldata_access_t_uint256","nodeType":"YulIdentifier","src":"22119:25:3"},"nodeType":"YulFunctionCall","src":"22119:50:3"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"22103:12:3","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"22216:12:3"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"22234:3:3"},{"kind":"number","nodeType":"YulLiteral","src":"22239:4:3","type":"","value":"0x80"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22230:3:3"},"nodeType":"YulFunctionCall","src":"22230:14:3"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256","nodeType":"YulIdentifier","src":"22182:33:3"},"nodeType":"YulFunctionCall","src":"22182:63:3"},"nodeType":"YulExpressionStatement","src":"22182:63:3"}]},{"nodeType":"YulBlock","src":"22265:209:3","statements":[{"nodeType":"YulVariableDeclaration","src":"22318:70:3","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"22364:5:3"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"22375:5:3"},{"kind":"number","nodeType":"YulLiteral","src":"22382:4:3","type":"","value":"0xa0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22371:3:3"},"nodeType":"YulFunctionCall","src":"22371:16:3"}],"functionName":{"name":"calldata_access_t_uint256","nodeType":"YulIdentifier","src":"22338:25:3"},"nodeType":"YulFunctionCall","src":"22338:50:3"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"22322:12:3","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"22435:12:3"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"22453:3:3"},{"kind":"number","nodeType":"YulLiteral","src":"22458:4:3","type":"","value":"0xa0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22449:3:3"},"nodeType":"YulFunctionCall","src":"22449:14:3"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256","nodeType":"YulIdentifier","src":"22401:33:3"},"nodeType":"YulFunctionCall","src":"22401:63:3"},"nodeType":"YulExpressionStatement","src":"22401:63:3"}]},{"nodeType":"YulAssignment","src":"22484:11:3","value":{"name":"tail","nodeType":"YulIdentifier","src":"22491:4:3"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"22484:3:3"}]}]},"name":"abi_encode_t_struct$_ReportData_$73_calldata_ptr_to_t_struct$_ReportData_$73_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"21045:5:3","type":""},{"name":"pos","nodeType":"YulTypedName","src":"21052:3:3","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"21061:3:3","type":""}],"src":"20948:1553:3"},{"body":{"nodeType":"YulBlock","src":"22725:820:3","statements":[{"nodeType":"YulVariableDeclaration","src":"22735:26:3","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"22751:3:3"},{"kind":"number","nodeType":"YulLiteral","src":"22756:4:3","type":"","value":"0x60"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22747:3:3"},"nodeType":"YulFunctionCall","src":"22747:14:3"},"variables":[{"name":"tail","nodeType":"YulTypedName","src":"22739:4:3","type":""}]},{"nodeType":"YulBlock","src":"22771:194:3","statements":[{"nodeType":"YulVariableDeclaration","src":"22809:70:3","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"22855:5:3"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"22866:5:3"},{"kind":"number","nodeType":"YulLiteral","src":"22873:4:3","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22862:3:3"},"nodeType":"YulFunctionCall","src":"22862:16:3"}],"functionName":{"name":"calldata_access_t_bytes32","nodeType":"YulIdentifier","src":"22829:25:3"},"nodeType":"YulFunctionCall","src":"22829:50:3"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"22813:12:3","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"22926:12:3"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"22944:3:3"},{"kind":"number","nodeType":"YulLiteral","src":"22949:4:3","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22940:3:3"},"nodeType":"YulFunctionCall","src":"22940:14:3"}],"functionName":{"name":"abi_encode_t_bytes32_to_t_bytes32","nodeType":"YulIdentifier","src":"22892:33:3"},"nodeType":"YulFunctionCall","src":"22892:63:3"},"nodeType":"YulExpressionStatement","src":"22892:63:3"}]},{"nodeType":"YulBlock","src":"22975:326:3","statements":[{"nodeType":"YulVariableDeclaration","src":"23012:98:3","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"23086:5:3"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"23097:5:3"},{"kind":"number","nodeType":"YulLiteral","src":"23104:4:3","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23093:3:3"},"nodeType":"YulFunctionCall","src":"23093:16:3"}],"functionName":{"name":"calldata_access_t_struct$_ReportData_$73_calldata_ptr","nodeType":"YulIdentifier","src":"23032:53:3"},"nodeType":"YulFunctionCall","src":"23032:78:3"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"23016:12:3","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"23135:3:3"},{"kind":"number","nodeType":"YulLiteral","src":"23140:4:3","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23131:3:3"},"nodeType":"YulFunctionCall","src":"23131:14:3"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"23151:4:3"},{"name":"pos","nodeType":"YulIdentifier","src":"23157:3:3"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"23147:3:3"},"nodeType":"YulFunctionCall","src":"23147:14:3"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23124:6:3"},"nodeType":"YulFunctionCall","src":"23124:38:3"},"nodeType":"YulExpressionStatement","src":"23124:38:3"},{"nodeType":"YulAssignment","src":"23175:115:3","value":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"23271:12:3"},{"name":"tail","nodeType":"YulIdentifier","src":"23285:4:3"}],"functionName":{"name":"abi_encode_t_struct$_ReportData_$73_calldata_ptr_to_t_struct$_ReportData_$73_memory_ptr","nodeType":"YulIdentifier","src":"23183:87:3"},"nodeType":"YulFunctionCall","src":"23183:107:3"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"23175:4:3"}]}]},{"nodeType":"YulBlock","src":"23311:207:3","statements":[{"nodeType":"YulVariableDeclaration","src":"23362:70:3","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"23408:5:3"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"23419:5:3"},{"kind":"number","nodeType":"YulLiteral","src":"23426:4:3","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23415:3:3"},"nodeType":"YulFunctionCall","src":"23415:16:3"}],"functionName":{"name":"calldata_access_t_uint256","nodeType":"YulIdentifier","src":"23382:25:3"},"nodeType":"YulFunctionCall","src":"23382:50:3"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"23366:12:3","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"23479:12:3"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"23497:3:3"},{"kind":"number","nodeType":"YulLiteral","src":"23502:4:3","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23493:3:3"},"nodeType":"YulFunctionCall","src":"23493:14:3"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256","nodeType":"YulIdentifier","src":"23445:33:3"},"nodeType":"YulFunctionCall","src":"23445:63:3"},"nodeType":"YulExpressionStatement","src":"23445:63:3"}]},{"nodeType":"YulAssignment","src":"23528:11:3","value":{"name":"tail","nodeType":"YulIdentifier","src":"23535:4:3"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"23528:3:3"}]}]},"name":"abi_encode_t_struct$_OracleAttestationData_$60_calldata_ptr_to_t_struct$_OracleAttestationData_$60_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"22704:5:3","type":""},{"name":"pos","nodeType":"YulTypedName","src":"22711:3:3","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"22720:3:3","type":""}],"src":"22575:970:3"},{"body":{"nodeType":"YulBlock","src":"23725:251:3","statements":[{"nodeType":"YulAssignment","src":"23735:26:3","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23747:9:3"},{"kind":"number","nodeType":"YulLiteral","src":"23758:2:3","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23743:3:3"},"nodeType":"YulFunctionCall","src":"23743:18:3"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"23735:4:3"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23782:9:3"},{"kind":"number","nodeType":"YulLiteral","src":"23793:1:3","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23778:3:3"},"nodeType":"YulFunctionCall","src":"23778:17:3"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"23801:4:3"},{"name":"headStart","nodeType":"YulIdentifier","src":"23807:9:3"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"23797:3:3"},"nodeType":"YulFunctionCall","src":"23797:20:3"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23771:6:3"},"nodeType":"YulFunctionCall","src":"23771:47:3"},"nodeType":"YulExpressionStatement","src":"23771:47:3"},{"nodeType":"YulAssignment","src":"23827:142:3","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"23955:6:3"},{"name":"tail","nodeType":"YulIdentifier","src":"23964:4:3"}],"functionName":{"name":"abi_encode_t_struct$_OracleAttestationData_$60_calldata_ptr_to_t_struct$_OracleAttestationData_$60_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"23835:119:3"},"nodeType":"YulFunctionCall","src":"23835:134:3"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"23827:4:3"}]}]},"name":"abi_encode_tuple_t_struct$_OracleAttestationData_$60_calldata_ptr__to_t_struct$_OracleAttestationData_$60_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"23697:9:3","type":""},{"name":"value0","nodeType":"YulTypedName","src":"23709:6:3","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"23720:4:3","type":""}],"src":"23551:425:3"},{"body":{"nodeType":"YulBlock","src":"24010:152:3","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"24027:1:3","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"24030:77:3","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24020:6:3"},"nodeType":"YulFunctionCall","src":"24020:88:3"},"nodeType":"YulExpressionStatement","src":"24020:88:3"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"24124:1:3","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"24127:4:3","type":"","value":"0x32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24117:6:3"},"nodeType":"YulFunctionCall","src":"24117:15:3"},"nodeType":"YulExpressionStatement","src":"24117:15:3"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"24148:1:3","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"24151:4:3","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"24141:6:3"},"nodeType":"YulFunctionCall","src":"24141:15:3"},"nodeType":"YulExpressionStatement","src":"24141:15:3"}]},"name":"panic_error_0x32","nodeType":"YulFunctionDefinition","src":"23982:180:3"},{"body":{"nodeType":"YulBlock","src":"24196:152:3","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"24213:1:3","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"24216:77:3","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24206:6:3"},"nodeType":"YulFunctionCall","src":"24206:88:3"},"nodeType":"YulExpressionStatement","src":"24206:88:3"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"24310:1:3","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"24313:4:3","type":"","value":"0x11"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24303:6:3"},"nodeType":"YulFunctionCall","src":"24303:15:3"},"nodeType":"YulExpressionStatement","src":"24303:15:3"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"24334:1:3","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"24337:4:3","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"24327:6:3"},"nodeType":"YulFunctionCall","src":"24327:15:3"},"nodeType":"YulExpressionStatement","src":"24327:15:3"}]},"name":"panic_error_0x11","nodeType":"YulFunctionDefinition","src":"24168:180:3"},{"body":{"nodeType":"YulBlock","src":"24399:149:3","statements":[{"nodeType":"YulAssignment","src":"24409:25:3","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"24432:1:3"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"24414:17:3"},"nodeType":"YulFunctionCall","src":"24414:20:3"},"variableNames":[{"name":"x","nodeType":"YulIdentifier","src":"24409:1:3"}]},{"nodeType":"YulAssignment","src":"24443:25:3","value":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"24466:1:3"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"24448:17:3"},"nodeType":"YulFunctionCall","src":"24448:20:3"},"variableNames":[{"name":"y","nodeType":"YulIdentifier","src":"24443:1:3"}]},{"nodeType":"YulAssignment","src":"24477:17:3","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"24489:1:3"},{"name":"y","nodeType":"YulIdentifier","src":"24492:1:3"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"24485:3:3"},"nodeType":"YulFunctionCall","src":"24485:9:3"},"variableNames":[{"name":"diff","nodeType":"YulIdentifier","src":"24477:4:3"}]},{"body":{"nodeType":"YulBlock","src":"24519:22:3","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"24521:16:3"},"nodeType":"YulFunctionCall","src":"24521:18:3"},"nodeType":"YulExpressionStatement","src":"24521:18:3"}]},"condition":{"arguments":[{"name":"diff","nodeType":"YulIdentifier","src":"24510:4:3"},{"name":"x","nodeType":"YulIdentifier","src":"24516:1:3"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"24507:2:3"},"nodeType":"YulFunctionCall","src":"24507:11:3"},"nodeType":"YulIf","src":"24504:37:3"}]},"name":"checked_sub_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"24385:1:3","type":""},{"name":"y","nodeType":"YulTypedName","src":"24388:1:3","type":""}],"returnVariables":[{"name":"diff","nodeType":"YulTypedName","src":"24394:4:3","type":""}],"src":"24354:194:3"},{"body":{"nodeType":"YulBlock","src":"24602:362:3","statements":[{"nodeType":"YulAssignment","src":"24612:25:3","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"24635:1:3"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"24617:17:3"},"nodeType":"YulFunctionCall","src":"24617:20:3"},"variableNames":[{"name":"x","nodeType":"YulIdentifier","src":"24612:1:3"}]},{"nodeType":"YulAssignment","src":"24646:25:3","value":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"24669:1:3"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"24651:17:3"},"nodeType":"YulFunctionCall","src":"24651:20:3"},"variableNames":[{"name":"y","nodeType":"YulIdentifier","src":"24646:1:3"}]},{"nodeType":"YulVariableDeclaration","src":"24680:28:3","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"24703:1:3"},{"name":"y","nodeType":"YulIdentifier","src":"24706:1:3"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"24699:3:3"},"nodeType":"YulFunctionCall","src":"24699:9:3"},"variables":[{"name":"product_raw","nodeType":"YulTypedName","src":"24684:11:3","type":""}]},{"nodeType":"YulAssignment","src":"24717:41:3","value":{"arguments":[{"name":"product_raw","nodeType":"YulIdentifier","src":"24746:11:3"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"24728:17:3"},"nodeType":"YulFunctionCall","src":"24728:30:3"},"variableNames":[{"name":"product","nodeType":"YulIdentifier","src":"24717:7:3"}]},{"body":{"nodeType":"YulBlock","src":"24935:22:3","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"24937:16:3"},"nodeType":"YulFunctionCall","src":"24937:18:3"},"nodeType":"YulExpressionStatement","src":"24937:18:3"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"24868:1:3"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"24861:6:3"},"nodeType":"YulFunctionCall","src":"24861:9:3"},{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"24891:1:3"},{"arguments":[{"name":"product","nodeType":"YulIdentifier","src":"24898:7:3"},{"name":"x","nodeType":"YulIdentifier","src":"24907:1:3"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"24894:3:3"},"nodeType":"YulFunctionCall","src":"24894:15:3"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"24888:2:3"},"nodeType":"YulFunctionCall","src":"24888:22:3"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"24841:2:3"},"nodeType":"YulFunctionCall","src":"24841:83:3"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"24821:6:3"},"nodeType":"YulFunctionCall","src":"24821:113:3"},"nodeType":"YulIf","src":"24818:139:3"}]},"name":"checked_mul_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"24585:1:3","type":""},{"name":"y","nodeType":"YulTypedName","src":"24588:1:3","type":""}],"returnVariables":[{"name":"product","nodeType":"YulTypedName","src":"24594:7:3","type":""}],"src":"24554:410:3"}]},"contents":"{\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function revert_error_21fe6b43b4db61d76a176e95bf1a6b9ede4c301f93a4246f41fecb96e160861d() {\n revert(0, 0)\n }\n\n // struct OracleAttestationData\n function abi_decode_t_struct$_OracleAttestationData_$60_calldata_ptr(offset, end) -> value {\n if slt(sub(end, offset), 96) { revert_error_21fe6b43b4db61d76a176e95bf1a6b9ede4c301f93a4246f41fecb96e160861d() }\n value := offset\n }\n\n function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490() {\n revert(0, 0)\n }\n\n function revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() {\n revert(0, 0)\n }\n\n // struct Validator[]\n function abi_decode_t_array$_t_struct$_Validator_$85_calldata_ptr_$dyn_calldata_ptr(offset, end) -> arrayPos, length {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n length := calldataload(offset)\n if gt(length, 0xffffffffffffffff) { revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490() }\n arrayPos := add(offset, 0x20)\n if gt(add(arrayPos, mul(length, 0x40)), end) { revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() }\n }\n\n // struct Signature[]\n function abi_decode_t_array$_t_struct$_Signature_$80_calldata_ptr_$dyn_calldata_ptr(offset, end) -> arrayPos, length {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n length := calldataload(offset)\n if gt(length, 0xffffffffffffffff) { revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490() }\n arrayPos := add(offset, 0x20)\n if gt(add(arrayPos, mul(length, 0x60)), end) { revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() }\n }\n\n function abi_decode_tuple_t_struct$_OracleAttestationData_$60_calldata_ptrt_array$_t_struct$_Validator_$85_calldata_ptr_$dyn_calldata_ptrt_array$_t_struct$_Signature_$80_calldata_ptr_$dyn_calldata_ptr(headStart, dataEnd) -> value0, value1, value2, value3, value4 {\n if slt(sub(dataEnd, headStart), 96) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := calldataload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0 := abi_decode_t_struct$_OracleAttestationData_$60_calldata_ptr(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 32))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value1, value2 := abi_decode_t_array$_t_struct$_Validator_$85_calldata_ptr_$dyn_calldata_ptr(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 64))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value3, value4 := abi_decode_t_array$_t_struct$_Signature_$80_calldata_ptr_$dyn_calldata_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_bytes32(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_bytes32(value) {\n if iszero(eq(value, cleanup_t_bytes32(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_bytes32(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_bytes32(value)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_bytes32t_uint256(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_bytes32(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function array_length_t_bytes_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_bytes_memory_ptr(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function copy_memory_to_memory_with_cleanup(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n mstore(add(dst, length), 0)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr(value, pos) -> end {\n let length := array_length_t_bytes_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_bytes_memory_ptr(pos, length)\n copy_memory_to_memory_with_cleanup(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_t_uint256_to_t_uint256(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n // struct DataBankPlayground.AggregateData -> struct DataBankPlayground.AggregateData\n function abi_encode_t_struct$_AggregateData_$141_memory_ptr_to_t_struct$_AggregateData_$141_memory_ptr_fromStack(value, pos) -> end {\n let tail := add(pos, 0xa0)\n\n {\n // value\n\n let memberValue0 := mload(add(value, 0x00))\n\n mstore(add(pos, 0x00), sub(tail, pos))\n tail := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr(memberValue0, tail)\n\n }\n\n {\n // power\n\n let memberValue0 := mload(add(value, 0x20))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0x20))\n }\n\n {\n // aggregateTimestamp\n\n let memberValue0 := mload(add(value, 0x40))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0x40))\n }\n\n {\n // attestationTimestamp\n\n let memberValue0 := mload(add(value, 0x60))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0x60))\n }\n\n {\n // relayTimestamp\n\n let memberValue0 := mload(add(value, 0x80))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0x80))\n }\n\n end := tail\n }\n\n function abi_encode_tuple_t_struct$_AggregateData_$141_memory_ptr__to_t_struct$_AggregateData_$141_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_struct$_AggregateData_$141_memory_ptr_to_t_struct$_AggregateData_$141_memory_ptr_fromStack(value0, tail)\n\n }\n\n function array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_bytes_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory_with_cleanup(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_bytes_memory_ptr_t_uint256_t_uint256_t_uint256_t_uint256__to_t_bytes_memory_ptr_t_uint256_t_uint256_t_uint256_t_uint256__fromStack_reversed(headStart , value4, value3, value2, value1, value0) -> tail {\n tail := add(headStart, 160)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack(value0, tail)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value2, add(headStart, 64))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value3, add(headStart, 96))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value4, add(headStart, 128))\n\n }\n\n function abi_decode_tuple_t_bytes32(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_bytes32(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() {\n revert(0, 0)\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function finalize_allocation(memPtr, size) {\n let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n // protect against overflow\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n\n function allocate_memory(size) -> memPtr {\n memPtr := allocate_unbounded()\n finalize_allocation(memPtr, size)\n }\n\n function array_allocation_size_t_bytes_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := round_up_to_mul_of_32(length)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function copy_calldata_to_memory_with_cleanup(src, dst, length) {\n calldatacopy(dst, src, length)\n mstore(add(dst, length), 0)\n }\n\n function abi_decode_available_length_t_bytes_memory_ptr(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_bytes_memory_ptr(length))\n mstore(array, length)\n let dst := add(array, 0x20)\n if gt(add(src, length), end) { revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() }\n copy_calldata_to_memory_with_cleanup(src, dst, length)\n }\n\n // bytes\n function abi_decode_t_bytes_memory_ptr(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := calldataload(offset)\n array := abi_decode_available_length_t_bytes_memory_ptr(add(offset, 0x20), length, end)\n }\n\n function abi_decode_tuple_t_bytes32t_bytes_memory_ptr(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_bytes32(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 32))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value1 := abi_decode_t_bytes_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function revert_error_356d538aaf70fba12156cc466564b792649f8f3befb07b071c91142253e175ad() {\n revert(0, 0)\n }\n\n function revert_error_1e55d03107e9c4f1b5e21c76a16fba166a461117ab153bcce65e6a4ea8e5fc8a() {\n revert(0, 0)\n }\n\n function revert_error_977805620ff29572292dee35f70b0f3f3f73d3fdd0e9f4d7a901c2e43ab18a2e() {\n revert(0, 0)\n }\n\n function access_calldata_tail_t_struct$_ReportData_$73_calldata_ptr(base_ref, ptr_to_tail) -> addr {\n let rel_offset_of_tail := calldataload(ptr_to_tail)\n if iszero(slt(rel_offset_of_tail, sub(sub(calldatasize(), base_ref), sub(0xc0, 1)))) { revert_error_356d538aaf70fba12156cc466564b792649f8f3befb07b071c91142253e175ad() }\n addr := add(base_ref, rel_offset_of_tail)\n\n }\n\n function access_calldata_tail_t_bytes_calldata_ptr(base_ref, ptr_to_tail) -> addr, length {\n let rel_offset_of_tail := calldataload(ptr_to_tail)\n if iszero(slt(rel_offset_of_tail, sub(sub(calldatasize(), base_ref), sub(0x20, 1)))) { revert_error_356d538aaf70fba12156cc466564b792649f8f3befb07b071c91142253e175ad() }\n addr := add(base_ref, rel_offset_of_tail)\n\n length := calldataload(addr)\n if gt(length, 0xffffffffffffffff) { revert_error_1e55d03107e9c4f1b5e21c76a16fba166a461117ab153bcce65e6a4ea8e5fc8a() }\n addr := add(addr, 32)\n if sgt(addr, sub(calldatasize(), mul(length, 0x01))) { revert_error_977805620ff29572292dee35f70b0f3f3f73d3fdd0e9f4d7a901c2e43ab18a2e() }\n\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\n }\n\n function array_dataslot_t_bytes_storage(ptr) -> data {\n data := ptr\n\n mstore(0, ptr)\n data := keccak256(0, 0x20)\n\n }\n\n function divide_by_32_ceil(value) -> result {\n result := div(add(value, 31), 32)\n }\n\n function shift_left_dynamic(bits, value) -> newValue {\n newValue :=\n\n shl(bits, value)\n\n }\n\n function update_byte_slice_dynamic32(value, shiftBytes, toInsert) -> result {\n let shiftBits := mul(shiftBytes, 8)\n let mask := shift_left_dynamic(shiftBits, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)\n toInsert := shift_left_dynamic(shiftBits, toInsert)\n value := and(value, not(mask))\n result := or(value, and(toInsert, mask))\n }\n\n function identity(value) -> ret {\n ret := value\n }\n\n function convert_t_uint256_to_t_uint256(value) -> converted {\n converted := cleanup_t_uint256(identity(cleanup_t_uint256(value)))\n }\n\n function prepare_store_t_uint256(value) -> ret {\n ret := value\n }\n\n function update_storage_value_t_uint256_to_t_uint256(slot, offset, value_0) {\n let convertedValue_0 := convert_t_uint256_to_t_uint256(value_0)\n sstore(slot, update_byte_slice_dynamic32(sload(slot), offset, prepare_store_t_uint256(convertedValue_0)))\n }\n\n function zero_value_for_split_t_uint256() -> ret {\n ret := 0\n }\n\n function storage_set_to_zero_t_uint256(slot, offset) {\n let zero_0 := zero_value_for_split_t_uint256()\n update_storage_value_t_uint256_to_t_uint256(slot, offset, zero_0)\n }\n\n function clear_storage_range_t_bytes1(start, end) {\n for {} lt(start, end) { start := add(start, 1) }\n {\n storage_set_to_zero_t_uint256(start, 0)\n }\n }\n\n function clean_up_bytearray_end_slots_t_bytes_storage(array, len, startIndex) {\n\n if gt(len, 31) {\n let dataArea := array_dataslot_t_bytes_storage(array)\n let deleteStart := add(dataArea, divide_by_32_ceil(startIndex))\n // If we are clearing array to be short byte array, we want to clear only data starting from array data area.\n if lt(startIndex, 32) { deleteStart := dataArea }\n clear_storage_range_t_bytes1(deleteStart, add(dataArea, divide_by_32_ceil(len)))\n }\n\n }\n\n function shift_right_unsigned_dynamic(bits, value) -> newValue {\n newValue :=\n\n shr(bits, value)\n\n }\n\n function mask_bytes_dynamic(data, bytes) -> result {\n let mask := not(shift_right_unsigned_dynamic(mul(8, bytes), not(0)))\n result := and(data, mask)\n }\n function extract_used_part_and_set_length_of_short_byte_array(data, len) -> used {\n // we want to save only elements that are part of the array after resizing\n // others should be set to zero\n data := mask_bytes_dynamic(data, len)\n used := or(data, mul(2, len))\n }\n function copy_byte_array_to_storage_from_t_bytes_memory_ptr_to_t_bytes_storage(slot, src) {\n\n let newLen := array_length_t_bytes_memory_ptr(src)\n // Make sure array length is sane\n if gt(newLen, 0xffffffffffffffff) { panic_error_0x41() }\n\n let oldLen := extract_byte_array_length(sload(slot))\n\n // potentially truncate data\n clean_up_bytearray_end_slots_t_bytes_storage(slot, oldLen, newLen)\n\n let srcOffset := 0\n\n srcOffset := 0x20\n\n switch gt(newLen, 31)\n case 1 {\n let loopEnd := and(newLen, not(0x1f))\n\n let dstPtr := array_dataslot_t_bytes_storage(slot)\n let i := 0\n for { } lt(i, loopEnd) { i := add(i, 0x20) } {\n sstore(dstPtr, mload(add(src, srcOffset)))\n dstPtr := add(dstPtr, 1)\n srcOffset := add(srcOffset, 32)\n }\n if lt(loopEnd, newLen) {\n let lastValue := mload(add(src, srcOffset))\n sstore(dstPtr, mask_bytes_dynamic(lastValue, and(newLen, 0x1f)))\n }\n sstore(slot, add(mul(newLen, 2), 1))\n }\n default {\n let value := 0\n if newLen {\n value := mload(add(src, srcOffset))\n }\n sstore(slot, extract_used_part_and_set_length_of_short_byte_array(value, newLen))\n }\n }\n\n function calldata_access_t_bytes32(baseRef, ptr) -> value {\n value := abi_decode_t_bytes32(ptr, add(ptr, 32))\n }\n\n function abi_encode_t_bytes32_to_t_bytes32(value, pos) {\n mstore(pos, cleanup_t_bytes32(value))\n }\n\n function revert_error_db64ea6d4a12deece376118739de8d9f517a2db5b58ea2ca332ea908c04c71d4() {\n revert(0, 0)\n }\n\n function calldata_access_t_struct$_ReportData_$73_calldata_ptr(base_ref, ptr) -> value {\n let rel_offset_of_tail := calldataload(ptr)\n if iszero(slt(rel_offset_of_tail, sub(sub(calldatasize(), base_ref), sub(0xc0, 1)))) { revert_error_db64ea6d4a12deece376118739de8d9f517a2db5b58ea2ca332ea908c04c71d4() }\n value := add(rel_offset_of_tail, base_ref)\n\n }\n\n function revert_error_0803104b3ab68501accf02de57372b8e5e6e1582158b771d3f89279dc6822fe2() {\n revert(0, 0)\n }\n\n function revert_error_3894daff73bdbb8963c284e167b207f7abade3c031c50828ea230a16bdbc0f20() {\n revert(0, 0)\n }\n\n function calldata_access_t_bytes_calldata_ptr(base_ref, ptr) -> value, length {\n let rel_offset_of_tail := calldataload(ptr)\n if iszero(slt(rel_offset_of_tail, sub(sub(calldatasize(), base_ref), sub(0x20, 1)))) { revert_error_db64ea6d4a12deece376118739de8d9f517a2db5b58ea2ca332ea908c04c71d4() }\n value := add(rel_offset_of_tail, base_ref)\n\n length := calldataload(value)\n value := add(value, 0x20)\n if gt(length, 0xffffffffffffffff) { revert_error_0803104b3ab68501accf02de57372b8e5e6e1582158b771d3f89279dc6822fe2() }\n if sgt(value, sub(calldatasize(), mul(length, 0x01))) { revert_error_3894daff73bdbb8963c284e167b207f7abade3c031c50828ea230a16bdbc0f20() }\n\n }\n\n // bytes -> bytes\n function abi_encode_t_bytes_calldata_ptr_to_t_bytes_memory_ptr(start, length, pos) -> end {\n pos := array_storeLengthForEncoding_t_bytes_memory_ptr(pos, length)\n\n copy_calldata_to_memory_with_cleanup(start, pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function calldata_access_t_uint256(baseRef, ptr) -> value {\n value := abi_decode_t_uint256(ptr, add(ptr, 32))\n }\n\n // struct ReportData -> struct ReportData\n function abi_encode_t_struct$_ReportData_$73_calldata_ptr_to_t_struct$_ReportData_$73_memory_ptr(value, pos) -> end {\n let tail := add(pos, 0xc0)\n\n {\n // value\n\n let memberValue0, memberValue1 := calldata_access_t_bytes_calldata_ptr(value, add(value, 0x00))\n\n mstore(add(pos, 0x00), sub(tail, pos))\n tail := abi_encode_t_bytes_calldata_ptr_to_t_bytes_memory_ptr(memberValue0, memberValue1, tail)\n\n }\n\n {\n // timestamp\n\n let memberValue0 := calldata_access_t_uint256(value, add(value, 0x20))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0x20))\n }\n\n {\n // aggregatePower\n\n let memberValue0 := calldata_access_t_uint256(value, add(value, 0x40))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0x40))\n }\n\n {\n // previousTimestamp\n\n let memberValue0 := calldata_access_t_uint256(value, add(value, 0x60))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0x60))\n }\n\n {\n // nextTimestamp\n\n let memberValue0 := calldata_access_t_uint256(value, add(value, 0x80))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0x80))\n }\n\n {\n // lastConsensusTimestamp\n\n let memberValue0 := calldata_access_t_uint256(value, add(value, 0xa0))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0xa0))\n }\n\n end := tail\n }\n\n // struct OracleAttestationData -> struct OracleAttestationData\n function abi_encode_t_struct$_OracleAttestationData_$60_calldata_ptr_to_t_struct$_OracleAttestationData_$60_memory_ptr_fromStack(value, pos) -> end {\n let tail := add(pos, 0x60)\n\n {\n // queryId\n\n let memberValue0 := calldata_access_t_bytes32(value, add(value, 0x00))\n abi_encode_t_bytes32_to_t_bytes32(memberValue0, add(pos, 0x00))\n }\n\n {\n // report\n\n let memberValue0 := calldata_access_t_struct$_ReportData_$73_calldata_ptr(value, add(value, 0x20))\n\n mstore(add(pos, 0x20), sub(tail, pos))\n tail := abi_encode_t_struct$_ReportData_$73_calldata_ptr_to_t_struct$_ReportData_$73_memory_ptr(memberValue0, tail)\n\n }\n\n {\n // attestationTimestamp\n\n let memberValue0 := calldata_access_t_uint256(value, add(value, 0x40))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0x40))\n }\n\n end := tail\n }\n\n function abi_encode_tuple_t_struct$_OracleAttestationData_$60_calldata_ptr__to_t_struct$_OracleAttestationData_$60_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_struct$_OracleAttestationData_$60_calldata_ptr_to_t_struct$_OracleAttestationData_$60_memory_ptr_fromStack(value0, tail)\n\n }\n\n function panic_error_0x32() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x32)\n revert(0, 0x24)\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function checked_sub_t_uint256(x, y) -> diff {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n diff := sub(x, y)\n\n if gt(diff, x) { panic_error_0x11() }\n\n }\n\n function checked_mul_t_uint256(x, y) -> product {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n let product_raw := mul(x, y)\n product := cleanup_t_uint256(product_raw)\n\n // overflow, if x != 0 and y != product/x\n if iszero(\n or(\n iszero(x),\n eq(y, div(product, x))\n )\n ) { panic_error_0x11() }\n\n }\n\n}\n","id":3,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{},"object":"608060405234801561001057600080fd5b50600436106100625760003560e01c80636180801014610067578063717681c6146100835780638d12c426146100b3578063cb956711146100e7578063e3ac7e1114610117578063f237640a14610147575b600080fd5b610081600480360381019061007c919061085e565b610163565b005b61009d6004803603810190610098919061097b565b6102d7565b6040516100aa9190610ad0565b60405180910390f35b6100cd60048036038101906100c8919061097b565b6103de565b6040516100de959493929190610b4b565b60405180910390f35b61010160048036038101906100fc9190610ba5565b6104b9565b60405161010e9190610ad0565b60405180910390f35b610131600480360381019061012c9190610ba5565b6104d1565b60405161013e9190610bd2565b60405180910390f35b610161600480360381019061015c9190610d1d565b6104f0565b005b600080866000013581526020019081526020016000206040518060a001604052808780602001906101949190610d88565b80600001906101a39190610db0565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505081526020018780602001906101fb9190610d88565b6040013581526020018780602001906102149190610d88565b602001358152602001876040013581526020014281525090806001815401808255809150506001900390600052602060002090600502016000909190919091506000820151816000019081610269919061101f565b5060208201518160010155604082015181600201556060820151816003015560808201518160040155505084600001357f32569c122e0d7a43079203df1373675696c8ccd8ca67de60dc2238b6bb226214866040516102c89190611318565b60405180910390a25050505050565b6102df61073c565b60008084815260200190815260200160002082815481106103035761030261133a565b5b90600052602060002090600502016040518060a001604052908160008201805461032c90610e42565b80601f016020809104026020016040519081016040528092919081815260200182805461035890610e42565b80156103a55780601f1061037a576101008083540402835291602001916103a5565b820191906000526020600020905b81548152906001019060200180831161038857829003601f168201915b50505050508152602001600182015481526020016002820154815260200160038201548152602001600482015481525050905092915050565b600060205281600052604060002081815481106103fa57600080fd5b90600052602060002090600502016000915091505080600001805461041e90610e42565b80601f016020809104026020016040519081016040528092919081815260200182805461044a90610e42565b80156104975780601f1061046c57610100808354040283529160200191610497565b820191906000526020600020905b81548152906001019060200180831161047a57829003601f168201915b5050505050908060010154908060020154908060030154908060040154905085565b6104c161073c565b6104ca826105b6565b9050919050565b6000806000838152602001908152602001600020805490509050919050565b60006103e86001426105029190611398565b61050c91906113cc565b90506000808481526020019081526020016000206040518060a00160405280848152602001600081526020018381526020018381526020014281525090806001815401808255809150506001900390600052602060002090600502016000909190919091506000820151816000019081610586919061101f565b50602082015181600101556040820151816002015560608201518160030155608082015181600401555050505050565b6105be61073c565b6000806000848152602001908152602001600020805490500361061c576040518060a0016040528060405180602001604052806000815250815260200160008152602001600081526020016000815260200160008152509050610737565b6000808381526020019081526020016000206001600080858152602001908152602001600020805490506106509190611398565b815481106106615761066061133a565b5b90600052602060002090600502016040518060a001604052908160008201805461068a90610e42565b80601f01602080910402602001604051908101604052809291908181526020018280546106b690610e42565b80156107035780601f106106d857610100808354040283529160200191610703565b820191906000526020600020905b8154815290600101906020018083116106e657829003601f168201915b5050505050815260200160018201548152602001600282015481526020016003820154815260200160048201548152505090505b919050565b6040518060a0016040528060608152602001600081526020016000815260200160008152602001600081525090565b6000604051905090565b600080fd5b600080fd5b600080fd5b60006060828403121561079a5761079961077f565b5b81905092915050565b600080fd5b600080fd5b600080fd5b60008083601f8401126107c8576107c76107a3565b5b8235905067ffffffffffffffff8111156107e5576107e46107a8565b5b602083019150836040820283011115610801576108006107ad565b5b9250929050565b60008083601f84011261081e5761081d6107a3565b5b8235905067ffffffffffffffff81111561083b5761083a6107a8565b5b602083019150836060820283011115610857576108566107ad565b5b9250929050565b60008060008060006060868803121561087a57610879610775565b5b600086013567ffffffffffffffff8111156108985761089761077a565b5b6108a488828901610784565b955050602086013567ffffffffffffffff8111156108c5576108c461077a565b5b6108d1888289016107b2565b9450945050604086013567ffffffffffffffff8111156108f4576108f361077a565b5b61090088828901610808565b92509250509295509295909350565b6000819050919050565b6109228161090f565b811461092d57600080fd5b50565b60008135905061093f81610919565b92915050565b6000819050919050565b61095881610945565b811461096357600080fd5b50565b6000813590506109758161094f565b92915050565b6000806040838503121561099257610991610775565b5b60006109a085828601610930565b92505060206109b185828601610966565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b60005b838110156109f55780820151818401526020810190506109da565b60008484015250505050565b6000601f19601f8301169050919050565b6000610a1d826109bb565b610a2781856109c6565b9350610a378185602086016109d7565b610a4081610a01565b840191505092915050565b610a5481610945565b82525050565b600060a0830160008301518482036000860152610a778282610a12565b9150506020830151610a8c6020860182610a4b565b506040830151610a9f6040860182610a4b565b506060830151610ab26060860182610a4b565b506080830151610ac56080860182610a4b565b508091505092915050565b60006020820190508181036000830152610aea8184610a5a565b905092915050565b600082825260208201905092915050565b6000610b0e826109bb565b610b188185610af2565b9350610b288185602086016109d7565b610b3181610a01565b840191505092915050565b610b4581610945565b82525050565b600060a0820190508181036000830152610b658188610b03565b9050610b746020830187610b3c565b610b816040830186610b3c565b610b8e6060830185610b3c565b610b9b6080830184610b3c565b9695505050505050565b600060208284031215610bbb57610bba610775565b5b6000610bc984828501610930565b91505092915050565b6000602082019050610be76000830184610b3c565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b610c2a82610a01565b810181811067ffffffffffffffff82111715610c4957610c48610bf2565b5b80604052505050565b6000610c5c61076b565b9050610c688282610c21565b919050565b600067ffffffffffffffff821115610c8857610c87610bf2565b5b610c9182610a01565b9050602081019050919050565b82818337600083830152505050565b6000610cc0610cbb84610c6d565b610c52565b905082815260208101848484011115610cdc57610cdb610bed565b5b610ce7848285610c9e565b509392505050565b600082601f830112610d0457610d036107a3565b5b8135610d14848260208601610cad565b91505092915050565b60008060408385031215610d3457610d33610775565b5b6000610d4285828601610930565b925050602083013567ffffffffffffffff811115610d6357610d6261077a565b5b610d6f85828601610cef565b9150509250929050565b600080fd5b600080fd5b600080fd5b60008235600160c003833603038112610da457610da3610d79565b5b80830191505092915050565b60008083356001602003843603038112610dcd57610dcc610d79565b5b80840192508235915067ffffffffffffffff821115610def57610dee610d7e565b5b602083019250600182023603831315610e0b57610e0a610d83565b5b509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680610e5a57607f821691505b602082108103610e6d57610e6c610e13565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302610ed57fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610e98565b610edf8683610e98565b95508019841693508086168417925050509392505050565b6000819050919050565b6000610f1c610f17610f1284610945565b610ef7565b610945565b9050919050565b6000819050919050565b610f3683610f01565b610f4a610f4282610f23565b848454610ea5565b825550505050565b600090565b610f5f610f52565b610f6a818484610f2d565b505050565b5b81811015610f8e57610f83600082610f57565b600181019050610f70565b5050565b601f821115610fd357610fa481610e73565b610fad84610e88565b81016020851015610fbc578190505b610fd0610fc885610e88565b830182610f6f565b50505b505050565b600082821c905092915050565b6000610ff660001984600802610fd8565b1980831691505092915050565b600061100f8383610fe5565b9150826002028217905092915050565b611028826109bb565b67ffffffffffffffff81111561104157611040610bf2565b5b61104b8254610e42565b611056828285610f92565b600060209050601f8311600181146110895760008415611077578287015190505b6110818582611003565b8655506110e9565b601f19841661109786610e73565b60005b828110156110bf5784890151825560018201915060208501945060208101905061109a565b868310156110dc57848901516110d8601f891682610fe5565b8355505b6001600288020188555050505b505050505050565b60006111006020840184610930565b905092915050565b6111118161090f565b82525050565b600080fd5b60008235600160c00383360303811261113857611137611117565b5b82810191505092915050565b600080fd5b600080fd5b6000808335600160200384360303811261116b5761116a611117565b5b83810192508235915060208301925067ffffffffffffffff82111561119357611192611144565b5b6001820236038313156111a9576111a8611149565b5b509250929050565b60006111bd83856109c6565b93506111ca838584610c9e565b6111d383610a01565b840190509392505050565b60006111ed6020840184610966565b905092915050565b600060c08301611208600084018461114e565b858303600087015261121b8382846111b1565b9250505061122c60208401846111de565b6112396020860182610a4b565b5061124760408401846111de565b6112546040860182610a4b565b5061126260608401846111de565b61126f6060860182610a4b565b5061127d60808401846111de565b61128a6080860182610a4b565b5061129860a08401846111de565b6112a560a0860182610a4b565b508091505092915050565b6000606083016112c360008401846110f1565b6112d06000860182611108565b506112de602084018461111c565b84820360208601526112f082826111f5565b91505061130060408401846111de565b61130d6040860182610a4b565b508091505092915050565b6000602082019050818103600083015261133281846112b0565b905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006113a382610945565b91506113ae83610945565b92508282039050818111156113c6576113c5611369565b5b92915050565b60006113d782610945565b91506113e283610945565b92508282026113f081610945565b9150828204841483151761140757611406611369565b5b509291505056fea2646970667358221220d922adb488834a0545ba3634eb410528a1c1d80682300de3fde8b06bb8179ea064736f6c63430008130033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x62 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x61808010 EQ PUSH2 0x67 JUMPI DUP1 PUSH4 0x717681C6 EQ PUSH2 0x83 JUMPI DUP1 PUSH4 0x8D12C426 EQ PUSH2 0xB3 JUMPI DUP1 PUSH4 0xCB956711 EQ PUSH2 0xE7 JUMPI DUP1 PUSH4 0xE3AC7E11 EQ PUSH2 0x117 JUMPI DUP1 PUSH4 0xF237640A EQ PUSH2 0x147 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x81 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x7C SWAP2 SWAP1 PUSH2 0x85E JUMP JUMPDEST PUSH2 0x163 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x9D PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x98 SWAP2 SWAP1 PUSH2 0x97B JUMP JUMPDEST PUSH2 0x2D7 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xAA SWAP2 SWAP1 PUSH2 0xAD0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xCD PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xC8 SWAP2 SWAP1 PUSH2 0x97B JUMP JUMPDEST PUSH2 0x3DE JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xDE SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0xB4B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x101 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xFC SWAP2 SWAP1 PUSH2 0xBA5 JUMP JUMPDEST PUSH2 0x4B9 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x10E SWAP2 SWAP1 PUSH2 0xAD0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x131 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x12C SWAP2 SWAP1 PUSH2 0xBA5 JUMP JUMPDEST PUSH2 0x4D1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x13E SWAP2 SWAP1 PUSH2 0xBD2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x161 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x15C SWAP2 SWAP1 PUSH2 0xD1D JUMP JUMPDEST PUSH2 0x4F0 JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 DUP1 DUP7 PUSH1 0x0 ADD CALLDATALOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x40 MLOAD DUP1 PUSH1 0xA0 ADD PUSH1 0x40 MSTORE DUP1 DUP8 DUP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x194 SWAP2 SWAP1 PUSH2 0xD88 JUMP JUMPDEST DUP1 PUSH1 0x0 ADD SWAP1 PUSH2 0x1A3 SWAP2 SWAP1 PUSH2 0xDB0 JUMP JUMPDEST DUP1 DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 DUP2 DUP5 ADD MSTORE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND SWAP1 POP DUP1 DUP4 ADD SWAP3 POP POP POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD DUP8 DUP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x1FB SWAP2 SWAP1 PUSH2 0xD88 JUMP JUMPDEST PUSH1 0x40 ADD CALLDATALOAD DUP2 MSTORE PUSH1 0x20 ADD DUP8 DUP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x214 SWAP2 SWAP1 PUSH2 0xD88 JUMP JUMPDEST PUSH1 0x20 ADD CALLDATALOAD DUP2 MSTORE PUSH1 0x20 ADD DUP8 PUSH1 0x40 ADD CALLDATALOAD DUP2 MSTORE PUSH1 0x20 ADD TIMESTAMP DUP2 MSTORE POP SWAP1 DUP1 PUSH1 0x1 DUP2 SLOAD ADD DUP1 DUP3 SSTORE DUP1 SWAP2 POP POP PUSH1 0x1 SWAP1 SUB SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x5 MUL ADD PUSH1 0x0 SWAP1 SWAP2 SWAP1 SWAP2 SWAP1 SWAP2 POP PUSH1 0x0 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD SWAP1 DUP2 PUSH2 0x269 SWAP2 SWAP1 PUSH2 0x101F JUMP JUMPDEST POP PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD SSTORE PUSH1 0x40 DUP3 ADD MLOAD DUP2 PUSH1 0x2 ADD SSTORE PUSH1 0x60 DUP3 ADD MLOAD DUP2 PUSH1 0x3 ADD SSTORE PUSH1 0x80 DUP3 ADD MLOAD DUP2 PUSH1 0x4 ADD SSTORE POP POP DUP5 PUSH1 0x0 ADD CALLDATALOAD PUSH32 0x32569C122E0D7A43079203DF1373675696C8CCD8CA67DE60DC2238B6BB226214 DUP7 PUSH1 0x40 MLOAD PUSH2 0x2C8 SWAP2 SWAP1 PUSH2 0x1318 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP POP POP JUMP JUMPDEST PUSH2 0x2DF PUSH2 0x73C JUMP JUMPDEST PUSH1 0x0 DUP1 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x303 JUMPI PUSH2 0x302 PUSH2 0x133A JUMP JUMPDEST JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x5 MUL ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0xA0 ADD PUSH1 0x40 MSTORE SWAP1 DUP2 PUSH1 0x0 DUP3 ADD DUP1 SLOAD PUSH2 0x32C SWAP1 PUSH2 0xE42 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x358 SWAP1 PUSH2 0xE42 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x3A5 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x37A JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x3A5 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x388 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2 DUP3 ADD SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x3 DUP3 ADD SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x4 DUP3 ADD SLOAD DUP2 MSTORE POP POP SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 MSTORE DUP2 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x3FA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x5 MUL ADD PUSH1 0x0 SWAP2 POP SWAP2 POP POP DUP1 PUSH1 0x0 ADD DUP1 SLOAD PUSH2 0x41E SWAP1 PUSH2 0xE42 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x44A SWAP1 PUSH2 0xE42 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x497 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x46C JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x497 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x47A JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 DUP1 PUSH1 0x1 ADD SLOAD SWAP1 DUP1 PUSH1 0x2 ADD SLOAD SWAP1 DUP1 PUSH1 0x3 ADD SLOAD SWAP1 DUP1 PUSH1 0x4 ADD SLOAD SWAP1 POP DUP6 JUMP JUMPDEST PUSH2 0x4C1 PUSH2 0x73C JUMP JUMPDEST PUSH2 0x4CA DUP3 PUSH2 0x5B6 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP1 SLOAD SWAP1 POP SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3E8 PUSH1 0x1 TIMESTAMP PUSH2 0x502 SWAP2 SWAP1 PUSH2 0x1398 JUMP JUMPDEST PUSH2 0x50C SWAP2 SWAP1 PUSH2 0x13CC JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP1 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x40 MLOAD DUP1 PUSH1 0xA0 ADD PUSH1 0x40 MSTORE DUP1 DUP5 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP2 MSTORE PUSH1 0x20 ADD TIMESTAMP DUP2 MSTORE POP SWAP1 DUP1 PUSH1 0x1 DUP2 SLOAD ADD DUP1 DUP3 SSTORE DUP1 SWAP2 POP POP PUSH1 0x1 SWAP1 SUB SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x5 MUL ADD PUSH1 0x0 SWAP1 SWAP2 SWAP1 SWAP2 SWAP1 SWAP2 POP PUSH1 0x0 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD SWAP1 DUP2 PUSH2 0x586 SWAP2 SWAP1 PUSH2 0x101F JUMP JUMPDEST POP PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD SSTORE PUSH1 0x40 DUP3 ADD MLOAD DUP2 PUSH1 0x2 ADD SSTORE PUSH1 0x60 DUP3 ADD MLOAD DUP2 PUSH1 0x3 ADD SSTORE PUSH1 0x80 DUP3 ADD MLOAD DUP2 PUSH1 0x4 ADD SSTORE POP POP POP POP POP JUMP JUMPDEST PUSH2 0x5BE PUSH2 0x73C JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP1 SLOAD SWAP1 POP SUB PUSH2 0x61C JUMPI PUSH1 0x40 MLOAD DUP1 PUSH1 0xA0 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE POP SWAP1 POP PUSH2 0x737 JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 PUSH1 0x0 DUP1 DUP6 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP1 SLOAD SWAP1 POP PUSH2 0x650 SWAP2 SWAP1 PUSH2 0x1398 JUMP JUMPDEST DUP2 SLOAD DUP2 LT PUSH2 0x661 JUMPI PUSH2 0x660 PUSH2 0x133A JUMP JUMPDEST JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x5 MUL ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0xA0 ADD PUSH1 0x40 MSTORE SWAP1 DUP2 PUSH1 0x0 DUP3 ADD DUP1 SLOAD PUSH2 0x68A SWAP1 PUSH2 0xE42 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x6B6 SWAP1 PUSH2 0xE42 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x703 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x6D8 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x703 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x6E6 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2 DUP3 ADD SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x3 DUP3 ADD SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x4 DUP3 ADD SLOAD DUP2 MSTORE POP POP SWAP1 POP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0xA0 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x79A JUMPI PUSH2 0x799 PUSH2 0x77F JUMP JUMPDEST JUMPDEST DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0x7C8 JUMPI PUSH2 0x7C7 PUSH2 0x7A3 JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x7E5 JUMPI PUSH2 0x7E4 PUSH2 0x7A8 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x40 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0x801 JUMPI PUSH2 0x800 PUSH2 0x7AD JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0x81E JUMPI PUSH2 0x81D PUSH2 0x7A3 JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x83B JUMPI PUSH2 0x83A PUSH2 0x7A8 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x60 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0x857 JUMPI PUSH2 0x856 PUSH2 0x7AD JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x87A JUMPI PUSH2 0x879 PUSH2 0x775 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x898 JUMPI PUSH2 0x897 PUSH2 0x77A JUMP JUMPDEST JUMPDEST PUSH2 0x8A4 DUP9 DUP3 DUP10 ADD PUSH2 0x784 JUMP JUMPDEST SWAP6 POP POP PUSH1 0x20 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x8C5 JUMPI PUSH2 0x8C4 PUSH2 0x77A JUMP JUMPDEST JUMPDEST PUSH2 0x8D1 DUP9 DUP3 DUP10 ADD PUSH2 0x7B2 JUMP JUMPDEST SWAP5 POP SWAP5 POP POP PUSH1 0x40 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x8F4 JUMPI PUSH2 0x8F3 PUSH2 0x77A JUMP JUMPDEST JUMPDEST PUSH2 0x900 DUP9 DUP3 DUP10 ADD PUSH2 0x808 JUMP JUMPDEST SWAP3 POP SWAP3 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x922 DUP2 PUSH2 0x90F JUMP JUMPDEST DUP2 EQ PUSH2 0x92D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x93F DUP2 PUSH2 0x919 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x958 DUP2 PUSH2 0x945 JUMP JUMPDEST DUP2 EQ PUSH2 0x963 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x975 DUP2 PUSH2 0x94F JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x992 JUMPI PUSH2 0x991 PUSH2 0x775 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x9A0 DUP6 DUP3 DUP7 ADD PUSH2 0x930 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x9B1 DUP6 DUP3 DUP7 ADD PUSH2 0x966 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x9F5 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x9DA JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xA1D DUP3 PUSH2 0x9BB JUMP JUMPDEST PUSH2 0xA27 DUP2 DUP6 PUSH2 0x9C6 JUMP JUMPDEST SWAP4 POP PUSH2 0xA37 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x9D7 JUMP JUMPDEST PUSH2 0xA40 DUP2 PUSH2 0xA01 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xA54 DUP2 PUSH2 0x945 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP4 ADD PUSH1 0x0 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x0 DUP7 ADD MSTORE PUSH2 0xA77 DUP3 DUP3 PUSH2 0xA12 JUMP JUMPDEST SWAP2 POP POP PUSH1 0x20 DUP4 ADD MLOAD PUSH2 0xA8C PUSH1 0x20 DUP7 ADD DUP3 PUSH2 0xA4B JUMP JUMPDEST POP PUSH1 0x40 DUP4 ADD MLOAD PUSH2 0xA9F PUSH1 0x40 DUP7 ADD DUP3 PUSH2 0xA4B JUMP JUMPDEST POP PUSH1 0x60 DUP4 ADD MLOAD PUSH2 0xAB2 PUSH1 0x60 DUP7 ADD DUP3 PUSH2 0xA4B JUMP JUMPDEST POP PUSH1 0x80 DUP4 ADD MLOAD PUSH2 0xAC5 PUSH1 0x80 DUP7 ADD DUP3 PUSH2 0xA4B JUMP JUMPDEST POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xAEA DUP2 DUP5 PUSH2 0xA5A JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xB0E DUP3 PUSH2 0x9BB JUMP JUMPDEST PUSH2 0xB18 DUP2 DUP6 PUSH2 0xAF2 JUMP JUMPDEST SWAP4 POP PUSH2 0xB28 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x9D7 JUMP JUMPDEST PUSH2 0xB31 DUP2 PUSH2 0xA01 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xB45 DUP2 PUSH2 0x945 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xB65 DUP2 DUP9 PUSH2 0xB03 JUMP JUMPDEST SWAP1 POP PUSH2 0xB74 PUSH1 0x20 DUP4 ADD DUP8 PUSH2 0xB3C JUMP JUMPDEST PUSH2 0xB81 PUSH1 0x40 DUP4 ADD DUP7 PUSH2 0xB3C JUMP JUMPDEST PUSH2 0xB8E PUSH1 0x60 DUP4 ADD DUP6 PUSH2 0xB3C JUMP JUMPDEST PUSH2 0xB9B PUSH1 0x80 DUP4 ADD DUP5 PUSH2 0xB3C JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xBBB JUMPI PUSH2 0xBBA PUSH2 0x775 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xBC9 DUP5 DUP3 DUP6 ADD PUSH2 0x930 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xBE7 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xB3C JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0xC2A DUP3 PUSH2 0xA01 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0xC49 JUMPI PUSH2 0xC48 PUSH2 0xBF2 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xC5C PUSH2 0x76B JUMP JUMPDEST SWAP1 POP PUSH2 0xC68 DUP3 DUP3 PUSH2 0xC21 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0xC88 JUMPI PUSH2 0xC87 PUSH2 0xBF2 JUMP JUMPDEST JUMPDEST PUSH2 0xC91 DUP3 PUSH2 0xA01 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xCC0 PUSH2 0xCBB DUP5 PUSH2 0xC6D JUMP JUMPDEST PUSH2 0xC52 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0xCDC JUMPI PUSH2 0xCDB PUSH2 0xBED JUMP JUMPDEST JUMPDEST PUSH2 0xCE7 DUP5 DUP3 DUP6 PUSH2 0xC9E JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0xD04 JUMPI PUSH2 0xD03 PUSH2 0x7A3 JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0xD14 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0xCAD JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xD34 JUMPI PUSH2 0xD33 PUSH2 0x775 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xD42 DUP6 DUP3 DUP7 ADD PUSH2 0x930 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xD63 JUMPI PUSH2 0xD62 PUSH2 0x77A JUMP JUMPDEST JUMPDEST PUSH2 0xD6F DUP6 DUP3 DUP7 ADD PUSH2 0xCEF JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP3 CALLDATALOAD PUSH1 0x1 PUSH1 0xC0 SUB DUP4 CALLDATASIZE SUB SUB DUP2 SLT PUSH2 0xDA4 JUMPI PUSH2 0xDA3 PUSH2 0xD79 JUMP JUMPDEST JUMPDEST DUP1 DUP4 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 CALLDATALOAD PUSH1 0x1 PUSH1 0x20 SUB DUP5 CALLDATASIZE SUB SUB DUP2 SLT PUSH2 0xDCD JUMPI PUSH2 0xDCC PUSH2 0xD79 JUMP JUMPDEST JUMPDEST DUP1 DUP5 ADD SWAP3 POP DUP3 CALLDATALOAD SWAP2 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0xDEF JUMPI PUSH2 0xDEE PUSH2 0xD7E JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP3 POP PUSH1 0x1 DUP3 MUL CALLDATASIZE SUB DUP4 SGT ISZERO PUSH2 0xE0B JUMPI PUSH2 0xE0A PUSH2 0xD83 JUMP JUMPDEST JUMPDEST POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0xE5A JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0xE6D JUMPI PUSH2 0xE6C PUSH2 0xE13 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP DUP2 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 PUSH1 0x1F DUP4 ADD DIV SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 SHL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x8 DUP4 MUL PUSH2 0xED5 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 PUSH2 0xE98 JUMP JUMPDEST PUSH2 0xEDF DUP7 DUP4 PUSH2 0xE98 JUMP JUMPDEST SWAP6 POP DUP1 NOT DUP5 AND SWAP4 POP DUP1 DUP7 AND DUP5 OR SWAP3 POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xF1C PUSH2 0xF17 PUSH2 0xF12 DUP5 PUSH2 0x945 JUMP JUMPDEST PUSH2 0xEF7 JUMP JUMPDEST PUSH2 0x945 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xF36 DUP4 PUSH2 0xF01 JUMP JUMPDEST PUSH2 0xF4A PUSH2 0xF42 DUP3 PUSH2 0xF23 JUMP JUMPDEST DUP5 DUP5 SLOAD PUSH2 0xEA5 JUMP JUMPDEST DUP3 SSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 SWAP1 JUMP JUMPDEST PUSH2 0xF5F PUSH2 0xF52 JUMP JUMPDEST PUSH2 0xF6A DUP2 DUP5 DUP5 PUSH2 0xF2D JUMP JUMPDEST POP POP POP JUMP JUMPDEST JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0xF8E JUMPI PUSH2 0xF83 PUSH1 0x0 DUP3 PUSH2 0xF57 JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0xF70 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0xFD3 JUMPI PUSH2 0xFA4 DUP2 PUSH2 0xE73 JUMP JUMPDEST PUSH2 0xFAD DUP5 PUSH2 0xE88 JUMP JUMPDEST DUP2 ADD PUSH1 0x20 DUP6 LT ISZERO PUSH2 0xFBC JUMPI DUP2 SWAP1 POP JUMPDEST PUSH2 0xFD0 PUSH2 0xFC8 DUP6 PUSH2 0xE88 JUMP JUMPDEST DUP4 ADD DUP3 PUSH2 0xF6F JUMP JUMPDEST POP POP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 SHR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xFF6 PUSH1 0x0 NOT DUP5 PUSH1 0x8 MUL PUSH2 0xFD8 JUMP JUMPDEST NOT DUP1 DUP4 AND SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x100F DUP4 DUP4 PUSH2 0xFE5 JUMP JUMPDEST SWAP2 POP DUP3 PUSH1 0x2 MUL DUP3 OR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x1028 DUP3 PUSH2 0x9BB JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1041 JUMPI PUSH2 0x1040 PUSH2 0xBF2 JUMP JUMPDEST JUMPDEST PUSH2 0x104B DUP3 SLOAD PUSH2 0xE42 JUMP JUMPDEST PUSH2 0x1056 DUP3 DUP3 DUP6 PUSH2 0xF92 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 SWAP1 POP PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x1089 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH2 0x1077 JUMPI DUP3 DUP8 ADD MLOAD SWAP1 POP JUMPDEST PUSH2 0x1081 DUP6 DUP3 PUSH2 0x1003 JUMP JUMPDEST DUP7 SSTORE POP PUSH2 0x10E9 JUMP JUMPDEST PUSH1 0x1F NOT DUP5 AND PUSH2 0x1097 DUP7 PUSH2 0xE73 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x10BF JUMPI DUP5 DUP10 ADD MLOAD DUP3 SSTORE PUSH1 0x1 DUP3 ADD SWAP2 POP PUSH1 0x20 DUP6 ADD SWAP5 POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x109A JUMP JUMPDEST DUP7 DUP4 LT ISZERO PUSH2 0x10DC JUMPI DUP5 DUP10 ADD MLOAD PUSH2 0x10D8 PUSH1 0x1F DUP10 AND DUP3 PUSH2 0xFE5 JUMP JUMPDEST DUP4 SSTORE POP JUMPDEST PUSH1 0x1 PUSH1 0x2 DUP9 MUL ADD DUP9 SSTORE POP POP POP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1100 PUSH1 0x20 DUP5 ADD DUP5 PUSH2 0x930 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x1111 DUP2 PUSH2 0x90F JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP3 CALLDATALOAD PUSH1 0x1 PUSH1 0xC0 SUB DUP4 CALLDATASIZE SUB SUB DUP2 SLT PUSH2 0x1138 JUMPI PUSH2 0x1137 PUSH2 0x1117 JUMP JUMPDEST JUMPDEST DUP3 DUP2 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP4 CALLDATALOAD PUSH1 0x1 PUSH1 0x20 SUB DUP5 CALLDATASIZE SUB SUB DUP2 SLT PUSH2 0x116B JUMPI PUSH2 0x116A PUSH2 0x1117 JUMP JUMPDEST JUMPDEST DUP4 DUP2 ADD SWAP3 POP DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD SWAP3 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x1193 JUMPI PUSH2 0x1192 PUSH2 0x1144 JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 MUL CALLDATASIZE SUB DUP4 SGT ISZERO PUSH2 0x11A9 JUMPI PUSH2 0x11A8 PUSH2 0x1149 JUMP JUMPDEST JUMPDEST POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x11BD DUP4 DUP6 PUSH2 0x9C6 JUMP JUMPDEST SWAP4 POP PUSH2 0x11CA DUP4 DUP6 DUP5 PUSH2 0xC9E JUMP JUMPDEST PUSH2 0x11D3 DUP4 PUSH2 0xA01 JUMP JUMPDEST DUP5 ADD SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x11ED PUSH1 0x20 DUP5 ADD DUP5 PUSH2 0x966 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xC0 DUP4 ADD PUSH2 0x1208 PUSH1 0x0 DUP5 ADD DUP5 PUSH2 0x114E JUMP JUMPDEST DUP6 DUP4 SUB PUSH1 0x0 DUP8 ADD MSTORE PUSH2 0x121B DUP4 DUP3 DUP5 PUSH2 0x11B1 JUMP JUMPDEST SWAP3 POP POP POP PUSH2 0x122C PUSH1 0x20 DUP5 ADD DUP5 PUSH2 0x11DE JUMP JUMPDEST PUSH2 0x1239 PUSH1 0x20 DUP7 ADD DUP3 PUSH2 0xA4B JUMP JUMPDEST POP PUSH2 0x1247 PUSH1 0x40 DUP5 ADD DUP5 PUSH2 0x11DE JUMP JUMPDEST PUSH2 0x1254 PUSH1 0x40 DUP7 ADD DUP3 PUSH2 0xA4B JUMP JUMPDEST POP PUSH2 0x1262 PUSH1 0x60 DUP5 ADD DUP5 PUSH2 0x11DE JUMP JUMPDEST PUSH2 0x126F PUSH1 0x60 DUP7 ADD DUP3 PUSH2 0xA4B JUMP JUMPDEST POP PUSH2 0x127D PUSH1 0x80 DUP5 ADD DUP5 PUSH2 0x11DE JUMP JUMPDEST PUSH2 0x128A PUSH1 0x80 DUP7 ADD DUP3 PUSH2 0xA4B JUMP JUMPDEST POP PUSH2 0x1298 PUSH1 0xA0 DUP5 ADD DUP5 PUSH2 0x11DE JUMP JUMPDEST PUSH2 0x12A5 PUSH1 0xA0 DUP7 ADD DUP3 PUSH2 0xA4B JUMP JUMPDEST POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP4 ADD PUSH2 0x12C3 PUSH1 0x0 DUP5 ADD DUP5 PUSH2 0x10F1 JUMP JUMPDEST PUSH2 0x12D0 PUSH1 0x0 DUP7 ADD DUP3 PUSH2 0x1108 JUMP JUMPDEST POP PUSH2 0x12DE PUSH1 0x20 DUP5 ADD DUP5 PUSH2 0x111C JUMP JUMPDEST DUP5 DUP3 SUB PUSH1 0x20 DUP7 ADD MSTORE PUSH2 0x12F0 DUP3 DUP3 PUSH2 0x11F5 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x1300 PUSH1 0x40 DUP5 ADD DUP5 PUSH2 0x11DE JUMP JUMPDEST PUSH2 0x130D PUSH1 0x40 DUP7 ADD DUP3 PUSH2 0xA4B JUMP JUMPDEST POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1332 DUP2 DUP5 PUSH2 0x12B0 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x13A3 DUP3 PUSH2 0x945 JUMP JUMPDEST SWAP2 POP PUSH2 0x13AE DUP4 PUSH2 0x945 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 SUB SWAP1 POP DUP2 DUP2 GT ISZERO PUSH2 0x13C6 JUMPI PUSH2 0x13C5 PUSH2 0x1369 JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x13D7 DUP3 PUSH2 0x945 JUMP JUMPDEST SWAP2 POP PUSH2 0x13E2 DUP4 PUSH2 0x945 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 MUL PUSH2 0x13F0 DUP2 PUSH2 0x945 JUMP JUMPDEST SWAP2 POP DUP3 DUP3 DIV DUP5 EQ DUP4 ISZERO OR PUSH2 0x1407 JUMPI PUSH2 0x1406 PUSH2 0x1369 JUMP JUMPDEST JUMPDEST POP SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xD9 0x22 0xAD 0xB4 DUP9 DUP4 0x4A SDIV GASLIMIT 0xBA CALLDATASIZE CALLVALUE 0xEB COINBASE SDIV 0x28 LOG1 0xC1 0xD8 MOD DUP3 ADDRESS 0xD 0xE3 REVERT 0xE8 0xB0 PUSH12 0xB8179EA064736F6C63430008 SGT STOP CALLER ","sourceMap":"638:3951:2:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1555:663;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3113:169;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;687:47;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;3831:169;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3483:127;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2487:335;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1555:663;1889:4;:25;1894:11;:19;;;1889:25;;;;;;;;;;;1920:228;;;;;;;;1947:11;:18;;;;;;;;:::i;:::-;:24;;;;;;;;:::i;:::-;1920:228;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1986:11;:18;;;;;;;;:::i;:::-;:33;;;1920:228;;;;2034:11;:18;;;;;;;;:::i;:::-;:28;;;1920:228;;;;2076:11;:32;;;1920:228;;;;2123:15;1920:228;;;1889:260;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2178:11;:19;;;2164:47;2199:11;2164:47;;;;;;:::i;:::-;;;;;;;;1555:663;;;;;:::o;3113:169::-;3199:35;;:::i;:::-;3253:4;:14;3258:8;3253:14;;;;;;;;;;;3268:6;3253:22;;;;;;;;:::i;:::-;;;;;;;;;;;;3246:29;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3113:169;;;;:::o;687:47::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;3831:169::-;3905:35;;:::i;:::-;3959:34;3984:8;3959:24;:34::i;:::-;3952:41;;3831:169;;;:::o;3483:127::-;3556:7;3582:4;:14;3587:8;3582:14;;;;;;;;;;;:21;;;;3575:28;;3483:127;;;:::o;2487:335::-;2643:27;2697:4;2692:1;2674:15;:19;;;;:::i;:::-;2673:28;;;;:::i;:::-;2643:58;;2711:4;:14;2716:8;2711:14;;;;;;;;;;;2731:83;;;;;;;;2745:6;2731:83;;;;2753:1;2731:83;;;;2756:19;2731:83;;;;2777:19;2731:83;;;;2798:15;2731:83;;;2711:104;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2571:251;2487:335;;:::o;4258:329::-;4333:35;;:::i;:::-;4409:1;4384:4;:14;4389:8;4384:14;;;;;;;;;;;:21;;;;:26;4380:102;;4434:36;;;;;;;;4448:9;;;;;;;;;;;;4434:36;;;;4459:1;4434:36;;;;4462:1;4434:36;;;;4465:1;4434:36;;;;4468:1;4434:36;;;4426:45;;;;4380:102;4508:4;:14;4513:8;4508:14;;;;;;;;;;;4547:1;4523:4;:14;4528:8;4523:14;;;;;;;;;;;:21;;;;:25;;;;:::i;:::-;4508:41;;;;;;;;:::i;:::-;;;;;;;;;;;;4491:58;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4258:329;;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;7:75:3:-;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310:12;334:117;443:1;440;433:12;493:243;578:5;619:2;610:6;605:3;601:16;597:25;594:112;;;625:79;;:::i;:::-;594:112;724:6;715:15;;493:243;;;;:::o;742:117::-;851:1;848;841:12;865:117;974:1;971;964:12;988:117;1097:1;1094;1087:12;1137:595;1237:8;1247:6;1297:3;1290:4;1282:6;1278:17;1274:27;1264:122;;1305:79;;:::i;:::-;1264:122;1418:6;1405:20;1395:30;;1448:18;1440:6;1437:30;1434:117;;;1470:79;;:::i;:::-;1434:117;1584:4;1576:6;1572:17;1560:29;;1638:3;1630:4;1622:6;1618:17;1608:8;1604:32;1601:41;1598:128;;;1645:79;;:::i;:::-;1598:128;1137:595;;;;;:::o;1764:::-;1864:8;1874:6;1924:3;1917:4;1909:6;1905:17;1901:27;1891:122;;1932:79;;:::i;:::-;1891:122;2045:6;2032:20;2022:30;;2075:18;2067:6;2064:30;2061:117;;;2097:79;;:::i;:::-;2061:117;2211:4;2203:6;2199:17;2187:29;;2265:3;2257:4;2249:6;2245:17;2235:8;2231:32;2228:41;2225:128;;;2272:79;;:::i;:::-;2225:128;1764:595;;;;;:::o;2365:1425::-;2589:6;2597;2605;2613;2621;2670:2;2658:9;2649:7;2645:23;2641:32;2638:119;;;2676:79;;:::i;:::-;2638:119;2824:1;2813:9;2809:17;2796:31;2854:18;2846:6;2843:30;2840:117;;;2876:79;;:::i;:::-;2840:117;2981:92;3065:7;3056:6;3045:9;3041:22;2981:92;:::i;:::-;2971:102;;2767:316;3150:2;3139:9;3135:18;3122:32;3181:18;3173:6;3170:30;3167:117;;;3203:79;;:::i;:::-;3167:117;3316:107;3415:7;3406:6;3395:9;3391:22;3316:107;:::i;:::-;3298:125;;;;3093:340;3500:2;3489:9;3485:18;3472:32;3531:18;3523:6;3520:30;3517:117;;;3553:79;;:::i;:::-;3517:117;3666:107;3765:7;3756:6;3745:9;3741:22;3666:107;:::i;:::-;3648:125;;;;3443:340;2365:1425;;;;;;;;:::o;3796:77::-;3833:7;3862:5;3851:16;;3796:77;;;:::o;3879:122::-;3952:24;3970:5;3952:24;:::i;:::-;3945:5;3942:35;3932:63;;3991:1;3988;3981:12;3932:63;3879:122;:::o;4007:139::-;4053:5;4091:6;4078:20;4069:29;;4107:33;4134:5;4107:33;:::i;:::-;4007:139;;;;:::o;4152:77::-;4189:7;4218:5;4207:16;;4152:77;;;:::o;4235:122::-;4308:24;4326:5;4308:24;:::i;:::-;4301:5;4298:35;4288:63;;4347:1;4344;4337:12;4288:63;4235:122;:::o;4363:139::-;4409:5;4447:6;4434:20;4425:29;;4463:33;4490:5;4463:33;:::i;:::-;4363:139;;;;:::o;4508:474::-;4576:6;4584;4633:2;4621:9;4612:7;4608:23;4604:32;4601:119;;;4639:79;;:::i;:::-;4601:119;4759:1;4784:53;4829:7;4820:6;4809:9;4805:22;4784:53;:::i;:::-;4774:63;;4730:117;4886:2;4912:53;4957:7;4948:6;4937:9;4933:22;4912:53;:::i;:::-;4902:63;;4857:118;4508:474;;;;;:::o;4988:98::-;5039:6;5073:5;5067:12;5057:22;;4988:98;;;:::o;5092:158::-;5165:11;5199:6;5194:3;5187:19;5239:4;5234:3;5230:14;5215:29;;5092:158;;;;:::o;5256:246::-;5337:1;5347:113;5361:6;5358:1;5355:13;5347:113;;;5446:1;5441:3;5437:11;5431:18;5427:1;5422:3;5418:11;5411:39;5383:2;5380:1;5376:10;5371:15;;5347:113;;;5494:1;5485:6;5480:3;5476:16;5469:27;5318:184;5256:246;;;:::o;5508:102::-;5549:6;5600:2;5596:7;5591:2;5584:5;5580:14;5576:28;5566:38;;5508:102;;;:::o;5616:353::-;5692:3;5720:38;5752:5;5720:38;:::i;:::-;5774:60;5827:6;5822:3;5774:60;:::i;:::-;5767:67;;5843:65;5901:6;5896:3;5889:4;5882:5;5878:16;5843:65;:::i;:::-;5933:29;5955:6;5933:29;:::i;:::-;5928:3;5924:39;5917:46;;5696:273;5616:353;;;;:::o;5975:108::-;6052:24;6070:5;6052:24;:::i;:::-;6047:3;6040:37;5975:108;;:::o;6179:1178::-;6308:3;6344:4;6339:3;6335:14;6432:4;6425:5;6421:16;6415:23;6485:3;6479:4;6475:14;6468:4;6463:3;6459:14;6452:38;6511:71;6577:4;6563:12;6511:71;:::i;:::-;6503:79;;6359:234;6676:4;6669:5;6665:16;6659:23;6695:63;6752:4;6747:3;6743:14;6729:12;6695:63;:::i;:::-;6603:165;6864:4;6857:5;6853:16;6847:23;6883:63;6940:4;6935:3;6931:14;6917:12;6883:63;:::i;:::-;6778:178;7054:4;7047:5;7043:16;7037:23;7073:63;7130:4;7125:3;7121:14;7107:12;7073:63;:::i;:::-;6966:180;7238:4;7231:5;7227:16;7221:23;7257:63;7314:4;7309:3;7305:14;7291:12;7257:63;:::i;:::-;7156:174;7347:4;7340:11;;6313:1044;6179:1178;;;;:::o;7363:393::-;7516:4;7554:2;7543:9;7539:18;7531:26;;7603:9;7597:4;7593:20;7589:1;7578:9;7574:17;7567:47;7631:118;7744:4;7735:6;7631:118;:::i;:::-;7623:126;;7363:393;;;;:::o;7762:168::-;7845:11;7879:6;7874:3;7867:19;7919:4;7914:3;7910:14;7895:29;;7762:168;;;;:::o;7936:373::-;8022:3;8050:38;8082:5;8050:38;:::i;:::-;8104:70;8167:6;8162:3;8104:70;:::i;:::-;8097:77;;8183:65;8241:6;8236:3;8229:4;8222:5;8218:16;8183:65;:::i;:::-;8273:29;8295:6;8273:29;:::i;:::-;8268:3;8264:39;8257:46;;8026:283;7936:373;;;;:::o;8315:118::-;8402:24;8420:5;8402:24;:::i;:::-;8397:3;8390:37;8315:118;;:::o;8439:751::-;8662:4;8700:3;8689:9;8685:19;8677:27;;8750:9;8744:4;8740:20;8736:1;8725:9;8721:17;8714:47;8778:76;8849:4;8840:6;8778:76;:::i;:::-;8770:84;;8864:72;8932:2;8921:9;8917:18;8908:6;8864:72;:::i;:::-;8946;9014:2;9003:9;8999:18;8990:6;8946:72;:::i;:::-;9028;9096:2;9085:9;9081:18;9072:6;9028:72;:::i;:::-;9110:73;9178:3;9167:9;9163:19;9154:6;9110:73;:::i;:::-;8439:751;;;;;;;;:::o;9196:329::-;9255:6;9304:2;9292:9;9283:7;9279:23;9275:32;9272:119;;;9310:79;;:::i;:::-;9272:119;9430:1;9455:53;9500:7;9491:6;9480:9;9476:22;9455:53;:::i;:::-;9445:63;;9401:117;9196:329;;;;:::o;9531:222::-;9624:4;9662:2;9651:9;9647:18;9639:26;;9675:71;9743:1;9732:9;9728:17;9719:6;9675:71;:::i;:::-;9531:222;;;;:::o;9759:117::-;9868:1;9865;9858:12;9882:180;9930:77;9927:1;9920:88;10027:4;10024:1;10017:15;10051:4;10048:1;10041:15;10068:281;10151:27;10173:4;10151:27;:::i;:::-;10143:6;10139:40;10281:6;10269:10;10266:22;10245:18;10233:10;10230:34;10227:62;10224:88;;;10292:18;;:::i;:::-;10224:88;10332:10;10328:2;10321:22;10111:238;10068:281;;:::o;10355:129::-;10389:6;10416:20;;:::i;:::-;10406:30;;10445:33;10473:4;10465:6;10445:33;:::i;:::-;10355:129;;;:::o;10490:307::-;10551:4;10641:18;10633:6;10630:30;10627:56;;;10663:18;;:::i;:::-;10627:56;10701:29;10723:6;10701:29;:::i;:::-;10693:37;;10785:4;10779;10775:15;10767:23;;10490:307;;;:::o;10803:146::-;10900:6;10895:3;10890;10877:30;10941:1;10932:6;10927:3;10923:16;10916:27;10803:146;;;:::o;10955:423::-;11032:5;11057:65;11073:48;11114:6;11073:48;:::i;:::-;11057:65;:::i;:::-;11048:74;;11145:6;11138:5;11131:21;11183:4;11176:5;11172:16;11221:3;11212:6;11207:3;11203:16;11200:25;11197:112;;;11228:79;;:::i;:::-;11197:112;11318:54;11365:6;11360:3;11355;11318:54;:::i;:::-;11038:340;10955:423;;;;;:::o;11397:338::-;11452:5;11501:3;11494:4;11486:6;11482:17;11478:27;11468:122;;11509:79;;:::i;:::-;11468:122;11626:6;11613:20;11651:78;11725:3;11717:6;11710:4;11702:6;11698:17;11651:78;:::i;:::-;11642:87;;11458:277;11397:338;;;;:::o;11741:652::-;11818:6;11826;11875:2;11863:9;11854:7;11850:23;11846:32;11843:119;;;11881:79;;:::i;:::-;11843:119;12001:1;12026:53;12071:7;12062:6;12051:9;12047:22;12026:53;:::i;:::-;12016:63;;11972:117;12156:2;12145:9;12141:18;12128:32;12187:18;12179:6;12176:30;12173:117;;;12209:79;;:::i;:::-;12173:117;12314:62;12368:7;12359:6;12348:9;12344:22;12314:62;:::i;:::-;12304:72;;12099:287;11741:652;;;;;:::o;12399:117::-;12508:1;12505;12498:12;12522:117;12631:1;12628;12621:12;12645:117;12754:1;12751;12744:12;12768:394;12862:4;12916:11;12903:25;13016:1;13010:4;13006:12;12995:8;12979:14;12975:29;12971:48;12951:18;12947:73;12937:168;;13024:79;;:::i;:::-;12937:168;13136:18;13126:8;13122:33;13114:41;;12867:295;12768:394;;;;:::o;13168:724::-;13245:4;13251:6;13307:11;13294:25;13407:1;13401:4;13397:12;13386:8;13370:14;13366:29;13362:48;13342:18;13338:73;13328:168;;13415:79;;:::i;:::-;13328:168;13527:18;13517:8;13513:33;13505:41;;13579:4;13566:18;13556:28;;13607:18;13599:6;13596:30;13593:117;;;13629:79;;:::i;:::-;13593:117;13737:2;13731:4;13727:13;13719:21;;13794:4;13786:6;13782:17;13766:14;13762:38;13756:4;13752:49;13749:136;;;13804:79;;:::i;:::-;13749:136;13258:634;13168:724;;;;;:::o;13898:180::-;13946:77;13943:1;13936:88;14043:4;14040:1;14033:15;14067:4;14064:1;14057:15;14084:320;14128:6;14165:1;14159:4;14155:12;14145:22;;14212:1;14206:4;14202:12;14233:18;14223:81;;14289:4;14281:6;14277:17;14267:27;;14223:81;14351:2;14343:6;14340:14;14320:18;14317:38;14314:84;;14370:18;;:::i;:::-;14314:84;14135:269;14084:320;;;:::o;14410:140::-;14458:4;14481:3;14473:11;;14504:3;14501:1;14494:14;14538:4;14535:1;14525:18;14517:26;;14410:140;;;:::o;14556:93::-;14593:6;14640:2;14635;14628:5;14624:14;14620:23;14610:33;;14556:93;;;:::o;14655:107::-;14699:8;14749:5;14743:4;14739:16;14718:37;;14655:107;;;;:::o;14768:393::-;14837:6;14887:1;14875:10;14871:18;14910:97;14940:66;14929:9;14910:97;:::i;:::-;15028:39;15058:8;15047:9;15028:39;:::i;:::-;15016:51;;15100:4;15096:9;15089:5;15085:21;15076:30;;15149:4;15139:8;15135:19;15128:5;15125:30;15115:40;;14844:317;;14768:393;;;;;:::o;15167:60::-;15195:3;15216:5;15209:12;;15167:60;;;:::o;15233:142::-;15283:9;15316:53;15334:34;15343:24;15361:5;15343:24;:::i;:::-;15334:34;:::i;:::-;15316:53;:::i;:::-;15303:66;;15233:142;;;:::o;15381:75::-;15424:3;15445:5;15438:12;;15381:75;;;:::o;15462:269::-;15572:39;15603:7;15572:39;:::i;:::-;15633:91;15682:41;15706:16;15682:41;:::i;:::-;15674:6;15667:4;15661:11;15633:91;:::i;:::-;15627:4;15620:105;15538:193;15462:269;;;:::o;15737:73::-;15782:3;15737:73;:::o;15816:189::-;15893:32;;:::i;:::-;15934:65;15992:6;15984;15978:4;15934:65;:::i;:::-;15869:136;15816:189;;:::o;16011:186::-;16071:120;16088:3;16081:5;16078:14;16071:120;;;16142:39;16179:1;16172:5;16142:39;:::i;:::-;16115:1;16108:5;16104:13;16095:22;;16071:120;;;16011:186;;:::o;16203:541::-;16303:2;16298:3;16295:11;16292:445;;;16337:37;16368:5;16337:37;:::i;:::-;16420:29;16438:10;16420:29;:::i;:::-;16410:8;16406:44;16603:2;16591:10;16588:18;16585:49;;;16624:8;16609:23;;16585:49;16647:80;16703:22;16721:3;16703:22;:::i;:::-;16693:8;16689:37;16676:11;16647:80;:::i;:::-;16307:430;;16292:445;16203:541;;;:::o;16750:117::-;16804:8;16854:5;16848:4;16844:16;16823:37;;16750:117;;;;:::o;16873:169::-;16917:6;16950:51;16998:1;16994:6;16986:5;16983:1;16979:13;16950:51;:::i;:::-;16946:56;17031:4;17025;17021:15;17011:25;;16924:118;16873:169;;;;:::o;17047:295::-;17123:4;17269:29;17294:3;17288:4;17269:29;:::i;:::-;17261:37;;17331:3;17328:1;17324:11;17318:4;17315:21;17307:29;;17047:295;;;;:::o;17347:1390::-;17462:36;17494:3;17462:36;:::i;:::-;17563:18;17555:6;17552:30;17549:56;;;17585:18;;:::i;:::-;17549:56;17629:38;17661:4;17655:11;17629:38;:::i;:::-;17714:66;17773:6;17765;17759:4;17714:66;:::i;:::-;17807:1;17831:4;17818:17;;17863:2;17855:6;17852:14;17880:1;17875:617;;;;18536:1;18553:6;18550:77;;;18602:9;18597:3;18593:19;18587:26;18578:35;;18550:77;18653:67;18713:6;18706:5;18653:67;:::i;:::-;18647:4;18640:81;18509:222;17845:886;;17875:617;17927:4;17923:9;17915:6;17911:22;17961:36;17992:4;17961:36;:::i;:::-;18019:1;18033:208;18047:7;18044:1;18041:14;18033:208;;;18126:9;18121:3;18117:19;18111:26;18103:6;18096:42;18177:1;18169:6;18165:14;18155:24;;18224:2;18213:9;18209:18;18196:31;;18070:4;18067:1;18063:12;18058:17;;18033:208;;;18269:6;18260:7;18257:19;18254:179;;;18327:9;18322:3;18318:19;18312:26;18370:48;18412:4;18404:6;18400:17;18389:9;18370:48;:::i;:::-;18362:6;18355:64;18277:156;18254:179;18479:1;18475;18467:6;18463:14;18459:22;18453:4;18446:36;17882:610;;;17845:886;;17437:1300;;;17347:1390;;:::o;18743:122::-;18795:5;18820:39;18855:2;18850:3;18846:12;18841:3;18820:39;:::i;:::-;18811:48;;18743:122;;;;:::o;18871:108::-;18948:24;18966:5;18948:24;:::i;:::-;18943:3;18936:37;18871:108;;:::o;18985:117::-;19094:1;19091;19084:12;19108:375;19189:5;19244:3;19231:17;19336:1;19330:4;19326:12;19315:8;19299:14;19295:29;19291:48;19271:18;19267:73;19257:168;;19344:79;;:::i;:::-;19257:168;19467:8;19447:18;19443:33;19434:42;;19195:288;19108:375;;;;:::o;19489:117::-;19598:1;19595;19588:12;19612:117;19721:1;19718;19711:12;19735:711;19799:5;19806:6;19862:3;19849:17;19954:1;19948:4;19944:12;19933:8;19917:14;19913:29;19909:48;19889:18;19885:73;19875:168;;19962:79;;:::i;:::-;19875:168;20085:8;20065:18;20061:33;20052:42;;20127:5;20114:19;20104:29;;20162:4;20155:5;20151:16;20142:25;;20190:18;20182:6;20179:30;20176:117;;;20212:79;;:::i;:::-;20176:117;20348:4;20340:6;20336:17;20320:14;20316:38;20309:5;20305:50;20302:137;;;20358:79;;:::i;:::-;20302:137;19813:633;19735:711;;;;;:::o;20474:294::-;20560:3;20581:60;20634:6;20629:3;20581:60;:::i;:::-;20574:67;;20651:56;20700:6;20695:3;20688:5;20651:56;:::i;:::-;20732:29;20754:6;20732:29;:::i;:::-;20727:3;20723:39;20716:46;;20474:294;;;;;:::o;20774:122::-;20826:5;20851:39;20886:2;20881:3;20877:12;20872:3;20851:39;:::i;:::-;20842:48;;20774:122;;;;:::o;20948:1553::-;21061:3;21097:4;21092:3;21088:14;21182:61;21237:4;21230:5;21226:16;21219:5;21182:61;:::i;:::-;21290:3;21284:4;21280:14;21273:4;21268:3;21264:14;21257:38;21316:87;21398:4;21384:12;21370;21316:87;:::i;:::-;21308:95;;21112:302;;21484:50;21528:4;21521:5;21517:16;21510:5;21484:50;:::i;:::-;21547:63;21604:4;21599:3;21595:14;21581:12;21547:63;:::i;:::-;21424:196;21695:50;21739:4;21732:5;21728:16;21721:5;21695:50;:::i;:::-;21758:63;21815:4;21810:3;21806:14;21792:12;21758:63;:::i;:::-;21630:201;21909:50;21953:4;21946:5;21942:16;21935:5;21909:50;:::i;:::-;21972:63;22029:4;22024:3;22020:14;22006:12;21972:63;:::i;:::-;21841:204;22119:50;22163:4;22156:5;22152:16;22145:5;22119:50;:::i;:::-;22182:63;22239:4;22234:3;22230:14;22216:12;22182:63;:::i;:::-;22055:200;22338:50;22382:4;22375:5;22371:16;22364:5;22338:50;:::i;:::-;22401:63;22458:4;22453:3;22449:14;22435:12;22401:63;:::i;:::-;22265:209;22491:4;22484:11;;21066:1435;20948:1553;;;;:::o;22575:970::-;22720:3;22756:4;22751:3;22747:14;22829:50;22873:4;22866:5;22862:16;22855:5;22829:50;:::i;:::-;22892:63;22949:4;22944:3;22940:14;22926:12;22892:63;:::i;:::-;22771:194;23032:78;23104:4;23097:5;23093:16;23086:5;23032:78;:::i;:::-;23157:3;23151:4;23147:14;23140:4;23135:3;23131:14;23124:38;23183:107;23285:4;23271:12;23183:107;:::i;:::-;23175:115;;22975:326;23382:50;23426:4;23419:5;23415:16;23408:5;23382:50;:::i;:::-;23445:63;23502:4;23497:3;23493:14;23479:12;23445:63;:::i;:::-;23311:207;23535:4;23528:11;;22725:820;22575:970;;;;:::o;23551:425::-;23720:4;23758:2;23747:9;23743:18;23735:26;;23807:9;23801:4;23797:20;23793:1;23782:9;23778:17;23771:47;23835:134;23964:4;23955:6;23835:134;:::i;:::-;23827:142;;23551:425;;;;:::o;23982:180::-;24030:77;24027:1;24020:88;24127:4;24124:1;24117:15;24151:4;24148:1;24141:15;24168:180;24216:77;24213:1;24206:88;24313:4;24310:1;24303:15;24337:4;24334:1;24327:15;24354:194;24394:4;24414:20;24432:1;24414:20;:::i;:::-;24409:25;;24448:20;24466:1;24448:20;:::i;:::-;24443:25;;24492:1;24489;24485:9;24477:17;;24516:1;24510:4;24507:11;24504:37;;;24521:18;;:::i;:::-;24504:37;24354:194;;;;:::o;24554:410::-;24594:7;24617:20;24635:1;24617:20;:::i;:::-;24612:25;;24651:20;24669:1;24651:20;:::i;:::-;24646:25;;24706:1;24703;24699:9;24728:30;24746:11;24728:30;:::i;:::-;24717:41;;24907:1;24898:7;24894:15;24891:1;24888:22;24868:1;24861:9;24841:83;24818:139;;24937:18;;:::i;:::-;24818:139;24602:362;24554:410;;;;:::o"},"methodIdentifiers":{"data(bytes32,uint256)":"8d12c426","getAggregateByIndex(bytes32,uint256)":"717681c6","getAggregateValueCount(bytes32)":"e3ac7e11","getCurrentAggregateData(bytes32)":"cb956711","updateOracleData((bytes32,(bytes,uint256,uint256,uint256,uint256,uint256),uint256),(address,uint256)[],(uint8,bytes32,bytes32)[])":"61808010","updateOracleDataPlayground(bytes32,bytes)":"f237640a"}},"metadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"queryId\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"queryId\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"aggregatePower\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"previousTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"nextTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"lastConsensusTimestamp\",\"type\":\"uint256\"}],\"internalType\":\"struct ReportData\",\"name\":\"report\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"attestationTimestamp\",\"type\":\"uint256\"}],\"indexed\":false,\"internalType\":\"struct OracleAttestationData\",\"name\":\"attestData\",\"type\":\"tuple\"}],\"name\":\"OracleUpdated\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"data\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"power\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"aggregateTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"attestationTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"relayTimestamp\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_queryId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"_index\",\"type\":\"uint256\"}],\"name\":\"getAggregateByIndex\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"power\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"aggregateTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"attestationTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"relayTimestamp\",\"type\":\"uint256\"}],\"internalType\":\"struct DataBankPlayground.AggregateData\",\"name\":\"_aggregateData\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_queryId\",\"type\":\"bytes32\"}],\"name\":\"getAggregateValueCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_queryId\",\"type\":\"bytes32\"}],\"name\":\"getCurrentAggregateData\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"power\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"aggregateTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"attestationTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"relayTimestamp\",\"type\":\"uint256\"}],\"internalType\":\"struct DataBankPlayground.AggregateData\",\"name\":\"_aggregateData\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"queryId\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"aggregatePower\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"previousTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"nextTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"lastConsensusTimestamp\",\"type\":\"uint256\"}],\"internalType\":\"struct ReportData\",\"name\":\"report\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"attestationTimestamp\",\"type\":\"uint256\"}],\"internalType\":\"struct OracleAttestationData\",\"name\":\"_attestData\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"power\",\"type\":\"uint256\"}],\"internalType\":\"struct Validator[]\",\"name\":\"\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"internalType\":\"struct Signature[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"name\":\"updateOracleData\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_queryId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"_value\",\"type\":\"bytes\"}],\"name\":\"updateOracleDataPlayground\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Tellor Inc.\",\"details\":\"This contract is used to store data for multiple data feeds. It has no data bridge validation, and is used for testing simple tellor integrations. This contract skips data verification and is NOT for production use. For production contracts, use TellorDataBridge verification. See SampleLayerUser repo for usage examples: https://github.com/tellor-io/SampleLayerUser\",\"kind\":\"dev\",\"methods\":{\"getAggregateByIndex(bytes32,uint256)\":{\"details\":\"returns the aggregate data for a given query ID and index\",\"params\":{\"_index\":\"the index of the aggregate data to get\",\"_queryId\":\"the query ID to get the aggregate data for\"},\"returns\":{\"_aggregateData\":\"the aggregate data\"}},\"getAggregateValueCount(bytes32)\":{\"details\":\"returns the total number of aggregate values\",\"params\":{\"_queryId\":\"the query ID to get the aggregate value count for\"},\"returns\":{\"_0\":\"number of aggregate values stored\"}},\"getCurrentAggregateData(bytes32)\":{\"details\":\"returns the current aggregate data for a given query ID\",\"params\":{\"_queryId\":\"the query ID to get the current aggregate data for\"},\"returns\":{\"_aggregateData\":\"the current aggregate data\"}},\"updateOracleData((bytes32,(bytes,uint256,uint256,uint256,uint256,uint256),uint256),(address,uint256)[],(uint8,bytes32,bytes32)[])\":{\"details\":\"updates oracle data with new attestation data after verification\",\"params\":{\"_attestData\":\"the oracle attestation data to be stored note: _currentValidatorSet array of current validators (unused for testing) note: _sigs array of validator signatures (unused for testing)\"}},\"updateOracleDataPlayground(bytes32,bytes)\":{\"details\":\"updates oracle data with new attestation data for playground without needing to format data structs\",\"params\":{\"_queryId\":\"the query ID to update the oracle data for\",\"_value\":\"the value to update the oracle data with\"}}},\"title\":\"DataBankPlayground\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Testing contract for rapid prototyping with Tellor oracle data\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/testing/DataBankPlayground.sol\":\"DataBankPlayground\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/interfaces/ITellorDataBridge.sol\":{\"keccak256\":\"0xe63280ed178d0751b9eba8be5c98a7c1587fcf728c8c2cb2f9d261fc4a650d0f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2a16c3e825c0ad4eb206765656249fb21f3fbe23eb6ad64dac036eb084f215d9\",\"dweb:/ipfs/QmV3de6xCgd864FEhjbiPyTUNhYgB4hPAvwEu8koYoZHwG\"]},\"contracts/testing/DataBankPlayground.sol\":{\"keccak256\":\"0x8dfe63427f26d0485203301f52bb9c37c99201831745375ae5473108924aae1f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://215411b598aa897c2be28b3284ba886a3534ce271ee98a696d0d4044c65be0b1\",\"dweb:/ipfs/QmZqHUwBRLVM7RjWfpUJRraeauTq6ZQT1gQvayjtQT2F2C\"]}},\"version\":1}"}}}}} \ No newline at end of file diff --git a/artifacts/contracts/bridge/ECDSA.sol/ECDSA.dbg.json b/artifacts/contracts/bridge/ECDSA.sol/ECDSA.dbg.json index bb17324..e3d8af3 100644 --- a/artifacts/contracts/bridge/ECDSA.sol/ECDSA.dbg.json +++ b/artifacts/contracts/bridge/ECDSA.sol/ECDSA.dbg.json @@ -1,4 +1,4 @@ { "_format": "hh-sol-dbg-1", - "buildInfo": "../../../build-info/d05a179e09b13bc0470a724f18837726.json" + "buildInfo": "../../../build-info/9e5f0fa02ff1591bf38affe1137bbc7e.json" } diff --git a/artifacts/contracts/bridge/TellorDataBridge.sol/TellorDataBridge.dbg.json b/artifacts/contracts/bridge/TellorDataBridge.sol/TellorDataBridge.dbg.json index bb17324..e3d8af3 100644 --- a/artifacts/contracts/bridge/TellorDataBridge.sol/TellorDataBridge.dbg.json +++ b/artifacts/contracts/bridge/TellorDataBridge.sol/TellorDataBridge.dbg.json @@ -1,4 +1,4 @@ { "_format": "hh-sol-dbg-1", - "buildInfo": "../../../build-info/d05a179e09b13bc0470a724f18837726.json" + "buildInfo": "../../../build-info/9e5f0fa02ff1591bf38affe1137bbc7e.json" } diff --git a/artifacts/contracts/examples/YoloTellorUser.sol/YoloTellorUser.dbg.json b/artifacts/contracts/examples/YoloTellorUser.sol/YoloTellorUser.dbg.json index bb17324..e3d8af3 100644 --- a/artifacts/contracts/examples/YoloTellorUser.sol/YoloTellorUser.dbg.json +++ b/artifacts/contracts/examples/YoloTellorUser.sol/YoloTellorUser.dbg.json @@ -1,4 +1,4 @@ { "_format": "hh-sol-dbg-1", - "buildInfo": "../../../build-info/d05a179e09b13bc0470a724f18837726.json" + "buildInfo": "../../../build-info/9e5f0fa02ff1591bf38affe1137bbc7e.json" } diff --git a/artifacts/contracts/interfaces/IDataBankPlayground.sol/IDataBankPlayground.dbg.json b/artifacts/contracts/interfaces/IDataBankPlayground.sol/IDataBankPlayground.dbg.json deleted file mode 100644 index e9784a8..0000000 --- a/artifacts/contracts/interfaces/IDataBankPlayground.sol/IDataBankPlayground.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../../build-info/ebdb99267cd32cea6219218999245ca2.json" -} diff --git a/artifacts/contracts/interfaces/ITellorDataBank.sol/ITellorDataBank.dbg.json b/artifacts/contracts/interfaces/ITellorDataBank.sol/ITellorDataBank.dbg.json new file mode 100644 index 0000000..e3d8af3 --- /dev/null +++ b/artifacts/contracts/interfaces/ITellorDataBank.sol/ITellorDataBank.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/9e5f0fa02ff1591bf38affe1137bbc7e.json" +} diff --git a/artifacts/contracts/interfaces/IDataBankPlayground.sol/IDataBankPlayground.json b/artifacts/contracts/interfaces/ITellorDataBank.sol/ITellorDataBank.json similarity index 81% rename from artifacts/contracts/interfaces/IDataBankPlayground.sol/IDataBankPlayground.json rename to artifacts/contracts/interfaces/ITellorDataBank.sol/ITellorDataBank.json index cf5858f..94b1215 100644 --- a/artifacts/contracts/interfaces/IDataBankPlayground.sol/IDataBankPlayground.json +++ b/artifacts/contracts/interfaces/ITellorDataBank.sol/ITellorDataBank.json @@ -1,7 +1,7 @@ { "_format": "hh-sol-artifact-1", - "contractName": "IDataBankPlayground", - "sourceName": "contracts/interfaces/IDataBankPlayground.sol", + "contractName": "ITellorDataBank", + "sourceName": "contracts/interfaces/ITellorDataBank.sol", "abi": [ { "inputs": [ @@ -46,7 +46,7 @@ "type": "uint256" } ], - "internalType": "struct IDataBankPlayground.AggregateData", + "internalType": "struct ITellorDataBank.AggregateData", "name": "_aggregateData", "type": "tuple" } @@ -111,31 +111,13 @@ "type": "uint256" } ], - "internalType": "struct IDataBankPlayground.AggregateData", + "internalType": "struct ITellorDataBank.AggregateData", "name": "_aggregateData", "type": "tuple" } ], "stateMutability": "view", "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "_queryId", - "type": "bytes32" - }, - { - "internalType": "bytes", - "name": "_value", - "type": "bytes" - } - ], - "name": "updateOracleDataPlayground", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" } ], "bytecode": "0x", diff --git a/artifacts/contracts/interfaces/ITellorDataBridge.sol/ITellorDataBridge.dbg.json b/artifacts/contracts/interfaces/ITellorDataBridge.sol/ITellorDataBridge.dbg.json index bb17324..e3d8af3 100644 --- a/artifacts/contracts/interfaces/ITellorDataBridge.sol/ITellorDataBridge.dbg.json +++ b/artifacts/contracts/interfaces/ITellorDataBridge.sol/ITellorDataBridge.dbg.json @@ -1,4 +1,4 @@ { "_format": "hh-sol-dbg-1", - "buildInfo": "../../../build-info/d05a179e09b13bc0470a724f18837726.json" + "buildInfo": "../../../build-info/9e5f0fa02ff1591bf38affe1137bbc7e.json" } diff --git a/artifacts/contracts/testing/DataBankPlayground.sol/DataBankPlayground.dbg.json b/artifacts/contracts/testing/DataBankPlayground.sol/DataBankPlayground.dbg.json deleted file mode 100644 index e9784a8..0000000 --- a/artifacts/contracts/testing/DataBankPlayground.sol/DataBankPlayground.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../../build-info/ebdb99267cd32cea6219218999245ca2.json" -} diff --git a/artifacts/contracts/testing/DataBankPlayground.sol/DataBankPlayground.json b/artifacts/contracts/testing/DataBankPlayground.sol/DataBankPlayground.json deleted file mode 100644 index c27b61c..0000000 --- a/artifacts/contracts/testing/DataBankPlayground.sol/DataBankPlayground.json +++ /dev/null @@ -1,358 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "DataBankPlayground", - "sourceName": "contracts/testing/DataBankPlayground.sol", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "queryId", - "type": "bytes32" - }, - { - "components": [ - { - "internalType": "bytes32", - "name": "queryId", - "type": "bytes32" - }, - { - "components": [ - { - "internalType": "bytes", - "name": "value", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "timestamp", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "aggregatePower", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "previousTimestamp", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "nextTimestamp", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "lastConsensusTimestamp", - "type": "uint256" - } - ], - "internalType": "struct ReportData", - "name": "report", - "type": "tuple" - }, - { - "internalType": "uint256", - "name": "attestationTimestamp", - "type": "uint256" - } - ], - "indexed": false, - "internalType": "struct OracleAttestationData", - "name": "attestData", - "type": "tuple" - } - ], - "name": "OracleUpdated", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "data", - "outputs": [ - { - "internalType": "bytes", - "name": "value", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "power", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "aggregateTimestamp", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "attestationTimestamp", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "relayTimestamp", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "_queryId", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "_index", - "type": "uint256" - } - ], - "name": "getAggregateByIndex", - "outputs": [ - { - "components": [ - { - "internalType": "bytes", - "name": "value", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "power", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "aggregateTimestamp", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "attestationTimestamp", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "relayTimestamp", - "type": "uint256" - } - ], - "internalType": "struct DataBankPlayground.AggregateData", - "name": "_aggregateData", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "_queryId", - "type": "bytes32" - } - ], - "name": "getAggregateValueCount", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "_queryId", - "type": "bytes32" - } - ], - "name": "getCurrentAggregateData", - "outputs": [ - { - "components": [ - { - "internalType": "bytes", - "name": "value", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "power", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "aggregateTimestamp", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "attestationTimestamp", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "relayTimestamp", - "type": "uint256" - } - ], - "internalType": "struct DataBankPlayground.AggregateData", - "name": "_aggregateData", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "bytes32", - "name": "queryId", - "type": "bytes32" - }, - { - "components": [ - { - "internalType": "bytes", - "name": "value", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "timestamp", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "aggregatePower", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "previousTimestamp", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "nextTimestamp", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "lastConsensusTimestamp", - "type": "uint256" - } - ], - "internalType": "struct ReportData", - "name": "report", - "type": "tuple" - }, - { - "internalType": "uint256", - "name": "attestationTimestamp", - "type": "uint256" - } - ], - "internalType": "struct OracleAttestationData", - "name": "_attestData", - "type": "tuple" - }, - { - "components": [ - { - "internalType": "address", - "name": "addr", - "type": "address" - }, - { - "internalType": "uint256", - "name": "power", - "type": "uint256" - } - ], - "internalType": "struct Validator[]", - "name": "", - "type": "tuple[]" - }, - { - "components": [ - { - "internalType": "uint8", - "name": "v", - "type": "uint8" - }, - { - "internalType": "bytes32", - "name": "r", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "s", - "type": "bytes32" - } - ], - "internalType": "struct Signature[]", - "name": "", - "type": "tuple[]" - } - ], - "name": "updateOracleData", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "_queryId", - "type": "bytes32" - }, - { - "internalType": "bytes", - "name": "_value", - "type": "bytes" - } - ], - "name": "updateOracleDataPlayground", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b50611444806100206000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c80636180801014610067578063717681c6146100835780638d12c426146100b3578063cb956711146100e7578063e3ac7e1114610117578063f237640a14610147575b600080fd5b610081600480360381019061007c919061085e565b610163565b005b61009d6004803603810190610098919061097b565b6102d7565b6040516100aa9190610ad0565b60405180910390f35b6100cd60048036038101906100c8919061097b565b6103de565b6040516100de959493929190610b4b565b60405180910390f35b61010160048036038101906100fc9190610ba5565b6104b9565b60405161010e9190610ad0565b60405180910390f35b610131600480360381019061012c9190610ba5565b6104d1565b60405161013e9190610bd2565b60405180910390f35b610161600480360381019061015c9190610d1d565b6104f0565b005b600080866000013581526020019081526020016000206040518060a001604052808780602001906101949190610d88565b80600001906101a39190610db0565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505081526020018780602001906101fb9190610d88565b6040013581526020018780602001906102149190610d88565b602001358152602001876040013581526020014281525090806001815401808255809150506001900390600052602060002090600502016000909190919091506000820151816000019081610269919061101f565b5060208201518160010155604082015181600201556060820151816003015560808201518160040155505084600001357f32569c122e0d7a43079203df1373675696c8ccd8ca67de60dc2238b6bb226214866040516102c89190611318565b60405180910390a25050505050565b6102df61073c565b60008084815260200190815260200160002082815481106103035761030261133a565b5b90600052602060002090600502016040518060a001604052908160008201805461032c90610e42565b80601f016020809104026020016040519081016040528092919081815260200182805461035890610e42565b80156103a55780601f1061037a576101008083540402835291602001916103a5565b820191906000526020600020905b81548152906001019060200180831161038857829003601f168201915b50505050508152602001600182015481526020016002820154815260200160038201548152602001600482015481525050905092915050565b600060205281600052604060002081815481106103fa57600080fd5b90600052602060002090600502016000915091505080600001805461041e90610e42565b80601f016020809104026020016040519081016040528092919081815260200182805461044a90610e42565b80156104975780601f1061046c57610100808354040283529160200191610497565b820191906000526020600020905b81548152906001019060200180831161047a57829003601f168201915b5050505050908060010154908060020154908060030154908060040154905085565b6104c161073c565b6104ca826105b6565b9050919050565b6000806000838152602001908152602001600020805490509050919050565b60006103e86001426105029190611398565b61050c91906113cc565b90506000808481526020019081526020016000206040518060a00160405280848152602001600081526020018381526020018381526020014281525090806001815401808255809150506001900390600052602060002090600502016000909190919091506000820151816000019081610586919061101f565b50602082015181600101556040820151816002015560608201518160030155608082015181600401555050505050565b6105be61073c565b6000806000848152602001908152602001600020805490500361061c576040518060a0016040528060405180602001604052806000815250815260200160008152602001600081526020016000815260200160008152509050610737565b6000808381526020019081526020016000206001600080858152602001908152602001600020805490506106509190611398565b815481106106615761066061133a565b5b90600052602060002090600502016040518060a001604052908160008201805461068a90610e42565b80601f01602080910402602001604051908101604052809291908181526020018280546106b690610e42565b80156107035780601f106106d857610100808354040283529160200191610703565b820191906000526020600020905b8154815290600101906020018083116106e657829003601f168201915b5050505050815260200160018201548152602001600282015481526020016003820154815260200160048201548152505090505b919050565b6040518060a0016040528060608152602001600081526020016000815260200160008152602001600081525090565b6000604051905090565b600080fd5b600080fd5b600080fd5b60006060828403121561079a5761079961077f565b5b81905092915050565b600080fd5b600080fd5b600080fd5b60008083601f8401126107c8576107c76107a3565b5b8235905067ffffffffffffffff8111156107e5576107e46107a8565b5b602083019150836040820283011115610801576108006107ad565b5b9250929050565b60008083601f84011261081e5761081d6107a3565b5b8235905067ffffffffffffffff81111561083b5761083a6107a8565b5b602083019150836060820283011115610857576108566107ad565b5b9250929050565b60008060008060006060868803121561087a57610879610775565b5b600086013567ffffffffffffffff8111156108985761089761077a565b5b6108a488828901610784565b955050602086013567ffffffffffffffff8111156108c5576108c461077a565b5b6108d1888289016107b2565b9450945050604086013567ffffffffffffffff8111156108f4576108f361077a565b5b61090088828901610808565b92509250509295509295909350565b6000819050919050565b6109228161090f565b811461092d57600080fd5b50565b60008135905061093f81610919565b92915050565b6000819050919050565b61095881610945565b811461096357600080fd5b50565b6000813590506109758161094f565b92915050565b6000806040838503121561099257610991610775565b5b60006109a085828601610930565b92505060206109b185828601610966565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b60005b838110156109f55780820151818401526020810190506109da565b60008484015250505050565b6000601f19601f8301169050919050565b6000610a1d826109bb565b610a2781856109c6565b9350610a378185602086016109d7565b610a4081610a01565b840191505092915050565b610a5481610945565b82525050565b600060a0830160008301518482036000860152610a778282610a12565b9150506020830151610a8c6020860182610a4b565b506040830151610a9f6040860182610a4b565b506060830151610ab26060860182610a4b565b506080830151610ac56080860182610a4b565b508091505092915050565b60006020820190508181036000830152610aea8184610a5a565b905092915050565b600082825260208201905092915050565b6000610b0e826109bb565b610b188185610af2565b9350610b288185602086016109d7565b610b3181610a01565b840191505092915050565b610b4581610945565b82525050565b600060a0820190508181036000830152610b658188610b03565b9050610b746020830187610b3c565b610b816040830186610b3c565b610b8e6060830185610b3c565b610b9b6080830184610b3c565b9695505050505050565b600060208284031215610bbb57610bba610775565b5b6000610bc984828501610930565b91505092915050565b6000602082019050610be76000830184610b3c565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b610c2a82610a01565b810181811067ffffffffffffffff82111715610c4957610c48610bf2565b5b80604052505050565b6000610c5c61076b565b9050610c688282610c21565b919050565b600067ffffffffffffffff821115610c8857610c87610bf2565b5b610c9182610a01565b9050602081019050919050565b82818337600083830152505050565b6000610cc0610cbb84610c6d565b610c52565b905082815260208101848484011115610cdc57610cdb610bed565b5b610ce7848285610c9e565b509392505050565b600082601f830112610d0457610d036107a3565b5b8135610d14848260208601610cad565b91505092915050565b60008060408385031215610d3457610d33610775565b5b6000610d4285828601610930565b925050602083013567ffffffffffffffff811115610d6357610d6261077a565b5b610d6f85828601610cef565b9150509250929050565b600080fd5b600080fd5b600080fd5b60008235600160c003833603038112610da457610da3610d79565b5b80830191505092915050565b60008083356001602003843603038112610dcd57610dcc610d79565b5b80840192508235915067ffffffffffffffff821115610def57610dee610d7e565b5b602083019250600182023603831315610e0b57610e0a610d83565b5b509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680610e5a57607f821691505b602082108103610e6d57610e6c610e13565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302610ed57fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610e98565b610edf8683610e98565b95508019841693508086168417925050509392505050565b6000819050919050565b6000610f1c610f17610f1284610945565b610ef7565b610945565b9050919050565b6000819050919050565b610f3683610f01565b610f4a610f4282610f23565b848454610ea5565b825550505050565b600090565b610f5f610f52565b610f6a818484610f2d565b505050565b5b81811015610f8e57610f83600082610f57565b600181019050610f70565b5050565b601f821115610fd357610fa481610e73565b610fad84610e88565b81016020851015610fbc578190505b610fd0610fc885610e88565b830182610f6f565b50505b505050565b600082821c905092915050565b6000610ff660001984600802610fd8565b1980831691505092915050565b600061100f8383610fe5565b9150826002028217905092915050565b611028826109bb565b67ffffffffffffffff81111561104157611040610bf2565b5b61104b8254610e42565b611056828285610f92565b600060209050601f8311600181146110895760008415611077578287015190505b6110818582611003565b8655506110e9565b601f19841661109786610e73565b60005b828110156110bf5784890151825560018201915060208501945060208101905061109a565b868310156110dc57848901516110d8601f891682610fe5565b8355505b6001600288020188555050505b505050505050565b60006111006020840184610930565b905092915050565b6111118161090f565b82525050565b600080fd5b60008235600160c00383360303811261113857611137611117565b5b82810191505092915050565b600080fd5b600080fd5b6000808335600160200384360303811261116b5761116a611117565b5b83810192508235915060208301925067ffffffffffffffff82111561119357611192611144565b5b6001820236038313156111a9576111a8611149565b5b509250929050565b60006111bd83856109c6565b93506111ca838584610c9e565b6111d383610a01565b840190509392505050565b60006111ed6020840184610966565b905092915050565b600060c08301611208600084018461114e565b858303600087015261121b8382846111b1565b9250505061122c60208401846111de565b6112396020860182610a4b565b5061124760408401846111de565b6112546040860182610a4b565b5061126260608401846111de565b61126f6060860182610a4b565b5061127d60808401846111de565b61128a6080860182610a4b565b5061129860a08401846111de565b6112a560a0860182610a4b565b508091505092915050565b6000606083016112c360008401846110f1565b6112d06000860182611108565b506112de602084018461111c565b84820360208601526112f082826111f5565b91505061130060408401846111de565b61130d6040860182610a4b565b508091505092915050565b6000602082019050818103600083015261133281846112b0565b905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006113a382610945565b91506113ae83610945565b92508282039050818111156113c6576113c5611369565b5b92915050565b60006113d782610945565b91506113e283610945565b92508282026113f081610945565b9150828204841483151761140757611406611369565b5b509291505056fea2646970667358221220d922adb488834a0545ba3634eb410528a1c1d80682300de3fde8b06bb8179ea064736f6c63430008130033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100625760003560e01c80636180801014610067578063717681c6146100835780638d12c426146100b3578063cb956711146100e7578063e3ac7e1114610117578063f237640a14610147575b600080fd5b610081600480360381019061007c919061085e565b610163565b005b61009d6004803603810190610098919061097b565b6102d7565b6040516100aa9190610ad0565b60405180910390f35b6100cd60048036038101906100c8919061097b565b6103de565b6040516100de959493929190610b4b565b60405180910390f35b61010160048036038101906100fc9190610ba5565b6104b9565b60405161010e9190610ad0565b60405180910390f35b610131600480360381019061012c9190610ba5565b6104d1565b60405161013e9190610bd2565b60405180910390f35b610161600480360381019061015c9190610d1d565b6104f0565b005b600080866000013581526020019081526020016000206040518060a001604052808780602001906101949190610d88565b80600001906101a39190610db0565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505081526020018780602001906101fb9190610d88565b6040013581526020018780602001906102149190610d88565b602001358152602001876040013581526020014281525090806001815401808255809150506001900390600052602060002090600502016000909190919091506000820151816000019081610269919061101f565b5060208201518160010155604082015181600201556060820151816003015560808201518160040155505084600001357f32569c122e0d7a43079203df1373675696c8ccd8ca67de60dc2238b6bb226214866040516102c89190611318565b60405180910390a25050505050565b6102df61073c565b60008084815260200190815260200160002082815481106103035761030261133a565b5b90600052602060002090600502016040518060a001604052908160008201805461032c90610e42565b80601f016020809104026020016040519081016040528092919081815260200182805461035890610e42565b80156103a55780601f1061037a576101008083540402835291602001916103a5565b820191906000526020600020905b81548152906001019060200180831161038857829003601f168201915b50505050508152602001600182015481526020016002820154815260200160038201548152602001600482015481525050905092915050565b600060205281600052604060002081815481106103fa57600080fd5b90600052602060002090600502016000915091505080600001805461041e90610e42565b80601f016020809104026020016040519081016040528092919081815260200182805461044a90610e42565b80156104975780601f1061046c57610100808354040283529160200191610497565b820191906000526020600020905b81548152906001019060200180831161047a57829003601f168201915b5050505050908060010154908060020154908060030154908060040154905085565b6104c161073c565b6104ca826105b6565b9050919050565b6000806000838152602001908152602001600020805490509050919050565b60006103e86001426105029190611398565b61050c91906113cc565b90506000808481526020019081526020016000206040518060a00160405280848152602001600081526020018381526020018381526020014281525090806001815401808255809150506001900390600052602060002090600502016000909190919091506000820151816000019081610586919061101f565b50602082015181600101556040820151816002015560608201518160030155608082015181600401555050505050565b6105be61073c565b6000806000848152602001908152602001600020805490500361061c576040518060a0016040528060405180602001604052806000815250815260200160008152602001600081526020016000815260200160008152509050610737565b6000808381526020019081526020016000206001600080858152602001908152602001600020805490506106509190611398565b815481106106615761066061133a565b5b90600052602060002090600502016040518060a001604052908160008201805461068a90610e42565b80601f01602080910402602001604051908101604052809291908181526020018280546106b690610e42565b80156107035780601f106106d857610100808354040283529160200191610703565b820191906000526020600020905b8154815290600101906020018083116106e657829003601f168201915b5050505050815260200160018201548152602001600282015481526020016003820154815260200160048201548152505090505b919050565b6040518060a0016040528060608152602001600081526020016000815260200160008152602001600081525090565b6000604051905090565b600080fd5b600080fd5b600080fd5b60006060828403121561079a5761079961077f565b5b81905092915050565b600080fd5b600080fd5b600080fd5b60008083601f8401126107c8576107c76107a3565b5b8235905067ffffffffffffffff8111156107e5576107e46107a8565b5b602083019150836040820283011115610801576108006107ad565b5b9250929050565b60008083601f84011261081e5761081d6107a3565b5b8235905067ffffffffffffffff81111561083b5761083a6107a8565b5b602083019150836060820283011115610857576108566107ad565b5b9250929050565b60008060008060006060868803121561087a57610879610775565b5b600086013567ffffffffffffffff8111156108985761089761077a565b5b6108a488828901610784565b955050602086013567ffffffffffffffff8111156108c5576108c461077a565b5b6108d1888289016107b2565b9450945050604086013567ffffffffffffffff8111156108f4576108f361077a565b5b61090088828901610808565b92509250509295509295909350565b6000819050919050565b6109228161090f565b811461092d57600080fd5b50565b60008135905061093f81610919565b92915050565b6000819050919050565b61095881610945565b811461096357600080fd5b50565b6000813590506109758161094f565b92915050565b6000806040838503121561099257610991610775565b5b60006109a085828601610930565b92505060206109b185828601610966565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b60005b838110156109f55780820151818401526020810190506109da565b60008484015250505050565b6000601f19601f8301169050919050565b6000610a1d826109bb565b610a2781856109c6565b9350610a378185602086016109d7565b610a4081610a01565b840191505092915050565b610a5481610945565b82525050565b600060a0830160008301518482036000860152610a778282610a12565b9150506020830151610a8c6020860182610a4b565b506040830151610a9f6040860182610a4b565b506060830151610ab26060860182610a4b565b506080830151610ac56080860182610a4b565b508091505092915050565b60006020820190508181036000830152610aea8184610a5a565b905092915050565b600082825260208201905092915050565b6000610b0e826109bb565b610b188185610af2565b9350610b288185602086016109d7565b610b3181610a01565b840191505092915050565b610b4581610945565b82525050565b600060a0820190508181036000830152610b658188610b03565b9050610b746020830187610b3c565b610b816040830186610b3c565b610b8e6060830185610b3c565b610b9b6080830184610b3c565b9695505050505050565b600060208284031215610bbb57610bba610775565b5b6000610bc984828501610930565b91505092915050565b6000602082019050610be76000830184610b3c565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b610c2a82610a01565b810181811067ffffffffffffffff82111715610c4957610c48610bf2565b5b80604052505050565b6000610c5c61076b565b9050610c688282610c21565b919050565b600067ffffffffffffffff821115610c8857610c87610bf2565b5b610c9182610a01565b9050602081019050919050565b82818337600083830152505050565b6000610cc0610cbb84610c6d565b610c52565b905082815260208101848484011115610cdc57610cdb610bed565b5b610ce7848285610c9e565b509392505050565b600082601f830112610d0457610d036107a3565b5b8135610d14848260208601610cad565b91505092915050565b60008060408385031215610d3457610d33610775565b5b6000610d4285828601610930565b925050602083013567ffffffffffffffff811115610d6357610d6261077a565b5b610d6f85828601610cef565b9150509250929050565b600080fd5b600080fd5b600080fd5b60008235600160c003833603038112610da457610da3610d79565b5b80830191505092915050565b60008083356001602003843603038112610dcd57610dcc610d79565b5b80840192508235915067ffffffffffffffff821115610def57610dee610d7e565b5b602083019250600182023603831315610e0b57610e0a610d83565b5b509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680610e5a57607f821691505b602082108103610e6d57610e6c610e13565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302610ed57fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610e98565b610edf8683610e98565b95508019841693508086168417925050509392505050565b6000819050919050565b6000610f1c610f17610f1284610945565b610ef7565b610945565b9050919050565b6000819050919050565b610f3683610f01565b610f4a610f4282610f23565b848454610ea5565b825550505050565b600090565b610f5f610f52565b610f6a818484610f2d565b505050565b5b81811015610f8e57610f83600082610f57565b600181019050610f70565b5050565b601f821115610fd357610fa481610e73565b610fad84610e88565b81016020851015610fbc578190505b610fd0610fc885610e88565b830182610f6f565b50505b505050565b600082821c905092915050565b6000610ff660001984600802610fd8565b1980831691505092915050565b600061100f8383610fe5565b9150826002028217905092915050565b611028826109bb565b67ffffffffffffffff81111561104157611040610bf2565b5b61104b8254610e42565b611056828285610f92565b600060209050601f8311600181146110895760008415611077578287015190505b6110818582611003565b8655506110e9565b601f19841661109786610e73565b60005b828110156110bf5784890151825560018201915060208501945060208101905061109a565b868310156110dc57848901516110d8601f891682610fe5565b8355505b6001600288020188555050505b505050505050565b60006111006020840184610930565b905092915050565b6111118161090f565b82525050565b600080fd5b60008235600160c00383360303811261113857611137611117565b5b82810191505092915050565b600080fd5b600080fd5b6000808335600160200384360303811261116b5761116a611117565b5b83810192508235915060208301925067ffffffffffffffff82111561119357611192611144565b5b6001820236038313156111a9576111a8611149565b5b509250929050565b60006111bd83856109c6565b93506111ca838584610c9e565b6111d383610a01565b840190509392505050565b60006111ed6020840184610966565b905092915050565b600060c08301611208600084018461114e565b858303600087015261121b8382846111b1565b9250505061122c60208401846111de565b6112396020860182610a4b565b5061124760408401846111de565b6112546040860182610a4b565b5061126260608401846111de565b61126f6060860182610a4b565b5061127d60808401846111de565b61128a6080860182610a4b565b5061129860a08401846111de565b6112a560a0860182610a4b565b508091505092915050565b6000606083016112c360008401846110f1565b6112d06000860182611108565b506112de602084018461111c565b84820360208601526112f082826111f5565b91505061130060408401846111de565b61130d6040860182610a4b565b508091505092915050565b6000602082019050818103600083015261133281846112b0565b905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006113a382610945565b91506113ae83610945565b92508282039050818111156113c6576113c5611369565b5b92915050565b60006113d782610945565b91506113e283610945565b92508282026113f081610945565b9150828204841483151761140757611406611369565b5b509291505056fea2646970667358221220d922adb488834a0545ba3634eb410528a1c1d80682300de3fde8b06bb8179ea064736f6c63430008130033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/artifacts/contracts/testing/TellorLab.sol/TellorLab.dbg.json b/artifacts/contracts/testing/TellorLab.sol/TellorLab.dbg.json new file mode 100644 index 0000000..e3d8af3 --- /dev/null +++ b/artifacts/contracts/testing/TellorLab.sol/TellorLab.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/9e5f0fa02ff1591bf38affe1137bbc7e.json" +} diff --git a/artifacts/contracts/testing/TellorLab.sol/TellorLab.json b/artifacts/contracts/testing/TellorLab.sol/TellorLab.json new file mode 100644 index 0000000..e37b3f7 --- /dev/null +++ b/artifacts/contracts/testing/TellorLab.sol/TellorLab.json @@ -0,0 +1,358 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "TellorLab", + "sourceName": "contracts/testing/TellorLab.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "queryId", + "type": "bytes32" + }, + { + "components": [ + { + "internalType": "bytes32", + "name": "queryId", + "type": "bytes32" + }, + { + "components": [ + { + "internalType": "bytes", + "name": "value", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "timestamp", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "aggregatePower", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "previousTimestamp", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "nextTimestamp", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "lastConsensusTimestamp", + "type": "uint256" + } + ], + "internalType": "struct ReportData", + "name": "report", + "type": "tuple" + }, + { + "internalType": "uint256", + "name": "attestationTimestamp", + "type": "uint256" + } + ], + "indexed": false, + "internalType": "struct OracleAttestationData", + "name": "attestData", + "type": "tuple" + } + ], + "name": "OracleUpdated", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "data", + "outputs": [ + { + "internalType": "bytes", + "name": "value", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "power", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "aggregateTimestamp", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "attestationTimestamp", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "relayTimestamp", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_queryId", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "_index", + "type": "uint256" + } + ], + "name": "getAggregateByIndex", + "outputs": [ + { + "components": [ + { + "internalType": "bytes", + "name": "value", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "power", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "aggregateTimestamp", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "attestationTimestamp", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "relayTimestamp", + "type": "uint256" + } + ], + "internalType": "struct TellorLab.AggregateData", + "name": "_aggregateData", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_queryId", + "type": "bytes32" + } + ], + "name": "getAggregateValueCount", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_queryId", + "type": "bytes32" + } + ], + "name": "getCurrentAggregateData", + "outputs": [ + { + "components": [ + { + "internalType": "bytes", + "name": "value", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "power", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "aggregateTimestamp", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "attestationTimestamp", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "relayTimestamp", + "type": "uint256" + } + ], + "internalType": "struct TellorLab.AggregateData", + "name": "_aggregateData", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "bytes32", + "name": "queryId", + "type": "bytes32" + }, + { + "components": [ + { + "internalType": "bytes", + "name": "value", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "timestamp", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "aggregatePower", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "previousTimestamp", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "nextTimestamp", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "lastConsensusTimestamp", + "type": "uint256" + } + ], + "internalType": "struct ReportData", + "name": "report", + "type": "tuple" + }, + { + "internalType": "uint256", + "name": "attestationTimestamp", + "type": "uint256" + } + ], + "internalType": "struct OracleAttestationData", + "name": "_attestData", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "address", + "name": "addr", + "type": "address" + }, + { + "internalType": "uint256", + "name": "power", + "type": "uint256" + } + ], + "internalType": "struct Validator[]", + "name": "", + "type": "tuple[]" + }, + { + "components": [ + { + "internalType": "uint8", + "name": "v", + "type": "uint8" + }, + { + "internalType": "bytes32", + "name": "r", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "s", + "type": "bytes32" + } + ], + "internalType": "struct Signature[]", + "name": "", + "type": "tuple[]" + } + ], + "name": "updateOracleData", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_queryId", + "type": "bytes32" + }, + { + "internalType": "bytes", + "name": "_value", + "type": "bytes" + } + ], + "name": "updateOracleDataLab", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x608060405234801561001057600080fd5b506115c1806100206000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c80631c23cf39146100675780636180801014610083578063717681c61461009f5780638d12c426146100cf578063cb95671114610103578063e3ac7e1114610133575b600080fd5b610081600480360381019061007c919061097d565b610163565b005b61009d60048036038101906100989190610ab3565b6102ab565b005b6100b960048036038101906100b49190610b9a565b61041f565b6040516100c69190610cde565b60405180910390f35b6100e960048036038101906100e49190610b9a565b610526565b6040516100fa959493929190610d59565b60405180910390f35b61011d60048036038101906101189190610db3565b610601565b60405161012a9190610cde565b60405180910390f35b61014d60048036038101906101489190610db3565b610619565b60405161015a9190610de0565b60405180910390f35b60006103e86001426101759190610e2a565b61017f9190610e5e565b90506000808481526020019081526020016000206040518060a001604052808481526020016000815260200183815260200183815260200142815250908060018154018082558091505060019003906000526020600020906005020160009091909190915060008201518160000190816101f991906110ac565b50602082015181600101556040820151816002015560608201518160030155608082015181600401555050827f32569c122e0d7a43079203df1373675696c8ccd8ca67de60dc2238b6bb22621460405180606001604052808681526020016040518060c00160405280878152602001868152602001600081526020016000815260200160008152602001600081525081526020018481525060405161029e9190611266565b60405180910390a2505050565b600080866000013581526020019081526020016000206040518060a001604052808780602001906102dc9190611297565b80600001906102eb91906112bf565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505081526020018780602001906103439190611297565b60400135815260200187806020019061035c9190611297565b6020013581526020018760400135815260200142815250908060018154018082558091505060019003906000526020600020906005020160009091909190915060008201518160000190816103b191906110ac565b5060208201518160010155604082015181600201556060820151816003015560808201518160040155505084600001357f32569c122e0d7a43079203df1373675696c8ccd8ca67de60dc2238b6bb22621486604051610410919061153a565b60405180910390a25050505050565b6104276107be565b600080848152602001908152602001600020828154811061044b5761044a61155c565b5b90600052602060002090600502016040518060a001604052908160008201805461047490610ecf565b80601f01602080910402602001604051908101604052809291908181526020018280546104a090610ecf565b80156104ed5780601f106104c2576101008083540402835291602001916104ed565b820191906000526020600020905b8154815290600101906020018083116104d057829003601f168201915b50505050508152602001600182015481526020016002820154815260200160038201548152602001600482015481525050905092915050565b6000602052816000526040600020818154811061054257600080fd5b90600052602060002090600502016000915091505080600001805461056690610ecf565b80601f016020809104026020016040519081016040528092919081815260200182805461059290610ecf565b80156105df5780601f106105b4576101008083540402835291602001916105df565b820191906000526020600020905b8154815290600101906020018083116105c257829003601f168201915b5050505050908060010154908060020154908060030154908060040154905085565b6106096107be565b61061282610638565b9050919050565b6000806000838152602001908152602001600020805490509050919050565b6106406107be565b6000806000848152602001908152602001600020805490500361069e576040518060a00160405280604051806020016040528060008152508152602001600081526020016000815260200160008152602001600081525090506107b9565b6000808381526020019081526020016000206001600080858152602001908152602001600020805490506106d29190610e2a565b815481106106e3576106e261155c565b5b90600052602060002090600502016040518060a001604052908160008201805461070c90610ecf565b80601f016020809104026020016040519081016040528092919081815260200182805461073890610ecf565b80156107855780601f1061075a57610100808354040283529160200191610785565b820191906000526020600020905b81548152906001019060200180831161076857829003601f168201915b5050505050815260200160018201548152602001600282015481526020016003820154815260200160048201548152505090505b919050565b6040518060a0016040528060608152602001600081526020016000815260200160008152602001600081525090565b6000604051905090565b600080fd5b600080fd5b6000819050919050565b61081481610801565b811461081f57600080fd5b50565b6000813590506108318161080b565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61088a82610841565b810181811067ffffffffffffffff821117156108a9576108a8610852565b5b80604052505050565b60006108bc6107ed565b90506108c88282610881565b919050565b600067ffffffffffffffff8211156108e8576108e7610852565b5b6108f182610841565b9050602081019050919050565b82818337600083830152505050565b600061092061091b846108cd565b6108b2565b90508281526020810184848401111561093c5761093b61083c565b5b6109478482856108fe565b509392505050565b600082601f83011261096457610963610837565b5b813561097484826020860161090d565b91505092915050565b60008060408385031215610994576109936107f7565b5b60006109a285828601610822565b925050602083013567ffffffffffffffff8111156109c3576109c26107fc565b5b6109cf8582860161094f565b9150509250929050565b600080fd5b6000606082840312156109f4576109f36109d9565b5b81905092915050565b600080fd5b600080fd5b60008083601f840112610a1d57610a1c610837565b5b8235905067ffffffffffffffff811115610a3a57610a396109fd565b5b602083019150836040820283011115610a5657610a55610a02565b5b9250929050565b60008083601f840112610a7357610a72610837565b5b8235905067ffffffffffffffff811115610a9057610a8f6109fd565b5b602083019150836060820283011115610aac57610aab610a02565b5b9250929050565b600080600080600060608688031215610acf57610ace6107f7565b5b600086013567ffffffffffffffff811115610aed57610aec6107fc565b5b610af9888289016109de565b955050602086013567ffffffffffffffff811115610b1a57610b196107fc565b5b610b2688828901610a07565b9450945050604086013567ffffffffffffffff811115610b4957610b486107fc565b5b610b5588828901610a5d565b92509250509295509295909350565b6000819050919050565b610b7781610b64565b8114610b8257600080fd5b50565b600081359050610b9481610b6e565b92915050565b60008060408385031215610bb157610bb06107f7565b5b6000610bbf85828601610822565b9250506020610bd085828601610b85565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610c14578082015181840152602081019050610bf9565b60008484015250505050565b6000610c2b82610bda565b610c358185610be5565b9350610c45818560208601610bf6565b610c4e81610841565b840191505092915050565b610c6281610b64565b82525050565b600060a0830160008301518482036000860152610c858282610c20565b9150506020830151610c9a6020860182610c59565b506040830151610cad6040860182610c59565b506060830151610cc06060860182610c59565b506080830151610cd36080860182610c59565b508091505092915050565b60006020820190508181036000830152610cf88184610c68565b905092915050565b600082825260208201905092915050565b6000610d1c82610bda565b610d268185610d00565b9350610d36818560208601610bf6565b610d3f81610841565b840191505092915050565b610d5381610b64565b82525050565b600060a0820190508181036000830152610d738188610d11565b9050610d826020830187610d4a565b610d8f6040830186610d4a565b610d9c6060830185610d4a565b610da96080830184610d4a565b9695505050505050565b600060208284031215610dc957610dc86107f7565b5b6000610dd784828501610822565b91505092915050565b6000602082019050610df56000830184610d4a565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610e3582610b64565b9150610e4083610b64565b9250828203905081811115610e5857610e57610dfb565b5b92915050565b6000610e6982610b64565b9150610e7483610b64565b9250828202610e8281610b64565b91508282048414831517610e9957610e98610dfb565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680610ee757607f821691505b602082108103610efa57610ef9610ea0565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302610f627fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610f25565b610f6c8683610f25565b95508019841693508086168417925050509392505050565b6000819050919050565b6000610fa9610fa4610f9f84610b64565b610f84565b610b64565b9050919050565b6000819050919050565b610fc383610f8e565b610fd7610fcf82610fb0565b848454610f32565b825550505050565b600090565b610fec610fdf565b610ff7818484610fba565b505050565b5b8181101561101b57611010600082610fe4565b600181019050610ffd565b5050565b601f8211156110605761103181610f00565b61103a84610f15565b81016020851015611049578190505b61105d61105585610f15565b830182610ffc565b50505b505050565b600082821c905092915050565b600061108360001984600802611065565b1980831691505092915050565b600061109c8383611072565b9150826002028217905092915050565b6110b582610bda565b67ffffffffffffffff8111156110ce576110cd610852565b5b6110d88254610ecf565b6110e382828561101f565b600060209050601f8311600181146111165760008415611104578287015190505b61110e8582611090565b865550611176565b601f19841661112486610f00565b60005b8281101561114c57848901518255600182019150602085019450602081019050611127565b868310156111695784890151611165601f891682611072565b8355505b6001600288020188555050505b505050505050565b61118781610801565b82525050565b600060c08301600083015184820360008601526111aa8282610c20565b91505060208301516111bf6020860182610c59565b5060408301516111d26040860182610c59565b5060608301516111e56060860182610c59565b5060808301516111f86080860182610c59565b5060a083015161120b60a0860182610c59565b508091505092915050565b600060608301600083015161122e600086018261117e565b5060208301518482036020860152611246828261118d565b915050604083015161125b6040860182610c59565b508091505092915050565b600060208201905081810360008301526112808184611216565b905092915050565b600080fd5b600080fd5b600080fd5b60008235600160c0038336030381126112b3576112b2611288565b5b80830191505092915050565b600080833560016020038436030381126112dc576112db611288565b5b80840192508235915067ffffffffffffffff8211156112fe576112fd61128d565b5b60208301925060018202360383131561131a57611319611292565b5b509250929050565b60006113316020840184610822565b905092915050565b600080fd5b60008235600160c00383360303811261135a57611359611339565b5b82810191505092915050565b600080fd5b600080fd5b6000808335600160200384360303811261138d5761138c611339565b5b83810192508235915060208301925067ffffffffffffffff8211156113b5576113b4611366565b5b6001820236038313156113cb576113ca61136b565b5b509250929050565b60006113df8385610be5565b93506113ec8385846108fe565b6113f583610841565b840190509392505050565b600061140f6020840184610b85565b905092915050565b600060c0830161142a6000840184611370565b858303600087015261143d8382846113d3565b9250505061144e6020840184611400565b61145b6020860182610c59565b506114696040840184611400565b6114766040860182610c59565b506114846060840184611400565b6114916060860182610c59565b5061149f6080840184611400565b6114ac6080860182610c59565b506114ba60a0840184611400565b6114c760a0860182610c59565b508091505092915050565b6000606083016114e56000840184611322565b6114f2600086018261117e565b50611500602084018461133e565b84820360208601526115128282611417565b9150506115226040840184611400565b61152f6040860182610c59565b508091505092915050565b6000602082019050818103600083015261155481846114d2565b905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fdfea26469706673582212204132f59951cfd996a8cb88a81e3308d97bcdfa24fca5292bc6d8239a2d2018eb64736f6c63430008130033", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100625760003560e01c80631c23cf39146100675780636180801014610083578063717681c61461009f5780638d12c426146100cf578063cb95671114610103578063e3ac7e1114610133575b600080fd5b610081600480360381019061007c919061097d565b610163565b005b61009d60048036038101906100989190610ab3565b6102ab565b005b6100b960048036038101906100b49190610b9a565b61041f565b6040516100c69190610cde565b60405180910390f35b6100e960048036038101906100e49190610b9a565b610526565b6040516100fa959493929190610d59565b60405180910390f35b61011d60048036038101906101189190610db3565b610601565b60405161012a9190610cde565b60405180910390f35b61014d60048036038101906101489190610db3565b610619565b60405161015a9190610de0565b60405180910390f35b60006103e86001426101759190610e2a565b61017f9190610e5e565b90506000808481526020019081526020016000206040518060a001604052808481526020016000815260200183815260200183815260200142815250908060018154018082558091505060019003906000526020600020906005020160009091909190915060008201518160000190816101f991906110ac565b50602082015181600101556040820151816002015560608201518160030155608082015181600401555050827f32569c122e0d7a43079203df1373675696c8ccd8ca67de60dc2238b6bb22621460405180606001604052808681526020016040518060c00160405280878152602001868152602001600081526020016000815260200160008152602001600081525081526020018481525060405161029e9190611266565b60405180910390a2505050565b600080866000013581526020019081526020016000206040518060a001604052808780602001906102dc9190611297565b80600001906102eb91906112bf565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505081526020018780602001906103439190611297565b60400135815260200187806020019061035c9190611297565b6020013581526020018760400135815260200142815250908060018154018082558091505060019003906000526020600020906005020160009091909190915060008201518160000190816103b191906110ac565b5060208201518160010155604082015181600201556060820151816003015560808201518160040155505084600001357f32569c122e0d7a43079203df1373675696c8ccd8ca67de60dc2238b6bb22621486604051610410919061153a565b60405180910390a25050505050565b6104276107be565b600080848152602001908152602001600020828154811061044b5761044a61155c565b5b90600052602060002090600502016040518060a001604052908160008201805461047490610ecf565b80601f01602080910402602001604051908101604052809291908181526020018280546104a090610ecf565b80156104ed5780601f106104c2576101008083540402835291602001916104ed565b820191906000526020600020905b8154815290600101906020018083116104d057829003601f168201915b50505050508152602001600182015481526020016002820154815260200160038201548152602001600482015481525050905092915050565b6000602052816000526040600020818154811061054257600080fd5b90600052602060002090600502016000915091505080600001805461056690610ecf565b80601f016020809104026020016040519081016040528092919081815260200182805461059290610ecf565b80156105df5780601f106105b4576101008083540402835291602001916105df565b820191906000526020600020905b8154815290600101906020018083116105c257829003601f168201915b5050505050908060010154908060020154908060030154908060040154905085565b6106096107be565b61061282610638565b9050919050565b6000806000838152602001908152602001600020805490509050919050565b6106406107be565b6000806000848152602001908152602001600020805490500361069e576040518060a00160405280604051806020016040528060008152508152602001600081526020016000815260200160008152602001600081525090506107b9565b6000808381526020019081526020016000206001600080858152602001908152602001600020805490506106d29190610e2a565b815481106106e3576106e261155c565b5b90600052602060002090600502016040518060a001604052908160008201805461070c90610ecf565b80601f016020809104026020016040519081016040528092919081815260200182805461073890610ecf565b80156107855780601f1061075a57610100808354040283529160200191610785565b820191906000526020600020905b81548152906001019060200180831161076857829003601f168201915b5050505050815260200160018201548152602001600282015481526020016003820154815260200160048201548152505090505b919050565b6040518060a0016040528060608152602001600081526020016000815260200160008152602001600081525090565b6000604051905090565b600080fd5b600080fd5b6000819050919050565b61081481610801565b811461081f57600080fd5b50565b6000813590506108318161080b565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61088a82610841565b810181811067ffffffffffffffff821117156108a9576108a8610852565b5b80604052505050565b60006108bc6107ed565b90506108c88282610881565b919050565b600067ffffffffffffffff8211156108e8576108e7610852565b5b6108f182610841565b9050602081019050919050565b82818337600083830152505050565b600061092061091b846108cd565b6108b2565b90508281526020810184848401111561093c5761093b61083c565b5b6109478482856108fe565b509392505050565b600082601f83011261096457610963610837565b5b813561097484826020860161090d565b91505092915050565b60008060408385031215610994576109936107f7565b5b60006109a285828601610822565b925050602083013567ffffffffffffffff8111156109c3576109c26107fc565b5b6109cf8582860161094f565b9150509250929050565b600080fd5b6000606082840312156109f4576109f36109d9565b5b81905092915050565b600080fd5b600080fd5b60008083601f840112610a1d57610a1c610837565b5b8235905067ffffffffffffffff811115610a3a57610a396109fd565b5b602083019150836040820283011115610a5657610a55610a02565b5b9250929050565b60008083601f840112610a7357610a72610837565b5b8235905067ffffffffffffffff811115610a9057610a8f6109fd565b5b602083019150836060820283011115610aac57610aab610a02565b5b9250929050565b600080600080600060608688031215610acf57610ace6107f7565b5b600086013567ffffffffffffffff811115610aed57610aec6107fc565b5b610af9888289016109de565b955050602086013567ffffffffffffffff811115610b1a57610b196107fc565b5b610b2688828901610a07565b9450945050604086013567ffffffffffffffff811115610b4957610b486107fc565b5b610b5588828901610a5d565b92509250509295509295909350565b6000819050919050565b610b7781610b64565b8114610b8257600080fd5b50565b600081359050610b9481610b6e565b92915050565b60008060408385031215610bb157610bb06107f7565b5b6000610bbf85828601610822565b9250506020610bd085828601610b85565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610c14578082015181840152602081019050610bf9565b60008484015250505050565b6000610c2b82610bda565b610c358185610be5565b9350610c45818560208601610bf6565b610c4e81610841565b840191505092915050565b610c6281610b64565b82525050565b600060a0830160008301518482036000860152610c858282610c20565b9150506020830151610c9a6020860182610c59565b506040830151610cad6040860182610c59565b506060830151610cc06060860182610c59565b506080830151610cd36080860182610c59565b508091505092915050565b60006020820190508181036000830152610cf88184610c68565b905092915050565b600082825260208201905092915050565b6000610d1c82610bda565b610d268185610d00565b9350610d36818560208601610bf6565b610d3f81610841565b840191505092915050565b610d5381610b64565b82525050565b600060a0820190508181036000830152610d738188610d11565b9050610d826020830187610d4a565b610d8f6040830186610d4a565b610d9c6060830185610d4a565b610da96080830184610d4a565b9695505050505050565b600060208284031215610dc957610dc86107f7565b5b6000610dd784828501610822565b91505092915050565b6000602082019050610df56000830184610d4a565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610e3582610b64565b9150610e4083610b64565b9250828203905081811115610e5857610e57610dfb565b5b92915050565b6000610e6982610b64565b9150610e7483610b64565b9250828202610e8281610b64565b91508282048414831517610e9957610e98610dfb565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680610ee757607f821691505b602082108103610efa57610ef9610ea0565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302610f627fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610f25565b610f6c8683610f25565b95508019841693508086168417925050509392505050565b6000819050919050565b6000610fa9610fa4610f9f84610b64565b610f84565b610b64565b9050919050565b6000819050919050565b610fc383610f8e565b610fd7610fcf82610fb0565b848454610f32565b825550505050565b600090565b610fec610fdf565b610ff7818484610fba565b505050565b5b8181101561101b57611010600082610fe4565b600181019050610ffd565b5050565b601f8211156110605761103181610f00565b61103a84610f15565b81016020851015611049578190505b61105d61105585610f15565b830182610ffc565b50505b505050565b600082821c905092915050565b600061108360001984600802611065565b1980831691505092915050565b600061109c8383611072565b9150826002028217905092915050565b6110b582610bda565b67ffffffffffffffff8111156110ce576110cd610852565b5b6110d88254610ecf565b6110e382828561101f565b600060209050601f8311600181146111165760008415611104578287015190505b61110e8582611090565b865550611176565b601f19841661112486610f00565b60005b8281101561114c57848901518255600182019150602085019450602081019050611127565b868310156111695784890151611165601f891682611072565b8355505b6001600288020188555050505b505050505050565b61118781610801565b82525050565b600060c08301600083015184820360008601526111aa8282610c20565b91505060208301516111bf6020860182610c59565b5060408301516111d26040860182610c59565b5060608301516111e56060860182610c59565b5060808301516111f86080860182610c59565b5060a083015161120b60a0860182610c59565b508091505092915050565b600060608301600083015161122e600086018261117e565b5060208301518482036020860152611246828261118d565b915050604083015161125b6040860182610c59565b508091505092915050565b600060208201905081810360008301526112808184611216565b905092915050565b600080fd5b600080fd5b600080fd5b60008235600160c0038336030381126112b3576112b2611288565b5b80830191505092915050565b600080833560016020038436030381126112dc576112db611288565b5b80840192508235915067ffffffffffffffff8211156112fe576112fd61128d565b5b60208301925060018202360383131561131a57611319611292565b5b509250929050565b60006113316020840184610822565b905092915050565b600080fd5b60008235600160c00383360303811261135a57611359611339565b5b82810191505092915050565b600080fd5b600080fd5b6000808335600160200384360303811261138d5761138c611339565b5b83810192508235915060208301925067ffffffffffffffff8211156113b5576113b4611366565b5b6001820236038313156113cb576113ca61136b565b5b509250929050565b60006113df8385610be5565b93506113ec8385846108fe565b6113f583610841565b840190509392505050565b600061140f6020840184610b85565b905092915050565b600060c0830161142a6000840184611370565b858303600087015261143d8382846113d3565b9250505061144e6020840184611400565b61145b6020860182610c59565b506114696040840184611400565b6114766040860182610c59565b506114846060840184611400565b6114916060860182610c59565b5061149f6080840184611400565b6114ac6080860182610c59565b506114ba60a0840184611400565b6114c760a0860182610c59565b508091505092915050565b6000606083016114e56000840184611322565b6114f2600086018261117e565b50611500602084018461133e565b84820360208601526115128282611417565b9150506115226040840184611400565b61152f6040860182610c59565b508091505092915050565b6000602082019050818103600083015261155481846114d2565b905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fdfea26469706673582212204132f59951cfd996a8cb88a81e3308d97bcdfa24fca5292bc6d8239a2d2018eb64736f6c63430008130033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/contracts/interfaces/IDataBankPlayground.sol b/contracts/interfaces/ITellorDataBank.sol similarity index 71% rename from contracts/interfaces/IDataBankPlayground.sol rename to contracts/interfaces/ITellorDataBank.sol index b47a10a..8179041 100644 --- a/contracts/interfaces/IDataBankPlayground.sol +++ b/contracts/interfaces/ITellorDataBank.sol @@ -2,11 +2,10 @@ pragma solidity 0.8.19; /** - * @title IDataBankPlayground - * @notice Interface for DataBankPlayground testing contract - * @dev This interface is for testing purposes only. Not for production use. + * @title ITellorDataBank + * @notice Interface for TellorDataBank contract */ -interface IDataBankPlayground { +interface ITellorDataBank { struct AggregateData { bytes value; uint256 power; @@ -15,13 +14,6 @@ interface IDataBankPlayground { uint256 relayTimestamp; } - /** - * @dev updates oracle data with new value for playground testing - * @param _queryId the query ID to update the oracle data for - * @param _value the value to update the oracle data with - */ - function updateOracleDataPlayground(bytes32 _queryId, bytes memory _value) external; - /** * @dev returns the current aggregate data for a given query ID * @param _queryId the query ID to get the current aggregate data for diff --git a/contracts/testing/DataBankPlayground.sol b/contracts/testing/DataBankPlayground.sol deleted file mode 100644 index e382d52..0000000 --- a/contracts/testing/DataBankPlayground.sol +++ /dev/null @@ -1,110 +0,0 @@ -// SPDX-License-Identifier: MIT -pragma solidity 0.8.19; - -import "../interfaces/ITellorDataBridge.sol"; - -/** - * @author Tellor Inc. - * @title DataBankPlayground - * @notice Testing contract for rapid prototyping with Tellor oracle data - * @dev This contract is used to store data for multiple data feeds. It has no data bridge validation, - * and is used for testing simple tellor integrations. This contract skips data verification and is - * NOT for production use. For production contracts, use TellorDataBridge verification. - * See SampleLayerUser repo for usage examples: https://github.com/tellor-io/SampleLayerUser - */ -contract DataBankPlayground { - // Storage - mapping(bytes32 => AggregateData[]) public data; // queryId -> aggregate data array - - struct AggregateData { - bytes value; // the value of the asset - uint256 power; // the aggregate power of the reporters - uint256 aggregateTimestamp; // the timestamp of the aggregate - uint256 attestationTimestamp; // the timestamp of the attestation - uint256 relayTimestamp; // the timestamp of the relay - } - - // Events - event OracleUpdated(bytes32 indexed queryId, OracleAttestationData attestData); - - // Functions - /** - * @dev updates oracle data with new attestation data after verification - * @param _attestData the oracle attestation data to be stored - * note: _currentValidatorSet array of current validators (unused for testing) - * note: _sigs array of validator signatures (unused for testing) - */ - function updateOracleData( - OracleAttestationData calldata _attestData, - Validator[] calldata /* _currentValidatorSet */, - Signature[] calldata /* _sigs */ - ) public { - // Skips verification for testing purposes - // dataBridge.verifyOracleData(_attestData, _currentValidatorSet, _sigs); - - data[_attestData.queryId].push(AggregateData( - _attestData.report.value, - _attestData.report.aggregatePower, - _attestData.report.timestamp, - _attestData.attestationTimestamp, - block.timestamp - )); - emit OracleUpdated(_attestData.queryId, _attestData); - } - - /** - * @dev updates oracle data with new attestation data for playground - * without needing to format data structs - * @param _queryId the query ID to update the oracle data for - * @param _value the value to update the oracle data with - */ - function updateOracleDataPlayground(bytes32 _queryId, bytes memory _value) external { - // aggregate timestamp from tellor is in milliseconds - uint256 _aggregateTimestamp = (block.timestamp - 1) * 1000; - data[_queryId].push(AggregateData(_value, 0, _aggregateTimestamp, _aggregateTimestamp, block.timestamp)); - } - - // Getter functions - /** - * @dev returns the aggregate data for a given query ID and index - * @param _queryId the query ID to get the aggregate data for - * @param _index the index of the aggregate data to get - * @return _aggregateData the aggregate data - */ - function getAggregateByIndex(bytes32 _queryId, uint256 _index) external view returns (AggregateData memory _aggregateData) { - return data[_queryId][_index]; - } - - /** - * @dev returns the total number of aggregate values - * @param _queryId the query ID to get the aggregate value count for - * @return number of aggregate values stored - */ - function getAggregateValueCount(bytes32 _queryId) external view returns (uint256) { - return data[_queryId].length; - } - - /** - * @dev returns the current aggregate data for a given query ID - * @param _queryId the query ID to get the current aggregate data for - * @return _aggregateData the current aggregate data - */ - function getCurrentAggregateData(bytes32 _queryId) external view returns (AggregateData memory _aggregateData) { - return _getCurrentAggregateData(_queryId); - } - - // Internal functions - /** - * @dev internal function to get the current aggregate data for a query ID - * @param _queryId the query ID to get the current aggregate data for - * @return _aggregateData the current aggregate data - */ - function _getCurrentAggregateData(bytes32 _queryId) internal view returns (AggregateData memory _aggregateData) { - if (data[_queryId].length == 0) { - return (AggregateData(bytes(""), 0, 0, 0, 0)); - } - _aggregateData = data[_queryId][data[_queryId].length - 1]; - return _aggregateData; - } -} - diff --git a/contracts/testing/TellorLab.sol b/contracts/testing/TellorLab.sol new file mode 100644 index 0000000..5346f71 --- /dev/null +++ b/contracts/testing/TellorLab.sol @@ -0,0 +1,143 @@ +// SPDX-License-Identifier: MIT +pragma solidity 0.8.19; + +import "../interfaces/ITellorDataBridge.sol"; + +/** + * @author Tellor Inc. + * @title TellorLab + * @notice Testing contract for rapid prototyping with Tellor oracle data + * @dev This contract is used to store data for multiple data feeds for testing tellor + * data integrations. It has no data bridge validation, zero security checks, and is + * NOT for production use. For production contracts, use TellorDataBridge verification. + * See SampleLayerUser repo for usage examples: https://github.com/tellor-io/SampleLayerUser + * This contract conforms to the ITellorDataBank interface. + */ +contract TellorLab { + // Storage + mapping(bytes32 => AggregateData[]) public data; // queryId -> array of aggregate data + + struct AggregateData { + bytes value; // the oracle data value + uint256 power; // the combined stake power of the data reporters (0 decimals, 100 == 100 TRB tokens) + uint256 aggregateTimestamp; // the time when the oracle data was aggregated (milliseconds) + uint256 attestationTimestamp; // the time when the oracle data was signed by validators (milliseconds) + uint256 relayTimestamp; // the time when the oracle data was stored in this contract (seconds) + } + + // Events + event OracleUpdated( + bytes32 indexed queryId, + OracleAttestationData attestData + ); + + // Functions + /** + * @dev updates oracle data with new attestation data after verification + * @param _attestData the oracle attestation data to be stored + * note: _currentValidatorSet array of current validators (unused for testing) + * note: _sigs array of validator signatures (unused for testing) + */ + function updateOracleData( + OracleAttestationData calldata _attestData, + Validator[] calldata /* _currentValidatorSet */, + Signature[] calldata /* _sigs */ + ) public { + // Skips verification for simplified integration testing + // dataBridge.verifyOracleData(_attestData, _currentValidatorSet, _sigs); + + data[_attestData.queryId].push( + AggregateData( + _attestData.report.value, + _attestData.report.aggregatePower, + _attestData.report.timestamp, + _attestData.attestationTimestamp, + block.timestamp + ) + ); + emit OracleUpdated(_attestData.queryId, _attestData); + } + + /** + * @dev updates lab contract with new oracle data + * without needing to format data structs + * @param _queryId the unique identifier for the oracle data + * @param _value the oracle data value to be stored + */ + function updateOracleDataLab( + bytes32 _queryId, + bytes memory _value + ) external { + // aggregate timestamp from tellor is in milliseconds + uint256 _aggregateTimestamp = (block.timestamp - 1) * 1000; + data[_queryId].push( + AggregateData( + _value, + 0, + _aggregateTimestamp, + _aggregateTimestamp, + block.timestamp + ) + ); + emit OracleUpdated( + _queryId, + OracleAttestationData( + _queryId, + ReportData(_value, _aggregateTimestamp, 0, 0, 0, 0), + _aggregateTimestamp + ) + ); + } + + // Getter functions + /** + * @dev returns the oracle data for a given query ID and index + * @param _queryId the unique identifier for the oracle data + * @param _index the index of the oracle data to get + * @return _aggregateData the oracle data and metadata + */ + function getAggregateByIndex( + bytes32 _queryId, + uint256 _index + ) external view returns (AggregateData memory _aggregateData) { + return data[_queryId][_index]; + } + + /** + * @dev returns the total number of oracle data values for a given query ID + * @param _queryId the unique identifier for the oracle data + * @return number the total number of oracle data values stored + */ + function getAggregateValueCount( + bytes32 _queryId + ) external view returns (uint256) { + return data[_queryId].length; + } + + /** + * @dev returns the last submitted oracle data for a given query ID + * @param _queryId the unique identifier for the oracle data + * @return _aggregateData the last submitted oracle data and metadata + */ + function getCurrentAggregateData( + bytes32 _queryId + ) external view returns (AggregateData memory _aggregateData) { + return _getCurrentAggregateData(_queryId); + } + + // Internal functions + /** + * @dev internal function to get the last submitted oracle data for a query ID + * @param _queryId the unique identifier for the oracle data + * @return _aggregateData the last submitted oracle data and metadata + */ + function _getCurrentAggregateData( + bytes32 _queryId + ) internal view returns (AggregateData memory _aggregateData) { + if (data[_queryId].length == 0) { + return (AggregateData(bytes(""), 0, 0, 0, 0)); + } + _aggregateData = data[_queryId][data[_queryId].length - 1]; + return _aggregateData; + } +} diff --git a/package-lock.json b/package-lock.json index 138defa..5b58445 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "usingtellorlayer", - "version": "1.1.0", + "version": "1.3.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "usingtellorlayer", - "version": "1.1.0", + "version": "1.3.0", "license": "ISC", "devDependencies": { "@nomicfoundation/hardhat-toolbox": "^5.0.0", diff --git a/package.json b/package.json index d4fa237..5d28bdd 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "usingtellorlayer", - "version": "1.2.0", + "version": "1.3.0", "description": "", "main": "src/index.js", "directories": { diff --git a/test/DataBankPlayground.js b/test/TellorLab.js similarity index 87% rename from test/DataBankPlayground.js rename to test/TellorLab.js index 37a9413..1e050c3 100644 --- a/test/DataBankPlayground.js +++ b/test/TellorLab.js @@ -10,7 +10,7 @@ const ETH_USD_QUERY_ID = h.hash(ETH_USD_QUERY_DATA) // define tellor chain parameters const TELLOR_CHAIN_ID = "tellor-1" -describe("DataBankPlayground - Function Tests", function () { +describe("TellorLab - Function Tests", function () { // init the assets which will be used in the tests let accounts, databank, validatorSet; @@ -20,7 +20,7 @@ describe("DataBankPlayground - Function Tests", function () { // init tellor validator set validatorSet = await h.createTellorValset({tellorChainId: TELLOR_CHAIN_ID}) // deploy databank - databank = await ethers.deployContract("DataBankPlayground"); + databank = await ethers.deployContract("TellorLab"); }) it("updateOracleData, getCurrentData, getValueCount", async function () { @@ -38,15 +38,15 @@ describe("DataBankPlayground - Function Tests", function () { assert.equal(await databank.getAggregateValueCount(ETH_USD_QUERY_ID), 1, "value count should be correct") }); - it("updateOracleDataPlayground, getCurrentData, getValueCount", async function () { + it("updateOracleDataLab, getCurrentData, getValueCount", async function () { // price as $3000 price = "3000"; // SpotPrice reported with 18 decimals priceWithDecimals = h.toWei(price); // encode the price as bytes let _value = abiCoder.encode(["uint256"], [priceWithDecimals]) - // update the oracle data using the playground function - await databank.updateOracleDataPlayground(ETH_USD_QUERY_ID, _value); + // update the oracle data using the lab function + await databank.updateOracleDataLab(ETH_USD_QUERY_ID, _value); // get the current aggregate data let _dataRetrieved = await databank.getCurrentAggregateData(ETH_USD_QUERY_ID); // assert the value is correct